{
  "id": "text",
  "name": "Text",
  "level": "atom",
  "status": "stable",
  "purpose": "Body text in the system's sizes and tones.",
  "description": "Prose primitive. `as` picks the semantic element (default `<p>`); `size`, `weight`, `tone` and `numeric` are independent visual axes. The size axis maps to the caption / body-sm / body / body-lg roles in `Foundations/Typography`. `size=\"inherit\"` / `tone=\"inherit\"` follow the parent (inside a control or a badge); `numeric=\"tabular\"` lines up figures that compare.",
  "role": "content",
  "import": "@rrios-forge/ui/atoms/text",
  "exports": [
    "Text",
    "textVariants",
    "TEXT_NUMERIC_CLASSES",
    "TEXT_NUMERICS",
    "TEXT_SIZES",
    "TEXT_TONES",
    "TEXT_WEIGHTS"
  ],
  "source": "packages/ui/src/atoms/text",
  "axes": [
    {
      "axis": "size",
      "part": null,
      "values": [
        "xs",
        "sm",
        "md",
        "lg"
      ],
      "default": "md",
      "meaning": "Ergonomic scale, in three families (control, text, container)."
    },
    {
      "axis": "weight",
      "part": null,
      "values": [
        "regular",
        "medium",
        "semibold"
      ],
      "default": "regular",
      "meaning": "Type weight within the ramp."
    },
    {
      "axis": "tone",
      "part": null,
      "values": [
        "neutral",
        "muted",
        "inverse",
        "danger"
      ],
      "default": "neutral",
      "meaning": "Which semantic colour family the element speaks in."
    }
  ],
  "needs": [
    {
      "need": "Text / heading / helper / code / shortcut",
      "answer": "`Text` / `Heading` / `Description` / `Code` / `Kbd`"
    }
  ],
  "patterns": [],
  "a11yExceptions": [],
  "decisions": [
    {
      "id": "ADR-046",
      "title": "Markdown is painted with atoms, and apps fill its slots"
    }
  ],
  "stories": [
    {
      "name": "Playground",
      "id": "components-atoms-text--playground",
      "interaction": false,
      "snapshots": [
        "dark",
        "light"
      ],
      "skipsSnapshot": false,
      "docs": "/?path=/story/components-atoms-text--playground",
      "frame": "/iframe.html?id=components-atoms-text--playground&viewMode=story"
    },
    {
      "name": "Sizes",
      "id": "components-atoms-text--sizes",
      "interaction": false,
      "snapshots": [
        "dark",
        "light"
      ],
      "skipsSnapshot": false,
      "docs": "/?path=/story/components-atoms-text--sizes",
      "frame": "/iframe.html?id=components-atoms-text--sizes&viewMode=story"
    },
    {
      "name": "Weights",
      "id": "components-atoms-text--weights",
      "interaction": false,
      "snapshots": [
        "dark",
        "light"
      ],
      "skipsSnapshot": false,
      "docs": "/?path=/story/components-atoms-text--weights",
      "frame": "/iframe.html?id=components-atoms-text--weights&viewMode=story"
    },
    {
      "name": "Tones",
      "id": "components-atoms-text--tones",
      "interaction": false,
      "snapshots": [
        "dark",
        "high-contrast",
        "light"
      ],
      "skipsSnapshot": false,
      "docs": "/?path=/story/components-atoms-text--tones",
      "frame": "/iframe.html?id=components-atoms-text--tones&viewMode=story"
    },
    {
      "name": "Polymorphic `as`",
      "id": "components-atoms-text--elements",
      "interaction": false,
      "snapshots": [
        "dark",
        "light"
      ],
      "skipsSnapshot": false,
      "docs": "/?path=/story/components-atoms-text--elements",
      "frame": "/iframe.html?id=components-atoms-text--elements&viewMode=story"
    },
    {
      "name": "Numeric figures and inherit",
      "id": "components-atoms-text--numeric-and-inherit",
      "interaction": false,
      "snapshots": [
        "dark",
        "light"
      ],
      "skipsSnapshot": false,
      "docs": "/?path=/story/components-atoms-text--numeric-and-inherit",
      "frame": "/iframe.html?id=components-atoms-text--numeric-and-inherit&viewMode=story"
    }
  ],
  "storyFile": "tooling/storybook/stories/components/atoms/text.stories.tsx"
}
