Advanced Filter
ProAn advanced filter component with expression input and visual builder.
vu-advanced-filter · @velkin/react-pro/advanced-filter
An advanced filter component with expression input and visual builder.
vu-advanced-filter · @velkin/react-pro/advanced-filter
npm i @velkin/react-pro
import { LicenseInfo } from "@velkin/license";
// Vite: import.meta.env.VITE_VELKIN_LICENSE_KEY
// Next: process.env.NEXT_PUBLIC_VELKIN_LICENSE_KEY
LicenseInfo.setLicenseKey(import.meta.env.VITE_VELKIN_LICENSE_KEY ?? process.env.NEXT_PUBLIC_VELKIN_LICENSE_KEY ?? "");
// @velkin-pro
import { VuAdvancedFilter } from "@velkin/react-pro/advanced-filter";| Prop | Type | Default | Description |
|---|---|---|---|
| columns | VuAdvancedFilterColumn[] | [] | Columns referenceable in expressions. Default: `[]`. |
| query | string | "" | Controlled expression text. Default: `""`. |
| label | string | "" | Accessible name override for the expression input. Default: `""`. |
| placeholder | string | "" | Placeholder override for the expression input. Default: `""`. |
| valueProvider | null | (field: string) => string[] | null | Supplies value suggestions per column key. Default: `null`. |
| open | boolean | false | Whether the visual builder popover is open. Default: `false`. |
| disabled | boolean | false | Disables the field, suggestions, and builder. Default: `false`. |
| size | VuAdvancedFilterSize | "md" | Density scale for overlays and inner controls. Default: `"md"`. |
| tone | VuAdvancedFilterTone | "normal" | Neutral surface weight for the field and overlays. Default: `"normal"`. |
| placement | VuAdvancedFilterPlacement | "bottom" | Preferred builder placement before flip. Default: `"bottom"`. |
| align | VuAdvancedFilterAlign | "end" | Builder alignment along the field edge. Default: `"end"`. |
| offset | number | 6 | Gap in px between the field and the builder popover. Default: `6`. |
| width | string | "" | Builder panel inline size; empty uses stylesheet default. Default: `""`. |
| maxHeight | string | "" | Max block size of the suggestions list; empty uses default. Default: `""`. |
| radius | string | "" | Corner radius for the field, suggestions, and builder; empty uses token defaults. Default: `""`. |
| Event | Detail | Description |
|---|---|---|
| vu-change | VuAdvancedFilterChangeDetail | When the expression text changes. |
| — | — | {CustomEvent<{ open: boolean }>} vu-open-change - When `open` changes (v-model). |
| vu-open | CustomEvent<void> | When the builder begins opening. |
| vu-close | CustomEvent<void> | When the builder begins closing. |
| Part | Description |
|---|---|
| field | Input field wrapper. |
| input | Native expression input. |
| clear | Clear-expression button. |
| builder-trigger | Visual builder toggle button. |
| suggestions | Type-ahead suggestions list. |
| builder | Visual builder popover surface. |
| builder-dialog | Expanded builder dialog surface. |
| Method | Description |
|---|---|
| show | - Opens the visual builder popover. |
| hide | - Closes the visual builder popover. |
| toggle | - Toggles the visual builder popover. |
| focus | - Focuses the expression input. |
| Name | Definition |
|---|---|
| VuAdvancedFilterAlign | |
| VuAdvancedFilterChangeDetail | |
| VuAdvancedFilterPlacement | |
| VuAdvancedFilterSize | |
| VuAdvancedFilterTone | |
| VuAdvancedFilterValueProvider | null | |