Checkbox Group

Adjacent checked rows spring into a continuous selection fill — opacity eases through the snappy preset so a multi-select reads as a single band instead of a scatter of ticks.

Custom

Usage

With descriptions

States

API reference

Custom primitive (not a bits-ui wrapper). Rows are tracked internally; value is the bindable string[] of selected keys.

PropTypeDescription
CheckboxGroupItem[]Array of { value, label, description?, disabled? }. Order controls the fill-merge adjacency logic.
string[] (bindable)Currently selected values. Two-way bindable.
'sm' | 'default' | 'lg'Text scale for label and description rows.
(value: string[]) => voidFires with the next selected values after every toggle.
HTMLDivElement | nullTwo-way-bindable element reference on the group root.
stringMerged onto the group root via tailwind-merge.