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
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.
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.