Docs Components Primitives

NativeSelect

React example follows below.
ts
import { NativeSelect } from "@grassroot/ui-react";
export default function NativeSelectDemo() {
return (
<div className="flex flex-col gap-3.5">
<NativeSelect aria-label="Region" defaultValue="us-east">
<option value="us-east">us-east-1</option>
<option value="us-west">us-west-2</option>
</NativeSelect>
<NativeSelect aria-label="Region" invalid defaultValue="us-east">
</NativeSelect>
</div>
);
}
ts
<script setup lang="ts">
import { NativeSelect } from "@grassroot/ui-vue";
</script>
<template>
<div class="flex flex-col gap-3.5">
<NativeSelect aria-label="Region" default-value="us-east">
<option value="us-east">us-east-1</option>
<option value="us-west">us-west-2</option>
</NativeSelect>
<NativeSelect aria-label="Region" invalid default-value="us-east">…</NativeSelect>
</div>
</template>
ts
import { Component } from "@angular/core";
import { GrassrootNativeSelect } from "@grassroot/ui-angular";
@Component({
selector: "app-native-select-demo",
standalone: true,
imports: [GrassrootNativeSelect],
host: { style: "display: contents" },
template: `
<div class="flex flex-col gap-3.5">
<grassroot-native-select aria-label="Region" defaultValue="us-east">
<option value="us-east">us-east-1</option>
<option value="us-west">us-west-2</option>
</grassroot-native-select>
<grassroot-native-select aria-label="Region" [invalid]="true" defaultValue="us-east"
>…</grassroot-native-select
>
</div>
`,
})
export class NativeSelectDemoComponent {}
export default NativeSelectDemoComponent;
ts
<script lang="ts">
import { NativeSelect } from "@grassroot/ui-svelte";
</script>
<div class="flex flex-col gap-3.5">
<NativeSelect aria-label="Region" value="us-east">
<option value="us-east">us-east-1</option>
<option value="us-west">us-west-2</option>
</NativeSelect>
<NativeSelect aria-label="Region" invalid value="us-east">…</NativeSelect>
</div>
ts
/** @jsxImportSource solid-js */
import { NativeSelect } from "@grassroot/ui-solid";
export default function NativeSelectDemo() {
return (
<div class="flex flex-col gap-3.5">
<NativeSelect aria-label="Region" value="us-east">
<option value="us-east">us-east-1</option>
<option value="us-west">us-west-2</option>
</NativeSelect>
<NativeSelect aria-label="Region" invalid value="us-east">
</NativeSelect>
</div>
);
}

Installation

API Reference

Import

import { NativeSelect } from "@grassroot/ui-react";

Props

Prop
Type
Default
Requirement
Description
invalid
boolean | undefined
false
optional
Error state — crimson border.
Prop
invalid
Type
boolean | undefined
Default
false
Requirement
optional
Description
Error state — crimson border.

Content regions

  • children

Native attributes

Standard DOM and ARIA attributes not listed above spread onto the root element.

Import

import { NativeSelect } from "@grassroot/ui-vue";

Props

Prop
Type
Default
Requirement
modelValue
string | undefined
optional
defaultValue
string | undefined
optional
disabled
boolean | undefined
optional
invalid
boolean | undefined
false
optional
Prop
modelValue
Type
string | undefined
Default
Requirement
optional
Prop
defaultValue
Type
string | undefined
Default
Requirement
optional
Prop
disabled
Type
boolean | undefined
Default
Requirement
optional
Prop
invalid
Type
boolean | undefined
Default
false
Requirement
optional

Events

EventPayload
update:modelValue[value: string]

Content regions

  • default

Import

import { Component } from "@angular/core";
import { GrassrootNativeSelect } from "@grassroot/ui-angular";

Props

Prop
Type
Default
Requirement
value
string
optional
defaultValue
string
optional
disabled
boolean
false
optional
required
boolean
false
optional
name
string
optional
invalid
boolean
false
optional
"aria-label"
string | undefined
undefined
optional
Prop
value
Type
string
Default
Requirement
optional
Prop
defaultValue
Type
string
Default
Requirement
optional
Prop
disabled
Type
boolean
Default
false
Requirement
optional
Prop
required
Type
boolean
Default
false
Requirement
optional
Prop
name
Type
string
Default
Requirement
optional
Prop
invalid
Type
boolean
Default
false
Requirement
optional
Prop
"aria-label"
Type
string | undefined
Default
undefined
Requirement
optional

Events

EventPayload
valueChangestring

Content regions

  • default

Import

import { NativeSelect } from "@grassroot/ui-svelte";

Props

Prop
Type
Default
Requirement
value
string
optional
disabled
boolean
false
optional
invalid
boolean
false
optional
Prop
value
Type
string
Default
Requirement
optional
Prop
disabled
Type
boolean
Default
false
Requirement
optional
Prop
invalid
Type
boolean
Default
false
Requirement
optional

Content regions

  • children

Import

import { NativeSelect } from "@grassroot/ui-solid";

Props

Prop
Type
Default
Requirement
invalid
boolean
optional
className
string
optional
Prop
invalid
Type
boolean
Default
Requirement
optional
Prop
className
Type
string
Default
Requirement
optional

Content regions

  • children

Native attributes

Standard DOM and ARIA attributes not listed above spread onto the root element.