vue-data-ui 3.25.4 → 3.25.6

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 (213) hide show
  1. package/README.md +13 -13
  2. package/dist/{BaseDraggableDialog-BM_R41j8.js → BaseDraggableDialog-Gm4Q30j0.js} +1 -1
  3. package/dist/{BaseIcon-t83PDe9k.js → BaseIcon-D8R6_sKH.js} +5 -5
  4. package/dist/{BaseLegendToggle-__JnV08B.js → BaseLegendToggle-CXQrLjd-.js} +1 -1
  5. package/dist/{BaseZoomControls-Xo16vFa4.js → BaseZoomControls-BTzjVDPM.js} +1 -1
  6. package/dist/{ColorPicker-ZJrR3Olp.js → ColorPicker-CUy15T72.js} +102 -100
  7. package/dist/{DataTable-COIO9gi4.js → DataTable-oiM9uWrQ.js} +1 -1
  8. package/dist/{HillActions-Cl-dNBZR.js → HillActions-Dn8aKOVJ.js} +1 -1
  9. package/dist/{NonSvgPenAndPaper-DS84BAOx.js → NonSvgPenAndPaper-DFXjpRyl.js} +2 -2
  10. package/dist/{PackageVersion-5SWftabm.js → PackageVersion-ur6jKRL5.js} +1 -1
  11. package/dist/{PenAndPaper-B_SdRSKH.js → PenAndPaper-KFzKlvbi.js} +20 -4
  12. package/dist/{SlicerPreview-GvsdvE-h.js → SlicerPreview-B6iHOC9L.js} +1 -1
  13. package/dist/{UserOptions-f3Q0nqrj.js → UserOptions-2x4VklMW.js} +1 -1
  14. package/dist/components/vue-ui-3d-bar.js +1 -1
  15. package/dist/components/vue-ui-accordion.js +1 -1
  16. package/dist/components/vue-ui-age-pyramid.js +1 -1
  17. package/dist/components/vue-ui-annotator.js +1 -1
  18. package/dist/components/vue-ui-bullet.js +1 -1
  19. package/dist/components/vue-ui-bump.js +1 -1
  20. package/dist/components/vue-ui-candlestick.js +1 -1
  21. package/dist/components/vue-ui-carousel-table.js +1 -1
  22. package/dist/components/vue-ui-chestnut.js +1 -1
  23. package/dist/components/vue-ui-chord.js +1 -1
  24. package/dist/components/vue-ui-circle-pack.js +1 -1
  25. package/dist/components/vue-ui-cursor.js +1 -1
  26. package/dist/components/vue-ui-dag.js +1 -1
  27. package/dist/components/vue-ui-dashboard.js +1 -1
  28. package/dist/components/vue-ui-digits.js +1 -1
  29. package/dist/components/vue-ui-donut-evolution.js +1 -1
  30. package/dist/components/vue-ui-donut.js +1 -1
  31. package/dist/components/vue-ui-dumbbell.js +1 -1
  32. package/dist/components/vue-ui-flow.js +1 -1
  33. package/dist/components/vue-ui-funnel.js +1 -1
  34. package/dist/components/vue-ui-galaxy.js +1 -1
  35. package/dist/components/vue-ui-gauge.js +1 -1
  36. package/dist/components/vue-ui-geo.js +1 -1
  37. package/dist/components/vue-ui-gizmo.js +1 -1
  38. package/dist/components/vue-ui-heatmap.js +1 -1
  39. package/dist/components/vue-ui-hill.js +1 -1
  40. package/dist/components/vue-ui-history-plot.js +1 -1
  41. package/dist/components/vue-ui-horizontal-bar.js +1 -1
  42. package/dist/components/vue-ui-icon.js +1 -1
  43. package/dist/components/vue-ui-kpi.js +1 -1
  44. package/dist/components/vue-ui-label.js +1 -1
  45. package/dist/components/vue-ui-mini-loader.js +1 -1
  46. package/dist/components/vue-ui-molecule.js +1 -1
  47. package/dist/components/vue-ui-mood-radar.js +1 -1
  48. package/dist/components/vue-ui-nested-donuts.js +1 -1
  49. package/dist/components/vue-ui-onion.js +1 -1
  50. package/dist/components/vue-ui-parallel-coordinate-plot.js +1 -1
  51. package/dist/components/vue-ui-quadrant.js +1 -1
  52. package/dist/components/vue-ui-quick-chart.js +1 -1
  53. package/dist/components/vue-ui-radar.js +1 -1
  54. package/dist/components/vue-ui-rating.js +1 -1
  55. package/dist/components/vue-ui-relation-circle.js +1 -1
  56. package/dist/components/vue-ui-ridgeline.js +1 -1
  57. package/dist/components/vue-ui-rings.js +1 -1
  58. package/dist/components/vue-ui-scatter.js +1 -1
  59. package/dist/components/vue-ui-skeleton.js +1 -1
  60. package/dist/components/vue-ui-smiley.js +1 -1
  61. package/dist/components/vue-ui-spark-trend.js +1 -1
  62. package/dist/components/vue-ui-sparkbar.js +1 -1
  63. package/dist/components/vue-ui-sparkgauge.js +1 -1
  64. package/dist/components/vue-ui-sparkhistogram.js +1 -1
  65. package/dist/components/vue-ui-sparkline.js +1 -1
  66. package/dist/components/vue-ui-sparkstackbar.js +1 -1
  67. package/dist/components/vue-ui-stackbar.js +1 -1
  68. package/dist/components/vue-ui-stackline.js +1 -1
  69. package/dist/components/vue-ui-strip-plot.js +1 -1
  70. package/dist/components/vue-ui-table-heatmap.js +1 -1
  71. package/dist/components/vue-ui-table-sparkline.js +1 -1
  72. package/dist/components/vue-ui-table.js +1 -1
  73. package/dist/components/vue-ui-thermometer.js +1 -1
  74. package/dist/components/vue-ui-timer.js +1 -1
  75. package/dist/components/vue-ui-tiremarks.js +1 -1
  76. package/dist/components/vue-ui-treemap.js +1 -1
  77. package/dist/components/vue-ui-vertical-bar.js +1 -1
  78. package/dist/components/vue-ui-waffle.js +1 -1
  79. package/dist/components/vue-ui-wheel.js +1 -1
  80. package/dist/components/vue-ui-word-cloud.js +1 -1
  81. package/dist/components/vue-ui-world.js +1 -1
  82. package/dist/components/vue-ui-xy-canvas.js +1 -1
  83. package/dist/components/vue-ui-xy.js +1 -1
  84. package/dist/{package-DmsdiyeS.js → package-Dx7M6sYy.js} +1 -1
  85. package/dist/{render-common-zoPh9a78.js → render-common-DETHvNhl.js} +1 -1
  86. package/dist/ssr/vue-ui-donut.js +1 -1
  87. package/dist/ssr/vue-ui-xy.js +1 -1
  88. package/dist/ssr.js +2 -2
  89. package/dist/style.css +1 -1
  90. package/dist/types/vue-data-ui.d.ts +80 -1
  91. package/dist/types/vue-ui-annotator.d.ts +58 -2
  92. package/dist/{useConfig-CyCVHo81.js → useConfig-CIQZ6_r7.js} +1339 -1313
  93. package/dist/{useObjectBindings-ByORl1rV.js → useObjectBindings---mHNfbS.js} +2 -2
  94. package/dist/utils.js +1 -1
  95. package/dist/{vue-data-ui-DTj71yB7.js → vue-data-ui-Dh3_EsHb.js} +70 -70
  96. package/dist/vue-data-ui.js +71 -71
  97. package/dist/vue-ui-3d-bar-i1REAKnM.js +1831 -0
  98. package/dist/{vue-ui-accordion-D4zsdacF.js → vue-ui-accordion-BSmBUjwZ.js} +2 -2
  99. package/dist/vue-ui-age-pyramid-DuHblCNO.js +1293 -0
  100. package/dist/vue-ui-annotator-CTQHAPho.js +3325 -0
  101. package/dist/vue-ui-bullet-CYLnKrmM.js +702 -0
  102. package/dist/{vue-ui-bump-BkOtQNWe.js → vue-ui-bump-DhwySwgn.js} +382 -380
  103. package/dist/vue-ui-candlestick-BpiECaDj.js +1859 -0
  104. package/dist/{vue-ui-carousel-table-CRgbs7jR.js → vue-ui-carousel-table-D-T2yA7-.js} +2 -2
  105. package/dist/vue-ui-chestnut-1MsZ9Q3r.js +2016 -0
  106. package/dist/vue-ui-chord-QBQUSe7r.js +1347 -0
  107. package/dist/vue-ui-circle-pack-ZWEwtesD.js +1635 -0
  108. package/dist/{vue-ui-cursor-BHyXRadA.js → vue-ui-cursor-CHQcHAHQ.js} +2 -2
  109. package/dist/{vue-ui-dag-CyVqaLbF.js → vue-ui-dag-C_inEafb.js} +794 -792
  110. package/dist/{vue-ui-dashboard-7I-7wvCP.js → vue-ui-dashboard-Bs2mBur5.js} +74 -72
  111. package/dist/{vue-ui-digits-BBL8uERO.js → vue-ui-digits-DwE4MoXI.js} +2 -2
  112. package/dist/vue-ui-donut-BM9dMHXj.js +2415 -0
  113. package/dist/{vue-ui-donut-DcgUuefk.js → vue-ui-donut-CbOSJmRu.js} +2 -2
  114. package/dist/vue-ui-donut-evolution-C97_RHus.js +1552 -0
  115. package/dist/vue-ui-dumbbell-DwKa5EL5.js +1533 -0
  116. package/dist/vue-ui-flow-DTTr3YL9.js +1217 -0
  117. package/dist/vue-ui-funnel-C4pkBk3D.js +749 -0
  118. package/dist/vue-ui-galaxy-CuAPLOvX.js +1085 -0
  119. package/dist/vue-ui-gauge-DLDULH26.js +934 -0
  120. package/dist/{vue-ui-geo-jR4P4pbt.js → vue-ui-geo-DXIHhp-G.js} +431 -429
  121. package/dist/{vue-ui-gizmo-D6W86s9o.js → vue-ui-gizmo-PuURiePo.js} +2 -2
  122. package/dist/vue-ui-heatmap-mvWLKB99.js +1555 -0
  123. package/dist/{vue-ui-hill-fFq7pm-g.js → vue-ui-hill-DqsVJkmO.js} +472 -470
  124. package/dist/vue-ui-history-plot-BBVLgt9_.js +1698 -0
  125. package/dist/{vue-ui-horizontal-bar-D3Sft4kp.js → vue-ui-horizontal-bar-y8Q8PZwT.js} +513 -511
  126. package/dist/{vue-ui-kpi-fzLsKlyE.js → vue-ui-kpi-B2hf3kpp.js} +2 -2
  127. package/dist/{vue-ui-label-BSgLalWD.js → vue-ui-label-ClMQ5Gez.js} +1 -1
  128. package/dist/{vue-ui-mini-loader-BL2odRfu.js → vue-ui-mini-loader-DtPOVIkK.js} +1 -1
  129. package/dist/vue-ui-molecule-eeW1Pmg8.js +929 -0
  130. package/dist/{vue-ui-mood-radar-bvGx6XgG.js → vue-ui-mood-radar-Dd1qfUiu.js} +378 -376
  131. package/dist/vue-ui-nested-donuts-CUARCr6O.js +1503 -0
  132. package/dist/vue-ui-onion-NoxHP0cG.js +1235 -0
  133. package/dist/{vue-ui-parallel-coordinate-plot-B_QJ4N9o.js → vue-ui-parallel-coordinate-plot-Cp3pCyxK.js} +409 -407
  134. package/dist/vue-ui-quadrant-C3kQtaeX.js +1967 -0
  135. package/dist/{vue-ui-quick-chart-BFscCR59.js → vue-ui-quick-chart-BZq517pL.js} +8 -6
  136. package/dist/vue-ui-radar-DvNrl4uD.js +1374 -0
  137. package/dist/vue-ui-rating-CWFMoYpE.js +359 -0
  138. package/dist/vue-ui-relation-circle-1iS6C0xx.js +905 -0
  139. package/dist/vue-ui-ridgeline-B-EZiPCF.js +1630 -0
  140. package/dist/vue-ui-rings-BXuwrHos.js +1252 -0
  141. package/dist/vue-ui-scatter-ByL-ZZ3B.js +2405 -0
  142. package/dist/{vue-ui-skeleton-zmbcOVEf.js → vue-ui-skeleton-BcU1onF6.js} +698 -698
  143. package/dist/vue-ui-smiley-DJVusLnp.js +376 -0
  144. package/dist/vue-ui-spark-trend-DjS31avb.js +457 -0
  145. package/dist/vue-ui-sparkbar-1Al_TLw1.js +401 -0
  146. package/dist/vue-ui-sparkgauge-CwLo53Y8.js +268 -0
  147. package/dist/vue-ui-sparkhistogram-CGw6SThG.js +589 -0
  148. package/dist/{vue-ui-sparkline-Dv7XrEzO.js → vue-ui-sparkline-CSZGBFfI.js} +511 -511
  149. package/dist/vue-ui-sparkstackbar-B8dloLMp.js +738 -0
  150. package/dist/vue-ui-stackbar-FvNd77t1.js +2355 -0
  151. package/dist/vue-ui-stackline-CP7PkqiG.js +2469 -0
  152. package/dist/vue-ui-strip-plot-DSMlDkv1.js +1740 -0
  153. package/dist/{vue-ui-table-heatmap-Dv_ZKKm3.js → vue-ui-table-heatmap-DnP3pzh2.js} +2 -2
  154. package/dist/vue-ui-table-rwKtnJKt.js +1352 -0
  155. package/dist/vue-ui-table-sparkline-B6wyEAyC.js +738 -0
  156. package/dist/{vue-ui-thermometer-DytlLJ32.js → vue-ui-thermometer-D0_KsB-y.js} +194 -192
  157. package/dist/{vue-ui-timer-CvHP4HoW.js → vue-ui-timer-1Z2zginj.js} +153 -153
  158. package/dist/vue-ui-tiremarks-zbl7aooy.js +540 -0
  159. package/dist/vue-ui-treemap-Drs4gK6L.js +1733 -0
  160. package/dist/vue-ui-waffle-DqUVsVNE.js +1621 -0
  161. package/dist/vue-ui-wheel-DLCBPW9t.js +873 -0
  162. package/dist/vue-ui-word-cloud-8Agk9h6c.js +1710 -0
  163. package/dist/{vue-ui-world-D0_2upjg.js → vue-ui-world-BOBHo7-L.js} +526 -524
  164. package/dist/vue-ui-xy-CSTJzRkk.js +5283 -0
  165. package/dist/{vue-ui-xy-D_5FfaH-.js → vue-ui-xy-Dmk1gQkI.js} +2 -2
  166. package/dist/vue-ui-xy-canvas-DANPuyf4.js +1824 -0
  167. package/dist/{vue_ui_age_pyramid-BY6c-oX_.js → vue_ui_age_pyramid-B2R66DgQ.js} +15 -6
  168. package/package.json +1 -1
  169. package/dist/vue-ui-3d-bar-CH8SpxS2.js +0 -1829
  170. package/dist/vue-ui-age-pyramid-B9MUVi75.js +0 -1241
  171. package/dist/vue-ui-annotator-CmlcWPIm.js +0 -2886
  172. package/dist/vue-ui-bullet-n8KNnDwh.js +0 -700
  173. package/dist/vue-ui-candlestick-Bxlvqk49.js +0 -1857
  174. package/dist/vue-ui-chestnut-ByDKbkG9.js +0 -2014
  175. package/dist/vue-ui-chord-DQRBgVOx.js +0 -1345
  176. package/dist/vue-ui-circle-pack-CBBc0HOe.js +0 -1633
  177. package/dist/vue-ui-donut-DfiocufT.js +0 -2413
  178. package/dist/vue-ui-donut-evolution-BoqO8By2.js +0 -1550
  179. package/dist/vue-ui-dumbbell-7M_oUQdi.js +0 -1529
  180. package/dist/vue-ui-flow-CoylrfnO.js +0 -1215
  181. package/dist/vue-ui-funnel-DaBYHWIC.js +0 -747
  182. package/dist/vue-ui-galaxy-BIebStQ3.js +0 -1083
  183. package/dist/vue-ui-gauge-CwdTmiRP.js +0 -932
  184. package/dist/vue-ui-heatmap-DXYlGwqR.js +0 -1553
  185. package/dist/vue-ui-history-plot-CgIELoD2.js +0 -1696
  186. package/dist/vue-ui-molecule-DeHWkkhy.js +0 -929
  187. package/dist/vue-ui-nested-donuts-CeAV2xPk.js +0 -1501
  188. package/dist/vue-ui-onion-B7oFulsQ.js +0 -1233
  189. package/dist/vue-ui-quadrant-DrKnz37q.js +0 -1965
  190. package/dist/vue-ui-radar-Bzx69q8f.js +0 -1372
  191. package/dist/vue-ui-rating-CimC9FQ9.js +0 -359
  192. package/dist/vue-ui-relation-circle-DIQYyDGb.js +0 -903
  193. package/dist/vue-ui-ridgeline-CPEnM45x.js +0 -1621
  194. package/dist/vue-ui-rings-qPL5Iwji.js +0 -1250
  195. package/dist/vue-ui-scatter-BB0ClTsU.js +0 -2403
  196. package/dist/vue-ui-smiley-DzPkCMN-.js +0 -376
  197. package/dist/vue-ui-spark-trend-Ciq7-k_q.js +0 -457
  198. package/dist/vue-ui-sparkbar-D1M7-naP.js +0 -401
  199. package/dist/vue-ui-sparkgauge-rsqaeR_n.js +0 -268
  200. package/dist/vue-ui-sparkhistogram-C4WXt2Ni.js +0 -589
  201. package/dist/vue-ui-sparkstackbar-DDOXdeV-.js +0 -738
  202. package/dist/vue-ui-stackbar-C_hMnOLb.js +0 -2353
  203. package/dist/vue-ui-stackline-BHGi63lD.js +0 -2467
  204. package/dist/vue-ui-strip-plot-Cygpn-l8.js +0 -1738
  205. package/dist/vue-ui-table-BQna1wL6.js +0 -1352
  206. package/dist/vue-ui-table-sparkline-BCuimtk6.js +0 -738
  207. package/dist/vue-ui-tiremarks-BvjdZwgh.js +0 -538
  208. package/dist/vue-ui-treemap-C5OpqzSc.js +0 -1731
  209. package/dist/vue-ui-waffle-B7T_Zzan.js +0 -1619
  210. package/dist/vue-ui-wheel-D1B0k7IW.js +0 -871
  211. package/dist/vue-ui-word-cloud-C4pX6jop.js +0 -1708
  212. package/dist/vue-ui-xy-Ck41KYqF.js +0 -5281
  213. package/dist/vue-ui-xy-canvas-B_8Mu19r.js +0 -1824
