A self-contained chip set component for multi-select filtering.
Renders toggle buttons where each value can be selected/deselected. Handles optimistic updates internally — parent just binds a list.
Usage
<.lavash_component
module={Lavash.ChipSet}
id="roast-chips"
values={["light", "medium", "dark"]}
selected={@roast}
bind={[selected: :roast]}
/>With custom labels
<.lavash_component
module={Lavash.ChipSet}
id="roast-chips"
values={["light", "medium", "medium_dark", "dark"]}
labels={%{"medium_dark" => "Med-Dark"}}
selected={@roast}
bind={[selected: :roast]}
/>Styling
Default chip classes use DaisyUI. Override with:
active_class— class when chip is selectedinactive_class— class when chip is not selected