linhntaim / advanced-fields
Advanced Fields for Filament's Form Builders.
Installs: 4
Dependents: 0
Suggesters: 0
Security: 0
Stars: 1
Watchers: 0
Forks: 0
Open Issues: 0
pkg:composer/linhntaim/advanced-fields
Requires
- php: ^8.2
- filament/forms: ^4.0|^5.0
This package is auto-updated.
Last update: 2026-02-11 02:40:09 UTC
README
Multiple Choice Grid/Radio Grid, Checkbox Grid, ... and more.
Installation
You can install the package via composer:
composer require linhntaim/advanced-fields
Optionally, you can publish the views using
php artisan vendor:publish --tag="advanced-fields-views"
Usage
Grid Fields
Supports: RadioGrid, CheckboxGrid.
use Filament\Schemas\Schema; use LinhntAim\AdvancedFields\RadioGrid; use LinhntAim\AdvancedFields\CheckboxGrid; public function mount(): void { $this->form->fill([ // format of the state used for RadioGrid 'filled_radio_grid' => [ 'row_1' => 'column_c', 'row_2' => 'column_b', 'row_3' => 'column_a', ], // format of the state used for CheckboxGrid 'filled_checkbox_grid' => [ 'row_1' => [ 'column_c', 'column_a', ], 'row_2' => [ 'column_b', 'column_c', ], 'row_3' => [ 'column_a', 'column_b', ], ], ]); } public function form(Schema $schema): Schema { return $schema->components([ ..., RadioGrid::make('radio_grid') ->options([ 'column_a' => 'Column A', 'column_b' => 'Column B', 'column_c' => 'Column C', ]) ->rows([ 'row_1' => 'Row 1', 'row_2' => 'Row 2', 'row_3' => 'Row 3', ]) // optionally, (one) radio must be checked in each row ->required() // optionally, disable specific column option(s) ->disableOptionWhen(fn($value) => $value == 'column_b') // optionally, set the label of the "Clear selection" button // - note: the button will be shown after checking any radio if not required ->clearButtonLabel('X'), ..., CheckboxGrid::make('checkbox_grid') ->options([ 'column_a' => 'Column A', 'column_b' => 'Column B', 'column_c' => 'Column C', ]) ->rows([ 'row_1' => 'Row 1', 'row_2' => 'Row 2', 'row_3' => 'Row 3', ]) // optionally, at least one checkbox must be checked in each row ->required() // optionally, disable specific column option(s) ->disableOptionWhen(fn($value) => $value == 'column_b'), ..., ]); }
Changelog
Please see CHANGELOG for more information on what has changed recently.
License
The MIT License (MIT). Please see License File for more information.

