vitisstudio/filament-choosable-chips
A Filament form component that lets users select one or more options as clickable chips, offering a compact visual alternative to dropdowns and integrating cleanly with Filament forms.
Select (compact but hides options behind a click) and CheckboxList/Radio (fully visible but vertically expensive). This supports decisions like "can we expose 6–12 enum-backed options — status, tags, channels, roles — without a multi-row layout that pushes the primary action below the fold?"Field class, state casting for single vs. multiple, per-option color/icon/description resolution, Blade view + Alpine interactivity for dismiss/check states, enum bridging, and derived validation. Realistically 1–3 engineering days plus ongoing maintenance against Filament major versions. At composer require cost, the buy side wins if the dependency risk is acceptable (see below).Select, some ToggleButtons, some CheckboxList), adopting one field is a concrete, low-risk way to execute a "consistent admin UI" decision without a design-system project.in rule derived from enabled options matters more than it looks: it means "disabled option" and "invalid submission" stay in sync automatically, which is a decision to not hand-maintain allowed-value lists per form.Consider it when:
->multiple() toggle means the same primitive covers radio-like and checkbox-like cases, which reduces the number of distinct components your team must learn.Look elsewhere when:
Select or relationship field.VitisStudio), no release history, no stated support policy. For a component that lives inside your admin panel — low blast radius, but also low switching cost — this is usually acceptable; for a regulated or long-lived product, vendor a fork or budget the 1–3 days to build in-house.gridDirection()/size(), or a custom chip renderer.Adoption recommendation: pilot in one non-critical resource behind normal code review; verify keyboard/screen-reader behaviour and the single↔multi state cast before rolling out broadly. Pin the version — pre-1.x stability guarantees are not something a v1.0.0 release establishes on its own.
For executives (one paragraph): This is a small, free, open-source UI component for our admin panel that makes option pickers — statuses, tags, categories — more compact and more legible, with colour and icon cues that reduce mis-selection and support tickets from internal users. It is not customer-facing and carries no licensing cost or contractual commitment. The effort to adopt is measured in hours, not weeks, against an estimated 1–3 engineering days to build and maintain an equivalent ourselves. The main caveat is that it requires a newer PHP version (8.4+) and the latest Filament release, and it is a brand-new package from a single publisher — so it's a low-risk, easily reversible bet, best trialled on one screen before wider use. Think of it as admin-experience polish we can bank cheaply, not a strategic investment.
For engineering (summary): A Filament v5 form field rendering options as dismissable, colour/icon-bearing chips, with a fluent API mirroring Select/ToggleButtons. Covers single and multiple selection with correct scalar/array state casting, per-option colors()/icons()/descriptions(), disableOptionWhen(), checkSelected() with configurable selectedColor()/checkIcon(), size(), defaultColor(), gridDirection(), enum support, and an in rule derived from enabled options. Two constraints to plan around: PHP 8.4+ and filament/forms ^5.0 are both hard floors, and there is no documented fallback. Two behaviours to know before wiring it up: checkSelected() auto-enables when no per-option icons are set, and the check mark replaces the dismiss button while shown — you can't have both. Open questions we should answer in the spike: keyboard/screen-reader semantics for a selectable badge with a delete affordance, and whether the derived in rule composes correctly with our own validation. Pin to v1.0.0; single-vendor package with no support policy, but the surface area is small and forking is cheap if it goes quiet.
How can I help you explore Laravel packages today?