@kong-ui-public/analytics-metric-provider 7.2.1 → 7.2.2

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,4 +1,4 @@
1
- import { ref as re, watchEffect as $e, computed as g, getCurrentInstance as Be, reactive as Ue, onMounted as Ke, onUnmounted as Pe, watch as Ge, isReadonly as Ze, toRefs as Xe, defineComponent as k, inject as ke, toRef as J, provide as je, renderSlot as Le, openBlock as p, createBlock as I, resolveDynamicComponent as L, normalizeStyle as q, withCtx as A, createElementBlock as y, toDisplayString as w, createCommentVNode as N, pushScopeId as z, popScopeId as D, createElementVNode as x, resolveComponent as Ae, normalizeClass as Y, unref as R, createTextVNode as qe, createVNode as X, Fragment as _e, renderList as Ye, mergeProps as Qe, normalizeProps as We, guardReactiveProps as Je } from "vue";
1
+ import { ref as re, watchEffect as $e, computed as g, getCurrentInstance as Be, reactive as Ke, onMounted as Ue, onUnmounted as Pe, watch as Ze, isReadonly as Xe, toRefs as Ge, defineComponent as k, inject as ke, toRef as J, provide as je, renderSlot as Le, openBlock as p, createBlock as E, resolveDynamicComponent as L, normalizeStyle as A, withCtx as q, createElementBlock as y, toDisplayString as w, createCommentVNode as N, pushScopeId as z, popScopeId as V, createElementVNode as x, resolveComponent as qe, normalizeClass as Y, unref as R, createTextVNode as Ae, createVNode as G, Fragment as _e, renderList as Ye, mergeProps as Qe, normalizeProps as We, guardReactiveProps as Je } from "vue";
2
2
  import { TimePeriods as ie, TimeframeKeys as ne, queryableExploreDimensions as et, DeltaQueryTime as tt, UnaryQueryTime as rt } from "@kong-ui-public/analytics-utilities";
3
3
  import { createI18n as it, i18nTComponent as nt } from "@kong-ui-public/i18n";
4
4
  import { useAnalyticsConfigStore as at } from "@kong-ui-public/analytics-config-store";
@@ -108,7 +108,7 @@ function yt(e, t) {
108
108
  }
