Power-Components/livewire-powergrid

โšก PowerGrid generates modern, powerful and easy-to-customize data tables using Laravel Livewire.

PHP

1,694

2,365 commits

updated Oct 16, 2026

See the code

README


โšก Livewire PowerGrid โšก


Livewire PowerGrid creates modern, powerful and easy-to-customize data tables based on Laravel Livewire library.

With PowerGrid, you can effortlessly create advanced data tables in a matter of minutes.

PowerGrid Screenshot

๐Ÿš€ Ready out of the box

Tables have basic features activated by default. Ready to go!

๐Ÿ‘ Extensible

Extend and customize your Table including plugins (inline editing, toggles, date pickers), global search, column filters, bulk actions, and data export.

๐Ÿ› ๏ธ Developer-friendly scaffold

Generated table components include usage examples. Just uncomment some code, enter your data, and it works!


๐Ÿš€ Online Interactive Demo

Take a look at our Online Interactive Demo showcasing the latest PowerGrid features. Explore the source code, and get your Data Table up and running in no time.

๐ŸŒŽ PowerGrid Online Demo


๐Ÿ”ฅ Features

PowerGrid offers a range of features that are readily available:

FeaturePowerGrid
Tailwind CSS / DaisyUI / Flux themesโœ…
Custom Theme via struct() APIโœ…
Paginationโœ…
Column Sortingโœ…
Filters & Global Searchโœ…
Custom Filter Builderโœ…
Inline Editing plugin (click to edit)โœ…
Toggle Switch pluginโœ…
Date Picker plugin (Flatpickr)โœ…
Row Buttons, Checkboxes, Dropdown menuโœ…
Custom Cell Content (links, images, currency formatting)โœ…
Multi-row Bulk Actionsโœ…
Conditional Action Rules for Rows, Buttons, and Checkboxesโœ…
Column Summaries (Sum, Count & Average)โœ…
Server-side Actions (full Blade rendering, no JS cache)โœ…
Livewire DOM isolation via Hot Zones (pg-tbody, pg-pagination, pg-filters)โœ…
Data Export to XLSX/CSV (OpenSpout)โœ…
Queue Export for large datasetsโœ…
Responsiveโœ…
Laravel Scout supportโœ…
Plugin system (extendable column behaviors)โœ…
Multi LanguageAvailable in ๐Ÿ‡บ๐Ÿ‡ธ ๐Ÿ‡ง๐Ÿ‡ท ๐Ÿ‡ช๐Ÿ‡ธ ๐Ÿ‡ฎ๐Ÿ‡น ๐Ÿ‡ฉ๐Ÿ‡ช and more...

๐Ÿ“š Learn more in our Documentation.


Get started

Requirements


Install PowerGrid

Require PowerGrid via composer.

composer require power-components/livewire-powergrid

Then, follow the steps indicated in the Documentation - Install page.


AI-assisted development (Laravel Boost)

PowerGrid ships Agent Skills and an AI guideline for Laravel Boost โ€” so your AI agent (Claude Code, Cursor, Codex, Gemini, and more) understands PowerGrid's v7 conventions and can scaffold themes and plugins for you.

If your app uses Boost, install PowerGrid's skills and guideline into your selected agents with:

composer require laravel/boost --dev
php artisan boost:install

Already using Boost? Pick up PowerGrid's resources (and any other newly installed package's) with:

php artisan boost:update --discover

Reusing a Grid Definition

PowerGrid runs on the framework-agnostic Turbine engine. You can describe a grid once in a portable Turbine\GridDefinition class and share it between a Livewire PowerGrid component and an Inertia (React / Vue) or REST endpoint โ€” handy when migrating a screen from one front-end to another without rewriting the grid.

Extend TurbineTable and point definition() at a portable Turbine\GridDefinition. PowerGrid pulls datasource, columns, fields, filters, setUp, relationSearch, searchMorphs and transformQuery from it.

