@feedmepos/mf-report 5.19.7-beta.0 → 5.19.8-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (29) hide show
  1. package/dist/{App-h-tDKQlA.js → App-D2-wz8ZV.js} +4 -4
  2. package/dist/BaseDialog.vue_vue_type_script_setup_true_lang-Wsp8VGv0.js +19594 -0
  3. package/dist/{DateRangeSelect.vue_vue_type_script_setup_true_lang-D1KEawaw.js → DateRangeSelect.vue_vue_type_script_setup_true_lang-CioHmHN6.js} +2 -2
  4. package/dist/{Default.vue_vue_type_script_setup_true_lang-piRZPnBL.js → Default.vue_vue_type_script_setup_true_lang-635FjOPP.js} +2 -2
  5. package/dist/DynamicWidget.vue_vue_type_script_setup_true_lang-DiBpQb7o.js +1673 -0
  6. package/dist/{InsightView-BfUgwaQG.js → InsightView-Cy75KuEh.js} +5 -5
  7. package/dist/{Integration-Ck5SytHF.js → Integration-D6N9nftt.js} +2 -2
  8. package/dist/{Integrations-CN2VLJyH.js → Integrations-ClCpYgsX.js} +3 -3
  9. package/dist/{Layout-Ctex8ogt.js → Layout-DPQzsxqk.js} +1 -1
  10. package/dist/{MenuTab.vue_vue_type_script_setup_true_lang-Cu22qdoM.js → MenuTab.vue_vue_type_script_setup_true_lang-zwpO7Fxk.js} +6 -6
  11. package/dist/{NavigationTab.vue_vue_type_script_setup_true_lang-K2OuicKC.js → NavigationTab.vue_vue_type_script_setup_true_lang-DpmOHFlh.js} +6990 -6984
  12. package/dist/{NoData.vue_vue_type_script_setup_true_lang-CYlrI2O9.js → NoData.vue_vue_type_script_setup_true_lang-CAGjM94B.js} +1 -1
  13. package/dist/{OverviewView-B-UnBjtq.js → OverviewView-DlLFc9e_.js} +5 -5
  14. package/dist/{Report-BqacDpGo.js → Report-W8-KjFN8.js} +4 -4
  15. package/dist/{ReportEditor-Bq94ZeJe.js → ReportEditor-Dzj_gg3s.js} +6 -6
  16. package/dist/{ReportView-B4KxY9_Q.js → ReportView-CmErSwKu.js} +7 -7
  17. package/dist/{SelectComponent.vue_vue_type_script_setup_true_lang-BrTCEJlK.js → SelectComponent.vue_vue_type_script_setup_true_lang-wbYOXNgr.js} +1 -1
  18. package/dist/{Setting-BNhk0ns2.js → Setting-BXQIl_2E.js} +4 -4
  19. package/dist/{TileEditor-DE5XDX9P.js → TileEditor-BxxjJuUG.js} +7 -7
  20. package/dist/{TransitionFade-CvpWXkrp.js → TransitionFade-CfY9Tv9a.js} +92 -92
  21. package/dist/app.js +11 -11
  22. package/dist/assets/formatChartData.worker-Cr9zHMoq.js +106 -0
  23. package/dist/assets/processTableData.worker-COqO3hgX.js +106 -0
  24. package/dist/{helper-mE0Q3YSh.js → helper-BYQmOCI_.js} +1 -1
  25. package/dist/{vue-i18n-B27SDmEk.js → vue-i18n-B-WkKyGH.js} +176 -176
  26. package/package.json +2 -3
  27. package/dist/BaseDialog.vue_vue_type_script_setup_true_lang-ODTkggPg.js +0 -11208
  28. package/dist/DynamicWidget.vue_vue_type_script_setup_true_lang-BsH90tAb.js +0 -1628
  29. package/dist/assets/formatChartData.worker-2gP9DT2G.js +0 -8
