PHPackages                             dkulyk/nova-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. [Admin Panels](/categories/admin)
4. /
5. dkulyk/nova-tabs

AbandonedArchivedLibrary[Admin Panels](/categories/admin)

dkulyk/nova-tabs
================

Another Laravel Nova Tabs Package

1.1.9(5y ago)58130.8k↑19.5%7[4 issues](https://github.com/dkulyk/nova-tabs/issues)MITVue

Since Jan 20Pushed 4y ago2 watchersCompare

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

READMEChangelog (1)DependenciesVersions (13)Used By (0)

Another Laravel Nova Tabs Package
=================================

[](#another-laravel-nova-tabs-package)

[![Latest Version on Github](https://camo.githubusercontent.com/7cb6538921366cf9cf36d967a95ac280aaeaeca51f1f98957090f1562efcd63a/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f646b756c796b2f6e6f76612d746162732e7376673f7374796c653d666c6174)](https://packagist.org/packages/dkulyk/nova-tabs)[![Total Downloads](https://camo.githubusercontent.com/6e17df4a8473fc03c103fa13ffefe0c31b4a4c7933730e3481456be0017f7038/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f646b756c796b2f6e6f76612d746162732e7376673f7374796c653d666c6174)](https://packagist.org/packages/dkulyk/nova-tabs)[![Become a Patron!](https://camo.githubusercontent.com/97222d0b261adeb712f6e28b2156c0c4333607c843ad33e3198d7f4dc6bdff28/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6265636f6d652d615f706174726f6e212d7265642e7376673f6c6f676f3d70617472656f6e267374796c653d666c6174)](https://www.patreon.com/bePatron?u=16285116)

1. [Installation](#user-content-installation)
2. [Usage](#user-content-usage)
    1. [Tabs Panel](#user-content-tabs-panel)
    2. [Tabs Panel with Toolbar](#user-content-tabs-panel-with-toolbar)
    3. [Relationship Tabs](#user-content-relationship-tabs)
    4. [Combine Fields and Relations in Tabs](#user-content-combine-fields-and-relations-in-tabs)
3. [Customization](#user-content-customization)

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

[](#installation)

You can install the package in to a Laravel app that uses [Nova](https://nova.laravel.com) via composer:

```
composer require dkulyk/nova-tabs
```

Usage
-----

[](#usage)

### Tabs Panel

[](#tabs-panel)

[![image](https://user-images.githubusercontent.com/3426944/50060698-7835ec00-0197-11e9-8b9c-c7f1e67400db.png)](https://user-images.githubusercontent.com/3426944/50060698-7835ec00-0197-11e9-8b9c-c7f1e67400db.png)

You can group Fields of a Resource into Tabs.

```
// in app/Nova/Resource.php

use DKulyk\Nova\Tabs;

public function fields()
{
    return [

        // ...

        new Tabs('Tabs', [
            new Panel('Balance', [
                Number::make('Balance', 'balance')->onlyOnDetail(),
                Number::make('Total', 'total')->onlyOnDetail(),
            ]),
            'Other Info' => [
                Number::make('Paid To Date', 'paid_to_date')->onlyOnDetail(),
            ],
        ]),

        // ...

    ];
}
```

### Tabs Panel with Toolbar

[](#tabs-panel-with-toolbar)

If you are only using a Tabs without another default Panel, you can call `withToolbar` method like in Panel.

[![image](https://user-images.githubusercontent.com/3426944/50448780-608efe00-0923-11e9-9d55-3dc3d8d896e1.png)](https://user-images.githubusercontent.com/3426944/50448780-608efe00-0923-11e9-9d55-3dc3d8d896e1.png)

```
// in app/Nova/Resource.php

use DKulyk\Nova\Tabs;

public function fields(Request $request)
{
    return [
        (new Tabs('Contact Details', [
            'Address' => [
                ID::make('Id', 'id')->rules('required'),
                Text::make('Email', 'email')->sortable(),
                Text::make('Phone', 'phone')->sortable(),
            ],

            'Relations' => [
                BelongsTo::make('User'),
                MorphTo::make('Contactable')->types([
                    Client::class,
                    Invoice::class,
                ]),
            ]
        ]))->withToolbar(),
    ];
}
```

### Relationship Tabs

[](#relationship-tabs)

[![image](https://user-images.githubusercontent.com/3426944/50060715-a3b8d680-0197-11e9-8f98-1cac8cf3fd83.png)](https://user-images.githubusercontent.com/3426944/50060715-a3b8d680-0197-11e9-8f98-1cac8cf3fd83.png)

You can also group Relations into Tabs.

```
// in app/Nova/Resource.php

use DKulyk\Nova\Tabs;

public function fields(Request $request)
{
    return [

        // ...

        new Tabs('Relations', [
            HasMany::make('Invoices'),
            HasMany::make('Notes'),
            HasMany::make('Contacts')
        ]),

        // ...

    ];
}
```

### Combine Fields and Relations in Tabs

[](#combine-fields-and-relations-in-tabs)

[![image](https://user-images.githubusercontent.com/3426944/51089909-b3b2de80-1774-11e9-9100-d323accda7db.png)](https://user-images.githubusercontent.com/3426944/51089909-b3b2de80-1774-11e9-9100-d323accda7db.png)

[![image](https://user-images.githubusercontent.com/3426944/51089905-aa297680-1774-11e9-9611-4446ca13ab4a.png)](https://user-images.githubusercontent.com/3426944/51089905-aa297680-1774-11e9-9611-4446ca13ab4a.png)

```
use DKulyk\Nova\Tabs;

public function fields(Request $request)
{
    return [
        (new Tabs(__('Client Custom Details'), [
            new Panel(__('Details'), [
                    ID::make('Id', 'id')->rules('required')->hideFromIndex(),
                    Text::make('Name', 'name'),
            ]),
            HasMany::make('Invoices')
        ])
    ];
}
```

Customization
-------------

[](#customization)

By default, the Tabs component moves the search input and the create button to the tabs. If you have a lot of tabs, you can move them back down to its own line:

```
// in app/Nova/Resource.php

use DKulyk\Nova\Tabs;

public function fields(Request $request)
{
    return [

        // ...

        (new Tabs('Relations', [
            HasMany::make('Invoices')
        ]))->defaultSearch(true),

        // ...

    ];
}
```

If you want to hide card label you can use `->hideLabel()` for Tabs panel.

Set `->defaultSearch(true)` to revert it to its default.

[![image](https://user-images.githubusercontent.com/3426944/50060732-dbc01980-0197-11e9-8f0c-6014132539a2.png)](https://user-images.githubusercontent.com/3426944/50060732-dbc01980-0197-11e9-8f0c-6014132539a2.png)

###  Health Score

40

—

FairBetter than 88% of packages

Maintenance19

Infrequent updates — may be unmaintained

Popularity45

Moderate usage in the ecosystem

Community11

Small or concentrated contributor base

Maturity68

Established project with proven stability

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

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 ~71 days

Recently: every ~186 days

Total

12

Last Release

1887d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/8e3e16dc7317cb0199e7b210ce186227060bf603c2c64bb34b1b2ef003fafd90?d=identicon)[lnkvisitor](/maintainers/lnkvisitor)

---

Top Contributors

[![dkulyk](https://avatars.githubusercontent.com/u/370042?v=4)](https://github.com/dkulyk "dkulyk (21 commits)")

---

Tags

laravelnovatabs

### Embed Badge

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

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

###  Alternatives

[jeroennoten/laravel-adminlte

Easy AdminLTE integration with Laravel

4.0k4.8M43](/packages/jeroennoten-laravel-adminlte)[dmstr/yii2-adminlte-asset

AdminLTE backend theme asset bundle for Yii 2.0 Framework

1.1k1.8M67](/packages/dmstr-yii2-adminlte-asset)[dwij/laraadmin

LaraAdmin is a Open source Laravel Admin Panel / CMS which can be used as Admin Backend, Data Management Tool or CRM boilerplate for Laravel with features like CRUD Generation, Module Manager, Media, Menus, Backups and much more

1.6k68.7k](/packages/dwij-laraadmin)[filament/spatie-laravel-media-library-plugin

Filament support for `spatie/laravel-medialibrary`.

1764.8M125](/packages/filament-spatie-laravel-media-library-plugin)[bezhansalleh/filament-exceptions

A Simple &amp; Beautiful Pluggable Exception Viewer for FilamentPHP's Admin Panel

193195.9k13](/packages/bezhansalleh-filament-exceptions)[filament/infolists

Easily add beautiful read-only infolists to any Livewire component.

1220.8M36](/packages/filament-infolists)

PHPackages © 2026

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