# Text

> Body text in the system's sizes and tones.

- **Level**: atom · **Status**: stable · **Role**: content
- **Import**: `import { Text } from "@rrios-forge/ui/atoms/text";`
- **Source**: `packages/ui/src/atoms/text`

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.

## Use it for

- Text / heading / helper / code / shortcut → `Text` / `Heading` / `Description` / `Code` / `Kbd`

## Axes

| Axis | Part | Values | Default | Meaning |
|---|---|---|---|---|
| `size` | — | `xs` `sm` `md` `lg` | `md` | Ergonomic scale, in three families (control, text, container). |
| `weight` | — | `regular` `medium` `semibold` | `regular` | Type weight within the ramp. |
| `tone` | — | `neutral` `muted` `inverse` `danger` | `neutral` | Which semantic colour family the element speaks in. |

## Stories

- [Playground](/?path=/story/components-atoms-text--playground) · frame: `/iframe.html?id=components-atoms-text--playground&viewMode=story`
- [Sizes](/?path=/story/components-atoms-text--sizes) · frame: `/iframe.html?id=components-atoms-text--sizes&viewMode=story`
- [Weights](/?path=/story/components-atoms-text--weights) · frame: `/iframe.html?id=components-atoms-text--weights&viewMode=story`
- [Tones](/?path=/story/components-atoms-text--tones) · frame: `/iframe.html?id=components-atoms-text--tones&viewMode=story`
- [Polymorphic `as`](/?path=/story/components-atoms-text--elements) · frame: `/iframe.html?id=components-atoms-text--elements&viewMode=story`
- [Numeric figures and inherit](/?path=/story/components-atoms-text--numeric-and-inherit) · frame: `/iframe.html?id=components-atoms-text--numeric-and-inherit&viewMode=story`

## Decisions that name it

- ADR-046 — Markdown is painted with atoms, and apps fill its slots

## Always

- Tokens only (R04); variants are semantic axes, never appearance (R02).
- Typography and actions are Poesía atoms, never raw HTML with utilities.
- Vibrant panes need a ground and never nest (ADR-027).