109
109
  function mt(e) {
110
110
  e.queryReady === void 0 && (e.queryReady = g(() => !0));
111
- const { i18n: t } = K.useI18n(), r = g(() => {
111
+ const { i18n: t } = U.useI18n(), r = g(() => {
112
112
  var u, d;
113
113
  return {
114
114
  metrics: e.metrics.value,
@@ -126,7 +126,7 @@ function mt(e) {
126
126
  return null;
127
127
  const u = (v = e.filter) != null && v.value ? JSON.stringify(e.filter.value) : "";
128
128
  return `metric-fetcher-${e.timeframe.value.cacheKey()}-${(C = e.dimensions) == null ? void 0 : C.join("-")}-${(m = e.metrics.value) == null ? void 0 : m.join("-")}-${u}`;
129
- }), { response: n, error: i, isValidating: l } = K.useRequest(
129
+ }), { response: n, error: i, isValidating: l } = U.useRequest(
130
130
  () => a.value,
131
131
  () => e.queryFn(r.value, e.abortController ?? new AbortController()),
132
132
  {
@@ -135,16 +135,16 @@ function mt(e) {
135
135
  errorRetryCount: ct
136
136
  }
137
137
  ), { state: f, swrvState: c } = gt(n, i, l), o = g(() => {
138
- var u, d, v, C, m, S, T;
139
- return !((d = (u = n.value) == null ? void 0 : u.data) != null && d.length) || !((C = (v = n.value) == null ? void 0 : v.meta) != null && C.display) || !((T = (S = (m = n.value) == null ? void 0 : m.meta) == null ? void 0 : S.metric_names) != null && T.length) ? { current: {}, previous: {} } : yt(n.value, e.withTrend.value);
138
+ var u, d, v, C, m, b, T;
139
+ return !((d = (u = n.value) == null ? void 0 : u.data) != null && d.length) || !((C = (v = n.value) == null ? void 0 : v.meta) != null && C.display) || !((T = (b = (m = n.value) == null ? void 0 : m.meta) == null ? void 0 : b.metric_names) != null && T.length) ? { current: {}, previous: {} } : yt(n.value, e.withTrend.value);
140
140
  }), s = g(() => {
141
141
  var u, d, v;
142
142
  if (e.timeframe.value.key === "custom") {
143
143
  if (!((d = (u = n.value) == null ? void 0 : u.meta) != null && d.start_ms))
144
144
  return "";
145
145
  const { start_ms: C, end_ms: m } = n.value.meta;
146
- let S = (m - C) / (1e3 * 60 * 60 * 24);
147
- return e.withTrend.value && (S /= 2), t.t("trendRange.custom", { numDays: Math.round(S) });
146
+ let b = (m - C) / (1e3 * 60 * 60 * 24);
147
+ return e.withTrend.value && (b /= 2), t.t("trendRange.custom", { numDays: Math.round(b) });
148
148
  } else
149
149
  return e.withTrend.value ? t.t(`trendRange.${e.timeframe.value.key}`) : t.t(`trendRange.${(v = ie.get(ne.ONE_DAY)) == null ? void 0 : v.key}`);
150
150
  });
@@ -156,7 +156,7 @@ function mt(e) {
156
156
  trendRange: s
157
157
  };
158
158
  }
159
- const Z = (e, t, r = $, a) => (a ?? [$]).reduce((i, l) => {
159
+ const X = (e, t, r = $, a) => (a ?? [$]).reduce((i, l) => {
160
160
  const f = e[t][r];
161
161
  return f ? i + (f[l] || 0) : i;
162
162
  }, 0);
@@ -175,7 +175,7 @@ function ht(e) {
175
175
  let o = 0, s = 0;
176
176
  if (n != null && n.value)
177
177
  try {
178
- o = Z(n.value, "current", e.lookupKey, e.sumGroupedValues), s = Z(n.value, "previous", e.lookupKey, e.sumGroupedValues);
178
+ o = X(n.value, "current", e.lookupKey, e.sumGroupedValues), s = X(n.value, "previous", e.lookupKey, e.sumGroupedValues);
179
179
  } catch (u) {
180
180
  console.error(
181
181
  "Metric card data doesn't have the expected structure:",
@@ -206,7 +206,7 @@ function Ct(e) {
206
206
  }
207
207
  return t;
208
208
  }
209
- function St(e) {
209
+ function bt(e) {
210
210
  if (typeof e == "function")
211
211
  try {
212
212
  e = e();
@@ -222,7 +222,7 @@ var ge = (
222
222
  t === void 0 && (t = 0), this.items = /* @__PURE__ */ new Map(), this.ttl = t;
223
223
  }
224
224
  return e.prototype.serializeKey = function(t) {
225
- return St(t);
225
+ return bt(t);
226
226
  }, e.prototype.get = function(t) {
227
227
  var r = this.serializeKey(t);
228
228
  return this.items.get(r);
@@ -244,7 +244,7 @@ var ge = (
244
244
  }, e;
245
245
  }()
246
246
  );
247
- function bt() {
247
+ function St() {
248
248
  return typeof navigator.onLine < "u" ? navigator.onLine : !0;
249
249
  }
250
250
  function _t() {
@@ -256,7 +256,7 @@ var wt = function(e) {
256
256
  });
257
257
  };
258
258
  const fe = {
259
- isOnline: bt,
259
+ isOnline: St,
260
260
  isDocumentVisible: _t,
261
261
  fetcher: wt
262
262
  };
@@ -295,7 +295,7 @@ var O = function() {
295
295
  }
296
296
  o((a = a.apply(e, t || [])).next());
297
297
  });
298
- }, G = function(e, t) {
298
+ }, Z = function(e, t) {
299
299
  var r = { label: 0, sent: function() {
300
300
  if (i[0] & 1)
301
301
  throw i[1];
@@ -383,8 +383,8 @@ var O = function() {
383
383
  for (var a = 0, n = t.length, i; a < n; a++)
384
384
  (i || !(a in t)) && (i || (i = Array.prototype.slice.call(t, 0, a)), i[a] = t[a]);
385
385
  return e.concat(i || Array.prototype.slice.call(t));
386
- }, De = new ge(), ae = new ge(), ve = new ge(), Ve = {
387
- cache: De,
386
+ }, Ve = new ge(), ae = new ge(), ve = new ge(), De = {
387
+ cache: Ve,
388
388
  refreshInterval: 0,
389
389
  ttl: 0,
390
390
  serverTTL: 1e3,
@@ -407,7 +407,7 @@ function Tt(e, t, r) {
407
407
  ae.set(e, [t], r > 0 ? r + n : r);
408
408
  }
409
409
  }
410
- function It(e, t, r) {
410
+ function Et(e, t, r) {
411
411
  if (r.isDocumentVisible() && !(r.errorRetryCount !== void 0 && t > r.errorRetryCount)) {
412
412
  var a = Math.min(t || 0, r.errorRetryCount), n = a * r.errorRetryInterval;
413
413
  setTimeout(function() {
@@ -416,9 +416,9 @@ function It(e, t, r) {
416
416
  }
417
417
  }
418
418
  var Te = function(e, t, r, a) {
419
- return r === void 0 && (r = De), a === void 0 && (a = Ve.ttl), P(void 0, void 0, void 0, function() {
419
+ return r === void 0 && (r = Ve), a === void 0 && (a = De.ttl), P(void 0, void 0, void 0, function() {
420
420
  var n, i, l, f, c, o, s;
421
- return G(this, function(u) {
421
+ return Z(this, function(u) {
422
422
  switch (u.label) {
423
423
  case 0:
424
424
  if (!xt(t))
@@ -452,10 +452,10 @@ var Te = function(e, t, r, a) {
452
452
  });
453
453
  });
454
454
  };
455
- function Et() {
455
+ function It() {
456
456
  for (var e = this, t = [], r = 0; r < arguments.length; r++)
457
457
  t[r] = arguments[r];
458
- var a, n, i = O({}, Ve), l = !1, f = !1, c = Be(), o = (c == null ? void 0 : c.proxy) || c;
458
+ var a, n, i = O({}, De), l = !1, f = !1, c = Be(), o = (c == null ? void 0 : c.proxy) || c;
459
459
  if (!o)
460
460
  return console.error("Could not get current instance, check to make sure that `useSwrv` is declared in the top level of the setup function."), null;
461
461
  var s = (o == null ? void 0 : o.$isServer) || !1;
@@ -463,19 +463,19 @@ function Et() {
463
463
  var u = s ? i.serverTTL : i.ttl, d = typeof a == "function" ? a : re(a);
464
464
  typeof n > "u" && (n = i.fetcher);
465
465
  var v = null;
466
- v || (v = Ue({
466
+ v || (v = Ke({
467
467
  data: void 0,
468
468
  error: void 0,
469
469
  isValidating: !0,
470
470
  key: null
471
471
  }));
472
- var C = function(b, h) {
472
+ var C = function(S, h) {
473
473
  return P(e, void 0, void 0, function() {
474
- var H, E, B, j, oe, he, se, Ce = this;
475
- return G(this, function(le) {
474
+ var H, I, B, j, oe, he, se, Ce = this;
475
+ return Z(this, function(le) {
476
476
  switch (le.label) {
477
477
  case 0:
478
- return H = v.data === void 0, E = d.value, E ? (B = i.cache.get(E), j = B && B.data, v.isValidating = !0, j && (v.data = j.data, v.error = j.error), oe = b || n, !oe || !i.isDocumentVisible() && !H || (h == null ? void 0 : h.forceRevalidate) !== void 0 && !(h != null && h.forceRevalidate) ? (v.isValidating = !1, [
478
+ return H = v.data === void 0, I = d.value, I ? (B = i.cache.get(I), j = B && B.data, v.isValidating = !0, j && (v.data = j.data, v.error = j.error), oe = S || n, !oe || !i.isDocumentVisible() && !H || (h == null ? void 0 : h.forceRevalidate) !== void 0 && !(h != null && h.forceRevalidate) ? (v.isValidating = !1, [
479
479
  2
480
480
  /*return*/
481
481
  ]) : B && (he = !!(Date.now() - B.createdAt >= i.dedupingInterval || h != null && h.forceRevalidate), !he) ? (v.isValidating = !1, [
@@ -483,19 +483,19 @@ function Et() {
483
483
  /*return*/
484
484
  ]) : (se = function() {
485
485
  return P(Ce, void 0, void 0, function() {
486
- var U, Se, ue, be;
487
- return G(this, function(W) {
486
+ var K, be, ue, Se;
487
+ return Z(this, function(W) {
488
488
  switch (W.label) {
489
489
  case 0:
490
- return U = ve.get(E), U ? [3, 2] : (Se = Array.isArray(E) ? E : [E], ue = oe.apply(void 0, Nt([], Rt(Se), !1)), ve.set(E, ue, i.dedupingInterval), [4, Te(E, ue, i.cache, u)]);
490
+ return K = ve.get(I), K ? [3, 2] : (be = Array.isArray(I) ? I : [I], ue = oe.apply(void 0, Nt([], Rt(be), !1)), ve.set(I, ue, i.dedupingInterval), [4, Te(I, ue, i.cache, u)]);
491
491
  case 1:
492
492
  return W.sent(), [3, 4];
493
493
  case 2:
494
- return [4, Te(E, U.data, i.cache, u)];
494
+ return [4, Te(I, K.data, i.cache, u)];
495
495
  case 3:
496
496
  W.sent(), W.label = 4;
497
497
  case 4:
498
- return v.isValidating = !1, ve.delete(E), v.error !== void 0 && (be = !l && i.shouldRetryOnError && (h ? h.shouldRetryOnError : !0), be && It(C, h ? h.errorRetryCount : 1, i)), [
498
+ return v.isValidating = !1, ve.delete(I), v.error !== void 0 && (Se = !l && i.shouldRetryOnError && (h ? h.shouldRetryOnError : !0), Se && Et(C, h ? h.errorRetryCount : 1, i)), [
499
499
  2
500
500
  /*return*/
501
501
  ];
@@ -504,12 +504,12 @@ function Et() {
504
504
  });
505
505
  }, j && i.revalidateDebounce ? (setTimeout(function() {
506
506
  return P(Ce, void 0, void 0, function() {
507
- return G(this, function(U) {
508
- switch (U.label) {
507
+ return Z(this, function(K) {
508
+ switch (K.label) {
509
509
  case 0:
510
510
  return l ? [3, 2] : [4, se()];
511
511
  case 1:
512
- U.sent(), U.label = 2;
512
+ K.sent(), K.label = 2;
513
513
  case 2:
514
514
  return [
515
515
  2
@@ -536,24 +536,24 @@ function Et() {
536
536
  });
537
537
  }, m = function() {
538
538
  return P(e, void 0, void 0, function() {
539
- return G(this, function(b) {
539
+ return Z(this, function(S) {
540
540
  return [2, C(null, { shouldRetryOnError: !1 })];
541
541
  });
542
542
  });
543
- }, S = null;
544
- Ke(function() {
545
- var b = function() {
543
+ }, b = null;
544
+ Ue(function() {
545
+ var S = function() {
546
546
  return P(e, void 0, void 0, function() {
547
- return G(this, function(h) {
547
+ return Z(this, function(h) {
548
548
  switch (h.label) {
549
549
  case 0:
550
550
  return !v.error && i.isOnline() ? [4, C()] : [3, 2];
551
551
  case 1:
552
552
  return h.sent(), [3, 3];
553
553
  case 2:
554
- S && clearTimeout(S), h.label = 3;
554
+ b && clearTimeout(b), h.label = 3;
555
555
  case 3:
556
- return i.refreshInterval && !l && (S = setTimeout(b, i.refreshInterval)), [
556
+ return i.refreshInterval && !l && (b = setTimeout(S, i.refreshInterval)), [
557
557
  2
558
558
  /*return*/
559
559
  ];
@@ -561,24 +561,24 @@ function Et() {
561
561
  });
562
562
  });
563
563
  };
564
- i.refreshInterval && (S = setTimeout(b, i.refreshInterval)), i.revalidateOnFocus && (document.addEventListener("visibilitychange", m, !1), window.addEventListener("focus", m, !1));
564
+ i.refreshInterval && (b = setTimeout(S, i.refreshInterval)), i.revalidateOnFocus && (document.addEventListener("visibilitychange", m, !1), window.addEventListener("focus", m, !1));
565
565
  }), Pe(function() {
566
- l = !0, S && clearTimeout(S), i.revalidateOnFocus && (document.removeEventListener("visibilitychange", m, !1), window.removeEventListener("focus", m, !1));
567
- var b = ae.get(d.value);
568
- b && (b.data = b.data.filter(function(h) {
566
+ l = !0, b && clearTimeout(b), i.revalidateOnFocus && (document.removeEventListener("visibilitychange", m, !1), window.removeEventListener("focus", m, !1));
567
+ var S = ae.get(d.value);
568
+ S && (S.data = S.data.filter(function(h) {
569
569
  return h !== v;
570
570
  }));
571
571
  });
572
572
  try {
573
- Ge(d, function(b) {
574
- Ze(d) || (d.value = b), v.key = b, v.isValidating = !!b, Tt(d.value, v, u), !s && !f && d.value && C(), f = !1;
573
+ Ze(d, function(S) {
574
+ Xe(d) || (d.value = S), v.key = S, v.isValidating = !!S, Tt(d.value, v, u), !s && !f && d.value && C(), f = !1;
575
575
  }, {
576
576
  immediate: !0
577
577
  });
578
578
  } catch {
579
579
  }
580
- var T = O(O({}, Xe(v)), { mutate: function(b, h) {
581
- return C(b, O(O({}, h), { forceRevalidate: !0 }));
580
+ var T = O(O({}, Ge(v)), { mutate: function(S, h) {
581
+ return C(S, O(O({}, h), { forceRevalidate: !0 }));
582
582
  } });
583
583
  return T;
584
584
  }
@@ -591,7 +591,7 @@ function kt(e, t, r) {
591
591
  error: n,
592
592
  isValidating: i,
593
593
  mutate: l
594
- } = Et(e, t, {
594
+ } = It(e, t, {
595
595
  revalidateDebounce: 500,
596
596
  revalidateOnFocus: !1,
597
597
  dedupingInterval: 100,
@@ -605,7 +605,7 @@ function kt(e, t, r) {
605
605
  revalidate: l
606
606
  };
607
607
  }
608
- const K = {
608
+ const U = {
609
609
  useI18n: dt,
610
610
  useMetricCardBuilder: ht,
611
611
  useMetricFetcher: mt,
@@ -652,7 +652,7 @@ const K = {
652
652
  refreshInterval: c,
653
653
  queryFn: s,
654
654
  abortController: o
655
- }, S = {
655
+ }, b = {
656
656
  metrics: g(() => [
657
657
  u.value ? "response_latency_average" : "response_latency_p99"
658
658
  ]),
@@ -668,10 +668,10 @@ const K = {
668
668
  refreshInterval: c,
669
669
  queryFn: s,
670
670
  abortController: o
671
- }, T = K.useMetricFetcher(m), b = K.useMetricFetcher(S);
671
+ }, T = U.useMetricFetcher(m), S = U.useMetricFetcher(b);
672
672
  return {
673
673
  trafficData: T,
674
- latencyData: b
674
+ latencyData: S
675
675
  };
676
676
  }, hi = /* @__PURE__ */ k({
677
677
  __name: "MetricsProvider",
@@ -736,7 +736,7 @@ const K = {
736
736
  });
737
737
  }
738
738
  });
739
- function At(e) {
739
+ function qt(e) {
740
740
  return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e;
741
741
  }
742
742
  var Me = { exports: {} };
@@ -766,18 +766,18 @@ var Me = { exports: {} };
766
766
  c.addCommas = t, e.exports = c;
767
767
  })();
768
768
  })(Me);
769
- var qt = Me.exports;
770
- const zt = /* @__PURE__ */ At(qt);
769
+ var At = Me.exports;
770
+ const zt = /* @__PURE__ */ qt(At);
771
771
  var M = /* @__PURE__ */ ((e) => (e.GENERIC_COUNT = "GenericCount", e.TRAFFIC = "Traffic", e.ERROR_RATE = "ErrorRate", e.LATENCY = "Latency", e))(M || {}), F = /* @__PURE__ */ ((e) => (e.Small = "sm", e.Medium = "md", e.Large = "lg", e.ExtraLarge = "xl", e))(F || {});
772
- const _ = "24px", V = (e, t) => {
772
+ const _ = "24px", D = (e, t) => {
773
773
  const r = e.__vccOpts || e;
774
774
  for (const [a, n] of t)
775
775
  r[a] = n;
776
776
  return r;
777
- }, Dt = (e) => (z("data-v-80a84c23"), e = e(), D(), e), Vt = ["aria-hidden"], Ot = {
777
+ }, Vt = (e) => (z("data-v-6e7c19a8"), e = e(), V(), e), Dt = ["aria-hidden"], Ot = {
778
778
  key: 0,
779
779
  "data-testid": "kui-icon-svg-title"
780
- }, Mt = /* @__PURE__ */ Dt(() => /* @__PURE__ */ x("path", {
780
+ }, Mt = /* @__PURE__ */ Vt(() => /* @__PURE__ */ x("path", {
781
781
  d: "M6.5 20C4.98333 20 3.6875 19.475 2.6125 18.425C1.5375 17.375 1 16.0917 1 14.575C1 13.275 1.39167 12.1167 2.175 11.1C2.95833 10.0833 3.98333 9.43333 5.25 9.15C5.66667 7.61667 6.5 6.375 7.75 5.425C9 4.475 10.4167 4 12 4C13.95 4 15.6042 4.67917 16.9625 6.0375C18.3208 7.39583 19 9.05 19 11C20.15 11.1333 21.1042 11.6292 21.8625 12.4875C22.6208 13.3458 23 14.35 23 15.5C23 16.75 22.5625 17.8125 21.6875 18.6875C20.8125 19.5625 19.75 20 18.5 20H13C12.45 20 11.9792 19.8042 11.5875 19.4125C11.1958 19.0208 11 18.55 11 18V12.85L9.4 14.4L8 13L12 9L16 13L14.6 14.4L13 12.85V18H18.5C19.2 18 19.7917 17.7583 20.275 17.275C20.7583 16.7917 21 16.2 21 15.5C21 14.8 20.7583 14.2083 20.275 13.725C19.7917 13.2417 19.2 13 18.5 13H17V11C17 9.61667 16.5125 8.4375 15.5375 7.4625C14.5625 6.4875 13.3833 6 12 6C10.6167 6 9.4375 6.4875 8.4625 7.4625C7.4875 8.4375 7 9.61667 7 11H6.5C5.53333 11 4.70833 11.3417 4.025 12.025C3.34167 12.7083 3 13.5333 3 14.5C3 15.4667 3.34167 16.2917 4.025 16.975C4.70833 17.6583 5.53333 18 6.5 18H9V20H6.5Z",
782
782
  fill: "currentColor"
783
783
  }, null, -1)), Ft = /* @__PURE__ */ k({
@@ -849,13 +849,13 @@ const _ = "24px", V = (e, t) => {
849
849
  lineHeight: "0",
850
850
  width: r.value
851
851
  }));
852
- return (n, i) => (p(), I(L(e.as), {
852
+ return (n, i) => (p(), E(L(e.as), {
853
853
  "aria-hidden": e.decorative ? "true" : void 0,
854
854
  class: "kui-icon cloud-upload-icon",
855
855
  "data-testid": "kui-icon-wrapper-cloud-upload-icon",
856
- style: q(a.value)
856
+ style: A(a.value)
857
857
  }, {
858
- default: A(() => [
858
+ default: q(() => [
859
859
  (p(), y("svg", {
860
860
  "aria-hidden": e.decorative ? "true" : void 0,
861
861
  "data-testid": "kui-icon-svg-cloud-upload-icon",
@@ -868,15 +868,15 @@ const _ = "24px", V = (e, t) => {
868
868
  }, [
869
869
  e.title ? (p(), y("title", Ot, w(e.title), 1)) : N("", !0),
870
870
  Mt
871
- ], 8, Vt))
871
+ ], 8, Dt))
872
872
  ]),
873
873
  _: 1
874
874
  }, 8, ["aria-hidden", "style"]));
875
875
  }
876
- }), Ht = /* @__PURE__ */ V(Ft, [["__scopeId", "data-v-80a84c23"]]), $t = (e) => (z("data-v-51fd13af"), e = e(), D(), e), Bt = ["aria-hidden"], Ut = {
876
+ }), Ht = /* @__PURE__ */ D(Ft, [["__scopeId", "data-v-6e7c19a8"]]), $t = (e) => (z("data-v-d71ed5b6"), e = e(), V(), e), Bt = ["aria-hidden"], Kt = {
877
877
  key: 0,
878
878
  "data-testid": "kui-icon-svg-title"
879
- }, Kt = /* @__PURE__ */ $t(() => /* @__PURE__ */ x("path", {
879
+ }, Ut = /* @__PURE__ */ $t(() => /* @__PURE__ */ x("path", {
880
880
  d: "M4 17V14H20V17H4ZM4 10V7H20V10H4Z",
881
881
  fill: "currentColor"
882
882
  }, null, -1)), Pt = /* @__PURE__ */ k({
@@ -948,13 +948,13 @@ const _ = "24px", V = (e, t) => {
948
948
  lineHeight: "0",
949
949
  width: r.value
950
950
  }));
951
- return (n, i) => (p(), I(L(e.as), {
951
+ return (n, i) => (p(), E(L(e.as), {
952
952
  "aria-hidden": e.decorative ? "true" : void 0,
953
953
  class: "kui-icon equal-icon",
954
954
  "data-testid": "kui-icon-wrapper-equal-icon",
955
- style: q(a.value)
955
+ style: A(a.value)
956
956
  }, {
957
- default: A(() => [
957
+ default: q(() => [
958
958
  (p(), y("svg", {
959
959
  "aria-hidden": e.decorative ? "true" : void 0,
960
960
  "data-testid": "kui-icon-svg-equal-icon",
@@ -965,17 +965,17 @@ const _ = "24px", V = (e, t) => {
965
965
  width: "100%",
966
966
  xmlns: "http://www.w3.org/2000/svg"
967
967
  }, [
968
- e.title ? (p(), y("title", Ut, w(e.title), 1)) : N("", !0),
969
- Kt
968
+ e.title ? (p(), y("title", Kt, w(e.title), 1)) : N("", !0),
969
+ Ut
970
970
  ], 8, Bt))
971
971
  ]),
972
972
  _: 1
973
973
  }, 8, ["aria-hidden", "style"]));
974
974
  }
975
- }), Gt = /* @__PURE__ */ V(Pt, [["__scopeId", "data-v-51fd13af"]]), Zt = (e) => (z("data-v-c5283a2c"), e = e(), D(), e), Xt = ["aria-hidden"], jt = {
975
+ }), Zt = /* @__PURE__ */ D(Pt, [["__scopeId", "data-v-d71ed5b6"]]), Xt = (e) => (z("data-v-32f3bfab"), e = e(), V(), e), Gt = ["aria-hidden"], jt = {
976
976
  key: 0,
977
977
  "data-testid": "kui-icon-svg-title"
978
- }, Yt = /* @__PURE__ */ Zt(() => /* @__PURE__ */ x("path", {
978
+ }, Yt = /* @__PURE__ */ Xt(() => /* @__PURE__ */ x("path", {
979
979
  d: "M5 11V9H15V11H5Z",
980
980
  fill: "currentColor"
981
981
  }, null, -1)), Qt = /* @__PURE__ */ k({
@@ -1047,13 +1047,13 @@ const _ = "24px", V = (e, t) => {
1047
1047
  lineHeight: "0",
1048
1048
  width: r.value
1049
1049
  }));
1050
- return (n, i) => (p(), I(L(e.as), {
1050
+ return (n, i) => (p(), E(L(e.as), {
1051
1051
  "aria-hidden": e.decorative ? "true" : void 0,
1052
1052
  class: "kui-icon indeterminate-small-icon",
1053
1053
  "data-testid": "kui-icon-wrapper-indeterminate-small-icon",
1054
- style: q(a.value)
1054
+ style: A(a.value)
1055
1055
  }, {
1056
- default: A(() => [
1056
+ default: q(() => [
1057
1057
  (p(), y("svg", {
1058
1058
  "aria-hidden": e.decorative ? "true" : void 0,
1059
1059
  "data-testid": "kui-icon-svg-indeterminate-small-icon",
@@ -1066,12 +1066,12 @@ const _ = "24px", V = (e, t) => {
1066
1066
  }, [
1067
1067
  e.title ? (p(), y("title", jt, w(e.title), 1)) : N("", !0),
1068
1068
  Yt
1069
- ], 8, Xt))
1069
+ ], 8, Gt))
1070
1070
  ]),
1071
1071
  _: 1
1072
1072
  }, 8, ["aria-hidden", "style"]));
1073
1073
  }
1074
- }), Fe = /* @__PURE__ */ V(Qt, [["__scopeId", "data-v-c5283a2c"]]), Wt = (e) => (z("data-v-7958c198"), e = e(), D(), e), Jt = ["aria-hidden"], er = {
1074
+ }), Fe = /* @__PURE__ */ D(Qt, [["__scopeId", "data-v-32f3bfab"]]), Wt = (e) => (z("data-v-f641d33a"), e = e(), V(), e), Jt = ["aria-hidden"], er = {
1075
1075
  key: 0,
1076
1076
  "data-testid": "kui-icon-svg-title"
1077
1077
  }, tr = /* @__PURE__ */ Wt(() => /* @__PURE__ */ x("path", {
@@ -1146,13 +1146,13 @@ const _ = "24px", V = (e, t) => {
1146
1146
  lineHeight: "0",
1147
1147
  width: r.value
1148
1148
  }));
1149
- return (n, i) => (p(), I(L(e.as), {
1149
+ return (n, i) => (p(), E(L(e.as), {
1150
1150
  "aria-hidden": e.decorative ? "true" : void 0,
1151
1151
  class: "kui-icon info-icon",
1152
1152
  "data-testid": "kui-icon-wrapper-info-icon",
1153
- style: q(a.value)
1153
+ style: A(a.value)
1154
1154
  }, {
1155
- default: A(() => [
1155
+ default: q(() => [
1156
1156
  (p(), y("svg", {
1157
1157
  "aria-hidden": e.decorative ? "true" : void 0,
1158
1158
  "data-testid": "kui-icon-svg-info-icon",
@@ -1170,7 +1170,7 @@ const _ = "24px", V = (e, t) => {
1170
1170
  _: 1
1171
1171
  }, 8, ["aria-hidden", "style"]));
1172
1172
  }
1173
- }), ir = /* @__PURE__ */ V(rr, [["__scopeId", "data-v-7958c198"]]), nr = (e) => (z("data-v-d0ffb1de"), e = e(), D(), e), ar = ["aria-hidden"], or = {
1173
+ }), ir = /* @__PURE__ */ D(rr, [["__scopeId", "data-v-f641d33a"]]), nr = (e) => (z("data-v-ff64c8af"), e = e(), V(), e), ar = ["aria-hidden"], or = {
1174
1174
  key: 0,
1175
1175
  "data-testid": "kui-icon-svg-title"
1176
1176
  }, sr = /* @__PURE__ */ nr(() => /* @__PURE__ */ x("path", {
@@ -1245,13 +1245,13 @@ const _ = "24px", V = (e, t) => {
1245
1245
  lineHeight: "0",
1246
1246
  width: r.value
1247
1247
  }));
1248
- return (n, i) => (p(), I(L(e.as), {
1248
+ return (n, i) => (p(), E(L(e.as), {
1249
1249
  "aria-hidden": e.decorative ? "true" : void 0,
1250
1250
  class: "kui-icon response-icon",
1251
1251
  "data-testid": "kui-icon-wrapper-response-icon",
1252
- style: q(a.value)
1252
+ style: A(a.value)
1253
1253
  }, {
1254
- default: A(() => [
1254
+ default: q(() => [
1255
1255
  (p(), y("svg", {
1256
1256
  "aria-hidden": e.decorative ? "true" : void 0,
1257
1257
  "data-testid": "kui-icon-svg-response-icon",
@@ -1269,7 +1269,7 @@ const _ = "24px", V = (e, t) => {
1269
1269
  _: 1
1270
1270
  }, 8, ["aria-hidden", "style"]));
1271
1271
  }
1272
- }), ur = /* @__PURE__ */ V(lr, [["__scopeId", "data-v-d0ffb1de"]]), dr = (e) => (z("data-v-7939cf04"), e = e(), D(), e), cr = ["aria-hidden"], fr = {
1272
+ }), ur = /* @__PURE__ */ D(lr, [["__scopeId", "data-v-ff64c8af"]]), dr = (e) => (z("data-v-19d79ba8"), e = e(), V(), e), cr = ["aria-hidden"], fr = {
1273
1273
  key: 0,
1274
1274
  "data-testid": "kui-icon-svg-title"
1275
1275
  }, vr = /* @__PURE__ */ dr(() => /* @__PURE__ */ x("path", {
@@ -1344,13 +1344,13 @@ const _ = "24px", V = (e, t) => {
1344
1344
  lineHeight: "0",
1345
1345
  width: r.value
1346
1346
  }));
1347
- return (n, i) => (p(), I(L(e.as), {
1347
+ return (n, i) => (p(), E(L(e.as), {
1348
1348
  "aria-hidden": e.decorative ? "true" : void 0,
1349
1349
  class: "kui-icon trend-down-icon",
1350
1350
  "data-testid": "kui-icon-wrapper-trend-down-icon",
1351
- style: q(a.value)
1351
+ style: A(a.value)
1352
1352
  }, {
1353
- default: A(() => [
1353
+ default: q(() => [
1354
1354
  (p(), y("svg", {
1355
1355
  "aria-hidden": e.decorative ? "true" : void 0,
1356
1356
  "data-testid": "kui-icon-svg-trend-down-icon",
@@ -1368,13 +1368,13 @@ const _ = "24px", V = (e, t) => {
1368
1368
  _: 1
1369
1369
  }, 8, ["aria-hidden", "style"]));
1370
1370
  }
1371
- }), gr = /* @__PURE__ */ V(pr, [["__scopeId", "data-v-7939cf04"]]), yr = (e) => (z("data-v-c6ab90e9"), e = e(), D(), e), mr = ["aria-hidden"], hr = {
1371
+ }), gr = /* @__PURE__ */ D(pr, [["__scopeId", "data-v-19d79ba8"]]), yr = (e) => (z("data-v-d4a4b583"), e = e(), V(), e), mr = ["aria-hidden"], hr = {
1372
1372
  key: 0,
1373
1373
  "data-testid": "kui-icon-svg-title"
1374
1374
  }, Cr = /* @__PURE__ */ yr(() => /* @__PURE__ */ x("path", {
1375
1375
  d: "M3.4 18L2 16.6L9.4 9.15L13.4 13.15L18.6 8H16V6H22V12H20V9.4L13.4 16L9.4 12L3.4 18Z",
1376
1376
  fill: "currentColor"
1377
- }, null, -1)), Sr = /* @__PURE__ */ k({
1377
+ }, null, -1)), br = /* @__PURE__ */ k({
1378
1378
  __name: "TrendUpIcon",
1379
1379
  props: {
1380
1380
  /** The accessibility text provided to screen readers */
@@ -1443,13 +1443,13 @@ const _ = "24px", V = (e, t) => {
1443
1443
  lineHeight: "0",
1444
1444
  width: r.value
1445
1445
  }));
1446
- return (n, i) => (p(), I(L(e.as), {
1446
+ return (n, i) => (p(), E(L(e.as), {
1447
1447
  "aria-hidden": e.decorative ? "true" : void 0,
1448
1448
  class: "kui-icon trend-up-icon",
1449
1449
  "data-testid": "kui-icon-wrapper-trend-up-icon",
1450
- style: q(a.value)
1450
+ style: A(a.value)
1451
1451
  }, {
1452
- default: A(() => [
1452
+ default: q(() => [
1453
1453
  (p(), y("svg", {
1454
1454
  "aria-hidden": e.decorative ? "true" : void 0,
1455
1455
  "data-testid": "kui-icon-svg-trend-up-icon",
@@ -1467,7 +1467,7 @@ const _ = "24px", V = (e, t) => {
1467
1467
  _: 1
1468
1468
  }, 8, ["aria-hidden", "style"]));
1469
1469
  }
1470
- }), br = /* @__PURE__ */ V(Sr, [["__scopeId", "data-v-c6ab90e9"]]), _r = (e) => (z("data-v-989e7f51"), e = e(), D(), e), wr = ["aria-hidden"], Rr = {
1470
+ }), Sr = /* @__PURE__ */ D(br, [["__scopeId", "data-v-d4a4b583"]]), _r = (e) => (z("data-v-037898c7"), e = e(), V(), e), wr = ["aria-hidden"], Rr = {
1471
1471
  key: 0,
1472
1472
  "data-testid": "kui-icon-svg-title"
1473
1473
  }, Nr = /* @__PURE__ */ _r(() => /* @__PURE__ */ x("path", {
@@ -1542,13 +1542,13 @@ const _ = "24px", V = (e, t) => {
1542
1542
  lineHeight: "0",
1543
1543
  width: r.value
1544
1544
  }));
1545
- return (n, i) => (p(), I(L(e.as), {
1545
+ return (n, i) => (p(), E(L(e.as), {
1546
1546
  "aria-hidden": e.decorative ? "true" : void 0,
1547
1547
  class: "kui-icon vitals-icon",
1548
1548
  "data-testid": "kui-icon-wrapper-vitals-icon",
1549
- style: q(a.value)
1549
+ style: A(a.value)
1550
1550
  }, {
1551
- default: A(() => [
1551
+ default: q(() => [
1552
1552
  (p(), y("svg", {
1553
1553
  "aria-hidden": e.decorative ? "true" : void 0,
1554
1554
  "data-testid": "kui-icon-svg-vitals-icon",
@@ -1566,13 +1566,13 @@ const _ = "24px", V = (e, t) => {
1566
1566
  _: 1
1567
1567
  }, 8, ["aria-hidden", "style"]));
1568
1568
  }
1569
- }), Ir = /* @__PURE__ */ V(Tr, [["__scopeId", "data-v-989e7f51"]]), Er = (e) => (z("data-v-5fc3c6c8"), e = e(), D(), e), xr = ["aria-hidden"], kr = {
1569
+ }), Er = /* @__PURE__ */ D(Tr, [["__scopeId", "data-v-037898c7"]]), Ir = (e) => (z("data-v-5c520bd5"), e = e(), V(), e), xr = ["aria-hidden"], kr = {
1570
1570
  key: 0,
1571
1571
  "data-testid": "kui-icon-svg-title"
1572
- }, Lr = /* @__PURE__ */ Er(() => /* @__PURE__ */ x("path", {
1572
+ }, Lr = /* @__PURE__ */ Ir(() => /* @__PURE__ */ x("path", {
1573
1573
  d: "M12.0001 22.025C11.7334 22.025 11.4793 21.975 11.2376 21.875C10.9959 21.775 10.7751 21.6333 10.5751 21.45L2.5501 13.425C2.36676 13.225 2.2251 13.0041 2.1251 12.7625C2.0251 12.5208 1.9751 12.2666 1.9751 12C1.9751 11.7333 2.0251 11.475 2.1251 11.225C2.2251 10.975 2.36676 10.7583 2.5501 10.575L10.5751 2.54998C10.7751 2.34998 10.9959 2.20414 11.2376 2.11248C11.4793 2.02081 11.7334 1.97498 12.0001 1.97498C12.2668 1.97498 12.5251 2.02081 12.7751 2.11248C13.0251 2.20414 13.2418 2.34998 13.4251 2.54998L21.4501 10.575C21.6501 10.7583 21.7959 10.975 21.8876 11.225C21.9793 11.475 22.0251 11.7333 22.0251 12C22.0251 12.2666 21.9793 12.5208 21.8876 12.7625C21.7959 13.0041 21.6501 13.225 21.4501 13.425L13.4251 21.45C13.2418 21.6333 13.0251 21.775 12.7751 21.875C12.5251 21.975 12.2668 22.025 12.0001 22.025ZM12.0001 20.025L20.0251 12L12.0001 3.97498L3.9751 12L12.0001 20.025ZM11.0001 13H13.0001V6.99998H11.0001V13ZM12.0001 16C12.2834 16 12.5209 15.9041 12.7126 15.7125C12.9043 15.5208 13.0001 15.2833 13.0001 15C13.0001 14.7166 12.9043 14.4791 12.7126 14.2875C12.5209 14.0958 12.2834 14 12.0001 14C11.7168 14 11.4793 14.0958 11.2876 14.2875C11.0959 14.4791 11.0001 14.7166 11.0001 15C11.0001 15.2833 11.0959 15.5208 11.2876 15.7125C11.4793 15.9041 11.7168 16 12.0001 16Z",
1574
1574
  fill: "currentColor"
1575
- }, null, -1)), Ar = /* @__PURE__ */ k({
1575
+ }, null, -1)), qr = /* @__PURE__ */ k({
1576
1576
  __name: "WarningOutlineIcon",
1577
1577
  props: {
1578
1578
  /** The accessibility text provided to screen readers */
@@ -1641,13 +1641,13 @@ const _ = "24px", V = (e, t) => {
1641
1641
  lineHeight: "0",
1642
1642
  width: r.value
1643
1643
  }));
1644
- return (n, i) => (p(), I(L(e.as), {
1644
+ return (n, i) => (p(), E(L(e.as), {
1645
1645
  "aria-hidden": e.decorative ? "true" : void 0,
1646
1646
  class: "kui-icon warning-outline-icon",
1647
1647
  "data-testid": "kui-icon-wrapper-warning-outline-icon",
1648
- style: q(a.value)
1648
+ style: A(a.value)
1649
1649
  }, {
1650
- default: A(() => [
1650
+ default: q(() => [
1651
1651
  (p(), y("svg", {
1652
1652
  "aria-hidden": e.decorative ? "true" : void 0,
1653
1653
  "data-testid": "kui-icon-svg-warning-outline-icon",
@@ -1665,7 +1665,7 @@ const _ = "24px", V = (e, t) => {
1665
1665
  _: 1
1666
1666
  }, 8, ["aria-hidden", "style"]));
1667
1667
  }
1668
- }), qr = /* @__PURE__ */ V(Ar, [["__scopeId", "data-v-5fc3c6c8"]]), zr = (e) => (z("data-v-9f0a015f"), e = e(), D(), e), Dr = ["aria-hidden"], Vr = {
1668
+ }), Ar = /* @__PURE__ */ D(qr, [["__scopeId", "data-v-5c520bd5"]]), zr = (e) => (z("data-v-26958fb8"), e = e(), V(), e), Vr = ["aria-hidden"], Dr = {
1669
1669
  key: 0,
1670
1670
  "data-testid": "kui-icon-svg-title"
1671
1671
  }, Or = /* @__PURE__ */ zr(() => /* @__PURE__ */ x("path", {
@@ -1740,13 +1740,13 @@ const _ = "24px", V = (e, t) => {
1740
1740
  lineHeight: "0",
1741
1741
  width: r.value
1742
1742
  }));
1743
- return (n, i) => (p(), I(L(e.as), {
1743
+ return (n, i) => (p(), E(L(e.as), {
1744
1744
  "aria-hidden": e.decorative ? "true" : void 0,
1745
1745
  class: "kui-icon warning-icon",
1746
1746
  "data-testid": "kui-icon-wrapper-warning-icon",
1747
- style: q(a.value)
1747
+ style: A(a.value)
1748
1748
  }, {
1749
- default: A(() => [
1749
+ default: q(() => [
1750
1750
  (p(), y("svg", {
1751
1751
  "aria-hidden": e.decorative ? "true" : void 0,
1752
1752
  "data-testid": "kui-icon-svg-warning-icon",
@@ -1757,20 +1757,20 @@ const _ = "24px", V = (e, t) => {
1757
1757
  width: "100%",
1758
1758
  xmlns: "http://www.w3.org/2000/svg"
1759
1759
  }, [
1760
- e.title ? (p(), y("title", Vr, w(e.title), 1)) : N("", !0),
1760
+ e.title ? (p(), y("title", Dr, w(e.title), 1)) : N("", !0),
1761
1761
  Or
1762
- ], 8, Dr))
1762
+ ], 8, Vr))
1763
1763
  ]),
1764
1764
  _: 1
1765
1765
  }, 8, ["aria-hidden", "style"]));
1766
1766
  }
1767
- }), He = /* @__PURE__ */ V(Mr, [["__scopeId", "data-v-9f0a015f"]]), ye = 2, Ie = ye + 2, Fr = (e, t, r = !1) => {
1768
- let a = !t || Number(e.toFixed(Ie)) === 0 ? 0 : Number(e.toFixed(Ie)) > 0 ? 1 : -1;
1767
+ }), He = /* @__PURE__ */ D(Mr, [["__scopeId", "data-v-26958fb8"]]), ye = 2, Ee = ye + 2, Fr = (e, t, r = !1) => {
1768
+ let a = !t || Number(e.toFixed(Ee)) === 0 ? 0 : Number(e.toFixed(Ee)) > 0 ? 1 : -1;
1769
1769
  return r && (a *= -1), a;
1770
- }, Hr = (e, t, r) => t ? `${Math.abs(e * 100).toFixed(ye)}%` : r, $r = (e, t) => t === 0 ? 0 : e / t - 1, Br = (e, t = !1) => (t && (e *= -1), e > 0 ? br : e < 0 ? gr : Fe), Ur = "#ad000e", pe = "#6c7489", Ee = "#52596e", Kr = "#007d60", ee = "16px", Pr = "20px", Gr = { class: "metricscard" }, Zr = {
1770
+ }, Hr = (e, t, r) => t ? `${Math.abs(e * 100).toFixed(ye)}%` : r, $r = (e, t) => t === 0 ? 0 : e / t - 1, Br = (e, t = !1) => (t && (e *= -1), e > 0 ? Sr : e < 0 ? gr : Fe), Kr = "#ad000e", pe = "#6c7489", Ie = "#52596e", Ur = "#007d60", ee = "16px", Pr = "20px", Zr = { class: "metricscard" }, Xr = {
1771
1771
  key: 0,
1772
1772
  class: "metricscard-description"
1773
- }, Xr = { class: "metricscard-valuetrend" }, jr = {
1773
+ }, Gr = { class: "metricscard-valuetrend" }, jr = {
1774
1774
  key: 0,
1775
1775
  class: "metricscard-error"
1776
1776
  }, Yr = {
@@ -1852,44 +1852,44 @@ const _ = "24px", V = (e, t) => {
1852
1852
  },
1853
1853
  setup(e) {
1854
1854
  const t = /* @__PURE__ */ new Map([
1855
- [M.GENERIC_COUNT, Ir],
1855
+ [M.GENERIC_COUNT, Er],
1856
1856
  [M.TRAFFIC, Ht],
1857
- [M.ERROR_RATE, qr],
1857
+ [M.ERROR_RATE, Ar],
1858
1858
  [M.LATENCY, ur]
1859
1859
  ]), r = e, a = (f) => {
1860
1860
  const c = {
1861
- red: `var(--kong-ui-metric-card-trend-negative, ${Ur})`,
1862
- green: `var(--kong-ui-metric-card-trend-positive, ${Kr})`,
1863
- grey: `var(--kong-ui-metric-card-trend-neutral, ${Ee})`
1861
+ red: `var(--kong-ui-metric-card-trend-negative, ${Kr})`,
1862
+ green: `var(--kong-ui-metric-card-trend-positive, ${Ur})`,
1863
+ grey: `var(--kong-ui-metric-card-trend-neutral, ${Ie})`
1864
1864
  };
1865
1865
  return f > 0 ? c.green : f < 0 ? c.red : c.grey;
1866
1866
  }, n = (f) => f > 0 ? "positive" : f < 0 ? "negative" : "neutral", i = [F.Medium, F.Large].includes(r.cardSize), l = [F.Small].includes(r.cardSize);
1867
1867
  return (f, c) => {
1868
- const o = Ae("KTooltip");
1869
- return p(), y("div", Gr, [
1868
+ const o = qe("KTooltip");
1869
+ return p(), y("div", Zr, [
1870
1870
  x("div", {
1871
1871
  class: Y(["metricscard-title", e.cardSize])
1872
1872
  }, [
1873
- R(l) ? N("", !0) : (p(), I(L(R(t).get(e.cardType)), {
1873
+ R(l) ? N("", !0) : (p(), E(L(R(t).get(e.cardType)), {
1874
1874
  key: 0,
1875
1875
  class: "metricscard-icon",
1876
1876
  color: R(pe),
1877
1877
  size: R(ee)
1878
1878
  }, null, 8, ["color", "size"])),
1879
- (p(), I(L(e.titleTag), null, {
1880
- default: A(() => [
1881
- qe(w(e.title), 1)
1879
+ (p(), E(L(e.titleTag), null, {
1880
+ default: q(() => [
1881
+ Ae(w(e.title), 1)
1882
1882
  ]),
1883
1883
  _: 1
1884
1884
  })),
1885
- e.tooltip ? (p(), I(o, {
1885
+ e.tooltip ? (p(), E(o, {
1886
1886
  key: 1,
1887
1887
  class: "metricscard-tooltip",
1888
1888
  placement: "right",
1889
1889
  text: e.tooltip
1890
1890
  }, {
1891
- default: A(() => [
1892
- X(R(ir), {
1891
+ default: q(() => [
1892
+ G(R(ir), {
1893
1893
  color: R(pe),
1894
1894
  size: R(ee)
1895
1895
  }, null, 8, ["color", "size"])
@@ -1897,12 +1897,12 @@ const _ = "24px", V = (e, t) => {
1897
1897
  _: 1
1898
1898
  }, 8, ["text"])) : N("", !0)
1899
1899
  ], 2),
1900
- e.description && R(i) ? (p(), y("div", Zr, [
1900
+ e.description && R(i) ? (p(), y("div", Xr, [
1901
1901
  x("span", null, w(e.description), 1)
1902
1902
  ])) : N("", !0),
1903
- x("div", Xr, [
1903
+ x("div", Gr, [
1904
1904
  e.hasError ? (p(), y("div", jr, [
1905
- X(R(He), {
1905
+ G(R(He), {
1906
1906
  color: R(pe),
1907
1907
  size: R(Pr)
1908
1908
  }, null, 8, ["color", "size"]),
@@ -1917,13 +1917,13 @@ const _ = "24px", V = (e, t) => {
1917
1917
  class: Y(["metricscard-trend-change", n(e.changePolarity)]),
1918
1918
  "data-testid": "metric-trend-parent"
1919
1919
  }, [
1920
- e.changePolarity !== 0 ? (p(), I(L(e.trendIcon), {
1920
+ e.changePolarity !== 0 ? (p(), E(L(e.trendIcon), {
1921
1921
  key: 0,
1922
1922
  color: a(e.changePolarity),
1923
1923
  size: R(ee)
1924
- }, null, 8, ["color", "size"])) : (p(), I(R(Gt), {
1924
+ }, null, 8, ["color", "size"])) : (p(), E(R(Zt), {
1925
1925
  key: 1,
1926
- color: R(Ee),
1926
+ color: R(Ie),
1927
1927
  size: R(ee)
1928
1928
  }, null, 8, ["color", "size"])),
1929
1929
  x("div", Qr, w(e.metricChange), 1)
@@ -1941,10 +1941,10 @@ const _ = "24px", V = (e, t) => {
1941
1941
  return r;
1942
1942
  }, ei = /* @__PURE__ */ me(Jr, [["__scopeId", "data-v-1b8a31a0"]]), ti = {}, ri = { class: "loading-tabs" };
1943
1943
  function ii(e, t) {
1944
- const r = Ae("KSkeletonBox");
1944
+ const r = qe("KSkeletonBox");
1945
1945
  return p(), y("div", ri, [
1946
- X(r, { width: "100" }),
1947
- X(r, { width: "75" })
1946
+ G(r, { width: "100" }),
1947
+ G(r, { width: "75" })
1948
1948
  ]);
1949
1949
  }
1950
1950
  const ni = /* @__PURE__ */ me(ti, [["render", ii], ["__scopeId", "data-v-f7eb9c40"]]), ai = {
@@ -2020,18 +2020,18 @@ const ni = /* @__PURE__ */ me(ti, [["render", ii], ["__scopeId", "data-v-f7eb9c4
2020
2020
  class: Y(["kong-ui-public-metric-card-container", e.cardSize])
2021
2021
  }, [
2022
2022
  t.containerTitle ? (p(), y("div", ai, [
2023
- qe(w(t.containerTitle) + " ", 1),
2023
+ Ae(w(t.containerTitle) + " ", 1),
2024
2024
  t.containerDescription ? (p(), y("div", oi, w(t.containerDescription), 1)) : N("", !0)
2025
2025
  ])) : N("", !0),
2026
2026
  r.value ? (p(), y("div", si, [
2027
- X(R(He), { class: "error-display-icon" }),
2027
+ G(R(He), { class: "error-display-icon" }),
2028
2028
  e.errorMessage ? (p(), y("div", li, w(e.errorMessage), 1)) : N("", !0)
2029
2029
  ])) : (p(), y("div", ui, [
2030
2030
  (p(!0), y(_e, null, Ye(e.cards, (l, f) => (p(), y(_e, null, [
2031
- e.loading ? (p(), I(ni, {
2031
+ e.loading ? (p(), E(ni, {
2032
2032
  key: `skeleton-${f}`,
2033
2033
  class: Y(e.cardSize === R(F).Small ? "loading-tabs-small" : "loading-tabs-large")
2034
- }, null, 8, ["class"])) : (p(), I(ei, Qe({
2034
+ }, null, 8, ["class"])) : (p(), E(ei, Qe({
2035
2035
  key: f,
2036
2036
  ref_for: !0
2037
2037
  }, a(l), {
@@ -2060,7 +2060,7 @@ const ni = /* @__PURE__ */ me(ti, [["render", ii], ["__scopeId", "data-v-f7eb9c4
2060
2060
  const t = e, r = ke(Oe);
2061
2061
  if (!r)
2062
2062
  throw new Error("MetricsConsumer must be nested inside a MetricsProvider instance.");
2063
- const { traffic: a, latency: n } = r.data, { i18n: i } = K.useI18n(), l = K.useMetricCardBuilder({
2063
+ const { traffic: a, latency: n } = r.data, { i18n: i } = U.useI18n(), l = U.useMetricCardBuilder({
2064
2064
  cardType: M.TRAFFIC,
2065
2065
  title: g(() => r.longCardTitles ? i.t("metricCard.long.traffic") : i.t("metricCard.short.traffic")),
2066
2066
  record: a.mapped,
@@ -2069,21 +2069,21 @@ const ni = /* @__PURE__ */ me(ti, [["render", ii], ["__scopeId", "data-v-f7eb9c4
2069
2069
  sumGroupedValues: Q,
2070
2070
  trendRange: a.trendRange
2071
2071
  }), f = (m) => `${m.toFixed(ye)}%`, c = g(() => {
2072
- const m = a.mapped.value, S = Z(m, "current", t.lookupKey, we), T = Z(m, "current", t.lookupKey, Q), b = S / T * 100 || 0, h = Z(m, "previous", t.lookupKey, we), H = Z(m, "previous", t.lookupKey, Q), E = h / H * 100 || 0;
2072
+ const m = a.mapped.value, b = X(m, "current", t.lookupKey, we), T = X(m, "current", t.lookupKey, Q), S = b / T * 100 || 0, h = X(m, "previous", t.lookupKey, we), H = X(m, "previous", t.lookupKey, Q), I = h / H * 100 || 0;
2073
2073
  return {
2074
2074
  cardType: M.ERROR_RATE,
2075
2075
  hasError: a.hasError.value,
2076
- currentValue: b,
2077
- previousValue: E,
2076
+ currentValue: S,
2077
+ previousValue: I,
2078
2078
  formatValueFn: f,
2079
2079
  title: r.longCardTitles ? i.t("metricCard.long.errorRate") : i.t("metricCard.short.errorRate"),
2080
2080
  increaseIsBad: !0,
2081
2081
  trendRange: a.trendRange.value
2082
2082
  };
2083
- }), o = (m) => `${m}ms`, s = K.useMetricCardBuilder({
2083
+ }), o = (m) => `${m}ms`, s = U.useMetricCardBuilder({
2084
2084
  cardType: M.LATENCY,
2085
2085
  title: g(() => {
2086
- const { longCardTitles: m, averageLatencies: S } = r, T = S.value ? "averageLatency" : "p99Latency";
2086
+ const { longCardTitles: m, averageLatencies: b } = r, T = b.value ? "averageLatency" : "p99Latency";
2087
2087
  return m ? i.t(`metricCard.long.${T}`) : i.t(`metricCard.short.${T}`);
2088
2088
  }),
2089
2089
  hasError: n.hasError,
@@ -2110,11 +2110,11 @@ const ni = /* @__PURE__ */ me(ti, [["render", ii], ["__scopeId", "data-v-f7eb9c4
2110
2110
  errorRateFormatted: f(c.value.currentValue),
2111
2111
  latencyFormatted: o(s.value.currentValue)
2112
2112
  }));
2113
- return (m, S) => Le(m.$slots, "default", { cardValues: C.value }, () => [
2114
- X(ci, We(Je(v.value)), null, 16)
2113
+ return (m, b) => Le(m.$slots, "default", { cardValues: C.value }, () => [
2114
+ G(ci, We(Je(v.value)), null, 16)
2115
2115
  ]);
2116
2116
  }
2117
- }), te = (e) => new Date(e), Si = (e, t) => {
2117
+ }), te = (e) => new Date(e), bi = (e, t) => {
2118
2118
  const r = e.body;
2119
2119
  e.reply({
2120
2120
  statusCode: 200,
@@ -2125,21 +2125,21 @@ const ni = /* @__PURE__ */ me(ti, [["render", ii], ["__scopeId", "data-v-f7eb9c4
2125
2125
  const r = ie.get(ne.ONE_DAY), a = e.granularity === "trend" ? new tt(r) : new rt(r), n = a.endMs(), i = a.startMs(), l = a.granularityMs(), f = e.granularity === "trend" ? 2 : 1;
2126
2126
  if ((e.dimensions ?? []).length > 2)
2127
2127
  throw new Error(`Explore only supports 0-2 dimensions; got: ${JSON.stringify(e.dimensions)}`);
2128
- const c = (e.dimensions ?? []).find((S) => S !== "time"), o = (t == null ? void 0 : t.dimensionNames) ?? [], s = Math.max(o.length, 1), u = e.metrics || [], d = [];
2129
- for (let S = 0; S < f; S++)
2128
+ const c = (e.dimensions ?? []).find((b) => b !== "time"), o = (t == null ? void 0 : t.dimensionNames) ?? [], s = Math.max(o.length, 1), u = e.metrics || [], d = [];
2129
+ for (let b = 0; b < f; b++)
2130
2130
  for (let T = 0; T < s; T++) {
2131
- const b = c ? { [c]: o[T] } : {};
2131
+ const S = c ? { [c]: o[T] } : {};
2132
2132
  (C = e.dimensions) != null && C.includes("status_code_grouped") ? Q.forEach((h) => {
2133
- const H = u.reduce((E, B) => (E[B] = (f - S) * 1e3 + 100 * T + 1, E), { ...b, status_code_grouped: h });
2133
+ const H = u.reduce((I, B) => (I[B] = (f - b) * 1e3 + 100 * T + 1, I), { ...S, status_code_grouped: h });
2134
2134
  d.push({
2135
2135
  version: "v1",
2136
- timestamp: S === 0 ? te(i).toISOString() : te(i + l).toISOString(),
2136
+ timestamp: b === 0 ? te(i).toISOString() : te(i + l).toISOString(),
2137
2137
  event: H
2138
2138
  });
2139
2139
  }) : d.push({
2140
2140
  version: "v1",
2141
- timestamp: S === 0 ? te(i).toISOString() : te(i + l).toISOString(),
2142
- event: u.reduce((h, H) => (h[H] = (f - S) * 1e3 + 100 * T + 1, h), { ...b })
2141
+ timestamp: b === 0 ? te(i).toISOString() : te(i + l).toISOString(),
2142
+ event: u.reduce((h, H) => (h[H] = (f - b) * 1e3 + 100 * T + 1, h), { ...S })
2143
2143
  });
2144
2144
  }
2145
2145
  const v = {
@@ -2170,5 +2170,5 @@ export {
2170
2170
  we as STATUS_CODES_FAILED,
2171
2171
  mi as STATUS_CODES_SUCCESS,
2172
2172
  fi as mockExploreResponse,
2173
- Si as mockExploreResponseFromCypress
2173
+ bi as mockExploreResponseFromCypress
2174
2174
  };
@@ -1 +1 @@
1
- (function(v,t){typeof exports=="object"&&typeof module<"u"?t(exports,require("vue"),require("@kong-ui-public/analytics-utilities"),require("@kong-ui-public/i18n"),require("@kong-ui-public/analytics-config-store")):typeof define=="function"&&define.amd?define(["exports","vue","@kong-ui-public/analytics-utilities","@kong-ui-public/i18n","@kong-ui-public/analytics-config-store"],t):(v=typeof globalThis<"u"?globalThis:v||self,t(v["kong-ui-public-vitals-metric-provider"]={},v.Vue,v["kong-ui-public-analytics-utilities"],v["kong-ui-public-i18n"],v["kong-ui-public-analytics-config-store"]))})(this,function(v,t,_,re,_e){"use strict";const Ne={general:{notAvailable:"N/A"},metricCard:{short:{traffic:"Requests",errorRate:"Error Rate",averageLatency:"Average Latency",p99Latency:"P99 Latency"},long:{traffic:"Number of Requests",errorRate:"Average Error Rate",averageLatency:"Average Latency",p99Latency:"P99 Latency"}},trendRange:{custom:"vs previous {numDays, plural, =1 {day} other {# days}}","15m":"vs previous 15 minutes","1h":"vs previous hour","6h":"vs previous 6 hours","12h":"vs previous 12 hours","24h":"vs previous 24 hours","7d":"vs previous 7 days","30d":"vs previous 30 days",current_week:"vs previous week",current_month:"vs previous month",current_quarter:"vs previous quarter",previous_week:"vs previous time period",previous_month:"vs previous time period",previous_quarter:"vs previous quarter"}};function we(){const e=re.createI18n("en-us",Ne);return{i18n:e,i18nT:re.i18nTComponent(e)}}const ie=2,L=["1XX","2XX","3XX","4XX","5XX"],P=["4XX","5XX"],Re=["1XX","2XX","3XX"],ne=30*1e3,ae="analytics-query-provider";var oe=(e=>(e.VALIDATING="VALIDATING",e.VALIDATING_HAS_DATA="VALIDATING_HAS_DATA",e.PENDING="PENDING",e.SUCCESS="SUCCESS",e.SUCCESS_HAS_DATA="SUCCESS_HAS_DATA",e.ERROR="ERROR",e.STALE_IF_ERROR="STALE_IF_ERROR",e))(oe||{});const Te=e=>{var r,i,o,a,n;return e?!!((r=Object.keys(e))!=null&&r.length||(i=e.data)!=null&&i.length||(a=(o=e.data)==null?void 0:o.data)!=null&&a.length||!((n=e.data)!=null&&n.data)&&typeof e.data=="object"&&Object.keys(e==null?void 0:e.data).length):!1};function Ie(e=t.ref({}),r,i,o=Te){const a=t.ref("PENDING");return t.watchEffect(()=>{const n=o(e.value);if(e.value&&n&&i.value){a.value="VALIDATING_HAS_DATA";return}if(e.value&&i.value){a.value="VALIDATING";return}if(e.value&&r.value){a.value="STALE_IF_ERROR";return}if(e.value===void 0&&!r.value){a.value="PENDING";return}if(e.value&&!r.value&&n){a.value="SUCCESS_HAS_DATA";return}if(e.value&&!r.value){a.value="SUCCESS";return}e.value===void 0&&r&&(a.value="ERROR")}),{state:a,swrvState:oe}}const I=Symbol("default"),K="status_code_grouped",le=(e,r,i,o,a)=>{e[r][i]||(e[r][i]={}),e[r][i][o]=a};function Be(e,r){var p;const i=((p=e.meta.metric_names)==null?void 0:p[0])||"",o=e.meta.start_ms,a=Object.keys(e.meta.display||{}),n=!!a.find(f=>f===K),c=a.find(f=>f!==K);return a.length>2||a.length>1&&!n?(console.error("Don't know how to work with provided dimensions:",a),{previous:{[I]:{[I]:0}},current:{[I]:{[I]:0}}}):e.data.reduce((f,l)=>{const s=l.event[i],d=c?l.event[c]:I,u=n?l.event[K]:I;return new Date(l.timestamp).getTime()===o&&r?le(f,"previous",d,u,s):le(f,"current",d,u,s),f},{previous:{},current:{}})}function Ve(e){e.queryReady===void 0&&(e.queryReady=t.computed(()=>!0));const{i18n:r}=V.useI18n(),i=t.computed(()=>{var d,u;return{metrics:e.metrics.value,dimensions:[...(d=e.dimensions)!=null&&d.length?[...e.dimensions]:[],...e.withTrend.value?["time"]:[]],granularity:e.withTrend.value?"trend":void 0,...(u=e.filter.value)!=null&&u.length?{filters:e.filter.value}:{},time_range:e.timeframe.value.v4Query(e.tz.value)}}),o=t.computed(()=>{var u,m,h,g;if(!((u=e.queryReady)!=null&&u.value))return null;const d=(m=e.filter)!=null&&m.value?JSON.stringify(e.filter.value):"";return`metric-fetcher-${e.timeframe.value.cacheKey()}-${(h=e.dimensions)==null?void 0:h.join("-")}-${(g=e.metrics.value)==null?void 0:g.join("-")}-${d}`}),{response:a,error:n,isValidating:c}=V.useRequest(()=>o.value,()=>e.queryFn(i.value,e.abortController??new AbortController),{refreshInterval:e.refreshInterval,revalidateOnFocus:!1,errorRetryCount:ie}),{state:p,swrvState:f}=Ie(a,n,c),l=t.computed(()=>{var d,u,m,h,g,C,E;return!((u=(d=a.value)==null?void 0:d.data)!=null&&u.length)||!((h=(m=a.value)==null?void 0:m.meta)!=null&&h.display)||!((E=(C=(g=a.value)==null?void 0:g.meta)==null?void 0:C.metric_names)!=null&&E.length)?{current:{},previous:{}}:Be(a.value,e.withTrend.value)}),s=t.computed(()=>{var d,u,m;if(e.timeframe.value.key==="custom"){if(!((u=(d=a.value)==null?void 0:d.meta)!=null&&u.start_ms))return"";const{start_ms:h,end_ms:g}=a.value.meta;let C=(g-h)/(1e3*60*60*24);return e.withTrend.value&&(C/=2),r.t("trendRange.custom",{numDays:Math.round(C)})}else return e.withTrend.value?r.t(`trendRange.${e.timeframe.value.key}`):r.t(`trendRange.${(m=_.TimePeriods.get(_.TimeframeKeys.ONE_DAY))==null?void 0:m.key}`)});return{isLoading:t.computed(()=>f.PENDING===p.value),hasError:t.computed(()=>f.ERROR===p.value),raw:a,mapped:l,trendRange:s}}const A=(e,r,i=I,o)=>(o??[I]).reduce((n,c)=>{const p=e[r][i];return p?n+(p[c]||0):n},0);function xe(e){const{cardType:r,title:i,description:o,record:a,hasError:n,increaseIsBad:c,formatValueFn:p,trendRange:f}=e;return t.computed(()=>{let l=0,s=0;if(a!=null&&a.value)try{l=A(a.value,"current",e.lookupKey,e.sumGroupedValues),s=A(a.value,"previous",e.lookupKey,e.sumGroupedValues)}catch(d){console.error("Metric card data doesn't have the expected structure:",d)}return{cardType:r,hasError:n.value,currentValue:l,previousValue:s,title:i.value,description:o,increaseIsBad:!!c,formatValueFn:p,trendRange:f==null?void 0:f.value}})}var U=new WeakMap,se=0;function De(e){if(!e.length)return"";for(var r="arg",i=0;i<e.length;++i){var o=void 0;e[i]===null||typeof e[i]!="object"&&typeof e[i]!="function"?typeof e[i]=="string"?o='"'+e[i]+'"':o=String(e[i]):U.has(e[i])?o=U.get(e[i]):(o=se,U.set(e[i],se++)),r+="@"+o}return r}function Le(e){if(typeof e=="function")try{e=e()}catch{e=""}return Array.isArray(e)?e=De(e):e=String(e||""),e}var G=function(){function e(r){r===void 0&&(r=0),this.items=new Map,this.ttl=r}return e.prototype.serializeKey=function(r){return Le(r)},e.prototype.get=function(r){var i=this.serializeKey(r);return this.items.get(i)},e.prototype.set=function(r,i,o){var a=this.serializeKey(r),n=o||this.ttl,c=Date.now(),p={data:i,createdAt:c,expiresAt:n?c+n:1/0};this.dispatchExpire(n,p,a),this.items.set(a,p)},e.prototype.dispatchExpire=function(r,i,o){var a=this;r&&setTimeout(function(){var n=Date.now(),c=n>=i.expiresAt;c&&a.delete(o)},r)},e.prototype.delete=function(r){this.items.delete(r)},e}();function Ae(){return typeof navigator.onLine<"u"?navigator.onLine:!0}function ze(){return typeof document<"u"&&typeof document.visibilityState<"u"?document.visibilityState!=="hidden":!0}var qe=function(e){return fetch(e).then(function(r){return r.json()})};const Z={isOnline:Ae,isDocumentVisible:ze,fetcher:qe};var T=function(){return T=Object.assign||function(e){for(var r,i=1,o=arguments.length;i<o;i++){r=arguments[i];for(var a in r)Object.prototype.hasOwnProperty.call(r,a)&&(e[a]=r[a])}return e},T.apply(this,arguments)},z=function(e,r,i,o){function a(n){return n instanceof i?n:new i(function(c){c(n)})}return new(i||(i=Promise))(function(n,c){function p(s){try{l(o.next(s))}catch(d){c(d)}}function f(s){try{l(o.throw(s))}catch(d){c(d)}}function l(s){s.done?n(s.value):a(s.value).then(p,f)}l((o=o.apply(e,r||[])).next())})},q=function(e,r){var i={label:0,sent:function(){if(n[0]&1)throw n[1];return n[1]},trys:[],ops:[]},o,a,n,c;return c={next:p(0),throw:p(1),return:p(2)},typeof Symbol=="function"&&(c[Symbol.iterator]=function(){return this}),c;function p(l){return function(s){return f([l,s])}}function f(l){if(o)throw new TypeError("Generator is already executing.");for(;i;)try{if(o=1,a&&(n=l[0]&2?a.return:l[0]?a.throw||((n=a.return)&&n.call(a),0):a.next)&&!(n=n.call(a,l[1])).done)return n;switch(a=0,n&&(l=[l[0]&2,n.value]),l[0]){case 0:case 1:n=l;break;case 4:return i.label++,{value:l[1],done:!1};case 5:i.label++,a=l[1],l=[0];continue;case 7:l=i.ops.pop(),i.trys.pop();continue;default:if(n=i.trys,!(n=n.length>0&&n[n.length-1])&&(l[0]===6||l[0]===2)){i=0;continue}if(l[0]===3&&(!n||l[1]>n[0]&&l[1]<n[3])){i.label=l[1];break}if(l[0]===6&&i.label<n[1]){i.label=n[1],n=l;break}if(n&&i.label<n[2]){i.label=n[2],i.ops.push(l);break}n[2]&&i.ops.pop(),i.trys.pop();continue}l=r.call(e,i)}catch(s){l=[6,s],a=0}finally{o=n=0}if(l[0]&5)throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}},Oe=function(e,r){var i=typeof Symbol=="function"&&e[Symbol.iterator];if(!i)return e;var o=i.call(e),a,n=[],c;try{for(;(r===void 0||r-- >0)&&!(a=o.next()).done;)n.push(a.value)}catch(p){c={error:p}}finally{try{a&&!a.done&&(i=o.return)&&i.call(o)}finally{if(c)throw c.error}}return n},Me=function(e,r,i){if(i||arguments.length===2)for(var o=0,a=r.length,n;o<a;o++)(n||!(o in r))&&(n||(n=Array.prototype.slice.call(r,0,o)),n[o]=r[o]);return e.concat(n||Array.prototype.slice.call(r))},ce=new G,M=new G,j=new G,de={cache:ce,refreshInterval:0,ttl:0,serverTTL:1e3,dedupingInterval:2e3,revalidateOnFocus:!0,revalidateDebounce:0,shouldRetryOnError:!0,errorRetryInterval:5e3,errorRetryCount:5,fetcher:Z.fetcher,isOnline:Z.isOnline,isDocumentVisible:Z.isDocumentVisible};function Fe(e,r,i){var o=M.get(e);if(o)o.data.push(r);else{var a=5e3;M.set(e,[r],i>0?i+a:i)}}function He(e,r,i){if(i.isDocumentVisible()&&!(i.errorRetryCount!==void 0&&r>i.errorRetryCount)){var o=Math.min(r||0,i.errorRetryCount),a=o*i.errorRetryInterval;setTimeout(function(){e(null,{errorRetryCount:o+1,shouldRetryOnError:!0})},a)}}var ue=function(e,r,i,o){return i===void 0&&(i=ce),o===void 0&&(o=de.ttl),z(void 0,void 0,void 0,function(){var a,n,c,p,f,l,s;return q(this,function(d){switch(d.label){case 0:if(!Pe(r))return[3,5];d.label=1;case 1:return d.trys.push([1,3,,4]),[4,r];case 2:return a=d.sent(),[3,4];case 3:return p=d.sent(),n=p,[3,4];case 4:return[3,6];case 5:a=r,d.label=6;case 6:if(c=!1,f={data:a,error:n,isValidating:c},typeof a<"u")try{i.set(e,f,o)}catch(u){console.error("swrv(mutate): failed to set cache",u)}return l=M.get(e),l&&l.data.length&&(s=l.data.filter(function(u){return u.key===e}),s.forEach(function(u,m){typeof f.data<"u"&&(u.data=f.data),u.error=f.error,u.isValidating=f.isValidating;var h=m===s.length-1;h||delete s[m]}),s=s.filter(Boolean)),[2,f]}})})};function $e(){for(var e=this,r=[],i=0;i<arguments.length;i++)r[i]=arguments[i];var o,a,n=T({},de),c=!1,p=!1,f=t.getCurrentInstance(),l=(f==null?void 0:f.proxy)||f;if(!l)return console.error("Could not get current instance, check to make sure that `useSwrv` is declared in the top level of the setup function."),null;var s=(l==null?void 0:l.$isServer)||!1;r.length>=1&&(o=r[0]),r.length>=2&&(a=r[1]),r.length>2&&(n=T(T({},n),r[2]));var d=s?n.serverTTL:n.ttl,u=typeof o=="function"?o:t.ref(o);typeof a>"u"&&(a=n.fetcher);var m=null;m||(m=t.reactive({data:void 0,error:void 0,isValidating:!0,key:null}));var h=function(S,y){return z(e,void 0,void 0,function(){var B,b,x,O,W,ve,J,ke=this;return q(this,function(ee){switch(ee.label){case 0:return B=m.data===void 0,b=u.value,b?(x=n.cache.get(b),O=x&&x.data,m.isValidating=!0,O&&(m.data=O.data,m.error=O.error),W=S||a,!W||!n.isDocumentVisible()&&!B||(y==null?void 0:y.forceRevalidate)!==void 0&&!(y!=null&&y.forceRevalidate)?(m.isValidating=!1,[2]):x&&(ve=!!(Date.now()-x.createdAt>=n.dedupingInterval||y!=null&&y.forceRevalidate),!ve)?(m.isValidating=!1,[2]):(J=function(){return z(ke,void 0,void 0,function(){var D,Ee,te,be;return q(this,function($){switch($.label){case 0:return D=j.get(b),D?[3,2]:(Ee=Array.isArray(b)?b:[b],te=W.apply(void 0,Me([],Oe(Ee),!1)),j.set(b,te,n.dedupingInterval),[4,ue(b,te,n.cache,d)]);case 1:return $.sent(),[3,4];case 2:return[4,ue(b,D.data,n.cache,d)];case 3:$.sent(),$.label=4;case 4:return m.isValidating=!1,j.delete(b),m.error!==void 0&&(be=!c&&n.shouldRetryOnError&&(y?y.shouldRetryOnError:!0),be&&He(h,y?y.errorRetryCount:1,n)),[2]}})})},O&&n.revalidateDebounce?(setTimeout(function(){return z(ke,void 0,void 0,function(){return q(this,function(D){switch(D.label){case 0:return c?[3,2]:[4,J()];case 1:D.sent(),D.label=2;case 2:return[2]}})})},n.revalidateDebounce),[3,3]):[3,1])):[2];case 1:return[4,J()];case 2:ee.sent(),ee.label=3;case 3:return[2]}})})},g=function(){return z(e,void 0,void 0,function(){return q(this,function(S){return[2,h(null,{shouldRetryOnError:!1})]})})},C=null;t.onMounted(function(){var S=function(){return z(e,void 0,void 0,function(){return q(this,function(y){switch(y.label){case 0:return!m.error&&n.isOnline()?[4,h()]:[3,2];case 1:return y.sent(),[3,3];case 2:C&&clearTimeout(C),y.label=3;case 3:return n.refreshInterval&&!c&&(C=setTimeout(S,n.refreshInterval)),[2]}})})};n.refreshInterval&&(C=setTimeout(S,n.refreshInterval)),n.revalidateOnFocus&&(document.addEventListener("visibilitychange",g,!1),window.addEventListener("focus",g,!1))}),t.onUnmounted(function(){c=!0,C&&clearTimeout(C),n.revalidateOnFocus&&(document.removeEventListener("visibilitychange",g,!1),window.removeEventListener("focus",g,!1));var S=M.get(u.value);S&&(S.data=S.data.filter(function(y){return y!==m}))});try{t.watch(u,function(S){t.isReadonly(u)||(u.value=S),m.key=S,m.isValidating=!!S,Fe(u.value,m,d),!s&&!p&&u.value&&h(),p=!1},{immediate:!0})}catch{}var E=T(T({},t.toRefs(m)),{mutate:function(S,y){return h(S,T(T({},y),{forceRevalidate:!0}))}});return E}function Pe(e){return e!==null&&typeof e=="object"&&typeof e.then=="function"}function Ke(e,r,i){const{data:o,error:a,isValidating:n,mutate:c}=$e(e,r,{revalidateDebounce:500,revalidateOnFocus:!1,dedupingInterval:100,...i});return{data:t.computed(()=>o.value),response:o,error:a,isValidating:n,revalidate:c}}const V={useI18n:we,useMetricCardBuilder:xe,useMetricFetcher:Ve,useRequest:Ke},fe=Symbol("METRICS_PROVIDER_KEY"),Ue=e=>{const{dimension:r,dimensionFilterValue:i,additionalFilter:o,queryReady:a,timeframe:n,tz:c,hasTrendAccess:p,refreshInterval:f,abortController:l,queryFn:s,averageLatencies:d}=e;if(i&&!r)throw new Error("Must provide a dimension if filtering by a value");const u=!!(r&&i),m=!!(r&&!i),h=t.computed(()=>{const y=[];return u&&y.push({dimension:r,type:"in",values:[i]}),o.value&&y.push(...o.value),y}),g={metrics:t.ref(["request_count"]),dimensions:[...r&&!u?[r]:[],"status_code_grouped"],filter:h,queryReady:a,timeframe:n,tz:c,withTrend:t.computed(()=>p.value&&!m),refreshInterval:f,queryFn:s,abortController:l},C={metrics:t.computed(()=>[d.value?"response_latency_average":"response_latency_p99"]),...r&&!u?{dimensions:[r]}:{},filter:h,queryReady:a,timeframe:n,tz:c,withTrend:t.computed(()=>p.value&&!m),refreshInterval:f,queryFn:s,abortController:l},E=V.useMetricFetcher(g),S=V.useMetricFetcher(C);return{trafficData:E,latencyData:S}},Ge=t.defineComponent({__name:"MetricsProvider",props:{maxTimeframe:{default:_.TimeframeKeys.THIRTY_DAY},overrideTimeframe:{default:void 0},tz:{default:void 0},dimension:{default:void 0},filterValue:{default:void 0},additionalFilter:{default:void 0},queryReady:{type:Boolean,default:!0},refreshInterval:{default:ne},longCardTitles:{type:Boolean,default:!1},containerTitle:{default:void 0},description:{default:void 0},percentileLatency:{type:Boolean,default:void 0},abortController:{default:void 0}},setup(e){const r=e;if(r.dimension&&_.queryableExploreDimensions.findIndex(m=>m===r.dimension)===-1)throw new Error(`Attempted to use MetricsProvider with an invalid dimension: ${r.dimension}`);const i=t.inject(ae);let o,a;i?(o=i.queryFn,a=i.evaluateFeatureFlagFn):(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/analytics-metric-provider/README.md#requirements"),o=()=>Promise.reject(new Error("Query bridge required")),a=(m,h)=>h);const n=_e.useAnalyticsConfigStore(),c=t.toRef(()=>n.longRetention),p=t.computed(()=>!n.loading&&r.queryReady),f=t.computed(()=>r.tz?r.tz:new Intl.DateTimeFormat().resolvedOptions().timeZone),l=t.computed(()=>{if(r.overrideTimeframe)return r.overrideTimeframe;const m=c.value?_.TimePeriods.get(r.maxTimeframe):_.TimePeriods.get(_.TimeframeKeys.ONE_DAY);if(!m)throw new Error("Metrics provider failed to resolve fallback timeframe.");return m}),s=t.computed(()=>r.percentileLatency?!1:a("MA-2527-analytics-sku-config-endpoint",!1)),{trafficData:d,latencyData:u}=Ue({dimension:r.dimension,dimensionFilterValue:r.filterValue,additionalFilter:t.toRef(r,"additionalFilter"),queryReady:p,timeframe:l,tz:f,hasTrendAccess:c,refreshInterval:r.refreshInterval,queryFn:o,averageLatencies:s,abortController:r.abortController});return t.provide(fe,{data:{traffic:d,latency:u},description:t.toRef(()=>r.description),containerTitle:t.toRef(()=>r.containerTitle),hasTrendAccess:c,longCardTitles:r.longCardTitles,averageLatencies:s}),(m,h)=>t.renderSlot(m.$slots,"default",{hasTrendAccess:c.value,timeframe:l.value})}});function Ze(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var pe={exports:{}};(function(e){(function(){function r(l,s){if(s.separator===!1||l<1e3)return l.toString();var d=typeof s.separator=="string"?s.separator:",",u=[],m=Math.round(l).toString().split("");return m.reverse().forEach(function(h,g){g&&g%3===0&&u.push(d),u.push(h)}),u.reverse().join("")}function i(l,s,d){var u=l/s,m=d.round?"round":"floor";return d.decimal===!1?(l=Math[m](u),l.toString()):(d.precision?l=u:l=u<10?Math[m](u*10)/10:Math[m](u),l=l.toString(),typeof d.decimal=="string"&&(l=l.replace(".",d.decimal)),l)}var o=1e3,a=1e4,n=1e6,c=1e9,p=1e12;function f(l,s){var d;s=s||{};var u=l<0;u&&(l=Math.abs(l)),s.precision&&(l=parseFloat(l.toPrecision(s.precision)));var m=s.min10k?a:o;return l<m||s.precision&&s.precision>Math.log10(l)?d=r(i(l,1,s),s):l<n?d=i(l,o,s)+"k":l<c?d=i(l,n,s)+"m":l<p?d=r(i(l,c,s),s)+"b":d=r(i(l,p,s),s)+"t",u&&(d="-"+d),s.capital&&(d=d.toUpperCase()),s.prefix&&(d=s.prefix+d),s.suffix&&(d=d+s.suffix),d}f.addCommas=r,e.exports=f})()})(pe);var je=pe.exports;const Xe=Ze(je);var N=(e=>(e.GENERIC_COUNT="GenericCount",e.TRAFFIC="Traffic",e.ERROR_RATE="ErrorRate",e.LATENCY="Latency",e))(N||{}),w=(e=>(e.Small="sm",e.Medium="md",e.Large="lg",e.ExtraLarge="xl",e))(w||{});const k="24px",R=(e,r)=>{const i=e.__vccOpts||e;for(const[o,a]of r)i[o]=a;return i},Ye=e=>(t.pushScopeId("data-v-80a84c23"),e=e(),t.popScopeId(),e),Qe=["aria-hidden"],We={key:0,"data-testid":"kui-icon-svg-title"},Je=Ye(()=>t.createElementVNode("path",{d:"M6.5 20C4.98333 20 3.6875 19.475 2.6125 18.425C1.5375 17.375 1 16.0917 1 14.575C1 13.275 1.39167 12.1167 2.175 11.1C2.95833 10.0833 3.98333 9.43333 5.25 9.15C5.66667 7.61667 6.5 6.375 7.75 5.425C9 4.475 10.4167 4 12 4C13.95 4 15.6042 4.67917 16.9625 6.0375C18.3208 7.39583 19 9.05 19 11C20.15 11.1333 21.1042 11.6292 21.8625 12.4875C22.6208 13.3458 23 14.35 23 15.5C23 16.75 22.5625 17.8125 21.6875 18.6875C20.8125 19.5625 19.75 20 18.5 20H13C12.45 20 11.9792 19.8042 11.5875 19.4125C11.1958 19.0208 11 18.55 11 18V12.85L9.4 14.4L8 13L12 9L16 13L14.6 14.4L13 12.85V18H18.5C19.2 18 19.7917 17.7583 20.275 17.275C20.7583 16.7917 21 16.2 21 15.5C21 14.8 20.7583 14.2083 20.275 13.725C19.7917 13.2417 19.2 13 18.5 13H17V11C17 9.61667 16.5125 8.4375 15.5375 7.4625C14.5625 6.4875 13.3833 6 12 6C10.6167 6 9.4375 6.4875 8.4625 7.4625C7.4875 8.4375 7 9.61667 7 11H6.5C5.53333 11 4.70833 11.3417 4.025 12.025C3.34167 12.7083 3 13.5333 3 14.5C3 15.4667 3.34167 16.2917 4.025 16.975C4.70833 17.6583 5.53333 18 6.5 18H9V20H6.5Z",fill:"currentColor"},null,-1)),et=t.defineComponent({__name:"CloudUploadIcon",props:{title:{type:String,required:!1,default:""},color:{type:String,required:!1,default:"currentColor"},display:{type:String,required:!1,default:"block"},decorative:{type:Boolean,required:!1,default:!1},size:{type:[Number,String],required:!1,default:k,validator:e=>{if(typeof e=="number"&&e>0)return!0;if(typeof e=="string"){const r=String(e).replace(/px/gi,""),i=Number(r);if(i&&!isNaN(i)&&Number.isInteger(i)&&i>0)return!0}return!1}},as:{type:String,required:!1,default:"span"}},setup(e){const r=e,i=t.computed(()=>{if(typeof r.size=="number"&&r.size>0)return`${r.size}px`;if(typeof r.size=="string"){const a=String(r.size).replace(/px/gi,""),n=Number(a);if(n&&!isNaN(n)&&Number.isInteger(n)&&n>0)return`${n}px`}return k}),o=t.computed(()=>({boxSizing:"border-box",color:r.color,display:r.display,height:i.value,lineHeight:"0",width:i.value}));return(a,n)=>(t.openBlock(),t.createBlock(t.resolveDynamicComponent(e.as),{"aria-hidden":e.decorative?"true":void 0,class:"kui-icon cloud-upload-icon","data-testid":"kui-icon-wrapper-cloud-upload-icon",style:t.normalizeStyle(o.value)},{default:t.withCtx(()=>[(t.openBlock(),t.createElementBlock("svg",{"aria-hidden":e.decorative?"true":void 0,"data-testid":"kui-icon-svg-cloud-upload-icon",fill:"none",height:"100%",role:"img",viewBox:"0 0 24 24",width:"100%",xmlns:"http://www.w3.org/2000/svg"},[e.title?(t.openBlock(),t.createElementBlock("title",We,t.toDisplayString(e.title),1)):t.createCommentVNode("",!0),Je],8,Qe))]),_:1},8,["aria-hidden","style"]))}}),tt=R(et,[["__scopeId","data-v-80a84c23"]]),rt=e=>(t.pushScopeId("data-v-51fd13af"),e=e(),t.popScopeId(),e),it=["aria-hidden"],nt={key:0,"data-testid":"kui-icon-svg-title"},at=rt(()=>t.createElementVNode("path",{d:"M4 17V14H20V17H4ZM4 10V7H20V10H4Z",fill:"currentColor"},null,-1)),ot=t.defineComponent({__name:"EqualIcon",props:{title:{type:String,required:!1,default:""},color:{type:String,required:!1,default:"currentColor"},display:{type:String,required:!1,default:"block"},decorative:{type:Boolean,required:!1,default:!1},size:{type:[Number,String],required:!1,default:k,validator:e=>{if(typeof e=="number"&&e>0)return!0;if(typeof e=="string"){const r=String(e).replace(/px/gi,""),i=Number(r);if(i&&!isNaN(i)&&Number.isInteger(i)&&i>0)return!0}return!1}},as:{type:String,required:!1,default:"span"}},setup(e){const r=e,i=t.computed(()=>{if(typeof r.size=="number"&&r.size>0)return`${r.size}px`;if(typeof r.size=="string"){const a=String(r.size).replace(/px/gi,""),n=Number(a);if(n&&!isNaN(n)&&Number.isInteger(n)&&n>0)return`${n}px`}return k}),o=t.computed(()=>({boxSizing:"border-box",color:r.color,display:r.display,height:i.value,lineHeight:"0",width:i.value}));return(a,n)=>(t.openBlock(),t.createBlock(t.resolveDynamicComponent(e.as),{"aria-hidden":e.decorative?"true":void 0,class:"kui-icon equal-icon","data-testid":"kui-icon-wrapper-equal-icon",style:t.normalizeStyle(o.value)},{default:t.withCtx(()=>[(t.openBlock(),t.createElementBlock("svg",{"aria-hidden":e.decorative?"true":void 0,"data-testid":"kui-icon-svg-equal-icon",fill:"none",height:"100%",role:"img",viewBox:"0 0 24 24",width:"100%",xmlns:"http://www.w3.org/2000/svg"},[e.title?(t.openBlock(),t.createElementBlock("title",nt,t.toDisplayString(e.title),1)):t.createCommentVNode("",!0),at],8,it))]),_:1},8,["aria-hidden","style"]))}}),lt=R(ot,[["__scopeId","data-v-51fd13af"]]),st=e=>(t.pushScopeId("data-v-c5283a2c"),e=e(),t.popScopeId(),e),ct=["aria-hidden"],dt={key:0,"data-testid":"kui-icon-svg-title"},ut=st(()=>t.createElementVNode("path",{d:"M5 11V9H15V11H5Z",fill:"currentColor"},null,-1)),ft=t.defineComponent({__name:"IndeterminateSmallIcon",props:{title:{type:String,required:!1,default:""},color:{type:String,required:!1,default:"currentColor"},display:{type:String,required:!1,default:"block"},decorative:{type:Boolean,required:!1,default:!1},size:{type:[Number,String],required:!1,default:k,validator:e=>{if(typeof e=="number"&&e>0)return!0;if(typeof e=="string"){const r=String(e).replace(/px/gi,""),i=Number(r);if(i&&!isNaN(i)&&Number.isInteger(i)&&i>0)return!0}return!1}},as:{type:String,required:!1,default:"span"}},setup(e){const r=e,i=t.computed(()=>{if(typeof r.size=="number"&&r.size>0)return`${r.size}px`;if(typeof r.size=="string"){const a=String(r.size).replace(/px/gi,""),n=Number(a);if(n&&!isNaN(n)&&Number.isInteger(n)&&n>0)return`${n}px`}return k}),o=t.computed(()=>({boxSizing:"border-box",color:r.color,display:r.display,height:i.value,lineHeight:"0",width:i.value}));return(a,n)=>(t.openBlock(),t.createBlock(t.resolveDynamicComponent(e.as),{"aria-hidden":e.decorative?"true":void 0,class:"kui-icon indeterminate-small-icon","data-testid":"kui-icon-wrapper-indeterminate-small-icon",style:t.normalizeStyle(o.value)},{default:t.withCtx(()=>[(t.openBlock(),t.createElementBlock("svg",{"aria-hidden":e.decorative?"true":void 0,"data-testid":"kui-icon-svg-indeterminate-small-icon",fill:"none",height:"100%",role:"img",viewBox:"0 0 24 24",width:"100%",xmlns:"http://www.w3.org/2000/svg"},[e.title?(t.openBlock(),t.createElementBlock("title",dt,t.toDisplayString(e.title),1)):t.createCommentVNode("",!0),ut],8,ct))]),_:1},8,["aria-hidden","style"]))}}),me=R(ft,[["__scopeId","data-v-c5283a2c"]]),pt=e=>(t.pushScopeId("data-v-7958c198"),e=e(),t.popScopeId(),e),mt=["aria-hidden"],gt={key:0,"data-testid":"kui-icon-svg-title"},yt=pt(()=>t.createElementVNode("path",{d:"M11 17H13V11H11V17ZM12 9C12.2833 9 12.5208 8.90417 12.7125 8.7125C12.9042 8.52083 13 8.28333 13 8C13 7.71667 12.9042 7.47917 12.7125 7.2875C12.5208 7.09583 12.2833 7 12 7C11.7167 7 11.4792 7.09583 11.2875 7.2875C11.0958 7.47917 11 7.71667 11 8C11 8.28333 11.0958 8.52083 11.2875 8.7125C11.4792 8.90417 11.7167 9 12 9ZM12 22C10.6167 22 9.31667 21.7375 8.1 21.2125C6.88333 20.6875 5.825 19.975 4.925 19.075C4.025 18.175 3.3125 17.1167 2.7875 15.9C2.2625 14.6833 2 13.3833 2 12C2 10.6167 2.2625 9.31667 2.7875 8.1C3.3125 6.88333 4.025 5.825 4.925 4.925C5.825 4.025 6.88333 3.3125 8.1 2.7875C9.31667 2.2625 10.6167 2 12 2C13.3833 2 14.6833 2.2625 15.9 2.7875C17.1167 3.3125 18.175 4.025 19.075 4.925C19.975 5.825 20.6875 6.88333 21.2125 8.1C21.7375 9.31667 22 10.6167 22 12C22 13.3833 21.7375 14.6833 21.2125 15.9C20.6875 17.1167 19.975 18.175 19.075 19.075C18.175 19.975 17.1167 20.6875 15.9 21.2125C14.6833 21.7375 13.3833 22 12 22Z",fill:"currentColor"},null,-1)),ht=t.defineComponent({__name:"InfoIcon",props:{title:{type:String,required:!1,default:""},color:{type:String,required:!1,default:"currentColor"},display:{type:String,required:!1,default:"block"},decorative:{type:Boolean,required:!1,default:!1},size:{type:[Number,String],required:!1,default:k,validator:e=>{if(typeof e=="number"&&e>0)return!0;if(typeof e=="string"){const r=String(e).replace(/px/gi,""),i=Number(r);if(i&&!isNaN(i)&&Number.isInteger(i)&&i>0)return!0}return!1}},as:{type:String,required:!1,default:"span"}},setup(e){const r=e,i=t.computed(()=>{if(typeof r.size=="number"&&r.size>0)return`${r.size}px`;if(typeof r.size=="string"){const a=String(r.size).replace(/px/gi,""),n=Number(a);if(n&&!isNaN(n)&&Number.isInteger(n)&&n>0)return`${n}px`}return k}),o=t.computed(()=>({boxSizing:"border-box",color:r.color,display:r.display,height:i.value,lineHeight:"0",width:i.value}));return(a,n)=>(t.openBlock(),t.createBlock(t.resolveDynamicComponent(e.as),{"aria-hidden":e.decorative?"true":void 0,class:"kui-icon info-icon","data-testid":"kui-icon-wrapper-info-icon",style:t.normalizeStyle(o.value)},{default:t.withCtx(()=>[(t.openBlock(),t.createElementBlock("svg",{"aria-hidden":e.decorative?"true":void 0,"data-testid":"kui-icon-svg-info-icon",fill:"none",height:"100%",role:"img",viewBox:"0 0 24 24",width:"100%",xmlns:"http://www.w3.org/2000/svg"},[e.title?(t.openBlock(),t.createElementBlock("title",gt,t.toDisplayString(e.title),1)):t.createCommentVNode("",!0),yt],8,mt))]),_:1},8,["aria-hidden","style"]))}}),Ct=R(ht,[["__scopeId","data-v-7958c198"]]),St=e=>(t.pushScopeId("data-v-d0ffb1de"),e=e(),t.popScopeId(),e),vt=["aria-hidden"],kt={key:0,"data-testid":"kui-icon-svg-title"},Et=St(()=>t.createElementVNode("path",{d:"M15.25 5C14.9 5 14.6042 4.87917 14.3625 4.6375C14.1208 4.39583 14 4.1 14 3.75C14 3.4 14.1208 3.10417 14.3625 2.8625C14.6042 2.62083 14.9 2.5 15.25 2.5C15.6 2.5 15.8958 2.62083 16.1375 2.8625C16.3792 3.10417 16.5 3.4 16.5 3.75C16.5 4.1 16.3792 4.39583 16.1375 4.6375C15.8958 4.87917 15.6 5 15.25 5ZM15.25 21.5C14.9 21.5 14.6042 21.3792 14.3625 21.1375C14.1208 20.8958 14 20.6 14 20.25C14 19.9 14.1208 19.6042 14.3625 19.3625C14.6042 19.1208 14.9 19 15.25 19C15.6 19 15.8958 19.1208 16.1375 19.3625C16.3792 19.6042 16.5 19.9 16.5 20.25C16.5 20.6 16.3792 20.8958 16.1375 21.1375C15.8958 21.3792 15.6 21.5 15.25 21.5ZM19.25 8.5C18.9 8.5 18.6042 8.37917 18.3625 8.1375C18.1208 7.89583 18 7.6 18 7.25C18 6.9 18.1208 6.60417 18.3625 6.3625C18.6042 6.12083 18.9 6 19.25 6C19.6 6 19.8958 6.12083 20.1375 6.3625C20.3792 6.60417 20.5 6.9 20.5 7.25C20.5 7.6 20.3792 7.89583 20.1375 8.1375C19.8958 8.37917 19.6 8.5 19.25 8.5ZM19.25 18C18.9 18 18.6042 17.8792 18.3625 17.6375C18.1208 17.3958 18 17.1 18 16.75C18 16.4 18.1208 16.1042 18.3625 15.8625C18.6042 15.6208 18.9 15.5 19.25 15.5C19.6 15.5 19.8958 15.6208 20.1375 15.8625C20.3792 16.1042 20.5 16.4 20.5 16.75C20.5 17.1 20.3792 17.3958 20.1375 17.6375C19.8958 17.8792 19.6 18 19.25 18ZM20.75 13.25C20.4 13.25 20.1042 13.1292 19.8625 12.8875C19.6208 12.6458 19.5 12.35 19.5 12C19.5 11.65 19.6208 11.3542 19.8625 11.1125C20.1042 10.8708 20.4 10.75 20.75 10.75C21.1 10.75 21.3958 10.8708 21.6375 11.1125C21.8792 11.3542 22 11.65 22 12C22 12.35 21.8792 12.6458 21.6375 12.8875C21.3958 13.1292 21.1 13.25 20.75 13.25ZM12 22C10.6167 22 9.31667 21.7375 8.1 21.2125C6.88333 20.6875 5.825 19.975 4.925 19.075C4.025 18.175 3.3125 17.1167 2.7875 15.9C2.2625 14.6833 2 13.3833 2 12C2 10.6167 2.2625 9.31667 2.7875 8.1C3.3125 6.88333 4.025 5.825 4.925 4.925C5.825 4.025 6.88333 3.3125 8.1 2.7875C9.31667 2.2625 10.6167 2 12 2V4C9.76667 4 7.875 4.775 6.325 6.325C4.775 7.875 4 9.76667 4 12C4 14.2333 4.775 16.125 6.325 17.675C7.875 19.225 9.76667 20 12 20V22ZM12 14C11.45 14 10.9792 13.8042 10.5875 13.4125C10.1958 13.0208 10 12.55 10 12C10 11.9167 10.0042 11.8292 10.0125 11.7375C10.0208 11.6458 10.0417 11.5583 10.075 11.475L8 9.4L9.4 8L11.475 10.075C11.5417 10.0583 11.7167 10.0333 12 10C12.55 10 13.0208 10.1958 13.4125 10.5875C13.8042 10.9792 14 11.45 14 12C14 12.55 13.8042 13.0208 13.4125 13.4125C13.0208 13.8042 12.55 14 12 14Z",fill:"currentColor"},null,-1)),bt=t.defineComponent({__name:"ResponseIcon",props:{title:{type:String,required:!1,default:""},color:{type:String,required:!1,default:"currentColor"},display:{type:String,required:!1,default:"block"},decorative:{type:Boolean,required:!1,default:!1},size:{type:[Number,String],required:!1,default:k,validator:e=>{if(typeof e=="number"&&e>0)return!0;if(typeof e=="string"){const r=String(e).replace(/px/gi,""),i=Number(r);if(i&&!isNaN(i)&&Number.isInteger(i)&&i>0)return!0}return!1}},as:{type:String,required:!1,default:"span"}},setup(e){const r=e,i=t.computed(()=>{if(typeof r.size=="number"&&r.size>0)return`${r.size}px`;if(typeof r.size=="string"){const a=String(r.size).replace(/px/gi,""),n=Number(a);if(n&&!isNaN(n)&&Number.isInteger(n)&&n>0)return`${n}px`}return k}),o=t.computed(()=>({boxSizing:"border-box",color:r.color,display:r.display,height:i.value,lineHeight:"0",width:i.value}));return(a,n)=>(t.openBlock(),t.createBlock(t.resolveDynamicComponent(e.as),{"aria-hidden":e.decorative?"true":void 0,class:"kui-icon response-icon","data-testid":"kui-icon-wrapper-response-icon",style:t.normalizeStyle(o.value)},{default:t.withCtx(()=>[(t.openBlock(),t.createElementBlock("svg",{"aria-hidden":e.decorative?"true":void 0,"data-testid":"kui-icon-svg-response-icon",fill:"none",height:"100%",role:"img",viewBox:"0 0 24 24",width:"100%",xmlns:"http://www.w3.org/2000/svg"},[e.title?(t.openBlock(),t.createElementBlock("title",kt,t.toDisplayString(e.title),1)):t.createCommentVNode("",!0),Et],8,vt))]),_:1},8,["aria-hidden","style"]))}}),_t=R(bt,[["__scopeId","data-v-d0ffb1de"]]),Nt=e=>(t.pushScopeId("data-v-7939cf04"),e=e(),t.popScopeId(),e),wt=["aria-hidden"],Rt={key:0,"data-testid":"kui-icon-svg-title"},Tt=Nt(()=>t.createElementVNode("path",{d:"M16 18V16H18.6L13.4 10.85L9.4 14.85L2 7.4L3.4 6L9.4 12L13.4 8L20 14.6V12H22V18H16Z",fill:"currentColor"},null,-1)),It=t.defineComponent({__name:"TrendDownIcon",props:{title:{type:String,required:!1,default:""},color:{type:String,required:!1,default:"currentColor"},display:{type:String,required:!1,default:"block"},decorative:{type:Boolean,required:!1,default:!1},size:{type:[Number,String],required:!1,default:k,validator:e=>{if(typeof e=="number"&&e>0)return!0;if(typeof e=="string"){const r=String(e).replace(/px/gi,""),i=Number(r);if(i&&!isNaN(i)&&Number.isInteger(i)&&i>0)return!0}return!1}},as:{type:String,required:!1,default:"span"}},setup(e){const r=e,i=t.computed(()=>{if(typeof r.size=="number"&&r.size>0)return`${r.size}px`;if(typeof r.size=="string"){const a=String(r.size).replace(/px/gi,""),n=Number(a);if(n&&!isNaN(n)&&Number.isInteger(n)&&n>0)return`${n}px`}return k}),o=t.computed(()=>({boxSizing:"border-box",color:r.color,display:r.display,height:i.value,lineHeight:"0",width:i.value}));return(a,n)=>(t.openBlock(),t.createBlock(t.resolveDynamicComponent(e.as),{"aria-hidden":e.decorative?"true":void 0,class:"kui-icon trend-down-icon","data-testid":"kui-icon-wrapper-trend-down-icon",style:t.normalizeStyle(o.value)},{default:t.withCtx(()=>[(t.openBlock(),t.createElementBlock("svg",{"aria-hidden":e.decorative?"true":void 0,"data-testid":"kui-icon-svg-trend-down-icon",fill:"none",height:"100%",role:"img",viewBox:"0 0 24 24",width:"100%",xmlns:"http://www.w3.org/2000/svg"},[e.title?(t.openBlock(),t.createElementBlock("title",Rt,t.toDisplayString(e.title),1)):t.createCommentVNode("",!0),Tt],8,wt))]),_:1},8,["aria-hidden","style"]))}}),Bt=R(It,[["__scopeId","data-v-7939cf04"]]),Vt=e=>(t.pushScopeId("data-v-c6ab90e9"),e=e(),t.popScopeId(),e),xt=["aria-hidden"],Dt={key:0,"data-testid":"kui-icon-svg-title"},Lt=Vt(()=>t.createElementVNode("path",{d:"M3.4 18L2 16.6L9.4 9.15L13.4 13.15L18.6 8H16V6H22V12H20V9.4L13.4 16L9.4 12L3.4 18Z",fill:"currentColor"},null,-1)),At=t.defineComponent({__name:"TrendUpIcon",props:{title:{type:String,required:!1,default:""},color:{type:String,required:!1,default:"currentColor"},display:{type:String,required:!1,default:"block"},decorative:{type:Boolean,required:!1,default:!1},size:{type:[Number,String],required:!1,default:k,validator:e=>{if(typeof e=="number"&&e>0)return!0;if(typeof e=="string"){const r=String(e).replace(/px/gi,""),i=Number(r);if(i&&!isNaN(i)&&Number.isInteger(i)&&i>0)return!0}return!1}},as:{type:String,required:!1,default:"span"}},setup(e){const r=e,i=t.computed(()=>{if(typeof r.size=="number"&&r.size>0)return`${r.size}px`;if(typeof r.size=="string"){const a=String(r.size).replace(/px/gi,""),n=Number(a);if(n&&!isNaN(n)&&Number.isInteger(n)&&n>0)return`${n}px`}return k}),o=t.computed(()=>({boxSizing:"border-box",color:r.color,display:r.display,height:i.value,lineHeight:"0",width:i.value}));return(a,n)=>(t.openBlock(),t.createBlock(t.resolveDynamicComponent(e.as),{"aria-hidden":e.decorative?"true":void 0,class:"kui-icon trend-up-icon","data-testid":"kui-icon-wrapper-trend-up-icon",style:t.normalizeStyle(o.value)},{default:t.withCtx(()=>[(t.openBlock(),t.createElementBlock("svg",{"aria-hidden":e.decorative?"true":void 0,"data-testid":"kui-icon-svg-trend-up-icon",fill:"none",height:"100%",role:"img",viewBox:"0 0 24 24",width:"100%",xmlns:"http://www.w3.org/2000/svg"},[e.title?(t.openBlock(),t.createElementBlock("title",Dt,t.toDisplayString(e.title),1)):t.createCommentVNode("",!0),Lt],8,xt))]),_:1},8,["aria-hidden","style"]))}}),zt=R(At,[["__scopeId","data-v-c6ab90e9"]]),qt=e=>(t.pushScopeId("data-v-989e7f51"),e=e(),t.popScopeId(),e),Ot=["aria-hidden"],Mt={key:0,"data-testid":"kui-icon-svg-title"},Ft=qt(()=>t.createElementVNode("path",{d:"M9 20C8.68333 20 8.4 19.9083 8.15 19.725C7.9 19.5417 7.71667 19.3083 7.6 19.025L5.3 13H1V11H6.7L9 17.1L13.6 4.975C13.7167 4.69167 13.9 4.45833 14.15 4.275C14.4 4.09167 14.6833 4 15 4C15.3167 4 15.6 4.09167 15.85 4.275C16.1 4.45833 16.2833 4.69167 16.4 4.975L18.7 11H23V13H17.3L15 6.9L10.4 19.025C10.2833 19.3083 10.1 19.5417 9.85 19.725C9.6 19.9083 9.31667 20 9 20Z",fill:"currentColor"},null,-1)),Ht=t.defineComponent({__name:"VitalsIcon",props:{title:{type:String,required:!1,default:""},color:{type:String,required:!1,default:"currentColor"},display:{type:String,required:!1,default:"block"},decorative:{type:Boolean,required:!1,default:!1},size:{type:[Number,String],required:!1,default:k,validator:e=>{if(typeof e=="number"&&e>0)return!0;if(typeof e=="string"){const r=String(e).replace(/px/gi,""),i=Number(r);if(i&&!isNaN(i)&&Number.isInteger(i)&&i>0)return!0}return!1}},as:{type:String,required:!1,default:"span"}},setup(e){const r=e,i=t.computed(()=>{if(typeof r.size=="number"&&r.size>0)return`${r.size}px`;if(typeof r.size=="string"){const a=String(r.size).replace(/px/gi,""),n=Number(a);if(n&&!isNaN(n)&&Number.isInteger(n)&&n>0)return`${n}px`}return k}),o=t.computed(()=>({boxSizing:"border-box",color:r.color,display:r.display,height:i.value,lineHeight:"0",width:i.value}));return(a,n)=>(t.openBlock(),t.createBlock(t.resolveDynamicComponent(e.as),{"aria-hidden":e.decorative?"true":void 0,class:"kui-icon vitals-icon","data-testid":"kui-icon-wrapper-vitals-icon",style:t.normalizeStyle(o.value)},{default:t.withCtx(()=>[(t.openBlock(),t.createElementBlock("svg",{"aria-hidden":e.decorative?"true":void 0,"data-testid":"kui-icon-svg-vitals-icon",fill:"none",height:"100%",role:"img",viewBox:"0 0 24 24",width:"100%",xmlns:"http://www.w3.org/2000/svg"},[e.title?(t.openBlock(),t.createElementBlock("title",Mt,t.toDisplayString(e.title),1)):t.createCommentVNode("",!0),Ft],8,Ot))]),_:1},8,["aria-hidden","style"]))}}),$t=R(Ht,[["__scopeId","data-v-989e7f51"]]),Pt=e=>(t.pushScopeId("data-v-5fc3c6c8"),e=e(),t.popScopeId(),e),Kt=["aria-hidden"],Ut={key:0,"data-testid":"kui-icon-svg-title"},Gt=Pt(()=>t.createElementVNode("path",{d:"M12.0001 22.025C11.7334 22.025 11.4793 21.975 11.2376 21.875C10.9959 21.775 10.7751 21.6333 10.5751 21.45L2.5501 13.425C2.36676 13.225 2.2251 13.0041 2.1251 12.7625C2.0251 12.5208 1.9751 12.2666 1.9751 12C1.9751 11.7333 2.0251 11.475 2.1251 11.225C2.2251 10.975 2.36676 10.7583 2.5501 10.575L10.5751 2.54998C10.7751 2.34998 10.9959 2.20414 11.2376 2.11248C11.4793 2.02081 11.7334 1.97498 12.0001 1.97498C12.2668 1.97498 12.5251 2.02081 12.7751 2.11248C13.0251 2.20414 13.2418 2.34998 13.4251 2.54998L21.4501 10.575C21.6501 10.7583 21.7959 10.975 21.8876 11.225C21.9793 11.475 22.0251 11.7333 22.0251 12C22.0251 12.2666 21.9793 12.5208 21.8876 12.7625C21.7959 13.0041 21.6501 13.225 21.4501 13.425L13.4251 21.45C13.2418 21.6333 13.0251 21.775 12.7751 21.875C12.5251 21.975 12.2668 22.025 12.0001 22.025ZM12.0001 20.025L20.0251 12L12.0001 3.97498L3.9751 12L12.0001 20.025ZM11.0001 13H13.0001V6.99998H11.0001V13ZM12.0001 16C12.2834 16 12.5209 15.9041 12.7126 15.7125C12.9043 15.5208 13.0001 15.2833 13.0001 15C13.0001 14.7166 12.9043 14.4791 12.7126 14.2875C12.5209 14.0958 12.2834 14 12.0001 14C11.7168 14 11.4793 14.0958 11.2876 14.2875C11.0959 14.4791 11.0001 14.7166 11.0001 15C11.0001 15.2833 11.0959 15.5208 11.2876 15.7125C11.4793 15.9041 11.7168 16 12.0001 16Z",fill:"currentColor"},null,-1)),Zt=t.defineComponent({__name:"WarningOutlineIcon",props:{title:{type:String,required:!1,default:""},color:{type:String,required:!1,default:"currentColor"},display:{type:String,required:!1,default:"block"},decorative:{type:Boolean,required:!1,default:!1},size:{type:[Number,String],required:!1,default:k,validator:e=>{if(typeof e=="number"&&e>0)return!0;if(typeof e=="string"){const r=String(e).replace(/px/gi,""),i=Number(r);if(i&&!isNaN(i)&&Number.isInteger(i)&&i>0)return!0}return!1}},as:{type:String,required:!1,default:"span"}},setup(e){const r=e,i=t.computed(()=>{if(typeof r.size=="number"&&r.size>0)return`${r.size}px`;if(typeof r.size=="string"){const a=String(r.size).replace(/px/gi,""),n=Number(a);if(n&&!isNaN(n)&&Number.isInteger(n)&&n>0)return`${n}px`}return k}),o=t.computed(()=>({boxSizing:"border-box",color:r.color,display:r.display,height:i.value,lineHeight:"0",width:i.value}));return(a,n)=>(t.openBlock(),t.createBlock(t.resolveDynamicComponent(e.as),{"aria-hidden":e.decorative?"true":void 0,class:"kui-icon warning-outline-icon","data-testid":"kui-icon-wrapper-warning-outline-icon",style:t.normalizeStyle(o.value)},{default:t.withCtx(()=>[(t.openBlock(),t.createElementBlock("svg",{"aria-hidden":e.decorative?"true":void 0,"data-testid":"kui-icon-svg-warning-outline-icon",fill:"none",height:"100%",role:"img",viewBox:"0 0 24 24",width:"100%",xmlns:"http://www.w3.org/2000/svg"},[e.title?(t.openBlock(),t.createElementBlock("title",Ut,t.toDisplayString(e.title),1)):t.createCommentVNode("",!0),Gt],8,Kt))]),_:1},8,["aria-hidden","style"]))}}),jt=R(Zt,[["__scopeId","data-v-5fc3c6c8"]]),Xt=e=>(t.pushScopeId("data-v-9f0a015f"),e=e(),t.popScopeId(),e),Yt=["aria-hidden"],Qt={key:0,"data-testid":"kui-icon-svg-title"},Wt=Xt(()=>t.createElementVNode("path",{d:"M12.025 22.05C11.7583 22.05 11.5042 22 11.2625 21.9C11.0208 21.8 10.8 21.6583 10.6 21.475L2.575 13.45C2.39167 13.25 2.25 13.0292 2.15 12.7875C2.05 12.5458 2 12.2917 2 12.025C2 11.7583 2.05 11.5 2.15 11.25C2.25 11 2.39167 10.7833 2.575 10.6L10.6 2.575C10.8 2.375 11.0208 2.22917 11.2625 2.1375C11.5042 2.04583 11.7583 2 12.025 2C12.2917 2 12.55 2.04583 12.8 2.1375C13.05 2.22917 13.2667 2.375 13.45 2.575L21.475 10.6C21.675 10.7833 21.8208 11 21.9125 11.25C22.0042 11.5 22.05 11.7583 22.05 12.025C22.05 12.2917 22.0042 12.5458 21.9125 12.7875C21.8208 13.0292 21.675 13.25 21.475 13.45L13.45 21.475C13.2667 21.6583 13.05 21.8 12.8 21.9C12.55 22 12.2917 22.05 12.025 22.05ZM11.025 13.025H13.025V7.025H11.025V13.025ZM12.025 16.025C12.3083 16.025 12.5458 15.9292 12.7375 15.7375C12.9292 15.5458 13.025 15.3083 13.025 15.025C13.025 14.7417 12.9292 14.5042 12.7375 14.3125C12.5458 14.1208 12.3083 14.025 12.025 14.025C11.7417 14.025 11.5042 14.1208 11.3125 14.3125C11.1208 14.5042 11.025 14.7417 11.025 15.025C11.025 15.3083 11.1208 15.5458 11.3125 15.7375C11.5042 15.9292 11.7417 16.025 12.025 16.025Z",fill:"currentColor"},null,-1)),Jt=t.defineComponent({__name:"WarningIcon",props:{title:{type:String,required:!1,default:""},color:{type:String,required:!1,default:"currentColor"},display:{type:String,required:!1,default:"block"},decorative:{type:Boolean,required:!1,default:!1},size:{type:[Number,String],required:!1,default:k,validator:e=>{if(typeof e=="number"&&e>0)return!0;if(typeof e=="string"){const r=String(e).replace(/px/gi,""),i=Number(r);if(i&&!isNaN(i)&&Number.isInteger(i)&&i>0)return!0}return!1}},as:{type:String,required:!1,default:"span"}},setup(e){const r=e,i=t.computed(()=>{if(typeof r.size=="number"&&r.size>0)return`${r.size}px`;if(typeof r.size=="string"){const a=String(r.size).replace(/px/gi,""),n=Number(a);if(n&&!isNaN(n)&&Number.isInteger(n)&&n>0)return`${n}px`}return k}),o=t.computed(()=>({boxSizing:"border-box",color:r.color,display:r.display,height:i.value,lineHeight:"0",width:i.value}));return(a,n)=>(t.openBlock(),t.createBlock(t.resolveDynamicComponent(e.as),{"aria-hidden":e.decorative?"true":void 0,class:"kui-icon warning-icon","data-testid":"kui-icon-wrapper-warning-icon",style:t.normalizeStyle(o.value)},{default:t.withCtx(()=>[(t.openBlock(),t.createElementBlock("svg",{"aria-hidden":e.decorative?"true":void 0,"data-testid":"kui-icon-svg-warning-icon",fill:"none",height:"100%",role:"img",viewBox:"0 0 24 24",width:"100%",xmlns:"http://www.w3.org/2000/svg"},[e.title?(t.openBlock(),t.createElementBlock("title",Qt,t.toDisplayString(e.title),1)):t.createCommentVNode("",!0),Wt],8,Yt))]),_:1},8,["aria-hidden","style"]))}}),ge=R(Jt,[["__scopeId","data-v-9f0a015f"]]),X=2,ye=X+2,er=(e,r,i=!1)=>{let o=!r||Number(e.toFixed(ye))===0?0:Number(e.toFixed(ye))>0?1:-1;return i&&(o*=-1),o},tr=(e,r,i)=>r?`${Math.abs(e*100).toFixed(X)}%`:i,rr=(e,r)=>r===0?0:e/r-1,ir=(e,r=!1)=>(r&&(e*=-1),e>0?zt:e<0?Bt:me),nr="#ad000e",Y="#6c7489",he="#52596e",ar="#007d60",F="16px",or="20px",lr={class:"metricscard"},sr={key:0,class:"metricscard-description"},cr={class:"metricscard-valuetrend"},dr={key:0,class:"metricscard-error"},ur={key:2,class:"metricscard-trend"},fr={"data-testid":"metric-trend-change"},pr={key:0,class:"metricscard-trend-range"},mr=t.defineComponent({__name:"MetricsCard",props:{cardType:{type:String,required:!0,default:N.GENERIC_COUNT},title:{type:String,default:"0%",required:!0},description:{type:String,default:"",required:!1},tooltip:{type:String,required:!1,default:""},timeframe:{type:String,required:!1,default:""},metricValue:{type:String,default:""},metricChange:{type:String,required:!0},changePolarity:{type:Number,required:!0},trendIcon:{type:Object,default:me},trendRange:{type:String,default:""},hasError:{type:Boolean,default:!1},errorMessage:{type:String,default:"Vitals data error"},cardSize:{type:String,required:!1,default:()=>w.Large},hasContainerTitle:{type:Boolean,required:!1,default:!1},titleTag:{type:String,default:"span"}},setup(e){const r=new Map([[N.GENERIC_COUNT,$t],[N.TRAFFIC,tt],[N.ERROR_RATE,jt],[N.LATENCY,_t]]),i=e,o=p=>{const f={red:`var(--kong-ui-metric-card-trend-negative, ${nr})`,green:`var(--kong-ui-metric-card-trend-positive, ${ar})`,grey:`var(--kong-ui-metric-card-trend-neutral, ${he})`};return p>0?f.green:p<0?f.red:f.grey},a=p=>p>0?"positive":p<0?"negative":"neutral",n=[w.Medium,w.Large].includes(i.cardSize),c=[w.Small].includes(i.cardSize);return(p,f)=>{const l=t.resolveComponent("KTooltip");return t.openBlock(),t.createElementBlock("div",lr,[t.createElementVNode("div",{class:t.normalizeClass(["metricscard-title",e.cardSize])},[t.unref(c)?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(r).get(e.cardType)),{key:0,class:"metricscard-icon",color:t.unref(Y),size:t.unref(F)},null,8,["color","size"])),(t.openBlock(),t.createBlock(t.resolveDynamicComponent(e.titleTag),null,{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(e.title),1)]),_:1})),e.tooltip?(t.openBlock(),t.createBlock(l,{key:1,class:"metricscard-tooltip",placement:"right",text:e.tooltip},{default:t.withCtx(()=>[t.createVNode(t.unref(Ct),{color:t.unref(Y),size:t.unref(F)},null,8,["color","size"])]),_:1},8,["text"])):t.createCommentVNode("",!0)],2),e.description&&t.unref(n)?(t.openBlock(),t.createElementBlock("div",sr,[t.createElementVNode("span",null,t.toDisplayString(e.description),1)])):t.createCommentVNode("",!0),t.createElementVNode("div",cr,[e.hasError?(t.openBlock(),t.createElementBlock("div",dr,[t.createVNode(t.unref(ge),{color:t.unref(Y),size:t.unref(or)},null,8,["color","size"]),t.createElementVNode("div",null," "+t.toDisplayString(e.errorMessage),1)])):(t.openBlock(),t.createElementBlock("div",{key:1,class:t.normalizeClass(["metricscard-value",e.cardSize]),"data-testid":"metric-value"},t.toDisplayString(e.metricValue),3)),t.unref(n)?(t.openBlock(),t.createElementBlock("div",ur,[t.createElementVNode("div",{class:t.normalizeClass(["metricscard-trend-change",a(e.changePolarity)]),"data-testid":"metric-trend-parent"},[e.changePolarity!==0?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(e.trendIcon),{key:0,color:o(e.changePolarity),size:t.unref(F)},null,8,["color","size"])):(t.openBlock(),t.createBlock(t.unref(lt),{key:1,color:t.unref(he),size:t.unref(F)},null,8,["color","size"])),t.createElementVNode("div",fr,t.toDisplayString(e.metricChange),1)],2),e.trendRange?(t.openBlock(),t.createElementBlock("div",pr,t.toDisplayString(e.trendRange),1)):t.createCommentVNode("",!0)])):t.createCommentVNode("",!0)])])}}}),Q=(e,r)=>{const i=e.__vccOpts||e;for(const[o,a]of r)i[o]=a;return i},gr=Q(mr,[["__scopeId","data-v-1b8a31a0"]]),yr={},hr={class:"loading-tabs"};function Cr(e,r){const i=t.resolveComponent("KSkeletonBox");return t.openBlock(),t.createElementBlock("div",hr,[t.createVNode(i,{width:"100"}),t.createVNode(i,{width:"75"})])}const Sr=Q(yr,[["render",Cr],["__scopeId","data-v-f7eb9c40"]]),vr={key:0,class:"container-title"},kr={key:0,class:"container-description"},Er={key:1,class:"error-display"},br={key:0,class:"error-display-message"},_r={key:2,class:"cards-wrapper"},Nr=Q(t.defineComponent({__name:"MetricCardContainer",props:{fallbackDisplayText:{type:String,required:!0},cards:{type:Array,required:!0},errorMessage:{type:String,required:!1,default:""},loading:{type:Boolean,required:!1,default:!1},hasTrendAccess:{type:Boolean,required:!1,default:!0},cardSize:{type:String,required:!1,default:()=>w.Large},containerTitle:{type:String,required:!1,default:""},containerDescription:{type:String,required:!1,default:""}},setup(e){const r=e,i=t.computed(()=>r.cards.every(a=>(a==null?void 0:a.hasError)===!0)),o=a=>{const n=rr(a.currentValue,a.previousValue)||0,c=er(n,r.hasTrendAccess,a.increaseIsBad);return{metricValue:a.formatValueFn?a.formatValueFn(a.currentValue):Xe(a.currentValue,{capital:!0,round:!0})||"0",metricChange:a.formatChangeFn?a.formatChangeFn(n):tr(n,r.hasTrendAccess,r.fallbackDisplayText),changePolarity:c,trendIcon:ir(c,a.increaseIsBad),cardSize:r.cardSize,hasContainerTitle:!!r.containerTitle}};return(a,n)=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["kong-ui-public-metric-card-container",e.cardSize])},[r.containerTitle?(t.openBlock(),t.createElementBlock("div",vr,[t.createTextVNode(t.toDisplayString(r.containerTitle)+" ",1),r.containerDescription?(t.openBlock(),t.createElementBlock("div",kr,t.toDisplayString(r.containerDescription),1)):t.createCommentVNode("",!0)])):t.createCommentVNode("",!0),i.value?(t.openBlock(),t.createElementBlock("div",Er,[t.createVNode(t.unref(ge),{class:"error-display-icon"}),e.errorMessage?(t.openBlock(),t.createElementBlock("div",br,t.toDisplayString(e.errorMessage),1)):t.createCommentVNode("",!0)])):(t.openBlock(),t.createElementBlock("div",_r,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(e.cards,(c,p)=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[e.loading?(t.openBlock(),t.createBlock(Sr,{key:`skeleton-${p}`,class:t.normalizeClass(e.cardSize===t.unref(w).Small?"loading-tabs-small":"loading-tabs-large")},null,8,["class"])):(t.openBlock(),t.createBlock(gr,t.mergeProps({key:p,ref_for:!0},o(c),{"card-size":e.cardSize,"card-type":c.cardType,description:c.description,"error-message":e.errorMessage,"has-error":c.hasError,title:c.title,"title-tag":c.titleTag,tooltip:c.tooltip,"trend-range":c.trendRange}),null,16,["card-size","card-type","description","error-message","has-error","title","title-tag","tooltip","trend-range"]))],64))),256))]))],2))}}),[["__scopeId","data-v-d3a810e0"]]),wr=t.defineComponent({__name:"MetricsConsumer",props:{lookupKey:{default:void 0},cardSize:{default:w.Large},cardToDisplay:{default:void 0}},setup(e){const r=e,i=t.inject(fe);if(!i)throw new Error("MetricsConsumer must be nested inside a MetricsProvider instance.");const{traffic:o,latency:a}=i.data,{i18n:n}=V.useI18n(),c=V.useMetricCardBuilder({cardType:N.TRAFFIC,title:t.computed(()=>i.longCardTitles?n.t("metricCard.long.traffic"):n.t("metricCard.short.traffic")),record:o.mapped,hasError:o.hasError,lookupKey:r.lookupKey,sumGroupedValues:L,trendRange:o.trendRange}),p=g=>`${g.toFixed(X)}%`,f=t.computed(()=>{const g=o.mapped.value,C=A(g,"current",r.lookupKey,P),E=A(g,"current",r.lookupKey,L),S=C/E*100||0,y=A(g,"previous",r.lookupKey,P),B=A(g,"previous",r.lookupKey,L),b=y/B*100||0;return{cardType:N.ERROR_RATE,hasError:o.hasError.value,currentValue:S,previousValue:b,formatValueFn:p,title:i.longCardTitles?n.t("metricCard.long.errorRate"):n.t("metricCard.short.errorRate"),increaseIsBad:!0,trendRange:o.trendRange.value}}),l=g=>`${g}ms`,s=V.useMetricCardBuilder({cardType:N.LATENCY,title:t.computed(()=>{const{longCardTitles:g,averageLatencies:C}=i,E=C.value?"averageLatency":"p99Latency";return g?n.t(`metricCard.long.${E}`):n.t(`metricCard.short.${E}`)}),hasError:a.hasError,record:a.mapped,lookupKey:r.lookupKey,increaseIsBad:!0,formatValueFn:l,trendRange:a.trendRange}),d=t.computed(()=>r.cardToDisplay==="TRAFFIC"?[c.value]:r.cardToDisplay==="ERROR_RATE"?[f.value]:r.cardToDisplay==="LATENCY"?[s.value]:[c.value,f.value,s.value]),u=t.computed(()=>r.cardToDisplay==="TRAFFIC"||r.cardToDisplay==="ERROR_RATE"?o.isLoading.value:r.cardToDisplay==="LATENCY"?a.isLoading.value:o.isLoading.value||a.isLoading.value),m=t.computed(()=>({cards:d.value,containerTitle:i.containerTitle.value,containerDescription:i.description.value,loading:u.value,hasTrendAccess:i.hasTrendAccess.value,fallbackDisplayText:n.t("general.notAvailable"),cardSize:i.containerTitle.value?w.Medium:r.cardSize,hideTitle:!0})),h=t.computed(()=>({loading:m.value.loading,trafficCard:c.value,errorRateCard:f.value,latencyCard:s.value,errorRateFormatted:p(f.value.currentValue),latencyFormatted:l(s.value.currentValue)}));return(g,C)=>t.renderSlot(g.$slots,"default",{cardValues:h.value},()=>[t.createVNode(Nr,t.normalizeProps(t.guardReactiveProps(m.value)),null,16)])}}),H=e=>new Date(e),Rr=(e,r)=>{const i=e.body;e.reply({statusCode:200,body:Se(i,r)})},Ce=e=>e.reduce((r,i)=>(r[i]={name:i},r),{}),Se=(e,r)=>{var h,g;const i=_.TimePeriods.get(_.TimeframeKeys.ONE_DAY),o=e.granularity==="trend"?new _.DeltaQueryTime(i):new _.UnaryQueryTime(i),a=o.endMs(),n=o.startMs(),c=o.granularityMs(),p=e.granularity==="trend"?2:1;if((e.dimensions??[]).length>2)throw new Error(`Explore only supports 0-2 dimensions; got: ${JSON.stringify(e.dimensions)}`);const f=(e.dimensions??[]).find(C=>C!=="time"),l=(r==null?void 0:r.dimensionNames)??[],s=Math.max(l.length,1),d=e.metrics||[],u=[];for(let C=0;C<p;C++)for(let E=0;E<s;E++){const S=f?{[f]:l[E]}:{};(h=e.dimensions)!=null&&h.includes("status_code_grouped")?L.forEach(y=>{const B=d.reduce((b,x)=>(b[x]=(p-C)*1e3+100*E+1,b),{...S,status_code_grouped:y});u.push({version:"v1",timestamp:C===0?H(n).toISOString():H(n+c).toISOString(),event:B})}):u.push({version:"v1",timestamp:C===0?H(n).toISOString():H(n+c).toISOString(),event:d.reduce((y,B)=>(y[B]=(p-C)*1e3+100*E+1,y),{...S})})}const m={start_ms:n,end_ms:a,granularity_ms:c,display:f?{[f]:Ce(l),...(g=e.dimensions)!=null&&g.includes("status_code_grouped")?{status_code_grouped:Ce(L)}:{}}:{},metric_names:e.metrics,query_id:"test"};return{data:u,meta:m}};v.ALL_STATUS_CODE_GROUPS=L,v.DEFAULT_REFRESH_INTERVAL=ne,v.INJECT_QUERY_PROVIDER=ae,v.MAX_ANALYTICS_REQUEST_RETRIES=ie,v.MetricCardSize=w,v.MetricCardType=N,v.MetricsConsumer=wr,v.MetricsProvider=Ge,v.STATUS_CODES_FAILED=P,v.STATUS_CODES_SUCCESS=Re,v.mockExploreResponse=Se,v.mockExploreResponseFromCypress=Rr,Object.defineProperty(v,Symbol.toStringTag,{value:"Module"})});
1
+ (function(v,t){typeof exports=="object"&&typeof module<"u"?t(exports,require("vue"),require("@kong-ui-public/analytics-utilities"),require("@kong-ui-public/i18n"),require("@kong-ui-public/analytics-config-store")):typeof define=="function"&&define.amd?define(["exports","vue","@kong-ui-public/analytics-utilities","@kong-ui-public/i18n","@kong-ui-public/analytics-config-store"],t):(v=typeof globalThis<"u"?globalThis:v||self,t(v["kong-ui-public-vitals-metric-provider"]={},v.Vue,v["kong-ui-public-analytics-utilities"],v["kong-ui-public-i18n"],v["kong-ui-public-analytics-config-store"]))})(this,function(v,t,_,re,_e){"use strict";const Ne={general:{notAvailable:"N/A"},metricCard:{short:{traffic:"Requests",errorRate:"Error Rate",averageLatency:"Average Latency",p99Latency:"P99 Latency"},long:{traffic:"Number of Requests",errorRate:"Average Error Rate",averageLatency:"Average Latency",p99Latency:"P99 Latency"}},trendRange:{custom:"vs previous {numDays, plural, =1 {day} other {# days}}","15m":"vs previous 15 minutes","1h":"vs previous hour","6h":"vs previous 6 hours","12h":"vs previous 12 hours","24h":"vs previous 24 hours","7d":"vs previous 7 days","30d":"vs previous 30 days",current_week:"vs previous week",current_month:"vs previous month",current_quarter:"vs previous quarter",previous_week:"vs previous time period",previous_month:"vs previous time period",previous_quarter:"vs previous quarter"}};function we(){const e=re.createI18n("en-us",Ne);return{i18n:e,i18nT:re.i18nTComponent(e)}}const ie=2,L=["1XX","2XX","3XX","4XX","5XX"],K=["4XX","5XX"],Re=["1XX","2XX","3XX"],ne=30*1e3,ae="analytics-query-provider";var oe=(e=>(e.VALIDATING="VALIDATING",e.VALIDATING_HAS_DATA="VALIDATING_HAS_DATA",e.PENDING="PENDING",e.SUCCESS="SUCCESS",e.SUCCESS_HAS_DATA="SUCCESS_HAS_DATA",e.ERROR="ERROR",e.STALE_IF_ERROR="STALE_IF_ERROR",e))(oe||{});const Te=e=>{var r,i,o,a,n;return e?!!((r=Object.keys(e))!=null&&r.length||(i=e.data)!=null&&i.length||(a=(o=e.data)==null?void 0:o.data)!=null&&a.length||!((n=e.data)!=null&&n.data)&&typeof e.data=="object"&&Object.keys(e==null?void 0:e.data).length):!1};function Ie(e=t.ref({}),r,i,o=Te){const a=t.ref("PENDING");return t.watchEffect(()=>{const n=o(e.value);if(e.value&&n&&i.value){a.value="VALIDATING_HAS_DATA";return}if(e.value&&i.value){a.value="VALIDATING";return}if(e.value&&r.value){a.value="STALE_IF_ERROR";return}if(e.value===void 0&&!r.value){a.value="PENDING";return}if(e.value&&!r.value&&n){a.value="SUCCESS_HAS_DATA";return}if(e.value&&!r.value){a.value="SUCCESS";return}e.value===void 0&&r&&(a.value="ERROR")}),{state:a,swrvState:oe}}const I=Symbol("default"),P="status_code_grouped",le=(e,r,i,o,a)=>{e[r][i]||(e[r][i]={}),e[r][i][o]=a};function Be(e,r){var p;const i=((p=e.meta.metric_names)==null?void 0:p[0])||"",o=e.meta.start_ms,a=Object.keys(e.meta.display||{}),n=!!a.find(f=>f===P),c=a.find(f=>f!==P);return a.length>2||a.length>1&&!n?(console.error("Don't know how to work with provided dimensions:",a),{previous:{[I]:{[I]:0}},current:{[I]:{[I]:0}}}):e.data.reduce((f,l)=>{const s=l.event[i],d=c?l.event[c]:I,u=n?l.event[P]:I;return new Date(l.timestamp).getTime()===o&&r?le(f,"previous",d,u,s):le(f,"current",d,u,s),f},{previous:{},current:{}})}function Ve(e){e.queryReady===void 0&&(e.queryReady=t.computed(()=>!0));const{i18n:r}=V.useI18n(),i=t.computed(()=>{var d,u;return{metrics:e.metrics.value,dimensions:[...(d=e.dimensions)!=null&&d.length?[...e.dimensions]:[],...e.withTrend.value?["time"]:[]],granularity:e.withTrend.value?"trend":void 0,...(u=e.filter.value)!=null&&u.length?{filters:e.filter.value}:{},time_range:e.timeframe.value.v4Query(e.tz.value)}}),o=t.computed(()=>{var u,m,h,g;if(!((u=e.queryReady)!=null&&u.value))return null;const d=(m=e.filter)!=null&&m.value?JSON.stringify(e.filter.value):"";return`metric-fetcher-${e.timeframe.value.cacheKey()}-${(h=e.dimensions)==null?void 0:h.join("-")}-${(g=e.metrics.value)==null?void 0:g.join("-")}-${d}`}),{response:a,error:n,isValidating:c}=V.useRequest(()=>o.value,()=>e.queryFn(i.value,e.abortController??new AbortController),{refreshInterval:e.refreshInterval,revalidateOnFocus:!1,errorRetryCount:ie}),{state:p,swrvState:f}=Ie(a,n,c),l=t.computed(()=>{var d,u,m,h,g,C,b;return!((u=(d=a.value)==null?void 0:d.data)!=null&&u.length)||!((h=(m=a.value)==null?void 0:m.meta)!=null&&h.display)||!((b=(C=(g=a.value)==null?void 0:g.meta)==null?void 0:C.metric_names)!=null&&b.length)?{current:{},previous:{}}:Be(a.value,e.withTrend.value)}),s=t.computed(()=>{var d,u,m;if(e.timeframe.value.key==="custom"){if(!((u=(d=a.value)==null?void 0:d.meta)!=null&&u.start_ms))return"";const{start_ms:h,end_ms:g}=a.value.meta;let C=(g-h)/(1e3*60*60*24);return e.withTrend.value&&(C/=2),r.t("trendRange.custom",{numDays:Math.round(C)})}else return e.withTrend.value?r.t(`trendRange.${e.timeframe.value.key}`):r.t(`trendRange.${(m=_.TimePeriods.get(_.TimeframeKeys.ONE_DAY))==null?void 0:m.key}`)});return{isLoading:t.computed(()=>f.PENDING===p.value),hasError:t.computed(()=>f.ERROR===p.value),raw:a,mapped:l,trendRange:s}}const A=(e,r,i=I,o)=>(o??[I]).reduce((n,c)=>{const p=e[r][i];return p?n+(p[c]||0):n},0);function xe(e){const{cardType:r,title:i,description:o,record:a,hasError:n,increaseIsBad:c,formatValueFn:p,trendRange:f}=e;return t.computed(()=>{let l=0,s=0;if(a!=null&&a.value)try{l=A(a.value,"current",e.lookupKey,e.sumGroupedValues),s=A(a.value,"previous",e.lookupKey,e.sumGroupedValues)}catch(d){console.error("Metric card data doesn't have the expected structure:",d)}return{cardType:r,hasError:n.value,currentValue:l,previousValue:s,title:i.value,description:o,increaseIsBad:!!c,formatValueFn:p,trendRange:f==null?void 0:f.value}})}var U=new WeakMap,se=0;function De(e){if(!e.length)return"";for(var r="arg",i=0;i<e.length;++i){var o=void 0;e[i]===null||typeof e[i]!="object"&&typeof e[i]!="function"?typeof e[i]=="string"?o='"'+e[i]+'"':o=String(e[i]):U.has(e[i])?o=U.get(e[i]):(o=se,U.set(e[i],se++)),r+="@"+o}return r}function Le(e){if(typeof e=="function")try{e=e()}catch{e=""}return Array.isArray(e)?e=De(e):e=String(e||""),e}var X=function(){function e(r){r===void 0&&(r=0),this.items=new Map,this.ttl=r}return e.prototype.serializeKey=function(r){return Le(r)},e.prototype.get=function(r){var i=this.serializeKey(r);return this.items.get(i)},e.prototype.set=function(r,i,o){var a=this.serializeKey(r),n=o||this.ttl,c=Date.now(),p={data:i,createdAt:c,expiresAt:n?c+n:1/0};this.dispatchExpire(n,p,a),this.items.set(a,p)},e.prototype.dispatchExpire=function(r,i,o){var a=this;r&&setTimeout(function(){var n=Date.now(),c=n>=i.expiresAt;c&&a.delete(o)},r)},e.prototype.delete=function(r){this.items.delete(r)},e}();function Ae(){return typeof navigator.onLine<"u"?navigator.onLine:!0}function ze(){return typeof document<"u"&&typeof document.visibilityState<"u"?document.visibilityState!=="hidden":!0}var qe=function(e){return fetch(e).then(function(r){return r.json()})};const Z={isOnline:Ae,isDocumentVisible:ze,fetcher:qe};var T=function(){return T=Object.assign||function(e){for(var r,i=1,o=arguments.length;i<o;i++){r=arguments[i];for(var a in r)Object.prototype.hasOwnProperty.call(r,a)&&(e[a]=r[a])}return e},T.apply(this,arguments)},z=function(e,r,i,o){function a(n){return n instanceof i?n:new i(function(c){c(n)})}return new(i||(i=Promise))(function(n,c){function p(s){try{l(o.next(s))}catch(d){c(d)}}function f(s){try{l(o.throw(s))}catch(d){c(d)}}function l(s){s.done?n(s.value):a(s.value).then(p,f)}l((o=o.apply(e,r||[])).next())})},q=function(e,r){var i={label:0,sent:function(){if(n[0]&1)throw n[1];return n[1]},trys:[],ops:[]},o,a,n,c;return c={next:p(0),throw:p(1),return:p(2)},typeof Symbol=="function"&&(c[Symbol.iterator]=function(){return this}),c;function p(l){return function(s){return f([l,s])}}function f(l){if(o)throw new TypeError("Generator is already executing.");for(;i;)try{if(o=1,a&&(n=l[0]&2?a.return:l[0]?a.throw||((n=a.return)&&n.call(a),0):a.next)&&!(n=n.call(a,l[1])).done)return n;switch(a=0,n&&(l=[l[0]&2,n.value]),l[0]){case 0:case 1:n=l;break;case 4:return i.label++,{value:l[1],done:!1};case 5:i.label++,a=l[1],l=[0];continue;case 7:l=i.ops.pop(),i.trys.pop();continue;default:if(n=i.trys,!(n=n.length>0&&n[n.length-1])&&(l[0]===6||l[0]===2)){i=0;continue}if(l[0]===3&&(!n||l[1]>n[0]&&l[1]<n[3])){i.label=l[1];break}if(l[0]===6&&i.label<n[1]){i.label=n[1],n=l;break}if(n&&i.label<n[2]){i.label=n[2],i.ops.push(l);break}n[2]&&i.ops.pop(),i.trys.pop();continue}l=r.call(e,i)}catch(s){l=[6,s],a=0}finally{o=n=0}if(l[0]&5)throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}},Oe=function(e,r){var i=typeof Symbol=="function"&&e[Symbol.iterator];if(!i)return e;var o=i.call(e),a,n=[],c;try{for(;(r===void 0||r-- >0)&&!(a=o.next()).done;)n.push(a.value)}catch(p){c={error:p}}finally{try{a&&!a.done&&(i=o.return)&&i.call(o)}finally{if(c)throw c.error}}return n},Me=function(e,r,i){if(i||arguments.length===2)for(var o=0,a=r.length,n;o<a;o++)(n||!(o in r))&&(n||(n=Array.prototype.slice.call(r,0,o)),n[o]=r[o]);return e.concat(n||Array.prototype.slice.call(r))},ce=new X,M=new X,G=new X,de={cache:ce,refreshInterval:0,ttl:0,serverTTL:1e3,dedupingInterval:2e3,revalidateOnFocus:!0,revalidateDebounce:0,shouldRetryOnError:!0,errorRetryInterval:5e3,errorRetryCount:5,fetcher:Z.fetcher,isOnline:Z.isOnline,isDocumentVisible:Z.isDocumentVisible};function Fe(e,r,i){var o=M.get(e);if(o)o.data.push(r);else{var a=5e3;M.set(e,[r],i>0?i+a:i)}}function He(e,r,i){if(i.isDocumentVisible()&&!(i.errorRetryCount!==void 0&&r>i.errorRetryCount)){var o=Math.min(r||0,i.errorRetryCount),a=o*i.errorRetryInterval;setTimeout(function(){e(null,{errorRetryCount:o+1,shouldRetryOnError:!0})},a)}}var ue=function(e,r,i,o){return i===void 0&&(i=ce),o===void 0&&(o=de.ttl),z(void 0,void 0,void 0,function(){var a,n,c,p,f,l,s;return q(this,function(d){switch(d.label){case 0:if(!Ke(r))return[3,5];d.label=1;case 1:return d.trys.push([1,3,,4]),[4,r];case 2:return a=d.sent(),[3,4];case 3:return p=d.sent(),n=p,[3,4];case 4:return[3,6];case 5:a=r,d.label=6;case 6:if(c=!1,f={data:a,error:n,isValidating:c},typeof a<"u")try{i.set(e,f,o)}catch(u){console.error("swrv(mutate): failed to set cache",u)}return l=M.get(e),l&&l.data.length&&(s=l.data.filter(function(u){return u.key===e}),s.forEach(function(u,m){typeof f.data<"u"&&(u.data=f.data),u.error=f.error,u.isValidating=f.isValidating;var h=m===s.length-1;h||delete s[m]}),s=s.filter(Boolean)),[2,f]}})})};function $e(){for(var e=this,r=[],i=0;i<arguments.length;i++)r[i]=arguments[i];var o,a,n=T({},de),c=!1,p=!1,f=t.getCurrentInstance(),l=(f==null?void 0:f.proxy)||f;if(!l)return console.error("Could not get current instance, check to make sure that `useSwrv` is declared in the top level of the setup function."),null;var s=(l==null?void 0:l.$isServer)||!1;r.length>=1&&(o=r[0]),r.length>=2&&(a=r[1]),r.length>2&&(n=T(T({},n),r[2]));var d=s?n.serverTTL:n.ttl,u=typeof o=="function"?o:t.ref(o);typeof a>"u"&&(a=n.fetcher);var m=null;m||(m=t.reactive({data:void 0,error:void 0,isValidating:!0,key:null}));var h=function(S,y){return z(e,void 0,void 0,function(){var B,E,x,O,W,ve,J,ke=this;return q(this,function(ee){switch(ee.label){case 0:return B=m.data===void 0,E=u.value,E?(x=n.cache.get(E),O=x&&x.data,m.isValidating=!0,O&&(m.data=O.data,m.error=O.error),W=S||a,!W||!n.isDocumentVisible()&&!B||(y==null?void 0:y.forceRevalidate)!==void 0&&!(y!=null&&y.forceRevalidate)?(m.isValidating=!1,[2]):x&&(ve=!!(Date.now()-x.createdAt>=n.dedupingInterval||y!=null&&y.forceRevalidate),!ve)?(m.isValidating=!1,[2]):(J=function(){return z(ke,void 0,void 0,function(){var D,be,te,Ee;return q(this,function($){switch($.label){case 0:return D=G.get(E),D?[3,2]:(be=Array.isArray(E)?E:[E],te=W.apply(void 0,Me([],Oe(be),!1)),G.set(E,te,n.dedupingInterval),[4,ue(E,te,n.cache,d)]);case 1:return $.sent(),[3,4];case 2:return[4,ue(E,D.data,n.cache,d)];case 3:$.sent(),$.label=4;case 4:return m.isValidating=!1,G.delete(E),m.error!==void 0&&(Ee=!c&&n.shouldRetryOnError&&(y?y.shouldRetryOnError:!0),Ee&&He(h,y?y.errorRetryCount:1,n)),[2]}})})},O&&n.revalidateDebounce?(setTimeout(function(){return z(ke,void 0,void 0,function(){return q(this,function(D){switch(D.label){case 0:return c?[3,2]:[4,J()];case 1:D.sent(),D.label=2;case 2:return[2]}})})},n.revalidateDebounce),[3,3]):[3,1])):[2];case 1:return[4,J()];case 2:ee.sent(),ee.label=3;case 3:return[2]}})})},g=function(){return z(e,void 0,void 0,function(){return q(this,function(S){return[2,h(null,{shouldRetryOnError:!1})]})})},C=null;t.onMounted(function(){var S=function(){return z(e,void 0,void 0,function(){return q(this,function(y){switch(y.label){case 0:return!m.error&&n.isOnline()?[4,h()]:[3,2];case 1:return y.sent(),[3,3];case 2:C&&clearTimeout(C),y.label=3;case 3:return n.refreshInterval&&!c&&(C=setTimeout(S,n.refreshInterval)),[2]}})})};n.refreshInterval&&(C=setTimeout(S,n.refreshInterval)),n.revalidateOnFocus&&(document.addEventListener("visibilitychange",g,!1),window.addEventListener("focus",g,!1))}),t.onUnmounted(function(){c=!0,C&&clearTimeout(C),n.revalidateOnFocus&&(document.removeEventListener("visibilitychange",g,!1),window.removeEventListener("focus",g,!1));var S=M.get(u.value);S&&(S.data=S.data.filter(function(y){return y!==m}))});try{t.watch(u,function(S){t.isReadonly(u)||(u.value=S),m.key=S,m.isValidating=!!S,Fe(u.value,m,d),!s&&!p&&u.value&&h(),p=!1},{immediate:!0})}catch{}var b=T(T({},t.toRefs(m)),{mutate:function(S,y){return h(S,T(T({},y),{forceRevalidate:!0}))}});return b}function Ke(e){return e!==null&&typeof e=="object"&&typeof e.then=="function"}function Pe(e,r,i){const{data:o,error:a,isValidating:n,mutate:c}=$e(e,r,{revalidateDebounce:500,revalidateOnFocus:!1,dedupingInterval:100,...i});return{data:t.computed(()=>o.value),response:o,error:a,isValidating:n,revalidate:c}}const V={useI18n:we,useMetricCardBuilder:xe,useMetricFetcher:Ve,useRequest:Pe},fe=Symbol("METRICS_PROVIDER_KEY"),Ue=e=>{const{dimension:r,dimensionFilterValue:i,additionalFilter:o,queryReady:a,timeframe:n,tz:c,hasTrendAccess:p,refreshInterval:f,abortController:l,queryFn:s,averageLatencies:d}=e;if(i&&!r)throw new Error("Must provide a dimension if filtering by a value");const u=!!(r&&i),m=!!(r&&!i),h=t.computed(()=>{const y=[];return u&&y.push({dimension:r,type:"in",values:[i]}),o.value&&y.push(...o.value),y}),g={metrics:t.ref(["request_count"]),dimensions:[...r&&!u?[r]:[],"status_code_grouped"],filter:h,queryReady:a,timeframe:n,tz:c,withTrend:t.computed(()=>p.value&&!m),refreshInterval:f,queryFn:s,abortController:l},C={metrics:t.computed(()=>[d.value?"response_latency_average":"response_latency_p99"]),...r&&!u?{dimensions:[r]}:{},filter:h,queryReady:a,timeframe:n,tz:c,withTrend:t.computed(()=>p.value&&!m),refreshInterval:f,queryFn:s,abortController:l},b=V.useMetricFetcher(g),S=V.useMetricFetcher(C);return{trafficData:b,latencyData:S}},Xe=t.defineComponent({__name:"MetricsProvider",props:{maxTimeframe:{default:_.TimeframeKeys.THIRTY_DAY},overrideTimeframe:{default:void 0},tz:{default:void 0},dimension:{default:void 0},filterValue:{default:void 0},additionalFilter:{default:void 0},queryReady:{type:Boolean,default:!0},refreshInterval:{default:ne},longCardTitles:{type:Boolean,default:!1},containerTitle:{default:void 0},description:{default:void 0},percentileLatency:{type:Boolean,default:void 0},abortController:{default:void 0}},setup(e){const r=e;if(r.dimension&&_.queryableExploreDimensions.findIndex(m=>m===r.dimension)===-1)throw new Error(`Attempted to use MetricsProvider with an invalid dimension: ${r.dimension}`);const i=t.inject(ae);let o,a;i?(o=i.queryFn,a=i.evaluateFeatureFlagFn):(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/analytics-metric-provider/README.md#requirements"),o=()=>Promise.reject(new Error("Query bridge required")),a=(m,h)=>h);const n=_e.useAnalyticsConfigStore(),c=t.toRef(()=>n.longRetention),p=t.computed(()=>!n.loading&&r.queryReady),f=t.computed(()=>r.tz?r.tz:new Intl.DateTimeFormat().resolvedOptions().timeZone),l=t.computed(()=>{if(r.overrideTimeframe)return r.overrideTimeframe;const m=c.value?_.TimePeriods.get(r.maxTimeframe):_.TimePeriods.get(_.TimeframeKeys.ONE_DAY);if(!m)throw new Error("Metrics provider failed to resolve fallback timeframe.");return m}),s=t.computed(()=>r.percentileLatency?!1:a("MA-2527-analytics-sku-config-endpoint",!1)),{trafficData:d,latencyData:u}=Ue({dimension:r.dimension,dimensionFilterValue:r.filterValue,additionalFilter:t.toRef(r,"additionalFilter"),queryReady:p,timeframe:l,tz:f,hasTrendAccess:c,refreshInterval:r.refreshInterval,queryFn:o,averageLatencies:s,abortController:r.abortController});return t.provide(fe,{data:{traffic:d,latency:u},description:t.toRef(()=>r.description),containerTitle:t.toRef(()=>r.containerTitle),hasTrendAccess:c,longCardTitles:r.longCardTitles,averageLatencies:s}),(m,h)=>t.renderSlot(m.$slots,"default",{hasTrendAccess:c.value,timeframe:l.value})}});function Ze(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var pe={exports:{}};(function(e){(function(){function r(l,s){if(s.separator===!1||l<1e3)return l.toString();var d=typeof s.separator=="string"?s.separator:",",u=[],m=Math.round(l).toString().split("");return m.reverse().forEach(function(h,g){g&&g%3===0&&u.push(d),u.push(h)}),u.reverse().join("")}function i(l,s,d){var u=l/s,m=d.round?"round":"floor";return d.decimal===!1?(l=Math[m](u),l.toString()):(d.precision?l=u:l=u<10?Math[m](u*10)/10:Math[m](u),l=l.toString(),typeof d.decimal=="string"&&(l=l.replace(".",d.decimal)),l)}var o=1e3,a=1e4,n=1e6,c=1e9,p=1e12;function f(l,s){var d;s=s||{};var u=l<0;u&&(l=Math.abs(l)),s.precision&&(l=parseFloat(l.toPrecision(s.precision)));var m=s.min10k?a:o;return l<m||s.precision&&s.precision>Math.log10(l)?d=r(i(l,1,s),s):l<n?d=i(l,o,s)+"k":l<c?d=i(l,n,s)+"m":l<p?d=r(i(l,c,s),s)+"b":d=r(i(l,p,s),s)+"t",u&&(d="-"+d),s.capital&&(d=d.toUpperCase()),s.prefix&&(d=s.prefix+d),s.suffix&&(d=d+s.suffix),d}f.addCommas=r,e.exports=f})()})(pe);var Ge=pe.exports;const je=Ze(Ge);var N=(e=>(e.GENERIC_COUNT="GenericCount",e.TRAFFIC="Traffic",e.ERROR_RATE="ErrorRate",e.LATENCY="Latency",e))(N||{}),w=(e=>(e.Small="sm",e.Medium="md",e.Large="lg",e.ExtraLarge="xl",e))(w||{});const k="24px",R=(e,r)=>{const i=e.__vccOpts||e;for(const[o,a]of r)i[o]=a;return i},Ye=e=>(t.pushScopeId("data-v-6e7c19a8"),e=e(),t.popScopeId(),e),Qe=["aria-hidden"],We={key:0,"data-testid":"kui-icon-svg-title"},Je=Ye(()=>t.createElementVNode("path",{d:"M6.5 20C4.98333 20 3.6875 19.475 2.6125 18.425C1.5375 17.375 1 16.0917 1 14.575C1 13.275 1.39167 12.1167 2.175 11.1C2.95833 10.0833 3.98333 9.43333 5.25 9.15C5.66667 7.61667 6.5 6.375 7.75 5.425C9 4.475 10.4167 4 12 4C13.95 4 15.6042 4.67917 16.9625 6.0375C18.3208 7.39583 19 9.05 19 11C20.15 11.1333 21.1042 11.6292 21.8625 12.4875C22.6208 13.3458 23 14.35 23 15.5C23 16.75 22.5625 17.8125 21.6875 18.6875C20.8125 19.5625 19.75 20 18.5 20H13C12.45 20 11.9792 19.8042 11.5875 19.4125C11.1958 19.0208 11 18.55 11 18V12.85L9.4 14.4L8 13L12 9L16 13L14.6 14.4L13 12.85V18H18.5C19.2 18 19.7917 17.7583 20.275 17.275C20.7583 16.7917 21 16.2 21 15.5C21 14.8 20.7583 14.2083 20.275 13.725C19.7917 13.2417 19.2 13 18.5 13H17V11C17 9.61667 16.5125 8.4375 15.5375 7.4625C14.5625 6.4875 13.3833 6 12 6C10.6167 6 9.4375 6.4875 8.4625 7.4625C7.4875 8.4375 7 9.61667 7 11H6.5C5.53333 11 4.70833 11.3417 4.025 12.025C3.34167 12.7083 3 13.5333 3 14.5C3 15.4667 3.34167 16.2917 4.025 16.975C4.70833 17.6583 5.53333 18 6.5 18H9V20H6.5Z",fill:"currentColor"},null,-1)),et=t.defineComponent({__name:"CloudUploadIcon",props:{title:{type:String,required:!1,default:""},color:{type:String,required:!1,default:"currentColor"},display:{type:String,required:!1,default:"block"},decorative:{type:Boolean,required:!1,default:!1},size:{type:[Number,String],required:!1,default:k,validator:e=>{if(typeof e=="number"&&e>0)return!0;if(typeof e=="string"){const r=String(e).replace(/px/gi,""),i=Number(r);if(i&&!isNaN(i)&&Number.isInteger(i)&&i>0)return!0}return!1}},as:{type:String,required:!1,default:"span"}},setup(e){const r=e,i=t.computed(()=>{if(typeof r.size=="number"&&r.size>0)return`${r.size}px`;if(typeof r.size=="string"){const a=String(r.size).replace(/px/gi,""),n=Number(a);if(n&&!isNaN(n)&&Number.isInteger(n)&&n>0)return`${n}px`}return k}),o=t.computed(()=>({boxSizing:"border-box",color:r.color,display:r.display,height:i.value,lineHeight:"0",width:i.value}));return(a,n)=>(t.openBlock(),t.createBlock(t.resolveDynamicComponent(e.as),{"aria-hidden":e.decorative?"true":void 0,class:"kui-icon cloud-upload-icon","data-testid":"kui-icon-wrapper-cloud-upload-icon",style:t.normalizeStyle(o.value)},{default:t.withCtx(()=>[(t.openBlock(),t.createElementBlock("svg",{"aria-hidden":e.decorative?"true":void 0,"data-testid":"kui-icon-svg-cloud-upload-icon",fill:"none",height:"100%",role:"img",viewBox:"0 0 24 24",width:"100%",xmlns:"http://www.w3.org/2000/svg"},[e.title?(t.openBlock(),t.createElementBlock("title",We,t.toDisplayString(e.title),1)):t.createCommentVNode("",!0),Je],8,Qe))]),_:1},8,["aria-hidden","style"]))}}),tt=R(et,[["__scopeId","data-v-6e7c19a8"]]),rt=e=>(t.pushScopeId("data-v-d71ed5b6"),e=e(),t.popScopeId(),e),it=["aria-hidden"],nt={key:0,"data-testid":"kui-icon-svg-title"},at=rt(()=>t.createElementVNode("path",{d:"M4 17V14H20V17H4ZM4 10V7H20V10H4Z",fill:"currentColor"},null,-1)),ot=t.defineComponent({__name:"EqualIcon",props:{title:{type:String,required:!1,default:""},color:{type:String,required:!1,default:"currentColor"},display:{type:String,required:!1,default:"block"},decorative:{type:Boolean,required:!1,default:!1},size:{type:[Number,String],required:!1,default:k,validator:e=>{if(typeof e=="number"&&e>0)return!0;if(typeof e=="string"){const r=String(e).replace(/px/gi,""),i=Number(r);if(i&&!isNaN(i)&&Number.isInteger(i)&&i>0)return!0}return!1}},as:{type:String,required:!1,default:"span"}},setup(e){const r=e,i=t.computed(()=>{if(typeof r.size=="number"&&r.size>0)return`${r.size}px`;if(typeof r.size=="string"){const a=String(r.size).replace(/px/gi,""),n=Number(a);if(n&&!isNaN(n)&&Number.isInteger(n)&&n>0)return`${n}px`}return k}),o=t.computed(()=>({boxSizing:"border-box",color:r.color,display:r.display,height:i.value,lineHeight:"0",width:i.value}));return(a,n)=>(t.openBlock(),t.createBlock(t.resolveDynamicComponent(e.as),{"aria-hidden":e.decorative?"true":void 0,class:"kui-icon equal-icon","data-testid":"kui-icon-wrapper-equal-icon",style:t.normalizeStyle(o.value)},{default:t.withCtx(()=>[(t.openBlock(),t.createElementBlock("svg",{"aria-hidden":e.decorative?"true":void 0,"data-testid":"kui-icon-svg-equal-icon",fill:"none",height:"100%",role:"img",viewBox:"0 0 24 24",width:"100%",xmlns:"http://www.w3.org/2000/svg"},[e.title?(t.openBlock(),t.createElementBlock("title",nt,t.toDisplayString(e.title),1)):t.createCommentVNode("",!0),at],8,it))]),_:1},8,["aria-hidden","style"]))}}),lt=R(ot,[["__scopeId","data-v-d71ed5b6"]]),st=e=>(t.pushScopeId("data-v-32f3bfab"),e=e(),t.popScopeId(),e),ct=["aria-hidden"],dt={key:0,"data-testid":"kui-icon-svg-title"},ut=st(()=>t.createElementVNode("path",{d:"M5 11V9H15V11H5Z",fill:"currentColor"},null,-1)),ft=t.defineComponent({__name:"IndeterminateSmallIcon",props:{title:{type:String,required:!1,default:""},color:{type:String,required:!1,default:"currentColor"},display:{type:String,required:!1,default:"block"},decorative:{type:Boolean,required:!1,default:!1},size:{type:[Number,String],required:!1,default:k,validator:e=>{if(typeof e=="number"&&e>0)return!0;if(typeof e=="string"){const r=String(e).replace(/px/gi,""),i=Number(r);if(i&&!isNaN(i)&&Number.isInteger(i)&&i>0)return!0}return!1}},as:{type:String,required:!1,default:"span"}},setup(e){const r=e,i=t.computed(()=>{if(typeof r.size=="number"&&r.size>0)return`${r.size}px`;if(typeof r.size=="string"){const a=String(r.size).replace(/px/gi,""),n=Number(a);if(n&&!isNaN(n)&&Number.isInteger(n)&&n>0)return`${n}px`}return k}),o=t.computed(()=>({boxSizing:"border-box",color:r.color,display:r.display,height:i.value,lineHeight:"0",width:i.value}));return(a,n)=>(t.openBlock(),t.createBlock(t.resolveDynamicComponent(e.as),{"aria-hidden":e.decorative?"true":void 0,class:"kui-icon indeterminate-small-icon","data-testid":"kui-icon-wrapper-indeterminate-small-icon",style:t.normalizeStyle(o.value)},{default:t.withCtx(()=>[(t.openBlock(),t.createElementBlock("svg",{"aria-hidden":e.decorative?"true":void 0,"data-testid":"kui-icon-svg-indeterminate-small-icon",fill:"none",height:"100%",role:"img",viewBox:"0 0 24 24",width:"100%",xmlns:"http://www.w3.org/2000/svg"},[e.title?(t.openBlock(),t.createElementBlock("title",dt,t.toDisplayString(e.title),1)):t.createCommentVNode("",!0),ut],8,ct))]),_:1},8,["aria-hidden","style"]))}}),me=R(ft,[["__scopeId","data-v-32f3bfab"]]),pt=e=>(t.pushScopeId("data-v-f641d33a"),e=e(),t.popScopeId(),e),mt=["aria-hidden"],gt={key:0,"data-testid":"kui-icon-svg-title"},yt=pt(()=>t.createElementVNode("path",{d:"M11 17H13V11H11V17ZM12 9C12.2833 9 12.5208 8.90417 12.7125 8.7125C12.9042 8.52083 13 8.28333 13 8C13 7.71667 12.9042 7.47917 12.7125 7.2875C12.5208 7.09583 12.2833 7 12 7C11.7167 7 11.4792 7.09583 11.2875 7.2875C11.0958 7.47917 11 7.71667 11 8C11 8.28333 11.0958 8.52083 11.2875 8.7125C11.4792 8.90417 11.7167 9 12 9ZM12 22C10.6167 22 9.31667 21.7375 8.1 21.2125C6.88333 20.6875 5.825 19.975 4.925 19.075C4.025 18.175 3.3125 17.1167 2.7875 15.9C2.2625 14.6833 2 13.3833 2 12C2 10.6167 2.2625 9.31667 2.7875 8.1C3.3125 6.88333 4.025 5.825 4.925 4.925C5.825 4.025 6.88333 3.3125 8.1 2.7875C9.31667 2.2625 10.6167 2 12 2C13.3833 2 14.6833 2.2625 15.9 2.7875C17.1167 3.3125 18.175 4.025 19.075 4.925C19.975 5.825 20.6875 6.88333 21.2125 8.1C21.7375 9.31667 22 10.6167 22 12C22 13.3833 21.7375 14.6833 21.2125 15.9C20.6875 17.1167 19.975 18.175 19.075 19.075C18.175 19.975 17.1167 20.6875 15.9 21.2125C14.6833 21.7375 13.3833 22 12 22Z",fill:"currentColor"},null,-1)),ht=t.defineComponent({__name:"InfoIcon",props:{title:{type:String,required:!1,default:""},color:{type:String,required:!1,default:"currentColor"},display:{type:String,required:!1,default:"block"},decorative:{type:Boolean,required:!1,default:!1},size:{type:[Number,String],required:!1,default:k,validator:e=>{if(typeof e=="number"&&e>0)return!0;if(typeof e=="string"){const r=String(e).replace(/px/gi,""),i=Number(r);if(i&&!isNaN(i)&&Number.isInteger(i)&&i>0)return!0}return!1}},as:{type:String,required:!1,default:"span"}},setup(e){const r=e,i=t.computed(()=>{if(typeof r.size=="number"&&r.size>0)return`${r.size}px`;if(typeof r.size=="string"){const a=String(r.size).replace(/px/gi,""),n=Number(a);if(n&&!isNaN(n)&&Number.isInteger(n)&&n>0)return`${n}px`}return k}),o=t.computed(()=>({boxSizing:"border-box",color:r.color,display:r.display,height:i.value,lineHeight:"0",width:i.value}));return(a,n)=>(t.openBlock(),t.createBlock(t.resolveDynamicComponent(e.as),{"aria-hidden":e.decorative?"true":void 0,class:"kui-icon info-icon","data-testid":"kui-icon-wrapper-info-icon",style:t.normalizeStyle(o.value)},{default:t.withCtx(()=>[(t.openBlock(),t.createElementBlock("svg",{"aria-hidden":e.decorative?"true":void 0,"data-testid":"kui-icon-svg-info-icon",fill:"none",height:"100%",role:"img",viewBox:"0 0 24 24",width:"100%",xmlns:"http://www.w3.org/2000/svg"},[e.title?(t.openBlock(),t.createElementBlock("title",gt,t.toDisplayString(e.title),1)):t.createCommentVNode("",!0),yt],8,mt))]),_:1},8,["aria-hidden","style"]))}}),Ct=R(ht,[["__scopeId","data-v-f641d33a"]]),St=e=>(t.pushScopeId("data-v-ff64c8af"),e=e(),t.popScopeId(),e),vt=["aria-hidden"],kt={key:0,"data-testid":"kui-icon-svg-title"},bt=St(()=>t.createElementVNode("path",{d:"M15.25 5C14.9 5 14.6042 4.87917 14.3625 4.6375C14.1208 4.39583 14 4.1 14 3.75C14 3.4 14.1208 3.10417 14.3625 2.8625C14.6042 2.62083 14.9 2.5 15.25 2.5C15.6 2.5 15.8958 2.62083 16.1375 2.8625C16.3792 3.10417 16.5 3.4 16.5 3.75C16.5 4.1 16.3792 4.39583 16.1375 4.6375C15.8958 4.87917 15.6 5 15.25 5ZM15.25 21.5C14.9 21.5 14.6042 21.3792 14.3625 21.1375C14.1208 20.8958 14 20.6 14 20.25C14 19.9 14.1208 19.6042 14.3625 19.3625C14.6042 19.1208 14.9 19 15.25 19C15.6 19 15.8958 19.1208 16.1375 19.3625C16.3792 19.6042 16.5 19.9 16.5 20.25C16.5 20.6 16.3792 20.8958 16.1375 21.1375C15.8958 21.3792 15.6 21.5 15.25 21.5ZM19.25 8.5C18.9 8.5 18.6042 8.37917 18.3625 8.1375C18.1208 7.89583 18 7.6 18 7.25C18 6.9 18.1208 6.60417 18.3625 6.3625C18.6042 6.12083 18.9 6 19.25 6C19.6 6 19.8958 6.12083 20.1375 6.3625C20.3792 6.60417 20.5 6.9 20.5 7.25C20.5 7.6 20.3792 7.89583 20.1375 8.1375C19.8958 8.37917 19.6 8.5 19.25 8.5ZM19.25 18C18.9 18 18.6042 17.8792 18.3625 17.6375C18.1208 17.3958 18 17.1 18 16.75C18 16.4 18.1208 16.1042 18.3625 15.8625C18.6042 15.6208 18.9 15.5 19.25 15.5C19.6 15.5 19.8958 15.6208 20.1375 15.8625C20.3792 16.1042 20.5 16.4 20.5 16.75C20.5 17.1 20.3792 17.3958 20.1375 17.6375C19.8958 17.8792 19.6 18 19.25 18ZM20.75 13.25C20.4 13.25 20.1042 13.1292 19.8625 12.8875C19.6208 12.6458 19.5 12.35 19.5 12C19.5 11.65 19.6208 11.3542 19.8625 11.1125C20.1042 10.8708 20.4 10.75 20.75 10.75C21.1 10.75 21.3958 10.8708 21.6375 11.1125C21.8792 11.3542 22 11.65 22 12C22 12.35 21.8792 12.6458 21.6375 12.8875C21.3958 13.1292 21.1 13.25 20.75 13.25ZM12 22C10.6167 22 9.31667 21.7375 8.1 21.2125C6.88333 20.6875 5.825 19.975 4.925 19.075C4.025 18.175 3.3125 17.1167 2.7875 15.9C2.2625 14.6833 2 13.3833 2 12C2 10.6167 2.2625 9.31667 2.7875 8.1C3.3125 6.88333 4.025 5.825 4.925 4.925C5.825 4.025 6.88333 3.3125 8.1 2.7875C9.31667 2.2625 10.6167 2 12 2V4C9.76667 4 7.875 4.775 6.325 6.325C4.775 7.875 4 9.76667 4 12C4 14.2333 4.775 16.125 6.325 17.675C7.875 19.225 9.76667 20 12 20V22ZM12 14C11.45 14 10.9792 13.8042 10.5875 13.4125C10.1958 13.0208 10 12.55 10 12C10 11.9167 10.0042 11.8292 10.0125 11.7375C10.0208 11.6458 10.0417 11.5583 10.075 11.475L8 9.4L9.4 8L11.475 10.075C11.5417 10.0583 11.7167 10.0333 12 10C12.55 10 13.0208 10.1958 13.4125 10.5875C13.8042 10.9792 14 11.45 14 12C14 12.55 13.8042 13.0208 13.4125 13.4125C13.0208 13.8042 12.55 14 12 14Z",fill:"currentColor"},null,-1)),Et=t.defineComponent({__name:"ResponseIcon",props:{title:{type:String,required:!1,default:""},color:{type:String,required:!1,default:"currentColor"},display:{type:String,required:!1,default:"block"},decorative:{type:Boolean,required:!1,default:!1},size:{type:[Number,String],required:!1,default:k,validator:e=>{if(typeof e=="number"&&e>0)return!0;if(typeof e=="string"){const r=String(e).replace(/px/gi,""),i=Number(r);if(i&&!isNaN(i)&&Number.isInteger(i)&&i>0)return!0}return!1}},as:{type:String,required:!1,default:"span"}},setup(e){const r=e,i=t.computed(()=>{if(typeof r.size=="number"&&r.size>0)return`${r.size}px`;if(typeof r.size=="string"){const a=String(r.size).replace(/px/gi,""),n=Number(a);if(n&&!isNaN(n)&&Number.isInteger(n)&&n>0)return`${n}px`}return k}),o=t.computed(()=>({boxSizing:"border-box",color:r.color,display:r.display,height:i.value,lineHeight:"0",width:i.value}));return(a,n)=>(t.openBlock(),t.createBlock(t.resolveDynamicComponent(e.as),{"aria-hidden":e.decorative?"true":void 0,class:"kui-icon response-icon","data-testid":"kui-icon-wrapper-response-icon",style:t.normalizeStyle(o.value)},{default:t.withCtx(()=>[(t.openBlock(),t.createElementBlock("svg",{"aria-hidden":e.decorative?"true":void 0,"data-testid":"kui-icon-svg-response-icon",fill:"none",height:"100%",role:"img",viewBox:"0 0 24 24",width:"100%",xmlns:"http://www.w3.org/2000/svg"},[e.title?(t.openBlock(),t.createElementBlock("title",kt,t.toDisplayString(e.title),1)):t.createCommentVNode("",!0),bt],8,vt))]),_:1},8,["aria-hidden","style"]))}}),_t=R(Et,[["__scopeId","data-v-ff64c8af"]]),Nt=e=>(t.pushScopeId("data-v-19d79ba8"),e=e(),t.popScopeId(),e),wt=["aria-hidden"],Rt={key:0,"data-testid":"kui-icon-svg-title"},Tt=Nt(()=>t.createElementVNode("path",{d:"M16 18V16H18.6L13.4 10.85L9.4 14.85L2 7.4L3.4 6L9.4 12L13.4 8L20 14.6V12H22V18H16Z",fill:"currentColor"},null,-1)),It=t.defineComponent({__name:"TrendDownIcon",props:{title:{type:String,required:!1,default:""},color:{type:String,required:!1,default:"currentColor"},display:{type:String,required:!1,default:"block"},decorative:{type:Boolean,required:!1,default:!1},size:{type:[Number,String],required:!1,default:k,validator:e=>{if(typeof e=="number"&&e>0)return!0;if(typeof e=="string"){const r=String(e).replace(/px/gi,""),i=Number(r);if(i&&!isNaN(i)&&Number.isInteger(i)&&i>0)return!0}return!1}},as:{type:String,required:!1,default:"span"}},setup(e){const r=e,i=t.computed(()=>{if(typeof r.size=="number"&&r.size>0)return`${r.size}px`;if(typeof r.size=="string"){const a=String(r.size).replace(/px/gi,""),n=Number(a);if(n&&!isNaN(n)&&Number.isInteger(n)&&n>0)return`${n}px`}return k}),o=t.computed(()=>({boxSizing:"border-box",color:r.color,display:r.display,height:i.value,lineHeight:"0",width:i.value}));return(a,n)=>(t.openBlock(),t.createBlock(t.resolveDynamicComponent(e.as),{"aria-hidden":e.decorative?"true":void 0,class:"kui-icon trend-down-icon","data-testid":"kui-icon-wrapper-trend-down-icon",style:t.normalizeStyle(o.value)},{default:t.withCtx(()=>[(t.openBlock(),t.createElementBlock("svg",{"aria-hidden":e.decorative?"true":void 0,"data-testid":"kui-icon-svg-trend-down-icon",fill:"none",height:"100%",role:"img",viewBox:"0 0 24 24",width:"100%",xmlns:"http://www.w3.org/2000/svg"},[e.title?(t.openBlock(),t.createElementBlock("title",Rt,t.toDisplayString(e.title),1)):t.createCommentVNode("",!0),Tt],8,wt))]),_:1},8,["aria-hidden","style"]))}}),Bt=R(It,[["__scopeId","data-v-19d79ba8"]]),Vt=e=>(t.pushScopeId("data-v-d4a4b583"),e=e(),t.popScopeId(),e),xt=["aria-hidden"],Dt={key:0,"data-testid":"kui-icon-svg-title"},Lt=Vt(()=>t.createElementVNode("path",{d:"M3.4 18L2 16.6L9.4 9.15L13.4 13.15L18.6 8H16V6H22V12H20V9.4L13.4 16L9.4 12L3.4 18Z",fill:"currentColor"},null,-1)),At=t.defineComponent({__name:"TrendUpIcon",props:{title:{type:String,required:!1,default:""},color:{type:String,required:!1,default:"currentColor"},display:{type:String,required:!1,default:"block"},decorative:{type:Boolean,required:!1,default:!1},size:{type:[Number,String],required:!1,default:k,validator:e=>{if(typeof e=="number"&&e>0)return!0;if(typeof e=="string"){const r=String(e).replace(/px/gi,""),i=Number(r);if(i&&!isNaN(i)&&Number.isInteger(i)&&i>0)return!0}return!1}},as:{type:String,required:!1,default:"span"}},setup(e){const r=e,i=t.computed(()=>{if(typeof r.size=="number"&&r.size>0)return`${r.size}px`;if(typeof r.size=="string"){const a=String(r.size).replace(/px/gi,""),n=Number(a);if(n&&!isNaN(n)&&Number.isInteger(n)&&n>0)return`${n}px`}return k}),o=t.computed(()=>({boxSizing:"border-box",color:r.color,display:r.display,height:i.value,lineHeight:"0",width:i.value}));return(a,n)=>(t.openBlock(),t.createBlock(t.resolveDynamicComponent(e.as),{"aria-hidden":e.decorative?"true":void 0,class:"kui-icon trend-up-icon","data-testid":"kui-icon-wrapper-trend-up-icon",style:t.normalizeStyle(o.value)},{default:t.withCtx(()=>[(t.openBlock(),t.createElementBlock("svg",{"aria-hidden":e.decorative?"true":void 0,"data-testid":"kui-icon-svg-trend-up-icon",fill:"none",height:"100%",role:"img",viewBox:"0 0 24 24",width:"100%",xmlns:"http://www.w3.org/2000/svg"},[e.title?(t.openBlock(),t.createElementBlock("title",Dt,t.toDisplayString(e.title),1)):t.createCommentVNode("",!0),Lt],8,xt))]),_:1},8,["aria-hidden","style"]))}}),zt=R(At,[["__scopeId","data-v-d4a4b583"]]),qt=e=>(t.pushScopeId("data-v-037898c7"),e=e(),t.popScopeId(),e),Ot=["aria-hidden"],Mt={key:0,"data-testid":"kui-icon-svg-title"},Ft=qt(()=>t.createElementVNode("path",{d:"M9 20C8.68333 20 8.4 19.9083 8.15 19.725C7.9 19.5417 7.71667 19.3083 7.6 19.025L5.3 13H1V11H6.7L9 17.1L13.6 4.975C13.7167 4.69167 13.9 4.45833 14.15 4.275C14.4 4.09167 14.6833 4 15 4C15.3167 4 15.6 4.09167 15.85 4.275C16.1 4.45833 16.2833 4.69167 16.4 4.975L18.7 11H23V13H17.3L15 6.9L10.4 19.025C10.2833 19.3083 10.1 19.5417 9.85 19.725C9.6 19.9083 9.31667 20 9 20Z",fill:"currentColor"},null,-1)),Ht=t.defineComponent({__name:"VitalsIcon",props:{title:{type:String,required:!1,default:""},color:{type:String,required:!1,default:"currentColor"},display:{type:String,required:!1,default:"block"},decorative:{type:Boolean,required:!1,default:!1},size:{type:[Number,String],required:!1,default:k,validator:e=>{if(typeof e=="number"&&e>0)return!0;if(typeof e=="string"){const r=String(e).replace(/px/gi,""),i=Number(r);if(i&&!isNaN(i)&&Number.isInteger(i)&&i>0)return!0}return!1}},as:{type:String,required:!1,default:"span"}},setup(e){const r=e,i=t.computed(()=>{if(typeof r.size=="number"&&r.size>0)return`${r.size}px`;if(typeof r.size=="string"){const a=String(r.size).replace(/px/gi,""),n=Number(a);if(n&&!isNaN(n)&&Number.isInteger(n)&&n>0)return`${n}px`}return k}),o=t.computed(()=>({boxSizing:"border-box",color:r.color,display:r.display,height:i.value,lineHeight:"0",width:i.value}));return(a,n)=>(t.openBlock(),t.createBlock(t.resolveDynamicComponent(e.as),{"aria-hidden":e.decorative?"true":void 0,class:"kui-icon vitals-icon","data-testid":"kui-icon-wrapper-vitals-icon",style:t.normalizeStyle(o.value)},{default:t.withCtx(()=>[(t.openBlock(),t.createElementBlock("svg",{"aria-hidden":e.decorative?"true":void 0,"data-testid":"kui-icon-svg-vitals-icon",fill:"none",height:"100%",role:"img",viewBox:"0 0 24 24",width:"100%",xmlns:"http://www.w3.org/2000/svg"},[e.title?(t.openBlock(),t.createElementBlock("title",Mt,t.toDisplayString(e.title),1)):t.createCommentVNode("",!0),Ft],8,Ot))]),_:1},8,["aria-hidden","style"]))}}),$t=R(Ht,[["__scopeId","data-v-037898c7"]]),Kt=e=>(t.pushScopeId("data-v-5c520bd5"),e=e(),t.popScopeId(),e),Pt=["aria-hidden"],Ut={key:0,"data-testid":"kui-icon-svg-title"},Xt=Kt(()=>t.createElementVNode("path",{d:"M12.0001 22.025C11.7334 22.025 11.4793 21.975 11.2376 21.875C10.9959 21.775 10.7751 21.6333 10.5751 21.45L2.5501 13.425C2.36676 13.225 2.2251 13.0041 2.1251 12.7625C2.0251 12.5208 1.9751 12.2666 1.9751 12C1.9751 11.7333 2.0251 11.475 2.1251 11.225C2.2251 10.975 2.36676 10.7583 2.5501 10.575L10.5751 2.54998C10.7751 2.34998 10.9959 2.20414 11.2376 2.11248C11.4793 2.02081 11.7334 1.97498 12.0001 1.97498C12.2668 1.97498 12.5251 2.02081 12.7751 2.11248C13.0251 2.20414 13.2418 2.34998 13.4251 2.54998L21.4501 10.575C21.6501 10.7583 21.7959 10.975 21.8876 11.225C21.9793 11.475 22.0251 11.7333 22.0251 12C22.0251 12.2666 21.9793 12.5208 21.8876 12.7625C21.7959 13.0041 21.6501 13.225 21.4501 13.425L13.4251 21.45C13.2418 21.6333 13.0251 21.775 12.7751 21.875C12.5251 21.975 12.2668 22.025 12.0001 22.025ZM12.0001 20.025L20.0251 12L12.0001 3.97498L3.9751 12L12.0001 20.025ZM11.0001 13H13.0001V6.99998H11.0001V13ZM12.0001 16C12.2834 16 12.5209 15.9041 12.7126 15.7125C12.9043 15.5208 13.0001 15.2833 13.0001 15C13.0001 14.7166 12.9043 14.4791 12.7126 14.2875C12.5209 14.0958 12.2834 14 12.0001 14C11.7168 14 11.4793 14.0958 11.2876 14.2875C11.0959 14.4791 11.0001 14.7166 11.0001 15C11.0001 15.2833 11.0959 15.5208 11.2876 15.7125C11.4793 15.9041 11.7168 16 12.0001 16Z",fill:"currentColor"},null,-1)),Zt=t.defineComponent({__name:"WarningOutlineIcon",props:{title:{type:String,required:!1,default:""},color:{type:String,required:!1,default:"currentColor"},display:{type:String,required:!1,default:"block"},decorative:{type:Boolean,required:!1,default:!1},size:{type:[Number,String],required:!1,default:k,validator:e=>{if(typeof e=="number"&&e>0)return!0;if(typeof e=="string"){const r=String(e).replace(/px/gi,""),i=Number(r);if(i&&!isNaN(i)&&Number.isInteger(i)&&i>0)return!0}return!1}},as:{type:String,required:!1,default:"span"}},setup(e){const r=e,i=t.computed(()=>{if(typeof r.size=="number"&&r.size>0)return`${r.size}px`;if(typeof r.size=="string"){const a=String(r.size).replace(/px/gi,""),n=Number(a);if(n&&!isNaN(n)&&Number.isInteger(n)&&n>0)return`${n}px`}return k}),o=t.computed(()=>({boxSizing:"border-box",color:r.color,display:r.display,height:i.value,lineHeight:"0",width:i.value}));return(a,n)=>(t.openBlock(),t.createBlock(t.resolveDynamicComponent(e.as),{"aria-hidden":e.decorative?"true":void 0,class:"kui-icon warning-outline-icon","data-testid":"kui-icon-wrapper-warning-outline-icon",style:t.normalizeStyle(o.value)},{default:t.withCtx(()=>[(t.openBlock(),t.createElementBlock("svg",{"aria-hidden":e.decorative?"true":void 0,"data-testid":"kui-icon-svg-warning-outline-icon",fill:"none",height:"100%",role:"img",viewBox:"0 0 24 24",width:"100%",xmlns:"http://www.w3.org/2000/svg"},[e.title?(t.openBlock(),t.createElementBlock("title",Ut,t.toDisplayString(e.title),1)):t.createCommentVNode("",!0),Xt],8,Pt))]),_:1},8,["aria-hidden","style"]))}}),Gt=R(Zt,[["__scopeId","data-v-5c520bd5"]]),jt=e=>(t.pushScopeId("data-v-26958fb8"),e=e(),t.popScopeId(),e),Yt=["aria-hidden"],Qt={key:0,"data-testid":"kui-icon-svg-title"},Wt=jt(()=>t.createElementVNode("path",{d:"M12.025 22.05C11.7583 22.05 11.5042 22 11.2625 21.9C11.0208 21.8 10.8 21.6583 10.6 21.475L2.575 13.45C2.39167 13.25 2.25 13.0292 2.15 12.7875C2.05 12.5458 2 12.2917 2 12.025C2 11.7583 2.05 11.5 2.15 11.25C2.25 11 2.39167 10.7833 2.575 10.6L10.6 2.575C10.8 2.375 11.0208 2.22917 11.2625 2.1375C11.5042 2.04583 11.7583 2 12.025 2C12.2917 2 12.55 2.04583 12.8 2.1375C13.05 2.22917 13.2667 2.375 13.45 2.575L21.475 10.6C21.675 10.7833 21.8208 11 21.9125 11.25C22.0042 11.5 22.05 11.7583 22.05 12.025C22.05 12.2917 22.0042 12.5458 21.9125 12.7875C21.8208 13.0292 21.675 13.25 21.475 13.45L13.45 21.475C13.2667 21.6583 13.05 21.8 12.8 21.9C12.55 22 12.2917 22.05 12.025 22.05ZM11.025 13.025H13.025V7.025H11.025V13.025ZM12.025 16.025C12.3083 16.025 12.5458 15.9292 12.7375 15.7375C12.9292 15.5458 13.025 15.3083 13.025 15.025C13.025 14.7417 12.9292 14.5042 12.7375 14.3125C12.5458 14.1208 12.3083 14.025 12.025 14.025C11.7417 14.025 11.5042 14.1208 11.3125 14.3125C11.1208 14.5042 11.025 14.7417 11.025 15.025C11.025 15.3083 11.1208 15.5458 11.3125 15.7375C11.5042 15.9292 11.7417 16.025 12.025 16.025Z",fill:"currentColor"},null,-1)),Jt=t.defineComponent({__name:"WarningIcon",props:{title:{type:String,required:!1,default:""},color:{type:String,required:!1,default:"currentColor"},display:{type:String,required:!1,default:"block"},decorative:{type:Boolean,required:!1,default:!1},size:{type:[Number,String],required:!1,default:k,validator:e=>{if(typeof e=="number"&&e>0)return!0;if(typeof e=="string"){const r=String(e).replace(/px/gi,""),i=Number(r);if(i&&!isNaN(i)&&Number.isInteger(i)&&i>0)return!0}return!1}},as:{type:String,required:!1,default:"span"}},setup(e){const r=e,i=t.computed(()=>{if(typeof r.size=="number"&&r.size>0)return`${r.size}px`;if(typeof r.size=="string"){const a=String(r.size).replace(/px/gi,""),n=Number(a);if(n&&!isNaN(n)&&Number.isInteger(n)&&n>0)return`${n}px`}return k}),o=t.computed(()=>({boxSizing:"border-box",color:r.color,display:r.display,height:i.value,lineHeight:"0",width:i.value}));return(a,n)=>(t.openBlock(),t.createBlock(t.resolveDynamicComponent(e.as),{"aria-hidden":e.decorative?"true":void 0,class:"kui-icon warning-icon","data-testid":"kui-icon-wrapper-warning-icon",style:t.normalizeStyle(o.value)},{default:t.withCtx(()=>[(t.openBlock(),t.createElementBlock("svg",{"aria-hidden":e.decorative?"true":void 0,"data-testid":"kui-icon-svg-warning-icon",fill:"none",height:"100%",role:"img",viewBox:"0 0 24 24",width:"100%",xmlns:"http://www.w3.org/2000/svg"},[e.title?(t.openBlock(),t.createElementBlock("title",Qt,t.toDisplayString(e.title),1)):t.createCommentVNode("",!0),Wt],8,Yt))]),_:1},8,["aria-hidden","style"]))}}),ge=R(Jt,[["__scopeId","data-v-26958fb8"]]),j=2,ye=j+2,er=(e,r,i=!1)=>{let o=!r||Number(e.toFixed(ye))===0?0:Number(e.toFixed(ye))>0?1:-1;return i&&(o*=-1),o},tr=(e,r,i)=>r?`${Math.abs(e*100).toFixed(j)}%`:i,rr=(e,r)=>r===0?0:e/r-1,ir=(e,r=!1)=>(r&&(e*=-1),e>0?zt:e<0?Bt:me),nr="#ad000e",Y="#6c7489",he="#52596e",ar="#007d60",F="16px",or="20px",lr={class:"metricscard"},sr={key:0,class:"metricscard-description"},cr={class:"metricscard-valuetrend"},dr={key:0,class:"metricscard-error"},ur={key:2,class:"metricscard-trend"},fr={"data-testid":"metric-trend-change"},pr={key:0,class:"metricscard-trend-range"},mr=t.defineComponent({__name:"MetricsCard",props:{cardType:{type:String,required:!0,default:N.GENERIC_COUNT},title:{type:String,default:"0%",required:!0},description:{type:String,default:"",required:!1},tooltip:{type:String,required:!1,default:""},timeframe:{type:String,required:!1,default:""},metricValue:{type:String,default:""},metricChange:{type:String,required:!0},changePolarity:{type:Number,required:!0},trendIcon:{type:Object,default:me},trendRange:{type:String,default:""},hasError:{type:Boolean,default:!1},errorMessage:{type:String,default:"Vitals data error"},cardSize:{type:String,required:!1,default:()=>w.Large},hasContainerTitle:{type:Boolean,required:!1,default:!1},titleTag:{type:String,default:"span"}},setup(e){const r=new Map([[N.GENERIC_COUNT,$t],[N.TRAFFIC,tt],[N.ERROR_RATE,Gt],[N.LATENCY,_t]]),i=e,o=p=>{const f={red:`var(--kong-ui-metric-card-trend-negative, ${nr})`,green:`var(--kong-ui-metric-card-trend-positive, ${ar})`,grey:`var(--kong-ui-metric-card-trend-neutral, ${he})`};return p>0?f.green:p<0?f.red:f.grey},a=p=>p>0?"positive":p<0?"negative":"neutral",n=[w.Medium,w.Large].includes(i.cardSize),c=[w.Small].includes(i.cardSize);return(p,f)=>{const l=t.resolveComponent("KTooltip");return t.openBlock(),t.createElementBlock("div",lr,[t.createElementVNode("div",{class:t.normalizeClass(["metricscard-title",e.cardSize])},[t.unref(c)?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(t.resolveDynamicComponent(t.unref(r).get(e.cardType)),{key:0,class:"metricscard-icon",color:t.unref(Y),size:t.unref(F)},null,8,["color","size"])),(t.openBlock(),t.createBlock(t.resolveDynamicComponent(e.titleTag),null,{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(e.title),1)]),_:1})),e.tooltip?(t.openBlock(),t.createBlock(l,{key:1,class:"metricscard-tooltip",placement:"right",text:e.tooltip},{default:t.withCtx(()=>[t.createVNode(t.unref(Ct),{color:t.unref(Y),size:t.unref(F)},null,8,["color","size"])]),_:1},8,["text"])):t.createCommentVNode("",!0)],2),e.description&&t.unref(n)?(t.openBlock(),t.createElementBlock("div",sr,[t.createElementVNode("span",null,t.toDisplayString(e.description),1)])):t.createCommentVNode("",!0),t.createElementVNode("div",cr,[e.hasError?(t.openBlock(),t.createElementBlock("div",dr,[t.createVNode(t.unref(ge),{color:t.unref(Y),size:t.unref(or)},null,8,["color","size"]),t.createElementVNode("div",null," "+t.toDisplayString(e.errorMessage),1)])):(t.openBlock(),t.createElementBlock("div",{key:1,class:t.normalizeClass(["metricscard-value",e.cardSize]),"data-testid":"metric-value"},t.toDisplayString(e.metricValue),3)),t.unref(n)?(t.openBlock(),t.createElementBlock("div",ur,[t.createElementVNode("div",{class:t.normalizeClass(["metricscard-trend-change",a(e.changePolarity)]),"data-testid":"metric-trend-parent"},[e.changePolarity!==0?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(e.trendIcon),{key:0,color:o(e.changePolarity),size:t.unref(F)},null,8,["color","size"])):(t.openBlock(),t.createBlock(t.unref(lt),{key:1,color:t.unref(he),size:t.unref(F)},null,8,["color","size"])),t.createElementVNode("div",fr,t.toDisplayString(e.metricChange),1)],2),e.trendRange?(t.openBlock(),t.createElementBlock("div",pr,t.toDisplayString(e.trendRange),1)):t.createCommentVNode("",!0)])):t.createCommentVNode("",!0)])])}}}),Q=(e,r)=>{const i=e.__vccOpts||e;for(const[o,a]of r)i[o]=a;return i},gr=Q(mr,[["__scopeId","data-v-1b8a31a0"]]),yr={},hr={class:"loading-tabs"};function Cr(e,r){const i=t.resolveComponent("KSkeletonBox");return t.openBlock(),t.createElementBlock("div",hr,[t.createVNode(i,{width:"100"}),t.createVNode(i,{width:"75"})])}const Sr=Q(yr,[["render",Cr],["__scopeId","data-v-f7eb9c40"]]),vr={key:0,class:"container-title"},kr={key:0,class:"container-description"},br={key:1,class:"error-display"},Er={key:0,class:"error-display-message"},_r={key:2,class:"cards-wrapper"},Nr=Q(t.defineComponent({__name:"MetricCardContainer",props:{fallbackDisplayText:{type:String,required:!0},cards:{type:Array,required:!0},errorMessage:{type:String,required:!1,default:""},loading:{type:Boolean,required:!1,default:!1},hasTrendAccess:{type:Boolean,required:!1,default:!0},cardSize:{type:String,required:!1,default:()=>w.Large},containerTitle:{type:String,required:!1,default:""},containerDescription:{type:String,required:!1,default:""}},setup(e){const r=e,i=t.computed(()=>r.cards.every(a=>(a==null?void 0:a.hasError)===!0)),o=a=>{const n=rr(a.currentValue,a.previousValue)||0,c=er(n,r.hasTrendAccess,a.increaseIsBad);return{metricValue:a.formatValueFn?a.formatValueFn(a.currentValue):je(a.currentValue,{capital:!0,round:!0})||"0",metricChange:a.formatChangeFn?a.formatChangeFn(n):tr(n,r.hasTrendAccess,r.fallbackDisplayText),changePolarity:c,trendIcon:ir(c,a.increaseIsBad),cardSize:r.cardSize,hasContainerTitle:!!r.containerTitle}};return(a,n)=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["kong-ui-public-metric-card-container",e.cardSize])},[r.containerTitle?(t.openBlock(),t.createElementBlock("div",vr,[t.createTextVNode(t.toDisplayString(r.containerTitle)+" ",1),r.containerDescription?(t.openBlock(),t.createElementBlock("div",kr,t.toDisplayString(r.containerDescription),1)):t.createCommentVNode("",!0)])):t.createCommentVNode("",!0),i.value?(t.openBlock(),t.createElementBlock("div",br,[t.createVNode(t.unref(ge),{class:"error-display-icon"}),e.errorMessage?(t.openBlock(),t.createElementBlock("div",Er,t.toDisplayString(e.errorMessage),1)):t.createCommentVNode("",!0)])):(t.openBlock(),t.createElementBlock("div",_r,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(e.cards,(c,p)=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[e.loading?(t.openBlock(),t.createBlock(Sr,{key:`skeleton-${p}`,class:t.normalizeClass(e.cardSize===t.unref(w).Small?"loading-tabs-small":"loading-tabs-large")},null,8,["class"])):(t.openBlock(),t.createBlock(gr,t.mergeProps({key:p,ref_for:!0},o(c),{"card-size":e.cardSize,"card-type":c.cardType,description:c.description,"error-message":e.errorMessage,"has-error":c.hasError,title:c.title,"title-tag":c.titleTag,tooltip:c.tooltip,"trend-range":c.trendRange}),null,16,["card-size","card-type","description","error-message","has-error","title","title-tag","tooltip","trend-range"]))],64))),256))]))],2))}}),[["__scopeId","data-v-d3a810e0"]]),wr=t.defineComponent({__name:"MetricsConsumer",props:{lookupKey:{default:void 0},cardSize:{default:w.Large},cardToDisplay:{default:void 0}},setup(e){const r=e,i=t.inject(fe);if(!i)throw new Error("MetricsConsumer must be nested inside a MetricsProvider instance.");const{traffic:o,latency:a}=i.data,{i18n:n}=V.useI18n(),c=V.useMetricCardBuilder({cardType:N.TRAFFIC,title:t.computed(()=>i.longCardTitles?n.t("metricCard.long.traffic"):n.t("metricCard.short.traffic")),record:o.mapped,hasError:o.hasError,lookupKey:r.lookupKey,sumGroupedValues:L,trendRange:o.trendRange}),p=g=>`${g.toFixed(j)}%`,f=t.computed(()=>{const g=o.mapped.value,C=A(g,"current",r.lookupKey,K),b=A(g,"current",r.lookupKey,L),S=C/b*100||0,y=A(g,"previous",r.lookupKey,K),B=A(g,"previous",r.lookupKey,L),E=y/B*100||0;return{cardType:N.ERROR_RATE,hasError:o.hasError.value,currentValue:S,previousValue:E,formatValueFn:p,title:i.longCardTitles?n.t("metricCard.long.errorRate"):n.t("metricCard.short.errorRate"),increaseIsBad:!0,trendRange:o.trendRange.value}}),l=g=>`${g}ms`,s=V.useMetricCardBuilder({cardType:N.LATENCY,title:t.computed(()=>{const{longCardTitles:g,averageLatencies:C}=i,b=C.value?"averageLatency":"p99Latency";return g?n.t(`metricCard.long.${b}`):n.t(`metricCard.short.${b}`)}),hasError:a.hasError,record:a.mapped,lookupKey:r.lookupKey,increaseIsBad:!0,formatValueFn:l,trendRange:a.trendRange}),d=t.computed(()=>r.cardToDisplay==="TRAFFIC"?[c.value]:r.cardToDisplay==="ERROR_RATE"?[f.value]:r.cardToDisplay==="LATENCY"?[s.value]:[c.value,f.value,s.value]),u=t.computed(()=>r.cardToDisplay==="TRAFFIC"||r.cardToDisplay==="ERROR_RATE"?o.isLoading.value:r.cardToDisplay==="LATENCY"?a.isLoading.value:o.isLoading.value||a.isLoading.value),m=t.computed(()=>({cards:d.value,containerTitle:i.containerTitle.value,containerDescription:i.description.value,loading:u.value,hasTrendAccess:i.hasTrendAccess.value,fallbackDisplayText:n.t("general.notAvailable"),cardSize:i.containerTitle.value?w.Medium:r.cardSize,hideTitle:!0})),h=t.computed(()=>({loading:m.value.loading,trafficCard:c.value,errorRateCard:f.value,latencyCard:s.value,errorRateFormatted:p(f.value.currentValue),latencyFormatted:l(s.value.currentValue)}));return(g,C)=>t.renderSlot(g.$slots,"default",{cardValues:h.value},()=>[t.createVNode(Nr,t.normalizeProps(t.guardReactiveProps(m.value)),null,16)])}}),H=e=>new Date(e),Rr=(e,r)=>{const i=e.body;e.reply({statusCode:200,body:Se(i,r)})},Ce=e=>e.reduce((r,i)=>(r[i]={name:i},r),{}),Se=(e,r)=>{var h,g;const i=_.TimePeriods.get(_.TimeframeKeys.ONE_DAY),o=e.granularity==="trend"?new _.DeltaQueryTime(i):new _.UnaryQueryTime(i),a=o.endMs(),n=o.startMs(),c=o.granularityMs(),p=e.granularity==="trend"?2:1;if((e.dimensions??[]).length>2)throw new Error(`Explore only supports 0-2 dimensions; got: ${JSON.stringify(e.dimensions)}`);const f=(e.dimensions??[]).find(C=>C!=="time"),l=(r==null?void 0:r.dimensionNames)??[],s=Math.max(l.length,1),d=e.metrics||[],u=[];for(let C=0;C<p;C++)for(let b=0;b<s;b++){const S=f?{[f]:l[b]}:{};(h=e.dimensions)!=null&&h.includes("status_code_grouped")?L.forEach(y=>{const B=d.reduce((E,x)=>(E[x]=(p-C)*1e3+100*b+1,E),{...S,status_code_grouped:y});u.push({version:"v1",timestamp:C===0?H(n).toISOString():H(n+c).toISOString(),event:B})}):u.push({version:"v1",timestamp:C===0?H(n).toISOString():H(n+c).toISOString(),event:d.reduce((y,B)=>(y[B]=(p-C)*1e3+100*b+1,y),{...S})})}const m={start_ms:n,end_ms:a,granularity_ms:c,display:f?{[f]:Ce(l),...(g=e.dimensions)!=null&&g.includes("status_code_grouped")?{status_code_grouped:Ce(L)}:{}}:{},metric_names:e.metrics,query_id:"test"};return{data:u,meta:m}};v.ALL_STATUS_CODE_GROUPS=L,v.DEFAULT_REFRESH_INTERVAL=ne,v.INJECT_QUERY_PROVIDER=ae,v.MAX_ANALYTICS_REQUEST_RETRIES=ie,v.MetricCardSize=w,v.MetricCardType=N,v.MetricsConsumer=wr,v.MetricsProvider=Xe,v.STATUS_CODES_FAILED=K,v.STATUS_CODES_SUCCESS=Re,v.mockExploreResponse=Se,v.mockExploreResponseFromCypress=Rr,Object.defineProperty(v,Symbol.toStringTag,{value:"Module"})});
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kong-ui-public/analytics-metric-provider",
3
- "version": "7.2.1",
3
+ "version": "7.2.2",
4
4
  "type": "module",
5
5
  "main": "./dist/vitals-metric-provider.umd.js",
6
6
  "module": "./dist/vitals-metric-provider.es.js",
@@ -33,7 +33,7 @@
33
33
  },
34
34
  "dependencies": {
35
35
  "@kong-ui-public/core": "1.1.0",
36
- "@kong/icons": "^1.9.1",
36
+ "@kong/icons": "^1.9.2",
37
37
  "approximate-number": "^2.1.1",
38
38
  "axios": "^1.6.8",
39
39
  "swrv": "^1.0.4"
@@ -49,8 +49,8 @@
49
49
  "@kong/kongponents": "9.0.0-alpha.162",
50
50
  "pinia": ">= 2.1.7 < 3",
51
51
  "@kong-ui-public/analytics-config-store": "^0.6.0",
52
- "@kong-ui-public/i18n": "^2.2.1",
53
- "@kong-ui-public/analytics-utilities": "^3.5.0"
52
+ "@kong-ui-public/analytics-utilities": "^3.5.0",
53
+ "@kong-ui-public/i18n": "^2.2.1"
54
54
  },
55
55
  "scripts": {
56
56
  "dev": "cross-env USE_SANDBOX=true vite",