@turquoisehealth/pit-viper 2.224.1-dev.3 → 2.226.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.
@@ -1,6 +1,5 @@
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";
4
3
  export declare const scaleValueToIndex: (value: number, buckets: {
5
4
  bucketMin: number;
6
5
  bucketMax: number;
@@ -11,7 +10,7 @@ export interface CrosslineAxisDomain {
11
10
  axisMin: number;
12
11
  axisMax: number;
13
12
  }
14
- export declare const getCrosslineAxisDomain: (numCategories: number, showDistributionRangeLabels: boolean | undefined) => CrosslineAxisDomain;
13
+ export declare const getCrosslineAxisDomain: (numCategories: number, isHistogramWithBuckets: boolean | undefined) => CrosslineAxisDomain;
15
14
  export declare const scaledIndexToAxisFraction: (scaledValue: number, domain: CrosslineAxisDomain) => number;
16
15
  export declare const resolveCrosslineOverlays: (groups: CrosslineOverlayGroup[], activeGroupIds: Set<string>) => VerticalLineOverlay[];
17
16
  export declare const computeChipSections: (groups: CrosslineOverlayGroup[], activeGroupIds: Set<string>, formatValue: (value: number) => string | number) => ChipSection[];
@@ -75,9 +75,8 @@ 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 (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.
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.
81
80
  * - Otherwise: normal category labels, formatted via `columnValueFormatter`, with the
82
81
  * separator/single-bar-padding sentinel categories hidden, a focus suffix appended, and
83
82
  * the result truncated to `MAX_LABEL_LENGTH`.
@@ -116,6 +116,15 @@ export interface TableConfigOptions {
116
116
  * that do not have a `context.visibilityState` on their column definitions.
117
117
  */
118
118
  enableColumnConfiguration?: boolean;
119
+ /**
120
+ * Shows the "Group Table to Match Chart"/"Ungroup Table" item inside the Table Configuration
121
+ * menu. Defaults to true; set to false for data sources that never group the table to match
122
+ * the chart (e.g. base rates), keeping the rest of the menu (e.g. "Columns"). If every menu
123
+ * item ends up hidden, the panel renders no trigger at all. Unlike the top-level
124
+ * `enableGroupingToggle` prop (which gates whether the menu renders at all), this only
125
+ * affects the one item within it.
126
+ */
127
+ enableGroupTableToMatchChartToggle?: boolean;
119
128
  }
120
129
  /** Payload emitted when the user changes column visibility/order via the "Columns" configuration panel. */
121
130
  export interface ColumnConfigurationChangeEvent {
@@ -142,12 +151,6 @@ export interface PvDataTableWithChartProps<T> extends PvDataTableProps<T> {
142
151
  showSeriesLabels?: boolean;
143
152
  /** When true, truncates long category labels on the chart axis. */
144
153
  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;
151
154
  /** Pre-populated chart data to render before any server-side fetch completes. */
152
155
  initialChartData?: AgChartOptions["data"];
153
156
  /** When true, wraps large charts in a native Pit Viper-styled scroll container. */
@@ -201,7 +204,11 @@ export interface PvDataTableWithChartProps<T> extends PvDataTableProps<T> {
201
204
  /** Custom text to display when no focuses are selected and chart data is empty. */
202
205
  missingFocusText?: string;
203
206
  /**
204
- * Enable toggle to group or ungroup
207
+ * Gates the table's grouping affordance as a whole. When true, renders the Table
208
+ * Configuration menu (when `tableConfigOptions` is set) or a standalone group/ungroup button
209
+ * (when it isn't), and allows external `isTableGrouped` changes to group/ungroup the table.
210
+ * When false, neither control renders. To keep the menu but hide only its group/ungroup
211
+ * item, use `TableConfigOptions.enableGroupTableToMatchChartToggle` instead.
205
212
  */
206
213
  enableGroupingToggle?: boolean;
207
214
  /**
@@ -9,7 +9,6 @@ export interface CrosslineTooltip {
9
9
  }
10
10
  interface UseBenchmarkOverlaysOptions {
11
11
  crosslineOverlayGroups: ComputedRef<CrosslineOverlayGroup[]>;
12
- useDistributionV2Styling: ComputedRef<boolean | undefined>;
13
12
  isHistogramWithBuckets: ComputedRef<boolean | undefined>;
14
13
  isHorizontalBarChart: ComputedRef<boolean>;
15
14
  computedChartData: ComputedRef<{
@@ -12769,7 +12769,10 @@ var Hu = { style: { "line-height": "20px" } }, Uu = { class: "pv-text-subdued pv
12769
12769
  }), Xf = { class: "pv-relative" }, Zf = {
12770
12770
  role: "list",
12771
12771
  class: "pv-relative"
12772
- }, Qf = ["data-active"], $f = ["data-active"], ep = { style: { cursor: "pointer" } }, tp = {
12772
+ }, Qf = ["data-active"], $f = ["data-active"], ep = {
12773
+ key: 2,
12774
+ style: { cursor: "pointer" }
12775
+ }, tp = {
12773
12776
  key: 0,
12774
12777
  role: "list"
12775
12778
  }, np = /* @__PURE__ */ d({
@@ -12815,43 +12818,43 @@ var Hu = { style: { "line-height": "20px" } }, Uu = { class: "pv-text-subdued pv
12815
12818
  b.value = null;
12816
12819
  return;
12817
12820
  }
12818
- e === "columns" && B(), b.value = e, g.value = document.getElementById(`table-config-${e}`), h();
12819
- }, M = r(() => f.value?.getColId() ?? null), N = r(() => (d.value ?? []).filter((e) => e.getColDef().context?.visibilityState === void 0 && e.getColId() !== M.value)), F = r(() => !!i.tableConfigOptions?.enableColumnConfiguration && N.value.length > 0), I = (e) => {
12821
+ e === "columns" && V(), b.value = e, g.value = document.getElementById(`table-config-${e}`), h();
12822
+ }, M = r(() => f.value?.getColId() ?? null), N = r(() => (d.value ?? []).filter((e) => e.getColDef().context?.visibilityState === void 0 && e.getColId() !== M.value)), F = r(() => !!i.tableConfigOptions?.enableColumnConfiguration && N.value.length > 0), I = r(() => i.tableConfigOptions?.enableGroupTableToMatchChartToggle ?? !0), L = r(() => C.value || F.value || I.value), R = (e) => {
12820
12823
  let t = e.getColDef();
12821
12824
  return {
12822
12825
  id: e.getColId(),
12823
12826
  text: t.headerName || e.getColId(),
12824
12827
  icon: es(t.context?.dataType || null) || "circle-chevron-down"
12825
12828
  };
12826
- }, L = r(() => N.value.map(I)), R = k([]), B = () => {
12827
- R.value = N.value.filter((e) => e.isVisible()).map(I);
12829
+ }, B = r(() => N.value.map(R)), ee = k([]), V = () => {
12830
+ ee.value = N.value.filter((e) => e.isVisible()).map(R);
12828
12831
  };
12829
- U(N, B);
12830
- let ee = (e) => {
12832
+ U(N, V);
12833
+ let te = (e) => {
12831
12834
  let t = e.getAllGridColumns();
12832
12835
  return {
12833
12836
  orderedColIds: t.map((e) => e.getColId()),
12834
12837
  hiddenColIds: t.filter((e) => !e.isVisible() && e.getColId() !== M.value).map((e) => e.getColId())
12835
12838
  };
12836
- }, V = (e) => {
12839
+ }, H = (e) => {
12837
12840
  let t = l.value;
12838
12841
  if (!t) return;
12839
12842
  let n = e.map((e) => String(e.id));
12840
- if (ot(n, R.value.map((e) => String(e.id)))) return;
12841
- let r = ee(t), i = new Set(N.value.map((e) => e.getColId())), a = new Set(n), o = r.orderedColIds.filter((e) => i.has(e) && !a.has(e)), s = new Set(o), u = [...n, ...o], d = 0, f = r.orderedColIds.map((e) => i.has(e) ? u[d++] : e);
12843
+ if (ot(n, ee.value.map((e) => String(e.id)))) return;
12844
+ let r = te(t), i = new Set(N.value.map((e) => e.getColId())), a = new Set(n), o = r.orderedColIds.filter((e) => i.has(e) && !a.has(e)), s = new Set(o), u = [...n, ...o], d = 0, f = r.orderedColIds.map((e) => i.has(e) ? u[d++] : e);
12842
12845
  t.applyColumnState({
12843
12846
  state: f.map((e) => i.has(e) ? {
12844
12847
  colId: e,
12845
12848
  hide: s.has(e)
12846
12849
  } : { colId: e }),
12847
12850
  applyOrder: !0
12848
- }), B(), c("column-config-change", {
12849
- ...ee(t),
12851
+ }), V(), c("column-config-change", {
12852
+ ...te(t),
12850
12853
  previousOrderedColIds: r.orderedColIds,
12851
12854
  previousHiddenColIds: r.hiddenColIds
12852
12855
  });
12853
12856
  };
12854
- return (n, r) => (D(), o(t, null, [G((D(), o("div", Xf, [u(ka, {
12857
+ return (n, r) => L.value ? (D(), o(t, { key: 0 }, [G((D(), o("div", Xf, [u(ka, {
12855
12858
  open: v.value,
12856
12859
  label: "Table Configuration",
12857
12860
  icon: "settings",
@@ -12898,14 +12901,14 @@ var Hu = { style: { "line-height": "20px" } }, Uu = { class: "pv-text-subdued pv
12898
12901
  "class-list": ["pv-menu-nested", b.value === "columns" ? "pv-menu-nested-active" : ""],
12899
12902
  onHandleSelected: r[1] ||= (e) => j("columns")
12900
12903
  }, null, 8, ["class-list"])], 8, $f)) : a("", !0),
12901
- s("li", ep, [u(_o, {
12904
+ I.value ? (D(), o("li", ep, [u(_o, {
12902
12905
  config: { variant: "icon" },
12903
12906
  id: "table-config-group-toggle",
12904
12907
  class: "pv-text-subdued",
12905
12908
  text: e.groupedModeEnabled ? "Ungroup Table" : "Group Table to Match Chart",
12906
12909
  icon: e.groupedModeEnabled ? "ungroup" : "group",
12907
12910
  onHandleSelected: E
12908
- }, null, 8, ["text", "icon"])])
12911
+ }, null, 8, ["text", "icon"])])) : a("", !0)
12909
12912
  ])]),
12910
12913
  _: 1
12911
12914
  }, 8, ["class"])])), [[z(et), [T, { ignore: [".pv-popover"] }]]]), u(yo, {
@@ -12949,17 +12952,17 @@ var Hu = { style: { "line-height": "20px" } }, Uu = { class: "pv-text-subdued pv
12949
12952
  "padding-bottom": "6px"
12950
12953
  }
12951
12954
  }, " Currently Viewing ", -1), u(Kf, {
12952
- modelValue: R.value,
12953
- options: L.value,
12955
+ modelValue: ee.value,
12956
+ options: B.value,
12954
12957
  showPlaceholders: !1,
12955
- "onUpdate:modelValue": V
12958
+ "onUpdate:modelValue": H
12956
12959
  }, null, 8, ["modelValue", "options"])], 32)) : a("", !0)]),
12957
12960
  _: 1
12958
12961
  }, 8, [
12959
12962
  "class",
12960
12963
  "css-custom-properties",
12961
12964
  "isList"
12962
- ])], 64));
12965
+ ])], 64)) : a("", !0);
12963
12966
  }
