Radio
같은 name을 공유하는 그룹에서 하나를 고릅니다.
가져오기
섹션 제목: “가져오기”import { Radio } from "@pelagornis/page/components";위 미리보기는 이 파일을 렌더링한 것입니다. src/components/에 복사해서 시작하세요.
import { useState } from "react";import { Radio, Stack } from "@pelagornis/page/components";
const plans = [ { value: "basic", label: "Basic", description: "For personal docs" }, { value: "pro", label: "Pro", description: "Includes versioned docs" }, { value: "team", label: "Team", description: "Shared workspaces" },];
export default function RadioDemo() { const [plan, setPlan] = useState("pro");
return ( <Stack gap="sizeSmall" role="radiogroup" aria-label="Plan"> {plans.map((item) => ( <Radio key={item.value} name="plan" value={item.value} label={item.label} description={item.description} checked={plan === item.value} onChange={(event) => setPlan(event.target.value)} /> ))} </Stack> );}MDX에서 사용
섹션 제목: “MDX에서 사용”Radio 컴포넌트는 .mdx 페이지에 바로 쓸 수 있습니다. frontmatter 아래에서 가져오세요. 서버에서 렌더링되므로 client 지시어가 필요 없습니다.
---title: Example---
import { Radio } from "@pelagornis/page/components";
<Radio name="plan" value="basic" label="Basic" defaultChecked /><Radio name="plan" value="pro" label="Pro" />Markdoc에서 사용
섹션 제목: “Markdoc에서 사용”pageMarkdoc()가 이 컴포넌트의 radio 태그를 등록합니다. markdoc.config.mjs에 프리셋을 한 번 추가한 뒤(Markdoc에서 사용 참고), 어느 .mdoc 페이지에서나 태그를 쓰세요.
{% radio name="plan" value="basic" label="Basic" defaultChecked=true /%}{% radio name="plan" value="pro" label="Pro" /%}속성 이름과 값은 React props와 같습니다.
컴포넌트를 이루는 부분과 각 부분이 렌더링하는 data-refineui 역할입니다.
| 부분 | 역할 |
|---|---|
root | radio |
컴포넌트가 스타일을 적용하는 상태입니다. 컴포넌트 상태는 data 속성으로 드러납니다.
| 종류 | 상태 |
|---|---|
| 의사 클래스 | focus-visible |
키보드
섹션 제목: “키보드”포커스가 있을 때 컴포넌트가 처리하는 키입니다.
| 키 | 동작 |
|---|---|
| Space | activate |
- 디자인 가이드와 토큰 상세는 RefineUI · Radio를 참고하세요.
- 공통 규칙은 MDX에서 사용과 Markdoc에서 사용을 참고하세요.