vue-data-ui 3.22.9 → 3.22.11

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