{"id":37235398,"url":"https://github.com/dkulyk/nova-tabs","last_synced_at":"2026-01-15T04:01:57.118Z","repository":{"id":56969981,"uuid":"166602498","full_name":"dkulyk/nova-tabs","owner":"dkulyk","description":"Another Laravel Nova Tabs Package","archived":true,"fork":false,"pushed_at":"2022-05-11T18:14:22.000Z","size":39,"stargazers_count":58,"open_issues_count":4,"forks_count":7,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-11-13T19:29:31.520Z","etag":null,"topics":["laravel","nova","tabs"],"latest_commit_sha":null,"homepage":null,"language":"Vue","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dkulyk.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-01-19T23:00:08.000Z","updated_at":"2024-10-14T19:11:49.000Z","dependencies_parsed_at":"2022-08-21T10:50:53.787Z","dependency_job_id":null,"html_url":"https://github.com/dkulyk/nova-tabs","commit_stats":null,"previous_names":[],"tags_count":12,"template":false,"template_full_name":null,"purl":"pkg:github/dkulyk/nova-tabs","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dkulyk%2Fnova-tabs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dkulyk%2Fnova-tabs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dkulyk%2Fnova-tabs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dkulyk%2Fnova-tabs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dkulyk","download_url":"https://codeload.github.com/dkulyk/nova-tabs/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dkulyk%2Fnova-tabs/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28420608,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-14T10:47:48.104Z","status":"ssl_error","status_checked_at":"2026-01-14T10:46:19.031Z","response_time":107,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["laravel","nova","tabs"],"created_at":"2026-01-15T04:01:56.568Z","updated_at":"2026-01-15T04:01:57.104Z","avatar_url":"https://github.com/dkulyk.png","language":"Vue","funding_links":["https://www.patreon.com/bePatron?u=16285116"],"categories":[],"sub_categories":[],"readme":"# Another Laravel Nova Tabs Package\n[![Latest Version on Github](https://img.shields.io/packagist/v/dkulyk/nova-tabs.svg?style=flat)](https://packagist.org/packages/dkulyk/nova-tabs)\n[![Total Downloads](https://img.shields.io/packagist/dt/dkulyk/nova-tabs.svg?style=flat)](https://packagist.org/packages/dkulyk/nova-tabs)\n[![Become a Patron!](https://img.shields.io/badge/become-a_patron!-red.svg?logo=patreon\u0026style=flat)](https://www.patreon.com/bePatron?u=16285116)\n\n1. [Installation](#user-content-installation)\n2. [Usage](#user-content-usage)\n    1. [Tabs Panel](#user-content-tabs-panel)\n    2. [Tabs Panel with Toolbar](#user-content-tabs-panel-with-toolbar)\n    3. [Relationship Tabs](#user-content-relationship-tabs)\n    4. [Combine Fields and Relations in Tabs](#user-content-combine-fields-and-relations-in-tabs)\n3. [Customization](#user-content-customization)\n\n## Installation\n\nYou can install the package in to a Laravel app that uses [Nova](https://nova.laravel.com) via composer:\n\n```bash\ncomposer require dkulyk/nova-tabs\n```\n\n## Usage\n\n### Tabs Panel\n\n![image](https://user-images.githubusercontent.com/3426944/50060698-7835ec00-0197-11e9-8b9c-c7f1e67400db.png)\n\nYou can group Fields of a Resource into Tabs.\n\n```php\n// in app/Nova/Resource.php\n\nuse DKulyk\\Nova\\Tabs;\n\npublic function fields()\n{\n    return [\n        \n        // ...\n        \n        new Tabs('Tabs', [\n            new Panel('Balance', [\n                Number::make('Balance', 'balance')-\u003eonlyOnDetail(),\n                Number::make('Total', 'total')-\u003eonlyOnDetail(),\n            ]),\n            'Other Info' =\u003e [\n                Number::make('Paid To Date', 'paid_to_date')-\u003eonlyOnDetail(),\n            ],\n        ]),\n        \n        // ...\n        \n    ];\n}\n```\n\n### Tabs Panel with Toolbar\n\nIf you are only using a Tabs without another default Panel, you can call `withToolbar` method like in Panel.\n\n![image](https://user-images.githubusercontent.com/3426944/50448780-608efe00-0923-11e9-9d55-3dc3d8d896e1.png)\n\n\n```php\n// in app/Nova/Resource.php\n\nuse DKulyk\\Nova\\Tabs;\n\npublic function fields(Request $request)\n{\n    return [\n        (new Tabs('Contact Details', [\n            'Address' =\u003e [\n                ID::make('Id', 'id')-\u003erules('required'),\n                Text::make('Email', 'email')-\u003esortable(),\n                Text::make('Phone', 'phone')-\u003esortable(),\n            ],\n\n            'Relations' =\u003e [\n                BelongsTo::make('User'),\n                MorphTo::make('Contactable')-\u003etypes([\n                    Client::class,\n                    Invoice::class,\n                ]),\n            ]\n        ]))-\u003ewithToolbar(),\n    ];\n}\n```\n\n### Relationship Tabs\n\n![image](https://user-images.githubusercontent.com/3426944/50060715-a3b8d680-0197-11e9-8f98-1cac8cf3fd83.png)\n\nYou can also group Relations into Tabs.\n\n```php\n// in app/Nova/Resource.php\n\nuse DKulyk\\Nova\\Tabs;\n\npublic function fields(Request $request)\n{\n    return [\n\n        // ...\n\n        new Tabs('Relations', [\n            HasMany::make('Invoices'),\n            HasMany::make('Notes'),\n            HasMany::make('Contacts')\n        ]),\n\n        // ...\n\n    ];\n}\n```\n\n### Combine Fields and Relations in Tabs\n\n![image](https://user-images.githubusercontent.com/3426944/51089909-b3b2de80-1774-11e9-9100-d323accda7db.png)\n\n![image](https://user-images.githubusercontent.com/3426944/51089905-aa297680-1774-11e9-9611-4446ca13ab4a.png)\n\n\n```php\nuse DKulyk\\Nova\\Tabs;\n\npublic function fields(Request $request)\n{\n    return [\n        (new Tabs(__('Client Custom Details'), [\n            new Panel(__('Details'), [\n                    ID::make('Id', 'id')-\u003erules('required')-\u003ehideFromIndex(),\n                    Text::make('Name', 'name'),\n            ]),\n            HasMany::make('Invoices')\n        ])\n    ];\n}\n```\n\n## Customization\n\nBy 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:\n\n```php\n// in app/Nova/Resource.php\n\nuse DKulyk\\Nova\\Tabs;\n\npublic function fields(Request $request)\n{\n    return [\n\n        // ...\n\n        (new Tabs('Relations', [\n            HasMany::make('Invoices')\n        ]))-\u003edefaultSearch(true),\n\n        // ...\n\n    ];\n}\n```\n\nIf you want to hide card label you can use `-\u003ehideLabel()` for Tabs panel.\n\nSet `-\u003edefaultSearch(true)` to revert it to its default.\n\n![image](https://user-images.githubusercontent.com/3426944/50060732-dbc01980-0197-11e9-8f0c-6014132539a2.png)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdkulyk%2Fnova-tabs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdkulyk%2Fnova-tabs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdkulyk%2Fnova-tabs/lists"}