Skip to content

Repository files navigation


⚡ 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:

Feature PowerGrid
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 Language Available 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.

About

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

Topics

Resources

Contributing

Security policy

Stars

1.7k stars

Watchers

14 watching

Forks

Releases

Sponsor this project

Used by

Contributors

Languages