@@ -0,0 +1,1555 @@
1
+ import { t as e } from "./rolldown-runtime-Dy4uBu1J.js";
2
+ import { $ as t, $t as n, Ct as r, D as i, Pt as a, X as o, Zt as s, b as c, ht as l, i as u, lt as d, nt as f, q as p, r as m, t as ee, xt as te } from "./lib-Dql7cqyA.js";
3
+ import { n as ne, t as re } from "./useHints-Dq_w2E8B.js";
4
+ import { t as ie } from "./useTimeLabels-d2f-W1L4.js";
5
+ import { t as ae } from "./useConfig-CIQZ6_r7.js";
6
+ import { t as oe } from "./usePrinter-DISD7q5m.js";
7
+ import { n as se, t as ce } from "./BaseScanner-DZvpgOjM.js";
8
+ import { t as le } from "./useNestedProp-Chvyfpl-.js";
9
+ import { t as ue } from "./useThemeCheck-C43Tcqmk.js";
10
+ import { t as de } from "./useChartExport-iwOqiIWX.js";
11
+ import { t as fe } from "./useTimeLabelCollider-AEcY4Ioe.js";
12
+ import { t as pe } from "./img-DhGApYG0.js";
13
+ import { n as me } from "./Title-CPHi-evi.js";
14
+ import { t as he } from "./_plugin-vue_export-helper-B3ysoDQm.js";
15
+ import { l as ge, t as _e } from "./useResponsive-ZtArZtUf.js";
16
+ import { t as ve } from "./vue-ui-accordion-BSmBUjwZ.js";
17
+ import { t as ye } from "./A11yDataTable-DdRsVULz.js";
18
+ import { t as be } from "./useUserOptionState-DK-_1ddE.js";
19
+ import { t as xe } from "./useChartAccessibility-DYqac8yF.js";
20
+ import { t as Se } from "./useTableResponsive-BAqJPR68.js";
21
+ import { t as Ce } from "./vue_ui_heatmap-B2BBBSWG.js";
22
+ import { Fragment as h, computed as g, createBlock as we, createCommentVNode as _, createElementBlock as v, createElementVNode as y, createSlots as Te, createTextVNode as Ee, createVNode as De, defineAsyncComponent as Oe, guardReactiveProps as b, mergeProps as ke, nextTick as Ae, normalizeClass as je, normalizeProps as x, normalizeStyle as S, onBeforeUnmount as Me, onMounted as Ne, openBlock as C, reactive as Pe, ref as w, renderList as T, renderSlot as E, resolveDynamicComponent as Fe, shallowRef as Ie, toDisplayString as D, toRefs as Le, unref as O, useCssVars as Re, vShow as ze, watch as Be, watchEffect as Ve, withCtx as k, withDirectives as He, withKeys as Ue } from "vue";
23
+ //#region src/useLabelObserverEfffect.js
24
+ function We({ elementRef: e, callback: t, attr: n, earlyReturn: r = !1, retryFrames: i = 12, alsoAfterFontsReady: a = !0 }) {
25
+ if (r) return;
26
+ let o = (e) => {
27
+ if (!e) return;
28
+ let r;
29
+ if (typeof e.getBBox == "function") try {
30
+ let t = e.getBBox();
31
+ r = n === "width" ? t.width : t.height;
32
+ } catch {}
33
+ if (typeof r != "number" || Number.isNaN(r)) try {
34
+ let t = e.getBoundingClientRect();
35
+ r = n === "width" ? t.width : t.height;
36
+ } catch {
37
+ r = void 0;
38
+ }
39
+ typeof r == "number" && !Number.isNaN(r) && t(r);
40
+ };
41
+ Ve((t) => {
42
+ let n = e.value;
43
+ if (!n) return;
44
+ let r = !1;
45
+ (async () => {
46
+ await Ae();
47
+ for (let t = 0; t < i; t += 1) {
48
+ if (r) return;
49
+ await new Promise((e) => requestAnimationFrame(e));
50
+ let t = e.value;
51
+ if (!t) return;
52
+ o(t);
53
+ }
54
+ if (a && typeof document < "u" && document.fonts && document.fonts.ready) {
55
+ try {
56
+ await document.fonts.ready;
57
+ } catch {}
58
+ !r && e.value && o(e.value);
59
+ }
60
+ })();
61
+ let s = new MutationObserver(() => {
62
+ e.value && requestAnimationFrame(() => {
63
+ e.value && o(e.value);
64
+ });
65
+ });
66
+ s.observe(n, {
67
+ childList: !0,
68
+ subtree: !0,
69
+ characterData: !0,
70
+ attributes: !0,
71
+ attributeFilter: [
72
+ "transform",
73
+ "style",
74
+ "class"
75
+ ]
76
+ });
77
+ let c;
78
+ if (typeof ResizeObserver < "u") {
79
+ let t = n.ownerSVGElement ? n.ownerSVGElement : n;
80
+ c = new ResizeObserver(() => {
81
+ let t = e.value;
82
+ t && o(t);
83
+ }), c.observe(t);
84
+ }
85
+ t(() => {
86
+ r = !0, s.disconnect(), c && c.disconnect();
87
+ });
88
+ }, { flush: "post" });
89
+ }
90
+ //#endregion
91
+ //#region src/directives/vFitText.js
92
+ var Ge = {
93
+ mounted(e, t) {
94
+ Ke(e, t.value);
95
+ },
96
+ updated(e, t) {
97
+ Ke(e, t.value);
98
+ }
99
+ };
100
+ function Ke(e, { cellWidth: t, cellHeight: n, maxFontSize: r, minFontSize: i, index: a, reportRotation: o, reportHide: s, rotateAll: c, hideAll: l }) {
101
+ e.removeAttribute("transform"), e.removeAttribute("visibility");
102
+ let u = !1, d = !1;
103
+ e.setAttribute("font-size", r);
104
+ let f = e.getComputedTextLength();
105
+ if (f <= t) o(a, !1), s(a, !1);
106
+ else {
107
+ let n = Math.floor(r * t / f);
108
+ n >= i ? (e.setAttribute("font-size", n), o(a, !1), s(a, !1)) : (o(a, !0), s(a, !1), u = !0);
109
+ }
110
+ if (c && (u = !0), u) {
111
+ e.setAttribute("font-size", r);
112
+ let t = e.getBBox(), o = t.x + t.width / 2, c = t.y + t.height / 2;
113
+ e.setAttribute("transform", `rotate(-90 ${o} ${c})`);
114
+ let l = e.getBBox().width;
115
+ if (l <= n) s(a, !1);
116
+ else {
117
+ let t = Math.floor(r * n / l);
118
+ t >= i ? (e.setAttribute("font-size", t), s(a, !1)) : (d = !0, s(a, !0));
119
+ }
120
+ }
121
+ (l || d) && e.setAttribute("visibility", "hidden");
122
+ }
123
+ //#endregion
124
+ //#region src/components/vue-ui-heatmap.vue
125
+ var qe = /* @__PURE__ */ e({ default: () => Tt }), Je = ["id"], Ye = ["id"], Xe = [
126
+ "xmlns",
127
+ "aria-describedby",
128
+ "viewBox"
129
+ ], Ze = [
130
+ "x",
131
+ "y",
132
+ "width",
133
+ "height"
134
+ ], Qe = [
135
+ "x",
136
+ "y",
137
+ "height",
138
+ "width",
139
+ "fill",
140
+ "stroke",
141
+ "stroke-width"
142
+ ], $e = [
143
+ "x",
144
+ "y",
145
+ "height",
146
+ "width",
147
+ "fill",
148
+ "stroke",
149
+ "stroke-width"
150
+ ], et = [
151
+ "x",
152
+ "y",
153
+ "width",
154
+ "height",
155
+ "fill",
156
+ "stroke",
157
+ "stroke-width"
158
+ ], tt = [
159
+ "data-a11y-cell-id",
160
+ "x",
161
+ "y",
162
+ "width",
163
+ "height",
164
+ "fill",
165
+ "stroke",
166
+ "stroke-width",
167
+ "aria-label",
168
+ "onMouseover",
169
+ "onMouseout",
170
+ "onClick"
171
+ ], nt = [
172
+ "font-size",
173
+ "font-weight",
174
+ "fill",
175
+ "x",
176
+ "y"
177
+ ], rt = [
178
+ "x",
179
+ "y",
180
+ "width",
181
+ "height",
182
+ "fill",
183
+ "stroke",
184
+ "stroke-width"
185
+ ], it = [
186
+ "x",
187
+ "y",
188
+ "width",
189
+ "height",
190
+ "fill",
191
+ "stroke",
192
+ "stroke-width"
193
+ ], at = [
194
+ "font-size",
195
+ "fill",
196
+ "x",
197
+ "y",
198
+ "font-weight"
199
+ ], ot = [
200
+ "font-size",
201
+ "fill",
202
+ "x",
203
+ "y",
204
+ "font-weight"
205
+ ], st = [
206
+ "text-anchor",
207
+ "font-size",
208
+ "fill",
209
+ "font-weight",
210
+ "transform"
211
+ ], ct = [
212
+ "text-anchor",
213
+ "font-size",
214
+ "fill",
215
+ "font-weight",
216
+ "transform"
217
+ ], lt = { key: 6 }, ut = [
218
+ "x",
219
+ "y",
220
+ "width",
221
+ "height",
222
+ "stroke",
223
+ "stroke-width"
224
+ ], dt = { key: 7 }, ft = [
225
+ "x1",
226
+ "x2",
227
+ "y1",
228
+ "y2",
229
+ "stroke",
230
+ "stroke-width",
231
+ "stroke-dasharray"
232
+ ], pt = [
233
+ "x1",
234
+ "x2",
235
+ "y1",
236
+ "y2",
237
+ "stroke",
238
+ "stroke-width",
239
+ "stroke-dasharray"
240
+ ], mt = { class: "vue-ui-heatmap-legend-gauge-right" }, ht = ["data-value"], gt = { class: "vue-ui-heatmap-gauge-indicator-value" }, _t = {
241
+ key: 1,
242
+ style: {
243
+ position: "absolute",
244
+ top: "100%",
245
+ left: "0",
246
+ width: "100%"
247
+ },
248
+ "data-dom-to-png-ignore": "",
249
+ "aria-hidden": "true"
250
+ }, vt = {
251
+ key: 5,
252
+ class: "vue-data-ui-watermark"
253
+ }, yt = { class: "vue-ui-data-table" }, bt = { key: 0 }, xt = ["data-cell"], St = { style: {
254
+ display: "flex",
255
+ "align-items": "center",
256
+ gap: "5px",
257
+ "justify-content": "flex-end",
258
+ width: "100%",
259
+ "padding-right": "3px"
260
+ } }, Ct = ["data-cell"], wt = { style: {
261
+ display: "flex",
262
+ "align-items": "center",
263
+ gap: "5px",
264
+ "justify-content": "flex-end",
265
+ width: "100%",
266
+ "padding-right": "3px"
267
+ } }, Tt = /*#__PURE__*/ he({
268
+ __name: "vue-ui-heatmap",
269
+ props: {
270
+ config: {
271
+ type: Object,
272
+ default() {
273
+ return {};
274
+ }
275
+ },
276
+ dataset: {
277
+ type: Array,
278
+ default() {
279
+ return [];
280
+ }
281
+ }
282
+ },
283
+ emits: ["selectDatapoint", "copyAlt"],
284
+ setup(e, { expose: he, emit: Ke }) {
285
+ Re((e) => ({ bfe18242: e.tdo }));
286
+ let qe = Oe(() => import("./Tooltip-hhrkQ3Lk.js")), Tt = Oe(() => import("./BaseIcon-D8R6_sKH.js").then((e) => e.n)), Et = Oe(() => import("./PenAndPaper-KFzKlvbi.js").then((e) => e.t)), Dt = Oe(() => import("./UserOptions-2x4VklMW.js").then((e) => e.n)), Ot = Oe(() => import("./PackageVersion-ur6jKRL5.js").then((e) => e.t)), kt = Oe(() => import("./BaseDraggableDialog-Gm4Q30j0.js").then((e) => e.n)), { vue_ui_heatmap: At } = ae(), { isThemeValid: jt, warnInvalidTheme: Mt } = ue(), A = e, Nt = Ke, Pt = g({
287
+ get() {
288
+ return !!A.dataset && A.dataset.length;
289
+ },
290
+ set(e) {
291
+ return e;
292
+ }
293
+ }), Ft = w(p()), j = w(null), It = w(!1), Lt = w(""), Rt = w(void 0), M = w(null), zt = w(0), Bt = w(null), Vt = w(0), Ht = w(null), Ut = w(null), Wt = w(null), Gt = w(null), Kt = w(null), qt = w(null), Jt = w(null), Yt = w(null), Xt = w(null), Zt = w(null), Qt = w(null), $t = w(null), en = Ie(null), N = w(null), tn = w(null), nn = w({
294
+ x: 0,
295
+ y: 0
296
+ }), rn = w("pointer"), an = w(!1), P = w(hn()), F = g(() => P.value.style.layout.cells), I = g(() => P.value.style.layout.dataLabels), L = g(() => P.value.style.layout);
297
+ ne({
298
+ config: () => P.value,
299
+ dataset: () => A.dataset,
300
+ component: "VueUiHeatmap",
301
+ rules: [re.emptyArray, re.noHint]
302
+ });
303
+ let on = g(() => P.value.userOptions.useCursorPointer);
304
+ function sn() {
305
+ let e = Array(7).fill("_"), t = [], n = e.length;
306
+ for (let r = 0; r < n; r += 1) {
307
+ let n = [];
308
+ for (let e = 0; e < 14; e += 1) n.push(r + e * 2);
309
+ t.push({
310
+ name: `${e[r]}`,
311
+ values: n
312
+ });
313
+ }
314
+ return t;
315
+ }
316
+ let cn = g(() => s({
317
+ defaultConfig: {
318
+ table: { show: !1 },
319
+ userOptions: { show: !1 },
320
+ style: {
321
+ backgroundColor: "#99999930",
322
+ layout: {
323
+ cells: {
324
+ colors: {
325
+ hot: "#999999",
326
+ cold: "#CACACA"
327
+ },
328
+ columnTotal: { value: { show: !1 } },
329
+ rowTotal: { value: { show: !1 } },
330
+ value: { show: !1 }
331
+ },
332
+ dataLabels: {
333
+ xAxis: { show: !1 },
334
+ yAxis: { show: !1 }
335
+ }
336
+ }
337
+ }
338
+ },
339
+ userConfig: P.value.skeletonConfig ?? {}
340
+ })), { loading: ln, FINAL_DATASET: R, manualLoading: un } = se({
341
+ ...Le(A),
342
+ FINAL_CONFIG: P,
343
+ prepareConfig: hn,
344
+ callback: () => {
345
+ Promise.resolve().then(async () => {
346
+ await Ae(), j.value && n(j.value, {
347
+ delta: .1,
348
+ delay: 250
349
+ });
350
+ });
351
+ },
352
+ skeletonDataset: A.config?.skeletonDataset ?? sn(),
353
+ skeletonConfig: s({
354
+ defaultConfig: P.value,
355
+ userConfig: cn.value
356
+ })
357
+ }), { userOptionsVisible: dn, setUserOptionsVisibility: fn, keepUserOptionState: pn } = be({ config: P.value }), { svgRef: z } = xe({ config: P.value.style.title });
358
+ function mn(e) {
359
+ fn(e);
360
+ }
361
+ function hn() {
362
+ let e = le({
363
+ userConfig: A.config,
364
+ defaultConfig: At
365
+ }), t = {}, n = e.theme;
366
+ if (n) {
367
+ if (!jt.value(e)) Mt(e), t = e;
368
+ else {
369
+ let r = le({
370
+ userConfig: Ce[n] || A.config,
371
+ defaultConfig: e
372
+ });
373
+ t = { ...le({
374
+ userConfig: A.config,
375
+ defaultConfig: r
376
+ }) };
377
+ }
378
+ } else t = e;
379
+ return t;
380
+ }
381
+ Be(() => A.config, (e) => {
382
+ ln.value || (P.value = hn()), dn.value = !P.value.userOptions.showOnChartHover, Cn(), Vt.value += 1, B.value.showTable = P.value.table.show, B.value.showTooltip = P.value.style.tooltip.show, wn.value = L.value.width, Tn.value = L.value.height;
383
+ }, { deep: !0 }), Be(() => A.dataset, (e) => {
384
+ Array.isArray(e) && e.length > 0 && (un.value = !1), Cn();
385
+ }, { deep: !0 });
386
+ let { isPrinting: gn, isImaging: _n, generatePdf: vn, generateImage: yn } = oe({
387
+ elementId: `heatmap__${Ft.value}`,
388
+ fileName: P.value.style.title.text || "vue-ui-heatmap",
389
+ options: P.value.userOptions.print
390
+ }), bn = g(() => P.value.userOptions.show && !P.value.style.title.text), B = w({
391
+ showTable: P.value.table.show,
392
+ showTooltip: P.value.style.tooltip.show
393
+ });
394
+ Be(P, () => {
395
+ B.value = {
396
+ showTable: P.value.table.show,
397
+ showTooltip: P.value.style.tooltip.show
398
+ };
399
+ }, { immediate: !0 });
400
+ let xn = g(() => P.value.table.responsiveBreakpoint), V = w(null), Sn = g(() => P.value.debug);
401
+ function Cn() {
402
+ if (a(A.dataset) && (f({
403
+ componentName: "VueUiHeatmap",
404
+ type: "dataset",
405
+ debug: Sn.value
406
+ }), Pt.value = !1, un.value = !0), a(A.dataset) || (un.value = P.value.loading), P.value.responsive) {
407
+ let e = ge(() => {
408
+ let { width: e, height: t } = _e({
409
+ chart: j.value,
410
+ title: P.value.style.title.text ? Gt.value : null,
411
+ source: $t.value,
412
+ noTitle: Kt.value
413
+ });
414
+ requestAnimationFrame(() => {
415
+ wn.value = e, Tn.value = t;
416
+ });
417
+ });
418
+ V.value && (en.value && V.value.unobserve(en.value), V.value.disconnect()), V.value = new ResizeObserver(e), en.value = j.value.parentNode, V.value.observe(en.value);
419
+ }
420
+ }
421
+ Me(() => {
422
+ V.value && (en.value && V.value.unobserve(en.value), V.value.disconnect());
423
+ }), Ne(() => {
424
+ Cn();
425
+ });
426
+ let H = g(() => Math.max(...R.value.flatMap((e) => (e.values || []).length))), wn = w(L.value.width), Tn = w(L.value.height), U = g(() => ({
427
+ width: Math.max(10, wn.value),
428
+ height: Math.max(10, Tn.value)
429
+ })), En = w(0);
430
+ We({
431
+ elementRef: Xt,
432
+ callback: ge((e) => {
433
+ e !== En.value && (En.value = e);
434
+ }, 100),
435
+ attr: "height"
436
+ });
437
+ let W = w(0);
438
+ We({
439
+ elementRef: Jt,
440
+ callback: ge((e) => {
441
+ e !== W.value && (W.value = e);
442
+ }, 100),
443
+ attr: "width"
444
+ });
445
+ let Dn = w(0);
446
+ We({
447
+ elementRef: Zt,
448
+ callback: ge((e) => {
449
+ e !== Dn.value && (Dn.value = e);
450
+ }, 100),
451
+ attr: "height"
452
+ }), Me(() => {
453
+ En.value = 0, W.value = 0, Dn.value = 0;
454
+ });
455
+ let G = g(() => Math.min(U.value.height, U.value.width) / 1e3 * F.value.spacing), K = g(() => {
456
+ let e = 0;
457
+ P.value.style.legend.show && (e = P.value.style.legend.width);
458
+ let t = L.value.padding, n = I.value.xAxis.fontSize / 3, r = I.value.xAxis.fontSize / 2, i = U.value.height - t.top - t.bottom - En.value - n, a = U.value.width / 60, o = {
459
+ x: G.value * H.value,
460
+ y: G.value * ((R.value || []).length + 1)
461
+ }, s = U.value.width - t.left - t.right - o.x - a * 2 - 2 - e - W.value, c = i - a - o.y - Dn.value - r - F.value.columnTotal.value.offsetY, l = {
462
+ width: Math.max(3, s / H.value),
463
+ height: Math.max(3, c / (R.value.length ?? 1))
464
+ };
465
+ return {
466
+ top: t.top + En.value + a + n,
467
+ topLabelsHeight: En.value,
468
+ sumCellXHeight: a,
469
+ height: c,
470
+ left: t.left + W.value + a / 2,
471
+ right: t.right - e,
472
+ bottom: U.value.height - t.bottom - Dn.value,
473
+ width: s,
474
+ cellSize: l
475
+ };
476
+ }), q = g(() => Math.max(...R.value.flatMap((e) => e.values))), On = g(() => Math.min(...R.value.flatMap((e) => e.values))), J = g(() => {
477
+ let e = R.value.flatMap((e) => e.values);
478
+ return e.reduce((e, t) => e + t, 0) / e.length;
479
+ }), kn = w([]), An = w([]), jn = 0;
480
+ Ve(() => {
481
+ let e = ++jn;
482
+ (async () => {
483
+ let t = I.value.yAxis, n = await ie({
484
+ values: t.values.length ? t.values : R.value.map((e) => e.name),
485
+ maxDatapoints: R.value.length,
486
+ formatter: t.datetimeFormatter,
487
+ start: 0,
488
+ end: R.value.length
489
+ });
490
+ e === jn && (kn.value = n);
491
+ })();
492
+ });
493
+ let Mn = 0;
494
+ Ve(() => {
495
+ let e = ++Mn;
496
+ (async () => {
497
+ let t = I.value.xAxis, n = await ie({
498
+ values: t.values,
499
+ maxDatapoints: H.value,
500
+ formatter: t.datetimeFormatter,
501
+ start: 0,
502
+ end: H.value
503
+ });
504
+ e === Mn && (An.value = n);
505
+ })();
506
+ });
507
+ let Y = g(() => {
508
+ let e = kn.value.map((e) => e.text), t = An.value.map((e) => e.text), n = R.value.map((e) => e.values.reduce((e, t) => e + t, 0)), r = Math.max(...n), i = Math.min(...n), a = [];
509
+ for (let e = 0; e < H.value; e += 1) a.push(R.value.map((t) => t.values[e] || 0).reduce((e, t) => e + t, 0));
510
+ let o = Math.max(...a), s = Math.min(...a);
511
+ return {
512
+ yTotals: n.map((e) => ({
513
+ total: e,
514
+ proportion: isNaN(e / r) ? 0 : e / r,
515
+ color: te(F.value.colors.cold, F.value.colors.hot, i, r, e)
516
+ })),
517
+ xTotals: a.map((e) => ({
518
+ total: e,
519
+ proportion: isNaN(e / o) ? 0 : e / o,
520
+ color: te(F.value.colors.cold, F.value.colors.hot, s, o, e)
521
+ })),
522
+ yLabels: e,
523
+ xLabels: t.slice(0, H.value)
524
+ };
525
+ }), X = g(() => (R.value.forEach((e, t) => {
526
+ l({
527
+ datasetObject: e,
528
+ requiredAttributes: ["values"]
529
+ }).forEach((e) => {
530
+ f({
531
+ componentName: "VueUiHeatmap",
532
+ type: "datasetSerieAttribute",
533
+ property: "values",
534
+ index: t,
535
+ debug: Sn.value
536
+ });
537
+ });
538
+ }), R.value.map((e, t) => ({
539
+ ...e,
540
+ temperatures: (e.values || []).map((e, n) => e >= J.value ? {
541
+ side: "up",
542
+ color: te(F.value.colors.cold, F.value.colors.hot, On.value, q.value, e),
543
+ ratio: Math.abs(Math.abs(e - J.value) / Math.abs(q.value - J.value)) > 1 ? 1 : Math.abs(Math.abs(e - J.value) / Math.abs(q.value - J.value)),
544
+ value: e,
545
+ yAxisName: Y.value.yLabels[t],
546
+ xAxisName: Y.value.xLabels[n],
547
+ id: `vue-data-ui-heatmap-cell-${p()}`
548
+ } : {
549
+ side: "down",
550
+ ratio: Math.abs(1 - Math.abs(e) / Math.abs(J.value)) > 1 ? 1 : Math.abs(1 - Math.abs(e) / Math.abs(J.value)),
551
+ color: te(F.value.colors.cold, F.value.colors.hot, On.value, q.value, e),
552
+ value: e,
553
+ yAxisName: Y.value.yLabels[t],
554
+ xAxisName: Y.value.xLabels[n],
555
+ id: `vue-data-ui-heatmap-cell-${p()}`
556
+ })
557
+ })))), Nn = g(() => R.value.length), Pn = Pe(Array(Nn.value * H.value || 1).fill(!1)), Fn = g(() => Pn.some((e) => e));
558
+ function In(e, t) {
559
+ Pn[e] = t;
560
+ }
561
+ let Ln = Pe(Array(Nn.value * H.value || 1).fill(!1)), Rn = g(() => Ln.some((e) => e));
562
+ function zn(e, t) {
563
+ Ln[e] = t;
564
+ }
565
+ let Z = w(null), Bn = w(null);
566
+ function Vn() {
567
+ It.value = !1, Rt.value = void 0, Z.value = null, M.value = null, N.value = null, tn.value = null;
568
+ }
569
+ function Hn(e) {
570
+ if (!z.value || !e) return;
571
+ let t = z.value.querySelector(`[data-a11y-cell-id="${e}"]`);
572
+ if (!t) return;
573
+ let n = t.getBoundingClientRect();
574
+ nn.value = {
575
+ x: n.left + n.width / 2,
576
+ y: n.top + n.height / 2
577
+ };
578
+ }
579
+ function Un(e, t, n, i, a = "pointer", s = null) {
580
+ if (P.value.events.datapointEnter && P.value.events.datapointEnter({
581
+ datapoint: e,
582
+ seriesIndex: t
583
+ }), !B.value.showTooltip) return;
584
+ rn.value = a, N.value = s, tn.value = e.id, M.value = {
585
+ x: n,
586
+ y: i
587
+ };
588
+ let { value: c, yAxisName: l, xAxisName: f, id: p } = e;
589
+ Rt.value = p, Z.value = c, Bn.value = {
590
+ datapoint: e,
591
+ seriesIndex: t,
592
+ series: X.value,
593
+ config: P.value
594
+ }, It.value = !0;
595
+ let m = "", ee = P.value.style.tooltip.customFormat;
596
+ r(ee) && d(() => ee({
597
+ datapoint: e,
598
+ seriesIndex: t,
599
+ series: X.value,
600
+ config: P.value
601
+ })) ? Lt.value = ee({
602
+ datapoint: e,
603
+ seriesIndex: t,
604
+ series: X.value,
605
+ config: P.value
606
+ }) : (m += `<div>${l} ${f ? l ? ` - ${f}` : `${f}` : ""}</div>`, m += `<div style="margin-top:6px;padding-top:6px;border-top:1px solid ${P.value.style.tooltip.borderColor};font-weight:bold;display:flex;flex-direction:row;gap:12px;align-items:center;justify-content:center"><span style="color:${te(F.value.colors.cold, F.value.colors.hot, On.value, q.value, c)}">⬤</span><span>${isNaN(c) ? "-" : u(F.value.value.formatter, c, o({
607
+ p: I.value.prefix,
608
+ v: c,
609
+ s: I.value.suffix,
610
+ r: P.value.style.tooltip.roundingValue
611
+ }), {
612
+ datapoint: e,
613
+ seriesIndex: t
614
+ })}</span></div>`, Lt.value = `<div style="font-size:${P.value.style.tooltip.fontSize}px">${m}</div>`), a === "keyboard" && Ae(() => {
615
+ Hn(e.id);
616
+ });
617
+ }
618
+ function Wn({ datapoint: e, seriesIndex: t }) {
619
+ P.value.events.datapointLeave && P.value.events.datapointLeave({
620
+ datapoint: e,
621
+ seriesIndex: t
622
+ }), (tn.value !== e.id || rn.value !== "keyboard") && (It.value = !1, Rt.value = void 0, Z.value = null, M.value = null);
623
+ }
624
+ function Gn(e) {
625
+ return u(F.value.value.formatter, Y.value.yTotals[e].total, o({
626
+ p: I.value.prefix,
627
+ v: Y.value.yTotals[e].total,
628
+ s: I.value.suffix,
629
+ r: F.value.value.roundingValue
630
+ }), {
631
+ datapoint: Y.value.yTotals[e],
632
+ rowIndex: e
633
+ });
634
+ }
635
+ function Kn(e) {
636
+ return u(F.value.value.formatter, Y.value.xTotals[e].total, o({
637
+ p: I.value.prefix,
638
+ v: Y.value.xTotals[e].total,
639
+ s: I.value.suffix,
640
+ r: F.value.value.roundingValue
641
+ }), {
642
+ datapoint: Y.value.xTotals[e],
643
+ colIndex: e
644
+ });
645
+ }
646
+ g(() => ({
647
+ head: R.value.map((e) => ({ name: e.name })),
648
+ body: R.value.map((e) => e.values)
649
+ }));
650
+ function qn(e = null) {
651
+ Ae(() => {
652
+ let n = ["", ...R.value.map((e, t) => e.name)], r = [];
653
+ for (let e = 0; e < Y.value.xLabels.length; e += 1) {
654
+ let t = [Y.value.xLabels[e]];
655
+ for (let n = 0; n < R.value.length; n += 1) t.push([R.value[n].values[e]]);
656
+ r.push(t);
657
+ }
658
+ let a = [
659
+ [P.value.style.title.text],
660
+ [P.value.style.title.subtitle.text],
661
+ [
662
+ [""],
663
+ [""],
664
+ [""]
665
+ ],
666
+ n
667
+ ].concat(r), o = i(a);
668
+ e ? e(o) : t({
669
+ csvContent: o,
670
+ title: P.value.style.title.text || "vue-ui-heatmap"
671
+ });
672
+ });
673
+ }
674
+ let Q = w(!1);
675
+ function Jn(e) {
676
+ Q.value = e, zt.value += 1;
677
+ }
678
+ function Yn() {
679
+ B.value.showTable = !B.value.showTable;
680
+ }
681
+ function Xn() {
682
+ B.value.showTooltip = !B.value.showTooltip;
683
+ }
684
+ let Zn = w(!1);
685
+ function Qn() {
686
+ Zn.value = !Zn.value;
687
+ }
688
+ function $n(e, t) {
689
+ P.value.events.datapointClick && P.value.events.datapointClick({
690
+ datapoint: e,
691
+ seriesIndex: t
692
+ }), Nt("selectDatapoint", e);
693
+ }
694
+ function er() {
695
+ return X.value;
696
+ }
697
+ async function tr({ scale: e = 2 } = {}) {
698
+ if (!j.value) return;
699
+ let { width: t, height: n } = j.value.getBoundingClientRect(), r = t / n, { imageUri: i, base64: a } = await pe({
700
+ domElement: j.value,
701
+ base64: !0,
702
+ img: !0,
703
+ scale: e
704
+ });
705
+ return {
706
+ imageUri: i,
707
+ base64: a,
708
+ title: P.value.style.title.text,
709
+ width: t,
710
+ height: n,
711
+ aspectRatio: r
712
+ };
713
+ }
714
+ let nr = g(() => ({
715
+ start: 0,
716
+ end: H.value
717
+ })), rr = g(() => Y.value.xLabels);
718
+ fe({
719
+ timeLabelsEls: Xt,
720
+ timeLabels: rr,
721
+ slicer: nr,
722
+ configRef: P,
723
+ rotationPath: [
724
+ "style",
725
+ "layout",
726
+ "dataLabels",
727
+ "xAxis",
728
+ "rotation"
729
+ ],
730
+ autoRotatePath: [
731
+ "style",
732
+ "layout",
733
+ "dataLabels",
734
+ "xAxis",
735
+ "autoRotate",
736
+ "enable"
737
+ ],
738
+ isAutoSize: !1,
739
+ targetClass: ".vue-ui-heatmap-col-name",
740
+ rotation: I.value.xAxis.autoRotate.angle,
741
+ width: wn,
742
+ height: Tn
743
+ }), fe({
744
+ timeLabelsEls: Zt,
745
+ timeLabels: rr,
746
+ slicer: nr,
747
+ configRef: P,
748
+ rotationPath: [
749
+ "style",
750
+ "layout",
751
+ "cells",
752
+ "columnTotal",
753
+ "value",
754
+ "rotation"
755
+ ],
756
+ autoRotatePath: [
757
+ "style",
758
+ "layout",
759
+ "cells",
760
+ "columnTotal",
761
+ "value",
762
+ "autoRotate",
763
+ "enable"
764
+ ],
765
+ isAutoSize: !1,
766
+ targetClass: ".vue-ui-heatmap-col-total",
767
+ rotation: F.value.columnTotal.value.autoRotate.angle,
768
+ width: wn,
769
+ height: Tn
770
+ });
771
+ let ir = g(() => {
772
+ let e = P.value.table.useDialog && !P.value.table.show, t = B.value.showTable;
773
+ return {
774
+ component: e ? kt : ve,
775
+ title: `${P.value.style.title.text}${P.value.style.title.subtitle.text ? `: ${P.value.style.title.subtitle.text}` : ""}`,
776
+ props: e ? {
777
+ backgroundColor: P.value.table.th.backgroundColor,
778
+ color: P.value.table.th.color,
779
+ headerColor: P.value.table.th.color,
780
+ headerBg: P.value.table.th.backgroundColor,
781
+ isFullscreen: Q.value,
782
+ fullscreenParent: j.value,
783
+ forcedWidth: Math.min(800, window.innerWidth * .8),
784
+ isCursorPointer: on.value
785
+ } : {
786
+ hideDetails: !0,
787
+ config: {
788
+ open: t,
789
+ maxHeight: 1e4,
790
+ body: {
791
+ backgroundColor: P.value.style.backgroundColor,
792
+ color: P.value.style.color
793
+ },
794
+ head: {
795
+ backgroundColor: P.value.style.backgroundColor,
796
+ color: P.value.style.color
797
+ }
798
+ }
799
+ }
800
+ };
801
+ });
802
+ Be(() => B.value.showTable, async (e) => {
803
+ P.value.table.show || (e && P.value.table.useDialog && Ut.value ? (await Ae(), Ut.value.open()) : "close" in Ut.value && Ut.value.close());
804
+ });
805
+ let { isResponsive: ar } = Se(Bt, xn);
806
+ function or() {
807
+ B.value.showTable = !1, Wt.value && Wt.value.setTableIconState(!1);
808
+ }
809
+ let sr = g(() => P.value.style.backgroundColor), cr = g(() => P.value.style.title), { isCallbackImaging: lr, isCallbackSvg: ur, generateSvg: dr, onGenerateImage: fr } = de({
810
+ svg: z,
811
+ title: cr,
812
+ legend: null,
813
+ legendItems: null,
814
+ backgroundColor: sr,
815
+ getSvgCallback: () => P.value.userOptions.callbacks.svg,
816
+ generateImage: yn
817
+ });
818
+ async function pr() {
819
+ if (Nt("copyAlt", {
820
+ config: P.value,
821
+ dataset: X.value
822
+ }), !P.value.userOptions.callbacks.altCopy) {
823
+ console.warn("Vue Data UI - A callback must be set for `altCopy` in userOptions.");
824
+ return;
825
+ }
826
+ await Promise.resolve(P.value.userOptions.callbacks.altCopy({
827
+ config: P.value,
828
+ dataset: X.value
829
+ }));
830
+ }
831
+ function mr(e, t) {
832
+ let n = X.value[e];
833
+ if (!n) return null;
834
+ let r = n.temperatures[t];
835
+ return r ? {
836
+ cell: r,
837
+ rowIndex: e,
838
+ columnIndex: t
839
+ } : null;
840
+ }
841
+ function hr(e, t) {
842
+ let n = 0;
843
+ for (let t = 0; t < e; t += 1) n += X.value[t]?.temperatures?.length || 0;
844
+ return n + t;
845
+ }
846
+ function gr() {
847
+ N.value = null, tn.value = null, an.value = !0;
848
+ }
849
+ function _r() {
850
+ Vn(), an.value = !1;
851
+ }
852
+ function vr(e) {
853
+ if (!z.value || Zn.value || document.activeElement !== z.value || !$.value.length) return;
854
+ let t = e.key === "ArrowLeft", n = e.key === "ArrowRight", r = e.key === "ArrowUp", i = e.key === "ArrowDown", a = e.key === "Enter" || e.key === " ", o = e.key === "Escape";
855
+ if (!t && !n && !r && !i && !a && !o) return;
856
+ if (e.preventDefault(), e.stopPropagation(), o) {
857
+ Vn();
858
+ return;
859
+ }
860
+ if (a) {
861
+ if (N.value === null) return;
862
+ let e = $.value[N.value];
863
+ if (!e) return;
864
+ $n(e.cell, e.rowIndex);
865
+ return;
866
+ }
867
+ let s = N.value === null ? null : $.value[N.value];
868
+ if (!s) {
869
+ let e = Rt.value ? $.value.findIndex((e) => e.cell.id === Rt.value) : null;
870
+ if (e !== null && e >= 0 && e < $.value.length) {
871
+ let a = $.value[e];
872
+ if (!a) return;
873
+ let o = a.rowIndex, s = a.columnIndex;
874
+ n ? s += 1 : t ? --s : i ? o += 1 : r && --o;
875
+ let c = br.value.rowCount;
876
+ if (c <= 0) return;
877
+ o < 0 && (o = c - 1), o >= c && (o = 0);
878
+ let l = X.value[o];
879
+ if (!l || !l.temperatures.length) return;
880
+ let u = l.temperatures.length;
881
+ s < 0 && (s = u - 1), s >= u && (s = 0);
882
+ let d = mr(o, s);
883
+ if (!d) return;
884
+ let f = hr(o, s), p = K.value.left + K.value.cellSize.width * d.columnIndex, m = K.value.top + K.value.cellSize.height * d.rowIndex;
885
+ Un(d.cell, d.rowIndex, p, m, "keyboard", f);
886
+ return;
887
+ }
888
+ let a = $.value[0];
889
+ if (!a) return;
890
+ let o = K.value.left + K.value.cellSize.width * a.columnIndex, s = K.value.top + K.value.cellSize.height * a.rowIndex;
891
+ Un(a.cell, a.rowIndex, o, s, "keyboard", 0);
892
+ return;
893
+ }
894
+ let c = s.rowIndex, l = s.columnIndex;
895
+ n ? l += 1 : t ? --l : i ? c += 1 : r && --c;
896
+ let u = br.value.rowCount;
897
+ if (u <= 0) return;
898
+ c < 0 && (c = u - 1), c >= u && (c = 0);
899
+ let d = X.value[c];
900
+ if (!d || !d.temperatures.length) return;
901
+ let f = d.temperatures.length;
902
+ l < 0 && (l = f - 1), l >= f && (l = 0);
903
+ let p = mr(c, l);
904
+ if (!p) return;
905
+ let m = hr(c, l), ee = K.value.left + K.value.cellSize.width * p.columnIndex, te = K.value.top + K.value.cellSize.height * p.rowIndex;
906
+ Un(p.cell, p.rowIndex, ee, te, "keyboard", m);
907
+ }
908
+ let yr = g(() => ({
909
+ headers: [P.value.table.colNames.xAxis, ...R.value.map((e) => e.name)],
910
+ rows: Y.value.xLabels.map((e, t) => [e, ...R.value.map((e) => {
911
+ let n = e.values?.[t];
912
+ return isNaN(n) ? "-" : o({
913
+ p: I.value.prefix,
914
+ v: n,
915
+ s: I.value.suffix,
916
+ r: P.value.table.td.roundingValue
917
+ });
918
+ })])
919
+ })), br = g(() => ({
920
+ rowCount: X.value.length,
921
+ columnCount: Math.max(0, ...X.value.map((e) => e.temperatures.length))
922
+ })), $ = g(() => X.value.flatMap((e, t) => e.temperatures.map((e, n) => ({
923
+ cell: e,
924
+ rowIndex: t,
925
+ columnIndex: n
926
+ }))));
927
+ return he({
928
+ getData: er,
929
+ getImage: tr,
930
+ generatePdf: vn,
931
+ generateCsv: qn,
932
+ generateImage: yn,
933
+ generateSvg: dr,
934
+ toggleTable: Yn,
935
+ toggleTooltip: Xn,
936
+ toggleAnnotator: Qn,
937
+ toggleFullscreen: Jn,
938
+ copyAlt: pr
939
+ }), (t, n) => (C(), v("div", {
940
+ ref_key: "heatmapChart",
941
+ ref: j,
942
+ class: je(`vue-data-ui-component vue-ui-heatmap ${Q.value ? "vue-data-ui-wrapper-fullscreen" : ""}`),
943
+ style: S(`font-family:${P.value.style.fontFamily};width:100%;${P.value.responsive ? "height: 100%;" : ""} text-align:center;background:${P.value.style.backgroundColor}`),
944
+ id: `heatmap__${Ft.value}`,
945
+ onMouseenter: n[1] ||= () => mn(!0),
946
+ onMouseleave: n[2] ||= () => {
947
+ mn(!1), an.value || Vn();
948
+ }
949
+ }, [
950
+ y("div", {
951
+ id: `chart-instructions-${Ft.value}`,
952
+ class: "sr-only"
953
+ }, [y("p", null, D(P.value.a11y.translations.keyboardNavigation), 1)], 8, Ye),
954
+ yr.value?.rows?.length ? (C(), we(ye, {
955
+ key: 0,
956
+ uid: Ft.value,
957
+ head: yr.value.headers,
958
+ body: yr.value.rows,
959
+ notice: P.value.a11y.translations.tableAvailable,
960
+ caption: P.value.a11y.translations.tableCaption
961
+ }, null, 8, [
962
+ "uid",
963
+ "head",
964
+ "body",
965
+ "notice",
966
+ "caption"
967
+ ])) : _("", !0),
968
+ P.value.userOptions.buttons.annotator ? (C(), we(O(Et), {
969
+ key: 1,
970
+ svgRef: O(z),
971
+ backgroundColor: P.value.style.backgroundColor,
972
+ color: P.value.style.color,
973
+ active: Zn.value,
974
+ isCursorPointer: on.value,
975
+ palette: P.value.userOptions.annotatorPalette,
976
+ onClose: Qn
977
+ }, {
978
+ "annotator-action-close": k(() => [E(t.$slots, "annotator-action-close", {}, void 0, !0)]),
979
+ "annotator-action-color": k(({ color: e }) => [E(t.$slots, "annotator-action-color", x(b({ color: e })), void 0, !0)]),
980
+ "annotator-action-draw": k(({ mode: e }) => [E(t.$slots, "annotator-action-draw", x(b({ mode: e })), void 0, !0)]),
981
+ "annotator-action-undo": k(({ disabled: e }) => [E(t.$slots, "annotator-action-undo", x(b({ disabled: e })), void 0, !0)]),
982
+ "annotator-action-redo": k(({ disabled: e }) => [E(t.$slots, "annotator-action-redo", x(b({ disabled: e })), void 0, !0)]),
983
+ "annotator-action-delete": k(({ disabled: e }) => [E(t.$slots, "annotator-action-delete", x(b({ disabled: e })), void 0, !0)]),
984
+ _: 3
985
+ }, 8, [
986
+ "svgRef",
987
+ "backgroundColor",
988
+ "color",
989
+ "active",
990
+ "isCursorPointer",
991
+ "palette"
992
+ ])) : _("", !0),
993
+ bn.value ? (C(), v("div", {
994
+ key: 2,
995
+ ref_key: "noTitle",
996
+ ref: Kt,
997
+ class: "vue-data-ui-no-title-space",
998
+ style: "height:36px; width: 100%;background:transparent"
999
+ }, null, 512)) : _("", !0),
1000
+ P.value.style.title.text ? (C(), v("div", {
1001
+ key: 3,
1002
+ ref_key: "chartTitle",
1003
+ ref: Gt,
1004
+ style: "width:100%;background:transparent"
1005
+ }, [(C(), we(me, {
1006
+ key: `title_${Vt.value}`,
1007
+ config: {
1008
+ title: {
1009
+ cy: "heatmap-div-title",
1010
+ ...P.value.style.title
1011
+ },
1012
+ subtitle: {
1013
+ cy: "heatmap-div-subtitle",
1014
+ ...P.value.style.title.subtitle
1015
+ }
1016
+ }
1017
+ }, null, 8, ["config"]))], 512)) : _("", !0),
1018
+ P.value.userOptions.show && Pt.value && (O(pn) || O(dn)) ? (C(), we(O(Dt), {
1019
+ ref_key: "userOptionsRef",
1020
+ ref: Wt,
1021
+ key: `user_options_${zt.value}`,
1022
+ backgroundColor: P.value.style.backgroundColor,
1023
+ color: P.value.style.color,
1024
+ isImaging: O(_n),
1025
+ isPrinting: O(gn),
1026
+ uid: Ft.value,
1027
+ hasTooltip: P.value.userOptions.buttons.tooltip && P.value.style.tooltip.show,
1028
+ hasPdf: P.value.userOptions.buttons.pdf,
1029
+ hasImg: P.value.userOptions.buttons.img,
1030
+ hasSvg: P.value.userOptions.buttons.svg,
1031
+ hasXls: P.value.userOptions.buttons.csv,
1032
+ hasTable: P.value.userOptions.buttons.table,
1033
+ hasFullscreen: P.value.userOptions.buttons.fullscreen,
1034
+ hasAltCopy: P.value.userOptions.buttons.altCopy,
1035
+ isFullscreen: Q.value,
1036
+ isTooltip: B.value.showTooltip,
1037
+ titles: { ...P.value.userOptions.buttonTitles },
1038
+ chartElement: j.value,
1039
+ position: P.value.userOptions.position,
1040
+ hasAnnotator: P.value.userOptions.buttons.annotator,
1041
+ isAnnotation: Zn.value,
1042
+ callbacks: P.value.userOptions.callbacks,
1043
+ printScale: P.value.userOptions.print.scale,
1044
+ tableDialog: P.value.table.useDialog,
1045
+ isCursorPointer: on.value,
1046
+ onToggleFullscreen: Jn,
1047
+ onGeneratePdf: O(vn),
1048
+ onGenerateCsv: qn,
1049
+ onGenerateImage: O(fr),
1050
+ onGenerateSvg: O(dr),
1051
+ onToggleTable: Yn,
1052
+ onToggleTooltip: Xn,
1053
+ onToggleAnnotator: Qn,
1054
+ onCopyAlt: pr,
1055
+ style: S({ visibility: O(pn) ? O(dn) ? "visible" : "hidden" : "visible" })
1056
+ }, Te({ _: 2 }, [
1057
+ t.$slots.menuIcon ? {
1058
+ name: "menuIcon",
1059
+ fn: k(({ isOpen: e, color: n }) => [E(t.$slots, "menuIcon", x(b({
1060
+ isOpen: e,
1061
+ color: n
1062
+ })), void 0, !0)]),
1063
+ key: "0"
1064
+ } : void 0,
1065
+ t.$slots.optionTooltip ? {
1066
+ name: "optionTooltip",
1067
+ fn: k(() => [E(t.$slots, "optionTooltip", {}, void 0, !0)]),
1068
+ key: "1"
1069
+ } : void 0,
1070
+ t.$slots.optionPdf ? {
1071
+ name: "optionPdf",
1072
+ fn: k(() => [E(t.$slots, "optionPdf", {}, void 0, !0)]),
1073
+ key: "2"
1074
+ } : void 0,
1075
+ t.$slots.optionCsv ? {
1076
+ name: "optionCsv",
1077
+ fn: k(() => [E(t.$slots, "optionCsv", {}, void 0, !0)]),
1078
+ key: "3"
1079
+ } : void 0,
1080
+ t.$slots.optionImg ? {
1081
+ name: "optionImg",
1082
+ fn: k(() => [E(t.$slots, "optionImg", {}, void 0, !0)]),
1083
+ key: "4"
1084
+ } : void 0,
1085
+ t.$slots.optionSvg ? {
1086
+ name: "optionSvg",
1087
+ fn: k(() => [E(t.$slots, "optionSvg", {}, void 0, !0)]),
1088
+ key: "5"
1089
+ } : void 0,
1090
+ t.$slots.optionTable ? {
1091
+ name: "optionTable",
1092
+ fn: k(() => [E(t.$slots, "optionTable", {}, void 0, !0)]),
1093
+ key: "6"
1094
+ } : void 0,
1095
+ t.$slots.optionFullscreen ? {
1096
+ name: "optionFullscreen",
1097
+ fn: k(({ toggleFullscreen: e, isFullscreen: n }) => [E(t.$slots, "optionFullscreen", x(b({
1098
+ toggleFullscreen: e,
1099
+ isFullscreen: n
1100
+ })), void 0, !0)]),
1101
+ key: "7"
1102
+ } : void 0,
1103
+ t.$slots.optionAnnotator ? {
1104
+ name: "optionAnnotator",
1105
+ fn: k(({ toggleAnnotator: e, isAnnotator: n }) => [E(t.$slots, "optionAnnotator", x(b({
1106
+ toggleAnnotator: e,
1107
+ isAnnotator: n
1108
+ })), void 0, !0)]),
1109
+ key: "8"
1110
+ } : void 0,
1111
+ t.$slots.optionAltCopy ? {
1112
+ name: "optionAltCopy",
1113
+ fn: k(({ altCopy: e }) => [E(t.$slots, "optionAltCopy", x(b({ altCopy: e })), void 0, !0)]),
1114
+ key: "9"
1115
+ } : void 0,
1116
+ t.$slots["custom-menu-before"] ? {
1117
+ name: "custom-menu-before",
1118
+ fn: k(() => [E(t.$slots, "custom-menu-before", {}, void 0, !0)]),
1119
+ key: "10"
1120
+ } : void 0,
1121
+ t.$slots["custom-menu-after"] ? {
1122
+ name: "custom-menu-after",
1123
+ fn: k(() => [E(t.$slots, "custom-menu-after", {}, void 0, !0)]),
1124
+ key: "11"
1125
+ } : void 0
1126
+ ]), 1032, /* @__PURE__ */ "backgroundColor.color.isImaging.isPrinting.uid.hasTooltip.hasPdf.hasImg.hasSvg.hasXls.hasTable.hasFullscreen.hasAltCopy.isFullscreen.isTooltip.titles.chartElement.position.hasAnnotator.isAnnotation.callbacks.printScale.tableDialog.isCursorPointer.onGeneratePdf.onGenerateImage.onGenerateSvg.style".split("."))) : _("", !0),
1127
+ y("div", { class: je({
1128
+ "vue-ui-heatmap-chart-wrapper": !0,
1129
+ "vue-ui-heatmap-chart-wrapper-legend-right": P.value.style.legend.show
1130
+ }) }, [
1131
+ (C(), v("svg", {
1132
+ ref_key: "svgRef",
1133
+ ref: z,
1134
+ xmlns: O(ee),
1135
+ "aria-describedby": `chart-instructions-${Ft.value}`,
1136
+ class: je({
1137
+ "vue-data-ui-fullscreen--on": Q.value,
1138
+ "vue-data-ui-fulscreen--off": !Q.value
1139
+ }),
1140
+ viewBox: `0 0 ${U.value.width} ${U.value.height}`,
1141
+ width: "100%",
1142
+ style: S(`overflow: visible; background:transparent;color:${P.value.style.color}`),
1143
+ "aria-live": "polite",
1144
+ role: "img",
1145
+ preserveAspectRatio: "xMidYMid",
1146
+ tabindex: "0",
1147
+ onFocus: gr,
1148
+ onBlur: _r,
1149
+ onKeydown: vr
1150
+ }, [
1151
+ De(O(Ot)),
1152
+ t.$slots["chart-background"] ? (C(), v("foreignObject", {
1153
+ key: 0,
1154
+ x: K.value.left,
1155
+ y: K.value.top,
1156
+ width: K.value.width,
1157
+ height: K.value.height,
1158
+ style: { pointerEvents: "none" }
1159
+ }, [E(t.$slots, "chart-background", {}, void 0, !0)], 8, Ze)) : _("", !0),
1160
+ F.value.columnTotal.color.show ? (C(), v("g", {
1161
+ key: 1,
1162
+ ref_key: "xAxisSumRects",
1163
+ ref: Qt
1164
+ }, [(C(!0), v(h, null, T(Y.value.xTotals, (e, t) => (C(), v("rect", {
1165
+ x: K.value.left + K.value.cellSize.width * t + G.value / 2 + K.value.sumCellXHeight,
1166
+ y: K.value.top - K.value.sumCellXHeight + G.value * (U.value.height / U.value.width),
1167
+ height: K.value.sumCellXHeight,
1168
+ width: K.value.cellSize.width - G.value,
1169
+ fill: F.value.colors.underlayer,
1170
+ stroke: P.value.style.backgroundColor,
1171
+ "stroke-width": G.value
1172
+ }, null, 8, Qe))), 256)), (C(!0), v(h, null, T(Y.value.xTotals, (e, t) => (C(), v("rect", {
1173
+ x: K.value.left + K.value.cellSize.width * t + G.value / 2 + K.value.sumCellXHeight,
1174
+ y: K.value.top - K.value.sumCellXHeight + G.value * (U.value.height / U.value.width),
1175
+ height: K.value.sumCellXHeight,
1176
+ width: K.value.cellSize.width - G.value,
1177
+ fill: e.color,
1178
+ stroke: P.value.style.backgroundColor,
1179
+ "stroke-width": G.value
1180
+ }, null, 8, $e))), 256))], 512)) : _("", !0),
1181
+ y("g", {
1182
+ ref_key: "datapoints",
1183
+ ref: Ht
1184
+ }, [(C(!0), v(h, null, T(X.value, (e, t) => (C(), v(h, null, [(C(!0), v(h, null, T(e.temperatures, (e, n) => (C(), v("g", null, [
1185
+ y("rect", {
1186
+ x: K.value.left + K.value.cellSize.width * n + G.value / 2 + K.value.sumCellXHeight,
1187
+ y: K.value.top + K.value.cellSize.height * t + G.value / 2,
1188
+ width: K.value.cellSize.width - G.value,
1189
+ height: K.value.cellSize.height - G.value,
1190
+ fill: F.value.colors.underlayer,
1191
+ stroke: P.value.style.backgroundColor,
1192
+ "stroke-width": G.value
1193
+ }, null, 8, et),
1194
+ y("rect", {
1195
+ "data-a11y-cell-id": e.id,
1196
+ x: K.value.left + K.value.cellSize.width * n + G.value / 2 + K.value.sumCellXHeight,
1197
+ y: K.value.top + K.value.cellSize.height * t + G.value / 2,
1198
+ width: K.value.cellSize.width - G.value,
1199
+ height: K.value.cellSize.height - G.value,
1200
+ fill: e.color,
1201
+ stroke: P.value.style.backgroundColor,
1202
+ "stroke-width": G.value,
1203
+ "aria-label": `${e.yAxisName}${e.xAxisName ? ` - ${e.xAxisName}` : ""}: ${isNaN(e.value) ? "-" : e.value}`,
1204
+ onMouseover: (r) => Un(e, t, K.value.left + K.value.cellSize.width * n, K.value.top + K.value.cellSize.height * t, "pointer", hr(t, n)),
1205
+ onMouseout: () => Wn({
1206
+ datapoint: e,
1207
+ seriesIndex: t
1208
+ }),
1209
+ onClick: () => $n(e, t)
1210
+ }, null, 40, tt),
1211
+ F.value.value.show ? He((C(), v("text", {
1212
+ key: 0,
1213
+ "text-anchor": "middle",
1214
+ "font-size": F.value.value.fontSize,
1215
+ "font-weight": F.value.value.bold ? "bold" : "normal",
1216
+ fill: O(m)(e.color),
1217
+ x: K.value.left + K.value.cellSize.width * n + K.value.cellSize.width / 2 + K.value.sumCellXHeight,
1218
+ y: K.value.top + K.value.cellSize.height * t + K.value.cellSize.height / 2 + F.value.value.fontSize / 3,
1219
+ style: {
1220
+ pointerEvents: "none",
1221
+ userSelect: "none"
1222
+ }
1223
+ }, [Ee(D(O(u)(F.value.value.formatter, e.value, O(o)({
1224
+ p: I.value.prefix,
1225
+ v: e.value,
1226
+ s: I.value.suffix,
1227
+ r: F.value.value.roundingValue
1228
+ }), { datapoint: e })), 1)], 8, nt)), [[O(Ge), {
1229
+ cellWidth: K.value.cellSize.width - G.value,
1230
+ cellHeight: K.value.cellSize.height - G.value,
1231
+ maxFontSize: F.value.value.fontSize,
1232
+ minFontSize: 10,
1233
+ index: t * H.value + n,
1234
+ reportHide: zn,
1235
+ reportRotation: In,
1236
+ hideAll: Rn.value,
1237
+ rotateAll: Fn.value
1238
+ }]]) : _("", !0)
1239
+ ]))), 256))], 64))), 256))], 512),
1240
+ F.value.rowTotal.color.show ? (C(), v("g", {
1241
+ key: 2,
1242
+ ref_key: "yAxisSumRects",
1243
+ ref: Yt
1244
+ }, [(C(!0), v(h, null, T(X.value, (e, t) => (C(), v(h, null, [y("rect", {
1245
+ x: K.value.left,
1246
+ y: K.value.top + K.value.cellSize.height * t,
1247
+ width: K.value.sumCellXHeight,
1248
+ height: K.value.cellSize.height - G.value,
1249
+ fill: F.value.colors.underlayer,
1250
+ stroke: P.value.style.backgroundColor,
1251
+ "stroke-width": G.value
1252
+ }, null, 8, rt), y("rect", {
1253
+ x: K.value.left,
1254
+ y: K.value.top + K.value.cellSize.height * t + G.value / 2,
1255
+ width: K.value.sumCellXHeight,
1256
+ height: K.value.cellSize.height - G.value,
1257
+ fill: Y.value.yTotals[t].color,
1258
+ stroke: P.value.style.backgroundColor,
1259
+ "stroke-width": G.value
1260
+ }, null, 8, it)], 64))), 256))], 512)) : _("", !0),
1261
+ I.value.yAxis.show ? (C(), v("g", {
1262
+ key: 3,
1263
+ ref_key: "yAxisLabels",
1264
+ ref: Jt
1265
+ }, [(C(!0), v(h, null, T(X.value, (e, t) => (C(), v(h, null, [y("text", {
1266
+ class: "vue-ui-heatmap-row-name",
1267
+ "font-size": I.value.yAxis.fontSize,
1268
+ fill: I.value.yAxis.color,
1269
+ x: W.value,
1270
+ y: K.value.top + K.value.cellSize.height * t + K.value.cellSize.height / 2 + I.value.yAxis.fontSize / 3 + I.value.yAxis.offsetY - (F.value.rowTotal.value.show ? I.value.yAxis.fontSize / 1.5 : 0),
1271
+ "text-anchor": "end",
1272
+ "font-weight": I.value.yAxis.bold ? "bold" : "normal"
1273
+ }, D(Y.value.yLabels[t]), 9, at), F.value.rowTotal.value.show ? (C(), v("text", {
1274
+ key: 0,
1275
+ class: "vue-ui-heatmap-row-total",
1276
+ "font-size": I.value.yAxis.fontSize,
1277
+ fill: I.value.yAxis.color,
1278
+ x: W.value,
1279
+ y: K.value.top + K.value.cellSize.height * t + K.value.cellSize.height / 2 + I.value.yAxis.fontSize + I.value.yAxis.offsetY,
1280
+ "text-anchor": "end",
1281
+ "font-weight": I.value.yAxis.bold ? "bold" : "normal"
1282
+ }, D(Gn(t)), 9, ot)) : _("", !0)], 64))), 256))], 512)) : _("", !0),
1283
+ I.value.xAxis.show ? (C(), v("g", {
1284
+ key: 4,
1285
+ ref_key: "xAxisLabels",
1286
+ ref: Xt
1287
+ }, [(C(!0), v(h, null, T(Y.value.xLabels, (e, t) => (C(), v(h, null, [!I.value.xAxis.showOnlyAtModulo || I.value.xAxis.showOnlyAtModulo && t % I.value.xAxis.showOnlyAtModulo === 0 ? (C(), v("text", {
1288
+ key: 0,
1289
+ class: "vue-ui-heatmap-col-name",
1290
+ "text-anchor": I.value.xAxis.rotation === 0 ? "middle" : I.value.xAxis.rotation < 0 ? "start" : "end",
1291
+ "font-size": I.value.xAxis.fontSize,
1292
+ fill: I.value.xAxis.color,
1293
+ "font-weight": I.value.xAxis.bold ? "bold" : "normal",
1294
+ transform: `translate(${K.value.left + K.value.cellSize.width / 2 + K.value.width / Y.value.xLabels.length * t + I.value.xAxis.offsetX + K.value.sumCellXHeight}, ${K.value.topLabelsHeight}), rotate(${I.value.xAxis.rotation})`
1295
+ }, D(e), 9, st)) : _("", !0)], 64))), 256))], 512)) : _("", !0),
1296
+ F.value.columnTotal.value.show ? (C(), v("g", {
1297
+ key: 5,
1298
+ ref_key: "xAxisSums",
1299
+ ref: Zt
1300
+ }, [(C(!0), v(h, null, T(Y.value.xLabels, (e, t) => (C(), v("text", {
1301
+ class: "vue-ui-heatmap-col-total",
1302
+ "text-anchor": F.value.columnTotal.value.rotation === 0 ? "middle" : F.value.columnTotal.value.rotation < 0 ? "end" : "start",
1303
+ "font-size": I.value.xAxis.fontSize,
1304
+ fill: I.value.xAxis.color,
1305
+ "font-weight": I.value.xAxis.bold ? "bold" : "normal",
1306
+ transform: `translate(${K.value.left + K.value.cellSize.width / 2 + K.value.width / Y.value.xLabels.length * t + I.value.xAxis.offsetX + F.value.columnTotal.value.offsetX + K.value.sumCellXHeight}, ${K.value.bottom + I.value.xAxis.fontSize / 2}), rotate(${F.value.columnTotal.value.rotation})`
1307
+ }, D(Kn(t)), 9, ct))), 256))], 512)) : _("", !0),
1308
+ M.value ? (C(), v("g", lt, [y("rect", {
1309
+ style: { "pointer-events": "none" },
1310
+ x: M.value.x - F.value.selected.border / 2 + G.value + K.value.sumCellXHeight,
1311
+ y: M.value.y - F.value.selected.border / 2 + G.value,
1312
+ width: K.value.cellSize.width - G.value + F.value.selected.border - G.value,
1313
+ height: K.value.cellSize.height - G.value + F.value.selected.border - G.value,
1314
+ fill: "transparent",
1315
+ stroke: F.value.selected.color,
1316
+ "stroke-width": F.value.selected.border,
1317
+ rx: 1
1318
+ }, null, 8, ut)])) : _("", !0),
1319
+ L.value.crosshairs.show && M.value ? (C(), v("g", dt, [y("line", {
1320
+ x1: K.value.left + K.value.sumCellXHeight,
1321
+ x2: M.value.x + K.value.sumCellXHeight,
1322
+ y1: M.value.y + (K.value.cellSize.height - G.value) / 2,
1323
+ y2: M.value.y + (K.value.cellSize.height - G.value) / 2,
1324
+ stroke: L.value.crosshairs.stroke,
1325
+ "stroke-width": L.value.crosshairs.strokeWidth,
1326
+ "stroke-dasharray": L.value.crosshairs.strokeDasharray,
1327
+ "stroke-linecap": "round"
1328
+ }, null, 8, ft), y("line", {
1329
+ x1: M.value.x + K.value.sumCellXHeight + (K.value.cellSize.width - G.value) / 2,
1330
+ x2: M.value.x + K.value.sumCellXHeight + (K.value.cellSize.width - G.value) / 2,
1331
+ y1: M.value.y,
1332
+ y2: K.value.top,
1333
+ stroke: L.value.crosshairs.stroke,
1334
+ "stroke-width": L.value.crosshairs.strokeWidth,
1335
+ "stroke-dasharray": L.value.crosshairs.strokeDasharray,
1336
+ "stroke-linecap": "round"
1337
+ }, null, 8, pt)])) : _("", !0),
1338
+ E(t.$slots, "svg", { svg: {
1339
+ ...U.value,
1340
+ drawingArea: K.value,
1341
+ isPrintingImg: O(gn) || O(_n) || O(lr),
1342
+ isPrintingSvg: O(ur)
1343
+ } }, void 0, !0)
1344
+ ], 46, Xe)),
1345
+ P.value.style.legend.show ? (C(), v("div", {
1346
+ key: 0,
1347
+ ref_key: "legendRight",
1348
+ ref: qt,
1349
+ class: "vue-ui-heatmap-legend-right",
1350
+ style: S({ "--legend-width": P.value.style.legend.width + "px" })
1351
+ }, [
1352
+ O(ln) ? _("", !0) : (C(), v("div", {
1353
+ key: 0,
1354
+ class: "vue-ui-heatmap-legend-label-max",
1355
+ style: S({
1356
+ fontSize: P.value.style.legend.fontSize + "px",
1357
+ color: P.value.style.legend.color
1358
+ })
1359
+ }, D(O(u)(F.value.value.formatter, O(c)(q.value), O(o)({
1360
+ p: I.value.prefix,
1361
+ v: O(c)(q.value),
1362
+ s: I.value.suffix,
1363
+ r: P.value.style.legend.roundingValue
1364
+ }))), 5)),
1365
+ y("div", mt, [y("div", {
1366
+ class: "vue-ui-heatmap-gauge",
1367
+ style: S({ background: `linear-gradient(to bottom, ${F.value.colors.hot}, ${F.value.colors.cold})` })
1368
+ }, [He(y("div", {
1369
+ class: "vue-ui-heatmap-gauge-indicator",
1370
+ "data-value": O(u)(F.value.value.formatter, O(c)(Z.value), O(o)({
1371
+ p: I.value.prefix,
1372
+ v: O(c)(Z.value),
1373
+ s: I.value.suffix,
1374
+ r: P.value.style.legend.roundingValue
1375
+ })),
1376
+ style: S({
1377
+ position: "absolute",
1378
+ width: "100%",
1379
+ height: "2px",
1380
+ background: [void 0, null].includes(Z.value) ? "transparent" : O(m)(Bn.value.datapoint.color),
1381
+ top: `${[void 0, null].includes(Z.value) ? 0 : (1 - Z.value / q.value) * 100}%`,
1382
+ transition: "all 0.2s ease-in-out",
1383
+ "--background-color": P.value.style.backgroundColor,
1384
+ "--gauge-arrow-color": O(m)(P.value.style.backgroundColor),
1385
+ "--gauge-arrow-text-color": O(m)(P.value.style.backgroundColor),
1386
+ "--gauge-arrow-value": Z.value,
1387
+ "--gauge-arrow-font-size": P.value.style.legend.fontSize + "px"
1388
+ })
1389
+ }, [y("div", gt, D(O(u)(F.value.value.formatter, O(c)(Z.value), O(o)({
1390
+ p: I.value.prefix,
1391
+ v: O(c)(Z.value),
1392
+ s: I.value.suffix,
1393
+ r: P.value.style.legend.roundingValue
1394
+ }))), 1)], 12, ht), [[ze, ![void 0, null].includes(Z.value)]])], 4)]),
1395
+ O(ln) ? _("", !0) : (C(), v("div", {
1396
+ key: 1,
1397
+ class: "vue-ui-heatmap-legend-label-min",
1398
+ style: S({
1399
+ fontSize: P.value.style.legend.fontSize + "px",
1400
+ color: P.value.style.legend.color
1401
+ })
1402
+ }, D(O(u)(F.value.value.formatter, O(c)(On.value), O(o)({
1403
+ p: I.value.prefix,
1404
+ v: O(c)(On.value),
1405
+ s: I.value.suffix,
1406
+ r: P.value.style.legend.roundingValue
1407
+ }))), 5))
1408
+ ], 4)) : _("", !0),
1409
+ t.$slots.hint ? (C(), v("div", _t, [E(t.$slots, "hint", x(b({
1410
+ hint: P.value.a11y.translations.keyboardNavigation,
1411
+ isVisible: an.value
1412
+ })), void 0, !0)])) : _("", !0)
1413
+ ], 2),
1414
+ t.$slots.watermark ? (C(), v("div", vt, [E(t.$slots, "watermark", x(b({ isPrinting: O(gn) || O(_n) || O(lr) || O(ur) })), void 0, !0)])) : _("", !0),
1415
+ t.$slots.source ? (C(), v("div", {
1416
+ key: 6,
1417
+ ref_key: "source",
1418
+ ref: $t,
1419
+ dir: "auto"
1420
+ }, [E(t.$slots, "source", {}, void 0, !0)], 512)) : _("", !0),
1421
+ De(O(qe), {
1422
+ teleportTo: P.value.style.tooltip.teleportTo,
1423
+ show: B.value.showTooltip && It.value,
1424
+ backgroundColor: P.value.style.tooltip.backgroundColor,
1425
+ color: P.value.style.tooltip.color,
1426
+ borderRadius: P.value.style.tooltip.borderRadius,
1427
+ borderColor: P.value.style.tooltip.borderColor,
1428
+ borderWidth: P.value.style.tooltip.borderWidth,
1429
+ fontSize: P.value.style.tooltip.fontSize,
1430
+ backgroundOpacity: P.value.style.tooltip.backgroundOpacity,
1431
+ position: P.value.style.tooltip.position,
1432
+ offsetX: P.value.style.tooltip.offsetX,
1433
+ offsetY: P.value.style.tooltip.offsetY,
1434
+ parent: j.value,
1435
+ content: Lt.value,
1436
+ isFullscreen: Q.value,
1437
+ isCustom: P.value.style.tooltip.customFormat && typeof P.value.style.tooltip.customFormat == "function",
1438
+ smooth: P.value.style.tooltip.smooth,
1439
+ backdropFilter: P.value.style.tooltip.backdropFilter,
1440
+ smoothForce: P.value.style.tooltip.smoothForce,
1441
+ smoothSnapThreshold: P.value.style.tooltip.smoothSnapThreshold,
1442
+ isA11yMode: rn.value === "keyboard",
1443
+ a11yPosition: nn.value
1444
+ }, {
1445
+ "tooltip-before": k(() => [E(t.$slots, "tooltip-before", x(b({ ...Bn.value })), void 0, !0)]),
1446
+ tooltip: k(() => [E(t.$slots, "tooltip", x(b({ ...Bn.value })), void 0, !0)]),
1447
+ "tooltip-after": k(() => [E(t.$slots, "tooltip-after", x(b({ ...Bn.value })), void 0, !0)]),
1448
+ _: 3
1449
+ }, 8, [
1450
+ "teleportTo",
1451
+ "show",
1452
+ "backgroundColor",
1453
+ "color",
1454
+ "borderRadius",
1455
+ "borderColor",
1456
+ "borderWidth",
1457
+ "fontSize",
1458
+ "backgroundOpacity",
1459
+ "position",
1460
+ "offsetX",
1461
+ "offsetY",
1462
+ "parent",
1463
+ "content",
1464
+ "isFullscreen",
1465
+ "isCustom",
1466
+ "smooth",
1467
+ "backdropFilter",
1468
+ "smoothForce",
1469
+ "smoothSnapThreshold",
1470
+ "isA11yMode",
1471
+ "a11yPosition"
1472
+ ]),
1473
+ Pt.value && P.value.userOptions.buttons.table ? (C(), we(Fe(ir.value.component), ke({ key: 7 }, ir.value.props, {
1474
+ ref_key: "tableUnit",
1475
+ ref: Ut,
1476
+ onClose: or
1477
+ }), Te({
1478
+ content: k(() => [y("div", {
1479
+ ref_key: "tableContainer",
1480
+ ref: Bt,
1481
+ class: "vue-ui-heatmap-table atom-data-table",
1482
+ style: S(`${P.value.table.useDialog ? "" : "max-height: 300px; margin-top: 24px;"}`)
1483
+ }, [y("div", {
1484
+ style: S(`width:100%;overflow-x:auto;position:relative;${P.value.table.useDialog ? "" : "padding-top:36px"};`),
1485
+ class: je({ "vue-ui-responsive": O(ar) })
1486
+ }, [P.value.table.useDialog ? _("", !0) : (C(), v("div", {
1487
+ key: 0,
1488
+ role: "button",
1489
+ tabindex: "0",
1490
+ style: S(`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:${P.value.table.th.backgroundColor};`),
1491
+ onClick: or,
1492
+ onKeypress: Ue(or, ["enter"])
1493
+ }, [De(O(Tt), {
1494
+ name: "close",
1495
+ stroke: P.value.table.th.color,
1496
+ "stroke-width": 2
1497
+ }, null, 8, ["stroke"])], 36)), y("table", yt, [
1498
+ P.value.table.useDialog ? _("", !0) : (C(), v("caption", {
1499
+ key: 0,
1500
+ style: S(`backgroundColor:${P.value.table.th.backgroundColor};color:${P.value.table.th.color};outline:${P.value.table.th.outline}`)
1501
+ }, [Ee(D(P.value.style.title.text) + " ", 1), P.value.style.title.subtitle.text ? (C(), v("span", bt, D(P.value.style.title.subtitle.text), 1)) : _("", !0)], 4)),
1502
+ y("thead", null, [y("tr", {
1503
+ role: "row",
1504
+ style: S(`background:${P.value.table.th.backgroundColor};color:${P.value.table.th.color}`)
1505
+ }, [y("th", { style: S(`outline:${P.value.table.th.outline};padding-right:6px`) }, null, 4), (C(!0), v(h, null, T(e.dataset, (e, t) => (C(), v("th", {
1506
+ align: "right",
1507
+ style: S(`outline:${P.value.table.th.outline};padding-right:6px`)
1508
+ }, D(e.name), 5))), 256))], 4)]),
1509
+ y("tbody", null, [(C(!0), v(h, null, T(Y.value.xLabels, (t, n) => (C(), v("tr", {
1510
+ role: "row",
1511
+ class: je({
1512
+ "vue-ui-data-table__tbody__row": !0,
1513
+ "vue-ui-data-table__tbody__row-even": n % 2 == 0,
1514
+ "vue-ui-data-table__tbody__row-odd": n % 2 != 0
1515
+ }),
1516
+ style: S(`background:${P.value.table.td.backgroundColor};color:${P.value.table.td.color}`)
1517
+ }, [y("td", {
1518
+ "data-cell": P.value.table.colNames.xAxis,
1519
+ class: "vue-ui-data-table__tbody__td",
1520
+ style: S(`outline:${P.value.table.td.outline}`)
1521
+ }, [y("div", St, D(t), 1)], 12, xt), (C(!0), v(h, null, T(e.dataset, (t, r) => (C(), v("td", {
1522
+ class: "vue-ui-data-table__tbody__td",
1523
+ "data-cell": e.dataset[r].name,
1524
+ style: S(`outline:${P.value.table.td.outline}`)
1525
+ }, [y("div", wt, D(isNaN(t.values[n]) ? "-" : O(o)({
1526
+ p: I.value.prefix,
1527
+ v: t.values[n],
1528
+ s: I.value.suffix,
1529
+ r: P.value.table.td.roundingValue
1530
+ })), 1)], 12, Ct))), 256))], 6))), 256))])
1531
+ ])], 6)], 4)]),
1532
+ _: 2
1533
+ }, [P.value.table.useDialog ? {
1534
+ name: "title",
1535
+ fn: k(() => [Ee(D(ir.value.title), 1)]),
1536
+ key: "0"
1537
+ } : void 0, P.value.table.useDialog ? {
1538
+ name: "actions",
1539
+ fn: k(() => [y("button", {
1540
+ tabindex: "0",
1541
+ class: "vue-ui-user-options-button",
1542
+ onClick: n[0] ||= (e) => qn(P.value.userOptions.callbacks.csv),
1543
+ style: S({ cursor: on.value ? "pointer" : "default" })
1544
+ }, [De(O(Tt), {
1545
+ name: "fileCsv",
1546
+ stroke: ir.value.props.color
1547
+ }, null, 8, ["stroke"])], 4)]),
1548
+ key: "1"
1549
+ } : void 0]), 1040)) : _("", !0),
1550
+ E(t.$slots, "skeleton", {}, () => [O(ln) ? (C(), we(ce, { key: 0 })) : _("", !0)], !0)
1551
+ ], 46, Je));
1552
+ }
1553
+ }, [["__scopeId", "data-v-dd079b93"]]);
1554
+ //#endregion
1555
+ export { qe as n, Tt as t };