Toggle
A two-state button that can be toggled on or off, commonly used for text formatting controls like bold, italic, and underline.
Preview
Default
Outline Variant
Usage
tsx
import { Toggle } from "zostel-ui";
<Toggle aria-label="Toggle bold">
<Bold className="h-4 w-4" />
</Toggle>
<Toggle aria-label="Toggle italic" defaultPressed>
<Italic className="h-4 w-4" />
</Toggle>Props
| Prop | Type | Default | Description |
|---|---|---|---|
pressed | boolean | — | The controlled pressed state of the toggle. |
defaultPressed | boolean | false | Whether the toggle is pressed by default. |
onPressedChange | (pressed: boolean) => void | — | Callback fired when the pressed state changes. |
variant | "default" | "outline" | "default" | Visual style variant of the toggle. |
size | "default" | "sm" | "lg" | "default" | Size of the toggle button. |
disabled | boolean | false | When true, prevents the user from interacting. |
pressedType:
booleanDefault: —
The controlled pressed state of the toggle.
defaultPressedType:
booleanDefault: false
Whether the toggle is pressed by default.
onPressedChangeType:
(pressed: boolean) => voidDefault: —
Callback fired when the pressed state changes.
variantType:
"default" | "outline"Default: "default"
Visual style variant of the toggle.
sizeType:
"default" | "sm" | "lg"Default: "default"
Size of the toggle button.
disabledType:
booleanDefault: false
When true, prevents the user from interacting.