- How do I install filament-multiselect-two-sides in a Laravel Filament app?
- Install it with Composer using composer require lucasgiovanny/filament-multiselect-two-sides, then publish or build the package assets with php artisan filament:assets or the package's vendor:publish step. The field is opt-in per form, so you add it to a Filament schema array the same way you would add Select::make(). It assumes Laravel, Livewire, and Filament v3, with Alpine.js handling the front-end transfer behavior.
- Which Filament versions does filament-multiselect-two-sides support?
- The package is built for Filament v3, and its last release date of 2024-03-13 places it firmly in that window. A Filament v4-compatible release is not confirmed, so pin your Filament minor version in composer.json and test upgrades deliberately. If you need v4 support, treat it as a spike rather than an assumed drop-in.
- Does filament-multiselect-two-sides support BelongsToMany relationships?
- The field's state shape is the key integration question: it is commonly used with plain array state, which suits JSON or pivot-backed columns. Relationship support via relationship() for BelongsToMany is not confirmed in the package evaluation, so verify it in a small spike before relying on it. If it is array-only, add a saveRelationshipsUsing closure or a pivot sync hook to bridge the gap.
- Can I use the two-sided multiselect with a JSON column in Laravel?
- Yes, if the field binds to a plain array, which is the natural fit for a JSON or array-cast column. Use Filament's standard dehydrate state handling and cast the column as array or json in your Eloquent model. Confirm the documented dehydrate path in a test so the selected IDs round-trip correctly on create and edit.
- Is there a Filament v4 compatible release of this package?
- No v4-compatible release is confirmed; the last release was in March 2024 and the package sits in the Filament v3 window. Filament major versions have historically changed form-field and asset-registration APIs, so an upgrade path is the largest scheduling risk. Wrap the field in your own class so a future fork or replacement has a single swap point.
- How do I publish the assets for filament-multiselect-two-sides in production and CI?
- Because the component ships Alpine.js behavior, you must run the Filament asset publish or build step in every environment, including CI and container builds. Missing assets are a routine deployment bug for packages like this, so add the step to your deploy checklist and Dockerfile. Verify the field renders and moves options after a fresh build, not just in local development.
- Does the two-sided multiselect work inside Repeater, Builder, and modal-wrapped actions?
- It registers as a standard Filament Field subclass, so it composes inside schema arrays in resources, custom pages, relation managers, and action modals. The risk is Alpine component instances being cloned and destroyed inside Repeater, Builder, and modal contexts. Test those containers explicitly, because a field that works on a simple form can still lose state when its parent is duplicated.
- Is the option list searchable or async for large datasets?
- Searchable, paginated, or async option loading is not confirmed, so assume the candidate list is fully server-rendered until you test otherwise. That is likely fine for hundreds of options such as roles or tags, but the practical ceiling for tens of thousands is unknown. For very large sets, benchmark it or use a searchable Filament Select instead.
- How are validation, required state, and accessibility handled in a two-list control?
- The field participates in Filament's normal form lifecycle, including validation rules, dehydrateStateUsing, and afterStateUpdated hooks, so required and validation messages render through Filament's standard machinery. Test the messages against the two-list layout, because a dual-list control can display errors awkwardly. Keyboard and screen-reader behavior is also worth checking; WCAG viability out of the box is not confirmed and may need remediation.
- Is filament-multiselect-two-sides actively maintained, and should I depend on it directly or wrap it?
- It has one maintainer, roughly 68 stars, and zero Packagist dependents, so there is little third-party production validation and you would be an early adopter. The safest approach is to require the package but expose it through your own App\Filament\Fields\TransferSelect wrapper, keeping the upstream namespace out of dozens of resource files. That costs about half a day and gives you a clean replacement point if you later fork it or move to a native Filament solution.