toggle
bejamas-ui/toggleFreeComponent
bejamas/ui publishes no description for this item.
Live preview
live · rendered by the registry
Rendered by bejamas/ui on their own page — this is the component running, not a screenshot of it.Install it
npx shadcn@latest add https://ui.bejamas.com/r/toggle.jsonSource
1---2// Generated from bejamas-juno style registry. Do not edit packages/ui/src/components/toggle/Toggle.astro directly.3/**4 * @component Toggle5 * @title Toggle6 * @description A two-state button that can be either on or off.7 *8 * @preview9 *10 * <Toggle aria-label="Toggle bookmark" variant="outline">11 * <BookmarkIcon class="group-aria-pressed/toggle:fill-foreground" />12 * Bookmark13 * </Toggle>14 *15 * @usage16 *17 * ```astro nocollapse18 * ---19 * import { Toggle } from '@bejamas/ui/components/toggle';20 * import { BoldIcon } from '@lucide/astro';21 * ---22 *23 * <Toggle aria-label="Toggle bold">24 * <BoldIcon />25 * </Toggle>26 * ```27 *28 * @api29 *30 * ### Events31 *32 * | Event | Detail | Description |33 * |-------|--------|-------------|34 * | `toggle:change` | `{ pressed: boolean }` | Fired when the toggle state changes |35 *36 * ### Programmatic Control37 *38 * ```js nocollapse39 * // Set toggle state programmatically40 * element.dispatchEvent(new CustomEvent('toggle:set', { detail: { value: true } }));41 * ```42 *43 * ### Data Attributes44 *45 * | Attribute | Element | Description |46 * |-----------|---------|-------------|47 * | `data-state` | toggle | Current state: `on` or `off` |48 * | `data-disabled` | toggle | Present when toggle is disabled |49 *50 * @examples51 *52 * ### Outline53 *54 * <div class="flex items-center gap-2">55 * <Toggle variant="outline" aria-label="Toggle bold">56 * <BoldIcon />57 * Bold58 * </Toggle>59 * <Toggle variant="outline" aria-label="Toggle italic">60 * <ItalicIcon />61 * Italic62 * </Toggle>63 * </div>64 *65 * ### With Text66 *67 * <Toggle variant="outline" aria-label="Toggle italic">68 * <ItalicIcon />69 * Italic70 * </Toggle>71 *72 * ### Sizes73 *74 * <div class="flex items-center gap-2">75 * <Toggle size="sm" variant="outline" aria-label="Toggle small">76 * Small77 * </Toggle>78 * <Toggle size="default" variant="outline" aria-label="Toggle default">79 * Default80 * </Toggle>81 * <Toggle size="lg" variant="outline" aria-label="Toggle large">82 * Large83 * </Toggle>84 * </div>85 *86 * ### Disabled87 *88 * <div class="flex items-center gap-2">89 * <Toggle disabled aria-label="Toggle bold">90 * Disabled91 * </Toggle>92 * <Toggle disabled variant="outline" aria-label="Toggle italic">93 * Disabled94 * </Toggle>95 * </div>96 *97 */9899import type { HTMLAttributes } from "astro/types";100import { cn } from "@/lib/utils";101import {102 toggleVariants,103 type ToggleVariantProps,104} from "@bejamas/ui/lib/toggle-shared";105106// … truncated
What it pulls in
npm packages
Files it writes
More from bejamas/ui
All 41 items| Component | Registry | Kind | Access | Installs | Command |
|---|---|---|---|---|---|
| accordionaccordion | bejamas/ui | Components | Free | 1 dep · 5 files | |
| alertalert | bejamas/ui | Components | Free | no deps · 4 files | |
| avataravatar | bejamas/ui | Components | Free | no deps · 7 files | |
| badgebadge | bejamas/ui | Components | Free | no deps · 2 files | |
| breadcrumbbreadcrumb | bejamas/ui | Components | Free | no deps · 5 files | |
| buttonbutton | bejamas/ui | Components | Free | no deps · 2 files | |
| button-groupbutton-group | bejamas/ui | Components | Free | no deps · 4 files | |
| cardcard | bejamas/ui | Components | Free | no deps · 10 files |
