Combobox

A filterable select with a spoken trigger word: “destination” opens it, “Mars” picks it.

The command word toggles the dropdown. While it's open, spoken words match options (aliases included) — a full match selects and closes; a partial match narrows the visible list, so “euro” filters to Europa. Saying “clear” shortly after the command empties the selection. Typing filters exactly the same way.

Basic combobox

Loading the Angular kit…

Hold anywhere and say:“destination”“destination mars”“clear (after the command)”

Props

  • default false
  • default command
Angular
Updates as you tick props
import { Component } from "@angular/core";import { ListensComboBoxComponent } from "@listenssoft/speechui-angular";
@Component({  selector: "demo-combobox",  imports: [ListensComboBoxComponent],  template: `    <listens-combobox      label="Destination"      command="destination"      [options]="['Luna', 'Mars', 'Europa', 'Titan', 'Ganymede']"      placeholder="Choose a destination…"      [(value)]="destination"    />  `,})export class DemoComboBox {  destination = "";}

What you can say

SayEffect
“destination”Toggles the dropdown. If it was already open with nothing after the word, a brief close-delay runs — you might be about to name an option.
“destination mars”Opens and selects Mars in one phrase.
“europa (while open)”Selects it. Speech only matches options while the dropdown is open — a closed box ignores stray speech.
“euro (while open)”No full match: narrows the list to options containing the fragment.
“clear”Empties the selection — recognized within ~8 seconds of the command word.

The dropdown never opens from stray speech: only the command word, autoOpenOnListening, or a click opens it.

API reference

Angular inputs & outputs for @listenssoft/speechui-angular.

Inputs

InputTypeDefaultDescription
placeholderstring""Input placeholder.
autoOpenOnListeningbooleanfalseOpen when listening starts (empty selection only).
listeningContentstringcommandLabel text while the mic is open.

Extra inputs

InputTypeDefaultDescription
valuestring""Two-way bindable — [(value)]. (No ControlValueAccessor: this control mirrors the React controlled-props idiom.)
optionsstring[][]The selectable options.
commandstringlabelThe spoken trigger word.
labelstring""Visible label; the command fallback.
aliasesRecord<string, string[]>{}Spoken aliases per option.

Outputs

OutputTypeDefaultDescription
valueChangestring—The [(value)] channel.
changestring—Emits when a value is committed — select or clear.

Styling hooks

CSS hooks

HookTypeDefaultDescription
.listens-combobox (root)class—Same part classes as React.
data-open / data-listeningattribute—State attributes on the root.

Behavior notes

  • All frameworks: The close-delay timer (≈1.5s after a bare command word) lives in the component; the interpreter is told when it fires so debouncing stays correct.

Was this page helpful?