filamerce/filament-model-states
Filament plugin for managing Laravel model states directly from your admin panel. View current states, transition models through their state machine, and add state columns, badges, and actions—integrating with spatie/laravel-model-states for clean, typed state management.
Architecture fit: filamerce/filament-model-states is a Laravel/Filament integration package that surfaces spatie/laravel-model-states transitions inside Filament admin panels. It fits naturally where teams already use Filament resources and spatie state machines, keeping state-transition UI close to the domain model rather than duplicating it in custom form actions. v2.2.0 exposes previously hardcoded icons as Filament icon aliases, which is a presentation-layer decoupling improvement: applications can now override state icons through Filament’s standard icon-alias mechanism instead of forking or patching the package.
Integration feasibility: Low-to-moderate. Adoption is a standard Composer install with Laravel package auto-discovery, followed by wiring the package’s field/column/action components into Filament resources. v2.2.0 does not introduce new infrastructure, migrations, or external services. The icon-alias change should be transparent for existing consumers if default aliases preserve prior icon behavior, and it creates a supported customization path for branding or design-system alignment. The main integration work is verifying the package’s supported Filament major version and confirming how aliases are registered and overridden in that Filament version.
Technical risk: Low. This is a minor semver release with one feature PR and no stated breaking changes or deprecations. Primary risks are compatibility edges rather than functional breakage: the Filament icon-alias API differs across Filament majors; alias names could collide with application-defined aliases; and applications that previously relied on hardcoded icon names may need to confirm their visual output after upgrade. The absence of a migration or config change keeps rollout risk contained.
Key questions:
Stack fit: Strong for Laravel applications using Filament for back-office or operational tooling and spatie model states for domain workflows. The package reduces custom UI code for state transitions and keeps state presentation consistent across resources. v2.2.0 improves fit with design-system-driven teams by making state icons themeable through Filament aliases.
Migration path: Treat this as a low-risk minor upgrade from v2.1.3. Update the Composer constraint to ^2.2, run composer update filamerce/filament-model-states, clear cached Filament components/icons, and smoke-test state-transition screens. No database migration or data backfill is indicated by the release notes. If the application needs custom icons, add alias overrides in the application’s Filament panel/service provider rather than modifying vendor files.
Compatibility: Confirm the application’s Filament version supports the alias registration approach used by the package, and confirm the installed spatie/laravel-model-states version remains within the package’s tested matrix. Because the change is presentation-focused, compatibility risk is concentrated in Filament bootstrapping and icon resolution rather than state-transition logic.
Sequencing:
composer.lock and document the alias override pattern in the internal runbook.Maintenance: Low. The package has a narrow surface area, and v2.2.0 adds a customization feature rather than new runtime complexity. Maintenance effort is mainly dependency alignment with Filament and spatie model-states upgrades. Pin the package version and review release notes on each minor bump.
Support: Community-supported open-source package with no commercial SLA. Internal ownership should be assigned for dependency updates and Filament-major upgrade planning. Support risk is moderate if the package lags behind Filament releases, so track its compatibility matrix before major Filament upgrades.
Scaling: Negligible runtime impact. Icon aliases and UI components are resolved during Filament rendering/bootstrapping, not in high-volume domain paths. The package does not add queues, storage, or external calls. Scaling concerns are therefore inherited from Filament and the underlying state machine, not from this release.
Failure modes:
Ramp-up: Low for Laravel/Filament developers. Teams already familiar with Filament resource customization can adopt the package and override icons quickly. New developers need a short orientation on how model states map to Filament components and where aliases are registered. Document the package’s role, supported versions, and icon-override convention to keep onboarding efficient.
How can I help you explore Laravel packages today?