@turquoisehealth/pit-viper 2.224.1-dev.0 → 2.224.1-dev.1

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 (27) hide show
  1. package/package.json +1 -1
  2. package/pv-components/dist/stats/vue/base/stats.html +1 -1
  3. package/pv-components/dist/stats/vue/visualizations/stats.html +1 -1
  4. package/pv-components/dist/stats/web/pv-filter-modal-stats.html +1 -1
  5. package/pv-components/dist/stats/web/pv-multi-select-button-stats.html +1 -1
  6. package/pv-components/dist/stats/web/pv-select-button-stats.html +1 -1
  7. package/pv-components/dist/stats/web/pv-tooltip-stats.html +1 -1
  8. package/pv-components/dist/vue/ai/components/base/PvButton/types.d.ts +1 -1
  9. package/pv-components/dist/vue/ai/components/base/PvTooltip/PvTooltip.vue.d.ts +7 -3
  10. package/pv-components/dist/vue/base/components/base/PvButton/types.d.ts +1 -1
  11. package/pv-components/dist/vue/base/components/base/PvTooltip/PvTooltip.vue.d.ts +7 -3
  12. package/pv-components/dist/vue/base/pv-components-base.mjs +28 -7
  13. package/pv-components/dist/vue/base/pv-components-base.mjs.map +1 -1
  14. package/pv-components/dist/vue/visualizations/components/base/PvButton/types.d.ts +1 -1
  15. package/pv-components/dist/vue/visualizations/components/base/PvTooltip/PvTooltip.vue.d.ts +7 -3
  16. package/pv-components/dist/vue/visualizations/components/charts/PvDataTableWithChart/crosslineHelpers.d.ts +2 -1
  17. package/pv-components/dist/vue/visualizations/components/charts/PvDataTableWithChart/helpers.d.ts +3 -2
  18. package/pv-components/dist/vue/visualizations/components/charts/PvDataTableWithChart/types.d.ts +6 -0
  19. package/pv-components/dist/vue/visualizations/components/charts/PvDataTableWithChart/useBenchmarkOverlays.d.ts +1 -0
  20. package/pv-components/dist/vue/visualizations/pv-components-visualizations.mjs +93 -67
  21. package/pv-components/dist/vue/visualizations/pv-components-visualizations.mjs.map +1 -1
  22. package/pv-components/dist/web/components/pv-filter-modal/pv-filter-modal.js +28 -7
  23. package/pv-components/dist/web/components/pv-multi-select-button/pv-multi-select-button.js +28 -7
  24. package/pv-components/dist/web/components/pv-select-button/pv-select-button.js +28 -7
  25. package/pv-components/dist/web/components/pv-tooltip/pv-tooltip.js +425 -404
  26. package/pv-components/dist/web/pv-components.iife.js +1 -1
  27. package/pv-components/dist/web/pv-components.iife.js.map +1 -1
@@ -33,6 +33,6 @@ export interface PvButtonWithTooltipProps extends PvButtonProps {
33
33
  tooltipVariant?: PvTooltipVariants;
34
34
  /** Where the tooltip appears relative to the button */
35
35
  tooltipPosition?: PvTooltipPositions;
36
- /** Delay in milliseconds before showing the tooltip */
36
+ /** Delay in milliseconds before showing the tooltip on hover. Keyboard focus is never delayed. */
37
37
  delay?: number;
38
38
  }
@@ -11,7 +11,7 @@ interface PvTooltipProps {
11
11
  size?: PvTooltipSize;
12
12
  /** When true, tooltip hides immediately when cursor leaves the trigger */
13
13
  disableInteractive?: boolean;
14
- /** Delay in milliseconds before showing the tooltip */
14
+ /** Delay in milliseconds before showing the tooltip on hover. Keyboard focus is never delayed. */
15
15
  delay?: number;
16
16
  }
17
17
  declare function __VLS_template(): {
@@ -20,7 +20,9 @@ declare function __VLS_template(): {
20
20
  label?(_: {}): any;
21
21
  'tooltip-content'?(_: {}): any;
22
22
  };
23
- refs: {};
23
+ refs: {
24
+ rootRef: HTMLDivElement;
25
+ };
24
26
  rootEl: HTMLDivElement;
25
27
  };
