- How do I install guava/filament-icon-select-column in a Laravel Filament panel?
- Install it with Composer, then add IconSelectColumn::make('icon')->options([...]) to the columns() array of the Filament resource that holds your icon field. There are no migrations, service providers to publish, environment variables, or config files to manage. The whole integration is one Composer line plus one array entry, so it can be reversed just as quickly.
- Does this package work with Filament v3?
- Not on the current release line. The 3.x versions target Filament v4 exclusively, while the 2.x line is the one built for Filament v3. On a v3 panel you either stay on 2.x or take the Filament v4 upgrade alongside the package, because the package version is derived from your Filament major rather than being an independent choice.
- What Laravel, PHP, and Filament versions does it require?
- It fits Laravel applications running Filament v4 admin panels on PHP 8.2 or newer. The constraint to check first is the Filament major, since the package version must match it: 3.x for Filament v4 and 2.x for Filament v3. Confirm the exact Composer constraint declared by 3.0.x before locking it into your composer.json.
- How do I configure which icons appear in the dropdown?
- Pass your icon set to the options() method on the column, for example IconSelectColumn::make('icon')->options([...]). The package ships no configuration file, environment variables, or remote icon source, so the option list lives entirely in your resource class. That also means dynamically or remotely sourced icon sets are not modeled out of the box and would need your own handling.
- Can the icon dropdown close automatically after a selection is made?
- Yes, via the fluent closeOnSelection() modifier on the column. Be aware that this behavior was lost in the 3.0.0 rewrite for Filament v4 and restored in 3.0.1, so pin at least 3.0.1 if you rely on it. Also verify the API name has not moved between 2.x and 3.x if you are porting existing column definitions.
- Does the column save the selected icon to my model automatically?
- It is designed for exactly that: the column renders the stored icon value and lets an operator change it from an in-cell dropdown, with the selection saved back to the model attribute. You do not write a controller, route, or custom endpoint for it. Because it is a table column rather than a form field, confirm the save path behaves as expected in your resource before rolling it out broadly.
- Is it better to build a custom Filament column instead of using this package?
- The fallback is genuinely cheap here. The package is a thin UI component, so a custom Filament column that renders and edits an icon value is measured in days rather than weeks. Borrow it where it fits your Filament major, and keep that fallback in mind if the package lags a future Filament release or if you need behavior the picker does not model.
- Is guava/filament-icon-select-column safe to use in production?
- Its blast radius is small: it is a leaf admin-panel dependency that adds one table column class, with no Eloquent models, migrations, queue jobs, scheduled tasks, outbound HTTP calls, or environment variables. The realistic risks are soft ones, including a single maintainer with no SLA, no published security review or accessibility conformance documentation, and an effectively empty dependency graph giving no evidence of production hardening. Nothing it does sits on a customer-facing request path, so failures are confined to a single back-office table cell.
- What test coverage exists for the column's interaction behavior?
- Interaction behavior, as distinct from render output, is the weak spot: the 3.0.0 rewrite was not behavior-parity complete on release and 3.0.1 existed only to restore closeOnSelection. That regression class never shows up in logs, error tracking, or CI, so observability gives you no protection. Treat 3.0.x as stabilizing rather than stable and add your own smoke tests for dropdown open and close, keyboard navigation, and search and filter integration.
- How well is the package maintained, and what happens when Filament v5 ships?
- It is a single-maintainer package with no SLA, no dependents offering evidence of production use, and an unknown release cadence relative to Filament minor releases. If Filament v5 arrives before this package follows, you fall back to an in-house column on a timeline you do not control. Before adopting, check how many other Filament v4 plugins your panel depends on, since the aggregate of pending rewrites is what actually stalls an upgrade.