Skip to content
Nerdfishui
Esc
navigateopen⌘Jpreview
On this page

Toggle Group

A group of toggle buttons.

'use client'

import { ToggleGroup, ToggleGroupItem } from '@nerdfish/react/toggle-group'
import { BookmarkIcon, HeartIcon, StarIcon } from 'lucide-react'

export default function ToggleGroupExample() {
	return (
		<ToggleGroup multiple variant="outline" spacing={2} size="sm">
			<ToggleGroupItem
				value="star"
				aria-label="Toggle star"
				className="data-pressed:bg-transparent data-pressed:*:[svg]:fill-yellow-500 data-pressed:*:[svg]:stroke-yellow-500"
			>
				<StarIcon />
				Star
			</ToggleGroupItem>
			<ToggleGroupItem
				value="heart"
				aria-label="Toggle heart"
				className="data-pressed:bg-transparent data-pressed:*:[svg]:fill-red-500 data-pressed:*:[svg]:stroke-red-500"
			>
				<HeartIcon />
				Heart
			</ToggleGroupItem>
			<ToggleGroupItem
				value="bookmark"
				aria-label="Toggle bookmark"
				className="data-pressed:bg-transparent data-pressed:*:[svg]:fill-blue-500 data-pressed:*:[svg]:stroke-blue-500"
			>
				<BookmarkIcon />
				Bookmark
			</ToggleGroupItem>
		</ToggleGroup>
	)
}

Outline

'use client'

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

export default function ToggleGroupOutlineExample() {
	return (
		<ToggleGroup multiple variant="outline">
			<ToggleGroupItem value="bold" aria-label="Toggle bold">
				<Bold className="h-4 w-4" />
			</ToggleGroupItem>
			<ToggleGroupItem value="italic" aria-label="Toggle italic">
				<Italic className="h-4 w-4" />
			</ToggleGroupItem>
			<ToggleGroupItem value="strikethrough" aria-label="Toggle strikethrough">
				<Underline className="h-4 w-4" />
			</ToggleGroupItem>
		</ToggleGroup>
	)
}