Toggle Group
In single mode, pressing an item releases the others, and pressing the active item clears the value. In multiple mode, each item toggles in and out of an array.
Installation
Copy the command below and run it in your terminal.
Usage
Every Item needs a unique value. Bind value on Root: a string for single (the default), a string array for multiple. Icon-only items need an aria-label.
Examples
Single select
Multiple select
Anatomy
ToggleGroup.Root - Manages toggle group selection.
ToggleGroup.Item - Defines a toggle group option.
<script lang="ts"> import AlignCenter from '@lucide/svelte/icons/align-center'; import AlignLeft from '@lucide/svelte/icons/align-left'; import AlignRight from '@lucide/svelte/icons/align-right'; import * as ToggleGroup from '@sivir-ui/svelte/components/toggle-group'; let alignment = $state('center'); </script> <ToggleGroup.Root bind:value={alignment}> <ToggleGroup.Item value="left" aria-label="Align left"> <AlignLeft size={14} /> </ToggleGroup.Item> <ToggleGroup.Item value="center" aria-label="Align center"> <AlignCenter size={14} /> </ToggleGroup.Item> <ToggleGroup.Item value="right" aria-label="Align right"> <AlignRight size={14} /> </ToggleGroup.Item> </ToggleGroup.Root>