vue-data-ui 2.4.49 → 2.4.51

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 (199) hide show
  1. package/README.md +12 -0
  2. package/dist/{Arrow-CTukks_V.cjs → Arrow-2a_SwBgz.cjs} +1 -1
  3. package/dist/{Arrow-Q0cOmO5p.js → Arrow-BUz63pb2.js} +1 -1
  4. package/dist/{BaseIcon-2ZD3jgGz.cjs → BaseIcon-BASl_NFX.cjs} +1 -1
  5. package/dist/{BaseIcon-CaYP30Aq.js → BaseIcon-CmiukQBl.js} +1 -1
  6. package/dist/{DataTable-CO5C8Cmb.js → DataTable-DGf6RrOJ.js} +2 -2
  7. package/dist/{DataTable-kMUhutQ4.cjs → DataTable-G3ICK-5h.cjs} +1 -1
  8. package/dist/{Legend-FZN9UHoI.js → Legend-BLaZxMge.js} +1 -1
  9. package/dist/{Legend-DPHcmrzd.cjs → Legend-BiuPlEMg.cjs} +1 -1
  10. package/dist/{PackageVersion-rnWHRWGI.cjs → PackageVersion-Bj34UNnQ.cjs} +1 -1
  11. package/dist/{PackageVersion-DYk2hOG1.js → PackageVersion-CxJghxYD.js} +1 -1
  12. package/dist/{PenAndPaper-BQl9-uX0.cjs → PenAndPaper-D9yQnc0e.cjs} +1 -1
  13. package/dist/{PenAndPaper-BfgS_5ux.js → PenAndPaper-ZdZEumki.js} +3 -3
  14. package/dist/{Shape-BqkMzXqo.js → Shape-DIKzzpFm.js} +1 -1
  15. package/dist/{Shape-BblkpCyL.cjs → Shape-yducHWd0.cjs} +1 -1
  16. package/dist/{Slicer-yEeqKUDF.cjs → Slicer-BHS9W4MJ.cjs} +1 -1
  17. package/dist/{Slicer-DlgqsI5C.js → Slicer-Cxdl3cDt.js} +2 -2
  18. package/dist/{Title-5Vedk01J.cjs → Title-Bk_55doC.cjs} +1 -1
  19. package/dist/{Title-DED-PQ7X.js → Title-aSAft5dl.js} +1 -1
  20. package/dist/{Tooltip-DjCKBAC4.cjs → Tooltip-G7ENx87_.cjs} +1 -1
  21. package/dist/{Tooltip-CHseiJu8.js → Tooltip-smutPF--.js} +1 -1
  22. package/dist/{index-igxqCP2w.js → index-BbPeL8Gp.js} +5 -1
  23. package/dist/index-DhDYBLBe.cjs +9 -0
  24. package/dist/style.css +1 -1
  25. package/dist/types/vue-data-ui.d.cts +5 -1
  26. package/dist/types/vue-data-ui.d.ts +5 -1
  27. package/dist/{useNestedProp-CSVnZVwZ.js → useNestedProp-BN8claGG.js} +1 -1
  28. package/dist/{useNestedProp-CwpqC_aE.cjs → useNestedProp-BphUExEh.cjs} +1 -1
  29. package/dist/{usePrinter-DVgxBO4o.cjs → usePrinter-2_QjJFdH.cjs} +1 -1
  30. package/dist/{usePrinter-CnZYDQXB.js → usePrinter-DaybDVqP.js} +1 -1
  31. package/dist/useUserOptionState-BIvW1Kz7.js +17 -0
  32. package/dist/useUserOptionState-BgepsfED.cjs +1 -0
  33. package/dist/{vue-data-ui-BrRTkOqu.cjs → vue-data-ui-C5vsHRHD.cjs} +1 -1
  34. package/dist/{vue-data-ui-B--WWkUM.js → vue-data-ui-Ckbp-yIf.js} +60 -60
  35. package/dist/vue-data-ui.cjs +1 -1
  36. package/dist/vue-data-ui.js +1 -1
  37. package/dist/vue-ui-3d-bar-DUgumRsg.cjs +19 -0
  38. package/dist/{vue-ui-3d-bar-OzzLYbUl.js → vue-ui-3d-bar-wDYs3sVe.js} +345 -339
  39. package/dist/{vue-ui-accordion-lF7yVkiT.js → vue-ui-accordion-5d5iVpr7.js} +3 -3
  40. package/dist/{vue-ui-accordion-CRVWlHxs.cjs → vue-ui-accordion-B7tNzRWB.cjs} +1 -1
  41. package/dist/{vue-ui-age-pyramid-5Vj8AtW1.js → vue-ui-age-pyramid-BH1khaaq.js} +260 -254
  42. package/dist/vue-ui-age-pyramid-Dxx1mVwR.cjs +1 -0
  43. package/dist/{vue-ui-annotator-BmO78L3H.js → vue-ui-annotator-B9VKE_qz.js} +1 -1
  44. package/dist/{vue-ui-annotator-D8Hx1BFF.cjs → vue-ui-annotator-jXkB5XnD.cjs} +1 -1
  45. package/dist/{vue-ui-bullet-DwFD41hN.js → vue-ui-bullet-BLi9CSZw.js} +152 -146
  46. package/dist/vue-ui-bullet-QrXtipbT.cjs +34 -0
  47. package/dist/{vue-ui-candlestick-By609gwn.js → vue-ui-candlestick-Bjz1uFbv.js} +223 -217
  48. package/dist/vue-ui-candlestick-Da4ygGXR.cjs +2 -0
  49. package/dist/{vue-ui-carousel-table-wwMoteEN.js → vue-ui-carousel-table-B6zgTL-W.js} +160 -154
  50. package/dist/vue-ui-carousel-table-Cfif8Oiz.cjs +1 -0
  51. package/dist/vue-ui-chestnut-C_N7EbjQ.cjs +6 -0
  52. package/dist/{vue-ui-chestnut-hqorA5EW.js → vue-ui-chestnut-D5HpkuIa.js} +237 -231
  53. package/dist/{vue-ui-cursor-BCg5VZUb.cjs → vue-ui-cursor-A_siHYBc.cjs} +1 -1
  54. package/dist/{vue-ui-cursor-GSkn7N7Z.js → vue-ui-cursor-DZNIbvR2.js} +2 -2
  55. package/dist/{vue-ui-dashboard-Bkm9bcAc.cjs → vue-ui-dashboard-BfPJyiY9.cjs} +1 -1
  56. package/dist/{vue-ui-dashboard-DIoYWyXB.js → vue-ui-dashboard-DCqe4BZg.js} +2 -2
  57. package/dist/{vue-ui-digits-niqTltAv.js → vue-ui-digits-BEWCnojc.js} +2 -2
  58. package/dist/{vue-ui-digits-CpBBTAI9.cjs → vue-ui-digits-BEhLa3jI.cjs} +1 -1
  59. package/dist/vue-ui-donut-By3QRfkV.cjs +1 -0
  60. package/dist/{vue-ui-donut-evolution-XQp6R0e_.js → vue-ui-donut-evolution-Cu6dmlT2.js} +300 -294
  61. package/dist/vue-ui-donut-evolution-DEABWsj0.cjs +1 -0
  62. package/dist/{vue-ui-donut-DfufBrkk.js → vue-ui-donut-g5ZLhYPx.js} +376 -370
  63. package/dist/vue-ui-dumbbell-Dfb1l5qP.cjs +9 -0
  64. package/dist/{vue-ui-dumbbell-DSS8sHHU.js → vue-ui-dumbbell-bb4-Ep6o.js} +256 -250
  65. package/dist/vue-ui-flow-CCvTnu7z.cjs +1 -0
  66. package/dist/{vue-ui-flow-BBNuPVgI.js → vue-ui-flow-hD0F6mTK.js} +164 -158
  67. package/dist/vue-ui-funnel-DKxAPRi_.cjs +1 -0
  68. package/dist/{vue-ui-funnel-BDGggRXE.js → vue-ui-funnel-hcbE4yky.js} +178 -172
  69. package/dist/{vue-ui-galaxy-6Odi2CwM.js → vue-ui-galaxy-ByKjxVWV.js} +187 -181
  70. package/dist/vue-ui-galaxy-D2kmqwpI.cjs +1 -0
  71. package/dist/vue-ui-gauge-BFA_unjg.cjs +1 -0
  72. package/dist/{vue-ui-gauge-DeYvNVnR.js → vue-ui-gauge-PGirbe6O.js} +220 -214
  73. package/dist/{vue-ui-gizmo-DXQt_8D0.cjs → vue-ui-gizmo-CHMApil6.cjs} +1 -1
  74. package/dist/{vue-ui-gizmo-BcAr2dTN.js → vue-ui-gizmo-ChSfBYZ_.js} +3 -3
  75. package/dist/vue-ui-heatmap-C0VxwPhr.cjs +1 -0
  76. package/dist/{vue-ui-heatmap-Btm1mK6D.js → vue-ui-heatmap-CK3FIWpo.js} +270 -264
  77. package/dist/vue-ui-history-plot-BmGodgUx.cjs +1 -0
  78. package/dist/{vue-ui-history-plot-OY6N31Ka.js → vue-ui-history-plot-EmQ-Byiz.js} +236 -230
  79. package/dist/{vue-ui-kpi-CQIbWQMk.cjs → vue-ui-kpi-BdungaO2.cjs} +1 -1
  80. package/dist/{vue-ui-kpi-D5oNUDVm.js → vue-ui-kpi-DjC68pSz.js} +3 -3
  81. package/dist/{vue-ui-mini-loader-BjqV22Co.js → vue-ui-mini-loader-CzrblCCD.js} +2 -2
  82. package/dist/{vue-ui-mini-loader-ByDKGMAp.cjs → vue-ui-mini-loader-jwL_pZjb.cjs} +1 -1
  83. package/dist/{vue-ui-molecule-FsLf3YTj.js → vue-ui-molecule-DBQJQs4Y.js} +294 -289
  84. package/dist/vue-ui-molecule-Dzh-0SWI.cjs +1 -0
  85. package/dist/{vue-ui-mood-radar-31BX-GNG.js → vue-ui-mood-radar-Ca9wPZpJ.js} +205 -199
  86. package/dist/vue-ui-mood-radar-DV6ZZIXF.cjs +1 -0
  87. package/dist/{vue-ui-nested-donuts-BMJW2oHk.js → vue-ui-nested-donuts-C8at93dN.js} +286 -280
  88. package/dist/vue-ui-nested-donuts-DEdS6dpj.cjs +17 -0
  89. package/dist/{vue-ui-onion-BUpGgnWA.js → vue-ui-onion-B-PXxNu6.js} +198 -192
  90. package/dist/vue-ui-onion-B2ioudP5.cjs +5 -0
  91. package/dist/{vue-ui-parallel-coordinate-plot-9I00rQEM.js → vue-ui-parallel-coordinate-plot-ByM3So9k.js} +236 -230
  92. package/dist/vue-ui-parallel-coordinate-plot-DtJi9cT0.cjs +8 -0
  93. package/dist/{vue-ui-quadrant-CEmoMAL7.js → vue-ui-quadrant-BqOJBcsI.js} +255 -249
  94. package/dist/vue-ui-quadrant-CIr4i6cC.cjs +1 -0
  95. package/dist/{vue-ui-quick-chart-T_oeRTqY.js → vue-ui-quick-chart-BfXxT3KM.js} +474 -466
  96. package/dist/vue-ui-quick-chart-Bt9KA82P.cjs +15 -0
  97. package/dist/{vue-ui-radar-DG_Zir8w.js → vue-ui-radar-BKpD9xDr.js} +256 -250
  98. package/dist/vue-ui-radar-Czmsd_uv.cjs +1 -0
  99. package/dist/{vue-ui-rating-Juprijdi.cjs → vue-ui-rating-BE545aI4.cjs} +1 -1
  100. package/dist/{vue-ui-rating-gswAA28b.js → vue-ui-rating-DQRuqev5.js} +2 -2
  101. package/dist/vue-ui-relation-circle-B1uMTqFP.cjs +1 -0
  102. package/dist/vue-ui-relation-circle-nZ2nBpWX.js +498 -0
  103. package/dist/vue-ui-rings-B7JzZ3ub.cjs +2 -0
  104. package/dist/{vue-ui-rings-D3g-ORch.js → vue-ui-rings-C1PV0873.js} +177 -172
  105. package/dist/vue-ui-scatter-CTI943ks.cjs +1 -0
  106. package/dist/{vue-ui-scatter-DBO-XViT.js → vue-ui-scatter-dgs1m3-2.js} +310 -304
  107. package/dist/{vue-ui-screenshot-3MDyr6v3.cjs → vue-ui-screenshot--cHV0jG3.cjs} +1 -1
  108. package/dist/{vue-ui-screenshot-K0a-DVD6.js → vue-ui-screenshot-Dxj0l8Jg.js} +1 -1
  109. package/dist/{vue-ui-skeleton-CWjNNx-k.js → vue-ui-skeleton-Bniq21d9.js} +3 -3
  110. package/dist/{vue-ui-skeleton-DUNkS05l.cjs → vue-ui-skeleton-lkPDknHn.cjs} +1 -1
  111. package/dist/{vue-ui-smiley-Cbqg-N-L.cjs → vue-ui-smiley-CozXoiti.cjs} +1 -1
  112. package/dist/{vue-ui-smiley-MwX1c6qK.js → vue-ui-smiley-D4DAZIpA.js} +2 -2
  113. package/dist/{vue-ui-spark-trend-CN5JUPhn.cjs → vue-ui-spark-trend-CSqyvI_K.cjs} +1 -1
  114. package/dist/{vue-ui-spark-trend-D9eWTtbE.js → vue-ui-spark-trend-ZqrwhwqS.js} +5 -5
  115. package/dist/{vue-ui-sparkbar-IphZ8jXh.cjs → vue-ui-sparkbar-Bph8KIjk.cjs} +1 -1
  116. package/dist/{vue-ui-sparkbar-CPF7YNDd.js → vue-ui-sparkbar-q0G4GvFm.js} +4 -4
  117. package/dist/{vue-ui-sparkgauge-B29V7ZTv.js → vue-ui-sparkgauge-DA_h9jcN.js} +4 -4
  118. package/dist/{vue-ui-sparkgauge-BRMGqR9Z.cjs → vue-ui-sparkgauge-nSAW83dN.cjs} +1 -1
  119. package/dist/{vue-ui-sparkhistogram-BJTgOWF5.js → vue-ui-sparkhistogram-B1WyBiq_.js} +5 -5
  120. package/dist/{vue-ui-sparkhistogram-rvYaVHmw.cjs → vue-ui-sparkhistogram-BLYhRNpt.cjs} +1 -1
  121. package/dist/{vue-ui-sparkline-BI9jqI0h.cjs → vue-ui-sparkline-PNix1-R9.cjs} +1 -1
  122. package/dist/{vue-ui-sparkline-DX79otAB.js → vue-ui-sparkline-ccfl0s3m.js} +4 -4
  123. package/dist/{vue-ui-sparkstackbar-DuollcwK.cjs → vue-ui-sparkstackbar-DpuvEumy.cjs} +1 -1
  124. package/dist/{vue-ui-sparkstackbar-vP28A6AT.js → vue-ui-sparkstackbar-PNKwVRu8.js} +5 -5
  125. package/dist/{vue-ui-stackbar-DnJEgIaA.js → vue-ui-stackbar-BBYnF8qm.js} +367 -361
  126. package/dist/vue-ui-stackbar-D4AIFoQT.cjs +6 -0
  127. package/dist/vue-ui-strip-plot-ClNxSw9M.cjs +1 -0
  128. package/dist/{vue-ui-strip-plot-DqcHBwd_.js → vue-ui-strip-plot-TVlnzXFq.js} +269 -263
  129. package/dist/{vue-ui-table-BMJ0I5nr.cjs → vue-ui-table-CHdv3KuM.cjs} +1 -1
  130. package/dist/{vue-ui-table-D8cgqIJl.js → vue-ui-table-CsEajH9S.js} +1 -1
  131. package/dist/vue-ui-table-heatmap-BE3UT8U9.cjs +1 -0
  132. package/dist/vue-ui-table-heatmap-CubRipoB.js +262 -0
  133. package/dist/vue-ui-table-sparkline-BeYviUrb.cjs +1 -0
  134. package/dist/{vue-ui-table-sparkline-B_Po0RuC.js → vue-ui-table-sparkline-YV8DUOqh.js} +256 -239
  135. package/dist/vue-ui-thermometer-C6lMWRiF.cjs +1 -0
  136. package/dist/{vue-ui-thermometer-C6nfW6uY.js → vue-ui-thermometer-DmMjSLc1.js} +170 -164
  137. package/dist/{vue-ui-timer-ldINTqND.cjs → vue-ui-timer-DteYgv9y.cjs} +1 -1
  138. package/dist/{vue-ui-timer-CfwmMRdZ.js → vue-ui-timer-DvE_nqd9.js} +5 -5
  139. package/dist/vue-ui-tiremarks-CCrkDgjX.js +323 -0
  140. package/dist/vue-ui-tiremarks-PGGgsNgS.cjs +1 -0
  141. package/dist/vue-ui-treemap-BzRVKqXL.cjs +1 -0
  142. package/dist/{vue-ui-treemap-CwMnkcOi.js → vue-ui-treemap-C4A4spvg.js} +243 -237
  143. package/dist/{vue-ui-vertical-bar-BZR4YOLh.js → vue-ui-vertical-bar-8iL1xiaz.js} +238 -232
  144. package/dist/vue-ui-vertical-bar-B60lSXNq.cjs +4 -0
  145. package/dist/{vue-ui-waffle-D2BccJmB.js → vue-ui-waffle-CaYNz-Kd.js} +316 -310
  146. package/dist/vue-ui-waffle-O8pAEf4X.cjs +1 -0
  147. package/dist/vue-ui-wheel-BRR2rGou.js +305 -0
  148. package/dist/vue-ui-wheel-CnFdB_B1.cjs +1 -0
  149. package/dist/vue-ui-word-cloud-X4mp280j.cjs +1 -0
  150. package/dist/{vue-ui-word-cloud-DiG8DHOr.js → vue-ui-word-cloud-y2GGxwoq.js} +246 -240
  151. package/dist/{vue-ui-xy-DicLnkBA.js → vue-ui-xy-CXoWP8bh.js} +708 -697
  152. package/dist/vue-ui-xy-CbM75yXK.cjs +3 -0
  153. package/dist/{vue-ui-xy-canvas-D6CYL9A8.js → vue-ui-xy-canvas-D7MrUJj7.js} +334 -328
  154. package/dist/vue-ui-xy-canvas-DWvIvSry.cjs +9 -0
  155. package/package.json +1 -1
  156. package/dist/index-BHQZE19X.cjs +0 -9
  157. package/dist/vue-ui-3d-bar-BGVLnjCh.cjs +0 -19
  158. package/dist/vue-ui-age-pyramid-Cv0Rddsx.cjs +0 -1
  159. package/dist/vue-ui-bullet-C0Q2Vs5p.cjs +0 -34
  160. package/dist/vue-ui-candlestick-C7kRHFF3.cjs +0 -2
  161. package/dist/vue-ui-carousel-table-1_Hy8sGL.cjs +0 -1
  162. package/dist/vue-ui-chestnut-D3LGylRp.cjs +0 -6
  163. package/dist/vue-ui-donut-CQEOtlxM.cjs +0 -1
  164. package/dist/vue-ui-donut-evolution-Dg_XJyX8.cjs +0 -1
  165. package/dist/vue-ui-dumbbell-RAkNYRoJ.cjs +0 -9
  166. package/dist/vue-ui-flow-BUmSGSmR.cjs +0 -1
  167. package/dist/vue-ui-funnel-B9HR0owO.cjs +0 -1
  168. package/dist/vue-ui-galaxy-DmsMWB1a.cjs +0 -1
  169. package/dist/vue-ui-gauge-Dvv0v56Z.cjs +0 -1
  170. package/dist/vue-ui-heatmap-DZ02dS5q.cjs +0 -1
  171. package/dist/vue-ui-history-plot-DPQWcN0P.cjs +0 -1
  172. package/dist/vue-ui-molecule-C8O_ViVy.cjs +0 -1
  173. package/dist/vue-ui-mood-radar-4u98wGWl.cjs +0 -1
  174. package/dist/vue-ui-nested-donuts-BPc_OBoe.cjs +0 -17
  175. package/dist/vue-ui-onion-IhkIHn1A.cjs +0 -5
  176. package/dist/vue-ui-parallel-coordinate-plot-DzjggyLA.cjs +0 -8
  177. package/dist/vue-ui-quadrant-EZqQ-7Ev.cjs +0 -1
  178. package/dist/vue-ui-quick-chart-BKUUR-A1.cjs +0 -15
  179. package/dist/vue-ui-radar-QBwo6ybW.cjs +0 -1
  180. package/dist/vue-ui-relation-circle-BWX8zrfH.cjs +0 -1
  181. package/dist/vue-ui-relation-circle-DtnXrnOP.js +0 -492
  182. package/dist/vue-ui-rings-Damuv7g9.cjs +0 -2
  183. package/dist/vue-ui-scatter-RUeAe7Sx.cjs +0 -1
  184. package/dist/vue-ui-stackbar-BumFmZZF.cjs +0 -6
  185. package/dist/vue-ui-strip-plot-DupREfRd.cjs +0 -1
  186. package/dist/vue-ui-table-heatmap-D43pTFli.cjs +0 -1
  187. package/dist/vue-ui-table-heatmap-D4qeClXn.js +0 -256
  188. package/dist/vue-ui-table-sparkline-B7OPOium.cjs +0 -1
  189. package/dist/vue-ui-thermometer-CaV3JF3h.cjs +0 -1
  190. package/dist/vue-ui-tiremarks-BlyxL_IU.cjs +0 -1
  191. package/dist/vue-ui-tiremarks-iNKMnu3P.js +0 -317
  192. package/dist/vue-ui-treemap-YdRDlSHA.cjs +0 -1
  193. package/dist/vue-ui-vertical-bar-Bji3-X8i.cjs +0 -4
  194. package/dist/vue-ui-waffle-rO_LJaHR.cjs +0 -1
  195. package/dist/vue-ui-wheel-BTrpdV-C.cjs +0 -1
  196. package/dist/vue-ui-wheel-GqWFopE1.js +0 -299
  197. package/dist/vue-ui-word-cloud-DD-pKUen.cjs +0 -1
  198. package/dist/vue-ui-xy-C32KNdyx.cjs +0 -3
  199. package/dist/vue-ui-xy-canvas-9e630nJX.cjs +0 -9
