Forms
Input
Text input with label, hint, icon slots, sizes, error / success states.
Basic Usage
Text inputs are the most common way to collect user data.
States
Error, success, hint and disabled states.
Please enter a valid email
Username is available
Check your email for a code
Icons & Addons
Attach icons to either edge of the input.
Prefix & Suffix
Attach static text labels to the edge of an input — useful for units or URLs.
https://.com
$USD
Clearable & Character Count
Allow users to one-click clear the field. Add a character counter with showCount.
0/100
Real-world Scenario: Live Search
Combining state, loading indicators, and card results for a smooth search experience.
Properties
| Prop | Type | Default | Description |
|---|---|---|---|
label | string | — | Floating label above the input |
hint | string | — | Helper text shown below |
error | string | — | Error message — sets error styling |
success | string | — | Success message — sets success styling |
size | BiibaSize | 'md' | Input height scale |
leftIcon | React.ReactNode | — | Icon/element rendered inside the left edge |
rightIcon | React.ReactNode | — | Icon/element rendered inside the right edge |
onRightIconClick | () => void | — | Clickable right icon callback |
rightAction | React.ReactNode | — | Action button rendered at the far right (outside input) e.g. "Search" |
prefix | React.ReactNode | — | Inline prefix text e.g. "https://" |
suffix | React.ReactNode | — | Inline suffix text e.g. ".com" |
required | boolean | — | Marks field as required and adds asterisk to label |
loading | boolean | — | Show a spinning loader inside the input |
clearable | boolean | — | Show a clear (×) button when input has a value |
showCount | boolean | — | Show a character counter — set maxLength on the input to cap |
labelSrOnly | boolean | — | Visually hide the label (still present for a11y) |