CRUD Tables
Table-based CRUD blocks for listing, searching, and managing items with built-in pagination, filters, and action controls in application interfaces.
Default CRUD Table
| Product name |
Category |
Brand |
Description |
Price |
Actions
|
| Apple iMac 27" |
PC |
Apple |
300 |
$2999 |
|
| Apple iMac 20" |
PC |
Apple |
200 |
$1499 |
|
| Apple iPhone 14 |
Phone |
Apple |
1237 |
$999 |
|
Blade code
<x-fwb.blocks.application.crud />
CRUD Table with Custom Rows
| Name |
Department |
Role |
Email |
Actions
|
| Jane Smith |
Design |
Senior Designer |
jane@example.com |
|
| John Doe |
Engineering |
Backend Developer |
john@example.com |
|
Blade code
<x-fwb.blocks.application.crud title="All Employees">
<x-slot:rows>
<thead class="text-xs text-gray-700 uppercase bg-gray-50 dark:bg-gray-700 dark:text-gray-400">
<tr>
<th scope="col" class="px-4 py-3">Name</th>
<th scope="col" class="px-4 py-3">Department</th>
<th scope="col" class="px-4 py-3">Role</th>
<th scope="col" class="px-4 py-3">Email</th>
<th scope="col" class="px-4 py-3">
<span class="sr-only">Actions</span>
</th>
</tr>
</thead>
<tbody>
<tr class="border-b dark:border-gray-700">
<th scope="row" class="px-4 py-3 font-medium text-gray-900 whitespace-nowrap dark:text-white">Jane Smith</th>
<td class="px-4 py-3">Design</td>
<td class="px-4 py-3">Senior Designer</td>
<td class="px-4 py-3">jane@example.com</td>
<td class="px-4 py-3 flex items-center justify-end">
<button class="inline-flex items-center p-0.5 text-sm font-medium text-center text-gray-500 hover:text-gray-800 rounded-lg focus:outline-none dark:text-gray-400 dark:hover:text-gray-100" type="button">
<x-fwb-o-dots-horizontal class="w-5 h-5" />
</button>
</td>
</tr>
<tr class="border-b dark:border-gray-700">
<th scope="row" class="px-4 py-3 font-medium text-gray-900 whitespace-nowrap dark:text-white">John Doe</th>
<td class="px-4 py-3">Engineering</td>
<td class="px-4 py-3">Backend Developer</td>
<td class="px-4 py-3">john@example.com</td>
<td class="px-4 py-3 flex items-center justify-end">
<button class="inline-flex items-center p-0.5 text-sm font-medium text-center text-gray-500 hover:text-gray-800 rounded-lg focus:outline-none dark:text-gray-400 dark:hover:text-gray-100" type="button">
<x-fwb-o-dots-horizontal class="w-5 h-5" />
</button>
</td>
</tr>
</tbody>
</x-slot:rows>
</x-fwb.blocks.application.crud>
Default CRUD Products Table
| Product name |
Category |
Brand |
Description |
Price |
Actions
|

Apple iMac 27"
|
Desktop PC
|
Apple |
300 |
$2999 |
|

Apple iMac 20"
|
Desktop PC
|
Apple |
200 |
$1499 |
|

Apple iPhone 14
|
Phone
|
Apple |
1237 |
$999 |
|
Blade code
<x-fwb.blocks.application.crud-products />
CRUD Products Table with Custom Rows
| Item |
Type |
Manufacturer |
Quantity |
Price |
Actions
|