12964
12967
  }), rp = { class: "pv-chart-benchmark-chips pv-flex-vertical" }, ip = ["data-group-name"], ap = { class: "pv-chart-chip-section-label pv-chart-benchmark-chip-section-label" }, op = ["data-loading"], sp = { class: "pv-chart-chip-label pv-flex-item" }, cp = { class: "pv-chart-chip-value" }, lp = /* @__PURE__ */ d({
12965
12968
  __name: "PvBenchmarkChips",
@@ -13881,46 +13884,46 @@ var zp = (e, t) => {
13881
13884
  }), [...r.values()];
13882
13885
  }, Wp = (e) => !!(e.visible && !e.disabled);
13883
13886
  function Gp(e) {
13884
- 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) => Wp(e)).map((e) => e.id))), d = new Map(t.value.map((e) => [e.id, Wp(e)]));
13887
+ 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) => Wp(e)).map((e) => e.id))), u = new Map(t.value.map((e) => [e.id, Wp(e)]));
13885
13888
  U(t, (e) => {
13886
- let t = new Set(u.value), n = !1, r = l?.value !== void 0;
13889
+ let t = new Set(l.value), n = !1, r = c?.value !== void 0;
13887
13890
  for (let i of e) {
13888
- let e = Wp(i), a = d.has(i.id) ? !d.get(i.id) : !r;
13889
- e && a ? (t.add(i.id), n = !0) : !e && d.get(i.id) && (t.delete(i.id), n = !0);
13891
+ let e = Wp(i), a = u.has(i.id) ? !u.get(i.id) : !r;
13892
+ e && a ? (t.add(i.id), n = !0) : !e && u.get(i.id) && (t.delete(i.id), n = !0);
13890
13893
  }
13891
- d = new Map(e.map((e) => [e.id, Wp(e)])), n && (u.value = t);
13894
+ u = new Map(e.map((e) => [e.id, Wp(e)])), n && (l.value = t);
13892
13895
  });
