Chip
小さなラベルやフィルターです。削除可能にできます。Tag という名前でもエクスポートされます。
DefaultFilledSmall outlineTag alias
astroreacttokens
インポート
「インポート」セクションimport { Chip, Tag } from "@pelagornis/page/components";上のプレビューはこのファイルを描画したものです。src/components/ にコピーして使い始めてください。
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> );}MDX で使う
「MDX で使う」セクションChip は .mdx ページにそのまま書けます。frontmatter の下でインポートしてください。サーバーで描画されるので、client ディレクティブは要りません。
---title: Example---
import { Chip } from "@pelagornis/page/components";
<Chip variant="filled">Astro</Chip><Chip variant="outline" size="sm">React</Chip>Markdoc で使う
「Markdoc で使う」セクションpageMarkdoc() がこのコンポーネントの chip タグを登録します。markdoc.config.mjs にプリセットを一度追加すれば(Markdoc で使うを参照)、どの .mdoc ページでもタグを書けます。
{% chip variant="filled" %}Astro{% /chip %}属性の名前と値は React の props と同じです。
バリアント
「バリアント」セクション各 variant prop が受け付ける値です。
| Prop | 値 |
|---|---|
variant | default outline filled |
size | sm md lg |
コンポーネントを構成するパーツと、それぞれが描画する data-refineui のロールです。
| パーツ | ロール |
|---|---|
root | chip |
remove | chip-remove |
コンポーネントがスタイルを当てる状態です。コンポーネントの状態は data 属性として公開されます。
| 種類 | 状態 |
|---|---|
| 疑似クラス | focus-visible |
キーボード
「キーボード」セクションフォーカスがあるときにコンポーネントが処理するキーです。
| キー | 動作 |
|---|---|
| Enter | activate |
| Space | activate |
- デザインのガイドとトークンの詳細は RefineUI · Chip を参照してください。
- 共通のルールは MDX で使う と Markdoc で使う を参照してください。