coringawc/filament-input-loading
A Filament Forms plugin that adds a loading spinner to TextInput fields when using Livewire's lazy() or debounce() binding modifiers. The spinner appears inside the input field while the server processes the update, giving users visual feedback.
⚠️ Compatibility: This plugin is built for Filament v2 (with Livewire v2). It is not compatible with Filament v3/v4/v5.

You can install the package via composer:
composer require coringawc/filament-input-loading
The package auto-discovers its service provider — no manual registration needed.
Replace Filament's default TextInput import with this package's version:
use CoringaWc\FilamentInputLoading\TextInput;
Then use lazy() or debounce() as you normally would — the loading spinner appears automatically:
// Spinner appears on blur (when the user leaves the field)
TextInput::make('name')->lazy()
// Spinner appears after a debounce delay while typing
TextInput::make('search')->debounce(500)
This package extends Filament\Forms\Components\TextInput and overrides its Blade view to inject a wire:loading spinner indicator. The spinner is positioned inside the input (right side) and only renders when isLazy() or isDebounced() returns true.
This plugin uses filament-plugin-workbench for development. A custom Docker image with PHP 8.1 is used for Filament v2 compatibility.
# Clone with submodules
git clone --recurse-submodules https://github.com/CoringaWc/filament-input-loading.git
cd filament-input-loading
# Start the development environment
./packages/workbench/bin/workbench up
# Run tests
./packages/workbench/bin/sail phpunit
# Static analysis
./packages/workbench/bin/sail phpstan
# Code style
./packages/workbench/bin/sail pint
The MIT License (MIT). Please see License File for more information.
How can I help you explore Laravel packages today?