vue-data-ui 3.25.13 → 3.26.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (205) hide show
  1. package/README.md +53 -53
  2. package/dist/{Arrow-BhZDUeMp.js → Arrow-Bt3aGRMb.js} +1 -1
  3. package/dist/{BaseDraggableDialog-Ck6R5Q0K.js → BaseDraggableDialog-C1Slb3Yh.js} +2 -2
  4. package/dist/{BaseIcon-Dlz7gfx0.js → BaseIcon-BV75ei8X.js} +1 -1
  5. package/dist/{BaseLegendToggle-DGG65LAR.js → BaseLegendToggle-DtS_Oj3B.js} +1 -1
  6. package/dist/{BaseZoomControls-BK0PxEa8.js → BaseZoomControls-DIhoeyZu.js} +2 -2
  7. package/dist/{ColorPicker-DMTwxvi_.js → ColorPicker--Y89hTnE.js} +2 -2
  8. package/dist/{DataTable-BD1eZ0zB.js → DataTable-DX5fToAo.js} +2 -2
  9. package/dist/{HillActions-CiP2m7Nz.js → HillActions-D6weVdns.js} +1 -1
  10. package/dist/{Legend-C0Ln0VNe.js → Legend-Dv90gh-6.js} +2 -2
  11. package/dist/{NonSvgPenAndPaper-BjrMLISf.js → NonSvgPenAndPaper-D2BM5C1-.js} +3 -3
  12. package/dist/{PackageVersion-D5QkTJQU.js → PackageVersion-DhXk363L.js} +1 -1
  13. package/dist/{PenAndPaper-XdUD8uB3.js → PenAndPaper-DkQ4sEhs.js} +3 -3
  14. package/dist/{Shape-VCdxvFV9.js → Shape-B_kDj1gF.js} +1 -1
  15. package/dist/SlicerPreview-BgyIezm0.js +1730 -0
  16. package/dist/{SparkTooltip-B1gRxPfb.js → SparkTooltip-BNpyQ021.js} +1 -1
  17. package/dist/{Title-DeqmC-vN.js → Title-C2JKI5td.js} +1 -1
  18. package/dist/{Tooltip-DZ4a3XJQ.js → Tooltip-2NAb_Rrx.js} +1 -1
  19. package/dist/{UserOptions-wFD9vo9g.js → UserOptions-Dgn3StKw.js} +2 -2
  20. package/dist/components/arrow.js +1 -1
  21. package/dist/components/vue-ui-3d-bar.js +1 -1
  22. package/dist/components/vue-ui-accordion.js +1 -1
  23. package/dist/components/vue-ui-age-pyramid.js +1 -1
  24. package/dist/components/vue-ui-annotator.js +1 -1
  25. package/dist/components/vue-ui-bullet.js +1 -1
  26. package/dist/components/vue-ui-bump.js +1 -1
  27. package/dist/components/vue-ui-candlestick.js +1 -1
  28. package/dist/components/vue-ui-carousel-table.js +1 -1
  29. package/dist/components/vue-ui-chestnut.js +1 -1
  30. package/dist/components/vue-ui-chord.js +1 -1
  31. package/dist/components/vue-ui-circle-pack.js +1 -1
  32. package/dist/components/vue-ui-cursor.js +1 -1
  33. package/dist/components/vue-ui-dag.js +1 -1
  34. package/dist/components/vue-ui-dashboard.js +1 -1
  35. package/dist/components/vue-ui-digits.js +1 -1
  36. package/dist/components/vue-ui-donut-evolution.js +1 -1
  37. package/dist/components/vue-ui-donut.js +1 -1
  38. package/dist/components/vue-ui-dumbbell.js +1 -1
  39. package/dist/components/vue-ui-flow.js +1 -1
  40. package/dist/components/vue-ui-funnel.js +1 -1
  41. package/dist/components/vue-ui-galaxy.js +1 -1
  42. package/dist/components/vue-ui-gauge.js +1 -1
  43. package/dist/components/vue-ui-geo.js +1 -1
  44. package/dist/components/vue-ui-gizmo.js +1 -1
  45. package/dist/components/vue-ui-heatmap.js +1 -1
  46. package/dist/components/vue-ui-hill.js +1 -1
  47. package/dist/components/vue-ui-history-plot.js +1 -1
  48. package/dist/components/vue-ui-horizontal-bar.js +1 -1
  49. package/dist/components/vue-ui-icon.js +1 -1
  50. package/dist/components/vue-ui-kpi.js +1 -1
  51. package/dist/components/vue-ui-label.js +1 -1
  52. package/dist/components/vue-ui-mini-loader.js +1 -1
  53. package/dist/components/vue-ui-molecule.js +1 -1
  54. package/dist/components/vue-ui-mood-radar.js +1 -1
  55. package/dist/components/vue-ui-nested-donuts.js +1 -1
  56. package/dist/components/vue-ui-onion.js +1 -1
  57. package/dist/components/vue-ui-parallel-coordinate-plot.js +1 -1
  58. package/dist/components/vue-ui-quadrant.js +1 -1
  59. package/dist/components/vue-ui-quick-chart.js +1 -1
  60. package/dist/components/vue-ui-radar.js +1 -1
  61. package/dist/components/vue-ui-rating.js +1 -1
  62. package/dist/components/vue-ui-relation-circle.js +1 -1
  63. package/dist/components/vue-ui-ridgeline.js +1 -1
  64. package/dist/components/vue-ui-rings.js +1 -1
  65. package/dist/components/vue-ui-scatter.js +1 -1
  66. package/dist/components/vue-ui-skeleton.js +1 -1
  67. package/dist/components/vue-ui-smiley.js +1 -1
  68. package/dist/components/vue-ui-spark-trend.js +1 -1
  69. package/dist/components/vue-ui-sparkbar.js +1 -1
  70. package/dist/components/vue-ui-sparkgauge.js +1 -1
  71. package/dist/components/vue-ui-sparkhistogram.js +1 -1
  72. package/dist/components/vue-ui-sparkline.js +1 -1
  73. package/dist/components/vue-ui-sparkstackbar.js +1 -1
  74. package/dist/components/vue-ui-stackbar.js +1 -1
  75. package/dist/components/vue-ui-stackline.js +1 -1
  76. package/dist/components/vue-ui-strip-plot.js +1 -1
  77. package/dist/components/vue-ui-table-heatmap.js +1 -1
  78. package/dist/components/vue-ui-table-sparkline.js +1 -1
  79. package/dist/components/vue-ui-table.js +1 -1
  80. package/dist/components/vue-ui-thermometer.js +1 -1
  81. package/dist/components/vue-ui-timer.js +1 -1
  82. package/dist/components/vue-ui-tiremarks.js +1 -1
  83. package/dist/components/vue-ui-treemap.js +1 -1
  84. package/dist/components/vue-ui-vertical-bar.js +1 -1
  85. package/dist/components/vue-ui-waffle.js +1 -1
  86. package/dist/components/vue-ui-wheel.js +1 -1
  87. package/dist/components/vue-ui-word-cloud.js +1 -1
  88. package/dist/components/vue-ui-world.js +1 -1
  89. package/dist/components/vue-ui-xy-canvas.js +1 -1
  90. package/dist/components/vue-ui-xy.js +1 -1
  91. package/dist/{dom-to-png-DdqmzDdY.js → dom-to-png-DKdtTkNC.js} +1 -1
  92. package/dist/{exposedLib-BBtjpydc.js → exposedLib-DN6QRAx2.js} +1 -1
  93. package/dist/{img-W50sC9SC.js → img-CaIaBHA0.js} +1 -1
  94. package/dist/{labelUtils-Dvm-7rse.js → labelUtils-CD5XzcAo.js} +1 -1
  95. package/dist/{lib-DOpaUOQx.js → lib-CklJ7rIN.js} +29 -18
  96. package/dist/{package-Cmcke8zR.js → package-BVRea5S_.js} +1 -1
  97. package/dist/{pdf-zGbDDpCi.js → pdf-6hacmnKW.js} +1 -1
  98. package/dist/{render-common-CG1wuHZY.js → render-common-ChwuwzU3.js} +2 -2
  99. package/dist/ssr/vue-ui-donut.js +1 -1
  100. package/dist/ssr/vue-ui-xy.js +1 -1
  101. package/dist/ssr.js +2 -2
  102. package/dist/style.css +1 -1
  103. package/dist/types/vue-data-ui.d.ts +110 -5
  104. package/dist/types/vue-ui-candlestick.d.ts +4 -0
  105. package/dist/types/vue-ui-donut-evolution.d.ts +4 -0
  106. package/dist/types/vue-ui-quick-chart.d.ts +4 -0
  107. package/dist/types/vue-ui-sparkline.d.ts +5 -1
  108. package/dist/types/vue-ui-stackbar.d.ts +4 -0
  109. package/dist/types/vue-ui-stackline.d.ts +4 -0
  110. package/dist/types/vue-ui-xy-canvas.d.ts +2 -0
  111. package/dist/types/vue-ui-xy.d.ts +2 -0
  112. package/dist/{useConfig-C2uy4ltq.js → useConfig-DObkR9Aa.js} +49 -4
  113. package/dist/{useNestedProp-Bux0f4iY.js → useNestedProp-Tc9i6ZcN.js} +1 -1
  114. package/dist/{useObjectBindings-CEuNiBIT.js → useObjectBindings-CPmyIJxB.js} +9 -9
  115. package/dist/{usePrinter-BBBooAGP.js → usePrinter-Dp3X1vqr.js} +2 -2
  116. package/dist/utils.js +3 -3
  117. package/dist/vue-data-ui-Dr0uoRD_.js +191 -0
  118. package/dist/vue-data-ui.js +74 -74
  119. package/dist/{vue-ui-3d-bar-Ckauu3d4.js → vue-ui-3d-bar-BvJwq13N.js} +7 -7
  120. package/dist/{vue-ui-accordion-yHZMJLaY.js → vue-ui-accordion-15kKhkup.js} +4 -4
  121. package/dist/{vue-ui-age-pyramid-BczIt1-U.js → vue-ui-age-pyramid-CVzina7X.js} +7 -7
  122. package/dist/{vue-ui-annotator-BGB6K6u0.js → vue-ui-annotator-J4Wo2_DR.js} +7 -7
  123. package/dist/{vue-ui-bullet-BoTsLccZ.js → vue-ui-bullet-CuI5_uF1.js} +8 -8
  124. package/dist/{vue-ui-bump-B5ztSSQO.js → vue-ui-bump-GGNG4vwu.js} +7 -7
  125. package/dist/vue-ui-candlestick-Ca9dvzvk.js +2144 -0
  126. package/dist/{vue-ui-carousel-table-D-3KSWok.js → vue-ui-carousel-table-DOxh9sEm.js} +5 -5
  127. package/dist/{vue-ui-chestnut-W2l-W0_e.js → vue-ui-chestnut-DQhC_gB8.js} +6 -6
  128. package/dist/{vue-ui-chord-BFPQsMj8.js → vue-ui-chord-Blnvne2p.js} +9 -9
  129. package/dist/{vue-ui-circle-pack-BtPc1BR3.js → vue-ui-circle-pack-mNHA1U8B.js} +7 -7
  130. package/dist/{vue-ui-cursor-CpNOiwkt.js → vue-ui-cursor-D2hgivhn.js} +4 -4
  131. package/dist/{vue-ui-dag-i-zPwLcN.js → vue-ui-dag-DDSyO2ts.js} +8 -8
  132. package/dist/{vue-ui-dashboard-DtaW9a2P.js → vue-ui-dashboard-C9MnWAnE.js} +70 -70
  133. package/dist/{vue-ui-digits-BIlec9af.js → vue-ui-digits-h7H-yHd0.js} +4 -4
  134. package/dist/{vue-ui-donut-CJlBEyxu.js → vue-ui-donut-D-8OekQ5.js} +3 -3
  135. package/dist/vue-ui-donut-evolution-CJ6tIbgl.js +1869 -0
  136. package/dist/{vue-ui-donut-Bgf-n95J.js → vue-ui-donut-oY4iu5pY.js} +11 -11
  137. package/dist/{vue-ui-dumbbell-C112YLkC.js → vue-ui-dumbbell-52gWeLGK.js} +8 -8
  138. package/dist/{vue-ui-flow-j4bDg9Zd.js → vue-ui-flow-edMUCkcr.js} +8 -8
  139. package/dist/{vue-ui-funnel-CVHpfBCW.js → vue-ui-funnel-B08mSlHH.js} +7 -7
  140. package/dist/{vue-ui-galaxy-ChGpUWh8.js → vue-ui-galaxy-CV59UO9t.js} +10 -10
  141. package/dist/{vue-ui-gauge-Cp00vXfG.js → vue-ui-gauge-BnBzapom.js} +7 -7
  142. package/dist/{vue-ui-geo-B4hDk5NO.js → vue-ui-geo-BCmDw5me.js} +8 -8
  143. package/dist/{vue-ui-gizmo-D6nCCsS4.js → vue-ui-gizmo-BZBV8haQ.js} +4 -4
  144. package/dist/{vue-ui-heatmap-scVJc1cw.js → vue-ui-heatmap-CjiffI23.js} +8 -8
  145. package/dist/{vue-ui-hill-DnYUHGAK.js → vue-ui-hill-D5WV6zro.js} +7 -7
  146. package/dist/{vue-ui-history-plot-C5qAMaaW.js → vue-ui-history-plot-Bd06L1Od.js} +9 -9
  147. package/dist/{vue-ui-horizontal-bar-nEG4uvpv.js → vue-ui-horizontal-bar-B5Yp6Uql.js} +11 -11
  148. package/dist/{vue-ui-kpi-DOxId6xg.js → vue-ui-kpi-CNreX8BM.js} +4 -4
  149. package/dist/{vue-ui-label-BDKY7BI7.js → vue-ui-label-BDP67zvQ.js} +4 -4
  150. package/dist/{vue-ui-mini-loader-BknVs9VJ.js → vue-ui-mini-loader-pzS7SsP4.js} +3 -3
  151. package/dist/{vue-ui-molecule-_x232mMu.js → vue-ui-molecule-DqeRhja8.js} +6 -6
  152. package/dist/{vue-ui-mood-radar-D-F4855V.js → vue-ui-mood-radar-Cgl_QD-j.js} +8 -8
  153. package/dist/{vue-ui-nested-donuts-0E5IllFW.js → vue-ui-nested-donuts-MDPBZLnW.js} +10 -10
  154. package/dist/{vue-ui-onion-Eip0S1H7.js → vue-ui-onion-kgZ3uV3c.js} +10 -10
  155. package/dist/{vue-ui-parallel-coordinate-plot-DO0sQdJw.js → vue-ui-parallel-coordinate-plot-CJbZCsPd.js} +10 -10
  156. package/dist/{vue-ui-quadrant-CA0ClWfL.js → vue-ui-quadrant-B9efnVWT.js} +10 -10
  157. package/dist/{vue-ui-quick-chart-D-VuAoll.js → vue-ui-quick-chart-hNOMlqTI.js} +1053 -681
  158. package/dist/{vue-ui-radar-BTD7Y0Ps.js → vue-ui-radar-DJO16PTU.js} +9 -9
  159. package/dist/{vue-ui-rating-C_Qj6gnP.js → vue-ui-rating-BYLWm5aG.js} +3 -3
  160. package/dist/{vue-ui-relation-circle-CcxLBVFV.js → vue-ui-relation-circle-DVF3RlHU.js} +7 -7
  161. package/dist/{vue-ui-ridgeline-BZrzbbhb.js → vue-ui-ridgeline-DvgIu54T.js} +10 -10
  162. package/dist/{vue-ui-rings-CO48GOP2.js → vue-ui-rings-DVU7F6bL.js} +11 -11
  163. package/dist/{vue-ui-scatter-DrxUgZbQ.js → vue-ui-scatter-BtlRfhTt.js} +10 -10
  164. package/dist/{vue-ui-skeleton-CeKjW4MX.js → vue-ui-skeleton-DcMhyC4L.js} +4 -4
  165. package/dist/{vue-ui-smiley-BvRwx69s.js → vue-ui-smiley-qHvZQJcB.js} +3 -3
  166. package/dist/{vue-ui-spark-trend-DnujGRyt.js → vue-ui-spark-trend-BuHZP190.js} +4 -4
  167. package/dist/{vue-ui-sparkbar-Cd_uhYGD.js → vue-ui-sparkbar-MH9VeqdO.js} +4 -4
  168. package/dist/{vue-ui-sparkgauge-hT31YEtt.js → vue-ui-sparkgauge-Bg_IFD0m.js} +4 -4
  169. package/dist/{vue-ui-sparkhistogram-PKlTYhKA.js → vue-ui-sparkhistogram-DZu07vIL.js} +5 -5
  170. package/dist/vue-ui-sparkline-LwEiJPe6.js +2067 -0
  171. package/dist/{vue-ui-sparkstackbar-R0ij2vi1.js → vue-ui-sparkstackbar-hbIoybeq.js} +5 -5
  172. package/dist/vue-ui-stackbar-CaxNkWPz.js +2660 -0
  173. package/dist/vue-ui-stackline-BJqnZXeR.js +2829 -0
  174. package/dist/{vue-ui-strip-plot-DR3N56rS.js → vue-ui-strip-plot-BWK3JQr6.js} +8 -8
  175. package/dist/{vue-ui-table-Bg6BeLrf.js → vue-ui-table-CRWoH6dc.js} +6 -6
  176. package/dist/{vue-ui-table-heatmap-C1b1Pcp8.js → vue-ui-table-heatmap-Bu9RiTU0.js} +6 -6
  177. package/dist/{vue-ui-table-sparkline-CkVXyequ.js → vue-ui-table-sparkline-CTA_6-gu.js} +5 -5
  178. package/dist/{vue-ui-thermometer-CqkaMF7Z.js → vue-ui-thermometer-Y5CnROrM.js} +7 -7
  179. package/dist/{vue-ui-timer-CgJvNwBv.js → vue-ui-timer-BYEpxxDX.js} +6 -6
  180. package/dist/{vue-ui-tiremarks-B078YJ9M.js → vue-ui-tiremarks-DBndWNiA.js} +7 -7
  181. package/dist/{vue-ui-treemap-Cfjf8mDl.js → vue-ui-treemap-Cw8a0oFl.js} +10 -10
  182. package/dist/{vue-ui-waffle-BZIcPa0l.js → vue-ui-waffle-BvfD05mS.js} +11 -11
  183. package/dist/{vue-ui-wheel-CPTm8AHn.js → vue-ui-wheel-D6NsnLRc.js} +7 -7
  184. package/dist/{vue-ui-word-cloud-DnGblUwj.js → vue-ui-word-cloud-YrgMp1Fo.js} +8 -8
  185. package/dist/{vue-ui-world-KkcpeKqp.js → vue-ui-world-BMcqvuJH.js} +8 -8
  186. package/dist/{vue-ui-xy-ClCV7xA5.js → vue-ui-xy-B6wckF4S.js} +4 -4
  187. package/dist/vue-ui-xy-Bv7fhRbS.js +5769 -0
  188. package/dist/{vue-ui-xy-canvas-BlpCbXKR.js → vue-ui-xy-canvas-NzaEYHDR.js} +875 -560
  189. package/dist/{vue_ui_candlestick-J8jmJvxP.js → vue_ui_candlestick-BXSQY82k.js} +96 -9
  190. package/dist/{vue_ui_donut_evolution-D1yAAIHr.js → vue_ui_donut_evolution-C6951a2f.js} +35 -7
  191. package/dist/{vue_ui_quick_chart-mZBdml3Z.js → vue_ui_quick_chart-DByCqSYE.js} +45 -4
  192. package/dist/{vue_ui_sparkline-auZhap6Y.js → vue_ui_sparkline-b9pEUyGF.js} +33 -1
  193. package/dist/{vue_ui_stackbar-COOrQQdK.js → vue_ui_stackbar-DdjDL6aq.js} +88 -9
  194. package/dist/{vue_ui_stackline-DQqKPA9z.js → vue_ui_stackline-Bh0RuInt.js} +88 -9
  195. package/dist/{vue_ui_xy-BA3-_LCx.js → vue_ui_xy-CcJADijP.js} +78 -9
  196. package/dist/{vue_ui_xy_canvas-Cb6dg3eK.js → vue_ui_xy_canvas-DrNSzYWq.js} +88 -9
  197. package/package.json +1 -1
  198. package/dist/SlicerPreview-BJ4usfYd.js +0 -1708
  199. package/dist/vue-data-ui-BVzA0tEV.js +0 -280
  200. package/dist/vue-ui-candlestick-BJtdA4Yu.js +0 -1871
  201. package/dist/vue-ui-donut-evolution-C0BKntfL.js +0 -1552
  202. package/dist/vue-ui-sparkline-BSu1uRvP.js +0 -1610
  203. package/dist/vue-ui-stackbar-BrzzkGFk.js +0 -2369
  204. package/dist/vue-ui-stackline-zEX3gR3y.js +0 -2483
  205. package/dist/vue-ui-xy-C6lVqZnx.js +0 -5367
