vue-data-ui 3.25.11 → 3.25.13

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 (205) hide show
  1. package/dist/{Arrow-DLn-pcrh.js → Arrow-BhZDUeMp.js} +1 -1
  2. package/dist/{BaseDraggableDialog-Gm4Q30j0.js → BaseDraggableDialog-Ck6R5Q0K.js} +2 -2
  3. package/dist/{BaseIcon-D8R6_sKH.js → BaseIcon-Dlz7gfx0.js} +1 -1
  4. package/dist/{BaseLegendToggle-CXQrLjd-.js → BaseLegendToggle-DGG65LAR.js} +1 -1
  5. package/dist/{BaseZoomControls-BTzjVDPM.js → BaseZoomControls-BK0PxEa8.js} +2 -2
  6. package/dist/{ColorPicker-CUy15T72.js → ColorPicker-DMTwxvi_.js} +2 -2
  7. package/dist/{DataTable-oiM9uWrQ.js → DataTable-BD1eZ0zB.js} +2 -2
  8. package/dist/{HillActions-Dn8aKOVJ.js → HillActions-CiP2m7Nz.js} +1 -1
  9. package/dist/{Legend-X4kF4PvW.js → Legend-C0Ln0VNe.js} +2 -2
  10. package/dist/{NonSvgPenAndPaper-DFXjpRyl.js → NonSvgPenAndPaper-BjrMLISf.js} +3 -3
  11. package/dist/{PackageVersion-CEvZNFTz.js → PackageVersion-D5QkTJQU.js} +1 -1
  12. package/dist/{PenAndPaper-Cd3nItcO.js → PenAndPaper-XdUD8uB3.js} +3 -3
  13. package/dist/{Shape-CIqU-p2F.js → Shape-VCdxvFV9.js} +3 -3
  14. package/dist/{SlicerPreview-Ccss7Vsq.js → SlicerPreview-BJ4usfYd.js} +21 -21
  15. package/dist/{SparkTooltip-L3SliZbR.js → SparkTooltip-B1gRxPfb.js} +6 -6
  16. package/dist/{Title-CPHi-evi.js → Title-DeqmC-vN.js} +1 -1
  17. package/dist/{Tooltip-hhrkQ3Lk.js → Tooltip-DZ4a3XJQ.js} +1 -1
  18. package/dist/{UserOptions-qo_Tsqci.js → UserOptions-wFD9vo9g.js} +2 -2
  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-hill.js +1 -1
  46. package/dist/components/vue-ui-history-plot.js +1 -1
  47. package/dist/components/vue-ui-horizontal-bar.js +1 -1
  48. package/dist/components/vue-ui-icon.js +1 -1
  49. package/dist/components/vue-ui-kpi.js +1 -1
  50. package/dist/components/vue-ui-label.js +1 -1
  51. package/dist/components/vue-ui-mini-loader.js +1 -1
  52. package/dist/components/vue-ui-molecule.js +1 -1
  53. package/dist/components/vue-ui-mood-radar.js +1 -1
  54. package/dist/components/vue-ui-nested-donuts.js +1 -1
  55. package/dist/components/vue-ui-onion.js +1 -1
  56. package/dist/components/vue-ui-parallel-coordinate-plot.js +1 -1
  57. package/dist/components/vue-ui-quadrant.js +1 -1
  58. package/dist/components/vue-ui-quick-chart.js +1 -1
  59. package/dist/components/vue-ui-radar.js +1 -1
  60. package/dist/components/vue-ui-rating.js +1 -1
  61. package/dist/components/vue-ui-relation-circle.js +1 -1
  62. package/dist/components/vue-ui-ridgeline.js +1 -1
  63. package/dist/components/vue-ui-rings.js +1 -1
  64. package/dist/components/vue-ui-scatter.js +1 -1
  65. package/dist/components/vue-ui-skeleton.js +1 -1
  66. package/dist/components/vue-ui-smiley.js +1 -1
  67. package/dist/components/vue-ui-spark-trend.js +1 -1
  68. package/dist/components/vue-ui-sparkbar.js +1 -1
  69. package/dist/components/vue-ui-sparkgauge.js +1 -1
  70. package/dist/components/vue-ui-sparkhistogram.js +1 -1
  71. package/dist/components/vue-ui-sparkline.js +1 -1
  72. package/dist/components/vue-ui-sparkstackbar.js +1 -1
  73. package/dist/components/vue-ui-stackbar.js +1 -1
  74. package/dist/components/vue-ui-stackline.js +1 -1
  75. package/dist/components/vue-ui-strip-plot.js +1 -1
  76. package/dist/components/vue-ui-table-heatmap.js +1 -1
  77. package/dist/components/vue-ui-table-sparkline.js +1 -1
  78. package/dist/components/vue-ui-table.js +1 -1
  79. package/dist/components/vue-ui-thermometer.js +1 -1
  80. package/dist/components/vue-ui-timer.js +1 -1
  81. package/dist/components/vue-ui-tiremarks.js +1 -1
  82. package/dist/components/vue-ui-treemap.js +1 -1
  83. package/dist/components/vue-ui-vertical-bar.js +1 -1
  84. package/dist/components/vue-ui-waffle.js +1 -1
  85. package/dist/components/vue-ui-wheel.js +1 -1
  86. package/dist/components/vue-ui-word-cloud.js +1 -1
  87. package/dist/components/vue-ui-world.js +1 -1
  88. package/dist/components/vue-ui-xy-canvas.js +1 -1
  89. package/dist/components/vue-ui-xy.js +1 -1
  90. package/dist/{dom-to-png-BR4imuKV.js → dom-to-png-DdqmzDdY.js} +1 -1
  91. package/dist/exposedLib-BBtjpydc.js +28 -0
  92. package/dist/{img-BkMKbWsI.js → img-W50sC9SC.js} +1 -1
  93. package/dist/{labelUtils-BXX2NzRe.js → labelUtils-Dvm-7rse.js} +1 -1
  94. package/dist/{lib-Dql7cqyA.js → lib-DOpaUOQx.js} +191 -88
  95. package/dist/{package-B10eQN5L.js → package-Cmcke8zR.js} +1 -1
  96. package/dist/{pdf-BSOs_GZz.js → pdf-zGbDDpCi.js} +1 -1
  97. package/dist/{render-common-CZ6-MONw.js → render-common-CG1wuHZY.js} +16 -16
  98. package/dist/ssr/vue-ui-donut.js +1 -1
  99. package/dist/ssr/vue-ui-xy.js +1 -1
  100. package/dist/ssr.js +2 -2
  101. package/dist/style.css +1 -1
  102. package/dist/types/vue-data-ui.d.ts +6 -0
  103. package/dist/{useConfig-D32D002m.js → useConfig-C2uy4ltq.js} +2 -0
  104. package/dist/{useNestedProp-Chvyfpl-.js → useNestedProp-Bux0f4iY.js} +1 -1
  105. package/dist/{useObjectBindings-Cd_WuYIn.js → useObjectBindings-CEuNiBIT.js} +1 -1
  106. package/dist/{usePrinter-hohanNCX.js → usePrinter-BBBooAGP.js} +2 -2
  107. package/dist/utils.js +13 -13
  108. package/dist/{vue-data-ui-zJ1rNxIN.js → vue-data-ui-BVzA0tEV.js} +70 -70
  109. package/dist/vue-data-ui.js +75 -75
  110. package/dist/{vue-ui-3d-bar-CKTAkCAN.js → vue-ui-3d-bar-Ckauu3d4.js} +536 -536
  111. package/dist/{vue-ui-accordion-DmkL8A59.js → vue-ui-accordion-yHZMJLaY.js} +4 -4
  112. package/dist/vue-ui-age-pyramid-BczIt1-U.js +1305 -0
  113. package/dist/{vue-ui-annotator-BLYRy--7.js → vue-ui-annotator-BGB6K6u0.js} +60 -60
  114. package/dist/{vue-ui-bullet-Ck398xn8.js → vue-ui-bullet-BoTsLccZ.js} +84 -84
  115. package/dist/{vue-ui-bump-DyA47yse.js → vue-ui-bump-B5ztSSQO.js} +105 -105
  116. package/dist/{vue-ui-candlestick-DCavjk1j.js → vue-ui-candlestick-BJtdA4Yu.js} +98 -98
  117. package/dist/vue-ui-carousel-table-D-3KSWok.js +467 -0
  118. package/dist/vue-ui-chestnut-W2l-W0_e.js +2016 -0
  119. package/dist/{vue-ui-chord-GgA7QFUH.js → vue-ui-chord-BFPQsMj8.js} +63 -63
  120. package/dist/{vue-ui-circle-pack-BUXTVdy3.js → vue-ui-circle-pack-BtPc1BR3.js} +50 -50
  121. package/dist/{vue-ui-cursor-CEejESe_.js → vue-ui-cursor-CpNOiwkt.js} +61 -61
  122. package/dist/{vue-ui-dag-C1c6scxC.js → vue-ui-dag-i-zPwLcN.js} +44 -44
  123. package/dist/{vue-ui-dashboard-BZBJM7dN.js → vue-ui-dashboard-DtaW9a2P.js} +70 -70
  124. package/dist/{vue-ui-digits-CsougDlU.js → vue-ui-digits-BIlec9af.js} +4 -4
  125. package/dist/{vue-ui-donut-lBgSYKgO.js → vue-ui-donut-Bgf-n95J.js} +551 -551
  126. package/dist/{vue-ui-donut-Be9jKelz.js → vue-ui-donut-CJlBEyxu.js} +203 -203
  127. package/dist/vue-ui-donut-evolution-C0BKntfL.js +1552 -0
  128. package/dist/{vue-ui-dumbbell-CwmA5x9G.js → vue-ui-dumbbell-C112YLkC.js} +87 -87
  129. package/dist/{vue-ui-flow-CRhh8SSN.js → vue-ui-flow-j4bDg9Zd.js} +99 -99
  130. package/dist/{vue-ui-funnel-DH1hW8Gw.js → vue-ui-funnel-CVHpfBCW.js} +40 -40
  131. package/dist/vue-ui-galaxy-ChGpUWh8.js +1097 -0
  132. package/dist/{vue-ui-gauge-CV4-Rn7K.js → vue-ui-gauge-Cp00vXfG.js} +190 -190
  133. package/dist/{vue-ui-geo-BocLrguL.js → vue-ui-geo-B4hDk5NO.js} +12 -12
  134. package/dist/{vue-ui-gizmo-6wKlI5PC.js → vue-ui-gizmo-D6nCCsS4.js} +54 -54
  135. package/dist/vue-ui-heatmap-scVJc1cw.js +1606 -0
  136. package/dist/{vue-ui-hill-CeIZZFf5.js → vue-ui-hill-DnYUHGAK.js} +21 -21
  137. package/dist/vue-ui-history-plot-C5qAMaaW.js +1710 -0
  138. package/dist/{vue-ui-horizontal-bar-D2aw-8tx.js → vue-ui-horizontal-bar-nEG4uvpv.js} +85 -85
  139. package/dist/{vue-ui-kpi-BQ967gzv.js → vue-ui-kpi-DOxId6xg.js} +12 -12
  140. package/dist/{vue-ui-label-Cs4ZlAqr.js → vue-ui-label-BDKY7BI7.js} +4 -4
  141. package/dist/{vue-ui-mini-loader-wGeACd-Y.js → vue-ui-mini-loader-BknVs9VJ.js} +3 -3
  142. package/dist/vue-ui-molecule-_x232mMu.js +941 -0
  143. package/dist/vue-ui-mood-radar-D-F4855V.js +1111 -0
  144. package/dist/{vue-ui-nested-donuts-DT2zkLx2.js → vue-ui-nested-donuts-0E5IllFW.js} +481 -481
  145. package/dist/vue-ui-onion-Eip0S1H7.js +1247 -0
  146. package/dist/vue-ui-parallel-coordinate-plot-DO0sQdJw.js +1444 -0
  147. package/dist/vue-ui-quadrant-CA0ClWfL.js +1979 -0
  148. package/dist/{vue-ui-quick-chart-CkPu6GMh.js → vue-ui-quick-chart-D-VuAoll.js} +169 -169
  149. package/dist/vue-ui-radar-BTD7Y0Ps.js +1386 -0
  150. package/dist/vue-ui-rating-C_Qj6gnP.js +359 -0
  151. package/dist/vue-ui-relation-circle-CcxLBVFV.js +905 -0
  152. package/dist/vue-ui-ridgeline-BZrzbbhb.js +1630 -0
  153. package/dist/{vue-ui-rings-CBtHZ5Pp.js → vue-ui-rings-CO48GOP2.js} +78 -78
  154. package/dist/{vue-ui-scatter-DzePsQEe.js → vue-ui-scatter-DrxUgZbQ.js} +136 -136
  155. package/dist/{vue-ui-skeleton-C347nFnE.js → vue-ui-skeleton-CeKjW4MX.js} +510 -510
  156. package/dist/{vue-ui-smiley-BIjAIpJ9.js → vue-ui-smiley-BvRwx69s.js} +6 -6
  157. package/dist/{vue-ui-spark-trend-Di_7Da43.js → vue-ui-spark-trend-DnujGRyt.js} +96 -96
  158. package/dist/{vue-ui-sparkbar-CbJ-fKc6.js → vue-ui-sparkbar-Cd_uhYGD.js} +113 -113
  159. package/dist/vue-ui-sparkgauge-hT31YEtt.js +268 -0
  160. package/dist/vue-ui-sparkhistogram-PKlTYhKA.js +589 -0
  161. package/dist/vue-ui-sparkline-BSu1uRvP.js +1610 -0
  162. package/dist/{vue-ui-sparkstackbar-IM_l98X-.js → vue-ui-sparkstackbar-R0ij2vi1.js} +183 -183
  163. package/dist/vue-ui-stackbar-BrzzkGFk.js +2369 -0
  164. package/dist/vue-ui-stackline-zEX3gR3y.js +2483 -0
  165. package/dist/{vue-ui-strip-plot-CVV0t6mb.js → vue-ui-strip-plot-DR3N56rS.js} +253 -253
  166. package/dist/{vue-ui-table-nAGCIZKg.js → vue-ui-table-Bg6BeLrf.js} +117 -117
  167. package/dist/{vue-ui-table-heatmap-D5F5bLx5.js → vue-ui-table-heatmap-C1b1Pcp8.js} +95 -95
  168. package/dist/vue-ui-table-sparkline-CkVXyequ.js +738 -0
  169. package/dist/{vue-ui-thermometer-Ccr2ZnzI.js → vue-ui-thermometer-CqkaMF7Z.js} +23 -23
  170. package/dist/{vue-ui-timer-DkW-P6EG.js → vue-ui-timer-CgJvNwBv.js} +13 -13
  171. package/dist/{vue-ui-tiremarks-Bf2anKLr.js → vue-ui-tiremarks-B078YJ9M.js} +30 -30
  172. package/dist/{vue-ui-treemap-Wy61KlkN.js → vue-ui-treemap-Cfjf8mDl.js} +77 -77
  173. package/dist/vue-ui-waffle-BZIcPa0l.js +1633 -0
  174. package/dist/{vue-ui-wheel-DGhu_B8n.js → vue-ui-wheel-CPTm8AHn.js} +185 -185
  175. package/dist/{vue-ui-word-cloud-CdRMst8U.js → vue-ui-word-cloud-DnGblUwj.js} +46 -46
  176. package/dist/{vue-ui-world-Bc4hMzzB.js → vue-ui-world-KkcpeKqp.js} +133 -133
  177. package/dist/vue-ui-xy-C6lVqZnx.js +5367 -0
  178. package/dist/{vue-ui-xy-CbgQs7yW.js → vue-ui-xy-ClCV7xA5.js} +169 -169
  179. package/dist/{vue-ui-xy-canvas-R2xbgDOy.js → vue-ui-xy-canvas-BlpCbXKR.js} +435 -435
  180. package/package.json +1 -1
  181. package/dist/exposedLib-CG3aXJ-v.js +0 -28
  182. package/dist/vue-ui-age-pyramid-SpPactMh.js +0 -1305
  183. package/dist/vue-ui-carousel-table-DCnVD0BJ.js +0 -467
  184. package/dist/vue-ui-chestnut-BDBdizBp.js +0 -2016
  185. package/dist/vue-ui-donut-evolution-vLMhwz4K.js +0 -1552
  186. package/dist/vue-ui-galaxy-CiqILfxR.js +0 -1097
  187. package/dist/vue-ui-heatmap-DGXXRsr4.js +0 -1606
  188. package/dist/vue-ui-history-plot-CporPpg9.js +0 -1710
  189. package/dist/vue-ui-molecule-CvDC9Ht5.js +0 -941
  190. package/dist/vue-ui-mood-radar-BK1va5-H.js +0 -1111
  191. package/dist/vue-ui-onion-DPMikBzZ.js +0 -1247
  192. package/dist/vue-ui-parallel-coordinate-plot-DMPxUL3p.js +0 -1444
  193. package/dist/vue-ui-quadrant-DFkIeJXo.js +0 -1979
  194. package/dist/vue-ui-radar-B3OOLJal.js +0 -1386
  195. package/dist/vue-ui-rating-Criq0ofQ.js +0 -359
  196. package/dist/vue-ui-relation-circle-I6e5UxgY.js +0 -905
  197. package/dist/vue-ui-ridgeline-FmmdCdy9.js +0 -1630
  198. package/dist/vue-ui-sparkgauge-Bb9-yFTb.js +0 -268
  199. package/dist/vue-ui-sparkhistogram-kbbbDVul.js +0 -589
  200. package/dist/vue-ui-sparkline-BF0Fdo6v.js +0 -1587
  201. package/dist/vue-ui-stackbar-CaEXVeo5.js +0 -2369
  202. package/dist/vue-ui-stackline-MgvhcBfm.js +0 -2483
  203. package/dist/vue-ui-table-sparkline-Bf2hjBwq.js +0 -738
  204. package/dist/vue-ui-waffle-CkIFp-AN.js +0 -1633
  205. package/dist/vue-ui-xy-DybWfQrI.js +0 -5298
