Lynx

Chip

사용자가 선택하거나 실행할 수 있는 짧은 값을 표시하는 컴포넌트입니다.

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

Installation

npm install @seed-design/lynx-react @seed-design/lynx-css

Lynx Chip은 별도 ui:chip snippet 없이 @seed-design/lynx-react 패키지에서 직접 제공합니다.

Props

Chip.Button

Prop

Type

style?CSSProperties | undefined
children?React.ReactNode
className?string | undefined
bindtap?EventHandler<BaseTouchEvent<Target>> | undefined
main-thread:bindtap?EventHandler<BaseTouchEvent<Element>> | undefined

Chip.Toggle

Prop

Type

checked?boolean | undefined
defaultChecked?boolean | undefined
onCheckedChange?((checked: boolean) => void) | undefined
style?CSSProperties | undefined
children?React.ReactNode
className?string | undefined
bindtap?EventHandler<BaseTouchEvent<Target>> | undefined
main-thread:bindtap?EventHandler<BaseTouchEvent<Element>> | undefined

Chip.RadioRoot

Prop

Type

value?string | undefined
defaultValue?string | undefined
disabled?boolean | undefined
onValueChange?((value: string) => void) | undefined
style?CSSProperties | undefined
children?React.ReactNode
className?string | undefined

Chip.RadioItem

Prop

Type

valuestring
style?CSSProperties | undefined
children?React.ReactNode
className?string | undefined
bindtap?EventHandler<BaseTouchEvent<Target>> | undefined
main-thread:bindtap?EventHandler<BaseTouchEvent<Element>> | undefined

Slots

Prop

Type

style?CSSProperties | undefined
children?React.ReactNode
className?string | undefined

Examples

Button

일반 액션은 Chip.Button을 사용하고 bindtap으로 탭 이벤트를 처리합니다.

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

Toggle

독립적인 선택 상태는 Chip.Toggle을 사용합니다. checkedonCheckedChange를 함께 전달하면 controlled 상태로 사용할 수 있습니다.

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

Radio Group

한 항목만 선택해야 하면 Chip.RadioRootChip.RadioItem을 조합합니다.

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

Sizes and Variants

React 버전과 동일하게 size="small" | "medium" | "large"variant="solid" | "outlineStrong" | "outlineWeak"를 지원합니다.

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

Affixes and Icon Only

Chip.PrefixIcon, Chip.PrefixAvatar, Chip.SuffixIcon 슬롯으로 앞뒤 콘텐츠를 배치할 수 있습니다. Lynx 아이콘은 @seed-design/lynx-reactIcon, PrefixIcon, SuffixIcon@karrotmarket/lynx-monochrome-icon 요소를 사용합니다. layout="iconOnly"에서는 Icon 자식과 accessibility-label을 함께 전달해야 합니다.

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

웹 버전과의 차이

Lynx Chip은 React Chip과 같은 Button, Toggle, Radio 구성과 size/variant 이름을 사용하지만 다음 차이가 있습니다.

  • 렌더링 요소: HTML <button> / <label> / <input> 대신 네이티브 <view> / <text>를 렌더링합니다.
  • 이벤트 핸들링: onClick 대신 bindtap, onChange 대신 onCheckedChange 또는 onValueChange를 사용합니다.
  • 상태 스타일: 웹 pseudo selector 대신 touch 상태와 선택 상태를 Lynx recipe의 pressed, selected variant로 연결합니다.
  • 아이콘 렌더링: SVG currentColor 대신 Lynx monochrome icon과 <image tint-color> 기반 Icon wrapper를 사용합니다.
  • 공개 표면: React의 registry wrapper 역할을 Lynx package API가 직접 제공하므로 별도 snippet을 설치하지 않습니다.

Lynx 미지원 기능

현재 Lynx 런타임 모델 차이로 다음 기능은 지원하지 않습니다.

기능설명
HiddenInput / inputPropsLynx에 HTML input과 form 제출 모델이 없습니다.
name / required / native form valueHTML form 속성을 연결할 대상이 없습니다.
raw DOM onChangeonCheckedChange 또는 onValueChange로 대체합니다.
키보드 focus / focusVisibleLynx에는 웹과 같은 키보드 focus 모델이 없습니다.
asChildLynx는 웹 Slot 기반 다형 렌더링을 지원하지 않습니다.

Last updated on

목차