# TallStackUI: Clipboard > TallStackUI is a TALL Stack (Tailwind CSS, Alpine.js, Laravel, Livewire) > component library providing 65+ Blade components for building modern web interfaces. A copy-to-clipboard component with two display modes: an input field with a copy button, or a standalone icon-only trigger. Supports label, hint, secret masking, button placement, and custom copy/copied icons. ## Basic Usage ```blade ``` ```blade ``` ```blade ``` ## Attributes | Attribute | Type | Default | Description | |-----------|--------------|------------------------------------|--------------------------------------------------------------| | label | string\|null | null | Label displayed above the input (input mode only) | | hint | string\|null | null | Hint text displayed below the input (input mode only) | | text | string\|null | null | The text content to be copied to clipboard | | icon | bool | null | Switches to icon-only mode instead of the default input mode | | left | bool | false | Places the copy button on the left side of the input | | secret | bool | false | Masks the input as a password field | | icons | array\|null | ['copy' => null, 'copied' => null] | Custom icon names for the copy and copied states | ## Slots | Slot | Description | |-----------|-------------------------------------------------------------| | (default) | Fallback text content when `text` attribute is not provided | ## Validation Constraints - The `text` content cannot be empty (checked at runtime via the ClipboardRuntime class). The text can be provided via the `text` attribute or the default slot. - The translation keys `button.copy` and `button.copied` in `ts-ui::messages.clipboard` must not be blank. ## 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() ->clipboard() ->block('input.base', 'your-tailwind-classes'); ``` ### Available Blocks | Block Name | Purpose | |--------------------------|-------------------------------------------------| | input.wrapper | Input mode flex container | | input.buttons.base | Copy button base styles (both sides) | | input.buttons.left | Left-side button border radius | | input.buttons.right | Right-side button border radius | | input.buttons.icon.class | Button icon color and dimensions | | input.base | Input field base styles | | input.color.base | Input text and ring color | | input.color.background | Input background color | | input.color.disabled | Disabled state color styles for the input | | input.sides.left | Input border radius when button is on the left | | input.sides.right | Input border radius when button is on the right | | icon.wrapper | Icon-only mode wrapper (inline-flex, cursor) | | icon.icons.copy.name | Default icon name for the copy state | | icon.icons.copy.class | Copy icon color and dimensions | | icon.icons.copied.name | Default icon name for the copied state | | icon.icons.copied.class | Copied icon color and dimensions |