@kong-ui-public/analytics-metric-provider 8.2.0 → 8.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/style.css CHANGED
@@ -1 +1 @@
1
- .metricscard-tooltip,.trafficcard.active .metricscard-tooltip{pointer-events:all}.metricscard[data-v-43293fa2]{display:flex;flex-direction:column;width:100%}@media (max-width: 767px){.metricscard[data-v-43293fa2]{max-width:none;width:auto}}@media (min-width: 768px){.metricscard[data-v-43293fa2]{height:100%;justify-content:space-evenly}}.metricscard[data-v-43293fa2]:hover{border:none;text-decoration:none}.metricscard-title[data-v-43293fa2]{align-items:center;color:#000933;color:var(--kui-color-text, #000933);display:flex;flex-direction:row;font-size:14px;font-size:var(--kui-font-size-30, 14px);font-weight:500;font-weight:var(--kui-font-weight-medium, 500);line-height:16px;line-height:var(--kui-line-height-20, 16px);margin:0;margin:var(--kui-space-0, 0px)}.metricscard-title.sm[data-v-43293fa2]{font-size:12px;font-size:var(--kui-font-size-20, 12px)}.metricscard-title.md[data-v-43293fa2]{font-size:14px;font-size:var(--kui-font-size-30, 14px);font-weight:600;font-weight:var(--kui-font-weight-semibold, 600)}.metricscard-title.lg[data-v-43293fa2],.metricscard-title.xl[data-v-43293fa2]{font-size:14px;font-size:var(--kui-font-size-30, 14px)}.metricscard-description[data-v-43293fa2]{color:#afb7c5;color:var(--kui-color-text-disabled, #afb7c5);font-size:12px;font-size:var(--kui-font-size-20, 12px);line-height:16px;line-height:var(--kui-line-height-20, 16px);margin-top:8px;margin-top:var(--kui-space-40, 8px)}.metricscard-icon[data-v-43293fa2]{margin-right:4px;margin-right:var(--kui-space-20, 4px)}.metricscard-value[data-v-43293fa2]{color:#000933;color:var(--kui-color-text, #000933);display:flex;flex-direction:row;font-size:24px;font-size:var(--kui-font-size-70, 24px);font-weight:600;font-weight:var(--kui-font-weight-semibold, 600);justify-content:space-between;line-height:32px;line-height:var(--kui-line-height-60, 32px)}.metricscard-value.sm[data-v-43293fa2]{font-size:14px;font-size:var(--kui-font-size-30, 14px);line-height:24px;line-height:var(--kui-line-height-40, 24px)}.metricscard-value.xl[data-v-43293fa2]{font-size:48px;font-size:var(--kui-font-size-100, 48px)}.metricscard-valuetrend[data-v-43293fa2]{display:flex;flex-direction:column;row-gap:12px;row-gap:var(--kui-space-50, 12px)}@media (max-width: 767px){.metricscard-valuetrend[data-v-43293fa2]{row-gap:6px;row-gap:var(--kui-space-30, 6px)}}.metricscard-valuetrend.is-compact[data-v-43293fa2]{align-items:center;flex-direction:row!important;justify-content:space-between;margin-top:0;margin-top:var(--kui-space-0, 0px)}.metricscard-trend[data-v-43293fa2]{align-items:center;column-gap:8px;column-gap:var(--kui-space-40, 8px);display:flex}.metricscard-trend-change[data-v-43293fa2]{align-items:center;border-radius:4px;border-radius:var(--kui-border-radius-20, 4px);display:flex;flex-direction:row;font-size:12px;font-size:var(--kui-font-size-20, 12px);font-weight:600;font-weight:var(--kui-font-weight-semibold, 600);padding:4px 8px;padding:var(--kui-space-20, 4px) var(--kui-space-40, 8px)}.metricscard-trend-change .kui-icon[data-v-43293fa2]{margin-right:4px;margin-right:var(--kui-space-20, 4px)}.metricscard-trend-change.positive[data-v-43293fa2]{background-color:#ecfffb;background-color:var(--kui-color-background-success-weakest, #ecfffb);color:#007d60;color:var(--kui-color-text-success, #007d60)}.metricscard-trend-change.negative[data-v-43293fa2]{background-color:#ffe5e5;background-color:var(--kui-color-background-danger-weakest, #ffe5e5);color:#ad000e;color:var(--kui-color-text-danger-strong, #ad000e)}.metricscard-trend-change.neutral[data-v-43293fa2]{background-color:#e0e4ea;background-color:var(--kui-color-background-neutral-weaker, #e0e4ea);color:#52596e;color:var(--kui-color-text-neutral-strong, #52596e)}.metricscard-trend-range[data-v-43293fa2]{color:#000933;color:var(--kui-color-text, #000933);font-size:12px;font-size:var(--kui-font-size-20, 12px)}.metricscard-tooltip[data-v-43293fa2]{display:inline-flex;margin:auto 0 auto 4px;margin:var(--kui-space-auto, auto) var(--kui-space-0, 0px) var(--kui-space-auto, auto) var(--kui-space-20, 4px);vertical-align:middle}.metricscard-error[data-v-43293fa2]{align-items:center;color:#3a3f51;color:var(--kui-color-text-neutral-stronger, #3a3f51);display:flex;flex-direction:row;font-size:12px;font-size:var(--kui-font-size-20, 12px);margin-top:8px;margin-top:var(--kui-space-40, 8px)}.metricscard-error .kong-icon-warning[data-v-43293fa2]{margin-right:12px;margin-right:var(--kui-space-50, 12px)}.metricscard.active .metricscard-tooltip[data-v-43293fa2]{pointer-events:all}.loading-tabs[data-v-f7eb9c40]{display:flex;flex-direction:column}.loading-tabs-large[data-v-f7eb9c40]{padding:4px;row-gap:12px;width:240px}.loading-tabs-small[data-v-f7eb9c40]{padding:2px;row-gap:8px;width:120px}.loading-tabs-small .box[data-v-f7eb9c40]{height:12px}@media (max-width: 767px){.loading-tabs[data-v-f7eb9c40]{width:auto}}.kong-ui-public-metric-card-container[data-v-d3a810e0]{background-color:transparent;background-color:var(--kong-ui-metric-card-background, transparent);display:flex;flex-direction:column;justify-content:space-between;width:100%}.kong-ui-public-metric-card-container .container-title[data-v-d3a810e0]{align-items:center;display:flex;font-size:16px;font-weight:600;justify-content:space-between;margin-bottom:12px}.kong-ui-public-metric-card-container .container-title .container-description[data-v-d3a810e0]{color:#6c7489;font-size:12px;font-weight:400}.kong-ui-public-metric-card-container .cards-wrapper[data-v-d3a810e0]{display:flex;flex-direction:row;flex-grow:1;column-gap:24px;row-gap:16px}@media (max-width: 767px){.kong-ui-public-metric-card-container .cards-wrapper[data-v-d3a810e0]{column-gap:16px;row-gap:16px;flex-direction:column}}.kong-ui-public-metric-card-container.sm[data-v-d3a810e0]{column-gap:0;row-gap:0}.kong-ui-public-metric-card-container .error-display[data-v-d3a810e0]{align-items:center;display:flex;justify-content:center;margin:auto}.kong-ui-public-metric-card-container .error-display-icon[data-v-d3a810e0]{display:flex}.kong-ui-public-metric-card-container .error-display-message[data-v-d3a810e0]{color:#6c7489;font-size:14px;margin-left:12px}
1
+ .metricscard-tooltip,.trafficcard.active .metricscard-tooltip{pointer-events:all}.metricscard[data-v-43293fa2]{display:flex;flex-direction:column;width:100%}@media (max-width: 767px){.metricscard[data-v-43293fa2]{max-width:none;width:auto}}@media (min-width: 768px){.metricscard[data-v-43293fa2]{height:100%;justify-content:space-evenly}}.metricscard[data-v-43293fa2]:hover{border:none;text-decoration:none}.metricscard-title[data-v-43293fa2]{align-items:center;color:#000933;color:var(--kui-color-text, #000933);display:flex;flex-direction:row;font-size:14px;font-size:var(--kui-font-size-30, 14px);font-weight:500;font-weight:var(--kui-font-weight-medium, 500);line-height:16px;line-height:var(--kui-line-height-20, 16px);margin:0;margin:var(--kui-space-0, 0px)}.metricscard-title.sm[data-v-43293fa2]{font-size:12px;font-size:var(--kui-font-size-20, 12px)}.metricscard-title.md[data-v-43293fa2]{font-size:14px;font-size:var(--kui-font-size-30, 14px);font-weight:600;font-weight:var(--kui-font-weight-semibold, 600)}.metricscard-title.lg[data-v-43293fa2],.metricscard-title.xl[data-v-43293fa2]{font-size:14px;font-size:var(--kui-font-size-30, 14px)}.metricscard-description[data-v-43293fa2]{color:#afb7c5;color:var(--kui-color-text-disabled, #afb7c5);font-size:12px;font-size:var(--kui-font-size-20, 12px);line-height:16px;line-height:var(--kui-line-height-20, 16px);margin-top:8px;margin-top:var(--kui-space-40, 8px)}.metricscard-icon[data-v-43293fa2]{margin-right:4px;margin-right:var(--kui-space-20, 4px)}.metricscard-value[data-v-43293fa2]{color:#000933;color:var(--kui-color-text, #000933);display:flex;flex-direction:row;font-size:24px;font-size:var(--kui-font-size-70, 24px);font-weight:600;font-weight:var(--kui-font-weight-semibold, 600);justify-content:space-between;line-height:32px;line-height:var(--kui-line-height-60, 32px)}.metricscard-value.sm[data-v-43293fa2]{font-size:14px;font-size:var(--kui-font-size-30, 14px);line-height:24px;line-height:var(--kui-line-height-40, 24px)}.metricscard-value.xl[data-v-43293fa2]{font-size:48px;font-size:var(--kui-font-size-100, 48px)}.metricscard-valuetrend[data-v-43293fa2]{display:flex;flex-direction:column;row-gap:12px;row-gap:var(--kui-space-50, 12px)}@media (max-width: 767px){.metricscard-valuetrend[data-v-43293fa2]{row-gap:6px;row-gap:var(--kui-space-30, 6px)}}.metricscard-valuetrend.is-compact[data-v-43293fa2]{align-items:center;flex-direction:row!important;justify-content:space-between;margin-top:0;margin-top:var(--kui-space-0, 0px)}.metricscard-trend[data-v-43293fa2]{align-items:center;column-gap:8px;column-gap:var(--kui-space-40, 8px);display:flex}.metricscard-trend-change[data-v-43293fa2]{align-items:center;border-radius:4px;border-radius:var(--kui-border-radius-20, 4px);display:flex;flex-direction:row;font-size:12px;font-size:var(--kui-font-size-20, 12px);font-weight:600;font-weight:var(--kui-font-weight-semibold, 600);padding:4px 8px;padding:var(--kui-space-20, 4px) var(--kui-space-40, 8px)}.metricscard-trend-change .kui-icon[data-v-43293fa2]{margin-right:4px;margin-right:var(--kui-space-20, 4px)}.metricscard-trend-change.positive[data-v-43293fa2]{background-color:#ecfffb;background-color:var(--kui-color-background-success-weakest, #ecfffb);color:#007d60;color:var(--kui-color-text-success, #007d60)}.metricscard-trend-change.negative[data-v-43293fa2]{background-color:#ffe5e5;background-color:var(--kui-color-background-danger-weakest, #ffe5e5);color:#ad000e;color:var(--kui-color-text-danger-strong, #ad000e)}.metricscard-trend-change.neutral[data-v-43293fa2]{background-color:#e0e4ea;background-color:var(--kui-color-background-neutral-weaker, #e0e4ea);color:#52596e;color:var(--kui-color-text-neutral-strong, #52596e)}.metricscard-trend-range[data-v-43293fa2]{color:#000933;color:var(--kui-color-text, #000933);font-size:12px;font-size:var(--kui-font-size-20, 12px)}.metricscard-tooltip[data-v-43293fa2]{display:inline-flex;margin:auto 0 auto 4px;margin:var(--kui-space-auto, auto) var(--kui-space-0, 0px) var(--kui-space-auto, auto) var(--kui-space-20, 4px);vertical-align:middle}.metricscard-error[data-v-43293fa2]{align-items:center;color:#3a3f51;color:var(--kui-color-text-neutral-stronger, #3a3f51);display:flex;flex-direction:row;font-size:12px;font-size:var(--kui-font-size-20, 12px);margin-top:8px;margin-top:var(--kui-space-40, 8px)}.metricscard-error .kong-icon-warning[data-v-43293fa2]{margin-right:12px;margin-right:var(--kui-space-50, 12px)}.metricscard.active .metricscard-tooltip[data-v-43293fa2]{pointer-events:all}.loading-tabs[data-v-f7eb9c40]{display:flex;flex-direction:column}.loading-tabs-large[data-v-f7eb9c40]{padding:4px;row-gap:12px;width:240px}.loading-tabs-small[data-v-f7eb9c40]{padding:2px;row-gap:8px;width:120px}.loading-tabs-small .box[data-v-f7eb9c40]{height:12px}@media (max-width: 767px){.loading-tabs[data-v-f7eb9c40]{width:auto}}.kong-ui-public-metric-card-container[data-v-f8f8341b]{background-color:transparent;background-color:var(--kui-color-background-transparent, transparent);display:flex;flex-direction:column;justify-content:space-between;width:100%}.kong-ui-public-metric-card-container .container-title[data-v-f8f8341b]{align-items:center;display:flex;font-size:16px;font-size:var(--kui-font-size-40, 16px);font-weight:600;font-weight:var(--kui-font-weight-semibold, 600);justify-content:space-between;margin-bottom:12px;margin-bottom:var(--kui-space-50, 12px)}.kong-ui-public-metric-card-container .container-title .container-description[data-v-f8f8341b]{color:#6c7489;color:var(--kui-color-text-neutral, #6c7489);font-size:12px;font-size:var(--kui-font-size-20, 12px);font-weight:400;font-weight:var(--kui-font-weight-regular, 400)}.kong-ui-public-metric-card-container .cards-wrapper[data-v-f8f8341b]{display:flex;flex-direction:row;flex-grow:1;column-gap:24px;row-gap:16px}@media (max-width: 767px){.kong-ui-public-metric-card-container .cards-wrapper[data-v-f8f8341b]{column-gap:16px;row-gap:16px;flex-direction:column}}.kong-ui-public-metric-card-container.sm[data-v-f8f8341b]{column-gap:0;row-gap:0}.kong-ui-public-metric-card-container .error-display[data-v-f8f8341b]{align-items:center;display:flex;justify-content:center;margin:auto;margin:var(--kui-space-auto, auto)}.kong-ui-public-metric-card-container .error-display-icon[data-v-f8f8341b]{display:flex}.kong-ui-public-metric-card-container .error-display-message[data-v-f8f8341b]{color:#6c7489;color:var(--kui-color-text-neutral, #6c7489);font-size:14px;font-size:var(--kui-font-size-30, 14px);margin-left:12px;margin-left:var(--kui-space-50, 12px)}
@@ -121,11 +121,11 @@ function ht(e) {
121
121
  time_range: e.timeframe.value.v4Query(e.tz.value)
122
122
  };
123
123
  }), a = g(() => {
124
- var f, p, S, m;
124
+ var f, p, b, m;
125
125
  if (!((f = e.queryReady) != null && f.value))
126
126
  return null;
127
127
  const u = (p = e.filter) != null && p.value ? JSON.stringify(e.filter.value) : "";
128
- return `metric-fetcher-${e.timeframe.value.cacheKey()}-${(S = e.dimensions) == null ? void 0 : S.join("-")}-${(m = e.metrics.value) == null ? void 0 : m.join("-")}-${u}`;
128
+ return `metric-fetcher-${e.timeframe.value.cacheKey()}-${(b = e.dimensions) == null ? void 0 : b.join("-")}-${(m = e.metrics.value) == null ? void 0 : m.join("-")}-${u}`;
129
129
  }), { response: n, error: i, isValidating: l } = K.useRequest(
130
130
  () => a.value,
131
131
  () => e.queryFn({
@@ -140,15 +140,15 @@ function ht(e) {
140
140
  errorRetryCount: ft
141
141
  }
142
142
  ), { state: c, swrvState: d } = yt(n, i, l), o = g(() => {
143
- var u, f, p, S, m, C, I;
144
- return !((f = (u = n.value) == null ? void 0 : u.data) != null && f.length) || !((S = (p = n.value) == null ? void 0 : p.meta) != null && S.display) || !((I = (C = (m = n.value) == null ? void 0 : m.meta) == null ? void 0 : C.metric_names) != null && I.length) ? { current: {}, previous: {} } : mt(n.value, e.withTrend.value);
143
+ var u, f, p, b, m, C, I;
144
+ return !((f = (u = n.value) == null ? void 0 : u.data) != null && f.length) || !((b = (p = n.value) == null ? void 0 : p.meta) != null && b.display) || !((I = (C = (m = n.value) == null ? void 0 : m.meta) == null ? void 0 : C.metric_names) != null && I.length) ? { current: {}, previous: {} } : mt(n.value, e.withTrend.value);
145
145
  }), s = g(() => {
146
146
  var u, f, p;
147
147
  if (e.timeframe.value.key === "custom") {
148
148
  if (!((f = (u = n.value) == null ? void 0 : u.meta) != null && f.start_ms))
149
149
  return "";
150
- const { start_ms: S, end_ms: m } = n.value.meta;
151
- let C = (m - S) / (1e3 * 60 * 60 * 24);
150
+ const { start_ms: b, end_ms: m } = n.value.meta;
151
+ let C = (m - b) / (1e3 * 60 * 60 * 24);
152
152
  return e.withTrend.value && (C /= 2), t.t("trendRange.custom", { numDays: Math.round(C) });
153
153
  } else
154
154
  return e.withTrend.value ? t.t(`trendRange.${e.timeframe.value.key}`) : t.t(`trendRange.${(p = pe.get(re.ONE_DAY)) == null ? void 0 : p.key}`);
@@ -202,7 +202,7 @@ function Ct(e) {
202
202
  });
203
203
  }
204
204
  var de = /* @__PURE__ */ new WeakMap(), Re = 0;
205
- function St(e) {
205
+ function bt(e) {
206
206
  if (!e.length)
207
207
  return "";
208
208
  for (var t = "arg", r = 0; r < e.length; ++r) {
@@ -211,14 +211,14 @@ function St(e) {
211
211
  }
212
212
  return t;
213
213
  }
214
- function bt(e) {
214
+ function St(e) {
215
215
  if (typeof e == "function")
216
216
  try {
217
217
  e = e();
218
218
  } catch {
219
219
  e = "";
220
220
  }
221
- return Array.isArray(e) ? e = St(e) : e = String(e || ""), e;
221
+ return Array.isArray(e) ? e = bt(e) : e = String(e || ""), e;
222
222
  }
223
223
  var ge = (
224
224
  /** @class */
@@ -227,7 +227,7 @@ var ge = (
227
227
  t === void 0 && (t = 0), this.items = /* @__PURE__ */ new Map(), this.ttl = t;
228
228
  }
229
229
  return e.prototype.serializeKey = function(t) {
230
- return bt(t);
230
+ return St(t);
231
231
  }, e.prototype.get = function(t) {
232
232
  var r = this.serializeKey(t);
233
233
  return this.items.get(r);
@@ -439,8 +439,8 @@ var Ie = function(e, t, r, a) {
439
439
  return f.key === e;
440
440
  }), s.forEach(function(f, p) {
441
441
  typeof d.data < "u" && (f.data = d.data), f.error = d.error, f.isValidating = d.isValidating;
442
- var S = p === s.length - 1;
443
- S || delete s[p];
442
+ var b = p === s.length - 1;
443
+ b || delete s[p];
444
444
  }), s = s.filter(Boolean)), [2, d];
445
445
  }
446
446
  });
@@ -463,13 +463,13 @@ function Et() {
463
463
  isValidating: !0,
464
464
  key: null
465
465
  }));
