@turquoisehealth/pit-viper 2.210.1 → 2.211.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 (49) hide show
  1. package/_site/assets/css/pit-viper-a11y.css +3 -1
  2. package/_site/assets/css/pit-viper-consumer.css +3 -1
  3. package/_site/assets/css/pit-viper-v2-scoped.css +3 -1
  4. package/_site/assets/css/pit-viper-v2.css +3 -1
  5. package/_site/assets/css/pit-viper.css +3 -1
  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-menu-stats.html +1 -1
  10. package/pv-components/dist/stats/web/pv-multi-select-button-stats.html +1 -1
  11. package/pv-components/dist/stats/web/pv-query-builder-input-stats.html +1 -1
  12. package/pv-components/dist/stats/web/pv-select-button-stats.html +1 -1
  13. package/pv-components/dist/vue/base/components/base/PvFilterPanel/types.d.ts +5 -0
  14. package/pv-components/dist/vue/base/components/base/PvMenu/PvMenu.vue.d.ts +43 -4
  15. package/pv-components/dist/vue/base/components/base/PvMenu/items/PvMenuItemAction.vue.d.ts +1 -0
  16. package/pv-components/dist/vue/base/components/base/PvMenu/items/PvMenuItemVariant.vue.d.ts +1 -1
  17. package/pv-components/dist/vue/base/components/base/PvMenu/symbols.d.ts +2 -0
  18. package/pv-components/dist/vue/base/components/base/PvMenu/types.d.ts +8 -1
  19. package/pv-components/dist/vue/base/components/base/PvSelectButton/PvSelectButton.vue.d.ts +3 -0
  20. package/pv-components/dist/vue/base/components/base/index.d.ts +2 -1
  21. package/pv-components/dist/vue/base/pv-components-base.mjs +2192 -1757
  22. package/pv-components/dist/vue/base/pv-components-base.mjs.map +1 -1
  23. package/pv-components/dist/vue/base/types.d.ts +4 -0
  24. package/pv-components/dist/vue/visualizations/components/base/PvDropdown/PvDropdown.vue.d.ts +2 -2
  25. package/pv-components/dist/vue/visualizations/components/base/PvFilterPanel/types.d.ts +5 -0
  26. package/pv-components/dist/vue/visualizations/components/base/PvMenu/PvMenu.vue.d.ts +43 -4
  27. package/pv-components/dist/vue/visualizations/components/base/PvMenu/items/PvMenuItemAction.vue.d.ts +1 -0
  28. package/pv-components/dist/vue/visualizations/components/base/PvMenu/items/PvMenuItemVariant.vue.d.ts +1 -1
  29. package/pv-components/dist/vue/visualizations/components/base/PvMenu/symbols.d.ts +2 -0
  30. package/pv-components/dist/vue/visualizations/components/base/PvMenu/types.d.ts +8 -1
  31. package/pv-components/dist/vue/visualizations/components/base/PvSelectButton/PvSelectButton.vue.d.ts +3 -0
  32. package/pv-components/dist/vue/visualizations/components/base/index.d.ts +2 -1
  33. package/pv-components/dist/vue/visualizations/components/charts/PvDataTableWithChart/PvDataTableWithChart.vue.d.ts +4 -2
  34. package/pv-components/dist/vue/visualizations/components/charts/PvDataTableWithChart/table-chart-components/PvChartOptionMenuItemRenderer.vue.d.ts +2 -1
  35. package/pv-components/dist/vue/visualizations/components/charts/PvDataTableWithChart/table-chart-components/PvChartOptionsPanel.vue.d.ts +6 -3
  36. package/pv-components/dist/vue/visualizations/components/charts/PvDataTableWithChart/types.d.ts +17 -2
  37. package/pv-components/dist/vue/visualizations/components/tables/PvDataTable/PvDataTable.vue.d.ts +4 -2
  38. package/pv-components/dist/vue/visualizations/components/tables/PvDataTable/types.d.ts +8 -2
  39. package/pv-components/dist/vue/visualizations/components/tables/PvDataTable/useFilterStore.d.ts +12 -0
  40. package/pv-components/dist/vue/visualizations/components/tables/PvDataTable/useSetFilter.d.ts +1 -1
  41. package/pv-components/dist/vue/visualizations/pv-components-visualizations.mjs +3016 -2313
  42. package/pv-components/dist/vue/visualizations/pv-components-visualizations.mjs.map +1 -1
  43. package/pv-components/dist/vue/visualizations/types.d.ts +4 -0
  44. package/pv-components/dist/web/components/pv-menu/pv-menu.js +3695 -2074
  45. package/pv-components/dist/web/components/pv-multi-select-button/pv-multi-select-button.js +3109 -1491
  46. package/pv-components/dist/web/components/pv-query-builder-input/pv-query-builder-input.js +1381 -1332
  47. package/pv-components/dist/web/components/pv-select-button/pv-select-button.js +2751 -1118
  48. package/pv-components/dist/web/pv-components.iife.js +36 -36
  49. package/pv-components/dist/web/pv-components.iife.js.map +1 -1
