vue-data-ui 3.0.0-next.33 → 3.0.0-next.35

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 (92) hide show
  1. package/dist/{Arrow-VgHimrRb.js → Arrow-9U-UjNas.js} +1 -1
  2. package/dist/{BaseDraggableDialog-S80pCP_z.js → BaseDraggableDialog-CdaQDDs0.js} +2 -2
  3. package/dist/{BaseIcon-CVvwtj-w.js → BaseIcon-DB8UP3sU.js} +1 -1
  4. package/dist/{ColorPicker-DhGMsdlx.js → ColorPicker-Cb3SgjWM.js} +2 -2
  5. package/dist/{DataTable-CQqQt3fP.js → DataTable-BvgiQ2JE.js} +2 -2
  6. package/dist/{Legend-DAN5L1lo.js → Legend-DBh56vdD.js} +2 -2
  7. package/dist/{NonSvgPenAndPaper-s0PFQNll.js → NonSvgPenAndPaper-fHaJC-dl.js} +3 -3
  8. package/dist/{PackageVersion-DGlLBQOn.js → PackageVersion-Bhohtzrj.js} +1 -1
  9. package/dist/{PenAndPaper-hAK7vneq.js → PenAndPaper-vCj1-UEY.js} +3 -3
  10. package/dist/{Shape-CjeprST6.js → Shape-D2E4CMoi.js} +1 -1
  11. package/dist/{Slicer-8WIL9Cfq.js → Slicer-1-SaJZ80.js} +2 -2
  12. package/dist/{SparkTooltip-DeTWOnTg.js → SparkTooltip-CE4BUH-_.js} +1 -1
  13. package/dist/{Title-Bo-MVYcn.js → Title-8eeSFss9.js} +1 -1
  14. package/dist/{Tooltip-DD9Ly0Pw.js → Tooltip-C7HgI7vF.js} +1 -1
  15. package/dist/{UserOptions-dJLhbxrH.js → UserOptions-Cxr0ZsfM.js} +2 -2
  16. package/dist/{dom-to-png-CjNOdM-6.js → dom-to-png-DDW5fRWT.js} +1 -1
  17. package/dist/{img-59KgIaXp.js → img-czwmJka_.js} +1 -1
  18. package/dist/{index-h6tbqLot.js → index-Cy_OHCLi.js} +700 -660
  19. package/dist/{pdf-CVKcemYx.js → pdf-BLIP6Yoc.js} +1 -1
  20. package/dist/style.css +1 -1
  21. package/dist/types/vue-data-ui.d.cts +46 -8
  22. package/dist/types/vue-data-ui.d.ts +46 -8
  23. package/dist/{useNestedProp-D059IOwh.js → useNestedProp-Di0uuVL6.js} +1 -1
  24. package/dist/{usePrinter-BuJDNOzF.js → usePrinter-B3aBnAXo.js} +2 -2
  25. package/dist/useTimeLabelCollider-CIsgDrl9.js +78 -0
  26. package/dist/{vue-data-ui-CnP-8qvV.js → vue-data-ui-C8hTMkHA.js} +64 -64
  27. package/dist/vue-data-ui.js +1 -1
  28. package/dist/{vue-ui-3d-bar-2BDo53CG.js → vue-ui-3d-bar-BybaBB_P.js} +6 -6
  29. package/dist/{vue-ui-accordion-DyBJ-mad.js → vue-ui-accordion-DJ7Cgx6-.js} +3 -3
  30. package/dist/{vue-ui-age-pyramid-DlD9Y8xr.js → vue-ui-age-pyramid-DPuw31_r.js} +6 -6
  31. package/dist/{vue-ui-annotator-BoWAUlmS.js → vue-ui-annotator-BRVlhEK2.js} +2 -2
  32. package/dist/{vue-ui-bullet-CfUFHtlX.js → vue-ui-bullet-4NYyyaH9.js} +7 -7
  33. package/dist/{vue-ui-candlestick-DDS8WYxh.js → vue-ui-candlestick-DEYGVnYY.js} +230 -222
  34. package/dist/{vue-ui-carousel-table-D2xngvtB.js → vue-ui-carousel-table-DBV6s3lm.js} +4 -4
  35. package/dist/{vue-ui-chestnut-D1pWQozg.js → vue-ui-chestnut-EngIIDHp.js} +5 -5
  36. package/dist/{vue-ui-chord-DEK-Wk7B.js → vue-ui-chord-B0lIgdaA.js} +8 -8
  37. package/dist/{vue-ui-circle-pack-CeykLpx8.js → vue-ui-circle-pack-D2_7Q03M.js} +6 -6
  38. package/dist/{vue-ui-cursor-D86Y-gg1.js → vue-ui-cursor-B8W8SBMh.js} +2 -2
  39. package/dist/{vue-ui-dashboard-CwWcub4O.js → vue-ui-dashboard-R18RfpNq.js} +62 -62
  40. package/dist/{vue-ui-digits-CBD1fasp.js → vue-ui-digits-lDDMeEMg.js} +2 -2
  41. package/dist/{vue-ui-donut-DzM857Mw.js → vue-ui-donut-C0QxZHSs.js} +8 -8
  42. package/dist/{vue-ui-donut-evolution-BPTk5wKW.js → vue-ui-donut-evolution-DMuOgr00.js} +307 -304
  43. package/dist/{vue-ui-dumbbell-Dqm2btrM.js → vue-ui-dumbbell-BoehGkow.js} +7 -7
  44. package/dist/{vue-ui-flow-C-JgLHsh.js → vue-ui-flow-CMpJ4VNW.js} +7 -7
  45. package/dist/{vue-ui-funnel-Dm3aCwVL.js → vue-ui-funnel-V-ep0uRk.js} +6 -6
  46. package/dist/{vue-ui-galaxy-siSx2yn6.js → vue-ui-galaxy-5_UI4rRC.js} +5 -5
  47. package/dist/{vue-ui-gauge-BgIR1PlQ.js → vue-ui-gauge-DuPPfpX8.js} +6 -6
  48. package/dist/{vue-ui-gizmo-CPIlfu1s.js → vue-ui-gizmo-DC0_MhU8.js} +3 -3
  49. package/dist/vue-ui-heatmap-Du7CgmK0.js +1084 -0
  50. package/dist/{vue-ui-history-plot-DOWu_0wY.js → vue-ui-history-plot-DUAojY09.js} +7 -7
  51. package/dist/{vue-ui-kpi-BqGvPVuE.js → vue-ui-kpi-DFqD1V27.js} +3 -3
  52. package/dist/{vue-ui-mini-loader-C3RV5-mc.js → vue-ui-mini-loader-Dhx_wzdm.js} +2 -2
  53. package/dist/{vue-ui-molecule-DsMfjmG0.js → vue-ui-molecule-F69F6eYS.js} +5 -5
  54. package/dist/{vue-ui-mood-radar-CRWVJjIb.js → vue-ui-mood-radar-Bx-4k7jY.js} +7 -7
  55. package/dist/{vue-ui-nested-donuts-D5gnJmVK.js → vue-ui-nested-donuts-BVeoZkgI.js} +9 -9
  56. package/dist/{vue-ui-onion-D1qHQTBl.js → vue-ui-onion-DHYlAXM7.js} +7 -7
  57. package/dist/{vue-ui-parallel-coordinate-plot-BnAveZOI.js → vue-ui-parallel-coordinate-plot-N5KtznHX.js} +8 -8
  58. package/dist/{vue-ui-quadrant-B7Lqriri.js → vue-ui-quadrant-BsQ8O9e6.js} +8 -8
  59. package/dist/{vue-ui-quick-chart-CvQRgbKq.js → vue-ui-quick-chart-Bocy5d7r.js} +6 -6
  60. package/dist/{vue-ui-radar-D494eivm.js → vue-ui-radar-ByUt1ys9.js} +7 -7
  61. package/dist/{vue-ui-rating-CTHYICJA.js → vue-ui-rating-C1KpOoZF.js} +2 -2
  62. package/dist/{vue-ui-relation-circle-DMtH5ofd.js → vue-ui-relation-circle-Bw-A49Ol.js} +6 -6
  63. package/dist/{vue-ui-ridgeline-BiDnGLX5.js → vue-ui-ridgeline-g9JYjIcs.js} +11 -9
  64. package/dist/{vue-ui-rings-DXGyAl3y.js → vue-ui-rings-D4-dAblw.js} +8 -8
  65. package/dist/{vue-ui-scatter-Ds7sncxR.js → vue-ui-scatter-Ese_ubEo.js} +8 -8
  66. package/dist/{vue-ui-skeleton-DIJ5u0HF.js → vue-ui-skeleton-DGCSWS6R.js} +3 -3
  67. package/dist/{vue-ui-smiley-Dyhet6zb.js → vue-ui-smiley-D-2kksbm.js} +2 -2
  68. package/dist/{vue-ui-spark-trend-rhXFuApA.js → vue-ui-spark-trend-x900EpiA.js} +3 -3
  69. package/dist/{vue-ui-sparkbar-COfmi6KI.js → vue-ui-sparkbar-t47Lq5jH.js} +3 -3
  70. package/dist/{vue-ui-sparkgauge-DJOsuPG-.js → vue-ui-sparkgauge-T8iByZV1.js} +3 -3
  71. package/dist/{vue-ui-sparkhistogram-DV3KR-q5.js → vue-ui-sparkhistogram-D_ZvA5DH.js} +4 -4
  72. package/dist/{vue-ui-sparkline-kf86uahK.js → vue-ui-sparkline-DQExYN7j.js} +3 -3
  73. package/dist/{vue-ui-sparkstackbar-DPpQkxUm.js → vue-ui-sparkstackbar-9ywYLwLc.js} +3 -3
  74. package/dist/{vue-ui-stackbar-CASe4O-t.js → vue-ui-stackbar-Cpf9GA_9.js} +455 -446
  75. package/dist/{vue-ui-strip-plot-DRfNBQ9A.js → vue-ui-strip-plot-Dd31-kf1.js} +7 -7
  76. package/dist/{vue-ui-table-Cg422ltc.js → vue-ui-table-ChP6rjYz.js} +3 -3
  77. package/dist/{vue-ui-table-heatmap-BCDOpShn.js → vue-ui-table-heatmap-sp_8-q-v.js} +5 -5
  78. package/dist/{vue-ui-table-sparkline-MtUkhn2K.js → vue-ui-table-sparkline-D04Usdos.js} +4 -4
  79. package/dist/{vue-ui-thermometer-Bz4qJzLC.js → vue-ui-thermometer-tp3Zjpbn.js} +6 -6
  80. package/dist/{vue-ui-timer-Da3hWBUk.js → vue-ui-timer-xVlYHzJH.js} +5 -5
  81. package/dist/{vue-ui-tiremarks-Bafaf_gE.js → vue-ui-tiremarks-CkUbhFx0.js} +6 -6
  82. package/dist/{vue-ui-treemap-CSQjMeIP.js → vue-ui-treemap-BpkTja9I.js} +8 -8
  83. package/dist/{vue-ui-vertical-bar-tLYgt_Pg.js → vue-ui-vertical-bar-CQ2y_LEJ.js} +9 -9
  84. package/dist/{vue-ui-waffle-ir_3LGj_.js → vue-ui-waffle-BzBS5B9r.js} +8 -8
  85. package/dist/{vue-ui-wheel-bDEJ_vBc.js → vue-ui-wheel-CEiRdkDJ.js} +6 -6
  86. package/dist/{vue-ui-word-cloud-BLQ-MfCc.js → vue-ui-word-cloud-h7iNtGpT.js} +6 -6
  87. package/dist/{vue-ui-world-_IoWGh3p.js → vue-ui-world-D6iHt4w8.js} +6 -6
  88. package/dist/{vue-ui-xy-dnlLx-v4.js → vue-ui-xy-BtOdpKQf.js} +58 -55
  89. package/dist/{vue-ui-xy-canvas-DDRJMmPT.js → vue-ui-xy-canvas-BvrKpXv1.js} +8 -8
  90. package/package.json +1 -1
  91. package/dist/useTimeLabelCollider-V7AOiPLB.js +0 -71
  92. package/dist/vue-ui-heatmap-D_8NEANa.js +0 -881
