{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "fill-picker",
  "type": "registry:ui",
  "title": "Amplo Fill Picker",
  "description": "Color + gradient + the solid/gradient mode switcher (FillPicker.Root/Tabs/Tab/Pane) — the \"give me everything\" entry point, Base UI variant. Pulls the Base UI color and gradient pickers plus the shared fill switcher parts as registry dependencies.",
  "version": "2.0.0",
  "categories": [
    "color",
    "input",
    "design",
    "accessibility"
  ],
  "dependencies": [
    "@base-ui/react",
    "culori",
    "@types/culori",
    "lucide-react"
  ],
  "registryDependencies": [
    "utils",
    "https://amplo.ale.design/r/gradient-picker.json",
    "https://amplo.ale.design/r/fill-picker-engine.json"
  ],
  "files": [
    {
      "path": "registry/new-york/ui/fill-picker-base/fill.tsx",
      "type": "registry:ui",
      "target": "@ui/fill-picker-base/fill.tsx",
      "content": "\"use client\";\n\n// Re-export the Base UI gradient-picker public surface (which itself\n// re-exports the Base UI color-picker), so a single import point covers\n// the whole Base UI fill-picker public surface: color + gradient + the\n// fill switcher below.\nexport * from \"./gradient\";\nexport { ColorPickerBase, GradientPickerBase } from \"./gradient\";\n\n// Root/Tabs/Tab/Pane are plain markup (role=\"tablist\"/\"tab\", no Radix\n// primitive underneath) — reused unmodified from the original.\nimport * as React from \"react\";\nimport { Root as FillRoot } from \"@/registry/new-york/ui/fill-picker/parts/fill/root\";\nimport { Tabs as FillTabs, Tab as FillTab } from \"@/registry/new-york/ui/fill-picker/parts/fill/tabs\";\nimport {\n  Pane as EngineFillPane,\n  type PaneProps,\n} from \"@/registry/new-york/ui/fill-picker/parts/fill/pane\";\nimport { GradientStopEditorContext } from \"@/registry/new-york/ui/fill-picker/contexts/gradient\";\nimport { stopEditorSlot } from \"./parts/gradient/stop-editor\";\n\nexport type { Fill, ColorFill, GradientFill } from \"@/registry/new-york/ui/fill-picker/lib/gradient\";\nexport { formatFill, parseFill } from \"@/registry/new-york/ui/fill-picker/lib/gradient\";\nexport { useFillPicker } from \"@/registry/new-york/ui/fill-picker/hooks/use-fill-picker\";\nexport type {\n  UseFillPickerProps,\n  FillPickerState,\n  FillMode,\n} from \"@/registry/new-york/ui/fill-picker/hooks/use-fill-picker\";\n\n/**\n * The engine `Pane` plus this variant's stop editor: the gradient pane owns\n * its gradient state directly (never via `<GradientPickerBase.Root>`), so a\n * `<Bar editOnClick>` nested inside it gets its editor from here.\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 FillPickerBase = {\n  Root: FillRoot,\n  Tabs: FillTabs,\n  Tab: FillTab,\n  Pane: FillPane,\n};\n\n// Plain-name alias — see `GradientPicker` / `ColorPicker` in gradient.tsx.\nexport const FillPicker = FillPickerBase;\n"
    }
  ]
}
