Toggle

Loading...

Installation

Install the component via the CLI in one command.

npx shadcn@latest add @intentui/toggle

Manual installation

Use this approach if you prefer to install and wire up the component yourself instead of using the CLI.

npm install react-aria-components tailwind-variants tailwind-merge

Examples

Intent

Customize the look of the toggle button using the intent prop.

Loading...

Size

Adjust the toggle button's size using the size prop.

Loading...

Controlled

Manage the toggle button's state with the isSelected prop.

Loading...

Disabled

Disable a toggle button by setting the disabled prop.

Loading...

Touch hitbox

Sometimes you may want to use this button with only an icon. In that case, you can apply the touch-target utility class on the sq-* size to increase the button’s hitbox for improved accessibility.

@utility touch-target {
  position: relative;
  &::before {
    content: "";
    position: absolute;
    display: block;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 100%;
    min-height: 44px;
    min-width: 44px;
    z-index: 9999;
  }
}

Component API

Toggle

Toggle extends the React Aria Components <ToggleButton> component.

classNamestring
intent"outline" | "plain"
Default: plain
isCircleboolean
Default: false
size"xs" | "sm" | "md" | "lg" | "sq-xs" | "sq-sm" | "sq-md" | "sq-lg"
Default: md

See the React Aria for the full API reference.

Design