- How do I add a read-only infolist to an existing Livewire component in Laravel?
- First, require the package via Composer: `composer require filament/infolists`. Then, in your Livewire component, define an `infolist()` method returning a configured `Infolist` with schema entries like `TextEntry::make('field_name')`. The package handles the rest, rendering a clean, responsive grid.
- What Laravel and Livewire versions does filament/infolists support?
- The package supports Laravel 9+ and Livewire 3.x. Always check the [FilamentPHP docs](https://filamentphp.com/docs) for exact version compatibility, as minor updates may require adjustments. If using Laravel 8 or older, you’ll need to upgrade Livewire first.
- Can I customize the styling of filament/infolists to match my Tailwind/Bootstrap app?
- Yes, the package is designed for flexibility. Override default styles by publishing the package’s assets (`php artisan vendor:publish --tag=filament-infolists-assets`) or target its classes directly in your CSS/Tailwind config. Filament’s docs provide guidance on theming.
- Does filament/infolists work with non-Livewire Laravel apps (e.g., plain Blade or Inertia)?
- No, this package is Livewire-specific. If you’re not using Livewire, consider alternatives like custom Blade components, Laravel Nova tables, or third-party grid packages. Livewire’s reactivity is core to infolists’ functionality, so migration may be needed.
- How do I handle nested or complex data structures (e.g., JSON, relationships) in an infolist?
- Use specialized entries like `RepeaterEntry` for arrays or `RelationshipEntry` for Eloquent relations. For nested JSON, flatten the data in your Livewire component or use `JsonEntry` with custom formatting. The package supports dynamic data binding, so pass processed data to the schema.
- Are there performance concerns with large datasets in filament/infolists?
- For small to medium datasets, performance is negligible. For large datasets, paginate or lazy-load data in your Livewire component before passing it to the infolist. Avoid rendering thousands of entries at once—use `->paginate()` or chunking in your query logic.
- Can I use filament/infolists alongside FilamentPHP admin panels?
- Absolutely. Infolists are part of the Filament ecosystem and integrate seamlessly with Filament’s admin panels. Use them for read-only sections like user profiles or order details while leveraging Filament’s forms for editable data. Check the [Filament docs](https://filamentphp.com/docs) for combined usage examples.
- What are the alternatives to filament/infolists for read-only data in Laravel?
- Alternatives include Laravel Nova’s detail views, Spatie’s Laravel Data Tables, or custom Livewire components with Alpine.js for interactivity. For non-Livewire apps, consider Blade macros or Vue/React components. Infolists stand out for their Filament-native styling and Livewire integration.
- How do I test filament/infolists in a CI/CD pipeline or staging environment?
- Test by creating a Livewire component with mock data in your test suite. Use Laravel’s `Livewire::test()` helper to assert rendered infolist content. For visual regression testing, tools like Laravel Dusk or Percy can validate styling. Ensure your CI environment matches your production Livewire/Laravel versions.
- Is filament/infolists actively maintained, and where can I report issues?
- Yes, it’s actively maintained by FilamentPHP, with regular updates for Laravel/Livewire compatibility. Report issues or feature requests on the [GitHub repository](https://github.com/filamentphp/infolists). The Filament team responds promptly, and the package has a growing community for support.