Multi-select color circles for color filtering. Each option paints its own CSS color and stays accessible via screen-reader labels.
Requires shadcn/ui initialized. Run npx shadcn@latest init if you haven't.
import { FilterSwatch } from "@/components/beste/component/filter-swatch";
<FilterSwatch
label="Color"
defaultValue={["black"]}
onChange={(value) => console.log("selected:", value)}
options={[
{ label: "Black", value: "black", swatch: "#18181b" },
{ label: "Blue", value: "blue", swatch: "#2563eb" },
]}
/>Dropdown with checkbox rows and a selection-count badge. Keeps many-option filters compact in toolbars where a checkbox list would not fit.
Multi-select checkbox list with optional result counts. Works controlled or uncontrolled, designed for filter sidebars and toolbars.
Single-select dropdown for long option lists that would crowd a sidebar. Supports a clear item, result counts, and a disabled state for dependent filters.
Single-select segmented control built on Tabs for mutually exclusive choices like gender or condition. Clicking the active segment clears the selection.
Multi-select button chips for compact option sets like sizes. Works controlled or uncontrolled.
Searchable dropdown for very long option lists like brands. Type to narrow options, select one or many, and see result counts inline.