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.