# `ShadcnUI.Components.Forms.NativeSelect`
[🔗](https://github.com/pcharbon70/shadcn_ui/blob/main/lib/shadcn_ui/components/forms/native_select.ex#L1)

Classic native select with validated caller-owned options.

Native Select preserves the browser picker, keyboard behavior, selected
values, reset, constraint validation, and ordinary form submission. Prompts
are explicit caller options; the package owns no placeholder or selection
policy.

# `native_select`

Renders one classic native select with deterministic field relationships.
## Attributes

* `field` (`:any`) - Defaults to `nil`.
* `id` (`:string`) - Defaults to `nil`.
* `name` (`:string`) - Defaults to `nil`.
* `value` (`:any`) - Defaults to `{:shadcn_ui, :not_provided}`.
* `options` (`:list`) (required)
* `errors` (`:any`) - Defaults to `{:shadcn_ui, :not_provided}`.
* `error_mode` (`:atom`) - Defaults to `:used_input`. Must be one of `:used_input`, `:always`, or `:hidden`.
* `used` (`:boolean`) - Defaults to `false`.
* `translate_error` (`:any`) - Defaults to `nil`.
* `pending` (`:boolean`) - Defaults to `false`.
* `required` (`:boolean`) - Defaults to `false`.
* `optional` (`:boolean`) - Defaults to `false`.
* `disabled` (`:boolean`) - Defaults to `false`.
* `multiple` (`:boolean`) - Defaults to `false`.
* `size` (`:atom`) - Defaults to `:default`. Must be one of `:small`, `:default`, or `:large`.
* `form` (`:string`) - Defaults to `nil`.
* `describedby` (`:any`) - Defaults to `nil`.
* `class` (`:any`) - Defaults to `nil`.
* `field_class` (`:any`) - Defaults to `nil`.
* Global attributes are accepted. Supports all globals plus: `["autofocus"]`.
## Slots

* `label` (required)
* `help`

---

*Consult [api-reference.md](api-reference.md) for complete listing*
