@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-
|
|
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,
|
|
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()}-${(
|
|
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,
|
|
144
|
-
return !((f = (u = n.value) == null ? void 0 : u.data) != null && f.length) || !((
|
|
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:
|
|
151
|
-
let C = (m -
|
|
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
|
|
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
|
|
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 =
|
|
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
|
|
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
|
|
443
|
-
|
|
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
|
|
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 =
|
|
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,
|
|
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] : (
|
|
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 && (
|
|
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(
|
|
534
|
-
return [2,
|
|
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
|
|
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,
|
|
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(
|
|
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(
|
|
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
|
|
562
|
-
|
|
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(
|
|
568
|
-
Xe(f) || (f.value =
|
|
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(
|
|
575
|
-
return S
|
|
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),
|
|
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 && !
|
|
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 && !
|
|
664
|
+
withTrend: g(() => d.value && !b),
|
|
665
665
|
refreshInterval: o,
|
|
666
666
|
queryFn: u,
|
|
667
667
|
abortController: s
|
|
668
|
-
},
|
|
668
|
+
}, S = K.useMetricFetcher(C), h = K.useMetricFetcher(I);
|
|
669
669
|
return {
|
|
670
|
-
trafficData:
|
|
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,
|
|
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(
|
|
742
|
-
m && m % 3 === 0 && f.push(u), f.push(
|
|
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
|
-
},
|
|
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)),
|
|
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
|
-
|
|
1463
|
+
br
|
|
1464
1464
|
], 8, hr))
|
|
1465
1465
|
]),
|
|
1466
1466
|
_: 1
|
|
1467
1467
|
}, 8, ["aria-hidden", "style"]));
|
|
1468
1468
|
}
|
|
1469
|
-
}), _r = /* @__PURE__ */ D(
|
|
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-
|
|
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),
|
|
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:
|
|
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
|
-
})),
|
|
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:
|
|
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),
|
|
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
|
|
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
|
|
2134
|
-
(
|
|
2135
|
-
const q = u.reduce((x, B) => (x[B] = (c - C) * 1e3 + 100 * I + 1, x), { ...
|
|
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), { ...
|
|
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
|
-
|
|
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
|
-
|
|
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"})});
|