Lynx

Radio Group

사용자가 여러 옵션 중 하나만 선택할 수 있게 하는 라디오 그룹 컴포넌트입니다.

Engine ≥ 3.6
사용 가능 버전@seed-design/[email protected], @seed-design/[email protected]
Lynx 예제를 불러오는 중입니다.

Installation

npx @seed-design/cli add ui:radio-group

Usage

import { RadioGroup, RadioGroupItem } from "@/components/ui/radio-group";

export function ContactMethod() {
  return (
    <RadioGroup
      label="선호하는 연락 방법"
      indicator="필수"
      description="연락받을 방법을 선택해 주세요."
      defaultValue="chat"
    >
      <RadioGroupItem value="chat" label="채팅" />
      <RadioGroupItem value="phone" label="전화" />
    </RadioGroup>
  );
}

invalid가 true이면 description 대신 errorMessage를 표시합니다. weight, size, tone은 RadioGroupItem에 지정하며, 이전 버전에서 그룹에 지정한 값도 각 항목으로 옮겨야 합니다. Registry RadioGroup은 React와 같이 required와 readOnly를 받지 않습니다.

Props

RadioGroup

Prop

Type

label?React.ReactNode
indicator?React.ReactNode
showRequiredIndicator?boolean | undefined
description?React.ReactNode
errorMessage?React.ReactNode
onValueChange?((value: string) => void) | undefined

RadioGroupItem

Prop

Type

label?React.ReactNode
valuestring

Radiomark

Prop

Type

접근성

RadioGroup의 문자열 label은 그룹의 접근성 이름으로도 사용됩니다. RadioGroupItem의 문자열 label은 항목 이름으로 연결되며 선택 상태와 비활성 상태도 전달됩니다.

raw <text>를 사용하거나 항목에 텍스트가 없으면 accessibility-label을 지정하세요. raw <text>의 정적 텍스트는 접근성 이름을 만들 수 없습니다.

Examples

Sizes

Lynx 예제를 불러오는 중입니다.

Tones

Brand

Lynx 예제를 불러오는 중입니다.

Neutral

Lynx 예제를 불러오는 중입니다.

Weights

Lynx 예제를 불러오는 중입니다.

Long Label

Lynx 예제를 불러오는 중입니다.

Disabled

Lynx 예제를 불러오는 중입니다.

Listening to Value Changes

RadioGroup의 onValueChange로 선택 값 변경을 감지할 수 있습니다. Controlled 모드에서는 value와 onValueChange를 함께 사용합니다.

Lynx 예제를 불러오는 중입니다.

Use Cases

Using Radiomark

Radiomark는 RadioGroupItem 안에서만 사용할 수 있습니다.

Lynx 예제를 불러오는 중입니다.

RadioGroupField Integration

Lynx 예제를 불러오는 중입니다.

Scale Feedback

Lynx RadioGroupItem은 누르는 동안 Radiomark를 줄입니다. 콘텐츠를 축소하는 SEED 컴포넌트 안에서는 이 효과를 생략합니다. React의 --seed-radiomark-feedback-scale CSS 변수는 제공하지 않습니다.

웹 버전과의 차이

  • invalid 상태에서는 description을 제외하고 errorMessage만 화면과 접근성 트리에 표시합니다.
  • 사용자 지정 아이콘은 Lynx 단색 아이콘 컴포넌트를 사용해야 합니다. raw <svg> 아이콘은 지원하지 않습니다.
  • 값 변경은 onChange가 아닌 onValueChange(value: string)로 받습니다.
  • HTML <label>과 <input type="radio"> 대신 네이티브 <view>와 <text>를 렌더링합니다.
  • RadioGroupItem은 RadioGroup 안에서, Radiomark는 해당 항목 안에서 사용해야 합니다.

사용자 지정 아이콘 패키지는 Registry 기본 설치에 포함되지 않습니다.

bun add @karrotmarket/lynx-monochrome-icon@^1.20.0

Lynx 미지원 기능

현재 Lynx 플랫폼 제약으로 다음 기능이 지원되지 않습니다.

런타임 모델 차이로 제외

기능웹 대응설명
React Hook FormHTML form 라이브러리value와 onValueChange 및 앱 수준 제출 로직으로 대체
RadioGroupItemHiddenInput<input type="radio">Lynx에 HTML form 제출 모델 없음
namenative form field nameLynx에 native form 제출 모델 없음
focus / focusVisible키보드 포커스Lynx에 키보드 포커스 개념 없음
onChange (raw DOM event)React.ChangeEvent의미 없음. onValueChange로 대체

Last updated on

목차