跳转到内容
Page

Box

带有令牌内边距、填充、圆角和边框的基础布局容器。

Surface box with large padding
Outlined section
import { Box } from "@pelagornis/page/components";

上方预览渲染的就是这个文件。把它复制到 src/components/ 即可开始使用。

src/components/BoxExample.tsx
import { Box, Stack, Text } from "@pelagornis/page/components";
export default function BoxDemo() {
return (
<Stack gap="sizeMedium" className="w-full">
<Box padding="sizeLarge" background="backgroundSurface" radius="roundedLarge">
<Text variant="bodyMd">Surface box with large padding</Text>
</Box>
<Box
as="section"
paddingX="sizeLarge"
paddingY="sizeSmall"
border="strokeWidthThin"
borderColor="borderDefault"
radius="roundedLarge"
>
<Text variant="bodyMd">Outlined section</Text>
</Box>
</Stack>
);
}

Box 可以直接写在 .mdx 页面中。在 frontmatter 下方导入即可。它在服务器端渲染,不需要 client 指令。

src/content/docs/example.mdx
---
title: Example
---
import { Box } from "@pelagornis/page/components";
<Box padding="sizeLarge" background="backgroundSurface" radius="roundedLarge">
Surface box
</Box>

pageMarkdoc() 会为这个组件注册 box 标签。在 markdoc.config.mjs 中添加一次预设(见在 Markdoc 中使用),就能在任意 .mdoc 页面中使用该标签。

src/content/docs/example.mdoc
{% box padding="sizeLarge" background="backgroundSurface" radius="roundedLarge" %}
Surface box
{% /box %}

属性的名称和取值与 React props 相同。

组件的组成部分,以及每个部分渲染的 data-refineui 角色。

部件角色
rootbox