relaticle / custom-fields
User Defined Custom Fields for Laravel Filament
Requires
- php: ^8.3
- filament/filament: ^4.0
- postare/blade-mdi: ^1.0
- spatie/laravel-data: ^4.0.0
- spatie/laravel-package-tools: ^1.15.0
Requires (Dev)
- larastan/larastan: ^3.0
- laravel/pint: ^1.0
- nunomaduro/collision: ^8.1
- orchestra/testbench: ^9.0
- pestphp/pest: ^4.0
- pestphp/pest-plugin-arch: ^4.0
- pestphp/pest-plugin-laravel: ^4.0
- pestphp/pest-plugin-livewire: ^4.0
- pestphp/pest-plugin-type-coverage: ^4
- phpstan/phpstan-deprecation-rules: *
- phpstan/phpstan-phpunit: ^2.0
- rector/rector: *
- spatie/laravel-ray: ^1.26
- dev-main
- 2.x-dev
- 2.0.0-beta4
- 2.0.0-beta3
- 2.0.0-beta2
- 2.0.0-beta1
- 1.x-dev
- 1.5.24
- 1.5.23
- 1.5.22
- 1.5.21
- 1.5.20
- 1.5.19
- 1.5.18
- 1.5.17
- 1.5.16
- 1.5.15
- 1.5.14
- 1.5.13-beta
- 1.5.12-beta
- 1.5.11-beta
- 1.5.0-beta
- 1.4.21
- 1.4.2
- 1.4.1
- 1.4.0
- 1.3.9
- 1.3.8
- 1.3.7
- 1.3.6
- 1.3.5
- 1.3.4
- 1.3.3
- 1.3.2
- 1.3.1
- 1.3.0
- 1.2.9
- 1.2.8
- 1.2.7
- 1.2.6
- 1.2.5
- 1.2.4
- 1.2.3
- 1.2.2
- 1.2.1
- 1.2.0
- 1.1.9
- 1.1.8
- 1.1.7
- 1.1.6
- 1.1.5
- 1.1.4
- 1.1.3
- 1.1.2
- 1.1.1
- 1.1.0
- 1.0.9
- 1.0.8
- 1.0.7
- 1.0.6
- 1.0.5
- 1.0.4
- 1.0.3
- 1.0.2
- 1.0.1
- 1.0
- 0.9.9.2
- 0.9.9.1
- 0.9.8.9
- 0.9.8.8
- 0.9.8.7
- 0.9.8.6
- 0.9.8.5
- 0.9.8.4
- 0.9.8.3
- 0.9.8.2
- 0.9.8.1
- 0.9.8
- 0.9.7
- 0.9.6
- 0.9.5.3
- 0.9.5.2
- 0.9.5.1
- 0.9.5
- 0.9.4
- 0.9.3
- 0.9.2
- 0.9.1
- 0.9.0
- dev-feature/features-management
- dev-refactor/field-types
- dev-feature/importer
- dev-feature/entity-management
- dev-feature/builder-api-refactoring
- dev-feature/conditions
- dev-validation-experiments
- dev-feature/select-option-colors
This package is auto-updated.
Last update: 2025-09-09 09:47:57 UTC
README
A powerful Laravel/Filament plugin for adding dynamic custom fields to any Eloquent model without database migrations.
Features
- 20+ Field Types - Text, date, select, file upload, rich editor, and more
- Conditional Visibility - Show/hide fields based on other field values
- Multi-tenancy - Complete tenant isolation and context management
- Filament Integration - Forms, tables, infolists, and admin interface
- Import/Export - Built-in CSV capabilities
- Security - Optional field encryption and type-safe validation
- Extensible - Custom field types and automatic discovery
Requirements
- PHP 8.3+
- Laravel via Filament 4.0+
Getting Started
Integrating Custom Fields Plugin into a panel
use Relaticle\CustomFields\CustomFieldsPlugin; use Filament\Panel; public function panel(Panel $panel): Panel { return $panel // ... other panel configurations ->plugins([ CustomFieldsPlugin::make(), ]); }
Setting Up the Model
Add the trait to your model:
use Relaticle\CustomFields\Models\Contracts\HasCustomFields; use Relaticle\CustomFields\Models\Concerns\UsesCustomFields; class Post extends Model implements HasCustomFields { use UsesCustomFields; }
Add to your Filament form:
use Filament\Schemas\Schema; use Relaticle\CustomFields\Facades\CustomFields; public function form(Schema $schema): Form { return $schema->components([ // Your existing form fields... CustomFields::form()->forSchema($schema)->build() ]); }
Documentation
For complete installation instructions, configuration options, and examples, visit our documentation.
Contributing
Contributions are welcome! Please see our contributing guide in the documentation.
Licensing
This plugin is dual-licensed: Open Source (AGPL-3.0) for open source projects, and Commercial License for closed-source projects.
AGPL-3.0 requires your entire application to be open source. For private/closed-source projects, you need a commercial license.
Please take a look at our documentation for licensing details.