# TallStackUI: Tag
> TallStackUI is a TALL Stack (Tailwind CSS, Alpine.js, Laravel, Livewire)
> component library providing 65+ Blade components for building modern web interfaces.
A tag input component that allows users to add multiple tag values by pressing Enter, with individual tag removal, a bulk erase button, optional prefix character filtering, and configurable tag limits. The value is stored as an array.
## Basic Usage
```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 |
| prefix | string\|null | null | A single character prefix automatically prepended to each tag |
| limit | int\|null | null | Maximum number of tags allowed |
| invalidate | bool\|null | null | Prevents displaying validation error messages |
## Alpine.js Events
| Event | Description |
|-------------|-------------------------------------------------|
| x-on:remove | Triggered when an individual tag is removed |
| x-on:erase | Triggered when the bulk erase button is clicked |
## Validation Constraints
- The `prefix` must be a single character.
## Event Payload Details
```blade
```
Note: for the `erase` event the key is `$event.detail.tags` (plural), not `$event.detail.tag`.
## 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('tag')
->block('wrapper', 'your-tailwind-classes');
```
### Available Blocks
| Block Name | Purpose |
|------------------------|------------------------------------------------|
| wrapper | Flex container for tags and input |
| label.base | Individual tag badge styles |
| label.icon | Tag remove icon size and color |
| input.base | Inner text input styles |
| input.color.base | Default ring and text colors |
| input.color.background | Background color |
| input.color.disabled | Disabled/readonly background color |
| input.slot | Slot text styles (prefix/suffix area) |
| input.wrapper | Outer input wrapper with ring and focus styles |
| button.wrapper | Erase button positioning |
| button.icon | Erase button icon size and hover color |
| error | Error state ring and text styles |