Text area
listens-textarea@listenssoft/speechui-angularMulti-line dictation with no value filter — say the command and keep talking.
The text area is the text field pattern without a type filter: free text, streamed into the value while you speak, flushed to onMatch once when listening stops. Everything about matching, claims, and the contains fallback is identical.
Dictating multi-line text
Loading the Angular kit…
Hold anywhere and say:“notes approach was nominal”“notes crew is go for launch”
Props
- default command
- default false
Angular
Updates as you tick propsimport { Component } from "@angular/core";import { FormsModule } from "@angular/forms";import { ListensTextAreaComponent } from "@listenssoft/speechui-angular";
@Component({ selector: "demo-text-area", imports: [ListensTextAreaComponent, FormsModule], template: ` <listens-textarea label="Notes" command="notes" [rows]="4" placeholder="Dictate mission notes…" [(ngModel)]="notes" /> `,})export class DemoTextArea { notes = "";}What you can say
| Say | Effect |
|---|---|
| “notes all systems nominal” | Starts-with match: streams “all systems nominal” into the value as you speak. |
| “the notes say all clear” | Contains fallback: sets the value to the words after the command (“say all clear”) if nothing else claimed the phrase. |
onMatch fires once, when listening stops, with the final accumulated value.
API reference
Angular inputs & outputs for @listenssoft/speechui-angular.
Inputs
| Input | Type | Default | Description |
|---|---|---|---|
rows | number | — | Native rows attribute. |
placeholder | string | "" | Native placeholder. |
listeningContent | string | command | Text shown as the label while the mic is open. |
disabled | boolean | false | Disables the textarea; forms setDisabledState toggles it too. |
Extra inputs
| Input | Type | Default | Description |
|---|---|---|---|
value | string | "" | Two-way bindable — [(value)]; also ngModel / formControlName (ControlValueAccessor). |
command | string | label | The spoken prefix that starts dictation. |
label | string | "" | Label above the textarea; the command fallback. |
name | string | — | Native name attribute. |
Outputs
| Output | Type | Default | Description |
|---|---|---|---|
valueChange | string | — | Every value change — the [(value)] channel. |
matched | string | — | Fires once when listening stops, with the final accumulated value. |
Styling hooks
CSS hooks
| Hook | Type | Default | Description |
|---|---|---|---|
.listens-textarea (root) | class | — | Same part convention: -label, -input. |
data-listening | attribute | — | On the root while the mic is open. |
Behavior notes
- All frameworks: No
typefilter by design — multi-line dictation is free text.





