@turquoisehealth/pit-viper 2.197.3-dev.2 → 2.199.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.
- package/_site/assets/css/pit-viper-a11y.css +2 -0
- package/_site/assets/css/pit-viper-consumer.css +2 -0
- package/_site/assets/css/pit-viper-v2-scoped.css +2 -0
- package/_site/assets/css/pit-viper-v2.css +2 -0
- package/_site/assets/css/pit-viper.css +2 -0
- package/package.json +3 -3
- 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-filter-modal-stats.html +4950 -0
- package/pv-components/dist/stats/web/pv-filter-panel-stats.html +1 -1
- package/pv-components/dist/stats/web/pv-input-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-query-builder-input-stats.html +1 -1
- package/pv-components/dist/stats/web/pv-select-button-stats.html +1 -1
- package/pv-components/dist/vue/base/components/base/PvFilterModal/PvFilterModal.vue.d.ts +77 -0
- package/pv-components/dist/vue/base/components/base/PvFilterModal/PvFilterModalSelectItem.vue.d.ts +33 -0
- package/pv-components/dist/vue/base/components/base/PvFilterModal/types.d.ts +11 -0
- package/pv-components/dist/vue/base/components/base/PvFilterPanel/PvFilterPanel.vue.d.ts +14 -14
- package/pv-components/dist/vue/base/components/base/PvFilterPanel/PvFilterPanelAccordion.vue.d.ts +2 -2
- package/pv-components/dist/vue/base/components/base/PvFilterPanel/PvFilterPanelOptionRow.vue.d.ts +2 -2
- package/pv-components/dist/vue/base/components/base/PvFilterPanel/types.d.ts +35 -0
- package/pv-components/dist/vue/base/components/base/PvFilterPanel/usePvFilterPanel.d.ts +30 -0
- package/pv-components/dist/vue/base/components/base/PvInput/PvInput.vue.d.ts +6 -0
- package/pv-components/dist/vue/base/components/base/PvModal/PvModal.vue.d.ts +1 -0
- package/pv-components/dist/vue/base/components/base/index.d.ts +2 -0
- package/pv-components/dist/vue/base/pv-components-base.mjs +3137 -2714
- package/pv-components/dist/vue/base/pv-components-base.mjs.map +1 -1
- package/pv-components/dist/vue/visualizations/components/base/PvDrawer/PvDrawer.vue.d.ts +1 -1
- package/pv-components/dist/vue/visualizations/components/base/PvDropdown/PvDropdown.vue.d.ts +5 -5
- package/pv-components/dist/vue/visualizations/components/base/PvFilterModal/PvFilterModal.vue.d.ts +77 -0
- package/pv-components/dist/vue/visualizations/components/base/PvFilterModal/PvFilterModalSelectItem.vue.d.ts +33 -0
- package/pv-components/dist/vue/visualizations/components/base/PvFilterModal/types.d.ts +11 -0
- package/pv-components/dist/vue/visualizations/components/base/PvFilterPanel/PvFilterPanel.vue.d.ts +14 -14
- package/pv-components/dist/vue/visualizations/components/base/PvFilterPanel/PvFilterPanelAccordion.vue.d.ts +2 -2
- package/pv-components/dist/vue/visualizations/components/base/PvFilterPanel/PvFilterPanelOptionRow.vue.d.ts +1 -1
- package/pv-components/dist/vue/visualizations/components/base/PvFilterPanel/types.d.ts +35 -0
- package/pv-components/dist/vue/visualizations/components/base/PvFilterPanel/usePvFilterPanel.d.ts +30 -0
- package/pv-components/dist/vue/visualizations/components/base/PvInput/PvInput.vue.d.ts +6 -0
- package/pv-components/dist/vue/visualizations/components/base/PvInsightCard/PvInsightCard.vue.d.ts +1 -1
- package/pv-components/dist/vue/visualizations/components/base/PvModal/PvModal.vue.d.ts +1 -0
- package/pv-components/dist/vue/visualizations/components/base/PvMultiSelectButton/PvMultiSelectButton.vue.d.ts +7 -7
- package/pv-components/dist/vue/visualizations/components/base/PvPopoverV2/PvPopoverV2.vue.d.ts +2 -2
- package/pv-components/dist/vue/visualizations/components/base/PvRange/PvRange.vue.d.ts +2 -2
- package/pv-components/dist/vue/visualizations/components/base/PvSelectButton/PvSelectButton.vue.d.ts +3 -3
- package/pv-components/dist/vue/visualizations/components/base/index.d.ts +2 -0
- package/pv-components/dist/vue/visualizations/components/charts/PvChartWidget/PvChartWidget.vue.d.ts +180 -0
- package/pv-components/dist/vue/visualizations/components/charts/PvChartWidget/constants.d.ts +4 -0
- package/pv-components/dist/vue/visualizations/components/charts/PvChartWidget/types.d.ts +31 -0
- package/pv-components/dist/vue/visualizations/components/charts/PvDataTableWithChart/table-chart-components/PvChartOptionsPanel.vue.d.ts +2 -0
- package/pv-components/dist/vue/visualizations/components/charts/PvDataTableWithChart/types.d.ts +2 -0
- package/pv-components/dist/vue/visualizations/components/charts/PvDataWidget/PvDataWidget.vue.d.ts +43 -0
- package/pv-components/dist/vue/visualizations/components/charts/PvDataWidget/PvDataWidgetTable.vue.d.ts +4 -0
- package/pv-components/dist/vue/visualizations/components/charts/PvDataWidget/constants.d.ts +9 -0
- package/pv-components/dist/vue/visualizations/components/charts/PvDataWidget/helpers.d.ts +63 -0
- package/pv-components/dist/vue/visualizations/components/charts/PvDataWidget/types.d.ts +130 -0
- package/pv-components/dist/vue/visualizations/components/charts/PvDataWidget/usePvDataWidgetData.d.ts +40 -0
- package/pv-components/dist/vue/visualizations/components/charts/PvMapChart/PvMapChart.vue.d.ts +3 -8
- package/pv-components/dist/vue/visualizations/components/charts/widgetOptions.d.ts +58 -0
- package/pv-components/dist/vue/visualizations/components/visualizations/index.d.ts +6 -0
- package/pv-components/dist/vue/visualizations/pv-components-visualizations.mjs +11534 -10746
- package/pv-components/dist/vue/visualizations/pv-components-visualizations.mjs.map +1 -1
- package/pv-components/dist/web/components/pv-filter-modal/pv-filter-modal.js +9603 -0
- package/pv-components/dist/web/components/pv-filter-panel/pv-filter-panel.js +2425 -2391
- package/pv-components/dist/web/components/pv-input/pv-input.js +517 -470
- package/pv-components/dist/web/components/pv-menu/pv-menu.js +360 -357
- package/pv-components/dist/web/components/pv-modal/pv-modal.js +4 -2
- package/pv-components/dist/web/components/pv-multi-select-button/pv-multi-select-button.js +438 -435
- package/pv-components/dist/web/components/pv-query-builder-input/pv-query-builder-input.js +431 -428
- package/pv-components/dist/web/components/pv-select-button/pv-select-button.js +732 -729
- package/pv-components/dist/web/pv-components.iife.js +19 -19
- package/pv-components/dist/web/pv-components.iife.js.map +1 -1
- package/claude-plugin/.claude-plugin/plugin.json +0 -11
- package/claude-plugin/.mcp.json +0 -8
- package/claude-plugin/CLAUDE.md +0 -107
- package/claude-plugin/README.md +0 -173
- package/claude-plugin/skills/pit-viper/SKILL.md +0 -182
- package/claude-plugin/skills/pit-viper/assets/pv-html-starter.html +0 -77
- package/claude-plugin/skills/pit-viper/examples/pv-html-example.html +0 -229
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { PvFilterPanelFilterModel, PvFilterPanelOption, PvFilterPanelColDef, PvFilterPanelFilterChangeEvent, PvFilterPanelSuggestion } from '../PvFilterPanel/types';
|
|
2
|
+
import { PvFilterModalProps } from './types';
|
|
3
|
+
import { DefineComponent, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
|
|
4
|
+
type __VLS_Props = PvFilterModalProps;
|
|
5
|
+
type __VLS_PublicProps = {
|
|
6
|
+
"filterModel"?: PvFilterPanelFilterModel;
|
|
7
|
+
"visible"?: boolean;
|
|
8
|
+
} & __VLS_Props;
|
|
9
|
+
declare function __VLS_template(): {
|
|
10
|
+
attrs: Partial<{}>;
|
|
11
|
+
slots: {
|
|
12
|
+
trigger?(_: {}): any;
|
|
13
|
+
};
|
|
14
|
+
refs: {};
|
|
15
|
+
rootEl: HTMLDivElement;
|
|
16
|
+
};
|
|
17
|
+
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
|
|
18
|
+
declare const __VLS_component: DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
|
|
19
|
+
cancel: () => any;
|
|
20
|
+
"load-more": (field: string, colDef: PvFilterPanelColDef, query: string, parentId?: string | undefined) => any;
|
|
21
|
+
apply: (filterModel: PvFilterPanelFilterModel) => any;
|
|
22
|
+
"filter-change": (event: PvFilterPanelFilterChangeEvent) => any;
|
|
23
|
+
"focus-change": (field: string, value: string, option: PvFilterPanelOption) => any;
|
|
24
|
+
"handle-settings-icon": (field: string, colDef: PvFilterPanelColDef) => any;
|
|
25
|
+
"open-change": (field: string, open: boolean, colDef: PvFilterPanelColDef) => any;
|
|
26
|
+
"search-change": (field: string, query: string, colDef: PvFilterPanelColDef) => any;
|
|
27
|
+
"suggestion-click": (suggestion: PvFilterPanelSuggestion) => any;
|
|
28
|
+
"update:filterModel": (value: PvFilterPanelFilterModel) => any;
|
|
29
|
+
"update:visible": (value: boolean) => any;
|
|
30
|
+
}, string, PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
|
|
31
|
+
onCancel?: (() => any) | undefined;
|
|
32
|
+
"onLoad-more"?: ((field: string, colDef: PvFilterPanelColDef, query: string, parentId?: string | undefined) => any) | undefined;
|
|
33
|
+
onApply?: ((filterModel: PvFilterPanelFilterModel) => any) | undefined;
|
|
34
|
+
"onFilter-change"?: ((event: PvFilterPanelFilterChangeEvent) => any) | undefined;
|
|
35
|
+
"onFocus-change"?: ((field: string, value: string, option: PvFilterPanelOption) => any) | undefined;
|
|
36
|
+
"onHandle-settings-icon"?: ((field: string, colDef: PvFilterPanelColDef) => any) | undefined;
|
|
37
|
+
"onOpen-change"?: ((field: string, open: boolean, colDef: PvFilterPanelColDef) => any) | undefined;
|
|
38
|
+
"onSearch-change"?: ((field: string, query: string, colDef: PvFilterPanelColDef) => any) | undefined;
|
|
39
|
+
"onSuggestion-click"?: ((suggestion: PvFilterPanelSuggestion) => any) | undefined;
|
|
40
|
+
"onUpdate:filterModel"?: ((value: PvFilterPanelFilterModel) => any) | undefined;
|
|
41
|
+
"onUpdate:visible"?: ((value: boolean) => any) | undefined;
|
|
42
|
+
}>, {
|
|
43
|
+
header: string;
|
|
44
|
+
ariaLabel: string;
|
|
45
|
+
maxWidth: string;
|
|
46
|
+
readOnly: boolean;
|
|
47
|
+
colDefs: PvFilterPanelColDef[];
|
|
48
|
+
devMode: boolean;
|
|
49
|
+
displayPreferencesIcon: boolean;
|
|
50
|
+
enableFocusView: boolean;
|
|
51
|
+
filterHasMoreMap: Record<string, boolean | undefined>;
|
|
52
|
+
filterLoadingMap: Record<string, boolean | undefined>;
|
|
53
|
+
filterLoadingMoreMap: Record<string, boolean | undefined>;
|
|
54
|
+
filterOptions: Record<string, PvFilterPanelOption[]>;
|
|
55
|
+
filterSearchQueries: Record<string, string | undefined>;
|
|
56
|
+
filterSuggestions: PvFilterPanelSuggestion[];
|
|
57
|
+
focusableFields: string[];
|
|
58
|
+
focusedValues: Record<string, string[] | undefined>;
|
|
59
|
+
focusText: string;
|
|
60
|
+
rangeDebounceMs: number;
|
|
61
|
+
staged: boolean;
|
|
62
|
+
applyLabel: string;
|
|
63
|
+
autoHideRelatedFilterFields: boolean;
|
|
64
|
+
cancelLabel: string;
|
|
65
|
+
clearAllBody: string;
|
|
66
|
+
clearAllHeader: string;
|
|
67
|
+
clearAllLabel: string;
|
|
68
|
+
selectAllLabel: string;
|
|
69
|
+
clearSelectionLabel: string;
|
|
70
|
+
}, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLDivElement>;
|
|
71
|
+
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
|
|
72
|
+
export default _default;
|
|
73
|
+
type __VLS_WithTemplateSlots<T, S> = T & {
|
|
74
|
+
new (): {
|
|
75
|
+
$slots: S;
|
|
76
|
+
};
|
|
77
|
+
};
|
package/pv-components/dist/vue/base/components/base/PvFilterModal/PvFilterModalSelectItem.vue.d.ts
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { DefineComponent, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
|
|
2
|
+
interface PvFilterModalSelectItem {
|
|
3
|
+
/** When true, applies fully rounded (pill) corners. */
|
|
4
|
+
rounded?: boolean;
|
|
5
|
+
/** When true, the toggle button is non-interactive and visually dimmed. */
|
|
6
|
+
disabled?: boolean;
|
|
7
|
+
/** The value emitted when this toggle is selected (used with radio-style groups). */
|
|
8
|
+
value?: string;
|
|
9
|
+
/** Visible text label displayed inside the toggle. */
|
|
10
|
+
label?: string;
|
|
11
|
+
/** HTML id for the underlying input element. Auto-generated from label when omitted. */
|
|
12
|
+
id?: string;
|
|
13
|
+
/** HTML name attribute, used to group radio-style toggles. */
|
|
14
|
+
name?: string;
|
|
15
|
+
/**
|
|
16
|
+
* When true, renders as a checkbox (can be deselected). When false, renders as a radio (stays selected).
|
|
17
|
+
*/
|
|
18
|
+
deselect?: boolean;
|
|
19
|
+
/** Optional counter on the right side of the button */
|
|
20
|
+
rightCounterBadge?: number;
|
|
21
|
+
}
|
|
22
|
+
type __VLS_Props = PvFilterModalSelectItem;
|
|
23
|
+
type __VLS_PublicProps = {
|
|
24
|
+
modelValue?: boolean | string;
|
|
25
|
+
} & __VLS_Props;
|
|
26
|
+
declare const _default: DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
|
|
27
|
+
"update:modelValue": (value: string | boolean) => any;
|
|
28
|
+
}, string, PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
|
|
29
|
+
"onUpdate:modelValue"?: ((value: string | boolean) => any) | undefined;
|
|
30
|
+
}>, {
|
|
31
|
+
deselect: boolean;
|
|
32
|
+
}, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLLabelElement>;
|
|
33
|
+
export default _default;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { PvFilterPanelProps } from '../PvFilterPanel/types';
|
|
2
|
+
export interface PvFilterModalProps extends PvFilterPanelProps {
|
|
3
|
+
/** Header text shown in the modal title bar. */
|
|
4
|
+
header?: string;
|
|
5
|
+
/** Label for the per-category "select all" action in the options pane footer. */
|
|
6
|
+
selectAllLabel?: string;
|
|
7
|
+
/** Label for the per-category "clear" action in the options pane footer. */
|
|
8
|
+
clearSelectionLabel?: string;
|
|
9
|
+
/** Max width applied to the modal shell. */
|
|
10
|
+
maxWidth?: string;
|
|
11
|
+
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { PvFilterPanelFilterModel, PvFilterPanelProps, PvFilterPanelColDef, PvFilterPanelFilterChangeEvent, PvFilterPanelOption, PvFilterPanelSuggestion } from './types';
|
|
2
2
|
import { DefineComponent, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
|
|
3
3
|
type __VLS_Props = PvFilterPanelProps;
|
|
4
4
|
type __VLS_PublicProps = {
|
|
@@ -17,24 +17,24 @@ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
|
|
|
17
17
|
declare const __VLS_component: DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
|
|
18
18
|
cancel: () => any;
|
|
19
19
|
"load-more": (field: string, colDef: PvFilterPanelColDef, query: string, parentId?: string | undefined) => any;
|
|
20
|
+
apply: (filterModel: PvFilterPanelFilterModel) => any;
|
|
21
|
+
"filter-change": (event: PvFilterPanelFilterChangeEvent) => any;
|
|
20
22
|
"focus-change": (field: string, value: string, option: PvFilterPanelOption) => any;
|
|
21
23
|
"handle-settings-icon": (field: string, colDef: PvFilterPanelColDef) => any;
|
|
22
24
|
"open-change": (field: string, open: boolean, colDef: PvFilterPanelColDef) => any;
|
|
23
|
-
"filter-change": (event: PvFilterPanelFilterChangeEvent) => any;
|
|
24
25
|
"search-change": (field: string, query: string, colDef: PvFilterPanelColDef) => any;
|
|
25
|
-
apply: (filterModel: PvFilterPanelFilterModel) => any;
|
|
26
26
|
"suggestion-click": (suggestion: PvFilterPanelSuggestion) => any;
|
|
27
27
|
"update:filterModel": (value: PvFilterPanelFilterModel) => any;
|
|
28
28
|
"update:isCollapsed": (value: boolean) => any;
|
|
29
29
|
}, string, PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
|
|
30
30
|
onCancel?: (() => any) | undefined;
|
|
31
31
|
"onLoad-more"?: ((field: string, colDef: PvFilterPanelColDef, query: string, parentId?: string | undefined) => any) | undefined;
|
|
32
|
+
onApply?: ((filterModel: PvFilterPanelFilterModel) => any) | undefined;
|
|
33
|
+
"onFilter-change"?: ((event: PvFilterPanelFilterChangeEvent) => any) | undefined;
|
|
32
34
|
"onFocus-change"?: ((field: string, value: string, option: PvFilterPanelOption) => any) | undefined;
|
|
33
35
|
"onHandle-settings-icon"?: ((field: string, colDef: PvFilterPanelColDef) => any) | undefined;
|
|
34
36
|
"onOpen-change"?: ((field: string, open: boolean, colDef: PvFilterPanelColDef) => any) | undefined;
|
|
35
|
-
"onFilter-change"?: ((event: PvFilterPanelFilterChangeEvent) => any) | undefined;
|
|
36
37
|
"onSearch-change"?: ((field: string, query: string, colDef: PvFilterPanelColDef) => any) | undefined;
|
|
37
|
-
onApply?: ((filterModel: PvFilterPanelFilterModel) => any) | undefined;
|
|
38
38
|
"onSuggestion-click"?: ((suggestion: PvFilterPanelSuggestion) => any) | undefined;
|
|
39
39
|
"onUpdate:filterModel"?: ((value: PvFilterPanelFilterModel) => any) | undefined;
|
|
40
40
|
"onUpdate:isCollapsed"?: ((value: boolean) => any) | undefined;
|
|
@@ -42,14 +42,6 @@ declare const __VLS_component: DefineComponent<__VLS_PublicProps, {}, {}, {}, {}
|
|
|
42
42
|
ariaLabel: string;
|
|
43
43
|
width: string;
|
|
44
44
|
readOnly: boolean;
|
|
45
|
-
focusText: string;
|
|
46
|
-
filterOptions: Record<string, PvFilterPanelOption[]>;
|
|
47
|
-
applyLabel: string;
|
|
48
|
-
autoHideRelatedFilterFields: boolean;
|
|
49
|
-
cancelLabel: string;
|
|
50
|
-
clearAllBody: string;
|
|
51
|
-
clearAllHeader: string;
|
|
52
|
-
clearAllLabel: string;
|
|
53
45
|
colDefs: PvFilterPanelColDef[];
|
|
54
46
|
devMode: boolean;
|
|
55
47
|
displayPreferencesIcon: boolean;
|
|
@@ -57,13 +49,21 @@ declare const __VLS_component: DefineComponent<__VLS_PublicProps, {}, {}, {}, {}
|
|
|
57
49
|
filterHasMoreMap: Record<string, boolean | undefined>;
|
|
58
50
|
filterLoadingMap: Record<string, boolean | undefined>;
|
|
59
51
|
filterLoadingMoreMap: Record<string, boolean | undefined>;
|
|
52
|
+
filterOptions: Record<string, PvFilterPanelOption[]>;
|
|
60
53
|
filterSearchQueries: Record<string, string | undefined>;
|
|
61
54
|
filterSuggestions: PvFilterPanelSuggestion[];
|
|
62
55
|
focusableFields: string[];
|
|
63
56
|
focusedValues: Record<string, string[] | undefined>;
|
|
64
|
-
|
|
57
|
+
focusText: string;
|
|
65
58
|
rangeDebounceMs: number;
|
|
66
59
|
staged: boolean;
|
|
60
|
+
applyLabel: string;
|
|
61
|
+
autoHideRelatedFilterFields: boolean;
|
|
62
|
+
cancelLabel: string;
|
|
63
|
+
clearAllBody: string;
|
|
64
|
+
clearAllHeader: string;
|
|
65
|
+
clearAllLabel: string;
|
|
66
|
+
hideCollapseButton: boolean;
|
|
67
67
|
}, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
|
|
68
68
|
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
|
|
69
69
|
export default _default;
|
package/pv-components/dist/vue/base/components/base/PvFilterPanel/PvFilterPanelAccordion.vue.d.ts
CHANGED
|
@@ -2,17 +2,17 @@ import { PvFilterPanelAccordionProps, PvFilterPanelControlChange, PvFilterPanelO
|
|
|
2
2
|
import { DefineComponent, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
|
|
3
3
|
declare const _default: DefineComponent<PvFilterPanelAccordionProps, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
|
|
4
4
|
"load-more": (query: string, parentId?: string | undefined) => any;
|
|
5
|
+
"filter-change": (change: PvFilterPanelControlChange) => any;
|
|
5
6
|
"focus-change": (field: string, value: string, option: PvFilterPanelOption) => any;
|
|
6
7
|
"handle-settings-icon": (field: string, colDef: PvFilterPanelColDef) => any;
|
|
7
8
|
"open-change": (open: boolean) => any;
|
|
8
|
-
"filter-change": (change: PvFilterPanelControlChange) => any;
|
|
9
9
|
"search-change": (query: string) => any;
|
|
10
10
|
}, string, PublicProps, Readonly<PvFilterPanelAccordionProps> & Readonly<{
|
|
11
11
|
"onLoad-more"?: ((query: string, parentId?: string | undefined) => any) | undefined;
|
|
12
|
+
"onFilter-change"?: ((change: PvFilterPanelControlChange) => any) | undefined;
|
|
12
13
|
"onFocus-change"?: ((field: string, value: string, option: PvFilterPanelOption) => any) | undefined;
|
|
13
14
|
"onHandle-settings-icon"?: ((field: string, colDef: PvFilterPanelColDef) => any) | undefined;
|
|
14
15
|
"onOpen-change"?: ((open: boolean) => any) | undefined;
|
|
15
|
-
"onFilter-change"?: ((change: PvFilterPanelControlChange) => any) | undefined;
|
|
16
16
|
"onSearch-change"?: ((query: string) => any) | undefined;
|
|
17
17
|
}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLDetailsElement>;
|
|
18
18
|
export default _default;
|
package/pv-components/dist/vue/base/components/base/PvFilterPanel/PvFilterPanelOptionRow.vue.d.ts
CHANGED
|
@@ -19,10 +19,10 @@ declare const __VLS_component: DefineComponent<PvFilterPanelOptionRowProps, {},
|
|
|
19
19
|
disabled: boolean;
|
|
20
20
|
selected: boolean;
|
|
21
21
|
indeterminate: boolean;
|
|
22
|
-
resultCount: PvFilterPanelResultCount | null;
|
|
23
|
-
depth: number;
|
|
24
22
|
focusText: string;
|
|
23
|
+
depth: number;
|
|
25
24
|
isFocused: boolean;
|
|
25
|
+
resultCount: PvFilterPanelResultCount | null;
|
|
26
26
|
showFocusAction: boolean;
|
|
27
27
|
}, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLLabelElement>;
|
|
28
28
|
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
|
|
@@ -364,6 +364,18 @@ export interface PvFilterPanelOptionRowProps {
|
|
|
364
364
|
subduedText?: string;
|
|
365
365
|
value: string;
|
|
366
366
|
}
|
|
367
|
+
export type PvFilterPanelEmits = {
|
|
368
|
+
apply: [filterModel: PvFilterPanelFilterModel];
|
|
369
|
+
cancel: [];
|
|
370
|
+
"filter-change": [event: PvFilterPanelFilterChangeEvent];
|
|
371
|
+
"focus-change": [field: string, value: string, option: PvFilterPanelOption];
|
|
372
|
+
"handle-settings-icon": [field: string, colDef: PvFilterPanelColDef];
|
|
373
|
+
"load-more": [field: string, colDef: PvFilterPanelColDef, query: string, parentId?: string];
|
|
374
|
+
"open-change": [field: string, open: boolean, colDef: PvFilterPanelColDef];
|
|
375
|
+
"search-change": [field: string, query: string, colDef: PvFilterPanelColDef];
|
|
376
|
+
"suggestion-click": [suggestion: PvFilterPanelSuggestion];
|
|
377
|
+
};
|
|
378
|
+
export type PvFilterPanelEmitFn = <K extends keyof PvFilterPanelEmits>(event: K, ...args: PvFilterPanelEmits[K]) => void;
|
|
367
379
|
export interface PvFilterPanelProps {
|
|
368
380
|
applyLabel?: string;
|
|
369
381
|
ariaLabel?: string;
|
|
@@ -413,3 +425,26 @@ export interface PvFilterPanelProps {
|
|
|
413
425
|
staged?: boolean;
|
|
414
426
|
width?: string;
|
|
415
427
|
}
|
|
428
|
+
/**
|
|
429
|
+
* Props consumed by the `usePvFilterPanel` composable. Mirrors `PvFilterPanelProps` but marks the
|
|
430
|
+
* fields that consuming components default via `withDefaults` as required, so the composable can rely
|
|
431
|
+
* on them being present. Both `PvFilterPanel` and `PvFilterModal` satisfy this after applying defaults.
|
|
432
|
+
*/
|
|
433
|
+
export type PvFilterPanelCoreProps = Omit<PvFilterPanelProps, "colDefs" | "devMode" | "displayPreferencesIcon" | "enableFocusView" | "filterHasMoreMap" | "filterLoadingMap" | "filterLoadingMoreMap" | "filterOptions" | "filterSearchQueries" | "filterSuggestions" | "focusableFields" | "focusedValues" | "focusText" | "rangeDebounceMs" | "readOnly" | "staged"> & {
|
|
434
|
+
colDefs: PvFilterPanelColDef[];
|
|
435
|
+
devMode: boolean;
|
|
436
|
+
displayPreferencesIcon: boolean;
|
|
437
|
+
enableFocusView: boolean;
|
|
438
|
+
filterHasMoreMap: Record<string, boolean | undefined>;
|
|
439
|
+
filterLoadingMap: Record<string, boolean | undefined>;
|
|
440
|
+
filterLoadingMoreMap: Record<string, boolean | undefined>;
|
|
441
|
+
filterOptions: Record<string, PvFilterPanelOption[]>;
|
|
442
|
+
filterSearchQueries: Record<string, string | undefined>;
|
|
443
|
+
filterSuggestions: PvFilterPanelSuggestion[];
|
|
444
|
+
focusableFields: string[];
|
|
445
|
+
focusedValues: Record<string, string[] | undefined>;
|
|
446
|
+
focusText: string;
|
|
447
|
+
rangeDebounceMs: number;
|
|
448
|
+
readOnly: boolean;
|
|
449
|
+
staged: boolean;
|
|
450
|
+
};
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { Ref, ComputedRef } from 'vue';
|
|
2
|
+
import { PvFilterPanelAppliedGroup, PvFilterPanelColDef, PvFilterPanelControlChange, PvFilterPanelCoreProps, PvFilterPanelEmitFn, PvFilterPanelFilterModel, PvFilterPanelFilterType, PvFilterPanelResolvedFilter, PvFilterPanelSuggestion, PvFilterStore, PvFilterPanelFilterModelType } from './types';
|
|
3
|
+
/**
|
|
4
|
+
* View-agnostic "brain" for filter panel presentations. Owns option/store wiring, the resolved filter
|
|
5
|
+
* model, applied-filter derivation, and all mutation handlers. Presentation components (`PvFilterPanel`
|
|
6
|
+
* drawer, `PvFilterModal`) consume this and supply their own layout + local view state.
|
|
7
|
+
*/
|
|
8
|
+
export declare function usePvFilterPanel(props: PvFilterPanelCoreProps, filterModel: Ref<PvFilterPanelFilterModel>, emit: PvFilterPanelEmitFn): {
|
|
9
|
+
resolvedFilters: ComputedRef<PvFilterPanelResolvedFilter[]>;
|
|
10
|
+
appliedGroups: ComputedRef<PvFilterPanelAppliedGroup[]>;
|
|
11
|
+
appliedCount: ComputedRef<number>;
|
|
12
|
+
hasActiveFilters: ComputedRef<boolean>;
|
|
13
|
+
showClearAll: ComputedRef<boolean>;
|
|
14
|
+
visibleSuggestions: ComputedRef<PvFilterPanelSuggestion[]>;
|
|
15
|
+
effectiveFilterModelType: ComputedRef<PvFilterPanelFilterModelType>;
|
|
16
|
+
activeFilterModel: ComputedRef<PvFilterPanelFilterModel>;
|
|
17
|
+
effectiveFilterStore: ComputedRef<PvFilterStore>;
|
|
18
|
+
findResolvedFilter: (field: string) => PvFilterPanelResolvedFilter | undefined;
|
|
19
|
+
getRepresentedFields: (colDef: PvFilterPanelColDef) => string[];
|
|
20
|
+
activateFilter: (filter: PvFilterPanelResolvedFilter, query?: string) => void;
|
|
21
|
+
applyStagedFilters: () => void;
|
|
22
|
+
cancelStagedFilters: () => void;
|
|
23
|
+
clearAllFilters: () => void;
|
|
24
|
+
getSuggestionKey: (suggestion: PvFilterPanelSuggestion) => string;
|
|
25
|
+
handleControlChange: (field: string, change: PvFilterPanelControlChange) => void;
|
|
26
|
+
handleLoadMore: (filter: PvFilterPanelResolvedFilter, query: string, parentId?: string) => void;
|
|
27
|
+
handleSearchChange: (filter: PvFilterPanelResolvedFilter, query: string) => void;
|
|
28
|
+
handleSuggestionClick: (suggestion: PvFilterPanelSuggestion) => void;
|
|
29
|
+
removeAppliedFilter: (field: string, value: string, type?: PvFilterPanelFilterType) => void;
|
|
30
|
+
};
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { PvInputType, PvInputVariant } from './types';
|
|
2
2
|
import { DefineComponent, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
|
|
3
3
|
interface PvInputProps {
|
|
4
|
+
/** When true, upper label is visible */
|
|
5
|
+
showLabel?: boolean;
|
|
4
6
|
/** When true, applies invalid/error styling to the input and lower label. */
|
|
5
7
|
error?: boolean;
|
|
6
8
|
/** When true, the input is non-interactive and visually dimmed. */
|
|
@@ -21,6 +23,10 @@ interface PvInputProps {
|
|
|
21
23
|
variant?: PvInputVariant;
|
|
22
24
|
/** The step attribute for number inputs (e.g. '0.01' for currency). */
|
|
23
25
|
step?: string;
|
|
26
|
+
/** Static text shown before the Input */
|
|
27
|
+
prefixLabel?: string;
|
|
28
|
+
/** Optional Icon on the left of the Input */
|
|
29
|
+
inputIcon?: string;
|
|
24
30
|
}
|
|
25
31
|
type __VLS_Props = PvInputProps;
|
|
26
32
|
type __VLS_PublicProps = {
|
|
@@ -61,6 +61,7 @@ export { default as PvTreeGroup } from './PvTree/PvTreeGroup.vue';
|
|
|
61
61
|
export { default as PvProgressBar } from './PvProgressBar/PvProgressBar.vue';
|
|
62
62
|
export { default as PvDistributionBar } from './PvDistributionBar/PvDistributionBar.vue';
|
|
63
63
|
export { default as PvFilterPanel } from './PvFilterPanel/PvFilterPanel.vue';
|
|
64
|
+
export { default as PvFilterModal } from './PvFilterModal/PvFilterModal.vue';
|
|
64
65
|
export { default as PvHorizontalScroller } from './PvHorizontalScroller/PvHorizontalScroller.vue';
|
|
65
66
|
export { default as PvHoverActionMenu } from './PvHoverActionMenu/PvHoverActionMenu.vue';
|
|
66
67
|
export { default as PvQueryBuilderInput } from './PvQueryBuilderInput/PvQueryBuilderInput.vue';
|
|
@@ -81,6 +82,7 @@ export type { PvTreeOption, PvTreeSetting, PvTreeSettings } from './PvTree/types
|
|
|
81
82
|
export type { RadioGroupOption } from './PvRadioGroup/types';
|
|
82
83
|
export type { PvTableOfContentsItem } from './PvTableOfContents/types';
|
|
83
84
|
export type { PvHorizontalScrollerProps } from './PvHorizontalScroller/types';
|
|
85
|
+
export type { PvFilterModalProps } from './PvFilterModal/types';
|
|
84
86
|
export type { PvHoverActionMenuPosition } from './PvHoverActionMenu/types';
|
|
85
87
|
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';
|
|
86
88
|
export { createPvFilterStore, providePvFilterStore, useOptionalPvFilterStore, usePvFilterStore, } from './PvFilterPanel/usePvFilterStore';
|