--fff-* design system, first-class Spatie Media Library and disk/S3 uploads (Media Ingress), and an optional JSON custom-field layer without EAV tables.
Use any field as a standalone drop-in, or wire dynamic schemas through HasFlexFields and FlexFieldFormBuilder. Pre-built CSS and JavaScript ship in the package — no Node.js in production. Built so you do not install a separate plugin for each field type.
Standouts: SelectField — virtualized lists, async Livewire search, rich option rows, mobile bottom sheets · FlexSpatieMediaLibraryFileUpload / disk uploads · phone, currency, maps, signatures, rich editor, NPS/matrix surveys — one coherent kit.
Premium companion — Filament Flex Forms
Drag-and-drop Studio, public fill & embed, submissions, Insights, and integrations — a commercial Filament plugin built on Flex Fields.
Buy · Docs · GitHub
Quick start
composer update janczakb/filament-flex-fields and php artisan filament:assets. Automate the second step with filament:assets in post-autoload-dump for a hands-off workflow.
Two ways to use Flex Fields
Both approaches share the same component library, design tokens, and lazy asset loading. Start with Shared concepts for sizing, assets, and conventions.
Requirements
Optional Spatie packages (sluggable, translatable, media library, tags) integrate where documented — none are required for core usage.
What’s in the box
Every component loads only its own CSS and JS when rendered — including inside Filament modals and slide-overs.
HoldConfirmAction is documented under Actions and is not counted in the 79.