Toggle Filter

Deals

About this component

Toggle Filter

Switch rows for boolean product flags like on-sale or in-stock. Multi-select, works controlled or uncontrolled.

Usage

The import and the props worth knowing about, in one place.

import { FilterToggle } from "@/components/beste/component/filter-toggle";

<FilterToggle
  label="Deals"
  defaultValue={["sale"]}
  onChange={(value) => console.log("enabled:", value)}
  options={[
    { label: "On sale", value: "sale" },
    { label: "New arrivals", value: "new" },
  ]}
/>

Playground

Turn the props on the right; the snippet under them is what you would write to get what you see.

Deals

Usage
import { FilterToggle } from "@/components/beste/component/filter-toggle";

<FilterToggle
  label="Deals"
  className="w-56"
  defaultValue={["sale"]}
  options={[{"label":"On sale","value":"sale"},{"label":"New arrivals","value":"new"},{"label":"In stock only","value":"in-stock"}]}
/>

Keyboard and gestures

Every one of these is in the component already. They are listed because a props table cannot mention a gesture, so nothing else on this page can tell you they exist.

Space / EnterFlip the focused switch. The label points at it, so the whole row is the target.

Props

Read from the component's own type, so this cannot drift from what it accepts.

PropTypeDefaultDescription
labelstringOptional group heading rendered above the rows
optionsFilterToggleOption[]
valuestring[]Controlled selection; omit to let the component manage its own state
defaultValuestring[]Initial selection when uncontrolled
onChange(value: string[]) => void
classNamestring

More Filter components

View all Filter

Category

24
18
9
12

Checkbox Filter

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

Size

Multiselect Filter

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

Size

Chips Filter

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

Gender

Segmented Filter

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

Category

Select Filter

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.

Search

Search Filter

Text search input with a leading icon for keyword filtering. Debounce in the consumer if you fetch on change.