Bjanczak\FilamentFlexFields\Support\Components\Contracts.
ComponentPackage
appearance() returns the corresponding appearance namespace. export() exposes
value-free package metadata. sameContractAs() compares the exact semantic
installation contract rather than assuming two installed packages are equivalent.
ComponentFamily
$package is the installed typed package constructed in your provider. A family
may omit a column or entry, but collection must include every surface it declares.
Changing a visual style does not necessarily change stored values. Advance each
version only for changes in its corresponding contract and provide explicit migrations.
ComponentSurface
RatingField is your implementation. componentId() returns the ID declared by
its family; registration validates the class without constructing a record or
field. A Primitive cannot declare a family renderer.
The dynamic
FamilySchemaAdapter form/table/infolist path configures Field,
Column and Entry. Display and Action are valid registered family surfaces but
require their own rendering path; do not assume the three dynamic builders render them.Version choices
Read package contracts for complete
provider registration and migrations for stored data.