@@ -0,0 +1,1084 @@
1
+ import { useCssVars as Dt, defineAsyncComponent as ne, computed as g, ref as c, shallowRef as nt, toRefs as Bt, watch as Re, onBeforeUnmount as Fe, onMounted as Ut, watchEffect as Ne, reactive as rt, createElementBlock as n, openBlock as u, unref as i, normalizeStyle as k, normalizeClass as re, createBlock as ve, createCommentVNode as p, createElementVNode as y, createVNode as He, createSlots as Yt, withCtx as R, renderSlot as T, normalizeProps as Z, guardReactiveProps as ee, Fragment as A, renderList as $, withDirectives as vt, createTextVNode as ct, toDisplayString as z, vShow as Gt, withKeys as Wt, nextTick as jt } from "vue";
2
+ import { u as qt, c as Xe, A as Kt, a as Jt, C as Qt, o as dt, e as ht, P as ce, g as Zt, X as el, F as xe, i as E, f as H, v as D, q as tl, r as ll, x as al, y as ol } from "./index-Cy_OHCLi.js";
3
+ import { u as yt } from "./useNestedProp-Di0uuVL6.js";
4
+ import { u as sl } from "./usePrinter-B3aBnAXo.js";
5
+ import { u as ul } from "./useUserOptionState-BIvW1Kz7.js";
6
+ import { u as il } from "./useChartAccessibility-9icAAmYg.js";
7
+ import nl from "./vue-ui-accordion-DJ7Cgx6-.js";
8
+ import rl from "./Title-8eeSFss9.js";
9
+ import vl from "./img-czwmJka_.js";
10
+ import { t as we, u as cl } from "./useResponsive-DfdjqQps.js";
11
+ import { u as ft } from "./useTimeLabelCollider-CIsgDrl9.js";
12
+ import { u as pt } from "./useTimeLabels-DkzmKfZn.js";
13
+ import { u as dl, B as hl } from "./BaseScanner-DIK2NTdp.js";
14
+ import { _ as yl } from "./_plugin-vue_export-helper-CHgC5LLL.js";
15
+ const fl = {
16
+ mounted(b, X) {
17
+ gt(b, X.value);
18
+ },
19
+ updated(b, X) {
20
+ gt(b, X.value);
21
+ }
22
+ };
23
+ function gt(b, {
24
+ cellWidth: X,
25
+ cellHeight: de,
26
+ maxFontSize: Y,
27
+ minFontSize: he,
28
+ index: M,
29
+ reportRotation: te,
30
+ reportHide: P,
31
+ rotateAll: ke,
32
+ hideAll: C
33
+ }) {
34
+ b.removeAttribute("transform"), b.removeAttribute("visibility");
35
+ let le = !1, G = !1;
36
+ b.setAttribute("font-size", Y);
37
+ const W = b.getComputedTextLength();
38
+ if (W <= X)
39
+ te(M, !1), P(M, !1);
40
+ else {
41
+ const w = Math.floor(Y * X / W);
42
+ w >= he ? (b.setAttribute("font-size", w), te(M, !1), P(M, !1)) : (te(M, !0), P(M, !1), le = !0);
43
+ }
44
+ if (ke && (le = !0), le) {
45
+ b.setAttribute("font-size", Y);
46
+ const w = b.getBBox(), Ae = w.x + w.width / 2, ae = w.y + w.height / 2;
47
+ b.setAttribute("transform", `rotate(-90 ${Ae} ${ae})`);
48
+ const j = b.getBBox().width;
49
+ if (j <= de)
50
+ P(M, !1);
51
+ else {
52
+ const oe = Math.floor(Y * de / j);
53
+ oe >= he ? (b.setAttribute("font-size", oe), P(M, !1)) : (G = !0, P(M, !0));
54
+ }
55
+ }
56
+ (C || G) && b.setAttribute("visibility", "hidden");
57
+ }
58
+ const pl = ["id"], gl = ["xmlns", "viewBox"], bl = ["x", "y", "width", "height"], ml = ["x", "y", "height", "width", "fill", "stroke", "stroke-width"], xl = ["x", "y", "height", "width", "fill", "stroke", "stroke-width"], wl = ["x", "y", "width", "height", "fill", "stroke", "stroke-width"], kl = ["x", "y", "width", "height", "fill", "stroke", "stroke-width"], Al = ["font-size", "font-weight", "fill", "x", "y"], Ll = ["x", "y", "width", "height", "onMouseover", "onMouseout", "onClick"], Cl = ["x", "y", "width", "height", "fill", "stroke", "stroke-width"], Tl = ["x", "y", "width", "height", "fill", "stroke", "stroke-width"], _l = ["font-size", "fill", "x", "y", "font-weight"], zl = ["font-size", "fill", "x", "y", "font-weight"], Sl = ["text-anchor", "font-size", "fill", "font-weight", "transform"], $l = ["text-anchor", "font-size", "fill", "font-weight", "transform"], Ml = { key: 6 }, Ol = ["x", "y", "width", "height", "stroke", "stroke-width"], Rl = { class: "vue-ui-heatmap-legend-gauge-right" }, Fl = ["data-value"], Nl = { class: "vue-ui-heatmap-gauge-indicator-value" }, Hl = {
59
+ key: 4,
60
+ class: "vue-data-ui-watermark"
61
+ }, Xl = { class: "vue-ui-data-table" }, Pl = { key: 0 }, Il = ["data-cell"], Vl = { style: { display: "flex", "align-items": "center", gap: "5px", "justify-content": "flex-end", width: "100%", "padding-right": "3px" } }, El = ["data-cell"], Dl = { style: { display: "flex", "align-items": "center", gap: "5px", "justify-content": "flex-end", width: "100%", "padding-right": "3px" } }, Bl = {
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: X, emit: de }) {
79
+ Dt((t) => ({
80
+ "0be0aad3": t.tdo
81
+ }));
82
+ const Y = ne(() => import("./BaseIcon-DB8UP3sU.js")), he = ne(() => import("./PackageVersion-Bhohtzrj.js")), M = ne(() => import("./PenAndPaper-vCj1-UEY.js")), te = ne(() => import("./Tooltip-C7HgI7vF.js")), P = ne(() => import("./UserOptions-Cxr0ZsfM.js")), { vue_ui_heatmap: ke } = qt(), C = b, le = de, G = g({
83
+ get() {
84
+ return !!C.dataset && C.dataset.length;
85
+ },
86
+ set(t) {
87
+ return t;
88
+ }
89
+ }), W = c(Xe()), w = c(null), Ae = c(null), ae = c(!1), j = c(""), oe = c(void 0), se = c(null), Pe = c(0), Le = c(null), Ie = c(!1), Ve = c(0), bt = c(null), Ee = c(null), De = c(null), mt = c(null), Be = c(null), xt = c(null), Ce = c(null), Te = c(null), wt = c(null), Ue = c(null), q = nt(null), e = c(Se());
90
+ function kt() {
91
+ const t = Array(7).fill("_"), o = [], a = 14, s = t.length;
92
+ for (let d = 0; d < s; d += 1) {
93
+ const r = [];
94
+ for (let x = 0; x < a; x += 1)
95
+ r.push(d + x * 2);
96
+ o.push({
97
+ name: `${t[d]}`,
98
+ values: r
99
+ });
100
+ }
101
+ return o;
102
+ }
103
+ const { loading: ye, FINAL_DATASET: m, manualLoading: _e } = dl({
104
+ ...Bt(C),
105
+ FINAL_CONFIG: e,
106
+ prepareConfig: Se,
107
+ skeletonDataset: kt(),
108
+ skeletonConfig: Kt({
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: ze, setUserOptionsVisibility: Ye, keepUserOptionState: Ge } = ul({ config: e.value }), { svgRef: We } = il({ config: e.value.style.title });
134
+ function Se() {
135
+ const t = yt({
136
+ userConfig: C.config,
137
+ defaultConfig: ke
138
+ });
139
+ let o = {};
140
+ return t.theme ? o = {
141
+ ...yt({
142
+ userConfig: Jt.vue_ui_heatmap[t.theme] || C.config,
143
+ defaultConfig: t
144
+ })
145
+ } : o = t, C.config && Qt(C.config, "style.layout.dataLabels.xAxis.showOnlyAtModulo") ? o.style.layout.dataLabels.xAxis.showOnlyAtModulo = C.config.style.layout.dataLabels.xAxis.showOnlyAtModulo : o.style.layout.dataLabels.xAxis.showOnlyAtModulo = null, o;
146
+ }
147
+ Re(() => C.config, (t) => {
148
+ ye.value || (e.value = Se()), ze.value = !e.value.userOptions.showOnChartHover, $e(), Ve.value += 1, S.value.showTable = e.value.table.show, S.value.showTooltip = e.value.style.tooltip.show;
149
+ }, { deep: !0 }), Re(() => C.dataset, (t) => {
150
+ Array.isArray(t) && t.length > 0 && (_e.value = !1), $e();
151
+ }, { deep: !0 });
152
+ const { isPrinting: je, isImaging: qe, generatePdf: Ke, generateImage: Je } = sl({
153
+ elementId: `heatmap__${W.value}`,
154
+ fileName: e.value.style.title.text || "vue-ui-heatmap",
155
+ options: e.value.userOptions.print
156
+ }), At = g(() => e.value.userOptions.show && !e.value.style.title.text), S = c({
157
+ showTable: e.value.table.show,
158
+ showTooltip: e.value.style.tooltip.show
159
+ });
160
+ Re(e, () => {
161
+ S.value = {
162
+ showTable: e.value.table.show,
163
+ showTooltip: e.value.style.tooltip.show
164
+ };
165
+ }, { immediate: !0 });
166
+ const Lt = g(() => e.value.table.responsiveBreakpoint), K = nt(null);
167
+ function Ct() {
168
+ K.value && K.value.disconnect(), K.value = new ResizeObserver((t) => {
169
+ t.forEach((o) => {
170
+ Ie.value = o.contentRect.width < Lt.value;
171
+ });
172
+ }), Le.value && K.value.observe(Le.value);
173
+ }
174
+ Fe(() => {
175
+ K.value && K.value.disconnect();
176
+ });
177
+ const I = c(null), Qe = g(() => !!e.value.debug);
178
+ function $e() {
179
+ if (dt(C.dataset) && (ht({
180
+ componentName: "VueUiHeatmap",
181
+ type: "dataset",
182
+ debug: Qe.value
183
+ }), G.value = !1, _e.value = !0), dt(C.dataset) || (_e.value = e.value.loading), e.value.responsive) {
184
+ const t = we(() => {
185
+ const { width: o, height: a } = cl({
186
+ chart: w.value,
187
+ title: e.value.style.title.text ? Ee.value : null,
188
+ // add legend hirizontal in legend attr
189
+ // add legend vertical in some other attr and modify composable to subtract width
190
+ source: Ue.value,
191
+ noTitle: De.value
192
+ });
193
+ requestAnimationFrame(() => {
194
+ fe.value = o, pe.value = a;
195
+ });
196
+ });
197
+ I.value && (q.value && I.value.unobserve(q.value), I.value.disconnect()), I.value = new ResizeObserver(t), q.value = w.value.parentNode, I.value.observe(q.value);
198
+ }
199
+ Ct();
200
+ }
201
+ Fe(() => {
202
+ I.value && (q.value && I.value.unobserve(q.value), I.value.disconnect());
203
+ }), Ut(() => {
204
+ $e();
205
+ });
206
+ const F = g(() => Math.max(...m.value.flatMap((t) => (t.values || []).length))), fe = c(1e3), pe = c(300), _ = g(() => ({
207
+ width: Math.max(10, fe.value),
208
+ height: Math.max(10, pe.value)
209
+ })), ue = c(0), Tt = we((t) => {
210
+ ue.value = t;
211
+ }, 100);
212
+ Ne((t) => {
213
+ const o = Ce.value;
214
+ if (!o) return;
215
+ const a = new ResizeObserver((s) => {
216
+ Tt(s[0].contentRect.height);
217
+ });
218
+ a.observe(o), t(() => a.disconnect());
219
+ });
220
+ const J = c(0), _t = we((t) => {
221
+ J.value = t;
222
+ }, 100);
223
+ Ne((t) => {
224
+ const o = Be.value;
225
+ if (!o) return;
226
+ const a = new ResizeObserver((s) => {
227
+ _t(s[0].contentRect.width);
228
+ });
229
+ a.observe(o), t(() => a.disconnect());
230
+ });
231
+ const ge = c(0), zt = we((t) => {
232
+ ge.value = t;
233
+ }, 100);
234
+ Ne((t) => {
235
+ const o = Te.value;
236
+ if (!o) return;
237
+ const a = new ResizeObserver((s) => {
238
+ zt(s[0].contentRect.height);
239
+ });
240
+ a.observe(o), t(() => a.disconnect());
241
+ }), Fe(() => {
242
+ ue.value = 0, J.value = 0, ge.value = 0;
243
+ });
244
+ const v = g(() => Math.min(_.value.height, _.value.width) / 1e3 * e.value.style.layout.cells.spacing), l = g(() => {
245
+ let t = 0;
246
+ e.value.style.legend.show && (t = e.value.style.legend.width);
247
+ const o = e.value.style.layout.padding, a = e.value.style.layout.dataLabels.xAxis.fontSize / 3, s = e.value.style.layout.dataLabels.xAxis.fontSize / 2, d = _.value.height - o.top - o.bottom - ue.value - a, r = _.value.width / 60, x = {
248
+ x: v.value * F.value,
249
+ y: v.value * ((m.value || []).length + 1)
250
+ }, N = _.value.width - o.left - o.right - x.x - r * 2 - 2 - t - J.value, h = d - r - x.y - ge.value - s - e.value.style.layout.cells.columnTotal.value.offsetY, L = {
251
+ width: Math.max(3, N / F.value),
252
+ height: Math.max(3, h / (m.value.length ?? 1))
253
+ };
254
+ return {
255
+ top: o.top + ue.value + r + a,
256
+ topLabelsHeight: ue.value,
257
+ sumCellXHeight: r,
258
+ height: h,
259
+ left: o.left + J.value + r / 2,
260
+ right: o.right - t,
261
+ bottom: _.value.height - o.bottom - ge.value,
262
+ width: N,
263
+ cellSize: L
264
+ };
265
+ }), V = g(() => Math.max(...m.value.flatMap((t) => t.values))), ie = g(() => Math.min(...m.value.flatMap((t) => t.values))), B = g(() => {
266
+ const t = m.value.flatMap((a) => a.values);
267
+ return t.reduce((a, s) => a + s, 0) / t.length;
268
+ }), St = g(() => pt({
269
+ values: e.value.style.layout.dataLabels.yAxis.values.length ? e.value.style.layout.dataLabels.yAxis.values : m.value.map((t) => t.name),
270
+ maxDatapoints: m.value.length,
271
+ formatter: e.value.style.layout.dataLabels.yAxis.datetimeFormatter,
272
+ start: 0,
273
+ end: m.value.length
274
+ })), $t = g(() => pt({
275
+ values: e.value.style.layout.dataLabels.xAxis.values,
276
+ maxDatapoints: F.value,
277
+ formatter: e.value.style.layout.dataLabels.xAxis.datetimeFormatter,
278
+ start: 0,
279
+ end: F.value
280
+ })), f = g(() => {
281
+ const t = St.value.map((h) => h.text), o = $t.value.map((h) => h.text), a = m.value.map((h) => h.values.reduce((L, Oe) => L + Oe, 0)), s = Math.max(...a), d = Math.min(...a), r = [];
282
+ for (let h = 0; h < F.value; h += 1)
283
+ r.push(m.value.map((L) => L.values[h] || 0).reduce((L, Oe) => L + Oe, 0));
284
+ const x = Math.max(...r), N = Math.min(...r);
285
+ return {
286
+ yTotals: a.map((h) => {
287
+ const L = isNaN(h / s) ? 0 : h / s;
288
+ return {
289
+ total: h,
290
+ proportion: L,
291
+ color: ce(e.value.style.layout.cells.colors.cold, e.value.style.layout.cells.colors.hot, d, s, h)
292
+ };
293
+ }),
294
+ xTotals: r.map((h) => {
295
+ const L = isNaN(h / x) ? 0 : h / x;
296
+ return {
297
+ total: h,
298
+ proportion: L,
299
+ color: ce(e.value.style.layout.cells.colors.cold, e.value.style.layout.cells.colors.hot, N, x, h)
300
+ };
301
+ }),
302
+ yLabels: t,
303
+ xLabels: o.slice(0, F.value)
304
+ };
305
+ }), U = g(() => (m.value.forEach((t, o) => {
306
+ Zt({
307
+ datasetObject: t,
308
+ requiredAttributes: ["values"]
309
+ }).forEach((a) => {
310
+ ht({
311
+ componentName: "VueUiHeatmap",
312
+ type: "datasetSerieAttribute",
313
+ property: "values",
314
+ index: o,
315
+ debug: Qe.value
316
+ });
317
+ });
318
+ }), m.value.map((t, o) => ({
319
+ ...t,
320
+ temperatures: (t.values || []).map((a, s) => a >= B.value ? {
321
+ side: "up",
322
+ color: ce(e.value.style.layout.cells.colors.cold, e.value.style.layout.cells.colors.hot, ie.value, V.value, a),
323
+ ratio: Math.abs(Math.abs(a - B.value) / Math.abs(V.value - B.value)) > 1 ? 1 : Math.abs(Math.abs(a - B.value) / Math.abs(V.value - B.value)),
324
+ value: a,
325
+ yAxisName: f.value.yLabels[o],
326
+ xAxisName: f.value.xLabels[s],
327
+ id: `vue-data-ui-heatmap-cell-${Xe()}`
328
+ } : {
329
+ side: "down",
330
+ ratio: Math.abs(1 - Math.abs(a) / Math.abs(B.value)) > 1 ? 1 : Math.abs(1 - Math.abs(a) / Math.abs(B.value)),
331
+ color: ce(e.value.style.layout.cells.colors.cold, e.value.style.layout.cells.colors.hot, ie.value, V.value, a),
332
+ value: a,
333
+ yAxisName: f.value.yLabels[o],
334
+ xAxisName: f.value.xLabels[s],
335
+ id: `vue-data-ui-heatmap-cell-${Xe()}`
336
+ })
337
+ })))), Ze = g(() => m.value.length), et = rt(Array(Ze.value * F.value || 1).fill(!1)), Mt = g(() => et.some((t) => t));
338
+ function Ot(t, o) {
339
+ et[t] = o;
340
+ }
341
+ const tt = rt(Array(Ze.value * F.value || 1).fill(!1)), Rt = g(() => tt.some((t) => t));
342
+ function Ft(t, o) {
343
+ tt[t] = o;
344
+ }
345
+ const O = c(null), be = c(null);
346
+ function Nt(t, o, a, s) {
347
+ e.value.events.datapointEnter && e.value.events.datapointEnter({ datapoint: t, seriesIndex: o }), se.value = { x: a, y: s };
348
+ const { value: d, yAxisName: r, xAxisName: x, id: N } = t;
349
+ oe.value = N, O.value = d, be.value = {
350
+ datapoint: t,
351
+ seriesIndex: o,
352
+ series: U.value,
353
+ config: e.value
354
+ }, ae.value = !0;
355
+ let h = "";
356
+ const L = e.value.style.tooltip.customFormat;
357
+ al(L) && ol(() => L({
358
+ datapoint: t,
359
+ seriesIndex: o,
360
+ series: U.value,
361
+ config: e.value
362
+ })) ? j.value = L({
363
+ datapoint: t,
364
+ seriesIndex: o,
365
+ series: U.value,
366
+ config: e.value
367
+ }) : (h += `<div>${r} ${x ? r ? ` - ${x}` : `${x}` : ""}</div>`, h += `<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:${ce(e.value.style.layout.cells.colors.cold, e.value.style.layout.cells.colors.hot, ie.value, V.value, d)}">⬤</span><span>${isNaN(d) ? "-" : E(
368
+ e.value.style.layout.cells.value.formatter,
369
+ d,
370
+ H({
371
+ p: e.value.style.layout.dataLabels.prefix,
372
+ v: d,
373
+ s: e.value.style.layout.dataLabels.suffix,
374
+ r: e.value.style.tooltip.roundingValue
375
+ }),
376
+ { datapoint: t, seriesIndex: o }
377
+ )}</span></div>`, j.value = `<div style="font-size:${e.value.style.tooltip.fontSize}px">${h}</div>`);
378
+ }
379
+ function Ht({ datapoint: t, seriesIndex: o }) {
380
+ e.value.events.datapointLeave && e.value.events.datapointLeave({ datapoint: t, seriesIndex: o }), ae.value = !1, oe.value = void 0, O.value = null, se.value = null;
381
+ }
382
+ function Xt(t) {
383
+ return E(
384
+ e.value.style.layout.cells.value.formatter,
385
+ f.value.yTotals[t].total,
386
+ H({
387
+ p: e.value.style.layout.dataLabels.prefix,
388
+ v: f.value.yTotals[t].total,
389
+ s: e.value.style.layout.dataLabels.suffix,
390
+ r: e.value.style.layout.cells.value.roundingValue
391
+ }),
392
+ { datapoint: f.value.yTotals[t], rowIndex: t }
393
+ );
394
+ }
395
+ function Pt(t) {
396
+ return E(
397
+ e.value.style.layout.cells.value.formatter,
398
+ f.value.xTotals[t].total,
399
+ H({
400
+ p: e.value.style.layout.dataLabels.prefix,
401
+ v: f.value.xTotals[t].total,
402
+ s: e.value.style.layout.dataLabels.suffix,
403
+ r: e.value.style.layout.cells.value.roundingValue
404
+ }),
405
+ { datapoint: f.value.xTotals[t], colIndex: t }
406
+ );
407
+ }
408
+ g(() => {
409
+ const t = m.value.map((a) => ({
410
+ name: a.name
411
+ })), o = m.value.map((a) => a.values);
412
+ return { head: t, body: o };
413
+ });
414
+ function lt(t = null) {
415
+ jt(() => {
416
+ const o = ["", ...m.value.map((r, x) => r.name)], a = [];
417
+ for (let r = 0; r < f.value.xLabels.length; r += 1) {
418
+ const x = [f.value.xLabels[r]];
419
+ for (let N = 0; N < m.value.length; N += 1)
420
+ x.push([m.value[N].values[r]]);
421
+ a.push(x);
422
+ }
423
+ const s = [[e.value.style.title.text], [e.value.style.title.subtitle.text], [[""], [""], [""]]].concat([o]).concat(a), d = tl(s);
424
+ t ? t(d) : ll({ csvContent: d, title: e.value.style.title.text || "vue-ui-heatmap" });
425
+ });
426
+ }
427
+ const Q = c(!1);
428
+ function at(t) {
429
+ Q.value = t, Pe.value += 1;
430
+ }
431
+ function ot() {
432
+ S.value.showTable = !S.value.showTable;
433
+ }
434
+ function st() {
435
+ S.value.showTooltip = !S.value.showTooltip;
436
+ }
437
+ const me = c(!1);
438
+ function Me() {
439
+ me.value = !me.value;
440
+ }
441
+ function It(t, o) {
442
+ e.value.events.datapointClick && e.value.events.datapointClick({ datapoint: t, seriesIndex: o }), le("selectDatapoint", t);
443
+ }
444
+ function Vt() {
445
+ return U.value;
446
+ }
447
+ async function Et({ scale: t = 2 } = {}) {
448
+ if (!w.value) return;
449
+ const { width: o, height: a } = w.value.getBoundingClientRect(), s = o / a, { imageUri: d, base64: r } = await vl({ domElement: w.value, base64: !0, img: !0, scale: t });
450
+ return {
451
+ imageUri: d,
452
+ base64: r,
453
+ title: e.value.style.title.text,
454
+ width: o,
455
+ height: a,
456
+ aspectRatio: s
457
+ };
458
+ }
459
+ const ut = g(() => ({
460
+ start: 0,
461
+ end: F.value
462
+ })), it = g(() => f.value.xLabels);
463
+ return ft({
464
+ timeLabelsEls: Ce,
465
+ timeLabels: it,
466
+ slicer: ut,
467
+ configRef: e,
468
+ rotationPath: ["style", "layout", "dataLabels", "xAxis", "rotation"],
469
+ autoRotatePath: ["style", "layout", "dataLabels", "xAxis", "autoRotate"],
470
+ isAutoSize: !1,
471
+ targetClass: ".vue-ui-heatmap-col-name",
472
+ rotation: -30.0001,
473
+ width: fe,
474
+ height: pe
475
+ }), ft({
476
+ timeLabelsEls: Te,
477
+ timeLabels: it,
478
+ slicer: ut,
479
+ configRef: e,
480
+ rotationPath: ["style", "layout", "cells", "columnTotal", "value", "rotation"],
481
+ autoRotatePath: ["style", "layout", "cells", "columnTotal", "value", "autoRotate"],
482
+ isAutoSize: !1,
483
+ targetClass: ".vue-ui-heatmap-col-total",
484
+ rotation: -30.0001,
485
+ width: fe,
486
+ height: pe
487
+ }), X({
488
+ getData: Vt,
489
+ getImage: Et,
490
+ generatePdf: Ke,
491
+ generateCsv: lt,
492
+ generateImage: Je,
493
+ toggleTable: ot,
494
+ toggleTooltip: st,
495
+ toggleAnnotator: Me,
496
+ toggleFullscreen: at
497
+ }), (t, o) => (u(), n("div", {
498
+ ref_key: "heatmapChart",
499
+ ref: w,
500
+ class: re(`vue-ui-heatmap ${Q.value ? "vue-data-ui-wrapper-fullscreen" : ""}`),
501
+ style: k(`font-family:${e.value.style.fontFamily};width:100%;${e.value.responsive ? "height: 100%;" : ""} text-align:center;background:${e.value.style.backgroundColor}`),
502
+ id: `heatmap__${W.value}`,
503
+ onMouseenter: o[2] || (o[2] = () => i(Ye)(!0)),
504
+ onMouseleave: o[3] || (o[3] = () => i(Ye)(!1))
505
+ }, [
506
+ e.value.userOptions.buttons.annotator ? (u(), ve(i(M), {
507
+ key: 0,
508
+ svgRef: i(We),
509
+ backgroundColor: e.value.style.backgroundColor,
510
+ color: e.value.style.color,
511
+ active: me.value,
512
+ onClose: Me
513
+ }, null, 8, ["svgRef", "backgroundColor", "color", "active"])) : p("", !0),
514
+ At.value ? (u(), n("div", {
515
+ key: 1,
516
+ ref_key: "noTitle",
517
+ ref: De,
518
+ class: "vue-data-ui-no-title-space",
519
+ style: "height:36px; width: 100%;background:transparent"
520
+ }, null, 512)) : p("", !0),
521
+ e.value.style.title.text ? (u(), n("div", {
522
+ key: 2,
523
+ ref_key: "chartTitle",
524
+ ref: Ee,
525
+ style: "width:100%;background:transparent"
526
+ }, [
527
+ (u(), ve(rl, {
528
+ key: `title_${Ve.value}`,
529
+ config: {
530
+ title: {
531
+ cy: "heatmap-div-title",
532
+ ...e.value.style.title
533
+ },
534
+ subtitle: {
535
+ cy: "heatmap-div-subtitle",
536
+ ...e.value.style.title.subtitle
537
+ }
538
+ }
539
+ }, null, 8, ["config"]))
540
+ ], 512)) : p("", !0),
541
+ e.value.userOptions.show && G.value && (i(Ge) || i(ze)) ? (u(), ve(i(P), {
542
+ ref_key: "details",
543
+ ref: Ae,
544
+ key: `user_options_${Pe.value}`,
545
+ backgroundColor: e.value.style.backgroundColor,
546
+ color: e.value.style.color,
547
+ isImaging: i(qe),
548
+ isPrinting: i(je),
549
+ uid: W.value,
550
+ hasTooltip: e.value.userOptions.buttons.tooltip && e.value.style.tooltip.show,
551
+ hasPdf: e.value.userOptions.buttons.pdf,
552
+ hasImg: e.value.userOptions.buttons.img,
553
+ hasXls: e.value.userOptions.buttons.csv,
554
+ hasTable: e.value.userOptions.buttons.table,
555
+ hasFullscreen: e.value.userOptions.buttons.fullscreen,
556
+ isFullscreen: Q.value,
557
+ isTooltip: S.value.showTooltip,
558
+ titles: { ...e.value.userOptions.buttonTitles },
559
+ chartElement: w.value,
560
+ position: e.value.userOptions.position,
561
+ hasAnnotator: e.value.userOptions.buttons.annotator,
562
+ isAnnotation: me.value,
563
+ callbacks: e.value.userOptions.callbacks,
564
+ printScale: e.value.userOptions.print.scale,
565
+ onToggleFullscreen: at,
566
+ onGeneratePdf: i(Ke),
567
+ onGenerateCsv: lt,
568
+ onGenerateImage: i(Je),
569
+ onToggleTable: ot,
570
+ onToggleTooltip: st,
571
+ onToggleAnnotator: Me,
572
+ style: k({
573
+ visibility: i(Ge) ? i(ze) ? "visible" : "hidden" : "visible"
574
+ })
575
+ }, Yt({ _: 2 }, [
576
+ t.$slots.menuIcon ? {
577
+ name: "menuIcon",
578
+ fn: R(({ isOpen: a, color: s }) => [
579
+ T(t.$slots, "menuIcon", Z(ee({ isOpen: a, color: s })), void 0, !0)
580
+ ]),
581
+ key: "0"
582
+ } : void 0,
583
+ t.$slots.optionTooltip ? {
584
+ name: "optionTooltip",
585
+ fn: R(() => [
586
+ T(t.$slots, "optionTooltip", {}, void 0, !0)
587
+ ]),
588
+ key: "1"
589
+ } : void 0,
590
+ t.$slots.optionPdf ? {
591
+ name: "optionPdf",
592
+ fn: R(() => [
593
+ T(t.$slots, "optionPdf", {}, void 0, !0)
594
+ ]),
595
+ key: "2"
596
+ } : void 0,
597
+ t.$slots.optionCsv ? {
598
+ name: "optionCsv",
599
+ fn: R(() => [
600
+ T(t.$slots, "optionCsv", {}, void 0, !0)
601
+ ]),
602
+ key: "3"
603
+ } : void 0,
604
+ t.$slots.optionImg ? {
605
+ name: "optionImg",
606
+ fn: R(() => [
607
+ T(t.$slots, "optionImg", {}, void 0, !0)
608
+ ]),
609
+ key: "4"
610
+ } : void 0,
611
+ t.$slots.optionTable ? {
612
+ name: "optionTable",
613
+ fn: R(() => [
614
+ T(t.$slots, "optionTable", {}, void 0, !0)
615
+ ]),
616
+ key: "5"
617
+ } : void 0,
618
+ t.$slots.optionFullscreen ? {
619
+ name: "optionFullscreen",
620
+ fn: R(({ toggleFullscreen: a, isFullscreen: s }) => [
621
+ T(t.$slots, "optionFullscreen", Z(ee({ toggleFullscreen: a, isFullscreen: s })), void 0, !0)
622
+ ]),
623
+ key: "6"
624
+ } : void 0,
625
+ t.$slots.optionAnnotator ? {
626
+ name: "optionAnnotator",
627
+ fn: R(({ toggleAnnotator: a, isAnnotator: s }) => [
628
+ T(t.$slots, "optionAnnotator", Z(ee({ toggleAnnotator: a, isAnnotator: s })), void 0, !0)
629
+ ]),
630
+ key: "7"
631
+ } : void 0
632
+ ]), 1032, ["backgroundColor", "color", "isImaging", "isPrinting", "uid", "hasTooltip", "hasPdf", "hasImg", "hasXls", "hasTable", "hasFullscreen", "isFullscreen", "isTooltip", "titles", "chartElement", "position", "hasAnnotator", "isAnnotation", "callbacks", "printScale", "onGeneratePdf", "onGenerateImage", "style"])) : p("", !0),
633
+ y("div", {
634
+ class: re({
635
+ "vue-ui-heatmap-chart-wrapper": !0,
636
+ "vue-ui-heatmap-chart-wrapper-legend-right": e.value.style.legend.show
637
+ })
638
+ }, [
639
+ (u(), n("svg", {
640
+ ref_key: "svgRef",
641
+ ref: We,
642
+ xmlns: i(el),
643
+ class: re({ "vue-data-ui-fullscreen--on": Q.value, "vue-data-ui-fulscreen--off": !Q.value }),
644
+ viewBox: `0 0 ${_.value.width} ${_.value.height}`,
645
+ width: "100%",
646
+ style: k(`overflow: visible; background:transparent;color:${e.value.style.color}`),
647
+ "aria-live": "polite",
648
+ role: "img",
649
+ preserveAspectRatio: "xMidYMid"
650
+ }, [
651
+ He(i(he)),
652
+ t.$slots["chart-background"] ? (u(), n("foreignObject", {
653
+ key: 0,
654
+ x: l.value.left,
655
+ y: l.value.top,
656
+ width: l.value.width,
657
+ height: l.value.height,
658
+ style: {
659
+ pointerEvents: "none"
660
+ }
661
+ }, [
662
+ T(t.$slots, "chart-background", {}, void 0, !0)
663
+ ], 8, bl)) : p("", !0),
664
+ e.value.style.layout.cells.columnTotal.color.show ? (u(), n("g", {
665
+ key: 1,
666
+ ref_key: "xAxisSumRects",
667
+ ref: wt
668
+ }, [
669
+ (u(!0), n(A, null, $(f.value.xTotals, (a, s) => (u(), n("rect", {
670
+ x: l.value.left + l.value.cellSize.width * s + v.value / 2 + l.value.sumCellXHeight,
671
+ y: l.value.top - l.value.sumCellXHeight + v.value * (_.value.height / _.value.width),
672
+ height: l.value.sumCellXHeight,
673
+ width: l.value.cellSize.width - v.value,
674
+ fill: e.value.style.layout.cells.colors.underlayer,
675
+ stroke: e.value.style.backgroundColor,
676
+ "stroke-width": v.value
677
+ }, null, 8, ml))), 256)),
678
+ (u(!0), n(A, null, $(f.value.xTotals, (a, s) => (u(), n("rect", {
679
+ x: l.value.left + l.value.cellSize.width * s + v.value / 2 + l.value.sumCellXHeight,
680
+ y: l.value.top - l.value.sumCellXHeight + v.value * (_.value.height / _.value.width),
681
+ height: l.value.sumCellXHeight,
682
+ width: l.value.cellSize.width - v.value,
683
+ fill: a.color,
684
+ stroke: e.value.style.backgroundColor,
685
+ "stroke-width": v.value
686
+ }, null, 8, xl))), 256))
687
+ ], 512)) : p("", !0),
688
+ y("g", {
689
+ ref_key: "datapoints",
690
+ ref: bt
691
+ }, [
692
+ (u(!0), n(A, null, $(U.value, (a, s) => (u(), n(A, null, [
693
+ (u(!0), n(A, null, $(a.temperatures, (d, r) => (u(), n("g", null, [
694
+ y("rect", {
695
+ x: l.value.left + l.value.cellSize.width * r + v.value / 2 + l.value.sumCellXHeight,
696
+ y: l.value.top + l.value.cellSize.height * s + v.value / 2,
697
+ width: l.value.cellSize.width - v.value,
698
+ height: l.value.cellSize.height - v.value,
699
+ fill: e.value.style.layout.cells.colors.underlayer,
700
+ stroke: e.value.style.backgroundColor,
701
+ "stroke-width": v.value
702
+ }, null, 8, wl),
703
+ y("rect", {
704
+ x: l.value.left + l.value.cellSize.width * r + v.value / 2 + l.value.sumCellXHeight,
705
+ y: l.value.top + l.value.cellSize.height * s + v.value / 2,
706
+ width: l.value.cellSize.width - v.value,
707
+ height: l.value.cellSize.height - v.value,
708
+ fill: d.color,
709
+ stroke: e.value.style.backgroundColor,
710
+ "stroke-width": v.value
711
+ }, null, 8, kl),
712
+ e.value.style.layout.cells.value.show ? vt((u(), n("text", {
713
+ key: 0,
714
+ "text-anchor": "middle",
715
+ "font-size": e.value.style.layout.cells.value.fontSize,
716
+ "font-weight": e.value.style.layout.cells.value.bold ? "bold" : "normal",
717
+ fill: i(xe)(d.color),
718
+ x: l.value.left + l.value.cellSize.width * r + l.value.cellSize.width / 2 + l.value.sumCellXHeight,
719
+ y: l.value.top + l.value.cellSize.height * s + l.value.cellSize.height / 2 + e.value.style.layout.cells.value.fontSize / 3
720
+ }, [
721
+ ct(z(i(E)(
722
+ e.value.style.layout.cells.value.formatter,
723
+ d.value,
724
+ i(H)({
725
+ p: e.value.style.layout.dataLabels.prefix,
726
+ v: d.value,
727
+ s: e.value.style.layout.dataLabels.suffix,
728
+ r: e.value.style.layout.cells.value.roundingValue
729
+ }),
730
+ { datapoint: d }
731
+ )), 1)
732
+ ], 8, Al)), [
733
+ [i(fl), {
734
+ cellWidth: l.value.cellSize.width - v.value,
735
+ cellHeight: l.value.cellSize.height - v.value,
736
+ maxFontSize: e.value.style.layout.cells.value.fontSize,
737
+ minFontSize: 10,
738
+ index: s * F.value + r,
739
+ reportHide: Ft,
740
+ reportRotation: Ot,
741
+ hideAll: Rt.value,
742
+ rotateAll: Mt.value
743
+ }]
744
+ ]) : p("", !0)
745
+ ]))), 256)),
746
+ (u(!0), n(A, null, $(a.temperatures, (d, r) => (u(), n("g", null, [
747
+ y("rect", {
748
+ x: l.value.left + l.value.cellSize.width * r + l.value.sumCellXHeight,
749
+ y: l.value.top + l.value.cellSize.height * s,
750
+ width: l.value.cellSize.width,
751
+ height: l.value.cellSize.height,
752
+ fill: "transparent",
753
+ stroke: "none",
754
+ onMouseover: (x) => Nt(d, s, l.value.left + l.value.cellSize.width * r, l.value.top + l.value.cellSize.height * s),
755
+ onMouseout: () => Ht({ datapoint: d, seriesIndex: s }),
756
+ onClick: () => It(d, s)
757
+ }, null, 40, Ll)
758
+ ]))), 256))
759
+ ], 64))), 256))
760
+ ], 512),
761
+ e.value.style.layout.cells.rowTotal.color.show ? (u(), n("g", {
762
+ key: 2,
763
+ ref_key: "yAxisSumRects",
764
+ ref: xt
765
+ }, [
766
+ (u(!0), n(A, null, $(U.value, (a, s) => (u(), n(A, null, [
767
+ y("rect", {
768
+ x: l.value.left,
769
+ y: l.value.top + l.value.cellSize.height * s,
770
+ width: l.value.sumCellXHeight,
771
+ height: l.value.cellSize.height - v.value,
772
+ fill: e.value.style.layout.cells.colors.underlayer,
773
+ stroke: e.value.style.backgroundColor,
774
+ "stroke-width": v.value
775
+ }, null, 8, Cl),
776
+ y("rect", {
777
+ x: l.value.left,
778
+ y: l.value.top + l.value.cellSize.height * s + v.value / 2,
779
+ width: l.value.sumCellXHeight,
780
+ height: l.value.cellSize.height - v.value,
781
+ fill: f.value.yTotals[s].color,
782
+ stroke: e.value.style.backgroundColor,
783
+ "stroke-width": v.value
784
+ }, null, 8, Tl)
785
+ ], 64))), 256))
786
+ ], 512)) : p("", !0),
787
+ e.value.style.layout.dataLabels.yAxis.show ? (u(), n("g", {
788
+ key: 3,
789
+ ref_key: "yAxisLabels",
790
+ ref: Be
791
+ }, [
792
+ (u(!0), n(A, null, $(U.value, (a, s) => (u(), n(A, null, [
793
+ y("text", {
794
+ class: "vue-ui-heatmap-row-name",
795
+ "font-size": e.value.style.layout.dataLabels.yAxis.fontSize,
796
+ fill: e.value.style.layout.dataLabels.yAxis.color,
797
+ x: J.value,
798
+ 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),
799
+ "text-anchor": "end",
800
+ "font-weight": e.value.style.layout.dataLabels.yAxis.bold ? "bold" : "normal"
801
+ }, z(f.value.yLabels[s]), 9, _l),
802
+ e.value.style.layout.cells.rowTotal.value.show ? (u(), n("text", {
803
+ key: 0,
804
+ class: "vue-ui-heatmap-row-total",
805
+ "font-size": e.value.style.layout.dataLabels.yAxis.fontSize,
806
+ fill: e.value.style.layout.dataLabels.yAxis.color,
807
+ x: J.value,
808
+ 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,
809
+ "text-anchor": "end",
810
+ "font-weight": e.value.style.layout.dataLabels.yAxis.bold ? "bold" : "normal"
811
+ }, z(Xt(s)), 9, zl)) : p("", !0)
812
+ ], 64))), 256))
813
+ ], 512)) : p("", !0),
814
+ e.value.style.layout.dataLabels.xAxis.show ? (u(), n("g", {
815
+ key: 4,
816
+ ref_key: "xAxisLabels",
817
+ ref: Ce
818
+ }, [
819
+ (u(!0), n(A, null, $(f.value.xLabels, (a, s) => (u(), n(A, null, [
820
+ !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", {
821
+ key: 0,
822
+ class: "vue-ui-heatmap-col-name",
823
+ "text-anchor": e.value.style.layout.dataLabels.xAxis.rotation === 0 ? "middle" : e.value.style.layout.dataLabels.xAxis.rotation < 0 ? "start" : "end",
824
+ "font-size": e.value.style.layout.dataLabels.xAxis.fontSize,
825
+ fill: e.value.style.layout.dataLabels.xAxis.color,
826
+ "font-weight": e.value.style.layout.dataLabels.xAxis.bold ? "bold" : "normal",
827
+ transform: `translate(${l.value.left + l.value.cellSize.width / 2 + l.value.width / f.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})`
828
+ }, z(a), 9, Sl)) : p("", !0)
829
+ ], 64))), 256))
830
+ ], 512)) : p("", !0),
831
+ e.value.style.layout.cells.columnTotal.value.show ? (u(), n("g", {
832
+ key: 5,
833
+ ref_key: "xAxisSums",
834
+ ref: Te
835
+ }, [
836
+ (u(!0), n(A, null, $(f.value.xLabels, (a, s) => (u(), n("text", {
837
+ class: "vue-ui-heatmap-col-total",
838
+ "text-anchor": e.value.style.layout.cells.columnTotal.value.rotation === 0 ? "middle" : e.value.style.layout.cells.columnTotal.value.rotation < 0 ? "end" : "start",
839
+ "font-size": e.value.style.layout.dataLabels.xAxis.fontSize,
840
+ fill: e.value.style.layout.dataLabels.xAxis.color,
841
+ "font-weight": e.value.style.layout.dataLabels.xAxis.bold ? "bold" : "normal",
842
+ transform: `translate(${l.value.left + l.value.cellSize.width / 2 + l.value.width / f.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})`
843
+ }, z(Pt(s)), 9, $l))), 256))
844
+ ], 512)) : p("", !0),
845
+ se.value ? (u(), n("g", Ml, [
846
+ y("rect", {
847
+ style: { "pointer-events": "none" },
848
+ x: se.value.x - e.value.style.layout.cells.selected.border / 2 + v.value + l.value.sumCellXHeight,
849
+ y: se.value.y - e.value.style.layout.cells.selected.border / 2 + v.value,
850
+ width: l.value.cellSize.width - v.value + e.value.style.layout.cells.selected.border - v.value,
851
+ height: l.value.cellSize.height - v.value + e.value.style.layout.cells.selected.border - v.value,
852
+ fill: "transparent",
853
+ stroke: e.value.style.layout.cells.selected.color,
854
+ "stroke-width": e.value.style.layout.cells.selected.border,
855
+ rx: 1
856
+ }, null, 8, Ol)
857
+ ])) : p("", !0),
858
+ T(t.$slots, "svg", { svg: _.value }, void 0, !0)
859
+ ], 14, gl)),
860
+ e.value.style.legend.show ? (u(), n("div", {
861
+ key: 0,
862
+ ref_key: "legendRight",
863
+ ref: mt,
864
+ class: "vue-ui-heatmap-legend-right",
865
+ style: k({
866
+ "--legend-width": e.value.style.legend.width + "px"
867
+ })
868
+ }, [
869
+ i(ye) ? p("", !0) : (u(), n("div", {
870
+ key: 0,
871
+ class: "vue-ui-heatmap-legend-label-max",
872
+ style: k({
873
+ fontSize: e.value.style.legend.fontSize + "px",
874
+ color: e.value.style.legend.color
875
+ })
876
+ }, z(i(E)(
877
+ e.value.style.layout.cells.value.formatter,
878
+ i(D)(V.value),
879
+ i(H)({
880
+ p: e.value.style.layout.dataLabels.prefix,
881
+ v: i(D)(V.value),
882
+ s: e.value.style.layout.dataLabels.suffix,
883
+ r: e.value.style.legend.roundingValue
884
+ })
885
+ )), 5)),
886
+ y("div", Rl, [
887
+ y("div", {
888
+ class: "vue-ui-heatmap-gauge",
889
+ style: k({
890
+ background: `linear-gradient(to bottom, ${e.value.style.layout.cells.colors.hot}, ${e.value.style.layout.cells.colors.cold})`
891
+ })
892
+ }, [
893
+ vt(y("div", {
894
+ class: "vue-ui-heatmap-gauge-indicator",
895
+ "data-value": i(E)(
896
+ e.value.style.layout.cells.value.formatter,
897
+ i(D)(O.value),
898
+ i(H)({
899
+ p: e.value.style.layout.dataLabels.prefix,
900
+ v: i(D)(O.value),
901
+ s: e.value.style.layout.dataLabels.suffix,
902
+ r: e.value.style.legend.roundingValue
903
+ })
904
+ ),
905
+ style: k({
906
+ position: "absolute",
907
+ width: "100%",
908
+ height: "2px",
909
+ background: [void 0, null].includes(O.value) ? "transparent" : i(xe)(be.value.datapoint.color),
910
+ top: `${[void 0, null].includes(O.value) ? 0 : (1 - O.value / V.value) * 100}%`,
911
+ transition: "all 0.2s ease-in-out",
912
+ "--background-color": e.value.style.backgroundColor,
913
+ "--gauge-arrow-color": i(xe)(e.value.style.backgroundColor),
914
+ "--gauge-arrow-text-color": i(xe)(e.value.style.backgroundColor),
915
+ "--gauge-arrow-value": O.value,
916
+ "--gauge-arrow-font-size": e.value.style.legend.fontSize + "px"
917
+ })
918
+ }, [
919
+ y("div", Nl, z(i(E)(
920
+ e.value.style.layout.cells.value.formatter,
921
+ i(D)(O.value),
922
+ i(H)({
923
+ p: e.value.style.layout.dataLabels.prefix,
924
+ v: i(D)(O.value),
925
+ s: e.value.style.layout.dataLabels.suffix,
926
+ r: e.value.style.legend.roundingValue
927
+ })
928
+ )), 1)
929
+ ], 12, Fl), [
930
+ [Gt, ![void 0, null].includes(O.value)]
931
+ ])
932
+ ], 4)
933
+ ]),
934
+ i(ye) ? p("", !0) : (u(), n("div", {
935
+ key: 1,
936
+ class: "vue-ui-heatmap-legend-label-min",
937
+ style: k({
938
+ fontSize: e.value.style.legend.fontSize + "px",
939
+ color: e.value.style.legend.color
940
+ })
941
+ }, z(i(E)(
942
+ e.value.style.layout.cells.value.formatter,
943
+ i(D)(ie.value),
944
+ i(H)({
945
+ p: e.value.style.layout.dataLabels.prefix,
946
+ v: i(D)(ie.value),
947
+ s: e.value.style.layout.dataLabels.suffix,
948
+ r: e.value.style.legend.roundingValue
949
+ })
950
+ )), 5))
951
+ ], 4)) : p("", !0)
952
+ ], 2),
953
+ t.$slots.watermark ? (u(), n("div", Hl, [
954
+ T(t.$slots, "watermark", Z(ee({ isPrinting: i(je) || i(qe) })), void 0, !0)
955
+ ])) : p("", !0),
956
+ t.$slots.source ? (u(), n("div", {
957
+ key: 5,
958
+ ref_key: "source",
959
+ ref: Ue,
960
+ dir: "auto"
961
+ }, [
962
+ T(t.$slots, "source", {}, void 0, !0)
963
+ ], 512)) : p("", !0),
964
+ He(i(te), {
965
+ show: S.value.showTooltip && ae.value,
966
+ backgroundColor: e.value.style.tooltip.backgroundColor,
967
+ color: e.value.style.tooltip.color,
968
+ borderRadius: e.value.style.tooltip.borderRadius,
969
+ borderColor: e.value.style.tooltip.borderColor,
970
+ borderWidth: e.value.style.tooltip.borderWidth,
971
+ fontSize: e.value.style.tooltip.fontSize,
972
+ backgroundOpacity: e.value.style.tooltip.backgroundOpacity,
973
+ position: e.value.style.tooltip.position,
974
+ offsetY: e.value.style.tooltip.offsetY,
975
+ parent: w.value,
976
+ content: j.value,
977
+ isFullscreen: Q.value,
978
+ isCustom: e.value.style.tooltip.customFormat && typeof e.value.style.tooltip.customFormat == "function",
979
+ smooth: e.value.style.tooltip.smooth,
980
+ backdropFilter: e.value.style.tooltip.backdropFilter
981
+ }, {
982
+ "tooltip-before": R(() => [
983
+ T(t.$slots, "tooltip-before", Z(ee({ ...be.value })), void 0, !0)
984
+ ]),
985
+ "tooltip-after": R(() => [
986
+ T(t.$slots, "tooltip-after", Z(ee({ ...be.value })), void 0, !0)
987
+ ]),
988
+ _: 3
989
+ }, 8, ["show", "backgroundColor", "color", "borderRadius", "borderColor", "borderWidth", "fontSize", "backgroundOpacity", "position", "offsetY", "parent", "content", "isFullscreen", "isCustom", "smooth", "backdropFilter"]),
990
+ G.value ? (u(), ve(nl, {
991
+ key: 6,
992
+ hideDetails: "",
993
+ config: {
994
+ open: S.value.showTable,
995
+ maxHeight: 1e4,
996
+ body: {
997
+ backgroundColor: e.value.style.backgroundColor,
998
+ color: e.value.style.color
999
+ },
1000
+ head: {
1001
+ backgroundColor: e.value.style.backgroundColor,
1002
+ color: e.value.style.color
1003
+ }
1004
+ }
1005
+ }, {
1006
+ content: R(() => [
1007
+ y("div", {
1008
+ ref_key: "tableContainer",
1009
+ ref: Le,
1010
+ class: "vue-ui-heatmap-table atom-data-table"
1011
+ }, [
1012
+ y("div", {
1013
+ style: "width:100%;overflow-x:auto;padding-top:36px;position:relative",
1014
+ class: re({ "vue-ui-responsive": Ie.value })
1015
+ }, [
1016
+ y("div", {
1017
+ role: "button",
1018
+ tabindex: "0",
1019
+ style: k(`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};`),
1020
+ onClick: o[0] || (o[0] = (a) => S.value.showTable = !1),
1021
+ onKeypress: o[1] || (o[1] = Wt((a) => S.value.showTable = !1, ["enter"]))
1022
+ }, [
1023
+ He(i(Y), {
1024
+ name: "close",
1025
+ stroke: e.value.table.th.color,
1026
+ "stroke-width": 2
1027
+ }, null, 8, ["stroke"])
1028
+ ], 36),
1029
+ y("table", Xl, [
1030
+ y("caption", {
1031
+ style: k(`backgroundColor:${e.value.table.th.backgroundColor};color:${e.value.table.th.color};outline:${e.value.table.th.outline}`)
1032
+ }, [
1033
+ ct(z(e.value.style.title.text) + " ", 1),
1034
+ e.value.style.title.subtitle.text ? (u(), n("span", Pl, z(e.value.style.title.subtitle.text), 1)) : p("", !0)
1035
+ ], 4),
1036
+ y("thead", null, [
1037
+ y("tr", {
1038
+ role: "row",
1039
+ style: k(`background:${e.value.table.th.backgroundColor};color:${e.value.table.th.color}`)
1040
+ }, [
1041
+ y("th", {
1042
+ style: k(`outline:${e.value.table.th.outline};padding-right:6px`)
1043
+ }, null, 4),
1044
+ (u(!0), n(A, null, $(b.dataset, (a, s) => (u(), n("th", {
1045
+ align: "right",
1046
+ style: k(`outline:${e.value.table.th.outline};padding-right:6px`)
1047
+ }, z(a.name), 5))), 256))
1048
+ ], 4)
1049
+ ]),
1050
+ y("tbody", null, [
1051
+ (u(!0), n(A, null, $(f.value.xLabels, (a, s) => (u(), n("tr", {
1052
+ role: "row",
1053
+ class: re({ "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 }),
1054
+ style: k(`background:${e.value.table.td.backgroundColor};color:${e.value.table.td.color}`)
1055
+ }, [
1056
+ y("td", {
1057
+ "data-cell": e.value.table.colNames.xAxis,
1058
+ class: "vue-ui-data-table__tbody__td",
1059
+ style: k(`outline:${e.value.table.td.outline}`)
1060
+ }, [
1061
+ y("div", Vl, z(a), 1)
1062
+ ], 12, Il),
1063
+ (u(!0), n(A, null, $(b.dataset, (d, r) => (u(), n("td", {
1064
+ class: "vue-ui-data-table__tbody__td",
1065
+ "data-cell": b.dataset[r].name,
1066
+ style: k(`outline:${e.value.table.td.outline}`)
1067
+ }, [
1068
+ y("div", Dl, z(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)
1069
+ ], 12, El))), 256))
1070
+ ], 6))), 256))
1071
+ ])
1072
+ ])
1073
+ ], 2)
1074
+ ], 512)
1075
+ ]),
1076
+ _: 1
1077
+ }, 8, ["config"])) : p("", !0),
1078
+ i(ye) ? (u(), ve(hl, { key: 7 })) : p("", !0)
1079
+ ], 46, pl));
1080
+ }
1081
+ }, oa = /* @__PURE__ */ yl(Bl, [["__scopeId", "data-v-002978d2"]]);
1082
+ export {
1083
+ oa as default
1084
+ };