@@ -32,6 +32,10 @@ export interface MenuOption<T = unknown> {
32
32
  subduedText?: string;
33
33
  icon?: string;
34
34
  hoverTitle?: string;
35
+ /** Optional Datadog RUM action name applied to the interactive menu item. */
36
+ rumActionName?: string;
37
+ /** ARIA popup type for options with custom child content. Defaults to menu. */
38
+ popoverRole?: "menu" | "dialog";
35
39
  companyName?: string;
36
40
  avatar?: {
37
41
  initials?: string;
@@ -24,13 +24,13 @@ export interface PvDropdownProps {
24
24
  declare const _default: __VLS_WithTemplateSlots< DefineComponent<PvDropdownProps, {
25
25
  closeDropdown: () => void;
26
26
  }, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {} & {
27
+ "list-order-updated": (value: string[]) => any;
27
28
  "dropdown-open": () => any;
28
29
  "dropdown-closed": () => any;
29
- "list-order-updated": (value: string[]) => any;
30
30
  }, string, PublicProps, Readonly<PvDropdownProps> & Readonly<{
31
+ "onList-order-updated"?: ((value: string[]) => any) | undefined;
31
32
  "onDropdown-open"?: (() => any) | undefined;
32
33
  "onDropdown-closed"?: (() => any) | undefined;
33
- "onList-order-updated"?: ((value: string[]) => any) | undefined;
34
34
  }>, {
35
35
  isLoading: boolean;
36
36
  disabled: boolean;
@@ -157,6 +157,11 @@ export interface PvFilterPanelColDefContext {
157
157
  * If true, will show a search box to filter the available filter options
158
158
  */
159
159
  filterSearch?: boolean;
160
+ /**
161
+ * Per-field minimum search length. Overrides PvDataTable's table-level
162
+ * filterSearchMinLength so hosts can keep short values such as codes searchable.
163
+ */
164
+ filterSearchMinLength?: number;
160
165
  /**
161
166
  * If true, filter values for this column will be fetched eagerly in the background,
162
167
  * even when table-level background refresh is disabled.
@@ -1,12 +1,37 @@
1
+ import { VNodeChild, DefineComponent, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
1
2
  import { MenuOption, MenuOptionSelectedEvent, SeeMoreEvent } from '../../../types';
2
- import { PvMenuProps } from './types';
3
- import { DefineComponent, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
3
+ import { PvMenuProps, PvMenuChildrenDisplay } from './types';
4
4
  type __VLS_Props = PvMenuProps;
5
5
  type __VLS_PublicProps = {
6
6
  "selectedItems"?: MenuOption[];
7
+ "expandedOptionId"?: string | undefined;
7
8
  } & __VLS_Props;
8
- declare const _default: DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
9
+ declare function __VLS_template(): {
10
+ attrs: Partial<{}>;
11
+ slots: Readonly<{
12
+ popover?(props: {
13
+ option: MenuOption;
14
+ popoverId: string;
15
+ close: () => void;
16
+ }): VNodeChild;
17
+ }> & {
18
+ popover?(props: {
19
+ option: MenuOption;
20
+ popoverId: string;
21
+ close: () => void;
22
+ }): VNodeChild;
23
+ };
24
+ refs: {
25
+ rootMenuRef: HTMLUListElement;
26
+ nestedMenuPopoverRef: HTMLDivElement;
27
+ nestedMenuRef: HTMLUListElement;
28
+ };
29
+ rootEl: any;
30
+ };
31
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
32
+ declare const __VLS_component: DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
9
33
  "update:selectedItems": (value: MenuOption<unknown>[]) => any;
34
+ "update:expandedOptionId": (value: string | undefined) => any;
10
35
  } & {
11
36
  "handle-selected": (payload: MenuOptionSelectedEvent) => any;
12
37
  "see-more": (payload: SeeMoreEvent) => any;
@@ -14,5 +39,19 @@ declare const _default: DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, Compo
14
39
  "onHandle-selected"?: ((payload: MenuOptionSelectedEvent) => any) | undefined;
15
40
  "onSee-more"?: ((payload: SeeMoreEvent) => any) | undefined;
16
41
  "onUpdate:selectedItems"?: ((value: MenuOption<unknown>[]) => any) | undefined;
17
- }>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLUListElement>;
42
+ "onUpdate:expandedOptionId"?: ((value: string | undefined) => any) | undefined;
43
+ }>, {
44
+ childrenDisplay: PvMenuChildrenDisplay;
45
+ highlightParentItems: boolean;
46
+ }, {}, {}, {}, string, ComponentProvideOptions, false, {
47
+ rootMenuRef: HTMLUListElement;
48
+ nestedMenuPopoverRef: HTMLDivElement;
49
+ nestedMenuRef: HTMLUListElement;
50
+ }, any>;
51
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
18
52
  export default _default;
53
+ type __VLS_WithTemplateSlots<T, S> = T & {
54
+ new (): {
55
+ $slots: S;
56
+ };
57
+ };
@@ -3,6 +3,7 @@ import { DefineComponent, ComponentOptionsMixin, PublicProps, ComponentProvideOp
3
3
  interface PvMenuItemActionProps {
4
4
  action: MenuAction<any>;
5
5
  option: MenuOption;
6
+ disabled?: boolean;
6
7
  }
7
8
  declare const _default: DefineComponent<PvMenuItemActionProps, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<PvMenuItemActionProps> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
8
9
  export default _default;
@@ -18,5 +18,5 @@ declare const _default: DefineComponent<PvMenuItemVariantProps, {}, {}, {}, {},
18
18
  "onToggle-expanded"?: (() => any) | undefined;
19
19
  }>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {
20
20
  inputRef: HTMLInputElement;
21
- }, HTMLLabelElement>;
21
+ }, any>;
22
22
  export default _default;
@@ -2,6 +2,8 @@ import { ComputedRef, InjectionKey, Ref } from 'vue';
2
2
  import { MenuOption } from '../../../types';
3
3
  export declare const SelectedItemsKey: InjectionKey<Ref<MenuOption[]>>;
4
4
  export declare const EnableCascadeSelectionKey: InjectionKey<ComputedRef<boolean>>;
5
+ export declare const MenuInteractionModeKey: InjectionKey<ComputedRef<boolean>>;
6
+ export declare const MenuAncestorIdsKey: InjectionKey<string[]>;
5
7
  export declare const OriginalOptionsMapKey: InjectionKey<ComputedRef<Map<string, MenuOption>>>;
6
8
  export declare const CascadeSelectedParentIdsKey: InjectionKey<Ref<Set<string>>>;
7
9
  export declare const CascadeDeselectedChildIdsKey: InjectionKey<Ref<Map<string, Set<string>>>>;
@@ -1,7 +1,10 @@
1
1
  import { MenuOption, MenuOptionConfig } from '../../../types';
2
+ export type PvMenuChildrenDisplay = "inline" | "popover";
2
3
  export interface PvMenuProps {
3
4
  /** Array of menu options to render. */
4
5
  options: MenuOption[];
6
+ /** Render child options inline or render each top-level option's direct children in a click-opened popover. Popover mode ignores enableCascadeSelection. */
7
+ childrenDisplay?: PvMenuChildrenDisplay;
5
8
  /** Configuration for menu item appearance and behavior (variant, action, etc.). */
6
9
  config?: MenuOptionConfig;
7
10
  /** Search query text used to highlight matching text in menu items. */
@@ -16,7 +19,11 @@ export interface PvMenuProps {
16
19
  isSeeMoreLoading?: boolean;
17
20
  /** When true, only one item can be selected at a time (radio behavior). */
18
21
  singleSelect?: boolean;
19
- /** When true, selecting a parent option toggles all its leaf children. */
22
+ /** When true, a selected single-select item cannot be deselected by selecting it again. */
23
+ disableDeselect?: boolean;
24
+ /** When false, expandable parents do not receive the active-row background from selection or expansion. */
25
+ highlightParentItems?: boolean;
26
+ /** When true, selecting an inline parent option toggles all its leaf children. Ignored in popover mode. */
20
27
  enableCascadeSelection?: boolean;
21
28
  hasMoreOptions?: boolean;
22
29
  /** When true, item clicks are ignored — the list is display-only. */
@@ -3,6 +3,7 @@ import { PvSelectButtonSize, PvSelectButtonVariant } from './types';
3
3
  import { MenuAction, MenuOption, MenuOptionsVariant } from '../../../types';
4
4
  import { PvCounterBadgeVariant } from '../PvCounterBadge/types';
5
5
  import { PvPopoverV2Props } from '../PvPopoverV2/types.ts';
6
+ import { PvMenuChildrenDisplay } from '../PvMenu/types';
6
7
  export interface PvSelectButtonProps<T = unknown> {
7
8
  /** Whether the dropdown is open on initial render */
8
9
  defaultOpen?: boolean;
@@ -32,6 +33,8 @@ export interface PvSelectButtonProps<T = unknown> {
32
33
  optionsVariant?: Exclude<MenuOptionsVariant, "checkbox">;
33
34
  /** The list of selectable options */
34
35
  options?: MenuOption<T>[];
36
+ /** Render nested options inline or in click-opened popovers. */
37
+ childrenDisplay?: PvMenuChildrenDisplay;
35
38
  /** Custom Vue component used to render each option */
36
39
  optionsRenderer?: Component;
37
40
  /** Action configuration for per-option action buttons */
@@ -76,7 +76,7 @@ export { usePvComponents } from './PvComponentsConfig/usePvComponents';
76
76
  export type { Tab } from './PvTabs/types';
77
77
  export type { PvBreadcrumbsOptions } from './PvBreadcrumbs/types';
78
78
  export type { PvAvatarGroupItem } from './PvAvatarGroup/types';
79
- export type { MenuOption } from '../../types';
79
+ export type { MenuOption, MenuOptionSelectedEvent } from '../../types';
80
80
  export type { PvMultiSelectButtonSlotProps } from './PvMultiSelectButton/types';
81
81
  export type { PvTreeOption, PvTreeSetting, PvTreeSettings } from './PvTree/types';
82
82
  export type { RadioGroupOption } from './PvRadioGroup/types';
@@ -84,6 +84,7 @@ export type { PvTableOfContentsItem } from './PvTableOfContents/types';
84
84
  export type { PvHorizontalScrollerProps } from './PvHorizontalScroller/types';
85
85
  export type { PvFilterModalProps } from './PvFilterModal/types';
86
86
  export type { PvHoverActionMenuPosition } from './PvHoverActionMenu/types';
87
+ export type { PvMenuChildrenDisplay } from './PvMenu/types';
87
88
  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';
88
89
  export { createPvFilterStore, providePvFilterStore, useOptionalPvFilterStore, usePvFilterStore, } from './PvFilterPanel/usePvFilterStore';
89
90
  export type { PvRangeColor, PvRangeMode, PvRangeProps, PvRangeSize, PvRangeValue, } from './PvRange/types';
@@ -1,5 +1,5 @@
1
1
  import { AdvancedFilterModel, ColumnMovedEvent, ColumnResizedEvent, ColumnRowGroupChangedEvent, FilterChangedEvent, FilterModel } from 'ag-grid-enterprise';
2
- import { FirstDataRenderedEvent, GridReadyEvent, RefreshServerSideParams, SortChangedEvent } from 'ag-grid-community';
2
+ import { ColumnValueChangedEvent, FirstDataRenderedEvent, GridReadyEvent, RefreshServerSideParams, SortChangedEvent } from 'ag-grid-community';
3
3
  import { ChartStateChangedEvent, FilterValueResponseOption, FocusUpdateEvent } from '../../tables/PvDataTable/types';
4
4
  import { PvDataTableWithChartProps } from './types';
5
5
  import { VNodeProps, AllowedComponentProps, ComponentCustomProps, PublicProps, ShallowUnwrapRef, VNode } from 'vue';
@@ -9,6 +9,7 @@ declare const _default: <T>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>
9
9
  readonly "onColumn-moved"?: ((event: ColumnMovedEvent<T, any>) => any) | undefined;
10
10
  readonly "onColumn-resized"?: ((event: ColumnResizedEvent<T, any>) => any) | undefined;
11
11
  readonly "onColumn-row-group-changed"?: ((event: ColumnRowGroupChangedEvent<T, any>) => any) | undefined;
12
+ readonly "onColumn-value-changed"?: ((event: ColumnValueChangedEvent<T, any>) => any) | undefined;
12
13
  readonly "onGrid-ready"?: ((event: GridReadyEvent<T, any>) => any) | undefined;
13
14
  readonly "onFilter-changed"?: ((event: FilterChangedEvent<T, any>) => any) | undefined;
14
15
  readonly "onSort-changed"?: ((event: SortChangedEvent<T, any>) => any) | undefined;
@@ -18,7 +19,7 @@ declare const _default: <T>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>
18
19
  readonly "onTable-overlay-change"?: ((selectedIds: string[]) => any) | undefined;
19
20
  readonly "onChart-state-changed"?: ((event: ChartStateChangedEvent) => any) | undefined;
20
21
  readonly "onChart-collapsed"?: ((collapsed: boolean) => any) | undefined;
21
- } & VNodeProps & AllowedComponentProps & ComponentCustomProps, never>, "onHandle-settings-icon" | "onColumn-moved" | "onColumn-resized" | "onColumn-row-group-changed" | "onGrid-ready" | "onFilter-changed" | "onSort-changed" | "onFilter-opened" | "onFirst-data-rendered" | "onFocus-update" | "onTable-overlay-change" | "onChart-state-changed" | "onChart-collapsed"> & PvDataTableWithChartProps<T> & Partial<{}>> & PublicProps;
22
+ } & VNodeProps & AllowedComponentProps & ComponentCustomProps, never>, "onHandle-settings-icon" | "onColumn-moved" | "onColumn-resized" | "onColumn-row-group-changed" | "onColumn-value-changed" | "onGrid-ready" | "onFilter-changed" | "onSort-changed" | "onFilter-opened" | "onFirst-data-rendered" | "onFocus-update" | "onTable-overlay-change" | "onChart-state-changed" | "onChart-collapsed"> & PvDataTableWithChartProps<T> & Partial<{}>> & PublicProps;
22
23
  expose(exposed: ShallowUnwrapRef<{
23
24
  getChartImageDataURL: (dimensions?: {
24
25
  width?: number;
@@ -44,6 +45,7 @@ declare const _default: <T>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>
44
45
  (e: "column-moved", event: ColumnMovedEvent<T>): void;
45
46
  (e: "column-resized", event: ColumnResizedEvent<T>): void;
46
47
  (e: "column-row-group-changed", event: ColumnRowGroupChangedEvent<T>): void;
48
+ (e: "column-value-changed", event: ColumnValueChangedEvent<T>): void;
47
49
  (e: "grid-ready", event: GridReadyEvent<T>): void;
48
50
  (e: "filter-changed", event: FilterChangedEvent<T>): void;
49
51
  (e: "sort-changed", event: SortChangedEvent<T>): void;
@@ -1,9 +1,10 @@
1
1
  import { DefineComponent, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
2
2
  type __VLS_Props = {
3
- text?: string;
4
3
  context?: {
5
4
  description?: string;
6
5
  };
6
+ subText?: string;
7
+ text?: string;
7
8
  };
8
9
  declare const _default: DefineComponent<__VLS_Props, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
9
10
  export default _default;
@@ -1,20 +1,23 @@
1
- import { ChartConfigPanelType, ChartFilter } from '../types';
1
+ import { ChartConfigPanelType, ChartFilter, ChartSeriesAggFuncSelectedEvent } from '../types';
2
2
  import { VNodeProps, AllowedComponentProps, ComponentCustomProps, PublicProps, ShallowUnwrapRef, VNode } from 'vue';
3
3
  export interface PvChartOptionsPanelProps {
4
4
  enablePanel: boolean;
5
5
  chartFilter?: ChartFilter;
6
6
  rowGroupLimit?: number;
7
7
  useCombinedButton?: boolean;
8
+ useNestedMenu?: boolean;
8
9
  chartConfigOptions?: ChartConfigPanelType[];
9
10
  /** When true, the panel's controls are visible but disabled (view-only). */
10
11
  readOnly?: boolean;
11
12
  }
12
13
  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<{
13
- props: __VLS_PrettifyLocal<Pick<Partial<{}> & Omit<{} & VNodeProps & AllowedComponentProps & ComponentCustomProps, never>, never> & PvChartOptionsPanelProps & Partial<{}>> & PublicProps;
14
+ props: __VLS_PrettifyLocal<Pick<Partial<{}> & Omit<{
15
+ readonly "onSeries-agg-func-selected"?: ((event: ChartSeriesAggFuncSelectedEvent) => any) | undefined;
16
+ } & VNodeProps & AllowedComponentProps & ComponentCustomProps, never>, "onSeries-agg-func-selected"> & PvChartOptionsPanelProps & Partial<{}>> & PublicProps;
14
17
  expose(exposed: ShallowUnwrapRef<{}>): void;
15
18
  attrs: any;
16
19
  slots: {};
17
- emit: {};
20
+ emit: (e: "series-agg-func-selected", event: ChartSeriesAggFuncSelectedEvent) => void;
18
21
  }>) => VNode & {
19
22
  __ctx?: Awaited<typeof __VLS_setup>;
20
23
  };
@@ -83,6 +83,8 @@ export interface PvDataTableWithChartProps<T> extends PvDataTableProps<T> {
83
83
  enableChartScrolling?: boolean;
84
84
  /** When true, shows a combined configuration panel for chart settings (axes, sort, chart type). */
85
85
  enableCombinedChartConfigPanel?: boolean;
86
+ /** When true, uses the nested PvMenu chart configuration UI. Requires enableCombinedChartConfigPanel. */
87
+ enableNestedChartConfigPanel?: boolean;
86
88
  /** Which config panel sections to display (e.g., x-axis, y-axis, sort, chart-type). */
87
89
  chartConfigPanelOptions?: ChartConfigPanelType[];
88
90
  /** Chart type for the secondary y-axis series (e.g., scatter overlay on a bar chart). */
@@ -149,13 +151,26 @@ export interface PvDataTableWithChartProps<T> extends PvDataTableProps<T> {
149
151
  */
150
152
  crosslineOverlayGroups?: CrosslineOverlayGroup[];
151
153
  }
154
+ export interface ChartSeriesAggFuncSelectedEvent {
155
+ aggFunc: string;
156
+ columnField: string;
157
+ }
158
+ export interface ChartSeriesAggFuncOption {
159
+ aggFunc: string;
160
+ description?: string;
161
+ label: string;
162
+ seriesValue: string;
163
+ }
152
164
  export interface OptionWithFormatterAndDataType extends Option {
153
- formatter?: ValueFormatterFunc | string;
165
+ activeAggFunc?: string;
166
+ aggFuncOptions?: ChartSeriesAggFuncOption[];
167
+ columnField?: string;
154
168
  dataType?: string;
155
- tooltipRenderer?: ChartTooltipRenderer;
156
169
  description?: string;
170
+ formatter?: ValueFormatterFunc | string;
157
171
  /** Explicit ceiling for this column when plotted on the secondary y-axis; mirrors `context.secondaryAxisMax`. */
158
172
  secondaryAxisMax?: number;
173
+ tooltipRenderer?: ChartTooltipRenderer;
159
174
  }
160
175
  export interface StackField {
161
176
  fieldName: string;
@@ -1,4 +1,4 @@
1
- import { SortChangedEvent, SelectionChangedEvent, RowSelectedEvent, RowDataUpdatedEvent, CellValueChangedEvent, UndoStartedEvent, UndoEndedEvent, RedoStartedEvent, RedoEndedEvent, RowClickedEvent, FirstDataRenderedEvent, GridReadyEvent } from 'ag-grid-community';
1
+ import { SortChangedEvent, SelectionChangedEvent, RowSelectedEvent, RowDataUpdatedEvent, CellValueChangedEvent, ColumnValueChangedEvent, UndoStartedEvent, UndoEndedEvent, RedoStartedEvent, RedoEndedEvent, RowClickedEvent, FirstDataRenderedEvent, GridReadyEvent } from 'ag-grid-community';
2
2
  import { ColumnMovedEvent, ColumnResizedEvent, ColumnRowGroupChangedEvent, FilterChangedEvent } from 'ag-grid-enterprise';
3
3
  import { FilterValueResponseOption, PvDataTableProps, PvDataTablePublicInterface, FocusUpdateEvent } from './types';
4
4
  import { VNodeProps, AllowedComponentProps, ComponentCustomProps, PublicProps, ShallowUnwrapRef, VNode } from 'vue';
@@ -8,6 +8,7 @@ declare const _default: <T>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>
8
8
  readonly "onColumn-moved"?: ((event: ColumnMovedEvent<T, any>) => any) | undefined;
9
9
  readonly "onColumn-resized"?: ((event: ColumnResizedEvent<T, any>) => any) | undefined;
10
10
  readonly "onColumn-row-group-changed"?: ((event: ColumnRowGroupChangedEvent<T, any>) => any) | undefined;
11
+ readonly "onColumn-value-changed"?: ((event: ColumnValueChangedEvent<T, any>) => any) | undefined;
11
12
  readonly "onGrid-ready"?: ((event: GridReadyEvent<T, any>) => any) | undefined;
12
13
  readonly "onFilter-changed"?: ((event: FilterChangedEvent<T, any>) => any) | undefined;
13
14
  readonly "onSort-changed"?: ((event: SortChangedEvent<T, any>) => any) | undefined;
@@ -27,7 +28,7 @@ declare const _default: <T>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>
27
28
  filterValueMap: Record<string, (FilterValueResponseOption | null)[]>;
28
29
  filterValueSelectedMetadataMap: Record<string, (FilterValueResponseOption | null)[]>;
29
30
  }) => any) | undefined;
30
- } & VNodeProps & AllowedComponentProps & ComponentCustomProps, never>, "onHandle-settings-icon" | "onColumn-moved" | "onColumn-resized" | "onColumn-row-group-changed" | "onGrid-ready" | "onFilter-changed" | "onSort-changed" | "onFilter-opened" | "onFirst-data-rendered" | "onFocus-update" | "onSelection-changed" | "onRow-selected" | "onRow-data-updated" | "onCell-value-changed" | "onUndo-started" | "onUndo-ended" | "onRedo-started" | "onRedo-ended" | "onRow-clicked" | "onFilter-metadata-changed"> & PvDataTableProps<T> & Partial<{}>> & PublicProps;
31
+ } & VNodeProps & AllowedComponentProps & ComponentCustomProps, never>, "onHandle-settings-icon" | "onColumn-moved" | "onColumn-resized" | "onColumn-row-group-changed" | "onColumn-value-changed" | "onGrid-ready" | "onFilter-changed" | "onSort-changed" | "onFilter-opened" | "onFirst-data-rendered" | "onFocus-update" | "onSelection-changed" | "onRow-selected" | "onRow-data-updated" | "onCell-value-changed" | "onUndo-started" | "onUndo-ended" | "onRedo-started" | "onRedo-ended" | "onRow-clicked" | "onFilter-metadata-changed"> & PvDataTableProps<T> & Partial<{}>> & PublicProps;
31
32
  expose(exposed: ShallowUnwrapRef<PvDataTablePublicInterface>): void;
32
33
  attrs: any;
33
34
  slots: {
@@ -37,6 +38,7 @@ declare const _default: <T>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>
37
38
  (e: "column-moved", event: ColumnMovedEvent<T>): void;
38
39
  (e: "column-resized", event: ColumnResizedEvent<T>): void;
39
40
  (e: "column-row-group-changed", event: ColumnRowGroupChangedEvent<T>): void;
41
+ (e: "column-value-changed", event: ColumnValueChangedEvent<T>): void;
40
42
  (e: "grid-ready", event: GridReadyEvent<T>): void;
41
43
  (e: "filter-changed", event: FilterChangedEvent<T>): void;
42
44
  (e: "sort-changed", event: SortChangedEvent<T>): void;
@@ -52,6 +52,10 @@ export interface ColDefContextProps<T> extends Omit<PvFilterPanelColDefContext,
52
52
  * Display name for the aggregation function (e.g. "Sum", "Average", etc.) to show in the UI, if different from the aggFunc name
53
53
  */
54
54
  aggFuncDisplayName?: string;
55
+ /**
56
+ * A map of aggregation function names to descriptions shown in chart-series menu tooltips.
57
+ */
58
+ aggFuncDescriptionMap?: Record<string, string>;
55
59
  /**
56
60
  * A map of aggregation function names to display names (e.g. { "Median": "Median price", "max": "Maximum price" })
57
61
  */
@@ -68,7 +72,7 @@ export interface ColDefContextProps<T> extends Omit<PvFilterPanelColDefContext,
68
72
  */
69
73
  secondaryAxisMax?: number;
70
74
  /**
71
- * Optional description for the series when used in charting, displayed as a tooltip
75
+ * Optional tooltip description for the chart series, or its category when multiple aggregation functions are available.
72
76
  */
73
77
  chartSeriesDescription?: string;
74
78
  /**
@@ -214,9 +218,11 @@ export interface PvDataTableProps<T> {
214
218
  */
215
219
  enableTableSearch?: boolean;
216
220
  /**
217
- * Minimum search string length before the filter search is executed.
221
+ * Default minimum search string length before filter search is executed.
218
222
  * When set to N, queries with length in [1, N) are skipped; length 0
219
223
  * always fetches so clearing the input restores the full list.
224
+ * Set context.filterSearchMinLength on a column to override this default
225
+ * for fields with valid shorter values, such as two-character codes.
220
226
  */
221
227
  filterSearchMinLength?: number;
222
228
  /**
@@ -58,6 +58,9 @@ export declare const createFilterStore: () => {
58
58
  stageFilterChangesUntilDropdownCloses: Ref<boolean, boolean>;
59
59
  filterSearchMinLength: Ref<number | undefined, number | undefined>;
60
60
  markOtherFieldsStale: (changedFields: Set<string>) => void;
61
+ noteFilterModelChange: (changedFields: Set<string>, staged?: boolean) => void;
62
+ commitStagedFilterModelChanges: () => void;
63
+ clearStagedFilterModelChanges: () => void;
61
64
  aggregateFieldMap: Ref<Record<string, string[]>, Record<string, string[]>>;
62
65
  registerAggregateField: (parent: string, children: string[]) => void;
63
66
  registeredFilterFields: Ref<Set<string>, Set<string>>;
@@ -140,6 +143,9 @@ export declare const createPvDataTableFilterStore: () => {
140
143
  stageFilterChangesUntilDropdownCloses: Ref<boolean, boolean>;
141
144
  filterSearchMinLength: Ref<number | undefined, number | undefined>;
142
145
  markOtherFieldsStale: (changedFields: Set<string>) => void;
146
+ noteFilterModelChange: (changedFields: Set<string>, staged?: boolean) => void;
147
+ commitStagedFilterModelChanges: () => void;
148
+ clearStagedFilterModelChanges: () => void;
143
149
  aggregateFieldMap: Ref<Record<string, string[]>, Record<string, string[]>>;
144
150
  registerAggregateField: (parent: string, children: string[]) => void;
145
151
  registeredFilterFields: Ref<Set<string>, Set<string>>;
@@ -222,6 +228,9 @@ export declare const useFilterStore: () => {
222
228
  stageFilterChangesUntilDropdownCloses: Ref<boolean, boolean>;
223
229
  filterSearchMinLength: Ref<number | undefined, number | undefined>;
224
230
  markOtherFieldsStale: (changedFields: Set<string>) => void;
231
+ noteFilterModelChange: (changedFields: Set<string>, staged?: boolean) => void;
232
+ commitStagedFilterModelChanges: () => void;
233
+ clearStagedFilterModelChanges: () => void;
225
234
  aggregateFieldMap: Ref<Record<string, string[]>, Record<string, string[]>>;
226
235
  registerAggregateField: (parent: string, children: string[]) => void;
227
236
  registeredFilterFields: Ref<Set<string>, Set<string>>;
@@ -303,6 +312,9 @@ export declare const usePvDataTableFilterStore: () => {
303
312
  stageFilterChangesUntilDropdownCloses: Ref<boolean, boolean>;
304
313
  filterSearchMinLength: Ref<number | undefined, number | undefined>;
305
314
  markOtherFieldsStale: (changedFields: Set<string>) => void;
315
+ noteFilterModelChange: (changedFields: Set<string>, staged?: boolean) => void;
316
+ commitStagedFilterModelChanges: () => void;
317
+ clearStagedFilterModelChanges: () => void;
306
318
  aggregateFieldMap: Ref<Record<string, string[]>, Record<string, string[]>>;
307
319
  registerAggregateField: (parent: string, children: string[]) => void;
308
320
  registeredFilterFields: Ref<Set<string>, Set<string>>;
@@ -40,7 +40,7 @@ export declare const useSetFilter: <T>(options: UseSetFilterOptions<T>) => {
40
40
  isLoading: ComputedRef<boolean>;
41
41
  isSeeMoreLoading: Ref<boolean, boolean>;
42
42
  filterSearchText: WritableComputedRef<string, string>;
43
- filterSearchMinLength: Ref<number | undefined, number | undefined>;
43
+ filterSearchMinLength: ComputedRef<number | undefined>;
44
44
  belowFilterSearchMinLength: ComputedRef<boolean>;
45
45
  rowsLoading: Ref<boolean, boolean>;
46
46
  gridApi: Ref<GridApi<T> | null, GridApi<T> | null>;