Components
- Accordion
- Alert
- Alert Dialog
- Autocomplete
- Avatar
- Badge
- Breadcrumb
- Button
- Card
- Checkbox
- Checkbox Group
- Collapsible
- Combobox
- CommandNew
- Dialog
- Empty
- Field
- Fieldset
- Form
- Frame
- Group
- Input
- Input Group
- Kbd
- Label
- Menu
- Meter
- Number Field
- Pagination
- Popover
- Preview Card
- Progress
- Radio Group
- Scroll Area
- Select
- Separator
- Sheet
- Skeleton
- Slider
- Spinner
- Switch
- Table
- Tabs
- Textarea
- Toast
- Toggle
- Toggle Group
- Toolbar
- Tooltip
Resources
Toggle
A two-state button that can be on or off.
import { Toggle } from "@/components/ui/toggle";
export default function Particle() {
return <Toggle>Toggle</Toggle>;
}
Installation
pnpm dlx shadcn@latest add @coss/toggle
Usage
import { Toggle } from "@/components/ui/toggle"<Toggle>Toggle</Toggle>API Reference
Toggle
Styled wrapper for Toggle.Root from Base UI with variant and size options.
| Prop | Type | Default | Description |
|---|---|---|---|
variant | "default" | "outline" | "default" | Controls the toggle styling |
size | "default" | "sm" | "lg" | "default" | Controls the toggle size |
Examples
Outline
import { Toggle } from "@/components/ui/toggle";
export default function Particle() {
return <Toggle variant="outline">Outline Toggle</Toggle>;
}
With Icon
import { BoldIcon } from "lucide-react";
import { Toggle } from "@/components/ui/toggle";
export default function Particle() {
return (
<Toggle aria-label="Toggle bold" variant="outline">
<BoldIcon />
</Toggle>
);
}
Small Size
import { Toggle } from "@/components/ui/toggle";
export default function Particle() {
return (
<Toggle size="sm" variant="outline">
Small
</Toggle>
);
}
Large Size
import { Toggle } from "@/components/ui/toggle";
export default function Particle() {
return (
<Toggle size="lg" variant="outline">
Large
</Toggle>
);
}
Disabled
import { Toggle } from "@/components/ui/toggle";
export default function Particle() {
return (
<Toggle disabled variant="outline">
Disabled
</Toggle>
);
}
Icon Group
import { BoldIcon, ItalicIcon, UnderlineIcon } from "lucide-react";
import { Toggle } from "@/components/ui/toggle";
export default function Particle() {
return (
<div className="flex items-center gap-1">
<Toggle aria-label="Toggle bold" variant="outline">
<BoldIcon />
</Toggle>
<Toggle aria-label="Toggle italic" variant="outline">
<ItalicIcon />
</Toggle>
<Toggle aria-label="Toggle underline" variant="outline">
<UnderlineIcon />
</Toggle>
</div>
);
}