{ "name": "color-picker-controlled-demo", "type": "registry:example", "registryDependencies": [ "color-picker", "button" ], "files": [ { "path": "examples/color-picker-controlled-demo.tsx", "type": "registry:example", "content": "\"use client\";\n\nimport * as React from \"react\";\nimport { Button } from \"@/registry/bases/base/ui/button\";\nimport {\n ColorPicker,\n ColorPickerAlphaSlider,\n ColorPickerArea,\n ColorPickerContent,\n ColorPickerEyeDropper,\n ColorPickerFormatSelect,\n ColorPickerHueSlider,\n ColorPickerInput,\n ColorPickerSwatch,\n ColorPickerTrigger,\n} from \"@/registry/bases/base/ui/color-picker\";\n\nconst presetColors = [\n \"#ef4444\", // red\n \"#f97316\", // orange\n \"#eab308\", // yellow\n \"#22c55e\", // green\n \"#3b82f6\", // blue\n \"#8b5cf6\", // violet\n \"#ec4899\", // pink\n \"#64748b\", // gray\n];\n\nexport default function ColorPickerControlledDemo() {\n const [color, setColor] = React.useState(\"#3b82f6\");\n const [isOpen, setIsOpen] = React.useState(false);\n\n const onReset = React.useCallback(() => {\n setColor(\"#000000\");\n setIsOpen(false);\n }, []);\n\n const onPresetSelect = React.useCallback((presetColor: string) => {\n setColor(presetColor);\n }, []);\n\n return (\n
\n
\n \n \n \n Pick Color\n \n }\n />\n \n \n
\n \n
\n \n \n
\n
\n
\n \n \n
\n
\n \n\n \n
\n\n
\n

Preset Colors

\n
\n {presetColors.map((presetColor) => (\n onPresetSelect(presetColor)}\n aria-label={`Select color ${presetColor}`}\n />\n ))}\n
\n
\n\n
\n
\n Current color:\n {color}\n
\n
\n Picker state:\n {isOpen ? \"Open\" : \"Closed\"}\n
\n
\n
\n );\n}\n", "target": "" } ] }