Dell Monitor 24"
|
Monitor
|
Dell |
150 |
$349 |
|
Blade code
<x-fwb.blocks.application.crud-products title="Inventory">
<x-slot:rows>
<thead class="text-xs text-gray-700 uppercase bg-gray-50 dark:bg-gray-700 dark:text-gray-400">
<tr>
<th scope="col" class="px-4 py-4">Item</th>
<th scope="col" class="px-4 py-3">Type</th>
<th scope="col" class="px-4 py-3">Manufacturer</th>
<th scope="col" class="px-4 py-3">Quantity</th>
<th scope="col" class="px-4 py-3">Price</th>
<th scope="col" class="px-4 py-3">
<span class="sr-only">Actions</span>
</th>
</tr>
</thead>
<tbody>
<tr class="border-b dark:border-gray-700">
<th scope="row" class="px-4 py-3 font-medium text-gray-900 whitespace-nowrap dark:text-white">
<div class="flex items-center mr-3">
<img src="https://flowbite.s3.amazonaws.com/blocks/application-ui/products/imac-front-image.png" alt="iMac Front Image" class="h-8 w-auto mr-3">
Dell Monitor 24"
</div>
</th>
<td class="px-4 py-3">
<span class="bg-blue-100 text-blue-800 text-xs font-medium px-2 py-0.5 rounded dark:bg-blue-900 dark:text-blue-300">Monitor</span>
</td>
<td class="px-4 py-3">Dell</td>
<td class="px-4 py-3">150</td>
<td class="px-4 py-3">$349</td>
<td class="px-4 py-3 flex items-center justify-end">
<button class="inline-flex items-center p-0.5 text-sm font-medium text-center text-gray-500 hover:text-gray-800 rounded-lg focus:outline-none dark:text-gray-400 dark:hover:text-gray-100" type="button">
<x-fwb-o-dots-horizontal class="w-5 h-5" />
</button>
</td>
</tr>
</tbody>
</x-slot:rows>
</x-fwb.blocks.application.crud-products>
Default Advanced Table
| Product name |
Category |
Brand |
Description |
Price |
Actions
|
| Apple iMac 27" |
PC |
Apple |
300 |
$2999 |
|
| Apple MacBook Pro 17" |
Laptop |
Apple |
200 |
$2999 |
|
| Xbox Series S |
Gaming/Console |
Microsoft |
450 |
$299 |
|
Blade code
<x-fwb.blocks.application.advanced-table />
Advanced Table with Custom Props
| Name |
Role |
Status |
Joined |
Actions
|
| Alice Johnson |
Lead Engineer |
Active
|
Jan 2024 |
|
| Bob Williams |
Designer |
On Leave
|
Mar 2024 |
|
Blade code
<x-fwb.blocks.application.advanced-table
title="Team Members"
searchPlaceholder="Search members..."
addButtonText="Add member"
addAction="/members/create">
<x-slot:thead>
<tr>
<th scope="col" class="px-4 py-3">Name</th>
<th scope="col" class="px-4 py-3">Role</th>
<th scope="col" class="px-4 py-3">Status</th>
<th scope="col" class="px-4 py-3">Joined</th>
<th scope="col" class="px-4 py-3">
<span class="sr-only">Actions</span>
</th>
</tr>
</x-slot:thead>
<x-slot:rows>
<tr class="border-b dark:border-gray-700">
<th scope="row" class="px-4 py-3 font-medium text-gray-900 whitespace-nowrap dark:text-white">Alice Johnson</th>
<td class="px-4 py-3">Lead Engineer</td>
<td class="px-4 py-3">
<span class="bg-green-100 text-green-800 text-xs font-medium px-2 py-0.5 rounded dark:bg-green-900 dark:text-green-300">Active</span>
</td>
<td class="px-4 py-3">Jan 2024</td>
<td class="px-4 py-3 flex items-center justify-end">
<button class="inline-flex items-center p-0.5 text-sm font-medium text-center text-gray-500 hover:text-gray-800 rounded-lg focus:outline-none dark:text-gray-400 dark:hover:text-gray-100" type="button">
<x-fwb-o-dots-horizontal class="w-5 h-5" />
</button>
</td>
</tr>
<tr class="border-b dark:border-gray-700">
<th scope="row" class="px-4 py-3 font-medium text-gray-900 whitespace-nowrap dark:text-white">Bob Williams</th>
<td class="px-4 py-3">Designer</td>
<td class="px-4 py-3">
<span class="bg-yellow-100 text-yellow-800 text-xs font-medium px-2 py-0.5 rounded dark:bg-yellow-900 dark:text-yellow-300">On Leave</span>
</td>
<td class="px-4 py-3">Mar 2024</td>
<td class="px-4 py-3 flex items-center justify-end">
<button class="inline-flex items-center p-0.5 text-sm font-medium text-center text-gray-500 hover:text-gray-800 rounded-lg focus:outline-none dark:text-gray-400 dark:hover:text-gray-100" type="button">
<x-fwb-o-dots-horizontal class="w-5 h-5" />
</button>
</td>
</tr>
</x-slot:rows>
</x-fwb.blocks.application.advanced-table>
Default Advanced Table with Products
Blade code
<x-fwb.blocks.application.advanced-table-products />
Advanced Table Products with Custom Rows
Blade code
<x-fwb.blocks.application.advanced-table-products title="Sales Overview">
<x-slot:rows>
<thead class="text-xs text-gray-700 uppercase bg-gray-50 dark:bg-gray-700 dark:text-gray-400">
<tr>
<th scope="col" class="p-4">
<div class="flex items-center">
<input type="checkbox" class="w-4 h-4 bg-gray-100 border-gray-300 rounded text-blue-600 focus:ring-blue-500 dark:focus:ring-blue-600 dark:ring-offset-gray-800 focus:ring-2 dark:bg-gray-700 dark:border-gray-600">
</div>
</th>
<th scope="col" class="px-4 py-3">Product</th>
<th scope="col" class="px-4 py-3">Category</th>
<th scope="col" class="px-4 py-3">Stock</th>
<th scope="col" class="px-4 py-3">Revenue</th>
<th scope="col" class="px-4 py-3">
<span class="sr-only">Actions</span>
</th>
</tr>
</thead>
<tbody>
<tr class="border-b dark:border-gray-700 hover:bg-gray-50 dark:hover:bg-gray-600">
<td class="w-4 px-4 py-3">
<div class="flex items-center">
<input type="checkbox" class="w-4 h-4 bg-gray-100 border-gray-300 rounded text-blue-600 focus:ring-blue-500 dark:focus:ring-blue-600 dark:ring-offset-gray-800 focus:ring-2 dark:bg-gray-700 dark:border-gray-600">
</div>
</td>
<th scope="row" class="px-4 py-3 font-medium text-gray-900 whitespace-nowrap dark:text-white">
<div class="flex items-center">
<img src="https://flowbite.s3.amazonaws.com/blocks/application-ui/products/imac-front-image.png" alt="Product" class="h-8 w-auto mr-3">
Samsung Galaxy S24
</div>
</th>
<td class="px-4 py-3">
<span class="bg-green-100 text-green-800 text-xs font-medium px-2 py-0.5 rounded dark:bg-green-900 dark:text-green-300">Phone</span>
</td>
<td class="px-4 py-3 font-medium text-gray-900 dark:text-white">
<div class="flex items-center">
<div class="h-4 w-4 rounded-full bg-green-400 inline-block mr-2"></div>
230
</div>
</td>
<td class="px-4 py-3 font-medium text-gray-900 dark:text-white">$18,500</td>
<td class="px-4 py-3 flex items-center justify-end">
<button class="inline-flex items-center text-sm font-medium hover:bg-gray-100 dark:hover:bg-gray-700 p-1.5 text-center text-gray-500 hover:text-gray-800 rounded-lg focus:outline-none dark:text-gray-400 dark:hover:text-gray-100" type="button">
<x-fwb-o-dots-horizontal class="w-5 h-5" />
</button>
</td>
</tr>
</tbody>
</x-slot:rows>
</x-fwb.blocks.application.advanced-table-products>
Component Properties
CRUD Table x-fwb.blocks.application.crud
| Prop | Type | Default | Description |
| title |
string |
All Products |
The table section heading (used for accessibility). |
| header |
slot |
- |
Custom header area replacing the default search bar and action buttons. |
| rows |
slot |
- |
Custom table head and body content replacing the default product rows. |
| footer |
slot |
- |
Custom footer area replacing the default pagination navigation. |
CRUD Products Table x-fwb.blocks.application.crud-products
| Prop | Type | Default | Description |
| title |
string |
All Products |
The table section heading (used for accessibility). |
| header |
slot |
- |
Custom header area replacing the default search bar, action buttons, and filter dropdown. |
| rows |
slot |
- |
Custom table head and body content replacing the default product rows with images and category badges. |
Advanced Table x-fwb.blocks.application.advanced-table
| Prop | Type | Default | Description |
| title |
string |
All Products |
The table section heading (used for accessibility). |
| searchPlaceholder |
string |
Search |
Placeholder text for the search input field. |
| addButtonText |
string |
Add product |
Label for the primary add/create button. |
| addAction |
string |
# |
URL for the add button link. |
| header |
slot |
- |
Custom header area replacing the default search, add button, actions, and filter controls. |
| thead |
slot |
- |
Custom table header row(s) replacing the default column headings. |
| rows |
slot |
- |
Custom table body rows replacing the default product data. |
| pagination |
slot |
- |
Custom pagination content replacing the default page navigation. |
| actionsDropdown |
slot |
- |
Custom content for the Actions dropdown menu. |
| filterDropdown |
slot |
- |
Custom content for the Filter dropdown menu. |
| slot |
slot |
- |
Default slot for custom table body rows (used when rows slot is not set). |
Advanced Table Products x-fwb.blocks.application.advanced-table-products
| Prop | Type | Default | Description |
| title |
string |
All Products |
The table section heading (used for accessibility). |
| header |
slot |
- |
Custom header area replacing the default search bar, action buttons, and filter dropdown. |
| rows |
slot |
- |
Custom table head and body content replacing the default product rows with checkboxes, images, badges, and stock indicators. |