@kong-ui-public/analytics-metric-provider 2.0.32 → 2.0.34
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vitals-metric-provider.es.js","sources":["../../analytics-utilities/dist/vitals-utilities.es.js","../src/composables/useI18n.ts","../src/types/explore-types.ts","../src/constants.ts","../../../../node_modules/.pnpm/@kong-ui-public+core@1.1.0_axios@1.6.5_swrv@1.0.4_vue@3.4.15/node_modules/@kong-ui-public/core/dist/core.es.js","../src/composables/useMetricFetcher.ts","../src/composables/useMetricCardBuilder.ts","../../../../node_modules/.pnpm/swrv@1.0.4_vue@3.4.15/node_modules/swrv/esm/lib/hash.js","../../../../node_modules/.pnpm/swrv@1.0.4_vue@3.4.15/node_modules/swrv/esm/cache/index.js","../../../../node_modules/.pnpm/swrv@1.0.4_vue@3.4.15/node_modules/swrv/esm/lib/web-preset.js","../../../../node_modules/.pnpm/swrv@1.0.4_vue@3.4.15/node_modules/swrv/esm/use-swrv.js","../src/composables/useRequest.ts","../src/composables/index.ts","../src/components/metricsProviderUtil.ts","../src/components/MetricsProviderInternal.vue","../../metric-cards/dist/metric-cards.es.js","../src/components/MetricsConsumer.vue","../src/mockExploreResponse.ts"],"sourcesContent":["var qe = Object.defineProperty;\nvar je = (r, e, t) => e in r ? qe(r, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : r[e] = t;\nvar M = (r, e, t) => (je(r, typeof e != \"symbol\" ? e + \"\" : e, t), t);\nvar d = /* @__PURE__ */ ((r) => (r.MINUTELY = \"Minutely\", r.HOURLY = \"Hourly\", r.DAILY = \"Daily\", r.WEEKLY = \"Weekly\", r))(d || {}), v = /* @__PURE__ */ ((r) => (r.FIFTEEN_MIN = \"15m\", r.ONE_HOUR = \"1h\", r.SIX_HOUR = \"6h\", r.TWELVE_HOUR = \"12h\", r.ONE_DAY = \"24h\", r.SEVEN_DAY = \"7d\", r.THIRTY_DAY = \"30d\", r.CURRENT_WEEK = \"current_week\", r.CURRENT_MONTH = \"current_month\", r.CURRENT_QUARTER = \"current_quarter\", r.PREVIOUS_WEEK = \"previous_week\", r.PREVIOUS_MONTH = \"previous_month\", r.PREVIOUS_QUARTER = \"previous_quarter\", r))(v || {}), ze = /* @__PURE__ */ ((r) => (r.DOUGHNUT = \"Doughnut\", r.HORIZONTAL_BAR = \"HorizontalBar\", r.VERTICAL_BAR = \"VerticalBar\", r.TIMESERIES_LINE = \"Line\", r.TIMESERIES_BAR = \"TimeSeriesBar\", r))(ze || {});\nfunction W(r) {\n \"@babel/helpers - typeof\";\n return W = typeof Symbol == \"function\" && typeof Symbol.iterator == \"symbol\" ? function(e) {\n return typeof e;\n } : function(e) {\n return e && typeof Symbol == \"function\" && e.constructor === Symbol && e !== Symbol.prototype ? \"symbol\" : typeof e;\n }, W(r);\n}\nfunction T(r) {\n if (r === null || r === !0 || r === !1)\n return NaN;\n var e = Number(r);\n return isNaN(e) ? e : e < 0 ? Math.ceil(e) : Math.floor(e);\n}\nfunction m(r, e) {\n if (e.length < r)\n throw new TypeError(r + \" argument\" + (r > 1 ? \"s\" : \"\") + \" required, but only \" + e.length + \" present\");\n}\nfunction D(r) {\n m(1, arguments);\n var e = Object.prototype.toString.call(r);\n return r instanceof Date || W(r) === \"object\" && e === \"[object Date]\" ? new Date(r.getTime()) : typeof r == \"number\" || e === \"[object Number]\" ? new Date(r) : ((typeof r == \"string\" || e === \"[object String]\") && typeof console < \"u\" && (console.warn(\"Starting with v2.0.0-beta.1 date-fns doesn't accept strings as date arguments. Please use `parseISO` to parse strings. See: https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#string-arguments\"), console.warn(new Error().stack)), /* @__PURE__ */ new Date(NaN));\n}\nfunction ne(r, e) {\n m(2, arguments);\n var t = D(r), a = T(e);\n return isNaN(a) ? /* @__PURE__ */ new Date(NaN) : (a && t.setDate(t.getDate() + a), t);\n}\nfunction Qe(r, e) {\n m(2, arguments);\n var t = D(r), a = T(e);\n if (isNaN(a))\n return /* @__PURE__ */ new Date(NaN);\n if (!a)\n return t;\n var n = t.getDate(), i = new Date(t.getTime());\n i.setMonth(t.getMonth() + a + 1, 0);\n var o = i.getDate();\n return n >= o ? i : (t.setFullYear(i.getFullYear(), i.getMonth(), n), t);\n}\nfunction Ve(r, e) {\n m(2, arguments);\n var t = D(r).getTime(), a = T(e);\n return new Date(t + a);\n}\nvar Xe = {};\nfunction H() {\n return Xe;\n}\nfunction F(r, e) {\n var t, a, n, i, o, u, s, l;\n m(1, arguments);\n var h = H(), f = T((t = (a = (n = (i = e == null ? void 0 : e.weekStartsOn) !== null && i !== void 0 ? i : e == null || (o = e.locale) === null || o === void 0 || (u = o.options) === null || u === void 0 ? void 0 : u.weekStartsOn) !== null && n !== void 0 ? n : h.weekStartsOn) !== null && a !== void 0 ? a : (s = h.locale) === null || s === void 0 || (l = s.options) === null || l === void 0 ? void 0 : l.weekStartsOn) !== null && t !== void 0 ? t : 0);\n if (!(f >= 0 && f <= 6))\n throw new RangeError(\"weekStartsOn must be between 0 and 6 inclusively\");\n var g = D(r), w = g.getDay(), y = (w < f ? 7 : 0) + w - f;\n return g.setDate(g.getDate() - y), g.setHours(0, 0, 0, 0), g;\n}\nfunction Be(r) {\n var e = new Date(Date.UTC(r.getFullYear(), r.getMonth(), r.getDate(), r.getHours(), r.getMinutes(), r.getSeconds(), r.getMilliseconds()));\n return e.setUTCFullYear(r.getFullYear()), r.getTime() - e.getTime();\n}\nfunction ve(r) {\n m(1, arguments);\n var e = D(r);\n return e.setHours(0, 0, 0, 0), e;\n}\nvar Ze = 60, Je = 3600;\nfunction Ke(r) {\n return m(1, arguments), r instanceof Date || W(r) === \"object\" && Object.prototype.toString.call(r) === \"[object Date]\";\n}\nfunction et(r) {\n if (m(1, arguments), !Ke(r) && typeof r != \"number\")\n return !1;\n var e = D(r);\n return !isNaN(Number(e));\n}\nfunction S(r) {\n m(1, arguments);\n var e = D(r);\n return e.setDate(1), e.setHours(0, 0, 0, 0), e;\n}\nfunction tt(r, e) {\n m(2, arguments);\n var t = T(e);\n return Ve(r, -t);\n}\nvar rt = 864e5;\nfunction at(r) {\n m(1, arguments);\n var e = D(r), t = e.getTime();\n e.setUTCMonth(0, 1), e.setUTCHours(0, 0, 0, 0);\n var a = e.getTime(), n = t - a;\n return Math.floor(n / rt) + 1;\n}\nfunction G(r) {\n m(1, arguments);\n var e = 1, t = D(r), a = t.getUTCDay(), n = (a < e ? 7 : 0) + a - e;\n return t.setUTCDate(t.getUTCDate() - n), t.setUTCHours(0, 0, 0, 0), t;\n}\nfunction Se(r) {\n m(1, arguments);\n var e = D(r), t = e.getUTCFullYear(), a = /* @__PURE__ */ new Date(0);\n a.setUTCFullYear(t + 1, 0, 4), a.setUTCHours(0, 0, 0, 0);\n var n = G(a), i = /* @__PURE__ */ new Date(0);\n i.setUTCFullYear(t, 0, 4), i.setUTCHours(0, 0, 0, 0);\n var o = G(i);\n return e.getTime() >= n.getTime() ? t + 1 : e.getTime() >= o.getTime() ? t : t - 1;\n}\nfunction nt(r) {\n m(1, arguments);\n var e = Se(r), t = /* @__PURE__ */ new Date(0);\n t.setUTCFullYear(e, 0, 4), t.setUTCHours(0, 0, 0, 0);\n var a = G(t);\n return a;\n}\nvar it = 6048e5;\nfunction ot(r) {\n m(1, arguments);\n var e = D(r), t = G(e).getTime() - nt(e).getTime();\n return Math.round(t / it) + 1;\n}\nfunction q(r, e) {\n var t, a, n, i, o, u, s, l;\n m(1, arguments);\n var h = H(), f = T((t = (a = (n = (i = e == null ? void 0 : e.weekStartsOn) !== null && i !== void 0 ? i : e == null || (o = e.locale) === null || o === void 0 || (u = o.options) === null || u === void 0 ? void 0 : u.weekStartsOn) !== null && n !== void 0 ? n : h.weekStartsOn) !== null && a !== void 0 ? a : (s = h.locale) === null || s === void 0 || (l = s.options) === null || l === void 0 ? void 0 : l.weekStartsOn) !== null && t !== void 0 ? t : 0);\n if (!(f >= 0 && f <= 6))\n throw new RangeError(\"weekStartsOn must be between 0 and 6 inclusively\");\n var g = D(r), w = g.getUTCDay(), y = (w < f ? 7 : 0) + w - f;\n return g.setUTCDate(g.getUTCDate() - y), g.setUTCHours(0, 0, 0, 0), g;\n}\nfunction xe(r, e) {\n var t, a, n, i, o, u, s, l;\n m(1, arguments);\n var h = D(r), f = h.getUTCFullYear(), g = H(), w = T((t = (a = (n = (i = e == null ? void 0 : e.firstWeekContainsDate) !== null && i !== void 0 ? i : e == null || (o = e.locale) === null || o === void 0 || (u = o.options) === null || u === void 0 ? void 0 : u.firstWeekContainsDate) !== null && n !== void 0 ? n : g.firstWeekContainsDate) !== null && a !== void 0 ? a : (s = g.locale) === null || s === void 0 || (l = s.options) === null || l === void 0 ? void 0 : l.firstWeekContainsDate) !== null && t !== void 0 ? t : 1);\n if (!(w >= 1 && w <= 7))\n throw new RangeError(\"firstWeekContainsDate must be between 1 and 7 inclusively\");\n var y = /* @__PURE__ */ new Date(0);\n y.setUTCFullYear(f + 1, 0, w), y.setUTCHours(0, 0, 0, 0);\n var U = q(y, e), N = /* @__PURE__ */ new Date(0);\n N.setUTCFullYear(f, 0, w), N.setUTCHours(0, 0, 0, 0);\n var k = q(N, e);\n return h.getTime() >= U.getTime() ? f + 1 : h.getTime() >= k.getTime() ? f : f - 1;\n}\nfunction ut(r, e) {\n var t, a, n, i, o, u, s, l;\n m(1, arguments);\n var h = H(), f = T((t = (a = (n = (i = e == null ? void 0 : e.firstWeekContainsDate) !== null && i !== void 0 ? i : e == null || (o = e.locale) === null || o === void 0 || (u = o.options) === null || u === void 0 ? void 0 : u.firstWeekContainsDate) !== null && n !== void 0 ? n : h.firstWeekContainsDate) !== null && a !== void 0 ? a : (s = h.locale) === null || s === void 0 || (l = s.options) === null || l === void 0 ? void 0 : l.firstWeekContainsDate) !== null && t !== void 0 ? t : 1), g = xe(r, e), w = /* @__PURE__ */ new Date(0);\n w.setUTCFullYear(g, 0, f), w.setUTCHours(0, 0, 0, 0);\n var y = q(w, e);\n return y;\n}\nvar st = 6048e5;\nfunction lt(r, e) {\n m(1, arguments);\n var t = D(r), a = q(t, e).getTime() - ut(t, e).getTime();\n return Math.round(a / st) + 1;\n}\nfunction c(r, e) {\n for (var t = r < 0 ? \"-\" : \"\", a = Math.abs(r).toString(); a.length < e; )\n a = \"0\" + a;\n return t + a;\n}\nvar dt = {\n // Year\n y: function(e, t) {\n var a = e.getUTCFullYear(), n = a > 0 ? a : 1 - a;\n return c(t === \"yy\" ? n % 100 : n, t.length);\n },\n // Month\n M: function(e, t) {\n var a = e.getUTCMonth();\n return t === \"M\" ? String(a + 1) : c(a + 1, 2);\n },\n // Day of the month\n d: function(e, t) {\n return c(e.getUTCDate(), t.length);\n },\n // AM or PM\n a: function(e, t) {\n var a = e.getUTCHours() / 12 >= 1 ? \"pm\" : \"am\";\n switch (t) {\n case \"a\":\n case \"aa\":\n return a.toUpperCase();\n case \"aaa\":\n return a;\n case \"aaaaa\":\n return a[0];\n case \"aaaa\":\n default:\n return a === \"am\" ? \"a.m.\" : \"p.m.\";\n }\n },\n // Hour [1-12]\n h: function(e, t) {\n return c(e.getUTCHours() % 12 || 12, t.length);\n },\n // Hour [0-23]\n H: function(e, t) {\n return c(e.getUTCHours(), t.length);\n },\n // Minute\n m: function(e, t) {\n return c(e.getUTCMinutes(), t.length);\n },\n // Second\n s: function(e, t) {\n return c(e.getUTCSeconds(), t.length);\n },\n // Fraction of second\n S: function(e, t) {\n var a = t.length, n = e.getUTCMilliseconds(), i = Math.floor(n * Math.pow(10, a - 3));\n return c(i, t.length);\n }\n};\nconst E = dt;\nvar C = {\n am: \"am\",\n pm: \"pm\",\n midnight: \"midnight\",\n noon: \"noon\",\n morning: \"morning\",\n afternoon: \"afternoon\",\n evening: \"evening\",\n night: \"night\"\n}, ft = {\n // Era\n G: function(e, t, a) {\n var n = e.getUTCFullYear() > 0 ? 1 : 0;\n switch (t) {\n case \"G\":\n case \"GG\":\n case \"GGG\":\n return a.era(n, {\n width: \"abbreviated\"\n });\n case \"GGGGG\":\n return a.era(n, {\n width: \"narrow\"\n });\n case \"GGGG\":\n default:\n return a.era(n, {\n width: \"wide\"\n });\n }\n },\n // Year\n y: function(e, t, a) {\n if (t === \"yo\") {\n var n = e.getUTCFullYear(), i = n > 0 ? n : 1 - n;\n return a.ordinalNumber(i, {\n unit: \"year\"\n });\n }\n return E.y(e, t);\n },\n // Local week-numbering year\n Y: function(e, t, a, n) {\n var i = xe(e, n), o = i > 0 ? i : 1 - i;\n if (t === \"YY\") {\n var u = o % 100;\n return c(u, 2);\n }\n return t === \"Yo\" ? a.ordinalNumber(o, {\n unit: \"year\"\n }) : c(o, t.length);\n },\n // ISO week-numbering year\n R: function(e, t) {\n var a = Se(e);\n return c(a, t.length);\n },\n // Extended year. This is a single number designating the year of this calendar system.\n // The main difference between `y` and `u` localizers are B.C. years:\n // | Year | `y` | `u` |\n // |------|-----|-----|\n // | AC 1 | 1 | 1 |\n // | BC 1 | 1 | 0 |\n // | BC 2 | 2 | -1 |\n // Also `yy` always returns the last two digits of a year,\n // while `uu` pads single digit years to 2 characters and returns other years unchanged.\n u: function(e, t) {\n var a = e.getUTCFullYear();\n return c(a, t.length);\n },\n // Quarter\n Q: function(e, t, a) {\n var n = Math.ceil((e.getUTCMonth() + 1) / 3);\n switch (t) {\n case \"Q\":\n return String(n);\n case \"QQ\":\n return c(n, 2);\n case \"Qo\":\n return a.ordinalNumber(n, {\n unit: \"quarter\"\n });\n case \"QQQ\":\n return a.quarter(n, {\n width: \"abbreviated\",\n context: \"formatting\"\n });\n case \"QQQQQ\":\n return a.quarter(n, {\n width: \"narrow\",\n context: \"formatting\"\n });\n case \"QQQQ\":\n default:\n return a.quarter(n, {\n width: \"wide\",\n context: \"formatting\"\n });\n }\n },\n // Stand-alone quarter\n q: function(e, t, a) {\n var n = Math.ceil((e.getUTCMonth() + 1) / 3);\n switch (t) {\n case \"q\":\n return String(n);\n case \"qq\":\n return c(n, 2);\n case \"qo\":\n return a.ordinalNumber(n, {\n unit: \"quarter\"\n });\n case \"qqq\":\n return a.quarter(n, {\n width: \"abbreviated\",\n context: \"standalone\"\n });\n case \"qqqqq\":\n return a.quarter(n, {\n width: \"narrow\",\n context: \"standalone\"\n });\n case \"qqqq\":\n default:\n return a.quarter(n, {\n width: \"wide\",\n context: \"standalone\"\n });\n }\n },\n // Month\n M: function(e, t, a) {\n var n = e.getUTCMonth();\n switch (t) {\n case \"M\":\n case \"MM\":\n return E.M(e, t);\n case \"Mo\":\n return a.ordinalNumber(n + 1, {\n unit: \"month\"\n });\n case \"MMM\":\n return a.month(n, {\n width: \"abbreviated\",\n context: \"formatting\"\n });\n case \"MMMMM\":\n return a.month(n, {\n width: \"narrow\",\n context: \"formatting\"\n });\n case \"MMMM\":\n default:\n return a.month(n, {\n width: \"wide\",\n context: \"formatting\"\n });\n }\n },\n // Stand-alone month\n L: function(e, t, a) {\n var n = e.getUTCMonth();\n switch (t) {\n case \"L\":\n return String(n + 1);\n case \"LL\":\n return c(n + 1, 2);\n case \"Lo\":\n return a.ordinalNumber(n + 1, {\n unit: \"month\"\n });\n case \"LLL\":\n return a.month(n, {\n width: \"abbreviated\",\n context: \"standalone\"\n });\n case \"LLLLL\":\n return a.month(n, {\n width: \"narrow\",\n context: \"standalone\"\n });\n case \"LLLL\":\n default:\n return a.month(n, {\n width: \"wide\",\n context: \"standalone\"\n });\n }\n },\n // Local week of year\n w: function(e, t, a, n) {\n var i = lt(e, n);\n return t === \"wo\" ? a.ordinalNumber(i, {\n unit: \"week\"\n }) : c(i, t.length);\n },\n // ISO week of year\n I: function(e, t, a) {\n var n = ot(e);\n return t === \"Io\" ? a.ordinalNumber(n, {\n unit: \"week\"\n }) : c(n, t.length);\n },\n // Day of the month\n d: function(e, t, a) {\n return t === \"do\" ? a.ordinalNumber(e.getUTCDate(), {\n unit: \"date\"\n }) : E.d(e, t);\n },\n // Day of year\n D: function(e, t, a) {\n var n = at(e);\n return t === \"Do\" ? a.ordinalNumber(n, {\n unit: \"dayOfYear\"\n }) : c(n, t.length);\n },\n // Day of week\n E: function(e, t, a) {\n var n = e.getUTCDay();\n switch (t) {\n case \"E\":\n case \"EE\":\n case \"EEE\":\n return a.day(n, {\n width: \"abbreviated\",\n context: \"formatting\"\n });\n case \"EEEEE\":\n return a.day(n, {\n width: \"narrow\",\n context: \"formatting\"\n });\n case \"EEEEEE\":\n return a.day(n, {\n width: \"short\",\n context: \"formatting\"\n });\n case \"EEEE\":\n default:\n return a.day(n, {\n width: \"wide\",\n context: \"formatting\"\n });\n }\n },\n // Local day of week\n e: function(e, t, a, n) {\n var i = e.getUTCDay(), o = (i - n.weekStartsOn + 8) % 7 || 7;\n switch (t) {\n case \"e\":\n return String(o);\n case \"ee\":\n return c(o, 2);\n case \"eo\":\n return a.ordinalNumber(o, {\n unit: \"day\"\n });\n case \"eee\":\n return a.day(i, {\n width: \"abbreviated\",\n context: \"formatting\"\n });\n case \"eeeee\":\n return a.day(i, {\n width: \"narrow\",\n context: \"formatting\"\n });\n case \"eeeeee\":\n return a.day(i, {\n width: \"short\",\n context: \"formatting\"\n });\n case \"eeee\":\n default:\n return a.day(i, {\n width: \"wide\",\n context: \"formatting\"\n });\n }\n },\n // Stand-alone local day of week\n c: function(e, t, a, n) {\n var i = e.getUTCDay(), o = (i - n.weekStartsOn + 8) % 7 || 7;\n switch (t) {\n case \"c\":\n return String(o);\n case \"cc\":\n return c(o, t.length);\n case \"co\":\n return a.ordinalNumber(o, {\n unit: \"day\"\n });\n case \"ccc\":\n return a.day(i, {\n width: \"abbreviated\",\n context: \"standalone\"\n });\n case \"ccccc\":\n return a.day(i, {\n width: \"narrow\",\n context: \"standalone\"\n });\n case \"cccccc\":\n return a.day(i, {\n width: \"short\",\n context: \"standalone\"\n });\n case \"cccc\":\n default:\n return a.day(i, {\n width: \"wide\",\n context: \"standalone\"\n });\n }\n },\n // ISO day of week\n i: function(e, t, a) {\n var n = e.getUTCDay(), i = n === 0 ? 7 : n;\n switch (t) {\n case \"i\":\n return String(i);\n case \"ii\":\n return c(i, t.length);\n case \"io\":\n return a.ordinalNumber(i, {\n unit: \"day\"\n });\n case \"iii\":\n return a.day(n, {\n width: \"abbreviated\",\n context: \"formatting\"\n });\n case \"iiiii\":\n return a.day(n, {\n width: \"narrow\",\n context: \"formatting\"\n });\n case \"iiiiii\":\n return a.day(n, {\n width: \"short\",\n context: \"formatting\"\n });\n case \"iiii\":\n default:\n return a.day(n, {\n width: \"wide\",\n context: \"formatting\"\n });\n }\n },\n // AM or PM\n a: function(e, t, a) {\n var n = e.getUTCHours(), i = n / 12 >= 1 ? \"pm\" : \"am\";\n switch (t) {\n case \"a\":\n case \"aa\":\n return a.dayPeriod(i, {\n width: \"abbreviated\",\n context: \"formatting\"\n });\n case \"aaa\":\n return a.dayPeriod(i, {\n width: \"abbreviated\",\n context: \"formatting\"\n }).toLowerCase();\n case \"aaaaa\":\n return a.dayPeriod(i, {\n width: \"narrow\",\n context: \"formatting\"\n });\n case \"aaaa\":\n default:\n return a.dayPeriod(i, {\n width: \"wide\",\n context: \"formatting\"\n });\n }\n },\n // AM, PM, midnight, noon\n b: function(e, t, a) {\n var n = e.getUTCHours(), i;\n switch (n === 12 ? i = C.noon : n === 0 ? i = C.midnight : i = n / 12 >= 1 ? \"pm\" : \"am\", t) {\n case \"b\":\n case \"bb\":\n return a.dayPeriod(i, {\n width: \"abbreviated\",\n context: \"formatting\"\n });\n case \"bbb\":\n return a.dayPeriod(i, {\n width: \"abbreviated\",\n context: \"formatting\"\n }).toLowerCase();\n case \"bbbbb\":\n return a.dayPeriod(i, {\n width: \"narrow\",\n context: \"formatting\"\n });\n case \"bbbb\":\n default:\n return a.dayPeriod(i, {\n width: \"wide\",\n context: \"formatting\"\n });\n }\n },\n // in the morning, in the afternoon, in the evening, at night\n B: function(e, t, a) {\n var n = e.getUTCHours(), i;\n switch (n >= 17 ? i = C.evening : n >= 12 ? i = C.afternoon : n >= 4 ? i = C.morning : i = C.night, t) {\n case \"B\":\n case \"BB\":\n case \"BBB\":\n return a.dayPeriod(i, {\n width: \"abbreviated\",\n context: \"formatting\"\n });\n case \"BBBBB\":\n return a.dayPeriod(i, {\n width: \"narrow\",\n context: \"formatting\"\n });\n case \"BBBB\":\n default:\n return a.dayPeriod(i, {\n width: \"wide\",\n context: \"formatting\"\n });\n }\n },\n // Hour [1-12]\n h: function(e, t, a) {\n if (t === \"ho\") {\n var n = e.getUTCHours() % 12;\n return n === 0 && (n = 12), a.ordinalNumber(n, {\n unit: \"hour\"\n });\n }\n return E.h(e, t);\n },\n // Hour [0-23]\n H: function(e, t, a) {\n return t === \"Ho\" ? a.ordinalNumber(e.getUTCHours(), {\n unit: \"hour\"\n }) : E.H(e, t);\n },\n // Hour [0-11]\n K: function(e, t, a) {\n var n = e.getUTCHours() % 12;\n return t === \"Ko\" ? a.ordinalNumber(n, {\n unit: \"hour\"\n }) : c(n, t.length);\n },\n // Hour [1-24]\n k: function(e, t, a) {\n var n = e.getUTCHours();\n return n === 0 && (n = 24), t === \"ko\" ? a.ordinalNumber(n, {\n unit: \"hour\"\n }) : c(n, t.length);\n },\n // Minute\n m: function(e, t, a) {\n return t === \"mo\" ? a.ordinalNumber(e.getUTCMinutes(), {\n unit: \"minute\"\n }) : E.m(e, t);\n },\n // Second\n s: function(e, t, a) {\n return t === \"so\" ? a.ordinalNumber(e.getUTCSeconds(), {\n unit: \"second\"\n }) : E.s(e, t);\n },\n // Fraction of second\n S: function(e, t) {\n return E.S(e, t);\n },\n // Timezone (ISO-8601. If offset is 0, output is always `'Z'`)\n X: function(e, t, a, n) {\n var i = n._originalDate || e, o = i.getTimezoneOffset();\n if (o === 0)\n return \"Z\";\n switch (t) {\n case \"X\":\n return we(o);\n case \"XXXX\":\n case \"XX\":\n return _(o);\n case \"XXXXX\":\n case \"XXX\":\n default:\n return _(o, \":\");\n }\n },\n // Timezone (ISO-8601. If offset is 0, output is `'+00:00'` or equivalent)\n x: function(e, t, a, n) {\n var i = n._originalDate || e, o = i.getTimezoneOffset();\n switch (t) {\n case \"x\":\n return we(o);\n case \"xxxx\":\n case \"xx\":\n return _(o);\n case \"xxxxx\":\n case \"xxx\":\n default:\n return _(o, \":\");\n }\n },\n // Timezone (GMT)\n O: function(e, t, a, n) {\n var i = n._originalDate || e, o = i.getTimezoneOffset();\n switch (t) {\n case \"O\":\n case \"OO\":\n case \"OOO\":\n return \"GMT\" + ge(o, \":\");\n case \"OOOO\":\n default:\n return \"GMT\" + _(o, \":\");\n }\n },\n // Timezone (specific non-location)\n z: function(e, t, a, n) {\n var i = n._originalDate || e, o = i.getTimezoneOffset();\n switch (t) {\n case \"z\":\n case \"zz\":\n case \"zzz\":\n return \"GMT\" + ge(o, \":\");\n case \"zzzz\":\n default:\n return \"GMT\" + _(o, \":\");\n }\n },\n // Seconds timestamp\n t: function(e, t, a, n) {\n var i = n._originalDate || e, o = Math.floor(i.getTime() / 1e3);\n return c(o, t.length);\n },\n // Milliseconds timestamp\n T: function(e, t, a, n) {\n var i = n._originalDate || e, o = i.getTime();\n return c(o, t.length);\n }\n};\nfunction ge(r, e) {\n var t = r > 0 ? \"-\" : \"+\", a = Math.abs(r), n = Math.floor(a / 60), i = a % 60;\n if (i === 0)\n return t + String(n);\n var o = e || \"\";\n return t + String(n) + o + c(i, 2);\n}\nfunction we(r, e) {\n if (r % 60 === 0) {\n var t = r > 0 ? \"-\" : \"+\";\n return t + c(Math.abs(r) / 60, 2);\n }\n return _(r, e);\n}\nfunction _(r, e) {\n var t = e || \"\", a = r > 0 ? \"-\" : \"+\", n = Math.abs(r), i = c(Math.floor(n / 60), 2), o = c(n % 60, 2);\n return a + i + t + o;\n}\nconst ct = ft;\nvar Te = function(e, t) {\n switch (e) {\n case \"P\":\n return t.date({\n width: \"short\"\n });\n case \"PP\":\n return t.date({\n width: \"medium\"\n });\n case \"PPP\":\n return t.date({\n width: \"long\"\n });\n case \"PPPP\":\n default:\n return t.date({\n width: \"full\"\n });\n }\n}, Ue = function(e, t) {\n switch (e) {\n case \"p\":\n return t.time({\n width: \"short\"\n });\n case \"pp\":\n return t.time({\n width: \"medium\"\n });\n case \"ppp\":\n return t.time({\n width: \"long\"\n });\n case \"pppp\":\n default:\n return t.time({\n width: \"full\"\n });\n }\n}, mt = function(e, t) {\n var a = e.match(/(P+)(p+)?/) || [], n = a[1], i = a[2];\n if (!i)\n return Te(e, t);\n var o;\n switch (n) {\n case \"P\":\n o = t.dateTime({\n width: \"short\"\n });\n break;\n case \"PP\":\n o = t.dateTime({\n width: \"medium\"\n });\n break;\n case \"PPP\":\n o = t.dateTime({\n width: \"long\"\n });\n break;\n case \"PPPP\":\n default:\n o = t.dateTime({\n width: \"full\"\n });\n break;\n }\n return o.replace(\"{{date}}\", Te(n, t)).replace(\"{{time}}\", Ue(i, t));\n}, ht = {\n p: Ue,\n P: mt\n};\nconst vt = ht;\nvar gt = [\"D\", \"DD\"], wt = [\"YY\", \"YYYY\"];\nfunction Tt(r) {\n return gt.indexOf(r) !== -1;\n}\nfunction Dt(r) {\n return wt.indexOf(r) !== -1;\n}\nfunction De(r, e, t) {\n if (r === \"YYYY\")\n throw new RangeError(\"Use `yyyy` instead of `YYYY` (in `\".concat(e, \"`) for formatting years to the input `\").concat(t, \"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\"));\n if (r === \"YY\")\n throw new RangeError(\"Use `yy` instead of `YY` (in `\".concat(e, \"`) for formatting years to the input `\").concat(t, \"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\"));\n if (r === \"D\")\n throw new RangeError(\"Use `d` instead of `D` (in `\".concat(e, \"`) for formatting days of the month to the input `\").concat(t, \"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\"));\n if (r === \"DD\")\n throw new RangeError(\"Use `dd` instead of `DD` (in `\".concat(e, \"`) for formatting days of the month to the input `\").concat(t, \"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\"));\n}\nvar yt = {\n lessThanXSeconds: {\n one: \"less than a second\",\n other: \"less than {{count}} seconds\"\n },\n xSeconds: {\n one: \"1 second\",\n other: \"{{count}} seconds\"\n },\n halfAMinute: \"half a minute\",\n lessThanXMinutes: {\n one: \"less than a minute\",\n other: \"less than {{count}} minutes\"\n },\n xMinutes: {\n one: \"1 minute\",\n other: \"{{count}} minutes\"\n },\n aboutXHours: {\n one: \"about 1 hour\",\n other: \"about {{count}} hours\"\n },\n xHours: {\n one: \"1 hour\",\n other: \"{{count}} hours\"\n },\n xDays: {\n one: \"1 day\",\n other: \"{{count}} days\"\n },\n aboutXWeeks: {\n one: \"about 1 week\",\n other: \"about {{count}} weeks\"\n },\n xWeeks: {\n one: \"1 week\",\n other: \"{{count}} weeks\"\n },\n aboutXMonths: {\n one: \"about 1 month\",\n other: \"about {{count}} months\"\n },\n xMonths: {\n one: \"1 month\",\n other: \"{{count}} months\"\n },\n aboutXYears: {\n one: \"about 1 year\",\n other: \"about {{count}} years\"\n },\n xYears: {\n one: \"1 year\",\n other: \"{{count}} years\"\n },\n overXYears: {\n one: \"over 1 year\",\n other: \"over {{count}} years\"\n },\n almostXYears: {\n one: \"almost 1 year\",\n other: \"almost {{count}} years\"\n }\n}, pt = function(e, t, a) {\n var n, i = yt[e];\n return typeof i == \"string\" ? n = i : t === 1 ? n = i.one : n = i.other.replace(\"{{count}}\", t.toString()), a != null && a.addSuffix ? a.comparison && a.comparison > 0 ? \"in \" + n : n + \" ago\" : n;\n};\nconst Mt = pt;\nfunction K(r) {\n return function() {\n var e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}, t = e.width ? String(e.width) : r.defaultWidth, a = r.formats[t] || r.formats[r.defaultWidth];\n return a;\n };\n}\nvar Ot = {\n full: \"EEEE, MMMM do, y\",\n long: \"MMMM do, y\",\n medium: \"MMM d, y\",\n short: \"MM/dd/yyyy\"\n}, bt = {\n full: \"h:mm:ss a zzzz\",\n long: \"h:mm:ss a z\",\n medium: \"h:mm:ss a\",\n short: \"h:mm a\"\n}, Yt = {\n full: \"{{date}} 'at' {{time}}\",\n long: \"{{date}} 'at' {{time}}\",\n medium: \"{{date}}, {{time}}\",\n short: \"{{date}}, {{time}}\"\n}, Et = {\n date: K({\n formats: Ot,\n defaultWidth: \"full\"\n }),\n time: K({\n formats: bt,\n defaultWidth: \"full\"\n }),\n dateTime: K({\n formats: Yt,\n defaultWidth: \"full\"\n })\n};\nconst Nt = Et;\nvar _t = {\n lastWeek: \"'last' eeee 'at' p\",\n yesterday: \"'yesterday at' p\",\n today: \"'today at' p\",\n tomorrow: \"'tomorrow at' p\",\n nextWeek: \"eeee 'at' p\",\n other: \"P\"\n}, Ct = function(e, t, a, n) {\n return _t[e];\n};\nconst St = Ct;\nfunction R(r) {\n return function(e, t) {\n var a = t != null && t.context ? String(t.context) : \"standalone\", n;\n if (a === \"formatting\" && r.formattingValues) {\n var i = r.defaultFormattingWidth || r.defaultWidth, o = t != null && t.width ? String(t.width) : i;\n n = r.formattingValues[o] || r.formattingValues[i];\n } else {\n var u = r.defaultWidth, s = t != null && t.width ? String(t.width) : r.defaultWidth;\n n = r.values[s] || r.values[u];\n }\n var l = r.argumentCallback ? r.argumentCallback(e) : e;\n return n[l];\n };\n}\nvar xt = {\n narrow: [\"B\", \"A\"],\n abbreviated: [\"BC\", \"AD\"],\n wide: [\"Before Christ\", \"Anno Domini\"]\n}, Ut = {\n narrow: [\"1\", \"2\", \"3\", \"4\"],\n abbreviated: [\"Q1\", \"Q2\", \"Q3\", \"Q4\"],\n wide: [\"1st quarter\", \"2nd quarter\", \"3rd quarter\", \"4th quarter\"]\n}, kt = {\n narrow: [\"J\", \"F\", \"M\", \"A\", \"M\", \"J\", \"J\", \"A\", \"S\", \"O\", \"N\", \"D\"],\n abbreviated: [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"],\n wide: [\"January\", \"February\", \"March\", \"April\", \"May\", \"June\", \"July\", \"August\", \"September\", \"October\", \"November\", \"December\"]\n}, It = {\n narrow: [\"S\", \"M\", \"T\", \"W\", \"T\", \"F\", \"S\"],\n short: [\"Su\", \"Mo\", \"Tu\", \"We\", \"Th\", \"Fr\", \"Sa\"],\n abbreviated: [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"],\n wide: [\"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\"]\n}, Pt = {\n narrow: {\n am: \"a\",\n pm: \"p\",\n midnight: \"mi\",\n noon: \"n\",\n morning: \"morning\",\n afternoon: \"afternoon\",\n evening: \"evening\",\n night: \"night\"\n },\n abbreviated: {\n am: \"AM\",\n pm: \"PM\",\n midnight: \"midnight\",\n noon: \"noon\",\n morning: \"morning\",\n afternoon: \"afternoon\",\n evening: \"evening\",\n night: \"night\"\n },\n wide: {\n am: \"a.m.\",\n pm: \"p.m.\",\n midnight: \"midnight\",\n noon: \"noon\",\n morning: \"morning\",\n afternoon: \"afternoon\",\n evening: \"evening\",\n night: \"night\"\n }\n}, Rt = {\n narrow: {\n am: \"a\",\n pm: \"p\",\n midnight: \"mi\",\n noon: \"n\",\n morning: \"in the morning\",\n afternoon: \"in the afternoon\",\n evening: \"in the evening\",\n night: \"at night\"\n },\n abbreviated: {\n am: \"AM\",\n pm: \"PM\",\n midnight: \"midnight\",\n noon: \"noon\",\n morning: \"in the morning\",\n afternoon: \"in the afternoon\",\n evening: \"in the evening\",\n night: \"at night\"\n },\n wide: {\n am: \"a.m.\",\n pm: \"p.m.\",\n midnight: \"midnight\",\n noon: \"noon\",\n morning: \"in the morning\",\n afternoon: \"in the afternoon\",\n evening: \"in the evening\",\n night: \"at night\"\n }\n}, Lt = function(e, t) {\n var a = Number(e), n = a % 100;\n if (n > 20 || n < 10)\n switch (n % 10) {\n case 1:\n return a + \"st\";\n case 2:\n return a + \"nd\";\n case 3:\n return a + \"rd\";\n }\n return a + \"th\";\n}, Wt = {\n ordinalNumber: Lt,\n era: R({\n values: xt,\n defaultWidth: \"wide\"\n }),\n quarter: R({\n values: Ut,\n defaultWidth: \"wide\",\n argumentCallback: function(e) {\n return e - 1;\n }\n }),\n month: R({\n values: kt,\n defaultWidth: \"wide\"\n }),\n day: R({\n values: It,\n defaultWidth: \"wide\"\n }),\n dayPeriod: R({\n values: Pt,\n defaultWidth: \"wide\",\n formattingValues: Rt,\n defaultFormattingWidth: \"wide\"\n })\n};\nconst Ht = Wt;\nfunction L(r) {\n return function(e) {\n var t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, a = t.width, n = a && r.matchPatterns[a] || r.matchPatterns[r.defaultMatchWidth], i = e.match(n);\n if (!i)\n return null;\n var o = i[0], u = a && r.parsePatterns[a] || r.parsePatterns[r.defaultParseWidth], s = Array.isArray(u) ? At(u, function(f) {\n return f.test(o);\n }) : $t(u, function(f) {\n return f.test(o);\n }), l;\n l = r.valueCallback ? r.valueCallback(s) : s, l = t.valueCallback ? t.valueCallback(l) : l;\n var h = e.slice(o.length);\n return {\n value: l,\n rest: h\n };\n };\n}\nfunction $t(r, e) {\n for (var t in r)\n if (r.hasOwnProperty(t) && e(r[t]))\n return t;\n}\nfunction At(r, e) {\n for (var t = 0; t < r.length; t++)\n if (e(r[t]))\n return t;\n}\nfunction Ft(r) {\n return function(e) {\n var t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, a = e.match(r.matchPattern);\n if (!a)\n return null;\n var n = a[0], i = e.match(r.parsePattern);\n if (!i)\n return null;\n var o = r.valueCallback ? r.valueCallback(i[0]) : i[0];\n o = t.valueCallback ? t.valueCallback(o) : o;\n var u = e.slice(n.length);\n return {\n value: o,\n rest: u\n };\n };\n}\nvar Gt = /^(\\d+)(th|st|nd|rd)?/i, qt = /\\d+/i, jt = {\n narrow: /^(b|a)/i,\n abbreviated: /^(b\\.?\\s?c\\.?|b\\.?\\s?c\\.?\\s?e\\.?|a\\.?\\s?d\\.?|c\\.?\\s?e\\.?)/i,\n wide: /^(before christ|before common era|anno domini|common era)/i\n}, zt = {\n any: [/^b/i, /^(a|c)/i]\n}, Qt = {\n narrow: /^[1234]/i,\n abbreviated: /^q[1234]/i,\n wide: /^[1234](th|st|nd|rd)? quarter/i\n}, Vt = {\n any: [/1/i, /2/i, /3/i, /4/i]\n}, Xt = {\n narrow: /^[jfmasond]/i,\n abbreviated: /^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,\n wide: /^(january|february|march|april|may|june|july|august|september|october|november|december)/i\n}, Bt = {\n narrow: [/^j/i, /^f/i, /^m/i, /^a/i, /^m/i, /^j/i, /^j/i, /^a/i, /^s/i, /^o/i, /^n/i, /^d/i],\n any: [/^ja/i, /^f/i, /^mar/i, /^ap/i, /^may/i, /^jun/i, /^jul/i, /^au/i, /^s/i, /^o/i, /^n/i, /^d/i]\n}, Zt = {\n narrow: /^[smtwf]/i,\n short: /^(su|mo|tu|we|th|fr|sa)/i,\n abbreviated: /^(sun|mon|tue|wed|thu|fri|sat)/i,\n wide: /^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i\n}, Jt = {\n narrow: [/^s/i, /^m/i, /^t/i, /^w/i, /^t/i, /^f/i, /^s/i],\n any: [/^su/i, /^m/i, /^tu/i, /^w/i, /^th/i, /^f/i, /^sa/i]\n}, Kt = {\n narrow: /^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,\n any: /^([ap]\\.?\\s?m\\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i\n}, er = {\n any: {\n am: /^a/i,\n pm: /^p/i,\n midnight: /^mi/i,\n noon: /^no/i,\n morning: /morning/i,\n afternoon: /afternoon/i,\n evening: /evening/i,\n night: /night/i\n }\n}, tr = {\n ordinalNumber: Ft({\n matchPattern: Gt,\n parsePattern: qt,\n valueCallback: function(e) {\n return parseInt(e, 10);\n }\n }),\n era: L({\n matchPatterns: jt,\n defaultMatchWidth: \"wide\",\n parsePatterns: zt,\n defaultParseWidth: \"any\"\n }),\n quarter: L({\n matchPatterns: Qt,\n defaultMatchWidth: \"wide\",\n parsePatterns: Vt,\n defaultParseWidth: \"any\",\n valueCallback: function(e) {\n return e + 1;\n }\n }),\n month: L({\n matchPatterns: Xt,\n defaultMatchWidth: \"wide\",\n parsePatterns: Bt,\n defaultParseWidth: \"any\"\n }),\n day: L({\n matchPatterns: Zt,\n defaultMatchWidth: \"wide\",\n parsePatterns: Jt,\n defaultParseWidth: \"any\"\n }),\n dayPeriod: L({\n matchPatterns: Kt,\n defaultMatchWidth: \"any\",\n parsePatterns: er,\n defaultParseWidth: \"any\"\n })\n};\nconst rr = tr;\nvar ar = {\n code: \"en-US\",\n formatDistance: Mt,\n formatLong: Nt,\n formatRelative: St,\n localize: Ht,\n match: rr,\n options: {\n weekStartsOn: 0,\n firstWeekContainsDate: 1\n }\n};\nconst nr = ar;\nvar ir = /[yYQqMLwIdDecihHKkms]o|(\\w)\\1*|''|'(''|[^'])+('|$)|./g, or = /P+p+|P+|p+|''|'(''|[^'])+('|$)|./g, ur = /^'([^]*?)'?$/, sr = /''/g, lr = /[a-zA-Z]/;\nfunction dr(r, e, t) {\n var a, n, i, o, u, s, l, h, f, g, w, y, U, N, k, V, X, B;\n m(2, arguments);\n var He = String(e), I = H(), P = (a = (n = t == null ? void 0 : t.locale) !== null && n !== void 0 ? n : I.locale) !== null && a !== void 0 ? a : nr, Z = T((i = (o = (u = (s = t == null ? void 0 : t.firstWeekContainsDate) !== null && s !== void 0 ? s : t == null || (l = t.locale) === null || l === void 0 || (h = l.options) === null || h === void 0 ? void 0 : h.firstWeekContainsDate) !== null && u !== void 0 ? u : I.firstWeekContainsDate) !== null && o !== void 0 ? o : (f = I.locale) === null || f === void 0 || (g = f.options) === null || g === void 0 ? void 0 : g.firstWeekContainsDate) !== null && i !== void 0 ? i : 1);\n if (!(Z >= 1 && Z <= 7))\n throw new RangeError(\"firstWeekContainsDate must be between 1 and 7 inclusively\");\n var J = T((w = (y = (U = (N = t == null ? void 0 : t.weekStartsOn) !== null && N !== void 0 ? N : t == null || (k = t.locale) === null || k === void 0 || (V = k.options) === null || V === void 0 ? void 0 : V.weekStartsOn) !== null && U !== void 0 ? U : I.weekStartsOn) !== null && y !== void 0 ? y : (X = I.locale) === null || X === void 0 || (B = X.options) === null || B === void 0 ? void 0 : B.weekStartsOn) !== null && w !== void 0 ? w : 0);\n if (!(J >= 0 && J <= 6))\n throw new RangeError(\"weekStartsOn must be between 0 and 6 inclusively\");\n if (!P.localize)\n throw new RangeError(\"locale must contain localize property\");\n if (!P.formatLong)\n throw new RangeError(\"locale must contain formatLong property\");\n var $ = D(r);\n if (!et($))\n throw new RangeError(\"Invalid time value\");\n var $e = Be($), Ae = tt($, $e), Fe = {\n firstWeekContainsDate: Z,\n weekStartsOn: J,\n locale: P,\n _originalDate: $\n }, Ge = He.match(or).map(function(O) {\n var Y = O[0];\n if (Y === \"p\" || Y === \"P\") {\n var A = vt[Y];\n return A(O, P.formatLong);\n }\n return O;\n }).join(\"\").match(ir).map(function(O) {\n if (O === \"''\")\n return \"'\";\n var Y = O[0];\n if (Y === \"'\")\n return fr(O);\n var A = ct[Y];\n if (A)\n return !(t != null && t.useAdditionalWeekYearTokens) && Dt(O) && De(O, e, String(r)), !(t != null && t.useAdditionalDayOfYearTokens) && Tt(O) && De(O, e, String(r)), A(Ae, O, P.localize, Fe);\n if (Y.match(lr))\n throw new RangeError(\"Format string contains an unescaped latin alphabet character `\" + Y + \"`\");\n return O;\n }).join(\"\");\n return Ge;\n}\nfunction fr(r) {\n var e = r.match(ur);\n return e ? e[1].replace(sr, \"'\") : r;\n}\nfunction cr(r) {\n m(1, arguments);\n var e = D(r), t = e.getFullYear(), a = e.getMonth(), n = /* @__PURE__ */ new Date(0);\n return n.setFullYear(t, a + 1, 0), n.setHours(0, 0, 0, 0), n.getDate();\n}\nfunction ie(r) {\n m(1, arguments);\n var e = D(r), t = e.getTime();\n return t;\n}\nfunction ye(r) {\n return m(1, arguments), Math.floor(ie(r) / 1e3);\n}\nfunction mr(r) {\n return m(1, arguments), Math.floor(r * Je);\n}\nfunction hr(r, e) {\n m(2, arguments);\n var t = T(e);\n return ne(r, -t);\n}\nfunction vr(r) {\n m(1, arguments);\n var e = r / Ze;\n return Math.floor(e);\n}\nfunction ce(r, e) {\n m(2, arguments);\n var t = T(e);\n return Qe(r, -t);\n}\nfunction gr(r, e) {\n if (m(2, arguments), !e || W(e) !== \"object\")\n return /* @__PURE__ */ new Date(NaN);\n var t = e.years ? T(e.years) : 0, a = e.months ? T(e.months) : 0, n = e.weeks ? T(e.weeks) : 0, i = e.days ? T(e.days) : 0, o = e.hours ? T(e.hours) : 0, u = e.minutes ? T(e.minutes) : 0, s = e.seconds ? T(e.seconds) : 0, l = ce(r, a + t * 12), h = hr(l, i + n * 7), f = u + o * 60, g = s + f * 60, w = g * 1e3, y = new Date(h.getTime() - w);\n return y;\n}\nfunction Kr(r) {\n return dr(r, \"yyyy-MM-dd'T'HH:mm:ss.SSSXXX\");\n}\nfunction me(r) {\n return r && r.__esModule && Object.prototype.hasOwnProperty.call(r, \"default\") ? r.default : r;\n}\nvar ke = { exports: {} };\n(function(r) {\n function e(t) {\n return t && t.__esModule ? t : {\n default: t\n };\n }\n r.exports = e, r.exports.__esModule = !0, r.exports.default = r.exports;\n})(ke);\nvar wr = ke.exports, oe = { exports: {} };\n(function(r, e) {\n Object.defineProperty(e, \"__esModule\", {\n value: !0\n }), e.default = t;\n function t(a) {\n if (a === null || a === !0 || a === !1)\n return NaN;\n var n = Number(a);\n return isNaN(n) ? n : n < 0 ? Math.ceil(n) : Math.floor(n);\n }\n r.exports = e.default;\n})(oe, oe.exports);\nvar Tr = oe.exports;\nconst Dr = /* @__PURE__ */ me(Tr);\nvar ue = { exports: {} };\n(function(r, e) {\n Object.defineProperty(e, \"__esModule\", {\n value: !0\n }), e.default = t;\n function t(a) {\n var n = new Date(Date.UTC(a.getFullYear(), a.getMonth(), a.getDate(), a.getHours(), a.getMinutes(), a.getSeconds(), a.getMilliseconds()));\n return n.setUTCFullYear(a.getFullYear()), a.getTime() - n.getTime();\n }\n r.exports = e.default;\n})(ue, ue.exports);\nvar yr = ue.exports;\nconst pe = /* @__PURE__ */ me(yr);\nfunction pr(r, e) {\n var t = Yr(e);\n return t.formatToParts ? Or(t, r) : br(t, r);\n}\nvar Mr = {\n year: 0,\n month: 1,\n day: 2,\n hour: 3,\n minute: 4,\n second: 5\n};\nfunction Or(r, e) {\n try {\n for (var t = r.formatToParts(e), a = [], n = 0; n < t.length; n++) {\n var i = Mr[t[n].type];\n i >= 0 && (a[i] = parseInt(t[n].value, 10));\n }\n return a;\n } catch (o) {\n if (o instanceof RangeError)\n return [NaN];\n throw o;\n }\n}\nfunction br(r, e) {\n var t = r.format(e).replace(/\\u200E/g, \"\"), a = /(\\d+)\\/(\\d+)\\/(\\d+),? (\\d+):(\\d+):(\\d+)/.exec(t);\n return [a[3], a[1], a[2], a[4], a[5], a[6]];\n}\nvar ee = {};\nfunction Yr(r) {\n if (!ee[r]) {\n var e = new Intl.DateTimeFormat(\"en-US\", {\n hour12: !1,\n timeZone: \"America/New_York\",\n year: \"numeric\",\n month: \"numeric\",\n day: \"2-digit\",\n hour: \"2-digit\",\n minute: \"2-digit\",\n second: \"2-digit\"\n }).format(/* @__PURE__ */ new Date(\"2014-06-25T04:00:00.123Z\")), t = e === \"06/25/2014, 00:00:00\" || e === \"06/25/2014 00:00:00\";\n ee[r] = t ? new Intl.DateTimeFormat(\"en-US\", {\n hour12: !1,\n timeZone: r,\n year: \"numeric\",\n month: \"numeric\",\n day: \"2-digit\",\n hour: \"2-digit\",\n minute: \"2-digit\",\n second: \"2-digit\"\n }) : new Intl.DateTimeFormat(\"en-US\", {\n hourCycle: \"h23\",\n timeZone: r,\n year: \"numeric\",\n month: \"numeric\",\n day: \"2-digit\",\n hour: \"2-digit\",\n minute: \"2-digit\",\n second: \"2-digit\"\n });\n }\n return ee[r];\n}\nfunction he(r, e, t, a, n, i, o) {\n var u = /* @__PURE__ */ new Date(0);\n return u.setUTCFullYear(r, e, t), u.setUTCHours(a, n, i, o), u;\n}\nvar Me = 36e5, Er = 6e4, te = {\n timezone: /([Z+-].*)$/,\n timezoneZ: /^(Z)$/,\n timezoneHH: /^([+-]\\d{2})$/,\n timezoneHHMM: /^([+-]\\d{2}):?(\\d{2})$/\n};\nfunction z(r, e, t) {\n var a, n;\n if (!r || (a = te.timezoneZ.exec(r), a))\n return 0;\n var i;\n if (a = te.timezoneHH.exec(r), a)\n return i = parseInt(a[1], 10), Oe(i) ? -(i * Me) : NaN;\n if (a = te.timezoneHHMM.exec(r), a) {\n i = parseInt(a[1], 10);\n var o = parseInt(a[2], 10);\n return Oe(i, o) ? (n = Math.abs(i) * Me + o * Er, i > 0 ? -n : n) : NaN;\n }\n if (Cr(r)) {\n e = new Date(e || Date.now());\n var u = t ? e : Nr(e), s = se(u, r), l = t ? s : _r(e, s, r);\n return -l;\n }\n return NaN;\n}\nfunction Nr(r) {\n return he(\n r.getFullYear(),\n r.getMonth(),\n r.getDate(),\n r.getHours(),\n r.getMinutes(),\n r.getSeconds(),\n r.getMilliseconds()\n );\n}\nfunction se(r, e) {\n var t = pr(r, e), a = he(\n t[0],\n t[1] - 1,\n t[2],\n t[3] % 24,\n t[4],\n t[5],\n 0\n ).getTime(), n = r.getTime(), i = n % 1e3;\n return n -= i >= 0 ? i : 1e3 + i, a - n;\n}\nfunction _r(r, e, t) {\n var a = r.getTime(), n = a - e, i = se(new Date(n), t);\n if (e === i)\n return e;\n n -= i - e;\n var o = se(new Date(n), t);\n return i === o ? i : Math.max(i, o);\n}\nfunction Oe(r, e) {\n return -23 <= r && r <= 23 && (e == null || 0 <= e && e <= 59);\n}\nvar be = {};\nfunction Cr(r) {\n if (be[r])\n return !0;\n try {\n return new Intl.DateTimeFormat(void 0, { timeZone: r }), be[r] = !0, !0;\n } catch {\n return !1;\n }\n}\nvar Sr = /(Z|[+-]\\d{2}(?::?\\d{2})?| UTC| [a-zA-Z]+\\/[a-zA-Z_]+(?:\\/[a-zA-Z_]+)?)$/;\nconst Ie = Sr;\nvar re = 36e5, Ye = 6e4, xr = 2, p = {\n dateTimePattern: /^([0-9W+-]+)(T| )(.*)/,\n datePattern: /^([0-9W+-]+)(.*)/,\n plainTime: /:/,\n // year tokens\n YY: /^(\\d{2})$/,\n YYY: [\n /^([+-]\\d{2})$/,\n // 0 additional digits\n /^([+-]\\d{3})$/,\n // 1 additional digit\n /^([+-]\\d{4})$/\n // 2 additional digits\n ],\n YYYY: /^(\\d{4})/,\n YYYYY: [\n /^([+-]\\d{4})/,\n // 0 additional digits\n /^([+-]\\d{5})/,\n // 1 additional digit\n /^([+-]\\d{6})/\n // 2 additional digits\n ],\n // date tokens\n MM: /^-(\\d{2})$/,\n DDD: /^-?(\\d{3})$/,\n MMDD: /^-?(\\d{2})-?(\\d{2})$/,\n Www: /^-?W(\\d{2})$/,\n WwwD: /^-?W(\\d{2})-?(\\d{1})$/,\n HH: /^(\\d{2}([.,]\\d*)?)$/,\n HHMM: /^(\\d{2}):?(\\d{2}([.,]\\d*)?)$/,\n HHMMSS: /^(\\d{2}):?(\\d{2}):?(\\d{2}([.,]\\d*)?)$/,\n // time zone tokens (to identify the presence of a tz)\n timeZone: Ie\n};\nfunction le(r, e) {\n if (arguments.length < 1)\n throw new TypeError(\"1 argument required, but only \" + arguments.length + \" present\");\n if (r === null)\n return /* @__PURE__ */ new Date(NaN);\n var t = e || {}, a = t.additionalDigits == null ? xr : Dr(t.additionalDigits);\n if (a !== 2 && a !== 1 && a !== 0)\n throw new RangeError(\"additionalDigits must be 0, 1 or 2\");\n if (r instanceof Date || typeof r == \"object\" && Object.prototype.toString.call(r) === \"[object Date]\")\n return new Date(r.getTime());\n if (typeof r == \"number\" || Object.prototype.toString.call(r) === \"[object Number]\")\n return new Date(r);\n if (!(typeof r == \"string\" || Object.prototype.toString.call(r) === \"[object String]\"))\n return /* @__PURE__ */ new Date(NaN);\n var n = Ur(r), i = kr(n.date, a), o = i.year, u = i.restDateString, s = Ir(u, o);\n if (isNaN(s))\n return /* @__PURE__ */ new Date(NaN);\n if (s) {\n var l = s.getTime(), h = 0, f;\n if (n.time && (h = Pr(n.time), isNaN(h)))\n return /* @__PURE__ */ new Date(NaN);\n if (n.timeZone || t.timeZone) {\n if (f = z(n.timeZone || t.timeZone, new Date(l + h)), isNaN(f))\n return /* @__PURE__ */ new Date(NaN);\n } else\n f = pe(new Date(l + h)), f = pe(new Date(l + h + f));\n return new Date(l + h + f);\n } else\n return /* @__PURE__ */ new Date(NaN);\n}\nfunction Ur(r) {\n var e = {}, t = p.dateTimePattern.exec(r), a;\n if (t ? (e.date = t[1], a = t[3]) : (t = p.datePattern.exec(r), t ? (e.date = t[1], a = t[2]) : (e.date = null, a = r)), a) {\n var n = p.timeZone.exec(a);\n n ? (e.time = a.replace(n[1], \"\"), e.timeZone = n[1].trim()) : e.time = a;\n }\n return e;\n}\nfunction kr(r, e) {\n var t = p.YYY[e], a = p.YYYYY[e], n;\n if (n = p.YYYY.exec(r) || a.exec(r), n) {\n var i = n[1];\n return {\n year: parseInt(i, 10),\n restDateString: r.slice(i.length)\n };\n }\n if (n = p.YY.exec(r) || t.exec(r), n) {\n var o = n[1];\n return {\n year: parseInt(o, 10) * 100,\n restDateString: r.slice(o.length)\n };\n }\n return {\n year: null\n };\n}\nfunction Ir(r, e) {\n if (e === null)\n return null;\n var t, a, n, i;\n if (r.length === 0)\n return a = /* @__PURE__ */ new Date(0), a.setUTCFullYear(e), a;\n if (t = p.MM.exec(r), t)\n return a = /* @__PURE__ */ new Date(0), n = parseInt(t[1], 10) - 1, Ne(e, n) ? (a.setUTCFullYear(e, n), a) : /* @__PURE__ */ new Date(NaN);\n if (t = p.DDD.exec(r), t) {\n a = /* @__PURE__ */ new Date(0);\n var o = parseInt(t[1], 10);\n return Wr(e, o) ? (a.setUTCFullYear(e, 0, o), a) : /* @__PURE__ */ new Date(NaN);\n }\n if (t = p.MMDD.exec(r), t) {\n a = /* @__PURE__ */ new Date(0), n = parseInt(t[1], 10) - 1;\n var u = parseInt(t[2], 10);\n return Ne(e, n, u) ? (a.setUTCFullYear(e, n, u), a) : /* @__PURE__ */ new Date(NaN);\n }\n if (t = p.Www.exec(r), t)\n return i = parseInt(t[1], 10) - 1, _e(e, i) ? Ee(e, i) : /* @__PURE__ */ new Date(NaN);\n if (t = p.WwwD.exec(r), t) {\n i = parseInt(t[1], 10) - 1;\n var s = parseInt(t[2], 10) - 1;\n return _e(e, i, s) ? Ee(e, i, s) : /* @__PURE__ */ new Date(NaN);\n }\n return null;\n}\nfunction Pr(r) {\n var e, t, a;\n if (e = p.HH.exec(r), e)\n return t = parseFloat(e[1].replace(\",\", \".\")), ae(t) ? t % 24 * re : NaN;\n if (e = p.HHMM.exec(r), e)\n return t = parseInt(e[1], 10), a = parseFloat(e[2].replace(\",\", \".\")), ae(t, a) ? t % 24 * re + a * Ye : NaN;\n if (e = p.HHMMSS.exec(r), e) {\n t = parseInt(e[1], 10), a = parseInt(e[2], 10);\n var n = parseFloat(e[3].replace(\",\", \".\"));\n return ae(t, a, n) ? t % 24 * re + a * Ye + n * 1e3 : NaN;\n }\n return null;\n}\nfunction Ee(r, e, t) {\n e = e || 0, t = t || 0;\n var a = /* @__PURE__ */ new Date(0);\n a.setUTCFullYear(r, 0, 4);\n var n = a.getUTCDay() || 7, i = e * 7 + t + 1 - n;\n return a.setUTCDate(a.getUTCDate() + i), a;\n}\nvar Rr = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31], Lr = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\nfunction Pe(r) {\n return r % 400 === 0 || r % 4 === 0 && r % 100 !== 0;\n}\nfunction Ne(r, e, t) {\n if (e < 0 || e > 11)\n return !1;\n if (t != null) {\n if (t < 1)\n return !1;\n var a = Pe(r);\n if (a && t > Lr[e] || !a && t > Rr[e])\n return !1;\n }\n return !0;\n}\nfunction Wr(r, e) {\n if (e < 1)\n return !1;\n var t = Pe(r);\n return !(t && e > 366 || !t && e > 365);\n}\nfunction _e(r, e, t) {\n return !(e < 0 || e > 52 || t != null && (t < 0 || t > 6));\n}\nfunction ae(r, e, t) {\n return !(r != null && (r < 0 || r >= 25) || e != null && (e < 0 || e >= 60) || t != null && (t < 0 || t >= 60));\n}\nvar de = { exports: {} }, fe = { exports: {} };\n(function(r, e) {\n Object.defineProperty(e, \"__esModule\", {\n value: !0\n }), e.default = t;\n function t(a, n) {\n if (a == null)\n throw new TypeError(\"assign requires that input parameter not be null or undefined\");\n for (var i in n)\n Object.prototype.hasOwnProperty.call(n, i) && (a[i] = n[i]);\n return a;\n }\n r.exports = e.default;\n})(fe, fe.exports);\nvar Hr = fe.exports;\n(function(r, e) {\n var t = wr.default;\n Object.defineProperty(e, \"__esModule\", {\n value: !0\n }), e.default = n;\n var a = t(Hr);\n function n(i) {\n return (0, a.default)({}, i);\n }\n r.exports = e.default;\n})(de, de.exports);\nvar $r = de.exports;\nconst Ar = /* @__PURE__ */ me($r);\nfunction Fr(r, e, t) {\n var a = le(r, t), n = z(e, a, !0), i = new Date(a.getTime() - n), o = /* @__PURE__ */ new Date(0);\n return o.setFullYear(i.getUTCFullYear(), i.getUTCMonth(), i.getUTCDate()), o.setHours(i.getUTCHours(), i.getUTCMinutes(), i.getUTCSeconds(), i.getUTCMilliseconds()), o;\n}\nfunction Re(r, e) {\n return -z(r, e);\n}\nfunction Gr(r, e, t) {\n if (typeof r == \"string\" && !r.match(Ie)) {\n var a = Ar(t);\n return a.timeZone = e, le(r, a);\n }\n var n = le(r, t), i = he(\n n.getFullYear(),\n n.getMonth(),\n n.getDate(),\n n.getHours(),\n n.getMinutes(),\n n.getSeconds(),\n n.getMilliseconds()\n ).getTime(), o = z(e, new Date(i));\n return new Date(i + o);\n}\nconst j = {\n [d.MINUTELY]: 60 * 1e3,\n [d.HOURLY]: 60 * 60 * 1e3,\n [d.DAILY]: 60 * 60 * 24 * 1e3,\n [d.WEEKLY]: 60 * 60 * 24 * 7 * 1e3\n};\nfunction ea(r, e) {\n return r.map((t) => ({\n value: t,\n label: e.t(`configuration.vitals.reports.granularity.${t}`)\n }));\n}\nfunction qr(r, e) {\n return r ? {\n duration: r,\n type: \"duration\",\n origin: e\n } : null;\n}\nfunction ta(r) {\n return r && Object.values(d).find((t) => r <= j[t]) || null;\n}\nfunction Le(r, e, t, a) {\n const n = j[t];\n let i = 0;\n return n >= j[d.DAILY] && (a ? i = -Re(a, e) : i = e.getTimezoneOffset() * 60 * 1e3), new Date(r((e.getTime() - i) / n) * n + i);\n}\nfunction Ce(r, e, t) {\n return Le(Math.floor, r, e, t);\n}\nfunction We(r, e, t) {\n return Le(Math.ceil, r, e, t);\n}\nclass Q {\n constructor(e, t) {\n M(this, \"timeframe\");\n M(this, \"tz\");\n if (this.constructor === Q)\n throw new Error(\"BaseQueryTime is not meant to be used directly.\");\n this.timeframe = e, this.tz = t;\n }\n calculateStartDate(e, t, a = 1) {\n if (e)\n return new Date(this.endDate().getTime() - this.timeframe.timeframeLengthMs() * a);\n {\n const n = this.endDate(), i = this.timeframe.rawStart(this.tz), o = Ce(i, t, this.tz), s = (n.getTime() - o.getTime()) * (a - 1);\n return Ce(\n new Date(i.getTime() - s),\n t,\n this.tz\n );\n }\n }\n granularitySeconds() {\n return Math.floor(this.granularityMs() / 1e3);\n }\n granularityDruid() {\n return qr(this.granularityMs(), this.startDate().toISOString());\n }\n // Return a UNIX timestamp suitable for use in the `start` query param.\n startSeconds() {\n return ye(this.startDate());\n }\n // Return a UNIX timestamp suitable for use in the `end` query param.\n endSeconds() {\n return ye(this.endDate());\n }\n // Return epoch time in milliseconds, suitable for use in the `startMs` query param.\n startMs() {\n return ie(this.startDate());\n }\n // Return epoch time in milliseconds, suitable for use in the `endMs` query param.\n endMs() {\n return ie(this.endDate());\n }\n // Return whether the timeframe's bounds are within the allotment for a free tier user.\n withinFreeTier() {\n return this.startDate() >= gr(/* @__PURE__ */ new Date(), { days: 1 });\n }\n}\nclass ra extends Q {\n constructor(t, a, n) {\n super(t, n);\n M(this, \"granularity\");\n a && t.allowedGranularities().has(a) ? this.granularity = a : this.granularity = t.defaultResponseGranularity;\n }\n startDate() {\n return this.calculateStartDate(this.timeframe.isRelative, this.granularity);\n }\n endDate() {\n return We(this.timeframe.rawEnd(), this.granularity, this.tz);\n }\n granularityMs() {\n return j[this.granularity];\n }\n}\nclass jr extends Q {\n startDate() {\n return this.calculateStartDate(this.timeframe.isRelative, this.timeframe.dataGranularity);\n }\n endDate() {\n return We(this.timeframe.rawEnd(this.tz), this.timeframe.dataGranularity, this.tz);\n }\n granularityMs() {\n return this.endDate().getTime() - this.startDate().getTime();\n }\n}\nclass aa extends jr {\n startDate() {\n return this.calculateStartDate(this.timeframe.isRelative, this.timeframe.dataGranularity, 2);\n }\n granularityMs() {\n return this.endDate().getTime() - super.startDate().getTime();\n }\n}\nconst x = (r, e) => new Date(r.getTime() - Re(e, r));\nclass b {\n constructor(e) {\n M(this, \"timeframeText\");\n M(this, \"key\");\n M(this, \"display\");\n M(this, \"timeframeLength\");\n M(this, \"allowedTiers\");\n // defaultResponseGranularity tracks which of the allowed granularities is picked for a given\n // timeframe if the user does not or cannot specify a granularity.\n M(this, \"defaultResponseGranularity\");\n // dataGranularity tracks the granularity of the available data on the server for a specific timeframe.\n // As of writing, it's always the same as the default response granularity, but it may not always be.\n // It controls how timeframes are rounded to ensure complete time buckets from the server.\n M(this, \"dataGranularity\");\n // isRelative impacts whether we take the `floor` or the `ceil` of the start time.\n // If the time range is relative, we want the ceil -- because we take the ceil of the\n // end time to make sure we're showing all the data we can for the last time bucket.\n // If the time range is absolute, we want the floor -- because otherwise we wouldn't be including\n // the first time bucket.\n M(this, \"isRelative\");\n M(this, \"_startCustom\");\n M(this, \"_endCustom\");\n this.display = e.display, this.timeframeText = e.timeframeText, this.key = e.key, this.timeframeLength = e.timeframeLength, this.allowedTiers = e.allowedTiers, this.defaultResponseGranularity = e.defaultResponseGranularity, this.dataGranularity = e.dataGranularity, this.isRelative = e.isRelative, this._startCustom = e.startCustom, this._endCustom = e.endCustom;\n }\n // rawEnd does not consider granularity and should not be used directly in queries.\n // Use `new QueryTime(timeframe, granularity?).queryEndSeconds()` instead.\n // eslint-disable-next-line -- `tz` is required because it's used in subclasses.\n rawEnd(e) {\n return this._endCustom || /* @__PURE__ */ new Date();\n }\n // rawStart does not consider granularity and should not be used directly in queries.\n // Use `new QueryTime(timeframe, granularity?).queryStartSeconds()` instead.\n // eslint-disable-next-line -- `tz` is required because it's used in subclasses.\n rawStart(e) {\n return this._startCustom || new Date(this.rawEnd().getTime() - this.timeframeLengthMs());\n }\n timeframeLengthMs() {\n return this.timeframeLength() * 1e3;\n }\n maximumTimeframeLength() {\n return this.timeframeLength();\n }\n allowedGranularities() {\n const e = /* @__PURE__ */ new Set(), t = this.maximumTimeframeLength() / 3600;\n return t <= 6 && e.add(d.MINUTELY), t >= 2 && t <= 7 * 24 && e.add(d.HOURLY), t >= 2 * 24 && e.add(d.DAILY), t >= 2 * 24 * 14 && e.add(d.WEEKLY), e;\n }\n tzAdjustedDate(e) {\n if (!e)\n return /* @__PURE__ */ new Date();\n const t = Gr(/* @__PURE__ */ new Date(), new Intl.DateTimeFormat().resolvedOptions().timeZone);\n return Fr(t, e);\n }\n}\nclass zr extends b {\n rawStart(e) {\n let t = F(this.tzAdjustedDate(e), { weekStartsOn: 1 });\n return e && (t = x(t, e)), t;\n }\n maximumTimeframeLength() {\n return 60 * 60 * 24 * 7;\n }\n}\nclass Qr extends b {\n rawStart(e) {\n let t = S(this.tzAdjustedDate(e));\n return e && (t = x(t, e)), t;\n }\n maximumTimeframeLength() {\n return 60 * 60 * 24 * 31;\n }\n}\nclass Vr extends b {\n rawEnd(e) {\n let t = F(this.tzAdjustedDate(e), { weekStartsOn: 1 });\n return e && (t = x(t, e)), t;\n }\n rawStart(e) {\n const t = this.tzAdjustedDate(e);\n let a = F(t.setDate(t.getDate() - 7), {\n weekStartsOn: 1\n });\n return e && (a = x(a, e)), a;\n }\n}\nclass Xr extends b {\n rawEnd(e) {\n let t = S(this.tzAdjustedDate(e));\n return e && (t = x(t, e)), t;\n }\n rawStart(e) {\n let t = S(ce(this.tzAdjustedDate(e), 1));\n return e && (t = x(t, e)), t;\n }\n}\nconst Br = /* @__PURE__ */ new Map([\n [\n v.FIFTEEN_MIN,\n new b({\n key: v.FIFTEEN_MIN,\n display: \"Last 15 minutes\",\n timeframeText: \"15 minutes\",\n timeframeLength: () => 60 * 15,\n defaultResponseGranularity: d.MINUTELY,\n dataGranularity: d.MINUTELY,\n isRelative: !0,\n allowedTiers: [\"free\", \"trial\", \"plus\", \"enterprise\"]\n })\n ],\n [\n v.ONE_HOUR,\n new b({\n key: v.ONE_HOUR,\n display: \"Last hour\",\n timeframeText: \"One hour\",\n timeframeLength: () => 60 * 60 * 1,\n defaultResponseGranularity: d.MINUTELY,\n dataGranularity: d.MINUTELY,\n isRelative: !0,\n allowedTiers: [\"free\", \"trial\", \"plus\", \"enterprise\"]\n })\n ],\n [\n v.SIX_HOUR,\n new b({\n key: v.SIX_HOUR,\n display: \"Last 6 hours\",\n timeframeText: \"6 hours\",\n timeframeLength: () => 60 * 60 * 6,\n defaultResponseGranularity: d.HOURLY,\n dataGranularity: d.HOURLY,\n isRelative: !0,\n allowedTiers: [\"free\", \"trial\", \"plus\", \"enterprise\"]\n })\n ],\n [\n v.TWELVE_HOUR,\n new b({\n key: v.TWELVE_HOUR,\n display: \"Last 12 hours\",\n timeframeText: \"12 hours\",\n timeframeLength: () => 60 * 60 * 12,\n defaultResponseGranularity: d.HOURLY,\n dataGranularity: d.HOURLY,\n isRelative: !0,\n allowedTiers: [\"free\", \"trial\", \"plus\", \"enterprise\"]\n })\n ],\n [\n v.ONE_DAY,\n new b({\n key: v.ONE_DAY,\n display: \"Last 24 hours\",\n timeframeText: \"24 hours\",\n timeframeLength: () => 60 * 60 * 24,\n defaultResponseGranularity: d.HOURLY,\n dataGranularity: d.HOURLY,\n isRelative: !0,\n allowedTiers: [\"free\", \"trial\", \"plus\", \"enterprise\"]\n })\n ],\n [\n v.SEVEN_DAY,\n new b({\n key: v.SEVEN_DAY,\n display: \"Last 7 days\",\n timeframeText: \"7 days\",\n timeframeLength: () => 60 * 60 * 24 * 7,\n defaultResponseGranularity: d.DAILY,\n dataGranularity: d.DAILY,\n isRelative: !0,\n allowedTiers: [\"trial\", \"plus\", \"enterprise\"]\n })\n ],\n [\n v.THIRTY_DAY,\n new b({\n key: v.THIRTY_DAY,\n display: \"Last 30 days\",\n timeframeText: \"30 days\",\n timeframeLength: () => 60 * 60 * 24 * 30,\n defaultResponseGranularity: d.DAILY,\n dataGranularity: d.DAILY,\n isRelative: !0,\n allowedTiers: [\"trial\", \"plus\", \"enterprise\"]\n })\n ],\n [\n v.CURRENT_WEEK,\n new zr({\n key: v.CURRENT_WEEK,\n display: \"This week\",\n timeframeText: \"Week\",\n timeframeLength: () => {\n const r = F(/* @__PURE__ */ new Date(), { weekStartsOn: 1 });\n return (ve(ne(/* @__PURE__ */ new Date(), 1)).getTime() - r.getTime()) / 1e3;\n },\n defaultResponseGranularity: d.DAILY,\n dataGranularity: d.DAILY,\n isRelative: !1,\n allowedTiers: [\"plus\", \"enterprise\"]\n })\n ],\n [\n v.CURRENT_MONTH,\n new Qr({\n key: v.CURRENT_MONTH,\n display: \"This month\",\n timeframeText: \"Month\",\n timeframeLength: () => {\n const r = S(/* @__PURE__ */ new Date());\n return (ve(ne(/* @__PURE__ */ new Date(), 1)).getTime() - r.getTime()) / 1e3;\n },\n defaultResponseGranularity: d.DAILY,\n dataGranularity: d.DAILY,\n isRelative: !1,\n allowedTiers: [\"plus\", \"enterprise\"]\n })\n ],\n [\n v.PREVIOUS_WEEK,\n new Vr({\n key: v.PREVIOUS_WEEK,\n display: \"Previous week\",\n timeframeText: \"Week\",\n timeframeLength: () => 60 * 60 * 24 * 7,\n defaultResponseGranularity: d.DAILY,\n dataGranularity: d.DAILY,\n isRelative: !1,\n allowedTiers: [\"plus\", \"enterprise\"]\n })\n ],\n [\n v.PREVIOUS_MONTH,\n new Xr({\n key: v.PREVIOUS_MONTH,\n display: \"Previous month\",\n timeframeText: \"Month\",\n timeframeLength: () => {\n let r = 0;\n const e = S(/* @__PURE__ */ new Date()), t = S(ce(/* @__PURE__ */ new Date(), 1));\n return e.getTimezoneOffset() !== t.getTimezoneOffset() && (r = Zr(e, t)), 60 * 60 * 24 * cr((/* @__PURE__ */ new Date()).setMonth((/* @__PURE__ */ new Date()).getMonth() - 1)) + mr(r);\n },\n defaultResponseGranularity: d.DAILY,\n dataGranularity: d.DAILY,\n isRelative: !1,\n allowedTiers: [\"plus\", \"enterprise\"]\n })\n ]\n]);\nfunction na(r) {\n const e = new Date(r.start), t = new Date(r.end), a = (t.getTime() - e.getTime()) / 1e3;\n return r.timePeriodsKey && Br.get(r.timePeriodsKey) || new b({\n key: \"custom\",\n timeframeText: \"custom\",\n display: \"custom\",\n startCustom: e,\n endCustom: t,\n timeframeLength: () => a,\n defaultResponseGranularity: d.DAILY,\n dataGranularity: d.DAILY,\n isRelative: !1,\n allowedTiers: [\"free\", \"plus\", \"enterprise\"]\n });\n}\nfunction ia(r) {\n return {\n ...r.key !== \"custom\" && { timePeriodsKey: r.key },\n start: r.rawStart(),\n end: r.rawEnd()\n };\n}\nfunction oa(r) {\n return {\n key: r.key,\n display: r.display,\n timeframeText: r.timeframeText,\n timeframeLength: () => r.key,\n // Used to generate test IDs for the Kongponent.\n start: () => r.rawStart(),\n end: () => r.rawEnd()\n };\n}\nfunction Zr(r, e) {\n return vr(r.getTimezoneOffset() - e.getTimezoneOffset());\n}\nexport {\n ze as ChartTypes,\n aa as DeltaQueryTime,\n j as Granularities,\n d as GranularityKeys,\n Br as TimePeriods,\n b as Timeframe,\n v as TimeframeKeys,\n ra as TimeseriesQueryTime,\n jr as UnaryQueryTime,\n We as ceilToNearestTimeGrain,\n na as datePickerSelectionToTimeframe,\n Zr as dstOffsetHours,\n Ce as floorToNearestTimeGrain,\n Kr as formatISOTimeWithTZ,\n ea as granularitiesToOptions,\n qr as granularityMsToQuery,\n ta as msToGranularity,\n ia as timeframeToDatepickerSelection,\n oa as timeframeToDatepickerTimeperiod\n};\n//# sourceMappingURL=vitals-utilities.es.js.map\n","import { createI18n, i18nTComponent } from '@kong-ui-public/i18n'\nimport english from '../locales/en.json'\n\nexport default function useI18n() {\n const i18n = createI18n<typeof english>('en-us', english)\n\n return {\n i18n,\n i18nT: i18nTComponent<typeof english>(i18n), // Translation component <i18n-t>\n }\n}\n","// These enums are exported by the package, but eslint doesn't seem to realize this.\n/* eslint-disable no-unused-vars */\nexport enum EXPLORE_V2_DIMENSIONS {\n API_PRODUCT = 'API_PRODUCT',\n API_PRODUCT_VERSION = 'API_PRODUCT_VERSION',\n RUNTIME_GROUP = 'RUNTIME_GROUP',\n GATEWAY_INSTANCE_ID = 'GATEWAY_INSTANCE_ID',\n GATEWAY_SERVICE = 'GATEWAY_SERVICE',\n ROUTE = 'ROUTE',\n APPLICATION = 'APPLICATION',\n STATUS_CODE = 'STATUS_CODE',\n STATUS_CODE_GROUPED = 'STATUS_CODE_GROUPED',\n TIME = 'TIME',\n ORGANIZATION = 'ORGANIZATION',\n CONTROL_PLANE = 'CONTROL_PLANE',\n CONTROL_PLANE_GROUP = 'CONTROL_PLANE_GROUP',\n DATA_PLANE_NODE = 'DATA_PLANE_NODE',\n}\n\nexport enum EXPLORE_V2_AGGREGATIONS {\n REQUEST_COUNT = 'REQUEST_COUNT',\n REQUEST_PER_MINUTE = 'REQUEST_PER_MINUTE',\n RESPONSE_LATENCY_P99 = 'RESPONSE_LATENCY_P99',\n RESPONSE_LATENCY_P95 = 'RESPONSE_LATENCY_P95',\n RESPONSE_LATENCY_P50 = 'RESPONSE_LATENCY_P50',\n RESPONSE_SIZE_P99 = 'RESPONSE_SIZE_P99',\n RESPONSE_SIZE_P95 = 'RESPONSE_SIZE_P95',\n RESPONSE_SIZE_P50 = 'RESPONSE_SIZE_P50',\n REQUEST_SIZE_P99 = 'REQUEST_SIZE_P99',\n REQUEST_SIZE_P95 = 'REQUEST_SIZE_P95',\n REQUEST_SIZE_P50 = 'REQUEST_SIZE_P50',\n}\n\nexport enum EXPLORE_V2_FILTER_TYPES {\n IN = 'IN',\n NOT_IN = 'NOT_IN',\n}\n\nexport interface ExploreV2Filter {\n dimension: EXPLORE_V2_DIMENSIONS\n type: EXPLORE_V2_FILTER_TYPES\n values: string[]\n}\n\nexport interface ExploreV2Query {\n metrics: EXPLORE_V2_AGGREGATIONS[]\n dimensions?: EXPLORE_V2_DIMENSIONS[]\n filter?: ExploreV2Filter[]\n granularityMs?: number\n meta?: {\n queryId: string\n };\n}\n","export const MAX_ANALYTICS_REQUEST_RETRIES = 2\nexport const ALL_STATUS_CODE_GROUPS = ['1XX', '2XX', '3XX', '4XX', '5XX']\nexport const STATUS_CODES_FAILED = ['4XX', '5XX']\nexport const STATUS_CODES_SUCCESS = ['1XX', '2XX', '3XX']\n","import { ref as q, readonly as ae, computed as fe, nextTick as ie, getCurrentInstance as ye, reactive as Te, onMounted as pe, onUnmounted as Ce, watch as De, isReadonly as Se, toRefs as Oe, watchEffect as Pe } from \"vue\";\nfunction B(r) {\n \"@babel/helpers - typeof\";\n return B = typeof Symbol == \"function\" && typeof Symbol.iterator == \"symbol\" ? function(e) {\n return typeof e;\n } : function(e) {\n return e && typeof Symbol == \"function\" && e.constructor === Symbol && e !== Symbol.prototype ? \"symbol\" : typeof e;\n }, B(r);\n}\nfunction A(r) {\n if (r === null || r === !0 || r === !1)\n return NaN;\n var e = Number(r);\n return isNaN(e) ? e : e < 0 ? Math.ceil(e) : Math.floor(e);\n}\nfunction T(r, e) {\n if (e.length < r)\n throw new TypeError(r + \" argument\" + (r > 1 ? \"s\" : \"\") + \" required, but only \" + e.length + \" present\");\n}\nfunction P(r) {\n T(1, arguments);\n var e = Object.prototype.toString.call(r);\n return r instanceof Date || B(r) === \"object\" && e === \"[object Date]\" ? new Date(r.getTime()) : typeof r == \"number\" || e === \"[object Number]\" ? new Date(r) : ((typeof r == \"string\" || e === \"[object String]\") && typeof console < \"u\" && (console.warn(\"Starting with v2.0.0-beta.1 date-fns doesn't accept strings as date arguments. Please use `parseISO` to parse strings. See: https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#string-arguments\"), console.warn(new Error().stack)), /* @__PURE__ */ new Date(NaN));\n}\nfunction Ee(r, e) {\n T(2, arguments);\n var t = P(r).getTime(), n = A(e);\n return new Date(t + n);\n}\nvar Me = {};\nfunction K() {\n return Me;\n}\nfunction ke(r) {\n var e = new Date(Date.UTC(r.getFullYear(), r.getMonth(), r.getDate(), r.getHours(), r.getMinutes(), r.getSeconds(), r.getMilliseconds()));\n return e.setUTCFullYear(r.getFullYear()), r.getTime() - e.getTime();\n}\nfunction _e(r) {\n return T(1, arguments), r instanceof Date || B(r) === \"object\" && Object.prototype.toString.call(r) === \"[object Date]\";\n}\nfunction xe(r) {\n if (T(1, arguments), !_e(r) && typeof r != \"number\")\n return !1;\n var e = P(r);\n return !isNaN(Number(e));\n}\nfunction We(r, e) {\n T(2, arguments);\n var t = A(e);\n return Ee(r, -t);\n}\nvar Re = 864e5;\nfunction Ue(r) {\n T(1, arguments);\n var e = P(r), t = e.getTime();\n e.setUTCMonth(0, 1), e.setUTCHours(0, 0, 0, 0);\n var n = e.getTime(), a = t - n;\n return Math.floor(a / Re) + 1;\n}\nfunction X(r) {\n T(1, arguments);\n var e = 1, t = P(r), n = t.getUTCDay(), a = (n < e ? 7 : 0) + n - e;\n return t.setUTCDate(t.getUTCDate() - a), t.setUTCHours(0, 0, 0, 0), t;\n}\nfunction ve(r) {\n T(1, arguments);\n var e = P(r), t = e.getUTCFullYear(), n = /* @__PURE__ */ new Date(0);\n n.setUTCFullYear(t + 1, 0, 4), n.setUTCHours(0, 0, 0, 0);\n var a = X(n), i = /* @__PURE__ */ new Date(0);\n i.setUTCFullYear(t, 0, 4), i.setUTCHours(0, 0, 0, 0);\n var o = X(i);\n return e.getTime() >= a.getTime() ? t + 1 : e.getTime() >= o.getTime() ? t : t - 1;\n}\nfunction Ae(r) {\n T(1, arguments);\n var e = ve(r), t = /* @__PURE__ */ new Date(0);\n t.setUTCFullYear(e, 0, 4), t.setUTCHours(0, 0, 0, 0);\n var n = X(t);\n return n;\n}\nvar Le = 6048e5;\nfunction Ye(r) {\n T(1, arguments);\n var e = P(r), t = X(e).getTime() - Ae(e).getTime();\n return Math.round(t / Le) + 1;\n}\nfunction Q(r, e) {\n var t, n, a, i, o, s, l, u;\n T(1, arguments);\n var c = K(), v = A((t = (n = (a = (i = e == null ? void 0 : e.weekStartsOn) !== null && i !== void 0 ? i : e == null || (o = e.locale) === null || o === void 0 || (s = o.options) === null || s === void 0 ? void 0 : s.weekStartsOn) !== null && a !== void 0 ? a : c.weekStartsOn) !== null && n !== void 0 ? n : (l = c.locale) === null || l === void 0 || (u = l.options) === null || u === void 0 ? void 0 : u.weekStartsOn) !== null && t !== void 0 ? t : 0);\n if (!(v >= 0 && v <= 6))\n throw new RangeError(\"weekStartsOn must be between 0 and 6 inclusively\");\n var d = P(r), f = d.getUTCDay(), g = (f < v ? 7 : 0) + f - v;\n return d.setUTCDate(d.getUTCDate() - g), d.setUTCHours(0, 0, 0, 0), d;\n}\nfunction he(r, e) {\n var t, n, a, i, o, s, l, u;\n T(1, arguments);\n var c = P(r), v = c.getUTCFullYear(), d = K(), f = A((t = (n = (a = (i = e == null ? void 0 : e.firstWeekContainsDate) !== null && i !== void 0 ? i : e == null || (o = e.locale) === null || o === void 0 || (s = o.options) === null || s === void 0 ? void 0 : s.firstWeekContainsDate) !== null && a !== void 0 ? a : d.firstWeekContainsDate) !== null && n !== void 0 ? n : (l = d.locale) === null || l === void 0 || (u = l.options) === null || u === void 0 ? void 0 : u.firstWeekContainsDate) !== null && t !== void 0 ? t : 1);\n if (!(f >= 1 && f <= 7))\n throw new RangeError(\"firstWeekContainsDate must be between 1 and 7 inclusively\");\n var g = /* @__PURE__ */ new Date(0);\n g.setUTCFullYear(v + 1, 0, f), g.setUTCHours(0, 0, 0, 0);\n var b = Q(g, e), p = /* @__PURE__ */ new Date(0);\n p.setUTCFullYear(v, 0, f), p.setUTCHours(0, 0, 0, 0);\n var W = Q(p, e);\n return c.getTime() >= b.getTime() ? v + 1 : c.getTime() >= W.getTime() ? v : v - 1;\n}\nfunction Ne(r, e) {\n var t, n, a, i, o, s, l, u;\n T(1, arguments);\n var c = K(), v = A((t = (n = (a = (i = e == null ? void 0 : e.firstWeekContainsDate) !== null && i !== void 0 ? i : e == null || (o = e.locale) === null || o === void 0 || (s = o.options) === null || s === void 0 ? void 0 : s.firstWeekContainsDate) !== null && a !== void 0 ? a : c.firstWeekContainsDate) !== null && n !== void 0 ? n : (l = c.locale) === null || l === void 0 || (u = l.options) === null || u === void 0 ? void 0 : u.firstWeekContainsDate) !== null && t !== void 0 ? t : 1), d = he(r, e), f = /* @__PURE__ */ new Date(0);\n f.setUTCFullYear(d, 0, v), f.setUTCHours(0, 0, 0, 0);\n var g = Q(f, e);\n return g;\n}\nvar Ie = 6048e5;\nfunction Fe(r, e) {\n T(1, arguments);\n var t = P(r), n = Q(t, e).getTime() - Ne(t, e).getTime();\n return Math.round(n / Ie) + 1;\n}\nfunction h(r, e) {\n for (var t = r < 0 ? \"-\" : \"\", n = Math.abs(r).toString(); n.length < e; )\n n = \"0\" + n;\n return t + n;\n}\nvar He = {\n // Year\n y: function(e, t) {\n var n = e.getUTCFullYear(), a = n > 0 ? n : 1 - n;\n return h(t === \"yy\" ? a % 100 : a, t.length);\n },\n // Month\n M: function(e, t) {\n var n = e.getUTCMonth();\n return t === \"M\" ? String(n + 1) : h(n + 1, 2);\n },\n // Day of the month\n d: function(e, t) {\n return h(e.getUTCDate(), t.length);\n },\n // AM or PM\n a: function(e, t) {\n var n = e.getUTCHours() / 12 >= 1 ? \"pm\" : \"am\";\n switch (t) {\n case \"a\":\n case \"aa\":\n return n.toUpperCase();\n case \"aaa\":\n return n;\n case \"aaaaa\":\n return n[0];\n case \"aaaa\":\n default:\n return n === \"am\" ? \"a.m.\" : \"p.m.\";\n }\n },\n // Hour [1-12]\n h: function(e, t) {\n return h(e.getUTCHours() % 12 || 12, t.length);\n },\n // Hour [0-23]\n H: function(e, t) {\n return h(e.getUTCHours(), t.length);\n },\n // Minute\n m: function(e, t) {\n return h(e.getUTCMinutes(), t.length);\n },\n // Second\n s: function(e, t) {\n return h(e.getUTCSeconds(), t.length);\n },\n // Fraction of second\n S: function(e, t) {\n var n = t.length, a = e.getUTCMilliseconds(), i = Math.floor(a * Math.pow(10, n - 3));\n return h(i, t.length);\n }\n};\nconst x = He;\nvar N = {\n am: \"am\",\n pm: \"pm\",\n midnight: \"midnight\",\n noon: \"noon\",\n morning: \"morning\",\n afternoon: \"afternoon\",\n evening: \"evening\",\n night: \"night\"\n}, $e = {\n // Era\n G: function(e, t, n) {\n var a = e.getUTCFullYear() > 0 ? 1 : 0;\n switch (t) {\n case \"G\":\n case \"GG\":\n case \"GGG\":\n return n.era(a, {\n width: \"abbreviated\"\n });\n case \"GGGGG\":\n return n.era(a, {\n width: \"narrow\"\n });\n case \"GGGG\":\n default:\n return n.era(a, {\n width: \"wide\"\n });\n }\n },\n // Year\n y: function(e, t, n) {\n if (t === \"yo\") {\n var a = e.getUTCFullYear(), i = a > 0 ? a : 1 - a;\n return n.ordinalNumber(i, {\n unit: \"year\"\n });\n }\n return x.y(e, t);\n },\n // Local week-numbering year\n Y: function(e, t, n, a) {\n var i = he(e, a), o = i > 0 ? i : 1 - i;\n if (t === \"YY\") {\n var s = o % 100;\n return h(s, 2);\n }\n return t === \"Yo\" ? n.ordinalNumber(o, {\n unit: \"year\"\n }) : h(o, t.length);\n },\n // ISO week-numbering year\n R: function(e, t) {\n var n = ve(e);\n return h(n, t.length);\n },\n // Extended year. This is a single number designating the year of this calendar system.\n // The main difference between `y` and `u` localizers are B.C. years:\n // | Year | `y` | `u` |\n // |------|-----|-----|\n // | AC 1 | 1 | 1 |\n // | BC 1 | 1 | 0 |\n // | BC 2 | 2 | -1 |\n // Also `yy` always returns the last two digits of a year,\n // while `uu` pads single digit years to 2 characters and returns other years unchanged.\n u: function(e, t) {\n var n = e.getUTCFullYear();\n return h(n, t.length);\n },\n // Quarter\n Q: function(e, t, n) {\n var a = Math.ceil((e.getUTCMonth() + 1) / 3);\n switch (t) {\n case \"Q\":\n return String(a);\n case \"QQ\":\n return h(a, 2);\n case \"Qo\":\n return n.ordinalNumber(a, {\n unit: \"quarter\"\n });\n case \"QQQ\":\n return n.quarter(a, {\n width: \"abbreviated\",\n context: \"formatting\"\n });\n case \"QQQQQ\":\n return n.quarter(a, {\n width: \"narrow\",\n context: \"formatting\"\n });\n case \"QQQQ\":\n default:\n return n.quarter(a, {\n width: \"wide\",\n context: \"formatting\"\n });\n }\n },\n // Stand-alone quarter\n q: function(e, t, n) {\n var a = Math.ceil((e.getUTCMonth() + 1) / 3);\n switch (t) {\n case \"q\":\n return String(a);\n case \"qq\":\n return h(a, 2);\n case \"qo\":\n return n.ordinalNumber(a, {\n unit: \"quarter\"\n });\n case \"qqq\":\n return n.quarter(a, {\n width: \"abbreviated\",\n context: \"standalone\"\n });\n case \"qqqqq\":\n return n.quarter(a, {\n width: \"narrow\",\n context: \"standalone\"\n });\n case \"qqqq\":\n default:\n return n.quarter(a, {\n width: \"wide\",\n context: \"standalone\"\n });\n }\n },\n // Month\n M: function(e, t, n) {\n var a = e.getUTCMonth();\n switch (t) {\n case \"M\":\n case \"MM\":\n return x.M(e, t);\n case \"Mo\":\n return n.ordinalNumber(a + 1, {\n unit: \"month\"\n });\n case \"MMM\":\n return n.month(a, {\n width: \"abbreviated\",\n context: \"formatting\"\n });\n case \"MMMMM\":\n return n.month(a, {\n width: \"narrow\",\n context: \"formatting\"\n });\n case \"MMMM\":\n default:\n return n.month(a, {\n width: \"wide\",\n context: \"formatting\"\n });\n }\n },\n // Stand-alone month\n L: function(e, t, n) {\n var a = e.getUTCMonth();\n switch (t) {\n case \"L\":\n return String(a + 1);\n case \"LL\":\n return h(a + 1, 2);\n case \"Lo\":\n return n.ordinalNumber(a + 1, {\n unit: \"month\"\n });\n case \"LLL\":\n return n.month(a, {\n width: \"abbreviated\",\n context: \"standalone\"\n });\n case \"LLLLL\":\n return n.month(a, {\n width: \"narrow\",\n context: \"standalone\"\n });\n case \"LLLL\":\n default:\n return n.month(a, {\n width: \"wide\",\n context: \"standalone\"\n });\n }\n },\n // Local week of year\n w: function(e, t, n, a) {\n var i = Fe(e, a);\n return t === \"wo\" ? n.ordinalNumber(i, {\n unit: \"week\"\n }) : h(i, t.length);\n },\n // ISO week of year\n I: function(e, t, n) {\n var a = Ye(e);\n return t === \"Io\" ? n.ordinalNumber(a, {\n unit: \"week\"\n }) : h(a, t.length);\n },\n // Day of the month\n d: function(e, t, n) {\n return t === \"do\" ? n.ordinalNumber(e.getUTCDate(), {\n unit: \"date\"\n }) : x.d(e, t);\n },\n // Day of year\n D: function(e, t, n) {\n var a = Ue(e);\n return t === \"Do\" ? n.ordinalNumber(a, {\n unit: \"dayOfYear\"\n }) : h(a, t.length);\n },\n // Day of week\n E: function(e, t, n) {\n var a = e.getUTCDay();\n switch (t) {\n case \"E\":\n case \"EE\":\n case \"EEE\":\n return n.day(a, {\n width: \"abbreviated\",\n context: \"formatting\"\n });\n case \"EEEEE\":\n return n.day(a, {\n width: \"narrow\",\n context: \"formatting\"\n });\n case \"EEEEEE\":\n return n.day(a, {\n width: \"short\",\n context: \"formatting\"\n });\n case \"EEEE\":\n default:\n return n.day(a, {\n width: \"wide\",\n context: \"formatting\"\n });\n }\n },\n // Local day of week\n e: function(e, t, n, a) {\n var i = e.getUTCDay(), o = (i - a.weekStartsOn + 8) % 7 || 7;\n switch (t) {\n case \"e\":\n return String(o);\n case \"ee\":\n return h(o, 2);\n case \"eo\":\n return n.ordinalNumber(o, {\n unit: \"day\"\n });\n case \"eee\":\n return n.day(i, {\n width: \"abbreviated\",\n context: \"formatting\"\n });\n case \"eeeee\":\n return n.day(i, {\n width: \"narrow\",\n context: \"formatting\"\n });\n case \"eeeeee\":\n return n.day(i, {\n width: \"short\",\n context: \"formatting\"\n });\n case \"eeee\":\n default:\n return n.day(i, {\n width: \"wide\",\n context: \"formatting\"\n });\n }\n },\n // Stand-alone local day of week\n c: function(e, t, n, a) {\n var i = e.getUTCDay(), o = (i - a.weekStartsOn + 8) % 7 || 7;\n switch (t) {\n case \"c\":\n return String(o);\n case \"cc\":\n return h(o, t.length);\n case \"co\":\n return n.ordinalNumber(o, {\n unit: \"day\"\n });\n case \"ccc\":\n return n.day(i, {\n width: \"abbreviated\",\n context: \"standalone\"\n });\n case \"ccccc\":\n return n.day(i, {\n width: \"narrow\",\n context: \"standalone\"\n });\n case \"cccccc\":\n return n.day(i, {\n width: \"short\",\n context: \"standalone\"\n });\n case \"cccc\":\n default:\n return n.day(i, {\n width: \"wide\",\n context: \"standalone\"\n });\n }\n },\n // ISO day of week\n i: function(e, t, n) {\n var a = e.getUTCDay(), i = a === 0 ? 7 : a;\n switch (t) {\n case \"i\":\n return String(i);\n case \"ii\":\n return h(i, t.length);\n case \"io\":\n return n.ordinalNumber(i, {\n unit: \"day\"\n });\n case \"iii\":\n return n.day(a, {\n width: \"abbreviated\",\n context: \"formatting\"\n });\n case \"iiiii\":\n return n.day(a, {\n width: \"narrow\",\n context: \"formatting\"\n });\n case \"iiiiii\":\n return n.day(a, {\n width: \"short\",\n context: \"formatting\"\n });\n case \"iiii\":\n default:\n return n.day(a, {\n width: \"wide\",\n context: \"formatting\"\n });\n }\n },\n // AM or PM\n a: function(e, t, n) {\n var a = e.getUTCHours(), i = a / 12 >= 1 ? \"pm\" : \"am\";\n switch (t) {\n case \"a\":\n case \"aa\":\n return n.dayPeriod(i, {\n width: \"abbreviated\",\n context: \"formatting\"\n });\n case \"aaa\":\n return n.dayPeriod(i, {\n width: \"abbreviated\",\n context: \"formatting\"\n }).toLowerCase();\n case \"aaaaa\":\n return n.dayPeriod(i, {\n width: \"narrow\",\n context: \"formatting\"\n });\n case \"aaaa\":\n default:\n return n.dayPeriod(i, {\n width: \"wide\",\n context: \"formatting\"\n });\n }\n },\n // AM, PM, midnight, noon\n b: function(e, t, n) {\n var a = e.getUTCHours(), i;\n switch (a === 12 ? i = N.noon : a === 0 ? i = N.midnight : i = a / 12 >= 1 ? \"pm\" : \"am\", t) {\n case \"b\":\n case \"bb\":\n return n.dayPeriod(i, {\n width: \"abbreviated\",\n context: \"formatting\"\n });\n case \"bbb\":\n return n.dayPeriod(i, {\n width: \"abbreviated\",\n context: \"formatting\"\n }).toLowerCase();\n case \"bbbbb\":\n return n.dayPeriod(i, {\n width: \"narrow\",\n context: \"formatting\"\n });\n case \"bbbb\":\n default:\n return n.dayPeriod(i, {\n width: \"wide\",\n context: \"formatting\"\n });\n }\n },\n // in the morning, in the afternoon, in the evening, at night\n B: function(e, t, n) {\n var a = e.getUTCHours(), i;\n switch (a >= 17 ? i = N.evening : a >= 12 ? i = N.afternoon : a >= 4 ? i = N.morning : i = N.night, t) {\n case \"B\":\n case \"BB\":\n case \"BBB\":\n return n.dayPeriod(i, {\n width: \"abbreviated\",\n context: \"formatting\"\n });\n case \"BBBBB\":\n return n.dayPeriod(i, {\n width: \"narrow\",\n context: \"formatting\"\n });\n case \"BBBB\":\n default:\n return n.dayPeriod(i, {\n width: \"wide\",\n context: \"formatting\"\n });\n }\n },\n // Hour [1-12]\n h: function(e, t, n) {\n if (t === \"ho\") {\n var a = e.getUTCHours() % 12;\n return a === 0 && (a = 12), n.ordinalNumber(a, {\n unit: \"hour\"\n });\n }\n return x.h(e, t);\n },\n // Hour [0-23]\n H: function(e, t, n) {\n return t === \"Ho\" ? n.ordinalNumber(e.getUTCHours(), {\n unit: \"hour\"\n }) : x.H(e, t);\n },\n // Hour [0-11]\n K: function(e, t, n) {\n var a = e.getUTCHours() % 12;\n return t === \"Ko\" ? n.ordinalNumber(a, {\n unit: \"hour\"\n }) : h(a, t.length);\n },\n // Hour [1-24]\n k: function(e, t, n) {\n var a = e.getUTCHours();\n return a === 0 && (a = 24), t === \"ko\" ? n.ordinalNumber(a, {\n unit: \"hour\"\n }) : h(a, t.length);\n },\n // Minute\n m: function(e, t, n) {\n return t === \"mo\" ? n.ordinalNumber(e.getUTCMinutes(), {\n unit: \"minute\"\n }) : x.m(e, t);\n },\n // Second\n s: function(e, t, n) {\n return t === \"so\" ? n.ordinalNumber(e.getUTCSeconds(), {\n unit: \"second\"\n }) : x.s(e, t);\n },\n // Fraction of second\n S: function(e, t) {\n return x.S(e, t);\n },\n // Timezone (ISO-8601. If offset is 0, output is always `'Z'`)\n X: function(e, t, n, a) {\n var i = a._originalDate || e, o = i.getTimezoneOffset();\n if (o === 0)\n return \"Z\";\n switch (t) {\n case \"X\":\n return ue(o);\n case \"XXXX\":\n case \"XX\":\n return U(o);\n case \"XXXXX\":\n case \"XXX\":\n default:\n return U(o, \":\");\n }\n },\n // Timezone (ISO-8601. If offset is 0, output is `'+00:00'` or equivalent)\n x: function(e, t, n, a) {\n var i = a._originalDate || e, o = i.getTimezoneOffset();\n switch (t) {\n case \"x\":\n return ue(o);\n case \"xxxx\":\n case \"xx\":\n return U(o);\n case \"xxxxx\":\n case \"xxx\":\n default:\n return U(o, \":\");\n }\n },\n // Timezone (GMT)\n O: function(e, t, n, a) {\n var i = a._originalDate || e, o = i.getTimezoneOffset();\n switch (t) {\n case \"O\":\n case \"OO\":\n case \"OOO\":\n return \"GMT\" + oe(o, \":\");\n case \"OOOO\":\n default:\n return \"GMT\" + U(o, \":\");\n }\n },\n // Timezone (specific non-location)\n z: function(e, t, n, a) {\n var i = a._originalDate || e, o = i.getTimezoneOffset();\n switch (t) {\n case \"z\":\n case \"zz\":\n case \"zzz\":\n return \"GMT\" + oe(o, \":\");\n case \"zzzz\":\n default:\n return \"GMT\" + U(o, \":\");\n }\n },\n // Seconds timestamp\n t: function(e, t, n, a) {\n var i = a._originalDate || e, o = Math.floor(i.getTime() / 1e3);\n return h(o, t.length);\n },\n // Milliseconds timestamp\n T: function(e, t, n, a) {\n var i = a._originalDate || e, o = i.getTime();\n return h(o, t.length);\n }\n};\nfunction oe(r, e) {\n var t = r > 0 ? \"-\" : \"+\", n = Math.abs(r), a = Math.floor(n / 60), i = n % 60;\n if (i === 0)\n return t + String(a);\n var o = e || \"\";\n return t + String(a) + o + h(i, 2);\n}\nfunction ue(r, e) {\n if (r % 60 === 0) {\n var t = r > 0 ? \"-\" : \"+\";\n return t + h(Math.abs(r) / 60, 2);\n }\n return U(r, e);\n}\nfunction U(r, e) {\n var t = e || \"\", n = r > 0 ? \"-\" : \"+\", a = Math.abs(r), i = h(Math.floor(a / 60), 2), o = h(a % 60, 2);\n return n + i + t + o;\n}\nconst Ve = $e;\nvar le = function(e, t) {\n switch (e) {\n case \"P\":\n return t.date({\n width: \"short\"\n });\n case \"PP\":\n return t.date({\n width: \"medium\"\n });\n case \"PPP\":\n return t.date({\n width: \"long\"\n });\n case \"PPPP\":\n default:\n return t.date({\n width: \"full\"\n });\n }\n}, me = function(e, t) {\n switch (e) {\n case \"p\":\n return t.time({\n width: \"short\"\n });\n case \"pp\":\n return t.time({\n width: \"medium\"\n });\n case \"ppp\":\n return t.time({\n width: \"long\"\n });\n case \"pppp\":\n default:\n return t.time({\n width: \"full\"\n });\n }\n}, qe = function(e, t) {\n var n = e.match(/(P+)(p+)?/) || [], a = n[1], i = n[2];\n if (!i)\n return le(e, t);\n var o;\n switch (a) {\n case \"P\":\n o = t.dateTime({\n width: \"short\"\n });\n break;\n case \"PP\":\n o = t.dateTime({\n width: \"medium\"\n });\n break;\n case \"PPP\":\n o = t.dateTime({\n width: \"long\"\n });\n break;\n case \"PPPP\":\n default:\n o = t.dateTime({\n width: \"full\"\n });\n break;\n }\n return o.replace(\"{{date}}\", le(a, t)).replace(\"{{time}}\", me(i, t));\n}, Ge = {\n p: me,\n P: qe\n};\nconst je = Ge;\nvar Be = [\"D\", \"DD\"], Xe = [\"YY\", \"YYYY\"];\nfunction Qe(r) {\n return Be.indexOf(r) !== -1;\n}\nfunction Je(r) {\n return Xe.indexOf(r) !== -1;\n}\nfunction se(r, e, t) {\n if (r === \"YYYY\")\n throw new RangeError(\"Use `yyyy` instead of `YYYY` (in `\".concat(e, \"`) for formatting years to the input `\").concat(t, \"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\"));\n if (r === \"YY\")\n throw new RangeError(\"Use `yy` instead of `YY` (in `\".concat(e, \"`) for formatting years to the input `\").concat(t, \"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\"));\n if (r === \"D\")\n throw new RangeError(\"Use `d` instead of `D` (in `\".concat(e, \"`) for formatting days of the month to the input `\").concat(t, \"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\"));\n if (r === \"DD\")\n throw new RangeError(\"Use `dd` instead of `DD` (in `\".concat(e, \"`) for formatting days of the month to the input `\").concat(t, \"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\"));\n}\nvar Ke = {\n lessThanXSeconds: {\n one: \"less than a second\",\n other: \"less than {{count}} seconds\"\n },\n xSeconds: {\n one: \"1 second\",\n other: \"{{count}} seconds\"\n },\n halfAMinute: \"half a minute\",\n lessThanXMinutes: {\n one: \"less than a minute\",\n other: \"less than {{count}} minutes\"\n },\n xMinutes: {\n one: \"1 minute\",\n other: \"{{count}} minutes\"\n },\n aboutXHours: {\n one: \"about 1 hour\",\n other: \"about {{count}} hours\"\n },\n xHours: {\n one: \"1 hour\",\n other: \"{{count}} hours\"\n },\n xDays: {\n one: \"1 day\",\n other: \"{{count}} days\"\n },\n aboutXWeeks: {\n one: \"about 1 week\",\n other: \"about {{count}} weeks\"\n },\n xWeeks: {\n one: \"1 week\",\n other: \"{{count}} weeks\"\n },\n aboutXMonths: {\n one: \"about 1 month\",\n other: \"about {{count}} months\"\n },\n xMonths: {\n one: \"1 month\",\n other: \"{{count}} months\"\n },\n aboutXYears: {\n one: \"about 1 year\",\n other: \"about {{count}} years\"\n },\n xYears: {\n one: \"1 year\",\n other: \"{{count}} years\"\n },\n overXYears: {\n one: \"over 1 year\",\n other: \"over {{count}} years\"\n },\n almostXYears: {\n one: \"almost 1 year\",\n other: \"almost {{count}} years\"\n }\n}, ze = function(e, t, n) {\n var a, i = Ke[e];\n return typeof i == \"string\" ? a = i : t === 1 ? a = i.one : a = i.other.replace(\"{{count}}\", t.toString()), n != null && n.addSuffix ? n.comparison && n.comparison > 0 ? \"in \" + a : a + \" ago\" : a;\n};\nconst Ze = ze;\nfunction z(r) {\n return function() {\n var e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}, t = e.width ? String(e.width) : r.defaultWidth, n = r.formats[t] || r.formats[r.defaultWidth];\n return n;\n };\n}\nvar et = {\n full: \"EEEE, MMMM do, y\",\n long: \"MMMM do, y\",\n medium: \"MMM d, y\",\n short: \"MM/dd/yyyy\"\n}, tt = {\n full: \"h:mm:ss a zzzz\",\n long: \"h:mm:ss a z\",\n medium: \"h:mm:ss a\",\n short: \"h:mm a\"\n}, rt = {\n full: \"{{date}} 'at' {{time}}\",\n long: \"{{date}} 'at' {{time}}\",\n medium: \"{{date}}, {{time}}\",\n short: \"{{date}}, {{time}}\"\n}, nt = {\n date: z({\n formats: et,\n defaultWidth: \"full\"\n }),\n time: z({\n formats: tt,\n defaultWidth: \"full\"\n }),\n dateTime: z({\n formats: rt,\n defaultWidth: \"full\"\n })\n};\nconst at = nt;\nvar it = {\n lastWeek: \"'last' eeee 'at' p\",\n yesterday: \"'yesterday at' p\",\n today: \"'today at' p\",\n tomorrow: \"'tomorrow at' p\",\n nextWeek: \"eeee 'at' p\",\n other: \"P\"\n}, ot = function(e, t, n, a) {\n return it[e];\n};\nconst ut = ot;\nfunction $(r) {\n return function(e, t) {\n var n = t != null && t.context ? String(t.context) : \"standalone\", a;\n if (n === \"formatting\" && r.formattingValues) {\n var i = r.defaultFormattingWidth || r.defaultWidth, o = t != null && t.width ? String(t.width) : i;\n a = r.formattingValues[o] || r.formattingValues[i];\n } else {\n var s = r.defaultWidth, l = t != null && t.width ? String(t.width) : r.defaultWidth;\n a = r.values[l] || r.values[s];\n }\n var u = r.argumentCallback ? r.argumentCallback(e) : e;\n return a[u];\n };\n}\nvar lt = {\n narrow: [\"B\", \"A\"],\n abbreviated: [\"BC\", \"AD\"],\n wide: [\"Before Christ\", \"Anno Domini\"]\n}, st = {\n narrow: [\"1\", \"2\", \"3\", \"4\"],\n abbreviated: [\"Q1\", \"Q2\", \"Q3\", \"Q4\"],\n wide: [\"1st quarter\", \"2nd quarter\", \"3rd quarter\", \"4th quarter\"]\n}, ct = {\n narrow: [\"J\", \"F\", \"M\", \"A\", \"M\", \"J\", \"J\", \"A\", \"S\", \"O\", \"N\", \"D\"],\n abbreviated: [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"],\n wide: [\"January\", \"February\", \"March\", \"April\", \"May\", \"June\", \"July\", \"August\", \"September\", \"October\", \"November\", \"December\"]\n}, dt = {\n narrow: [\"S\", \"M\", \"T\", \"W\", \"T\", \"F\", \"S\"],\n short: [\"Su\", \"Mo\", \"Tu\", \"We\", \"Th\", \"Fr\", \"Sa\"],\n abbreviated: [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"],\n wide: [\"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\"]\n}, ft = {\n narrow: {\n am: \"a\",\n pm: \"p\",\n midnight: \"mi\",\n noon: \"n\",\n morning: \"morning\",\n afternoon: \"afternoon\",\n evening: \"evening\",\n night: \"night\"\n },\n abbreviated: {\n am: \"AM\",\n pm: \"PM\",\n midnight: \"midnight\",\n noon: \"noon\",\n morning: \"morning\",\n afternoon: \"afternoon\",\n evening: \"evening\",\n night: \"night\"\n },\n wide: {\n am: \"a.m.\",\n pm: \"p.m.\",\n midnight: \"midnight\",\n noon: \"noon\",\n morning: \"morning\",\n afternoon: \"afternoon\",\n evening: \"evening\",\n night: \"night\"\n }\n}, vt = {\n narrow: {\n am: \"a\",\n pm: \"p\",\n midnight: \"mi\",\n noon: \"n\",\n morning: \"in the morning\",\n afternoon: \"in the afternoon\",\n evening: \"in the evening\",\n night: \"at night\"\n },\n abbreviated: {\n am: \"AM\",\n pm: \"PM\",\n midnight: \"midnight\",\n noon: \"noon\",\n morning: \"in the morning\",\n afternoon: \"in the afternoon\",\n evening: \"in the evening\",\n night: \"at night\"\n },\n wide: {\n am: \"a.m.\",\n pm: \"p.m.\",\n midnight: \"midnight\",\n noon: \"noon\",\n morning: \"in the morning\",\n afternoon: \"in the afternoon\",\n evening: \"in the evening\",\n night: \"at night\"\n }\n}, ht = function(e, t) {\n var n = Number(e), a = n % 100;\n if (a > 20 || a < 10)\n switch (a % 10) {\n case 1:\n return n + \"st\";\n case 2:\n return n + \"nd\";\n case 3:\n return n + \"rd\";\n }\n return n + \"th\";\n}, mt = {\n ordinalNumber: ht,\n era: $({\n values: lt,\n defaultWidth: \"wide\"\n }),\n quarter: $({\n values: st,\n defaultWidth: \"wide\",\n argumentCallback: function(e) {\n return e - 1;\n }\n }),\n month: $({\n values: ct,\n defaultWidth: \"wide\"\n }),\n day: $({\n values: dt,\n defaultWidth: \"wide\"\n }),\n dayPeriod: $({\n values: ft,\n defaultWidth: \"wide\",\n formattingValues: vt,\n defaultFormattingWidth: \"wide\"\n })\n};\nconst gt = mt;\nfunction V(r) {\n return function(e) {\n var t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, n = t.width, a = n && r.matchPatterns[n] || r.matchPatterns[r.defaultMatchWidth], i = e.match(a);\n if (!i)\n return null;\n var o = i[0], s = n && r.parsePatterns[n] || r.parsePatterns[r.defaultParseWidth], l = Array.isArray(s) ? bt(s, function(v) {\n return v.test(o);\n }) : wt(s, function(v) {\n return v.test(o);\n }), u;\n u = r.valueCallback ? r.valueCallback(l) : l, u = t.valueCallback ? t.valueCallback(u) : u;\n var c = e.slice(o.length);\n return {\n value: u,\n rest: c\n };\n };\n}\nfunction wt(r, e) {\n for (var t in r)\n if (r.hasOwnProperty(t) && e(r[t]))\n return t;\n}\nfunction bt(r, e) {\n for (var t = 0; t < r.length; t++)\n if (e(r[t]))\n return t;\n}\nfunction yt(r) {\n return function(e) {\n var t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, n = e.match(r.matchPattern);\n if (!n)\n return null;\n var a = n[0], i = e.match(r.parsePattern);\n if (!i)\n return null;\n var o = r.valueCallback ? r.valueCallback(i[0]) : i[0];\n o = t.valueCallback ? t.valueCallback(o) : o;\n var s = e.slice(a.length);\n return {\n value: o,\n rest: s\n };\n };\n}\nvar Tt = /^(\\d+)(th|st|nd|rd)?/i, pt = /\\d+/i, Ct = {\n narrow: /^(b|a)/i,\n abbreviated: /^(b\\.?\\s?c\\.?|b\\.?\\s?c\\.?\\s?e\\.?|a\\.?\\s?d\\.?|c\\.?\\s?e\\.?)/i,\n wide: /^(before christ|before common era|anno domini|common era)/i\n}, Dt = {\n any: [/^b/i, /^(a|c)/i]\n}, St = {\n narrow: /^[1234]/i,\n abbreviated: /^q[1234]/i,\n wide: /^[1234](th|st|nd|rd)? quarter/i\n}, Ot = {\n any: [/1/i, /2/i, /3/i, /4/i]\n}, Pt = {\n narrow: /^[jfmasond]/i,\n abbreviated: /^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,\n wide: /^(january|february|march|april|may|june|july|august|september|october|november|december)/i\n}, Et = {\n narrow: [/^j/i, /^f/i, /^m/i, /^a/i, /^m/i, /^j/i, /^j/i, /^a/i, /^s/i, /^o/i, /^n/i, /^d/i],\n any: [/^ja/i, /^f/i, /^mar/i, /^ap/i, /^may/i, /^jun/i, /^jul/i, /^au/i, /^s/i, /^o/i, /^n/i, /^d/i]\n}, Mt = {\n narrow: /^[smtwf]/i,\n short: /^(su|mo|tu|we|th|fr|sa)/i,\n abbreviated: /^(sun|mon|tue|wed|thu|fri|sat)/i,\n wide: /^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i\n}, kt = {\n narrow: [/^s/i, /^m/i, /^t/i, /^w/i, /^t/i, /^f/i, /^s/i],\n any: [/^su/i, /^m/i, /^tu/i, /^w/i, /^th/i, /^f/i, /^sa/i]\n}, _t = {\n narrow: /^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,\n any: /^([ap]\\.?\\s?m\\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i\n}, xt = {\n any: {\n am: /^a/i,\n pm: /^p/i,\n midnight: /^mi/i,\n noon: /^no/i,\n morning: /morning/i,\n afternoon: /afternoon/i,\n evening: /evening/i,\n night: /night/i\n }\n}, Wt = {\n ordinalNumber: yt({\n matchPattern: Tt,\n parsePattern: pt,\n valueCallback: function(e) {\n return parseInt(e, 10);\n }\n }),\n era: V({\n matchPatterns: Ct,\n defaultMatchWidth: \"wide\",\n parsePatterns: Dt,\n defaultParseWidth: \"any\"\n }),\n quarter: V({\n matchPatterns: St,\n defaultMatchWidth: \"wide\",\n parsePatterns: Ot,\n defaultParseWidth: \"any\",\n valueCallback: function(e) {\n return e + 1;\n }\n }),\n month: V({\n matchPatterns: Pt,\n defaultMatchWidth: \"wide\",\n parsePatterns: Et,\n defaultParseWidth: \"any\"\n }),\n day: V({\n matchPatterns: Mt,\n defaultMatchWidth: \"wide\",\n parsePatterns: kt,\n defaultParseWidth: \"any\"\n }),\n dayPeriod: V({\n matchPatterns: _t,\n defaultMatchWidth: \"any\",\n parsePatterns: xt,\n defaultParseWidth: \"any\"\n })\n};\nconst Rt = Wt;\nvar Ut = {\n code: \"en-US\",\n formatDistance: Ze,\n formatLong: at,\n formatRelative: ut,\n localize: gt,\n match: Rt,\n options: {\n weekStartsOn: 0,\n firstWeekContainsDate: 1\n }\n};\nconst At = Ut;\nvar Lt = /[yYQqMLwIdDecihHKkms]o|(\\w)\\1*|''|'(''|[^'])+('|$)|./g, Yt = /P+p+|P+|p+|''|'(''|[^'])+('|$)|./g, Nt = /^'([^]*?)'?$/, It = /''/g, Ft = /[a-zA-Z]/;\nfunction Ht(r, e, t) {\n var n, a, i, o, s, l, u, c, v, d, f, g, b, p, W, w, m, L;\n T(2, arguments);\n var C = String(e), D = K(), S = (n = (a = t == null ? void 0 : t.locale) !== null && a !== void 0 ? a : D.locale) !== null && n !== void 0 ? n : At, R = A((i = (o = (s = (l = t == null ? void 0 : t.firstWeekContainsDate) !== null && l !== void 0 ? l : t == null || (u = t.locale) === null || u === void 0 || (c = u.options) === null || c === void 0 ? void 0 : c.firstWeekContainsDate) !== null && s !== void 0 ? s : D.firstWeekContainsDate) !== null && o !== void 0 ? o : (v = D.locale) === null || v === void 0 || (d = v.options) === null || d === void 0 ? void 0 : d.firstWeekContainsDate) !== null && i !== void 0 ? i : 1);\n if (!(R >= 1 && R <= 7))\n throw new RangeError(\"firstWeekContainsDate must be between 1 and 7 inclusively\");\n var Y = A((f = (g = (b = (p = t == null ? void 0 : t.weekStartsOn) !== null && p !== void 0 ? p : t == null || (W = t.locale) === null || W === void 0 || (w = W.options) === null || w === void 0 ? void 0 : w.weekStartsOn) !== null && b !== void 0 ? b : D.weekStartsOn) !== null && g !== void 0 ? g : (m = D.locale) === null || m === void 0 || (L = m.options) === null || L === void 0 ? void 0 : L.weekStartsOn) !== null && f !== void 0 ? f : 0);\n if (!(Y >= 0 && Y <= 6))\n throw new RangeError(\"weekStartsOn must be between 0 and 6 inclusively\");\n if (!S.localize)\n throw new RangeError(\"locale must contain localize property\");\n if (!S.formatLong)\n throw new RangeError(\"locale must contain formatLong property\");\n var _ = P(r);\n if (!xe(_))\n throw new RangeError(\"Invalid time value\");\n var G = ke(_), H = We(_, G), E = {\n firstWeekContainsDate: R,\n weekStartsOn: Y,\n locale: S,\n _originalDate: _\n }, j = C.match(Yt).map(function(y) {\n var O = y[0];\n if (O === \"p\" || O === \"P\") {\n var M = je[O];\n return M(y, S.formatLong);\n }\n return y;\n }).join(\"\").match(Lt).map(function(y) {\n if (y === \"''\")\n return \"'\";\n var O = y[0];\n if (O === \"'\")\n return $t(y);\n var M = Ve[O];\n if (M)\n return !(t != null && t.useAdditionalWeekYearTokens) && Je(y) && se(y, e, String(r)), !(t != null && t.useAdditionalDayOfYearTokens) && Qe(y) && se(y, e, String(r)), M(H, y, S.localize, E);\n if (O.match(Ft))\n throw new RangeError(\"Format string contains an unescaped latin alphabet character `\" + O + \"`\");\n return y;\n }).join(\"\");\n return j;\n}\nfunction $t(r) {\n var e = r.match(Nt);\n return e ? e[1].replace(It, \"'\") : r;\n}\nfunction nr() {\n return {\n formatDateBy: (t, n = {}) => {\n if (isNaN(t))\n return null;\n try {\n return new Date(t * 1e3).toLocaleDateString(\"en-US\", {\n year: \"numeric\",\n month: \"long\",\n day: \"numeric\",\n weekday: \"short\",\n hour: \"numeric\",\n minute: \"numeric\",\n second: \"numeric\",\n hour12: !1,\n ...n\n });\n } catch {\n return null;\n }\n },\n formatUnixToDate: (t, n) => {\n if (!t)\n return \"\";\n const a = n ? \"yyyy-MM-dd HH:mm:ss\" : \"yyyy-MM-dd HH:mm:ss XX\";\n try {\n const i = new Date(t * 1e3);\n return Ht(i, a);\n } catch {\n return \"\";\n }\n }\n };\n}\nfunction ar() {\n return {\n debounce: (e, t) => {\n let n;\n return (...a) => {\n clearTimeout(n), n = window == null ? void 0 : window.setTimeout(() => {\n e(...a);\n }, t);\n };\n }\n };\n}\nfunction ir({ script: r, styles: e, onReady: t }) {\n const n = q(!0), a = q(!0), i = async () => {\n const { libName: l, url: u, type: c } = r;\n if ((c !== void 0 && [\"umd\", \"es\"].includes(c) ? c : \"umd\") === \"es\") {\n await import(\n /* @vite-ignore */\n u\n ), typeof t == \"function\" && await t();\n return;\n }\n const d = l.startsWith(\"kong-ui-\") ? l : `kong-ui-${l}`;\n return window[d] || (window[d] = await new Promise((f, g) => {\n const b = document.createElement(\"script\");\n b.async = !0, b.addEventListener(\"load\", async () => {\n typeof t == \"function\" && await t(), n.value = !1, f(window[d]);\n }), b.addEventListener(\"error\", () => {\n g(new Error(`Could not load '${d}' from ${u}`));\n }), b.src = u, document.head.appendChild(b);\n })), window[d];\n }, o = async (l, u) => {\n var c;\n for (const v of l) {\n const d = document.createElement(\"link\");\n d.type = \"text/css\", d.rel = \"stylesheet\", d.href = v;\n const f = u ? document.querySelector(u) : null, g = u ? (c = f == null ? void 0 : f.shadowRoot) == null ? void 0 : c.children[0] : null;\n if (f && g)\n try {\n g.appendChild(d);\n } catch {\n document.head.appendChild(d);\n }\n else\n document.head.appendChild(d);\n }\n };\n return {\n importPackage: async () => {\n var u, c;\n if (!r || !r.url || typeof window > \"u\" || typeof document > \"u\")\n return;\n const l = fe(() => !!(e && (e != null && e.urls) && (e != null && e.urls.length) && e.shadowRoot));\n if ((!e || !(e != null && e.urls) || !((u = e == null ? void 0 : e.urls) != null && u.length)) && (a.value = !1), e != null && e.urls && ((c = e == null ? void 0 : e.urls) != null && c.length) && !l.value && (await o(e.urls), a.value = !1), (!r.type || r.type === \"umd\") && !l.value)\n return await i();\n await i(), await ie(), n.value = !1, e != null && e.urls && l.value && (await o(e.urls, e == null ? void 0 : e.shadowRoot), await ie(), a.value = !1);\n },\n loadingPackage: ae(n),\n loadingStyles: ae(a)\n };\n}\nvar Z = /* @__PURE__ */ new WeakMap(), ce = 0;\nfunction Vt(r) {\n if (!r.length)\n return \"\";\n for (var e = \"arg\", t = 0; t < r.length; ++t) {\n var n = void 0;\n r[t] === null || typeof r[t] != \"object\" && typeof r[t] != \"function\" ? typeof r[t] == \"string\" ? n = '\"' + r[t] + '\"' : n = String(r[t]) : Z.has(r[t]) ? n = Z.get(r[t]) : (n = ce, Z.set(r[t], ce++)), e += \"@\" + n;\n }\n return e;\n}\nfunction qt(r) {\n if (typeof r == \"function\")\n try {\n r = r();\n } catch {\n r = \"\";\n }\n return Array.isArray(r) ? r = Vt(r) : r = String(r || \"\"), r;\n}\nvar ne = (\n /** @class */\n function() {\n function r(e) {\n e === void 0 && (e = 0), this.items = /* @__PURE__ */ new Map(), this.ttl = e;\n }\n return r.prototype.serializeKey = function(e) {\n return qt(e);\n }, r.prototype.get = function(e) {\n var t = this.serializeKey(e);\n return this.items.get(t);\n }, r.prototype.set = function(e, t, n) {\n var a = this.serializeKey(e), i = n || this.ttl, o = Date.now(), s = {\n data: t,\n createdAt: o,\n expiresAt: i ? o + i : 1 / 0\n };\n this.dispatchExpire(i, s, a), this.items.set(a, s);\n }, r.prototype.dispatchExpire = function(e, t, n) {\n var a = this;\n e && setTimeout(function() {\n var i = Date.now(), o = i >= t.expiresAt;\n o && a.delete(n);\n }, e);\n }, r.prototype.delete = function(e) {\n this.items.delete(e);\n }, r;\n }()\n);\nfunction Gt() {\n return typeof navigator.onLine < \"u\" ? navigator.onLine : !0;\n}\nfunction jt() {\n return typeof document < \"u\" && typeof document.visibilityState < \"u\" ? document.visibilityState !== \"hidden\" : !0;\n}\nvar Bt = function(r) {\n return fetch(r).then(function(e) {\n return e.json();\n });\n};\nconst ee = {\n isOnline: Gt,\n isDocumentVisible: jt,\n fetcher: Bt\n};\nvar k = globalThis && globalThis.__assign || function() {\n return k = Object.assign || function(r) {\n for (var e, t = 1, n = arguments.length; t < n; t++) {\n e = arguments[t];\n for (var a in e)\n Object.prototype.hasOwnProperty.call(e, a) && (r[a] = e[a]);\n }\n return r;\n }, k.apply(this, arguments);\n}, I = globalThis && globalThis.__awaiter || function(r, e, t, n) {\n function a(i) {\n return i instanceof t ? i : new t(function(o) {\n o(i);\n });\n }\n return new (t || (t = Promise))(function(i, o) {\n function s(c) {\n try {\n u(n.next(c));\n } catch (v) {\n o(v);\n }\n }\n function l(c) {\n try {\n u(n.throw(c));\n } catch (v) {\n o(v);\n }\n }\n function u(c) {\n c.done ? i(c.value) : a(c.value).then(s, l);\n }\n u((n = n.apply(r, e || [])).next());\n });\n}, F = globalThis && globalThis.__generator || function(r, e) {\n var t = { label: 0, sent: function() {\n if (i[0] & 1)\n throw i[1];\n return i[1];\n }, trys: [], ops: [] }, n, a, i, o;\n return o = { next: s(0), throw: s(1), return: s(2) }, typeof Symbol == \"function\" && (o[Symbol.iterator] = function() {\n return this;\n }), o;\n function s(u) {\n return function(c) {\n return l([u, c]);\n };\n }\n function l(u) {\n if (n)\n throw new TypeError(\"Generator is already executing.\");\n for (; t; )\n try {\n if (n = 1, a && (i = u[0] & 2 ? a.return : u[0] ? a.throw || ((i = a.return) && i.call(a), 0) : a.next) && !(i = i.call(a, u[1])).done)\n return i;\n switch (a = 0, i && (u = [u[0] & 2, i.value]), u[0]) {\n case 0:\n case 1:\n i = u;\n break;\n case 4:\n return t.label++, { value: u[1], done: !1 };\n case 5:\n t.label++, a = u[1], u = [0];\n continue;\n case 7:\n u = t.ops.pop(), t.trys.pop();\n continue;\n default:\n if (i = t.trys, !(i = i.length > 0 && i[i.length - 1]) && (u[0] === 6 || u[0] === 2)) {\n t = 0;\n continue;\n }\n if (u[0] === 3 && (!i || u[1] > i[0] && u[1] < i[3])) {\n t.label = u[1];\n break;\n }\n if (u[0] === 6 && t.label < i[1]) {\n t.label = i[1], i = u;\n break;\n }\n if (i && t.label < i[2]) {\n t.label = i[2], t.ops.push(u);\n break;\n }\n i[2] && t.ops.pop(), t.trys.pop();\n continue;\n }\n u = e.call(r, t);\n } catch (c) {\n u = [6, c], a = 0;\n } finally {\n n = i = 0;\n }\n if (u[0] & 5)\n throw u[1];\n return { value: u[0] ? u[1] : void 0, done: !0 };\n }\n}, Xt = globalThis && globalThis.__read || function(r, e) {\n var t = typeof Symbol == \"function\" && r[Symbol.iterator];\n if (!t)\n return r;\n var n = t.call(r), a, i = [], o;\n try {\n for (; (e === void 0 || e-- > 0) && !(a = n.next()).done; )\n i.push(a.value);\n } catch (s) {\n o = { error: s };\n } finally {\n try {\n a && !a.done && (t = n.return) && t.call(n);\n } finally {\n if (o)\n throw o.error;\n }\n }\n return i;\n}, Qt = globalThis && globalThis.__spreadArray || function(r, e, t) {\n if (t || arguments.length === 2)\n for (var n = 0, a = e.length, i; n < a; n++)\n (i || !(n in e)) && (i || (i = Array.prototype.slice.call(e, 0, n)), i[n] = e[n]);\n return r.concat(i || Array.prototype.slice.call(e));\n}, ge = new ne(), J = new ne(), te = new ne(), we = {\n cache: ge,\n refreshInterval: 0,\n ttl: 0,\n serverTTL: 1e3,\n dedupingInterval: 2e3,\n revalidateOnFocus: !0,\n revalidateDebounce: 0,\n shouldRetryOnError: !0,\n errorRetryInterval: 5e3,\n errorRetryCount: 5,\n fetcher: ee.fetcher,\n isOnline: ee.isOnline,\n isDocumentVisible: ee.isDocumentVisible\n};\nfunction Jt(r, e, t) {\n var n = J.get(r);\n if (n)\n n.data.push(e);\n else {\n var a = 5e3;\n J.set(r, [e], t > 0 ? t + a : t);\n }\n}\nfunction Kt(r, e, t) {\n if (t.isDocumentVisible() && !(t.errorRetryCount !== void 0 && e > t.errorRetryCount)) {\n var n = Math.min(e || 0, t.errorRetryCount), a = n * t.errorRetryInterval;\n setTimeout(function() {\n r(null, { errorRetryCount: n + 1, shouldRetryOnError: !0 });\n }, a);\n }\n}\nvar de = function(r, e, t, n) {\n return t === void 0 && (t = ge), n === void 0 && (n = we.ttl), I(void 0, void 0, void 0, function() {\n var a, i, o, s, l, u, c;\n return F(this, function(v) {\n switch (v.label) {\n case 0:\n if (!Zt(e))\n return [3, 5];\n v.label = 1;\n case 1:\n return v.trys.push([1, 3, , 4]), [4, e];\n case 2:\n return a = v.sent(), [3, 4];\n case 3:\n return s = v.sent(), i = s, [3, 4];\n case 4:\n return [3, 6];\n case 5:\n a = e, v.label = 6;\n case 6:\n if (o = !1, l = { data: a, error: i, isValidating: o }, typeof a < \"u\")\n try {\n t.set(r, l, n);\n } catch (d) {\n console.error(\"swrv(mutate): failed to set cache\", d);\n }\n return u = J.get(r), u && u.data.length && (c = u.data.filter(function(d) {\n return d.key === r;\n }), c.forEach(function(d, f) {\n typeof l.data < \"u\" && (d.data = l.data), d.error = l.error, d.isValidating = l.isValidating;\n var g = f === c.length - 1;\n g || delete c[f];\n }), c = c.filter(Boolean)), [2, l];\n }\n });\n });\n};\nfunction zt() {\n for (var r = this, e = [], t = 0; t < arguments.length; t++)\n e[t] = arguments[t];\n var n, a, i = k({}, we), o = !1, s = !1, l = ye(), u = (l == null ? void 0 : l.proxy) || l;\n if (!u)\n return console.error(\"Could not get current instance, check to make sure that `useSwrv` is declared in the top level of the setup function.\"), null;\n var c = (u == null ? void 0 : u.$isServer) || !1;\n e.length >= 1 && (n = e[0]), e.length >= 2 && (a = e[1]), e.length > 2 && (i = k(k({}, i), e[2]));\n var v = c ? i.serverTTL : i.ttl, d = typeof n == \"function\" ? n : q(n);\n typeof a > \"u\" && (a = i.fetcher);\n var f = null;\n f || (f = Te({\n data: void 0,\n error: void 0,\n isValidating: !0,\n key: null\n }));\n var g = function(w, m) {\n return I(r, void 0, void 0, function() {\n var L, C, D, S, R, Y, _, G = this;\n return F(this, function(H) {\n switch (H.label) {\n case 0:\n return L = f.data === void 0, C = d.value, C ? (D = i.cache.get(C), S = D && D.data, f.isValidating = !0, S && (f.data = S.data, f.error = S.error), R = w || a, !R || !i.isDocumentVisible() && !L || (m == null ? void 0 : m.forceRevalidate) !== void 0 && !(m != null && m.forceRevalidate) ? (f.isValidating = !1, [\n 2\n /*return*/\n ]) : D && (Y = !!(Date.now() - D.createdAt >= i.dedupingInterval || m != null && m.forceRevalidate), !Y) ? (f.isValidating = !1, [\n 2\n /*return*/\n ]) : (_ = function() {\n return I(G, void 0, void 0, function() {\n var E, j, y, O;\n return F(this, function(M) {\n switch (M.label) {\n case 0:\n return E = te.get(C), E ? [3, 2] : (j = Array.isArray(C) ? C : [C], y = R.apply(void 0, Qt([], Xt(j), !1)), te.set(C, y, i.dedupingInterval), [4, de(C, y, i.cache, v)]);\n case 1:\n return M.sent(), [3, 4];\n case 2:\n return [4, de(C, E.data, i.cache, v)];\n case 3:\n M.sent(), M.label = 4;\n case 4:\n return f.isValidating = !1, te.delete(C), f.error !== void 0 && (O = !o && i.shouldRetryOnError && (m ? m.shouldRetryOnError : !0), O && Kt(g, m ? m.errorRetryCount : 1, i)), [\n 2\n /*return*/\n ];\n }\n });\n });\n }, S && i.revalidateDebounce ? (setTimeout(function() {\n return I(G, void 0, void 0, function() {\n return F(this, function(E) {\n switch (E.label) {\n case 0:\n return o ? [3, 2] : [4, _()];\n case 1:\n E.sent(), E.label = 2;\n case 2:\n return [\n 2\n /*return*/\n ];\n }\n });\n });\n }, i.revalidateDebounce), [3, 3]) : [3, 1])) : [\n 2\n /*return*/\n ];\n case 1:\n return [4, _()];\n case 2:\n H.sent(), H.label = 3;\n case 3:\n return [\n 2\n /*return*/\n ];\n }\n });\n });\n }, b = function() {\n return I(r, void 0, void 0, function() {\n return F(this, function(w) {\n return [2, g(null, { shouldRetryOnError: !1 })];\n });\n });\n }, p = null;\n pe(function() {\n var w = function() {\n return I(r, void 0, void 0, function() {\n return F(this, function(m) {\n switch (m.label) {\n case 0:\n return !f.error && i.isOnline() ? [4, g()] : [3, 2];\n case 1:\n return m.sent(), [3, 3];\n case 2:\n p && clearTimeout(p), m.label = 3;\n case 3:\n return i.refreshInterval && !o && (p = setTimeout(w, i.refreshInterval)), [\n 2\n /*return*/\n ];\n }\n });\n });\n };\n i.refreshInterval && (p = setTimeout(w, i.refreshInterval)), i.revalidateOnFocus && (document.addEventListener(\"visibilitychange\", b, !1), window.addEventListener(\"focus\", b, !1));\n }), Ce(function() {\n o = !0, p && clearTimeout(p), i.revalidateOnFocus && (document.removeEventListener(\"visibilitychange\", b, !1), window.removeEventListener(\"focus\", b, !1));\n var w = J.get(d.value);\n w && (w.data = w.data.filter(function(m) {\n return m !== f;\n }));\n });\n try {\n De(d, function(w) {\n Se(d) || (d.value = w), f.key = w, f.isValidating = !!w, Jt(d.value, f, v), !c && !s && d.value && g(), s = !1;\n }, {\n immediate: !0\n });\n } catch {\n }\n var W = k(k({}, Oe(f)), { mutate: function(w, m) {\n return g(w, k(k({}, m), { forceRevalidate: !0 }));\n } });\n return W;\n}\nfunction Zt(r) {\n return r !== null && typeof r == \"object\" && typeof r.then == \"function\";\n}\nfunction or(r, e, t) {\n const { data: n, error: a, isValidating: i, mutate: o } = zt(r, e, {\n revalidateDebounce: 500,\n revalidateOnFocus: !1,\n dedupingInterval: 100,\n ...t\n });\n return {\n data: fe(() => {\n var l;\n return (l = n.value) == null ? void 0 : l.data;\n }),\n response: n,\n error: a,\n isValidating: i,\n revalidate: o\n };\n}\nvar be = /* @__PURE__ */ ((r) => (r.VALIDATING = \"VALIDATING\", r.VALIDATING_HAS_DATA = \"VALIDATING_HAS_DATA\", r.PENDING = \"PENDING\", r.SUCCESS = \"SUCCESS\", r.SUCCESS_HAS_DATA = \"SUCCESS_HAS_DATA\", r.ERROR = \"ERROR\", r.STALE_IF_ERROR = \"STALE_IF_ERROR\", r))(be || {});\nconst er = (r) => {\n var e, t, n, a, i;\n return r ? !!// TODO: revisit: currently only the first check ever matters?\n ((e = Object.keys(r)) != null && e.length || (t = r.data) != null && t.length || (a = (n = r.data) == null ? void 0 : n.data) != null && a.length || !((i = r.data) != null && i.data) && typeof r.data == \"object\" && Object.keys(r == null ? void 0 : r.data).length) : !1;\n};\nfunction ur(r = q({}), e, t, n = er) {\n const a = q(\n \"PENDING\"\n /* PENDING */\n );\n return Pe(() => {\n const i = n(r.value);\n if (r.value && i && t.value) {\n a.value = \"VALIDATING_HAS_DATA\";\n return;\n }\n if (r.value && t.value) {\n a.value = \"VALIDATING\";\n return;\n }\n if (r.value && e.value) {\n a.value = \"STALE_IF_ERROR\";\n return;\n }\n if (r.value === void 0 && !e.value) {\n a.value = \"PENDING\";\n return;\n }\n if (r.value && !e.value && i) {\n a.value = \"SUCCESS_HAS_DATA\";\n return;\n }\n if (r.value && !e.value) {\n a.value = \"SUCCESS\";\n return;\n }\n r.value === void 0 && e && (a.value = \"ERROR\");\n }), {\n state: a,\n swrvState: be\n };\n}\nconst re = \"khcp-user-table-preferences\", tr = {\n pageSize: 30,\n sortColumnKey: void 0,\n sortColumnOrder: void 0\n};\nfunction lr() {\n const r = (i) => {\n if (typeof i == \"string\")\n try {\n return JSON.parse(i);\n } catch (o) {\n console.error(\"useTablePreferences(tryParseJson)\", o);\n return;\n }\n }, e = () => {\n const i = r(localStorage.getItem(re));\n return !i || !Object.keys(i).length ? /* @__PURE__ */ new Map() : new Map(Object.entries(i));\n };\n return {\n setTablePreferences: (i, o) => {\n try {\n const s = e();\n s.set(i, o), localStorage.setItem(re, JSON.stringify(Object.fromEntries(s.entries())));\n } catch (s) {\n console.error(\"useTablePreferences(setTablePreferences)\", s);\n }\n },\n getTablePreferences: (i) => {\n const o = e();\n return (o == null ? void 0 : o.get(i)) || void 0 || tr;\n },\n deleteAllTablePreferences: () => {\n localStorage.removeItem(re);\n }\n };\n}\nfunction sr() {\n const r = () => {\n var l;\n return ((l = window == null ? void 0 : window.location) == null ? void 0 : l.search) || \"\";\n };\n return {\n getLocationSearch: r,\n getLocationHostname: () => {\n var l;\n return ((l = window == null ? void 0 : window.location) == null ? void 0 : l.hostname) || \"\";\n },\n getLocationHref: () => {\n var l;\n return ((l = window == null ? void 0 : window.location) == null ? void 0 : l.href) || \"\";\n },\n getLocationPathname: () => {\n var l;\n return ((l = window == null ? void 0 : window.location) == null ? void 0 : l.pathname) || \"\";\n },\n getLocationOrigin: () => {\n var l;\n return ((l = window == null ? void 0 : window.location) == null ? void 0 : l.origin) || \"\";\n },\n getUrlSearchParams: () => new URLSearchParams(r()),\n setLocationAssign: (l) => {\n window.location.assign(l);\n },\n setLocationReplace: (l) => {\n window.location.replace(l);\n }\n };\n}\nexport {\n tr as DEFAULT_USER_TABLE_PREFERENCES,\n re as USER_TABLE_PREFERENCES_LOCAL_STORAGE_KEY,\n nr as useDate,\n ar as useDebounce,\n ir as usePackage,\n or as useSwrvRequest,\n ur as useSwrvState,\n lr as useTablePreferences,\n sr as useWindow\n};\n","import type { Ref } from 'vue'\nimport { computed } from 'vue'\nimport { DeltaQueryTime, UnaryQueryTime } from '@kong-ui-public/analytics-utilities'\nimport type { AnalyticsExploreV2Result, QueryTime } from '@kong-ui-public/analytics-utilities'\nimport { EXPLORE_V2_DIMENSIONS } from '../types'\nimport type { EXPLORE_V2_AGGREGATIONS, ExploreV2Query, MetricFetcherOptions } from '../types'\nimport { MAX_ANALYTICS_REQUEST_RETRIES } from '../constants'\nimport composables from '.'\nimport type { AxiosResponse } from 'axios'\nimport { useSwrvState } from '@kong-ui-public/core'\n\nexport const DEFAULT_KEY = Symbol('default')\nexport type MappedMetrics = Record<string | typeof DEFAULT_KEY, Record<string | typeof DEFAULT_KEY, number>>\n\n// This dimension is special: metric cards are never going to group on this dimension\n// except in order to determine traffic and error rate information.\nconst ERROR_RATE_DIMENSION = EXPLORE_V2_DIMENSIONS.STATUS_CODE_GROUPED\n\nexport interface ChronologicalMappedMetrics {\n current: MappedMetrics\n previous: MappedMetrics\n}\n\nexport interface FetcherResult {\n isLoading: Ref<boolean>\n hasError: Ref<boolean>\n raw: Ref<AxiosResponse<AnalyticsExploreV2Result, any> | undefined>\n mapped: Ref<ChronologicalMappedMetrics>\n}\n\nconst setMetric = (result: ChronologicalMappedMetrics, time: 'previous' | 'current', topLevelKey: string | typeof DEFAULT_KEY, secondLevelKey: string | typeof DEFAULT_KEY, metricValue: number) => {\n if (!result[time][topLevelKey]) {\n result[time][topLevelKey] = {} as Record<string | typeof DEFAULT_KEY, number>\n }\n result[time][topLevelKey][secondLevelKey] = metricValue\n}\n\nexport function buildDeltaMapping(result: AnalyticsExploreV2Result, queryTime: QueryTime, withTrend: boolean): ChronologicalMappedMetrics {\n // We should always have metric names in the result; if they're not present, just pick something that won't crash.\n const metricName = result.meta.metricNames?.[0] || ''\n\n // We only ever have 2 dimensions in the response if the second dimension is STATUS_CODE_GROUPED.\n // TIME doesn't show up in the response.\n // Assert that this is the case; raise a reportable error if not.\n const dimensionNames = Object.keys(result.meta.dimensions || {})\n const hasErrorRateDimension = !!dimensionNames.find(k => k === ERROR_RATE_DIMENSION)\n const keyDimension = dimensionNames.find(k => k !== ERROR_RATE_DIMENSION)\n\n if (dimensionNames.length > 2 || (dimensionNames.length > 1 && !hasErrorRateDimension)) {\n console.error(\"Don't know how to work with provided dimensions:\", dimensionNames)\n return {\n previous: { [DEFAULT_KEY]: { [DEFAULT_KEY]: 0 } },\n current: { [DEFAULT_KEY]: { [DEFAULT_KEY]: 0 } },\n }\n }\n\n // Go through each record and add it to the correct group.\n // Explore always returns results sorted in ascending order by time.\n return result.records.reduce<ChronologicalMappedMetrics>((result, record) => {\n const metricValue = record.event[metricName] as number\n\n // If we have dimensions, then index the results based on the dimension name.\n // If we don't have dimensions, insert a synthetic key (DEFAULT_KEY).\n const topLevelKey = keyDimension ? record.event[keyDimension] as string : DEFAULT_KEY\n\n // If we have the error rate key, then index the 2nd level results based on that.\n // Otherwise, insert a synthetic key (DEFAULT_KEY).\n const secondLevelKey = hasErrorRateDimension ? record.event[ERROR_RATE_DIMENSION] as string : DEFAULT_KEY\n\n // The records are in ascending order, so the first record is the earliest.\n // If the timestamp of the current record is the same as the query start date, it belongs to\n // the previous group, otherwise it belongs to the current group.\n if (new Date(record.timestamp).getTime() === queryTime.startDate().getTime() && withTrend) {\n setMetric(result, 'previous', topLevelKey, secondLevelKey, metricValue)\n } else {\n setMetric(result, 'current', topLevelKey, secondLevelKey, metricValue)\n }\n\n return result\n }, {\n previous: {},\n current: {},\n } as ChronologicalMappedMetrics)\n}\n\nexport default function useMetricFetcher(opts: MetricFetcherOptions): FetcherResult {\n if (opts.queryReady === undefined) {\n opts.queryReady = computed(() => true)\n }\n\n const queryTime: Ref<QueryTime> = computed(() => {\n return opts.withTrend ? new DeltaQueryTime(opts.timeframe.value) : new UnaryQueryTime(opts.timeframe.value)\n })\n\n const query: Ref<ExploreV2Query> = computed(() => ({\n metrics: opts.metrics as EXPLORE_V2_AGGREGATIONS[],\n dimensions: [\n ...(opts.dimensions?.length ? [...opts.dimensions as EXPLORE_V2_DIMENSIONS[]] : []),\n ...(opts.withTrend ? [EXPLORE_V2_DIMENSIONS.TIME] : []),\n ],\n granularityMs: queryTime.value.granularityMs(),\n ...(opts.filter.value?.length ? { filter: opts.filter.value } : {}),\n }))\n\n const timeRangeString = computed(() => `${queryTime.value.endDate().toString()}-${queryTime.value.startDate().toString()}`)\n const cacheKey: Ref<string | null> = computed(() => {\n if (!opts.queryReady?.value || (opts.featureFlags && !opts.featureFlags.every(e => e))) {\n return null\n }\n\n const additionalFilterKey = opts.filter?.value ? JSON.stringify(opts.filter.value) : ''\n // need to have some uniqueness in the cache key to avoid collisions.\n // this was happening when there are multiple providers on the same page with the same dimensions and metrics.\n // For example the singleProvider and multiProvider that appear in the test harness.\n return `metric-fetcher-${timeRangeString.value}-${opts.dimensions?.join('-')}-${opts.metrics?.join('-')}-${additionalFilterKey}`\n })\n\n const { response: raw, error: metricError, isValidating: isMetricDataValidating } = composables.useRequest<AnalyticsExploreV2Result>(\n () => cacheKey.value,\n () => opts.dataFetcher(queryTime.value, query.value),\n {\n refreshInterval: opts.refreshInterval,\n revalidateOnFocus: false,\n errorRetryCount: MAX_ANALYTICS_REQUEST_RETRIES,\n },\n )\n\n const { state: metricRequestState, swrvState: STATE } = useSwrvState(raw, metricError, isMetricDataValidating)\n\n const mapped = computed<ChronologicalMappedMetrics>(() => {\n if (!raw.value?.data?.records?.length || !raw.value?.data?.meta?.dimensions || !raw.value?.data?.meta?.metricNames?.length) {\n // Invalid or empty result.\n return { current: {}, previous: {} } as ChronologicalMappedMetrics\n }\n\n return buildDeltaMapping(raw.value.data, queryTime.value, !!opts.withTrend)\n })\n\n return {\n isLoading: computed(() => STATE.PENDING === metricRequestState.value),\n hasError: computed(() => STATE.ERROR === metricRequestState.value),\n raw,\n mapped,\n }\n}\n","import type { MetricCardDef, MetricCardType } from '@kong-ui-public/metric-cards'\nimport type { Ref } from 'vue'\nimport { computed } from 'vue'\nimport type { ChronologicalMappedMetrics } from './useMetricFetcher'\nimport { DEFAULT_KEY } from './useMetricFetcher'\n\nexport interface BuilderOptions {\n cardType: MetricCardType,\n title: Ref<string>,\n description?: string,\n record: Ref<ChronologicalMappedMetrics>,\n hasError: Ref<boolean>,\n lookupKey?: string,\n sumGroupedValues?: string[],\n increaseIsBad?: boolean,\n formatValueFn?: (rawValue: number) => string,\n trendRange?: Ref<string>,\n}\n\nexport const sumValues = (recordValue: ChronologicalMappedMetrics, period: 'current' | 'previous', dimensionLookupKey: string | typeof DEFAULT_KEY = DEFAULT_KEY, sumGroupedValues?: string[]) => {\n const groupedValueKey: string[] | (typeof DEFAULT_KEY)[] = sumGroupedValues ?? [DEFAULT_KEY]\n\n // @ts-ignore: TS can't seem to handle the fact that `groupedValueKey` has a union type.\n return groupedValueKey.reduce((acc: number, lookup: string | typeof DEFAULT_KEY) => {\n const groupValue = recordValue[period][dimensionLookupKey]\n if (groupValue) {\n return acc + (groupValue[lookup] || 0)\n }\n\n return acc\n }, 0)\n}\n\nexport default function useMetricCardBuilder(opts: BuilderOptions): Ref<MetricCardDef> {\n const {\n cardType,\n title,\n description,\n record,\n hasError,\n increaseIsBad,\n formatValueFn,\n trendRange,\n } = opts\n\n return computed<MetricCardDef>(() => {\n let currentValue = 0\n let previousValue = 0\n\n if (record?.value) {\n try {\n currentValue = sumValues(record.value, 'current', opts.lookupKey, opts.sumGroupedValues)\n previousValue = sumValues(record.value, 'previous', opts.lookupKey, opts.sumGroupedValues)\n } catch (e) {\n // Values default to 0 if this happens.\n console.error(\n \"Metric card data doesn't have the expected structure:\",\n e,\n )\n }\n }\n\n return {\n cardType,\n hasError: hasError.value,\n currentValue,\n previousValue,\n title: title.value,\n description,\n increaseIsBad: !!increaseIsBad, // Coerce undefined to false\n formatValueFn,\n trendRange: trendRange?.value,\n }\n })\n}\n","// From https://github.com/vercel/swr/blob/master/src/libs/hash.ts\n// use WeakMap to store the object->key mapping\n// so the objects can be garbage collected.\n// WeakMap uses a hashtable under the hood, so the lookup\n// complexity is almost O(1).\nvar table = new WeakMap();\n// counter of the key\nvar counter = 0;\n// hashes an array of objects and returns a string\nexport default function hash(args) {\n if (!args.length)\n return '';\n var key = 'arg';\n for (var i = 0; i < args.length; ++i) {\n var _hash = void 0;\n if (args[i] === null ||\n (typeof args[i] !== 'object' && typeof args[i] !== 'function')) {\n // need to consider the case that args[i] is a string:\n // args[i] _hash\n // \"undefined\" -> '\"undefined\"'\n // undefined -> 'undefined'\n // 123 -> '123'\n // null -> 'null'\n // \"null\" -> '\"null\"'\n if (typeof args[i] === 'string') {\n _hash = '\"' + args[i] + '\"';\n }\n else {\n _hash = String(args[i]);\n }\n }\n else {\n if (!table.has(args[i])) {\n _hash = counter;\n table.set(args[i], counter++);\n }\n else {\n _hash = table.get(args[i]);\n }\n }\n key += '@' + _hash;\n }\n return key;\n}\n//# sourceMappingURL=hash.js.map","import hash from '../lib/hash';\nfunction serializeKeyDefault(key) {\n if (typeof key === 'function') {\n try {\n key = key();\n }\n catch (err) {\n // dependencies not ready\n key = '';\n }\n }\n if (Array.isArray(key)) {\n key = hash(key);\n }\n else {\n // convert null to ''\n key = String(key || '');\n }\n return key;\n}\nvar SWRVCache = /** @class */ (function () {\n function SWRVCache(ttl) {\n if (ttl === void 0) { ttl = 0; }\n this.items = new Map();\n this.ttl = ttl;\n }\n SWRVCache.prototype.serializeKey = function (key) {\n return serializeKeyDefault(key);\n };\n SWRVCache.prototype.get = function (k) {\n var _key = this.serializeKey(k);\n return this.items.get(_key);\n };\n SWRVCache.prototype.set = function (k, v, ttl) {\n var _key = this.serializeKey(k);\n var timeToLive = ttl || this.ttl;\n var now = Date.now();\n var item = {\n data: v,\n createdAt: now,\n expiresAt: timeToLive ? now + timeToLive : Infinity\n };\n this.dispatchExpire(timeToLive, item, _key);\n this.items.set(_key, item);\n };\n SWRVCache.prototype.dispatchExpire = function (ttl, item, serializedKey) {\n var _this = this;\n ttl && setTimeout(function () {\n var current = Date.now();\n var hasExpired = current >= item.expiresAt;\n if (hasExpired)\n _this.delete(serializedKey);\n }, ttl);\n };\n SWRVCache.prototype.delete = function (serializedKey) {\n this.items.delete(serializedKey);\n };\n return SWRVCache;\n}());\nexport default SWRVCache;\n//# sourceMappingURL=index.js.map","function isOnline() {\n if (typeof navigator.onLine !== 'undefined') {\n return navigator.onLine;\n }\n // always assume it's online\n return true;\n}\nfunction isDocumentVisible() {\n if (typeof document !== 'undefined' &&\n typeof document.visibilityState !== 'undefined') {\n return document.visibilityState !== 'hidden';\n }\n // always assume it's visible\n return true;\n}\nvar fetcher = function (url) { return fetch(url).then(function (res) { return res.json(); }); };\nexport default {\n isOnline: isOnline,\n isDocumentVisible: isDocumentVisible,\n fetcher: fetcher\n};\n//# sourceMappingURL=web-preset.js.map","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __read = (this && this.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n};\nvar __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n};\n/** ____\n *--------------/ \\.------------------/\n * / swrv \\. / //\n * / / /\\. / //\n * / _____/ / \\. /\n * / / ____/ . \\. /\n * / \\ \\_____ \\. /\n * / . \\_____ \\ \\ / //\n * \\ _____/ / ./ / //\n * \\ / _____/ ./ /\n * \\ / / . ./ /\n * \\ / / ./ /\n * . \\/ ./ / //\n * \\ ./ / //\n * \\.. / /\n * . ||| /\n * ||| /\n * . ||| / //\n * ||| / //\n * ||| /\n */\nimport { reactive, watch, ref, toRefs, \n// isRef,\nonMounted, onUnmounted, getCurrentInstance, isReadonly } from 'vue';\nimport webPreset from './lib/web-preset';\nimport SWRVCache from './cache';\nvar DATA_CACHE = new SWRVCache();\nvar REF_CACHE = new SWRVCache();\nvar PROMISES_CACHE = new SWRVCache();\nvar defaultConfig = {\n cache: DATA_CACHE,\n refreshInterval: 0,\n ttl: 0,\n serverTTL: 1000,\n dedupingInterval: 2000,\n revalidateOnFocus: true,\n revalidateDebounce: 0,\n shouldRetryOnError: true,\n errorRetryInterval: 5000,\n errorRetryCount: 5,\n fetcher: webPreset.fetcher,\n isOnline: webPreset.isOnline,\n isDocumentVisible: webPreset.isDocumentVisible\n};\n/**\n * Cache the refs for later revalidation\n */\nfunction setRefCache(key, theRef, ttl) {\n var refCacheItem = REF_CACHE.get(key);\n if (refCacheItem) {\n refCacheItem.data.push(theRef);\n }\n else {\n // #51 ensures ref cache does not evict too soon\n var gracePeriod = 5000;\n REF_CACHE.set(key, [theRef], ttl > 0 ? ttl + gracePeriod : ttl);\n }\n}\nfunction onErrorRetry(revalidate, errorRetryCount, config) {\n if (!config.isDocumentVisible()) {\n return;\n }\n if (config.errorRetryCount !== undefined && errorRetryCount > config.errorRetryCount) {\n return;\n }\n var count = Math.min(errorRetryCount || 0, config.errorRetryCount);\n var timeout = count * config.errorRetryInterval;\n setTimeout(function () {\n revalidate(null, { errorRetryCount: count + 1, shouldRetryOnError: true });\n }, timeout);\n}\n/**\n * Main mutation function for receiving data from promises to change state and\n * set data cache\n */\nvar mutate = function (key, res, cache, ttl) {\n if (cache === void 0) { cache = DATA_CACHE; }\n if (ttl === void 0) { ttl = defaultConfig.ttl; }\n return __awaiter(void 0, void 0, void 0, function () {\n var data, error, isValidating, err_1, newData, stateRef, refs_1;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!isPromise(res)) return [3 /*break*/, 5];\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n return [4 /*yield*/, res];\n case 2:\n data = _a.sent();\n return [3 /*break*/, 4];\n case 3:\n err_1 = _a.sent();\n error = err_1;\n return [3 /*break*/, 4];\n case 4: return [3 /*break*/, 6];\n case 5:\n data = res;\n _a.label = 6;\n case 6:\n // eslint-disable-next-line prefer-const\n isValidating = false;\n newData = { data: data, error: error, isValidating: isValidating };\n if (typeof data !== 'undefined') {\n try {\n cache.set(key, newData, ttl);\n }\n catch (err) {\n console.error('swrv(mutate): failed to set cache', err);\n }\n }\n stateRef = REF_CACHE.get(key);\n if (stateRef && stateRef.data.length) {\n refs_1 = stateRef.data.filter(function (r) { return r.key === key; });\n refs_1.forEach(function (r, idx) {\n if (typeof newData.data !== 'undefined') {\n r.data = newData.data;\n }\n r.error = newData.error;\n r.isValidating = newData.isValidating;\n var isLast = idx === refs_1.length - 1;\n if (!isLast) {\n // Clean up refs that belonged to old keys\n delete refs_1[idx];\n }\n });\n refs_1 = refs_1.filter(Boolean);\n }\n return [2 /*return*/, newData];\n }\n });\n });\n};\nfunction useSWRV() {\n var _this = this;\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var key;\n var fn;\n var config = __assign({}, defaultConfig);\n var unmounted = false;\n var isHydrated = false;\n var instance = getCurrentInstance();\n var vm = (instance === null || instance === void 0 ? void 0 : instance.proxy) || instance; // https://github.com/vuejs/composition-api/pull/520\n if (!vm) {\n console.error('Could not get current instance, check to make sure that `useSwrv` is declared in the top level of the setup function.');\n return null;\n }\n var IS_SERVER = (vm === null || vm === void 0 ? void 0 : vm.$isServer) || false;\n // #region ssr\n /**\n const isSsrHydration = Boolean(\n \\!IS_SERVER &&\n vm.$vnode &&\n vm.$vnode.elm &&\n vm.$vnode.elm.dataset &&\n vm.$vnode.elm.dataset.swrvKey)\n */\n // #endregion\n if (args.length >= 1) {\n key = args[0];\n }\n if (args.length >= 2) {\n fn = args[1];\n }\n if (args.length > 2) {\n config = __assign(__assign({}, config), args[2]);\n }\n var ttl = IS_SERVER ? config.serverTTL : config.ttl;\n var keyRef = typeof key === 'function' ? key : ref(key);\n if (typeof fn === 'undefined') {\n // use the global fetcher\n fn = config.fetcher;\n }\n var stateRef = null;\n // #region ssr\n // if (isSsrHydration) {\n // // component was ssrHydrated, so make the ssr reactive as the initial data\n // const swrvState = (window as any).__SWRV_STATE__ ||\n // ((window as any).__NUXT__ && (window as any).__NUXT__.swrv) || []\n // const swrvKey = +(vm as any).$vnode.elm.dataset.swrvKey\n // if (swrvKey !== undefined && swrvKey !== null) {\n // const nodeState = swrvState[swrvKey] || []\n // const instanceState = nodeState[isRef(keyRef) ? keyRef.value : keyRef()]\n // if (instanceState) {\n // stateRef = reactive(instanceState)\n // isHydrated = true\n // }\n // }\n // }\n // #endregion\n if (!stateRef) {\n stateRef = reactive({\n data: undefined,\n error: undefined,\n isValidating: true,\n key: null\n });\n }\n /**\n * Revalidate the cache, mutate data\n */\n var revalidate = function (data, opts) { return __awaiter(_this, void 0, void 0, function () {\n var isFirstFetch, keyVal, cacheItem, newData, fetcher, shouldRevalidate, trigger;\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n isFirstFetch = stateRef.data === undefined;\n keyVal = keyRef.value;\n if (!keyVal) {\n return [2 /*return*/];\n }\n cacheItem = config.cache.get(keyVal);\n newData = cacheItem && cacheItem.data;\n stateRef.isValidating = true;\n if (newData) {\n stateRef.data = newData.data;\n stateRef.error = newData.error;\n }\n fetcher = data || fn;\n if (!fetcher ||\n (!config.isDocumentVisible() && !isFirstFetch) ||\n ((opts === null || opts === void 0 ? void 0 : opts.forceRevalidate) !== undefined && !(opts === null || opts === void 0 ? void 0 : opts.forceRevalidate))) {\n stateRef.isValidating = false;\n return [2 /*return*/];\n }\n // Dedupe items that were created in the last interval #76\n if (cacheItem) {\n shouldRevalidate = Boolean(((Date.now() - cacheItem.createdAt) >= config.dedupingInterval) || (opts === null || opts === void 0 ? void 0 : opts.forceRevalidate));\n if (!shouldRevalidate) {\n stateRef.isValidating = false;\n return [2 /*return*/];\n }\n }\n trigger = function () { return __awaiter(_this, void 0, void 0, function () {\n var promiseFromCache, fetcherArgs, newPromise, shouldRetryOnError;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n promiseFromCache = PROMISES_CACHE.get(keyVal);\n if (!!promiseFromCache) return [3 /*break*/, 2];\n fetcherArgs = Array.isArray(keyVal) ? keyVal : [keyVal];\n newPromise = fetcher.apply(void 0, __spreadArray([], __read(fetcherArgs), false));\n PROMISES_CACHE.set(keyVal, newPromise, config.dedupingInterval);\n return [4 /*yield*/, mutate(keyVal, newPromise, config.cache, ttl)];\n case 1:\n _a.sent();\n return [3 /*break*/, 4];\n case 2: return [4 /*yield*/, mutate(keyVal, promiseFromCache.data, config.cache, ttl)];\n case 3:\n _a.sent();\n _a.label = 4;\n case 4:\n stateRef.isValidating = false;\n PROMISES_CACHE.delete(keyVal);\n if (stateRef.error !== undefined) {\n shouldRetryOnError = !unmounted && config.shouldRetryOnError && (opts ? opts.shouldRetryOnError : true);\n if (shouldRetryOnError) {\n onErrorRetry(revalidate, opts ? opts.errorRetryCount : 1, config);\n }\n }\n return [2 /*return*/];\n }\n });\n }); };\n if (!(newData && config.revalidateDebounce)) return [3 /*break*/, 1];\n setTimeout(function () { return __awaiter(_this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!!unmounted) return [3 /*break*/, 2];\n return [4 /*yield*/, trigger()];\n case 1:\n _a.sent();\n _a.label = 2;\n case 2: return [2 /*return*/];\n }\n });\n }); }, config.revalidateDebounce);\n return [3 /*break*/, 3];\n case 1: return [4 /*yield*/, trigger()];\n case 2:\n _a.sent();\n _a.label = 3;\n case 3: return [2 /*return*/];\n }\n });\n }); };\n var revalidateCall = function () { return __awaiter(_this, void 0, void 0, function () { return __generator(this, function (_a) {\n return [2 /*return*/, revalidate(null, { shouldRetryOnError: false })];\n }); }); };\n var timer = null;\n /**\n * Setup polling\n */\n onMounted(function () {\n var tick = function () { return __awaiter(_this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!(!stateRef.error && config.isOnline())) return [3 /*break*/, 2];\n // if API request errored, we stop polling in this round\n // and let the error retry function handle it\n return [4 /*yield*/, revalidate()];\n case 1:\n // if API request errored, we stop polling in this round\n // and let the error retry function handle it\n _a.sent();\n return [3 /*break*/, 3];\n case 2:\n if (timer) {\n clearTimeout(timer);\n }\n _a.label = 3;\n case 3:\n if (config.refreshInterval && !unmounted) {\n timer = setTimeout(tick, config.refreshInterval);\n }\n return [2 /*return*/];\n }\n });\n }); };\n if (config.refreshInterval) {\n timer = setTimeout(tick, config.refreshInterval);\n }\n if (config.revalidateOnFocus) {\n document.addEventListener('visibilitychange', revalidateCall, false);\n window.addEventListener('focus', revalidateCall, false);\n }\n });\n /**\n * Teardown\n */\n onUnmounted(function () {\n unmounted = true;\n if (timer) {\n clearTimeout(timer);\n }\n if (config.revalidateOnFocus) {\n document.removeEventListener('visibilitychange', revalidateCall, false);\n window.removeEventListener('focus', revalidateCall, false);\n }\n var refCacheItem = REF_CACHE.get(keyRef.value);\n if (refCacheItem) {\n refCacheItem.data = refCacheItem.data.filter(function (ref) { return ref !== stateRef; });\n }\n });\n // #region ssr\n // if (IS_SERVER) {\n // // make sure srwv exists in ssrContext\n // let swrvRes = []\n // if (vm.$ssrContext) {\n // swrvRes = vm.$ssrContext.swrv = vm.$ssrContext.swrv || swrvRes\n // }\n // const ssrKey = swrvRes.length\n // if (!vm.$vnode || (vm.$node && !vm.$node.data)) {\n // vm.$vnode = {\n // data: { attrs: { 'data-swrv-key': ssrKey } }\n // }\n // }\n // const attrs = (vm.$vnode.data.attrs = vm.$vnode.data.attrs || {})\n // attrs['data-swrv-key'] = ssrKey\n // // Nuxt compatibility\n // if (vm.$ssrContext && vm.$ssrContext.nuxt) {\n // vm.$ssrContext.nuxt.swrv = swrvRes\n // }\n // onServerPrefetch(async () => {\n // await revalidate()\n // if (!swrvRes[ssrKey]) swrvRes[ssrKey] = {}\n // swrvRes[ssrKey][keyRef.value] = {\n // data: stateRef.data,\n // error: stateRef.error,\n // isValidating: stateRef.isValidating\n // }\n // })\n // }\n // #endregion\n /**\n * Revalidate when key dependencies change\n */\n try {\n watch(keyRef, function (val) {\n if (!isReadonly(keyRef)) {\n keyRef.value = val;\n }\n stateRef.key = val;\n stateRef.isValidating = Boolean(val);\n setRefCache(keyRef.value, stateRef, ttl);\n if (!IS_SERVER && !isHydrated && keyRef.value) {\n revalidate();\n }\n isHydrated = false;\n }, {\n immediate: true\n });\n }\n catch (_a) {\n // do nothing\n }\n var res = __assign(__assign({}, toRefs(stateRef)), { mutate: function (data, opts) { return revalidate(data, __assign(__assign({}, opts), { forceRevalidate: true })); } });\n return res;\n}\nfunction isPromise(p) {\n return p !== null && typeof p === 'object' && typeof p.then === 'function';\n}\nexport { mutate };\nexport default useSWRV;\n//# sourceMappingURL=use-swrv.js.map","import type { IConfig } from 'swrv'\nimport useSWRV from 'swrv'\nimport type { AxiosResponse, AxiosError } from 'axios'\nimport type { IKey, fetcherFn } from 'swrv/dist/types'\nimport { computed } from 'vue'\n\nexport default function useRequest<Data = unknown, Error = { message: string }>(\n key: IKey,\n fn?: fetcherFn<AxiosResponse<Data>>,\n config?: IConfig,\n) {\n const {\n data: response,\n error,\n isValidating,\n mutate: revalidate,\n } = useSWRV<AxiosResponse<Data>, AxiosError<Error>>(key, fn, {\n revalidateDebounce: 500,\n revalidateOnFocus: false,\n dedupingInterval: 100,\n ...config,\n })\n\n const data = computed<Data | undefined>(() => {\n return response.value?.data\n })\n\n return {\n data,\n response,\n error,\n isValidating,\n revalidate,\n }\n}\n","import useI18n from './useI18n'\nimport useMetricCardBuilder from './useMetricCardBuilder'\nimport useMetricFetcher from './useMetricFetcher'\nimport useRequest from './useRequest'\n\n// All composables must be exported as part of the default object for Cypress test stubs\nexport default {\n useI18n,\n useMetricCardBuilder,\n useMetricFetcher,\n useRequest,\n}\n","import type { Timeframe } from '@kong-ui-public/analytics-utilities'\nimport composables from '../composables'\nimport { EXPLORE_V2_AGGREGATIONS, EXPLORE_V2_DIMENSIONS, EXPLORE_V2_FILTER_TYPES } from '../types'\nimport type { DataFetcher, ExploreV2Filter, MetricFetcherOptions } from '../types'\nimport { computed } from 'vue'\nimport type { InjectionKey, Ref } from 'vue'\n\ninterface ProviderData {\n data: {\n [key: string]: any // TODO\n },\n description?: string,\n hasTrendAccess: boolean,\n longCardTitles: boolean,\n trendRange: Ref<string>,\n}\n\nexport const METRICS_PROVIDER_KEY = Symbol('METRICS_PROVIDER_KEY') as InjectionKey<ProviderData>\n\ninterface FetcherOptions {\n dimension?: EXPLORE_V2_DIMENSIONS\n dimensionFilterValue?: string\n additionalFilter: Ref<ExploreV2Filter[] | undefined>\n queryReady: Ref<boolean>\n timeframe: Ref<Timeframe>\n hasTrendAccess: boolean\n refreshInterval: number\n dataFetcher: DataFetcher\n}\n\nexport const defaultFetcherDefs = (opts: FetcherOptions) => {\n const {\n dimension,\n dimensionFilterValue,\n additionalFilter,\n queryReady,\n timeframe,\n hasTrendAccess,\n refreshInterval,\n dataFetcher,\n } = opts\n\n if (dimensionFilterValue && !dimension) {\n throw new Error('Must provide a dimension if filtering by a value')\n }\n\n const singleEntityQuery = !!(dimension && dimensionFilterValue)\n const multiEntityQuery = !!(dimension && !dimensionFilterValue)\n\n const filter = computed<ExploreV2Filter[]>(() => {\n const retval: ExploreV2Filter[] = []\n\n if (singleEntityQuery) {\n retval.push({\n dimension,\n type: EXPLORE_V2_FILTER_TYPES.IN,\n values: [dimensionFilterValue],\n })\n }\n\n if (additionalFilter.value) {\n retval.push(...additionalFilter.value)\n }\n\n return retval\n })\n\n const trafficMetricFetcherOptions: MetricFetcherOptions = {\n metrics: [\n EXPLORE_V2_AGGREGATIONS.REQUEST_COUNT,\n ],\n\n // Traffic and error rate cards should only try to query for the dimension if it's going to be used.\n // It isn't used for single entity queries.\n dimensions: [\n ...((dimension && !singleEntityQuery) ? [dimension] : []),\n EXPLORE_V2_DIMENSIONS.STATUS_CODE_GROUPED,\n ],\n\n filter,\n queryReady,\n timeframe,\n\n // Traffic and error rate cards can't query trend if multiple entities are expected.\n withTrend: hasTrendAccess && !multiEntityQuery,\n\n refreshInterval,\n dataFetcher,\n }\n\n const latencyMetricFetcherOptions: MetricFetcherOptions = {\n metrics: [\n EXPLORE_V2_AGGREGATIONS.RESPONSE_LATENCY_P99,\n ],\n\n // To keep single-entity queries consistent, don't bother querying the dimension for latency\n // in the single-entity case, even though it's possible.\n ...((dimension && !singleEntityQuery) ? { dimensions: [dimension] } : {}),\n\n filter,\n queryReady,\n timeframe,\n\n // Don't query latency trends in the multi-entity case: it's possible, but wasteful.\n withTrend: hasTrendAccess && !multiEntityQuery,\n\n refreshInterval,\n dataFetcher,\n }\n\n const trafficData = composables.useMetricFetcher(trafficMetricFetcherOptions)\n const latencyData = composables.useMetricFetcher(latencyMetricFetcherOptions)\n\n return {\n trafficData,\n latencyData,\n }\n}\n","<template>\n <slot\n :has-trend-access=\"props.hasTrendAccess\"\n :timeframe=\"timeframe\"\n />\n</template>\n<script setup lang=\"ts\">\nimport type { Ref } from 'vue'\nimport { computed, provide, toRef } from 'vue'\nimport type { Timeframe } from '@kong-ui-public/analytics-utilities'\nimport { TimePeriods, TimeframeKeys } from '@kong-ui-public/analytics-utilities'\nimport { METRICS_PROVIDER_KEY, defaultFetcherDefs } from './metricsProviderUtil'\nimport { EXPLORE_V2_DIMENSIONS } from '../types'\nimport type { DataFetcher, ExploreV2Filter } from '../types'\nimport composables from '../composables'\n\nconst { i18n } = composables.useI18n()\n\nconst props = withDefaults(defineProps<{\n maxTimeframe?: TimeframeKeys,\n overrideTimeframe?: Timeframe,\n dimension?: `${EXPLORE_V2_DIMENSIONS}`,\n filterValue?: string,\n additionalFilter?: ExploreV2Filter[],\n queryReady?: boolean,\n dataFetcher: DataFetcher,\n hasTrendAccess: boolean,\n refreshInterval: number,\n longCardTitles?: boolean,\n description?: string,\n}>(), {\n maxTimeframe: TimeframeKeys.THIRTY_DAY,\n overrideTimeframe: undefined,\n dimension: undefined,\n filterValue: undefined,\n additionalFilter: undefined,\n queryReady: true,\n longCardTitles: false,\n description: undefined,\n})\n\n// Fail early if there's a programming error.\nif (props.dimension && !{}.hasOwnProperty.call(EXPLORE_V2_DIMENSIONS, props.dimension)) {\n throw new Error(`Attempted to use MetricsProvider with an invalid dimension: ${props.dimension}`)\n}\n\n// Note: the component implicitly assumes the values it feeds to the composables aren't going to change.\n// If they do need to change, then the `useMetricCardGoldenSignals` composable, and dependencies,\n// needs to be reactive as well. Ideally, this would be the case; we don't have any guarantee that the\n// tier data has finished loading by the time the component mounts, for example.\n\nconst timeframe = computed(() => {\n if (props.overrideTimeframe) {\n // Trust that the host component calculated the timeframe for us.\n return props.overrideTimeframe\n }\n\n const retval = props.hasTrendAccess\n ? TimePeriods.get(props.maxTimeframe)\n : TimePeriods.get(TimeframeKeys.ONE_DAY)\n\n if (!retval) {\n throw new Error('Metrics provider failed to resolve fallback timeframe.')\n }\n\n return retval\n})\n\n// If one of our relative timeframes, we display the requested time frame (if user has trend access); otherwise fall back to one day\n// Else, we have a Custom start and end datetime coming from v-calendar, so we display \"vs previous X days\"\nconst trendRangeText = computed(() => {\n if (timeframe.value.key === 'custom') {\n return i18n.t('trendRange.custom', { numDays: Math.ceil(timeframe.value.timeframeLength() / (1000 * 60 * 24)) })\n } else {\n return props.hasTrendAccess\n // @ts-ignore - dynamic i18n key\n ? i18n.t(`trendRange.${timeframe.value.key}`)\n // @ts-ignore - dynamic i18n key\n : i18n.t(`trendRange.${TimePeriods.get(TimeframeKeys.ONE_DAY)?.key}`)\n }\n})\n\nconst {\n trafficData,\n latencyData,\n} = defaultFetcherDefs({\n dimension: props.dimension as (EXPLORE_V2_DIMENSIONS | undefined),\n dimensionFilterValue: props.filterValue,\n additionalFilter: toRef(props, 'additionalFilter'),\n queryReady: toRef(props, 'queryReady'),\n timeframe,\n hasTrendAccess: props.hasTrendAccess,\n refreshInterval: props.refreshInterval,\n dataFetcher: props.dataFetcher,\n})\n\nprovide(METRICS_PROVIDER_KEY, {\n data: {\n traffic: trafficData,\n latency: latencyData,\n },\n description: props.description,\n hasTrendAccess: props.hasTrendAccess,\n longCardTitles: props.longCardTitles,\n trendRange: trendRangeText as Ref<string>,\n})\n\n</script>\n","import { defineComponent as S, computed as c, openBlock as n, createBlock as v, resolveDynamicComponent as b, normalizeStyle as x, withCtx as w, createElementBlock as l, toDisplayString as C, createCommentVNode as y, pushScopeId as z, popScopeId as k, createElementVNode as f, resolveComponent as U, normalizeClass as M, unref as p, createVNode as E, Fragment as O, renderList as G, mergeProps as j } from \"vue\";\nfunction W(e) {\n return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, \"default\") ? e.default : e;\n}\nvar A = { exports: {} };\n(function(e) {\n (function() {\n function t(o, s) {\n if (s.separator === !1 || o < 1e3)\n return o.toString();\n var u = typeof s.separator == \"string\" ? s.separator : \",\", m = [], q = Math.round(o).toString().split(\"\");\n return q.reverse().forEach(function(P, R) {\n R && R % 3 === 0 && m.push(u), m.push(P);\n }), m.reverse().join(\"\");\n }\n function r(o, s, u) {\n var m = o / s, q = u.round ? \"round\" : \"floor\";\n return u.decimal === !1 ? (o = Math[q](m), o.toString()) : (u.precision ? o = m : o = m < 10 ? Math[q](m * 10) / 10 : Math[q](m), o = o.toString(), typeof u.decimal == \"string\" && (o = o.replace(\".\", u.decimal)), o);\n }\n var d = 1e3, a = 1e4, i = 1e6, h = 1e9, _ = 1e12;\n function H(o, s) {\n var u;\n s = s || {};\n var m = o < 0;\n m && (o = Math.abs(o)), s.precision && (o = parseFloat(o.toPrecision(s.precision)));\n var q = s.min10k ? a : d;\n return o < q || s.precision && s.precision > Math.log10(o) ? u = t(r(o, 1, s), s) : o < i ? u = r(o, d, s) + \"k\" : o < h ? u = r(o, i, s) + \"m\" : o < _ ? u = t(r(o, h, s), s) + \"b\" : u = t(r(o, _, s), s) + \"t\", m && (u = \"-\" + u), s.capital && (u = u.toUpperCase()), s.prefix && (u = s.prefix + u), s.suffix && (u = u + s.suffix), u;\n }\n H.addCommas = t, e.exports = H;\n })();\n})(A);\nvar X = A.exports;\nconst Y = /* @__PURE__ */ W(X);\nvar N = /* @__PURE__ */ ((e) => (e.Small = \"sm\", e.Medium = \"md\", e.Large = \"lg\", e.LargeCompact = \"lgc\", e.ExtraLarge = \"xl\", e))(N || {});\nconst g = \"24px\", I = (e, t) => {\n const r = e.__vccOpts || e;\n for (const [d, a] of t)\n r[d] = a;\n return r;\n}, J = (e) => (z(\"data-v-0bbe8ddf\"), e = e(), k(), e), Q = [\"aria-hidden\"], ee = {\n key: 0,\n \"data-testid\": \"kui-icon-svg-title\"\n}, te = /* @__PURE__ */ J(() => /* @__PURE__ */ f(\"path\", {\n d: \"M6.5 20C4.98333 20 3.6875 19.475 2.6125 18.425C1.5375 17.375 1 16.0917 1 14.575C1 13.275 1.39167 12.1167 2.175 11.1C2.95833 10.0833 3.98333 9.43333 5.25 9.15C5.66667 7.61667 6.5 6.375 7.75 5.425C9 4.475 10.4167 4 12 4C13.95 4 15.6042 4.67917 16.9625 6.0375C18.3208 7.39583 19 9.05 19 11C20.15 11.1333 21.1042 11.6292 21.8625 12.4875C22.6208 13.3458 23 14.35 23 15.5C23 16.75 22.5625 17.8125 21.6875 18.6875C20.8125 19.5625 19.75 20 18.5 20H13C12.45 20 11.9792 19.8042 11.5875 19.4125C11.1958 19.0208 11 18.55 11 18V12.85L9.4 14.4L8 13L12 9L16 13L14.6 14.4L13 12.85V18H18.5C19.2 18 19.7917 17.7583 20.275 17.275C20.7583 16.7917 21 16.2 21 15.5C21 14.8 20.7583 14.2083 20.275 13.725C19.7917 13.2417 19.2 13 18.5 13H17V11C17 9.61667 16.5125 8.4375 15.5375 7.4625C14.5625 6.4875 13.3833 6 12 6C10.6167 6 9.4375 6.4875 8.4625 7.4625C7.4875 8.4375 7 9.61667 7 11H6.5C5.53333 11 4.70833 11.3417 4.025 12.025C3.34167 12.7083 3 13.5333 3 14.5C3 15.4667 3.34167 16.2917 4.025 16.975C4.70833 17.6583 5.53333 18 6.5 18H9V20H6.5Z\",\n fill: \"currentColor\"\n}, null, -1)), re = /* @__PURE__ */ S({\n __name: \"CloudUploadIcon\",\n props: {\n /** The accessibility text provided to screen readers */\n title: {\n type: String,\n required: !1,\n default: \"\"\n },\n /** The icon color. Defaults to `currentColor` which inherits text color from the parent element */\n color: {\n type: String,\n required: !1,\n default: \"currentColor\"\n },\n /** The CSS display property for the icon. Defaults to `block` */\n display: {\n type: String,\n required: !1,\n default: \"block\"\n },\n /** Whether the icon is just eye-candy or is meaningful to the page (should screen-readers ignore the icon?) */\n decorative: {\n type: Boolean,\n required: !1,\n default: !1\n },\n /** The icon size */\n size: {\n type: [Number, String],\n required: !1,\n default: g,\n // if setting to the imported const fails, just pass a number of 24 as the default.\n validator: (e) => {\n if (typeof e == \"number\" && e > 0)\n return !0;\n if (typeof e == \"string\") {\n const t = String(e).replace(/px/gi, \"\"), r = Number(t);\n if (r && !isNaN(r) && Number.isInteger(r) && r > 0)\n return !0;\n }\n return !1;\n }\n },\n /** The HTML tag to utilize for the icon's wrapper element. Defaults to `span` */\n as: {\n type: String,\n required: !1,\n default: \"span\"\n }\n },\n setup(e) {\n const t = e, r = c(() => {\n if (typeof t.size == \"number\" && t.size > 0)\n return `${t.size}px`;\n if (typeof t.size == \"string\") {\n const a = String(t.size).replace(/px/gi, \"\"), i = Number(a);\n if (i && !isNaN(i) && Number.isInteger(i) && i > 0)\n return `${i}px`;\n }\n return g;\n }), d = c(() => ({\n boxSizing: \"border-box\",\n color: t.color,\n display: t.display,\n height: r.value,\n lineHeight: \"0\",\n width: r.value\n }));\n return (a, i) => (n(), v(b(e.as), {\n \"aria-hidden\": e.decorative ? \"true\" : void 0,\n class: \"kui-icon cloud-upload-icon\",\n \"data-testid\": \"kui-icon-wrapper-cloud-upload-icon\",\n style: x(d.value)\n }, {\n default: w(() => [\n (n(), l(\"svg\", {\n \"aria-hidden\": e.decorative ? \"true\" : void 0,\n \"data-testid\": \"kui-icon-svg-cloud-upload-icon\",\n fill: \"none\",\n height: \"100%\",\n role: \"img\",\n viewBox: \"0 0 24 24\",\n width: \"100%\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, [\n e.title ? (n(), l(\"title\", ee, C(e.title), 1)) : y(\"\", !0),\n te\n ], 8, Q))\n ]),\n _: 1\n }, 8, [\"aria-hidden\", \"style\"]));\n }\n}), ie = /* @__PURE__ */ I(re, [[\"__scopeId\", \"data-v-0bbe8ddf\"]]), ae = (e) => (z(\"data-v-7467b31c\"), e = e(), k(), e), ne = [\"aria-hidden\"], oe = {\n key: 0,\n \"data-testid\": \"kui-icon-svg-title\"\n}, de = /* @__PURE__ */ ae(() => /* @__PURE__ */ f(\"path\", {\n d: \"M4 17V14H20V17H4ZM4 10V7H20V10H4Z\",\n fill: \"currentColor\"\n}, null, -1)), se = /* @__PURE__ */ S({\n __name: \"EqualIcon\",\n props: {\n /** The accessibility text provided to screen readers */\n title: {\n type: String,\n required: !1,\n default: \"\"\n },\n /** The icon color. Defaults to `currentColor` which inherits text color from the parent element */\n color: {\n type: String,\n required: !1,\n default: \"currentColor\"\n },\n /** The CSS display property for the icon. Defaults to `block` */\n display: {\n type: String,\n required: !1,\n default: \"block\"\n },\n /** Whether the icon is just eye-candy or is meaningful to the page (should screen-readers ignore the icon?) */\n decorative: {\n type: Boolean,\n required: !1,\n default: !1\n },\n /** The icon size */\n size: {\n type: [Number, String],\n required: !1,\n default: g,\n // if setting to the imported const fails, just pass a number of 24 as the default.\n validator: (e) => {\n if (typeof e == \"number\" && e > 0)\n return !0;\n if (typeof e == \"string\") {\n const t = String(e).replace(/px/gi, \"\"), r = Number(t);\n if (r && !isNaN(r) && Number.isInteger(r) && r > 0)\n return !0;\n }\n return !1;\n }\n },\n /** The HTML tag to utilize for the icon's wrapper element. Defaults to `span` */\n as: {\n type: String,\n required: !1,\n default: \"span\"\n }\n },\n setup(e) {\n const t = e, r = c(() => {\n if (typeof t.size == \"number\" && t.size > 0)\n return `${t.size}px`;\n if (typeof t.size == \"string\") {\n const a = String(t.size).replace(/px/gi, \"\"), i = Number(a);\n if (i && !isNaN(i) && Number.isInteger(i) && i > 0)\n return `${i}px`;\n }\n return g;\n }), d = c(() => ({\n boxSizing: \"border-box\",\n color: t.color,\n display: t.display,\n height: r.value,\n lineHeight: \"0\",\n width: r.value\n }));\n return (a, i) => (n(), v(b(e.as), {\n \"aria-hidden\": e.decorative ? \"true\" : void 0,\n class: \"kui-icon equal-icon\",\n \"data-testid\": \"kui-icon-wrapper-equal-icon\",\n style: x(d.value)\n }, {\n default: w(() => [\n (n(), l(\"svg\", {\n \"aria-hidden\": e.decorative ? \"true\" : void 0,\n \"data-testid\": \"kui-icon-svg-equal-icon\",\n fill: \"none\",\n height: \"100%\",\n role: \"img\",\n viewBox: \"0 0 24 24\",\n width: \"100%\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, [\n e.title ? (n(), l(\"title\", oe, C(e.title), 1)) : y(\"\", !0),\n de\n ], 8, ne))\n ]),\n _: 1\n }, 8, [\"aria-hidden\", \"style\"]));\n }\n}), le = /* @__PURE__ */ I(se, [[\"__scopeId\", \"data-v-7467b31c\"]]), ue = (e) => (z(\"data-v-335390bf\"), e = e(), k(), e), ce = [\"aria-hidden\"], pe = {\n key: 0,\n \"data-testid\": \"kui-icon-svg-title\"\n}, ge = /* @__PURE__ */ ue(() => /* @__PURE__ */ f(\"path\", {\n d: \"M5 11V9H15V11H5Z\",\n fill: \"currentColor\"\n}, null, -1)), fe = /* @__PURE__ */ S({\n __name: \"IndeterminateSmallIcon\",\n props: {\n /** The accessibility text provided to screen readers */\n title: {\n type: String,\n required: !1,\n default: \"\"\n },\n /** The icon color. Defaults to `currentColor` which inherits text color from the parent element */\n color: {\n type: String,\n required: !1,\n default: \"currentColor\"\n },\n /** The CSS display property for the icon. Defaults to `block` */\n display: {\n type: String,\n required: !1,\n default: \"block\"\n },\n /** Whether the icon is just eye-candy or is meaningful to the page (should screen-readers ignore the icon?) */\n decorative: {\n type: Boolean,\n required: !1,\n default: !1\n },\n /** The icon size */\n size: {\n type: [Number, String],\n required: !1,\n default: g,\n // if setting to the imported const fails, just pass a number of 24 as the default.\n validator: (e) => {\n if (typeof e == \"number\" && e > 0)\n return !0;\n if (typeof e == \"string\") {\n const t = String(e).replace(/px/gi, \"\"), r = Number(t);\n if (r && !isNaN(r) && Number.isInteger(r) && r > 0)\n return !0;\n }\n return !1;\n }\n },\n /** The HTML tag to utilize for the icon's wrapper element. Defaults to `span` */\n as: {\n type: String,\n required: !1,\n default: \"span\"\n }\n },\n setup(e) {\n const t = e, r = c(() => {\n if (typeof t.size == \"number\" && t.size > 0)\n return `${t.size}px`;\n if (typeof t.size == \"string\") {\n const a = String(t.size).replace(/px/gi, \"\"), i = Number(a);\n if (i && !isNaN(i) && Number.isInteger(i) && i > 0)\n return `${i}px`;\n }\n return g;\n }), d = c(() => ({\n boxSizing: \"border-box\",\n color: t.color,\n display: t.display,\n height: r.value,\n lineHeight: \"0\",\n width: r.value\n }));\n return (a, i) => (n(), v(b(e.as), {\n \"aria-hidden\": e.decorative ? \"true\" : void 0,\n class: \"kui-icon indeterminate-small-icon\",\n \"data-testid\": \"kui-icon-wrapper-indeterminate-small-icon\",\n style: x(d.value)\n }, {\n default: w(() => [\n (n(), l(\"svg\", {\n \"aria-hidden\": e.decorative ? \"true\" : void 0,\n \"data-testid\": \"kui-icon-svg-indeterminate-small-icon\",\n fill: \"none\",\n height: \"100%\",\n role: \"img\",\n viewBox: \"0 0 24 24\",\n width: \"100%\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, [\n e.title ? (n(), l(\"title\", pe, C(e.title), 1)) : y(\"\", !0),\n ge\n ], 8, ce))\n ]),\n _: 1\n }, 8, [\"aria-hidden\", \"style\"]));\n }\n}), F = /* @__PURE__ */ I(fe, [[\"__scopeId\", \"data-v-335390bf\"]]), Ce = (e) => (z(\"data-v-47aab2c7\"), e = e(), k(), e), ye = [\"aria-hidden\"], ve = {\n key: 0,\n \"data-testid\": \"kui-icon-svg-title\"\n}, he = /* @__PURE__ */ Ce(() => /* @__PURE__ */ f(\"path\", {\n d: \"M11 17H13V11H11V17ZM12 9C12.2833 9 12.5208 8.90417 12.7125 8.7125C12.9042 8.52083 13 8.28333 13 8C13 7.71667 12.9042 7.47917 12.7125 7.2875C12.5208 7.09583 12.2833 7 12 7C11.7167 7 11.4792 7.09583 11.2875 7.2875C11.0958 7.47917 11 7.71667 11 8C11 8.28333 11.0958 8.52083 11.2875 8.7125C11.4792 8.90417 11.7167 9 12 9ZM12 22C10.6167 22 9.31667 21.7375 8.1 21.2125C6.88333 20.6875 5.825 19.975 4.925 19.075C4.025 18.175 3.3125 17.1167 2.7875 15.9C2.2625 14.6833 2 13.3833 2 12C2 10.6167 2.2625 9.31667 2.7875 8.1C3.3125 6.88333 4.025 5.825 4.925 4.925C5.825 4.025 6.88333 3.3125 8.1 2.7875C9.31667 2.2625 10.6167 2 12 2C13.3833 2 14.6833 2.2625 15.9 2.7875C17.1167 3.3125 18.175 4.025 19.075 4.925C19.975 5.825 20.6875 6.88333 21.2125 8.1C21.7375 9.31667 22 10.6167 22 12C22 13.3833 21.7375 14.6833 21.2125 15.9C20.6875 17.1167 19.975 18.175 19.075 19.075C18.175 19.975 17.1167 20.6875 15.9 21.2125C14.6833 21.7375 13.3833 22 12 22Z\",\n fill: \"currentColor\"\n}, null, -1)), me = /* @__PURE__ */ S({\n __name: \"InfoIcon\",\n props: {\n /** The accessibility text provided to screen readers */\n title: {\n type: String,\n required: !1,\n default: \"\"\n },\n /** The icon color. Defaults to `currentColor` which inherits text color from the parent element */\n color: {\n type: String,\n required: !1,\n default: \"currentColor\"\n },\n /** The CSS display property for the icon. Defaults to `block` */\n display: {\n type: String,\n required: !1,\n default: \"block\"\n },\n /** Whether the icon is just eye-candy or is meaningful to the page (should screen-readers ignore the icon?) */\n decorative: {\n type: Boolean,\n required: !1,\n default: !1\n },\n /** The icon size */\n size: {\n type: [Number, String],\n required: !1,\n default: g,\n // if setting to the imported const fails, just pass a number of 24 as the default.\n validator: (e) => {\n if (typeof e == \"number\" && e > 0)\n return !0;\n if (typeof e == \"string\") {\n const t = String(e).replace(/px/gi, \"\"), r = Number(t);\n if (r && !isNaN(r) && Number.isInteger(r) && r > 0)\n return !0;\n }\n return !1;\n }\n },\n /** The HTML tag to utilize for the icon's wrapper element. Defaults to `span` */\n as: {\n type: String,\n required: !1,\n default: \"span\"\n }\n },\n setup(e) {\n const t = e, r = c(() => {\n if (typeof t.size == \"number\" && t.size > 0)\n return `${t.size}px`;\n if (typeof t.size == \"string\") {\n const a = String(t.size).replace(/px/gi, \"\"), i = Number(a);\n if (i && !isNaN(i) && Number.isInteger(i) && i > 0)\n return `${i}px`;\n }\n return g;\n }), d = c(() => ({\n boxSizing: \"border-box\",\n color: t.color,\n display: t.display,\n height: r.value,\n lineHeight: \"0\",\n width: r.value\n }));\n return (a, i) => (n(), v(b(e.as), {\n \"aria-hidden\": e.decorative ? \"true\" : void 0,\n class: \"kui-icon info-icon\",\n \"data-testid\": \"kui-icon-wrapper-info-icon\",\n style: x(d.value)\n }, {\n default: w(() => [\n (n(), l(\"svg\", {\n \"aria-hidden\": e.decorative ? \"true\" : void 0,\n \"data-testid\": \"kui-icon-svg-info-icon\",\n fill: \"none\",\n height: \"100%\",\n role: \"img\",\n viewBox: \"0 0 24 24\",\n width: \"100%\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, [\n e.title ? (n(), l(\"title\", ve, C(e.title), 1)) : y(\"\", !0),\n he\n ], 8, ye))\n ]),\n _: 1\n }, 8, [\"aria-hidden\", \"style\"]));\n }\n}), be = /* @__PURE__ */ I(me, [[\"__scopeId\", \"data-v-47aab2c7\"]]), Se = (e) => (z(\"data-v-a4faa8c2\"), e = e(), k(), e), Ne = [\"aria-hidden\"], xe = {\n key: 0,\n \"data-testid\": \"kui-icon-svg-title\"\n}, we = /* @__PURE__ */ Se(() => /* @__PURE__ */ f(\"path\", {\n d: \"M15.25 5C14.9 5 14.6042 4.87917 14.3625 4.6375C14.1208 4.39583 14 4.1 14 3.75C14 3.4 14.1208 3.10417 14.3625 2.8625C14.6042 2.62083 14.9 2.5 15.25 2.5C15.6 2.5 15.8958 2.62083 16.1375 2.8625C16.3792 3.10417 16.5 3.4 16.5 3.75C16.5 4.1 16.3792 4.39583 16.1375 4.6375C15.8958 4.87917 15.6 5 15.25 5ZM15.25 21.5C14.9 21.5 14.6042 21.3792 14.3625 21.1375C14.1208 20.8958 14 20.6 14 20.25C14 19.9 14.1208 19.6042 14.3625 19.3625C14.6042 19.1208 14.9 19 15.25 19C15.6 19 15.8958 19.1208 16.1375 19.3625C16.3792 19.6042 16.5 19.9 16.5 20.25C16.5 20.6 16.3792 20.8958 16.1375 21.1375C15.8958 21.3792 15.6 21.5 15.25 21.5ZM19.25 8.5C18.9 8.5 18.6042 8.37917 18.3625 8.1375C18.1208 7.89583 18 7.6 18 7.25C18 6.9 18.1208 6.60417 18.3625 6.3625C18.6042 6.12083 18.9 6 19.25 6C19.6 6 19.8958 6.12083 20.1375 6.3625C20.3792 6.60417 20.5 6.9 20.5 7.25C20.5 7.6 20.3792 7.89583 20.1375 8.1375C19.8958 8.37917 19.6 8.5 19.25 8.5ZM19.25 18C18.9 18 18.6042 17.8792 18.3625 17.6375C18.1208 17.3958 18 17.1 18 16.75C18 16.4 18.1208 16.1042 18.3625 15.8625C18.6042 15.6208 18.9 15.5 19.25 15.5C19.6 15.5 19.8958 15.6208 20.1375 15.8625C20.3792 16.1042 20.5 16.4 20.5 16.75C20.5 17.1 20.3792 17.3958 20.1375 17.6375C19.8958 17.8792 19.6 18 19.25 18ZM20.75 13.25C20.4 13.25 20.1042 13.1292 19.8625 12.8875C19.6208 12.6458 19.5 12.35 19.5 12C19.5 11.65 19.6208 11.3542 19.8625 11.1125C20.1042 10.8708 20.4 10.75 20.75 10.75C21.1 10.75 21.3958 10.8708 21.6375 11.1125C21.8792 11.3542 22 11.65 22 12C22 12.35 21.8792 12.6458 21.6375 12.8875C21.3958 13.1292 21.1 13.25 20.75 13.25ZM12 22C10.6167 22 9.31667 21.7375 8.1 21.2125C6.88333 20.6875 5.825 19.975 4.925 19.075C4.025 18.175 3.3125 17.1167 2.7875 15.9C2.2625 14.6833 2 13.3833 2 12C2 10.6167 2.2625 9.31667 2.7875 8.1C3.3125 6.88333 4.025 5.825 4.925 4.925C5.825 4.025 6.88333 3.3125 8.1 2.7875C9.31667 2.2625 10.6167 2 12 2V4C9.76667 4 7.875 4.775 6.325 6.325C4.775 7.875 4 9.76667 4 12C4 14.2333 4.775 16.125 6.325 17.675C7.875 19.225 9.76667 20 12 20V22ZM12 14C11.45 14 10.9792 13.8042 10.5875 13.4125C10.1958 13.0208 10 12.55 10 12C10 11.9167 10.0042 11.8292 10.0125 11.7375C10.0208 11.6458 10.0417 11.5583 10.075 11.475L8 9.4L9.4 8L11.475 10.075C11.5417 10.0583 11.7167 10.0333 12 10C12.55 10 13.0208 10.1958 13.4125 10.5875C13.8042 10.9792 14 11.45 14 12C14 12.55 13.8042 13.0208 13.4125 13.4125C13.0208 13.8042 12.55 14 12 14Z\",\n fill: \"currentColor\"\n}, null, -1)), ze = /* @__PURE__ */ S({\n __name: \"ResponseIcon\",\n props: {\n /** The accessibility text provided to screen readers */\n title: {\n type: String,\n required: !1,\n default: \"\"\n },\n /** The icon color. Defaults to `currentColor` which inherits text color from the parent element */\n color: {\n type: String,\n required: !1,\n default: \"currentColor\"\n },\n /** The CSS display property for the icon. Defaults to `block` */\n display: {\n type: String,\n required: !1,\n default: \"block\"\n },\n /** Whether the icon is just eye-candy or is meaningful to the page (should screen-readers ignore the icon?) */\n decorative: {\n type: Boolean,\n required: !1,\n default: !1\n },\n /** The icon size */\n size: {\n type: [Number, String],\n required: !1,\n default: g,\n // if setting to the imported const fails, just pass a number of 24 as the default.\n validator: (e) => {\n if (typeof e == \"number\" && e > 0)\n return !0;\n if (typeof e == \"string\") {\n const t = String(e).replace(/px/gi, \"\"), r = Number(t);\n if (r && !isNaN(r) && Number.isInteger(r) && r > 0)\n return !0;\n }\n return !1;\n }\n },\n /** The HTML tag to utilize for the icon's wrapper element. Defaults to `span` */\n as: {\n type: String,\n required: !1,\n default: \"span\"\n }\n },\n setup(e) {\n const t = e, r = c(() => {\n if (typeof t.size == \"number\" && t.size > 0)\n return `${t.size}px`;\n if (typeof t.size == \"string\") {\n const a = String(t.size).replace(/px/gi, \"\"), i = Number(a);\n if (i && !isNaN(i) && Number.isInteger(i) && i > 0)\n return `${i}px`;\n }\n return g;\n }), d = c(() => ({\n boxSizing: \"border-box\",\n color: t.color,\n display: t.display,\n height: r.value,\n lineHeight: \"0\",\n width: r.value\n }));\n return (a, i) => (n(), v(b(e.as), {\n \"aria-hidden\": e.decorative ? \"true\" : void 0,\n class: \"kui-icon response-icon\",\n \"data-testid\": \"kui-icon-wrapper-response-icon\",\n style: x(d.value)\n }, {\n default: w(() => [\n (n(), l(\"svg\", {\n \"aria-hidden\": e.decorative ? \"true\" : void 0,\n \"data-testid\": \"kui-icon-svg-response-icon\",\n fill: \"none\",\n height: \"100%\",\n role: \"img\",\n viewBox: \"0 0 24 24\",\n width: \"100%\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, [\n e.title ? (n(), l(\"title\", xe, C(e.title), 1)) : y(\"\", !0),\n we\n ], 8, Ne))\n ]),\n _: 1\n }, 8, [\"aria-hidden\", \"style\"]));\n }\n}), ke = /* @__PURE__ */ I(ze, [[\"__scopeId\", \"data-v-a4faa8c2\"]]), Ie = (e) => (z(\"data-v-4bb36c1a\"), e = e(), k(), e), _e = [\"aria-hidden\"], qe = {\n key: 0,\n \"data-testid\": \"kui-icon-svg-title\"\n}, Le = /* @__PURE__ */ Ie(() => /* @__PURE__ */ f(\"path\", {\n d: \"M16 18V16H18.6L13.4 10.85L9.4 14.85L2 7.4L3.4 6L9.4 12L13.4 8L20 14.6V12H22V18H16Z\",\n fill: \"currentColor\"\n}, null, -1)), Me = /* @__PURE__ */ S({\n __name: \"TrendDownIcon\",\n props: {\n /** The accessibility text provided to screen readers */\n title: {\n type: String,\n required: !1,\n default: \"\"\n },\n /** The icon color. Defaults to `currentColor` which inherits text color from the parent element */\n color: {\n type: String,\n required: !1,\n default: \"currentColor\"\n },\n /** The CSS display property for the icon. Defaults to `block` */\n display: {\n type: String,\n required: !1,\n default: \"block\"\n },\n /** Whether the icon is just eye-candy or is meaningful to the page (should screen-readers ignore the icon?) */\n decorative: {\n type: Boolean,\n required: !1,\n default: !1\n },\n /** The icon size */\n size: {\n type: [Number, String],\n required: !1,\n default: g,\n // if setting to the imported const fails, just pass a number of 24 as the default.\n validator: (e) => {\n if (typeof e == \"number\" && e > 0)\n return !0;\n if (typeof e == \"string\") {\n const t = String(e).replace(/px/gi, \"\"), r = Number(t);\n if (r && !isNaN(r) && Number.isInteger(r) && r > 0)\n return !0;\n }\n return !1;\n }\n },\n /** The HTML tag to utilize for the icon's wrapper element. Defaults to `span` */\n as: {\n type: String,\n required: !1,\n default: \"span\"\n }\n },\n setup(e) {\n const t = e, r = c(() => {\n if (typeof t.size == \"number\" && t.size > 0)\n return `${t.size}px`;\n if (typeof t.size == \"string\") {\n const a = String(t.size).replace(/px/gi, \"\"), i = Number(a);\n if (i && !isNaN(i) && Number.isInteger(i) && i > 0)\n return `${i}px`;\n }\n return g;\n }), d = c(() => ({\n boxSizing: \"border-box\",\n color: t.color,\n display: t.display,\n height: r.value,\n lineHeight: \"0\",\n width: r.value\n }));\n return (a, i) => (n(), v(b(e.as), {\n \"aria-hidden\": e.decorative ? \"true\" : void 0,\n class: \"kui-icon trend-down-icon\",\n \"data-testid\": \"kui-icon-wrapper-trend-down-icon\",\n style: x(d.value)\n }, {\n default: w(() => [\n (n(), l(\"svg\", {\n \"aria-hidden\": e.decorative ? \"true\" : void 0,\n \"data-testid\": \"kui-icon-svg-trend-down-icon\",\n fill: \"none\",\n height: \"100%\",\n role: \"img\",\n viewBox: \"0 0 24 24\",\n width: \"100%\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, [\n e.title ? (n(), l(\"title\", qe, C(e.title), 1)) : y(\"\", !0),\n Le\n ], 8, _e))\n ]),\n _: 1\n }, 8, [\"aria-hidden\", \"style\"]));\n }\n}), Ee = /* @__PURE__ */ I(Me, [[\"__scopeId\", \"data-v-4bb36c1a\"]]), He = (e) => (z(\"data-v-efa77d39\"), e = e(), k(), e), Ve = [\"aria-hidden\"], Te = {\n key: 0,\n \"data-testid\": \"kui-icon-svg-title\"\n}, Be = /* @__PURE__ */ He(() => /* @__PURE__ */ f(\"path\", {\n d: \"M3.4 18L2 16.6L9.4 9.15L13.4 13.15L18.6 8H16V6H22V12H20V9.4L13.4 16L9.4 12L3.4 18Z\",\n fill: \"currentColor\"\n}, null, -1)), Re = /* @__PURE__ */ S({\n __name: \"TrendUpIcon\",\n props: {\n /** The accessibility text provided to screen readers */\n title: {\n type: String,\n required: !1,\n default: \"\"\n },\n /** The icon color. Defaults to `currentColor` which inherits text color from the parent element */\n color: {\n type: String,\n required: !1,\n default: \"currentColor\"\n },\n /** The CSS display property for the icon. Defaults to `block` */\n display: {\n type: String,\n required: !1,\n default: \"block\"\n },\n /** Whether the icon is just eye-candy or is meaningful to the page (should screen-readers ignore the icon?) */\n decorative: {\n type: Boolean,\n required: !1,\n default: !1\n },\n /** The icon size */\n size: {\n type: [Number, String],\n required: !1,\n default: g,\n // if setting to the imported const fails, just pass a number of 24 as the default.\n validator: (e) => {\n if (typeof e == \"number\" && e > 0)\n return !0;\n if (typeof e == \"string\") {\n const t = String(e).replace(/px/gi, \"\"), r = Number(t);\n if (r && !isNaN(r) && Number.isInteger(r) && r > 0)\n return !0;\n }\n return !1;\n }\n },\n /** The HTML tag to utilize for the icon's wrapper element. Defaults to `span` */\n as: {\n type: String,\n required: !1,\n default: \"span\"\n }\n },\n setup(e) {\n const t = e, r = c(() => {\n if (typeof t.size == \"number\" && t.size > 0)\n return `${t.size}px`;\n if (typeof t.size == \"string\") {\n const a = String(t.size).replace(/px/gi, \"\"), i = Number(a);\n if (i && !isNaN(i) && Number.isInteger(i) && i > 0)\n return `${i}px`;\n }\n return g;\n }), d = c(() => ({\n boxSizing: \"border-box\",\n color: t.color,\n display: t.display,\n height: r.value,\n lineHeight: \"0\",\n width: r.value\n }));\n return (a, i) => (n(), v(b(e.as), {\n \"aria-hidden\": e.decorative ? \"true\" : void 0,\n class: \"kui-icon trend-up-icon\",\n \"data-testid\": \"kui-icon-wrapper-trend-up-icon\",\n style: x(d.value)\n }, {\n default: w(() => [\n (n(), l(\"svg\", {\n \"aria-hidden\": e.decorative ? \"true\" : void 0,\n \"data-testid\": \"kui-icon-svg-trend-up-icon\",\n fill: \"none\",\n height: \"100%\",\n role: \"img\",\n viewBox: \"0 0 24 24\",\n width: \"100%\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, [\n e.title ? (n(), l(\"title\", Te, C(e.title), 1)) : y(\"\", !0),\n Be\n ], 8, Ve))\n ]),\n _: 1\n }, 8, [\"aria-hidden\", \"style\"]));\n }\n}), Oe = /* @__PURE__ */ I(Re, [[\"__scopeId\", \"data-v-efa77d39\"]]), $e = (e) => (z(\"data-v-0c67131d\"), e = e(), k(), e), Ze = [\"aria-hidden\"], Ue = {\n key: 0,\n \"data-testid\": \"kui-icon-svg-title\"\n}, Ae = /* @__PURE__ */ $e(() => /* @__PURE__ */ f(\"path\", {\n d: \"M9 20C8.68333 20 8.4 19.9083 8.15 19.725C7.9 19.5417 7.71667 19.3083 7.6 19.025L5.3 13H1V11H6.7L9 17.1L13.6 4.975C13.7167 4.69167 13.9 4.45833 14.15 4.275C14.4 4.09167 14.6833 4 15 4C15.3167 4 15.6 4.09167 15.85 4.275C16.1 4.45833 16.2833 4.69167 16.4 4.975L18.7 11H23V13H17.3L15 6.9L10.4 19.025C10.2833 19.3083 10.1 19.5417 9.85 19.725C9.6 19.9083 9.31667 20 9 20Z\",\n fill: \"currentColor\"\n}, null, -1)), Fe = /* @__PURE__ */ S({\n __name: \"VitalsIcon\",\n props: {\n /** The accessibility text provided to screen readers */\n title: {\n type: String,\n required: !1,\n default: \"\"\n },\n /** The icon color. Defaults to `currentColor` which inherits text color from the parent element */\n color: {\n type: String,\n required: !1,\n default: \"currentColor\"\n },\n /** The CSS display property for the icon. Defaults to `block` */\n display: {\n type: String,\n required: !1,\n default: \"block\"\n },\n /** Whether the icon is just eye-candy or is meaningful to the page (should screen-readers ignore the icon?) */\n decorative: {\n type: Boolean,\n required: !1,\n default: !1\n },\n /** The icon size */\n size: {\n type: [Number, String],\n required: !1,\n default: g,\n // if setting to the imported const fails, just pass a number of 24 as the default.\n validator: (e) => {\n if (typeof e == \"number\" && e > 0)\n return !0;\n if (typeof e == \"string\") {\n const t = String(e).replace(/px/gi, \"\"), r = Number(t);\n if (r && !isNaN(r) && Number.isInteger(r) && r > 0)\n return !0;\n }\n return !1;\n }\n },\n /** The HTML tag to utilize for the icon's wrapper element. Defaults to `span` */\n as: {\n type: String,\n required: !1,\n default: \"span\"\n }\n },\n setup(e) {\n const t = e, r = c(() => {\n if (typeof t.size == \"number\" && t.size > 0)\n return `${t.size}px`;\n if (typeof t.size == \"string\") {\n const a = String(t.size).replace(/px/gi, \"\"), i = Number(a);\n if (i && !isNaN(i) && Number.isInteger(i) && i > 0)\n return `${i}px`;\n }\n return g;\n }), d = c(() => ({\n boxSizing: \"border-box\",\n color: t.color,\n display: t.display,\n height: r.value,\n lineHeight: \"0\",\n width: r.value\n }));\n return (a, i) => (n(), v(b(e.as), {\n \"aria-hidden\": e.decorative ? \"true\" : void 0,\n class: \"kui-icon vitals-icon\",\n \"data-testid\": \"kui-icon-wrapper-vitals-icon\",\n style: x(d.value)\n }, {\n default: w(() => [\n (n(), l(\"svg\", {\n \"aria-hidden\": e.decorative ? \"true\" : void 0,\n \"data-testid\": \"kui-icon-svg-vitals-icon\",\n fill: \"none\",\n height: \"100%\",\n role: \"img\",\n viewBox: \"0 0 24 24\",\n width: \"100%\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, [\n e.title ? (n(), l(\"title\", Ue, C(e.title), 1)) : y(\"\", !0),\n Ae\n ], 8, Ze))\n ]),\n _: 1\n }, 8, [\"aria-hidden\", \"style\"]));\n }\n}), De = /* @__PURE__ */ I(Fe, [[\"__scopeId\", \"data-v-0c67131d\"]]), Ke = (e) => (z(\"data-v-3c032f04\"), e = e(), k(), e), Pe = [\"aria-hidden\"], Ge = {\n key: 0,\n \"data-testid\": \"kui-icon-svg-title\"\n}, je = /* @__PURE__ */ Ke(() => /* @__PURE__ */ f(\"path\", {\n d: \"M12.0001 22.025C11.7334 22.025 11.4793 21.975 11.2376 21.875C10.9959 21.775 10.7751 21.6333 10.5751 21.45L2.5501 13.425C2.36676 13.225 2.2251 13.0041 2.1251 12.7625C2.0251 12.5208 1.9751 12.2666 1.9751 12C1.9751 11.7333 2.0251 11.475 2.1251 11.225C2.2251 10.975 2.36676 10.7583 2.5501 10.575L10.5751 2.54998C10.7751 2.34998 10.9959 2.20414 11.2376 2.11248C11.4793 2.02081 11.7334 1.97498 12.0001 1.97498C12.2668 1.97498 12.5251 2.02081 12.7751 2.11248C13.0251 2.20414 13.2418 2.34998 13.4251 2.54998L21.4501 10.575C21.6501 10.7583 21.7959 10.975 21.8876 11.225C21.9793 11.475 22.0251 11.7333 22.0251 12C22.0251 12.2666 21.9793 12.5208 21.8876 12.7625C21.7959 13.0041 21.6501 13.225 21.4501 13.425L13.4251 21.45C13.2418 21.6333 13.0251 21.775 12.7751 21.875C12.5251 21.975 12.2668 22.025 12.0001 22.025ZM12.0001 20.025L20.0251 12L12.0001 3.97498L3.9751 12L12.0001 20.025ZM11.0001 13H13.0001V6.99998H11.0001V13ZM12.0001 16C12.2834 16 12.5209 15.9041 12.7126 15.7125C12.9043 15.5208 13.0001 15.2833 13.0001 15C13.0001 14.7166 12.9043 14.4791 12.7126 14.2875C12.5209 14.0958 12.2834 14 12.0001 14C11.7168 14 11.4793 14.0958 11.2876 14.2875C11.0959 14.4791 11.0001 14.7166 11.0001 15C11.0001 15.2833 11.0959 15.5208 11.2876 15.7125C11.4793 15.9041 11.7168 16 12.0001 16Z\",\n fill: \"currentColor\"\n}, null, -1)), We = /* @__PURE__ */ S({\n __name: \"WarningOutlineIcon\",\n props: {\n /** The accessibility text provided to screen readers */\n title: {\n type: String,\n required: !1,\n default: \"\"\n },\n /** The icon color. Defaults to `currentColor` which inherits text color from the parent element */\n color: {\n type: String,\n required: !1,\n default: \"currentColor\"\n },\n /** The CSS display property for the icon. Defaults to `block` */\n display: {\n type: String,\n required: !1,\n default: \"block\"\n },\n /** Whether the icon is just eye-candy or is meaningful to the page (should screen-readers ignore the icon?) */\n decorative: {\n type: Boolean,\n required: !1,\n default: !1\n },\n /** The icon size */\n size: {\n type: [Number, String],\n required: !1,\n default: g,\n // if setting to the imported const fails, just pass a number of 24 as the default.\n validator: (e) => {\n if (typeof e == \"number\" && e > 0)\n return !0;\n if (typeof e == \"string\") {\n const t = String(e).replace(/px/gi, \"\"), r = Number(t);\n if (r && !isNaN(r) && Number.isInteger(r) && r > 0)\n return !0;\n }\n return !1;\n }\n },\n /** The HTML tag to utilize for the icon's wrapper element. Defaults to `span` */\n as: {\n type: String,\n required: !1,\n default: \"span\"\n }\n },\n setup(e) {\n const t = e, r = c(() => {\n if (typeof t.size == \"number\" && t.size > 0)\n return `${t.size}px`;\n if (typeof t.size == \"string\") {\n const a = String(t.size).replace(/px/gi, \"\"), i = Number(a);\n if (i && !isNaN(i) && Number.isInteger(i) && i > 0)\n return `${i}px`;\n }\n return g;\n }), d = c(() => ({\n boxSizing: \"border-box\",\n color: t.color,\n display: t.display,\n height: r.value,\n lineHeight: \"0\",\n width: r.value\n }));\n return (a, i) => (n(), v(b(e.as), {\n \"aria-hidden\": e.decorative ? \"true\" : void 0,\n class: \"kui-icon warning-outline-icon\",\n \"data-testid\": \"kui-icon-wrapper-warning-outline-icon\",\n style: x(d.value)\n }, {\n default: w(() => [\n (n(), l(\"svg\", {\n \"aria-hidden\": e.decorative ? \"true\" : void 0,\n \"data-testid\": \"kui-icon-svg-warning-outline-icon\",\n fill: \"none\",\n height: \"100%\",\n role: \"img\",\n viewBox: \"0 0 24 24\",\n width: \"100%\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, [\n e.title ? (n(), l(\"title\", Ge, C(e.title), 1)) : y(\"\", !0),\n je\n ], 8, Pe))\n ]),\n _: 1\n }, 8, [\"aria-hidden\", \"style\"]));\n }\n}), Xe = /* @__PURE__ */ I(We, [[\"__scopeId\", \"data-v-3c032f04\"]]), Ye = (e) => (z(\"data-v-fb1f3252\"), e = e(), k(), e), Je = [\"aria-hidden\"], Qe = {\n key: 0,\n \"data-testid\": \"kui-icon-svg-title\"\n}, e1 = /* @__PURE__ */ Ye(() => /* @__PURE__ */ f(\"path\", {\n d: \"M12.025 22.05C11.7583 22.05 11.5042 22 11.2625 21.9C11.0208 21.8 10.8 21.6583 10.6 21.475L2.575 13.45C2.39167 13.25 2.25 13.0292 2.15 12.7875C2.05 12.5458 2 12.2917 2 12.025C2 11.7583 2.05 11.5 2.15 11.25C2.25 11 2.39167 10.7833 2.575 10.6L10.6 2.575C10.8 2.375 11.0208 2.22917 11.2625 2.1375C11.5042 2.04583 11.7583 2 12.025 2C12.2917 2 12.55 2.04583 12.8 2.1375C13.05 2.22917 13.2667 2.375 13.45 2.575L21.475 10.6C21.675 10.7833 21.8208 11 21.9125 11.25C22.0042 11.5 22.05 11.7583 22.05 12.025C22.05 12.2917 22.0042 12.5458 21.9125 12.7875C21.8208 13.0292 21.675 13.25 21.475 13.45L13.45 21.475C13.2667 21.6583 13.05 21.8 12.8 21.9C12.55 22 12.2917 22.05 12.025 22.05ZM11.025 13.025H13.025V7.025H11.025V13.025ZM12.025 16.025C12.3083 16.025 12.5458 15.9292 12.7375 15.7375C12.9292 15.5458 13.025 15.3083 13.025 15.025C13.025 14.7417 12.9292 14.5042 12.7375 14.3125C12.5458 14.1208 12.3083 14.025 12.025 14.025C11.7417 14.025 11.5042 14.1208 11.3125 14.3125C11.1208 14.5042 11.025 14.7417 11.025 15.025C11.025 15.3083 11.1208 15.5458 11.3125 15.7375C11.5042 15.9292 11.7417 16.025 12.025 16.025Z\",\n fill: \"currentColor\"\n}, null, -1)), t1 = /* @__PURE__ */ S({\n __name: \"WarningIcon\",\n props: {\n /** The accessibility text provided to screen readers */\n title: {\n type: String,\n required: !1,\n default: \"\"\n },\n /** The icon color. Defaults to `currentColor` which inherits text color from the parent element */\n color: {\n type: String,\n required: !1,\n default: \"currentColor\"\n },\n /** The CSS display property for the icon. Defaults to `block` */\n display: {\n type: String,\n required: !1,\n default: \"block\"\n },\n /** Whether the icon is just eye-candy or is meaningful to the page (should screen-readers ignore the icon?) */\n decorative: {\n type: Boolean,\n required: !1,\n default: !1\n },\n /** The icon size */\n size: {\n type: [Number, String],\n required: !1,\n default: g,\n // if setting to the imported const fails, just pass a number of 24 as the default.\n validator: (e) => {\n if (typeof e == \"number\" && e > 0)\n return !0;\n if (typeof e == \"string\") {\n const t = String(e).replace(/px/gi, \"\"), r = Number(t);\n if (r && !isNaN(r) && Number.isInteger(r) && r > 0)\n return !0;\n }\n return !1;\n }\n },\n /** The HTML tag to utilize for the icon's wrapper element. Defaults to `span` */\n as: {\n type: String,\n required: !1,\n default: \"span\"\n }\n },\n setup(e) {\n const t = e, r = c(() => {\n if (typeof t.size == \"number\" && t.size > 0)\n return `${t.size}px`;\n if (typeof t.size == \"string\") {\n const a = String(t.size).replace(/px/gi, \"\"), i = Number(a);\n if (i && !isNaN(i) && Number.isInteger(i) && i > 0)\n return `${i}px`;\n }\n return g;\n }), d = c(() => ({\n boxSizing: \"border-box\",\n color: t.color,\n display: t.display,\n height: r.value,\n lineHeight: \"0\",\n width: r.value\n }));\n return (a, i) => (n(), v(b(e.as), {\n \"aria-hidden\": e.decorative ? \"true\" : void 0,\n class: \"kui-icon warning-icon\",\n \"data-testid\": \"kui-icon-wrapper-warning-icon\",\n style: x(d.value)\n }, {\n default: w(() => [\n (n(), l(\"svg\", {\n \"aria-hidden\": e.decorative ? \"true\" : void 0,\n \"data-testid\": \"kui-icon-svg-warning-icon\",\n fill: \"none\",\n height: \"100%\",\n role: \"img\",\n viewBox: \"0 0 24 24\",\n width: \"100%\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, [\n e.title ? (n(), l(\"title\", Qe, C(e.title), 1)) : y(\"\", !0),\n e1\n ], 8, Je))\n ]),\n _: 1\n }, 8, [\"aria-hidden\", \"style\"]));\n }\n}), D = /* @__PURE__ */ I(t1, [[\"__scopeId\", \"data-v-fb1f3252\"]]), K = 2, $ = K + 2, r1 = (e, t, r = !1) => {\n let d = !t || Number(e.toFixed($)) === 0 ? 0 : Number(e.toFixed($)) > 0 ? 1 : -1;\n return r && (d *= -1), d;\n}, i1 = (e, t, r) => t ? `${Math.abs(e * 100).toFixed(K)}%` : r, a1 = (e, t) => t === 0 ? 0 : e / t - 1, n1 = (e, t = !1) => (t && (e *= -1), e > 0 ? Oe : e < 0 ? Ee : F), o1 = \"#ad000e\", T = \"#6c7489\", Z = \"#52596e\", d1 = \"#007d60\", V = \"16px\", s1 = \"20px\", l1 = \"14px\", u1 = \"48px\";\nvar L = /* @__PURE__ */ ((e) => (e.GENERIC_COUNT = \"GenericCount\", e.TRAFFIC = \"Traffic\", e.ERROR_RATE = \"ErrorRate\", e.LATENCY = \"Latency\", e))(L || {});\nconst c1 = { class: \"metricscard\" }, p1 = {\n key: 0,\n class: \"metricscard-description\"\n}, g1 = {\n key: 0,\n class: \"metricscard-error\"\n}, f1 = {\n key: 2,\n class: \"metricscard-trend\"\n}, C1 = { \"data-testid\": \"metric-trend-change\" }, y1 = {\n key: 0,\n class: \"metricscard-trend-range\"\n}, v1 = /* @__PURE__ */ S({\n __name: \"MetricsCard\",\n props: {\n cardType: {\n type: String,\n required: !0,\n default: L.GENERIC_COUNT\n },\n title: {\n type: String,\n default: \"0%\",\n required: !0\n },\n description: {\n type: String,\n default: \"\",\n required: !1\n },\n tooltip: {\n type: String,\n required: !1,\n default: \"\"\n },\n timeframe: {\n type: String,\n required: !1,\n default: \"\"\n },\n metricValue: {\n type: String,\n default: \"\"\n },\n metricChange: {\n type: String,\n required: !0\n },\n changePolarity: {\n type: Number,\n required: !0\n },\n trendIcon: {\n type: Object,\n default: F\n },\n trendRange: {\n type: String,\n default: \"\"\n },\n hasError: {\n type: Boolean,\n default: !1\n },\n errorMessage: {\n type: String,\n default: \"Vitals data error\"\n },\n cardSize: {\n type: String,\n required: !1,\n default: () => \"lg\"\n }\n },\n setup(e) {\n const t = /* @__PURE__ */ new Map([\n [L.GENERIC_COUNT, De],\n [L.TRAFFIC, ie],\n [L.ERROR_RATE, Xe],\n [L.LATENCY, ke]\n ]), r = e, d = (o) => {\n const s = {\n red: `var(--kong-ui-metric-card-trend-negative, ${o1})`,\n green: `var(--kong-ui-metric-card-trend-positive, ${d1})`,\n grey: `var(--kong-ui-metric-card-trend-neutral, ${Z})`\n };\n return o > 0 ? s.green : o < 0 ? s.red : s.grey;\n }, a = (o) => o > 0 ? \"positive\" : o < 0 ? \"negative\" : \"neutral\", i = [N.Medium, N.Large, N.LargeCompact].includes(r.cardSize), h = r.cardSize === N.ExtraLarge ? u1 : i ? \"22px\" : l1, _ = c(() => r.cardSize === N.LargeCompact), H = [N.Small, N.LargeCompact].includes(r.cardSize);\n return (o, s) => {\n const u = U(\"KTooltip\");\n return n(), l(\"div\", c1, [\n f(\"div\", {\n class: M([\"metricscard-title\", e.cardSize])\n }, [\n p(H) ? y(\"\", !0) : (n(), v(b(p(t).get(e.cardType)), {\n key: 0,\n class: \"metricscard-icon\",\n color: p(T),\n size: p(V)\n }, null, 8, [\"color\", \"size\"])),\n f(\"span\", null, C(e.title), 1),\n e.tooltip ? (n(), v(u, {\n key: 1,\n class: \"metricscard-tooltip\",\n label: e.tooltip,\n placement: \"right\"\n }, {\n default: w(() => [\n E(p(be), {\n color: p(T),\n size: p(V)\n }, null, 8, [\"color\", \"size\"])\n ]),\n _: 1\n }, 8, [\"label\"])) : y(\"\", !0)\n ], 2),\n e.description && p(i) && !_.value ? (n(), l(\"div\", p1, [\n f(\"span\", null, C(e.description), 1)\n ])) : y(\"\", !0),\n f(\"div\", {\n class: M([\"metricscard-valuetrend\", { \"is-compact\": _.value }])\n }, [\n e.hasError ? (n(), l(\"div\", g1, [\n E(p(D), {\n color: p(T),\n size: p(s1)\n }, null, 8, [\"color\", \"size\"]),\n f(\"div\", null, \" \" + C(e.errorMessage), 1)\n ])) : (n(), l(\"div\", {\n key: 1,\n class: M([\"metricscard-value\", e.cardSize]),\n \"data-testid\": \"metric-value\",\n style: x(`font-size:${p(h)}`)\n }, C(e.metricValue), 7)),\n p(i) ? (n(), l(\"div\", f1, [\n f(\"div\", {\n class: M([\"metricscard-trend-change\", a(e.changePolarity)]),\n \"data-testid\": \"metric-trend-parent\"\n }, [\n e.changePolarity !== 0 ? (n(), v(b(e.trendIcon), {\n key: 0,\n color: d(e.changePolarity),\n size: p(V)\n }, null, 8, [\"color\", \"size\"])) : (n(), v(p(le), {\n key: 1,\n color: p(Z),\n size: p(V)\n }, null, 8, [\"color\", \"size\"])),\n f(\"div\", C1, C(e.metricChange), 1)\n ], 2),\n e.trendRange && e.cardSize !== p(N).LargeCompact ? (n(), l(\"div\", y1, C(e.trendRange), 1)) : y(\"\", !0)\n ])) : y(\"\", !0)\n ], 2)\n ]);\n };\n }\n}), B = (e, t) => {\n const r = e.__vccOpts || e;\n for (const [d, a] of t)\n r[d] = a;\n return r;\n}, h1 = /* @__PURE__ */ B(v1, [[\"__scopeId\", \"data-v-a3edd1b6\"]]), m1 = {}, b1 = { class: \"loading-tabs\" };\nfunction S1(e, t) {\n const r = U(\"KSkeletonBox\");\n return n(), l(\"div\", b1, [\n E(r, { width: \"100\" }),\n E(r, { width: \"75\" })\n ]);\n}\nconst N1 = /* @__PURE__ */ B(m1, [[\"render\", S1], [\"__scopeId\", \"data-v-f7eb9c40\"]]), x1 = {\n key: 0,\n class: \"error-display\"\n}, w1 = {\n key: 0,\n class: \"error-display-message\"\n}, z1 = /* @__PURE__ */ S({\n __name: \"MetricCardContainer\",\n props: {\n fallbackDisplayText: {\n type: String,\n required: !0\n },\n cards: {\n type: Array,\n required: !0\n },\n errorMessage: {\n type: String,\n required: !1,\n default: \"\"\n },\n loading: {\n type: Boolean,\n required: !1,\n default: !1\n },\n hasTrendAccess: {\n type: Boolean,\n required: !1,\n default: !0\n },\n cardSize: {\n type: String,\n required: !1,\n default: () => N.Large\n }\n },\n setup(e) {\n const t = e, r = c(() => t.cards.every((a) => (a == null ? void 0 : a.hasError) === !0)), d = (a) => {\n const i = a1(a.currentValue, a.previousValue) || 0, h = r1(i, t.hasTrendAccess, a.increaseIsBad);\n return {\n metricValue: a.formatValueFn ? a.formatValueFn(a.currentValue) : Y(a.currentValue, { capital: !0, round: !0 }) || \"0\",\n metricChange: a.formatChangeFn ? a.formatChangeFn(i) : i1(i, t.hasTrendAccess, t.fallbackDisplayText),\n changePolarity: h,\n trendIcon: n1(h, a.increaseIsBad),\n cardSize: t.cardSize\n };\n };\n return (a, i) => (n(), l(\"div\", {\n class: M([\"kong-ui-public-metric-card-container\", e.cardSize])\n }, [\n r.value ? (n(), l(\"div\", x1, [\n E(p(D), { class: \"error-display-icon\" }),\n e.errorMessage ? (n(), l(\"div\", w1, C(e.errorMessage), 1)) : y(\"\", !0)\n ])) : (n(!0), l(O, { key: 1 }, G(e.cards, (h, _) => (n(), l(O, null, [\n e.loading ? (n(), v(N1, {\n key: `skeleton-${_}`,\n class: M(e.cardSize === p(N).Small ? \"loading-tabs-small\" : \"loading-tabs-large\")\n }, null, 8, [\"class\"])) : (n(), v(h1, j({ key: _ }, d(h), {\n \"card-size\": e.cardSize,\n \"card-type\": h.cardType,\n description: h.description,\n \"error-message\": e.errorMessage,\n \"has-error\": h.hasError,\n title: h.title,\n tooltip: h.tooltip,\n \"trend-range\": h.trendRange\n }), null, 16, [\"card-size\", \"card-type\", \"description\", \"error-message\", \"has-error\", \"title\", \"tooltip\", \"trend-range\"]))\n ], 64))), 256))\n ], 2));\n }\n}), I1 = /* @__PURE__ */ B(z1, [[\"__scopeId\", \"data-v-80b51a84\"]]);\nexport {\n K as DECIMAL_DISPLAY,\n $ as DECIMAL_ROUNDING_PRECISION,\n I1 as MetricCardContainer,\n N as MetricCardSize,\n L as MetricCardType,\n a1 as calculateChange,\n r1 as changePolarity,\n n1 as defineIcon,\n i1 as metricChange\n};\n","<template>\n <slot :card-values=\"cardValues\">\n <MetricCardContainer\n v-bind=\"containerOpts\"\n />\n </slot>\n</template>\n<script setup lang=\"ts\">\nimport type { Ref } from 'vue'\nimport { inject, computed } from 'vue'\nimport { METRICS_PROVIDER_KEY } from './metricsProviderUtil'\nimport type { MetricCardDef } from '@kong-ui-public/metric-cards'\nimport { MetricCardSize, MetricCardType, DECIMAL_DISPLAY, MetricCardContainer } from '@kong-ui-public/metric-cards'\nimport '@kong-ui-public/metric-cards/dist/style.css'\nimport composables from '../composables'\nimport { ALL_STATUS_CODE_GROUPS, STATUS_CODES_FAILED } from '../constants'\nimport { sumValues } from '../composables/useMetricCardBuilder'\n\ntype CardToDisplay = 'TRAFFIC' | 'ERROR_RATE' | 'LATENCY'\n\nconst props = withDefaults(defineProps<{\n lookupKey?: string\n cardSize?: MetricCardSize\n cardToDisplay?: CardToDisplay\n}>(), {\n lookupKey: undefined,\n cardSize: MetricCardSize.Large,\n cardToDisplay: undefined,\n})\n\nconst providerData = inject(METRICS_PROVIDER_KEY)\n\nif (!providerData) {\n throw new Error('MetricsConsumer must be nested inside a MetricsProvider instance.')\n}\n\nconst { traffic, latency } = providerData.data\n\nconst { i18n } = composables.useI18n()\n\nconst trafficCard = composables.useMetricCardBuilder({\n cardType: MetricCardType.TRAFFIC,\n title: computed(() => providerData.longCardTitles\n ? i18n.t('metricCard.long.traffic')\n : i18n.t('metricCard.short.traffic')),\n description: providerData.description,\n record: traffic.mapped,\n hasError: traffic.hasError,\n lookupKey: props.lookupKey,\n sumGroupedValues: ALL_STATUS_CODE_GROUPS,\n trendRange: providerData.trendRange,\n})\n\n// Error rate (special case, requires operation)\n// TODO: provide a error rate aggregation in explore later\n// then can use default MetricCardBuilder\nconst formatErrorRate = (val: number) => `${val.toFixed(DECIMAL_DISPLAY)}%`\nconst errorRateCard = computed<MetricCardDef>(() => {\n const record = traffic.mapped.value\n\n const currentErrors = sumValues(record, 'current', props.lookupKey, STATUS_CODES_FAILED)\n const currentTotal = sumValues(record, 'current', props.lookupKey, ALL_STATUS_CODE_GROUPS)\n const errorRateCurrent = currentErrors / currentTotal * 100 || 0\n\n const previousErrors = sumValues(record, 'previous', props.lookupKey, STATUS_CODES_FAILED)\n const previousTotal = sumValues(record, 'previous', props.lookupKey, ALL_STATUS_CODE_GROUPS)\n const errorRatePrevious = previousErrors / previousTotal * 100 || 0\n\n return {\n cardType: MetricCardType.ERROR_RATE,\n hasError: traffic.hasError.value,\n currentValue: errorRateCurrent,\n previousValue: errorRatePrevious,\n formatValueFn: formatErrorRate,\n title: providerData.longCardTitles\n ? i18n.t('metricCard.long.errorRate')\n : i18n.t('metricCard.short.errorRate'),\n description: providerData.description,\n increaseIsBad: true,\n trendRange: providerData.trendRange.value,\n }\n})\n\nconst formatLatency = (val: number) => `${val}ms`\nconst latencyCard = composables.useMetricCardBuilder({\n cardType: MetricCardType.LATENCY,\n title: computed(() => providerData.longCardTitles\n ? i18n.t('metricCard.long.latency')\n : i18n.t('metricCard.short.latency')),\n description: providerData.description,\n hasError: latency.hasError,\n record: latency.mapped,\n lookupKey: props.lookupKey,\n increaseIsBad: true,\n formatValueFn: formatLatency,\n trendRange: providerData.trendRange,\n})\n\nconst cards: Ref<MetricCardDef[]> = computed(() => {\n if (props.cardToDisplay === 'TRAFFIC') {\n return [trafficCard.value]\n } else if (props.cardToDisplay === 'ERROR_RATE') {\n return [errorRateCard.value]\n } else if (props.cardToDisplay === 'LATENCY') {\n return [latencyCard.value]\n }\n\n return [trafficCard.value, errorRateCard.value, latencyCard.value]\n})\n\nconst isLoading = computed<boolean>(() => {\n if (props.cardToDisplay === 'TRAFFIC' || props.cardToDisplay === 'ERROR_RATE') {\n return traffic.isLoading.value\n } else if (props.cardToDisplay === 'LATENCY') {\n return latency.isLoading.value\n }\n\n return traffic.isLoading.value || latency.isLoading.value\n})\n\n// TODO: per-card loading?\nconst containerOpts = computed(() => ({\n cards: cards.value,\n loading: isLoading.value,\n hasTrendAccess: providerData.hasTrendAccess,\n fallbackDisplayText: i18n.t('general.notAvailable'),\n cardSize: props.cardSize,\n hideTitle: true,\n trendRange: providerData.trendRange.value,\n}))\n\nconst cardValues = computed(() => ({\n loading: containerOpts.value.loading,\n trafficCard: trafficCard.value,\n errorRateCard: errorRateCard.value,\n latencyCard: latencyCard.value,\n errorRateFormatted: formatErrorRate(errorRateCard.value.currentValue),\n latencyFormatted: formatLatency(latencyCard.value.currentValue),\n}))\n\n</script>\n","import type { AnalyticsExploreResult } from '@kong-ui-public/analytics-utilities'\nimport type { ExploreV2Query } from './types'\nimport { EXPLORE_V2_DIMENSIONS } from './types'\nimport type { CyHttpMessages } from 'cypress/types/net-stubbing'\nimport { ALL_STATUS_CODE_GROUPS } from './constants'\n\n// Replicate date-fns `fromUnixTime` here to avoid a dependency.\nconst fromUnixTimeMs = (t: number) => new Date(t)\n\nexport interface MockOptions {\n dimensionNames?: string[]\n injectErrors?: 'latency' | 'traffic' | 'all'\n}\n\nexport const mockExploreResponseFromCypress = (\n req: CyHttpMessages.IncomingHttpRequest,\n opts?: MockOptions,\n) => {\n const body: ExploreV2Query = req.body\n\n const { startMs: qStart, endMs: qEnd } = req.query\n\n const start = typeof qStart !== 'number' ? parseInt(qStart, 10) : qStart\n const end = typeof qEnd !== 'number' ? parseInt(qEnd, 10) : qEnd\n\n req.reply({\n statusCode: 200,\n body: mockExploreResponse(body, start, end, opts),\n })\n}\n\nexport const mockExploreResponse = (\n body: ExploreV2Query,\n start: number,\n end: number,\n opts?: MockOptions,\n) => {\n const granularity = body.granularityMs || 0\n\n const numRecords = granularity ? (end - start) / granularity : 1\n\n if (numRecords !== 1 && numRecords !== 2) {\n throw new Error(\n \"Query did not request 1 or 2 records. Perhaps there's a chart query on the same page interfering with the stub?\",\n )\n }\n\n if ((body.dimensions ?? []).length > 2) {\n throw new Error(`Explore only supports 0-2 dimensions; got: ${JSON.stringify(body.dimensions)}`)\n }\n\n const primaryDimension = (body.dimensions ?? []).find((x) => x !== 'TIME')\n const dimensionNames = opts?.dimensionNames ?? []\n const dimensionLength = Math.max(dimensionNames.length, 1)\n const records: any = []\n\n for (let i = 0; i < numRecords; i++) {\n for (let j = 0; j < dimensionLength; j++) {\n const eventValue: any = primaryDimension\n ? { [primaryDimension]: dimensionNames[j] }\n : {}\n\n if (body.dimensions?.includes(EXPLORE_V2_DIMENSIONS.STATUS_CODE_GROUPED)) {\n ALL_STATUS_CODE_GROUPS.forEach(code => {\n const event = body.metrics.reduce((accum, agg) => {\n accum[agg] = (numRecords - i) * 1000 + 100 * j + 1\n return accum\n }, { ...eventValue, STATUS_CODE_GROUPED: code })\n\n records.push({\n version: 'v1',\n timestamp:\n i === 0\n ? fromUnixTimeMs(start).toISOString()\n : fromUnixTimeMs(start + granularity).toISOString(),\n event,\n })\n })\n } else {\n records.push({\n version: 'v1',\n timestamp:\n i === 0\n ? fromUnixTimeMs(start).toISOString()\n : fromUnixTimeMs(start + granularity).toISOString(),\n event: body.metrics.reduce((accum, agg) => {\n accum[agg] = (numRecords - i) * 1000 + (100 * j) + 1\n return accum\n }, { ...eventValue }),\n })\n }\n }\n }\n\n const meta = {\n start,\n end,\n granularity,\n dimensions: primaryDimension\n ? {\n [primaryDimension]: dimensionNames,\n ...(body.dimensions?.includes(EXPLORE_V2_DIMENSIONS.STATUS_CODE_GROUPED) ? { STATUS_CODE_GROUPED: ALL_STATUS_CODE_GROUPS } : {}),\n }\n : {},\n metricNames: body.metrics,\n }\n\n return {\n records,\n meta,\n } as AnalyticsExploreResult\n}\n"],"names":["qe","je","r","e","t","M","d","v","W","T","m","D","ne","a","Qe","n","o","Xe","H","F","u","s","l","h","f","g","w","ve","Ze","Je","S","cr","ie","ye","mr","hr","vr","ce","gr","me","ke","wr","oe","Tr","Dr","ue","yr","pe","pr","Yr","Or","br","Mr","ee","he","Me","Er","te","z","Oe","Nr","se","_r","be","Sr","Ie","re","Ye","xr","p","le","Ur","kr","Ir","Pr","Ne","Wr","_e","Ee","ae","Rr","Lr","Pe","de","fe","Hr","$r","Fr","Re","Gr","j","qr","Le","Ce","We","Q$1","Q","jr","aa","x","b","zr","Qr","Vr","Xr","Br","Zr","useI18n","i18n","createI18n","english","i18nTComponent","EXPLORE_V2_DIMENSIONS","EXPLORE_V2_AGGREGATIONS","EXPLORE_V2_FILTER_TYPES","MAX_ANALYTICS_REQUEST_RETRIES","ALL_STATUS_CODE_GROUPS","STATUS_CODES_FAILED","er","ur","q","DEFAULT_KEY","ERROR_RATE_DIMENSION","setMetric","result","time","topLevelKey","secondLevelKey","metricValue","buildDeltaMapping","queryTime","withTrend","metricName","_a","dimensionNames","hasErrorRateDimension","k","keyDimension","record","useMetricFetcher","opts","computed","DeltaQueryTime","UnaryQueryTime","query","_b","timeRangeString","cacheKey","additionalFilterKey","_c","_d","raw","metricError","isMetricDataValidating","composables","metricRequestState","STATE","useSwrvState","mapped","_f","_j","_i","_h","_g","sumValues","recordValue","period","dimensionLookupKey","sumGroupedValues","acc","lookup","groupValue","useMetricCardBuilder","cardType","title","description","hasError","increaseIsBad","formatValueFn","trendRange","currentValue","previousValue","table","counter","hash","args","key","i","_hash","serializeKeyDefault","SWRVCache","ttl","_key","timeToLive","now","item","serializedKey","_this","current","hasExpired","isOnline","isDocumentVisible","fetcher","url","res","webPreset","__assign","__awaiter","thisArg","_arguments","P","generator","adopt","value","resolve","reject","fulfilled","step","rejected","__generator","body","_","y","verb","op","__read","ar","error","__spreadArray","to","from","pack","DATA_CACHE","REF_CACHE","PROMISES_CACHE","defaultConfig","setRefCache","theRef","refCacheItem","gracePeriod","onErrorRetry","revalidate","errorRetryCount","config","count","timeout","mutate","cache","data","isValidating","err_1","newData","stateRef","refs_1","isPromise","err","idx","isLast","useSWRV","fn","unmounted","isHydrated","instance","getCurrentInstance","vm","IS_SERVER","keyRef","ref","reactive","isFirstFetch","keyVal","cacheItem","shouldRevalidate","trigger","promiseFromCache","fetcherArgs","newPromise","shouldRetryOnError","revalidateCall","timer","onMounted","tick","onUnmounted","watch","val","isReadonly","toRefs","useRequest","response","METRICS_PROVIDER_KEY","defaultFetcherDefs","dimension","dimensionFilterValue","additionalFilter","queryReady","timeframe","hasTrendAccess","refreshInterval","dataFetcher","singleEntityQuery","multiEntityQuery","filter","retval","trafficMetricFetcherOptions","latencyMetricFetcherOptions","trafficData","latencyData","props","__props","TimePeriods","TimeframeKeys","trendRangeText","toRef","provide","A","R","X","Y","N","I","J","c","C","ge","Se","xe","we","ze","He","Ve","Te","Be","$e","Ue","Ae","Fe","De","Ke","Ge","e1","t1","K","$","r1","i1","a1","n1","o1","Z","d1","V","s1","l1","u1","L","c1","p1","g1","f1","C1","y1","v1","U","E","B","h1","m1","b1","S1","N1","x1","w1","z1","O","G","I1","providerData","inject","traffic","latency","trafficCard","MetricCardType","formatErrorRate","DECIMAL_DISPLAY","errorRateCard","currentErrors","currentTotal","errorRateCurrent","previousErrors","previousTotal","errorRatePrevious","formatLatency","latencyCard","cards","isLoading","containerOpts","cardValues","fromUnixTimeMs","mockExploreResponseFromCypress","req","qStart","qEnd","start","end","mockExploreResponse","granularity","numRecords","primaryDimension","dimensionLength","records","eventValue","code","event","accum","agg","meta"],"mappings":"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","x_google_ignoreList":[4,7,8,9,10]}
|
|
1
|
+
{"version":3,"file":"vitals-metric-provider.es.js","sources":["../../analytics-utilities/dist/vitals-utilities.es.js","../src/composables/useI18n.ts","../src/types/explore-types.ts","../src/constants.ts","../../../../node_modules/.pnpm/@kong-ui-public+core@1.1.0_axios@1.6.5_swrv@1.0.4_vue@3.4.15/node_modules/@kong-ui-public/core/dist/core.es.js","../src/composables/useMetricFetcher.ts","../src/composables/useMetricCardBuilder.ts","../../../../node_modules/.pnpm/swrv@1.0.4_vue@3.4.15/node_modules/swrv/esm/lib/hash.js","../../../../node_modules/.pnpm/swrv@1.0.4_vue@3.4.15/node_modules/swrv/esm/cache/index.js","../../../../node_modules/.pnpm/swrv@1.0.4_vue@3.4.15/node_modules/swrv/esm/lib/web-preset.js","../../../../node_modules/.pnpm/swrv@1.0.4_vue@3.4.15/node_modules/swrv/esm/use-swrv.js","../src/composables/useRequest.ts","../src/composables/index.ts","../src/components/metricsProviderUtil.ts","../src/components/MetricsProviderInternal.vue","../../metric-cards/dist/metric-cards.es.js","../src/components/MetricsConsumer.vue","../src/mockExploreResponse.ts"],"sourcesContent":["var qe = Object.defineProperty;\nvar je = (r, e, t) => e in r ? qe(r, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : r[e] = t;\nvar M = (r, e, t) => (je(r, typeof e != \"symbol\" ? e + \"\" : e, t), t);\nvar d = /* @__PURE__ */ ((r) => (r.MINUTELY = \"Minutely\", r.HOURLY = \"Hourly\", r.DAILY = \"Daily\", r.WEEKLY = \"Weekly\", r))(d || {}), v = /* @__PURE__ */ ((r) => (r.FIFTEEN_MIN = \"15m\", r.ONE_HOUR = \"1h\", r.SIX_HOUR = \"6h\", r.TWELVE_HOUR = \"12h\", r.ONE_DAY = \"24h\", r.SEVEN_DAY = \"7d\", r.THIRTY_DAY = \"30d\", r.CURRENT_WEEK = \"current_week\", r.CURRENT_MONTH = \"current_month\", r.CURRENT_QUARTER = \"current_quarter\", r.PREVIOUS_WEEK = \"previous_week\", r.PREVIOUS_MONTH = \"previous_month\", r.PREVIOUS_QUARTER = \"previous_quarter\", r))(v || {}), ze = /* @__PURE__ */ ((r) => (r.DOUGHNUT = \"Doughnut\", r.HORIZONTAL_BAR = \"HorizontalBar\", r.VERTICAL_BAR = \"VerticalBar\", r.TIMESERIES_LINE = \"Line\", r.TIMESERIES_BAR = \"TimeSeriesBar\", r))(ze || {});\nfunction W(r) {\n \"@babel/helpers - typeof\";\n return W = typeof Symbol == \"function\" && typeof Symbol.iterator == \"symbol\" ? function(e) {\n return typeof e;\n } : function(e) {\n return e && typeof Symbol == \"function\" && e.constructor === Symbol && e !== Symbol.prototype ? \"symbol\" : typeof e;\n }, W(r);\n}\nfunction T(r) {\n if (r === null || r === !0 || r === !1)\n return NaN;\n var e = Number(r);\n return isNaN(e) ? e : e < 0 ? Math.ceil(e) : Math.floor(e);\n}\nfunction m(r, e) {\n if (e.length < r)\n throw new TypeError(r + \" argument\" + (r > 1 ? \"s\" : \"\") + \" required, but only \" + e.length + \" present\");\n}\nfunction D(r) {\n m(1, arguments);\n var e = Object.prototype.toString.call(r);\n return r instanceof Date || W(r) === \"object\" && e === \"[object Date]\" ? new Date(r.getTime()) : typeof r == \"number\" || e === \"[object Number]\" ? new Date(r) : ((typeof r == \"string\" || e === \"[object String]\") && typeof console < \"u\" && (console.warn(\"Starting with v2.0.0-beta.1 date-fns doesn't accept strings as date arguments. Please use `parseISO` to parse strings. See: https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#string-arguments\"), console.warn(new Error().stack)), /* @__PURE__ */ new Date(NaN));\n}\nfunction ne(r, e) {\n m(2, arguments);\n var t = D(r), a = T(e);\n return isNaN(a) ? /* @__PURE__ */ new Date(NaN) : (a && t.setDate(t.getDate() + a), t);\n}\nfunction Qe(r, e) {\n m(2, arguments);\n var t = D(r), a = T(e);\n if (isNaN(a))\n return /* @__PURE__ */ new Date(NaN);\n if (!a)\n return t;\n var n = t.getDate(), i = new Date(t.getTime());\n i.setMonth(t.getMonth() + a + 1, 0);\n var o = i.getDate();\n return n >= o ? i : (t.setFullYear(i.getFullYear(), i.getMonth(), n), t);\n}\nfunction Ve(r, e) {\n m(2, arguments);\n var t = D(r).getTime(), a = T(e);\n return new Date(t + a);\n}\nvar Xe = {};\nfunction H() {\n return Xe;\n}\nfunction F(r, e) {\n var t, a, n, i, o, u, s, l;\n m(1, arguments);\n var h = H(), f = T((t = (a = (n = (i = e == null ? void 0 : e.weekStartsOn) !== null && i !== void 0 ? i : e == null || (o = e.locale) === null || o === void 0 || (u = o.options) === null || u === void 0 ? void 0 : u.weekStartsOn) !== null && n !== void 0 ? n : h.weekStartsOn) !== null && a !== void 0 ? a : (s = h.locale) === null || s === void 0 || (l = s.options) === null || l === void 0 ? void 0 : l.weekStartsOn) !== null && t !== void 0 ? t : 0);\n if (!(f >= 0 && f <= 6))\n throw new RangeError(\"weekStartsOn must be between 0 and 6 inclusively\");\n var g = D(r), w = g.getDay(), y = (w < f ? 7 : 0) + w - f;\n return g.setDate(g.getDate() - y), g.setHours(0, 0, 0, 0), g;\n}\nfunction Be(r) {\n var e = new Date(Date.UTC(r.getFullYear(), r.getMonth(), r.getDate(), r.getHours(), r.getMinutes(), r.getSeconds(), r.getMilliseconds()));\n return e.setUTCFullYear(r.getFullYear()), r.getTime() - e.getTime();\n}\nfunction ve(r) {\n m(1, arguments);\n var e = D(r);\n return e.setHours(0, 0, 0, 0), e;\n}\nvar Ze = 60, Je = 3600;\nfunction Ke(r) {\n return m(1, arguments), r instanceof Date || W(r) === \"object\" && Object.prototype.toString.call(r) === \"[object Date]\";\n}\nfunction et(r) {\n if (m(1, arguments), !Ke(r) && typeof r != \"number\")\n return !1;\n var e = D(r);\n return !isNaN(Number(e));\n}\nfunction S(r) {\n m(1, arguments);\n var e = D(r);\n return e.setDate(1), e.setHours(0, 0, 0, 0), e;\n}\nfunction tt(r, e) {\n m(2, arguments);\n var t = T(e);\n return Ve(r, -t);\n}\nvar rt = 864e5;\nfunction at(r) {\n m(1, arguments);\n var e = D(r), t = e.getTime();\n e.setUTCMonth(0, 1), e.setUTCHours(0, 0, 0, 0);\n var a = e.getTime(), n = t - a;\n return Math.floor(n / rt) + 1;\n}\nfunction G(r) {\n m(1, arguments);\n var e = 1, t = D(r), a = t.getUTCDay(), n = (a < e ? 7 : 0) + a - e;\n return t.setUTCDate(t.getUTCDate() - n), t.setUTCHours(0, 0, 0, 0), t;\n}\nfunction Se(r) {\n m(1, arguments);\n var e = D(r), t = e.getUTCFullYear(), a = /* @__PURE__ */ new Date(0);\n a.setUTCFullYear(t + 1, 0, 4), a.setUTCHours(0, 0, 0, 0);\n var n = G(a), i = /* @__PURE__ */ new Date(0);\n i.setUTCFullYear(t, 0, 4), i.setUTCHours(0, 0, 0, 0);\n var o = G(i);\n return e.getTime() >= n.getTime() ? t + 1 : e.getTime() >= o.getTime() ? t : t - 1;\n}\nfunction nt(r) {\n m(1, arguments);\n var e = Se(r), t = /* @__PURE__ */ new Date(0);\n t.setUTCFullYear(e, 0, 4), t.setUTCHours(0, 0, 0, 0);\n var a = G(t);\n return a;\n}\nvar it = 6048e5;\nfunction ot(r) {\n m(1, arguments);\n var e = D(r), t = G(e).getTime() - nt(e).getTime();\n return Math.round(t / it) + 1;\n}\nfunction q(r, e) {\n var t, a, n, i, o, u, s, l;\n m(1, arguments);\n var h = H(), f = T((t = (a = (n = (i = e == null ? void 0 : e.weekStartsOn) !== null && i !== void 0 ? i : e == null || (o = e.locale) === null || o === void 0 || (u = o.options) === null || u === void 0 ? void 0 : u.weekStartsOn) !== null && n !== void 0 ? n : h.weekStartsOn) !== null && a !== void 0 ? a : (s = h.locale) === null || s === void 0 || (l = s.options) === null || l === void 0 ? void 0 : l.weekStartsOn) !== null && t !== void 0 ? t : 0);\n if (!(f >= 0 && f <= 6))\n throw new RangeError(\"weekStartsOn must be between 0 and 6 inclusively\");\n var g = D(r), w = g.getUTCDay(), y = (w < f ? 7 : 0) + w - f;\n return g.setUTCDate(g.getUTCDate() - y), g.setUTCHours(0, 0, 0, 0), g;\n}\nfunction xe(r, e) {\n var t, a, n, i, o, u, s, l;\n m(1, arguments);\n var h = D(r), f = h.getUTCFullYear(), g = H(), w = T((t = (a = (n = (i = e == null ? void 0 : e.firstWeekContainsDate) !== null && i !== void 0 ? i : e == null || (o = e.locale) === null || o === void 0 || (u = o.options) === null || u === void 0 ? void 0 : u.firstWeekContainsDate) !== null && n !== void 0 ? n : g.firstWeekContainsDate) !== null && a !== void 0 ? a : (s = g.locale) === null || s === void 0 || (l = s.options) === null || l === void 0 ? void 0 : l.firstWeekContainsDate) !== null && t !== void 0 ? t : 1);\n if (!(w >= 1 && w <= 7))\n throw new RangeError(\"firstWeekContainsDate must be between 1 and 7 inclusively\");\n var y = /* @__PURE__ */ new Date(0);\n y.setUTCFullYear(f + 1, 0, w), y.setUTCHours(0, 0, 0, 0);\n var U = q(y, e), N = /* @__PURE__ */ new Date(0);\n N.setUTCFullYear(f, 0, w), N.setUTCHours(0, 0, 0, 0);\n var k = q(N, e);\n return h.getTime() >= U.getTime() ? f + 1 : h.getTime() >= k.getTime() ? f : f - 1;\n}\nfunction ut(r, e) {\n var t, a, n, i, o, u, s, l;\n m(1, arguments);\n var h = H(), f = T((t = (a = (n = (i = e == null ? void 0 : e.firstWeekContainsDate) !== null && i !== void 0 ? i : e == null || (o = e.locale) === null || o === void 0 || (u = o.options) === null || u === void 0 ? void 0 : u.firstWeekContainsDate) !== null && n !== void 0 ? n : h.firstWeekContainsDate) !== null && a !== void 0 ? a : (s = h.locale) === null || s === void 0 || (l = s.options) === null || l === void 0 ? void 0 : l.firstWeekContainsDate) !== null && t !== void 0 ? t : 1), g = xe(r, e), w = /* @__PURE__ */ new Date(0);\n w.setUTCFullYear(g, 0, f), w.setUTCHours(0, 0, 0, 0);\n var y = q(w, e);\n return y;\n}\nvar st = 6048e5;\nfunction lt(r, e) {\n m(1, arguments);\n var t = D(r), a = q(t, e).getTime() - ut(t, e).getTime();\n return Math.round(a / st) + 1;\n}\nfunction c(r, e) {\n for (var t = r < 0 ? \"-\" : \"\", a = Math.abs(r).toString(); a.length < e; )\n a = \"0\" + a;\n return t + a;\n}\nvar dt = {\n // Year\n y: function(e, t) {\n var a = e.getUTCFullYear(), n = a > 0 ? a : 1 - a;\n return c(t === \"yy\" ? n % 100 : n, t.length);\n },\n // Month\n M: function(e, t) {\n var a = e.getUTCMonth();\n return t === \"M\" ? String(a + 1) : c(a + 1, 2);\n },\n // Day of the month\n d: function(e, t) {\n return c(e.getUTCDate(), t.length);\n },\n // AM or PM\n a: function(e, t) {\n var a = e.getUTCHours() / 12 >= 1 ? \"pm\" : \"am\";\n switch (t) {\n case \"a\":\n case \"aa\":\n return a.toUpperCase();\n case \"aaa\":\n return a;\n case \"aaaaa\":\n return a[0];\n case \"aaaa\":\n default:\n return a === \"am\" ? \"a.m.\" : \"p.m.\";\n }\n },\n // Hour [1-12]\n h: function(e, t) {\n return c(e.getUTCHours() % 12 || 12, t.length);\n },\n // Hour [0-23]\n H: function(e, t) {\n return c(e.getUTCHours(), t.length);\n },\n // Minute\n m: function(e, t) {\n return c(e.getUTCMinutes(), t.length);\n },\n // Second\n s: function(e, t) {\n return c(e.getUTCSeconds(), t.length);\n },\n // Fraction of second\n S: function(e, t) {\n var a = t.length, n = e.getUTCMilliseconds(), i = Math.floor(n * Math.pow(10, a - 3));\n return c(i, t.length);\n }\n};\nconst E = dt;\nvar C = {\n am: \"am\",\n pm: \"pm\",\n midnight: \"midnight\",\n noon: \"noon\",\n morning: \"morning\",\n afternoon: \"afternoon\",\n evening: \"evening\",\n night: \"night\"\n}, ft = {\n // Era\n G: function(e, t, a) {\n var n = e.getUTCFullYear() > 0 ? 1 : 0;\n switch (t) {\n case \"G\":\n case \"GG\":\n case \"GGG\":\n return a.era(n, {\n width: \"abbreviated\"\n });\n case \"GGGGG\":\n return a.era(n, {\n width: \"narrow\"\n });\n case \"GGGG\":\n default:\n return a.era(n, {\n width: \"wide\"\n });\n }\n },\n // Year\n y: function(e, t, a) {\n if (t === \"yo\") {\n var n = e.getUTCFullYear(), i = n > 0 ? n : 1 - n;\n return a.ordinalNumber(i, {\n unit: \"year\"\n });\n }\n return E.y(e, t);\n },\n // Local week-numbering year\n Y: function(e, t, a, n) {\n var i = xe(e, n), o = i > 0 ? i : 1 - i;\n if (t === \"YY\") {\n var u = o % 100;\n return c(u, 2);\n }\n return t === \"Yo\" ? a.ordinalNumber(o, {\n unit: \"year\"\n }) : c(o, t.length);\n },\n // ISO week-numbering year\n R: function(e, t) {\n var a = Se(e);\n return c(a, t.length);\n },\n // Extended year. This is a single number designating the year of this calendar system.\n // The main difference between `y` and `u` localizers are B.C. years:\n // | Year | `y` | `u` |\n // |------|-----|-----|\n // | AC 1 | 1 | 1 |\n // | BC 1 | 1 | 0 |\n // | BC 2 | 2 | -1 |\n // Also `yy` always returns the last two digits of a year,\n // while `uu` pads single digit years to 2 characters and returns other years unchanged.\n u: function(e, t) {\n var a = e.getUTCFullYear();\n return c(a, t.length);\n },\n // Quarter\n Q: function(e, t, a) {\n var n = Math.ceil((e.getUTCMonth() + 1) / 3);\n switch (t) {\n case \"Q\":\n return String(n);\n case \"QQ\":\n return c(n, 2);\n case \"Qo\":\n return a.ordinalNumber(n, {\n unit: \"quarter\"\n });\n case \"QQQ\":\n return a.quarter(n, {\n width: \"abbreviated\",\n context: \"formatting\"\n });\n case \"QQQQQ\":\n return a.quarter(n, {\n width: \"narrow\",\n context: \"formatting\"\n });\n case \"QQQQ\":\n default:\n return a.quarter(n, {\n width: \"wide\",\n context: \"formatting\"\n });\n }\n },\n // Stand-alone quarter\n q: function(e, t, a) {\n var n = Math.ceil((e.getUTCMonth() + 1) / 3);\n switch (t) {\n case \"q\":\n return String(n);\n case \"qq\":\n return c(n, 2);\n case \"qo\":\n return a.ordinalNumber(n, {\n unit: \"quarter\"\n });\n case \"qqq\":\n return a.quarter(n, {\n width: \"abbreviated\",\n context: \"standalone\"\n });\n case \"qqqqq\":\n return a.quarter(n, {\n width: \"narrow\",\n context: \"standalone\"\n });\n case \"qqqq\":\n default:\n return a.quarter(n, {\n width: \"wide\",\n context: \"standalone\"\n });\n }\n },\n // Month\n M: function(e, t, a) {\n var n = e.getUTCMonth();\n switch (t) {\n case \"M\":\n case \"MM\":\n return E.M(e, t);\n case \"Mo\":\n return a.ordinalNumber(n + 1, {\n unit: \"month\"\n });\n case \"MMM\":\n return a.month(n, {\n width: \"abbreviated\",\n context: \"formatting\"\n });\n case \"MMMMM\":\n return a.month(n, {\n width: \"narrow\",\n context: \"formatting\"\n });\n case \"MMMM\":\n default:\n return a.month(n, {\n width: \"wide\",\n context: \"formatting\"\n });\n }\n },\n // Stand-alone month\n L: function(e, t, a) {\n var n = e.getUTCMonth();\n switch (t) {\n case \"L\":\n return String(n + 1);\n case \"LL\":\n return c(n + 1, 2);\n case \"Lo\":\n return a.ordinalNumber(n + 1, {\n unit: \"month\"\n });\n case \"LLL\":\n return a.month(n, {\n width: \"abbreviated\",\n context: \"standalone\"\n });\n case \"LLLLL\":\n return a.month(n, {\n width: \"narrow\",\n context: \"standalone\"\n });\n case \"LLLL\":\n default:\n return a.month(n, {\n width: \"wide\",\n context: \"standalone\"\n });\n }\n },\n // Local week of year\n w: function(e, t, a, n) {\n var i = lt(e, n);\n return t === \"wo\" ? a.ordinalNumber(i, {\n unit: \"week\"\n }) : c(i, t.length);\n },\n // ISO week of year\n I: function(e, t, a) {\n var n = ot(e);\n return t === \"Io\" ? a.ordinalNumber(n, {\n unit: \"week\"\n }) : c(n, t.length);\n },\n // Day of the month\n d: function(e, t, a) {\n return t === \"do\" ? a.ordinalNumber(e.getUTCDate(), {\n unit: \"date\"\n }) : E.d(e, t);\n },\n // Day of year\n D: function(e, t, a) {\n var n = at(e);\n return t === \"Do\" ? a.ordinalNumber(n, {\n unit: \"dayOfYear\"\n }) : c(n, t.length);\n },\n // Day of week\n E: function(e, t, a) {\n var n = e.getUTCDay();\n switch (t) {\n case \"E\":\n case \"EE\":\n case \"EEE\":\n return a.day(n, {\n width: \"abbreviated\",\n context: \"formatting\"\n });\n case \"EEEEE\":\n return a.day(n, {\n width: \"narrow\",\n context: \"formatting\"\n });\n case \"EEEEEE\":\n return a.day(n, {\n width: \"short\",\n context: \"formatting\"\n });\n case \"EEEE\":\n default:\n return a.day(n, {\n width: \"wide\",\n context: \"formatting\"\n });\n }\n },\n // Local day of week\n e: function(e, t, a, n) {\n var i = e.getUTCDay(), o = (i - n.weekStartsOn + 8) % 7 || 7;\n switch (t) {\n case \"e\":\n return String(o);\n case \"ee\":\n return c(o, 2);\n case \"eo\":\n return a.ordinalNumber(o, {\n unit: \"day\"\n });\n case \"eee\":\n return a.day(i, {\n width: \"abbreviated\",\n context: \"formatting\"\n });\n case \"eeeee\":\n return a.day(i, {\n width: \"narrow\",\n context: \"formatting\"\n });\n case \"eeeeee\":\n return a.day(i, {\n width: \"short\",\n context: \"formatting\"\n });\n case \"eeee\":\n default:\n return a.day(i, {\n width: \"wide\",\n context: \"formatting\"\n });\n }\n },\n // Stand-alone local day of week\n c: function(e, t, a, n) {\n var i = e.getUTCDay(), o = (i - n.weekStartsOn + 8) % 7 || 7;\n switch (t) {\n case \"c\":\n return String(o);\n case \"cc\":\n return c(o, t.length);\n case \"co\":\n return a.ordinalNumber(o, {\n unit: \"day\"\n });\n case \"ccc\":\n return a.day(i, {\n width: \"abbreviated\",\n context: \"standalone\"\n });\n case \"ccccc\":\n return a.day(i, {\n width: \"narrow\",\n context: \"standalone\"\n });\n case \"cccccc\":\n return a.day(i, {\n width: \"short\",\n context: \"standalone\"\n });\n case \"cccc\":\n default:\n return a.day(i, {\n width: \"wide\",\n context: \"standalone\"\n });\n }\n },\n // ISO day of week\n i: function(e, t, a) {\n var n = e.getUTCDay(), i = n === 0 ? 7 : n;\n switch (t) {\n case \"i\":\n return String(i);\n case \"ii\":\n return c(i, t.length);\n case \"io\":\n return a.ordinalNumber(i, {\n unit: \"day\"\n });\n case \"iii\":\n return a.day(n, {\n width: \"abbreviated\",\n context: \"formatting\"\n });\n case \"iiiii\":\n return a.day(n, {\n width: \"narrow\",\n context: \"formatting\"\n });\n case \"iiiiii\":\n return a.day(n, {\n width: \"short\",\n context: \"formatting\"\n });\n case \"iiii\":\n default:\n return a.day(n, {\n width: \"wide\",\n context: \"formatting\"\n });\n }\n },\n // AM or PM\n a: function(e, t, a) {\n var n = e.getUTCHours(), i = n / 12 >= 1 ? \"pm\" : \"am\";\n switch (t) {\n case \"a\":\n case \"aa\":\n return a.dayPeriod(i, {\n width: \"abbreviated\",\n context: \"formatting\"\n });\n case \"aaa\":\n return a.dayPeriod(i, {\n width: \"abbreviated\",\n context: \"formatting\"\n }).toLowerCase();\n case \"aaaaa\":\n return a.dayPeriod(i, {\n width: \"narrow\",\n context: \"formatting\"\n });\n case \"aaaa\":\n default:\n return a.dayPeriod(i, {\n width: \"wide\",\n context: \"formatting\"\n });\n }\n },\n // AM, PM, midnight, noon\n b: function(e, t, a) {\n var n = e.getUTCHours(), i;\n switch (n === 12 ? i = C.noon : n === 0 ? i = C.midnight : i = n / 12 >= 1 ? \"pm\" : \"am\", t) {\n case \"b\":\n case \"bb\":\n return a.dayPeriod(i, {\n width: \"abbreviated\",\n context: \"formatting\"\n });\n case \"bbb\":\n return a.dayPeriod(i, {\n width: \"abbreviated\",\n context: \"formatting\"\n }).toLowerCase();\n case \"bbbbb\":\n return a.dayPeriod(i, {\n width: \"narrow\",\n context: \"formatting\"\n });\n case \"bbbb\":\n default:\n return a.dayPeriod(i, {\n width: \"wide\",\n context: \"formatting\"\n });\n }\n },\n // in the morning, in the afternoon, in the evening, at night\n B: function(e, t, a) {\n var n = e.getUTCHours(), i;\n switch (n >= 17 ? i = C.evening : n >= 12 ? i = C.afternoon : n >= 4 ? i = C.morning : i = C.night, t) {\n case \"B\":\n case \"BB\":\n case \"BBB\":\n return a.dayPeriod(i, {\n width: \"abbreviated\",\n context: \"formatting\"\n });\n case \"BBBBB\":\n return a.dayPeriod(i, {\n width: \"narrow\",\n context: \"formatting\"\n });\n case \"BBBB\":\n default:\n return a.dayPeriod(i, {\n width: \"wide\",\n context: \"formatting\"\n });\n }\n },\n // Hour [1-12]\n h: function(e, t, a) {\n if (t === \"ho\") {\n var n = e.getUTCHours() % 12;\n return n === 0 && (n = 12), a.ordinalNumber(n, {\n unit: \"hour\"\n });\n }\n return E.h(e, t);\n },\n // Hour [0-23]\n H: function(e, t, a) {\n return t === \"Ho\" ? a.ordinalNumber(e.getUTCHours(), {\n unit: \"hour\"\n }) : E.H(e, t);\n },\n // Hour [0-11]\n K: function(e, t, a) {\n var n = e.getUTCHours() % 12;\n return t === \"Ko\" ? a.ordinalNumber(n, {\n unit: \"hour\"\n }) : c(n, t.length);\n },\n // Hour [1-24]\n k: function(e, t, a) {\n var n = e.getUTCHours();\n return n === 0 && (n = 24), t === \"ko\" ? a.ordinalNumber(n, {\n unit: \"hour\"\n }) : c(n, t.length);\n },\n // Minute\n m: function(e, t, a) {\n return t === \"mo\" ? a.ordinalNumber(e.getUTCMinutes(), {\n unit: \"minute\"\n }) : E.m(e, t);\n },\n // Second\n s: function(e, t, a) {\n return t === \"so\" ? a.ordinalNumber(e.getUTCSeconds(), {\n unit: \"second\"\n }) : E.s(e, t);\n },\n // Fraction of second\n S: function(e, t) {\n return E.S(e, t);\n },\n // Timezone (ISO-8601. If offset is 0, output is always `'Z'`)\n X: function(e, t, a, n) {\n var i = n._originalDate || e, o = i.getTimezoneOffset();\n if (o === 0)\n return \"Z\";\n switch (t) {\n case \"X\":\n return we(o);\n case \"XXXX\":\n case \"XX\":\n return _(o);\n case \"XXXXX\":\n case \"XXX\":\n default:\n return _(o, \":\");\n }\n },\n // Timezone (ISO-8601. If offset is 0, output is `'+00:00'` or equivalent)\n x: function(e, t, a, n) {\n var i = n._originalDate || e, o = i.getTimezoneOffset();\n switch (t) {\n case \"x\":\n return we(o);\n case \"xxxx\":\n case \"xx\":\n return _(o);\n case \"xxxxx\":\n case \"xxx\":\n default:\n return _(o, \":\");\n }\n },\n // Timezone (GMT)\n O: function(e, t, a, n) {\n var i = n._originalDate || e, o = i.getTimezoneOffset();\n switch (t) {\n case \"O\":\n case \"OO\":\n case \"OOO\":\n return \"GMT\" + ge(o, \":\");\n case \"OOOO\":\n default:\n return \"GMT\" + _(o, \":\");\n }\n },\n // Timezone (specific non-location)\n z: function(e, t, a, n) {\n var i = n._originalDate || e, o = i.getTimezoneOffset();\n switch (t) {\n case \"z\":\n case \"zz\":\n case \"zzz\":\n return \"GMT\" + ge(o, \":\");\n case \"zzzz\":\n default:\n return \"GMT\" + _(o, \":\");\n }\n },\n // Seconds timestamp\n t: function(e, t, a, n) {\n var i = n._originalDate || e, o = Math.floor(i.getTime() / 1e3);\n return c(o, t.length);\n },\n // Milliseconds timestamp\n T: function(e, t, a, n) {\n var i = n._originalDate || e, o = i.getTime();\n return c(o, t.length);\n }\n};\nfunction ge(r, e) {\n var t = r > 0 ? \"-\" : \"+\", a = Math.abs(r), n = Math.floor(a / 60), i = a % 60;\n if (i === 0)\n return t + String(n);\n var o = e || \"\";\n return t + String(n) + o + c(i, 2);\n}\nfunction we(r, e) {\n if (r % 60 === 0) {\n var t = r > 0 ? \"-\" : \"+\";\n return t + c(Math.abs(r) / 60, 2);\n }\n return _(r, e);\n}\nfunction _(r, e) {\n var t = e || \"\", a = r > 0 ? \"-\" : \"+\", n = Math.abs(r), i = c(Math.floor(n / 60), 2), o = c(n % 60, 2);\n return a + i + t + o;\n}\nconst ct = ft;\nvar Te = function(e, t) {\n switch (e) {\n case \"P\":\n return t.date({\n width: \"short\"\n });\n case \"PP\":\n return t.date({\n width: \"medium\"\n });\n case \"PPP\":\n return t.date({\n width: \"long\"\n });\n case \"PPPP\":\n default:\n return t.date({\n width: \"full\"\n });\n }\n}, Ue = function(e, t) {\n switch (e) {\n case \"p\":\n return t.time({\n width: \"short\"\n });\n case \"pp\":\n return t.time({\n width: \"medium\"\n });\n case \"ppp\":\n return t.time({\n width: \"long\"\n });\n case \"pppp\":\n default:\n return t.time({\n width: \"full\"\n });\n }\n}, mt = function(e, t) {\n var a = e.match(/(P+)(p+)?/) || [], n = a[1], i = a[2];\n if (!i)\n return Te(e, t);\n var o;\n switch (n) {\n case \"P\":\n o = t.dateTime({\n width: \"short\"\n });\n break;\n case \"PP\":\n o = t.dateTime({\n width: \"medium\"\n });\n break;\n case \"PPP\":\n o = t.dateTime({\n width: \"long\"\n });\n break;\n case \"PPPP\":\n default:\n o = t.dateTime({\n width: \"full\"\n });\n break;\n }\n return o.replace(\"{{date}}\", Te(n, t)).replace(\"{{time}}\", Ue(i, t));\n}, ht = {\n p: Ue,\n P: mt\n};\nconst vt = ht;\nvar gt = [\"D\", \"DD\"], wt = [\"YY\", \"YYYY\"];\nfunction Tt(r) {\n return gt.indexOf(r) !== -1;\n}\nfunction Dt(r) {\n return wt.indexOf(r) !== -1;\n}\nfunction De(r, e, t) {\n if (r === \"YYYY\")\n throw new RangeError(\"Use `yyyy` instead of `YYYY` (in `\".concat(e, \"`) for formatting years to the input `\").concat(t, \"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\"));\n if (r === \"YY\")\n throw new RangeError(\"Use `yy` instead of `YY` (in `\".concat(e, \"`) for formatting years to the input `\").concat(t, \"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\"));\n if (r === \"D\")\n throw new RangeError(\"Use `d` instead of `D` (in `\".concat(e, \"`) for formatting days of the month to the input `\").concat(t, \"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\"));\n if (r === \"DD\")\n throw new RangeError(\"Use `dd` instead of `DD` (in `\".concat(e, \"`) for formatting days of the month to the input `\").concat(t, \"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\"));\n}\nvar yt = {\n lessThanXSeconds: {\n one: \"less than a second\",\n other: \"less than {{count}} seconds\"\n },\n xSeconds: {\n one: \"1 second\",\n other: \"{{count}} seconds\"\n },\n halfAMinute: \"half a minute\",\n lessThanXMinutes: {\n one: \"less than a minute\",\n other: \"less than {{count}} minutes\"\n },\n xMinutes: {\n one: \"1 minute\",\n other: \"{{count}} minutes\"\n },\n aboutXHours: {\n one: \"about 1 hour\",\n other: \"about {{count}} hours\"\n },\n xHours: {\n one: \"1 hour\",\n other: \"{{count}} hours\"\n },\n xDays: {\n one: \"1 day\",\n other: \"{{count}} days\"\n },\n aboutXWeeks: {\n one: \"about 1 week\",\n other: \"about {{count}} weeks\"\n },\n xWeeks: {\n one: \"1 week\",\n other: \"{{count}} weeks\"\n },\n aboutXMonths: {\n one: \"about 1 month\",\n other: \"about {{count}} months\"\n },\n xMonths: {\n one: \"1 month\",\n other: \"{{count}} months\"\n },\n aboutXYears: {\n one: \"about 1 year\",\n other: \"about {{count}} years\"\n },\n xYears: {\n one: \"1 year\",\n other: \"{{count}} years\"\n },\n overXYears: {\n one: \"over 1 year\",\n other: \"over {{count}} years\"\n },\n almostXYears: {\n one: \"almost 1 year\",\n other: \"almost {{count}} years\"\n }\n}, pt = function(e, t, a) {\n var n, i = yt[e];\n return typeof i == \"string\" ? n = i : t === 1 ? n = i.one : n = i.other.replace(\"{{count}}\", t.toString()), a != null && a.addSuffix ? a.comparison && a.comparison > 0 ? \"in \" + n : n + \" ago\" : n;\n};\nconst Mt = pt;\nfunction K(r) {\n return function() {\n var e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}, t = e.width ? String(e.width) : r.defaultWidth, a = r.formats[t] || r.formats[r.defaultWidth];\n return a;\n };\n}\nvar Ot = {\n full: \"EEEE, MMMM do, y\",\n long: \"MMMM do, y\",\n medium: \"MMM d, y\",\n short: \"MM/dd/yyyy\"\n}, bt = {\n full: \"h:mm:ss a zzzz\",\n long: \"h:mm:ss a z\",\n medium: \"h:mm:ss a\",\n short: \"h:mm a\"\n}, Yt = {\n full: \"{{date}} 'at' {{time}}\",\n long: \"{{date}} 'at' {{time}}\",\n medium: \"{{date}}, {{time}}\",\n short: \"{{date}}, {{time}}\"\n}, Et = {\n date: K({\n formats: Ot,\n defaultWidth: \"full\"\n }),\n time: K({\n formats: bt,\n defaultWidth: \"full\"\n }),\n dateTime: K({\n formats: Yt,\n defaultWidth: \"full\"\n })\n};\nconst Nt = Et;\nvar _t = {\n lastWeek: \"'last' eeee 'at' p\",\n yesterday: \"'yesterday at' p\",\n today: \"'today at' p\",\n tomorrow: \"'tomorrow at' p\",\n nextWeek: \"eeee 'at' p\",\n other: \"P\"\n}, Ct = function(e, t, a, n) {\n return _t[e];\n};\nconst St = Ct;\nfunction R(r) {\n return function(e, t) {\n var a = t != null && t.context ? String(t.context) : \"standalone\", n;\n if (a === \"formatting\" && r.formattingValues) {\n var i = r.defaultFormattingWidth || r.defaultWidth, o = t != null && t.width ? String(t.width) : i;\n n = r.formattingValues[o] || r.formattingValues[i];\n } else {\n var u = r.defaultWidth, s = t != null && t.width ? String(t.width) : r.defaultWidth;\n n = r.values[s] || r.values[u];\n }\n var l = r.argumentCallback ? r.argumentCallback(e) : e;\n return n[l];\n };\n}\nvar xt = {\n narrow: [\"B\", \"A\"],\n abbreviated: [\"BC\", \"AD\"],\n wide: [\"Before Christ\", \"Anno Domini\"]\n}, Ut = {\n narrow: [\"1\", \"2\", \"3\", \"4\"],\n abbreviated: [\"Q1\", \"Q2\", \"Q3\", \"Q4\"],\n wide: [\"1st quarter\", \"2nd quarter\", \"3rd quarter\", \"4th quarter\"]\n}, kt = {\n narrow: [\"J\", \"F\", \"M\", \"A\", \"M\", \"J\", \"J\", \"A\", \"S\", \"O\", \"N\", \"D\"],\n abbreviated: [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"],\n wide: [\"January\", \"February\", \"March\", \"April\", \"May\", \"June\", \"July\", \"August\", \"September\", \"October\", \"November\", \"December\"]\n}, It = {\n narrow: [\"S\", \"M\", \"T\", \"W\", \"T\", \"F\", \"S\"],\n short: [\"Su\", \"Mo\", \"Tu\", \"We\", \"Th\", \"Fr\", \"Sa\"],\n abbreviated: [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"],\n wide: [\"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\"]\n}, Pt = {\n narrow: {\n am: \"a\",\n pm: \"p\",\n midnight: \"mi\",\n noon: \"n\",\n morning: \"morning\",\n afternoon: \"afternoon\",\n evening: \"evening\",\n night: \"night\"\n },\n abbreviated: {\n am: \"AM\",\n pm: \"PM\",\n midnight: \"midnight\",\n noon: \"noon\",\n morning: \"morning\",\n afternoon: \"afternoon\",\n evening: \"evening\",\n night: \"night\"\n },\n wide: {\n am: \"a.m.\",\n pm: \"p.m.\",\n midnight: \"midnight\",\n noon: \"noon\",\n morning: \"morning\",\n afternoon: \"afternoon\",\n evening: \"evening\",\n night: \"night\"\n }\n}, Rt = {\n narrow: {\n am: \"a\",\n pm: \"p\",\n midnight: \"mi\",\n noon: \"n\",\n morning: \"in the morning\",\n afternoon: \"in the afternoon\",\n evening: \"in the evening\",\n night: \"at night\"\n },\n abbreviated: {\n am: \"AM\",\n pm: \"PM\",\n midnight: \"midnight\",\n noon: \"noon\",\n morning: \"in the morning\",\n afternoon: \"in the afternoon\",\n evening: \"in the evening\",\n night: \"at night\"\n },\n wide: {\n am: \"a.m.\",\n pm: \"p.m.\",\n midnight: \"midnight\",\n noon: \"noon\",\n morning: \"in the morning\",\n afternoon: \"in the afternoon\",\n evening: \"in the evening\",\n night: \"at night\"\n }\n}, Lt = function(e, t) {\n var a = Number(e), n = a % 100;\n if (n > 20 || n < 10)\n switch (n % 10) {\n case 1:\n return a + \"st\";\n case 2:\n return a + \"nd\";\n case 3:\n return a + \"rd\";\n }\n return a + \"th\";\n}, Wt = {\n ordinalNumber: Lt,\n era: R({\n values: xt,\n defaultWidth: \"wide\"\n }),\n quarter: R({\n values: Ut,\n defaultWidth: \"wide\",\n argumentCallback: function(e) {\n return e - 1;\n }\n }),\n month: R({\n values: kt,\n defaultWidth: \"wide\"\n }),\n day: R({\n values: It,\n defaultWidth: \"wide\"\n }),\n dayPeriod: R({\n values: Pt,\n defaultWidth: \"wide\",\n formattingValues: Rt,\n defaultFormattingWidth: \"wide\"\n })\n};\nconst Ht = Wt;\nfunction L(r) {\n return function(e) {\n var t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, a = t.width, n = a && r.matchPatterns[a] || r.matchPatterns[r.defaultMatchWidth], i = e.match(n);\n if (!i)\n return null;\n var o = i[0], u = a && r.parsePatterns[a] || r.parsePatterns[r.defaultParseWidth], s = Array.isArray(u) ? At(u, function(f) {\n return f.test(o);\n }) : $t(u, function(f) {\n return f.test(o);\n }), l;\n l = r.valueCallback ? r.valueCallback(s) : s, l = t.valueCallback ? t.valueCallback(l) : l;\n var h = e.slice(o.length);\n return {\n value: l,\n rest: h\n };\n };\n}\nfunction $t(r, e) {\n for (var t in r)\n if (r.hasOwnProperty(t) && e(r[t]))\n return t;\n}\nfunction At(r, e) {\n for (var t = 0; t < r.length; t++)\n if (e(r[t]))\n return t;\n}\nfunction Ft(r) {\n return function(e) {\n var t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, a = e.match(r.matchPattern);\n if (!a)\n return null;\n var n = a[0], i = e.match(r.parsePattern);\n if (!i)\n return null;\n var o = r.valueCallback ? r.valueCallback(i[0]) : i[0];\n o = t.valueCallback ? t.valueCallback(o) : o;\n var u = e.slice(n.length);\n return {\n value: o,\n rest: u\n };\n };\n}\nvar Gt = /^(\\d+)(th|st|nd|rd)?/i, qt = /\\d+/i, jt = {\n narrow: /^(b|a)/i,\n abbreviated: /^(b\\.?\\s?c\\.?|b\\.?\\s?c\\.?\\s?e\\.?|a\\.?\\s?d\\.?|c\\.?\\s?e\\.?)/i,\n wide: /^(before christ|before common era|anno domini|common era)/i\n}, zt = {\n any: [/^b/i, /^(a|c)/i]\n}, Qt = {\n narrow: /^[1234]/i,\n abbreviated: /^q[1234]/i,\n wide: /^[1234](th|st|nd|rd)? quarter/i\n}, Vt = {\n any: [/1/i, /2/i, /3/i, /4/i]\n}, Xt = {\n narrow: /^[jfmasond]/i,\n abbreviated: /^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,\n wide: /^(january|february|march|april|may|june|july|august|september|october|november|december)/i\n}, Bt = {\n narrow: [/^j/i, /^f/i, /^m/i, /^a/i, /^m/i, /^j/i, /^j/i, /^a/i, /^s/i, /^o/i, /^n/i, /^d/i],\n any: [/^ja/i, /^f/i, /^mar/i, /^ap/i, /^may/i, /^jun/i, /^jul/i, /^au/i, /^s/i, /^o/i, /^n/i, /^d/i]\n}, Zt = {\n narrow: /^[smtwf]/i,\n short: /^(su|mo|tu|we|th|fr|sa)/i,\n abbreviated: /^(sun|mon|tue|wed|thu|fri|sat)/i,\n wide: /^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i\n}, Jt = {\n narrow: [/^s/i, /^m/i, /^t/i, /^w/i, /^t/i, /^f/i, /^s/i],\n any: [/^su/i, /^m/i, /^tu/i, /^w/i, /^th/i, /^f/i, /^sa/i]\n}, Kt = {\n narrow: /^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,\n any: /^([ap]\\.?\\s?m\\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i\n}, er = {\n any: {\n am: /^a/i,\n pm: /^p/i,\n midnight: /^mi/i,\n noon: /^no/i,\n morning: /morning/i,\n afternoon: /afternoon/i,\n evening: /evening/i,\n night: /night/i\n }\n}, tr = {\n ordinalNumber: Ft({\n matchPattern: Gt,\n parsePattern: qt,\n valueCallback: function(e) {\n return parseInt(e, 10);\n }\n }),\n era: L({\n matchPatterns: jt,\n defaultMatchWidth: \"wide\",\n parsePatterns: zt,\n defaultParseWidth: \"any\"\n }),\n quarter: L({\n matchPatterns: Qt,\n defaultMatchWidth: \"wide\",\n parsePatterns: Vt,\n defaultParseWidth: \"any\",\n valueCallback: function(e) {\n return e + 1;\n }\n }),\n month: L({\n matchPatterns: Xt,\n defaultMatchWidth: \"wide\",\n parsePatterns: Bt,\n defaultParseWidth: \"any\"\n }),\n day: L({\n matchPatterns: Zt,\n defaultMatchWidth: \"wide\",\n parsePatterns: Jt,\n defaultParseWidth: \"any\"\n }),\n dayPeriod: L({\n matchPatterns: Kt,\n defaultMatchWidth: \"any\",\n parsePatterns: er,\n defaultParseWidth: \"any\"\n })\n};\nconst rr = tr;\nvar ar = {\n code: \"en-US\",\n formatDistance: Mt,\n formatLong: Nt,\n formatRelative: St,\n localize: Ht,\n match: rr,\n options: {\n weekStartsOn: 0,\n firstWeekContainsDate: 1\n }\n};\nconst nr = ar;\nvar ir = /[yYQqMLwIdDecihHKkms]o|(\\w)\\1*|''|'(''|[^'])+('|$)|./g, or = /P+p+|P+|p+|''|'(''|[^'])+('|$)|./g, ur = /^'([^]*?)'?$/, sr = /''/g, lr = /[a-zA-Z]/;\nfunction dr(r, e, t) {\n var a, n, i, o, u, s, l, h, f, g, w, y, U, N, k, V, X, B;\n m(2, arguments);\n var He = String(e), I = H(), P = (a = (n = t == null ? void 0 : t.locale) !== null && n !== void 0 ? n : I.locale) !== null && a !== void 0 ? a : nr, Z = T((i = (o = (u = (s = t == null ? void 0 : t.firstWeekContainsDate) !== null && s !== void 0 ? s : t == null || (l = t.locale) === null || l === void 0 || (h = l.options) === null || h === void 0 ? void 0 : h.firstWeekContainsDate) !== null && u !== void 0 ? u : I.firstWeekContainsDate) !== null && o !== void 0 ? o : (f = I.locale) === null || f === void 0 || (g = f.options) === null || g === void 0 ? void 0 : g.firstWeekContainsDate) !== null && i !== void 0 ? i : 1);\n if (!(Z >= 1 && Z <= 7))\n throw new RangeError(\"firstWeekContainsDate must be between 1 and 7 inclusively\");\n var J = T((w = (y = (U = (N = t == null ? void 0 : t.weekStartsOn) !== null && N !== void 0 ? N : t == null || (k = t.locale) === null || k === void 0 || (V = k.options) === null || V === void 0 ? void 0 : V.weekStartsOn) !== null && U !== void 0 ? U : I.weekStartsOn) !== null && y !== void 0 ? y : (X = I.locale) === null || X === void 0 || (B = X.options) === null || B === void 0 ? void 0 : B.weekStartsOn) !== null && w !== void 0 ? w : 0);\n if (!(J >= 0 && J <= 6))\n throw new RangeError(\"weekStartsOn must be between 0 and 6 inclusively\");\n if (!P.localize)\n throw new RangeError(\"locale must contain localize property\");\n if (!P.formatLong)\n throw new RangeError(\"locale must contain formatLong property\");\n var $ = D(r);\n if (!et($))\n throw new RangeError(\"Invalid time value\");\n var $e = Be($), Ae = tt($, $e), Fe = {\n firstWeekContainsDate: Z,\n weekStartsOn: J,\n locale: P,\n _originalDate: $\n }, Ge = He.match(or).map(function(O) {\n var Y = O[0];\n if (Y === \"p\" || Y === \"P\") {\n var A = vt[Y];\n return A(O, P.formatLong);\n }\n return O;\n }).join(\"\").match(ir).map(function(O) {\n if (O === \"''\")\n return \"'\";\n var Y = O[0];\n if (Y === \"'\")\n return fr(O);\n var A = ct[Y];\n if (A)\n return !(t != null && t.useAdditionalWeekYearTokens) && Dt(O) && De(O, e, String(r)), !(t != null && t.useAdditionalDayOfYearTokens) && Tt(O) && De(O, e, String(r)), A(Ae, O, P.localize, Fe);\n if (Y.match(lr))\n throw new RangeError(\"Format string contains an unescaped latin alphabet character `\" + Y + \"`\");\n return O;\n }).join(\"\");\n return Ge;\n}\nfunction fr(r) {\n var e = r.match(ur);\n return e ? e[1].replace(sr, \"'\") : r;\n}\nfunction cr(r) {\n m(1, arguments);\n var e = D(r), t = e.getFullYear(), a = e.getMonth(), n = /* @__PURE__ */ new Date(0);\n return n.setFullYear(t, a + 1, 0), n.setHours(0, 0, 0, 0), n.getDate();\n}\nfunction ie(r) {\n m(1, arguments);\n var e = D(r), t = e.getTime();\n return t;\n}\nfunction ye(r) {\n return m(1, arguments), Math.floor(ie(r) / 1e3);\n}\nfunction mr(r) {\n return m(1, arguments), Math.floor(r * Je);\n}\nfunction hr(r, e) {\n m(2, arguments);\n var t = T(e);\n return ne(r, -t);\n}\nfunction vr(r) {\n m(1, arguments);\n var e = r / Ze;\n return Math.floor(e);\n}\nfunction ce(r, e) {\n m(2, arguments);\n var t = T(e);\n return Qe(r, -t);\n}\nfunction gr(r, e) {\n if (m(2, arguments), !e || W(e) !== \"object\")\n return /* @__PURE__ */ new Date(NaN);\n var t = e.years ? T(e.years) : 0, a = e.months ? T(e.months) : 0, n = e.weeks ? T(e.weeks) : 0, i = e.days ? T(e.days) : 0, o = e.hours ? T(e.hours) : 0, u = e.minutes ? T(e.minutes) : 0, s = e.seconds ? T(e.seconds) : 0, l = ce(r, a + t * 12), h = hr(l, i + n * 7), f = u + o * 60, g = s + f * 60, w = g * 1e3, y = new Date(h.getTime() - w);\n return y;\n}\nfunction Kr(r) {\n return dr(r, \"yyyy-MM-dd'T'HH:mm:ss.SSSXXX\");\n}\nfunction me(r) {\n return r && r.__esModule && Object.prototype.hasOwnProperty.call(r, \"default\") ? r.default : r;\n}\nvar ke = { exports: {} };\n(function(r) {\n function e(t) {\n return t && t.__esModule ? t : {\n default: t\n };\n }\n r.exports = e, r.exports.__esModule = !0, r.exports.default = r.exports;\n})(ke);\nvar wr = ke.exports, oe = { exports: {} };\n(function(r, e) {\n Object.defineProperty(e, \"__esModule\", {\n value: !0\n }), e.default = t;\n function t(a) {\n if (a === null || a === !0 || a === !1)\n return NaN;\n var n = Number(a);\n return isNaN(n) ? n : n < 0 ? Math.ceil(n) : Math.floor(n);\n }\n r.exports = e.default;\n})(oe, oe.exports);\nvar Tr = oe.exports;\nconst Dr = /* @__PURE__ */ me(Tr);\nvar ue = { exports: {} };\n(function(r, e) {\n Object.defineProperty(e, \"__esModule\", {\n value: !0\n }), e.default = t;\n function t(a) {\n var n = new Date(Date.UTC(a.getFullYear(), a.getMonth(), a.getDate(), a.getHours(), a.getMinutes(), a.getSeconds(), a.getMilliseconds()));\n return n.setUTCFullYear(a.getFullYear()), a.getTime() - n.getTime();\n }\n r.exports = e.default;\n})(ue, ue.exports);\nvar yr = ue.exports;\nconst pe = /* @__PURE__ */ me(yr);\nfunction pr(r, e) {\n var t = Yr(e);\n return t.formatToParts ? Or(t, r) : br(t, r);\n}\nvar Mr = {\n year: 0,\n month: 1,\n day: 2,\n hour: 3,\n minute: 4,\n second: 5\n};\nfunction Or(r, e) {\n try {\n for (var t = r.formatToParts(e), a = [], n = 0; n < t.length; n++) {\n var i = Mr[t[n].type];\n i >= 0 && (a[i] = parseInt(t[n].value, 10));\n }\n return a;\n } catch (o) {\n if (o instanceof RangeError)\n return [NaN];\n throw o;\n }\n}\nfunction br(r, e) {\n var t = r.format(e).replace(/\\u200E/g, \"\"), a = /(\\d+)\\/(\\d+)\\/(\\d+),? (\\d+):(\\d+):(\\d+)/.exec(t);\n return [a[3], a[1], a[2], a[4], a[5], a[6]];\n}\nvar ee = {};\nfunction Yr(r) {\n if (!ee[r]) {\n var e = new Intl.DateTimeFormat(\"en-US\", {\n hour12: !1,\n timeZone: \"America/New_York\",\n year: \"numeric\",\n month: \"numeric\",\n day: \"2-digit\",\n hour: \"2-digit\",\n minute: \"2-digit\",\n second: \"2-digit\"\n }).format(/* @__PURE__ */ new Date(\"2014-06-25T04:00:00.123Z\")), t = e === \"06/25/2014, 00:00:00\" || e === \"06/25/2014 00:00:00\";\n ee[r] = t ? new Intl.DateTimeFormat(\"en-US\", {\n hour12: !1,\n timeZone: r,\n year: \"numeric\",\n month: \"numeric\",\n day: \"2-digit\",\n hour: \"2-digit\",\n minute: \"2-digit\",\n second: \"2-digit\"\n }) : new Intl.DateTimeFormat(\"en-US\", {\n hourCycle: \"h23\",\n timeZone: r,\n year: \"numeric\",\n month: \"numeric\",\n day: \"2-digit\",\n hour: \"2-digit\",\n minute: \"2-digit\",\n second: \"2-digit\"\n });\n }\n return ee[r];\n}\nfunction he(r, e, t, a, n, i, o) {\n var u = /* @__PURE__ */ new Date(0);\n return u.setUTCFullYear(r, e, t), u.setUTCHours(a, n, i, o), u;\n}\nvar Me = 36e5, Er = 6e4, te = {\n timezone: /([Z+-].*)$/,\n timezoneZ: /^(Z)$/,\n timezoneHH: /^([+-]\\d{2})$/,\n timezoneHHMM: /^([+-]\\d{2}):?(\\d{2})$/\n};\nfunction z(r, e, t) {\n var a, n;\n if (!r || (a = te.timezoneZ.exec(r), a))\n return 0;\n var i;\n if (a = te.timezoneHH.exec(r), a)\n return i = parseInt(a[1], 10), Oe(i) ? -(i * Me) : NaN;\n if (a = te.timezoneHHMM.exec(r), a) {\n i = parseInt(a[1], 10);\n var o = parseInt(a[2], 10);\n return Oe(i, o) ? (n = Math.abs(i) * Me + o * Er, i > 0 ? -n : n) : NaN;\n }\n if (Cr(r)) {\n e = new Date(e || Date.now());\n var u = t ? e : Nr(e), s = se(u, r), l = t ? s : _r(e, s, r);\n return -l;\n }\n return NaN;\n}\nfunction Nr(r) {\n return he(\n r.getFullYear(),\n r.getMonth(),\n r.getDate(),\n r.getHours(),\n r.getMinutes(),\n r.getSeconds(),\n r.getMilliseconds()\n );\n}\nfunction se(r, e) {\n var t = pr(r, e), a = he(\n t[0],\n t[1] - 1,\n t[2],\n t[3] % 24,\n t[4],\n t[5],\n 0\n ).getTime(), n = r.getTime(), i = n % 1e3;\n return n -= i >= 0 ? i : 1e3 + i, a - n;\n}\nfunction _r(r, e, t) {\n var a = r.getTime(), n = a - e, i = se(new Date(n), t);\n if (e === i)\n return e;\n n -= i - e;\n var o = se(new Date(n), t);\n return i === o ? i : Math.max(i, o);\n}\nfunction Oe(r, e) {\n return -23 <= r && r <= 23 && (e == null || 0 <= e && e <= 59);\n}\nvar be = {};\nfunction Cr(r) {\n if (be[r])\n return !0;\n try {\n return new Intl.DateTimeFormat(void 0, { timeZone: r }), be[r] = !0, !0;\n } catch {\n return !1;\n }\n}\nvar Sr = /(Z|[+-]\\d{2}(?::?\\d{2})?| UTC| [a-zA-Z]+\\/[a-zA-Z_]+(?:\\/[a-zA-Z_]+)?)$/;\nconst Ie = Sr;\nvar re = 36e5, Ye = 6e4, xr = 2, p = {\n dateTimePattern: /^([0-9W+-]+)(T| )(.*)/,\n datePattern: /^([0-9W+-]+)(.*)/,\n plainTime: /:/,\n // year tokens\n YY: /^(\\d{2})$/,\n YYY: [\n /^([+-]\\d{2})$/,\n // 0 additional digits\n /^([+-]\\d{3})$/,\n // 1 additional digit\n /^([+-]\\d{4})$/\n // 2 additional digits\n ],\n YYYY: /^(\\d{4})/,\n YYYYY: [\n /^([+-]\\d{4})/,\n // 0 additional digits\n /^([+-]\\d{5})/,\n // 1 additional digit\n /^([+-]\\d{6})/\n // 2 additional digits\n ],\n // date tokens\n MM: /^-(\\d{2})$/,\n DDD: /^-?(\\d{3})$/,\n MMDD: /^-?(\\d{2})-?(\\d{2})$/,\n Www: /^-?W(\\d{2})$/,\n WwwD: /^-?W(\\d{2})-?(\\d{1})$/,\n HH: /^(\\d{2}([.,]\\d*)?)$/,\n HHMM: /^(\\d{2}):?(\\d{2}([.,]\\d*)?)$/,\n HHMMSS: /^(\\d{2}):?(\\d{2}):?(\\d{2}([.,]\\d*)?)$/,\n // time zone tokens (to identify the presence of a tz)\n timeZone: Ie\n};\nfunction le(r, e) {\n if (arguments.length < 1)\n throw new TypeError(\"1 argument required, but only \" + arguments.length + \" present\");\n if (r === null)\n return /* @__PURE__ */ new Date(NaN);\n var t = e || {}, a = t.additionalDigits == null ? xr : Dr(t.additionalDigits);\n if (a !== 2 && a !== 1 && a !== 0)\n throw new RangeError(\"additionalDigits must be 0, 1 or 2\");\n if (r instanceof Date || typeof r == \"object\" && Object.prototype.toString.call(r) === \"[object Date]\")\n return new Date(r.getTime());\n if (typeof r == \"number\" || Object.prototype.toString.call(r) === \"[object Number]\")\n return new Date(r);\n if (!(typeof r == \"string\" || Object.prototype.toString.call(r) === \"[object String]\"))\n return /* @__PURE__ */ new Date(NaN);\n var n = Ur(r), i = kr(n.date, a), o = i.year, u = i.restDateString, s = Ir(u, o);\n if (isNaN(s))\n return /* @__PURE__ */ new Date(NaN);\n if (s) {\n var l = s.getTime(), h = 0, f;\n if (n.time && (h = Pr(n.time), isNaN(h)))\n return /* @__PURE__ */ new Date(NaN);\n if (n.timeZone || t.timeZone) {\n if (f = z(n.timeZone || t.timeZone, new Date(l + h)), isNaN(f))\n return /* @__PURE__ */ new Date(NaN);\n } else\n f = pe(new Date(l + h)), f = pe(new Date(l + h + f));\n return new Date(l + h + f);\n } else\n return /* @__PURE__ */ new Date(NaN);\n}\nfunction Ur(r) {\n var e = {}, t = p.dateTimePattern.exec(r), a;\n if (t ? (e.date = t[1], a = t[3]) : (t = p.datePattern.exec(r), t ? (e.date = t[1], a = t[2]) : (e.date = null, a = r)), a) {\n var n = p.timeZone.exec(a);\n n ? (e.time = a.replace(n[1], \"\"), e.timeZone = n[1].trim()) : e.time = a;\n }\n return e;\n}\nfunction kr(r, e) {\n var t = p.YYY[e], a = p.YYYYY[e], n;\n if (n = p.YYYY.exec(r) || a.exec(r), n) {\n var i = n[1];\n return {\n year: parseInt(i, 10),\n restDateString: r.slice(i.length)\n };\n }\n if (n = p.YY.exec(r) || t.exec(r), n) {\n var o = n[1];\n return {\n year: parseInt(o, 10) * 100,\n restDateString: r.slice(o.length)\n };\n }\n return {\n year: null\n };\n}\nfunction Ir(r, e) {\n if (e === null)\n return null;\n var t, a, n, i;\n if (r.length === 0)\n return a = /* @__PURE__ */ new Date(0), a.setUTCFullYear(e), a;\n if (t = p.MM.exec(r), t)\n return a = /* @__PURE__ */ new Date(0), n = parseInt(t[1], 10) - 1, Ne(e, n) ? (a.setUTCFullYear(e, n), a) : /* @__PURE__ */ new Date(NaN);\n if (t = p.DDD.exec(r), t) {\n a = /* @__PURE__ */ new Date(0);\n var o = parseInt(t[1], 10);\n return Wr(e, o) ? (a.setUTCFullYear(e, 0, o), a) : /* @__PURE__ */ new Date(NaN);\n }\n if (t = p.MMDD.exec(r), t) {\n a = /* @__PURE__ */ new Date(0), n = parseInt(t[1], 10) - 1;\n var u = parseInt(t[2], 10);\n return Ne(e, n, u) ? (a.setUTCFullYear(e, n, u), a) : /* @__PURE__ */ new Date(NaN);\n }\n if (t = p.Www.exec(r), t)\n return i = parseInt(t[1], 10) - 1, _e(e, i) ? Ee(e, i) : /* @__PURE__ */ new Date(NaN);\n if (t = p.WwwD.exec(r), t) {\n i = parseInt(t[1], 10) - 1;\n var s = parseInt(t[2], 10) - 1;\n return _e(e, i, s) ? Ee(e, i, s) : /* @__PURE__ */ new Date(NaN);\n }\n return null;\n}\nfunction Pr(r) {\n var e, t, a;\n if (e = p.HH.exec(r), e)\n return t = parseFloat(e[1].replace(\",\", \".\")), ae(t) ? t % 24 * re : NaN;\n if (e = p.HHMM.exec(r), e)\n return t = parseInt(e[1], 10), a = parseFloat(e[2].replace(\",\", \".\")), ae(t, a) ? t % 24 * re + a * Ye : NaN;\n if (e = p.HHMMSS.exec(r), e) {\n t = parseInt(e[1], 10), a = parseInt(e[2], 10);\n var n = parseFloat(e[3].replace(\",\", \".\"));\n return ae(t, a, n) ? t % 24 * re + a * Ye + n * 1e3 : NaN;\n }\n return null;\n}\nfunction Ee(r, e, t) {\n e = e || 0, t = t || 0;\n var a = /* @__PURE__ */ new Date(0);\n a.setUTCFullYear(r, 0, 4);\n var n = a.getUTCDay() || 7, i = e * 7 + t + 1 - n;\n return a.setUTCDate(a.getUTCDate() + i), a;\n}\nvar Rr = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31], Lr = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\nfunction Pe(r) {\n return r % 400 === 0 || r % 4 === 0 && r % 100 !== 0;\n}\nfunction Ne(r, e, t) {\n if (e < 0 || e > 11)\n return !1;\n if (t != null) {\n if (t < 1)\n return !1;\n var a = Pe(r);\n if (a && t > Lr[e] || !a && t > Rr[e])\n return !1;\n }\n return !0;\n}\nfunction Wr(r, e) {\n if (e < 1)\n return !1;\n var t = Pe(r);\n return !(t && e > 366 || !t && e > 365);\n}\nfunction _e(r, e, t) {\n return !(e < 0 || e > 52 || t != null && (t < 0 || t > 6));\n}\nfunction ae(r, e, t) {\n return !(r != null && (r < 0 || r >= 25) || e != null && (e < 0 || e >= 60) || t != null && (t < 0 || t >= 60));\n}\nvar de = { exports: {} }, fe = { exports: {} };\n(function(r, e) {\n Object.defineProperty(e, \"__esModule\", {\n value: !0\n }), e.default = t;\n function t(a, n) {\n if (a == null)\n throw new TypeError(\"assign requires that input parameter not be null or undefined\");\n for (var i in n)\n Object.prototype.hasOwnProperty.call(n, i) && (a[i] = n[i]);\n return a;\n }\n r.exports = e.default;\n})(fe, fe.exports);\nvar Hr = fe.exports;\n(function(r, e) {\n var t = wr.default;\n Object.defineProperty(e, \"__esModule\", {\n value: !0\n }), e.default = n;\n var a = t(Hr);\n function n(i) {\n return (0, a.default)({}, i);\n }\n r.exports = e.default;\n})(de, de.exports);\nvar $r = de.exports;\nconst Ar = /* @__PURE__ */ me($r);\nfunction Fr(r, e, t) {\n var a = le(r, t), n = z(e, a, !0), i = new Date(a.getTime() - n), o = /* @__PURE__ */ new Date(0);\n return o.setFullYear(i.getUTCFullYear(), i.getUTCMonth(), i.getUTCDate()), o.setHours(i.getUTCHours(), i.getUTCMinutes(), i.getUTCSeconds(), i.getUTCMilliseconds()), o;\n}\nfunction Re(r, e) {\n return -z(r, e);\n}\nfunction Gr(r, e, t) {\n if (typeof r == \"string\" && !r.match(Ie)) {\n var a = Ar(t);\n return a.timeZone = e, le(r, a);\n }\n var n = le(r, t), i = he(\n n.getFullYear(),\n n.getMonth(),\n n.getDate(),\n n.getHours(),\n n.getMinutes(),\n n.getSeconds(),\n n.getMilliseconds()\n ).getTime(), o = z(e, new Date(i));\n return new Date(i + o);\n}\nconst j = {\n [d.MINUTELY]: 60 * 1e3,\n [d.HOURLY]: 60 * 60 * 1e3,\n [d.DAILY]: 60 * 60 * 24 * 1e3,\n [d.WEEKLY]: 60 * 60 * 24 * 7 * 1e3\n};\nfunction ea(r, e) {\n return r.map((t) => ({\n value: t,\n label: e.t(`configuration.vitals.reports.granularity.${t}`)\n }));\n}\nfunction qr(r, e) {\n return r ? {\n duration: r,\n type: \"duration\",\n origin: e\n } : null;\n}\nfunction ta(r) {\n return r && Object.values(d).find((t) => r <= j[t]) || null;\n}\nfunction Le(r, e, t, a) {\n const n = j[t];\n let i = 0;\n return n >= j[d.DAILY] && (a ? i = -Re(a, e) : i = e.getTimezoneOffset() * 60 * 1e3), new Date(r((e.getTime() - i) / n) * n + i);\n}\nfunction Ce(r, e, t) {\n return Le(Math.floor, r, e, t);\n}\nfunction We(r, e, t) {\n return Le(Math.ceil, r, e, t);\n}\nclass Q {\n constructor(e, t) {\n M(this, \"timeframe\");\n M(this, \"tz\");\n if (this.constructor === Q)\n throw new Error(\"BaseQueryTime is not meant to be used directly.\");\n this.timeframe = e, this.tz = t;\n }\n calculateStartDate(e, t, a = 1) {\n if (e)\n return new Date(this.endDate().getTime() - this.timeframe.timeframeLengthMs() * a);\n {\n const n = this.endDate(), i = this.timeframe.rawStart(this.tz), o = Ce(i, t, this.tz), s = (n.getTime() - o.getTime()) * (a - 1);\n return Ce(\n new Date(i.getTime() - s),\n t,\n this.tz\n );\n }\n }\n granularitySeconds() {\n return Math.floor(this.granularityMs() / 1e3);\n }\n granularityDruid() {\n return qr(this.granularityMs(), this.startDate().toISOString());\n }\n // Return a UNIX timestamp suitable for use in the `start` query param.\n startSeconds() {\n return ye(this.startDate());\n }\n // Return a UNIX timestamp suitable for use in the `end` query param.\n endSeconds() {\n return ye(this.endDate());\n }\n // Return epoch time in milliseconds, suitable for use in the `startMs` query param.\n startMs() {\n return ie(this.startDate());\n }\n // Return epoch time in milliseconds, suitable for use in the `endMs` query param.\n endMs() {\n return ie(this.endDate());\n }\n // Return whether the timeframe's bounds are within the allotment for a free tier user.\n withinFreeTier() {\n return this.startDate() >= gr(/* @__PURE__ */ new Date(), { days: 1 });\n }\n}\nclass ra extends Q {\n constructor(t, a, n) {\n super(t, n);\n M(this, \"granularity\");\n a && t.allowedGranularities().has(a) ? this.granularity = a : this.granularity = t.defaultResponseGranularity;\n }\n startDate() {\n return this.calculateStartDate(this.timeframe.isRelative, this.granularity);\n }\n endDate() {\n return We(this.timeframe.rawEnd(), this.granularity, this.tz);\n }\n granularityMs() {\n return j[this.granularity];\n }\n}\nclass jr extends Q {\n startDate() {\n return this.calculateStartDate(this.timeframe.isRelative, this.timeframe.dataGranularity);\n }\n endDate() {\n return We(this.timeframe.rawEnd(this.tz), this.timeframe.dataGranularity, this.tz);\n }\n granularityMs() {\n return this.endDate().getTime() - this.startDate().getTime();\n }\n}\nclass aa extends jr {\n startDate() {\n return this.calculateStartDate(this.timeframe.isRelative, this.timeframe.dataGranularity, 2);\n }\n granularityMs() {\n return this.endDate().getTime() - super.startDate().getTime();\n }\n}\nconst x = (r, e) => new Date(r.getTime() - Re(e, r));\nclass b {\n constructor(e) {\n M(this, \"timeframeText\");\n M(this, \"key\");\n M(this, \"display\");\n M(this, \"timeframeLength\");\n M(this, \"allowedTiers\");\n // defaultResponseGranularity tracks which of the allowed granularities is picked for a given\n // timeframe if the user does not or cannot specify a granularity.\n M(this, \"defaultResponseGranularity\");\n // dataGranularity tracks the granularity of the available data on the server for a specific timeframe.\n // As of writing, it's always the same as the default response granularity, but it may not always be.\n // It controls how timeframes are rounded to ensure complete time buckets from the server.\n M(this, \"dataGranularity\");\n // isRelative impacts whether we take the `floor` or the `ceil` of the start time.\n // If the time range is relative, we want the ceil -- because we take the ceil of the\n // end time to make sure we're showing all the data we can for the last time bucket.\n // If the time range is absolute, we want the floor -- because otherwise we wouldn't be including\n // the first time bucket.\n M(this, \"isRelative\");\n M(this, \"_startCustom\");\n M(this, \"_endCustom\");\n this.display = e.display, this.timeframeText = e.timeframeText, this.key = e.key, this.timeframeLength = e.timeframeLength, this.allowedTiers = e.allowedTiers, this.defaultResponseGranularity = e.defaultResponseGranularity, this.dataGranularity = e.dataGranularity, this.isRelative = e.isRelative, this._startCustom = e.startCustom, this._endCustom = e.endCustom;\n }\n // rawEnd does not consider granularity and should not be used directly in queries.\n // Use `new QueryTime(timeframe, granularity?).queryEndSeconds()` instead.\n // eslint-disable-next-line -- `tz` is required because it's used in subclasses.\n rawEnd(e) {\n return this._endCustom || /* @__PURE__ */ new Date();\n }\n // rawStart does not consider granularity and should not be used directly in queries.\n // Use `new QueryTime(timeframe, granularity?).queryStartSeconds()` instead.\n // eslint-disable-next-line -- `tz` is required because it's used in subclasses.\n rawStart(e) {\n return this._startCustom || new Date(this.rawEnd().getTime() - this.timeframeLengthMs());\n }\n timeframeLengthMs() {\n return this.timeframeLength() * 1e3;\n }\n maximumTimeframeLength() {\n return this.timeframeLength();\n }\n allowedGranularities() {\n const e = /* @__PURE__ */ new Set(), t = this.maximumTimeframeLength() / 3600;\n return t <= 6 && e.add(d.MINUTELY), t >= 2 && t <= 7 * 24 && e.add(d.HOURLY), t >= 2 * 24 && e.add(d.DAILY), t >= 2 * 24 * 14 && e.add(d.WEEKLY), e;\n }\n tzAdjustedDate(e) {\n if (!e)\n return /* @__PURE__ */ new Date();\n const t = Gr(/* @__PURE__ */ new Date(), new Intl.DateTimeFormat().resolvedOptions().timeZone);\n return Fr(t, e);\n }\n}\nclass zr extends b {\n rawStart(e) {\n let t = F(this.tzAdjustedDate(e), { weekStartsOn: 1 });\n return e && (t = x(t, e)), t;\n }\n maximumTimeframeLength() {\n return 60 * 60 * 24 * 7;\n }\n}\nclass Qr extends b {\n rawStart(e) {\n let t = S(this.tzAdjustedDate(e));\n return e && (t = x(t, e)), t;\n }\n maximumTimeframeLength() {\n return 60 * 60 * 24 * 31;\n }\n}\nclass Vr extends b {\n rawEnd(e) {\n let t = F(this.tzAdjustedDate(e), { weekStartsOn: 1 });\n return e && (t = x(t, e)), t;\n }\n rawStart(e) {\n const t = this.tzAdjustedDate(e);\n let a = F(t.setDate(t.getDate() - 7), {\n weekStartsOn: 1\n });\n return e && (a = x(a, e)), a;\n }\n}\nclass Xr extends b {\n rawEnd(e) {\n let t = S(this.tzAdjustedDate(e));\n return e && (t = x(t, e)), t;\n }\n rawStart(e) {\n let t = S(ce(this.tzAdjustedDate(e), 1));\n return e && (t = x(t, e)), t;\n }\n}\nconst Br = /* @__PURE__ */ new Map([\n [\n v.FIFTEEN_MIN,\n new b({\n key: v.FIFTEEN_MIN,\n display: \"Last 15 minutes\",\n timeframeText: \"15 minutes\",\n timeframeLength: () => 60 * 15,\n defaultResponseGranularity: d.MINUTELY,\n dataGranularity: d.MINUTELY,\n isRelative: !0,\n allowedTiers: [\"free\", \"trial\", \"plus\", \"enterprise\"]\n })\n ],\n [\n v.ONE_HOUR,\n new b({\n key: v.ONE_HOUR,\n display: \"Last hour\",\n timeframeText: \"One hour\",\n timeframeLength: () => 60 * 60 * 1,\n defaultResponseGranularity: d.MINUTELY,\n dataGranularity: d.MINUTELY,\n isRelative: !0,\n allowedTiers: [\"free\", \"trial\", \"plus\", \"enterprise\"]\n })\n ],\n [\n v.SIX_HOUR,\n new b({\n key: v.SIX_HOUR,\n display: \"Last 6 hours\",\n timeframeText: \"6 hours\",\n timeframeLength: () => 60 * 60 * 6,\n defaultResponseGranularity: d.HOURLY,\n dataGranularity: d.HOURLY,\n isRelative: !0,\n allowedTiers: [\"free\", \"trial\", \"plus\", \"enterprise\"]\n })\n ],\n [\n v.TWELVE_HOUR,\n new b({\n key: v.TWELVE_HOUR,\n display: \"Last 12 hours\",\n timeframeText: \"12 hours\",\n timeframeLength: () => 60 * 60 * 12,\n defaultResponseGranularity: d.HOURLY,\n dataGranularity: d.HOURLY,\n isRelative: !0,\n allowedTiers: [\"free\", \"trial\", \"plus\", \"enterprise\"]\n })\n ],\n [\n v.ONE_DAY,\n new b({\n key: v.ONE_DAY,\n display: \"Last 24 hours\",\n timeframeText: \"24 hours\",\n timeframeLength: () => 60 * 60 * 24,\n defaultResponseGranularity: d.HOURLY,\n dataGranularity: d.HOURLY,\n isRelative: !0,\n allowedTiers: [\"free\", \"trial\", \"plus\", \"enterprise\"]\n })\n ],\n [\n v.SEVEN_DAY,\n new b({\n key: v.SEVEN_DAY,\n display: \"Last 7 days\",\n timeframeText: \"7 days\",\n timeframeLength: () => 60 * 60 * 24 * 7,\n defaultResponseGranularity: d.DAILY,\n dataGranularity: d.DAILY,\n isRelative: !0,\n allowedTiers: [\"trial\", \"plus\", \"enterprise\"]\n })\n ],\n [\n v.THIRTY_DAY,\n new b({\n key: v.THIRTY_DAY,\n display: \"Last 30 days\",\n timeframeText: \"30 days\",\n timeframeLength: () => 60 * 60 * 24 * 30,\n defaultResponseGranularity: d.DAILY,\n dataGranularity: d.DAILY,\n isRelative: !0,\n allowedTiers: [\"trial\", \"plus\", \"enterprise\"]\n })\n ],\n [\n v.CURRENT_WEEK,\n new zr({\n key: v.CURRENT_WEEK,\n display: \"This week\",\n timeframeText: \"Week\",\n timeframeLength: () => {\n const r = F(/* @__PURE__ */ new Date(), { weekStartsOn: 1 });\n return (ve(ne(/* @__PURE__ */ new Date(), 1)).getTime() - r.getTime()) / 1e3;\n },\n defaultResponseGranularity: d.DAILY,\n dataGranularity: d.DAILY,\n isRelative: !1,\n allowedTiers: [\"plus\", \"enterprise\"]\n })\n ],\n [\n v.CURRENT_MONTH,\n new Qr({\n key: v.CURRENT_MONTH,\n display: \"This month\",\n timeframeText: \"Month\",\n timeframeLength: () => {\n const r = S(/* @__PURE__ */ new Date());\n return (ve(ne(/* @__PURE__ */ new Date(), 1)).getTime() - r.getTime()) / 1e3;\n },\n defaultResponseGranularity: d.DAILY,\n dataGranularity: d.DAILY,\n isRelative: !1,\n allowedTiers: [\"plus\", \"enterprise\"]\n })\n ],\n [\n v.PREVIOUS_WEEK,\n new Vr({\n key: v.PREVIOUS_WEEK,\n display: \"Previous week\",\n timeframeText: \"Week\",\n timeframeLength: () => 60 * 60 * 24 * 7,\n defaultResponseGranularity: d.DAILY,\n dataGranularity: d.DAILY,\n isRelative: !1,\n allowedTiers: [\"plus\", \"enterprise\"]\n })\n ],\n [\n v.PREVIOUS_MONTH,\n new Xr({\n key: v.PREVIOUS_MONTH,\n display: \"Previous month\",\n timeframeText: \"Month\",\n timeframeLength: () => {\n let r = 0;\n const e = S(/* @__PURE__ */ new Date()), t = S(ce(/* @__PURE__ */ new Date(), 1));\n return e.getTimezoneOffset() !== t.getTimezoneOffset() && (r = Zr(e, t)), 60 * 60 * 24 * cr((/* @__PURE__ */ new Date()).setMonth((/* @__PURE__ */ new Date()).getMonth() - 1)) + mr(r);\n },\n defaultResponseGranularity: d.DAILY,\n dataGranularity: d.DAILY,\n isRelative: !1,\n allowedTiers: [\"plus\", \"enterprise\"]\n })\n ]\n]);\nfunction na(r) {\n const e = new Date(r.start), t = new Date(r.end), a = (t.getTime() - e.getTime()) / 1e3;\n return r.timePeriodsKey && Br.get(r.timePeriodsKey) || new b({\n key: \"custom\",\n timeframeText: \"custom\",\n display: \"custom\",\n startCustom: e,\n endCustom: t,\n timeframeLength: () => a,\n defaultResponseGranularity: d.DAILY,\n dataGranularity: d.DAILY,\n isRelative: !1,\n allowedTiers: [\"free\", \"plus\", \"enterprise\"]\n });\n}\nfunction ia(r) {\n return {\n ...r.key !== \"custom\" && { timePeriodsKey: r.key },\n start: r.rawStart(),\n end: r.rawEnd()\n };\n}\nfunction oa(r) {\n return {\n key: r.key,\n display: r.display,\n timeframeText: r.timeframeText,\n timeframeLength: () => r.key,\n // Used to generate test IDs for the Kongponent.\n start: () => r.rawStart(),\n end: () => r.rawEnd()\n };\n}\nfunction Zr(r, e) {\n return vr(r.getTimezoneOffset() - e.getTimezoneOffset());\n}\nexport {\n ze as ChartTypes,\n aa as DeltaQueryTime,\n j as Granularities,\n d as GranularityKeys,\n Br as TimePeriods,\n b as Timeframe,\n v as TimeframeKeys,\n ra as TimeseriesQueryTime,\n jr as UnaryQueryTime,\n We as ceilToNearestTimeGrain,\n na as datePickerSelectionToTimeframe,\n Zr as dstOffsetHours,\n Ce as floorToNearestTimeGrain,\n Kr as formatISOTimeWithTZ,\n ea as granularitiesToOptions,\n qr as granularityMsToQuery,\n ta as msToGranularity,\n ia as timeframeToDatepickerSelection,\n oa as timeframeToDatepickerTimeperiod\n};\n//# sourceMappingURL=vitals-utilities.es.js.map\n","import { createI18n, i18nTComponent } from '@kong-ui-public/i18n'\nimport english from '../locales/en.json'\n\nexport default function useI18n() {\n const i18n = createI18n<typeof english>('en-us', english)\n\n return {\n i18n,\n i18nT: i18nTComponent<typeof english>(i18n), // Translation component <i18n-t>\n }\n}\n","// These enums are exported by the package, but eslint doesn't seem to realize this.\n/* eslint-disable no-unused-vars */\nexport enum EXPLORE_V2_DIMENSIONS {\n API_PRODUCT = 'API_PRODUCT',\n API_PRODUCT_VERSION = 'API_PRODUCT_VERSION',\n RUNTIME_GROUP = 'RUNTIME_GROUP',\n GATEWAY_INSTANCE_ID = 'GATEWAY_INSTANCE_ID',\n GATEWAY_SERVICE = 'GATEWAY_SERVICE',\n ROUTE = 'ROUTE',\n APPLICATION = 'APPLICATION',\n STATUS_CODE = 'STATUS_CODE',\n STATUS_CODE_GROUPED = 'STATUS_CODE_GROUPED',\n TIME = 'TIME',\n ORGANIZATION = 'ORGANIZATION',\n CONTROL_PLANE = 'CONTROL_PLANE',\n CONTROL_PLANE_GROUP = 'CONTROL_PLANE_GROUP',\n DATA_PLANE_NODE = 'DATA_PLANE_NODE',\n}\n\nexport enum EXPLORE_V2_AGGREGATIONS {\n REQUEST_COUNT = 'REQUEST_COUNT',\n REQUEST_PER_MINUTE = 'REQUEST_PER_MINUTE',\n RESPONSE_LATENCY_P99 = 'RESPONSE_LATENCY_P99',\n RESPONSE_LATENCY_P95 = 'RESPONSE_LATENCY_P95',\n RESPONSE_LATENCY_P50 = 'RESPONSE_LATENCY_P50',\n RESPONSE_SIZE_P99 = 'RESPONSE_SIZE_P99',\n RESPONSE_SIZE_P95 = 'RESPONSE_SIZE_P95',\n RESPONSE_SIZE_P50 = 'RESPONSE_SIZE_P50',\n REQUEST_SIZE_P99 = 'REQUEST_SIZE_P99',\n REQUEST_SIZE_P95 = 'REQUEST_SIZE_P95',\n REQUEST_SIZE_P50 = 'REQUEST_SIZE_P50',\n}\n\nexport enum EXPLORE_V2_FILTER_TYPES {\n IN = 'IN',\n NOT_IN = 'NOT_IN',\n}\n\nexport interface ExploreV2Filter {\n dimension: EXPLORE_V2_DIMENSIONS\n type: EXPLORE_V2_FILTER_TYPES\n values: string[]\n}\n\nexport interface ExploreV2Query {\n metrics: EXPLORE_V2_AGGREGATIONS[]\n dimensions?: EXPLORE_V2_DIMENSIONS[]\n filter?: ExploreV2Filter[]\n granularityMs?: number\n meta?: {\n queryId: string\n };\n}\n","export const MAX_ANALYTICS_REQUEST_RETRIES = 2\nexport const ALL_STATUS_CODE_GROUPS = ['1XX', '2XX', '3XX', '4XX', '5XX']\nexport const STATUS_CODES_FAILED = ['4XX', '5XX']\nexport const STATUS_CODES_SUCCESS = ['1XX', '2XX', '3XX']\n","import { ref as q, readonly as ae, computed as fe, nextTick as ie, getCurrentInstance as ye, reactive as Te, onMounted as pe, onUnmounted as Ce, watch as De, isReadonly as Se, toRefs as Oe, watchEffect as Pe } from \"vue\";\nfunction B(r) {\n \"@babel/helpers - typeof\";\n return B = typeof Symbol == \"function\" && typeof Symbol.iterator == \"symbol\" ? function(e) {\n return typeof e;\n } : function(e) {\n return e && typeof Symbol == \"function\" && e.constructor === Symbol && e !== Symbol.prototype ? \"symbol\" : typeof e;\n }, B(r);\n}\nfunction A(r) {\n if (r === null || r === !0 || r === !1)\n return NaN;\n var e = Number(r);\n return isNaN(e) ? e : e < 0 ? Math.ceil(e) : Math.floor(e);\n}\nfunction T(r, e) {\n if (e.length < r)\n throw new TypeError(r + \" argument\" + (r > 1 ? \"s\" : \"\") + \" required, but only \" + e.length + \" present\");\n}\nfunction P(r) {\n T(1, arguments);\n var e = Object.prototype.toString.call(r);\n return r instanceof Date || B(r) === \"object\" && e === \"[object Date]\" ? new Date(r.getTime()) : typeof r == \"number\" || e === \"[object Number]\" ? new Date(r) : ((typeof r == \"string\" || e === \"[object String]\") && typeof console < \"u\" && (console.warn(\"Starting with v2.0.0-beta.1 date-fns doesn't accept strings as date arguments. Please use `parseISO` to parse strings. See: https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#string-arguments\"), console.warn(new Error().stack)), /* @__PURE__ */ new Date(NaN));\n}\nfunction Ee(r, e) {\n T(2, arguments);\n var t = P(r).getTime(), n = A(e);\n return new Date(t + n);\n}\nvar Me = {};\nfunction K() {\n return Me;\n}\nfunction ke(r) {\n var e = new Date(Date.UTC(r.getFullYear(), r.getMonth(), r.getDate(), r.getHours(), r.getMinutes(), r.getSeconds(), r.getMilliseconds()));\n return e.setUTCFullYear(r.getFullYear()), r.getTime() - e.getTime();\n}\nfunction _e(r) {\n return T(1, arguments), r instanceof Date || B(r) === \"object\" && Object.prototype.toString.call(r) === \"[object Date]\";\n}\nfunction xe(r) {\n if (T(1, arguments), !_e(r) && typeof r != \"number\")\n return !1;\n var e = P(r);\n return !isNaN(Number(e));\n}\nfunction We(r, e) {\n T(2, arguments);\n var t = A(e);\n return Ee(r, -t);\n}\nvar Re = 864e5;\nfunction Ue(r) {\n T(1, arguments);\n var e = P(r), t = e.getTime();\n e.setUTCMonth(0, 1), e.setUTCHours(0, 0, 0, 0);\n var n = e.getTime(), a = t - n;\n return Math.floor(a / Re) + 1;\n}\nfunction X(r) {\n T(1, arguments);\n var e = 1, t = P(r), n = t.getUTCDay(), a = (n < e ? 7 : 0) + n - e;\n return t.setUTCDate(t.getUTCDate() - a), t.setUTCHours(0, 0, 0, 0), t;\n}\nfunction ve(r) {\n T(1, arguments);\n var e = P(r), t = e.getUTCFullYear(), n = /* @__PURE__ */ new Date(0);\n n.setUTCFullYear(t + 1, 0, 4), n.setUTCHours(0, 0, 0, 0);\n var a = X(n), i = /* @__PURE__ */ new Date(0);\n i.setUTCFullYear(t, 0, 4), i.setUTCHours(0, 0, 0, 0);\n var o = X(i);\n return e.getTime() >= a.getTime() ? t + 1 : e.getTime() >= o.getTime() ? t : t - 1;\n}\nfunction Ae(r) {\n T(1, arguments);\n var e = ve(r), t = /* @__PURE__ */ new Date(0);\n t.setUTCFullYear(e, 0, 4), t.setUTCHours(0, 0, 0, 0);\n var n = X(t);\n return n;\n}\nvar Le = 6048e5;\nfunction Ye(r) {\n T(1, arguments);\n var e = P(r), t = X(e).getTime() - Ae(e).getTime();\n return Math.round(t / Le) + 1;\n}\nfunction Q(r, e) {\n var t, n, a, i, o, s, l, u;\n T(1, arguments);\n var c = K(), v = A((t = (n = (a = (i = e == null ? void 0 : e.weekStartsOn) !== null && i !== void 0 ? i : e == null || (o = e.locale) === null || o === void 0 || (s = o.options) === null || s === void 0 ? void 0 : s.weekStartsOn) !== null && a !== void 0 ? a : c.weekStartsOn) !== null && n !== void 0 ? n : (l = c.locale) === null || l === void 0 || (u = l.options) === null || u === void 0 ? void 0 : u.weekStartsOn) !== null && t !== void 0 ? t : 0);\n if (!(v >= 0 && v <= 6))\n throw new RangeError(\"weekStartsOn must be between 0 and 6 inclusively\");\n var d = P(r), f = d.getUTCDay(), g = (f < v ? 7 : 0) + f - v;\n return d.setUTCDate(d.getUTCDate() - g), d.setUTCHours(0, 0, 0, 0), d;\n}\nfunction he(r, e) {\n var t, n, a, i, o, s, l, u;\n T(1, arguments);\n var c = P(r), v = c.getUTCFullYear(), d = K(), f = A((t = (n = (a = (i = e == null ? void 0 : e.firstWeekContainsDate) !== null && i !== void 0 ? i : e == null || (o = e.locale) === null || o === void 0 || (s = o.options) === null || s === void 0 ? void 0 : s.firstWeekContainsDate) !== null && a !== void 0 ? a : d.firstWeekContainsDate) !== null && n !== void 0 ? n : (l = d.locale) === null || l === void 0 || (u = l.options) === null || u === void 0 ? void 0 : u.firstWeekContainsDate) !== null && t !== void 0 ? t : 1);\n if (!(f >= 1 && f <= 7))\n throw new RangeError(\"firstWeekContainsDate must be between 1 and 7 inclusively\");\n var g = /* @__PURE__ */ new Date(0);\n g.setUTCFullYear(v + 1, 0, f), g.setUTCHours(0, 0, 0, 0);\n var b = Q(g, e), p = /* @__PURE__ */ new Date(0);\n p.setUTCFullYear(v, 0, f), p.setUTCHours(0, 0, 0, 0);\n var W = Q(p, e);\n return c.getTime() >= b.getTime() ? v + 1 : c.getTime() >= W.getTime() ? v : v - 1;\n}\nfunction Ne(r, e) {\n var t, n, a, i, o, s, l, u;\n T(1, arguments);\n var c = K(), v = A((t = (n = (a = (i = e == null ? void 0 : e.firstWeekContainsDate) !== null && i !== void 0 ? i : e == null || (o = e.locale) === null || o === void 0 || (s = o.options) === null || s === void 0 ? void 0 : s.firstWeekContainsDate) !== null && a !== void 0 ? a : c.firstWeekContainsDate) !== null && n !== void 0 ? n : (l = c.locale) === null || l === void 0 || (u = l.options) === null || u === void 0 ? void 0 : u.firstWeekContainsDate) !== null && t !== void 0 ? t : 1), d = he(r, e), f = /* @__PURE__ */ new Date(0);\n f.setUTCFullYear(d, 0, v), f.setUTCHours(0, 0, 0, 0);\n var g = Q(f, e);\n return g;\n}\nvar Ie = 6048e5;\nfunction Fe(r, e) {\n T(1, arguments);\n var t = P(r), n = Q(t, e).getTime() - Ne(t, e).getTime();\n return Math.round(n / Ie) + 1;\n}\nfunction h(r, e) {\n for (var t = r < 0 ? \"-\" : \"\", n = Math.abs(r).toString(); n.length < e; )\n n = \"0\" + n;\n return t + n;\n}\nvar He = {\n // Year\n y: function(e, t) {\n var n = e.getUTCFullYear(), a = n > 0 ? n : 1 - n;\n return h(t === \"yy\" ? a % 100 : a, t.length);\n },\n // Month\n M: function(e, t) {\n var n = e.getUTCMonth();\n return t === \"M\" ? String(n + 1) : h(n + 1, 2);\n },\n // Day of the month\n d: function(e, t) {\n return h(e.getUTCDate(), t.length);\n },\n // AM or PM\n a: function(e, t) {\n var n = e.getUTCHours() / 12 >= 1 ? \"pm\" : \"am\";\n switch (t) {\n case \"a\":\n case \"aa\":\n return n.toUpperCase();\n case \"aaa\":\n return n;\n case \"aaaaa\":\n return n[0];\n case \"aaaa\":\n default:\n return n === \"am\" ? \"a.m.\" : \"p.m.\";\n }\n },\n // Hour [1-12]\n h: function(e, t) {\n return h(e.getUTCHours() % 12 || 12, t.length);\n },\n // Hour [0-23]\n H: function(e, t) {\n return h(e.getUTCHours(), t.length);\n },\n // Minute\n m: function(e, t) {\n return h(e.getUTCMinutes(), t.length);\n },\n // Second\n s: function(e, t) {\n return h(e.getUTCSeconds(), t.length);\n },\n // Fraction of second\n S: function(e, t) {\n var n = t.length, a = e.getUTCMilliseconds(), i = Math.floor(a * Math.pow(10, n - 3));\n return h(i, t.length);\n }\n};\nconst x = He;\nvar N = {\n am: \"am\",\n pm: \"pm\",\n midnight: \"midnight\",\n noon: \"noon\",\n morning: \"morning\",\n afternoon: \"afternoon\",\n evening: \"evening\",\n night: \"night\"\n}, $e = {\n // Era\n G: function(e, t, n) {\n var a = e.getUTCFullYear() > 0 ? 1 : 0;\n switch (t) {\n case \"G\":\n case \"GG\":\n case \"GGG\":\n return n.era(a, {\n width: \"abbreviated\"\n });\n case \"GGGGG\":\n return n.era(a, {\n width: \"narrow\"\n });\n case \"GGGG\":\n default:\n return n.era(a, {\n width: \"wide\"\n });\n }\n },\n // Year\n y: function(e, t, n) {\n if (t === \"yo\") {\n var a = e.getUTCFullYear(), i = a > 0 ? a : 1 - a;\n return n.ordinalNumber(i, {\n unit: \"year\"\n });\n }\n return x.y(e, t);\n },\n // Local week-numbering year\n Y: function(e, t, n, a) {\n var i = he(e, a), o = i > 0 ? i : 1 - i;\n if (t === \"YY\") {\n var s = o % 100;\n return h(s, 2);\n }\n return t === \"Yo\" ? n.ordinalNumber(o, {\n unit: \"year\"\n }) : h(o, t.length);\n },\n // ISO week-numbering year\n R: function(e, t) {\n var n = ve(e);\n return h(n, t.length);\n },\n // Extended year. This is a single number designating the year of this calendar system.\n // The main difference between `y` and `u` localizers are B.C. years:\n // | Year | `y` | `u` |\n // |------|-----|-----|\n // | AC 1 | 1 | 1 |\n // | BC 1 | 1 | 0 |\n // | BC 2 | 2 | -1 |\n // Also `yy` always returns the last two digits of a year,\n // while `uu` pads single digit years to 2 characters and returns other years unchanged.\n u: function(e, t) {\n var n = e.getUTCFullYear();\n return h(n, t.length);\n },\n // Quarter\n Q: function(e, t, n) {\n var a = Math.ceil((e.getUTCMonth() + 1) / 3);\n switch (t) {\n case \"Q\":\n return String(a);\n case \"QQ\":\n return h(a, 2);\n case \"Qo\":\n return n.ordinalNumber(a, {\n unit: \"quarter\"\n });\n case \"QQQ\":\n return n.quarter(a, {\n width: \"abbreviated\",\n context: \"formatting\"\n });\n case \"QQQQQ\":\n return n.quarter(a, {\n width: \"narrow\",\n context: \"formatting\"\n });\n case \"QQQQ\":\n default:\n return n.quarter(a, {\n width: \"wide\",\n context: \"formatting\"\n });\n }\n },\n // Stand-alone quarter\n q: function(e, t, n) {\n var a = Math.ceil((e.getUTCMonth() + 1) / 3);\n switch (t) {\n case \"q\":\n return String(a);\n case \"qq\":\n return h(a, 2);\n case \"qo\":\n return n.ordinalNumber(a, {\n unit: \"quarter\"\n });\n case \"qqq\":\n return n.quarter(a, {\n width: \"abbreviated\",\n context: \"standalone\"\n });\n case \"qqqqq\":\n return n.quarter(a, {\n width: \"narrow\",\n context: \"standalone\"\n });\n case \"qqqq\":\n default:\n return n.quarter(a, {\n width: \"wide\",\n context: \"standalone\"\n });\n }\n },\n // Month\n M: function(e, t, n) {\n var a = e.getUTCMonth();\n switch (t) {\n case \"M\":\n case \"MM\":\n return x.M(e, t);\n case \"Mo\":\n return n.ordinalNumber(a + 1, {\n unit: \"month\"\n });\n case \"MMM\":\n return n.month(a, {\n width: \"abbreviated\",\n context: \"formatting\"\n });\n case \"MMMMM\":\n return n.month(a, {\n width: \"narrow\",\n context: \"formatting\"\n });\n case \"MMMM\":\n default:\n return n.month(a, {\n width: \"wide\",\n context: \"formatting\"\n });\n }\n },\n // Stand-alone month\n L: function(e, t, n) {\n var a = e.getUTCMonth();\n switch (t) {\n case \"L\":\n return String(a + 1);\n case \"LL\":\n return h(a + 1, 2);\n case \"Lo\":\n return n.ordinalNumber(a + 1, {\n unit: \"month\"\n });\n case \"LLL\":\n return n.month(a, {\n width: \"abbreviated\",\n context: \"standalone\"\n });\n case \"LLLLL\":\n return n.month(a, {\n width: \"narrow\",\n context: \"standalone\"\n });\n case \"LLLL\":\n default:\n return n.month(a, {\n width: \"wide\",\n context: \"standalone\"\n });\n }\n },\n // Local week of year\n w: function(e, t, n, a) {\n var i = Fe(e, a);\n return t === \"wo\" ? n.ordinalNumber(i, {\n unit: \"week\"\n }) : h(i, t.length);\n },\n // ISO week of year\n I: function(e, t, n) {\n var a = Ye(e);\n return t === \"Io\" ? n.ordinalNumber(a, {\n unit: \"week\"\n }) : h(a, t.length);\n },\n // Day of the month\n d: function(e, t, n) {\n return t === \"do\" ? n.ordinalNumber(e.getUTCDate(), {\n unit: \"date\"\n }) : x.d(e, t);\n },\n // Day of year\n D: function(e, t, n) {\n var a = Ue(e);\n return t === \"Do\" ? n.ordinalNumber(a, {\n unit: \"dayOfYear\"\n }) : h(a, t.length);\n },\n // Day of week\n E: function(e, t, n) {\n var a = e.getUTCDay();\n switch (t) {\n case \"E\":\n case \"EE\":\n case \"EEE\":\n return n.day(a, {\n width: \"abbreviated\",\n context: \"formatting\"\n });\n case \"EEEEE\":\n return n.day(a, {\n width: \"narrow\",\n context: \"formatting\"\n });\n case \"EEEEEE\":\n return n.day(a, {\n width: \"short\",\n context: \"formatting\"\n });\n case \"EEEE\":\n default:\n return n.day(a, {\n width: \"wide\",\n context: \"formatting\"\n });\n }\n },\n // Local day of week\n e: function(e, t, n, a) {\n var i = e.getUTCDay(), o = (i - a.weekStartsOn + 8) % 7 || 7;\n switch (t) {\n case \"e\":\n return String(o);\n case \"ee\":\n return h(o, 2);\n case \"eo\":\n return n.ordinalNumber(o, {\n unit: \"day\"\n });\n case \"eee\":\n return n.day(i, {\n width: \"abbreviated\",\n context: \"formatting\"\n });\n case \"eeeee\":\n return n.day(i, {\n width: \"narrow\",\n context: \"formatting\"\n });\n case \"eeeeee\":\n return n.day(i, {\n width: \"short\",\n context: \"formatting\"\n });\n case \"eeee\":\n default:\n return n.day(i, {\n width: \"wide\",\n context: \"formatting\"\n });\n }\n },\n // Stand-alone local day of week\n c: function(e, t, n, a) {\n var i = e.getUTCDay(), o = (i - a.weekStartsOn + 8) % 7 || 7;\n switch (t) {\n case \"c\":\n return String(o);\n case \"cc\":\n return h(o, t.length);\n case \"co\":\n return n.ordinalNumber(o, {\n unit: \"day\"\n });\n case \"ccc\":\n return n.day(i, {\n width: \"abbreviated\",\n context: \"standalone\"\n });\n case \"ccccc\":\n return n.day(i, {\n width: \"narrow\",\n context: \"standalone\"\n });\n case \"cccccc\":\n return n.day(i, {\n width: \"short\",\n context: \"standalone\"\n });\n case \"cccc\":\n default:\n return n.day(i, {\n width: \"wide\",\n context: \"standalone\"\n });\n }\n },\n // ISO day of week\n i: function(e, t, n) {\n var a = e.getUTCDay(), i = a === 0 ? 7 : a;\n switch (t) {\n case \"i\":\n return String(i);\n case \"ii\":\n return h(i, t.length);\n case \"io\":\n return n.ordinalNumber(i, {\n unit: \"day\"\n });\n case \"iii\":\n return n.day(a, {\n width: \"abbreviated\",\n context: \"formatting\"\n });\n case \"iiiii\":\n return n.day(a, {\n width: \"narrow\",\n context: \"formatting\"\n });\n case \"iiiiii\":\n return n.day(a, {\n width: \"short\",\n context: \"formatting\"\n });\n case \"iiii\":\n default:\n return n.day(a, {\n width: \"wide\",\n context: \"formatting\"\n });\n }\n },\n // AM or PM\n a: function(e, t, n) {\n var a = e.getUTCHours(), i = a / 12 >= 1 ? \"pm\" : \"am\";\n switch (t) {\n case \"a\":\n case \"aa\":\n return n.dayPeriod(i, {\n width: \"abbreviated\",\n context: \"formatting\"\n });\n case \"aaa\":\n return n.dayPeriod(i, {\n width: \"abbreviated\",\n context: \"formatting\"\n }).toLowerCase();\n case \"aaaaa\":\n return n.dayPeriod(i, {\n width: \"narrow\",\n context: \"formatting\"\n });\n case \"aaaa\":\n default:\n return n.dayPeriod(i, {\n width: \"wide\",\n context: \"formatting\"\n });\n }\n },\n // AM, PM, midnight, noon\n b: function(e, t, n) {\n var a = e.getUTCHours(), i;\n switch (a === 12 ? i = N.noon : a === 0 ? i = N.midnight : i = a / 12 >= 1 ? \"pm\" : \"am\", t) {\n case \"b\":\n case \"bb\":\n return n.dayPeriod(i, {\n width: \"abbreviated\",\n context: \"formatting\"\n });\n case \"bbb\":\n return n.dayPeriod(i, {\n width: \"abbreviated\",\n context: \"formatting\"\n }).toLowerCase();\n case \"bbbbb\":\n return n.dayPeriod(i, {\n width: \"narrow\",\n context: \"formatting\"\n });\n case \"bbbb\":\n default:\n return n.dayPeriod(i, {\n width: \"wide\",\n context: \"formatting\"\n });\n }\n },\n // in the morning, in the afternoon, in the evening, at night\n B: function(e, t, n) {\n var a = e.getUTCHours(), i;\n switch (a >= 17 ? i = N.evening : a >= 12 ? i = N.afternoon : a >= 4 ? i = N.morning : i = N.night, t) {\n case \"B\":\n case \"BB\":\n case \"BBB\":\n return n.dayPeriod(i, {\n width: \"abbreviated\",\n context: \"formatting\"\n });\n case \"BBBBB\":\n return n.dayPeriod(i, {\n width: \"narrow\",\n context: \"formatting\"\n });\n case \"BBBB\":\n default:\n return n.dayPeriod(i, {\n width: \"wide\",\n context: \"formatting\"\n });\n }\n },\n // Hour [1-12]\n h: function(e, t, n) {\n if (t === \"ho\") {\n var a = e.getUTCHours() % 12;\n return a === 0 && (a = 12), n.ordinalNumber(a, {\n unit: \"hour\"\n });\n }\n return x.h(e, t);\n },\n // Hour [0-23]\n H: function(e, t, n) {\n return t === \"Ho\" ? n.ordinalNumber(e.getUTCHours(), {\n unit: \"hour\"\n }) : x.H(e, t);\n },\n // Hour [0-11]\n K: function(e, t, n) {\n var a = e.getUTCHours() % 12;\n return t === \"Ko\" ? n.ordinalNumber(a, {\n unit: \"hour\"\n }) : h(a, t.length);\n },\n // Hour [1-24]\n k: function(e, t, n) {\n var a = e.getUTCHours();\n return a === 0 && (a = 24), t === \"ko\" ? n.ordinalNumber(a, {\n unit: \"hour\"\n }) : h(a, t.length);\n },\n // Minute\n m: function(e, t, n) {\n return t === \"mo\" ? n.ordinalNumber(e.getUTCMinutes(), {\n unit: \"minute\"\n }) : x.m(e, t);\n },\n // Second\n s: function(e, t, n) {\n return t === \"so\" ? n.ordinalNumber(e.getUTCSeconds(), {\n unit: \"second\"\n }) : x.s(e, t);\n },\n // Fraction of second\n S: function(e, t) {\n return x.S(e, t);\n },\n // Timezone (ISO-8601. If offset is 0, output is always `'Z'`)\n X: function(e, t, n, a) {\n var i = a._originalDate || e, o = i.getTimezoneOffset();\n if (o === 0)\n return \"Z\";\n switch (t) {\n case \"X\":\n return ue(o);\n case \"XXXX\":\n case \"XX\":\n return U(o);\n case \"XXXXX\":\n case \"XXX\":\n default:\n return U(o, \":\");\n }\n },\n // Timezone (ISO-8601. If offset is 0, output is `'+00:00'` or equivalent)\n x: function(e, t, n, a) {\n var i = a._originalDate || e, o = i.getTimezoneOffset();\n switch (t) {\n case \"x\":\n return ue(o);\n case \"xxxx\":\n case \"xx\":\n return U(o);\n case \"xxxxx\":\n case \"xxx\":\n default:\n return U(o, \":\");\n }\n },\n // Timezone (GMT)\n O: function(e, t, n, a) {\n var i = a._originalDate || e, o = i.getTimezoneOffset();\n switch (t) {\n case \"O\":\n case \"OO\":\n case \"OOO\":\n return \"GMT\" + oe(o, \":\");\n case \"OOOO\":\n default:\n return \"GMT\" + U(o, \":\");\n }\n },\n // Timezone (specific non-location)\n z: function(e, t, n, a) {\n var i = a._originalDate || e, o = i.getTimezoneOffset();\n switch (t) {\n case \"z\":\n case \"zz\":\n case \"zzz\":\n return \"GMT\" + oe(o, \":\");\n case \"zzzz\":\n default:\n return \"GMT\" + U(o, \":\");\n }\n },\n // Seconds timestamp\n t: function(e, t, n, a) {\n var i = a._originalDate || e, o = Math.floor(i.getTime() / 1e3);\n return h(o, t.length);\n },\n // Milliseconds timestamp\n T: function(e, t, n, a) {\n var i = a._originalDate || e, o = i.getTime();\n return h(o, t.length);\n }\n};\nfunction oe(r, e) {\n var t = r > 0 ? \"-\" : \"+\", n = Math.abs(r), a = Math.floor(n / 60), i = n % 60;\n if (i === 0)\n return t + String(a);\n var o = e || \"\";\n return t + String(a) + o + h(i, 2);\n}\nfunction ue(r, e) {\n if (r % 60 === 0) {\n var t = r > 0 ? \"-\" : \"+\";\n return t + h(Math.abs(r) / 60, 2);\n }\n return U(r, e);\n}\nfunction U(r, e) {\n var t = e || \"\", n = r > 0 ? \"-\" : \"+\", a = Math.abs(r), i = h(Math.floor(a / 60), 2), o = h(a % 60, 2);\n return n + i + t + o;\n}\nconst Ve = $e;\nvar le = function(e, t) {\n switch (e) {\n case \"P\":\n return t.date({\n width: \"short\"\n });\n case \"PP\":\n return t.date({\n width: \"medium\"\n });\n case \"PPP\":\n return t.date({\n width: \"long\"\n });\n case \"PPPP\":\n default:\n return t.date({\n width: \"full\"\n });\n }\n}, me = function(e, t) {\n switch (e) {\n case \"p\":\n return t.time({\n width: \"short\"\n });\n case \"pp\":\n return t.time({\n width: \"medium\"\n });\n case \"ppp\":\n return t.time({\n width: \"long\"\n });\n case \"pppp\":\n default:\n return t.time({\n width: \"full\"\n });\n }\n}, qe = function(e, t) {\n var n = e.match(/(P+)(p+)?/) || [], a = n[1], i = n[2];\n if (!i)\n return le(e, t);\n var o;\n switch (a) {\n case \"P\":\n o = t.dateTime({\n width: \"short\"\n });\n break;\n case \"PP\":\n o = t.dateTime({\n width: \"medium\"\n });\n break;\n case \"PPP\":\n o = t.dateTime({\n width: \"long\"\n });\n break;\n case \"PPPP\":\n default:\n o = t.dateTime({\n width: \"full\"\n });\n break;\n }\n return o.replace(\"{{date}}\", le(a, t)).replace(\"{{time}}\", me(i, t));\n}, Ge = {\n p: me,\n P: qe\n};\nconst je = Ge;\nvar Be = [\"D\", \"DD\"], Xe = [\"YY\", \"YYYY\"];\nfunction Qe(r) {\n return Be.indexOf(r) !== -1;\n}\nfunction Je(r) {\n return Xe.indexOf(r) !== -1;\n}\nfunction se(r, e, t) {\n if (r === \"YYYY\")\n throw new RangeError(\"Use `yyyy` instead of `YYYY` (in `\".concat(e, \"`) for formatting years to the input `\").concat(t, \"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\"));\n if (r === \"YY\")\n throw new RangeError(\"Use `yy` instead of `YY` (in `\".concat(e, \"`) for formatting years to the input `\").concat(t, \"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\"));\n if (r === \"D\")\n throw new RangeError(\"Use `d` instead of `D` (in `\".concat(e, \"`) for formatting days of the month to the input `\").concat(t, \"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\"));\n if (r === \"DD\")\n throw new RangeError(\"Use `dd` instead of `DD` (in `\".concat(e, \"`) for formatting days of the month to the input `\").concat(t, \"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\"));\n}\nvar Ke = {\n lessThanXSeconds: {\n one: \"less than a second\",\n other: \"less than {{count}} seconds\"\n },\n xSeconds: {\n one: \"1 second\",\n other: \"{{count}} seconds\"\n },\n halfAMinute: \"half a minute\",\n lessThanXMinutes: {\n one: \"less than a minute\",\n other: \"less than {{count}} minutes\"\n },\n xMinutes: {\n one: \"1 minute\",\n other: \"{{count}} minutes\"\n },\n aboutXHours: {\n one: \"about 1 hour\",\n other: \"about {{count}} hours\"\n },\n xHours: {\n one: \"1 hour\",\n other: \"{{count}} hours\"\n },\n xDays: {\n one: \"1 day\",\n other: \"{{count}} days\"\n },\n aboutXWeeks: {\n one: \"about 1 week\",\n other: \"about {{count}} weeks\"\n },\n xWeeks: {\n one: \"1 week\",\n other: \"{{count}} weeks\"\n },\n aboutXMonths: {\n one: \"about 1 month\",\n other: \"about {{count}} months\"\n },\n xMonths: {\n one: \"1 month\",\n other: \"{{count}} months\"\n },\n aboutXYears: {\n one: \"about 1 year\",\n other: \"about {{count}} years\"\n },\n xYears: {\n one: \"1 year\",\n other: \"{{count}} years\"\n },\n overXYears: {\n one: \"over 1 year\",\n other: \"over {{count}} years\"\n },\n almostXYears: {\n one: \"almost 1 year\",\n other: \"almost {{count}} years\"\n }\n}, ze = function(e, t, n) {\n var a, i = Ke[e];\n return typeof i == \"string\" ? a = i : t === 1 ? a = i.one : a = i.other.replace(\"{{count}}\", t.toString()), n != null && n.addSuffix ? n.comparison && n.comparison > 0 ? \"in \" + a : a + \" ago\" : a;\n};\nconst Ze = ze;\nfunction z(r) {\n return function() {\n var e = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}, t = e.width ? String(e.width) : r.defaultWidth, n = r.formats[t] || r.formats[r.defaultWidth];\n return n;\n };\n}\nvar et = {\n full: \"EEEE, MMMM do, y\",\n long: \"MMMM do, y\",\n medium: \"MMM d, y\",\n short: \"MM/dd/yyyy\"\n}, tt = {\n full: \"h:mm:ss a zzzz\",\n long: \"h:mm:ss a z\",\n medium: \"h:mm:ss a\",\n short: \"h:mm a\"\n}, rt = {\n full: \"{{date}} 'at' {{time}}\",\n long: \"{{date}} 'at' {{time}}\",\n medium: \"{{date}}, {{time}}\",\n short: \"{{date}}, {{time}}\"\n}, nt = {\n date: z({\n formats: et,\n defaultWidth: \"full\"\n }),\n time: z({\n formats: tt,\n defaultWidth: \"full\"\n }),\n dateTime: z({\n formats: rt,\n defaultWidth: \"full\"\n })\n};\nconst at = nt;\nvar it = {\n lastWeek: \"'last' eeee 'at' p\",\n yesterday: \"'yesterday at' p\",\n today: \"'today at' p\",\n tomorrow: \"'tomorrow at' p\",\n nextWeek: \"eeee 'at' p\",\n other: \"P\"\n}, ot = function(e, t, n, a) {\n return it[e];\n};\nconst ut = ot;\nfunction $(r) {\n return function(e, t) {\n var n = t != null && t.context ? String(t.context) : \"standalone\", a;\n if (n === \"formatting\" && r.formattingValues) {\n var i = r.defaultFormattingWidth || r.defaultWidth, o = t != null && t.width ? String(t.width) : i;\n a = r.formattingValues[o] || r.formattingValues[i];\n } else {\n var s = r.defaultWidth, l = t != null && t.width ? String(t.width) : r.defaultWidth;\n a = r.values[l] || r.values[s];\n }\n var u = r.argumentCallback ? r.argumentCallback(e) : e;\n return a[u];\n };\n}\nvar lt = {\n narrow: [\"B\", \"A\"],\n abbreviated: [\"BC\", \"AD\"],\n wide: [\"Before Christ\", \"Anno Domini\"]\n}, st = {\n narrow: [\"1\", \"2\", \"3\", \"4\"],\n abbreviated: [\"Q1\", \"Q2\", \"Q3\", \"Q4\"],\n wide: [\"1st quarter\", \"2nd quarter\", \"3rd quarter\", \"4th quarter\"]\n}, ct = {\n narrow: [\"J\", \"F\", \"M\", \"A\", \"M\", \"J\", \"J\", \"A\", \"S\", \"O\", \"N\", \"D\"],\n abbreviated: [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"],\n wide: [\"January\", \"February\", \"March\", \"April\", \"May\", \"June\", \"July\", \"August\", \"September\", \"October\", \"November\", \"December\"]\n}, dt = {\n narrow: [\"S\", \"M\", \"T\", \"W\", \"T\", \"F\", \"S\"],\n short: [\"Su\", \"Mo\", \"Tu\", \"We\", \"Th\", \"Fr\", \"Sa\"],\n abbreviated: [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"],\n wide: [\"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\"]\n}, ft = {\n narrow: {\n am: \"a\",\n pm: \"p\",\n midnight: \"mi\",\n noon: \"n\",\n morning: \"morning\",\n afternoon: \"afternoon\",\n evening: \"evening\",\n night: \"night\"\n },\n abbreviated: {\n am: \"AM\",\n pm: \"PM\",\n midnight: \"midnight\",\n noon: \"noon\",\n morning: \"morning\",\n afternoon: \"afternoon\",\n evening: \"evening\",\n night: \"night\"\n },\n wide: {\n am: \"a.m.\",\n pm: \"p.m.\",\n midnight: \"midnight\",\n noon: \"noon\",\n morning: \"morning\",\n afternoon: \"afternoon\",\n evening: \"evening\",\n night: \"night\"\n }\n}, vt = {\n narrow: {\n am: \"a\",\n pm: \"p\",\n midnight: \"mi\",\n noon: \"n\",\n morning: \"in the morning\",\n afternoon: \"in the afternoon\",\n evening: \"in the evening\",\n night: \"at night\"\n },\n abbreviated: {\n am: \"AM\",\n pm: \"PM\",\n midnight: \"midnight\",\n noon: \"noon\",\n morning: \"in the morning\",\n afternoon: \"in the afternoon\",\n evening: \"in the evening\",\n night: \"at night\"\n },\n wide: {\n am: \"a.m.\",\n pm: \"p.m.\",\n midnight: \"midnight\",\n noon: \"noon\",\n morning: \"in the morning\",\n afternoon: \"in the afternoon\",\n evening: \"in the evening\",\n night: \"at night\"\n }\n}, ht = function(e, t) {\n var n = Number(e), a = n % 100;\n if (a > 20 || a < 10)\n switch (a % 10) {\n case 1:\n return n + \"st\";\n case 2:\n return n + \"nd\";\n case 3:\n return n + \"rd\";\n }\n return n + \"th\";\n}, mt = {\n ordinalNumber: ht,\n era: $({\n values: lt,\n defaultWidth: \"wide\"\n }),\n quarter: $({\n values: st,\n defaultWidth: \"wide\",\n argumentCallback: function(e) {\n return e - 1;\n }\n }),\n month: $({\n values: ct,\n defaultWidth: \"wide\"\n }),\n day: $({\n values: dt,\n defaultWidth: \"wide\"\n }),\n dayPeriod: $({\n values: ft,\n defaultWidth: \"wide\",\n formattingValues: vt,\n defaultFormattingWidth: \"wide\"\n })\n};\nconst gt = mt;\nfunction V(r) {\n return function(e) {\n var t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, n = t.width, a = n && r.matchPatterns[n] || r.matchPatterns[r.defaultMatchWidth], i = e.match(a);\n if (!i)\n return null;\n var o = i[0], s = n && r.parsePatterns[n] || r.parsePatterns[r.defaultParseWidth], l = Array.isArray(s) ? bt(s, function(v) {\n return v.test(o);\n }) : wt(s, function(v) {\n return v.test(o);\n }), u;\n u = r.valueCallback ? r.valueCallback(l) : l, u = t.valueCallback ? t.valueCallback(u) : u;\n var c = e.slice(o.length);\n return {\n value: u,\n rest: c\n };\n };\n}\nfunction wt(r, e) {\n for (var t in r)\n if (r.hasOwnProperty(t) && e(r[t]))\n return t;\n}\nfunction bt(r, e) {\n for (var t = 0; t < r.length; t++)\n if (e(r[t]))\n return t;\n}\nfunction yt(r) {\n return function(e) {\n var t = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, n = e.match(r.matchPattern);\n if (!n)\n return null;\n var a = n[0], i = e.match(r.parsePattern);\n if (!i)\n return null;\n var o = r.valueCallback ? r.valueCallback(i[0]) : i[0];\n o = t.valueCallback ? t.valueCallback(o) : o;\n var s = e.slice(a.length);\n return {\n value: o,\n rest: s\n };\n };\n}\nvar Tt = /^(\\d+)(th|st|nd|rd)?/i, pt = /\\d+/i, Ct = {\n narrow: /^(b|a)/i,\n abbreviated: /^(b\\.?\\s?c\\.?|b\\.?\\s?c\\.?\\s?e\\.?|a\\.?\\s?d\\.?|c\\.?\\s?e\\.?)/i,\n wide: /^(before christ|before common era|anno domini|common era)/i\n}, Dt = {\n any: [/^b/i, /^(a|c)/i]\n}, St = {\n narrow: /^[1234]/i,\n abbreviated: /^q[1234]/i,\n wide: /^[1234](th|st|nd|rd)? quarter/i\n}, Ot = {\n any: [/1/i, /2/i, /3/i, /4/i]\n}, Pt = {\n narrow: /^[jfmasond]/i,\n abbreviated: /^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,\n wide: /^(january|february|march|april|may|june|july|august|september|october|november|december)/i\n}, Et = {\n narrow: [/^j/i, /^f/i, /^m/i, /^a/i, /^m/i, /^j/i, /^j/i, /^a/i, /^s/i, /^o/i, /^n/i, /^d/i],\n any: [/^ja/i, /^f/i, /^mar/i, /^ap/i, /^may/i, /^jun/i, /^jul/i, /^au/i, /^s/i, /^o/i, /^n/i, /^d/i]\n}, Mt = {\n narrow: /^[smtwf]/i,\n short: /^(su|mo|tu|we|th|fr|sa)/i,\n abbreviated: /^(sun|mon|tue|wed|thu|fri|sat)/i,\n wide: /^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i\n}, kt = {\n narrow: [/^s/i, /^m/i, /^t/i, /^w/i, /^t/i, /^f/i, /^s/i],\n any: [/^su/i, /^m/i, /^tu/i, /^w/i, /^th/i, /^f/i, /^sa/i]\n}, _t = {\n narrow: /^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,\n any: /^([ap]\\.?\\s?m\\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i\n}, xt = {\n any: {\n am: /^a/i,\n pm: /^p/i,\n midnight: /^mi/i,\n noon: /^no/i,\n morning: /morning/i,\n afternoon: /afternoon/i,\n evening: /evening/i,\n night: /night/i\n }\n}, Wt = {\n ordinalNumber: yt({\n matchPattern: Tt,\n parsePattern: pt,\n valueCallback: function(e) {\n return parseInt(e, 10);\n }\n }),\n era: V({\n matchPatterns: Ct,\n defaultMatchWidth: \"wide\",\n parsePatterns: Dt,\n defaultParseWidth: \"any\"\n }),\n quarter: V({\n matchPatterns: St,\n defaultMatchWidth: \"wide\",\n parsePatterns: Ot,\n defaultParseWidth: \"any\",\n valueCallback: function(e) {\n return e + 1;\n }\n }),\n month: V({\n matchPatterns: Pt,\n defaultMatchWidth: \"wide\",\n parsePatterns: Et,\n defaultParseWidth: \"any\"\n }),\n day: V({\n matchPatterns: Mt,\n defaultMatchWidth: \"wide\",\n parsePatterns: kt,\n defaultParseWidth: \"any\"\n }),\n dayPeriod: V({\n matchPatterns: _t,\n defaultMatchWidth: \"any\",\n parsePatterns: xt,\n defaultParseWidth: \"any\"\n })\n};\nconst Rt = Wt;\nvar Ut = {\n code: \"en-US\",\n formatDistance: Ze,\n formatLong: at,\n formatRelative: ut,\n localize: gt,\n match: Rt,\n options: {\n weekStartsOn: 0,\n firstWeekContainsDate: 1\n }\n};\nconst At = Ut;\nvar Lt = /[yYQqMLwIdDecihHKkms]o|(\\w)\\1*|''|'(''|[^'])+('|$)|./g, Yt = /P+p+|P+|p+|''|'(''|[^'])+('|$)|./g, Nt = /^'([^]*?)'?$/, It = /''/g, Ft = /[a-zA-Z]/;\nfunction Ht(r, e, t) {\n var n, a, i, o, s, l, u, c, v, d, f, g, b, p, W, w, m, L;\n T(2, arguments);\n var C = String(e), D = K(), S = (n = (a = t == null ? void 0 : t.locale) !== null && a !== void 0 ? a : D.locale) !== null && n !== void 0 ? n : At, R = A((i = (o = (s = (l = t == null ? void 0 : t.firstWeekContainsDate) !== null && l !== void 0 ? l : t == null || (u = t.locale) === null || u === void 0 || (c = u.options) === null || c === void 0 ? void 0 : c.firstWeekContainsDate) !== null && s !== void 0 ? s : D.firstWeekContainsDate) !== null && o !== void 0 ? o : (v = D.locale) === null || v === void 0 || (d = v.options) === null || d === void 0 ? void 0 : d.firstWeekContainsDate) !== null && i !== void 0 ? i : 1);\n if (!(R >= 1 && R <= 7))\n throw new RangeError(\"firstWeekContainsDate must be between 1 and 7 inclusively\");\n var Y = A((f = (g = (b = (p = t == null ? void 0 : t.weekStartsOn) !== null && p !== void 0 ? p : t == null || (W = t.locale) === null || W === void 0 || (w = W.options) === null || w === void 0 ? void 0 : w.weekStartsOn) !== null && b !== void 0 ? b : D.weekStartsOn) !== null && g !== void 0 ? g : (m = D.locale) === null || m === void 0 || (L = m.options) === null || L === void 0 ? void 0 : L.weekStartsOn) !== null && f !== void 0 ? f : 0);\n if (!(Y >= 0 && Y <= 6))\n throw new RangeError(\"weekStartsOn must be between 0 and 6 inclusively\");\n if (!S.localize)\n throw new RangeError(\"locale must contain localize property\");\n if (!S.formatLong)\n throw new RangeError(\"locale must contain formatLong property\");\n var _ = P(r);\n if (!xe(_))\n throw new RangeError(\"Invalid time value\");\n var G = ke(_), H = We(_, G), E = {\n firstWeekContainsDate: R,\n weekStartsOn: Y,\n locale: S,\n _originalDate: _\n }, j = C.match(Yt).map(function(y) {\n var O = y[0];\n if (O === \"p\" || O === \"P\") {\n var M = je[O];\n return M(y, S.formatLong);\n }\n return y;\n }).join(\"\").match(Lt).map(function(y) {\n if (y === \"''\")\n return \"'\";\n var O = y[0];\n if (O === \"'\")\n return $t(y);\n var M = Ve[O];\n if (M)\n return !(t != null && t.useAdditionalWeekYearTokens) && Je(y) && se(y, e, String(r)), !(t != null && t.useAdditionalDayOfYearTokens) && Qe(y) && se(y, e, String(r)), M(H, y, S.localize, E);\n if (O.match(Ft))\n throw new RangeError(\"Format string contains an unescaped latin alphabet character `\" + O + \"`\");\n return y;\n }).join(\"\");\n return j;\n}\nfunction $t(r) {\n var e = r.match(Nt);\n return e ? e[1].replace(It, \"'\") : r;\n}\nfunction nr() {\n return {\n formatDateBy: (t, n = {}) => {\n if (isNaN(t))\n return null;\n try {\n return new Date(t * 1e3).toLocaleDateString(\"en-US\", {\n year: \"numeric\",\n month: \"long\",\n day: \"numeric\",\n weekday: \"short\",\n hour: \"numeric\",\n minute: \"numeric\",\n second: \"numeric\",\n hour12: !1,\n ...n\n });\n } catch {\n return null;\n }\n },\n formatUnixToDate: (t, n) => {\n if (!t)\n return \"\";\n const a = n ? \"yyyy-MM-dd HH:mm:ss\" : \"yyyy-MM-dd HH:mm:ss XX\";\n try {\n const i = new Date(t * 1e3);\n return Ht(i, a);\n } catch {\n return \"\";\n }\n }\n };\n}\nfunction ar() {\n return {\n debounce: (e, t) => {\n let n;\n return (...a) => {\n clearTimeout(n), n = window == null ? void 0 : window.setTimeout(() => {\n e(...a);\n }, t);\n };\n }\n };\n}\nfunction ir({ script: r, styles: e, onReady: t }) {\n const n = q(!0), a = q(!0), i = async () => {\n const { libName: l, url: u, type: c } = r;\n if ((c !== void 0 && [\"umd\", \"es\"].includes(c) ? c : \"umd\") === \"es\") {\n await import(\n /* @vite-ignore */\n u\n ), typeof t == \"function\" && await t();\n return;\n }\n const d = l.startsWith(\"kong-ui-\") ? l : `kong-ui-${l}`;\n return window[d] || (window[d] = await new Promise((f, g) => {\n const b = document.createElement(\"script\");\n b.async = !0, b.addEventListener(\"load\", async () => {\n typeof t == \"function\" && await t(), n.value = !1, f(window[d]);\n }), b.addEventListener(\"error\", () => {\n g(new Error(`Could not load '${d}' from ${u}`));\n }), b.src = u, document.head.appendChild(b);\n })), window[d];\n }, o = async (l, u) => {\n var c;\n for (const v of l) {\n const d = document.createElement(\"link\");\n d.type = \"text/css\", d.rel = \"stylesheet\", d.href = v;\n const f = u ? document.querySelector(u) : null, g = u ? (c = f == null ? void 0 : f.shadowRoot) == null ? void 0 : c.children[0] : null;\n if (f && g)\n try {\n g.appendChild(d);\n } catch {\n document.head.appendChild(d);\n }\n else\n document.head.appendChild(d);\n }\n };\n return {\n importPackage: async () => {\n var u, c;\n if (!r || !r.url || typeof window > \"u\" || typeof document > \"u\")\n return;\n const l = fe(() => !!(e && (e != null && e.urls) && (e != null && e.urls.length) && e.shadowRoot));\n if ((!e || !(e != null && e.urls) || !((u = e == null ? void 0 : e.urls) != null && u.length)) && (a.value = !1), e != null && e.urls && ((c = e == null ? void 0 : e.urls) != null && c.length) && !l.value && (await o(e.urls), a.value = !1), (!r.type || r.type === \"umd\") && !l.value)\n return await i();\n await i(), await ie(), n.value = !1, e != null && e.urls && l.value && (await o(e.urls, e == null ? void 0 : e.shadowRoot), await ie(), a.value = !1);\n },\n loadingPackage: ae(n),\n loadingStyles: ae(a)\n };\n}\nvar Z = /* @__PURE__ */ new WeakMap(), ce = 0;\nfunction Vt(r) {\n if (!r.length)\n return \"\";\n for (var e = \"arg\", t = 0; t < r.length; ++t) {\n var n = void 0;\n r[t] === null || typeof r[t] != \"object\" && typeof r[t] != \"function\" ? typeof r[t] == \"string\" ? n = '\"' + r[t] + '\"' : n = String(r[t]) : Z.has(r[t]) ? n = Z.get(r[t]) : (n = ce, Z.set(r[t], ce++)), e += \"@\" + n;\n }\n return e;\n}\nfunction qt(r) {\n if (typeof r == \"function\")\n try {\n r = r();\n } catch {\n r = \"\";\n }\n return Array.isArray(r) ? r = Vt(r) : r = String(r || \"\"), r;\n}\nvar ne = (\n /** @class */\n function() {\n function r(e) {\n e === void 0 && (e = 0), this.items = /* @__PURE__ */ new Map(), this.ttl = e;\n }\n return r.prototype.serializeKey = function(e) {\n return qt(e);\n }, r.prototype.get = function(e) {\n var t = this.serializeKey(e);\n return this.items.get(t);\n }, r.prototype.set = function(e, t, n) {\n var a = this.serializeKey(e), i = n || this.ttl, o = Date.now(), s = {\n data: t,\n createdAt: o,\n expiresAt: i ? o + i : 1 / 0\n };\n this.dispatchExpire(i, s, a), this.items.set(a, s);\n }, r.prototype.dispatchExpire = function(e, t, n) {\n var a = this;\n e && setTimeout(function() {\n var i = Date.now(), o = i >= t.expiresAt;\n o && a.delete(n);\n }, e);\n }, r.prototype.delete = function(e) {\n this.items.delete(e);\n }, r;\n }()\n);\nfunction Gt() {\n return typeof navigator.onLine < \"u\" ? navigator.onLine : !0;\n}\nfunction jt() {\n return typeof document < \"u\" && typeof document.visibilityState < \"u\" ? document.visibilityState !== \"hidden\" : !0;\n}\nvar Bt = function(r) {\n return fetch(r).then(function(e) {\n return e.json();\n });\n};\nconst ee = {\n isOnline: Gt,\n isDocumentVisible: jt,\n fetcher: Bt\n};\nvar k = globalThis && globalThis.__assign || function() {\n return k = Object.assign || function(r) {\n for (var e, t = 1, n = arguments.length; t < n; t++) {\n e = arguments[t];\n for (var a in e)\n Object.prototype.hasOwnProperty.call(e, a) && (r[a] = e[a]);\n }\n return r;\n }, k.apply(this, arguments);\n}, I = globalThis && globalThis.__awaiter || function(r, e, t, n) {\n function a(i) {\n return i instanceof t ? i : new t(function(o) {\n o(i);\n });\n }\n return new (t || (t = Promise))(function(i, o) {\n function s(c) {\n try {\n u(n.next(c));\n } catch (v) {\n o(v);\n }\n }\n function l(c) {\n try {\n u(n.throw(c));\n } catch (v) {\n o(v);\n }\n }\n function u(c) {\n c.done ? i(c.value) : a(c.value).then(s, l);\n }\n u((n = n.apply(r, e || [])).next());\n });\n}, F = globalThis && globalThis.__generator || function(r, e) {\n var t = { label: 0, sent: function() {\n if (i[0] & 1)\n throw i[1];\n return i[1];\n }, trys: [], ops: [] }, n, a, i, o;\n return o = { next: s(0), throw: s(1), return: s(2) }, typeof Symbol == \"function\" && (o[Symbol.iterator] = function() {\n return this;\n }), o;\n function s(u) {\n return function(c) {\n return l([u, c]);\n };\n }\n function l(u) {\n if (n)\n throw new TypeError(\"Generator is already executing.\");\n for (; t; )\n try {\n if (n = 1, a && (i = u[0] & 2 ? a.return : u[0] ? a.throw || ((i = a.return) && i.call(a), 0) : a.next) && !(i = i.call(a, u[1])).done)\n return i;\n switch (a = 0, i && (u = [u[0] & 2, i.value]), u[0]) {\n case 0:\n case 1:\n i = u;\n break;\n case 4:\n return t.label++, { value: u[1], done: !1 };\n case 5:\n t.label++, a = u[1], u = [0];\n continue;\n case 7:\n u = t.ops.pop(), t.trys.pop();\n continue;\n default:\n if (i = t.trys, !(i = i.length > 0 && i[i.length - 1]) && (u[0] === 6 || u[0] === 2)) {\n t = 0;\n continue;\n }\n if (u[0] === 3 && (!i || u[1] > i[0] && u[1] < i[3])) {\n t.label = u[1];\n break;\n }\n if (u[0] === 6 && t.label < i[1]) {\n t.label = i[1], i = u;\n break;\n }\n if (i && t.label < i[2]) {\n t.label = i[2], t.ops.push(u);\n break;\n }\n i[2] && t.ops.pop(), t.trys.pop();\n continue;\n }\n u = e.call(r, t);\n } catch (c) {\n u = [6, c], a = 0;\n } finally {\n n = i = 0;\n }\n if (u[0] & 5)\n throw u[1];\n return { value: u[0] ? u[1] : void 0, done: !0 };\n }\n}, Xt = globalThis && globalThis.__read || function(r, e) {\n var t = typeof Symbol == \"function\" && r[Symbol.iterator];\n if (!t)\n return r;\n var n = t.call(r), a, i = [], o;\n try {\n for (; (e === void 0 || e-- > 0) && !(a = n.next()).done; )\n i.push(a.value);\n } catch (s) {\n o = { error: s };\n } finally {\n try {\n a && !a.done && (t = n.return) && t.call(n);\n } finally {\n if (o)\n throw o.error;\n }\n }\n return i;\n}, Qt = globalThis && globalThis.__spreadArray || function(r, e, t) {\n if (t || arguments.length === 2)\n for (var n = 0, a = e.length, i; n < a; n++)\n (i || !(n in e)) && (i || (i = Array.prototype.slice.call(e, 0, n)), i[n] = e[n]);\n return r.concat(i || Array.prototype.slice.call(e));\n}, ge = new ne(), J = new ne(), te = new ne(), we = {\n cache: ge,\n refreshInterval: 0,\n ttl: 0,\n serverTTL: 1e3,\n dedupingInterval: 2e3,\n revalidateOnFocus: !0,\n revalidateDebounce: 0,\n shouldRetryOnError: !0,\n errorRetryInterval: 5e3,\n errorRetryCount: 5,\n fetcher: ee.fetcher,\n isOnline: ee.isOnline,\n isDocumentVisible: ee.isDocumentVisible\n};\nfunction Jt(r, e, t) {\n var n = J.get(r);\n if (n)\n n.data.push(e);\n else {\n var a = 5e3;\n J.set(r, [e], t > 0 ? t + a : t);\n }\n}\nfunction Kt(r, e, t) {\n if (t.isDocumentVisible() && !(t.errorRetryCount !== void 0 && e > t.errorRetryCount)) {\n var n = Math.min(e || 0, t.errorRetryCount), a = n * t.errorRetryInterval;\n setTimeout(function() {\n r(null, { errorRetryCount: n + 1, shouldRetryOnError: !0 });\n }, a);\n }\n}\nvar de = function(r, e, t, n) {\n return t === void 0 && (t = ge), n === void 0 && (n = we.ttl), I(void 0, void 0, void 0, function() {\n var a, i, o, s, l, u, c;\n return F(this, function(v) {\n switch (v.label) {\n case 0:\n if (!Zt(e))\n return [3, 5];\n v.label = 1;\n case 1:\n return v.trys.push([1, 3, , 4]), [4, e];\n case 2:\n return a = v.sent(), [3, 4];\n case 3:\n return s = v.sent(), i = s, [3, 4];\n case 4:\n return [3, 6];\n case 5:\n a = e, v.label = 6;\n case 6:\n if (o = !1, l = { data: a, error: i, isValidating: o }, typeof a < \"u\")\n try {\n t.set(r, l, n);\n } catch (d) {\n console.error(\"swrv(mutate): failed to set cache\", d);\n }\n return u = J.get(r), u && u.data.length && (c = u.data.filter(function(d) {\n return d.key === r;\n }), c.forEach(function(d, f) {\n typeof l.data < \"u\" && (d.data = l.data), d.error = l.error, d.isValidating = l.isValidating;\n var g = f === c.length - 1;\n g || delete c[f];\n }), c = c.filter(Boolean)), [2, l];\n }\n });\n });\n};\nfunction zt() {\n for (var r = this, e = [], t = 0; t < arguments.length; t++)\n e[t] = arguments[t];\n var n, a, i = k({}, we), o = !1, s = !1, l = ye(), u = (l == null ? void 0 : l.proxy) || l;\n if (!u)\n return console.error(\"Could not get current instance, check to make sure that `useSwrv` is declared in the top level of the setup function.\"), null;\n var c = (u == null ? void 0 : u.$isServer) || !1;\n e.length >= 1 && (n = e[0]), e.length >= 2 && (a = e[1]), e.length > 2 && (i = k(k({}, i), e[2]));\n var v = c ? i.serverTTL : i.ttl, d = typeof n == \"function\" ? n : q(n);\n typeof a > \"u\" && (a = i.fetcher);\n var f = null;\n f || (f = Te({\n data: void 0,\n error: void 0,\n isValidating: !0,\n key: null\n }));\n var g = function(w, m) {\n return I(r, void 0, void 0, function() {\n var L, C, D, S, R, Y, _, G = this;\n return F(this, function(H) {\n switch (H.label) {\n case 0:\n return L = f.data === void 0, C = d.value, C ? (D = i.cache.get(C), S = D && D.data, f.isValidating = !0, S && (f.data = S.data, f.error = S.error), R = w || a, !R || !i.isDocumentVisible() && !L || (m == null ? void 0 : m.forceRevalidate) !== void 0 && !(m != null && m.forceRevalidate) ? (f.isValidating = !1, [\n 2\n /*return*/\n ]) : D && (Y = !!(Date.now() - D.createdAt >= i.dedupingInterval || m != null && m.forceRevalidate), !Y) ? (f.isValidating = !1, [\n 2\n /*return*/\n ]) : (_ = function() {\n return I(G, void 0, void 0, function() {\n var E, j, y, O;\n return F(this, function(M) {\n switch (M.label) {\n case 0:\n return E = te.get(C), E ? [3, 2] : (j = Array.isArray(C) ? C : [C], y = R.apply(void 0, Qt([], Xt(j), !1)), te.set(C, y, i.dedupingInterval), [4, de(C, y, i.cache, v)]);\n case 1:\n return M.sent(), [3, 4];\n case 2:\n return [4, de(C, E.data, i.cache, v)];\n case 3:\n M.sent(), M.label = 4;\n case 4:\n return f.isValidating = !1, te.delete(C), f.error !== void 0 && (O = !o && i.shouldRetryOnError && (m ? m.shouldRetryOnError : !0), O && Kt(g, m ? m.errorRetryCount : 1, i)), [\n 2\n /*return*/\n ];\n }\n });\n });\n }, S && i.revalidateDebounce ? (setTimeout(function() {\n return I(G, void 0, void 0, function() {\n return F(this, function(E) {\n switch (E.label) {\n case 0:\n return o ? [3, 2] : [4, _()];\n case 1:\n E.sent(), E.label = 2;\n case 2:\n return [\n 2\n /*return*/\n ];\n }\n });\n });\n }, i.revalidateDebounce), [3, 3]) : [3, 1])) : [\n 2\n /*return*/\n ];\n case 1:\n return [4, _()];\n case 2:\n H.sent(), H.label = 3;\n case 3:\n return [\n 2\n /*return*/\n ];\n }\n });\n });\n }, b = function() {\n return I(r, void 0, void 0, function() {\n return F(this, function(w) {\n return [2, g(null, { shouldRetryOnError: !1 })];\n });\n });\n }, p = null;\n pe(function() {\n var w = function() {\n return I(r, void 0, void 0, function() {\n return F(this, function(m) {\n switch (m.label) {\n case 0:\n return !f.error && i.isOnline() ? [4, g()] : [3, 2];\n case 1:\n return m.sent(), [3, 3];\n case 2:\n p && clearTimeout(p), m.label = 3;\n case 3:\n return i.refreshInterval && !o && (p = setTimeout(w, i.refreshInterval)), [\n 2\n /*return*/\n ];\n }\n });\n });\n };\n i.refreshInterval && (p = setTimeout(w, i.refreshInterval)), i.revalidateOnFocus && (document.addEventListener(\"visibilitychange\", b, !1), window.addEventListener(\"focus\", b, !1));\n }), Ce(function() {\n o = !0, p && clearTimeout(p), i.revalidateOnFocus && (document.removeEventListener(\"visibilitychange\", b, !1), window.removeEventListener(\"focus\", b, !1));\n var w = J.get(d.value);\n w && (w.data = w.data.filter(function(m) {\n return m !== f;\n }));\n });\n try {\n De(d, function(w) {\n Se(d) || (d.value = w), f.key = w, f.isValidating = !!w, Jt(d.value, f, v), !c && !s && d.value && g(), s = !1;\n }, {\n immediate: !0\n });\n } catch {\n }\n var W = k(k({}, Oe(f)), { mutate: function(w, m) {\n return g(w, k(k({}, m), { forceRevalidate: !0 }));\n } });\n return W;\n}\nfunction Zt(r) {\n return r !== null && typeof r == \"object\" && typeof r.then == \"function\";\n}\nfunction or(r, e, t) {\n const { data: n, error: a, isValidating: i, mutate: o } = zt(r, e, {\n revalidateDebounce: 500,\n revalidateOnFocus: !1,\n dedupingInterval: 100,\n ...t\n });\n return {\n data: fe(() => {\n var l;\n return (l = n.value) == null ? void 0 : l.data;\n }),\n response: n,\n error: a,\n isValidating: i,\n revalidate: o\n };\n}\nvar be = /* @__PURE__ */ ((r) => (r.VALIDATING = \"VALIDATING\", r.VALIDATING_HAS_DATA = \"VALIDATING_HAS_DATA\", r.PENDING = \"PENDING\", r.SUCCESS = \"SUCCESS\", r.SUCCESS_HAS_DATA = \"SUCCESS_HAS_DATA\", r.ERROR = \"ERROR\", r.STALE_IF_ERROR = \"STALE_IF_ERROR\", r))(be || {});\nconst er = (r) => {\n var e, t, n, a, i;\n return r ? !!// TODO: revisit: currently only the first check ever matters?\n ((e = Object.keys(r)) != null && e.length || (t = r.data) != null && t.length || (a = (n = r.data) == null ? void 0 : n.data) != null && a.length || !((i = r.data) != null && i.data) && typeof r.data == \"object\" && Object.keys(r == null ? void 0 : r.data).length) : !1;\n};\nfunction ur(r = q({}), e, t, n = er) {\n const a = q(\n \"PENDING\"\n /* PENDING */\n );\n return Pe(() => {\n const i = n(r.value);\n if (r.value && i && t.value) {\n a.value = \"VALIDATING_HAS_DATA\";\n return;\n }\n if (r.value && t.value) {\n a.value = \"VALIDATING\";\n return;\n }\n if (r.value && e.value) {\n a.value = \"STALE_IF_ERROR\";\n return;\n }\n if (r.value === void 0 && !e.value) {\n a.value = \"PENDING\";\n return;\n }\n if (r.value && !e.value && i) {\n a.value = \"SUCCESS_HAS_DATA\";\n return;\n }\n if (r.value && !e.value) {\n a.value = \"SUCCESS\";\n return;\n }\n r.value === void 0 && e && (a.value = \"ERROR\");\n }), {\n state: a,\n swrvState: be\n };\n}\nconst re = \"khcp-user-table-preferences\", tr = {\n pageSize: 30,\n sortColumnKey: void 0,\n sortColumnOrder: void 0\n};\nfunction lr() {\n const r = (i) => {\n if (typeof i == \"string\")\n try {\n return JSON.parse(i);\n } catch (o) {\n console.error(\"useTablePreferences(tryParseJson)\", o);\n return;\n }\n }, e = () => {\n const i = r(localStorage.getItem(re));\n return !i || !Object.keys(i).length ? /* @__PURE__ */ new Map() : new Map(Object.entries(i));\n };\n return {\n setTablePreferences: (i, o) => {\n try {\n const s = e();\n s.set(i, o), localStorage.setItem(re, JSON.stringify(Object.fromEntries(s.entries())));\n } catch (s) {\n console.error(\"useTablePreferences(setTablePreferences)\", s);\n }\n },\n getTablePreferences: (i) => {\n const o = e();\n return (o == null ? void 0 : o.get(i)) || void 0 || tr;\n },\n deleteAllTablePreferences: () => {\n localStorage.removeItem(re);\n }\n };\n}\nfunction sr() {\n const r = () => {\n var l;\n return ((l = window == null ? void 0 : window.location) == null ? void 0 : l.search) || \"\";\n };\n return {\n getLocationSearch: r,\n getLocationHostname: () => {\n var l;\n return ((l = window == null ? void 0 : window.location) == null ? void 0 : l.hostname) || \"\";\n },\n getLocationHref: () => {\n var l;\n return ((l = window == null ? void 0 : window.location) == null ? void 0 : l.href) || \"\";\n },\n getLocationPathname: () => {\n var l;\n return ((l = window == null ? void 0 : window.location) == null ? void 0 : l.pathname) || \"\";\n },\n getLocationOrigin: () => {\n var l;\n return ((l = window == null ? void 0 : window.location) == null ? void 0 : l.origin) || \"\";\n },\n getUrlSearchParams: () => new URLSearchParams(r()),\n setLocationAssign: (l) => {\n window.location.assign(l);\n },\n setLocationReplace: (l) => {\n window.location.replace(l);\n }\n };\n}\nexport {\n tr as DEFAULT_USER_TABLE_PREFERENCES,\n re as USER_TABLE_PREFERENCES_LOCAL_STORAGE_KEY,\n nr as useDate,\n ar as useDebounce,\n ir as usePackage,\n or as useSwrvRequest,\n ur as useSwrvState,\n lr as useTablePreferences,\n sr as useWindow\n};\n","import type { Ref } from 'vue'\nimport { computed } from 'vue'\nimport { DeltaQueryTime, UnaryQueryTime } from '@kong-ui-public/analytics-utilities'\nimport type { AnalyticsExploreV2Result, QueryTime } from '@kong-ui-public/analytics-utilities'\nimport { EXPLORE_V2_DIMENSIONS } from '../types'\nimport type { EXPLORE_V2_AGGREGATIONS, ExploreV2Query, MetricFetcherOptions } from '../types'\nimport { MAX_ANALYTICS_REQUEST_RETRIES } from '../constants'\nimport composables from '.'\nimport type { AxiosResponse } from 'axios'\nimport { useSwrvState } from '@kong-ui-public/core'\n\nexport const DEFAULT_KEY = Symbol('default')\nexport type MappedMetrics = Record<string | typeof DEFAULT_KEY, Record<string | typeof DEFAULT_KEY, number>>\n\n// This dimension is special: metric cards are never going to group on this dimension\n// except in order to determine traffic and error rate information.\nconst ERROR_RATE_DIMENSION = EXPLORE_V2_DIMENSIONS.STATUS_CODE_GROUPED\n\nexport interface ChronologicalMappedMetrics {\n current: MappedMetrics\n previous: MappedMetrics\n}\n\nexport interface FetcherResult {\n isLoading: Ref<boolean>\n hasError: Ref<boolean>\n raw: Ref<AxiosResponse<AnalyticsExploreV2Result, any> | undefined>\n mapped: Ref<ChronologicalMappedMetrics>\n}\n\nconst setMetric = (result: ChronologicalMappedMetrics, time: 'previous' | 'current', topLevelKey: string | typeof DEFAULT_KEY, secondLevelKey: string | typeof DEFAULT_KEY, metricValue: number) => {\n if (!result[time][topLevelKey]) {\n result[time][topLevelKey] = {} as Record<string | typeof DEFAULT_KEY, number>\n }\n result[time][topLevelKey][secondLevelKey] = metricValue\n}\n\nexport function buildDeltaMapping(result: AnalyticsExploreV2Result, queryTime: QueryTime, withTrend: boolean): ChronologicalMappedMetrics {\n // We should always have metric names in the result; if they're not present, just pick something that won't crash.\n const metricName = result.meta.metricNames?.[0] || ''\n\n // We only ever have 2 dimensions in the response if the second dimension is STATUS_CODE_GROUPED.\n // TIME doesn't show up in the response.\n // Assert that this is the case; raise a reportable error if not.\n const dimensionNames = Object.keys(result.meta.dimensions || {})\n const hasErrorRateDimension = !!dimensionNames.find(k => k === ERROR_RATE_DIMENSION)\n const keyDimension = dimensionNames.find(k => k !== ERROR_RATE_DIMENSION)\n\n if (dimensionNames.length > 2 || (dimensionNames.length > 1 && !hasErrorRateDimension)) {\n console.error(\"Don't know how to work with provided dimensions:\", dimensionNames)\n return {\n previous: { [DEFAULT_KEY]: { [DEFAULT_KEY]: 0 } },\n current: { [DEFAULT_KEY]: { [DEFAULT_KEY]: 0 } },\n }\n }\n\n // Go through each record and add it to the correct group.\n // Explore always returns results sorted in ascending order by time.\n return result.records.reduce<ChronologicalMappedMetrics>((result, record) => {\n const metricValue = record.event[metricName] as number\n\n // If we have dimensions, then index the results based on the dimension name.\n // If we don't have dimensions, insert a synthetic key (DEFAULT_KEY).\n const topLevelKey = keyDimension ? record.event[keyDimension] as string : DEFAULT_KEY\n\n // If we have the error rate key, then index the 2nd level results based on that.\n // Otherwise, insert a synthetic key (DEFAULT_KEY).\n const secondLevelKey = hasErrorRateDimension ? record.event[ERROR_RATE_DIMENSION] as string : DEFAULT_KEY\n\n // The records are in ascending order, so the first record is the earliest.\n // If the timestamp of the current record is the same as the query start date, it belongs to\n // the previous group, otherwise it belongs to the current group.\n if (new Date(record.timestamp).getTime() === queryTime.startDate().getTime() && withTrend) {\n setMetric(result, 'previous', topLevelKey, secondLevelKey, metricValue)\n } else {\n setMetric(result, 'current', topLevelKey, secondLevelKey, metricValue)\n }\n\n return result\n }, {\n previous: {},\n current: {},\n } as ChronologicalMappedMetrics)\n}\n\nexport default function useMetricFetcher(opts: MetricFetcherOptions): FetcherResult {\n if (opts.queryReady === undefined) {\n opts.queryReady = computed(() => true)\n }\n\n const queryTime: Ref<QueryTime> = computed(() => {\n return opts.withTrend ? new DeltaQueryTime(opts.timeframe.value) : new UnaryQueryTime(opts.timeframe.value)\n })\n\n const query: Ref<ExploreV2Query> = computed(() => ({\n metrics: opts.metrics as EXPLORE_V2_AGGREGATIONS[],\n dimensions: [\n ...(opts.dimensions?.length ? [...opts.dimensions as EXPLORE_V2_DIMENSIONS[]] : []),\n ...(opts.withTrend ? [EXPLORE_V2_DIMENSIONS.TIME] : []),\n ],\n granularityMs: queryTime.value.granularityMs(),\n ...(opts.filter.value?.length ? { filter: opts.filter.value } : {}),\n }))\n\n const timeRangeString = computed(() => `${queryTime.value.endDate().toString()}-${queryTime.value.startDate().toString()}`)\n const cacheKey: Ref<string | null> = computed(() => {\n if (!opts.queryReady?.value || (opts.featureFlags && !opts.featureFlags.every(e => e))) {\n return null\n }\n\n const additionalFilterKey = opts.filter?.value ? JSON.stringify(opts.filter.value) : ''\n // need to have some uniqueness in the cache key to avoid collisions.\n // this was happening when there are multiple providers on the same page with the same dimensions and metrics.\n // For example the singleProvider and multiProvider that appear in the test harness.\n return `metric-fetcher-${timeRangeString.value}-${opts.dimensions?.join('-')}-${opts.metrics?.join('-')}-${additionalFilterKey}`\n })\n\n const { response: raw, error: metricError, isValidating: isMetricDataValidating } = composables.useRequest<AnalyticsExploreV2Result>(\n () => cacheKey.value,\n () => opts.dataFetcher(queryTime.value, query.value),\n {\n refreshInterval: opts.refreshInterval,\n revalidateOnFocus: false,\n errorRetryCount: MAX_ANALYTICS_REQUEST_RETRIES,\n },\n )\n\n const { state: metricRequestState, swrvState: STATE } = useSwrvState(raw, metricError, isMetricDataValidating)\n\n const mapped = computed<ChronologicalMappedMetrics>(() => {\n if (!raw.value?.data?.records?.length || !raw.value?.data?.meta?.dimensions || !raw.value?.data?.meta?.metricNames?.length) {\n // Invalid or empty result.\n return { current: {}, previous: {} } as ChronologicalMappedMetrics\n }\n\n return buildDeltaMapping(raw.value.data, queryTime.value, !!opts.withTrend)\n })\n\n return {\n isLoading: computed(() => STATE.PENDING === metricRequestState.value),\n hasError: computed(() => STATE.ERROR === metricRequestState.value),\n raw,\n mapped,\n }\n}\n","import type { MetricCardDef, MetricCardType } from '@kong-ui-public/metric-cards'\nimport type { Ref } from 'vue'\nimport { computed } from 'vue'\nimport type { ChronologicalMappedMetrics } from './useMetricFetcher'\nimport { DEFAULT_KEY } from './useMetricFetcher'\n\nexport interface BuilderOptions {\n cardType: MetricCardType,\n title: Ref<string>,\n description?: string,\n record: Ref<ChronologicalMappedMetrics>,\n hasError: Ref<boolean>,\n lookupKey?: string,\n sumGroupedValues?: string[],\n increaseIsBad?: boolean,\n formatValueFn?: (rawValue: number) => string,\n trendRange?: Ref<string>,\n}\n\nexport const sumValues = (recordValue: ChronologicalMappedMetrics, period: 'current' | 'previous', dimensionLookupKey: string | typeof DEFAULT_KEY = DEFAULT_KEY, sumGroupedValues?: string[]) => {\n const groupedValueKey: string[] | (typeof DEFAULT_KEY)[] = sumGroupedValues ?? [DEFAULT_KEY]\n\n // @ts-ignore: TS can't seem to handle the fact that `groupedValueKey` has a union type.\n return groupedValueKey.reduce((acc: number, lookup: string | typeof DEFAULT_KEY) => {\n const groupValue = recordValue[period][dimensionLookupKey]\n if (groupValue) {\n return acc + (groupValue[lookup] || 0)\n }\n\n return acc\n }, 0)\n}\n\nexport default function useMetricCardBuilder(opts: BuilderOptions): Ref<MetricCardDef> {\n const {\n cardType,\n title,\n description,\n record,\n hasError,\n increaseIsBad,\n formatValueFn,\n trendRange,\n } = opts\n\n return computed<MetricCardDef>(() => {\n let currentValue = 0\n let previousValue = 0\n\n if (record?.value) {\n try {\n currentValue = sumValues(record.value, 'current', opts.lookupKey, opts.sumGroupedValues)\n previousValue = sumValues(record.value, 'previous', opts.lookupKey, opts.sumGroupedValues)\n } catch (e) {\n // Values default to 0 if this happens.\n console.error(\n \"Metric card data doesn't have the expected structure:\",\n e,\n )\n }\n }\n\n return {\n cardType,\n hasError: hasError.value,\n currentValue,\n previousValue,\n title: title.value,\n description,\n increaseIsBad: !!increaseIsBad, // Coerce undefined to false\n formatValueFn,\n trendRange: trendRange?.value,\n }\n })\n}\n","// From https://github.com/vercel/swr/blob/master/src/libs/hash.ts\n// use WeakMap to store the object->key mapping\n// so the objects can be garbage collected.\n// WeakMap uses a hashtable under the hood, so the lookup\n// complexity is almost O(1).\nvar table = new WeakMap();\n// counter of the key\nvar counter = 0;\n// hashes an array of objects and returns a string\nexport default function hash(args) {\n if (!args.length)\n return '';\n var key = 'arg';\n for (var i = 0; i < args.length; ++i) {\n var _hash = void 0;\n if (args[i] === null ||\n (typeof args[i] !== 'object' && typeof args[i] !== 'function')) {\n // need to consider the case that args[i] is a string:\n // args[i] _hash\n // \"undefined\" -> '\"undefined\"'\n // undefined -> 'undefined'\n // 123 -> '123'\n // null -> 'null'\n // \"null\" -> '\"null\"'\n if (typeof args[i] === 'string') {\n _hash = '\"' + args[i] + '\"';\n }\n else {\n _hash = String(args[i]);\n }\n }\n else {\n if (!table.has(args[i])) {\n _hash = counter;\n table.set(args[i], counter++);\n }\n else {\n _hash = table.get(args[i]);\n }\n }\n key += '@' + _hash;\n }\n return key;\n}\n//# sourceMappingURL=hash.js.map","import hash from '../lib/hash';\nfunction serializeKeyDefault(key) {\n if (typeof key === 'function') {\n try {\n key = key();\n }\n catch (err) {\n // dependencies not ready\n key = '';\n }\n }\n if (Array.isArray(key)) {\n key = hash(key);\n }\n else {\n // convert null to ''\n key = String(key || '');\n }\n return key;\n}\nvar SWRVCache = /** @class */ (function () {\n function SWRVCache(ttl) {\n if (ttl === void 0) { ttl = 0; }\n this.items = new Map();\n this.ttl = ttl;\n }\n SWRVCache.prototype.serializeKey = function (key) {\n return serializeKeyDefault(key);\n };\n SWRVCache.prototype.get = function (k) {\n var _key = this.serializeKey(k);\n return this.items.get(_key);\n };\n SWRVCache.prototype.set = function (k, v, ttl) {\n var _key = this.serializeKey(k);\n var timeToLive = ttl || this.ttl;\n var now = Date.now();\n var item = {\n data: v,\n createdAt: now,\n expiresAt: timeToLive ? now + timeToLive : Infinity\n };\n this.dispatchExpire(timeToLive, item, _key);\n this.items.set(_key, item);\n };\n SWRVCache.prototype.dispatchExpire = function (ttl, item, serializedKey) {\n var _this = this;\n ttl && setTimeout(function () {\n var current = Date.now();\n var hasExpired = current >= item.expiresAt;\n if (hasExpired)\n _this.delete(serializedKey);\n }, ttl);\n };\n SWRVCache.prototype.delete = function (serializedKey) {\n this.items.delete(serializedKey);\n };\n return SWRVCache;\n}());\nexport default SWRVCache;\n//# sourceMappingURL=index.js.map","function isOnline() {\n if (typeof navigator.onLine !== 'undefined') {\n return navigator.onLine;\n }\n // always assume it's online\n return true;\n}\nfunction isDocumentVisible() {\n if (typeof document !== 'undefined' &&\n typeof document.visibilityState !== 'undefined') {\n return document.visibilityState !== 'hidden';\n }\n // always assume it's visible\n return true;\n}\nvar fetcher = function (url) { return fetch(url).then(function (res) { return res.json(); }); };\nexport default {\n isOnline: isOnline,\n isDocumentVisible: isDocumentVisible,\n fetcher: fetcher\n};\n//# sourceMappingURL=web-preset.js.map","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __read = (this && this.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n};\nvar __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n};\n/** ____\n *--------------/ \\.------------------/\n * / swrv \\. / //\n * / / /\\. / //\n * / _____/ / \\. /\n * / / ____/ . \\. /\n * / \\ \\_____ \\. /\n * / . \\_____ \\ \\ / //\n * \\ _____/ / ./ / //\n * \\ / _____/ ./ /\n * \\ / / . ./ /\n * \\ / / ./ /\n * . \\/ ./ / //\n * \\ ./ / //\n * \\.. / /\n * . ||| /\n * ||| /\n * . ||| / //\n * ||| / //\n * ||| /\n */\nimport { reactive, watch, ref, toRefs, \n// isRef,\nonMounted, onUnmounted, getCurrentInstance, isReadonly } from 'vue';\nimport webPreset from './lib/web-preset';\nimport SWRVCache from './cache';\nvar DATA_CACHE = new SWRVCache();\nvar REF_CACHE = new SWRVCache();\nvar PROMISES_CACHE = new SWRVCache();\nvar defaultConfig = {\n cache: DATA_CACHE,\n refreshInterval: 0,\n ttl: 0,\n serverTTL: 1000,\n dedupingInterval: 2000,\n revalidateOnFocus: true,\n revalidateDebounce: 0,\n shouldRetryOnError: true,\n errorRetryInterval: 5000,\n errorRetryCount: 5,\n fetcher: webPreset.fetcher,\n isOnline: webPreset.isOnline,\n isDocumentVisible: webPreset.isDocumentVisible\n};\n/**\n * Cache the refs for later revalidation\n */\nfunction setRefCache(key, theRef, ttl) {\n var refCacheItem = REF_CACHE.get(key);\n if (refCacheItem) {\n refCacheItem.data.push(theRef);\n }\n else {\n // #51 ensures ref cache does not evict too soon\n var gracePeriod = 5000;\n REF_CACHE.set(key, [theRef], ttl > 0 ? ttl + gracePeriod : ttl);\n }\n}\nfunction onErrorRetry(revalidate, errorRetryCount, config) {\n if (!config.isDocumentVisible()) {\n return;\n }\n if (config.errorRetryCount !== undefined && errorRetryCount > config.errorRetryCount) {\n return;\n }\n var count = Math.min(errorRetryCount || 0, config.errorRetryCount);\n var timeout = count * config.errorRetryInterval;\n setTimeout(function () {\n revalidate(null, { errorRetryCount: count + 1, shouldRetryOnError: true });\n }, timeout);\n}\n/**\n * Main mutation function for receiving data from promises to change state and\n * set data cache\n */\nvar mutate = function (key, res, cache, ttl) {\n if (cache === void 0) { cache = DATA_CACHE; }\n if (ttl === void 0) { ttl = defaultConfig.ttl; }\n return __awaiter(void 0, void 0, void 0, function () {\n var data, error, isValidating, err_1, newData, stateRef, refs_1;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!isPromise(res)) return [3 /*break*/, 5];\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n return [4 /*yield*/, res];\n case 2:\n data = _a.sent();\n return [3 /*break*/, 4];\n case 3:\n err_1 = _a.sent();\n error = err_1;\n return [3 /*break*/, 4];\n case 4: return [3 /*break*/, 6];\n case 5:\n data = res;\n _a.label = 6;\n case 6:\n // eslint-disable-next-line prefer-const\n isValidating = false;\n newData = { data: data, error: error, isValidating: isValidating };\n if (typeof data !== 'undefined') {\n try {\n cache.set(key, newData, ttl);\n }\n catch (err) {\n console.error('swrv(mutate): failed to set cache', err);\n }\n }\n stateRef = REF_CACHE.get(key);\n if (stateRef && stateRef.data.length) {\n refs_1 = stateRef.data.filter(function (r) { return r.key === key; });\n refs_1.forEach(function (r, idx) {\n if (typeof newData.data !== 'undefined') {\n r.data = newData.data;\n }\n r.error = newData.error;\n r.isValidating = newData.isValidating;\n var isLast = idx === refs_1.length - 1;\n if (!isLast) {\n // Clean up refs that belonged to old keys\n delete refs_1[idx];\n }\n });\n refs_1 = refs_1.filter(Boolean);\n }\n return [2 /*return*/, newData];\n }\n });\n });\n};\nfunction useSWRV() {\n var _this = this;\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var key;\n var fn;\n var config = __assign({}, defaultConfig);\n var unmounted = false;\n var isHydrated = false;\n var instance = getCurrentInstance();\n var vm = (instance === null || instance === void 0 ? void 0 : instance.proxy) || instance; // https://github.com/vuejs/composition-api/pull/520\n if (!vm) {\n console.error('Could not get current instance, check to make sure that `useSwrv` is declared in the top level of the setup function.');\n return null;\n }\n var IS_SERVER = (vm === null || vm === void 0 ? void 0 : vm.$isServer) || false;\n // #region ssr\n /**\n const isSsrHydration = Boolean(\n \\!IS_SERVER &&\n vm.$vnode &&\n vm.$vnode.elm &&\n vm.$vnode.elm.dataset &&\n vm.$vnode.elm.dataset.swrvKey)\n */\n // #endregion\n if (args.length >= 1) {\n key = args[0];\n }\n if (args.length >= 2) {\n fn = args[1];\n }\n if (args.length > 2) {\n config = __assign(__assign({}, config), args[2]);\n }\n var ttl = IS_SERVER ? config.serverTTL : config.ttl;\n var keyRef = typeof key === 'function' ? key : ref(key);\n if (typeof fn === 'undefined') {\n // use the global fetcher\n fn = config.fetcher;\n }\n var stateRef = null;\n // #region ssr\n // if (isSsrHydration) {\n // // component was ssrHydrated, so make the ssr reactive as the initial data\n // const swrvState = (window as any).__SWRV_STATE__ ||\n // ((window as any).__NUXT__ && (window as any).__NUXT__.swrv) || []\n // const swrvKey = +(vm as any).$vnode.elm.dataset.swrvKey\n // if (swrvKey !== undefined && swrvKey !== null) {\n // const nodeState = swrvState[swrvKey] || []\n // const instanceState = nodeState[isRef(keyRef) ? keyRef.value : keyRef()]\n // if (instanceState) {\n // stateRef = reactive(instanceState)\n // isHydrated = true\n // }\n // }\n // }\n // #endregion\n if (!stateRef) {\n stateRef = reactive({\n data: undefined,\n error: undefined,\n isValidating: true,\n key: null\n });\n }\n /**\n * Revalidate the cache, mutate data\n */\n var revalidate = function (data, opts) { return __awaiter(_this, void 0, void 0, function () {\n var isFirstFetch, keyVal, cacheItem, newData, fetcher, shouldRevalidate, trigger;\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n isFirstFetch = stateRef.data === undefined;\n keyVal = keyRef.value;\n if (!keyVal) {\n return [2 /*return*/];\n }\n cacheItem = config.cache.get(keyVal);\n newData = cacheItem && cacheItem.data;\n stateRef.isValidating = true;\n if (newData) {\n stateRef.data = newData.data;\n stateRef.error = newData.error;\n }\n fetcher = data || fn;\n if (!fetcher ||\n (!config.isDocumentVisible() && !isFirstFetch) ||\n ((opts === null || opts === void 0 ? void 0 : opts.forceRevalidate) !== undefined && !(opts === null || opts === void 0 ? void 0 : opts.forceRevalidate))) {\n stateRef.isValidating = false;\n return [2 /*return*/];\n }\n // Dedupe items that were created in the last interval #76\n if (cacheItem) {\n shouldRevalidate = Boolean(((Date.now() - cacheItem.createdAt) >= config.dedupingInterval) || (opts === null || opts === void 0 ? void 0 : opts.forceRevalidate));\n if (!shouldRevalidate) {\n stateRef.isValidating = false;\n return [2 /*return*/];\n }\n }\n trigger = function () { return __awaiter(_this, void 0, void 0, function () {\n var promiseFromCache, fetcherArgs, newPromise, shouldRetryOnError;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n promiseFromCache = PROMISES_CACHE.get(keyVal);\n if (!!promiseFromCache) return [3 /*break*/, 2];\n fetcherArgs = Array.isArray(keyVal) ? keyVal : [keyVal];\n newPromise = fetcher.apply(void 0, __spreadArray([], __read(fetcherArgs), false));\n PROMISES_CACHE.set(keyVal, newPromise, config.dedupingInterval);\n return [4 /*yield*/, mutate(keyVal, newPromise, config.cache, ttl)];\n case 1:\n _a.sent();\n return [3 /*break*/, 4];\n case 2: return [4 /*yield*/, mutate(keyVal, promiseFromCache.data, config.cache, ttl)];\n case 3:\n _a.sent();\n _a.label = 4;\n case 4:\n stateRef.isValidating = false;\n PROMISES_CACHE.delete(keyVal);\n if (stateRef.error !== undefined) {\n shouldRetryOnError = !unmounted && config.shouldRetryOnError && (opts ? opts.shouldRetryOnError : true);\n if (shouldRetryOnError) {\n onErrorRetry(revalidate, opts ? opts.errorRetryCount : 1, config);\n }\n }\n return [2 /*return*/];\n }\n });\n }); };\n if (!(newData && config.revalidateDebounce)) return [3 /*break*/, 1];\n setTimeout(function () { return __awaiter(_this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!!unmounted) return [3 /*break*/, 2];\n return [4 /*yield*/, trigger()];\n case 1:\n _a.sent();\n _a.label = 2;\n case 2: return [2 /*return*/];\n }\n });\n }); }, config.revalidateDebounce);\n return [3 /*break*/, 3];\n case 1: return [4 /*yield*/, trigger()];\n case 2:\n _a.sent();\n _a.label = 3;\n case 3: return [2 /*return*/];\n }\n });\n }); };\n var revalidateCall = function () { return __awaiter(_this, void 0, void 0, function () { return __generator(this, function (_a) {\n return [2 /*return*/, revalidate(null, { shouldRetryOnError: false })];\n }); }); };\n var timer = null;\n /**\n * Setup polling\n */\n onMounted(function () {\n var tick = function () { return __awaiter(_this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!(!stateRef.error && config.isOnline())) return [3 /*break*/, 2];\n // if API request errored, we stop polling in this round\n // and let the error retry function handle it\n return [4 /*yield*/, revalidate()];\n case 1:\n // if API request errored, we stop polling in this round\n // and let the error retry function handle it\n _a.sent();\n return [3 /*break*/, 3];\n case 2:\n if (timer) {\n clearTimeout(timer);\n }\n _a.label = 3;\n case 3:\n if (config.refreshInterval && !unmounted) {\n timer = setTimeout(tick, config.refreshInterval);\n }\n return [2 /*return*/];\n }\n });\n }); };\n if (config.refreshInterval) {\n timer = setTimeout(tick, config.refreshInterval);\n }\n if (config.revalidateOnFocus) {\n document.addEventListener('visibilitychange', revalidateCall, false);\n window.addEventListener('focus', revalidateCall, false);\n }\n });\n /**\n * Teardown\n */\n onUnmounted(function () {\n unmounted = true;\n if (timer) {\n clearTimeout(timer);\n }\n if (config.revalidateOnFocus) {\n document.removeEventListener('visibilitychange', revalidateCall, false);\n window.removeEventListener('focus', revalidateCall, false);\n }\n var refCacheItem = REF_CACHE.get(keyRef.value);\n if (refCacheItem) {\n refCacheItem.data = refCacheItem.data.filter(function (ref) { return ref !== stateRef; });\n }\n });\n // #region ssr\n // if (IS_SERVER) {\n // // make sure srwv exists in ssrContext\n // let swrvRes = []\n // if (vm.$ssrContext) {\n // swrvRes = vm.$ssrContext.swrv = vm.$ssrContext.swrv || swrvRes\n // }\n // const ssrKey = swrvRes.length\n // if (!vm.$vnode || (vm.$node && !vm.$node.data)) {\n // vm.$vnode = {\n // data: { attrs: { 'data-swrv-key': ssrKey } }\n // }\n // }\n // const attrs = (vm.$vnode.data.attrs = vm.$vnode.data.attrs || {})\n // attrs['data-swrv-key'] = ssrKey\n // // Nuxt compatibility\n // if (vm.$ssrContext && vm.$ssrContext.nuxt) {\n // vm.$ssrContext.nuxt.swrv = swrvRes\n // }\n // onServerPrefetch(async () => {\n // await revalidate()\n // if (!swrvRes[ssrKey]) swrvRes[ssrKey] = {}\n // swrvRes[ssrKey][keyRef.value] = {\n // data: stateRef.data,\n // error: stateRef.error,\n // isValidating: stateRef.isValidating\n // }\n // })\n // }\n // #endregion\n /**\n * Revalidate when key dependencies change\n */\n try {\n watch(keyRef, function (val) {\n if (!isReadonly(keyRef)) {\n keyRef.value = val;\n }\n stateRef.key = val;\n stateRef.isValidating = Boolean(val);\n setRefCache(keyRef.value, stateRef, ttl);\n if (!IS_SERVER && !isHydrated && keyRef.value) {\n revalidate();\n }\n isHydrated = false;\n }, {\n immediate: true\n });\n }\n catch (_a) {\n // do nothing\n }\n var res = __assign(__assign({}, toRefs(stateRef)), { mutate: function (data, opts) { return revalidate(data, __assign(__assign({}, opts), { forceRevalidate: true })); } });\n return res;\n}\nfunction isPromise(p) {\n return p !== null && typeof p === 'object' && typeof p.then === 'function';\n}\nexport { mutate };\nexport default useSWRV;\n//# sourceMappingURL=use-swrv.js.map","import type { IConfig } from 'swrv'\nimport useSWRV from 'swrv'\nimport type { AxiosResponse, AxiosError } from 'axios'\nimport type { IKey, fetcherFn } from 'swrv/dist/types'\nimport { computed } from 'vue'\n\nexport default function useRequest<Data = unknown, Error = { message: string }>(\n key: IKey,\n fn?: fetcherFn<AxiosResponse<Data>>,\n config?: IConfig,\n) {\n const {\n data: response,\n error,\n isValidating,\n mutate: revalidate,\n } = useSWRV<AxiosResponse<Data>, AxiosError<Error>>(key, fn, {\n revalidateDebounce: 500,\n revalidateOnFocus: false,\n dedupingInterval: 100,\n ...config,\n })\n\n const data = computed<Data | undefined>(() => {\n return response.value?.data\n })\n\n return {\n data,\n response,\n error,\n isValidating,\n revalidate,\n }\n}\n","import useI18n from './useI18n'\nimport useMetricCardBuilder from './useMetricCardBuilder'\nimport useMetricFetcher from './useMetricFetcher'\nimport useRequest from './useRequest'\n\n// All composables must be exported as part of the default object for Cypress test stubs\nexport default {\n useI18n,\n useMetricCardBuilder,\n useMetricFetcher,\n useRequest,\n}\n","import type { Timeframe } from '@kong-ui-public/analytics-utilities'\nimport composables from '../composables'\nimport { EXPLORE_V2_AGGREGATIONS, EXPLORE_V2_DIMENSIONS, EXPLORE_V2_FILTER_TYPES } from '../types'\nimport type { DataFetcher, ExploreV2Filter, MetricFetcherOptions } from '../types'\nimport { computed } from 'vue'\nimport type { InjectionKey, Ref } from 'vue'\n\ninterface ProviderData {\n data: {\n [key: string]: any // TODO\n },\n description?: string,\n hasTrendAccess: boolean,\n longCardTitles: boolean,\n trendRange: Ref<string>,\n}\n\nexport const METRICS_PROVIDER_KEY = Symbol('METRICS_PROVIDER_KEY') as InjectionKey<ProviderData>\n\ninterface FetcherOptions {\n dimension?: EXPLORE_V2_DIMENSIONS\n dimensionFilterValue?: string\n additionalFilter: Ref<ExploreV2Filter[] | undefined>\n queryReady: Ref<boolean>\n timeframe: Ref<Timeframe>\n hasTrendAccess: boolean\n refreshInterval: number\n dataFetcher: DataFetcher\n}\n\nexport const defaultFetcherDefs = (opts: FetcherOptions) => {\n const {\n dimension,\n dimensionFilterValue,\n additionalFilter,\n queryReady,\n timeframe,\n hasTrendAccess,\n refreshInterval,\n dataFetcher,\n } = opts\n\n if (dimensionFilterValue && !dimension) {\n throw new Error('Must provide a dimension if filtering by a value')\n }\n\n const singleEntityQuery = !!(dimension && dimensionFilterValue)\n const multiEntityQuery = !!(dimension && !dimensionFilterValue)\n\n const filter = computed<ExploreV2Filter[]>(() => {\n const retval: ExploreV2Filter[] = []\n\n if (singleEntityQuery) {\n retval.push({\n dimension,\n type: EXPLORE_V2_FILTER_TYPES.IN,\n values: [dimensionFilterValue],\n })\n }\n\n if (additionalFilter.value) {\n retval.push(...additionalFilter.value)\n }\n\n return retval\n })\n\n const trafficMetricFetcherOptions: MetricFetcherOptions = {\n metrics: [\n EXPLORE_V2_AGGREGATIONS.REQUEST_COUNT,\n ],\n\n // Traffic and error rate cards should only try to query for the dimension if it's going to be used.\n // It isn't used for single entity queries.\n dimensions: [\n ...((dimension && !singleEntityQuery) ? [dimension] : []),\n EXPLORE_V2_DIMENSIONS.STATUS_CODE_GROUPED,\n ],\n\n filter,\n queryReady,\n timeframe,\n\n // Traffic and error rate cards can't query trend if multiple entities are expected.\n withTrend: hasTrendAccess && !multiEntityQuery,\n\n refreshInterval,\n dataFetcher,\n }\n\n const latencyMetricFetcherOptions: MetricFetcherOptions = {\n metrics: [\n EXPLORE_V2_AGGREGATIONS.RESPONSE_LATENCY_P99,\n ],\n\n // To keep single-entity queries consistent, don't bother querying the dimension for latency\n // in the single-entity case, even though it's possible.\n ...((dimension && !singleEntityQuery) ? { dimensions: [dimension] } : {}),\n\n filter,\n queryReady,\n timeframe,\n\n // Don't query latency trends in the multi-entity case: it's possible, but wasteful.\n withTrend: hasTrendAccess && !multiEntityQuery,\n\n refreshInterval,\n dataFetcher,\n }\n\n const trafficData = composables.useMetricFetcher(trafficMetricFetcherOptions)\n const latencyData = composables.useMetricFetcher(latencyMetricFetcherOptions)\n\n return {\n trafficData,\n latencyData,\n }\n}\n","<template>\n <slot\n :has-trend-access=\"props.hasTrendAccess\"\n :timeframe=\"timeframe\"\n />\n</template>\n<script setup lang=\"ts\">\nimport type { Ref } from 'vue'\nimport { computed, provide, toRef } from 'vue'\nimport type { Timeframe } from '@kong-ui-public/analytics-utilities'\nimport { TimePeriods, TimeframeKeys } from '@kong-ui-public/analytics-utilities'\nimport { METRICS_PROVIDER_KEY, defaultFetcherDefs } from './metricsProviderUtil'\nimport { EXPLORE_V2_DIMENSIONS } from '../types'\nimport type { DataFetcher, ExploreV2Filter } from '../types'\nimport composables from '../composables'\n\nconst { i18n } = composables.useI18n()\n\nconst props = withDefaults(defineProps<{\n maxTimeframe?: TimeframeKeys,\n overrideTimeframe?: Timeframe,\n dimension?: `${EXPLORE_V2_DIMENSIONS}`,\n filterValue?: string,\n additionalFilter?: ExploreV2Filter[],\n queryReady?: boolean,\n dataFetcher: DataFetcher,\n hasTrendAccess: boolean,\n refreshInterval: number,\n longCardTitles?: boolean,\n description?: string,\n}>(), {\n maxTimeframe: TimeframeKeys.THIRTY_DAY,\n overrideTimeframe: undefined,\n dimension: undefined,\n filterValue: undefined,\n additionalFilter: undefined,\n queryReady: true,\n longCardTitles: false,\n description: undefined,\n})\n\n// Fail early if there's a programming error.\nif (props.dimension && !{}.hasOwnProperty.call(EXPLORE_V2_DIMENSIONS, props.dimension)) {\n throw new Error(`Attempted to use MetricsProvider with an invalid dimension: ${props.dimension}`)\n}\n\n// Note: the component implicitly assumes the values it feeds to the composables aren't going to change.\n// If they do need to change, then the `useMetricCardGoldenSignals` composable, and dependencies,\n// needs to be reactive as well. Ideally, this would be the case; we don't have any guarantee that the\n// tier data has finished loading by the time the component mounts, for example.\n\nconst timeframe = computed(() => {\n if (props.overrideTimeframe) {\n // Trust that the host component calculated the timeframe for us.\n return props.overrideTimeframe\n }\n\n const retval = props.hasTrendAccess\n ? TimePeriods.get(props.maxTimeframe)\n : TimePeriods.get(TimeframeKeys.ONE_DAY)\n\n if (!retval) {\n throw new Error('Metrics provider failed to resolve fallback timeframe.')\n }\n\n return retval\n})\n\n// If one of our relative timeframes, we display the requested time frame (if user has trend access); otherwise fall back to one day\n// Else, we have a Custom start and end datetime coming from v-calendar, so we display \"vs previous X days\"\nconst trendRangeText = computed(() => {\n if (timeframe.value.key === 'custom') {\n return i18n.t('trendRange.custom', { numDays: Math.ceil(timeframe.value.timeframeLength() / (1000 * 60 * 24)) })\n } else {\n return props.hasTrendAccess\n // @ts-ignore - dynamic i18n key\n ? i18n.t(`trendRange.${timeframe.value.key}`)\n // @ts-ignore - dynamic i18n key\n : i18n.t(`trendRange.${TimePeriods.get(TimeframeKeys.ONE_DAY)?.key}`)\n }\n})\n\nconst {\n trafficData,\n latencyData,\n} = defaultFetcherDefs({\n dimension: props.dimension as (EXPLORE_V2_DIMENSIONS | undefined),\n dimensionFilterValue: props.filterValue,\n additionalFilter: toRef(props, 'additionalFilter'),\n queryReady: toRef(props, 'queryReady'),\n timeframe,\n hasTrendAccess: props.hasTrendAccess,\n refreshInterval: props.refreshInterval,\n dataFetcher: props.dataFetcher,\n})\n\nprovide(METRICS_PROVIDER_KEY, {\n data: {\n traffic: trafficData,\n latency: latencyData,\n },\n description: props.description,\n hasTrendAccess: props.hasTrendAccess,\n longCardTitles: props.longCardTitles,\n trendRange: trendRangeText as Ref<string>,\n})\n\n</script>\n","import { defineComponent as S, computed as c, openBlock as n, createBlock as v, resolveDynamicComponent as b, normalizeStyle as x, withCtx as w, createElementBlock as s, toDisplayString as C, createCommentVNode as y, pushScopeId as z, popScopeId as k, createElementVNode as f, resolveComponent as U, normalizeClass as M, unref as p, createVNode as E, Fragment as B, renderList as G, mergeProps as j } from \"vue\";\nfunction X(e) {\n return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, \"default\") ? e.default : e;\n}\nvar A = { exports: {} };\n(function(e) {\n (function() {\n function t(o, l) {\n if (l.separator === !1 || o < 1e3)\n return o.toString();\n var u = typeof l.separator == \"string\" ? l.separator : \",\", m = [], q = Math.round(o).toString().split(\"\");\n return q.reverse().forEach(function(P, O) {\n O && O % 3 === 0 && m.push(u), m.push(P);\n }), m.reverse().join(\"\");\n }\n function r(o, l, u) {\n var m = o / l, q = u.round ? \"round\" : \"floor\";\n return u.decimal === !1 ? (o = Math[q](m), o.toString()) : (u.precision ? o = m : o = m < 10 ? Math[q](m * 10) / 10 : Math[q](m), o = o.toString(), typeof u.decimal == \"string\" && (o = o.replace(\".\", u.decimal)), o);\n }\n var d = 1e3, a = 1e4, i = 1e6, h = 1e9, _ = 1e12;\n function H(o, l) {\n var u;\n l = l || {};\n var m = o < 0;\n m && (o = Math.abs(o)), l.precision && (o = parseFloat(o.toPrecision(l.precision)));\n var q = l.min10k ? a : d;\n return o < q || l.precision && l.precision > Math.log10(o) ? u = t(r(o, 1, l), l) : o < i ? u = r(o, d, l) + \"k\" : o < h ? u = r(o, i, l) + \"m\" : o < _ ? u = t(r(o, h, l), l) + \"b\" : u = t(r(o, _, l), l) + \"t\", m && (u = \"-\" + u), l.capital && (u = u.toUpperCase()), l.prefix && (u = l.prefix + u), l.suffix && (u = u + l.suffix), u;\n }\n H.addCommas = t, e.exports = H;\n })();\n})(A);\nvar Y = A.exports;\nconst W = /* @__PURE__ */ X(Y);\nvar N = /* @__PURE__ */ ((e) => (e.Small = \"sm\", e.Medium = \"md\", e.Large = \"lg\", e.LargeCompact = \"lgc\", e.ExtraLarge = \"xl\", e))(N || {});\nconst g = \"24px\", I = (e, t) => {\n const r = e.__vccOpts || e;\n for (const [d, a] of t)\n r[d] = a;\n return r;\n}, J = (e) => (z(\"data-v-115ec679\"), e = e(), k(), e), Q = [\"aria-hidden\"], ee = {\n key: 0,\n \"data-testid\": \"kui-icon-svg-title\"\n}, te = /* @__PURE__ */ J(() => /* @__PURE__ */ f(\"path\", {\n d: \"M6.5 20C4.98333 20 3.6875 19.475 2.6125 18.425C1.5375 17.375 1 16.0917 1 14.575C1 13.275 1.39167 12.1167 2.175 11.1C2.95833 10.0833 3.98333 9.43333 5.25 9.15C5.66667 7.61667 6.5 6.375 7.75 5.425C9 4.475 10.4167 4 12 4C13.95 4 15.6042 4.67917 16.9625 6.0375C18.3208 7.39583 19 9.05 19 11C20.15 11.1333 21.1042 11.6292 21.8625 12.4875C22.6208 13.3458 23 14.35 23 15.5C23 16.75 22.5625 17.8125 21.6875 18.6875C20.8125 19.5625 19.75 20 18.5 20H13C12.45 20 11.9792 19.8042 11.5875 19.4125C11.1958 19.0208 11 18.55 11 18V12.85L9.4 14.4L8 13L12 9L16 13L14.6 14.4L13 12.85V18H18.5C19.2 18 19.7917 17.7583 20.275 17.275C20.7583 16.7917 21 16.2 21 15.5C21 14.8 20.7583 14.2083 20.275 13.725C19.7917 13.2417 19.2 13 18.5 13H17V11C17 9.61667 16.5125 8.4375 15.5375 7.4625C14.5625 6.4875 13.3833 6 12 6C10.6167 6 9.4375 6.4875 8.4625 7.4625C7.4875 8.4375 7 9.61667 7 11H6.5C5.53333 11 4.70833 11.3417 4.025 12.025C3.34167 12.7083 3 13.5333 3 14.5C3 15.4667 3.34167 16.2917 4.025 16.975C4.70833 17.6583 5.53333 18 6.5 18H9V20H6.5Z\",\n fill: \"currentColor\"\n}, null, -1)), re = /* @__PURE__ */ S({\n __name: \"CloudUploadIcon\",\n props: {\n /** The accessibility text provided to screen readers */\n title: {\n type: String,\n required: !1,\n default: \"\"\n },\n /** The icon color. Defaults to `currentColor` which inherits text color from the parent element */\n color: {\n type: String,\n required: !1,\n default: \"currentColor\"\n },\n /** The CSS display property for the icon. Defaults to `block` */\n display: {\n type: String,\n required: !1,\n default: \"block\"\n },\n /** Whether the icon is just eye-candy or is meaningful to the page (should screen-readers ignore the icon?) */\n decorative: {\n type: Boolean,\n required: !1,\n default: !1\n },\n /** The icon size */\n size: {\n type: [Number, String],\n required: !1,\n default: g,\n // if setting to the imported const fails, just pass a number of 24 as the default.\n validator: (e) => {\n if (typeof e == \"number\" && e > 0)\n return !0;\n if (typeof e == \"string\") {\n const t = String(e).replace(/px/gi, \"\"), r = Number(t);\n if (r && !isNaN(r) && Number.isInteger(r) && r > 0)\n return !0;\n }\n return !1;\n }\n },\n /** The HTML tag to utilize for the icon's wrapper element. Defaults to `span` */\n as: {\n type: String,\n required: !1,\n default: \"span\"\n }\n },\n setup(e) {\n const t = e, r = c(() => {\n if (typeof t.size == \"number\" && t.size > 0)\n return `${t.size}px`;\n if (typeof t.size == \"string\") {\n const a = String(t.size).replace(/px/gi, \"\"), i = Number(a);\n if (i && !isNaN(i) && Number.isInteger(i) && i > 0)\n return `${i}px`;\n }\n return g;\n }), d = c(() => ({\n boxSizing: \"border-box\",\n color: t.color,\n display: t.display,\n height: r.value,\n lineHeight: \"0\",\n width: r.value\n }));\n return (a, i) => (n(), v(b(e.as), {\n \"aria-hidden\": e.decorative ? \"true\" : void 0,\n class: \"kui-icon cloud-upload-icon\",\n \"data-testid\": \"kui-icon-wrapper-cloud-upload-icon\",\n style: x(d.value)\n }, {\n default: w(() => [\n (n(), s(\"svg\", {\n \"aria-hidden\": e.decorative ? \"true\" : void 0,\n \"data-testid\": \"kui-icon-svg-cloud-upload-icon\",\n fill: \"none\",\n height: \"100%\",\n role: \"img\",\n viewBox: \"0 0 24 24\",\n width: \"100%\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, [\n e.title ? (n(), s(\"title\", ee, C(e.title), 1)) : y(\"\", !0),\n te\n ], 8, Q))\n ]),\n _: 1\n }, 8, [\"aria-hidden\", \"style\"]));\n }\n}), ie = /* @__PURE__ */ I(re, [[\"__scopeId\", \"data-v-115ec679\"]]), ae = (e) => (z(\"data-v-6e3bced6\"), e = e(), k(), e), ne = [\"aria-hidden\"], oe = {\n key: 0,\n \"data-testid\": \"kui-icon-svg-title\"\n}, de = /* @__PURE__ */ ae(() => /* @__PURE__ */ f(\"path\", {\n d: \"M4 17V14H20V17H4ZM4 10V7H20V10H4Z\",\n fill: \"currentColor\"\n}, null, -1)), le = /* @__PURE__ */ S({\n __name: \"EqualIcon\",\n props: {\n /** The accessibility text provided to screen readers */\n title: {\n type: String,\n required: !1,\n default: \"\"\n },\n /** The icon color. Defaults to `currentColor` which inherits text color from the parent element */\n color: {\n type: String,\n required: !1,\n default: \"currentColor\"\n },\n /** The CSS display property for the icon. Defaults to `block` */\n display: {\n type: String,\n required: !1,\n default: \"block\"\n },\n /** Whether the icon is just eye-candy or is meaningful to the page (should screen-readers ignore the icon?) */\n decorative: {\n type: Boolean,\n required: !1,\n default: !1\n },\n /** The icon size */\n size: {\n type: [Number, String],\n required: !1,\n default: g,\n // if setting to the imported const fails, just pass a number of 24 as the default.\n validator: (e) => {\n if (typeof e == \"number\" && e > 0)\n return !0;\n if (typeof e == \"string\") {\n const t = String(e).replace(/px/gi, \"\"), r = Number(t);\n if (r && !isNaN(r) && Number.isInteger(r) && r > 0)\n return !0;\n }\n return !1;\n }\n },\n /** The HTML tag to utilize for the icon's wrapper element. Defaults to `span` */\n as: {\n type: String,\n required: !1,\n default: \"span\"\n }\n },\n setup(e) {\n const t = e, r = c(() => {\n if (typeof t.size == \"number\" && t.size > 0)\n return `${t.size}px`;\n if (typeof t.size == \"string\") {\n const a = String(t.size).replace(/px/gi, \"\"), i = Number(a);\n if (i && !isNaN(i) && Number.isInteger(i) && i > 0)\n return `${i}px`;\n }\n return g;\n }), d = c(() => ({\n boxSizing: \"border-box\",\n color: t.color,\n display: t.display,\n height: r.value,\n lineHeight: \"0\",\n width: r.value\n }));\n return (a, i) => (n(), v(b(e.as), {\n \"aria-hidden\": e.decorative ? \"true\" : void 0,\n class: \"kui-icon equal-icon\",\n \"data-testid\": \"kui-icon-wrapper-equal-icon\",\n style: x(d.value)\n }, {\n default: w(() => [\n (n(), s(\"svg\", {\n \"aria-hidden\": e.decorative ? \"true\" : void 0,\n \"data-testid\": \"kui-icon-svg-equal-icon\",\n fill: \"none\",\n height: \"100%\",\n role: \"img\",\n viewBox: \"0 0 24 24\",\n width: \"100%\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, [\n e.title ? (n(), s(\"title\", oe, C(e.title), 1)) : y(\"\", !0),\n de\n ], 8, ne))\n ]),\n _: 1\n }, 8, [\"aria-hidden\", \"style\"]));\n }\n}), se = /* @__PURE__ */ I(le, [[\"__scopeId\", \"data-v-6e3bced6\"]]), ue = (e) => (z(\"data-v-1ae1a325\"), e = e(), k(), e), ce = [\"aria-hidden\"], pe = {\n key: 0,\n \"data-testid\": \"kui-icon-svg-title\"\n}, ge = /* @__PURE__ */ ue(() => /* @__PURE__ */ f(\"path\", {\n d: \"M5 11V9H15V11H5Z\",\n fill: \"currentColor\"\n}, null, -1)), fe = /* @__PURE__ */ S({\n __name: \"IndeterminateSmallIcon\",\n props: {\n /** The accessibility text provided to screen readers */\n title: {\n type: String,\n required: !1,\n default: \"\"\n },\n /** The icon color. Defaults to `currentColor` which inherits text color from the parent element */\n color: {\n type: String,\n required: !1,\n default: \"currentColor\"\n },\n /** The CSS display property for the icon. Defaults to `block` */\n display: {\n type: String,\n required: !1,\n default: \"block\"\n },\n /** Whether the icon is just eye-candy or is meaningful to the page (should screen-readers ignore the icon?) */\n decorative: {\n type: Boolean,\n required: !1,\n default: !1\n },\n /** The icon size */\n size: {\n type: [Number, String],\n required: !1,\n default: g,\n // if setting to the imported const fails, just pass a number of 24 as the default.\n validator: (e) => {\n if (typeof e == \"number\" && e > 0)\n return !0;\n if (typeof e == \"string\") {\n const t = String(e).replace(/px/gi, \"\"), r = Number(t);\n if (r && !isNaN(r) && Number.isInteger(r) && r > 0)\n return !0;\n }\n return !1;\n }\n },\n /** The HTML tag to utilize for the icon's wrapper element. Defaults to `span` */\n as: {\n type: String,\n required: !1,\n default: \"span\"\n }\n },\n setup(e) {\n const t = e, r = c(() => {\n if (typeof t.size == \"number\" && t.size > 0)\n return `${t.size}px`;\n if (typeof t.size == \"string\") {\n const a = String(t.size).replace(/px/gi, \"\"), i = Number(a);\n if (i && !isNaN(i) && Number.isInteger(i) && i > 0)\n return `${i}px`;\n }\n return g;\n }), d = c(() => ({\n boxSizing: \"border-box\",\n color: t.color,\n display: t.display,\n height: r.value,\n lineHeight: \"0\",\n width: r.value\n }));\n return (a, i) => (n(), v(b(e.as), {\n \"aria-hidden\": e.decorative ? \"true\" : void 0,\n class: \"kui-icon indeterminate-small-icon\",\n \"data-testid\": \"kui-icon-wrapper-indeterminate-small-icon\",\n style: x(d.value)\n }, {\n default: w(() => [\n (n(), s(\"svg\", {\n \"aria-hidden\": e.decorative ? \"true\" : void 0,\n \"data-testid\": \"kui-icon-svg-indeterminate-small-icon\",\n fill: \"none\",\n height: \"100%\",\n role: \"img\",\n viewBox: \"0 0 24 24\",\n width: \"100%\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, [\n e.title ? (n(), s(\"title\", pe, C(e.title), 1)) : y(\"\", !0),\n ge\n ], 8, ce))\n ]),\n _: 1\n }, 8, [\"aria-hidden\", \"style\"]));\n }\n}), F = /* @__PURE__ */ I(fe, [[\"__scopeId\", \"data-v-1ae1a325\"]]), Ce = (e) => (z(\"data-v-60c6b8be\"), e = e(), k(), e), ye = [\"aria-hidden\"], ve = {\n key: 0,\n \"data-testid\": \"kui-icon-svg-title\"\n}, he = /* @__PURE__ */ Ce(() => /* @__PURE__ */ f(\"path\", {\n d: \"M11 17H13V11H11V17ZM12 9C12.2833 9 12.5208 8.90417 12.7125 8.7125C12.9042 8.52083 13 8.28333 13 8C13 7.71667 12.9042 7.47917 12.7125 7.2875C12.5208 7.09583 12.2833 7 12 7C11.7167 7 11.4792 7.09583 11.2875 7.2875C11.0958 7.47917 11 7.71667 11 8C11 8.28333 11.0958 8.52083 11.2875 8.7125C11.4792 8.90417 11.7167 9 12 9ZM12 22C10.6167 22 9.31667 21.7375 8.1 21.2125C6.88333 20.6875 5.825 19.975 4.925 19.075C4.025 18.175 3.3125 17.1167 2.7875 15.9C2.2625 14.6833 2 13.3833 2 12C2 10.6167 2.2625 9.31667 2.7875 8.1C3.3125 6.88333 4.025 5.825 4.925 4.925C5.825 4.025 6.88333 3.3125 8.1 2.7875C9.31667 2.2625 10.6167 2 12 2C13.3833 2 14.6833 2.2625 15.9 2.7875C17.1167 3.3125 18.175 4.025 19.075 4.925C19.975 5.825 20.6875 6.88333 21.2125 8.1C21.7375 9.31667 22 10.6167 22 12C22 13.3833 21.7375 14.6833 21.2125 15.9C20.6875 17.1167 19.975 18.175 19.075 19.075C18.175 19.975 17.1167 20.6875 15.9 21.2125C14.6833 21.7375 13.3833 22 12 22Z\",\n fill: \"currentColor\"\n}, null, -1)), me = /* @__PURE__ */ S({\n __name: \"InfoIcon\",\n props: {\n /** The accessibility text provided to screen readers */\n title: {\n type: String,\n required: !1,\n default: \"\"\n },\n /** The icon color. Defaults to `currentColor` which inherits text color from the parent element */\n color: {\n type: String,\n required: !1,\n default: \"currentColor\"\n },\n /** The CSS display property for the icon. Defaults to `block` */\n display: {\n type: String,\n required: !1,\n default: \"block\"\n },\n /** Whether the icon is just eye-candy or is meaningful to the page (should screen-readers ignore the icon?) */\n decorative: {\n type: Boolean,\n required: !1,\n default: !1\n },\n /** The icon size */\n size: {\n type: [Number, String],\n required: !1,\n default: g,\n // if setting to the imported const fails, just pass a number of 24 as the default.\n validator: (e) => {\n if (typeof e == \"number\" && e > 0)\n return !0;\n if (typeof e == \"string\") {\n const t = String(e).replace(/px/gi, \"\"), r = Number(t);\n if (r && !isNaN(r) && Number.isInteger(r) && r > 0)\n return !0;\n }\n return !1;\n }\n },\n /** The HTML tag to utilize for the icon's wrapper element. Defaults to `span` */\n as: {\n type: String,\n required: !1,\n default: \"span\"\n }\n },\n setup(e) {\n const t = e, r = c(() => {\n if (typeof t.size == \"number\" && t.size > 0)\n return `${t.size}px`;\n if (typeof t.size == \"string\") {\n const a = String(t.size).replace(/px/gi, \"\"), i = Number(a);\n if (i && !isNaN(i) && Number.isInteger(i) && i > 0)\n return `${i}px`;\n }\n return g;\n }), d = c(() => ({\n boxSizing: \"border-box\",\n color: t.color,\n display: t.display,\n height: r.value,\n lineHeight: \"0\",\n width: r.value\n }));\n return (a, i) => (n(), v(b(e.as), {\n \"aria-hidden\": e.decorative ? \"true\" : void 0,\n class: \"kui-icon info-icon\",\n \"data-testid\": \"kui-icon-wrapper-info-icon\",\n style: x(d.value)\n }, {\n default: w(() => [\n (n(), s(\"svg\", {\n \"aria-hidden\": e.decorative ? \"true\" : void 0,\n \"data-testid\": \"kui-icon-svg-info-icon\",\n fill: \"none\",\n height: \"100%\",\n role: \"img\",\n viewBox: \"0 0 24 24\",\n width: \"100%\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, [\n e.title ? (n(), s(\"title\", ve, C(e.title), 1)) : y(\"\", !0),\n he\n ], 8, ye))\n ]),\n _: 1\n }, 8, [\"aria-hidden\", \"style\"]));\n }\n}), be = /* @__PURE__ */ I(me, [[\"__scopeId\", \"data-v-60c6b8be\"]]), Se = (e) => (z(\"data-v-9ad4bd00\"), e = e(), k(), e), Ne = [\"aria-hidden\"], xe = {\n key: 0,\n \"data-testid\": \"kui-icon-svg-title\"\n}, we = /* @__PURE__ */ Se(() => /* @__PURE__ */ f(\"path\", {\n d: \"M15.25 5C14.9 5 14.6042 4.87917 14.3625 4.6375C14.1208 4.39583 14 4.1 14 3.75C14 3.4 14.1208 3.10417 14.3625 2.8625C14.6042 2.62083 14.9 2.5 15.25 2.5C15.6 2.5 15.8958 2.62083 16.1375 2.8625C16.3792 3.10417 16.5 3.4 16.5 3.75C16.5 4.1 16.3792 4.39583 16.1375 4.6375C15.8958 4.87917 15.6 5 15.25 5ZM15.25 21.5C14.9 21.5 14.6042 21.3792 14.3625 21.1375C14.1208 20.8958 14 20.6 14 20.25C14 19.9 14.1208 19.6042 14.3625 19.3625C14.6042 19.1208 14.9 19 15.25 19C15.6 19 15.8958 19.1208 16.1375 19.3625C16.3792 19.6042 16.5 19.9 16.5 20.25C16.5 20.6 16.3792 20.8958 16.1375 21.1375C15.8958 21.3792 15.6 21.5 15.25 21.5ZM19.25 8.5C18.9 8.5 18.6042 8.37917 18.3625 8.1375C18.1208 7.89583 18 7.6 18 7.25C18 6.9 18.1208 6.60417 18.3625 6.3625C18.6042 6.12083 18.9 6 19.25 6C19.6 6 19.8958 6.12083 20.1375 6.3625C20.3792 6.60417 20.5 6.9 20.5 7.25C20.5 7.6 20.3792 7.89583 20.1375 8.1375C19.8958 8.37917 19.6 8.5 19.25 8.5ZM19.25 18C18.9 18 18.6042 17.8792 18.3625 17.6375C18.1208 17.3958 18 17.1 18 16.75C18 16.4 18.1208 16.1042 18.3625 15.8625C18.6042 15.6208 18.9 15.5 19.25 15.5C19.6 15.5 19.8958 15.6208 20.1375 15.8625C20.3792 16.1042 20.5 16.4 20.5 16.75C20.5 17.1 20.3792 17.3958 20.1375 17.6375C19.8958 17.8792 19.6 18 19.25 18ZM20.75 13.25C20.4 13.25 20.1042 13.1292 19.8625 12.8875C19.6208 12.6458 19.5 12.35 19.5 12C19.5 11.65 19.6208 11.3542 19.8625 11.1125C20.1042 10.8708 20.4 10.75 20.75 10.75C21.1 10.75 21.3958 10.8708 21.6375 11.1125C21.8792 11.3542 22 11.65 22 12C22 12.35 21.8792 12.6458 21.6375 12.8875C21.3958 13.1292 21.1 13.25 20.75 13.25ZM12 22C10.6167 22 9.31667 21.7375 8.1 21.2125C6.88333 20.6875 5.825 19.975 4.925 19.075C4.025 18.175 3.3125 17.1167 2.7875 15.9C2.2625 14.6833 2 13.3833 2 12C2 10.6167 2.2625 9.31667 2.7875 8.1C3.3125 6.88333 4.025 5.825 4.925 4.925C5.825 4.025 6.88333 3.3125 8.1 2.7875C9.31667 2.2625 10.6167 2 12 2V4C9.76667 4 7.875 4.775 6.325 6.325C4.775 7.875 4 9.76667 4 12C4 14.2333 4.775 16.125 6.325 17.675C7.875 19.225 9.76667 20 12 20V22ZM12 14C11.45 14 10.9792 13.8042 10.5875 13.4125C10.1958 13.0208 10 12.55 10 12C10 11.9167 10.0042 11.8292 10.0125 11.7375C10.0208 11.6458 10.0417 11.5583 10.075 11.475L8 9.4L9.4 8L11.475 10.075C11.5417 10.0583 11.7167 10.0333 12 10C12.55 10 13.0208 10.1958 13.4125 10.5875C13.8042 10.9792 14 11.45 14 12C14 12.55 13.8042 13.0208 13.4125 13.4125C13.0208 13.8042 12.55 14 12 14Z\",\n fill: \"currentColor\"\n}, null, -1)), ze = /* @__PURE__ */ S({\n __name: \"ResponseIcon\",\n props: {\n /** The accessibility text provided to screen readers */\n title: {\n type: String,\n required: !1,\n default: \"\"\n },\n /** The icon color. Defaults to `currentColor` which inherits text color from the parent element */\n color: {\n type: String,\n required: !1,\n default: \"currentColor\"\n },\n /** The CSS display property for the icon. Defaults to `block` */\n display: {\n type: String,\n required: !1,\n default: \"block\"\n },\n /** Whether the icon is just eye-candy or is meaningful to the page (should screen-readers ignore the icon?) */\n decorative: {\n type: Boolean,\n required: !1,\n default: !1\n },\n /** The icon size */\n size: {\n type: [Number, String],\n required: !1,\n default: g,\n // if setting to the imported const fails, just pass a number of 24 as the default.\n validator: (e) => {\n if (typeof e == \"number\" && e > 0)\n return !0;\n if (typeof e == \"string\") {\n const t = String(e).replace(/px/gi, \"\"), r = Number(t);\n if (r && !isNaN(r) && Number.isInteger(r) && r > 0)\n return !0;\n }\n return !1;\n }\n },\n /** The HTML tag to utilize for the icon's wrapper element. Defaults to `span` */\n as: {\n type: String,\n required: !1,\n default: \"span\"\n }\n },\n setup(e) {\n const t = e, r = c(() => {\n if (typeof t.size == \"number\" && t.size > 0)\n return `${t.size}px`;\n if (typeof t.size == \"string\") {\n const a = String(t.size).replace(/px/gi, \"\"), i = Number(a);\n if (i && !isNaN(i) && Number.isInteger(i) && i > 0)\n return `${i}px`;\n }\n return g;\n }), d = c(() => ({\n boxSizing: \"border-box\",\n color: t.color,\n display: t.display,\n height: r.value,\n lineHeight: \"0\",\n width: r.value\n }));\n return (a, i) => (n(), v(b(e.as), {\n \"aria-hidden\": e.decorative ? \"true\" : void 0,\n class: \"kui-icon response-icon\",\n \"data-testid\": \"kui-icon-wrapper-response-icon\",\n style: x(d.value)\n }, {\n default: w(() => [\n (n(), s(\"svg\", {\n \"aria-hidden\": e.decorative ? \"true\" : void 0,\n \"data-testid\": \"kui-icon-svg-response-icon\",\n fill: \"none\",\n height: \"100%\",\n role: \"img\",\n viewBox: \"0 0 24 24\",\n width: \"100%\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, [\n e.title ? (n(), s(\"title\", xe, C(e.title), 1)) : y(\"\", !0),\n we\n ], 8, Ne))\n ]),\n _: 1\n }, 8, [\"aria-hidden\", \"style\"]));\n }\n}), ke = /* @__PURE__ */ I(ze, [[\"__scopeId\", \"data-v-9ad4bd00\"]]), Ie = (e) => (z(\"data-v-aa775b0e\"), e = e(), k(), e), _e = [\"aria-hidden\"], qe = {\n key: 0,\n \"data-testid\": \"kui-icon-svg-title\"\n}, Le = /* @__PURE__ */ Ie(() => /* @__PURE__ */ f(\"path\", {\n d: \"M16 18V16H18.6L13.4 10.85L9.4 14.85L2 7.4L3.4 6L9.4 12L13.4 8L20 14.6V12H22V18H16Z\",\n fill: \"currentColor\"\n}, null, -1)), Me = /* @__PURE__ */ S({\n __name: \"TrendDownIcon\",\n props: {\n /** The accessibility text provided to screen readers */\n title: {\n type: String,\n required: !1,\n default: \"\"\n },\n /** The icon color. Defaults to `currentColor` which inherits text color from the parent element */\n color: {\n type: String,\n required: !1,\n default: \"currentColor\"\n },\n /** The CSS display property for the icon. Defaults to `block` */\n display: {\n type: String,\n required: !1,\n default: \"block\"\n },\n /** Whether the icon is just eye-candy or is meaningful to the page (should screen-readers ignore the icon?) */\n decorative: {\n type: Boolean,\n required: !1,\n default: !1\n },\n /** The icon size */\n size: {\n type: [Number, String],\n required: !1,\n default: g,\n // if setting to the imported const fails, just pass a number of 24 as the default.\n validator: (e) => {\n if (typeof e == \"number\" && e > 0)\n return !0;\n if (typeof e == \"string\") {\n const t = String(e).replace(/px/gi, \"\"), r = Number(t);\n if (r && !isNaN(r) && Number.isInteger(r) && r > 0)\n return !0;\n }\n return !1;\n }\n },\n /** The HTML tag to utilize for the icon's wrapper element. Defaults to `span` */\n as: {\n type: String,\n required: !1,\n default: \"span\"\n }\n },\n setup(e) {\n const t = e, r = c(() => {\n if (typeof t.size == \"number\" && t.size > 0)\n return `${t.size}px`;\n if (typeof t.size == \"string\") {\n const a = String(t.size).replace(/px/gi, \"\"), i = Number(a);\n if (i && !isNaN(i) && Number.isInteger(i) && i > 0)\n return `${i}px`;\n }\n return g;\n }), d = c(() => ({\n boxSizing: \"border-box\",\n color: t.color,\n display: t.display,\n height: r.value,\n lineHeight: \"0\",\n width: r.value\n }));\n return (a, i) => (n(), v(b(e.as), {\n \"aria-hidden\": e.decorative ? \"true\" : void 0,\n class: \"kui-icon trend-down-icon\",\n \"data-testid\": \"kui-icon-wrapper-trend-down-icon\",\n style: x(d.value)\n }, {\n default: w(() => [\n (n(), s(\"svg\", {\n \"aria-hidden\": e.decorative ? \"true\" : void 0,\n \"data-testid\": \"kui-icon-svg-trend-down-icon\",\n fill: \"none\",\n height: \"100%\",\n role: \"img\",\n viewBox: \"0 0 24 24\",\n width: \"100%\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, [\n e.title ? (n(), s(\"title\", qe, C(e.title), 1)) : y(\"\", !0),\n Le\n ], 8, _e))\n ]),\n _: 1\n }, 8, [\"aria-hidden\", \"style\"]));\n }\n}), Ee = /* @__PURE__ */ I(Me, [[\"__scopeId\", \"data-v-aa775b0e\"]]), He = (e) => (z(\"data-v-cb010004\"), e = e(), k(), e), Ve = [\"aria-hidden\"], Te = {\n key: 0,\n \"data-testid\": \"kui-icon-svg-title\"\n}, Re = /* @__PURE__ */ He(() => /* @__PURE__ */ f(\"path\", {\n d: \"M3.4 18L2 16.6L9.4 9.15L13.4 13.15L18.6 8H16V6H22V12H20V9.4L13.4 16L9.4 12L3.4 18Z\",\n fill: \"currentColor\"\n}, null, -1)), Oe = /* @__PURE__ */ S({\n __name: \"TrendUpIcon\",\n props: {\n /** The accessibility text provided to screen readers */\n title: {\n type: String,\n required: !1,\n default: \"\"\n },\n /** The icon color. Defaults to `currentColor` which inherits text color from the parent element */\n color: {\n type: String,\n required: !1,\n default: \"currentColor\"\n },\n /** The CSS display property for the icon. Defaults to `block` */\n display: {\n type: String,\n required: !1,\n default: \"block\"\n },\n /** Whether the icon is just eye-candy or is meaningful to the page (should screen-readers ignore the icon?) */\n decorative: {\n type: Boolean,\n required: !1,\n default: !1\n },\n /** The icon size */\n size: {\n type: [Number, String],\n required: !1,\n default: g,\n // if setting to the imported const fails, just pass a number of 24 as the default.\n validator: (e) => {\n if (typeof e == \"number\" && e > 0)\n return !0;\n if (typeof e == \"string\") {\n const t = String(e).replace(/px/gi, \"\"), r = Number(t);\n if (r && !isNaN(r) && Number.isInteger(r) && r > 0)\n return !0;\n }\n return !1;\n }\n },\n /** The HTML tag to utilize for the icon's wrapper element. Defaults to `span` */\n as: {\n type: String,\n required: !1,\n default: \"span\"\n }\n },\n setup(e) {\n const t = e, r = c(() => {\n if (typeof t.size == \"number\" && t.size > 0)\n return `${t.size}px`;\n if (typeof t.size == \"string\") {\n const a = String(t.size).replace(/px/gi, \"\"), i = Number(a);\n if (i && !isNaN(i) && Number.isInteger(i) && i > 0)\n return `${i}px`;\n }\n return g;\n }), d = c(() => ({\n boxSizing: \"border-box\",\n color: t.color,\n display: t.display,\n height: r.value,\n lineHeight: \"0\",\n width: r.value\n }));\n return (a, i) => (n(), v(b(e.as), {\n \"aria-hidden\": e.decorative ? \"true\" : void 0,\n class: \"kui-icon trend-up-icon\",\n \"data-testid\": \"kui-icon-wrapper-trend-up-icon\",\n style: x(d.value)\n }, {\n default: w(() => [\n (n(), s(\"svg\", {\n \"aria-hidden\": e.decorative ? \"true\" : void 0,\n \"data-testid\": \"kui-icon-svg-trend-up-icon\",\n fill: \"none\",\n height: \"100%\",\n role: \"img\",\n viewBox: \"0 0 24 24\",\n width: \"100%\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, [\n e.title ? (n(), s(\"title\", Te, C(e.title), 1)) : y(\"\", !0),\n Re\n ], 8, Ve))\n ]),\n _: 1\n }, 8, [\"aria-hidden\", \"style\"]));\n }\n}), Be = /* @__PURE__ */ I(Oe, [[\"__scopeId\", \"data-v-cb010004\"]]), $e = (e) => (z(\"data-v-6d3b4073\"), e = e(), k(), e), Ze = [\"aria-hidden\"], Ue = {\n key: 0,\n \"data-testid\": \"kui-icon-svg-title\"\n}, Ae = /* @__PURE__ */ $e(() => /* @__PURE__ */ f(\"path\", {\n d: \"M9 20C8.68333 20 8.4 19.9083 8.15 19.725C7.9 19.5417 7.71667 19.3083 7.6 19.025L5.3 13H1V11H6.7L9 17.1L13.6 4.975C13.7167 4.69167 13.9 4.45833 14.15 4.275C14.4 4.09167 14.6833 4 15 4C15.3167 4 15.6 4.09167 15.85 4.275C16.1 4.45833 16.2833 4.69167 16.4 4.975L18.7 11H23V13H17.3L15 6.9L10.4 19.025C10.2833 19.3083 10.1 19.5417 9.85 19.725C9.6 19.9083 9.31667 20 9 20Z\",\n fill: \"currentColor\"\n}, null, -1)), Fe = /* @__PURE__ */ S({\n __name: \"VitalsIcon\",\n props: {\n /** The accessibility text provided to screen readers */\n title: {\n type: String,\n required: !1,\n default: \"\"\n },\n /** The icon color. Defaults to `currentColor` which inherits text color from the parent element */\n color: {\n type: String,\n required: !1,\n default: \"currentColor\"\n },\n /** The CSS display property for the icon. Defaults to `block` */\n display: {\n type: String,\n required: !1,\n default: \"block\"\n },\n /** Whether the icon is just eye-candy or is meaningful to the page (should screen-readers ignore the icon?) */\n decorative: {\n type: Boolean,\n required: !1,\n default: !1\n },\n /** The icon size */\n size: {\n type: [Number, String],\n required: !1,\n default: g,\n // if setting to the imported const fails, just pass a number of 24 as the default.\n validator: (e) => {\n if (typeof e == \"number\" && e > 0)\n return !0;\n if (typeof e == \"string\") {\n const t = String(e).replace(/px/gi, \"\"), r = Number(t);\n if (r && !isNaN(r) && Number.isInteger(r) && r > 0)\n return !0;\n }\n return !1;\n }\n },\n /** The HTML tag to utilize for the icon's wrapper element. Defaults to `span` */\n as: {\n type: String,\n required: !1,\n default: \"span\"\n }\n },\n setup(e) {\n const t = e, r = c(() => {\n if (typeof t.size == \"number\" && t.size > 0)\n return `${t.size}px`;\n if (typeof t.size == \"string\") {\n const a = String(t.size).replace(/px/gi, \"\"), i = Number(a);\n if (i && !isNaN(i) && Number.isInteger(i) && i > 0)\n return `${i}px`;\n }\n return g;\n }), d = c(() => ({\n boxSizing: \"border-box\",\n color: t.color,\n display: t.display,\n height: r.value,\n lineHeight: \"0\",\n width: r.value\n }));\n return (a, i) => (n(), v(b(e.as), {\n \"aria-hidden\": e.decorative ? \"true\" : void 0,\n class: \"kui-icon vitals-icon\",\n \"data-testid\": \"kui-icon-wrapper-vitals-icon\",\n style: x(d.value)\n }, {\n default: w(() => [\n (n(), s(\"svg\", {\n \"aria-hidden\": e.decorative ? \"true\" : void 0,\n \"data-testid\": \"kui-icon-svg-vitals-icon\",\n fill: \"none\",\n height: \"100%\",\n role: \"img\",\n viewBox: \"0 0 24 24\",\n width: \"100%\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, [\n e.title ? (n(), s(\"title\", Ue, C(e.title), 1)) : y(\"\", !0),\n Ae\n ], 8, Ze))\n ]),\n _: 1\n }, 8, [\"aria-hidden\", \"style\"]));\n }\n}), De = /* @__PURE__ */ I(Fe, [[\"__scopeId\", \"data-v-6d3b4073\"]]), Ke = (e) => (z(\"data-v-0e9cc640\"), e = e(), k(), e), Pe = [\"aria-hidden\"], Ge = {\n key: 0,\n \"data-testid\": \"kui-icon-svg-title\"\n}, je = /* @__PURE__ */ Ke(() => /* @__PURE__ */ f(\"path\", {\n d: \"M12.0001 22.025C11.7334 22.025 11.4793 21.975 11.2376 21.875C10.9959 21.775 10.7751 21.6333 10.5751 21.45L2.5501 13.425C2.36676 13.225 2.2251 13.0041 2.1251 12.7625C2.0251 12.5208 1.9751 12.2666 1.9751 12C1.9751 11.7333 2.0251 11.475 2.1251 11.225C2.2251 10.975 2.36676 10.7583 2.5501 10.575L10.5751 2.54998C10.7751 2.34998 10.9959 2.20414 11.2376 2.11248C11.4793 2.02081 11.7334 1.97498 12.0001 1.97498C12.2668 1.97498 12.5251 2.02081 12.7751 2.11248C13.0251 2.20414 13.2418 2.34998 13.4251 2.54998L21.4501 10.575C21.6501 10.7583 21.7959 10.975 21.8876 11.225C21.9793 11.475 22.0251 11.7333 22.0251 12C22.0251 12.2666 21.9793 12.5208 21.8876 12.7625C21.7959 13.0041 21.6501 13.225 21.4501 13.425L13.4251 21.45C13.2418 21.6333 13.0251 21.775 12.7751 21.875C12.5251 21.975 12.2668 22.025 12.0001 22.025ZM12.0001 20.025L20.0251 12L12.0001 3.97498L3.9751 12L12.0001 20.025ZM11.0001 13H13.0001V6.99998H11.0001V13ZM12.0001 16C12.2834 16 12.5209 15.9041 12.7126 15.7125C12.9043 15.5208 13.0001 15.2833 13.0001 15C13.0001 14.7166 12.9043 14.4791 12.7126 14.2875C12.5209 14.0958 12.2834 14 12.0001 14C11.7168 14 11.4793 14.0958 11.2876 14.2875C11.0959 14.4791 11.0001 14.7166 11.0001 15C11.0001 15.2833 11.0959 15.5208 11.2876 15.7125C11.4793 15.9041 11.7168 16 12.0001 16Z\",\n fill: \"currentColor\"\n}, null, -1)), Xe = /* @__PURE__ */ S({\n __name: \"WarningOutlineIcon\",\n props: {\n /** The accessibility text provided to screen readers */\n title: {\n type: String,\n required: !1,\n default: \"\"\n },\n /** The icon color. Defaults to `currentColor` which inherits text color from the parent element */\n color: {\n type: String,\n required: !1,\n default: \"currentColor\"\n },\n /** The CSS display property for the icon. Defaults to `block` */\n display: {\n type: String,\n required: !1,\n default: \"block\"\n },\n /** Whether the icon is just eye-candy or is meaningful to the page (should screen-readers ignore the icon?) */\n decorative: {\n type: Boolean,\n required: !1,\n default: !1\n },\n /** The icon size */\n size: {\n type: [Number, String],\n required: !1,\n default: g,\n // if setting to the imported const fails, just pass a number of 24 as the default.\n validator: (e) => {\n if (typeof e == \"number\" && e > 0)\n return !0;\n if (typeof e == \"string\") {\n const t = String(e).replace(/px/gi, \"\"), r = Number(t);\n if (r && !isNaN(r) && Number.isInteger(r) && r > 0)\n return !0;\n }\n return !1;\n }\n },\n /** The HTML tag to utilize for the icon's wrapper element. Defaults to `span` */\n as: {\n type: String,\n required: !1,\n default: \"span\"\n }\n },\n setup(e) {\n const t = e, r = c(() => {\n if (typeof t.size == \"number\" && t.size > 0)\n return `${t.size}px`;\n if (typeof t.size == \"string\") {\n const a = String(t.size).replace(/px/gi, \"\"), i = Number(a);\n if (i && !isNaN(i) && Number.isInteger(i) && i > 0)\n return `${i}px`;\n }\n return g;\n }), d = c(() => ({\n boxSizing: \"border-box\",\n color: t.color,\n display: t.display,\n height: r.value,\n lineHeight: \"0\",\n width: r.value\n }));\n return (a, i) => (n(), v(b(e.as), {\n \"aria-hidden\": e.decorative ? \"true\" : void 0,\n class: \"kui-icon warning-outline-icon\",\n \"data-testid\": \"kui-icon-wrapper-warning-outline-icon\",\n style: x(d.value)\n }, {\n default: w(() => [\n (n(), s(\"svg\", {\n \"aria-hidden\": e.decorative ? \"true\" : void 0,\n \"data-testid\": \"kui-icon-svg-warning-outline-icon\",\n fill: \"none\",\n height: \"100%\",\n role: \"img\",\n viewBox: \"0 0 24 24\",\n width: \"100%\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, [\n e.title ? (n(), s(\"title\", Ge, C(e.title), 1)) : y(\"\", !0),\n je\n ], 8, Pe))\n ]),\n _: 1\n }, 8, [\"aria-hidden\", \"style\"]));\n }\n}), Ye = /* @__PURE__ */ I(Xe, [[\"__scopeId\", \"data-v-0e9cc640\"]]), We = (e) => (z(\"data-v-d7b122fd\"), e = e(), k(), e), Je = [\"aria-hidden\"], Qe = {\n key: 0,\n \"data-testid\": \"kui-icon-svg-title\"\n}, e1 = /* @__PURE__ */ We(() => /* @__PURE__ */ f(\"path\", {\n d: \"M12.025 22.05C11.7583 22.05 11.5042 22 11.2625 21.9C11.0208 21.8 10.8 21.6583 10.6 21.475L2.575 13.45C2.39167 13.25 2.25 13.0292 2.15 12.7875C2.05 12.5458 2 12.2917 2 12.025C2 11.7583 2.05 11.5 2.15 11.25C2.25 11 2.39167 10.7833 2.575 10.6L10.6 2.575C10.8 2.375 11.0208 2.22917 11.2625 2.1375C11.5042 2.04583 11.7583 2 12.025 2C12.2917 2 12.55 2.04583 12.8 2.1375C13.05 2.22917 13.2667 2.375 13.45 2.575L21.475 10.6C21.675 10.7833 21.8208 11 21.9125 11.25C22.0042 11.5 22.05 11.7583 22.05 12.025C22.05 12.2917 22.0042 12.5458 21.9125 12.7875C21.8208 13.0292 21.675 13.25 21.475 13.45L13.45 21.475C13.2667 21.6583 13.05 21.8 12.8 21.9C12.55 22 12.2917 22.05 12.025 22.05ZM11.025 13.025H13.025V7.025H11.025V13.025ZM12.025 16.025C12.3083 16.025 12.5458 15.9292 12.7375 15.7375C12.9292 15.5458 13.025 15.3083 13.025 15.025C13.025 14.7417 12.9292 14.5042 12.7375 14.3125C12.5458 14.1208 12.3083 14.025 12.025 14.025C11.7417 14.025 11.5042 14.1208 11.3125 14.3125C11.1208 14.5042 11.025 14.7417 11.025 15.025C11.025 15.3083 11.1208 15.5458 11.3125 15.7375C11.5042 15.9292 11.7417 16.025 12.025 16.025Z\",\n fill: \"currentColor\"\n}, null, -1)), t1 = /* @__PURE__ */ S({\n __name: \"WarningIcon\",\n props: {\n /** The accessibility text provided to screen readers */\n title: {\n type: String,\n required: !1,\n default: \"\"\n },\n /** The icon color. Defaults to `currentColor` which inherits text color from the parent element */\n color: {\n type: String,\n required: !1,\n default: \"currentColor\"\n },\n /** The CSS display property for the icon. Defaults to `block` */\n display: {\n type: String,\n required: !1,\n default: \"block\"\n },\n /** Whether the icon is just eye-candy or is meaningful to the page (should screen-readers ignore the icon?) */\n decorative: {\n type: Boolean,\n required: !1,\n default: !1\n },\n /** The icon size */\n size: {\n type: [Number, String],\n required: !1,\n default: g,\n // if setting to the imported const fails, just pass a number of 24 as the default.\n validator: (e) => {\n if (typeof e == \"number\" && e > 0)\n return !0;\n if (typeof e == \"string\") {\n const t = String(e).replace(/px/gi, \"\"), r = Number(t);\n if (r && !isNaN(r) && Number.isInteger(r) && r > 0)\n return !0;\n }\n return !1;\n }\n },\n /** The HTML tag to utilize for the icon's wrapper element. Defaults to `span` */\n as: {\n type: String,\n required: !1,\n default: \"span\"\n }\n },\n setup(e) {\n const t = e, r = c(() => {\n if (typeof t.size == \"number\" && t.size > 0)\n return `${t.size}px`;\n if (typeof t.size == \"string\") {\n const a = String(t.size).replace(/px/gi, \"\"), i = Number(a);\n if (i && !isNaN(i) && Number.isInteger(i) && i > 0)\n return `${i}px`;\n }\n return g;\n }), d = c(() => ({\n boxSizing: \"border-box\",\n color: t.color,\n display: t.display,\n height: r.value,\n lineHeight: \"0\",\n width: r.value\n }));\n return (a, i) => (n(), v(b(e.as), {\n \"aria-hidden\": e.decorative ? \"true\" : void 0,\n class: \"kui-icon warning-icon\",\n \"data-testid\": \"kui-icon-wrapper-warning-icon\",\n style: x(d.value)\n }, {\n default: w(() => [\n (n(), s(\"svg\", {\n \"aria-hidden\": e.decorative ? \"true\" : void 0,\n \"data-testid\": \"kui-icon-svg-warning-icon\",\n fill: \"none\",\n height: \"100%\",\n role: \"img\",\n viewBox: \"0 0 24 24\",\n width: \"100%\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, [\n e.title ? (n(), s(\"title\", Qe, C(e.title), 1)) : y(\"\", !0),\n e1\n ], 8, Je))\n ]),\n _: 1\n }, 8, [\"aria-hidden\", \"style\"]));\n }\n}), D = /* @__PURE__ */ I(t1, [[\"__scopeId\", \"data-v-d7b122fd\"]]), K = 2, $ = K + 2, r1 = (e, t, r = !1) => {\n let d = !t || Number(e.toFixed($)) === 0 ? 0 : Number(e.toFixed($)) > 0 ? 1 : -1;\n return r && (d *= -1), d;\n}, i1 = (e, t, r) => t ? `${Math.abs(e * 100).toFixed(K)}%` : r, a1 = (e, t) => t === 0 ? 0 : e / t - 1, n1 = (e, t = !1) => (t && (e *= -1), e > 0 ? Be : e < 0 ? Ee : F), o1 = \"#ad000e\", T = \"#6c7489\", Z = \"#52596e\", d1 = \"#007d60\", V = \"16px\", l1 = \"20px\", s1 = \"14px\", u1 = \"48px\";\nvar L = /* @__PURE__ */ ((e) => (e.GENERIC_COUNT = \"GenericCount\", e.TRAFFIC = \"Traffic\", e.ERROR_RATE = \"ErrorRate\", e.LATENCY = \"Latency\", e))(L || {});\nconst c1 = { class: \"metricscard\" }, p1 = {\n key: 0,\n class: \"metricscard-description\"\n}, g1 = {\n key: 0,\n class: \"metricscard-error\"\n}, f1 = {\n key: 2,\n class: \"metricscard-trend\"\n}, C1 = { \"data-testid\": \"metric-trend-change\" }, y1 = {\n key: 0,\n class: \"metricscard-trend-range\"\n}, v1 = /* @__PURE__ */ S({\n __name: \"MetricsCard\",\n props: {\n cardType: {\n type: String,\n required: !0,\n default: L.GENERIC_COUNT\n },\n title: {\n type: String,\n default: \"0%\",\n required: !0\n },\n description: {\n type: String,\n default: \"\",\n required: !1\n },\n tooltip: {\n type: String,\n required: !1,\n default: \"\"\n },\n timeframe: {\n type: String,\n required: !1,\n default: \"\"\n },\n metricValue: {\n type: String,\n default: \"\"\n },\n metricChange: {\n type: String,\n required: !0\n },\n changePolarity: {\n type: Number,\n required: !0\n },\n trendIcon: {\n type: Object,\n default: F\n },\n trendRange: {\n type: String,\n default: \"\"\n },\n hasError: {\n type: Boolean,\n default: !1\n },\n errorMessage: {\n type: String,\n default: \"Vitals data error\"\n },\n cardSize: {\n type: String,\n required: !1,\n default: () => \"lg\"\n }\n },\n setup(e) {\n const t = /* @__PURE__ */ new Map([\n [L.GENERIC_COUNT, De],\n [L.TRAFFIC, ie],\n [L.ERROR_RATE, Ye],\n [L.LATENCY, ke]\n ]), r = e, d = (o) => {\n const l = {\n red: `var(--kong-ui-metric-card-trend-negative, ${o1})`,\n green: `var(--kong-ui-metric-card-trend-positive, ${d1})`,\n grey: `var(--kong-ui-metric-card-trend-neutral, ${Z})`\n };\n return o > 0 ? l.green : o < 0 ? l.red : l.grey;\n }, a = (o) => o > 0 ? \"positive\" : o < 0 ? \"negative\" : \"neutral\", i = [N.Medium, N.Large, N.LargeCompact].includes(r.cardSize), h = r.cardSize === N.ExtraLarge ? u1 : i ? \"22px\" : s1, _ = c(() => r.cardSize === N.LargeCompact), H = [N.Small, N.LargeCompact].includes(r.cardSize);\n return (o, l) => {\n const u = U(\"KTooltip\");\n return n(), s(\"div\", c1, [\n f(\"div\", {\n class: M([\"metricscard-title\", e.cardSize])\n }, [\n p(H) ? y(\"\", !0) : (n(), v(b(p(t).get(e.cardType)), {\n key: 0,\n class: \"metricscard-icon\",\n color: p(T),\n size: p(V)\n }, null, 8, [\"color\", \"size\"])),\n f(\"span\", null, C(e.title), 1),\n e.tooltip ? (n(), v(u, {\n key: 1,\n class: \"metricscard-tooltip\",\n label: e.tooltip,\n placement: \"right\"\n }, {\n default: w(() => [\n E(p(be), {\n color: p(T),\n size: p(V)\n }, null, 8, [\"color\", \"size\"])\n ]),\n _: 1\n }, 8, [\"label\"])) : y(\"\", !0)\n ], 2),\n e.description && p(i) && !_.value ? (n(), s(\"div\", p1, [\n f(\"span\", null, C(e.description), 1)\n ])) : y(\"\", !0),\n f(\"div\", {\n class: M([\"metricscard-valuetrend\", { \"is-compact\": _.value }])\n }, [\n e.hasError ? (n(), s(\"div\", g1, [\n E(p(D), {\n color: p(T),\n size: p(l1)\n }, null, 8, [\"color\", \"size\"]),\n f(\"div\", null, \" \" + C(e.errorMessage), 1)\n ])) : (n(), s(\"div\", {\n key: 1,\n class: M([\"metricscard-value\", e.cardSize]),\n \"data-testid\": \"metric-value\",\n style: x(`font-size:${p(h)}`)\n }, C(e.metricValue), 7)),\n p(i) ? (n(), s(\"div\", f1, [\n f(\"div\", {\n class: M([\"metricscard-trend-change\", a(e.changePolarity)]),\n \"data-testid\": \"metric-trend-parent\"\n }, [\n e.changePolarity !== 0 ? (n(), v(b(e.trendIcon), {\n key: 0,\n color: d(e.changePolarity),\n size: p(V)\n }, null, 8, [\"color\", \"size\"])) : (n(), v(p(se), {\n key: 1,\n color: p(Z),\n size: p(V)\n }, null, 8, [\"color\", \"size\"])),\n f(\"div\", C1, C(e.metricChange), 1)\n ], 2),\n e.trendRange && e.cardSize !== p(N).LargeCompact ? (n(), s(\"div\", y1, C(e.trendRange), 1)) : y(\"\", !0)\n ])) : y(\"\", !0)\n ], 2)\n ]);\n };\n }\n}), R = (e, t) => {\n const r = e.__vccOpts || e;\n for (const [d, a] of t)\n r[d] = a;\n return r;\n}, h1 = /* @__PURE__ */ R(v1, [[\"__scopeId\", \"data-v-a3edd1b6\"]]), m1 = {}, b1 = { class: \"loading-tabs\" };\nfunction S1(e, t) {\n const r = U(\"KSkeletonBox\");\n return n(), s(\"div\", b1, [\n E(r, { width: \"100\" }),\n E(r, { width: \"75\" })\n ]);\n}\nconst N1 = /* @__PURE__ */ R(m1, [[\"render\", S1], [\"__scopeId\", \"data-v-f7eb9c40\"]]), x1 = {\n key: 0,\n class: \"error-display\"\n}, w1 = {\n key: 0,\n class: \"error-display-message\"\n}, z1 = /* @__PURE__ */ S({\n __name: \"MetricCardContainer\",\n props: {\n fallbackDisplayText: {\n type: String,\n required: !0\n },\n cards: {\n type: Array,\n required: !0\n },\n errorMessage: {\n type: String,\n required: !1,\n default: \"\"\n },\n loading: {\n type: Boolean,\n required: !1,\n default: !1\n },\n hasTrendAccess: {\n type: Boolean,\n required: !1,\n default: !0\n },\n cardSize: {\n type: String,\n required: !1,\n default: () => N.Large\n }\n },\n setup(e) {\n const t = e, r = c(() => t.cards.every((a) => (a == null ? void 0 : a.hasError) === !0)), d = (a) => {\n const i = a1(a.currentValue, a.previousValue) || 0, h = r1(i, t.hasTrendAccess, a.increaseIsBad);\n return {\n metricValue: a.formatValueFn ? a.formatValueFn(a.currentValue) : W(a.currentValue, { capital: !0, round: !0 }) || \"0\",\n metricChange: a.formatChangeFn ? a.formatChangeFn(i) : i1(i, t.hasTrendAccess, t.fallbackDisplayText),\n changePolarity: h,\n trendIcon: n1(h, a.increaseIsBad),\n cardSize: t.cardSize\n };\n };\n return (a, i) => (n(), s(\"div\", {\n class: M([\"kong-ui-public-metric-card-container\", e.cardSize])\n }, [\n r.value ? (n(), s(\"div\", x1, [\n E(p(D), { class: \"error-display-icon\" }),\n e.errorMessage ? (n(), s(\"div\", w1, C(e.errorMessage), 1)) : y(\"\", !0)\n ])) : (n(!0), s(B, { key: 1 }, G(e.cards, (h, _) => (n(), s(B, null, [\n e.loading ? (n(), v(N1, {\n key: `skeleton-${_}`,\n class: M(e.cardSize === p(N).Small ? \"loading-tabs-small\" : \"loading-tabs-large\")\n }, null, 8, [\"class\"])) : (n(), v(h1, j({ key: _ }, d(h), {\n \"card-size\": e.cardSize,\n \"card-type\": h.cardType,\n description: h.description,\n \"error-message\": e.errorMessage,\n \"has-error\": h.hasError,\n title: h.title,\n tooltip: h.tooltip,\n \"trend-range\": h.trendRange\n }), null, 16, [\"card-size\", \"card-type\", \"description\", \"error-message\", \"has-error\", \"title\", \"tooltip\", \"trend-range\"]))\n ], 64))), 256))\n ], 2));\n }\n}), I1 = /* @__PURE__ */ R(z1, [[\"__scopeId\", \"data-v-80b51a84\"]]);\nexport {\n K as DECIMAL_DISPLAY,\n $ as DECIMAL_ROUNDING_PRECISION,\n I1 as MetricCardContainer,\n N as MetricCardSize,\n L as MetricCardType,\n a1 as calculateChange,\n r1 as changePolarity,\n n1 as defineIcon,\n i1 as metricChange\n};\n","<template>\n <slot :card-values=\"cardValues\">\n <MetricCardContainer\n v-bind=\"containerOpts\"\n />\n </slot>\n</template>\n<script setup lang=\"ts\">\nimport type { Ref } from 'vue'\nimport { inject, computed } from 'vue'\nimport { METRICS_PROVIDER_KEY } from './metricsProviderUtil'\nimport type { MetricCardDef } from '@kong-ui-public/metric-cards'\nimport { MetricCardSize, MetricCardType, DECIMAL_DISPLAY, MetricCardContainer } from '@kong-ui-public/metric-cards'\nimport '@kong-ui-public/metric-cards/dist/style.css'\nimport composables from '../composables'\nimport { ALL_STATUS_CODE_GROUPS, STATUS_CODES_FAILED } from '../constants'\nimport { sumValues } from '../composables/useMetricCardBuilder'\n\ntype CardToDisplay = 'TRAFFIC' | 'ERROR_RATE' | 'LATENCY'\n\nconst props = withDefaults(defineProps<{\n lookupKey?: string\n cardSize?: MetricCardSize\n cardToDisplay?: CardToDisplay\n}>(), {\n lookupKey: undefined,\n cardSize: MetricCardSize.Large,\n cardToDisplay: undefined,\n})\n\nconst providerData = inject(METRICS_PROVIDER_KEY)\n\nif (!providerData) {\n throw new Error('MetricsConsumer must be nested inside a MetricsProvider instance.')\n}\n\nconst { traffic, latency } = providerData.data\n\nconst { i18n } = composables.useI18n()\n\nconst trafficCard = composables.useMetricCardBuilder({\n cardType: MetricCardType.TRAFFIC,\n title: computed(() => providerData.longCardTitles\n ? i18n.t('metricCard.long.traffic')\n : i18n.t('metricCard.short.traffic')),\n description: providerData.description,\n record: traffic.mapped,\n hasError: traffic.hasError,\n lookupKey: props.lookupKey,\n sumGroupedValues: ALL_STATUS_CODE_GROUPS,\n trendRange: providerData.trendRange,\n})\n\n// Error rate (special case, requires operation)\n// TODO: provide a error rate aggregation in explore later\n// then can use default MetricCardBuilder\nconst formatErrorRate = (val: number) => `${val.toFixed(DECIMAL_DISPLAY)}%`\nconst errorRateCard = computed<MetricCardDef>(() => {\n const record = traffic.mapped.value\n\n const currentErrors = sumValues(record, 'current', props.lookupKey, STATUS_CODES_FAILED)\n const currentTotal = sumValues(record, 'current', props.lookupKey, ALL_STATUS_CODE_GROUPS)\n const errorRateCurrent = currentErrors / currentTotal * 100 || 0\n\n const previousErrors = sumValues(record, 'previous', props.lookupKey, STATUS_CODES_FAILED)\n const previousTotal = sumValues(record, 'previous', props.lookupKey, ALL_STATUS_CODE_GROUPS)\n const errorRatePrevious = previousErrors / previousTotal * 100 || 0\n\n return {\n cardType: MetricCardType.ERROR_RATE,\n hasError: traffic.hasError.value,\n currentValue: errorRateCurrent,\n previousValue: errorRatePrevious,\n formatValueFn: formatErrorRate,\n title: providerData.longCardTitles\n ? i18n.t('metricCard.long.errorRate')\n : i18n.t('metricCard.short.errorRate'),\n description: providerData.description,\n increaseIsBad: true,\n trendRange: providerData.trendRange.value,\n }\n})\n\nconst formatLatency = (val: number) => `${val}ms`\nconst latencyCard = composables.useMetricCardBuilder({\n cardType: MetricCardType.LATENCY,\n title: computed(() => providerData.longCardTitles\n ? i18n.t('metricCard.long.latency')\n : i18n.t('metricCard.short.latency')),\n description: providerData.description,\n hasError: latency.hasError,\n record: latency.mapped,\n lookupKey: props.lookupKey,\n increaseIsBad: true,\n formatValueFn: formatLatency,\n trendRange: providerData.trendRange,\n})\n\nconst cards: Ref<MetricCardDef[]> = computed(() => {\n if (props.cardToDisplay === 'TRAFFIC') {\n return [trafficCard.value]\n } else if (props.cardToDisplay === 'ERROR_RATE') {\n return [errorRateCard.value]\n } else if (props.cardToDisplay === 'LATENCY') {\n return [latencyCard.value]\n }\n\n return [trafficCard.value, errorRateCard.value, latencyCard.value]\n})\n\nconst isLoading = computed<boolean>(() => {\n if (props.cardToDisplay === 'TRAFFIC' || props.cardToDisplay === 'ERROR_RATE') {\n return traffic.isLoading.value\n } else if (props.cardToDisplay === 'LATENCY') {\n return latency.isLoading.value\n }\n\n return traffic.isLoading.value || latency.isLoading.value\n})\n\n// TODO: per-card loading?\nconst containerOpts = computed(() => ({\n cards: cards.value,\n loading: isLoading.value,\n hasTrendAccess: providerData.hasTrendAccess,\n fallbackDisplayText: i18n.t('general.notAvailable'),\n cardSize: props.cardSize,\n hideTitle: true,\n trendRange: providerData.trendRange.value,\n}))\n\nconst cardValues = computed(() => ({\n loading: containerOpts.value.loading,\n trafficCard: trafficCard.value,\n errorRateCard: errorRateCard.value,\n latencyCard: latencyCard.value,\n errorRateFormatted: formatErrorRate(errorRateCard.value.currentValue),\n latencyFormatted: formatLatency(latencyCard.value.currentValue),\n}))\n\n</script>\n","import type { AnalyticsExploreResult } from '@kong-ui-public/analytics-utilities'\nimport type { ExploreV2Query } from './types'\nimport { EXPLORE_V2_DIMENSIONS } from './types'\nimport type { CyHttpMessages } from 'cypress/types/net-stubbing'\nimport { ALL_STATUS_CODE_GROUPS } from './constants'\n\n// Replicate date-fns `fromUnixTime` here to avoid a dependency.\nconst fromUnixTimeMs = (t: number) => new Date(t)\n\nexport interface MockOptions {\n dimensionNames?: string[]\n injectErrors?: 'latency' | 'traffic' | 'all'\n}\n\nexport const mockExploreResponseFromCypress = (\n req: CyHttpMessages.IncomingHttpRequest,\n opts?: MockOptions,\n) => {\n const body: ExploreV2Query = req.body\n\n const { startMs: qStart, endMs: qEnd } = req.query\n\n const start = typeof qStart !== 'number' ? parseInt(qStart, 10) : qStart\n const end = typeof qEnd !== 'number' ? parseInt(qEnd, 10) : qEnd\n\n req.reply({\n statusCode: 200,\n body: mockExploreResponse(body, start, end, opts),\n })\n}\n\nexport const mockExploreResponse = (\n body: ExploreV2Query,\n start: number,\n end: number,\n opts?: MockOptions,\n) => {\n const granularity = body.granularityMs || 0\n\n const numRecords = granularity ? (end - start) / granularity : 1\n\n if (numRecords !== 1 && numRecords !== 2) {\n throw new Error(\n \"Query did not request 1 or 2 records. Perhaps there's a chart query on the same page interfering with the stub?\",\n )\n }\n\n if ((body.dimensions ?? []).length > 2) {\n throw new Error(`Explore only supports 0-2 dimensions; got: ${JSON.stringify(body.dimensions)}`)\n }\n\n const primaryDimension = (body.dimensions ?? []).find((x) => x !== 'TIME')\n const dimensionNames = opts?.dimensionNames ?? []\n const dimensionLength = Math.max(dimensionNames.length, 1)\n const records: any = []\n\n for (let i = 0; i < numRecords; i++) {\n for (let j = 0; j < dimensionLength; j++) {\n const eventValue: any = primaryDimension\n ? { [primaryDimension]: dimensionNames[j] }\n : {}\n\n if (body.dimensions?.includes(EXPLORE_V2_DIMENSIONS.STATUS_CODE_GROUPED)) {\n ALL_STATUS_CODE_GROUPS.forEach(code => {\n const event = body.metrics.reduce((accum, agg) => {\n accum[agg] = (numRecords - i) * 1000 + 100 * j + 1\n return accum\n }, { ...eventValue, STATUS_CODE_GROUPED: code })\n\n records.push({\n version: 'v1',\n timestamp:\n i === 0\n ? fromUnixTimeMs(start).toISOString()\n : fromUnixTimeMs(start + granularity).toISOString(),\n event,\n })\n })\n } else {\n records.push({\n version: 'v1',\n timestamp:\n i === 0\n ? fromUnixTimeMs(start).toISOString()\n : fromUnixTimeMs(start + granularity).toISOString(),\n event: body.metrics.reduce((accum, agg) => {\n accum[agg] = (numRecords - i) * 1000 + (100 * j) + 1\n return accum\n }, { ...eventValue }),\n })\n }\n }\n }\n\n const meta = {\n start,\n end,\n granularity,\n dimensions: primaryDimension\n ? {\n [primaryDimension]: dimensionNames,\n ...(body.dimensions?.includes(EXPLORE_V2_DIMENSIONS.STATUS_CODE_GROUPED) ? { STATUS_CODE_GROUPED: ALL_STATUS_CODE_GROUPS } : {}),\n }\n : {},\n metricNames: body.metrics,\n }\n\n return {\n records,\n meta,\n } as AnalyticsExploreResult\n}\n"],"names":["qe","je","r","e","t","M","d","v","W","T","m","D","ne","a","Qe","n","Xe","H","F","u","s","l","h","f","g","w","ve","Ze","Je","S","cr","ie","ye","mr","hr","vr","ce","gr","me","ke","wr","oe","Tr","Dr","ue","yr","pe","pr","Yr","Or","br","Mr","ee","he","Me","Er","te","z","Oe","Nr","se","_r","be","Sr","Ie","re","Ye","xr","p","le","Ur","kr","Ir","Pr","Ne","Wr","_e","Ee","ae","Rr","Lr","Pe","de","fe","Hr","$r","Fr","Re","Gr","j","qr","Le","Ce","We","Q$1","Q","jr","aa","x","b","zr","Qr","Vr","Xr","Br","Zr","useI18n","i18n","createI18n","english","i18nTComponent","EXPLORE_V2_DIMENSIONS","EXPLORE_V2_AGGREGATIONS","EXPLORE_V2_FILTER_TYPES","MAX_ANALYTICS_REQUEST_RETRIES","ALL_STATUS_CODE_GROUPS","STATUS_CODES_FAILED","er","ur","q","DEFAULT_KEY","ERROR_RATE_DIMENSION","setMetric","result","time","topLevelKey","secondLevelKey","metricValue","buildDeltaMapping","queryTime","withTrend","metricName","_a","dimensionNames","hasErrorRateDimension","k","keyDimension","record","useMetricFetcher","opts","computed","DeltaQueryTime","UnaryQueryTime","query","_b","timeRangeString","cacheKey","additionalFilterKey","_c","_d","raw","metricError","isMetricDataValidating","composables","metricRequestState","STATE","useSwrvState","mapped","_f","_j","_i","_h","_g","sumValues","recordValue","period","dimensionLookupKey","sumGroupedValues","acc","lookup","groupValue","useMetricCardBuilder","cardType","title","description","hasError","increaseIsBad","formatValueFn","trendRange","currentValue","previousValue","table","counter","hash","args","key","i","_hash","serializeKeyDefault","SWRVCache","ttl","_key","timeToLive","now","item","serializedKey","_this","current","hasExpired","isOnline","isDocumentVisible","fetcher","url","res","webPreset","__assign","__awaiter","thisArg","_arguments","P","generator","adopt","value","resolve","reject","fulfilled","step","rejected","__generator","body","_","y","verb","op","__read","o","ar","error","__spreadArray","to","from","pack","DATA_CACHE","REF_CACHE","PROMISES_CACHE","defaultConfig","setRefCache","theRef","refCacheItem","gracePeriod","onErrorRetry","revalidate","errorRetryCount","config","count","timeout","mutate","cache","data","isValidating","err_1","newData","stateRef","refs_1","isPromise","err","idx","isLast","useSWRV","fn","unmounted","isHydrated","instance","getCurrentInstance","vm","IS_SERVER","keyRef","ref","reactive","isFirstFetch","keyVal","cacheItem","shouldRevalidate","trigger","promiseFromCache","fetcherArgs","newPromise","shouldRetryOnError","revalidateCall","timer","onMounted","tick","onUnmounted","watch","val","isReadonly","toRefs","useRequest","response","METRICS_PROVIDER_KEY","defaultFetcherDefs","dimension","dimensionFilterValue","additionalFilter","queryReady","timeframe","hasTrendAccess","refreshInterval","dataFetcher","singleEntityQuery","multiEntityQuery","filter","retval","trafficMetricFetcherOptions","latencyMetricFetcherOptions","trafficData","latencyData","props","__props","TimePeriods","TimeframeKeys","trendRangeText","toRef","provide","X","A","O","Y","N","I","J","c","C","ge","Se","xe","we","ze","He","Ve","Te","Be","$e","Ue","Ae","Fe","De","Ke","Ge","e1","t1","K","$","r1","i1","a1","n1","o1","Z","d1","V","l1","s1","u1","L","c1","p1","g1","f1","C1","y1","v1","U","E","R","h1","m1","b1","S1","N1","x1","w1","z1","B","G","I1","providerData","inject","traffic","latency","trafficCard","MetricCardType","formatErrorRate","DECIMAL_DISPLAY","errorRateCard","currentErrors","currentTotal","errorRateCurrent","previousErrors","previousTotal","errorRatePrevious","formatLatency","latencyCard","cards","isLoading","containerOpts","cardValues","fromUnixTimeMs","mockExploreResponseFromCypress","req","qStart","qEnd","start","end","mockExploreResponse","granularity","numRecords","primaryDimension","dimensionLength","records","eventValue","code","event","accum","agg","meta"],"mappings":"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","x_google_ignoreList":[4,7,8,9,10]}
|