{
  "id": "spinner",
  "name": "Spinner",
  "level": "atom",
  "status": "stable",
  "purpose": "Indeterminate progress glyph.",
  "description": "In-flight feedback. Eight spokes stepping round (Apple's activity indicator); under reduced motion they stay put and pulse in opacity. A neutral grey by default — a loader is not an action, so it never wears the accent. When not decorative it is a `role=\"status\"` live region whose `label` is rendered inside it as visually hidden text (live regions announce content, not `aria-label`); pass `decorative` when a parent already announces the in-flight state (e.g. `<Button loading>`), and `tone=\"inherit\"` to take the parent's colour.",
  "role": "status",
  "import": "@rrios-forge/ui/atoms/spinner",
  "exports": [
    "Spinner",
    "spinnerVariants",
    "SPINNER_GLYPH_CLASSES",
    "SPINNER_SIZES",
    "SPINNER_TONES"
  ],
  "source": "packages/ui/src/atoms/spinner",
  "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",
        "inverse",
        "danger"
      ],
      "default": "neutral",
      "meaning": "Which semantic colour family the element speaks in."
    }
  ],
  "needs": [
    {
      "need": "Inline spinner",
      "answer": "`Spinner`"
    }
  ],
  "patterns": [],
  "a11yExceptions": [],
  "decisions": [],
  "stories": [
    {
      "name": "Playground",
      "id": "components-atoms-spinner--playground",
      "interaction": false,
      "snapshots": [
        "dark",
        "light"
      ],
      "skipsSnapshot": false,
      "docs": "/?path=/story/components-atoms-spinner--playground",
      "frame": "/iframe.html?id=components-atoms-spinner--playground&viewMode=story"
    },
    {
      "name": "Sizes",
      "id": "components-atoms-spinner--sizes",
      "interaction": false,
      "snapshots": [
        "dark",
        "light"
      ],
      "skipsSnapshot": false,
      "docs": "/?path=/story/components-atoms-spinner--sizes",
      "frame": "/iframe.html?id=components-atoms-spinner--sizes&viewMode=story"
    },
    {
      "name": "Tones",
      "id": "components-atoms-spinner--tones",
      "interaction": false,
      "snapshots": [
        "dark",
        "high-contrast",
        "light"
      ],
      "skipsSnapshot": false,
      "docs": "/?path=/story/components-atoms-spinner--tones",
      "frame": "/iframe.html?id=components-atoms-spinner--tones&viewMode=story"
    },
    {
      "name": "Inline with text",
      "id": "components-atoms-spinner--inline-with-text",
      "interaction": false,
      "snapshots": [
        "dark",
        "light"
      ],
      "skipsSnapshot": false,
      "docs": "/?path=/story/components-atoms-spinner--inline-with-text",
      "frame": "/iframe.html?id=components-atoms-spinner--inline-with-text&viewMode=story"
    }
  ],
  "storyFile": "tooling/storybook/stories/components/atoms/spinner.stories.tsx"
}
