Basic checklist
['wifi', 'breakfast']. Numeric keys are accepted and normalized to strings when the field saves its state. An empty selection is [].
Icons and descriptions
- Rich options
- Separate helper arrays
desc is an alias for description. Explicit option icons and descriptions take precedence over the separate helper arrays.Selection limits
exactSelections() takes precedence over minimum and maximum. It also caps additions in the interface. Limits accept nonnegative integers, closures or null. null removes that limit. A required checklist has an effective minimum of one unless a minimum is explicitly set. Negative counts and a minimum greater than the maximum, without an exact limit, are invalid configurations.
Unavailable options
Sizes and colors
sm, md and lg (default). Each also accepts the corresponding ControlSize enum. The default accent is the panel’s primary color. Standard panel colors include primary, secondary, success, warning and danger. color(null) omits the color class.
Dynamic options and dependent forms
live() when its change should rebuild dependent options. Clear dependent selections when their available keys change; unavailable old values fail server validation rather than being silently accepted. Filament’s afterStateUpdated() and standard field configuration remain available.
Saving to a model
Use a JSON column and an array cast for multiple choices:Keyboard and mobile
- Tab enters the list at its active option.
- Up/Down and Home/End move focus without changing checkbox selections.
- Left/Right also move focus and respect RTL direction.
- Space or Enter toggles the focused option once per press.
- Disabled options and unchecked options blocked by the limit are skipped.
Configuration reference
Rich option keys are
label, description (or desc), icon and disabled. Labels and descriptions render as escaped text. In JSON field definitions, the field type is flex_checklist.