Forms and selection · stable · MIT

Native Select

The platform single-select picker with Gummy shell and read-only extension.

Install editable source

Add Native Select

Base UI / canonicalnpx shadcn@latest add https://gummyui.dev/r/gummy-native-select.json

No package dependency beyond React. Shared Gummy material is resolved automatically.

Behavior contract

Semantics before surface

Semantics

A labelled native select with described-by and validation relationships.

Keyboard

Native platform select behavior.

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.

  • GummyNativeSelect

Prop contracts

GummyNativeSelectProps

Composes Omit<React.SelectHTMLAttributes<HTMLSelectElement>, "children" | "multiple" | "size"> & { children: React.ReactNode; label: React.ReactNode; description?: React.ReactNode; errorMessage?: React.ReactNode; successMessage?: React.ReactNode; optional?: boolean; readOnly?: boolean; wrapperClassName?: string; }

Troubleshooting

Check behavior before surface.

Implementation decisions

When to use Native Select

Use the native select for a short, stable set of mutually exclusive choices where platform behavior is an advantage. Provide a visible label, an honest placeholder only when no value is valid, and server validation for every submitted option. Group lengthy lists carefully rather than simulating search. Test keyboard and touch selection, long translations, disabled choices, validation recovery, high zoom, and forced-colour settings.

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 Native Select in context

Load the real component preview when you are ready to interact with its responsive, theme, and direction controls.

Editable source

Read before you install

Canonical Base UI or native source

The registry payload stays off the initial page request.