コンテンツにスキップ
Page

Grid

固定列、または自動フィットの最小幅を使う CSS グリッドです。

Tokens
Components
Motion
Themes
Icons
Layout
import { Grid, GridItem } from "@pelagornis/page/components";

上のプレビューはこのファイルを描画したものです。src/components/ にコピーして使い始めてください。

src/components/GridExample.tsx
import { Box, Grid, GridItem, Text } from "@pelagornis/page/components";
const items = ["Tokens", "Components", "Motion", "Themes", "Icons", "Layout"];
export default function GridDemo() {
return (
<Grid minItem="foundationSize2560" gap="sizeMedium" className="w-full">
{items.map((item) => (
<GridItem key={item}>
<Box padding="sizeLarge" background="backgroundSurface" radius="roundedLarge">
<Text variant="subtitleMd">{item}</Text>
</Box>
</GridItem>
))}
</Grid>
);
}

Grid は .mdx ページにそのまま書けます。frontmatter の下でインポートしてください。サーバーで描画されるので、client ディレクティブは要りません。

src/content/docs/example.mdx
---
title: Example
---
import { Grid } from "@pelagornis/page/components";
<Grid columns={3} gap="sizeMedium">
<div>One</div>
<div>Two</div>
<div>Three</div>
</Grid>

pageMarkdoc() がこのコンポーネントの grid タグを登録します。markdoc.config.mjs にプリセットを一度追加すれば(Markdoc で使うを参照)、どの .mdoc ページでもタグを書けます。

src/content/docs/example.mdoc
{% grid columns=3 gap="sizeMedium" %}
One
Two
Three
{% /grid %}

属性の名前と値は React の props と同じです。

コンポーネントを構成するパーツと、それぞれが描画する data-refineui のロールです。

パーツロール
rootgrid
itemgrid-item