vue-data-ui 2.2.92 → 2.2.93

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 (58) hide show
  1. package/dist/index-DZlxUin4.js +57288 -0
  2. package/dist/{index.es-Dc9Fd4o6.js → index.es-Cgqo-FBk.js} +1 -1
  3. package/dist/style.css +1 -1
  4. package/dist/vue-data-ui.js +61 -455
  5. package/package.json +1 -1
  6. package/dist/data-table-d-VcuH-r.js +0 -1488
  7. package/dist/legend-DJCYLsl_.js +0 -61
  8. package/dist/themes-lgjsYHsH.js +0 -4967
  9. package/dist/title-BF-9Qcni.js +0 -56
  10. package/dist/tooltip-D85WEOKi.js +0 -94
  11. package/dist/user-options-DZgCz8UA.js +0 -415
  12. package/dist/vue-ui-3d-bar-DW7kGJSz.js +0 -20360
  13. package/dist/vue-ui-age-pyramid-4hcuKpFY.js +0 -781
  14. package/dist/vue-ui-annotator-C83FVvl8.js +0 -2175
  15. package/dist/vue-ui-candlestick-diclGj95.js +0 -807
  16. package/dist/vue-ui-chestnut-ACetHLdG.js +0 -1049
  17. package/dist/vue-ui-cursor-Rx7UNaYT.js +0 -229
  18. package/dist/vue-ui-dashboard-B3PlN0ks.js +0 -231
  19. package/dist/vue-ui-digits-CxMXID42.js +0 -154
  20. package/dist/vue-ui-donut-DMiwVXNd.js +0 -1534
  21. package/dist/vue-ui-dumbbell-B_X1T8TR.js +0 -621
  22. package/dist/vue-ui-flow-B72wzQ6V.js +0 -451
  23. package/dist/vue-ui-galaxy-DXX5yivT.js +0 -482
  24. package/dist/vue-ui-gauge-Cs9PDurH.js +0 -466
  25. package/dist/vue-ui-heatmap-PcoNSLdN.js +0 -581
  26. package/dist/vue-ui-kpi-DchEmPtB.js +0 -55
  27. package/dist/vue-ui-mini-loader-DltJLkqy.js +0 -131
  28. package/dist/vue-ui-molecule-CWvukBzs.js +0 -746
  29. package/dist/vue-ui-mood-radar-DEfdtIi8.js +0 -544
  30. package/dist/vue-ui-nested-donuts-9URpqgXE.js +0 -768
  31. package/dist/vue-ui-onion-C0eowUT6.js +0 -551
  32. package/dist/vue-ui-parallel-coordinate-plot-Bc_pAaPJ.js +0 -647
  33. package/dist/vue-ui-quadrant-_ddVAm9V.js +0 -1174
  34. package/dist/vue-ui-quick-chart-Cio0hDYO.js +0 -1310
  35. package/dist/vue-ui-radar-Dyg38i33.js +0 -853
  36. package/dist/vue-ui-rating-CE1Lmwd2.js +0 -271
  37. package/dist/vue-ui-relation-circle-BMlB3k3d.js +0 -303
  38. package/dist/vue-ui-rings-BuXeijvb.js +0 -507
  39. package/dist/vue-ui-scatter-B1hZfOua.js +0 -870
  40. package/dist/vue-ui-screenshot-0QXgxzGs.js +0 -160
  41. package/dist/vue-ui-smiley-B7kR7exr.js +0 -763
  42. package/dist/vue-ui-spark-trend-BmL2KiYL.js +0 -245
  43. package/dist/vue-ui-sparkgauge-BMzFv14L.js +0 -158
  44. package/dist/vue-ui-sparkhistogram-DWpOXqHm.js +0 -243
  45. package/dist/vue-ui-sparkstackbar-DB9VQXlc.js +0 -244
  46. package/dist/vue-ui-strip-plot-DyN6P0JO.js +0 -614
  47. package/dist/vue-ui-table-DM3zL89q.js +0 -2180
  48. package/dist/vue-ui-table-heatmap-gWx0Nslu.js +0 -237
  49. package/dist/vue-ui-thermometer-Bcqv5kd_.js +0 -384
  50. package/dist/vue-ui-timer-BIFxjujK.js +0 -451
  51. package/dist/vue-ui-tiremarks-zBwHpED_.js +0 -248
  52. package/dist/vue-ui-treemap-BaplVc_z.js +0 -719
  53. package/dist/vue-ui-vertical-bar-CdK6ZJPM.js +0 -734
  54. package/dist/vue-ui-waffle-COOzH7M3.js +0 -635
  55. package/dist/vue-ui-wheel-BEpuVTBk.js +0 -226
  56. package/dist/vue-ui-word-cloud-DNqxAAiX.js +0 -344
  57. package/dist/vue-ui-xy-_mHq-czW.js +0 -2058
  58. package/dist/vue-ui-xy-canvas-DqX8Gee5.js +0 -1003
