Stack component manages the vertical or horizontal layout of direct children using flexbox and adjustable spacing.
import { Stack } from "@kesko/components";
export default () => (
<Stack direction="row" gap="sm" align="center">
<div>First</div>
<div>Second</div>
<div>Third</div>
</Stack>
);<k-stack direction="row" gap="sm" align="center">
<div>First</div>
<div>Second</div>
<div>Third</div>
</k-stack>import { Button, Stack } from "@kesko/components";
export default () => (
<Stack gap="sm">
<Button variant="primary">Column, gap sm</Button>
<Button variant="primary">Column, gap sm</Button>
<Button variant="primary">Column, gap sm</Button>
</Stack>
);<k-stack gap="sm">
<button class="k-button" variant="primary">Column, gap sm</button>
<button class="k-button" variant="primary">Column, gap sm</button>
<button class="k-button" variant="primary">Column, gap sm</button>
</k-stack>import { Button, Stack } from "@kesko/components";
export default () => (
<Stack direction="row" gap="sm" align="center">
<Button variant="primary">Row, gap sm</Button>
<Button variant="primary">Row, gap sm</Button>
<Button variant="primary">Row, gap sm</Button>
</Stack>
);<k-stack direction="row" gap="sm" align="center">
<button class="k-button" variant="primary">Row, gap sm</button>
<button class="k-button" variant="primary">Row, gap sm</button>
<button class="k-button" variant="primary">Row, gap sm</button>
</k-stack>Props
| Name | Description | Type | Default |
|---|---|---|---|
direction | Layout direction. Defaults to "column". | "column" | "row" | "column" |
gap | Gap between children, mapped to the | "3xs" | "2xs" | "xs" | "sm" | "md" | "lg" | "xl" | "2xl" | "3xl" | "md" |
align | Cross-axis alignment. Defaults to "start". | "start" | "center" | "end" | "stretch" | "start" |
wrap | Allow items to wrap to a new line when they overflow the container. | boolean | false |
CSS custom properties
CSS custom properties provide finer-grained control than props. Prefer the props API when it suits your need.
| Name | Description | Default |
|---|---|---|
--k-stack-gap | Overrides the gap between children. | var(--k-space-md) |