vue-data-ui 3.22.13 → 3.23.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (224) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +13 -1
  3. package/dist/{Arrow-DKx74WtM.js → Arrow-o2qHNvrC.js} +1 -1
  4. package/dist/{BaseDraggableDialog-3n8udWmh.js → BaseDraggableDialog-qTnfhLBz.js} +2 -2
  5. package/dist/{BaseIcon-CP5RWnqt.js → BaseIcon-91MZoczJ.js} +4 -3
  6. package/dist/{BaseLegendToggle-DsWphmIb.js → BaseLegendToggle-CtAPwzr2.js} +1 -1
  7. package/dist/{BaseZoomControls-C9_ygNN4.js → BaseZoomControls-rdzlicuz.js} +2 -2
  8. package/dist/{ColorPicker-3N_HVgXs.js → ColorPicker-CIAkdPrj.js} +2 -2
  9. package/dist/{DataTable-DzPEVvSo.js → DataTable-D4tM9s5Y.js} +2 -2
  10. package/dist/HillActions-BWhxHlrj.js +187 -0
  11. package/dist/{Legend-C0xAnJdO.js → Legend-CQTRlzK-.js} +2 -2
  12. package/dist/{NonSvgPenAndPaper-B_mE5UbR.js → NonSvgPenAndPaper-Cawacw1W.js} +19 -19
  13. package/dist/{PackageVersion-B6Hokxw9.js → PackageVersion--QCMh5k_.js} +1 -1
  14. package/dist/{PenAndPaper-CSMVXpg2.js → PenAndPaper-cE4J8-rA.js} +11 -11
  15. package/dist/{Shape-BfnXr1nJ.js → Shape-BPMV94Ij.js} +3 -3
  16. package/dist/{Slicer-C6qNUmZ4.js → Slicer-5yIrdoJv.js} +15 -15
  17. package/dist/SlicerPreview-DvjLV2TW.js +1689 -0
  18. package/dist/{SparkTooltip-uoUiL_P8.js → SparkTooltip-BaYtEKS6.js} +6 -6
  19. package/dist/Title-BODtwViI.js +87 -0
  20. package/dist/{Tooltip-CA1rtSyl.js → Tooltip-CMTGxeYO.js} +1 -1
  21. package/dist/{UserOptions-DzAFK9cY.js → UserOptions-3ujTo3LD.js} +2 -2
  22. package/dist/components/arrow.js +1 -1
  23. package/dist/components/vue-ui-3d-bar.js +1 -1
  24. package/dist/components/vue-ui-accordion.js +1 -1
  25. package/dist/components/vue-ui-age-pyramid.js +1 -1
  26. package/dist/components/vue-ui-annotator.js +1 -1
  27. package/dist/components/vue-ui-bullet.js +1 -1
  28. package/dist/components/vue-ui-bump.js +1 -1
  29. package/dist/components/vue-ui-candlestick.js +1 -1
  30. package/dist/components/vue-ui-carousel-table.js +1 -1
  31. package/dist/components/vue-ui-chestnut.js +1 -1
  32. package/dist/components/vue-ui-chord.js +1 -1
  33. package/dist/components/vue-ui-circle-pack.js +1 -1
  34. package/dist/components/vue-ui-cursor.js +1 -1
  35. package/dist/components/vue-ui-dag.js +1 -1
  36. package/dist/components/vue-ui-dashboard.js +1 -1
  37. package/dist/components/vue-ui-digits.js +1 -1
  38. package/dist/components/vue-ui-donut-evolution.js +1 -1
  39. package/dist/components/vue-ui-donut.js +1 -1
  40. package/dist/components/vue-ui-dumbbell.js +1 -1
  41. package/dist/components/vue-ui-flow.js +1 -1
  42. package/dist/components/vue-ui-funnel.js +1 -1
  43. package/dist/components/vue-ui-galaxy.js +1 -1
  44. package/dist/components/vue-ui-gauge.js +1 -1
  45. package/dist/components/vue-ui-geo.js +1 -1
  46. package/dist/components/vue-ui-gizmo.js +1 -1
  47. package/dist/components/vue-ui-heatmap.js +1 -1
  48. package/dist/components/vue-ui-hill.js +2 -0
  49. package/dist/components/vue-ui-history-plot.js +1 -1
  50. package/dist/components/vue-ui-horizontal-bar.js +1 -1
  51. package/dist/components/vue-ui-icon.js +1 -1
  52. package/dist/components/vue-ui-kpi.js +1 -1
  53. package/dist/components/vue-ui-mini-loader.js +1 -1
  54. package/dist/components/vue-ui-molecule.js +1 -1
  55. package/dist/components/vue-ui-mood-radar.js +1 -1
  56. package/dist/components/vue-ui-nested-donuts.js +1 -1
  57. package/dist/components/vue-ui-onion.js +1 -1
  58. package/dist/components/vue-ui-parallel-coordinate-plot.js +1 -1
  59. package/dist/components/vue-ui-quadrant.js +1 -1
  60. package/dist/components/vue-ui-quick-chart.js +1 -1
  61. package/dist/components/vue-ui-radar.js +1 -1
  62. package/dist/components/vue-ui-rating.js +1 -1
  63. package/dist/components/vue-ui-relation-circle.js +1 -1
  64. package/dist/components/vue-ui-ridgeline.js +1 -1
  65. package/dist/components/vue-ui-rings.js +1 -1
  66. package/dist/components/vue-ui-scatter.js +1 -1
  67. package/dist/components/vue-ui-skeleton.js +1 -1
  68. package/dist/components/vue-ui-smiley.js +1 -1
  69. package/dist/components/vue-ui-spark-trend.js +1 -1
  70. package/dist/components/vue-ui-sparkbar.js +1 -1
  71. package/dist/components/vue-ui-sparkgauge.js +1 -1
  72. package/dist/components/vue-ui-sparkhistogram.js +1 -1
  73. package/dist/components/vue-ui-sparkline.js +1 -1
  74. package/dist/components/vue-ui-sparkstackbar.js +1 -1
  75. package/dist/components/vue-ui-stackbar.js +1 -1
  76. package/dist/components/vue-ui-stackline.js +1 -1
  77. package/dist/components/vue-ui-strip-plot.js +1 -1
  78. package/dist/components/vue-ui-table-heatmap.js +1 -1
  79. package/dist/components/vue-ui-table-sparkline.js +1 -1
  80. package/dist/components/vue-ui-table.js +1 -1
  81. package/dist/components/vue-ui-thermometer.js +1 -1
  82. package/dist/components/vue-ui-timer.js +1 -1
  83. package/dist/components/vue-ui-tiremarks.js +1 -1
  84. package/dist/components/vue-ui-treemap.js +1 -1
  85. package/dist/components/vue-ui-vertical-bar.js +1 -1
  86. package/dist/components/vue-ui-waffle.js +1 -1
  87. package/dist/components/vue-ui-wheel.js +1 -1
  88. package/dist/components/vue-ui-word-cloud.js +1 -1
  89. package/dist/components/vue-ui-world.js +1 -1
  90. package/dist/components/vue-ui-xy-canvas.js +1 -1
  91. package/dist/components/vue-ui-xy.js +1 -1
  92. package/dist/{dom-to-png-BdAFKZQg.js → dom-to-png-4tdMNGPX.js} +1 -1
  93. package/dist/exposedLib-DWLRqRhv.js +25 -0
  94. package/dist/{img-Bikk1dGb.js → img-DIQG5q8T.js} +1 -1
  95. package/dist/{labelUtils-BUhssos9.js → labelUtils-C5lnc_xc.js} +1 -1
  96. package/dist/{lib-CFm_J26b.js → lib-BuMGJ_a0.js} +216 -173
  97. package/dist/{package-DmDydylu.js → package-BMc_ZieJ.js} +1 -1
  98. package/dist/{pdf-zmz3l2uy.js → pdf-Cnz4NKM9.js} +1 -1
  99. package/dist/{render-common-BIG8JYGK.js → render-common-Ktg2LZFG.js} +21 -21
  100. package/dist/ssr/vue-ui-donut.js +1 -1
  101. package/dist/ssr/vue-ui-xy.js +1 -1
  102. package/dist/ssr.js +2 -2
  103. package/dist/style.css +1 -1
  104. package/dist/types/vue-data-ui.d.ts +493 -0
  105. package/dist/types/vue-ui-hill.d.ts +90 -0
  106. package/dist/useAutoSizeLabelsInsideViewbox-DvDwcwi_.js +122 -0
  107. package/dist/{useConfig-C0V0eG7L.js → useConfig-BilxnBNr.js} +767 -476
  108. package/dist/useHints-Dq_w2E8B.js +66 -0
  109. package/dist/{useNestedProp-BY6DNN3i.js → useNestedProp--NSEmhOH.js} +1 -1
  110. package/dist/{useObjectBindings-Djwpii4d.js → useObjectBindings-Cwq7NcQz.js} +3 -2
  111. package/dist/{usePrinter-BH-xle1O.js → usePrinter-BFvi4jVy.js} +2 -2
  112. package/dist/useTransitions-g_zBREk2.js +39 -0
  113. package/dist/utils.js +14 -14
  114. package/dist/{vue-data-ui-rkzh6EkO.js → vue-data-ui-EsawKe_W.js} +85 -81
  115. package/dist/vue-data-ui.js +77 -76
  116. package/dist/vue-ui-3d-bar-RSUS2xpL.js +1849 -0
  117. package/dist/{vue-ui-accordion-UA88lv4d.js → vue-ui-accordion-61MlW-Ge.js} +4 -4
  118. package/dist/vue-ui-age-pyramid-CgnPWA93.js +1263 -0
  119. package/dist/vue-ui-annotator-DBRT85HG.js +2913 -0
  120. package/dist/vue-ui-bullet-Bc3-WaN1.js +724 -0
  121. package/dist/{vue-ui-bump-BS7RCf0Z.js → vue-ui-bump-Dvv3iSKr.js} +332 -295
  122. package/dist/{vue-ui-candlestick-BZSGDKrM.js → vue-ui-candlestick-DvvsrIdp.js} +464 -440
  123. package/dist/vue-ui-carousel-table-DtsNVim8.js +463 -0
  124. package/dist/vue-ui-chestnut-ArloORzP.js +2068 -0
  125. package/dist/{vue-ui-chord-D6G7ceE-.js → vue-ui-chord-xX5gWZy8.js} +430 -424
  126. package/dist/vue-ui-circle-pack-D8wykmqg.js +1638 -0
  127. package/dist/{vue-ui-cursor-BpN5MsXM.js → vue-ui-cursor-CxgE6Phh.js} +61 -61
  128. package/dist/{vue-ui-dag-BzgOgXzU.js → vue-ui-dag-C9Sf9vH7.js} +924 -916
  129. package/dist/vue-ui-dashboard-bGmaglAj.js +520 -0
  130. package/dist/{vue-ui-digits-OMPrn8fb.js → vue-ui-digits-DgDE-_Fn.js} +58 -50
  131. package/dist/vue-ui-donut-B_n6wF6B.js +2440 -0
  132. package/dist/{vue-ui-donut-Cp5NbZ1r.js → vue-ui-donut-Bmo149AR.js} +113 -113
  133. package/dist/{vue-ui-donut-evolution-DHVi5rOn.js → vue-ui-donut-evolution-D6vH_hfx.js} +528 -447
  134. package/dist/vue-ui-dumbbell-BX4Ao_wR.js +1582 -0
  135. package/dist/{vue-ui-flow-BusUK3H0.js → vue-ui-flow-Bshw8pT_.js} +415 -407
  136. package/dist/vue-ui-funnel-CjYosIik.js +797 -0
  137. package/dist/vue-ui-galaxy-CvXgy-dy.js +1111 -0
  138. package/dist/vue-ui-gauge-CByT0_vF.js +953 -0
  139. package/dist/{vue-ui-geo-CyFgFKlh.js → vue-ui-geo-C-gSZL2q.js} +378 -363
  140. package/dist/{vue-ui-gizmo-DdeXwCQp.js → vue-ui-gizmo-CJdxyPID.js} +57 -49
  141. package/dist/{vue-ui-heatmap-D8-qJ7fg.js → vue-ui-heatmap-DEEKv8ip.js} +498 -490
  142. package/dist/vue-ui-hill-D7LYAgAL.js +1768 -0
  143. package/dist/{vue-ui-history-plot-C2Aqk2ON.js → vue-ui-history-plot-BhcU94Pt.js} +553 -556
  144. package/dist/vue-ui-horizontal-bar-CfFye5tL.js +1733 -0
  145. package/dist/vue-ui-kpi-DCBnNfTb.js +104 -0
  146. package/dist/vue-ui-mini-loader-CtWpqnLW.js +133 -0
  147. package/dist/vue-ui-molecule-D3igGyOy.js +958 -0
  148. package/dist/{vue-ui-mood-radar-BiOjxFEN.js → vue-ui-mood-radar-sl6DMxqR.js} +349 -341
  149. package/dist/{vue-ui-nested-donuts-Cl1HVvDp.js → vue-ui-nested-donuts-aS4YzaB3.js} +449 -413
  150. package/dist/vue-ui-onion-EhPTZpW_.js +1258 -0
  151. package/dist/vue-ui-parallel-coordinate-plot-DE9wTmQQ.js +1455 -0
  152. package/dist/{vue-ui-quadrant-B21LkUc8.js → vue-ui-quadrant-SaY_RPSE.js} +625 -617
  153. package/dist/vue-ui-quick-chart-CJ9rejnj.js +2389 -0
  154. package/dist/{vue-ui-radar-CyzAyVos.js → vue-ui-radar-CaNen5Fj.js} +356 -310
  155. package/dist/vue-ui-rating--K7rX2an.js +360 -0
  156. package/dist/vue-ui-relation-circle-FLs8vOxQ.js +925 -0
  157. package/dist/vue-ui-ridgeline-Beg5hshN.js +1663 -0
  158. package/dist/{vue-ui-rings-FtcdX8xl.js → vue-ui-rings-BevKD8P-.js} +449 -423
  159. package/dist/{vue-ui-scatter-Cp_-2ahf.js → vue-ui-scatter-CNA7jF-o.js} +721 -702
  160. package/dist/{vue-ui-skeleton-COytVrfN.js → vue-ui-skeleton-B9ZP1w-i.js} +395 -387
  161. package/dist/{vue-ui-smiley-Da2jgkb7.js → vue-ui-smiley-DYnqqk6u.js} +128 -120
  162. package/dist/{vue-ui-spark-trend-DC2KUlEY.js → vue-ui-spark-trend-R0ebpg-G.js} +132 -117
  163. package/dist/{vue-ui-sparkbar-DdxQOFIF.js → vue-ui-sparkbar-DYC3By0v.js} +119 -111
  164. package/dist/{vue-ui-sparkgauge-DTA-fORH.js → vue-ui-sparkgauge-Bw6no-In.js} +76 -68
  165. package/dist/vue-ui-sparkhistogram-DvRKy8rq.js +590 -0
  166. package/dist/{vue-ui-sparkline-DcR_N-zT.js → vue-ui-sparkline-Dz1uzBos.js} +389 -364
  167. package/dist/vue-ui-sparkstackbar-DlnPdZih.js +692 -0
  168. package/dist/vue-ui-stackbar-B-THcavY.js +2350 -0
  169. package/dist/vue-ui-stackline-3dBPoI0h.js +2464 -0
  170. package/dist/{vue-ui-strip-plot-NLCwYvyw.js → vue-ui-strip-plot-ACeYOoHj.js} +505 -484
  171. package/dist/vue-ui-table-heatmap-DVwMqzje.js +364 -0
  172. package/dist/{vue-ui-table-AM9brdwU.js → vue-ui-table-rFy16bp0.js} +512 -504
  173. package/dist/{vue-ui-table-sparkline-BE6DAvur.js → vue-ui-table-sparkline-CABJzK8p.js} +207 -181
  174. package/dist/vue-ui-thermometer-CVQ-H69Q.js +777 -0
  175. package/dist/{vue-ui-timer-BZM5ITG9.js → vue-ui-timer-Bm8LpsnI.js} +66 -58
  176. package/dist/{vue-ui-tiremarks-BCncDpHX.js → vue-ui-tiremarks-DB3f5qiz.js} +127 -119
  177. package/dist/vue-ui-treemap-DP0Sx8Y8.js +1760 -0
  178. package/dist/vue-ui-waffle-iPpdk1Bm.js +1412 -0
  179. package/dist/vue-ui-wheel-BJkEYfLj.js +892 -0
  180. package/dist/{vue-ui-word-cloud-D7R7nhk1.js → vue-ui-word-cloud-B2sxtel9.js} +440 -432
  181. package/dist/{vue-ui-world-DZBt-07p.js → vue-ui-world-BBQZLnzm.js} +343 -335
  182. package/dist/vue-ui-xy-ChZg7AtI.js +1364 -0
  183. package/dist/{vue-ui-xy-CluEZ7lS.js → vue-ui-xy-DZj5DT-q.js} +1633 -1587
  184. package/dist/{vue-ui-xy-canvas-7YSYRdwr.js → vue-ui-xy-canvas-BN2u0bOJ.js} +456 -430
  185. package/dist/vue_ui_hill-dnltu0L-.js +368 -0
  186. package/package.json +2 -2
  187. package/dist/SlicerPreview-Cw6WMVhG.js +0 -1689
  188. package/dist/Title-BuPs74IB.js +0 -87
  189. package/dist/exposedLib-Ciw6TGtP.js +0 -25
  190. package/dist/useAutoSizeLabelsInsideViewbox-C9RNjsGv.js +0 -50
  191. package/dist/useMountedDelay-BAjrhRJb.js +0 -14
  192. package/dist/vue-ui-3d-bar-D5xHEWr1.js +0 -1824
  193. package/dist/vue-ui-age-pyramid-CAJg01c7.js +0 -1246
  194. package/dist/vue-ui-annotator-q3ZKx6ua.js +0 -2905
  195. package/dist/vue-ui-bullet-ByeaWGfI.js +0 -709
  196. package/dist/vue-ui-carousel-table-DO5NRXvX.js +0 -455
  197. package/dist/vue-ui-chestnut-BfeSPeEh.js +0 -2042
  198. package/dist/vue-ui-circle-pack-Cqmlw7AV.js +0 -1610
  199. package/dist/vue-ui-dashboard-DLvGJXJY.js +0 -512
  200. package/dist/vue-ui-donut-ZIRebAWc.js +0 -2418
  201. package/dist/vue-ui-dumbbell-gDYjU2oF.js +0 -1564
  202. package/dist/vue-ui-funnel-BtaYaU0r.js +0 -781
  203. package/dist/vue-ui-galaxy-BMp-HzDh.js +0 -1076
  204. package/dist/vue-ui-gauge-CBou0cFE.js +0 -925
  205. package/dist/vue-ui-horizontal-bar-BuwxI7d1.js +0 -1689
  206. package/dist/vue-ui-kpi-ByxoO01r.js +0 -96
  207. package/dist/vue-ui-mini-loader-D9pprk2c.js +0 -125
  208. package/dist/vue-ui-molecule-BqJJq49_.js +0 -932
  209. package/dist/vue-ui-onion-CRQOxurS.js +0 -1199
  210. package/dist/vue-ui-parallel-coordinate-plot-Dhn18RtR.js +0 -1412
  211. package/dist/vue-ui-quick-chart-DAhSXYnp.js +0 -2443
  212. package/dist/vue-ui-rating-DbxK-ftN.js +0 -352
  213. package/dist/vue-ui-relation-circle-Cb33DMZo.js +0 -917
  214. package/dist/vue-ui-ridgeline-D7aArzQk.js +0 -1627
  215. package/dist/vue-ui-sparkhistogram-D1oFTrvt.js +0 -575
  216. package/dist/vue-ui-sparkstackbar-BlFio0lP.js +0 -674
  217. package/dist/vue-ui-stackbar-Cu13EdVa.js +0 -2322
  218. package/dist/vue-ui-stackline-DKL0o_-3.js +0 -2427
  219. package/dist/vue-ui-table-heatmap-CSI482KG.js +0 -338
  220. package/dist/vue-ui-thermometer-D6Czx7Fb.js +0 -769
  221. package/dist/vue-ui-treemap-BOEYCOdk.js +0 -1727
  222. package/dist/vue-ui-waffle-BrM8IHdG.js +0 -1367
  223. package/dist/vue-ui-wheel-BNsajigQ.js +0 -884
  224. package/dist/vue-ui-xy-Dt_1bSBT.js +0 -1364
