<div align="center">
<p><a href="https://livewire-powergrid.com" target="_blank"><img src="art/header.jpg" alt="PowerGrid Logo"></a></p>
<p align="center">
<a href="https://packagist.org/packages/power-components/livewire-powergrid"><img alt="PHP 8.3+" src="https://img.shields.io/static/v1?label=php&message=%E2%89%A58.3&color=777BB4&logo=php&style=flat-square"></a>
<a href="https://packagist.org/packages/power-components/livewire-powergrid"><img alt="Total Downloads" src="https://img.shields.io/packagist/dt/power-components/livewire-powergrid"></a>
<a href="https://github.com/Power-Components/livewire-powergrid/actions">
<img alt="Tests Passing" src="https://img.shields.io/github/actions/workflow/status/power-components/livewire-powergrid/mysql.yml?label=Tests" /></a>
<a href="https://packagist.org/packages/power-components/livewire-powergrid"><img alt="Latest Version" src="https://img.shields.io/packagist/v/power-components/livewire-powergrid"></a>
<a href="https://packagist.org/packages/power-components/livewire-powergrid"><img alt="License" src="https://img.shields.io/packagist/l/power-components/livewire-powergrid"></a>
<a href="https://packagist.org/packages/power-components/livewire-powergrid"><img alt="Last Commit" src="https://img.shields.io/github/last-commit/power-components/livewire-powergrid"></a>
</p>
<a href="https://livewire-powergrid.com" target="_blank">📚 Documentation</a> |
<a href="#-features">🔥 Features</a> |
<a href="#get-started">⌨️ Get started</a>
</div>
------
# ⚡ Livewire PowerGrid ⚡
<br/>
Livewire PowerGrid creates modern, powerful and easy-to-customize data tables based on [Laravel Livewire](https://laravel-livewire.com) library.
With PowerGrid, you can effortlessly create advanced data tables in a matter of minutes.
<p>
<a href="https://livewire-powergrid.com" target="_blank"><img src="art/screenshot_merged.png" alt="PowerGrid Screenshot" width="805"></a>
</p>
`🚀` **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!
<br/>
## 🔥 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...](https://github.com/Power-Components/livewire-powergrid/tree/main/resources/lang) |
`📚` Learn more in our [Documentation](https://livewire-powergrid.com).
<br/>
## Get started
### Requirements
- PHP 8.3+
- [Laravel 12+](https://laravel.com/docs/installation)
- [Livewire 4.0+](https://livewire.laravel.com)
- [Tailwind CSS 4.x](https://tailwindcss.com)
<br/>
### Install PowerGrid
Require PowerGrid via [composer](https://getcomposer.org).
```bash
composer require power-components/livewire-powergrid
```
Then, follow the steps indicated in the [Documentation - Install page](https://livewire-powergrid.com/get-started/install.html).
<br/>
### AI-assisted development (Laravel Boost)
PowerGrid ships [Agent Skills](https://agentskills.io/home) and an AI guideline for [Laravel Boost](https://laravel.com/docs/13.x/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:
```bash
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:
```bash
php artisan boost:update --discover
```
<br/>
## Reusing a Grid Definition
PowerGrid runs on the framework-agnostic [Turbine](https://github.com/power-components/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.
```php
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](https://github.com/power-components/turbine#portable-grid-definitions). 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.
<br/>
## Support & Community
`👥` **Interact with the PowerGrid community at our [Discussions](https://github.com/Power-Components/livewire-powergrid/discussions) tab.**
You can share ideas, find questions and answers, and collaborate with other PowerGrid users.
<br/>
`🛟` **For technical inquiries, bug reports, and feature requests, please use the [Issues](https://github.com/Power-Components/livewire-powergrid/issues) tab.**
Please look into our previous Issues and Discussions before submitting a new issue.
<br/>
## Contribute
`🙏` **You can help PowerGrid in a number of ways; contributing goes beyond writing code.**
Please read the [Contributing Guide](CONTRIBUTING.md) to see what kind of contributions you can make and what steps you should follow.
<br/>
## Credits
- Created by [Luan Freitas](https://x.com/luanfreitasdev) and [@DanSysAnalyst](https://github.com/dansysanalyst)
- [All Contributors](../../contributors)
- Logo & artwork by [Caneco](https://x.com/caneco)
<hr>
<p>Sponsored by:</p>
<p>
<!--DevSquad-->
<a href="https://devsquad.com" target="_blank">
<img src="https://livewire-powergrid.com/sponsors/devsquad.png" alt="DevSquad" height="64">
</a>
</p>
<p></p>
<p></p>
<p>With the support of:</p>
<p>
<!-- PHPStorm -->
<a href="https://www.jetbrains.com/phpstorm/" target="_blank">
<img src="https://livewire-powergrid.com/sponsors/phpstorm.png" alt="PHPStorm" height="32">
</a>
<!-- Araxis Merge -->
<a href="https://www.araxis.com/merge/" target="_blank">
<img src="https://livewire-powergrid.com/sponsors/araxis.png" alt="Araxis Merge" height="32">
</a>
</p>
<hr>
<sup><b>Notice of Non-Affiliation and Disclaimer:</b> Livewire PowerGrid is not affiliated with, associated with, endorsed by, or in any way officially connected with the <a href="https://laravel-livewire.com" target="_blank">Laravel Livewire</a> - copyright by Caleb Porzio. Laravel is a trademark of Taylor Otwell.</sup>