{
  "name": "date-picker",
  "type": "registry:block",
  "title": "Date Picker",
  "description": "Date Picker composes Button, Popover, and Calendar into an accessible single-date selection pattern.",
  "registryDependencies": [
    "@siteplane/base",
    "@siteplane/button",
    "@siteplane/calendar",
    "@siteplane/field",
    "@siteplane/popover"
  ],
  "dependencies": [
    "lucide-react@1.18.0"
  ],
  "files": [],
  "categories": [
    "form-controls"
  ],
  "docs": "# Date Picker\n\n> Siteplane UI release `0.1.1`.\n\n## Public Purpose\n\nDate Picker is a composition of Button, Popover, and Calendar for selecting a\nsingle date in an application flow. Use Calendar alone when the calendar should\nremain visible.\n\n## Import\n\n`import { Calendar } from \"@/components/ui/calendar\";`\n\n`import { Popover, PopoverPopup, PopoverTrigger } from \"@/components/ui/popover\";`\n\n`import { Button } from \"@/components/ui/button\";`\n\n## Public API\n\n- Date Picker is a documented composition, not a separate primitive.\n- Keep selected date and Popover open state in one clear controlled or\n  uncontrolled owner.\n- Pass date rules such as disabled dates to Calendar.\n- Use `Field` for a visible label, description, invalid state, and error text.\n- Format the trigger label with the product locale while keeping the Date value\n  as state.\n\n## Public Motion\n\n- Opening and closing uses native Popover motion; month navigation uses native\n  Calendar motion.\n- Do not wrap the composition in another height, opacity, or scale animation.\n- Selected, disabled, and invalid states must not change the trigger dimensions.\n\n## Public Accessibility\n\n- Give the trigger visible label context, `aria-label`, or\n  `aria-labelledby`.\n- Reflect invalid state on the trigger and render a visible `FieldError`.\n- Keep keyboard navigation, Escape dismissal, outside click, and focus\n  restoration native.\n- The trigger text must communicate the selected date or a clear placeholder.\n\n## Public Agent Guidance\n\n- Compose canonical `PopoverPopup`, Calendar, and Button; do not create a\n  second Date Picker primitive.\n- Preserve native Calendar and Popover focus, dismissal, and motion.\n- Use Field for form integration.\n\n## Public Links\n\n- [Documentation and preview](https://ui.siteplane.io/docs/components/form-controls/date-picker)\n\n- [Registry source](https://ui.siteplane.io/r/date-picker.json)\n",
  "meta": {
    "siteplane:agentContractVersion": 1,
    "siteplane:docs": "https://ui.siteplane.io/docs/components/form-controls/date-picker",
    "siteplane:releaseVersion": "0.1.1",
    "siteplane:sourceOwned": true
  },
  "devDependencies": []
}
