Timescale
ncdai/timescaleFreeComponent
Ruler-style timeline for plotting milestones along a horizontal or vertical axis.
Install it
npx shadcn@latest add https://chanhdai.com/r/timescale.jsonSource
1"use client"23// Inspired by Evil Rabbit's Lifeline: https://lifeline.evilrabbit.com4import { useEffect, useRef } from "react"56import { cn } from "@/lib/utils"78export type TimescaleRootProps = React.ComponentProps<"div"> & {9 orientation?: "horizontal" | "vertical"10}1112export function TimescaleRoot({13 className,14 orientation = "horizontal",15 ...props16}: TimescaleRootProps) {17 return (18 <div19 data-slot="timescale-root"20 data-orientation={orientation}21 className={cn(22 "group/timescale relative flex w-full [--timescale-rail:--spacing(14)]",23 "data-[orientation=vertical]:flex-col",24 className25 )}26 {...props}27 />28 )29}3031export type TimescaleViewportProps = React.ComponentProps<"div">3233export function TimescaleViewport({34 className,35 ...props36}: TimescaleViewportProps) {37 return (38 <div39 data-slot="timescale-viewport"40 className={cn(41 "no-scrollbar w-full",42 "group-data-[orientation=horizontal]/timescale:flex group-data-[orientation=horizontal]/timescale:flex-1 group-data-[orientation=horizontal]/timescale:scroll-fade-x group-data-[orientation=horizontal]/timescale:overflow-x-auto group-data-[orientation=horizontal]/timescale:overscroll-x-contain group-data-[orientation=horizontal]/timescale:pl-20 group-data-[orientation=horizontal]/timescale:scroll-fade-s-40",43 className44 )}45 {...props}46 />47 )48}4950export type TimescaleHeaderProps = React.ComponentProps<"div">5152export function TimescaleHeader({ className, ...props }: TimescaleHeaderProps) {53 return (54 <div55 data-slot="timescale-header"56 aria-hidden="true"57 className={cn(58 "z-10",59 "group-data-[orientation=horizontal]/timescale:absolute group-data-[orientation=horizontal]/timescale:top-0 group-data-[orientation=horizontal]/timescale:left-0 group-data-[orientation=horizontal]/timescale:w-20 group-data-[orientation=horizontal]/timescale:shrink-0 group-data-[orientation=horizontal]/timescale:bg-linear-to-r group-data-[orientation=horizontal]/timescale:from-background group-data-[orientation=horizontal]/timescale:from-75% group-data-[orientation=horizontal]/timescale:to-transparent group-data-[orientation=horizontal]/timescale:pr-4 group-data-[orientation=horizontal]/timescale:text-right",60// … truncated
Files it writes
More from ncdai
All 48 items| Component | Registry | Kind | Access | Installs | Command |
|---|---|---|---|---|---|
| Apple Hello Effectapple-hello-effect | ncdai | Components | Unverified | 1 dep | |
| Apple Hello Effect - Hindiapple-hello-effect-hindi | ncdai | Components | Unverified | 1 dep | |
| Apple Hello Effect - Spanishapple-hello-effect-spanish | ncdai | Components | Unverified | 1 dep | |
| Apple Hello Effect - Vietnameseapple-hello-effect-vietnamese | ncdai | Components | Unverified | 1 dep | |
| Brand Assets Menubrand-assets-menu | ncdai | Components | Unverified | 1 dep | |
| chevrons-up-down-iconchevrons-up-down-icon | ncdai | Components | Unverified | 1 dep | |
| Code Block Commandcode-block-command | ncdai | Components | Unverified | 4 deps · 2 files | |
| Consent Managerconsent-manager | ncdai | Components | Unverified | 1 dep |