@@ -1,1552 +0,0 @@
1
- import { t as e } from "./rolldown-runtime-Dy4uBu1J.js";
2
- import { $ as t, $t as n, D as r, Ft as i, Gt as a, J as o, Rt as s, S as c, Vt as l, X as ee, Xt as te, _ as ne, at as re, f as ie, h as ae, i as oe, kt as se, nt as ce, p as le, qt as ue, t as de, tn as fe, tt as pe, vt as me, w as he, y as ge } from "./lib-DOpaUOQx.js";
3
- import { n as _e, t as ve } from "./useHints-Dq_w2E8B.js";
4
- import { t as ye } from "./useTimeLabels-d2f-W1L4.js";
5
- import { t as be } from "./useConfig-C2uy4ltq.js";
6
- import { t as xe } from "./usePrinter-BBBooAGP.js";
7
- import { n as Se, t as Ce } from "./BaseScanner-Dzc8VT3j.js";
8
- import { t as we } from "./useNestedProp-Bux0f4iY.js";
9
- import { t as Te } from "./useThemeCheck-C43Tcqmk.js";
10
- import { t as Ee } from "./useChartExport-iwOqiIWX.js";
11
- import { t as De } from "./useTransitions-g_zBREk2.js";
12
- import { t as Oe } from "./useStableElementSize-C7KADDKj.js";
13
- import { t as ke } from "./useTimeLabelCollider-AEcY4Ioe.js";
14
- import { t as Ae } from "./img-W50sC9SC.js";
15
- import { n as je } from "./Title-DeqmC-vN.js";
16
- import { t as Me } from "./_plugin-vue_export-helper-B3ysoDQm.js";
17
- import { l as Ne, t as Pe } from "./useResponsive-ZtArZtUf.js";
18
- import { t as Fe } from "./DefGrad-DVBqDjhO.js";
19
- import { t as Ie } from "./SlicerPreview-BJ4usfYd.js";
20
- import { t as Le } from "./BaseLegendToggle-DGG65LAR.js";
21
- import { t as Re } from "./A11yDataTable-DdRsVULz.js";
22
- import { t as ze } from "./useUserOptionState-DK-_1ddE.js";
23
- import { t as Be } from "./useChartAccessibility-DYqac8yF.js";
24
- import { t as Ve } from "./Legend-C0Ln0VNe.js";
25
- import { t as He } from "./vue_ui_donut_evolution-D1yAAIHr.js";
26
- import { Fragment as u, Teleport as Ue, computed as d, createBlock as f, createCommentVNode as p, createElementBlock as m, createElementVNode as h, createSlots as We, createTextVNode as Ge, createVNode as Ke, defineAsyncComponent as g, guardReactiveProps as _, mergeProps as qe, nextTick as Je, normalizeClass as v, normalizeProps as y, normalizeStyle as Ye, onBeforeUnmount as Xe, onMounted as Ze, openBlock as b, ref as x, renderList as S, renderSlot as C, resolveDynamicComponent as Qe, shallowRef as $e, toDisplayString as w, toRefs as et, unref as T, watch as tt, watchEffect as nt, withCtx as E } from "vue";
27
- //#region src/components/vue-ui-donut-evolution.vue
28
- var rt = /* @__PURE__ */ e({ default: () => Gt }), it = ["id"], at = ["id"], ot = ["id"], st = { style: { position: "relative" } }, ct = [
29
- "xmlns",
30
- "aria-describedby",
31
- "viewBox"
32
- ], lt = [
33
- "x",
34
- "y",
35
- "width",
36
- "height"
37
- ], ut = { key: 1 }, dt = [
38
- "x1",
39
- "x2",
40
- "y1",
41
- "y2",
42
- "stroke",
43
- "stroke-width"
44
- ], ft = [
45
- "x1",
46
- "x2",
47
- "y1",
48
- "y2",
49
- "stroke",
50
- "stroke-width"
51
- ], pt = { key: 0 }, mt = [
52
- "x1",
53
- "x2",
54
- "y1",
55
- "y2",
56
- "stroke",
57
- "stroke-width"
58
- ], ht = [
59
- "font-size",
60
- "fill",
61
- "transform"
62
- ], gt = [
63
- "x",
64
- "y",
65
- "font-size",
66
- "fill"
67
- ], _t = [
68
- "d",
69
- "stroke",
70
- "stroke-width"
71
- ], vt = [
72
- "transform",
73
- "font-size",
74
- "text-anchor",
75
- "fill",
76
- "font-weight"
77
- ], yt = { key: 0 }, bt = [
78
- "text-anchor",
79
- "font-size",
80
- "fill",
81
- "transform"
82
- ], xt = [
83
- "text-anchor",
84
- "font-size",
85
- "fill",
86
- "transform",
87
- "innerHTML"
88
- ], St = [
89
- "x1",
90
- "y1",
91
- "x2",
92
- "y2",
93
- "stroke",
94
- "stroke-width"
95
- ], Ct = { key: 1 }, wt = [
96
- "cx",
97
- "cy",
98
- "r",
99
- "fill"
100
- ], Tt = { key: 0 }, Et = { key: 0 }, Dt = ["d", "stroke"], Ot = [
101
- "text-anchor",
102
- "x",
103
- "y",
104
- "fill"
105
- ], kt = [
106
- "cx",
107
- "cy",
108
- "r",
109
- "fill"
110
- ], At = { key: 0 }, jt = [
111
- "cx",
112
- "cy",
113
- "fill"
114
- ], Mt = { key: 1 }, Nt = [
115
- "d",
116
- "fill",
117
- "stroke"
118
- ], Pt = { key: 2 }, Ft = [
119
- "d",
120
- "fill",
121
- "stroke"
122
- ], It = [
123
- "x",
124
- "y",
125
- "font-size",
126
- "fill"
127
- ], Lt = [
128
- "x",
129
- "y",
130
- "width",
131
- "height",
132
- "fill"
133
- ], Rt = [
134
- "x",
135
- "y",
136
- "width",
137
- "height",
138
- "onMouseenter",
139
- "onMouseleave",
140
- "onClick"
141
- ], zt = {
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
- }, Bt = {
152
- key: 5,
153
- class: "vue-data-ui-watermark"
154
- }, Vt = ["id"], Ht = ["onClick"], Ut = { key: 0 }, Wt = { key: 1 }, Gt = /*#__PURE__*/ Me({
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: Me, emit: rt }) {
172
- let Gt = g(() => import("./vue-ui-accordion-yHZMJLaY.js").then((e) => e.n)), Kt = g(() => import("./BaseIcon-Dlz7gfx0.js").then((e) => e.n)), qt = g(() => import("./DataTable-BD1eZ0zB.js")), Jt = g(() => import("./PackageVersion-D5QkTJQU.js").then((e) => e.t)), Yt = g(() => import("./PenAndPaper-XdUD8uB3.js").then((e) => e.t)), Xt = g(() => import("./UserOptions-wFD9vo9g.js").then((e) => e.n)), Zt = g(() => import("./vue-ui-donut-Bgf-n95J.js").then((e) => e.n)), Qt = g(() => import("./BaseDraggableDialog-Ck6R5Q0K.js").then((e) => e.n)), { vue_ui_donut_evolution: $t } = be(), { isThemeValid: en, warnInvalidTheme: tn } = Te(), D = e, O = x(ee()), k = x([]), A = x(null), nn = x(null), rn = x(!1), j = x(null), M = x(null), an = x(null), on = x(0), sn = x(0), cn = x(0), ln = x(0), un = x(0), dn = x(null), fn = x(null), pn = x(null), mn = x(null), hn = x(!1), gn = x(null), _n = x(null), vn = $e(null), yn = x(0), bn = x(0), xn = x(!1);
173
- function Sn() {
174
- vn.value = M.value?.parentNode ?? null;
175
- }
176
- function Cn() {
177
- return new Promise((e) => {
178
- requestAnimationFrame(() => {
179
- requestAnimationFrame(e);
180
- });
181
- });
182
- }
183
- async function wn() {
184
- let e = ++bn.value;
185
- await Je(), await Cn(), await Cn(), e === bn.value && (yn.value += 1);
186
- }
187
- function Tn() {
188
- xn.value || (xn.value = !0, Je(() => {
189
- xn.value = !1, Sn(), wn();
190
- }));
191
- }
192
- let En = Oe({
193
- elementRef: vn,
194
- minimumWidth: 2,
195
- minimumHeight: 2,
196
- stableFramesRequired: 2,
197
- once: !1,
198
- onSizeAccepted: () => {
199
- wn();
200
- }
201
- }), Dn = x(null), On = x(null), kn = x(null), An = x(null), jn = x(null), Mn = x(!1), N = $e(null), P = $e(null), Nn = x(null), F = x(null), Pn = x(!1), Fn = rt, In = d(() => !!D.dataset && D.dataset.length);
202
- Ze(() => {
203
- hn.value = !0, Sn(), En.start(), Rn(), wn();
204
- });
205
- let Ln = d(() => I.value.debug);
206
- function Rn() {
207
- if (s(D.dataset) ? (re({
208
- componentName: "VueUiDonutEvolution",
209
- type: "dataset",
210
- debug: Ln.value
211
- }), Un.value = !0) : D.dataset.length && D.dataset.forEach((e, t) => {
212
- me({
213
- datasetObject: e,
214
- requiredAttributes: ["name", "values"]
215
- }).forEach((e) => {
216
- re({
217
- componentName: "VueUiDonutEvolution",
218
- type: "datasetSerieAttribute",
219
- property: e,
220
- index: t,
221
- debug: Ln.value
222
- }), Un.value = !0;
223
- });
224
- }), s(D.dataset) || (Un.value = I.value.loading), setTimeout(() => {
225
- Mn.value = !0;
226
- }, 10), qn(), I.value.responsive) {
227
- let e = Ne(() => {
228
- Mn.value = !1;
229
- let { width: e, height: t } = Pe({
230
- chart: M.value,
231
- title: I.value.style.chart.title.text ? Dn.value : null,
232
- legend: I.value.style.chart.legend.show ? On.value : null,
233
- slicer: I.value.style.chart.zoom.show && Gn.value > 1 ? jn.value : null,
234
- source: kn.value
235
- });
236
- requestAnimationFrame(() => {
237
- Wn.value.width = e, Wn.value.height = t - 12, Tn(), clearTimeout(Nn.value), Nn.value = setTimeout(() => {
238
- Mn.value = !0;
239
- }, 10);
240
- });
241
- });
242
- N.value && (P.value && N.value.unobserve(P.value), N.value.disconnect()), N.value = new ResizeObserver(e), P.value = M.value.parentNode, N.value.observe(P.value);
243
- }
244
- Tn();
245
- }
246
- let I = x($n()), L = d(() => R.value.grid), R = d(() => I.value.style.chart.layout), z = d(() => I.value.style.chart.dialog), B = d(() => I.value.style.chart);
247
- _e({
248
- config: () => I.value,
249
- dataset: () => D.dataset,
250
- component: "VueUiDonutEvolution",
251
- rules: [
252
- ve.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: zn } = De({
288
- config: () => I.value.transitions,
289
- dataset: () => D.dataset
290
- }), V = d(() => I.value.userOptions.useCursorPointer), Bn = d(() => fe({
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: I.value.skeletonConfig ?? {}
328
- })), { loading: Vn, FINAL_DATASET: Hn, manualLoading: Un } = Se({
329
- ...et(D),
330
- FINAL_CONFIG: I,
331
- prepareConfig: $n,
332
- callback: () => {
333
- Promise.resolve().then(async () => {
334
- await qn();
335
- });
336
- },
337
- skeletonDataset: D.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: fe({
376
- defaultConfig: I.value,
377
- userConfig: Bn.value
378
- })
379
- }), Wn = x({
380
- width: R.value.width,
381
- height: R.value.height
382
- }), Gn = d(() => Math.max(...Hn.value.map((e) => e.values.length))), H = x({
383
- start: 0,
384
- end: Gn.value
385
- });
386
- function Kn() {
387
- qn();
388
- }
389
- async function qn() {
390
- await Je(), await Je();
391
- let { startIndex: e, endIndex: t } = B.value.zoom, n = An.value;
392
- H.value = {
393
- start: 0,
394
- end: J.value
395
- }, (e != null || t != null) && n ? (e == null ? (H.value.start = 0, n.setStartValue(0)) : n.setStartValue(e), t == null ? (H.value.end = J.value, n.setEndValue(J.value)) : n.setEndValue(Jn(t + 1))) : (H.value = {
396
- start: 0,
397
- end: J.value
398
- }, sn.value += 1), Tn();
399
- }
400
- function Jn(e) {
401
- let t = J.value;
402
- return e > t ? t : e < 0 || B.value.zoom.startIndex !== null && e < B.value.zoom.startIndex ? B.value.zoom.startIndex === null ? 1 : B.value.zoom.startIndex + 1 : e;
403
- }
404
- let { userOptionsVisible: Yn, setUserOptionsVisibility: Xn, keepUserOptionState: Zn } = ze({ config: I.value }), { svgRef: Qn } = Be({ config: B.value.title });
405
- function $n() {
406
- let e = we({
407
- userConfig: D.config,
408
- defaultConfig: $t
409
- }), t = {}, r = e.theme;
410
- if (r) {
411
- if (!en.value(e)) tn(e), t = e;
412
- else {
413
- let i = we({
414
- userConfig: He[r] || D.config,
415
- defaultConfig: e
416
- });
417
- t = {
418
- ...we({
419
- userConfig: D.config,
420
- defaultConfig: i
421
- }),
422
- customPalette: e.customPalette ? e.customPalette : n[r] || l
423
- };
424
- }
425
- } else t = e;
426
- return t;
427
- }
428
- tt(() => D.config, (e) => {
429
- Vn.value || (I.value = $n()), Yn.value = !I.value.userOptions.showOnChartHover, Rn(), cn.value += 1, ln.value += 1, un.value += 1, U.value.showTable = I.value.table.show;
430
- }, { deep: !0 }), tt(() => D.dataset, (e) => {
431
- Array.isArray(e) && e.length > 0 && (Un.value = !1), Kn();
432
- }, { deep: !0 });
433
- let { isPrinting: er, isImaging: tr, generatePdf: nr, generateImage: rr } = xe({
434
- elementId: O.value,
435
- fileName: B.value.title.text || "vue-ui-donut-evolution",
436
- options: I.value.userOptions.print
437
- }), ir = d(() => I.value.userOptions.show && !B.value.title.text), ar = d(() => he(I.value.customPalette)), U = x({ showTable: I.value.table.show });
438
- tt(I, () => {
439
- U.value = { showTable: I.value.table.show };
440
- }, { immediate: !0 });
441
- let W = d(() => ({
442
- top: R.value.padding.top,
443
- right: R.value.padding.right,
444
- bottom: R.value.padding.bottom,
445
- left: R.value.padding.left
446
- })), G = d(() => L.value.yAxis.position === "right");
447
- function or() {
448
- let e = 0;
449
- dn.value && (e = Array.from(dn.value.querySelectorAll("text")).reduce((e, t) => {
450
- let n = t.getComputedTextLength();
451
- return n > e ? n : e;
452
- }, 0));
453
- let t = mn.value ? mn.value.getBoundingClientRect().width + L.value.axis.yLabelOffsetX + L.value.axis.fontSize : 0, n = e + t + 5;
454
- return {
455
- left: G.value ? 0 : n,
456
- right: G.value ? n : 0,
457
- scaleLabelsWidth: e,
458
- yAxisLabelWidth: t,
459
- crosshair: 5
460
- };
461
- }
462
- let sr = x(0), cr = Ne((e) => {
463
- sr.value = e;
464
- }, 100);
465
- nt((e) => {
466
- let t = fn.value;
467
- if (!t) return;
468
- let n = new ResizeObserver((e) => {
469
- cr(e[0].contentRect.height);
470
- });
471
- n.observe(t), e(() => n.disconnect());
472
- }), Xe(() => {
473
- sr.value = 0, En.stop(), clearTimeout(Nn.value), N.value && (P.value && N.value.unobserve(P.value), N.value.disconnect(), N.value = null, P.value = null);
474
- });
475
- let lr = d(() => {
476
- let e = 0;
477
- pn.value && (e = pn.value.getBBox().height);
478
- let t = 0;
479
- return fn.value && (t = sr.value), e + t + L.value.axis.fontSize + L.value.xAxis.dataLabels.offsetY;
480
- }), K = d(() => {
481
- yn.value;
482
- let e = or(), t = R.value.dataLabels.fontSize * 3, n = Wn.value.width, r = Wn.value.height, i = W.value.left + e.left, a = n - W.value.right - e.right, o = n - i - W.value.right - e.right, s = r - W.value.top - W.value.bottom - t - lr.value, c = W.value.top + t;
483
- return {
484
- top: c,
485
- left: i,
486
- right: a,
487
- bottom: r - W.value.bottom - lr.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
- }), q = d(() => (Ln.value && Hn.value.forEach((e, t) => {
499
- [null, void 0].includes(e.name) && re({
500
- componentName: "VueUiDonutEvolution",
501
- type: "datasetSerieAttribute",
502
- property: "name",
503
- index: t
504
- }), [null, void 0].includes(e.values) && re({
505
- componentName: "VueUiDonutEvolution",
506
- type: "datasetSerieAttribute",
507
- property: "values",
508
- index: t
509
- });
510
- }), Hn.value.map((e, t) => ({
511
- ...e,
512
- values: a(e.values),
513
- color: c(e.color) || ar.value[t] || l[t] || l[t % l.length],
514
- length: (e.values || []).length,
515
- uid: ee()
516
- })))), ur = d(() => q.value.filter((e) => !k.value.includes(e.uid)).map((e) => ({
517
- ...e,
518
- values: e.values.filter((e, t) => t >= H.value.start && t <= H.value.end)
519
- }))), J = d(() => Math.max(...q.value.map((e) => e.length))), Y = x([]), dr = 0;
520
- nt(() => {
521
- let e = ++dr;
522
- (async () => {
523
- let t = await ye({
524
- values: L.value.xAxis.dataLabels.values,
525
- maxDatapoints: J.value,
526
- formatter: L.value.xAxis.dataLabels.datetimeFormatter,
527
- start: H.value.start,
528
- end: H.value.end
529
- });
530
- e === dr && (Y.value = t);
531
- })();
532
- });
533
- let X = d(() => K.value.width / (H.value.end - H.value.start)), fr = d(() => {
534
- let e = [];
535
- for (let t = 0; t < H.value.end - H.value.start; t += 1) {
536
- let n = ur.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 = K.value.left + X.value * t + X.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
- }), pr = d(() => {
547
- let e = Math.max(...fr.value.map((e) => e.subtotal).filter((e) => se(e))) ?? 1, t = Math.min(...fr.value.map((e) => e.subtotal).filter((e) => se(e))) ?? 0, n = Math.max(L.value.yAxis.scaleMax ?? 0, e), r;
548
- return r = L.value.yAxis.scaleMin == null ? 0 : Math.min(t, L.value.yAxis.scaleMin), L.value.yAxis.autoScale && (r = t, n = e), r === n && (r = n / 2, n *= 1.5), {
549
- max: n,
550
- min: r
551
- };
552
- }), Z = d(() => {
553
- let e = fr.value.length === 1 ? pr.value.max * 2 : pr.value.max;
554
- return ne(pr.value.min, e, L.value.yAxis.dataLabels.steps);
555
- });
556
- tt(() => Z.value.ticks.join("|"), () => {
557
- Tn();
558
- }, { flush: "post" });
559
- function mr(e) {
560
- return (e - Z.value.min) / (Z.value.max - Z.value.min);
561
- }
562
- let hr = d(() => Z.value.ticks.map((e) => ({
563
- y: K.value.bottom - K.value.height * mr(e),
564
- value: e
565
- }))), Q = d(() => {
566
- let e = fr.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(K.value.width / 24, X.value / 2 * .7), a = r > K.value.width / 16 ? K.value.width / 16 : r, o = A.value === t.index ? K.value.width / 16 : a, s = e.length > 4 ? r * 2 : r * 2 > X.value / 2 * .7 ? X.value / 2 * .7 : r * 2, c = K.value.bottom - K.value.height * mr(t.subtotal), l = ur.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: a,
577
- activeRadius: o,
578
- hoverRadius: s,
579
- donut: i({ series: l }, t.x, c, a, a, 1.99999, 2, 1, 360, 105.25, a / 2),
580
- donutHover: i({ series: l }, t.x, c, s, s, 1.99999, 2, 1, 360, 105.25, s / 2),
581
- donutFocus: i({ series: l }, K.value.centerX, K.value.centerY, K.value.height / 3.6, K.value.height / 3.6, 1.99999, 2, 1, 360, 105.25, K.value.height / 6)
582
- };
583
- });
584
- });
585
- function gr(e, n, r) {
586
- return oe(R.value.dataLabels.formatter, e, t({
587
- p: R.value.dataLabels.prefix,
588
- v: e,
589
- s: R.value.dataLabels.suffix,
590
- r: R.value.dataLabels.rounding
591
- }), {
592
- datapoint: n,
593
- index: r
594
- });
595
- }
596
- function _r(e, t) {
597
- return isNaN(e.value / te(t, "value")) ? 0 : (e.value / te(t, "value") * 100).toFixed(0) + "%";
598
- }
599
- function vr(e) {
600
- A.value = null, nn.value = null, F.value = null, I.value.events.datapointLeave && I.value.events.datapointLeave({
601
- datapoint: e,
602
- seriesIndex: e.seriesIndex + H.value.start
603
- });
604
- }
605
- function yr(e) {
606
- I.value.events.datapointEnter && I.value.events.datapointEnter({
607
- datapoint: e,
608
- seriesIndex: e.index + H.value.start
609
- }), A.value = e.index, nn.value = e, F.value = e.index;
610
- }
611
- let br = x(null);
612
- function xr(e, t) {
613
- I.value.events.datapointClick && I.value.events.datapointClick({
614
- datapoint: e,
615
- seriesIndex: e.index + H.value.start
616
- }), e.subtotal && z.value.show && (nn.value = null, A.value = null, rn.value = !0, j.value = e, Vr(e), [null, void 0].includes(t) || (br.value = t));
617
- }
618
- let Sr = d(() => q.value.map((e, t) => ({
619
- name: e.name,
620
- value: e.values.slice(H.value.start, H.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, n) => ({
625
- ...e,
626
- opacity: k.value.includes(e.uid) ? .5 : 1,
627
- segregate: () => Er(e.uid),
628
- isSegregated: k.value.includes(e.uid),
629
- display: `${e.name}${B.value.legend.showPercentage || B.value.legend.showValue ? ": " : ""}${B.value.legend.showValue ? oe(R.value.dataLabels.formatter, e.value, t({
630
- p: R.value.dataLabels.prefix,
631
- v: e.value,
632
- s: R.value.dataLabels.suffix,
633
- r: B.value.legend.roundingValue
634
- }), {
635
- datapoint: e,
636
- seriesIndex: n
637
- }) : ""}${B.value.legend.showPercentage ? k.value.includes(e.uid) ? `${B.value.legend.showValue ? " (" : ""}- %${B.value.legend.showValue ? ")" : ""}` : `${B.value.legend.showValue ? " (" : ""}${isNaN(e.value / Cr.value) ? "-" : t({
638
- v: e.value / Cr.value * 100,
639
- s: "%",
640
- r: B.value.legend.roundingPercentage
641
- })}${B.value.legend.showValue ? ")" : ""}` : ""}`
642
- }))), Cr = d(() => Q.value.map((e) => e.subtotal).reduce((e, t) => e + t, 0)), wr = d(() => ({
643
- cy: "donut-div-legend",
644
- backgroundColor: B.value.legend.backgroundColor,
645
- color: B.value.legend.color,
646
- fontSize: B.value.legend.fontSize,
647
- paddingBottom: 12,
648
- fontWeight: B.value.legend.bold ? "bold" : ""
649
- }));
650
- function Tr() {
651
- k.value.length ? k.value = [] : Sr.value.forEach((e) => {
652
- k.value.push(e.uid);
653
- }), Fn("selectLegend", ur.value);
654
- }
655
- function Er(e) {
656
- if (k.value.includes(e)) k.value = k.value.filter((t) => t !== e), Fn("selectLegend", ur.value);
657
- else {
658
- if (k.value.length === q.value.length - 1) return;
659
- k.value.push(e), Fn("selectLegend", ur.value);
660
- }
661
- j.value && xr(Q.value.find((e, t) => t === br.value));
662
- }
663
- function Dr(e) {
664
- return q.value.length ? q.value.find((t) => t.name === e) || (Ln.value && console.warn(`VueUiDonutEvolution - Series name not found "${e}"`), null) : (Ln.value && console.warn("VueUiDonutEvolution - There are no series to show."), null);
665
- }
666
- function Or(e) {
667
- let t = Dr(e);
668
- t !== null && k.value.includes(t.uid) && Er(t.uid);
669
- }
670
- function kr(e) {
671
- let t = Dr(e);
672
- t !== null && (k.value.includes(t.uid) || Er(t.uid));
673
- }
674
- let $ = d(() => {
675
- let e = [""].concat(q.value.filter((e) => !k.value.includes(e.uid)).map((e) => ({
676
- name: e.name,
677
- color: e.color
678
- })), ["Σ"]), t = [];
679
- for (let e = 0; e < J.value; e += 1) {
680
- let n = q.value.filter((e) => !k.value.includes(e.uid)).map((t) => t.values[e] ?? 0).reduce((e, t) => e + t, 0);
681
- t.push([Y.value[e] ? Y.value[e].text : "-"].concat(q.value.filter((e) => !k.value.includes(e.uid)).map((t) => ({
682
- value: t.values[e] ?? 0,
683
- percentage: t.values[e] ? t.values[e] / n * 100 : 0
684
- })), [`${R.value.dataLabels.prefix}${Number(n.toFixed(I.value.table.td.roundingValue))}${R.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 : `${gr(t.value ?? 0, null, n)} (${t.percentage.toFixed(1)}%)`)),
690
- config: {
691
- th: {
692
- backgroundColor: I.value.table.th.backgroundColor,
693
- color: I.value.table.th.color,
694
- outline: I.value.table.th.outline
695
- },
696
- td: {
697
- backgroundColor: I.value.table.td.backgroundColor,
698
- color: I.value.table.td.color,
699
- outline: I.value.table.td.outline
700
- },
701
- breakpoint: I.value.table.responsiveBreakpoint
702
- },
703
- colNames: [I.value.table.columnNames.period].concat(q.value.filter((e) => !k.value.includes(e.uid)).map((e) => e.name), I.value.table.columnNames.total)
704
- };
705
- });
706
- function Ar() {
707
- return q.value;
708
- }
709
- function jr(e = null) {
710
- Je(() => {
711
- let t = [
712
- [B.value.title.text],
713
- [B.value.title.subtitle.text],
714
- [""]
715
- ], n = [...$.value.head.map((e) => e.name ?? e)], i = [...$.value.body.map((e) => e.map((e) => e.value ?? e))], a = t.concat([n]).concat(i), o = r(a);
716
- e ? e(o) : ce({
717
- csvContent: o,
718
- title: B.value.title.text || "vue-ui-donut-evolution"
719
- });
720
- });
721
- }
722
- let Mr = x(!1);
723
- function Nr(e) {
724
- Mr.value = e, on.value += 1;
725
- }
726
- function Pr() {
727
- U.value.showTable = !U.value.showTable;
728
- }
729
- let Fr = x(!1);
730
- function Ir() {
731
- Fr.value = !Fr.value;
732
- }
733
- function Lr(e) {
734
- return e.proportion * 100 > B.value.donuts.hover.hideLabelsUnderValue;
735
- }
736
- let Rr = x([]), zr = x({}), Br = x(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 = pe({
743
- ...z.value.donutChart,
744
- responsive: !0,
745
- theme: I.value.theme
746
- }), Br.value && Br.value.open();
747
- }
748
- async function Hr({ scale: e = 2 } = {}) {
749
- if (!M.value) return;
750
- let { width: t, height: n } = M.value.getBoundingClientRect(), r = t / n, { imageUri: i, base64: a } = await Ae({
751
- domElement: M.value,
752
- base64: !0,
753
- img: !0,
754
- scale: e
755
- });
756
- return {
757
- imageUri: i,
758
- base64: a,
759
- title: B.value.title.text,
760
- width: t,
761
- height: n,
762
- aspectRatio: r
763
- };
764
- }
765
- let Ur = d(() => Wn.value.width), Wr = d(() => Wn.value.height);
766
- ke({
767
- timeLabelsEls: fn,
768
- timeLabels: Y,
769
- slicer: H,
770
- configRef: I,
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: L.value.xAxis.dataLabels.autoRotate.angle
794
- });
795
- let Gr = d(() => {
796
- let e = I.value.table.useDialog && !I.value.table.show, t = U.value.showTable;
797
- return {
798
- component: e ? Qt : Gt,
799
- title: `${B.value.title.text}${B.value.title.subtitle.text ? `: ${B.value.title.subtitle.text}` : ""}`,
800
- props: e ? {
801
- backgroundColor: I.value.table.th.backgroundColor,
802
- color: I.value.table.th.color,
803
- headerColor: I.value.table.th.color,
804
- headerBg: I.value.table.th.backgroundColor,
805
- isFullscreen: Mr.value,
806
- fullscreenParent: M.value,
807
- forcedWidth: Math.min(800, window.innerWidth * .8),
808
- isCursorPointer: V.value
809
- } : {
810
- hideDetails: !0,
811
- config: {
812
- open: t,
813
- maxHeight: 1e4,
814
- body: {
815
- backgroundColor: B.value.backgroundColor,
816
- color: B.value.color
817
- },
818
- head: {
819
- backgroundColor: B.value.backgroundColor,
820
- color: B.value.color
821
- }
822
- }
823
- }
824
- };
825
- });
826
- tt(() => U.value.showTable, (e) => {
827
- I.value.table.show || (e && I.value.table.useDialog && gn.value ? gn.value.open() : "close" in gn.value && gn.value.close());
828
- });
829
- function Kr() {
830
- U.value.showTable = !1, _n.value && _n.value.setTableIconState(!1);
831
- }
832
- let qr = d(() => Sr.value.map((e) => ({
833
- ...e,
834
- name: e.display
835
- }))), Jr = d(() => B.value.backgroundColor), Yr = d(() => B.value.legend), Xr = d(() => B.value.title), { isCallbackImaging: Zr, isCallbackSvg: Qr, generateSvg: $r, onGenerateImage: ei } = Ee({
836
- svg: Qn,
837
- title: Xr,
838
- legend: Yr,
839
- legendItems: qr,
840
- backgroundColor: Jr,
841
- getSvgCallback: () => I.value.userOptions.callbacks.svg,
842
- generateImage: rr
843
- });
844
- async function ti() {
845
- if (Fn("copyAlt", {
846
- config: I.value,
847
- dataset: Q.value
848
- }), !I.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(I.value.userOptions.callbacks.altCopy({
853
- config: I.value,
854
- dataset: Q.value
855
- }));
856
- }
857
- function ni() {
858
- F.value = null, Pn.value = !0;
859
- }
860
- function ri() {
861
- F.value = null, A.value = null, nn.value = null, Pn.value = !1;
862
- }
863
- function ii(e) {
864
- if (!Qn.value || Fr.value || document.activeElement !== Qn.value || !Q.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
- F.value = null, A.value = null, nn.value = null;
869
- return;
870
- }
871
- if (r) {
872
- if (F.value === null) return;
873
- let e = Q.value[F.value];
874
- if (!e) return;
875
- xr(e, F.value);
876
- return;
877
- }
878
- let a = F.value, o = A.value, s = a !== null && a >= 0 && a < Q.value.length, c = o !== null && o >= 0 && o < Q.value.length;
879
- s ? n ? (a += 1, a >= Q.value.length && (a = 0)) : t && (--a, a < 0 && (a = Q.value.length - 1)) : c ? (a = n ? o + 1 : o - 1, a >= Q.value.length && (a = 0), a < 0 && (a = Q.value.length - 1)) : a = n ? 0 : Q.value.length - 1;
880
- let l = Q.value[a];
881
- l && yr(l);
882
- }
883
- let ai = d(() => ({
884
- headers: $.value?.colNames ?? [],
885
- rows: $.value?.bodyA11y ?? []
886
- }));
887
- return Me({
888
- getData: Ar,
889
- getImage: Hr,
890
- generatePdf: nr,
891
- generateCsv: jr,
892
- generateImage: rr,
893
- generateSvg: $r,
894
- hideSeries: kr,
895
- showSeries: Or,
896
- toggleTable: Pr,
897
- toggleAnnotator: Ir,
898
- toggleFullscreen: Nr,
899
- copyAlt: ti
900
- }), (e, n) => (b(), m("div", {
901
- ref_key: "donutEvolutionChart",
902
- ref: M,
903
- class: v(`vue-data-ui-component vue-ui-donut-evolution ${Mr.value ? "vue-data-ui-wrapper-fullscreen" : ""} ${I.value.useCssAnimation ? "" : "vue-ui-dna"}`),
904
- style: Ye(`font-family:${I.value.style.fontFamily};width:100%; text-align:center;background:${B.value.backgroundColor}`),
905
- id: O.value,
906
- onMouseenter: n[5] ||= () => T(Xn)(!0),
907
- onMouseleave: n[6] ||= () => T(Xn)(!1)
908
- }, [
909
- h("div", {
910
- id: `chart-instructions-${O.value}`,
911
- class: "sr-only"
912
- }, [h("p", null, w(I.value.a11y.translations.keyboardNavigation), 1)], 8, at),
913
- ai.value?.rows?.length ? (b(), f(Re, {
914
- key: 0,
915
- uid: O.value,
916
- head: ai.value.headers,
917
- body: ai.value.rows,
918
- notice: I.value.a11y.translations.tableAvailable,
919
- caption: I.value.a11y.translations.tableCaption
920
- }, null, 8, [
921
- "uid",
922
- "head",
923
- "body",
924
- "notice",
925
- "caption"
926
- ])) : p("", !0),
927
- I.value.userOptions.buttons.annotator ? (b(), f(T(Yt), {
928
- key: 1,
929
- svgRef: T(Qn),
930
- backgroundColor: B.value.backgroundColor,
931
- color: B.value.color,
932
- active: Fr.value,
933
- isCursorPointer: V.value,
934
- palette: I.value.userOptions.annotatorPalette,
935
- onClose: Ir
936
- }, {
937
- "annotator-action-close": E(() => [C(e.$slots, "annotator-action-close", {}, void 0, !0)]),
938
- "annotator-action-color": E(({ color: t }) => [C(e.$slots, "annotator-action-color", y(_({ color: t })), void 0, !0)]),
939
- "annotator-action-draw": E(({ mode: t }) => [C(e.$slots, "annotator-action-draw", y(_({ mode: t })), void 0, !0)]),
940
- "annotator-action-undo": E(({ disabled: t }) => [C(e.$slots, "annotator-action-undo", y(_({ disabled: t })), void 0, !0)]),
941
- "annotator-action-redo": E(({ disabled: t }) => [C(e.$slots, "annotator-action-redo", y(_({ disabled: t })), void 0, !0)]),
942
- "annotator-action-delete": E(({ disabled: t }) => [C(e.$slots, "annotator-action-delete", y(_({ disabled: t })), void 0, !0)]),
943
- _: 3
944
- }, 8, [
945
- "svgRef",
946
- "backgroundColor",
947
- "color",
948
- "active",
949
- "isCursorPointer",
950
- "palette"
951
- ])) : p("", !0),
952
- ir.value ? (b(), m("div", {
953
- key: 2,
954
- ref_key: "noTitle",
955
- ref: an,
956
- class: "vue-data-ui-no-title-space",
957
- style: "height:36px; width: 100%;background:transparent"
958
- }, null, 512)) : p("", !0),
959
- B.value.title.text ? (b(), m("div", {
960
- key: 3,
961
- ref_key: "chartTitle",
962
- ref: Dn,
963
- style: "width:100%;background:transparent;padding-bottom:24px",
964
- onMouseleave: vr
965
- }, [(b(), f(je, {
966
- key: `title_${cn.value}`,
967
- config: {
968
- title: {
969
- cy: "donut-evolution-div-title",
970
- ...B.value.title
971
- },
972
- subtitle: {
973
- cy: "donut-evolution-div-subtitle",
974
- ...B.value.title.subtitle
975
- }
976
- }
977
- }, null, 8, ["config"]))], 544)) : p("", !0),
978
- h("div", { id: `legend-top-${O.value}` }, null, 8, ot),
979
- I.value.userOptions.show && In.value && (T(Zn) || T(Yn)) ? (b(), f(T(Xt), {
980
- ref_key: "userOptionsRef",
981
- ref: _n,
982
- key: `user_options_${on.value}`,
983
- backgroundColor: B.value.backgroundColor,
984
- color: B.value.color,
985
- isPrinting: T(er),
986
- isImaging: T(tr),
987
- uid: O.value,
988
- hasPdf: I.value.userOptions.buttons.pdf,
989
- hasImg: I.value.userOptions.buttons.img,
990
- hasSvg: I.value.userOptions.buttons.svg,
991
- hasXls: I.value.userOptions.buttons.csv,
992
- hasTable: I.value.userOptions.buttons.table,
993
- hasFullscreen: I.value.userOptions.buttons.fullscreen,
994
- hasAltCopy: I.value.userOptions.buttons.altCopy,
995
- isFullscreen: Mr.value,
996
- titles: { ...I.value.userOptions.buttonTitles },
997
- chartElement: M.value,
998
- position: I.value.userOptions.position,
999
- hasAnnotator: I.value.userOptions.buttons.annotator,
1000
- isAnnotation: Fr.value,
1001
- callbacks: I.value.userOptions.callbacks,
1002
- printScale: I.value.userOptions.print.scale,
1003
- tableDialog: I.value.table.useDialog,
1004
- isCursorPointer: V.value,
1005
- onToggleFullscreen: Nr,
1006
- onGeneratePdf: T(nr),
1007
- onGenerateCsv: jr,
1008
- onGenerateImage: T(ei),
1009
- onGenerateSvg: T($r),
1010
- onToggleTable: Pr,
1011
- onToggleAnnotator: Ir,
1012
- onCopyAlt: ti,
1013
- style: Ye({ visibility: T(Zn) ? T(Yn) ? "visible" : "hidden" : "visible" })
1014
- }, We({ _: 2 }, [
1015
- e.$slots.menuIcon ? {
1016
- name: "menuIcon",
1017
- fn: E(({ isOpen: t, color: n }) => [C(e.$slots, "menuIcon", y(_({
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: E(() => [C(e.$slots, "optionPdf", {}, void 0, !0)]),
1026
- key: "1"
1027
- } : void 0,
1028
- e.$slots.optionCsv ? {
1029
- name: "optionCsv",
1030
- fn: E(() => [C(e.$slots, "optionCsv", {}, void 0, !0)]),
1031
- key: "2"
1032
- } : void 0,
1033
- e.$slots.optionImg ? {
1034
- name: "optionImg",
1035
- fn: E(() => [C(e.$slots, "optionImg", {}, void 0, !0)]),
1036
- key: "3"
1037
- } : void 0,
1038
- e.$slots.optionSvg ? {
1039
- name: "optionSvg",
1040
- fn: E(() => [C(e.$slots, "optionSvg", {}, void 0, !0)]),
1041
- key: "4"
1042
- } : void 0,
1043
- e.$slots.optionTable ? {
1044
- name: "optionTable",
1045
- fn: E(() => [C(e.$slots, "optionTable", {}, void 0, !0)]),
1046
- key: "5"
1047
- } : void 0,
1048
- e.$slots.optionFullscreen ? {
1049
- name: "optionFullscreen",
1050
- fn: E(({ toggleFullscreen: t, isFullscreen: n }) => [C(e.$slots, "optionFullscreen", y(_({
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: E(({ toggleAnnotator: t, isAnnotator: n }) => [C(e.$slots, "optionAnnotator", y(_({
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: E(({ altCopy: t }) => [C(e.$slots, "optionAltCopy", y(_({ altCopy: t })), void 0, !0)]),
1067
- key: "8"
1068
- } : void 0,
1069
- e.$slots["custom-menu-before"] ? {
1070
- name: "custom-menu-before",
1071
- fn: E(() => [C(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: E(() => [C(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("."))) : p("", !0),
1080
- h("div", st, [(b(), m("svg", {
1081
- ref_key: "svgRef",
1082
- ref: Qn,
1083
- xmlns: T(de),
1084
- "aria-describedby": `chart-instructions-${O.value}`,
1085
- class: v({
1086
- "vue-data-ui-fullscreen--on": Mr.value,
1087
- "vue-data-ui-fulscreen--off": !Mr.value,
1088
- "vue-data-ui-no-transition": !T(zn)
1089
- }),
1090
- viewBox: `0 0 ${K.value.absoluteWidth} ${K.value.absoluteHeight}`,
1091
- style: Ye(`max-width:100%; overflow: visible; background:transparent;color:${B.value.color};`),
1092
- tabindex: "0",
1093
- onFocus: ni,
1094
- onBlur: ri,
1095
- onKeydown: ii
1096
- }, [
1097
- Ke(T(Jt)),
1098
- e.$slots["chart-background"] ? (b(), m("foreignObject", {
1099
- key: 0,
1100
- x: K.value.left,
1101
- y: K.value.top,
1102
- width: K.value.width,
1103
- height: K.value.height,
1104
- style: { pointerEvents: "none" }
1105
- }, [C(e.$slots, "chart-background", {}, void 0, !0)], 8, lt)) : p("", !0),
1106
- h("defs", null, [Ke(Fe, {
1107
- t: "linear",
1108
- id: `hover_${O.value}`,
1109
- x1: "0%",
1110
- y1: "0%",
1111
- x2: "0%",
1112
- y2: "100%",
1113
- stops: [[
1114
- "0%",
1115
- T(ue)(B.value.backgroundColor, R.value.highlighter.opacity),
1116
- 1
1117
- ], [
1118
- "100%",
1119
- T(ue)(R.value.highlighter.color, R.value.highlighter.opacity),
1120
- 1
1121
- ]]
1122
- }, null, 8, ["id", "stops"]), Ke(Fe, {
1123
- t: "radial",
1124
- id: `focus_${O.value}`,
1125
- stops: [
1126
- [
1127
- "0%",
1128
- T(ue)(T(c)(B.value.backgroundColor), 0),
1129
- 1
1130
- ],
1131
- [
1132
- "77%",
1133
- T(ue)("#FFFFFF", 30),
1134
- 1
1135
- ],
1136
- [
1137
- "100%",
1138
- T(ue)(T(c)(B.value.backgroundColor), 0),
1139
- 1
1140
- ]
1141
- ]
1142
- }, null, 8, ["id", "stops"])]),
1143
- L.value.show ? (b(), m("g", ut, [
1144
- h("line", {
1145
- x1: G.value ? K.value.right : K.value.left,
1146
- x2: G.value ? K.value.right : K.value.left,
1147
- y1: K.value.top,
1148
- y2: K.value.top + K.value.height,
1149
- stroke: L.value.stroke,
1150
- "stroke-width": L.value.strokeWidth,
1151
- "stroke-linecap": "round"
1152
- }, null, 8, dt),
1153
- h("line", {
1154
- x1: K.value.left,
1155
- x2: K.value.right,
1156
- y1: K.value.bottom,
1157
- y2: K.value.bottom,
1158
- stroke: L.value.stroke,
1159
- "stroke-width": L.value.strokeWidth,
1160
- "stroke-linecap": "round"
1161
- }, null, 8, ft),
1162
- L.value.showVerticalLines ? (b(), m("g", pt, [(b(!0), m(u, null, S(H.value.end - H.value.start, (e, t) => (b(), m("line", {
1163
- x1: K.value.left + (t + 1) * X.value,
1164
- x2: K.value.left + (t + 1) * X.value,
1165
- y1: K.value.top,
1166
- y2: K.value.bottom,
1167
- stroke: L.value.stroke,
1168
- "stroke-width": L.value.strokeWidth,
1169
- "stroke-linecap": "round"
1170
- }, null, 8, mt))), 256))])) : p("", !0)
1171
- ])) : p("", !0),
1172
- h("g", null, [L.value.axis.yLabel ? (b(), m("text", {
1173
- key: 0,
1174
- ref_key: "yAxisLabel",
1175
- ref: mn,
1176
- "font-size": L.value.axis.fontSize,
1177
- fill: L.value.axis.color,
1178
- transform: `translate(${G.value ? K.value.absoluteWidth - L.value.axis.fontSize / 2 - L.value.axis.yLabelOffsetX : L.value.axis.fontSize}, ${K.value.top + K.value.height / 2}) rotate(-90)`,
1179
- "text-anchor": "middle",
1180
- style: { transition: "none" }
1181
- }, w(L.value.axis.yLabel), 9, ht)) : p("", !0), L.value.axis.xLabel ? (b(), m("text", {
1182
- key: 1,
1183
- ref_key: "xAxisLabel",
1184
- ref: pn,
1185
- "text-anchor": "middle",
1186
- x: K.value.absoluteWidth / 2,
1187
- y: K.value.absoluteHeight - 3,
1188
- "font-size": L.value.axis.fontSize,
1189
- fill: L.value.axis.color
1190
- }, w(L.value.axis.xLabel), 9, gt)) : p("", !0)]),
1191
- L.value.yAxis.dataLabels.show ? (b(), m("g", {
1192
- key: 2,
1193
- ref_key: "scaleLabels",
1194
- ref: dn,
1195
- class: v({
1196
- "donut-opacity": !0,
1197
- "donut-behind": A.value !== null
1198
- })
1199
- }, [(b(!0), m(u, null, S(hr.value, (e, n) => (b(), m("g", { key: `sl_${n}` }, [e.value >= Z.value.min && e.value <= Z.value.max ? (b(), m("path", {
1200
- key: 0,
1201
- class: v({ "vue-data-ui-transition": T(zn) }),
1202
- d: `M${G.value ? K.value.right : K.value.left},${e.y} ${G.value ? K.value.right + 5 : K.value.left - 5},${e.y}`,
1203
- stroke: L.value.stroke,
1204
- "stroke-width": L.value.strokeWidth,
1205
- "stroke-linecap": "round"
1206
- }, null, 10, _t)) : p("", !0), e.value >= Z.value.min && e.value <= Z.value.max ? (b(), m("text", {
1207
- key: 1,
1208
- class: v({ "vue-data-ui-transition": T(zn) }),
1209
- transform: `translate(${G.value ? K.value.right - L.value.yAxis.dataLabels.offsetX + 7 : K.value.left + L.value.yAxis.dataLabels.offsetX - 7}, ${e.y + L.value.yAxis.dataLabels.fontSize / 3})`,
1210
- "font-size": L.value.yAxis.dataLabels.fontSize,
1211
- "text-anchor": G.value ? "start" : "end",
1212
- fill: L.value.yAxis.dataLabels.color,
1213
- "font-weight": L.value.yAxis.dataLabels.bold ? "bold" : "normal"
1214
- }, w(T(ge)(e.value) ? T(oe)(R.value.dataLabels.formatter, e.value, T(t)({
1215
- p: R.value.dataLabels.prefix,
1216
- v: e.value,
1217
- s: R.value.dataLabels.suffix,
1218
- r: R.value.grid.yAxis.dataLabels.roundingValue
1219
- }), {
1220
- datapoint: e,
1221
- seriesIndex: n
1222
- }) : ""), 11, vt)) : p("", !0)]))), 128))], 2)) : p("", !0),
1223
- L.value.xAxis.dataLabels.show ? (b(), m("g", {
1224
- key: 3,
1225
- ref_key: "timeLabelsEls",
1226
- ref: fn,
1227
- class: v({ "donut-opacity": !0 })
1228
- }, [(b(!0), m(u, null, S(H.value.end - H.value.start, (e, t) => (b(), m("g", null, [(L.value.xAxis.dataLabels.showOnlyFirstAndLast && (t === 0 || t === J.value - 1) || !L.value.xAxis.dataLabels.showOnlyFirstAndLast) && Y.value[t] && Y.value[t].text ? (b(), m("g", yt, [String(Y.value[t].text).includes("\n") ? (b(), m("text", {
1229
- key: 1,
1230
- class: "vue-data-ui-time-label",
1231
- "text-anchor": L.value.xAxis.dataLabels.rotation > 0 ? "start" : L.value.xAxis.dataLabels.rotation < 0 ? "end" : "middle",
1232
- "font-size": L.value.xAxis.dataLabels.fontSize,
1233
- fill: L.value.xAxis.dataLabels.color,
1234
- transform: `translate(${K.value.left + X.value * t + X.value / 2}, ${K.value.bottom + L.value.xAxis.dataLabels.fontSize + L.value.xAxis.dataLabels.offsetY}), rotate(${L.value.xAxis.dataLabels.rotation})`,
1235
- innerHTML: T(o)({
1236
- content: String(Y.value[t].text),
1237
- fontSize: L.value.xAxis.dataLabels.fontSize,
1238
- fill: R.value.grid.xAxis.dataLabels.color,
1239
- x: 0,
1240
- y: 0
1241
- })
1242
- }, null, 8, xt)) : (b(), m("text", {
1243
- key: 0,
1244
- class: "vue-data-ui-time-label",
1245
- "text-anchor": L.value.xAxis.dataLabels.rotation > 0 ? "start" : L.value.xAxis.dataLabels.rotation < 0 ? "end" : "middle",
1246
- "font-size": L.value.xAxis.dataLabels.fontSize,
1247
- fill: L.value.xAxis.dataLabels.color,
1248
- transform: `translate(${K.value.left + X.value * t + X.value / 2}, ${K.value.bottom + L.value.xAxis.dataLabels.fontSize + L.value.xAxis.dataLabels.offsetY}), rotate(${L.value.xAxis.dataLabels.rotation})`
1249
- }, w(Y.value[t].text || ""), 9, bt))])) : p("", !0)]))), 256))], 512)) : p("", !0),
1250
- (b(!0), m(u, null, S(Q.value, (e, t) => (b(), m("g", null, [R.value.line.show && t < Q.value.length - 1 && ![e.subtotal, Q.value[t + 1].subtotal].includes(null) ? (b(), m("line", {
1251
- key: 0,
1252
- class: v({
1253
- "donut-opacity": !0,
1254
- "donut-behind": A.value !== null
1255
- }),
1256
- x1: e.x,
1257
- y1: e.y,
1258
- x2: Q.value[t + 1].x,
1259
- y2: Q.value[t + 1].y,
1260
- stroke: R.value.line.stroke,
1261
- "stroke-width": R.value.line.strokeWidth,
1262
- "stroke-linecap": "round",
1263
- "stroke-linejoin": "round"
1264
- }, null, 10, St)) : p("", !0), e.subtotal === null ? p("", !0) : (b(), m("g", Ct, [e.subtotal ? (b(), m("circle", {
1265
- key: 0,
1266
- cx: e.x,
1267
- cy: e.y,
1268
- r: e.activeRadius,
1269
- fill: B.value.backgroundColor
1270
- }, null, 8, wt)) : p("", !0)]))]))), 256)),
1271
- (b(!0), m(u, null, S(Q.value, (e, t) => (b(), m("g", { class: v({
1272
- "donut-opacity": !0,
1273
- "donut-behind": t !== A.value && A.value !== null
1274
- }) }, [e.subtotal ? (b(), m("g", Tt, [A.value !== null && A.value === t ? (b(), m("g", Et, [
1275
- (b(!0), m(u, null, S(e.donutHover, (t) => (b(), m("g", null, [Lr(t) ? (b(), m("path", {
1276
- key: 0,
1277
- d: T(ae)(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, Dt)) : p("", !0)]))), 256)),
1290
- (b(!0), m(u, null, S(e.donutHover, (t, n) => (b(), m("g", null, [Lr(t) ? (b(), m("text", {
1291
- key: 0,
1292
- "data-cy-hover-label": "",
1293
- "text-anchor": T(ie)(t, !0, 0).anchor,
1294
- x: T(ie)(t, !0, 9).x,
1295
- y: T(le)(t, 14, 10),
1296
- fill: L.value.yAxis.dataLabels.color,
1297
- "font-size": 8,
1298
- "font-weight": "bold"
1299
- }, w(t.name) + ": " + w(_r(t, e.donut)) + " (" + w(t.value === null ? "-" : gr(t.value, t, n)) + ") ", 9, Ot)) : p("", !0)]))), 256)),
1300
- h("g", null, [h("circle", {
1301
- cx: e.x,
1302
- cy: e.y,
1303
- r: e.hoverRadius,
1304
- fill: B.value.backgroundColor
1305
- }, null, 8, kt)])
1306
- ])) : p("", !0)])) : p("", !0)], 2))), 256)),
1307
- (b(!0), m(u, null, S(Q.value, (e, t) => (b(), m("g", { class: v({
1308
- "donut-opacity": !0,
1309
- "donut-behind": t !== A.value && A.value !== null
1310
- }) }, [e.subtotal === null ? p("", !0) : (b(), m("g", At, [e.subtotal === 0 ? (b(), m("circle", {
1311
- key: 0,
1312
- cx: e.x,
1313
- cy: e.y,
1314
- r: 3,
1315
- fill: B.value.color
1316
- }, null, 8, jt)) : A.value !== null && A.value === t ? (b(), m("g", Mt, [(b(!0), m(u, null, S(e.donutHover, (e, t) => (b(), m("path", {
1317
- d: e.arcSlice,
1318
- fill: `${e.color}`,
1319
- "stroke-width": 1,
1320
- stroke: B.value.backgroundColor
1321
- }, null, 8, Nt))), 256))])) : (b(), m("g", Pt, [(b(!0), m(u, null, S(e.donut, (e, t) => (b(), m("path", {
1322
- d: e.arcSlice,
1323
- fill: `${e.color}`,
1324
- "stroke-width": .5,
1325
- stroke: B.value.backgroundColor
1326
- }, null, 8, Ft))), 256))]))]))], 2))), 256)),
1327
- (b(!0), m(u, null, S(Q.value, (e, t) => (b(), m("g", { class: v({
1328
- "donut-opacity": !0,
1329
- "donut-behind": t !== A.value && A.value !== null || rn.value && t !== j.value.index
1330
- }) }, [e.subtotal !== null && R.value.dataLabels.show ? (b(), m("text", {
1331
- key: 0,
1332
- "text-anchor": "middle",
1333
- x: e.x,
1334
- y: A.value === e.index && e.subtotal ? e.y + R.value.dataLabels.fontSize / 3 : e.y - e.radius - R.value.dataLabels.fontSize + R.value.dataLabels.offsetY,
1335
- "font-size": R.value.dataLabels.fontSize,
1336
- "font-weight": "bold",
1337
- fill: R.value.dataLabels.color
1338
- }, w(gr(e.subtotal, e, t)), 9, It)) : p("", !0)], 2))), 256)),
1339
- (b(!0), m(u, null, S(Q.value, (e, t) => (b(), m("rect", {
1340
- x: K.value.left + t * X.value,
1341
- y: K.value.top,
1342
- width: X.value,
1343
- height: K.value.height,
1344
- fill: [A.value, br.value].includes(e.index) ? `url(#hover_${O.value})` : "transparent",
1345
- class: v({ "donut-hover": V.value && e.subtotal && [A.value, br.value].includes(e.index) }),
1346
- style: { pointerEvents: "none" }
1347
- }, null, 10, Lt))), 256)),
1348
- (b(!0), m(u, null, S(Q.value, (e, t) => (b(), m("rect", {
1349
- "data-cy-trap": "",
1350
- x: K.value.left + t * X.value,
1351
- y: K.value.top,
1352
- width: X.value,
1353
- height: K.value.height,
1354
- fill: "transparent",
1355
- onMouseenter: (t) => yr(e),
1356
- onMouseleave: (t) => vr(e),
1357
- onClick: (n) => xr(e, t),
1358
- class: v({ "donut-hover": V.value && A.value === e.index && e.subtotal })
1359
- }, null, 42, Rt))), 256)),
1360
- C(e.$slots, "svg", { svg: {
1361
- ...K.value,
1362
- isPrintingImg: T(er) || T(tr) || T(Zr),
1363
- isPrintingSvg: T(Qr)
1364
- } }, void 0, !0)
1365
- ], 46, ct)), e.$slots.hint ? (b(), m("div", zt, [C(e.$slots, "hint", y(_({
1366
- hint: I.value.a11y.translations.keyboardNavigation,
1367
- isVisible: Pn.value
1368
- })), void 0, !0)])) : p("", !0)]),
1369
- e.$slots.watermark ? (b(), m("div", Bt, [C(e.$slots, "watermark", y(_({ isPrinting: T(er) || T(tr) || T(Zr) || T(Qr) })), void 0, !0)])) : p("", !0),
1370
- h("div", {
1371
- ref_key: "chartSlicer",
1372
- ref: jn,
1373
- style: Ye(`width:100%;background:${B.value.backgroundColor}`),
1374
- "data-dom-to-png-ignore": ""
1375
- }, [J.value > 1 && B.value.zoom.show ? (b(), f(Ie, {
1376
- ref_key: "slicerComponent",
1377
- ref: An,
1378
- key: `slicer_${sn.value}`,
1379
- background: B.value.zoom.color,
1380
- borderColor: B.value.backgroundColor,
1381
- fontSize: B.value.zoom.fontSize,
1382
- useResetSlot: B.value.zoom.useResetSlot,
1383
- timeLabels: Y.value,
1384
- textColor: B.value.color,
1385
- inputColor: B.value.zoom.color,
1386
- selectColor: B.value.zoom.highlightColor,
1387
- max: J.value,
1388
- min: 0,
1389
- valueStart: H.value.start,
1390
- valueEnd: H.value.end,
1391
- start: H.value.start,
1392
- "onUpdate:start": n[0] ||= (e) => H.value.start = e,
1393
- end: H.value.end,
1394
- "onUpdate:end": n[1] ||= (e) => H.value.end = e,
1395
- refreshStartPoint: B.value.zoom.startIndex === null ? 0 : B.value.zoom.startIndex,
1396
- refreshEndPoint: B.value.zoom.endIndex === null ? J.value : B.value.zoom.endIndex + 1,
1397
- enableRangeHandles: B.value.zoom.enableRangeHandles,
1398
- enableSelectionDrag: B.value.zoom.enableSelectionDrag,
1399
- focusOnDrag: B.value.zoom.focusOnDrag,
1400
- focusRangeRatio: B.value.zoom.focusRangeRatio,
1401
- isCursorPointer: V.value,
1402
- maxWidth: B.value.zoom.maxWidth,
1403
- minimapLeftInsetRatio: K.value.absoluteWidth > 0 && B.value.zoom.autoFit ? K.value.left / K.value.absoluteWidth : null,
1404
- minimapRightInsetRatio: K.value.absoluteWidth > 0 && B.value.zoom.autoFit ? (K.value.absoluteWidth - K.value.right) / K.value.absoluteWidth : null,
1405
- onReset: Kn
1406
- }, {
1407
- "reset-action": E(({ reset: t }) => [C(e.$slots, "reset-action", y(_({ 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
- ])) : p("", !0)], 4),
1434
- h("div", { id: `legend-bottom-${O.value}` }, null, 8, Vt),
1435
- hn.value && (B.value.legend.show || e.$slots.legend) ? (b(), f(Ue, {
1436
- key: 6,
1437
- to: B.value.legend.position === "top" ? `#legend-top-${O.value}` : `#legend-bottom-${O.value}`
1438
- }, [h("div", {
1439
- ref_key: "chartLegend",
1440
- ref: On
1441
- }, [C(e.$slots, "legend", { legend: Sr.value }, () => [B.value.legend.show ? (b(), f(Ve, {
1442
- key: `legend_${un.value}`,
1443
- legendSet: Sr.value,
1444
- config: wr.value,
1445
- onClickMarker: n[2] ||= ({ legend: e }) => Er(e.uid)
1446
- }, {
1447
- item: E(({ legend: e, index: t }) => [h("div", {
1448
- onClick: (t) => Er(e.uid),
1449
- style: Ye(`opacity:${k.value.includes(e.uid) ? .5 : 1}`)
1450
- }, w(e.display), 13, Ht)]),
1451
- legendToggle: E(() => [Sr.value.length > 2 && B.value.legend.selectAllToggle.show && !T(Vn) ? (b(), f(Le, {
1452
- key: 0,
1453
- backgroundColor: B.value.legend.selectAllToggle.backgroundColor,
1454
- color: B.value.legend.selectAllToggle.color,
1455
- fontSize: B.value.legend.fontSize,
1456
- checked: k.value.length > 0,
1457
- onToggle: Tr
1458
- }, null, 8, [
1459
- "backgroundColor",
1460
- "color",
1461
- "fontSize",
1462
- "checked"
1463
- ])) : p("", !0)]),
1464
- _: 1
1465
- }, 8, ["legendSet", "config"])) : p("", !0)], !0)], 512)], 8, ["to"])) : p("", !0),
1466
- e.$slots.source ? (b(), m("div", {
1467
- key: 7,
1468
- ref_key: "source",
1469
- ref: kn,
1470
- dir: "auto"
1471
- }, [C(e.$slots, "source", {}, void 0, !0)], 512)) : p("", !0),
1472
- In.value && I.value.userOptions.buttons.table ? (b(), f(Qe(Gr.value.component), qe({ key: 8 }, Gr.value.props, {
1473
- ref_key: "tableUnit",
1474
- ref: gn,
1475
- onClose: Kr
1476
- }), We({
1477
- content: E(() => [(b(), f(T(qt), {
1478
- key: `table_${ln.value}`,
1479
- colNames: $.value.colNames,
1480
- head: $.value.head,
1481
- body: $.value.body,
1482
- config: $.value.config,
1483
- title: I.value.table.useDialog ? "" : Gr.value.title,
1484
- withCloseButton: !I.value.table.useDialog,
1485
- isCursorPointer: V.value,
1486
- onClose: Kr
1487
- }, {
1488
- th: E(({ th: e }) => [Ge(w(e.name ?? e), 1)]),
1489
- td: E(({ td: e }) => [e.value === null ? (b(), m("span", Ut, "-")) : (b(), m("b", Wt, w(isNaN(e.value) ? "" : R.value.dataLabels.prefix) + w(!isNaN(e.value) && e.value !== null ? Number(e.value.toFixed(I.value.table.td.roundingValue)).toLocaleString() : e) + w(isNaN(e.value) ? "" : R.value.dataLabels.suffix), 1)), h("span", null, w(e.percentage && !isNaN(e.percentage) ? `(${Number(e.percentage.toFixed(I.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
- }, [I.value.table.useDialog ? {
1502
- name: "title",
1503
- fn: E(() => [Ge(w(Gr.value.title), 1)]),
1504
- key: "0"
1505
- } : void 0, I.value.table.useDialog ? {
1506
- name: "actions",
1507
- fn: E(() => [h("button", {
1508
- tabindex: "0",
1509
- class: "vue-ui-user-options-button",
1510
- onClick: n[3] ||= (e) => jr(I.value.userOptions.callbacks.csv),
1511
- style: Ye({ cursor: V.value ? "cursor" : "default" })
1512
- }, [Ke(T(Kt), {
1513
- name: "fileCsv",
1514
- stroke: Gr.value.props.color
1515
- }, null, 8, ["stroke"])], 4)]),
1516
- key: "1"
1517
- } : void 0]), 1040)) : p("", !0),
1518
- z.value.show ? (b(), f(T(Qt), {
1519
- key: 9,
1520
- ref_key: "dialog",
1521
- ref: Br,
1522
- onClose: n[4] ||= (e) => {
1523
- j.value = null, rn.value = !1, nn.value = null, A.value = null, br.value = null;
1524
- },
1525
- backgroundColor: z.value.backgroundColor,
1526
- color: z.value.color,
1527
- headerBg: z.value.header.backgroundColor,
1528
- headerColor: z.value.header.color,
1529
- isFullscreen: Mr.value,
1530
- fullscreenParent: M.value
1531
- }, {
1532
- title: E(() => [Ge(w(Y.value[Number(j.value.index)] ? Y.value[Number(j.value.index)].text : ""), 1)]),
1533
- content: E(() => [j.value ? (b(), f(T(Zt), {
1534
- key: 0,
1535
- config: zr.value,
1536
- dataset: Rr.value
1537
- }, null, 8, ["config", "dataset"])) : p("", !0)]),
1538
- _: 1
1539
- }, 8, [
1540
- "backgroundColor",
1541
- "color",
1542
- "headerBg",
1543
- "headerColor",
1544
- "isFullscreen",
1545
- "fullscreenParent"
1546
- ])) : p("", !0),
1547
- T(Vn) ? (b(), f(Ce, { key: 10 })) : p("", !0)
1548
- ], 46, it));
1549
- }
1550
- }, [["__scopeId", "data-v-5e237272"]]);
1551
- //#endregion
1552
- export { rt as n, Gt as t };