{
  "id": "date-field",
  "name": "DateField",
  "level": "molecule",
  "status": "stable",
  "purpose": "Date input with custom calendar popover.",
  "description": "Apple-style date picker. The trigger reuses Input geometry; the popover renders a custom calendar (Radix Popover gives focus trap + escape-to-close; the calendar grid implements full keyboard navigation per the APG date picker pattern). Locale-aware via `Intl.DateTimeFormat`, theme-native via tokens — no hard-coded colours, no native browser picker.",
  "role": "input",
  "import": "@rrios-forge/ui/molecules/date-field",
  "exports": [
    "DateField",
    "dateFieldVariants",
    "dateFieldTriggerVariants",
    "dateFieldDayVariants"
  ],
  "source": "packages/ui/src/molecules/date-field",
  "axes": [
    {
      "axis": "size",
      "part": null,
      "values": [
        "sm",
        "md",
        "lg"
      ],
      "default": "md",
      "meaning": "Ergonomic scale, in three families (control, text, container)."
    },
    {
      "axis": "tone",
      "part": null,
      "values": [
        "neutral",
        "muted"
      ],
      "default": "neutral",
      "meaning": "Which semantic colour family the element speaks in."
    },
    {
      "axis": "selected",
      "part": null,
      "values": [
        "true",
        "false"
      ],
      "default": "false",
      "meaning": "Chosen in a set: the selected wash plus a non-colour cue (weight, check)."
    },
    {
      "axis": "today",
      "part": null,
      "values": [
        "true",
        "false"
      ],
      "default": "false",
      "meaning": "Marks the current day in a calendar."
    }
  ],
  "needs": [
    {
      "need": "Date field / file drop / slider",
      "answer": "`DateField` / `FileDropzone` / `Slider`"
    }
  ],
  "patterns": [],
  "a11yExceptions": [],
  "decisions": [
    {
      "id": "ADR-030",
      "title": "Axis vocabulary: one name, one meaning"
    },
    {
      "id": "ADR-043",
      "title": "The default theme is monochrome"
    }
  ],
  "stories": [
    {
      "name": "Playground",
      "id": "components-molecules-datefield--playground",
      "interaction": false,
      "snapshots": [
        "dark",
        "light"
      ],
      "skipsSnapshot": false,
      "docs": "/?path=/story/components-molecules-datefield--playground",
      "frame": "/iframe.html?id=components-molecules-datefield--playground&viewMode=story"
    },
    {
      "name": "Required",
      "id": "components-molecules-datefield--required",
      "interaction": false,
      "snapshots": [
        "dark",
        "light"
      ],
      "skipsSnapshot": false,
      "docs": "/?path=/story/components-molecules-datefield--required",
      "frame": "/iframe.html?id=components-molecules-datefield--required&viewMode=story"
    },
    {
      "name": "Invalid",
      "id": "components-molecules-datefield--invalid",
      "interaction": false,
      "snapshots": [
        "dark",
        "high-contrast",
        "light"
      ],
      "skipsSnapshot": false,
      "docs": "/?path=/story/components-molecules-datefield--invalid",
      "frame": "/iframe.html?id=components-molecules-datefield--invalid&viewMode=story"
    },
    {
      "name": "Disabled",
      "id": "components-molecules-datefield--disabled",
      "interaction": false,
      "snapshots": [
        "dark",
        "light"
      ],
      "skipsSnapshot": false,
      "docs": "/?path=/story/components-molecules-datefield--disabled",
      "frame": "/iframe.html?id=components-molecules-datefield--disabled&viewMode=story"
    },
    {
      "name": "Empty",
      "id": "components-molecules-datefield--empty",
      "interaction": false,
      "snapshots": [
        "dark",
        "light"
      ],
      "skipsSnapshot": false,
      "docs": "/?path=/story/components-molecules-datefield--empty",
      "frame": "/iframe.html?id=components-molecules-datefield--empty&viewMode=story"
    },
    {
      "name": "With min / max bounds",
      "id": "components-molecules-datefield--with-bounds",
      "interaction": false,
      "snapshots": [
        "dark",
        "light"
      ],
      "skipsSnapshot": false,
      "docs": "/?path=/story/components-molecules-datefield--with-bounds",
      "frame": "/iframe.html?id=components-molecules-datefield--with-bounds&viewMode=story"
    },
    {
      "name": "Open calendar",
      "id": "components-molecules-datefield--open",
      "interaction": false,
      "snapshots": [
        "dark",
        "light"
      ],
      "skipsSnapshot": false,
      "docs": "/?path=/story/components-molecules-datefield--open",
      "frame": "/iframe.html?id=components-molecules-datefield--open&viewMode=story"
    },
    {
      "name": "Locales",
      "id": "components-molecules-datefield--locales",
      "interaction": false,
      "snapshots": [
        "dark",
        "light"
      ],
      "skipsSnapshot": false,
      "docs": "/?path=/story/components-molecules-datefield--locales",
      "frame": "/iframe.html?id=components-molecules-datefield--locales&viewMode=story"
    },
    {
      "name": "Controlled",
      "id": "components-molecules-datefield--controlled",
      "interaction": false,
      "snapshots": [
        "dark",
        "light"
      ],
      "skipsSnapshot": false,
      "docs": "/?path=/story/components-molecules-datefield--controlled",
      "frame": "/iframe.html?id=components-molecules-datefield--controlled&viewMode=story"
    },
    {
      "name": "With range",
      "id": "components-molecules-datefield--with-range",
      "interaction": false,
      "snapshots": [
        "dark",
        "light"
      ],
      "skipsSnapshot": false,
      "docs": "/?path=/story/components-molecules-datefield--with-range",
      "frame": "/iframe.html?id=components-molecules-datefield--with-range&viewMode=story"
    },
    {
      "name": "Keyboard flow (interaction test)",
      "id": "components-molecules-datefield--keyboard-flow",
      "interaction": true,
      "snapshots": [],
      "skipsSnapshot": true,
      "docs": "/?path=/story/components-molecules-datefield--keyboard-flow",
      "frame": "/iframe.html?id=components-molecules-datefield--keyboard-flow&viewMode=story"
    },
    {
      "name": "Open focus (interaction test)",
      "id": "components-molecules-datefield--open-focus",
      "interaction": true,
      "snapshots": [],
      "skipsSnapshot": true,
      "docs": "/?path=/story/components-molecules-datefield--open-focus",
      "frame": "/iframe.html?id=components-molecules-datefield--open-focus&viewMode=story"
    },
    {
      "name": "Month paging (interaction test)",
      "id": "components-molecules-datefield--month-paging",
      "interaction": true,
      "snapshots": [],
      "skipsSnapshot": true,
      "docs": "/?path=/story/components-molecules-datefield--month-paging",
      "frame": "/iframe.html?id=components-molecules-datefield--month-paging&viewMode=story"
    }
  ],
  "storyFile": "tooling/storybook/stories/components/molecules/date-field.stories.tsx"
}
