콘텐츠로 이동
Page

Chip

작은 라벨이나 필터입니다. 지울 수 있게 만들 수 있습니다. Tag라는 이름으로도 내보냅니다.

DefaultFilledSmall outlineTag alias
astroreacttokens
import { Chip, Tag } from "@pelagornis/page/components";

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

src/components/ChipExample.tsx
import { useState } from "react";
import { Chip, Stack, Tag } from "@pelagornis/page/components";
export default function ChipDemo() {
const [filters, setFilters] = useState(["astro", "react", "tokens"]);
return (
<Stack gap="sizeMedium">
<Stack direction="row" gap="sizeSmall" wrap>
<Chip>Default</Chip>
<Chip variant="filled">Filled</Chip>
<Chip variant="outline" size="sm">
Small outline
</Chip>
<Tag variant="outline">Tag alias</Tag>
</Stack>
<Stack direction="row" gap="sizeSmall" wrap>
{filters.map((filter) => (
<Chip key={filter} onRemove={() => setFilters((current) => current.filter((item) => item !== filter))}>
{filter}
</Chip>
))}
</Stack>
</Stack>
);
}

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

src/content/docs/example.mdx
---
title: Example
---
import { Chip } from "@pelagornis/page/components";
<Chip variant="filled">Astro</Chip>
<Chip variant="outline" size="sm">React</Chip>

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

src/content/docs/example.mdoc
{% chip variant="filled" %}Astro{% /chip %}

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

각 variant prop에 넣을 수 있는 값입니다.

Prop값
variantdefault outline filled
sizesm md lg

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

부분역할
rootchip
removechip-remove

컴포넌트가 스타일을 적용하는 상태입니다. 컴포넌트 상태는 data 속성으로 드러납니다.

종류상태
의사 클래스focus-visible

포커스가 있을 때 컴포넌트가 처리하는 키입니다.

키동작
Enteractivate
Spaceactivate