- How do I install and set up Livewire Table Kit in a Laravel project?
- Run `composer require unlab/livewire-table-kit`, then configure Tailwind to include the package’s Blade views (either via `@source` in CSS or `content` in `tailwind.config.js`). Publish optional assets with `php artisan vendor:publish --tag=livewire-table-kit-*` for customization. The setup is straightforward and documented in the [Getting Started guide](https://github.com/ujnana/livewire-table-kit/blob/main/docs/getting-started.md).
- Does Livewire Table Kit work with Laravel Livewire 3 or only Livewire 4?
- Livewire Table Kit requires **Livewire 4+**, so ensure your project is upgraded before installation. Downgrading to Livewire 3 may introduce compatibility issues due to reactivity changes. Check your Laravel version (Livewire 4+ is compatible with Laravel 9+) before proceeding.
- Can I use this package without Flux UI? What’s the effort to style it with Tailwind or Bootstrap?
- While the package is built for **Flux UI 2+**, you can use it with Tailwind by publishing and overriding views. Bootstrap integration requires manual CSS overrides, which may take **3–5 person-weeks** for full alignment. The package provides Tailwind-ready classes, but Flux-specific components (e.g., badges, modals) will need customization.
- How does the `make:livewire-table` generator work? Can it handle complex Eloquent relationships?
- The generator auto-scaffolds tables from Eloquent models using schema heuristics (e.g., `status` → badge column). It supports basic relationships but may need manual overrides for complex joins or computed columns. For nested relationships, extend the generated class or use `searchableRaw` for custom queries.
- What are the performance implications of bulk delete or large exports (e.g., 50K+ rows)?
- Bulk delete uses `whereIn`, which can be inefficient for large datasets. For exports, **queued mode** (via Laravel queues) is recommended to avoid memory limits. Sync exports may hit timeouts; test with your dataset size and consider chunking queries or database indexing for performance.
- How do I customize the table’s search, filters, or sorting behavior?
- Use the `searchable`, `sortable`, and `filterable` properties in column definitions. For advanced logic, override the `query` method in your table class or use `searchableRaw` for custom SQL. Filters can be configured via the `filters` array in the table’s constructor, supporting dropdowns, checkboxes, or custom components.
- Are the AI Skills and MCP Server features production-ready? How do they integrate with Laravel AI?
- The AI Skills and MCP Server are **experimental** and undocumented beyond a stub. They appear to offer auto-generated tables or AI-driven workflows but lack integration details with Laravel AI or LangChain. Use cautiously in production; check the [MCP docs](https://github.com/ujnana/livewire-table-kit/blob/main/docs/mcp.md) for updates or alternatives like custom Livewire hooks.
- Can I export tables to PDF, CSV, or XLSX without blocking the UI? How does queued export work?
- Yes, set `exportType: 'queued'` to offload exports to Laravel’s queue system (e.g., Redis). The package handles progress tracking and storage, but you’ll need a queue worker running (`php artisan queue:work`). Sync exports block the UI; queued exports are ideal for large datasets or slow PDF generation.
- What Laravel versions and PHP requirements does this package support?
- Livewire Table Kit requires **PHP 8.4+** and **Laravel 10+** (due to Livewire 4+ dependency). It aligns with Laravel 13+’s ecosystem, so no compatibility surprises are expected. For older Laravel versions, downgrade Livewire to v3 at your own risk, as reactivity changes may break functionality.
- Are there alternatives to Livewire Table Kit for Laravel Livewire tables?
- Alternatives include **Livewire Tables 2** (by BeyondCode), **Filament Tables**, or **Spatie’s Laravel Data Tables**. Livewire Tables 2 is more lightweight but lacks built-in exports, while Filament offers a full admin panel. This package stands out for its **AI/automation hints** and Flux UI integration, but choose based on your UI stack and feature needs.