@kong-ui-public/dashboard-renderer 0.5.10 → 0.6.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/dashboard-renderer.es.js +224 -188
- package/dist/dashboard-renderer.umd.js +1 -1
- package/dist/style.css +1 -1
- package/dist/types/components/DashboardTile.vue.d.ts +30 -125
- package/dist/types/components/DashboardTile.vue.d.ts.map +1 -1
- package/dist/types/components/GoldenSignalsRenderer.vue.d.ts +23 -0
- package/dist/types/components/GoldenSignalsRenderer.vue.d.ts.map +1 -0
- package/dist/types/types/dashboard-renderer-types.d.ts +64 -1
- package/dist/types/types/dashboard-renderer-types.d.ts.map +1 -1
- package/package.json +5 -3
|
@@ -1,13 +1,14 @@
|
|
|
1
|
-
import { ref as E, watchEffect as
|
|
2
|
-
import { ChartMetricDisplay as ie, ChartTypesSimple as
|
|
3
|
-
import
|
|
1
|
+
import { ref as E, watchEffect as X, defineComponent as v, inject as V, onUnmounted as B, computed as u, resolveComponent as z, unref as y, openBlock as c, createBlock as _, withCtx as b, createTextVNode as H, toDisplayString as U, renderSlot as K, createCommentVNode as F, useCssVars as O, createElementVNode as L, createVNode as w, normalizeProps as M, guardReactiveProps as ee, createElementBlock as C, resolveDynamicComponent as te, mergeProps as re, onMounted as oe, Fragment as ne, renderList as ae, normalizeClass as se, normalizeStyle as G } from "vue";
|
|
2
|
+
import { ChartMetricDisplay as ie, ChartTypesSimple as ce, SimpleChart as pe, ChartTypes as P, AnalyticsChart as Q } from "@kong-ui-public/analytics-chart";
|
|
3
|
+
import le from "swrv";
|
|
4
4
|
import "axios";
|
|
5
|
-
import { createI18n as
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
import { createI18n as ue, i18nTComponent as de } from "@kong-ui-public/i18n";
|
|
6
|
+
import { MetricsProviderInternal as ye, MetricsConsumer as he } from "@kong-ui-public/analytics-metric-provider";
|
|
7
|
+
const N = 170, W = "analytics-query-provider";
|
|
8
|
+
var d = /* @__PURE__ */ ((e) => (e.HorizontalBar = "horizontal_bar", e.VerticalBar = "vertical_bar", e.Gauge = "gauge", e.TimeseriesLine = "timeseries_line", e.GoldenSignals = "golden_signals", e))(d || {});
|
|
8
9
|
const j = {
|
|
9
10
|
type: "string"
|
|
10
|
-
},
|
|
11
|
+
}, Y = {
|
|
11
12
|
type: ["object", "array"],
|
|
12
13
|
items: {
|
|
13
14
|
type: "string"
|
|
@@ -15,7 +16,7 @@ const j = {
|
|
|
15
16
|
additionalProperties: {
|
|
16
17
|
type: "string"
|
|
17
18
|
}
|
|
18
|
-
},
|
|
19
|
+
}, _e = {
|
|
19
20
|
type: "object",
|
|
20
21
|
properties: {
|
|
21
22
|
type: {
|
|
@@ -32,12 +33,12 @@ const j = {
|
|
|
32
33
|
showAnnotations: {
|
|
33
34
|
type: "boolean"
|
|
34
35
|
},
|
|
35
|
-
chartDatasetColors:
|
|
36
|
+
chartDatasetColors: Y,
|
|
36
37
|
syntheticsDataKey: j
|
|
37
38
|
},
|
|
38
39
|
required: ["type"],
|
|
39
40
|
additionalProperties: !1
|
|
40
|
-
},
|
|
41
|
+
}, me = {
|
|
41
42
|
type: "object",
|
|
42
43
|
properties: {
|
|
43
44
|
type: {
|
|
@@ -53,12 +54,12 @@ const j = {
|
|
|
53
54
|
fill: {
|
|
54
55
|
type: "boolean"
|
|
55
56
|
},
|
|
56
|
-
chartDatasetColors:
|
|
57
|
+
chartDatasetColors: Y,
|
|
57
58
|
syntheticsDataKey: j
|
|
58
59
|
},
|
|
59
60
|
required: ["type"],
|
|
60
61
|
additionalProperties: !1
|
|
61
|
-
},
|
|
62
|
+
}, ge = {
|
|
62
63
|
type: "object",
|
|
63
64
|
properties: {
|
|
64
65
|
type: {
|
|
@@ -82,7 +83,25 @@ const j = {
|
|
|
82
83
|
},
|
|
83
84
|
required: ["type"],
|
|
84
85
|
additionalProperties: !1
|
|
85
|
-
},
|
|
86
|
+
}, ve = {
|
|
87
|
+
type: "object",
|
|
88
|
+
properties: {
|
|
89
|
+
type: {
|
|
90
|
+
type: "string",
|
|
91
|
+
enum: [
|
|
92
|
+
"golden_signals"
|
|
93
|
+
/* GoldenSignals */
|
|
94
|
+
]
|
|
95
|
+
},
|
|
96
|
+
longCardTitles: {
|
|
97
|
+
type: "boolean"
|
|
98
|
+
},
|
|
99
|
+
description: {
|
|
100
|
+
type: "string"
|
|
101
|
+
}
|
|
102
|
+
},
|
|
103
|
+
required: ["type"]
|
|
104
|
+
}, fe = {
|
|
86
105
|
type: "object",
|
|
87
106
|
description: "A filter that specifies which data to include in the query",
|
|
88
107
|
properties: {
|
|
@@ -123,7 +142,7 @@ const j = {
|
|
|
123
142
|
"type",
|
|
124
143
|
"values"
|
|
125
144
|
]
|
|
126
|
-
},
|
|
145
|
+
}, be = {
|
|
127
146
|
type: "object",
|
|
128
147
|
properties: {
|
|
129
148
|
tz: {
|
|
@@ -158,7 +177,7 @@ const j = {
|
|
|
158
177
|
"type",
|
|
159
178
|
"time_range"
|
|
160
179
|
]
|
|
161
|
-
},
|
|
180
|
+
}, qe = {
|
|
162
181
|
type: "object",
|
|
163
182
|
description: "A duration representing an exact start and end time.",
|
|
164
183
|
properties: {
|
|
@@ -182,7 +201,7 @@ const j = {
|
|
|
182
201
|
required: [
|
|
183
202
|
"type"
|
|
184
203
|
]
|
|
185
|
-
},
|
|
204
|
+
}, Se = {
|
|
186
205
|
type: "object",
|
|
187
206
|
description: "A query to launch at the API",
|
|
188
207
|
properties: {
|
|
@@ -243,7 +262,7 @@ const j = {
|
|
|
243
262
|
filters: {
|
|
244
263
|
type: "array",
|
|
245
264
|
description: "A list of filters to apply to the query.",
|
|
246
|
-
items:
|
|
265
|
+
items: fe
|
|
247
266
|
},
|
|
248
267
|
granularity_ms: {
|
|
249
268
|
type: "number",
|
|
@@ -253,8 +272,8 @@ const j = {
|
|
|
253
272
|
time_range: {
|
|
254
273
|
description: "The time range to query.",
|
|
255
274
|
oneOf: [
|
|
256
|
-
|
|
257
|
-
|
|
275
|
+
be,
|
|
276
|
+
qe
|
|
258
277
|
],
|
|
259
278
|
default: {
|
|
260
279
|
type: "relative",
|
|
@@ -265,17 +284,17 @@ const j = {
|
|
|
265
284
|
type: "object"
|
|
266
285
|
}
|
|
267
286
|
}
|
|
268
|
-
},
|
|
287
|
+
}, Re = {
|
|
269
288
|
type: "object",
|
|
270
289
|
properties: {
|
|
271
|
-
query:
|
|
290
|
+
query: Se,
|
|
272
291
|
chart: {
|
|
273
|
-
oneOf: [
|
|
292
|
+
oneOf: [_e, ge, me, ve]
|
|
274
293
|
}
|
|
275
294
|
},
|
|
276
295
|
required: ["query", "chart"],
|
|
277
296
|
additionalProperties: !1
|
|
278
|
-
},
|
|
297
|
+
}, Ae = {
|
|
279
298
|
type: "object",
|
|
280
299
|
properties: {
|
|
281
300
|
position: {
|
|
@@ -309,24 +328,24 @@ const j = {
|
|
|
309
328
|
},
|
|
310
329
|
required: ["position", "size"],
|
|
311
330
|
additionalProperties: !1
|
|
312
|
-
},
|
|
331
|
+
}, Ce = {
|
|
313
332
|
type: "object",
|
|
314
333
|
properties: {
|
|
315
|
-
definition:
|
|
316
|
-
layout:
|
|
334
|
+
definition: Re,
|
|
335
|
+
layout: Ae
|
|
317
336
|
},
|
|
318
337
|
required: ["definition", "layout"],
|
|
319
338
|
additionalProperties: !1
|
|
320
|
-
},
|
|
339
|
+
}, et = {
|
|
321
340
|
type: "object",
|
|
322
341
|
properties: {
|
|
323
342
|
tiles: {
|
|
324
343
|
type: "array",
|
|
325
|
-
items:
|
|
344
|
+
items: Ce
|
|
326
345
|
},
|
|
327
346
|
tileHeight: {
|
|
328
347
|
type: "number",
|
|
329
|
-
description: `Height of each tile in pixels. Default: ${
|
|
348
|
+
description: `Height of each tile in pixels. Default: ${N}`
|
|
330
349
|
},
|
|
331
350
|
gridSize: {
|
|
332
351
|
type: "object",
|
|
@@ -346,20 +365,20 @@ const j = {
|
|
|
346
365
|
required: ["tiles", "gridSize"],
|
|
347
366
|
additionalProperties: !1
|
|
348
367
|
};
|
|
349
|
-
var
|
|
350
|
-
const
|
|
351
|
-
var t, o,
|
|
368
|
+
var J = /* @__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))(J || {});
|
|
369
|
+
const Ee = (e) => {
|
|
370
|
+
var t, o, n, r, a;
|
|
352
371
|
return e ? !!// TODO: revisit: currently only the first check ever matters?
|
|
353
|
-
((t = Object.keys(e)) != null && t.length || (o = e.data) != null && o.length || (r = (
|
|
372
|
+
((t = Object.keys(e)) != null && t.length || (o = e.data) != null && o.length || (r = (n = e.data) == null ? void 0 : n.data) != null && r.length || !((a = e.data) != null && a.data) && typeof e.data == "object" && Object.keys(e == null ? void 0 : e.data).length) : !1;
|
|
354
373
|
};
|
|
355
|
-
function
|
|
374
|
+
function we(e = E({}), t, o, n = Ee) {
|
|
356
375
|
const r = E(
|
|
357
376
|
"PENDING"
|
|
358
377
|
/* PENDING */
|
|
359
378
|
);
|
|
360
|
-
return
|
|
361
|
-
const
|
|
362
|
-
if (e.value &&
|
|
379
|
+
return X(() => {
|
|
380
|
+
const a = n(e.value);
|
|
381
|
+
if (e.value && a && o.value) {
|
|
363
382
|
r.value = "VALIDATING_HAS_DATA";
|
|
364
383
|
return;
|
|
365
384
|
}
|
|
@@ -375,7 +394,7 @@ function Ae(e = E({}), t, o, a = Se) {
|
|
|
375
394
|
r.value = "PENDING";
|
|
376
395
|
return;
|
|
377
396
|
}
|
|
378
|
-
if (e.value && !t.value &&
|
|
397
|
+
if (e.value && !t.value && a) {
|
|
379
398
|
r.value = "SUCCESS_HAS_DATA";
|
|
380
399
|
return;
|
|
381
400
|
}
|
|
@@ -386,28 +405,28 @@ function Ae(e = E({}), t, o, a = Se) {
|
|
|
386
405
|
e.value === void 0 && t && (r.value = "ERROR");
|
|
387
406
|
}), {
|
|
388
407
|
state: r,
|
|
389
|
-
swrvState:
|
|
408
|
+
swrvState: J
|
|
390
409
|
};
|
|
391
410
|
}
|
|
392
|
-
const
|
|
411
|
+
const Ie = {
|
|
393
412
|
noQueryBridge: "No query bridge provided. Unable to render dashboard."
|
|
394
|
-
},
|
|
413
|
+
}, Te = {
|
|
395
414
|
timeRangeExceeded: "The time range for this report is outside of your organization's data retention period"
|
|
396
|
-
},
|
|
397
|
-
renderer:
|
|
398
|
-
queryDataProvider:
|
|
415
|
+
}, De = {
|
|
416
|
+
renderer: Ie,
|
|
417
|
+
queryDataProvider: Te
|
|
399
418
|
};
|
|
400
|
-
function
|
|
401
|
-
const e =
|
|
419
|
+
function ke() {
|
|
420
|
+
const e = ue("en-us", De);
|
|
402
421
|
return {
|
|
403
422
|
i18n: e,
|
|
404
|
-
i18nT:
|
|
423
|
+
i18nT: de(e)
|
|
405
424
|
// Translation component <i18n-t>
|
|
406
425
|
};
|
|
407
426
|
}
|
|
408
|
-
const
|
|
409
|
-
useI18n:
|
|
410
|
-
}, $ = /* @__PURE__ */
|
|
427
|
+
const Z = {
|
|
428
|
+
useI18n: ke
|
|
429
|
+
}, $ = /* @__PURE__ */ v({
|
|
411
430
|
__name: "QueryDataProvider",
|
|
412
431
|
props: {
|
|
413
432
|
query: {},
|
|
@@ -415,43 +434,43 @@ const J = {
|
|
|
415
434
|
},
|
|
416
435
|
emits: ["queryComplete"],
|
|
417
436
|
setup(e, { emit: t }) {
|
|
418
|
-
const o = e,
|
|
419
|
-
|
|
420
|
-
|
|
437
|
+
const o = e, n = t, { i18n: r } = Z.useI18n(), a = V(W), p = () => o.queryReady && a ? JSON.stringify(o.query) : null, f = new AbortController();
|
|
438
|
+
B(() => {
|
|
439
|
+
f.abort();
|
|
421
440
|
});
|
|
422
|
-
const { data:
|
|
423
|
-
var
|
|
441
|
+
const { data: m, error: R, isValidating: i } = le(p, async () => {
|
|
442
|
+
var q, A, S, k;
|
|
424
443
|
try {
|
|
425
|
-
return
|
|
426
|
-
} catch (
|
|
427
|
-
|
|
444
|
+
return a == null ? void 0 : a.queryFn(o.query, f);
|
|
445
|
+
} catch (h) {
|
|
446
|
+
g.value = ((A = (q = h == null ? void 0 : h.response) == null ? void 0 : q.data) == null ? void 0 : A.message) === "Range not allowed for this tier" ? r.t("queryDataProvider.timeRangeExceeded") : ((k = (S = h == null ? void 0 : h.response) == null ? void 0 : S.data) == null ? void 0 : k.message) || (h == null ? void 0 : h.message);
|
|
428
447
|
} finally {
|
|
429
|
-
|
|
448
|
+
n("queryComplete");
|
|
430
449
|
}
|
|
431
|
-
}), { state:
|
|
432
|
-
return (
|
|
433
|
-
const
|
|
434
|
-
return D.value || !m
|
|
450
|
+
}), { state: s, swrvState: l } = we(m, R, i), g = E(null), T = u(() => s.value === l.ERROR || !!g.value), D = u(() => !o.queryReady || s.value === l.PENDING);
|
|
451
|
+
return (q, A) => {
|
|
452
|
+
const S = z("KSkeleton"), k = z("KEmptyState");
|
|
453
|
+
return D.value || !y(m) && !T.value ? (c(), _(S, {
|
|
435
454
|
key: 0,
|
|
436
455
|
class: "chart-skeleton",
|
|
437
456
|
type: "table"
|
|
438
|
-
})) :
|
|
457
|
+
})) : T.value ? (c(), _(k, {
|
|
439
458
|
key: 1,
|
|
440
459
|
"cta-is-hidden": "",
|
|
441
460
|
"data-testid": "chart-empty-state",
|
|
442
461
|
"is-error": ""
|
|
443
462
|
}, {
|
|
444
|
-
message:
|
|
445
|
-
|
|
463
|
+
message: b(() => [
|
|
464
|
+
H(U(g.value), 1)
|
|
446
465
|
]),
|
|
447
466
|
_: 1
|
|
448
|
-
})) : m
|
|
467
|
+
})) : y(m) ? K(q.$slots, "default", {
|
|
449
468
|
key: 2,
|
|
450
|
-
data: m
|
|
469
|
+
data: y(m)
|
|
451
470
|
}) : F("", !0);
|
|
452
471
|
};
|
|
453
472
|
}
|
|
454
|
-
}),
|
|
473
|
+
}), Oe = { class: "analytics-chart" }, ze = /* @__PURE__ */ v({
|
|
455
474
|
__name: "SimpleChartRenderer",
|
|
456
475
|
props: {
|
|
457
476
|
query: {},
|
|
@@ -460,24 +479,24 @@ const J = {
|
|
|
460
479
|
height: {}
|
|
461
480
|
},
|
|
462
481
|
setup(e) {
|
|
463
|
-
|
|
482
|
+
O((r) => ({
|
|
464
483
|
"134a876f": `${r.height}px`
|
|
465
484
|
}));
|
|
466
485
|
const t = e, o = {
|
|
467
|
-
[
|
|
468
|
-
},
|
|
486
|
+
[d.Gauge]: ce.GAUGE
|
|
487
|
+
}, n = u(() => ({
|
|
469
488
|
...t.chartOptions,
|
|
470
489
|
type: o[t.chartOptions.type]
|
|
471
490
|
}));
|
|
472
|
-
return (r,
|
|
491
|
+
return (r, a) => (c(), _($, {
|
|
473
492
|
query: r.query,
|
|
474
493
|
"query-ready": r.queryReady
|
|
475
494
|
}, {
|
|
476
|
-
default:
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
"chart-data":
|
|
480
|
-
"chart-options":
|
|
495
|
+
default: b(({ data: p }) => [
|
|
496
|
+
L("div", Oe, [
|
|
497
|
+
w(y(pe), {
|
|
498
|
+
"chart-data": p,
|
|
499
|
+
"chart-options": n.value,
|
|
481
500
|
"synthetics-data-key": r.chartOptions.syntheticsDataKey
|
|
482
501
|
}, null, 8, ["chart-data", "chart-options", "synthetics-data-key"])
|
|
483
502
|
])
|
|
@@ -485,12 +504,12 @@ const J = {
|
|
|
485
504
|
_: 1
|
|
486
505
|
}, 8, ["query", "query-ready"]));
|
|
487
506
|
}
|
|
488
|
-
}),
|
|
507
|
+
}), I = (e, t) => {
|
|
489
508
|
const o = e.__vccOpts || e;
|
|
490
|
-
for (const [
|
|
491
|
-
o[
|
|
509
|
+
for (const [n, r] of t)
|
|
510
|
+
o[n] = r;
|
|
492
511
|
return o;
|
|
493
|
-
},
|
|
512
|
+
}, Pe = /* @__PURE__ */ I(ze, [["__scopeId", "data-v-ec989cc0"]]), Le = { class: "analytics-chart" }, Ne = /* @__PURE__ */ v({
|
|
494
513
|
__name: "BarChartRenderer",
|
|
495
514
|
props: {
|
|
496
515
|
query: {},
|
|
@@ -499,26 +518,26 @@ const J = {
|
|
|
499
518
|
height: {}
|
|
500
519
|
},
|
|
501
520
|
setup(e) {
|
|
502
|
-
|
|
521
|
+
O((r) => ({
|
|
503
522
|
"381b03f2": `${r.height}px`
|
|
504
523
|
}));
|
|
505
524
|
const t = e, o = {
|
|
506
|
-
[
|
|
507
|
-
[
|
|
508
|
-
},
|
|
525
|
+
[d.HorizontalBar]: P.HORIZONTAL_BAR,
|
|
526
|
+
[d.VerticalBar]: P.VERTICAL_BAR
|
|
527
|
+
}, n = u(() => ({
|
|
509
528
|
type: o[t.chartOptions.type],
|
|
510
529
|
stacked: t.chartOptions.stacked,
|
|
511
530
|
chartDatasetColors: t.chartOptions.chartDatasetColors
|
|
512
531
|
}));
|
|
513
|
-
return (r,
|
|
532
|
+
return (r, a) => (c(), _($, {
|
|
514
533
|
query: r.query,
|
|
515
534
|
"query-ready": r.queryReady
|
|
516
535
|
}, {
|
|
517
|
-
default:
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
"chart-data":
|
|
521
|
-
"chart-options":
|
|
536
|
+
default: b(({ data: p }) => [
|
|
537
|
+
L("div", Le, [
|
|
538
|
+
w(y(Q), {
|
|
539
|
+
"chart-data": p,
|
|
540
|
+
"chart-options": n.value,
|
|
522
541
|
"legend-position": "bottom",
|
|
523
542
|
"show-annotations": r.chartOptions.showAnnotations,
|
|
524
543
|
"tooltip-title": ""
|
|
@@ -528,7 +547,7 @@ const J = {
|
|
|
528
547
|
_: 1
|
|
529
548
|
}, 8, ["query", "query-ready"]));
|
|
530
549
|
}
|
|
531
|
-
}), x = /* @__PURE__ */
|
|
550
|
+
}), x = /* @__PURE__ */ I(Ne, [["__scopeId", "data-v-1b9ab912"]]), je = { class: "analytics-chart" }, $e = /* @__PURE__ */ v({
|
|
532
551
|
__name: "TimeseriesChartRenderer",
|
|
533
552
|
props: {
|
|
534
553
|
query: {},
|
|
@@ -537,27 +556,27 @@ const J = {
|
|
|
537
556
|
height: {}
|
|
538
557
|
},
|
|
539
558
|
setup(e) {
|
|
540
|
-
|
|
559
|
+
O((r) => ({
|
|
541
560
|
"01f81c18": `${r.height}px`
|
|
542
561
|
}));
|
|
543
562
|
const t = e, o = {
|
|
544
|
-
[
|
|
563
|
+
[d.TimeseriesLine]: P.TIMESERIES_LINE
|
|
545
564
|
// TODO: Timeseries bar
|
|
546
|
-
},
|
|
565
|
+
}, n = u(() => ({
|
|
547
566
|
type: o[t.chartOptions.type],
|
|
548
567
|
fill: t.chartOptions.fill,
|
|
549
568
|
stacked: t.chartOptions.stacked,
|
|
550
569
|
chartDatasetColors: t.chartOptions.chartDatasetColors
|
|
551
570
|
}));
|
|
552
|
-
return (r,
|
|
571
|
+
return (r, a) => (c(), _($, {
|
|
553
572
|
query: r.query,
|
|
554
573
|
"query-ready": r.queryReady
|
|
555
574
|
}, {
|
|
556
|
-
default:
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
"chart-data":
|
|
560
|
-
"chart-options":
|
|
575
|
+
default: b(({ data: p }) => [
|
|
576
|
+
L("div", je, [
|
|
577
|
+
w(y(Q), {
|
|
578
|
+
"chart-data": p,
|
|
579
|
+
"chart-options": n.value,
|
|
561
580
|
"legend-position": "bottom",
|
|
562
581
|
"tooltip-title": ""
|
|
563
582
|
}, null, 8, ["chart-data", "chart-options"])
|
|
@@ -566,26 +585,42 @@ const J = {
|
|
|
566
585
|
_: 1
|
|
567
586
|
}, 8, ["query", "query-ready"]));
|
|
568
587
|
}
|
|
569
|
-
}),
|
|
588
|
+
}), Ge = /* @__PURE__ */ I($e, [["__scopeId", "data-v-efe3a03d"]]), xe = /* @__PURE__ */ v({
|
|
589
|
+
__name: "GoldenSignalsRenderer",
|
|
590
|
+
props: {
|
|
591
|
+
query: {},
|
|
592
|
+
queryReady: { type: Boolean },
|
|
593
|
+
chartOptions: {},
|
|
594
|
+
height: {}
|
|
595
|
+
},
|
|
596
|
+
setup(e) {
|
|
597
|
+
const t = e, o = u(() => ({
|
|
598
|
+
longCardTitles: t.chartOptions.longCardTitles,
|
|
599
|
+
description: t.chartOptions.description,
|
|
600
|
+
hasTrendAccess: !0,
|
|
601
|
+
refreshInterval: 0
|
|
602
|
+
}));
|
|
603
|
+
return (n, r) => (c(), _(y(ye), M(ee(o.value)), {
|
|
604
|
+
default: b(() => [
|
|
605
|
+
w(y(he))
|
|
606
|
+
]),
|
|
607
|
+
_: 1
|
|
608
|
+
}, 16));
|
|
609
|
+
}
|
|
610
|
+
}), Ve = { class: "tile-boundary" }, Be = /* @__PURE__ */ v({
|
|
570
611
|
__name: "DashboardTile",
|
|
571
612
|
props: {
|
|
572
|
-
definition: {
|
|
573
|
-
|
|
574
|
-
required: !0
|
|
575
|
-
},
|
|
576
|
-
height: {
|
|
577
|
-
type: Number,
|
|
578
|
-
required: !1,
|
|
579
|
-
default: () => L
|
|
580
|
-
}
|
|
613
|
+
definition: {},
|
|
614
|
+
height: { default: N }
|
|
581
615
|
},
|
|
582
616
|
setup(e) {
|
|
583
617
|
const t = e, o = {
|
|
584
|
-
[
|
|
585
|
-
[
|
|
586
|
-
[
|
|
587
|
-
[
|
|
588
|
-
|
|
618
|
+
[d.TimeseriesLine]: Ge,
|
|
619
|
+
[d.HorizontalBar]: x,
|
|
620
|
+
[d.VerticalBar]: x,
|
|
621
|
+
[d.Gauge]: Pe,
|
|
622
|
+
[d.GoldenSignals]: xe
|
|
623
|
+
}, n = u(() => ({
|
|
589
624
|
component: o[t.definition.chart.type],
|
|
590
625
|
rendererProps: {
|
|
591
626
|
query: t.definition.query,
|
|
@@ -595,11 +630,11 @@ const J = {
|
|
|
595
630
|
height: t.height
|
|
596
631
|
}
|
|
597
632
|
}));
|
|
598
|
-
return (r,
|
|
599
|
-
|
|
633
|
+
return (r, a) => (c(), C("div", Ve, [
|
|
634
|
+
n.value ? (c(), _(te(n.value.component), M(re({ key: 0 }, n.value.rendererProps)), null, 16)) : F("", !0)
|
|
600
635
|
]));
|
|
601
636
|
}
|
|
602
|
-
}),
|
|
637
|
+
}), He = "20px", Ue = /* @__PURE__ */ v({
|
|
603
638
|
__name: "GridLayout",
|
|
604
639
|
props: {
|
|
605
640
|
gridSize: {
|
|
@@ -609,7 +644,7 @@ const J = {
|
|
|
609
644
|
tileHeight: {
|
|
610
645
|
type: Number,
|
|
611
646
|
required: !1,
|
|
612
|
-
default: () =>
|
|
647
|
+
default: () => N
|
|
613
648
|
},
|
|
614
649
|
tiles: {
|
|
615
650
|
type: Array,
|
|
@@ -617,117 +652,118 @@ const J = {
|
|
|
617
652
|
}
|
|
618
653
|
},
|
|
619
654
|
setup(e) {
|
|
620
|
-
|
|
621
|
-
bbf5361e: `${
|
|
655
|
+
O((i) => ({
|
|
656
|
+
bbf5361e: `${R.value}px`
|
|
622
657
|
}));
|
|
623
|
-
const t = parseInt(
|
|
624
|
-
r.value =
|
|
658
|
+
const t = parseInt(He), o = e, n = E(null), r = E(0), a = new ResizeObserver((i) => {
|
|
659
|
+
r.value = i[0].contentRect.width;
|
|
625
660
|
});
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
}),
|
|
629
|
-
|
|
661
|
+
oe(() => {
|
|
662
|
+
n.value && a.observe(n.value);
|
|
663
|
+
}), B(() => {
|
|
664
|
+
n.value && a.unobserve(n.value);
|
|
630
665
|
});
|
|
631
|
-
const
|
|
632
|
-
const
|
|
633
|
-
return o.tiles.forEach((
|
|
634
|
-
const l =
|
|
635
|
-
|
|
636
|
-
}),
|
|
637
|
-
}),
|
|
638
|
-
const
|
|
639
|
-
return o.tiles.map((
|
|
640
|
-
const
|
|
641
|
-
|
|
642
|
-
const
|
|
643
|
-
let D =
|
|
644
|
-
|
|
645
|
-
const
|
|
666
|
+
const p = u(() => r.value / o.gridSize.cols - t), f = u(() => {
|
|
667
|
+
const i = new Array(o.gridSize.rows).fill(0);
|
|
668
|
+
return o.tiles.forEach((s) => {
|
|
669
|
+
const l = s.layout.position.row;
|
|
670
|
+
i[l]++;
|
|
671
|
+
}), i;
|
|
672
|
+
}), m = u(() => {
|
|
673
|
+
const i = [];
|
|
674
|
+
return o.tiles.map((s, l) => {
|
|
675
|
+
const g = s.layout.position.row;
|
|
676
|
+
i[g] || (i[g] = 0), i[g]++;
|
|
677
|
+
const T = i[g];
|
|
678
|
+
let D = s.layout.position.col * (p.value + t);
|
|
679
|
+
s.layout.position.col > 0 && (D += t / f.value[s.layout.position.row] * (T - 1));
|
|
680
|
+
const q = s.layout.position.row * (o.tileHeight + t), A = s.layout.size.cols * p.value + t * (s.layout.size.cols - 1) + t / f.value[s.layout.position.row] - 1, S = s.layout.size.rows * o.tileHeight + t * (s.layout.size.rows - 1);
|
|
646
681
|
return {
|
|
647
682
|
key: `tile-${l}`,
|
|
648
|
-
tile:
|
|
683
|
+
tile: s,
|
|
649
684
|
style: {
|
|
650
|
-
transform: `translate(${D}px, ${
|
|
651
|
-
width: `${
|
|
652
|
-
height: `${
|
|
685
|
+
transform: `translate(${D}px, ${q}px)`,
|
|
686
|
+
width: `${A}px`,
|
|
687
|
+
height: `${S}px`
|
|
653
688
|
}
|
|
654
689
|
};
|
|
655
690
|
});
|
|
656
|
-
}),
|
|
657
|
-
return (
|
|
691
|
+
}), R = u(() => Math.max(...o.tiles.map((s) => s.layout.position.row + s.layout.size.rows)) * o.tileHeight + t * o.gridSize.rows);
|
|
692
|
+
return (i, s) => (c(), C("div", {
|
|
658
693
|
ref_key: "gridContainer",
|
|
659
|
-
ref:
|
|
694
|
+
ref: n,
|
|
660
695
|
class: "kong-ui-public-grid-layout"
|
|
661
696
|
}, [
|
|
662
|
-
(
|
|
697
|
+
(c(!0), C(ne, null, ae(m.value, (l) => (c(), C("div", {
|
|
663
698
|
key: l.key,
|
|
664
|
-
class:
|
|
699
|
+
class: se(["grid-cell", {
|
|
665
700
|
"empty-cell": !l.tile
|
|
666
701
|
}]),
|
|
667
|
-
style:
|
|
702
|
+
style: G(l.style)
|
|
668
703
|
}, [
|
|
669
|
-
K(
|
|
670
|
-
style:
|
|
704
|
+
K(i.$slots, "tile", {
|
|
705
|
+
style: G(l.style),
|
|
671
706
|
tile: l.tile
|
|
672
707
|
}, void 0, !0)
|
|
673
708
|
], 6))), 128))
|
|
674
709
|
], 512));
|
|
675
710
|
}
|
|
676
|
-
}),
|
|
711
|
+
}), Ke = /* @__PURE__ */ I(Ue, [["__scopeId", "data-v-066610e8"]]), Fe = { class: "kong-ui-public-dashboard-renderer" }, Me = /* @__PURE__ */ v({
|
|
677
712
|
__name: "DashboardRenderer",
|
|
678
713
|
props: {
|
|
679
714
|
context: {},
|
|
680
715
|
config: {}
|
|
681
716
|
},
|
|
682
717
|
setup(e) {
|
|
683
|
-
const t = e, { i18n: o } =
|
|
684
|
-
|
|
685
|
-
const r = u(() => t.config.tiles.map((
|
|
686
|
-
layout:
|
|
687
|
-
meta:
|
|
718
|
+
const t = e, { i18n: o } = Z.useI18n(), n = V(W);
|
|
719
|
+
n || (console.warn("Analytics dashboards require a query bridge supplied via provide / inject."), console.warn("Please ensure your application has a query bridge provided under the key 'analytics-query-provider', as described in"), console.warn("https://github.com/Kong/public-ui-components/blob/main/packages/analytics/dashboard-renderer/README.md#requirements"));
|
|
720
|
+
const r = u(() => t.config.tiles.map((a, p) => ({
|
|
721
|
+
layout: a.layout,
|
|
722
|
+
meta: a.definition,
|
|
688
723
|
// Add a unique key to each tile internally.
|
|
689
|
-
id:
|
|
724
|
+
id: p
|
|
690
725
|
})));
|
|
691
|
-
return (
|
|
692
|
-
const
|
|
693
|
-
return
|
|
694
|
-
|
|
726
|
+
return (a, p) => {
|
|
727
|
+
const f = z("KAlert");
|
|
728
|
+
return c(), C("div", Fe, [
|
|
729
|
+
y(n) ? (c(), _(Ke, {
|
|
695
730
|
key: 1,
|
|
696
|
-
"grid-size":
|
|
697
|
-
"tile-height":
|
|
731
|
+
"grid-size": a.config.gridSize,
|
|
732
|
+
"tile-height": a.config.tileHeight,
|
|
698
733
|
tiles: r.value
|
|
699
734
|
}, {
|
|
700
|
-
tile:
|
|
701
|
-
|
|
735
|
+
tile: b(({ tile: m, style: R }) => [
|
|
736
|
+
w(Be, {
|
|
702
737
|
class: "tile-container",
|
|
703
|
-
definition:
|
|
704
|
-
height: parseInt(
|
|
738
|
+
definition: m.meta,
|
|
739
|
+
height: parseInt(R.height)
|
|
705
740
|
}, null, 8, ["definition", "height"])
|
|
706
741
|
]),
|
|
707
742
|
_: 1
|
|
708
|
-
}, 8, ["grid-size", "tile-height", "tiles"])) : (
|
|
743
|
+
}, 8, ["grid-size", "tile-height", "tiles"])) : (c(), _(f, {
|
|
709
744
|
key: 0,
|
|
710
745
|
appearance: "danger"
|
|
711
746
|
}, {
|
|
712
|
-
default:
|
|
713
|
-
|
|
747
|
+
default: b(() => [
|
|
748
|
+
H(U(y(o).t("renderer.noQueryBridge")), 1)
|
|
714
749
|
]),
|
|
715
750
|
_: 1
|
|
716
751
|
}))
|
|
717
752
|
]);
|
|
718
753
|
};
|
|
719
754
|
}
|
|
720
|
-
}),
|
|
755
|
+
}), tt = /* @__PURE__ */ I(Me, [["__scopeId", "data-v-e3197ec0"]]);
|
|
721
756
|
export {
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
|
|
730
|
-
|
|
731
|
-
|
|
732
|
-
|
|
757
|
+
d as ChartTypes,
|
|
758
|
+
tt as DashboardRenderer,
|
|
759
|
+
Ke as GridLayout,
|
|
760
|
+
_e as barChartSchema,
|
|
761
|
+
et as dashboardConfigSchema,
|
|
762
|
+
Se as exploreV4QuerySchema,
|
|
763
|
+
ge as gaugeChartSchema,
|
|
764
|
+
ve as metricCardSchema,
|
|
765
|
+
Ce as tileConfigSchema,
|
|
766
|
+
Re as tileDefinitionSchema,
|
|
767
|
+
Ae as tileLayoutSchema,
|
|
768
|
+
me as timeseriesChartSchema
|
|
733
769
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(s,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue"),require("@kong-ui-public/analytics-chart"),require("swrv"),require("axios"),require("@kong-ui-public/i18n")):typeof define=="function"&&define.amd?define(["exports","vue","@kong-ui-public/analytics-chart","swrv","axios","@kong-ui-public/i18n"],e):(s=typeof globalThis<"u"?globalThis:s||self,e(s["kong-ui-public-dashboard-renderer"]={},s.Vue,s["kong-ui-public-analytics-chart"],s.swrv,s.axios,s["kong-ui-public-i18n"]))})(this,function(s,e,h,G,ie,w){"use strict";const D="analytics-query-provider";var u=(t=>(t.HorizontalBar="horizontal_bar",t.VerticalBar="vertical_bar",t.Gauge="gauge",t.TimeseriesLine="timeseries_line",t))(u||{});const T={type:"string"},I={type:["object","array"],items:{type:"string"},additionalProperties:{type:"string"}},B={type:"object",properties:{type:{type:"string",enum:["horizontal_bar","vertical_bar"]},stacked:{type:"boolean"},showAnnotations:{type:"boolean"},chartDatasetColors:I,syntheticsDataKey:T},required:["type"],additionalProperties:!1},O={type:"object",properties:{type:{type:"string",enum:["timeseries_line"]},stacked:{type:"boolean"},fill:{type:"boolean"},chartDatasetColors:I,syntheticsDataKey:T},required:["type"],additionalProperties:!1},z={type:"object",properties:{type:{type:"string",enum:["gauge"]},metricDisplay:{type:"string",enum:Object.values(h.ChartMetricDisplay)},reverseDataset:{type:"boolean"},numerator:{type:"number"},syntheticsDataKey:T},required:["type"],additionalProperties:!1},L={type:"object",description:"A query to launch at the API",properties:{metrics:{type:"array",description:"List of aggregated metrics to collect across the requested time span.",items:{type:"string",enum:["request_count","request_per_minute","response_latency_p99","response_latency_p95","response_latency_p50","response_latency_average","upstream_latency_p99","upstream_latency_p95","upstream_latency_p50","upstream_latency_average","kong_latency_p99","kong_latency_p95","kong_latency_p50","kong_latency_average","response_size_p99","response_size_p95","response_size_p50","request_size_p99","request_size_p95","request_size_p50","request_size_average","response_size_average"]}},dimensions:{type:"array",description:"List of attributes or entity types to group by.",minItems:0,maxItems:2,items:{type:"string",enum:["api_product","api_product_version","application","consumer","control_plane","control_plane_group","data_plane_node","gateway_service","route","status_code","status_code_grouped","time"]}},filters:{type:"array",description:"A list of filters to apply to the query.",items:{type:"object",description:"A filter that specifies which data to include in the query",properties:{dimension:{type:"string",enum:["api_product","api_product_version","application","consumer","control_plane","control_plane_group","data_plane_node","gateway_service","route","status_code","status_code_grouped","time"]},type:{type:"string",enum:["in","not_in","selector"]},values:{type:"array",items:{type:"string"}}},required:["dimension","type","values"]}},granularity_ms:{type:"number",description:'Force time grouping into buckets of this duration in milliseconds. Only has an effect if "time" is in the "dimensions" list.',minimum:6e4},time_range:{description:"The time range to query.",oneOf:[{type:"object",properties:{tz:{type:"string",default:"Etc/UTC"},type:{type:"string",enum:["relative"]},time_range:{type:"string",enum:["15m","1h","6h","12h","24h","7d","30d","current_week","current_month","previous_week","previous_month"],default:"1h"}},required:["type","time_range"]},{type:"object",description:"A duration representing an exact start and end time.",properties:{tz:{type:"string",default:"Etc/UTC"},type:{type:"string",enum:["absolute"]},start:{type:"string"},end:{type:"string"}},required:["type"]}],default:{type:"relative",time_range:"1h"}},meta:{type:"object"}}},N={type:"object",properties:{query:L,chart:{oneOf:[B,z,O]}},required:["query","chart"],additionalProperties:!1},V={type:"object",properties:{position:{type:"object",properties:{col:{type:"number"},row:{type:"number"}},description:"Position of the tile in the grid.",required:["col","row"],additionalProperties:!1},size:{type:"object",properties:{cols:{type:"number"},rows:{type:"number"}},description:"Number of columns and rows the tile occupies.",required:["cols","rows"],additionalProperties:!1}},required:["position","size"],additionalProperties:!1},P={type:"object",properties:{definition:N,layout:V},required:["definition","layout"],additionalProperties:!1},v={type:"object",properties:{tiles:{type:"array",items:P},tileHeight:{type:"number",description:"Height of each tile in pixels. Default: 170"},gridSize:{type:"object",properties:{cols:{type:"number"},rows:{type:"number"}},description:"Number of columns and rows in the grid.",required:["cols","rows"],additionalProperties:!1}},required:["tiles","gridSize"],additionalProperties:!1};var j=(t=>(t.VALIDATING="VALIDATING",t.VALIDATING_HAS_DATA="VALIDATING_HAS_DATA",t.PENDING="PENDING",t.SUCCESS="SUCCESS",t.SUCCESS_HAS_DATA="SUCCESS_HAS_DATA",t.ERROR="ERROR",t.STALE_IF_ERROR="STALE_IF_ERROR",t))(j||{});const U=t=>{var r,n,i,o,a;return t?!!((r=Object.keys(t))!=null&&r.length||(n=t.data)!=null&&n.length||(o=(i=t.data)==null?void 0:i.data)!=null&&o.length||!((a=t.data)!=null&&a.data)&&typeof t.data=="object"&&Object.keys(t==null?void 0:t.data).length):!1};function F(t=e.ref({}),r,n,i=U){const o=e.ref("PENDING");return e.watchEffect(()=>{const a=i(t.value);if(t.value&&a&&n.value){o.value="VALIDATING_HAS_DATA";return}if(t.value&&n.value){o.value="VALIDATING";return}if(t.value&&r.value){o.value="STALE_IF_ERROR";return}if(t.value===void 0&&!r.value){o.value="PENDING";return}if(t.value&&!r.value&&a){o.value="SUCCESS_HAS_DATA";return}if(t.value&&!r.value){o.value="SUCCESS";return}t.value===void 0&&r&&(o.value="ERROR")}),{state:o,swrvState:j}}const K={renderer:{noQueryBridge:"No query bridge provided. Unable to render dashboard."},queryDataProvider:{timeRangeExceeded:"The time range for this report is outside of your organization's data retention period"}};function M(){const t=w.createI18n("en-us",K);return{i18n:t,i18nT:w.i18nTComponent(t)}}const H={useI18n:M},R=e.defineComponent({__name:"QueryDataProvider",props:{query:{},queryReady:{type:Boolean}},emits:["queryComplete"],setup(t,{emit:r}){const n=t,i=r,{i18n:o}=H.useI18n(),a=e.inject(D),l=()=>n.queryReady&&a?JSON.stringify(n.query):null,g=new AbortController;e.onUnmounted(()=>{g.abort()});const{data:m,error:S,isValidating:p}=G(l,async()=>{var f,C,b,A;try{return a==null?void 0:a.queryFn(n.query,g)}catch(y){_.value=((C=(f=y==null?void 0:y.response)==null?void 0:f.data)==null?void 0:C.message)==="Range not allowed for this tier"?o.t("queryDataProvider.timeRangeExceeded"):((A=(b=y==null?void 0:y.response)==null?void 0:b.data)==null?void 0:A.message)||(y==null?void 0:y.message)}finally{i("queryComplete")}}),{state:c,swrvState:d}=F(m,S,p),_=e.ref(null),k=e.computed(()=>c.value===d.ERROR||!!_.value),E=e.computed(()=>!n.queryReady||c.value===d.PENDING);return(f,C)=>{const b=e.resolveComponent("KSkeleton"),A=e.resolveComponent("KEmptyState");return E.value||!e.unref(m)&&!k.value?(e.openBlock(),e.createBlock(b,{key:0,class:"chart-skeleton",type:"table"})):k.value?(e.openBlock(),e.createBlock(A,{key:1,"cta-is-hidden":"","data-testid":"chart-empty-state","is-error":""},{message:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(_.value),1)]),_:1})):e.unref(m)?e.renderSlot(f.$slots,"default",{key:2,data:e.unref(m)}):e.createCommentVNode("",!0)}}}),Q={class:"analytics-chart"},Y=e.defineComponent({__name:"SimpleChartRenderer",props:{query:{},queryReady:{type:Boolean},chartOptions:{},height:{}},setup(t){e.useCssVars(o=>({"134a876f":`${o.height}px`}));const r=t,n={[u.Gauge]:h.ChartTypesSimple.GAUGE},i=e.computed(()=>({...r.chartOptions,type:n[r.chartOptions.type]}));return(o,a)=>(e.openBlock(),e.createBlock(R,{query:o.query,"query-ready":o.queryReady},{default:e.withCtx(({data:l})=>[e.createElementVNode("div",Q,[e.createVNode(e.unref(h.SimpleChart),{"chart-data":l,"chart-options":i.value,"synthetics-data-key":o.chartOptions.syntheticsDataKey},null,8,["chart-data","chart-options","synthetics-data-key"])])]),_:1},8,["query","query-ready"]))}}),q=(t,r)=>{const n=t.__vccOpts||t;for(const[i,o]of r)n[i]=o;return n},J=q(Y,[["__scopeId","data-v-ec989cc0"]]),W={class:"analytics-chart"},$=q(e.defineComponent({__name:"BarChartRenderer",props:{query:{},queryReady:{type:Boolean},chartOptions:{},height:{}},setup(t){e.useCssVars(o=>({"381b03f2":`${o.height}px`}));const r=t,n={[u.HorizontalBar]:h.ChartTypes.HORIZONTAL_BAR,[u.VerticalBar]:h.ChartTypes.VERTICAL_BAR},i=e.computed(()=>({type:n[r.chartOptions.type],stacked:r.chartOptions.stacked,chartDatasetColors:r.chartOptions.chartDatasetColors}));return(o,a)=>(e.openBlock(),e.createBlock(R,{query:o.query,"query-ready":o.queryReady},{default:e.withCtx(({data:l})=>[e.createElementVNode("div",W,[e.createVNode(e.unref(h.AnalyticsChart),{"chart-data":l,"chart-options":i.value,"legend-position":"bottom","show-annotations":o.chartOptions.showAnnotations,"tooltip-title":""},null,8,["chart-data","chart-options","show-annotations"])])]),_:1},8,["query","query-ready"]))}}),[["__scopeId","data-v-1b9ab912"]]),X={class:"analytics-chart"},Z=q(e.defineComponent({__name:"TimeseriesChartRenderer",props:{query:{},queryReady:{type:Boolean},chartOptions:{},height:{}},setup(t){e.useCssVars(o=>({"01f81c18":`${o.height}px`}));const r=t,n={[u.TimeseriesLine]:h.ChartTypes.TIMESERIES_LINE},i=e.computed(()=>({type:n[r.chartOptions.type],fill:r.chartOptions.fill,stacked:r.chartOptions.stacked,chartDatasetColors:r.chartOptions.chartDatasetColors}));return(o,a)=>(e.openBlock(),e.createBlock(R,{query:o.query,"query-ready":o.queryReady},{default:e.withCtx(({data:l})=>[e.createElementVNode("div",X,[e.createVNode(e.unref(h.AnalyticsChart),{"chart-data":l,"chart-options":i.value,"legend-position":"bottom","tooltip-title":""},null,8,["chart-data","chart-options"])])]),_:1},8,["query","query-ready"]))}}),[["__scopeId","data-v-efe3a03d"]]),ee={class:"tile-boundary"},te=e.defineComponent({__name:"DashboardTile",props:{definition:{type:Object,required:!0},height:{type:Number,required:!1,default:()=>170}},setup(t){const r=t,n={[u.TimeseriesLine]:Z,[u.HorizontalBar]:$,[u.VerticalBar]:$,[u.Gauge]:J},i=e.computed(()=>({component:n[r.definition.chart.type],rendererProps:{query:r.definition.query,queryReady:!0,chartOptions:r.definition.chart,height:r.height}}));return(o,a)=>(e.openBlock(),e.createElementBlock("div",ee,[i.value?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(i.value.component),e.normalizeProps(e.mergeProps({key:0},i.value.rendererProps)),null,16)):e.createCommentVNode("",!0)]))}}),re="20px",x=q(e.defineComponent({__name:"GridLayout",props:{gridSize:{type:Object,required:!0},tileHeight:{type:Number,required:!1,default:()=>170},tiles:{type:Array,required:!0}},setup(t){e.useCssVars(p=>({bbf5361e:`${S.value}px`}));const r=parseInt(re),n=t,i=e.ref(null),o=e.ref(0),a=new ResizeObserver(p=>{o.value=p[0].contentRect.width});e.onMounted(()=>{i.value&&a.observe(i.value)}),e.onUnmounted(()=>{i.value&&a.unobserve(i.value)});const l=e.computed(()=>o.value/n.gridSize.cols-r),g=e.computed(()=>{const p=new Array(n.gridSize.rows).fill(0);return n.tiles.forEach(c=>{const d=c.layout.position.row;p[d]++}),p}),m=e.computed(()=>{const p=[];return n.tiles.map((c,d)=>{const _=c.layout.position.row;p[_]||(p[_]=0),p[_]++;const k=p[_];let E=c.layout.position.col*(l.value+r);c.layout.position.col>0&&(E+=r/g.value[c.layout.position.row]*(k-1));const f=c.layout.position.row*(n.tileHeight+r),C=c.layout.size.cols*l.value+r*(c.layout.size.cols-1)+r/g.value[c.layout.position.row]-1,b=c.layout.size.rows*n.tileHeight+r*(c.layout.size.rows-1);return{key:`tile-${d}`,tile:c,style:{transform:`translate(${E}px, ${f}px)`,width:`${C}px`,height:`${b}px`}}})}),S=e.computed(()=>Math.max(...n.tiles.map(c=>c.layout.position.row+c.layout.size.rows))*n.tileHeight+r*n.gridSize.rows);return(p,c)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"gridContainer",ref:i,class:"kong-ui-public-grid-layout"},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(m.value,d=>(e.openBlock(),e.createElementBlock("div",{key:d.key,class:e.normalizeClass(["grid-cell",{"empty-cell":!d.tile}]),style:e.normalizeStyle(d.style)},[e.renderSlot(p.$slots,"tile",{style:e.normalizeStyle(d.style),tile:d.tile},void 0,!0)],6))),128))],512))}}),[["__scopeId","data-v-066610e8"]]),oe={class:"kong-ui-public-dashboard-renderer"},ne=q(e.defineComponent({__name:"DashboardRenderer",props:{context:{},config:{}},setup(t){const r=t,{i18n:n}=H.useI18n(),i=e.inject(D);i||(console.warn("Analytics dashboards require a query bridge supplied via provide / inject."),console.warn("Please ensure your application has a query bridge provided under the key 'analytics-query-provider', as described in"),console.warn("https://github.com/Kong/public-ui-components/blob/main/packages/analytics/dashboard-renderer/README.md#requirements"));const o=e.computed(()=>r.config.tiles.map((a,l)=>({layout:a.layout,meta:a.definition,id:l})));return(a,l)=>{const g=e.resolveComponent("KAlert");return e.openBlock(),e.createElementBlock("div",oe,[e.unref(i)?(e.openBlock(),e.createBlock(x,{key:1,"grid-size":a.config.gridSize,"tile-height":a.config.tileHeight,tiles:o.value},{tile:e.withCtx(({tile:m,style:S})=>[e.createVNode(te,{class:"tile-container",definition:m.meta,height:parseInt(S.height)},null,8,["definition","height"])]),_:1},8,["grid-size","tile-height","tiles"])):(e.openBlock(),e.createBlock(g,{key:0,appearance:"danger"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(n).t("renderer.noQueryBridge")),1)]),_:1}))])}}}),[["__scopeId","data-v-e3197ec0"]]);s.ChartTypes=u,s.DashboardRenderer=ne,s.GridLayout=x,s.barChartSchema=B,s.dashboardConfigSchema=v,s.exploreV4QuerySchema=L,s.gaugeChartSchema=z,s.tileConfigSchema=P,s.tileDefinitionSchema=N,s.tileLayoutSchema=V,s.timeseriesChartSchema=O,Object.defineProperty(s,Symbol.toStringTag,{value:"Module"})});
|
|
1
|
+
(function(a,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue"),require("@kong-ui-public/analytics-chart"),require("swrv"),require("axios"),require("@kong-ui-public/i18n"),require("@kong-ui-public/analytics-metric-provider")):typeof define=="function"&&define.amd?define(["exports","vue","@kong-ui-public/analytics-chart","swrv","axios","@kong-ui-public/i18n","@kong-ui-public/analytics-metric-provider"],e):(a=typeof globalThis<"u"?globalThis:a||self,e(a["kong-ui-public-dashboard-renderer"]={},a.Vue,a["kong-ui-public-analytics-chart"],a.swrv,a.axios,a["kong-ui-public-i18n"],a["kong-ui-public-analytics-metric-provider"]))})(this,function(a,e,h,v,ce,w,I){"use strict";const D="analytics-query-provider";var u=(t=>(t.HorizontalBar="horizontal_bar",t.VerticalBar="vertical_bar",t.Gauge="gauge",t.TimeseriesLine="timeseries_line",t.GoldenSignals="golden_signals",t))(u||{});const T={type:"string"},B={type:["object","array"],items:{type:"string"},additionalProperties:{type:"string"}},O={type:"object",properties:{type:{type:"string",enum:["horizontal_bar","vertical_bar"]},stacked:{type:"boolean"},showAnnotations:{type:"boolean"},chartDatasetColors:B,syntheticsDataKey:T},required:["type"],additionalProperties:!1},z={type:"object",properties:{type:{type:"string",enum:["timeseries_line"]},stacked:{type:"boolean"},fill:{type:"boolean"},chartDatasetColors:B,syntheticsDataKey:T},required:["type"],additionalProperties:!1},V={type:"object",properties:{type:{type:"string",enum:["gauge"]},metricDisplay:{type:"string",enum:Object.values(h.ChartMetricDisplay)},reverseDataset:{type:"boolean"},numerator:{type:"number"},syntheticsDataKey:T},required:["type"],additionalProperties:!1},L={type:"object",properties:{type:{type:"string",enum:["golden_signals"]},longCardTitles:{type:"boolean"},description:{type:"string"}},required:["type"]},N={type:"object",description:"A query to launch at the API",properties:{metrics:{type:"array",description:"List of aggregated metrics to collect across the requested time span.",items:{type:"string",enum:["request_count","request_per_minute","response_latency_p99","response_latency_p95","response_latency_p50","response_latency_average","upstream_latency_p99","upstream_latency_p95","upstream_latency_p50","upstream_latency_average","kong_latency_p99","kong_latency_p95","kong_latency_p50","kong_latency_average","response_size_p99","response_size_p95","response_size_p50","request_size_p99","request_size_p95","request_size_p50","request_size_average","response_size_average"]}},dimensions:{type:"array",description:"List of attributes or entity types to group by.",minItems:0,maxItems:2,items:{type:"string",enum:["api_product","api_product_version","application","consumer","control_plane","control_plane_group","data_plane_node","gateway_service","route","status_code","status_code_grouped","time"]}},filters:{type:"array",description:"A list of filters to apply to the query.",items:{type:"object",description:"A filter that specifies which data to include in the query",properties:{dimension:{type:"string",enum:["api_product","api_product_version","application","consumer","control_plane","control_plane_group","data_plane_node","gateway_service","route","status_code","status_code_grouped","time"]},type:{type:"string",enum:["in","not_in","selector"]},values:{type:"array",items:{type:"string"}}},required:["dimension","type","values"]}},granularity_ms:{type:"number",description:'Force time grouping into buckets of this duration in milliseconds. Only has an effect if "time" is in the "dimensions" list.',minimum:6e4},time_range:{description:"The time range to query.",oneOf:[{type:"object",properties:{tz:{type:"string",default:"Etc/UTC"},type:{type:"string",enum:["relative"]},time_range:{type:"string",enum:["15m","1h","6h","12h","24h","7d","30d","current_week","current_month","previous_week","previous_month"],default:"1h"}},required:["type","time_range"]},{type:"object",description:"A duration representing an exact start and end time.",properties:{tz:{type:"string",default:"Etc/UTC"},type:{type:"string",enum:["absolute"]},start:{type:"string"},end:{type:"string"}},required:["type"]}],default:{type:"relative",time_range:"1h"}},meta:{type:"object"}}},P={type:"object",properties:{query:N,chart:{oneOf:[O,V,z,L]}},required:["query","chart"],additionalProperties:!1},j={type:"object",properties:{position:{type:"object",properties:{col:{type:"number"},row:{type:"number"}},description:"Position of the tile in the grid.",required:["col","row"],additionalProperties:!1},size:{type:"object",properties:{cols:{type:"number"},rows:{type:"number"}},description:"Number of columns and rows the tile occupies.",required:["cols","rows"],additionalProperties:!1}},required:["position","size"],additionalProperties:!1},G={type:"object",properties:{definition:P,layout:j},required:["definition","layout"],additionalProperties:!1},F={type:"object",properties:{tiles:{type:"array",items:G},tileHeight:{type:"number",description:"Height of each tile in pixels. Default: 170"},gridSize:{type:"object",properties:{cols:{type:"number"},rows:{type:"number"}},description:"Number of columns and rows in the grid.",required:["cols","rows"],additionalProperties:!1}},required:["tiles","gridSize"],additionalProperties:!1};var $=(t=>(t.VALIDATING="VALIDATING",t.VALIDATING_HAS_DATA="VALIDATING_HAS_DATA",t.PENDING="PENDING",t.SUCCESS="SUCCESS",t.SUCCESS_HAS_DATA="SUCCESS_HAS_DATA",t.ERROR="ERROR",t.STALE_IF_ERROR="STALE_IF_ERROR",t))($||{});const K=t=>{var r,n,i,o,s;return t?!!((r=Object.keys(t))!=null&&r.length||(n=t.data)!=null&&n.length||(o=(i=t.data)==null?void 0:i.data)!=null&&o.length||!((s=t.data)!=null&&s.data)&&typeof t.data=="object"&&Object.keys(t==null?void 0:t.data).length):!1};function M(t=e.ref({}),r,n,i=K){const o=e.ref("PENDING");return e.watchEffect(()=>{const s=i(t.value);if(t.value&&s&&n.value){o.value="VALIDATING_HAS_DATA";return}if(t.value&&n.value){o.value="VALIDATING";return}if(t.value&&r.value){o.value="STALE_IF_ERROR";return}if(t.value===void 0&&!r.value){o.value="PENDING";return}if(t.value&&!r.value&&s){o.value="SUCCESS_HAS_DATA";return}if(t.value&&!r.value){o.value="SUCCESS";return}t.value===void 0&&r&&(o.value="ERROR")}),{state:o,swrvState:$}}const Q={renderer:{noQueryBridge:"No query bridge provided. Unable to render dashboard."},queryDataProvider:{timeRangeExceeded:"The time range for this report is outside of your organization's data retention period"}};function Y(){const t=w.createI18n("en-us",Q);return{i18n:t,i18nT:w.i18nTComponent(t)}}const x={useI18n:Y},R=e.defineComponent({__name:"QueryDataProvider",props:{query:{},queryReady:{type:Boolean}},emits:["queryComplete"],setup(t,{emit:r}){const n=t,i=r,{i18n:o}=x.useI18n(),s=e.inject(D),l=()=>n.queryReady&&s?JSON.stringify(n.query):null,g=new AbortController;e.onUnmounted(()=>{g.abort()});const{data:m,error:S,isValidating:p}=v(l,async()=>{var f,C,b,E;try{return s==null?void 0:s.queryFn(n.query,g)}catch(y){_.value=((C=(f=y==null?void 0:y.response)==null?void 0:f.data)==null?void 0:C.message)==="Range not allowed for this tier"?o.t("queryDataProvider.timeRangeExceeded"):((E=(b=y==null?void 0:y.response)==null?void 0:b.data)==null?void 0:E.message)||(y==null?void 0:y.message)}finally{i("queryComplete")}}),{state:c,swrvState:d}=M(m,S,p),_=e.ref(null),k=e.computed(()=>c.value===d.ERROR||!!_.value),A=e.computed(()=>!n.queryReady||c.value===d.PENDING);return(f,C)=>{const b=e.resolveComponent("KSkeleton"),E=e.resolveComponent("KEmptyState");return A.value||!e.unref(m)&&!k.value?(e.openBlock(),e.createBlock(b,{key:0,class:"chart-skeleton",type:"table"})):k.value?(e.openBlock(),e.createBlock(E,{key:1,"cta-is-hidden":"","data-testid":"chart-empty-state","is-error":""},{message:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(_.value),1)]),_:1})):e.unref(m)?e.renderSlot(f.$slots,"default",{key:2,data:e.unref(m)}):e.createCommentVNode("",!0)}}}),J={class:"analytics-chart"},W=e.defineComponent({__name:"SimpleChartRenderer",props:{query:{},queryReady:{type:Boolean},chartOptions:{},height:{}},setup(t){e.useCssVars(o=>({"134a876f":`${o.height}px`}));const r=t,n={[u.Gauge]:h.ChartTypesSimple.GAUGE},i=e.computed(()=>({...r.chartOptions,type:n[r.chartOptions.type]}));return(o,s)=>(e.openBlock(),e.createBlock(R,{query:o.query,"query-ready":o.queryReady},{default:e.withCtx(({data:l})=>[e.createElementVNode("div",J,[e.createVNode(e.unref(h.SimpleChart),{"chart-data":l,"chart-options":i.value,"synthetics-data-key":o.chartOptions.syntheticsDataKey},null,8,["chart-data","chart-options","synthetics-data-key"])])]),_:1},8,["query","query-ready"]))}}),q=(t,r)=>{const n=t.__vccOpts||t;for(const[i,o]of r)n[i]=o;return n},X=q(W,[["__scopeId","data-v-ec989cc0"]]),Z={class:"analytics-chart"},H=q(e.defineComponent({__name:"BarChartRenderer",props:{query:{},queryReady:{type:Boolean},chartOptions:{},height:{}},setup(t){e.useCssVars(o=>({"381b03f2":`${o.height}px`}));const r=t,n={[u.HorizontalBar]:h.ChartTypes.HORIZONTAL_BAR,[u.VerticalBar]:h.ChartTypes.VERTICAL_BAR},i=e.computed(()=>({type:n[r.chartOptions.type],stacked:r.chartOptions.stacked,chartDatasetColors:r.chartOptions.chartDatasetColors}));return(o,s)=>(e.openBlock(),e.createBlock(R,{query:o.query,"query-ready":o.queryReady},{default:e.withCtx(({data:l})=>[e.createElementVNode("div",Z,[e.createVNode(e.unref(h.AnalyticsChart),{"chart-data":l,"chart-options":i.value,"legend-position":"bottom","show-annotations":o.chartOptions.showAnnotations,"tooltip-title":""},null,8,["chart-data","chart-options","show-annotations"])])]),_:1},8,["query","query-ready"]))}}),[["__scopeId","data-v-1b9ab912"]]),ee={class:"analytics-chart"},te=q(e.defineComponent({__name:"TimeseriesChartRenderer",props:{query:{},queryReady:{type:Boolean},chartOptions:{},height:{}},setup(t){e.useCssVars(o=>({"01f81c18":`${o.height}px`}));const r=t,n={[u.TimeseriesLine]:h.ChartTypes.TIMESERIES_LINE},i=e.computed(()=>({type:n[r.chartOptions.type],fill:r.chartOptions.fill,stacked:r.chartOptions.stacked,chartDatasetColors:r.chartOptions.chartDatasetColors}));return(o,s)=>(e.openBlock(),e.createBlock(R,{query:o.query,"query-ready":o.queryReady},{default:e.withCtx(({data:l})=>[e.createElementVNode("div",ee,[e.createVNode(e.unref(h.AnalyticsChart),{"chart-data":l,"chart-options":i.value,"legend-position":"bottom","tooltip-title":""},null,8,["chart-data","chart-options"])])]),_:1},8,["query","query-ready"]))}}),[["__scopeId","data-v-efe3a03d"]]),re=e.defineComponent({__name:"GoldenSignalsRenderer",props:{query:{},queryReady:{type:Boolean},chartOptions:{},height:{}},setup(t){const r=t,n=e.computed(()=>({longCardTitles:r.chartOptions.longCardTitles,description:r.chartOptions.description,hasTrendAccess:!0,refreshInterval:0}));return(i,o)=>(e.openBlock(),e.createBlock(e.unref(I.MetricsProviderInternal),e.normalizeProps(e.guardReactiveProps(n.value)),{default:e.withCtx(()=>[e.createVNode(e.unref(I.MetricsConsumer))]),_:1},16))}}),oe={class:"tile-boundary"},ne=e.defineComponent({__name:"DashboardTile",props:{definition:{},height:{default:170}},setup(t){const r=t,n={[u.TimeseriesLine]:te,[u.HorizontalBar]:H,[u.VerticalBar]:H,[u.Gauge]:X,[u.GoldenSignals]:re},i=e.computed(()=>({component:n[r.definition.chart.type],rendererProps:{query:r.definition.query,queryReady:!0,chartOptions:r.definition.chart,height:r.height}}));return(o,s)=>(e.openBlock(),e.createElementBlock("div",oe,[i.value?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(i.value.component),e.normalizeProps(e.mergeProps({key:0},i.value.rendererProps)),null,16)):e.createCommentVNode("",!0)]))}}),ie="20px",U=q(e.defineComponent({__name:"GridLayout",props:{gridSize:{type:Object,required:!0},tileHeight:{type:Number,required:!1,default:()=>170},tiles:{type:Array,required:!0}},setup(t){e.useCssVars(p=>({bbf5361e:`${S.value}px`}));const r=parseInt(ie),n=t,i=e.ref(null),o=e.ref(0),s=new ResizeObserver(p=>{o.value=p[0].contentRect.width});e.onMounted(()=>{i.value&&s.observe(i.value)}),e.onUnmounted(()=>{i.value&&s.unobserve(i.value)});const l=e.computed(()=>o.value/n.gridSize.cols-r),g=e.computed(()=>{const p=new Array(n.gridSize.rows).fill(0);return n.tiles.forEach(c=>{const d=c.layout.position.row;p[d]++}),p}),m=e.computed(()=>{const p=[];return n.tiles.map((c,d)=>{const _=c.layout.position.row;p[_]||(p[_]=0),p[_]++;const k=p[_];let A=c.layout.position.col*(l.value+r);c.layout.position.col>0&&(A+=r/g.value[c.layout.position.row]*(k-1));const f=c.layout.position.row*(n.tileHeight+r),C=c.layout.size.cols*l.value+r*(c.layout.size.cols-1)+r/g.value[c.layout.position.row]-1,b=c.layout.size.rows*n.tileHeight+r*(c.layout.size.rows-1);return{key:`tile-${d}`,tile:c,style:{transform:`translate(${A}px, ${f}px)`,width:`${C}px`,height:`${b}px`}}})}),S=e.computed(()=>Math.max(...n.tiles.map(c=>c.layout.position.row+c.layout.size.rows))*n.tileHeight+r*n.gridSize.rows);return(p,c)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"gridContainer",ref:i,class:"kong-ui-public-grid-layout"},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(m.value,d=>(e.openBlock(),e.createElementBlock("div",{key:d.key,class:e.normalizeClass(["grid-cell",{"empty-cell":!d.tile}]),style:e.normalizeStyle(d.style)},[e.renderSlot(p.$slots,"tile",{style:e.normalizeStyle(d.style),tile:d.tile},void 0,!0)],6))),128))],512))}}),[["__scopeId","data-v-066610e8"]]),ae={class:"kong-ui-public-dashboard-renderer"},se=q(e.defineComponent({__name:"DashboardRenderer",props:{context:{},config:{}},setup(t){const r=t,{i18n:n}=x.useI18n(),i=e.inject(D);i||(console.warn("Analytics dashboards require a query bridge supplied via provide / inject."),console.warn("Please ensure your application has a query bridge provided under the key 'analytics-query-provider', as described in"),console.warn("https://github.com/Kong/public-ui-components/blob/main/packages/analytics/dashboard-renderer/README.md#requirements"));const o=e.computed(()=>r.config.tiles.map((s,l)=>({layout:s.layout,meta:s.definition,id:l})));return(s,l)=>{const g=e.resolveComponent("KAlert");return e.openBlock(),e.createElementBlock("div",ae,[e.unref(i)?(e.openBlock(),e.createBlock(U,{key:1,"grid-size":s.config.gridSize,"tile-height":s.config.tileHeight,tiles:o.value},{tile:e.withCtx(({tile:m,style:S})=>[e.createVNode(ne,{class:"tile-container",definition:m.meta,height:parseInt(S.height)},null,8,["definition","height"])]),_:1},8,["grid-size","tile-height","tiles"])):(e.openBlock(),e.createBlock(g,{key:0,appearance:"danger"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(n).t("renderer.noQueryBridge")),1)]),_:1}))])}}}),[["__scopeId","data-v-e3197ec0"]]);a.ChartTypes=u,a.DashboardRenderer=se,a.GridLayout=U,a.barChartSchema=O,a.dashboardConfigSchema=F,a.exploreV4QuerySchema=N,a.gaugeChartSchema=V,a.metricCardSchema=L,a.tileConfigSchema=G,a.tileDefinitionSchema=P,a.tileLayoutSchema=j,a.timeseriesChartSchema=z,Object.defineProperty(a,Symbol.toStringTag,{value:"Module"})});
|
package/dist/style.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.locked[data-v-d8d2d0cd]{cursor:move}.tooltip-container[data-v-d8d2d0cd]{background-color:#fff;border-radius:3px;box-shadow:0 5px 15px #0000001f,0 5px 10px #0000003d;max-width:425px;min-width:250px;position:absolute;transition:all .2s cubic-bezier(.25,.8,.25,1);z-index:999}.tooltip-container .tooltip-title[data-v-d8d2d0cd]{border-bottom:1px solid rgba(0,0,0,.1);display:flex;flex-direction:column;margin:8px;min-height:24px;padding-bottom:8px}.tooltip-container .tooltip-title .title[data-v-d8d2d0cd]{font-size:16px;font-weight:600}.tooltip-container .tooltip-title .subtitle[data-v-d8d2d0cd]{font-size:14px;margin-top:8px}.tooltip-container .tooltip-title .drag-icon[data-v-d8d2d0cd]{margin-top:6px;position:absolute;right:0;top:0}ul.tooltip[data-v-d8d2d0cd]{list-style:none;margin:0;max-height:300px;min-width:250px;overflow-y:auto;padding-left:0;-ms-overflow-style:thin;scrollbar-color:#e0e4ea transparent;scrollbar-width:auto}ul.tooltip[data-v-d8d2d0cd] ::-webkit-scrollbar{width:8px}ul.tooltip[data-v-d8d2d0cd] ::-webkit-scrollbar-track{background:transparent}ul.tooltip[data-v-d8d2d0cd] ::-webkit-scrollbar-thumb{background-color:#e0e4ea;border-radius:10px}ul.tooltip li[data-v-d8d2d0cd]{display:flex;font-size:14px;line-height:1;margin:8px}ul.tooltip li[data-v-d8d2d0cd]:last-child{padding-bottom:8px}ul.tooltip .display-label[data-v-d8d2d0cd]{max-width:75%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}ul.tooltip .display-value[data-v-d8d2d0cd]{margin-left:auto;padding-left:8px;white-space:nowrap}ul.tooltip .tooltip-legend[data-v-d8d2d0cd]{display:inline-flex;flex-direction:row;height:15px;margin-right:8px;width:3px}.legend-container[data-v-6a4f1f3c]{display:flex;max-height:inherit;overflow-x:hidden;overflow-y:auto;padding-left:12px;-ms-overflow-style:thin;scrollbar-color:#e0e4ea transparent;scrollbar-width:auto}.legend-container[data-v-6a4f1f3c] ::-webkit-scrollbar{width:8px}.legend-container[data-v-6a4f1f3c] ::-webkit-scrollbar-track{background:transparent}.legend-container[data-v-6a4f1f3c] ::-webkit-scrollbar-thumb{background-color:#e0e4ea;border-radius:10px}.legend-container.vertical[data-v-6a4f1f3c]{flex-direction:column;max-height:90%;max-width:15%;min-width:10%}.legend-container.vertical .truncate-label[data-v-6a4f1f3c]{max-width:12ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width: 767px){.legend-container.vertical[data-v-6a4f1f3c]{column-gap:24px;display:grid;grid-template-columns:repeat(auto-fit,10ch);justify-content:center;max-height:12%;width:99%}.legend-container.vertical .sub-label[data-v-6a4f1f3c]{display:none}}.legend-container.horizontal[data-v-6a4f1f3c]{column-gap:24px;display:grid;justify-content:center;max-height:12%;width:99%}.legend-container.horizontal .truncate-label[data-v-6a4f1f3c]{max-width:15ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.legend-container.horizontal li[data-v-6a4f1f3c]{margin-top:0}.legend-container.horizontal li .legend[data-v-6a4f1f3c]{margin-top:12px}.legend-container.horizontal li .label[data-v-6a4f1f3c]{line-height:28px}.legend-container li[data-v-6a4f1f3c]{align-items:start;cursor:pointer;display:flex;line-height:1;margin-top:16px}.legend-container li .legend[data-v-6a4f1f3c]{flex:0 0 14px;height:3px;margin-right:12px;margin-top:4px}.legend-container li .label[data-v-6a4f1f3c]{font-size:14px}.legend-container li .sub-label[data-v-6a4f1f3c]{font-size:12px;line-height:16px;word-break:none}.legend-container li .strike-through[data-v-6a4f1f3c]{text-decoration:line-through}.chart-parent[data-v-969f27ea]{align-items:center;display:flex;height:inherit;position:relative;width:inherit}.chart-parent.column[data-v-969f27ea]{flex-direction:column}.chart-parent.column .chart-container[data-v-969f27ea]{height:80%;width:100%}.chart-parent.legend-row[data-v-969f27ea]{flex-direction:row}.chart-parent.legend-row .chart-container[data-v-969f27ea]{flex-grow:1;height:100%;width:85%}@media (max-width: 767px){.chart-parent.legend-row .chart-container[data-v-969f27ea]{height:80%!important;width:100%!important}}@media (max-width: 767px){.chart-parent.legend-row[data-v-969f27ea]{display:flex;flex-wrap:wrap}}.chart-parent .chart-container[data-v-969f27ea]{position:relative}.chart-container[data-v-969f27ea]{overflow:auto;-ms-overflow-style:thin;scrollbar-color:#e0e4ea transparent;scrollbar-width:auto}.chart-container[data-v-969f27ea] ::-webkit-scrollbar{width:8px}.chart-container[data-v-969f27ea] ::-webkit-scrollbar-track{background:transparent}.chart-container[data-v-969f27ea] ::-webkit-scrollbar-thumb{background-color:#e0e4ea;border-radius:10px}.chart-container .chart-body[data-v-969f27ea]{height:100%}.chart-container[data-v-969f27ea]::-webkit-scrollbar-track{background-color:#fff;border-radius:10px}.chart-container[data-v-969f27ea]::-webkit-scrollbar{width:10px}.chart-container[data-v-969f27ea]::-webkit-scrollbar-thumb{background-color:#e0e4ea;border-radius:10px}.axis[data-v-969f27ea]{left:0;pointer-events:none;position:absolute;top:0;z-index:99}.axis-tooltip[data-v-969f27ea]{background-color:#3a3f51;color:#fff;padding:4px 8px;position:absolute;width:max-content;z-index:100}.tooltip-boundary[data-v-969f27ea]{height:100%;left:0;position:relative;top:0;width:100%}.chart-parent[data-v-b3095003]{align-items:center;display:flex;height:inherit;position:relative;width:inherit}.chart-parent.column[data-v-b3095003]{flex-direction:column}.chart-parent.column .chart-container[data-v-b3095003]{height:80%;width:100%}.chart-parent.legend-row[data-v-b3095003]{flex-direction:row}.chart-parent.legend-row .chart-container[data-v-b3095003]{flex-grow:1;height:100%;width:85%}@media (max-width: 767px){.chart-parent.legend-row .chart-container[data-v-b3095003]{height:80%!important;width:100%!important}}@media (max-width: 767px){.chart-parent.legend-row[data-v-b3095003]{display:flex;flex-wrap:wrap}}.chart-parent .chart-container[data-v-b3095003]{position:relative}.chart-parent[data-v-3abbf084]{align-items:center;display:flex;height:inherit;position:relative;width:inherit}.chart-parent.column[data-v-3abbf084]{flex-direction:column}.chart-parent.column .chart-container[data-v-3abbf084]{height:80%;width:100%}.chart-parent.legend-row[data-v-3abbf084]{flex-direction:row}.chart-parent.legend-row .chart-container[data-v-3abbf084]{flex-grow:1;height:100%;width:85%}@media (max-width: 767px){.chart-parent.legend-row .chart-container[data-v-3abbf084]{height:80%!important;width:100%!important}}@media (max-width: 767px){.chart-parent.legend-row[data-v-3abbf084]{display:flex;flex-wrap:wrap}}.chart-parent .chart-container[data-v-3abbf084]{position:relative}.kong-ui-public-csv-export-modal .modal-container{min-width:580px}.kong-ui-public-csv-export-modal .modal-container .k-empty-state-message{max-width:80%}.kong-ui-public-csv-export-modal .modal-container .selected-range{font-size:14px}.kong-ui-public-csv-export-modal .modal-container .text-muted{color:#00000073!important;font-size:14px}.kong-ui-public-csv-export-modal .modal-container .vitals-table{font-size:14px;margin-bottom:20px;margin-top:6px;width:100%}.kong-ui-public-csv-export-modal .modal-container .k-table thead{border-top:1px solid #e0e4ea;height:auto}.kong-ui-public-csv-export-modal .modal-container .modal-footer .vitals-report-export-button{display:inline-flex}.analytics-chart-shell[data-v-410a8b13],.simple-chart-shell[data-v-410a8b13]{border-radius:4px;display:flex;flex-direction:column}.analytics-chart-shell .chart-empty-state[data-v-410a8b13],.simple-chart-shell .chart-empty-state[data-v-410a8b13]{display:flex;flex-direction:column;height:100%;justify-content:center}.analytics-chart-shell[data-v-410a8b13]{height:100%;width:100%}.analytics-chart-shell .analytics-chart-parent[data-v-410a8b13]{height:inherit;width:inherit}.analytics-chart-shell .chart-empty-state[data-v-410a8b13]{padding:20px 0 16px}.analytics-chart-shell .chart-header[data-v-410a8b13]{align-items:center;display:flex;justify-content:flex-start;padding-bottom:16px}.analytics-chart-shell .chart-header .chart-header-icons-wrapper[data-v-410a8b13]{display:flex;justify-content:end}.analytics-chart-shell .chart-header .chart-export-button[data-v-410a8b13]{display:flex;margin-left:auto;margin-right:0}.analytics-chart-shell .chart-title[data-v-410a8b13]{font-size:18px;font-weight:600}.analytics-chart-shell .tooltip[data-v-410a8b13]{display:flex;margin-left:12px;margin-top:2px}.chart-parent[data-v-5871cb7a]{align-items:center;display:flex;height:inherit;position:relative;width:inherit}.chart-parent.column[data-v-5871cb7a]{flex-direction:column}.chart-parent.column .chart-container[data-v-5871cb7a]{height:80%;width:100%}.chart-parent.legend-row[data-v-5871cb7a]{flex-direction:row}.chart-parent.legend-row .chart-container[data-v-5871cb7a]{flex-grow:1;height:100%;width:85%}@media (max-width: 767px){.chart-parent.legend-row .chart-container[data-v-5871cb7a]{height:80%!important;width:100%!important}}@media (max-width: 767px){.chart-parent.legend-row[data-v-5871cb7a]{display:flex;flex-wrap:wrap}}.chart-parent .chart-container[data-v-5871cb7a]{position:relative}.chart-parent[data-v-5871cb7a]{height:auto;margin:0;padding:0;width:auto}.chart-parent .chart-container[data-v-5871cb7a]{margin:0;max-height:100px;max-width:100px;padding:0}.chart-parent .chart-totals-flex[data-v-5871cb7a]{align-items:center;display:flex;flex-direction:column;height:100px;justify-content:center;padding:24px 0 0;position:absolute;width:100px;z-index:2}.chart-parent .chart-totals-flex .metric-large[data-v-5871cb7a]{font-size:20px;font-weight:500;line-height:28px}.chart-parent .chart-totals-flex .metric-small[data-v-5871cb7a]{color:#6c7489;font-size:10px;font-weight:400;line-height:12px}.analytics-chart-shell[data-v-7d1a0034],.simple-chart-shell[data-v-7d1a0034]{border-radius:4px;display:flex;flex-direction:column}.analytics-chart-shell .chart-empty-state[data-v-7d1a0034],.simple-chart-shell .chart-empty-state[data-v-7d1a0034]{display:flex;flex-direction:column;height:100%;justify-content:center}.simple-chart-shell[data-v-7d1a0034]{margin:0;padding:0}.simple-chart-shell .chart-empty-state[data-v-7d1a0034]{display:flex;flex-direction:column;height:100px;justify-content:center;width:100px}.simple-chart-shell .chart-empty-state[data-v-7d1a0034] .k-empty-state-title-header{font-size:12px;line-height:16px;margin:0}.kong-ui-public-top-n-table[data-v-613dbb8f]{border-radius:8px!important}.kong-ui-public-top-n-table .top-n-card-title[data-v-613dbb8f]{font-size:16px}.kong-ui-public-top-n-table .top-n-card-description[data-v-613dbb8f]{color:#6c7489;font-size:12px;text-align:right}.kong-ui-public-top-n-table[data-v-613dbb8f] .k-card-actions{align-self:baseline;display:flex;line-height:22px}.kong-ui-public-top-n-table .top-n-table[data-v-613dbb8f]{display:flex;flex-direction:column;width:100%}.kong-ui-public-top-n-table .top-n-table .table-headings[data-v-613dbb8f]{font-size:14px;font-weight:600;line-height:24px}.kong-ui-public-top-n-table .top-n-table .table-row[data-v-613dbb8f]{align-self:stretch;border-bottom:1px solid #e0e4ea;display:flex;justify-content:space-between}.kong-ui-public-top-n-table .top-n-table .table-row[data-v-613dbb8f]:last-of-type{border-bottom:none}.kong-ui-public-top-n-table .top-n-table .column-1[data-v-613dbb8f]{padding:0 24px 12px 0}.kong-ui-public-top-n-table .top-n-table .column-2[data-v-613dbb8f]{flex:1;max-width:110px;padding:0 0 12px}.kong-ui-public-top-n-table .top-n-table .table-body .table-row[data-v-613dbb8f]:first-of-type{border-top:1px solid #e0e4ea}.kong-ui-public-top-n-table .top-n-table .table-body .column-1[data-v-613dbb8f],.kong-ui-public-top-n-table .top-n-table .table-body .column-2[data-v-613dbb8f]{padding-top:12px}.kong-ui-public-top-n-table .top-n-table .table-body .column-1[data-v-613dbb8f]{color:#3a3f51;font-size:14px}.kong-ui-public-top-n-table .top-n-table .table-body .column-1[data-v-613dbb8f] a{color:#0044f4;font-weight:700;text-decoration:none}.kong-ui-public-top-n-table.kong-card.border{border-radius:4px;padding:20px}.kong-ui-public-top-n-table.kong-card.border .k-card-header{align-items:baseline;margin-bottom:0!important}.kong-ui-public-top-n-table.kong-card.border .k-card-header .k-card-title{margin-bottom:16px}.kong-ui-public-top-n-table.kong-card.border .k-card-header .k-card-title h4{font-size:16px;font-weight:600}.analytics-chart[data-v-ec989cc0]{height:var(--134a876f)}.analytics-chart[data-v-1b9ab912]{height:var(--381b03f2)}.analytics-chart[data-v-efe3a03d]{height:var(--01f81c18)}.kong-ui-public-grid-layout[data-v-066610e8]{height:var(--bbf5361e);width:100%}.grid-cell[data-v-066610e8]{position:absolute}.grid-cell .tile-container[data-v-066610e8]{margin:20px}@media (max-width: 768px){.kong-ui-public-grid-layout[data-v-066610e8]{display:flex;flex-direction:column}.kong-ui-public-grid-layout .grid-cell[data-v-066610e8]{height:auto!important;left:auto!important;position:relative;top:auto!important;transform:none!important;width:auto!important}.kong-ui-public-grid-layout .grid-cell[data-v-066610e8]:not(:first-child){margin-top:20px}.kong-ui-public-grid-layout .empty-cell[data-v-066610e8]{display:none}}.kong-ui-public-dashboard-renderer .tile-container[data-v-e3197ec0]{border:1px solid #e0e4ea;border-radius:4px}
|
|
1
|
+
.locked[data-v-d8d2d0cd]{cursor:move}.tooltip-container[data-v-d8d2d0cd]{background-color:#fff;border-radius:3px;box-shadow:0 5px 15px #0000001f,0 5px 10px #0000003d;max-width:425px;min-width:250px;position:absolute;transition:all .2s cubic-bezier(.25,.8,.25,1);z-index:999}.tooltip-container .tooltip-title[data-v-d8d2d0cd]{border-bottom:1px solid rgba(0,0,0,.1);display:flex;flex-direction:column;margin:8px;min-height:24px;padding-bottom:8px}.tooltip-container .tooltip-title .title[data-v-d8d2d0cd]{font-size:16px;font-weight:600}.tooltip-container .tooltip-title .subtitle[data-v-d8d2d0cd]{font-size:14px;margin-top:8px}.tooltip-container .tooltip-title .drag-icon[data-v-d8d2d0cd]{margin-top:6px;position:absolute;right:0;top:0}ul.tooltip[data-v-d8d2d0cd]{list-style:none;margin:0;max-height:300px;min-width:250px;overflow-y:auto;padding-left:0;-ms-overflow-style:thin;scrollbar-color:#e0e4ea transparent;scrollbar-width:auto}ul.tooltip[data-v-d8d2d0cd] ::-webkit-scrollbar{width:8px}ul.tooltip[data-v-d8d2d0cd] ::-webkit-scrollbar-track{background:transparent}ul.tooltip[data-v-d8d2d0cd] ::-webkit-scrollbar-thumb{background-color:#e0e4ea;border-radius:10px}ul.tooltip li[data-v-d8d2d0cd]{display:flex;font-size:14px;line-height:1;margin:8px}ul.tooltip li[data-v-d8d2d0cd]:last-child{padding-bottom:8px}ul.tooltip .display-label[data-v-d8d2d0cd]{max-width:75%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}ul.tooltip .display-value[data-v-d8d2d0cd]{margin-left:auto;padding-left:8px;white-space:nowrap}ul.tooltip .tooltip-legend[data-v-d8d2d0cd]{display:inline-flex;flex-direction:row;height:15px;margin-right:8px;width:3px}.legend-container[data-v-6a4f1f3c]{display:flex;max-height:inherit;overflow-x:hidden;overflow-y:auto;padding-left:12px;-ms-overflow-style:thin;scrollbar-color:#e0e4ea transparent;scrollbar-width:auto}.legend-container[data-v-6a4f1f3c] ::-webkit-scrollbar{width:8px}.legend-container[data-v-6a4f1f3c] ::-webkit-scrollbar-track{background:transparent}.legend-container[data-v-6a4f1f3c] ::-webkit-scrollbar-thumb{background-color:#e0e4ea;border-radius:10px}.legend-container.vertical[data-v-6a4f1f3c]{flex-direction:column;max-height:90%;max-width:15%;min-width:10%}.legend-container.vertical .truncate-label[data-v-6a4f1f3c]{max-width:12ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width: 767px){.legend-container.vertical[data-v-6a4f1f3c]{column-gap:24px;display:grid;grid-template-columns:repeat(auto-fit,10ch);justify-content:center;max-height:12%;width:99%}.legend-container.vertical .sub-label[data-v-6a4f1f3c]{display:none}}.legend-container.horizontal[data-v-6a4f1f3c]{column-gap:24px;display:grid;justify-content:center;max-height:12%;width:99%}.legend-container.horizontal .truncate-label[data-v-6a4f1f3c]{max-width:15ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.legend-container.horizontal li[data-v-6a4f1f3c]{margin-top:0}.legend-container.horizontal li .legend[data-v-6a4f1f3c]{margin-top:12px}.legend-container.horizontal li .label[data-v-6a4f1f3c]{line-height:28px}.legend-container li[data-v-6a4f1f3c]{align-items:start;cursor:pointer;display:flex;line-height:1;margin-top:16px}.legend-container li .legend[data-v-6a4f1f3c]{flex:0 0 14px;height:3px;margin-right:12px;margin-top:4px}.legend-container li .label[data-v-6a4f1f3c]{font-size:14px}.legend-container li .sub-label[data-v-6a4f1f3c]{font-size:12px;line-height:16px;word-break:none}.legend-container li .strike-through[data-v-6a4f1f3c]{text-decoration:line-through}.chart-parent[data-v-969f27ea]{align-items:center;display:flex;height:inherit;position:relative;width:inherit}.chart-parent.column[data-v-969f27ea]{flex-direction:column}.chart-parent.column .chart-container[data-v-969f27ea]{height:80%;width:100%}.chart-parent.legend-row[data-v-969f27ea]{flex-direction:row}.chart-parent.legend-row .chart-container[data-v-969f27ea]{flex-grow:1;height:100%;width:85%}@media (max-width: 767px){.chart-parent.legend-row .chart-container[data-v-969f27ea]{height:80%!important;width:100%!important}}@media (max-width: 767px){.chart-parent.legend-row[data-v-969f27ea]{display:flex;flex-wrap:wrap}}.chart-parent .chart-container[data-v-969f27ea]{position:relative}.chart-container[data-v-969f27ea]{overflow:auto;-ms-overflow-style:thin;scrollbar-color:#e0e4ea transparent;scrollbar-width:auto}.chart-container[data-v-969f27ea] ::-webkit-scrollbar{width:8px}.chart-container[data-v-969f27ea] ::-webkit-scrollbar-track{background:transparent}.chart-container[data-v-969f27ea] ::-webkit-scrollbar-thumb{background-color:#e0e4ea;border-radius:10px}.chart-container .chart-body[data-v-969f27ea]{height:100%}.chart-container[data-v-969f27ea]::-webkit-scrollbar-track{background-color:#fff;border-radius:10px}.chart-container[data-v-969f27ea]::-webkit-scrollbar{width:10px}.chart-container[data-v-969f27ea]::-webkit-scrollbar-thumb{background-color:#e0e4ea;border-radius:10px}.axis[data-v-969f27ea]{left:0;pointer-events:none;position:absolute;top:0;z-index:99}.axis-tooltip[data-v-969f27ea]{background-color:#3a3f51;color:#fff;padding:4px 8px;position:absolute;width:max-content;z-index:100}.tooltip-boundary[data-v-969f27ea]{height:100%;left:0;position:relative;top:0;width:100%}.chart-parent[data-v-b3095003]{align-items:center;display:flex;height:inherit;position:relative;width:inherit}.chart-parent.column[data-v-b3095003]{flex-direction:column}.chart-parent.column .chart-container[data-v-b3095003]{height:80%;width:100%}.chart-parent.legend-row[data-v-b3095003]{flex-direction:row}.chart-parent.legend-row .chart-container[data-v-b3095003]{flex-grow:1;height:100%;width:85%}@media (max-width: 767px){.chart-parent.legend-row .chart-container[data-v-b3095003]{height:80%!important;width:100%!important}}@media (max-width: 767px){.chart-parent.legend-row[data-v-b3095003]{display:flex;flex-wrap:wrap}}.chart-parent .chart-container[data-v-b3095003]{position:relative}.chart-parent[data-v-3abbf084]{align-items:center;display:flex;height:inherit;position:relative;width:inherit}.chart-parent.column[data-v-3abbf084]{flex-direction:column}.chart-parent.column .chart-container[data-v-3abbf084]{height:80%;width:100%}.chart-parent.legend-row[data-v-3abbf084]{flex-direction:row}.chart-parent.legend-row .chart-container[data-v-3abbf084]{flex-grow:1;height:100%;width:85%}@media (max-width: 767px){.chart-parent.legend-row .chart-container[data-v-3abbf084]{height:80%!important;width:100%!important}}@media (max-width: 767px){.chart-parent.legend-row[data-v-3abbf084]{display:flex;flex-wrap:wrap}}.chart-parent .chart-container[data-v-3abbf084]{position:relative}.kong-ui-public-csv-export-modal .modal-container{min-width:580px}.kong-ui-public-csv-export-modal .modal-container .k-empty-state-message{max-width:80%}.kong-ui-public-csv-export-modal .modal-container .selected-range{font-size:14px}.kong-ui-public-csv-export-modal .modal-container .text-muted{color:#00000073!important;font-size:14px}.kong-ui-public-csv-export-modal .modal-container .vitals-table{font-size:14px;margin-bottom:20px;margin-top:6px;width:100%}.kong-ui-public-csv-export-modal .modal-container .k-table thead{border-top:1px solid #e0e4ea;height:auto}.kong-ui-public-csv-export-modal .modal-container .modal-footer .vitals-report-export-button{display:inline-flex}.analytics-chart-shell[data-v-410a8b13],.simple-chart-shell[data-v-410a8b13]{border-radius:4px;display:flex;flex-direction:column}.analytics-chart-shell .chart-empty-state[data-v-410a8b13],.simple-chart-shell .chart-empty-state[data-v-410a8b13]{display:flex;flex-direction:column;height:100%;justify-content:center}.analytics-chart-shell[data-v-410a8b13]{height:100%;width:100%}.analytics-chart-shell .analytics-chart-parent[data-v-410a8b13]{height:inherit;width:inherit}.analytics-chart-shell .chart-empty-state[data-v-410a8b13]{padding:20px 0 16px}.analytics-chart-shell .chart-header[data-v-410a8b13]{align-items:center;display:flex;justify-content:flex-start;padding-bottom:16px}.analytics-chart-shell .chart-header .chart-header-icons-wrapper[data-v-410a8b13]{display:flex;justify-content:end}.analytics-chart-shell .chart-header .chart-export-button[data-v-410a8b13]{display:flex;margin-left:auto;margin-right:0}.analytics-chart-shell .chart-title[data-v-410a8b13]{font-size:18px;font-weight:600}.analytics-chart-shell .tooltip[data-v-410a8b13]{display:flex;margin-left:12px;margin-top:2px}.chart-parent[data-v-5871cb7a]{align-items:center;display:flex;height:inherit;position:relative;width:inherit}.chart-parent.column[data-v-5871cb7a]{flex-direction:column}.chart-parent.column .chart-container[data-v-5871cb7a]{height:80%;width:100%}.chart-parent.legend-row[data-v-5871cb7a]{flex-direction:row}.chart-parent.legend-row .chart-container[data-v-5871cb7a]{flex-grow:1;height:100%;width:85%}@media (max-width: 767px){.chart-parent.legend-row .chart-container[data-v-5871cb7a]{height:80%!important;width:100%!important}}@media (max-width: 767px){.chart-parent.legend-row[data-v-5871cb7a]{display:flex;flex-wrap:wrap}}.chart-parent .chart-container[data-v-5871cb7a]{position:relative}.chart-parent[data-v-5871cb7a]{height:auto;margin:0;padding:0;width:auto}.chart-parent .chart-container[data-v-5871cb7a]{margin:0;max-height:100px;max-width:100px;padding:0}.chart-parent .chart-totals-flex[data-v-5871cb7a]{align-items:center;display:flex;flex-direction:column;height:100px;justify-content:center;padding:24px 0 0;position:absolute;width:100px;z-index:2}.chart-parent .chart-totals-flex .metric-large[data-v-5871cb7a]{font-size:20px;font-weight:500;line-height:28px}.chart-parent .chart-totals-flex .metric-small[data-v-5871cb7a]{color:#6c7489;font-size:10px;font-weight:400;line-height:12px}.analytics-chart-shell[data-v-7d1a0034],.simple-chart-shell[data-v-7d1a0034]{border-radius:4px;display:flex;flex-direction:column}.analytics-chart-shell .chart-empty-state[data-v-7d1a0034],.simple-chart-shell .chart-empty-state[data-v-7d1a0034]{display:flex;flex-direction:column;height:100%;justify-content:center}.simple-chart-shell[data-v-7d1a0034]{margin:0;padding:0}.simple-chart-shell .chart-empty-state[data-v-7d1a0034]{display:flex;flex-direction:column;height:100px;justify-content:center;width:100px}.simple-chart-shell .chart-empty-state[data-v-7d1a0034] .k-empty-state-title-header{font-size:12px;line-height:16px;margin:0}.kong-ui-public-top-n-table[data-v-613dbb8f]{border-radius:8px!important}.kong-ui-public-top-n-table .top-n-card-title[data-v-613dbb8f]{font-size:16px}.kong-ui-public-top-n-table .top-n-card-description[data-v-613dbb8f]{color:#6c7489;font-size:12px;text-align:right}.kong-ui-public-top-n-table[data-v-613dbb8f] .k-card-actions{align-self:baseline;display:flex;line-height:22px}.kong-ui-public-top-n-table .top-n-table[data-v-613dbb8f]{display:flex;flex-direction:column;width:100%}.kong-ui-public-top-n-table .top-n-table .table-headings[data-v-613dbb8f]{font-size:14px;font-weight:600;line-height:24px}.kong-ui-public-top-n-table .top-n-table .table-row[data-v-613dbb8f]{align-self:stretch;border-bottom:1px solid #e0e4ea;display:flex;justify-content:space-between}.kong-ui-public-top-n-table .top-n-table .table-row[data-v-613dbb8f]:last-of-type{border-bottom:none}.kong-ui-public-top-n-table .top-n-table .column-1[data-v-613dbb8f]{padding:0 24px 12px 0}.kong-ui-public-top-n-table .top-n-table .column-2[data-v-613dbb8f]{flex:1;max-width:110px;padding:0 0 12px}.kong-ui-public-top-n-table .top-n-table .table-body .table-row[data-v-613dbb8f]:first-of-type{border-top:1px solid #e0e4ea}.kong-ui-public-top-n-table .top-n-table .table-body .column-1[data-v-613dbb8f],.kong-ui-public-top-n-table .top-n-table .table-body .column-2[data-v-613dbb8f]{padding-top:12px}.kong-ui-public-top-n-table .top-n-table .table-body .column-1[data-v-613dbb8f]{color:#3a3f51;font-size:14px}.kong-ui-public-top-n-table .top-n-table .table-body .column-1[data-v-613dbb8f] a{color:#0044f4;font-weight:700;text-decoration:none}.kong-ui-public-top-n-table.kong-card.border{border-radius:4px;padding:20px}.kong-ui-public-top-n-table.kong-card.border .k-card-header{align-items:baseline;margin-bottom:0!important}.kong-ui-public-top-n-table.kong-card.border .k-card-header .k-card-title{margin-bottom:16px}.kong-ui-public-top-n-table.kong-card.border .k-card-header .k-card-title h4{font-size:16px;font-weight:600}.metricscard-tooltip,.trafficcard.active .metricscard-tooltip{pointer-events:all}.metricscard[data-v-92346195]{display:flex;flex-direction:column;width:100%}@media (max-width: 767px){.metricscard[data-v-92346195]{max-width:none;width:auto}}.metricscard[data-v-92346195]:hover{border:none;text-decoration:none}.metricscard-title[data-v-92346195]{align-items:center;color:#000933;color:var(--kong-ui-metric-card-title, #000933);display:flex;flex-direction:row;font-size:14px;font-weight:500}.metricscard-title.sm[data-v-92346195]{font-size:12px}.metricscard-description[data-v-92346195]{color:#afb7c5;color:var(--kong-ui-metric-card-value, #afb7c5);font-size:12px;line-height:16px;margin-top:10px}.metricscard-icon[data-v-92346195]{margin-right:6px}.metricscard-value[data-v-92346195]{color:#000933;color:var(--kong-ui-metric-card-value, #000933);display:flex;flex-direction:row;font-weight:600;justify-content:space-between;line-height:32px;margin-top:16px}.metricscard-value.sm[data-v-92346195]{line-height:24px;margin-top:4px}.metricscard-valuetrend[data-v-92346195]{display:flex;flex-direction:column;row-gap:12px}.metricscard-valuetrend.is-compact[data-v-92346195]{align-items:center;flex-direction:row!important;justify-content:space-between;margin-top:0}.metricscard-trend[data-v-92346195]{align-items:center;column-gap:8px;display:flex}.metricscard-trend-change[data-v-92346195]{align-items:center;border-radius:4px;display:flex;flex-direction:row;font-size:12px;font-weight:600;padding:4px 8px}.metricscard-trend-change .kui-icon[data-v-92346195]{margin-right:4px}.metricscard-trend-change.positive[data-v-92346195]{background-color:#ecfffb;background-color:var(--kong-ui-metric-card-trend-bg-positive, #ecfffb);color:#007d60;color:var(--kong-ui-metric-card-trend-positive, #007d60)}.metricscard-trend-change.negative[data-v-92346195]{background-color:#ffe5e5;background-color:var(--kong-ui-metric-card-trend-bg-negative, #ffe5e5);color:#ad000e;color:var(--kong-ui-metric-card-trend-negative, #ad000e)}.metricscard-trend-change.neutral[data-v-92346195]{background-color:#e0e4ea;background-color:var(--kong-ui-metric-card-trend-bg-neutral, #e0e4ea);color:#52596e;color:var(--kong-ui-metric-card-trend-neutral, #52596e)}.metricscard-trend-range[data-v-92346195]{color:#000933;font-size:12px}.metricscard-tooltip[data-v-92346195]{display:inline-flex;margin:auto 0 auto 4px;vertical-align:middle}.metricscard-error[data-v-92346195]{align-items:center;color:#3a3f51;display:flex;flex-direction:row;font-size:12px;margin-top:8px}.metricscard-error .kong-icon-warning[data-v-92346195]{margin-right:12px}.metricscard.active .metricscard-tooltip[data-v-92346195]{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-80b51a84]{background-color:transparent;background-color:var(--kong-ui-metric-card-background, transparent);display:flex;flex-direction:row;justify-content:space-between;width:100%;column-gap:24px;row-gap:16px}@media (max-width: 767px){.kong-ui-public-metric-card-container[data-v-80b51a84]{column-gap:16px;row-gap:16px;flex-direction:column}}.kong-ui-public-metric-card-container.sm[data-v-80b51a84]{column-gap:0;row-gap:0}.kong-ui-public-metric-card-container .error-display[data-v-80b51a84]{align-items:center;display:flex;justify-content:center;margin:auto}.kong-ui-public-metric-card-container .error-display-icon[data-v-80b51a84]{display:flex}.kong-ui-public-metric-card-container .error-display-message[data-v-80b51a84]{color:#6c7489;font-size:14px;margin-left:12px}.analytics-chart[data-v-ec989cc0]{height:var(--134a876f)}.analytics-chart[data-v-1b9ab912]{height:var(--381b03f2)}.analytics-chart[data-v-efe3a03d]{height:var(--01f81c18)}.kong-ui-public-grid-layout[data-v-066610e8]{height:var(--bbf5361e);width:100%}.grid-cell[data-v-066610e8]{position:absolute}.grid-cell .tile-container[data-v-066610e8]{margin:20px}@media (max-width: 768px){.kong-ui-public-grid-layout[data-v-066610e8]{display:flex;flex-direction:column}.kong-ui-public-grid-layout .grid-cell[data-v-066610e8]{height:auto!important;left:auto!important;position:relative;top:auto!important;transform:none!important;width:auto!important}.kong-ui-public-grid-layout .grid-cell[data-v-066610e8]:not(:first-child){margin-top:20px}.kong-ui-public-grid-layout .empty-cell[data-v-066610e8]{display:none}}.kong-ui-public-dashboard-renderer .tile-container[data-v-e3197ec0]{border:1px solid #e0e4ea;border-radius:4px}
|
|
@@ -1,130 +1,35 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import type { PropType } from 'vue';
|
|
1
|
+
import type { TileDefinition } from '../types';
|
|
3
2
|
import '@kong-ui-public/analytics-chart/dist/style.css';
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
}[] | undefined;
|
|
17
|
-
granularity_ms?: number | undefined;
|
|
18
|
-
meta?: {
|
|
19
|
-
[x: string]: unknown;
|
|
20
|
-
} | undefined;
|
|
21
|
-
time_range: {
|
|
22
|
-
[x: string]: unknown;
|
|
23
|
-
type: "relative";
|
|
24
|
-
tz: string;
|
|
25
|
-
time_range: "15m" | "1h" | "6h" | "12h" | "24h" | "7d" | "30d" | "current_week" | "current_month" | "previous_week" | "previous_month";
|
|
26
|
-
} | {
|
|
27
|
-
[x: string]: unknown;
|
|
28
|
-
start?: string | undefined;
|
|
29
|
-
end?: string | undefined;
|
|
30
|
-
type: "absolute";
|
|
31
|
-
tz: string;
|
|
32
|
-
};
|
|
33
|
-
};
|
|
34
|
-
chart: {
|
|
35
|
-
chartDatasetColors?: {
|
|
36
|
-
[x: string]: string;
|
|
37
|
-
} | string[] | undefined;
|
|
38
|
-
syntheticsDataKey?: string | undefined;
|
|
39
|
-
stacked?: boolean | undefined;
|
|
40
|
-
showAnnotations?: boolean | undefined;
|
|
41
|
-
type: ChartTypes.HorizontalBar | ChartTypes.VerticalBar;
|
|
42
|
-
} | {
|
|
43
|
-
syntheticsDataKey?: string | undefined;
|
|
44
|
-
metricDisplay?: import("@kong-ui-public/analytics-chart").ChartMetricDisplay | undefined;
|
|
45
|
-
reverseDataset?: boolean | undefined;
|
|
46
|
-
numerator?: number | undefined;
|
|
47
|
-
type: ChartTypes.Gauge;
|
|
48
|
-
} | {
|
|
49
|
-
chartDatasetColors?: {
|
|
50
|
-
[x: string]: string;
|
|
51
|
-
} | string[] | undefined;
|
|
52
|
-
syntheticsDataKey?: string | undefined;
|
|
53
|
-
stacked?: boolean | undefined;
|
|
54
|
-
fill?: boolean | undefined;
|
|
55
|
-
type: ChartTypes.TimeseriesLine;
|
|
56
|
-
};
|
|
57
|
-
}>;
|
|
58
|
-
required: true;
|
|
59
|
-
};
|
|
60
|
-
height: {
|
|
61
|
-
type: NumberConstructor;
|
|
62
|
-
required: false;
|
|
63
|
-
default: () => number;
|
|
64
|
-
};
|
|
65
|
-
}, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
66
|
-
definition: {
|
|
67
|
-
type: PropType<{
|
|
68
|
-
query: {
|
|
69
|
-
[x: string]: unknown;
|
|
70
|
-
metrics?: ("request_count" | "request_per_minute" | "response_latency_p99" | "response_latency_p95" | "response_latency_p50" | "response_latency_average" | "upstream_latency_p99" | "upstream_latency_p95" | "upstream_latency_p50" | "upstream_latency_average" | "kong_latency_p99" | "kong_latency_p95" | "kong_latency_p50" | "kong_latency_average" | "response_size_p99" | "response_size_p95" | "response_size_p50" | "request_size_p99" | "request_size_p95" | "request_size_p50" | "request_size_average" | "response_size_average")[] | undefined;
|
|
71
|
-
dimensions?: ("api_product" | "api_product_version" | "application" | "consumer" | "control_plane" | "control_plane_group" | "data_plane_node" | "gateway_service" | "route" | "status_code" | "status_code_grouped" | "time")[] | undefined;
|
|
72
|
-
filters?: {
|
|
73
|
-
[x: string]: unknown;
|
|
74
|
-
type: "in" | "not_in" | "selector";
|
|
75
|
-
values: string[];
|
|
76
|
-
dimension: "api_product" | "api_product_version" | "application" | "consumer" | "control_plane" | "control_plane_group" | "data_plane_node" | "gateway_service" | "route" | "status_code" | "status_code_grouped" | "time";
|
|
77
|
-
}[] | undefined;
|
|
78
|
-
granularity_ms?: number | undefined;
|
|
79
|
-
meta?: {
|
|
80
|
-
[x: string]: unknown;
|
|
81
|
-
} | undefined;
|
|
82
|
-
time_range: {
|
|
83
|
-
[x: string]: unknown;
|
|
84
|
-
type: "relative";
|
|
85
|
-
tz: string;
|
|
86
|
-
time_range: "15m" | "1h" | "6h" | "12h" | "24h" | "7d" | "30d" | "current_week" | "current_month" | "previous_week" | "previous_month";
|
|
87
|
-
} | {
|
|
88
|
-
[x: string]: unknown;
|
|
89
|
-
start?: string | undefined;
|
|
90
|
-
end?: string | undefined;
|
|
91
|
-
type: "absolute";
|
|
92
|
-
tz: string;
|
|
93
|
-
};
|
|
94
|
-
};
|
|
95
|
-
chart: {
|
|
96
|
-
chartDatasetColors?: {
|
|
97
|
-
[x: string]: string;
|
|
98
|
-
} | string[] | undefined;
|
|
99
|
-
syntheticsDataKey?: string | undefined;
|
|
100
|
-
stacked?: boolean | undefined;
|
|
101
|
-
showAnnotations?: boolean | undefined;
|
|
102
|
-
type: ChartTypes.HorizontalBar | ChartTypes.VerticalBar;
|
|
103
|
-
} | {
|
|
104
|
-
syntheticsDataKey?: string | undefined;
|
|
105
|
-
metricDisplay?: import("@kong-ui-public/analytics-chart").ChartMetricDisplay | undefined;
|
|
106
|
-
reverseDataset?: boolean | undefined;
|
|
107
|
-
numerator?: number | undefined;
|
|
108
|
-
type: ChartTypes.Gauge;
|
|
109
|
-
} | {
|
|
110
|
-
chartDatasetColors?: {
|
|
111
|
-
[x: string]: string;
|
|
112
|
-
} | string[] | undefined;
|
|
113
|
-
syntheticsDataKey?: string | undefined;
|
|
114
|
-
stacked?: boolean | undefined;
|
|
115
|
-
fill?: boolean | undefined;
|
|
116
|
-
type: ChartTypes.TimeseriesLine;
|
|
117
|
-
};
|
|
118
|
-
}>;
|
|
119
|
-
required: true;
|
|
120
|
-
};
|
|
121
|
-
height: {
|
|
122
|
-
type: NumberConstructor;
|
|
123
|
-
required: false;
|
|
124
|
-
default: () => number;
|
|
125
|
-
};
|
|
126
|
-
}>>, {
|
|
3
|
+
import '@kong-ui-public/analytics-metric-provider/dist/style.css';
|
|
4
|
+
declare const _default: import("vue").DefineComponent<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<{
|
|
5
|
+
definition: TileDefinition;
|
|
6
|
+
height?: number | undefined;
|
|
7
|
+
}>, {
|
|
8
|
+
height: number;
|
|
9
|
+
}>, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<{
|
|
10
|
+
definition: TileDefinition;
|
|
11
|
+
height?: number | undefined;
|
|
12
|
+
}>, {
|
|
13
|
+
height: number;
|
|
14
|
+
}>>>, {
|
|
127
15
|
height: number;
|
|
128
16
|
}, {}>;
|
|
129
17
|
export default _default;
|
|
18
|
+
type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
|
|
19
|
+
type __VLS_TypePropsToRuntimeProps<T> = {
|
|
20
|
+
[K in keyof T]-?: {} extends Pick<T, K> ? {
|
|
21
|
+
type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
|
|
22
|
+
} : {
|
|
23
|
+
type: import('vue').PropType<T[K]>;
|
|
24
|
+
required: true;
|
|
25
|
+
};
|
|
26
|
+
};
|
|
27
|
+
type __VLS_WithDefaults<P, D> = {
|
|
28
|
+
[K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_Prettify<P[K] & {
|
|
29
|
+
default: D[K];
|
|
30
|
+
}> : P[K];
|
|
31
|
+
};
|
|
32
|
+
type __VLS_Prettify<T> = {
|
|
33
|
+
[K in keyof T]: T[K];
|
|
34
|
+
} & {};
|
|
130
35
|
//# sourceMappingURL=DashboardTile.vue.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DashboardTile.vue.d.ts","sourceRoot":"","sources":["../../../src/components/DashboardTile.vue.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"DashboardTile.vue.d.ts","sourceRoot":"","sources":["../../../src/components/DashboardTile.vue.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAM9C,OAAO,gDAAgD,CAAA;AACvD,OAAO,0DAA0D,CAAA;;gBAyGnD,cAAc;;;;;gBAAd,cAAc;;;;;YACjB,MAAM;;AAPjB,wBASG;AACH,KAAK,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,SAAS,GAAG,KAAK,GAAG,CAAC,CAAC;AACjE,KAAK,6BAA6B,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;KAAE,GAAG;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAAC,QAAQ,EAAE,IAAI,CAAA;KAAE;CAAE,CAAC;AAC9M,KAAK,kBAAkB,CAAC,CAAC,EAAE,CAAC,IAAI;KAE1B,CAAC,IAAI,MAAM,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,SAAS,MAAM,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG;QACxE,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;KACb,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CACT,CAAC;AACN,KAAK,cAAc,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAG,GAAG,EAAE,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { RendererProps } from '../types';
|
|
2
|
+
declare const _default: import("vue").DefineComponent<__VLS_TypePropsToRuntimeProps<RendererProps<{
|
|
3
|
+
[x: string]: unknown;
|
|
4
|
+
description?: string | undefined;
|
|
5
|
+
longCardTitles?: boolean | undefined;
|
|
6
|
+
type: import("../types").ChartTypes.GoldenSignals;
|
|
7
|
+
}>>, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_TypePropsToRuntimeProps<RendererProps<{
|
|
8
|
+
[x: string]: unknown;
|
|
9
|
+
description?: string | undefined;
|
|
10
|
+
longCardTitles?: boolean | undefined;
|
|
11
|
+
type: import("../types").ChartTypes.GoldenSignals;
|
|
12
|
+
}>>>>, {}, {}>;
|
|
13
|
+
export default _default;
|
|
14
|
+
type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
|
|
15
|
+
type __VLS_TypePropsToRuntimeProps<T> = {
|
|
16
|
+
[K in keyof T]-?: {} extends Pick<T, K> ? {
|
|
17
|
+
type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
|
|
18
|
+
} : {
|
|
19
|
+
type: import('vue').PropType<T[K]>;
|
|
20
|
+
required: true;
|
|
21
|
+
};
|
|
22
|
+
};
|
|
23
|
+
//# sourceMappingURL=GoldenSignalsRenderer.vue.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GoldenSignalsRenderer.vue.d.ts","sourceRoot":"","sources":["../../../src/components/GoldenSignalsRenderer.vue.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAqB,aAAa,EAAE,MAAM,UAAU,CAAA;;;;;;;;;;;;AAmFhE,wBAMG;AACH,KAAK,sBAAsB,CAAC,CAAC,IAAI,CAAC,SAAS,SAAS,GAAG,KAAK,GAAG,CAAC,CAAC;AACjE,KAAK,6BAA6B,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;KAAE,GAAG;QAAE,IAAI,EAAE,OAAO,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAAC,QAAQ,EAAE,IAAI,CAAA;KAAE;CAAE,CAAC"}
|
|
@@ -9,7 +9,8 @@ export declare enum ChartTypes {
|
|
|
9
9
|
HorizontalBar = "horizontal_bar",
|
|
10
10
|
VerticalBar = "vertical_bar",
|
|
11
11
|
Gauge = "gauge",
|
|
12
|
-
TimeseriesLine = "timeseries_line"
|
|
12
|
+
TimeseriesLine = "timeseries_line",
|
|
13
|
+
GoldenSignals = "golden_signals"
|
|
13
14
|
}
|
|
14
15
|
export declare const barChartSchema: {
|
|
15
16
|
readonly type: "object";
|
|
@@ -96,6 +97,23 @@ export declare const gaugeChartSchema: {
|
|
|
96
97
|
readonly additionalProperties: false;
|
|
97
98
|
};
|
|
98
99
|
export type GaugeChartOptions = FromSchema<typeof gaugeChartSchema>;
|
|
100
|
+
export declare const metricCardSchema: {
|
|
101
|
+
readonly type: "object";
|
|
102
|
+
readonly properties: {
|
|
103
|
+
readonly type: {
|
|
104
|
+
readonly type: "string";
|
|
105
|
+
readonly enum: readonly [ChartTypes.GoldenSignals];
|
|
106
|
+
};
|
|
107
|
+
readonly longCardTitles: {
|
|
108
|
+
readonly type: "boolean";
|
|
109
|
+
};
|
|
110
|
+
readonly description: {
|
|
111
|
+
readonly type: "string";
|
|
112
|
+
};
|
|
113
|
+
};
|
|
114
|
+
readonly required: readonly ["type"];
|
|
115
|
+
};
|
|
116
|
+
export type MetricCardOptions = FromSchema<typeof metricCardSchema>;
|
|
99
117
|
export declare const exploreV4QuerySchema: {
|
|
100
118
|
readonly type: "object";
|
|
101
119
|
readonly description: "A query to launch at the API";
|
|
@@ -385,6 +403,21 @@ export declare const tileDefinitionSchema: {
|
|
|
385
403
|
};
|
|
386
404
|
readonly required: readonly ["type"];
|
|
387
405
|
readonly additionalProperties: false;
|
|
406
|
+
}, {
|
|
407
|
+
readonly type: "object";
|
|
408
|
+
readonly properties: {
|
|
409
|
+
readonly type: {
|
|
410
|
+
readonly type: "string";
|
|
411
|
+
readonly enum: readonly [ChartTypes.GoldenSignals];
|
|
412
|
+
};
|
|
413
|
+
readonly longCardTitles: {
|
|
414
|
+
readonly type: "boolean";
|
|
415
|
+
};
|
|
416
|
+
readonly description: {
|
|
417
|
+
readonly type: "string";
|
|
418
|
+
};
|
|
419
|
+
};
|
|
420
|
+
readonly required: readonly ["type"];
|
|
388
421
|
}];
|
|
389
422
|
};
|
|
390
423
|
};
|
|
@@ -617,6 +650,21 @@ export declare const tileConfigSchema: {
|
|
|
617
650
|
};
|
|
618
651
|
readonly required: readonly ["type"];
|
|
619
652
|
readonly additionalProperties: false;
|
|
653
|
+
}, {
|
|
654
|
+
readonly type: "object";
|
|
655
|
+
readonly properties: {
|
|
656
|
+
readonly type: {
|
|
657
|
+
readonly type: "string";
|
|
658
|
+
readonly enum: readonly [ChartTypes.GoldenSignals];
|
|
659
|
+
};
|
|
660
|
+
readonly longCardTitles: {
|
|
661
|
+
readonly type: "boolean";
|
|
662
|
+
};
|
|
663
|
+
readonly description: {
|
|
664
|
+
readonly type: "string";
|
|
665
|
+
};
|
|
666
|
+
};
|
|
667
|
+
readonly required: readonly ["type"];
|
|
620
668
|
}];
|
|
621
669
|
};
|
|
622
670
|
};
|
|
@@ -857,6 +905,21 @@ export declare const dashboardConfigSchema: {
|
|
|
857
905
|
};
|
|
858
906
|
readonly required: readonly ["type"];
|
|
859
907
|
readonly additionalProperties: false;
|
|
908
|
+
}, {
|
|
909
|
+
readonly type: "object";
|
|
910
|
+
readonly properties: {
|
|
911
|
+
readonly type: {
|
|
912
|
+
readonly type: "string";
|
|
913
|
+
readonly enum: readonly [ChartTypes.GoldenSignals];
|
|
914
|
+
};
|
|
915
|
+
readonly longCardTitles: {
|
|
916
|
+
readonly type: "boolean";
|
|
917
|
+
};
|
|
918
|
+
readonly description: {
|
|
919
|
+
readonly type: "string";
|
|
920
|
+
};
|
|
921
|
+
};
|
|
922
|
+
readonly required: readonly ["type"];
|
|
860
923
|
}];
|
|
861
924
|
};
|
|
862
925
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dashboard-renderer-types.d.ts","sourceRoot":"","sources":["../../../src/types/dashboard-renderer-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAc,MAAM,mBAAmB,CAAA;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAA;AAEpE,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAA;AAEnG,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,aAAa,EAAE,CAAA;IACxB,QAAQ,EAAE,WAAW,CAAA;CACtB;AAED,oBAAY,UAAU;IACpB,aAAa,mBAAmB;IAChC,WAAW,iBAAiB;IAC5B,KAAK,UAAU;IACf,cAAc,oBAAoB;
|
|
1
|
+
{"version":3,"file":"dashboard-renderer-types.d.ts","sourceRoot":"","sources":["../../../src/types/dashboard-renderer-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAc,MAAM,mBAAmB,CAAA;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAA;AAEpE,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAA;AAEnG,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,aAAa,EAAE,CAAA;IACxB,QAAQ,EAAE,WAAW,CAAA;CACtB;AAED,oBAAY,UAAU;IACpB,aAAa,mBAAmB;IAChC,WAAW,iBAAiB;IAC5B,KAAK,UAAU;IACf,cAAc,oBAAoB;IAClC,aAAa,mBAAmB;CACjC;AAiBD,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkBI,CAAA;AAE/B,MAAM,MAAM,eAAe,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAA;AAE/D,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkBH,CAAA;AAE/B,MAAM,MAAM,sBAAsB,GAAG,UAAU,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAE7E,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;CAqBE,CAAA;AAE/B,MAAM,MAAM,iBAAiB,GAAG,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAA;AAEnE,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;CAeE,CAAA;AAE/B,MAAM,MAAM,iBAAiB,GAAG,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAA;AA4GnE,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmFF,CAAA;AAE/B,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAUF,CAAA;AAE/B,MAAM,MAAM,cAAc,GAAG,UAAU,CAAC,OAAO,oBAAoB,CAAC,CAAA;AAEpE,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkCE,CAAA;AAE/B,MAAM,MAAM,UAAU,GAAG,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAA;AAE5D,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAQE,CAAA;AAE/B,MAAM,MAAM,UAAU,GAAG,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAA;AAE5D,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4BH,CAAA;AAE/B,MAAM,MAAM,eAAe,GAAG,UAAU,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAEtE,MAAM,WAAW,aAAa,CAAC,CAAC;IAC9B,KAAK,EAAE,YAAY,CAAA;IACnB,UAAU,EAAE,OAAO,CAAA;IACnB,YAAY,EAAE,CAAC,CAAA;IACf,MAAM,EAAE,MAAM,CAAA;CACf"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kong-ui-public/dashboard-renderer",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.6.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "./dist/dashboard-renderer.umd.js",
|
|
6
6
|
"module": "./dist/dashboard-renderer.es.js",
|
|
@@ -27,9 +27,10 @@
|
|
|
27
27
|
"swrv": "^1.0.4",
|
|
28
28
|
"vue": "^3.4.13",
|
|
29
29
|
"@kong-ui-public/analytics-chart": "^2.1.1",
|
|
30
|
+
"@kong-ui-public/analytics-metric-provider": "^4.0.1",
|
|
30
31
|
"@kong-ui-public/analytics-utilities": "^1.1.1",
|
|
31
|
-
"@kong-ui-public/
|
|
32
|
-
"@kong-ui-public/
|
|
32
|
+
"@kong-ui-public/i18n": "^2.1.2",
|
|
33
|
+
"@kong-ui-public/sandbox-layout": "^2.0.33"
|
|
33
34
|
},
|
|
34
35
|
"repository": {
|
|
35
36
|
"type": "git",
|
|
@@ -53,6 +54,7 @@
|
|
|
53
54
|
"swrv": "^1.0.4",
|
|
54
55
|
"vue": ">= 3.3.13 < 4",
|
|
55
56
|
"@kong-ui-public/analytics-chart": "^2.1.1",
|
|
57
|
+
"@kong-ui-public/analytics-metric-provider": "^4.0.1",
|
|
56
58
|
"@kong-ui-public/analytics-utilities": "^1.1.1",
|
|
57
59
|
"@kong-ui-public/i18n": "^2.1.2"
|
|
58
60
|
},
|