nowo-tech/select-all-choice-bundle
A Symfony bundle that adds a "select all" option to ChoiceType form fields, letting users check or uncheck every choice at once with a single click. Simple to install, configurable, and ideal for long checkbox or radio lists where bulk selection improves usability.
Framing correction: despite the “Laravel/PHP package” label, this is a Symfony 7/8 bundle (nowo-tech/select-all-choice-bundle). It registers a form type extension on ChoiceType (multiple=true) and ships a Twig form theme plus a Stimulus controller. There is no Laravel service provider, Blade view, or Form macro. Any “leverage” for a Laravel team is therefore pattern reuse, not dependency adoption.
Architecture fit
data-*; all toggle behavior is client-side in Stimulus. Clean separation, low coupling.Integration feasibility
composer require, enable bundle, set the option on the field, ensure the form theme and Stimulus controller are loaded. Sub-day effort.Form::macro) emitting the same data-* hooks, plus an Alpine/Stimulus controller. Realistically 1–3 dev days including tests.Technical risk
Key questions
aria-checked="mixed"?Stack fit
| Target stack | Fit | Action |
|---|---|---|
| Symfony 7/8 + Twig + Stimulus | Native | Adopt as dependency (after provenance check) |
| Symfony + Livewire-equivalent | Partial | Verify morph re-init before use |
| Laravel + Blade + Alpine | None as dependency | Port the pattern |
| Laravel + Blade + Stimulus | Partial | Reuse controller near-verbatim; rebuild markup |
| Laravel + Livewire | None | Reimplement as a Livewire component |
Migration path (Laravel)
data-* contract as a reference specification, not a copy-paste dependency.<x-select-all> Blade component that renders the master checkbox and annotates the target select/checkbox group with matching data attributes.@hotwired/stimulus (cheapest, keeps upstream parity) or reimplement in Alpine (~40 lines, avoids a new runtime).Compatibility
Sequencing
Maintenance
Support
Scaling
Failure modes
.prop('checked') sweeps that include disabled/optgroup children.Ramp-up
Recommendation: Do not add this as a Composer dependency in a Laravel codebase — it cannot be consumed there. Treat it as a reference implementation for a “select all” Blade/Alpine component, gated on a provenance check of the anomalous 2026 release date. If a Symfony 7/8 service exists in the estate, adopt directly after that check; the risk is low and the integration is under a day.
How can I help you explore Laravel packages today?