콘텐츠로 이동
Page

Stack

간격에 spacing 토큰을 쓰는 한 방향 flex 레이아웃입니다.

Vertical stackChildren are spaced with a spacing token.
Row with space between
import { Stack } from "@pelagornis/page/components";

위 미리보기는 이 파일을 렌더링한 것입니다. src/components/에 복사해서 시작하세요.

src/components/StackExample.tsx
import { Button, Stack, Text } from "@pelagornis/page/components";
export default function StackDemo() {
return (
<Stack gap="sizeLarge" className="w-full">
<Stack gap="sizeXXSmall">
<Text variant="subtitleMd">Vertical stack</Text>
<Text variant="bodySm">Children are spaced with a spacing token.</Text>
</Stack>
<Stack direction="row" gap="sizeSmall" align="center" justify="between">
<Text variant="bodyMd">Row with space between</Text>
<Stack direction="row" gap="sizeSmall">
<Button variant="outline">Cancel</Button>
<Button variant="primary">Save</Button>
</Stack>
</Stack>
</Stack>
);
}

Stack 컴포넌트는 .mdx 페이지에 바로 쓸 수 있습니다. frontmatter 아래에서 가져오세요. 서버에서 렌더링되므로 client 지시어가 필요 없습니다.

src/content/docs/example.mdx
---
title: Example
---
import { Button, Stack } from "@pelagornis/page/components";
<Stack direction="row" gap="sizeSmall" align="center">
<Button variant="outline">Cancel</Button>
<Button variant="primary">Save</Button>
</Stack>

pageMarkdoc()가 이 컴포넌트의 stack 태그를 등록합니다. markdoc.config.mjs에 프리셋을 한 번 추가한 뒤(Markdoc에서 사용 참고), 어느 .mdoc 페이지에서나 태그를 쓰세요.

src/content/docs/example.mdoc
{% stack direction="row" gap="sizeSmall" align="center" %}
{% button variant="outline" %}Cancel{% /button %}
{% button variant="primary" %}Save{% /button %}
{% /stack %}

속성 이름과 값은 React props와 같습니다.

컴포넌트를 이루는 부분과 각 부분이 렌더링하는 data-refineui 역할입니다.

부분역할
rootstack