Forms and selection · stable · MIT

Toggle

A pressed-state button for one independent option.

Install editable source

Add Toggle

Base UI / canonicalnpx shadcn@latest add https://gummyui.dev/r/gummy-toggle.json
Radix UI counterpartnpx shadcn@latest add https://gummyui.dev/r/gummy-radix-toggle.json

Canonical dependency: @base-ui/react. Radix counterpart: @radix-ui/react-toggle. Registry dependencies are resolved automatically.

Behavior contract

Semantics before surface

Semantics

Base UI toggle renders a button with aria-pressed.

Keyboard

Enter or Space toggles.

System support

Light and dark themes, logical RTL layout, reduced motion, responsive content, and forwarded public refs.

Source-derived reference

Anatomy and public API

Exported anatomy

These public React parts are read directly from the canonical source during the documentation build.

  • GummyToggle

Prop contracts

GummyToggleProps

Composes Toggle.Props & { variant?: "quiet" | "fruit"; }

Troubleshooting

Check behavior before surface.

Live product source

Inspect the canonical states

The Component Lab exercises real source across default, focus, disabled, responsive, dark, reduced-motion, and RTL contexts.

Open the live Component Lab

Interactive inspection

Try Toggle in context

Resize the canvas, switch its theme, or reverse its reading direction without changing the rest of the page.

Width
Theme
Direction

Toggle preview: fluid width, light theme, left to right.

Radix UI counterpart

Try Toggle with Radix UI

This is the real separately installable Radix source using the same Gummy material and behavior contract.

Editable source

Read before you install

Canonical Base UI or native source

Loading editable source…

Radix UI counterpart

Loading editable source…