PHPackages                             mrshanebarron/tabs - 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/tabs

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

mrshanebarron/tabs
==================

Tabs component for Laravel - supports Livewire and Vue

v1.0.5(4mo ago)012MITBladePHP ^8.1

Since Dec 14Pushed 4mo agoCompare

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

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

Tabs
====

[](#tabs)

A flexible tabbed interface component for Laravel applications. Supports multiple visual styles and accessibility features. Works with Livewire and Vue 3.

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

[](#installation)

```
composer require mrshanebarron/tabs
```

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

[](#livewire-usage)

### Basic Usage

[](#basic-usage)

```

        Overview content here.

        Details content here.

        Settings content here.

```

### With Default Active Tab

[](#with-default-active-tab)

```

```

### Different Variants

[](#different-variants)

```

```

### Livewire Props

[](#livewire-props)

PropTypeDefaultDescription`tabs`arrayrequiredKey-value pairs of tab keys and labels`default-active`stringfirst tabInitially active tab key`variant`string`'default'`Style: `default`, `pills`, `boxed`Vue 3 Usage
-----------

[](#vue-3-usage)

### Setup

[](#setup)

```
import { SbTabs, SbTabPanel } from './vendor/sb-tabs';
app.component('SbTabs', SbTabs);
app.component('SbTabPanel', SbTabPanel);
```

### Basic Usage

[](#basic-usage-1)

```

        Overview content here.

        Details content here.

        Settings content here.

```

### Variants

[](#variants)

```

    ...

    ...

    ...

const tabs = {
  overview: 'Overview',
  features: 'Features',
  pricing: 'Pricing'
};

```

### With Change Event

[](#with-change-event)

```

      Overview
      Features

const handleTabChange = (tabKey) => {
  console.log('Active tab:', tabKey);
};

```

### Dynamic Tabs

[](#dynamic-tabs)

```

          Content for {{ tab }}

import { computed } from 'vue';

const items = ref([
  { id: 'item1', name: 'First Item' },
  { id: 'item2', name: 'Second Item' }
]);

const dynamicTabs = computed(() => {
  return items.value.reduce((acc, item) => {
    acc[item.id] = item.name;
    return acc;
  }, {});
});

```

### Vue Props

[](#vue-props)

PropTypeDefaultDescription`tabs`Objectrequired`{ key: 'Label' }` pairs`defaultActive`Stringfirst keyInitially active tab`variant`String`'default'`Style variant### Events

[](#events)

EventPayloadDescription`change``string`Emitted when active tab changes### Scoped Slot

[](#scoped-slot)

The default slot receives:

- `active`: Current active tab key

Variants
--------

[](#variants-1)

### Default (Underline)

[](#default-underline)

Traditional tab style with underline indicator on active tab.

### Pills

[](#pills)

Button-style tabs with background color on active tab.

### Boxed

[](#boxed)

Segmented control style with contained background.

Accessibility
-------------

[](#accessibility)

- Proper `role="tablist"` and `role="tab"` attributes
- `aria-selected` indicates active state
- `aria-controls` links tabs to panels
- Keyboard navigation support

Styling
-------

[](#styling)

Uses Tailwind CSS:

- Border-based underline for default
- Rounded backgrounds for pills
- Gray background container for boxed

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

Maintenance74

Regular maintenance activity

Popularity5

Limited adoption so far

Community2

Small or concentrated contributor base

Maturity48

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

6

Last Release

146d ago

### Community

Maintainers

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

---

Tags

laravellivewirenavigationvuetabs

### Embed Badge

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

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

###  Alternatives

[ijpatricio/mingle

Use Vue and React in Laravel Livewire Applications.

43445.4k2](/packages/ijpatricio-mingle)[bezhansalleh/filament-google-analytics

Google Analytics integration for FilamentPHP

205144.8k5](/packages/bezhansalleh-filament-google-analytics)[mischasigtermans/laravel-altitude

Claude Code agents for the TALL stack, powered by Laravel Boost

1139.2k](/packages/mischasigtermans-laravel-altitude)[vildanbina/livewire-tabs

Laravel Livewire Tab Form component

504.6k](/packages/vildanbina-livewire-tabs)[nedwors/navigator

A Laravel package to ease defining navigation menus

433.1k](/packages/nedwors-navigator)[tomshaw/electricgrid

A feature-rich Livewire package designed for projects that require dynamic, interactive data tables.

116.6k](/packages/tomshaw-electricgrid)

PHPackages © 2026

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