{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "fill-picker-radix",
  "type": "registry:ui",
  "title": "Amplo Fill Picker (Radix)",
  "description": "Radix/shadcn-classic entry point for the Amplo fill picker — the barrel that composes the Radix color and gradient pickers with the shared solid/gradient mode switcher (FillPicker.Root/Tabs/Tab/Pane), pulled in as registry dependencies.",
  "version": "2.0.0",
  "categories": [
    "color",
    "input",
    "design",
    "accessibility"
  ],
  "dependencies": [
    "culori",
    "@types/culori",
    "lucide-react"
  ],
  "registryDependencies": [
    "utils",
    "https://amplo.ale.design/r/color-picker-radix.json",
    "https://amplo.ale.design/r/gradient-picker-radix.json",
    "https://amplo.ale.design/r/fill-picker-engine.json"
  ],
  "files": [
    {
      "path": "registry/new-york/ui/fill-picker/fill-picker.tsx",
      "type": "registry:ui",
      "target": "@ui/fill-picker/fill-picker.tsx",
      "content": "\"use client\";\n\n// Re-export the gradient-picker public surface (which itself re-exports\n// color-picker), so a single import point covers the whole fill-picker\n// public surface: color + gradient + the fill switcher below.\nexport * from \"./gradient-picker\";\nexport { ColorPicker, GradientPicker } from \"./gradient-picker\";\n\nimport * as React from \"react\";\nimport { Root as FillRoot } from \"./parts/fill/root\";\nimport { Tabs as FillTabs, Tab as FillTab } from \"./parts/fill/tabs\";\nimport { Pane as EngineFillPane, type PaneProps } from \"./parts/fill/pane\";\nimport { GradientStopEditorContext } from \"./contexts/gradient\";\nimport { stopEditorSlot } from \"./parts/gradient/stop-editor-popover\";\n\nexport type { Fill, ColorFill, GradientFill } from \"./lib/gradient\";\nexport { formatFill, parseFill } from \"./lib/gradient\";\nexport { useFillPicker } from \"./hooks/use-fill-picker\";\nexport type {\n  UseFillPickerProps,\n  FillPickerState,\n  FillMode,\n} from \"./hooks/use-fill-picker\";\n\n/**\n * The engine `Pane` plus this variant's stop editor. The gradient pane builds\n * its gradient state itself (it never goes through `<GradientPicker.Root>`),\n * so the editor a `<Bar editOnClick>` nested inside it needs is injected here\n * — same default the gradient barrel's `Root` injects.\n */\nconst FillPane = React.forwardRef<HTMLDivElement, PaneProps>(function Pane(\n  props,\n  ref,\n) {\n  return (\n    <GradientStopEditorContext.Provider value={stopEditorSlot}>\n      <EngineFillPane ref={ref} {...props} />\n    </GradientStopEditorContext.Provider>\n  );\n});\n\nexport const FillPicker = {\n  Root: FillRoot,\n  Tabs: FillTabs,\n  Tab: FillTab,\n  Pane: FillPane,\n};\n"
    }
  ]
}
