PopoverFilter
proPopoverFilter combines a search input and checkbox list behind a popover trigger, for filtering a list or table by more than one value.
Installation
Add this component with the NateUI CLI.
Examples
Custom Trigger
Hide Reset
Placement
API
PopoverFilter wraps Popover with a searchable checkbox list. onChange receives the matching subset of data, not the raw selected values — pair it with .map((item) => item.value) to recover a plain string array (see Usage). When renderTrigger is set it fully replaces the default trigger button, so title has no visible effect. A search term with no matches renders a plain "No results found" message in place of the checkbox list.
| Prop | Description | Type | Default |
|---|---|---|---|
data | Filter options rendered as checkboxes. | PopoverFilterOption[] | — |
value | Controlled selected values. Re-syncs the internal selection whenever it changes. | string[] | — |
onChange | Called with the subset of data matching the new selection — not the raw selected values. | (data: PopoverFilterOption[]) => void | — |
title | Label for the default trigger button. Ignored when renderTrigger is set. | string | ReactNode | 'Filter' |
renderTrigger | Custom trigger element, replacing the default button entirely. | ReactNode | — |
placement | Side the popover opens from, relative to the trigger. | 'bottom-start' | 'bottom-end' | 'bottom-start' |
inputPlaceholder | Placeholder text for the search input. | string | 'Search...' |
showReset | Show a "Clear filters" button once at least one option is selected. | boolean | true |
width | Width of the popover panel, in pixels. | number | 220 |