@turquoisehealth/pit-viper 2.194.4 → 2.194.6-dev.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. package/_site/assets/css/pit-viper-a11y.css +8 -0
  2. package/_site/assets/css/pit-viper-consumer.css +8 -0
  3. package/_site/assets/css/pit-viper-v2-scoped.css +7 -0
  4. package/_site/assets/css/pit-viper-v2.css +8 -0
  5. package/_site/assets/css/pit-viper.css +8 -0
  6. package/package.json +1 -1
  7. package/pv-components/dist/stats/vue/base/stats.html +1 -1
  8. package/pv-components/dist/stats/vue/visualizations/stats.html +1 -1
  9. package/pv-components/dist/stats/web/pv-filter-panel-stats.html +1 -1
  10. package/pv-components/dist/stats/web/pv-split-button-stats.html +4950 -0
  11. package/pv-components/dist/vue/base/components/base/PvButton/types.d.ts +1 -1
  12. package/pv-components/dist/vue/base/components/base/PvDropdown/PvDropdown.vue.d.ts +2 -2
  13. package/pv-components/dist/vue/base/components/base/PvFilterPanel/PvFilterPanel.vue.d.ts +1 -0
  14. package/pv-components/dist/vue/base/components/base/PvFilterPanel/types.d.ts +8 -0
  15. package/pv-components/dist/vue/base/components/base/PvMultiSelectButton/PvMultiSelectButton.vue.d.ts +5 -5
  16. package/pv-components/dist/vue/base/components/base/PvPopoverV2/PvPopoverV2.vue.d.ts +3 -3
  17. package/pv-components/dist/vue/base/components/base/PvRange/PvRange.vue.d.ts +2 -2
  18. package/pv-components/dist/vue/base/components/base/PvSelectButton/PvSelectButton.vue.d.ts +2 -2
  19. package/pv-components/dist/vue/base/components/base/PvSplitButton/PvSplitButton.vue.d.ts +27 -0
  20. package/pv-components/dist/vue/base/components/base/PvSplitButton/types.d.ts +12 -0
  21. package/pv-components/dist/vue/base/components/base/index.d.ts +1 -0
  22. package/pv-components/dist/vue/base/pv-components-base.mjs +1730 -1623
  23. package/pv-components/dist/vue/base/pv-components-base.mjs.map +1 -1
  24. package/pv-components/dist/vue/visualizations/components/base/PvButton/types.d.ts +1 -1
  25. package/pv-components/dist/vue/visualizations/components/base/PvFilterPanel/PvFilterPanel.vue.d.ts +1 -0
  26. package/pv-components/dist/vue/visualizations/components/base/PvFilterPanel/types.d.ts +8 -0
  27. package/pv-components/dist/vue/visualizations/components/base/PvSplitButton/PvSplitButton.vue.d.ts +27 -0
  28. package/pv-components/dist/vue/visualizations/components/base/PvSplitButton/types.d.ts +12 -0
  29. package/pv-components/dist/vue/visualizations/components/base/index.d.ts +1 -0
  30. package/pv-components/dist/vue/visualizations/components/tables/PvDataTable/types.d.ts +27 -138
  31. package/pv-components/dist/vue/visualizations/components/tables/PvDataTable/useFilterStore.d.ts +115 -14
  32. package/pv-components/dist/vue/visualizations/components/tables/PvDataTable/useSetFilter.d.ts +3 -0
  33. package/pv-components/dist/vue/visualizations/pv-components-visualizations.mjs +2200 -1885
  34. package/pv-components/dist/vue/visualizations/pv-components-visualizations.mjs.map +1 -1
  35. package/pv-components/dist/web/components/pv-filter-panel/pv-filter-panel.js +1339 -1310
  36. package/pv-components/dist/web/components/pv-split-button/pv-split-button.js +7713 -0
  37. package/pv-components/dist/web/pv-components.iife.js +38 -38
  38. package/pv-components/dist/web/pv-components.iife.js.map +1 -1
@@ -1,7 +1,7 @@
1
1
  import { PvSize, PvVariants } from '../baseProps';
2
2
  import { PvTooltipPositions, PvTooltipVariants } from '../PvTooltip/types';
3
3
  export type PvButtonSize = Extract<PvSize, "md" | "lg" | "xl">;
4
- export type PvButtonVariant = Extract<PvVariants, "primary" | "secondary" | "ghost" | "destructive" | "tertiary">;
4
+ export type PvButtonVariant = Extract<PvVariants, "primary" | "secondary" | "ghost" | "destructive" | "tertiary"> | "link" | "link-secondary";
5
5
  export interface PvButtonProps {
6
6
  /** Visual style of the button */
7
7
  variant?: PvButtonVariant;
@@ -61,6 +61,7 @@ declare const __VLS_component: DefineComponent<__VLS_PublicProps, {}, {}, {}, {}
61
61
  filterSuggestions: PvFilterPanelSuggestion[];
62
62
  focusableFields: string[];
63
63
  focusedValues: Record<string, string[] | undefined>;
64
+ hideCollapseButton: boolean;
64
65
  rangeDebounceMs: number;
65
66
  staged: boolean;
66
67
  }, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
