ricardosnery/nloading
| Install | |
|---|---|
composer require ricardosnery/nloading |
|
| Latest Version: | v0.1.1 |
| PHP: | ^8.2 |
| Laravel: | 12 · 13 |
| License: | MIT |
| Last Updated: | Sep 24, 2026 |
| Links: | GitHub · Packagist |
NLoading for Filament
Configurable loading overlay for Filament v5 page navigation and selected Livewire updates.
NLoading is free and open source under the MIT License. See LICENSE.
Requirements
- PHP 8.2+
- Laravel 12+
- Filament 5+
Installation
composer require ricardosnery/nloading
Register the plugin on each panel where the overlay should appear:
use RicardoSnery\NLoading\NLoadingPlugin;
return $panel
->plugin(NLoadingPlugin::make());
Filament publishes the plugin's CSS and JavaScript assets during its asset upgrade process. If needed, publish them manually:
php artisan filament:assets
Publish the configuration and views only if you need to edit them:
php artisan vendor:publish --tag=nloading-config
php artisan vendor:publish --tag=nloading-views
Configuration
Edit config/nloading.php:
return [
'enabled' => true,
'position' => 'center', // top, center, bottom, top-left, bottom-left, top-right, bottom-right
'logo' => null, // Public URL/path; null uses the Filament panel logo
'spinner' => null, // Public image URL/path; null uses the built-in CSS indicator
'spinner_animation' => true,
'indicator_position' => 'after', // before or after the message
'message' => null,
'delay' => 150,
'overlay' => [
'color' => '#0f172a',
'opacity' => 0.35, // 0 to 1
],
'navigation' => ['enabled' => true],
'livewire' => [
'enabled' => true,
'ignore_polling' => true,
'exclude_actions' => [],
],
];
Navigation and Livewire commits can be enabled independently. Livewire actions listed in exclude_actions are ignored. Polling components are ignored by default; set livewire.ignore_polling to false to include them. Concurrent Livewire requests are counted, and requests completed before the configured delay do not show the overlay.
Every option can also be set with an environment variable prefixed by NLOADING_:
| Environment variable | Config key | Default |
|---|---|---|
NLOADING_ENABLED |
enabled |
true |
NLOADING_POSITION |
position |
center |
NLOADING_LOGO |
logo |
empty; uses the Filament logo |
NLOADING_SPINNER |
spinner |
empty; uses the CSS indicator |
NLOADING_SPINNER_ANIMATION |
spinner_animation |
true |
NLOADING_INDICATOR_POSITION |
indicator_position |
after |
NLOADING_MESSAGE |
message |
empty |
NLOADING_DELAY |
delay |
150 ms |
NLOADING_OVERLAY_COLOR |
overlay.color |
#0f172a |
NLOADING_OVERLAY_OPACITY |
overlay.opacity |
0.35 |
NLOADING_NAVIGATION_ENABLED |
navigation.enabled |
true |
NLOADING_LIVEWIRE_ENABLED |
livewire.enabled |
true |
NLOADING_LIVEWIRE_IGNORE_POLLING |
livewire.ignore_polling |
true |
NLOADING_LIVEWIRE_EXCLUDE_ACTIONS |
livewire.exclude_actions |
empty |
NLOADING_LIVEWIRE_EXCLUDE_ACTIONS accepts comma-separated action names, for example NLOADING_LIVEWIRE_EXCLUDE_ACTIONS=refreshStats,updateClock.
The overlay view can be customized by publishing the views. The published file at resources/views/vendor/nloading/overlay.blade.php takes precedence over the package view. The indicator partial can also be overridden at resources/views/vendor/nloading/partials/indicator.blade.php.
License
NLoading is open source software licensed under the MIT License.
Support and contributions
Please use the GitHub issue tracker to report bugs or suggest improvements. Contributions are welcome.
Related Packages
A real-time notification bell for Filament v5 powered by Laravel Reverb and Live...
Filament v4 plugin: fully functional dynamic form builder (create, render, colle...
Display additional context as badges alongside a Filament table column or infoli...
A media picker and manager for Filament, with Glide-backed image transformations...
A modified version of the Filament Forms Repeater to display it as a table.
Version History
| Version | Released | PHP | Laravel | License |
|---|---|---|---|---|
| v0.1.1 | ^8.2 | ^12.0 | | MIT | |
| v0.1.0 | ^8.2 | ^12.0 | MIT |