Skip to content
Docs
컴포넌트로 돌아가기

Switch

@hua-labs/ui
v1.1.0

켜기/끄기 상태를 위한 토글 스위치 컴포넌트입니다.

설치

bash
npm install @hua-labs/hua
Import
tsx
import { Switch } from "@hua-labs/hua";

@hua-labs/ui의 UI 컴포넌트를 @hua-labs/hua에서 통합 제공합니다.

UI 컴포넌트, 모션 훅, i18n을 하나의 패키지로 사용할 수 있습니다.

라이브 데모

기본 스위치

설명 포함

작업 내용을 자동으로 저장합니다

기기 간 데이터를 동기화합니다

제어됨

:
꺼짐

변형

default
outline
filled
glass

크기

sm
md
lg

상태

Props

이름타입기본값설명
variant"default" | "outline" | "filled" | "glass""default"시각적 스타일 변형
size"sm" | "md" | "lg""md"스위치 크기
labelstring-스위치 레이블 텍스트
descriptionstring-도움말 설명 텍스트
errorbooleanfalse에러 상태 표시
successbooleanfalse성공 상태 표시
checkedboolean-제어되는 체크 상태
defaultCheckedboolean-Initial checked state (uncontrolled)
disabledbooleanfalse스위치 비활성화

코드 예시

기본 사용법
import { Switch } from '@hua-labs/ui';

<Switch label="Enable notifications" />
설명 포함
<Switch
  label="Auto Save"
  description="Automatically save your work"
/>
제어 모드
const [enabled, setEnabled] = useState(false);

<Switch
  checked={enabled}
  onChange={(e) => setEnabled(e.target.checked)}
  label="Dark Mode"
/>

접근성

  • 스위치 역할: 스크린 리더를 위한 role='switch'
  • aria-checked: 스크린 리더에 켜짐/꺼짐 상태를 전달
  • 키보드 토글: Space 키로 토글
  • 포커스 표시: 키보드 사용자를 위한 포커스 표시