{
  "id": "select",
  "name": "Select",
  "level": "molecule",
  "status": "stable",
  "purpose": "Picks one value from a list in a dropdown.",
  "description": "Semantic single-choice selector. Composes `@radix-ui/react-select` for the full ARIA contract (`role=\"combobox\"` + `role=\"listbox\"` + `role=\"option\"`, type-ahead, arrow-key navigation, hidden native `<select>` for forms, portal isolation). The Trigger mirrors Input so a Select sits inline with the rest of the form layer.",
  "role": "input",
  "import": "@rrios-forge/ui/molecules/select",
  "exports": [
    "Select",
    "SelectContent",
    "SelectGroup",
    "SelectItem",
    "SelectLabel",
    "SelectSeparator",
    "SelectTrigger",
    "SelectValue",
    "selectContentVariants",
    "selectItemVariants",
    "selectTriggerVariants",
    "SELECT_TRIGGER_SIZES"
  ],
  "source": "packages/ui/src/molecules/select",
  "axes": [
    {
      "axis": "size",
      "part": null,
      "values": [
        "sm",
        "md",
        "lg"
      ],
      "default": "md",
      "meaning": "Ergonomic scale, in three families (control, text, container)."
    },
    {
      "axis": "invalid",
      "part": null,
      "values": [
        "true",
        "false"
      ],
      "default": "false",
      "meaning": "Fails validation: a danger edge, announced as invalid; pair it with an error message."
    }
  ],
  "needs": [
    {
      "need": "Tabs / select / autocomplete",
      "answer": "`Tabs` / `Select` / `Combobox` or `SearchField`"
    },
    {
      "need": "One of a few values, all in view (range, view mode)",
      "answer": "`SegmentedControl` (two to five options; more → `Select`)"
    },
    {
      "need": "Field with label + helper + error",
      "answer": "`Field` + `Input`/`Textarea`/`Select`"
    }
  ],
  "patterns": [],
  "a11yExceptions": [],
  "decisions": [
    {
      "id": "ADR-024",
      "title": "`LocaleSelector` is a new molecule, not an extension of `Combobox`"
    }
  ],
  "stories": [
    {
      "name": "Playground",
      "id": "components-molecules-select--playground",
      "interaction": false,
      "snapshots": [
        "dark",
        "light"
      ],
      "skipsSnapshot": false,
      "docs": "/?path=/story/components-molecules-select--playground",
      "frame": "/iframe.html?id=components-molecules-select--playground&viewMode=story"
    },
    {
      "name": "Sizes",
      "id": "components-molecules-select--sizes",
      "interaction": false,
      "snapshots": [
        "dark",
        "light"
      ],
      "skipsSnapshot": false,
      "docs": "/?path=/story/components-molecules-select--sizes",
      "frame": "/iframe.html?id=components-molecules-select--sizes&viewMode=story"
    },
    {
      "name": "Invalid",
      "id": "components-molecules-select--invalid",
      "interaction": false,
      "snapshots": [
        "dark",
        "high-contrast",
        "light"
      ],
      "skipsSnapshot": false,
      "docs": "/?path=/story/components-molecules-select--invalid",
      "frame": "/iframe.html?id=components-molecules-select--invalid&viewMode=story"
    },
    {
      "name": "Grouped",
      "id": "components-molecules-select--grouped",
      "interaction": false,
      "snapshots": [
        "dark",
        "light"
      ],
      "skipsSnapshot": false,
      "docs": "/?path=/story/components-molecules-select--grouped",
      "frame": "/iframe.html?id=components-molecules-select--grouped&viewMode=story"
    }
  ],
  "storyFile": "tooling/storybook/stories/components/molecules/select.stories.tsx"
}
