---import { NativeSelect, NativeSelectOption } from '@bejamas/ui/components/native-select';---
<NativeSelect class="w-[200px]"> <NativeSelectOption value="">Select a fruit</NativeSelectOption> <NativeSelectOption value="apple">Apple</NativeSelectOption> <NativeSelectOption value="banana">Banana</NativeSelectOption> <NativeSelectOption value="cherry">Cherry</NativeSelectOption></NativeSelect>Installation
Section titled “Installation”bunx bejamas add native-selectnpx bejamas add native-selectpnpm dlx bejamas add native-selectyarn dlx bejamas add native-select---import { NativeSelect, NativeSelectOption, NativeSelectOptGroup,} from '@bejamas/ui/components/native-select';---
<NativeSelect> <NativeSelectOption value="">Select a fruit</NativeSelectOption> <NativeSelectOption value="apple">Apple</NativeSelectOption> <NativeSelectOption value="banana">Banana</NativeSelectOption></NativeSelect>Native Select vs Select
Section titled “Native Select vs Select”Use NativeSelect when you need standard browser form behavior — native validation, mobile-optimized pickers, and zero JavaScript. Use Select when you need a custom-styled dropdown with keyboard navigation, grouped items, and rich content.
Examples
Section titled “Examples”With Groups
Section titled “With Groups”---import { NativeSelect, NativeSelectOptGroup, NativeSelectOption } from '@bejamas/ui/components/native-select';---
<NativeSelect class="w-[200px]"> <NativeSelectOptGroup label="Fruits"> <NativeSelectOption value="apple">Apple</NativeSelectOption> <NativeSelectOption value="banana">Banana</NativeSelectOption> </NativeSelectOptGroup> <NativeSelectOptGroup label="Vegetables"> <NativeSelectOption value="carrot">Carrot</NativeSelectOption> <NativeSelectOption value="broccoli">Broccoli</NativeSelectOption> </NativeSelectOptGroup></NativeSelect>---import { NativeSelect, NativeSelectOption } from '@bejamas/ui/components/native-select';---
<div class="flex flex-col items-start gap-4 sm:flex-row"> <NativeSelect class="w-[180px]" size="sm"> <NativeSelectOption value="">Small (h-8)</NativeSelectOption> <NativeSelectOption value="apple">Apple</NativeSelectOption> <NativeSelectOption value="banana">Banana</NativeSelectOption> </NativeSelect> <NativeSelect class="w-[180px]" size="default"> <NativeSelectOption value="">Default (h-9)</NativeSelectOption> <NativeSelectOption value="apple">Apple</NativeSelectOption> <NativeSelectOption value="banana">Banana</NativeSelectOption> </NativeSelect> <NativeSelect class="w-[180px]" size="lg"> <NativeSelectOption value="">Large (h-10)</NativeSelectOption> <NativeSelectOption value="apple">Apple</NativeSelectOption> <NativeSelectOption value="banana">Banana</NativeSelectOption> </NativeSelect></div>Disabled
Section titled “Disabled”---import { NativeSelect, NativeSelectOption } from '@bejamas/ui/components/native-select';---
<NativeSelect disabled class="w-[200px]"> <NativeSelectOption value="apple">Apple</NativeSelectOption> <NativeSelectOption value="banana">Banana</NativeSelectOption></NativeSelect>Invalid
Section titled “Invalid”---import { NativeSelect, NativeSelectOption } from '@bejamas/ui/components/native-select';---
<NativeSelect aria-invalid="true" class="w-[200px]"> <NativeSelectOption value="">Select a fruit</NativeSelectOption> <NativeSelectOption value="apple">Apple</NativeSelectOption> <NativeSelectOption value="banana">Banana</NativeSelectOption></NativeSelect>