콘텐츠로 이동
Page

Radio

같은 name을 공유하는 그룹에서 하나를 고릅니다.

import { Radio } from "@pelagornis/page/components";

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

src/components/RadioExample.tsx
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>
);
}

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

src/content/docs/example.mdx
---
title: Example
---
import { Radio } from "@pelagornis/page/components";
<Radio name="plan" value="basic" label="Basic" defaultChecked />
<Radio name="plan" value="pro" label="Pro" />

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

src/content/docs/example.mdoc
{% radio name="plan" value="basic" label="Basic" defaultChecked=true /%}
{% radio name="plan" value="pro" label="Pro" /%}

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

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

부분역할
rootradio

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

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

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

키동작
Spaceactivate