astersnake / filament-radio-group
A radio group field for Filament with support for icons and custom colors.
Fund package maintenance!
astersnake
Installs: 190
Dependents: 0
Suggesters: 0
Security: 0
Stars: 3
Watchers: 1
Forks: 1
Open Issues: 2
Language:Blade
Requires
- php: ^8.0
- filament/filament: ^2.0
- illuminate/contracts: ^9.0|^10.0
- spatie/laravel-package-tools: ^1.13.5
Requires (Dev)
- nunomaduro/collision: ^6.0
- nunomaduro/larastan: ^2.0.1
- orchestra/testbench: ^7.0
- pestphp/pest: ^1.21
- pestphp/pest-plugin-laravel: ^1.1
- pestphp/pest-plugin-livewire: ^1.0
- pestphp/pest-plugin-parallel: ^0.3
- phpstan/extension-installer: ^1.1
- phpstan/phpstan-deprecation-rules: ^1.0
- phpstan/phpstan-phpunit: ^1.0
- phpunit/phpunit: ^9.5
- spatie/laravel-ray: ^1.26
This package is auto-updated.
Last update: 2025-03-10 00:04:30 UTC
README
The filament-radio-group package provides an enhanced radio button group functionality for your Filament applications. It offers a cleaner way to handle and display multiple radio button options, with support for customized icons, descriptions, and display arrangements.
Installation
Install the filament-radio-group package via composer:
composer require astersnake/filament-radio-group
Usage
The filament-radio-group package provides a RadioGroup
class, which you can use to construct a radio button group in your application.
use Astersnake\Filament\RadioGroup\RadioGroup; $radioGroup = RadioGroup::make('radio_group') ->options([ 'option_1' => 'Option 1', 'option_2' => 'Option 2', 'option_3' => 'Option 3', ]) ->descriptions([ 'option_1' => 'Description for option 1', 'option_2' => 'Description for option 2', 'option_3' => 'Description for option 3', ]) ->icons([ 'option_1' => 'lucide-fish', 'option_2' => 'lucide-fish', 'option_3' => 'lucide-fish', ]) ->iconsColor([ 'option_1' => 'text-primary-600', 'option_2' => 'text-success-600', 'option_3' => 'text-danger-600', ]) ->columns(3) ->required();
In the example above, RadioGroup::make('radio_group')
creates a new radio button group with the name 'radio_group'.
- The
options()
method takes an associative array where keys are option values and values are option labels. - The
descriptions()
method takes an associative array where keys are option values and values are descriptions for options. - The
icons()
method takes an associative array where keys are option values and values are icon names. - The
iconsColor()
method is used to assign colors to the icons.
Theming
If you are using a custom theme for Filament, you will need to add this package's views to your Tailwind CSS config.
content: [ ... "./vendor/astersnake/filament-radio-group/resources/views/**/*.blade.php", ],
Full Compatibility
The filament-radio-group package is built on the original Filament radio field, which means it supports all the functionalities available from the base radio field. This includes but is not limited to labeling, setting a default value, and adding help text. The package simply extends these functionalities, providing more flexibility and customization options.
For more information on using the base radio field functionalities, please refer to the Filament Documentation.
Testing
To run the tests for the package:
composer test
Changelog
Please refer to the CHANGELOG for more information about the recent changes.
Contributing
Your contributions are always welcome! Please see our CONTRIBUTING guide for details.
Security Vulnerabilities
If you discover any security vulnerabilities in this package, please follow our security policy to report them.
Credits
License
This package is licensed under the MIT License (MIT). Please see the License File for more information.