@@ -163,8 +163,14 @@ export interface PvFilterPanelColDefContext {
163
163
  metadataDisplayFields?: string[];
164
164
  /**
165
165
  * For server-side filtering, list of associated column IDs to query against when searching for filter values.
166
+ * When provided, these fields are included in the auto-generated search placeholder
167
+ * (e.g., `["npi", "taxId"]` → `Search Provider Name, NPI, Tax ID`).
166
168
  */
167
169
  queryColIds?: string[];
170
+ /**
171
+ * When false, search-match subtext shows only the matched value instead of "Column: value".
172
+ */
173
+ showSearchMatchSubTextPrefix?: boolean;
168
174
  /**
169
175
  * Number of decimal places to show for numeric values (if applicable)
170
176
  */
@@ -393,6 +399,8 @@ export interface PvFilterPanelProps {
393
399
  /** Values currently focused, keyed by field. */
394
400
  focusedValues?: Record<string, string[] | undefined>;
395
401
  focusText?: string;
402
+ /** When true, hides the collapse button from the filter panel header. */
403
+ hideCollapseButton?: boolean;
396
404
  /** Debounce range filter model updates by this many milliseconds. Set 0 to emit every range update. */
397
405
  rangeDebounceMs?: number;
398
406
  readOnly?: boolean;
@@ -0,0 +1,27 @@
1
+ import { PvSplitButtonProps } from './types';
2
+ import { DefineComponent, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
3
+ import { PvAlignmentPositions } from '../baseProps';
4
+ declare function __VLS_template(): {
5
+ attrs: Partial<{}>;
6
+ slots: {
7
+ 'menu-content'?(_: {}): any;
8
+ };
9
+ refs: {};
10
+ rootEl: HTMLDivElement;
11
+ };
12
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
13
+ declare const __VLS_component: DefineComponent<PvSplitButtonProps, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {} & {
14
+ click: () => any;
15
+ }, string, PublicProps, Readonly<PvSplitButtonProps> & Readonly<{
16
+ onClick?: (() => any) | undefined;
17
+ }>, {
18
+ position: PvAlignmentPositions;
19
+ offset: number;
20
+ }, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLDivElement>;
21
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
22
+ export default _default;
23
+ type __VLS_WithTemplateSlots<T, S> = T & {
24
+ new (): {
25
+ $slots: S;
26
+ };
27
+ };
@@ -0,0 +1,12 @@
1
+ import { PvButtonProps, PvButtonVariant } from '../PvButton/types';
2
+ import { PvAlignmentPositions } from '../baseProps';
3
+ export interface PvSplitButtonProps extends Omit<PvButtonProps, "variant" | "label" | "ariaLabel"> {
4
+ /** Text within the action button */
5
+ label: string;
6
+ /** Visual style — restricted to primary and secondary */
7
+ variant?: Extract<PvButtonVariant, "primary" | "secondary">;
8
+ /** Offset in pixels between the trigger and the popover */
9
+ offset?: number;
10
+ /** Where the popover opens relative to the trigger */
11
+ position?: PvAlignmentPositions;
12
+ }
@@ -1,6 +1,7 @@
1
1
  export { default as PvButton } from './PvButton/PvButton.vue';
2
2
  export { default as PvAiButton } from './PvAiButton/PvAiButton.vue';
3
3
  export { default as PvButtonWithTooltip } from './PvButton/PvButtonWithTooltip.vue';
4
+ export { default as PvSplitButton } from './PvSplitButton/PvSplitButton.vue';
4
5
  export { default as PvCounterBadge } from './PvCounterBadge/PvCounterBadge.vue';
5
6
  export { default as PvReleaseBadge } from './PvReleaseBadge/PvReleaseBadge.vue';
6
7
  export { default as PvTag } from './PvTag/PvTag.vue';
@@ -1,12 +1,13 @@
1
1
  import { AgCartesianSeriesTooltipRendererParams } from 'ag-charts-enterprise';
2
2
  import { ColDefDataType } from './table-components/formatting';
3
- import { Component, ComputedRef, CSSProperties, Ref } from 'vue';
3
+ import { ComputedRef, CSSProperties, Ref } from 'vue';
4
4
  import { AdvancedFilterModel, CellSelectionOptions, FilterModel, GetContextMenuItemsParams, GridState, IServerSideGetRowsParams, ProcessCellForExportParams, ProcessDataFromClipboardParams, RowSelectionOptions, Theme, ValueFormatterFunc } from 'ag-grid-enterprise';
5
5
  import { PvDataTableTheme } from '../themes';
6
6
  import { PvDataTableFilterStore } from './useFilterStore';
7
7
  import { ColDef, GridApi, IsGroupOpenByDefaultParams, IsServerSideGroupOpenByDefaultParams, RefreshServerSideParams } from 'ag-grid-community';
8
8
  import { QueryBuilderSuggestionMenuOption } from '../../base/PvQueryBuilderInput/useQueryBuilder';
9
9
  import { MenuOption, PvMultiSelectButtonSlotProps } from '../../base';
10
+ import { PvFilterPanelAggregateFieldHierarchy, PvFilterPanelColDefContext, PvFilterPanelOption, PvFilterPanelOptionsHandlerParams, PvFilterPanelOptionsHandlerReason, PvFilterPanelOptionsResponse } from '../../base/PvFilterPanel/types';
10
11
  export type TableSearchStyle = "query-builder" | "text";
11
12
  /**
12
13
  * Context passed to custom filter renderer components via slotContext
@@ -45,13 +46,8 @@ export interface TooltipDatum {
45
46
  [key: string]: string | number | undefined;
46
47
  }
47
48
  export type ChartTooltipRenderer = (params: AgCartesianSeriesTooltipRendererParams<TooltipDatum>) => string;
48
- export interface AggregateFieldHierarchy {
49
- /** Field represented by this hierarchy node. Parent/child relationships are determined by nesting. */
50
- field: string;
51
- /** Child fields nested under this field. */
52
- children?: AggregateFieldHierarchy[];
53
- }
54
- export interface ColDefContextProps<T> {
49
+ export type AggregateFieldHierarchy = PvFilterPanelAggregateFieldHierarchy;
50
+ export interface ColDefContextProps<T> extends Omit<PvFilterPanelColDefContext, "dataType" | "filterValueFormatter" | "valueDecimals"> {
55
51
  /**
56
52
  * Display name for the aggregation function (e.g. "Sum", "Average", etc.) to show in the UI, if different from the aggFunc name
57
53
  */
@@ -61,69 +57,33 @@ export interface ColDefContextProps<T> {
61
57
  */
62
58
  aggFuncDisplayNameMap?: Record<string, string>;
63
59
  /**
64
- * Display name for the series when used in charting
60
+ * If true, we will plot this column on the secondary y-axis.
65
61
  */
66
- chartSeriesDisplayName?: string;
62
+ chartOnSecondaryAxes?: boolean;
67
63
  /**
68
64
  * Optional description for the series when used in charting, displayed as a tooltip
69
65
  */
70
66
  chartSeriesDescription?: string;
71
67
  /**
72
- * The data type of the column values, used for things like formatting, icons, etc.
73
- */
74
- dataType?: ColDefDataType;
75
- /**
76
- * An optional renderer to use for dropdown values when no results are found
77
- */
78
- emptyFilterResultsRenderer?: Component;
79
- /**
80
- * The max number of allowable selections for filters on this column
81
- */
82
- filterSelectMax?: number;
83
- /**
84
- * The min number of allowable selections for filters on this column
85
- */
86
- filterSelectMin?: number;
87
- /**
88
- * An optional description to show in the tooltip explaining how the dropdown values are sorted
89
- */
90
- filterOptionsSortDescription?: string;
91
- /**
92
- * The primary text for the optional tooltip
93
- */
94
- filterOptionsSortTooltip?: string;
95
- /**
96
- * Optional renderer to override the default filter options list
68
+ * Display name for the series when used in charting
97
69
  */
98
- filterOptionsRenderer?: Component;
70
+ chartSeriesDisplayName?: string;
99
71
  /**
100
- * If true, will show a search box to filter the available filter options
72
+ * If true, the custom tooltip renderer will be used in place of the default tooltip. Currently only applied to secondary series.
101
73
  */
102
- filterSearch?: boolean;
74
+ customTooltipRenderer?: ChartTooltipRenderer;
103
75
  /**
104
- * If true, grouped data will not be displayed until a filter is applied
76
+ * The data type of the column values, used for things like formatting, icons, etc.
105
77
  */
106
- filterRequiredToGroup?: boolean;
78
+ dataType?: ColDefDataType;
107
79
  /**
108
80
  * Formatter for the filter values in the dropdown
109
81
  */
110
82
  filterValueFormatter?: string | ValueFormatterFunc<T> | undefined;
111
83
  /**
112
- * Optional renderer to provide content above the filter options list
113
- */
114
- filterHeaderRenderer?: Component;
115
- /**
116
- * Optional renderer to provide content below the filter options list
117
- */
118
- filterFooterRenderer?: Component;
119
- /**
120
- * Determines how values are formatted when the field contains array data
121
- */
122
- isArrayField?: boolean;
123
- /**
124
- * A list of associated fields that can be expected and used for custom formatting
84
+ * If true, will hide this column from category or y-axis options in charting
125
85
  */
126
- metadataDisplayFields?: string[];
86
+ hideFromCharting?: boolean;
127
87
  /**
128
88
  * Number of decimal places to show for numeric values (if applicable)
129
89
  */
@@ -132,66 +92,13 @@ export interface ColDefContextProps<T> {
132
92
  * Whether to force the column to always be visible or always be hidden, regardless of user selection
133
93
  */
134
94
  visibilityState?: "alwaysShow" | "alwaysHide";
135
- /**
136
- * If true, will hide this column from category or y-axis options in charting
137
- */
138
- hideFromCharting?: boolean;
139
- /**
140
- * If true, we will plot this column on the secondary y-axis.
141
- */
142
- chartOnSecondaryAxes?: boolean;
143
- /**
144
- * If true, the custom tooltip renderer will be used in place of the default tooltip. Currently only applied to secondary series.
145
- */
146
- customTooltipRenderer?: ChartTooltipRenderer;
147
- /**
148
- * For server-side filtering, list of associated column IDs to query against when searching for filter values.
149
- */
150
- queryColIds?: string[];
151
- /**
152
- * Hierarchy of fields represented by this aggregate filter column.
153
- *
154
- * Example: `{ field: "health_system", children: [{ field: "provider_id" }] }`
155
- * renders health systems as parent options and providers as nested child options.
156
- * Fields must be present as their own columns in the table. Filters for the
157
- * hierarchy fields are hidden from the filter panel in favor of this aggregate filter.
158
- *
159
- * Requires `enableAdvancedFilter: true` on the table — columns with an aggregate hierarchy
160
- * are excluded (and may log a console warning) when advanced filtering is disabled.
161
- */
162
- aggregateFieldHierarchy?: AggregateFieldHierarchy;
163
- /**
164
- * Aggregate filter column for columns that have "peer" relationships, as opposed to hierarchical
165
- * Requires `enableAdvancedFilter: true` on the table — columns with aggregate fields
166
- * are excluded (and may log a console warning) when advanced filtering is disabled.
167
- */
168
- aggregateFields?: string[];
169
- /**
170
- * If true, this column is considered a "dev" column and will only be shown when devMode is enabled
171
- */
172
- devOnly?: boolean;
173
- /**
174
- * A group of boolean sub-fields to render as a hover submenu above the filter options.
175
- * Each field in `fields` must be present as a column in the table.
176
- * Selecting an item toggles a `<field> = "true"` condition in the advanced filter model.
177
- */
178
- filterGroup?: {
179
- label: string;
180
- fields: string[];
181
- };
182
95
  }
183
- export interface FilterValuesSetHandlerParams<T> {
96
+ export interface FilterValuesSetHandlerParams<T> extends Omit<PvFilterPanelOptionsHandlerParams, "colDef" | "field" | "filterModel" | "reason"> {
184
97
  api?: GridApi<T>;
185
98
  colDef: ColDef<T>;
99
+ field?: string;
186
100
  filterModel?: FilterModel | AdvancedFilterModel | null;
187
- query?: string;
188
- selectedValues?: (string | null)[];
189
- /** Pagination offset for "see more" requests */
190
- offset?: number;
191
- /** Pagination limit for "see more" requests */
192
- limit?: number;
193
- /** When loading more children of a specific cascade parent */
194
- parentId?: string;
101
+ reason?: PvFilterPanelOptionsHandlerReason;
195
102
  }
196
103
  export interface TableSearchHandlerParams<T> {
197
104
  api?: GridApi<T>;
@@ -202,42 +109,18 @@ export interface FilterValueMatchResult {
202
109
  matchedField?: string;
203
110
  matchedValue?: string;
204
111
  }
205
- export interface FilterValuesResponse {
112
+ /** @deprecated Use PvFilterPanelOptionsResponse. */
113
+ export interface FilterValuesResponse extends Omit<PvFilterPanelOptionsResponse, "values"> {
206
114
  values: (FilterValueResponseOption | null)[];
207
- /** Whether additional matching values are available after this page */
208
- hasMore?: boolean;
209
- /** Total count of matching values (before pagination/truncation) */
210
- totalCount?: number;
211
115
  }
212
- export interface FilterValueResponseOption {
213
- value: string;
214
- /**
215
- * The primary display label for the value, uses 'value' if not specified.
216
- * If a label formatter is provided on the column definition, it will override this value.
217
- */
218
- label?: string;
219
- /** Optional secondary text to display alongside the label */
220
- subduedText?: string;
221
- /** Optional text to display below the label in the filter options list */
222
- subText?: string;
223
- /** If true, this option is marked as a user preference */
224
- isPreference?: boolean;
225
- /** If true, this option can be selected by the user */
226
- isSelectable?: boolean;
116
+ /** @deprecated Use PvFilterPanelOption. */
117
+ export interface FilterValueResponseOption extends Omit<PvFilterPanelOption, "children" | "menuOption" | "metadata"> {
227
118
  /** Metadata that can be associated with the value, and is passed back in renderers/handlers */
228
119
  metadata?: any;
229
- /** The column this value applies to */
230
- colField?: string;
231
- /** The actual value that was matched (for search scenarios), if different from 'value' */
232
- matchedValue?: string;
233
- /** The field used to match the value (for search scenarios) */
234
- matchedField?: string;
235
120
  /** Optional PvMenu option props to apply when rendering this value in custom/nested filters. */
236
121
  menuOption?: Partial<Omit<MenuOption<FilterValueResponseOption>, "id" | "text" | "children" | "context">>;
237
122
  /** Nested child options for hierarchical/cascade filtering */
238
123
  children?: FilterValueResponseOption[];
239
- /** Total number of children available (may exceed children.length when paginating) */
240
- totalChildCount?: number;
241
124
  }
242
125
  export interface PvDataTableProps<T> {
243
126
  /**
@@ -318,6 +201,12 @@ export interface PvDataTableProps<T> {
318
201
  * Display input to search within the table
319
202
  */
320
203
  enableTableSearch?: boolean;
204
+ /**
205
+ * Minimum search string length before the filter search is executed.
206
+ * When set to N, queries with length in [1, N) are skipped; length 0
207
+ * always fetches so clearing the input restores the full list.
208
+ */
209
+ filterSearchMinLength?: number;
321
210
  /**
322
211
  * Allows for slot content to be placed above the chart
323
212
  */
@@ -3,11 +3,16 @@ import { ColDef, GridApi, RefreshServerSideParams } from 'ag-grid-community';
3
3
  import { Ref, ShallowRef, ComputedRef } from 'vue';
4
4
  import { FilterValueMatchResult, FilterValueResponseOption, FilterValuesResponse, FilterValuesSetHandlerParams, TableSearchHandlerParams } from './types';
5
5
  import { QueryTerm } from '../../base/PvQueryBuilderInput/useQueryBuilder';
6
+ import { PvFilterPanelFilterModel, PvFilterStoreFetchOptionsParams, PvFilterPanelFilterModelType, PvFilterPanelOptionsHandler, PvFilterPanelOption } from '../../base/PvFilterPanel/types';
7
+ export type PvDataTableFilterModel = PvFilterPanelFilterModel;
8
+ /**
9
+ * Type guard to check if a filter model is an AdvancedFilterModel.
10
+ */
11
+ export declare const isAdvancedFilterModel: (model: PvDataTableFilterModel) => model is AdvancedFilterModel;
6
12
  /**
7
13
  * Type guard to check if a filter model is a regular FilterModel (not AdvancedFilterModel)
8
14
  */
9
- export declare const isRegularFilterModel: (model: FilterModel | AdvancedFilterModel | null) => model is FilterModel;
10
- export type PvDataTableFilterModel = FilterModel | AdvancedFilterModel | null;
15
+ export declare const isRegularFilterModel: (model: PvDataTableFilterModel) => model is FilterModel;
11
16
  export interface PvDataTableFilterController {
12
17
  getFilterModel: () => PvDataTableFilterModel;
13
18
  refreshData: (params?: RefreshServerSideParams | null) => Promise<void> | void;
@@ -15,8 +20,9 @@ export interface PvDataTableFilterController {
15
20
  setTableSearchFilterModel: (model: PvDataTableFilterModel) => boolean | void;
16
21
  }
17
22
  export declare const createFilterStore: () => {
23
+ fetchFilterOptions: (params: Parameters<(params: PvFilterStoreFetchOptionsParams) => Promise<(string | null)[]>>[0]) => Promise<(string | null)[]>;
18
24
  filterController: ShallowRef<PvDataTableFilterController | null, PvDataTableFilterController | null>;
19
- filterModel: Ref<PvDataTableFilterModel, PvDataTableFilterModel>;
25
+ filterModel: Ref<PvFilterPanelFilterModel, PvFilterPanelFilterModel>;
20
26
  filterLastUpdatedMap: Ref<Record<string, number>, Record<string, number>>;
21
27
  filterLastFetchTimeMap: Ref<Record<string, number>, Record<string, number>>;
22
28
  filterModelCleared: Ref<number, number>;
@@ -36,10 +42,10 @@ export declare const createFilterStore: () => {
36
42
  getFilterSelectedValues: (colField: string) => (string | null)[];
37
43
  getSearchMatchDataFromFilterContext: (colDef: ColDef, option: FilterValueResponseOption | null | undefined) => FilterValueMatchResult;
38
44
  isServerSideFilter: ComputedRef<boolean>;
39
- stagedFilterModel: Ref<PvDataTableFilterModel, PvDataTableFilterModel>;
45
+ stagedFilterModel: Ref<PvFilterPanelFilterModel, PvFilterPanelFilterModel>;
40
46
  setFilterSelectedValues: (colField: string, selectedValues: (string | null)[]) => (string | null)[];
41
47
  setFilterValueSearchText: (colField: string, searchText: string | null) => void;
42
- tableSearchFilterModel: Ref<PvDataTableFilterModel, PvDataTableFilterModel>;
48
+ tableSearchFilterModel: Ref<PvFilterPanelFilterModel, PvFilterPanelFilterModel>;
43
49
  tableSearchFilterModelEmpty: ComputedRef<boolean>;
44
50
  tableSearchHandler: Ref<((params: TableSearchHandlerParams<unknown>) => Promise<(QueryTerm | null)[]>) | undefined, ((params: TableSearchHandlerParams<unknown>) => Promise<(QueryTerm | null)[]>) | undefined>;
45
51
  filterValuesMap: Ref<Record<string, (string | null)[]>, Record<string, (string | null)[]>>;
@@ -48,6 +54,7 @@ export declare const createFilterStore: () => {
48
54
  filterStaleMap: Ref<Record<string, boolean>, Record<string, boolean>>;
49
55
  refreshFiltersInBackground: Ref<boolean, boolean>;
50
56
  stageFilterChangesUntilDropdownCloses: Ref<boolean, boolean>;
57
+ filterSearchMinLength: Ref<number | undefined, number | undefined>;
51
58
  markOtherFieldsStale: (changedFields: Set<string>) => void;
52
59
  aggregateFieldMap: Ref<Record<string, string[]>, Record<string, string[]>>;
53
60
  registerAggregateField: (parent: string, children: string[]) => void;
@@ -68,11 +75,34 @@ export declare const createFilterStore: () => {
68
75
  filterValueSearchTextMap: Ref<Record<string, string | null>, Record<string, string | null>>;
69
76
  filterValuesHasMoreMap: Ref<Record<string, boolean | undefined>, Record<string, boolean | undefined>>;
70
77
  filterValuesTotalCountMap: Ref<Record<string, number | undefined>, Record<string, number | undefined>>;
78
+ clearStagedFilterSelections: () => void;
79
+ commitStagedFilterSelections: () => void;
80
+ filterHasMoreMap: Ref<Record<string, boolean | undefined>>;
81
+ filterLoadingMap: Ref<Record<string, boolean | undefined>>;
82
+ filterLoadingMoreMap: Ref<Record<string, boolean | undefined>>;
83
+ filterModelType: Ref< PvFilterPanelFilterModelType | undefined>;
84
+ filterOptionsHandler: Ref< PvFilterPanelOptionsHandler | undefined>;
85
+ filterOptionsMap: Ref<Record<string, ( PvFilterPanelOption | null)[]>>;
86
+ filterRequestIdMap: Ref<Record<string, number | undefined>>;
87
+ filterSearchQueries: Ref<Record<string, string | null | undefined>>;
88
+ filterSelectedMetadataMap: Ref<Record<string, ( PvFilterPanelOption | null)[]>>;
89
+ filterSelectedValueMap: Ref<Record<string, (string | null)[]>>;
90
+ filterTotalCountMap: Ref<Record<string, number | undefined>>;
91
+ filterChildHasMoreMap: Ref<Record<string, boolean | undefined>>;
92
+ filterChildTotalCountMap: Ref<Record<string, number | undefined>>;
93
+ getFilterOptions: (field: string) => ( PvFilterPanelOption | null)[];
94
+ initStagedFilterSelections: () => void;
95
+ setFilterOptions: (field: string, options: ( PvFilterPanelOption | null)[]) => void;
96
+ setFilterOptionsHandler: (handler?: PvFilterPanelOptionsHandler) => void;
97
+ setFilterSearchQuery: (field: string, query: string | null | undefined) => void;
98
+ stagedFilterSelectedMetadataMap: Ref<Record<string, ( PvFilterPanelOption | null)[]>>;
99
+ stagedFilterSelectedValueMap: Ref<Record<string, (string | null)[]>>;
71
100
  };
72
101
  export type PvDataTableFilterStore = ReturnType<typeof createFilterStore>;
73
102
  export declare const createPvDataTableFilterStore: () => {
103
+ fetchFilterOptions: (params: Parameters<(params: PvFilterStoreFetchOptionsParams) => Promise<(string | null)[]>>[0]) => Promise<(string | null)[]>;
74
104
  filterController: ShallowRef<PvDataTableFilterController | null, PvDataTableFilterController | null>;
75
- filterModel: Ref<PvDataTableFilterModel, PvDataTableFilterModel>;
105
+ filterModel: Ref<PvFilterPanelFilterModel, PvFilterPanelFilterModel>;
76
106
  filterLastUpdatedMap: Ref<Record<string, number>, Record<string, number>>;
77
107
  filterLastFetchTimeMap: Ref<Record<string, number>, Record<string, number>>;
78
108
  filterModelCleared: Ref<number, number>;
@@ -92,10 +122,10 @@ export declare const createPvDataTableFilterStore: () => {
92
122
  getFilterSelectedValues: (colField: string) => (string | null)[];
93
123
  getSearchMatchDataFromFilterContext: (colDef: ColDef, option: FilterValueResponseOption | null | undefined) => FilterValueMatchResult;
94
124
  isServerSideFilter: ComputedRef<boolean>;
95
- stagedFilterModel: Ref<PvDataTableFilterModel, PvDataTableFilterModel>;
125
+ stagedFilterModel: Ref<PvFilterPanelFilterModel, PvFilterPanelFilterModel>;
96
126
  setFilterSelectedValues: (colField: string, selectedValues: (string | null)[]) => (string | null)[];
97
127
  setFilterValueSearchText: (colField: string, searchText: string | null) => void;
98
- tableSearchFilterModel: Ref<PvDataTableFilterModel, PvDataTableFilterModel>;
128
+ tableSearchFilterModel: Ref<PvFilterPanelFilterModel, PvFilterPanelFilterModel>;
99
129
  tableSearchFilterModelEmpty: ComputedRef<boolean>;
100
130
  tableSearchHandler: Ref<((params: TableSearchHandlerParams<unknown>) => Promise<(QueryTerm | null)[]>) | undefined, ((params: TableSearchHandlerParams<unknown>) => Promise<(QueryTerm | null)[]>) | undefined>;
101
131
  filterValuesMap: Ref<Record<string, (string | null)[]>, Record<string, (string | null)[]>>;
@@ -104,6 +134,7 @@ export declare const createPvDataTableFilterStore: () => {
104
134
  filterStaleMap: Ref<Record<string, boolean>, Record<string, boolean>>;
105
135
  refreshFiltersInBackground: Ref<boolean, boolean>;
106
136
  stageFilterChangesUntilDropdownCloses: Ref<boolean, boolean>;
137
+ filterSearchMinLength: Ref<number | undefined, number | undefined>;
107
138
  markOtherFieldsStale: (changedFields: Set<string>) => void;
108
139
  aggregateFieldMap: Ref<Record<string, string[]>, Record<string, string[]>>;
109
140
  registerAggregateField: (parent: string, children: string[]) => void;
@@ -124,11 +155,34 @@ export declare const createPvDataTableFilterStore: () => {
124
155
  filterValueSearchTextMap: Ref<Record<string, string | null>, Record<string, string | null>>;
125
156
  filterValuesHasMoreMap: Ref<Record<string, boolean | undefined>, Record<string, boolean | undefined>>;
126
157
  filterValuesTotalCountMap: Ref<Record<string, number | undefined>, Record<string, number | undefined>>;
158
+ clearStagedFilterSelections: () => void;
159
+ commitStagedFilterSelections: () => void;
160
+ filterHasMoreMap: Ref<Record<string, boolean | undefined>>;
161
+ filterLoadingMap: Ref<Record<string, boolean | undefined>>;
162
+ filterLoadingMoreMap: Ref<Record<string, boolean | undefined>>;
163
+ filterModelType: Ref< PvFilterPanelFilterModelType | undefined>;
164
+ filterOptionsHandler: Ref< PvFilterPanelOptionsHandler | undefined>;
165
+ filterOptionsMap: Ref<Record<string, ( PvFilterPanelOption | null)[]>>;
166
+ filterRequestIdMap: Ref<Record<string, number | undefined>>;
167
+ filterSearchQueries: Ref<Record<string, string | null | undefined>>;
168
+ filterSelectedMetadataMap: Ref<Record<string, ( PvFilterPanelOption | null)[]>>;
169
+ filterSelectedValueMap: Ref<Record<string, (string | null)[]>>;
170
+ filterTotalCountMap: Ref<Record<string, number | undefined>>;
171
+ filterChildHasMoreMap: Ref<Record<string, boolean | undefined>>;
172
+ filterChildTotalCountMap: Ref<Record<string, number | undefined>>;
173
+ getFilterOptions: (field: string) => ( PvFilterPanelOption | null)[];
174
+ initStagedFilterSelections: () => void;
175
+ setFilterOptions: (field: string, options: ( PvFilterPanelOption | null)[]) => void;
176
+ setFilterOptionsHandler: (handler?: PvFilterPanelOptionsHandler) => void;
177
+ setFilterSearchQuery: (field: string, query: string | null | undefined) => void;
178
+ stagedFilterSelectedMetadataMap: Ref<Record<string, ( PvFilterPanelOption | null)[]>>;
179
+ stagedFilterSelectedValueMap: Ref<Record<string, (string | null)[]>>;
127
180
  };
128
181
  export declare const providePvDataTableFilterStore: (filterStore: PvDataTableFilterStore) => void;
129
182
  export declare const useFilterStore: () => {
183
+ fetchFilterOptions: (params: Parameters<(params: PvFilterStoreFetchOptionsParams) => Promise<(string | null)[]>>[0]) => Promise<(string | null)[]>;
130
184
  filterController: ShallowRef<PvDataTableFilterController | null, PvDataTableFilterController | null>;
131
- filterModel: Ref<PvDataTableFilterModel, PvDataTableFilterModel>;
185
+ filterModel: Ref<PvFilterPanelFilterModel, PvFilterPanelFilterModel>;
132
186
  filterLastUpdatedMap: Ref<Record<string, number>, Record<string, number>>;
133
187
  filterLastFetchTimeMap: Ref<Record<string, number>, Record<string, number>>;
134
188
  filterModelCleared: Ref<number, number>;
@@ -148,10 +202,10 @@ export declare const useFilterStore: () => {
148
202
  getFilterSelectedValues: (colField: string) => (string | null)[];
149
203
  getSearchMatchDataFromFilterContext: (colDef: ColDef, option: FilterValueResponseOption | null | undefined) => FilterValueMatchResult;
150
204
  isServerSideFilter: ComputedRef<boolean>;
151
- stagedFilterModel: Ref<PvDataTableFilterModel, PvDataTableFilterModel>;
205
+ stagedFilterModel: Ref<PvFilterPanelFilterModel, PvFilterPanelFilterModel>;
152
206
  setFilterSelectedValues: (colField: string, selectedValues: (string | null)[]) => (string | null)[];
153
207
  setFilterValueSearchText: (colField: string, searchText: string | null) => void;
154
- tableSearchFilterModel: Ref<PvDataTableFilterModel, PvDataTableFilterModel>;
208
+ tableSearchFilterModel: Ref<PvFilterPanelFilterModel, PvFilterPanelFilterModel>;
155
209
  tableSearchFilterModelEmpty: ComputedRef<boolean>;
156
210
  tableSearchHandler: Ref<((params: TableSearchHandlerParams<unknown>) => Promise<(QueryTerm | null)[]>) | undefined, ((params: TableSearchHandlerParams<unknown>) => Promise<(QueryTerm | null)[]>) | undefined>;
157
211
  filterValuesMap: Ref<Record<string, (string | null)[]>, Record<string, (string | null)[]>>;
@@ -160,6 +214,7 @@ export declare const useFilterStore: () => {
160
214
  filterStaleMap: Ref<Record<string, boolean>, Record<string, boolean>>;
161
215
  refreshFiltersInBackground: Ref<boolean, boolean>;
162
216
  stageFilterChangesUntilDropdownCloses: Ref<boolean, boolean>;
217
+ filterSearchMinLength: Ref<number | undefined, number | undefined>;
163
218
  markOtherFieldsStale: (changedFields: Set<string>) => void;
164
219
  aggregateFieldMap: Ref<Record<string, string[]>, Record<string, string[]>>;
165
220
  registerAggregateField: (parent: string, children: string[]) => void;
@@ -180,10 +235,33 @@ export declare const useFilterStore: () => {
180
235
  filterValueSearchTextMap: Ref<Record<string, string | null>, Record<string, string | null>>;
181
236
  filterValuesHasMoreMap: Ref<Record<string, boolean | undefined>, Record<string, boolean | undefined>>;
182
237
  filterValuesTotalCountMap: Ref<Record<string, number | undefined>, Record<string, number | undefined>>;
238
+ clearStagedFilterSelections: () => void;
239
+ commitStagedFilterSelections: () => void;
240
+ filterHasMoreMap: Ref<Record<string, boolean | undefined>>;
241
+ filterLoadingMap: Ref<Record<string, boolean | undefined>>;
242
+ filterLoadingMoreMap: Ref<Record<string, boolean | undefined>>;
243
+ filterModelType: Ref< PvFilterPanelFilterModelType | undefined>;
244
+ filterOptionsHandler: Ref< PvFilterPanelOptionsHandler | undefined>;
245
+ filterOptionsMap: Ref<Record<string, ( PvFilterPanelOption | null)[]>>;
246
+ filterRequestIdMap: Ref<Record<string, number | undefined>>;
247
+ filterSearchQueries: Ref<Record<string, string | null | undefined>>;
248
+ filterSelectedMetadataMap: Ref<Record<string, ( PvFilterPanelOption | null)[]>>;
249
+ filterSelectedValueMap: Ref<Record<string, (string | null)[]>>;
250
+ filterTotalCountMap: Ref<Record<string, number | undefined>>;
251
+ filterChildHasMoreMap: Ref<Record<string, boolean | undefined>>;
252
+ filterChildTotalCountMap: Ref<Record<string, number | undefined>>;
253
+ getFilterOptions: (field: string) => ( PvFilterPanelOption | null)[];
254
+ initStagedFilterSelections: () => void;
255
+ setFilterOptions: (field: string, options: ( PvFilterPanelOption | null)[]) => void;
256
+ setFilterOptionsHandler: (handler?: PvFilterPanelOptionsHandler) => void;
257
+ setFilterSearchQuery: (field: string, query: string | null | undefined) => void;
258
+ stagedFilterSelectedMetadataMap: Ref<Record<string, ( PvFilterPanelOption | null)[]>>;
259
+ stagedFilterSelectedValueMap: Ref<Record<string, (string | null)[]>>;
183
260
  };
184
261
  export declare const usePvDataTableFilterStore: () => {
262
+ fetchFilterOptions: (params: Parameters<(params: PvFilterStoreFetchOptionsParams) => Promise<(string | null)[]>>[0]) => Promise<(string | null)[]>;
185
263
  filterController: ShallowRef<PvDataTableFilterController | null, PvDataTableFilterController | null>;
186
- filterModel: Ref<PvDataTableFilterModel, PvDataTableFilterModel>;
264
+ filterModel: Ref<PvFilterPanelFilterModel, PvFilterPanelFilterModel>;
187
265
  filterLastUpdatedMap: Ref<Record<string, number>, Record<string, number>>;
188
266
  filterLastFetchTimeMap: Ref<Record<string, number>, Record<string, number>>;
189
267
  filterModelCleared: Ref<number, number>;
@@ -203,10 +281,10 @@ export declare const usePvDataTableFilterStore: () => {
203
281
  getFilterSelectedValues: (colField: string) => (string | null)[];
204
282
  getSearchMatchDataFromFilterContext: (colDef: ColDef, option: FilterValueResponseOption | null | undefined) => FilterValueMatchResult;
205
283
  isServerSideFilter: ComputedRef<boolean>;
206
- stagedFilterModel: Ref<PvDataTableFilterModel, PvDataTableFilterModel>;
284
+ stagedFilterModel: Ref<PvFilterPanelFilterModel, PvFilterPanelFilterModel>;
207
285
  setFilterSelectedValues: (colField: string, selectedValues: (string | null)[]) => (string | null)[];
208
286
  setFilterValueSearchText: (colField: string, searchText: string | null) => void;
209
- tableSearchFilterModel: Ref<PvDataTableFilterModel, PvDataTableFilterModel>;
287
+ tableSearchFilterModel: Ref<PvFilterPanelFilterModel, PvFilterPanelFilterModel>;
210
288
  tableSearchFilterModelEmpty: ComputedRef<boolean>;
211
289
  tableSearchHandler: Ref<((params: TableSearchHandlerParams<unknown>) => Promise<(QueryTerm | null)[]>) | undefined, ((params: TableSearchHandlerParams<unknown>) => Promise<(QueryTerm | null)[]>) | undefined>;
212
290
  filterValuesMap: Ref<Record<string, (string | null)[]>, Record<string, (string | null)[]>>;
@@ -215,6 +293,7 @@ export declare const usePvDataTableFilterStore: () => {
215
293
  filterStaleMap: Ref<Record<string, boolean>, Record<string, boolean>>;
216
294
  refreshFiltersInBackground: Ref<boolean, boolean>;
217
295
  stageFilterChangesUntilDropdownCloses: Ref<boolean, boolean>;
296
+ filterSearchMinLength: Ref<number | undefined, number | undefined>;
218
297
  markOtherFieldsStale: (changedFields: Set<string>) => void;
219
298
  aggregateFieldMap: Ref<Record<string, string[]>, Record<string, string[]>>;
220
299
  registerAggregateField: (parent: string, children: string[]) => void;
@@ -235,4 +314,26 @@ export declare const usePvDataTableFilterStore: () => {
235
314
  filterValueSearchTextMap: Ref<Record<string, string | null>, Record<string, string | null>>;
236
315
  filterValuesHasMoreMap: Ref<Record<string, boolean | undefined>, Record<string, boolean | undefined>>;
237
316
  filterValuesTotalCountMap: Ref<Record<string, number | undefined>, Record<string, number | undefined>>;
317
+ clearStagedFilterSelections: () => void;
318
+ commitStagedFilterSelections: () => void;
319
+ filterHasMoreMap: Ref<Record<string, boolean | undefined>>;
320
+ filterLoadingMap: Ref<Record<string, boolean | undefined>>;
321
+ filterLoadingMoreMap: Ref<Record<string, boolean | undefined>>;
322
+ filterModelType: Ref< PvFilterPanelFilterModelType | undefined>;
323
+ filterOptionsHandler: Ref< PvFilterPanelOptionsHandler | undefined>;
324
+ filterOptionsMap: Ref<Record<string, ( PvFilterPanelOption | null)[]>>;
325
+ filterRequestIdMap: Ref<Record<string, number | undefined>>;
326
+ filterSearchQueries: Ref<Record<string, string | null | undefined>>;
327
+ filterSelectedMetadataMap: Ref<Record<string, ( PvFilterPanelOption | null)[]>>;
328
+ filterSelectedValueMap: Ref<Record<string, (string | null)[]>>;
329
+ filterTotalCountMap: Ref<Record<string, number | undefined>>;
330
+ filterChildHasMoreMap: Ref<Record<string, boolean | undefined>>;
331
+ filterChildTotalCountMap: Ref<Record<string, number | undefined>>;
332
+ getFilterOptions: (field: string) => ( PvFilterPanelOption | null)[];
333
+ initStagedFilterSelections: () => void;
334
+ setFilterOptions: (field: string, options: ( PvFilterPanelOption | null)[]) => void;
335
+ setFilterOptionsHandler: (handler?: PvFilterPanelOptionsHandler) => void;
336
+ setFilterSearchQuery: (field: string, query: string | null | undefined) => void;
337
+ stagedFilterSelectedMetadataMap: Ref<Record<string, ( PvFilterPanelOption | null)[]>>;
338
+ stagedFilterSelectedValueMap: Ref<Record<string, (string | null)[]>>;
238
339
  };
@@ -18,6 +18,8 @@ export declare const useSetFilter: <T>(options: UseSetFilterOptions<T>) => {
18
18
  isLoading: ComputedRef<boolean>;
19
19
  isSeeMoreLoading: Ref<boolean, boolean>;
20
20
  filterSearchText: WritableComputedRef<string, string>;
21
+ filterSearchMinLength: Ref<number | undefined, number | undefined>;
22
+ belowFilterSearchMinLength: ComputedRef<boolean>;
21
23
  rowsLoading: Ref<boolean, boolean>;
22
24
  gridApi: Ref<GridApi<T> | null, GridApi<T> | null>;
23
25
  filterField: ComputedRef<"" | ColDefField<T, any>>;
@@ -31,6 +33,7 @@ export declare const useSetFilter: <T>(options: UseSetFilterOptions<T>) => {
31
33
  displayedFilterValues: ComputedRef<MenuOption<FilterValueResponseOption>[]>;
32
34
  selectedFilterValues: WritableComputedRef<MenuOption<FilterValueResponseOption>[], MenuOption<FilterValueResponseOption>[]>;
33
35
  showSearchBar: ComputedRef<boolean>;
36
+ filterSearchPlaceholder: ComputedRef<string>;
34
37
  emptyFilterResultsRenderer: ComputedRef< Component | undefined>;
35
38
  filterOptionsRenderer: ComputedRef< Component | undefined>;
36
39
  filterHeaderRenderer: ComputedRef< Component | undefined>;