Skip to main content
Import these classes from 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.
Last modified on October 16, 2026