@@ -0,0 +1,498 @@
1
+ import { useCssVars as Ge, computed as f, ref as u, watch as Ve, onMounted as We, onBeforeUnmount as De, openBlock as i, createElementBlock as a, normalizeStyle as C, unref as r, createBlock as F, createCommentVNode as v, createSlots as Xe, withCtx as B, renderSlot as p, normalizeProps as A, guardReactiveProps as V, normalizeClass as W, createVNode as Ye, createElementVNode as qe, Fragment as P, renderList as L, mergeProps as ge, toDisplayString as T } from "vue";
2
+ import { u as He, c as Je, t as Ke, a as Qe, p as me, b as Ze, o as et, e as pe, g as tt, X as lt, G as ke, i as D, f as X, F as Y } from "./index-BbPeL8Gp.js";
3
+ import { t as st, u as it } from "./useResponsive-CoxXLe23.js";
4
+ import { _ as at } from "./Title-aSAft5dl.js";
5
+ import { u as nt, U as rt } from "./usePrinter-DaybDVqP.js";
6
+ import ut from "./vue-ui-skeleton-Bniq21d9.js";
7
+ import { u as xe } from "./useNestedProp-BN8claGG.js";
8
+ import { _ as ot } from "./PackageVersion-CxJghxYD.js";
9
+ import { P as ct } from "./PenAndPaper-ZdZEumki.js";
10
+ import { u as dt } from "./useUserOptionState-BIvW1Kz7.js";
11
+ import { _ as vt } from "./_plugin-vue_export-helper-CHgC5LLL.js";
12
+ const yt = ["id"], ft = ["xmlns", "viewBox"], ht = ["cx", "cy", "r", "stroke", "stroke-width"], gt = { key: 0 }, mt = ["stroke", "d", "stroke-width"], pt = { style: { "pointer-events": "none" } }, kt = ["cx", "cy", "fill", "r", "stroke"], xt = ["x", "y", "fill", "font-size"], wt = { key: 1 }, bt = ["stroke", "stroke-width", "x1", "x2", "y1", "y2"], $t = { style: { "pointer-events": "none" } }, _t = ["cx", "cy", "fill", "r", "stroke"], Ct = ["x", "y", "fill", "font-size"], Pt = ["text-anchor", "transform", "x", "y", "onClick", "font-weight", "font-size", "fill"], Lt = ["cx", "cy", "fill", "stroke", "onClick", "r"], Ot = {
13
+ key: 5,
14
+ class: "vue-data-ui-watermark"
15
+ }, zt = {
16
+ __name: "vue-ui-relation-circle",
17
+ props: {
18
+ dataset: {
19
+ type: Array,
20
+ default() {
21
+ return [];
22
+ }
23
+ },
24
+ config: {
25
+ type: Object,
26
+ default() {
27
+ return {};
28
+ }
29
+ }
30
+ },
31
+ setup(we, { expose: be }) {
32
+ const k = we;
33
+ Ge((e) => ({
34
+ "530a5622": Oe.value,
35
+ 93815164: Le.value,
36
+ "361f66b0": ze.value
37
+ }));
38
+ const { vue_ui_relation_circle: $e } = He(), E = f(() => !!k.dataset && Object.keys(k.dataset).length), O = u(Je()), q = u(0), z = u(null), H = u(null), J = u(null), K = u(null), Q = u(0), l = f({
39
+ get: () => le(),
40
+ set: (e) => e
41
+ }), { userOptionsVisible: Z, setUserOptionsVisibility: ee, keepUserOptionState: te } = dt({ config: l.value });
42
+ function le() {
43
+ const e = xe({
44
+ userConfig: k.config,
45
+ defaultConfig: $e
46
+ });
47
+ return e.theme ? {
48
+ ...xe({
49
+ userConfig: Ke.vue_ui_relation_circle[e.theme] || k.config,
50
+ defaultConfig: e
51
+ }),
52
+ customPalette: Qe[e.theme] || me
53
+ } : e;
54
+ }
55
+ Ve(() => k.config, (e) => {
56
+ l.value = le(), ce(), Q.value += 1;
57
+ }, { deep: !0 });
58
+ const { isPrinting: se, isImaging: ie, generatePdf: ae, generateImage: ne } = nt({
59
+ elementId: `relation_circle_${O.value}`,
60
+ fileName: l.value.style.title.text || "vue-ui-relation-circle"
61
+ }), _e = f(() => l.value.userOptions.show && !l.value.style.title.text), re = f(() => Ze(l.value.customPalette)), w = u([]), h = u([]), o = u({}), g = u([]), Ce = u(0), N = f(() => k.dataset.slice(0, l.value.style.limit)), $ = u(l.value.style.size), m = u(l.value.style.weightLabels.size), ue = u(l.value.style.plot.radius), oe = u(l.value.style.labels.fontSize), c = u({
62
+ height: l.value.style.size,
63
+ width: l.value.style.size
64
+ }), b = f({
65
+ get() {
66
+ return $.value * l.value.style.circle.radiusProportion;
67
+ },
68
+ set(e) {
69
+ return e;
70
+ }
71
+ }), Pe = f(() => l.value.style.links.curved), Le = f(() => `${l.value.style.animation.speedMs}ms`), Oe = f(() => b.value * 2), ze = f(() => b.value * 4), I = u(null);
72
+ We(() => {
73
+ ce(), document.getElementById(`relation_circle_${O.value}`).addEventListener("click", de);
74
+ });
75
+ function ce() {
76
+ if (et(k.dataset) ? pe({
77
+ componentName: "VueUiRelationCircle",
78
+ type: "dataset"
79
+ }) : k.dataset.forEach((e, s) => {
80
+ tt({
81
+ datasetObject: e,
82
+ requiredAttributes: ["id", "label", "relations", "weights"]
83
+ }).forEach((t) => {
84
+ pe({
85
+ componentName: "VueUiRelationCircle",
86
+ type: "datasetSerieAttribute",
87
+ property: t,
88
+ index: s
89
+ });
90
+ });
91
+ }), l.value.responsive) {
92
+ const e = st(() => {
93
+ const { width: s, height: t } = it({
94
+ chart: z.value,
95
+ title: l.value.style.title.text ? H.value : null,
96
+ source: J.value,
97
+ noTitle: K.value
98
+ });
99
+ $.value = Math.min(s, t), c.value.width = s, c.value.height = t, b.value = $.value * l.value.style.circle.radiusProportion, w.value = [], h.value = [], ve(), ye(), m.value = Y({
100
+ relator: $.value,
101
+ adjuster: l.value.style.size,
102
+ source: l.value.style.weightLabels.size,
103
+ threshold: 6,
104
+ fallback: 6
105
+ }), ue.value = Y({
106
+ relator: $.value,
107
+ adjuster: l.value.style.size,
108
+ source: l.value.style.plot.radius,
109
+ threshold: 1,
110
+ fallback: 1
111
+ }), oe.value = Y({
112
+ relator: $.value,
113
+ adjuster: l.value.style.size,
114
+ source: l.value.style.labels.fontSize,
115
+ threshold: 6,
116
+ fallback: 6
117
+ });
118
+ });
119
+ I.value = new ResizeObserver(e), I.value.observe(z.value.parentNode);
120
+ } else
121
+ w.value = [], h.value = [], ve(), ye();
122
+ }
123
+ De(() => {
124
+ document.getElementById(`relation_circle_${O.value}`).removeEventListener("click", de), I.value && I.value.disconnect();
125
+ });
126
+ function de(e) {
127
+ const s = e.target;
128
+ s && Array.from(s.classList).includes("vue-ui-user-options") || s && Array.from(s.classList).includes("vue-ui-user-options-summary") || s && Array.from(s.classList).includes("vue-data-ui-button") || s && Array.from(s.classList).includes("vue-ui-relation-circle-legend") || (o.value = {}, g.value = []);
129
+ }
130
+ function ve() {
131
+ const e = 6.28319 / N.value.length, s = 360 / N.value.length;
132
+ let t = 0, n = 0;
133
+ N.value.forEach((y, d) => {
134
+ const U = y.weights.reduce((je, Ue) => je + Ue, 0), G = b.value * Math.cos(t) + c.value.width / 2, Re = b.value * Math.sin(t) + c.value.height / 2 + l.value.style.circle.offsetY;
135
+ w.value.push({ x: G, y: Re, ...y, color: y.color ? y.color : re.value[d] ? re.value[d] : me[d], regAngle: n, totalWeight: U }), t += e, n += s;
136
+ });
137
+ }
138
+ function Ae(e, s) {
139
+ const t = (e.x + s.x) / 2, n = (e.y + s.y) / 2;
140
+ return { x: t, y: n };
141
+ }
142
+ function ye() {
143
+ h.value = [], w.value.forEach((e) => {
144
+ w.value.filter((t) => t.relations.includes(e.id)).forEach((t, n) => {
145
+ const y = t.relations.indexOf(e.id);
146
+ h.value.push({
147
+ weight: t.weights[y] ? t.weights[y] : 0,
148
+ relationId: `${e.id}_${t.id}`,
149
+ x1: e.x,
150
+ y1: e.y,
151
+ x2: t.x,
152
+ y2: t.y,
153
+ colorSource: e.color,
154
+ colorTarget: t.color,
155
+ midPointLine: Ae({ x: e.x, y: e.y }, { x: t.x, y: t.y }),
156
+ midPointBezier: Ie({
157
+ x1: e.x,
158
+ x2: t.x,
159
+ y1: e.y,
160
+ y2: t.y
161
+ }),
162
+ ...e
163
+ });
164
+ });
165
+ });
166
+ }
167
+ function Ie(e) {
168
+ const s = { x: e.x1, y: e.y1 }, t = { x: e.x2, y: e.y2 }, n = { x: e.x1, y: e.y1 }, y = {
169
+ x: c.value.width / 2,
170
+ y: c.value.height / 2 + l.value.style.circle.offsetY
171
+ }, d = 0.5, U = Math.pow(1 - d, 3) * s.x + 3 * Math.pow(1 - d, 2) * d * n.x + 3 * (1 - d) * Math.pow(d, 2) * y.x + Math.pow(d, 3) * t.x, G = Math.pow(1 - d, 3) * s.y + 3 * Math.pow(1 - d, 2) * d * n.y + 3 * (1 - d) * Math.pow(d, 2) * y.y + Math.pow(d, 3) * t.y;
172
+ return { x: U, y: G };
173
+ }
174
+ const Me = f(() => Math.max(...h.value.map((e) => e.weight)));
175
+ function Se(e) {
176
+ return Object.hasOwn(o.value, "x") ? g.value.includes(e.id) ? "opacity:1" : "opacity:0.1" : "opacity:1";
177
+ }
178
+ function x(e) {
179
+ return e.colorSource;
180
+ }
181
+ function fe(e) {
182
+ return Object.hasOwn(o.value, "x") ? g.value.includes(e.id) && e.relationId === `${e.id}_${o.value.id}` || e.relationId === `${o.value.id}_${e.id}` ? `opacity:1;stroke-width:${R(e)}` : "opacity: 0" : "opacity: 1";
183
+ }
184
+ function _(e) {
185
+ return Object.hasOwn(o.value, "x") ? !!(g.value.includes(e.id) && e.relationId === `${e.id}_${o.value.id}` || e.relationId === `${o.value.id}_${e.id}`) : !1;
186
+ }
187
+ function Fe(e) {
188
+ return e.regAngle > 90 && e.regAngle < 270 ? "end" : "start";
189
+ }
190
+ function Be(e) {
191
+ return e.regAngle > 90 && e.regAngle < 270 ? e.x - 5 : e.x + 5;
192
+ }
193
+ function Te(e) {
194
+ return Object.hasOwn(o.value, "x") ? o.value.id === e.id || g.value.includes(e.id) ? "opacity:1" : "opacity:0.2" : "opacity:1";
195
+ }
196
+ function Ee(e) {
197
+ return e.regAngle > 90 && e.regAngle < 270 ? `rotate(${e.regAngle + 180},${e.x},${e.y})` : `rotate(${e.regAngle},${e.x},${e.y})`;
198
+ }
199
+ function he(e) {
200
+ Ce.value = 360 - e.regAngle, o.value.id && e.id === o.value.id ? (o.value = {}, g.value = []) : (o.value = e, g.value = [...e.relations]);
201
+ }
202
+ function R(e) {
203
+ const s = e.weight / Me.value * l.value.style.links.maxWidth;
204
+ return Math.max(0.3, s);
205
+ }
206
+ const M = u(!1);
207
+ function Ne(e) {
208
+ M.value = e, q.value += 1;
209
+ }
210
+ const S = u(!1);
211
+ function j() {
212
+ S.value = !S.value;
213
+ }
214
+ return be({
215
+ generatePdf: ae,
216
+ generateImage: ne,
217
+ toggleAnnotator: j
218
+ }), (e, s) => (i(), a("div", {
219
+ ref_key: "relationCircleChart",
220
+ ref: z,
221
+ class: "vue-ui-relation-circle",
222
+ style: C(`width:100%;background:${l.value.style.backgroundColor};text-align:center;${l.value.responsive ? "height: 100%" : ""}`),
223
+ id: `relation_circle_${O.value}`,
224
+ onMouseenter: s[0] || (s[0] = () => r(ee)(!0)),
225
+ onMouseleave: s[1] || (s[1] = () => r(ee)(!1))
226
+ }, [
227
+ l.value.userOptions.buttons.annotator ? (i(), F(ct, {
228
+ key: 0,
229
+ parent: z.value,
230
+ backgroundColor: l.value.style.backgroundColor,
231
+ color: l.value.style.color,
232
+ active: S.value,
233
+ onClose: j
234
+ }, null, 8, ["parent", "backgroundColor", "color", "active"])) : v("", !0),
235
+ _e.value ? (i(), a("div", {
236
+ key: 1,
237
+ ref_key: "noTitle",
238
+ ref: K,
239
+ class: "vue-data-ui-no-title-space",
240
+ style: "height:36px; width: 100%;background:transparent"
241
+ }, null, 512)) : v("", !0),
242
+ l.value.style.title.text ? (i(), a("div", {
243
+ key: 2,
244
+ ref_key: "chartTitle",
245
+ ref: H,
246
+ style: "width:100%;background:transparent"
247
+ }, [
248
+ (i(), F(at, {
249
+ key: `title_${Q.value}`,
250
+ config: {
251
+ title: {
252
+ cy: "relation-div-title",
253
+ ...l.value.style.title
254
+ },
255
+ subtitle: {
256
+ cy: "relation-div-subtitle",
257
+ ...l.value.style.title.subtitle
258
+ }
259
+ }
260
+ }, null, 8, ["config"]))
261
+ ], 512)) : v("", !0),
262
+ l.value.userOptions.show && E.value && (r(te) || r(Z)) ? (i(), F(rt, {
263
+ ref: "details",
264
+ key: `user_options_${q.value}`,
265
+ backgroundColor: l.value.style.backgroundColor,
266
+ color: l.value.style.color,
267
+ isPrinting: r(se),
268
+ isImaging: r(ie),
269
+ uid: O.value,
270
+ hasPdf: l.value.userOptions.buttons.pdf,
271
+ hasImg: l.value.userOptions.buttons.img,
272
+ hasFullscreen: l.value.userOptions.buttons.img,
273
+ hasXls: !1,
274
+ isFullscreen: M.value,
275
+ titles: { ...l.value.userOptions.buttonTitles },
276
+ chartElement: z.value,
277
+ position: l.value.userOptions.position,
278
+ hasAnnotator: l.value.userOptions.buttons.annotator,
279
+ isAnnotation: S.value,
280
+ onToggleFullscreen: Ne,
281
+ onGeneratePdf: r(ae),
282
+ onGenerateImage: r(ne),
283
+ onToggleAnnotator: j,
284
+ style: C({
285
+ visibility: r(te) ? r(Z) ? "visible" : "hidden" : "visible"
286
+ })
287
+ }, Xe({ _: 2 }, [
288
+ e.$slots.optionPdf ? {
289
+ name: "optionPdf",
290
+ fn: B(() => [
291
+ p(e.$slots, "optionPdf", {}, void 0, !0)
292
+ ]),
293
+ key: "0"
294
+ } : void 0,
295
+ e.$slots.optionImg ? {
296
+ name: "optionImg",
297
+ fn: B(() => [
298
+ p(e.$slots, "optionImg", {}, void 0, !0)
299
+ ]),
300
+ key: "1"
301
+ } : void 0,
302
+ e.$slots.optionFullscreen ? {
303
+ name: "optionFullscreen",
304
+ fn: B(({ toggleFullscreen: t, isFullscreen: n }) => [
305
+ p(e.$slots, "optionFullscreen", A(V({ toggleFullscreen: t, isFullscreen: n })), void 0, !0)
306
+ ]),
307
+ key: "2"
308
+ } : void 0,
309
+ e.$slots.optionAnnotator ? {
310
+ name: "optionAnnotator",
311
+ fn: B(({ toggleAnnotator: t, isAnnotator: n }) => [
312
+ p(e.$slots, "optionAnnotator", A(V({ toggleAnnotator: t, isAnnotator: n })), void 0, !0)
313
+ ]),
314
+ key: "3"
315
+ } : void 0
316
+ ]), 1032, ["backgroundColor", "color", "isPrinting", "isImaging", "uid", "hasPdf", "hasImg", "hasFullscreen", "isFullscreen", "titles", "chartElement", "position", "hasAnnotator", "isAnnotation", "onGeneratePdf", "onGenerateImage", "style"])) : v("", !0),
317
+ E.value ? (i(), a("svg", {
318
+ key: 4,
319
+ xmlns: r(lt),
320
+ class: W([{ "vue-data-ui-fullscreen--on": M.value, "vue-data-ui-fulscreen--off": !M.value }, "relation-circle"]),
321
+ viewBox: `0 0 ${c.value.width <= 0 ? 10 : c.value.width} ${c.value.height <= 0 ? 10 : c.value.height}`,
322
+ width: "100%",
323
+ style: "user-select:none; background:transparent"
324
+ }, [
325
+ Ye(ot),
326
+ qe("circle", {
327
+ cx: (c.value.width <= 0 ? 1e-4 : c.value.width) / 2,
328
+ cy: (c.value.height <= 0 ? 1e-4 : c.value.height) / 2 + l.value.style.circle.offsetY,
329
+ r: b.value <= 0 ? 1e-4 : b.value,
330
+ stroke: l.value.style.circle.stroke,
331
+ "stroke-width": l.value.style.circle.strokeWidth,
332
+ fill: "transparent",
333
+ class: "main-circle"
334
+ }, null, 8, ht),
335
+ Pe.value ? (i(), a("g", gt, [
336
+ (i(!0), a(P, null, L(h.value, (t, n) => (i(), a("path", {
337
+ key: `relation_${n}`,
338
+ style: C(fe(t)),
339
+ stroke: x(t),
340
+ class: W(["relation", { "vue-ui-relation-circle-selected": o.value.hasOwnProperty("id") && g.value.includes(t.id) }]),
341
+ d: `M${t.x1},${t.y1} C${t.x1},${t.y1} ${c.value.width / 2},${c.value.height / 2 + l.value.style.circle.offsetY} ${t.x2},${t.y2}`,
342
+ fill: "none",
343
+ "stroke-width": R(t),
344
+ "stroke-linecap": "round"
345
+ }, null, 14, mt))), 128)),
346
+ (i(!0), a(P, null, L(h.value, (t, n) => (i(), a("g", pt, [
347
+ _(t) ? p(e.$slots, "dataLabel", A(ge({ key: 0 }, {
348
+ x: t.midPointBezier.x,
349
+ y: t.midPointBezier.y,
350
+ color: x(t),
351
+ weight: t.weight,
352
+ fontSize: m.value
353
+ })), void 0, !0) : v("", !0),
354
+ _(t) && !e.$slots.dataLabel ? (i(), a("circle", {
355
+ key: 1,
356
+ cx: t.midPointBezier.x,
357
+ cy: t.midPointBezier.y,
358
+ fill: x(t),
359
+ r: m.value,
360
+ stroke: l.value.style.backgroundColor,
361
+ "stroke-width": "1"
362
+ }, null, 8, kt)) : v("", !0),
363
+ _(t) && !e.$slots.dataLabel ? (i(), a("text", {
364
+ key: 2,
365
+ x: t.midPointBezier.x,
366
+ y: t.midPointBezier.y + m.value / 3,
367
+ fill: r(ke)(x(t)),
368
+ "text-anchor": "middle",
369
+ "font-size": m.value
370
+ }, T(r(D)(
371
+ l.value.style.weightLabels.formatter,
372
+ t.weight,
373
+ r(X)({
374
+ p: l.value.style.weightLabels.prefix,
375
+ v: t.weight,
376
+ s: l.value.style.weightLabels.suffix,
377
+ r: l.value.style.weightLabels.rounding
378
+ }),
379
+ { ...t }
380
+ )), 9, xt)) : v("", !0)
381
+ ]))), 256))
382
+ ])) : (i(), a("g", wt, [
383
+ (i(!0), a(P, null, L(h.value, (t, n) => (i(), a("line", {
384
+ key: `relation_${n}`,
385
+ stroke: x(t),
386
+ "stroke-width": R(t),
387
+ style: C(fe(t)),
388
+ x1: t.x1,
389
+ x2: t.x2,
390
+ y1: t.y1,
391
+ y2: t.y2,
392
+ class: W({ "vue-ui-relation-circle-selected": o.value.hasOwnProperty("id") && g.value.includes(t.id) }),
393
+ "stroke-linecap": "round"
394
+ }, null, 14, bt))), 128)),
395
+ (i(!0), a(P, null, L(h.value, (t, n) => (i(), a("g", $t, [
396
+ _(t) ? p(e.$slots, "dataLabel", A(ge({ key: 0 }, {
397
+ x: t.midPointLine.x,
398
+ y: t.midPointLine.y,
399
+ color: x(t),
400
+ weight: t.weight,
401
+ fontSize: m.value
402
+ })), void 0, !0) : v("", !0),
403
+ _(t) && !e.$slots.dataLabel && l.value.style.weightLabels.show ? (i(), a("circle", {
404
+ key: 1,
405
+ cx: t.midPointLine.x,
406
+ cy: t.midPointLine.y,
407
+ fill: x(t),
408
+ r: m.value,
409
+ stroke: l.value.style.backgroundColor,
410
+ "stroke-width": "1"
411
+ }, null, 8, _t)) : v("", !0),
412
+ _(t) && !e.$slots.dataLabel && l.value.style.weightLabels.show ? (i(), a("text", {
413
+ key: 2,
414
+ x: t.midPointLine.x,
415
+ y: t.midPointLine.y + m.value / 3,
416
+ fill: r(ke)(x(t)),
417
+ "text-anchor": "middle",
418
+ "font-size": m.value
419
+ }, T(r(D)(
420
+ l.value.style.weightLabels.formatter,
421
+ t.weight,
422
+ r(X)({
423
+ p: l.value.style.weightLabels.prefix,
424
+ v: t.weight,
425
+ s: l.value.style.weightLabels.suffix,
426
+ r: l.value.style.weightLabels.rounding
427
+ }),
428
+ { ...t }
429
+ )), 9, Ct)) : v("", !0)
430
+ ]))), 256))
431
+ ])),
432
+ (i(!0), a(P, null, L(w.value, (t, n) => (i(), a("text", {
433
+ key: `plot_text_${n}`,
434
+ "text-anchor": Fe(t),
435
+ transform: Ee(t),
436
+ x: Be(t),
437
+ y: t.y + 5,
438
+ onClick: (y) => he(t),
439
+ class: "vue-ui-relation-circle-legend",
440
+ "transform-origin": "start",
441
+ "font-weight": o.value.id === t.id ? "900" : "400",
442
+ style: C(`font-family:${l.value.style.fontFamily};${Te(t)}`),
443
+ "font-size": oe.value,
444
+ fill: l.value.style.labels.color
445
+ }, T(t.label) + " (" + T(r(D)(
446
+ l.value.style.weightLabels.formatter,
447
+ t.totalWeight,
448
+ r(X)({
449
+ p: l.value.style.weightLabels.prefix,
450
+ v: t.totalWeight,
451
+ s: l.value.style.weightLabels.suffix,
452
+ r: l.value.style.weightLabels.rounding
453
+ }),
454
+ { ...t }
455
+ )) + ") ", 13, Pt))), 128)),
456
+ (i(!0), a(P, null, L(w.value, (t, n) => (i(), a("circle", {
457
+ cx: t.x,
458
+ cy: t.y,
459
+ key: `plot_${n}`,
460
+ style: C(Se(t)),
461
+ class: "vue-ui-relation-circle-plot",
462
+ fill: l.value.style.plot.useSerieColor ? t.color : l.value.style.plot.color,
463
+ stroke: l.value.style.backgroundColor,
464
+ "stroke-width": "1",
465
+ onClick: (y) => he(t),
466
+ r: ue.value
467
+ }, null, 12, Lt))), 128)),
468
+ p(e.$slots, "svg", { svg: c.value }, void 0, !0)
469
+ ], 10, ft)) : v("", !0),
470
+ e.$slots.watermark ? (i(), a("div", Ot, [
471
+ p(e.$slots, "watermark", A(V({ isPrinting: r(se) || r(ie) })), void 0, !0)
472
+ ])) : v("", !0),
473
+ e.$slots.source ? (i(), a("div", {
474
+ key: 6,
475
+ ref_key: "source",
476
+ ref: J,
477
+ dir: "auto"
478
+ }, [
479
+ p(e.$slots, "source", {}, void 0, !0)
480
+ ], 512)) : v("", !0),
481
+ E.value ? v("", !0) : (i(), F(ut, {
482
+ key: 7,
483
+ config: {
484
+ type: "relationCircle",
485
+ style: {
486
+ backgroundColor: l.value.style.backgroundColor,
487
+ relationCircle: {
488
+ color: "#CCCCCC"
489
+ }
490
+ }
491
+ }
492
+ }, null, 8, ["config"]))
493
+ ], 44, yt));
494
+ }
495
+ }, Ut = /* @__PURE__ */ vt(zt, [["__scopeId", "data-v-0954f883"]]);
496
+ export {
497
+ Ut as default
498
+ };
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),r=require("./index-DhDYBLBe.cjs"),le=require("./useResponsive-BJ7DTGpm.cjs"),ye=require("./Title-Bk_55doC.cjs"),oe=require("./usePrinter-2_QjJFdH.cjs"),be=require("./Tooltip-G7ENx87_.cjs"),ke=require("./DataTable-G3ICK-5h.cjs"),Ce=require("./Legend-BiuPlEMg.cjs"),we=require("./vue-ui-skeleton-lkPDknHn.cjs"),Te=require("./vue-ui-accordion-B7tNzRWB.cjs"),ae=require("./useNestedProp-BphUExEh.cjs"),xe=require("./PackageVersion-Bj34UNnQ.cjs"),Ne=require("./PenAndPaper-D9yQnc0e.cjs"),$e=require("./useUserOptionState-BgepsfED.cjs"),Se=require("./_plugin-vue_export-helper-BHFhmbuH.cjs"),Be=["id"],Pe=["xmlns","viewBox"],_e=["id"],Ve=["stop-color"],Le=["stop-color"],Oe=["stroke","cx","cy","r","fill"],Ee=["stroke","stroke-width","cx","cy","r","fill"],ze=["cx","cy","r","onMouseenter"],Ae={key:5,class:"vue-data-ui-watermark"},Fe=["onClick"],Ie={key:0},Re={key:1},Me=["innerHTML"],qe={__name:"vue-ui-rings",props:{config:{type:Object,default(){return{}}},dataset:{type:Array,default(){return[]}}},emits:["selectLegend"],setup(re,{expose:ne,emit:ue}){const v=re,{vue_ui_rings:se}=r.useConfig(),k=e.ref(!1),T=e.computed(()=>!!v.dataset&&v.dataset.length),C=e.ref(r.createUid()),ie=e.ref(null),x=e.ref(!1),P=e.ref(""),m=e.ref(null),O=e.ref(0),y=e.ref(null),E=e.ref(null),z=e.ref(null),A=e.ref(null),F=e.ref(null),I=e.ref(0),R=e.ref(0),M=e.ref(0),t=e.computed({get:()=>H(),set:l=>l}),{userOptionsVisible:q,setUserOptionsVisibility:U,keepUserOptionState:D}=$e.useUserOptionState({config:t.value});function H(){const l=ae.useNestedProp({userConfig:v.config,defaultConfig:se});return l.theme?{...ae.useNestedProp({userConfig:r.themes.vue_ui_rings[l.theme]||v.config,defaultConfig:l}),customPalette:r.themePalettes[l.theme]||r.palette}:l}e.watch(()=>v.config,l=>{t.value=H(),W(),I.value+=1,R.value+=1,M.value+=1},{deep:!0});const N=e.ref(null);e.onMounted(()=>{W()});function W(){if(r.objectIsEmpty(v.dataset)?r.error({componentName:"VueUiRings",type:"dataset"}):v.dataset.forEach((l,a)=>{l.values.length||r.error({componentName:"VueUiRings",type:"dataset"}),r.getMissingDatasetAttributes({datasetObject:l,requiredAttributes:["name","values"]}).forEach(o=>{r.error({componentName:"VueUiRings",type:"datasetSerieAttribute",property:o,index:a})})}),t.value.responsive){const l=le.throttle(()=>{const{width:a,height:o}=le.useResponsive({chart:y.value,title:t.value.style.chart.title.text?E.value:null,legend:t.value.style.chart.legend.show?z.value:null,source:A.value,noTitle:F.value});s.value.width=a,s.value.height=o});N.value=new ResizeObserver(l),N.value.observe(y.value.parentNode)}setTimeout(()=>{k.value=!0},600)}e.onBeforeUnmount(()=>{N.value&&N.value.disconnect()});const{isPrinting:G,isImaging:j,generatePdf:X,generateImage:Y}=oe.usePrinter({elementId:`rings_${C.value}`,fileName:t.value.style.chart.title.text||"vue-ui-rings"}),ce=e.computed(()=>t.value.userOptions.show&&!t.value.style.chart.title.text),J=e.computed(()=>r.convertCustomPalette(t.value.customPalette)),f=e.ref({showTable:t.value.table.show,showTooltip:t.value.style.chart.tooltip.show}),s=e.ref({height:360,width:360}),de=e.computed(()=>Math.min(s.value.height,s.value.width)),i=e.ref([]);function _(l){i.value.includes(l)?i.value=i.value.filter(a=>a!==l):i.value.push(l),ue("selectLegend",c.value.map(a=>({name:a.name,color:a.color,value:a.value})))}const ve=e.computed(()=>Math.max(...$.value.filter(l=>!i.value.includes(l.uid)).map(({value:l})=>l)));function K(l){return l/ve.value}const $=e.computed(()=>v.dataset.map(({values:l,name:a,color:o=null},n)=>{const u=r.sanitizeArray(l).reduce((h,w)=>h+w,0);return{name:a,color:o||r.convertColorToHex(o)||J.value[n]||r.palette[n]||r.palette[n%r.palette.length],value:u,proportion:u/v.dataset.map(h=>(h.values||[]).reduce((w,me)=>w+me,0)).reduce((h,w)=>h+w,0),uid:r.createUid()}})),Q=e.computed(()=>$.value.map(l=>({...l,shape:"circle",opacity:i.value.includes(l.uid)?.5:1,segregate:()=>_(l.uid),isSegregated:i.value.includes(l.uid)})).toSorted((l,a)=>a.value-l.value)),pe=e.computed(()=>({cy:"rings-div-legend",backgroundColor:t.value.style.chart.legend.backgroundColor,color:t.value.style.chart.legend.color,fontSize:t.value.style.chart.legend.fontSize,paddingBottom:12,fontWeight:t.value.style.chart.legend.bold?"bold":""})),p=e.computed(()=>$.value.filter(l=>!i.value.includes(l.uid)).map(({value:l})=>l).reduce((l,a)=>l+a,0)),c=e.computed(()=>$.value.filter(l=>!i.value.includes(l.uid)).map(({name:l,value:a,color:o=null,uid:n},u)=>({uid:n,name:l,color:o||r.convertColorToHex(o)||J.value[u]||r.palette[u]||r.palette[u%r.palette.length],value:a,proportion:K(a),percentage:a/p.value*100,strokeWidth:t.value.style.chart.layout.rings.strokeWidth*K(a)})).toSorted((l,a)=>a.value-l.value));function he(){return c.value.map(({name:l,color:a,value:o,absoluteValues:n,percentage:u})=>({name:l,color:a,value:o,absoluteValues:n,percentage:u}))}const d=e.computed(()=>de.value-t.value.style.chart.layout.rings.strokeWidth*2),V=e.ref(null);function fe(l,a){if(i.value.length===v.dataset.length)return;V.value={datapoint:a,seriesIndex:l,series:c.value,config:t.value},m.value=l;const o=c.value[l],n=t.value.style.chart.tooltip.customFormat;if(r.isFunction(n)&&r.functionReturnsString(()=>n({seriesIndex:l,datapoint:a,series:c.value,config:t.value})))P.value=n({seriesIndex:l,datapoint:a,series:c.value,config:t.value});else{let u="";u+=`<div style="width:100%;text-align:center;border-bottom:1px solid ${t.value.style.chart.tooltip.borderColor};padding-bottom:6px;margin-bottom:3px;">${o.name}</div>`,u+=`<div style="display:flex;flex-direction:row;gap:6px;align-items:center;"><svg viewBox="0 0 12 12" height="14" width="14"><circle cx="6" cy="6" r="6" stroke="none" fill="${o.color}" /></svg>`,t.value.style.chart.tooltip.showValue&&(u+=`<b>${r.applyDataLabel(t.value.style.chart.layout.labels.dataLabels.formatter,o.value,r.dataLabel({p:t.value.style.chart.layout.labels.dataLabels.prefix,v:o.value,s:t.value.style.chart.layout.labels.dataLabels.suffix,r:t.value.style.chart.tooltip.roundingValue}),{datapoint:a,seriesIndex:l})}
2
+ </b>`),t.value.style.chart.tooltip.showPercentage&&(t.value.style.chart.tooltip.showValue?u+=`<span>(${r.dataLabel({v:o.value/p.value*100,s:"%",r:t.value.style.chart.tooltip.roundingPercentage})})</span></div>`:u+=`<b>${r.dataLabel({v:o.value/p.value*100,s:"%",r:t.value.style.chart.tooltip.roundingPercentage})}</b></div>`),P.value=u}x.value=!0}const g=e.computed(()=>{const l=c.value.map(o=>({name:o.name,color:o.color})),a=c.value.map(o=>o.value);return{head:l,body:a}}),S=e.computed(()=>{const l=[' <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path stroke="none" d="M0 0h24v24H0z" fill="none"/><path d="M18 16v2a1 1 0 0 1 -1 1h-11l6 -7l-6 -7h11a1 1 0 0 1 1 1v2" /></svg>',r.dataLabel({p:t.value.style.chart.layout.labels.dataLabels.prefix,v:p.value,s:t.value.style.chart.layout.labels.dataLabels.suffix,r:t.value.table.td.roundingValue}),"100%"],a=g.value.head.map((u,h)=>[{color:u.color,name:u.name},r.dataLabel({p:t.value.style.chart.layout.labels.dataLabels.prefix,v:g.value.body[h],s:t.value.style.chart.layout.labels.dataLabels.suffix,r:t.value.table.td.roundingValue}),isNaN(g.value.body[h]/p.value)?"-":(g.value.body[h]/p.value*100).toFixed(t.value.table.td.roundingPercentage)+"%"]),o={th:{backgroundColor:t.value.table.th.backgroundColor,color:t.value.table.th.color,outline:t.value.table.th.outline},td:{backgroundColor:t.value.table.td.backgroundColor,color:t.value.table.td.color,outline:t.value.table.td.outline},breakpoint:t.value.table.responsiveBreakpoint},n=[t.value.table.columnNames.series,t.value.table.columnNames.value,t.value.table.columnNames.percentage];return{head:l,body:a,config:o,colNames:n}});function Z(){e.nextTick(()=>{const l=g.value.head.map((n,u)=>[[n.name],[g.value.body[u]],[isNaN(g.value.body[u]/p.value)?"-":g.value.body[u]/p.value*100]]),a=[[t.value.style.chart.title.text],[t.value.style.chart.title.subtitle.text],[[""],["val"],["%"]]].concat(l),o=r.createCsvContent(a);r.downloadCsv({csvContent:o,title:t.value.style.chart.title.text||"vue-ui-rings"})})}const b=e.ref(!1);function ge(l){b.value=l,O.value+=1}function ee(){f.value.showTable=!f.value.showTable}function te(){f.value.showTooltip=!f.value.showTooltip}const B=e.ref(!1);function L(){B.value=!B.value}return ne({getData:he,generatePdf:X,generateCsv:Z,generateImage:Y,toggleTable:ee,toggleTooltip:te,toggleAnnotator:L}),(l,a)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"ringsChart",ref:y,class:e.normalizeClass(`vue-ui-rings ${b.value?"vue-data-ui-wrapper-fullscreen":""} ${t.value.useCssAnimation?"":"vue-ui-dna"}`),style:e.normalizeStyle(`font-family:${t.value.style.fontFamily};text-align:center;width:100%;background:${t.value.style.chart.backgroundColor};${t.value.responsive?"height: 100%":""}`),id:`rings_${C.value}`,onMouseleave:a[3]||(a[3]=o=>{m.value=null,x.value=!1,e.unref(U)(!1)}),onMouseenter:a[4]||(a[4]=()=>e.unref(U)(!0))},[t.value.userOptions.buttons.annotator?(e.openBlock(),e.createBlock(Ne.PenAndPaper,{key:0,parent:y.value,backgroundColor:t.value.style.chart.backgroundColor,color:t.value.style.chart.color,active:B.value,onClose:L},null,8,["parent","backgroundColor","color","active"])):e.createCommentVNode("",!0),ce.value?(e.openBlock(),e.createElementBlock("div",{key:1,ref_key:"noTitle",ref:F,class:"vue-data-ui-no-title-space",style:"height:36px; width: 100%;background:transparent"},null,512)):e.createCommentVNode("",!0),t.value.style.chart.title.text?(e.openBlock(),e.createElementBlock("div",{key:2,ref_key:"chartTitle",ref:E,style:"width:100%;background:transparent"},[(e.openBlock(),e.createBlock(ye._sfc_main,{key:`title_${I.value}`,config:{title:{cy:"rings-div-title",...t.value.style.chart.title},subtitle:{cy:"rings-div-subtitle",...t.value.style.chart.title.subtitle}}},null,8,["config"]))],512)):e.createCommentVNode("",!0),t.value.userOptions.show&&T.value&&(e.unref(D)||e.unref(q))?(e.openBlock(),e.createBlock(oe.UserOptions,{ref_key:"details",ref:ie,key:`user_options_${O.value}`,backgroundColor:t.value.style.chart.backgroundColor,color:t.value.style.chart.color,isPrinting:e.unref(G),isImaging:e.unref(j),uid:C.value,hasTooltip:t.value.userOptions.buttons.tooltip&&t.value.style.chart.tooltip.show,hasPdf:t.value.userOptions.buttons.pdf,hasXls:t.value.userOptions.buttons.csv,hasImg:t.value.userOptions.buttons.img,hasTable:t.value.userOptions.buttons.table,hasFullscreen:t.value.userOptions.buttons.fullscreen,isTooltip:f.value.showTooltip,isFullscreen:b.value,titles:{...t.value.userOptions.buttonTitles},chartElement:y.value,position:t.value.userOptions.position,hasAnnotator:t.value.userOptions.buttons.annotator,isAnnotation:B.value,onToggleFullscreen:ge,onGeneratePdf:e.unref(X),onGenerateCsv:Z,onGenerateImage:e.unref(Y),onToggleTable:ee,onToggleTooltip:te,onToggleAnnotator:L,style:e.normalizeStyle({visibility:e.unref(D)?e.unref(q)?"visible":"hidden":"visible"})},e.createSlots({_:2},[l.$slots.optionTooltip?{name:"optionTooltip",fn:e.withCtx(()=>[e.renderSlot(l.$slots,"optionTooltip",{},void 0,!0)]),key:"0"}:void 0,l.$slots.optionPdf?{name:"optionPdf",fn:e.withCtx(()=>[e.renderSlot(l.$slots,"optionPdf",{},void 0,!0)]),key:"1"}:void 0,l.$slots.optionCsv?{name:"optionCsv",fn:e.withCtx(()=>[e.renderSlot(l.$slots,"optionCsv",{},void 0,!0)]),key:"2"}:void 0,l.$slots.optionImg?{name:"optionImg",fn:e.withCtx(()=>[e.renderSlot(l.$slots,"optionImg",{},void 0,!0)]),key:"3"}:void 0,l.$slots.optionTable?{name:"optionTable",fn:e.withCtx(()=>[e.renderSlot(l.$slots,"optionTable",{},void 0,!0)]),key:"4"}:void 0,l.$slots.optionFullscreen?{name:"optionFullscreen",fn:e.withCtx(({toggleFullscreen:o,isFullscreen:n})=>[e.renderSlot(l.$slots,"optionFullscreen",e.normalizeProps(e.guardReactiveProps({toggleFullscreen:o,isFullscreen:n})),void 0,!0)]),key:"5"}:void 0,l.$slots.optionAnnotator?{name:"optionAnnotator",fn:e.withCtx(({toggleAnnotator:o,isAnnotator:n})=>[e.renderSlot(l.$slots,"optionAnnotator",e.normalizeProps(e.guardReactiveProps({toggleAnnotator:o,isAnnotator:n})),void 0,!0)]),key:"6"}:void 0]),1032,["backgroundColor","color","isPrinting","isImaging","uid","hasTooltip","hasPdf","hasXls","hasImg","hasTable","hasFullscreen","isTooltip","isFullscreen","titles","chartElement","position","hasAnnotator","isAnnotation","onGeneratePdf","onGenerateImage","style"])):e.createCommentVNode("",!0),T.value?(e.openBlock(),e.createElementBlock("svg",{key:4,xmlns:e.unref(r.XMLNS),class:e.normalizeClass({"vue-data-ui-fullscreen--on":b.value,"vue-data-ui-fulscreen--off":!b.value}),viewBox:`0 0 ${s.value.width<=0?10:s.value.width} ${s.value.height<=0?10:s.value.height}`,style:e.normalizeStyle(`max-width:100%;overflow:visible;background:transparent;color:${t.value.style.chart.color}`)},[e.createVNode(xe._sfc_main),e.createElementVNode("defs",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(c.value,(o,n)=>(e.openBlock(),e.createElementBlock("radialGradient",{cx:"50%",cy:"30%",r:"50%",fx:"50%",fy:"50%",id:`gradient_${C.value}_${n}`},[e.createElementVNode("stop",{offset:"0%","stop-color":e.unref(r.setOpacity)(e.unref(r.shiftHue)(o.color,.05),100-t.value.style.chart.layout.rings.gradient.intensity)},null,8,Ve),e.createElementVNode("stop",{offset:"100%","stop-color":o.color},null,8,Le)],8,_e))),256))]),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(c.value,(o,n)=>(e.openBlock(),e.createElementBlock("g",null,[e.createElementVNode("circle",{class:e.normalizeClass({"vue-ui-rings-item":k.value&&t.value.useCssAnimation,"vue-rings-item-onload":!k.value&&t.value.useCssAnimation,"vue-ui-rings-opacity":m.value!==null&&m.value!==n}),style:e.normalizeStyle(`animation-delay:${n*100}ms`),stroke:t.value.style.chart.layout.rings.stroke,cx:s.value.width/2,cy:n===0?s.value.height/2:s.value.height/2+d.value*c.value[0].proportion/2-d.value*o.proportion/2-2*(n+1),r:e.unref(r.checkNaN)(d.value*o.proportion/2*.9<=0?1e-4:d.value*o.proportion/2*.9),fill:t.value.style.chart.layout.rings.gradient.underlayerColor},null,14,Oe),e.createElementVNode("circle",{class:e.normalizeClass({"vue-ui-rings-item":k.value&&t.value.useCssAnimation,"vue-rings-item-onload":!k.value&&t.value.useCssAnimation,"vue-ui-rings-shadow":t.value.style.chart.layout.rings.useShadow,"vue-ui-rings-blur":m.value!==null&&m.value!==n}),style:e.normalizeStyle(`animation-delay:${n*100}ms`),stroke:t.value.style.chart.layout.rings.stroke,"stroke-width":o.strokeWidth<.5?.5:o.strokeWidth,cx:s.value.width/2,cy:n===0?s.value.height/2:s.value.height/2+d.value*c.value[0].proportion/2-d.value*o.proportion/2-2*(n+1),r:e.unref(r.checkNaN)(d.value*o.proportion/2*.9<=0?1e-4:d.value*o.proportion/2*.9),fill:t.value.style.chart.layout.rings.gradient.show?`url(#gradient_${C.value}_${n})`:o.color},null,14,Ee),e.createElementVNode("circle",{"data-cy-trap":"",stroke:"none",cx:s.value.width/2,cy:n===0?s.value.height/2:s.value.height/2+d.value*c.value[0].proportion/2-d.value*o.proportion/2-2*(n+1),r:e.unref(r.checkNaN)(d.value*o.proportion/2*.9<=0?1e-4:d.value*o.proportion/2*.9),fill:"transparent",onMouseenter:u=>fe(n,o),onMouseleave:a[0]||(a[0]=u=>{m.value=null,x.value=!1})},null,40,ze)]))),256)),e.renderSlot(l.$slots,"svg",{svg:s.value},void 0,!0)],14,Pe)):e.createCommentVNode("",!0),l.$slots.watermark?(e.openBlock(),e.createElementBlock("div",Ae,[e.renderSlot(l.$slots,"watermark",e.normalizeProps(e.guardReactiveProps({isPrinting:e.unref(G)||e.unref(j)})),void 0,!0)])):e.createCommentVNode("",!0),T.value?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(we.default,{key:6,config:{type:"rings",style:{backgroundColor:t.value.style.chart.backgroundColor,rings:{color:"#CCCCCC"}}}},null,8,["config"])),e.createElementVNode("div",{ref_key:"chartLegend",ref:z},[t.value.style.chart.legend.show?(e.openBlock(),e.createBlock(Ce.Legend,{key:`legend_${M.value}`,legendSet:Q.value,config:pe.value,onClickMarker:a[1]||(a[1]=({legend:o})=>_(o.uid))},{item:e.withCtx(({legend:o,index:n})=>[e.createElementVNode("div",{"data-cy-legend-item":"",onClick:u=>_(o.uid),style:e.normalizeStyle(`opacity:${i.value.includes(o.uid)?.5:1}`)},[e.createTextVNode(e.toDisplayString(o.name)+": "+e.toDisplayString(e.unref(r.applyDataLabel)(t.value.style.chart.layout.labels.dataLabels.formatter,o.value,e.unref(r.dataLabel)({p:t.value.style.chart.layout.labels.dataLabels.prefix,v:o.value,s:t.value.style.chart.layout.labels.dataLabels.suffix,r:t.value.style.chart.legend.roundingValue}),{datapoint:o,seriesIndex:n}))+" ",1),i.value.includes(o.uid)?(e.openBlock(),e.createElementBlock("span",Re," ( - % ) ")):(e.openBlock(),e.createElementBlock("span",Ie," ("+e.toDisplayString(isNaN(o.value/p.value)?"-":e.unref(r.dataLabel)({v:o.value/p.value*100,s:"%",r:t.value.style.chart.legend.roundingPercentage}))+") ",1))],12,Fe)]),_:1},8,["legendSet","config"])):e.renderSlot(l.$slots,"legend",{key:1,legend:Q.value},void 0,!0)],512),l.$slots.source?(e.openBlock(),e.createElementBlock("div",{key:7,ref_key:"source",ref:A,dir:"auto"},[e.renderSlot(l.$slots,"source",{},void 0,!0)],512)):e.createCommentVNode("",!0),e.createVNode(be._sfc_main,{show:f.value.showTooltip&&x.value&&i.value.length<v.dataset.length,backgroundColor:t.value.style.chart.tooltip.backgroundColor,color:t.value.style.chart.tooltip.color,borderRadius:t.value.style.chart.tooltip.borderRadius,borderColor:t.value.style.chart.tooltip.borderColor,borderWidth:t.value.style.chart.tooltip.borderWidth,fontSize:t.value.style.chart.tooltip.fontSize,backgroundOpacity:t.value.style.chart.tooltip.backgroundOpacity,position:t.value.style.chart.tooltip.position,offsetY:t.value.style.chart.tooltip.offsetY,parent:y.value,content:P.value,isFullscreen:b.value,isCustom:t.value.style.chart.tooltip.customFormat&&typeof t.value.style.chart.tooltip.customFormat=="function"},{"tooltip-before":e.withCtx(()=>[e.renderSlot(l.$slots,"tooltip-before",e.normalizeProps(e.guardReactiveProps({...V.value})),void 0,!0)]),"tooltip-after":e.withCtx(()=>[e.renderSlot(l.$slots,"tooltip-after",e.normalizeProps(e.guardReactiveProps({...V.value})),void 0,!0)]),_:3},8,["show","backgroundColor","color","borderRadius","borderColor","borderWidth","fontSize","backgroundOpacity","position","offsetY","parent","content","isFullscreen","isCustom"]),T.value?(e.openBlock(),e.createBlock(Te.default,{key:8,hideDetails:"",config:{open:f.value.showTable,maxHeight:1e4,body:{backgroundColor:t.value.style.chart.backgroundColor,color:t.value.style.chart.color},head:{backgroundColor:t.value.style.chart.backgroundColor,color:t.value.style.chart.color}}},{content:e.withCtx(()=>[(e.openBlock(),e.createBlock(ke.DataTable,{key:`table_${R.value}`,colNames:S.value.colNames,head:S.value.head,body:S.value.body,config:S.value.config,title:`${t.value.style.chart.title.text}${t.value.style.chart.title.subtitle.text?` : ${t.value.style.chart.title.subtitle.text}`:""}`,onClose:a[2]||(a[2]=o=>f.value.showTable=!1)},{th:e.withCtx(({th:o})=>[e.createElementVNode("div",{innerHTML:o,style:{display:"flex","align-items":"center"}},null,8,Me)]),td:e.withCtx(({td:o})=>[e.createTextVNode(e.toDisplayString(o.name||o),1)]),_:1},8,["colNames","head","body","config","title"]))]),_:1},8,["config"])):e.createCommentVNode("",!0)],46,Be))}},Ue=Se._export_sfc(qe,[["__scopeId","data-v-fd609855"]]);exports.default=Ue;