@agala-labs/ui
Input
Captures a single line of text with optional icons and validation.
Examples
Default
<AgalaInput v-model="email" type="email" icon-start="mail" placeholder="you@example.com" />Import
import { AgalaInput } from '@agala-labs/ui'API
| Prop | Type | Default | Description |
|---|---|---|---|
modelValue | string | — | Value used by v-model. |
size | 'sm' | 'md' | 'lg' | 'md' | Control size. |
variant | 'default' | 'ghost' | 'default' | Visual treatment. |
type | string | 'text' | Native input type. |
placeholder | string | — | Placeholder text. |
iconStart / iconEnd | string | — | Agala icon names. |
iconEndActionable | boolean | false | Makes the trailing icon interactive. |
error | boolean | false | Sets invalid styling. |
errorMessage | string | — | Inline error copy. |
disabled / readonly | boolean | false | Native input states. |
inputId | string | — | ID bound to the native input; use for FormField htmlFor. |
ariaLabel | string | — | Accessible name bound to the native input. |
ariaLabelledby | string | — | Referenced label id bound to the native input. |
Events
update:modelValue(value: string)icon-end-click
Accessibility
For a visible label, pair with FormField. Invalid state is exposed with aria-invalid. inputId, ariaLabel, and ariaLabelledby bind to the native input, never the wrapper.