@@ -1,1552 +0,0 @@
1
- import { t as e } from "./rolldown-runtime-Dy4uBu1J.js";
2
- import { $ as t, D as n, Et as r, G as i, Kt as a, Lt as o, Mt as s, Pt as c, Q as ee, S as te, Ut as ne, Vt as re, X as ie, Yt as ae, Zt as oe, _ as se, f as ce, h as le, ht as ue, i as de, nt as fe, p as pe, q as me, t as he, w as ge, y as _e } from "./lib-Dql7cqyA.js";
3
- import { n as ve, t as ye } from "./useHints-Dq_w2E8B.js";
4
- import { t as be } from "./useTimeLabels-d2f-W1L4.js";
5
- import { t as xe } from "./useConfig-D32D002m.js";
6
- import { t as Se } from "./usePrinter-hohanNCX.js";
7
- import { n as Ce, t as we } from "./BaseScanner-Dzc8VT3j.js";
8
- import { t as Te } from "./useNestedProp-Chvyfpl-.js";
9
- import { t as Ee } from "./useThemeCheck-C43Tcqmk.js";
10
- import { t as De } from "./useChartExport-iwOqiIWX.js";
11
- import { t as Oe } from "./useTransitions-g_zBREk2.js";
12
- import { t as ke } from "./useStableElementSize-C7KADDKj.js";
13
- import { t as Ae } from "./useTimeLabelCollider-AEcY4Ioe.js";
14
- import { t as je } from "./img-BkMKbWsI.js";
15
- import { n as Me } from "./Title-CPHi-evi.js";
16
- import { t as Ne } from "./_plugin-vue_export-helper-B3ysoDQm.js";
17
- import { l as Pe, t as Fe } from "./useResponsive-ZtArZtUf.js";
18
- import { t as Ie } from "./DefGrad-DVBqDjhO.js";
19
- import { t as Le } from "./SlicerPreview-Ccss7Vsq.js";
20
- import { t as Re } from "./BaseLegendToggle-CXQrLjd-.js";
21
- import { t as ze } from "./A11yDataTable-DdRsVULz.js";
22
- import { t as Be } from "./useUserOptionState-DK-_1ddE.js";
23
- import { t as Ve } from "./useChartAccessibility-DYqac8yF.js";
24
- import { t as He } from "./Legend-X4kF4PvW.js";
25
- import { t as Ue } from "./vue_ui_donut_evolution-D1yAAIHr.js";
26
- import { Fragment as l, Teleport as We, computed as u, createBlock as d, createCommentVNode as f, createElementBlock as p, createElementVNode as m, createSlots as Ge, createTextVNode as Ke, createVNode as qe, defineAsyncComponent as h, guardReactiveProps as g, mergeProps as Je, nextTick as Ye, normalizeClass as _, normalizeProps as v, normalizeStyle as Xe, onBeforeUnmount as Ze, onMounted as Qe, openBlock as y, ref as b, renderList as x, renderSlot as S, resolveDynamicComponent as $e, shallowRef as et, toDisplayString as C, toRefs as tt, unref as w, watch as nt, watchEffect as rt, withCtx as T } from "vue";
27
- //#region src/components/vue-ui-donut-evolution.vue
28
- var it = /* @__PURE__ */ e({ default: () => Kt }), at = ["id"], ot = ["id"], st = ["id"], ct = { style: { position: "relative" } }, lt = [
29
- "xmlns",
30
- "aria-describedby",
31
- "viewBox"
32
- ], ut = [
33
- "x",
34
- "y",
35
- "width",
36
- "height"
37
- ], dt = { key: 1 }, ft = [
38
- "x1",
39
- "x2",
40
- "y1",
41
- "y2",
42
- "stroke",
43
- "stroke-width"
44
- ], pt = [
45
- "x1",
46
- "x2",
47
- "y1",
48
- "y2",
49
- "stroke",
50
- "stroke-width"
51
- ], mt = { key: 0 }, ht = [
52
- "x1",
53
- "x2",
54
- "y1",
55
- "y2",
56
- "stroke",
57
- "stroke-width"
58
- ], gt = [
59
- "font-size",
60
- "fill",
61
- "transform"
62
- ], _t = [
63
- "x",
64
- "y",
65
- "font-size",
66
- "fill"
67
- ], vt = [
68
- "d",
69
- "stroke",
70
- "stroke-width"
71
- ], yt = [
72
- "transform",
73
- "font-size",
74
- "text-anchor",
75
- "fill",
76
- "font-weight"
77
- ], bt = { key: 0 }, xt = [
78
- "text-anchor",
79
- "font-size",
80
- "fill",
81
- "transform"
82
- ], St = [
83
- "text-anchor",
84
- "font-size",
85
- "fill",
86
- "transform",
87
- "innerHTML"
88
- ], Ct = [
89
- "x1",
90
- "y1",
91
- "x2",
92
- "y2",
93
- "stroke",
94
- "stroke-width"
95
- ], wt = { key: 1 }, Tt = [
96
- "cx",
97
- "cy",
98
- "r",
99
- "fill"
100
- ], Et = { key: 0 }, Dt = { key: 0 }, Ot = ["d", "stroke"], kt = [
101
- "text-anchor",
102
- "x",
103
- "y",
104
- "fill"
105
- ], At = [
106
- "cx",
107
- "cy",
108
- "r",
109
- "fill"
110
- ], jt = { key: 0 }, Mt = [
111
- "cx",
112
- "cy",
113
- "fill"
114
- ], Nt = { key: 1 }, Pt = [
115
- "d",
116
- "fill",
117
- "stroke"
118
- ], Ft = { key: 2 }, It = [
119
- "d",
120
- "fill",
121
- "stroke"
122
- ], Lt = [
123
- "x",
124
- "y",
125
- "font-size",
126
- "fill"
127
- ], Rt = [
128
- "x",
129
- "y",
130
- "width",
131
- "height",
132
- "fill"
133
- ], zt = [
134
- "x",
135
- "y",
136
- "width",
137
- "height",
138
- "onMouseenter",
139
- "onMouseleave",
140
- "onClick"
141
- ], Bt = {
142
- key: 0,
143
- style: {
144
- position: "absolute",
145
- top: "100%",
146
- left: "0",
147
- width: "100%"
148
- },
149
- "data-dom-to-png-ignore": "",
150
- "aria-hidden": "true"
151
- }, Vt = {
152
- key: 5,
153
- class: "vue-data-ui-watermark"
154
- }, Ht = ["id"], Ut = ["onClick"], Wt = { key: 0 }, Gt = { key: 1 }, Kt = /*#__PURE__*/ Ne({
155
- __name: "vue-ui-donut-evolution",
156
- props: {
157
- config: {
158
- type: Object,
159
- default() {
160
- return {};
161
- }
162
- },
163
- dataset: {
164
- type: Array,
165
- default() {
166
- return [];
167
- }
168
- }
169
- },
170
- emits: ["selectLegend", "copyAlt"],
171
- setup(e, { expose: Ne, emit: it }) {
172
- let Kt = h(() => import("./vue-ui-accordion-DmkL8A59.js").then((e) => e.n)), qt = h(() => import("./BaseIcon-D8R6_sKH.js").then((e) => e.n)), Jt = h(() => import("./DataTable-oiM9uWrQ.js")), Yt = h(() => import("./PackageVersion-CEvZNFTz.js").then((e) => e.t)), Xt = h(() => import("./PenAndPaper-Cd3nItcO.js").then((e) => e.t)), Zt = h(() => import("./UserOptions-qo_Tsqci.js").then((e) => e.n)), Qt = h(() => import("./vue-ui-donut-lBgSYKgO.js").then((e) => e.n)), $t = h(() => import("./BaseDraggableDialog-Gm4Q30j0.js").then((e) => e.n)), { vue_ui_donut_evolution: en } = xe(), { isThemeValid: tn, warnInvalidTheme: nn } = Ee(), E = e, D = b(me()), O = b([]), k = b(null), rn = b(null), an = b(!1), A = b(null), j = b(null), on = b(null), sn = b(0), cn = b(0), ln = b(0), un = b(0), dn = b(0), fn = b(null), pn = b(null), mn = b(null), hn = b(null), gn = b(!1), _n = b(null), vn = b(null), yn = et(null), bn = b(0), xn = b(0), Sn = b(!1);
173
- function Cn() {
174
- yn.value = j.value?.parentNode ?? null;
175
- }
176
- function wn() {
177
- return new Promise((e) => {
178
- requestAnimationFrame(() => {
179
- requestAnimationFrame(e);
180
- });
181
- });
182
- }
183
- async function Tn() {
184
- let e = ++xn.value;
185
- await Ye(), await wn(), await wn(), e === xn.value && (bn.value += 1);
186
- }
187
- function En() {
188
- Sn.value || (Sn.value = !0, Ye(() => {
189
- Sn.value = !1, Cn(), Tn();
190
- }));
191
- }
192
- let Dn = ke({
193
- elementRef: yn,
194
- minimumWidth: 2,
195
- minimumHeight: 2,
196
- stableFramesRequired: 2,
197
- once: !1,
198
- onSizeAccepted: () => {
199
- Tn();
200
- }
201
- }), On = b(null), kn = b(null), An = b(null), jn = b(null), Mn = b(null), Nn = b(!1), M = et(null), N = et(null), Pn = b(null), P = b(null), Fn = b(!1), In = it, Ln = u(() => !!E.dataset && E.dataset.length);
202
- Qe(() => {
203
- gn.value = !0, Cn(), Dn.start(), zn(), Tn();
204
- });
205
- let Rn = u(() => F.value.debug);
206
- function zn() {
207
- if (c(E.dataset) ? (fe({
208
- componentName: "VueUiDonutEvolution",
209
- type: "dataset",
210
- debug: Rn.value
211
- }), Wn.value = !0) : E.dataset.length && E.dataset.forEach((e, t) => {
212
- ue({
213
- datasetObject: e,
214
- requiredAttributes: ["name", "values"]
215
- }).forEach((e) => {
216
- fe({
217
- componentName: "VueUiDonutEvolution",
218
- type: "datasetSerieAttribute",
219
- property: e,
220
- index: t,
221
- debug: Rn.value
222
- }), Wn.value = !0;
223
- });
224
- }), c(E.dataset) || (Wn.value = F.value.loading), setTimeout(() => {
225
- Nn.value = !0;
226
- }, 10), Jn(), F.value.responsive) {
227
- let e = Pe(() => {
228
- Nn.value = !1;
229
- let { width: e, height: t } = Fe({
230
- chart: j.value,
231
- title: F.value.style.chart.title.text ? On.value : null,
232
- legend: F.value.style.chart.legend.show ? kn.value : null,
233
- slicer: F.value.style.chart.zoom.show && Kn.value > 1 ? Mn.value : null,
234
- source: An.value
235
- });
236
- requestAnimationFrame(() => {
237
- Gn.value.width = e, Gn.value.height = t - 12, En(), clearTimeout(Pn.value), Pn.value = setTimeout(() => {
238
- Nn.value = !0;
239
- }, 10);
240
- });
241
- });
242
- M.value && (N.value && M.value.unobserve(N.value), M.value.disconnect()), M.value = new ResizeObserver(e), N.value = j.value.parentNode, M.value.observe(N.value);
243
- }
244
- En();
245
- }
246
- let F = b(er()), I = u(() => L.value.grid), L = u(() => F.value.style.chart.layout), R = u(() => F.value.style.chart.dialog), z = u(() => F.value.style.chart);
247
- ve({
248
- config: () => F.value,
249
- dataset: () => E.dataset,
250
- component: "VueUiDonutEvolution",
251
- rules: [
252
- ye.emptyArray,
253
- {
254
- test: (e) => e.length === 1,
255
- message: [
256
- "👀 There is only a single series in your dataset. Consider:",
257
- "",
258
- "▶️ Using VueUiXy instead, for a regular line chart."
259
- ]
260
- },
261
- {
262
- test: (e) => e.length > 6,
263
- message: [
264
- "👀 The number of series is > 6, which makes donuts hard to read. Consider:",
265
- "",
266
- "▶️ Grouping small values dynamically into a single \"Other\" series.",
267
- "",
268
- "▶️ Using filters to let users choose a maximum number of series to display.",
269
- "",
270
- "▶️ Using VueUiHorizontalBar instead to make the dataset breakdown easier to read."
271
- ]
272
- },
273
- {
274
- test: (e) => e.some((e) => e.values.length > 24),
275
- message: [
276
- "👀 Some series have a number of data points > 24, which can make the chart and donuts hard to read. Consider:",
277
- "",
278
- "▶️ Using larger time scales, or aggregated values.",
279
- "",
280
- "▶️ Filtering the time range by adding date intputs in your UI.",
281
- "",
282
- "▶️ Using VueUiXy to show longer series in a more comfortable display."
283
- ]
284
- }
285
- ]
286
- });
287
- let { transitionEnabled: Bn } = Oe({
288
- config: () => F.value.transitions,
289
- dataset: () => E.dataset
290
- }), B = u(() => F.value.userOptions.useCursorPointer), Vn = u(() => oe({
291
- defaultConfig: {
292
- useCssAnimation: !1,
293
- table: { show: !1 },
294
- userOptions: { show: !1 },
295
- style: { chart: {
296
- backgroundColor: "#99999930",
297
- layout: {
298
- dataLabels: { show: !1 },
299
- grid: {
300
- stroke: "#6A6A6A",
301
- axis: {
302
- yLabel: "",
303
- xLabel: ""
304
- },
305
- yAxis: {
306
- scaleMin: null,
307
- scaleMax: null,
308
- autoScale: !1,
309
- dataLabels: { show: !1 }
310
- },
311
- xAxis: { dataLabels: { show: !1 } }
312
- },
313
- line: { stroke: "#CACACA60" }
314
- },
315
- legend: {
316
- backgroundColor: "transparent",
317
- showValue: !1,
318
- showPercentage: !1
319
- },
320
- zoom: {
321
- show: !1,
322
- startIndex: null,
323
- endIndex: null
324
- }
325
- } }
326
- },
327
- userConfig: F.value.skeletonConfig ?? {}
328
- })), { loading: Hn, FINAL_DATASET: Un, manualLoading: Wn } = Ce({
329
- ...tt(E),
330
- FINAL_CONFIG: F,
331
- prepareConfig: er,
332
- callback: () => {
333
- Promise.resolve().then(async () => {
334
- await Jn();
335
- });
336
- },
337
- skeletonDataset: E.config?.skeletonDataset ?? [
338
- {
339
- name: "",
340
- values: [
341
- 1,
342
- 2,
343
- 3,
344
- 5,
345
- 8,
346
- 13
347
- ],
348
- color: "#AAAAAA"
349
- },
350
- {
351
- name: "",
352
- values: [
353
- 1,
354
- 2,
355
- 3,
356
- 5,
357
- 8,
358
- 13
359
- ],
360
- color: "#BABABA"
361
- },
362
- {
363
- name: "",
364
- values: [
365
- 1,
366
- 2,
367
- 3,
368
- 5,
369
- 8,
370
- 13
371
- ],
372
- color: "#CACACA"
373
- }
374
- ],
375
- skeletonConfig: oe({
376
- defaultConfig: F.value,
377
- userConfig: Vn.value
378
- })
379
- }), Gn = b({
380
- width: L.value.width,
381
- height: L.value.height
382
- }), Kn = u(() => Math.max(...Un.value.map((e) => e.values.length))), V = b({
383
- start: 0,
384
- end: Kn.value
385
- });
386
- function qn() {
387
- Jn();
388
- }
389
- async function Jn() {
390
- await Ye(), await Ye();
391
- let { startIndex: e, endIndex: t } = z.value.zoom, n = jn.value;
392
- V.value = {
393
- start: 0,
394
- end: q.value
395
- }, (e != null || t != null) && n ? (e == null ? (V.value.start = 0, n.setStartValue(0)) : n.setStartValue(e), t == null ? (V.value.end = q.value, n.setEndValue(q.value)) : n.setEndValue(Yn(t + 1))) : (V.value = {
396
- start: 0,
397
- end: q.value
398
- }, cn.value += 1), En();
399
- }
400
- function Yn(e) {
401
- let t = q.value;
402
- return e > t ? t : e < 0 || z.value.zoom.startIndex !== null && e < z.value.zoom.startIndex ? z.value.zoom.startIndex === null ? 1 : z.value.zoom.startIndex + 1 : e;
403
- }
404
- let { userOptionsVisible: Xn, setUserOptionsVisibility: Zn, keepUserOptionState: Qn } = Be({ config: F.value }), { svgRef: $n } = Ve({ config: z.value.title });
405
- function er() {
406
- let e = Te({
407
- userConfig: E.config,
408
- defaultConfig: en
409
- }), t = {}, n = e.theme;
410
- if (n) {
411
- if (!tn.value(e)) nn(e), t = e;
412
- else {
413
- let r = Te({
414
- userConfig: Ue[n] || E.config,
415
- defaultConfig: e
416
- });
417
- t = {
418
- ...Te({
419
- userConfig: E.config,
420
- defaultConfig: r
421
- }),
422
- customPalette: e.customPalette ? e.customPalette : ae[n] || o
423
- };
424
- }
425
- } else t = e;
426
- return t;
427
- }
428
- nt(() => E.config, (e) => {
429
- Hn.value || (F.value = er()), Xn.value = !F.value.userOptions.showOnChartHover, zn(), ln.value += 1, un.value += 1, dn.value += 1, H.value.showTable = F.value.table.show;
430
- }, { deep: !0 }), nt(() => E.dataset, (e) => {
431
- Array.isArray(e) && e.length > 0 && (Wn.value = !1), qn();
432
- }, { deep: !0 });
433
- let { isPrinting: tr, isImaging: nr, generatePdf: rr, generateImage: ir } = Se({
434
- elementId: D.value,
435
- fileName: z.value.title.text || "vue-ui-donut-evolution",
436
- options: F.value.userOptions.print
437
- }), ar = u(() => F.value.userOptions.show && !z.value.title.text), or = u(() => ge(F.value.customPalette)), H = b({ showTable: F.value.table.show });
438
- nt(F, () => {
439
- H.value = { showTable: F.value.table.show };
440
- }, { immediate: !0 });
441
- let U = u(() => ({
442
- top: L.value.padding.top,
443
- right: L.value.padding.right,
444
- bottom: L.value.padding.bottom,
445
- left: L.value.padding.left
446
- })), W = u(() => I.value.yAxis.position === "right");
447
- function sr() {
448
- let e = 0;
449
- fn.value && (e = Array.from(fn.value.querySelectorAll("text")).reduce((e, t) => {
450
- let n = t.getComputedTextLength();
451
- return n > e ? n : e;
452
- }, 0));
453
- let t = hn.value ? hn.value.getBoundingClientRect().width + I.value.axis.yLabelOffsetX + I.value.axis.fontSize : 0, n = e + t + 5;
454
- return {
455
- left: W.value ? 0 : n,
456
- right: W.value ? n : 0,
457
- scaleLabelsWidth: e,
458
- yAxisLabelWidth: t,
459
- crosshair: 5
460
- };
461
- }
462
- let cr = b(0), lr = Pe((e) => {
463
- cr.value = e;
464
- }, 100);
465
- rt((e) => {
466
- let t = pn.value;
467
- if (!t) return;
468
- let n = new ResizeObserver((e) => {
469
- lr(e[0].contentRect.height);
470
- });
471
- n.observe(t), e(() => n.disconnect());
472
- }), Ze(() => {
473
- cr.value = 0, Dn.stop(), clearTimeout(Pn.value), M.value && (N.value && M.value.unobserve(N.value), M.value.disconnect(), M.value = null, N.value = null);
474
- });
475
- let ur = u(() => {
476
- let e = 0;
477
- mn.value && (e = mn.value.getBBox().height);
478
- let t = 0;
479
- return pn.value && (t = cr.value), e + t + I.value.axis.fontSize + I.value.xAxis.dataLabels.offsetY;
480
- }), G = u(() => {
481
- bn.value;
482
- let e = sr(), t = L.value.dataLabels.fontSize * 3, n = Gn.value.width, r = Gn.value.height, i = U.value.left + e.left, a = n - U.value.right - e.right, o = n - i - U.value.right - e.right, s = r - U.value.top - U.value.bottom - t - ur.value, c = U.value.top + t;
483
- return {
484
- top: c,
485
- left: i,
486
- right: a,
487
- bottom: r - U.value.bottom - ur.value,
488
- absoluteHeight: r,
489
- absoluteWidth: n,
490
- centerX: i + Math.max(10, o) / 2,
491
- centerY: c + Math.max(10, s) / 2,
492
- width: Math.max(10, o),
493
- height: Math.max(10, s),
494
- scaleLabelsWidth: e.scaleLabelsWidth,
495
- yAxisLabelWidth: e.yAxisLabelWidth,
496
- crosshair: e.crosshair
497
- };
498
- }), K = u(() => (Rn.value && Un.value.forEach((e, t) => {
499
- [null, void 0].includes(e.name) && fe({
500
- componentName: "VueUiDonutEvolution",
501
- type: "datasetSerieAttribute",
502
- property: "name",
503
- index: t
504
- }), [null, void 0].includes(e.values) && fe({
505
- componentName: "VueUiDonutEvolution",
506
- type: "datasetSerieAttribute",
507
- property: "values",
508
- index: t
509
- });
510
- }), Un.value.map((e, t) => ({
511
- ...e,
512
- values: re(e.values),
513
- color: te(e.color) || or.value[t] || o[t] || o[t % o.length],
514
- length: (e.values || []).length,
515
- uid: me()
516
- })))), dr = u(() => K.value.filter((e) => !O.value.includes(e.uid)).map((e) => ({
517
- ...e,
518
- values: e.values.filter((e, t) => t >= V.value.start && t <= V.value.end)
519
- }))), q = u(() => Math.max(...K.value.map((e) => e.length))), J = b([]), fr = 0;
520
- rt(() => {
521
- let e = ++fr;
522
- (async () => {
523
- let t = await be({
524
- values: I.value.xAxis.dataLabels.values,
525
- maxDatapoints: q.value,
526
- formatter: I.value.xAxis.dataLabels.datetimeFormatter,
527
- start: V.value.start,
528
- end: V.value.end
529
- });
530
- e === fr && (J.value = t);
531
- })();
532
- });
533
- let Y = u(() => G.value.width / (V.value.end - V.value.start)), pr = u(() => {
534
- let e = [];
535
- for (let t = 0; t < V.value.end - V.value.start; t += 1) {
536
- let n = dr.value.map((e) => e.values[t] ?? null), r = n.filter((e) => [void 0, null].includes(e)).length === n.length, i = n.reduce((e, t) => e + t, 0), a = n.map((e) => e / i), o = G.value.left + Y.value * t + Y.value / 2;
537
- e.push({
538
- index: t,
539
- percentages: a,
540
- subtotal: r || i < 0 ? null : i,
541
- values: n,
542
- x: o
543
- });
544
- }
545
- return e;
546
- }), mr = u(() => {
547
- let e = Math.max(...pr.value.map((e) => e.subtotal).filter((e) => r(e))) ?? 1, t = Math.min(...pr.value.map((e) => e.subtotal).filter((e) => r(e))) ?? 0, n = Math.max(I.value.yAxis.scaleMax ?? 0, e), i;
548
- return i = I.value.yAxis.scaleMin == null ? 0 : Math.min(t, I.value.yAxis.scaleMin), I.value.yAxis.autoScale && (i = t, n = e), i === n && (i = n / 2, n *= 1.5), {
549
- max: n,
550
- min: i
551
- };
552
- }), X = u(() => {
553
- let e = pr.value.length === 1 ? mr.value.max * 2 : mr.value.max;
554
- return se(mr.value.min, e, I.value.yAxis.dataLabels.steps);
555
- });
556
- nt(() => X.value.ticks.join("|"), () => {
557
- En();
558
- }, { flush: "post" });
559
- function hr(e) {
560
- return (e - X.value.min) / (X.value.max - X.value.min);
561
- }
562
- let gr = u(() => X.value.ticks.map((e) => ({
563
- y: G.value.bottom - G.value.height * hr(e),
564
- value: e
565
- }))), Z = u(() => {
566
- let e = pr.value, t = Math.max(...e.map((e) => e.subtotal));
567
- return e.length === 1 && t * 2, e.map((t, n) => {
568
- let r = Math.min(G.value.width / 24, Y.value / 2 * .7), i = r > G.value.width / 16 ? G.value.width / 16 : r, a = k.value === t.index ? G.value.width / 16 : i, o = e.length > 4 ? r * 2 : r * 2 > Y.value / 2 * .7 ? Y.value / 2 * .7 : r * 2, c = G.value.bottom - G.value.height * hr(t.subtotal), ee = dr.value.map((e) => ({
569
- color: e.color,
570
- name: e.name,
571
- value: e.values[n] ?? 0
572
- })).toSorted((e, t) => t.value - e.value);
573
- return {
574
- ...t,
575
- y: c,
576
- radius: i,
577
- activeRadius: a,
578
- hoverRadius: o,
579
- donut: s({ series: ee }, t.x, c, i, i, 1.99999, 2, 1, 360, 105.25, i / 2),
580
- donutHover: s({ series: ee }, t.x, c, o, o, 1.99999, 2, 1, 360, 105.25, o / 2),
581
- donutFocus: s({ series: ee }, G.value.centerX, G.value.centerY, G.value.height / 3.6, G.value.height / 3.6, 1.99999, 2, 1, 360, 105.25, G.value.height / 6)
582
- };
583
- });
584
- });
585
- function _r(e, t, n) {
586
- return de(L.value.dataLabels.formatter, e, ie({
587
- p: L.value.dataLabels.prefix,
588
- v: e,
589
- s: L.value.dataLabels.suffix,
590
- r: L.value.dataLabels.rounding
591
- }), {
592
- datapoint: t,
593
- index: n
594
- });
595
- }
596
- function vr(e, t) {
597
- return isNaN(e.value / a(t, "value")) ? 0 : (e.value / a(t, "value") * 100).toFixed(0) + "%";
598
- }
599
- function yr(e) {
600
- k.value = null, rn.value = null, P.value = null, F.value.events.datapointLeave && F.value.events.datapointLeave({
601
- datapoint: e,
602
- seriesIndex: e.seriesIndex + V.value.start
603
- });
604
- }
605
- function br(e) {
606
- F.value.events.datapointEnter && F.value.events.datapointEnter({
607
- datapoint: e,
608
- seriesIndex: e.index + V.value.start
609
- }), k.value = e.index, rn.value = e, P.value = e.index;
610
- }
611
- let xr = b(null);
612
- function Sr(e, t) {
613
- F.value.events.datapointClick && F.value.events.datapointClick({
614
- datapoint: e,
615
- seriesIndex: e.index + V.value.start
616
- }), e.subtotal && R.value.show && (rn.value = null, k.value = null, an.value = !0, A.value = e, Vr(e), [null, void 0].includes(t) || (xr.value = t));
617
- }
618
- let Cr = u(() => K.value.map((e, t) => ({
619
- name: e.name,
620
- value: e.values.slice(V.value.start, V.value.end).reduce((e, t) => e + t, 0),
621
- shape: "circle",
622
- uid: e.uid,
623
- color: e.color
624
- })).sort((e, t) => t.value - e.value).map((e, t) => ({
625
- ...e,
626
- opacity: O.value.includes(e.uid) ? .5 : 1,
627
- segregate: () => Dr(e.uid),
628
- isSegregated: O.value.includes(e.uid),
629
- display: `${e.name}${z.value.legend.showPercentage || z.value.legend.showValue ? ": " : ""}${z.value.legend.showValue ? de(L.value.dataLabels.formatter, e.value, ie({
630
- p: L.value.dataLabels.prefix,
631
- v: e.value,
632
- s: L.value.dataLabels.suffix,
633
- r: z.value.legend.roundingValue
634
- }), {
635
- datapoint: e,
636
- seriesIndex: t
637
- }) : ""}${z.value.legend.showPercentage ? O.value.includes(e.uid) ? `${z.value.legend.showValue ? " (" : ""}- %${z.value.legend.showValue ? ")" : ""}` : `${z.value.legend.showValue ? " (" : ""}${isNaN(e.value / wr.value) ? "-" : ie({
638
- v: e.value / wr.value * 100,
639
- s: "%",
640
- r: z.value.legend.roundingPercentage
641
- })}${z.value.legend.showValue ? ")" : ""}` : ""}`
642
- }))), wr = u(() => Z.value.map((e) => e.subtotal).reduce((e, t) => e + t, 0)), Tr = u(() => ({
643
- cy: "donut-div-legend",
644
- backgroundColor: z.value.legend.backgroundColor,
645
- color: z.value.legend.color,
646
- fontSize: z.value.legend.fontSize,
647
- paddingBottom: 12,
648
- fontWeight: z.value.legend.bold ? "bold" : ""
649
- }));
650
- function Er() {
651
- O.value.length ? O.value = [] : Cr.value.forEach((e) => {
652
- O.value.push(e.uid);
653
- }), In("selectLegend", dr.value);
654
- }
655
- function Dr(e) {
656
- if (O.value.includes(e)) O.value = O.value.filter((t) => t !== e), In("selectLegend", dr.value);
657
- else {
658
- if (O.value.length === K.value.length - 1) return;
659
- O.value.push(e), In("selectLegend", dr.value);
660
- }
661
- A.value && Sr(Z.value.find((e, t) => t === xr.value));
662
- }
663
- function Or(e) {
664
- return K.value.length ? K.value.find((t) => t.name === e) || (Rn.value && console.warn(`VueUiDonutEvolution - Series name not found "${e}"`), null) : (Rn.value && console.warn("VueUiDonutEvolution - There are no series to show."), null);
665
- }
666
- function kr(e) {
667
- let t = Or(e);
668
- t !== null && O.value.includes(t.uid) && Dr(t.uid);
669
- }
670
- function Ar(e) {
671
- let t = Or(e);
672
- t !== null && (O.value.includes(t.uid) || Dr(t.uid));
673
- }
674
- let Q = u(() => {
675
- let e = [""].concat(K.value.filter((e) => !O.value.includes(e.uid)).map((e) => ({
676
- name: e.name,
677
- color: e.color
678
- })), ["Σ"]), t = [];
679
- for (let e = 0; e < q.value; e += 1) {
680
- let n = K.value.filter((e) => !O.value.includes(e.uid)).map((t) => t.values[e] ?? 0).reduce((e, t) => e + t, 0);
681
- t.push([J.value[e] ? J.value[e].text : "-"].concat(K.value.filter((e) => !O.value.includes(e.uid)).map((t) => ({
682
- value: t.values[e] ?? 0,
683
- percentage: t.values[e] ? t.values[e] / n * 100 : 0
684
- })), [`${L.value.dataLabels.prefix}${Number(n.toFixed(F.value.table.td.roundingValue))}${L.value.dataLabels.suffix}`]));
685
- }
686
- return {
687
- head: e,
688
- body: t,
689
- bodyA11y: t.map((e) => e.map((t, n) => n === 0 || n === e.length - 1 ? t : `${_r(t.value ?? 0, null, n)} (${t.percentage.toFixed(1)}%)`)),
690
- config: {
691
- th: {
692
- backgroundColor: F.value.table.th.backgroundColor,
693
- color: F.value.table.th.color,
694
- outline: F.value.table.th.outline
695
- },
696
- td: {
697
- backgroundColor: F.value.table.td.backgroundColor,
698
- color: F.value.table.td.color,
699
- outline: F.value.table.td.outline
700
- },
701
- breakpoint: F.value.table.responsiveBreakpoint
702
- },
703
- colNames: [F.value.table.columnNames.period].concat(K.value.filter((e) => !O.value.includes(e.uid)).map((e) => e.name), F.value.table.columnNames.total)
704
- };
705
- });
706
- function jr() {
707
- return K.value;
708
- }
709
- function Mr(e = null) {
710
- Ye(() => {
711
- let r = [
712
- [z.value.title.text],
713
- [z.value.title.subtitle.text],
714
- [""]
715
- ], i = [...Q.value.head.map((e) => e.name ?? e)], a = [...Q.value.body.map((e) => e.map((e) => e.value ?? e))], o = r.concat([i]).concat(a), s = n(o);
716
- e ? e(s) : t({
717
- csvContent: s,
718
- title: z.value.title.text || "vue-ui-donut-evolution"
719
- });
720
- });
721
- }
722
- let $ = b(!1);
723
- function Nr(e) {
724
- $.value = e, sn.value += 1;
725
- }
726
- function Pr() {
727
- H.value.showTable = !H.value.showTable;
728
- }
729
- let Fr = b(!1);
730
- function Ir() {
731
- Fr.value = !Fr.value;
732
- }
733
- function Lr(e) {
734
- return e.proportion * 100 > z.value.donuts.hover.hideLabelsUnderValue;
735
- }
736
- let Rr = b([]), zr = b({}), Br = b(null);
737
- function Vr(e) {
738
- Rr.value = e.donut.map((e) => ({
739
- name: e.name,
740
- values: [e.value],
741
- color: e.color
742
- })), zr.value = ee({
743
- ...R.value.donutChart,
744
- responsive: !0,
745
- theme: F.value.theme
746
- }), Br.value && Br.value.open();
747
- }
748
- async function Hr({ scale: e = 2 } = {}) {
749
- if (!j.value) return;
750
- let { width: t, height: n } = j.value.getBoundingClientRect(), r = t / n, { imageUri: i, base64: a } = await je({
751
- domElement: j.value,
752
- base64: !0,
753
- img: !0,
754
- scale: e
755
- });
756
- return {
757
- imageUri: i,
758
- base64: a,
759
- title: z.value.title.text,
760
- width: t,
761
- height: n,
762
- aspectRatio: r
763
- };
764
- }
765
- let Ur = u(() => Gn.value.width), Wr = u(() => Gn.value.height);
766
- Ae({
767
- timeLabelsEls: pn,
768
- timeLabels: J,
769
- slicer: V,
770
- configRef: F,
771
- rotationPath: [
772
- "style",
773
- "chart",
774
- "layout",
775
- "grid",
776
- "xAxis",
777
- "dataLabels",
778
- "rotation"
779
- ],
780
- autoRotatePath: [
781
- "style",
782
- "chart",
783
- "layout",
784
- "grid",
785
- "xAxis",
786
- "dataLabels",
787
- "autoRotate",
788
- "enable"
789
- ],
790
- isAutoSize: !1,
791
- width: Ur,
792
- height: Wr,
793
- rotation: I.value.xAxis.dataLabels.autoRotate.angle
794
- });
795
- let Gr = u(() => {
796
- let e = F.value.table.useDialog && !F.value.table.show, t = H.value.showTable;
797
- return {
798
- component: e ? $t : Kt,
799
- title: `${z.value.title.text}${z.value.title.subtitle.text ? `: ${z.value.title.subtitle.text}` : ""}`,
800
- props: e ? {
801
- backgroundColor: F.value.table.th.backgroundColor,
802
- color: F.value.table.th.color,
803
- headerColor: F.value.table.th.color,
804
- headerBg: F.value.table.th.backgroundColor,
805
- isFullscreen: $.value,
806
- fullscreenParent: j.value,
807
- forcedWidth: Math.min(800, window.innerWidth * .8),
808
- isCursorPointer: B.value
809
- } : {
810
- hideDetails: !0,
811
- config: {
812
- open: t,
813
- maxHeight: 1e4,
814
- body: {
815
- backgroundColor: z.value.backgroundColor,
816
- color: z.value.color
817
- },
818
- head: {
819
- backgroundColor: z.value.backgroundColor,
820
- color: z.value.color
821
- }
822
- }
823
- }
824
- };
825
- });
826
- nt(() => H.value.showTable, (e) => {
827
- F.value.table.show || (e && F.value.table.useDialog && _n.value ? _n.value.open() : "close" in _n.value && _n.value.close());
828
- });
829
- function Kr() {
830
- H.value.showTable = !1, vn.value && vn.value.setTableIconState(!1);
831
- }
832
- let qr = u(() => Cr.value.map((e) => ({
833
- ...e,
834
- name: e.display
835
- }))), Jr = u(() => z.value.backgroundColor), Yr = u(() => z.value.legend), Xr = u(() => z.value.title), { isCallbackImaging: Zr, isCallbackSvg: Qr, generateSvg: $r, onGenerateImage: ei } = De({
836
- svg: $n,
837
- title: Xr,
838
- legend: Yr,
839
- legendItems: qr,
840
- backgroundColor: Jr,
841
- getSvgCallback: () => F.value.userOptions.callbacks.svg,
842
- generateImage: ir
843
- });
844
- async function ti() {
845
- if (In("copyAlt", {
846
- config: F.value,
847
- dataset: Z.value
848
- }), !F.value.userOptions.callbacks.altCopy) {
849
- console.warn("Vue Data UI - A callback must be set for `altCopy` in userOptions.");
850
- return;
851
- }
852
- await Promise.resolve(F.value.userOptions.callbacks.altCopy({
853
- config: F.value,
854
- dataset: Z.value
855
- }));
856
- }
857
- function ni() {
858
- P.value = null, Fn.value = !0;
859
- }
860
- function ri() {
861
- P.value = null, k.value = null, rn.value = null, Fn.value = !1;
862
- }
863
- function ii(e) {
864
- if (!$n.value || Fr.value || document.activeElement !== $n.value || !Z.value.length) return;
865
- let t = e.key === "ArrowLeft", n = e.key === "ArrowRight", r = e.key === "Enter" || e.key === " ", i = e.key === "Escape";
866
- if (!t && !n && !r && !i) return;
867
- if (e.preventDefault(), e.stopPropagation(), i) {
868
- P.value = null, k.value = null, rn.value = null;
869
- return;
870
- }
871
- if (r) {
872
- if (P.value === null) return;
873
- let e = Z.value[P.value];
874
- if (!e) return;
875
- Sr(e, P.value);
876
- return;
877
- }
878
- let a = P.value, o = k.value, s = a !== null && a >= 0 && a < Z.value.length, c = o !== null && o >= 0 && o < Z.value.length;
879
- s ? n ? (a += 1, a >= Z.value.length && (a = 0)) : t && (--a, a < 0 && (a = Z.value.length - 1)) : c ? (a = n ? o + 1 : o - 1, a >= Z.value.length && (a = 0), a < 0 && (a = Z.value.length - 1)) : a = n ? 0 : Z.value.length - 1;
880
- let ee = Z.value[a];
881
- ee && br(ee);
882
- }
883
- let ai = u(() => ({
884
- headers: Q.value?.colNames ?? [],
885
- rows: Q.value?.bodyA11y ?? []
886
- }));
887
- return Ne({
888
- getData: jr,
889
- getImage: Hr,
890
- generatePdf: rr,
891
- generateCsv: Mr,
892
- generateImage: ir,
893
- generateSvg: $r,
894
- hideSeries: Ar,
895
- showSeries: kr,
896
- toggleTable: Pr,
897
- toggleAnnotator: Ir,
898
- toggleFullscreen: Nr,
899
- copyAlt: ti
900
- }), (e, t) => (y(), p("div", {
901
- ref_key: "donutEvolutionChart",
902
- ref: j,
903
- class: _(`vue-data-ui-component vue-ui-donut-evolution ${$.value ? "vue-data-ui-wrapper-fullscreen" : ""} ${F.value.useCssAnimation ? "" : "vue-ui-dna"}`),
904
- style: Xe(`font-family:${F.value.style.fontFamily};width:100%; text-align:center;background:${z.value.backgroundColor}`),
905
- id: D.value,
906
- onMouseenter: t[5] ||= () => w(Zn)(!0),
907
- onMouseleave: t[6] ||= () => w(Zn)(!1)
908
- }, [
909
- m("div", {
910
- id: `chart-instructions-${D.value}`,
911
- class: "sr-only"
912
- }, [m("p", null, C(F.value.a11y.translations.keyboardNavigation), 1)], 8, ot),
913
- ai.value?.rows?.length ? (y(), d(ze, {
914
- key: 0,
915
- uid: D.value,
916
- head: ai.value.headers,
917
- body: ai.value.rows,
918
- notice: F.value.a11y.translations.tableAvailable,
919
- caption: F.value.a11y.translations.tableCaption
920
- }, null, 8, [
921
- "uid",
922
- "head",
923
- "body",
924
- "notice",
925
- "caption"
926
- ])) : f("", !0),
927
- F.value.userOptions.buttons.annotator ? (y(), d(w(Xt), {
928
- key: 1,
929
- svgRef: w($n),
930
- backgroundColor: z.value.backgroundColor,
931
- color: z.value.color,
932
- active: Fr.value,
933
- isCursorPointer: B.value,
934
- palette: F.value.userOptions.annotatorPalette,
935
- onClose: Ir
936
- }, {
937
- "annotator-action-close": T(() => [S(e.$slots, "annotator-action-close", {}, void 0, !0)]),
938
- "annotator-action-color": T(({ color: t }) => [S(e.$slots, "annotator-action-color", v(g({ color: t })), void 0, !0)]),
939
- "annotator-action-draw": T(({ mode: t }) => [S(e.$slots, "annotator-action-draw", v(g({ mode: t })), void 0, !0)]),
940
- "annotator-action-undo": T(({ disabled: t }) => [S(e.$slots, "annotator-action-undo", v(g({ disabled: t })), void 0, !0)]),
941
- "annotator-action-redo": T(({ disabled: t }) => [S(e.$slots, "annotator-action-redo", v(g({ disabled: t })), void 0, !0)]),
942
- "annotator-action-delete": T(({ disabled: t }) => [S(e.$slots, "annotator-action-delete", v(g({ disabled: t })), void 0, !0)]),
943
- _: 3
944
- }, 8, [
945
- "svgRef",
946
- "backgroundColor",
947
- "color",
948
- "active",
949
- "isCursorPointer",
950
- "palette"
951
- ])) : f("", !0),
952
- ar.value ? (y(), p("div", {
953
- key: 2,
954
- ref_key: "noTitle",
955
- ref: on,
956
- class: "vue-data-ui-no-title-space",
957
- style: "height:36px; width: 100%;background:transparent"
958
- }, null, 512)) : f("", !0),
959
- z.value.title.text ? (y(), p("div", {
960
- key: 3,
961
- ref_key: "chartTitle",
962
- ref: On,
963
- style: "width:100%;background:transparent;padding-bottom:24px",
964
- onMouseleave: yr
965
- }, [(y(), d(Me, {
966
- key: `title_${ln.value}`,
967
- config: {
968
- title: {
969
- cy: "donut-evolution-div-title",
970
- ...z.value.title
971
- },
972
- subtitle: {
973
- cy: "donut-evolution-div-subtitle",
974
- ...z.value.title.subtitle
975
- }
976
- }
977
- }, null, 8, ["config"]))], 544)) : f("", !0),
978
- m("div", { id: `legend-top-${D.value}` }, null, 8, st),
979
- F.value.userOptions.show && Ln.value && (w(Qn) || w(Xn)) ? (y(), d(w(Zt), {
980
- ref_key: "userOptionsRef",
981
- ref: vn,
982
- key: `user_options_${sn.value}`,
983
- backgroundColor: z.value.backgroundColor,
984
- color: z.value.color,
985
- isPrinting: w(tr),
986
- isImaging: w(nr),
987
- uid: D.value,
988
- hasPdf: F.value.userOptions.buttons.pdf,
989
- hasImg: F.value.userOptions.buttons.img,
990
- hasSvg: F.value.userOptions.buttons.svg,
991
- hasXls: F.value.userOptions.buttons.csv,
992
- hasTable: F.value.userOptions.buttons.table,
993
- hasFullscreen: F.value.userOptions.buttons.fullscreen,
994
- hasAltCopy: F.value.userOptions.buttons.altCopy,
995
- isFullscreen: $.value,
996
- titles: { ...F.value.userOptions.buttonTitles },
997
- chartElement: j.value,
998
- position: F.value.userOptions.position,
999
- hasAnnotator: F.value.userOptions.buttons.annotator,
1000
- isAnnotation: Fr.value,
1001
- callbacks: F.value.userOptions.callbacks,
1002
- printScale: F.value.userOptions.print.scale,
1003
- tableDialog: F.value.table.useDialog,
1004
- isCursorPointer: B.value,
1005
- onToggleFullscreen: Nr,
1006
- onGeneratePdf: w(rr),
1007
- onGenerateCsv: Mr,
1008
- onGenerateImage: w(ei),
1009
- onGenerateSvg: w($r),
1010
- onToggleTable: Pr,
1011
- onToggleAnnotator: Ir,
1012
- onCopyAlt: ti,
1013
- style: Xe({ visibility: w(Qn) ? w(Xn) ? "visible" : "hidden" : "visible" })
1014
- }, Ge({ _: 2 }, [
1015
- e.$slots.menuIcon ? {
1016
- name: "menuIcon",
1017
- fn: T(({ isOpen: t, color: n }) => [S(e.$slots, "menuIcon", v(g({
1018
- isOpen: t,
1019
- color: n
1020
- })), void 0, !0)]),
1021
- key: "0"
1022
- } : void 0,
1023
- e.$slots.optionPdf ? {
1024
- name: "optionPdf",
1025
- fn: T(() => [S(e.$slots, "optionPdf", {}, void 0, !0)]),
1026
- key: "1"
1027
- } : void 0,
1028
- e.$slots.optionCsv ? {
1029
- name: "optionCsv",
1030
- fn: T(() => [S(e.$slots, "optionCsv", {}, void 0, !0)]),
1031
- key: "2"
1032
- } : void 0,
1033
- e.$slots.optionImg ? {
1034
- name: "optionImg",
1035
- fn: T(() => [S(e.$slots, "optionImg", {}, void 0, !0)]),
1036
- key: "3"
1037
- } : void 0,
1038
- e.$slots.optionSvg ? {
1039
- name: "optionSvg",
1040
- fn: T(() => [S(e.$slots, "optionSvg", {}, void 0, !0)]),
1041
- key: "4"
1042
- } : void 0,
1043
- e.$slots.optionTable ? {
1044
- name: "optionTable",
1045
- fn: T(() => [S(e.$slots, "optionTable", {}, void 0, !0)]),
1046
- key: "5"
1047
- } : void 0,
1048
- e.$slots.optionFullscreen ? {
1049
- name: "optionFullscreen",
1050
- fn: T(({ toggleFullscreen: t, isFullscreen: n }) => [S(e.$slots, "optionFullscreen", v(g({
1051
- toggleFullscreen: t,
1052
- isFullscreen: n
1053
- })), void 0, !0)]),
1054
- key: "6"
1055
- } : void 0,
1056
- e.$slots.optionAnnotator ? {
1057
- name: "optionAnnotator",
1058
- fn: T(({ toggleAnnotator: t, isAnnotator: n }) => [S(e.$slots, "optionAnnotator", v(g({
1059
- toggleAnnotator: t,
1060
- isAnnotator: n
1061
- })), void 0, !0)]),
1062
- key: "7"
1063
- } : void 0,
1064
- e.$slots.optionAltCopy ? {
1065
- name: "optionAltCopy",
1066
- fn: T(({ altCopy: t }) => [S(e.$slots, "optionAltCopy", v(g({ altCopy: t })), void 0, !0)]),
1067
- key: "8"
1068
- } : void 0,
1069
- e.$slots["custom-menu-before"] ? {
1070
- name: "custom-menu-before",
1071
- fn: T(() => [S(e.$slots, "custom-menu-before", {}, void 0, !0)]),
1072
- key: "9"
1073
- } : void 0,
1074
- e.$slots["custom-menu-after"] ? {
1075
- name: "custom-menu-after",
1076
- fn: T(() => [S(e.$slots, "custom-menu-after", {}, void 0, !0)]),
1077
- key: "10"
1078
- } : void 0
1079
- ]), 1032, /* @__PURE__ */ "backgroundColor.color.isPrinting.isImaging.uid.hasPdf.hasImg.hasSvg.hasXls.hasTable.hasFullscreen.hasAltCopy.isFullscreen.titles.chartElement.position.hasAnnotator.isAnnotation.callbacks.printScale.tableDialog.isCursorPointer.onGeneratePdf.onGenerateImage.onGenerateSvg.style".split("."))) : f("", !0),
1080
- m("div", ct, [(y(), p("svg", {
1081
- ref_key: "svgRef",
1082
- ref: $n,
1083
- xmlns: w(he),
1084
- "aria-describedby": `chart-instructions-${D.value}`,
1085
- class: _({
1086
- "vue-data-ui-fullscreen--on": $.value,
1087
- "vue-data-ui-fulscreen--off": !$.value,
1088
- "vue-data-ui-no-transition": !w(Bn)
1089
- }),
1090
- viewBox: `0 0 ${G.value.absoluteWidth} ${G.value.absoluteHeight}`,
1091
- style: Xe(`max-width:100%; overflow: visible; background:transparent;color:${z.value.color};`),
1092
- tabindex: "0",
1093
- onFocus: ni,
1094
- onBlur: ri,
1095
- onKeydown: ii
1096
- }, [
1097
- qe(w(Yt)),
1098
- e.$slots["chart-background"] ? (y(), p("foreignObject", {
1099
- key: 0,
1100
- x: G.value.left,
1101
- y: G.value.top,
1102
- width: G.value.width,
1103
- height: G.value.height,
1104
- style: { pointerEvents: "none" }
1105
- }, [S(e.$slots, "chart-background", {}, void 0, !0)], 8, ut)) : f("", !0),
1106
- m("defs", null, [qe(Ie, {
1107
- t: "linear",
1108
- id: `hover_${D.value}`,
1109
- x1: "0%",
1110
- y1: "0%",
1111
- x2: "0%",
1112
- y2: "100%",
1113
- stops: [[
1114
- "0%",
1115
- w(ne)(z.value.backgroundColor, L.value.highlighter.opacity),
1116
- 1
1117
- ], [
1118
- "100%",
1119
- w(ne)(L.value.highlighter.color, L.value.highlighter.opacity),
1120
- 1
1121
- ]]
1122
- }, null, 8, ["id", "stops"]), qe(Ie, {
1123
- t: "radial",
1124
- id: `focus_${D.value}`,
1125
- stops: [
1126
- [
1127
- "0%",
1128
- w(ne)(w(te)(z.value.backgroundColor), 0),
1129
- 1
1130
- ],
1131
- [
1132
- "77%",
1133
- w(ne)("#FFFFFF", 30),
1134
- 1
1135
- ],
1136
- [
1137
- "100%",
1138
- w(ne)(w(te)(z.value.backgroundColor), 0),
1139
- 1
1140
- ]
1141
- ]
1142
- }, null, 8, ["id", "stops"])]),
1143
- I.value.show ? (y(), p("g", dt, [
1144
- m("line", {
1145
- x1: W.value ? G.value.right : G.value.left,
1146
- x2: W.value ? G.value.right : G.value.left,
1147
- y1: G.value.top,
1148
- y2: G.value.top + G.value.height,
1149
- stroke: I.value.stroke,
1150
- "stroke-width": I.value.strokeWidth,
1151
- "stroke-linecap": "round"
1152
- }, null, 8, ft),
1153
- m("line", {
1154
- x1: G.value.left,
1155
- x2: G.value.right,
1156
- y1: G.value.bottom,
1157
- y2: G.value.bottom,
1158
- stroke: I.value.stroke,
1159
- "stroke-width": I.value.strokeWidth,
1160
- "stroke-linecap": "round"
1161
- }, null, 8, pt),
1162
- I.value.showVerticalLines ? (y(), p("g", mt, [(y(!0), p(l, null, x(V.value.end - V.value.start, (e, t) => (y(), p("line", {
1163
- x1: G.value.left + (t + 1) * Y.value,
1164
- x2: G.value.left + (t + 1) * Y.value,
1165
- y1: G.value.top,
1166
- y2: G.value.bottom,
1167
- stroke: I.value.stroke,
1168
- "stroke-width": I.value.strokeWidth,
1169
- "stroke-linecap": "round"
1170
- }, null, 8, ht))), 256))])) : f("", !0)
1171
- ])) : f("", !0),
1172
- m("g", null, [I.value.axis.yLabel ? (y(), p("text", {
1173
- key: 0,
1174
- ref_key: "yAxisLabel",
1175
- ref: hn,
1176
- "font-size": I.value.axis.fontSize,
1177
- fill: I.value.axis.color,
1178
- transform: `translate(${W.value ? G.value.absoluteWidth - I.value.axis.fontSize / 2 - I.value.axis.yLabelOffsetX : I.value.axis.fontSize}, ${G.value.top + G.value.height / 2}) rotate(-90)`,
1179
- "text-anchor": "middle",
1180
- style: { transition: "none" }
1181
- }, C(I.value.axis.yLabel), 9, gt)) : f("", !0), I.value.axis.xLabel ? (y(), p("text", {
1182
- key: 1,
1183
- ref_key: "xAxisLabel",
1184
- ref: mn,
1185
- "text-anchor": "middle",
1186
- x: G.value.absoluteWidth / 2,
1187
- y: G.value.absoluteHeight - 3,
1188
- "font-size": I.value.axis.fontSize,
1189
- fill: I.value.axis.color
1190
- }, C(I.value.axis.xLabel), 9, _t)) : f("", !0)]),
1191
- I.value.yAxis.dataLabels.show ? (y(), p("g", {
1192
- key: 2,
1193
- ref_key: "scaleLabels",
1194
- ref: fn,
1195
- class: _({
1196
- "donut-opacity": !0,
1197
- "donut-behind": k.value !== null
1198
- })
1199
- }, [(y(!0), p(l, null, x(gr.value, (e, t) => (y(), p("g", { key: `sl_${t}` }, [e.value >= X.value.min && e.value <= X.value.max ? (y(), p("path", {
1200
- key: 0,
1201
- class: _({ "vue-data-ui-transition": w(Bn) }),
1202
- d: `M${W.value ? G.value.right : G.value.left},${e.y} ${W.value ? G.value.right + 5 : G.value.left - 5},${e.y}`,
1203
- stroke: I.value.stroke,
1204
- "stroke-width": I.value.strokeWidth,
1205
- "stroke-linecap": "round"
1206
- }, null, 10, vt)) : f("", !0), e.value >= X.value.min && e.value <= X.value.max ? (y(), p("text", {
1207
- key: 1,
1208
- class: _({ "vue-data-ui-transition": w(Bn) }),
1209
- transform: `translate(${W.value ? G.value.right - I.value.yAxis.dataLabels.offsetX + 7 : G.value.left + I.value.yAxis.dataLabels.offsetX - 7}, ${e.y + I.value.yAxis.dataLabels.fontSize / 3})`,
1210
- "font-size": I.value.yAxis.dataLabels.fontSize,
1211
- "text-anchor": W.value ? "start" : "end",
1212
- fill: I.value.yAxis.dataLabels.color,
1213
- "font-weight": I.value.yAxis.dataLabels.bold ? "bold" : "normal"
1214
- }, C(w(_e)(e.value) ? w(de)(L.value.dataLabels.formatter, e.value, w(ie)({
1215
- p: L.value.dataLabels.prefix,
1216
- v: e.value,
1217
- s: L.value.dataLabels.suffix,
1218
- r: L.value.grid.yAxis.dataLabels.roundingValue
1219
- }), {
1220
- datapoint: e,
1221
- seriesIndex: t
1222
- }) : ""), 11, yt)) : f("", !0)]))), 128))], 2)) : f("", !0),
1223
- I.value.xAxis.dataLabels.show ? (y(), p("g", {
1224
- key: 3,
1225
- ref_key: "timeLabelsEls",
1226
- ref: pn,
1227
- class: _({ "donut-opacity": !0 })
1228
- }, [(y(!0), p(l, null, x(V.value.end - V.value.start, (e, t) => (y(), p("g", null, [(I.value.xAxis.dataLabels.showOnlyFirstAndLast && (t === 0 || t === q.value - 1) || !I.value.xAxis.dataLabels.showOnlyFirstAndLast) && J.value[t] && J.value[t].text ? (y(), p("g", bt, [String(J.value[t].text).includes("\n") ? (y(), p("text", {
1229
- key: 1,
1230
- class: "vue-data-ui-time-label",
1231
- "text-anchor": I.value.xAxis.dataLabels.rotation > 0 ? "start" : I.value.xAxis.dataLabels.rotation < 0 ? "end" : "middle",
1232
- "font-size": I.value.xAxis.dataLabels.fontSize,
1233
- fill: I.value.xAxis.dataLabels.color,
1234
- transform: `translate(${G.value.left + Y.value * t + Y.value / 2}, ${G.value.bottom + I.value.xAxis.dataLabels.fontSize + I.value.xAxis.dataLabels.offsetY}), rotate(${I.value.xAxis.dataLabels.rotation})`,
1235
- innerHTML: w(i)({
1236
- content: String(J.value[t].text),
1237
- fontSize: I.value.xAxis.dataLabels.fontSize,
1238
- fill: L.value.grid.xAxis.dataLabels.color,
1239
- x: 0,
1240
- y: 0
1241
- })
1242
- }, null, 8, St)) : (y(), p("text", {
1243
- key: 0,
1244
- class: "vue-data-ui-time-label",
1245
- "text-anchor": I.value.xAxis.dataLabels.rotation > 0 ? "start" : I.value.xAxis.dataLabels.rotation < 0 ? "end" : "middle",
1246
- "font-size": I.value.xAxis.dataLabels.fontSize,
1247
- fill: I.value.xAxis.dataLabels.color,
1248
- transform: `translate(${G.value.left + Y.value * t + Y.value / 2}, ${G.value.bottom + I.value.xAxis.dataLabels.fontSize + I.value.xAxis.dataLabels.offsetY}), rotate(${I.value.xAxis.dataLabels.rotation})`
1249
- }, C(J.value[t].text || ""), 9, xt))])) : f("", !0)]))), 256))], 512)) : f("", !0),
1250
- (y(!0), p(l, null, x(Z.value, (e, t) => (y(), p("g", null, [L.value.line.show && t < Z.value.length - 1 && ![e.subtotal, Z.value[t + 1].subtotal].includes(null) ? (y(), p("line", {
1251
- key: 0,
1252
- class: _({
1253
- "donut-opacity": !0,
1254
- "donut-behind": k.value !== null
1255
- }),
1256
- x1: e.x,
1257
- y1: e.y,
1258
- x2: Z.value[t + 1].x,
1259
- y2: Z.value[t + 1].y,
1260
- stroke: L.value.line.stroke,
1261
- "stroke-width": L.value.line.strokeWidth,
1262
- "stroke-linecap": "round",
1263
- "stroke-linejoin": "round"
1264
- }, null, 10, Ct)) : f("", !0), e.subtotal === null ? f("", !0) : (y(), p("g", wt, [e.subtotal ? (y(), p("circle", {
1265
- key: 0,
1266
- cx: e.x,
1267
- cy: e.y,
1268
- r: e.activeRadius,
1269
- fill: z.value.backgroundColor
1270
- }, null, 8, Tt)) : f("", !0)]))]))), 256)),
1271
- (y(!0), p(l, null, x(Z.value, (e, t) => (y(), p("g", { class: _({
1272
- "donut-opacity": !0,
1273
- "donut-behind": t !== k.value && k.value !== null
1274
- }) }, [e.subtotal ? (y(), p("g", Et, [k.value !== null && k.value === t ? (y(), p("g", Dt, [
1275
- (y(!0), p(l, null, x(e.donutHover, (t) => (y(), p("g", null, [Lr(t) ? (y(), p("path", {
1276
- key: 0,
1277
- d: w(le)(t, {
1278
- x: t.center.endX,
1279
- y: t.center.endY
1280
- }, 12, 12, {
1281
- x: e.x,
1282
- y: e.y
1283
- }, !1, 20),
1284
- stroke: t.color,
1285
- "stroke-width": "1",
1286
- "stroke-linecap": "round",
1287
- "stroke-linejoin": "round",
1288
- fill: "none"
1289
- }, null, 8, Ot)) : f("", !0)]))), 256)),
1290
- (y(!0), p(l, null, x(e.donutHover, (t, n) => (y(), p("g", null, [Lr(t) ? (y(), p("text", {
1291
- key: 0,
1292
- "data-cy-hover-label": "",
1293
- "text-anchor": w(ce)(t, !0, 0).anchor,
1294
- x: w(ce)(t, !0, 9).x,
1295
- y: w(pe)(t, 14, 10),
1296
- fill: I.value.yAxis.dataLabels.color,
1297
- "font-size": 8,
1298
- "font-weight": "bold"
1299
- }, C(t.name) + ": " + C(vr(t, e.donut)) + " (" + C(t.value === null ? "-" : _r(t.value, t, n)) + ") ", 9, kt)) : f("", !0)]))), 256)),
1300
- m("g", null, [m("circle", {
1301
- cx: e.x,
1302
- cy: e.y,
1303
- r: e.hoverRadius,
1304
- fill: z.value.backgroundColor
1305
- }, null, 8, At)])
1306
- ])) : f("", !0)])) : f("", !0)], 2))), 256)),
1307
- (y(!0), p(l, null, x(Z.value, (e, t) => (y(), p("g", { class: _({
1308
- "donut-opacity": !0,
1309
- "donut-behind": t !== k.value && k.value !== null
1310
- }) }, [e.subtotal === null ? f("", !0) : (y(), p("g", jt, [e.subtotal === 0 ? (y(), p("circle", {
1311
- key: 0,
1312
- cx: e.x,
1313
- cy: e.y,
1314
- r: 3,
1315
- fill: z.value.color
1316
- }, null, 8, Mt)) : k.value !== null && k.value === t ? (y(), p("g", Nt, [(y(!0), p(l, null, x(e.donutHover, (e, t) => (y(), p("path", {
1317
- d: e.arcSlice,
1318
- fill: `${e.color}`,
1319
- "stroke-width": 1,
1320
- stroke: z.value.backgroundColor
1321
- }, null, 8, Pt))), 256))])) : (y(), p("g", Ft, [(y(!0), p(l, null, x(e.donut, (e, t) => (y(), p("path", {
1322
- d: e.arcSlice,
1323
- fill: `${e.color}`,
1324
- "stroke-width": .5,
1325
- stroke: z.value.backgroundColor
1326
- }, null, 8, It))), 256))]))]))], 2))), 256)),
1327
- (y(!0), p(l, null, x(Z.value, (e, t) => (y(), p("g", { class: _({
1328
- "donut-opacity": !0,
1329
- "donut-behind": t !== k.value && k.value !== null || an.value && t !== A.value.index
1330
- }) }, [e.subtotal !== null && L.value.dataLabels.show ? (y(), p("text", {
1331
- key: 0,
1332
- "text-anchor": "middle",
1333
- x: e.x,
1334
- y: k.value === e.index && e.subtotal ? e.y + L.value.dataLabels.fontSize / 3 : e.y - e.radius - L.value.dataLabels.fontSize + L.value.dataLabels.offsetY,
1335
- "font-size": L.value.dataLabels.fontSize,
1336
- "font-weight": "bold",
1337
- fill: L.value.dataLabels.color
1338
- }, C(_r(e.subtotal, e, t)), 9, Lt)) : f("", !0)], 2))), 256)),
1339
- (y(!0), p(l, null, x(Z.value, (e, t) => (y(), p("rect", {
1340
- x: G.value.left + t * Y.value,
1341
- y: G.value.top,
1342
- width: Y.value,
1343
- height: G.value.height,
1344
- fill: [k.value, xr.value].includes(e.index) ? `url(#hover_${D.value})` : "transparent",
1345
- class: _({ "donut-hover": B.value && e.subtotal && [k.value, xr.value].includes(e.index) }),
1346
- style: { pointerEvents: "none" }
1347
- }, null, 10, Rt))), 256)),
1348
- (y(!0), p(l, null, x(Z.value, (e, t) => (y(), p("rect", {
1349
- "data-cy-trap": "",
1350
- x: G.value.left + t * Y.value,
1351
- y: G.value.top,
1352
- width: Y.value,
1353
- height: G.value.height,
1354
- fill: "transparent",
1355
- onMouseenter: (t) => br(e),
1356
- onMouseleave: (t) => yr(e),
1357
- onClick: (n) => Sr(e, t),
1358
- class: _({ "donut-hover": B.value && k.value === e.index && e.subtotal })
1359
- }, null, 42, zt))), 256)),
1360
- S(e.$slots, "svg", { svg: {
1361
- ...G.value,
1362
- isPrintingImg: w(tr) || w(nr) || w(Zr),
1363
- isPrintingSvg: w(Qr)
1364
- } }, void 0, !0)
1365
- ], 46, lt)), e.$slots.hint ? (y(), p("div", Bt, [S(e.$slots, "hint", v(g({
1366
- hint: F.value.a11y.translations.keyboardNavigation,
1367
- isVisible: Fn.value
1368
- })), void 0, !0)])) : f("", !0)]),
1369
- e.$slots.watermark ? (y(), p("div", Vt, [S(e.$slots, "watermark", v(g({ isPrinting: w(tr) || w(nr) || w(Zr) || w(Qr) })), void 0, !0)])) : f("", !0),
1370
- m("div", {
1371
- ref_key: "chartSlicer",
1372
- ref: Mn,
1373
- style: Xe(`width:100%;background:${z.value.backgroundColor}`),
1374
- "data-dom-to-png-ignore": ""
1375
- }, [q.value > 1 && z.value.zoom.show ? (y(), d(Le, {
1376
- ref_key: "slicerComponent",
1377
- ref: jn,
1378
- key: `slicer_${cn.value}`,
1379
- background: z.value.zoom.color,
1380
- borderColor: z.value.backgroundColor,
1381
- fontSize: z.value.zoom.fontSize,
1382
- useResetSlot: z.value.zoom.useResetSlot,
1383
- timeLabels: J.value,
1384
- textColor: z.value.color,
1385
- inputColor: z.value.zoom.color,
1386
- selectColor: z.value.zoom.highlightColor,
1387
- max: q.value,
1388
- min: 0,
1389
- valueStart: V.value.start,
1390
- valueEnd: V.value.end,
1391
- start: V.value.start,
1392
- "onUpdate:start": t[0] ||= (e) => V.value.start = e,
1393
- end: V.value.end,
1394
- "onUpdate:end": t[1] ||= (e) => V.value.end = e,
1395
- refreshStartPoint: z.value.zoom.startIndex === null ? 0 : z.value.zoom.startIndex,
1396
- refreshEndPoint: z.value.zoom.endIndex === null ? q.value : z.value.zoom.endIndex + 1,
1397
- enableRangeHandles: z.value.zoom.enableRangeHandles,
1398
- enableSelectionDrag: z.value.zoom.enableSelectionDrag,
1399
- focusOnDrag: z.value.zoom.focusOnDrag,
1400
- focusRangeRatio: z.value.zoom.focusRangeRatio,
1401
- isCursorPointer: B.value,
1402
- maxWidth: z.value.zoom.maxWidth,
1403
- minimapLeftInsetRatio: G.value.absoluteWidth > 0 && z.value.zoom.autoFit ? G.value.left / G.value.absoluteWidth : null,
1404
- minimapRightInsetRatio: G.value.absoluteWidth > 0 && z.value.zoom.autoFit ? (G.value.absoluteWidth - G.value.right) / G.value.absoluteWidth : null,
1405
- onReset: qn
1406
- }, {
1407
- "reset-action": T(({ reset: t }) => [S(e.$slots, "reset-action", v(g({ reset: t })), void 0, !0)]),
1408
- _: 3
1409
- }, 8, [
1410
- "background",
1411
- "borderColor",
1412
- "fontSize",
1413
- "useResetSlot",
1414
- "timeLabels",
1415
- "textColor",
1416
- "inputColor",
1417
- "selectColor",
1418
- "max",
1419
- "valueStart",
1420
- "valueEnd",
1421
- "start",
1422
- "end",
1423
- "refreshStartPoint",
1424
- "refreshEndPoint",
1425
- "enableRangeHandles",
1426
- "enableSelectionDrag",
1427
- "focusOnDrag",
1428
- "focusRangeRatio",
1429
- "isCursorPointer",
1430
- "maxWidth",
1431
- "minimapLeftInsetRatio",
1432
- "minimapRightInsetRatio"
1433
- ])) : f("", !0)], 4),
1434
- m("div", { id: `legend-bottom-${D.value}` }, null, 8, Ht),
1435
- gn.value && (z.value.legend.show || e.$slots.legend) ? (y(), d(We, {
1436
- key: 6,
1437
- to: z.value.legend.position === "top" ? `#legend-top-${D.value}` : `#legend-bottom-${D.value}`
1438
- }, [m("div", {
1439
- ref_key: "chartLegend",
1440
- ref: kn
1441
- }, [S(e.$slots, "legend", { legend: Cr.value }, () => [z.value.legend.show ? (y(), d(He, {
1442
- key: `legend_${dn.value}`,
1443
- legendSet: Cr.value,
1444
- config: Tr.value,
1445
- onClickMarker: t[2] ||= ({ legend: e }) => Dr(e.uid)
1446
- }, {
1447
- item: T(({ legend: e, index: t }) => [m("div", {
1448
- onClick: (t) => Dr(e.uid),
1449
- style: Xe(`opacity:${O.value.includes(e.uid) ? .5 : 1}`)
1450
- }, C(e.display), 13, Ut)]),
1451
- legendToggle: T(() => [Cr.value.length > 2 && z.value.legend.selectAllToggle.show && !w(Hn) ? (y(), d(Re, {
1452
- key: 0,
1453
- backgroundColor: z.value.legend.selectAllToggle.backgroundColor,
1454
- color: z.value.legend.selectAllToggle.color,
1455
- fontSize: z.value.legend.fontSize,
1456
- checked: O.value.length > 0,
1457
- onToggle: Er
1458
- }, null, 8, [
1459
- "backgroundColor",
1460
- "color",
1461
- "fontSize",
1462
- "checked"
1463
- ])) : f("", !0)]),
1464
- _: 1
1465
- }, 8, ["legendSet", "config"])) : f("", !0)], !0)], 512)], 8, ["to"])) : f("", !0),
1466
- e.$slots.source ? (y(), p("div", {
1467
- key: 7,
1468
- ref_key: "source",
1469
- ref: An,
1470
- dir: "auto"
1471
- }, [S(e.$slots, "source", {}, void 0, !0)], 512)) : f("", !0),
1472
- Ln.value && F.value.userOptions.buttons.table ? (y(), d($e(Gr.value.component), Je({ key: 8 }, Gr.value.props, {
1473
- ref_key: "tableUnit",
1474
- ref: _n,
1475
- onClose: Kr
1476
- }), Ge({
1477
- content: T(() => [(y(), d(w(Jt), {
1478
- key: `table_${un.value}`,
1479
- colNames: Q.value.colNames,
1480
- head: Q.value.head,
1481
- body: Q.value.body,
1482
- config: Q.value.config,
1483
- title: F.value.table.useDialog ? "" : Gr.value.title,
1484
- withCloseButton: !F.value.table.useDialog,
1485
- isCursorPointer: B.value,
1486
- onClose: Kr
1487
- }, {
1488
- th: T(({ th: e }) => [Ke(C(e.name ?? e), 1)]),
1489
- td: T(({ td: e }) => [e.value === null ? (y(), p("span", Wt, "-")) : (y(), p("b", Gt, C(isNaN(e.value) ? "" : L.value.dataLabels.prefix) + C(!isNaN(e.value) && e.value !== null ? Number(e.value.toFixed(F.value.table.td.roundingValue)).toLocaleString() : e) + C(isNaN(e.value) ? "" : L.value.dataLabels.suffix), 1)), m("span", null, C(e.percentage && !isNaN(e.percentage) ? `(${Number(e.percentage.toFixed(F.value.table.td.roundingPercentage)).toLocaleString()}%)` : ""), 1)]),
1490
- _: 1
1491
- }, 8, [
1492
- "colNames",
1493
- "head",
1494
- "body",
1495
- "config",
1496
- "title",
1497
- "withCloseButton",
1498
- "isCursorPointer"
1499
- ]))]),
1500
- _: 2
1501
- }, [F.value.table.useDialog ? {
1502
- name: "title",
1503
- fn: T(() => [Ke(C(Gr.value.title), 1)]),
1504
- key: "0"
1505
- } : void 0, F.value.table.useDialog ? {
1506
- name: "actions",
1507
- fn: T(() => [m("button", {
1508
- tabindex: "0",
1509
- class: "vue-ui-user-options-button",
1510
- onClick: t[3] ||= (e) => Mr(F.value.userOptions.callbacks.csv),
1511
- style: Xe({ cursor: B.value ? "cursor" : "default" })
1512
- }, [qe(w(qt), {
1513
- name: "fileCsv",
1514
- stroke: Gr.value.props.color
1515
- }, null, 8, ["stroke"])], 4)]),
1516
- key: "1"
1517
- } : void 0]), 1040)) : f("", !0),
1518
- R.value.show ? (y(), d(w($t), {
1519
- key: 9,
1520
- ref_key: "dialog",
1521
- ref: Br,
1522
- onClose: t[4] ||= (e) => {
1523
- A.value = null, an.value = !1, rn.value = null, k.value = null, xr.value = null;
1524
- },
1525
- backgroundColor: R.value.backgroundColor,
1526
- color: R.value.color,
1527
- headerBg: R.value.header.backgroundColor,
1528
- headerColor: R.value.header.color,
1529
- isFullscreen: $.value,
1530
- fullscreenParent: j.value
1531
- }, {
1532
- title: T(() => [Ke(C(J.value[Number(A.value.index)] ? J.value[Number(A.value.index)].text : ""), 1)]),
1533
- content: T(() => [A.value ? (y(), d(w(Qt), {
1534
- key: 0,
1535
- config: zr.value,
1536
- dataset: Rr.value
1537
- }, null, 8, ["config", "dataset"])) : f("", !0)]),
1538
- _: 1
1539
- }, 8, [
1540
- "backgroundColor",
1541
- "color",
1542
- "headerBg",
1543
- "headerColor",
1544
- "isFullscreen",
1545
- "fullscreenParent"
1546
- ])) : f("", !0),
1547
- w(Hn) ? (y(), d(we, { key: 10 })) : f("", !0)
1548
- ], 46, at));
1549
- }
1550
- }, [["__scopeId", "data-v-5e237272"]]);
1551
- //#endregion
1552
- export { it as n, Kt as t };