PHPackages                             mrshanebarron/table - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. mrshanebarron/table

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

mrshanebarron/table
===================

Data table component for Laravel - supports Livewire and Vue

v1.0.2(4mo ago)08MITPHPPHP ^8.1

Since Dec 14Pushed 4mo agoCompare

[ Source](https://github.com/mrshanebarron/table)[ Packagist](https://packagist.org/packages/mrshanebarron/table)[ RSS](/packages/mrshanebarron-table/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (2)Dependencies (1)Versions (4)Used By (0)

Table
=====

[](#table)

Data tables with sorting, searching, and styling options for Laravel applications. Supports striped rows, hover effects, borders, and compact mode. Works with Livewire and Vue 3.

Installation
------------

[](#installation)

```
composer require mrshanebarron/table
```

Livewire Usage
--------------

[](#livewire-usage)

### Basic Usage

[](#basic-usage)

```
@php
$columns = [
    'name' => 'Name',
    'email' => 'Email',
    'status' => 'Status',
];

$data = [
    ['name' => 'John Doe', 'email' => 'john@example.com', 'status' => 'Active'],
    ['name' => 'Jane Smith', 'email' => 'jane@example.com', 'status' => 'Pending'],
];
@endphp

```

### With Sorting

[](#with-sorting)

```

```

### With Search

[](#with-search)

```

```

### Full Featured

[](#full-featured)

```

```

### Compact Mode

[](#compact-mode)

```

```

### Livewire Props

[](#livewire-props)

PropTypeDefaultDescription`columns`array`[]`Column definitions (key =&gt; label)`data`array`[]`Row data array`striped`boolean`false`Alternate row colors`hoverable`boolean`true`Highlight rows on hover`bordered`boolean`false`Add cell borders`compact`boolean`false`Reduce cell padding`sortable`boolean`false`Enable column sorting`searchable`boolean`false`Show search inputVue 3 Usage
-----------

[](#vue-3-usage)

### Setup

[](#setup)

```
import { SbTable } from './vendor/sb-table';
app.component('SbTable', SbTable);
```

### Basic Usage

[](#basic-usage-1)

```

const columns = {
  name: 'Name',
  email: 'Email',
  status: 'Status',
};

const data = [
  { name: 'John Doe', email: 'john@example.com', status: 'Active' },
  { name: 'Jane Smith', email: 'jane@example.com', status: 'Pending' },
];

```

### With All Options

[](#with-all-options)

```

```

### Vue Props

[](#vue-props)

PropTypeDefaultDescription`columns`Object`{}`Column definitions`data`Array`[]`Table data`striped`Boolean`false`Striped rows`hoverable`Boolean`true`Hover effect`bordered`Boolean`false`Cell borders`compact`Boolean`false`Compact mode`sortable`Boolean`false`Enable sorting`searchable`Boolean`false`Enable search### Events

[](#events)

EventPayloadDescription`sort`{ column, direction }Emitted when sort changes`search`stringEmitted when search query changesDynamic Data Loading
--------------------

[](#dynamic-data-loading)

```
// In your Livewire component
public function mount()
{
    $this->columns = [
        'name' => 'Name',
        'email' => 'Email',
        'created_at' => 'Joined',
    ];

    $this->data = User::all()->map(fn($user) => [
        'name' => $user->name,
        'email' => $user->email,
        'created_at' => $user->created_at->format('M d, Y'),
    ])->toArray();
}
```

Styling
-------

[](#styling)

The table includes:

- Clean, minimal design
- Sort indicators on column headers
- Search input with icon
- Responsive horizontal scrolling

Requirements
------------

[](#requirements)

- PHP 8.1+
- Laravel 10, 11, or 12
- Tailwind CSS 3.x

License
-------

[](#license)

MIT License

###  Health Score

35

—

LowBetter than 79% of packages

Maintenance79

Regular maintenance activity

Popularity4

Limited adoption so far

Community2

Small or concentrated contributor base

Maturity45

Maturing project, gaining track record

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~1 days

Total

3

Last Release

144d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/7a38dc9b4ccc180ee3e9df8879f8747ea9dbf36812c6546827fe504fa8993eb8?d=identicon)[mrshanebarron](/maintainers/mrshanebarron)

### Embed Badge

![Health badge](/badges/mrshanebarron-table/health.svg)

```
[![Health](https://phpackages.com/badges/mrshanebarron-table/health.svg)](https://phpackages.com/packages/mrshanebarron-table)
```

###  Alternatives

[barryvdh/laravel-ide-helper

Laravel IDE Helper, generates correct PHPDocs for all Facade classes, to improve auto-completion.

14.9k123.0M682](/packages/barryvdh-laravel-ide-helper)[orchestra/canvas

Code Generators for Laravel Applications and Packages

21017.2M157](/packages/orchestra-canvas)[illuminate/pipeline

The Illuminate Pipeline package.

9446.6M210](/packages/illuminate-pipeline)[illuminate/pagination

The Illuminate Pagination package.

10532.5M856](/packages/illuminate-pagination)[spatie/laravel-pjax

A pjax middleware for Laravel 5

513371.8k11](/packages/spatie-laravel-pjax)[spatie/laravel-mix-preload

Add preload and prefetch links based your Mix manifest

169176.0k2](/packages/spatie-laravel-mix-preload)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
