- How do I install and use suleymanozev/filament-radio-button-field?
- Install it with Composer using composer require suleymanozev/filament-radio-button-field, then reference the package's field class inside a Filament form schema. Integration is mechanically trivial: one dependency and one schema entry, measured in hours rather than days. Almost all of that time is verification rather than wiring, so plan to test rendering and validation on a real form before rolling it out.
- Does this package support Filament 4 and Filament 3?
- Third-party Filament fields are coupled to Filament's form-component base classes, view data contracts, and asset registration, all of which have shifted across majors. Check the repository for a stated version constraint and a CI matrix across Filament versions before assuming support, and pin both the package and Filament to explicit versions. If you are mid-migration between Filament 3 and 4, verify each major separately rather than trusting a broad constraint.
- What is the difference between this field and the built-in Filament Radio field?
- Filament already ships a Radio field, so this package only earns a slot if it closes a specific UX gap such as compact inline option groups, native browser radio rendering, custom option templates, or better density with large option sets. If your requirement is simply a radio field, the correct answer is the built-in component. Adopt this only when you can articulate the gap it fills.
- How do I render radio buttons inline instead of stacked?
- The package is designed to render options in either inline or stacked layouts, letting you trade horizontal density for readability in narrow form columns. The exact API for switching layouts is defined in the package README, so confirm the method or property name against the version you install. Pilot the inline layout on a form with a realistic number of options to check wrapping and label truncation before using it widely.
- Can each radio option have its own label and description?
- Yes, the field is built to render radio buttons with per-option labels and descriptions, so you can add supporting copy beneath each choice without custom Blade work. This is useful for options that need short explanations, such as plan tiers or notification preferences. Keep descriptions concise, since long text under every option quickly hurts scanability in admin panels.
- Does it support validation, required fields, disabled, and readonly states?
- Validation and required support are part of the package's stated feature set, so standard Laravel validation rules should apply to the field. Disabled and readonly behavior, along with reactive or live updates, should be verified against the stock Radio field for every attribute your forms actually use. Test those states explicitly on a pilot resource rather than assuming full parity.
- Does it work with options from enums, arrays, or Eloquent relationships?
- Option sources such as enums, associative arrays, and relationship-derived lists should be confirmed against the package before relying on them, because feature parity with the built-in Radio is not guaranteed for every source type. Check the README and, if unclear, inspect the field class to see how options are resolved. If your forms depend on enum-backed options, validate that path first since it is the most common source in modern Filament panels.
- Is the package actively maintained, and what are the alternatives?
- The repository has a small following and a single maintainer, which means effectively no community redundancy: no alternative implementation to fall back on and no crowd-sourced bug triage. Read that as a sustainability signal rather than a quality signal. The MIT license materially de-risks this, because fork-and-vendor is legally unencumbered with attribution, and reversing the decision is just editing the field class back in your form schema.
- Is the rendered radio markup accessible and does it work in dark mode or RTL layouts?
- The package is described as providing clear, accessible single-choice inputs, but accessibility claims should be verified in the rendered output rather than assumed. Check for fieldset and legend structure, correct label association, and full keyboard navigation with arrow keys, since admin panels are increasingly in accessibility audit scope. Dark mode, RTL, and SPA or navigate mode should also be spot-checked on a pilot form before wider adoption.
- Will the stored value match the built-in Radio field, and does it publish assets correctly in production?
- The persisted value should match the stock Radio field exactly, but confirm it, because a serialization difference is the one failure mode here with real data consequences. Also verify that the package registers its CSS and JS through Filament's asset pipeline and that this survives production asset publishing and caching. Pilot on one low-traffic resource, exercise rendering, validation, reactivity, and disabled states, and require your panel test suite to pass on any Filament upgrade pull request before merging.