Skip to content

Toggle

A two-state button that can be either on or off.

---
import { BookmarkIcon } from '@lucide/astro';
import { Toggle } from '@bejamas/registry/ui/toggle';
---
<Toggle aria-label="Toggle bookmark" variant="outline">
<BookmarkIcon class="group-aria-pressed/toggle:fill-foreground" />
Bookmark
</Toggle>
Terminal window
bunx bejamas add toggle
---
import { Toggle } from '@bejamas/ui/components/toggle';
import { BoldIcon } from '@lucide/astro';
---
<Toggle aria-label="Toggle bold">
<BoldIcon />
</Toggle>
Prop Type Default
defaultPressed boolean
disabled boolean
class string ""
---
import { BoldIcon, ItalicIcon } from '@lucide/astro';
import { Toggle } from '@bejamas/registry/ui/toggle';
---
<div class="flex items-center gap-2">
<Toggle variant="outline" aria-label="Toggle bold">
<BoldIcon />
Bold
</Toggle>
<Toggle variant="outline" aria-label="Toggle italic">
<ItalicIcon />
Italic
</Toggle>
</div>
---
import { ItalicIcon } from '@lucide/astro';
import { Toggle } from '@bejamas/registry/ui/toggle';
---
<Toggle variant="outline" aria-label="Toggle italic">
<ItalicIcon />
Italic
</Toggle>
---
import { Toggle } from '@bejamas/registry/ui/toggle';
---
<div class="flex items-center gap-2">
<Toggle size="sm" variant="outline" aria-label="Toggle small">
Small
</Toggle>
<Toggle size="default" variant="outline" aria-label="Toggle default">
Default
</Toggle>
<Toggle size="lg" variant="outline" aria-label="Toggle large">
Large
</Toggle>
</div>
---
import { Toggle } from '@bejamas/registry/ui/toggle';
---
<div class="flex items-center gap-2">
<Toggle disabled aria-label="Toggle bold">
Disabled
</Toggle>
<Toggle disabled variant="outline" aria-label="Toggle italic">
Disabled
</Toggle>
</div>
Event Detail Description
toggle:change { pressed: boolean } Fired when the toggle state changes
// Set toggle state programmatically
element.dispatchEvent(new CustomEvent('toggle:set', { detail: { value: true } }));
Attribute Element Description
data-state toggle Current state: on or off
data-disabled toggle Present when toggle is disabled