Toggle Group
단일 또는 복수 선택을 묶는 키보드 탐색 토글 그룹. 그룹의 aria-label과 각 항목 이름을 제공하세요. 방향키 이동과 선택 상태를 구분합니다.
@neumorphism-ui/toggle-group미리보기
설치
설치: toggle-group
npx shadcn@latest add @neumorphism-ui/toggle-groupCLI가 npm 의존성, base 토큰, utils와 컴포넌트 소스를 순서대로 확인하고 설치합니다.
Registry를 처음 사용한다면 namespace 설정 을 먼저 완료하세요.
사용법
Import
Toggle Group import 코드
"use client";
import * as React from "react";
import { ToggleGroup, ToggleGroupItem } from "@/components/ui/toggle-group";Example
Toggle Group 사용 코드
export default function Example() {
const text = {"open":"알림 설정","title":"알림을 조절하세요","body":"중요한 업데이트만 받아 집중을 유지하세요.","close":"닫기","discard":"초안 삭제","confirm":"초안을 삭제할까요?","warning":"이 작업은 되돌릴 수 없습니다. 계속하려면 직접 확인하세요.","cancel":"돌아가기","done":"초안을 삭제했습니다.","profile":"프로필 미리보기","person":"제품 디자이너 · 서울","details":"세부 설정","detailBody":"기본 동작은 그대로 두고 추가 설정만 펼칩니다.","pin":"고정","locked":"잠김","align":"정렬","left":"왼쪽","center":"가운데","right":"오른쪽","tools":"문서 도구","undo":"실행 취소","redo":"다시 실행","save":"변경 저장","saved":"로컬 예제를 저장했습니다.","name":"표시 이름","hint":"프로필에 표시할 이름을 입력하세요.","required":"이름을 입력하세요.","settings":"프로필 설정","quantity":"좌석 수","increase":"좌석 늘리기","decrease":"좌석 줄이기","storage":"저장 공간","city":"도시 검색","empty":"일치하는 도시가 없습니다.","reset":"초기화","editing":"저장 전 변경 사항","quiet":"저장된 상태"};
const [alignment, setAlignment] = React.useState<string[]>(["left"]);
return (<div className="grid gap-3"><ToggleGroup aria-label={"정렬"} value={alignment} onValueChange={setAlignment}><ToggleGroupItem value="left">{"왼쪽"}</ToggleGroupItem><ToggleGroupItem value="center">{"가운데"}</ToggleGroupItem><ToggleGroupItem value="right">{"오른쪽"}</ToggleGroupItem></ToggleGroup><output className="text-sm text-[var(--muted-foreground)]">{alignment.map(value => text[value as "left" | "center" | "right"]).join(", ")}</output></div>);
}API 레퍼런스
| 컴포넌트 | 속성 | 타입 | 기본값 | 설명 |
|---|---|---|---|---|
ToggleGroup | value / defaultValue | readonly string[] | — | 제어 상태 또는 최초 상태를 지정합니다. |
ToggleGroup | multiple | boolean | — | 복수 항목 선택을 허용합니다. |
ToggleGroup | orientation | "horizontal" | "vertical" | — | 배치 방향과 키보드 이동 방향입니다. |
접근성
- 01
그룹의 aria-label과 각 항목 이름을 제공하세요. 방향키 이동과 선택 상태를 구분합니다.
- 02
render나 className을 바꿀 때 라벨 연결과 포커스 표시를 유지하세요.