Forms
Native Select Field
Accessible grouped native select with a label, description, invalid state, and mobile device picker.
$ velocityx add standard-native-select-field Built for astro.
Full docs for Native Select Field →
Needs a licence key —
subscribe here, then
velocityx loginonce.
Native selection keeps the device's familiar picker on mobile.
Props
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| name | string | Yes | ||
| label | string | Yes | ||
| options | Option[] | No | [] | |
| groups | Group[] | No | [] | |
| id | string | No | `native-select-${globalThis.crypto?.randomUUID?.() ?? Math.random().toString(36).slice(2)}` | |
| placeholder | string | No | 'Choose an option' | |
| defaultValue | string | No | '' | |
| description | string | No | ||
| error | string | No | ||
| required | boolean | No | false | |
| disabled | boolean | No | false | |
| className | string | No | '' |
File this creates
The CLI writes this path into your project, relative to its root — nothing else moves.
components/velocity/standard-native-select-field/NativeSelectField.astro Using the Native Select Field component
Install it with velocityx add standard-native-select-field.
The CLI writes the source straight into your project — no runtime dependency, no registry
lock-in, and it themes itself from the same primary-*/accent-* scale as the rest of the library.
Related components
More from Forms.
Multi-select add-on cards with the radio-card visual language but native checkbox semantics, zero JS.
astroSingle-column name/email/subject/message contact form with a honeypot field, Netlify Forms opt-in, and a presentational action prop.
astroTwo-column contact layout with a named aside slot for a map or office photo, stacking to one column on mobile.
astroVertical catalog filter stack with collapsible checkbox groups and a price range, built on native details elements.
astro