@turquoisehealth/pit-viper 2.194.3-dev.2 → 2.194.4
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.
- package/_site/assets/css/pit-viper-a11y.css +258 -10
- package/_site/assets/css/pit-viper-consumer.css +258 -10
- package/_site/assets/css/pit-viper-v2-scoped.css +223 -10
- package/_site/assets/css/pit-viper-v2.css +258 -10
- package/_site/assets/css/pit-viper.css +258 -10
- package/package.json +15 -15
- package/pv-components/dist/stats/vue/base/stats.html +1 -1
- package/pv-components/dist/stats/vue/visualizations/stats.html +1 -1
- package/pv-components/dist/stats/web/pv-accordion-stats.html +1 -1
- package/pv-components/dist/stats/web/pv-action-bar-stats.html +1 -1
- package/pv-components/dist/stats/web/pv-ai-button-stats.html +1 -1
- package/pv-components/dist/stats/web/pv-avatar-group-stats.html +1 -1
- package/pv-components/dist/stats/web/pv-avatar-stats.html +1 -1
- package/pv-components/dist/stats/web/pv-banner-stats.html +1 -1
- package/pv-components/dist/stats/web/pv-breadcrumbs-stats.html +1 -1
- package/pv-components/dist/stats/web/pv-button-stats.html +1 -1
- package/pv-components/dist/stats/web/pv-card-stats.html +1 -1
- package/pv-components/dist/stats/web/pv-checkbox-stats.html +1 -1
- package/pv-components/dist/stats/web/pv-company-label-stats.html +1 -1
- package/pv-components/dist/stats/web/pv-company-logo-stats.html +1 -1
- package/pv-components/dist/stats/web/pv-company-tag-stats.html +1 -1
- package/pv-components/dist/stats/web/pv-counter-badge-stats.html +1 -1
- package/pv-components/dist/stats/web/pv-date-picker-stats.html +1 -1
- package/pv-components/dist/stats/web/pv-date-time-stats.html +1 -1
- package/pv-components/dist/stats/web/pv-distribution-bar-stats.html +1 -1
- package/pv-components/dist/stats/web/pv-drawer-stats.html +1 -1
- package/pv-components/dist/stats/web/pv-dropdown-stats.html +1 -1
- package/pv-components/dist/stats/web/pv-expandable-content-stats.html +1 -1
- package/pv-components/dist/stats/web/pv-filter-panel-stats.html +4950 -0
- package/pv-components/dist/stats/web/pv-ghost-input-stats.html +1 -1
- package/pv-components/dist/stats/web/pv-header-stats.html +1 -1
- package/pv-components/dist/stats/web/pv-horizontal-scroller-stats.html +4950 -0
- package/pv-components/dist/stats/web/pv-icon-stats.html +1 -1
- package/pv-components/dist/stats/web/pv-input-stats.html +1 -1
- package/pv-components/dist/stats/web/pv-insight-card-stats.html +1 -1
- package/pv-components/dist/stats/web/pv-menu-stats.html +1 -1
- package/pv-components/dist/stats/web/pv-modal-stats.html +1 -1
- package/pv-components/dist/stats/web/pv-multi-select-button-stats.html +1 -1
- package/pv-components/dist/stats/web/pv-pagination-stats.html +1 -1
- package/pv-components/dist/stats/web/pv-pill-stats.html +1 -1
- package/pv-components/dist/stats/web/pv-popover-menu-stats.html +1 -1
- package/pv-components/dist/stats/web/pv-popover-stats.html +1 -1
- package/pv-components/dist/stats/web/pv-popover-v2-stats.html +1 -1
- package/pv-components/dist/stats/web/pv-progress-bar-stats.html +1 -1
- package/pv-components/dist/stats/web/pv-query-builder-input-stats.html +1 -1
- package/pv-components/dist/stats/web/pv-radio-group-stats.html +1 -1
- package/pv-components/dist/stats/web/pv-range-stats.html +1 -1
- package/pv-components/dist/stats/web/pv-rating-stats.html +1 -1
- package/pv-components/dist/stats/web/pv-release-badge-stats.html +1 -1
- package/pv-components/dist/stats/web/pv-search-input-stats.html +1 -1
- package/pv-components/dist/stats/web/pv-segmented-control-stats.html +1 -1
- package/pv-components/dist/stats/web/pv-select-button-stats.html +1 -1
- package/pv-components/dist/stats/web/pv-selectable-card-stats.html +1 -1
- package/pv-components/dist/stats/web/pv-side-panel-stats.html +1 -1
- package/pv-components/dist/stats/web/pv-skeleton-stats.html +1 -1
- package/pv-components/dist/stats/web/pv-spinner-stats.html +1 -1
- package/pv-components/dist/stats/web/pv-sprite-stats.html +1 -1
- package/pv-components/dist/stats/web/pv-stepper-stats.html +1 -1
- package/pv-components/dist/stats/web/pv-suggestion-tag-stats.html +1 -1
- package/pv-components/dist/stats/web/pv-switch-stats.html +1 -1
- package/pv-components/dist/stats/web/pv-tab-list-stats.html +1 -1
- package/pv-components/dist/stats/web/pv-table-of-contents-stats.html +1 -1
- package/pv-components/dist/stats/web/pv-tabs-stats.html +1 -1
- package/pv-components/dist/stats/web/pv-tag-stats.html +1 -1
- package/pv-components/dist/stats/web/pv-text-area-stats.html +1 -1
- package/pv-components/dist/stats/web/pv-toast-stats.html +1 -1
- package/pv-components/dist/stats/web/pv-toggle-button-stats.html +1 -1
- package/pv-components/dist/stats/web/pv-toggle-group-stats.html +1 -1
- package/pv-components/dist/stats/web/pv-tooltip-stats.html +1 -1
- package/pv-components/dist/stats/web/pv-tooltip-v2-stats.html +1 -1
- package/pv-components/dist/stats/web/pv-tree-stats.html +1 -1
- package/pv-components/dist/stats/web/pv-widget-stats.html +1 -1
- package/pv-components/dist/vue/base/components/base/PvFilterPanel/PvFilterPanel.vue.d.ts +73 -0
- package/pv-components/dist/vue/base/components/base/PvFilterPanel/PvFilterPanelAccordion.vue.d.ts +18 -0
- package/pv-components/dist/vue/base/components/base/PvFilterPanel/PvFilterPanelAppliedFiltersSection.vue.d.ts +12 -0
- package/pv-components/dist/vue/base/components/base/PvFilterPanel/PvFilterPanelCategoryButtonRow.vue.d.ts +14 -0
- package/pv-components/dist/vue/base/components/base/PvFilterPanel/PvFilterPanelOptionRow.vue.d.ts +34 -0
- package/pv-components/dist/vue/base/components/base/PvFilterPanel/advancedFilterModel.d.ts +26 -0
- package/pv-components/dist/vue/base/components/base/PvFilterPanel/aggregateFilterModel.d.ts +56 -0
- package/pv-components/dist/vue/base/components/base/PvFilterPanel/filterOptionDisplay.d.ts +28 -0
- package/pv-components/dist/vue/base/components/base/PvFilterPanel/filterOptionValue.d.ts +15 -0
- package/pv-components/dist/vue/base/components/base/PvFilterPanel/types.d.ts +402 -0
- package/pv-components/dist/vue/base/components/base/PvFilterPanel/usePvFilterStore.d.ts +5 -0
- package/pv-components/dist/vue/base/components/base/PvHorizontalScroller/PvHorizontalScroller.vue.d.ts +36 -0
- package/pv-components/dist/vue/base/components/base/PvHorizontalScroller/types.d.ts +21 -0
- package/pv-components/dist/vue/base/components/base/PvRange/PvRange.vue.d.ts +27 -15
- package/pv-components/dist/vue/base/components/base/PvRange/types.d.ts +44 -0
- package/pv-components/dist/vue/base/components/base/index.d.ts +6 -0
- package/pv-components/dist/vue/base/pv-components-base.mjs +3728 -1116
- package/pv-components/dist/vue/base/pv-components-base.mjs.map +1 -1
- package/pv-components/dist/vue/visualizations/components/base/PvFilterPanel/PvFilterPanel.vue.d.ts +73 -0
- package/pv-components/dist/vue/visualizations/components/base/PvFilterPanel/PvFilterPanelAccordion.vue.d.ts +18 -0
- package/pv-components/dist/vue/visualizations/components/base/PvFilterPanel/PvFilterPanelAppliedFiltersSection.vue.d.ts +12 -0
- package/pv-components/dist/vue/visualizations/components/base/PvFilterPanel/PvFilterPanelCategoryButtonRow.vue.d.ts +14 -0
- package/pv-components/dist/vue/visualizations/components/base/PvFilterPanel/PvFilterPanelOptionRow.vue.d.ts +34 -0
- package/pv-components/dist/vue/visualizations/components/base/PvFilterPanel/advancedFilterModel.d.ts +26 -0
- package/pv-components/dist/vue/visualizations/components/base/PvFilterPanel/aggregateFilterModel.d.ts +56 -0
- package/pv-components/dist/vue/visualizations/components/base/PvFilterPanel/filterOptionDisplay.d.ts +28 -0
- package/pv-components/dist/vue/visualizations/components/base/PvFilterPanel/filterOptionValue.d.ts +15 -0
- package/pv-components/dist/vue/visualizations/components/base/PvFilterPanel/types.d.ts +402 -0
- package/pv-components/dist/vue/visualizations/components/base/PvFilterPanel/usePvFilterStore.d.ts +5 -0
- package/pv-components/dist/vue/visualizations/components/base/PvHorizontalScroller/PvHorizontalScroller.vue.d.ts +36 -0
- package/pv-components/dist/vue/visualizations/components/base/PvHorizontalScroller/types.d.ts +21 -0
- package/pv-components/dist/vue/visualizations/components/base/PvRange/PvRange.vue.d.ts +27 -15
- package/pv-components/dist/vue/visualizations/components/base/PvRange/types.d.ts +44 -0
- package/pv-components/dist/vue/visualizations/components/base/index.d.ts +6 -0
- package/pv-components/dist/vue/visualizations/components/charts/PvDataTableWithChart/PvDataTableWithChart.vue.d.ts +1 -1
- package/pv-components/dist/vue/visualizations/components/tables/PvDataTable/table-components/SetFilter.vue.d.ts +2 -2
- package/pv-components/dist/vue/visualizations/pv-components-visualizations.mjs +4 -1
- package/pv-components/dist/vue/visualizations/pv-components-visualizations.mjs.map +1 -1
- package/pv-components/dist/web/components/pv-accordion/pv-accordion.js +35 -28
- package/pv-components/dist/web/components/pv-action-bar/pv-action-bar.js +397 -390
- package/pv-components/dist/web/components/pv-ai-button/pv-ai-button.js +35 -28
- package/pv-components/dist/web/components/pv-avatar/pv-avatar.js +35 -28
- package/pv-components/dist/web/components/pv-avatar-group/pv-avatar-group.js +274 -267
- package/pv-components/dist/web/components/pv-banner/pv-banner.js +35 -28
- package/pv-components/dist/web/components/pv-breadcrumbs/pv-breadcrumbs.js +356 -349
- package/pv-components/dist/web/components/pv-button/pv-button.js +35 -28
- package/pv-components/dist/web/components/pv-card/pv-card.js +35 -28
- package/pv-components/dist/web/components/pv-checkbox/pv-checkbox.js +35 -28
- package/pv-components/dist/web/components/pv-company-label/pv-company-label.js +35 -28
- package/pv-components/dist/web/components/pv-company-logo/pv-company-logo.js +131 -124
- package/pv-components/dist/web/components/pv-company-tag/pv-company-tag.js +35 -28
- package/pv-components/dist/web/components/pv-counter-badge/pv-counter-badge.js +209 -202
- package/pv-components/dist/web/components/pv-date-picker/pv-date-picker.js +71 -64
- package/pv-components/dist/web/components/pv-date-time/pv-date-time.js +35 -28
- package/pv-components/dist/web/components/pv-distribution-bar/pv-distribution-bar.js +508 -501
- package/pv-components/dist/web/components/pv-drawer/pv-drawer.js +35 -28
- package/pv-components/dist/web/components/pv-dropdown/pv-dropdown.js +410 -403
- package/pv-components/dist/web/components/pv-expandable-content/pv-expandable-content.js +49 -42
- package/pv-components/dist/web/components/pv-filter-panel/pv-filter-panel.js +10769 -0
- package/pv-components/dist/web/components/pv-ghost-input/pv-ghost-input.js +35 -28
- package/pv-components/dist/web/components/pv-header/pv-header.js +49 -42
- package/pv-components/dist/web/components/pv-horizontal-scroller/pv-horizontal-scroller.js +6476 -0
- package/pv-components/dist/web/components/pv-icon/pv-icon.js +513 -506
- package/pv-components/dist/web/components/pv-input/pv-input.js +35 -28
- package/pv-components/dist/web/components/pv-insight-card/pv-insight-card.js +182 -175
- package/pv-components/dist/web/components/pv-menu/pv-menu.js +35 -28
- package/pv-components/dist/web/components/pv-modal/pv-modal.js +35 -28
- package/pv-components/dist/web/components/pv-multi-select-button/pv-multi-select-button.js +702 -695
- package/pv-components/dist/web/components/pv-pagination/pv-pagination.js +35 -28
- package/pv-components/dist/web/components/pv-pill/pv-pill.js +356 -349
- package/pv-components/dist/web/components/pv-popover/pv-popover.js +35 -28
- package/pv-components/dist/web/components/pv-popover-menu/pv-popover-menu.js +168 -161
- package/pv-components/dist/web/components/pv-popover-v2/pv-popover-v2.js +35 -28
- package/pv-components/dist/web/components/pv-progress-bar/pv-progress-bar.js +103 -96
- package/pv-components/dist/web/components/pv-query-builder-input/pv-query-builder-input.js +453 -446
- package/pv-components/dist/web/components/pv-radio-group/pv-radio-group.js +35 -28
- package/pv-components/dist/web/components/pv-range/pv-range.js +1117 -530
- package/pv-components/dist/web/components/pv-rating/pv-rating.js +35 -28
- package/pv-components/dist/web/components/pv-release-badge/pv-release-badge.js +209 -202
- package/pv-components/dist/web/components/pv-search-input/pv-search-input.js +35 -28
- package/pv-components/dist/web/components/pv-segmented-control/pv-segmented-control.js +35 -28
- package/pv-components/dist/web/components/pv-select-button/pv-select-button.js +35 -28
- package/pv-components/dist/web/components/pv-selectable-card/pv-selectable-card.js +509 -502
- package/pv-components/dist/web/components/pv-side-panel/pv-side-panel.js +356 -349
- package/pv-components/dist/web/components/pv-skeleton/pv-skeleton.js +35 -28
- package/pv-components/dist/web/components/pv-spinner/pv-spinner.js +397 -390
- package/pv-components/dist/web/components/pv-sprite/pv-sprite.js +397 -390
- package/pv-components/dist/web/components/pv-stepper/pv-stepper.js +35 -28
- package/pv-components/dist/web/components/pv-suggestion-tag/pv-suggestion-tag.js +35 -28
- package/pv-components/dist/web/components/pv-switch/pv-switch.js +35 -28
- package/pv-components/dist/web/components/pv-tab-list/pv-tab-list.js +35 -28
- package/pv-components/dist/web/components/pv-table-of-contents/pv-table-of-contents.js +35 -28
- package/pv-components/dist/web/components/pv-tabs/pv-tabs.js +35 -28
- package/pv-components/dist/web/components/pv-tag/pv-tag.js +402 -395
- package/pv-components/dist/web/components/pv-text-area/pv-text-area.js +35 -28
- package/pv-components/dist/web/components/pv-toast/pv-toast.js +402 -395
- package/pv-components/dist/web/components/pv-toggle-button/pv-toggle-button.js +35 -28
- package/pv-components/dist/web/components/pv-toggle-group/pv-toggle-group.js +35 -28
- package/pv-components/dist/web/components/pv-tooltip/pv-tooltip.js +35 -28
- package/pv-components/dist/web/components/pv-tooltip-v2/pv-tooltip-v2.js +100 -93
- package/pv-components/dist/web/components/pv-tree/pv-tree.js +35 -28
- package/pv-components/dist/web/components/pv-widget/pv-widget.js +356 -349
- package/pv-components/dist/web/pv-components.iife.js +38 -38
- package/pv-components/dist/web/pv-components.iife.js.map +1 -1
|
@@ -0,0 +1,402 @@
|
|
|
1
|
+
import { Component, Ref } from 'vue';
|
|
2
|
+
import { AdvancedFilterModel, FilterModel } from 'ag-grid-enterprise';
|
|
3
|
+
import { MenuOption, MultiSelectState } from '../../../types';
|
|
4
|
+
import { ColDef, ValueFormatterFunc } from 'ag-grid-community';
|
|
5
|
+
import { PvRangeValue } from '../PvRange/types';
|
|
6
|
+
export type PvFilterPanelCategory = string;
|
|
7
|
+
export type PvFilterPanelFilterType = "value" | "range" | "boolean" | "exists";
|
|
8
|
+
export type PvFilterPanelFilterModelType = "advanced" | "regular";
|
|
9
|
+
export type PvFilterPanelFilterModel = AdvancedFilterModel | FilterModel | null;
|
|
10
|
+
export type PvFilterPanelResultCount = number | string;
|
|
11
|
+
export type PvFilterPanelOptionRawValue = boolean | number | string | null;
|
|
12
|
+
export interface PvFilterPanelOption {
|
|
13
|
+
children?: PvFilterPanelOption[];
|
|
14
|
+
colField?: string;
|
|
15
|
+
/** Explicit field this option filters. Prefer this over colField or scoped value parsing for new consumers. */
|
|
16
|
+
field?: string;
|
|
17
|
+
isPreference?: boolean;
|
|
18
|
+
isSelectable?: boolean;
|
|
19
|
+
label?: string;
|
|
20
|
+
matchedField?: string;
|
|
21
|
+
matchedValue?: string;
|
|
22
|
+
menuOption?: Partial<MenuOption<PvFilterPanelOption>>;
|
|
23
|
+
/** Metadata that can be associated with the value and passed through renderers/handlers. */
|
|
24
|
+
metadata?: any;
|
|
25
|
+
/** Explicit raw filter value. Prefer this over metadata.rawValue or scoped value parsing for new consumers. */
|
|
26
|
+
rawValue?: PvFilterPanelOptionRawValue;
|
|
27
|
+
resultCount?: PvFilterPanelResultCount | null;
|
|
28
|
+
subduedText?: string;
|
|
29
|
+
subText?: string;
|
|
30
|
+
totalChildCount?: number;
|
|
31
|
+
value: string;
|
|
32
|
+
}
|
|
33
|
+
export interface PvFilterPanelFilterGroup {
|
|
34
|
+
fields: string[];
|
|
35
|
+
label: string;
|
|
36
|
+
}
|
|
37
|
+
export interface PvFilterPanelAggregateFieldHierarchy {
|
|
38
|
+
/** Field represented by this hierarchy node. Parent/child relationships are determined by nesting. */
|
|
39
|
+
field: string;
|
|
40
|
+
/** Child fields nested under this field. */
|
|
41
|
+
children?: PvFilterPanelAggregateFieldHierarchy[];
|
|
42
|
+
}
|
|
43
|
+
export interface PvFilterPanelRangeConfig {
|
|
44
|
+
/** Minimum bound for range controls in reusable filter panel UIs. */
|
|
45
|
+
min?: number | null;
|
|
46
|
+
/** Maximum bound for range controls in reusable filter panel UIs. */
|
|
47
|
+
max?: number | null;
|
|
48
|
+
/** Step increment for range controls in reusable filter panel UIs. */
|
|
49
|
+
step?: number | null;
|
|
50
|
+
}
|
|
51
|
+
export interface PvFilterPanelColDefContext {
|
|
52
|
+
/**
|
|
53
|
+
* Hierarchy of fields represented by this aggregate filter column.
|
|
54
|
+
*
|
|
55
|
+
* Example: `{ field: "health_system", children: [{ field: "provider_id" }] }`
|
|
56
|
+
* renders health systems as parent options and providers as nested child options.
|
|
57
|
+
* Fields must be present as their own columns in the table. Filters for the
|
|
58
|
+
* hierarchy fields are hidden from the filter panel in favor of this aggregate filter.
|
|
59
|
+
*
|
|
60
|
+
* Requires `enableAdvancedFilter: true` on the table — columns with an aggregate hierarchy
|
|
61
|
+
* are excluded (and may log a console warning) when advanced filtering is disabled.
|
|
62
|
+
*/
|
|
63
|
+
aggregateFieldHierarchy?: PvFilterPanelAggregateFieldHierarchy;
|
|
64
|
+
/**
|
|
65
|
+
* Aggregate filter column for columns that have "peer" relationships, as opposed to hierarchical
|
|
66
|
+
* Requires `enableAdvancedFilter: true` on the table — columns with aggregate fields
|
|
67
|
+
* are excluded (and may log a console warning) when advanced filtering is disabled.
|
|
68
|
+
*/
|
|
69
|
+
aggregateFields?: string[];
|
|
70
|
+
/**
|
|
71
|
+
* The data type of the column values, used for things like formatting, icons, etc.
|
|
72
|
+
*/
|
|
73
|
+
dataType?: string | null;
|
|
74
|
+
/**
|
|
75
|
+
* If true, this column is considered a "dev" column and will only be shown when devMode is enabled
|
|
76
|
+
*/
|
|
77
|
+
devOnly?: boolean;
|
|
78
|
+
/**
|
|
79
|
+
* An optional renderer to use for dropdown values when no results are found
|
|
80
|
+
*/
|
|
81
|
+
emptyFilterResultsRenderer?: Component;
|
|
82
|
+
/**
|
|
83
|
+
* Optional renderer to provide content below the filter options list
|
|
84
|
+
*/
|
|
85
|
+
filterFooterRenderer?: Component;
|
|
86
|
+
/**
|
|
87
|
+
* A group of boolean sub-fields to render as a hover submenu above the filter options.
|
|
88
|
+
* Each field in `fields` must be present as a column in the table.
|
|
89
|
+
* Selecting an item toggles a `<field> = "true"` condition in the advanced filter model.
|
|
90
|
+
*/
|
|
91
|
+
filterGroup?: PvFilterPanelFilterGroup;
|
|
92
|
+
/**
|
|
93
|
+
* Optional renderer to provide content above the filter options list
|
|
94
|
+
*/
|
|
95
|
+
filterHeaderRenderer?: Component;
|
|
96
|
+
/**
|
|
97
|
+
* Optional renderer to override the default filter options list
|
|
98
|
+
*/
|
|
99
|
+
filterOptionsRenderer?: Component;
|
|
100
|
+
/**
|
|
101
|
+
* An optional description to show in the tooltip explaining how the dropdown values are sorted
|
|
102
|
+
*/
|
|
103
|
+
filterOptionsSortDescription?: string;
|
|
104
|
+
/**
|
|
105
|
+
* The primary text for the optional tooltip
|
|
106
|
+
*/
|
|
107
|
+
filterOptionsSortTooltip?: string;
|
|
108
|
+
/**
|
|
109
|
+
* Category label used by reusable filter panel UIs to group this column.
|
|
110
|
+
*/
|
|
111
|
+
filterPanelCategory?: PvFilterPanelCategory | null;
|
|
112
|
+
/**
|
|
113
|
+
* Custom label for exists filters. Defaults to `Has ${headerName}`.
|
|
114
|
+
*/
|
|
115
|
+
filterPanelExistsLabel?: string;
|
|
116
|
+
/**
|
|
117
|
+
* If true, hide this column from reusable filter panel UIs.
|
|
118
|
+
*/
|
|
119
|
+
filterPanelHidden?: boolean;
|
|
120
|
+
/**
|
|
121
|
+
* Range control configuration used by reusable filter panel UIs. Presence infers a range filter type.
|
|
122
|
+
*/
|
|
123
|
+
filterPanelRange?: PvFilterPanelRangeConfig;
|
|
124
|
+
/**
|
|
125
|
+
* Placeholder shown in value filter search inputs.
|
|
126
|
+
*/
|
|
127
|
+
filterPanelSearchPlaceholder?: string;
|
|
128
|
+
/**
|
|
129
|
+
* Filter control type used by reusable filter panel UIs.
|
|
130
|
+
*/
|
|
131
|
+
filterPanelType?: PvFilterPanelFilterType;
|
|
132
|
+
/**
|
|
133
|
+
* Labels for boolean values, keyed by `true` and `false`.
|
|
134
|
+
*/
|
|
135
|
+
filterPanelValueLabels?: Record<string, string> | null;
|
|
136
|
+
/**
|
|
137
|
+
* If true, will show a search box to filter the available filter options
|
|
138
|
+
*/
|
|
139
|
+
filterSearch?: boolean;
|
|
140
|
+
/**
|
|
141
|
+
* If true, grouped data will not be displayed until a filter is applied
|
|
142
|
+
*/
|
|
143
|
+
filterRequiredToGroup?: boolean;
|
|
144
|
+
/**
|
|
145
|
+
* The max number of allowable selections for filters on this column
|
|
146
|
+
*/
|
|
147
|
+
filterSelectMax?: number;
|
|
148
|
+
/**
|
|
149
|
+
* The min number of allowable selections for filters on this column
|
|
150
|
+
*/
|
|
151
|
+
filterSelectMin?: number;
|
|
152
|
+
/**
|
|
153
|
+
* Formatter for the filter values in the dropdown
|
|
154
|
+
*/
|
|
155
|
+
filterValueFormatter?: string | ValueFormatterFunc | null;
|
|
156
|
+
/**
|
|
157
|
+
* Determines how values are formatted when the field contains array data
|
|
158
|
+
*/
|
|
159
|
+
isArrayField?: boolean;
|
|
160
|
+
/**
|
|
161
|
+
* A list of associated fields that can be expected and used for custom formatting
|
|
162
|
+
*/
|
|
163
|
+
metadataDisplayFields?: string[];
|
|
164
|
+
/**
|
|
165
|
+
* For server-side filtering, list of associated column IDs to query against when searching for filter values.
|
|
166
|
+
*/
|
|
167
|
+
queryColIds?: string[];
|
|
168
|
+
/**
|
|
169
|
+
* Number of decimal places to show for numeric values (if applicable)
|
|
170
|
+
*/
|
|
171
|
+
valueDecimals?: number | null;
|
|
172
|
+
}
|
|
173
|
+
export type PvFilterPanelColDef = Omit<ColDef, "context"> & {
|
|
174
|
+
context?: PvFilterPanelColDefContext;
|
|
175
|
+
};
|
|
176
|
+
export interface PvFilterPanelAppliedValue {
|
|
177
|
+
field?: string;
|
|
178
|
+
label: string;
|
|
179
|
+
resultCount?: PvFilterPanelResultCount | null;
|
|
180
|
+
subText?: string;
|
|
181
|
+
subduedText?: string;
|
|
182
|
+
type?: PvFilterPanelFilterType;
|
|
183
|
+
value: string;
|
|
184
|
+
}
|
|
185
|
+
export interface PvFilterPanelAppliedGroup {
|
|
186
|
+
key: string;
|
|
187
|
+
label: string;
|
|
188
|
+
values: PvFilterPanelAppliedValue[];
|
|
189
|
+
}
|
|
190
|
+
export type PvFilterPanelControlChange = {
|
|
191
|
+
checked: boolean;
|
|
192
|
+
field?: string;
|
|
193
|
+
type: "value";
|
|
194
|
+
value: string;
|
|
195
|
+
} | {
|
|
196
|
+
field?: string;
|
|
197
|
+
type: "range";
|
|
198
|
+
value: PvRangeValue;
|
|
199
|
+
} | {
|
|
200
|
+
field?: string;
|
|
201
|
+
type: "boolean";
|
|
202
|
+
value: boolean | null;
|
|
203
|
+
} | {
|
|
204
|
+
field?: string;
|
|
205
|
+
type: "exists";
|
|
206
|
+
value: boolean;
|
|
207
|
+
} | {
|
|
208
|
+
type: "aggregate-selection";
|
|
209
|
+
value: MultiSelectState;
|
|
210
|
+
};
|
|
211
|
+
export interface PvFilterPanelSuggestion {
|
|
212
|
+
field: string;
|
|
213
|
+
filter: PvFilterPanelControlChange;
|
|
214
|
+
icon?: string;
|
|
215
|
+
iconClasses?: string[];
|
|
216
|
+
key?: string;
|
|
217
|
+
label: string;
|
|
218
|
+
option?: PvFilterPanelOption;
|
|
219
|
+
}
|
|
220
|
+
export type PvFilterPanelFilterChangeReason = "boolean-change" | "clear-all" | "exists-change" | "range-change" | "remove-filter" | "value-toggle";
|
|
221
|
+
export interface PvFilterPanelFilterChangeEvent {
|
|
222
|
+
colDef?: PvFilterPanelColDef;
|
|
223
|
+
field?: string;
|
|
224
|
+
filterModel: PvFilterPanelFilterModel;
|
|
225
|
+
previousFilterModel: PvFilterPanelFilterModel;
|
|
226
|
+
reason: PvFilterPanelFilterChangeReason;
|
|
227
|
+
type?: PvFilterPanelFilterType;
|
|
228
|
+
}
|
|
229
|
+
export interface PvFilterPanelGroupOption {
|
|
230
|
+
field: string;
|
|
231
|
+
isActive: boolean;
|
|
232
|
+
label: string;
|
|
233
|
+
}
|
|
234
|
+
export type PvFilterPanelOptionsHandlerReason = "open" | "search" | "load-more" | "child-load-more";
|
|
235
|
+
export interface PvFilterPanelOptionsHandlerParams {
|
|
236
|
+
field: string;
|
|
237
|
+
colDef: PvFilterPanelColDef;
|
|
238
|
+
filterModel?: PvFilterPanelFilterModel;
|
|
239
|
+
limit?: number;
|
|
240
|
+
offset?: number;
|
|
241
|
+
parentId?: string;
|
|
242
|
+
query?: string;
|
|
243
|
+
reason: PvFilterPanelOptionsHandlerReason;
|
|
244
|
+
selectedValues?: (string | null)[];
|
|
245
|
+
}
|
|
246
|
+
export interface PvFilterPanelOptionsResponse {
|
|
247
|
+
hasMore?: boolean;
|
|
248
|
+
totalCount?: number;
|
|
249
|
+
values: (PvFilterPanelOption | null)[];
|
|
250
|
+
}
|
|
251
|
+
export type PvFilterPanelOptionsHandler = (params: PvFilterPanelOptionsHandlerParams) => Promise<PvFilterPanelOptionsResponse | (PvFilterPanelOption | null)[]>;
|
|
252
|
+
export interface PvFilterStoreFetchOptionsParams extends Omit<PvFilterPanelOptionsHandlerParams, "offset"> {
|
|
253
|
+
offset?: number;
|
|
254
|
+
}
|
|
255
|
+
export interface PvFilterStore {
|
|
256
|
+
clearStagedFilterSelections: () => void;
|
|
257
|
+
commitStagedFilterSelections: () => void;
|
|
258
|
+
fetchFilterOptions: (params: PvFilterStoreFetchOptionsParams) => Promise<(string | null)[]>;
|
|
259
|
+
filterHasMoreMap: Ref<Record<string, boolean | undefined>>;
|
|
260
|
+
filterLoadingMap: Ref<Record<string, boolean | undefined>>;
|
|
261
|
+
filterLoadingMoreMap: Ref<Record<string, boolean | undefined>>;
|
|
262
|
+
filterModel: Ref<PvFilterPanelFilterModel>;
|
|
263
|
+
filterModelType: Ref<PvFilterPanelFilterModelType | undefined>;
|
|
264
|
+
filterOptionsHandler: Ref<PvFilterPanelOptionsHandler | undefined>;
|
|
265
|
+
filterOptionsMap: Ref<Record<string, (PvFilterPanelOption | null)[]>>;
|
|
266
|
+
filterRequestIdMap: Ref<Record<string, number | undefined>>;
|
|
267
|
+
filterSearchQueries: Ref<Record<string, string | null | undefined>>;
|
|
268
|
+
filterStaleMap: Ref<Record<string, boolean | undefined>>;
|
|
269
|
+
filterSelectedMetadataMap: Ref<Record<string, (PvFilterPanelOption | null)[]>>;
|
|
270
|
+
filterSelectedValueMap: Ref<Record<string, (string | null)[]>>;
|
|
271
|
+
filterTotalCountMap: Ref<Record<string, number | undefined>>;
|
|
272
|
+
filterChildHasMoreMap: Ref<Record<string, boolean | undefined>>;
|
|
273
|
+
filterChildTotalCountMap: Ref<Record<string, number | undefined>>;
|
|
274
|
+
getFilterOptions: (field: string) => (PvFilterPanelOption | null)[];
|
|
275
|
+
getFilterSelectedValues: (field: string, staged?: boolean) => (string | null)[];
|
|
276
|
+
initStagedFilterSelections: () => void;
|
|
277
|
+
setFilterOptions: (field: string, options: (PvFilterPanelOption | null)[]) => void;
|
|
278
|
+
setFilterOptionsHandler: (handler?: PvFilterPanelOptionsHandler) => void;
|
|
279
|
+
setFilterSearchQuery: (field: string, query: string | null | undefined) => void;
|
|
280
|
+
setFilterSelectedValues: (field: string, values: (string | null)[], staged?: boolean) => void;
|
|
281
|
+
stagedFilterModel: Ref<PvFilterPanelFilterModel>;
|
|
282
|
+
stagedFilterSelectedMetadataMap: Ref<Record<string, (PvFilterPanelOption | null)[]>>;
|
|
283
|
+
stagedFilterSelectedValueMap: Ref<Record<string, (string | null)[]>>;
|
|
284
|
+
}
|
|
285
|
+
export interface PvFilterPanelResolvedFilter {
|
|
286
|
+
aggregateSelectionState?: MultiSelectState;
|
|
287
|
+
booleanValue?: boolean | null;
|
|
288
|
+
category?: PvFilterPanelCategory | null;
|
|
289
|
+
colDef: PvFilterPanelColDef;
|
|
290
|
+
dataType?: string | null;
|
|
291
|
+
disabled?: boolean;
|
|
292
|
+
displayPreferencesIcon?: boolean;
|
|
293
|
+
emptyResultsRenderer?: Component;
|
|
294
|
+
existsLabel?: string;
|
|
295
|
+
existsValue?: boolean;
|
|
296
|
+
filterFooterRenderer?: Component;
|
|
297
|
+
filterGroupLabel?: string;
|
|
298
|
+
filterGroupOptions?: PvFilterPanelGroupOption[];
|
|
299
|
+
filterHeaderRenderer?: Component;
|
|
300
|
+
filterOptionsRenderer?: Component;
|
|
301
|
+
filterOptionsSortDescription?: string;
|
|
302
|
+
filterOptionsSortTooltip?: string;
|
|
303
|
+
focusText?: string;
|
|
304
|
+
focusedValues?: string[];
|
|
305
|
+
focusedValuesByField?: Record<string, string[] | undefined>;
|
|
306
|
+
hasMore?: boolean;
|
|
307
|
+
isAggregate?: boolean;
|
|
308
|
+
isFocusable?: boolean;
|
|
309
|
+
isLoading?: boolean;
|
|
310
|
+
isLoadingMore?: boolean;
|
|
311
|
+
isOpen?: boolean;
|
|
312
|
+
key: string;
|
|
313
|
+
knownOptions?: PvFilterPanelOption[];
|
|
314
|
+
label: string;
|
|
315
|
+
options?: PvFilterPanelOption[];
|
|
316
|
+
rangeMax?: number | null;
|
|
317
|
+
rangeMin?: number | null;
|
|
318
|
+
rangeStep?: number | null;
|
|
319
|
+
rangeValue?: PvRangeValue;
|
|
320
|
+
searchPlaceholder?: string;
|
|
321
|
+
searchQuery?: string;
|
|
322
|
+
selectedValues?: string[];
|
|
323
|
+
type: PvFilterPanelFilterType;
|
|
324
|
+
valueDecimals?: number | null;
|
|
325
|
+
valueLabels?: Record<string, string> | null;
|
|
326
|
+
}
|
|
327
|
+
export interface PvFilterPanelAccordionProps {
|
|
328
|
+
filter: PvFilterPanelResolvedFilter;
|
|
329
|
+
}
|
|
330
|
+
export interface PvFilterPanelAppliedFiltersSectionProps {
|
|
331
|
+
appliedCount?: number;
|
|
332
|
+
appliedGroups?: PvFilterPanelAppliedGroup[];
|
|
333
|
+
readOnly?: boolean;
|
|
334
|
+
}
|
|
335
|
+
export interface PvFilterPanelCategoryButtonRowProps {
|
|
336
|
+
categoryOrder?: PvFilterPanelCategory[];
|
|
337
|
+
filters?: PvFilterPanelResolvedFilter[];
|
|
338
|
+
}
|
|
339
|
+
export interface PvFilterPanelOptionRowProps {
|
|
340
|
+
ariaLabel?: string;
|
|
341
|
+
depth?: number;
|
|
342
|
+
disabled?: boolean;
|
|
343
|
+
indeterminate?: boolean;
|
|
344
|
+
focusText?: string;
|
|
345
|
+
isFocused?: boolean;
|
|
346
|
+
label: string;
|
|
347
|
+
queryText?: string | null;
|
|
348
|
+
renderer?: Component;
|
|
349
|
+
resultCount?: PvFilterPanelResultCount | null;
|
|
350
|
+
selected?: boolean;
|
|
351
|
+
showFocusAction?: boolean;
|
|
352
|
+
subText?: string;
|
|
353
|
+
subduedText?: string;
|
|
354
|
+
value: string;
|
|
355
|
+
}
|
|
356
|
+
export interface PvFilterPanelProps {
|
|
357
|
+
applyLabel?: string;
|
|
358
|
+
ariaLabel?: string;
|
|
359
|
+
/** Auto-hide backing fields represented by aggregate filters and child fields represented by filter groups. */
|
|
360
|
+
autoHideRelatedFilterFields?: boolean;
|
|
361
|
+
cancelLabel?: string;
|
|
362
|
+
categoryOrder?: PvFilterPanelCategory[];
|
|
363
|
+
clearAllBody?: string;
|
|
364
|
+
clearAllHeader?: string;
|
|
365
|
+
clearAllLabel?: string;
|
|
366
|
+
colDefs?: PvFilterPanelColDef[];
|
|
367
|
+
/** Whether dev-only filters should be shown. */
|
|
368
|
+
devMode?: boolean;
|
|
369
|
+
displayPreferencesIcon?: boolean;
|
|
370
|
+
enableFocusView?: boolean;
|
|
371
|
+
/** @deprecated Prefer filterStore/filterOptionsHandler. Whether more value-filter options can be loaded, keyed by column key (`colId` when present, otherwise `field`). */
|
|
372
|
+
filterHasMoreMap?: Record<string, boolean | undefined>;
|
|
373
|
+
/** @deprecated Prefer filterStore/filterOptionsHandler. Initial/options loading state keyed by column key (`colId` when present, otherwise `field`). */
|
|
374
|
+
filterLoadingMap?: Record<string, boolean | undefined>;
|
|
375
|
+
/** @deprecated Prefer filterStore/filterOptionsHandler. See-more loading state keyed by column key (`colId` when present, otherwise `field`). */
|
|
376
|
+
filterLoadingMoreMap?: Record<string, boolean | undefined>;
|
|
377
|
+
/** Current AG Grid advanced/regular filter model (used with v-model:filter-model). */
|
|
378
|
+
filterModel?: PvFilterPanelFilterModel;
|
|
379
|
+
/** Declares whether filterModel is a regular AG Grid FilterModel or AdvancedFilterModel. */
|
|
380
|
+
filterModelType?: PvFilterPanelFilterModelType;
|
|
381
|
+
/** @deprecated Prefer filterStore/filterOptionsHandler. Value-filter options keyed by column key (`colId` when present, otherwise `field`). */
|
|
382
|
+
filterOptions?: Record<string, PvFilterPanelOption[]>;
|
|
383
|
+
/** Fetches value-filter options. When provided without filterStore, PvFilterPanel creates an internal PvFilterStore. */
|
|
384
|
+
filterOptionsHandler?: PvFilterPanelOptionsHandler;
|
|
385
|
+
/** @deprecated Prefer filterStore/filterOptionsHandler. Value-filter search queries keyed by column key (`colId` when present, otherwise `field`). */
|
|
386
|
+
filterSearchQueries?: Record<string, string | undefined>;
|
|
387
|
+
/** Suggested filter shortcuts shown above the category carousel. Active suggestions are hidden automatically. */
|
|
388
|
+
filterSuggestions?: PvFilterPanelSuggestion[];
|
|
389
|
+
/** External generic filter store. When provided, store state wins over controlled option/loading props. */
|
|
390
|
+
filterStore?: PvFilterStore;
|
|
391
|
+
/** Fields that can receive focus actions. Defaults to all fields when enableFocusView is true. */
|
|
392
|
+
focusableFields?: string[];
|
|
393
|
+
/** Values currently focused, keyed by field. */
|
|
394
|
+
focusedValues?: Record<string, string[] | undefined>;
|
|
395
|
+
focusText?: string;
|
|
396
|
+
/** Debounce range filter model updates by this many milliseconds. Set 0 to emit every range update. */
|
|
397
|
+
rangeDebounceMs?: number;
|
|
398
|
+
readOnly?: boolean;
|
|
399
|
+
/** Stage edits locally until Apply is clicked. */
|
|
400
|
+
staged?: boolean;
|
|
401
|
+
width?: string;
|
|
402
|
+
}
|
package/pv-components/dist/vue/visualizations/components/base/PvFilterPanel/usePvFilterStore.d.ts
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { PvFilterStore } from './types';
|
|
2
|
+
export declare const createPvFilterStore: () => PvFilterStore;
|
|
3
|
+
export declare const providePvFilterStore: (filterStore: PvFilterStore) => void;
|
|
4
|
+
export declare const useOptionalPvFilterStore: () => PvFilterStore | null;
|
|
5
|
+
export declare const usePvFilterStore: () => PvFilterStore;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { PvHorizontalScrollerProps } from './types';
|
|
2
|
+
import { DefineComponent, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
|
|
3
|
+
import { PvButtonSize, PvButtonVariant } from '../PvButton/types';
|
|
4
|
+
declare function __VLS_template(): {
|
|
5
|
+
attrs: Partial<{}>;
|
|
6
|
+
slots: {
|
|
7
|
+
default?(_: {}): any;
|
|
8
|
+
};
|
|
9
|
+
refs: {
|
|
10
|
+
scrollContainer: HTMLDivElement;
|
|
11
|
+
contentContainer: HTMLDivElement;
|
|
12
|
+
};
|
|
13
|
+
rootEl: HTMLDivElement;
|
|
14
|
+
};
|
|
15
|
+
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
|
|
16
|
+
declare const __VLS_component: DefineComponent<PvHorizontalScrollerProps, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<PvHorizontalScrollerProps> & Readonly<{}>, {
|
|
17
|
+
ariaLabel: string;
|
|
18
|
+
scrollBehavior: ScrollBehavior;
|
|
19
|
+
buttonSize: PvButtonSize;
|
|
20
|
+
buttonVariant: PvButtonVariant;
|
|
21
|
+
hideScrollbar: boolean;
|
|
22
|
+
leftAriaLabel: string;
|
|
23
|
+
rightAriaLabel: string;
|
|
24
|
+
scrollFraction: number;
|
|
25
|
+
showFades: boolean;
|
|
26
|
+
}, {}, {}, {}, string, ComponentProvideOptions, false, {
|
|
27
|
+
scrollContainer: HTMLDivElement;
|
|
28
|
+
contentContainer: HTMLDivElement;
|
|
29
|
+
}, HTMLDivElement>;
|
|
30
|
+
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
|
|
31
|
+
export default _default;
|
|
32
|
+
type __VLS_WithTemplateSlots<T, S> = T & {
|
|
33
|
+
new (): {
|
|
34
|
+
$slots: S;
|
|
35
|
+
};
|
|
36
|
+
};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { PvButtonSize, PvButtonVariant } from '../PvButton/types';
|
|
2
|
+
export interface PvHorizontalScrollerProps {
|
|
3
|
+
/** Accessible label for the scrollable region. */
|
|
4
|
+
ariaLabel?: string;
|
|
5
|
+
/** Size for the left/right scroll buttons. */
|
|
6
|
+
buttonSize?: PvButtonSize;
|
|
7
|
+
/** Variant for the left/right scroll buttons. */
|
|
8
|
+
buttonVariant?: PvButtonVariant;
|
|
9
|
+
/** Hide the native horizontal scrollbar while keeping wheel/touch scrolling enabled. */
|
|
10
|
+
hideScrollbar?: boolean;
|
|
11
|
+
/** Accessible label for the left scroll button. */
|
|
12
|
+
leftAriaLabel?: string;
|
|
13
|
+
/** Accessible label for the right scroll button. */
|
|
14
|
+
rightAriaLabel?: string;
|
|
15
|
+
/** Browser scroll behavior used when clicking an arrow. */
|
|
16
|
+
scrollBehavior?: ScrollBehavior;
|
|
17
|
+
/** Fraction of the visible container width to scroll per arrow click. */
|
|
18
|
+
scrollFraction?: number;
|
|
19
|
+
/** Show gradient edge fades behind the arrow buttons. */
|
|
20
|
+
showFades?: boolean;
|
|
21
|
+
}
|
|
@@ -1,24 +1,36 @@
|
|
|
1
|
+
import { PvRangeProps, PvRangeValue, PvRangeSize, PvRangeColor, PvRangeMode } from './types';
|
|
1
2
|
import { DefineComponent, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
|
|
2
|
-
type __VLS_Props =
|
|
3
|
-
/** Minimum value of the range slider */
|
|
4
|
-
min?: number;
|
|
5
|
-
/** Maximum value of the range slider */
|
|
6
|
-
max?: number;
|
|
7
|
-
/** Step increment between values */
|
|
8
|
-
step?: number;
|
|
9
|
-
/** Accessible name for the range slider */
|
|
10
|
-
ariaLabel?: string;
|
|
11
|
-
};
|
|
3
|
+
type __VLS_Props = PvRangeProps;
|
|
12
4
|
type __VLS_PublicProps = {
|
|
13
|
-
modelValue
|
|
5
|
+
modelValue?: number;
|
|
6
|
+
"rangeValue"?: PvRangeValue;
|
|
14
7
|
} & __VLS_Props;
|
|
15
8
|
declare const _default: DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
|
|
16
9
|
"update:modelValue": (value: number) => any;
|
|
10
|
+
"update:rangeValue": (value: PvRangeValue) => any;
|
|
17
11
|
}, string, PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
|
|
18
12
|
"onUpdate:modelValue"?: ((value: number) => any) | undefined;
|
|
13
|
+
"onUpdate:rangeValue"?: ((value: PvRangeValue) => any) | undefined;
|
|
19
14
|
}>, {
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
15
|
+
label: string;
|
|
16
|
+
min: number | null;
|
|
17
|
+
max: number | null;
|
|
18
|
+
size: PvRangeSize;
|
|
19
|
+
color: PvRangeColor;
|
|
20
|
+
disabled: boolean;
|
|
21
|
+
mode: PvRangeMode;
|
|
22
|
+
showClear: boolean;
|
|
23
|
+
step: number | null;
|
|
24
|
+
allowMinMaxEqual: boolean;
|
|
25
|
+
alwaysEditMin: boolean;
|
|
26
|
+
dataType: string | null;
|
|
27
|
+
maxLabel: string;
|
|
28
|
+
minLabel: string;
|
|
29
|
+
showBoundLabels: boolean;
|
|
30
|
+
showInputs: boolean;
|
|
31
|
+
showValueTooltips: boolean;
|
|
32
|
+
valueDecimals: number | null;
|
|
33
|
+
}, {}, {}, {}, string, ComponentProvideOptions, false, {
|
|
34
|
+
sliderRef: HTMLDivElement;
|
|
35
|
+
}, any>;
|
|
24
36
|
export default _default;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
export type PvRangeColor = "single" | "multiple";
|
|
2
|
+
export type PvRangeMode = "single" | "dual";
|
|
3
|
+
export type PvRangeSize = "sm" | "md" | "lg";
|
|
4
|
+
export interface PvRangeProps {
|
|
5
|
+
/** When true, min and max handles may have the same value in dual mode. */
|
|
6
|
+
allowMinMaxEqual?: boolean;
|
|
7
|
+
/** When true, track clicks always move the minimum handle instead of the nearest handle in dual mode. */
|
|
8
|
+
alwaysEditMin?: boolean;
|
|
9
|
+
/** Accessible name for the range slider. */
|
|
10
|
+
ariaLabel?: string;
|
|
11
|
+
/** Track color mode. `single` uses a neutral unselected track, `multiple` uses the secondary data color. */
|
|
12
|
+
color?: PvRangeColor;
|
|
13
|
+
/** Value display type for dual-mode inputs, tooltips, and bound labels. */
|
|
14
|
+
dataType?: string | null;
|
|
15
|
+
disabled?: boolean;
|
|
16
|
+
/** Accessible group label in dual mode. */
|
|
17
|
+
label?: string;
|
|
18
|
+
/** Upper slider bound. */
|
|
19
|
+
max?: number | null;
|
|
20
|
+
maxLabel?: string;
|
|
21
|
+
/** Lower slider bound. */
|
|
22
|
+
min?: number | null;
|
|
23
|
+
minLabel?: string;
|
|
24
|
+
/** Slider interaction mode. `single` uses the default v-model; `dual` ignores modelValue and uses v-model:rangeValue. */
|
|
25
|
+
mode?: PvRangeMode;
|
|
26
|
+
/** Whether to show min/max bound values above the slider in dual mode. */
|
|
27
|
+
showBoundLabels?: boolean;
|
|
28
|
+
/** Whether to show the Clear range action when a dual-mode value is active. */
|
|
29
|
+
showClear?: boolean;
|
|
30
|
+
/** Whether to show min/max text inputs in dual mode. */
|
|
31
|
+
showInputs?: boolean;
|
|
32
|
+
/** Whether to show handle value tooltips while interacting in dual mode. */
|
|
33
|
+
showValueTooltips?: boolean;
|
|
34
|
+
/** Visual size. */
|
|
35
|
+
size?: PvRangeSize;
|
|
36
|
+
/** Slider/input step. Use 0 for continuous values. */
|
|
37
|
+
step?: number | null;
|
|
38
|
+
/** Decimal places for dual-mode display values. */
|
|
39
|
+
valueDecimals?: number | null;
|
|
40
|
+
}
|
|
41
|
+
export interface PvRangeValue {
|
|
42
|
+
max: number | null;
|
|
43
|
+
min: number | null;
|
|
44
|
+
}
|
|
@@ -57,6 +57,8 @@ export { default as PvTree } from './PvTree/PvTree.vue';
|
|
|
57
57
|
export { default as PvTreeGroup } from './PvTree/PvTreeGroup.vue';
|
|
58
58
|
export { default as PvProgressBar } from './PvProgressBar/PvProgressBar.vue';
|
|
59
59
|
export { default as PvDistributionBar } from './PvDistributionBar/PvDistributionBar.vue';
|
|
60
|
+
export { default as PvFilterPanel } from './PvFilterPanel/PvFilterPanel.vue';
|
|
61
|
+
export { default as PvHorizontalScroller } from './PvHorizontalScroller/PvHorizontalScroller.vue';
|
|
60
62
|
export { default as PvQueryBuilderInput } from './PvQueryBuilderInput/PvQueryBuilderInput.vue';
|
|
61
63
|
export { default as PvRange } from './PvRange/PvRange.vue';
|
|
62
64
|
export { default as PvMenu } from './PvMenu/PvMenu.vue';
|
|
@@ -73,3 +75,7 @@ export type { PvMultiSelectButtonSlotProps } from './PvMultiSelectButton/types';
|
|
|
73
75
|
export type { PvTreeOption, PvTreeSetting, PvTreeSettings } from './PvTree/types';
|
|
74
76
|
export type { RadioGroupOption } from './PvRadioGroup/types';
|
|
75
77
|
export type { PvTableOfContentsItem } from './PvTableOfContents/types';
|
|
78
|
+
export type { PvHorizontalScrollerProps } from './PvHorizontalScroller/types';
|
|
79
|
+
export type { PvFilterPanelAggregateFieldHierarchy, PvFilterPanelColDef, PvFilterPanelColDefContext, PvFilterPanelControlChange, PvFilterPanelFilterChangeEvent, PvFilterPanelFilterChangeReason, PvFilterPanelFilterGroup, PvFilterPanelFilterModel, PvFilterPanelFilterModelType, PvFilterPanelFilterType, PvFilterPanelOption, PvFilterPanelOptionsHandler, PvFilterPanelOptionsHandlerParams, PvFilterPanelOptionsHandlerReason, PvFilterPanelOptionsResponse, PvFilterPanelOptionRawValue, PvFilterPanelProps, PvFilterPanelRangeConfig, PvFilterPanelResultCount, PvFilterPanelSuggestion, PvFilterStore, PvFilterStoreFetchOptionsParams, } from './PvFilterPanel/types';
|
|
80
|
+
export { createPvFilterStore, providePvFilterStore, useOptionalPvFilterStore, usePvFilterStore, } from './PvFilterPanel/usePvFilterStore';
|
|
81
|
+
export type { PvRangeColor, PvRangeMode, PvRangeProps, PvRangeSize, PvRangeValue, } from './PvRange/types';
|
|
@@ -27,7 +27,7 @@ declare const _default: <T>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>
|
|
|
27
27
|
getCsvData: () => Promise<string | null> | undefined;
|
|
28
28
|
refreshData: (params?: RefreshServerSideParams | null) => Promise<void> | undefined;
|
|
29
29
|
getFilterValueSelectedMetadataMap: () => Record<string, ( FilterValueResponseOption | null)[]> | undefined;
|
|
30
|
-
getPvFilterModel: () =>
|
|
30
|
+
getPvFilterModel: () => AdvancedFilterModel | FilterModel | null | undefined;
|
|
31
31
|
setPvFilterModel: (model: FilterModel | AdvancedFilterModel | null) => boolean | undefined;
|
|
32
32
|
}>): void;
|
|
33
33
|
attrs: any;
|
|
@@ -15,10 +15,10 @@ export interface SetFilterProps<T> {
|
|
|
15
15
|
}
|
|
16
16
|
declare const _default: <T>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
|
|
17
17
|
props: __VLS_PrettifyLocal<Pick<Partial<{}> & Omit<{
|
|
18
|
+
readonly "onHandle-settings-icon"?: ((value: string) => any) | undefined;
|
|
18
19
|
readonly "onFilter-selection-changed"?: (() => any) | undefined;
|
|
19
20
|
readonly "onFilter-closed"?: (() => any) | undefined;
|
|
20
|
-
|
|
21
|
-
} & VNodeProps & AllowedComponentProps & ComponentCustomProps, never>, "onFilter-selection-changed" | "onFilter-closed" | "onHandle-settings-icon"> & SetFilterProps<T> & Partial<{}>> & PublicProps;
|
|
21
|
+
} & VNodeProps & AllowedComponentProps & ComponentCustomProps, never>, "onHandle-settings-icon" | "onFilter-selection-changed" | "onFilter-closed"> & SetFilterProps<T> & Partial<{}>> & PublicProps;
|
|
22
22
|
expose(exposed: ShallowUnwrapRef<{}>): void;
|
|
23
23
|
attrs: any;
|
|
24
24
|
slots: {};
|
|
@@ -3392,7 +3392,10 @@ var pa = {
|
|
|
3392
3392
|
}, 16, ["modelValue"]));
|
|
3393
3393
|
}
|
|
3394
3394
|
});
|
|
3395
|
-
Math.random().toString(), Math.random().toString()
|
|
3395
|
+
Math.random().toString(), Math.random().toString(), new Intl.NumberFormat("en-US", {
|
|
3396
|
+
maximumFractionDigits: 1,
|
|
3397
|
+
notation: "compact"
|
|
3398
|
+
});
|
|
3396
3399
|
//#endregion
|
|
3397
3400
|
//#region src/components/base/PvQueryBuilderInput/useQueryBuilder.ts
|
|
3398
3401
|
var Za = () => {
|