use PowerComponents\LivewirePowerGrid\TurbineTable;
use PowerComponents\Turbine\Contracts\GridSchema;

class UserTable extends TurbineTable
{
    public string $tableName = 'users';

    protected function definition(): GridSchema
    {
        return new UsersGrid(); // the same class an Inertia controller uses
    }
}

UsersGrid is the portable class shown in the Turbine README. Migrating between Livewire and Inertia keeps that class untouched โ€” only the adapter changes.

definition() is also available on plain PowerGridComponent (returns null by default, so existing components are unaffected). TurbineTable just adds the datasource() wiring on top; use it whenever a component is fully driven by a definition.

Row actions stay explicit: forward actions() / actionRules() on the component only when the grid has them, and add a Column::action() in the definition's columns() โ€” PowerGrid requires an action column whenever an actions() method exists.


Support & Community

๐Ÿ‘ฅ Interact with the PowerGrid community at our Discussions tab.

You can share ideas, find questions and answers, and collaborate with other PowerGrid users.


๐Ÿ›Ÿ For technical inquiries, bug reports, and feature requests, please use the Issues tab.

Please look into our previous Issues and Discussions before submitting a new issue.


Contribute

๐Ÿ™ You can help PowerGrid in a number of ways; contributing goes beyond writing code.

Please read the Contributing Guide to see what kind of contributions you can make and what steps you should follow.


Credits


Sponsored by:

DevSquad

With the support of:

PHPStorm Araxis Merge


Notice of Non-Affiliation and Disclaimer: Livewire PowerGrid is not affiliated with, associated with, endorsed by, or in any way officially connected with the Laravel Livewire - copyright by Caleb Porzio. Laravel is a trademark of Taylor Otwell.

datatables
editable-table
laravel
laravel-livewire
livewire
livewire-component
livewire-datatables
livewire-packages
livewire-powergrid
tailwindcss

Power-Components/livewire-powergrid

โšก PowerGrid generates modern, powerful and easy-to-customize data tables using Laravel Livewire.

PHP

1,694

2,365 commits

updated Oct 16, 2026

See the code

README


โšก Livewire PowerGrid โšก


Livewire PowerGrid creates modern, powerful and easy-to-customize data tables based on Laravel Livewire library.

With PowerGrid, you can effortlessly create advanced data tables in a matter of minutes.

PowerGrid Screenshot

๐Ÿš€ Ready out of the box

Tables have basic features activated by default. Ready to go!

๐Ÿ‘ Extensible

Extend and customize your Table including plugins (inline editing, toggles, date pickers), global search, column filters, bulk actions, and data export.

๐Ÿ› ๏ธ Developer-friendly scaffold

Generated table components include usage examples. Just uncomment some code, enter your data, and it works!


๐Ÿš€ Online Interactive Demo

Take a look at our Online Interactive Demo showcasing the latest PowerGrid features. Explore the source code, and get your Data Table up and running in no time.

๐ŸŒŽ PowerGrid Online Demo


๐Ÿ”ฅ Features

PowerGrid offers a range of features that are readily available:

FeaturePowerGrid
Tailwind CSS / DaisyUI / Flux themesโœ…
Custom Theme via struct() APIโœ…
Paginationโœ…
Column Sortingโœ…
Filters & Global Searchโœ…
Custom Filter Builderโœ…
Inline Editing plugin (click to edit)โœ…
Toggle Switch pluginโœ…
Date Picker plugin (Flatpickr)โœ…
Row Buttons, Checkboxes, Dropdown menuโœ…
Custom Cell Content (links, images, currency formatting)โœ…
Multi-row Bulk Actionsโœ…
Conditional Action Rules for Rows, Buttons, and Checkboxesโœ…
Column Summaries (Sum, Count & Average)โœ…
Server-side Actions (full Blade rendering, no JS cache)โœ…
Livewire DOM isolation via Hot Zones (pg-tbody, pg-pagination, pg-filters)โœ…
Data Export to XLSX/CSV (OpenSpout)โœ…
Queue Export for large datasetsโœ…
Responsiveโœ…
Laravel Scout supportโœ…
Plugin system (extendable column behaviors)โœ…
Multi LanguageAvailable in ๐Ÿ‡บ๐Ÿ‡ธ ๐Ÿ‡ง๐Ÿ‡ท ๐Ÿ‡ช๐Ÿ‡ธ ๐Ÿ‡ฎ๐Ÿ‡น ๐Ÿ‡ฉ๐Ÿ‡ช and more...

