Props
| Name | Type | Default | Description |
|---|---|---|---|
append:icon | string | undefined | - | Name of the icon to be added at the end of the input. |
autocomplete | string | undefined | - | Guides to the browser as to the type of information expected in the field. |
autofocus | Booleanish | undefined | - | Sets autofocus on page load. |
autoGrow | boolean | undefined | false | Expands the textarea to match its content. Drops the native resize handle and grows the field to fit its content, animated through |
clearable | boolean | undefined | false | Displays a clear button when the input has a value and is being interacted with. Same behaviour as on BbTextInput: no |
compact | boolean | undefined | false | Sets the component in a compact state. See example |
description | string | undefined | - | Descriptive text displayed below the label and above the input. Unlike the hint it is always
visible, and it is linked to the input via |
direction | InputDirection | undefined | - | Direction of the layout of the component. Can either be a predefined value or a
pattern separated by a space like Applies only while the resolved label mode is |
disabled | boolean | undefined | false | Disables the component. |
errors | string | string[] | undefined | - | Can be a string or an array of string containing the messages to display.
They render in an Also the way a character counter reaches assistive tech — a |
hasErrors | boolean | undefined | false | Define if the component should be in an error state. It usually attaches a CSS class for styling purposes. |
hasWarnings | boolean | undefined | false | Define if the component should be in a warning state.
Same chrome as errors with |
hideLabel | boolean | undefined | false | Visually hides the label of the input while maintaining accessibility. |
hint | string | undefined | - | Text box to be displayed near the input, usually to indicate instructions. See example |
id | string | undefined | - | The identifier of the component. |
labelrequired | string | - | Text content of the label of the element. Required, and display and accessibility only — it does not set |
labelMode | "outside" | "floating" | "inside" | undefined | - | Label rendering mode. Works exactly as on BbTextInput, including the |
labelPosition | "left" | "center" | "right" | undefined | - | Sets the text alignment of the label. |
loading | boolean | undefined | false | Sets the component in a loading state, usually triggering some visual styles. Visual only — the field stays editable during an autosave round-trip. See example |
modelValuerequired | string | null | - | Used by v-model. |
name | string | undefined | - | Defines the name of the input. Unset, the rendered |
persistentHint | boolean | undefined | false | Keeps the hint displayed. |
placeholder | string | undefined | - | String displayed when there's no data. |
prepend:icon | string | undefined | - | Name of the icon to be added at the start of the input. |
pt | PtMap<TextControlPtPart, FormControlPtState> | undefined | - | Passthrough, object form: |
pt:box | PtValue | undefined | - | |
pt:box:disabled | PtValue | undefined | - | |
pt:box:errors | PtValue | undefined | - | |
pt:box:has-value | PtValue | undefined | - | |
pt:box:loading | PtValue | undefined | - | |
pt:box:readonly | PtValue | undefined | - | |
pt:box:warnings | PtValue | undefined | - | |
pt:clear | PtValue | undefined | - | |
pt:clear:disabled | PtValue | undefined | - | |
pt:clear:errors | PtValue | undefined | - | |
pt:clear:has-value | PtValue | undefined | - | |
pt:clear:loading | PtValue | undefined | - | |
pt:clear:readonly | PtValue | undefined | - | |
pt:clear:warnings | PtValue | undefined | - | |
pt:description | PtValue | undefined | - | |
pt:description:disabled | PtValue | undefined | - | |
pt:description:errors | PtValue | undefined | - | |
pt:description:has-value | PtValue | undefined | - | |
pt:description:loading | PtValue | undefined | - | |
pt:description:readonly | PtValue | undefined | - | |
pt:description:warnings | PtValue | undefined | - | |
pt:hint | PtValue | undefined | - | |
pt:hint:disabled | PtValue | undefined | - | |
pt:hint:errors | PtValue | undefined | - | |
pt:hint:has-value | PtValue | undefined | - | |
pt:hint:loading | PtValue | undefined | - | |
pt:hint:readonly | PtValue | undefined | - | |
pt:hint:warnings | PtValue | undefined | - | |
pt:icon | PtValue | undefined | - | |
pt:icon:disabled | PtValue | undefined | - | |
pt:icon:errors | PtValue | undefined | - | |
pt:icon:has-value | PtValue | undefined | - | |
pt:icon:loading | PtValue | undefined | - | |
pt:icon:readonly | PtValue | undefined | - | |
pt:icon:warnings | PtValue | undefined | - | |
pt:input | PtValue | undefined | - | |
pt:input:disabled | PtValue | undefined | - | |
pt:input:errors | PtValue | undefined | - | |
pt:input:has-value | PtValue | undefined | - | |
pt:input:loading | PtValue | undefined | - | |
pt:input:readonly | PtValue | undefined | - | |
pt:input:warnings | PtValue | undefined | - | |
pt:label | PtValue | undefined | - | |
pt:label:disabled | PtValue | undefined | - | |
pt:label:errors | PtValue | undefined | - | |
pt:label:has-value | PtValue | undefined | - | |
pt:label:loading | PtValue | undefined | - | |
pt:label:readonly | PtValue | undefined | - | |
pt:label:warnings | PtValue | undefined | - | |
pt:message | PtValue | undefined | - | |
pt:message:disabled | PtValue | undefined | - | |
pt:message:errors | PtValue | undefined | - | |
pt:message:has-value | PtValue | undefined | - | |
pt:message:loading | PtValue | undefined | - | |
pt:message:readonly | PtValue | undefined | - | |
pt:message:warnings | PtValue | undefined | - | |
pt:prefix | PtValue | undefined | - | |
pt:prefix:disabled | PtValue | undefined | - | |
pt:prefix:errors | PtValue | undefined | - | |
pt:prefix:has-value | PtValue | undefined | - | |
pt:prefix:loading | PtValue | undefined | - | |
pt:prefix:readonly | PtValue | undefined | - | |
pt:prefix:warnings | PtValue | undefined | - | |
pt:root | PtValue | undefined | - | |
pt:root:disabled | PtValue | undefined | - | |
pt:root:errors | PtValue | undefined | - | |
pt:root:has-value | PtValue | undefined | - | |
pt:root:loading | PtValue | undefined | - | |
pt:root:readonly | PtValue | undefined | - | |
pt:root:warnings | PtValue | undefined | - | |
pt:spinner | PtValue | undefined | - | |
pt:spinner:disabled | PtValue | undefined | - | |
pt:spinner:errors | PtValue | undefined | - | |
pt:spinner:has-value | PtValue | undefined | - | |
pt:spinner:loading | PtValue | undefined | - | |
pt:spinner:readonly | PtValue | undefined | - | |
pt:spinner:warnings | PtValue | undefined | - | |
pt:suffix | PtValue | undefined | - | |
pt:suffix:disabled | PtValue | undefined | - | |
pt:suffix:errors | PtValue | undefined | - | |
pt:suffix:has-value | PtValue | undefined | - | |
pt:suffix:loading | PtValue | undefined | - | |
pt:suffix:readonly | PtValue | undefined | - | |
pt:suffix:warnings | PtValue | undefined | - | |
readonly | boolean | undefined | false | Sets the input in a readonly state. |
required | boolean | undefined | false | Sets the input as required. |
reverse | boolean | undefined | false | Reverses the layout. Applicable in every direction the order of the label and the input is swapped. |
rows | string | number | undefined | - | Sets the number of visible text lines for the control. On its own, a fixed height with the native resize handle. With |
variant | InputVariantType | undefined | 'outline' | Visual variant of the field box — the same names and tokens as the
|
warnings | string | string[] | undefined | - | Warning messages to display beneath the field, in their own |
v-model
Values kept in sync through v-model.
| Name | Type | Description |
|---|---|---|
modelValue | string | null |
|
Events
| Name | Type | Description |
|---|---|---|
blur | (event: "blur", event: FocusEvent): void | |
change | (event: "change", event: Event): void | |
click | (event: "click", event: MouseEvent): void | |
compositionend | (event: "compositionend", event: CompositionEvent): void | |
compositionstart | (event: "compositionstart", event: CompositionEvent): void | |
focus | (event: "focus", event: FocusEvent): void | |
input | (event: "input", event: Event): void | Also |
keydown | (event: "keydown", event: KeyboardEvent): void | Forwarded, but not bubbled: the component calls |
keyup | (event: "keyup", event: KeyboardEvent): void | |
mousedown | (event: "mousedown", event: MouseEvent): void | |
mouseup | (event: "mouseup", event: MouseEvent): void | |
paste | (event: "paste", event: ClipboardEvent): void | |
update:modelValue | (event: "update:modelValue", value: string | null): void |
Slots
The listed properties are the ones exposed to the slot scope.
| Name | Type | Description |
|---|---|---|
append | Record<string, never> | Content rendered after the textarea, at the end of the inner container. |
append-outer | Record<string, never> | Content rendered after the entire textarea control, outside the input chrome. |
description | BbTextareaDescriptionSlotProps | Replaces the description text. Provided alone (no |
label | BbTextareaLabelSlotProps | Replaces the default label text rendered above the textarea. |
prefix | Record<string, never> | Inline content rendered at the start of the textarea field area, before the text. |
prepend | Record<string, never> | Content rendered before the textarea, at the start of the inner container. |
prepend-outer | Record<string, never> | Content rendered before the entire textarea control, outside the input chrome. |
suffix | Record<string, never> | Inline content rendered at the end of the textarea field area, after the text. The home for a character counter: beside the value rather than below it, where it would compete with the hint. See example |
Changes from v2
Props removed or renamed in 3.0. If you are coming from v2, the answer is here.
hasWarninghasWarningsfails silently