vue-data-ui 3.0.22 → 3.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (109) hide show
  1. package/dist/{Arrow-C3_2GkYQ.js → Arrow-DvG07exK.js} +1 -1
  2. package/dist/{BaseDraggableDialog-BhxUDwEm.js → BaseDraggableDialog-O7900pGp.js} +72 -59
  3. package/dist/{BaseIcon-B717hnWR.js → BaseIcon-DHtro8us.js} +1 -1
  4. package/dist/{useLoading-D7YHNtLX.js → BaseScanner-BgWxam9d.js} +11 -11
  5. package/dist/{ColorPicker-CH5_RNaK.js → ColorPicker-CpWzNn4r.js} +2 -2
  6. package/dist/DataTable-DJjA2_wf.js +140 -0
  7. package/dist/Legend-2-dC7DVb.js +72 -0
  8. package/dist/{NonSvgPenAndPaper-DCJGSteM.js → NonSvgPenAndPaper-DHeE4Yuv.js} +3 -3
  9. package/dist/{PackageVersion-CE7HSich.js → PackageVersion-DU12WH3O.js} +1 -1
  10. package/dist/{PenAndPaper-BMHsOtT8.js → PenAndPaper-B7QEDgx4.js} +3 -3
  11. package/dist/{Shape-C3J8aKNH.js → Shape-Dj2Hl33H.js} +1 -1
  12. package/dist/{Slicer-BEBDljWA.js → Slicer-D99HytqX.js} +2 -2
  13. package/dist/{SparkTooltip-CVSZQtoP.js → SparkTooltip-B-wL07rI.js} +1 -1
  14. package/dist/{Title-BL-IjQmj.js → Title-Dq2_Z9kR.js} +1 -1
  15. package/dist/{Tooltip-CCnDaboi.js → Tooltip-Y219DXZO.js} +1 -1
  16. package/dist/{UserOptions-BWMV0_Ze.js → UserOptions-BuGfCdAY.js} +2 -2
  17. package/dist/{dom-to-png-DwUGURhV.js → dom-to-png-BhciAKaM.js} +1 -1
  18. package/dist/{img-DsVqerdt.js → img-JOqdlnUs.js} +1 -1
  19. package/dist/{index-BHb_mcWF.js → index-CDQbCd41.js} +37 -2
  20. package/dist/{pdf-Ckt8JtYf.js → pdf-Dd-LIJqz.js} +1 -1
  21. package/dist/style.css +1 -1
  22. package/dist/types/vue-data-ui.d.cts +35 -0
  23. package/dist/types/vue-data-ui.d.ts +35 -0
  24. package/dist/{useAutoSizeLabelsInsideViewbox-Cy946l1e.js → useAutoSizeLabelsInsideViewbox-Bky5KGFZ.js} +1 -1
  25. package/dist/{useNestedProp-aC9S6EFJ.js → useNestedProp-BPEHGiYX.js} +1 -1
  26. package/dist/{usePrinter-B7rhbRrT.js → usePrinter-Bnl1YeUU.js} +2 -2
  27. package/dist/{vue-data-ui-Bu7qDtf0.js → vue-data-ui-DcNYz3cZ.js} +64 -64
  28. package/dist/vue-data-ui.js +1 -1
  29. package/dist/vue-ui-3d-bar-BNIFAeN-.js +1369 -0
  30. package/dist/{vue-ui-accordion-DsnF0JuK.js → vue-ui-accordion-Bf_LHFFX.js} +3 -3
  31. package/dist/{vue-ui-age-pyramid-s8xyb3Gf.js → vue-ui-age-pyramid-Bz-l1afR.js} +333 -286
  32. package/dist/{vue-ui-annotator-DRacM62z.js → vue-ui-annotator-BcfRH2BF.js} +2 -2
  33. package/dist/{vue-ui-bullet-DdDrdyOJ.js → vue-ui-bullet-DK1aM9fX.js} +8 -8
  34. package/dist/{vue-ui-candlestick-BsNnInNt.js → vue-ui-candlestick-D6mMjvtu.js} +453 -406
  35. package/dist/{vue-ui-carousel-table-Ci9mrUBd.js → vue-ui-carousel-table-Vp5f238W.js} +4 -4
  36. package/dist/{vue-ui-chestnut-fHfJNK0V.js → vue-ui-chestnut-BKc4v-lf.js} +509 -459
  37. package/dist/vue-ui-chord-CquhRjf0.js +1100 -0
  38. package/dist/vue-ui-circle-pack-D6zLgxa3.js +755 -0
  39. package/dist/{vue-ui-cursor-Bk5LHg5V.js → vue-ui-cursor-DIXb2S93.js} +2 -2
  40. package/dist/{vue-ui-dashboard-CjZMEYs6.js → vue-ui-dashboard-DmiriAK7.js} +62 -62
  41. package/dist/{vue-ui-digits-nDIvHyRB.js → vue-ui-digits-CLAIo9gW.js} +2 -2
  42. package/dist/{vue-ui-donut-CF9FdxfC.js → vue-ui-donut-C8h_tCSO.js} +477 -431
  43. package/dist/{vue-ui-donut-evolution-f5k-Yu3N.js → vue-ui-donut-evolution-C3r0YhKz.js} +482 -435
  44. package/dist/{vue-ui-dumbbell-Dm3gsrzi.js → vue-ui-dumbbell-D-t4M00E.js} +443 -398
  45. package/dist/vue-ui-flow-D7_D_UNm.js +900 -0
  46. package/dist/vue-ui-funnel-B0QOfZRz.js +666 -0
  47. package/dist/vue-ui-galaxy-Ccw5uNes.js +744 -0
  48. package/dist/{vue-ui-gauge-DkDpUAN7.js → vue-ui-gauge-DvW7nFmK.js} +8 -8
  49. package/dist/{vue-ui-gizmo-BD5fLs8r.js → vue-ui-gizmo-WGQxvGPy.js} +4 -4
  50. package/dist/vue-ui-heatmap-BQkLujyp.js +1127 -0
  51. package/dist/{vue-ui-history-plot-ICoBBO-y.js → vue-ui-history-plot-eU33r_Ot.js} +408 -361
  52. package/dist/{vue-ui-kpi-Dp2M2EFo.js → vue-ui-kpi-CKg2i71M.js} +3 -3
  53. package/dist/{vue-ui-mini-loader-C5672jjA.js → vue-ui-mini-loader-BmkGQsm_.js} +2 -2
  54. package/dist/vue-ui-molecule-Dlu0hjSg.js +702 -0
  55. package/dist/{vue-ui-mood-radar-B-qhYUcB.js → vue-ui-mood-radar-DQaxfw9R.js} +342 -291
  56. package/dist/{vue-ui-nested-donuts-V6BvP3pF.js → vue-ui-nested-donuts-Djj9Aw_i.js} +548 -502
  57. package/dist/{vue-ui-onion-BKqqbWbg.js → vue-ui-onion-ZgsErXis.js} +363 -317
  58. package/dist/vue-ui-parallel-coordinate-plot-B5fB22Jc.js +979 -0
  59. package/dist/vue-ui-quadrant-CMevCtXH.js +1483 -0
  60. package/dist/{vue-ui-quick-chart-BVZSdQeT.js → vue-ui-quick-chart-DcparKSX.js} +7 -7
  61. package/dist/vue-ui-radar-DFbxoKCK.js +858 -0
  62. package/dist/{vue-ui-rating-CncrxDCY.js → vue-ui-rating-ZUpxCWrk.js} +2 -2
  63. package/dist/{vue-ui-relation-circle-VYM1dclx.js → vue-ui-relation-circle-eNKJY4Sx.js} +8 -8
  64. package/dist/vue-ui-ridgeline-D4shpQZd.js +1204 -0
  65. package/dist/vue-ui-rings-TdTHMbsa.js +785 -0
  66. package/dist/{vue-ui-scatter-D2b-u5dv.js → vue-ui-scatter-CVuV9ljU.js} +594 -548
  67. package/dist/{vue-ui-skeleton-BTuBaaE_.js → vue-ui-skeleton-CFxBU2-p.js} +3 -3
  68. package/dist/{vue-ui-smiley-D1UxJNbV.js → vue-ui-smiley-Har3B3aQ.js} +2 -2
  69. package/dist/{vue-ui-spark-trend-BCP0BWMI.js → vue-ui-spark-trend-FPk-XEwI.js} +4 -4
  70. package/dist/{vue-ui-sparkbar-eBo-RSvE.js → vue-ui-sparkbar-V3eJ0w0t.js} +4 -4
  71. package/dist/{vue-ui-sparkgauge-DberOXWX.js → vue-ui-sparkgauge-DKTGkWnJ.js} +4 -4
  72. package/dist/{vue-ui-sparkhistogram-CoKQGG5X.js → vue-ui-sparkhistogram-DJsgFwHs.js} +5 -5
  73. package/dist/{vue-ui-sparkline-B_L4UNES.js → vue-ui-sparkline-Dmrm5SL5.js} +4 -4
  74. package/dist/{vue-ui-sparkstackbar-iAaRIyqb.js → vue-ui-sparkstackbar-B0Pl7VMI.js} +4 -4
  75. package/dist/{vue-ui-stackbar-B_0PJ7R2.js → vue-ui-stackbar-CNsgBPhj.js} +525 -479
  76. package/dist/{vue-ui-strip-plot-CWkA4l9P.js → vue-ui-strip-plot-CYAWwYOM.js} +390 -343
  77. package/dist/{vue-ui-table-CILVy7YP.js → vue-ui-table-Dn6H98rP.js} +3 -3
  78. package/dist/{vue-ui-table-heatmap-DL2n2Z7p.js → vue-ui-table-heatmap-COI9LRqC.js} +5 -5
  79. package/dist/{vue-ui-table-sparkline-DOt2EKpe.js → vue-ui-table-sparkline-B7Gg5FfJ.js} +4 -4
  80. package/dist/{vue-ui-thermometer-BTP1ic_T.js → vue-ui-thermometer-Bgynq5El.js} +8 -8
  81. package/dist/{vue-ui-timer-Bc-zJH9j.js → vue-ui-timer-CXng51v5.js} +5 -5
  82. package/dist/{vue-ui-tiremarks-B9n528e1.js → vue-ui-tiremarks-Cy1U3hO1.js} +7 -7
  83. package/dist/vue-ui-treemap-BsvIvRmE.js +1092 -0
  84. package/dist/{vue-ui-vertical-bar-CK2j09gJ.js → vue-ui-vertical-bar-DHqWeDIf.js} +512 -464
  85. package/dist/{vue-ui-waffle-DJkqgqlR.js → vue-ui-waffle-D1Mscj3N.js} +416 -370
  86. package/dist/{vue-ui-wheel-CcbgpIUr.js → vue-ui-wheel-DpV-N5tF.js} +7 -7
  87. package/dist/vue-ui-word-cloud-MaNQ3Kdk.js +811 -0
  88. package/dist/{vue-ui-world-DLmB_Z96.js → vue-ui-world-DYz6zw3x.js} +512 -466
  89. package/dist/{vue-ui-xy-KmrNT6qh.js → vue-ui-xy-B1nqNbzw.js} +1559 -1508
  90. package/dist/vue-ui-xy-canvas-D4wd-Asd.js +1291 -0
  91. package/package.json +1 -1
  92. package/dist/DataTable-Y5T9UxMO.js +0 -133
  93. package/dist/Legend-DkU3at-b.js +0 -72
  94. package/dist/vue-ui-3d-bar-CBfQ3Pcb.js +0 -1323
  95. package/dist/vue-ui-chord-0wf798ls.js +0 -1049
  96. package/dist/vue-ui-circle-pack-CuRHG8gr.js +0 -709
  97. package/dist/vue-ui-flow-K7UBguES.js +0 -852
  98. package/dist/vue-ui-funnel-DoDZbsTp.js +0 -620
  99. package/dist/vue-ui-galaxy-BsDlHxzE.js +0 -691
  100. package/dist/vue-ui-heatmap-DOT2tBy_.js +0 -1078
  101. package/dist/vue-ui-molecule-DgqVh2k0.js +0 -656
  102. package/dist/vue-ui-parallel-coordinate-plot-BZf24Zur.js +0 -927
  103. package/dist/vue-ui-quadrant-S58B2LrQ.js +0 -1432
  104. package/dist/vue-ui-radar-Dh67mQ9E.js +0 -807
  105. package/dist/vue-ui-ridgeline-CsByERvm.js +0 -1157
  106. package/dist/vue-ui-rings-CR2UfgnV.js +0 -739
  107. package/dist/vue-ui-treemap-Cl9qo9O-.js +0 -1046
  108. package/dist/vue-ui-word-cloud-CZ_TRf4o.js +0 -765
  109. package/dist/vue-ui-xy-canvas-6VYNyX6a.js +0 -1243
