Skip to content
FormsInteractive playground

Toggle

A button with a pressed state.

Preparing the playground…
Text and Markdown example
Toggle · Example
1<Toggle aria-label="Bold" variant="outline">B</Toggle>
Read documentation in Markdown

How to use it

Use pressed and onPressedChange for formatting tools or preferences. Text or aria-label must explain the action.

Import

React / Next.js
1import { Toggle } from "@kivora/nextjs";

Interactive examples run inside a component with "use client". The playground's Copy button includes the imports needed for the current example.

API reference 0.2.0

Types from the installed published version, including component properties and common HTML attributes. “Optional” does not imply a default value; omitting a property lets the component decide.

PropertyTypeDescription
aria-labelstringAccessible name of the control.
asChildbooleanApply props and behavior to a single compatible child element.
childrenReactNode | ((pressed: boolean) => ReactNode)Content or child elements of the component.
classNamestringAdditional CSS classes to customize the element.
defaultCheckedbooleanInitial selection of the control.
defaultPressedbooleanInitial pressed state.
defaultValuestring | number | readonly string[]Initial value when the component manages its own state.
disabledbooleanDisable interaction with the control.
idstringElement identifier; associates labels and descriptions.
namestringName used to identify the control in forms.
onChangeChangeEventHandler<HTMLButtonElement, Element>Change event. Check the type: some controls return an object, others a DOM event.
onClickMouseEventHandler<HTMLButtonElement>Action performed when the element is activated.
onPressedChange((pressed: boolean) => void)Receives pressed-state changes.
onSubmitSubmitEventHandler<HTMLButtonElement>Form submission event.
pressedbooleanControlled pressed state.
roleAriaRoleSemantic role of the element. Keep the default role unless a change is justified.
size"default" | "sm" | "lg" | "icon" | nullVisual size of the component.
styleCSSPropertiesReact inline styles.
tabIndexnumberKeyboard focus order and availability.
titlestringTitle or supplementary information.
type"button" | "submit" | "reset"Operation type or mode; values depend on the component.
valuestring | number | readonly string[]Controlled value. Update it from the change callback.
variant"default" | "outline" | "ghost" | nullVisual variant. Use a value supported by this component.

TypeScript definition

Review each component's properties and published declaration. Native and accessibility attributes are inherited from the element specified by its type.

Toggle23 properties
Toggle · TypeScript
1Toggle: React.ForwardRefExoticComponent<ToggleProps & React.RefAttributes<HTMLButtonElement>>
API generated from @kivora/nextjs 0.2.0View package