26
28
  type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
@@ -31,7 +33,9 @@ declare const __VLS_component: DefineComponent<PvTooltipProps, {}, {}, {}, {}, C
31
33
  delay: number;
32
34
  disableInteractive: boolean;
33
35
  ariaLabelledBy: string;
34
- }, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLDivElement>;
36
+ }, {}, {}, {}, string, ComponentProvideOptions, false, {
37
+ rootRef: HTMLDivElement;
38
+ }, HTMLDivElement>;
35
39
  declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
36
40
  export default _default;
37
41
  type __VLS_WithTemplateSlots<T, S> = T & {
@@ -1,5 +1,6 @@
1
1
  import { ChipSection, CrosslineOverlayGroup, VerticalLineOverlay } from './types';
2
2
  export declare const DEFAULT_CROSSLINE_OVERLAY_COLOR = "#E7E2D9";
3
+ export declare const LEGACY_CROSSLINE_OVERLAY_COLOR = "#7C8AF4";
3
4
  export declare const scaleValueToIndex: (value: number, buckets: {
4
5
  bucketMin: number;
5
6
  bucketMax: number;
@@ -10,7 +11,7 @@ export interface CrosslineAxisDomain {
10
11
  axisMin: number;
11
12
  axisMax: number;
12
13
  }
13
- export declare const getCrosslineAxisDomain: (numCategories: number, isHistogramWithBuckets: boolean | undefined) => CrosslineAxisDomain;
14
+ export declare const getCrosslineAxisDomain: (numCategories: number, showDistributionRangeLabels: boolean | undefined) => CrosslineAxisDomain;
14
15
  export declare const scaledIndexToAxisFraction: (scaledValue: number, domain: CrosslineAxisDomain) => number;
15
16
  export declare const resolveCrosslineOverlays: (groups: CrosslineOverlayGroup[], activeGroupIds: Set<string>) => VerticalLineOverlay[];
16
17
  export declare const computeChipSections: (groups: CrosslineOverlayGroup[], activeGroupIds: Set<string>, formatValue: (value: number) => string | number) => ChipSection[];
@@ -75,8 +75,9 @@ export declare const calculateMinChartSeriesValue: (data: any[] | undefined, ser
75
75
  * Builds the category axis's label formatter. Exactly one of three behaviors applies:
76
76
  * - `hideLabel`: every label is blank (e.g. a chart type that doesn't show x-axis labels).
77
77
  * - `showDistributionRangeLabels`: only the two blank pad categories flanking a histogram's
78
- * real buckets are labeled, with the overall lowest min / highest max bucket boundary;
79
- * every other category (including the real buckets themselves) is blank.
78
+ * real buckets (under `useDistributionV2Styling`) are labeled, with the overall lowest
79
+ * min / highest max bucket boundary; every other category (including the real buckets
80
+ * themselves) is blank.
80
81
  * - Otherwise: normal category labels, formatted via `columnValueFormatter`, with the
81
82
  * separator/single-bar-padding sentinel categories hidden, a focus suffix appended, and
82
83
  * the result truncated to `MAX_LABEL_LENGTH`.
@@ -142,6 +142,12 @@ export interface PvDataTableWithChartProps<T> extends PvDataTableProps<T> {
142
142
  showSeriesLabels?: boolean;
143
143
  /** When true, truncates long category labels on the chart axis. */
144
144
  truncateLabelValues?: boolean;
145
+ /**
146
+ * Gate for distribution/histogram chart styling changes that must ship together.
147
+ * When true, notates the x-axis of histogram charts with the overall lowest min
148
+ * (left) and highest max (right) bucket bounds.
149
+ */
150
+ useDistributionV2Styling?: boolean;
145
151
  /** Pre-populated chart data to render before any server-side fetch completes. */
146
152
  initialChartData?: AgChartOptions["data"];
147
153
  /** When true, wraps large charts in a native Pit Viper-styled scroll container. */
@@ -9,6 +9,7 @@ export interface CrosslineTooltip {
9
9
  }
10
10
  interface UseBenchmarkOverlaysOptions {
11
11
  crosslineOverlayGroups: ComputedRef<CrosslineOverlayGroup[]>;
12
+ useDistributionV2Styling: ComputedRef<boolean | undefined>;
12
13
  isHistogramWithBuckets: ComputedRef<boolean | undefined>;
13
14
  isHorizontalBarChart: ComputedRef<boolean>;
14
15
  computedChartData: ComputedRef<{
@@ -5061,23 +5061,44 @@ var zi = /* @__PURE__ */ new Set(), Bi = (e, t) => !!t.root.value && !!e.root.va
5061
5061
  delay: { default: 0 }
5062
5062
  },
5063
5063
  setup(e) {
5064
- let { present: t } = Ri("tooltip-content");
5065
- return (n, r) => (D(), o("div", {
5064
+ let t = e, n = ee("rootRef"), { present: i } = Ri("tooltip-content", { host: r(() => {
5065
+ let e = n.value?.getRootNode();
5066
+ return e instanceof ShadowRoot ? e.host : null;
5067
+ }) }), s = r(() => t.delay > 0), c = k(!1), l = k(!1), u, d = () => {
5068
+ u && clearTimeout(u), u = void 0;
5069
+ }, f = r(() => !s.value || c.value || l.value), p = () => {
5070
+ s.value && (d(), u = setTimeout(() => {
5071
+ u = void 0, l.value = !0;
5072
+ }, t.delay));
5073
+ }, m = () => {
5074
+ s.value && (d(), l.value = !1);
5075
+ }, h = () => {
5076
+ s.value && (c.value = !0);
5077
+ }, g = () => {
5078
+ s.value && (c.value = !1);
5079
+ };
5080
+ return C(d), (t, r) => (D(), o("div", {
5081
+ ref_key: "rootRef",
5082
+ ref: n,
5066
5083
  "data-testid": "pv-tooltip",
5067
5084
  class: y([{
5068
- "pv-tooltip": R(t),
5069
- "pv-tooltip-small": R(t) && e.size === "sm"
5085
+ "pv-tooltip": R(i),
5086
+ "pv-tooltip-small": R(i) && e.size === "sm"
5070
5087
  }]),
5071
5088
  "data-position": e.tooltipPosition,
5072
5089
  "data-style": e.variant === "white" ? "white" : "dark",
5073
5090
  "data-static": e.disableInteractive ? !0 : void 0,
5074
- "aria-labelledby": R(t) ? e.ariaLabelledBy : void 0
5075
- }, [j(n.$slots, "label"), R(t) ? (D(), o("div", {
5091
+ "aria-labelledby": R(i) ? e.ariaLabelledBy : void 0,
5092
+ onMouseenter: p,
5093
+ onMouseleave: m,
5094
+ onFocusin: h,
5095
+ onFocusout: g
5096
+ }, [j(t.$slots, "label"), R(i) ? G((D(), o("div", {
5076
5097
  key: 0,
5077
5098
  role: "tooltip",
5078
5099
  id: e.ariaLabelledBy,
5079
5100
  "data-testid": "pv-tooltip-content"
5080
- }, [j(n.$slots, "tooltip-content")], 8, Sa)) : a("", !0)], 10, xa));
5101
+ }, [j(t.$slots, "tooltip-content")], 8, Sa)), [[re, f.value]]) : a("", !0)], 42, xa));
5081
5102
  }
5082
5103
  }), wa = ["disabled"], Ta = { class: "pv-flex pv-select-button-trigger-content" }, Ea = {
5083
5104
  key: 0,
@@ -13835,46 +13856,46 @@ var Lp = (e, t) => {
13835
13856
  }), [...r.values()];
13836
13857
  }, Hp = (e) => !!(e.visible && !e.disabled);
13837
13858
  function Up(e) {
13838
- let { crosslineOverlayGroups: t, isHistogramWithBuckets: n, isHorizontalBarChart: i, computedChartData: a, pvChartRef: o, formatValue: s, initialActiveOverlayGroupIds: c } = e, l = k(new Set(c?.value ?? t.value.filter((e) => Hp(e)).map((e) => e.id))), u = new Map(t.value.map((e) => [e.id, Hp(e)]));
13859
+ let { crosslineOverlayGroups: t, useDistributionV2Styling: n, isHistogramWithBuckets: i, isHorizontalBarChart: a, computedChartData: o, pvChartRef: s, formatValue: c, initialActiveOverlayGroupIds: l } = e, u = k(new Set(l?.value ?? t.value.filter((e) => Hp(e)).map((e) => e.id))), d = new Map(t.value.map((e) => [e.id, Hp(e)]));
13839
13860
  U(t, (e) => {
13840
- let t = new Set(l.value), n = !1, r = c?.value !== void 0;
13861
+ let t = new Set(u.value), n = !1, r = l?.value !== void 0;
13841
13862
  for (let i of e) {
13842
- let e = Hp(i), a = u.has(i.id) ? !u.get(i.id) : !r;
13843
- e && a ? (t.add(i.id), n = !0) : !e && u.get(i.id) && (t.delete(i.id), n = !0);
13863
+ let e = Hp(i), a = d.has(i.id) ? !d.get(i.id) : !r;
13864
+ e && a ? (t.add(i.id), n = !0) : !e && d.get(i.id) && (t.delete(i.id), n = !0);
13844
13865
  }
13845
- u = new Map(e.map((e) => [e.id, Hp(e)])), n && (l.value = t);
13866
+ d = new Map(e.map((e) => [e.id, Hp(e)])), n && (u.value = t);
13846
13867
  });
13847
- let d = r(() => Bp(t.value, l.value)), f = r(() => Vp(t.value, l.value, s)), p = k(null);
13868
+ let f = r(() => Bp(t.value, u.value)), p = r(() => n.value ? Vp(t.value, u.value, c) : []), m = k(null);
13848
13869
  return {
13849
- activeCrosslineOverlayGroups: l,
13850
- resolvedCrosslineOverlays: d,
13851
- chipSections: f,
13852
- hoveredBenchmarkKey: p,
13870
+ activeCrosslineOverlayGroups: u,
13871
+ resolvedCrosslineOverlays: f,
13872
+ chipSections: p,
13873
+ hoveredBenchmarkKey: m,
13853
13874
  hoveredCrosslineTooltip: r(() => {
13854
- if (!p.value || !a.value) return null;
13855
- let e = d.value.find((e) => e.key === p.value);
13875
+ if (!m.value || !o.value) return null;
13876
+ let e = f.value.find((e) => e.key === m.value);
13856
13877
  if (!e) return null;
13857
- let t = Lp(e.value, a.value);
13878
+ let t = Lp(e.value, o.value);
13858
13879
  if (t == null) return null;
13859
- let r = (o.value?.$el)?.querySelector(".ag-charts-series-area")?.getBoundingClientRect();
13880
+ let r = (s.value?.$el)?.querySelector(".ag-charts-series-area")?.getBoundingClientRect();
13860
13881
  if (!r) return null;
13861
- let c = zp(t, Rp(a.value.length || 1, n.value)), l = e.formatValue ? e.formatValue(e.value) : s(e.value);
13862
- return i.value ? {
13882
+ let l = zp(t, Rp(o.value.length || 1, i.value && n.value)), u = e.formatValue ? e.formatValue(e.value) : c(e.value);
13883
+ return a.value ? {
13863
13884
  label: e.label,
13864
- value: l,
13885
+ value: u,
13865
13886
  arrowClass: "ag-charts-tooltip--arrow-left",
13866
13887
  style: {
13867
13888
  "--left": `${r.left + 8}px`,
13868
- "--top": `${r.top + (1 - c) * r.height}px`,
13889
+ "--top": `${r.top + (1 - l) * r.height}px`,
13869
13890
  transform: "translateY(-50%)",
13870
13891
  pointerEvents: "none"
13871
13892
  }
13872
13893
  } : {
13873
13894
  label: e.label,
13874
- value: l,
13895
+ value: u,
13875
13896
  arrowClass: "ag-charts-tooltip--arrow-bottom",
13876
13897
  style: {
13877
- "--left": `${r.left + c * r.width}px`,
13898
+ "--left": `${r.left + l * r.width}px`,
13878
13899
  "--top": `${r.top - 8}px`,
13879
13900
  transform: "translate(-50%, -100%)",
13880
13901
  pointerEvents: "none"
@@ -13921,6 +13942,10 @@ var Wp = { style: {
13921
13942
  type: Boolean,
13922
13943
  default: !0
13923
13944
  },
13945
+ useDistributionV2Styling: {
13946
+ type: Boolean,
13947
+ default: !1
13948
+ },
13924
13949
  initialChartData: {},
13925
13950
  enableChartScrolling: {
13926
13951
  type: Boolean,
@@ -14322,7 +14347,7 @@ var Wp = { style: {
14322
14347
  });
14323
14348
  }
14324
14349
  });
14325
- let Be = (e) => e?.label ?? "", Ve = r(() => Be(ne(H.value, Q.value))), He = r(() => ne(te.value, Ne.value)), Ue = r(() => Be(He.value)), We = r(() => ke.value.isHorizontal === !0), Ge = r(() => P.value.length > 1), Ke = r(() => !Te.value || H.value.length === 0 ? [] : ke.value.seriesFamily === "pie" ? Qe.value : Ze.value), qe = r(() => Te.value?.id === "histogram" ? !1 : l.showSeriesLabels), Je = r(() => Te.value?.id.includes("stacked")), Ye = r(() => P.value.length > 1), Xe = r(() => Te.value?.id === "histogram" && ot.value && ot.value.length > 0 && typeof ot.value[0]?.bucketMin == "number" && typeof ot.value[0]?.bucketMax == "number"), Ze = r(() => {
14350
+ let Be = (e) => e?.label ?? "", Ve = r(() => Be(ne(H.value, Q.value))), He = r(() => ne(te.value, Ne.value)), Ue = r(() => Be(He.value)), We = r(() => ke.value.isHorizontal === !0), Ge = r(() => P.value.length > 1), Ke = r(() => !Te.value || H.value.length === 0 ? [] : ke.value.seriesFamily === "pie" ? Qe.value : Ze.value), qe = r(() => Te.value?.id === "histogram" && l.useDistributionV2Styling ? !1 : l.showSeriesLabels), Je = r(() => Te.value?.id.includes("stacked")), Ye = r(() => P.value.length > 1), Xe = r(() => Te.value?.id === "histogram" && ot.value && ot.value.length > 0 && typeof ot.value[0]?.bucketMin == "number" && typeof ot.value[0]?.bucketMax == "number"), Ze = r(() => {
14326
14351
  let e = Je.value, t = ke.value.agChartType, n = [], r = ye(Q.value, !0), i = ye(Fe.value?.fieldName, !0), a = (e) => t === "line" ? {} : { placement: e };
14327
14352
  if (Ge.value) Fe.value?.fieldValues.forEach((o) => {
14328
14353
  let s = {
@@ -14423,7 +14448,7 @@ var Wp = { style: {
14423
14448
  label: { enabled: !1 },
14424
14449
  tooltip: { enabled: !1 },
14425
14450
  visible: !1
14426
- }, { categoryPadOffset: i } = Rp(e, !0), a = {
14451
+ }, { categoryPadOffset: i } = Rp(e, Xe.value && l.useDistributionV2Styling), a = {
14427
14452
  type: "scatter",
14428
14453
  xKey: "__dummy_x__",
14429
14454
  yKey: "__dummy_y__",
@@ -14626,6 +14651,7 @@ var Wp = { style: {
14626
14651
  return e;
14627
14652
  }), { activeCrosslineOverlayGroups: st, resolvedCrosslineOverlays: ct, chipSections: lt, hoveredBenchmarkKey: ut, hoveredCrosslineTooltip: dt } = Up({
14628
14653
  crosslineOverlayGroups: Pe,
14654
+ useDistributionV2Styling: r(() => l.useDistributionV2Styling),
14629
14655
  isHistogramWithBuckets: Xe,
14630
14656
  isHorizontalBarChart: We,
14631
14657
  computedChartData: ot,
@@ -14724,22 +14750,22 @@ var Wp = { style: {
14724
14750
  }), zt = r(() => Lt.value || ce.value || !l.isLoading && Rt.value !== ""), Bt = r(() => {
14725
14751
  let e = {};
14726
14752
  e.overlays = { noData: { text: "" } };
14727
- let t = Xe.value ? [
14753
+ let t = Xe.value && l.useDistributionV2Styling, n = t ? [
14728
14754
  { [I.value]: qo },
14729
14755
  ...ot.value ?? [],
14730
14756
  { [I.value]: Jo }
14731
14757
  ] : ot.value;
14732
- e.data = zt.value ? [] : t, e.legend = {
14758
+ e.data = zt.value ? [] : n, e.legend = {
14733
14759
  toggleSeries: !1,
14734
14760
  preventHidingAll: !0,
14735
14761
  enabled: P.value.length > 1
14736
14762
  };
14737
- let n = Ge.value ? Fe.value?.fieldValues.map((e) => xs(Q.value, e)) || [] : Q.value ? [Q.value] : [], r = (() => {
14763
+ let r = Ge.value ? Fe.value?.fieldValues.map((e) => xs(Q.value, e)) || [] : Q.value ? [Q.value] : [], i = (() => {
14738
14764
  if (!Ne.value) return [];
14739
14765
  let e = Ne.value;
14740
14766
  return Je.value ? [`${e}${Zo}`] : Ge.value ? Fe.value?.fieldValues.map((t) => xs(e, String(t))) || [] : [e];
14741
- })(), i = ke.value.xAxis.hideLabel === !0 && !Xe.value, a = [];
14742
- if (a.push({
14767
+ })(), a = ke.value.xAxis.hideLabel === !0 && !t, o = [];
14768
+ if (o.push({
14743
14769
  type: "category",
14744
14770
  keys: [I.value],
14745
14771
  position: We.value ? "left" : "bottom",
@@ -14757,10 +14783,10 @@ var Wp = { style: {
14757
14783
  autoRotate: !0,
14758
14784
  truncate: !1,
14759
14785
  wrapping: "never",
14760
- ...Xe.value ? { spacing: 2 } : {},
14786
+ ...t ? { spacing: 2 } : {},
14761
14787
  formatter: Ds({
14762
- hideLabel: i,
14763
- showDistributionRangeLabels: !!Xe.value,
14788
+ hideLabel: a,
14789
+ showDistributionRangeLabels: !!t,
14764
14790
  chartData: ot.value,
14765
14791
  formatBucketBoundary: Ce,
14766
14792
  columnValueFormatter: ye(I.value),
@@ -14770,71 +14796,71 @@ var Wp = { style: {
14770
14796
  })
14771
14797
  },
14772
14798
  paddingInner: Nt.value,
14773
- paddingOuter: Xe.value ? 0 : Pt.value,
14799
+ paddingOuter: t ? 0 : Pt.value,
14774
14800
  groupPaddingInner: Ft.value
14775
14801
  }), Xe.value && ct.value.length > 0) {
14776
- let { categoryPadOffset: e, axisMin: t, axisMax: n } = Rp(ot.value?.length || 1, !0);
14777
- a.push({
14802
+ let { categoryPadOffset: e, axisMin: n, axisMax: r } = Rp(ot.value?.length || 1, t);
14803
+ o.push({
14778
14804
  type: "number",
14779
14805
  keys: ["__dummy_x__"],
14780
14806
  position: We.value ? "left" : "bottom",
14781
14807
  crosshair: { enabled: !1 },
14782
- min: t,
14783
- max: n,
14808
+ min: n,
14809
+ max: r,
14784
14810
  nice: !1,
14785
14811
  label: { enabled: !1 },
14786
14812
  tick: { enabled: !1 },
14787
14813
  line: { enabled: !1 },
14788
14814
  gridLine: { enabled: !1 },
14789
- crossLines: ct.value.map((t) => {
14815
+ crossLines: ct.value.map((n) => {
14790
14816
  if (!ot.value) return null;
14791
- let n = Lp(t.value, ot.value);
14792
- if (n == null) return null;
14793
- let r = ut.value != null && t.key === ut.value, i = ut.value != null && !r;
14817
+ let r = Lp(n.value, ot.value);
14818
+ if (r == null) return null;
14819
+ let i = ut.value != null && n.key === ut.value, a = ut.value != null && !i;
14794
14820
  return {
14795
14821
  type: "line",
14796
- value: n + e,
14797
- stroke: t.color || "#E7E2D9",
14798
- strokeWidth: r ? 3 : 2,
14799
- strokeOpacity: i ? .2 : r ? 1 : .8,
14822
+ value: r + e,
14823
+ stroke: n.color || (t ? "#E7E2D9" : "#7C8AF4"),
14824
+ strokeWidth: i ? 3 : 2,
14825
+ strokeOpacity: a ? .2 : i ? 1 : .8,
14800
14826
  lineDash: [6, 3]
14801
14827
  };
14802
14828
  }).filter((e) => e !== null)
14803
14829
  });
14804
14830
  }
14805
- let o = !!Ne.value, s = o ? He.value?.secondaryAxisMax : void 0, c = o && Number.isFinite(At.value) && At.value < 0, u = o && Number.isFinite(jt.value) && jt.value < 0, d = c || u, f = o ? gs(Ot.value, 5) : 0, p = o ? s ?? gs(kt.value, 5) : 0, m = o && !d && f > 0 && p > 0;
14806
- if (a.push({
14831
+ let s = !!Ne.value, c = s ? He.value?.secondaryAxisMax : void 0, u = s && Number.isFinite(At.value) && At.value < 0, d = s && Number.isFinite(jt.value) && jt.value < 0, f = u || d, p = s ? gs(Ot.value, 5) : 0, m = s ? c ?? gs(kt.value, 5) : 0, h = s && !f && p > 0 && m > 0;
14832
+ if (o.push({
14807
14833
  type: "number",
14808
- keys: n,
14834
+ keys: r,
14809
14835
  position: We.value ? "bottom" : "left",
14810
- ...m ? {
14836
+ ...h ? {
14811
14837
  min: 0,
14812
- max: f,
14838
+ max: p,
14813
14839
  nice: !1,
14814
- interval: { step: f / 5 }
14840
+ interval: { step: p / 5 }
14815
14841
  } : {},
14816
14842
  label: { formatter: ye(Q.value) },
14817
14843
  title: {
14818
14844
  enabled: !0,
14819
14845
  text: Ve.value
14820
14846
  }
14821
- }), o && a.push({
14847
+ }), s && o.push({
14822
14848
  type: "number",
14823
- keys: r,
14849
+ keys: i,
14824
14850
  position: We.value ? "top" : "right",
14825
14851
  crosshair: { enabled: !1 },
14826
- ...m ? {
14852
+ ...h ? {
14827
14853
  min: 0,
14828
- max: p,
14854
+ max: m,
14829
14855
  nice: !1,
14830
- interval: { step: p / 5 }
14856
+ interval: { step: m / 5 }
14831
14857
  } : {
14832
- ...u ? {} : { min: 0 },
14833
- ...s === void 0 ? {} : {
14834
- max: s,
14858
+ ...d ? {} : { min: 0 },
14859
+ ...c === void 0 ? {} : {
14860
+ max: c,
14835
14861
  nice: !1
14836
14862
  },
14837
- ...d ? { gridLine: { enabled: !1 } } : {}
14863
+ ...f ? { gridLine: { enabled: !1 } } : {}
14838
14864
  },
14839
14865
  label: { color: gt },
14840
14866
  title: {
@@ -14844,7 +14870,7 @@ var Wp = { style: {
14844
14870
  }
14845
14871
  }), Xe.value && ct.value.length > 0) {
14846
14872
  let e = Number.isFinite(Ot.value) ? Ot.value : 0;
14847
- a.push({
14873
+ o.push({
14848
14874
  type: "number",
14849
14875
  keys: ["__dummy_y__"],
14850
14876
  position: "left",
@@ -14858,7 +14884,7 @@ var Wp = { style: {
14858
14884
  gridLine: { enabled: !1 }
14859
14885
  });
14860
14886
  }
14861
- return e.axes = a, e.series = Ke.value, e;
14887
+ return e.axes = o, e.series = Ke.value, e;
14862
14888
  }), Vt = r(() => E.value || l.isLoading && (!ot.value || ot.value.length === 0)), Ht = r(() => Lt.value || !ce.value && !l.isLoading && Rt.value !== ""), Ut = (e) => {
14863
14889
  b.value = e, d("chart-collapsed", e);
14864
14890
  }, Wt = (e) => {