{
  "id": "badge",
  "name": "Badge",
  "level": "atom",
  "status": "stable",
  "purpose": "A short status label, tinted by what it means: info, success, warning, danger or neutral.",
  "description": "Status label. `tone` carries the semantic charge (neutral, info, success, warning, danger); `emphasis` decides how loud the chip reads: `soft` (the default — a tint of the tone, for statuses in rows and headers), `outline`, and `solid` for the one status that must shout. Tone is reinforced by the visible label so colour is never the sole carrier of meaning.",
  "role": "status",
  "import": "@rrios-forge/ui/atoms/badge",
  "exports": [
    "Badge",
    "badgeVariants",
    "BADGE_EMPHASIS",
    "BADGE_SIZES",
    "BADGE_TONES"
  ],
  "source": "packages/ui/src/atoms/badge",
  "axes": [
    {
      "axis": "emphasis",
      "part": null,
      "values": [
        "soft",
        "outline",
        "solid"
      ],
      "default": "soft",
      "meaning": "How strongly a control or chip asserts itself, quiet to loud."
    },
    {
      "axis": "tone",
      "part": null,
      "values": [
        "neutral",
        "info",
        "success",
        "warning",
        "danger"
      ],
      "default": "neutral",
      "meaning": "Which semantic colour family the element speaks in."
    },
    {
      "axis": "size",
      "part": null,
      "values": [
        "sm",
        "md",
        "lg"
      ],
      "default": "md",
      "meaning": "Ergonomic scale, in three families (control, text, container)."
    }
  ],
  "needs": [
    {
      "need": "Avatar / badge / separator / icon",
      "answer": "`Avatar` / `Badge` / `Separator` / `Icon`"
    }
  ],
  "patterns": [],
  "a11yExceptions": [],
  "decisions": [
    {
      "id": "ADR-002",
      "title": "Component variants live in `variants.ts` and export their option metadata"
    }
  ],
  "stories": [
    {
      "name": "Playground",
      "id": "components-atoms-badge--playground",
      "interaction": false,
      "snapshots": [
        "dark",
        "light"
      ],
      "skipsSnapshot": false,
      "docs": "/?path=/story/components-atoms-badge--playground",
      "frame": "/iframe.html?id=components-atoms-badge--playground&viewMode=story"
    },
    {
      "name": "Tones",
      "id": "components-atoms-badge--tones",
      "interaction": false,
      "snapshots": [
        "dark",
        "high-contrast",
        "light"
      ],
      "skipsSnapshot": false,
      "docs": "/?path=/story/components-atoms-badge--tones",
      "frame": "/iframe.html?id=components-atoms-badge--tones&viewMode=story"
    },
    {
      "name": "Emphases",
      "id": "components-atoms-badge--emphases",
      "interaction": false,
      "snapshots": [
        "dark",
        "light"
      ],
      "skipsSnapshot": false,
      "docs": "/?path=/story/components-atoms-badge--emphases",
      "frame": "/iframe.html?id=components-atoms-badge--emphases&viewMode=story"
    },
    {
      "name": "Sizes",
      "id": "components-atoms-badge--sizes",
      "interaction": false,
      "snapshots": [
        "dark",
        "light"
      ],
      "skipsSnapshot": false,
      "docs": "/?path=/story/components-atoms-badge--sizes",
      "frame": "/iframe.html?id=components-atoms-badge--sizes&viewMode=story"
    },
    {
      "name": "In context",
      "id": "components-atoms-badge--in-context",
      "interaction": false,
      "snapshots": [
        "dark",
        "light"
      ],
      "skipsSnapshot": false,
      "docs": "/?path=/story/components-atoms-badge--in-context",
      "frame": "/iframe.html?id=components-atoms-badge--in-context&viewMode=story"
    }
  ],
  "storyFile": "tooling/storybook/stories/components/atoms/badge.stories.tsx"
}
