vue-data-ui 3.15.12 → 3.16.1

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 (218) hide show
  1. package/README.md +132 -59
  2. package/dist/A11yDataTable-KcVAX2cP.js +54 -0
  3. package/dist/{Arrow-DlPyR6HQ.js → Arrow-Bn-9n3bm.js} +1 -1
  4. package/dist/{BaseDraggableDialog-DSpKTn3R.js → BaseDraggableDialog-CIb-iD9g.js} +2 -2
  5. package/dist/{BaseIcon-CNx8Tzl5.js → BaseIcon-Cb3zzG6s.js} +1 -1
  6. package/dist/{BaseLegendToggle-Y61xahI4.js → BaseLegendToggle-BQVIawmA.js} +1 -1
  7. package/dist/{BaseZoomControls-CoFievy9.js → BaseZoomControls-DievbOeJ.js} +2 -2
  8. package/dist/ColorPicker-B0mV4xzu.js +255 -0
  9. package/dist/{DataTable-Bo1pmAqG.js → DataTable-DT2kIdQ6.js} +2 -2
  10. package/dist/Legend-CS7Xo5LK.js +101 -0
  11. package/dist/{NonSvgPenAndPaper-CGk_xThe.js → NonSvgPenAndPaper-VyJFyJ6X.js} +3 -3
  12. package/dist/{PackageVersion-DN9d0ME5.js → PackageVersion-DPO-OOVI.js} +1 -1
  13. package/dist/{PenAndPaper-DWV1FMIi.js → PenAndPaper-Ct3qJ4lA.js} +109 -101
  14. package/dist/{Shape-CSyWYgXc.js → Shape-BKRUOeKk.js} +1 -1
  15. package/dist/{Slicer-DZJA9IG-.js → Slicer-DUycDH_N.js} +2 -2
  16. package/dist/{SlicerPreview-I2J0UUF_.js → SlicerPreview-DTjwV0iY.js} +2 -2
  17. package/dist/{SparkTooltip-BiseJed3.js → SparkTooltip-BorBpltj.js} +1 -1
  18. package/dist/{Title-BfyrP-jp.js → Title-BeMKE1cj.js} +1 -1
  19. package/dist/{Tooltip-DL3QgjZf.js → Tooltip-Bf-kM3_A.js} +86 -68
  20. package/dist/{UserOptions-CrLqEimB.js → UserOptions-rW2fRf3V.js} +228 -222
  21. package/dist/components/arrow.js +1 -1
  22. package/dist/components/vue-ui-3d-bar.js +1 -1
  23. package/dist/components/vue-ui-accordion.js +1 -1
  24. package/dist/components/vue-ui-age-pyramid.js +1 -1
  25. package/dist/components/vue-ui-annotator.js +1 -1
  26. package/dist/components/vue-ui-bullet.js +1 -1
  27. package/dist/components/vue-ui-bump.js +1 -1
  28. package/dist/components/vue-ui-candlestick.js +1 -1
  29. package/dist/components/vue-ui-carousel-table.js +1 -1
  30. package/dist/components/vue-ui-chestnut.js +1 -1
  31. package/dist/components/vue-ui-chord.js +1 -1
  32. package/dist/components/vue-ui-circle-pack.js +1 -1
  33. package/dist/components/vue-ui-cursor.js +1 -1
  34. package/dist/components/vue-ui-dag.js +1 -1
  35. package/dist/components/vue-ui-dashboard.js +1 -1
  36. package/dist/components/vue-ui-digits.js +1 -1
  37. package/dist/components/vue-ui-donut-evolution.js +1 -1
  38. package/dist/components/vue-ui-donut.js +1 -1
  39. package/dist/components/vue-ui-dumbbell.js +1 -1
  40. package/dist/components/vue-ui-flow.js +1 -1
  41. package/dist/components/vue-ui-funnel.js +1 -1
  42. package/dist/components/vue-ui-galaxy.js +1 -1
  43. package/dist/components/vue-ui-gauge.js +1 -1
  44. package/dist/components/vue-ui-geo.js +1 -1
  45. package/dist/components/vue-ui-gizmo.js +1 -1
  46. package/dist/components/vue-ui-heatmap.js +1 -1
  47. package/dist/components/vue-ui-history-plot.js +1 -1
  48. package/dist/components/vue-ui-horizontal-bar.js +1 -1
  49. package/dist/components/vue-ui-icon.js +1 -1
  50. package/dist/components/vue-ui-kpi.js +1 -1
  51. package/dist/components/vue-ui-mini-loader.js +1 -1
  52. package/dist/components/vue-ui-molecule.js +1 -1
  53. package/dist/components/vue-ui-mood-radar.js +1 -1
  54. package/dist/components/vue-ui-nested-donuts.js +1 -1
  55. package/dist/components/vue-ui-onion.js +1 -1
  56. package/dist/components/vue-ui-parallel-coordinate-plot.js +1 -1
  57. package/dist/components/vue-ui-quadrant.js +1 -1
  58. package/dist/components/vue-ui-quick-chart.js +1 -1
  59. package/dist/components/vue-ui-radar.js +1 -1
  60. package/dist/components/vue-ui-rating.js +1 -1
  61. package/dist/components/vue-ui-relation-circle.js +1 -1
  62. package/dist/components/vue-ui-ridgeline.js +1 -1
  63. package/dist/components/vue-ui-rings.js +1 -1
  64. package/dist/components/vue-ui-scatter.js +1 -1
  65. package/dist/components/vue-ui-skeleton.js +1 -1
  66. package/dist/components/vue-ui-smiley.js +1 -1
  67. package/dist/components/vue-ui-spark-trend.js +1 -1
  68. package/dist/components/vue-ui-sparkbar.js +1 -1
  69. package/dist/components/vue-ui-sparkgauge.js +1 -1
  70. package/dist/components/vue-ui-sparkhistogram.js +1 -1
  71. package/dist/components/vue-ui-sparkline.js +1 -1
  72. package/dist/components/vue-ui-sparkstackbar.js +1 -1
  73. package/dist/components/vue-ui-stackbar.js +1 -1
  74. package/dist/components/vue-ui-stackline.js +1 -1
  75. package/dist/components/vue-ui-strip-plot.js +1 -1
  76. package/dist/components/vue-ui-table-heatmap.js +1 -1
  77. package/dist/components/vue-ui-table-sparkline.js +1 -1
  78. package/dist/components/vue-ui-table.js +1 -1
  79. package/dist/components/vue-ui-thermometer.js +1 -1
  80. package/dist/components/vue-ui-timer.js +1 -1
  81. package/dist/components/vue-ui-tiremarks.js +1 -1
  82. package/dist/components/vue-ui-treemap.js +1 -1
  83. package/dist/components/vue-ui-vertical-bar.js +1 -1
  84. package/dist/components/vue-ui-waffle.js +1 -1
  85. package/dist/components/vue-ui-wheel.js +1 -1
  86. package/dist/components/vue-ui-word-cloud.js +1 -1
  87. package/dist/components/vue-ui-world.js +1 -1
  88. package/dist/components/vue-ui-xy-canvas.js +1 -1
  89. package/dist/components/vue-ui-xy.js +1 -1
  90. package/dist/{dom-to-png-BAqzNjb1.js → dom-to-png-CtxhhdWb.js} +1 -1
  91. package/dist/{exposedLib-H4lmBl1t.js → exposedLib-DlqmhBx3.js} +1 -1
  92. package/dist/{img-BYYzY_QU.js → img-LXxMLmCg.js} +1 -1
  93. package/dist/{labelUtils-CTXUc3V9.js → labelUtils-CqTHa20R.js} +1 -1
  94. package/dist/{lib-GwPnJSrY.js → lib-DBptbyyI.js} +106 -84
  95. package/dist/{pdf-z-YiJeJQ.js → pdf-B4tTdfvl.js} +1 -1
  96. package/dist/style.css +1 -1
  97. package/dist/types/vue-data-ui.d.ts +59 -0
  98. package/dist/{useAutoSizeLabelsInsideViewbox-80fzdfxt.js → useAutoSizeLabelsInsideViewbox-DX7LdvFX.js} +1 -1
  99. package/dist/{useConfig-CIgyKZ6R.js → useConfig-DO94Aj5s.js} +953 -700
  100. package/dist/{useNestedProp-BBT0mbHh.js → useNestedProp-Bf5XFbs8.js} +1 -1
  101. package/dist/{useObjectBindings-BlXBVtRa.js → useObjectBindings-DQ8g8Jwi.js} +1 -1
  102. package/dist/usePrefersMotion-CUKm8_t8.js +15 -0
  103. package/dist/{usePrinter-DiK5R6k-.js → usePrinter-CEpYU3r5.js} +2 -2
  104. package/dist/utils.js +3 -3
  105. package/dist/{vue-data-ui-C2kPofmi.js → vue-data-ui-DXGkXRnC.js} +68 -68
  106. package/dist/vue-data-ui.js +72 -72
  107. package/dist/vue-ui-3d-bar-BaFpQnd5.js +1597 -0
  108. package/dist/{vue-ui-accordion-BGHTqIBt.js → vue-ui-accordion-nvggWcGN.js} +4 -4
  109. package/dist/vue-ui-age-pyramid-CRM498Pc.js +1069 -0
  110. package/dist/{vue-ui-annotator-B1GWVtPp.js → vue-ui-annotator-CkPi9moo.js} +7 -7
  111. package/dist/{vue-ui-bullet-DPoGGtaG.js → vue-ui-bullet-BBiwof3c.js} +158 -150
  112. package/dist/vue-ui-bump-Brxpu4xV.js +1147 -0
  113. package/dist/vue-ui-candlestick-DAnZv77-.js +1587 -0
  114. package/dist/{vue-ui-carousel-table-CmiHTJ8E.js → vue-ui-carousel-table-BHRZBYY0.js} +168 -160
  115. package/dist/vue-ui-chestnut-CbrYnRgm.js +1812 -0
  116. package/dist/vue-ui-chord-CaX_IUVs.js +1326 -0
  117. package/dist/vue-ui-circle-pack-CR3h53sc.js +988 -0
  118. package/dist/{vue-ui-cursor-B4mHR7QC.js → vue-ui-cursor-Cjfazw7Z.js} +4 -4
  119. package/dist/vue-ui-dag-B9vH3c66.js +3047 -0
  120. package/dist/{vue-ui-dashboard-Bo5FX73U.js → vue-ui-dashboard-DWll05qs.js} +70 -70
  121. package/dist/{vue-ui-digits-mpo2IcM5.js → vue-ui-digits-DcM67rMx.js} +76 -66
  122. package/dist/vue-ui-donut-Be5G38P5.js +2229 -0
  123. package/dist/vue-ui-donut-evolution-BLSesj3c.js +1358 -0
  124. package/dist/vue-ui-dumbbell-DIMiCY4r.js +1380 -0
  125. package/dist/vue-ui-flow-zvZylhgr.js +1202 -0
  126. package/dist/{vue-ui-funnel-BRkaEkBb.js → vue-ui-funnel-CSri-oWm.js} +7 -7
  127. package/dist/vue-ui-galaxy-CGykxsAI.js +1012 -0
  128. package/dist/{vue-ui-gauge-J2VYHsQe.js → vue-ui-gauge-D1MNB9Jq.js} +8 -8
  129. package/dist/vue-ui-geo-DdJDGhG2.js +1437 -0
  130. package/dist/{vue-ui-gizmo-DEec3-v9.js → vue-ui-gizmo-BZYRHGFm.js} +77 -68
  131. package/dist/vue-ui-heatmap-CryOx6XK.js +1500 -0
  132. package/dist/vue-ui-history-plot-C85iw9Kl.js +1449 -0
  133. package/dist/vue-ui-horizontal-bar-BoBZOybC.js +1637 -0
  134. package/dist/vue-ui-kpi-DHrolXw6.js +109 -0
  135. package/dist/{vue-ui-mini-loader-CoOHvZUk.js → vue-ui-mini-loader-Bc3fEQ9j.js} +3 -3
  136. package/dist/{vue-ui-molecule-Chq1qWDK.js → vue-ui-molecule-DJ_BQ4DK.js} +6 -6
  137. package/dist/vue-ui-mood-radar-CBE02TpQ.js +1086 -0
  138. package/dist/vue-ui-nested-donuts-YTFtb4CL.js +1595 -0
  139. package/dist/vue-ui-onion-B9l81-PS.js +1124 -0
  140. package/dist/vue-ui-parallel-coordinate-plot-C1e_rs8J.js +1252 -0
  141. package/dist/vue-ui-quadrant-C1qsLCRn.js +1759 -0
  142. package/dist/vue-ui-quick-chart-DFoz3WiA.js +2216 -0
  143. package/dist/vue-ui-radar-Cmo3p-UA.js +1139 -0
  144. package/dist/{vue-ui-rating-zV58MDQh.js → vue-ui-rating-BAHhYt_A.js} +3 -3
  145. package/dist/vue-ui-relation-circle-BqwznVwf.js +782 -0
  146. package/dist/vue-ui-ridgeline-CDk9eXJq.js +1473 -0
  147. package/dist/vue-ui-rings-BRkGoQdL.js +1156 -0
  148. package/dist/vue-ui-scatter-BxDtWASQ.js +1831 -0
  149. package/dist/{vue-ui-skeleton-CbqNz9IE.js → vue-ui-skeleton-D6kTb9aO.js} +4 -4
  150. package/dist/{vue-ui-smiley-BK5EKp9u.js → vue-ui-smiley-CzVaLlpB.js} +3 -3
  151. package/dist/vue-ui-spark-trend-D8Mf2A1w.js +378 -0
  152. package/dist/{vue-ui-sparkbar-DUDWvTo-.js → vue-ui-sparkbar-BbYj56c3.js} +86 -84
  153. package/dist/vue-ui-sparkgauge-DXzOSLRb.js +256 -0
  154. package/dist/vue-ui-sparkhistogram-DMfSx1iH.js +474 -0
  155. package/dist/vue-ui-sparkline-D-rQ9PsC.js +1327 -0
  156. package/dist/vue-ui-sparkstackbar-DK5n8IKP.js +621 -0
  157. package/dist/vue-ui-stackbar-BHthy6jf.js +2070 -0
  158. package/dist/vue-ui-stackline-C6-WNpKD.js +2164 -0
  159. package/dist/vue-ui-strip-plot-CHu-1ilI.js +1183 -0
  160. package/dist/{vue-ui-table-BHuXI4Eq.js → vue-ui-table-DW9JGsLq.js} +6 -6
  161. package/dist/{vue-ui-table-heatmap-y88sBfu3.js → vue-ui-table-heatmap-LYqoBit9.js} +6 -6
  162. package/dist/{vue-ui-table-sparkline-ClpLLKi2.js → vue-ui-table-sparkline-CXK1dFr-.js} +5 -5
  163. package/dist/{vue-ui-thermometer-sjruUGQx.js → vue-ui-thermometer-BN8tflOz.js} +272 -256
  164. package/dist/{vue-ui-timer-CgdgMKIc.js → vue-ui-timer-DGT0UBOF.js} +6 -6
  165. package/dist/{vue-ui-tiremarks-UBDpAIVr.js → vue-ui-tiremarks-BZ-osQqY.js} +204 -191
  166. package/dist/vue-ui-treemap-98KaVRyd.js +1723 -0
  167. package/dist/vue-ui-waffle-Cb7oJnIc.js +1321 -0
  168. package/dist/vue-ui-wheel-sfew1fjw.js +738 -0
  169. package/dist/vue-ui-word-cloud-vq1t9JHr.js +1548 -0
  170. package/dist/{vue-ui-world-D-3wgoTn.js → vue-ui-world-CN0f6elD.js} +8 -8
  171. package/dist/vue-ui-xy-BdzEiImZ.js +3877 -0
  172. package/dist/vue-ui-xy-canvas-CWQzUQzY.js +1810 -0
  173. package/package.json +2 -2
  174. package/dist/ColorPicker-j0ySewhI.js +0 -244
  175. package/dist/Legend-1LMMsPxL.js +0 -90
  176. package/dist/vue-ui-3d-bar-BhNgFaJA.js +0 -1484
  177. package/dist/vue-ui-age-pyramid-CuYRf5v-.js +0 -997
  178. package/dist/vue-ui-bump-C_fKharc.js +0 -1059
  179. package/dist/vue-ui-candlestick-BY-_E7eZ.js +0 -1487
  180. package/dist/vue-ui-chestnut-C-bQYaNI.js +0 -1557
  181. package/dist/vue-ui-chord-uQYQgyGM.js +0 -1220
  182. package/dist/vue-ui-circle-pack-CdbDcuDw.js +0 -907
  183. package/dist/vue-ui-dag-DsHUvjvm.js +0 -2885
  184. package/dist/vue-ui-donut-CzCgCVsx.js +0 -2139
  185. package/dist/vue-ui-donut-evolution-C_ck_TOR.js +0 -1297
  186. package/dist/vue-ui-dumbbell-CVSA90b2.js +0 -1293
  187. package/dist/vue-ui-flow-CsbSaFnu.js +0 -1075
  188. package/dist/vue-ui-galaxy-DWKHDciu.js +0 -914
  189. package/dist/vue-ui-geo-DykhEWVq.js +0 -1331
  190. package/dist/vue-ui-heatmap-BEDirv8T.js +0 -1334
  191. package/dist/vue-ui-history-plot-Bs96PebH.js +0 -1292
  192. package/dist/vue-ui-horizontal-bar-ClQcB9nL.js +0 -1522
  193. package/dist/vue-ui-kpi-DlUEHKuw.js +0 -101
  194. package/dist/vue-ui-mood-radar-A2LBLgUi.js +0 -967
  195. package/dist/vue-ui-nested-donuts-DFX251aT.js +0 -1513
  196. package/dist/vue-ui-onion-CW0YO9Ro.js +0 -1045
  197. package/dist/vue-ui-parallel-coordinate-plot-UFg10bHP.js +0 -1134
  198. package/dist/vue-ui-quadrant-C1pLW2zA.js +0 -1647
  199. package/dist/vue-ui-quick-chart-FaxttnJY.js +0 -2030
  200. package/dist/vue-ui-radar-DE70LPBZ.js +0 -1067
  201. package/dist/vue-ui-relation-circle-iuRXIyRU.js +0 -704
  202. package/dist/vue-ui-ridgeline-CwvDh5pG.js +0 -1385
  203. package/dist/vue-ui-rings-80ZUki42.js +0 -1083
  204. package/dist/vue-ui-scatter-FdAAYJOK.js +0 -1670
  205. package/dist/vue-ui-spark-trend-C68p8-Xp.js +0 -349
  206. package/dist/vue-ui-sparkgauge-DdRtHQDe.js +0 -245
  207. package/dist/vue-ui-sparkhistogram-C9DvzQae.js +0 -396
  208. package/dist/vue-ui-sparkline-B2RDrdiR.js +0 -1273
  209. package/dist/vue-ui-sparkstackbar-BsIOHUE5.js +0 -475
  210. package/dist/vue-ui-stackbar-BZl0kEkb.js +0 -2001
  211. package/dist/vue-ui-stackline-2VKxwFei.js +0 -2099
  212. package/dist/vue-ui-strip-plot-B9nBSRyY.js +0 -1080
  213. package/dist/vue-ui-treemap-BS5EilZf.js +0 -1645
  214. package/dist/vue-ui-waffle-CbX5K9Q2.js +0 -1211
  215. package/dist/vue-ui-wheel-BIJ09H5D.js +0 -723
  216. package/dist/vue-ui-word-cloud-DJmJ-oYT.js +0 -1466
  217. package/dist/vue-ui-xy-canvas-4auyhlTr.js +0 -1717
  218. package/dist/vue-ui-xy-f67V1xjd.js +0 -3713
