PHPackages                             hosnyben/nova-nested-inputs - 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. hosnyben/nova-nested-inputs

ActiveLibrary

hosnyben/nova-nested-inputs
===========================

Nova Nested Fields is a Laravel Nova field package that allows users to present their checkboxes or radio buttons in a nested, hierarchical structure. This package supports infinite nesting levels, providing a flexible solution for complex form requirements.

1.0.0(1y ago)9496MITVuePHP ^7.3|^8.0

Since Jun 20Pushed 1y ago1 watchersCompare

[ Source](https://github.com/hosnyben/NovaNestedInputs)[ Packagist](https://packagist.org/packages/hosnyben/nova-nested-inputs)[ RSS](/packages/hosnyben-nova-nested-inputs/feed)WikiDiscussions main Synced 1mo ago

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

Nova Nested Inputs
==================

[](#nova-nested-inputs)

Nova Nested Fields is a [Laravel Nova](https://nova.laravel.com "Laravel Nova") field package that allows users to present their **checkboxes** or **radio** buttons in a nested, hierarchical structure. This package supports infinite nesting levels, providing a flexible solution for complex form requirements.

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

[](#requirements)

- `php: >=7.3`
- `laravel/nova: ^4.26`

Demo
----

[](#demo)

##### Nested radios input

[](#nested-radios-input)

[![Nested radio input](https://camo.githubusercontent.com/f4ed66295708391ecdb3972489f5b17acb260069695dcde6cfc99bf84e4f7310/68747470733a2f2f686f736e7962656e2e6d652f696d616765732f657a6769662d342d353835656330343762632e676966 "Nested radio buttons")](https://camo.githubusercontent.com/f4ed66295708391ecdb3972489f5b17acb260069695dcde6cfc99bf84e4f7310/68747470733a2f2f686f736e7962656e2e6d652f696d616765732f657a6769662d342d353835656330343762632e676966)

##### Nested checkbox input

[](#nested-checkbox-input)

[![Nested checkbox input](https://camo.githubusercontent.com/f05a02b6b2d119bd2cb4f4fbd2763b8f28efe25cd3a42d429daaee8acc23dcfe/68747470733a2f2f686f736e7962656e2e6d652f696d616765732f657a6769662d342d306531646635323766652e676966 "Nested radio buttons")](https://camo.githubusercontent.com/f05a02b6b2d119bd2cb4f4fbd2763b8f28efe25cd3a42d429daaee8acc23dcfe/68747470733a2f2f686f736e7962656e2e6d652f696d616765732f657a6769662d342d306531646635323766652e676966)

Features
--------

[](#features)

- Infinite nesting of checkbox/radio fields.
- Easy integration with existing Laravel Nova projects.
- Customizable display and styling options.
- Supports dynamic addition and removal of nested items.
- Intuitive user interface for managing nested selections.

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

[](#installation)

To install the Nova Nested Fields package, use Composer:

```
# Install Nova Nested Inputs
composer require hosnyben/nova-nested-inputs
```

Usage
-----

[](#usage)

Now you can use the **NovaNestedInputs** Field with [Nova](https://nova.laravel.com "Nova"). Make the **NovaNestedInputs** in the `fields` method like any other field in a `Resource`.

###### Example

[](#example)

```
// in a Nova Resource

use HosnyBEN\NovaNestedInputs\NovaNestedInputs;

public function fields(Request $request)
{
    return [
            NovaNestedInputs::make('Category', 'category_id')
                ->options(function() {
                    return [
                        ['id' => 1, 'label' => 'Parent 1'],
                        ['id' => 2, 'label' => 'Parent 2'],
                        ['id' => 3, 'label' => 'Parent 3'],
                        [
                            'id' => 4,
                            'label' => 'Parent 4',
                            'children' => [
                                ['id' => 5, 'label' => 'Child 4.1'],
                                [
                                    'id' => 6,
                                    'label' => 'Child 4.2',
                                    'children' => [
                                        ['id' => 8, 'label' => 'Child 4.2.1'],
                                        ['id' => 9, 'label' => 'Child 4.2.2'],
                                    ],
                                ],
                                ['id' => 7, 'label' => 'Child 4.3'],
                            ],
                        ],
                    ];
                })
                ->type('radio')
                ->color('#be860f')
                ->rules('required'),
    ]
}
```

#### Settings

[](#settings)

OptionTypeDescriptionDefault**type**StringYou define either a `checkbox` or `radio``radio`**color**StringYou define the CSS supported color. It may be a `hex color` or `rgb()` or `rgba()``#be860f`**options****function()** or multi-dimensional **Array\[\]**. It must respect the payload.You can define infinte loop of nested items. You may use a function if you're looking to load dynamic values of load your Eloquent model into.`array()`##### "options" field structure

[](#options-field-structure)

```
[
	[
		'id' => 1, // ID of the record
		'label' => 'My item', // String : Title of the item
		'disabled' => false, // Boolean
		'children' => [ // Array of nested item with the exact structure
			...
		]
    	],
    	...
]
```

License
-------

[](#license)

**Nova Nested Inputs** is open-sourced software licensed under the [MIT license](LICENSE.md).

Author
------

[](#author)

[![Hosny BEN](https://camo.githubusercontent.com/ba777ac123eae8c9a5eced781332396e4142fabb40b744778eebc75faa19af8a/68747470733a2f2f686f736e7962656e2e6d652f696d616765732f68622d77686974652d6f75746c696e652d7765622e706e67 "Hosny BEN")](https://camo.githubusercontent.com/ba777ac123eae8c9a5eced781332396e4142fabb40b744778eebc75faa19af8a/68747470733a2f2f686f736e7962656e2e6d652f696d616765732f68622d77686974652d6f75746c696e652d7765622e706e67)
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

[](#)

Made with ❤️ by [Hosny BEN](https://hosnyben.me "Hosny BEN")

###  Health Score

28

—

LowBetter than 54% of packages

Maintenance32

Infrequent updates — may be unmaintained

Popularity18

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity45

Maturing project, gaining track record

 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

Unknown

Total

1

Last Release

690d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/fae2f627f0a6f932cc9e4cd855c5e0dcdb0b09921554612634d0ee981cb6791c?d=identicon)[hosnyben](/maintainers/hosnyben)

---

Top Contributors

[![hosnyben](https://avatars.githubusercontent.com/u/5375990?v=4)](https://github.com/hosnyben "hosnyben (3 commits)")

---

Tags

fieldslaravelnovalaravelnova

### Embed Badge

![Health badge](/badges/hosnyben-nova-nested-inputs/health.svg)

```
[![Health](https://phpackages.com/badges/hosnyben-nova-nested-inputs/health.svg)](https://phpackages.com/packages/hosnyben-nova-nested-inputs)
```

###  Alternatives

[optimistdigital/nova-sortable

This Laravel Nova package allows you to reorder models in a Nova resource's index view using drag &amp; drop.

2872.1M6](/packages/optimistdigital-nova-sortable)[outl1ne/nova-sortable

This Laravel Nova package allows you to reorder models in a Nova resource's index view using drag &amp; drop.

2861.8M9](/packages/outl1ne-nova-sortable)[laravel/nova-log-viewer

A Laravel Nova tool for viewing your application logs.

136301.3k1](/packages/laravel-nova-log-viewer)[stepanenko3/nova-command-runner

Laravel Nova tool for running Artisan and bash(shell) commands.

36983.0k](/packages/stepanenko3-nova-command-runner)[sbine/route-viewer

A Laravel Nova tool to view your registered routes.

57215.9k](/packages/sbine-route-viewer)[dniccum/nova-documentation

A Laravel Nova tool that allows you to add markdown-based documentation to your administrator's dashboard.

37116.4k](/packages/dniccum-nova-documentation)

PHPackages © 2026

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