@@ -1,1628 +0,0 @@
1
- import { computed as y, defineComponent as ee, mergeModels as me, useModel as te, ref as h, onMounted as ke, nextTick as X, watch as J, resolveComponent as V, createElementBlock as N, openBlock as W, Fragment as oe, renderSlot as pe, createVNode as B, normalizeStyle as ne, unref as l, createElementVNode as P, toDisplayString as Le, withCtx as q, createBlock as U, createCommentVNode as he, normalizeClass as Pe, h as bt, renderList as kt, createTextVNode as Qt, onUnmounted as ea, resolveDynamicComponent as ta, withDirectives as aa, vShow as la } from "vue";
2
- import { W as F, d as Ee, v as $e, e as Ye, f as _t, q as oa, R as xe, g as na } from "./BaseDialog.vue_vue_type_script_setup_true_lang-ODTkggPg.js";
3
- import { u as Me, b as at, a as lt } from "./vue-i18n-B27SDmEk.js";
4
- import { a as wt } from "./helper-mE0Q3YSh.js";
5
- import { storeToRefs as ze, defineStore as sa } from "pinia";
6
- import { useBreakpoints as Tt, components as ra, useSnackbar as Rt } from "@feedmepos/ui-library";
7
- import { a as ia } from "./SelectComponent.vue_vue_type_script_setup_true_lang-BrTCEJlK.js";
8
- import { r as Ce } from "./i18n-Cif1I9J2.js";
9
- import { _ as xt } from "./NoData.vue_vue_type_script_setup_true_lang-CYlrI2O9.js";
10
- var Je = /* @__PURE__ */ ((e) => (e.line = "LINE", e.bar = "BAR", e))(Je || {}), Z = /* @__PURE__ */ ((e) => (e.top = "TOP", e.bottom = "BOTTOM", e))(Z || {}), Ke = /* @__PURE__ */ ((e) => (e.start = "start", e.center = "center", e.end = "end", e))(Ke || {}), Ze = /* @__PURE__ */ ((e) => (e.start = "start", e.center = "center", e.end = "end", e.left = "left", e.right = "right", e.top = "top", e.bottom = "bottom", e))(Ze || {}), Qe = /* @__PURE__ */ ((e) => (e.top = "top", e.bottom = "bottom", e))(Qe || {}), et = /* @__PURE__ */ ((e) => (e.right = "right", e.left = "left", e))(et || {}), tt = /* @__PURE__ */ ((e) => (e.top = "top", e.bottom = "bottom", e.right = "right", e.left = "left", e.chartArea = "chartArea", e))(tt || {});
11
- F.Circular, F.Table, F.BarChart, F.LineChart, F.StackBarChart, F.StackLineChart, F.Scorecard, F.Spacer;
12
- const ua = [
13
- {
14
- type: F.Circular,
15
- showLabel: !1,
16
- // TODO: temporarily removed show label as it has no function
17
- showDrillDimension: !0,
18
- showRollup: !1,
19
- showSearchBar: !1
20
- },
21
- {
22
- type: F.Table,
23
- showLabel: !1,
24
- showDrillDimension: !0,
25
- showRollup: !0,
26
- showSearchBar: !0
27
- },
28
- {
29
- type: F.BarChart,
30
- showLabel: !1,
31
- // TODO: temporarily removed show label as it has no function
32
- showDrillDimension: !0,
33
- showRollup: !1,
34
- showSearchBar: !1
35
- },
36
- {
37
- type: F.LineChart,
38
- showLabel: !1,
39
- // TODO: temporarily removed show label as it has no function
40
- showDrillDimension: !0,
41
- showRollup: !0,
42
- showSearchBar: !1
43
- },
44
- {
45
- type: F.StackBarChart,
46
- showLabel: !1,
47
- // TODO: temporarily removed show label as it has no function
48
- showDrillDimension: !0,
49
- showRollup: !0,
50
- showSearchBar: !1
51
- },
52
- {
53
- type: F.StackLineChart,
54
- showLabel: !1,
55
- // TODO: temporarily removed show label as it has no function
56
- showDrillDimension: !0,
57
- showRollup: !0,
58
- showSearchBar: !1
59
- },
60
- {
61
- type: F.Scorecard,
62
- showLabel: !1,
63
- showDrillDimension: !1,
64
- showRollup: !1,
65
- showSearchBar: !1
66
- },
67
- {
68
- type: F.Spacer,
69
- showLabel: !1,
70
- showDrillDimension: !1,
71
- showRollup: !1,
72
- showSearchBar: !1
73
- }
74
- ];
75
- function Ge(e) {
76
- const n = [e.schemaName, e.name];
77
- return "option" in e && e.option && n.push(e.option), "aggregation" in e && e.aggregation && n.push(e.aggregation), n.push(e.label.replace(/[^a-zA-Z0-9]/g, "")), n.join("_").toLowerCase();
78
- }
79
- function ca(e, n) {
80
- switch (e) {
81
- case F.BarChart:
82
- case F.LineChart:
83
- case F.StackBarChart:
84
- case F.StackLineChart:
85
- return Array.isArray(n == null ? void 0 : n.datasets) && Array.isArray(n == null ? void 0 : n.xAxis) && n.datasets.length > 0 && n.xAxis.length > 0;
86
- case F.Table:
87
- return Array.isArray(n == null ? void 0 : n.rows) && Array.isArray(n == null ? void 0 : n.columns) && n.rows.length > 0 && n.columns.length > 0;
88
- case F.Circular:
89
- return Array.isArray(n == null ? void 0 : n.datasets) && n.datasets.length > 0;
90
- case F.Scorecard:
91
- return !0;
92
- case F.Spacer:
93
- return !0;
94
- }
95
- }
96
- const Ct = [
97
- "54, 162, 235",
98
- //8CE6D7
99
- "0, 123, 167",
100
- //007BA7
101
- "255, 93, 83",
102
- //FF5D53
103
- "115, 200, 230",
104
- //73C8E6
105
- "252, 162, 62",
106
- //FCA23E
107
- "240, 155, 190",
108
- //F09BBE
109
- "255, 210, 50",
110
- //FFD232
111
- "80, 190, 155",
112
- //50BE9B
113
- "131, 88, 212",
114
- //8358D4
115
- "155, 80, 70"
116
- //9B5046
117
- ];
118
- function Q({
119
- index: e,
120
- isCompare: n,
121
- opacity: m
122
- }) {
123
- let t = typeof m == "number" ? m : 1;
124
- return n && (t = t * 0.6), `rgba(${Ct[e % Ct.length]}, ${t})`;
125
- }
126
- function Ft(e, n, m) {
127
- if (e === "" || n === "")
128
- return null;
129
- let t = (z) => z == null ? void 0 : z.replace(/,/g, "");
130
- m === "ID" && (t = (z) => z == null ? void 0 : z.replace(/\./g, "").replace(/,/g, "."));
131
- const x = Number(t(e)), L = Number(t(n));
132
- if (isNaN(x) || isNaN(L))
133
- return null;
134
- let S = 0;
135
- L === 0 ? x === 0 ? S = 0 : S = 1 : S = (x - L) / L;
136
- const T = da(S);
137
- return {
138
- value: isNaN(S) ? "" : `${(S * 100).toFixed(0)}%`,
139
- icon: T
140
- };
141
- }
142
- function da(e) {
143
- return e > 0 ? {
144
- name: "moving",
145
- color: "#1F7735",
146
- tailwind: "fm-color-system-success-100"
147
- } : e < 0 ? {
148
- name: "trending_down",
149
- color: "#99231D",
150
- tailwind: "fm-color-system-error-100"
151
- } : {
152
- name: "equal",
153
- color: "#C7C7CC",
154
- tailwind: "fm-color-neutral-gray-100"
155
- };
156
- }
157
- function We(e) {
158
- function n(u, c, i) {
159
- if (u.measureText(c).width <= i) return c;
160
- const r = "…";
161
- let b = 0, f = c.length;
162
- for (; b < f; ) {
163
- const g = Math.floor((b + f) / 2), d = c.slice(0, g) + r;
164
- u.measureText(d).width <= i ? b = g + 1 : f = g;
165
- }
166
- return c.slice(0, b - 1) + r;
167
- }
168
- const m = y(() => ({
169
- display: e.showLabel,
170
- align: e.labelAlign,
171
- anchor: e.labelAnchor,
172
- rotation: e.labelRotation,
173
- offset: e.labelOffset,
174
- font: {
175
- size: e.labelFontSize
176
- },
177
- color: (u) => {
178
- const c = u.chart.data.datasets[u.datasetIndex];
179
- return c.borderColor ? Array.isArray(c.borderColor) ? c.borderColor[u.dataIndex] : c.borderColor : c.backgroundColor ? Array.isArray(c.backgroundColor) ? c.backgroundColor[u.dataIndex] : c.backgroundColor : "#000";
180
- },
181
- formatter: (u) => u === 0 ? "" : u.toLocaleString("en-US")
182
- })), t = y(() => ({
183
- display: e.showX,
184
- position: e.xPosition,
185
- grid: {
186
- display: e.showXGrid
187
- },
188
- ticks: {
189
- display: e.showXTick,
190
- callback: function(u) {
191
- if ((e == null ? void 0 : e.isTransposed) === !0) return String(u);
192
- let i = String(u);
193
- const r = this;
194
- r && typeof r.getLabelForValue == "function" && (i = r.getLabelForValue(u));
195
- const b = r == null ? void 0 : r.chart, f = r == null ? void 0 : r.ctx, g = b.height * 0.25;
196
- if (f && g > 0) {
197
- f.save();
198
- const E = f.measureText(i).width > g ? n(f, i, g) : i;
199
- return f.restore(), E;
200
- }
201
- return i;
202
- },
203
- font: {
204
- size: e.xTickFontSize
205
- }
206
- },
207
- title: {
208
- display: e.showXTitle,
209
- text: e.xTitle,
210
- font: {
211
- size: e.xTitleFontSize
212
- }
213
- },
214
- afterBuildTicks: (u) => {
215
- const c = Array.isArray(u == null ? void 0 : u.ticks) ? u.ticks : [];
216
- if (c.length === 0) return;
217
- const i = u.getLabelForValue(c[0].value), r = !isNaN(Number(i));
218
- u.options.ticks.minRotation = r || c.length < 10 ? 0 : 90;
219
- },
220
- afterFit: (u) => {
221
- if (!(e != null && e.isTransposed)) {
222
- const c = u.chart.height * 0.4;
223
- u.height > c && (u.height = c);
224
- }
225
- }
226
- })), x = y(() => ({
227
- display: e.showY,
228
- position: e.yPosition,
229
- grid: {
230
- display: e.showYGrid
231
- },
232
- ticks: {
233
- display: e.showYTick,
234
- font: {
235
- size: e.yTickFontSize
236
- },
237
- callback: function(u) {
238
- if (!((e == null ? void 0 : e.isTransposed) === !0)) return String(u);
239
- let i = String(u);
240
- const r = this;
241
- r && typeof r.getLabelForValue == "function" && (i = r.getLabelForValue(u));
242
- const b = r == null ? void 0 : r.chart, f = r == null ? void 0 : r.ctx, g = b.width * 0.4;
243
- if (f && g > 0) {
244
- f.save();
245
- const E = f.measureText(i).width > g ? n(f, i, g) : i;
246
- return f.restore(), E;
247
- }
248
- return i;
249
- }
250
- },
251
- title: {
252
- display: e.showYTitle,
253
- text: e.yTitle,
254
- font: {
255
- size: e.yTitleFontSize
256
- }
257
- }
258
- })), L = y(() => ({
259
- display: e.showLegend,
260
- position: e.legendPosition,
261
- usePointStyle: e.usePointStyle,
262
- maxHeight: e.legendMaxHeight,
263
- maxWidth: e.legendMaxWidth,
264
- labels: {
265
- usePointStyle: e.usePointStyle ?? !0,
266
- generateLabels: (u) => {
267
- var i;
268
- const c = ((i = u == null ? void 0 : u.data) == null ? void 0 : i.datasets) || [];
269
- if (c.length === 0) return [];
270
- if (c.length === 1 && Array.isArray(c[0].backgroundColor) && c[0].backgroundColor.length > 1 && Array.isArray(c[0].data)) {
271
- const r = c[0];
272
- return u.data.labels.map((f, g) => {
273
- const d = r.backgroundColor[g];
274
- return {
275
- text: f,
276
- fontColor: "#6b6b6b",
277
- fillStyle: d,
278
- strokeStyle: d,
279
- datasetIndex: 0,
280
- index: g,
281
- hidden: u.getDataVisibility ? !u.getDataVisibility(g) : !1
282
- };
283
- });
284
- }
285
- return u.data.datasets.map((r, b) => {
286
- const f = r.borderColor || r.backgroundColor;
287
- return {
288
- text: r.label,
289
- fontColor: "#6b6b6b",
290
- fillStyle: f,
291
- strokeStyle: f,
292
- datasetIndex: b,
293
- hidden: !u.isDatasetVisible(b)
294
- };
295
- });
296
- }
297
- }
298
- })), S = y(() => e.isTransposed), T = y(() => e.chartWidth), z = y(() => e.chartHeight);
299
- return { datalabels: m, xCfg: t, yCfg: x, isTransposed: S, legend: L, chartWidth: T, chartHeight: z };
300
- }
301
- const ha = /* @__PURE__ */ ee({
302
- __name: "WidgetBarchart",
303
- props: /* @__PURE__ */ me({
304
- tileIndex: {}
305
- }, {
306
- modelValue: { required: !0 },
307
- modelModifiers: {}
308
- }),
309
- emits: ["update:modelValue"],
310
- setup(e) {
311
- const n = e, m = te(e, "modelValue"), t = h(null), x = y(() => {
312
- var d;
313
- return ((d = m.value.data) == null ? void 0 : d.xAxis) ?? [];
314
- }), L = y(() => {
315
- var d;
316
- return ((d = m.value.data) == null ? void 0 : d.datasets) ?? [];
317
- }), { datalabels: S, xCfg: T, yCfg: z, isTransposed: u, legend: c, chartWidth: i, chartHeight: r } = We(
318
- m.value
319
- ), b = y(() => L.value.length > 0 ? [
320
- ...L.value.map((d, E) => ({
321
- label: d.name,
322
- data: d.values,
323
- dash: !!d.isCompare,
324
- backgroundColor: Q({ index: E, isCompare: d.isCompare })
325
- }))
326
- ] : []), f = Ee();
327
- function g() {
328
- return f.extractChartSize(t.value, n.tileIndex) || { width: 0, height: 0 };
329
- }
330
- return ke(() => {
331
- X(() => {
332
- g();
333
- });
334
- }), J([b], () => {
335
- X(() => g());
336
- }), (d, E) => {
337
- const p = V("FmBarChart");
338
- return W(), N(oe, null, [
339
- pe(d.$slots, "menu"),
340
- B(p, {
341
- ref_key: "chartRef",
342
- ref: t,
343
- class: "bar-chart",
344
- datasets: b.value,
345
- "x-axis": { categories: x.value },
346
- "x-cfg": l(T),
347
- "y-cfg": l(z),
348
- transpose: l(u),
349
- legend: {
350
- display: l(c).display ?? !1,
351
- position: l(c).position,
352
- maxHeight: l(c).maxHeight,
353
- maxWidth: l(c).maxWidth,
354
- labels: l(c).labels
355
- },
356
- datalabels: l(S),
357
- "maintain-aspect-ratio": !1,
358
- style: ne({
359
- "--chart-width": l(i) !== void 0 ? l(i) + "px" : "100%",
360
- "--chart-height": l(r) !== void 0 ? l(r) + "px" : "calc(100% - 36px)"
361
- })
362
- }, null, 8, ["datasets", "x-axis", "x-cfg", "y-cfg", "transpose", "legend", "datalabels", "style"])
363
- ], 64);
364
- };
365
- }
366
- }), ma = /* @__PURE__ */ ee({
367
- __name: "WidgetCircular",
368
- props: /* @__PURE__ */ me({
369
- tileIndex: {}
370
- }, {
371
- modelValue: { required: !0 },
372
- modelModifiers: {}
373
- }),
374
- emits: ["update:modelValue"],
375
- setup(e) {
376
- const n = e, m = te(e, "modelValue"), { breakpoints: t } = Tt(), x = h(null), { datalabels: L, legend: S, chartWidth: T, chartHeight: z } = We(m.value), u = y(() => {
377
- let b = [];
378
- return m.value.data.datasets && m.value.data.metrics && m.value.data.datasets.length > 0 && m.value.data.metrics.length > 0 && (b = [
379
- {
380
- label: m.value.data.metrics[0],
381
- data: m.value.data.datasets.map((f) => f.value),
382
- backgroundColor: m.value.data.datasets.map((f, g) => Q({ index: g }))
383
- }
384
- ]), b;
385
- }), c = Ee();
386
- function i() {
387
- return c.extractChartSize(x.value, n.tileIndex) || { width: 0, height: 0 };
388
- }
389
- ke(() => {
390
- X(() => {
391
- i();
392
- });
393
- }), J([u], () => {
394
- X(() => i());
395
- });
396
- const r = y(() => t.value.lg ? 12 : 8);
397
- return (b, f) => {
398
- const g = V("FmPieChart");
399
- return W(), N(oe, null, [
400
- pe(b.$slots, "menu"),
401
- B(g, {
402
- ref_key: "chartRef",
403
- ref: x,
404
- class: "circular",
405
- percentage: "70%",
406
- datasets: u.value,
407
- metrics: m.value.data.datasets.map((d) => d.name),
408
- variant: "doughnut",
409
- legend: {
410
- display: l(S).display ?? !0,
411
- position: l(S).position ?? "top",
412
- maxHeight: l(S).maxHeight,
413
- maxWidth: l(S).maxWidth,
414
- labels: {
415
- ...l(S).labels,
416
- font: {
417
- size: r.value
418
- }
419
- }
420
- },
421
- datalabels: l(L),
422
- "maintain-aspect-ratio": !1,
423
- style: ne({
424
- "--chart-width": l(T) !== void 0 ? l(T) + "px" : "100%",
425
- "--chart-height": l(z) !== void 0 ? l(z) + "px" : "calc(100% - 36px)"
426
- })
427
- }, null, 8, ["datasets", "metrics", "legend", "datalabels", "style"])
428
- ], 64);
429
- };
430
- }
431
- }), pa = { class: "flex flex-col gap-1" }, fa = { class: "fm-typo-en-title-sm-600" }, va = { class: "flex gap-2" }, ga = { key: 0 }, ya = { key: 1 }, ba = /* @__PURE__ */ ee({
432
- __name: "WidgetScorecard",
433
- props: {
434
- modelValue: { required: !0 },
435
- modelModifiers: {}
436
- },
437
- emits: ["update:modelValue"],
438
- setup(e) {
439
- const n = te(e, "modelValue"), { t: m } = Me(), { compareDateRange: t, defaultDateSetting: x } = ze(at()), { country: L } = lt(), S = y(() => {
440
- var i;
441
- return ((i = n.value.data) == null ? void 0 : i.value) || "";
442
- }), T = y(() => {
443
- const { data: i } = n.value;
444
- return i != null && i.comparison ? Ft(S.value, i.comparison, L) : null;
445
- });
446
- function z(i) {
447
- switch (i) {
448
- case Je.bar:
449
- return "bar";
450
- case Je.line:
451
- return "line";
452
- default:
453
- return "line";
454
- }
455
- }
456
- const u = y(() => {
457
- var i;
458
- return (i = n.value.data) == null ? void 0 : i.sparkline;
459
- }), c = y(() => u.value.datasets.map((i) => ({
460
- label: i.name,
461
- data: i.values,
462
- fill: !0,
463
- color: "#36a2eb"
464
- })));
465
- return (i, r) => {
466
- var E;
467
- const b = V("FmIcon"), f = V("FmChip"), g = V("FmTooltip"), d = V("FmLineChart");
468
- return W(), N("div", pa, [
469
- pe(i.$slots, "menu"),
470
- P("p", fa, Le(S.value), 1),
471
- P("div", va, [
472
- B(g, {
473
- content: `vs. ${(E = l(x).defaultCompareType) == null ? void 0 : E.split("_").join(" ")}`,
474
- placement: "right",
475
- "hide-arrow": "",
476
- variant: "plain"
477
- }, {
478
- default: q(() => [
479
- T.value ? (W(), U(f, {
480
- key: 0,
481
- icon: T.value.icon.name,
482
- class: Pe(`bg-${T.value.icon.tailwind}`),
483
- compact: ""
484
- }, {
485
- default: q(() => [
486
- B(b, {
487
- name: T.value.icon.name,
488
- color: T.value.icon.color
489
- }, null, 8, ["name", "color"]),
490
- P("p", {
491
- class: "fm-typo-en-body-md-600",
492
- style: ne({ color: T.value.icon.color })
493
- }, Le(T.value.value), 5)
494
- ]),
495
- _: 1
496
- }, 8, ["icon", "class"])) : he("", !0),
497
- l(t).endDate !== null && l(t).startDate !== null && T.value === null ? (W(), U(f, {
498
- key: 1,
499
- compact: ""
500
- }, {
501
- default: q(() => [
502
- B(b, {
503
- name: "arrow_upward",
504
- color: "#C7C7CC"
505
- }),
506
- r[0] || (r[0] = P("p", { class: "fm-typo-en-body-md-600 text-fm-color-typo-disabled" }, "N/A", -1))
507
- ]),
508
- _: 1
509
- })) : he("", !0)
510
- ]),
511
- _: 1
512
- }, 8, ["content"])
513
- ]),
514
- u.value ? (W(), N("div", ga, [
515
- z(u.value.type) === "line" ? (W(), U(d, {
516
- key: 0,
517
- class: "sparkline",
518
- datasets: c.value,
519
- legend: {
520
- display: !1
521
- },
522
- datalabels: { display: !1 },
523
- "x-axis": { categories: u.value.dimensions },
524
- "y-cfg": { display: !1 },
525
- "x-cfg": { display: !1 },
526
- "maintain-aspect-ratio": !1
527
- }, null, 8, ["datasets", "x-axis"])) : he("", !0)
528
- ])) : (W(), N("div", ya, r[1] || (r[1] = [
529
- P("div", { class: "sparkline" }, [
530
- P("div", { class: "flex flex-col gap-8" }, [
531
- P("div"),
532
- P("div")
533
- ]),
534
- P("div", { class: "grow" })
535
- ], -1)
536
- ])))
537
- ]);
538
- };
539
- }
540
- }), wa = {};
541
- function xa(e, n) {
542
- const m = V("FmMenuDivider");
543
- return W(), U(m);
544
- }
545
- const Ca = /* @__PURE__ */ ia(wa, [["render", xa]]), Sa = "mf-reporttable-dimension", St = sa(Sa, () => {
546
- const e = h(0), n = h([]), m = h(!1), t = (p, s) => {
547
- e.value = p, L(p, s);
548
- }, x = (p, s, C, w) => {
549
- n[p] = s, n.value = [...n.value], S(p, s, C, w);
550
- }, L = (p, s) => {
551
- const C = (s == null ? void 0 : s.querySelectorAll("thead tr")) ?? [], w = (s == null ? void 0 : s.querySelectorAll("tbody tr")) ?? [];
552
- [...C, ...w].forEach((D) => {
553
- const o = D;
554
- o && (o.style.height = `${p}px`);
555
- });
556
- }, S = (p, s, C, w = !1) => {
557
- const k = (C == null ? void 0 : C.querySelectorAll("th")) ?? [];
558
- if (p === void 0) return;
559
- const D = k[p], o = w ? n[p] : s;
560
- if (!D || o === void 0) return;
561
- const v = () => {
562
- D.style.width = `${o}px`;
563
- };
564
- w ? requestAnimationFrame(v) : v();
565
- }, T = () => {
566
- const p = document.querySelectorAll("th"), s = document.querySelectorAll("td"), C = document.querySelector("table");
567
- C == null || C.classList.add("table-fixed"), p.forEach((w) => w.classList.add("toggleEditResize")), s.forEach((w) => w.classList.add("toggleEditResize")), m.value = !0;
568
- }, z = () => {
569
- const p = document.querySelectorAll("th"), s = document.querySelectorAll("td"), C = document.querySelectorAll(".col-resize-handle"), w = document.querySelectorAll(".row-resize-handle");
570
- p.forEach((k) => k.classList.remove("toggleEditResize")), s.forEach((k) => k.classList.remove("toggleEditResize")), C.forEach((k) => k.remove()), w.forEach((k) => k.remove()), m.value = !1;
571
- }, u = () => {
572
- e.value = 0, n.value = [];
573
- }, c = (p, s) => {
574
- if (s) {
575
- const C = document.querySelectorAll(`thead th:nth-child(${p + 1})`), w = document.querySelectorAll(`tbody td:nth-child(${p + 1})`);
576
- [...C, ...w].forEach((k) => {
577
- k.classList.add("highlight-hover-col");
578
- });
579
- } else
580
- document.querySelectorAll(
581
- `thead th:nth-child(${p + 1}), tbody td:nth-child(${p + 1})`
582
- ).forEach((C) => C.classList.add("highlight-col"));
583
- }, i = (p) => {
584
- const s = document.querySelectorAll("thead tr"), C = document.querySelectorAll("tbody tr"), w = [...s, ...C];
585
- for (const k of w)
586
- p ? k.classList.add("highlight-hover-row") : k.classList.add("highlight-row");
587
- }, r = (p) => {
588
- const s = p ? ".highlight-hover-row" : ".highlight-row", C = document.querySelectorAll(s);
589
- for (const w of C)
590
- w.classList.remove(s.slice(1));
591
- }, b = (p) => {
592
- p ? document.querySelectorAll(".highlight-hover-col").forEach((s) => {
593
- s.classList.remove("highlight-hover-col");
594
- }) : document.querySelectorAll(".highlight-col").forEach((s) => s.classList.remove("highlight-col"));
595
- }, f = (p, s) => {
596
- const C = /* @__PURE__ */ new Map(), w = p.clientX, k = p.target.closest("table"), D = k == null ? void 0 : k.querySelectorAll("th")[s], o = D == null ? void 0 : D.getBoundingClientRect().width, v = C.get(s) ? n[s.toString()] || 60 : (C.set(s, !0), o || n[s.toString()] || 60), R = D == null ? void 0 : D.querySelector("p");
597
- if (!R) return;
598
- const _ = R.textContent || "", A = window.getComputedStyle(R), H = `${A.fontWeight} ${A.fontSize} ${A.fontFamily}`, O = document.createElement("canvas").getContext("2d");
599
- if (!O) return;
600
- O.font = H;
601
- const G = O.measureText(_), j = window.getComputedStyle(D), De = parseFloat(j.paddingLeft || "0"), Ae = parseFloat(j.paddingRight || "0"), Ve = G.width + De + Ae;
602
- c(s, !1);
603
- const _e = (fe) => {
604
- const se = fe.clientX - w, re = Math.max(Ve, v + se);
605
- if (k) {
606
- x(s, re, k, !0);
607
- let ae = 0;
608
- k.querySelectorAll("th").forEach((ie, ue) => {
609
- ae += ue === s ? re : n[ue] || ie.getBoundingClientRect().width;
610
- }), k.classList.remove("w-full"), k.style.width = `${ae}px`;
611
- const le = k == null ? void 0 : k.parentElement;
612
- if (le) {
613
- const ie = le.scrollWidth, ue = le.scrollLeft;
614
- le.offsetWidth + ue >= ie - 100 && (le.scrollLeft = ie);
615
- }
616
- }
617
- }, Te = () => {
618
- const fe = (k == null ? void 0 : k.querySelectorAll("th")) ?? [], se = [...n.value];
619
- fe.forEach((re, ae) => {
620
- const ve = re.getBoundingClientRect().width;
621
- n[ae] = ve, se[ae] = ve;
622
- }), n.value = se, b(!1), document.removeEventListener("mousemove", _e), document.removeEventListener("mouseup", Te);
623
- };
624
- document.addEventListener("mousemove", _e), document.addEventListener("mouseup", Te);
625
- }, g = (p) => {
626
- const s = p.clientY, C = p.target.closest("table"), w = e.value || 48;
627
- i(!1);
628
- const k = (o) => {
629
- const v = Math.max(30, w + (o.clientY - s));
630
- C && t(v, C);
631
- }, D = () => {
632
- r(!1), document.removeEventListener("mousemove", k), document.removeEventListener("mouseup", D);
633
- };
634
- document.addEventListener("mousemove", k), document.addEventListener("mouseup", D);
635
- };
636
- return {
637
- rowHeight: e,
638
- colWidths: n,
639
- isEditing: m,
640
- updateRowHeight: t,
641
- updateColWidth: x,
642
- setRowHeights: L,
643
- setColWidths: S,
644
- enableEditMode: T,
645
- disableEditMode: z,
646
- resetStore: u,
647
- highlightCol: c,
648
- highlightRows: i,
649
- removeRowHighlight: r,
650
- removeColHighlight: b,
651
- resizeCol: f,
652
- resizeRow: g,
653
- enableCellResizing: () => {
654
- const p = document.querySelector("thead"), s = document.querySelectorAll("thead tr"), C = document.querySelectorAll("tbody tr"), w = [...s, ...C];
655
- p && p.classList.remove("sticky");
656
- const k = (D, o) => {
657
- const v = document.createElement("div");
658
- return v.className = `${D}-resize-handle`, D === "col" ? (v.addEventListener("mouseenter", () => c(o, !0)), v.addEventListener("mouseleave", () => b(!0)), v.addEventListener("mousedown", (R) => {
659
- R.stopPropagation(), f(R, o);
660
- })) : (v.addEventListener("mouseenter", () => i(!0)), v.addEventListener("mouseleave", () => r(!0)), v.addEventListener("mousedown", (R) => {
661
- R.stopPropagation(), g(R);
662
- })), v;
663
- };
664
- w.forEach((D) => {
665
- const o = D.closest("thead") !== null;
666
- D.querySelectorAll(o ? "th" : "td").forEach((R, _) => {
667
- const A = k("col", _), H = k("row", _);
668
- R.appendChild(A), R.appendChild(H);
669
- });
670
- }), T();
671
- },
672
- cancelResizingChanges: () => {
673
- z();
674
- }
675
- };
676
- });
677
- function je(e) {
678
- if (e == null || e === "")
679
- return "";
680
- const n = String(e), m = Number(n);
681
- if (isNaN(m)) return n;
682
- const [t, x] = n.split("."), L = new Intl.NumberFormat("en-US").format(Number(t));
683
- return x !== void 0 ? `${L}.${x}` : L;
684
- }
685
- const ka = { class: "my-4" }, _a = {
686
- class: "border-b border-fm-color-neutral-gray-100 hover:bg-fm-color-opacity-sm",
687
- style: { backgroundColor: "#f9f9f9" }
688
- }, Ta = { class: "font-bold" }, Ra = { class: "text-fm-color-neutral-gray-300" }, Fa = /* @__PURE__ */ ee({
689
- __name: "WidgetTable",
690
- props: {
691
- modelValue: { required: !0 },
692
- modelModifiers: {}
693
- },
694
- emits: ["update:modelValue"],
695
- setup(e) {
696
- const { t: n, te: m } = Me(), t = te(e, "modelValue"), { country: x } = lt(), { isEditing: L, colWidths: S, rowHeight: T } = ze(St()), { setColWidths: z, setRowHeights: u, enableCellResizing: c } = St(), i = h(null), r = y(() => {
697
- var o;
698
- return ((o = t.value.data) == null ? void 0 : o.columns) || [{ label: "", key: "" }];
699
- }), b = y(() => {
700
- var o;
701
- return ((o = t.value.data) == null ? void 0 : o.rows) || [];
702
- }), f = y(() => t.value.filterText), g = y(() => {
703
- var o, v;
704
- if (!(f.value && f.value.trim().length > 0 || !((o = b.value[0]) != null && o.isRollup) && !((v = b.value[b.value.length - 1]) != null && v.isRollup))) {
705
- if (t.value.rollupPosition === Z.top || t.value.rollupPosition === void 0)
706
- return Z.top;
707
- if (t.value.rollupPosition === Z.bottom)
708
- return Z.bottom;
709
- }
710
- }), d = y(() => {
711
- const _ = g.value !== void 0 ? 1 : 0, A = (i.value ? i.value.$el.offsetHeight : 0) - 48;
712
- return Math.floor((A - 34.5 - 32) / 48) - _;
713
- }), E = y(() => {
714
- var v, R;
715
- let o = [];
716
- switch (g.value) {
717
- case Z.top:
718
- o = [...((v = b.value[0]) == null ? void 0 : v.cells) || []].map((_, A) => {
719
- var H;
720
- return {
721
- main: _,
722
- comparison: (H = b.value[0]) == null ? void 0 : H.comparisonCells[A],
723
- rowType: r.value[A].type
724
- };
725
- });
726
- break;
727
- case Z.bottom:
728
- o = [...((R = b.value[b.value.length - 1]) == null ? void 0 : R.cells) || []].map((_, A) => {
729
- var H;
730
- return {
731
- main: _,
732
- comparison: (H = b.value[0]) == null ? void 0 : H.comparisonCells[A],
733
- rowType: r.value[A].type
734
- };
735
- });
736
- break;
737
- }
738
- return o.length > 0 && o[0].main === "" && (o[0].main = "Grand total"), o;
739
- });
740
- function p(o) {
741
- const v = {};
742
- for (let R = 0; R < r.value.length; R++)
743
- if (r.value[R].key !== "") {
744
- const _ = o.comparisonCells[R];
745
- v[r.value[R].key] = {
746
- main: o.cells[R],
747
- comparison: _
748
- }, v.isRollup = o.isRollup;
749
- }
750
- return v;
751
- }
752
- function s(o) {
753
- return [...new Array(o < 0 ? 0 : o)].map(() => {
754
- var R;
755
- const v = {};
756
- if ((R = t.value.data) != null && R.columns)
757
- for (let _ = 0; _ < t.value.data.columns.length; _++)
758
- v[t.value.data.columns[_].key] = void 0;
759
- return v;
760
- });
761
- }
762
- function C(o) {
763
- let v = (o == null ? void 0 : o.main) || "";
764
- return v.includes("#") && !v.startsWith("#") && (v = v.split("#")[0]), !o || o.main === "" || o.comparison === "" ? {
765
- main: v
766
- } : {
767
- main: v,
768
- comparison: o == null ? void 0 : o.comparison,
769
- difference: Ft(o.main, o.comparison, x)
770
- };
771
- }
772
- const w = y(() => {
773
- var A, H, Y;
774
- let o = ((A = t.value.data) == null ? void 0 : A.rows) || [];
775
- switch (g.value) {
776
- case Z.bottom:
777
- o = (H = o[o.length - 1]) != null && H.isRollup ? o.slice(0, -1) : o;
778
- break;
779
- case Z.top:
780
- o = (Y = o[0]) != null && Y.isRollup ? o.slice(1, o.length) : o;
781
- break;
782
- }
783
- const v = o.filter((O) => !(f.value !== "" && (O.isRollup === !0 || !O.cells.some(
784
- (G) => {
785
- var j;
786
- return ((G == null ? void 0 : G.toLowerCase()) || "").includes((j = f.value) == null ? void 0 : j.toLowerCase());
787
- }
788
- )))).map((O) => p(O)), R = v.length % d.value;
789
- let _ = 0;
790
- return R > 0 ? _ = Math.abs(R - d.value) : v.length === 0 && (_ = d.value), v.push(...s(_)), v;
791
- }), k = y(
792
- () => {
793
- var o;
794
- return (((o = t.value.colWidths) == null ? void 0 : o.length) ?? 0) > 0 || S.value.length > 0;
795
- }
796
- ), D = y(() => {
797
- var v;
798
- let o = [];
799
- return (v = t.value.data) != null && v.columns && (o = [...t.value.data.columns.map((_) => {
800
- const A = Ce(n, m, _.label, "other");
801
- return {
802
- accessorKey: _.key,
803
- header: () => bt(
804
- "p",
805
- {
806
- class: `w-full ${_.type === "NUMERIC" ? "text-right" : ""} whitespace-nowrap`
807
- },
808
- A
809
- ),
810
- cell: (H) => {
811
- var G, j;
812
- const Y = C(H.getValue()), O = (j = (G = H == null ? void 0 : H.row) == null ? void 0 : G.original) == null ? void 0 : j.isRollup;
813
- return bt(
814
- "div",
815
- {
816
- class: [
817
- O ? "fm-typo-en-body-md-600 text-fm-color-typo-secondary" : "fm-typo-en-body-md-400",
818
- _.type === "NUMERIC" ? "text-right" : "",
819
- k.value ? "whitespace-normal break-words line-clamp-6" : "whitespace-nowrap"
820
- ].join(" ")
821
- },
822
- [_.type === "NUMERIC" ? je(Y.main) : Y.main]
823
- );
824
- },
825
- enableSorting: !1
826
- };
827
- })]), o;
828
- });
829
- return J(
830
- () => S.value.length > 0,
831
- async (o) => {
832
- o && L.value && (await X(), c());
833
- }
834
- ), J(
835
- [() => D.value],
836
- async () => {
837
- var A;
838
- await X();
839
- const o = (A = i.value) == null ? void 0 : A.$el;
840
- if (!o) return;
841
- const v = o.querySelector("table");
842
- if (!v) return;
843
- v.classList.add(k.value ? "table-fixed" : "table-auto");
844
- let R, _;
845
- L.value ? (c(), R = S.value, _ = T.value) : (_ = t.value.rowHeight, R = t.value.colWidths), typeof _ == "number" && u(_, o), R == null || R.forEach((H, Y) => {
846
- z(Y, H, o);
847
- });
848
- },
849
- { immediate: !0 }
850
- ), (o, v) => {
851
- const R = V("FmTable");
852
- return W(), N(oe, null, [
853
- P("div", ka, [
854
- pe(o.$slots, "menu")
855
- ]),
856
- B(R, {
857
- ref_key: "table",
858
- ref: i,
859
- "column-defs": D.value,
860
- "row-data": w.value,
861
- "search-value": f.value,
862
- "page-size": d.value,
863
- "shrink-at": !1,
864
- "force-mobile-footer": !0,
865
- class: "scrollbar-hide-table"
866
- }, {
867
- "pin-top": q(() => [
868
- P("tbody", null, [
869
- P("tr", _a, [
870
- (W(!0), N(oe, null, kt(E.value, (_, A) => (W(), N("td", {
871
- key: `${l($e)()}_${A}`,
872
- class: "h-[48px] text-fm-color-typo-primary px-16"
873
- }, [
874
- P("span", {
875
- class: Pe([
876
- "items-center text-fm-color-typo-secondary gap-2",
877
- _.rowType === "NUMERIC" ? "text-right" : "",
878
- k.value ? "whitespace-normal break-words line-clamp-6" : "whitespace-nowrap"
879
- ])
880
- }, [
881
- P("p", Ta, Le(_.rowType === "NUMERIC" ? l(je)(_.main) : _.main), 1),
882
- P("p", Ra, Le(_.comparison ? _.rowType === "NUMERIC" ? `(${l(je)(_.comparison)})` : `(${_.comparison})` : ""), 1)
883
- ], 2)
884
- ]))), 128))
885
- ])
886
- ])
887
- ]),
888
- _: 1
889
- }, 8, ["column-defs", "row-data", "search-value", "page-size"])
890
- ], 64);
891
- };
892
- }
893
- }), La = /* @__PURE__ */ ee({
894
- __name: "WidgetStackBarChart",
895
- props: /* @__PURE__ */ me({
896
- tileIndex: {}
897
- }, {
898
- modelValue: { required: !0 },
899
- modelModifiers: {}
900
- }),
901
- emits: ["update:modelValue"],
902
- setup(e) {
903
- const n = e, m = te(e, "modelValue"), t = h(null), x = y(() => {
904
- var E;
905
- return ((E = m.value.data) == null ? void 0 : E.xAxis) || [];
906
- }), L = y(() => {
907
- var d;
908
- return ((d = m.value.data) == null ? void 0 : d.datasets) ?? [];
909
- }), { datalabels: S, xCfg: T, yCfg: z, isTransposed: u, legend: c, chartWidth: i, chartHeight: r } = We(
910
- m.value
911
- ), b = y(() => L.value.length > 0 ? [
912
- ...L.value.map((d, E) => {
913
- let p = d.values;
914
- return {
915
- label: d.name,
916
- data: p,
917
- dash: !!d.isCompare,
918
- backgroundColor: Q({ index: E, isCompare: d.isCompare })
919
- };
920
- })
921
- ] : []), f = Ee();
922
- function g() {
923
- return f.extractChartSize(t.value, n.tileIndex) || { width: 0, height: 0 };
924
- }
925
- return ke(() => {
926
- X(() => {
927
- g();
928
- });
929
- }), J([b], () => {
930
- X(() => g());
931
- }), (d, E) => {
932
- const p = V("FmBarChart");
933
- return W(), N(oe, null, [
934
- pe(d.$slots, "menu"),
935
- B(p, {
936
- ref_key: "chartRef",
937
- ref: t,
938
- class: "bar-chart",
939
- datasets: b.value,
940
- "x-axis": { categories: x.value },
941
- "x-cfg": l(T),
942
- "y-cfg": l(z),
943
- transpose: l(u),
944
- stacked: !0,
945
- legend: {
946
- display: l(c).display ?? !1,
947
- position: l(c).position,
948
- maxHeight: l(c).maxHeight,
949
- maxWidth: l(c).maxWidth,
950
- labels: l(c).labels
951
- },
952
- datalabels: l(S),
953
- "maintain-aspect-ratio": !1,
954
- style: ne({
955
- "--chart-width": l(i) !== void 0 ? l(i) + "px" : "100%",
956
- "--chart-height": l(r) !== void 0 ? l(r) + "px" : "calc(100% - 36px)"
957
- })
958
- }, null, 8, ["datasets", "x-axis", "x-cfg", "y-cfg", "transpose", "legend", "datalabels", "style"])
959
- ], 64);
960
- };
961
- }
962
- }), za = /* @__PURE__ */ ee({
963
- __name: "WidgetStackLineChart",
964
- props: /* @__PURE__ */ me({
965
- tileIndex: {}
966
- }, {
967
- modelValue: { required: !0 },
968
- modelModifiers: {}
969
- }),
970
- emits: ["update:modelValue"],
971
- setup(e) {
972
- var p;
973
- const n = e, m = te(e, "modelValue"), t = ((p = m.value.data) == null ? void 0 : p.xAxis) ?? [], x = y(
974
- () => t.length === 1 && T.value.length > 0 && T.value.every((s) => s.values.length === 1)
975
- ), L = y(() => x.value ? ["", t[0], ""] : t), S = h(null), T = y(() => {
976
- var s;
977
- return ((s = m.value.data) == null ? void 0 : s.datasets) ?? [];
978
- }), { datalabels: z, xCfg: u, yCfg: c, isTransposed: i, legend: r, chartWidth: b, chartHeight: f } = We(
979
- m.value
980
- ), g = y(() => T.value.length > 0 ? [
981
- ...T.value.map((s, C) => {
982
- let w = s.values;
983
- return x.value && (w = [NaN, w[0], NaN]), {
984
- label: s.name,
985
- data: w,
986
- dash: s.isCompare,
987
- fill: !1,
988
- color: Q({ index: C, isCompare: s.isCompare }),
989
- pointRadius: x.value ? 4 : void 0,
990
- pointHoverRadius: x.value ? 6 : void 0,
991
- pointBackgroundColor: x.value ? Q({ index: C, isCompare: s.isCompare }) : void 0,
992
- pointBorderColor: x.value ? Q({ index: C, isCompare: s.isCompare }) : void 0,
993
- pointBorderWidth: x.value ? 2 : void 0
994
- };
995
- })
996
- ] : []), d = Ee();
997
- function E() {
998
- return d.extractChartSize(S.value, n.tileIndex) || { width: 0, height: 0 };
999
- }
1000
- return ke(() => {
1001
- X(() => {
1002
- E();
1003
- });
1004
- }), J([g], () => {
1005
- X(() => E());
1006
- }), (s, C) => {
1007
- const w = V("FmLineChart");
1008
- return W(), N(oe, null, [
1009
- pe(s.$slots, "menu"),
1010
- B(w, {
1011
- ref_key: "chartRef",
1012
- ref: S,
1013
- class: "line-chart",
1014
- datasets: g.value,
1015
- "x-axis": { categories: L.value },
1016
- "x-cfg": l(u),
1017
- "y-cfg": l(c),
1018
- transpose: l(i),
1019
- legend: {
1020
- display: l(r).display ?? !1,
1021
- position: l(r).position,
1022
- maxHeight: l(r).maxHeight,
1023
- maxWidth: l(r).maxWidth,
1024
- labels: l(r).labels
1025
- },
1026
- stacked: !0,
1027
- datalabels: l(z),
1028
- "maintain-aspect-ratio": !1,
1029
- style: ne({
1030
- "--chart-width": l(b) !== void 0 ? l(b) + "px" : "100%",
1031
- "--chart-height": l(f) !== void 0 ? l(f) + "px" : "calc(100% - 36px)"
1032
- })
1033
- }, null, 8, ["datasets", "x-axis", "x-cfg", "y-cfg", "transpose", "legend", "datalabels", "style"])
1034
- ], 64);
1035
- };
1036
- }
1037
- }), Se = [
1038
- "col-span-1",
1039
- "col-span-2",
1040
- "col-span-3",
1041
- "col-span-4",
1042
- "col-span-5",
1043
- "col-span-6",
1044
- "col-span-7",
1045
- "col-span-8",
1046
- "col-span-9",
1047
- "col-span-10",
1048
- "col-span-11",
1049
- "col-span-12"
1050
- ];
1051
- function Ea(e) {
1052
- return e < 12 ? Se[e - 1] : Se[11];
1053
- }
1054
- function Wa(e) {
1055
- return e < 12 ? Se[Math.min(11, e * 2 - 1)] : Se[11];
1056
- }
1057
- function Da(e) {
1058
- return e < 12 ? Se[Math.min(11, e * 3 - 1)] : Se[11];
1059
- }
1060
- const Aa = /* @__PURE__ */ ee({
1061
- __name: "WidgetLinechart",
1062
- props: /* @__PURE__ */ me({
1063
- tileIndex: {}
1064
- }, {
1065
- modelValue: { required: !0 },
1066
- modelModifiers: {}
1067
- }),
1068
- emits: ["update:modelValue"],
1069
- setup(e) {
1070
- var p;
1071
- const n = e, m = te(e, "modelValue"), t = ((p = m.value.data) == null ? void 0 : p.xAxis) ?? [], x = y(
1072
- () => t.length === 1 && T.value.length > 0 && T.value.every((s) => s.values.length === 1)
1073
- ), L = y(() => x.value ? ["", t[0], ""] : t), S = h(null), T = y(() => {
1074
- var s;
1075
- return ((s = m.value.data) == null ? void 0 : s.datasets) ?? [];
1076
- }), { datalabels: z, xCfg: u, yCfg: c, isTransposed: i, legend: r, chartWidth: b, chartHeight: f } = We(
1077
- m.value
1078
- ), g = y(() => T.value.length > 0 ? [
1079
- ...T.value.map((s, C) => {
1080
- let w = s.values;
1081
- return x.value && (w = [NaN, w[0], NaN]), {
1082
- label: s.name,
1083
- data: w,
1084
- dash: !!s.isCompare,
1085
- fill: !1,
1086
- color: Q({ index: C, isCompare: s.isCompare }),
1087
- pointRadius: x.value ? 4 : void 0,
1088
- pointHoverRadius: x.value ? 6 : void 0,
1089
- pointBackgroundColor: x.value ? Q({ index: C, isCompare: s.isCompare }) : void 0,
1090
- pointBorderColor: x.value ? Q({ index: C, isCompare: s.isCompare }) : void 0,
1091
- pointBorderWidth: x.value ? 2 : void 0
1092
- };
1093
- })
1094
- ] : []), d = Ee();
1095
- function E() {
1096
- return d.extractChartSize(S.value, n.tileIndex) || { width: 0, height: 0 };
1097
- }
1098
- return ke(() => {
1099
- X(() => {
1100
- E();
1101
- });
1102
- }), J([g], () => {
1103
- X(() => E());
1104
- }), (s, C) => {
1105
- const w = V("FmLineChart");
1106
- return W(), N(oe, null, [
1107
- pe(s.$slots, "menu"),
1108
- B(w, {
1109
- ref_key: "chartRef",
1110
- ref: S,
1111
- class: "line-chart",
1112
- datasets: g.value,
1113
- "x-axis": { categories: L.value },
1114
- "x-cfg": l(u),
1115
- "y-cfg": l(c),
1116
- transpose: l(i),
1117
- legend: {
1118
- display: l(r).display ?? !1,
1119
- position: l(r).position,
1120
- maxHeight: l(r).maxHeight,
1121
- maxWidth: l(r).maxWidth,
1122
- labels: l(r).labels
1123
- },
1124
- datalabels: l(z),
1125
- "maintain-aspect-ratio": !1,
1126
- style: ne({
1127
- "--chart-width": l(b) !== void 0 ? l(b) + "px" : "100%",
1128
- "--chart-height": l(f) !== void 0 ? l(f) + "px" : "calc(100% - 36px)"
1129
- })
1130
- }, null, 8, ["datasets", "x-axis", "x-cfg", "y-cfg", "transpose", "legend", "datalabels", "style"])
1131
- ], 64);
1132
- };
1133
- }
1134
- }), Va = { class: "flex flex-col gap-16" }, Ha = { class: "flex flex-row" }, Ba = /* @__PURE__ */ ee({
1135
- __name: "PdfOrientationDialog",
1136
- props: /* @__PURE__ */ me({
1137
- reportType: {},
1138
- index: {}
1139
- }, {
1140
- modelValue: { type: Boolean, required: !0 },
1141
- modelModifiers: {}
1142
- }),
1143
- emits: ["update:modelValue"],
1144
- setup(e) {
1145
- const { t: n } = Me(), { FmForm: m } = ra, t = e, x = h(), L = te(e, "modelValue"), S = h(!0), T = h(!1), z = Rt(), { selectedLocationIds: u, dateRange: c, timeRange: i } = ze(at()), r = h(Ye.PORTRAIT);
1146
- function b() {
1147
- var g;
1148
- (g = x.value) == null || g.validateInputs();
1149
- }
1150
- async function f() {
1151
- T.value = !0;
1152
- try {
1153
- t.index != null && await _t({
1154
- reportType: t.reportType,
1155
- index: t.index,
1156
- orientationTypes: [r.value],
1157
- isCombinedLocationLayout: S.value,
1158
- timeRange: i.value,
1159
- dateRange: c.value,
1160
- locationIds: u.value
1161
- });
1162
- } catch (g) {
1163
- z.open({ message: g.message, type: "error" });
1164
- } finally {
1165
- T.value = !1;
1166
- }
1167
- }
1168
- return (g, d) => {
1169
- const E = V("FmRadio"), p = V("FmRadioGroup"), s = V("FmButton"), C = V("FmDialog");
1170
- return W(), U(C, {
1171
- modelValue: L.value,
1172
- "onUpdate:modelValue": d[2] || (d[2] = (w) => L.value = w),
1173
- overlay: !0,
1174
- "z-index": 10
1175
- }, {
1176
- "dialog-header": q(() => d[3] || (d[3] = [
1177
- Qt("Select Orientation")
1178
- ])),
1179
- default: q(() => [
1180
- B(l(m), {
1181
- ref_key: "form",
1182
- ref: x,
1183
- onValidationSuccess: f
1184
- }, {
1185
- default: q(() => [
1186
- P("div", Va, [
1187
- B(p, {
1188
- modelValue: r.value,
1189
- "onUpdate:modelValue": d[0] || (d[0] = (w) => r.value = w)
1190
- }, {
1191
- default: q(() => [
1192
- B(E, {
1193
- value: l(Ye).PORTRAIT,
1194
- label: l(n)("report.common.portrait")
1195
- }, null, 8, ["value", "label"]),
1196
- B(E, {
1197
- value: l(Ye).LANDSCAPE,
1198
- label: l(n)("report.common.landscape")
1199
- }, null, 8, ["value", "label"])
1200
- ]),
1201
- _: 1
1202
- }, 8, ["modelValue"])
1203
- ]),
1204
- P("div", Ha, [
1205
- d[4] || (d[4] = P("div", { class: "grow" }, null, -1)),
1206
- B(s, {
1207
- label: l(n)("report.common.cancel"),
1208
- variant: "tertiary",
1209
- onClick: d[1] || (d[1] = (w) => L.value = !1)
1210
- }, null, 8, ["label"]),
1211
- P("div", null, [
1212
- B(s, {
1213
- label: l(n)("report.common.download"),
1214
- loading: T.value,
1215
- onClick: b
1216
- }, null, 8, ["label", "loading"])
1217
- ])
1218
- ])
1219
- ]),
1220
- _: 1
1221
- }, 512)
1222
- ]),
1223
- _: 1
1224
- }, 8, ["modelValue"]);
1225
- };
1226
- }
1227
- }), $a = {
1228
- key: 1,
1229
- class: "grow"
1230
- }, Pa = {
1231
- key: 2,
1232
- class: "flex"
1233
- }, ja = /* @__PURE__ */ ee({
1234
- __name: "DynamicWidget",
1235
- props: /* @__PURE__ */ me({
1236
- index: {
1237
- type: Number,
1238
- default: 0
1239
- },
1240
- hideExport: {
1241
- type: Boolean,
1242
- default: !1
1243
- },
1244
- customScreenWidth: {
1245
- type: Number,
1246
- required: !1,
1247
- default: void 0
1248
- }
1249
- }, {
1250
- modelValue: { required: !0, default: () => {
1251
- } },
1252
- modelModifiers: {}
1253
- }),
1254
- emits: ["update:modelValue"],
1255
- setup(e) {
1256
- const n = h(!0), m = te(e, "modelValue"), t = m.value.widget.config, { t: x, te: L } = Me(), S = e, T = h(null), z = h(t.rollup), u = h($e()), c = h(t.drillDimension), i = y(() => {
1257
- if (ce.value.length > 0) {
1258
- const a = ce.value.findIndex(
1259
- ($) => $.value === c.value
1260
- );
1261
- return a >= 0 ? a : 0;
1262
- } else
1263
- return -1;
1264
- }), r = y(() => i.value !== 0), b = y(
1265
- () => i.value != ce.value.length - 1
1266
- ), f = h(t.showTitle ?? !0), g = h(t.titleFontSize ?? 14), d = h(t.titleBold ?? !1), E = h(t.titleItalic ?? !1), p = h(t.titleUnderline ?? !1), s = h(t.chartWidth ?? void 0), C = h(t.chartHeight ?? void 0), w = h(t.showLabel ?? !1), k = h(t.labelAlign ?? Ze.center), D = h(t.labelAnchor ?? Ke.center), o = h(t.labelRotation ?? 0), v = h(t.labelOffset ?? 0), R = h(t.labelFontSize ?? 12), _ = y(() => t.showSearchBar), A = h(t.showX ?? !0), H = h(t.xPosition ?? Qe.bottom), Y = h(t.showXGrid ?? !1), O = h(t.showXTick ?? !0), G = h(t.xTickFontSize ?? 12), j = h(t.showXTitle ?? !1), De = h(t.xTitle ?? ""), Ae = h(t.xTitleFontSize ?? 12), Ve = h(t.showY ?? !0), _e = h(t.yPosition ?? et.left), Te = h(t.showYGrid ?? !1), fe = h(t.showYTick ?? !0), se = h(t.yTickFontSize ?? 12), re = h(t.showYTitle ?? !1), ae = h(t.yTitle ?? ""), ve = h(t.yTitleFontSize ?? 12), le = h(t.showLegend ?? void 0), ie = h(t.legendPosition ?? tt.top), ue = h(t.usePointStyle ?? !0), Ne = h(t.legendMaxHeight), ot = h(t.legendMaxWidth), nt = h(t.rowHeight ?? 0), st = h(t.colWidths ?? []), Ie = h(!1), qe = h(""), { breakpoints: ge, getBreakpointsBoundary: Re } = Tt(), rt = h(), I = y(
1267
- () => S.customScreenWidth === void 0 ? window.innerWidth : S.customScreenWidth
1268
- ), Lt = y(
1269
- () => (I == null ? void 0 : I.value) > Re("xs")[1] && (I == null ? void 0 : I.value) <= Re("sm")[1]
1270
- ), zt = y(
1271
- () => (I == null ? void 0 : I.value) > Re("sm")[1] && (I == null ? void 0 : I.value) <= Re("md")[1]
1272
- ), Et = y(() => (I == null ? void 0 : I.value) > Re("md")[1]), Wt = y(() => {
1273
- const a = m.value.size.width;
1274
- return Et.value || zt.value ? Ea(a) : Lt.value ? Wa(a) : Da(a);
1275
- }), He = y(
1276
- () => ua.find((a) => a.type === m.value.widget.type)
1277
- ), ye = wt(() => {
1278
- var a;
1279
- rt.value = Mt((a = T.value) == null ? void 0 : a.$el.offsetWidth), u.value = $e();
1280
- }), Dt = y(() => {
1281
- if (ca(M.value.type, be.value))
1282
- switch (m.value.widget.type) {
1283
- case F.BarChart:
1284
- return ha;
1285
- case F.StackBarChart:
1286
- return La;
1287
- case F.LineChart:
1288
- return Aa;
1289
- case F.StackLineChart:
1290
- return za;
1291
- case F.Circular:
1292
- return ma;
1293
- case F.Scorecard:
1294
- return ba;
1295
- case F.Spacer:
1296
- return Ca;
1297
- case F.Table:
1298
- return Fa;
1299
- default:
1300
- return xt;
1301
- }
1302
- else
1303
- return xt;
1304
- }), be = h(null), {
1305
- selectedLocationIds: Oe,
1306
- dateRange: it,
1307
- compareDateRange: At,
1308
- timeRange: ut,
1309
- globalFilters: Vt,
1310
- isGlobalFiltersLoading: Ue
1311
- } = ze(at()), { businessId: Ht } = ze(lt()), Bt = h(!0), M = y(() => {
1312
- const a = JSON.parse(JSON.stringify(m.value.widget));
1313
- return {
1314
- ...a,
1315
- config: {
1316
- ...a.config,
1317
- rollup: z.value,
1318
- drillDimension: c.value,
1319
- showGrandTotal: !1
1320
- }
1321
- };
1322
- });
1323
- function $t() {
1324
- return {
1325
- data: be.value,
1326
- showTitle: f.value,
1327
- titleFontSize: g.value,
1328
- titleBold: d.value,
1329
- titleItalic: E.value,
1330
- titleUnderline: p.value,
1331
- chartHeight: C.value,
1332
- chartWidth: s.value,
1333
- showLabel: w.value,
1334
- labelAnchor: D.value,
1335
- labelAlign: k.value,
1336
- labelRotation: o.value,
1337
- labelOffset: v.value,
1338
- labelFontSize: R.value,
1339
- showX: A.value,
1340
- xPosition: H.value,
1341
- showXGrid: Y.value,
1342
- showXTick: O.value,
1343
- xTickFontSize: G.value,
1344
- showXTitle: j.value,
1345
- xTitle: De.value,
1346
- xTitleFontSize: Ae.value,
1347
- showY: Ve.value,
1348
- yPosition: _e.value,
1349
- showYGrid: Te.value,
1350
- showYTick: fe.value,
1351
- yTitle: ae.value,
1352
- showYTitle: re.value,
1353
- yTitleFontSize: ve.value,
1354
- yTickFontSize: se.value,
1355
- isTransposed: M.value.config.isTransposed,
1356
- showLegend: le.value,
1357
- legendPosition: ie.value,
1358
- usePointStyle: ue.value,
1359
- legendMaxHeight: Ne.value,
1360
- legendMaxWidth: ot.value
1361
- };
1362
- }
1363
- function Pt() {
1364
- return {
1365
- data: be.value,
1366
- filterText: qe.value,
1367
- rollupPosition: M.value.config.rollupPosition,
1368
- rowHeight: nt.value,
1369
- colWidths: st.value
1370
- };
1371
- }
1372
- const ct = y(() => {
1373
- switch (M.value.type) {
1374
- case F.Table:
1375
- return Pt();
1376
- case F.BarChart:
1377
- case F.LineChart:
1378
- case F.StackBarChart:
1379
- case F.StackLineChart:
1380
- case F.Circular:
1381
- return $t();
1382
- default:
1383
- return { data: be.value };
1384
- }
1385
- }), dt = y(() => {
1386
- const { config: a } = m.value.widget;
1387
- if (a.rollup != null) {
1388
- const $ = [...a.dimensions].filter((de) => !de.hide);
1389
- return $.sort(
1390
- (de, Fe) => (a.rowIds || []).indexOf(Ge(de)) - (a.rowIds || []).indexOf(Ge(Fe))
1391
- ), [
1392
- { label: Ce(x, L, "None", "other"), value: "none" },
1393
- { label: Ce(x, L, "Grand Total", "other"), value: 0 },
1394
- ...[...$].slice(0, $.length - 1).map((de, Fe) => ({
1395
- label: Ce(x, L, de.label, "other"),
1396
- value: Fe + 1
1397
- }))
1398
- ];
1399
- }
1400
- return [];
1401
- }), ce = y(() => {
1402
- const { config: a } = M.value;
1403
- return a.isDrillable ? a.dimensions.map(($) => ({
1404
- label: Ce(x, L, $.label, "other"),
1405
- value: Ge($)
1406
- })) : [];
1407
- });
1408
- J(
1409
- () => m.value.widget.config,
1410
- (a) => {
1411
- z.value = a.rollup, f.value = a.showTitle ?? !0, g.value = a.titleFontSize ?? 14, d.value = a.titleBold ?? !1, E.value = a.titleItalic ?? !1, p.value = a.titleUnderline ?? !1, C.value = a.chartHeight ?? void 0, s.value = a.chartWidth ?? void 0, w.value = a.showLabel ?? !1, k.value = a.labelAlign ?? Ze.center, D.value = a.labelAnchor ?? Ke.center, o.value = a.labelRotation ?? 0, v.value = a.labelOffset ?? 0, R.value = a.labelFontSize ?? 12, A.value = a.showX ?? !0, H.value = a.xPosition ?? Qe.bottom, Y.value = a.showXGrid ?? !1, O.value = a.showXTick ?? !0, G.value = a.xTickFontSize ?? 12, j.value = a.showXTitle ?? !1, De.value = a.xTitle ?? "", Ae.value = a.xTitleFontSize ?? 12, Ve.value = a.showY ?? !0, _e.value = a.yPosition ?? et.left, Te.value = a.showYGrid ?? !1, fe.value = a.showYTick ?? !0, se.value = a.yTickFontSize ?? 12, re.value = a.showYTitle ?? !1, ae.value = a.yTitle ?? "", ve.value = a.yTitleFontSize ?? 12, le.value = a.showLegend ?? void 0, ie.value = a.legendPosition ?? tt.top, ue.value = a.usePointStyle ?? !0, Ne.value = a.legendMaxHeight, ot.value = a.legendMaxWidth, nt.value = a.rowHeight ?? 0, st.value = a.colWidths ?? [];
1412
- },
1413
- { deep: !0 }
1414
- ), J([() => z.value], () => {
1415
- z.value !== null && (m.value.widget.config.rollup = z.value);
1416
- }), J(
1417
- [
1418
- () => M.value,
1419
- () => it.value,
1420
- () => ut.value,
1421
- () => At.value,
1422
- () => Oe.value,
1423
- () => Ht.value,
1424
- () => Vt.value,
1425
- () => Ue.value
1426
- ],
1427
- () => {
1428
- mt();
1429
- },
1430
- {
1431
- deep: !0
1432
- }
1433
- ), J(
1434
- [() => m.value.size],
1435
- () => {
1436
- ye();
1437
- },
1438
- { deep: !0 }
1439
- ), ke(() => {
1440
- ye(), ge.value.sm || ge.value.md || ge.value.xs ? (console.log("Ignoring resize event due to keyboard"), addEventListener("change", ye)) : addEventListener("resize", ye), mt();
1441
- }), ea(() => {
1442
- ge.value.sm || ge.value.md || ge.value.xs ? (console.log("Ignoring resize event due to keyboard"), removeEventListener("change", ye)) : removeEventListener("resize", ye);
1443
- });
1444
- const ht = Rt();
1445
- let Be;
1446
- async function mt() {
1447
- if (Oe.value.length === 0 || Ue.value) {
1448
- n.value = !1;
1449
- return;
1450
- }
1451
- if (M.value.config.schemaNames.length <= 0 && !(M.value.config.dimensions.length <= 0 || M.value.config.metrics.length <= 0)) {
1452
- ht.open({
1453
- message: "schema must not be empty and dimension or metrics must have at least 1 column",
1454
- type: "info"
1455
- }), n.value = !1;
1456
- return;
1457
- }
1458
- try {
1459
- n.value = !0, Be && Be.abort(), Be = new AbortController();
1460
- const a = Be.signal;
1461
- be.value = await wt(oa, 500)(M.value, a, m.value.id), u.value = $e(), n.value = !1;
1462
- } catch (a) {
1463
- a.code !== "ERR_CANCELED" && (be.value = null, ht.open({ message: `Invalid chart ${M.value.type}`, type: "error" }), console.log(a), n.value = !1);
1464
- }
1465
- }
1466
- function Mt(a) {
1467
- switch (m.value.widget.type) {
1468
- case "SPACER":
1469
- return;
1470
- case "SCORECARD":
1471
- return;
1472
- case "TABLE":
1473
- return `${m.value.size.height * 100 + (_.value ? 72 : 0) + 96.5}px`;
1474
- }
1475
- return `${Math.max(a / m.value.size.width, 90) * m.value.size.height}px`;
1476
- }
1477
- function Nt() {
1478
- const a = i.value - 1;
1479
- a >= 0 && (c.value = ce.value[a].value);
1480
- }
1481
- function It() {
1482
- const a = i.value + 1;
1483
- a >= 0 && a < ce.value.length && (c.value = ce.value[a].value);
1484
- }
1485
- const pt = h(xe.EXCEL), ft = h(), qt = Object.values(xe).map((a) => ({
1486
- label: na(a),
1487
- value: a,
1488
- onClick: async () => {
1489
- a === xe.EXCEL || a === xe.PDFFULLSIZE || a === xe.PDFRECEIPT ? await _t({
1490
- reportType: a,
1491
- index: S.index,
1492
- isCombinedLocationLayout: Bt.value,
1493
- timeRange: ut.value,
1494
- dateRange: it.value,
1495
- locationIds: Oe.value
1496
- }) : a === xe.PDF && (pt.value = a, ft.value = S.index, Ie.value = !0);
1497
- }
1498
- })), Ot = M.value.type === F.Spacer ? "flat" : "outlined", Ut = M.value.type === F.Spacer ? "p-0" : "p-16";
1499
- return (a, $) => {
1500
- const de = V("FmTooltip"), Fe = V("FmSearch"), Xt = V("FmCheckbox"), Xe = V("FmButton"), Yt = V("FmSelect"), Gt = V("FmMenuItem"), jt = V("FmMenu"), Jt = V("FmForm"), Kt = V("FmCircularProgress"), Zt = V("FmCard");
1501
- return W(), U(Zt, {
1502
- ref_key: "tileCard",
1503
- ref: T,
1504
- class: Pe(`${Wt.value} ${l(Ut)}`),
1505
- variant: l(Ot)
1506
- }, {
1507
- default: q(() => [
1508
- B(Ba, {
1509
- modelValue: Ie.value,
1510
- "onUpdate:modelValue": $[0] || ($[0] = (we) => Ie.value = we),
1511
- "report-type": pt.value,
1512
- index: ft.value
1513
- }, null, 8, ["modelValue", "report-type", "index"]),
1514
- !n.value && !l(Ue) ? (W(), N("div", {
1515
- key: 0,
1516
- style: ne({ height: rt.value })
1517
- }, [
1518
- (W(), U(ta(Dt.value), {
1519
- key: u.value,
1520
- modelValue: ct.value,
1521
- "onUpdate:modelValue": $[4] || ($[4] = (we) => ct.value = we),
1522
- "tile-index": S.index
1523
- }, {
1524
- menu: q(() => [
1525
- B(Jt, { class: "flex items-center gap-2" }, {
1526
- default: q(() => {
1527
- var we, vt, gt, yt;
1528
- return [
1529
- B(de, {
1530
- variant: "plain",
1531
- placement: "right",
1532
- content: M.value.description,
1533
- "hide-arrow": !0,
1534
- disabled: !M.value.description
1535
- }, {
1536
- default: q(() => [
1537
- f.value !== !1 ? (W(), N("p", {
1538
- key: 0,
1539
- style: ne({
1540
- fontSize: g.value + "px",
1541
- fontWeight: d.value ? "bold" : "normal",
1542
- fontStyle: E.value ? "italic" : "normal",
1543
- textDecoration: p.value ? "underline" : "none"
1544
- }),
1545
- class: Pe(["text-fm-color-typo-secondary line-clamp-1", [
1546
- g.value <= 18 ? "fm-typo-en-body-md-400" : "",
1547
- M.value.description ? "border-b-2 border-dashed border-gray-300" : ""
1548
- ]])
1549
- }, Le(l(Ce)(l(x), l(L), M.value.title, "other")), 7)) : he("", !0)
1550
- ]),
1551
- _: 1
1552
- }, 8, ["content", "disabled"]),
1553
- (we = He.value) != null && we.showSearchBar ? (W(), U(Fe, {
1554
- key: 0,
1555
- modelValue: qe.value,
1556
- "onUpdate:modelValue": $[1] || ($[1] = (K) => qe.value = K),
1557
- class: "grow"
1558
- }, null, 8, ["modelValue"])) : (W(), N("div", $a)),
1559
- aa(B(Xt, {
1560
- modelValue: w.value,
1561
- "onUpdate:modelValue": $[2] || ($[2] = (K) => w.value = K),
1562
- label: "Label",
1563
- value: !1
1564
- }, null, 8, ["modelValue"]), [
1565
- [la, (vt = He.value) == null ? void 0 : vt.showLabel]
1566
- ]),
1567
- (gt = He.value) != null && gt.showDrillDimension && ce.value.length > 0 ? (W(), N("div", Pa, [
1568
- B(Xe, {
1569
- icon: "arrow_upward",
1570
- variant: "tertiary",
1571
- disabled: !r.value,
1572
- onClick: Nt
1573
- }, null, 8, ["disabled"]),
1574
- B(Xe, {
1575
- icon: "arrow_downward",
1576
- variant: "tertiary",
1577
- disabled: !b.value,
1578
- onClick: It
1579
- }, null, 8, ["disabled"])
1580
- ])) : he("", !0),
1581
- (yt = He.value) != null && yt.showRollup && dt.value.length > 0 ? (W(), U(Yt, {
1582
- key: 3,
1583
- modelValue: z.value,
1584
- "onUpdate:modelValue": $[3] || ($[3] = (K) => z.value = K),
1585
- class: "w-[150px]",
1586
- items: dt.value
1587
- }, null, 8, ["modelValue", "items"])) : he("", !0),
1588
- S.hideExport ? he("", !0) : (W(), U(jt, {
1589
- key: 4,
1590
- shift: !0
1591
- }, {
1592
- "menu-button": q(() => [
1593
- B(Xe, {
1594
- icon: "more_vert",
1595
- variant: "tertiary"
1596
- })
1597
- ]),
1598
- default: q(() => [
1599
- (W(!0), N(oe, null, kt(l(qt), (K) => (W(), U(Gt, {
1600
- key: K.value,
1601
- label: K.label,
1602
- onClick: K.onClick
1603
- }, null, 8, ["label", "onClick"]))), 128))
1604
- ]),
1605
- _: 1
1606
- }))
1607
- ];
1608
- }),
1609
- _: 1
1610
- })
1611
- ]),
1612
- _: 1
1613
- }, 8, ["modelValue", "tile-index"]))
1614
- ], 4)) : (W(), U(Kt, { key: 1 }))
1615
- ]),
1616
- _: 1
1617
- }, 8, ["class", "variant"]);
1618
- };
1619
- }
1620
- });
1621
- export {
1622
- Ze as L,
1623
- Z as R,
1624
- ja as _,
1625
- Ke as a,
1626
- Ge as g,
1627
- St as u
1628
- };