@@ -1,2180 +0,0 @@
1
- import { computed as O, ref as M, onMounted as fe, openBlock as o, createElementBlock as i, normalizeStyle as g, renderSlot as K, normalizeProps as me, guardReactiveProps as _e, createElementVNode as u, toDisplayString as c, createCommentVNode as y, unref as G, Fragment as k, renderList as L, createBlock as oe, useCssVars as Ae, normalizeClass as A, createSlots as De, withCtx as ne, nextTick as Me, createTextVNode as P, withDirectives as q, vModelText as $, withKeys as ee, withModifiers as te, vModelSelect as Ge, createStaticVNode as Te, pushScopeId as ze, popScopeId as Pe } from "vue";
2
- import { t as pe } from "./themes-lgjsYHsH.js";
3
- import { u as ie } from "./title-BF-9Qcni.js";
4
- import { _ as de, e as Ne, i as ke, j as ue, k as Ce, x as re, R as Ie, S as Fe, X as Ee, o as ae, N as ve, n as be, f as Be, p as se, g as Re, h as we, B as He, v as Se, w as xe, t as Ue, m as Ve, c as We } from "./data-table-d-VcuH-r.js";
5
- import { u as he, S as je, a as Xe } from "./vue-ui-3d-bar-DW7kGJSz.js";
6
- import { U as Ye } from "./user-options-DZgCz8UA.js";
7
- const Ze = ["id"], qe = ["xmlns", "viewBox"], Ke = ["id"], Je = ["stop-color"], Qe = ["stop-color"], $e = ["id"], et = ["stop-color"], tt = ["stop-color"], st = ["id"], lt = ["stop-color"], nt = ["stop-color"], rt = { key: 0 }, at = ["d", "fill"], ot = ["d", "fill"], it = ["d", "stroke", "stroke-width"], ut = ["x1", "x2", "y1", "y2", "stroke", "stroke-width"], ct = ["x", "y", "width", "height", "fill", "rx"], dt = ["x1", "x2", "y1", "y2", "stroke", "stroke-width", "stroke-dasharray"], ht = ["x1", "x2", "y1", "y2", "stroke", "stroke-dasharray", "stroke-width"], gt = ["cx", "cy", "r", "fill", "stroke", "stroke-width"], yt = ["x", "y", "font-size", "font-weight", "fill"], vt = ["x", "y", "height", "width", "onMouseenter", "onClick"], bt = {
8
- __name: "vue-ui-sparkline",
9
- props: {
10
- config: {
11
- type: Object,
12
- default() {
13
- return {};
14
- }
15
- },
16
- dataset: {
17
- type: Array,
18
- default() {
19
- return [];
20
- }
21
- },
22
- showInfo: {
23
- type: Boolean,
24
- default: !0
25
- },
26
- selectedIndex: {
27
- type: Number,
28
- default: void 0
29
- }
30
- },
31
- emits: ["hoverIndex", "selectDatapoint"],
32
- setup(n, { emit: r }) {
33
- const a = n, { vue_ui_sparkline: d } = he(), t = O(() => !!a.dataset && a.dataset.length), e = M(Ne()), l = O(() => {
34
- const _ = ie({
35
- userConfig: a.config,
36
- defaultConfig: d
37
- });
38
- return _.theme ? {
39
- ...ie({
40
- userConfig: pe.vue_ui_sparkline[_.theme] || a.config,
41
- defaultConfig: _
42
- })
43
- } : _;
44
- }), s = M(a.dataset.map((_) => l.value.style.animation.show ? {
45
- ..._,
46
- value: null
47
- } : {
48
- ..._,
49
- value: [void 0].includes(_.value) ? null : _.value
50
- }));
51
- fe(() => {
52
- if (ke(a.dataset) ? ue({
53
- componentName: "VueUiSparkline",
54
- type: "dataset"
55
- }) : a.dataset.forEach((_, I) => {
56
- Ce({
57
- datasetObject: _,
58
- requiredAttributes: ["period", "value"]
59
- }).forEach((b) => {
60
- ue({
61
- componentName: "VueUiSparkline",
62
- type: "datasetSerieAttribute",
63
- property: b,
64
- index: I
65
- });
66
- });
67
- }), l.value.style.animation.show && a.dataset.length > 1) {
68
- let b = function() {
69
- I < a.dataset.length ? (s.value.push(a.dataset[I]), setTimeout(() => {
70
- requestAnimationFrame(b);
71
- }, _)) : s.value = a.dataset, I += 1;
72
- };
73
- s.value = [];
74
- const _ = l.value.style.animation.animationFrames / a.dataset.length;
75
- let I = 0;
76
- b();
77
- }
78
- });
79
- const h = M({
80
- height: 80,
81
- width: 500
82
- }), f = M(6), m = O(() => ({
83
- top: 12,
84
- left: 0,
85
- right: h.value.width,
86
- bottom: h.value.height - 3,
87
- start: a.showInfo && l.value.style.dataLabel.show && l.value.style.dataLabel.position === "left" ? h.value.width - l.value.style.chartWidth : 30,
88
- width: a.showInfo && l.value.style.dataLabel.show ? l.value.style.chartWidth : h.value.width - 30,
89
- height: h.value.height - 12
90
- })), B = O(() => Math.min(...s.value.map((_) => isNaN(_.value) || [void 0, null, "NaN", NaN, 1 / 0, -1 / 0].includes(_.value) ? 0 : _.value || 0))), D = O(() => Math.max(...s.value.map((_) => isNaN(_.value) || [void 0, null, "NaN", NaN, 1 / 0, -1 / 0].includes(_.value) ? 0 : _.value || 0))), T = O(() => {
91
- const _ = B.value >= 0 ? 0 : B.value;
92
- return Math.abs(_);
93
- }), j = O(() => D.value + T.value + f.value), z = O(() => m.value.bottom - m.value.height * X(T.value));
94
- function X(_) {
95
- return _ / j.value;
96
- }
97
- const H = O(() => a.dataset.length - 1), C = O(() => s.value.map((_, I) => {
98
- const b = isNaN(_.value) || [void 0, null, "NaN", NaN, 1 / 0, -1 / 0].includes(_.value) ? 0 : _.value || 0;
99
- return {
100
- absoluteValue: b,
101
- period: _.period,
102
- plotValue: b + T.value,
103
- toMax: X(b + T.value),
104
- x: m.value.start + I * (m.value.width / (H.value + 1) > 30 ? 30 : m.value.width / (H.value + 1)),
105
- y: m.value.bottom - m.value.height * X(b + T.value),
106
- id: `plot_${e.value}_${I}`,
107
- color: W.value ? l.value.style.bar.color : l.value.style.area.useGradient ? re(l.value.style.line.color, 0.05 * (1 - I / H.value)) : l.value.style.line.color,
108
- width: m.value.width / (H.value + 1) > 30 ? 30 : m.value.width / (H.value + 1)
109
- };
110
- })), Y = O(() => {
111
- const _ = { x: C.value[0].x, y: h.value.height - 6 }, I = { x: C.value[C.value.length - 1].x, y: h.value.height - 6 }, b = [];
112
- return C.value.forEach((w) => {
113
- b.push(`${w.x},${w.y} `);
114
- }), [_.x, _.y, ...b, I.x, I.y].toString();
115
- }), E = M(void 0);
116
- function Z(_, I) {
117
- E.value = _, r("hoverIndex", { index: I });
118
- }
119
- function J() {
120
- E.value = void 0, r("hoverIndex", { index: void 0 });
121
- }
122
- const R = O(() => {
123
- if (t.value) {
124
- const _ = C.value.map((b) => b.absoluteValue), I = _.reduce((b, w) => b + w, 0);
125
- return {
126
- latest: C.value[C.value.length - 1].absoluteValue,
127
- sum: I,
128
- average: I / C.value.length,
129
- median: Ie(_),
130
- trend: Fe(C.value.map(({ x: b, y: w, absoluteValue: le }) => ({
131
- x: b,
132
- y: w,
133
- value: le
134
- }))).trend
135
- };
136
- } else
137
- return {
138
- latest: null,
139
- sum: null,
140
- average: null,
141
- median: null,
142
- trend: null
143
- };
144
- }), Q = O(() => t.value ? l.value.style.dataLabel.valueType === "latest" ? R.value.latest : l.value.style.dataLabel.valueType === "sum" ? R.value.sum : l.value.style.dataLabel.valueType === "average" ? R.value.average : 0 : 0), W = O(() => l.value.type && l.value.type === "bar");
145
- function ce(_, I) {
146
- r("selectDatapoint", { datapoint: _, index: I });
147
- }
148
- return (_, I) => (o(), i("div", {
149
- class: "vue-ui-sparkline",
150
- id: e.value,
151
- style: g(`width:100%;font-family:${l.value.style.fontFamily}`)
152
- }, [
153
- K(_.$slots, "before", me(_e({
154
- selected: E.value,
155
- latest: R.value.latest,
156
- sum: R.value.sum,
157
- average: R.value.average,
158
- median: R.value.median,
159
- trend: R.value.trend
160
- })), void 0, !0),
161
- l.value.style.title.show && n.showInfo ? (o(), i("div", {
162
- key: 0,
163
- class: "vue-ui-sparkline-title",
164
- style: g(`display:flex;align-items:center;width:100%;color:${l.value.style.title.color};background:${l.value.style.backgroundColor};justify-content:${l.value.style.title.textAlign === "left" ? "flex-start" : l.value.style.title.textAlign === "right" ? "flex-end" : "center"};height:${l.value.style.title.fontSize * 2}px;font-size:${l.value.style.title.fontSize}px;font-weight:${l.value.style.title.bold ? "bold" : "normal"};`)
165
- }, [
166
- u("span", {
167
- style: g(`padding:${l.value.style.title.textAlign === "left" ? "0 0 0 12px" : l.value.style.title.textAlign === "right" ? "0 12px 0 0" : "0"}`)
168
- }, c(E.value ? E.value.period : l.value.style.title.text), 5)
169
- ], 4)) : y("", !0),
170
- t.value ? (o(), i("svg", {
171
- key: 1,
172
- xmlns: G(Ee),
173
- viewBox: `0 0 ${h.value.width} ${h.value.height}`,
174
- style: g(`background:${l.value.style.backgroundColor};overflow:visible`)
175
- }, [
176
- u("defs", null, [
177
- u("linearGradient", {
178
- x1: "0%",
179
- y1: "0%",
180
- x2: "100%",
181
- y2: "0%",
182
- id: `sparkline_gradient_${e.value}`
183
- }, [
184
- u("stop", {
185
- offset: "0%",
186
- "stop-color": `${G(re)(l.value.style.area.color, 0.05)}${G(ae)[l.value.style.area.opacity]}`
187
- }, null, 8, Je),
188
- u("stop", {
189
- offset: "100%",
190
- "stop-color": l.value.style.area.color + G(ae)[l.value.style.area.opacity]
191
- }, null, 8, Qe)
192
- ], 8, Ke),
193
- u("linearGradient", {
194
- x2: "0%",
195
- y2: "100%",
196
- id: `sparkline_bar_gradient_pos_${e.value}`
197
- }, [
198
- u("stop", {
199
- offset: "0%",
200
- "stop-color": l.value.style.bar.color
201
- }, null, 8, et),
202
- u("stop", {
203
- offset: "100%",
204
- "stop-color": `${G(re)(l.value.style.bar.color, 0.05)}`
205
- }, null, 8, tt)
206
- ], 8, $e),
207
- u("linearGradient", {
208
- x2: "0%",
209
- y2: "100%",
210
- id: `sparkline_bar_gradient_neg_${e.value}`
211
- }, [
212
- u("stop", {
213
- offset: "0%",
214
- "stop-color": `${G(re)(l.value.style.bar.color, 0.05)}`
215
- }, null, 8, lt),
216
- u("stop", {
217
- offset: "100%",
218
- "stop-color": l.value.style.bar.color
219
- }, null, 8, nt)
220
- ], 8, st)
221
- ]),
222
- l.value.style.area.show && !W.value && C.value[0] ? (o(), i("g", rt, [
223
- l.value.style.line.smooth ? (o(), i("path", {
224
- key: 0,
225
- d: `M ${C.value[0].x},${m.value.bottom} ${G(ve)(C.value)} L ${C.value.at(-1).x},${m.value.bottom} Z`,
226
- fill: l.value.style.area.useGradient ? `url(#sparkline_gradient_${e.value})` : `${l.value.style.area.color}${G(ae)[l.value.style.area.opacity]}`
227
- }, null, 8, at)) : (o(), i("path", {
228
- key: 1,
229
- d: `M${Y.value}Z`,
230
- fill: l.value.style.area.useGradient ? `url(#sparkline_gradient_${e.value})` : `${l.value.style.area.color}${G(ae)[l.value.style.area.opacity]}`
231
- }, null, 8, ot))
232
- ])) : y("", !0),
233
- l.value.style.line.smooth && !W.value ? (o(), i("path", {
234
- key: 1,
235
- d: `M ${G(ve)(C.value)}`,
236
- stroke: l.value.style.line.color,
237
- fill: "none",
238
- "stroke-width": l.value.style.line.strokeWidth,
239
- "stroke-linecap": "round"
240
- }, null, 8, it)) : y("", !0),
241
- (o(!0), i(k, null, L(C.value, (b, w) => (o(), i("g", null, [
242
- w < C.value.length - 1 && !l.value.style.line.smooth && !W.value ? (o(), i("line", {
243
- key: 0,
244
- x1: b.x,
245
- x2: C.value[w + 1].x,
246
- y1: b.y,
247
- y2: C.value[w + 1].y,
248
- stroke: b.color,
249
- "stroke-width": l.value.style.line.strokeWidth,
250
- "stroke-linecap": "round",
251
- "stroke-linejoin": "round",
252
- "shape-rendering": "geometricPrecision"
253
- }, null, 8, ut)) : y("", !0),
254
- W.value ? (o(), i("rect", {
255
- key: 1,
256
- x: b.x - b.width / 2,
257
- y: b.absoluteValue > 0 ? b.y : z.value,
258
- width: b.width,
259
- height: Math.abs(b.y - z.value),
260
- fill: b.absoluteValue > 0 ? `url(#sparkline_bar_gradient_pos_${e.value})` : `url(#sparkline_bar_gradient_neg_${e.value})`,
261
- rx: l.value.style.bar.borderRadius
262
- }, null, 8, ct)) : y("", !0),
263
- l.value.style.verticalIndicator.show && (E.value && b.id === E.value.id || n.selectedIndex === w) ? (o(), i("line", {
264
- key: 2,
265
- x1: b.x,
266
- x2: b.x,
267
- y1: m.value.top - 6,
268
- y2: m.value.bottom,
269
- stroke: l.value.style.verticalIndicator.color || b.color,
270
- "stroke-width": l.value.style.verticalIndicator.strokeWidth,
271
- "stroke-linecap": "round",
272
- "stroke-dasharray": l.value.style.verticalIndicator.strokeDasharray || 0
273
- }, null, 8, dt)) : y("", !0)
274
- ]))), 256)),
275
- B.value < 0 ? (o(), i("line", {
276
- key: 2,
277
- x1: m.value.start,
278
- x2: m.value.start + m.value.width - 16,
279
- y1: z.value,
280
- y2: z.value,
281
- stroke: l.value.style.zeroLine.color,
282
- "stroke-dasharray": l.value.style.zeroLine.strokeWidth * 2,
283
- "stroke-width": l.value.style.zeroLine.strokeWidth,
284
- "stroke-linecap": "round"
285
- }, null, 8, ht)) : y("", !0),
286
- l.value.style.plot.show ? (o(!0), i(k, { key: 3 }, L(C.value, (b, w) => (o(), i("g", null, [
287
- E.value && b.id === E.value.id || n.selectedIndex === w ? (o(), i("circle", {
288
- key: 0,
289
- cx: b.x,
290
- cy: b.y,
291
- r: l.value.style.plot.radius,
292
- fill: b.color,
293
- stroke: l.value.style.plot.stroke,
294
- "stroke-width": l.value.style.plot.strokeWidth
295
- }, null, 8, gt)) : y("", !0)
296
- ]))), 256)) : y("", !0),
297
- n.showInfo && l.value.style.dataLabel.show ? (o(), i("text", {
298
- key: 4,
299
- x: l.value.style.dataLabel.position === "left" ? 12 + l.value.style.dataLabel.offsetX : m.value.width + 12 + l.value.style.dataLabel.offsetX,
300
- y: h.value.height / 2 + l.value.style.dataLabel.fontSize / 2.5 + l.value.style.dataLabel.offsetY,
301
- "font-size": l.value.style.dataLabel.fontSize,
302
- "font-weight": l.value.style.dataLabel.bold ? "bold" : "normal",
303
- fill: l.value.style.dataLabel.color
304
- }, c(E.value ? G(be)({ p: l.value.style.dataLabel.prefix, v: E.value.absoluteValue, s: l.value.style.dataLabel.suffix, r: l.value.style.dataLabel.roundingValue }) : G(be)({ p: l.value.style.dataLabel.prefix, v: Q.value, s: l.value.style.dataLabel.suffix, r: l.value.style.dataLabel.roundingValue })), 9, yt)) : y("", !0),
305
- (o(!0), i(k, null, L(C.value, (b, w) => (o(), i("rect", {
306
- x: b.x - (m.value.width / (H.value + 1) > 30 ? 30 : m.value.width / (H.value + 1)) / 2,
307
- y: m.value.top - 6,
308
- height: m.value.height + 6,
309
- width: m.value.width / (H.value + 1) > 30 ? 30 : m.value.width / (H.value + 1),
310
- fill: "transparent",
311
- onMouseenter: (le) => Z(b, w),
312
- onMouseleave: J,
313
- onClick: () => ce(b, w)
314
- }, null, 40, vt))), 256)),
315
- K(_.$slots, "svg", { svg: h.value }, void 0, !0)
316
- ], 12, qe)) : y("", !0),
317
- t.value ? y("", !0) : (o(), oe(je, {
318
- key: 2,
319
- config: {
320
- type: "sparkline",
321
- style: {
322
- backgroundColor: l.value.style.backgroundColor,
323
- sparkline: {
324
- color: "#CCCCCC"
325
- }
326
- }
327
- }
328
- }, null, 8, ["config"]))
329
- ], 12, Ze));
330
- }
331
- }, Le = /* @__PURE__ */ de(bt, [["__scopeId", "data-v-ee68f40e"]]), on = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
332
- __proto__: null,
333
- default: Le
334
- }, Symbol.toStringTag, { value: "Module" })), ft = ["id"], mt = { style: { "z-index": "1", "padding-right": "24px" } }, _t = ["onClick"], pt = { style: { display: "flex", "flex-direction": "row", gap: "3px", "align-items": "center" } }, Nt = ["data-cell"], kt = { style: { display: "flex", "flex-direction": "row", "align-items": "center", gap: "6px" } }, Ct = ["data-cell", "onPointerenter"], It = ["data-cell"], Ft = ["data-cell"], wt = ["data-cell"], St = ["data-cell"], xt = {
335
- __name: "vue-ui-table-sparkline",
336
- props: {
337
- config: {
338
- type: Object,
339
- default() {
340
- return {};
341
- }
342
- },
343
- dataset: {
344
- type: Array,
345
- default() {
346
- return [];
347
- }
348
- }
349
- },
350
- setup(n, { expose: r }) {
351
- const a = n;
352
- Ae((v) => ({
353
- "2af6bd52": v.tdo
354
- }));
355
- const { vue_ui_table_sparkline: d } = he(), t = M(Ne()), e = M(0), l = M(0), s = O(() => {
356
- const v = ie({
357
- userConfig: a.config,
358
- defaultConfig: d
359
- });
360
- return v.theme ? {
361
- ...ie({
362
- userConfig: pe.vue_ui_table_sparkline[v.theme] || a.config,
363
- defaultConfig: v
364
- }),
365
- customPalette: Be[v.theme] || se
366
- } : v;
367
- }), { isPrinting: h, isImaging: f, generatePdf: m, generateImage: B } = Xe({
368
- elementId: `table_${t.value}`,
369
- fileName: s.value.title.text || "vue-ui-table-sparkline"
370
- }), D = O(() => Re(s.value.customPalette)), T = M(null), j = M(!1), z = O(() => s.value.responsiveBreakpoint);
371
- fe(() => {
372
- ke(a.dataset) && ue({
373
- componentName: "VueUiTableSparkline",
374
- type: "dataset"
375
- });
376
- const v = new ResizeObserver((S) => {
377
- S.forEach((p) => {
378
- j.value = p.contentRect.width < z.value;
379
- });
380
- });
381
- T.value && v.observe(T.value);
382
- });
383
- const X = O(() => (a.dataset.forEach((v, S) => {
384
- Ce({
385
- datasetObject: v,
386
- requiredAttributes: ["name", "values"]
387
- }).forEach((p) => {
388
- ue({
389
- componentName: "VueUiTableSparkline",
390
- type: "datasetSerieAttribute",
391
- property: p,
392
- index: S
393
- });
394
- });
395
- }), a.dataset.map((v, S) => {
396
- const p = (v.values || []).map((F) => isNaN(F) ? 0 : F ?? 0), x = p.reduce((F, N) => F + N, 0);
397
- return {
398
- ...v,
399
- values: v.values || [],
400
- color: we(v.color) || D.value[S] || se[S] || se[S % se.length],
401
- sum: x,
402
- average: x / p.length,
403
- median: Ie(p),
404
- sparklineDataset: p.map((F, N) => ({
405
- period: s.value.colNames[N] || `col ${N}`,
406
- value: F || 0
407
- }))
408
- };
409
- })));
410
- function H(v) {
411
- const p = (v[0].values || []).map(
412
- (F, N) => v.map((V) => V.values[N] || [])
413
- ).map(
414
- (F) => F.map((N, V) => [N, V]).sort((N, V) => V[0] - N[0]).map((N) => N[1])
415
- );
416
- return v.map((F, N) => ({
417
- ...F,
418
- values: F.values || [],
419
- orders: p[N]
420
- }));
421
- }
422
- const C = O(() => H(X.value)), Y = M(C.value), E = O(() => Math.max(...Y.value.map((v) => (v.values || []).length))), Z = M(void 0), J = M(!1), R = M(void 0), Q = M(-1);
423
- function W() {
424
- J.value = !1, R.value = void 0, Q.value = -1, Y.value = C.value;
425
- }
426
- function ce(v) {
427
- J.value = !0, R.value = v;
428
- const S = C.value.map((N) => N.values[v] || []), p = Z.value === v ? 1 : -1;
429
- Q.value = p, v === Z.value ? Z.value = void 0 : Z.value = v;
430
- const F = S.map((N, V) => [V, N]).sort((N, V) => p * (V[1] - N[1])).map((N) => N[0]).map((N) => C.value[N]);
431
- Y.value = F, l.value += 1;
432
- }
433
- const _ = O(() => Math.max(...a.dataset.map((v) => (v.values || []).length))), I = O(() => {
434
- let v = s.value.colNames;
435
- if (!v.length)
436
- for (let p = 0; p < _.value; p += 1)
437
- v.push(`col ${p + 1}`);
438
- s.value.showTotal && (v = [...v, s.value.translations.total]);
439
- let S;
440
- return s.value.showAverage && s.value.showMedian ? S = [
441
- ...v,
442
- s.value.translations.average,
443
- s.value.translations.median
444
- ] : s.value.showAverage && !s.value.showMedian ? S = [...v, s.value.translations.average] : !s.value.showAverage && s.value.showMedian ? S = [...v, s.value.translations.median] : S = v, s.value.showSparklines ? [...S, s.value.translations.chart] : S;
445
- }), b = M(void 0), w = M(void 0);
446
- function le({ dataIndex: v, serieIndex: S }) {
447
- b.value = v, w.value = S;
448
- }
449
- const ge = M(!1);
450
- function Oe(v) {
451
- ge.value = v, e.value += 1;
452
- }
453
- function ye() {
454
- Me(() => {
455
- const v = [s.value.translations.serie].concat(I.value), S = X.value.map((F, N) => [
456
- [F.name],
457
- F.values,
458
- [F.sum],
459
- [F.average],
460
- [F.median]
461
- ]), p = [v].concat(S), x = Se(p);
462
- xe({
463
- csvContent: x,
464
- title: s.value.title.text || "vue-ui-table-sparkline"
465
- });
466
- });
467
- }
468
- return r({
469
- generatePdf: m,
470
- generateImage: B,
471
- generateCsv: ye,
472
- restoreOrder: W
473
- }), (v, S) => (o(), i("div", {
474
- ref_key: "tableContainer",
475
- ref: T,
476
- class: A({ "vue-ui-responsive": j.value }),
477
- style: { overflow: "hidden" },
478
- id: `table_${t.value}`
479
- }, [
480
- u("div", {
481
- style: { overflow: "auto" },
482
- onPointerleave: S[0] || (S[0] = (p) => {
483
- w.value = void 0, b.value = void 0;
484
- })
485
- }, [
486
- u("table", {
487
- class: "vue-ui-data-table",
488
- style: g({ fontFamily: s.value.fontFamily, position: "relative" })
489
- }, [
490
- s.value.title.text ? (o(), i("caption", {
491
- key: 0,
492
- style: g({ backgroundColor: s.value.title.backgroundColor })
493
- }, [
494
- u("div", {
495
- style: g({
496
- fontSize: `${s.value.title.fontSize}px`,
497
- fontWeight: s.value.title.bold ? "bold" : "normal",
498
- color: s.value.title.color,
499
- textAlign: s.value.title.textAlign
500
- })
501
- }, c(s.value.title.text), 5),
502
- s.value.title.subtitle.text ? (o(), i("div", {
503
- key: 0,
504
- style: g({
505
- fontSize: `${s.value.title.subtitle.fontSize}px`,
506
- fontWeight: s.value.title.subtitle.bold ? "bold" : "normal",
507
- color: s.value.title.subtitle.color,
508
- textAlign: s.value.title.textAlign
509
- })
510
- }, c(s.value.title.subtitle.text), 5)) : y("", !0)
511
- ], 4)) : y("", !0),
512
- u("thead", mt, [
513
- u("tr", {
514
- role: "row",
515
- class: "vue-ui-data-table__thead-row",
516
- style: g({
517
- backgroundColor: s.value.thead.backgroundColor,
518
- color: s.value.thead.color
519
- })
520
- }, [
521
- u("th", {
522
- role: "cell",
523
- style: g({
524
- backgroundColor: s.value.thead.backgroundColor,
525
- outline: s.value.thead.outline,
526
- textAlign: s.value.thead.textAlign,
527
- fontWeight: s.value.thead.bold ? "bold" : "normal"
528
- }),
529
- class: "sticky-col-first"
530
- }, c(s.value.translations.serie), 5),
531
- (o(!0), i(k, null, L(I.value, (p, x) => (o(), i("th", {
532
- role: "cell",
533
- style: g({
534
- background: s.value.thead.backgroundColor,
535
- outline: s.value.thead.outline,
536
- textAlign: s.value.thead.textAlign,
537
- fontWeight: s.value.thead.bold ? "bold" : "normal",
538
- minWidth: x === I.value.length - 1 ? "150px" : "",
539
- cursor: C.value[0].values[x] !== void 0 ? "pointer" : "default"
540
- }),
541
- onClick: () => ce(x),
542
- class: A({ "sticky-col": x === I.value.length - 1 && s.value.showSparklines })
543
- }, [
544
- u("div", pt, [
545
- u("span", null, c(p), 1),
546
- J.value && x === R.value && C.value[0].values[x] !== void 0 ? (o(), oe(He, {
547
- key: 0,
548
- size: 18,
549
- name: Q.value === 1 ? "sort" : "sortReverse",
550
- stroke: s.value.thead.color
551
- }, null, 8, ["name", "stroke"])) : y("", !0)
552
- ]),
553
- s.value.userOptions.show && x === I.value.length - 1 ? (o(), oe(Ye, {
554
- ref_for: !0,
555
- ref: "details",
556
- key: `user_option_${e.value}`,
557
- backgroundColor: s.value.thead.backgroundColor,
558
- color: s.value.thead.color,
559
- isPrinting: G(h),
560
- isImaging: G(f),
561
- uid: t.value,
562
- hasPdf: s.value.userOptions.buttons.pdf,
563
- hasXls: s.value.userOptions.buttons.csv,
564
- hasImg: s.value.userOptions.buttons.img,
565
- hasFullscreen: s.value.userOptions.buttons.fullscreen,
566
- isFullscreen: ge.value,
567
- titles: { ...s.value.userOptions.buttonTitles },
568
- chartElement: T.value,
569
- onToggleFullscreen: Oe,
570
- onGeneratePdf: G(m),
571
- onGenerateImage: G(B),
572
- onGenerateCsv: ye
573
- }, De({ _: 2 }, [
574
- v.$slots.optionPdf ? {
575
- name: "optionPdf",
576
- fn: ne(() => [
577
- K(v.$slots, "optionPdf", {}, void 0, !0)
578
- ]),
579
- key: "0"
580
- } : void 0,
581
- v.$slots.optionCsv ? {
582
- name: "optionCsv",
583
- fn: ne(() => [
584
- K(v.$slots, "optionCsv", {}, void 0, !0)
585
- ]),
586
- key: "1"
587
- } : void 0,
588
- v.$slots.optionImg ? {
589
- name: "optionImg",
590
- fn: ne(() => [
591
- K(v.$slots, "optionImg", {}, void 0, !0)
592
- ]),
593
- key: "2"
594
- } : void 0,
595
- v.$slots.optionFullscreen ? {
596
- name: "optionFullscreen",
597
- fn: ne(({ toggleFullscreen: F, isFullscreen: N }) => [
598
- K(v.$slots, "optionFullscreen", me(_e({ toggleFullscreen: F, isFullscreen: N })), void 0, !0)
599
- ]),
600
- key: "3"
601
- } : void 0
602
- ]), 1032, ["backgroundColor", "color", "isPrinting", "isImaging", "uid", "hasPdf", "hasXls", "hasImg", "hasFullscreen", "isFullscreen", "titles", "chartElement", "onGeneratePdf", "onGenerateImage"])) : y("", !0)
603
- ], 14, _t))), 256))
604
- ], 4)
605
- ]),
606
- u("tbody", null, [
607
- (o(!0), i(k, null, L(Y.value, (p, x) => (o(), i("tr", {
608
- role: "row",
609
- style: g({
610
- backgroundColor: s.value.tbody.backgroundColor,
611
- color: s.value.tbody.color
612
- }),
613
- class: A({ "vue-ui-data-table__tbody__row": !0, "vue-ui-data-table__tbody__row-even": x % 2 === 0, "vue-ui-data-table__tbody__row-odd": x % 2 !== 0 })
614
- }, [
615
- u("td", {
616
- role: "cell",
617
- style: g({
618
- backgroundColor: s.value.tbody.backgroundColor,
619
- outline: s.value.tbody.outline,
620
- fontSize: `${s.value.tbody.fontSize}px`,
621
- fontWeight: s.value.tbody.bold ? "bold" : "normal",
622
- textAlign: s.value.tbody.textAlign
623
- }),
624
- "data-cell": s.value.translations.serie,
625
- class: "vue-ui-data-table__tbody__td sticky-col-first"
626
- }, [
627
- u("div", kt, [
628
- u("span", {
629
- style: g({ color: p.color })
630
- }, "⬤", 4),
631
- u("span", null, c(p.name ?? "-"), 1)
632
- ])
633
- ], 12, Nt),
634
- (o(!0), i(k, null, L(E.value, (F, N) => (o(), i("td", {
635
- role: "cell",
636
- style: g({
637
- outline: s.value.tbody.outline,
638
- fontSize: `${s.value.tbody.fontSize}px`,
639
- fontWeight: s.value.tbody.bold ? "bold" : "normal",
640
- textAlign: s.value.tbody.textAlign,
641
- backgroundColor: b.value !== void 0 && w.value !== void 0 && N === b.value && w.value === x ? `${p.color}33` : "",
642
- borderRadius: b.value !== void 0 && w.value !== void 0 && N === b.value && w.value === x ? "3px" : ""
643
- }),
644
- "data-cell": I.value[N],
645
- class: "vue-ui-data-table__tbody__td",
646
- onPointerenter: (V) => {
647
- w.value = x, b.value = N;
648
- }
649
- }, c([null, void 0].includes(p.values[N]) ? "-" : Number(p.values[N].toFixed(s.value.roundingValues)).toLocaleString()), 45, Ct))), 256)),
650
- s.value.showTotal ? (o(), i("td", {
651
- key: 0,
652
- role: "cell",
653
- style: g({
654
- outline: s.value.tbody.outline,
655
- fontSize: `${s.value.tbody.fontSize}px`,
656
- fontWeight: s.value.tbody.bold ? "bold" : "normal",
657
- textAlign: s.value.tbody.textAlign
658
- }),
659
- "data-cell": s.value.translations.total,
660
- class: "vue-ui-data-table__tbody__td"
661
- }, c(Number(p.sum.toFixed(s.value.roundingTotal)).toLocaleString()), 13, It)) : y("", !0),
662
- s.value.showAverage ? (o(), i("td", {
663
- key: 1,
664
- role: "cell",
665
- style: g({
666
- outline: s.value.tbody.outline,
667
- fontSize: `${s.value.tbody.fontSize}px`,
668
- fontWeight: s.value.tbody.bold ? "bold" : "normal",
669
- textAlign: s.value.tbody.textAlign
670
- }),
671
- "data-cell": s.value.translations.average,
672
- class: "vue-ui-data-table__tbody__td"
673
- }, c(Number(p.average.toFixed(s.value.roundingAverage)).toLocaleString()), 13, Ft)) : y("", !0),
674
- s.value.showMedian ? (o(), i("td", {
675
- key: 2,
676
- role: "cell",
677
- style: g({
678
- outline: s.value.tbody.outline,
679
- fontSize: `${s.value.tbody.fontSize}px`,
680
- fontWeight: s.value.tbody.bold ? "bold" : "normal",
681
- textAlign: s.value.tbody.textAlign
682
- }),
683
- "data-cell": s.value.translations.median,
684
- class: "vue-ui-data-table__tbody__td"
685
- }, c(Number(p.median.toFixed(s.value.roundingMedian)).toLocaleString()), 13, wt)) : y("", !0),
686
- s.value.showSparklines ? (o(), i("td", {
687
- key: 3,
688
- role: "cell",
689
- "data-cell": s.value.translations.chart,
690
- style: g({
691
- outline: s.value.tbody.outline,
692
- fontSize: `${s.value.tbody.fontSize}px`,
693
- fontWeight: s.value.tbody.bold ? "bold" : "normal",
694
- textAlign: s.value.tbody.textAlign
695
- }),
696
- class: "vue-ui-data-table__tbody__td sticky-col"
697
- }, [
698
- (o(), oe(Le, {
699
- key: `sparkline_${x}_${l.value}`,
700
- onHoverIndex: ({ index: F }) => le({ dataIndex: F, serieIndex: x }),
701
- dataset: p.sparklineDataset,
702
- showInfo: !1,
703
- selectedIndex: b.value,
704
- config: {
705
- type: s.value.sparkline.type,
706
- style: {
707
- backgroundColor: s.value.tbody.backgroundColor,
708
- animation: {
709
- show: s.value.sparkline.animation.show && !G(h) && !G(f),
710
- animationFrames: s.value.sparkline.animation.animationFrames
711
- },
712
- line: {
713
- color: p.color,
714
- smooth: s.value.sparkline.smooth,
715
- strokeWidth: s.value.sparkline.strokeWidth
716
- },
717
- bar: {
718
- color: p.color
719
- },
720
- area: {
721
- color: p.color,
722
- opacity: s.value.sparkline.showArea ? 16 : 0,
723
- useGradient: s.value.sparkline.useGradient
724
- },
725
- verticalIndicator: {
726
- color: p.color
727
- },
728
- plot: {
729
- radius: 9,
730
- stroke: s.value.tbody.backgroundColor,
731
- strokeWidth: 3
732
- }
733
- }
734
- }
735
- }, null, 8, ["onHoverIndex", "dataset", "selectedIndex", "config"]))
736
- ], 12, St)) : y("", !0)
737
- ], 6))), 256))
738
- ])
739
- ], 4)
740
- ], 32)
741
- ], 10, ft));
742
- }
743
- }, Lt = /* @__PURE__ */ de(xt, [["__scopeId", "data-v-3af92d54"]]), un = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
744
- __proto__: null,
745
- default: Lt
746
- }, Symbol.toStringTag, { value: "Module" })), Ot = {
747
- name: "vue-ui-table",
748
- props: {
749
- config: {
750
- type: Object,
751
- default() {
752
- return {};
753
- }
754
- },
755
- dataset: {
756
- type: Object,
757
- default() {
758
- return {};
759
- }
760
- }
761
- },
762
- data() {
763
- return {
764
- uid: `vue-ui-table-${Math.random()}`,
765
- bodyCopy: JSON.parse(JSON.stringify(this.dataset.body)).map((r, a) => ({
766
- ...r,
767
- absoluteIndex: a
768
- })),
769
- buttonTimeout: null,
770
- canMoveChart: !1,
771
- chart: {
772
- height: 316,
773
- type: "bar",
774
- width: 512
775
- },
776
- constants: {
777
- ASC: 1,
778
- BAR: "bar",
779
- DATE: "date",
780
- DESC: -1,
781
- DONUT: "donut",
782
- LINE: "line",
783
- NUMERIC: "numeric",
784
- PERCENTAGE: "percentage",
785
- TEXT: "text"
786
- },
787
- clientX: 100,
788
- clientY: 100,
789
- cssClass: {
790
- CELL: "smart-td-selected",
791
- FIRST_TD: "smart-td-selected-first",
792
- LAST_TD: "smart-td-selected-last",
793
- ROW: "smart-td-selected-neighbor"
794
- },
795
- currentDonut: void 0,
796
- currentFilter: void 0,
797
- currentSearch: void 0,
798
- currentSelectionSpan: {
799
- col: void 0,
800
- rows: []
801
- },
802
- currentPage: 0,
803
- dates: {},
804
- filteredDatesIndexes: {},
805
- hasNaN: {},
806
- iconColor: "#2D353C",
807
- iconSize: 20,
808
- immutableRangeFilters: {},
809
- isExportRequest: !1,
810
- isLoading: !1,
811
- itemsPerPage: this.config.rowsPerPage ? this.config.rowsPerPage : 25,
812
- multiselects: {},
813
- paginatorOptions: [.../* @__PURE__ */ new Set([10, 25, 50, 100, 250, 500, this.config.rowsPerPage ? this.config.rowsPerPage : 25, this.dataset.body.length])].sort((r, a) => r - a),
814
- palette: se,
815
- percentages: {},
816
- rafId: null,
817
- rangeFilters: {},
818
- searches: {},
819
- selectedColumn: void 0,
820
- selectedDonutCategory: void 0,
821
- selectedPlot: void 0,
822
- showChart: !1,
823
- showDonutOptions: !1,
824
- sorts: {},
825
- tableBody: JSON.parse(JSON.stringify(this.dataset.body)).map((r, a) => ({
826
- ...r,
827
- absoluteIndex: a
828
- })),
829
- tableHead: JSON.parse(JSON.stringify(this.dataset.header)).map((r) => ({
830
- average: Object.hasOwn(r, "average") ? r.average : !1,
831
- decimals: Object.hasOwn(r, "decimals") ? r.decimals : 0,
832
- isMultiselect: Object.hasOwn(r, "isMultiselect") ? r.isMultiselect : !1,
833
- isPercentage: Object.hasOwn(r, "isPercentage") ? r.isPercentage : !1,
834
- isSearch: Object.hasOwn(r, "isSearch") ? r.isSearch : !1,
835
- isSort: Object.hasOwn(r, "isSort") ? r.isSort : !1,
836
- name: r.name,
837
- // this attribute is mandatory
838
- percentageTo: Object.hasOwn(r, "percentageTo") ? r.percentageTo : void 0,
839
- prefix: Object.hasOwn(r, "prefix") ? r.prefix : "",
840
- rangeFilter: Object.hasOwn(r, "rangeFilter") ? r.rangeFilter : !1,
841
- suffix: Object.hasOwn(r, "suffix") ? r.suffix : "",
842
- sum: Object.hasOwn(r, "sum") ? r.sum : !1,
843
- type: r.type
844
- // this attribute is mandatory
845
- }))
846
- };
847
- },
848
- mounted() {
849
- if (this.dataset.header.length === 0)
850
- throw new Error(`vue-ui-table error: missing header data.
851
- Provide an array of objects of type:
852
- {
853
- name: string;
854
- type: string; ('text' | 'numeric' | 'date')
855
- average: boolean;
856
- decimals: number | undefined;
857
- sum: boolean;
858
- isSort:boolean;
859
- isSearch: boolean;
860
- isMultiselect: boolean;
861
- isPercentage: boolean;
862
- percentageTo: string; (or '')
863
- }`);
864
- if (this.dataset.body.length === 0)
865
- throw new Error("vue-ui-table error: missing body data");
866
- this.isLoading = !0, this.promiseWithAsyncFunction(this.prepareBodyCopy, () => {
867
- this.$forceUpdate(), this.isLoading = !1;
868
- }), document.addEventListener("keydown", (n) => {
869
- const r = document.activeElement;
870
- (r && Array.from(r.classList).includes("td-focusable") && n.key.includes("Arrow") || n.code === "Space") && n.preventDefault();
871
- });
872
- },
873
- watch: {
874
- showChart: function(n) {
875
- n && this.$nextTick(() => {
876
- this.closeDragElement();
877
- const r = this.$refs.chartModal;
878
- r.onmousedown = this.dragMouseDown;
879
- });
880
- }
881
- },
882
- computed: {
883
- availableDonutCategories() {
884
- return Object.keys(this.multiselects).map((n) => ({
885
- index: n,
886
- name: this.dataset.header[n].name,
887
- options: this.multiselects[n]
888
- }));
889
- },
890
- canChart() {
891
- return this.FINAL_CONFIG.useChart && this.currentSelectionSpan.rows.length > 1;
892
- },
893
- chartData() {
894
- if (!this.canChart) return [];
895
- const n = 316, r = 512, a = this.currentSelectionSpan.rows.length, d = r / a, t = Math.max(...this.currentSelectionSpan.rows.map((D) => D.value)), e = Math.min(...this.currentSelectionSpan.rows.map((D) => D.value)), l = e >= 0 ? 0 : Math.abs(e), s = t + l, h = t < 0 && e < 0, f = this.dataset.header[this.currentSelectionSpan.col].isPercentage, m = this.currentSelectionSpan.rows.map((D, T) => ({
896
- x: d * T + d / 2,
897
- y: (1 - (D.value + l) / s) * n,
898
- value: f ? D.value * 100 : D.value,
899
- suffix: f ? "%" : this.dataset.header[this.currentSelectionSpan.col].suffix ? this.dataset.header[this.currentSelectionSpan.col].suffix : "",
900
- prefix: this.dataset.header[this.currentSelectionSpan.col].prefix ? this.dataset.header[this.currentSelectionSpan.col].prefix : "",
901
- index: D.index,
902
- absoluteValue: f ? Math.abs(D.value) * 100 : Math.abs(D.value)
903
- })), B = n - n * (l / s);
904
- return { isAllNegative: h, zero: B, plots: m, slot: d, progression: m.length >= 2 ? this.calcLinearProgression(m) : !1 };
905
- },
906
- donutHollowLabels() {
907
- return {
908
- total: Number((this.currentDonut.map((n) => n.absoluteValue).reduce((n, r) => n + r, 0) * (this.dataset.header[this.currentSelectionSpan.col].isPercentage ? 100 : 1)).toFixed(this.dataset.header[this.currentSelectionSpan.col].decimals)).toLocaleString(),
909
- average: Number((this.currentDonut.map((n) => n.absoluteValue).reduce((n, r) => n + r, 0) / this.currentSelectionSpan.rows.length * (this.dataset.header[this.currentSelectionSpan.col].isPercentage ? 100 : 1)).toFixed(this.dataset.header[this.currentSelectionSpan.col].decimals)).toLocaleString()
910
- };
911
- },
912
- hasNumericTypes() {
913
- return this.dataset.header.map((n) => n.type).includes(this.constants.NUMERIC);
914
- },
915
- icons() {
916
- return {
917
- arrowSort: `<svg xmlns="http://www.w3.org/2000/svg" width="${this.iconSize}" height="${this.iconSize}" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M3 9l4 -4l4 4m-4 -4v14" /><path d="M21 15l-4 4l-4 -4m4 4v-14" /></svg>`,
918
- bar: `<svg xmlns="http://www.w3.org/2000/svg" width="${this.iconSize}" height="${this.iconSize}" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M3 12m0 1a1 1 0 0 1 1 -1h4a1 1 0 0 1 1 1v6a1 1 0 0 1 -1 1h-4a1 1 0 0 1 -1 -1z" /><path d="M9 8m0 1a1 1 0 0 1 1 -1h4a1 1 0 0 1 1 1v10a1 1 0 0 1 -1 1h-4a1 1 0 0 1 -1 -1z" /><path d="M15 4m0 1a1 1 0 0 1 1 -1h4a1 1 0 0 1 1 1v14a1 1 0 0 1 -1 1h-4a1 1 0 0 1 -1 -1z" /><path d="M4 20l14 0" /></svg>`,
919
- chart: `<svg xmlns="http://www.w3.org/2000/svg" width="${this.iconSize}" height="${this.iconSize}" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M4 19l16 0" /><path d="M4 15l4 -6l4 2l4 -5l4 4" /></svg>`,
920
- chevronDown: `<svg xmlns="http://www.w3.org/2000/svg" width="${this.iconSize}" height="${this.iconSize}" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M6 9l6 6l6 -6" /></svg>`,
921
- chevronLeft: `<svg xmlns="http://www.w3.org/2000/svg" width="${this.iconSize * 1.6}" height="${this.iconSize * 1.6}" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M15 6l-6 6l6 6" /></svg>`,
922
- chevronRight: `<svg xmlns="http://www.w3.org/2000/svg" width="${this.iconSize * 1.6}" height="${this.iconSize * 1.6}" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M9 6l6 6l-6 6" /></svg>`,
923
- donut: `<svg xmlns="http://www.w3.org/2000/svg" width="${this.iconSize * 0.8}" height="${this.iconSize * 0.8}" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M12 3v5m4 4h5" /><path d="M8.929 14.582l-3.429 2.918" /><path d="M12 12m-4 0a4 4 0 1 0 8 0a4 4 0 1 0 -8 0" /><path d="M12 12m-9 0a9 9 0 1 0 18 0a9 9 0 1 0 -18 0" /></svg>`,
924
- export: `<svg xmlns="http://www.w3.org/2000/svg" width="${this.iconSize}" height="${this.iconSize}" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M12.5 21h-7.5a2 2 0 0 1 -2 -2v-14a2 2 0 0 1 2 -2h14a2 2 0 0 1 2 2v7.5" /><path d="M3 10h18" /><path d="M10 3v18" /><path d="M16 19h6" /><path d="M19 16l3 3l-3 3" /></svg>`,
925
- fileDownload: `<svg xmlns="http://www.w3.org/2000/svg" width="${this.iconSize}" height="${this.iconSize}" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M14 3v4a1 1 0 0 0 1 1h4" /><path d="M17 21h-10a2 2 0 0 1 -2 -2v-14a2 2 0 0 1 2 -2h7l5 5v11a2 2 0 0 1 -2 2z" /><path d="M12 17v-6" /><path d="M9.5 14.5l2.5 2.5l2.5 -2.5" /></svg>`,
926
- filter: `<svg xmlns="http://www.w3.org/2000/svg" width="${this.iconSize}" height="${this.iconSize}" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M4 4h16v2.172a2 2 0 0 1 -.586 1.414l-4.414 4.414v7l-6 2v-8.5l-4.48 -4.928a2 2 0 0 1 -.52 -1.345v-2.227z" /></svg>`,
927
- move: `<svg xmlns="http://www.w3.org/2000/svg" width="${this.iconSize}" height="${this.iconSize}" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M18 9l3 3l-3 3" /><path d="M15 12h6" /><path d="M6 9l-3 3l3 3" /><path d="M3 12h6" /><path d="M9 18l3 3l3 -3" /><path d="M12 15v6" /><path d="M15 6l-3 -3l-3 3" /><path d="M12 3v6" /></svg>`,
928
- sort09: `<svg xmlns="http://www.w3.org/2000/svg" width="${this.iconSize}" height="${this.iconSize}" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M4 15l3 3l3 -3" /><path d="M7 6v12" /><path d="M17 3a2 2 0 0 1 2 2v3a2 2 0 1 1 -4 0v-3a2 2 0 0 1 2 -2z" /><path d="M17 16m-2 0a2 2 0 1 0 4 0a2 2 0 1 0 -4 0" /><path d="M19 16v3a2 2 0 0 1 -2 2h-1.5" /></svg>`,
929
- sort90: `<svg xmlns="http://www.w3.org/2000/svg" width="${this.iconSize}" height="${this.iconSize}" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M4 15l3 3l3 -3" /><path d="M7 6v12" /><path d="M17 14a2 2 0 0 1 2 2v3a2 2 0 1 1 -4 0v-3a2 2 0 0 1 2 -2z" /><path d="M17 5m-2 0a2 2 0 1 0 4 0a2 2 0 1 0 -4 0" /><path d="M19 5v3a2 2 0 0 1 -2 2h-1.5" /></svg>`,
930
- sortAZ: `<svg xmlns="http://www.w3.org/2000/svg" width="${this.iconSize}" height="${this.iconSize}" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M15 10v-5c0 -1.38 .62 -2 2 -2s2 .62 2 2v5m0 -3h-4" /><path d="M19 21h-4l4 -7h-4" /><path d="M4 15l3 3l3 -3" /><path d="M7 6v12" /></svg>`,
931
- sortZA: `<svg xmlns="http://www.w3.org/2000/svg" width="${this.iconSize}" height="${this.iconSize}" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M15 21v-5c0 -1.38 .62 -2 2 -2s2 .62 2 2v5m0 -3h-4" /><path d="M19 10h-4l4 -7h-4" /><path d="M4 15l3 3l3 -3" /><path d="M7 6v12" /></svg>`,
932
- sum: `<svg xmlns="http://www.w3.org/2000/svg" width="${this.iconSize}" height="${this.iconSize}" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M18 16v2a1 1 0 0 1 -1 1h-11l6 -7l-6 -7h11a1 1 0 0 1 1 1v2" /></svg>`,
933
- table: `<svg xmlns="http://www.w3.org/2000/svg" width="${this.iconSize}" height="${this.iconSize}" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" fill="white" d="M 10 2, 21 2, 21 21, 10 21Z"/><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M3 5a2 2 0 0 1 2 -2h14a2 2 0 0 1 2 2v14a2 2 0 0 1 -2 2h-14a2 2 0 0 1 -2 -2v-14z" /><path d="M3 10h18" /><path d="M10 3v18" /></svg>`,
934
- warning: `<svg xmlns="http://www.w3.org/2000/svg" width="${this.iconSize * 0.8}" height="${this.iconSize * 0.8}" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M10.24 3.957l-8.422 14.06a1.989 1.989 0 0 0 1.7 2.983h16.845a1.989 1.989 0 0 0 1.7 -2.983l-8.423 -14.06a1.989 1.989 0 0 0 -3.4 0z" /><path d="M12 9v4" /><path d="M12 17h.01" /></svg>`
935
- };
936
- },
937
- pages() {
938
- const n = [];
939
- if (this.bodyCopy.length)
940
- for (let r = 0; r < this.bodyCopy.length; r += this.itemsPerPage)
941
- n.push(this.bodyCopy.slice(r, r + this.itemsPerPage));
942
- return n;
943
- },
944
- rows() {
945
- return this.bodyCopy.map((n) => n.td);
946
- },
947
- selectedCellsCalculations() {
948
- return {
949
- sumPercentage: Number((this.currentSelectionSpan.rows.map((n) => n.value).reduce((n, r) => n + r, 0) * 100).toFixed(this.dataset.header[this.currentSelectionSpan.col].decimals)).toLocaleString(),
950
- sumRegular: Number(this.currentSelectionSpan.rows.map((n) => n.value).reduce((n, r) => n + r, 0).toFixed(this.dataset.header[this.currentSelectionSpan.col].decimals)).toLocaleString(),
951
- averagePercentage: Number((this.currentSelectionSpan.rows.map((n) => n.value).reduce((n, r) => n + r, 0) / this.currentSelectionSpan.rows.length * 100).toFixed(this.dataset.header[this.currentSelectionSpan.col].decimals)).toLocaleString(),
952
- averageRegular: Number((this.currentSelectionSpan.rows.map((n) => n.value).reduce((n, r) => n + r, 0) / this.currentSelectionSpan.rows.length).toFixed(this.dataset.header[this.currentSelectionSpan.col].decimals)).toLocaleString()
953
- };
954
- },
955
- FINAL_CONFIG() {
956
- const { vue_ui_table: n } = he();
957
- if (!Object.keys(this.config || {}).length)
958
- return n;
959
- const r = this.treeShake({
960
- defaultConfig: n,
961
- userConfig: this.config
962
- });
963
- return this.convertConfigColors(r);
964
- },
965
- visibleRows() {
966
- return this.pages[this.currentPage];
967
- }
968
- },
969
- methods: {
970
- // lib
971
- treeShake: Ue,
972
- makeDonut: Ve,
973
- convertColorToHex: we,
974
- convertConfigColors: We,
975
- createCsvContent: Se,
976
- downloadCsv: xe,
977
- // specific
978
- applyDonutOption() {
979
- const n = this.selectedDonutCategory.options.map((r, a) => ({
980
- name: r,
981
- color: this.palette[a] || this.palette[a % this.palette.length],
982
- value: this.visibleRows.filter((d, t) => d.td[this.selectedDonutCategory.index] === r && this.currentSelectionSpan.rows.map((e) => e.index).includes(t)).map((d) => d.td[this.currentSelectionSpan.col]).reduce((d, t) => Math.abs(d) + Math.abs(t), 0),
983
- absoluteValue: this.visibleRows.filter((d, t) => d.td[this.selectedDonutCategory.index] === r && this.currentSelectionSpan.rows.map((e) => e.index).includes(t)).map((d) => d.td[this.currentSelectionSpan.col]).reduce((d, t) => d + t, 0)
984
- })).sort((r, a) => a.value - r.value);
985
- this.currentDonut = this.makeDonut({ series: n }, 50, 50, 30, 30), this.$nextTick(() => {
986
- this.chart.type = this.constants.DONUT, this.showDonutOptions = !1;
987
- });
988
- },
989
- calcRectY(n, r) {
990
- return n >= 0 ? r : this.chartData.zero;
991
- },
992
- canResetColumn(n, r) {
993
- return !this.hasNaN[n] && (r.isSort || r.isSearch || r.isMultiselect || r.rangeFilter) && ![this.constants.DATE].includes(r.type);
994
- },
995
- createXls(n = "all") {
996
- const r = this.dataset.header.map((e) => e.name), a = n === "all" ? this.bodyCopy.map((e) => e.td) : this.visibleRows.map((e) => e.td), d = [r].concat(a), t = this.createCsvContent(d);
997
- this.downloadCsv({ csvContent: t, title: "vue-ui-table" });
998
- },
999
- calcLinearProgression: Fe,
1000
- closeAllDropdowns() {
1001
- const n = document.getElementsByClassName("th-dropdown");
1002
- n.length && Array.from(n).forEach((r) => {
1003
- r.dataset.isOpen = !1;
1004
- });
1005
- },
1006
- debounce(n, r) {
1007
- let a;
1008
- clearTimeout(a), a = setTimeout(n, r);
1009
- },
1010
- filterBody() {
1011
- this.bodyCopy = this.tableBody.filter((n) => {
1012
- for (const r in this.searches)
1013
- if (!n.td[r].toUpperCase().includes(this.searches[r].toUpperCase()))
1014
- return !1;
1015
- for (const r in this.multiselects)
1016
- if (!this.multiselects[r].some((d) => d === n.td[r]))
1017
- return !1;
1018
- for (const r in this.dates) {
1019
- const a = new Date(n.td[r]), d = new Date(this.dates[r].from), t = new Date(this.dates[r].to);
1020
- if (a < d || a > t)
1021
- return !1;
1022
- }
1023
- return !0;
1024
- }), this.sortBody();
1025
- },
1026
- getAverage(n) {
1027
- return this.rows.map((r) => r[n]).map((r) => isNaN(Number(r)) ? 0 : r).reduce((r, a) => r + a, 0) / this.bodyCopy.length;
1028
- },
1029
- getDatesRange(n) {
1030
- const r = this.dataset.body.map((D) => new Date(D.td[n])), a = new Date(Math.min(...r)), d = new Date(Math.max(...r)), t = a.getFullYear(), e = d.getFullYear(), l = String(a.getMonth() + 1).padStart(2, "0"), s = String(d.getMonth() + 1).padStart(2, "0"), h = String(a.getDate()).padStart(2, "0"), f = String(d.getDate()).padStart(2, "0"), m = `${t}-${l}-${h}`, B = `${e}-${s}-${f}`;
1031
- return {
1032
- from: m,
1033
- to: B
1034
- };
1035
- },
1036
- getDonutLegendValue(n) {
1037
- return Number((n * (this.dataset.header[this.currentSelectionSpan.col].isPercentage ? 100 : 1)).toFixed(this.dataset.header[this.currentSelectionSpan.col].decimals)).toLocaleString();
1038
- },
1039
- getDropdownOptions(n) {
1040
- return [...new Set(this.dataset.body.map((r) => r.td[n]))];
1041
- },
1042
- getSum(n) {
1043
- return this.rows.map((r) => r[n]).map((r) => isNaN(Number(r)) ? 0 : r).reduce((r, a) => r + a, 0);
1044
- },
1045
- includesNaN(n) {
1046
- return n.includes(NaN);
1047
- },
1048
- isDropdownOptionSelected(n, r) {
1049
- return this.multiselects[r] ? this.multiselects[r].includes(n) : !0;
1050
- },
1051
- isNumeric(n) {
1052
- return !isNaN(Number(String(n).replaceAll("%", "")));
1053
- },
1054
- isResetDisabled(n, r) {
1055
- const a = r.isSort, d = r.isSearch, t = r.isMultiselect && this.multiselects[n], e = r.rangeFilter, l = (s) => {
1056
- if (e && this.rangeFilters[s])
1057
- return Math.round(this.rangeFilters[s].min) === this.immutableRangeFilters[s].min && Math.round(this.rangeFilters[s].max) === this.immutableRangeFilters[s].max;
1058
- };
1059
- if (a && d && t && e)
1060
- return ["", void 0].includes(this.searches[n]) && [void 0].includes(this.sorts[n]) && this.multiselects[n].length === this.getDropdownOptions(n).length && l(n);
1061
- if (a && d && t)
1062
- return ["", void 0].includes(this.searches[n]) && [void 0].includes(this.sorts[n]) && this.multiselects[n].length === this.getDropdownOptions(n).length;
1063
- if (a && d && e)
1064
- return ["", void 0].includes(this.searches[n]) && [void 0].includes(this.sorts[n]) && l(n);
1065
- if (a && d)
1066
- return ["", void 0].includes(this.searches[n]) && [void 0].includes(this.sorts[n]);
1067
- if (a && t && e)
1068
- return [void 0].includes(this.sorts[n]) && this.multiselects[n].length === this.getDropdownOptions(n).length && l(n);
1069
- if (a && t)
1070
- return [void 0].includes(this.sorts[n]) && this.multiselects[n].length === this.getDropdownOptions(n).length;
1071
- if (d && t && e)
1072
- return ["", void 0].includes(this.searches[n]) && this.multiselects[n].length === this.getDropdownOptions(n).length && l(n);
1073
- if (d && t)
1074
- return ["", void 0].includes(this.searches[n]) && this.multiselects[n].length === this.getDropdownOptions(n).length;
1075
- if (d && e)
1076
- return ["", void 0].includes(this.searches[n]) && l(n);
1077
- if (d)
1078
- return ["", void 0].includes(this.searches[n]);
1079
- if (a && e)
1080
- return [void 0].includes(this.sorts[n]) && l(n);
1081
- if (a)
1082
- return [void 0].includes(this.sorts[n]);
1083
- if (t && e)
1084
- return this.multiselects[n].length === this.getDropdownOptions(n).length && l(n);
1085
- if (t)
1086
- return this.multiselects[n].length === this.getDropdownOptions(n).length;
1087
- },
1088
- navigate(n) {
1089
- this.resetSelection(), n === "next" && this.currentPage < this.pages.length ? this.currentPage += 1 : n === "previous" && this.currentPage >= 1 ? this.currentPage -= 1 : this.currentPage = n - 1, this.$refs.tableWrapper.scrollTo({
1090
- top: 0,
1091
- left: 0,
1092
- behavior: "smooth"
1093
- });
1094
- },
1095
- navigateCell(n) {
1096
- n.preventDefault();
1097
- const r = n.keyCode, a = 38, d = 40, t = 37, e = 39;
1098
- if (![a, d, t, e].includes(r)) return;
1099
- const l = n.target.id, s = /cell_(\d+)_(\d+)_vue-ui-table-(\d+)/, h = l.match(s), f = parseInt(h[1]), m = parseInt(h[2]), B = document.getElementById(`cell_${f}_${m + 1}_${this.uid}`), D = document.getElementById(`cell_${f}_${m - 1}_${this.uid}`), T = document.getElementById(`cell_${f + 1}_${m}_${this.uid}`), j = document.getElementById(`cell_${f - 1}_${m}_${this.uid}`);
1100
- let z;
1101
- switch (!0) {
1102
- case r === e:
1103
- z = B;
1104
- break;
1105
- case r === t:
1106
- z = D;
1107
- break;
1108
- case r === a:
1109
- z = j;
1110
- break;
1111
- case r === d:
1112
- z = T;
1113
- break;
1114
- default:
1115
- return;
1116
- }
1117
- z && (z.focus(), z.scrollIntoView({ behavior: "smooth", block: "center" }));
1118
- },
1119
- openDonutOptions() {
1120
- this.selectedDonutCategory = this.availableDonutCategories[0], this.showDonutOptions = !0;
1121
- },
1122
- placeLabelOnTopOrBottom({ previousPlot: n, currentPlot: r, nextPlot: a }) {
1123
- const d = r.y - 38, t = r.y + 16;
1124
- return n && a ? n.value < r.value && a.value < r.value ? d : n.value > r.value && a.value > r.value ? t : (n.value > r.value && a.value < r.value || n.value < r.value && a.value > r.value, d) : n && !a ? n.value > r.value ? t : d : !n && a && a.value > r.value ? t : d;
1125
- },
1126
- async prepareBodyCopy() {
1127
- return new Promise((n) => {
1128
- const r = [];
1129
- this.tableHead.forEach((a, d) => {
1130
- if (a.isSearch && Object.assign(this.searches, { [d]: "" }), a.isMultiselect && Object.assign(this.multiselects, { [d]: this.getDropdownOptions(d) }), a.type === this.constants.DATE && (Object.assign(this.dates, { [d]: this.getDatesRange(d) }), Object.assign(this.filteredDatesIndexes, { [d]: !1 })), (a.isPercentage || a.percentageTo) && Object.assign(this.percentages, { [d]: {
1131
- reference: a.percentageTo,
1132
- referenceIndex: this.dataset.header.map((t) => t.name).indexOf(a.percentageTo)
1133
- } }), a.rangeFilter && (Object.assign(this.rangeFilters, { [d]: {
1134
- min: Math.round(Math.min(...this.dataset.body.map((t) => t.td).map((t) => t[d]))),
1135
- max: Math.round(Math.max(...this.dataset.body.map((t) => t.td).map((t) => t[d])))
1136
- } }), Object.assign(this.immutableRangeFilters, { [d]: {
1137
- min: Math.round(Math.min(...this.dataset.body.map((t) => t.td).map((t) => t[d]))),
1138
- max: Math.round(Math.max(...this.dataset.body.map((t) => t.td).map((t) => t[d])))
1139
- } })), a.isPercentage) {
1140
- const t = this.dataset.header.map((l) => l.name).indexOf(a.percentageTo), e = this.dataset.body.map((l) => l.td[t]).reduce((l, s) => l + s, 0);
1141
- r.push([d, t, e]);
1142
- }
1143
- a.type === this.constants.NUMERIC && !a.isPercentage && Object.assign(this.hasNaN, { [d]: this.includesNaN(this.dataset.body.map((t) => Number(t.td[d]))) });
1144
- }), this.bodyCopy.forEach((a, d) => {
1145
- r.map((t) => {
1146
- const [e, l, s] = t;
1147
- a.td[e] = a.td[l] / s;
1148
- }), a.td.forEach((t, e) => {
1149
- this.dataset.header[e].type === this.constants.TEXT && this.dataset.header[e].isSearch && (a[e] = this.stringToNumber(t)), this.dataset.header[e].type === this.constants.DATE && (a[e] = new Date(t).getTime()), this.dataset.header[e].type === this.constants.NUMERIC && (a[e] = isNaN(Number(t)) ? e : t), this.tableBody[d][e] = a[e];
1150
- });
1151
- }), n(!0);
1152
- });
1153
- },
1154
- promiseWithAsyncFunction(n, r) {
1155
- return new Promise((a, d) => {
1156
- n().then((t) => {
1157
- try {
1158
- const e = r(t);
1159
- a(e);
1160
- } catch (e) {
1161
- d(e);
1162
- }
1163
- }).catch((t) => {
1164
- d(t);
1165
- });
1166
- });
1167
- },
1168
- resetDates(n) {
1169
- this.dates[n] = {
1170
- from: this.getDatesRange(n).from,
1171
- to: this.getDatesRange(n).to
1172
- }, this.filteredDatesIndexes[n] = !1, this.$forceUpdate(), this.filterBody();
1173
- },
1174
- resetFilter(n, r, a) {
1175
- const d = a.currentTarget;
1176
- clearTimeout(this.buttonTimeout), d.classList.add("clicked"), this.buttonTimeout = setTimeout(() => {
1177
- d.classList.remove("clicked");
1178
- }, 200), this.currentFilter = void 0, r.rangeFilter && (this.rangeFilters[n].min = this.immutableRangeFilters[n].min, this.rangeFilters[n].max = this.immutableRangeFilters[n].max), r.isMultiselect ? (this.multiselects[n] = this.getDropdownOptions(n), r.type === this.constants.TEXT && (this.sorts[n] = void 0), r.isSearch && (this.searches[n] = "")) : r.type === this.constants.NUMERIC ? this.sorts[n] = void 0 : r.type === this.constants.TEXT ? (this.sorts[n] = void 0, this.searches[n] = "") : r.type === this.constants.DATE && (this.sorts[n] = void 0), this.filterBody();
1179
- },
1180
- resetSelection() {
1181
- const n = document.getElementsByClassName(`tr_${this.uid}`);
1182
- Array.from(n).forEach((r) => {
1183
- Array.from(r.getElementsByTagName("td")).forEach((a) => {
1184
- a.dataset.row === "even" ? (a.style.background = this.FINAL_CONFIG.style.rows.even.backgroundColor, a.style.color = this.FINAL_CONFIG.style.rows.even.color) : (a.style.background = this.FINAL_CONFIG.style.rows.odd.backgroundColor, a.style.color = this.FINAL_CONFIG.style.rows.odd.color);
1185
- });
1186
- }), Array.from(n).forEach((r) => r.dataset.selected = "false"), this.currentPage > this.pages.length - 1 && (this.currentPage = this.pages.length - 1), this.showChart = !1, this.currentDonut = void 0, this.selectedColumn = void 0, this.chart.type = this.constants.BAR, this.currentSelectionSpan = {
1187
- col: void 0,
1188
- rows: []
1189
- }, this.clientX = 100, this.clientY = 100;
1190
- },
1191
- selectColumn(n) {
1192
- this.currentSelectionSpan.col !== n ? (this.visibleRows.forEach((r, a) => {
1193
- this.selectTd({
1194
- td: r.td[n],
1195
- rowIndex: a,
1196
- colIndex: n,
1197
- headerType: this.constants.NUMERIC,
1198
- event: {
1199
- currentTarget: document.getElementById(`cell_${a}_${n}_${this.uid}`)
1200
- }
1201
- });
1202
- }), this.selectedColumn = n) : (this.selectedColumn = void 0, this.resetSelection());
1203
- },
1204
- selectDropdownOption(n, r) {
1205
- this.multiselects[r].includes(n) ? this.multiselects[r] = this.multiselects[r].filter((a) => a !== n) : this.multiselects[r].push(n), this.$forceUpdate(), this.filterBody();
1206
- },
1207
- selectTd({ td: n, rowIndex: r, colIndex: a, headerType: d, event: t }) {
1208
- if (d !== this.constants.NUMERIC || isNaN(Number(n))) {
1209
- this.resetSelection();
1210
- return;
1211
- }
1212
- this.currentSelectionSpan.col !== a && this.resetSelection();
1213
- const e = t.currentTarget.parentNode;
1214
- this.currentSelectionSpan.col = a, this.currentSelectionSpan.rows.map((l) => l.index).includes(r) ? (e.dataset.selected = "false", this.currentSelectionSpan.rows = this.currentSelectionSpan.rows.filter((l) => l.index !== r), t.currentTarget.classList.remove(this.cssClass.CELL), Array.from(e.children).forEach((l, s) => {
1215
- l.dataset.row === "even" ? (l.style.background = this.FINAL_CONFIG.style.rows.even.backgroundColor, l.style.color = this.FINAL_CONFIG.style.rows.even.olor) : (l.style.background = this.FINAL_CONFIG.style.rows.odd.backgroundColor, l.style.color = this.FINAL_CONFIG.style.rows.odd.color);
1216
- }), t.currentTarget.dataset.row === "even" ? (t.currentTarget.style.background = this.FINAL_CONFIG.style.rows.even.backgroundColor, t.currentTarget.style.color = this.FINAL_CONFIG.style.rows.even.color) : (t.currentTarget.style.background = this.FINAL_CONFIG.style.rows.odd.backgroundColor, t.currentTarget.style.color = this.FINAL_CONFIG.style.rows.odd.color)) : (e.dataset.selected = "true", this.currentSelectionSpan.rows.push({
1217
- index: r,
1218
- value: n
1219
- }), Array.from(e.children).forEach((l, s) => {
1220
- l.dataset.row === "even" ? (l.style.background = this.FINAL_CONFIG.style.rows.even.selectedNeighbors.backgroundColor, l.style.color = this.FINAL_CONFIG.style.rows.even.selectedNeighbors.color) : (l.style.background = this.FINAL_CONFIG.style.rows.odd.selectedNeighbors.backgroundColor, l.style.color = this.FINAL_CONFIG.style.rows.odd.selectedNeighbors.color);
1221
- }), t.currentTarget.dataset.row === "odd" ? (t.currentTarget.style.background = this.FINAL_CONFIG.style.rows.odd.selectedCell.backgroundColor, t.currentTarget.style.color = this.FINAL_CONFIG.style.rows.odd.selectedCell.color) : (t.currentTarget.style.background = this.FINAL_CONFIG.style.rows.even.selectedCell.backgroundColor, t.currentTarget.style.color = this.FINAL_CONFIG.style.rows.even.selectedCell.color)), this.currentSelectionSpan.rows = this.currentSelectionSpan.rows.sort((l, s) => l.index - s.index), this.chart.type === this.constants.DONUT && this.currentSelectionSpan.rows.length > 0 && this.applyDonutOption();
1222
- },
1223
- setFilterDatesIndexes(n) {
1224
- this.filteredDatesIndexes[n] = !(this.getDatesRange(n).from === this.dates[n].from && this.getDatesRange(n).to === this.dates[n].to);
1225
- },
1226
- sortBody() {
1227
- this.resetSelection(), Object.keys(this.rangeFilters).forEach((n) => {
1228
- this.filterByRange(this.bodyCopy, n);
1229
- }), Object.keys(this.sorts).forEach((n) => {
1230
- this.sortByNumber(this.bodyCopy, n);
1231
- }), this.currentFilter !== void 0 && this.sortByNumber(this.bodyCopy, this.currentFilter), this.dataset.header.forEach((n, r) => {
1232
- if (n.isPercentage) {
1233
- const a = this.percentages[r].referenceIndex, d = this.bodyCopy.map((t) => t.td[a]).reduce((t, e) => t + e, 0);
1234
- this.bodyCopy.forEach((t) => {
1235
- t.td[r] = t.td[a] / d;
1236
- });
1237
- }
1238
- }), this.currentPage > this.pages.length - 1 && (this.currentPage = this.pages.length - 1), [-1].includes(this.currentPage) && (this.currentPage = 0), this.$forceUpdate();
1239
- },
1240
- filterByRange(n, r) {
1241
- this.bodyCopy = n.filter((a) => a.td[r] >= this.rangeFilters[r].min && a[r] <= this.rangeFilters[r].max);
1242
- },
1243
- sortByNumber(n, r) {
1244
- if (this.sorts[r] === this.constants.ASC && (n = n.sort((a, d) => a[r] - d[r])), this.sorts[r] === this.constants.DESC)
1245
- n = n.sort((a, d) => d[r] - a[r]);
1246
- else
1247
- return 0;
1248
- },
1249
- sortTh(n, r) {
1250
- this.currentFilter = n;
1251
- const a = r.currentTarget;
1252
- clearTimeout(this.buttonTimeout), a.classList.add("clicked"), this.buttonTimeout = setTimeout(() => {
1253
- a.classList.remove("clicked");
1254
- }, 200), this.sorts[n] === 1 ? this.sorts[n] = this.constants.DESC : this.sorts[n] = this.constants.ASC, this.sortBody();
1255
- },
1256
- stringToNumber(n) {
1257
- let r = 0;
1258
- for (let a = 0; a < n.length; a += 1)
1259
- r += n.charCodeAt(a);
1260
- return r;
1261
- },
1262
- toggleMultiselect(n, r, a) {
1263
- const d = a.currentTarget;
1264
- clearTimeout(this.buttonTimeout), d.classList.add("clicked"), this.buttonTimeout = setTimeout(() => {
1265
- d.classList.remove("clicked");
1266
- }, 200);
1267
- const t = document.getElementById(`th_dropdown_${n}`);
1268
- t.dataset.isOpen === "false" ? t.dataset.isOpen = "true" : t.dataset.isOpen = "false";
1269
- },
1270
- updateCurrentPage(n) {
1271
- this.resetSelection(), this.currentPage = Number(n.target.value);
1272
- },
1273
- // DONUTS
1274
- calcDonutMarkerConnectorColor(n) {
1275
- return n.proportion * 100 > 3 ? n.color : "transparent";
1276
- },
1277
- calcDonutMarkerLabelPositionX(n) {
1278
- return n.center.endX + this.calcMarkerOffset(n, 50);
1279
- },
1280
- calcMarkerOffset(n, r) {
1281
- return n.center.endX - r >= 0 ? 3 : -2;
1282
- },
1283
- displayArcPercentage(n, r) {
1284
- return isNaN(n.value / this.sumValues(r)) ? 0 : (n.value / this.sumValues(r) * 100).toFixed(0) + "%";
1285
- },
1286
- isArcBigEnough(n) {
1287
- return n.proportion * 100 > 3;
1288
- },
1289
- sumValues(n) {
1290
- return [...n].map((r) => r.value).reduce((r, a) => r + a, 0);
1291
- },
1292
- // CHART DRAGGING METHODS
1293
- closeDragElement() {
1294
- document.onmouseup = null, document.onmousemove = null;
1295
- },
1296
- dragMouseDown(n) {
1297
- n = n || window.event, n.preventDefault(), document.onmouseup = this.closeDragElement, document.onmousemove = this.elementDrag;
1298
- },
1299
- elementDrag(n) {
1300
- this.rafId || (this.rafId = window.requestAnimationFrame(() => this.onElementDrag(n)));
1301
- },
1302
- onElementDrag(n) {
1303
- n = n || window.event, n.preventDefault();
1304
- const a = this.$refs.chartModal.getBoundingClientRect();
1305
- this.clientX = n.clientX - a.width / 2, this.clientY = n.clientY - a.height / 2, this.rafId = null;
1306
- }
1307
- }
1308
- }, U = (n) => (ze("data-v-5a108fbd"), n = n(), Pe(), n), At = { class: "vue-ui-table-export-hub" }, Dt = ["innerHTML"], Mt = ["data-is-open"], Gt = /* @__PURE__ */ U(() => /* @__PURE__ */ u("b", { class: "vue-ui-table-export-hub-title" }, " Export ", -1)), Tt = { class: "vue-ui-table-export-hub-options" }, zt = { class: "vue-ui-table-export-hub-option-wrapper" }, Pt = { class: "label" }, Et = ["innerHTML"], Bt = { class: "vue-ui-table-export-hub-option-wrapper" }, Rt = { class: "label" }, Ht = ["innerHTML"], Ut = { class: "vue-ui-table" }, Vt = { id: "tableHead" }, Wt = /* @__PURE__ */ U(() => /* @__PURE__ */ u("th", { class: "invisible-cell" }, null, -1)), jt = { key: 0 }, Xt = { key: 0 }, Yt = { key: 1 }, Zt = /* @__PURE__ */ U(() => /* @__PURE__ */ u("th", { class: "invisible-cell" }, null, -1)), qt = {
1309
- key: 0,
1310
- style: { display: "flex", "align-items": "center", "justify-content": "flex-end" }
1311
- }, Kt = ["innerHTML"], Jt = {
1312
- key: 0,
1313
- style: { "margin-left": "3px" }
1314
- }, Qt = /* @__PURE__ */ U(() => /* @__PURE__ */ u("th", { class: "invisible-cell" }, null, -1)), $t = { key: 0 }, es = /* @__PURE__ */ U(() => /* @__PURE__ */ u("th", { class: "invisible-cell" }, null, -1)), ts = { class: "th-filter" }, ss = {
1315
- key: 0,
1316
- class: "th-date"
1317
- }, ls = { class: "date-wrapper--inputs" }, ns = { class: "date-fieldset" }, rs = ["for"], as = ["id", "onUpdate:modelValue", "onInput"], os = { class: "date-fieldset" }, is = ["for"], us = ["id", "onUpdate:modelValue", "onInput"], cs = { class: "date-wrapper--button" }, ds = ["onClick"], hs = ["innerHTML"], gs = ["innerHTML"], ys = ["innerHTML"], vs = ["onClick", "disabled"], bs = ["placeholder", "onUpdate:modelValue", "name"], fs = ["onClick"], ms = ["innerHTML"], _s = ["innerHTML"], ps = ["innerHTML"], Ns = ["onClick", "innerHTML"], ks = ["innerHTML"], Cs = {
1318
- key: 5,
1319
- class: "th-range-filter"
1320
- }, Is = ["for"], Fs = /* @__PURE__ */ U(() => /* @__PURE__ */ u("span", { style: { color: "grey" } }, "ᒥ", -1)), ws = /* @__PURE__ */ U(() => /* @__PURE__ */ u("span", { style: { color: "grey" } }, "ᒣ", -1)), Ss = ["id", "max", "min", "onUpdate:modelValue"], xs = ["id", "max", "min", "onUpdate:modelValue"], Ls = ["for"], Os = /* @__PURE__ */ U(() => /* @__PURE__ */ u("span", { style: { color: "grey" } }, "ᒪ", -1)), As = /* @__PURE__ */ U(() => /* @__PURE__ */ u("span", { style: { color: "grey" } }, "ᒧ", -1)), Ds = ["onClick", "disabled"], Ms = ["id"], Gs = ["onClick"], Ts = ["onClick", "onKeyup"], zs = /* @__PURE__ */ U(() => /* @__PURE__ */ u("th", { class: "invisible-cell" }, null, -1)), Ps = ["innerHTML", "onClick", "onKeyup"], Es = ["data-row"], Bs = ["data-row"], Rs = ["data-row", "onClick", "onKeyup", "id"], Hs = ["innerHTML"], Us = { key: 1 }, Vs = { key: 2 }, Ws = { key: 5 }, js = ["innerHTML"], Xs = { key: 0 }, Ys = { style: { "margin-left": "12px" } }, Zs = { class: "format-num" }, qs = { style: { "margin-left": "12px" } }, Ks = {
1321
- key: 0,
1322
- class: "format-num"
1323
- }, Js = {
1324
- key: 1,
1325
- class: "format-num"
1326
- }, Qs = { key: 2 }, $s = { style: { "margin-left": "12px" } }, el = {
1327
- key: 0,
1328
- class: "format-num"
1329
- }, tl = {
1330
- key: 1,
1331
- class: "format-num"
1332
- }, sl = { key: 2 }, ll = {
1333
- key: 0,
1334
- class: "vue-ui-table-paginator format-num"
1335
- }, nl = {
1336
- key: 1,
1337
- class: "vue-ui-table-size-warning"
1338
- }, rl = ["innerHTML"], al = {
1339
- key: 3,
1340
- class: "vue-ui-table-pagination format-num"
1341
- }, ol = ["innerHTML", "disabled"], il = ["disabled"], ul = {
1342
- key: 0,
1343
- class: "vue-ui-table-page-scroller-wrapper"
1344
- }, cl = {
1345
- for: "pageScroller",
1346
- style: { "font-size": "14px" }
1347
- }, dl = ["max", "value"], hl = { key: 1 }, gl = ["disabled"], yl = ["innerHTML", "disabled"], vl = { class: "chart-modal-options" }, bl = ["innerHTML"], fl = ["innerHTML"], ml = ["innerHTML"], _l = { style: { "margin-bottom": "12px" } }, pl = { key: 0 }, Nl = { key: 1 }, kl = {
1348
- style: { width: "100%", height: "fit-content", cursor: "move" },
1349
- ref: "chartModal"
1350
- }, Cl = { class: "vue-ui-table-fieldset" }, Il = { class: "vue-ui-table-fieldset-wrapper" }, Fl = ["name", "id", "checked", "onInput"], wl = ["for"], Sl = ["disabled"], xl = ["innerHTML"], Ll = ["viewBox"], Ol = ["markerWidth", "markerHeight", "refY"], Al = ["points", "fill"], Dl = ["x2", "y1", "y2", "stroke", "stroke-width"], Ml = ["y2", "stroke", "stroke-width"], Gl = ["x", "width", "height", "fill"], Tl = /* @__PURE__ */ Te('<linearGradient id="barGradientSelected" x2="0%" y2="100%" data-v-5a108fbd><stop offset="0.2" stop-color="#6376DD" data-v-5a108fbd></stop><stop offset="1" stop-color="#6376DD80" data-v-5a108fbd></stop></linearGradient><linearGradient id="barGradientSelectedNeg" x2="0%" y2="100%" data-v-5a108fbd><stop offset="0.2" stop-color="#6376DD80" data-v-5a108fbd></stop><stop offset="1" stop-color="#6376DD" data-v-5a108fbd></stop></linearGradient><linearGradient id="barGradient" x2="0%" y2="100%" data-v-5a108fbd><stop offset="0.2" stop-color="#6376DDB3" data-v-5a108fbd></stop><stop offset="1" stop-color="#6376DD66" data-v-5a108fbd></stop></linearGradient><linearGradient id="barGradientNeg" x2="0%" y2="100%" data-v-5a108fbd><stop offset="0.2" stop-color="#6376DD66" data-v-5a108fbd></stop><stop offset="1" stop-color="#6376DDB3" data-v-5a108fbd></stop></linearGradient>', 4), zl = ["x", "y", "height", "width", "fill", "stroke"], Pl = ["x", "y", "width"], El = ["x1", "y1", "x2", "y2", "stroke-width", "stroke"], Bl = ["x1", "y1", "x2", "y2", "stroke", "stroke-width", "stroke-dasharray"], Rl = ["cx", "cy", "r", "fill", "stroke", "stroke-width"], Hl = ["x", "y", "width"], Ul = ["x", "width", "height", "onMouseenter"], Vl = ["x1", "y1", "x2", "y2", "stroke", "stroke-width", "stroke-dasharray"], Wl = /* @__PURE__ */ U(() => /* @__PURE__ */ u("span", null, "---", -1)), jl = ["d", "stroke"], Xl = ["x", "y"], Yl = { class: "vue-ui-table-donut-label-name" }, Zl = ["fill"], ql = ["fill"], Kl = ["fill"], Jl = ["fill"], Ql = { class: "vue-ui-table-donut-legend" };
1351
- function $l(n, r, a, d, t, e) {
1352
- return o(), i("div", {
1353
- class: "vue-ui-table-main",
1354
- style: g(`font-family: ${e.FINAL_CONFIG.fontFamily}`)
1355
- }, [
1356
- u("div", At, [
1357
- u("button", {
1358
- onClick: r[0] || (r[0] = (l) => t.isExportRequest = !t.isExportRequest),
1359
- innerHTML: e.icons.export,
1360
- style: g(`background:${e.FINAL_CONFIG.style.exportMenu.backgroundColor};color:${e.FINAL_CONFIG.style.exportMenu.color}`)
1361
- }, null, 12, Dt),
1362
- u("div", {
1363
- class: "vue-ui-table-export-hub-dropdown",
1364
- "data-is-open": t.isExportRequest || "false",
1365
- style: g(`background:${e.FINAL_CONFIG.style.exportMenu.backgroundColor};color:${e.FINAL_CONFIG.style.exportMenu.color}`)
1366
- }, [
1367
- Gt,
1368
- u("button", {
1369
- class: "close-dropdown",
1370
- onClick: r[1] || (r[1] = (l) => t.isExportRequest = !1),
1371
- style: g(`background:${e.FINAL_CONFIG.style.closeButtons.backgroundColor};color:${e.FINAL_CONFIG.style.closeButtons.color};border-radius:${e.FINAL_CONFIG.style.closeButtons.borderRadius}`)
1372
- }, " ✖ ", 4),
1373
- u("div", Tt, [
1374
- u("div", zt, [
1375
- u("div", Pt, c(e.FINAL_CONFIG.translations.exportAllLabel) + " (" + c(t.bodyCopy.length) + ") ", 1),
1376
- u("button", {
1377
- id: "exportAll",
1378
- onClick: r[2] || (r[2] = (l) => e.createXls("all")),
1379
- style: g(`background:${e.FINAL_CONFIG.style.exportMenu.buttons.backgroundColor};color:${e.FINAL_CONFIG.style.exportMenu.buttons.color}`)
1380
- }, [
1381
- u("div", {
1382
- innerHTML: e.icons.fileDownload
1383
- }, null, 8, Et),
1384
- u("span", null, c(e.FINAL_CONFIG.translations.exportAllButton), 1)
1385
- ], 4)
1386
- ]),
1387
- u("div", Bt, [
1388
- u("div", Rt, c(e.FINAL_CONFIG.translations.exportPageLabel), 1),
1389
- u("button", {
1390
- id: "exportPage",
1391
- onClick: r[3] || (r[3] = (l) => e.createXls("page")),
1392
- style: g(`background:${e.FINAL_CONFIG.style.exportMenu.buttons.backgroundColor};color:${e.FINAL_CONFIG.style.exportMenu.buttons.color}`)
1393
- }, [
1394
- u("div", {
1395
- innerHTML: e.icons.fileDownload
1396
- }, null, 8, Ht),
1397
- u("span", null, c(e.FINAL_CONFIG.translations.exportPageButton), 1)
1398
- ], 4)
1399
- ])
1400
- ])
1401
- ], 12, Mt)
1402
- ]),
1403
- u("div", {
1404
- class: "vue-ui-table__wrapper",
1405
- style: g(`max-height:${e.FINAL_CONFIG.maxHeight}px`),
1406
- ref: "tableWrapper"
1407
- }, [
1408
- u("table", Ut, [
1409
- u("thead", Vt, [
1410
- u("tr", null, [
1411
- Wt,
1412
- (o(!0), i(k, null, L(t.tableHead, (l, s) => (o(), i("th", {
1413
- key: `thead_${s}`,
1414
- style: g(`overflow: visible;background:${e.FINAL_CONFIG.style.th.backgroundColor};color:${e.FINAL_CONFIG.style.th.color};outline:${e.FINAL_CONFIG.style.th.outline}`),
1415
- class: A({ "th-has-nan": t.hasNaN[s] })
1416
- }, [
1417
- e.hasNumericTypes && ([t.constants.TEXT, t.constants.DATE].includes(l.type) || l.isPercentage) ? (o(), i("span", jt, [
1418
- P(c(l.name) + " ", 1),
1419
- l.isPercentage ? (o(), i("span", Xt, " / " + c(l.percentageTo), 1)) : y("", !0)
1420
- ])) : (o(), i("span", Yt, c(l.name), 1))
1421
- ], 6))), 128))
1422
- ]),
1423
- e.hasNumericTypes ? (o(), i(k, { key: 0 }, [
1424
- u("tr", null, [
1425
- Zt,
1426
- (o(!0), i(k, null, L(t.tableHead, (l, s) => (o(), i("th", {
1427
- key: `thead_${s}`,
1428
- class: A({ "th-numeric": !0, "th-has-nan": t.hasNaN[s] }),
1429
- style: g(`background:${e.FINAL_CONFIG.style.th.backgroundColor};color:${e.FINAL_CONFIG.style.th.color};outline:${e.FINAL_CONFIG.style.th.outline}`)
1430
- }, [
1431
- l.sum && !t.hasNaN[s] ? (o(), i("span", qt, [
1432
- u("span", {
1433
- innerHTML: e.icons.sum,
1434
- style: { "margin-bottom": "-4px", "margin-right": "3px" }
1435
- }, null, 8, Kt),
1436
- P(" " + c(l.prefix) + " " + c(Number(e.getSum(s).toFixed(l.decimals)).toLocaleString()) + " " + c(l.suffix) + " ", 1),
1437
- t.percentages[s] && l.percentageTo && !l.isPercentage ? (o(), i("span", Jt, " (" + c(isNaN(e.getSum(s) / e.getSum(t.percentages[s].referenceIndex)) ? "-" : (e.getSum(s) / e.getSum(t.percentages[s].referenceIndex) * 100).toFixed(l.decimals)) + "%) ", 1)) : y("", !0)
1438
- ])) : y("", !0)
1439
- ], 6))), 128))
1440
- ]),
1441
- u("tr", null, [
1442
- Qt,
1443
- (o(!0), i(k, null, L(t.tableHead, (l, s) => (o(), i("th", {
1444
- key: `thead_${s}`,
1445
- class: A({ "th-numeric": !0, "th-has-nan": t.hasNaN[s] }),
1446
- style: g(`background:${e.FINAL_CONFIG.style.th.backgroundColor};color:${e.FINAL_CONFIG.style.th.color};outline:${e.FINAL_CONFIG.style.th.outline}`)
1447
- }, [
1448
- l.average && !t.hasNaN[s] ? (o(), i("span", $t, " ~ " + c(l.prefix) + " " + c(isNaN(e.getAverage(s)) ? "" : Number(e.getAverage(s).toFixed(l.decimals)).toLocaleString()) + " " + c(l.suffix), 1)) : y("", !0)
1449
- ], 6))), 128))
1450
- ]),
1451
- u("tr", null, [
1452
- es,
1453
- (o(!0), i(k, null, L(t.tableHead, (l, s) => (o(), i("th", {
1454
- key: `thead_${s}`,
1455
- class: A({ "th-has-nan": t.hasNaN[s] }),
1456
- style: g(`background:${e.FINAL_CONFIG.style.th.backgroundColor};color:${e.FINAL_CONFIG.style.th.color};outline:${e.FINAL_CONFIG.style.th.outline}`)
1457
- }, [
1458
- u("div", ts, [
1459
- l.type === t.constants.DATE && t.dates[s] ? (o(), i("div", ss, [
1460
- u("div", ls, [
1461
- u("div", ns, [
1462
- u("label", {
1463
- for: `from_${s}`
1464
- }, c(e.FINAL_CONFIG.translations.from), 9, rs),
1465
- q(u("input", {
1466
- id: `from_${s}`,
1467
- type: "date",
1468
- "onUpdate:modelValue": (h) => t.dates[s].from = h,
1469
- onInput: (h) => {
1470
- e.filterBody(), e.setFilterDatesIndexes(s);
1471
- },
1472
- style: g(`background:${e.FINAL_CONFIG.style.inputs.backgroundColor};color:${e.FINAL_CONFIG.style.inputs.color};border:${e.FINAL_CONFIG.style.inputs.border}`)
1473
- }, null, 44, as), [
1474
- [$, t.dates[s].from]
1475
- ])
1476
- ]),
1477
- u("div", os, [
1478
- u("label", {
1479
- for: `to_${s}`
1480
- }, c(e.FINAL_CONFIG.translations.to), 9, is),
1481
- q(u("input", {
1482
- id: `to_${s}`,
1483
- type: "date",
1484
- "onUpdate:modelValue": (h) => t.dates[s].to = h,
1485
- onInput: (h) => {
1486
- e.filterBody(), e.setFilterDatesIndexes(s);
1487
- },
1488
- style: g(`background:${e.FINAL_CONFIG.style.inputs.backgroundColor};color:${e.FINAL_CONFIG.style.inputs.color};border:${e.FINAL_CONFIG.style.inputs.border}`)
1489
- }, null, 44, us), [
1490
- [$, t.dates[s].to]
1491
- ])
1492
- ])
1493
- ]),
1494
- u("div", cs, [
1495
- l.isSort ? (o(), i("button", {
1496
- key: 0,
1497
- onClick: (h) => e.sortTh(s, h),
1498
- class: A({ "th-button-active": [t.constants.DESC, t.constants.ASC].includes(t.sorts[s]) }),
1499
- style: g(`background:${[t.constants.DESC, t.constants.ASC].includes(t.sorts[s]) ? "" : e.FINAL_CONFIG.style.pagination.buttons.backgroundColor};color:${[t.constants.DESC, t.constants.ASC].includes(t.sorts[s]) ? "" : e.FINAL_CONFIG.style.pagination.buttons.color}`)
1500
- }, [
1501
- t.sorts[s] === t.constants.ASC ? (o(), i("span", {
1502
- key: 0,
1503
- innerHTML: [t.constants.DATE].includes(l.type) ? e.icons.sort09 : e.icons.sortAZ
1504
- }, null, 8, hs)) : t.sorts[s] === t.constants.DESC ? (o(), i("span", {
1505
- key: 1,
1506
- innerHTML: [t.constants.DATE].includes(l.type) ? e.icons.sort90 : e.icons.sortZA
1507
- }, null, 8, gs)) : (o(), i("span", {
1508
- key: 2,
1509
- innerHTML: e.icons.arrowSort
1510
- }, null, 8, ys))
1511
- ], 14, ds)) : y("", !0),
1512
- u("button", {
1513
- onClick: (h) => {
1514
- e.resetDates(s), e.resetFilter(s, l, h);
1515
- },
1516
- disabled: !t.filteredDatesIndexes[s] && e.isResetDisabled(s, l),
1517
- class: "th-reset"
1518
- }, " ✖ ", 8, vs)
1519
- ])
1520
- ])) : y("", !0),
1521
- l.isSearch ? q((o(), i("input", {
1522
- key: 1,
1523
- placeholder: e.FINAL_CONFIG.translations.inputPlaceholder,
1524
- "onUpdate:modelValue": (h) => t.searches[s] = h,
1525
- onInput: r[4] || (r[4] = (h) => e.debounce(e.filterBody, 400)),
1526
- name: `search_${s}`,
1527
- style: g(`background:${e.FINAL_CONFIG.style.inputs.backgroundColor};color:${e.FINAL_CONFIG.style.inputs.color};border:${e.FINAL_CONFIG.style.inputs.border}`)
1528
- }, null, 44, bs)), [
1529
- [$, t.searches[s]]
1530
- ]) : y("", !0),
1531
- !t.hasNaN[s] && l.isSort && l.type !== t.constants.DATE ? (o(), i("button", {
1532
- key: 2,
1533
- onClick: (h) => e.sortTh(s, h),
1534
- class: A({ "th-button-active": [t.constants.DESC, t.constants.ASC].includes(t.sorts[s]) }),
1535
- style: g(`background:${[t.constants.DESC, t.constants.ASC].includes(t.sorts[s]) ? "" : e.FINAL_CONFIG.style.pagination.buttons.backgroundColor};color:${[t.constants.DESC, t.constants.ASC].includes(t.sorts[s]) ? "" : e.FINAL_CONFIG.style.pagination.buttons.color}`)
1536
- }, [
1537
- t.sorts[s] === t.constants.ASC ? (o(), i("span", {
1538
- key: 0,
1539
- innerHTML: [t.constants.NUMERIC].includes(l.type) ? e.icons.sort09 : e.icons.sortZA
1540
- }, null, 8, ms)) : t.sorts[s] === t.constants.DESC ? (o(), i("span", {
1541
- key: 1,
1542
- innerHTML: [t.constants.NUMERIC].includes(l.type) ? e.icons.sort90 : e.icons.sortAZ
1543
- }, null, 8, _s)) : (o(), i("span", {
1544
- key: 2,
1545
- innerHTML: e.icons.arrowSort
1546
- }, null, 8, ps))
1547
- ], 14, fs)) : y("", !0),
1548
- l.isMultiselect ? (o(), i("button", {
1549
- key: 3,
1550
- onClick: (h) => e.toggleMultiselect(s, l, h),
1551
- innerHTML: e.icons.filter,
1552
- class: A({ "th-button-active": t.multiselects[s] && t.multiselects[s].length !== e.getDropdownOptions(s).length }),
1553
- style: g(`background:${t.multiselects[s] && t.multiselects[s].length !== e.getDropdownOptions(s).length ? "" : e.FINAL_CONFIG.style.pagination.buttons.backgroundColor};color:${t.multiselects[s] && t.multiselects[s].length !== e.getDropdownOptions(s).length ? "" : e.FINAL_CONFIG.style.pagination.buttons.color}`)
1554
- }, null, 14, Ns)) : y("", !0),
1555
- t.currentSelectionSpan.col === s && e.canChart ? (o(), i("button", {
1556
- key: 4,
1557
- onClick: r[5] || (r[5] = (h) => t.showChart = !t.showChart),
1558
- innerHTML: e.icons.chart,
1559
- class: A({ "th-button-active": t.showChart }),
1560
- style: g(`background:${t.showChart ? "" : e.FINAL_CONFIG.style.pagination.buttons.backgroundColor};color:${t.showChart ? "" : e.FINAL_CONFIG.style.pagination.buttons.color}`)
1561
- }, null, 14, ks)) : y("", !0),
1562
- l.rangeFilter && t.rangeFilters[s] && !t.hasNaN[s] ? (o(), i("div", Cs, [
1563
- u("label", {
1564
- for: `rangeMin${s}`
1565
- }, [
1566
- Fs,
1567
- P(" min "),
1568
- ws
1569
- ], 8, Is),
1570
- q(u("input", {
1571
- type: "number",
1572
- id: `rangeMin${s}`,
1573
- max: t.immutableRangeFilters[s].max,
1574
- min: t.immutableRangeFilters[s].min,
1575
- "onUpdate:modelValue": (h) => t.rangeFilters[s].min = h,
1576
- onInput: r[6] || (r[6] = (h) => e.debounce(e.filterBody, 400)),
1577
- style: g(`background:${e.FINAL_CONFIG.style.inputs.backgroundColor};color:${e.FINAL_CONFIG.style.inputs.color};border:${e.FINAL_CONFIG.style.inputs.border}`)
1578
- }, null, 44, Ss), [
1579
- [
1580
- $,
1581
- t.rangeFilters[s].min,
1582
- void 0,
1583
- { number: !0 }
1584
- ]
1585
- ]),
1586
- q(u("input", {
1587
- type: "number",
1588
- id: `rangeMax${s}`,
1589
- max: t.immutableRangeFilters[s].max,
1590
- min: t.immutableRangeFilters[s].min,
1591
- "onUpdate:modelValue": (h) => t.rangeFilters[s].max = h,
1592
- onInput: r[7] || (r[7] = (h) => e.debounce(e.filterBody, 400)),
1593
- style: g(`background:${e.FINAL_CONFIG.style.inputs.backgroundColor};color:${e.FINAL_CONFIG.style.inputs.color};border:${e.FINAL_CONFIG.style.inputs.border}`)
1594
- }, null, 44, xs), [
1595
- [
1596
- $,
1597
- t.rangeFilters[s].max,
1598
- void 0,
1599
- { number: !0 }
1600
- ]
1601
- ]),
1602
- u("label", {
1603
- for: `rangeMax${s}`
1604
- }, [
1605
- Os,
1606
- P(" max "),
1607
- As
1608
- ], 8, Ls)
1609
- ])) : y("", !0),
1610
- e.canResetColumn(s, l) ? (o(), i("button", {
1611
- key: 6,
1612
- onClick: (h) => e.resetFilter(s, l, h),
1613
- disabled: e.isResetDisabled(s, l),
1614
- class: "th-reset"
1615
- }, " ✖ ", 8, Ds)) : y("", !0),
1616
- l.isMultiselect ? (o(), i("div", {
1617
- key: 7,
1618
- class: "th-dropdown",
1619
- "data-is-open": "false",
1620
- id: `th_dropdown_${s}`,
1621
- style: g(`background:${e.FINAL_CONFIG.style.dropdowns.backgroundColor};color:${e.FINAL_CONFIG.style.dropdowns.color}`)
1622
- }, [
1623
- u("button", {
1624
- class: "close-dropdown",
1625
- onClick: (h) => e.toggleMultiselect(s, l, h),
1626
- style: g(`background:${e.FINAL_CONFIG.style.closeButtons.backgroundColor};color:${e.FINAL_CONFIG.style.closeButtons.color}`)
1627
- }, " ✖ ", 12, Gs),
1628
- (o(!0), i(k, null, L(e.getDropdownOptions(s), (h, f) => (o(), i("span", {
1629
- class: "th-option",
1630
- key: `th_option_${s}_${f}`,
1631
- onClick: (m) => e.selectDropdownOption(h, s),
1632
- onKeyup: [
1633
- ee((m) => e.selectDropdownOption(h, s), ["enter"]),
1634
- ee((m) => e.selectDropdownOption(h, s), ["space"])
1635
- ],
1636
- style: g(`opacity:${e.isDropdownOptionSelected(h, s) ? 1 : 0.5}`),
1637
- tabindex: "0"
1638
- }, [
1639
- e.isDropdownOptionSelected(h, s) ? (o(), i("span", {
1640
- key: 0,
1641
- style: g(`color:${e.FINAL_CONFIG.style.dropdowns.icons.selected.color};margin-right:5px`),
1642
- class: "th-icon-green"
1643
- }, c(e.FINAL_CONFIG.style.dropdowns.icons.selected.unicode), 5)) : (o(), i("span", {
1644
- key: 1,
1645
- style: g(`color:${e.FINAL_CONFIG.style.dropdowns.icons.unselected.color};margin-right:5px`),
1646
- class: "th-icon-red"
1647
- }, c(e.FINAL_CONFIG.style.dropdowns.icons.unselected.unicode), 5)),
1648
- u("span", null, c(h), 1)
1649
- ], 44, Ts))), 128))
1650
- ], 12, Ms)) : y("", !0)
1651
- ])
1652
- ], 6))), 128))
1653
- ])
1654
- ], 64)) : y("", !0),
1655
- u("tr", null, [
1656
- zs,
1657
- (o(!0), i(k, null, L(t.tableHead, (l, s) => (o(), i("th", {
1658
- key: `col_selector_${s}`,
1659
- class: A({ "vue-ui-table-col-selector": !t.hasNaN[s], "th-has-nan": t.hasNaN[s] }),
1660
- style: g(`background:${s === t.selectedColumn && !t.hasNaN[s] ? e.FINAL_CONFIG.style.th.selected.backgroundColor : e.FINAL_CONFIG.style.th.backgroundColor};color:${s === t.selectedColumn && !t.hasNaN[s] ? e.FINAL_CONFIG.style.th.selected.color : e.FINAL_CONFIG.style.th.color};outline:${e.FINAL_CONFIG.style.th.outline}`)
1661
- }, [
1662
- t.hasNaN[s] ? y("", !0) : (o(), i("div", {
1663
- key: 0,
1664
- innerHTML: t.tableHead[s].type === t.constants.NUMERIC ? e.icons.chevronDown : "",
1665
- class: A({ "col-selector": t.tableHead[s].type === t.constants.NUMERIC }),
1666
- tabindex: "0",
1667
- onClick: te((h) => e.selectColumn(s), ["stop"]),
1668
- onKeyup: ee((h) => e.selectColumn(s), ["enter"])
1669
- }, null, 42, Ps))
1670
- ], 6))), 128))
1671
- ])
1672
- ]),
1673
- u("tbody", {
1674
- onClick: r[8] || (r[8] = (...l) => e.closeAllDropdowns && e.closeAllDropdowns(...l)),
1675
- onKeydown: r[9] || (r[9] = (l) => e.navigateCell(l))
1676
- }, [
1677
- (o(!0), i(k, null, L(e.visibleRows, (l, s) => (o(), i("tr", {
1678
- key: `tbody_${s}`,
1679
- "data-row": s % 2 === 0 ? "odd" : "even",
1680
- class: A(`tr_${t.uid}`),
1681
- style: g(`${s % 2 === 0 ? `background:${e.FINAL_CONFIG.style.rows.odd.backgroundColor};color:${e.FINAL_CONFIG.style.rows.odd.color}` : `background:${e.FINAL_CONFIG.style.rows.even.backgroundColor};color:${e.FINAL_CONFIG.style.rows.even.color}`}`)
1682
- }, [
1683
- u("td", {
1684
- class: "vue-ui-table-td-iteration",
1685
- "data-row": s % 2 === 0 ? "odd" : "even"
1686
- }, c(l.absoluteIndex + 1), 9, Bs),
1687
- (o(!0), i(k, null, L(l.td, (h, f) => (o(), i("td", {
1688
- "data-row": s % 2 === 0 ? "odd" : "even",
1689
- key: `td_${s}_${f}`,
1690
- style: g(e.isNumeric(h) || a.dataset.header[f].type === t.constants.DATE ? "text-align:right;font-variant-numeric: tabular-nums;" : ""),
1691
- onClick: (m) => e.selectTd({
1692
- td: h,
1693
- rowIndex: s,
1694
- colIndex: f,
1695
- headerType: a.dataset.header[f].type,
1696
- event: m
1697
- }),
1698
- onKeyup: [
1699
- ee((m) => e.selectTd({
1700
- td: h,
1701
- rowIndex: s,
1702
- colIndex: f,
1703
- headerType: a.dataset.header[f].type,
1704
- event: m
1705
- }), ["enter"]),
1706
- ee((m) => e.selectTd({
1707
- td: h,
1708
- rowIndex: s,
1709
- colIndex: f,
1710
- headerType: a.dataset.header[f].type,
1711
- event: m
1712
- }), ["space"])
1713
- ],
1714
- class: A({ "td-numeric": a.dataset.header[f].type === t.constants.NUMERIC, "td-focusable": !0, "td-has-nan": t.hasNaN[f] }),
1715
- id: `cell_${s}_${f}_${t.uid}`,
1716
- tabindex: "0"
1717
- }, [
1718
- l.meta && l.meta.markerIndices.includes(f) && l.meta.unicodeIcon ? (o(), i("span", {
1719
- key: 0,
1720
- style: g(`color:${l.meta.color};margin-right:3px`),
1721
- innerHTML: l.meta.unicodeIcon
1722
- }, null, 12, Hs)) : y("", !0),
1723
- a.dataset.header[f].type === t.constants.DATE ? (o(), i("span", Us, c(a.dataset.header[f].prefix) + " " + c(new Date(h).toLocaleString().slice(0, 10)) + " " + c(a.dataset.header[f].suffix), 1)) : a.dataset.header[f].isPercentage ? (o(), i("span", Vs, c(Number((h * 100).toFixed(a.dataset.header[f].decimals)).toLocaleString()) + "% ", 1)) : t.percentages[f] && a.dataset.header[f].percentageTo && !a.dataset.header[f].isPercentage ? (o(), i("span", {
1724
- key: 3,
1725
- class: A({ "td-nan": isNaN(Number(h)) })
1726
- }, c(a.dataset.header[f].prefix) + " " + c(isNaN(Number(h)) ? `${h} is not ${t.constants.NUMERIC}` : Number(h.toFixed(a.dataset.header[f].decimals)).toLocaleString()) + " " + c(a.dataset.header[f].suffix) + " (" + c(isNaN(Number(h)) ? "" : Number((h / e.getSum(t.percentages[f].referenceIndex) * 100).toFixed(a.dataset.header[f].decimals)).toLocaleString()) + "%) ", 3)) : a.dataset.header[f].type === t.constants.NUMERIC ? (o(), i("span", {
1727
- key: 4,
1728
- class: A({ "td-nan": isNaN(Number(h)) })
1729
- }, c(a.dataset.header[f].prefix) + " " + c(isNaN(Number(h)) ? `${h} is not ${t.constants.NUMERIC}` : Number(h.toFixed(a.dataset.header[f].decimals)).toLocaleString()) + " " + c(a.dataset.header[f].suffix), 3)) : (o(), i("span", Ws, c(a.dataset.header[f].prefix) + " " + c(h) + " " + c(a.dataset.header[f].suffix), 1))
1730
- ], 46, Rs))), 128))
1731
- ], 14, Es))), 128))
1732
- ], 32)
1733
- ])
1734
- ], 4),
1735
- u("div", {
1736
- class: A({ "td-selector-info": !0, "td-selector-info--active": t.currentSelectionSpan.col !== void 0 && t.currentSelectionSpan.rows.length }),
1737
- style: g(`background:${e.FINAL_CONFIG.style.infoBar.backgroundColor};color:${e.FINAL_CONFIG.style.infoBar.color}`)
1738
- }, [
1739
- t.currentSelectionSpan.col !== void 0 && t.currentSelectionSpan.rows.length ? (o(), i(k, { key: 0 }, [
1740
- u("div", {
1741
- innerHTML: e.icons.table,
1742
- class: "td-selector-icon"
1743
- }, null, 8, js),
1744
- u("span", null, [
1745
- u("b", null, [
1746
- P(c(a.dataset.header[t.currentSelectionSpan.col].name) + " ", 1),
1747
- a.dataset.header[t.currentSelectionSpan.col].isPercentage ? (o(), i("span", Xs, " / " + c(a.dataset.header[t.percentages[t.currentSelectionSpan.col].referenceIndex].name), 1)) : y("", !0)
1748
- ]),
1749
- u("span", Ys, [
1750
- P(c(e.FINAL_CONFIG.translations.nb) + " : ", 1),
1751
- u("b", Zs, c(t.currentSelectionSpan.rows.length), 1)
1752
- ]),
1753
- u("span", qs, [
1754
- P(c(e.FINAL_CONFIG.translations.sum) + " : ", 1),
1755
- a.dataset.header[t.currentSelectionSpan.col].isPercentage ? (o(), i("b", Ks, c(e.selectedCellsCalculations.sumPercentage), 1)) : (o(), i("b", Js, c(a.dataset.header[t.currentSelectionSpan.col].prefix) + " " + c(e.selectedCellsCalculations.sumRegular) + " " + c(a.dataset.header[t.currentSelectionSpan.col].suffix), 1)),
1756
- a.dataset.header[t.currentSelectionSpan.col].isPercentage ? (o(), i("b", Qs, "%")) : y("", !0)
1757
- ]),
1758
- u("span", $s, [
1759
- P(c(e.FINAL_CONFIG.translations.average) + " : ", 1),
1760
- a.dataset.header[t.currentSelectionSpan.col].isPercentage ? (o(), i("b", el, c(e.selectedCellsCalculations.averagePercentage), 1)) : (o(), i("b", tl, c(a.dataset.header[t.currentSelectionSpan.col].prefix) + " " + c(e.selectedCellsCalculations.averageRegular) + " " + c(a.dataset.header[t.currentSelectionSpan.col].suffix), 1)),
1761
- a.dataset.header[t.currentSelectionSpan.col].isPercentage ? (o(), i("b", sl, "%")) : y("", !0)
1762
- ])
1763
- ]),
1764
- u("button", {
1765
- onClick: r[10] || (r[10] = (...l) => e.resetSelection && e.resetSelection(...l)),
1766
- class: "td-selector-info-reset",
1767
- style: g(`background:${e.FINAL_CONFIG.style.closeButtons.backgroundColor};color:${e.FINAL_CONFIG.style.closeButtons.color};border-radius:${e.FINAL_CONFIG.style.closeButtons.borderRadius}`)
1768
- }, " ✖ ", 4)
1769
- ], 64)) : y("", !0)
1770
- ], 6),
1771
- t.bodyCopy.length > 10 ? (o(), i("div", ll, [
1772
- P(c(e.FINAL_CONFIG.translations.totalRows) + " : " + c(a.dataset.body.length) + " | " + c(e.FINAL_CONFIG.translations.paginatorLabel) + " : ", 1),
1773
- t.bodyCopy.length > 10 ? q((o(), i("select", {
1774
- key: 0,
1775
- id: "paginatorSelector",
1776
- "onUpdate:modelValue": r[11] || (r[11] = (l) => t.itemsPerPage = l),
1777
- onChange: r[12] || (r[12] = (...l) => e.resetSelection && e.resetSelection(...l)),
1778
- style: g(`background:${e.FINAL_CONFIG.style.inputs.backgroundColor};color:${e.FINAL_CONFIG.style.inputs.color};border:${e.FINAL_CONFIG.style.inputs.border}`)
1779
- }, [
1780
- (o(!0), i(k, null, L(t.paginatorOptions, (l, s) => (o(), i(k, null, [
1781
- t.bodyCopy.length > l || a.dataset.body.length === l ? (o(), i("option", {
1782
- key: `paginator_option_${s}`
1783
- }, c(l), 1)) : y("", !0)
1784
- ], 64))), 256))
1785
- ], 36)), [
1786
- [
1787
- Ge,
1788
- t.itemsPerPage,
1789
- void 0,
1790
- { number: !0 }
1791
- ]
1792
- ]) : y("", !0)
1793
- ])) : y("", !0),
1794
- t.itemsPerPage >= 250 ? (o(), i("div", nl, [
1795
- u("span", {
1796
- innerHTML: e.icons.warning
1797
- }, null, 8, rl),
1798
- P(c(e.FINAL_CONFIG.translations.sizeWarning), 1)
1799
- ])) : y("", !0),
1800
- e.pages.length > 1 && e.pages.length <= 10 ? (o(), i("div", {
1801
- key: 2,
1802
- class: "vue-ui-table-navigation-indicator",
1803
- style: g(`background:${e.FINAL_CONFIG.style.pagination.navigationIndicator.backgroundColor};width:calc(${t.currentPage / (e.pages.length - 1) * 100}%)`)
1804
- }, null, 4)) : y("", !0),
1805
- e.pages.length > 1 ? (o(), i("div", al, [
1806
- u("button", {
1807
- class: "vue-ui-table-navigation",
1808
- onClick: r[13] || (r[13] = te((l) => e.navigate("previous"), ["stop"])),
1809
- innerHTML: e.icons.chevronLeft,
1810
- disabled: t.currentPage === 0,
1811
- style: g(`background:${e.FINAL_CONFIG.style.pagination.buttons.backgroundColor};color:${e.FINAL_CONFIG.style.pagination.buttons.color};opacity:${t.currentPage === 0 ? e.FINAL_CONFIG.style.pagination.buttons.opacityDisabled : 1}`)
1812
- }, null, 12, ol),
1813
- e.pages.length > 3 ? (o(), i(k, { key: 0 }, [
1814
- u("button", {
1815
- class: "vue-ui-table-navigation",
1816
- onClick: r[14] || (r[14] = te((l) => e.navigate(1), ["stop"])),
1817
- disabled: t.currentPage === 0,
1818
- style: g(`background:${e.FINAL_CONFIG.style.pagination.buttons.backgroundColor};color:${e.FINAL_CONFIG.style.pagination.buttons.color};opacity:${t.currentPage === 0 ? e.FINAL_CONFIG.style.pagination.buttons.opacityDisabled : 1}`)
1819
- }, " 1 ", 12, il),
1820
- e.pages.length > 10 ? (o(), i("div", ul, [
1821
- u("label", cl, c(e.FINAL_CONFIG.translations.page) + " " + c(t.currentPage + 1) + " / " + c(e.pages.length), 1),
1822
- u("input", {
1823
- class: "vue-ui-table-page-scroller",
1824
- id: "pageScroller",
1825
- type: "range",
1826
- step: "1",
1827
- min: 0,
1828
- max: e.pages.length - 1,
1829
- onInput: r[15] || (r[15] = (l) => e.updateCurrentPage(l)),
1830
- value: t.currentPage,
1831
- style: g(`background:${e.FINAL_CONFIG.style.inputs.backgroundColor};color:${e.FINAL_CONFIG.style.inputs.color};border:${e.FINAL_CONFIG.style.inputs.border};accent-color:${e.FINAL_CONFIG.style.inputs.accentColor}`)
1832
- }, null, 44, dl)
1833
- ])) : (o(), i("span", hl, c(e.FINAL_CONFIG.translations.page) + " " + c(t.currentPage + 1) + " / " + c(e.pages.length), 1)),
1834
- u("button", {
1835
- class: "vue-ui-table-navigation",
1836
- onClick: r[16] || (r[16] = te((l) => e.navigate(e.pages.length), ["stop"])),
1837
- disabled: t.currentPage === e.pages.length - 1,
1838
- style: g(`background:${e.FINAL_CONFIG.style.pagination.buttons.backgroundColor};color:${e.FINAL_CONFIG.style.pagination.buttons.color};opacity:${t.currentPage === e.pages.length - 1 ? e.FINAL_CONFIG.style.pagination.buttons.opacityDisabled : 1}`)
1839
- }, c(e.pages.length), 13, gl)
1840
- ], 64)) : (o(), i(k, { key: 1 }, [
1841
- P(c(e.FINAL_CONFIG.translations.page) + " " + c(t.currentPage + 1) + " / " + c(e.pages.length), 1)
1842
- ], 64)),
1843
- u("button", {
1844
- class: "vue-ui-table-navigation",
1845
- onClick: r[17] || (r[17] = te((l) => e.navigate("next"), ["stop"])),
1846
- innerHTML: e.icons.chevronRight,
1847
- disabled: t.currentPage === e.pages.length - 1,
1848
- style: g(`background:${e.FINAL_CONFIG.style.pagination.buttons.backgroundColor};color:${e.FINAL_CONFIG.style.pagination.buttons.color};opacity:${t.currentPage === e.pages.length - 1 ? e.FINAL_CONFIG.style.pagination.buttons.opacityDisabled : 1}`)
1849
- }, null, 12, yl)
1850
- ])) : y("", !0),
1851
- t.showChart && e.canChart ? (o(), i("div", {
1852
- key: 4,
1853
- class: "vue-ui-table-chart-modal",
1854
- style: g(`top:${t.clientY}px; left:${t.clientX}px;background:${e.FINAL_CONFIG.style.chart.modal.backgroundColor};color:${e.FINAL_CONFIG.style.chart.modal.color}`)
1855
- }, [
1856
- u("button", {
1857
- class: "close-chart-modal",
1858
- onClick: r[18] || (r[18] = (l) => t.showChart = !1),
1859
- style: g(`background:${e.FINAL_CONFIG.style.closeButtons.backgroundColor};color:${e.FINAL_CONFIG.style.closeButtons.color};border-radius:${e.FINAL_CONFIG.style.closeButtons.borderRadius}`)
1860
- }, " ✖ ", 4),
1861
- u("div", vl, [
1862
- e.availableDonutCategories.length ? (o(), i("button", {
1863
- key: 0,
1864
- onClick: r[19] || (r[19] = (l) => t.showDonutOptions = !0),
1865
- innerHTML: e.icons.donut,
1866
- class: A({ "is-active-chart": t.chart.type === t.constants.DONUT || t.showDonutOptions }),
1867
- style: g(`background:${t.chart.type === t.constants.DONUT || t.showDonutOptions ? e.FINAL_CONFIG.style.chart.modal.buttons.selected.backgroundColor : e.FINAL_CONFIG.style.chart.modal.buttons.unselected.backgroundColor};color:${t.chart.type === t.constants.DONUT || t.showDonutOptions ? e.FINAL_CONFIG.style.chart.modal.buttons.selected.color : e.FINAL_CONFIG.style.chart.modal.buttons.unselected.color}`)
1868
- }, null, 14, bl)) : y("", !0),
1869
- u("button", {
1870
- onClick: r[20] || (r[20] = (l) => {
1871
- t.chart.type = t.constants.LINE, t.showDonutOptions = !1;
1872
- }),
1873
- innerHTML: e.icons.chart,
1874
- class: A({ "is-active-chart": t.chart.type === t.constants.LINE && !t.showDonutOptions }),
1875
- style: g(`background:${t.chart.type === t.constants.LINE && !t.showDonutOptions ? e.FINAL_CONFIG.style.chart.modal.buttons.selected.backgroundColor : e.FINAL_CONFIG.style.chart.modal.buttons.unselected.backgroundColor};color:${t.chart.type === t.constants.LINE && !t.showDonutOptions ? e.FINAL_CONFIG.style.chart.modal.buttons.selected.color : e.FINAL_CONFIG.style.chart.modal.buttons.unselected.color}`)
1876
- }, null, 14, fl),
1877
- u("button", {
1878
- onClick: r[21] || (r[21] = (l) => {
1879
- t.chart.type = t.constants.BAR, t.showDonutOptions = !1;
1880
- }),
1881
- innerHTML: e.icons.bar,
1882
- class: A({ "is-active-chart": t.chart.type === t.constants.BAR && !t.showDonutOptions }),
1883
- style: g(`background:${t.chart.type === t.constants.BAR && !t.showDonutOptions ? e.FINAL_CONFIG.style.chart.modal.buttons.selected.backgroundColor : e.FINAL_CONFIG.style.chart.modal.buttons.unselected.backgroundColor};color:${t.chart.type === t.constants.BAR && !t.showDonutOptions ? e.FINAL_CONFIG.style.chart.modal.buttons.selected.color : e.FINAL_CONFIG.style.chart.modal.buttons.unselected.color}`)
1884
- }, null, 14, ml)
1885
- ]),
1886
- u("div", _l, [
1887
- u("b", null, [
1888
- P(c(a.dataset.header[t.currentSelectionSpan.col].name) + " ", 1),
1889
- a.dataset.header[t.currentSelectionSpan.col].isPercentage && a.dataset.header[t.currentSelectionSpan.col].percentageTo ? (o(), i("span", pl, " / " + c(a.dataset.header[t.percentages[t.currentSelectionSpan.col].referenceIndex].name), 1)) : y("", !0),
1890
- t.chart.type === t.constants.DONUT && t.selectedDonutCategory && t.selectedDonutCategory.name ? (o(), i("span", Nl, c(e.FINAL_CONFIG.translations.by) + " " + c(t.selectedDonutCategory.name), 1)) : y("", !0)
1891
- ])
1892
- ]),
1893
- u("div", kl, [
1894
- t.showDonutOptions && e.availableDonutCategories.length ? (o(), i("div", {
1895
- key: 0,
1896
- style: g(`background:${e.FINAL_CONFIG.style.chart.modal.backgroundColor};color:${e.FINAL_CONFIG.style.chart.modal.color}`)
1897
- }, [
1898
- u("fieldset", Cl, [
1899
- u("legend", null, c(e.FINAL_CONFIG.translations.chooseCategoryColumn), 1),
1900
- u("div", Il, [
1901
- (o(!0), i(k, null, L(e.availableDonutCategories, (l, s) => (o(), i("div", {
1902
- key: `donut_radio_${s}`,
1903
- class: "vue-ui-table-fieldset-option"
1904
- }, [
1905
- u("input", {
1906
- type: "radio",
1907
- name: l.name,
1908
- id: l.name,
1909
- checked: t.selectedDonutCategory && l.name === t.selectedDonutCategory.name,
1910
- onInput: (h) => t.selectedDonutCategory = e.availableDonutCategories[s],
1911
- style: g(`background:${e.FINAL_CONFIG.style.inputs.backgroundColor};color:${e.FINAL_CONFIG.style.inputs.color};border:${e.FINAL_CONFIG.style.inputs.border};accent-color:${e.FINAL_CONFIG.style.inputs.accentColor}`)
1912
- }, null, 44, Fl),
1913
- u("label", {
1914
- for: l.name
1915
- }, c(l.name), 9, wl)
1916
- ]))), 128))
1917
- ]),
1918
- u("button", {
1919
- class: "vue-ui-table-generate-donut",
1920
- disabled: !t.selectedDonutCategory,
1921
- onClick: r[22] || (r[22] = (...l) => e.applyDonutOption && e.applyDonutOption(...l)),
1922
- style: g(`background:${e.FINAL_CONFIG.style.chart.modal.buttons.selected.backgroundColor};color:${e.FINAL_CONFIG.style.chart.modal.buttons.selected.color}`)
1923
- }, [
1924
- u("div", {
1925
- style: { "margin-bottom": "-3px" },
1926
- innerHTML: e.icons.donut
1927
- }, null, 8, xl),
1928
- P(" " + c(e.FINAL_CONFIG.translations.makeDonut), 1)
1929
- ], 12, Sl)
1930
- ])
1931
- ], 4)) : y("", !0),
1932
- [t.constants.BAR, t.constants.LINE].includes(t.chart.type) && !t.showDonutOptions ? (o(), i(k, { key: 1 }, [
1933
- (o(), i("svg", {
1934
- viewBox: `0 0 ${t.chart.width} ${t.chart.height}`,
1935
- class: "vue-ui-table-chart-svg",
1936
- style: g(`background:${e.FINAL_CONFIG.style.chart.layout.backgroundColor}`)
1937
- }, [
1938
- u("defs", null, [
1939
- u("marker", {
1940
- id: "arrowhead",
1941
- markerWidth: e.FINAL_CONFIG.style.chart.layout.progression.arrowSize,
1942
- markerHeight: e.FINAL_CONFIG.style.chart.layout.progression.arrowSize,
1943
- refX: "0",
1944
- refY: e.FINAL_CONFIG.style.chart.layout.progression.arrowSize / 2,
1945
- orient: "auto"
1946
- }, [
1947
- u("polygon", {
1948
- points: `0 0, ${e.FINAL_CONFIG.style.chart.layout.progression.arrowSize} ${e.FINAL_CONFIG.style.chart.layout.progression.arrowSize / 2}, 0 ${e.FINAL_CONFIG.style.chart.layout.progression.arrowSize}`,
1949
- fill: e.FINAL_CONFIG.style.chart.layout.progression.stroke
1950
- }, null, 8, Al)
1951
- ], 8, Ol)
1952
- ]),
1953
- u("g", null, [
1954
- u("line", {
1955
- x1: 0,
1956
- x2: t.chart.width,
1957
- y1: e.chartData.zero,
1958
- y2: e.chartData.zero,
1959
- stroke: e.FINAL_CONFIG.style.chart.layout.axis.stroke,
1960
- "stroke-width": e.FINAL_CONFIG.style.chart.layout.axis.strokeWidth,
1961
- "stroke-linecap": "round"
1962
- }, null, 8, Dl),
1963
- u("line", {
1964
- x1: 0,
1965
- x2: 0,
1966
- y1: 0,
1967
- y2: t.chart.height,
1968
- stroke: e.FINAL_CONFIG.style.chart.layout.axis.stroke,
1969
- "stroke-width": e.FINAL_CONFIG.style.chart.layout.axis.strokeWidth,
1970
- "stroke-linecap": "round"
1971
- }, null, 8, Ml)
1972
- ]),
1973
- t.chart.type === t.constants.LINE ? (o(!0), i(k, { key: 0 }, L(e.chartData.plots, (l, s) => (o(), i("g", {
1974
- key: `trap_fill_${s}`
1975
- }, [
1976
- u("rect", {
1977
- x: s * e.chartData.slot,
1978
- y: 0,
1979
- width: e.chartData.slot,
1980
- height: t.chart.height,
1981
- fill: t.selectedPlot === s ? "rgba(0,0,0,0.03)" : "transparent"
1982
- }, null, 8, Gl)
1983
- ]))), 128)) : y("", !0),
1984
- (o(!0), i(k, null, L(e.chartData.plots, (l, s) => (o(), i("g", {
1985
- key: `plot_${s}`
1986
- }, [
1987
- t.chart.type === t.constants.BAR ? (o(), i(k, { key: 0 }, [
1988
- Tl,
1989
- u("rect", {
1990
- x: l.x - e.chartData.slot / 2,
1991
- y: e.chartData.isAllNegative ? 0 : e.calcRectY(l.value, l.y),
1992
- height: l.value >= 0 ? e.chartData.zero - l.y : e.chartData.isAllNegative ? l.y : l.y - e.chartData.zero,
1993
- width: e.chartData.slot,
1994
- fill: e.FINAL_CONFIG.style.chart.layout.bar.fill ? e.FINAL_CONFIG.style.chart.layout.bar.fill : t.selectedPlot === s ? l.value >= 0 ? "url(#barGradientSelected)" : "url(#barGradientSelectedNeg)" : (l.value >= 0, "url(#barGradient)"),
1995
- stroke: e.FINAL_CONFIG.style.chart.layout.bar.stroke,
1996
- "stroke-width": "1"
1997
- }, null, 8, zl),
1998
- t.selectedPlot === s ? (o(), i("foreignObject", {
1999
- key: 0,
2000
- x: l.x - (e.chartData.slot < 100 ? 50 : e.chartData.slot / 2),
2001
- y: l.value >= 0 ? l.y - 32 : l.y + 4,
2002
- height: "20",
2003
- width: e.chartData.slot < 100 ? 100 : e.chartData.slot,
2004
- style: { overflow: "visible" }
2005
- }, [
2006
- u("div", {
2007
- style: g(`width:100%;text-align:center;font-size:20px;color:${e.FINAL_CONFIG.style.chart.layout.labels.color}`)
2008
- }, c(l.prefix) + " " + c(Number(l.value.toFixed(a.dataset.header[t.currentSelectionSpan.col].decimals)).toLocaleString()) + " " + c(l.suffix), 5)
2009
- ], 8, Pl)) : y("", !0)
2010
- ], 64)) : y("", !0),
2011
- t.chart.type === t.constants.LINE ? (o(), i(k, { key: 1 }, [
2012
- s + 1 < e.chartData.plots.length ? (o(), i("line", {
2013
- key: 0,
2014
- x1: l.x,
2015
- y1: l.y,
2016
- x2: e.chartData.plots[s + 1].x,
2017
- y2: e.chartData.plots[s + 1].y,
2018
- "stroke-width": e.FINAL_CONFIG.style.chart.layout.line.strokeWidth,
2019
- stroke: e.FINAL_CONFIG.style.chart.layout.line.stroke
2020
- }, null, 8, El)) : y("", !0),
2021
- t.selectedPlot === s ? (o(), i("line", {
2022
- key: 1,
2023
- x1: l.x,
2024
- y1: l.y,
2025
- x2: l.x,
2026
- y2: t.chart.height,
2027
- stroke: e.FINAL_CONFIG.style.chart.layout.line.selector.stroke,
2028
- "stroke-width": e.FINAL_CONFIG.style.chart.layout.line.selector.strokeWidth,
2029
- "stroke-dasharray": e.FINAL_CONFIG.style.chart.layout.line.selector.strokeDasharray
2030
- }, null, 8, Bl)) : y("", !0),
2031
- u("circle", {
2032
- cx: l.x,
2033
- cy: l.y,
2034
- r: t.selectedPlot === s ? e.FINAL_CONFIG.style.chart.layout.line.plot.radius.selected : e.FINAL_CONFIG.style.chart.layout.line.plot.radius.unselected,
2035
- fill: e.FINAL_CONFIG.style.chart.layout.line.plot.fill,
2036
- stroke: e.FINAL_CONFIG.style.chart.layout.line.plot.stroke,
2037
- "stroke-width": e.FINAL_CONFIG.style.chart.layout.line.plot.strokeWidth
2038
- }, null, 8, Rl),
2039
- t.selectedPlot === s ? (o(), i("foreignObject", {
2040
- key: 2,
2041
- x: l.x - (e.chartData.slot < 100 ? 50 : e.chartData.slot / 2),
2042
- y: e.placeLabelOnTopOrBottom({
2043
- previousPlot: e.chartData.plots[s - 1],
2044
- currentPlot: l,
2045
- nextPlot: e.chartData.plots[s + 1]
2046
- }),
2047
- height: "20",
2048
- width: e.chartData.slot < 100 ? 100 : e.chartData.slot,
2049
- style: { overflow: "visible" }
2050
- }, [
2051
- u("div", {
2052
- style: g(`width:100%;text-align:center;font-size:20px;color:${e.FINAL_CONFIG.style.chart.layout.labels.color}`)
2053
- }, c(l.prefix) + " " + c(Number(l.value.toFixed(a.dataset.header[t.currentSelectionSpan.col].decimals)).toLocaleString()) + " " + c(l.suffix), 5)
2054
- ], 8, Hl)) : y("", !0)
2055
- ], 64)) : y("", !0)
2056
- ]))), 128)),
2057
- (o(!0), i(k, null, L(e.chartData.plots, (l, s) => (o(), i("g", {
2058
- key: `trap_${s}`
2059
- }, [
2060
- u("rect", {
2061
- x: s * e.chartData.slot,
2062
- y: 0,
2063
- width: e.chartData.slot,
2064
- height: t.chart.height,
2065
- fill: "transparent",
2066
- onMouseenter: (h) => t.selectedPlot = s,
2067
- onMouseleave: r[23] || (r[23] = (h) => t.selectedPlot = void 0)
2068
- }, null, 40, Ul)
2069
- ]))), 128)),
2070
- e.chartData.progression && e.chartData.plots.length > 2 ? (o(), i("line", {
2071
- key: 1,
2072
- x1: e.chartData.progression.x1,
2073
- y1: e.chartData.progression.y1,
2074
- x2: e.chartData.progression.x2,
2075
- y2: e.chartData.progression.y2,
2076
- stroke: e.FINAL_CONFIG.style.chart.layout.progression.stroke,
2077
- "stroke-width": e.FINAL_CONFIG.style.chart.layout.progression.strokeWidth,
2078
- "stroke-dasharray": e.FINAL_CONFIG.style.chart.layout.progression.strokeDasharray,
2079
- "marker-end": "url(#arrowhead)"
2080
- }, null, 8, Vl)) : y("", !0)
2081
- ], 12, Ll)),
2082
- e.chartData.plots.length >= 2 ? (o(), i("div", {
2083
- key: 0,
2084
- class: "chart-trend",
2085
- style: g(`color:${e.FINAL_CONFIG.style.chart.modal.color}`)
2086
- }, [
2087
- Wl,
2088
- P(" Trend: " + c((e.chartData.progression.trend * 100).toFixed(1)) + " % ", 1)
2089
- ], 4)) : y("", !0)
2090
- ], 64)) : y("", !0),
2091
- [t.constants.DONUT].includes(t.chart.type) && !t.showDonutOptions ? (o(), i(k, { key: 2 }, [
2092
- (o(), i("svg", {
2093
- viewBox: "0 0 100 100",
2094
- style: g(`max-width:100%; overflow: visible; padding: 0 24px;background:${e.FINAL_CONFIG.style.chart.layout.backgroundColor}`),
2095
- class: "vue-ui-table-donut-chart"
2096
- }, [
2097
- (o(!0), i(k, null, L(t.currentDonut, (l, s) => (o(), i("path", {
2098
- key: `arc_${s}`,
2099
- d: l.path,
2100
- stroke: `${l.color}CC`,
2101
- "stroke-width": 20,
2102
- fill: "none"
2103
- }, null, 8, jl))), 128)),
2104
- (o(!0), i(k, null, L(t.currentDonut, (l, s) => (o(), i("foreignObject", {
2105
- key: `text_marker_${s}`,
2106
- x: e.calcDonutMarkerLabelPositionX(l) - 15,
2107
- y: l.center.endY - 15,
2108
- height: "30",
2109
- width: "30",
2110
- style: { overflow: "visible", display: "flex", "align-items": "center", "justify-content": "center" }
2111
- }, [
2112
- e.isArcBigEnough(l) ? (o(), i("div", {
2113
- key: 0,
2114
- class: "vue-ui-table-donut-label",
2115
- style: g(`color:${e.FINAL_CONFIG.style.chart.layout.labels.color}`)
2116
- }, [
2117
- u("b", null, c(e.displayArcPercentage(l, t.currentDonut)), 1),
2118
- u("span", Yl, c(l.name), 1)
2119
- ], 4)) : y("", !0)
2120
- ], 8, Xl))), 128)),
2121
- u("text", {
2122
- x: 50,
2123
- y: 42,
2124
- "text-anchor": "middle",
2125
- "font-size": "6",
2126
- fill: e.FINAL_CONFIG.style.chart.layout.labels.color
2127
- }, c(e.FINAL_CONFIG.translations.total), 9, Zl),
2128
- u("text", {
2129
- x: 50,
2130
- y: 48,
2131
- "text-anchor": "middle",
2132
- "font-size": "4",
2133
- fill: e.FINAL_CONFIG.style.chart.layout.labels.color
2134
- }, c(a.dataset.header[t.currentSelectionSpan.col].prefix) + " " + c(e.donutHollowLabels.total) + " " + c(a.dataset.header[t.currentSelectionSpan.col].isPercentage ? "%" : "") + " " + c(a.dataset.header[t.currentSelectionSpan.col].suffix), 9, ql),
2135
- u("text", {
2136
- x: 50,
2137
- y: 56,
2138
- "text-anchor": "middle",
2139
- "font-size": "6",
2140
- fill: e.FINAL_CONFIG.style.chart.layout.labels.color
2141
- }, c(e.FINAL_CONFIG.translations.average), 9, Kl),
2142
- u("text", {
2143
- x: 50,
2144
- y: 62,
2145
- "text-anchor": "middle",
2146
- "font-size": "4",
2147
- fill: e.FINAL_CONFIG.style.chart.layout.labels.color
2148
- }, c(a.dataset.header[t.currentSelectionSpan.col].prefix) + " " + c(e.donutHollowLabels.average) + " " + c(a.dataset.header[t.currentSelectionSpan.col].isPercentage ? "%" : "") + " " + c(a.dataset.header[t.currentSelectionSpan.col].suffix), 9, Jl)
2149
- ], 4)),
2150
- u("div", Ql, [
2151
- (o(!0), i(k, null, L(t.currentDonut.filter((l) => l.value > 0), (l, s) => (o(), i("div", {
2152
- class: "vue-ui-table-donut-legend-item",
2153
- key: `donut_legend_${s}`,
2154
- style: g(`color:${e.FINAL_CONFIG.style.chart.layout.labels.color}`)
2155
- }, [
2156
- u("span", {
2157
- style: g(`color:${l.color}`)
2158
- }, "●", 4),
2159
- u("span", null, c(l.name) + " : ", 1),
2160
- u("b", null, c(a.dataset.header[t.currentSelectionSpan.col].prefix) + " " + c(e.getDonutLegendValue(l.absoluteValue)) + " " + c(a.dataset.header[t.currentSelectionSpan.col].isPercentage ? "%" : "") + " " + c(a.dataset.header[t.currentSelectionSpan.col].suffix), 1),
2161
- u("span", null, "(" + c((l.proportion * 100).toFixed(1)) + "%)", 1)
2162
- ], 4))), 128))
2163
- ])
2164
- ], 64)) : y("", !0)
2165
- ], 512)
2166
- ], 4)) : y("", !0)
2167
- ], 4);
2168
- }
2169
- const en = /* @__PURE__ */ de(Ot, [["render", $l], ["__scopeId", "data-v-5a108fbd"]]), cn = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
2170
- __proto__: null,
2171
- default: en
2172
- }, Symbol.toStringTag, { value: "Module" }));
2173
- export {
2174
- Le as S,
2175
- Lt as T,
2176
- on as a,
2177
- un as b,
2178
- cn as c,
2179
- en as v
2180
- };