@@ -1,1334 +0,0 @@
1
- import { watchEffect as Ke, nextTick as me, useCssVars as rl, defineAsyncComponent as ve, computed as g, ref as v, shallowRef as vl, toRefs as cl, watch as Se, onBeforeUnmount as At, onMounted as dl, reactive as Lt, openBlock as u, createElementBlock as i, normalizeStyle as A, normalizeClass as pe, createBlock as ge, unref as n, withCtx as x, renderSlot as b, normalizeProps as D, guardReactiveProps as I, createCommentVNode as f, createSlots as Tt, createElementVNode as p, createVNode as $e, Fragment as z, renderList as V, withDirectives as St, createTextVNode as We, toDisplayString as O, vShow as hl, resolveDynamicComponent as yl, mergeProps as fl, withKeys as pl } from "vue";
2
- import { j as Ye, t as $t, o as zt, q as _t, an as be, r as gl, X as bl, W as ze, k as J, l as Y, K as Q, aA as ml, a0 as xl, a1 as wl, T as kl, U as Cl } from "./lib-GwPnJSrY.js";
3
- import { t as _e, u as Al } from "./useResponsive-DfdjqQps.js";
4
- import { u as Ll } from "./useConfig-CIgyKZ6R.js";
5
- import { u as Tl } from "./usePrinter-DiK5R6k-.js";
6
- import { u as Sl, B as $l } from "./BaseScanner-BhhkKVoj.js";
7
- import { u as zl } from "./useSvgExport-ByUukOZt.js";
8
- import { u as qe } from "./useNestedProp-BBT0mbHh.js";
9
- import { u as Ot } from "./useTimeLabels-C-A2uZKi.js";
10
- import { u as _l } from "./useThemeCheck-D1ZYXUwG.js";
11
- import { u as Ol } from "./useTableResponsive-Cbx-ACcP.js";
12
- import { u as Ml } from "./useUserOptionState-BIvW1Kz7.js";
13
- import { u as Mt } from "./useTimeLabelCollider-CIsgDrl9.js";
14
- import { u as Rl } from "./useChartAccessibility-9icAAmYg.js";
15
- import Fl from "./img-BYYzY_QU.js";
16
- import Nl from "./Title-BfyrP-jp.js";
17
- import Pl from "./vue_ui_heatmap-C9u993qE.js";
18
- import Dl from "./vue-ui-accordion-BGHTqIBt.js";
19
- import { _ as Il } from "./_plugin-vue_export-helper-CHgC5LLL.js";
20
- function je({
21
- elementRef: h,
22
- callback: B,
23
- attr: Z,
24
- earlyReturn: q = !1,
25
- retryFrames: ee = 12,
26
- alsoAfterFontsReady: M = !0
27
- }) {
28
- if (q) return;
29
- const E = (S) => {
30
- if (!S) return;
31
- let L;
32
- if (typeof S.getBBox == "function")
33
- try {
34
- const R = S.getBBox();
35
- L = Z === "width" ? R.width : R.height;
36
- } catch {
37
- }
38
- if (typeof L != "number" || Number.isNaN(L))
39
- try {
40
- const R = S.getBoundingClientRect();
41
- L = Z === "width" ? R.width : R.height;
42
- } catch {
43
- L = void 0;
44
- }
45
- typeof L == "number" && !Number.isNaN(L) && B(L);
46
- };
47
- Ke((S) => {
48
- const L = h.value;
49
- if (!L) return;
50
- let R = !1;
51
- (async () => {
52
- await me();
53
- for (let T = 0; T < ee; T += 1) {
54
- if (R) return;
55
- await new Promise((le) => requestAnimationFrame(le));
56
- const H = h.value;
57
- if (!H) return;
58
- E(H);
59
- }
60
- if (M && typeof document < "u" && document.fonts && document.fonts.ready) {
61
- try {
62
- await document.fonts.ready;
63
- } catch {
64
- }
65
- !R && h.value && E(h.value);
66
- }
67
- })();
68
- const te = new MutationObserver(() => {
69
- h.value && requestAnimationFrame(() => {
70
- h.value && E(h.value);
71
- });
72
- });
73
- te.observe(L, {
74
- childList: !0,
75
- subtree: !0,
76
- characterData: !0,
77
- attributes: !0,
78
- attributeFilter: ["transform", "style", "class"]
79
- });
80
- let w;
81
- if (typeof ResizeObserver < "u") {
82
- const T = L.ownerSVGElement ? L.ownerSVGElement : L;
83
- w = new ResizeObserver(() => {
84
- const H = h.value;
85
- H && E(H);
86
- }), w.observe(T);
87
- }
88
- S(() => {
89
- R = !0, te.disconnect(), w && w.disconnect();
90
- });
91
- }, { flush: "post" });
92
- }
93
- const Hl = {
94
- mounted(h, B) {
95
- Rt(h, B.value);
96
- },
97
- updated(h, B) {
98
- Rt(h, B.value);
99
- }
100
- };
101
- function Rt(h, {
102
- cellWidth: B,
103
- cellHeight: Z,
104
- maxFontSize: q,
105
- minFontSize: ee,
106
- index: M,
107
- reportRotation: E,
108
- reportHide: S,
109
- rotateAll: L,
110
- hideAll: R
111
- }) {
112
- h.removeAttribute("transform"), h.removeAttribute("visibility");
113
- let ue = !1, te = !1;
114
- h.setAttribute("font-size", q);
115
- const w = h.getComputedTextLength();
116
- if (w <= B)
117
- E(M, !1), S(M, !1);
118
- else {
119
- const T = Math.floor(q * B / w);
120
- T >= ee ? (h.setAttribute("font-size", T), E(M, !1), S(M, !1)) : (E(M, !0), S(M, !1), ue = !0);
121
- }
122
- if (L && (ue = !0), ue) {
123
- h.setAttribute("font-size", q);
124
- const T = h.getBBox(), H = T.x + T.width / 2, le = T.y + T.height / 2;
125
- h.setAttribute("transform", `rotate(-90 ${H} ${le})`);
126
- const _ = h.getBBox().width;
127
- if (_ <= Z)
128
- S(M, !1);
129
- else {
130
- const ne = Math.floor(q * Z / _);
131
- ne >= ee ? (h.setAttribute("font-size", ne), S(M, !1)) : (te = !0, S(M, !0));
132
- }
133
- }
134
- (R || te) && h.setAttribute("visibility", "hidden");
135
- }
136
- const Xl = ["id"], Vl = ["xmlns", "viewBox"], Bl = ["x", "y", "width", "height"], El = ["x", "y", "height", "width", "fill", "stroke", "stroke-width"], Ul = ["x", "y", "height", "width", "fill", "stroke", "stroke-width"], Gl = ["x", "y", "width", "height", "fill", "stroke", "stroke-width"], Wl = ["x", "y", "width", "height", "fill", "stroke", "stroke-width", "onMouseover", "onMouseout", "onClick"], Yl = ["font-size", "font-weight", "fill", "x", "y"], ql = ["x", "y", "width", "height", "fill", "stroke", "stroke-width"], jl = ["x", "y", "width", "height", "fill", "stroke", "stroke-width"], Kl = ["font-size", "fill", "x", "y", "font-weight"], Jl = ["font-size", "fill", "x", "y", "font-weight"], Ql = ["text-anchor", "font-size", "fill", "font-weight", "transform"], Zl = ["text-anchor", "font-size", "fill", "font-weight", "transform"], ea = { key: 6 }, ta = ["x", "y", "width", "height", "stroke", "stroke-width"], la = { key: 7 }, aa = ["x1", "x2", "y1", "y2", "stroke", "stroke-width", "stroke-dasharray"], oa = ["x1", "x2", "y1", "y2", "stroke", "stroke-width", "stroke-dasharray"], sa = { class: "vue-ui-heatmap-legend-gauge-right" }, ua = ["data-value"], na = { class: "vue-ui-heatmap-gauge-indicator-value" }, ia = {
137
- key: 4,
138
- class: "vue-data-ui-watermark"
139
- }, ra = { class: "vue-ui-data-table" }, va = { key: 0 }, ca = ["data-cell"], da = { style: { display: "flex", "align-items": "center", gap: "5px", "justify-content": "flex-end", width: "100%", "padding-right": "3px" } }, ha = ["data-cell"], ya = { style: { display: "flex", "align-items": "center", gap: "5px", "justify-content": "flex-end", width: "100%", "padding-right": "3px" } }, fa = {
140
- __name: "vue-ui-heatmap",
141
- props: {
142
- config: {
143
- type: Object,
144
- default() {
145
- return {};
146
- }
147
- },
148
- dataset: {
149
- type: Array,
150
- default() {
151
- return [];
152
- }
153
- }
154
- },
155
- emits: ["selectDatapoint", "copyAlt"],
156
- setup(h, { expose: B, emit: Z }) {
157
- rl((t) => ({
158
- v9b79bf1a: t.tdo
159
- }));
160
- const q = ve(() => import("./Tooltip-DL3QgjZf.js")), ee = ve(() => import("./BaseIcon-CNx8Tzl5.js")), M = ve(() => import("./PenAndPaper-DWV1FMIi.js")), E = ve(() => import("./UserOptions-CrLqEimB.js")), S = ve(() => import("./PackageVersion-DN9d0ME5.js")), L = ve(() => import("./BaseDraggableDialog-DSpKTn3R.js")), { vue_ui_heatmap: R } = Ll(), { isThemeValid: ue, warnInvalidTheme: te } = _l(), w = h, T = Z, H = g({
161
- get() {
162
- return !!w.dataset && w.dataset.length;
163
- },
164
- set(t) {
165
- return t;
166
- }
167
- }), le = v(Ye()), _ = v(null), ne = v(!1), Oe = v(""), Je = v(void 0), N = v(null), Qe = v(0), Ze = v(null), et = v(0), Ft = v(null), ce = v(null), Me = v(null), xe = v(!1), we = v(!1), tt = v(null), lt = v(null), Nt = v(null), at = v(null), Pt = v(null), Re = v(null), Fe = v(null), Dt = v(null), ot = v(null), ie = vl(null), e = v(Ie()), ke = g(() => e.value.userOptions.useCursorPointer);
168
- function It() {
169
- const t = Array(7).fill("_"), o = [], a = 14, s = t.length;
170
- for (let c = 0; c < s; c += 1) {
171
- const d = [];
172
- for (let C = 0; C < a; C += 1)
173
- d.push(c + C * 2);
174
- o.push({
175
- name: `${t[c]}`,
176
- values: d
177
- });
178
- }
179
- return o;
180
- }
181
- const Ht = g(() => $t({
182
- defaultConfig: {
183
- table: { show: !1 },
184
- userOptions: { show: !1 },
185
- style: {
186
- backgroundColor: "#99999930",
187
- layout: {
188
- cells: {
189
- colors: {
190
- hot: "#999999",
191
- cold: "#CACACA"
192
- },
193
- columnTotal: { value: { show: !1 } },
194
- rowTotal: { value: { show: !1 } },
195
- value: { show: !1 }
196
- },
197
- dataLabels: {
198
- xAxis: { show: !1 },
199
- yAxis: { show: !1 }
200
- }
201
- }
202
- }
203
- },
204
- userConfig: e.value.skeletonConfig ?? {}
205
- })), { loading: Ce, FINAL_DATASET: k, manualLoading: Ne } = Sl({
206
- ...cl(w),
207
- FINAL_CONFIG: e,
208
- prepareConfig: Ie,
209
- callback: () => {
210
- Promise.resolve().then(async () => {
211
- await me(), _.value && ml(_.value, { delta: 0.1, delay: 250 });
212
- });
213
- },
214
- skeletonDataset: w.config?.skeletonDataset ?? It(),
215
- skeletonConfig: $t({
216
- defaultConfig: e.value,
217
- userConfig: Ht.value
218
- })
219
- }), { userOptionsVisible: Pe, setUserOptionsVisibility: Xt, keepUserOptionState: st } = Ml({ config: e.value }), { svgRef: De } = Rl({ config: e.value.style.title });
220
- function ut(t) {
221
- Xt(t);
222
- }
223
- function Ie() {
224
- const t = qe({
225
- userConfig: w.config,
226
- defaultConfig: R
227
- });
228
- let o = {};
229
- const a = t.theme;
230
- if (a)
231
- if (!ue.value(t))
232
- te(t), o = t;
233
- else {
234
- const s = qe({
235
- userConfig: Pl[a] || w.config,
236
- defaultConfig: t
237
- });
238
- o = {
239
- ...qe({
240
- userConfig: w.config,
241
- defaultConfig: s
242
- })
243
- };
244
- }
245
- else
246
- o = t;
247
- return o;
248
- }
249
- Se(() => w.config, (t) => {
250
- Ce.value || (e.value = Ie()), Pe.value = !e.value.userOptions.showOnChartHover, Ve(), et.value += 1, P.value.showTable = e.value.table.show, P.value.showTooltip = e.value.style.tooltip.show, de.value = e.value.style.layout.width, he.value = e.value.style.layout.height;
251
- }, { deep: !0 }), Se(() => w.dataset, (t) => {
252
- Array.isArray(t) && t.length > 0 && (Ne.value = !1), Ve();
253
- }, { deep: !0 });
254
- const { isPrinting: He, isImaging: Xe, generatePdf: nt, generateImage: it } = Tl({
255
- elementId: `heatmap__${le.value}`,
256
- fileName: e.value.style.title.text || "vue-ui-heatmap",
257
- options: e.value.userOptions.print
258
- }), Vt = g(() => e.value.userOptions.show && !e.value.style.title.text), P = v({
259
- showTable: e.value.table.show,
260
- showTooltip: e.value.style.tooltip.show
261
- });
262
- Se(e, () => {
263
- P.value = {
264
- showTable: e.value.table.show,
265
- showTooltip: e.value.style.tooltip.show
266
- };
267
- }, { immediate: !0 });
268
- const Bt = g(() => e.value.table.responsiveBreakpoint), j = v(null), rt = g(() => !!e.value.debug);
269
- function Ve() {
270
- if (zt(w.dataset) && (_t({
271
- componentName: "VueUiHeatmap",
272
- type: "dataset",
273
- debug: rt.value
274
- }), H.value = !1, Ne.value = !0), zt(w.dataset) || (Ne.value = e.value.loading), e.value.responsive) {
275
- const t = _e(() => {
276
- const { width: o, height: a } = Al({
277
- chart: _.value,
278
- title: e.value.style.title.text ? tt.value : null,
279
- // add legend hirizontal in legend attr
280
- // add legend vertical in some other attr and modify composable to subtract width
281
- source: ot.value,
282
- noTitle: lt.value
283
- });
284
- requestAnimationFrame(() => {
285
- de.value = o, he.value = a;
286
- });
287
- });
288
- j.value && (ie.value && j.value.unobserve(ie.value), j.value.disconnect()), j.value = new ResizeObserver(t), ie.value = _.value.parentNode, j.value.observe(ie.value);
289
- }
290
- }
291
- At(() => {
292
- j.value && (ie.value && j.value.unobserve(ie.value), j.value.disconnect());
293
- }), dl(() => {
294
- Ve();
295
- });
296
- const U = g(() => Math.max(...k.value.flatMap((t) => (t.values || []).length))), de = v(e.value.style.layout.width), he = v(e.value.style.layout.height), F = g(() => ({
297
- width: Math.max(10, de.value),
298
- height: Math.max(10, he.value)
299
- })), re = v(0), Et = _e((t) => {
300
- t !== re.value && (re.value = t);
301
- }, 100);
302
- je({ elementRef: Re, callback: Et, attr: "height" });
303
- const ae = v(0), Ut = _e((t) => {
304
- t !== ae.value && (ae.value = t);
305
- }, 100);
306
- je({ elementRef: at, callback: Ut, attr: "width" });
307
- const ye = v(0), Gt = _e((t) => {
308
- t !== ye.value && (ye.value = t);
309
- }, 100);
310
- je({ elementRef: Fe, callback: Gt, attr: "height" }), At(() => {
311
- re.value = 0, ae.value = 0, ye.value = 0;
312
- });
313
- const r = g(() => Math.min(F.value.height, F.value.width) / 1e3 * e.value.style.layout.cells.spacing), l = g(() => {
314
- let t = 0;
315
- e.value.style.legend.show && (t = e.value.style.legend.width);
316
- 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, c = F.value.height - o.top - o.bottom - re.value - a, d = F.value.width / 60, C = {
317
- x: r.value * U.value,
318
- y: r.value * ((k.value || []).length + 1)
319
- }, G = F.value.width - o.left - o.right - C.x - d * 2 - 2 - t - ae.value, y = c - d - C.y - ye.value - s - e.value.style.layout.cells.columnTotal.value.offsetY, $ = {
320
- width: Math.max(3, G / U.value),
321
- height: Math.max(3, y / (k.value.length ?? 1))
322
- };
323
- return {
324
- top: o.top + re.value + d + a,
325
- topLabelsHeight: re.value,
326
- sumCellXHeight: d,
327
- height: y,
328
- left: o.left + ae.value + d / 2,
329
- right: o.right - t,
330
- bottom: F.value.height - o.bottom - ye.value,
331
- width: G,
332
- cellSize: $
333
- };
334
- }), K = g(() => Math.max(...k.value.flatMap((t) => t.values))), fe = g(() => Math.min(...k.value.flatMap((t) => t.values))), oe = g(() => {
335
- const t = k.value.flatMap((a) => a.values);
336
- return t.reduce((a, s) => a + s, 0) / t.length;
337
- }), vt = v([]), ct = v([]);
338
- let dt = 0;
339
- Ke(() => {
340
- const t = ++dt;
341
- (async () => {
342
- const o = e.value.style.layout.dataLabels.yAxis, a = await Ot({
343
- values: o.values.length ? o.values : k.value.map((s) => s.name),
344
- maxDatapoints: k.value.length,
345
- formatter: o.datetimeFormatter,
346
- start: 0,
347
- end: k.value.length
348
- });
349
- t === dt && (vt.value = a);
350
- })();
351
- });
352
- let ht = 0;
353
- Ke(() => {
354
- const t = ++ht;
355
- (async () => {
356
- const o = e.value.style.layout.dataLabels.xAxis, a = await Ot({
357
- values: o.values,
358
- maxDatapoints: U.value,
359
- formatter: o.datetimeFormatter,
360
- start: 0,
361
- end: U.value
362
- });
363
- t === ht && (ct.value = a);
364
- })();
365
- });
366
- const m = g(() => {
367
- const t = vt.value.map((y) => y.text), o = ct.value.map((y) => y.text), a = k.value.map((y) => y.values.reduce(($, Ge) => $ + Ge, 0)), s = Math.max(...a), c = Math.min(...a), d = [];
368
- for (let y = 0; y < U.value; y += 1)
369
- d.push(k.value.map(($) => $.values[y] || 0).reduce(($, Ge) => $ + Ge, 0));
370
- const C = Math.max(...d), G = Math.min(...d);
371
- return {
372
- yTotals: a.map((y) => {
373
- const $ = isNaN(y / s) ? 0 : y / s;
374
- return {
375
- total: y,
376
- proportion: $,
377
- color: be(e.value.style.layout.cells.colors.cold, e.value.style.layout.cells.colors.hot, c, s, y)
378
- };
379
- }),
380
- xTotals: d.map((y) => {
381
- const $ = isNaN(y / C) ? 0 : y / C;
382
- return {
383
- total: y,
384
- proportion: $,
385
- color: be(e.value.style.layout.cells.colors.cold, e.value.style.layout.cells.colors.hot, G, C, y)
386
- };
387
- }),
388
- yLabels: t,
389
- xLabels: o.slice(0, U.value)
390
- };
391
- }), W = g(() => (k.value.forEach((t, o) => {
392
- gl({
393
- datasetObject: t,
394
- requiredAttributes: ["values"]
395
- }).forEach((a) => {
396
- _t({
397
- componentName: "VueUiHeatmap",
398
- type: "datasetSerieAttribute",
399
- property: "values",
400
- index: o,
401
- debug: rt.value
402
- });
403
- });
404
- }), k.value.map((t, o) => ({
405
- ...t,
406
- temperatures: (t.values || []).map((a, s) => a >= oe.value ? {
407
- side: "up",
408
- color: be(e.value.style.layout.cells.colors.cold, e.value.style.layout.cells.colors.hot, fe.value, K.value, a),
409
- ratio: Math.abs(Math.abs(a - oe.value) / Math.abs(K.value - oe.value)) > 1 ? 1 : Math.abs(Math.abs(a - oe.value) / Math.abs(K.value - oe.value)),
410
- value: a,
411
- yAxisName: m.value.yLabels[o],
412
- xAxisName: m.value.xLabels[s],
413
- id: `vue-data-ui-heatmap-cell-${Ye()}`
414
- } : {
415
- side: "down",
416
- ratio: Math.abs(1 - Math.abs(a) / Math.abs(oe.value)) > 1 ? 1 : Math.abs(1 - Math.abs(a) / Math.abs(oe.value)),
417
- color: be(e.value.style.layout.cells.colors.cold, e.value.style.layout.cells.colors.hot, fe.value, K.value, a),
418
- value: a,
419
- yAxisName: m.value.yLabels[o],
420
- xAxisName: m.value.xLabels[s],
421
- id: `vue-data-ui-heatmap-cell-${Ye()}`
422
- })
423
- })))), yt = g(() => k.value.length), ft = Lt(Array(yt.value * U.value || 1).fill(!1)), Wt = g(() => ft.some((t) => t));
424
- function Yt(t, o) {
425
- ft[t] = o;
426
- }
427
- const pt = Lt(Array(yt.value * U.value || 1).fill(!1)), qt = g(() => pt.some((t) => t));
428
- function jt(t, o) {
429
- pt[t] = o;
430
- }
431
- const X = v(null), Ae = v(null);
432
- function Kt(t, o, a, s) {
433
- e.value.events.datapointEnter && e.value.events.datapointEnter({ datapoint: t, seriesIndex: o }), N.value = { x: a, y: s };
434
- const { value: c, yAxisName: d, xAxisName: C, id: G } = t;
435
- Je.value = G, X.value = c, Ae.value = {
436
- datapoint: t,
437
- seriesIndex: o,
438
- series: W.value,
439
- config: e.value
440
- }, ne.value = !0;
441
- let y = "";
442
- const $ = e.value.style.tooltip.customFormat;
443
- kl($) && Cl(() => $({
444
- datapoint: t,
445
- seriesIndex: o,
446
- series: W.value,
447
- config: e.value
448
- })) ? Oe.value = $({
449
- datapoint: t,
450
- seriesIndex: o,
451
- series: W.value,
452
- config: e.value
453
- }) : (y += `<div>${d} ${C ? d ? ` - ${C}` : `${C}` : ""}</div>`, y += `<div style="margin-top:6px;padding-top:6px;border-top:1px solid ${e.value.style.tooltip.borderColor};font-weight:bold;display:flex;flex-direction:row;gap:12px;align-items:center;justify-content:center"><span style="color:${be(e.value.style.layout.cells.colors.cold, e.value.style.layout.cells.colors.hot, fe.value, K.value, c)}">⬤</span><span>${isNaN(c) ? "-" : J(
454
- e.value.style.layout.cells.value.formatter,
455
- c,
456
- Y({
457
- p: e.value.style.layout.dataLabels.prefix,
458
- v: c,
459
- s: e.value.style.layout.dataLabels.suffix,
460
- r: e.value.style.tooltip.roundingValue
461
- }),
462
- { datapoint: t, seriesIndex: o }
463
- )}</span></div>`, Oe.value = `<div style="font-size:${e.value.style.tooltip.fontSize}px">${y}</div>`);
464
- }
465
- function Jt({ datapoint: t, seriesIndex: o }) {
466
- e.value.events.datapointLeave && e.value.events.datapointLeave({ datapoint: t, seriesIndex: o }), ne.value = !1, Je.value = void 0, X.value = null, N.value = null;
467
- }
468
- function Qt(t) {
469
- return J(
470
- e.value.style.layout.cells.value.formatter,
471
- m.value.yTotals[t].total,
472
- Y({
473
- p: e.value.style.layout.dataLabels.prefix,
474
- v: m.value.yTotals[t].total,
475
- s: e.value.style.layout.dataLabels.suffix,
476
- r: e.value.style.layout.cells.value.roundingValue
477
- }),
478
- { datapoint: m.value.yTotals[t], rowIndex: t }
479
- );
480
- }
481
- function Zt(t) {
482
- return J(
483
- e.value.style.layout.cells.value.formatter,
484
- m.value.xTotals[t].total,
485
- Y({
486
- p: e.value.style.layout.dataLabels.prefix,
487
- v: m.value.xTotals[t].total,
488
- s: e.value.style.layout.dataLabels.suffix,
489
- r: e.value.style.layout.cells.value.roundingValue
490
- }),
491
- { datapoint: m.value.xTotals[t], colIndex: t }
492
- );
493
- }
494
- g(() => {
495
- const t = k.value.map((a) => ({
496
- name: a.name
497
- })), o = k.value.map((a) => a.values);
498
- return { head: t, body: o };
499
- });
500
- function Be(t = null) {
501
- me(() => {
502
- const o = ["", ...k.value.map((d, C) => d.name)], a = [];
503
- for (let d = 0; d < m.value.xLabels.length; d += 1) {
504
- const C = [m.value.xLabels[d]];
505
- for (let G = 0; G < k.value.length; G += 1)
506
- C.push([k.value[G].values[d]]);
507
- a.push(C);
508
- }
509
- const s = [[e.value.style.title.text], [e.value.style.title.subtitle.text], [[""], [""], [""]]].concat([o]).concat(a), c = xl(s);
510
- t ? t(c) : wl({ csvContent: c, title: e.value.style.title.text || "vue-ui-heatmap" });
511
- });
512
- }
513
- const se = v(!1);
514
- function gt(t) {
515
- se.value = t, Qe.value += 1;
516
- }
517
- function bt() {
518
- P.value.showTable = !P.value.showTable;
519
- }
520
- function mt() {
521
- P.value.showTooltip = !P.value.showTooltip;
522
- }
523
- const Le = v(!1);
524
- function Ee() {
525
- Le.value = !Le.value;
526
- }
527
- function el(t, o) {
528
- e.value.events.datapointClick && e.value.events.datapointClick({ datapoint: t, seriesIndex: o }), T("selectDatapoint", t);
529
- }
530
- function tl() {
531
- return W.value;
532
- }
533
- async function ll({ scale: t = 2 } = {}) {
534
- if (!_.value) return;
535
- const { width: o, height: a } = _.value.getBoundingClientRect(), s = o / a, { imageUri: c, base64: d } = await Fl({ domElement: _.value, base64: !0, img: !0, scale: t });
536
- return {
537
- imageUri: c,
538
- base64: d,
539
- title: e.value.style.title.text,
540
- width: o,
541
- height: a,
542
- aspectRatio: s
543
- };
544
- }
545
- const xt = g(() => ({
546
- start: 0,
547
- end: U.value
548
- })), wt = g(() => m.value.xLabels);
549
- Mt({
550
- timeLabelsEls: Re,
551
- timeLabels: wt,
552
- slicer: xt,
553
- configRef: e,
554
- rotationPath: ["style", "layout", "dataLabels", "xAxis", "rotation"],
555
- autoRotatePath: ["style", "layout", "dataLabels", "xAxis", "autoRotate", "enable"],
556
- isAutoSize: !1,
557
- targetClass: ".vue-ui-heatmap-col-name",
558
- rotation: e.value.style.layout.dataLabels.xAxis.autoRotate.angle,
559
- width: de,
560
- height: he
561
- }), Mt({
562
- timeLabelsEls: Fe,
563
- timeLabels: wt,
564
- slicer: xt,
565
- configRef: e,
566
- rotationPath: ["style", "layout", "cells", "columnTotal", "value", "rotation"],
567
- autoRotatePath: ["style", "layout", "cells", "columnTotal", "value", "autoRotate", "enable"],
568
- isAutoSize: !1,
569
- targetClass: ".vue-ui-heatmap-col-total",
570
- rotation: e.value.style.layout.cells.columnTotal.value.autoRotate.angle,
571
- width: de,
572
- height: he
573
- });
574
- const Te = g(() => {
575
- const t = e.value.table.useDialog && !e.value.table.show, o = P.value.showTable;
576
- return {
577
- component: t ? L : Dl,
578
- title: `${e.value.style.title.text}${e.value.style.title.subtitle.text ? `: ${e.value.style.title.subtitle.text}` : ""}`,
579
- props: t ? {
580
- backgroundColor: e.value.table.th.backgroundColor,
581
- color: e.value.table.th.color,
582
- headerColor: e.value.table.th.color,
583
- headerBg: e.value.table.th.backgroundColor,
584
- isFullscreen: se.value,
585
- fullscreenParent: _.value,
586
- forcedWidth: Math.min(800, window.innerWidth * 0.8),
587
- isCursorPointer: ke.value
588
- } : {
589
- hideDetails: !0,
590
- config: {
591
- open: o,
592
- maxHeight: 1e4,
593
- body: {
594
- backgroundColor: e.value.style.backgroundColor,
595
- color: e.value.style.color
596
- },
597
- head: {
598
- backgroundColor: e.value.style.backgroundColor,
599
- color: e.value.style.color
600
- }
601
- }
602
- }
603
- };
604
- });
605
- Se(() => P.value.showTable, async (t) => {
606
- e.value.table.show || (t && e.value.table.useDialog && ce.value ? (await me(), ce.value.open()) : "close" in ce.value && ce.value.close());
607
- });
608
- const { isResponsive: al } = Ol(Ze, Bt);
609
- function Ue() {
610
- P.value.showTable = !1, Me.value && Me.value.setTableIconState(!1);
611
- }
612
- const ol = g(() => e.value.style.backgroundColor), sl = g(() => e.value.style.title), { exportSvg: ul, getSvg: nl } = zl({
613
- svg: De,
614
- title: sl,
615
- backgroundColor: ol
616
- });
617
- async function kt({ isCb: t }) {
618
- we.value = !0, await me();
619
- try {
620
- if (t) {
621
- const { blob: o, url: a, text: s, dataUrl: c } = await nl();
622
- await Promise.resolve(e.value.userOptions.callbacks.svg({ blob: o, url: a, text: s, dataUrl: c }));
623
- } else
624
- await Promise.resolve(ul());
625
- } finally {
626
- we.value = !1;
627
- }
628
- }
629
- function il(t) {
630
- if (t?.stage === "start") {
631
- xe.value = !0;
632
- return;
633
- }
634
- if (t?.stage === "end") {
635
- xe.value = !1;
636
- return;
637
- }
638
- it();
639
- }
640
- async function Ct() {
641
- if (T("copyAlt", {
642
- config: e.value,
643
- dataset: W.value
644
- }), !e.value.userOptions.callbacks.altCopy) {
645
- console.warn("Vue Data UI - A callback must be set for `altCopy` in userOptions.");
646
- return;
647
- }
648
- await Promise.resolve(e.value.userOptions.callbacks.altCopy({
649
- config: e.value,
650
- dataset: W.value
651
- }));
652
- }
653
- return B({
654
- getData: tl,
655
- getImage: ll,
656
- generatePdf: nt,
657
- generateCsv: Be,
658
- generateImage: it,
659
- generateSvg: kt,
660
- toggleTable: bt,
661
- toggleTooltip: mt,
662
- toggleAnnotator: Ee,
663
- toggleFullscreen: gt,
664
- copyAlt: Ct
665
- }), (t, o) => (u(), i("div", {
666
- ref_key: "heatmapChart",
667
- ref: _,
668
- class: pe(`vue-data-ui-component vue-ui-heatmap ${se.value ? "vue-data-ui-wrapper-fullscreen" : ""}`),
669
- style: A(`font-family:${e.value.style.fontFamily};width:100%;${e.value.responsive ? "height: 100%;" : ""} text-align:center;background:${e.value.style.backgroundColor}`),
670
- id: `heatmap__${le.value}`,
671
- onMouseenter: o[1] || (o[1] = () => ut(!0)),
672
- onMouseleave: o[2] || (o[2] = () => ut(!1))
673
- }, [
674
- e.value.userOptions.buttons.annotator ? (u(), ge(n(M), {
675
- key: 0,
676
- svgRef: n(De),
677
- backgroundColor: e.value.style.backgroundColor,
678
- color: e.value.style.color,
679
- active: Le.value,
680
- isCursorPointer: ke.value,
681
- onClose: Ee
682
- }, {
683
- "annotator-action-close": x(() => [
684
- b(t.$slots, "annotator-action-close", {}, void 0, !0)
685
- ]),
686
- "annotator-action-color": x(({ color: a }) => [
687
- b(t.$slots, "annotator-action-color", D(I({ color: a })), void 0, !0)
688
- ]),
689
- "annotator-action-draw": x(({ mode: a }) => [
690
- b(t.$slots, "annotator-action-draw", D(I({ mode: a })), void 0, !0)
691
- ]),
692
- "annotator-action-undo": x(({ disabled: a }) => [
693
- b(t.$slots, "annotator-action-undo", D(I({ disabled: a })), void 0, !0)
694
- ]),
695
- "annotator-action-redo": x(({ disabled: a }) => [
696
- b(t.$slots, "annotator-action-redo", D(I({ disabled: a })), void 0, !0)
697
- ]),
698
- "annotator-action-delete": x(({ disabled: a }) => [
699
- b(t.$slots, "annotator-action-delete", D(I({ disabled: a })), void 0, !0)
700
- ]),
701
- _: 3
702
- }, 8, ["svgRef", "backgroundColor", "color", "active", "isCursorPointer"])) : f("", !0),
703
- Vt.value ? (u(), i("div", {
704
- key: 1,
705
- ref_key: "noTitle",
706
- ref: lt,
707
- class: "vue-data-ui-no-title-space",
708
- style: "height:36px; width: 100%;background:transparent"
709
- }, null, 512)) : f("", !0),
710
- e.value.style.title.text ? (u(), i("div", {
711
- key: 2,
712
- ref_key: "chartTitle",
713
- ref: tt,
714
- style: "width:100%;background:transparent"
715
- }, [
716
- (u(), ge(Nl, {
717
- key: `title_${et.value}`,
718
- config: {
719
- title: {
720
- cy: "heatmap-div-title",
721
- ...e.value.style.title
722
- },
723
- subtitle: {
724
- cy: "heatmap-div-subtitle",
725
- ...e.value.style.title.subtitle
726
- }
727
- }
728
- }, null, 8, ["config"]))
729
- ], 512)) : f("", !0),
730
- e.value.userOptions.show && H.value && (n(st) || n(Pe)) ? (u(), ge(n(E), {
731
- ref_key: "userOptionsRef",
732
- ref: Me,
733
- key: `user_options_${Qe.value}`,
734
- backgroundColor: e.value.style.backgroundColor,
735
- color: e.value.style.color,
736
- isImaging: n(Xe),
737
- isPrinting: n(He),
738
- uid: le.value,
739
- hasTooltip: e.value.userOptions.buttons.tooltip && e.value.style.tooltip.show,
740
- hasPdf: e.value.userOptions.buttons.pdf,
741
- hasImg: e.value.userOptions.buttons.img,
742
- hasSvg: e.value.userOptions.buttons.svg,
743
- hasXls: e.value.userOptions.buttons.csv,
744
- hasTable: e.value.userOptions.buttons.table,
745
- hasFullscreen: e.value.userOptions.buttons.fullscreen,
746
- hasAltCopy: e.value.userOptions.buttons.altCopy,
747
- isFullscreen: se.value,
748
- isTooltip: P.value.showTooltip,
749
- titles: { ...e.value.userOptions.buttonTitles },
750
- chartElement: _.value,
751
- position: e.value.userOptions.position,
752
- hasAnnotator: e.value.userOptions.buttons.annotator,
753
- isAnnotation: Le.value,
754
- callbacks: e.value.userOptions.callbacks,
755
- printScale: e.value.userOptions.print.scale,
756
- tableDialog: e.value.table.useDialog,
757
- isCursorPointer: ke.value,
758
- onToggleFullscreen: gt,
759
- onGeneratePdf: n(nt),
760
- onGenerateCsv: Be,
761
- onGenerateImage: il,
762
- onGenerateSvg: kt,
763
- onToggleTable: bt,
764
- onToggleTooltip: mt,
765
- onToggleAnnotator: Ee,
766
- onCopyAlt: Ct,
767
- style: A({
768
- visibility: n(st) ? n(Pe) ? "visible" : "hidden" : "visible"
769
- })
770
- }, Tt({ _: 2 }, [
771
- t.$slots.menuIcon ? {
772
- name: "menuIcon",
773
- fn: x(({ isOpen: a, color: s }) => [
774
- b(t.$slots, "menuIcon", D(I({ isOpen: a, color: s })), void 0, !0)
775
- ]),
776
- key: "0"
777
- } : void 0,
778
- t.$slots.optionTooltip ? {
779
- name: "optionTooltip",
780
- fn: x(() => [
781
- b(t.$slots, "optionTooltip", {}, void 0, !0)
782
- ]),
783
- key: "1"
784
- } : void 0,
785
- t.$slots.optionPdf ? {
786
- name: "optionPdf",
787
- fn: x(() => [
788
- b(t.$slots, "optionPdf", {}, void 0, !0)
789
- ]),
790
- key: "2"
791
- } : void 0,
792
- t.$slots.optionCsv ? {
793
- name: "optionCsv",
794
- fn: x(() => [
795
- b(t.$slots, "optionCsv", {}, void 0, !0)
796
- ]),
797
- key: "3"
798
- } : void 0,
799
- t.$slots.optionImg ? {
800
- name: "optionImg",
801
- fn: x(() => [
802
- b(t.$slots, "optionImg", {}, void 0, !0)
803
- ]),
804
- key: "4"
805
- } : void 0,
806
- t.$slots.optionSvg ? {
807
- name: "optionSvg",
808
- fn: x(() => [
809
- b(t.$slots, "optionSvg", {}, void 0, !0)
810
- ]),
811
- key: "5"
812
- } : void 0,
813
- t.$slots.optionTable ? {
814
- name: "optionTable",
815
- fn: x(() => [
816
- b(t.$slots, "optionTable", {}, void 0, !0)
817
- ]),
818
- key: "6"
819
- } : void 0,
820
- t.$slots.optionFullscreen ? {
821
- name: "optionFullscreen",
822
- fn: x(({ toggleFullscreen: a, isFullscreen: s }) => [
823
- b(t.$slots, "optionFullscreen", D(I({ toggleFullscreen: a, isFullscreen: s })), void 0, !0)
824
- ]),
825
- key: "7"
826
- } : void 0,
827
- t.$slots.optionAnnotator ? {
828
- name: "optionAnnotator",
829
- fn: x(({ toggleAnnotator: a, isAnnotator: s }) => [
830
- b(t.$slots, "optionAnnotator", D(I({ toggleAnnotator: a, isAnnotator: s })), void 0, !0)
831
- ]),
832
- key: "8"
833
- } : void 0,
834
- t.$slots.optionAltCopy ? {
835
- name: "optionAltCopy",
836
- fn: x(({ altCopy: a }) => [
837
- b(t.$slots, "optionAltCopy", D(I({ altCopy: a })), void 0, !0)
838
- ]),
839
- key: "9"
840
- } : void 0
841
- ]), 1032, ["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", "style"])) : f("", !0),
842
- p("div", {
843
- class: pe({
844
- "vue-ui-heatmap-chart-wrapper": !0,
845
- "vue-ui-heatmap-chart-wrapper-legend-right": e.value.style.legend.show
846
- })
847
- }, [
848
- (u(), i("svg", {
849
- ref_key: "svgRef",
850
- ref: De,
851
- xmlns: n(bl),
852
- class: pe({ "vue-data-ui-fullscreen--on": se.value, "vue-data-ui-fulscreen--off": !se.value }),
853
- viewBox: `0 0 ${F.value.width} ${F.value.height}`,
854
- width: "100%",
855
- style: A(`overflow: visible; background:transparent;color:${e.value.style.color}`),
856
- "aria-live": "polite",
857
- role: "img",
858
- preserveAspectRatio: "xMidYMid"
859
- }, [
860
- $e(n(S)),
861
- t.$slots["chart-background"] ? (u(), i("foreignObject", {
862
- key: 0,
863
- x: l.value.left,
864
- y: l.value.top,
865
- width: l.value.width,
866
- height: l.value.height,
867
- style: {
868
- pointerEvents: "none"
869
- }
870
- }, [
871
- b(t.$slots, "chart-background", {}, void 0, !0)
872
- ], 8, Bl)) : f("", !0),
873
- e.value.style.layout.cells.columnTotal.color.show ? (u(), i("g", {
874
- key: 1,
875
- ref_key: "xAxisSumRects",
876
- ref: Dt
877
- }, [
878
- (u(!0), i(z, null, V(m.value.xTotals, (a, s) => (u(), i("rect", {
879
- x: l.value.left + l.value.cellSize.width * s + r.value / 2 + l.value.sumCellXHeight,
880
- y: l.value.top - l.value.sumCellXHeight + r.value * (F.value.height / F.value.width),
881
- height: l.value.sumCellXHeight,
882
- width: l.value.cellSize.width - r.value,
883
- fill: e.value.style.layout.cells.colors.underlayer,
884
- stroke: e.value.style.backgroundColor,
885
- "stroke-width": r.value
886
- }, null, 8, El))), 256)),
887
- (u(!0), i(z, null, V(m.value.xTotals, (a, s) => (u(), i("rect", {
888
- x: l.value.left + l.value.cellSize.width * s + r.value / 2 + l.value.sumCellXHeight,
889
- y: l.value.top - l.value.sumCellXHeight + r.value * (F.value.height / F.value.width),
890
- height: l.value.sumCellXHeight,
891
- width: l.value.cellSize.width - r.value,
892
- fill: a.color,
893
- stroke: e.value.style.backgroundColor,
894
- "stroke-width": r.value
895
- }, null, 8, Ul))), 256))
896
- ], 512)) : f("", !0),
897
- p("g", {
898
- ref_key: "datapoints",
899
- ref: Ft
900
- }, [
901
- (u(!0), i(z, null, V(W.value, (a, s) => (u(), i(z, null, [
902
- (u(!0), i(z, null, V(a.temperatures, (c, d) => (u(), i("g", null, [
903
- p("rect", {
904
- x: l.value.left + l.value.cellSize.width * d + r.value / 2 + l.value.sumCellXHeight,
905
- y: l.value.top + l.value.cellSize.height * s + r.value / 2,
906
- width: l.value.cellSize.width - r.value,
907
- height: l.value.cellSize.height - r.value,
908
- fill: e.value.style.layout.cells.colors.underlayer,
909
- stroke: e.value.style.backgroundColor,
910
- "stroke-width": r.value
911
- }, null, 8, Gl),
912
- p("rect", {
913
- x: l.value.left + l.value.cellSize.width * d + r.value / 2 + l.value.sumCellXHeight,
914
- y: l.value.top + l.value.cellSize.height * s + r.value / 2,
915
- width: l.value.cellSize.width - r.value,
916
- height: l.value.cellSize.height - r.value,
917
- fill: c.color,
918
- stroke: e.value.style.backgroundColor,
919
- "stroke-width": r.value,
920
- onMouseover: (C) => Kt(c, s, l.value.left + l.value.cellSize.width * d, l.value.top + l.value.cellSize.height * s),
921
- onMouseout: () => Jt({ datapoint: c, seriesIndex: s }),
922
- onClick: () => el(c, s)
923
- }, null, 40, Wl),
924
- e.value.style.layout.cells.value.show ? St((u(), i("text", {
925
- key: 0,
926
- "text-anchor": "middle",
927
- "font-size": e.value.style.layout.cells.value.fontSize,
928
- "font-weight": e.value.style.layout.cells.value.bold ? "bold" : "normal",
929
- fill: n(ze)(c.color),
930
- x: l.value.left + l.value.cellSize.width * d + l.value.cellSize.width / 2 + l.value.sumCellXHeight,
931
- y: l.value.top + l.value.cellSize.height * s + l.value.cellSize.height / 2 + e.value.style.layout.cells.value.fontSize / 3,
932
- style: { pointerEvents: "none", userSelect: "none" }
933
- }, [
934
- We(O(n(J)(
935
- e.value.style.layout.cells.value.formatter,
936
- c.value,
937
- n(Y)({
938
- p: e.value.style.layout.dataLabels.prefix,
939
- v: c.value,
940
- s: e.value.style.layout.dataLabels.suffix,
941
- r: e.value.style.layout.cells.value.roundingValue
942
- }),
943
- { datapoint: c }
944
- )), 1)
945
- ], 8, Yl)), [
946
- [n(Hl), {
947
- cellWidth: l.value.cellSize.width - r.value,
948
- cellHeight: l.value.cellSize.height - r.value,
949
- maxFontSize: e.value.style.layout.cells.value.fontSize,
950
- minFontSize: 10,
951
- index: s * U.value + d,
952
- reportHide: jt,
953
- reportRotation: Yt,
954
- hideAll: qt.value,
955
- rotateAll: Wt.value
956
- }]
957
- ]) : f("", !0)
958
- ]))), 256))
959
- ], 64))), 256))
960
- ], 512),
961
- e.value.style.layout.cells.rowTotal.color.show ? (u(), i("g", {
962
- key: 2,
963
- ref_key: "yAxisSumRects",
964
- ref: Pt
965
- }, [
966
- (u(!0), i(z, null, V(W.value, (a, s) => (u(), i(z, null, [
967
- p("rect", {
968
- x: l.value.left,
969
- y: l.value.top + l.value.cellSize.height * s,
970
- width: l.value.sumCellXHeight,
971
- height: l.value.cellSize.height - r.value,
972
- fill: e.value.style.layout.cells.colors.underlayer,
973
- stroke: e.value.style.backgroundColor,
974
- "stroke-width": r.value
975
- }, null, 8, ql),
976
- p("rect", {
977
- x: l.value.left,
978
- y: l.value.top + l.value.cellSize.height * s + r.value / 2,
979
- width: l.value.sumCellXHeight,
980
- height: l.value.cellSize.height - r.value,
981
- fill: m.value.yTotals[s].color,
982
- stroke: e.value.style.backgroundColor,
983
- "stroke-width": r.value
984
- }, null, 8, jl)
985
- ], 64))), 256))
986
- ], 512)) : f("", !0),
987
- e.value.style.layout.dataLabels.yAxis.show ? (u(), i("g", {
988
- key: 3,
989
- ref_key: "yAxisLabels",
990
- ref: at
991
- }, [
992
- (u(!0), i(z, null, V(W.value, (a, s) => (u(), i(z, null, [
993
- p("text", {
994
- class: "vue-ui-heatmap-row-name",
995
- "font-size": e.value.style.layout.dataLabels.yAxis.fontSize,
996
- fill: e.value.style.layout.dataLabels.yAxis.color,
997
- x: ae.value,
998
- 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),
999
- "text-anchor": "end",
1000
- "font-weight": e.value.style.layout.dataLabels.yAxis.bold ? "bold" : "normal"
1001
- }, O(m.value.yLabels[s]), 9, Kl),
1002
- e.value.style.layout.cells.rowTotal.value.show ? (u(), i("text", {
1003
- key: 0,
1004
- class: "vue-ui-heatmap-row-total",
1005
- "font-size": e.value.style.layout.dataLabels.yAxis.fontSize,
1006
- fill: e.value.style.layout.dataLabels.yAxis.color,
1007
- x: ae.value,
1008
- 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,
1009
- "text-anchor": "end",
1010
- "font-weight": e.value.style.layout.dataLabels.yAxis.bold ? "bold" : "normal"
1011
- }, O(Qt(s)), 9, Jl)) : f("", !0)
1012
- ], 64))), 256))
1013
- ], 512)) : f("", !0),
1014
- e.value.style.layout.dataLabels.xAxis.show ? (u(), i("g", {
1015
- key: 4,
1016
- ref_key: "xAxisLabels",
1017
- ref: Re
1018
- }, [
1019
- (u(!0), i(z, null, V(m.value.xLabels, (a, s) => (u(), i(z, null, [
1020
- !e.value.style.layout.dataLabels.xAxis.showOnlyAtModulo || e.value.style.layout.dataLabels.xAxis.showOnlyAtModulo && s % e.value.style.layout.dataLabels.xAxis.showOnlyAtModulo === 0 ? (u(), i("text", {
1021
- key: 0,
1022
- class: "vue-ui-heatmap-col-name",
1023
- "text-anchor": e.value.style.layout.dataLabels.xAxis.rotation === 0 ? "middle" : e.value.style.layout.dataLabels.xAxis.rotation < 0 ? "start" : "end",
1024
- "font-size": e.value.style.layout.dataLabels.xAxis.fontSize,
1025
- fill: e.value.style.layout.dataLabels.xAxis.color,
1026
- "font-weight": e.value.style.layout.dataLabels.xAxis.bold ? "bold" : "normal",
1027
- transform: `translate(${l.value.left + l.value.cellSize.width / 2 + l.value.width / m.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})`
1028
- }, O(a), 9, Ql)) : f("", !0)
1029
- ], 64))), 256))
1030
- ], 512)) : f("", !0),
1031
- e.value.style.layout.cells.columnTotal.value.show ? (u(), i("g", {
1032
- key: 5,
1033
- ref_key: "xAxisSums",
1034
- ref: Fe
1035
- }, [
1036
- (u(!0), i(z, null, V(m.value.xLabels, (a, s) => (u(), i("text", {
1037
- class: "vue-ui-heatmap-col-total",
1038
- "text-anchor": e.value.style.layout.cells.columnTotal.value.rotation === 0 ? "middle" : e.value.style.layout.cells.columnTotal.value.rotation < 0 ? "end" : "start",
1039
- "font-size": e.value.style.layout.dataLabels.xAxis.fontSize,
1040
- fill: e.value.style.layout.dataLabels.xAxis.color,
1041
- "font-weight": e.value.style.layout.dataLabels.xAxis.bold ? "bold" : "normal",
1042
- transform: `translate(${l.value.left + l.value.cellSize.width / 2 + l.value.width / m.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})`
1043
- }, O(Zt(s)), 9, Zl))), 256))
1044
- ], 512)) : f("", !0),
1045
- N.value ? (u(), i("g", ea, [
1046
- p("rect", {
1047
- style: { "pointer-events": "none" },
1048
- x: N.value.x - e.value.style.layout.cells.selected.border / 2 + r.value + l.value.sumCellXHeight,
1049
- y: N.value.y - e.value.style.layout.cells.selected.border / 2 + r.value,
1050
- width: l.value.cellSize.width - r.value + e.value.style.layout.cells.selected.border - r.value,
1051
- height: l.value.cellSize.height - r.value + e.value.style.layout.cells.selected.border - r.value,
1052
- fill: "transparent",
1053
- stroke: e.value.style.layout.cells.selected.color,
1054
- "stroke-width": e.value.style.layout.cells.selected.border,
1055
- rx: 1
1056
- }, null, 8, ta)
1057
- ])) : f("", !0),
1058
- e.value.style.layout.crosshairs.show && N.value ? (u(), i("g", la, [
1059
- p("line", {
1060
- x1: l.value.left + l.value.sumCellXHeight,
1061
- x2: N.value.x + l.value.sumCellXHeight,
1062
- y1: N.value.y + (l.value.cellSize.height - r.value) / 2,
1063
- y2: N.value.y + (l.value.cellSize.height - r.value) / 2,
1064
- stroke: e.value.style.layout.crosshairs.stroke,
1065
- "stroke-width": e.value.style.layout.crosshairs.strokeWidth,
1066
- "stroke-dasharray": e.value.style.layout.crosshairs.strokeDasharray,
1067
- "stroke-linecap": "round"
1068
- }, null, 8, aa),
1069
- p("line", {
1070
- x1: N.value.x + l.value.sumCellXHeight + (l.value.cellSize.width - r.value) / 2,
1071
- x2: N.value.x + l.value.sumCellXHeight + (l.value.cellSize.width - r.value) / 2,
1072
- y1: N.value.y,
1073
- y2: l.value.top,
1074
- stroke: e.value.style.layout.crosshairs.stroke,
1075
- "stroke-width": e.value.style.layout.crosshairs.strokeWidth,
1076
- "stroke-dasharray": e.value.style.layout.crosshairs.strokeDasharray,
1077
- "stroke-linecap": "round"
1078
- }, null, 8, oa)
1079
- ])) : f("", !0),
1080
- b(t.$slots, "svg", {
1081
- svg: {
1082
- ...F.value,
1083
- isPrintingImg: n(He) | n(Xe) | xe.value,
1084
- isPrintingSvg: we.value
1085
- }
1086
- }, void 0, !0)
1087
- ], 14, Vl)),
1088
- e.value.style.legend.show ? (u(), i("div", {
1089
- key: 0,
1090
- ref_key: "legendRight",
1091
- ref: Nt,
1092
- class: "vue-ui-heatmap-legend-right",
1093
- style: A({
1094
- "--legend-width": e.value.style.legend.width + "px"
1095
- })
1096
- }, [
1097
- n(Ce) ? f("", !0) : (u(), i("div", {
1098
- key: 0,
1099
- class: "vue-ui-heatmap-legend-label-max",
1100
- style: A({
1101
- fontSize: e.value.style.legend.fontSize + "px",
1102
- color: e.value.style.legend.color
1103
- })
1104
- }, O(n(J)(
1105
- e.value.style.layout.cells.value.formatter,
1106
- n(Q)(K.value),
1107
- n(Y)({
1108
- p: e.value.style.layout.dataLabels.prefix,
1109
- v: n(Q)(K.value),
1110
- s: e.value.style.layout.dataLabels.suffix,
1111
- r: e.value.style.legend.roundingValue
1112
- })
1113
- )), 5)),
1114
- p("div", sa, [
1115
- p("div", {
1116
- class: "vue-ui-heatmap-gauge",
1117
- style: A({
1118
- background: `linear-gradient(to bottom, ${e.value.style.layout.cells.colors.hot}, ${e.value.style.layout.cells.colors.cold})`
1119
- })
1120
- }, [
1121
- St(p("div", {
1122
- class: "vue-ui-heatmap-gauge-indicator",
1123
- "data-value": n(J)(
1124
- e.value.style.layout.cells.value.formatter,
1125
- n(Q)(X.value),
1126
- n(Y)({
1127
- p: e.value.style.layout.dataLabels.prefix,
1128
- v: n(Q)(X.value),
1129
- s: e.value.style.layout.dataLabels.suffix,
1130
- r: e.value.style.legend.roundingValue
1131
- })
1132
- ),
1133
- style: A({
1134
- position: "absolute",
1135
- width: "100%",
1136
- height: "2px",
1137
- background: [void 0, null].includes(X.value) ? "transparent" : n(ze)(Ae.value.datapoint.color),
1138
- top: `${[void 0, null].includes(X.value) ? 0 : (1 - X.value / K.value) * 100}%`,
1139
- transition: "all 0.2s ease-in-out",
1140
- "--background-color": e.value.style.backgroundColor,
1141
- "--gauge-arrow-color": n(ze)(e.value.style.backgroundColor),
1142
- "--gauge-arrow-text-color": n(ze)(e.value.style.backgroundColor),
1143
- "--gauge-arrow-value": X.value,
1144
- "--gauge-arrow-font-size": e.value.style.legend.fontSize + "px"
1145
- })
1146
- }, [
1147
- p("div", na, O(n(J)(
1148
- e.value.style.layout.cells.value.formatter,
1149
- n(Q)(X.value),
1150
- n(Y)({
1151
- p: e.value.style.layout.dataLabels.prefix,
1152
- v: n(Q)(X.value),
1153
- s: e.value.style.layout.dataLabels.suffix,
1154
- r: e.value.style.legend.roundingValue
1155
- })
1156
- )), 1)
1157
- ], 12, ua), [
1158
- [hl, ![void 0, null].includes(X.value)]
1159
- ])
1160
- ], 4)
1161
- ]),
1162
- n(Ce) ? f("", !0) : (u(), i("div", {
1163
- key: 1,
1164
- class: "vue-ui-heatmap-legend-label-min",
1165
- style: A({
1166
- fontSize: e.value.style.legend.fontSize + "px",
1167
- color: e.value.style.legend.color
1168
- })
1169
- }, O(n(J)(
1170
- e.value.style.layout.cells.value.formatter,
1171
- n(Q)(fe.value),
1172
- n(Y)({
1173
- p: e.value.style.layout.dataLabels.prefix,
1174
- v: n(Q)(fe.value),
1175
- s: e.value.style.layout.dataLabels.suffix,
1176
- r: e.value.style.legend.roundingValue
1177
- })
1178
- )), 5))
1179
- ], 4)) : f("", !0)
1180
- ], 2),
1181
- t.$slots.watermark ? (u(), i("div", ia, [
1182
- b(t.$slots, "watermark", D(I({ isPrinting: n(He) || n(Xe) || xe.value || we.value })), void 0, !0)
1183
- ])) : f("", !0),
1184
- t.$slots.source ? (u(), i("div", {
1185
- key: 5,
1186
- ref_key: "source",
1187
- ref: ot,
1188
- dir: "auto"
1189
- }, [
1190
- b(t.$slots, "source", {}, void 0, !0)
1191
- ], 512)) : f("", !0),
1192
- $e(n(q), {
1193
- teleportTo: e.value.style.tooltip.teleportTo,
1194
- show: P.value.showTooltip && ne.value,
1195
- backgroundColor: e.value.style.tooltip.backgroundColor,
1196
- color: e.value.style.tooltip.color,
1197
- borderRadius: e.value.style.tooltip.borderRadius,
1198
- borderColor: e.value.style.tooltip.borderColor,
1199
- borderWidth: e.value.style.tooltip.borderWidth,
1200
- fontSize: e.value.style.tooltip.fontSize,
1201
- backgroundOpacity: e.value.style.tooltip.backgroundOpacity,
1202
- position: e.value.style.tooltip.position,
1203
- offsetY: e.value.style.tooltip.offsetY,
1204
- parent: _.value,
1205
- content: Oe.value,
1206
- isFullscreen: se.value,
1207
- isCustom: e.value.style.tooltip.customFormat && typeof e.value.style.tooltip.customFormat == "function",
1208
- smooth: e.value.style.tooltip.smooth,
1209
- backdropFilter: e.value.style.tooltip.backdropFilter,
1210
- smoothForce: e.value.style.tooltip.smoothForce,
1211
- smoothSnapThreshold: e.value.style.tooltip.smoothSnapThreshold
1212
- }, {
1213
- "tooltip-before": x(() => [
1214
- b(t.$slots, "tooltip-before", D(I({ ...Ae.value })), void 0, !0)
1215
- ]),
1216
- "tooltip-after": x(() => [
1217
- b(t.$slots, "tooltip-after", D(I({ ...Ae.value })), void 0, !0)
1218
- ]),
1219
- _: 3
1220
- }, 8, ["teleportTo", "show", "backgroundColor", "color", "borderRadius", "borderColor", "borderWidth", "fontSize", "backgroundOpacity", "position", "offsetY", "parent", "content", "isFullscreen", "isCustom", "smooth", "backdropFilter", "smoothForce", "smoothSnapThreshold"]),
1221
- H.value && e.value.userOptions.buttons.table ? (u(), ge(yl(Te.value.component), fl({ key: 6 }, Te.value.props, {
1222
- ref_key: "tableUnit",
1223
- ref: ce,
1224
- onClose: Ue
1225
- }), Tt({
1226
- content: x(() => [
1227
- p("div", {
1228
- ref_key: "tableContainer",
1229
- ref: Ze,
1230
- class: "vue-ui-heatmap-table atom-data-table",
1231
- style: A(`${e.value.table.useDialog ? "" : "max-height: 300px; margin-top: 24px;"}`)
1232
- }, [
1233
- p("div", {
1234
- style: A(`width:100%;overflow-x:auto;position:relative;${e.value.table.useDialog ? "" : "padding-top:36px"};`),
1235
- class: pe({ "vue-ui-responsive": n(al) })
1236
- }, [
1237
- e.value.table.useDialog ? f("", !0) : (u(), i("div", {
1238
- key: 0,
1239
- role: "button",
1240
- tabindex: "0",
1241
- style: A(`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};`),
1242
- onClick: Ue,
1243
- onKeypress: pl(Ue, ["enter"])
1244
- }, [
1245
- $e(n(ee), {
1246
- name: "close",
1247
- stroke: e.value.table.th.color,
1248
- "stroke-width": 2
1249
- }, null, 8, ["stroke"])
1250
- ], 36)),
1251
- p("table", ra, [
1252
- e.value.table.useDialog ? f("", !0) : (u(), i("caption", {
1253
- key: 0,
1254
- style: A(`backgroundColor:${e.value.table.th.backgroundColor};color:${e.value.table.th.color};outline:${e.value.table.th.outline}`)
1255
- }, [
1256
- We(O(e.value.style.title.text) + " ", 1),
1257
- e.value.style.title.subtitle.text ? (u(), i("span", va, O(e.value.style.title.subtitle.text), 1)) : f("", !0)
1258
- ], 4)),
1259
- p("thead", null, [
1260
- p("tr", {
1261
- role: "row",
1262
- style: A(`background:${e.value.table.th.backgroundColor};color:${e.value.table.th.color}`)
1263
- }, [
1264
- p("th", {
1265
- style: A(`outline:${e.value.table.th.outline};padding-right:6px`)
1266
- }, null, 4),
1267
- (u(!0), i(z, null, V(h.dataset, (a, s) => (u(), i("th", {
1268
- align: "right",
1269
- style: A(`outline:${e.value.table.th.outline};padding-right:6px`)
1270
- }, O(a.name), 5))), 256))
1271
- ], 4)
1272
- ]),
1273
- p("tbody", null, [
1274
- (u(!0), i(z, null, V(m.value.xLabels, (a, s) => (u(), i("tr", {
1275
- role: "row",
1276
- class: pe({ "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 }),
1277
- style: A(`background:${e.value.table.td.backgroundColor};color:${e.value.table.td.color}`)
1278
- }, [
1279
- p("td", {
1280
- "data-cell": e.value.table.colNames.xAxis,
1281
- class: "vue-ui-data-table__tbody__td",
1282
- style: A(`outline:${e.value.table.td.outline}`)
1283
- }, [
1284
- p("div", da, O(a), 1)
1285
- ], 12, ca),
1286
- (u(!0), i(z, null, V(h.dataset, (c, d) => (u(), i("td", {
1287
- class: "vue-ui-data-table__tbody__td",
1288
- "data-cell": h.dataset[d].name,
1289
- style: A(`outline:${e.value.table.td.outline}`)
1290
- }, [
1291
- p("div", ya, O(isNaN(c.values[s]) ? "-" : n(Y)({ p: e.value.style.layout.dataLabels.prefix, v: c.values[s], s: e.value.style.layout.dataLabels.suffix, r: e.value.table.td.roundingValue })), 1)
1292
- ], 12, ha))), 256))
1293
- ], 6))), 256))
1294
- ])
1295
- ])
1296
- ], 6)
1297
- ], 4)
1298
- ]),
1299
- _: 2
1300
- }, [
1301
- e.value.table.useDialog ? {
1302
- name: "title",
1303
- fn: x(() => [
1304
- We(O(Te.value.title), 1)
1305
- ]),
1306
- key: "0"
1307
- } : void 0,
1308
- e.value.table.useDialog ? {
1309
- name: "actions",
1310
- fn: x(() => [
1311
- p("button", {
1312
- tabindex: "0",
1313
- class: "vue-ui-user-options-button",
1314
- onClick: o[0] || (o[0] = (a) => Be(e.value.userOptions.callbacks.csv)),
1315
- style: A({ cursor: ke.value ? "pointer" : "default" })
1316
- }, [
1317
- $e(n(ee), {
1318
- name: "fileCsv",
1319
- stroke: Te.value.props.color
1320
- }, null, 8, ["stroke"])
1321
- ], 4)
1322
- ]),
1323
- key: "1"
1324
- } : void 0
1325
- ]), 1040)) : f("", !0),
1326
- b(t.$slots, "skeleton", {}, () => [
1327
- n(Ce) ? (u(), ge($l, { key: 0 })) : f("", !0)
1328
- ], !0)
1329
- ], 46, Xl));
1330
- }
1331
- }, Na = /* @__PURE__ */ Il(fa, [["__scopeId", "data-v-674fc54e"]]);
1332
- export {
1333
- Na as default
1334
- };