unlab/livewire-table-kit
Reusable Livewire table kit for Laravel with search, filters, sorting, pagination, row actions, bulk delete, and CSV/XLSX/PDF exports. Includes Tailwind-ready views, generators to scaffold tables from models, and optional MCP/AI skills.
Pros:
UsersTable), fitting Laravel’s Eloquent-first paradigm and promoting DRY principles.refreshTable, bulkDeleteConfirmed) for extensibility, enabling integration with Laravel’s event system or third-party packages.Cons:
make:livewire-table) auto-scaffolds tables from Eloquent models, reducing boilerplate. Works well with Laravel’s ORM-first approach.exportType: 'queued') leverage Laravel’s queue system (e.g., Redis, database), ideal for long-running tasks like PDF generation.vendor:publish) allows customization of export paths, queue connections, and UI behavior without core modifications.@source or content config). Projects using other CSS frameworks (e.g., Bootstrap) would need additional styling work.searchableRaw) or complex joins may require manual overrides.actionBulkDelete uses whereIn for deletions, which could be inefficient for very large datasets (e.g., >100K rows). May need pagination or chunking in the query.sync mode. Queued exports mitigate this but add complexity (queue workers, disk storage, progress tracking).docs/mcp.md stub. Unclear how these integrate with existing Laravel AI tools (e.g., Laravel AI, LangChain) or if they’re experimental.make:livewire-table command uses schema heuristics (e.g., status → badge column). Custom table logic (e.g., computed columns) may require manual overrides.make:livewire-table) reduces boilerplate for CRUD-heavy applications.queue:work), making them suitable for high-load environments.bulkDeleteConfirmed) can integrate with Laravel’s event system for notifications, logging, or third-party services.@source or content config. Non-Tailwind projects will need to:
vendor:publish).whereIn deletions are efficient for moderate datasets but may require chunking for very large ones.UsersTable).query(), columns(), or filters() as needed.How can I help you explore Laravel packages today?