Skip to content

Laravel Input Component

Free · MIT

Text input field with label, prefix/suffix, icons, validation errors, and Livewire support.

A Input built for the TALL stack — Blade, Livewire 3 & 4, Alpine.js and Tailwind CSS 4. Server-rendered by default, dark-mode ready, and WCAG-minded. Drop it in with a single Blade tag: <x-aura::input>

Installation

composer require bluestarsystem/aura-ui

Usage

<x-aura::input label="Email" name="email" type="email" placeholder="[email protected]" />

See the full API, props and live examples in the Input documentation.

Overview

The Input component renders a styled text input wrapped in a label/error/hint structure. It supports prefix and suffix content (both text and icons), multiple sizes, validation error display, hint text, and seamless Livewire wire:model binding. The component handles all standard HTML input types (text, email, password, number, etc.).

Use the input component for:

  • Text and email fields
  • Password inputs
  • Number inputs
  • Search fields
  • Any standard HTML input type

Props

Prop Type Default Description
label string|null null Label text displayed above the input
type string 'text' HTML input type: text, email, password, number, tel, url, etc.
placeholder string|null null Placeholder text
hint string|null null Helper text below the input (hidden when error is set)
error string|null null Validation error message (replaces hint when set)
prefix string|null null Text prefix inside the input (e.g., "$", "https://")
suffix string|null null Text suffix inside the input (e.g., "kg", ".com")
prefixIcon string|null null Icon name for the prefix position
suffixIcon string|null null Icon name for the suffix position
clearable bool false Show a clear button (reserved for future use)
disabled bool false Disable the input
readonly bool false Make the input read-only
size string 'md' Input size: sm, md, lg

All additional attributes (e.g., name, id, wire:model, required, min, max, step) are passed through to the <input> element.

Slots

The Input component does not use named slots. All content is controlled via props.

See more examples and every variant in the Input documentation.

Laravel-native
No JavaScript framework. Pure Blade, Livewire & Alpine.
Dark mode & themeable
Tailwind 4 CSS variables and a visual Theme Studio.
Accessible
WCAG 2.1 AA-minded, keyboard and ARIA support.