<!-- Generated by emit-docs.ts — do not edit. -->
# AspectRatio



## Props

| Prop | Type | Default | Required | Description |
|---|---|---|---|---|
| `ratio` | `number` | — | yes | Width/height ratio, e.g. 16/10 or 4/5. |
| `ref` | `Ref<HTMLDivElement>` | — | no | Forwarded ref to the frame element. |
| `className` | `string` | — | no | Additional CSS class name(s) merged onto the component's root element. |

## Theming

Override `--ds-aspect-ratio-*` custom properties at any scope; interactive states derive automatically (L - 0.04 hover, L - 0.08 active).



## Rules

- One accent per visual group; everything else neutral or ghost.
- danger only for actions with real consequences.
- Sizes are px numbers (24|32|40|48), never S/M/L.
- Typography tokens are --ds-text-{size}-{lineHeight}-{weight}.
- Override component tokens (--ds-{component}-*), not semantic tokens, for one-off theming.
- --ds-button-font overrides button typography across all sizes (documented D34 override; ember → mono).
