laravilt / tables
Complete table system with columns, filters, sorting, bulk actions, and pagination. Build powerful data tables with search, filters, inline editing, row/bulk actions, and responsive mobile-friendly layouts.
Fund package maintenance!
fadymondy
Installs: 143
Dependents: 2
Suggesters: 0
Security: 0
Stars: 1
Watchers: 0
Forks: 0
Open Issues: 0
Language:HTML
pkg:composer/laravilt/tables
Requires
- php: ^8.3|^8.4
- illuminate/contracts: ^11.0|^12.0
- laravilt/actions: ^1.0
- laravilt/forms: ^1.0
- laravilt/query-builder: ^1.0
- laravilt/support: ^1.0
- spatie/laravel-package-tools: ^1.14
Requires (Dev)
- larastan/larastan: ^2.9||^3.0
- laravel/pint: ^1.14
- nunomaduro/collision: ^8.1.1||^7.10.0
- orchestra/testbench: ^10.0
- pestphp/pest: ^3.0
- pestphp/pest-plugin-arch: ^3.0
- pestphp/pest-plugin-laravel: ^3.0
- pestphp/pest-plugin-livewire: ^3.0
- pestphp/pest-plugin-type-coverage: ^3.5
- phpstan/extension-installer: ^1.3||^2.0
- phpstan/phpstan-deprecation-rules: ^1.1||^2.0
- phpstan/phpstan-phpunit: ^1.3||^2.0
README
Laravilt Tables
Complete table system with columns, filters, sorting, bulk actions, and pagination for Laravilt. Build powerful data tables with search, filters, inline editing, and row/bulk actions.
Features
- 📊 9 Column Types - Text, Image, Badge, Icon, Select, Toggle, Color, Relationship, Custom
- 🔍 5 Filter Types - Text, Select, Multi-Select, Boolean, Date Range
- ↕️ Sorting - Multi-column sorting with direction control
- ✅ Bulk Actions - Select and perform actions on multiple rows
- 📄 Pagination - Built-in pagination with customizable page sizes
- 📱 Responsive - Mobile-friendly with column visibility control
Column Types
| Column | Description |
|---|---|
TextColumn |
Text display with formatting options |
ImageColumn |
Image thumbnails with lightbox |
BadgeColumn |
Status badges with colors |
IconColumn |
Boolean icons (check/x) |
SelectColumn |
Inline select editing |
ToggleColumn |
Inline toggle switches |
ColorColumn |
Color swatches |
RelationshipColumn |
Display related model data |
CustomColumn |
Custom Vue component rendering |
Quick Example
use Laravilt\Tables\Table; use Laravilt\Tables\Columns\TextColumn; use Laravilt\Tables\Columns\BadgeColumn; use Laravilt\Tables\Columns\ToggleColumn; use Laravilt\Tables\Filters\SelectFilter; use Laravilt\Tables\Actions\BulkAction; Table::make() ->columns([ TextColumn::make('name') ->searchable() ->sortable(), BadgeColumn::make('status') ->colors([ 'success' => 'active', 'danger' => 'inactive', ]), ToggleColumn::make('is_featured'), ]) ->filters([ SelectFilter::make('status') ->options(['active', 'inactive']), ]) ->toolbarActions([ BulkAction::make('delete') ->label('Delete Selected') ->action(fn ($records) => $records->each->delete()), ]);
Installation
composer require laravilt/tables
Generator Commands
php artisan make:table UserTable php artisan make:table UserTable --actions
Documentation
- Complete Documentation - All column types, filters, and actions
- MCP Server Guide - AI agent integration
License
The MIT License (MIT). Please see License File for more information.
