Flex

Flex layout primitive for vertical or horizontal stacking with gap control. ⚠ Unlike CSS `flex-direction`, `direction` defaults to `vertical` — pass `direction="horizontal"` for a row.

Category: layout · WCAG 2.1-AA · layout, flex, stack, spacing

Props

PropTypeDefaultDescription
direction'vertical' | 'horizontal'verticalFlex direction. ⚠ Defaults to `vertical`, unlike CSS `flex-direction` (and unlike Chakra/MUI/Radix `Flex`, which default to a row) — `<Flex justify="between">` alone produces a centered vertical stack.
gap1|2|3|4|5|6|8|10|124Spacing token step
align'start'|'center'|'end'|'stretch'align-items
justify'start'|'center'|'end'|'between'justify-content
wrapbooleanfalseAllow wrapping

Design tokens

When to use

When not to use

Examples

Vertical

Default vertical stack

<Flex gap={4}><div>A</div><div>B</div></Flex>

Horizontal

Row layout

<Flex direction="horizontal" gap={2}><div>A</div><div>B</div></Flex>

Related components

← Back to docs