# TallStackUI: Input
> TallStackUI is a TALL Stack (Tailwind CSS, Alpine.js, Laravel, Livewire)
> component library providing 65+ Blade components for building modern web interfaces.
A versatile text input component with support for icons, prefix/suffix addons (text, slots, or buttons), clearable values, and automatic zero-stripping for numeric inputs.
## Basic Usage
```blade
```
```blade
```
```blade
```
```blade
```
## Attributes
| Attribute | Type | Default | Description |
|-------------|-----------------------------|---------|--------------------------------------------------------------|
| label | string\|ComponentSlot\|null | null | Label text displayed above the input |
| hint | string\|ComponentSlot\|null | null | Hint text displayed below the input |
| icon | string\|null | null | Icon name displayed inside the input |
| clearable | bool\|null | null | Shows a clear button when the input has a value |
| invalidate | bool\|null | null | Prevents displaying validation error messages for this input |
| strip-zeros | bool\|null | null | Strips leading zeros from the input value |
| position | string\|null | 'left' | Icon position: 'left' or 'right' |
| prefix | string\|ComponentSlot\|null | null | Prefix content (text string or slot with button/component) |
| suffix | string\|ComponentSlot\|null | null | Suffix content (text string or slot with button/component) |
## Slots
| Slot | Description |
|--------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| prefix | Prefix slot for rendering custom content (e.g., buttons) at the left side of the input. When using a ComponentSlot, the input renders in addon mode with button styling. |
| suffix | Suffix slot for rendering custom content (e.g., buttons) at the right side of the input. When using a ComponentSlot, the input renders in addon mode with button styling. |
## Validation Constraints
- The `icon` cannot be used with `prefix` or `suffix` at the same side (icon on left conflicts with prefix; icon on right conflicts with suffix).
- The `clearable` cannot be used with `suffix`.
## Soft Customization
Soft customization allows you to override default Tailwind CSS classes used by this component at runtime, either through a service provider or scoped per-instance.
### Customization
```php
TallStackUi::customize()
->form('input')
->block('input.base', 'your-tailwind-classes');
```
### Available Blocks
| Block Name | Purpose |
|--------------------------|----------------------------------------------------------|
| input.wrapper | Outer wrapper with ring and focus styles |
| input.base | Core input element styles |
| input.slot | Prefix/suffix text slot styles |
| input.color.base | Default ring and text colors |
| input.color.background | Background color for normal state |
| input.color.disabled | Background color for disabled/readonly state |
| input.paddings.prefix | Padding when prefix text is present |
| input.paddings.suffix | Padding when suffix text is present |
| input.paddings.left | Padding when icon is on the left |
| input.paddings.right | Padding when icon is on the right |
| input.paddings.clearable | Padding adjustment when both icon and clearable are used |
| input.addon.wrapper | Wrapper for addon (button) mode |
| input.addon.round.left | Left rounding removal for addon mode |
| input.addon.round.right | Right rounding removal for addon mode |
| input.addon.error | Error ring styles for addon wrapper |
| input.addon.button.base | Base styles for addon button containers |
| input.addon.button.left | Left addon button rounding |
| input.addon.button.right | Right addon button rounding |
| icon.wrapper | Icon container positioning |
| icon.paddings.left | Icon left-side padding |
| icon.paddings.right | Icon right-side padding |
| icon.size | Icon dimensions |
| icon.color | Icon color |
| clearable.wrapper | Clearable button container positioning |
| clearable.padding | Clearable button padding |
| clearable.size | Clearable icon dimensions |
| clearable.color | Clearable icon hover color |
| error | Error state ring and text styles |