ComponentsToggle Group

Toggle Group

A set of two-state buttons that can be toggled on or off.


Demo

import { ToggleGroup, ToggleGroupItem } from '@immit/ui/toggle-group'
import { Bold, Italic, Underline } from 'lucide-react'

export function ToggleGroupDemo() {
  return (
    <ToggleGroup multiple defaultValue={['bold']}>
      <ToggleGroupItem value="bold" aria-label="Toggle bold">
        <Bold />
      </ToggleGroupItem>
      <ToggleGroupItem value="italic" aria-label="Toggle italic">
        <Italic />
      </ToggleGroupItem>
      <ToggleGroupItem value="underline" aria-label="Toggle underline">
        <Underline />
      </ToggleGroupItem>
    </ToggleGroup>
  )
}

Outline

Set spacing={0} to collapse an outline group into a segmented control.

import { ToggleGroup, ToggleGroupItem } from '@immit/ui/toggle-group'

export function ToggleGroupOutline() {
  return (
    <ToggleGroup variant="outline" spacing={0} defaultValue={['week']}>
      <ToggleGroupItem value="day">Day</ToggleGroupItem>
      <ToggleGroupItem value="week">Week</ToggleGroupItem>
      <ToggleGroupItem value="month">Month</ToggleGroupItem>
    </ToggleGroup>
  )
}