Semantics
A native button with variant, size, finish, loading, and disabled states.
Forms and selection · stable · MIT
The approved fruit-gel action with chewy press physics.
Install editable source
Behavior contract
A native button with variant, size, finish, loading, and disabled states.
Enter and Space activate the native button.
Light and dark themes, logical RTL layout, reduced motion, responsive content, and forwarded public refs.
Source-derived reference
These public React parts are read directly from the canonical source during the documentation build.
GummyButtonGummyButtonPropsComposes React.ButtonHTMLAttributes<HTMLButtonElement> & { variant?: GummyButtonVariant; size?: GummyButtonSize; finish?: GummyButtonFinish; loading?: boolean; loadingText?: React.ReactNode; }
Troubleshooting
Implementation decisions
Use a button for an action that changes state, submits data, opens a control, or starts a process; use a link when the result is navigation. Keep the visible label specific to the outcome and preserve native disabled, focus, keyboard, and form behavior. Loading feedback should name the ongoing work without erasing the original context. Test double activation, server rejection, destructive confirmation, permission changes, touch targets, high zoom, and completion announcements.
Live product source
The Component Lab exercises real source across default, focus, disabled, responsive, dark, reduced-motion, and RTL contexts.
Open the live Component LabInteractive inspection
Load the real component preview when you are ready to interact with its responsive, theme, and direction controls.
Editable source
The registry payload stays off the initial page request.