Skip to main content
← Back to Table of Contents

Summary

Premium multi-select card group (checkbox behavior). Features rich option metadata, Material-style ripples, and built-in validation for minimum, maximum, or exact selection counts.

Basic usage

Feature selection (Stack layout)

Add-ons grid (Check indicator)


State & validation

Stored value

State is an array of unique option keys.

Validation rules (built-in)


Configuration API

Shares the core card API with ChoiceCards.

Real-world examples

Pizza toppings with limits

Integration selector with icons


Playground

/admin/flex-fields/choice-checkbox-cards See Playground for setup.

CSS classes (reference)

Uses the same BEM structure as ChoiceCards.

Keyboard, direction and safe values

Use Tab to reach the control, Space or Enter to select, and arrow keys or Home / End to navigate enabled options. In a single-selection group, arrow navigation also changes the value. Multiple-selection groups move focus without changing selections. Horizontal navigation follows the text direction. Direction is inherited from the page, or can be set on this field:
Validation checks the submitted values on the server. Unknown or disabled option keys, nested values, duplicate selections and associative selection arrays are rejected. Numeric identifiers travel as strings to preserve leading zeros and large IDs; an Eloquent integer cast can still store an integer column. exactSelections() takes precedence over minimum and maximum settings. The selection cap also blocks additional choices immediately; selected choices can always be removed. Negative limits and a minimum above the maximum are invalid configuration. If a stored selection is now disabled, resolve it before saving; Image Choice Cards can clear disabled choices with pruneDisabledSelection().
Last modified on October 16, 2026