466
- var S = function(b, h) {
466
+ var b = function(S, h) {
467
467
  return P(e, void 0, void 0, function() {
468
468
  var q, x, B, j, ne, he, ae, Ce = this;
469
469
  return Z(this, function(oe) {
470
470
  switch (oe.label) {
471
471
  case 0:
472
- return q = p.data === void 0, x = f.value, x ? (B = i.cache.get(x), j = B && B.data, p.isValidating = !0, j && (p.data = j.data, p.error = j.error), ne = b || n, !ne || !i.isDocumentVisible() && !q || (h == null ? void 0 : h.forceRevalidate) !== void 0 && !(h != null && h.forceRevalidate) ? (p.isValidating = !1, [
472
+ return q = p.data === void 0, x = f.value, x ? (B = i.cache.get(x), j = B && B.data, p.isValidating = !0, j && (p.data = j.data, p.error = j.error), ne = S || n, !ne || !i.isDocumentVisible() && !q || (h == null ? void 0 : h.forceRevalidate) !== void 0 && !(h != null && h.forceRevalidate) ? (p.isValidating = !1, [
473
473
  2
474
474
  /*return*/
475
475
  ]) : B && (he = !!(Date.now() - B.createdAt >= i.dedupingInterval || h != null && h.forceRevalidate), !he) ? (p.isValidating = !1, [
@@ -477,11 +477,11 @@ function Et() {
477
477
  /*return*/
478
478
  ]) : (ae = function() {
479
479
  return P(Ce, void 0, void 0, function() {
480
- var U, Se, se, be;
480
+ var U, be, se, Se;
481
481
  return Z(this, function(W) {
482
482
  switch (W.label) {
483
483
  case 0:
484
- return U = fe.get(x), U ? [3, 2] : (Se = Array.isArray(x) ? x : [x], se = ne.apply(void 0, It([], Rt(Se), !1)), fe.set(x, se, i.dedupingInterval), [4, Ie(x, se, i.cache, u)]);
484
+ return U = fe.get(x), U ? [3, 2] : (be = Array.isArray(x) ? x : [x], se = ne.apply(void 0, It([], Rt(be), !1)), fe.set(x, se, i.dedupingInterval), [4, Ie(x, se, i.cache, u)]);
485
485
  case 1:
486
486
  return W.sent(), [3, 4];
487
487
  case 2:
@@ -489,7 +489,7 @@ function Et() {
489
489
  case 3:
490
490
  W.sent(), W.label = 4;
491
491
  case 4:
492
- return p.isValidating = !1, fe.delete(x), p.error !== void 0 && (be = !l && i.shouldRetryOnError && (h ? h.shouldRetryOnError : !0), be && xt(S, h ? h.errorRetryCount : 1, i)), [
492
+ return p.isValidating = !1, fe.delete(x), p.error !== void 0 && (Se = !l && i.shouldRetryOnError && (h ? h.shouldRetryOnError : !0), Se && xt(b, h ? h.errorRetryCount : 1, i)), [
493
493
  2
494
494
  /*return*/
495
495
  ];
@@ -530,24 +530,24 @@ function Et() {
530
530
  });
531
531
  }, m = function() {
532
532
  return P(e, void 0, void 0, function() {
533
- return Z(this, function(b) {
534
- return [2, S(null, { shouldRetryOnError: !1 })];
533
+ return Z(this, function(S) {
534
+ return [2, b(null, { shouldRetryOnError: !1 })];
535
535
  });
536
536
  });
537
537
  }, C = null;
538
538
  Ke(function() {
539
- var b = function() {
539
+ var S = function() {
540
540
  return P(e, void 0, void 0, function() {
541
541
  return Z(this, function(h) {
542
542
  switch (h.label) {
543
543
  case 0:
544
- return !p.error && i.isOnline() ? [4, S()] : [3, 2];
544
+ return !p.error && i.isOnline() ? [4, b()] : [3, 2];
545
545
  case 1:
546
546
  return h.sent(), [3, 3];
547
547
  case 2:
548
548
  C && clearTimeout(C), h.label = 3;
549
549
  case 3:
550
- return i.refreshInterval && !l && (C = setTimeout(b, i.refreshInterval)), [
550
+ return i.refreshInterval && !l && (C = setTimeout(S, i.refreshInterval)), [
551
551
  2
552
552
  /*return*/
553
553
  ];
@@ -555,24 +555,24 @@ function Et() {
555
555
  });
556
556
  });
557
557
  };
558
- i.refreshInterval && (C = setTimeout(b, i.refreshInterval)), i.revalidateOnFocus && (document.addEventListener("visibilitychange", m, !1), window.addEventListener("focus", m, !1));
558
+ i.refreshInterval && (C = setTimeout(S, i.refreshInterval)), i.revalidateOnFocus && (document.addEventListener("visibilitychange", m, !1), window.addEventListener("focus", m, !1));
559
559
  }), Pe(function() {
560
560
  l = !0, C && clearTimeout(C), i.revalidateOnFocus && (document.removeEventListener("visibilitychange", m, !1), window.removeEventListener("focus", m, !1));
561
- var b = ie.get(f.value);
562
- b && (b.data = b.data.filter(function(h) {
561
+ var S = ie.get(f.value);
562
+ S && (S.data = S.data.filter(function(h) {
563
563
  return h !== p;
564
564
  }));
565
565
  });
566
566
  try {
567
- Ze(f, function(b) {
568
- Xe(f) || (f.value = b), p.key = b, p.isValidating = !!b, Tt(f.value, p, u), !s && !c && f.value && S(), c = !1;
567
+ Ze(f, function(S) {
568
+ Xe(f) || (f.value = S), p.key = S, p.isValidating = !!S, Tt(f.value, p, u), !s && !c && f.value && b(), c = !1;
569
569
  }, {
570
570
  immediate: !0
571
571
  });
572
572
  } catch {
573
573
  }
574
- var I = O(O({}, Ge(p)), { mutate: function(b, h) {
575
- return S(b, O(O({}, h), { forceRevalidate: !0 }));
574
+ var I = O(O({}, Ge(p)), { mutate: function(S, h) {
575
+ return b(S, O(O({}, h), { forceRevalidate: !0 }));
576
576
  } });
577
577
  return I;
578
578
  }
@@ -621,7 +621,7 @@ const K = {
621
621
  } = e;
622
622
  if (a && !r)
623
623
  throw new Error("Must provide a dimension if filtering by a value");
624
- const p = !!(r && a), S = !!(r && !a), m = g(() => {
624
+ const p = !!(r && a), b = !!(r && !a), m = g(() => {
625
625
  const q = [];
626
626
  return p && q.push({
627
627
  dimension: r,
@@ -644,7 +644,7 @@ const K = {
644
644
  timeframe: l,
645
645
  tz: c,
646
646
  // Traffic and error rate cards can't query trend if multiple entities are expected.
647
- withTrend: g(() => d.value && !S),
647
+ withTrend: g(() => d.value && !b),
648
648
  refreshInterval: o,
649
649
  queryFn: u,
650
650
  abortController: s
@@ -661,13 +661,13 @@ const K = {
661
661
  timeframe: l,
662
662
  tz: c,
663
663
  // Don't query latency trends in the multi-entity case: it's possible, but wasteful.
664
- withTrend: g(() => d.value && !S),
664
+ withTrend: g(() => d.value && !b),
665
665
  refreshInterval: o,
666
666
  queryFn: u,
667
667
  abortController: s
668
- }, b = K.useMetricFetcher(C), h = K.useMetricFetcher(I);
668
+ }, S = K.useMetricFetcher(C), h = K.useMetricFetcher(I);
669
669
  return {
670
- trafficData: b,
670
+ trafficData: S,
671
671
  latencyData: h
672
672
  };
673
673
  }, Ci = /* @__PURE__ */ k({
@@ -722,7 +722,7 @@ const K = {
722
722
  hasTrendAccess: i,
723
723
  longCardTitles: t.longCardTitles,
724
724
  averageLatencies: s
725
- }), (p, S) => Le(p.$slots, "default", {
725
+ }), (p, b) => Le(p.$slots, "default", {
726
726
  hasTrendAccess: i.value,
727
727
  timeframe: o.value
728
728
  });
@@ -738,8 +738,8 @@ var Oe = { exports: {} };
738
738
  if (s.separator === !1 || o < 1e3)
739
739
  return o.toString();
740
740
  var u = typeof s.separator == "string" ? s.separator : ",", f = [], p = Math.round(o).toString().split("");
741
- return p.reverse().forEach(function(S, m) {
742
- m && m % 3 === 0 && f.push(u), f.push(S);
741
+ return p.reverse().forEach(function(b, m) {
742
+ m && m % 3 === 0 && f.push(u), f.push(b);
743
743
  }), f.reverse().join("");
744
744
  }
745
745
  function r(o, s, u) {
@@ -1369,10 +1369,10 @@ const _ = "24px", D = (e, t) => {
1369
1369
  }), yr = /* @__PURE__ */ D(gr, [["__scopeId", "data-v-218c4e42"]]), mr = (e) => (V("data-v-decff498"), e = e(), $(), e), hr = ["aria-hidden"], Cr = {
1370
1370
  key: 0,
1371
1371
  "data-testid": "kui-icon-svg-title"
1372
- }, Sr = /* @__PURE__ */ mr(() => /* @__PURE__ */ E("path", {
1372
+ }, br = /* @__PURE__ */ mr(() => /* @__PURE__ */ E("path", {
1373
1373
  d: "M3.4 18L2 16.6L9.4 9.15L13.4 13.15L18.6 8H16V6H22V12H20V9.4L13.4 16L9.4 12L3.4 18Z",
1374
1374
  fill: "currentColor"
1375
- }, null, -1)), br = /* @__PURE__ */ k({
1375
+ }, null, -1)), Sr = /* @__PURE__ */ k({
1376
1376
  __name: "TrendUpIcon",
1377
1377
  props: {
1378
1378
  /** The accessibility text provided to screen readers */
@@ -1460,13 +1460,13 @@ const _ = "24px", D = (e, t) => {
1460
1460
  xmlns: "http://www.w3.org/2000/svg"
1461
1461
  }, [
1462
1462
  e.title ? (v(), y("title", Cr, w(e.title), 1)) : R("", !0),
1463
- Sr
1463
+ br
1464
1464
  ], 8, hr))
1465
1465
  ]),
1466
1466
  _: 1
1467
1467
  }, 8, ["aria-hidden", "style"]));
1468
1468
  }
1469
- }), _r = /* @__PURE__ */ D(br, [["__scopeId", "data-v-decff498"]]), wr = (e) => (V("data-v-065a8b56"), e = e(), $(), e), Nr = ["aria-hidden"], Rr = {
1469
+ }), _r = /* @__PURE__ */ D(Sr, [["__scopeId", "data-v-decff498"]]), wr = (e) => (V("data-v-065a8b56"), e = e(), $(), e), Nr = ["aria-hidden"], Rr = {
1470
1470
  key: 0,
1471
1471
  "data-testid": "kui-icon-svg-title"
1472
1472
  }, Ir = /* @__PURE__ */ wr(() => /* @__PURE__ */ E("path", {
@@ -2051,7 +2051,7 @@ const ai = /* @__PURE__ */ me(ri, [["render", ni], ["__scopeId", "data-v-f7eb9c4
2051
2051
  ]))
2052
2052
  ], 2));
2053
2053
  }
2054
- }), fi = /* @__PURE__ */ me(ci, [["__scopeId", "data-v-d3a810e0"]]), Si = /* @__PURE__ */ k({
2054
+ }), fi = /* @__PURE__ */ me(ci, [["__scopeId", "data-v-f8f8341b"]]), bi = /* @__PURE__ */ k({
2055
2055
  __name: "MetricsConsumer",
2056
2056
  props: {
2057
2057
  lookupKey: { default: void 0 },
@@ -2071,11 +2071,11 @@ const ai = /* @__PURE__ */ me(ri, [["render", ni], ["__scopeId", "data-v-f7eb9c4
2071
2071
  sumGroupedValues: Q,
2072
2072
  trendRange: a.trendRange
2073
2073
  }), c = (m) => `${m.toFixed(ye)}%`, d = g(() => {
2074
- const m = a.mapped.value, C = X(m, "current", t.lookupKey, we), I = X(m, "current", t.lookupKey, Q), b = C / I * 100 || 0, h = X(m, "previous", t.lookupKey, we), q = X(m, "previous", t.lookupKey, Q), x = h / q * 100 || 0;
2074
+ const m = a.mapped.value, C = X(m, "current", t.lookupKey, we), I = X(m, "current", t.lookupKey, Q), S = C / I * 100 || 0, h = X(m, "previous", t.lookupKey, we), q = X(m, "previous", t.lookupKey, Q), x = h / q * 100 || 0;
2075
2075
  return {
2076
2076
  cardType: M.ERROR_RATE,
2077
2077
  hasError: a.hasError.value,
2078
- currentValue: b,
2078
+ currentValue: S,
2079
2079
  previousValue: x,
2080
2080
  formatValueFn: c,
2081
2081
  title: r.longCardTitles ? i.t("metricCard.long.errorRate") : i.t("metricCard.short.errorRate"),
@@ -2104,7 +2104,7 @@ const ai = /* @__PURE__ */ me(ri, [["render", ni], ["__scopeId", "data-v-f7eb9c4
2104
2104
  // If the parent container has a title, we enforce a Medium card size; otherwise, pass down provided cardSize
2105
2105
  cardSize: r.containerTitle.value ? F.Medium : t.cardSize,
2106
2106
  hideTitle: !0
2107
- })), S = g(() => ({
2107
+ })), b = g(() => ({
2108
2108
  loading: p.value.loading,
2109
2109
  trafficCard: l.value,
2110
2110
  errorRateCard: d.value,
@@ -2112,27 +2112,27 @@ const ai = /* @__PURE__ */ me(ri, [["render", ni], ["__scopeId", "data-v-f7eb9c4
2112
2112
  errorRateFormatted: c(d.value.currentValue),
2113
2113
  latencyFormatted: o(s.value.currentValue)
2114
2114
  }));
2115
- return (m, C) => Le(m.$slots, "default", { cardValues: S.value }, () => [
2115
+ return (m, C) => Le(m.$slots, "default", { cardValues: b.value }, () => [
2116
2116
  G(fi, We(Je(p.value)), null, 16)
2117
2117
  ]);
2118
2118
  }
2119
- }), ee = (e) => new Date(e), bi = (e, t) => {
2119
+ }), ee = (e) => new Date(e), Si = (e, t) => {
2120
2120
  const r = e.body;
2121
2121
  e.reply({
2122
2122
  statusCode: 200,
2123
2123
  body: vi(r, t)
2124
2124
  });
2125
2125
  }, Ee = (e) => e.reduce((t, r) => (t[r] = { name: r }, t), {}), vi = (e, t) => {
2126
- var S, m;
2126
+ var b, m;
2127
2127
  const r = pe.get(re.ONE_DAY), a = e.granularity === "trend" ? new rt(r) : new it(r), n = a.endMs(), i = a.startMs(), l = a.granularityMs(), c = e.granularity === "trend" ? 2 : 1;
2128
2128
  if ((e.dimensions ?? []).length > 2)
2129
2129
  throw new Error(`Explore only supports 0-2 dimensions; got: ${JSON.stringify(e.dimensions)}`);
2130
2130
  const d = (e.dimensions ?? []).find((C) => C !== "time"), o = (t == null ? void 0 : t.dimensionNames) ?? [], s = Math.max(o.length, 1), u = e.metrics || [], f = [];
2131
2131
  for (let C = 0; C < c; C++)
2132
2132
  for (let I = 0; I < s; I++) {
2133
- const b = d ? { [d]: o[I] } : {};
2134
- (S = e.dimensions) != null && S.includes("status_code_grouped") ? Q.forEach((h) => {
2135
- const q = u.reduce((x, B) => (x[B] = (c - C) * 1e3 + 100 * I + 1, x), { ...b, status_code_grouped: h });
2133
+ const S = d ? { [d]: o[I] } : {};
2134
+ (b = e.dimensions) != null && b.includes("status_code_grouped") ? Q.forEach((h) => {
2135
+ const q = u.reduce((x, B) => (x[B] = (c - C) * 1e3 + 100 * I + 1, x), { ...S, status_code_grouped: h });
2136
2136
  f.push({
2137
2137
  version: "v1",
2138
2138
  timestamp: C === 0 ? ee(i).toISOString() : ee(i + l).toISOString(),
@@ -2141,7 +2141,7 @@ const ai = /* @__PURE__ */ me(ri, [["render", ni], ["__scopeId", "data-v-f7eb9c4
2141
2141
  }) : f.push({
2142
2142
  version: "v1",
2143
2143
  timestamp: C === 0 ? ee(i).toISOString() : ee(i + l).toISOString(),
2144
- event: u.reduce((h, q) => (h[q] = (c - C) * 1e3 + 100 * I + 1, h), { ...b })
2144
+ event: u.reduce((h, q) => (h[q] = (c - C) * 1e3 + 100 * I + 1, h), { ...S })
2145
2145
  });
2146
2146
  }
2147
2147
  const p = {
@@ -2167,10 +2167,10 @@ export {
2167
2167
  ft as MAX_ANALYTICS_REQUEST_RETRIES,
2168
2168
  F as MetricCardSize,
2169
2169
  M as MetricCardType,
2170
- Si as MetricsConsumer,
2170
+ bi as MetricsConsumer,
2171
2171
  Ci as MetricsProvider,
2172
2172
  we as STATUS_CODES_FAILED,
2173
2173
  hi as STATUS_CODES_SUCCESS,
2174
2174
  vi as mockExploreResponse,
2175
- bi as mockExploreResponseFromCypress
2175
+ Si as mockExploreResponseFromCypress
2176
2176
  };
@@ -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,Ne){"use strict";const _e={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",_e);return{i18n:e,i18nT:re.i18nTComponent(e)}}const ne=2,L=["1XX","2XX","3XX","4XX","5XX"],P=["4XX","5XX"],Ie=["1XX","2XX","3XX"],ie=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,n,o,a,i;return e?!!((r=Object.keys(e))!=null&&r.length||(n=e.data)!=null&&n.length||(a=(o=e.data)==null?void 0:o.data)!=null&&a.length||!((i=e.data)!=null&&i.data)&&typeof e.data=="object"&&Object.keys(e==null?void 0:e.data).length):!1};function Re(e=t.ref({}),r,n,o=Te){const a=t.ref("PENDING");return t.watchEffect(()=>{const i=o(e.value);if(e.value&&i&&n.value){a.value="VALIDATING_HAS_DATA";return}if(e.value&&n.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&&i){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 x=Symbol("default"),K="status_code_grouped",le=(e,r,n,o,a)=>{e[r][n]||(e[r][n]={}),e[r][n][o]=a};function xe(e,r){var f;const n=((f=e.meta.metric_names)==null?void 0:f[0])||"",o=e.meta.start_ms,a=Object.keys(e.meta.display||{}),i=!!a.find(u=>u===K),c=a.find(u=>u!==K);return a.length>2||a.length>1&&!i?(console.error("Don't know how to work with provided dimensions:",a),{previous:{[x]:{[x]:0}},current:{[x]:{[x]:0}}}):e.data.reduce((u,l)=>{const s=l.event[n],d=c?l.event[c]:x,p=i?l.event[K]:x;return new Date(l.timestamp).getTime()===o&&r?le(u,"previous",d,p,s):le(u,"current",d,p,s),u},{previous:{},current:{}})}function Be(e){e.queryReady===void 0&&(e.queryReady=t.computed(()=>!0));const{i18n:r}=B.useI18n(),n=t.computed(()=>{var d,p;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,...(p=e.filter.value)!=null&&p.length?{filters:e.filter.value}:{},time_range:e.timeframe.value.v4Query(e.tz.value)}}),o=t.computed(()=>{var p,m,C,g;if(!((p=e.queryReady)!=null&&p.value))return null;const d=(m=e.filter)!=null&&m.value?JSON.stringify(e.filter.value):"";return`metric-fetcher-${e.timeframe.value.cacheKey()}-${(C=e.dimensions)==null?void 0:C.join("-")}-${(g=e.metrics.value)==null?void 0:g.join("-")}-${d}`}),{response:a,error:i,isValidating:c}=B.useRequest(()=>o.value,()=>e.queryFn({datasource:e.datasource.value,query:n.value},e.abortController??new AbortController),{refreshInterval:e.refreshInterval,revalidateOnFocus:!1,errorRetryCount:ne}),{state:f,swrvState:u}=Re(a,i,c),l=t.computed(()=>{var d,p,m,C,g,h,b;return!((p=(d=a.value)==null?void 0:d.data)!=null&&p.length)||!((C=(m=a.value)==null?void 0:m.meta)!=null&&C.display)||!((b=(h=(g=a.value)==null?void 0:g.meta)==null?void 0:h.metric_names)!=null&&b.length)?{current:{},previous:{}}:xe(a.value,e.withTrend.value)}),s=t.computed(()=>{var d,p,m;if(e.timeframe.value.key==="custom"){if(!((p=(d=a.value)==null?void 0:d.meta)!=null&&p.start_ms))return"";const{start_ms:C,end_ms:g}=a.value.meta;let h=(g-C)/(1e3*60*60*24);return e.withTrend.value&&(h/=2),r.t("trendRange.custom",{numDays:Math.round(h)})}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(()=>u.PENDING===f.value),hasError:t.computed(()=>u.ERROR===f.value),raw:a,mapped:l,trendRange:s}}const z=(e,r,n=x,o)=>(o??[x]).reduce((i,c)=>{const f=e[r][n];return f?i+(f[c]||0):i},0);function Ve(e){const{cardType:r,title:n,description:o,record:a,hasError:i,increaseIsBad:c,formatValueFn:f,trendRange:u}=e;return t.computed(()=>{let l=0,s=0;if(a!=null&&a.value)try{l=z(a.value,"current",e.lookupKey,e.sumGroupedValues),s=z(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:i.value,currentValue:l,previousValue:s,title:n.value,description:o,increaseIsBad:!!c,formatValueFn:f,trendRange:u==null?void 0:u.value}})}var U=new WeakMap,se=0;function De(e){if(!e.length)return"";for(var r="arg",n=0;n<e.length;++n){var o=void 0;e[n]===null||typeof e[n]!="object"&&typeof e[n]!="function"?typeof e[n]=="string"?o='"'+e[n]+'"':o=String(e[n]):U.has(e[n])?o=U.get(e[n]):(o=se,U.set(e[n],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 Z=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 n=this.serializeKey(r);return this.items.get(n)},e.prototype.set=function(r,n,o){var a=this.serializeKey(r),i=o||this.ttl,c=Date.now(),f={data:n,createdAt:c,expiresAt:i?c+i:1/0};this.dispatchExpire(i,f,a),this.items.set(a,f)},e.prototype.dispatchExpire=function(r,n,o){var a=this;r&&setTimeout(function(){var i=Date.now(),c=i>=n.expiresAt;c&&a.delete(o)},r)},e.prototype.delete=function(r){this.items.delete(r)},e}();function ze(){return typeof navigator.onLine<"u"?navigator.onLine:!0}function Ae(){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 X={isOnline:ze,isDocumentVisible:Ae,fetcher:qe};var R=function(){return R=Object.assign||function(e){for(var r,n=1,o=arguments.length;n<o;n++){r=arguments[n];for(var a in r)Object.prototype.hasOwnProperty.call(r,a)&&(e[a]=r[a])}return e},R.apply(this,arguments)},A=function(e,r,n,o){function a(i){return i instanceof n?i:new n(function(c){c(i)})}return new(n||(n=Promise))(function(i,c){function f(s){try{l(o.next(s))}catch(d){c(d)}}function u(s){try{l(o.throw(s))}catch(d){c(d)}}function l(s){s.done?i(s.value):a(s.value).then(f,u)}l((o=o.apply(e,r||[])).next())})},q=function(e,r){var n={label:0,sent:function(){if(i[0]&1)throw i[1];return i[1]},trys:[],ops:[]},o,a,i,c;return c={next:f(0),throw:f(1),return:f(2)},typeof Symbol=="function"&&(c[Symbol.iterator]=function(){return this}),c;function f(l){return function(s){return u([l,s])}}function u(l){if(o)throw new TypeError("Generator is already executing.");for(;n;)try{if(o=1,a&&(i=l[0]&2?a.return:l[0]?a.throw||((i=a.return)&&i.call(a),0):a.next)&&!(i=i.call(a,l[1])).done)return i;switch(a=0,i&&(l=[l[0]&2,i.value]),l[0]){case 0:case 1:i=l;break;case 4:return n.label++,{value:l[1],done:!1};case 5:n.label++,a=l[1],l=[0];continue;case 7:l=n.ops.pop(),n.trys.pop();continue;default:if(i=n.trys,!(i=i.length>0&&i[i.length-1])&&(l[0]===6||l[0]===2)){n=0;continue}if(l[0]===3&&(!i||l[1]>i[0]&&l[1]<i[3])){n.label=l[1];break}if(l[0]===6&&n.label<i[1]){n.label=i[1],i=l;break}if(i&&n.label<i[2]){n.label=i[2],n.ops.push(l);break}i[2]&&n.ops.pop(),n.trys.pop();continue}l=r.call(e,n)}catch(s){l=[6,s],a=0}finally{o=i=0}if(l[0]&5)throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}},$e=function(e,r){var n=typeof Symbol=="function"&&e[Symbol.iterator];if(!n)return e;var o=n.call(e),a,i=[],c;try{for(;(r===void 0||r-- >0)&&!(a=o.next()).done;)i.push(a.value)}catch(f){c={error:f}}finally{try{a&&!a.done&&(n=o.return)&&n.call(o)}finally{if(c)throw c.error}}return i},Oe=function(e,r,n){if(n||arguments.length===2)for(var o=0,a=r.length,i;o<a;o++)(i||!(o in r))&&(i||(i=Array.prototype.slice.call(r,0,o)),i[o]=r[o]);return e.concat(i||Array.prototype.slice.call(r))},ce=new Z,O=new Z,G=new Z,de={cache:ce,refreshInterval:0,ttl:0,serverTTL:1e3,dedupingInterval:2e3,revalidateOnFocus:!0,revalidateDebounce:0,shouldRetryOnError:!0,errorRetryInterval:5e3,errorRetryCount:5,fetcher:X.fetcher,isOnline:X.isOnline,isDocumentVisible:X.isDocumentVisible};function Me(e,r,n){var o=O.get(e);if(o)o.data.push(r);else{var a=5e3;O.set(e,[r],n>0?n+a:n)}}function Fe(e,r,n){if(n.isDocumentVisible()&&!(n.errorRetryCount!==void 0&&r>n.errorRetryCount)){var o=Math.min(r||0,n.errorRetryCount),a=o*n.errorRetryInterval;setTimeout(function(){e(null,{errorRetryCount:o+1,shouldRetryOnError:!0})},a)}}var ue=function(e,r,n,o){return n===void 0&&(n=ce),o===void 0&&(o=de.ttl),A(void 0,void 0,void 0,function(){var a,i,c,f,u,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 f=d.sent(),i=f,[3,4];case 4:return[3,6];case 5:a=r,d.label=6;case 6:if(c=!1,u={data:a,error:i,isValidating:c},typeof a<"u")try{n.set(e,u,o)}catch(p){console.error("swrv(mutate): failed to set cache",p)}return l=O.get(e),l&&l.data.length&&(s=l.data.filter(function(p){return p.key===e}),s.forEach(function(p,m){typeof u.data<"u"&&(p.data=u.data),p.error=u.error,p.isValidating=u.isValidating;var C=m===s.length-1;C||delete s[m]}),s=s.filter(Boolean)),[2,u]}})})};function He(){for(var e=this,r=[],n=0;n<arguments.length;n++)r[n]=arguments[n];var o,a,i=R({},de),c=!1,f=!1,u=t.getCurrentInstance(),l=(u==null?void 0:u.proxy)||u;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&&(i=R(R({},i),r[2]));var d=s?i.serverTTL:i.ttl,p=typeof o=="function"?o:t.ref(o);typeof a>"u"&&(a=i.fetcher);var m=null;m||(m=t.reactive({data:void 0,error:void 0,isValidating:!0,key:null}));var C=function(S,y){return A(e,void 0,void 0,function(){var N,E,V,$,W,ve,J,ke=this;return q(this,function(ee){switch(ee.label){case 0:return N=m.data===void 0,E=p.value,E?(V=i.cache.get(E),$=V&&V.data,m.isValidating=!0,$&&(m.data=$.data,m.error=$.error),W=S||a,!W||!i.isDocumentVisible()&&!N||(y==null?void 0:y.forceRevalidate)!==void 0&&!(y!=null&&y.forceRevalidate)?(m.isValidating=!1,[2]):V&&(ve=!!(Date.now()-V.createdAt>=i.dedupingInterval||y!=null&&y.forceRevalidate),!ve)?(m.isValidating=!1,[2]):(J=function(){return A(ke,void 0,void 0,function(){var D,be,te,Ee;return q(this,function(H){switch(H.label){case 0:return D=G.get(E),D?[3,2]:(be=Array.isArray(E)?E:[E],te=W.apply(void 0,Oe([],$e(be),!1)),G.set(E,te,i.dedupingInterval),[4,ue(E,te,i.cache,d)]);case 1:return H.sent(),[3,4];case 2:return[4,ue(E,D.data,i.cache,d)];case 3:H.sent(),H.label=4;case 4:return m.isValidating=!1,G.delete(E),m.error!==void 0&&(Ee=!c&&i.shouldRetryOnError&&(y?y.shouldRetryOnError:!0),Ee&&Fe(C,y?y.errorRetryCount:1,i)),[2]}})})},$&&i.revalidateDebounce?(setTimeout(function(){return A(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]}})})},i.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 A(e,void 0,void 0,function(){return q(this,function(S){return[2,C(null,{shouldRetryOnError:!1})]})})},h=null;t.onMounted(function(){var S=function(){return A(e,void 0,void 0,function(){return q(this,function(y){switch(y.label){case 0:return!m.error&&i.isOnline()?[4,C()]:[3,2];case 1:return y.sent(),[3,3];case 2:h&&clearTimeout(h),y.label=3;case 3:return i.refreshInterval&&!c&&(h=setTimeout(S,i.refreshInterval)),[2]}})})};i.refreshInterval&&(h=setTimeout(S,i.refreshInterval)),i.revalidateOnFocus&&(document.addEventListener("visibilitychange",g,!1),window.addEventListener("focus",g,!1))}),t.onUnmounted(function(){c=!0,h&&clearTimeout(h),i.revalidateOnFocus&&(document.removeEventListener("visibilitychange",g,!1),window.removeEventListener("focus",g,!1));var S=O.get(p.value);S&&(S.data=S.data.filter(function(y){return y!==m}))});try{t.watch(p,function(S){t.isReadonly(p)||(p.value=S),m.key=S,m.isValidating=!!S,Me(p.value,m,d),!s&&!f&&p.value&&C(),f=!1},{immediate:!0})}catch{}var b=R(R({},t.toRefs(m)),{mutate:function(S,y){return C(S,R(R({},y),{forceRevalidate:!0}))}});return b}function Pe(e){return e!==null&&typeof e=="object"&&typeof e.then=="function"}function Ke(e,r,n){const{data:o,error:a,isValidating:i,mutate:c}=He(e,r,{revalidateDebounce:500,revalidateOnFocus:!1,dedupingInterval:100,...n});return{data:t.computed(()=>o.value),response:o,error:a,isValidating:i,revalidate:c}}const B={useI18n:we,useMetricCardBuilder:Ve,useMetricFetcher:Be,useRequest:Ke},fe=Symbol("METRICS_PROVIDER_KEY"),Ue=e=>{const{datasource:r,dimension:n,dimensionFilterValue:o,additionalFilter:a,queryReady:i,timeframe:c,tz:f,hasTrendAccess:u,refreshInterval:l,abortController:s,queryFn:d,averageLatencies:p}=e;if(o&&!n)throw new Error("Must provide a dimension if filtering by a value");const m=!!(n&&o),C=!!(n&&!o),g=t.computed(()=>{const N=[];return m&&N.push({dimension:n,type:"in",values:[o]}),a.value&&N.push(..._.stripUnknownFilters(r.value,a.value)),N}),h={datasource:r,metrics:t.ref(["request_count"]),dimensions:[...n&&!m?[n]:[],"status_code_grouped"],filter:g,queryReady:i,timeframe:c,tz:f,withTrend:t.computed(()=>u.value&&!C),refreshInterval:l,queryFn:d,abortController:s},b={datasource:r,metrics:t.computed(()=>[p.value?"response_latency_average":"response_latency_p99"]),...n&&!m?{dimensions:[n]}:{},filter:g,queryReady:i,timeframe:c,tz:f,withTrend:t.computed(()=>u.value&&!C),refreshInterval:l,queryFn:d,abortController:s},S=B.useMetricFetcher(h),y=B.useMetricFetcher(b);return{trafficData:S,latencyData:y}},Ze=t.defineComponent({__name:"MetricsProvider",props:{datasource:{default:void 0},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:ie},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 n=t.inject(ae);let o;n?o=n.queryFn:(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")));const a=Ne.useAnalyticsConfigStore(),i=t.computed(()=>!0),c=t.computed(()=>!a.loading&&r.queryReady),f=t.computed(()=>r.tz?r.tz:new Intl.DateTimeFormat().resolvedOptions().timeZone),u=t.computed(()=>r.datasource?r.datasource:"basic"),l=t.computed(()=>r.overrideTimeframe||_.TimePeriods.get(_.TimeframeKeys.SEVEN_DAY)),s=t.computed(()=>!r.percentileLatency),{trafficData:d,latencyData:p}=Ue({datasource:u,dimension:r.dimension,dimensionFilterValue:r.filterValue,additionalFilter:t.toRef(r,"additionalFilter"),queryReady:c,timeframe:l,tz:f,hasTrendAccess:i,refreshInterval:r.refreshInterval,queryFn:o,averageLatencies:s,abortController:r.abortController});return t.provide(fe,{data:{traffic:d,latency:p},description:t.toRef(()=>r.description),containerTitle:t.toRef(()=>r.containerTitle),hasTrendAccess:i,longCardTitles:r.longCardTitles,averageLatencies:s}),(m,C)=>t.renderSlot(m.$slots,"default",{hasTrendAccess:i.value,timeframe:l.value})}});function Xe(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:",",p=[],m=Math.round(l).toString().split("");return m.reverse().forEach(function(C,g){g&&g%3===0&&p.push(d),p.push(C)}),p.reverse().join("")}function n(l,s,d){var p=l/s,m=d.round?"round":"floor";return d.decimal===!1?(l=Math[m](p),l.toString()):(d.precision?l=p:l=p<10?Math[m](p*10)/10:Math[m](p),l=l.toString(),typeof d.decimal=="string"&&(l=l.replace(".",d.decimal)),l)}var o=1e3,a=1e4,i=1e6,c=1e9,f=1e12;function u(l,s){var d;s=s||{};var p=l<0;p&&(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(n(l,1,s),s):l<i?d=n(l,o,s)+"k":l<c?d=n(l,i,s)+"m":l<f?d=r(n(l,c,s),s)+"b":d=r(n(l,f,s),s)+"t",p&&(d="-"+d),s.capital&&(d=d.toUpperCase()),s.prefix&&(d=s.prefix+d),s.suffix&&(d=d+s.suffix),d}u.addCommas=r,e.exports=u})()})(pe);var Ge=pe.exports;const je=Xe(Ge);var w=(e=>(e.GENERIC_COUNT="GenericCount",e.TRAFFIC="Traffic",e.ERROR_RATE="ErrorRate",e.LATENCY="Latency",e))(w||{}),I=(e=>(e.Small="sm",e.Medium="md",e.Large="lg",e.ExtraLarge="xl",e))(I||{});const k="24px",T=(e,r)=>{const n=e.__vccOpts||e;for(const[o,a]of r)n[o]=a;return n},Ye=e=>(t.pushScopeId("data-v-c017eab7"),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(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,""),n=Number(r);if(n&&!isNaN(n)&&Number.isInteger(n)&&n>0)return!0}return!1}},as:{type:String,required:!1,default:"span"}},setup(e){const r=e,n=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,""),i=Number(a);if(i&&!isNaN(i)&&Number.isInteger(i)&&i>0)return`${i}px`}return k}),o=t.computed(()=>({boxSizing:"border-box",color:r.color,display:r.display,flexShrink:"0",height:n.value,lineHeight:"0",width:n.value}));return(a,i)=>(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"]))}}),[["__scopeId","data-v-c017eab7"]]),tt=e=>(t.pushScopeId("data-v-68742da1"),e=e(),t.popScopeId(),e),rt=["aria-hidden"],nt={key:0,"data-testid":"kui-icon-svg-title"},it=tt(()=>t.createElementVNode("path",{d:"M4 17V14H20V17H4ZM4 10V7H20V10H4Z",fill:"currentColor"},null,-1)),at=T(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,""),n=Number(r);if(n&&!isNaN(n)&&Number.isInteger(n)&&n>0)return!0}return!1}},as:{type:String,required:!1,default:"span"}},setup(e){const r=e,n=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,""),i=Number(a);if(i&&!isNaN(i)&&Number.isInteger(i)&&i>0)return`${i}px`}return k}),o=t.computed(()=>({boxSizing:"border-box",color:r.color,display:r.display,flexShrink:"0",height:n.value,lineHeight:"0",width:n.value}));return(a,i)=>(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),it],8,rt))]),_:1},8,["aria-hidden","style"]))}}),[["__scopeId","data-v-68742da1"]]),ot=e=>(t.pushScopeId("data-v-e4bfb72f"),e=e(),t.popScopeId(),e),lt=["aria-hidden"],st={key:0,"data-testid":"kui-icon-svg-title"},ct=ot(()=>t.createElementVNode("path",{d:"M5 11V9H15V11H5Z",fill:"currentColor"},null,-1)),me=T(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,""),n=Number(r);if(n&&!isNaN(n)&&Number.isInteger(n)&&n>0)return!0}return!1}},as:{type:String,required:!1,default:"span"}},setup(e){const r=e,n=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,""),i=Number(a);if(i&&!isNaN(i)&&Number.isInteger(i)&&i>0)return`${i}px`}return k}),o=t.computed(()=>({boxSizing:"border-box",color:r.color,display:r.display,flexShrink:"0",height:n.value,lineHeight:"0",width:n.value}));return(a,i)=>(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",st,t.toDisplayString(e.title),1)):t.createCommentVNode("",!0),ct],8,lt))]),_:1},8,["aria-hidden","style"]))}}),[["__scopeId","data-v-e4bfb72f"]]),dt=e=>(t.pushScopeId("data-v-b700bc86"),e=e(),t.popScopeId(),e),ut=["aria-hidden"],ft={key:0,"data-testid":"kui-icon-svg-title"},pt=dt(()=>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)),mt=T(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,""),n=Number(r);if(n&&!isNaN(n)&&Number.isInteger(n)&&n>0)return!0}return!1}},as:{type:String,required:!1,default:"span"}},setup(e){const r=e,n=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,""),i=Number(a);if(i&&!isNaN(i)&&Number.isInteger(i)&&i>0)return`${i}px`}return k}),o=t.computed(()=>({boxSizing:"border-box",color:r.color,display:r.display,flexShrink:"0",height:n.value,lineHeight:"0",width:n.value}));return(a,i)=>(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",ft,t.toDisplayString(e.title),1)):t.createCommentVNode("",!0),pt],8,ut))]),_:1},8,["aria-hidden","style"]))}}),[["__scopeId","data-v-b700bc86"]]),gt=e=>(t.pushScopeId("data-v-f152798a"),e=e(),t.popScopeId(),e),yt=["aria-hidden"],ht={key:0,"data-testid":"kui-icon-svg-title"},Ct=gt(()=>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)),St=T(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,""),n=Number(r);if(n&&!isNaN(n)&&Number.isInteger(n)&&n>0)return!0}return!1}},as:{type:String,required:!1,default:"span"}},setup(e){const r=e,n=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,""),i=Number(a);if(i&&!isNaN(i)&&Number.isInteger(i)&&i>0)return`${i}px`}return k}),o=t.computed(()=>({boxSizing:"border-box",color:r.color,display:r.display,flexShrink:"0",height:n.value,lineHeight:"0",width:n.value}));return(a,i)=>(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",ht,t.toDisplayString(e.title),1)):t.createCommentVNode("",!0),Ct],8,yt))]),_:1},8,["aria-hidden","style"]))}}),[["__scopeId","data-v-f152798a"]]),vt=e=>(t.pushScopeId("data-v-218c4e42"),e=e(),t.popScopeId(),e),kt=["aria-hidden"],bt={key:0,"data-testid":"kui-icon-svg-title"},Et=vt(()=>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)),Nt=T(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,""),n=Number(r);if(n&&!isNaN(n)&&Number.isInteger(n)&&n>0)return!0}return!1}},as:{type:String,required:!1,default:"span"}},setup(e){const r=e,n=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,""),i=Number(a);if(i&&!isNaN(i)&&Number.isInteger(i)&&i>0)return`${i}px`}return k}),o=t.computed(()=>({boxSizing:"border-box",color:r.color,display:r.display,flexShrink:"0",height:n.value,lineHeight:"0",width:n.value}));return(a,i)=>(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",bt,t.toDisplayString(e.title),1)):t.createCommentVNode("",!0),Et],8,kt))]),_:1},8,["aria-hidden","style"]))}}),[["__scopeId","data-v-218c4e42"]]),_t=e=>(t.pushScopeId("data-v-decff498"),e=e(),t.popScopeId(),e),wt=["aria-hidden"],It={key:0,"data-testid":"kui-icon-svg-title"},Tt=_t(()=>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)),Rt=T(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,""),n=Number(r);if(n&&!isNaN(n)&&Number.isInteger(n)&&n>0)return!0}return!1}},as:{type:String,required:!1,default:"span"}},setup(e){const r=e,n=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,""),i=Number(a);if(i&&!isNaN(i)&&Number.isInteger(i)&&i>0)return`${i}px`}return k}),o=t.computed(()=>({boxSizing:"border-box",color:r.color,display:r.display,flexShrink:"0",height:n.value,lineHeight:"0",width:n.value}));return(a,i)=>(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",It,t.toDisplayString(e.title),1)):t.createCommentVNode("",!0),Tt],8,wt))]),_:1},8,["aria-hidden","style"]))}}),[["__scopeId","data-v-decff498"]]),xt=e=>(t.pushScopeId("data-v-065a8b56"),e=e(),t.popScopeId(),e),Bt=["aria-hidden"],Vt={key:0,"data-testid":"kui-icon-svg-title"},Dt=xt(()=>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)),Lt=T(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,""),n=Number(r);if(n&&!isNaN(n)&&Number.isInteger(n)&&n>0)return!0}return!1}},as:{type:String,required:!1,default:"span"}},setup(e){const r=e,n=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,""),i=Number(a);if(i&&!isNaN(i)&&Number.isInteger(i)&&i>0)return`${i}px`}return k}),o=t.computed(()=>({boxSizing:"border-box",color:r.color,display:r.display,flexShrink:"0",height:n.value,lineHeight:"0",width:n.value}));return(a,i)=>(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",Vt,t.toDisplayString(e.title),1)):t.createCommentVNode("",!0),Dt],8,Bt))]),_:1},8,["aria-hidden","style"]))}}),[["__scopeId","data-v-065a8b56"]]),zt=e=>(t.pushScopeId("data-v-2776a8e5"),e=e(),t.popScopeId(),e),At=["aria-hidden"],qt={key:0,"data-testid":"kui-icon-svg-title"},$t=zt(()=>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)),Ot=T(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,""),n=Number(r);if(n&&!isNaN(n)&&Number.isInteger(n)&&n>0)return!0}return!1}},as:{type:String,required:!1,default:"span"}},setup(e){const r=e,n=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,""),i=Number(a);if(i&&!isNaN(i)&&Number.isInteger(i)&&i>0)return`${i}px`}return k}),o=t.computed(()=>({boxSizing:"border-box",color:r.color,display:r.display,flexShrink:"0",height:n.value,lineHeight:"0",width:n.value}));return(a,i)=>(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",qt,t.toDisplayString(e.title),1)):t.createCommentVNode("",!0),$t],8,At))]),_:1},8,["aria-hidden","style"]))}}),[["__scopeId","data-v-2776a8e5"]]),Mt=e=>(t.pushScopeId("data-v-1a0beec9"),e=e(),t.popScopeId(),e),Ft=["aria-hidden"],Ht={key:0,"data-testid":"kui-icon-svg-title"},Pt=Mt(()=>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)),ge=T(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,""),n=Number(r);if(n&&!isNaN(n)&&Number.isInteger(n)&&n>0)return!0}return!1}},as:{type:String,required:!1,default:"span"}},setup(e){const r=e,n=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,""),i=Number(a);if(i&&!isNaN(i)&&Number.isInteger(i)&&i>0)return`${i}px`}return k}),o=t.computed(()=>({boxSizing:"border-box",color:r.color,display:r.display,flexShrink:"0",height:n.value,lineHeight:"0",width:n.value}));return(a,i)=>(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",Ht,t.toDisplayString(e.title),1)):t.createCommentVNode("",!0),Pt],8,Ft))]),_:1},8,["aria-hidden","style"]))}}),[["__scopeId","data-v-1a0beec9"]]),j=2,ye=j+2,Kt=(e,r,n=!1)=>{let o=!r||Number(e.toFixed(ye))===0?0:Number(e.toFixed(ye))>0?1:-1;return n&&(o*=-1),o},Ut=(e,r,n)=>r?`${Math.abs(e*100).toFixed(j)}%`:n,Zt=(e,r)=>r===0?0:e/r-1,Xt=(e,r=!1)=>(r&&(e*=-1),e>0?Rt:e<0?Nt:me),Gt="#ad000e",Y="#6c7489",he="#52596e",jt="#007d60",M="16px",Yt="20px",Qt={class:"metricscard"},Wt={key:0,class:"metricscard-description"},Jt={class:"metricscard-valuetrend"},er={key:0,class:"metricscard-error"},tr={key:2,class:"metricscard-trend"},rr={"data-testid":"metric-trend-change"},nr={key:0,class:"metricscard-trend-range"},ir=t.defineComponent({__name:"MetricsCard",props:{cardType:{type:String,required:!0,default:w.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:()=>I.Large},hasContainerTitle:{type:Boolean,required:!1,default:!1},titleTag:{type:String,default:"span"}},setup(e){const r=new Map([[w.GENERIC_COUNT,Lt],[w.TRAFFIC,et],[w.ERROR_RATE,Ot],[w.LATENCY,St]]),n=e,o=f=>{const u={red:`var(--kui-color-text-danger-strong, ${Gt})`,green:`var(--kui-color-text-success, ${jt})`,grey:`var(--kui-color-text-neutral-strong, ${he})`};return f>0?u.green:f<0?u.red:u.grey},a=f=>f>0?"positive":f<0?"negative":"neutral",i=[I.Medium,I.Large].includes(n.cardSize),c=[I.Small].includes(n.cardSize);return(f,u)=>{const l=t.resolveComponent("KTooltip");return t.openBlock(),t.createElementBlock("div",Qt,[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:`var(--kui-color-text-neutral, ${t.unref(Y)})`,size:t.unref(M)},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(mt),{color:`var(--kui-color-text-neutral, ${t.unref(Y)})`,size:t.unref(M)},null,8,["color","size"])]),_:1},8,["text"])):t.createCommentVNode("",!0)],2),e.description&&t.unref(i)?(t.openBlock(),t.createElementBlock("div",Wt,[t.createElementVNode("span",null,t.toDisplayString(e.description),1)])):t.createCommentVNode("",!0),t.createElementVNode("div",Jt,[e.hasError?(t.openBlock(),t.createElementBlock("div",er,[t.createVNode(t.unref(ge),{color:`var(--kui-color-text-neutral, ${t.unref(Y)})`,size:t.unref(Yt)},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(i)?(t.openBlock(),t.createElementBlock("div",tr,[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(M)},null,8,["color","size"])):(t.openBlock(),t.createBlock(t.unref(at),{key:1,color:`var(--kui-color-text-neutral-strong, ${t.unref(he)})`,size:t.unref(M)},null,8,["color","size"])),t.createElementVNode("div",rr,t.toDisplayString(e.metricChange),1)],2),e.trendRange?(t.openBlock(),t.createElementBlock("div",nr,t.toDisplayString(e.trendRange),1)):t.createCommentVNode("",!0)])):t.createCommentVNode("",!0)])])}}}),Q=(e,r)=>{const n=e.__vccOpts||e;for(const[o,a]of r)n[o]=a;return n},ar=Q(ir,[["__scopeId","data-v-43293fa2"]]),or={},lr={class:"loading-tabs"};function sr(e,r){const n=t.resolveComponent("KSkeletonBox");return t.openBlock(),t.createElementBlock("div",lr,[t.createVNode(n,{width:"100"}),t.createVNode(n,{width:"75"})])}const cr=Q(or,[["render",sr],["__scopeId","data-v-f7eb9c40"]]),dr={key:0,class:"container-title"},ur={key:0,class:"container-description"},fr={key:1,class:"error-display"},pr={key:0,class:"error-display-message"},mr={key:2,class:"cards-wrapper"},gr=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:()=>I.Large},containerTitle:{type:String,required:!1,default:""},containerDescription:{type:String,required:!1,default:""}},setup(e){const r=e,n=t.computed(()=>r.cards.every(a=>(a==null?void 0:a.hasError)===!0)),o=a=>{const i=Zt(a.currentValue,a.previousValue)||0,c=Kt(i,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(i):Ut(i,r.hasTrendAccess,r.fallbackDisplayText),changePolarity:c,trendIcon:Xt(c,a.increaseIsBad),cardSize:r.cardSize,hasContainerTitle:!!r.containerTitle}};return(a,i)=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["kong-ui-public-metric-card-container",e.cardSize])},[r.containerTitle?(t.openBlock(),t.createElementBlock("div",dr,[t.createTextVNode(t.toDisplayString(r.containerTitle)+" ",1),r.containerDescription?(t.openBlock(),t.createElementBlock("div",ur,t.toDisplayString(r.containerDescription),1)):t.createCommentVNode("",!0)])):t.createCommentVNode("",!0),n.value?(t.openBlock(),t.createElementBlock("div",fr,[t.createVNode(t.unref(ge),{class:"error-display-icon"}),e.errorMessage?(t.openBlock(),t.createElementBlock("div",pr,t.toDisplayString(e.errorMessage),1)):t.createCommentVNode("",!0)])):(t.openBlock(),t.createElementBlock("div",mr,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(e.cards,(c,f)=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[e.loading?(t.openBlock(),t.createBlock(cr,{key:`skeleton-${f}`,class:t.normalizeClass(e.cardSize===t.unref(I).Small?"loading-tabs-small":"loading-tabs-large")},null,8,["class"])):(t.openBlock(),t.createBlock(ar,t.mergeProps({key:f,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"]]),yr=t.defineComponent({__name:"MetricsConsumer",props:{lookupKey:{default:void 0},cardSize:{default:I.Large},cardToDisplay:{default:void 0}},setup(e){const r=e,n=t.inject(fe);if(!n)throw new Error("MetricsConsumer must be nested inside a MetricsProvider instance.");const{traffic:o,latency:a}=n.data,{i18n:i}=B.useI18n(),c=B.useMetricCardBuilder({cardType:w.TRAFFIC,title:t.computed(()=>n.longCardTitles?i.t("metricCard.long.traffic"):i.t("metricCard.short.traffic")),record:o.mapped,hasError:o.hasError,lookupKey:r.lookupKey,sumGroupedValues:L,trendRange:o.trendRange}),f=g=>`${g.toFixed(j)}%`,u=t.computed(()=>{const g=o.mapped.value,h=z(g,"current",r.lookupKey,P),b=z(g,"current",r.lookupKey,L),S=h/b*100||0,y=z(g,"previous",r.lookupKey,P),N=z(g,"previous",r.lookupKey,L),E=y/N*100||0;return{cardType:w.ERROR_RATE,hasError:o.hasError.value,currentValue:S,previousValue:E,formatValueFn:f,title:n.longCardTitles?i.t("metricCard.long.errorRate"):i.t("metricCard.short.errorRate"),increaseIsBad:!0,trendRange:o.trendRange.value}}),l=g=>`${g}ms`,s=B.useMetricCardBuilder({cardType:w.LATENCY,title:t.computed(()=>{const{longCardTitles:g,averageLatencies:h}=n,b=h.value?"averageLatency":"p99Latency";return g?i.t(`metricCard.long.${b}`):i.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"?[u.value]:r.cardToDisplay==="LATENCY"?[s.value]:[c.value,u.value,s.value]),p=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:n.containerTitle.value,containerDescription:n.description.value,loading:p.value,hasTrendAccess:n.hasTrendAccess.value,fallbackDisplayText:i.t("general.notAvailable"),cardSize:n.containerTitle.value?I.Medium:r.cardSize,hideTitle:!0})),C=t.computed(()=>({loading:m.value.loading,trafficCard:c.value,errorRateCard:u.value,latencyCard:s.value,errorRateFormatted:f(u.value.currentValue),latencyFormatted:l(s.value.currentValue)}));return(g,h)=>t.renderSlot(g.$slots,"default",{cardValues:C.value},()=>[t.createVNode(gr,t.normalizeProps(t.guardReactiveProps(m.value)),null,16)])}}),F=e=>new Date(e),hr=(e,r)=>{const n=e.body;e.reply({statusCode:200,body:Se(n,r)})},Ce=e=>e.reduce((r,n)=>(r[n]={name:n},r),{}),Se=(e,r)=>{var C,g;const n=_.TimePeriods.get(_.TimeframeKeys.ONE_DAY),o=e.granularity==="trend"?new _.DeltaQueryTime(n):new _.UnaryQueryTime(n),a=o.endMs(),i=o.startMs(),c=o.granularityMs(),f=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 u=(e.dimensions??[]).find(h=>h!=="time"),l=(r==null?void 0:r.dimensionNames)??[],s=Math.max(l.length,1),d=e.metrics||[],p=[];for(let h=0;h<f;h++)for(let b=0;b<s;b++){const S=u?{[u]:l[b]}:{};(C=e.dimensions)!=null&&C.includes("status_code_grouped")?L.forEach(y=>{const N=d.reduce((E,V)=>(E[V]=(f-h)*1e3+100*b+1,E),{...S,status_code_grouped:y});p.push({version:"v1",timestamp:h===0?F(i).toISOString():F(i+c).toISOString(),event:N})}):p.push({version:"v1",timestamp:h===0?F(i).toISOString():F(i+c).toISOString(),event:d.reduce((y,N)=>(y[N]=(f-h)*1e3+100*b+1,y),{...S})})}const m={start_ms:i,end_ms:a,granularity_ms:c,display:u?{[u]: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:p,meta:m}};v.ALL_STATUS_CODE_GROUPS=L,v.DEFAULT_REFRESH_INTERVAL=ie,v.INJECT_QUERY_PROVIDER=ae,v.MAX_ANALYTICS_REQUEST_RETRIES=ne,v.MetricCardSize=I,v.MetricCardType=w,v.MetricsConsumer=yr,v.MetricsProvider=Ze,v.STATUS_CODES_FAILED=P,v.STATUS_CODES_SUCCESS=Ie,v.mockExploreResponse=Se,v.mockExploreResponseFromCypress=hr,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,Ne){"use strict";const _e={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",_e);return{i18n:e,i18nT:re.i18nTComponent(e)}}const ne=2,L=["1XX","2XX","3XX","4XX","5XX"],P=["4XX","5XX"],Ie=["1XX","2XX","3XX"],ie=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,n,o,a,i;return e?!!((r=Object.keys(e))!=null&&r.length||(n=e.data)!=null&&n.length||(a=(o=e.data)==null?void 0:o.data)!=null&&a.length||!((i=e.data)!=null&&i.data)&&typeof e.data=="object"&&Object.keys(e==null?void 0:e.data).length):!1};function Re(e=t.ref({}),r,n,o=Te){const a=t.ref("PENDING");return t.watchEffect(()=>{const i=o(e.value);if(e.value&&i&&n.value){a.value="VALIDATING_HAS_DATA";return}if(e.value&&n.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&&i){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 x=Symbol("default"),K="status_code_grouped",le=(e,r,n,o,a)=>{e[r][n]||(e[r][n]={}),e[r][n][o]=a};function xe(e,r){var f;const n=((f=e.meta.metric_names)==null?void 0:f[0])||"",o=e.meta.start_ms,a=Object.keys(e.meta.display||{}),i=!!a.find(u=>u===K),c=a.find(u=>u!==K);return a.length>2||a.length>1&&!i?(console.error("Don't know how to work with provided dimensions:",a),{previous:{[x]:{[x]:0}},current:{[x]:{[x]:0}}}):e.data.reduce((u,l)=>{const s=l.event[n],d=c?l.event[c]:x,p=i?l.event[K]:x;return new Date(l.timestamp).getTime()===o&&r?le(u,"previous",d,p,s):le(u,"current",d,p,s),u},{previous:{},current:{}})}function Be(e){e.queryReady===void 0&&(e.queryReady=t.computed(()=>!0));const{i18n:r}=B.useI18n(),n=t.computed(()=>{var d,p;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,...(p=e.filter.value)!=null&&p.length?{filters:e.filter.value}:{},time_range:e.timeframe.value.v4Query(e.tz.value)}}),o=t.computed(()=>{var p,m,C,g;if(!((p=e.queryReady)!=null&&p.value))return null;const d=(m=e.filter)!=null&&m.value?JSON.stringify(e.filter.value):"";return`metric-fetcher-${e.timeframe.value.cacheKey()}-${(C=e.dimensions)==null?void 0:C.join("-")}-${(g=e.metrics.value)==null?void 0:g.join("-")}-${d}`}),{response:a,error:i,isValidating:c}=B.useRequest(()=>o.value,()=>e.queryFn({datasource:e.datasource.value,query:n.value},e.abortController??new AbortController),{refreshInterval:e.refreshInterval,revalidateOnFocus:!1,errorRetryCount:ne}),{state:f,swrvState:u}=Re(a,i,c),l=t.computed(()=>{var d,p,m,C,g,h,b;return!((p=(d=a.value)==null?void 0:d.data)!=null&&p.length)||!((C=(m=a.value)==null?void 0:m.meta)!=null&&C.display)||!((b=(h=(g=a.value)==null?void 0:g.meta)==null?void 0:h.metric_names)!=null&&b.length)?{current:{},previous:{}}:xe(a.value,e.withTrend.value)}),s=t.computed(()=>{var d,p,m;if(e.timeframe.value.key==="custom"){if(!((p=(d=a.value)==null?void 0:d.meta)!=null&&p.start_ms))return"";const{start_ms:C,end_ms:g}=a.value.meta;let h=(g-C)/(1e3*60*60*24);return e.withTrend.value&&(h/=2),r.t("trendRange.custom",{numDays:Math.round(h)})}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(()=>u.PENDING===f.value),hasError:t.computed(()=>u.ERROR===f.value),raw:a,mapped:l,trendRange:s}}const z=(e,r,n=x,o)=>(o??[x]).reduce((i,c)=>{const f=e[r][n];return f?i+(f[c]||0):i},0);function Ve(e){const{cardType:r,title:n,description:o,record:a,hasError:i,increaseIsBad:c,formatValueFn:f,trendRange:u}=e;return t.computed(()=>{let l=0,s=0;if(a!=null&&a.value)try{l=z(a.value,"current",e.lookupKey,e.sumGroupedValues),s=z(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:i.value,currentValue:l,previousValue:s,title:n.value,description:o,increaseIsBad:!!c,formatValueFn:f,trendRange:u==null?void 0:u.value}})}var U=new WeakMap,se=0;function De(e){if(!e.length)return"";for(var r="arg",n=0;n<e.length;++n){var o=void 0;e[n]===null||typeof e[n]!="object"&&typeof e[n]!="function"?typeof e[n]=="string"?o='"'+e[n]+'"':o=String(e[n]):U.has(e[n])?o=U.get(e[n]):(o=se,U.set(e[n],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 Z=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 n=this.serializeKey(r);return this.items.get(n)},e.prototype.set=function(r,n,o){var a=this.serializeKey(r),i=o||this.ttl,c=Date.now(),f={data:n,createdAt:c,expiresAt:i?c+i:1/0};this.dispatchExpire(i,f,a),this.items.set(a,f)},e.prototype.dispatchExpire=function(r,n,o){var a=this;r&&setTimeout(function(){var i=Date.now(),c=i>=n.expiresAt;c&&a.delete(o)},r)},e.prototype.delete=function(r){this.items.delete(r)},e}();function ze(){return typeof navigator.onLine<"u"?navigator.onLine:!0}function Ae(){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 X={isOnline:ze,isDocumentVisible:Ae,fetcher:qe};var R=function(){return R=Object.assign||function(e){for(var r,n=1,o=arguments.length;n<o;n++){r=arguments[n];for(var a in r)Object.prototype.hasOwnProperty.call(r,a)&&(e[a]=r[a])}return e},R.apply(this,arguments)},A=function(e,r,n,o){function a(i){return i instanceof n?i:new n(function(c){c(i)})}return new(n||(n=Promise))(function(i,c){function f(s){try{l(o.next(s))}catch(d){c(d)}}function u(s){try{l(o.throw(s))}catch(d){c(d)}}function l(s){s.done?i(s.value):a(s.value).then(f,u)}l((o=o.apply(e,r||[])).next())})},q=function(e,r){var n={label:0,sent:function(){if(i[0]&1)throw i[1];return i[1]},trys:[],ops:[]},o,a,i,c;return c={next:f(0),throw:f(1),return:f(2)},typeof Symbol=="function"&&(c[Symbol.iterator]=function(){return this}),c;function f(l){return function(s){return u([l,s])}}function u(l){if(o)throw new TypeError("Generator is already executing.");for(;n;)try{if(o=1,a&&(i=l[0]&2?a.return:l[0]?a.throw||((i=a.return)&&i.call(a),0):a.next)&&!(i=i.call(a,l[1])).done)return i;switch(a=0,i&&(l=[l[0]&2,i.value]),l[0]){case 0:case 1:i=l;break;case 4:return n.label++,{value:l[1],done:!1};case 5:n.label++,a=l[1],l=[0];continue;case 7:l=n.ops.pop(),n.trys.pop();continue;default:if(i=n.trys,!(i=i.length>0&&i[i.length-1])&&(l[0]===6||l[0]===2)){n=0;continue}if(l[0]===3&&(!i||l[1]>i[0]&&l[1]<i[3])){n.label=l[1];break}if(l[0]===6&&n.label<i[1]){n.label=i[1],i=l;break}if(i&&n.label<i[2]){n.label=i[2],n.ops.push(l);break}i[2]&&n.ops.pop(),n.trys.pop();continue}l=r.call(e,n)}catch(s){l=[6,s],a=0}finally{o=i=0}if(l[0]&5)throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}},$e=function(e,r){var n=typeof Symbol=="function"&&e[Symbol.iterator];if(!n)return e;var o=n.call(e),a,i=[],c;try{for(;(r===void 0||r-- >0)&&!(a=o.next()).done;)i.push(a.value)}catch(f){c={error:f}}finally{try{a&&!a.done&&(n=o.return)&&n.call(o)}finally{if(c)throw c.error}}return i},Oe=function(e,r,n){if(n||arguments.length===2)for(var o=0,a=r.length,i;o<a;o++)(i||!(o in r))&&(i||(i=Array.prototype.slice.call(r,0,o)),i[o]=r[o]);return e.concat(i||Array.prototype.slice.call(r))},ce=new Z,O=new Z,G=new Z,de={cache:ce,refreshInterval:0,ttl:0,serverTTL:1e3,dedupingInterval:2e3,revalidateOnFocus:!0,revalidateDebounce:0,shouldRetryOnError:!0,errorRetryInterval:5e3,errorRetryCount:5,fetcher:X.fetcher,isOnline:X.isOnline,isDocumentVisible:X.isDocumentVisible};function Me(e,r,n){var o=O.get(e);if(o)o.data.push(r);else{var a=5e3;O.set(e,[r],n>0?n+a:n)}}function Fe(e,r,n){if(n.isDocumentVisible()&&!(n.errorRetryCount!==void 0&&r>n.errorRetryCount)){var o=Math.min(r||0,n.errorRetryCount),a=o*n.errorRetryInterval;setTimeout(function(){e(null,{errorRetryCount:o+1,shouldRetryOnError:!0})},a)}}var ue=function(e,r,n,o){return n===void 0&&(n=ce),o===void 0&&(o=de.ttl),A(void 0,void 0,void 0,function(){var a,i,c,f,u,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 f=d.sent(),i=f,[3,4];case 4:return[3,6];case 5:a=r,d.label=6;case 6:if(c=!1,u={data:a,error:i,isValidating:c},typeof a<"u")try{n.set(e,u,o)}catch(p){console.error("swrv(mutate): failed to set cache",p)}return l=O.get(e),l&&l.data.length&&(s=l.data.filter(function(p){return p.key===e}),s.forEach(function(p,m){typeof u.data<"u"&&(p.data=u.data),p.error=u.error,p.isValidating=u.isValidating;var C=m===s.length-1;C||delete s[m]}),s=s.filter(Boolean)),[2,u]}})})};function He(){for(var e=this,r=[],n=0;n<arguments.length;n++)r[n]=arguments[n];var o,a,i=R({},de),c=!1,f=!1,u=t.getCurrentInstance(),l=(u==null?void 0:u.proxy)||u;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&&(i=R(R({},i),r[2]));var d=s?i.serverTTL:i.ttl,p=typeof o=="function"?o:t.ref(o);typeof a>"u"&&(a=i.fetcher);var m=null;m||(m=t.reactive({data:void 0,error:void 0,isValidating:!0,key:null}));var C=function(S,y){return A(e,void 0,void 0,function(){var N,E,V,$,W,ve,J,ke=this;return q(this,function(ee){switch(ee.label){case 0:return N=m.data===void 0,E=p.value,E?(V=i.cache.get(E),$=V&&V.data,m.isValidating=!0,$&&(m.data=$.data,m.error=$.error),W=S||a,!W||!i.isDocumentVisible()&&!N||(y==null?void 0:y.forceRevalidate)!==void 0&&!(y!=null&&y.forceRevalidate)?(m.isValidating=!1,[2]):V&&(ve=!!(Date.now()-V.createdAt>=i.dedupingInterval||y!=null&&y.forceRevalidate),!ve)?(m.isValidating=!1,[2]):(J=function(){return A(ke,void 0,void 0,function(){var D,be,te,Ee;return q(this,function(H){switch(H.label){case 0:return D=G.get(E),D?[3,2]:(be=Array.isArray(E)?E:[E],te=W.apply(void 0,Oe([],$e(be),!1)),G.set(E,te,i.dedupingInterval),[4,ue(E,te,i.cache,d)]);case 1:return H.sent(),[3,4];case 2:return[4,ue(E,D.data,i.cache,d)];case 3:H.sent(),H.label=4;case 4:return m.isValidating=!1,G.delete(E),m.error!==void 0&&(Ee=!c&&i.shouldRetryOnError&&(y?y.shouldRetryOnError:!0),Ee&&Fe(C,y?y.errorRetryCount:1,i)),[2]}})})},$&&i.revalidateDebounce?(setTimeout(function(){return A(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]}})})},i.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 A(e,void 0,void 0,function(){return q(this,function(S){return[2,C(null,{shouldRetryOnError:!1})]})})},h=null;t.onMounted(function(){var S=function(){return A(e,void 0,void 0,function(){return q(this,function(y){switch(y.label){case 0:return!m.error&&i.isOnline()?[4,C()]:[3,2];case 1:return y.sent(),[3,3];case 2:h&&clearTimeout(h),y.label=3;case 3:return i.refreshInterval&&!c&&(h=setTimeout(S,i.refreshInterval)),[2]}})})};i.refreshInterval&&(h=setTimeout(S,i.refreshInterval)),i.revalidateOnFocus&&(document.addEventListener("visibilitychange",g,!1),window.addEventListener("focus",g,!1))}),t.onUnmounted(function(){c=!0,h&&clearTimeout(h),i.revalidateOnFocus&&(document.removeEventListener("visibilitychange",g,!1),window.removeEventListener("focus",g,!1));var S=O.get(p.value);S&&(S.data=S.data.filter(function(y){return y!==m}))});try{t.watch(p,function(S){t.isReadonly(p)||(p.value=S),m.key=S,m.isValidating=!!S,Me(p.value,m,d),!s&&!f&&p.value&&C(),f=!1},{immediate:!0})}catch{}var b=R(R({},t.toRefs(m)),{mutate:function(S,y){return C(S,R(R({},y),{forceRevalidate:!0}))}});return b}function Pe(e){return e!==null&&typeof e=="object"&&typeof e.then=="function"}function Ke(e,r,n){const{data:o,error:a,isValidating:i,mutate:c}=He(e,r,{revalidateDebounce:500,revalidateOnFocus:!1,dedupingInterval:100,...n});return{data:t.computed(()=>o.value),response:o,error:a,isValidating:i,revalidate:c}}const B={useI18n:we,useMetricCardBuilder:Ve,useMetricFetcher:Be,useRequest:Ke},fe=Symbol("METRICS_PROVIDER_KEY"),Ue=e=>{const{datasource:r,dimension:n,dimensionFilterValue:o,additionalFilter:a,queryReady:i,timeframe:c,tz:f,hasTrendAccess:u,refreshInterval:l,abortController:s,queryFn:d,averageLatencies:p}=e;if(o&&!n)throw new Error("Must provide a dimension if filtering by a value");const m=!!(n&&o),C=!!(n&&!o),g=t.computed(()=>{const N=[];return m&&N.push({dimension:n,type:"in",values:[o]}),a.value&&N.push(..._.stripUnknownFilters(r.value,a.value)),N}),h={datasource:r,metrics:t.ref(["request_count"]),dimensions:[...n&&!m?[n]:[],"status_code_grouped"],filter:g,queryReady:i,timeframe:c,tz:f,withTrend:t.computed(()=>u.value&&!C),refreshInterval:l,queryFn:d,abortController:s},b={datasource:r,metrics:t.computed(()=>[p.value?"response_latency_average":"response_latency_p99"]),...n&&!m?{dimensions:[n]}:{},filter:g,queryReady:i,timeframe:c,tz:f,withTrend:t.computed(()=>u.value&&!C),refreshInterval:l,queryFn:d,abortController:s},S=B.useMetricFetcher(h),y=B.useMetricFetcher(b);return{trafficData:S,latencyData:y}},Ze=t.defineComponent({__name:"MetricsProvider",props:{datasource:{default:void 0},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:ie},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 n=t.inject(ae);let o;n?o=n.queryFn:(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")));const a=Ne.useAnalyticsConfigStore(),i=t.computed(()=>!0),c=t.computed(()=>!a.loading&&r.queryReady),f=t.computed(()=>r.tz?r.tz:new Intl.DateTimeFormat().resolvedOptions().timeZone),u=t.computed(()=>r.datasource?r.datasource:"basic"),l=t.computed(()=>r.overrideTimeframe||_.TimePeriods.get(_.TimeframeKeys.SEVEN_DAY)),s=t.computed(()=>!r.percentileLatency),{trafficData:d,latencyData:p}=Ue({datasource:u,dimension:r.dimension,dimensionFilterValue:r.filterValue,additionalFilter:t.toRef(r,"additionalFilter"),queryReady:c,timeframe:l,tz:f,hasTrendAccess:i,refreshInterval:r.refreshInterval,queryFn:o,averageLatencies:s,abortController:r.abortController});return t.provide(fe,{data:{traffic:d,latency:p},description:t.toRef(()=>r.description),containerTitle:t.toRef(()=>r.containerTitle),hasTrendAccess:i,longCardTitles:r.longCardTitles,averageLatencies:s}),(m,C)=>t.renderSlot(m.$slots,"default",{hasTrendAccess:i.value,timeframe:l.value})}});function Xe(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:",",p=[],m=Math.round(l).toString().split("");return m.reverse().forEach(function(C,g){g&&g%3===0&&p.push(d),p.push(C)}),p.reverse().join("")}function n(l,s,d){var p=l/s,m=d.round?"round":"floor";return d.decimal===!1?(l=Math[m](p),l.toString()):(d.precision?l=p:l=p<10?Math[m](p*10)/10:Math[m](p),l=l.toString(),typeof d.decimal=="string"&&(l=l.replace(".",d.decimal)),l)}var o=1e3,a=1e4,i=1e6,c=1e9,f=1e12;function u(l,s){var d;s=s||{};var p=l<0;p&&(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(n(l,1,s),s):l<i?d=n(l,o,s)+"k":l<c?d=n(l,i,s)+"m":l<f?d=r(n(l,c,s),s)+"b":d=r(n(l,f,s),s)+"t",p&&(d="-"+d),s.capital&&(d=d.toUpperCase()),s.prefix&&(d=s.prefix+d),s.suffix&&(d=d+s.suffix),d}u.addCommas=r,e.exports=u})()})(pe);var Ge=pe.exports;const je=Xe(Ge);var w=(e=>(e.GENERIC_COUNT="GenericCount",e.TRAFFIC="Traffic",e.ERROR_RATE="ErrorRate",e.LATENCY="Latency",e))(w||{}),I=(e=>(e.Small="sm",e.Medium="md",e.Large="lg",e.ExtraLarge="xl",e))(I||{});const k="24px",T=(e,r)=>{const n=e.__vccOpts||e;for(const[o,a]of r)n[o]=a;return n},Ye=e=>(t.pushScopeId("data-v-c017eab7"),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(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,""),n=Number(r);if(n&&!isNaN(n)&&Number.isInteger(n)&&n>0)return!0}return!1}},as:{type:String,required:!1,default:"span"}},setup(e){const r=e,n=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,""),i=Number(a);if(i&&!isNaN(i)&&Number.isInteger(i)&&i>0)return`${i}px`}return k}),o=t.computed(()=>({boxSizing:"border-box",color:r.color,display:r.display,flexShrink:"0",height:n.value,lineHeight:"0",width:n.value}));return(a,i)=>(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"]))}}),[["__scopeId","data-v-c017eab7"]]),tt=e=>(t.pushScopeId("data-v-68742da1"),e=e(),t.popScopeId(),e),rt=["aria-hidden"],nt={key:0,"data-testid":"kui-icon-svg-title"},it=tt(()=>t.createElementVNode("path",{d:"M4 17V14H20V17H4ZM4 10V7H20V10H4Z",fill:"currentColor"},null,-1)),at=T(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,""),n=Number(r);if(n&&!isNaN(n)&&Number.isInteger(n)&&n>0)return!0}return!1}},as:{type:String,required:!1,default:"span"}},setup(e){const r=e,n=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,""),i=Number(a);if(i&&!isNaN(i)&&Number.isInteger(i)&&i>0)return`${i}px`}return k}),o=t.computed(()=>({boxSizing:"border-box",color:r.color,display:r.display,flexShrink:"0",height:n.value,lineHeight:"0",width:n.value}));return(a,i)=>(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),it],8,rt))]),_:1},8,["aria-hidden","style"]))}}),[["__scopeId","data-v-68742da1"]]),ot=e=>(t.pushScopeId("data-v-e4bfb72f"),e=e(),t.popScopeId(),e),lt=["aria-hidden"],st={key:0,"data-testid":"kui-icon-svg-title"},ct=ot(()=>t.createElementVNode("path",{d:"M5 11V9H15V11H5Z",fill:"currentColor"},null,-1)),me=T(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,""),n=Number(r);if(n&&!isNaN(n)&&Number.isInteger(n)&&n>0)return!0}return!1}},as:{type:String,required:!1,default:"span"}},setup(e){const r=e,n=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,""),i=Number(a);if(i&&!isNaN(i)&&Number.isInteger(i)&&i>0)return`${i}px`}return k}),o=t.computed(()=>({boxSizing:"border-box",color:r.color,display:r.display,flexShrink:"0",height:n.value,lineHeight:"0",width:n.value}));return(a,i)=>(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",st,t.toDisplayString(e.title),1)):t.createCommentVNode("",!0),ct],8,lt))]),_:1},8,["aria-hidden","style"]))}}),[["__scopeId","data-v-e4bfb72f"]]),dt=e=>(t.pushScopeId("data-v-b700bc86"),e=e(),t.popScopeId(),e),ut=["aria-hidden"],ft={key:0,"data-testid":"kui-icon-svg-title"},pt=dt(()=>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)),mt=T(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,""),n=Number(r);if(n&&!isNaN(n)&&Number.isInteger(n)&&n>0)return!0}return!1}},as:{type:String,required:!1,default:"span"}},setup(e){const r=e,n=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,""),i=Number(a);if(i&&!isNaN(i)&&Number.isInteger(i)&&i>0)return`${i}px`}return k}),o=t.computed(()=>({boxSizing:"border-box",color:r.color,display:r.display,flexShrink:"0",height:n.value,lineHeight:"0",width:n.value}));return(a,i)=>(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",ft,t.toDisplayString(e.title),1)):t.createCommentVNode("",!0),pt],8,ut))]),_:1},8,["aria-hidden","style"]))}}),[["__scopeId","data-v-b700bc86"]]),gt=e=>(t.pushScopeId("data-v-f152798a"),e=e(),t.popScopeId(),e),yt=["aria-hidden"],ht={key:0,"data-testid":"kui-icon-svg-title"},Ct=gt(()=>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)),St=T(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,""),n=Number(r);if(n&&!isNaN(n)&&Number.isInteger(n)&&n>0)return!0}return!1}},as:{type:String,required:!1,default:"span"}},setup(e){const r=e,n=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,""),i=Number(a);if(i&&!isNaN(i)&&Number.isInteger(i)&&i>0)return`${i}px`}return k}),o=t.computed(()=>({boxSizing:"border-box",color:r.color,display:r.display,flexShrink:"0",height:n.value,lineHeight:"0",width:n.value}));return(a,i)=>(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",ht,t.toDisplayString(e.title),1)):t.createCommentVNode("",!0),Ct],8,yt))]),_:1},8,["aria-hidden","style"]))}}),[["__scopeId","data-v-f152798a"]]),vt=e=>(t.pushScopeId("data-v-218c4e42"),e=e(),t.popScopeId(),e),kt=["aria-hidden"],bt={key:0,"data-testid":"kui-icon-svg-title"},Et=vt(()=>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)),Nt=T(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,""),n=Number(r);if(n&&!isNaN(n)&&Number.isInteger(n)&&n>0)return!0}return!1}},as:{type:String,required:!1,default:"span"}},setup(e){const r=e,n=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,""),i=Number(a);if(i&&!isNaN(i)&&Number.isInteger(i)&&i>0)return`${i}px`}return k}),o=t.computed(()=>({boxSizing:"border-box",color:r.color,display:r.display,flexShrink:"0",height:n.value,lineHeight:"0",width:n.value}));return(a,i)=>(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",bt,t.toDisplayString(e.title),1)):t.createCommentVNode("",!0),Et],8,kt))]),_:1},8,["aria-hidden","style"]))}}),[["__scopeId","data-v-218c4e42"]]),_t=e=>(t.pushScopeId("data-v-decff498"),e=e(),t.popScopeId(),e),wt=["aria-hidden"],It={key:0,"data-testid":"kui-icon-svg-title"},Tt=_t(()=>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)),Rt=T(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,""),n=Number(r);if(n&&!isNaN(n)&&Number.isInteger(n)&&n>0)return!0}return!1}},as:{type:String,required:!1,default:"span"}},setup(e){const r=e,n=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,""),i=Number(a);if(i&&!isNaN(i)&&Number.isInteger(i)&&i>0)return`${i}px`}return k}),o=t.computed(()=>({boxSizing:"border-box",color:r.color,display:r.display,flexShrink:"0",height:n.value,lineHeight:"0",width:n.value}));return(a,i)=>(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",It,t.toDisplayString(e.title),1)):t.createCommentVNode("",!0),Tt],8,wt))]),_:1},8,["aria-hidden","style"]))}}),[["__scopeId","data-v-decff498"]]),xt=e=>(t.pushScopeId("data-v-065a8b56"),e=e(),t.popScopeId(),e),Bt=["aria-hidden"],Vt={key:0,"data-testid":"kui-icon-svg-title"},Dt=xt(()=>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)),Lt=T(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,""),n=Number(r);if(n&&!isNaN(n)&&Number.isInteger(n)&&n>0)return!0}return!1}},as:{type:String,required:!1,default:"span"}},setup(e){const r=e,n=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,""),i=Number(a);if(i&&!isNaN(i)&&Number.isInteger(i)&&i>0)return`${i}px`}return k}),o=t.computed(()=>({boxSizing:"border-box",color:r.color,display:r.display,flexShrink:"0",height:n.value,lineHeight:"0",width:n.value}));return(a,i)=>(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",Vt,t.toDisplayString(e.title),1)):t.createCommentVNode("",!0),Dt],8,Bt))]),_:1},8,["aria-hidden","style"]))}}),[["__scopeId","data-v-065a8b56"]]),zt=e=>(t.pushScopeId("data-v-2776a8e5"),e=e(),t.popScopeId(),e),At=["aria-hidden"],qt={key:0,"data-testid":"kui-icon-svg-title"},$t=zt(()=>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)),Ot=T(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,""),n=Number(r);if(n&&!isNaN(n)&&Number.isInteger(n)&&n>0)return!0}return!1}},as:{type:String,required:!1,default:"span"}},setup(e){const r=e,n=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,""),i=Number(a);if(i&&!isNaN(i)&&Number.isInteger(i)&&i>0)return`${i}px`}return k}),o=t.computed(()=>({boxSizing:"border-box",color:r.color,display:r.display,flexShrink:"0",height:n.value,lineHeight:"0",width:n.value}));return(a,i)=>(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",qt,t.toDisplayString(e.title),1)):t.createCommentVNode("",!0),$t],8,At))]),_:1},8,["aria-hidden","style"]))}}),[["__scopeId","data-v-2776a8e5"]]),Mt=e=>(t.pushScopeId("data-v-1a0beec9"),e=e(),t.popScopeId(),e),Ft=["aria-hidden"],Ht={key:0,"data-testid":"kui-icon-svg-title"},Pt=Mt(()=>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)),ge=T(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,""),n=Number(r);if(n&&!isNaN(n)&&Number.isInteger(n)&&n>0)return!0}return!1}},as:{type:String,required:!1,default:"span"}},setup(e){const r=e,n=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,""),i=Number(a);if(i&&!isNaN(i)&&Number.isInteger(i)&&i>0)return`${i}px`}return k}),o=t.computed(()=>({boxSizing:"border-box",color:r.color,display:r.display,flexShrink:"0",height:n.value,lineHeight:"0",width:n.value}));return(a,i)=>(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",Ht,t.toDisplayString(e.title),1)):t.createCommentVNode("",!0),Pt],8,Ft))]),_:1},8,["aria-hidden","style"]))}}),[["__scopeId","data-v-1a0beec9"]]),j=2,ye=j+2,Kt=(e,r,n=!1)=>{let o=!r||Number(e.toFixed(ye))===0?0:Number(e.toFixed(ye))>0?1:-1;return n&&(o*=-1),o},Ut=(e,r,n)=>r?`${Math.abs(e*100).toFixed(j)}%`:n,Zt=(e,r)=>r===0?0:e/r-1,Xt=(e,r=!1)=>(r&&(e*=-1),e>0?Rt:e<0?Nt:me),Gt="#ad000e",Y="#6c7489",he="#52596e",jt="#007d60",M="16px",Yt="20px",Qt={class:"metricscard"},Wt={key:0,class:"metricscard-description"},Jt={class:"metricscard-valuetrend"},er={key:0,class:"metricscard-error"},tr={key:2,class:"metricscard-trend"},rr={"data-testid":"metric-trend-change"},nr={key:0,class:"metricscard-trend-range"},ir=t.defineComponent({__name:"MetricsCard",props:{cardType:{type:String,required:!0,default:w.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:()=>I.Large},hasContainerTitle:{type:Boolean,required:!1,default:!1},titleTag:{type:String,default:"span"}},setup(e){const r=new Map([[w.GENERIC_COUNT,Lt],[w.TRAFFIC,et],[w.ERROR_RATE,Ot],[w.LATENCY,St]]),n=e,o=f=>{const u={red:`var(--kui-color-text-danger-strong, ${Gt})`,green:`var(--kui-color-text-success, ${jt})`,grey:`var(--kui-color-text-neutral-strong, ${he})`};return f>0?u.green:f<0?u.red:u.grey},a=f=>f>0?"positive":f<0?"negative":"neutral",i=[I.Medium,I.Large].includes(n.cardSize),c=[I.Small].includes(n.cardSize);return(f,u)=>{const l=t.resolveComponent("KTooltip");return t.openBlock(),t.createElementBlock("div",Qt,[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:`var(--kui-color-text-neutral, ${t.unref(Y)})`,size:t.unref(M)},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(mt),{color:`var(--kui-color-text-neutral, ${t.unref(Y)})`,size:t.unref(M)},null,8,["color","size"])]),_:1},8,["text"])):t.createCommentVNode("",!0)],2),e.description&&t.unref(i)?(t.openBlock(),t.createElementBlock("div",Wt,[t.createElementVNode("span",null,t.toDisplayString(e.description),1)])):t.createCommentVNode("",!0),t.createElementVNode("div",Jt,[e.hasError?(t.openBlock(),t.createElementBlock("div",er,[t.createVNode(t.unref(ge),{color:`var(--kui-color-text-neutral, ${t.unref(Y)})`,size:t.unref(Yt)},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(i)?(t.openBlock(),t.createElementBlock("div",tr,[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(M)},null,8,["color","size"])):(t.openBlock(),t.createBlock(t.unref(at),{key:1,color:`var(--kui-color-text-neutral-strong, ${t.unref(he)})`,size:t.unref(M)},null,8,["color","size"])),t.createElementVNode("div",rr,t.toDisplayString(e.metricChange),1)],2),e.trendRange?(t.openBlock(),t.createElementBlock("div",nr,t.toDisplayString(e.trendRange),1)):t.createCommentVNode("",!0)])):t.createCommentVNode("",!0)])])}}}),Q=(e,r)=>{const n=e.__vccOpts||e;for(const[o,a]of r)n[o]=a;return n},ar=Q(ir,[["__scopeId","data-v-43293fa2"]]),or={},lr={class:"loading-tabs"};function sr(e,r){const n=t.resolveComponent("KSkeletonBox");return t.openBlock(),t.createElementBlock("div",lr,[t.createVNode(n,{width:"100"}),t.createVNode(n,{width:"75"})])}const cr=Q(or,[["render",sr],["__scopeId","data-v-f7eb9c40"]]),dr={key:0,class:"container-title"},ur={key:0,class:"container-description"},fr={key:1,class:"error-display"},pr={key:0,class:"error-display-message"},mr={key:2,class:"cards-wrapper"},gr=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:()=>I.Large},containerTitle:{type:String,required:!1,default:""},containerDescription:{type:String,required:!1,default:""}},setup(e){const r=e,n=t.computed(()=>r.cards.every(a=>(a==null?void 0:a.hasError)===!0)),o=a=>{const i=Zt(a.currentValue,a.previousValue)||0,c=Kt(i,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(i):Ut(i,r.hasTrendAccess,r.fallbackDisplayText),changePolarity:c,trendIcon:Xt(c,a.increaseIsBad),cardSize:r.cardSize,hasContainerTitle:!!r.containerTitle}};return(a,i)=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["kong-ui-public-metric-card-container",e.cardSize])},[r.containerTitle?(t.openBlock(),t.createElementBlock("div",dr,[t.createTextVNode(t.toDisplayString(r.containerTitle)+" ",1),r.containerDescription?(t.openBlock(),t.createElementBlock("div",ur,t.toDisplayString(r.containerDescription),1)):t.createCommentVNode("",!0)])):t.createCommentVNode("",!0),n.value?(t.openBlock(),t.createElementBlock("div",fr,[t.createVNode(t.unref(ge),{class:"error-display-icon"}),e.errorMessage?(t.openBlock(),t.createElementBlock("div",pr,t.toDisplayString(e.errorMessage),1)):t.createCommentVNode("",!0)])):(t.openBlock(),t.createElementBlock("div",mr,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(e.cards,(c,f)=>(t.openBlock(),t.createElementBlock(t.Fragment,null,[e.loading?(t.openBlock(),t.createBlock(cr,{key:`skeleton-${f}`,class:t.normalizeClass(e.cardSize===t.unref(I).Small?"loading-tabs-small":"loading-tabs-large")},null,8,["class"])):(t.openBlock(),t.createBlock(ar,t.mergeProps({key:f,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-f8f8341b"]]),yr=t.defineComponent({__name:"MetricsConsumer",props:{lookupKey:{default:void 0},cardSize:{default:I.Large},cardToDisplay:{default:void 0}},setup(e){const r=e,n=t.inject(fe);if(!n)throw new Error("MetricsConsumer must be nested inside a MetricsProvider instance.");const{traffic:o,latency:a}=n.data,{i18n:i}=B.useI18n(),c=B.useMetricCardBuilder({cardType:w.TRAFFIC,title:t.computed(()=>n.longCardTitles?i.t("metricCard.long.traffic"):i.t("metricCard.short.traffic")),record:o.mapped,hasError:o.hasError,lookupKey:r.lookupKey,sumGroupedValues:L,trendRange:o.trendRange}),f=g=>`${g.toFixed(j)}%`,u=t.computed(()=>{const g=o.mapped.value,h=z(g,"current",r.lookupKey,P),b=z(g,"current",r.lookupKey,L),S=h/b*100||0,y=z(g,"previous",r.lookupKey,P),N=z(g,"previous",r.lookupKey,L),E=y/N*100||0;return{cardType:w.ERROR_RATE,hasError:o.hasError.value,currentValue:S,previousValue:E,formatValueFn:f,title:n.longCardTitles?i.t("metricCard.long.errorRate"):i.t("metricCard.short.errorRate"),increaseIsBad:!0,trendRange:o.trendRange.value}}),l=g=>`${g}ms`,s=B.useMetricCardBuilder({cardType:w.LATENCY,title:t.computed(()=>{const{longCardTitles:g,averageLatencies:h}=n,b=h.value?"averageLatency":"p99Latency";return g?i.t(`metricCard.long.${b}`):i.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"?[u.value]:r.cardToDisplay==="LATENCY"?[s.value]:[c.value,u.value,s.value]),p=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:n.containerTitle.value,containerDescription:n.description.value,loading:p.value,hasTrendAccess:n.hasTrendAccess.value,fallbackDisplayText:i.t("general.notAvailable"),cardSize:n.containerTitle.value?I.Medium:r.cardSize,hideTitle:!0})),C=t.computed(()=>({loading:m.value.loading,trafficCard:c.value,errorRateCard:u.value,latencyCard:s.value,errorRateFormatted:f(u.value.currentValue),latencyFormatted:l(s.value.currentValue)}));return(g,h)=>t.renderSlot(g.$slots,"default",{cardValues:C.value},()=>[t.createVNode(gr,t.normalizeProps(t.guardReactiveProps(m.value)),null,16)])}}),F=e=>new Date(e),hr=(e,r)=>{const n=e.body;e.reply({statusCode:200,body:Se(n,r)})},Ce=e=>e.reduce((r,n)=>(r[n]={name:n},r),{}),Se=(e,r)=>{var C,g;const n=_.TimePeriods.get(_.TimeframeKeys.ONE_DAY),o=e.granularity==="trend"?new _.DeltaQueryTime(n):new _.UnaryQueryTime(n),a=o.endMs(),i=o.startMs(),c=o.granularityMs(),f=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 u=(e.dimensions??[]).find(h=>h!=="time"),l=(r==null?void 0:r.dimensionNames)??[],s=Math.max(l.length,1),d=e.metrics||[],p=[];for(let h=0;h<f;h++)for(let b=0;b<s;b++){const S=u?{[u]:l[b]}:{};(C=e.dimensions)!=null&&C.includes("status_code_grouped")?L.forEach(y=>{const N=d.reduce((E,V)=>(E[V]=(f-h)*1e3+100*b+1,E),{...S,status_code_grouped:y});p.push({version:"v1",timestamp:h===0?F(i).toISOString():F(i+c).toISOString(),event:N})}):p.push({version:"v1",timestamp:h===0?F(i).toISOString():F(i+c).toISOString(),event:d.reduce((y,N)=>(y[N]=(f-h)*1e3+100*b+1,y),{...S})})}const m={start_ms:i,end_ms:a,granularity_ms:c,display:u?{[u]: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:p,meta:m}};v.ALL_STATUS_CODE_GROUPS=L,v.DEFAULT_REFRESH_INTERVAL=ie,v.INJECT_QUERY_PROVIDER=ae,v.MAX_ANALYTICS_REQUEST_RETRIES=ne,v.MetricCardSize=I,v.MetricCardType=w,v.MetricsConsumer=yr,v.MetricsProvider=Ze,v.STATUS_CODES_FAILED=P,v.STATUS_CODES_SUCCESS=Ie,v.mockExploreResponse=Se,v.mockExploreResponseFromCypress=hr,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": "8.2.0",
3
+ "version": "8.3.0",
4
4
  "type": "module",
5
5
  "main": "./dist/vitals-metric-provider.umd.js",
6
6
  "module": "./dist/vitals-metric-provider.es.js",