jeffersongoncalves/filament-flux-pro
Filament v5 plugin that wraps Livewire Flux Pro components as native Filament form fields, widgets, schema components, table columns, and page concerns (date pickers, editor, uploads, charts, tabs, kanban, command palette, etc.). Requires Flux Pro license.
Pros:
FluxEditor, FluxKanban, FluxChartWidget) as first-class citizens, enabling targeted upgrades without rewriting UI logic.useEverywhere() auto-binds Filament’s vanilla fields to Flux Pro equivalents, enabling incremental adoption (e.g., replace RichEditor with FluxEditor without code changes).Cons:
livewire/flux-pro, adding cost and vendor lock-in. The wrapper is MIT-licensed, but runtime dependencies are proprietary.FluxKanban or FluxEditor can replace custom implementations entirely.useEverywhere() enables replacing Filament’s default fields (e.g., DatePicker → FluxDatePicker) with zero code changes.DatePicker methods).npm run build and view:clear post-installation, which could disrupt CI/CD pipelines.| Risk Area | Severity | Mitigation Strategy |
|---|---|---|
| License Compliance | Critical | Audit composer.json and .gitignore for auth.json; ensure Flux Pro license is active. |
| Filament Version Lock | High | Pin filament/filament to 5.x in composer.json to avoid compatibility drift. |
| Livewire Conflicts | Medium | Test with existing Livewire components; isolate Flux Pro components in separate panels if needed. |
| CSS/JS Conflicts | Medium | Use Filament’s panel isolation or custom CSS namespaces to avoid style collisions. |
| Performance Overhead | Low | Benchmark Flux Pro components (e.g., FluxEditor) against vanilla Filament equivalents. |
| Migration Complexity | High | Phase adoption (e.g., start with FluxEditor in non-critical panels). |
License and Cost:
filament-flux package instead?Architectural Impact:
useEverywhere() auto-binding? (Audit DatePicker, RichEditor, etc.)UI/UX Tradeoffs:
Operational Readiness:
Long-Term Viability:
filament-flux-pro? (Check GitHub issues, release cadence.)Best Fit For:
Poor Fit For:
| Phase | Steps | Tools/Commands |
|---|---|---|
| Preparation | 1. Audit composer.json for Filament/Livewire versions. |
composer why filament/filament |
2. Verify Flux Pro license and add auth.json to .gitignore. |
Manual | |
3. Install jeffersongoncalves/filament-flux (prerequisite). |
composer require jeffersongoncalves/filament-flux |
|
| Installation | 4. Add Flux Pro Composer repo to composer.json. |
Manual (edit composer.json) |
5. Run filament-flux-pro:install and flux:activate. |
php artisan filament-flux-pro:install --panel=admin |
|
| 6. Rebuild assets and clear views. | npm run build && php artisan view:clear |
|
| Adoption | 7. Register plugins in Panel provider. |
->plugin(FilamentFluxProPlugin::make()->useEverywhere()) |
8. Pilot Phase: Replace 1–2 non-critical fields (e.g., FluxEditor in a blog panel). |
Manual | |
9. Full Rollout: Enable useEverywhere() for global upgrades. |
->useEverywhere(['fileUpload' => false]) (exclude problematic fields) |
|
| Validation | 10. Test edge cases (e.g., FluxKanban with large datasets, FluxEditor with images). |
Manual QA |
11. Monitor performance (e.g., FluxChartWidget rendering time). |
Laravel Debugbar, Chrome DevTools |
jeffersongoncalves/filament-flux.FluxKanban requires Eloquent models).FluxProPlugin::make()->useEverywhere(false) to opt out.!important sparingly or extend Filament’s theme.Start Small:
FluxEditor in a blog panel) to validate UX and performance.useEverywhere() selectively (e.g., disable fileUpload if existing upload logic is complex).Phase by Panel:
Post-Migration:
How can I help you explore Laravel packages today?