Components
- Accordion
- Alert
- Alert Dialog
- Aspect Ratio
- Autocomplete
- Avatar
- Badge
- Bar List
- Breadcrumb
- Button
- Button Group
- Calendar
- Card
- Carousel
- Checkbox
- Checkbox Group
- Circular Progress
- Collapsible
- Combobox
- Command
- Context Menu
- Currency Input
- Data Table
- Date Picker
- Dialog
- Drawer
- Dropdown Menu
- Empty
- Field
- Hover Card
- Input
- Input Group
- Input OTP
- Item
- Kbd
- Label
- Menubar
- Meter
- Multi Combobox
- Native Select
- Navigation Menu
- Number Field
- Pagination
- Phone Input
- Popover
- Progress
- Progress List
- Prompt
- Radio Group
- Resizable
- Scroll Area
- Select
- Separator
- Sheet
- Sidebar
- Skeleton
- Slider
- Sonner
- Spinner
- Stat
- Switch
- Table
- Tabs
- Textarea
- Toggle
- Toggle Group
- Tooltip
- Typography
Loading...
import { BookmarkFilledIcon, BookmarkIcon } from "blode-icons-react";
import { Toggle } from "@/components/ui/toggle";
export function ToggleDemo() {
return (
<Toggle
aria-label="Toggle bookmark"
render={(props, state) => (
<button type="button" {...props}>
{state.pressed ? <BookmarkFilledIcon /> : <BookmarkIcon />}
Bookmark
</button>
)}
size="sm"
variant="outline"
/>
);
}Installation
npx shadcn@latest add "https://ui.blode.co/r/styles/default/toggle"
Usage
import { Toggle } from "@/components/ui/toggle";<Toggle>Toggle</Toggle>Examples
Default
Loading...
import { BookmarkFilledIcon, BookmarkIcon } from "blode-icons-react";
import { Toggle } from "@/components/ui/toggle";
export function ToggleDemo() {
return (
<Toggle
aria-label="Toggle bookmark"
render={(props, state) => (
<button type="button" {...props}>
{state.pressed ? <BookmarkFilledIcon /> : <BookmarkIcon />}
Bookmark
</button>
)}
size="sm"
variant="outline"
/>
);
}Outline
Loading...
import { BoldIcon, ItalicIcon } from "blode-icons-react";
import { Toggle } from "@/components/ui/toggle";
export function ToggleOutline() {
return (
<div className="flex flex-wrap items-center gap-2">
<Toggle aria-label="Toggle italic" variant="outline">
<ItalicIcon />
Italic
</Toggle>
<Toggle aria-label="Toggle bold" variant="outline">
<BoldIcon />
Bold
</Toggle>
</div>
);
}With Text
Loading...
import { ItalicIcon } from "blode-icons-react";
import { Toggle } from "@/components/ui/toggle";
export function ToggleText() {
return (
<Toggle aria-label="Toggle italic">
<ItalicIcon />
Italic
</Toggle>
);
}Small
Loading...
import { Toggle } from "@/components/ui/toggle";
export function ToggleSizes() {
return (
<div className="flex flex-wrap items-center gap-2">
<Toggle aria-label="Toggle small" size="sm" variant="outline">
Small
</Toggle>
<Toggle aria-label="Toggle default" size="default" variant="outline">
Default
</Toggle>
<Toggle aria-label="Toggle large" size="lg" variant="outline">
Large
</Toggle>
</div>
);
}Large
Loading...
import { Toggle } from "@/components/ui/toggle";
export function ToggleSizes() {
return (
<div className="flex flex-wrap items-center gap-2">
<Toggle aria-label="Toggle small" size="sm" variant="outline">
Small
</Toggle>
<Toggle aria-label="Toggle default" size="default" variant="outline">
Default
</Toggle>
<Toggle aria-label="Toggle large" size="lg" variant="outline">
Large
</Toggle>
</div>
);
}Disabled
Loading...
import { Toggle } from "@/components/ui/toggle";
export function ToggleDisabled() {
return (
<div className="flex flex-wrap items-center gap-2">
<Toggle aria-label="Toggle disabled" disabled>
Disabled
</Toggle>
<Toggle aria-label="Toggle disabled outline" disabled variant="outline">
Disabled
</Toggle>
</div>
);
}