Segmented Filter

Single-select segmented control built on Tabs for mutually exclusive choices like gender or condition. Clicking the active segment clears the selection.

Gender

Requires shadcn/ui initialized. Run npx shadcn@latest init if you haven't.

Import & use
import { FilterSegmented } from "@/components/beste/component/filter-segmented";

<FilterSegmented
  label="Gender"
  defaultValue="women"
  onChange={(value) => console.log("selected:", value)} // null when cleared
  options={[
    { label: "Women", value: "women" },
    { label: "Men", value: "men" },
    { label: "Kids", value: "kids" },
  ]}
/>

More Filter components

View all Filter

Category

Select Filter

filter-select

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.

Category

24
18
9
12

Checkbox Filter

filter-checkbox

Multi-select checkbox list with optional result counts. Works controlled or uncontrolled, designed for filter sidebars and toolbars.

Fit

32
14
21

Radio Filter

filter-radio

Single-select radio list with optional result counts. Clicking the active option clears the selection, so the filter is always escapable.

Size

Chips Filter

filter-chips

Multi-select button chips for compact option sets like sizes. Works controlled or uncontrolled.

Rating

Rating Filter

filter-rating

Star rows for minimum-rating filtering in the familiar n-and-up pattern. Clicking the active row clears the selection.

Size

Multiselect Filter

filter-multiselect

Dropdown with checkbox rows and a selection-count badge. Keeps many-option filters compact in toolbars where a checkbox list would not fit.