mohkoma/nova-multiselect-checkboxes
A Laravel Nova field for selecting multiple options with checkboxes, offering a clean, searchable, and customizable way to manage many-to-many relationships and long option lists inside your Nova resources and forms.
Architecture fit
array cast). The footprint is narrow — presentation layer plus serialization — so it is architecturally "safe" in the sense that it does not touch application domain logic.Multiselect (searchable, tag-style) and BooleanGroup (checkbox list) natively, and a "dropdown with checkboxes" is a UX hybrid of the two. The package's differentiated value is cosmetic, not functional.Integration feasibility
composer require, add the field to a NovaServiceProvider/Resource fields() method, publish and serve the compiled dist/js/field.js, ensure the underlying column is JSON/text and cast to array on the Eloquent model.composer.json constraint evidence for PHP 8.x, no evidence of CI or asset build reproducibility, no tests, and no guarantee the Vue component mounts under the current Nova bootstrapping (Nova.booting callback signature, mixins, and asset publishing conventions have moved).filterable/sortable implementations — a nontrivial Nova extension surface.Technical risk
composer audit/abandoned-package checks, creating recurring noise and audit exceptions.Key questions
BooleanGroup (in a modal/panel) or Multiselect? If yes, this package is unnecessary.Stack fit
Migration path
BooleanGroup for bounded option sets and Multiselect for large ones; if the dropdown-checkbox affordance is a hard product requirement, build a small in-house Nova field (a few hundred lines of Vue plus a service provider) that we own outright. Estimated effort: 3–5 engineer-days including tests.Compatibility
array, in:), and Nova's ->onlyOnForms() / ->hideFromIndex() modifiers.Sequencing
BooleanGroup/Multiselect against the criteria. If it passes, stop; deprecate the package idea.Maintenance
Support
Scaling
Failure modes
composer audit gates. Mitigation: fork early, or accept and document an exception.Ramp-up
How can I help you explore Laravel packages today?