Calendar
Browse dates in a clear, compact month view.
A swatch that grows into a picker with format morphing, eyedropper, saved swatches, and contrast readout.
npx shadcn@latest add @silicon-ui/color-pickernpx shadcn@latest add @silicon-ui/color-pickerInstall the dependencies.
npm install lucide-react motionCopy these files into your project. Shared files are skipped if you already have them.
components/silicon-ui/color-picker/color-picker.tsxcomponents/silicon-ui/color-picker/color-picker.module.csscomponents/silicon-ui/text-morph/text-morph.tsx sharedcomponents/silicon-ui/text-morph/text-morph.module.css sharedInstall the foundation once per app for the design and motion tokens: npx shadcn@latest add @silicon-ui/silicon-foundation
| Prop | Type | Default |
|---|---|---|
valueAny color the picker can read: hex, rgb(), hsl(), or oklch(). | string | — |
defaultValue | string | "#2F6BFF" |
onValueChangeReceives the color as hex, with two alpha digits when it is not opaque. | (hex: string) => void | — |
backgroundThe background the color will sit on, for the contrast readout. | string | "#FFFFFF" |
labelName shown on the swatch, such as "Accent". | string | "Color" |
swatches | ColorSwatch[] | — |
defaultSwatches | ColorSwatch[] | — |
onSwatchesChange | (swatches: ColorSwatch[]) => void | — |
maxSwatchesMost saved swatches. Saving past it drops the oldest. | number | 7 |
defaultFormat | ColorFormat
| "hex" |
className | string | — |