Two-thumb range slider with live numeric readouts and a commit callback, built for price ranges.
Requires shadcn/ui initialized. Run npx shadcn@latest init if you haven't.
import { FilterSlider } from "@/components/beste/component/filter-slider";
<FilterSlider
label="Price"
min={0}
max={300}
step={5}
unit="$"
defaultValue={[25, 180]}
onChange={(value) => console.log("dragging:", value)}
onCommit={(value) => console.log("committed:", value)} // fetch here
/>Searchable dropdown for very long option lists like brands. Type to narrow options, select one or many, and see result counts inline.
Paired number inputs for open-ended ranges: either side can stay empty, so users can filter by only a minimum or only a maximum.
Dropdown with checkbox rows and a selection-count badge. Keeps many-option filters compact in toolbars where a checkbox list would not fit.
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.
Multi-select checkbox list with optional result counts. Works controlled or uncontrolled, designed for filter sidebars and toolbars.
Single-select segmented control built on Tabs for mutually exclusive choices like gender or condition. Clicking the active segment clears the selection.