@kong-ui-public/analytics-metric-provider 11.0.3-pr.2637.f703f4556.0 → 11.0.3-pr.2686.1393fc7a1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,4 @@
1
- import { ref as Y, watchEffect as ke, computed as g, getCurrentInstance as Me, reactive as Fe, onMounted as xe, onUnmounted as qe, watch as Ue, isReadonly as Pe, toRefs as $e, defineComponent as W, inject as Ce, toRef as G, provide as ze, renderSlot as Se, resolveComponent as Ie, createElementBlock as C, openBlock as R, normalizeClass as z, createElementVNode as q, createCommentVNode as V, createBlock as U, unref as E, resolveDynamicComponent as re, withCtx as me, createTextVNode as Ae, toDisplayString as w, createVNode as F, Fragment as ye, renderList as Ke, mergeProps as Be, normalizeProps as Xe, guardReactiveProps as Ge } from "vue";
1
+ import { ref as Y, watchEffect as ke, computed as p, getCurrentInstance as Me, reactive as Fe, onMounted as xe, onUnmounted as qe, watch as Ue, isReadonly as Pe, toRefs as $e, defineComponent as W, inject as Ce, toRef as G, provide as ze, renderSlot as Se, resolveComponent as Ie, createElementBlock as S, openBlock as T, normalizeClass as z, createElementVNode as q, createCommentVNode as V, createBlock as U, unref as C, resolveDynamicComponent as re, withCtx as me, createTextVNode as Ae, toDisplayString as w, createVNode as F, Fragment as ge, renderList as Ke, mergeProps as Be, normalizeProps as Xe, guardReactiveProps as Ge } from "vue";
2
2
  import { stripUnknownFilters as je, queryableExploreDimensions as He } from "@kong-ui-public/analytics-utilities";
3
3
  import { createI18n as Ye, i18nTComponent as Qe } from "@kong-ui-public/i18n";
4
4
  import "axios";
@@ -55,20 +55,20 @@ function cr() {
55
55
  // Translation component <i18n-t>
56
56
  };
57
57
  }
58
- const dr = 2, B = ["1XX", "2XX", "3XX", "4XX", "5XX"], ge = ["4XX", "5XX"], yt = ["1XX", "2XX", "3XX"], fr = 30 * 1e3, vr = "analytics-query-provider";
58
+ const dr = 2, B = ["1XX", "2XX", "3XX", "4XX", "5XX"], ye = ["4XX", "5XX"], mt = ["1XX", "2XX", "3XX"], fr = 30 * 1e3, vr = "analytics-query-provider";
59
59
  var we = /* @__PURE__ */ ((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))(we || {});
60
60
  const mr = (e) => {
61
- var r, t, i, a, n;
61
+ var r, t, o, a, n;
62
62
  return e ? !!// TODO: revisit: currently only the first check ever matters?
63
- ((r = Object.keys(e)) != null && r.length || (t = e.data) != null && t.length || (a = (i = e.data) == null ? void 0 : i.data) != null && a.length || !((n = e.data) != null && n.data) && typeof e.data == "object" && Object.keys(e == null ? void 0 : e.data).length) : !1;
63
+ ((r = Object.keys(e)) != null && r.length || (t = e.data) != null && t.length || (a = (o = e.data) == null ? void 0 : o.data) != null && a.length || !((n = e.data) != null && n.data) && typeof e.data == "object" && Object.keys(e == null ? void 0 : e.data).length) : !1;
64
64
  };
