Skip to main content
Use ConfigurationSchema and ConfigurationOption from Bjanczak\FilamentFlexFields\Support\Components\Configuration. Configuration is bounded JSON data; closures and PHP objects are not option values.

Constructor options

Type examples

Boolean accepts true/false, not 1/0 or textual booleans. Integer does not coerce numeric strings. Number accepts integers and finite floats. List needs a sequential PHP array; Map needs a keyed array or []. Objects, resources, invalid UTF-8, non-finite numbers and excessive data reject.

Defaults and overrides

resolve() applies the ordered layers you give it, after option defaults. FamilySchemaRenderer supplies package, application, panel and instance layers. ChildRenderer supplies child package defaults, explicit child options and mapped parent options. These are related but distinct resolution paths. Maps and lists replace as a whole; they are not recursively merged. Missing keys inherit; explicit false, null and empty arrays remain values when valid for that option.
A required nullable option satisfies key presence when its value is null. Use nullable: false and appropriate value constraints if null must not be accepted. A locked option is a configuration guard; it does not authorize record access.

ConfigurationSchema methods and limits

Each map/contract is limited to 64 KiB, 4096 nodes and 16 nested levels. Bounds protect configuration admission; domain-specific rules such as a valid timezone or image ratio still belong to your adapter/component.
Last modified on October 16, 2026