athphane / filament-support
Helper traits, base component configs, and shared utilities.
Fund package maintenance!
athphane
Installs: 4
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 0
Open Issues: 0
pkg:composer/athphane/filament-support
Requires
- php: ^8.3 || ^8.4
- filament/filament: ^5.2
- filament/spatie-laravel-media-library-plugin: ^5.2
- illuminate/contracts: ^11.0 || ^12.0
- spatie/laravel-package-tools: ^1.16
Requires (Dev)
- larastan/larastan: ^3.0
- laravel/pint: ^1.14
- nunomaduro/collision: ^8.8
- orchestra/testbench: ^10.0.0||^9.0.0
- pestphp/pest: ^4.0
- pestphp/pest-plugin-arch: ^4.0
- pestphp/pest-plugin-laravel: ^4.0
- phpstan/extension-installer: ^1.4
- phpstan/phpstan-deprecation-rules: ^2.0
- phpstan/phpstan-phpunit: ^2.0
README
Helper traits, base component configs, and shared utilities for Filament.
Installation
You can install the package via composer:
composer require athphane/filament-support
You can publish the config file with:
php artisan vendor:publish --tag="filament-support-config"
Configuration
The published config file allows you to enable/disable specific modifiers:
// config/filament-support.php return [ 'modifiers' => [ 'forms' => env('FILAMENT_SUPPORT_MODIFIER_FORMS', true), 'actions' => env('FILAMENT_SUPPORT_MODIFIER_ACTIONS', true), 'tables' => env('FILAMENT_SUPPORT_MODIFIER_TABLES', true), 'infolists' => env('FILAMENT_SUPPORT_MODIFIER_INFOLISTS', true), 'summarizers' => env('FILAMENT_SUPPORT_MODIFIER_SUMMARIZERS', true), ], ];
All modifiers are enabled by default.
Features
Modifiers
The package provides automatic configuration for Filament components:
- Forms: Auto-title labels, trim text input values, native date pickers, helper icons
- Actions: Set icon positions and default icons
- Tables: Title case labels, non-native filters, hidden on relation manager macro
- Infolists: Title case labels, enum display macro
- Summarizers: Default money summarizer
Components
Coordinate (Form Component)
A Google Maps coordinate picker for Filament forms.
use Athphane\FilamentSupport\Forms\Components\Coordinate; Coordinate::make('coordinates') ->defaultCoordinates(4.1749, 73.5079) ->mapHeight(500);
PublishStatusSelect (Form Component)
A dropdown for content publishing status.
use Athphane\FilamentSupport\Forms\Components\PublishStatusSelect; PublishStatusSelect::make('status');
SpatieMediaLibraryFileUpload (Form Component)
Enhanced file upload with automatic disk configuration.
use Athphane\FilamentSupport\Forms\Components\SpatieMediaLibraryFileUpload; SpatieMediaLibraryFileUpload::make('attachment');
CoordinateMap (Infolist Component)
Read-only coordinate map display.
use Athphane\FilamentSupport\Infolists\Components\CoordinateMap; CoordinateMap::make('coordinates');
Enums
PublishStatuses
Enum for content publishing status with Filament integration.
use Athphane\FilamentSupport\Enums\PublishStatuses; // Options: DRAFT, PENDING, PUBLISHED, REJECTED // Includes color, icon, and label methods for Filament
Traits
FilamentAdminUrls
Generate admin URLs for model records.
use Athphane\FilamentSupport\Traits\FilamentAdminUrls; class Post extends Model { use FilamentAdminUrls; // Disable admin URL generation if needed public function disableAdminUrlGeneration(): bool { return true; } } // Usage $adminUrl = $post->getAdminUrl('edit');
Testing
composer test
Changelog
Please see CHANGELOG for more information on what has changed recently.
Contributing
Please see CONTRIBUTING for details.
Security Vulnerabilities
Please review our security policy on how to report security vulnerabilities.
Credits
License
The MIT License (MIT). Please see License File for more information.