65
- function yr(e = Y({}), r, t, i = mr) {
65
+ function gr(e = Y({}), r, t, o = mr) {
66
66
  const a = Y(
67
67
  "PENDING"
68
68
  /* PENDING */
69
69
  );
70
70
  return ke(() => {
71
- const n = i(e.value);
71
+ const n = o(e.value);
72
72
  if (e.value && n && t.value) {
73
73
  a.value = "VALIDATING_HAS_DATA";
74
74
  return;
@@ -99,91 +99,98 @@ function yr(e = Y({}), r, t, i = mr) {
99
99
  swrvState: we
100
100
  };
101
101
  }
102
- const L = Symbol("default"), te = "status_code_grouped", he = (e, r, t, i, a) => {
103
- e[r][t] || (e[r][t] = {}), e[r][t][i] = a;
102
+ const L = Symbol("default"), te = "status_code_grouped", he = (e, r, t, o, a) => {
103
+ e[r][t] || (e[r][t] = {}), e[r][t][o] = a;
104
104
  };
105
- function gr(e, r) {
106
- var c;
107
- const t = ((c = e.meta.metric_names) == null ? void 0 : c[0]) || "", i = e.meta.start_ms, a = Object.keys(e.meta.display || {}), n = !!a.find((d) => d === te), u = a.find((d) => d !== te);
105
+ function yr(e, r) {
106
+ var d;
107
+ const t = ((d = e.meta.metric_names) == null ? void 0 : d[0]) || "", o = e.meta.start_ms, a = Object.keys(e.meta.display || {}), n = !!a.find((f) => f === te), u = a.find((f) => f !== te);
108
108
  return a.length > 2 || a.length > 1 && !n ? (console.error("Don't know how to work with provided dimensions:", a), {
109
109
  previous: { [L]: { [L]: 0 } },
110
110
  current: { [L]: { [L]: 0 } }
111
- }) : e.data.reduce((d, o) => {
112
- const s = o.event[t], l = u ? o.event[u] : L, f = n ? o.event[te] : L;
113
- return new Date(o.timestamp).getTime() === i && r ? he(d, "previous", l, f, s) : he(d, "current", l, f, s), d;
111
+ }) : e.data.reduce((f, i) => {
112
+ const s = i.event[t], l = u ? i.event[u] : L, c = n ? i.event[te] : L;
113
+ return new Date(i.timestamp).getTime() === o && r ? he(f, "previous", l, c, s) : he(f, "current", l, c, s), f;
114
114
  }, {
115
115
  previous: {},
116
116
  current: {}
117
117
  });
118
118
  }
119
119
  function hr(e) {
120
- e.queryReady === void 0 && (e.queryReady = g(() => !0));
121
- const r = g(() => {
122
- var s, l;
120
+ e.queryReady === void 0 && (e.queryReady = p(() => !0));
121
+ const { i18n: r } = M.useI18n(), t = p(() => {
122
+ var l, c;
123
123
  return {
124
124
  metrics: e.metrics.value,
125
125
  dimensions: [
126
- ...(s = e.dimensions) != null && s.length ? [...e.dimensions] : [],
126
+ ...(l = e.dimensions) != null && l.length ? [...e.dimensions] : [],
127
127
  ...e.withTrend.value ? ["time"] : []
128
128
  ],
129
129
  granularity: e.withTrend.value ? "trend" : void 0,
130
- ...(l = e.filter.value) != null && l.length ? { filters: e.filter.value } : {},
130
+ ...(c = e.filter.value) != null && c.length ? { filters: e.filter.value } : {},
131
131
  time_range: e.timeRange.value
132
132
  };
133
- }), t = g(() => {
134
- var l, f, v, p;
135
- if (!((l = e.queryReady) != null && l.value))
133
+ }), o = p(() => {
134
+ var c, v, h, R;
135
+ if (!((c = e.queryReady) != null && c.value))
136
136
  return null;
137
- const s = (f = e.filter) != null && f.value ? JSON.stringify(e.filter.value) : "";
138
- return `metric-fetcher-${JSON.stringify(e.timeRange.value)}-${(v = e.dimensions) == null ? void 0 : v.join("-")}-${(p = e.metrics.value) == null ? void 0 : p.join("-")}-${s}-${e.refreshCounter.value}`;
139
- }), { response: i, error: a, isValidating: n } = N.useRequest(
140
- () => t.value,
137
+ const l = (v = e.filter) != null && v.value ? JSON.stringify(e.filter.value) : "";
138
+ return `metric-fetcher-${JSON.stringify(e.timeRange.value)}-${(h = e.dimensions) == null ? void 0 : h.join("-")}-${(R = e.metrics.value) == null ? void 0 : R.join("-")}-${l}-${e.refreshCounter.value}`;
139
+ }), { response: a, error: n, isValidating: u } = M.useRequest(
140
+ () => o.value,
141
141
  () => e.queryFn({
142
142
  // TODO: Use a type guard to validate that if the datasource is basic,
143
143
  // the query is a valid basic explore query.
144
144
  datasource: e.datasource.value,
145
- query: r.value
145
+ query: t.value
146
146
  }, e.abortController ?? new AbortController()),
147
147
  {
148
148
  refreshInterval: e.refreshInterval,
149
149
  revalidateOnFocus: !1,
150
150
  errorRetryCount: dr
151
151
  }
152
- ), { state: u, swrvState: c } = yr(i, a, n), d = g(() => {
153
- var s, l, f, v, p, _, h;
154
- return !((l = (s = i.value) == null ? void 0 : s.data) != null && l.length) || !((v = (f = i.value) == null ? void 0 : f.meta) != null && v.display) || !((h = (_ = (p = i.value) == null ? void 0 : p.meta) == null ? void 0 : _.metric_names) != null && h.length) ? { current: {}, previous: {} } : gr(i.value, e.withTrend.value);
155
- }), o = N.useTrendRange(e.withTrend, e.timeRange, g(() => {
156
- var s;
157
- return (s = i.value) == null ? void 0 : s.meta;
158
- }));
152
+ ), { state: d, swrvState: f } = gr(a, n, u), i = p(() => {
153
+ var l, c, v, h, R, y, _;
154
+ return !((c = (l = a.value) == null ? void 0 : l.data) != null && c.length) || !((h = (v = a.value) == null ? void 0 : v.meta) != null && h.display) || !((_ = (y = (R = a.value) == null ? void 0 : R.meta) == null ? void 0 : y.metric_names) != null && _.length) ? { current: {}, previous: {} } : yr(a.value, e.withTrend.value);
155
+ }), s = p(() => {
156
+ var l, c;
157
+ if (e.timeRange.value.type === "absolute") {
158
+ if (!((c = (l = a.value) == null ? void 0 : l.meta) != null && c.start_ms))
159
+ return "";
160
+ const { start_ms: v, end_ms: h } = a.value.meta;
161
+ let R = (h - v) / (1e3 * 60 * 60 * 24), y = (h - v) / (1e3 * 60 * 60), _ = (h - v) / (1e3 * 60);
162
+ return e.withTrend.value && (R /= 2, y /= 2, _ /= 2), R >= 1 ? r.t("trendRange.custom_days", { numDays: Math.round(R) }) : y >= 1 ? r.t("trendRange.custom_hours", { numHours: Math.round(y) }) : _ >= 1 ? r.t("trendRange.custom_minutes", { numMinutes: Math.round(_) }) : r.t("trendRange.custom_days", { numDays: Math.round(R) });
163
+ } else
164
+ return e.withTrend.value ? r.t(`trendRange.${e.timeRange.value.time_range}`) : "";
165
+ });
159
166
  return {
160
- isLoading: g(() => c.PENDING === u.value),
161
- hasError: g(() => c.ERROR === u.value),
162
- raw: i,
163
- mapped: d,
164
- trendRange: o
167
+ isLoading: p(() => f.PENDING === d.value),
168
+ hasError: p(() => f.ERROR === d.value),
169
+ raw: a,
170
+ mapped: i,
171
+ trendRange: s
165
172
  };
166
173
  }
167
- const K = (e, r, t = L, i) => (i ?? [L]).reduce((n, u) => {
168
- const c = e[r][t];
169
- return c ? n + (c[u] || 0) : n;
174
+ const K = (e, r, t = L, o) => (o ?? [L]).reduce((n, u) => {
175
+ const d = e[r][t];
176
+ return d ? n + (d[u] || 0) : n;
170
177
  }, 0);
171
178
  function pr(e) {
172
179
  const {
173
180
  cardType: r,
174
181
  title: t,
175
- description: i,
182
+ description: o,
176
183
  record: a,
177
184
  hasError: n,
178
185
  increaseIsBad: u,
179
- formatValueFn: c,
180
- trendRange: d
186
+ formatValueFn: d,
187
+ trendRange: f
181
188
  } = e;
182
- return g(() => {
183
- let o = 0, s = 0;
189
+ return p(() => {
190
+ let i = 0, s = 0;
184
191
  if (a != null && a.value)
185
192
  try {
186
- o = K(a.value, "current", e.lookupKey, e.sumGroupedValues), s = K(a.value, "previous", e.lookupKey, e.sumGroupedValues);
193
+ i = K(a.value, "current", e.lookupKey, e.sumGroupedValues), s = K(a.value, "previous", e.lookupKey, e.sumGroupedValues);
187
194
  } catch (l) {
188
195
  console.error(
189
196
  "Metric card data doesn't have the expected structure:",
@@ -193,53 +200,35 @@ function pr(e) {
193
200
  return {
194
201
  cardType: r,
195
202
  hasError: n.value,
196
- currentValue: o,
203
+ currentValue: i,
197
204
  previousValue: s,
198
205
  title: t.value,
199
- description: i,
206
+ description: o,
200
207
  increaseIsBad: !!u,
201
208
  // Coerce undefined to false
202
- formatValueFn: c,
203
- trendRange: d == null ? void 0 : d.value
209
+ formatValueFn: d,
210
+ trendRange: f == null ? void 0 : f.value
204
211
  };
205
212
  });
206
213
  }
207
- function Rr(e, r, t) {
208
- const { i18n: i } = N.useI18n();
209
- return g(() => {
210
- var a, n, u;
211
- if (((a = r == null ? void 0 : r.value) == null ? void 0 : a.type) === "absolute") {
212
- let c, d;
213
- if ((n = t == null ? void 0 : t.value) != null && n.start_ms && t.value.end_ms)
214
- c = t.value.start_ms, d = t.value.end_ms;
215
- else if (r.value.start && r.value.end)
216
- c = new Date(r.value.start).getTime(), d = new Date(r.value.end).getTime();
217
- else
218
- return "";
219
- let o = (d - c) / (1e3 * 60 * 60 * 24), s = (d - c) / (1e3 * 60 * 60), l = (d - c) / (1e3 * 60);
220
- return e.value && (o /= 2, s /= 2, l /= 2), o >= 1 ? i.t("trendRange.custom_days", { numDays: Math.round(o) }) : s >= 1 ? i.t("trendRange.custom_hours", { numHours: Math.round(s) }) : l >= 1 ? i.t("trendRange.custom_minutes", { numMinutes: Math.round(l) }) : i.t("trendRange.custom_days", { numDays: Math.round(o) });
221
- }
222
- return ((u = r == null ? void 0 : r.value) == null ? void 0 : u.type) === "relative" && e.value ? i.t(`trendRange.${r.value.time_range}`) : "";
223
- });
224
- }
225
214
  var ne = /* @__PURE__ */ new WeakMap(), pe = 0;
226
- function Tr(e) {
215
+ function Rr(e) {
227
216
  if (!e.length)
228
217
  return "";
229
218
  for (var r = "arg", t = 0; t < e.length; ++t) {
230
- var i = void 0;
231
- e[t] === null || typeof e[t] != "object" && typeof e[t] != "function" ? typeof e[t] == "string" ? i = '"' + e[t] + '"' : i = String(e[t]) : ne.has(e[t]) ? i = ne.get(e[t]) : (i = pe, ne.set(e[t], pe++)), r += "@" + i;
219
+ var o = void 0;
220
+ e[t] === null || typeof e[t] != "object" && typeof e[t] != "function" ? typeof e[t] == "string" ? o = '"' + e[t] + '"' : o = String(e[t]) : ne.has(e[t]) ? o = ne.get(e[t]) : (o = pe, ne.set(e[t], pe++)), r += "@" + o;
232
221
  }
233
222
  return r;
234
223
  }
235
- function Er(e) {
224
+ function Tr(e) {
236
225
  if (typeof e == "function")
237
226
  try {
238
227
  e = e();
239
228
  } catch {
240
229
  e = "";
241
230
  }
242
- return Array.isArray(e) ? e = Tr(e) : e = String(e || ""), e;
231
+ return Array.isArray(e) ? e = Rr(e) : e = String(e || ""), e;
243
232
  }
244
233
  var se = (
245
234
  /** @class */
@@ -248,156 +237,156 @@ var se = (
248
237
  r === void 0 && (r = 0), this.items = /* @__PURE__ */ new Map(), this.ttl = r;
249
238
  }
250
239
  return e.prototype.serializeKey = function(r) {
251
- return Er(r);
240
+ return Tr(r);
252
241
  }, e.prototype.get = function(r) {
253
242
  var t = this.serializeKey(r);
254
243
  return this.items.get(t);
255
- }, e.prototype.set = function(r, t, i) {
256
- var a = this.serializeKey(r), n = i || this.ttl, u = Date.now(), c = {
244
+ }, e.prototype.set = function(r, t, o) {
245
+ var a = this.serializeKey(r), n = o || this.ttl, u = Date.now(), d = {
257
246
  data: t,
258
247
  createdAt: u,
259
248
  expiresAt: n ? u + n : 1 / 0
260
249
  };
261
- this.dispatchExpire(n, c, a), this.items.set(a, c);
262
- }, e.prototype.dispatchExpire = function(r, t, i) {
250
+ this.dispatchExpire(n, d, a), this.items.set(a, d);
251
+ }, e.prototype.dispatchExpire = function(r, t, o) {
263
252
  var a = this;
264
253
  r && setTimeout(function() {
265
254
  var n = Date.now(), u = n >= t.expiresAt;
266
- u && a.delete(i);
255
+ u && a.delete(o);
267
256
  }, r);
268
257
  }, e.prototype.delete = function(r) {
269
258
  this.items.delete(r);
270
259
  }, e;
271
260
  }()
272
261
  );
273
- function _r() {
262
+ function Er() {
274
263
  return typeof navigator.onLine < "u" ? navigator.onLine : !0;
275
264
  }
276
- function Cr() {
265
+ function _r() {
277
266
  return typeof document < "u" && typeof document.visibilityState < "u" ? document.visibilityState !== "hidden" : !0;
278
267
  }
279
- var Sr = function(e) {
268
+ var Cr = function(e) {
280
269
  return fetch(e).then(function(r) {
281
270
  return r.json();
282
271
  });
283
272
  };
284
273
  const ae = {
285
- isOnline: _r,
286
- isDocumentVisible: Cr,
287
- fetcher: Sr
274
+ isOnline: Er,
275
+ isDocumentVisible: _r,
276
+ fetcher: Cr
288
277
  };
289
278
  var b = function() {
290
279
  return b = Object.assign || function(e) {
291
- for (var r, t = 1, i = arguments.length; t < i; t++) {
280
+ for (var r, t = 1, o = arguments.length; t < o; t++) {
292
281
  r = arguments[t];
293
282
  for (var a in r) Object.prototype.hasOwnProperty.call(r, a) && (e[a] = r[a]);
294
283
  }
295
284
  return e;
296
285
  }, b.apply(this, arguments);
297
- }, P = function(e, r, t, i) {
286
+ }, P = function(e, r, t, o) {
298
287
  function a(n) {
299
288
  return n instanceof t ? n : new t(function(u) {
300
289
  u(n);
301
290
  });
302
291
  }
303
292
  return new (t || (t = Promise))(function(n, u) {
304
- function c(s) {
293
+ function d(s) {
305
294
  try {
306
- o(i.next(s));
295
+ i(o.next(s));
307
296
  } catch (l) {
308
297
  u(l);
309
298
  }
310
299
  }
311
- function d(s) {
300
+ function f(s) {
312
301
  try {
313
- o(i.throw(s));
302
+ i(o.throw(s));
314
303
  } catch (l) {
315
304
  u(l);
316
305
  }
317
306
  }
318
- function o(s) {
319
- s.done ? n(s.value) : a(s.value).then(c, d);
307
+ function i(s) {
308
+ s.done ? n(s.value) : a(s.value).then(d, f);
320
309
  }
321
- o((i = i.apply(e, r || [])).next());
310
+ i((o = o.apply(e, r || [])).next());
322
311
  });
323
312
  }, $ = function(e, r) {
324
313
  var t = { label: 0, sent: function() {
325
314
  if (n[0] & 1) throw n[1];
326
315
  return n[1];
327
- }, trys: [], ops: [] }, i, a, n, u;
328
- return u = { next: c(0), throw: c(1), return: c(2) }, typeof Symbol == "function" && (u[Symbol.iterator] = function() {
316
+ }, trys: [], ops: [] }, o, a, n, u;
317
+ return u = { next: d(0), throw: d(1), return: d(2) }, typeof Symbol == "function" && (u[Symbol.iterator] = function() {
329
318
  return this;
330
319
  }), u;
331
- function c(o) {
320
+ function d(i) {
332
321
  return function(s) {
333
- return d([o, s]);
322
+ return f([i, s]);
334
323
  };
335
324
  }
336
- function d(o) {
337
- if (i) throw new TypeError("Generator is already executing.");
325
+ function f(i) {
326
+ if (o) throw new TypeError("Generator is already executing.");
338
327
  for (; t; ) try {
339
- if (i = 1, a && (n = o[0] & 2 ? a.return : o[0] ? a.throw || ((n = a.return) && n.call(a), 0) : a.next) && !(n = n.call(a, o[1])).done) return n;
340
- switch (a = 0, n && (o = [o[0] & 2, n.value]), o[0]) {
328
+ if (o = 1, a && (n = i[0] & 2 ? a.return : i[0] ? a.throw || ((n = a.return) && n.call(a), 0) : a.next) && !(n = n.call(a, i[1])).done) return n;
329
+ switch (a = 0, n && (i = [i[0] & 2, n.value]), i[0]) {
341
330
  case 0:
342
331
  case 1:
343
- n = o;
332
+ n = i;
344
333
  break;
345
334
  case 4:
346
- return t.label++, { value: o[1], done: !1 };
335
+ return t.label++, { value: i[1], done: !1 };
347
336
  case 5:
348
- t.label++, a = o[1], o = [0];
337
+ t.label++, a = i[1], i = [0];
349
338
  continue;
350
339
  case 7:
351
- o = t.ops.pop(), t.trys.pop();
340
+ i = t.ops.pop(), t.trys.pop();
352
341
  continue;
353
342
  default:
354
- if (n = t.trys, !(n = n.length > 0 && n[n.length - 1]) && (o[0] === 6 || o[0] === 2)) {
343
+ if (n = t.trys, !(n = n.length > 0 && n[n.length - 1]) && (i[0] === 6 || i[0] === 2)) {
355
344
  t = 0;
356
345
  continue;
357
346
  }
358
- if (o[0] === 3 && (!n || o[1] > n[0] && o[1] < n[3])) {
359
- t.label = o[1];
347
+ if (i[0] === 3 && (!n || i[1] > n[0] && i[1] < n[3])) {
348
+ t.label = i[1];
360
349
  break;
361
350
  }
362
- if (o[0] === 6 && t.label < n[1]) {
363
- t.label = n[1], n = o;
351
+ if (i[0] === 6 && t.label < n[1]) {
352
+ t.label = n[1], n = i;
364
353
  break;
365
354
  }
366
355
  if (n && t.label < n[2]) {
367
- t.label = n[2], t.ops.push(o);
356
+ t.label = n[2], t.ops.push(i);
368
357
  break;
369
358
  }
370
359
  n[2] && t.ops.pop(), t.trys.pop();
371
360
  continue;
372
361
  }
373
- o = r.call(e, t);
362
+ i = r.call(e, t);
374
363
  } catch (s) {
375
- o = [6, s], a = 0;
364
+ i = [6, s], a = 0;
376
365
  } finally {
377
- i = n = 0;
366
+ o = n = 0;
378
367
  }
379
- if (o[0] & 5) throw o[1];
380
- return { value: o[0] ? o[1] : void 0, done: !0 };
368
+ if (i[0] & 5) throw i[1];
369
+ return { value: i[0] ? i[1] : void 0, done: !0 };
381
370
  }
382
- }, Ir = function(e, r) {
371
+ }, Sr = function(e, r) {
383
372
  var t = typeof Symbol == "function" && e[Symbol.iterator];
384
373
  if (!t) return e;
385
- var i = t.call(e), a, n = [], u;
374
+ var o = t.call(e), a, n = [], u;
386
375
  try {
387
- for (; (r === void 0 || r-- > 0) && !(a = i.next()).done; ) n.push(a.value);
388
- } catch (c) {
389
- u = { error: c };
376
+ for (; (r === void 0 || r-- > 0) && !(a = o.next()).done; ) n.push(a.value);
377
+ } catch (d) {
378
+ u = { error: d };
390
379
  } finally {
391
380
  try {
392
- a && !a.done && (t = i.return) && t.call(i);
381
+ a && !a.done && (t = o.return) && t.call(o);
393
382
  } finally {
394
383
  if (u) throw u.error;
395
384
  }
396
385
  }
397
386
  return n;
398
- }, Ar = function(e, r, t) {
399
- if (t || arguments.length === 2) for (var i = 0, a = r.length, n; i < a; i++)
400
- (n || !(i in r)) && (n || (n = Array.prototype.slice.call(r, 0, i)), n[i] = r[i]);
387
+ }, Ir = function(e, r, t) {
388
+ if (t || arguments.length === 2) for (var o = 0, a = r.length, n; o < a; o++)
389
+ (n || !(o in r)) && (n || (n = Array.prototype.slice.call(r, 0, o)), n[o] = r[o]);
401
390
  return e.concat(n || Array.prototype.slice.call(r));
402
391
  }, Oe = new se(), Q = new se(), ie = new se(), Le = {
403
392
  cache: Oe,
@@ -414,68 +403,68 @@ var b = function() {
414
403
  isOnline: ae.isOnline,
415
404
  isDocumentVisible: ae.isDocumentVisible
416
405
  };
417
- function Dr(e, r, t) {
418
- var i = Q.get(e);
419
- if (i)
420
- i.data.push(r);
406
+ function Ar(e, r, t) {
407
+ var o = Q.get(e);
408
+ if (o)
409
+ o.data.push(r);
421
410
  else {
422
411
  var a = 5e3;
423
412
  Q.set(e, [r], t > 0 ? t + a : t);
424
413
  }
425
414
  }
426
- function br(e, r, t) {
415
+ function Dr(e, r, t) {
427
416
  if (t.isDocumentVisible() && !(t.errorRetryCount !== void 0 && r > t.errorRetryCount)) {
428
- var i = Math.min(r || 0, t.errorRetryCount), a = i * t.errorRetryInterval;
417
+ var o = Math.min(r || 0, t.errorRetryCount), a = o * t.errorRetryInterval;
429
418
  setTimeout(function() {
430
- e(null, { errorRetryCount: i + 1, shouldRetryOnError: !0 });
419
+ e(null, { errorRetryCount: o + 1, shouldRetryOnError: !0 });
431
420
  }, a);
432
421
  }
433
422
  }
434
- var Re = function(e, r, t, i) {
435
- return t === void 0 && (t = Oe), i === void 0 && (i = Le.ttl), P(void 0, void 0, void 0, function() {
436
- var a, n, u, c, d, o, s;
423
+ var Re = function(e, r, t, o) {
424
+ return t === void 0 && (t = Oe), o === void 0 && (o = Le.ttl), P(void 0, void 0, void 0, function() {
425
+ var a, n, u, d, f, i, s;
437
426
  return $(this, function(l) {
438
427
  switch (l.label) {
439
428
  case 0:
440
- if (!Or(r)) return [3, 5];
429
+ if (!wr(r)) return [3, 5];
441
430
  l.label = 1;
442
431
  case 1:
443
432
  return l.trys.push([1, 3, , 4]), [4, r];
444
433
  case 2:
445
434
  return a = l.sent(), [3, 4];
446
435
  case 3:
447
- return c = l.sent(), n = c, [3, 4];
436
+ return d = l.sent(), n = d, [3, 4];
448
437
  case 4:
449
438
  return [3, 6];
450
439
  case 5:
451
440
  a = r, l.label = 6;
452
441
  case 6:
453
- if (u = !1, d = { data: a, error: n, isValidating: u }, typeof a < "u")
442
+ if (u = !1, f = { data: a, error: n, isValidating: u }, typeof a < "u")
454
443
  try {
455
- t.set(e, d, i);
456
- } catch (f) {
457
- console.error("swrv(mutate): failed to set cache", f);
444
+ t.set(e, f, o);
445
+ } catch (c) {
446
+ console.error("swrv(mutate): failed to set cache", c);
458
447
  }
459
- return o = Q.get(e), o && o.data.length && (s = o.data.filter(function(f) {
460
- return f.key === e;
461
- }), s.forEach(function(f, v) {
462
- typeof d.data < "u" && (f.data = d.data), f.error = d.error, f.isValidating = d.isValidating, f.isLoading = d.isValidating;
463
- var p = v === s.length - 1;
464
- p || delete s[v];
465
- }), s = s.filter(Boolean)), [2, d];
448
+ return i = Q.get(e), i && i.data.length && (s = i.data.filter(function(c) {
449
+ return c.key === e;
450
+ }), s.forEach(function(c, v) {
451
+ typeof f.data < "u" && (c.data = f.data), c.error = f.error, c.isValidating = f.isValidating, c.isLoading = f.isValidating;
452
+ var h = v === s.length - 1;
453
+ h || delete s[v];
454
+ }), s = s.filter(Boolean)), [2, f];
466
455
  }
467
456
  });
468
457
  });
469
458
  };
470
- function wr() {
459
+ function br() {
471
460
  for (var e = this, r = [], t = 0; t < arguments.length; t++)
472
461
  r[t] = arguments[t];
473
- var i, a, n = b({}, Le), u = !1, c = !1, d = Me(), o = (d == null ? void 0 : d.proxy) || d;
474
- if (!o)
462
+ var o, a, n = b({}, Le), u = !1, d = !1, f = Me(), i = (f == null ? void 0 : f.proxy) || f;
463
+ if (!i)
475
464
  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;
476
- var s = (o == null ? void 0 : o.$isServer) || !1;
477
- r.length >= 1 && (i = r[0]), r.length >= 2 && (a = r[1]), r.length > 2 && (n = b(b({}, n), r[2]));
478
- var l = s ? n.serverTTL : n.ttl, f = typeof i == "function" ? i : Y(i);
465
+ var s = (i == null ? void 0 : i.$isServer) || !1;
466
+ r.length >= 1 && (o = r[0]), r.length >= 2 && (a = r[1]), r.length > 2 && (n = b(b({}, n), r[2]));
467
+ var l = s ? n.serverTTL : n.ttl, c = typeof o == "function" ? o : Y(o);
479
468
  typeof a > "u" && (a = n.fetcher);
480
469
  var v = null;
481
470
  v || (v = Fe({
@@ -485,33 +474,33 @@ function wr() {
485
474
  isLoading: !0,
486
475
  key: null
487
476
  }));
488
- var p = function(m, y) {
477
+ var h = function(m, g) {
489
478
  return P(e, void 0, void 0, function() {
490
- var k, T, S, A, x, ce, J, de = this;
479
+ var N, E, I, A, x, ce, J, de = this;
491
480
  return $(this, function(Z) {
492
481
  switch (Z.label) {
493
482
  case 0:
494
- return k = v.data === void 0, T = f.value, T ? (S = n.cache.get(T), A = S && S.data, v.isValidating = !0, v.isLoading = !A, A && (v.data = A.data, v.error = A.error), x = m || a, !x || !n.isDocumentVisible() && !k || (y == null ? void 0 : y.forceRevalidate) !== void 0 && !(y != null && y.forceRevalidate) ? (v.isValidating = !1, v.isLoading = !1, [
483
+ return N = v.data === void 0, E = c.value, E ? (I = n.cache.get(E), A = I && I.data, v.isValidating = !0, v.isLoading = !A, A && (v.data = A.data, v.error = A.error), x = m || a, !x || !n.isDocumentVisible() && !N || (g == null ? void 0 : g.forceRevalidate) !== void 0 && !(g != null && g.forceRevalidate) ? (v.isValidating = !1, v.isLoading = !1, [
495
484
  2
496
485
  /*return*/
497
- ]) : S && (ce = !!(Date.now() - S.createdAt >= n.dedupingInterval || y != null && y.forceRevalidate), !ce) ? (v.isValidating = !1, v.isLoading = !1, [
486
+ ]) : I && (ce = !!(Date.now() - I.createdAt >= n.dedupingInterval || g != null && g.forceRevalidate), !ce) ? (v.isValidating = !1, v.isLoading = !1, [
498
487
  2
499
488
  /*return*/
500
489
  ]) : (J = function() {
501
490
  return P(de, void 0, void 0, function() {
502
- var M, fe, ee, ve;
491
+ var k, fe, ee, ve;
503
492
  return $(this, function(X) {
504
493
  switch (X.label) {
505
494
  case 0:
506
- return M = ie.get(T), M ? [3, 2] : (fe = Array.isArray(T) ? T : [T], ee = x.apply(void 0, Ar([], Ir(fe), !1)), ie.set(T, ee, n.dedupingInterval), [4, Re(T, ee, n.cache, l)]);
495
+ return k = ie.get(E), k ? [3, 2] : (fe = Array.isArray(E) ? E : [E], ee = x.apply(void 0, Ir([], Sr(fe), !1)), ie.set(E, ee, n.dedupingInterval), [4, Re(E, ee, n.cache, l)]);
507
496
  case 1:
508
497
  return X.sent(), [3, 4];
509
498
  case 2:
510
- return [4, Re(T, M.data, n.cache, l)];
499
+ return [4, Re(E, k.data, n.cache, l)];
511
500
  case 3:
512
501
  X.sent(), X.label = 4;
513
502
  case 4:
514
- return v.isValidating = !1, v.isLoading = !1, ie.delete(T), v.error !== void 0 && (ve = !u && n.shouldRetryOnError && (y ? y.shouldRetryOnError : !0), ve && br(p, y ? y.errorRetryCount : 1, n)), [
503
+ return v.isValidating = !1, v.isLoading = !1, ie.delete(E), v.error !== void 0 && (ve = !u && n.shouldRetryOnError && (g ? g.shouldRetryOnError : !0), ve && Dr(h, g ? g.errorRetryCount : 1, n)), [
515
504
  2
516
505
  /*return*/
517
506
  ];
@@ -520,12 +509,12 @@ function wr() {
520
509
  });
521
510
  }, A && n.revalidateDebounce ? (setTimeout(function() {
522
511
  return P(de, void 0, void 0, function() {
523
- return $(this, function(M) {
524
- switch (M.label) {
512
+ return $(this, function(k) {
513
+ switch (k.label) {
525
514
  case 0:
526
515
  return u ? [3, 2] : [4, J()];
527
516
  case 1:
528
- M.sent(), M.label = 2;
517
+ k.sent(), k.label = 2;
529
518
  case 2:
530
519
  return [
531
520
  2
@@ -550,26 +539,26 @@ function wr() {
550
539
  }
551
540
  });
552
541
  });
553
- }, _ = function() {
542
+ }, R = function() {
554
543
  return P(e, void 0, void 0, function() {
555
544
  return $(this, function(m) {
556
- return [2, p(null, { shouldRetryOnError: !1 })];
545
+ return [2, h(null, { shouldRetryOnError: !1 })];
557
546
  });
558
547
  });
559
- }, h = null;
548
+ }, y = null;
560
549
  xe(function() {
561
550
  var m = function() {
562
551
  return P(e, void 0, void 0, function() {
563
- return $(this, function(y) {
564
- switch (y.label) {
552
+ return $(this, function(g) {
553
+ switch (g.label) {
565
554
  case 0:
566
- return !v.error && n.isOnline() ? [4, p()] : [3, 2];
555
+ return !v.error && n.isOnline() ? [4, h()] : [3, 2];
567
556
  case 1:
568
- return y.sent(), [3, 3];
557
+ return g.sent(), [3, 3];
569
558
  case 2:
570
- h && clearTimeout(h), y.label = 3;
559
+ y && clearTimeout(y), g.label = 3;
571
560
  case 3:
572
- return n.refreshInterval && !u && (h = setTimeout(m, n.refreshInterval)), [
561
+ return n.refreshInterval && !u && (y = setTimeout(m, n.refreshInterval)), [
573
562
  2
574
563
  /*return*/
575
564
  ];
@@ -577,80 +566,79 @@ function wr() {
577
566
  });
578
567
  });
579
568
  };
580
- n.refreshInterval && (h = setTimeout(m, n.refreshInterval)), n.revalidateOnFocus && (document.addEventListener("visibilitychange", _, !1), window.addEventListener("focus", _, !1));
569
+ n.refreshInterval && (y = setTimeout(m, n.refreshInterval)), n.revalidateOnFocus && (document.addEventListener("visibilitychange", R, !1), window.addEventListener("focus", R, !1));
581
570
  }), qe(function() {
582
- u = !0, h && clearTimeout(h), n.revalidateOnFocus && (document.removeEventListener("visibilitychange", _, !1), window.removeEventListener("focus", _, !1));
583
- var m = Q.get(f.value);
584
- m && (m.data = m.data.filter(function(y) {
585
- return y !== v;
571
+ u = !0, y && clearTimeout(y), n.revalidateOnFocus && (document.removeEventListener("visibilitychange", R, !1), window.removeEventListener("focus", R, !1));
572
+ var m = Q.get(c.value);
573
+ m && (m.data = m.data.filter(function(g) {
574
+ return g !== v;
586
575
  }));
587
576
  });
588
577
  try {
589
- Ue(f, function(m) {
590
- Pe(f) || (f.value = m), v.key = m, v.isValidating = !!m, Dr(f.value, v, l), !s && !c && f.value && p(), c = !1;
578
+ Ue(c, function(m) {
579
+ Pe(c) || (c.value = m), v.key = m, v.isValidating = !!m, Ar(c.value, v, l), !s && !d && c.value && h(), d = !1;
591
580
  }, {
592
581
  immediate: !0
593
582
  });
594
583
  } catch {
595
584
  }
596
- var I = b(b({}, $e(v)), { mutate: function(m, y) {
597
- return p(m, b(b({}, y), { forceRevalidate: !0 }));
585
+ var _ = b(b({}, $e(v)), { mutate: function(m, g) {
586
+ return h(m, b(b({}, g), { forceRevalidate: !0 }));
598
587
  } });
599
- return I;
588
+ return _;
600
589
  }
601
- function Or(e) {
590
+ function wr(e) {
602
591
  return e !== null && typeof e == "object" && typeof e.then == "function";
603
592
  }
604
- function Lr(e, r, t) {
593
+ function Or(e, r, t) {
605
594
  const {
606
- data: i,
595
+ data: o,
607
596
  error: a,
608
597
  isValidating: n,
609
598
  mutate: u
610
- } = wr(e, r, {
599
+ } = br(e, r, {
611
600
  revalidateDebounce: 500,
612
601
  revalidateOnFocus: !1,
613
602
  dedupingInterval: 100,
614
603
  ...t
615
604
  });
616
605
  return {
617
- data: g(() => i.value),
618
- response: i,
606
+ data: p(() => o.value),
607
+ response: o,
619
608
  error: a,
620
609
  isValidating: n,
621
610
  revalidate: u
622
611
  };
623
612
  }
624
- const N = {
613
+ const M = {
625
614
  useI18n: cr,
626
615
  useMetricCardBuilder: pr,
627
616
  useMetricFetcher: hr,
628
- useTrendRange: Rr,
629
- useRequest: Lr
630
- }, Ve = Symbol("METRICS_PROVIDER_KEY"), Vr = (e) => {
617
+ useRequest: Or
618
+ }, Ve = Symbol("METRICS_PROVIDER_KEY"), Lr = (e) => {
631
619
  const {
632
620
  datasource: r,
633
621
  dimension: t,
634
- dimensionFilterValue: i,
622
+ dimensionFilterValue: o,
635
623
  additionalFilter: a,
636
624
  queryReady: n,
637
625
  timeRange: u,
638
- hasTrendAccess: c,
639
- refreshInterval: d,
640
- abortController: o,
626
+ hasTrendAccess: d,
627
+ refreshInterval: f,
628
+ abortController: i,
641
629
  queryFn: s,
642
630
  averageLatencies: l
643
631
  } = e;
644
- if (i && !t)
632
+ if (o && !t)
645
633
  throw new Error("Must provide a dimension if filtering by a value");
646
- const f = !!(t && i), v = !!(t && !i), p = g(() => {
647
- const y = [];
648
- return f && y.push({
634
+ const c = !!(t && o), v = !!(t && !o), h = p(() => {
635
+ const g = [];
636
+ return c && g.push({
649
637
  field: t,
650
638
  operator: "in",
651
- value: [i]
652
- }), a.value && y.push(...je(r.value, a.value)), y;
653
- }), _ = {
639
+ value: [o]
640
+ }), a.value && g.push(...je(r.value, a.value)), g;
641
+ }), R = {
654
642
  datasource: r,
655
643
  metrics: Y([
656
644
  "request_count"
@@ -658,38 +646,38 @@ const N = {
658
646
  // Traffic and error rate cards should only try to query for the dimension if it's going to be used.
659
647
  // It isn't used for single entity queries.
660
648
  dimensions: [
661
- ...t && !f ? [t] : [],
649
+ ...t && !c ? [t] : [],
662
650
  "status_code_grouped"
663
651
  ],
664
- filter: p,
652
+ filter: h,
665
653
  queryReady: n,
666
654
  timeRange: u,
667
655
  // Traffic and error rate cards can't query trend if multiple entities are expected.
668
- withTrend: g(() => c.value && !v),
669
- refreshInterval: d,
656
+ withTrend: p(() => d.value && !v),
657
+ refreshInterval: f,
670
658
  queryFn: s,
671
- abortController: o,
659
+ abortController: i,
672
660
  refreshCounter: e.refreshCounter
673
- }, h = {
661
+ }, y = {
674
662
  datasource: r,
675
- metrics: g(() => [
663
+ metrics: p(() => [
676
664
  l.value ? "response_latency_average" : "response_latency_p99"
677
665
  ]),
678
666
  // To keep single-entity queries consistent, don't bother querying the dimension for latency
679
667
  // in the single-entity case, even though it's possible.
680
- ...t && !f ? { dimensions: [t] } : {},
681
- filter: p,
668
+ ...t && !c ? { dimensions: [t] } : {},
669
+ filter: h,
682
670
  queryReady: n,
683
671
  timeRange: u,
684
672
  // Don't query latency trends in the multi-entity case: it's possible, but wasteful.
685
- withTrend: g(() => c.value && !v),
686
- refreshInterval: d,
673
+ withTrend: p(() => d.value && !v),
674
+ refreshInterval: f,
687
675
  queryFn: s,
688
- abortController: o,
676
+ abortController: i,
689
677
  refreshCounter: e.refreshCounter
690
- }, I = N.useMetricFetcher(_), m = N.useMetricFetcher(h);
678
+ }, _ = M.useMetricFetcher(R), m = M.useMetricFetcher(y);
691
679
  return {
692
- trafficData: I,
680
+ trafficData: _,
693
681
  latencyData: m
694
682
  };
695
683
  }, gt = /* @__PURE__ */ W({
@@ -712,32 +700,32 @@ const N = {
712
700
  },
713
701
  setup(e) {
714
702
  const r = e;
715
- if (r.dimension && He.findIndex((f) => f === r.dimension) === -1)
703
+ if (r.dimension && He.findIndex((c) => c === r.dimension) === -1)
716
704
  throw new Error(`Attempted to use MetricsProvider with an invalid dimension: ${r.dimension}`);
717
705
  const t = Ce(vr);
718
- let i;
719
- t ? i = t.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"), i = () => Promise.reject(new Error("Query bridge required")));
720
- const a = We(), n = g(() => !0), u = g(() => !a.loading && r.queryReady), c = g(() => r.datasource ? r.datasource : "basic"), d = g(() => {
721
- const f = r.overrideTimeRange;
722
- return f && !f.tz && (f.tz = new Intl.DateTimeFormat().resolvedOptions().timeZone), f || {
706
+ let o;
707
+ t ? o = t.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")));
708
+ const a = We(), n = p(() => !0), u = p(() => !a.loading && r.queryReady), d = p(() => r.datasource ? r.datasource : "basic"), f = p(() => {
709
+ const c = r.overrideTimeRange;
710
+ return c && !c.tz && (c.tz = new Intl.DateTimeFormat().resolvedOptions().timeZone), c || {
723
711
  type: "relative",
724
712
  time_range: "7d",
725
713
  tz: new Intl.DateTimeFormat().resolvedOptions().timeZone
726
714
  };
727
- }), o = g(() => !r.percentileLatency), {
715
+ }), i = p(() => !r.percentileLatency), {
728
716
  trafficData: s,
729
717
  latencyData: l
730
- } = Vr({
731
- datasource: c,
718
+ } = Lr({
719
+ datasource: d,
732
720
  dimension: r.dimension,
733
721
  dimensionFilterValue: r.filterValue,
734
722
  additionalFilter: G(r, "additionalFilter"),
735
723
  queryReady: u,
736
- timeRange: d,
724
+ timeRange: f,
737
725
  hasTrendAccess: n,
738
726
  refreshInterval: r.refreshInterval,
739
- queryFn: i,
740
- averageLatencies: o,
727
+ queryFn: o,
728
+ averageLatencies: i,
741
729
  abortController: r.abortController,
742
730
  refreshCounter: G(r, "refreshCounter")
743
731
  });
@@ -750,62 +738,62 @@ const N = {
750
738
  containerTitle: G(() => r.containerTitle),
751
739
  hasTrendAccess: n,
752
740
  longCardTitles: r.longCardTitles,
753
- averageLatencies: o
754
- }), (f, v) => Se(f.$slots, "default", {
741
+ averageLatencies: i
742
+ }), (c, v) => Se(c.$slots, "default", {
755
743
  hasTrendAccess: n.value,
756
- timeRange: d.value
744
+ timeRange: f.value
757
745
  });
758
746
  }
759
747
  });
760
- function Nr(e) {
748
+ function Vr(e) {
761
749
  return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e;
762
750
  }
763
751
  var Ne = { exports: {} };
764
752
  (function(e) {
765
753
  (function() {
766
- function r(o, s) {
767
- if (s.separator === !1 || o < 1e3)
768
- return o.toString();
769
- var l = typeof s.separator == "string" ? s.separator : ",", f = [], v = Math.round(o).toString().split("");
770
- return v.reverse().forEach(function(p, _) {
771
- _ && _ % 3 === 0 && f.push(l), f.push(p);
772
- }), f.reverse().join("");
754
+ function r(i, s) {
755
+ if (s.separator === !1 || i < 1e3)
756
+ return i.toString();
757
+ var l = typeof s.separator == "string" ? s.separator : ",", c = [], v = Math.round(i).toString().split("");
758
+ return v.reverse().forEach(function(h, R) {
759
+ R && R % 3 === 0 && c.push(l), c.push(h);
760
+ }), c.reverse().join("");
773
761
  }
774
- function t(o, s, l) {
775
- var f = o / s, v = l.round ? "round" : "floor";
776
- return l.decimal === !1 ? (o = Math[v](f), o.toString()) : (l.precision ? o = f : o = f < 10 ? Math[v](f * 10) / 10 : Math[v](f), o = o.toString(), typeof l.decimal == "string" && (o = o.replace(".", l.decimal)), o);
762
+ function t(i, s, l) {
763
+ var c = i / s, v = l.round ? "round" : "floor";
764
+ return l.decimal === !1 ? (i = Math[v](c), i.toString()) : (l.precision ? i = c : i = c < 10 ? Math[v](c * 10) / 10 : Math[v](c), i = i.toString(), typeof l.decimal == "string" && (i = i.replace(".", l.decimal)), i);
777
765
  }
778
- var i = 1e3, a = 1e4, n = 1e6, u = 1e9, c = 1e12;
779
- function d(o, s) {
766
+ var o = 1e3, a = 1e4, n = 1e6, u = 1e9, d = 1e12;
767
+ function f(i, s) {
780
768
  var l;
781
769
  s = s || {};
782
- var f = o < 0;
783
- f && (o = Math.abs(o)), s.precision && (o = parseFloat(o.toPrecision(s.precision)));
784
- var v = s.min10k ? a : i;
785
- return o < v || s.precision && s.precision > Math.log10(o) ? l = r(t(o, 1, s), s) : o < n ? l = t(o, i, s) + "k" : o < u ? l = t(o, n, s) + "m" : o < c ? l = r(t(o, u, s), s) + "b" : l = r(t(o, c, s), s) + "t", f && (l = "-" + l), s.capital && (l = l.toUpperCase()), s.prefix && (l = s.prefix + l), s.suffix && (l = l + s.suffix), l;
770
+ var c = i < 0;
771
+ c && (i = Math.abs(i)), s.precision && (i = parseFloat(i.toPrecision(s.precision)));
772
+ var v = s.min10k ? a : o;
773
+ return i < v || s.precision && s.precision > Math.log10(i) ? l = r(t(i, 1, s), s) : i < n ? l = t(i, o, s) + "k" : i < u ? l = t(i, n, s) + "m" : i < d ? l = r(t(i, u, s), s) + "b" : l = r(t(i, d, s), s) + "t", c && (l = "-" + l), s.capital && (l = l.toUpperCase()), s.prefix && (l = s.prefix + l), s.suffix && (l = l + s.suffix), l;
786
774
  }
787
- d.addCommas = r, e.exports = d;
775
+ f.addCommas = r, e.exports = f;
788
776
  })();
789
777
  })(Ne);
790
- var kr = Ne.exports;
791
- const Mr = /* @__PURE__ */ Nr(kr);
778
+ var Nr = Ne.exports;
779
+ const kr = /* @__PURE__ */ Vr(Nr);
792
780
  var O = /* @__PURE__ */ ((e) => (e.GENERIC_COUNT = "GenericCount", e.TRAFFIC = "Traffic", e.ERROR_RATE = "ErrorRate", e.LATENCY = "Latency", e))(O || {}), D = /* @__PURE__ */ ((e) => (e.Small = "sm", e.Medium = "md", e.Large = "lg", e.ExtraLarge = "xl", e))(D || {});
793
- const ue = 2, Te = ue + 2, Fr = (e, r, t = !1) => {
794
- let i = !r || Number(e.toFixed(Te)) === 0 ? 0 : Number(e.toFixed(Te)) > 0 ? 1 : -1;
795
- return t && (i *= -1), i;
796
- }, xr = (e, r, t) => r ? `${Math.abs(e * 100).toFixed(ue)}%` : t, qr = (e, r) => r === 0 ? 0 : e / r - 1, Ur = (e, r = !1) => (r && (e *= -1), e > 0 ? Je : e < 0 ? Ze : De), Pr = "#ad000e", oe = "#6c7489", Ee = "#52596e", $r = "#007d60", j = "16px", zr = "20px", Kr = {
781
+ const ue = 2, Te = ue + 2, Mr = (e, r, t = !1) => {
782
+ let o = !r || Number(e.toFixed(Te)) === 0 ? 0 : Number(e.toFixed(Te)) > 0 ? 1 : -1;
783
+ return t && (o *= -1), o;
784
+ }, Fr = (e, r, t) => r ? `${Math.abs(e * 100).toFixed(ue)}%` : t, xr = (e, r) => r === 0 ? 0 : e / r - 1, qr = (e, r = !1) => (r && (e *= -1), e > 0 ? Je : e < 0 ? Ze : De), Ur = "#ad000e", oe = "#6c7489", Ee = "#52596e", Pr = "#007d60", j = "16px", $r = "20px", zr = {
797
785
  key: 0,
798
786
  class: "metricscard-description"
799
- }, Br = { class: "metricscard-valuetrend" }, Xr = {
787
+ }, Kr = { class: "metricscard-valuetrend" }, Br = {
800
788
  key: 0,
801
789
  class: "metricscard-error"
802
- }, Gr = {
790
+ }, Xr = {
803
791
  key: 2,
804
792
  class: "metricscard-trend"
805
- }, jr = { "data-testid": "metric-trend-change" }, Hr = {
793
+ }, Gr = { "data-testid": "metric-trend-change" }, jr = {
806
794
  key: 0,
807
795
  class: "metricscard-trend-range"
808
- }, Yr = /* @__PURE__ */ W({
796
+ }, Hr = /* @__PURE__ */ W({
809
797
  __name: "MetricsCard",
810
798
  props: {
811
799
  cardType: {
@@ -882,81 +870,81 @@ const ue = 2, Te = ue + 2, Fr = (e, r, t = !1) => {
882
870
  [O.TRAFFIC, rr],
883
871
  [O.ERROR_RATE, tr],
884
872
  [O.LATENCY, nr]
885
- ]), t = e, i = (c) => {
886
- const d = {
887
- red: `var(--kui-color-text-danger-strong, ${Pr})`,
888
- green: `var(--kui-color-text-success, ${$r})`,
873
+ ]), t = e, o = (d) => {
874
+ const f = {
875
+ red: `var(--kui-color-text-danger-strong, ${Ur})`,
876
+ green: `var(--kui-color-text-success, ${Pr})`,
889
877
  grey: `var(--kui-color-text-neutral-strong, ${Ee})`
890
878
  };
891
- return c > 0 ? d.green : c < 0 ? d.red : d.grey;
892
- }, a = (c) => c > 0 ? "positive" : c < 0 ? "negative" : "neutral", n = [D.Medium, D.Large].includes(t.cardSize), u = [D.Small].includes(t.cardSize);
893
- return (c, d) => {
894
- const o = Ie("KTooltip");
895
- return R(), C("div", {
879
+ return d > 0 ? f.green : d < 0 ? f.red : f.grey;
880
+ }, a = (d) => d > 0 ? "positive" : d < 0 ? "negative" : "neutral", n = [D.Medium, D.Large].includes(t.cardSize), u = [D.Small].includes(t.cardSize);
881
+ return (d, f) => {
882
+ const i = Ie("KTooltip");
883
+ return T(), S("div", {
896
884
  class: z(["metricscard", e.cardSize])
897
885
  }, [
898
886
  q("div", {
899
887
  class: z(["metricscard-title", e.cardSize])
900
888
  }, [
901
- E(u) ? V("", !0) : (R(), U(re(E(r).get(e.cardType)), {
889
+ C(u) ? V("", !0) : (T(), U(re(C(r).get(e.cardType)), {
902
890
  key: 0,
903
891
  class: "metricscard-icon",
904
- color: `var(--kui-color-text-neutral, ${E(oe)})`,
905
- size: E(j)
892
+ color: `var(--kui-color-text-neutral, ${C(oe)})`,
893
+ size: C(j)
906
894
  }, null, 8, ["color", "size"])),
907
- (R(), U(re(e.titleTag), null, {
895
+ (T(), U(re(e.titleTag), null, {
908
896
  default: me(() => [
909
897
  Ae(w(e.title), 1)
910
898
  ]),
911
899
  _: 1
912
900
  })),
913
- e.tooltip ? (R(), U(o, {
901
+ e.tooltip ? (T(), U(i, {
914
902
  key: 1,
915
903
  class: "metricscard-tooltip",
916
904
  placement: "right",
917
905
  text: e.tooltip
918
906
  }, {
919
907
  default: me(() => [
920
- F(E(ar), {
921
- color: `var(--kui-color-text-neutral, ${E(oe)})`,
922
- size: E(j)
908
+ F(C(ar), {
909
+ color: `var(--kui-color-text-neutral, ${C(oe)})`,
910
+ size: C(j)
923
911
  }, null, 8, ["color", "size"])
924
912
  ]),
925
913
  _: 1
926
914
  }, 8, ["text"])) : V("", !0)
927
915
  ], 2),
928
- e.description && E(n) ? (R(), C("div", Kr, [
916
+ e.description && C(n) ? (T(), S("div", zr, [
929
917
  q("span", null, w(e.description), 1)
930
918
  ])) : V("", !0),
931
- q("div", Br, [
932
- e.hasError ? (R(), C("div", Xr, [
933
- F(E(be), {
934
- color: `var(--kui-color-text-neutral, ${E(oe)})`,
935
- size: E(zr)
919
+ q("div", Kr, [
920
+ e.hasError ? (T(), S("div", Br, [
921
+ F(C(be), {
922
+ color: `var(--kui-color-text-neutral, ${C(oe)})`,
923
+ size: C($r)
936
924
  }, null, 8, ["color", "size"]),
937
925
  q("div", null, " " + w(e.errorMessage), 1)
938
- ])) : (R(), C("div", {
926
+ ])) : (T(), S("div", {
939
927
  key: 1,
940
928
  class: z(["metricscard-value", e.cardSize]),
941
929
  "data-testid": "metric-value"
942
930
  }, w(e.metricValue), 3)),
943
- E(n) ? (R(), C("div", Gr, [
931
+ C(n) ? (T(), S("div", Xr, [
944
932
  q("div", {
945
933
  class: z(["metricscard-trend-change", a(e.changePolarity)]),
946
934
  "data-testid": "metric-trend-parent"
947
935
  }, [
948
- e.changePolarity !== 0 ? (R(), U(re(e.trendIcon), {
936
+ e.changePolarity !== 0 ? (T(), U(re(e.trendIcon), {
949
937
  key: 0,
950
- color: i(e.changePolarity),
951
- size: E(j)
952
- }, null, 8, ["color", "size"])) : (R(), U(E(ir), {
938
+ color: o(e.changePolarity),
939
+ size: C(j)
940
+ }, null, 8, ["color", "size"])) : (T(), U(C(ir), {
953
941
  key: 1,
954
- color: `var(--kui-color-text-neutral-strong, ${E(Ee)})`,
955
- size: E(j)
942
+ color: `var(--kui-color-text-neutral-strong, ${C(Ee)})`,
943
+ size: C(j)
956
944
  }, null, 8, ["color", "size"])),
957
- q("div", jr, w(e.metricChange), 1)
945
+ q("div", Gr, w(e.metricChange), 1)
958
946
  ], 2),
959
- e.trendRange ? (R(), C("div", Hr, w(e.trendRange), 1)) : V("", !0)
947
+ e.trendRange ? (T(), S("div", jr, w(e.trendRange), 1)) : V("", !0)
960
948
  ])) : V("", !0)
961
949
  ])
962
950
  ], 2);
@@ -964,33 +952,33 @@ const ue = 2, Te = ue + 2, Fr = (e, r, t = !1) => {
964
952
  }
965
953
  }), le = (e, r) => {
966
954
  const t = e.__vccOpts || e;
967
- for (const [i, a] of r)
968
- t[i] = a;
955
+ for (const [o, a] of r)
956
+ t[o] = a;
969
957
  return t;
970
- }, Qr = /* @__PURE__ */ le(Yr, [["__scopeId", "data-v-b1513f6f"]]), Wr = {}, Jr = { class: "loading-tabs" };
971
- function Zr(e, r) {
958
+ }, Yr = /* @__PURE__ */ le(Hr, [["__scopeId", "data-v-b1513f6f"]]), Qr = {}, Wr = { class: "loading-tabs" };
959
+ function Jr(e, r) {
972
960
  const t = Ie("KSkeletonBox");
973
- return R(), C("div", Jr, [
961
+ return T(), S("div", Wr, [
974
962
  F(t, { width: "100" }),
975
963
  F(t, { width: "75" })
976
964
  ]);
977
965
  }
978
- const et = /* @__PURE__ */ le(Wr, [["render", Zr], ["__scopeId", "data-v-9c7113d7"]]), rt = {
966
+ const Zr = /* @__PURE__ */ le(Qr, [["render", Jr], ["__scopeId", "data-v-9c7113d7"]]), et = {
979
967
  key: 0,
980
968
  class: "container-title"
981
- }, tt = {
969
+ }, rt = {
982
970
  key: 0,
983
971
  class: "container-description"
984
- }, nt = {
972
+ }, tt = {
985
973
  key: 1,
986
974
  class: "error-display"
987
- }, at = {
975
+ }, nt = {
988
976
  key: 0,
989
977
  class: "error-display-message"
990
- }, it = {
978
+ }, at = {
991
979
  key: 2,
992
980
  class: "cards-wrapper"
993
- }, ot = /* @__PURE__ */ W({
981
+ }, it = /* @__PURE__ */ W({
994
982
  __name: "MetricCardContainer",
995
983
  props: {
996
984
  fallbackDisplayText: {
@@ -1033,37 +1021,37 @@ const et = /* @__PURE__ */ le(Wr, [["render", Zr], ["__scopeId", "data-v-9c7113d
1033
1021
  }
1034
1022
  },
1035
1023
  setup(e) {
1036
- const r = e, t = g(() => r.cards.every((a) => (a == null ? void 0 : a.hasError) === !0)), i = (a) => {
1037
- const n = qr(a.currentValue, a.previousValue) || 0, u = Fr(n, r.hasTrendAccess, a.increaseIsBad);
1024
+ const r = e, t = p(() => r.cards.every((a) => (a == null ? void 0 : a.hasError) === !0)), o = (a) => {
1025
+ const n = xr(a.currentValue, a.previousValue) || 0, u = Mr(n, r.hasTrendAccess, a.increaseIsBad);
1038
1026
  return {
1039
- metricValue: a.formatValueFn ? a.formatValueFn(a.currentValue) : Mr(a.currentValue, { capital: !0, round: !0 }) || "0",
1040
- metricChange: a.formatChangeFn ? a.formatChangeFn(n) : xr(n, r.hasTrendAccess, r.fallbackDisplayText),
1027
+ metricValue: a.formatValueFn ? a.formatValueFn(a.currentValue) : kr(a.currentValue, { capital: !0, round: !0 }) || "0",
1028
+ metricChange: a.formatChangeFn ? a.formatChangeFn(n) : Fr(n, r.hasTrendAccess, r.fallbackDisplayText),
1041
1029
  changePolarity: u,
1042
- trendIcon: Ur(u, a.increaseIsBad),
1030
+ trendIcon: qr(u, a.increaseIsBad),
1043
1031
  cardSize: r.cardSize,
1044
1032
  hasContainerTitle: !!r.containerTitle
1045
1033
  };
1046
1034
  };
1047
- return (a, n) => (R(), C("div", {
1035
+ return (a, n) => (T(), S("div", {
1048
1036
  class: z(["kong-ui-public-metric-card-container", e.cardSize])
1049
1037
  }, [
1050
- r.containerTitle || r.containerDescription ? (R(), C("div", rt, [
1038
+ r.containerTitle || r.containerDescription ? (T(), S("div", et, [
1051
1039
  Ae(w(r.containerTitle) + " ", 1),
1052
- r.containerDescription ? (R(), C("div", tt, w(r.containerDescription), 1)) : V("", !0)
1040
+ r.containerDescription ? (T(), S("div", rt, w(r.containerDescription), 1)) : V("", !0)
1053
1041
  ])) : V("", !0),
1054
- t.value ? (R(), C("div", nt, [
1055
- F(E(be), { class: "error-display-icon" }),
1056
- e.errorMessage ? (R(), C("div", at, w(e.errorMessage), 1)) : V("", !0)
1057
- ])) : (R(), C("div", it, [
1058
- (R(!0), C(ye, null, Ke(e.cards, (u, c) => (R(), C(ye, null, [
1059
- e.loading ? (R(), C("div", {
1060
- key: `skeleton-${c}`,
1042
+ t.value ? (T(), S("div", tt, [
1043
+ F(C(be), { class: "error-display-icon" }),
1044
+ e.errorMessage ? (T(), S("div", nt, w(e.errorMessage), 1)) : V("", !0)
1045
+ ])) : (T(), S("div", at, [
1046
+ (T(!0), S(ge, null, Ke(e.cards, (u, d) => (T(), S(ge, null, [
1047
+ e.loading ? (T(), S("div", {
1048
+ key: `skeleton-${d}`,
1061
1049
  class: "loading-tab"
1062
1050
  }, [
1063
- F(et, {
1064
- class: z(e.cardSize === E(D).Small ? "loading-tabs-small" : "loading-tabs-large")
1051
+ F(Zr, {
1052
+ class: z(e.cardSize === C(D).Small ? "loading-tabs-small" : "loading-tabs-large")
1065
1053
  }, null, 8, ["class"])
1066
- ])) : (R(), U(Qr, Be({ key: c }, { ref_for: !0 }, i(u), {
1054
+ ])) : (T(), U(Yr, Be({ key: d }, { ref_for: !0 }, o(u), {
1067
1055
  "card-size": e.cardSize,
1068
1056
  "card-type": u.cardType,
1069
1057
  description: u.description,
@@ -1078,7 +1066,7 @@ const et = /* @__PURE__ */ le(Wr, [["render", Zr], ["__scopeId", "data-v-9c7113d
1078
1066
  ]))
1079
1067
  ], 2));
1080
1068
  }
1081
- }), st = /* @__PURE__ */ le(ot, [["__scopeId", "data-v-7080ba56"]]), ht = /* @__PURE__ */ W({
1069
+ }), ot = /* @__PURE__ */ le(it, [["__scopeId", "data-v-7080ba56"]]), yt = /* @__PURE__ */ W({
1082
1070
  __name: "MetricsConsumer",
1083
1071
  props: {
1084
1072
  lookupKey: { default: void 0 },
@@ -1089,31 +1077,31 @@ const et = /* @__PURE__ */ le(Wr, [["render", Zr], ["__scopeId", "data-v-9c7113d
1089
1077
  const r = e, t = Ce(Ve);
1090
1078
  if (!t)
1091
1079
  throw new Error("MetricsConsumer must be nested inside a MetricsProvider instance.");
1092
- const { traffic: i, latency: a } = t.data, { i18n: n } = N.useI18n(), u = g(() => t.containerTitle.value ? D.Medium : r.cardSize), c = N.useMetricCardBuilder({
1080
+ const { traffic: o, latency: a } = t.data, { i18n: n } = M.useI18n(), u = p(() => t.containerTitle.value ? D.Medium : r.cardSize), d = M.useMetricCardBuilder({
1093
1081
  cardType: O.TRAFFIC,
1094
- title: g(() => t.longCardTitles ? n.t("metricCard.long.traffic") : n.t("metricCard.short.traffic")),
1095
- record: i.mapped,
1096
- hasError: i.hasError,
1082
+ title: p(() => t.longCardTitles ? n.t("metricCard.long.traffic") : n.t("metricCard.short.traffic")),
1083
+ record: o.mapped,
1084
+ hasError: o.hasError,
1097
1085
  lookupKey: r.lookupKey,
1098
1086
  sumGroupedValues: B,
1099
- trendRange: i.trendRange
1100
- }), d = (h) => `${h.toFixed(ue)}%`, o = g(() => {
1101
- const h = i.mapped.value, I = K(h, "current", r.lookupKey, ge), m = K(h, "current", r.lookupKey, B), y = I / m * 100 || 0, k = K(h, "previous", r.lookupKey, ge), T = K(h, "previous", r.lookupKey, B), S = k / T * 100 || 0;
1087
+ trendRange: o.trendRange
1088
+ }), f = (y) => `${y.toFixed(ue)}%`, i = p(() => {
1089
+ const y = o.mapped.value, _ = K(y, "current", r.lookupKey, ye), m = K(y, "current", r.lookupKey, B), g = _ / m * 100 || 0, N = K(y, "previous", r.lookupKey, ye), E = K(y, "previous", r.lookupKey, B), I = N / E * 100 || 0;
1102
1090
  return {
1103
1091
  cardType: O.ERROR_RATE,
1104
- hasError: i.hasError.value,
1105
- currentValue: y,
1106
- previousValue: S,
1107
- formatValueFn: d,
1092
+ hasError: o.hasError.value,
1093
+ currentValue: g,
1094
+ previousValue: I,
1095
+ formatValueFn: f,
1108
1096
  title: t.longCardTitles ? n.t("metricCard.long.errorRate") : n.t("metricCard.short.errorRate"),
1109
1097
  increaseIsBad: !0,
1110
- trendRange: i.trendRange.value
1098
+ trendRange: o.trendRange.value
1111
1099
  };
1112
- }), s = (h) => `${h}ms`, l = N.useMetricCardBuilder({
1100
+ }), s = (y) => `${y}ms`, l = M.useMetricCardBuilder({
1113
1101
  cardType: O.LATENCY,
1114
- title: g(() => {
1115
- const { longCardTitles: h, averageLatencies: I } = t, m = I.value ? "averageLatency" : "p99Latency";
1116
- return h ? n.t(`metricCard.long.${m}`) : u.value === D.Small ? n.t(`metricCard.small.${m}`) : n.t(`metricCard.short.${m}`);
1102
+ title: p(() => {
1103
+ const { longCardTitles: y, averageLatencies: _ } = t, m = _.value ? "averageLatency" : "p99Latency";
1104
+ return y ? n.t(`metricCard.long.${m}`) : u.value === D.Small ? n.t(`metricCard.small.${m}`) : n.t(`metricCard.short.${m}`);
1117
1105
  }),
1118
1106
  hasError: a.hasError,
1119
1107
  record: a.mapped,
@@ -1121,8 +1109,8 @@ const et = /* @__PURE__ */ le(Wr, [["render", Zr], ["__scopeId", "data-v-9c7113d
1121
1109
  increaseIsBad: !0,
1122
1110
  formatValueFn: s,
1123
1111
  trendRange: a.trendRange
1124
- }), f = g(() => r.cardToDisplay === "TRAFFIC" ? [c.value] : r.cardToDisplay === "ERROR_RATE" ? [o.value] : r.cardToDisplay === "LATENCY" ? [l.value] : [c.value, o.value, l.value]), v = g(() => r.cardToDisplay === "TRAFFIC" || r.cardToDisplay === "ERROR_RATE" ? i.isLoading.value : r.cardToDisplay === "LATENCY" ? a.isLoading.value : i.isLoading.value || a.isLoading.value), p = g(() => ({
1125
- cards: f.value,
1112
+ }), c = p(() => r.cardToDisplay === "TRAFFIC" ? [d.value] : r.cardToDisplay === "ERROR_RATE" ? [i.value] : r.cardToDisplay === "LATENCY" ? [l.value] : [d.value, i.value, l.value]), v = p(() => r.cardToDisplay === "TRAFFIC" || r.cardToDisplay === "ERROR_RATE" ? o.isLoading.value : r.cardToDisplay === "LATENCY" ? a.isLoading.value : o.isLoading.value || a.isLoading.value), h = p(() => ({
1113
+ cards: c.value,
1126
1114
  containerTitle: t.containerTitle.value,
1127
1115
  containerDescription: t.description.value,
1128
1116
  loading: v.value,
@@ -1130,30 +1118,30 @@ const et = /* @__PURE__ */ le(Wr, [["render", Zr], ["__scopeId", "data-v-9c7113d
1130
1118
  fallbackDisplayText: n.t("general.notAvailable"),
1131
1119
  cardSize: u.value,
1132
1120
  hideTitle: !0
1133
- })), _ = g(() => ({
1134
- loading: p.value.loading,
1135
- trafficCard: c.value,
1136
- errorRateCard: o.value,
1121
+ })), R = p(() => ({
1122
+ loading: h.value.loading,
1123
+ trafficCard: d.value,
1124
+ errorRateCard: i.value,
1137
1125
  latencyCard: l.value,
1138
- errorRateFormatted: d(o.value.currentValue),
1126
+ errorRateFormatted: f(i.value.currentValue),
1139
1127
  latencyFormatted: s(l.value.currentValue)
1140
1128
  }));
1141
- return (h, I) => Se(h.$slots, "default", { cardValues: _.value }, () => [
1142
- F(st, Xe(Ge(p.value)), null, 16)
1129
+ return (y, _) => Se(y.$slots, "default", { cardValues: R.value }, () => [
1130
+ F(ot, Xe(Ge(h.value)), null, 16)
1143
1131
  ]);
1144
1132
  }
1145
- }), H = (e) => new Date(e), pt = (e, r) => {
1133
+ }), H = (e) => new Date(e), ht = (e, r) => {
1146
1134
  const t = e.body;
1147
1135
  e.reply({
1148
1136
  statusCode: 200,
1149
- body: ut(t, r)
1137
+ body: st(t, r)
1150
1138
  });
1151
- }, _e = (e) => e.reduce((r, t) => (r[t] = { name: t }, r), {}), ut = (e, r) => {
1152
- var _, h, I;
1139
+ }, _e = (e) => e.reduce((r, t) => (r[t] = { name: t }, r), {}), st = (e, r) => {
1140
+ var R, y, _;
1153
1141
  const t = r != null && r.timeRange && {
1154
1142
  start: r.timeRange.start,
1155
1143
  end: r.timeRange.end
1156
- } || ((_ = e.time_range) == null ? void 0 : _.type) === "absolute" ? {
1144
+ } || ((R = e.time_range) == null ? void 0 : R.type) === "absolute" ? {
1157
1145
  // @ts-ignore - already asserted time range is absolute above
1158
1146
  start: new Date(e.time_range.start),
1159
1147
  // @ts-ignore - already asserted time range is absolute above
@@ -1161,70 +1149,63 @@ const et = /* @__PURE__ */ le(Wr, [["render", Zr], ["__scopeId", "data-v-9c7113d
1161
1149
  } : {
1162
1150
  start: new Date(Date.now() - 864e5),
1163
1151
  end: /* @__PURE__ */ new Date()
1164
- }, i = t.end.getTime() - t.start.getTime(), a = e.granularity === "trend" ? {
1165
- start: new Date(t.start.getTime() - i),
1152
+ }, o = t.end.getTime() - t.start.getTime(), a = e.granularity === "trend" ? {
1153
+ start: new Date(t.start.getTime() - o),
1166
1154
  end: t.end,
1167
1155
  granularity: t.end.getTime() - t.start.getTime()
1168
1156
  } : {
1169
1157
  start: t.start,
1170
1158
  end: t.end,
1171
1159
  granularity: t.end.getTime() - t.start.getTime()
1172
- }, n = a.end.getTime(), u = a.start.getTime(), c = a.granularity, d = e.granularity === "trend" ? 2 : 1;
1160
+ }, n = a.end.getTime(), u = a.start.getTime(), d = a.granularity, f = e.granularity === "trend" ? 2 : 1;
1173
1161
  if ((e.dimensions ?? []).length > 2)
1174
1162
  throw new Error(`Explore only supports 0-2 dimensions; got: ${JSON.stringify(e.dimensions)}`);
1175
- const o = (e.dimensions ?? []).find((m) => m !== "time"), s = (r == null ? void 0 : r.dimensionNames) ?? [], l = Math.max(s.length, 1), f = e.metrics || [], v = [];
1176
- for (let m = 0; m < d; m++)
1177
- for (let y = 0; y < l; y++) {
1178
- const k = o ? { [o]: s[y] } : {};
1179
- (h = e.dimensions) != null && h.includes("status_code_grouped") ? B.forEach((T) => {
1180
- const S = f.reduce((A, x) => ((r == null ? void 0 : r.deterministic) ?? !0 ? A[x] = (d - m) * 1e3 + 100 * y + 1 : A[x] = Math.round(Math.random() * 1e3), A), { ...k, status_code_grouped: T });
1163
+ const i = (e.dimensions ?? []).find((m) => m !== "time"), s = (r == null ? void 0 : r.dimensionNames) ?? [], l = Math.max(s.length, 1), c = e.metrics || [], v = [];
1164
+ for (let m = 0; m < f; m++)
1165
+ for (let g = 0; g < l; g++) {
1166
+ const N = i ? { [i]: s[g] } : {};
1167
+ (y = e.dimensions) != null && y.includes("status_code_grouped") ? B.forEach((E) => {
1168
+ const I = c.reduce((A, x) => ((r == null ? void 0 : r.deterministic) ?? !0 ? A[x] = (f - m) * 1e3 + 100 * g + 1 : A[x] = Math.round(Math.random() * 1e3), A), { ...N, status_code_grouped: E });
1181
1169
  v.push({
1182
1170
  version: "v1",
1183
- timestamp: m === 0 ? H(u).toISOString() : H(u + c).toISOString(),
1184
- event: S
1171
+ timestamp: m === 0 ? H(u).toISOString() : H(u + d).toISOString(),
1172
+ event: I
1185
1173
  });
1186
1174
  }) : v.push({
1187
1175
  version: "v1",
1188
- timestamp: m === 0 ? H(u).toISOString() : H(u + c).toISOString(),
1189
- event: f.reduce((T, S) => ((r == null ? void 0 : r.deterministic) ?? !0 ? T[S] = (d - m) * 1e3 + 100 * y + 1 : T[S] = Math.round(Math.random() * 1e3), T), { ...k })
1176
+ timestamp: m === 0 ? H(u).toISOString() : H(u + d).toISOString(),
1177
+ event: c.reduce((E, I) => ((r == null ? void 0 : r.deterministic) ?? !0 ? E[I] = (f - m) * 1e3 + 100 * g + 1 : E[I] = Math.round(Math.random() * 1e3), E), { ...N })
1190
1178
  });
1191
1179
  }
1192
- const p = {
1180
+ const h = {
1193
1181
  start_ms: u,
1194
1182
  end_ms: n,
1195
1183
  start: new Date(u).toISOString(),
1196
1184
  end: new Date(n).toISOString(),
1197
- granularity_ms: c,
1198
- display: o ? {
1199
- [o]: _e(s),
1200
- ...(I = e.dimensions) != null && I.includes("status_code_grouped") ? { status_code_grouped: _e(B) } : {}
1185
+ granularity_ms: d,
1186
+ display: i ? {
1187
+ [i]: _e(s),
1188
+ ...(_ = e.dimensions) != null && _.includes("status_code_grouped") ? { status_code_grouped: _e(B) } : {}
1201
1189
  } : {},
1202
1190
  metric_names: e.metrics,
1203
1191
  query_id: "test"
1204
1192
  };
1205
1193
  return {
1206
1194
  data: v,
1207
- meta: p
1195
+ meta: h
1208
1196
  };
1209
1197
  };
1210
1198
  export {
1211
1199
  B as ALL_STATUS_CODE_GROUPS,
1212
- ue as DECIMAL_DISPLAY,
1213
- Te as DECIMAL_ROUNDING_PRECISION,
1214
1200
  fr as DEFAULT_REFRESH_INTERVAL,
1215
1201
  vr as INJECT_QUERY_PROVIDER,
1216
1202
  dr as MAX_ANALYTICS_REQUEST_RETRIES,
1217
1203
  D as MetricCardSize,
1218
1204
  O as MetricCardType,
1219
- ht as MetricsConsumer,
1205
+ yt as MetricsConsumer,
1220
1206
  gt as MetricsProvider,
1221
- ge as STATUS_CODES_FAILED,
1222
- yt as STATUS_CODES_SUCCESS,
1223
- qr as calculateChange,
1224
- Fr as changePolarity,
1225
- Ur as defineIcon,
1226
- xr as metricChange,
1227
- ut as mockExploreResponse,
1228
- pt as mockExploreResponseFromCypress,
1229
- Rr as useTrendRange
1207
+ ye as STATUS_CODES_FAILED,
1208
+ mt as STATUS_CODES_SUCCESS,
1209
+ st as mockExploreResponse,
1210
+ ht as mockExploreResponseFromCypress
1230
1211
  };