- Prop
models- Type
readonly ModelOption[] | undefined- Default
- —
- Requirement
- optional
Docs Components Assistant
ModelSelector
React example follows below.
Vue example follows below.
Angular example follows below.
Svelte example follows below.
Solid example follows below.
- parts
- —
- nodes
- —
- size
- —
- part
- —
ts
import { ModelSelector } from "@grassroot/ui-react/assistant";import { assistantDemoModels } from "@grassroot/demo-fixtures"; export default function ModelSelectorDemo() { return <ModelSelector models={assistantDemoModels} model="opus" effort="medium" />;}- parts
- —
- nodes
- —
- size
- —
- part
- —
ts
<script setup lang="ts">import { ModelSelector } from "@grassroot/ui-vue/assistant";import { assistantDemoModels } from "@grassroot/demo-fixtures";</script> <template> <ModelSelector :models="assistantDemoModels" model="opus" effort="medium" /></template>- parts
- —
- nodes
- —
- size
- —
- part
- —
ts
import "./ensure-compiler";import { ChangeDetectionStrategy, Component } from "@angular/core";import { GrassrootModelSelector } from "@grassroot/ui-angular/assistant";import { assistantDemoModels } from "@grassroot/demo-fixtures"; @Component({ selector: "app-model-selector-demo", standalone: true, imports: [GrassrootModelSelector], changeDetection: ChangeDetectionStrategy.OnPush, template: `<grassroot-model-selector [models]="models" model="opus" effort="medium" />`,})export class ModelSelectorDemoComponent { protected readonly models = assistantDemoModels;} export default ModelSelectorDemoComponent;- parts
- —
- nodes
- —
- size
- —
- part
- —
ts
<script lang="ts"> import { ModelSelector } from "@grassroot/ui-svelte/assistant"; import { assistantDemoModels } from "@grassroot/demo-fixtures";</script> <ModelSelector models={assistantDemoModels} model="opus" effort="medium" />- parts
- —
- nodes
- —
- size
- —
- part
- —
ts
/** @jsxImportSource solid-js */import { ModelSelector } from "@grassroot/ui-solid/assistant";import { assistantDemoModels } from "@grassroot/demo-fixtures"; export default function ModelSelectorDemo() { return <ModelSelector models={assistantDemoModels} model="opus" effort="medium" />;}Installation
API Reference
Import
import { ModelSelector } from "@grassroot/ui-react/assistant";
import { assistantDemoModels } from "@grassroot/demo-fixtures";
Props
Prop
Type
Default
Requirement
modelsreadonly ModelOption[] | undefined—
optional
modelstring | undefined—
optional
effortstring | undefined—
optional
effortsreadonly string[] | undefined—
optional
onModelChange((model: ModelOption) => void) | undefined—
optional
onEffortChange((effort: ModelEffort) => void) | undefined—
optional
onModelContextChange((context: ModelContextRegistration) => void) | undefined—
optional
- Prop
model- Type
string | undefined- Default
- —
- Requirement
- optional
- Prop
effort- Type
string | undefined- Default
- —
- Requirement
- optional
- Prop
efforts- Type
readonly string[] | undefined- Default
- —
- Requirement
- optional
- Prop
onModelChange- Type
((model: ModelOption) => void) | undefined- Default
- —
- Requirement
- optional
- Prop
onEffortChange- Type
((effort: ModelEffort) => void) | undefined- Default
- —
- Requirement
- optional
- Prop
onModelContextChange- Type
((context: ModelContextRegistration) => void) | undefined- Default
- —
- Requirement
- optional
Events
| Event | Payload |
|---|---|
onModelChange | ((model: ModelOption) => void) | undefined |
onEffortChange | ((effort: ModelEffort) => void) | undefined |
onModelContextChange | ((context: ModelContextRegistration) => void) | undefined |
Native attributes
Standard DOM and ARIA attributes not listed above spread onto the root element.
Import
import { ModelSelector } from "@grassroot/ui-vue/assistant";
import { assistantDemoModels } from "@grassroot/demo-fixtures";
Props
Prop
Type
Default
Requirement
modelsModelOption[]() => []optional
modelstring—
optional
effortstring—
optional
effortsstring[]() => ["low", "medium", "high"]optional
- Prop
models- Type
ModelOption[]- Default
() => []- Requirement
- optional
- Prop
model- Type
string- Default
- —
- Requirement
- optional
- Prop
effort- Type
string- Default
- —
- Requirement
- optional
- Prop
efforts- Type
string[]- Default
() => ["low", "medium", "high"]- Requirement
- optional
Events
| Event | Payload |
|---|---|
modelChange | (ModelOption) => void |
effortChange | (ModelEffort) => void |
modelContextChange | ({ modelName: string; reasoningEffort: ModelEffort; }) => void |
Import
import "./ensure-compiler";
import { ChangeDetectionStrategy, Component } from "@angular/core";
import { GrassrootModelSelector } from "@grassroot/ui-angular/assistant";
import { assistantDemoModels } from "@grassroot/demo-fixtures";
Props
Prop
Type
Default
Requirement
modelsreadonly ModelOption[][]optional
modelstring—
optional
effortstring—
optional
effortsreadonly string[]["low", "medium", "high"]optional
- Prop
models- Type
readonly ModelOption[]- Default
[]- Requirement
- optional
- Prop
model- Type
string- Default
- —
- Requirement
- optional
- Prop
effort- Type
string- Default
- —
- Requirement
- optional
- Prop
efforts- Type
readonly string[]- Default
["low", "medium", "high"]- Requirement
- optional
Events
| Event | Payload |
|---|---|
modelChange | ModelOption |
effortChange | ModelEffort |
modelContextChange | { modelName: string; reasoningEffort: ModelEffort } |
Import
import { ModelSelector } from "@grassroot/ui-svelte/assistant";
import { assistantDemoModels } from "@grassroot/demo-fixtures";
Props
Prop
Type
Default
Requirement
modelsreadonly ModelOption[]—
optional
modelstring—
optional
effortstring—
optional
effortsreadonly string[]—
optional
onModelChange(model: ModelOption) => void—
optional
onEffortChange(effort: ModelEffort) => void—
optional
onModelContextChange(context: { modelName: string; reasoningEffort: ModelEffort }) => void—
optional
classstring—
optional
stylestring—
optional
- Prop
models- Type
readonly ModelOption[]- Default
- —
- Requirement
- optional
- Prop
model- Type
string- Default
- —
- Requirement
- optional
- Prop
effort- Type
string- Default
- —
- Requirement
- optional
- Prop
efforts- Type
readonly string[]- Default
- —
- Requirement
- optional
- Prop
onModelChange- Type
(model: ModelOption) => void- Default
- —
- Requirement
- optional
- Prop
onEffortChange- Type
(effort: ModelEffort) => void- Default
- —
- Requirement
- optional
- Prop
onModelContextChange- Type
(context: { modelName: string; reasoningEffort: ModelEffort }) => void- Default
- —
- Requirement
- optional
- Prop
class- Type
string- Default
- —
- Requirement
- optional
- Prop
style- Type
string- Default
- —
- Requirement
- optional
Events
| Event | Payload |
|---|---|
onModelChange | (model: ModelOption) => void |
onEffortChange | (effort: ModelEffort) => void |
onModelContextChange | (context: { modelName: string; reasoningEffort: ModelEffort }) => void |
Import
import { ModelSelector } from "@grassroot/ui-solid/assistant";
import { assistantDemoModels } from "@grassroot/demo-fixtures";
Props
Prop
Type
Default
Requirement
modelsreadonly ModelOption[]—
optional
modelstring—
optional
effortstring—
optional
effortsreadonly string[]—
optional
onModelChange(model: ModelOption) => void—
optional
onEffortChange(effort: ModelEffort) => void—
optional
onModelContextChange(context: ModelContextRegistration) => void—
optional
- Prop
models- Type
readonly ModelOption[]- Default
- —
- Requirement
- optional
- Prop
model- Type
string- Default
- —
- Requirement
- optional
- Prop
effort- Type
string- Default
- —
- Requirement
- optional
- Prop
efforts- Type
readonly string[]- Default
- —
- Requirement
- optional
- Prop
onModelChange- Type
(model: ModelOption) => void- Default
- —
- Requirement
- optional
- Prop
onEffortChange- Type
(effort: ModelEffort) => void- Default
- —
- Requirement
- optional
- Prop
onModelContextChange- Type
(context: ModelContextRegistration) => void- Default
- —
- Requirement
- optional
Events
| Event | Payload |
|---|---|
onModelChange | (model: ModelOption) => void |
onEffortChange | (effort: ModelEffort) => void |
onModelContextChange | (context: ModelContextRegistration) => void |
Content regions
children
Native attributes
Standard DOM and ARIA attributes not listed above spread onto the root element.