vue-data-ui 3.22.7 → 3.22.9

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 (206) hide show
  1. package/dist/{Arrow-DaGI9u-b.js → Arrow-DdymhUfY.js} +1 -1
  2. package/dist/{BaseDraggableDialog-1wwwdwV2.js → BaseDraggableDialog-Av7Uxq5V.js} +2 -2
  3. package/dist/BaseIcon-UdRAvP2h.js +483 -0
  4. package/dist/{BaseLegendToggle-CHnlKalt.js → BaseLegendToggle-DWtet-Hh.js} +1 -1
  5. package/dist/{BaseZoomControls-C9bdZSCj.js → BaseZoomControls-BY2KLqs6.js} +2 -2
  6. package/dist/{ColorPicker-TB3KhY3j.js → ColorPicker-DR_ummtM.js} +2 -2
  7. package/dist/{DataTable-CVF7DoZn.js → DataTable-BxpTMgfK.js} +2 -2
  8. package/dist/DefGrad-DVBqDjhO.js +48 -0
  9. package/dist/{Legend-kAr7Vqqu.js → Legend-ROt6ugzW.js} +2 -2
  10. package/dist/{NonSvgPenAndPaper-CEiv7_gM.js → NonSvgPenAndPaper-B6EG_Sga.js} +3 -3
  11. package/dist/{PackageVersion-Dse0n05o.js → PackageVersion-D__dRVRA.js} +1 -1
  12. package/dist/{PenAndPaper-gaV1QPpP.js → PenAndPaper-DsXi7GJ-.js} +3 -3
  13. package/dist/{Shape-CiQIxyyT.js → Shape-UpH0a4Ur.js} +3 -3
  14. package/dist/{Slicer-6FOtg9py.js → Slicer-CW_XPIKL.js} +369 -364
  15. package/dist/{SlicerPreview-DUywypFu.js → SlicerPreview-CTz41lOu.js} +542 -537
  16. package/dist/{SparkTooltip-B-qsPj68.js → SparkTooltip-BTLN-Kex.js} +6 -6
  17. package/dist/{Title-PiTKr6sp.js → Title-CcNiYzEo.js} +1 -1
  18. package/dist/{Tooltip-B8yYfISA.js → Tooltip-CxOrWlFy.js} +1 -1
  19. package/dist/{UserOptions-BL9VlHop.js → UserOptions-trvJ26nz.js} +2 -2
  20. package/dist/components/arrow.js +1 -1
  21. package/dist/components/vue-ui-3d-bar.js +1 -1
  22. package/dist/components/vue-ui-accordion.js +1 -1
  23. package/dist/components/vue-ui-age-pyramid.js +1 -1
  24. package/dist/components/vue-ui-annotator.js +1 -1
  25. package/dist/components/vue-ui-bullet.js +1 -1
  26. package/dist/components/vue-ui-bump.js +1 -1
  27. package/dist/components/vue-ui-candlestick.js +1 -1
  28. package/dist/components/vue-ui-carousel-table.js +1 -1
  29. package/dist/components/vue-ui-chestnut.js +1 -1
  30. package/dist/components/vue-ui-chord.js +1 -1
  31. package/dist/components/vue-ui-circle-pack.js +1 -1
  32. package/dist/components/vue-ui-cursor.js +1 -1
  33. package/dist/components/vue-ui-dag.js +1 -1
  34. package/dist/components/vue-ui-dashboard.js +1 -1
  35. package/dist/components/vue-ui-digits.js +1 -1
  36. package/dist/components/vue-ui-donut-evolution.js +1 -1
  37. package/dist/components/vue-ui-donut.js +1 -1
  38. package/dist/components/vue-ui-dumbbell.js +1 -1
  39. package/dist/components/vue-ui-flow.js +1 -1
  40. package/dist/components/vue-ui-funnel.js +1 -1
  41. package/dist/components/vue-ui-galaxy.js +1 -1
  42. package/dist/components/vue-ui-gauge.js +1 -1
  43. package/dist/components/vue-ui-geo.js +1 -1
  44. package/dist/components/vue-ui-gizmo.js +1 -1
  45. package/dist/components/vue-ui-heatmap.js +1 -1
  46. package/dist/components/vue-ui-history-plot.js +1 -1
  47. package/dist/components/vue-ui-horizontal-bar.js +1 -1
  48. package/dist/components/vue-ui-icon.js +1 -1
  49. package/dist/components/vue-ui-kpi.js +1 -1
  50. package/dist/components/vue-ui-mini-loader.js +1 -1
  51. package/dist/components/vue-ui-molecule.js +1 -1
  52. package/dist/components/vue-ui-mood-radar.js +1 -1
  53. package/dist/components/vue-ui-nested-donuts.js +1 -1
  54. package/dist/components/vue-ui-onion.js +1 -1
  55. package/dist/components/vue-ui-parallel-coordinate-plot.js +1 -1
  56. package/dist/components/vue-ui-quadrant.js +1 -1
  57. package/dist/components/vue-ui-quick-chart.js +1 -1
  58. package/dist/components/vue-ui-radar.js +1 -1
  59. package/dist/components/vue-ui-rating.js +1 -1
  60. package/dist/components/vue-ui-relation-circle.js +1 -1
  61. package/dist/components/vue-ui-ridgeline.js +1 -1
  62. package/dist/components/vue-ui-rings.js +1 -1
  63. package/dist/components/vue-ui-scatter.js +1 -1
  64. package/dist/components/vue-ui-skeleton.js +1 -1
  65. package/dist/components/vue-ui-smiley.js +1 -1
  66. package/dist/components/vue-ui-spark-trend.js +1 -1
  67. package/dist/components/vue-ui-sparkbar.js +1 -1
  68. package/dist/components/vue-ui-sparkgauge.js +1 -1
  69. package/dist/components/vue-ui-sparkhistogram.js +1 -1
  70. package/dist/components/vue-ui-sparkline.js +1 -1
  71. package/dist/components/vue-ui-sparkstackbar.js +1 -1
  72. package/dist/components/vue-ui-stackbar.js +1 -1
  73. package/dist/components/vue-ui-stackline.js +1 -1
  74. package/dist/components/vue-ui-strip-plot.js +1 -1
  75. package/dist/components/vue-ui-table-heatmap.js +1 -1
  76. package/dist/components/vue-ui-table-sparkline.js +1 -1
  77. package/dist/components/vue-ui-table.js +1 -1
  78. package/dist/components/vue-ui-thermometer.js +1 -1
  79. package/dist/components/vue-ui-timer.js +1 -1
  80. package/dist/components/vue-ui-tiremarks.js +1 -1
  81. package/dist/components/vue-ui-treemap.js +1 -1
  82. package/dist/components/vue-ui-vertical-bar.js +1 -1
  83. package/dist/components/vue-ui-waffle.js +1 -1
  84. package/dist/components/vue-ui-wheel.js +1 -1
  85. package/dist/components/vue-ui-word-cloud.js +1 -1
  86. package/dist/components/vue-ui-world.js +1 -1
  87. package/dist/components/vue-ui-xy-canvas.js +1 -1
  88. package/dist/components/vue-ui-xy.js +1 -1
  89. package/dist/{dom-to-png-BZjYWNEg.js → dom-to-png-BbwhsRIr.js} +1 -1
  90. package/dist/exposedLib-VXFp3Z2c.js +19 -0
  91. package/dist/{geoProjections-Czak6Jn1.js → geoProjections-BbN7z57k.js} +172 -15
  92. package/dist/{img-B_abIg0o.js → img-DnP3eXuv.js} +1 -1
  93. package/dist/{labelUtils-CTDRZdP1.js → labelUtils-DBEh078l.js} +1 -1
  94. package/dist/{lib-EAmk-PgA.js → lib-JqW18y5I.js} +36 -30
  95. package/dist/{package-DeMimPej.js → package-ByOT60IK.js} +1 -1
  96. package/dist/{pdf-B6qrdEqB.js → pdf-hj3gzrE7.js} +1 -1
  97. package/dist/{render-common-DMai0gHB.js → render-common-D18VrP0h.js} +20 -20
  98. package/dist/ssr/vue-ui-donut.js +1 -1
  99. package/dist/ssr/vue-ui-xy.js +1 -1
  100. package/dist/ssr.js +2 -2
  101. package/dist/style.css +1 -1
  102. package/dist/types/utils.d.ts +18 -0
  103. package/dist/{useAutoSizeLabelsInsideViewbox-CyOGrdD_.js → useAutoSizeLabelsInsideViewbox-BGnDfZdg.js} +1 -1
  104. package/dist/{useNestedProp-D8XqxgOU.js → useNestedProp-DIuuzG1r.js} +1 -1
  105. package/dist/{usePrinter-DnGzpp6Q.js → usePrinter-CqqHmnBI.js} +2 -2
  106. package/dist/utils.js +24 -24
  107. package/dist/{vue-data-ui-D6qVWloL.js → vue-data-ui-ub3fCh6P.js} +68 -68
  108. package/dist/vue-data-ui.js +77 -77
  109. package/dist/vue-ui-3d-bar-taPI41_I.js +1825 -0
  110. package/dist/{vue-ui-accordion-Dzz8XhX3.js → vue-ui-accordion-CjAGqEJg.js} +3 -3
  111. package/dist/vue-ui-age-pyramid-jvQZbF8E.js +1247 -0
  112. package/dist/{vue-ui-annotator-DXZumSP8.js → vue-ui-annotator-BIucnT0L.js} +67 -67
  113. package/dist/vue-ui-bullet-CIATzlsk.js +710 -0
  114. package/dist/vue-ui-bump-D8MxltQE.js +1249 -0
  115. package/dist/vue-ui-candlestick-DULUMU-Q.js +1840 -0
  116. package/dist/vue-ui-carousel-table-BSmdexG7.js +455 -0
  117. package/dist/{vue-ui-chestnut-C3IbAdkQ.js → vue-ui-chestnut-BIh1nQ7q.js} +585 -553
  118. package/dist/vue-ui-chord-DL1M7cgL.js +1391 -0
  119. package/dist/{vue-ui-circle-pack-Cq4lkmee.js → vue-ui-circle-pack-C1Pgq6si.js} +424 -418
  120. package/dist/{vue-ui-cursor-DLJcFwRZ.js → vue-ui-cursor-d2uLAKTQ.js} +61 -61
  121. package/dist/{vue-ui-dag-DemsIecS.js → vue-ui-dag-CVh9FpZr.js} +43 -43
  122. package/dist/{vue-ui-dashboard-DWHD_wNN.js → vue-ui-dashboard-BH0N3ebj.js} +69 -69
  123. package/dist/{vue-ui-digits-sIKc85vS.js → vue-ui-digits-R6wi3J-Y.js} +3 -3
  124. package/dist/{vue-ui-donut-Dp6GW0dw.js → vue-ui-donut-BWDeVzLc.js} +201 -201
  125. package/dist/{vue-ui-donut-CLheJPcO.js → vue-ui-donut-BoZdciGh.js} +825 -816
  126. package/dist/{vue-ui-donut-evolution-zmRPpJLj.js → vue-ui-donut-evolution-CpC9EMro.js} +486 -474
  127. package/dist/{vue-ui-dumbbell-bSbgHd0U.js → vue-ui-dumbbell-DGA5Bfnl.js} +520 -486
  128. package/dist/{vue-ui-flow-q_M7O1BK.js → vue-ui-flow-CNczKwTh.js} +119 -119
  129. package/dist/vue-ui-funnel-CaD2tZCT.js +782 -0
  130. package/dist/{vue-ui-galaxy-DCCWmIyH.js → vue-ui-galaxy-v3cTbUiM.js} +342 -342
  131. package/dist/vue-ui-gauge-DxvMjfoc.js +926 -0
  132. package/dist/{vue-ui-geo-CM59rpnj.js → vue-ui-geo-BgmLkZZ2.js} +14 -14
  133. package/dist/{vue-ui-gizmo-D2RL6IVp.js → vue-ui-gizmo-n1kmcGeE.js} +66 -61
  134. package/dist/{vue-ui-heatmap-BX6PQxML.js → vue-ui-heatmap-dSTh8ah_.js} +163 -163
  135. package/dist/{vue-ui-history-plot-DaHAeQph.js → vue-ui-history-plot-N8BqMFVU.js} +572 -561
  136. package/dist/vue-ui-horizontal-bar-CwiQxYzv.js +1689 -0
  137. package/dist/{vue-ui-kpi-DLbP7lJR.js → vue-ui-kpi-BKrUk9o8.js} +4 -4
  138. package/dist/{vue-ui-mini-loader-DPHzHsM7.js → vue-ui-mini-loader-D5we7V_W.js} +2 -2
  139. package/dist/vue-ui-molecule--kK1JfnP.js +931 -0
  140. package/dist/{vue-ui-mood-radar-CCWaPr0P.js → vue-ui-mood-radar-CpBRHQo_.js} +246 -241
  141. package/dist/vue-ui-nested-donuts-8Ehwcuns.js +1493 -0
  142. package/dist/vue-ui-onion-Cf6JiYTH.js +1200 -0
  143. package/dist/vue-ui-parallel-coordinate-plot-Blnqp1DB.js +1416 -0
  144. package/dist/{vue-ui-quadrant-T_UmRAAy.js → vue-ui-quadrant-CxU0jiOm.js} +410 -404
  145. package/dist/vue-ui-quick-chart-BO98uEPl.js +2469 -0
  146. package/dist/{vue-ui-radar-CHjeGOMC.js → vue-ui-radar-eH2Qih4_.js} +323 -317
  147. package/dist/{vue-ui-rating-Bek8Tgr-.js → vue-ui-rating-CN-ZiAES.js} +137 -128
  148. package/dist/{vue-ui-relation-circle-DRZGQ_UX.js → vue-ui-relation-circle-BIcP-aAt.js} +167 -167
  149. package/dist/{vue-ui-ridgeline-DIODGiu8.js → vue-ui-ridgeline-ChXHzEJw.js} +538 -532
  150. package/dist/vue-ui-rings-J990vNbX.js +1252 -0
  151. package/dist/vue-ui-scatter-BeJB0EKg.js +2422 -0
  152. package/dist/{vue-ui-skeleton-Fmue6DAG.js → vue-ui-skeleton-DC2bZ0nk.js} +385 -382
  153. package/dist/{vue-ui-smiley-BVMI5vUy.js → vue-ui-smiley-Dyyu1je3.js} +119 -106
  154. package/dist/vue-ui-spark-trend-CpDX85H3.js +443 -0
  155. package/dist/vue-ui-sparkbar-DhIo1qsW.js +398 -0
  156. package/dist/{vue-ui-sparkgauge-DDNNBIdf.js → vue-ui-sparkgauge-D0Fo3Hts.js} +79 -74
  157. package/dist/vue-ui-sparkhistogram-CUjFiuAh.js +576 -0
  158. package/dist/{vue-ui-sparkline-BNxdO-Bx.js → vue-ui-sparkline-ApivEMBP.js} +397 -384
  159. package/dist/{vue-ui-sparkstackbar-BfF5-Wg2.js → vue-ui-sparkstackbar-DsKQJx_n.js} +207 -195
  160. package/dist/{vue-ui-stackbar-B-2Me3d-.js → vue-ui-stackbar-Ds4hXATH.js} +595 -588
  161. package/dist/vue-ui-stackline-DJbcVvmN.js +2425 -0
  162. package/dist/vue-ui-strip-plot-C3ZHf4bD.js +1736 -0
  163. package/dist/{vue-ui-table-heatmap-D-Qrm3oX.js → vue-ui-table-heatmap-CNXNXXBU.js} +14 -14
  164. package/dist/vue-ui-table-sparkline-B9JJ4pFF.js +712 -0
  165. package/dist/{vue-ui-table-Dr1dK3d_.js → vue-ui-table-uudidrYt.js} +62 -62
  166. package/dist/vue-ui-thermometer-Bvw3oQb3.js +770 -0
  167. package/dist/{vue-ui-timer-B5bkNNHS.js → vue-ui-timer-5NAWw5BN.js} +94 -89
  168. package/dist/{vue-ui-tiremarks-Bn8b-ZSz.js → vue-ui-tiremarks-Caz_g1c5.js} +13 -13
  169. package/dist/vue-ui-treemap-F9upPyOI.js +1718 -0
  170. package/dist/vue-ui-waffle-Bk9AsrPp.js +1368 -0
  171. package/dist/{vue-ui-wheel-CeVwXtEX.js → vue-ui-wheel-DD6Q39BA.js} +130 -130
  172. package/dist/{vue-ui-word-cloud-D81-qJLw.js → vue-ui-word-cloud-BZLT5svo.js} +27 -27
  173. package/dist/vue-ui-world-DbEJN5NA.js +3027 -0
  174. package/dist/{vue-ui-xy-C2p9H2IX.js → vue-ui-xy-BYMAITk_.js} +1655 -1629
  175. package/dist/{vue-ui-xy-OhwS0kcZ.js → vue-ui-xy-Cn9Q8YPr.js} +116 -116
  176. package/dist/{vue-ui-xy-canvas-DLKDdH35.js → vue-ui-xy-canvas-Dcm2ftwm.js} +58 -58
  177. package/package.json +1 -1
  178. package/dist/BaseIcon-_-BX7be3.js +0 -502
  179. package/dist/exposedLib-Be0ifkti.js +0 -19
  180. package/dist/vue-ui-3d-bar-CjNuWXoA.js +0 -1757
  181. package/dist/vue-ui-age-pyramid-CC7Dxli-.js +0 -1238
  182. package/dist/vue-ui-bullet-Dde6FhbR.js +0 -710
  183. package/dist/vue-ui-bump-C5pni1JV.js +0 -1249
  184. package/dist/vue-ui-candlestick-Ctw65O4_.js +0 -1829
  185. package/dist/vue-ui-carousel-table-BEUvhUH0.js +0 -455
  186. package/dist/vue-ui-chord-5eCWG4br.js +0 -1391
  187. package/dist/vue-ui-funnel-BEZUEuuh.js +0 -777
  188. package/dist/vue-ui-gauge-B1ljgfE1.js +0 -920
  189. package/dist/vue-ui-horizontal-bar-CTW6l4n3.js +0 -1683
  190. package/dist/vue-ui-molecule-aD0SMTiX.js +0 -925
  191. package/dist/vue-ui-nested-donuts--BCPWkl7.js +0 -1487
  192. package/dist/vue-ui-onion-s4iMCGAP.js +0 -1200
  193. package/dist/vue-ui-parallel-coordinate-plot-CfgvpyoC.js +0 -1416
  194. package/dist/vue-ui-quick-chart-D1OWBgQJ.js +0 -2469
  195. package/dist/vue-ui-rings-CcdUSXGG.js +0 -1246
  196. package/dist/vue-ui-scatter-CixnqLoi.js +0 -2413
  197. package/dist/vue-ui-spark-trend-DfZeLiWA.js +0 -438
  198. package/dist/vue-ui-sparkbar-Cl1e49sw.js +0 -393
  199. package/dist/vue-ui-sparkhistogram-ny_liYa6.js +0 -560
  200. package/dist/vue-ui-stackline-CdvVPQUM.js +0 -2419
  201. package/dist/vue-ui-strip-plot-CRXPXA5V.js +0 -1729
  202. package/dist/vue-ui-table-sparkline-C31Q32My.js +0 -712
  203. package/dist/vue-ui-thermometer-BUrtIfuo.js +0 -763
  204. package/dist/vue-ui-treemap-LMWiicop.js +0 -1713
  205. package/dist/vue-ui-waffle-B_L3gkky.js +0 -1362
  206. package/dist/vue-ui-world-B7npRmTa.js +0 -14264
