A tactile, typography-driven project index with dynamic RGB background blending, mechanical ruler tape, draggable picture preview, and responsive Web Audio ticks.
$ npx shadcn@latest add https://akshitr.com/r/color-project-archive.json
| Prop | Type | Default | Description |
|---|---|---|---|
projects | ColorProjectArchiveProject[] | Default sample list | Array of project records to display. |
infiniteScroll | boolean | true | Allows infinite circular continuous loop scrolling. |
showPreview | boolean | true | Enables the floating, draggable picture preview card. |
previewSize | "sm" | "md" | "lg" | "md" | Dimension size preset for the floating preview card. |
showRuler | boolean | true | Displays the millimeter-style gauge ruler tape on the left. |
activeAnchor | number | 0.68 | Vertical position ratio (0.0 to 1.0) where the active row aligns. |
rowLeading | number | 1.9 | Spacing height multiplier between adjacent rows. |
enableSound | boolean | true | Plays low-latency tick sound when passing each row. |
tickSrc | string | "/sounds/tick.wav" | Audio file URL for tick sound (with synthesized fallback). |
onActiveChange | (index: number, project: ColorProjectArchiveProject) => void | undefined | Callback fired when a new project reaches focus. |
onOpen | (project: ColorProjectArchiveProject, index: number) => void | undefined | Callback fired when the active project card is clicked. |
linkLabel | string | "View project" | Label text shown on the preview card's link badge. |
titleClassName | string | undefined | Custom CSS class to control main label font size, typography, etc. |
className | string | undefined | Additional CSS class names. |
| Property | Type | Description |
|---|---|---|
id | string | number | Unique identifier. |
name | string | Project name displayed in large typography. |
badge | string | Optional pill tag (e.g., "Architecture", "Editorial"). |
date | string | Optional date bracket text (e.g., "[28 jul]"). |
bgColor | string | Background color hex code interpolated dynamically. |
image | string | Cover image URL rendered on the preview card. |
href | string | Optional destination URL opened on click. |
target | "_blank" | "_self" | Window target for project link (_blank by default). |