@@ -0,0 +1,1127 @@
1
+ import { useCssVars as Wt, defineAsyncComponent as ee, computed as g, ref as r, shallowRef as dt, toRefs as jt, watch as we, onBeforeUnmount as Pe, onMounted as qt, watchEffect as Xe, reactive as yt, createElementBlock as n, openBlock as u, normalizeStyle as w, normalizeClass as ce, createBlock as de, createCommentVNode as h, createElementVNode as f, createVNode as ke, unref as i, createSlots as ht, withCtx as S, renderSlot as T, normalizeProps as te, guardReactiveProps as le, Fragment as C, renderList as F, withDirectives as ft, createTextVNode as Ie, toDisplayString as _, vShow as Kt, resolveDynamicComponent as Jt, mergeProps as Qt, withKeys as Zt, nextTick as el } from "vue";
2
+ import { u as tl, c as Ve, t as ll, b as al, C as ol, o as pt, f as gt, P as ye, g as sl, X as ul, F as Ae, k as E, i as H, h as B, v as il, w as nl, y as rl, z as vl } from "./index-CDQbCd41.js";
3
+ import { t as Ce, u as cl } from "./useResponsive-DfdjqQps.js";
4
+ import { u as dl } from "./usePrinter-Bnl1YeUU.js";
5
+ import { u as yl, B as hl } from "./BaseScanner-BgWxam9d.js";
6
+ import { u as bt } from "./useNestedProp-BPEHGiYX.js";
7
+ import { u as mt } from "./useTimeLabels-BGFjWgrv.js";
8
+ import { u as fl } from "./useUserOptionState-BIvW1Kz7.js";
9
+ import { u as xt } from "./useTimeLabelCollider-CIsgDrl9.js";
10
+ import { u as pl } from "./useChartAccessibility-9icAAmYg.js";
11
+ import gl from "./img-JOqdlnUs.js";
12
+ import bl from "./Title-Dq2_Z9kR.js";
13
+ import ml from "./vue-ui-accordion-Bf_LHFFX.js";
14
+ import { _ as xl } from "./_plugin-vue_export-helper-CHgC5LLL.js";
15
+ const wl = {
16
+ mounted(b, P) {
17
+ wt(b, P.value);
18
+ },
19
+ updated(b, P) {
20
+ wt(b, P.value);
21
+ }
22
+ };
23
+ function wt(b, {
24
+ cellWidth: P,
25
+ cellHeight: he,
26
+ maxFontSize: W,
27
+ minFontSize: ae,
28
+ index: $,
29
+ reportRotation: oe,
30
+ reportHide: X,
31
+ rotateAll: Le,
32
+ hideAll: Te
33
+ }) {
34
+ b.removeAttribute("transform"), b.removeAttribute("visibility");
35
+ let k = !1, fe = !1;
36
+ b.setAttribute("font-size", W);
37
+ const j = b.getComputedTextLength();
38
+ if (j <= P)
39
+ oe($, !1), X($, !1);
40
+ else {
41
+ const M = Math.floor(W * P / j);
42
+ M >= ae ? (b.setAttribute("font-size", M), oe($, !1), X($, !1)) : (oe($, !0), X($, !1), k = !0);
43
+ }
44
+ if (Le && (k = !0), k) {
45
+ b.setAttribute("font-size", W);
46
+ const M = b.getBBox(), O = M.x + M.width / 2, _e = M.y + M.height / 2;
47
+ b.setAttribute("transform", `rotate(-90 ${O} ${_e})`);
48
+ const q = b.getBBox().width;
49
+ if (q <= he)
50
+ X($, !1);
51
+ else {
52
+ const K = Math.floor(W * he / q);
53
+ K >= ae ? (b.setAttribute("font-size", K), X($, !1)) : (fe = !0, X($, !0));
54
+ }
55
+ }
56
+ (Te || fe) && b.setAttribute("visibility", "hidden");
57
+ }
58
+ const kl = ["id"], Al = ["xmlns", "viewBox"], Cl = ["x", "y", "width", "height"], Ll = ["x", "y", "height", "width", "fill", "stroke", "stroke-width"], Tl = ["x", "y", "height", "width", "fill", "stroke", "stroke-width"], _l = ["x", "y", "width", "height", "fill", "stroke", "stroke-width"], zl = ["x", "y", "width", "height", "fill", "stroke", "stroke-width", "onMouseover", "onMouseout", "onClick"], Sl = ["font-size", "font-weight", "fill", "x", "y"], $l = ["x", "y", "width", "height", "fill", "stroke", "stroke-width"], Ml = ["x", "y", "width", "height", "fill", "stroke", "stroke-width"], Ol = ["font-size", "fill", "x", "y", "font-weight"], Rl = ["font-size", "fill", "x", "y", "font-weight"], Fl = ["text-anchor", "font-size", "fill", "font-weight", "transform"], Nl = ["text-anchor", "font-size", "fill", "font-weight", "transform"], Dl = { key: 6 }, Hl = ["x", "y", "width", "height", "stroke", "stroke-width"], Pl = { class: "vue-ui-heatmap-legend-gauge-right" }, Xl = ["data-value"], Il = { class: "vue-ui-heatmap-gauge-indicator-value" }, Vl = {
59
+ key: 4,
60
+ class: "vue-data-ui-watermark"
61
+ }, El = { class: "vue-ui-data-table" }, Bl = { key: 0 }, Ul = ["data-cell"], Yl = { style: { display: "flex", "align-items": "center", gap: "5px", "justify-content": "flex-end", width: "100%", "padding-right": "3px" } }, Gl = ["data-cell"], Wl = { style: { display: "flex", "align-items": "center", gap: "5px", "justify-content": "flex-end", width: "100%", "padding-right": "3px" } }, jl = {
62
+ __name: "vue-ui-heatmap",
63
+ props: {
64
+ config: {
65
+ type: Object,
66
+ default() {
67
+ return {};
68
+ }
69
+ },
70
+ dataset: {
71
+ type: Array,
72
+ default() {
73
+ return [];
74
+ }
75
+ }
76
+ },
77
+ emits: ["selectDatapoint"],
78
+ setup(b, { expose: P, emit: he }) {
79
+ Wt((t) => ({
80
+ "166abedb": t.tdo
81
+ }));
82
+ const W = ee(() => import("./Tooltip-Y219DXZO.js")), ae = ee(() => import("./BaseIcon-DHtro8us.js")), $ = ee(() => import("./PenAndPaper-B7QEDgx4.js")), oe = ee(() => import("./UserOptions-BuGfCdAY.js")), X = ee(() => import("./PackageVersion-DU12WH3O.js")), Le = ee(() => import("./BaseDraggableDialog-O7900pGp.js")), { vue_ui_heatmap: Te } = tl(), k = b, fe = he, j = g({
83
+ get() {
84
+ return !!k.dataset && k.dataset.length;
85
+ },
86
+ set(t) {
87
+ return t;
88
+ }
89
+ }), M = r(Ve()), O = r(null), _e = r(null), q = r(!1), K = r(""), Ee = r(void 0), se = r(null), Be = r(0), ze = r(null), Ue = r(!1), Ye = r(0), kt = r(null), ue = r(null), Ge = r(null), We = r(null), At = r(null), je = r(null), Ct = r(null), Se = r(null), $e = r(null), Lt = r(null), qe = r(null), J = dt(null), e = r(Re());
90
+ function Tt() {
91
+ const t = Array(7).fill("_"), a = [], o = 14, s = t.length;
92
+ for (let d = 0; d < s; d += 1) {
93
+ const c = [];
94
+ for (let x = 0; x < o; x += 1)
95
+ c.push(d + x * 2);
96
+ a.push({
97
+ name: `${t[d]}`,
98
+ values: c
99
+ });
100
+ }
101
+ return a;
102
+ }
103
+ const { loading: pe, FINAL_DATASET: m, manualLoading: Me } = yl({
104
+ ...jt(k),
105
+ FINAL_CONFIG: e,
106
+ prepareConfig: Re,
107
+ skeletonDataset: Tt(),
108
+ skeletonConfig: ll({
109
+ defaultConfig: e.value,
110
+ userConfig: {
111
+ table: { show: !1 },
112
+ userOptions: { show: !1 },
113
+ style: {
114
+ backgroundColor: "#99999930",
115
+ layout: {
116
+ cells: {
117
+ colors: {
118
+ hot: "#999999",
119
+ cold: "#CACACA"
120
+ },
121
+ columnTotal: { value: { show: !1 } },
122
+ rowTotal: { value: { show: !1 } },
123
+ value: { show: !1 }
124
+ },
125
+ dataLabels: {
126
+ xAxis: { show: !1 },
127
+ yAxis: { show: !1 }
128
+ }
129
+ }
130
+ }
131
+ }
132
+ })
133
+ }), { userOptionsVisible: Oe, setUserOptionsVisibility: _t, keepUserOptionState: Ke } = fl({ config: e.value }), { svgRef: Je } = pl({ config: e.value.style.title });
134
+ function Qe(t) {
135
+ _t(t);
136
+ }
137
+ function Re() {
138
+ const t = bt({
139
+ userConfig: k.config,
140
+ defaultConfig: Te
141
+ });
142
+ let a = {};
143
+ return t.theme ? a = {
144
+ ...bt({
145
+ userConfig: al.vue_ui_heatmap[t.theme] || k.config,
146
+ defaultConfig: t
147
+ })
148
+ } : a = t, k.config && ol(k.config, "style.layout.dataLabels.xAxis.showOnlyAtModulo") ? a.style.layout.dataLabels.xAxis.showOnlyAtModulo = k.config.style.layout.dataLabels.xAxis.showOnlyAtModulo : a.style.layout.dataLabels.xAxis.showOnlyAtModulo = null, a;
149
+ }
150
+ we(() => k.config, (t) => {
151
+ pe.value || (e.value = Re()), Oe.value = !e.value.userOptions.showOnChartHover, Fe(), Ye.value += 1, L.value.showTable = e.value.table.show, L.value.showTooltip = e.value.style.tooltip.show, ie.value = e.value.style.layout.width, ne.value = e.value.style.layout.height;
152
+ }, { deep: !0 }), we(() => k.dataset, (t) => {
153
+ Array.isArray(t) && t.length > 0 && (Me.value = !1), Fe();
154
+ }, { deep: !0 });
155
+ const { isPrinting: Ze, isImaging: et, generatePdf: tt, generateImage: lt } = dl({
156
+ elementId: `heatmap__${M.value}`,
157
+ fileName: e.value.style.title.text || "vue-ui-heatmap",
158
+ options: e.value.userOptions.print
159
+ }), zt = g(() => e.value.userOptions.show && !e.value.style.title.text), L = r({
160
+ showTable: e.value.table.show,
161
+ showTooltip: e.value.style.tooltip.show
162
+ });
163
+ we(e, () => {
164
+ L.value = {
165
+ showTable: e.value.table.show,
166
+ showTooltip: e.value.style.tooltip.show
167
+ };
168
+ }, { immediate: !0 });
169
+ const St = g(() => e.value.table.responsiveBreakpoint), Q = dt(null);
170
+ function $t() {
171
+ Q.value && Q.value.disconnect(), Q.value = new ResizeObserver((t) => {
172
+ t.forEach((a) => {
173
+ Ue.value = a.contentRect.width < St.value;
174
+ });
175
+ }), ze.value && Q.value.observe(ze.value);
176
+ }
177
+ Pe(() => {
178
+ Q.value && Q.value.disconnect();
179
+ });
180
+ const I = r(null), at = g(() => !!e.value.debug);
181
+ function Fe() {
182
+ if (pt(k.dataset) && (gt({
183
+ componentName: "VueUiHeatmap",
184
+ type: "dataset",
185
+ debug: at.value
186
+ }), j.value = !1, Me.value = !0), pt(k.dataset) || (Me.value = e.value.loading), e.value.responsive) {
187
+ const t = Ce(() => {
188
+ const { width: a, height: o } = cl({
189
+ chart: O.value,
190
+ title: e.value.style.title.text ? Ge.value : null,
191
+ // add legend hirizontal in legend attr
192
+ // add legend vertical in some other attr and modify composable to subtract width
193
+ source: qe.value,
194
+ noTitle: We.value
195
+ });
196
+ requestAnimationFrame(() => {
197
+ ie.value = a, ne.value = o;
198
+ });
199
+ });
200
+ I.value && (J.value && I.value.unobserve(J.value), I.value.disconnect()), I.value = new ResizeObserver(t), J.value = O.value.parentNode, I.value.observe(J.value);
201
+ }
202
+ $t();
203
+ }
204
+ Pe(() => {
205
+ I.value && (J.value && I.value.unobserve(J.value), I.value.disconnect());
206
+ }), qt(() => {
207
+ Fe();
208
+ });
209
+ const N = g(() => Math.max(...m.value.flatMap((t) => (t.values || []).length))), ie = r(e.value.style.layout.width), ne = r(e.value.style.layout.height), z = g(() => ({
210
+ width: Math.max(10, ie.value),
211
+ height: Math.max(10, ne.value)
212
+ })), re = r(0), Mt = Ce((t) => {
213
+ re.value = t;
214
+ }, 100);
215
+ Xe((t) => {
216
+ const a = Se.value;
217
+ if (!a) return;
218
+ const o = new ResizeObserver((s) => {
219
+ Mt(s[0].contentRect.height);
220
+ });
221
+ o.observe(a), t(() => o.disconnect());
222
+ });
223
+ const Z = r(0), Ot = Ce((t) => {
224
+ Z.value = t;
225
+ }, 100);
226
+ Xe((t) => {
227
+ const a = je.value;
228
+ if (!a) return;
229
+ const o = new ResizeObserver((s) => {
230
+ Ot(s[0].contentRect.width);
231
+ });
232
+ o.observe(a), t(() => o.disconnect());
233
+ });
234
+ const ge = r(0), Rt = Ce((t) => {
235
+ ge.value = t;
236
+ }, 100);
237
+ Xe((t) => {
238
+ const a = $e.value;
239
+ if (!a) return;
240
+ const o = new ResizeObserver((s) => {
241
+ Rt(s[0].contentRect.height);
242
+ });
243
+ o.observe(a), t(() => o.disconnect());
244
+ }), Pe(() => {
245
+ re.value = 0, Z.value = 0, ge.value = 0;
246
+ });
247
+ const v = g(() => Math.min(z.value.height, z.value.width) / 1e3 * e.value.style.layout.cells.spacing), l = g(() => {
248
+ let t = 0;
249
+ e.value.style.legend.show && (t = e.value.style.legend.width);
250
+ const a = e.value.style.layout.padding, o = e.value.style.layout.dataLabels.xAxis.fontSize / 3, s = e.value.style.layout.dataLabels.xAxis.fontSize / 2, d = z.value.height - a.top - a.bottom - re.value - o, c = z.value.width / 60, x = {
251
+ x: v.value * N.value,
252
+ y: v.value * ((m.value || []).length + 1)
253
+ }, D = z.value.width - a.left - a.right - x.x - c * 2 - 2 - t - Z.value, y = d - c - x.y - ge.value - s - e.value.style.layout.cells.columnTotal.value.offsetY, A = {
254
+ width: Math.max(3, D / N.value),
255
+ height: Math.max(3, y / (m.value.length ?? 1))
256
+ };
257
+ return {
258
+ top: a.top + re.value + c + o,
259
+ topLabelsHeight: re.value,
260
+ sumCellXHeight: c,
261
+ height: y,
262
+ left: a.left + Z.value + c / 2,
263
+ right: a.right - t,
264
+ bottom: z.value.height - a.bottom - ge.value,
265
+ width: D,
266
+ cellSize: A
267
+ };
268
+ }), V = g(() => Math.max(...m.value.flatMap((t) => t.values))), ve = g(() => Math.min(...m.value.flatMap((t) => t.values))), U = g(() => {
269
+ const t = m.value.flatMap((o) => o.values);
270
+ return t.reduce((o, s) => o + s, 0) / t.length;
271
+ }), Ft = g(() => mt({
272
+ values: e.value.style.layout.dataLabels.yAxis.values.length ? e.value.style.layout.dataLabels.yAxis.values : m.value.map((t) => t.name),
273
+ maxDatapoints: m.value.length,
274
+ formatter: e.value.style.layout.dataLabels.yAxis.datetimeFormatter,
275
+ start: 0,
276
+ end: m.value.length
277
+ })), Nt = g(() => mt({
278
+ values: e.value.style.layout.dataLabels.xAxis.values,
279
+ maxDatapoints: N.value,
280
+ formatter: e.value.style.layout.dataLabels.xAxis.datetimeFormatter,
281
+ start: 0,
282
+ end: N.value
283
+ })), p = g(() => {
284
+ const t = Ft.value.map((y) => y.text), a = Nt.value.map((y) => y.text), o = m.value.map((y) => y.values.reduce((A, He) => A + He, 0)), s = Math.max(...o), d = Math.min(...o), c = [];
285
+ for (let y = 0; y < N.value; y += 1)
286
+ c.push(m.value.map((A) => A.values[y] || 0).reduce((A, He) => A + He, 0));
287
+ const x = Math.max(...c), D = Math.min(...c);
288
+ return {
289
+ yTotals: o.map((y) => {
290
+ const A = isNaN(y / s) ? 0 : y / s;
291
+ return {
292
+ total: y,
293
+ proportion: A,
294
+ color: ye(e.value.style.layout.cells.colors.cold, e.value.style.layout.cells.colors.hot, d, s, y)
295
+ };
296
+ }),
297
+ xTotals: c.map((y) => {
298
+ const A = isNaN(y / x) ? 0 : y / x;
299
+ return {
300
+ total: y,
301
+ proportion: A,
302
+ color: ye(e.value.style.layout.cells.colors.cold, e.value.style.layout.cells.colors.hot, D, x, y)
303
+ };
304
+ }),
305
+ yLabels: t,
306
+ xLabels: a.slice(0, N.value)
307
+ };
308
+ }), Y = g(() => (m.value.forEach((t, a) => {
309
+ sl({
310
+ datasetObject: t,
311
+ requiredAttributes: ["values"]
312
+ }).forEach((o) => {
313
+ gt({
314
+ componentName: "VueUiHeatmap",
315
+ type: "datasetSerieAttribute",
316
+ property: "values",
317
+ index: a,
318
+ debug: at.value
319
+ });
320
+ });
321
+ }), m.value.map((t, a) => ({
322
+ ...t,
323
+ temperatures: (t.values || []).map((o, s) => o >= U.value ? {
324
+ side: "up",
325
+ color: ye(e.value.style.layout.cells.colors.cold, e.value.style.layout.cells.colors.hot, ve.value, V.value, o),
326
+ ratio: Math.abs(Math.abs(o - U.value) / Math.abs(V.value - U.value)) > 1 ? 1 : Math.abs(Math.abs(o - U.value) / Math.abs(V.value - U.value)),
327
+ value: o,
328
+ yAxisName: p.value.yLabels[a],
329
+ xAxisName: p.value.xLabels[s],
330
+ id: `vue-data-ui-heatmap-cell-${Ve()}`
331
+ } : {
332
+ side: "down",
333
+ ratio: Math.abs(1 - Math.abs(o) / Math.abs(U.value)) > 1 ? 1 : Math.abs(1 - Math.abs(o) / Math.abs(U.value)),
334
+ color: ye(e.value.style.layout.cells.colors.cold, e.value.style.layout.cells.colors.hot, ve.value, V.value, o),
335
+ value: o,
336
+ yAxisName: p.value.yLabels[a],
337
+ xAxisName: p.value.xLabels[s],
338
+ id: `vue-data-ui-heatmap-cell-${Ve()}`
339
+ })
340
+ })))), ot = g(() => m.value.length), st = yt(Array(ot.value * N.value || 1).fill(!1)), Dt = g(() => st.some((t) => t));
341
+ function Ht(t, a) {
342
+ st[t] = a;
343
+ }
344
+ const ut = yt(Array(ot.value * N.value || 1).fill(!1)), Pt = g(() => ut.some((t) => t));
345
+ function Xt(t, a) {
346
+ ut[t] = a;
347
+ }
348
+ const R = r(null), be = r(null);
349
+ function It(t, a, o, s) {
350
+ e.value.events.datapointEnter && e.value.events.datapointEnter({ datapoint: t, seriesIndex: a }), se.value = { x: o, y: s };
351
+ const { value: d, yAxisName: c, xAxisName: x, id: D } = t;
352
+ Ee.value = D, R.value = d, be.value = {
353
+ datapoint: t,
354
+ seriesIndex: a,
355
+ series: Y.value,
356
+ config: e.value
357
+ }, q.value = !0;
358
+ let y = "";
359
+ const A = e.value.style.tooltip.customFormat;
360
+ rl(A) && vl(() => A({
361
+ datapoint: t,
362
+ seriesIndex: a,
363
+ series: Y.value,
364
+ config: e.value
365
+ })) ? K.value = A({
366
+ datapoint: t,
367
+ seriesIndex: a,
368
+ series: Y.value,
369
+ config: e.value
370
+ }) : (y += `<div>${c} ${x ? c ? ` - ${x}` : `${x}` : ""}</div>`, y += `<div style="margin-top:6px;padding-top:6px;border-top:1px solid ${e.value.style.tooltip.borderColor};font-weight:bold;display:flex;flex-direction:row;gap:12px;align-items:center;justify-content:center"><span style="color:${ye(e.value.style.layout.cells.colors.cold, e.value.style.layout.cells.colors.hot, ve.value, V.value, d)}">⬤</span><span>${isNaN(d) ? "-" : E(
371
+ e.value.style.layout.cells.value.formatter,
372
+ d,
373
+ H({
374
+ p: e.value.style.layout.dataLabels.prefix,
375
+ v: d,
376
+ s: e.value.style.layout.dataLabels.suffix,
377
+ r: e.value.style.tooltip.roundingValue
378
+ }),
379
+ { datapoint: t, seriesIndex: a }
380
+ )}</span></div>`, K.value = `<div style="font-size:${e.value.style.tooltip.fontSize}px">${y}</div>`);
381
+ }
382
+ function Vt({ datapoint: t, seriesIndex: a }) {
383
+ e.value.events.datapointLeave && e.value.events.datapointLeave({ datapoint: t, seriesIndex: a }), q.value = !1, Ee.value = void 0, R.value = null, se.value = null;
384
+ }
385
+ function Et(t) {
386
+ return E(
387
+ e.value.style.layout.cells.value.formatter,
388
+ p.value.yTotals[t].total,
389
+ H({
390
+ p: e.value.style.layout.dataLabels.prefix,
391
+ v: p.value.yTotals[t].total,
392
+ s: e.value.style.layout.dataLabels.suffix,
393
+ r: e.value.style.layout.cells.value.roundingValue
394
+ }),
395
+ { datapoint: p.value.yTotals[t], rowIndex: t }
396
+ );
397
+ }
398
+ function Bt(t) {
399
+ return E(
400
+ e.value.style.layout.cells.value.formatter,
401
+ p.value.xTotals[t].total,
402
+ H({
403
+ p: e.value.style.layout.dataLabels.prefix,
404
+ v: p.value.xTotals[t].total,
405
+ s: e.value.style.layout.dataLabels.suffix,
406
+ r: e.value.style.layout.cells.value.roundingValue
407
+ }),
408
+ { datapoint: p.value.xTotals[t], colIndex: t }
409
+ );
410
+ }
411
+ g(() => {
412
+ const t = m.value.map((o) => ({
413
+ name: o.name
414
+ })), a = m.value.map((o) => o.values);
415
+ return { head: t, body: a };
416
+ });
417
+ function Ne(t = null) {
418
+ el(() => {
419
+ const a = ["", ...m.value.map((c, x) => c.name)], o = [];
420
+ for (let c = 0; c < p.value.xLabels.length; c += 1) {
421
+ const x = [p.value.xLabels[c]];
422
+ for (let D = 0; D < m.value.length; D += 1)
423
+ x.push([m.value[D].values[c]]);
424
+ o.push(x);
425
+ }
426
+ const s = [[e.value.style.title.text], [e.value.style.title.subtitle.text], [[""], [""], [""]]].concat([a]).concat(o), d = il(s);
427
+ t ? t(d) : nl({ csvContent: d, title: e.value.style.title.text || "vue-ui-heatmap" });
428
+ });
429
+ }
430
+ const G = r(!1);
431
+ function it(t) {
432
+ G.value = t, Be.value += 1;
433
+ }
434
+ function nt() {
435
+ L.value.showTable = !L.value.showTable;
436
+ }
437
+ function rt() {
438
+ L.value.showTooltip = !L.value.showTooltip;
439
+ }
440
+ const me = r(!1);
441
+ function De() {
442
+ me.value = !me.value;
443
+ }
444
+ function Ut(t, a) {
445
+ e.value.events.datapointClick && e.value.events.datapointClick({ datapoint: t, seriesIndex: a }), fe("selectDatapoint", t);
446
+ }
447
+ function Yt() {
448
+ return Y.value;
449
+ }
450
+ async function Gt({ scale: t = 2 } = {}) {
451
+ if (!O.value) return;
452
+ const { width: a, height: o } = O.value.getBoundingClientRect(), s = a / o, { imageUri: d, base64: c } = await gl({ domElement: O.value, base64: !0, img: !0, scale: t });
453
+ return {
454
+ imageUri: d,
455
+ base64: c,
456
+ title: e.value.style.title.text,
457
+ width: a,
458
+ height: o,
459
+ aspectRatio: s
460
+ };
461
+ }
462
+ const vt = g(() => ({
463
+ start: 0,
464
+ end: N.value
465
+ })), ct = g(() => p.value.xLabels);
466
+ xt({
467
+ timeLabelsEls: Se,
468
+ timeLabels: ct,
469
+ slicer: vt,
470
+ configRef: e,
471
+ rotationPath: ["style", "layout", "dataLabels", "xAxis", "rotation"],
472
+ autoRotatePath: ["style", "layout", "dataLabels", "xAxis", "autoRotate", "enable"],
473
+ isAutoSize: !1,
474
+ targetClass: ".vue-ui-heatmap-col-name",
475
+ rotation: e.value.style.layout.dataLabels.xAxis.autoRotate.angle,
476
+ width: ie,
477
+ height: ne
478
+ }), xt({
479
+ timeLabelsEls: $e,
480
+ timeLabels: ct,
481
+ slicer: vt,
482
+ configRef: e,
483
+ rotationPath: ["style", "layout", "cells", "columnTotal", "value", "rotation"],
484
+ autoRotatePath: ["style", "layout", "cells", "columnTotal", "value", "autoRotate", "enable"],
485
+ isAutoSize: !1,
486
+ targetClass: ".vue-ui-heatmap-col-total",
487
+ rotation: e.value.style.layout.cells.columnTotal.value.autoRotate.angle,
488
+ width: ie,
489
+ height: ne
490
+ });
491
+ const xe = g(() => {
492
+ const t = e.value.table.useDialog && !e.value.table.show, a = L.value.showTable;
493
+ return {
494
+ component: t ? Le : ml,
495
+ title: `${e.value.style.title.text}${e.value.style.title.subtitle.text ? `: ${e.value.style.title.subtitle.text}` : ""}`,
496
+ props: t ? {
497
+ backgroundColor: e.value.table.th.backgroundColor,
498
+ color: e.value.table.th.color,
499
+ headerColor: e.value.table.th.color,
500
+ headerBg: e.value.table.th.backgroundColor,
501
+ isFullscreen: G.value,
502
+ fullscreenParent: O.value,
503
+ forcedWidth: Math.min(800, window.innerWidth * 0.8)
504
+ } : {
505
+ hideDetails: !0,
506
+ config: {
507
+ open: a,
508
+ maxHeight: 1e4,
509
+ body: {
510
+ backgroundColor: e.value.style.backgroundColor,
511
+ color: e.value.style.color
512
+ },
513
+ head: {
514
+ backgroundColor: e.value.style.backgroundColor,
515
+ color: e.value.style.color
516
+ }
517
+ }
518
+ }
519
+ };
520
+ });
521
+ return we(() => L.value.showTable, (t) => {
522
+ e.value.table.show || (t && e.value.table.useDialog && ue.value ? ue.value.open() : "close" in ue.value && ue.value.close());
523
+ }), P({
524
+ getData: Yt,
525
+ getImage: Gt,
526
+ generatePdf: tt,
527
+ generateCsv: Ne,
528
+ generateImage: lt,
529
+ toggleTable: nt,
530
+ toggleTooltip: rt,
531
+ toggleAnnotator: De,
532
+ toggleFullscreen: it
533
+ }), (t, a) => (u(), n("div", {
534
+ ref_key: "heatmapChart",
535
+ ref: O,
536
+ class: ce(`vue-ui-heatmap ${G.value ? "vue-data-ui-wrapper-fullscreen" : ""}`),
537
+ style: w(`font-family:${e.value.style.fontFamily};width:100%;${e.value.responsive ? "height: 100%;" : ""} text-align:center;background:${e.value.style.backgroundColor}`),
538
+ id: `heatmap__${M.value}`,
539
+ onMouseenter: a[4] || (a[4] = () => Qe(!0)),
540
+ onMouseleave: a[5] || (a[5] = () => Qe(!1))
541
+ }, [
542
+ e.value.userOptions.buttons.annotator ? (u(), de(i($), {
543
+ key: 0,
544
+ svgRef: i(Je),
545
+ backgroundColor: e.value.style.backgroundColor,
546
+ color: e.value.style.color,
547
+ active: me.value,
548
+ onClose: De
549
+ }, null, 8, ["svgRef", "backgroundColor", "color", "active"])) : h("", !0),
550
+ zt.value ? (u(), n("div", {
551
+ key: 1,
552
+ ref_key: "noTitle",
553
+ ref: We,
554
+ class: "vue-data-ui-no-title-space",
555
+ style: "height:36px; width: 100%;background:transparent"
556
+ }, null, 512)) : h("", !0),
557
+ e.value.style.title.text ? (u(), n("div", {
558
+ key: 2,
559
+ ref_key: "chartTitle",
560
+ ref: Ge,
561
+ style: "width:100%;background:transparent"
562
+ }, [
563
+ (u(), de(bl, {
564
+ key: `title_${Ye.value}`,
565
+ config: {
566
+ title: {
567
+ cy: "heatmap-div-title",
568
+ ...e.value.style.title
569
+ },
570
+ subtitle: {
571
+ cy: "heatmap-div-subtitle",
572
+ ...e.value.style.title.subtitle
573
+ }
574
+ }
575
+ }, null, 8, ["config"]))
576
+ ], 512)) : h("", !0),
577
+ e.value.userOptions.show && j.value && (i(Ke) || i(Oe)) ? (u(), de(i(oe), {
578
+ ref_key: "details",
579
+ ref: _e,
580
+ key: `user_options_${Be.value}`,
581
+ backgroundColor: e.value.style.backgroundColor,
582
+ color: e.value.style.color,
583
+ isImaging: i(et),
584
+ isPrinting: i(Ze),
585
+ uid: M.value,
586
+ hasTooltip: e.value.userOptions.buttons.tooltip && e.value.style.tooltip.show,
587
+ hasPdf: e.value.userOptions.buttons.pdf,
588
+ hasImg: e.value.userOptions.buttons.img,
589
+ hasXls: e.value.userOptions.buttons.csv,
590
+ hasTable: e.value.userOptions.buttons.table,
591
+ hasFullscreen: e.value.userOptions.buttons.fullscreen,
592
+ isFullscreen: G.value,
593
+ isTooltip: L.value.showTooltip,
594
+ titles: { ...e.value.userOptions.buttonTitles },
595
+ chartElement: O.value,
596
+ position: e.value.userOptions.position,
597
+ hasAnnotator: e.value.userOptions.buttons.annotator,
598
+ isAnnotation: me.value,
599
+ callbacks: e.value.userOptions.callbacks,
600
+ printScale: e.value.userOptions.print.scale,
601
+ onToggleFullscreen: it,
602
+ onGeneratePdf: i(tt),
603
+ onGenerateCsv: Ne,
604
+ onGenerateImage: i(lt),
605
+ onToggleTable: nt,
606
+ onToggleTooltip: rt,
607
+ onToggleAnnotator: De,
608
+ style: w({
609
+ visibility: i(Ke) ? i(Oe) ? "visible" : "hidden" : "visible"
610
+ })
611
+ }, ht({ _: 2 }, [
612
+ t.$slots.menuIcon ? {
613
+ name: "menuIcon",
614
+ fn: S(({ isOpen: o, color: s }) => [
615
+ T(t.$slots, "menuIcon", te(le({ isOpen: o, color: s })), void 0, !0)
616
+ ]),
617
+ key: "0"
618
+ } : void 0,
619
+ t.$slots.optionTooltip ? {
620
+ name: "optionTooltip",
621
+ fn: S(() => [
622
+ T(t.$slots, "optionTooltip", {}, void 0, !0)
623
+ ]),
624
+ key: "1"
625
+ } : void 0,
626
+ t.$slots.optionPdf ? {
627
+ name: "optionPdf",
628
+ fn: S(() => [
629
+ T(t.$slots, "optionPdf", {}, void 0, !0)
630
+ ]),
631
+ key: "2"
632
+ } : void 0,
633
+ t.$slots.optionCsv ? {
634
+ name: "optionCsv",
635
+ fn: S(() => [
636
+ T(t.$slots, "optionCsv", {}, void 0, !0)
637
+ ]),
638
+ key: "3"
639
+ } : void 0,
640
+ t.$slots.optionImg ? {
641
+ name: "optionImg",
642
+ fn: S(() => [
643
+ T(t.$slots, "optionImg", {}, void 0, !0)
644
+ ]),
645
+ key: "4"
646
+ } : void 0,
647
+ t.$slots.optionTable ? {
648
+ name: "optionTable",
649
+ fn: S(() => [
650
+ T(t.$slots, "optionTable", {}, void 0, !0)
651
+ ]),
652
+ key: "5"
653
+ } : void 0,
654
+ t.$slots.optionFullscreen ? {
655
+ name: "optionFullscreen",
656
+ fn: S(({ toggleFullscreen: o, isFullscreen: s }) => [
657
+ T(t.$slots, "optionFullscreen", te(le({ toggleFullscreen: o, isFullscreen: s })), void 0, !0)
658
+ ]),
659
+ key: "6"
660
+ } : void 0,
661
+ t.$slots.optionAnnotator ? {
662
+ name: "optionAnnotator",
663
+ fn: S(({ toggleAnnotator: o, isAnnotator: s }) => [
664
+ T(t.$slots, "optionAnnotator", te(le({ toggleAnnotator: o, isAnnotator: s })), void 0, !0)
665
+ ]),
666
+ key: "7"
667
+ } : void 0
668
+ ]), 1032, ["backgroundColor", "color", "isImaging", "isPrinting", "uid", "hasTooltip", "hasPdf", "hasImg", "hasXls", "hasTable", "hasFullscreen", "isFullscreen", "isTooltip", "titles", "chartElement", "position", "hasAnnotator", "isAnnotation", "callbacks", "printScale", "onGeneratePdf", "onGenerateImage", "style"])) : h("", !0),
669
+ f("div", {
670
+ class: ce({
671
+ "vue-ui-heatmap-chart-wrapper": !0,
672
+ "vue-ui-heatmap-chart-wrapper-legend-right": e.value.style.legend.show
673
+ })
674
+ }, [
675
+ (u(), n("svg", {
676
+ ref_key: "svgRef",
677
+ ref: Je,
678
+ xmlns: i(ul),
679
+ class: ce({ "vue-data-ui-fullscreen--on": G.value, "vue-data-ui-fulscreen--off": !G.value }),
680
+ viewBox: `0 0 ${z.value.width} ${z.value.height}`,
681
+ width: "100%",
682
+ style: w(`overflow: visible; background:transparent;color:${e.value.style.color}`),
683
+ "aria-live": "polite",
684
+ role: "img",
685
+ preserveAspectRatio: "xMidYMid"
686
+ }, [
687
+ ke(i(X)),
688
+ t.$slots["chart-background"] ? (u(), n("foreignObject", {
689
+ key: 0,
690
+ x: l.value.left,
691
+ y: l.value.top,
692
+ width: l.value.width,
693
+ height: l.value.height,
694
+ style: {
695
+ pointerEvents: "none"
696
+ }
697
+ }, [
698
+ T(t.$slots, "chart-background", {}, void 0, !0)
699
+ ], 8, Cl)) : h("", !0),
700
+ e.value.style.layout.cells.columnTotal.color.show ? (u(), n("g", {
701
+ key: 1,
702
+ ref_key: "xAxisSumRects",
703
+ ref: Lt
704
+ }, [
705
+ (u(!0), n(C, null, F(p.value.xTotals, (o, s) => (u(), n("rect", {
706
+ x: l.value.left + l.value.cellSize.width * s + v.value / 2 + l.value.sumCellXHeight,
707
+ y: l.value.top - l.value.sumCellXHeight + v.value * (z.value.height / z.value.width),
708
+ height: l.value.sumCellXHeight,
709
+ width: l.value.cellSize.width - v.value,
710
+ fill: e.value.style.layout.cells.colors.underlayer,
711
+ stroke: e.value.style.backgroundColor,
712
+ "stroke-width": v.value
713
+ }, null, 8, Ll))), 256)),
714
+ (u(!0), n(C, null, F(p.value.xTotals, (o, s) => (u(), n("rect", {
715
+ x: l.value.left + l.value.cellSize.width * s + v.value / 2 + l.value.sumCellXHeight,
716
+ y: l.value.top - l.value.sumCellXHeight + v.value * (z.value.height / z.value.width),
717
+ height: l.value.sumCellXHeight,
718
+ width: l.value.cellSize.width - v.value,
719
+ fill: o.color,
720
+ stroke: e.value.style.backgroundColor,
721
+ "stroke-width": v.value
722
+ }, null, 8, Tl))), 256))
723
+ ], 512)) : h("", !0),
724
+ f("g", {
725
+ ref_key: "datapoints",
726
+ ref: kt
727
+ }, [
728
+ (u(!0), n(C, null, F(Y.value, (o, s) => (u(), n(C, null, [
729
+ (u(!0), n(C, null, F(o.temperatures, (d, c) => (u(), n("g", null, [
730
+ f("rect", {
731
+ x: l.value.left + l.value.cellSize.width * c + v.value / 2 + l.value.sumCellXHeight,
732
+ y: l.value.top + l.value.cellSize.height * s + v.value / 2,
733
+ width: l.value.cellSize.width - v.value,
734
+ height: l.value.cellSize.height - v.value,
735
+ fill: e.value.style.layout.cells.colors.underlayer,
736
+ stroke: e.value.style.backgroundColor,
737
+ "stroke-width": v.value
738
+ }, null, 8, _l),
739
+ f("rect", {
740
+ x: l.value.left + l.value.cellSize.width * c + v.value / 2 + l.value.sumCellXHeight,
741
+ y: l.value.top + l.value.cellSize.height * s + v.value / 2,
742
+ width: l.value.cellSize.width - v.value,
743
+ height: l.value.cellSize.height - v.value,
744
+ fill: d.color,
745
+ stroke: e.value.style.backgroundColor,
746
+ "stroke-width": v.value,
747
+ onMouseover: (x) => It(d, s, l.value.left + l.value.cellSize.width * c, l.value.top + l.value.cellSize.height * s),
748
+ onMouseout: () => Vt({ datapoint: d, seriesIndex: s }),
749
+ onClick: () => Ut(d, s)
750
+ }, null, 40, zl),
751
+ e.value.style.layout.cells.value.show ? ft((u(), n("text", {
752
+ key: 0,
753
+ "text-anchor": "middle",
754
+ "font-size": e.value.style.layout.cells.value.fontSize,
755
+ "font-weight": e.value.style.layout.cells.value.bold ? "bold" : "normal",
756
+ fill: i(Ae)(d.color),
757
+ x: l.value.left + l.value.cellSize.width * c + l.value.cellSize.width / 2 + l.value.sumCellXHeight,
758
+ y: l.value.top + l.value.cellSize.height * s + l.value.cellSize.height / 2 + e.value.style.layout.cells.value.fontSize / 3,
759
+ style: { pointerEvents: "none", userSelect: "none" }
760
+ }, [
761
+ Ie(_(i(E)(
762
+ e.value.style.layout.cells.value.formatter,
763
+ d.value,
764
+ i(H)({
765
+ p: e.value.style.layout.dataLabels.prefix,
766
+ v: d.value,
767
+ s: e.value.style.layout.dataLabels.suffix,
768
+ r: e.value.style.layout.cells.value.roundingValue
769
+ }),
770
+ { datapoint: d }
771
+ )), 1)
772
+ ], 8, Sl)), [
773
+ [i(wl), {
774
+ cellWidth: l.value.cellSize.width - v.value,
775
+ cellHeight: l.value.cellSize.height - v.value,
776
+ maxFontSize: e.value.style.layout.cells.value.fontSize,
777
+ minFontSize: 10,
778
+ index: s * N.value + c,
779
+ reportHide: Xt,
780
+ reportRotation: Ht,
781
+ hideAll: Pt.value,
782
+ rotateAll: Dt.value
783
+ }]
784
+ ]) : h("", !0)
785
+ ]))), 256))
786
+ ], 64))), 256))
787
+ ], 512),
788
+ e.value.style.layout.cells.rowTotal.color.show ? (u(), n("g", {
789
+ key: 2,
790
+ ref_key: "yAxisSumRects",
791
+ ref: Ct
792
+ }, [
793
+ (u(!0), n(C, null, F(Y.value, (o, s) => (u(), n(C, null, [
794
+ f("rect", {
795
+ x: l.value.left,
796
+ y: l.value.top + l.value.cellSize.height * s,
797
+ width: l.value.sumCellXHeight,
798
+ height: l.value.cellSize.height - v.value,
799
+ fill: e.value.style.layout.cells.colors.underlayer,
800
+ stroke: e.value.style.backgroundColor,
801
+ "stroke-width": v.value
802
+ }, null, 8, $l),
803
+ f("rect", {
804
+ x: l.value.left,
805
+ y: l.value.top + l.value.cellSize.height * s + v.value / 2,
806
+ width: l.value.sumCellXHeight,
807
+ height: l.value.cellSize.height - v.value,
808
+ fill: p.value.yTotals[s].color,
809
+ stroke: e.value.style.backgroundColor,
810
+ "stroke-width": v.value
811
+ }, null, 8, Ml)
812
+ ], 64))), 256))
813
+ ], 512)) : h("", !0),
814
+ e.value.style.layout.dataLabels.yAxis.show ? (u(), n("g", {
815
+ key: 3,
816
+ ref_key: "yAxisLabels",
817
+ ref: je
818
+ }, [
819
+ (u(!0), n(C, null, F(Y.value, (o, s) => (u(), n(C, null, [
820
+ f("text", {
821
+ class: "vue-ui-heatmap-row-name",
822
+ "font-size": e.value.style.layout.dataLabels.yAxis.fontSize,
823
+ fill: e.value.style.layout.dataLabels.yAxis.color,
824
+ x: Z.value,
825
+ y: l.value.top + l.value.cellSize.height * s + l.value.cellSize.height / 2 + e.value.style.layout.dataLabels.yAxis.fontSize / 3 + e.value.style.layout.dataLabels.yAxis.offsetY - (e.value.style.layout.cells.rowTotal.value.show ? e.value.style.layout.dataLabels.yAxis.fontSize / 1.5 : 0),
826
+ "text-anchor": "end",
827
+ "font-weight": e.value.style.layout.dataLabels.yAxis.bold ? "bold" : "normal"
828
+ }, _(p.value.yLabels[s]), 9, Ol),
829
+ e.value.style.layout.cells.rowTotal.value.show ? (u(), n("text", {
830
+ key: 0,
831
+ class: "vue-ui-heatmap-row-total",
832
+ "font-size": e.value.style.layout.dataLabels.yAxis.fontSize,
833
+ fill: e.value.style.layout.dataLabels.yAxis.color,
834
+ x: Z.value,
835
+ y: l.value.top + l.value.cellSize.height * s + l.value.cellSize.height / 2 + e.value.style.layout.dataLabels.yAxis.fontSize + e.value.style.layout.dataLabels.yAxis.offsetY,
836
+ "text-anchor": "end",
837
+ "font-weight": e.value.style.layout.dataLabels.yAxis.bold ? "bold" : "normal"
838
+ }, _(Et(s)), 9, Rl)) : h("", !0)
839
+ ], 64))), 256))
840
+ ], 512)) : h("", !0),
841
+ e.value.style.layout.dataLabels.xAxis.show ? (u(), n("g", {
842
+ key: 4,
843
+ ref_key: "xAxisLabels",
844
+ ref: Se
845
+ }, [
846
+ (u(!0), n(C, null, F(p.value.xLabels, (o, s) => (u(), n(C, null, [
847
+ !e.value.style.layout.dataLabels.xAxis.showOnlyAtModulo || e.value.style.layout.dataLabels.xAxis.showOnlyAtModulo && s % e.value.style.layout.dataLabels.xAxis.showOnlyAtModulo === 0 ? (u(), n("text", {
848
+ key: 0,
849
+ class: "vue-ui-heatmap-col-name",
850
+ "text-anchor": e.value.style.layout.dataLabels.xAxis.rotation === 0 ? "middle" : e.value.style.layout.dataLabels.xAxis.rotation < 0 ? "start" : "end",
851
+ "font-size": e.value.style.layout.dataLabels.xAxis.fontSize,
852
+ fill: e.value.style.layout.dataLabels.xAxis.color,
853
+ "font-weight": e.value.style.layout.dataLabels.xAxis.bold ? "bold" : "normal",
854
+ transform: `translate(${l.value.left + l.value.cellSize.width / 2 + l.value.width / p.value.xLabels.length * s + e.value.style.layout.dataLabels.xAxis.offsetX + l.value.sumCellXHeight}, ${l.value.topLabelsHeight}), rotate(${e.value.style.layout.dataLabels.xAxis.rotation})`
855
+ }, _(o), 9, Fl)) : h("", !0)
856
+ ], 64))), 256))
857
+ ], 512)) : h("", !0),
858
+ e.value.style.layout.cells.columnTotal.value.show ? (u(), n("g", {
859
+ key: 5,
860
+ ref_key: "xAxisSums",
861
+ ref: $e
862
+ }, [
863
+ (u(!0), n(C, null, F(p.value.xLabels, (o, s) => (u(), n("text", {
864
+ class: "vue-ui-heatmap-col-total",
865
+ "text-anchor": e.value.style.layout.cells.columnTotal.value.rotation === 0 ? "middle" : e.value.style.layout.cells.columnTotal.value.rotation < 0 ? "end" : "start",
866
+ "font-size": e.value.style.layout.dataLabels.xAxis.fontSize,
867
+ fill: e.value.style.layout.dataLabels.xAxis.color,
868
+ "font-weight": e.value.style.layout.dataLabels.xAxis.bold ? "bold" : "normal",
869
+ transform: `translate(${l.value.left + l.value.cellSize.width / 2 + l.value.width / p.value.xLabels.length * s + e.value.style.layout.dataLabels.xAxis.offsetX + e.value.style.layout.cells.columnTotal.value.offsetX + l.value.sumCellXHeight}, ${l.value.bottom + e.value.style.layout.dataLabels.xAxis.fontSize / 2}), rotate(${e.value.style.layout.cells.columnTotal.value.rotation})`
870
+ }, _(Bt(s)), 9, Nl))), 256))
871
+ ], 512)) : h("", !0),
872
+ se.value ? (u(), n("g", Dl, [
873
+ f("rect", {
874
+ style: { "pointer-events": "none" },
875
+ x: se.value.x - e.value.style.layout.cells.selected.border / 2 + v.value + l.value.sumCellXHeight,
876
+ y: se.value.y - e.value.style.layout.cells.selected.border / 2 + v.value,
877
+ width: l.value.cellSize.width - v.value + e.value.style.layout.cells.selected.border - v.value,
878
+ height: l.value.cellSize.height - v.value + e.value.style.layout.cells.selected.border - v.value,
879
+ fill: "transparent",
880
+ stroke: e.value.style.layout.cells.selected.color,
881
+ "stroke-width": e.value.style.layout.cells.selected.border,
882
+ rx: 1
883
+ }, null, 8, Hl)
884
+ ])) : h("", !0),
885
+ T(t.$slots, "svg", { svg: z.value }, void 0, !0)
886
+ ], 14, Al)),
887
+ e.value.style.legend.show ? (u(), n("div", {
888
+ key: 0,
889
+ ref_key: "legendRight",
890
+ ref: At,
891
+ class: "vue-ui-heatmap-legend-right",
892
+ style: w({
893
+ "--legend-width": e.value.style.legend.width + "px"
894
+ })
895
+ }, [
896
+ i(pe) ? h("", !0) : (u(), n("div", {
897
+ key: 0,
898
+ class: "vue-ui-heatmap-legend-label-max",
899
+ style: w({
900
+ fontSize: e.value.style.legend.fontSize + "px",
901
+ color: e.value.style.legend.color
902
+ })
903
+ }, _(i(E)(
904
+ e.value.style.layout.cells.value.formatter,
905
+ i(B)(V.value),
906
+ i(H)({
907
+ p: e.value.style.layout.dataLabels.prefix,
908
+ v: i(B)(V.value),
909
+ s: e.value.style.layout.dataLabels.suffix,
910
+ r: e.value.style.legend.roundingValue
911
+ })
912
+ )), 5)),
913
+ f("div", Pl, [
914
+ f("div", {
915
+ class: "vue-ui-heatmap-gauge",
916
+ style: w({
917
+ background: `linear-gradient(to bottom, ${e.value.style.layout.cells.colors.hot}, ${e.value.style.layout.cells.colors.cold})`
918
+ })
919
+ }, [
920
+ ft(f("div", {
921
+ class: "vue-ui-heatmap-gauge-indicator",
922
+ "data-value": i(E)(
923
+ e.value.style.layout.cells.value.formatter,
924
+ i(B)(R.value),
925
+ i(H)({
926
+ p: e.value.style.layout.dataLabels.prefix,
927
+ v: i(B)(R.value),
928
+ s: e.value.style.layout.dataLabels.suffix,
929
+ r: e.value.style.legend.roundingValue
930
+ })
931
+ ),
932
+ style: w({
933
+ position: "absolute",
934
+ width: "100%",
935
+ height: "2px",
936
+ background: [void 0, null].includes(R.value) ? "transparent" : i(Ae)(be.value.datapoint.color),
937
+ top: `${[void 0, null].includes(R.value) ? 0 : (1 - R.value / V.value) * 100}%`,
938
+ transition: "all 0.2s ease-in-out",
939
+ "--background-color": e.value.style.backgroundColor,
940
+ "--gauge-arrow-color": i(Ae)(e.value.style.backgroundColor),
941
+ "--gauge-arrow-text-color": i(Ae)(e.value.style.backgroundColor),
942
+ "--gauge-arrow-value": R.value,
943
+ "--gauge-arrow-font-size": e.value.style.legend.fontSize + "px"
944
+ })
945
+ }, [
946
+ f("div", Il, _(i(E)(
947
+ e.value.style.layout.cells.value.formatter,
948
+ i(B)(R.value),
949
+ i(H)({
950
+ p: e.value.style.layout.dataLabels.prefix,
951
+ v: i(B)(R.value),
952
+ s: e.value.style.layout.dataLabels.suffix,
953
+ r: e.value.style.legend.roundingValue
954
+ })
955
+ )), 1)
956
+ ], 12, Xl), [
957
+ [Kt, ![void 0, null].includes(R.value)]
958
+ ])
959
+ ], 4)
960
+ ]),
961
+ i(pe) ? h("", !0) : (u(), n("div", {
962
+ key: 1,
963
+ class: "vue-ui-heatmap-legend-label-min",
964
+ style: w({
965
+ fontSize: e.value.style.legend.fontSize + "px",
966
+ color: e.value.style.legend.color
967
+ })
968
+ }, _(i(E)(
969
+ e.value.style.layout.cells.value.formatter,
970
+ i(B)(ve.value),
971
+ i(H)({
972
+ p: e.value.style.layout.dataLabels.prefix,
973
+ v: i(B)(ve.value),
974
+ s: e.value.style.layout.dataLabels.suffix,
975
+ r: e.value.style.legend.roundingValue
976
+ })
977
+ )), 5))
978
+ ], 4)) : h("", !0)
979
+ ], 2),
980
+ t.$slots.watermark ? (u(), n("div", Vl, [
981
+ T(t.$slots, "watermark", te(le({ isPrinting: i(Ze) || i(et) })), void 0, !0)
982
+ ])) : h("", !0),
983
+ t.$slots.source ? (u(), n("div", {
984
+ key: 5,
985
+ ref_key: "source",
986
+ ref: qe,
987
+ dir: "auto"
988
+ }, [
989
+ T(t.$slots, "source", {}, void 0, !0)
990
+ ], 512)) : h("", !0),
991
+ ke(i(W), {
992
+ show: L.value.showTooltip && q.value,
993
+ backgroundColor: e.value.style.tooltip.backgroundColor,
994
+ color: e.value.style.tooltip.color,
995
+ borderRadius: e.value.style.tooltip.borderRadius,
996
+ borderColor: e.value.style.tooltip.borderColor,
997
+ borderWidth: e.value.style.tooltip.borderWidth,
998
+ fontSize: e.value.style.tooltip.fontSize,
999
+ backgroundOpacity: e.value.style.tooltip.backgroundOpacity,
1000
+ position: e.value.style.tooltip.position,
1001
+ offsetY: e.value.style.tooltip.offsetY,
1002
+ parent: O.value,
1003
+ content: K.value,
1004
+ isFullscreen: G.value,
1005
+ isCustom: e.value.style.tooltip.customFormat && typeof e.value.style.tooltip.customFormat == "function",
1006
+ smooth: e.value.style.tooltip.smooth,
1007
+ backdropFilter: e.value.style.tooltip.backdropFilter
1008
+ }, {
1009
+ "tooltip-before": S(() => [
1010
+ T(t.$slots, "tooltip-before", te(le({ ...be.value })), void 0, !0)
1011
+ ]),
1012
+ "tooltip-after": S(() => [
1013
+ T(t.$slots, "tooltip-after", te(le({ ...be.value })), void 0, !0)
1014
+ ]),
1015
+ _: 3
1016
+ }, 8, ["show", "backgroundColor", "color", "borderRadius", "borderColor", "borderWidth", "fontSize", "backgroundOpacity", "position", "offsetY", "parent", "content", "isFullscreen", "isCustom", "smooth", "backdropFilter"]),
1017
+ j.value ? (u(), de(Jt(xe.value.component), Qt({ key: 6 }, xe.value.props, {
1018
+ ref_key: "tableUnit",
1019
+ ref: ue,
1020
+ onClose: a[3] || (a[3] = (o) => L.value.showTable = !1)
1021
+ }), ht({
1022
+ content: S(() => [
1023
+ f("div", {
1024
+ ref_key: "tableContainer",
1025
+ ref: ze,
1026
+ class: "vue-ui-heatmap-table atom-data-table",
1027
+ style: w(`${e.value.table.useDialog ? "" : "max-height: 300px; margin-top: 24px;"}`)
1028
+ }, [
1029
+ f("div", {
1030
+ style: w(`width:100%;overflow-x:auto;position:relative;${e.value.table.useDialog ? "" : "padding-top:36px"};`),
1031
+ class: ce({ "vue-ui-responsive": Ue.value })
1032
+ }, [
1033
+ e.value.table.useDialog ? h("", !0) : (u(), n("div", {
1034
+ key: 0,
1035
+ role: "button",
1036
+ tabindex: "0",
1037
+ style: w(`width:32px; position: absolute; top: 0; left:4px; padding: 0 0px; display: flex; align-items:center;justify-content:center;height: 36px; width: 32px; cursor:pointer; background:${e.value.table.th.backgroundColor};`),
1038
+ onClick: a[1] || (a[1] = (o) => L.value.showTable = !1),
1039
+ onKeypress: a[2] || (a[2] = Zt((o) => L.value.showTable = !1, ["enter"]))
1040
+ }, [
1041
+ ke(i(ae), {
1042
+ name: "close",
1043
+ stroke: e.value.table.th.color,
1044
+ "stroke-width": 2
1045
+ }, null, 8, ["stroke"])
1046
+ ], 36)),
1047
+ f("table", El, [
1048
+ e.value.table.useDialog ? h("", !0) : (u(), n("caption", {
1049
+ key: 0,
1050
+ style: w(`backgroundColor:${e.value.table.th.backgroundColor};color:${e.value.table.th.color};outline:${e.value.table.th.outline}`)
1051
+ }, [
1052
+ Ie(_(e.value.style.title.text) + " ", 1),
1053
+ e.value.style.title.subtitle.text ? (u(), n("span", Bl, _(e.value.style.title.subtitle.text), 1)) : h("", !0)
1054
+ ], 4)),
1055
+ f("thead", null, [
1056
+ f("tr", {
1057
+ role: "row",
1058
+ style: w(`background:${e.value.table.th.backgroundColor};color:${e.value.table.th.color}`)
1059
+ }, [
1060
+ f("th", {
1061
+ style: w(`outline:${e.value.table.th.outline};padding-right:6px`)
1062
+ }, null, 4),
1063
+ (u(!0), n(C, null, F(b.dataset, (o, s) => (u(), n("th", {
1064
+ align: "right",
1065
+ style: w(`outline:${e.value.table.th.outline};padding-right:6px`)
1066
+ }, _(o.name), 5))), 256))
1067
+ ], 4)
1068
+ ]),
1069
+ f("tbody", null, [
1070
+ (u(!0), n(C, null, F(p.value.xLabels, (o, s) => (u(), n("tr", {
1071
+ role: "row",
1072
+ class: ce({ "vue-ui-data-table__tbody__row": !0, "vue-ui-data-table__tbody__row-even": s % 2 === 0, "vue-ui-data-table__tbody__row-odd": s % 2 !== 0 }),
1073
+ style: w(`background:${e.value.table.td.backgroundColor};color:${e.value.table.td.color}`)
1074
+ }, [
1075
+ f("td", {
1076
+ "data-cell": e.value.table.colNames.xAxis,
1077
+ class: "vue-ui-data-table__tbody__td",
1078
+ style: w(`outline:${e.value.table.td.outline}`)
1079
+ }, [
1080
+ f("div", Yl, _(o), 1)
1081
+ ], 12, Ul),
1082
+ (u(!0), n(C, null, F(b.dataset, (d, c) => (u(), n("td", {
1083
+ class: "vue-ui-data-table__tbody__td",
1084
+ "data-cell": b.dataset[c].name,
1085
+ style: w(`outline:${e.value.table.td.outline}`)
1086
+ }, [
1087
+ f("div", Wl, _(isNaN(d.values[s]) ? "-" : i(H)({ p: e.value.style.layout.dataLabels.prefix, v: d.values[s], s: e.value.style.layout.dataLabels.suffix, r: e.value.table.td.roundingValue })), 1)
1088
+ ], 12, Gl))), 256))
1089
+ ], 6))), 256))
1090
+ ])
1091
+ ])
1092
+ ], 6)
1093
+ ], 4)
1094
+ ]),
1095
+ _: 2
1096
+ }, [
1097
+ e.value.table.useDialog ? {
1098
+ name: "title",
1099
+ fn: S(() => [
1100
+ Ie(_(xe.value.title), 1)
1101
+ ]),
1102
+ key: "0"
1103
+ } : void 0,
1104
+ e.value.table.useDialog ? {
1105
+ name: "actions",
1106
+ fn: S(() => [
1107
+ f("button", {
1108
+ tabindex: "0",
1109
+ class: "vue-ui-user-options-button",
1110
+ onClick: a[0] || (a[0] = (o) => Ne(e.value.userOptions.callbacks.csv))
1111
+ }, [
1112
+ ke(i(ae), {
1113
+ name: "excel",
1114
+ stroke: xe.value.props.color
1115
+ }, null, 8, ["stroke"])
1116
+ ])
1117
+ ]),
1118
+ key: "1"
1119
+ } : void 0
1120
+ ]), 1040)) : h("", !0),
1121
+ i(pe) ? (u(), de(hl, { key: 7 })) : h("", !0)
1122
+ ], 46, kl));
1123
+ }
1124
+ }, ra = /* @__PURE__ */ xl(jl, [["__scopeId", "data-v-19a7e357"]]);
1125
+ export {
1126
+ ra as default
1127
+ };