변형
단순(RadioGroup) · 카드형(RadioCardGroup) 두 변형 제공
단순형
orientation vertical · horizontal, description 선택, required, disabled
카드형
columns one · two · three (RadioCardColumns), density comfortable · compact

단순 라디오

라이브 선택 — 단순형 (RadioGroup)

감독관이 입장 상태를 확인합니다.

응시 기록만 저장합니다.

코드 보기tsx
import { RadioGroup } from "@olundot/ui";

export function DeliveryModeSimple() {
  return (
    <RadioGroup
      aria-label="응시 방식"
      name="deliverySimple"
      defaultValue="live"
      options={[
        { value: "live", label: "실시간 시험", description: "감독관이 입장 상태를 확인합니다." },
        { value: "practice", label: "연습 시험", description: "응시 기록만 저장합니다." },
        { value: "offline", label: "오프라인 시험" },
      ]}
    />
  );
}

카드형 기본

라이브 선택 — 카드형 (RadioCardGroup)
코드 보기tsx
import { RadioCardGroup } from "@olundot/ui";

export function DeliveryModeRadio() {
  return (
    <RadioCardGroup
      aria-label="응시 방식"
      name="delivery"
      defaultValue="live"
      options={[
        { value: "live", title: "실시간 시험", description: "감독관이 입장 상태를 확인합니다." },
        { value: "practice", title: "연습 시험", description: "응시 기록만 저장합니다." },
      ]}
    />
  );
}

컬럼 레이아웃

라이브 선택 · columns 비교 (one · two)
코드 보기tsx
import { RadioCardGroup } from "@olundot/ui";

const opts = [
  { value: "a", title: "옵션 A", description: "설명 A" },
  { value: "b", title: "옵션 B", description: "설명 B" },
  { value: "c", title: "옵션 C", description: "설명 C" },
  { value: "d", title: "옵션 D", description: "설명 D" },
];

export function RadioCardColumns() {
  return (
    <div style={{ display: "grid", gap: "24px" }}>
      <RadioCardGroup aria-label="1열" name="c1" options={opts} columns="one" />
      <RadioCardGroup aria-label="2열" name="c2" options={opts} columns="two" />
    </div>
  );
}

상태

라이브 선택 (defaultValue + 비활성 옵션)
코드 보기tsx
import { RadioCardGroup } from "@olundot/ui";

export function RadioCardStates() {
  return (
    <RadioCardGroup
      aria-label="상태"
      name="states"
      defaultValue="b"
      options={[
        { value: "a", title: "선택 가능", description: "기본 상태" },
        { value: "b", title: "선택됨", description: "현재 선택" },
        { value: "c", title: "비활성", description: "마감되었습니다.", disabled: true },
      ]}
    />
  );
}