Star rows for minimum-rating filtering in the familiar n-and-up pattern. Clicking the active row clears the selection.
The import and the props worth knowing about, in one place.
import { FilterRating } from "@/components/beste/component/filter-rating";
<FilterRating
label="Rating"
defaultValue="4"
onChange={(value) => console.log("minimum rating:", value)} // null when cleared
options={[
{ label: "4 & up", value: "4" },
{ label: "3 & up", value: "3" },
]}
/>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.
| Arrow keys | Move through the options. A radio group is one tab stop, so the arrows are how you get around inside it. |
|---|---|
| Space | Take the focused option. |
Read from the component's own type, so this cannot drift from what it accepts.
| Prop | Type | Default | Description |
|---|---|---|---|
label | string | — | Optional group heading rendered above the rows |
options | FilterRatingOption[] | — | |
value | string | null | — | Controlled selection; omit to let the component manage its own state |
defaultValue | string | — | Initial selection when uncontrolled |
allowClear | boolean | — | Clicking the active row clears the selection (default true) |
onChange | (value: string | null) => void | — | |
className | string | — |