@kong-ui-public/dashboard-renderer 8.12.2 → 8.12.3

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.
@@ -3,8 +3,8 @@ var Nt = (a) => {
3
3
  throw TypeError(a);
4
4
  };
5
5
  var qi = (a, e, t) => e in a ? Mi(a, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : a[e] = t;
6
- var Lt = (a, e, t) => qi(a, typeof e != "symbol" ? e + "" : e, t), dt = (a, e, t) => e.has(a) || Nt("Cannot " + t);
7
- var _ = (a, e, t) => (dt(a, e, "read from private field"), t ? t.call(a) : e.get(a)), U = (a, e, t) => e.has(a) ? Nt("Cannot add the same private member more than once") : e instanceof WeakSet ? e.add(a) : e.set(a, t), $ = (a, e, t, i) => (dt(a, e, "write to private field"), i ? i.call(a, t) : e.set(a, t), t), K = (a, e, t) => (dt(a, e, "access private method"), t);
6
+ var Lt = (a, e, t) => qi(a, typeof e != "symbol" ? e + "" : e, t), ht = (a, e, t) => e.has(a) || Nt("Cannot " + t);
7
+ var _ = (a, e, t) => (ht(a, e, "read from private field"), t ? t.call(a) : e.get(a)), U = (a, e, t) => e.has(a) ? Nt("Cannot add the same private member more than once") : e instanceof WeakSet ? e.add(a) : e.set(a, t), $ = (a, e, t, i) => (ht(a, e, "write to private field"), i ? i.call(a, t) : e.set(a, t), t), K = (a, e, t) => (ht(a, e, "access private method"), t);
8
8
  var ze = (a, e, t, i) => ({
9
9
  set _(s) {
10
10
  $(a, e, s, t);
@@ -13,13 +13,13 @@ var ze = (a, e, t, i) => ({
13
13
  return _(a, e, i);
14
14
  }
15
15
  });
16
- import { ref as A, watchEffect as Xt, inject as me, provide as Pi, toRaw as $i, computed as v, isRef as Bi, isReactive as Fi, toRef as Ye, hasInjectionContext as At, onMounted as rt, watch as Ne, onUnmounted as Pe, getCurrentInstance as Gi, defineComponent as J, resolveComponent as le, unref as E, openBlock as R, createBlock as L, createSlots as nt, withCtx as M, createElementVNode as ee, toDisplayString as te, renderSlot as Le, createCommentVNode as X, normalizeStyle as je, normalizeClass as Se, createVNode as ge, mergeProps as Zt, createTextVNode as ot, createElementBlock as G, normalizeProps as Ui, guardReactiveProps as Wi, defineAsyncComponent as Jt, Fragment as pt, useCssVars as yt, useModel as ei, readonly as ct, nextTick as vt, resolveDynamicComponent as ti, toHandlers as Ki, mergeModels as Xe, renderList as ii, useTemplateRef as Ot } from "vue";
17
- import { msToGranularity as ft, TimePeriods as Qi, TIMEFRAME_LOOKUP as Vi, formatTime as Ht, EXPORT_RECORD_LIMIT as Yi } from "@kong-ui-public/analytics-utilities";
16
+ import { ref as A, watchEffect as Xt, inject as me, provide as Pi, toRaw as $i, computed as v, isRef as Bi, isReactive as Fi, toRef as Ye, hasInjectionContext as At, onMounted as rt, watch as Ne, onUnmounted as Pe, getCurrentInstance as Gi, defineComponent as ee, resolveComponent as le, unref as E, openBlock as x, createBlock as L, createSlots as nt, withCtx as M, createElementVNode as te, toDisplayString as J, renderSlot as Le, createCommentVNode as X, normalizeStyle as je, normalizeClass as Se, createVNode as ge, mergeProps as Zt, createTextVNode as mt, createElementBlock as B, normalizeProps as Ui, guardReactiveProps as Wi, defineAsyncComponent as Jt, Fragment as pt, useCssVars as yt, useModel as ei, readonly as dt, nextTick as vt, resolveDynamicComponent as ti, toHandlers as Ki, mergeModels as Xe, renderList as ii, useTemplateRef as Ot } from "vue";
17
+ import { msToGranularity as ct, TimePeriods as Qi, TIMEFRAME_LOOKUP as Vi, formatTime as Ht, EXPORT_RECORD_LIMIT as Yi } from "@kong-ui-public/analytics-utilities";
18
18
  import { handleQueryError as ji, SimpleChart as Xi, AnalyticsChart as Zi, TopNTable as Ji, CsvExportModal as es } from "@kong-ui-public/analytics-chart";
19
19
  import ts from "swrv";
20
20
  import "axios";
21
21
  import { createI18n as is, i18nTComponent as ss } from "@kong-ui-public/i18n";
22
- import { useAnalyticsConfigStore as _t, useDatasourceConfigStore as at } from "@kong-ui-public/analytics-config-store";
22
+ import { useAnalyticsConfigStore as _t, useDatasourceConfigStore as ot } from "@kong-ui-public/analytics-config-store";
23
23
  import { VisibilityOffIcon as rs, WarningOutlineIcon as ns, WarningIcon as os, ProgressIcon as as, RefreshIcon as ls, EditIcon as us, MoreIcon as hs } from "@kong/icons";
24
24
  import { MetricsProvider as ds, MetricsConsumer as cs } from "@kong-ui-public/analytics-metric-provider";
25
25
  import { TableDataGrid as fs } from "@kong-ui-public/table-data-grid";
@@ -360,7 +360,7 @@ class Ms {
360
360
  }
361
361
  }
362
362
  re = new WeakMap();
363
- var xe, Ce, ve, He, Re, Ie, ne, ke, Z, Me, oe, Te, pe, qe, st, N, oi, ai, li, ui, hi, Ke, gt, mt, Qe, di, Ve;
363
+ var xe, Ce, ve, He, Re, Ie, ne, ke, Z, Me, oe, Te, pe, qe, st, N, oi, ai, li, ui, hi, Ke, ft, gt, Qe, di, Ve;
364
364
  class qs extends As {
365
365
  // TODO: The `throwOnTimeout` option should affect the return types of `add()` and `addAll()`
366
366
  constructor(t) {
@@ -559,7 +559,7 @@ xe = new WeakMap(), Ce = new WeakMap(), ve = new WeakMap(), He = new WeakMap(),
559
559
  }, li = function() {
560
560
  ze(this, oe)._--, K(this, N, Ke).call(this), this.emit("next");
561
561
  }, ui = function() {
562
- K(this, N, mt).call(this), K(this, N, gt).call(this), $(this, ke, void 0);
562
+ K(this, N, gt).call(this), K(this, N, ft).call(this), $(this, ke, void 0);
563
563
  }, hi = function() {
564
564
  const t = Date.now();
565
565
  if (_(this, ne) === void 0) {
@@ -579,15 +579,15 @@ xe = new WeakMap(), Ce = new WeakMap(), ve = new WeakMap(), He = new WeakMap(),
579
579
  const t = !_(this, N, hi);
580
580
  if (_(this, N, oi) && _(this, N, ai)) {
581
581
  const i = _(this, Z).dequeue();
582
- return i ? (this.emit("active"), i(), t && K(this, N, gt).call(this), !0) : !1;
582
+ return i ? (this.emit("active"), i(), t && K(this, N, ft).call(this), !0) : !1;
583
583
  }
584
584
  }
585
585
  return !1;
586
- }, gt = function() {
586
+ }, ft = function() {
587
587
  _(this, Ce) || _(this, ne) !== void 0 || ($(this, ne, setInterval(() => {
588
- K(this, N, mt).call(this);
588
+ K(this, N, gt).call(this);
589
589
  }, _(this, Re))), $(this, Ie, Date.now() + _(this, Re)));
590
- }, mt = function() {
590
+ }, gt = function() {
591
591
  _(this, ve) === 0 && _(this, oe) === 0 && _(this, ne) && (clearInterval(_(this, ne)), $(this, ne, void 0)), $(this, ve, _(this, xe) ? _(this, oe) : 0), K(this, N, Qe).call(this);
592
592
  }, /**
593
593
  Executes all queued functions until it reaches the limit.
@@ -678,7 +678,7 @@ function Fs({
678
678
  definition: t,
679
679
  chartData: i
680
680
  }) {
681
- const s = A(""), r = A(""), o = A(void 0), n = A(void 0), d = _t(), l = at(), { stripUnknownFilters: h, loading: u } = wt(l);
681
+ const s = A(""), r = A(""), o = A(void 0), n = A(void 0), d = _t(), l = ot(), { stripUnknownFilters: h, loading: u } = wt(l);
682
682
  rt(async () => {
683
683
  var z, q;
684
684
  s.value = await ((z = a == null ? void 0 : a.exploreBaseUrl) == null ? void 0 : z.call(a)) ?? "", r.value = await ((q = a == null ? void 0 : a.requestsBaseUrl) == null ? void 0 : q.call(a)) ?? "";
@@ -686,7 +686,7 @@ function Fs({
686
686
  const f = v(() => d.analytics && d.percentiles), g = v(() => {
687
687
  const z = t.value.chart.type;
688
688
  return ["golden_signals", "gauge"].includes(z) ? !1 : z === "top_n" ? e.value.editable || e.value.showTileActions : !0;
689
- }), p = v(() => r.value && t.value.query && t.value.query.datasource !== "llm_usage" && t.value.query.datasource !== "platform" && f.value && !u.value), y = v(() => s.value && t.value.query && Bs.includes(t.value.query.datasource) && f.value && !u.value), m = v(() => i.value ? ft(i.value.meta.granularity_ms) : void 0), T = v(() => {
689
+ }), p = v(() => r.value && t.value.query && t.value.query.datasource !== "llm_usage" && t.value.query.datasource !== "platform" && f.value && !u.value), y = v(() => s.value && t.value.query && Bs.includes(t.value.query.datasource) && f.value && !u.value), m = v(() => i.value ? ct(i.value.meta.granularity_ms) : void 0), T = v(() => {
690
690
  var he;
691
691
  const z = [...e.value.filters, ...t.value.query.filters ?? []], q = t.value.query.metrics, W = ((he = t.value.query) == null ? void 0 : he.datasource) ?? "api_usage";
692
692
  return h.value({
@@ -708,8 +708,8 @@ function Fs({
708
708
  );
709
709
  return O(q);
710
710
  }), O = (z) => p.value ? `${r.value}?q=${JSON.stringify(z)}` : "", I = (z, q) => {
711
- var D, H, B, P;
712
- const W = (H = (D = i.value) == null ? void 0 : D.meta) != null && H.start ? new Date(i.value.meta.start) : void 0, he = (P = (B = i.value) == null ? void 0 : B.meta) != null && P.end ? new Date(i.value.meta.end) : void 0;
711
+ var D, H, F, P;
712
+ const W = (H = (D = i.value) == null ? void 0 : D.meta) != null && H.start ? new Date(i.value.meta.start) : void 0, he = (P = (F = i.value) == null ? void 0 : F.meta) != null && P.end ? new Date(i.value.meta.end) : void 0;
713
713
  return {
714
714
  filter: q,
715
715
  timeframe: {
@@ -757,7 +757,7 @@ function Fs({
757
757
  };
758
758
  }
759
759
  function Gs() {
760
- const a = me(ye), e = at(), { stripUnknownFilters: t } = wt(e), i = new AbortController();
760
+ const a = me(ye), e = ot(), { stripUnknownFilters: t } = wt(e), i = new AbortController();
761
761
  return Pe(() => {
762
762
  i.abort();
763
763
  }), { issueQuery: async (r, o, n) => {
@@ -845,7 +845,7 @@ const ae = {
845
845
  useI18n: Cs,
846
846
  useIssueQuery: Gs,
847
847
  useRequestQueue: Ps
848
- }, Et = /* @__PURE__ */ J({
848
+ }, Et = /* @__PURE__ */ ee({
849
849
  __name: "QueryDataProvider",
850
850
  props: {
851
851
  context: {},
@@ -875,11 +875,11 @@ const ae = {
875
875
  }), (m, T) => {
876
876
  var O;
877
877
  const k = le("KSkeleton"), w = le("KEmptyState");
878
- return y.value || !E(d) && !p.value ? (R(), L(k, {
878
+ return y.value || !E(d) && !p.value ? (x(), L(k, {
879
879
  key: 0,
880
880
  class: "chart-skeleton",
881
881
  type: "table"
882
- })) : p.value ? (R(), L(w, {
882
+ })) : p.value ? (x(), L(w, {
883
883
  key: 1,
884
884
  "action-button-visible": !1,
885
885
  "data-testid": "chart-empty-state"
@@ -887,13 +887,13 @@ const ae = {
887
887
  icon: M(() => {
888
888
  var I;
889
889
  return [
890
- ((I = g.value) == null ? void 0 : I.type) === "forbidden" ? (R(), L(E(rs), { key: 0 })) : (R(), L(E(ns), { key: 1 }))
890
+ ((I = g.value) == null ? void 0 : I.type) === "forbidden" ? (x(), L(E(rs), { key: 0 })) : (x(), L(E(ns), { key: 1 }))
891
891
  ];
892
892
  }),
893
893
  title: M(() => {
894
894
  var I;
895
895
  return [
896
- ee("p", null, te(((I = g.value) == null ? void 0 : I.message) || E(s).t("renderer.unexpectedError")), 1)
896
+ te("p", null, J(((I = g.value) == null ? void 0 : I.message) || E(s).t("renderer.unexpectedError")), 1)
897
897
  ];
898
898
  }),
899
899
  _: 2
@@ -901,7 +901,7 @@ const ae = {
901
901
  (O = g.value) != null && O.details ? {
902
902
  name: "default",
903
903
  fn: M(() => [
904
- ee("p", null, te(g.value.details), 1)
904
+ te("p", null, J(g.value.details), 1)
905
905
  ]),
906
906
  key: "0"
907
907
  } : void 0
@@ -911,7 +911,7 @@ const ae = {
911
911
  }) : X("", !0);
912
912
  };
913
913
  }
914
- }), Ws = /* @__PURE__ */ J({
914
+ }), Ws = /* @__PURE__ */ ee({
915
915
  __name: "SimpleChartRenderer",
916
916
  props: {
917
917
  query: {},
@@ -925,14 +925,14 @@ const ae = {
925
925
  },
926
926
  setup(a) {
927
927
  const e = a, t = v(() => e.chartOptions.type === "single_value");
928
- return (i, s) => (R(), L(Et, {
928
+ return (i, s) => (x(), L(Et, {
929
929
  context: a.context,
930
930
  query: a.query,
931
931
  "query-ready": a.queryReady,
932
932
  "refresh-counter": a.refreshCounter
933
933
  }, {
934
934
  default: M(({ data: r }) => [
935
- ee("div", {
935
+ te("div", {
936
936
  class: Se(["analytics-chart", { "single-value": t.value }]),
937
937
  style: je(t.value ? void 0 : { height: `${a.height}px` })
938
938
  }, [
@@ -951,7 +951,7 @@ const ae = {
951
951
  for (const [i, s] of e)
952
952
  t[i] = s;
953
953
  return t;
954
- }, Ft = /* @__PURE__ */ _e(Ws, [["__scopeId", "data-v-2cbfac70"]]), Ks = { class: "analytics-chart" }, Qs = /* @__PURE__ */ J({
954
+ }, Ft = /* @__PURE__ */ _e(Ws, [["__scopeId", "data-v-2cbfac70"]]), Ks = { class: "analytics-chart" }, Qs = /* @__PURE__ */ ee({
955
955
  __name: "BaseAnalyticsChartRenderer",
956
956
  props: {
957
957
  query: {},
@@ -979,7 +979,7 @@ const ae = {
979
979
  };
980
980
  return (l, h) => {
981
981
  const u = le("KDropdownItem");
982
- return R(), L(Et, {
982
+ return x(), L(Et, {
983
983
  context: a.context,
984
984
  query: a.query,
985
985
  "query-ready": a.queryReady,
@@ -987,7 +987,7 @@ const ae = {
987
987
  onChartData: d
988
988
  }, {
989
989
  default: M(({ data: f }) => [
990
- ee("div", Ks, [
990
+ te("div", Ks, [
991
991
  ge(E(Zi), Zt({
992
992
  "chart-data": f,
993
993
  "chart-options": r.value,
@@ -1006,7 +1006,7 @@ const ae = {
1006
1006
  fn: M(() => [
1007
1007
  ge(u, { onClick: n }, {
1008
1008
  default: M(() => [
1009
- ot(te(E(s).t("renderer.edit")), 1)
1009
+ mt(J(E(s).t("renderer.edit")), 1)
1010
1010
  ]),
1011
1011
  _: 1
1012
1012
  })
@@ -1020,7 +1020,7 @@ const ae = {
1020
1020
  }, 8, ["context", "query", "query-ready", "refresh-counter"]);
1021
1021
  };
1022
1022
  }
1023
- }), xt = /* @__PURE__ */ _e(Qs, [["__scopeId", "data-v-e1e7f610"]]), Gt = /* @__PURE__ */ J({
1023
+ }), xt = /* @__PURE__ */ _e(Qs, [["__scopeId", "data-v-e1e7f610"]]), Gt = /* @__PURE__ */ ee({
1024
1024
  __name: "BarChartRenderer",
1025
1025
  props: {
1026
1026
  query: {},
@@ -1033,7 +1033,7 @@ const ae = {
1033
1033
  exploreLink: {}
1034
1034
  },
1035
1035
  setup(a) {
1036
- return (e, t) => (R(), L(xt, {
1036
+ return (e, t) => (x(), L(xt, {
1037
1037
  "chart-options": a.chartOptions,
1038
1038
  context: a.context,
1039
1039
  "extra-props": { showAnnotations: !1 },
@@ -1043,7 +1043,7 @@ const ae = {
1043
1043
  "refresh-counter": a.refreshCounter
1044
1044
  }, null, 8, ["chart-options", "context", "height", "query", "query-ready", "refresh-counter"]));
1045
1045
  }
1046
- }), Ut = /* @__PURE__ */ J({
1046
+ }), Ut = /* @__PURE__ */ ee({
1047
1047
  __name: "TimeseriesChartRenderer",
1048
1048
  props: {
1049
1049
  query: {},
@@ -1058,7 +1058,7 @@ const ae = {
1058
1058
  emits: ["zoom-time-range", "select-chart-range"],
1059
1059
  setup(a, { emit: e }) {
1060
1060
  const t = e;
1061
- return (i, s) => (R(), L(xt, {
1061
+ return (i, s) => (x(), L(xt, {
1062
1062
  "chart-options": a.chartOptions,
1063
1063
  context: a.context,
1064
1064
  "explore-link": a.exploreLink,
@@ -1071,7 +1071,7 @@ const ae = {
1071
1071
  onZoomTimeRange: s[1] || (s[1] = (r) => t("zoom-time-range", r))
1072
1072
  }, null, 8, ["chart-options", "context", "explore-link", "height", "query", "query-ready", "refresh-counter", "requests-link"]));
1073
1073
  }
1074
- }), Vs = /* @__PURE__ */ J({
1074
+ }), Vs = /* @__PURE__ */ ee({
1075
1075
  __name: "GoldenSignalsRenderer",
1076
1076
  props: {
1077
1077
  query: {},
@@ -1101,7 +1101,7 @@ const ae = {
1101
1101
  refreshCounter: e.refreshCounter
1102
1102
  };
1103
1103
  });
1104
- return (i, s) => (R(), G("div", {
1104
+ return (i, s) => (x(), B("div", {
1105
1105
  class: Se(["metric-card-tile-wrapper", { titled: !!e.chartOptions.chart_title }])
1106
1106
  }, [
1107
1107
  ge(E(ds), Ui(Wi(t.value)), {
@@ -1115,15 +1115,15 @@ const ae = {
1115
1115
  }), Ys = /* @__PURE__ */ _e(Vs, [["__scopeId", "data-v-b77f52b8"]]), js = {
1116
1116
  class: "fallback-entity-link",
1117
1117
  "data-testid": "entity-link-parent"
1118
- }, Wt = /* @__PURE__ */ J({
1118
+ }, Wt = /* @__PURE__ */ ee({
1119
1119
  __name: "FallbackEntityLink",
1120
1120
  props: {
1121
1121
  entityLinkData: {}
1122
1122
  },
1123
1123
  setup(a) {
1124
- return (e, t) => (R(), G("div", js, te(a.entityLinkData.label), 1));
1124
+ return (e, t) => (x(), B("div", js, J(a.entityLinkData.label), 1));
1125
1125
  }
1126
- }), Xs = /* @__PURE__ */ J({
1126
+ }), Xs = { key: 0 }, Zs = { key: 1 }, Js = /* @__PURE__ */ ee({
1127
1127
  __name: "TopNTableRenderer",
1128
1128
  props: {
1129
1129
  query: {},
@@ -1162,7 +1162,7 @@ const ae = {
1162
1162
  return h.replace(It, l.id);
1163
1163
  return "";
1164
1164
  };
1165
- return (l, h) => (R(), L(Et, {
1165
+ return (l, h) => (x(), L(Et, {
1166
1166
  context: a.context,
1167
1167
  query: a.query,
1168
1168
  "query-ready": a.queryReady,
@@ -1176,7 +1176,7 @@ const ae = {
1176
1176
  s.value ? {
1177
1177
  name: "name",
1178
1178
  fn: M(({ record: f }) => [
1179
- n(f) ? (R(), L(E(i), {
1179
+ !f.isEmpty && n(f) ? (x(), L(E(i), {
1180
1180
  key: 0,
1181
1181
  "entity-link-data": {
1182
1182
  id: f.id,
@@ -1184,8 +1184,8 @@ const ae = {
1184
1184
  deleted: f.deleted
1185
1185
  },
1186
1186
  "external-link": d(f)
1187
- }, null, 8, ["entity-link-data", "external-link"])) : (R(), G(pt, { key: 1 }, [
1188
- ot(te(f.name), 1)
1187
+ }, null, 8, ["entity-link-data", "external-link"])) : (x(), B(pt, { key: 1 }, [
1188
+ f.name === "empty" ? (x(), B("i", Xs, J(f.name), 1)) : (x(), B("span", Zs, J(f.name), 1))
1189
1189
  ], 64))
1190
1190
  ]),
1191
1191
  key: "0"
@@ -1195,7 +1195,7 @@ const ae = {
1195
1195
  _: 1
1196
1196
  }, 8, ["context", "query", "query-ready", "refresh-counter"]));
1197
1197
  }
1198
- }), Zs = (a) => a.records.map((e) => {
1198
+ }), er = (a) => a.records.map((e) => {
1199
1199
  const t = { ...e };
1200
1200
  return Object.entries(e).forEach(([i, s]) => {
1201
1201
  var o, n, d;
@@ -1204,7 +1204,7 @@ const ae = {
1204
1204
  const r = (d = (n = (o = a.meta.display) == null ? void 0 : o[i]) == null ? void 0 : n[String(s)]) == null ? void 0 : d.name;
1205
1205
  r && (t[i] = r);
1206
1206
  }), t;
1207
- }), Js = {
1207
+ }), tr = {
1208
1208
  /**
1209
1209
  * Builds platform table headers from configured or response-provided column names.
1210
1210
  * Known chart label translations are reused for user-facing labels, with the raw column as fallback.
@@ -1226,7 +1226,7 @@ const ae = {
1226
1226
  label: a(s) ? t(s) : i
1227
1227
  };
1228
1228
  })
1229
- }, er = {
1229
+ }, ir = {
1230
1230
  /**
1231
1231
  * Fetches one page of platform tabular rows, applying dashboard context filters and
1232
1232
  * forwarding the datasource-aware query to AnalyticsBridge.tabularQueryFn.
@@ -1272,12 +1272,12 @@ const ae = {
1272
1272
  }
1273
1273
  }, a);
1274
1274
  return (u = h.meta.columns) != null && u.length && (r == null || r(h.meta.columns)), {
1275
- data: Zs(h),
1275
+ data: er(h),
1276
1276
  cursor: h.meta.cursor,
1277
1277
  hasMore: !!h.meta.cursor
1278
1278
  };
1279
1279
  }
1280
- }, tr = /* @__PURE__ */ J({
1280
+ }, sr = /* @__PURE__ */ ee({
1281
1281
  __name: "TableDataGridRenderer",
1282
1282
  props: {
1283
1283
  query: {},
@@ -1288,7 +1288,7 @@ const ae = {
1288
1288
  },
1289
1289
  emits: ["loading-change"],
1290
1290
  setup(a, { emit: e }) {
1291
- const t = a, i = e, s = me(ye), r = at(), { i18n: o } = ae.useI18n(), n = new AbortController(), d = A([]), l = A(!1), h = v(() => t.height === void 0 ? void 0 : { height: `${t.height}px` }), u = v(() => ({
1291
+ const t = a, i = e, s = me(ye), r = ot(), { i18n: o } = ae.useI18n(), n = new AbortController(), d = A([]), l = A(!1), h = v(() => t.height === void 0 ? void 0 : { height: `${t.height}px` }), u = v(() => ({
1292
1292
  datasource: t.query.datasource,
1293
1293
  query: {
1294
1294
  columns: t.query.columns,
@@ -1303,7 +1303,7 @@ const ae = {
1303
1303
  });
1304
1304
  const f = v(() => {
1305
1305
  var y;
1306
- return Js[t.query.datasource]({
1306
+ return tr[t.query.datasource]({
1307
1307
  // query.columns are optional in the API. If not provided, backend will return default columns.
1308
1308
  // If query columns are not provided, fallback to using columns from the response metadata for header configuration.
1309
1309
  columns: (y = t.query.columns) != null && y.length ? t.query.columns : d.value,
@@ -1313,7 +1313,7 @@ const ae = {
1313
1313
  }), g = v(() => async ({ cursor: y, pageSize: m }) => {
1314
1314
  try {
1315
1315
  await r.isReady();
1316
- const T = er[u.value.datasource];
1316
+ const T = ir[u.value.datasource];
1317
1317
  if (!T)
1318
1318
  throw new Error(`No table data grid fetcher found for datasource: ${u.value.datasource}`);
1319
1319
  const k = await T({
@@ -1337,11 +1337,11 @@ const ae = {
1337
1337
  };
1338
1338
  return (y, m) => {
1339
1339
  const T = le("KSkeleton");
1340
- return R(), G("div", {
1340
+ return x(), B("div", {
1341
1341
  class: "table-data-grid-renderer",
1342
1342
  style: je(h.value)
1343
1343
  }, [
1344
- a.queryReady ? (R(), L(E(fs), {
1344
+ a.queryReady ? (x(), L(E(fs), {
1345
1345
  key: 1,
1346
1346
  error: l.value,
1347
1347
  fetcher: g.value,
@@ -1349,7 +1349,7 @@ const ae = {
1349
1349
  "page-size": a.query.page_size,
1350
1350
  "refresh-key": a.refreshCounter,
1351
1351
  onState: p
1352
- }, null, 8, ["error", "fetcher", "headers", "page-size", "refresh-key"])) : (R(), L(T, {
1352
+ }, null, 8, ["error", "fetcher", "headers", "page-size", "refresh-key"])) : (x(), L(T, {
1353
1353
  key: 0,
1354
1354
  "data-testid": "table-skeleton",
1355
1355
  type: "table"
@@ -1357,7 +1357,7 @@ const ae = {
1357
1357
  ], 4);
1358
1358
  };
1359
1359
  }
1360
- }), ir = /* @__PURE__ */ _e(tr, [["__scopeId", "data-v-9127c323"]]), Kt = "#6c7489", sr = "12px", Qt = "20px", Vt = "32px", ci = "20px", rr = /* @__PURE__ */ J({
1360
+ }), rr = /* @__PURE__ */ _e(sr, [["__scopeId", "data-v-9127c323"]]), Kt = "#6c7489", nr = "12px", Qt = "20px", Vt = "32px", ci = "20px", or = /* @__PURE__ */ ee({
1361
1361
  __name: "DonutChartRenderer",
1362
1362
  props: {
1363
1363
  query: {},
@@ -1370,7 +1370,7 @@ const ae = {
1370
1370
  exploreLink: {}
1371
1371
  },
1372
1372
  setup(a) {
1373
- return (e, t) => (R(), L(xt, {
1373
+ return (e, t) => (x(), L(xt, {
1374
1374
  "chart-options": a.chartOptions,
1375
1375
  context: a.context,
1376
1376
  height: a.height,
@@ -1379,10 +1379,10 @@ const ae = {
1379
1379
  "refresh-counter": a.refreshCounter
1380
1380
  }, null, 8, ["chart-options", "context", "height", "query", "query-ready", "refresh-counter"]));
1381
1381
  }
1382
- }), nr = ["data-testid"], or = {
1382
+ }), ar = ["data-testid"], lr = {
1383
1383
  key: 0,
1384
1384
  class: "tile-header"
1385
- }, ar = { class: "badge-container" }, lr = { class: "badge-text" }, ur = { key: 0 }, hr = ["data-testid"], dr = ["data-testid"], cr = { class: "delete-option" }, fr = ["data-testid"], gr = ["data-testid"], mr = /* @__PURE__ */ J({
1385
+ }, ur = { class: "badge-container" }, hr = { class: "badge-text" }, dr = { key: 0 }, cr = ["data-testid"], fr = ["data-testid"], gr = { class: "delete-option" }, mr = ["data-testid"], pr = ["data-testid"], yr = /* @__PURE__ */ ee({
1386
1386
  __name: "DashboardTile",
1387
1387
  props: /* @__PURE__ */ Xe({
1388
1388
  context: {},
@@ -1401,18 +1401,18 @@ const ae = {
1401
1401
  }),
1402
1402
  emits: /* @__PURE__ */ Xe(["chart-data", "edit-tile", "duplicate-tile", "remove-tile", "tile-time-range-zoom", "tile-bounds-change"], ["update:refreshCounter"]),
1403
1403
  setup(a, { expose: e, emit: t }) {
1404
- yt((x) => ({
1405
- v12c7630b: `${x.height}px`
1404
+ yt((C) => ({
1405
+ v12c7630b: `${C.height}px`
1406
1406
  }));
1407
1407
  const i = parseInt(ci, 10), s = a, r = ei(a, "refreshCounter"), o = () => {
1408
1408
  k.value = !0, r.value++;
1409
- }, n = t, d = Jt(() => import("./GeoMapRenderer-BLA2uZXF.js")), l = me(ye), h = at(), { stripUnknownFilters: u } = wt(h), { i18n: f } = ae.useI18n(), g = A(), p = A({ status: "loading" }), y = A(!1), m = A(), T = A(!1), k = A(!0), w = v(() => s.tileType === "table"), O = v(() => s.definition), I = v(() => s.definition), Q = v(() => O.value.chart), Ee = v(() => "chart_title" in Q.value ? Q.value.chart_title : void 0), V = v(() => {
1410
- var x;
1411
- return w.value ? (x = I.value) == null ? void 0 : x.config.title : Ee.value;
1409
+ }, n = t, d = Jt(() => import("./GeoMapRenderer-oORfnm0Z.js")), l = me(ye), h = ot(), { stripUnknownFilters: u } = wt(h), { i18n: f } = ae.useI18n(), g = A(), p = A({ status: "loading" }), y = A(!1), m = A(), T = A(!1), k = A(!0), w = v(() => s.tileType === "table"), O = v(() => s.definition), I = v(() => s.definition), Q = v(() => O.value.chart), Ee = v(() => "chart_title" in Q.value ? Q.value.chart_title : void 0), V = v(() => {
1410
+ var C;
1411
+ return w.value ? (C = I.value) == null ? void 0 : C.config.title : Ee.value;
1412
1412
  }), z = v(() => !w.value && "description" in Q.value ? Q.value.description : void 0), q = v(() => w.value ? "table" : Q.value.type), W = v(() => !w.value && Q.value.type === "slottable"), he = v(() => w.value ? !1 : !("allow_csv_export" in Q.value) || Q.value.allow_csv_export !== !1), {
1413
1413
  exploreLinkKebabMenu: D,
1414
1414
  requestsLinkKebabMenu: H,
1415
- canShowKebabMenu: B,
1415
+ canShowKebabMenu: F,
1416
1416
  canGenerateRequestsLink: P,
1417
1417
  canGenerateExploreLink: ie,
1418
1418
  requestsLinkZoomActions: Be,
@@ -1423,42 +1423,42 @@ const ae = {
1423
1423
  buildRequestsQueryZoomActions: mi
1424
1424
  } = ae.useContextLinks({
1425
1425
  queryBridge: l,
1426
- chartData: ct(g),
1427
- definition: ct(O),
1428
- context: ct(Ye(s, "context"))
1426
+ chartData: dt(g),
1427
+ definition: dt(O),
1428
+ context: dt(Ye(s, "context"))
1429
1429
  }), { issueQuery: pi } = ae.useIssueQuery();
1430
- Ne(() => s.definition, async (x, S) => {
1430
+ Ne(() => s.definition, async (C, S) => {
1431
1431
  await vt(), m.value && (T.value = m.value.scrollWidth > m.value.clientWidth);
1432
1432
  try {
1433
- JSON.stringify(x == null ? void 0 : x.query) !== JSON.stringify(S == null ? void 0 : S.query) && (k.value = !0);
1433
+ JSON.stringify(C == null ? void 0 : C.query) !== JSON.stringify(S == null ? void 0 : S.query) && (k.value = !0);
1434
1434
  } catch {
1435
1435
  }
1436
1436
  }, { immediate: !0, deep: !0 });
1437
- const yi = v(() => f.t("csvExport.defaultFilename")), ut = v(() => w.value ? s.context.editable : !!D.value || he.value || s.context.editable), vi = v(() => !w.value && B.value && ut.value), _i = v(() => w.value && s.context.editable), We = v(() => !s.hideActions && (vi.value || _i.value)), bi = v(() => We.value && ut.value && !s.isFullscreen), wi = v(() => !w.value && Q.value.type === "golden_signals" && !!z.value), Ei = {
1437
+ const yi = v(() => f.t("csvExport.defaultFilename")), lt = v(() => w.value ? s.context.editable : !!D.value || he.value || s.context.editable), vi = v(() => !w.value && F.value && lt.value), _i = v(() => w.value && s.context.editable), We = v(() => !s.hideActions && (vi.value || _i.value)), bi = v(() => We.value && lt.value && !s.isFullscreen), wi = v(() => !w.value && Q.value.type === "golden_signals" && !!z.value), Ei = {
1438
1438
  timeseries_line: Ut,
1439
1439
  timeseries_bar: Ut,
1440
1440
  horizontal_bar: Gt,
1441
1441
  vertical_bar: Gt,
1442
1442
  gauge: Ft,
1443
- donut: rr,
1443
+ donut: or,
1444
1444
  golden_signals: Ys,
1445
- top_n: Xs,
1445
+ top_n: Js,
1446
1446
  slottable: void 0,
1447
1447
  single_value: Ft,
1448
1448
  choropleth_map: d
1449
1449
  }, xi = v(() => {
1450
- var x, S, F, Y;
1450
+ var C, S, G, Y;
1451
1451
  return {
1452
- ...(x = be.value) != null && x.rendererEvents.supportsRequests ? { "select-chart-range": Ii } : {},
1452
+ ...(C = be.value) != null && C.rendererEvents.supportsRequests ? { "select-chart-range": Ii } : {},
1453
1453
  ...(S = be.value) != null && S.rendererEvents.supportsZoom ? { "zoom-time-range": Oi } : {},
1454
- ...(F = be.value) != null && F.rendererEvents.supportsBounds ? { "bounds-change": Hi } : {},
1454
+ ...(G = be.value) != null && G.rendererEvents.supportsBounds ? { "bounds-change": Hi } : {},
1455
1455
  ...(Y = be.value) != null && Y.rendererEvents.supportsLoadingChange ? { "loading-change": Ni } : {}
1456
1456
  };
1457
1457
  }), be = v(() => {
1458
1458
  var de, we;
1459
1459
  if (w.value)
1460
1460
  return {
1461
- component: ir,
1461
+ component: rr,
1462
1462
  rendererProps: {
1463
1463
  context: s.context,
1464
1464
  query: I.value.query,
@@ -1472,32 +1472,32 @@ const ae = {
1472
1472
  supportsLoadingChange: !0
1473
1473
  }
1474
1474
  };
1475
- const x = O.value, S = Ei[x.chart.type], F = !!((de = S == null ? void 0 : S.emits) != null && de.includes("select-chart-range")), Y = !!((we = S == null ? void 0 : S.emits) != null && we.includes("zoom-time-range")), De = x.chart.type === "choropleth_map";
1475
+ const C = O.value, S = Ei[C.chart.type], G = !!((de = S == null ? void 0 : S.emits) != null && de.includes("select-chart-range")), Y = !!((we = S == null ? void 0 : S.emits) != null && we.includes("zoom-time-range")), De = C.chart.type === "choropleth_map";
1476
1476
  return S && {
1477
1477
  component: S,
1478
1478
  rendererProps: {
1479
- query: x.query,
1479
+ query: C.query,
1480
1480
  context: s.context,
1481
1481
  queryReady: s.queryReady,
1482
- chartOptions: x.chart,
1482
+ chartOptions: C.chart,
1483
1483
  height: s.height - i * 2,
1484
1484
  refreshCounter: r.value,
1485
1485
  requestsLink: s.hideZoomActions ? void 0 : Be.value,
1486
1486
  exploreLink: s.hideZoomActions ? void 0 : Fe.value
1487
1487
  },
1488
1488
  rendererEvents: {
1489
- supportsRequests: F,
1489
+ supportsRequests: G,
1490
1490
  supportsZoom: Y,
1491
1491
  supportsBounds: De,
1492
1492
  supportsLoadingChange: !1
1493
1493
  }
1494
1494
  };
1495
- }), ht = v(() => {
1496
- var F;
1495
+ }), ut = v(() => {
1496
+ var G;
1497
1497
  if (w.value)
1498
1498
  return null;
1499
- const x = O.value.query, S = x == null ? void 0 : x.time_range;
1500
- if ((x == null ? void 0 : x.datasource) === "platform" && !((F = x.dimensions) != null && F.includes("time")))
1499
+ const C = O.value.query, S = C == null ? void 0 : C.time_range;
1500
+ if ((C == null ? void 0 : C.datasource) === "platform" && !((G = C.dimensions) != null && G.includes("time")))
1501
1501
  return f.t("renderer.as_of_today");
1502
1502
  if ((S == null ? void 0 : S.type) === "relative") {
1503
1503
  const Y = Qi.get(Vi[S.time_range]);
@@ -1510,28 +1510,28 @@ const ae = {
1510
1510
  }), Tt = v(() => W.value ? !1 : [
1511
1511
  !!V.value,
1512
1512
  bi.value,
1513
- !!ht.value,
1513
+ !!ut.value,
1514
1514
  wi.value,
1515
1515
  s.showRefresh
1516
- ].some(Boolean)), St = v(() => g.value ? ft(g.value.meta.granularity_ms) : void 0), Ci = v(() => !w.value && ["timeseries_line", "timeseries_bar"].includes(Q.value.type)), Dt = v(() => {
1516
+ ].some(Boolean)), St = v(() => g.value ? ct(g.value.meta.granularity_ms) : void 0), Ci = v(() => !w.value && ["timeseries_line", "timeseries_bar"].includes(Q.value.type)), Dt = v(() => {
1517
1517
  if (!Ci.value || !s.queryReady || k.value)
1518
1518
  return !1;
1519
- const x = O.value.query.granularity;
1520
- return !x || !St.value ? !1 : x !== St.value;
1519
+ const C = O.value.query.granularity;
1520
+ return !C || !St.value ? !1 : C !== St.value;
1521
1521
  }), Ri = v(() => {
1522
- var F;
1523
- const x = ft(((F = g.value) == null ? void 0 : F.meta.granularity_ms) ?? 0) ?? "unknown", S = O.value.query.granularity ?? "unknown";
1522
+ var G;
1523
+ const C = ct(((G = g.value) == null ? void 0 : G.meta.granularity_ms) ?? 0) ?? "unknown", S = O.value.query.granularity ?? "unknown";
1524
1524
  return f.t("query_aged_out_warning", {
1525
- currentGranularity: f.t(`granularities.${x}`),
1525
+ currentGranularity: f.t(`granularities.${C}`),
1526
1526
  savedGranularity: f.t(`granularities.${S}`)
1527
1527
  });
1528
1528
  }), ki = v(() => {
1529
1529
  if (w.value)
1530
1530
  return [];
1531
- const x = [...s.context.filters, ...O.value.query.filters ?? []], S = O.value.query.metrics, F = O.value.query.datasource ?? "api_usage";
1531
+ const C = [...s.context.filters, ...O.value.query.filters ?? []], S = O.value.query.metrics, G = O.value.query.datasource ?? "api_usage";
1532
1532
  return u.value({
1533
- datasource: F,
1534
- filters: x,
1533
+ datasource: G,
1534
+ filters: C,
1535
1535
  metrics: S
1536
1536
  });
1537
1537
  }), Ti = () => {
@@ -1540,16 +1540,16 @@ const ae = {
1540
1540
  n("duplicate-tile", s.definition);
1541
1541
  }, Di = () => {
1542
1542
  n("remove-tile", s.definition);
1543
- }, zi = (x) => {
1544
- g.value = x, k.value = !1, n("chart-data", x);
1545
- }, Ni = (x) => {
1546
- k.value = x;
1543
+ }, zi = (C) => {
1544
+ g.value = C, k.value = !1, n("chart-data", C);
1545
+ }, Ni = (C) => {
1546
+ k.value = C;
1547
1547
  }, Li = () => {
1548
1548
  y.value = !1;
1549
1549
  }, zt = () => {
1550
- var F, Y;
1551
- const x = (F = s.definition.query.datasource) == null ? void 0 : F.startsWith("goap");
1552
- return ((Y = l == null ? void 0 : l.staticConfig) == null ? void 0 : Y.increaseCsvExportLimit) !== !1 && !x ? pi(s.definition.query, s.context, Yi) : g.value ? Promise.resolve(g.value) : new Promise((De) => {
1550
+ var G, Y;
1551
+ const C = (G = s.definition.query.datasource) == null ? void 0 : G.startsWith("goap");
1552
+ return ((Y = l == null ? void 0 : l.staticConfig) == null ? void 0 : Y.increaseCsvExportLimit) !== !1 && !C ? pi(s.definition.query, s.context, Yi) : g.value ? Promise.resolve(g.value) : new Promise((De) => {
1553
1553
  const de = Ne(g, (we) => {
1554
1554
  we && (De(we), de());
1555
1555
  });
@@ -1557,61 +1557,61 @@ const ae = {
1557
1557
  }, Ai = async () => {
1558
1558
  y.value = !0, p.value = { status: "loading" };
1559
1559
  try {
1560
- const x = await zt();
1561
- p.value = { status: "success", chartData: x };
1562
- } catch (x) {
1563
- p.value = { status: "error", error: x };
1560
+ const C = await zt();
1561
+ p.value = { status: "success", chartData: C };
1562
+ } catch (C) {
1563
+ p.value = { status: "error", error: C };
1564
1564
  }
1565
- }, Oi = (x) => {
1565
+ }, Oi = (C) => {
1566
1566
  const S = {
1567
1567
  tileId: s.tileId.toString(),
1568
- timeRange: x
1568
+ timeRange: C
1569
1569
  };
1570
1570
  n("tile-time-range-zoom", S);
1571
- }, Hi = (x) => {
1571
+ }, Hi = (C) => {
1572
1572
  const S = {
1573
1573
  tileId: s.tileId.toString(),
1574
- bounds: x
1574
+ bounds: C
1575
1575
  };
1576
1576
  n("tile-bounds-change", S);
1577
- }, Ii = (x) => {
1578
- const S = ki.value, F = Ge(x, S);
1579
- Fe.value = ie.value ? { href: kt(F) } : void 0, Be.value = P.value ? { href: Ue(mi(x, S)) } : void 0;
1577
+ }, Ii = (C) => {
1578
+ const S = ki.value, G = Ge(C, S);
1579
+ Fe.value = ie.value ? { href: kt(G) } : void 0, Be.value = P.value ? { href: Ue(mi(C, S)) } : void 0;
1580
1580
  };
1581
- return e({ getExportData: zt }), (x, S) => {
1582
- const F = le("KTooltip"), Y = le("KBadge"), De = le("KButton"), de = le("KDropdownItem"), we = le("KDropdown");
1583
- return R(), G("div", {
1581
+ return e({ getExportData: zt }), (C, S) => {
1582
+ const G = le("KTooltip"), Y = le("KBadge"), De = le("KButton"), de = le("KDropdownItem"), we = le("KDropdown");
1583
+ return x(), B("div", {
1584
1584
  class: Se(["tile-boundary", {
1585
1585
  editable: a.context.editable,
1586
1586
  headless: !Tt.value
1587
1587
  }]),
1588
1588
  "data-testid": `tile-${a.tileId}`
1589
1589
  }, [
1590
- Tt.value && !W.value ? (R(), G("div", or, [
1591
- ge(F, {
1590
+ Tt.value && !W.value ? (x(), B("div", lr, [
1591
+ ge(G, {
1592
1592
  class: "title-tooltip",
1593
1593
  disabled: !T.value,
1594
1594
  "max-width": "500",
1595
1595
  text: V.value
1596
1596
  }, {
1597
1597
  default: M(() => [
1598
- ee("div", {
1598
+ te("div", {
1599
1599
  ref_key: "titleRef",
1600
1600
  ref: m,
1601
1601
  class: "title"
1602
- }, te(V.value), 513)
1602
+ }, J(V.value), 513)
1603
1603
  ]),
1604
1604
  _: 1
1605
1605
  }, 8, ["disabled", "text"]),
1606
- ee("div", ar, [
1607
- ht.value ? (R(), L(Y, {
1606
+ te("div", ur, [
1607
+ ut.value ? (x(), L(Y, {
1608
1608
  key: 0,
1609
1609
  "data-testid": "time-range-badge",
1610
1610
  tooltip: Dt.value ? Ri.value : void 0,
1611
1611
  "tooltip-attributes": { maxWidth: "320px" }
1612
1612
  }, nt({
1613
1613
  default: M(() => [
1614
- ee("span", lr, te(ht.value), 1)
1614
+ te("span", hr, J(ut.value), 1)
1615
1615
  ]),
1616
1616
  _: 2
1617
1617
  }, [
@@ -1619,14 +1619,14 @@ const ae = {
1619
1619
  name: "icon",
1620
1620
  fn: M(() => [
1621
1621
  ge(E(os), {
1622
- size: `var(--kui-icon-size-20, ${E(sr)})`
1622
+ size: `var(--kui-icon-size-20, ${E(nr)})`
1623
1623
  }, null, 8, ["size"])
1624
1624
  ]),
1625
1625
  key: "0"
1626
1626
  } : void 0
1627
1627
  ]), 1032, ["tooltip"])) : X("", !0)
1628
1628
  ]),
1629
- a.showRefresh ? (R(), G("div", ur, [
1629
+ a.showRefresh ? (x(), B("div", dr, [
1630
1630
  ge(De, {
1631
1631
  appearance: "secondary",
1632
1632
  class: "refresh-button",
@@ -1637,12 +1637,12 @@ const ae = {
1637
1637
  onClick: o
1638
1638
  }, {
1639
1639
  default: M(() => [
1640
- k.value ? (R(), L(E(as), {
1640
+ k.value ? (x(), L(E(as), {
1641
1641
  key: 0,
1642
1642
  role: "button",
1643
1643
  size: `var(--kui-icon-size-60, ${E(Vt)})`,
1644
1644
  tabindex: "0"
1645
- }, null, 8, ["size"])) : (R(), L(E(ls), {
1645
+ }, null, 8, ["size"])) : (x(), L(E(ls), {
1646
1646
  key: 1,
1647
1647
  role: "button",
1648
1648
  size: `var(--kui-icon-size-60, ${E(Vt)})`,
@@ -1652,12 +1652,12 @@ const ae = {
1652
1652
  _: 1
1653
1653
  }, 8, ["data-testid", "disabled"])
1654
1654
  ])) : X("", !0),
1655
- We.value ? (R(), G("div", {
1655
+ We.value ? (x(), B("div", {
1656
1656
  key: 1,
1657
1657
  class: "tile-actions",
1658
1658
  "data-testid": `tile-actions-${a.tileId}`
1659
1659
  }, [
1660
- We.value && a.context.editable && !a.isFullscreen ? (R(), L(E(us), {
1660
+ We.value && a.context.editable && !a.isFullscreen ? (x(), L(E(us), {
1661
1661
  key: 0,
1662
1662
  class: "edit-icon",
1663
1663
  color: `var(--kui-color-text-neutral, ${E(Kt)})`,
@@ -1665,54 +1665,54 @@ const ae = {
1665
1665
  size: `var(--kui-icon-size-40, ${E(Qt)})`,
1666
1666
  onClick: Ti
1667
1667
  }, null, 8, ["color", "data-testid", "size"])) : X("", !0),
1668
- We.value && ut.value && !a.isFullscreen ? (R(), L(we, {
1668
+ We.value && lt.value && !a.isFullscreen ? (x(), L(we, {
1669
1669
  key: 1,
1670
1670
  class: "dropdown",
1671
1671
  "data-testid": `chart-action-menu-${a.tileId}`,
1672
1672
  "kpop-attributes": { placement: "bottom-end" }
1673
1673
  }, {
1674
1674
  items: M(() => [
1675
- !w.value && E(D) ? (R(), L(de, {
1675
+ !w.value && E(D) ? (x(), L(de, {
1676
1676
  key: 0,
1677
1677
  "data-testid": `chart-jump-to-explore-${a.tileId}`,
1678
1678
  item: { label: E(f).t("jumpToExplore"), to: E(D) }
1679
1679
  }, null, 8, ["data-testid", "item"])) : X("", !0),
1680
- !w.value && E(H) ? (R(), L(de, {
1680
+ !w.value && E(H) ? (x(), L(de, {
1681
1681
  key: 1,
1682
1682
  "data-testid": `chart-jump-to-requests-${a.tileId}`,
1683
1683
  item: { label: E(f).t("jumpToRequests"), to: E(H) }
1684
1684
  }, null, 8, ["data-testid", "item"])) : X("", !0),
1685
- he.value ? (R(), L(de, {
1685
+ he.value ? (x(), L(de, {
1686
1686
  key: 2,
1687
1687
  class: "chart-export-button",
1688
1688
  "data-testid": `chart-csv-export-${a.tileId}`,
1689
1689
  onClick: Ai
1690
1690
  }, {
1691
1691
  default: M(() => [
1692
- ee("span", {
1692
+ te("span", {
1693
1693
  class: "chart-export-trigger",
1694
1694
  "data-testid": `csv-export-button-${a.tileId}`
1695
- }, te(E(f).t("csvExport.exportAsCsv")), 9, dr)
1695
+ }, J(E(f).t("csvExport.exportAsCsv")), 9, fr)
1696
1696
  ]),
1697
1697
  _: 1
1698
1698
  }, 8, ["data-testid"])) : X("", !0),
1699
- a.context.editable ? (R(), L(de, {
1699
+ a.context.editable ? (x(), L(de, {
1700
1700
  key: 3,
1701
1701
  "data-testid": `duplicate-tile-${a.tileId}`,
1702
1702
  onClick: Si
1703
1703
  }, {
1704
1704
  default: M(() => [
1705
- ot(te(E(f).t("renderer.duplicateTile")), 1)
1705
+ mt(J(E(f).t("renderer.duplicateTile")), 1)
1706
1706
  ]),
1707
1707
  _: 1
1708
1708
  }, 8, ["data-testid"])) : X("", !0),
1709
- a.context.editable ? (R(), L(de, {
1709
+ a.context.editable ? (x(), L(de, {
1710
1710
  key: 4,
1711
1711
  "data-testid": `remove-tile-${a.tileId}`,
1712
1712
  onClick: Di
1713
1713
  }, {
1714
1714
  default: M(() => [
1715
- ee("span", cr, te(E(f).t("renderer.delete")), 1)
1715
+ te("span", gr, J(E(f).t("renderer.delete")), 1)
1716
1716
  ]),
1717
1717
  _: 1
1718
1718
  }, 8, ["data-testid"])) : X("", !0)
@@ -1727,12 +1727,12 @@ const ae = {
1727
1727
  ]),
1728
1728
  _: 1
1729
1729
  }, 8, ["data-testid"])) : X("", !0)
1730
- ], 8, hr)) : z.value ? (R(), G("div", {
1730
+ ], 8, cr)) : z.value ? (x(), B("div", {
1731
1731
  key: 2,
1732
1732
  class: "header-description",
1733
1733
  "data-testid": `tile-description-${a.tileId}`
1734
- }, te(z.value), 9, fr)) : X("", !0),
1735
- y.value ? (R(), L(E(es), {
1734
+ }, J(z.value), 9, mr)) : X("", !0),
1735
+ y.value ? (x(), L(E(es), {
1736
1736
  key: 3,
1737
1737
  "data-testid": `csv-export-modal-${a.tileId}`,
1738
1738
  "export-state": p.value,
@@ -1740,16 +1740,16 @@ const ae = {
1740
1740
  onCloseModal: Li
1741
1741
  }, null, 8, ["data-testid", "export-state", "filename"])) : X("", !0)
1742
1742
  ])) : X("", !0),
1743
- ee("div", {
1743
+ te("div", {
1744
1744
  class: Se(["tile-content", `type-${q.value}`]),
1745
1745
  "data-testid": `tile-content-${a.tileId}`
1746
1746
  }, [
1747
- be.value ? (R(), L(ti(be.value.component), Zt({ key: 0 }, be.value.rendererProps, Ki(xi.value), { onChartData: zi }), null, 16)) : X("", !0)
1748
- ], 10, gr)
1749
- ], 10, nr);
1747
+ be.value ? (x(), L(ti(be.value.component), Zt({ key: 0 }, be.value.rendererProps, Ki(xi.value), { onChartData: zi }), null, 16)) : X("", !0)
1748
+ ], 10, pr)
1749
+ ], 10, ar);
1750
1750
  };
1751
1751
  }
1752
- }), fi = /* @__PURE__ */ _e(mr, [["__scopeId", "data-v-af28753b"]]), pr = (a, e) => {
1752
+ }), fi = /* @__PURE__ */ _e(yr, [["__scopeId", "data-v-af28753b"]]), vr = (a, e) => {
1753
1753
  let t = 0;
1754
1754
  const i = /* @__PURE__ */ new Map();
1755
1755
  e.forEach((r) => {
@@ -1760,7 +1760,7 @@ const ae = {
1760
1760
  for (let r = 0; r < t; r++)
1761
1761
  i.get(r) ? s.push("auto") : s.push(`${a}px`);
1762
1762
  return s;
1763
- }, yr = /* @__PURE__ */ J({
1763
+ }, _r = /* @__PURE__ */ ee({
1764
1764
  __name: "GridLayout",
1765
1765
  props: {
1766
1766
  tileHeight: {
@@ -1793,7 +1793,7 @@ const ae = {
1793
1793
  }), Pe(() => {
1794
1794
  t.value && s.unobserve(t.value);
1795
1795
  });
1796
- const r = v(() => pr(e.tileHeight, e.tiles).join(" ")), o = v(() => e.tiles.map((n, d) => ({
1796
+ const r = v(() => vr(e.tileHeight, e.tiles).join(" ")), o = v(() => e.tiles.map((n, d) => ({
1797
1797
  key: `tile-${d}`,
1798
1798
  tile: n,
1799
1799
  style: {
@@ -1803,12 +1803,12 @@ const ae = {
1803
1803
  "grid-row-end": n.layout.position.row + 1 + n.layout.size.rows
1804
1804
  }
1805
1805
  })));
1806
- return (n, d) => (R(), G("div", {
1806
+ return (n, d) => (x(), B("div", {
1807
1807
  ref_key: "gridContainer",
1808
1808
  ref: t,
1809
1809
  class: "kong-ui-public-grid-layout"
1810
1810
  }, [
1811
- (R(!0), G(pt, null, ii(o.value, (l) => (R(), G("div", {
1811
+ (x(!0), B(pt, null, ii(o.value, (l) => (x(), B("div", {
1812
1812
  key: l.key,
1813
1813
  class: Se(["grid-cell", {
1814
1814
  "empty-cell": !l.tile
@@ -1822,8 +1822,8 @@ const ae = {
1822
1822
  ], 6))), 128))
1823
1823
  ], 512));
1824
1824
  }
1825
- }), vr = /* @__PURE__ */ _e(yr, [["__scopeId", "data-v-0271a8b9"]]);
1826
- function _r(a, e, t, i, s) {
1825
+ }), br = /* @__PURE__ */ _e(_r, [["__scopeId", "data-v-0271a8b9"]]);
1826
+ function wr(a, e, t, i, s) {
1827
1827
  const r = (...o) => (console.warn("gridstack.js: Function `" + t + "` is deprecated in " + s + " and has been replaced with `" + i + "`. It will be **removed** in a future release"), e.apply(a, o));
1828
1828
  return r.prototype = e.prototype, r;
1829
1829
  }
@@ -2660,7 +2660,7 @@ const se = {
2660
2660
  // styleInHead: false,
2661
2661
  //removable
2662
2662
  };
2663
- class C {
2663
+ class R {
2664
2664
  }
2665
2665
  const ue = typeof window < "u" && typeof document < "u" && ("ontouchstart" in document || "ontouchstart" in window || window.DocumentTouch && document instanceof window.DocumentTouch || navigator.maxTouchPoints > 0 || navigator.msMaxTouchPoints > 0);
2666
2666
  class fe {
@@ -2681,28 +2681,28 @@ function tt(a) {
2681
2681
  if (!fe.touchHandled)
2682
2682
  return;
2683
2683
  fe.pointerLeaveTimeout && (window.clearTimeout(fe.pointerLeaveTimeout), delete fe.pointerLeaveTimeout);
2684
- const e = !!C.dragElement;
2684
+ const e = !!R.dragElement;
2685
2685
  Ze(a, "mouseup"), e || Ze(a, "click"), fe.touchHandled = !1;
2686
2686
  }
2687
2687
  function it(a) {
2688
2688
  a.pointerType !== "mouse" && a.target.releasePointerCapture(a.pointerId);
2689
2689
  }
2690
2690
  function Yt(a) {
2691
- C.dragElement && a.pointerType !== "mouse" && gi(a, "mouseenter");
2691
+ R.dragElement && a.pointerType !== "mouse" && gi(a, "mouseenter");
2692
2692
  }
2693
2693
  function jt(a) {
2694
- C.dragElement && a.pointerType !== "mouse" && (fe.pointerLeaveTimeout = window.setTimeout(() => {
2694
+ R.dragElement && a.pointerType !== "mouse" && (fe.pointerLeaveTimeout = window.setTimeout(() => {
2695
2695
  delete fe.pointerLeaveTimeout, gi(a, "mouseleave");
2696
2696
  }, 10));
2697
2697
  }
2698
- class lt {
2698
+ class at {
2699
2699
  constructor(e, t, i) {
2700
2700
  this.host = e, this.dir = t, this.option = i, this.moving = !1, this._mouseDown = this._mouseDown.bind(this), this._mouseMove = this._mouseMove.bind(this), this._mouseUp = this._mouseUp.bind(this), this._keyEvent = this._keyEvent.bind(this), this._init();
2701
2701
  }
2702
2702
  /** @internal */
2703
2703
  _init() {
2704
2704
  const e = this.el = document.createElement("div");
2705
- return e.classList.add("ui-resizable-handle"), e.classList.add(`${lt.prefix}${this.dir}`), e.style.zIndex = "100", e.style.userSelect = "none", this.host.appendChild(this.el), this.el.addEventListener("mousedown", this._mouseDown), ue && (this.el.addEventListener("touchstart", Je), this.el.addEventListener("pointerdown", it)), this;
2705
+ return e.classList.add("ui-resizable-handle"), e.classList.add(`${at.prefix}${this.dir}`), e.style.zIndex = "100", e.style.userSelect = "none", this.host.appendChild(this.el), this.el.addEventListener("mousedown", this._mouseDown), ue && (this.el.addEventListener("touchstart", Je), this.el.addEventListener("pointerdown", it)), this;
2706
2706
  }
2707
2707
  /** call this when resize handle needs to be removed and cleaned up */
2708
2708
  destroy() {
@@ -2731,7 +2731,7 @@ class lt {
2731
2731
  return this.option[e] && this.option[e](t), this;
2732
2732
  }
2733
2733
  }
2734
- lt.prefix = "ui-resizable-";
2734
+ at.prefix = "ui-resizable-";
2735
2735
  class Ct {
2736
2736
  constructor() {
2737
2737
  this._eventRegister = {};
@@ -2816,21 +2816,21 @@ class Ae extends Ct {
2816
2816
  }
2817
2817
  /** @internal turns auto hide on/off */
2818
2818
  _setupAutoHide(e) {
2819
- return e ? (this.el.classList.add("ui-resizable-autohide"), this.el.addEventListener("mouseover", this._mouseOver), this.el.addEventListener("mouseout", this._mouseOut)) : (this.el.classList.remove("ui-resizable-autohide"), this.el.removeEventListener("mouseover", this._mouseOver), this.el.removeEventListener("mouseout", this._mouseOut), C.overResizeElement === this && delete C.overResizeElement), this;
2819
+ return e ? (this.el.classList.add("ui-resizable-autohide"), this.el.addEventListener("mouseover", this._mouseOver), this.el.addEventListener("mouseout", this._mouseOut)) : (this.el.classList.remove("ui-resizable-autohide"), this.el.removeEventListener("mouseover", this._mouseOver), this.el.removeEventListener("mouseout", this._mouseOut), R.overResizeElement === this && delete R.overResizeElement), this;
2820
2820
  }
2821
2821
  /** @internal */
2822
2822
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
2823
2823
  _mouseOver(e) {
2824
- C.overResizeElement || C.dragElement || (C.overResizeElement = this, this.el.classList.remove("ui-resizable-autohide"));
2824
+ R.overResizeElement || R.dragElement || (R.overResizeElement = this, this.el.classList.remove("ui-resizable-autohide"));
2825
2825
  }
2826
2826
  /** @internal */
2827
2827
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
2828
2828
  _mouseOut(e) {
2829
- C.overResizeElement === this && (delete C.overResizeElement, this.el.classList.add("ui-resizable-autohide"));
2829
+ R.overResizeElement === this && (delete R.overResizeElement, this.el.classList.add("ui-resizable-autohide"));
2830
2830
  }
2831
2831
  /** @internal */
2832
2832
  _setupHandlers() {
2833
- return this.handlers = this.option.handles.split(",").map((e) => e.trim()).map((e) => new lt(this.el, e, {
2833
+ return this.handlers = this.option.handles.split(",").map((e) => e.trim()).map((e) => new at(this.el, e, {
2834
2834
  start: (t) => {
2835
2835
  this._resizeStart(t);
2836
2836
  },
@@ -2910,7 +2910,7 @@ class Ae extends Ct {
2910
2910
  }
2911
2911
  }
2912
2912
  Ae._originStyleProp = ["width", "height", "position", "left", "top", "opacity", "zIndex"];
2913
- const br = 'input,textarea,button,select,option,[contenteditable="true"],.ui-resizable-handle';
2913
+ const Er = 'input,textarea,button,select,option,[contenteditable="true"],.ui-resizable-handle';
2914
2914
  class Oe extends Ct {
2915
2915
  constructor(e, t = {}) {
2916
2916
  var r;
@@ -2947,8 +2947,8 @@ class Oe extends Ct {
2947
2947
  }
2948
2948
  /** @internal call when mouse goes down before a dragstart happens */
2949
2949
  _mouseDown(e) {
2950
- if (!C.mouseHandled)
2951
- return e.button !== 0 || !this.dragEls.find((t) => t === e.target) && e.target.closest(br) || this.option.cancel && e.target.closest(this.option.cancel) || (this.mouseDownEvent = e, delete this.dragging, delete C.dragElement, delete C.dropElement, document.addEventListener("mousemove", this._mouseMove, { capture: !0, passive: !0 }), document.addEventListener("mouseup", this._mouseUp, !0), ue && (e.currentTarget.addEventListener("touchmove", et), e.currentTarget.addEventListener("touchend", tt)), e.preventDefault(), document.activeElement && document.activeElement.blur(), C.mouseHandled = !0), !0;
2950
+ if (!R.mouseHandled)
2951
+ return e.button !== 0 || !this.dragEls.find((t) => t === e.target) && e.target.closest(Er) || this.option.cancel && e.target.closest(this.option.cancel) || (this.mouseDownEvent = e, delete this.dragging, delete R.dragElement, delete R.dropElement, document.addEventListener("mousemove", this._mouseMove, { capture: !0, passive: !0 }), document.addEventListener("mouseup", this._mouseUp, !0), ue && (e.currentTarget.addEventListener("touchmove", et), e.currentTarget.addEventListener("touchend", tt)), e.preventDefault(), document.activeElement && document.activeElement.blur(), R.mouseHandled = !0), !0;
2952
2952
  }
2953
2953
  /** @internal method to call actual drag event */
2954
2954
  _callDrag(e) {
@@ -2962,15 +2962,15 @@ class Oe extends Ct {
2962
2962
  var i;
2963
2963
  const t = this.mouseDownEvent;
2964
2964
  if (this.lastDrag = e, this.dragging)
2965
- if (this._dragFollow(e), C.pauseDrag) {
2966
- const s = Number.isInteger(C.pauseDrag) ? C.pauseDrag : 100;
2965
+ if (this._dragFollow(e), R.pauseDrag) {
2966
+ const s = Number.isInteger(R.pauseDrag) ? R.pauseDrag : 100;
2967
2967
  this.dragTimeout && window.clearTimeout(this.dragTimeout), this.dragTimeout = window.setTimeout(() => this._callDrag(e), s);
2968
2968
  } else
2969
2969
  this._callDrag(e);
2970
2970
  else if (Math.abs(e.x - t.x) + Math.abs(e.y - t.y) > 3) {
2971
- this.dragging = !0, C.dragElement = this;
2971
+ this.dragging = !0, R.dragElement = this;
2972
2972
  const s = (i = this.el.gridstackNode) == null ? void 0 : i.grid;
2973
- s ? C.dropElement = s.el.ddElement.ddDroppable : delete C.dropElement, this.helper = this._createHelper(), this._setupHelperContainmentStyle(), this.dragTransform = c.getValuesFromTransformedElement(this.helperContainment), this.dragOffset = this._getDragOffset(e, this.el, this.helperContainment), this._setupHelperStyle(e);
2973
+ s ? R.dropElement = s.el.ddElement.ddDroppable : delete R.dropElement, this.helper = this._createHelper(), this._setupHelperContainmentStyle(), this.dragTransform = c.getValuesFromTransformedElement(this.helperContainment), this.dragOffset = this._getDragOffset(e, this.el, this.helperContainment), this._setupHelperStyle(e);
2974
2974
  const r = c.initEvent(e, { target: this.el, type: "dragstart" });
2975
2975
  this.option.start && this.option.start(r, this.ui()), this.triggerEvent("dragstart", r), document.addEventListener("keydown", this._keyEvent);
2976
2976
  }
@@ -2980,16 +2980,16 @@ class Oe extends Ct {
2980
2980
  _mouseUp(e) {
2981
2981
  var t, i;
2982
2982
  if (document.removeEventListener("mousemove", this._mouseMove, !0), document.removeEventListener("mouseup", this._mouseUp, !0), ue && e.currentTarget && (e.currentTarget.removeEventListener("touchmove", et, !0), e.currentTarget.removeEventListener("touchend", tt, !0)), this.dragging) {
2983
- delete this.dragging, (t = this.el.gridstackNode) == null || delete t._origRotate, document.removeEventListener("keydown", this._keyEvent), ((i = C.dropElement) == null ? void 0 : i.el) === this.el.parentElement && delete C.dropElement, this.helperContainment.style.position = this.parentOriginStylePosition || null, this.helper !== this.el && this.helper.remove(), this._removeHelperStyle();
2983
+ delete this.dragging, (t = this.el.gridstackNode) == null || delete t._origRotate, document.removeEventListener("keydown", this._keyEvent), ((i = R.dropElement) == null ? void 0 : i.el) === this.el.parentElement && delete R.dropElement, this.helperContainment.style.position = this.parentOriginStylePosition || null, this.helper !== this.el && this.helper.remove(), this._removeHelperStyle();
2984
2984
  const s = c.initEvent(e, { target: this.el, type: "dragstop" });
2985
- this.option.stop && this.option.stop(s), this.triggerEvent("dragstop", s), C.dropElement && C.dropElement.drop(e);
2985
+ this.option.stop && this.option.stop(s), this.triggerEvent("dragstop", s), R.dropElement && R.dropElement.drop(e);
2986
2986
  }
2987
- delete this.helper, delete this.mouseDownEvent, delete C.dragElement, delete C.dropElement, delete C.mouseHandled, e.preventDefault();
2987
+ delete this.helper, delete this.mouseDownEvent, delete R.dragElement, delete R.dropElement, delete R.mouseHandled, e.preventDefault();
2988
2988
  }
2989
2989
  /** @internal call when keys are being pressed - use Esc to cancel, R to rotate */
2990
2990
  _keyEvent(e) {
2991
2991
  var s, r;
2992
- const t = this.el.gridstackNode, i = (t == null ? void 0 : t.grid) || ((r = (s = C.dropElement) == null ? void 0 : s.el) == null ? void 0 : r.gridstack);
2992
+ const t = this.el.gridstackNode, i = (t == null ? void 0 : t.grid) || ((r = (s = R.dropElement) == null ? void 0 : s.el) == null ? void 0 : r.gridstack);
2993
2993
  if (e.key === "Escape")
2994
2994
  t && t._origRotate && (t._orig = t._origRotate, delete t._origRotate), i == null || i.cancelDrag(), this._mouseUp(this.mouseDownEvent);
2995
2995
  else if (t && i && (e.key === "r" || e.key === "R")) {
@@ -3061,7 +3061,7 @@ class Oe extends Ct {
3061
3061
  }
3062
3062
  }
3063
3063
  Oe.originStyleProp = ["width", "height", "transform", "transform-origin", "transition", "pointerEvents", "position", "left", "top", "minWidth", "willChange"];
3064
- class wr extends Ct {
3064
+ class xr extends Ct {
3065
3065
  constructor(e, t = {}) {
3066
3066
  super(), this.el = e, this.option = t, this._mouseEnter = this._mouseEnter.bind(this), this._mouseLeave = this._mouseLeave.bind(this), this.enable(), this._setupAccept();
3067
3067
  }
@@ -3085,20 +3085,20 @@ class wr extends Ct {
3085
3085
  }
3086
3086
  /** @internal called when the cursor enters our area - prepare for a possible drop and track leaving */
3087
3087
  _mouseEnter(e) {
3088
- if (!C.dragElement || !this._canDrop(C.dragElement.el))
3088
+ if (!R.dragElement || !this._canDrop(R.dragElement.el))
3089
3089
  return;
3090
- e.preventDefault(), e.stopPropagation(), C.dropElement && C.dropElement !== this && C.dropElement._mouseLeave(e, !0), C.dropElement = this;
3090
+ e.preventDefault(), e.stopPropagation(), R.dropElement && R.dropElement !== this && R.dropElement._mouseLeave(e, !0), R.dropElement = this;
3091
3091
  const t = c.initEvent(e, { target: this.el, type: "dropover" });
3092
- this.option.over && this.option.over(t, this._ui(C.dragElement)), this.triggerEvent("dropover", t), this.el.classList.add("ui-droppable-over");
3092
+ this.option.over && this.option.over(t, this._ui(R.dragElement)), this.triggerEvent("dropover", t), this.el.classList.add("ui-droppable-over");
3093
3093
  }
3094
3094
  /** @internal called when the item is leaving our area, stop tracking if we had moving item */
3095
3095
  _mouseLeave(e, t = !1) {
3096
3096
  var s;
3097
- if (!C.dragElement || C.dropElement !== this)
3097
+ if (!R.dragElement || R.dropElement !== this)
3098
3098
  return;
3099
3099
  e.preventDefault(), e.stopPropagation();
3100
3100
  const i = c.initEvent(e, { target: this.el, type: "dropout" });
3101
- if (this.option.out && this.option.out(i, this._ui(C.dragElement)), this.triggerEvent("dropout", i), C.dropElement === this && (delete C.dropElement, !t)) {
3101
+ if (this.option.out && this.option.out(i, this._ui(R.dragElement)), this.triggerEvent("dropout", i), R.dropElement === this && (delete R.dropElement, !t)) {
3102
3102
  let r, o = this.el.parentElement;
3103
3103
  for (; !r && o; )
3104
3104
  r = (s = o.ddElement) == null ? void 0 : s.ddDroppable, o = o.parentElement;
@@ -3109,7 +3109,7 @@ class wr extends Ct {
3109
3109
  drop(e) {
3110
3110
  e.preventDefault();
3111
3111
  const t = c.initEvent(e, { target: this.el, type: "drop" });
3112
- this.option.drop && this.option.drop(t, this._ui(C.dragElement)), this.triggerEvent("drop", t);
3112
+ this.option.drop && this.option.drop(t, this._ui(R.dragElement)), this.triggerEvent("drop", t);
3113
3113
  }
3114
3114
  /** @internal true if element matches the string/method accept option */
3115
3115
  _canDrop(e) {
@@ -3153,13 +3153,13 @@ class Rt {
3153
3153
  return this.ddResizable && (this.ddResizable.destroy(), delete this.ddResizable), this;
3154
3154
  }
3155
3155
  setupDroppable(e) {
3156
- return this.ddDroppable ? this.ddDroppable.updateOption(e) : this.ddDroppable = new wr(this.el, e), this;
3156
+ return this.ddDroppable ? this.ddDroppable.updateOption(e) : this.ddDroppable = new xr(this.el, e), this;
3157
3157
  }
3158
3158
  cleanDroppable() {
3159
3159
  return this.ddDroppable && (this.ddDroppable.destroy(), delete this.ddDroppable), this;
3160
3160
  }
3161
3161
  }
3162
- class Er {
3162
+ class Cr {
3163
3163
  resizable(e, t, i, s) {
3164
3164
  return this._getDDElements(e, t).forEach((r) => {
3165
3165
  if (t === "disable" || t === "enable")
@@ -3229,7 +3229,7 @@ class Er {
3229
3229
  }
3230
3230
  on(e, t, i) {
3231
3231
  return this._getDDElements(e).forEach((s) => s.on(t, (r) => {
3232
- i(r, C.dragElement ? C.dragElement.el : r.target, C.dragElement ? C.dragElement.helper : null);
3232
+ i(r, R.dragElement ? R.dragElement.el : r.target, R.dragElement ? R.dragElement.helper : null);
3233
3233
  })), this;
3234
3234
  }
3235
3235
  off(e, t) {
@@ -3248,7 +3248,7 @@ class Er {
3248
3248
  * Copyright (c) 2021-2024 Alain Dumesny
3249
3249
  * see root license https://github.com/gridstack/gridstack.js/tree/master/LICENSE
3250
3250
  */
3251
- const j = new Er();
3251
+ const j = new Cr();
3252
3252
  class b {
3253
3253
  /**
3254
3254
  * initializing the HTML element, or selector string, into a grid will return the grid. Calling it again will
@@ -3375,7 +3375,7 @@ Note: ".grid-stack" is required for proper CSS styling and drag/drop, and is the
3375
3375
  const p = t.children;
3376
3376
  delete t.children, p.length && this.load(p);
3377
3377
  }
3378
- this.setAnimation(), t.subGridDynamic && !C.pauseDrag && (C.pauseDrag = !0), ((g = t.draggable) == null ? void 0 : g.pause) !== void 0 && (C.pauseDrag = t.draggable.pause), this._setupRemoveDrop(), this._setupAcceptWidget(), this._updateResizeEvent();
3378
+ this.setAnimation(), t.subGridDynamic && !R.pauseDrag && (R.pauseDrag = !0), ((g = t.draggable) == null ? void 0 : g.pause) !== void 0 && (R.pauseDrag = t.draggable.pause), this._setupRemoveDrop(), this._setupAcceptWidget(), this._updateResizeEvent();
3379
3379
  }
3380
3380
  /**
3381
3381
  * add a new widget and returns it.
@@ -4160,7 +4160,7 @@ Note: ".grid-stack" is required for proper CSS styling and drag/drop, and is the
4160
4160
  * @param root optional root which defaults to document (for shadow dom pass the parent HTMLDocument)
4161
4161
  */
4162
4162
  static setupDragIn(e, t, i, s = document) {
4163
- (t == null ? void 0 : t.pause) !== void 0 && (C.pauseDrag = t.pause), t = { appendTo: "body", helper: "clone", ...t || {} }, (typeof e == "string" ? c.getElements(e, s) : e).forEach((o, n) => {
4163
+ (t == null ? void 0 : t.pause) !== void 0 && (R.pauseDrag = t.pause), t = { appendTo: "body", helper: "clone", ...t || {} }, (typeof e == "string" ? c.getElements(e, s) : e).forEach((o, n) => {
4164
4164
  j.isDraggable(o) || j.dragIn(o, t), i != null && i[n] && (o.gridstackNode = i[n]);
4165
4165
  });
4166
4166
  }
@@ -4473,7 +4473,7 @@ Note: ".grid-stack" is required for proper CSS styling and drag/drop, and is the
4473
4473
  }
4474
4474
  // legacy method removed
4475
4475
  commit() {
4476
- return _r(this, this.batchUpdate(!1), "commit", "batchUpdate", "5.2"), this;
4476
+ return wr(this, this.batchUpdate(!1), "commit", "batchUpdate", "5.2"), this;
4477
4477
  }
4478
4478
  }
4479
4479
  b.renderCB = (a, e) => {
@@ -4483,7 +4483,7 @@ b.resizeToContentParent = ".grid-stack-item-content";
4483
4483
  b.Utils = c;
4484
4484
  b.Engine = ce;
4485
4485
  b.GDRev = "11.5.1";
4486
- const xr = ["data-id", "data-testid", "gs-h", "gs-w", "gs-x", "gs-y"], Cr = { class: "grid-stack-item-content" }, Rr = /* @__PURE__ */ J({
4486
+ const Rr = ["data-id", "data-testid", "gs-h", "gs-w", "gs-x", "gs-y"], kr = { class: "grid-stack-item-content" }, Tr = /* @__PURE__ */ ee({
4487
4487
  __name: "DraggableGridLayout",
4488
4488
  props: {
4489
4489
  tiles: {},
@@ -4546,12 +4546,12 @@ const xr = ["data-id", "data-testid", "gs-h", "gs-w", "gs-x", "gs-y"], Cr = { cl
4546
4546
  i.tiles.forEach((g) => {
4547
4547
  o.value.set(`${g.id}`, g);
4548
4548
  });
4549
- }), e({ removeWidget: f }), (g, p) => (R(), G("div", {
4549
+ }), e({ removeWidget: f }), (g, p) => (x(), B("div", {
4550
4550
  ref_key: "gridContainer",
4551
4551
  ref: r,
4552
4552
  class: "grid-stack"
4553
4553
  }, [
4554
- (R(!0), G(pt, null, ii(i.tiles, (y) => (R(), G("div", {
4554
+ (x(!0), B(pt, null, ii(i.tiles, (y) => (x(), B("div", {
4555
4555
  key: y.id,
4556
4556
  class: "grid-stack-item",
4557
4557
  "data-id": `${y.id}`,
@@ -4562,13 +4562,13 @@ const xr = ["data-id", "data-testid", "gs-h", "gs-w", "gs-x", "gs-y"], Cr = { cl
4562
4562
  "gs-x": y.layout.position.col,
4563
4563
  "gs-y": y.layout.position.row
4564
4564
  }, [
4565
- ee("div", Cr, [
4565
+ te("div", kr, [
4566
4566
  Le(g.$slots, "tile", { tile: y }, void 0, !0)
4567
4567
  ])
4568
- ], 8, xr))), 128))
4568
+ ], 8, Rr))), 128))
4569
4569
  ], 512));
4570
4570
  }
4571
- }), kr = /* @__PURE__ */ _e(Rr, [["__scopeId", "data-v-1fdec94c"]]), Tr = (a) => a.type === "slottable", Sr = (a) => {
4571
+ }), Sr = /* @__PURE__ */ _e(Tr, [["__scopeId", "data-v-1fdec94c"]]), Dr = (a) => a.type === "slottable", zr = (a) => {
4572
4572
  const e = a.meta, t = {
4573
4573
  ...e.config,
4574
4574
  title: e.config.title ? `Copy of ${e.config.title}` : ""
@@ -4588,8 +4588,8 @@ const xr = ["data-id", "data-testid", "gs-h", "gs-w", "gs-x", "gs-y"], Cr = { cl
4588
4588
  size: a.layout.size
4589
4589
  }
4590
4590
  };
4591
- }, Dr = (a) => {
4592
- const e = a.meta, t = Tr(e.chart) ? { ...e.chart } : {
4591
+ }, Nr = (a) => {
4592
+ const e = a.meta, t = Dr(e.chart) ? { ...e.chart } : {
4593
4593
  ...e.chart,
4594
4594
  chart_title: e.chart.chart_title ? `Copy of ${e.chart.chart_title}` : ""
4595
4595
  };
@@ -4608,13 +4608,13 @@ const xr = ["data-id", "data-testid", "gs-h", "gs-w", "gs-x", "gs-y"], Cr = { cl
4608
4608
  size: a.layout.size
4609
4609
  }
4610
4610
  };
4611
- }, zr = {
4611
+ }, Lr = {
4612
4612
  key: 0,
4613
4613
  class: "fullscreen-header"
4614
- }, Nr = {
4614
+ }, Ar = {
4615
4615
  key: 0,
4616
4616
  class: "tile-container slottable-tile"
4617
- }, Lr = /* @__PURE__ */ J({
4617
+ }, Or = /* @__PURE__ */ ee({
4618
4618
  __name: "DashboardRenderer",
4619
4619
  props: /* @__PURE__ */ Xe({
4620
4620
  context: {},
@@ -4631,13 +4631,13 @@ const xr = ["data-id", "data-testid", "gs-h", "gs-w", "gs-x", "gs-y"], Cr = { cl
4631
4631
  const i = t, s = ei(a, "modelValue"), { i18n: r } = ae.useI18n(), o = A(0), n = A(null), d = A(), l = A(), h = A("scale(1)"), u = me(ye);
4632
4632
  u || (console.warn("Analytics dashboards require a query bridge supplied via provide / inject."), console.warn("Please ensure your application has a query bridge provided under the key 'analytics-query-provider', as described in"), console.warn("https://github.com/Kong/public-ui-components/blob/main/packages/analytics/dashboard-renderer/README.md#requirements")), ae.useRequestQueue();
4633
4633
  const f = (D, H) => {
4634
- const B = D.layout.position.row - H.layout.position.row;
4635
- return B !== 0 ? B : D.layout.position.col - H.layout.position.col;
4634
+ const F = D.layout.position.row - H.layout.position.row;
4635
+ return F !== 0 ? F : D.layout.position.col - H.layout.position.col;
4636
4636
  }, g = v(() => s.value.tiles.map((D) => {
4637
4637
  var ie;
4638
4638
  let H = D.definition;
4639
- const B = D.type ?? "chart", P = H.chart;
4640
- if (B === "chart" && "description" in P) {
4639
+ const F = D.type ?? "chart", P = H.chart;
4640
+ if (F === "chart" && "description" in P) {
4641
4641
  const Be = H, Fe = (ie = P.description) == null ? void 0 : ie.replace(ks, () => {
4642
4642
  const { timeSpec: Ge } = W.value, Ue = `renderer.trendRange.${Ge.type === "absolute" ? "custom" : Ge.time_range}`;
4643
4643
  return r.te(Ue) ? r.t(Ue) : "";
@@ -4657,7 +4657,7 @@ const xr = ["data-id", "data-testid", "gs-h", "gs-w", "gs-x", "gs-y"], Cr = { cl
4657
4657
  ), {
4658
4658
  layout: D.layout,
4659
4659
  meta: H,
4660
- type: B,
4660
+ type: F,
4661
4661
  // Add a unique key to each tile internally.
4662
4662
  id: D.id ?? crypto.randomUUID()
4663
4663
  };
@@ -4668,7 +4668,7 @@ const xr = ["data-id", "data-testid", "gs-h", "gs-w", "gs-x", "gs-y"], Cr = { cl
4668
4668
  return m(H) ? H.id : void 0;
4669
4669
  }, k = (D) => {
4670
4670
  try {
4671
- const H = D.type === "table" ? Sr(D) : Dr(D);
4671
+ const H = D.type === "table" ? zr(D) : Nr(D);
4672
4672
  s.value.tiles.push(JSON.parse(JSON.stringify(H)));
4673
4673
  } catch (H) {
4674
4674
  console.warn(H);
@@ -4678,16 +4678,16 @@ const xr = ["data-id", "data-testid", "gs-h", "gs-w", "gs-x", "gs-y"], Cr = { cl
4678
4678
  }, O = () => {
4679
4679
  o.value++;
4680
4680
  }, I = (D) => {
4681
- const H = D.map((B) => ({
4682
- id: B.id,
4683
- type: B.type,
4684
- layout: B.layout,
4685
- definition: B.meta
4681
+ const H = D.map((F) => ({
4682
+ id: F.id,
4683
+ type: F.type,
4684
+ layout: F.layout,
4685
+ definition: F.meta
4686
4686
  }));
4687
4687
  s.value.tiles = H.sort(f);
4688
4688
  }, Q = async () => {
4689
4689
  if (h.value = "scale(1)", await vt(), l.value) {
4690
- const { availWidth: D, availHeight: H } = window.screen, { width: B, height: P } = l.value.getBoundingClientRect(), ie = Math.min(H / P, D / B);
4690
+ const { availWidth: D, availHeight: H } = window.screen, { width: F, height: P } = l.value.getBoundingClientRect(), ie = Math.min(H / P, D / F);
4691
4691
  h.value = `scale(${ie})`;
4692
4692
  }
4693
4693
  }, Ee = () => {
@@ -4704,22 +4704,22 @@ const xr = ["data-id", "data-testid", "gs-h", "gs-w", "gs-x", "gs-y"], Cr = { cl
4704
4704
  refresh: O,
4705
4705
  toggleFullscreen: Ee
4706
4706
  }), (D, H) => {
4707
- const B = le("KAlert");
4708
- return R(), G("div", {
4707
+ const F = le("KAlert");
4708
+ return x(), B("div", {
4709
4709
  ref_key: "dashboardContainer",
4710
4710
  ref: d,
4711
4711
  class: Se(["kong-ui-public-dashboard-renderer", { "is-fullscreen": V.value }]),
4712
4712
  onFullscreenchange: z
4713
4713
  }, [
4714
- ee("div", {
4714
+ te("div", {
4715
4715
  ref_key: "layoutContainer",
4716
4716
  ref: l,
4717
4717
  class: "layout"
4718
4718
  }, [
4719
- E(u) && V.value ? (R(), G("div", zr, [
4719
+ E(u) && V.value ? (x(), B("div", Lr, [
4720
4720
  Le(D.$slots, "fullscreenHeader", {}, void 0, !0)
4721
4721
  ])) : X("", !0),
4722
- E(u) ? (R(), L(ti(E(W).editable && !V.value ? kr : vr), {
4722
+ E(u) ? (x(), L(ti(E(W).editable && !V.value ? Sr : br), {
4723
4723
  key: 2,
4724
4724
  ref_key: "gridLayoutRef",
4725
4725
  ref: n,
@@ -4729,9 +4729,9 @@ const xr = ["data-id", "data-testid", "gs-h", "gs-w", "gs-x", "gs-y"], Cr = { cl
4729
4729
  onUpdateTiles: I
4730
4730
  }, {
4731
4731
  tile: M(({ tile: P }) => [
4732
- y(P) ? (R(), G("div", Nr, [
4732
+ y(P) ? (x(), B("div", Ar, [
4733
4733
  Le(D.$slots, T(P), {}, void 0, !0)
4734
- ])) : (R(), L(fi, {
4734
+ ])) : (x(), L(fi, {
4735
4735
  key: V.value ? `${P.id}-tile` : `${P.id}-tile-fullscreen`,
4736
4736
  "refresh-counter": o.value,
4737
4737
  "onUpdate:refreshCounter": H[0] || (H[0] = (ie) => o.value = ie),
@@ -4752,12 +4752,12 @@ const xr = ["data-id", "data-testid", "gs-h", "gs-w", "gs-x", "gs-y"], Cr = { cl
4752
4752
  }, null, 8, ["refresh-counter", "context", "definition", "height", "hide-actions", "hide-zoom-actions", "is-fullscreen", "query-ready", "tile-id", "tile-type", "onDuplicateTile", "onEditTile", "onRemoveTile"]))
4753
4753
  ]),
4754
4754
  _: 3
4755
- }, 40, ["columns", "tile-height", "tiles"])) : (R(), L(B, {
4755
+ }, 40, ["columns", "tile-height", "tiles"])) : (x(), L(F, {
4756
4756
  key: 1,
4757
4757
  appearance: "danger"
4758
4758
  }, {
4759
4759
  default: M(() => [
4760
- ot(te(E(r).t("renderer.noQueryBridge")), 1)
4760
+ mt(J(E(r).t("renderer.noQueryBridge")), 1)
4761
4761
  ]),
4762
4762
  _: 1
4763
4763
  }))
@@ -4765,7 +4765,7 @@ const xr = ["data-id", "data-testid", "gs-h", "gs-w", "gs-x", "gs-y"], Cr = { cl
4765
4765
  ], 34);
4766
4766
  };
4767
4767
  }
4768
- }), Qr = /* @__PURE__ */ _e(Lr, [["__scopeId", "data-v-50b17902"]]), Vr = /* @__PURE__ */ J({
4768
+ }), Yr = /* @__PURE__ */ _e(Or, [["__scopeId", "data-v-50b17902"]]), jr = /* @__PURE__ */ ee({
4769
4769
  __name: "DashboardTilePreview",
4770
4770
  props: {
4771
4771
  context: {},
@@ -4806,24 +4806,24 @@ const xr = ["data-id", "data-testid", "gs-h", "gs-w", "gs-x", "gs-y"], Cr = { cl
4806
4806
  }
4807
4807
  }), (k, w) => {
4808
4808
  const O = le("KEmptyState");
4809
- return R(), G("div", {
4809
+ return x(), B("div", {
4810
4810
  ref_key: "root",
4811
4811
  ref: i,
4812
4812
  "data-testid": "dashboard-tile-preview-root"
4813
4813
  }, [
4814
- g.value ? (R(), L(O, {
4814
+ g.value ? (x(), L(O, {
4815
4815
  key: 0,
4816
4816
  "action-button-visible": !1,
4817
4817
  "data-testid": "chart-not-configured-empty-state"
4818
4818
  }, {
4819
4819
  title: M(() => [
4820
- ee("p", null, te(E(h).t("renderer.not_configured.title")), 1)
4820
+ te("p", null, J(E(h).t("renderer.not_configured.title")), 1)
4821
4821
  ]),
4822
4822
  default: M(() => [
4823
- ee("p", null, te(E(h).t("renderer.not_configured.description")), 1)
4823
+ te("p", null, J(E(h).t("renderer.not_configured.description")), 1)
4824
4824
  ]),
4825
4825
  _: 1
4826
- })) : (R(), L(fi, {
4826
+ })) : (x(), L(fi, {
4827
4827
  key: 1,
4828
4828
  ref: "dashboard-tile",
4829
4829
  "refresh-counter": m.value,
@@ -4845,7 +4845,7 @@ const xr = ["data-id", "data-testid", "gs-h", "gs-w", "gs-x", "gs-y"], Cr = { cl
4845
4845
  ], 512);
4846
4846
  };
4847
4847
  }
4848
- }), Ar = (a) => {
4848
+ }), Hr = (a) => {
4849
4849
  var t;
4850
4850
  const e = (t = a.definition) == null ? void 0 : t.query;
4851
4851
  if (!e)
@@ -4855,7 +4855,7 @@ const xr = ["data-id", "data-testid", "gs-h", "gs-w", "gs-x", "gs-y"], Cr = { cl
4855
4855
  return;
4856
4856
  }
4857
4857
  return a;
4858
- }, Or = (a) => {
4858
+ }, Ir = (a) => {
4859
4859
  var i;
4860
4860
  if (a.type === "table")
4861
4861
  return a;
@@ -4873,7 +4873,7 @@ const xr = ["data-id", "data-testid", "gs-h", "gs-w", "gs-x", "gs-y"], Cr = { cl
4873
4873
  query: t
4874
4874
  }
4875
4875
  };
4876
- }, Hr = (a, e = bt) => {
4876
+ }, Mr = (a, e = bt) => {
4877
4877
  var o, n, d, l, h;
4878
4878
  if (!a.length)
4879
4879
  return [];
@@ -4896,15 +4896,15 @@ const xr = ["data-id", "data-testid", "gs-h", "gs-w", "gs-x", "gs-y"], Cr = { cl
4896
4896
  r.push(p), i += f, s = Math.max(s, g);
4897
4897
  }
4898
4898
  return r;
4899
- }, Yr = (a, e) => {
4899
+ }, Xr = (a, e) => {
4900
4900
  if (e) {
4901
- const s = a.tiles.map(Or);
4901
+ const s = a.tiles.map(Ir);
4902
4902
  return {
4903
4903
  ...a,
4904
4904
  tiles: s
4905
4905
  };
4906
4906
  }
4907
- const t = a.tiles.map(Ar).filter((s) => s !== void 0), i = Hr(t, a.columns);
4907
+ const t = a.tiles.map(Hr).filter((s) => s !== void 0), i = Mr(t, a.columns);
4908
4908
  return {
4909
4909
  ...a,
4910
4910
  tiles: i
@@ -4915,14 +4915,14 @@ export {
4915
4915
  bt as D,
4916
4916
  It as E,
4917
4917
  Ds as F,
4918
- vr as G,
4918
+ br as G,
4919
4919
  ye as I,
4920
4920
  ks as T,
4921
4921
  Et as _,
4922
4922
  $e as a,
4923
4923
  Ts as b,
4924
- Qr as c,
4925
- Vr as d,
4924
+ Yr as c,
4925
+ jr as d,
4926
4926
  Ss as e,
4927
- Yr as f
4927
+ Xr as f
4928
4928
  };