폼과 선택@neumorphism-ui/toggle-group

Toggle Group

단일 또는 복수 선택을 묶는 키보드 탐색 토글 그룹. 그룹의 aria-label과 각 항목 이름을 제공하세요. 방향키 이동과 선택 상태를 구분합니다.

@neumorphism-ui/toggle-group
Registry JSON

미리보기

왼쪽

설치

설치: toggle-groupnpx shadcn@latest add @neumorphism-ui/toggle-group

CLI가 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 레퍼런스

컴포넌트속성타입기본값설명
ToggleGroupvalue / defaultValuereadonly string[]—제어 상태 또는 최초 상태를 지정합니다.
ToggleGroupmultipleboolean—복수 항목 선택을 허용합니다.
ToggleGrouporientation"horizontal" | "vertical"—배치 방향과 키보드 이동 방향입니다.

접근성

  • 01

    그룹의 aria-label과 각 항목 이름을 제공하세요. 방향키 이동과 선택 상태를 구분합니다.

  • 02

    render나 className을 바꿀 때 라벨 연결과 포커스 표시를 유지하세요.