{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "date-picker",
  "title": "Date Picker",
  "description": "A single-date picker: a button trigger that opens a calendar popover",
  "dependencies": [
    "date-fns",
    "lucide-react"
  ],
  "registryDependencies": [
    "@boldkit/utils",
    "@boldkit/button",
    "@boldkit/calendar",
    "@boldkit/popover"
  ],
  "files": [
    {
      "path": "registry/default/ui/date-picker.tsx",
      "content": "import * as React from 'react'\nimport { format } from 'date-fns'\nimport { CalendarIcon } from 'lucide-react'\nimport { cn } from '@/lib/utils'\nimport { Button } from '@/components/ui/button'\nimport { Calendar } from '@/components/ui/calendar'\nimport {\n  Popover,\n  PopoverContent,\n  PopoverTrigger,\n} from '@/components/ui/popover'\n\nexport interface DatePickerProps {\n  value?: Date\n  onChange?: (date: Date | undefined) => void\n  placeholder?: string\n  /** date-fns format string for the trigger label. */\n  dateFormat?: string\n  disabled?: boolean\n  className?: string\n}\n\n/** A single-date picker: a button trigger that opens a calendar in a popover. */\nexport function DatePicker({\n  value,\n  onChange,\n  placeholder = 'Pick a date',\n  dateFormat = 'LLL dd, y',\n  disabled,\n  className,\n}: DatePickerProps) {\n  const [open, setOpen] = React.useState(false)\n  const isControlled = value !== undefined\n  const [uncontrolled, setUncontrolled] = React.useState<Date | undefined>(value)\n\n  const selected = isControlled ? value : uncontrolled\n\n  const handleSelect = (date: Date | undefined) => {\n    if (!isControlled) setUncontrolled(date)\n    onChange?.(date)\n    setOpen(false)\n  }\n\n  return (\n    <Popover open={open} onOpenChange={setOpen}>\n      <PopoverTrigger asChild>\n        <Button\n          variant=\"outline\"\n          disabled={disabled}\n          className={cn(\n            'w-[260px] justify-start gap-2 font-bold normal-case',\n            !selected && 'text-muted-foreground',\n            className\n          )}\n        >\n          <CalendarIcon className=\"h-4 w-4\" />\n          {selected ? format(selected, dateFormat) : placeholder}\n        </Button>\n      </PopoverTrigger>\n      <PopoverContent className=\"w-auto p-0\" align=\"start\">\n        <Calendar\n          mode=\"single\"\n          selected={selected}\n          onSelect={handleSelect}\n          initialFocus\n        />\n      </PopoverContent>\n    </Popover>\n  )\n}\n",
      "type": "registry:ui",
      "target": "components/ui/date-picker.tsx"
    }
  ],
  "type": "registry:ui"
}