@@ -0,0 +1,1412 @@
1
+ import { t as e } from "./rolldown-runtime-Dy4uBu1J.js";
2
+ import { $ as t, Bt as n, D as r, Jt as i, Kt as a, Pt as o, S as ee, Vt as te, X as s, ct as ne, i as re, jt as ie, n as ae, pt as oe, q as se, r as ce, t as le, tt as ue, w as de, xt as fe } from "./lib-BuMGJ_a0.js";
3
+ import { n as pe, t as me } from "./useHints-Dq_w2E8B.js";
4
+ import { t as he } from "./useConfig-BilxnBNr.js";
5
+ import { t as ge } from "./usePrinter-BFvi4jVy.js";
6
+ import { n as _e, t as ve } from "./BaseScanner-DZvpgOjM.js";
7
+ import { t as ye } from "./useSvgExport-Ba9qBr9M.js";
8
+ import { t as be } from "./useNestedProp--NSEmhOH.js";
9
+ import { t as xe } from "./useThemeCheck-C43Tcqmk.js";
10
+ import { t as Se } from "./img-DIQG5q8T.js";
11
+ import { n as Ce } from "./Title-BODtwViI.js";
12
+ import { t as we } from "./Shape-BPMV94Ij.js";
13
+ import { t as Te } from "./_plugin-vue_export-helper-B3ysoDQm.js";
14
+ import { l as Ee, t as De } from "./useResponsive-ZtArZtUf.js";
15
+ import { t as Oe } from "./DefGrad-DVBqDjhO.js";
16
+ import { t as ke } from "./BaseLegendToggle-CtAPwzr2.js";
17
+ import { t as Ae } from "./A11yDataTable-DdRsVULz.js";
18
+ import { t as je } from "./useUserOptionState-DK-_1ddE.js";
19
+ import { t as Me } from "./useChartAccessibility-DYqac8yF.js";
20
+ import { t as Ne } from "./labelUtils-C5lnc_xc.js";
21
+ import { t as Pe } from "./Legend-CQTRlzK-.js";
22
+ import { t as Fe } from "./usePrefersMotion-BC-CsqR1.js";
23
+ import { t as Ie } from "./vue_ui_waffle-DIARFc7g.js";
24
+ import { Fragment as c, Teleport as Le, computed as l, createBlock as u, createCommentVNode as d, createElementBlock as f, createElementVNode as p, createSlots as Re, createTextVNode as ze, createVNode as Be, defineAsyncComponent as m, guardReactiveProps as h, mergeProps as Ve, nextTick as He, normalizeClass as Ue, normalizeProps as g, normalizeStyle as We, onBeforeUnmount as Ge, onMounted as Ke, openBlock as _, ref as v, renderList as y, renderSlot as b, resolveDynamicComponent as qe, shallowRef as Je, toDisplayString as Ye, toRefs as Xe, unref as x, useSlots as Ze, watch as Qe, withCtx as S } from "vue";
25
+ //#region src/components/vue-ui-waffle.vue
26
+ var $e = /* @__PURE__ */ e({ default: () => bt }), et = ["id"], tt = ["id"], nt = ["id"], rt = { style: { position: "relative" } }, it = [
27
+ "xmlns",
28
+ "aria-describedby",
29
+ "viewBox"
30
+ ], at = ["id"], ot = [
31
+ "x",
32
+ "y",
33
+ "height",
34
+ "width"
35
+ ], st = ["height", "width"], ct = { key: 0 }, lt = [
36
+ "rx",
37
+ "x",
38
+ "y",
39
+ "height",
40
+ "width",
41
+ "stroke",
42
+ "stroke-width",
43
+ "filter"
44
+ ], ut = [
45
+ "rx",
46
+ "x",
47
+ "y",
48
+ "height",
49
+ "width",
50
+ "fill",
51
+ "stroke",
52
+ "stroke-width",
53
+ "filter"
54
+ ], dt = { key: 1 }, ft = [
55
+ "rx",
56
+ "x",
57
+ "y",
58
+ "height",
59
+ "width",
60
+ "fill",
61
+ "filter"
62
+ ], pt = [
63
+ "textContent",
64
+ "x",
65
+ "y",
66
+ "font-size",
67
+ "fill",
68
+ "filter"
69
+ ], mt = [
70
+ "x",
71
+ "y",
72
+ "height",
73
+ "width",
74
+ "onMouseover",
75
+ "onMouseleave",
76
+ "onClick"
77
+ ], ht = {
78
+ key: 0,
79
+ style: {
80
+ position: "absolute",
81
+ top: "100%",
82
+ left: "0",
83
+ width: "100%"
84
+ },
85
+ "data-dom-to-png-ignore": "",
86
+ "aria-hidden": "true"
87
+ }, gt = {
88
+ key: 5,
89
+ class: "vue-data-ui-watermark"
90
+ }, _t = ["id"], vt = ["onClick"], yt = ["innerHTML"], bt = /*#__PURE__*/ Te({
91
+ __name: "vue-ui-waffle",
92
+ props: {
93
+ config: {
94
+ type: Object,
95
+ default() {
96
+ return {};
97
+ }
98
+ },
99
+ dataset: {
100
+ type: Array,
101
+ default() {
102
+ return [];
103
+ }
104
+ }
105
+ },
106
+ emits: ["selectLegend", "copyAlt"],
107
+ setup(e, { expose: Te, emit: $e }) {
108
+ let bt = m(() => import("./Tooltip-CMTGxeYO.js")), xt = m(() => import("./BaseIcon-91MZoczJ.js").then((e) => e.n)), St = m(() => import("./DataTable-D4tM9s5Y.js")), Ct = m(() => import("./vue-ui-accordion-61MlW-Ge.js").then((e) => e.n)), wt = m(() => import("./UserOptions-3ujTo3LD.js").then((e) => e.n)), Tt = m(() => import("./PenAndPaper-cE4J8-rA.js").then((e) => e.t)), Et = m(() => import("./PackageVersion--QCMh5k_.js").then((e) => e.t)), Dt = m(() => import("./BaseDraggableDialog-qTnfhLBz.js").then((e) => e.n)), { vue_ui_waffle: Ot } = he(), { isThemeValid: kt, warnInvalidTheme: At } = xe(), jt = Fe(), C = e, Mt = Ze(), Nt = l({
109
+ get() {
110
+ return !!C.dataset && C.dataset.length;
111
+ },
112
+ set(e) {
113
+ return e;
114
+ }
115
+ }), w = v(se()), Pt = v(!1), Ft = v(""), T = v(null), It = v(0), E = v(null), Lt = v(null), Rt = v(null), zt = v(null), Bt = v(null), Vt = v(0), Ht = v(0), Ut = v(0), Wt = v(!1), Gt = v(null), Kt = v(null), qt = v(!1), Jt = v(!1), D = v(null), Yt = v({
116
+ x: 0,
117
+ y: 0
118
+ }), Xt = v("pointer"), Zt = v(!1), O = v(on());
119
+ pe({
120
+ config: () => O.value,
121
+ dataset: () => C.dataset,
122
+ component: "VueUiWaffle",
123
+ rules: [
124
+ me.singleSeries,
125
+ me.emptyArray,
126
+ {
127
+ test: (e) => e.length > 6,
128
+ message: [
129
+ "👀 The number of series is > 6. Consider:",
130
+ "",
131
+ "▶️ Grouping small values dynamically into a single \"Other\" series.",
132
+ "",
133
+ "▶️ Using filters to let users choose a maximum number of series to display.",
134
+ "",
135
+ "▶️ Using VueUiHorizontalBar instead to make the dataset breakdown easier to read."
136
+ ]
137
+ }
138
+ ]
139
+ });
140
+ let k = l(() => O.value.userOptions.useCursorPointer), Qt = l(() => i({
141
+ defaultConfig: {
142
+ useCustomCells: !1,
143
+ userOptions: { show: !1 },
144
+ table: { show: !1 },
145
+ style: { chart: {
146
+ backgroundColor: "#99999930",
147
+ layout: {
148
+ labels: { captions: { show: !1 } },
149
+ rect: { stroke: "#999999" }
150
+ },
151
+ legend: {
152
+ backgroundColor: "transparent",
153
+ showValue: !1,
154
+ showPercentage: !1
155
+ }
156
+ } }
157
+ },
158
+ userConfig: O.value.skeletonConfig ?? {}
159
+ })), { loading: $t, FINAL_DATASET: en, manualLoading: tn } = _e({
160
+ ...Xe(C),
161
+ FINAL_CONFIG: O,
162
+ prepareConfig: on,
163
+ callback: () => {
164
+ Promise.resolve().then(async () => {
165
+ R.value = yn();
166
+ });
167
+ },
168
+ skeletonDataset: C.config?.skeletonDataset ?? [
169
+ {
170
+ name: "",
171
+ values: [1],
172
+ color: "#AAAAAA"
173
+ },
174
+ {
175
+ name: "",
176
+ values: [1],
177
+ color: "#BABABA"
178
+ },
179
+ {
180
+ name: "",
181
+ values: [1],
182
+ color: "#CACACA"
183
+ }
184
+ ],
185
+ skeletonConfig: i({
186
+ defaultConfig: O.value,
187
+ userConfig: Qt.value
188
+ })
189
+ }), { userOptionsVisible: nn, setUserOptionsVisibility: rn, keepUserOptionState: an } = je({ config: O.value }), { svgRef: A } = Me({ config: O.value.style.chart.title });
190
+ function on() {
191
+ let e = be({
192
+ userConfig: C.config,
193
+ defaultConfig: Ot
194
+ }), t = e.theme;
195
+ if (!t) return e;
196
+ if (!kt.value(e)) return At(e), e;
197
+ let n = be({
198
+ userConfig: Ie[t] || C.config,
199
+ defaultConfig: e
200
+ }), r = be({
201
+ userConfig: C.config,
202
+ defaultConfig: n
203
+ });
204
+ return {
205
+ ...r,
206
+ customPalette: r.customPalette.length ? r.customPalette : a[t] || o
207
+ };
208
+ }
209
+ Qe(() => C.config, (e) => {
210
+ $t.value || (O.value = on()), nn.value = !O.value.userOptions.showOnChartHover, cn(), Vt.value += 1, Ht.value += 1, Ut.value += 1, N.value.showTable = O.value.table.show, N.value.showTooltip = O.value.style.chart.tooltip.show;
211
+ }, { deep: !0 });
212
+ let j = Je(null), M = Je(null), sn = l(() => !!O.value.debug);
213
+ function cn() {
214
+ if (ie(C.dataset) ? (ue({
215
+ componentName: "VueUiWaffle",
216
+ type: "dataset",
217
+ debug: sn.value
218
+ }), Nt.value = !1, tn.value = !0) : C.dataset.forEach((e, t) => {
219
+ oe({
220
+ datasetObject: e,
221
+ requiredAttributes: ["name", "values"]
222
+ }).forEach((e) => {
223
+ ue({
224
+ componentName: "VueUiWaffle",
225
+ type: "datasetSerieAttribute",
226
+ property: e,
227
+ index: t,
228
+ debug: sn.value
229
+ });
230
+ });
231
+ }), ie(C.dataset) || (tn.value = O.value.loading), O.value.responsive) {
232
+ let e = Ee(() => {
233
+ let { width: e, height: t } = De({
234
+ chart: E.value,
235
+ title: O.value.style.chart.title.text ? Lt.value : null,
236
+ legend: O.value.style.chart.legend.show ? Rt.value : null,
237
+ source: zt.value,
238
+ noTitle: Bt.value
239
+ });
240
+ requestAnimationFrame(() => {
241
+ P.value.width = e, P.value.height = t, F.value.width = e, F.value.height = t;
242
+ });
243
+ });
244
+ j.value && (M.value && j.value.unobserve(M.value), j.value.disconnect()), j.value = new ResizeObserver(e), M.value = E.value.parentNode, j.value.observe(M.value);
245
+ }
246
+ }
247
+ Ke(() => {
248
+ Wt.value = !0, cn();
249
+ }), Ge(() => {
250
+ j.value && (M.value && j.value.unobserve(M.value), j.value.disconnect());
251
+ });
252
+ let { isPrinting: ln, isImaging: un, generatePdf: dn, generateImage: fn } = ge({
253
+ elementId: `vue-ui-waffle_${w.value}`,
254
+ fileName: O.value.style.chart.title.text || "vue-ui-waffle",
255
+ options: O.value.userOptions.print
256
+ }), pn = l(() => O.value.userOptions.show && !O.value.style.chart.title.text), mn = l(() => de(O.value.customPalette)), N = v({
257
+ showTable: O.value.table.show,
258
+ showTooltip: O.value.style.chart.tooltip.show
259
+ });
260
+ Qe(O, () => {
261
+ N.value = {
262
+ showTable: O.value.table.show,
263
+ showTooltip: O.value.style.chart.tooltip.show
264
+ };
265
+ }, { immediate: !0 });
266
+ let P = v({
267
+ height: 512,
268
+ width: 512
269
+ }), F = v({
270
+ top: 0,
271
+ left: 0,
272
+ height: 512,
273
+ width: 512
274
+ }), I = l(() => (F.value.width - O.value.style.chart.layout.grid.size * O.value.style.chart.layout.grid.spaceBetween) / O.value.style.chart.layout.grid.size), L = l(() => (F.value.height - O.value.style.chart.layout.grid.size * O.value.style.chart.layout.grid.spaceBetween) / O.value.style.chart.layout.grid.size), hn = l(() => Math.max(1e-4, F.value.width / O.value.style.chart.layout.grid.size)), gn = l(() => Math.max(1e-4, F.value.height / O.value.style.chart.layout.grid.size));
275
+ function _n(e) {
276
+ let t = O.value.style.chart.layout.grid.size * O.value.style.chart.layout.grid.size, n = e.reduce((e, t) => e + t, 0), r = e.map((e) => e / n * t), i = r.map(Math.floor), a = r.map((e) => e % 1), o = t - i.reduce((e, t) => e + t, 0);
277
+ for (; o > 0;) {
278
+ let e = a.indexOf(Math.max(...a));
279
+ i[e] += 1, a[e] = 0, --o;
280
+ }
281
+ return i;
282
+ }
283
+ let vn = v(!1);
284
+ function yn() {
285
+ return vn.value = en.value.flatMap((e) => e.values.reduce((e, t) => e + t, 0)).reduce((e, t) => e + t, 0) === 0, en.value.map((e, t) => ({
286
+ ...e,
287
+ color: ee(e.color) || mn.value[t] || o[t] || o[t % o.length],
288
+ uid: `serie_${t}`,
289
+ absoluteIndex: t
290
+ }));
291
+ }
292
+ let bn = l(() => yn()), R = v(bn.value);
293
+ Qe(() => C.dataset, (e) => {
294
+ Array.isArray(e) && e.length > 0 && (tn.value = !1);
295
+ }, { immediate: !0 }), Qe(() => C.dataset, (e) => {
296
+ R.value = yn();
297
+ }, { deep: !0 });
298
+ let xn = l(() => _n(R.value.filter((e, t) => !U.value.includes(e.uid)).map((e, t) => vn.value ? 1 : (e.values || []).reduce((e, t) => e + t, 0)))), Sn = l(() => _n(R.value.map((e, t) => vn.value ? 1 : (e.values || []).reduce((e, t) => e + t)))), z = l(() => (en.value.forEach((e, t) => {
299
+ [null, void 0].includes(e.values) && ue({
300
+ componentName: "VueUiWaffle",
301
+ type: "datasetSerieAttribute",
302
+ property: "values (number[])",
303
+ index: t
304
+ });
305
+ }), R.value.filter((e, t) => !U.value.includes(e.uid)).map((e, t) => ({
306
+ absoluteIndex: e.absoluteIndex,
307
+ uid: e.uid,
308
+ name: e.name,
309
+ color: e.color,
310
+ value: (e.values || []).reduce((e, t) => e + t, 0),
311
+ absoluteValues: e.values || [],
312
+ proportion: xn.value[t]
313
+ })))), B = l(() => R.value.map((e, t) => ({
314
+ absoluteIndex: e.absoluteIndex,
315
+ uid: e.uid,
316
+ name: e.name,
317
+ color: e.color,
318
+ value: (e.values || []).reduce((e, t) => e + t, 0),
319
+ absoluteValues: e.values || [],
320
+ proportion: Sn.value[t]
321
+ })));
322
+ function Cn() {
323
+ return B.value.map((e) => ({
324
+ name: e.name,
325
+ color: e.color,
326
+ value: e.value,
327
+ proportion: e.proportion
328
+ }));
329
+ }
330
+ let wn = l(() => {
331
+ let e = 0;
332
+ return z.value.map((t, n) => {
333
+ let r = e, i = r + t.proportion, a = [];
334
+ for (let e = Math.floor(r); e < Math.floor(i); e += 1) a.push(e);
335
+ return e = i, {
336
+ ...t,
337
+ start: r,
338
+ rects: a
339
+ };
340
+ });
341
+ }), V = l(() => wn.value.flatMap((e, t) => e.rects.map((n, r) => ({
342
+ isFirst: r === 0,
343
+ isLongEnough: n.length > 2,
344
+ name: e.name,
345
+ color: e.color,
346
+ value: e.value,
347
+ serieIndex: t,
348
+ absoluteStartIndex: r < 3,
349
+ serieId: e.uid,
350
+ ...e
351
+ }))).map((e, t) => ({
352
+ ...e,
353
+ isAbsoluteFirst: t % O.value.style.chart.layout.grid.size === 0
354
+ }))), H = l(() => {
355
+ let e = [];
356
+ for (let t = 0; t < O.value.style.chart.layout.grid.size; t += 1) for (let n = 0; n < O.value.style.chart.layout.grid.size; n += 1) e.push({
357
+ isStartOfLine: n === 0,
358
+ position: O.value.style.chart.layout.grid.vertical ? t : n,
359
+ x: (O.value.style.chart.layout.grid.vertical ? t : n) * (I.value + O.value.style.chart.layout.grid.spaceBetween),
360
+ y: (O.value.style.chart.layout.grid.vertical ? n : t) * (L.value + O.value.style.chart.layout.grid.spaceBetween) + F.value.top
361
+ });
362
+ return e;
363
+ }), U = v([]), Tn = v(!1), En = v(Object.create(null)), Dn = v(Object.create(null)), W = v(0);
364
+ function G(e, t) {
365
+ R.value = R.value.map((n) => n.uid === e ? {
366
+ ...n,
367
+ values: [t]
368
+ } : n);
369
+ }
370
+ function On(e, t) {
371
+ let n = t.find((t) => t.uid === e);
372
+ return n ? (n.values || []).reduce((e, t) => e + t, 0) : 0;
373
+ }
374
+ function kn(e) {
375
+ let t = !1;
376
+ En.value[e] && (cancelAnimationFrame(En.value[e]), delete En.value[e], t = !0), Dn.value[e] && (cancelAnimationFrame(Dn.value[e]), delete Dn.value[e], t = !0), t && (W.value = Math.max(0, W.value - 1), Tn.value = W.value > 0);
377
+ }
378
+ function An({ seriesId: e, fromValue: t, toValue: n, mode: r }) {
379
+ kn(e), W.value += 1, Tn.value = !0;
380
+ let i = t;
381
+ return new Promise((a) => {
382
+ function o() {
383
+ if (r === "increase") {
384
+ if (i >= n) {
385
+ G(e, n), --W.value, W.value <= 0 && (Tn.value = !1), delete En.value[e], a();
386
+ return;
387
+ }
388
+ i += n * .025, i > n && (i = n), G(e, i), En.value[e] = requestAnimationFrame(o);
389
+ } else {
390
+ if (i <= t / 100) {
391
+ G(e, 0), --W.value, W.value <= 0 && (Tn.value = !1), delete Dn.value[e], a();
392
+ return;
393
+ }
394
+ i /= 1.15, G(e, i), Dn.value[e] = requestAnimationFrame(o);
395
+ }
396
+ }
397
+ o();
398
+ });
399
+ }
400
+ function jn() {
401
+ R.value = bn.value;
402
+ let e = U.value.length > 0;
403
+ if (!O.value.useAnimation) {
404
+ e ? U.value = [] : U.value = q.value.map((e) => e.uid);
405
+ return;
406
+ }
407
+ e ? [...U.value].forEach((e) => {
408
+ K(e, !0);
409
+ }) : q.value.map((e) => e.uid).forEach((e) => {
410
+ K(e, !0);
411
+ });
412
+ }
413
+ function K(e, t = !1) {
414
+ if (vn.value && !t) return;
415
+ let n = t || U.value.length < q.value.length - 1 && q.value.length > 1;
416
+ if (!O.value.useAnimation) {
417
+ U.value.includes(e) ? U.value = U.value.filter((t) => t !== e) : n && U.value.push(e);
418
+ return;
419
+ }
420
+ let r = On(e, bn.value), i = On(e, R.value);
421
+ if (!(i === 0 && r === 0)) {
422
+ if (U.value.includes(e)) {
423
+ if (U.value = U.value.filter((t) => t !== e), jt.value) {
424
+ kn(e), G(e, r), Wn("selectLegend", z.value.map((e) => ({
425
+ name: e.name,
426
+ color: e.color,
427
+ value: e.value,
428
+ proportion: e.proportion / O.value.style.chart.layout.grid.size ** 2
429
+ })));
430
+ return;
431
+ }
432
+ An({
433
+ seriesId: e,
434
+ fromValue: i,
435
+ toValue: r,
436
+ mode: "increase"
437
+ }).then(() => {
438
+ Wn("selectLegend", z.value.map((e) => ({
439
+ name: e.name,
440
+ color: e.color,
441
+ value: e.value,
442
+ proportion: e.proportion / O.value.style.chart.layout.grid.size ** 2
443
+ })));
444
+ });
445
+ return;
446
+ }
447
+ if (n) {
448
+ if (jt.value) {
449
+ kn(e), U.value.includes(e) || U.value.push(e), G(e, 0), Wn("selectLegend", z.value.map((e) => ({
450
+ name: e.name,
451
+ color: e.color,
452
+ value: e.value,
453
+ proportion: e.proportion / O.value.style.chart.layout.grid.size ** 2
454
+ })));
455
+ return;
456
+ }
457
+ An({
458
+ seriesId: e,
459
+ fromValue: i,
460
+ toValue: 0,
461
+ mode: "decrease"
462
+ }).then(() => {
463
+ U.value.includes(e) || U.value.push(e), G(e, 0), Wn("selectLegend", z.value.map((e) => ({
464
+ name: e.name,
465
+ color: e.color,
466
+ value: e.value,
467
+ proportion: e.proportion / O.value.style.chart.layout.grid.size ** 2
468
+ })));
469
+ });
470
+ }
471
+ }
472
+ }
473
+ function Mn(e) {
474
+ return B.value.length ? B.value.find((t) => t.name === e) || (O.value.debug && console.warn(`VueUiWaffle - Series name not found "${e}"`), null) : (O.value.debug && console.warn("VueUiWaffle - There are no series to show."), null);
475
+ }
476
+ function Nn(e) {
477
+ let t = Mn(e);
478
+ t !== null && U.value.includes(t.uid) && K(t.uid);
479
+ }
480
+ function Pn(e) {
481
+ let t = Mn(e);
482
+ t !== null && (U.value.includes(t.uid) || K(t.uid));
483
+ }
484
+ function Fn({ val: e, percentage: t, showVal: n, showPercentage: r, config: i }) {
485
+ return Ne({
486
+ config: i,
487
+ val: e,
488
+ percentage: t,
489
+ showVal: n,
490
+ showPercentage: r
491
+ });
492
+ }
493
+ let q = l(() => R.value.map((e, t) => {
494
+ let n = (e.values || []).reduce((e, t) => e + t, 0), r = n / R.value.map((e) => (e.values || []).reduce((e, t) => e + t, 0)).reduce((e, t) => e + t, 0);
495
+ return {
496
+ name: e.name,
497
+ color: e.color || mn[t] || o[t] || o[t % o.length],
498
+ value: n,
499
+ proportion: r,
500
+ uid: e.uid,
501
+ shape: "square"
502
+ };
503
+ }).map((e, t) => {
504
+ let n = Fn({
505
+ val: re(O.value.style.chart.layout.labels.dataLabels.formatter, e.value, s({
506
+ p: O.value.style.chart.layout.labels.dataLabels.prefix,
507
+ v: e.value,
508
+ s: O.value.style.chart.layout.labels.dataLabels.suffix,
509
+ r: O.value.style.chart.legend.roundingValue
510
+ }), {
511
+ datapoint: e,
512
+ index: t
513
+ }),
514
+ percentage: isNaN(e.value / J.value) ? "-" : s({
515
+ v: e.value / J.value * 100,
516
+ s: "%",
517
+ r: O.value.style.chart.legend.roundingPercentage
518
+ }),
519
+ showVal: O.value.style.chart.legend.showValue,
520
+ showPercentage: O.value.style.chart.legend.showPercentage,
521
+ config: O.value.style.chart.legend
522
+ });
523
+ return {
524
+ ...e,
525
+ opacity: U.value.includes(e.uid) ? .5 : 1,
526
+ segregate: () => K(e.uid),
527
+ isSegregated: U.value.includes(e.uid),
528
+ display: `${e.name}${O.value.style.chart.legend.showPercentage || O.value.style.chart.legend.showValue ? ": " : ""}${n}`
529
+ };
530
+ })), In = l(() => ({
531
+ cy: "waffle-div-legend",
532
+ backgroundColor: O.value.style.chart.legend.backgroundColor,
533
+ color: O.value.style.chart.legend.color,
534
+ fontSize: O.value.style.chart.legend.fontSize,
535
+ paddingBottom: 12,
536
+ fontWeight: O.value.style.chart.legend.bold ? "bold" : ""
537
+ })), J = l(() => z.value.map((e) => e.value).reduce((e, t) => e + t, 0)), Ln = v(null), Rn = v(null), Y = l(() => {
538
+ let e = /* @__PURE__ */ new Map();
539
+ return V.value.forEach((t, n) => {
540
+ e.has(t.serieIndex) ? e.get(t.serieIndex).rectIndexes.push(n) : e.set(t.serieIndex, {
541
+ serieIndex: t.serieIndex,
542
+ absoluteIndex: t.absoluteIndex,
543
+ serieId: t.serieId,
544
+ name: t.name,
545
+ color: t.color,
546
+ value: t.value,
547
+ proportion: t.proportion,
548
+ rectIndexes: [n]
549
+ });
550
+ }), Array.from(e.values()).sort((e, t) => e.serieIndex - t.serieIndex);
551
+ });
552
+ function zn(e) {
553
+ return Y.value.find((t) => t.serieIndex === e) || null;
554
+ }
555
+ function Bn(e) {
556
+ let t = zn(e);
557
+ return !t || !t.rectIndexes.length ? null : t.rectIndexes[0];
558
+ }
559
+ function Vn(e) {
560
+ let t = V.value[e];
561
+ O.value.events.datapointClick && O.value.events.datapointClick({
562
+ datapoint: t,
563
+ seriesIndex: t.serieIndex
564
+ });
565
+ }
566
+ function Hn(e) {
567
+ let t = V.value[e];
568
+ O.value.events.datapointLeave && O.value.events.datapointLeave({
569
+ datapoint: t,
570
+ seriesIndex: t.serieIndex
571
+ }), Rn.value = null, Pt.value = !1, T.value = null, D.value = null, Xt.value = "pointer";
572
+ }
573
+ function Un(e, t = "pointer") {
574
+ if (U.value.length === C.dataset.length) return;
575
+ let n = V.value[e];
576
+ if (!n) return;
577
+ Xt.value = t, D.value = n.serieIndex, Ln.value = {
578
+ datapoint: n,
579
+ seriesIndex: n.absoluteIndex,
580
+ series: R.value,
581
+ config: O.value
582
+ }, O.value.events.datapointEnter && Rn.value !== n.serieIndex && O.value.events.datapointEnter({
583
+ datapoint: n,
584
+ seriesIndex: n.serieIndex
585
+ }), Rn.value = n.serieIndex, Pt.value = !0, T.value = n.serieIndex;
586
+ let r = O.value.style.chart.tooltip.customFormat;
587
+ if (fe(r) && ne(() => r({
588
+ seriesIndex: n.absoluteIndex,
589
+ datapoint: n,
590
+ series: R.value,
591
+ config: O.value
592
+ }))) Ft.value = r({
593
+ seriesIndex: n.absoluteIndex,
594
+ datapoint: n,
595
+ series: R.value,
596
+ config: O.value
597
+ });
598
+ else {
599
+ let e = "";
600
+ e += `<div style="width:100%;text-align:center;border-bottom:1px solid ${O.value.style.chart.tooltip.borderColor};padding-bottom:6px;margin-bottom:3px;">${n.name}</div>`, e += `<div style="display:flex;flex-direction:row;gap:6px;align-items:center;"><svg viewBox="0 0 60 60" height="14" width="14"><rect x="0" y="0" height="60" width="60" stroke="none" rx="1" fill="${n.color}" />${Mt.pattern ? `<rect x="0" y="0" height="60" width="60" stroke="none" rx="1" stroke="none" fill="url(#pattern_${w.value}_${n.absoluteIndex})"/>` : ""}</svg>`, e += `<b>${Fn({
601
+ config: O.value.style.chart.tooltip,
602
+ showVal: O.value.style.chart.tooltip.showValue,
603
+ showPercentage: O.value.style.chart.tooltip.showPercentage,
604
+ val: `<span>${re(O.value.style.chart.layout.labels.dataLabels.formatter, n.value, s({
605
+ p: O.value.style.chart.layout.labels.dataLabels.prefix,
606
+ v: n.value,
607
+ s: O.value.style.chart.layout.labels.dataLabels.suffix,
608
+ r: O.value.style.chart.tooltip.roundingValue
609
+ }), {
610
+ datapoint: n,
611
+ seriesIndex: n.absoluteIndex,
612
+ series: R.value
613
+ })}</span>`,
614
+ percentage: `<span>${s({
615
+ v: vn.value ? 1 / en.value.length * 100 : n.value / J.value * 100,
616
+ s: "%",
617
+ r: O.value.style.chart.tooltip.roundingPercentage
618
+ })}</span>`
619
+ })}</b></div>`, Ft.value = e;
620
+ }
621
+ }
622
+ let Wn = $e, X = l(() => ({
623
+ head: z.value.map((e) => ({
624
+ name: e.name,
625
+ color: e.color
626
+ })),
627
+ body: z.value.map((e) => e.value)
628
+ }));
629
+ function Gn(e) {
630
+ return O.value.useBlurOnHover && ![null, void 0].includes(T.value) && T.value !== e ? `url(#blur_${w.value})` : "";
631
+ }
632
+ function Kn(e, t) {
633
+ return O.value.style.chart.layout.labels.captions.show ? V.value.length && !Tn.value && !O.value.style.chart.layout.grid.vertical && (V.value[e].isFirst && t.position < O.value.style.chart.layout.grid.size - 2 || V.value[e].isAbsoluteFirst && e % O.value.style.chart.layout.grid.size === 0 && V.value[e].absoluteStartIndex) : !1;
634
+ }
635
+ function qn(e, t = null) {
636
+ let n = re(O.value.style.chart.layout.labels.dataLabels.formatter, V.value[e].value, s({
637
+ p: O.value.style.chart.layout.labels.dataLabels.prefix,
638
+ v: V.value[e].value,
639
+ s: O.value.style.chart.layout.labels.dataLabels.suffix,
640
+ r: O.value.style.chart.layout.labels.captions.roundingValue
641
+ }), {
642
+ datapoint: V.value[e],
643
+ position: t
644
+ }), r = s({
645
+ v: V.value[e].proportion,
646
+ s: "%",
647
+ r: O.value.style.chart.layout.labels.captions.roundingPercentage
648
+ }), i = (O.value.style.chart.layout.labels.captions.serieNameAbbreviation ? ae({
649
+ source: V.value[e].name,
650
+ length: O.value.style.chart.layout.labels.captions.serieNameMaxAbbreviationSize
651
+ }) : V.value[e].name) + (O.value.style.chart.layout.labels.captions.showPercentage || O.value.style.chart.layout.labels.captions.showValue ? ":" : "");
652
+ return `${O.value.style.chart.layout.labels.captions.showSerieName ? i : ""} ${Fn({
653
+ val: n,
654
+ percentage: r,
655
+ showVal: O.value.style.chart.layout.labels.captions.showValue,
656
+ showPercentage: O.value.style.chart.layout.labels.captions.showPercentage,
657
+ config: O.value.style.chart.layout.labels.dataLabels
658
+ })}`;
659
+ }
660
+ function Jn(e = null) {
661
+ He(() => {
662
+ let n = X.value.head.map((e, t) => [
663
+ [e.name],
664
+ [X.value.body[t]],
665
+ [isNaN(X.value.body[t] / J.value) ? "-" : X.value.body[t] / J.value * 100]
666
+ ]), i = r([
667
+ [O.value.style.chart.title.text],
668
+ [O.value.style.chart.title.subtitle.text],
669
+ [
670
+ [""],
671
+ ["val"],
672
+ ["%"]
673
+ ]
674
+ ].concat(n));
675
+ e ? e(i) : t({
676
+ csvContent: i,
677
+ title: O.value.style.chart.title.text || "vue-ui-waffle"
678
+ });
679
+ });
680
+ }
681
+ let Z = l(() => ({
682
+ head: [
683
+ " <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\" fill=\"none\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path stroke=\"none\" d=\"M0 0h24v24H0z\" fill=\"none\"/><path d=\"M18 16v2a1 1 0 0 1 -1 1h-11l6 -7l-6 -7h11a1 1 0 0 1 1 1v2\" /></svg>",
684
+ re(O.value.style.chart.layout.labels.dataLabels.formatter, J.value, s({
685
+ p: O.value.style.chart.layout.labels.dataLabels.prefix,
686
+ v: J.value,
687
+ s: O.value.style.chart.layout.labels.dataLabels.suffix,
688
+ r: O.value.table.td.roundingValue
689
+ })),
690
+ "100%"
691
+ ],
692
+ body: X.value.head.map((e, t) => [
693
+ {
694
+ color: e.color,
695
+ name: e.name
696
+ },
697
+ re(O.value.style.chart.layout.labels.dataLabels.formatter, X.value.body[t], s({
698
+ p: O.value.style.chart.layout.labels.dataLabels.prefix,
699
+ v: X.value.body[t],
700
+ s: O.value.style.chart.layout.labels.dataLabels.suffix,
701
+ r: O.value.table.td.roundingValue
702
+ })),
703
+ isNaN(X.value.body[t] / J.value) ? "-" : s({
704
+ v: X.value.body[t] / J.value * 100,
705
+ s: "%",
706
+ r: O.value.table.td.roundingPercentage
707
+ })
708
+ ]),
709
+ config: {
710
+ th: {
711
+ backgroundColor: O.value.table.th.backgroundColor,
712
+ color: O.value.table.th.color,
713
+ outline: O.value.table.th.outline
714
+ },
715
+ td: {
716
+ backgroundColor: O.value.table.td.backgroundColor,
717
+ color: O.value.table.td.color,
718
+ outline: O.value.table.td.outline
719
+ },
720
+ shape: "square",
721
+ breakpoint: O.value.table.responsiveBreakpoint
722
+ },
723
+ colNames: [
724
+ O.value.table.columnNames.series,
725
+ O.value.table.columnNames.value,
726
+ O.value.table.columnNames.percentage
727
+ ]
728
+ })), Q = v(!1);
729
+ function Yn(e) {
730
+ Q.value = e, It.value += 1;
731
+ }
732
+ function Xn() {
733
+ N.value.showTable = !N.value.showTable;
734
+ }
735
+ function Zn() {
736
+ N.value.showTooltip = !N.value.showTooltip;
737
+ }
738
+ let Qn = v(!1);
739
+ function $n() {
740
+ Qn.value = !Qn.value;
741
+ }
742
+ async function er({ scale: e = 2 } = {}) {
743
+ if (!E.value) return;
744
+ let { width: t, height: n } = E.value.getBoundingClientRect(), r = t / n, { imageUri: i, base64: a } = await Se({
745
+ domElement: E.value,
746
+ base64: !0,
747
+ img: !0,
748
+ scale: e
749
+ });
750
+ return {
751
+ imageUri: i,
752
+ base64: a,
753
+ title: O.value.style.chart.title.text,
754
+ width: t,
755
+ height: n,
756
+ aspectRatio: r
757
+ };
758
+ }
759
+ let $ = l(() => {
760
+ let e = O.value.table.useDialog && !O.value.table.show, t = N.value.showTable;
761
+ return {
762
+ component: e ? Dt : Ct,
763
+ title: `${O.value.style.chart.title.text}${O.value.style.chart.title.subtitle.text ? `: ${O.value.style.chart.title.subtitle.text}` : ""}`,
764
+ props: e ? {
765
+ backgroundColor: O.value.table.th.backgroundColor,
766
+ color: O.value.table.th.color,
767
+ headerColor: O.value.table.th.color,
768
+ headerBg: O.value.table.th.backgroundColor,
769
+ isFullscreen: Q.value,
770
+ fullscreenParent: E.value,
771
+ forcedWidth: Math.min(500, window.innerWidth * .8),
772
+ isCursorPointer: k.value
773
+ } : {
774
+ hideDetails: !0,
775
+ config: {
776
+ open: t,
777
+ maxHeight: 1e4,
778
+ body: {
779
+ backgroundColor: O.value.style.chart.backgroundColor,
780
+ color: O.value.style.chart.color
781
+ },
782
+ head: {
783
+ backgroundColor: O.value.style.chart.backgroundColor,
784
+ color: O.value.style.chart.color
785
+ }
786
+ }
787
+ }
788
+ };
789
+ });
790
+ Qe(() => N.value.showTable, (e) => {
791
+ O.value.table.show || (e && O.value.table.useDialog && Gt.value ? Gt.value.open() : "close" in Gt.value && Gt.value.close());
792
+ });
793
+ function tr() {
794
+ N.value.showTable = !1, Kt.value && Kt.value.setTableIconState(!1);
795
+ }
796
+ let nr = l(() => q.value.map((e) => ({
797
+ ...e,
798
+ name: e.display
799
+ }))), rr = l(() => O.value.style.chart.backgroundColor), ir = l(() => O.value.style.chart.legend), { exportSvg: ar, getSvg: or } = ye({
800
+ svg: A,
801
+ title: l(() => O.value.style.chart.title),
802
+ legend: ir,
803
+ legendItems: nr,
804
+ backgroundColor: rr
805
+ });
806
+ async function sr({ isCb: e }) {
807
+ Jt.value = !0, await He();
808
+ try {
809
+ if (e) {
810
+ let { blob: e, url: t, text: n, dataUrl: r } = await or();
811
+ await Promise.resolve(O.value.userOptions.callbacks.svg({
812
+ blob: e,
813
+ url: t,
814
+ text: n,
815
+ dataUrl: r
816
+ }));
817
+ } else await Promise.resolve(ar());
818
+ } finally {
819
+ Jt.value = !1;
820
+ }
821
+ }
822
+ function cr(e) {
823
+ if (e?.stage === "start") {
824
+ qt.value = !0;
825
+ return;
826
+ }
827
+ if (e?.stage === "end") {
828
+ qt.value = !1;
829
+ return;
830
+ }
831
+ fn();
832
+ }
833
+ async function lr() {
834
+ if (Wn("copyAlt", {
835
+ config: O.value,
836
+ dataset: B.value
837
+ }), !O.value.userOptions.callbacks.altCopy) {
838
+ console.warn("Vue Data UI - A callback must be set for `altCopy` in userOptions.");
839
+ return;
840
+ }
841
+ await Promise.resolve(O.value.userOptions.callbacks.altCopy({
842
+ config: O.value,
843
+ dataset: B.value
844
+ }));
845
+ }
846
+ function ur() {
847
+ D.value = null, Zt.value = !0;
848
+ }
849
+ function dr() {
850
+ D.value = null, Xt.value = "pointer", Pt.value = !1, T.value = null, Rn.value = null, Zt.value = !1;
851
+ }
852
+ function fr(e) {
853
+ if (!A.value || Qn.value || document.activeElement !== A.value || !Y.value.length || U.value.length === C.dataset.length) return;
854
+ let t = ["ArrowLeft", "ArrowUp"].includes(e.key), n = ["ArrowRight", "ArrowDown"].includes(e.key), r = e.key === "Enter" || e.key === " ", i = e.key === "Escape";
855
+ if (!t && !n && !r && !i) return;
856
+ if (e.preventDefault(), e.stopPropagation(), i) {
857
+ D.value = null, Xt.value = "pointer", Pt.value = !1, T.value = null, Rn.value = null;
858
+ return;
859
+ }
860
+ if (r) {
861
+ if (D.value === null) return;
862
+ let e = Bn(D.value);
863
+ if (e === null) return;
864
+ Vn(e);
865
+ return;
866
+ }
867
+ let a = Y.value.findIndex((e) => e.serieIndex === D.value), o = null;
868
+ if (o = a === -1 ? n ? Y.value[0] : Y.value[Y.value.length - 1] : n ? Y.value[(a + 1) % Y.value.length] : Y.value[(a - 1 + Y.value.length) % Y.value.length], !o) return;
869
+ let ee = Bn(o.serieIndex);
870
+ ee !== null && (pr(o.serieIndex), Un(ee, "keyboard"));
871
+ }
872
+ function pr(e) {
873
+ if (!Number.isFinite(e) || !A.value) return;
874
+ let t = zn(e);
875
+ if (!t || !t.rectIndexes.length) return;
876
+ let n = t.rectIndexes.map((e) => {
877
+ let t = H.value[e];
878
+ return t ? {
879
+ x: t.x + O.value.style.chart.layout.grid.spaceBetween / 2 + hn.value / 2,
880
+ y: t.y + O.value.style.chart.layout.grid.spaceBetween / 2 + gn.value / 2
881
+ } : null;
882
+ }).filter(Boolean);
883
+ if (!n.length) return;
884
+ let r = Math.min(...n.map((e) => e.x)), i = Math.max(...n.map((e) => e.x)), a = Math.min(...n.map((e) => e.y)), o = Math.max(...n.map((e) => e.y)), ee = (r + i) / 2, te = (a + o) / 2, s = A.value.getBoundingClientRect();
885
+ Yt.value = {
886
+ x: s.left + ee / P.value.width * s.width,
887
+ y: s.top + te / P.value.height * s.height
888
+ };
889
+ }
890
+ let mr = l(() => ({
891
+ headers: Z.value?.colNames ?? [],
892
+ rows: Z.value?.body ?? []
893
+ }));
894
+ return Te({
895
+ getData: Cn,
896
+ getImage: er,
897
+ generatePdf: dn,
898
+ generateCsv: Jn,
899
+ generateImage: fn,
900
+ generateSvg: sr,
901
+ hideSeries: Pn,
902
+ showSeries: Nn,
903
+ toggleTable: Xn,
904
+ toggleTooltip: Zn,
905
+ toggleAnnotator: $n,
906
+ toggleFullscreen: Yn,
907
+ copyAlt: lr
908
+ }), (e, t) => (_(), f("div", {
909
+ class: Ue(`vue-data-ui-component vue-ui-waffle ${Q.value ? "vue-data-ui-wrapper-fullscreen" : ""}`),
910
+ ref_key: "waffleChart",
911
+ ref: E,
912
+ id: `vue-ui-waffle_${w.value}`,
913
+ style: We(`font-family:${O.value.style.fontFamily};width:100%; text-align:center;background:${O.value.style.chart.backgroundColor};${O.value.responsive ? "height: 100%" : ""}`),
914
+ onMouseenter: t[2] ||= () => x(rn)(!0),
915
+ onMouseleave: t[3] ||= () => x(rn)(!1)
916
+ }, [
917
+ p("div", {
918
+ id: `chart-instructions-${w.value}`,
919
+ class: "sr-only"
920
+ }, [p("p", null, Ye(O.value.a11y.translations.keyboardNavigation), 1)], 8, tt),
921
+ mr.value?.rows?.length ? (_(), u(Ae, {
922
+ key: 0,
923
+ uid: w.value,
924
+ head: mr.value.headers,
925
+ body: mr.value.rows,
926
+ notice: O.value.a11y.translations.tableAvailable,
927
+ caption: O.value.a11y.translations.tableCaption
928
+ }, null, 8, [
929
+ "uid",
930
+ "head",
931
+ "body",
932
+ "notice",
933
+ "caption"
934
+ ])) : d("", !0),
935
+ O.value.userOptions.buttons.annotator ? (_(), u(x(Tt), {
936
+ key: 1,
937
+ svgRef: x(A),
938
+ backgroundColor: O.value.style.chart.backgroundColor,
939
+ color: O.value.style.chart.color,
940
+ active: Qn.value,
941
+ isCursorPointer: k.value,
942
+ onClose: $n
943
+ }, {
944
+ "annotator-action-close": S(() => [b(e.$slots, "annotator-action-close", {}, void 0, !0)]),
945
+ "annotator-action-color": S(({ color: t }) => [b(e.$slots, "annotator-action-color", g(h({ color: t })), void 0, !0)]),
946
+ "annotator-action-draw": S(({ mode: t }) => [b(e.$slots, "annotator-action-draw", g(h({ mode: t })), void 0, !0)]),
947
+ "annotator-action-undo": S(({ disabled: t }) => [b(e.$slots, "annotator-action-undo", g(h({ disabled: t })), void 0, !0)]),
948
+ "annotator-action-redo": S(({ disabled: t }) => [b(e.$slots, "annotator-action-redo", g(h({ disabled: t })), void 0, !0)]),
949
+ "annotator-action-delete": S(({ disabled: t }) => [b(e.$slots, "annotator-action-delete", g(h({ disabled: t })), void 0, !0)]),
950
+ _: 3
951
+ }, 8, [
952
+ "svgRef",
953
+ "backgroundColor",
954
+ "color",
955
+ "active",
956
+ "isCursorPointer"
957
+ ])) : d("", !0),
958
+ pn.value ? (_(), f("div", {
959
+ key: 2,
960
+ ref_key: "noTitle",
961
+ ref: Bt,
962
+ class: "vue-data-ui-no-title-space",
963
+ style: "height:36px; width: 100%;background:transparent"
964
+ }, null, 512)) : d("", !0),
965
+ O.value.style.chart.title.text ? (_(), f("div", {
966
+ key: 3,
967
+ ref_key: "chartTitle",
968
+ ref: Lt,
969
+ style: "width:100%;background:transparent;padding-bottom:12px"
970
+ }, [(_(), u(Ce, {
971
+ key: `title_${Vt.value}`,
972
+ config: {
973
+ title: {
974
+ cy: "waffle-title",
975
+ ...O.value.style.chart.title
976
+ },
977
+ subtitle: {
978
+ cy: "waffle-subtitle",
979
+ ...O.value.style.chart.title.subtitle
980
+ }
981
+ }
982
+ }, null, 8, ["config"]))], 512)) : d("", !0),
983
+ p("div", { id: `legend-top-${w.value}` }, null, 8, nt),
984
+ O.value.userOptions.show && Nt.value && (x(an) || x(nn)) ? (_(), u(x(wt), {
985
+ ref_key: "userOptionsRef",
986
+ ref: Kt,
987
+ key: `user_options_${It.value}`,
988
+ backgroundColor: O.value.style.chart.backgroundColor,
989
+ color: O.value.style.chart.color,
990
+ isPrinting: x(ln),
991
+ isImaging: x(un),
992
+ uid: w.value,
993
+ hasTooltip: O.value.userOptions.buttons.tooltip && O.value.style.chart.tooltip.show,
994
+ hasPdf: O.value.userOptions.buttons.pdf,
995
+ hasImg: O.value.userOptions.buttons.img,
996
+ hasSvg: O.value.userOptions.buttons.svg,
997
+ hasXls: O.value.userOptions.buttons.csv,
998
+ hasTable: O.value.userOptions.buttons.table,
999
+ hasFullscreen: O.value.userOptions.buttons.fullscreen,
1000
+ hasAltCopy: O.value.userOptions.buttons.altCopy,
1001
+ isFullscreen: Q.value,
1002
+ isTooltip: N.value.showTooltip,
1003
+ titles: { ...O.value.userOptions.buttonTitles },
1004
+ chartElement: E.value,
1005
+ position: O.value.userOptions.position,
1006
+ hasAnnotator: O.value.userOptions.buttons.annotator,
1007
+ isAnnotation: Qn.value,
1008
+ callbacks: O.value.userOptions.callbacks,
1009
+ printScale: O.value.userOptions.print.scale,
1010
+ tableDialog: O.value.table.useDialog,
1011
+ isCursorPointer: k.value,
1012
+ onToggleFullscreen: Yn,
1013
+ onGeneratePdf: x(dn),
1014
+ onGenerateCsv: Jn,
1015
+ onGenerateImage: cr,
1016
+ onGenerateSvg: sr,
1017
+ onToggleTable: Xn,
1018
+ onToggleTooltip: Zn,
1019
+ onToggleAnnotator: $n,
1020
+ onCopyAlt: lr,
1021
+ style: We({ visibility: x(an) ? x(nn) ? "visible" : "hidden" : "visible" })
1022
+ }, Re({ _: 2 }, [
1023
+ e.$slots.menuIcon ? {
1024
+ name: "menuIcon",
1025
+ fn: S(({ isOpen: t, color: n }) => [b(e.$slots, "menuIcon", g(h({
1026
+ isOpen: t,
1027
+ color: n
1028
+ })), void 0, !0)]),
1029
+ key: "0"
1030
+ } : void 0,
1031
+ e.$slots.optionTooltip ? {
1032
+ name: "optionTooltip",
1033
+ fn: S(() => [b(e.$slots, "optionTooltip", {}, void 0, !0)]),
1034
+ key: "1"
1035
+ } : void 0,
1036
+ e.$slots.optionPdf ? {
1037
+ name: "optionPdf",
1038
+ fn: S(() => [b(e.$slots, "optionPdf", {}, void 0, !0)]),
1039
+ key: "2"
1040
+ } : void 0,
1041
+ e.$slots.optionCsv ? {
1042
+ name: "optionCsv",
1043
+ fn: S(() => [b(e.$slots, "optionCsv", {}, void 0, !0)]),
1044
+ key: "3"
1045
+ } : void 0,
1046
+ e.$slots.optionImg ? {
1047
+ name: "optionImg",
1048
+ fn: S(() => [b(e.$slots, "optionImg", {}, void 0, !0)]),
1049
+ key: "4"
1050
+ } : void 0,
1051
+ e.$slots.optionSvg ? {
1052
+ name: "optionSvg",
1053
+ fn: S(() => [b(e.$slots, "optionSvg", {}, void 0, !0)]),
1054
+ key: "5"
1055
+ } : void 0,
1056
+ e.$slots.optionTable ? {
1057
+ name: "optionTable",
1058
+ fn: S(() => [b(e.$slots, "optionTable", {}, void 0, !0)]),
1059
+ key: "6"
1060
+ } : void 0,
1061
+ e.$slots.optionFullscreen ? {
1062
+ name: "optionFullscreen",
1063
+ fn: S(({ toggleFullscreen: t, isFullscreen: n }) => [b(e.$slots, "optionFullscreen", g(h({
1064
+ toggleFullscreen: t,
1065
+ isFullscreen: n
1066
+ })), void 0, !0)]),
1067
+ key: "7"
1068
+ } : void 0,
1069
+ e.$slots.optionAnnotator ? {
1070
+ name: "optionAnnotator",
1071
+ fn: S(({ toggleAnnotator: t, isAnnotator: n }) => [b(e.$slots, "optionAnnotator", g(h({
1072
+ toggleAnnotator: t,
1073
+ isAnnotator: n
1074
+ })), void 0, !0)]),
1075
+ key: "8"
1076
+ } : void 0,
1077
+ e.$slots.optionAltCopy ? {
1078
+ name: "optionAltCopy",
1079
+ fn: S(({ altCopy: t }) => [b(e.$slots, "optionAltCopy", g(h({ altCopy: t })), void 0, !0)]),
1080
+ key: "9"
1081
+ } : void 0,
1082
+ e.$slots["custom-menu-before"] ? {
1083
+ name: "custom-menu-before",
1084
+ fn: S(() => [b(e.$slots, "custom-menu-before", {}, void 0, !0)]),
1085
+ key: "10"
1086
+ } : void 0,
1087
+ e.$slots["custom-menu-after"] ? {
1088
+ name: "custom-menu-after",
1089
+ fn: S(() => [b(e.$slots, "custom-menu-after", {}, void 0, !0)]),
1090
+ key: "11"
1091
+ } : void 0
1092
+ ]), 1032, /* @__PURE__ */ "backgroundColor.color.isPrinting.isImaging.uid.hasTooltip.hasPdf.hasImg.hasSvg.hasXls.hasTable.hasFullscreen.hasAltCopy.isFullscreen.isTooltip.titles.chartElement.position.hasAnnotator.isAnnotation.callbacks.printScale.tableDialog.isCursorPointer.onGeneratePdf.style".split("."))) : d("", !0),
1093
+ p("div", rt, [(_(), f("svg", {
1094
+ ref_key: "svgRef",
1095
+ ref: A,
1096
+ xmlns: x(le),
1097
+ "aria-describedby": `chart-instructions-${w.value}`,
1098
+ class: Ue({
1099
+ "vue-data-ui-fullscreen--on": Q.value,
1100
+ "vue-data-ui-fulscreen--off": !Q.value
1101
+ }),
1102
+ tabindex: "0",
1103
+ viewBox: `0 0 ${P.value.width <= 0 ? 10 : P.value.width} ${P.value.height <= 0 ? 10 : P.value.height}`,
1104
+ style: We(`max-width:100%;overflow:visible;background:transparent;color:${O.value.style.chart.color}`),
1105
+ onFocus: ur,
1106
+ onBlur: dr,
1107
+ onKeydown: fr
1108
+ }, [
1109
+ Be(x(Et)),
1110
+ p("defs", null, [(_(!0), f(c, null, y(V.value, (e, t) => (_(), u(Oe, {
1111
+ t: "radial",
1112
+ cx: "50%",
1113
+ cy: "50%",
1114
+ r: "50%",
1115
+ fx: "50%",
1116
+ fy: "50%",
1117
+ id: `gradient_${w.value}_${t}`,
1118
+ key: `gradient_${w.value}_${t}`,
1119
+ stops: [[
1120
+ "0%",
1121
+ x(n)(x(te)(e.color, .05), 100 - O.value.style.chart.layout.rect.gradientIntensity),
1122
+ 1
1123
+ ], [
1124
+ "100%",
1125
+ e.color,
1126
+ 1
1127
+ ]]
1128
+ }, null, 8, ["id", "stops"]))), 128))]),
1129
+ p("defs", null, [p("filter", {
1130
+ id: `blur_${w.value}`,
1131
+ x: "-50%",
1132
+ y: "-50%",
1133
+ width: "200%",
1134
+ height: "200%"
1135
+ }, [...t[4] ||= [p("feGaussianBlur", {
1136
+ in: "SourceGraphic",
1137
+ stdDeviation: 2
1138
+ }, null, -1), p("feColorMatrix", {
1139
+ type: "saturate",
1140
+ values: "0"
1141
+ }, null, -1)]], 8, at)]),
1142
+ O.value.useCustomCells && V.value.length && e.$slots.cell ? (_(!0), f(c, { key: 0 }, y(H.value, (t, n) => (_(), f("foreignObject", {
1143
+ x: t.x,
1144
+ y: t.y,
1145
+ height: L.value <= 0 ? 1e-4 : L.value,
1146
+ width: I.value <= 0 ? 1e-4 : I.value,
1147
+ class: "vue-ui-waffle-custom-cell-foreignObject"
1148
+ }, [b(e.$slots, "cell", Ve({ ref_for: !0 }, {
1149
+ cell: {
1150
+ ...t,
1151
+ color: V.value[n].color,
1152
+ height: Math.max(0, L.value),
1153
+ width: Math.max(0, I.value),
1154
+ ...V.value[n]
1155
+ },
1156
+ isSelected: [null, void 0].includes(T.value) ? !0 : V.value[n].serieIndex === T.value
1157
+ }), void 0, !0)], 8, ot))), 256)) : d("", !0),
1158
+ !V.value.length && !O.value.useCustomCells ? (_(), f("rect", {
1159
+ key: 1,
1160
+ x: 12,
1161
+ y: 12,
1162
+ height: F.value.height - 24,
1163
+ width: F.value.width - 24,
1164
+ rx: 3,
1165
+ fill: "none",
1166
+ stroke: "black"
1167
+ }, null, 8, st)) : V.value.length && !O.value.useCustomCells ? (_(), f(c, { key: 2 }, [
1168
+ e.$slots.pattern ? (_(), f("g", ct, [(_(!0), f(c, null, y(bn.value, (t) => (_(), f("defs", null, [b(e.$slots, "pattern", Ve({ ref_for: !0 }, {
1169
+ seriesIndex: t.absoluteIndex,
1170
+ patternId: `pattern_${w.value}_${t.absoluteIndex}`
1171
+ }), void 0, !0)]))), 256))])) : d("", !0),
1172
+ (_(!0), f(c, null, y(H.value, (e, t) => (_(), f("rect", {
1173
+ rx: O.value.style.chart.layout.rect.rounded ? O.value.style.chart.layout.rect.rounding : 0,
1174
+ x: e.x + O.value.style.chart.layout.grid.spaceBetween / 2,
1175
+ y: e.y + O.value.style.chart.layout.grid.spaceBetween / 2,
1176
+ height: L.value <= 0 ? 1e-4 : L.value,
1177
+ width: I.value <= 0 ? 1e-4 : I.value,
1178
+ fill: "white",
1179
+ stroke: O.value.style.chart.layout.rect.stroke,
1180
+ "stroke-width": O.value.style.chart.layout.rect.strokeWidth,
1181
+ filter: Gn(V.value[t].serieIndex)
1182
+ }, null, 8, lt))), 256)),
1183
+ (_(!0), f(c, null, y(H.value, (e, t) => (_(), f("rect", {
1184
+ rx: O.value.style.chart.layout.rect.rounded ? O.value.style.chart.layout.rect.rounding : 0,
1185
+ x: e.x + O.value.style.chart.layout.grid.spaceBetween / 2,
1186
+ y: e.y + O.value.style.chart.layout.grid.spaceBetween / 2,
1187
+ height: L.value <= 0 ? 1e-4 : L.value,
1188
+ width: I.value <= 0 ? 1e-4 : I.value,
1189
+ fill: O.value.style.chart.layout.rect.useGradient && O.value.style.chart.layout.rect.gradientIntensity > 0 ? `url(#gradient_${w.value}_${t})` : V.value[t].color,
1190
+ stroke: O.value.style.chart.layout.rect.stroke,
1191
+ "stroke-width": O.value.style.chart.layout.rect.strokeWidth,
1192
+ filter: Gn(V.value[t].serieIndex)
1193
+ }, null, 8, ut))), 256)),
1194
+ e.$slots.pattern ? (_(), f("g", dt, [(_(!0), f(c, null, y(H.value, (e, t) => (_(), f("rect", {
1195
+ rx: O.value.style.chart.layout.rect.rounded ? O.value.style.chart.layout.rect.rounding : 0,
1196
+ x: e.x + O.value.style.chart.layout.grid.spaceBetween / 2,
1197
+ y: e.y + O.value.style.chart.layout.grid.spaceBetween / 2,
1198
+ height: L.value <= 0 ? 1e-4 : L.value,
1199
+ width: I.value <= 0 ? 1e-4 : I.value,
1200
+ fill: `url(#pattern_${w.value}_${V.value[t].absoluteIndex})`,
1201
+ stroke: "none",
1202
+ filter: Gn(V.value[t].serieIndex)
1203
+ }, null, 8, ft))), 256))])) : d("", !0)
1204
+ ], 64)) : d("", !0),
1205
+ e.$slots.cellSvg ? (_(!0), f(c, { key: 3 }, y(H.value, (t, n) => (_(), f("g", null, [b(e.$slots, "cellSvg", Ve({ ref_for: !0 }, {
1206
+ cell: {
1207
+ ...t,
1208
+ color: V.value[n].color,
1209
+ height: Math.max(0, L.value),
1210
+ width: Math.max(0, I.value),
1211
+ ...V.value[n]
1212
+ },
1213
+ isSelected: [null, void 0].includes(T.value) ? !0 : V.value[n].serieIndex === T.value
1214
+ }), void 0, !0)]))), 256)) : d("", !0),
1215
+ (_(!0), f(c, null, y(H.value, (e, t) => (_(), f(c, null, [Kn(t, e) ? (_(), f("text", {
1216
+ key: `datalabel_${t}`,
1217
+ textContent: Ye(qn(t, e)),
1218
+ x: e.x + O.value.style.chart.layout.labels.captions.offsetX + O.value.style.chart.layout.grid.spaceBetween / 2 + 6,
1219
+ y: e.y + O.value.style.chart.layout.labels.captions.offsetY + O.value.style.chart.layout.grid.spaceBetween / 2 + gn.value / 2 + O.value.style.chart.layout.labels.captions.fontSize / 3,
1220
+ "font-size": O.value.style.chart.layout.labels.captions.fontSize,
1221
+ fill: x(ce)(V.value[t].color),
1222
+ filter: Gn(V.value[t].serieIndex)
1223
+ }, null, 8, pt)) : d("", !0)], 64))), 256)),
1224
+ (_(!0), f(c, null, y(H.value, (e, t) => (_(), f("rect", {
1225
+ x: e.x + O.value.style.chart.layout.grid.spaceBetween / 2,
1226
+ y: e.y + O.value.style.chart.layout.grid.spaceBetween / 2,
1227
+ height: gn.value,
1228
+ width: hn.value,
1229
+ fill: "transparent",
1230
+ stroke: "none",
1231
+ onMouseover: (e) => Un(t),
1232
+ onMouseleave: (e) => Hn(t),
1233
+ onClick: (e) => Vn(t)
1234
+ }, null, 40, mt))), 256)),
1235
+ b(e.$slots, "svg", { svg: {
1236
+ ...P.value,
1237
+ isPrintingImg: x(ln) || x(un) || qt.value,
1238
+ isPrintingSvg: Jt.value
1239
+ } }, void 0, !0)
1240
+ ], 46, it)), e.$slots.hint ? (_(), f("div", ht, [b(e.$slots, "hint", g(h({
1241
+ hint: O.value.a11y.translations.keyboardNavigation,
1242
+ isVisible: Zt.value
1243
+ })), void 0, !0)])) : d("", !0)]),
1244
+ e.$slots.watermark ? (_(), f("div", gt, [b(e.$slots, "watermark", g(h({ isPrinting: x(ln) || x(un) || qt.value || Jt.value })), void 0, !0)])) : d("", !0),
1245
+ p("div", { id: `legend-bottom-${w.value}` }, null, 8, _t),
1246
+ Wt.value && (O.value.style.chart.legend.show || e.$slots.legend) ? (_(), u(Le, {
1247
+ key: 6,
1248
+ to: O.value.style.chart.legend.position === "top" ? `#legend-top-${w.value}` : `#legend-bottom-${w.value}`
1249
+ }, [p("div", {
1250
+ ref_key: "chartLegend",
1251
+ ref: Rt
1252
+ }, [b(e.$slots, "legend", { legend: q.value }, () => [O.value.style.chart.legend.show ? (_(), u(Pe, {
1253
+ key: `legend_${Ut.value}`,
1254
+ legendSet: q.value,
1255
+ config: In.value,
1256
+ isCursorPointer: k.value,
1257
+ onClickMarker: t[0] ||= ({ legend: e }) => K(e.uid)
1258
+ }, Re({
1259
+ item: S(({ legend: e }) => [p("div", {
1260
+ onClick: (t) => e.segregate(),
1261
+ style: We(`opacity:${U.value.includes(e.uid) ? .5 : 1}`)
1262
+ }, Ye(e.display), 13, vt)]),
1263
+ legendToggle: S(() => [q.value.length > 2 && O.value.style.chart.legend.selectAllToggle.show && !x($t) ? (_(), u(ke, {
1264
+ key: 0,
1265
+ backgroundColor: O.value.style.chart.legend.selectAllToggle.backgroundColor,
1266
+ color: O.value.style.chart.legend.selectAllToggle.color,
1267
+ fontSize: O.value.style.chart.legend.fontSize,
1268
+ checked: U.value.length > 0,
1269
+ isCursorPointer: k.value,
1270
+ onToggle: jn
1271
+ }, null, 8, [
1272
+ "backgroundColor",
1273
+ "color",
1274
+ "fontSize",
1275
+ "checked",
1276
+ "isCursorPointer"
1277
+ ])) : d("", !0)]),
1278
+ _: 2
1279
+ }, [e.$slots.pattern ? {
1280
+ name: "legend-pattern",
1281
+ fn: S(({ legend: e, index: t }) => [Be(we, {
1282
+ shape: e.shape,
1283
+ radius: 30,
1284
+ stroke: "none",
1285
+ plot: {
1286
+ x: 30,
1287
+ y: 30
1288
+ },
1289
+ fill: `url(#pattern_${w.value}_${t})`
1290
+ }, null, 8, ["shape", "fill"])]),
1291
+ key: "0"
1292
+ } : void 0]), 1032, [
1293
+ "legendSet",
1294
+ "config",
1295
+ "isCursorPointer"
1296
+ ])) : d("", !0)], !0)], 512)], 8, ["to"])) : d("", !0),
1297
+ e.$slots.source ? (_(), f("div", {
1298
+ key: 7,
1299
+ ref_key: "source",
1300
+ ref: zt,
1301
+ dir: "auto"
1302
+ }, [b(e.$slots, "source", {}, void 0, !0)], 512)) : d("", !0),
1303
+ Be(x(bt), {
1304
+ teleportTo: O.value.style.chart.tooltip.teleportTo,
1305
+ show: N.value.showTooltip && Pt.value && U.value.length < C.dataset.length,
1306
+ backgroundColor: O.value.style.chart.tooltip.backgroundColor,
1307
+ color: O.value.style.chart.tooltip.color,
1308
+ borderRadius: O.value.style.chart.tooltip.borderRadius,
1309
+ borderColor: O.value.style.chart.tooltip.borderColor,
1310
+ borderWidth: O.value.style.chart.tooltip.borderWidth,
1311
+ backgroundOpacity: O.value.style.chart.tooltip.backgroundOpacity,
1312
+ position: O.value.style.chart.tooltip.position,
1313
+ offsetX: O.value.style.chart.tooltip.offsetX,
1314
+ offsetY: O.value.style.chart.tooltip.offsetY,
1315
+ parent: E.value,
1316
+ content: Ft.value,
1317
+ isCustom: O.value.style.chart.tooltip.customFormat && typeof O.value.style.chart.tooltip.customFormat == "function",
1318
+ fontSize: O.value.style.chart.tooltip.fontSize,
1319
+ isFullscreen: Q.value,
1320
+ smooth: O.value.style.chart.tooltip.smooth,
1321
+ backdropFilter: O.value.style.chart.tooltip.backdropFilter,
1322
+ smoothForce: O.value.style.chart.tooltip.smoothForce,
1323
+ smoothSnapThreshold: O.value.style.chart.tooltip.smoothSnapThreshold,
1324
+ isA11yMode: Xt.value === "keyboard",
1325
+ a11yPosition: Yt.value
1326
+ }, {
1327
+ "tooltip-before": S(() => [b(e.$slots, "tooltip-before", g(h({ ...Ln.value })), void 0, !0)]),
1328
+ tooltip: S(() => [b(e.$slots, "tooltip", g(h({ ...Ln.value })), void 0, !0)]),
1329
+ "tooltip-after": S(() => [b(e.$slots, "tooltip-after", g(h({ ...Ln.value })), void 0, !0)]),
1330
+ _: 3
1331
+ }, 8, [
1332
+ "teleportTo",
1333
+ "show",
1334
+ "backgroundColor",
1335
+ "color",
1336
+ "borderRadius",
1337
+ "borderColor",
1338
+ "borderWidth",
1339
+ "backgroundOpacity",
1340
+ "position",
1341
+ "offsetX",
1342
+ "offsetY",
1343
+ "parent",
1344
+ "content",
1345
+ "isCustom",
1346
+ "fontSize",
1347
+ "isFullscreen",
1348
+ "smooth",
1349
+ "backdropFilter",
1350
+ "smoothForce",
1351
+ "smoothSnapThreshold",
1352
+ "isA11yMode",
1353
+ "a11yPosition"
1354
+ ]),
1355
+ Nt.value && O.value.userOptions.buttons.table ? (_(), u(qe($.value.component), Ve({ key: 8 }, $.value.props, {
1356
+ ref_key: "tableUnit",
1357
+ ref: Gt,
1358
+ onClose: tr
1359
+ }), Re({
1360
+ content: S(() => [(_(), u(x(St), {
1361
+ key: `table_${Ht.value}`,
1362
+ colNames: Z.value.colNames,
1363
+ head: Z.value.head,
1364
+ body: Z.value.body,
1365
+ config: Z.value.config,
1366
+ title: O.value.table.useDialog ? "" : $.value.title,
1367
+ withCloseButton: !O.value.table.useDialog,
1368
+ isCursorPointer: k.value,
1369
+ onClose: tr
1370
+ }, {
1371
+ th: S(({ th: e }) => [p("div", {
1372
+ innerHTML: e,
1373
+ style: {
1374
+ display: "flex",
1375
+ "align-items": "center"
1376
+ }
1377
+ }, null, 8, yt)]),
1378
+ td: S(({ td: e }) => [ze(Ye(e.name || e), 1)]),
1379
+ _: 1
1380
+ }, 8, [
1381
+ "colNames",
1382
+ "head",
1383
+ "body",
1384
+ "config",
1385
+ "title",
1386
+ "withCloseButton",
1387
+ "isCursorPointer"
1388
+ ]))]),
1389
+ _: 2
1390
+ }, [O.value.table.useDialog ? {
1391
+ name: "title",
1392
+ fn: S(() => [ze(Ye($.value.title), 1)]),
1393
+ key: "0"
1394
+ } : void 0, O.value.table.useDialog ? {
1395
+ name: "actions",
1396
+ fn: S(() => [p("button", {
1397
+ tabindex: "0",
1398
+ class: "vue-ui-user-options-button",
1399
+ onClick: t[1] ||= (e) => Jn(O.value.userOptions.callbacks.csv),
1400
+ style: We({ cursor: k.value ? "pointer" : "default" })
1401
+ }, [Be(x(xt), {
1402
+ name: "fileCsv",
1403
+ stroke: $.value.props.color
1404
+ }, null, 8, ["stroke"])], 4)]),
1405
+ key: "1"
1406
+ } : void 0]), 1040)) : d("", !0),
1407
+ b(e.$slots, "skeleton", {}, () => [x($t) ? (_(), u(ve, { key: 0 })) : d("", !0)], !0)
1408
+ ], 46, et));
1409
+ }
1410
+ }, [["__scopeId", "data-v-0f0995dd"]]);
1411
+ //#endregion
1412
+ export { $e as n, bt as t };