norman-huth/nova-radio-field
A Laravel Nova radio field that lets you present selectable options as radio buttons inside forms. Provides a simple, native-feeling alternative to dropdowns for single-choice fields, making options visible at a glance and improving clarity for small sets of choices.
Select or a native field is a one-line change per resource. Say this out loud so the team does not over-deliberate on a decision whose cost-of-being-wrong is near zero.Recommendation: do not adopt the Composer dependency. Either use the native Nova radio field (verify it exists in your Nova major first — it likely does), use a plain Select, or vendor the MIT-licensed source into app/Nova/Fields with attribution and a named owner. Ship it behind a single resource, then decide whether it widens.
Consider it only if all of the following hold:
Select covers it. Answer this first; recent Nova majors ship a native Radio, which likely makes the package redundant.Look elsewhere — or build — when:
For executives: This is a small radio-button widget for our Laravel admin panel — not a platform bet — and my recommendation is not to adopt it. It has been archived by its author, has a single maintainer, zero downstream users, and no release since late 2023. Taking it on means owning it forever, including every future Nova upgrade. The equivalent is about one engineer-day to build, and because it is MIT-licensed we can copy the source outright if we want a head start. Adoption cost exceeds build cost, with a permanent maintenance tail and no upside. The good news is the decision is small and reversible: values live in ordinary database columns, so switching later is a code change with no data migration. I am using this as the first application of a simple policy — no archived dependencies in surfaces our operators depend on.
For engineering: MIT-licensed Nova radio field, archived, zero dependents, no Nova 5 path. Likely redundant with the native radio field in recent Nova majors — confirm that in composer.lock before anything else; if native works, the assessment ends. If we do want custom radios, two options, both cheaper than dependency adoption: (1) vendor the field class and Vue component into app/Nova/Fields with the MIT notice retained, own it as first-party code with a named owner and a retirement criterion, or (2) use native Radio/Select and spend the day elsewhere. Do not add the Composer dependency unless policy forces it; if it does, pin an exact version and mirror the source alongside the lockfile. Verification is the expensive part, not install: prebuilt dist/ assets can load fine and still fail at runtime against a different Nova minor, so budget a staging spike covering create, update, detail, index, conditional visibility, and null/default save-and-reload. Roll out behind one resource first, and record the ADR — decision, rationale, owning team, exit criteria. One integrity note: the field constrains only browser input; enforce the enumeration in backend/resource validation with Rule::enum or in:, sourced from the same definition as the field options so they cannot drift.
How can I help you explore Laravel packages today?