MultiSelectionState

Primitive #16

🔍 Problem it solves

Checkbox groups, tag inputs, and data table filters need multiple selected items simultaneously. Managing a Set of selected values and providing bulk actions (select all / deselect all) is repetitive.

✅ Solution

Manages a `Set` of selected values. Provides `select(value)`, `deselect(value)`, `toggle(value)`, `selectAll(values)`, `deselectAll()`, and subscription methods. Notifies all listeners when the selection changes.

🧩 Used by components

CheckboxGroup, TagInput, DataTable, MultiSelect, FilterBar, KanbanBoard

🎮 Interactive demo