Skip to content

Input ​

Use bo-input for single-line values with optional labels, helper text, icons, and validation states.

Usage ​

<bo-input label="Email" placeholder="you@example.com" />

Description and validation ​

Use description for supporting text and error with state="invalid" for failed validation.

Choose a public name.
Code not found.
<div class="grid gap-3">
  <bo-input label="Username" description="Choose a public name." />
  <bo-input label="Invite code" state="invalid" error="Code not found." />
</div>

Types ​

The type prop maps to the native input type. reveal-password adds a password visibility control.

<div class="grid gap-3">
  <bo-input label="Email" type="email" />
  <bo-input v-model="password" label="Password" type="password" reveal-password />
</div>

API ​

Prop / event / slotTypeDefaultDescription
id / dataTestIdstringautogeneratedInput attributes.
modelValuestring''Value used by v-model.
typenative input typetextInput value type.
label / descriptionstring-Visible label and supporting text.
placeholder / namestring-Empty hint and native form name.
statedefault | valid | invaliddefaultValidation appearance.
error / hintstring-Validation or supporting text. description takes precedence over hint.
required / disabled / readOnly / autofocusbooleanfalseNative input states.
prefixIcon / suffixIconIcon-Icons inside the input.
revealPasswordbooleanfalseShows a password visibility toggle when a value exists.
fullWidthbooleanfalseFills the available width.
role / ariaLabel / ariaDescribedBy / ariaInvalidnative accessibility typestextbox / -Input semantics; description and error are wired automatically unless overridden.
update:modelValueevent-Emitted when the value changes.
focus / blur / changenative component events-Emitted from the native input.
prefixIconClick / suffixIconClickevent-Emitted when an icon container is clicked.
default / topRightContentslot-Additional content and content beside the label.
focusexposed method-Focuses the native input.

Released under the MIT License.