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" },
  ]}
/>

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
labelstring—Optional 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

Size

Size