Lavash.ChipSet (Lavash v0.3.0-rc.2)

Copy Markdown View Source

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 selected
  • inactive_class — class when chip is not selected