@@ -1,1713 +0,0 @@
1
- import { t as e } from "./rolldown-runtime-Dy4uBu1J.js";
2
- import { Gt as t, J as n, Ot as r, Q as i, S as a, Tt as o, Ut as s, W as c, X as l, at as u, b as d, i as f, jt as p, q as ee, r as te, t as ne, vt as re, w as ie } from "./lib-EAmk-PgA.js";
3
- import { t as ae } from "./useConfig-DYM3f6EI.js";
4
- import { t as oe } from "./usePrinter-DnGzpp6Q.js";
5
- import { n as se, t as ce } from "./BaseScanner-DZvpgOjM.js";
6
- import { t as le } from "./useSvgExport-SVIsDot8.js";
7
- import { t as ue } from "./useNestedProp-D8XqxgOU.js";
8
- import { t as de } from "./useThemeCheck-C43Tcqmk.js";
9
- import { t as fe } from "./img-B_abIg0o.js";
10
- import { n as pe } from "./Title-PiTKr6sp.js";
11
- import { t as me } from "./_plugin-vue_export-helper-B3ysoDQm.js";
12
- import { c as he } from "./canvas-lib-BOP_HS11.js";
13
- import { t as ge } from "./useResponsive-BfnK0KxU.js";
14
- import { t as _e } from "./BaseIcon-_-BX7be3.js";
15
- import { t as ve } from "./BaseLegendToggle-CHnlKalt.js";
16
- import { t as ye } from "./A11yDataTable-DdRsVULz.js";
17
- import { t as be } from "./useUserOptionState-DK-_1ddE.js";
18
- import { t as xe } from "./useChartAccessibility-DYqac8yF.js";
19
- import { t as Se } from "./Legend-kAr7Vqqu.js";
20
- import { t as Ce } from "./usePrefersMotion-BC-CsqR1.js";
21
- import { t as we } from "./usePanZoom-CYU3B4T3.js";
22
- import { t as Te } from "./vue_ui_treemap-DoEtkRN6.js";
23
- import { Fragment as Ee, Teleport as De, computed as m, createBlock as h, createCommentVNode as g, createElementBlock as _, createElementVNode as v, createSlots as Oe, createTextVNode as ke, createVNode as Ae, defineAsyncComponent as y, guardReactiveProps as b, mergeProps as je, nextTick as Me, normalizeClass as Ne, normalizeProps as x, normalizeStyle as S, onBeforeUnmount as Pe, onMounted as Fe, openBlock as C, ref as w, renderList as Ie, renderSlot as T, resolveDynamicComponent as Le, shallowRef as E, toDisplayString as Re, toRefs as ze, unref as D, useCssVars as Be, useSlots as Ve, watch as O, withCtx as k, withKeys as He, withModifiers as Ue } from "vue";
24
- //#region src/treemap.js
25
- function We(e, t) {
26
- let n = e.length;
27
- if (n === 0) throw Error(`Max aspect ratio cannot be computed: ${e} is an empty array`);
28
- {
29
- let r = Infinity, i = -Infinity, a = 0;
30
- for (let t = 0; t < n; t += 1) {
31
- let n = e[t].normalizedValue;
32
- n < r && (r = n), n > i && (i = n), a += n;
33
- }
34
- return Math.max(t ** 2 * i / a ** 2, a ** 2 / (t ** 2 * r));
35
- }
36
- }
37
- function Ge(e) {
38
- let { xOffset: t, yOffset: n, width: r, height: i } = e;
39
- return {
40
- x0: t,
41
- y0: n,
42
- x1: t + r,
43
- y1: n + i
44
- };
45
- }
46
- function Ke(e, t, n) {
47
- if (e.length === 0) return !0;
48
- {
49
- let r = e.concat(t);
50
- return We(e, n) >= We(r, n);
51
- }
52
- }
53
- function qe(e) {
54
- let t = [], n = e.length;
55
- for (let r = 0; r < n; r += 1) {
56
- let n = e[r], i = n.length;
57
- for (let e = 0; e < i; e += 1) t.push(n[e]);
58
- }
59
- return t;
60
- }
61
- function Je(e, t) {
62
- return tt({
63
- ...t,
64
- children: e
65
- });
66
- }
67
- function Ye(e) {
68
- return (e.x1 - e.x0) * (e.y1 - e.y0);
69
- }
70
- function Xe(e, t) {
71
- let { width: n, height: r, xOffset: i, yOffset: a } = $e(t), o = e.length, s = e.map((e) => e.normalizedValue || 0).reduce((e, t) => e + t, 0), c = s / r, l = s / n, u = i, d = a, f = [];
72
- if (n >= r) {
73
- for (let t = 0; t < o; t += 1) {
74
- let n = e[t], r = d + n.normalizedValue / c, i = {
75
- x0: u,
76
- y0: d,
77
- x1: u + c,
78
- y1: r
79
- }, a = Object.assign({}, n, i);
80
- d = r, f.push(a);
81
- }
82
- return f;
83
- } else {
84
- for (let t = 0; t < o; t += 1) {
85
- let n = e[t], r = u + n.normalizedValue / l, i = {
86
- x0: u,
87
- y0: d,
88
- x1: r,
89
- y1: d + l
90
- }, a = Object.assign({}, n, i);
91
- u = r, f.push(a);
92
- }
93
- return f;
94
- }
95
- }
96
- function Ze(e) {
97
- let t = $e(e), n = t.width, r = t.height;
98
- return Math.min(n, r);
99
- }
100
- function Qe(e, t) {
101
- let n = e.length, r = t / e.map((e) => e.value ?? 0).reduce((e, t) => e + t, 0), i = [], a, o;
102
- for (let t = 0; t < n; t += 1) o = e[t], a = Object.assign({}, o, { normalizedValue: o.value * (r || 0) }), i.push(a);
103
- return i;
104
- }
105
- function $e(e) {
106
- let { x0: t, y0: n, x1: r, y1: i } = e;
107
- return {
108
- xOffset: t,
109
- yOffset: n,
110
- width: r - t,
111
- height: i - n
112
- };
113
- }
114
- function et(e, t, n, r) {
115
- let i = e, a = t, o = n, s = r;
116
- for (;;) {
117
- let e = i.length;
118
- if (e === 0) {
119
- let e = Xe(a, o);
120
- return s.concat(e);
121
- }
122
- let t = Ze(o), n = i[0], r = i.slice(1, e);
123
- if (Ke(a, n, t)) {
124
- let e = a.concat(n);
125
- i = r, a = e, o = o, s = s;
126
- } else {
127
- let e = a.length, t = 0;
128
- for (let n = 0; n < e; n += 1) t += a[n].normalizedValue;
129
- let n = A(o, t), r = Xe(a, o), c = s.concat(r);
130
- i = i, a = [], o = n, s = c;
131
- }
132
- }
133
- }
134
- function tt(e) {
135
- if (e.children === void 0 || !e.children.length) return [e];
136
- {
137
- let t = et(Qe(e.children, Ye(e)), [], e, []), n = t.length, r = [];
138
- for (let e = 0; e < n; e += 1) r.push(tt(t[e]));
139
- return qe(r);
140
- }
141
- }
142
- function A(e, t) {
143
- let { width: n, height: r, xOffset: i, yOffset: a } = $e(e);
144
- if (n >= r) {
145
- let e = t / r, o = n - e;
146
- return Ge({
147
- xOffset: i + e,
148
- yOffset: a,
149
- width: o,
150
- height: r
151
- });
152
- } else {
153
- let e = t / n, o = r - e;
154
- return Ge({
155
- xOffset: i,
156
- yOffset: a + e,
157
- width: n,
158
- height: o
159
- });
160
- }
161
- }
162
- //#endregion
163
- //#region src/components/vue-ui-treemap.vue
164
- var nt = /* @__PURE__ */ e({ default: () => Mt }), rt = ["id"], it = ["id"], at = ["id"], ot = [
165
- "tabindex",
166
- "onClick",
167
- "onKeydown",
168
- "data-last-crumb",
169
- "onMouseenter",
170
- "onFocus"
171
- ], st = { class: "vue-ui-treemap-crumb-unit" }, ct = { class: "vue-ui-treemap-crumb-unit-label" }, lt = {
172
- key: 0,
173
- style: {
174
- width: "24px",
175
- display: "flex",
176
- "align-items": "center"
177
- }
178
- }, ut = {
179
- key: 0,
180
- class: "vue-ui-treemap-crumb-unit-arrow"
181
- }, dt = { style: { position: "relative" } }, ft = [
182
- "xmlns",
183
- "aria-describedby",
184
- "viewBox"
185
- ], pt = { key: 0 }, mt = ["id"], ht = ["stop-color"], gt = ["stop-color"], _t = [
186
- "x",
187
- "y",
188
- "height",
189
- "width",
190
- "fill",
191
- "rx",
192
- "stroke",
193
- "stroke-width",
194
- "onClick",
195
- "onMouseenter",
196
- "onMouseleave"
197
- ], vt = ["id"], yt = [
198
- "x",
199
- "y",
200
- "width",
201
- "height"
202
- ], bt = ["clip-path"], xt = [
203
- "transform",
204
- "fill",
205
- "font-size",
206
- "font-family",
207
- "font-weight"
208
- ], St = { key: 0 }, Ct = [
209
- "x",
210
- "y",
211
- "height",
212
- "width"
213
- ], wt = {
214
- style: {
215
- width: "100%",
216
- height: "100%",
217
- overflow: "hidden"
218
- },
219
- class: "vue-ui-treemap-cell"
220
- }, Tt = {
221
- key: 0,
222
- "data-dom-to-png-ignore": "",
223
- class: "reset-wrapper"
224
- }, Et = {
225
- key: 1,
226
- style: {
227
- position: "absolute",
228
- top: "100%",
229
- left: "0",
230
- width: "100%"
231
- },
232
- "data-dom-to-png-ignore": "",
233
- "aria-hidden": "true"
234
- }, Dt = {
235
- key: 6,
236
- class: "vue-data-ui-watermark"
237
- }, Ot = ["id"], kt = ["onClick"], At = ["innerHTML"], jt = 4, Mt = /*#__PURE__*/ me({
238
- __name: "vue-ui-treemap",
239
- props: {
240
- config: {
241
- type: Object,
242
- default() {
243
- return {};
244
- }
245
- },
246
- dataset: {
247
- type: Array,
248
- default() {
249
- return [];
250
- }
251
- }
252
- },
253
- emits: [
254
- "selectLegend",
255
- "selectDatapoint",
256
- "copyAlt"
257
- ],
258
- setup(e, { expose: me, emit: We }) {
259
- Be((e) => ({ v76935d24: pi.value }));
260
- let Ge = y(() => import("./DataTable-CVF7DoZn.js")), Ke = y(() => import("./PenAndPaper-gaV1QPpP.js").then((e) => e.t)), qe = y(() => import("./vue-ui-accordion-Dzz8XhX3.js").then((e) => e.n)), Ye = y(() => import("./Tooltip-B8yYfISA.js")), Xe = y(() => import("./UserOptions-BL9VlHop.js").then((e) => e.n)), Ze = y(() => import("./PackageVersion-Dse0n05o.js").then((e) => e.t)), Qe = y(() => import("./BaseDraggableDialog-1wwwdwV2.js").then((e) => e.n)), { vue_ui_treemap: $e } = ae(), { isThemeValid: et, warnInvalidTheme: tt } = de(), A = e, nt = We, Mt = Ve(), Nt = Ce();
261
- Fe(() => {
262
- Mt["chart-background"] && console.warn("VueUiTreemap does not support the #chart-background slot.");
263
- });
264
- let Pt = m(() => !!A.dataset && A.dataset.length), Ft = m(() => /^((?!chrome|android).)*safari/i.test(navigator.userAgent)), j = w(c()), It = w(!1), Lt = w(""), Rt = w(!1), zt = w(0), M = w([]), N = E(null), Bt = E(null), Vt = E(null), Ht = E(null), Ut = E(null), Wt = w(0), Gt = w(0), Kt = w(0), P = w([]), qt = w(null), Jt = w(!1), Yt = w(null), Xt = w(null), Zt = w(null), Qt = w(/* @__PURE__ */ new Map()), $t = w(!1), en = w(!1), F = w(null), tn = w({
265
- x: 0,
266
- y: 0
267
- }), nn = w("pointer"), rn = w(!1), I = w(dn()), L = m(() => I.value.userOptions.useCursorPointer), an = m(() => t({
268
- defaultConfig: {
269
- userOptions: { show: !1 },
270
- style: { chart: {
271
- backgroundColor: "#999999",
272
- layout: {
273
- labels: { showDefaultLabels: !1 },
274
- rects: { stroke: "#6A6A6A" }
275
- },
276
- legend: { backgroundColor: "transparent" }
277
- } }
278
- },
279
- userConfig: I.value.skeletonConfig ?? {}
280
- })), { loading: R, FINAL_DATASET: on, manualLoading: sn } = se({
281
- ...ze(A),
282
- FINAL_CONFIG: I,
283
- prepareConfig: dn,
284
- skeletonDataset: A.config?.skeletonDataset ?? [{
285
- name: "_",
286
- value: 53,
287
- color: "#CACACA90",
288
- children: [
289
- {
290
- name: "_",
291
- value: 21
292
- },
293
- {
294
- name: "_",
295
- value: 13
296
- },
297
- {
298
- name: "_",
299
- value: 8
300
- },
301
- {
302
- name: "_",
303
- value: 5
304
- },
305
- {
306
- name: "_",
307
- value: 3
308
- },
309
- {
310
- name: "_",
311
- value: 2
312
- },
313
- {
314
- name: "_",
315
- value: 1
316
- }
317
- ]
318
- }],
319
- skeletonConfig: t({
320
- defaultConfig: I.value,
321
- userConfig: an.value
322
- })
323
- }), { userOptionsVisible: cn, setUserOptionsVisibility: ln, keepUserOptionState: un } = be({ config: I.value }), { svgRef: z } = xe({ config: I.value.style.chart.title });
324
- function dn() {
325
- let e = ue({
326
- userConfig: A.config,
327
- defaultConfig: $e
328
- }), t = e.theme;
329
- if (!t) return e;
330
- if (!et.value(e)) return tt(e), e;
331
- let n = ue({
332
- userConfig: Te[t] || A.config,
333
- defaultConfig: e
334
- }), r = ue({
335
- userConfig: A.config,
336
- defaultConfig: n
337
- });
338
- return {
339
- ...r,
340
- customPalette: r.customPalette.length ? r.customPalette : s[t] || p
341
- };
342
- }
343
- O(() => A.config, (e) => {
344
- R.value || (I.value = dn()), cn.value = !I.value.userOptions.showOnChartHover, Wt.value += 1, Gt.value += 1, Kt.value += 1, B.value.showTable = I.value.table.show, B.value.showTooltip = I.value.style.chart.tooltip.show, B.value.showZoom = I.value.style.chart.zoom?.show ?? !1;
345
- }, { deep: !0 });
346
- let { isPrinting: fn, isImaging: pn, generatePdf: mn, generateImage: hn } = oe({
347
- elementId: `treemap_${j.value}`,
348
- fileName: I.value.style.chart.title.text || "vue-ui-treemap",
349
- options: I.value.userOptions.print
350
- }), gn = m(() => I.value.userOptions.show && !I.value.style.chart.title.text), _n = m(() => a(I.value.customPalette)), B = w({
351
- showTable: I.value.table.show,
352
- showTooltip: I.value.style.chart.tooltip.show,
353
- showZoom: I.value.style.chart.zoom?.show ?? !1
354
- });
355
- O(I, () => {
356
- B.value = {
357
- showTable: I.value.table.show,
358
- showTooltip: I.value.style.chart.tooltip.show,
359
- showZoom: I.value.style.chart.zoom?.show ?? !1
360
- };
361
- }, { immediate: !0 });
362
- let vn = w({
363
- height: I.value.style.chart.height,
364
- width: I.value.style.chart.width
365
- });
366
- function yn(e) {
367
- let t = N.value, n = vn.value.height;
368
- return !t || !n ? e : e * (n / t.getBoundingClientRect().height);
369
- }
370
- function bn() {
371
- if (!qt.value || X.value.length <= 1) return 0;
372
- let e = qt.value, t = getComputedStyle(e);
373
- return yn(e.offsetHeight + parseFloat(t.marginTop || "0") + parseFloat(t.marginBottom || "0") + parseFloat(t.paddingTop || "0") + parseFloat(t.paddingBottom || "0"));
374
- }
375
- let V = m(() => {
376
- let e = I.value.style.chart.padding, t = vn.value.width, n = vn.value.height, r = bn(), i = e.left, a = t - e.right, o = e.top, s = n - e.bottom - r;
377
- return {
378
- left: i,
379
- top: o,
380
- right: a,
381
- bottom: s,
382
- width: a - i,
383
- height: Math.max(0, s - o),
384
- vbWidth: t,
385
- vbHeight: n - r,
386
- offsetY: r
387
- };
388
- }), H = w(n(on.value)), U = w(H.value), xn = E(/* @__PURE__ */ new Map());
389
- O([H, () => I.value], () => {
390
- Zt.value = null, Qt.value = /* @__PURE__ */ new Map();
391
- }, { deep: !0 }), O(() => M.value, () => {
392
- Zt.value = null, Qt.value = /* @__PURE__ */ new Map(), Tn(), Kt.value += 1, Gt.value += 1;
393
- }, { deep: !0 }), O([() => vn.value.width, () => vn.value.height], () => {
394
- Qt.value = /* @__PURE__ */ new Map();
395
- });
396
- function Sn(e) {
397
- Array.isArray(e) && e.forEach((e, t) => {
398
- e.id ||= c(), e.sourceColor === void 0 && (e.sourceColor = d(e.color) || null);
399
- let n = e.sourceColor || xn.value.get(e.id) || _n.value[t] || p[t] || p[t % p.length];
400
- n = d(n), xn.value.set(e.id, n), e.color = n, Cn(e, n);
401
- });
402
- }
403
- function Cn(e, t) {
404
- Array.isArray(e.children) && e.children.forEach((n) => {
405
- n.id ||= c(), n.parentId = e.id, n.sourceColor === void 0 && (n.sourceColor = d(n.color) || null);
406
- let r = n.sourceColor || t;
407
- n.color = r, Cn(n, r);
408
- });
409
- }
410
- function wn(e) {
411
- let t = Y(e);
412
- for (; t?.parentId;) t = Y(t.parentId);
413
- return t?.id ?? null;
414
- }
415
- function Tn() {
416
- let e = H.value.filter((e) => !M.value.includes(e.id));
417
- if (!P.value.length) {
418
- U.value = e;
419
- return;
420
- }
421
- let t = P.value[P.value.length - 1], n = Y(t);
422
- if (!n) {
423
- P.value = [], U.value = e;
424
- return;
425
- }
426
- let r = wn(n.id);
427
- if (r && M.value.includes(r)) {
428
- P.value = [], U.value = e;
429
- return;
430
- }
431
- U.value = [n];
432
- }
433
- O(() => on.value, () => {
434
- H.value = n(on.value), Sn(H.value), Tn(), Kt.value += 1, Gt.value += 1;
435
- }, {
436
- deep: !0,
437
- immediate: !0,
438
- flush: "post"
439
- });
440
- let W = E(null), En = E(null);
441
- Fe(() => {
442
- Jt.value = !0, On();
443
- });
444
- let Dn = m(() => I.value.debug);
445
- function On() {
446
- if (r(A.dataset) && i({
447
- componentName: "VueUiTreemap",
448
- type: "dataset",
449
- debug: Dn.value
450
- }), Sn(H.value), r(A.dataset) || (sn.value = I.value.loading), I.value.responsive) {
451
- let e = he(() => {
452
- let { width: e, height: t } = ge({
453
- chart: N.value,
454
- title: I.value.style.chart.title.text ? Bt.value : null,
455
- legend: I.value.style.chart.legend.show ? Vt.value : null,
456
- source: Ht.value,
457
- noTitle: Ut.value
458
- });
459
- requestAnimationFrame(() => {
460
- vn.value.width = e, vn.value.height = t - 12;
461
- });
462
- });
463
- W.value && (En.value && W.value.unobserve(En.value), W.value.disconnect()), W.value = new ResizeObserver(e), En.value = N.value.parentNode, W.value.observe(En.value);
464
- }
465
- }
466
- Pe(() => {
467
- W.value && (En.value && W.value.unobserve(En.value), W.value.disconnect());
468
- });
469
- let kn = m(() => U.value.map((e, t) => ({
470
- ...e,
471
- color: d(e.color) || _n.value[t] || p[t] || p[t % p.length]
472
- })).filter((e) => !M.value.includes(e.id))), An = m(() => H.value.filter((e) => !M.value.includes(e.id)).map((e) => e.value || 0).reduce((e, t) => e + t, 0)), jn = m({
473
- get() {
474
- let e = [...kn.value];
475
- return I.value.style.chart.layout.sorted && (e = [...kn.value].sort((e, t) => t.value - e.value)), e.map((e) => ({ ...e }));
476
- },
477
- set(e) {
478
- return e;
479
- }
480
- });
481
- function Mn(e, t) {
482
- return e.value / t;
483
- }
484
- function Nn(e, t, n) {
485
- let r = I.value.style.chart.layout.rects.colorRatio - Mn(t, n);
486
- return o(e, r < 0 ? 0 : r);
487
- }
488
- function Pn(e) {
489
- return Array.isArray(e.children) && e.children.length > 0;
490
- }
491
- function Fn(e) {
492
- return [...e].sort((e, t) => {
493
- let n = Pn(e), r = Pn(t);
494
- if (n !== r) return n - r;
495
- let i = Number(e.value) || 0;
496
- return (Number(t.value) || 0) - i;
497
- });
498
- }
499
- function In(e, t, n, r, i) {
500
- return Fn(e).map((e, a) => {
501
- let o = e.sourceColor || d(e.color) || d(t) || _n.value[a] || p[a] || p[a % p.length], s = e.sourceColor ? e.sourceColor : Nn(o, e, r), c = Mn(e, r), l = i ?? e.parentId ?? e.id, u = Array.isArray(e.children) && e.children.length && e.children.reduce((e, t) => e + (Number(t.value) || 0), 0) || 1;
502
- return {
503
- ...e,
504
- color: s,
505
- proportion: c,
506
- parentName: n,
507
- rootId: l,
508
- children: Array.isArray(e.children) && e.children.length ? In(e.children, o, e.name, u, l) : void 0
509
- };
510
- });
511
- }
512
- function Ln(e) {
513
- let t = Yn(e), n = Rn(e), r = t * .55, i = t * .55, a = t * 1.05, o = t * 1.05, s = t * .35, c = n ? a + o + s : t * .45, l = e.x0 + r, u = e.x1 - r, d = e.y0 + c, f = e.y1 - i;
514
- return u <= l || f <= d ? null : {
515
- x0: l,
516
- y0: d,
517
- x1: u,
518
- y1: f
519
- };
520
- }
521
- function Rn(e) {
522
- return zn(e);
523
- }
524
- function zn(e) {
525
- let t = Number(I.value.style.chart.layout.labels.hideUnderProportion);
526
- return !Number.isFinite(t) || t <= 0 ? !0 : e.proportion > t;
527
- }
528
- function Bn(e, t, n = 0, r = null) {
529
- if (!Array.isArray(e) || !e.length) return [];
530
- let i = e.map((e) => {
531
- let { children: t, ...n } = e;
532
- return { ...n };
533
- }), a = new Map(e.map((e) => [e.id, Array.isArray(e.children) ? e.children : []])), o = new Map(e.map((e) => [e.id, e])), s = Je(i, t), c = [];
534
- for (let e of s) {
535
- let t = a.get(e.id) || [], i = o.get(e.id), s = {
536
- ...e,
537
- depth: n,
538
- parentId: r ?? e.parentId ?? null,
539
- color: i?.color ?? e.color ?? null,
540
- children: t,
541
- isVisibleNode: !0,
542
- showLabel: Rn(e)
543
- };
544
- if (c.push(s), t.length) {
545
- let r = Ln(s);
546
- r && c.push(...Bn(t, r, n + 1, e.id));
547
- }
548
- }
549
- return c;
550
- }
551
- let Vn = m(() => {
552
- let e = U.value.length ? U.value : jn.value, t = e.map((e) => Number(e.value) || 0).reduce((e, t) => e + t, 0) || 1;
553
- return Bn(e.map((e, n) => {
554
- let r = e.children ? e.children.reduce((e, t) => e + (Number(t.value) || 0), 0) : e.value, { children: i, ...a } = e, o = e.sourceColor || d(e.color) || xn.value.get(e.id) || _n.value[n] || p[n] || p[n % p.length], s = e.sourceColor ? e.sourceColor : Nn(o, e, t);
555
- return {
556
- ...a,
557
- id: e.id || c(),
558
- parentId: e.parentId ?? null,
559
- name: e.name,
560
- value: e.value,
561
- color: s,
562
- proportion: (Number(e.value) || 0) / t,
563
- children: Array.isArray(e.children) && e.children.length ? In(e.children, o, e.name, r || 1) : void 0
564
- };
565
- }), {
566
- x0: V.value.left,
567
- y0: V.value.top,
568
- x1: V.value.left + V.value.width,
569
- y1: V.value.top + V.value.height
570
- });
571
- }), G = m(() => Vn.value);
572
- function K({ y0: e, y1: t }) {
573
- return t - e <= 0 ? 1e-4 : t - e;
574
- }
575
- function q({ x0: e, x1: t }) {
576
- return t - e <= 0 ? 1e-4 : t - e;
577
- }
578
- function Hn() {
579
- let e = I.value.style.chart.layout.labels, t = Number(e.minFontSize), n = Number(e.fontSize), r = Math.max(0, Math.min(Number.isFinite(t) ? t : 0, Number.isFinite(n) ? n : 0));
580
- return {
581
- lowerBound: r,
582
- upperBound: Math.max(r, Number.isFinite(n) ? n : r)
583
- };
584
- }
585
- function Un(e) {
586
- let t = Math.min(4, Math.max(e * .25, .5));
587
- return {
588
- paddingX: t,
589
- paddingTop: t
590
- };
591
- }
592
- function Wn(e, t) {
593
- let { paddingX: n, paddingTop: r } = Un(t), i = t * 1.1;
594
- return {
595
- x: e.x0 + n,
596
- y: e.y0 + r,
597
- width: Math.max(q(e) - n * 2, 0),
598
- height: Math.max(K(e) - r * 2, 0),
599
- lineHeight: i
600
- };
601
- }
602
- function Gn(e, t) {
603
- return f(I.value.style.chart.layout.labels.formatter, e.value, ee({
604
- p: I.value.style.chart.layout.labels.prefix,
605
- v: e.value,
606
- s: I.value.style.chart.layout.labels.suffix,
607
- r: I.value.style.chart.tooltip.roundingValue
608
- }), {
609
- datapoint: e,
610
- seriesIndex: t
611
- });
612
- }
613
- function Kn(e, t) {
614
- let n = Gn(e, t);
615
- return Array.isArray(e.children) && e.children.length ? [`${e.name} (${n})`] : [`${e.name}`, n].filter((e) => `${e}`.length);
616
- }
617
- function qn(e, t, n) {
618
- let r = Kn(e, n), i = Wn(e, t);
619
- return !r.length || i.width <= 0 || i.height <= 0 || r.length * i.lineHeight > i.height ? !1 : r.every((e, n) => ri(e, t, n === 0 ? 500 : 400) <= i.width);
620
- }
621
- function Jn(e, t, n, r) {
622
- let i = Kn(e, t), a = Math.max(1, ...i.map((e) => String(e).length)), o = Math.min(18, Math.max(10, Math.ceil(a * .7))), s = Math.max(1, i.length), c = Math.max(q(e) - 1, 1e-4), l = Math.max(K(e) - 1, 1e-4), u = c / (o * .58), d = l / (s * 1.35);
623
- return Math.max(n, Math.min(r, u, d));
624
- }
625
- function Yn(e, t) {
626
- let { lowerBound: n, upperBound: r } = Hn(), i = Math.max(1e-4, Math.min(q(e), K(e))), a = Math.max(n, Math.min(r, i * .9)), o = Math.min(a, Jn(e, t, n, r));
627
- if (qn(e, o, t) || !qn(e, n, t)) return o;
628
- let s = n, c = o, l = n;
629
- for (let n = 0; n < 8; n += 1) {
630
- let n = (s + c) / 2;
631
- qn(e, n, t) ? (l = n, s = n) : c = n;
632
- }
633
- let u = Math.max(n, o * .7);
634
- return l >= u ? l : o;
635
- }
636
- function Xn(e) {
637
- Rt.value = e, zt.value += 1;
638
- }
639
- let J = m(() => ({
640
- x: 0,
641
- y: 0,
642
- width: V.value.vbWidth,
643
- height: V.value.vbHeight
644
- }));
645
- function Y(e, t = H.value) {
646
- for (let n of t) {
647
- if (n.id === e) return n;
648
- if (n.children) {
649
- let t = Y(e, n.children);
650
- if (t) return t;
651
- }
652
- }
653
- return null;
654
- }
655
- function Zn(e) {
656
- let t = [], n = Y(e);
657
- for (; n && n.parentId;) {
658
- let e = Y(n.parentId);
659
- if (!e) break;
660
- t.unshift(e.id), n = e;
661
- }
662
- return t;
663
- }
664
- let Qn = m(() => P.value.length > 0);
665
- function $n() {
666
- U.value = H.value.slice(), P.value = [], nt("selectDatapoint", void 0);
667
- }
668
- function er() {
669
- return P.value[P.value.length - 1] ?? null;
670
- }
671
- function tr(e, t, n) {
672
- P.value = [...Zn(e.id), e.id], U.value = [e], I.value.events.datapointClick && I.value.events.datapointClick({
673
- datapoint: t ?? e,
674
- seriesIndex: n
675
- }), nt("selectDatapoint", t ?? e);
676
- }
677
- function nr(e, t) {
678
- let n = er();
679
- if (!n) {
680
- $n();
681
- return;
682
- }
683
- let r = Y(n);
684
- if (!r?.parentId) {
685
- I.value.events.datapointClick && I.value.events.datapointClick({
686
- datapoint: e,
687
- seriesIndex: t
688
- }), $n();
689
- return;
690
- }
691
- let i = Y(r.parentId);
692
- if (!i) {
693
- $n();
694
- return;
695
- }
696
- P.value = [...Zn(i.id), i.id], U.value = [i], I.value.events.datapointClick && I.value.events.datapointClick({
697
- datapoint: e,
698
- seriesIndex: t
699
- }), nt("selectDatapoint", e);
700
- }
701
- function rr(e, t) {
702
- if (!e) {
703
- $n();
704
- return;
705
- }
706
- let n = Y(e.id);
707
- if (n) {
708
- if (er() === n.id) {
709
- nr(e, t);
710
- return;
711
- }
712
- tr(n, e, t);
713
- }
714
- }
715
- function ir(e) {
716
- return e ? er() === e.id : !1;
717
- }
718
- let X = m(() => {
719
- let e = [{
720
- id: null,
721
- label: "All"
722
- }];
723
- if (P.value.length > 0) {
724
- let t = Y(P.value[P.value.length - 1]), n = [];
725
- for (; t;) n.unshift(t), t = t.parentId ? Y(t.parentId) : null;
726
- for (let t of n) e.push({
727
- id: t.id,
728
- label: t.name,
729
- node: t
730
- });
731
- }
732
- return e;
733
- }), Z = E(null), ar = m(() => H.value.map((e, t) => ({
734
- ...e,
735
- color: d(e.color) || _n.value[t] || p[t] || p[t % p.length],
736
- shape: "square"
737
- })).sort((e, t) => t.value - e.value).map((e, t) => {
738
- let n = e.value / H.value.map((e) => e.value).reduce((e, t) => e + t, 0);
739
- return {
740
- ...e,
741
- proportion: n,
742
- isSegregated: M.value.includes(e.id),
743
- segregate: () => lr(e),
744
- opacity: M.value.includes(e.id) ? .5 : 1,
745
- display: `${e.name}${I.value.style.chart.legend.showPercentage || I.value.style.chart.legend.showValue ? ": " : ""}${I.value.style.chart.legend.showValue ? f(I.value.style.chart.layout.labels.formatter, e.value, ee({
746
- p: I.value.style.chart.layout.labels.prefix,
747
- v: e.value,
748
- s: I.value.style.chart.layout.labels.suffix,
749
- r: I.value.style.chart.legend.roundingValue
750
- }), { datapoint: e }) : ""}${I.value.style.chart.legend.showPercentage ? M.value.includes(e.id) ? `${I.value.style.chart.legend.showValue ? " (" : ""}- %${I.value.style.chart.legend.showValue ? ")" : ""}` : `${I.value.style.chart.legend.showValue ? " (" : ""}${isNaN(e.value / An.value) ? "-" : (e.value / An.value * 100).toFixed(I.value.style.chart.legend.roundingPercentage)}%${I.value.style.chart.legend.showValue ? ")" : ""}` : ""}`
751
- };
752
- })), or = m(() => ({
753
- cy: "treemap-div-legend",
754
- backgroundColor: I.value.style.chart.legend.backgroundColor,
755
- color: I.value.style.chart.legend.color,
756
- fontSize: I.value.style.chart.legend.fontSize,
757
- paddingBottom: 12,
758
- fontWeight: I.value.style.chart.legend.bold ? "bold" : ""
759
- })), sr = m(() => M.value.length === ar.value.length);
760
- function cr() {
761
- M.value.length ? M.value = [] : ar.value.forEach((e) => {
762
- M.value.push(e.id);
763
- }), nt("selectLegend", H.value.filter((e) => !M.value.includes(e.id)));
764
- }
765
- function lr(e) {
766
- Z.value = null, M.value.includes(e.id) ? M.value = M.value.filter((t) => t !== e.id) : M.value.length < A.dataset.length - 1 && M.value.push(e.id), nt("selectLegend", H.value.filter((e) => !M.value.includes(e.id)));
767
- }
768
- function ur(e) {
769
- return H.value.length ? H.value.find((t) => t.name === e) || (I.value.debug && console.warn(`VueUiTreemap - Series name not found "${e}"`), null) : (I.value.debug && console.warn("VueUiTreemap - There are no series to show."), null);
770
- }
771
- function dr(e) {
772
- let t = ur(e);
773
- t !== null && M.value.includes(t.id) && lr({ id: t.id });
774
- }
775
- function fr(e) {
776
- let t = ur(e);
777
- t !== null && (M.value.includes(t.id) || lr({ id: t.id }));
778
- }
779
- function pr({ datapoint: e, seriesIndex: t }) {
780
- Z.value = null, It.value = !1, F.value = null, nn.value = "pointer", I.value.events.datapointLeave && I.value.events.datapointLeave({
781
- datapoint: e,
782
- seriesIndex: t
783
- });
784
- }
785
- let mr = w(null);
786
- function hr({ datapoint: e, seriesIndex: t, triggerMode: n = "pointer" }) {
787
- if (sr.value || n === "pointer" && Tr.value) return;
788
- I.value.events.datapointEnter && I.value.events.datapointEnter({
789
- datapoint: e,
790
- seriesIndex: t
791
- }), F.value = t, nn.value = n, Z.value = e, mr.value = {
792
- datapoint: e,
793
- seriesIndex: t,
794
- config: I.value,
795
- series: kn.value
796
- };
797
- let r = I.value.style.chart.tooltip.customFormat;
798
- if (re(r) && u(() => r({
799
- seriesIndex: t,
800
- datapoint: e,
801
- series: kn.value,
802
- config: I.value
803
- }))) Lt.value = r({
804
- seriesIndex: t,
805
- datapoint: e,
806
- series: kn.value,
807
- config: I.value
808
- });
809
- else {
810
- let n = "";
811
- n += `<div style="width:100%;text-align:center;border-bottom:1px solid ${I.value.style.chart.tooltip.borderColor};padding-bottom:6px;margin-bottom:3px;">${e.name}</div>`, n += `<div style="display:flex;flex-direction:row;gap:6px;align-items:center;"><svg viewBox="0 0 12 12" height="14" width="14"><rect x="0" y="0" height="12" width="12" stroke="none" fill="${e.color}"/></svg>`, n += `<b>${f(I.value.style.chart.layout.labels.formatter, e.value, ee({
812
- p: I.value.style.chart.layout.labels.prefix,
813
- v: e.value,
814
- s: I.value.style.chart.layout.labels.suffix,
815
- r: I.value.style.chart.tooltip.roundingValue
816
- }), {
817
- datapoint: e,
818
- seriesIndex: t
819
- })}</b>`, Lt.value = `<div>${n}</div>`;
820
- }
821
- It.value = !0;
822
- }
823
- let Q = m(() => ({
824
- head: G.value.map((e) => ({
825
- name: e.name,
826
- color: e.color
827
- })),
828
- body: G.value.map((e) => e.value)
829
- }));
830
- function gr(e = null) {
831
- Me(() => {
832
- let t = Q.value.head.map((e, t) => [
833
- [e.name],
834
- [Q.value.body[t]],
835
- [isNaN(Q.value.body[t] / An.value) ? "-" : Q.value.body[t] / An.value * 100]
836
- ]), n = ie([
837
- [I.value.style.chart.title.text],
838
- [I.value.style.chart.title.subtitle.text],
839
- [
840
- [""],
841
- ["val"],
842
- ["%"]
843
- ]
844
- ].concat(t));
845
- e ? e(n) : l({
846
- csvContent: n,
847
- title: I.value.style.chart.title.text || "vue-ui-treemap"
848
- });
849
- });
850
- }
851
- let _r = m(() => {
852
- let e = [
853
- I.value.table.columnNames.series,
854
- I.value.table.columnNames.value,
855
- I.value.table.columnNames.percentage
856
- ], t = Q.value.head.map((e, t) => {
857
- let n = f(I.value.style.chart.layout.labels.formatter, Q.value.body[t], ee({
858
- p: I.value.style.chart.layout.labels.prefix,
859
- v: Q.value.body[t],
860
- s: I.value.style.chart.layout.labels.suffix,
861
- r: I.value.table.td.roundingValue
862
- }));
863
- return [
864
- {
865
- color: e.color,
866
- name: e.name,
867
- shape: "square"
868
- },
869
- n,
870
- isNaN(Q.value.body[t] / An.value) ? "-" : ee({
871
- v: Q.value.body[t] / An.value * 100,
872
- s: "%",
873
- r: I.value.table.td.roundingPercentage
874
- })
875
- ];
876
- }), n = {
877
- th: {
878
- backgroundColor: I.value.table.th.backgroundColor,
879
- color: I.value.table.th.color,
880
- outline: I.value.table.th.outline
881
- },
882
- td: {
883
- backgroundColor: I.value.table.td.backgroundColor,
884
- color: I.value.table.td.color,
885
- outline: I.value.table.td.outline
886
- },
887
- breakpoint: I.value.table.responsiveBreakpoint
888
- };
889
- return {
890
- colNames: [I.value.table.columnNames.series, I.value.table.columnNames.value],
891
- head: e,
892
- body: t,
893
- config: n
894
- };
895
- });
896
- function vr() {
897
- return G.value;
898
- }
899
- function yr() {
900
- B.value.showTable = !B.value.showTable;
901
- }
902
- function br() {
903
- B.value.showTooltip = !B.value.showTooltip;
904
- }
905
- function xr() {
906
- B.value.showZoom = !B.value.showZoom;
907
- }
908
- let Sr = w(!1);
909
- function Cr() {
910
- Sr.value = !Sr.value;
911
- }
912
- let wr = m(() => !Sr.value && B.value.showZoom), Tr = w(null), Er = w(!1), { viewBox: $, resetZoom: Dr, isZoom: Or, setInitialViewBox: kr } = we(z, {
913
- x: J.value.x,
914
- y: J.value.y,
915
- width: Math.max(10, J.value.width),
916
- height: Math.max(10, J.value.height)
917
- }, 1, wr), Ar = m(() => B.value.showZoom || Or.value);
918
- O([
919
- () => J.value.x,
920
- () => J.value.y,
921
- () => J.value.width,
922
- () => J.value.height
923
- ], () => {
924
- Me(() => {
925
- kr({
926
- x: J.value.x,
927
- y: J.value.y,
928
- width: Math.max(10, J.value.width),
929
- height: Math.max(10, J.value.height)
930
- });
931
- });
932
- }, { immediate: !0 });
933
- function jr(e) {
934
- wr.value && (e.button !== void 0 && e.button !== 0 || (Tr.value = {
935
- x: e.clientX,
936
- y: e.clientY
937
- }, Er.value = !1));
938
- }
939
- function Mr(e) {
940
- if (!wr.value || !Tr.value) return;
941
- let t = e.clientX - Tr.value.x, n = e.clientY - Tr.value.y;
942
- Math.hypot(t, n) > jt && (Er.value = !0);
943
- }
944
- function Nr() {
945
- Tr.value = null, Er.value && window.setTimeout(() => {
946
- Er.value = !1;
947
- }, 0);
948
- }
949
- function Pr(e, t) {
950
- Er.value || rr(e, t);
951
- }
952
- let Fr = w(null);
953
- function Ir(e) {
954
- Fr.value = e;
955
- }
956
- function Lr() {
957
- Fr.value = null;
958
- }
959
- async function Rr({ scale: e = 2 } = {}) {
960
- if (!N.value) return;
961
- let { width: t, height: n } = N.value.getBoundingClientRect(), r = t / n, { imageUri: i, base64: a } = await fe({
962
- domElement: N.value,
963
- base64: !0,
964
- img: !0,
965
- scale: e
966
- });
967
- return {
968
- imageUri: i,
969
- base64: a,
970
- title: I.value.style.chart.title.text,
971
- width: t,
972
- height: n,
973
- aspectRatio: r
974
- };
975
- }
976
- let zr = m(() => {
977
- let e = I.value.table.useDialog && !I.value.table.show, t = B.value.showTable;
978
- return {
979
- component: e ? Qe : qe,
980
- title: `${I.value.style.chart.title.text}${I.value.style.chart.title.subtitle.text ? `: ${I.value.style.chart.title.subtitle.text}` : ""}`,
981
- props: e ? {
982
- backgroundColor: I.value.table.th.backgroundColor,
983
- color: I.value.table.th.color,
984
- headerColor: I.value.table.th.color,
985
- headerBg: I.value.table.th.backgroundColor,
986
- isFullscreen: Rt.value,
987
- fullscreenParent: N.value,
988
- forcedWidth: Math.min(800, window.innerWidth * .8),
989
- isCursorPointer: L.value
990
- } : {
991
- hideDetails: !0,
992
- config: {
993
- open: t,
994
- maxHeight: 1e4,
995
- body: {
996
- backgroundColor: I.value.style.chart.backgroundColor,
997
- color: I.value.style.chart.color
998
- },
999
- head: {
1000
- backgroundColor: I.value.style.chart.backgroundColor,
1001
- color: I.value.style.chart.color
1002
- }
1003
- }
1004
- }
1005
- };
1006
- });
1007
- O(() => B.value.showTable, (e) => {
1008
- I.value.table.show || (e && I.value.table.useDialog && Yt.value ? Yt.value.open() : "close" in Yt.value && Yt.value.close());
1009
- });
1010
- function Br() {
1011
- B.value.showTable = !1, Xt.value && Xt.value.setTableIconState(!1);
1012
- }
1013
- let Vr = m(() => ar.value.map((e) => ({
1014
- ...e,
1015
- name: e.display
1016
- }))), Hr = m(() => I.value.style.chart.backgroundColor), Ur = m(() => I.value.style.chart.legend), { exportSvg: Wr, getSvg: Gr } = le({
1017
- svg: z,
1018
- title: m(() => I.value.style.chart.title),
1019
- legend: Ur,
1020
- legendItems: Vr,
1021
- backgroundColor: Hr
1022
- });
1023
- async function Kr({ isCb: e }) {
1024
- en.value = !0, await Me();
1025
- try {
1026
- if (e) {
1027
- let { blob: e, url: t, text: n, dataUrl: r } = await Gr();
1028
- await Promise.resolve(I.value.userOptions.callbacks.svg({
1029
- blob: e,
1030
- url: t,
1031
- text: n,
1032
- dataUrl: r
1033
- }));
1034
- } else await Promise.resolve(Wr());
1035
- } finally {
1036
- en.value = !1;
1037
- }
1038
- }
1039
- function qr(e) {
1040
- if (e?.stage === "start") {
1041
- $t.value = !0;
1042
- return;
1043
- }
1044
- if (e?.stage === "end") {
1045
- $t.value = !1;
1046
- return;
1047
- }
1048
- hn();
1049
- }
1050
- function Jr(e, t) {
1051
- let n = Yn(e, t), { paddingX: r, paddingTop: i } = Un(n);
1052
- return {
1053
- fontSize: n,
1054
- paddingX: r,
1055
- paddingTop: i,
1056
- lineHeight: n * 1.1
1057
- };
1058
- }
1059
- function Yr(e, t) {
1060
- return Wn(e, Jr(e, t).fontSize);
1061
- }
1062
- function Xr(e) {
1063
- return te(e.color ?? I.value.style.chart.backgroundColor);
1064
- }
1065
- function Zr(e, t) {
1066
- let { fontSize: n, lineHeight: r } = Jr(e, t), i = ii(e, t), a = ai(e, t);
1067
- if (i <= 0 || a <= 0) return [];
1068
- let o = Math.max(Math.floor(a / Math.max(r, 1e-4)), 1);
1069
- return Kn(e, t).slice(0, o).map((e) => String(e ?? "")).filter(Boolean);
1070
- }
1071
- function Qr({ rect: e, seriesIndex: t }) {
1072
- if (!e || !I.value.style.chart.layout.labels.showDefaultLabels || !Rn(e)) return null;
1073
- let { fontSize: n } = Jr(e, t), r = Xr(e), i = Zr(e, t), a = Yr(e, t);
1074
- if (!i.length || a.width <= 0 || a.height <= 0) return null;
1075
- let o = `treemap_clip_${j.value}_${e.id}`, s = e.x0, c = e.y0, l = Math.max(q(e), 0), u = Math.max(K(e), 0);
1076
- return {
1077
- key: $r(e),
1078
- clipId: o,
1079
- clipX: s,
1080
- clipY: c,
1081
- clipWidth: l,
1082
- clipHeight: u,
1083
- lines: i.map((t, i) => ({
1084
- key: `${e.id}_${i}`,
1085
- text: t,
1086
- x: a.x,
1087
- y: a.y + a.lineHeight * i,
1088
- fill: r,
1089
- fontSize: n,
1090
- fontFamily: I.value.style.fontFamily,
1091
- fontWeight: i === 0 ? 500 : 400
1092
- }))
1093
- };
1094
- }
1095
- function $r(e) {
1096
- return `${e.id}`;
1097
- }
1098
- let ei = m(() => Mt.rect || R.value || !I.value.style.chart.layout.labels.showDefaultLabels || sr.value ? [] : G.value.map((e, t) => e.showLabel ? Qr({
1099
- rect: e,
1100
- seriesIndex: t
1101
- }) : null).filter(Boolean)), ti;
1102
- function ni() {
1103
- return typeof document > "u" ? null : (ti ||= document.createElement("canvas"), ti.getContext("2d"));
1104
- }
1105
- function ri(e, t, n = 400) {
1106
- let r = ni();
1107
- return r ? (r.font = `${n} ${t}px ${I.value.style.fontFamily}`, r.measureText(String(e)).width) : e.length * t * .6;
1108
- }
1109
- function ii(e, t) {
1110
- return Yr(e, t).width;
1111
- }
1112
- function ai(e, t) {
1113
- return Yr(e, t).height;
1114
- }
1115
- function oi(e) {
1116
- let t = I.value.style.chart.layout.rects.borderRadius, n = q(e), r = K(e);
1117
- return Math.min(t, Math.min(n, r) / 6);
1118
- }
1119
- async function si() {
1120
- if (nt("copyAlt", {
1121
- config: I.value,
1122
- dataset: G.value
1123
- }), !I.value.userOptions.callbacks.altCopy) {
1124
- console.warn("Vue Data UI - A callback must be set for `altCopy` in userOptions.");
1125
- return;
1126
- }
1127
- await Promise.resolve(I.value.userOptions.callbacks.altCopy({
1128
- config: I.value,
1129
- dataset: G.value
1130
- }));
1131
- }
1132
- function ci() {
1133
- F.value = null, rn.value = !0;
1134
- }
1135
- function li() {
1136
- F.value = null, nn.value = "pointer", It.value = !1, Z.value = null, rn.value = !1;
1137
- }
1138
- function ui(e) {
1139
- if (!z.value || Sr.value || document.activeElement !== z.value || !G.value.length || sr.value) return;
1140
- let t = ["ArrowLeft", "ArrowUp"].includes(e.key), n = ["ArrowRight", "ArrowDown"].includes(e.key), r = e.key === "Enter" || e.key === " ", i = e.key === "Escape";
1141
- if (!t && !n && !r && !i) return;
1142
- if (e.preventDefault(), e.stopPropagation(), i) {
1143
- F.value = null, nn.value = "pointer", It.value = !1, Z.value = null;
1144
- return;
1145
- }
1146
- if (r) {
1147
- if (F.value === null) return;
1148
- let e = G.value[F.value];
1149
- if (!e) return;
1150
- rr(e, F.value);
1151
- return;
1152
- }
1153
- let a = F.value, o = Z.value ? G.value.findIndex((e) => e.id === Z.value.id) : null, s = a !== null && a >= 0 && a < G.value.length, c = o !== null && o >= 0 && o < G.value.length;
1154
- s ? n ? (a += 1, a >= G.value.length && (a = 0)) : t && (--a, a < 0 && (a = G.value.length - 1)) : c ? (a = n ? o + 1 : o - 1, a >= G.value.length && (a = 0), a < 0 && (a = G.value.length - 1)) : a = n ? 0 : G.value.length - 1;
1155
- let l = G.value[a];
1156
- l && (di(a), hr({
1157
- datapoint: l,
1158
- seriesIndex: a,
1159
- triggerMode: "keyboard"
1160
- }));
1161
- }
1162
- function di(e) {
1163
- if (!Number.isFinite(e) || !z.value) return;
1164
- let t = G.value[e];
1165
- if (!t) return;
1166
- let n = t.x0 + q(t) / 2, r = t.y0 + K(t) / 2, i = z.value.getBoundingClientRect();
1167
- tn.value = {
1168
- x: i.left + (n - $.value.x) / $.value.width * i.width,
1169
- y: i.top + (r - $.value.y) / $.value.height * i.height
1170
- };
1171
- }
1172
- let fi = m(() => ({
1173
- headers: _r.value?.colNames ?? [],
1174
- rows: _r.value?.body ?? []
1175
- })), pi = m(() => I.value.style.chart.color);
1176
- return me({
1177
- getData: vr,
1178
- getImage: Rr,
1179
- generateCsv: gr,
1180
- generateImage: hn,
1181
- generateSvg: Kr,
1182
- generatePdf: mn,
1183
- hideSeries: fr,
1184
- showSeries: dr,
1185
- toggleTable: yr,
1186
- toggleTooltip: br,
1187
- toggleZoom: xr,
1188
- toggleAnnotator: Cr,
1189
- toggleFullscreen: Xn,
1190
- resetZoom: Dr,
1191
- copyAlt: si
1192
- }), (e, t) => (C(), _("div", {
1193
- ref_key: "treemapChart",
1194
- ref: N,
1195
- class: Ne(`vue-data-ui-component vue-ui-treemap ${Rt.value ? "vue-data-ui-wrapper-fullscreen" : ""} ${I.value.useCssAnimation ? "" : "vue-ui-dna"}`),
1196
- style: S(`font-family:${I.value.style.fontFamily};width:100%; ${I.value.responsive ? "height: 100%;" : ""} text-align:center;background:${I.value.style.chart.backgroundColor}`),
1197
- id: `treemap_${j.value}`,
1198
- onMouseenter: t[3] ||= () => D(ln)(!0),
1199
- onMouseleave: t[4] ||= () => D(ln)(!1)
1200
- }, [
1201
- v("div", {
1202
- id: `chart-instructions-${j.value}`,
1203
- class: "sr-only"
1204
- }, [v("p", null, Re(I.value.a11y.translations.keyboardNavigation), 1)], 8, it),
1205
- fi.value?.rows?.length ? (C(), h(ye, {
1206
- key: 0,
1207
- uid: j.value,
1208
- head: fi.value.headers,
1209
- body: fi.value.rows,
1210
- notice: I.value.a11y.translations.tableAvailable,
1211
- caption: I.value.a11y.translations.tableCaption
1212
- }, null, 8, [
1213
- "uid",
1214
- "head",
1215
- "body",
1216
- "notice",
1217
- "caption"
1218
- ])) : g("", !0),
1219
- I.value.userOptions.buttons.annotator ? (C(), h(D(Ke), {
1220
- key: 1,
1221
- svgRef: D(z),
1222
- backgroundColor: I.value.style.chart.backgroundColor,
1223
- color: I.value.style.chart.color,
1224
- active: Sr.value,
1225
- isCursorPointer: L.value,
1226
- onClose: Cr
1227
- }, {
1228
- "annotator-action-close": k(() => [T(e.$slots, "annotator-action-close", {}, void 0, !0)]),
1229
- "annotator-action-color": k(({ color: t }) => [T(e.$slots, "annotator-action-color", x(b({ color: t })), void 0, !0)]),
1230
- "annotator-action-draw": k(({ mode: t }) => [T(e.$slots, "annotator-action-draw", x(b({ mode: t })), void 0, !0)]),
1231
- "annotator-action-undo": k(({ disabled: t }) => [T(e.$slots, "annotator-action-undo", x(b({ disabled: t })), void 0, !0)]),
1232
- "annotator-action-redo": k(({ disabled: t }) => [T(e.$slots, "annotator-action-redo", x(b({ disabled: t })), void 0, !0)]),
1233
- "annotator-action-delete": k(({ disabled: t }) => [T(e.$slots, "annotator-action-delete", x(b({ disabled: t })), void 0, !0)]),
1234
- _: 3
1235
- }, 8, [
1236
- "svgRef",
1237
- "backgroundColor",
1238
- "color",
1239
- "active",
1240
- "isCursorPointer"
1241
- ])) : g("", !0),
1242
- gn.value ? (C(), _("div", {
1243
- key: 2,
1244
- ref_key: "noTitle",
1245
- ref: Ut,
1246
- class: "vue-data-ui-no-title-space",
1247
- style: "height:36px; width: 100%;background:transparent"
1248
- }, null, 512)) : g("", !0),
1249
- I.value.style.chart.title.text ? (C(), _("div", {
1250
- key: 3,
1251
- ref_key: "chartTitle",
1252
- ref: Bt,
1253
- style: S(`width:100%;background:${I.value.style.chart.backgroundColor};padding-bottom:6px`)
1254
- }, [(C(), h(pe, {
1255
- key: `title_${Wt.value}`,
1256
- config: {
1257
- title: {
1258
- cy: "treemap-div-title",
1259
- ...I.value.style.chart.title
1260
- },
1261
- subtitle: {
1262
- cy: "treemap-div-subtitle",
1263
- ...I.value.style.chart.title.subtitle
1264
- }
1265
- }
1266
- }, null, 8, ["config"]))], 4)) : g("", !0),
1267
- v("div", { id: `legend-top-${j.value}` }, null, 8, at),
1268
- I.value.userOptions.show && Pt.value && (D(un) || D(cn)) ? (C(), h(D(Xe), {
1269
- ref_key: "userOptionsRef",
1270
- ref: Xt,
1271
- key: `user_option_${zt.value}`,
1272
- backgroundColor: I.value.style.chart.backgroundColor,
1273
- color: I.value.style.chart.color,
1274
- isPrinting: D(fn),
1275
- isImaging: D(pn),
1276
- uid: j.value,
1277
- hasTooltip: I.value.userOptions.buttons.tooltip && I.value.style.chart.tooltip.show,
1278
- hasPdf: I.value.userOptions.buttons.pdf,
1279
- hasXls: I.value.userOptions.buttons.csv,
1280
- hasImg: I.value.userOptions.buttons.img,
1281
- hasSvg: I.value.userOptions.buttons.svg,
1282
- hasTable: I.value.userOptions.buttons.table,
1283
- hasFullscreen: I.value.userOptions.buttons.fullscreen,
1284
- hasAltCopy: I.value.userOptions.buttons.altCopy,
1285
- isFullscreen: Rt.value,
1286
- isTooltip: B.value.showTooltip,
1287
- titles: { ...I.value.userOptions.buttonTitles },
1288
- chartElement: N.value,
1289
- position: I.value.userOptions.position,
1290
- hasAnnotator: I.value.userOptions.buttons.annotator,
1291
- isAnnotation: Sr.value,
1292
- callbacks: I.value.userOptions.callbacks,
1293
- printScale: I.value.userOptions.print.scale,
1294
- tableDialog: I.value.table.useDialog,
1295
- isCursorPointer: L.value,
1296
- hasZoom: I.value.userOptions.buttons.zoom,
1297
- isZoom: B.value.showZoom,
1298
- onToggleFullscreen: Xn,
1299
- onGeneratePdf: D(mn),
1300
- onGenerateCsv: gr,
1301
- onGenerateImage: qr,
1302
- onGenerateSvg: Kr,
1303
- onToggleTable: yr,
1304
- onToggleTooltip: br,
1305
- onToggleAnnotator: Cr,
1306
- onToggleZoom: xr,
1307
- onCopyAlt: si,
1308
- style: S({ visibility: D(un) ? D(cn) ? "visible" : "hidden" : "visible" })
1309
- }, Oe({ _: 2 }, [
1310
- e.$slots.menuIcon ? {
1311
- name: "menuIcon",
1312
- fn: k(({ isOpen: t, color: n }) => [T(e.$slots, "menuIcon", x(b({
1313
- isOpen: t,
1314
- color: n
1315
- })), void 0, !0)]),
1316
- key: "0"
1317
- } : void 0,
1318
- e.$slots.optionTooltip ? {
1319
- name: "optionTooltip",
1320
- fn: k(() => [T(e.$slots, "optionTooltip", {}, void 0, !0)]),
1321
- key: "1"
1322
- } : void 0,
1323
- e.$slots.optionPdf ? {
1324
- name: "optionPdf",
1325
- fn: k(() => [T(e.$slots, "optionPdf", {}, void 0, !0)]),
1326
- key: "2"
1327
- } : void 0,
1328
- e.$slots.optionCsv ? {
1329
- name: "optionCsv",
1330
- fn: k(() => [T(e.$slots, "optionCsv", {}, void 0, !0)]),
1331
- key: "3"
1332
- } : void 0,
1333
- e.$slots.optionImg ? {
1334
- name: "optionImg",
1335
- fn: k(() => [T(e.$slots, "optionImg", {}, void 0, !0)]),
1336
- key: "4"
1337
- } : void 0,
1338
- e.$slots.optionSvg ? {
1339
- name: "optionSvg",
1340
- fn: k(() => [T(e.$slots, "optionSvg", {}, void 0, !0)]),
1341
- key: "5"
1342
- } : void 0,
1343
- e.$slots.optionTable ? {
1344
- name: "optionTable",
1345
- fn: k(() => [T(e.$slots, "optionTable", {}, void 0, !0)]),
1346
- key: "6"
1347
- } : void 0,
1348
- e.$slots.optionFullscreen ? {
1349
- name: "optionFullscreen",
1350
- fn: k(({ toggleFullscreen: t, isFullscreen: n }) => [T(e.$slots, "optionFullscreen", x(b({
1351
- toggleFullscreen: t,
1352
- isFullscreen: n
1353
- })), void 0, !0)]),
1354
- key: "7"
1355
- } : void 0,
1356
- e.$slots.optionAnnotator ? {
1357
- name: "optionAnnotator",
1358
- fn: k(({ toggleAnnotator: t, isAnnotator: n }) => [T(e.$slots, "optionAnnotator", x(b({
1359
- toggleAnnotator: t,
1360
- isAnnotator: n
1361
- })), void 0, !0)]),
1362
- key: "8"
1363
- } : void 0,
1364
- e.$slots.optionZoom ? {
1365
- name: "optionZoom",
1366
- fn: k(({ toggleZoom: t, isZoomLocked: n }) => [T(e.$slots, "optionZoom", x(b({
1367
- toggleZoom: t,
1368
- isZoomLocked: n
1369
- })), void 0, !0)]),
1370
- key: "9"
1371
- } : void 0,
1372
- e.$slots.optionAltCopy ? {
1373
- name: "optionAltCopy",
1374
- fn: k(({ altCopy: t }) => [T(e.$slots, "optionAltCopy", x(b({ altCopy: t })), void 0, !0)]),
1375
- key: "10"
1376
- } : void 0,
1377
- e.$slots["custom-menu-before"] ? {
1378
- name: "custom-menu-before",
1379
- fn: k(() => [T(e.$slots, "custom-menu-before", {}, void 0, !0)]),
1380
- key: "11"
1381
- } : void 0,
1382
- e.$slots["custom-menu-after"] ? {
1383
- name: "custom-menu-after",
1384
- fn: k(() => [T(e.$slots, "custom-menu-after", {}, void 0, !0)]),
1385
- key: "12"
1386
- } : void 0
1387
- ]), 1032, /* @__PURE__ */ "backgroundColor.color.isPrinting.isImaging.uid.hasTooltip.hasPdf.hasXls.hasImg.hasSvg.hasTable.hasFullscreen.hasAltCopy.isFullscreen.isTooltip.titles.chartElement.position.hasAnnotator.isAnnotation.callbacks.printScale.tableDialog.isCursorPointer.hasZoom.isZoom.onGeneratePdf.style".split("."))) : g("", !0),
1388
- X.value.length > 1 ? (C(), _("nav", {
1389
- key: 5,
1390
- class: "vue-ui-treemap-breadcrumbs",
1391
- "data-dom-to-png-ignore": "",
1392
- ref_key: "breadcrumbsNav",
1393
- ref: qt
1394
- }, [(C(!0), _(Ee, null, Ie(X.value, (n, r) => (C(), _("span", {
1395
- role: "button",
1396
- tabindex: r < X.value.length - 1 ? 0 : void 0,
1397
- key: n.id || "root",
1398
- onClick: (e) => r === X.value.length - 1 ? () => {} : rr(n.node),
1399
- onKeydown: [He(Ue((e) => r === X.value.length - 1 ? void 0 : rr(n.node), ["prevent"]), ["enter"]), He(Ue((e) => r === X.value.length - 1 ? void 0 : rr(n.node), ["prevent"]), ["space"])],
1400
- class: "vue-ui-treemap-crumb",
1401
- "data-last-crumb": r === X.value.length - 1,
1402
- style: S({
1403
- color: I.value.style.chart.color,
1404
- cursor: L.value ? "pointer" : "default"
1405
- }),
1406
- onMouseenter: (e) => Ir(r),
1407
- onMouseleave: Lr,
1408
- onFocus: (e) => Ir(r),
1409
- onBlur: Lr
1410
- }, [v("span", st, [v("span", ct, [T(e.$slots, "breadcrumb-label", je({ ref_for: !0 }, {
1411
- crumb: n,
1412
- isRoot: r === 0,
1413
- isFocus: Fr.value === r
1414
- }), () => [r === 0 ? (C(), _("div", lt, [Ae(_e, {
1415
- name: Fr.value === 0 ? "homeFilled" : "home",
1416
- stroke: I.value.style.chart.color
1417
- }, null, 8, ["name", "stroke"])])) : (C(), _(Ee, { key: 1 }, [ke(Re(n.label), 1)], 64))], !0)]), r < X.value.length - 1 ? (C(), _("span", ut, [T(e.$slots, "breadcrumb-arrow", {}, () => [t[5] ||= ke(" › ", -1)], !0)])) : g("", !0)])], 44, ot))), 128))], 512)) : g("", !0),
1418
- v("div", dt, [
1419
- (C(), _("svg", {
1420
- ref_key: "svgRef",
1421
- ref: z,
1422
- xmlns: D(ne),
1423
- "aria-describedby": `chart-instructions-${j.value}`,
1424
- class: Ne({
1425
- "vue-data-ui-fullscreen--on": Rt.value,
1426
- "vue-data-ui-fulscreen--off": !Rt.value,
1427
- "vue-data-ui-zoom-plus": !Qn.value,
1428
- "vue-data-ui-zoom-minus": Qn.value,
1429
- "no-transition": D(Nt),
1430
- loading: D(R)
1431
- }),
1432
- viewBox: `${D($).x} ${D($).y} ${D($).width <= 0 ? 10 : D($).width} ${D($).height <= 0 ? 10 : D($).height}`,
1433
- style: S(`max-width:100%; overflow:${Ar.value ? "hidden" : "visible"}; background:transparent;color:${I.value.style.chart.color}`),
1434
- tabindex: "0",
1435
- onFocus: ci,
1436
- onBlur: li,
1437
- onKeydown: ui,
1438
- onPointerdown: jr,
1439
- onPointermove: Mr,
1440
- onPointerup: Nr,
1441
- onPointercancel: Nr,
1442
- onPointerleave: Nr
1443
- }, [
1444
- Ae(D(Ze)),
1445
- (C(!0), _(Ee, null, Ie(G.value, (e, t) => (C(), _("g", { key: `tgrad_${e.id}` }, [I.value.style.chart.layout.rects.gradient.show ? (C(), _("defs", pt, [v("radialGradient", {
1446
- id: `tgrad_${e.id}`,
1447
- gradientTransform: "translate(-1, -1.000001) scale(2, 2)"
1448
- }, [v("stop", {
1449
- offset: "18%",
1450
- "stop-color": e.color
1451
- }, null, 8, ht), v("stop", {
1452
- offset: "100%",
1453
- "stop-color": D(o)(e.color, I.value.style.chart.layout.rects.gradient.intensity / 100)
1454
- }, null, 8, gt)], 8, mt)])) : g("", !0)]))), 128)),
1455
- v("g", null, [
1456
- (C(!0), _(Ee, null, Ie(G.value, (e, t) => (C(), _("g", { key: `rect_${e.id}_${e.depth}` }, [v("rect", {
1457
- x: e.x0,
1458
- y: e.y0,
1459
- height: K(e),
1460
- width: q(e),
1461
- fill: Ft.value ? e.color ?? I.value.style.chart.backgroundColor : I.value.style.chart.layout.rects.gradient.show ? sr.value ? I.value.style.chart.backgroundColor : `url(#tgrad_${e.id})` : e.color ?? I.value.style.chart.backgroundColor,
1462
- rx: oi(e),
1463
- stroke: Z.value && Z.value.id === e.id ? I.value.style.chart.layout.rects.selected.stroke : I.value.style.chart.layout.rects.stroke,
1464
- "stroke-width": Z.value && Z.value.id === e.id ? I.value.style.chart.layout.rects.selected.strokeWidth : I.value.style.chart.layout.rects.strokeWidth,
1465
- onClick: Ue((n) => Pr(e, t), ["stop"]),
1466
- onMouseenter: () => hr({
1467
- datapoint: e,
1468
- seriesIndex: t,
1469
- triggerMode: "pointer"
1470
- }),
1471
- onMouseleave: (n) => pr({
1472
- datapoint: e,
1473
- seriesIndex: t
1474
- }),
1475
- style: S(`opacity:${Z.value ? Z.value.id === e.id ? 1 : I.value.style.chart.layout.rects.selected.unselectedOpacity : 1}`),
1476
- class: Ne(["vue-ui-treemap-rect", ir(e) ? "vue-data-ui-zoom-minus" : "vue-data-ui-zoom-plus"])
1477
- }, null, 46, _t)]))), 128)),
1478
- (C(!0), _(Ee, null, Ie(ei.value, (e) => (C(), _("g", {
1479
- key: e.key,
1480
- style: { "pointer-events": "none" }
1481
- }, [v("defs", null, [v("clipPath", {
1482
- id: e.clipId,
1483
- clipPathUnits: "userSpaceOnUse"
1484
- }, [v("rect", {
1485
- class: "vue-ui-treemap-data-label-clip",
1486
- x: e.clipX,
1487
- y: e.clipY,
1488
- width: e.clipWidth,
1489
- height: e.clipHeight
1490
- }, null, 8, yt)], 8, vt)]), v("g", { "clip-path": `url(#${e.clipId})` }, [(C(!0), _(Ee, null, Ie(e.lines, (e) => (C(), _("text", {
1491
- key: e.key,
1492
- class: "vue-ui-treemap-data-label",
1493
- transform: `translate(${e.x}, ${e.y})`,
1494
- fill: e.fill,
1495
- "font-size": e.fontSize,
1496
- "font-family": e.fontFamily,
1497
- "font-weight": e.fontWeight,
1498
- "text-anchor": "start",
1499
- "dominant-baseline": "text-before-edge"
1500
- }, Re(e.text), 9, xt))), 128))], 8, bt)]))), 128)),
1501
- e.$slots.rect ? (C(), _("g", St, [(C(!0), _(Ee, null, Ie(G.value, (t, n) => (C(), _("g", { key: `slot_${t.id}_${t.depth}` }, [(C(), _("foreignObject", {
1502
- x: t.x0,
1503
- y: t.y0,
1504
- height: K(t),
1505
- width: q(t),
1506
- class: "vue-ui-treemap-cell-foreignObject",
1507
- style: {
1508
- "pointer-events": "none",
1509
- overflow: "hidden"
1510
- }
1511
- }, [v("div", wt, [D(R) ? g("", !0) : T(e.$slots, "rect", je({
1512
- key: 0,
1513
- ref_for: !0
1514
- }, {
1515
- rect: {
1516
- ...t,
1517
- height: K(t),
1518
- width: q(t),
1519
- isSelected: Z.value ? Z.value.id === t.id : !0
1520
- },
1521
- shouldShow: zn(t) || Qn.value,
1522
- fontSize: Yn(t, n),
1523
- isZoom: Qn.value,
1524
- textColor: D(te)(t.color)
1525
- }), void 0, !0)])], 8, Ct))]))), 128))])) : g("", !0)
1526
- ]),
1527
- T(e.$slots, "svg", x(b({
1528
- svg: V.value,
1529
- isZoom: Qn.value,
1530
- rect: Z.value,
1531
- config: I.value,
1532
- isPrintingImg: D(fn) || D(pn) || $t.value,
1533
- isPrintingSvg: en.value
1534
- })), void 0, !0)
1535
- ], 46, ft)),
1536
- D(Or) ? (C(), _("div", Tt, [T(e.$slots, "reset-action", { reset: D(Dr) }, () => [v("button", {
1537
- "data-cy-reset": "",
1538
- tabindex: "0",
1539
- role: "button",
1540
- class: "vue-data-ui-refresh-button",
1541
- style: S({
1542
- background: I.value.style.chart.backgroundColor,
1543
- cursor: L.value ? "pointer" : "default"
1544
- }),
1545
- onClick: t[0] ||= (e) => D(Dr)(!0)
1546
- }, [Ae(_e, {
1547
- name: "refresh",
1548
- stroke: I.value.style.chart.color
1549
- }, null, 8, ["stroke"])], 4)], !0)])) : g("", !0),
1550
- e.$slots.hint ? (C(), _("div", Et, [T(e.$slots, "hint", x(b({
1551
- hint: I.value.a11y.translations.keyboardNavigation,
1552
- isVisible: rn.value
1553
- })), void 0, !0)])) : g("", !0)
1554
- ]),
1555
- e.$slots.watermark ? (C(), _("div", Dt, [T(e.$slots, "watermark", x(b({ isPrinting: D(fn) || D(pn) || $t.value || en.value })), void 0, !0)])) : g("", !0),
1556
- v("div", { id: `legend-bottom-${j.value}` }, null, 8, Ot),
1557
- Jt.value && (I.value.style.chart.legend.show || e.$slots.legend) ? (C(), h(De, {
1558
- key: 7,
1559
- to: I.value.style.chart.legend.position === "top" ? `#legend-top-${j.value}` : `#legend-bottom-${j.value}`
1560
- }, [v("div", {
1561
- ref_key: "chartLegend",
1562
- ref: Vt
1563
- }, [T(e.$slots, "legend", { legend: ar.value }, () => [I.value.style.chart.legend.show ? (C(), h(Se, {
1564
- key: `legend_${Kt.value}`,
1565
- legendSet: ar.value,
1566
- config: or.value,
1567
- id: `treemap_legend_${j.value}`,
1568
- isCursorPointer: L.value,
1569
- onClickMarker: t[1] ||= ({ legend: e }) => lr(e)
1570
- }, {
1571
- item: k(({ legend: e, index: t }) => [D(R) ? g("", !0) : (C(), _("div", {
1572
- key: 0,
1573
- onClick: (t) => lr(e),
1574
- style: S(`opacity:${M.value.includes(e.id) ? .5 : 1}`)
1575
- }, Re(e.display), 13, kt))]),
1576
- legendToggle: k(() => [ar.value.length > 2 && I.value.style.chart.legend.selectAllToggle.show && !D(R) ? (C(), h(ve, {
1577
- key: 0,
1578
- backgroundColor: I.value.style.chart.legend.selectAllToggle.backgroundColor,
1579
- color: I.value.style.chart.legend.selectAllToggle.color,
1580
- fontSize: I.value.style.chart.legend.fontSize,
1581
- checked: M.value.length > 0,
1582
- isCursorPointer: L.value,
1583
- onToggle: cr
1584
- }, null, 8, [
1585
- "backgroundColor",
1586
- "color",
1587
- "fontSize",
1588
- "checked",
1589
- "isCursorPointer"
1590
- ])) : g("", !0)]),
1591
- _: 1
1592
- }, 8, [
1593
- "legendSet",
1594
- "config",
1595
- "id",
1596
- "isCursorPointer"
1597
- ])) : g("", !0)], !0)], 512)], 8, ["to"])) : g("", !0),
1598
- e.$slots.source ? (C(), _("div", {
1599
- key: 8,
1600
- ref_key: "source",
1601
- ref: Ht,
1602
- dir: "auto"
1603
- }, [T(e.$slots, "source", {}, void 0, !0)], 512)) : g("", !0),
1604
- Ae(D(Ye), {
1605
- teleportTo: I.value.style.chart.tooltip.teleportTo,
1606
- show: B.value.showTooltip && It.value,
1607
- backgroundColor: I.value.style.chart.tooltip.backgroundColor,
1608
- color: I.value.style.chart.tooltip.color,
1609
- fontSize: I.value.style.chart.tooltip.fontSize,
1610
- borderRadius: I.value.style.chart.tooltip.borderRadius,
1611
- borderColor: I.value.style.chart.tooltip.borderColor,
1612
- borderWidth: I.value.style.chart.tooltip.borderWidth,
1613
- backgroundOpacity: I.value.style.chart.tooltip.backgroundOpacity,
1614
- position: I.value.style.chart.tooltip.position,
1615
- offsetX: I.value.style.chart.tooltip.offsetX,
1616
- offsetY: I.value.style.chart.tooltip.offsetY,
1617
- parent: N.value,
1618
- content: Lt.value,
1619
- isFullscreen: Rt.value,
1620
- isCustom: D(re)(I.value.style.chart.tooltip.customFormat),
1621
- smooth: I.value.style.chart.tooltip.smooth,
1622
- backdropFilter: I.value.style.chart.tooltip.backdropFilter,
1623
- smoothForce: I.value.style.chart.tooltip.smoothForce,
1624
- smoothSnapThreshold: I.value.style.chart.tooltip.smoothSnapThreshold,
1625
- isA11yMode: nn.value === "keyboard",
1626
- a11yPosition: tn.value
1627
- }, {
1628
- "tooltip-before": k(() => [T(e.$slots, "tooltip-before", x(b({ ...mr.value })), void 0, !0)]),
1629
- tooltip: k(() => [T(e.$slots, "tooltip", x(b({ ...mr.value })), void 0, !0)]),
1630
- "tooltip-after": k(() => [T(e.$slots, "tooltip-after", x(b({ ...mr.value })), void 0, !0)]),
1631
- _: 3
1632
- }, 8, [
1633
- "teleportTo",
1634
- "show",
1635
- "backgroundColor",
1636
- "color",
1637
- "fontSize",
1638
- "borderRadius",
1639
- "borderColor",
1640
- "borderWidth",
1641
- "backgroundOpacity",
1642
- "position",
1643
- "offsetX",
1644
- "offsetY",
1645
- "parent",
1646
- "content",
1647
- "isFullscreen",
1648
- "isCustom",
1649
- "smooth",
1650
- "backdropFilter",
1651
- "smoothForce",
1652
- "smoothSnapThreshold",
1653
- "isA11yMode",
1654
- "a11yPosition"
1655
- ]),
1656
- Pt.value && I.value.userOptions.buttons.table ? (C(), h(Le(zr.value.component), je({ key: 9 }, zr.value.props, {
1657
- ref_key: "tableUnit",
1658
- ref: Yt,
1659
- onClose: Br
1660
- }), Oe({
1661
- content: k(() => [(C(), h(D(Ge), {
1662
- key: `table_${Gt.value}`,
1663
- colNames: _r.value.colNames,
1664
- head: _r.value.head,
1665
- body: _r.value.body,
1666
- config: _r.value.config,
1667
- title: I.value.table.useDialog ? "" : zr.value.title,
1668
- withCloseButton: !I.value.table.useDialog,
1669
- isCursorPointer: L.value,
1670
- onClose: Br
1671
- }, {
1672
- th: k(({ th: e }) => [v("div", {
1673
- innerHTML: e,
1674
- style: {
1675
- display: "flex",
1676
- "align-items": "center"
1677
- }
1678
- }, null, 8, At)]),
1679
- td: k(({ td: e }) => [ke(Re(e.name || e), 1)]),
1680
- _: 1
1681
- }, 8, [
1682
- "colNames",
1683
- "head",
1684
- "body",
1685
- "config",
1686
- "title",
1687
- "withCloseButton",
1688
- "isCursorPointer"
1689
- ]))]),
1690
- _: 2
1691
- }, [I.value.table.useDialog ? {
1692
- name: "title",
1693
- fn: k(() => [ke(Re(zr.value.title), 1)]),
1694
- key: "0"
1695
- } : void 0, I.value.table.useDialog ? {
1696
- name: "actions",
1697
- fn: k(() => [v("button", {
1698
- tabindex: "0",
1699
- class: "vue-ui-user-options-button",
1700
- onClick: t[2] ||= (e) => gr(I.value.userOptions.callbacks.csv),
1701
- style: S({ cursor: L.value ? "pointer" : "default" })
1702
- }, [Ae(_e, {
1703
- name: "fileCsv",
1704
- stroke: zr.value.props.color
1705
- }, null, 8, ["stroke"])], 4)]),
1706
- key: "1"
1707
- } : void 0]), 1040)) : g("", !0),
1708
- T(e.$slots, "skeleton", {}, () => [D(R) ? (C(), h(ce, { key: 0 })) : g("", !0)], !0)
1709
- ], 46, rt));
1710
- }
1711
- }, [["__scopeId", "data-v-442b6b44"]]);
1712
- //#endregion
1713
- export { nt as n, Mt as t };