- Prop
pressed- Type
boolean | undefined- Default
- —
- Requirement
- optional
- Description
- —
Docs Components Uncategorized
ToggleButton
- parts
- —
- nodes
- —
- size
- —
- part
- —
ts
import { ToggleButton } from "@grassroot/ui-react";const toggleButtonFixture = { id: "toggle-button", label: "Notifications", defaultPressed: true,} satisfies { id: string; label: string; defaultPressed: boolean;}; export default function ToggleButtonDemo() { return ( <ToggleButton defaultPressed={toggleButtonFixture.defaultPressed}> {toggleButtonFixture.label} </ToggleButton> );}- parts
- —
- nodes
- —
- size
- —
- part
- —
ts
<script setup lang="ts">import { ToggleButton } from "@grassroot/ui-vue";const toggleButtonFixture = { id: "toggle-button", label: "Notifications", defaultPressed: true,} satisfies { id: string; label: string; defaultPressed: boolean;}; </script> <template> <ToggleButton :default-pressed="toggleButtonFixture.defaultPressed" @update:pressed="() => {}"> {{ toggleButtonFixture.label }} </ToggleButton></template>- parts
- —
- nodes
- —
- size
- —
- part
- —
ts
import { Component } from "@angular/core";const toggleButtonFixture = { id: "toggle-button", label: "Notifications", defaultPressed: true,} satisfies { id: string; label: string; defaultPressed: boolean;}; import { GrassrootToggleButton } from "@grassroot/ui-angular"; @Component({ selector: "app-toggle-button-demo", standalone: true, imports: [GrassrootToggleButton], host: { style: "display: contents" }, template: ` <grassroot-toggle-button [defaultPressed]="fixture.defaultPressed">{{ fixture.label }}</grassroot-toggle-button> `,})export class ToggleButtonDemoComponent { protected readonly fixture = toggleButtonFixture;} export default ToggleButtonDemoComponent;- parts
- —
- nodes
- —
- size
- —
- part
- —
ts
<script lang="ts"> import { ToggleButton } from "@grassroot/ui-svelte"; const toggleButtonFixture = { id: "toggle-button", label: "Notifications", defaultPressed: true, } satisfies { id: string; label: string; defaultPressed: boolean; }; </script> <ToggleButton defaultPressed={toggleButtonFixture.defaultPressed}> {toggleButtonFixture.label}</ToggleButton>- parts
- —
- nodes
- —
- size
- —
- part
- —
ts
/** @jsxImportSource solid-js */import { ToggleButton } from "@grassroot/ui-solid";const toggleButtonFixture = { id: "toggle-button", label: "Notifications", defaultPressed: true,} satisfies { id: string; label: string; defaultPressed: boolean;}; export default function ToggleButtonDemo() { return ( <ToggleButton defaultPressed={toggleButtonFixture.defaultPressed}> {toggleButtonFixture.label} </ToggleButton> );}Installation
API Reference
Import
import { ToggleButton } from "@grassroot/ui-react";
Props
Prop
Type
Default
Requirement
Description
pressedboolean | undefined—
optional
—
defaultPressedboolean | undefined—
optional
—
onPressedChange((pressed: boolean) => void) | undefined—
optional
—
variantButtonVariant | undefined"ghost"optional
Visual style.
sizeButtonSize | undefined"md"optional
—
toneButtonTone | undefined"accent"optional
—
- Prop
defaultPressed- Type
boolean | undefined- Default
- —
- Requirement
- optional
- Description
- —
- Prop
onPressedChange- Type
((pressed: boolean) => void) | undefined- Default
- —
- Requirement
- optional
- Description
- —
- Prop
variant- Type
ButtonVariant | undefined- Default
"ghost"- Requirement
- optional
- Description
- Visual style.
- Prop
size- Type
ButtonSize | undefined- Default
"md"- Requirement
- optional
- Description
- —
- Prop
tone- Type
ButtonTone | undefined- Default
"accent"- Requirement
- optional
- Description
- —
Events
| Event | Payload |
|---|---|
onPressedChange | ((pressed: boolean) => void) | undefined |
Content regions
children
Native attributes
Standard DOM and ARIA attributes not listed above spread onto the root element.
Import
import { ToggleButton } from "@grassroot/ui-vue";
Props
Prop
Type
Default
Requirement
pressedboolean | undefinedundefinedoptional
defaultPressedboolean | undefinedfalseoptional
disabledboolean | undefined—
optional
variantButtonVariant | undefined"ghost"optional
sizeButtonSize | undefined"md"optional
toneButtonTone | undefined"accent"optional
- Prop
pressed- Type
boolean | undefined- Default
undefined- Requirement
- optional
- Prop
defaultPressed- Type
boolean | undefined- Default
false- Requirement
- optional
- Prop
disabled- Type
boolean | undefined- Default
- —
- Requirement
- optional
- Prop
variant- Type
ButtonVariant | undefined- Default
"ghost"- Requirement
- optional
- Prop
size- Type
ButtonSize | undefined- Default
"md"- Requirement
- optional
- Prop
tone- Type
ButtonTone | undefined- Default
"accent"- Requirement
- optional
Events
| Event | Payload |
|---|---|
update:pressed | [pressed: boolean] |
Content regions
default
Import
import { Component } from "@angular/core";
import { GrassrootToggleButton } from "@grassroot/ui-angular";
Props
Prop
Type
Default
Requirement
pressedboolean—
optional
defaultPressedbooleanfalseoptional
disabledbooleanfalseoptional
"aria-label"stringundefinedoptional
classNamestring—
optional
variantButtonVariant"ghost"optional
sizeButtonSize"md"optional
toneButtonTone"accent"optional
- Prop
pressed- Type
boolean- Default
- —
- Requirement
- optional
- Prop
defaultPressed- Type
boolean- Default
false- Requirement
- optional
- Prop
disabled- Type
boolean- Default
false- Requirement
- optional
- Prop
"aria-label"- Type
string- Default
undefined- Requirement
- optional
- Prop
className- Type
string- Default
- —
- Requirement
- optional
- Prop
variant- Type
ButtonVariant- Default
"ghost"- Requirement
- optional
- Prop
size- Type
ButtonSize- Default
"md"- Requirement
- optional
- Prop
tone- Type
ButtonTone- Default
"accent"- Requirement
- optional
Events
| Event | Payload |
|---|---|
pressedChange | boolean |
Content regions
default
Import
import { ToggleButton } from "@grassroot/ui-svelte";
Props
Prop
Type
Default
Requirement
pressedboolean—
optional
defaultPressedbooleanfalseoptional
disabledboolean—
optional
onPressedChange(pressed: boolean) => void—
optional
variantButtonVariant"ghost"optional
sizeButtonSize"md"optional
toneButtonTone"accent"optional
classNamestring—
optional
- Prop
pressed- Type
boolean- Default
- —
- Requirement
- optional
- Prop
defaultPressed- Type
boolean- Default
false- Requirement
- optional
- Prop
disabled- Type
boolean- Default
- —
- Requirement
- optional
- Prop
onPressedChange- Type
(pressed: boolean) => void- Default
- —
- Requirement
- optional
- Prop
variant- Type
ButtonVariant- Default
"ghost"- Requirement
- optional
- Prop
size- Type
ButtonSize- Default
"md"- Requirement
- optional
- Prop
tone- Type
ButtonTone- Default
"accent"- Requirement
- optional
- Prop
className- Type
string- Default
- —
- Requirement
- optional
Events
| Event | Payload |
|---|---|
onPressedChange | (pressed: boolean) => void |
Content regions
children
Import
import { ToggleButton } from "@grassroot/ui-solid";
Props
Prop
Type
Default
Requirement
pressedboolean—
optional
defaultPressedboolean—
optional
disabledboolean—
optional
onPressedChange(pressed: boolean) => void—
optional
variantButtonVariant—
optional
sizeButtonSize—
optional
toneButtonTone—
optional
classNamestring—
optional
- Prop
pressed- Type
boolean- Default
- —
- Requirement
- optional
- Prop
defaultPressed- Type
boolean- Default
- —
- Requirement
- optional
- Prop
disabled- Type
boolean- Default
- —
- Requirement
- optional
- Prop
onPressedChange- Type
(pressed: boolean) => void- Default
- —
- Requirement
- optional
- Prop
variant- Type
ButtonVariant- Default
- —
- Requirement
- optional
- Prop
size- Type
ButtonSize- Default
- —
- Requirement
- optional
- Prop
tone- Type
ButtonTone- Default
- —
- Requirement
- optional
- Prop
className- Type
string- Default
- —
- Requirement
- optional
Events
| Event | Payload |
|---|---|
onPressedChange | (pressed: boolean) => void |
Content regions
children
Native attributes
Standard DOM and ARIA attributes not listed above spread onto the root element.