๐Ÿ“š Learn more in our Documentation.


Get started

Requirements


Install PowerGrid

Require PowerGrid via composer.

composer require power-components/livewire-powergrid

Then, follow the steps indicated in the Documentation - Install page.


AI-assisted development (Laravel Boost)

PowerGrid ships Agent Skills and an AI guideline for Laravel Boost โ€” so your AI agent (Claude Code, Cursor, Codex, Gemini, and more) understands PowerGrid's v7 conventions and can scaffold themes and plugins for you.

If your app uses Boost, install PowerGrid's skills and guideline into your selected agents with:

composer require laravel/boost --dev
php artisan boost:install

Already using Boost? Pick up PowerGrid's resources (and any other newly installed package's) with:

php artisan boost:update --discover

Reusing a Grid Definition

PowerGrid runs on the framework-agnostic Turbine engine. You can describe a grid once in a portable Turbine\GridDefinition class and share it between a Livewire PowerGrid component and an Inertia (React / Vue) or REST endpoint โ€” handy when migrating a screen from one front-end to another without rewriting the grid.

Extend TurbineTable and point definition() at a portable Turbine\GridDefinition. PowerGrid pulls datasource, columns, fields, filters, setUp, relationSearch, searchMorphs and transformQuery from it.

use PowerComponents\LivewirePowerGrid\TurbineTable;
use PowerComponents\Turbine\Contracts\GridSchema;

class UserTable extends TurbineTable
{
    public string $tableName = 'users';

    protected function definition(): GridSchema
    {
        return new UsersGrid(); // the same class an Inertia controller uses
    }
}

UsersGrid is the portable class shown in the Turbine README. Migrating between Livewire and Inertia keeps that class untouched โ€” only the adapter changes.

definition() is also available on plain PowerGridComponent (returns null by default, so existing components are unaffected). TurbineTable just adds the datasource() wiring on top; use it whenever a component is fully driven by a definition.

Row actions stay explicit: forward actions() / actionRules() on the component only when the grid has them, and add a Column::action() in the definition's columns() โ€” PowerGrid requires an action column whenever an actions() method exists.


Support & Community

๐Ÿ‘ฅ Interact with the PowerGrid community at our Discussions tab.

You can share ideas, find questions and answers, and collaborate with other PowerGrid users.


๐Ÿ›Ÿ For technical inquiries, bug reports, and feature requests, please use the Issues tab.

Please look into our previous Issues and Discussions before submitting a new issue.


Contribute

๐Ÿ™ You can help PowerGrid in a number of ways; contributing goes beyond writing code.

Please read the Contributing Guide to see what kind of contributions you can make and what steps you should follow.


Credits


Sponsored by:

DevSquad

With the support of:

PHPStorm Araxis Merge


Notice of Non-Affiliation and Disclaimer: Livewire PowerGrid is not affiliated with, associated with, endorsed by, or in any way officially connected with the Laravel Livewire - copyright by Caleb Porzio. Laravel is a trademark of Taylor Otwell.

datatables
editable-table
laravel
laravel-livewire
livewire
livewire-component
livewire-datatables
livewire-packages
livewire-powergrid
tailwindcss

Significant stargazers

Tom Herrmann

389 followers ยท starred Apr 2026

Edgard Lorraine Messias

327 followers ยท starred Jul 2024

Nikolay Kirsh

132 followers ยท starred Aug 2025

Saeed Vaziry

418 followers ยท starred Dec 2024