13893
- let f = r(() => Hp(t.value, u.value)), p = r(() => n.value ? Up(t.value, u.value, c) : []), m = k(null);
13896
+ let d = r(() => Hp(t.value, l.value)), f = r(() => Up(t.value, l.value, s)), p = k(null);
13894
13897
  return {
13895
- activeCrosslineOverlayGroups: u,
13896
- resolvedCrosslineOverlays: f,
13897
- chipSections: p,
13898
- hoveredBenchmarkKey: m,
13898
+ activeCrosslineOverlayGroups: l,
13899
+ resolvedCrosslineOverlays: d,
13900
+ chipSections: f,
13901
+ hoveredBenchmarkKey: p,
13899
13902
  hoveredCrosslineTooltip: r(() => {
13900
- if (!m.value || !o.value) return null;
13901
- let e = f.value.find((e) => e.key === m.value);
13903
+ if (!p.value || !a.value) return null;
13904
+ let e = d.value.find((e) => e.key === p.value);
13902
13905
  if (!e) return null;
13903
- let t = zp(e.value, o.value);
13906
+ let t = zp(e.value, a.value);
13904
13907
  if (t == null) return null;
13905
- let r = (s.value?.$el)?.querySelector(".ag-charts-series-area")?.getBoundingClientRect();
13908
+ let r = (o.value?.$el)?.querySelector(".ag-charts-series-area")?.getBoundingClientRect();
13906
13909
  if (!r) return null;
13907
- let l = Vp(t, Bp(o.value.length || 1, i.value && n.value)), u = e.formatValue ? e.formatValue(e.value) : c(e.value);
13908
- return a.value ? {
13910
+ let c = Vp(t, Bp(a.value.length || 1, n.value)), l = e.formatValue ? e.formatValue(e.value) : s(e.value);
13911
+ return i.value ? {
13909
13912
  label: e.label,
13910
- value: u,
13913
+ value: l,
13911
13914
  arrowClass: "ag-charts-tooltip--arrow-left",
13912
13915
  style: {
13913
13916
  "--left": `${r.left + 8}px`,
13914
- "--top": `${r.top + (1 - l) * r.height}px`,
13917
+ "--top": `${r.top + (1 - c) * r.height}px`,
13915
13918
  transform: "translateY(-50%)",
13916
13919
  pointerEvents: "none"
13917
13920
  }
13918
13921
  } : {
13919
13922
  label: e.label,
13920
- value: u,
13923
+ value: l,
13921
13924
  arrowClass: "ag-charts-tooltip--arrow-bottom",
13922
13925
  style: {
13923
- "--left": `${r.left + l * r.width}px`,
13926
+ "--left": `${r.left + c * r.width}px`,
13924
13927
  "--top": `${r.top - 8}px`,
13925
13928
  transform: "translate(-50%, -100%)",
13926
13929
  pointerEvents: "none"
@@ -13967,10 +13970,6 @@ var Kp = { style: {
13967
13970
  type: Boolean,
13968
13971
  default: !0
13969
13972
  },
13970
- useDistributionV2Styling: {
13971
- type: Boolean,
13972
- default: !1
13973
- },
13974
13973
  initialChartData: {},
13975
13974
  enableChartScrolling: {
13976
13975
  type: Boolean,
@@ -14374,7 +14373,7 @@ var Kp = { style: {
14374
14373
  });
14375
14374
  }
14376
14375
  });
14377
- let Be = (e) => e?.label ?? "", Ve = r(() => Be(ne(V.value, Q.value))), He = r(() => ne(H.value, Ne.value)), Ue = r(() => Be(He.value)), We = r(() => Oe.value.isHorizontal === !0), Ge = r(() => P.value.length > 1), Ke = r(() => !we.value || V.value.length === 0 ? [] : Oe.value.seriesFamily === "pie" ? Qe.value : Ze.value), qe = r(() => we.value?.id === "histogram" && l.useDistributionV2Styling ? !1 : l.showSeriesLabels), Je = r(() => we.value?.id.includes("stacked")), Ye = r(() => P.value.length > 1), Xe = r(() => we.value?.id === "histogram" && at.value && at.value.length > 0 && typeof at.value[0]?.bucketMin == "number" && typeof at.value[0]?.bucketMax == "number"), Ze = r(() => {
14376
+ let Be = (e) => e?.label ?? "", Ve = r(() => Be(ne(V.value, Q.value))), He = r(() => ne(H.value, Ne.value)), Ue = r(() => Be(He.value)), We = r(() => Oe.value.isHorizontal === !0), Ge = r(() => P.value.length > 1), Ke = r(() => !we.value || V.value.length === 0 ? [] : Oe.value.seriesFamily === "pie" ? Qe.value : Ze.value), qe = r(() => we.value?.id === "histogram" ? !1 : l.showSeriesLabels), Je = r(() => we.value?.id.includes("stacked")), Ye = r(() => P.value.length > 1), Xe = r(() => we.value?.id === "histogram" && at.value && at.value.length > 0 && typeof at.value[0]?.bucketMin == "number" && typeof at.value[0]?.bucketMax == "number"), Ze = r(() => {
14378
14377
  let e = Je.value, t = Oe.value.agChartType, n = [], r = ve(Q.value, !0), i = ve(Fe.value?.fieldName, !0), a = (e) => t === "line" ? {} : { placement: e };
14379
14378
  if (Ge.value) Fe.value?.fieldValues.forEach((o) => {
14380
14379
  let s = {
@@ -14475,7 +14474,7 @@ var Kp = { style: {
14475
14474
  label: { enabled: !1 },
14476
14475
  tooltip: { enabled: !1 },
14477
14476
  visible: !1
14478
- }, { categoryPadOffset: i } = Bp(e, Xe.value && l.useDistributionV2Styling), a = {
14477
+ }, { categoryPadOffset: i } = Bp(e, !0), a = {
14479
14478
  type: "scatter",
14480
14479
  xKey: "__dummy_x__",
14481
14480
  yKey: "__dummy_y__",
@@ -14678,7 +14677,6 @@ var Kp = { style: {
14678
14677
  return e;
14679
14678
  }), { activeCrosslineOverlayGroups: st, resolvedCrosslineOverlays: ct, chipSections: lt, hoveredBenchmarkKey: ut, hoveredCrosslineTooltip: dt } = Gp({
14680
14679
  crosslineOverlayGroups: Pe,
14681
- useDistributionV2Styling: r(() => l.useDistributionV2Styling),
14682
14680
  isHistogramWithBuckets: Xe,
14683
14681
  isHorizontalBarChart: We,
14684
14682
  computedChartData: at,
@@ -14777,22 +14775,22 @@ var Kp = { style: {
14777
14775
  }), zt = r(() => Lt.value || ce.value || !l.isLoading && Rt.value !== ""), Bt = r(() => {
14778
14776
  let e = {};
14779
14777
  e.overlays = { noData: { text: "" } };
14780
- let t = Xe.value && l.useDistributionV2Styling, n = t ? [
14778
+ let t = Xe.value ? [
14781
14779
  { [I.value]: Jo },
14782
14780
  ...at.value ?? [],
14783
14781
  { [I.value]: Yo }
14784
14782
  ] : at.value;
14785
- e.data = zt.value ? [] : n, e.legend = {
14783
+ e.data = zt.value ? [] : t, e.legend = {
14786
14784
  toggleSeries: !1,
14787
14785
  preventHidingAll: !0,
14788
14786
  enabled: P.value.length > 1
14789
14787
  };
14790
- let r = Ge.value ? Fe.value?.fieldValues.map((e) => Ss(Q.value, e)) || [] : Q.value ? [Q.value] : [], i = (() => {
14788
+ let n = Ge.value ? Fe.value?.fieldValues.map((e) => Ss(Q.value, e)) || [] : Q.value ? [Q.value] : [], r = (() => {
14791
14789
  if (!Ne.value) return [];
14792
14790
  let e = Ne.value;
14793
14791
  return Je.value ? [`${e}${Qo}`] : Ge.value ? Fe.value?.fieldValues.map((t) => Ss(e, String(t))) || [] : [e];
14794
- })(), a = Oe.value.xAxis.hideLabel === !0 && !t, o = [];
14795
- if (o.push({
14792
+ })(), i = Oe.value.xAxis.hideLabel === !0 && !Xe.value, a = [];
14793
+ if (a.push({
14796
14794
  type: "category",
14797
14795
  keys: [I.value],
14798
14796
  position: We.value ? "left" : "bottom",
@@ -14810,10 +14808,10 @@ var Kp = { style: {
14810
14808
  autoRotate: !0,
14811
14809
  truncate: !1,
14812
14810
  wrapping: "never",
14813
- ...t ? { spacing: 2 } : {},
14811
+ ...Xe.value ? { spacing: 2 } : {},
14814
14812
  formatter: Os({
14815
- hideLabel: a,
14816
- showDistributionRangeLabels: !!t,
14813
+ hideLabel: i,
14814
+ showDistributionRangeLabels: !!Xe.value,
14817
14815
  chartData: at.value,
14818
14816
  formatBucketBoundary: Se,
14819
14817
  columnValueFormatter: ve(I.value),
@@ -14823,71 +14821,71 @@ var Kp = { style: {
14823
14821
  })
14824
14822
  },
14825
14823
  paddingInner: Nt.value,
14826
- paddingOuter: t ? 0 : Pt.value,
14824
+ paddingOuter: Xe.value ? 0 : Pt.value,
14827
14825
  groupPaddingInner: Ft.value
14828
14826
  }), Xe.value && ct.value.length > 0) {
14829
- let { categoryPadOffset: e, axisMin: n, axisMax: r } = Bp(at.value?.length || 1, t);
14830
- o.push({
14827
+ let { categoryPadOffset: e, axisMin: t, axisMax: n } = Bp(at.value?.length || 1, !0);
14828
+ a.push({
14831
14829
  type: "number",
14832
14830
  keys: ["__dummy_x__"],
14833
14831
  position: We.value ? "left" : "bottom",
14834
14832
  crosshair: { enabled: !1 },
14835
- min: n,
14836
- max: r,
14833
+ min: t,
14834
+ max: n,
14837
14835
  nice: !1,
14838
14836
  label: { enabled: !1 },
14839
14837
  tick: { enabled: !1 },
14840
14838
  line: { enabled: !1 },
14841
14839
  gridLine: { enabled: !1 },
14842
- crossLines: ct.value.map((n) => {
14840
+ crossLines: ct.value.map((t) => {
14843
14841
  if (!at.value) return null;
14844
- let r = zp(n.value, at.value);
14845
- if (r == null) return null;
14846
- let i = ut.value != null && n.key === ut.value, a = ut.value != null && !i;
14842
+ let n = zp(t.value, at.value);
14843
+ if (n == null) return null;
14844
+ let r = ut.value != null && t.key === ut.value, i = ut.value != null && !r;
14847
14845
  return {
14848
14846
  type: "line",
14849
- value: r + e,
14850
- stroke: n.color || (t ? "#E7E2D9" : "#7C8AF4"),
14851
- strokeWidth: i ? 3 : 2,
14852
- strokeOpacity: a ? .2 : i ? 1 : .8,
14847
+ value: n + e,
14848
+ stroke: t.color || "#E7E2D9",
14849
+ strokeWidth: r ? 3 : 2,
14850
+ strokeOpacity: i ? .2 : r ? 1 : .8,
14853
14851
  lineDash: [6, 3]
14854
14852
  };
14855
14853
  }).filter((e) => e !== null)
14856
14854
  });
14857
14855
  }
14858
- 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 ? _s(Ot.value, 5) : 0, m = s ? c ?? _s(kt.value, 5) : 0, h = s && !f && p > 0 && m > 0;
14859
- if (o.push({
14856
+ 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 ? _s(Ot.value, 5) : 0, p = o ? s ?? _s(kt.value, 5) : 0, m = o && !d && f > 0 && p > 0;
14857
+ if (a.push({
14860
14858
  type: "number",
14861
- keys: r,
14859
+ keys: n,
14862
14860
  position: We.value ? "bottom" : "left",
14863
- ...h ? {
14861
+ ...m ? {
14864
14862
  min: 0,
14865
- max: p,
14863
+ max: f,
14866
14864
  nice: !1,
14867
- interval: { step: p / 5 }
14865
+ interval: { step: f / 5 }
14868
14866
  } : {},
14869
14867
  label: { formatter: ve(Q.value) },
14870
14868
  title: {
14871
14869
  enabled: !0,
14872
14870
  text: Ve.value
14873
14871
  }
14874
- }), s && o.push({
14872
+ }), o && a.push({
14875
14873
  type: "number",
14876
- keys: i,
14874
+ keys: r,
14877
14875
  position: We.value ? "top" : "right",
14878
14876
  crosshair: { enabled: !1 },
14879
- ...h ? {
14877
+ ...m ? {
14880
14878
  min: 0,
14881
- max: m,
14879
+ max: p,
14882
14880
  nice: !1,
14883
- interval: { step: m / 5 }
14881
+ interval: { step: p / 5 }
14884
14882
  } : {
14885
- ...d ? {} : { min: 0 },
14886
- ...c === void 0 ? {} : {
14887
- max: c,
14883
+ ...u ? {} : { min: 0 },
14884
+ ...s === void 0 ? {} : {
14885
+ max: s,
14888
14886
  nice: !1
14889
14887
  },
14890
- ...f ? { gridLine: { enabled: !1 } } : {}
14888
+ ...d ? { gridLine: { enabled: !1 } } : {}
14891
14889
  },
14892
14890
  label: { color: _t },
14893
14891
  title: {
@@ -14897,7 +14895,7 @@ var Kp = { style: {
14897
14895
  }
14898
14896
  }), Xe.value && ct.value.length > 0) {
14899
14897
  let e = Number.isFinite(Ot.value) ? Ot.value : 0;
14900
- o.push({
14898
+ a.push({
14901
14899
  type: "number",
14902
14900
  keys: ["__dummy_y__"],
14903
14901
  position: "left",
@@ -14911,7 +14909,7 @@ var Kp = { style: {
14911
14909
  gridLine: { enabled: !1 }
14912
14910
  });
14913
14911
  }
14914
- return e.axes = o, e.series = Ke.value, e;
14912
+ return e.axes = a, e.series = Ke.value, e;
14915
14913
  }), Vt = r(() => E.value || l.isLoading && (!at.value || at.value.length === 0)), Ht = r(() => Lt.value || !ce.value && !l.isLoading && Rt.value !== ""), Ut = (e) => {
14916
14914
  b.value = e, d("chart-collapsed", e);
14917
14915
  }, Wt = (e) => {