Label
- Anatomy
- Native label · stable copy · state meta
- Core API
required, optional, disabled, readOnly, meta- Use it well
- Use a visible label for every editable control. Keep instructions in a description.
Gummy UI documentation
The registry copies readable React, TypeScript, and CSS into your project. All 57 public categories use native or Base UI behavior, with Radix UI counterparts for all 22 applicable families; Gummy UI owns material anatomy and motion.
Start with the semantic theme and canonical Button in a clean shadcn-compatible application. Every other component declares its shared styles and component dependencies automatically.
npx shadcn@latest add https://gummyui.dev/r/gummy-base.json https://gummyui.dev/r/gummy-button.jsonComponents use stable semantic canvas, surface, ink, focus, and fruit variables. Dark mode changes the environment while keeping material identities intact.
--canvas--fruit-raspberry-core--fruit-grape-core--fruit-lime-core--fruit-tangerine-core--fruit-aqua-coreThe searchable index, detail routes, install commands, registry URLs, machine-readable API, sitemap, and agent index all derive from the same catalogue source.
These components use native browser semantics wherever possible. Labels, descriptions, validation messages, and editing content stay optically stable; the connected gel edge communicates hierarchy, focus, selection, success, and error.
required, optional, disabled, readOnly, metalabel, description, errorMessage, successMessage, orientation, densitylabel, resize, showCount, description, errorMessage, successMessagelabel, description, indeterminate, readOnly, onCheckedChangevalue, defaultValue, onValueChange, orientation, required, readOnlylabel, description, errorMessage, successMessage, readOnlyThe Button preserves stable text while the gel body expands, compresses, and rebounds. Every visual size keeps a minimum 44px touch target.
Native button semantics and disabled state.
Material, highlight, thickness, and press physics.
Readable label and loading cue above the optical layer.
Highlights follow geometry. Reservoirs grow from the same body; decorative blobs do not float nearby.
Keyboard, pointer, touch, disabled, loading, and reduced-motion paths are designed together.
Native semantics, visible focus, readable contrast, and automated axe checks are release requirements.
Content stays stable while flexible spans—not reservoirs—absorb width changes.
Unit tests, rendered checks, type checking, lint, production build, and visual audits all pass.
Start from the native element or Base UI primitive, document public anatomy, use shared tokens, keep decoration hidden from assistive technology, and prove every state in the Component Lab before adding a registry entry.