vue-data-ui 3.27.1 → 3.28.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 (261) hide show
  1. package/README.md +49 -41
  2. package/dist/{Arrow-C2W0uGrq.js → Arrow-D6OAn5rm.js} +1 -1
  3. package/dist/{BaseDraggableDialog-D_tuHEjO.js → BaseDraggableDialog-Bw_azO0n.js} +1 -1
  4. package/dist/BaseIcon-DDctLkeT.js +1 -0
  5. package/dist/{BaseLegendToggle-Bq5FjyuI.js → BaseLegendToggle-BOcw1ke8.js} +1 -1
  6. package/dist/BaseZoomControls-Cq5AOHQ0.js +1 -0
  7. package/dist/{ColorPicker-MLwiwxl5.js → ColorPicker-DHQvvLT9.js} +1 -1
  8. package/dist/DataTable-BcVZLSs8.js +1 -0
  9. package/dist/{HillActions-CHg1AQ3p.js → HillActions-Bq3UJ1Ut.js} +1 -1
  10. package/dist/{Legend-D8YoT1RJ.js → Legend-D8NunRPr.js} +1 -1
  11. package/dist/{NonSvgPenAndPaper-CqtJpZKh.js → NonSvgPenAndPaper-CxQZ0YED.js} +1 -1
  12. package/dist/{PackageVersion-CdkxOy58.js → PackageVersion-ATrKWi8V.js} +1 -1
  13. package/dist/{PenAndPaper-IMw576MC.js → PenAndPaper-BsBFp16i.js} +1 -1
  14. package/dist/{Shape-Bp9YNtPc.js → Shape-gDVRWM6n.js} +1 -1
  15. package/dist/SlicerPreview-Dpu4nMz6.js +1 -0
  16. package/dist/{SparkTooltip-C5JMcBXT.js → SparkTooltip-cWKhrsKX.js} +1 -1
  17. package/dist/{Title-BGYFqulv.js → Title-BLA0tM3g.js} +1 -1
  18. package/dist/{Tooltip-Cus2-XNQ.js → Tooltip-Iyb_S6oQ.js} +1 -1
  19. package/dist/UserOptions-BSJ_S_us.js +1 -0
  20. package/dist/{chartImage-CIvU_04o.js → chartImage-r-G4CkRK.js} +1 -1
  21. package/dist/components/arrow.js +1 -1
  22. package/dist/components/vue-ui-3d-bar.js +1 -1
  23. package/dist/components/vue-ui-accordion.js +1 -1
  24. package/dist/components/vue-ui-age-pyramid.js +1 -1
  25. package/dist/components/vue-ui-annotator.js +1 -1
  26. package/dist/components/vue-ui-bullet.js +1 -1
  27. package/dist/components/vue-ui-bump.js +1 -1
  28. package/dist/components/vue-ui-candlestick.js +1 -1
  29. package/dist/components/vue-ui-carousel-table.js +1 -1
  30. package/dist/components/vue-ui-chestnut.js +1 -1
  31. package/dist/components/vue-ui-chord.js +1 -1
  32. package/dist/components/vue-ui-circle-pack.js +1 -1
  33. package/dist/components/vue-ui-cursor.js +1 -1
  34. package/dist/components/vue-ui-dag.js +1 -1
  35. package/dist/components/vue-ui-dashboard.js +1 -1
  36. package/dist/components/vue-ui-digits.js +1 -1
  37. package/dist/components/vue-ui-donut-evolution.js +1 -1
  38. package/dist/components/vue-ui-donut.js +1 -1
  39. package/dist/components/vue-ui-dumbbell.js +1 -1
  40. package/dist/components/vue-ui-flow.js +1 -1
  41. package/dist/components/vue-ui-funnel.js +1 -1
  42. package/dist/components/vue-ui-galaxy.js +1 -1
  43. package/dist/components/vue-ui-gauge.js +1 -1
  44. package/dist/components/vue-ui-geo.js +1 -1
  45. package/dist/components/vue-ui-gizmo.js +1 -1
  46. package/dist/components/vue-ui-graph.js +1 -0
  47. package/dist/components/vue-ui-heatmap.js +1 -1
  48. package/dist/components/vue-ui-hill.js +1 -1
  49. package/dist/components/vue-ui-history-plot.js +1 -1
  50. package/dist/components/vue-ui-horizontal-bar.js +1 -1
  51. package/dist/components/vue-ui-icon.js +1 -1
  52. package/dist/components/vue-ui-kpi.js +1 -1
  53. package/dist/components/vue-ui-label.js +1 -1
  54. package/dist/components/vue-ui-mini-loader.js +1 -1
  55. package/dist/components/vue-ui-molecule.js +1 -1
  56. package/dist/components/vue-ui-mood-radar.js +1 -1
  57. package/dist/components/vue-ui-nested-donuts.js +1 -1
  58. package/dist/components/vue-ui-onion.js +1 -1
  59. package/dist/components/vue-ui-parallel-coordinate-plot.js +1 -1
  60. package/dist/components/vue-ui-quadrant.js +1 -1
  61. package/dist/components/vue-ui-quick-chart.js +1 -1
  62. package/dist/components/vue-ui-radar.js +1 -1
  63. package/dist/components/vue-ui-rating.js +1 -1
  64. package/dist/components/vue-ui-relation-circle.js +1 -1
  65. package/dist/components/vue-ui-ridgeline.js +1 -1
  66. package/dist/components/vue-ui-rings.js +1 -1
  67. package/dist/components/vue-ui-scatter.js +1 -1
  68. package/dist/components/vue-ui-skeleton.js +1 -1
  69. package/dist/components/vue-ui-smiley.js +1 -1
  70. package/dist/components/vue-ui-spark-trend.js +1 -1
  71. package/dist/components/vue-ui-sparkbar.js +1 -1
  72. package/dist/components/vue-ui-sparkgauge.js +1 -1
  73. package/dist/components/vue-ui-sparkhistogram.js +1 -1
  74. package/dist/components/vue-ui-sparkline.js +1 -1
  75. package/dist/components/vue-ui-sparkstackbar.js +1 -1
  76. package/dist/components/vue-ui-stackbar.js +1 -1
  77. package/dist/components/vue-ui-stackline.js +1 -1
  78. package/dist/components/vue-ui-strip-plot.js +1 -1
  79. package/dist/components/vue-ui-table-heatmap.js +1 -1
  80. package/dist/components/vue-ui-table-sparkline.js +1 -1
  81. package/dist/components/vue-ui-table.js +1 -1
  82. package/dist/components/vue-ui-thermometer.js +1 -1
  83. package/dist/components/vue-ui-timer.js +1 -1
  84. package/dist/components/vue-ui-tiremarks.js +1 -1
  85. package/dist/components/vue-ui-treemap.js +1 -1
  86. package/dist/components/vue-ui-vertical-bar.js +1 -1
  87. package/dist/components/vue-ui-waffle.js +1 -1
  88. package/dist/components/vue-ui-wheel.js +1 -1
  89. package/dist/components/vue-ui-word-cloud.js +1 -1
  90. package/dist/components/vue-ui-world.js +1 -1
  91. package/dist/components/vue-ui-xy-canvas.js +1 -1
  92. package/dist/components/vue-ui-xy.js +1 -1
  93. package/dist/{dom-to-png-D8t3Bm7s.js → dom-to-png-Cp6rAdnI.js} +1 -1
  94. package/dist/{exposedLib-DHtyEc_G.js → exposedLib-BDGMSW1B.js} +1 -1
  95. package/dist/{img-DiT4ivZ5.js → img-DiP2_5_r.js} +1 -1
  96. package/dist/{labelUtils-CG3uVXoZ.js → labelUtils-DXiFpsZl.js} +1 -1
  97. package/dist/{lib-CV_IANZ6.js → lib-DqD8nbyX.js} +2 -2
  98. package/dist/package-UBaXe2y9.js +1 -0
  99. package/dist/{pdf-BQSB1V3H.js → pdf-y3S8SBFk.js} +1 -1
  100. package/dist/{render-common-BdZ5aRyn.js → render-common-tsNLeNaX.js} +1 -1
  101. package/dist/{resolveChartConfig-DZg-korK.js → resolveChartConfig-ChGWTt5l.js} +1 -1
  102. package/dist/ssr/vue-ui-donut.js +1 -1
  103. package/dist/ssr/vue-ui-xy.js +1 -1
  104. package/dist/ssr.js +1 -1
  105. package/dist/style.css +1 -1
  106. package/dist/types/vue-data-ui.d.ts +323 -0
  107. package/dist/types/vue-ui-graph.d.ts +21 -0
  108. package/dist/useConfig-DM9fSqjh.js +1 -0
  109. package/dist/{useNestedProp-CB186vF2.js → useNestedProp-DrLnzyHO.js} +1 -1
  110. package/dist/useObjectBindings-Cn4Vz0RY.js +1 -0
  111. package/dist/{usePrinter-hLW3cv4N.js → usePrinter-Cj4eIYC_.js} +1 -1
  112. package/dist/utils.js +1 -1
  113. package/dist/vue-data-ui-yeD7UyUU.js +1 -0
  114. package/dist/vue-data-ui.js +1 -1
  115. package/dist/vue-ui-3d-bar-COrzyTkO.js +19 -0
  116. package/dist/vue-ui-accordion-3lBpCjGm.js +1 -0
  117. package/dist/vue-ui-age-pyramid-CAoVjkOA.js +1 -0
  118. package/dist/vue-ui-annotator-CpTZHnPw.js +331 -0
  119. package/dist/vue-ui-bullet-yvY_gdw2.js +34 -0
  120. package/dist/vue-ui-bump-ChsFkIq9.js +10 -0
  121. package/dist/vue-ui-candlestick-D9UXZQoN.js +22 -0
  122. package/dist/vue-ui-carousel-table-CKyE4hME.js +1 -0
  123. package/dist/vue-ui-chestnut-BuLjW5nb.js +1 -0
  124. package/dist/vue-ui-chord-Bjwt2_BK.js +21 -0
  125. package/dist/vue-ui-circle-pack-BpAuZruK.js +13 -0
  126. package/dist/vue-ui-cursor-Dn-IBaP8.js +1 -0
  127. package/dist/vue-ui-dag-CyY3cSa6.js +9 -0
  128. package/dist/vue-ui-dashboard-DmyStkQM.js +1 -0
  129. package/dist/{vue-ui-digits-CXKKmfGj.js → vue-ui-digits-BBiRMr01.js} +2 -2
  130. package/dist/{vue-ui-donut-CKkBtyPK.js → vue-ui-donut-CGyBWxzh.js} +2 -2
  131. package/dist/vue-ui-donut-DMF74OY0.js +47 -0
  132. package/dist/vue-ui-donut-evolution-Du4zLc8D.js +2 -0
  133. package/dist/vue-ui-dumbbell-CxL_AY5e.js +9 -0
  134. package/dist/vue-ui-flow-h6kTMamJ.js +3 -0
  135. package/dist/vue-ui-funnel-BG5Addzr.js +1 -0
  136. package/dist/vue-ui-galaxy-CgnshY8i.js +1 -0
  137. package/dist/vue-ui-gauge-a13ojQPr.js +1 -0
  138. package/dist/vue-ui-geo-CflzhtuD.js +1 -0
  139. package/dist/vue-ui-gizmo-K1lfslsA.js +1 -0
  140. package/dist/vue-ui-graph-C2Se8bnB.js +7 -0
  141. package/dist/vue-ui-heatmap-5NsQkMwS.js +1 -0
  142. package/dist/vue-ui-hill-COnjVS2L.js +1 -0
  143. package/dist/vue-ui-history-plot-BRJdXsNo.js +2 -0
  144. package/dist/vue-ui-horizontal-bar-G0wEKTRu.js +4 -0
  145. package/dist/vue-ui-kpi-BZjfQxmY.js +1 -0
  146. package/dist/{vue-ui-label-B4pkXBxc.js → vue-ui-label-BD_hTtgZ.js} +2 -2
  147. package/dist/vue-ui-mini-loader-ltQXdeeW.js +1 -0
  148. package/dist/vue-ui-molecule-DI-CS5w8.js +1 -0
  149. package/dist/vue-ui-mood-radar-B5ar9WAZ.js +1 -0
  150. package/dist/vue-ui-nested-donuts-BP2YzVma.js +19 -0
  151. package/dist/vue-ui-onion-CCiZ6jmF.js +5 -0
  152. package/dist/vue-ui-parallel-coordinate-plot-3E0CysDx.js +9 -0
  153. package/dist/vue-ui-quadrant-BwgwvKy8.js +2 -0
  154. package/dist/vue-ui-quick-chart-BXNg0LNe.js +17 -0
  155. package/dist/vue-ui-radar-B9Ntj_Gj.js +1 -0
  156. package/dist/vue-ui-rating-B33u3iIn.js +1 -0
  157. package/dist/vue-ui-relation-circle-B60IUw50.js +1 -0
  158. package/dist/vue-ui-ridgeline-BPbYng2A.js +2 -0
  159. package/dist/vue-ui-rings-BXo9p3Ab.js +1 -0
  160. package/dist/vue-ui-scatter-BwrYPDzh.js +9 -0
  161. package/dist/{vue-ui-skeleton-DI7pcimU.js → vue-ui-skeleton-DTn7uIui.js} +3 -3
  162. package/dist/{vue-ui-smiley-D70sJZWl.js → vue-ui-smiley-qCRUFmpq.js} +1 -1
  163. package/dist/vue-ui-spark-trend-wKFu-O7B.js +1 -0
  164. package/dist/vue-ui-sparkbar-DPFzdX-D.js +1 -0
  165. package/dist/vue-ui-sparkgauge-DlEPsxc0.js +1 -0
  166. package/dist/vue-ui-sparkhistogram-DLZxE6oz.js +1 -0
  167. package/dist/vue-ui-sparkline-BflZPl7s.js +1 -0
  168. package/dist/vue-ui-sparkstackbar-DvSQfGeA.js +1 -0
  169. package/dist/vue-ui-stackbar-JKC9qE6M.js +29 -0
  170. package/dist/vue-ui-stackline-G7-oqfzp.js +39 -0
  171. package/dist/vue-ui-strip-plot-54u7AUip.js +2 -0
  172. package/dist/vue-ui-table-3F8i2ZjT.js +14 -0
  173. package/dist/vue-ui-table-heatmap-CtYPYMIJ.js +1 -0
  174. package/dist/vue-ui-table-sparkline-CTfYTzhA.js +1 -0
  175. package/dist/vue-ui-thermometer-BpFbPqxK.js +1 -0
  176. package/dist/vue-ui-timer-DsWRNtRa.js +64 -0
  177. package/dist/vue-ui-tiremarks-C4wVcSVP.js +1 -0
  178. package/dist/vue-ui-treemap-mYRv6gga.js +1 -0
  179. package/dist/vue-ui-waffle-DNBIZqZz.js +1 -0
  180. package/dist/vue-ui-wheel-DPHDp0t1.js +1 -0
  181. package/dist/vue-ui-word-cloud-BY4YsW7-.js +4 -0
  182. package/dist/vue-ui-world-DQWjoFDx.js +19 -0
  183. package/dist/vue-ui-xy-DfvcqUwW.js +31 -0
  184. package/dist/vue-ui-xy-M9aD-G5a.js +24 -0
  185. package/dist/vue-ui-xy-canvas-BpwG1Ipj.js +9 -0
  186. package/dist/vue_ui_graph-B1ACwQj7.js +1 -0
  187. package/package.json +1 -1
  188. package/dist/BaseIcon-DdIyewwY.js +0 -1
  189. package/dist/BaseZoomControls-DoYifY2y.js +0 -1
  190. package/dist/DataTable-WNecJMcY.js +0 -1
  191. package/dist/SlicerPreview-CNUciSbY.js +0 -1
  192. package/dist/UserOptions-DTxMeZv3.js +0 -1
  193. package/dist/package-DE5cU1Rg.js +0 -1
  194. package/dist/useConfig-CKdzPrcf.js +0 -1
  195. package/dist/useObjectBindings-Dse7YyAf.js +0 -1
  196. package/dist/vue-data-ui-DyYgLIZN.js +0 -1
  197. package/dist/vue-ui-3d-bar-BZAoyWkc.js +0 -19
  198. package/dist/vue-ui-accordion-BNvevckx.js +0 -1
  199. package/dist/vue-ui-age-pyramid-DkA6vpU3.js +0 -1
  200. package/dist/vue-ui-annotator-DuQME4Hh.js +0 -331
  201. package/dist/vue-ui-bullet-BVs8JX8S.js +0 -34
  202. package/dist/vue-ui-bump-DYdm3EvF.js +0 -10
  203. package/dist/vue-ui-candlestick-DZgxl4mW.js +0 -22
  204. package/dist/vue-ui-carousel-table-BB7DsTUt.js +0 -1
  205. package/dist/vue-ui-chestnut-Bo1h5rBt.js +0 -1
  206. package/dist/vue-ui-chord-B6_veyvO.js +0 -21
  207. package/dist/vue-ui-circle-pack-Bm7e2YNh.js +0 -13
  208. package/dist/vue-ui-cursor-TidZDuSh.js +0 -1
  209. package/dist/vue-ui-dag-BiN_AnLo.js +0 -9
  210. package/dist/vue-ui-dashboard-zepAVN_W.js +0 -1
  211. package/dist/vue-ui-donut-DLDUpjDU.js +0 -47
  212. package/dist/vue-ui-donut-evolution-BxMTdE5G.js +0 -2
  213. package/dist/vue-ui-dumbbell-C8rNwdz0.js +0 -9
  214. package/dist/vue-ui-flow-Dru76A2O.js +0 -3
  215. package/dist/vue-ui-funnel-D_u1h5S9.js +0 -1
  216. package/dist/vue-ui-galaxy-sBEH18Xj.js +0 -1
  217. package/dist/vue-ui-gauge-Do3RN8ne.js +0 -1
  218. package/dist/vue-ui-geo-DDbtx_iJ.js +0 -1
  219. package/dist/vue-ui-gizmo-eic6xLjB.js +0 -1
  220. package/dist/vue-ui-heatmap-DlmJRsM8.js +0 -1
  221. package/dist/vue-ui-hill-C5oiuIXh.js +0 -1
  222. package/dist/vue-ui-history-plot-BJjnkWcT.js +0 -2
  223. package/dist/vue-ui-horizontal-bar-BRDBJEl1.js +0 -4
  224. package/dist/vue-ui-kpi-C-eed3jO.js +0 -1
  225. package/dist/vue-ui-mini-loader-CElmv_iF.js +0 -1
  226. package/dist/vue-ui-molecule-BeyQWZU9.js +0 -1
  227. package/dist/vue-ui-mood-radar-Bh0kHfiZ.js +0 -1
  228. package/dist/vue-ui-nested-donuts-FlnJfDaF.js +0 -19
  229. package/dist/vue-ui-onion-BjhSpjtW.js +0 -5
  230. package/dist/vue-ui-parallel-coordinate-plot-CHV6XDti.js +0 -9
  231. package/dist/vue-ui-quadrant-BaKSTJDv.js +0 -2
  232. package/dist/vue-ui-quick-chart-Nc2mVlle.js +0 -17
  233. package/dist/vue-ui-radar-BzUfkLlC.js +0 -1
  234. package/dist/vue-ui-rating-BwWXvbAg.js +0 -1
  235. package/dist/vue-ui-relation-circle-nAZEg-BL.js +0 -1
  236. package/dist/vue-ui-ridgeline-DxLZg1E2.js +0 -2
  237. package/dist/vue-ui-rings-BOti0NGb.js +0 -1
  238. package/dist/vue-ui-scatter-CCNMggyo.js +0 -9
  239. package/dist/vue-ui-spark-trend-BVtfEalS.js +0 -1
  240. package/dist/vue-ui-sparkbar-CdsLI7Ke.js +0 -1
  241. package/dist/vue-ui-sparkgauge-wmj5Wnnp.js +0 -1
  242. package/dist/vue-ui-sparkhistogram-D8S_P_P4.js +0 -1
  243. package/dist/vue-ui-sparkline-BjsJnS_9.js +0 -1
  244. package/dist/vue-ui-sparkstackbar-ZN8LXzoV.js +0 -1
  245. package/dist/vue-ui-stackbar-Dx_EN3pT.js +0 -29
  246. package/dist/vue-ui-stackline-DW-oxJvA.js +0 -39
  247. package/dist/vue-ui-strip-plot-D7kjJ3Qh.js +0 -2
  248. package/dist/vue-ui-table-CaFVLHxE.js +0 -14
  249. package/dist/vue-ui-table-heatmap-Ctf7Rhqo.js +0 -1
  250. package/dist/vue-ui-table-sparkline-C0I0cXBS.js +0 -1
  251. package/dist/vue-ui-thermometer-B6og15Al.js +0 -1
  252. package/dist/vue-ui-timer-DgXvO2Q7.js +0 -64
  253. package/dist/vue-ui-tiremarks-Dh6fZ454.js +0 -1
  254. package/dist/vue-ui-treemap-7JuvN6P_.js +0 -1
  255. package/dist/vue-ui-waffle-BqvGzfse.js +0 -1
  256. package/dist/vue-ui-wheel-SdwJqKA7.js +0 -1
  257. package/dist/vue-ui-word-cloud-1WVV_k12.js +0 -4
  258. package/dist/vue-ui-world-DjMy_utm.js +0 -19
  259. package/dist/vue-ui-xy-DaozHMfg.js +0 -31
  260. package/dist/vue-ui-xy-canvas-CegvS9RR.js +0 -9
  261. package/dist/vue-ui-xy-rGHSI1am.js +0 -24
@@ -1,7 +1,7 @@
1
- import{t as e}from"./rolldown-runtime-DK3Fl9T5.js";import{X as t,kt as n,x as r}from"./lib-CV_IANZ6.js";import{t as i}from"./useConfig-CKdzPrcf.js";import{t as a}from"./useNestedProp-CB186vF2.js";import{t as o}from"./useThemeCheck-BKNRbGeC.js";import{t as s}from"./Shape-Bp9YNtPc.js";import{t as c}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as l}from"./vue_ui_label-dtPqyFsj.js";import{Fragment as u,computed as d,createBlock as f,createCommentVNode as p,createElementBlock as m,createElementVNode as ee,getCurrentInstance as te,guardReactiveProps as ne,nextTick as h,normalizeClass as re,normalizeProps as ie,normalizeStyle as ae,onBeforeUnmount as oe,onMounted as se,openBlock as g,ref as _,renderList as ce,renderSlot as le,toDisplayString as ue,unref as de,useTemplateRef as v,watch as fe,withModifiers as pe}from"vue";var me=/* @__PURE__ */ e({default:()=>D}),he=[`d`,`stroke`,`stroke-width`,`stroke-dasharray`],ge=[`cx`,`cy`,`r`,`fill`,`stroke`,`stroke-width`],_e=[`id`,`data-position`,`data-overflow`,`data-overlap`,`data-target-x`,`data-target-y`,`data-box-position-x`,`data-box-position-y`,`data-link-length`,`data-box-show`,`data-box-max-width`,`data-box-padding-top`,`data-box-padding-right`,`data-box-padding-bottom`,`data-box-padding-left`,`data-drag-enabled`,`data-drag-handle-position`,`data-drag-handle-size`],ve=[`x`,`y`,`width`,`height`,`rx`,`fill`,`stroke`,`stroke-width`],ye=[`x`,`y`,`width`,`height`,`rx`,`aria-label`],be=[`font-size`,`font-weight`,`text-anchor`,`fill`],xe=[`x`,`y`],Se=[`font-size`,`font-weight`,`text-anchor`,`fill`],Ce=[`x`,`y`],we=[`aria-label`],Te=[`x`,`y`,`width`,`height`],Ee=[`x`,`y`,`width`,`height`,`rx`],De=[`d`,`stroke`,`stroke-width`],Oe=[`d`,`stroke`,`stroke-width`,`opacity`],ke=8,y=4,Ae=12,je=24,Me=1,Ne=10,b=`__vueUiLabelLayoutOrder`,Pe=`__vueUiLabelNextLayoutOrder`,x=`__vueUiLabelLayoutRaf`,Fe=`__vueUiLabelSetLayoutRect`,Ie=`__vueUiLabelMeasureElement`,Le=`__vueUiLabelEmitDragEnd`,S=`__vueUiLabelPersistedOffset`,C=`__vueUiLabelDragRequestedOffset`,w=`__vueUiLabelDragging`,Re=`__vueUiLabelDragPriority`,ze=`__vueUiLabelNextDragPriority`,Be=`__vueUiLabelLastLayoutRect`,T=`__vueUiLabelLastLayoutOffset`,E=`__vueUiLabelDisplacedLabels`,D=/*#__PURE__*/ c({__name:`vue-ui-label`,props:{dataset:{type:Object,default(){return{x:null,y:null,position:{x:null,y:null}}}},config:{type:Object,default(){return{}}}},emits:[`dragStart`,`drag`,`dragEnd`,`click`,`mouseenter`,`mouseleave`,`focus`,`blur`],setup(e,{expose:c,emit:me}){let D=e,O=me,{vue_ui_label:Ve}=i(),{isThemeValid:He,warnInvalidTheme:Ue}=o();function We(){let e=a({userConfig:D.config,defaultConfig:Ve}),t={},n=e.theme;return n?He.value(e)?t=a({userConfig:l[n]||D.config,defaultConfig:e}):(Ue(e),t=e):t=e,t}let k=d(()=>We()),Ge=te(),Ke=t(),qe=v(`wrapperRef`),A=v(`labelRef`),Je=v(`contentRef`),Ye=v(`boxRef`),Xe=v(`titleTextRef`),Ze=v(`contentTextRef`),j=_(null),M=_(null),N=_(null),P=_({x:0,y:0}),Qe=_(!1),F=_(!1),$e=_(`pointer`),et=d(()=>k.value.title.fontSize),tt=d(()=>k.value.title.lineHeight),nt=d(()=>k.value.content.fontSize),rt=d(()=>k.value.content.lineHeight),it=d(()=>k.value.title.gap),at=d(()=>k.value.drag.handleWidth),ot=d(()=>k.value.collisionGap),st=null,ct=null,I=null,L={inputType:null,touchId:null,startPointer:null,startOffset:null,lastRequestedOffset:null},lt=d(()=>({x:D.dataset?.x??null,y:D.dataset?.y??null})),R=d(()=>n(lt.value.x)&&n(lt.value.y)),z=d(()=>Number(lt.value.x)),B=d(()=>Number(lt.value.y)),V=d(()=>k.value.link),H=d(()=>k.value.box),ut=d(()=>k.value.drag),U=d(()=>k.value.title.marker),dt=d(()=>k.value.overlap===!0),W=d(()=>ut.value?.enable===!0),ft=d(()=>!!(Ge?.vnode?.props??{}).onClick),pt=d(()=>ft.value),mt=d(()=>[String(k.value.title?.text??``).trim(),String(k.value.content?.text??``).trim()].filter(Boolean).join(`, `)||`Label`),ht=d(()=>`Move ${mt.value}`),gt=`label_${Ke}_drag_instructions`,_t=d(()=>k.value.a11y.translations.keyboardNavigation),vt=d(()=>n(ut.value?.iconSize)?Math.max(0,Number(ut.value.iconSize)):0),yt=d(()=>vt.value*.15),bt=d(()=>{let e=ut.value?.handlePosition;return[`left`,`right`,`top`,`bottom`].includes(e)?e:`left`}),xt=d(()=>{let e=D.dataset?.position;return!e||!n(e.x)||!n(e.y)?null:{x:Number(e.x),y:Number(e.y)}}),St=d(()=>Qe.value?null:xt.value),Ct=d(()=>n(V.value.length)?Math.max(0,Number(V.value.length)):ke),wt=d(()=>Hn(k.value.title.textAlign)),Tt=d(()=>Hn(k.value.content.textAlign)),Et=d(()=>Un(wt.value)),Dt=d(()=>Un(Tt.value)),Ot=d(()=>U.value?.color!==null&&U.value?.color!==void 0&&String(k.value.title.text??``)!==``),kt=d(()=>Ot.value&&n(U.value?.size)?Math.max(0,Number(U.value.size)):0),At=d(()=>kt.value/2),jt=d(()=>U.value?.beforeText!==!1),Mt=d(()=>Ot.value&&kt.value>0?6:0),Nt=d(()=>kt.value>0?kt.value+Mt.value:0),G=d(()=>{let e=H.value.padding??{};return{top:n(e.top)?Math.max(0,Number(e.top)):0,right:n(e.right)?Math.max(0,Number(e.right)):0,bottom:n(e.bottom)?Math.max(0,Number(e.bottom)):0,left:n(e.left)?Math.max(0,Number(e.left)):0}}),Pt=d(()=>n(H.value.borderWidth)?Math.max(0,Number(H.value.borderWidth)):0),Ft=d(()=>n(H.value.borderRadius)?Math.max(0,Number(H.value.borderRadius)):0),K=d(()=>n(H.value.maxWidth)?Math.max(0,Number(H.value.maxWidth)):null),It=d(()=>W.value&&H.value.show?at.value:0),Lt=d(()=>[`left`,`right`].includes(bt.value)),Rt=d(()=>{if(!H.value.show||!n(K.value)||K.value<=0)return null;let e=Lt.value?It.value:0;return Math.max(1,K.value-G.value.left-G.value.right-e)}),zt=d(()=>Rt.value?Math.max(1,Rt.value-Nt.value):null),q=d(()=>{if(!H.value.show||!N.value)return null;let e=Pt.value/2,t=Math.max(0,N.value.width-Pt.value),n=Math.max(0,N.value.height-Pt.value);return{x:N.value.x+e,y:N.value.y+e,width:t,height:n,rx:Math.min(Ft.value,t/2,n/2)}}),Bt=d(()=>{if(!W.value||!q.value)return null;let e=bt.value,t=[`left`,`right`].includes(e),n=Math.min(at.value,Math.max(0,t?q.value.width:q.value.height));if(n<=0||q.value.width<=0||q.value.height<=0)return null;let r=q.value.x,i=q.value.y,a=q.value.width,o=q.value.height,s=``,c=``;if(e===`left`||e===`right`){a=n,r=e===`left`?q.value.x:q.value.x+q.value.width-n;let t=e===`left`?r+n:r,l=r+n/2,u=i+o/2;s=`
1
+ import{t as e}from"./rolldown-runtime-DK3Fl9T5.js";import{t}from"./useConfig-DM9fSqjh.js";import{X as n,kt as r,x as i}from"./lib-DqD8nbyX.js";import{t as a}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as o}from"./useNestedProp-DrLnzyHO.js";import{t as s}from"./useThemeCheck-BKNRbGeC.js";import{t as c}from"./Shape-gDVRWM6n.js";import{t as l}from"./vue_ui_label-dtPqyFsj.js";import{Fragment as u,computed as d,createBlock as f,createCommentVNode as p,createElementBlock as m,createElementVNode as ee,getCurrentInstance as te,guardReactiveProps as ne,nextTick as h,normalizeClass as re,normalizeProps as ie,normalizeStyle as ae,onBeforeUnmount as oe,onMounted as se,openBlock as g,ref as _,renderList as ce,renderSlot as le,toDisplayString as ue,unref as de,useTemplateRef as v,watch as fe,withModifiers as pe}from"vue";var me=/* @__PURE__ */ e({default:()=>D}),he=[`d`,`stroke`,`stroke-width`,`stroke-dasharray`],ge=[`cx`,`cy`,`r`,`fill`,`stroke`,`stroke-width`],_e=[`id`,`data-position`,`data-overflow`,`data-overlap`,`data-target-x`,`data-target-y`,`data-box-position-x`,`data-box-position-y`,`data-link-length`,`data-box-show`,`data-box-max-width`,`data-box-padding-top`,`data-box-padding-right`,`data-box-padding-bottom`,`data-box-padding-left`,`data-drag-enabled`,`data-drag-handle-position`,`data-drag-handle-size`],ve=[`x`,`y`,`width`,`height`,`rx`,`fill`,`stroke`,`stroke-width`],ye=[`x`,`y`,`width`,`height`,`rx`,`aria-label`],be=[`font-size`,`font-weight`,`text-anchor`,`fill`],xe=[`x`,`y`],Se=[`font-size`,`font-weight`,`text-anchor`,`fill`],Ce=[`x`,`y`],we=[`aria-label`],Te=[`x`,`y`,`width`,`height`],Ee=[`x`,`y`,`width`,`height`,`rx`],De=[`d`,`stroke`,`stroke-width`],Oe=[`d`,`stroke`,`stroke-width`,`opacity`],ke=8,y=4,Ae=12,je=24,Me=1,Ne=10,b=`__vueUiLabelLayoutOrder`,Pe=`__vueUiLabelNextLayoutOrder`,x=`__vueUiLabelLayoutRaf`,Fe=`__vueUiLabelSetLayoutRect`,Ie=`__vueUiLabelMeasureElement`,Le=`__vueUiLabelEmitDragEnd`,S=`__vueUiLabelPersistedOffset`,C=`__vueUiLabelDragRequestedOffset`,w=`__vueUiLabelDragging`,Re=`__vueUiLabelDragPriority`,ze=`__vueUiLabelNextDragPriority`,Be=`__vueUiLabelLastLayoutRect`,T=`__vueUiLabelLastLayoutOffset`,E=`__vueUiLabelDisplacedLabels`,D=/*#__PURE__*/ a({__name:`vue-ui-label`,props:{dataset:{type:Object,default(){return{x:null,y:null,position:{x:null,y:null}}}},config:{type:Object,default(){return{}}}},emits:[`dragStart`,`drag`,`dragEnd`,`click`,`mouseenter`,`mouseleave`,`focus`,`blur`],setup(e,{expose:a,emit:me}){let D=e,O=me,{vue_ui_label:Ve}=t(),{isThemeValid:He,warnInvalidTheme:Ue}=s();function We(){let e=o({userConfig:D.config,defaultConfig:Ve}),t={},n=e.theme;return n?He.value(e)?t=o({userConfig:l[n]||D.config,defaultConfig:e}):(Ue(e),t=e):t=e,t}let k=d(()=>We()),Ge=te(),Ke=n(),qe=v(`wrapperRef`),A=v(`labelRef`),Je=v(`contentRef`),Ye=v(`boxRef`),Xe=v(`titleTextRef`),Ze=v(`contentTextRef`),j=_(null),M=_(null),N=_(null),P=_({x:0,y:0}),Qe=_(!1),F=_(!1),$e=_(`pointer`),et=d(()=>k.value.title.fontSize),tt=d(()=>k.value.title.lineHeight),nt=d(()=>k.value.content.fontSize),rt=d(()=>k.value.content.lineHeight),it=d(()=>k.value.title.gap),at=d(()=>k.value.drag.handleWidth),ot=d(()=>k.value.collisionGap),st=null,ct=null,I=null,L={inputType:null,touchId:null,startPointer:null,startOffset:null,lastRequestedOffset:null},lt=d(()=>({x:D.dataset?.x??null,y:D.dataset?.y??null})),R=d(()=>r(lt.value.x)&&r(lt.value.y)),z=d(()=>Number(lt.value.x)),B=d(()=>Number(lt.value.y)),V=d(()=>k.value.link),H=d(()=>k.value.box),ut=d(()=>k.value.drag),U=d(()=>k.value.title.marker),dt=d(()=>k.value.overlap===!0),W=d(()=>ut.value?.enable===!0),ft=d(()=>!!(Ge?.vnode?.props??{}).onClick),pt=d(()=>ft.value),mt=d(()=>[String(k.value.title?.text??``).trim(),String(k.value.content?.text??``).trim()].filter(Boolean).join(`, `)||`Label`),ht=d(()=>`Move ${mt.value}`),gt=`label_${Ke}_drag_instructions`,_t=d(()=>k.value.a11y.translations.keyboardNavigation),vt=d(()=>r(ut.value?.iconSize)?Math.max(0,Number(ut.value.iconSize)):0),yt=d(()=>vt.value*.15),bt=d(()=>{let e=ut.value?.handlePosition;return[`left`,`right`,`top`,`bottom`].includes(e)?e:`left`}),xt=d(()=>{let e=D.dataset?.position;return!e||!r(e.x)||!r(e.y)?null:{x:Number(e.x),y:Number(e.y)}}),St=d(()=>Qe.value?null:xt.value),Ct=d(()=>r(V.value.length)?Math.max(0,Number(V.value.length)):ke),wt=d(()=>Hn(k.value.title.textAlign)),Tt=d(()=>Hn(k.value.content.textAlign)),Et=d(()=>Un(wt.value)),Dt=d(()=>Un(Tt.value)),Ot=d(()=>U.value?.color!==null&&U.value?.color!==void 0&&String(k.value.title.text??``)!==``),kt=d(()=>Ot.value&&r(U.value?.size)?Math.max(0,Number(U.value.size)):0),At=d(()=>kt.value/2),jt=d(()=>U.value?.beforeText!==!1),Mt=d(()=>Ot.value&&kt.value>0?6:0),Nt=d(()=>kt.value>0?kt.value+Mt.value:0),G=d(()=>{let e=H.value.padding??{};return{top:r(e.top)?Math.max(0,Number(e.top)):0,right:r(e.right)?Math.max(0,Number(e.right)):0,bottom:r(e.bottom)?Math.max(0,Number(e.bottom)):0,left:r(e.left)?Math.max(0,Number(e.left)):0}}),Pt=d(()=>r(H.value.borderWidth)?Math.max(0,Number(H.value.borderWidth)):0),Ft=d(()=>r(H.value.borderRadius)?Math.max(0,Number(H.value.borderRadius)):0),K=d(()=>r(H.value.maxWidth)?Math.max(0,Number(H.value.maxWidth)):null),It=d(()=>W.value&&H.value.show?at.value:0),Lt=d(()=>[`left`,`right`].includes(bt.value)),Rt=d(()=>{if(!H.value.show||!r(K.value)||K.value<=0)return null;let e=Lt.value?It.value:0;return Math.max(1,K.value-G.value.left-G.value.right-e)}),zt=d(()=>Rt.value?Math.max(1,Rt.value-Nt.value):null),q=d(()=>{if(!H.value.show||!N.value)return null;let e=Pt.value/2,t=Math.max(0,N.value.width-Pt.value),n=Math.max(0,N.value.height-Pt.value);return{x:N.value.x+e,y:N.value.y+e,width:t,height:n,rx:Math.min(Ft.value,t/2,n/2)}}),Bt=d(()=>{if(!W.value||!q.value)return null;let e=bt.value,t=[`left`,`right`].includes(e),n=Math.min(at.value,Math.max(0,t?q.value.width:q.value.height));if(n<=0||q.value.width<=0||q.value.height<=0)return null;let r=q.value.x,i=q.value.y,a=q.value.width,o=q.value.height,s=``,c=``;if(e===`left`||e===`right`){a=n,r=e===`left`?q.value.x:q.value.x+q.value.width-n;let t=e===`left`?r+n:r,l=r+n/2,u=i+o/2;s=`
2
2
  M ${t} ${i}
3
3
  V ${i+o}
4
4
  `;let d=vt.value,f=yt.value/2,p=Math.max(0,d/2-f),m=d*.14;c=[-.7,0,.7].flatMap(e=>{let t=u+p*e;return[`M ${l-m} ${t} h 0`,`M ${l+m} ${t} h 0`]}).join(` `)}else{o=n,i=e===`top`?q.value.y:q.value.y+q.value.height-n;let t=e===`top`?i+n:i,l=r+a/2,u=i+n/2;s=`
5
5
  M ${r} ${t}
6
6
  H ${r+a}
7
- `;let d=vt.value,f=yt.value/2,p=Math.max(0,d/2-f),m=d*.14;c=[-.7,0,.7].flatMap(e=>{let t=l+p*e;return[`M ${t} ${u-m} h 0`,`M ${t} ${u+m} h 0`]}).join(` `)}return{x:r,y:i,width:a,height:o,separatorPath:s,gripPath:c,position:e}}),J=d(()=>{let e=Bt.value;if(!e)return null;let t=Math.max(je,e.width),n=Math.max(je,e.height),r=e.x,i=e.y;return e.position===`left`?r=e.x+e.width-t:e.position===`top`&&(i=e.y+e.height-n),e.position===`left`||e.position===`right`?i=e.y+e.height/2-n/2:r=e.x+e.width/2-t/2,{x:r,y:i,width:t,height:n}}),Y=d(()=>{if(!pt.value)return null;let e=null;if(q.value?e={...q.value}:M.value&&(e={x:M.value.x-P.value.x,y:M.value.y-P.value.y,width:M.value.width,height:M.value.height,rx:0}),!e)return null;let t=Bt.value;return t&&(t.position===`left`?(e.x+=t.width,e.width-=t.width):t.position===`right`?e.width-=t.width:(t.position===`top`&&(e.y+=t.height),e.height-=t.height)),e.width<=0||e.height<=0?null:e}),X=_(Gn(k.value.title.text)),Vt=_(Gn(k.value.content.text)),Z=_(0),Ht=_(0),Ut=_(0),Wt=d(()=>Z.value+Nt.value),Gt=d(()=>z.value-Ut.value/2),Kt=d(()=>z.value+Ut.value/2),qt=d(()=>wt.value===`left`?Gt.value:wt.value===`right`?Kt.value-Wt.value:z.value-Wt.value/2),Jt=d(()=>{let e=qt.value+(jt.value?Nt.value:0);return wt.value===`left`?e:wt.value===`right`?e+Z.value:e+Z.value/2}),Yt=d(()=>!Ot.value||At.value<=0?null:{x:jt.value?qt.value+At.value:qt.value+Z.value+Mt.value+At.value,y:B.value-et.value*.35+U.value.offsetY}),Xt=d(()=>Wn(Tt.value)),Zt=d(()=>X.value.length?B.value+X.value.length*tt.value+it.value:B.value),Qt=d(()=>{if(!V.value.show||!R.value||!M.value)return null;let e=M.value,t=z.value,n=B.value,i=e.x+e.width/2,a=e.y+e.height/2,o=i-t,s=a-n,c,l,u,d=H.value.show?Math.min(Ft.value,e.width/2,e.height/2):0,f=Math.abs(i-t)<.001,p=Math.abs(a-n)<.001;return Math.abs(o)>=Math.abs(s)?(o>=0?(u=`left`,c=e.x):(u=`right`,c=e.x+e.width),l=p?a:r(n,e.y+d,e.y+e.height-d)):(s>=0?(u=`top`,l=e.y):(u=`bottom`,l=e.y+e.height),c=f?i:r(t,e.x+d,e.x+e.width-d)),{d:`M ${t} ${n} L ${c} ${l}`,side:u,start:{x:t,y:n},end:{x:c,y:l}}});function $t(e,t){let n=j.value;if(!n?.createSVGPoint||!Number.isFinite(e)||!Number.isFinite(t))return null;let r=n.getScreenCTM?.();if(!r)return null;let i=n.createSVGPoint();i.x=e,i.y=t;try{let e=i.matrixTransform(r.inverse());return!Number.isFinite(e.x)||!Number.isFinite(e.y)?null:{x:e.x,y:e.y}}catch{return null}}function en(e=P.value){return{dataset:D.dataset,offset:{x:Number(e?.x)||0,y:Number(e?.y)||0},rect:M.value?{...M.value}:null}}function tn(e){let t=j.value;t&&e&&(Number.isFinite(t[ze])||(t[ze]=0),t[ze]+=1,e[Re]=t[ze])}function nn(){window.addEventListener(`mousemove`,gn,!0),window.addEventListener(`mouseup`,_n,!0)}function rn(){window.removeEventListener(`mousemove`,gn,!0),window.removeEventListener(`mouseup`,_n,!0)}function an(){window.addEventListener(`touchmove`,yn,{capture:!0,passive:!1}),window.addEventListener(`touchend`,bn,!0),window.addEventListener(`touchcancel`,xn,!0)}function on(){window.removeEventListener(`touchmove`,yn,!0),window.removeEventListener(`touchend`,bn,!0),window.removeEventListener(`touchcancel`,xn,!0)}function sn(){rn(),on()}function cn({event:e,inputType:t,touchId:n=null,pointer:r}){if(F.value||!W.value||!A.value||!j.value||!r)return;e.preventDefault(),e.stopPropagation();let i=A.value,a={x:Number(P.value?.x)||0,y:Number(P.value?.y)||0};L.inputType=t,L.touchId=n,L.startPointer=r,L.startOffset=a,L.lastRequestedOffset=a,F.value=!0,i[w]=!0,i[S]={...a},i[C]={...a},j.value[E]=/* @__PURE__ */ new Map,tn(i),t===`mouse`?nn():an(),O(`dragStart`,en(a))}function ln(e){e.button===0&&cn({event:e,inputType:`mouse`,pointer:$t(e.clientX,e.clientY)})}function un(e){let t=e.changedTouches?.[0]??e.touches?.[0];t&&cn({event:e,inputType:`touch`,touchId:t.identifier,pointer:$t(t.clientX,t.clientY)})}function dn(){if(I||typeof document>`u`)return I;let e=document.createElement(`div`);return e.setAttribute(`role`,`status`),e.setAttribute(`aria-live`,`polite`),e.setAttribute(`aria-atomic`,`true`),e.style.position=`fixed`,e.style.width=`1px`,e.style.height=`1px`,e.style.padding=`0`,e.style.margin=`-1px`,e.style.overflow=`hidden`,e.style.clip=`rect(0, 0, 0, 0)`,e.style.whiteSpace=`nowrap`,e.style.border=`0`,document.body.append(e),I=e,I}function fn(e){let t=dn();if(!t)return;let n=Number(e?.x)||0,r=Number(e?.y)||0,i=e=>Number.isInteger(e)?String(e):e.toFixed(2);t.textContent=``,requestAnimationFrame(()=>{I&&(I.textContent=`${mt.value} moved to x ${i(n)}, y ${i(r)}.`)})}function pn(e,t){let n=A.value,r=j.value;if(F.value||!W.value||!n||!r?.isConnected)return;let i={x:Number(P.value?.x)||0,y:Number(P.value?.y)||0},a={x:i.x+e,y:i.y+t};L.inputType=`keyboard`,L.touchId=null,L.startPointer=null,L.startOffset=i,L.lastRequestedOffset=a,F.value=!0,n[w]=!0,n[S]={...i},n[C]={...a},r[E]=/* @__PURE__ */ new Map,tn(n),O(`dragStart`,en(i)),O(`drag`,en(a)),Cr(r),Sn()}function mn(e){if(!W.value)return;let t={ArrowUp:[0,-1],ArrowDown:[0,1],ArrowLeft:[-1,0],ArrowRight:[1,0]}[e.key];if(!t)return;e.preventDefault(),e.stopPropagation();let n=e.shiftKey?Ne:Me;pn(t[0]*n,t[1]*n)}function hn(e,t=null){if(!F.value||!L.startPointer||!L.startOffset||!A.value||!e)return;t&&(t.cancelable&&t.preventDefault(),t.stopPropagation());let n={x:L.startOffset.x+(e.x-L.startPointer.x),y:L.startOffset.y+(e.y-L.startPointer.y)};L.lastRequestedOffset=n,A.value[C]={...n},$(j.value),O(`drag`,en(n))}function gn(e){F.value&&L.inputType===`mouse`&&hn($t(e.clientX,e.clientY),e)}function _n(e){F.value&&L.inputType===`mouse`&&Sn(e)}function vn(e){if(!e||L.touchId===null)return null;for(let t of e)if(t.identifier===L.touchId)return t;return null}function yn(e){if(!F.value||L.inputType!==`touch`)return;let t=vn(e.touches);t&&hn($t(t.clientX,t.clientY),e)}function bn(e){F.value&&L.inputType===`touch`&&vn(e.changedTouches)&&Sn(e)}function xn(e){F.value&&L.inputType===`touch`&&vn(e.changedTouches)&&Sn(e)}function Sn(e=null){if(!F.value)return;e&&(e.cancelable&&e.preventDefault(),e.stopPropagation());let t=A.value,n=j.value,r=L.inputType;n?.[x]&&(cancelAnimationFrame(n[x]),n[x]=null),n?.isConnected&&t&&Cr(n);let i=t?fr(t)??{x:Number(P.value?.x)||0,y:Number(P.value?.y)||0}:{x:Number(P.value?.x)||0,y:Number(P.value?.y)||0},a=M.value?{x:M.value.x,y:M.value.y}:N.value?{x:N.value.x+i.x,y:N.value.y+i.y}:{x:z.value+i.x,y:B.value+i.y},o=xr(n,t);t&&(t[S]={x:i.x,y:i.y},t[w]=!1,delete t[C]),P.value={x:i.x,y:i.y},sn(),F.value=!1,L.inputType=null,L.touchId=null,L.startPointer=null,L.startOffset=null,L.lastRequestedOffset=null,requestAnimationFrame(()=>{O(`dragEnd`,wn(a)),r===`keyboard`&&fn(a);for(let e of o)e.emitDragEnd(e.position)})}function Cn(e=P.value){return M.value?{x:M.value.x,y:M.value.y}:N.value?{x:N.value.x+(Number(e?.x)||0),y:N.value.y+(Number(e?.y)||0)}:{x:z.value+(Number(e?.x)||0),y:B.value+(Number(e?.y)||0)}}function wn(e=Cn()){return{...D.dataset,position:{x:Number(e?.x)||0,y:Number(e?.y)||0}}}function Tn(e){O(e,wn())}function En(){Tn(`mouseenter`)}function Dn(){Tn(`mouseleave`)}function On(){if($e.value!==`pointer`)return;let e=document.activeElement;(e===A.value||e===qe.value)&&e.blur?.()}function kn(){On(),Tn(`click`)}function An(){$e.value=`keyboard`}function jn(){$e.value=`pointer`}function Mn(){$e.value=`pointer`;let e=document.activeElement,t=qe.value;t&&e&&t.contains(e)&&typeof e.blur==`function`&&e.blur()}function Nn(e){pt.value&&(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),e.stopPropagation(),Tn(`click`))}function Pn(e){let t=qe.value;t&&!t.contains(e.relatedTarget)&&Tn(`focus`)}function Fn(e){let t=qe.value;t&&!t.contains(e.relatedTarget)&&Tn(`blur`)}function In(e){let t=e.viewBox?.baseVal;if(t?.width>0&&t?.height>0)return{x:t.x,y:t.y,width:t.width,height:t.height};let n=e.getBoundingClientRect();return{x:0,y:0,width:e.clientWidth||n.width,height:e.clientHeight||n.height}}function Ln(e){return{x:e.x,y:e.y,width:e.width,height:e.height}}function Rn(e,{top:t=0,right:n=0,bottom:r=0,left:i=0}={}){return{x:e.x-i,y:e.y-t,width:e.width+i+n,height:e.height+t+r}}function Q(e,t){return{x:e.x+t.x,y:e.y+t.y,width:e.width,height:e.height}}function zn(e,t,n=0){return e.x<t.x+t.width+n&&e.x+e.width+n>t.x&&e.y<t.y+t.height+n&&e.y+e.height+n>t.y}function Bn(e,t){return Math.max(0,Math.min(e.x+e.width,t.x+t.width)-Math.max(e.x,t.x))*Math.max(0,Math.min(e.y+e.height,t.y+t.height)-Math.max(e.y,t.y))}function Vn(e,t,n=0){return e.x>=t.x+n&&e.y>=t.y+n&&e.x+e.width<=t.x+t.width-n&&e.y+e.height<=t.y+t.height-n}function Hn(e){return[`left`,`center`,`right`].includes(e)?e:`center`}function Un(e){return e===`left`?`start`:e===`right`?`end`:`middle`}function Wn(e){return e===`left`?Gt.value:e===`right`?Kt.value:z.value}function Gn(e){return e?String(e).split(/\r?\n/):[]}function Kn(e,t){let n=String(e??``);if(!n)return 0;let r=Number(t?.getAttribute?.(`font-size`));if(!Number.isFinite(r)||r<=0)try{r=Number.parseFloat(window.getComputedStyle(t).fontSize)}catch{r=0}return(!Number.isFinite(r)||r<=0)&&(r=12),Array.from(n).reduce((e,t)=>{if(/\s/u.test(t))return e+r*.33;if(/[ilI1.,'`:;|!]/u.test(t))return e+r*.3;if(/[MW@#%&]/u.test(t))return e+r*.9;let n=t.codePointAt(0)??0;return e+r*(n>=4352&&n<=4607||n>=11904&&n<=40959||n>=44032&&n<=55215||n>=63744&&n<=64255||n>=127744&&n<=129791?1:.56)},0)}function qn(e,t=``,n=null){if(!e)return Kn(t,n);try{let t=e.getComputedTextLength?.();if(Number.isFinite(t)&&t>0)return t}catch{}try{let t=e.getBBox?.().width;if(Number.isFinite(t)&&t>0)return t}catch{}try{let t=e.getBoundingClientRect?.().width,n=e.getScreenCTM?.(),r=n?Math.hypot(n.a,n.b):0;if(Number.isFinite(t)&&t>0&&Number.isFinite(r)&&r>0)return t/r}catch{}return Kn(t,n)}function Jn(e){if(!e?.isConnected)return null;let t=e.parentNode;if(!t)return null;let n=e.cloneNode(!1);return n.removeAttribute(`id`),n.setAttribute(`opacity`,`0`),n.setAttribute(`pointer-events`,`none`),n.setAttribute(`text-anchor`,`start`),n.setAttribute(`x`,`0`),n.setAttribute(`y`,`0`),n.setAttribute(`aria-hidden`,`true`),t.append(n),{measure(t){let r=String(t??``);return r?(n.textContent=r,qn(n,r,e)):0},destroy(){n.remove()}}}function Yn(e,t,n){if(!e)return[``];if(n(e)<=t)return[e];let r=[],i=``;for(let a of Array.from(e)){let e=i+a;i&&n(e)>t?(r.push(i),i=a):i=e}return i&&r.push(i),r.length?r:[e]}function Xn(e,t,n){if(e===``)return[``];if(n(e)<=t)return[e];let r=e.trim().split(/\s+/).filter(Boolean);if(!r.length)return[``];let i=[],a=``;for(let e of r){let r=Yn(e,t,n);for(let e of r){let r=a?`${a} ${e}`:e;if(!a||n(r)<=t){a=r;continue}i.push(a),a=e}}return a&&i.push(a),i.length?i:[``]}function Zn(e,t,r){let i=Gn(e);if(!i.length||!n(t)||t<=0)return i;let a=Jn(r);if(!a)return i;try{return i.flatMap(e=>Xn(e,t,a.measure))}finally{a.destroy()}}function Qn(e,t){if(!e.length)return 0;let n=Jn(t);if(!n)return 0;try{return e.reduce((e,t)=>Math.max(e,n.measure(t)),0)}finally{n.destroy()}}function $n(e){if(!e)return 0;let t=Array.from(e.querySelectorAll(`tspan`));return t.length?t.reduce((t,n)=>Math.max(t,qn(n,n.textContent??``,e)),0):qn(e,e.textContent??``,e)}function er(e,t,r){if(!n(e)||!n(t)||!n(r)||e<=0||t<=r)return e;let i=r/t;return Math.max(1,e*i*.985)}function tr(){let e=$n(Xe.value),t=$n(Ze.value);Z.value=e||Qn(X.value,Xe.value),Ht.value=t||Qn(Vt.value,Ze.value),Ut.value=Math.max(Z.value+Nt.value,Ht.value,0)}async function nr(){await h();let e=Rt.value;if(!e){X.value=Gn(k.value.title.text),Vt.value=Gn(k.value.content.text),await h(),tr(),await h(),$();return}let t=zt.value??e,n=e,r=t,i=n;for(let e=0;e<8;e+=1){X.value=Zn(k.value.title.text,r,Xe.value),Vt.value=Zn(k.value.content.text,i,Ze.value),await h();let e=$n(Xe.value),a=$n(Ze.value),o=!k.value.title.text||e<=t+.25,s=!k.value.content.text||a<=n+.25;if(o&&s)break;o||(r=er(r,e,t)),s||(i=er(i,a,n))}tr(),await h(),$()}function rr(e,t,n){let i=n.x+y-e.x,a=n.x+n.width-y-(e.x+e.width),o=n.y+y-e.y,s=n.y+n.height-y-(e.y+e.height),c,l;return c=i<=a?r(t.x,i,a):n.x+n.width/2-(e.x+e.width/2),l=o<=s?r(t.y,o,s):n.y+n.height/2-(e.y+e.height/2),{x:c,y:l}}function ir(e,t){let r=[{x:0,y:0,direction:`none`}],i=e.x+e.width/2,a=e.y+e.height/2;for(let o of t){let t=n(o.gap)?Math.max(0,Number(o.gap)):ot.value,s=o.x+o.width/2,c=o.y+o.height/2,l=o.y-t-(e.y+e.height),u=o.y+o.height+t-e.y,d=o.x-t-(e.x+e.width),f=o.x+o.width+t-e.x;r.push({x:0,y:l,direction:`top`},{x:0,y:u,direction:`bottom`},{x:d,y:0,direction:`left`},{x:f,y:0,direction:`right`},{x:s-i,y:l,direction:`top`},{x:s-i,y:u,direction:`bottom`},{x:d,y:c-a,direction:`left`},{x:f,y:c-a,direction:`right`})}let o=Math.max(e.width*.5+ot.value,12),s=Math.max(e.height*.5+ot.value,12);for(let e=1;e<=Ae;e+=1){let t=o*e,n=s*e;r.push({x:0,y:-n,direction:`top`},{x:-t,y:-n,direction:`top`},{x:t,y:-n,direction:`top`},{x:0,y:n,direction:`bottom`},{x:-t,y:n,direction:`bottom`},{x:t,y:n,direction:`bottom`},{x:-t,y:0,direction:`left`},{x:-t,y:-n,direction:`left`},{x:-t,y:n,direction:`left`},{x:t,y:0,direction:`right`},{x:t,y:-n,direction:`right`},{x:t,y:n,direction:`right`})}return r}function ar(e){let t=/* @__PURE__ */ new Set;return e.filter(e=>{let n=[e.x.toFixed(3),e.y.toFixed(3)].join(`:`);return!t.has(n)&&(t.add(n),!0)})}function or(e,t,n){if(e.preferred)return-(2**53-1);let r=Math.hypot(e.x,e.y);return t===`auto`||e.direction===`none`||e.direction===t?r:r+Math.max(n.width,n.height)*2}function sr(e,t){return t.some(t=>zn(e,t,n(t.gap)?Math.max(0,Number(t.gap)):ke))}function cr(e){let t=n(e?.gap)?Math.max(0,Number(e.gap)):ke;return{x:e.x-t,y:e.y-t,width:e.width+t*2,height:e.height+t*2}}function lr({baseRect:e,requestedOffset:t,previousOffset:r=null,hardObstacles:i,bounds:a,overflow:o}){let s={x:n(t?.x)?Number(t.x):0,y:n(t?.y)?Number(t.y):0};o||(s=rr(e,s,a));for(let t of i){let n=cr(t),i=Q(e,s);if(!zn(i,n))continue;let c=[{x:s.x+n.x-(i.x+i.width),y:s.y},{x:s.x+n.x+n.width-i.x,y:s.y},{x:s.x,y:s.y+n.y-(i.y+i.height)},{x:s.x,y:s.y+n.y+n.height-i.y}],l=o?c:c.filter(t=>Vn(Q(e,t),a,y)),u=l.length?l:c;u.sort((e,t)=>{let n=Math.hypot(e.x-s.x,e.y-s.y),i=Math.hypot(t.x-s.x,t.y-s.y);return n===i?r?Math.hypot(e.x-r.x,e.y-r.y)-Math.hypot(t.x-r.x,t.y-r.y):0:n-i}),s=u[0]??s}return s}function ur({baseRect:e,occupiedRects:t,hardObstacles:r,bounds:i,position:a,overflow:o,preferredOffset:s=null,ignoreOccupied:c=!1}){let l=ir(e,c?[...r]:[...t,...r]);s&&n(s.x)&&n(s.y)&&l.unshift({x:Number(s.x),y:Number(s.y),direction:`manual`,preferred:!0}),o||(l=l.map(t=>{let n=rr(e,t,i);return{...t,x:n.x,y:n.y}})),l=ar(l),l.sort((e,t)=>or(e,a,i)-or(t,a,i));function u(n){let a=Q(e,n);return!(!o&&!Vn(a,i,y)||sr(a,r)||!c&&t.some(e=>zn(a,e,ot.value)))}for(let t of l)if(u(t)){if(!t.preferred&&[`top`,`bottom`,`left`,`right`].includes(t.direction)&&r.length){let n=r[0],i=n.x+n.width/2,a=n.y+n.height/2,o=e.x+e.width/2,s=e.y+e.height/2,c={...t};if(t.direction===`top`||t.direction===`bottom`?c.x=i-o:c.y=a-s,u(c))return c}return t}let d=null,f=1/0,p=1/0;for(let n of l){let s=Q(e,n);if(!o&&!Vn(s,i,y)||sr(s,r))continue;let l=c?0:t.reduce((e,t)=>e+Bn(s,t),0),u=or(n,a,i);(l<f||l===f&&u<p)&&(f=l,p=u,d=n)}if(d)return d;let m=ar(ir(e,r)).sort((e,t)=>or(e,a,i)-or(t,a,i));for(let t of m)if(!sr(Q(e,t),r))return t;return{x:0,y:0,direction:`none`}}function dr(e,t){let r=e?.[t];return!r||!n(r.x)||!n(r.y)?null:{x:Number(r.x),y:Number(r.y)}}function fr(e){return dr(e,S)}function pr(e){return dr(e,C)}function mr(e){let t=e?.dataset?.boxPositionX,r=e?.dataset?.boxPositionY;return t===``||r===``||!n(t)||!n(r)?null:{x:Number(t),y:Number(r)}}function hr(e){return Number.isFinite(e?.[Re])?e[Re]:-1}function gr(e){let t=[...e.querySelectorAll(`.vue-ui-label`)].filter(t=>t.ownerSVGElement===e);Number.isFinite(e[Pe])||(e[Pe]=0);for(let n of t)Number.isFinite(n[b])||(n[b]=e[Pe],e[Pe]+=1);return t.sort((e,t)=>e[b]-t[b])}function _r(e){let t=Number(e.dataset.targetX),r=Number(e.dataset.targetY);return!Number.isFinite(t)||!Number.isFinite(r)?null:{x:t,y:r,width:0,height:0,gap:n(e.dataset.linkLength)?Math.max(0,Number(e.dataset.linkLength)):ke}}function vr(e,t,n=null,r=null){let i=e?.[Fe];typeof i==`function`&&i({layoutRect:t,boxRect:n,offset:r})}function yr(e,t,n=.001){return!e||!t?!1:Math.abs(Number(e.x)-Number(t.x))>n||Math.abs(Number(e.y)-Number(t.y))>n}function br(e,t,n,r,i){if(!e||!t||!n||!r||!yr(n,r))return;let a=e[E];a instanceof Map||(a=/* @__PURE__ */ new Map,e[E]=a),a.has(t)||a.set(t,{x:n.x,y:n.y}),t[T]={x:Number(i?.x)||0,y:Number(i?.y)||0}}function xr(e,t){let n=e?.[E];if(!(n instanceof Map))return[];let r=[];for(let[e,i]of n.entries()){if(!e?.isConnected||e===t)continue;let n=e[Be],a=e[T],o=e[Le];n&&yr(i,n)&&typeof o==`function`&&(a&&(e[S]={x:Number(a.x)||0,y:Number(a.y)||0}),r.push({emitDragEnd:o,position:{x:n.x,y:n.y}}))}return n.clear(),delete e[E],r}function Sr({baseRect:e,offset:t,occupiedRects:n,hardObstacles:r,bounds:i,overflow:a,ignoreOccupied:o=!1}){if(!t)return!1;let s=Q(e,t);return!(!a&&!Vn(s,i,y)||sr(s,r)||!o&&n.some(e=>zn(s,e,0)))}function Cr(e){if(!e?.isConnected)return;let t=gr(e);if(!t.length)return;let r=In(e);for(let e of t)e.setAttribute(`transform`,`translate(0 0)`);let i=[];for(let e of t){let t=e[Ie]??e,r;try{r=t.getBBox()}catch{vr(e,null,null,null);continue}if(!Number.isFinite(r.x)||!Number.isFinite(r.y)||!Number.isFinite(r.width)||!Number.isFinite(r.height)||r.width<=0||r.height<=0){vr(e,null,null,null);continue}let a=Ln(r),o=e.dataset.boxShow===`true`,s={top:n(e.dataset.boxPaddingTop)?Math.max(0,Number(e.dataset.boxPaddingTop)):0,right:n(e.dataset.boxPaddingRight)?Math.max(0,Number(e.dataset.boxPaddingRight)):0,bottom:n(e.dataset.boxPaddingBottom)?Math.max(0,Number(e.dataset.boxPaddingBottom)):0,left:n(e.dataset.boxPaddingLeft)?Math.max(0,Number(e.dataset.boxPaddingLeft)):0},c=o?Rn(a,s):a,l=o&&n(e.dataset.boxMaxWidth)&&Number(e.dataset.boxMaxWidth)>0?Number(e.dataset.boxMaxWidth):null,u=e.dataset.dragEnabled===`true`,d=e.dataset.dragHandlePosition,f=[`left`,`right`,`top`,`bottom`].includes(d)?d:`right`,p=o&&u&&n(e.dataset.dragHandleSize)?Math.max(0,Number(e.dataset.dragHandleSize)):0;if(p>0&&(c=f===`left`?{...c,x:c.x-p,width:c.width+p}:f===`right`?{...c,width:c.width+p}:f===`top`?{...c,y:c.y-p,height:c.height+p}:{...c,height:c.height+p}),l!==null&&c.width>l){let e=c.x+c.width/2;c={...c,x:e-l/2,width:l}}i.push({label:e,baseRect:c,boxShow:o,position:e.dataset.position||`auto`,overflow:e.dataset.overflow===`true`,overlap:e.dataset.overlap===`true`,dragHandlePosition:f,dragHandleSize:p,targetObstacle:_r(e),persistedOffset:fr(e),datasetPosition:mr(e),requestedDragOffset:pr(e),dragging:e[w]===!0,dragPriority:hr(e)})}i.sort((e,t)=>{if(e.dragging!==t.dragging)return e.dragging?-1:1;let n=!!e.datasetPosition||!!e.persistedOffset,r=!!t.datasetPosition||!!t.persistedOffset;return n===r?n&&r&&e.dragPriority!==t.dragPriority?t.dragPriority-e.dragPriority:e.label[b]-t.label[b]:n?-1:1});let a=i.some(e=>e.dragging),o=i.some(e=>e.dragging&&e.overlap),s=[];for(let t of i){let n=t.targetObstacle?[t.targetObstacle]:[],i;if(t.dragging)i=lr({baseRect:t.baseRect,requestedOffset:t.requestedDragOffset??t.persistedOffset,previousOffset:t.persistedOffset,hardObstacles:n,bounds:r,overflow:t.overflow});else if(a&&(o||t.overlap)&&t.label[T])i={x:Number(t.label[T].x)||0,y:Number(t.label[T].y)||0,direction:`overlap`};else if(!a&&t.datasetPosition)i={x:t.datasetPosition.x-t.baseRect.x,y:t.datasetPosition.y-t.baseRect.y,direction:`manual`};else if(!a&&t.persistedOffset)i={x:Number(t.persistedOffset.x)||0,y:Number(t.persistedOffset.y)||0,direction:`manual`};else{let e=t.label[T];i=a&&e&&Sr({baseRect:t.baseRect,offset:e,occupiedRects:s,hardObstacles:n,bounds:r,overflow:t.overflow,ignoreOccupied:t.overlap})?{x:Number(e.x)||0,y:Number(e.y)||0,direction:`stable`}:ur({baseRect:t.baseRect,occupiedRects:s,hardObstacles:n,bounds:r,position:t.position,overflow:t.overflow,preferredOffset:t.persistedOffset??(t.datasetPosition?{x:t.datasetPosition.x-t.baseRect.x,y:t.datasetPosition.y-t.baseRect.y}:e??null),ignoreOccupied:t.overlap})}t.label.setAttribute(`transform`,`translate(${i.x} ${i.y})`);let c=Q(t.baseRect,i),l=t.label[Be];a&&!o&&!t.dragging&&!t.overlap&&br(e,t.label,l,c,i),(t.datasetPosition||t.persistedOffset||t.dragging)&&(t.label[S]={x:i.x,y:i.y}),t.label[Be]={x:c.x,y:c.y,width:c.width,height:c.height},t.label[T]={x:Number(i.x)||0,y:Number(i.y)||0},vr(t.label,c,t.boxShow?t.baseRect:null,i),t.overlap||s.push(c)}}function $(e=j.value){e?.isConnected&&(e[x]||(e[x]=requestAnimationFrame(()=>{e[x]=null,Cr(e)})))}function wr(){let e=A.value,t=j.value;Qe.value=!0,P.value={x:0,y:0},e&&(F.value&&(t?.[x]&&(cancelAnimationFrame(t[x]),t[x]=null),sn(),F.value=!1,L.inputType=null,L.touchId=null,L.startPointer=null,L.startOffset=null,L.lastRequestedOffset=null),e[w]=!1,delete e[S],delete e[C],delete e[Be],delete e[T],delete e[Re],e.dataset.boxPositionX=``,e.dataset.boxPositionY=``,e.setAttribute(`transform`,`translate(0 0)`),t?.isConnected&&(t[E]=/* @__PURE__ */ new Map,$(t)))}return c({reorder:wr}),fe(()=>[D.dataset?.position?.x,D.dataset?.position?.y],(e,t)=>{t&&(e[0]!==t[0]||e[1]!==t[1])&&(Qe.value=!1)}),fe(()=>[D.dataset?.x,D.dataset?.y,D.dataset?.position?.x,D.dataset?.position?.y],()=>{if(!xt.value&&A.value&&!F.value){let e=D.dataset?.position;e&&(e.x===null||e.x===void 0||e.y===null||e.y===void 0)&&(delete A.value[S],P.value={x:0,y:0})}nr()},{flush:`post`}),fe(()=>D.config,()=>{!W.value&&F.value&&Sn(),nr()},{deep:!0,flush:`post`}),se(async()=>{await h(),window.addEventListener(`keydown`,An,!0),window.addEventListener(`pointerdown`,jn,!0),j.value=A.value?.ownerSVGElement??null;let e=j.value,t=A.value,n=Je.value;e&&t&&n&&(t[Ie]=n,t[Fe]=({layoutRect:e,boxRect:t,offset:n})=>{M.value=e,N.value=t,n&&(P.value={x:Number(n.x)||0,y:Number(n.y)||0})},t[Le]=e=>{O(`dragEnd`,{...D.dataset,position:{x:Number(e?.x)||0,y:Number(e?.y)||0}})},st=new MutationObserver(n=>{n.some(e=>!(e.type===`attributes`&&e.target===t&&e.attributeName===`transform`||e.type===`attributes`&&e.target===Ye.value))&&$(e)}),st.observe(t,{subtree:!0,childList:!0,characterData:!0,attributes:!0}),`ResizeObserver`in window&&(ct=new ResizeObserver(()=>{$(e)}),ct.observe(e)),document.fonts?.ready?.then(()=>{nr()}),nr())}),oe(()=>{sn(),window.removeEventListener(`keydown`,An,!0),window.removeEventListener(`pointerdown`,jn,!0),st?.disconnect(),ct?.disconnect(),I?.remove(),I=null,A.value&&(delete A.value[Fe],delete A.value[Ie],delete A.value[Le],delete A.value[Be],delete A.value[T],delete A.value[S],delete A.value[C],delete A.value[w],delete A.value[Re]),F.value=!1,L.inputType=null,L.touchId=null,L.startPointer=null,L.startOffset=null,L.lastRequestedOffset=null,M.value=null,N.value=null,P.value={x:0,y:0};let e=j.value;if(e){let t=e[E];t instanceof Map&&A.value&&t.delete(A.value),requestAnimationFrame(()=>{$(e)})}}),(e,t)=>(g(),m(`g`,{ref_key:`wrapperRef`,ref:qe,class:re([`vue-ui-label-wrapper`,{"vue-ui-label-wrapper--keyboard-focus":$e.value===`keyboard`}]),focusable:`false`,onPointerdownCapture:Mn,onMouseenter:En,onMouseleave:Dn,onFocusin:Pn,onFocusout:Fn},[Qt.value?(g(),m(`path`,{key:0,class:`vue-ui-label__link`,d:Qt.value.d,fill:`none`,stroke:V.value.stroke,"stroke-width":V.value.strokeWidth,"stroke-dasharray":V.value.strokeDasharray,"stroke-linecap":`round`,"pointer-events":`none`,"aria-hidden":`true`,focusable:`false`},null,8,he)):p(``,!0),V.value.targetPlot.show?(g(),m(`circle`,{key:1,cx:z.value,cy:B.value,r:V.value.targetPlot.radius,fill:V.value.stroke,stroke:V.value.targetPlot.stroke,"stroke-width":V.value.strokeWidth,"paint-order":`stroke fill`},null,8,ge)):p(``,!0),ee(`g`,{ref_key:`labelRef`,ref:A,class:`vue-ui-label`,focusable:`false`,id:`label_${de(Ke)}`,"data-position":k.value.position,"data-overflow":String(k.value.overflow),"data-overlap":String(dt.value),"data-target-x":R.value?z.value:``,"data-target-y":R.value?B.value:``,"data-box-position-x":St.value?St.value.x:``,"data-box-position-y":St.value?St.value.y:``,"data-link-length":V.value.show?Ct.value:ke,"data-box-show":String(H.value.show),"data-box-max-width":K.value!==null&&K.value>0?K.value:``,"data-box-padding-top":G.value.top,"data-box-padding-right":G.value.right,"data-box-padding-bottom":G.value.bottom,"data-box-padding-left":G.value.left,"data-drag-enabled":String(W.value),"data-drag-handle-position":bt.value,"data-drag-handle-size":It.value,onClick:kn},[q.value?(g(),m(`rect`,{key:0,ref_key:`boxRef`,ref:Ye,class:`vue-ui-label__box`,x:q.value.x,y:q.value.y,width:q.value.width,height:q.value.height,rx:q.value.rx,fill:H.value.backgroundColor,stroke:H.value.borderColor,"stroke-width":Pt.value,"aria-hidden":`true`,focusable:`false`},null,8,ve)):p(``,!0),Y.value?(g(),m(`rect`,{key:1,class:`vue-ui-label__action-target`,x:Y.value.x,y:Y.value.y,width:Y.value.width,height:Y.value.height,rx:Y.value.rx,fill:`transparent`,"pointer-events":`none`,role:`button`,tabindex:`0`,"aria-label":mt.value,onKeydown:Nn},null,40,ye)):p(``,!0),le(e.$slots,`before`,ie(ne({...D,box:q.value})),void 0,!0),ee(`g`,{ref_key:`contentRef`,ref:Je,class:`vue-ui-label__body`},[le(e.$slots,`title`,ie(ne({...D,box:q.value})),()=>[jt.value&&Yt.value&&R.value?(g(),f(s,{key:0,class:`vue-ui-label__marker`,plot:Yt.value,radius:At.value,shape:U.value.shape,color:U.value.color,"pointer-events":`none`,"aria-hidden":`true`,focusable:`false`},null,8,[`plot`,`radius`,`shape`,`color`])):p(``,!0),k.value.title.text&&R.value?(g(),m(`text`,{key:1,ref_key:`titleTextRef`,ref:Xe,class:`vue-ui-label__title`,"font-size":et.value,"font-weight":k.value.title.bold?`bold`:`normal`,"text-anchor":Et.value,fill:k.value.title.color},[(g(!0),m(u,null,ce(X.value,(e,t)=>(g(),m(`tspan`,{key:`title_${t}`,x:Jt.value,y:B.value+t*tt.value},ue(e),9,xe))),128))],8,be)):p(``,!0),!jt.value&&Yt.value&&R.value?(g(),f(s,{key:2,class:`vue-ui-label__marker`,plot:Yt.value,radius:At.value,shape:U.value.shape,color:U.value.color,"pointer-events":`none`,"aria-hidden":`true`,focusable:`false`},null,8,[`plot`,`radius`,`shape`,`color`])):p(``,!0)],!0),le(e.$slots,`content`,ie(ne({...D,box:q.value})),()=>[k.value.content.text&&R.value?(g(),m(`text`,{key:0,ref_key:`contentTextRef`,ref:Ze,class:`vue-ui-label__content`,"font-size":nt.value,"font-weight":k.value.content.bold?`bold`:`normal`,"text-anchor":Dt.value,fill:k.value.content.color},[(g(!0),m(u,null,ce(Vt.value,(e,t)=>(g(),m(`tspan`,{key:`content_${t}`,x:Xt.value,y:Zt.value+t*rt.value},ue(e),9,Ce))),128))],8,Se)):p(``,!0)],!0)],512),le(e.$slots,`after`,ie(ne({...D,box:q.value})),void 0,!0),Bt.value?(g(),m(`g`,{key:2,class:`vue-ui-label__drag-handle`,style:ae({cursor:F.value?`grabbing`:`grab`,touchAction:`none`}),role:`button`,tabindex:`0`,"aria-label":ht.value,"aria-describedby":gt,"aria-keyshortcuts":`ArrowUp ArrowDown ArrowLeft ArrowRight`,onKeydown:mn,onClick:t[0]||=pe(()=>{},[`stop`]),onPointerdown:t[1]||=pe(()=>{},[`stop`]),onMousedown:pe(ln,[`stop`,`prevent`]),onTouchstart:pe(un,[`stop`,`prevent`])},[ee(`desc`,{id:gt},ue(_t.value),1),J.value?(g(),m(`rect`,{key:0,x:J.value.x,y:J.value.y,width:J.value.width,height:J.value.height,fill:`transparent`,"pointer-events":`all`,"aria-hidden":`true`,focusable:`false`},null,8,Te)):p(``,!0),J.value?(g(),m(`rect`,{key:1,class:`vue-ui-label__focus-ring`,x:J.value.x,y:J.value.y,width:J.value.width,height:J.value.height,rx:Math.min(4,J.value.width/2,J.value.height/2),fill:`none`,stroke:`currentColor`,"stroke-width":`2`,"pointer-events":`none`,"aria-hidden":`true`,focusable:`false`},null,8,Ee)):p(``,!0),k.value.drag.showSeparator?(g(),m(`path`,{key:2,d:Bt.value.separatorPath,stroke:H.value.borderColor,"stroke-width":Math.max(.5,Pt.value),"pointer-events":`none`,"aria-hidden":`true`,focusable:`false`},null,8,De)):p(``,!0),ee(`path`,{d:Bt.value.gripPath,stroke:k.value.drag.iconColor,"stroke-width":yt.value,"stroke-linecap":`round`,opacity:k.value.drag.iconOpacity,"pointer-events":`none`,"aria-hidden":`true`,focusable:`false`},null,8,Oe)],44,we)):p(``,!0)],8,_e)],34))}},[[`__scopeId`,`data-v-4fe38f01`]]);export{me as n,D as t};
7
+ `;let d=vt.value,f=yt.value/2,p=Math.max(0,d/2-f),m=d*.14;c=[-.7,0,.7].flatMap(e=>{let t=l+p*e;return[`M ${t} ${u-m} h 0`,`M ${t} ${u+m} h 0`]}).join(` `)}return{x:r,y:i,width:a,height:o,separatorPath:s,gripPath:c,position:e}}),J=d(()=>{let e=Bt.value;if(!e)return null;let t=Math.max(je,e.width),n=Math.max(je,e.height),r=e.x,i=e.y;return e.position===`left`?r=e.x+e.width-t:e.position===`top`&&(i=e.y+e.height-n),e.position===`left`||e.position===`right`?i=e.y+e.height/2-n/2:r=e.x+e.width/2-t/2,{x:r,y:i,width:t,height:n}}),Y=d(()=>{if(!pt.value)return null;let e=null;if(q.value?e={...q.value}:M.value&&(e={x:M.value.x-P.value.x,y:M.value.y-P.value.y,width:M.value.width,height:M.value.height,rx:0}),!e)return null;let t=Bt.value;return t&&(t.position===`left`?(e.x+=t.width,e.width-=t.width):t.position===`right`?e.width-=t.width:(t.position===`top`&&(e.y+=t.height),e.height-=t.height)),e.width<=0||e.height<=0?null:e}),X=_(Gn(k.value.title.text)),Vt=_(Gn(k.value.content.text)),Z=_(0),Ht=_(0),Ut=_(0),Wt=d(()=>Z.value+Nt.value),Gt=d(()=>z.value-Ut.value/2),Kt=d(()=>z.value+Ut.value/2),qt=d(()=>wt.value===`left`?Gt.value:wt.value===`right`?Kt.value-Wt.value:z.value-Wt.value/2),Jt=d(()=>{let e=qt.value+(jt.value?Nt.value:0);return wt.value===`left`?e:wt.value===`right`?e+Z.value:e+Z.value/2}),Yt=d(()=>!Ot.value||At.value<=0?null:{x:jt.value?qt.value+At.value:qt.value+Z.value+Mt.value+At.value,y:B.value-et.value*.35+U.value.offsetY}),Xt=d(()=>Wn(Tt.value)),Zt=d(()=>X.value.length?B.value+X.value.length*tt.value+it.value:B.value),Qt=d(()=>{if(!V.value.show||!R.value||!M.value)return null;let e=M.value,t=z.value,n=B.value,r=e.x+e.width/2,a=e.y+e.height/2,o=r-t,s=a-n,c,l,u,d=H.value.show?Math.min(Ft.value,e.width/2,e.height/2):0,f=Math.abs(r-t)<.001,p=Math.abs(a-n)<.001;return Math.abs(o)>=Math.abs(s)?(o>=0?(u=`left`,c=e.x):(u=`right`,c=e.x+e.width),l=p?a:i(n,e.y+d,e.y+e.height-d)):(s>=0?(u=`top`,l=e.y):(u=`bottom`,l=e.y+e.height),c=f?r:i(t,e.x+d,e.x+e.width-d)),{d:`M ${t} ${n} L ${c} ${l}`,side:u,start:{x:t,y:n},end:{x:c,y:l}}});function $t(e,t){let n=j.value;if(!n?.createSVGPoint||!Number.isFinite(e)||!Number.isFinite(t))return null;let r=n.getScreenCTM?.();if(!r)return null;let i=n.createSVGPoint();i.x=e,i.y=t;try{let e=i.matrixTransform(r.inverse());return!Number.isFinite(e.x)||!Number.isFinite(e.y)?null:{x:e.x,y:e.y}}catch{return null}}function en(e=P.value){return{dataset:D.dataset,offset:{x:Number(e?.x)||0,y:Number(e?.y)||0},rect:M.value?{...M.value}:null}}function tn(e){let t=j.value;t&&e&&(Number.isFinite(t[ze])||(t[ze]=0),t[ze]+=1,e[Re]=t[ze])}function nn(){window.addEventListener(`mousemove`,gn,!0),window.addEventListener(`mouseup`,_n,!0)}function rn(){window.removeEventListener(`mousemove`,gn,!0),window.removeEventListener(`mouseup`,_n,!0)}function an(){window.addEventListener(`touchmove`,yn,{capture:!0,passive:!1}),window.addEventListener(`touchend`,bn,!0),window.addEventListener(`touchcancel`,xn,!0)}function on(){window.removeEventListener(`touchmove`,yn,!0),window.removeEventListener(`touchend`,bn,!0),window.removeEventListener(`touchcancel`,xn,!0)}function sn(){rn(),on()}function cn({event:e,inputType:t,touchId:n=null,pointer:r}){if(F.value||!W.value||!A.value||!j.value||!r)return;e.preventDefault(),e.stopPropagation();let i=A.value,a={x:Number(P.value?.x)||0,y:Number(P.value?.y)||0};L.inputType=t,L.touchId=n,L.startPointer=r,L.startOffset=a,L.lastRequestedOffset=a,F.value=!0,i[w]=!0,i[S]={...a},i[C]={...a},j.value[E]=/* @__PURE__ */ new Map,tn(i),t===`mouse`?nn():an(),O(`dragStart`,en(a))}function ln(e){e.button===0&&cn({event:e,inputType:`mouse`,pointer:$t(e.clientX,e.clientY)})}function un(e){let t=e.changedTouches?.[0]??e.touches?.[0];t&&cn({event:e,inputType:`touch`,touchId:t.identifier,pointer:$t(t.clientX,t.clientY)})}function dn(){if(I||typeof document>`u`)return I;let e=document.createElement(`div`);return e.setAttribute(`role`,`status`),e.setAttribute(`aria-live`,`polite`),e.setAttribute(`aria-atomic`,`true`),e.style.position=`fixed`,e.style.width=`1px`,e.style.height=`1px`,e.style.padding=`0`,e.style.margin=`-1px`,e.style.overflow=`hidden`,e.style.clip=`rect(0, 0, 0, 0)`,e.style.whiteSpace=`nowrap`,e.style.border=`0`,document.body.append(e),I=e,I}function fn(e){let t=dn();if(!t)return;let n=Number(e?.x)||0,r=Number(e?.y)||0,i=e=>Number.isInteger(e)?String(e):e.toFixed(2);t.textContent=``,requestAnimationFrame(()=>{I&&(I.textContent=`${mt.value} moved to x ${i(n)}, y ${i(r)}.`)})}function pn(e,t){let n=A.value,r=j.value;if(F.value||!W.value||!n||!r?.isConnected)return;let i={x:Number(P.value?.x)||0,y:Number(P.value?.y)||0},a={x:i.x+e,y:i.y+t};L.inputType=`keyboard`,L.touchId=null,L.startPointer=null,L.startOffset=i,L.lastRequestedOffset=a,F.value=!0,n[w]=!0,n[S]={...i},n[C]={...a},r[E]=/* @__PURE__ */ new Map,tn(n),O(`dragStart`,en(i)),O(`drag`,en(a)),Cr(r),Sn()}function mn(e){if(!W.value)return;let t={ArrowUp:[0,-1],ArrowDown:[0,1],ArrowLeft:[-1,0],ArrowRight:[1,0]}[e.key];if(!t)return;e.preventDefault(),e.stopPropagation();let n=e.shiftKey?Ne:Me;pn(t[0]*n,t[1]*n)}function hn(e,t=null){if(!F.value||!L.startPointer||!L.startOffset||!A.value||!e)return;t&&(t.cancelable&&t.preventDefault(),t.stopPropagation());let n={x:L.startOffset.x+(e.x-L.startPointer.x),y:L.startOffset.y+(e.y-L.startPointer.y)};L.lastRequestedOffset=n,A.value[C]={...n},$(j.value),O(`drag`,en(n))}function gn(e){F.value&&L.inputType===`mouse`&&hn($t(e.clientX,e.clientY),e)}function _n(e){F.value&&L.inputType===`mouse`&&Sn(e)}function vn(e){if(!e||L.touchId===null)return null;for(let t of e)if(t.identifier===L.touchId)return t;return null}function yn(e){if(!F.value||L.inputType!==`touch`)return;let t=vn(e.touches);t&&hn($t(t.clientX,t.clientY),e)}function bn(e){F.value&&L.inputType===`touch`&&vn(e.changedTouches)&&Sn(e)}function xn(e){F.value&&L.inputType===`touch`&&vn(e.changedTouches)&&Sn(e)}function Sn(e=null){if(!F.value)return;e&&(e.cancelable&&e.preventDefault(),e.stopPropagation());let t=A.value,n=j.value,r=L.inputType;n?.[x]&&(cancelAnimationFrame(n[x]),n[x]=null),n?.isConnected&&t&&Cr(n);let i=t?fr(t)??{x:Number(P.value?.x)||0,y:Number(P.value?.y)||0}:{x:Number(P.value?.x)||0,y:Number(P.value?.y)||0},a=M.value?{x:M.value.x,y:M.value.y}:N.value?{x:N.value.x+i.x,y:N.value.y+i.y}:{x:z.value+i.x,y:B.value+i.y},o=xr(n,t);t&&(t[S]={x:i.x,y:i.y},t[w]=!1,delete t[C]),P.value={x:i.x,y:i.y},sn(),F.value=!1,L.inputType=null,L.touchId=null,L.startPointer=null,L.startOffset=null,L.lastRequestedOffset=null,requestAnimationFrame(()=>{O(`dragEnd`,wn(a)),r===`keyboard`&&fn(a);for(let e of o)e.emitDragEnd(e.position)})}function Cn(e=P.value){return M.value?{x:M.value.x,y:M.value.y}:N.value?{x:N.value.x+(Number(e?.x)||0),y:N.value.y+(Number(e?.y)||0)}:{x:z.value+(Number(e?.x)||0),y:B.value+(Number(e?.y)||0)}}function wn(e=Cn()){return{...D.dataset,position:{x:Number(e?.x)||0,y:Number(e?.y)||0}}}function Tn(e){O(e,wn())}function En(){Tn(`mouseenter`)}function Dn(){Tn(`mouseleave`)}function On(){if($e.value!==`pointer`)return;let e=document.activeElement;(e===A.value||e===qe.value)&&e.blur?.()}function kn(){On(),Tn(`click`)}function An(){$e.value=`keyboard`}function jn(){$e.value=`pointer`}function Mn(){$e.value=`pointer`;let e=document.activeElement,t=qe.value;t&&e&&t.contains(e)&&typeof e.blur==`function`&&e.blur()}function Nn(e){pt.value&&(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),e.stopPropagation(),Tn(`click`))}function Pn(e){let t=qe.value;t&&!t.contains(e.relatedTarget)&&Tn(`focus`)}function Fn(e){let t=qe.value;t&&!t.contains(e.relatedTarget)&&Tn(`blur`)}function In(e){let t=e.viewBox?.baseVal;if(t?.width>0&&t?.height>0)return{x:t.x,y:t.y,width:t.width,height:t.height};let n=e.getBoundingClientRect();return{x:0,y:0,width:e.clientWidth||n.width,height:e.clientHeight||n.height}}function Ln(e){return{x:e.x,y:e.y,width:e.width,height:e.height}}function Rn(e,{top:t=0,right:n=0,bottom:r=0,left:i=0}={}){return{x:e.x-i,y:e.y-t,width:e.width+i+n,height:e.height+t+r}}function Q(e,t){return{x:e.x+t.x,y:e.y+t.y,width:e.width,height:e.height}}function zn(e,t,n=0){return e.x<t.x+t.width+n&&e.x+e.width+n>t.x&&e.y<t.y+t.height+n&&e.y+e.height+n>t.y}function Bn(e,t){return Math.max(0,Math.min(e.x+e.width,t.x+t.width)-Math.max(e.x,t.x))*Math.max(0,Math.min(e.y+e.height,t.y+t.height)-Math.max(e.y,t.y))}function Vn(e,t,n=0){return e.x>=t.x+n&&e.y>=t.y+n&&e.x+e.width<=t.x+t.width-n&&e.y+e.height<=t.y+t.height-n}function Hn(e){return[`left`,`center`,`right`].includes(e)?e:`center`}function Un(e){return e===`left`?`start`:e===`right`?`end`:`middle`}function Wn(e){return e===`left`?Gt.value:e===`right`?Kt.value:z.value}function Gn(e){return e?String(e).split(/\r?\n/):[]}function Kn(e,t){let n=String(e??``);if(!n)return 0;let r=Number(t?.getAttribute?.(`font-size`));if(!Number.isFinite(r)||r<=0)try{r=Number.parseFloat(window.getComputedStyle(t).fontSize)}catch{r=0}return(!Number.isFinite(r)||r<=0)&&(r=12),Array.from(n).reduce((e,t)=>{if(/\s/u.test(t))return e+r*.33;if(/[ilI1.,'`:;|!]/u.test(t))return e+r*.3;if(/[MW@#%&]/u.test(t))return e+r*.9;let n=t.codePointAt(0)??0;return e+r*(n>=4352&&n<=4607||n>=11904&&n<=40959||n>=44032&&n<=55215||n>=63744&&n<=64255||n>=127744&&n<=129791?1:.56)},0)}function qn(e,t=``,n=null){if(!e)return Kn(t,n);try{let t=e.getComputedTextLength?.();if(Number.isFinite(t)&&t>0)return t}catch{}try{let t=e.getBBox?.().width;if(Number.isFinite(t)&&t>0)return t}catch{}try{let t=e.getBoundingClientRect?.().width,n=e.getScreenCTM?.(),r=n?Math.hypot(n.a,n.b):0;if(Number.isFinite(t)&&t>0&&Number.isFinite(r)&&r>0)return t/r}catch{}return Kn(t,n)}function Jn(e){if(!e?.isConnected)return null;let t=e.parentNode;if(!t)return null;let n=e.cloneNode(!1);return n.removeAttribute(`id`),n.setAttribute(`opacity`,`0`),n.setAttribute(`pointer-events`,`none`),n.setAttribute(`text-anchor`,`start`),n.setAttribute(`x`,`0`),n.setAttribute(`y`,`0`),n.setAttribute(`aria-hidden`,`true`),t.append(n),{measure(t){let r=String(t??``);return r?(n.textContent=r,qn(n,r,e)):0},destroy(){n.remove()}}}function Yn(e,t,n){if(!e)return[``];if(n(e)<=t)return[e];let r=[],i=``;for(let a of Array.from(e)){let e=i+a;i&&n(e)>t?(r.push(i),i=a):i=e}return i&&r.push(i),r.length?r:[e]}function Xn(e,t,n){if(e===``)return[``];if(n(e)<=t)return[e];let r=e.trim().split(/\s+/).filter(Boolean);if(!r.length)return[``];let i=[],a=``;for(let e of r){let r=Yn(e,t,n);for(let e of r){let r=a?`${a} ${e}`:e;if(!a||n(r)<=t){a=r;continue}i.push(a),a=e}}return a&&i.push(a),i.length?i:[``]}function Zn(e,t,n){let i=Gn(e);if(!i.length||!r(t)||t<=0)return i;let a=Jn(n);if(!a)return i;try{return i.flatMap(e=>Xn(e,t,a.measure))}finally{a.destroy()}}function Qn(e,t){if(!e.length)return 0;let n=Jn(t);if(!n)return 0;try{return e.reduce((e,t)=>Math.max(e,n.measure(t)),0)}finally{n.destroy()}}function $n(e){if(!e)return 0;let t=Array.from(e.querySelectorAll(`tspan`));return t.length?t.reduce((t,n)=>Math.max(t,qn(n,n.textContent??``,e)),0):qn(e,e.textContent??``,e)}function er(e,t,n){if(!r(e)||!r(t)||!r(n)||e<=0||t<=n)return e;let i=n/t;return Math.max(1,e*i*.985)}function tr(){let e=$n(Xe.value),t=$n(Ze.value);Z.value=e||Qn(X.value,Xe.value),Ht.value=t||Qn(Vt.value,Ze.value),Ut.value=Math.max(Z.value+Nt.value,Ht.value,0)}async function nr(){await h();let e=Rt.value;if(!e){X.value=Gn(k.value.title.text),Vt.value=Gn(k.value.content.text),await h(),tr(),await h(),$();return}let t=zt.value??e,n=e,r=t,i=n;for(let e=0;e<8;e+=1){X.value=Zn(k.value.title.text,r,Xe.value),Vt.value=Zn(k.value.content.text,i,Ze.value),await h();let e=$n(Xe.value),a=$n(Ze.value),o=!k.value.title.text||e<=t+.25,s=!k.value.content.text||a<=n+.25;if(o&&s)break;o||(r=er(r,e,t)),s||(i=er(i,a,n))}tr(),await h(),$()}function rr(e,t,n){let r=n.x+y-e.x,a=n.x+n.width-y-(e.x+e.width),o=n.y+y-e.y,s=n.y+n.height-y-(e.y+e.height),c,l;return c=r<=a?i(t.x,r,a):n.x+n.width/2-(e.x+e.width/2),l=o<=s?i(t.y,o,s):n.y+n.height/2-(e.y+e.height/2),{x:c,y:l}}function ir(e,t){let n=[{x:0,y:0,direction:`none`}],i=e.x+e.width/2,a=e.y+e.height/2;for(let o of t){let t=r(o.gap)?Math.max(0,Number(o.gap)):ot.value,s=o.x+o.width/2,c=o.y+o.height/2,l=o.y-t-(e.y+e.height),u=o.y+o.height+t-e.y,d=o.x-t-(e.x+e.width),f=o.x+o.width+t-e.x;n.push({x:0,y:l,direction:`top`},{x:0,y:u,direction:`bottom`},{x:d,y:0,direction:`left`},{x:f,y:0,direction:`right`},{x:s-i,y:l,direction:`top`},{x:s-i,y:u,direction:`bottom`},{x:d,y:c-a,direction:`left`},{x:f,y:c-a,direction:`right`})}let o=Math.max(e.width*.5+ot.value,12),s=Math.max(e.height*.5+ot.value,12);for(let e=1;e<=Ae;e+=1){let t=o*e,r=s*e;n.push({x:0,y:-r,direction:`top`},{x:-t,y:-r,direction:`top`},{x:t,y:-r,direction:`top`},{x:0,y:r,direction:`bottom`},{x:-t,y:r,direction:`bottom`},{x:t,y:r,direction:`bottom`},{x:-t,y:0,direction:`left`},{x:-t,y:-r,direction:`left`},{x:-t,y:r,direction:`left`},{x:t,y:0,direction:`right`},{x:t,y:-r,direction:`right`},{x:t,y:r,direction:`right`})}return n}function ar(e){let t=/* @__PURE__ */ new Set;return e.filter(e=>{let n=[e.x.toFixed(3),e.y.toFixed(3)].join(`:`);return!t.has(n)&&(t.add(n),!0)})}function or(e,t,n){if(e.preferred)return-(2**53-1);let r=Math.hypot(e.x,e.y);return t===`auto`||e.direction===`none`||e.direction===t?r:r+Math.max(n.width,n.height)*2}function sr(e,t){return t.some(t=>zn(e,t,r(t.gap)?Math.max(0,Number(t.gap)):ke))}function cr(e){let t=r(e?.gap)?Math.max(0,Number(e.gap)):ke;return{x:e.x-t,y:e.y-t,width:e.width+t*2,height:e.height+t*2}}function lr({baseRect:e,requestedOffset:t,previousOffset:n=null,hardObstacles:i,bounds:a,overflow:o}){let s={x:r(t?.x)?Number(t.x):0,y:r(t?.y)?Number(t.y):0};o||(s=rr(e,s,a));for(let t of i){let r=cr(t),i=Q(e,s);if(!zn(i,r))continue;let c=[{x:s.x+r.x-(i.x+i.width),y:s.y},{x:s.x+r.x+r.width-i.x,y:s.y},{x:s.x,y:s.y+r.y-(i.y+i.height)},{x:s.x,y:s.y+r.y+r.height-i.y}],l=o?c:c.filter(t=>Vn(Q(e,t),a,y)),u=l.length?l:c;u.sort((e,t)=>{let r=Math.hypot(e.x-s.x,e.y-s.y),i=Math.hypot(t.x-s.x,t.y-s.y);return r===i?n?Math.hypot(e.x-n.x,e.y-n.y)-Math.hypot(t.x-n.x,t.y-n.y):0:r-i}),s=u[0]??s}return s}function ur({baseRect:e,occupiedRects:t,hardObstacles:n,bounds:i,position:a,overflow:o,preferredOffset:s=null,ignoreOccupied:c=!1}){let l=ir(e,c?[...n]:[...t,...n]);s&&r(s.x)&&r(s.y)&&l.unshift({x:Number(s.x),y:Number(s.y),direction:`manual`,preferred:!0}),o||(l=l.map(t=>{let n=rr(e,t,i);return{...t,x:n.x,y:n.y}})),l=ar(l),l.sort((e,t)=>or(e,a,i)-or(t,a,i));function u(r){let a=Q(e,r);return!(!o&&!Vn(a,i,y)||sr(a,n)||!c&&t.some(e=>zn(a,e,ot.value)))}for(let t of l)if(u(t)){if(!t.preferred&&[`top`,`bottom`,`left`,`right`].includes(t.direction)&&n.length){let r=n[0],i=r.x+r.width/2,a=r.y+r.height/2,o=e.x+e.width/2,s=e.y+e.height/2,c={...t};if(t.direction===`top`||t.direction===`bottom`?c.x=i-o:c.y=a-s,u(c))return c}return t}let d=null,f=1/0,p=1/0;for(let r of l){let s=Q(e,r);if(!o&&!Vn(s,i,y)||sr(s,n))continue;let l=c?0:t.reduce((e,t)=>e+Bn(s,t),0),u=or(r,a,i);(l<f||l===f&&u<p)&&(f=l,p=u,d=r)}if(d)return d;let m=ar(ir(e,n)).sort((e,t)=>or(e,a,i)-or(t,a,i));for(let t of m)if(!sr(Q(e,t),n))return t;return{x:0,y:0,direction:`none`}}function dr(e,t){let n=e?.[t];return!n||!r(n.x)||!r(n.y)?null:{x:Number(n.x),y:Number(n.y)}}function fr(e){return dr(e,S)}function pr(e){return dr(e,C)}function mr(e){let t=e?.dataset?.boxPositionX,n=e?.dataset?.boxPositionY;return t===``||n===``||!r(t)||!r(n)?null:{x:Number(t),y:Number(n)}}function hr(e){return Number.isFinite(e?.[Re])?e[Re]:-1}function gr(e){let t=[...e.querySelectorAll(`.vue-ui-label`)].filter(t=>t.ownerSVGElement===e);Number.isFinite(e[Pe])||(e[Pe]=0);for(let n of t)Number.isFinite(n[b])||(n[b]=e[Pe],e[Pe]+=1);return t.sort((e,t)=>e[b]-t[b])}function _r(e){let t=Number(e.dataset.targetX),n=Number(e.dataset.targetY);return!Number.isFinite(t)||!Number.isFinite(n)?null:{x:t,y:n,width:0,height:0,gap:r(e.dataset.linkLength)?Math.max(0,Number(e.dataset.linkLength)):ke}}function vr(e,t,n=null,r=null){let i=e?.[Fe];typeof i==`function`&&i({layoutRect:t,boxRect:n,offset:r})}function yr(e,t,n=.001){return!e||!t?!1:Math.abs(Number(e.x)-Number(t.x))>n||Math.abs(Number(e.y)-Number(t.y))>n}function br(e,t,n,r,i){if(!e||!t||!n||!r||!yr(n,r))return;let a=e[E];a instanceof Map||(a=/* @__PURE__ */ new Map,e[E]=a),a.has(t)||a.set(t,{x:n.x,y:n.y}),t[T]={x:Number(i?.x)||0,y:Number(i?.y)||0}}function xr(e,t){let n=e?.[E];if(!(n instanceof Map))return[];let r=[];for(let[e,i]of n.entries()){if(!e?.isConnected||e===t)continue;let n=e[Be],a=e[T],o=e[Le];n&&yr(i,n)&&typeof o==`function`&&(a&&(e[S]={x:Number(a.x)||0,y:Number(a.y)||0}),r.push({emitDragEnd:o,position:{x:n.x,y:n.y}}))}return n.clear(),delete e[E],r}function Sr({baseRect:e,offset:t,occupiedRects:n,hardObstacles:r,bounds:i,overflow:a,ignoreOccupied:o=!1}){if(!t)return!1;let s=Q(e,t);return!(!a&&!Vn(s,i,y)||sr(s,r)||!o&&n.some(e=>zn(s,e,0)))}function Cr(e){if(!e?.isConnected)return;let t=gr(e);if(!t.length)return;let n=In(e);for(let e of t)e.setAttribute(`transform`,`translate(0 0)`);let i=[];for(let e of t){let t=e[Ie]??e,n;try{n=t.getBBox()}catch{vr(e,null,null,null);continue}if(!Number.isFinite(n.x)||!Number.isFinite(n.y)||!Number.isFinite(n.width)||!Number.isFinite(n.height)||n.width<=0||n.height<=0){vr(e,null,null,null);continue}let a=Ln(n),o=e.dataset.boxShow===`true`,s={top:r(e.dataset.boxPaddingTop)?Math.max(0,Number(e.dataset.boxPaddingTop)):0,right:r(e.dataset.boxPaddingRight)?Math.max(0,Number(e.dataset.boxPaddingRight)):0,bottom:r(e.dataset.boxPaddingBottom)?Math.max(0,Number(e.dataset.boxPaddingBottom)):0,left:r(e.dataset.boxPaddingLeft)?Math.max(0,Number(e.dataset.boxPaddingLeft)):0},c=o?Rn(a,s):a,l=o&&r(e.dataset.boxMaxWidth)&&Number(e.dataset.boxMaxWidth)>0?Number(e.dataset.boxMaxWidth):null,u=e.dataset.dragEnabled===`true`,d=e.dataset.dragHandlePosition,f=[`left`,`right`,`top`,`bottom`].includes(d)?d:`right`,p=o&&u&&r(e.dataset.dragHandleSize)?Math.max(0,Number(e.dataset.dragHandleSize)):0;if(p>0&&(c=f===`left`?{...c,x:c.x-p,width:c.width+p}:f===`right`?{...c,width:c.width+p}:f===`top`?{...c,y:c.y-p,height:c.height+p}:{...c,height:c.height+p}),l!==null&&c.width>l){let e=c.x+c.width/2;c={...c,x:e-l/2,width:l}}i.push({label:e,baseRect:c,boxShow:o,position:e.dataset.position||`auto`,overflow:e.dataset.overflow===`true`,overlap:e.dataset.overlap===`true`,dragHandlePosition:f,dragHandleSize:p,targetObstacle:_r(e),persistedOffset:fr(e),datasetPosition:mr(e),requestedDragOffset:pr(e),dragging:e[w]===!0,dragPriority:hr(e)})}i.sort((e,t)=>{if(e.dragging!==t.dragging)return e.dragging?-1:1;let n=!!e.datasetPosition||!!e.persistedOffset,r=!!t.datasetPosition||!!t.persistedOffset;return n===r?n&&r&&e.dragPriority!==t.dragPriority?t.dragPriority-e.dragPriority:e.label[b]-t.label[b]:n?-1:1});let a=i.some(e=>e.dragging),o=i.some(e=>e.dragging&&e.overlap),s=[];for(let t of i){let r=t.targetObstacle?[t.targetObstacle]:[],i;if(t.dragging)i=lr({baseRect:t.baseRect,requestedOffset:t.requestedDragOffset??t.persistedOffset,previousOffset:t.persistedOffset,hardObstacles:r,bounds:n,overflow:t.overflow});else if(a&&(o||t.overlap)&&t.label[T])i={x:Number(t.label[T].x)||0,y:Number(t.label[T].y)||0,direction:`overlap`};else if(!a&&t.datasetPosition)i={x:t.datasetPosition.x-t.baseRect.x,y:t.datasetPosition.y-t.baseRect.y,direction:`manual`};else if(!a&&t.persistedOffset)i={x:Number(t.persistedOffset.x)||0,y:Number(t.persistedOffset.y)||0,direction:`manual`};else{let e=t.label[T];i=a&&e&&Sr({baseRect:t.baseRect,offset:e,occupiedRects:s,hardObstacles:r,bounds:n,overflow:t.overflow,ignoreOccupied:t.overlap})?{x:Number(e.x)||0,y:Number(e.y)||0,direction:`stable`}:ur({baseRect:t.baseRect,occupiedRects:s,hardObstacles:r,bounds:n,position:t.position,overflow:t.overflow,preferredOffset:t.persistedOffset??(t.datasetPosition?{x:t.datasetPosition.x-t.baseRect.x,y:t.datasetPosition.y-t.baseRect.y}:e??null),ignoreOccupied:t.overlap})}t.label.setAttribute(`transform`,`translate(${i.x} ${i.y})`);let c=Q(t.baseRect,i),l=t.label[Be];a&&!o&&!t.dragging&&!t.overlap&&br(e,t.label,l,c,i),(t.datasetPosition||t.persistedOffset||t.dragging)&&(t.label[S]={x:i.x,y:i.y}),t.label[Be]={x:c.x,y:c.y,width:c.width,height:c.height},t.label[T]={x:Number(i.x)||0,y:Number(i.y)||0},vr(t.label,c,t.boxShow?t.baseRect:null,i),t.overlap||s.push(c)}}function $(e=j.value){e?.isConnected&&(e[x]||(e[x]=requestAnimationFrame(()=>{e[x]=null,Cr(e)})))}function wr(){let e=A.value,t=j.value;Qe.value=!0,P.value={x:0,y:0},e&&(F.value&&(t?.[x]&&(cancelAnimationFrame(t[x]),t[x]=null),sn(),F.value=!1,L.inputType=null,L.touchId=null,L.startPointer=null,L.startOffset=null,L.lastRequestedOffset=null),e[w]=!1,delete e[S],delete e[C],delete e[Be],delete e[T],delete e[Re],e.dataset.boxPositionX=``,e.dataset.boxPositionY=``,e.setAttribute(`transform`,`translate(0 0)`),t?.isConnected&&(t[E]=/* @__PURE__ */ new Map,$(t)))}return a({reorder:wr}),fe(()=>[D.dataset?.position?.x,D.dataset?.position?.y],(e,t)=>{t&&(e[0]!==t[0]||e[1]!==t[1])&&(Qe.value=!1)}),fe(()=>[D.dataset?.x,D.dataset?.y,D.dataset?.position?.x,D.dataset?.position?.y],()=>{if(!xt.value&&A.value&&!F.value){let e=D.dataset?.position;e&&(e.x===null||e.x===void 0||e.y===null||e.y===void 0)&&(delete A.value[S],P.value={x:0,y:0})}nr()},{flush:`post`}),fe(()=>D.config,()=>{!W.value&&F.value&&Sn(),nr()},{deep:!0,flush:`post`}),se(async()=>{await h(),window.addEventListener(`keydown`,An,!0),window.addEventListener(`pointerdown`,jn,!0),j.value=A.value?.ownerSVGElement??null;let e=j.value,t=A.value,n=Je.value;e&&t&&n&&(t[Ie]=n,t[Fe]=({layoutRect:e,boxRect:t,offset:n})=>{M.value=e,N.value=t,n&&(P.value={x:Number(n.x)||0,y:Number(n.y)||0})},t[Le]=e=>{O(`dragEnd`,{...D.dataset,position:{x:Number(e?.x)||0,y:Number(e?.y)||0}})},st=new MutationObserver(n=>{n.some(e=>!(e.type===`attributes`&&e.target===t&&e.attributeName===`transform`||e.type===`attributes`&&e.target===Ye.value))&&$(e)}),st.observe(t,{subtree:!0,childList:!0,characterData:!0,attributes:!0}),`ResizeObserver`in window&&(ct=new ResizeObserver(()=>{$(e)}),ct.observe(e)),document.fonts?.ready?.then(()=>{nr()}),nr())}),oe(()=>{sn(),window.removeEventListener(`keydown`,An,!0),window.removeEventListener(`pointerdown`,jn,!0),st?.disconnect(),ct?.disconnect(),I?.remove(),I=null,A.value&&(delete A.value[Fe],delete A.value[Ie],delete A.value[Le],delete A.value[Be],delete A.value[T],delete A.value[S],delete A.value[C],delete A.value[w],delete A.value[Re]),F.value=!1,L.inputType=null,L.touchId=null,L.startPointer=null,L.startOffset=null,L.lastRequestedOffset=null,M.value=null,N.value=null,P.value={x:0,y:0};let e=j.value;if(e){let t=e[E];t instanceof Map&&A.value&&t.delete(A.value),requestAnimationFrame(()=>{$(e)})}}),(e,t)=>(g(),m(`g`,{ref_key:`wrapperRef`,ref:qe,class:re([`vue-ui-label-wrapper`,{"vue-ui-label-wrapper--keyboard-focus":$e.value===`keyboard`}]),focusable:`false`,onPointerdownCapture:Mn,onMouseenter:En,onMouseleave:Dn,onFocusin:Pn,onFocusout:Fn},[Qt.value?(g(),m(`path`,{key:0,class:`vue-ui-label__link`,d:Qt.value.d,fill:`none`,stroke:V.value.stroke,"stroke-width":V.value.strokeWidth,"stroke-dasharray":V.value.strokeDasharray,"stroke-linecap":`round`,"pointer-events":`none`,"aria-hidden":`true`,focusable:`false`},null,8,he)):p(``,!0),V.value.targetPlot.show?(g(),m(`circle`,{key:1,cx:z.value,cy:B.value,r:V.value.targetPlot.radius,fill:V.value.stroke,stroke:V.value.targetPlot.stroke,"stroke-width":V.value.strokeWidth,"paint-order":`stroke fill`},null,8,ge)):p(``,!0),ee(`g`,{ref_key:`labelRef`,ref:A,class:`vue-ui-label`,focusable:`false`,id:`label_${de(Ke)}`,"data-position":k.value.position,"data-overflow":String(k.value.overflow),"data-overlap":String(dt.value),"data-target-x":R.value?z.value:``,"data-target-y":R.value?B.value:``,"data-box-position-x":St.value?St.value.x:``,"data-box-position-y":St.value?St.value.y:``,"data-link-length":V.value.show?Ct.value:ke,"data-box-show":String(H.value.show),"data-box-max-width":K.value!==null&&K.value>0?K.value:``,"data-box-padding-top":G.value.top,"data-box-padding-right":G.value.right,"data-box-padding-bottom":G.value.bottom,"data-box-padding-left":G.value.left,"data-drag-enabled":String(W.value),"data-drag-handle-position":bt.value,"data-drag-handle-size":It.value,onClick:kn},[q.value?(g(),m(`rect`,{key:0,ref_key:`boxRef`,ref:Ye,class:`vue-ui-label__box`,x:q.value.x,y:q.value.y,width:q.value.width,height:q.value.height,rx:q.value.rx,fill:H.value.backgroundColor,stroke:H.value.borderColor,"stroke-width":Pt.value,"aria-hidden":`true`,focusable:`false`},null,8,ve)):p(``,!0),Y.value?(g(),m(`rect`,{key:1,class:`vue-ui-label__action-target`,x:Y.value.x,y:Y.value.y,width:Y.value.width,height:Y.value.height,rx:Y.value.rx,fill:`transparent`,"pointer-events":`none`,role:`button`,tabindex:`0`,"aria-label":mt.value,onKeydown:Nn},null,40,ye)):p(``,!0),le(e.$slots,`before`,ie(ne({...D,box:q.value})),void 0,!0),ee(`g`,{ref_key:`contentRef`,ref:Je,class:`vue-ui-label__body`},[le(e.$slots,`title`,ie(ne({...D,box:q.value})),()=>[jt.value&&Yt.value&&R.value?(g(),f(c,{key:0,class:`vue-ui-label__marker`,plot:Yt.value,radius:At.value,shape:U.value.shape,color:U.value.color,"pointer-events":`none`,"aria-hidden":`true`,focusable:`false`},null,8,[`plot`,`radius`,`shape`,`color`])):p(``,!0),k.value.title.text&&R.value?(g(),m(`text`,{key:1,ref_key:`titleTextRef`,ref:Xe,class:`vue-ui-label__title`,"font-size":et.value,"font-weight":k.value.title.bold?`bold`:`normal`,"text-anchor":Et.value,fill:k.value.title.color},[(g(!0),m(u,null,ce(X.value,(e,t)=>(g(),m(`tspan`,{key:`title_${t}`,x:Jt.value,y:B.value+t*tt.value},ue(e),9,xe))),128))],8,be)):p(``,!0),!jt.value&&Yt.value&&R.value?(g(),f(c,{key:2,class:`vue-ui-label__marker`,plot:Yt.value,radius:At.value,shape:U.value.shape,color:U.value.color,"pointer-events":`none`,"aria-hidden":`true`,focusable:`false`},null,8,[`plot`,`radius`,`shape`,`color`])):p(``,!0)],!0),le(e.$slots,`content`,ie(ne({...D,box:q.value})),()=>[k.value.content.text&&R.value?(g(),m(`text`,{key:0,ref_key:`contentTextRef`,ref:Ze,class:`vue-ui-label__content`,"font-size":nt.value,"font-weight":k.value.content.bold?`bold`:`normal`,"text-anchor":Dt.value,fill:k.value.content.color},[(g(!0),m(u,null,ce(Vt.value,(e,t)=>(g(),m(`tspan`,{key:`content_${t}`,x:Xt.value,y:Zt.value+t*rt.value},ue(e),9,Ce))),128))],8,Se)):p(``,!0)],!0)],512),le(e.$slots,`after`,ie(ne({...D,box:q.value})),void 0,!0),Bt.value?(g(),m(`g`,{key:2,class:`vue-ui-label__drag-handle`,style:ae({cursor:F.value?`grabbing`:`grab`,touchAction:`none`}),role:`button`,tabindex:`0`,"aria-label":ht.value,"aria-describedby":gt,"aria-keyshortcuts":`ArrowUp ArrowDown ArrowLeft ArrowRight`,onKeydown:mn,onClick:t[0]||=pe(()=>{},[`stop`]),onPointerdown:t[1]||=pe(()=>{},[`stop`]),onMousedown:pe(ln,[`stop`,`prevent`]),onTouchstart:pe(un,[`stop`,`prevent`])},[ee(`desc`,{id:gt},ue(_t.value),1),J.value?(g(),m(`rect`,{key:0,x:J.value.x,y:J.value.y,width:J.value.width,height:J.value.height,fill:`transparent`,"pointer-events":`all`,"aria-hidden":`true`,focusable:`false`},null,8,Te)):p(``,!0),J.value?(g(),m(`rect`,{key:1,class:`vue-ui-label__focus-ring`,x:J.value.x,y:J.value.y,width:J.value.width,height:J.value.height,rx:Math.min(4,J.value.width/2,J.value.height/2),fill:`none`,stroke:`currentColor`,"stroke-width":`2`,"pointer-events":`none`,"aria-hidden":`true`,focusable:`false`},null,8,Ee)):p(``,!0),k.value.drag.showSeparator?(g(),m(`path`,{key:2,d:Bt.value.separatorPath,stroke:H.value.borderColor,"stroke-width":Math.max(.5,Pt.value),"pointer-events":`none`,"aria-hidden":`true`,focusable:`false`},null,8,De)):p(``,!0),ee(`path`,{d:Bt.value.gripPath,stroke:k.value.drag.iconColor,"stroke-width":yt.value,"stroke-linecap":`round`,opacity:k.value.drag.iconOpacity,"pointer-events":`none`,"aria-hidden":`true`,focusable:`false`},null,8,Oe)],44,we)):p(``,!0)],8,_e)],34))}},[[`__scopeId`,`data-v-4fe38f01`]]);export{me as n,D as t};
@@ -0,0 +1 @@
1
+ import{t as e}from"./rolldown-runtime-DK3Fl9T5.js";import{t}from"./useConfig-DM9fSqjh.js";import{t as n}from"./lib-DqD8nbyX.js";import{n as r,t as i}from"./useHints-BH9r_0Vd.js";import{t as a}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as o}from"./useNestedProp-DrLnzyHO.js";import{computed as s,createCommentVNode as c,createElementBlock as l,createElementVNode as u,normalizeStyle as d,openBlock as f,ref as p,unref as m,useCssVars as h}from"vue";var g=/* @__PURE__ */ e({default:()=>E}),_=[`xmlns`,`viewBox`],v={key:0},y=[`stroke`],b=[`stroke`],x=[`stroke`],S={key:1},C=[`stroke`],w={key:2},T=[`stroke`],E=/*#__PURE__*/ a({__name:`vue-ui-mini-loader`,props:{config:{type:Object,default(){return{}}}},setup(e){h(e=>({v5fadbcf2:j.value,v488061db:M.value,v2e2d4bba:N.value}));let{vue_ui_mini_loader:a}=t(),g=e,E=s(()=>o({userConfig:g.config,defaultConfig:a}));r({config:()=>E.value,dataset:()=>[],component:`VueUiMiniLoader`,rules:[i.noHint]});let D=p({onion:`-10 -10 84 84`,line:`-10 -10 112 84`,bar:`-10 -10 106 84`}),O=s(()=>({gutter:`stroke:${E.value.line.gutterColor};opacity:${E.value.line.gutterOpacity};`,gutterBlur:`filter:blur(${E.value.line.gutterBlur}px);`})),k=s(()=>({gutter:`stroke:${E.value.bar.gutterColor};opacity:${E.value.bar.gutterOpacity};`,gutterBlur:`filter:blur(${E.value.bar.gutterBlur}px);`})),A=s(()=>({gutter:`stroke:${E.value.onion.gutterColor};opacity:${E.value.onion.gutterOpacity};`,gutterBlur:`filter:blur(${E.value.onion.gutterBlur}px);`})),j=s(()=>`blur(${E.value.onion.trackBlur}px) hue-rotate(${E.value.onion.trackHueRotate}deg)`),M=s(()=>`blur(${E.value.line.trackBlur}px) hue-rotate(${E.value.line.trackHueRotate}deg)`),N=s(()=>`blur(${E.value.bar.trackBlur}px) hue-rotate(${E.value.bar.trackHueRotate}deg)`);return(e,t)=>(f(),l(`svg`,{class:`vue-data-ui-component vue-ui-mini-loader`,xmlns:m(n),viewBox:D.value[E.value.type],style:{background:`transparent`},width:`100%`},[E.value.type===`onion`?(f(),l(`g`,v,[u(`path`,{d:`M 3 32 C 3 45 12 62 32 62 A 1 1 0 0 0 32 3`,"stroke-width":`4`,fill:`none`,"stroke-linecap":`round`,style:d(A.value.gutter+A.value.gutterBlur)},null,4),u(`path`,{d:`M 13 32 C 13 39 19 52 32 52 A 1 1 0 0 0 32 13`,"stroke-width":`4`,fill:`none`,"stroke-linecap":`round`,style:d(A.value.gutter+A.value.gutterBlur)},null,4),u(`path`,{d:`M 23 32 C 23 37 26.5 41 32 41 A 1 1 0 0 0 32 25`,"stroke-width":`4`,fill:`none`,"stroke-linecap":`round`,style:d(A.value.gutter+A.value.gutterBlur)},null,4),u(`path`,{d:`M 3 32 C 3 45 12 62 32 62 A 1 1 0 0 0 32 3`,stroke:E.value.onion.trackColor,"stroke-width":`4`,fill:`none`,"stroke-linecap":`round`,class:`onion-animated`},null,8,y),u(`path`,{d:`M 13 32 C 13 39 19 52 32 52 A 1 1 0 0 0 32 13`,stroke:E.value.onion.trackColor,"stroke-width":`4`,fill:`none`,"stroke-linecap":`round`,class:`onion-animated`},null,8,b),u(`path`,{d:`M 23 32 C 23 37 26.5 41 32 41 A 1 1 0 0 0 32 25`,stroke:E.value.onion.trackColor,"stroke-width":`4`,fill:`none`,"stroke-linecap":`round`,class:`onion-animated`},null,8,x)])):c(``,!0),E.value.type===`line`?(f(),l(`g`,S,[u(`path`,{d:`M 3 62 C 6 57 6 48 11 45 C 16 44 17 53 22 52 C 27 49 25 32 30 31 C 34 29 37 47 42 47 C 46 47 45 38 49 36 C 53 34 56 45 61 45 C 66 45 65 24 69 24 C 73 22 75 35 79 34 C 84 34 83 11 91 5`,"stroke-width":`4`,fill:`none`,"stroke-linecap":`round`,style:d(O.value.gutter+O.value.gutterBlur)},null,4),u(`path`,{d:`M 3 62 C 6 57 6 48 11 45 C 16 44 17 53 22 52 C 27 49 25 32 30 31 C 34 29 37 47 42 47 C 46 47 45 38 49 36 C 53 34 56 45 61 45 C 66 45 65 24 69 24 C 73 22 75 35 79 34 C 84 34 83 11 91 5`,stroke:E.value.line.trackColor,"stroke-width":`4`,fill:`none`,"stroke-linecap":`round`,class:`line-animated`},null,8,C)])):c(``,!0),E.value.type===`bar`?(f(),l(`g`,w,[u(`path`,{d:`M 3 62 L 3 44 M 12 62 L 12 49 M 21 62 L 21 37 M 30 62 L 30 29 M 39 62 L 39 43 M 48 62 L 48 16 M 57 62 L 57 24 M 66 62 L 66 35 M 75 62 L 75 20 M 84 62 L 84 5`,"stroke-width":`4`,fill:`none`,"stroke-linecap":`round`,style:d(k.value.gutter+k.value.gutterBlur)},null,4),u(`path`,{d:`M 3 62 L 3 44 M 12 62 L 12 49 M 21 62 L 21 37 M 30 62 L 30 29 M 39 62 L 39 43 M 48 62 L 48 16 M 57 62 L 57 24 M 66 62 L 66 35 M 75 62 L 75 20 M 84 62 L 84 5`,stroke:E.value.bar.trackColor,"stroke-width":`4`,fill:`none`,"stroke-linecap":`round`,class:`bar-animated`},null,8,T)])):c(``,!0)],8,_))}},[[`__scopeId`,`data-v-5266752a`]]);export{g as n,E as t};
@@ -0,0 +1 @@
1
+ import{t as e}from"./rolldown-runtime-DK3Fl9T5.js";import{t}from"./useConfig-DM9fSqjh.js";import{D as n,Dt as r,Ft as i,Ht as ee,M as a,S as te,X as ne,Zt as o,at as s,et as c,in as re,nt as l,pt as u,t as ie,w as ae,zt as oe}from"./lib-DqD8nbyX.js";import{n as se,t as ce}from"./BaseScanner-8NdoBs7B.js";import{n as le,t as ue}from"./useHints-BH9r_0Vd.js";import{t as de}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{n as fe}from"./resolveChartConfig-ChGWTt5l.js";import{t as pe}from"./chartImage-r-G4CkRK.js";import{t as me}from"./useChartExport-DtPNpc9M.js";import{n as he,t as ge}from"./tableIntegration-CNoJ1CIY.js";import{n as _e,t as ve}from"./annotationSlots-BRR85CqJ.js";import{n as ye,t as be}from"./userOptionsSlots-DYuo-E5m.js";import{t as xe}from"./usePrinter-Cj4eIYC_.js";import{t as Se}from"./DefGrad-DKMq1REY.js";import{t as Ce}from"./useUserOptionState-CXlFnwPv.js";import{t as we}from"./useChartAccessibility-DOMuYJfm.js";import{t as Te}from"./vue_ui_molecule-Bw1UW1Na.js";import{t as Ee}from"./usePanZoom-BdjP5Suc.js";import{Fragment as De,computed as d,createBlock as f,createCommentVNode as p,createElementBlock as m,createElementVNode as h,createSlots as Oe,createTextVNode as ke,createVNode as g,defineAsyncComponent as _,guardReactiveProps as v,mergeProps as Ae,nextTick as y,normalizeClass as je,normalizeProps as b,normalizeStyle as x,onMounted as Me,openBlock as S,ref as C,renderList as w,renderSlot as T,resolveDynamicComponent as Ne,toDisplayString as E,toRefs as Pe,unref as D,useCssVars as Fe,watch as O,withCtx as k}from"vue";var Ie=/* @__PURE__ */ e({default:()=>Ge}),Le=[`id`],Re={key:1,ref:`noTitle`,class:`vue-data-ui-no-title-space`,style:`height:36px; width: 100%;background:transparent`},ze={key:2,style:`width:100%;background:transparent;`},Be=[`xmlns`,`viewBox`],Ve=[`width`,`height`],He={key:4,class:`vue-data-ui-watermark`},Ue={key:5,"data-dom-to-png-ignore":``,class:`reset-wrapper`},We={key:6,ref:`source`,dir:`auto`},Ge=/*#__PURE__*/ de({__name:`vue-ui-molecule`,props:{config:{type:Object,default(){return{}}},dataset:{type:Array,default(){return[]}}},emits:[`selectNode`,`copyAlt`],setup(e,{expose:de,emit:Ie}){Fe(e=>({v4bfe7676:on.value}));let Ge=_(()=>import(`./Title-BLA0tM3g.js`).then(e=>e.t)),Ke=_(()=>import(`./Tooltip-Iyb_S6oQ.js`)),qe=_(()=>import(`./BaseIcon-DDctLkeT.js`).then(e=>e.n)),Je=_(()=>import(`./vue-ui-accordion-3lBpCjGm.js`).then(e=>e.n)),Ye=_(()=>import(`./DataTable-BcVZLSs8.js`)),Xe=_(()=>import(`./PenAndPaper-BsBFp16i.js`).then(e=>e.t)),Ze=_(()=>import(`./UserOptions-BSJ_S_us.js`).then(e=>e.n)),Qe=_(()=>import(`./PackageVersion-ATrKWi8V.js`).then(e=>e.t)),$e=_(()=>import(`./RecursiveLinks-CZtG6uWg.js`)),et=_(()=>import(`./RecursiveLabels-B0d04xSj.js`)),tt=_(()=>import(`./RecursiveCircles-BftI1kwF.js`)),nt=_(()=>import(`./BaseDraggableDialog-Bw_azO0n.js`).then(e=>e.n)),{vue_ui_molecule:rt}=t(),A=e,it=Ie,at=d(()=>!!A.dataset&&A.dataset.length);Me(()=>{st()});let ot=d(()=>P.value.debug);function st(){oe(A.dataset)&&s({componentName:`VueUiMolecule`,type:`dataset`,debug:ot.value})}let ct=C(ne()),lt=C(!1),j=C(``),M=C(null),ut=C(0),dt=C(0),ft=C(0),pt=C(null),N=C(null),P=C(B()),F=d(()=>P.value.style.chart.tooltip),I=d(()=>P.value.style.chart),L=d(()=>P.value.userOptions);le({config:()=>P.value,dataset:()=>A.dataset,component:`VueUiMolecule`,rules:[ue.emptyArray,{test:e=>e[0]&&e[0].nodes&&e[0].nodes.length===0,message:[`👀 There are no children nodes attached to the root node. Consider:`,``,`▶️ Adding children nodes to the root node.`]},{test:e=>e[0]&&e[0].nodes&&e[0].nodes.length>8,message:[`👀 The number of children nodes > 8, some nodes might overlap. Consider:`,``,`▶️ Grouping data into broader categories.`]}]});let R=d(()=>P.value.userOptions.useCursorPointer),mt=d(()=>re({defaultConfig:{userOptions:{show:!1},table:{show:!1},style:{chart:{backgroundColor:`#99999930`,nodes:{stroke:`#6A6A6A`},links:{stroke:`#6A6A6A80`}}}},userConfig:P.value.skeletonConfig??{}})),{loading:ht,FINAL_DATASET:gt}=se({...Pe(A),FINAL_CONFIG:P,prepareConfig:B,skeletonDataset:A.config?.skeletonDataset??[{name:`_`,color:`#CACACA`,nodes:[{name:`_`,color:`#CACACA`,nodes:[{name:`_`,color:`#CACACA`},{name:`_`,color:`#CACACA`},{name:`_`,color:`#CACACA`}]},{name:`_`,color:`#CACACA`,nodes:[{name:`_`,color:`#CACACA`},{name:`_`,color:`#CACACA`},{name:`_`,color:`#CACACA`}]},{name:`_`,color:`#CACACA`,nodes:[{name:`_`,color:`#CACACA`},{name:`_`,color:`#CACACA`},{name:`_`,color:`#CACACA`}]},{name:`_`,color:`#CACACA`,nodes:[{name:`_`,color:`#CACACA`},{name:`_`,color:`#CACACA`},{name:`_`,color:`#CACACA`}]},{name:`_`,color:`#CACACA`,nodes:[{name:`_`,color:`#CACACA`},{name:`_`,color:`#CACACA`},{name:`_`,color:`#CACACA`}]},{name:`_`,color:`#CACACA`,nodes:[{name:`_`,color:`#CACACA`},{name:`_`,color:`#CACACA`},{name:`_`,color:`#CACACA`}]}]}],skeletonConfig:re({defaultConfig:P.value,userConfig:mt.value})}),{userOptionsVisible:_t,setUserOptionsVisibility:vt,keepUserOptionState:yt}=Ce({config:P.value}),{svgRef:z}=we({config:I.value.title});function B(){return fe(A.config,rt,Te)}let bt=o(A.config);O((e,t)=>A.config,e=>{let t=o(newConfig),n=t!==bt;bt=t;let r=B();if(!n){P.value.style.chart.tooltip=r.style.chart.tooltip,U.value.showTooltip=P.value.style.chart.tooltip.show;return}P.value=r,_t.value=!P.value.userOptions.showOnChartHover,st(),dt.value+=1,ft.value+=1,U.value.showTable=P.value.table.show,U.value.showTooltip=F.value.show,U.value.showZoom=I.value.zoom.show},{deep:!0});let xt=C(0),St=()=>{xt.value+=1};O([()=>ht.value,()=>gt.value],async([e])=>{e||(await y(),W.value=Ot(),await y(),St(),await y(),Jt({x:0,y:0,width:400,height:400}),Kt(!1))},{flush:`post`,deep:!1});let{isPrinting:V,isImaging:H,generatePdf:Ct,generateImage:wt}=xe({elementId:`cluster_${ct.value}`,fileName:I.value.title.text||`vue-ui-molecule`,options:P.value.userOptions.print}),Tt=d(()=>P.value.userOptions.show&&!I.value.title.text),Et=d(()=>ae(P.value.customPalette)),U=C({showTable:P.value.table.show,showDataLabels:!0,showTooltip:F.value.show,showZoom:I.value.zoom.show});O(P,()=>{U.value={showTable:P.value.table.show,showDataLabels:!0,showTooltip:F.value.show,showZoom:I.value.zoom.show}},{immediate:!0});function Dt(e,t=0){return Array.isArray(e)&&e.length>0&&e[0].nodes?Dt(e[0].nodes,t+1):t}function Ot(){let e=Dt(gt.value),t=100,n=t;for(let r=0;r<e;r+=1)t/=1,n+=t;return{height:n,width:n}}let W=C(Ot());function kt(e,t={x:-W.value.width/2.43,y:W.value.height/2},n=W.value.width/1.1,r=24,i=0,o=0,s=`#BBBBBB`,c=0){if(!Array.isArray(e)||e.length===0)return e;let re=a({plot:t,radius:n,sides:e.length,rotation:i});return e.forEach((e,t)=>{let a=re.coordinates[t],l=e.color?(()=>{let t=te(e.color);return t.startsWith(`#`)?t:`#${t}`})():null,u;l?u=l:c===0?u=s:c===1?(u=Et.value[o]||ee[o]||s,o+=1):u=s,e.polygonPath={coordinates:[a]},e.circleRadius=r,e.color=u,e.strokeWidth=Math.min(I.value.links.strokeWidth/(c+1),r/2),e.uid=ne(),Array.isArray(e.nodes)&&e.nodes.length&&(e.nodes=kt(e.nodes,a,n/2.9,r/2.2,i+Math.PI*t/e.nodes.length,o,u,c+1))}),e}function At(e){let t=/* @__PURE__ */ new Set;function n(e){e.forEach(e=>{if(!e.color)return;let r=e.color;/^#?[0-9A-F]{6}$/i.test(r)||(r=te(r)),r.startsWith(`#`)||(r=`#${r}`),t.add(r),Array.isArray(e.nodes)&&e.nodes.length&&n(e.nodes)})}n(e);let r={};return Array.from(t).forEach(e=>{let t=e.slice(1);r[e]=`gradient_${t}`}),r}let jt=d(()=>At(G.value)),G=d(()=>kt(c(gt.value))),K=C(null);function Mt(e){K.value={datapoint:e,seriesIndex:-1,series:G.value,config:P.value};let t=F.value.customFormat;if(r(t)&&u(()=>t({seriesIndex:-1,datapoint:e,series:G.value,config:P.value})))j.value=t({seriesIndex:-1,datapoint:e,series:G.value,config:P.value});else{let t=``;t+=`<div style="display:flex;align-items:center;gap:3px"><div style="color:${e.color}">⬤</div><div>${e.name}</div></div>`,e.details&&(t+=`<div style="width:100%;border-top:1px solid ${F.value.borderColor};margin-top: 2px">${e.details}</div>`),j.value=`<div style="font-family:inherit">${t}</div>`}}let q=C(null),J=C(null),Nt=C(null);function Pt(e){Nt.value=q.value,q.value=e,e?P.value.events.datapointEnter&&P.value.events.datapointEnter({datapoint:e,seriesIndex:-1}):P.value.events.datapointLeave&&P.value.events.datapointLeave({datapoint:Nt.value||q.value,seriesIndex:-1}),e?(lt.value=!0,Mt(e),J.value=e.uid):(lt.value=!1,j.value=``,J.value=null)}function Ft(e){let t=[];function n(e){e.forEach(e=>{let r={name:e.name,details:e.details||`-`,ancestor:e.ancestor&&e.ancestor.name||`-`,color:e.color||``};t.push(r),e.nodes&&e.nodes.length>0&&n(e.nodes,e.name)})}return n(e),t}let It=d(()=>Ft(G.value)),Y=d(()=>({head:[P.value.table.translations.nodeName,P.value.table.translations.details,P.value.table.translations.ancestor],body:It.value.map((e,t)=>[{color:e.color,name:e.name},e.details,e.ancestor||``]),config:{th:{backgroundColor:P.value.table.th.backgroundColor,color:P.value.table.th.color,outline:P.value.table.th.outline},td:{backgroundColor:P.value.table.td.backgroundColor,color:P.value.table.td.color,outline:P.value.table.td.outline},breakpoint:P.value.table.responsiveBreakpoint},colNames:[P.value.table.translations.nodeName,P.value.table.translations.details,P.value.table.translations.ancestor]}));function Lt(e=null){y(()=>{let t=Y.value.body.map((e,t)=>[[e[0].name],[e[1]],[e[2]]]),r=[[I.value.title.text],[I.value.title.subtitle.text],[[...Y.value.head]]].concat(t),i=n(r);e?e(i):l({csvContent:i,title:I.value.title.text||`vue-ui-molecule`})})}function Rt(){return G.value}let X=C(!1);function zt(e){X.value=e,ut.value+=1}function Bt(){U.value.showTable=!U.value.showTable}function Vt(){U.value.showDataLabels=!U.value.showDataLabels}function Ht(){U.value.showTooltip=!U.value.showTooltip}function Ut(){U.value.showZoom=!U.value.showZoom}let Z=C(!1);function Wt(){Z.value=!Z.value}let Gt=d(()=>!Z.value&&U.value.showZoom),{viewBox:Q,resetZoom:Kt,isZoom:qt,setInitialViewBox:Jt}=Ee(z,{x:0,y:0,width:Math.max(10,W.value.width),height:Math.max(10,W.value.height)},I.value.zoom.speed,Gt);function Yt(e){P.value.events.datapointClick&&P.value.events.datapointClick({datapoint:e,seriesIndex:-1}),it(`selectNode`,e)}let Xt=pe(M,()=>I.value.title.text),$=d(()=>ge({config:P,style:I,mutableConfig:U,dialog:nt,accordion:Je,isFullscreen:X,parent:M,maxWidth:800,isCursorPointer:R}));O(()=>U.value.showTable,e=>he(e,P,pt));function Zt(){U.value.showTable=!1,N.value&&N.value.setTableIconState(!1)}let Qt=d(()=>I.value.backgroundColor),$t=d(()=>I.value.title),{isCallbackImaging:en,isCallbackSvg:tn,generateSvg:nn,onGenerateImage:rn}=me({svg:z,title:$t,legend:null,legendItems:null,backgroundColor:Qt,getSvgCallback:()=>P.value.userOptions.callbacks.svg,generateImage:wt});async function an(){if(it(`copyAlt`,{config:P.value,dataset:G.value}),!P.value.userOptions.callbacks.altCopy){console.warn("Vue Data UI - A callback must be set for `altCopy` in userOptions.");return}await Promise.resolve(P.value.userOptions.callbacks.altCopy({config:P.value,dataset:G.value}))}let on=d(()=>I.value.color);return de({getData:Rt,getImage:Xt,generatePdf:Ct,generateCsv:Lt,generateImage:wt,generateSvg:nn,toggleTable:Bt,toggleLabels:Vt,toggleTooltip:Ht,toggleAnnotator:Wt,toggleFullscreen:zt,toggleZoom:Ut,copyAlt:an}),(e,t)=>(S(),m(`div`,{ref_key:`moleculeChart`,ref:M,class:je(`vue-data-ui-component vue-ui-molecule ${X.value?`vue-data-ui-wrapper-fullscreen`:``}`),style:x(`font-family:${P.value.style.fontFamily};width:100%; text-align:center;background:${I.value.backgroundColor}`),id:`cluster_${ct.value}`,onMouseleave:t[2]||=e=>{q.value=null,J.value=null,D(vt)(!1)},onMouseenter:t[3]||=()=>D(vt)(!0)},[L.value.buttons.annotator&&D(z)?(S(),f(D(Xe),{key:0,svgRef:D(z),backgroundColor:I.value.backgroundColor,color:I.value.color,active:Z.value,isCursorPointer:R.value,onClose:Wt},Oe({_:2},[w(D(ve),t=>({name:t,fn:k(n=>[T(e.$slots,t,b(v(D(_e)(t,n))),void 0,!0)])}))]),1032,[`svgRef`,`backgroundColor`,`color`,`active`,`isCursorPointer`])):p(``,!0),Tt.value?(S(),m(`div`,Re,null,512)):p(``,!0),I.value.title.text?(S(),m(`div`,ze,[(S(),f(D(Ge),{key:`title_${dt.value}`,config:{title:{cy:`molecule-div-title`,...I.value.title},subtitle:{cy:`molecule-div-subtitle`,...I.value.title.subtitle}}},null,8,[`config`]))])):p(``,!0),L.value.show&&at.value&&(D(yt)||D(_t))?(S(),f(D(Ze),{ref_key:`userOptionsRef`,ref:N,key:`user_options_${ut.value}`,backgroundColor:I.value.backgroundColor,color:I.value.color,isPrinting:D(V),isImaging:D(H),uid:ct.value,hasTooltip:L.value.buttons.tooltip&&F.value.show,hasPdf:L.value.buttons.pdf,hasXls:L.value.buttons.csv,hasImg:L.value.buttons.img,hasSvg:L.value.buttons.svg,hasTable:L.value.buttons.table,hasLabel:L.value.buttons.labels,hasFullscreen:L.value.buttons.fullscreen,hasAltCopy:L.value.buttons.altCopy,isTooltip:U.value.showTooltip,titles:{...L.value.buttonTitles},chartElement:M.value,position:L.value.position,hasAnnotator:L.value.buttons.annotator,isAnnotation:Z.value,callbacks:L.value.callbacks,printScale:L.value.print.scale,tableDialog:P.value.table.useDialog,hasZoom:L.value.buttons.zoom,isZoom:U.value.showZoom,isCursorPointer:R.value,onToggleFullscreen:zt,onGeneratePdf:D(Ct),onGenerateCsv:Lt,onGenerateImage:D(rn),onGenerateSvg:D(nn),onToggleTable:Bt,onToggleLabels:Vt,onToggleTooltip:Ht,onToggleAnnotator:Wt,onToggleZoom:Ut,onCopyAlt:an,style:x({visibility:D(yt)?D(_t)?`visible`:`hidden`:`visible`})},Oe({_:2},[w(D(ye)(e.$slots,`menuIcon optionTooltip optionPdf optionCsv optionImg optionSvg optionTable optionLabels optionFullscreen optionAnnotator optionZoom optionAltCopy custom-menu-before custom-menu-after`),t=>({name:t,fn:k(n=>[T(e.$slots,t,b(v(D(be)(t,n))),void 0,!0)])}))]),1032,/* @__PURE__ */ `backgroundColor.color.isPrinting.isImaging.uid.hasTooltip.hasPdf.hasXls.hasImg.hasSvg.hasTable.hasLabel.hasFullscreen.hasAltCopy.isTooltip.titles.chartElement.position.hasAnnotator.isAnnotation.callbacks.printScale.tableDialog.hasZoom.isZoom.isCursorPointer.onGeneratePdf.onGenerateImage.onGenerateSvg.style`.split(`.`))):p(``,!0),(S(),m(`svg`,{ref_key:`svgRef`,ref:z,key:`svg_${xt.value}`,xmlns:D(ie),viewBox:`${D(Q).x} ${D(Q).y} ${D(Q).width} ${D(Q).height}`,class:je({"vue-data-ui-fullscreen--on":X.value,"vue-data-ui-fulscreen--off":!X.value}),style:x(`overflow: hidden; background:transparent;color:${I.value.color}`)},[g(D(Qe)),e.$slots[`chart-background`]?(S(),m(`foreignObject`,{key:0,x:0,y:0,width:W.value.width<=0?10:W.value.width,height:W.value.height<=0?10:W.value.height,style:{pointerEvents:`none`}},[T(e.$slots,`chart-background`,{},void 0,!0)],8,Ve)):p(``,!0),h(`defs`,null,[(S(!0),m(De,null,w(Object.keys(jt.value),(e,t)=>(S(),f(Se,{t:`radial`,id:`gradient_${e}`,key:`gradient_${e}_${t}`,cx:`50%`,cy:`30%`,r:`50%`,fx:`50%`,fy:`50%`,stops:[[`0%`,D(i)(e,.5),1],[`100%`,e,1]]},null,8,[`id`,`stops`]))),128))]),g(D($e),{dataset:G.value,color:I.value.links.stroke,backgroundColor:I.value.backgroundColor,useChildColor:I.value.links.useChildColor},null,8,[`dataset`,`color`,`backgroundColor`,`useChildColor`]),g(D(tt),{dataset:G.value,hoveredUid:J.value,stroke:I.value.nodes.stroke,strokeHovered:I.value.nodes.strokeHovered,onClick:Yt,onHover:Pt},{node:k(({node:t})=>[T(e.$slots,`node`,b(v({node:t})),void 0,!0)]),"node-svg":k(({nodeSvg:t})=>[T(e.$slots,`node-svg`,b(v({nodeSvg:t})),void 0,!0)]),_:3},8,[`dataset`,`hoveredUid`,`stroke`,`strokeHovered`]),U.value.showDataLabels&&!D(ht)?(S(),f(D(et),{key:1,dataset:G.value,color:I.value.color,hoveredUid:J.value},null,8,[`dataset`,`color`,`hoveredUid`])):p(``,!0),T(e.$slots,`svg`,{svg:{...W.value,drawingArea:{...D(Q)},isPrintingImg:D(V)||D(H)||D(en),isPrintingSvg:D(tn)}},void 0,!0)],14,Be)),e.$slots.watermark?(S(),m(`div`,He,[T(e.$slots,`watermark`,b(v({isPrinting:D(V)||D(H)||D(en)||D(tn)})),void 0,!0)])):p(``,!0),D(qt)?(S(),m(`div`,Ue,[T(e.$slots,`reset-action`,{reset:D(Kt)},()=>[h(`button`,{"data-cy-reset":``,tabindex:`0`,role:`button`,class:`vue-data-ui-refresh-button`,style:x({background:I.value.backgroundColor,cursor:R.value?`pointer`:`default`}),onClick:t[0]||=e=>D(Kt)(!0)},[g(D(qe),{name:`refresh`,stroke:I.value.color},null,8,[`stroke`])],4)],!0)])):p(``,!0),e.$slots.source?(S(),m(`div`,We,[T(e.$slots,`source`,{},void 0,!0)],512)):p(``,!0),g(D(Ke),{teleportTo:F.value.teleportTo,show:U.value.showTooltip&&lt.value,backgroundColor:F.value.backgroundColor,color:F.value.color,borderRadius:F.value.borderRadius,borderColor:F.value.borderColor,borderWidth:F.value.borderWidth,fontSize:F.value.fontSize,backgroundOpacity:F.value.backgroundOpacity,position:F.value.position,offsetX:F.value.offsetX,offsetY:F.value.offsetY,parent:M.value,content:j.value,isFullscreen:X.value,isCustom:F.value.customFormat&&typeof F.value.customFormat==`function`,smooth:F.value.smooth,backdropFilter:F.value.backdropFilter,smoothForce:F.value.smoothForce,smoothSnapThreshold:F.value.smoothSnapThreshold},{"tooltip-before":k(()=>[T(e.$slots,`tooltip-before`,b(v({...K.value})),void 0,!0)]),tooltip:k(()=>[T(e.$slots,`tooltip`,b(v({...K.value})),void 0,!0)]),"tooltip-after":k(()=>[T(e.$slots,`tooltip-after`,b(v({...K.value})),void 0,!0)]),_:3},8,[`teleportTo`,`show`,`backgroundColor`,`color`,`borderRadius`,`borderColor`,`borderWidth`,`fontSize`,`backgroundOpacity`,`position`,`offsetX`,`offsetY`,`parent`,`content`,`isFullscreen`,`isCustom`,`smooth`,`backdropFilter`,`smoothForce`,`smoothSnapThreshold`]),at.value&&L.value.buttons.table?(S(),f(Ne($.value.component),Ae({key:7},$.value.props,{ref_key:`tableUnit`,ref:pt,onClose:Zt}),Oe({content:k(()=>[(S(),f(D(Ye),{key:`table_${ft.value}`,colNames:Y.value.colNames,head:Y.value.head,body:Y.value.body,config:Y.value.config,title:P.value.table.useDialog?``:$.value.title,withCloseButton:!P.value.table.useDialog,isCursorPointer:R.value,onClose:Zt},{th:k(({th:e})=>[h(`div`,null,E(e),1)]),td:k(({td:e})=>[ke(E(e.name||e),1)]),_:1},8,[`colNames`,`head`,`body`,`config`,`title`,`withCloseButton`,`isCursorPointer`]))]),_:2},[P.value.table.useDialog?{name:`title`,fn:k(()=>[ke(E($.value.title),1)]),key:`0`}:void 0,P.value.table.useDialog?{name:`actions`,fn:k(()=>[h(`button`,{tabindex:`0`,class:`vue-ui-user-options-button`,onClick:t[1]||=e=>Lt(L.value.callbacks.csv),style:x({cursor:R.value?`pointer`:`default`})},[g(D(qe),{name:`fileCsv`,stroke:$.value.props.color},null,8,[`stroke`])],4)]),key:`1`}:void 0]),1040)):p(``,!0),T(e.$slots,`skeleton`,{},()=>[D(ht)?(S(),f(ce,{key:0})):p(``,!0)],!0)],46,Le))}},[[`__scopeId`,`data-v-ca23df82`]]);export{Ie as n,Ge as t};
@@ -0,0 +1 @@
1
+ import{t as e}from"./rolldown-runtime-DK3Fl9T5.js";import{t}from"./useConfig-DM9fSqjh.js";import{$ as n,D as r,Jt as i,Lt as a,M as ee,X as te,Yt as ne,at as re,i as ie,in as ae,nt as oe,t as se,zt as ce}from"./lib-DqD8nbyX.js";import{n as le,t as ue}from"./BaseScanner-8NdoBs7B.js";import{n as de,t as fe}from"./useHints-BH9r_0Vd.js";import{t as pe}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as me}from"./resolveChartConfig-ChGWTt5l.js";import{t as he}from"./chartImage-r-G4CkRK.js";import{n as ge}from"./Title-BLA0tM3g.js";import{t as _e}from"./useChartExport-DtPNpc9M.js";import{n as ve,t as ye}from"./tableIntegration-CNoJ1CIY.js";import{n as be,t as xe}from"./annotationSlots-BRR85CqJ.js";import{n as Se,t as Ce}from"./userOptionsSlots-DYuo-E5m.js";import{t as we}from"./usePrinter-Cj4eIYC_.js";import{l as Te,t as Ee}from"./useResponsive-D2CPcpda.js";import{t as De}from"./DefGrad-DKMq1REY.js";import{t as Oe}from"./A11yDataTable-DWNlWXzs.js";import{t as ke}from"./useUserOptionState-CXlFnwPv.js";import{t as Ae}from"./useChartAccessibility-DOMuYJfm.js";import{t as je}from"./Legend-D8NunRPr.js";import{t as Me}from"./vue_ui_mood_radar-CXaBdJnv.js";import{Fragment as Ne,Teleport as Pe,computed as o,createBlock as s,createCommentVNode as c,createElementBlock as l,createElementVNode as u,createSlots as Fe,createTextVNode as Ie,createVNode as d,defineAsyncComponent as f,guardReactiveProps as Le,mergeProps as Re,nextTick as ze,normalizeClass as Be,normalizeProps as p,normalizeStyle as m,onMounted as Ve,openBlock as h,ref as g,renderList as _,renderSlot as v,resolveDynamicComponent as He,toDisplayString as y,toRefs as Ue,unref as b,watch as We,withCtx as x}from"vue";var Ge=/* @__PURE__ */ e({default:()=>S}),Ke=[`id`],qe=[`id`],Je=[`id`],Ye={style:{position:`relative`}},Xe=[`xmlns`,`aria-describedby`,`viewBox`],Ze=[`width`,`height`],Qe=[`x1`,`y1`,`x2`,`y2`,`stroke`,`stroke-width`],$e=[`d`,`stroke`,`stroke-width`],et=[`transform`],tt=[`stroke`],nt=[`aria-label`,`fill`],rt=[`transform`],it=[`stroke`],at=[`aria-label`,`fill`],ot=[`transform`],st=[`stroke`],ct=[`aria-label`,`fill`],lt=[`transform`],ut=[`stroke`],dt=[`aria-label`,`fill`],ft=[`transform`],pt=[`stroke`],mt=[`aria-label`,`fill`],ht=[`d`,`stroke`,`stroke-width`,`fill`],gt=[`x1`,`y1`,`x2`,`y2`,`stroke`],_t=[`cx`,`cy`,`fill`,`stroke`],vt=[`cx`,`cy`,`fill`,`stroke`],yt=[`x`,`y`,`fill`,`font-weight`],bt=[`x`,`y`,`fill`],xt={key:0,style:{position:`absolute`,top:`100%`,left:`0`,width:`100%`},"data-dom-to-png-ignore":``,"aria-hidden":`true`},St={key:5,class:`vue-data-ui-watermark`},Ct=[`id`],wt=[`onClick`,`onKeydown`],Tt={key:0},Et={key:1},S=/*#__PURE__*/ pe({__name:`vue-ui-mood-radar`,props:{config:{type:Object,default(){return{}}},dataset:{type:Object,default(){return{}}}},emits:[`copyAlt`],setup(e,{expose:pe,emit:Ge}){let S=f(()=>import(`./BaseIcon-DDctLkeT.js`).then(e=>e.n)),Dt=f(()=>import(`./vue-ui-accordion-3lBpCjGm.js`).then(e=>e.n)),Ot=f(()=>import(`./DataTable-BcVZLSs8.js`)),kt=f(()=>import(`./PenAndPaper-BsBFp16i.js`).then(e=>e.t)),At=f(()=>import(`./UserOptions-BSJ_S_us.js`).then(e=>e.n)),jt=f(()=>import(`./PackageVersion-ATrKWi8V.js`).then(e=>e.t)),Mt=f(()=>import(`./BaseDraggableDialog-Bw_azO0n.js`).then(e=>e.n)),{vue_ui_mood_radar:Nt}=t(),C=e,Pt=Ge,w=g(te()),T=g(null),E=g(null),Ft=g(null),It=g(0),Lt=g(0),Rt=g(0),zt=g(null),Bt=g(null),D=g(null),O=g(null),Vt=g(null),Ht=g(!1),Ut=g(null),Wt=g(null),k=g(null),Gt=g(!1),Kt=o(()=>!!C.dataset&&Object.keys(C.dataset).length),A=g(en()),j=o(()=>A.value.userOptions),M=o(()=>A.value.style.chart.layout.smileys),N=o(()=>A.value.style.chart.layout),P=o(()=>A.value.style.chart);de({config:()=>A.value,dataset:()=>C.dataset,component:`VueUiMoodRadar`,rules:[fe.noHint]});let F=o(()=>A.value.userOptions.useCursorPointer),qt=o(()=>ae({defaultConfig:{userOptions:{show:!1},table:{show:!1},style:{chart:{backgroundColor:`#99999930`,layout:{grid:{stroke:`#6A6A6A`},outerPolygon:{stroke:`#6A6A6A`},dataPolygon:{color:`#6A6A6A`,opacity:30,stroke:`#6A6A6A`},smileys:{colors:{1:`#DBDBDB`,2:`#C4C4C4`,3:`#ADADAD`,4:`#969696`,5:`#808080`}},dataLabel:{color:`transparent`}},legend:{backgroundColor:`transparent`}}}},userConfig:A.value.skeletonConfig??{}})),{loading:Jt,FINAL_DATASET:I}=le({...Ue(C),FINAL_CONFIG:A,prepareConfig:en,callback:()=>{Promise.resolve().then(async()=>{await ze(),R.value.showTable=A.value.table.show})},skeletonDataset:C.config?.skeletonDataset??{1:1,2:1,3:1,4:1,5:1},skeletonConfig:ae({defaultConfig:A.value,userConfig:qt.value})});Ve(()=>{Ht.value=!0,Xt()});let Yt=o(()=>A.value.debug);function Xt(){if(ce(C.dataset)&&re({componentName:`VueUiMoodRadar`,type:`dataset`,debug:Yt.value}),A.value.responsive){let e=Te(()=>{let{width:e,height:t}=Ee({chart:T.value,title:P.value.title.text?zt.value:null,legend:P.value.legend.show?Bt.value:null,noTitle:Ft.value,source:Vt.value});requestAnimationFrame(()=>{z.value.width=e,z.value.height=t-12})});D.value&&(O.value&&D.value.unobserve(O.value),D.value.disconnect()),D.value=new ResizeObserver(e),O.value=T.value.parentNode,D.value.observe(O.value)}}let{userOptionsVisible:Zt,setUserOptionsVisibility:Qt,keepUserOptionState:$t}=ke({config:A.value}),{svgRef:L}=Ae({config:P.value.title});function en(){return me(C.config,Nt,Me)}We(()=>C.config,e=>{A.value=en(),Zt.value=!A.value.userOptions.showOnChartHover,Xt(),It.value+=1,Lt.value+=1,Rt.value+=1,R.value.showTable=A.value.table.show},{deep:!0});let{isPrinting:tn,isImaging:nn,generatePdf:rn,generateImage:an}=we({elementId:w.value,fileName:P.value.title.text||`vue-ui-mood-radar`,options:A.value.userOptions.print}),on=o(()=>A.value.userOptions.show&&!P.value.title.text),R=g({showTable:A.value.table.show}),z=g({height:256,width:256}),sn={5:{x:128,y:35},4:{x:218,y:98.5},3:{x:185,y:204},2:{x:70,y:204},1:{x:38.5,y:98.5}},cn=o(()=>{let e={};return pn.value.forEach(t=>{e[t.key]={x:t.x,y:t.y}}),e});function B(e){let t=sn[e],n=cn.value[e]||t;return`translate(${n.x-t.x}, ${n.y-t.y})`}let ln=o(()=>ee({plot:{x:z.value.width/2,y:z.value.height/2},radius:Math.min(z.value.height,z.value.width)*.35,sides:5,rotation:11}));function un({centerX:e,centerY:t,apexX:n,apexY:r,proportion:i,key:a,value:ee}){return{x:e+(n-e)*i,y:t+(r-t)*i,key:a,value:ee}}let dn=o(()=>Math.max(...Object.values(I.value).map(e=>isNaN(e)?0:e))),V=o(()=>Object.values(I.value).reduce((e,t)=>(isNaN(e)?0:e)+(isNaN(t)?0:t),0)),H=o(()=>Object.keys(I.value).map((e,t)=>{let n=typeof I.value[e]!=`number`||isNaN(I.value[e])?0:I.value[e];return{index:t,key:e,value:n,proportion:n/V.value,color:M.value.colors[e]}}).map(e=>({...e,onSelect:()=>U(e.key)})).sort((e,t)=>t.key-e.key)),fn=o(()=>H.value.map((e,t)=>({...e,display:`${ie(N.value.dataLabel.formatter,e.value,n({p:N.value.dataLabel.prefix,v:e.value,s:N.value.dataLabel.suffix,r:N.value.dataLabel.roundingValue}))}${Jt.value?``:` (${n({v:e.proportion*100,s:`%`,r:P.value.legend.roundingPercentage})})`}`}))),pn=o(()=>([`1`,`2`,`3`,`4`,`5`].forEach(e=>{[null,void 0].includes(I.value[e])&&re({componentName:`VueUiMoodRadar`,type:`datasetAttribute`,property:e,debug:Yt.value})}),ln.value.coordinates.map((e,t)=>{let n=un({centerX:z.value.width/2,centerY:z.value.height/2,apexX:e.x,apexY:e.y,proportion:H.value[t].value/dn.value,key:H.value[t].key,value:H.value[t].value});return{...e,plots:n,key:H.value[t].key}}))),mn=o(()=>({cy:`mood-radar-legend`,backgroundColor:P.value.legend.backgroundColor,color:P.value.legend.color,fontSize:P.value.legend.fontSize,paddingBottom:12,fontWeight:P.value.legend.bold?`bold`:``}));function U(e){e===E.value?E.value=null:(E.value=e,K(e))}function W(e){E.value=e;let t=H.value.find(t=>t.key===e);A.value.events.datapointEnter&&A.value.events.datapointEnter({datapoint:t,seriesIndex:t.index})}function G(e){E.value=null;let t=H.value.find(t=>t.key===e);A.value.events.datapointLeave&&A.value.events.datapointLeave({datapoint:t,seriesIndex:t.index})}function K(e){let t=H.value.find(t=>t.key===e);A.value.events.datapointClick&&A.value.events.datapointClick({datapoint:t,seriesIndex:t.index})}let q=o(()=>({head:H.value.map(e=>({name:e.key,color:e.color})),body:H.value.map(e=>isNaN(e.value)?0:e.value)}));function hn(e=null){ze(()=>{let t=q.value.head.map((e,t)=>[[e.name],[q.value.body[t]],[isNaN(q.value.body[t]/V.value)?`-`:q.value.body[t]/V.value*100]]),n=[[P.value.title.text],[P.value.title.subtitle.text],[[``],[`val`],[`%`]]].concat(t),i=r(n);e?e(i):oe({csvContent:i,title:P.value.title.text||`vue-ui-mood-radar`})})}let J=o(()=>({head:[`__SUM__`,Number(V.value.toFixed(A.value.table.td.roundingValue)).toLocaleString(),`100%`],body:q.value.head.map((e,t)=>[{color:e.color,name:e.name},q.value.body[t].toFixed(A.value.table.td.roundingValue),isNaN(q.value.body[t]/V.value)?`-`:(q.value.body[t]/V.value*100).toFixed(A.value.table.td.roundingPercentage)+`%`]),config:{th:{backgroundColor:A.value.table.th.backgroundColor,color:A.value.table.th.color,outline:A.value.table.th.outline},td:{backgroundColor:A.value.table.td.backgroundColor,color:A.value.table.td.color,outline:A.value.table.td.outline},breakpoint:A.value.table.responsiveBreakpoint},colNames:[A.value.table.columnNames.series,A.value.table.columnNames.value,A.value.table.columnNames.percentage]}));function gn(){return H.value}function _n(){R.value.showTable=!R.value.showTable}let Y=g(!1);function vn(e){Y.value=e}let X=g(!1);function yn(){X.value=!X.value}let bn=he(T,()=>P.value.title.text),Z=o(()=>ye({config:A,style:P,mutableConfig:R,dialog:Mt,accordion:Dt,isFullscreen:Y,parent:T,maxWidth:800,isCursorPointer:F}));We(()=>R.value.showTable,e=>ve(e,A,Ut));function xn(){R.value.showTable=!1,Wt.value&&Wt.value.setTableIconState(!1)}let Sn=o(()=>fn.value.map(e=>({...e,name:e.display,shape:`circle`}))),Cn=o(()=>P.value.backgroundColor),wn=o(()=>P.value.legend),Tn=o(()=>P.value.title),{isCallbackImaging:En,isCallbackSvg:Dn,generateSvg:On,onGenerateImage:kn}=_e({svg:L,title:Tn,legend:wn,legendItems:Sn,backgroundColor:Cn,getSvgCallback:()=>A.value.userOptions.callbacks.svg,generateImage:an});async function An(){if(Pt(`copyAlt`,{config:A.value,dataset:H.value}),!A.value.userOptions.callbacks.altCopy){console.warn("Vue Data UI - A callback must be set for `altCopy` in userOptions.");return}await Promise.resolve(A.value.userOptions.callbacks.altCopy({config:A.value,dataset:H.value}))}let Q=o(()=>H.value.map(e=>String(e.key)));function jn(){Qt(!0)}function Mn(){Qt(!1)}function Nn(e){return H.value.find(t=>String(t.key)===String(e))}function Pn(e,t,r){return ie(N.value.dataLabel.formatter,e,n({p:N.value.dataLabel.prefix,v:e,s:N.value.dataLabel.suffix,r:N.value.dataLabel.roundingValue}),{datapoint:r,seriesIndex:t})}function Fn(e){return n({v:V.value?e/V.value*100:0,s:`%`,r:N.value.dataLabel.roundingPercentage})}function $(e){let t=Nn(e);return t?`${e}, ${Pn(t.value,t.index,t)}, ${Fn(t.value)}`:`${e}`}function In(e){let t=Q.value[e];t&&(k.value=e,E.value=t)}function Ln(){Gt.value=!0}function Rn(){k.value=null,E.value=null,Gt.value=!1}function zn(e){if(!L.value||!Q.value.length||X.value||document.activeElement!==L.value)return;let t=[`ArrowLeft`,`ArrowUp`].includes(e.key),n=[`ArrowRight`,`ArrowDown`].includes(e.key),r=e.key===`Enter`||e.key===` `,i=e.key===`Escape`;if(!t&&!n&&!r&&!i)return;if(e.preventDefault(),e.stopPropagation(),i){k.value=null,E.value=null;return}if(r){if(k.value===null)return;let e=Q.value[k.value];if(!e)return;U(e);return}let a=k.value;a===null||a<0||a>=Q.value.length?a=n?0:Q.value.length-1:n?(a+=1,a>=Q.value.length&&(a=0)):t&&(--a,a<0&&(a=Q.value.length-1)),In(a)}function Bn(e,t){let n=e.key===`Enter`||e.key===` `,r=e.key===`Escape`;if(n||r){if(e.preventDefault(),e.stopPropagation(),r){k.value=null,E.value=null;return}U(String(t))}}let Vn=o(()=>({headers:J.value?.colNames??[],rows:H.value.map(e=>[String(e.key),Pn(e.value,e.index,e),Fn(e.value)])}));return pe({getData:gn,getImage:bn,generatePdf:rn,generateCsv:hn,generateImage:an,generateSvg:On,toggleTable:_n,toggleAnnotator:yn,toggleFullscreen:vn,copyAlt:An}),(e,t)=>(h(),l(`div`,{class:Be(`vue-data-ui-component vue-ui-mood-radar ${Y.value?`vue-data-ui-wrapper-fullscreen`:``} ${A.value.useCssAnimation?``:`vue-ui-dna`}`),ref_key:`moodRadarChart`,ref:T,id:`${w.value}`,style:m(`font-family:${A.value.style.fontFamily};width:100%; text-align:center;background:${P.value.backgroundColor}`),onMouseenter:jn,onMouseleave:Mn},[u(`div`,{id:`chart-instructions-${w.value}`,class:`sr-only`},[u(`p`,null,y(A.value.a11y.translations.keyboardNavigation),1)],8,qe),Vn.value?.rows?.length?(h(),s(Oe,{key:0,uid:w.value,head:Vn.value.headers,body:Vn.value.rows,notice:A.value.a11y.translations.tableAvailable,caption:A.value.a11y.translations.tableCaption},null,8,[`uid`,`head`,`body`,`notice`,`caption`])):c(``,!0),j.value.buttons.annotator?(h(),s(b(kt),{key:1,svgRef:b(L),backgroundColor:P.value.backgroundColor,color:P.value.color,active:X.value,isCursorPointer:F.value,palette:j.value.annotatorPalette,onClose:yn},Fe({_:2},[_(b(xe),t=>({name:t,fn:x(n=>[v(e.$slots,t,p(Le(b(be)(t,n))),void 0,!0)])}))]),1032,[`svgRef`,`backgroundColor`,`color`,`active`,`isCursorPointer`,`palette`])):c(``,!0),on.value?(h(),l(`div`,{key:2,ref_key:`noTitle`,ref:Ft,class:`vue-data-ui-no-title-space`,style:`height:36px; width: 100%;background:transparent`},null,512)):c(``,!0),P.value.title.text?(h(),l(`div`,{key:3,ref_key:`chartTitle`,ref:zt,style:`width:100%;background:transparent`},[d(ge,{config:{title:{cy:`mood-radar-title`,...P.value.title},subtitle:{cy:`mood-radar-subtitle`,...P.value.title.subtitle}}},null,8,[`config`])],512)):c(``,!0),u(`div`,{id:`legend-top-${w.value}`},null,8,Je),j.value.show&&Kt.value&&(b($t)||b(Zt))?(h(),s(b(At),{key:4,ref_key:`userOptionsRef`,ref:Wt,backgroundColor:P.value.backgroundColor,color:P.value.color,isPrinting:b(tn),isImaging:b(nn),uid:w.value,hasPdf:j.value.buttons.pdf,hasXls:j.value.buttons.csv,hasImg:j.value.buttons.img,hasSvg:j.value.buttons.svg,hasTable:j.value.buttons.table,hasFullscreen:j.value.buttons.fullscreen,hasAltCopy:j.value.buttons.altCopy,isFullscreen:Y.value,titles:{...j.value.buttonTitles},chartElement:T.value,position:j.value.position,hasAnnotator:j.value.buttons.annotator,isAnnotation:X.value,callbacks:j.value.callbacks,printScale:j.value.print.scale,tableDialog:A.value.table.useDialog,isCursorPointer:F.value,onToggleFullscreen:vn,onGeneratePdf:b(rn),onGenerateCsv:hn,onGenerateImage:b(kn),onGenerateSvg:b(On),onToggleTable:_n,onToggleAnnotator:yn,onCopyAlt:An,style:m({visibility:b($t)?b(Zt)?`visible`:`hidden`:`visible`})},Fe({_:2},[_(b(Se)(e.$slots,`menuIcon optionPdf optionCsv optionImg optionSvg optionTable optionFullscreen optionAnnotator optionAltCopy custom-menu-before custom-menu-after`),t=>({name:t,fn:x(n=>[v(e.$slots,t,p(Le(b(Ce)(t,n))),void 0,!0)])}))]),1032,/* @__PURE__ */ `backgroundColor.color.isPrinting.isImaging.uid.hasPdf.hasXls.hasImg.hasSvg.hasTable.hasFullscreen.hasAltCopy.isFullscreen.titles.chartElement.position.hasAnnotator.isAnnotation.callbacks.printScale.tableDialog.isCursorPointer.onGeneratePdf.onGenerateImage.onGenerateSvg.style`.split(`.`))):c(``,!0),u(`div`,Ye,[(h(),l(`svg`,{ref_key:`svgRef`,ref:L,xmlns:b(se),"aria-describedby":`chart-instructions-${w.value}`,viewBox:`0 0 ${z.value.width} ${z.value.height}`,class:Be({"vue-data-ui-fullscreen--on":Y.value,"vue-data-ui-fulscreen--off":!Y.value}),style:m(`overflow:visible;background:transparent;color:${P.value.color}`),tabindex:`0`,onFocus:Ln,onBlur:Rn,onKeydown:zn},[d(b(jt)),e.$slots[`chart-background`]?(h(),l(`foreignObject`,{key:0,x:0,y:0,width:z.value.width,height:z.value.height,style:{pointerEvents:`none`}},[v(e.$slots,`chart-background`,{},void 0,!0)],8,Ze)):c(``,!0),u(`defs`,null,[d(De,{t:`radial`,cx:`50%`,cy:`50%`,r:`50%`,fx:`50%`,fy:`50%`,id:`mood_radar_gradient_${w.value}`,stops:[[`0%`,b(i)(N.value.dataPolygon.color,N.value.dataPolygon.opacity),1],[`100%`,b(i)(b(ne)(N.value.dataPolygon.color,N.value.dataPolygon.gradient.intensity/100),N.value.dataPolygon.opacity),1]]},null,8,[`id`,`stops`])]),(h(!0),l(Ne,null,_(ln.value.coordinates,e=>(h(),l(`line`,{x1:z.value.width/2,y1:z.value.height/2,x2:e.x,y2:e.y,stroke:N.value.grid.stroke,"stroke-width":N.value.grid.strokeWidth},null,8,Qe))),256)),u(`path`,{d:ln.value.path,fill:`none`,stroke:N.value.outerPolygon.stroke,"stroke-width":N.value.outerPolygon.strokeWidth,"stroke-linejoin":`round`,"stroke-linecap":`round`},null,8,$e),u(`g`,{transform:B(`5`)},[u(`path`,{fill:`none`,stroke:M.value.colors[5],"stroke-width":`1`,"stroke-linecap":`round`,d:`M119 25A1 1 0 00137 25 1 1 0 00119 25M123 26C124 33 132 33 133 26L123 26M123 22A1 1 0 00126 22 1 1 0 00123 22M130 22A1 1 0 00133 22 1 1 0 00130 22`},null,8,tt),u(`circle`,{role:`button`,class:`vue-ui-mood-radar-trap`,cx:`128`,cy:`25`,r:`20`,"aria-label":$(`5`),fill:E.value===`5`?b(i)(M.value.colors[5],20):`transparent`,onMouseenter:t[0]||=e=>W(`5`),onMouseleave:t[1]||=e=>G(`5`),onClick:t[2]||=e=>K(`5`)},null,40,nt)],8,et),u(`g`,{transform:B(`4`)},[u(`path`,{fill:`none`,stroke:M.value.colors[4],"stroke-width":`1`,"stroke-linecap":`round`,d:`M218 95A1 1 0 00236 95 1 1 0 00218 95M222 97C225 99 229 99 232 97M222 92A1 1 0 00225 92 1 1 0 00222 92M229 92A1 1 0 00232 92 1 1 0 00229 92`},null,8,it),u(`circle`,{class:`vue-ui-mood-radar-trap`,cx:`227`,cy:`95.5`,r:`20`,"aria-label":$(`4`),fill:E.value===`4`?b(i)(M.value.colors[4],20):`transparent`,onMouseenter:t[3]||=e=>W(`4`),onMouseleave:t[4]||=e=>G(`4`),onClick:t[5]||=e=>K(`4`)},null,40,at)],8,rt),u(`g`,{transform:B(`3`)},[u(`path`,{fill:`none`,stroke:M.value.colors[3],"stroke-width":`1`,"stroke-linecap":`round`,d:`M181 213A1 1 0 00199 213 1 1 0 00181 213M185 210A1 1 0 00188 210 1 1 0 00185 210M192 210A1 1 0 00195 210 1 1 0 00192 210M185 215 195 215`},null,8,st),u(`circle`,{class:`vue-ui-mood-radar-trap`,cx:`190`,cy:`213.5`,r:`20`,"aria-label":$(`3`),fill:E.value===`3`?b(i)(M.value.colors[3],20):`transparent`,onMouseenter:t[6]||=e=>W(`3`),onMouseleave:t[7]||=e=>G(`3`),onClick:t[8]||=e=>K(`3`)},null,40,ct)],8,ot),u(`g`,{transform:B(`2`)},[u(`path`,{fill:`none`,stroke:M.value.colors[2],"stroke-width":`1`,"stroke-linecap":`round`,d:`M56 213A1 1 0 0074 213 1 1 0 0056 213M60 216C63 214 67 214 70 216M60 210A1 1 0 0063 210 1 1 0 0060 210M67 210A1 1 0 0070 210 1 1 0 0067 210`},null,8,ut),u(`circle`,{class:`vue-ui-mood-radar-trap`,cx:`65`,cy:`213.5`,r:`20`,"aria-label":$(`2`),fill:E.value===`2`?b(i)(M.value.colors[2],20):`transparent`,onMouseenter:t[9]||=e=>W(`2`),onMouseleave:t[10]||=e=>G(`2`),onClick:t[11]||=e=>K(`2`)},null,40,dt)],8,lt),u(`g`,{transform:B(`1`)},[u(`path`,{fill:`none`,stroke:M.value.colors[1],"stroke-width":`1`,"stroke-linecap":`round`,d:`M20 96A1 1 0 0038 96 1 1 0 0020 96M24 100C25 95 33 95 34 100L24 100M24 93A1 1 0 0027 93 1 1 0 0024 93M31 93A1 1 0 0034 93 1 1 0 0031 93`},null,8,pt),u(`circle`,{class:`vue-ui-mood-radar-trap`,cx:`29`,cy:`95.5`,r:`20`,"aria-label":$(`1`),fill:E.value===`1`?b(i)(M.value.colors[1],20):`transparent`,onMouseenter:t[12]||=e=>W(`1`),onMouseleave:t[13]||=e=>G(`1`),onClick:t[14]||=e=>K(`1`)},null,40,mt)],8,ft),u(`path`,{d:b(a)(pn.value.map(e=>e.plots)),stroke:N.value.dataPolygon.stroke,"stroke-width":N.value.dataPolygon.strokeWidth,"stroke-linecap":`round`,"stroke-linejoin":`round`,fill:N.value.dataPolygon.gradient.show?`url(#mood_radar_gradient_${w.value})`:b(i)(N.value.dataPolygon.color,N.value.dataPolygon.opacity)},null,8,ht),(h(!0),l(Ne,null,_(pn.value.map(e=>e.plots),(e,t)=>(h(),l(`g`,{class:`vue-ui-mood-radar-trap`,style:m(`opacity:${E.value==e.key?`1`:`0`}`)},[u(`line`,{x1:e.x,y1:e.y,x2:z.value.width/2,y2:z.value.height/2,stroke:M.value.colors[e.key]},null,8,gt),u(`circle`,{cx:e.x,cy:e.y,fill:M.value.colors[e.key],r:`3`,stroke:P.value.backgroundColor,"stroke-width":.5},null,8,_t),u(`circle`,{cx:z.value.width/2,cy:z.value.height/2,fill:M.value.colors[e.key],r:`3`,stroke:P.value.backgroundColor,"stroke-width":.5},null,8,vt),u(`text`,{x:z.value.width/2,y:[`5`,5].includes(e.key)?z.value.height/2*1.13:z.value.height/2*.9375,fill:N.value.dataLabel.color,"font-size":`12`,"text-anchor":`middle`,"font-weight":N.value.dataLabel.bold?`bold`:`normal`},y(b(ie)(N.value.dataLabel.formatter,e.value,b(n)({p:N.value.dataLabel.prefix,v:e.value,s:N.value.dataLabel.suffix,r:N.value.dataLabel.roundingValue}),{datapoint:e,seriesIndex:t})),9,yt),u(`text`,{x:z.value.width/2,y:[`5`,5].includes(e.key)?z.value.height/2*1.273:z.value.height/2*.7968,fill:N.value.dataLabel.color,"font-size":`12`,"text-anchor":`middle`},` (`+y(b(n)({v:e.value/V.value*100,s:`%`,r:N.value.dataLabel.roundingPercentage}))+`) `,9,bt)],4))),256)),v(e.$slots,`svg`,{svg:{...z.value,isPrintingImg:b(tn)||b(nn)||b(En),isPrintingSvg:b(Dn)}},void 0,!0)],46,Xe)),e.$slots.hint?(h(),l(`div`,xt,[v(e.$slots,`hint`,p(Le({hint:A.value.a11y.translations.keyboardNavigation,isVisible:Gt.value})),void 0,!0)])):c(``,!0)]),e.$slots.watermark?(h(),l(`div`,St,[v(e.$slots,`watermark`,p(Le({isPrinting:b(tn)||b(nn)||b(En)||b(Dn)})),void 0,!0)])):c(``,!0),u(`div`,{id:`legend-bottom-${w.value}`},null,8,Ct),Ht.value&&(P.value.legend.show||e.$slots.legend)?(h(),s(Pe,{key:6,to:P.value.legend.position===`top`?`#legend-top-${w.value}`:`#legend-bottom-${w.value}`},[u(`div`,{ref_key:`chartLegend`,ref:Bt},[v(e.$slots,`legend`,{legend:H.value},()=>[P.value.legend.show?(h(),s(je,{legendSet:fn.value,config:mn.value,key:`legend_${Rt.value}`,isCursorPointer:F.value,style:{display:`flex`,"row-gap":`6px`},onFocusMarker:t[15]||=({legend:e})=>U(e.key)},{item:x(({legend:e,index:t})=>[u(`div`,{role:`button`,onClick:()=>U(e.key),style:{display:`flex`,"flex-direction":`row`,gap:`3px`,"align-items":`center`,margin:`3px 0`},onKeydown:t=>Bn(t,String(e.key))},[e.key==1?(h(),s(b(S),{key:0,strokeWidth:1,name:`moodSad`,stroke:M.value.colors[e.key]},null,8,[`stroke`])):c(``,!0),e.key==2?(h(),s(b(S),{key:1,strokeWidth:1,name:`moodFlat`,stroke:M.value.colors[e.key]},null,8,[`stroke`])):c(``,!0),e.key==3?(h(),s(b(S),{key:2,strokeWidth:1,name:`moodNeutral`,stroke:M.value.colors[e.key]},null,8,[`stroke`])):c(``,!0),e.key==4?(h(),s(b(S),{key:3,strokeWidth:1,name:`smiley`,stroke:M.value.colors[e.key]},null,8,[`stroke`])):c(``,!0),e.key==5?(h(),s(b(S),{key:4,strokeWidth:1,name:`moodHappy`,stroke:M.value.colors[e.key]},null,8,[`stroke`])):c(``,!0),b(Jt)?c(``,!0):(h(),l(`span`,{key:5,style:m({fontWeight:P.value.legend.bold?`bold`:`normal`})},y(e.display),5))],40,wt)]),_:1},8,[`legendSet`,`config`,`isCursorPointer`])):c(``,!0)],!0)],512)],8,[`to`])):c(``,!0),e.$slots.source?(h(),l(`div`,{key:7,ref_key:`source`,ref:Vt,dir:`auto`},[v(e.$slots,`source`,{},void 0,!0)],512)):c(``,!0),Kt.value&&j.value.buttons.table?(h(),s(He(Z.value.component),Re({key:8},Z.value.props,{ref_key:`tableUnit`,ref:Ut,onClose:xn}),Fe({content:x(()=>[d(b(Ot),{colNames:J.value.colNames,head:J.value.head,body:J.value.body,config:J.value.config,title:A.value.table.useDialog?``:Z.value.title,withCloseButton:!A.value.table.useDialog,isCursorPointer:F.value,onClose:xn},{th:x(({th:e})=>[e===`__SUM__`?(h(),l(`div`,Tt,[d(b(S),{name:`sigma`,stroke:J.value.config.th.color,size:16},null,8,[`stroke`])])):(h(),l(`div`,Et,y(e),1))]),td:x(({td:e})=>[Ie(y(e.name||e),1)]),_:1},8,[`colNames`,`head`,`body`,`config`,`title`,`withCloseButton`,`isCursorPointer`])]),_:2},[A.value.table.useDialog?{name:`title`,fn:x(()=>[Ie(y(Z.value.title),1)]),key:`0`}:void 0,A.value.table.useDialog?{name:`actions`,fn:x(()=>[u(`button`,{tabindex:`0`,class:`vue-ui-user-options-button`,onClick:t[16]||=e=>hn(j.value.callbacks.csv),style:m({cursor:F.value?`pointer`:`default`})},[d(b(S),{name:`fileCsv`,stroke:Z.value.props.color},null,8,[`stroke`])],4)]),key:`1`}:void 0]),1040)):c(``,!0),v(e.$slots,`skeleton`,{},()=>[b(Jt)?(h(),s(ue,{key:0})):c(``,!0)],!0)],46,Ke))}},[[`__scopeId`,`data-v-5d5591fd`]]);export{Ge as n,S as t};
@@ -0,0 +1,19 @@
1
+ import{t as e}from"./rolldown-runtime-DK3Fl9T5.js";import{t}from"./useConfig-DM9fSqjh.js";import{$ as n,D as r,Dt as i,Ht as a,It as o,Jt as s,Kt as c,S as l,Ut as ee,X as te,Zt as ne,at as u,b as re,f as ie,i as ae,in as oe,it as se,n as ce,nn as le,nt as ue,p as de,pt as fe,t as pe,w as me,zt as he}from"./lib-DqD8nbyX.js";import{n as ge,t as _e}from"./BaseScanner-8NdoBs7B.js";import{n as ve,t as ye}from"./useHints-BH9r_0Vd.js";import{t as be}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as xe}from"./useNestedProp-DrLnzyHO.js";import{t as Se}from"./useThemeCheck-BKNRbGeC.js";import{t as Ce}from"./chartImage-r-G4CkRK.js";import{n as we}from"./Title-BLA0tM3g.js";import{t as Te}from"./useChartExport-DtPNpc9M.js";import{n as Ee,t as De}from"./tableIntegration-CNoJ1CIY.js";import{n as Oe,t as ke}from"./annotationSlots-BRR85CqJ.js";import{n as Ae,t as je}from"./userOptionsSlots-DYuo-E5m.js";import{t as Me}from"./usePrinter-Cj4eIYC_.js";import{l as Ne,t as Pe}from"./useResponsive-D2CPcpda.js";import{t as Fe}from"./DefGrad-DKMq1REY.js";import{t as Ie}from"./BaseLegendToggle-BOcw1ke8.js";import{t as Le}from"./A11yDataTable-DWNlWXzs.js";import{t as Re}from"./useUserOptionState-CXlFnwPv.js";import{t as ze}from"./useChartAccessibility-DOMuYJfm.js";import{t as Be}from"./labelUtils-DXiFpsZl.js";import{t as Ve}from"./Legend-D8NunRPr.js";import{t as He}from"./vue_ui_nested_donuts-CRtGsJcz.js";import{Fragment as d,Teleport as Ue,computed as f,createBlock as p,createCommentVNode as m,createElementBlock as h,createElementVNode as g,createSlots as We,createTextVNode as Ge,createVNode as Ke,defineAsyncComponent as _,guardReactiveProps as v,mergeProps as qe,nextTick as Je,normalizeClass as Ye,normalizeProps as y,normalizeStyle as Xe,onBeforeUnmount as Ze,onMounted as Qe,openBlock as b,ref as x,renderList as S,renderSlot as C,resolveDynamicComponent as $e,shallowRef as et,toDisplayString as w,toRefs as tt,unref as T,vShow as nt,watch as rt,withCtx as E,withDirectives as it}from"vue";var at=/* @__PURE__ */ e({default:()=>It}),ot=[`id`],st=[`id`],ct=[`id`],lt={style:{position:`relative`}},ut=[`xmlns`,`aria-describedby`,`viewBox`],dt=[`width`,`height`],ft=[`id`],pt=[`id`],mt=[`id`],ht=[`flood-color`],gt=[`id`,`d`],_t=[`d`,`fill`,`stroke`,`stroke-width`,`filter`],vt=[`d`,`fill`,`stroke`,`stroke-width`],yt={key:1},bt=[`d`,`fill`],xt={key:2},St=[`font-size`,`font-weight`,`fill`,`dy`],Ct=[`href`],wt=[`x`,`y`,`font-size`,`font-weight`,`fill`],Tt={key:3},Et=[`filter`],Dt=[`opacity`,`text-anchor`,`x`,`y`,`fill`,`font-size`,`font-weight`],Ot=[`opacity`,`text-anchor`,`x`,`y`,`fill`,`font-size`,`font-weight`],kt=[`d`,`fill`,`onMouseenter`,`onClick`,`onMouseleave`],At={key:0,style:{position:`absolute`,top:`100%`,left:`0`,width:`100%`},"data-dom-to-png-ignore":``,"aria-hidden":`true`},jt={key:5,class:`vue-data-ui-watermark`},Mt=[`id`],Nt={key:0,class:`vue-ui-nested-donuts-legend-title`},Pt=[`onClick`],Ft={style:{display:`flex`,"align-items":`center`}},It=/*#__PURE__*/ be({__name:`vue-ui-nested-donuts`,props:{config:{type:Object,default(){return{}}},dataset:{type:Array,default(){return[]}}},emits:[`selectLegend`,`selectDatapoint`,`copyAlt`],setup(e,{expose:be,emit:at}){let It=_(()=>import(`./Tooltip-Iyb_S6oQ.js`)),Lt=_(()=>import(`./BaseIcon-DDctLkeT.js`).then(e=>e.n)),Rt=_(()=>import(`./vue-ui-accordion-3lBpCjGm.js`).then(e=>e.n)),zt=_(()=>import(`./DataTable-BcVZLSs8.js`)),Bt=_(()=>import(`./UserOptions-BSJ_S_us.js`).then(e=>e.n)),Vt=_(()=>import(`./PenAndPaper-BsBFp16i.js`).then(e=>e.t)),Ht=_(()=>import(`./PackageVersion-ATrKWi8V.js`).then(e=>e.t)),Ut=_(()=>import(`./BaseDraggableDialog-Bw_azO0n.js`).then(e=>e.n)),{vue_ui_nested_donuts:Wt}=t(),{isThemeValid:Gt,warnInvalidTheme:Kt}=Se(),D=e,qt=f({get(){return!!D.dataset&&D.dataset.length},set(e){return e}}),O=x(te()),Jt=x(!1),Yt=x(``),Xt=x(null),Zt=x(0),k=x(null),Qt=x(null),$t=x(null),en=x(null),tn=x(null),nn=x(0),rn=x(0),an=x(0),A=x(!0),on=x([]),sn=x([]),cn=x(!1),ln=x(null),un=x(null),j=x(null),dn=x({x:0,y:0}),fn=x(`pointer`),pn=x(!1),M=x(!1);function mn(e){M.value=e,Zt.value+=1}let N=x(Cn()),P=f(()=>N.value.style.chart.layout.labels),F=f(()=>N.value.style.chart.tooltip),I=f(()=>N.value.userOptions),L=f(()=>N.value.style.chart.layout),R=f(()=>N.value.style.chart);ve({config:()=>N.value,dataset:()=>D.dataset,component:`VueUiNestedDonuts`,rules:[ye.emptyArray,{test:e=>e.some(e=>e.series.length>6),message:[`👀 Some series have > 6 data points. Consider:`,``,`▶️ Grouping small values dynamically into a single "Other" data point.`,``,`▶️ Using filters to let users choose a maximum number of data points to display.`,``,`▶️ Using VueUiHorizontalBar instead to make the dataset breakdown easier to read.`]},{test:e=>e.length===1,message:[`👀 There is only one series in your dataset. Consider:`,``,`▶️ Using VueUiDonut instead.`]},{test:e=>e.length>6,message:[`👀 The number of series in your dataset > 6. Consider:`,``,`▶️ Using filters to let users choose a maximum number of series to display`,``,`▶️ Using VueUiHorizontalBar instead to make the dataset breakdown easier to read.`]}]});let z=f(()=>N.value.userOptions.useCursorPointer),hn={name:``,series:[{name:``,values:[3],color:`#BABABA`},{name:``,values:[2],color:`#AAAAAA`},{name:``,values:[1],color:`#CACACA`}]},gn=f(()=>oe({defaultConfig:{useCssAnimation:!1,table:{show:!1},startAnimation:{show:!1},userOptions:{show:!1},style:{chart:{backgroundColor:`#99999930`,layout:{labels:{dataLabels:{show:!1}}},legend:{backgroundColor:`transparent`,showValue:!1,showPercentage:!1},title:{color:`#1A1A1A`,subtitle:{color:`#5A5A5A`}}}}},userConfig:N.value.skeletonConfig??{}})),{loading:_n,FINAL_DATASET:vn,manualLoading:yn}=ge({...tt(D),FINAL_CONFIG:N,prepareConfig:Cn,callback:()=>{Promise.resolve().then(async()=>{await Dn()})},skeletonDataset:D.config?.skeletonDataset??[hn,hn],skeletonConfig:oe({defaultConfig:N.value,userConfig:gn.value})}),{userOptionsVisible:bn,setUserOptionsVisibility:xn,keepUserOptionState:Sn}=Re({config:N.value}),{svgRef:B}=ze({config:R.value.title});function Cn(){let e=xe({userConfig:D.config,defaultConfig:Wt}),t={},n=e.theme;if(n){if(!Gt.value(e))Kt(e),t=e;else{let r=xe({userConfig:He[n]||D.config,defaultConfig:e});t={...xe({userConfig:D.config,defaultConfig:r}),customPalette:e.customPalette.length?e.customPalette:le[n]||a}}}else t=e;return t}let wn=ne(D.config);rt(()=>D.config,(e,t)=>{let n=ne(e),r=n!==wn;wn=n;let i=Cn();if(!r){N.value.style.chart.tooltip=i.style.chart.tooltip,U.value.showTooltip=N.value.style.chart.tooltip.show;return}_n.value||(N.value=i),bn.value=!N.value.userOptions.showOnChartHover,kn(),nn.value+=1,rn.value+=1,an.value+=1,U.value.dataLabels.show=P.value.dataLabels.show,U.value.showTable=N.value.table.show,U.value.showTooltip=F.value.show,W.value.width=R.value.width,W.value.height=R.value.height},{deep:!0});let Tn=f(()=>{let{top:e,right:t,bottom:n,left:r}=R.value.padding;return{css:`padding:${e}px ${t}px ${n}px ${r}px`,top:e,right:t,bottom:n,left:r}});function En(e,t=1e3,n=50){return new Promise(r=>{let i=e.length;on.value=Array(i).fill(0),sn.value=[];let a=0;e.forEach((e,o)=>{setTimeout(()=>{let n=performance.now();function s(l){let ee=Math.min((l-n)/t,1),te=e*se(ee);on.value[o]=te,on.value=[...on.value];let ne=[],u=0;D.dataset.forEach((e,t)=>{let n=re(e.series.reduce((e,t)=>e+re(c(t.values).reduce((e,t)=>e+t,0)),0))-re(on.value.slice(u,u+e.series.length).reduce((e,t)=>e+t,0));n>Number.MIN_VALUE&&ne.push({name:`__ghost__`,arcOf:e.name,arcOfId:`${O.value}_${t}`,id:`ghost_${O.value}_${t}`,seriesIndex:-1,datasetIndex:t,color:`transparent`,value:n,fullValue:n,absoluteValues:[],ghost:!0}),u+=e.series.length}),sn.value=ne,ee<1?requestAnimationFrame(s):(a+=1,a===i&&r())}requestAnimationFrame(s)},o*n)})})}async function Dn(){if(N.value.startAnimation?.show){let e=vn.value.flatMap(e=>e.series).map(e=>c(e.values).reduce((e,t)=>e+t,0));on.value=e.map(()=>0),A.value=!0,sn.value=vn.value.map((e,t)=>{let n=e.series.reduce((e,t)=>e+c(t.values).reduce((e,t)=>e+t,0),0);return{name:`__ghost__`,arcOf:e.name,arcOfId:`${O.value}_${t}`,id:`ghost_${O.value}_${t}`,seriesIndex:-1,datasetIndex:t,color:`transparent`,value:n,fullValue:n,absoluteValues:[],ghost:!0}}),await Je(),En(e,N.value.startAnimation.durationMs,N.value.startAnimation.staggerMs).then(()=>{A.value=!1,sn.value=[]})}else A.value=!1}Qe(async()=>{cn.value=!0,kn(),await Dn()});let V=et(null),On=et(null),H=f(()=>N.value.debug);function kn(){if(he(D.dataset)?(u({componentName:`VueUiNestedDonuts`,type:`dataset`,debug:H.value}),qt.value=!1,yn.value=!0):yn.value=N.value.loading,N.value.responsive){let e=Ne(()=>{let{width:e,height:t}=Pe({chart:k.value,title:R.value.title.text?Qt.value:null,legend:R.value.legend.show?$t.value:null,source:en.value,noTitle:tn.value,padding:Tn.value});requestAnimationFrame(()=>{W.value.width=e,W.value.height=t})});V.value&&(On.value&&V.value.unobserve(On.value),V.value.disconnect()),V.value=new ResizeObserver(e),On.value=k.value.parentNode,V.value.observe(On.value)}}Ze(()=>{V.value&&(On.value&&V.value.unobserve(On.value),V.value.disconnect())});let{isPrinting:An,isImaging:jn,generatePdf:Mn,generateImage:Nn}=Me({elementId:`nested_donuts_${O.value}`,fileName:R.value.title.text||`vue-ui-nested-donuts`,options:N.value.userOptions.print}),Pn=f(()=>N.value.userOptions.show&&!R.value.title.text),Fn=f(()=>me(N.value.customPalette)),U=x({dataLabels:{show:P.value.dataLabels.show},showTable:N.value.table.show,showTooltip:F.value.show});rt(N,()=>{U.value={dataLabels:{show:P.value.dataLabels.show},showTable:N.value.table.show,showTooltip:F.value.show}},{immediate:!0});let W=x({width:R.value.width,height:R.value.height}),G=at;function In({datapoint:e,index:t,seriesIndex:n}){N.value.events.datapointClick&&N.value.events.datapointClick({datapoint:e,seriesIndex:n}),G(`selectDatapoint`,{datapoint:e,index:t})}function Ln({from:e,to:t,duration:n,onUpdate:r,onDone:i,easing:a=se}){let o=performance.now();function s(c){let l=Math.min((c-o)/n,1),ee=a(l);r(e+(t-e)*ee,l),l<1?requestAnimationFrame(s):(r(t,1),i&&i())}requestAnimationFrame(s)}let K=x([]),q=f(()=>{_n.value,vn.value.forEach((e,t)=>{[null,void 0].includes(e.name)&&u({componentName:`VueUiNestedDonuts`,type:`datasetSerieAttribute`,property:`name`,index:t,debug:H.value}),[null,void 0].includes(e.series)?u({componentName:`VueUiNestedDonuts`,type:`datasetSerieAttribute`,property:`series`,index:t,debug:H.value}):e.series.length===0?u({componentName:`VueUiNestedDonuts`,type:`datasetAttributeEmpty`,property:`series at index ${t}`,debug:H.value}):e.series.forEach((e,t)=>{[null,void 0].includes(e.name)&&u({componentName:`VueUiNestedDonuts`,type:`datasetSerieAttribute`,property:`name`,index:t,key:`serie`,debug:H.value}),[null,void 0].includes(e.values)&&u({componentName:`VueUiNestedDonuts`,type:`datasetSerieAttribute`,property:`values`,index:t,key:`serie`,debug:H.value})})});let e=0;return vn.value.map((t,n)=>({...t,total:t.series.filter(e=>!K.value.includes(e.id)).map(e=>c(e.values).reduce((e,t)=>e+t,0)).reduce((e,t)=>e+t,0),datasetIndex:n,id:`${O.value}_${n}`,series:t.series.map((r,i)=>{let o=c(r.values).reduce((e,t)=>e+t,0);return{name:r.name,arcOf:t.name,arcOfId:`${O.value}_${n}`,id:`${O.value}_${n}_${i}`,seriesIndex:i,datasetIndex:n,color:l(r.color)||Fn.value[i]||a[i%a.length],value:A.value?on.value[e++]??0:o,absoluteValues:r.values||[]}})}))});rt(()=>D.dataset,e=>{Array.isArray(e)&&e.length>0&&(yn.value=!1)},{immediate:!0});let J=f(()=>Math.min(W.value.height,W.value.width)*(L.value.donut.strokeWidth/512)),Y=f(()=>[...q.value].map((e,t)=>{let n=e.series.filter(e=>!K.value.includes(e.id)).map(e=>e.value).reduce((e,t)=>e+t,0);return{...e,total:n,series:e.series.filter(e=>!K.value.includes(e.id)).map(e=>({...e,proportion:e.value/n}))}}));function Rn(e,t,n){let r=0;for(let t=0;t<e.length;t+=1)n.includes(e[t])&&(r+=1);return r<t}let X=x(Y.value);rt(()=>Y.value,e=>X.value=e);function zn(e){let t=e.map(e=>e.id);if(e.some(e=>K.value.includes(e.id))){let e=new Set(t);K.value=K.value.filter(t=>!e.has(t))}else K.value.push(...t);G(`selectLegend`,Y.value)}function Z(e){let t=D.dataset.flatMap((e,t)=>e.series.map((e,n)=>({value:c(e.values).reduce((e,t)=>e+t,0),id:`${O.value}_${t}_${n}`,arcOfId:`${O.value}_${t}`}))).find(t=>t.id===e.id);if(!t)return;let n=q.value.flatMap(e=>e.series).find(t=>t.id===e.id)?.value??0,r=X.value.flatMap(e=>e.series).find(t=>t.id===e.id),i=r?r.value:0,a=q.value.find(e=>e.id===t.arcOfId);if(!a)return;let o=a.series.map(e=>e.id),s=Rn(o,o.length-1,K.value);K.value.includes(e.id)?(K.value=K.value.filter(t=>t!==e.id),N.value.serieToggleAnimation.show?Ln({from:i,to:n,duration:N.value.serieToggleAnimation.durationMs,onUpdate:t=>{X.value=X.value.map(n=>({...n,series:n.series.map(n=>n.id===e.id?{...n,value:t}:n)}))},onDone:()=>{G(`selectLegend`,Y.value)}}):(X.value=X.value.map(t=>({...t,series:t.series.map(t=>t.id===e.id?{...t,value:n}:t)})),G(`selectLegend`,Y.value))):s&&(N.value.serieToggleAnimation.show?Ln({from:i,to:0,duration:N.value.serieToggleAnimation.durationMs,onUpdate:t=>{X.value=X.value.map(n=>({...n,series:n.series.map(n=>n.id===e.id?{...n,value:t}:n)}))},onDone:()=>{K.value.push(e.id),G(`selectLegend`,Y.value)}}):(X.value=X.value.map(t=>({...t,series:t.series.map(t=>t.id===e.id?{...t,value:0}:t)})),K.value.push(e.id),G(`selectLegend`,Y.value)))}function Bn(e){return q.value.length?q.value.flatMap(e=>e.series).filter(t=>t.name===e)||(H.value&&console.warn(`VueUiNestedDonuts - Series name not found "${e}"`),null):(H.value&&console.warn(`VueUiNestedDonuts - There are no series to show.`),null)}function Vn(e){let t=Bn(e);t!==null&&(Array.isArray(t)?t.forEach(e=>{K.value.includes(e.id)&&Z({id:e.id})}):K.value.includes(t.id)&&Z({id:t.id}))}function Hn(e){let t=Bn(e);t!==null&&(Array.isArray(t)?t.forEach(e=>{K.value.includes(e.id)||Z({id:e.id})}):K.value.includes(t.id)||Z({id:t.id}))}let Un=f(()=>J.value/q.value.length*L.value.donut.spacingRatio),Wn=f(()=>X.value.map((e,t)=>J.value-t*J.value/q.value.length)),Gn=f(()=>X.value.map((e,t)=>{let n=Math.abs(e.series.map(e=>e.value).reduce((e,t)=>e+t,0))>0,r=J.value-t*J.value/X.value.length,i=A.value?sn.value.find(e=>e.datasetIndex===t):null,a=[...e.series,...i?[i]:[]].map(e=>({...e,value:e.value<1e-11?Number.MIN_VALUE:e.value})),s=o({series:[{name:`_`,color:L.value.donut.emptyFill,value:1}]},W.value.width/2,W.value.height/2,r,r,1.99999,2,1,360,105.25,Un.value),c=`M ${W.value.width/2},${W.value.height/2+r}
2
+ a ${r},${r} 0 1,1 0,${-2*r}
3
+ a ${r},${r} 0 1,1 0,${2*r}`;return{...e,hasData:n,radius:r,skeleton:s,fullCirclePath:c,donut:o({series:a},W.value.width/2,W.value.height/2,r,r,1.99999,2,1,360,105.25,Un.value)}})),Kn=f(()=>[...q.value].map((e,t)=>{let n=t*J.value/q.value.length;return{sizeRatio:n,donut:o({series:[{value:1}]},W.value.width/2,W.value.height/2,J.value-n,J.value-n,1.99999,2,1,360,105.25,J.value/q.value.length*L.value.donut.spacingRatio)[0]}})),qn=x(null),Jn=x(null),Yn=x(null),Xn=x(null);function Zn({datapoint:e,seriesIndex:t}){N.value.events.datapointLeave&&N.value.events.datapointLeave({datapoint:e,seriesIndex:t}),Jt.value=!1,qn.value=null,Xt.value=null,Jn.value=null,Yn.value=null,j.value=null,fn.value=`pointer`}function Qn({val:e,percentage:t,showVal:n,showPercentage:r,config:i}){return Be({config:i,val:e,percentage:t,showVal:n,showPercentage:r})}function $n({datapoint:e,_relativeIndex:t,seriesIndex:r,triggerMode:a=`pointer`}){N.value.events.datapointEnter&&N.value.events.datapointEnter({datapoint:e,seriesIndex:r}),fn.value=a,j.value=r,qn.value=e.arcOfId,Jn.value=e.id,Yn.value=r,Xt.value=e.id,Xn.value={datapoint:e,seriesIndex:r,series:X.value,config:N.value};let o=F.value.customFormat;if(i(o)&&fe(()=>o({seriesIndex:r,datapoint:e,series:X.value,config:N.value})))Yt.value=o({seriesIndex:r,datapoint:e,series:X.value,config:N.value});else{let t=``;if(F.value.showAllItemsAtIndex&&K.value.length===0){let i=X.value.map(e=>e.series.find(e=>e.seriesIndex===r));i.forEach((a,o)=>{if(!a)return``;t+=`
4
+ <div style="display:flex; flex-direction: column; justify-content:flex-start; align-items:flex-start;padding:6px 0; ${o<i.length-1?`border-bottom:1px solid ${F.value.borderColor}`:``}">
5
+ <div style="display:flex; flex-direction: row; gap: 3px; justify-content:flex-start; align-items:center;">
6
+ <svg viewBox="0 0 20 20" height="${F.value.fontSize}" width="${F.value.fontSize}">
7
+ <circle cx="10" cy="10" r="10" fill="${a.color}"/>
8
+ </svg>
9
+ <span>
10
+ ${a.arcOf??``} - ${a.name}
11
+ </span>
12
+ </div>
13
+ <span>
14
+ <b>
15
+ ${Qn({config:R.value.tooltip,showVal:F.value.showValue,showPercentage:F.value.showPercentage,val:ae(L.value.labels.dataLabels.formatter,e.value,n({p:R.value.layout.labels.dataLabels.prefix,v:e.value,s:R.value.layout.labels.dataLabels.suffix,r:R.value.tooltip.roundingValue}),{datapoint:e,seriesIndex:r}),percentage:n({v:a.proportion*100,s:`%`,r:R.value.tooltip.roundingPercentage})})}
16
+ </b>
17
+ </span>
18
+ </div>
19
+ `})}else t+=`<div style="width:100%;text-align:center;border-bottom:1px solid ${F.value.borderColor};padding-bottom:6px;margin-bottom:3px;">${e.arcOf??``} - ${e.name}</div>`,t+=`<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="${e.color}"/></svg>`,F.value.showValue&&(t+=`<b>${ae(P.value.dataLabels.formatter,e.value,n({p:P.value.dataLabels.prefix,v:e.value,s:P.value.dataLabels.suffix,r:F.value.roundingValue}),{datapoint:e,seriesIndex:r})}</b>`),F.value.showPercentage&&(F.value.showValue?t+=`<span>(${n({v:e.proportion*100,s:`%`,r:F.value.roundingPercentage})})</span></div>`:t+=`<b>${n({v:e.proportion*100,s:`%`,r:F.value.roundingPercentage})}</b></div>`);Yt.value=`<div style="font-size:${F.value.fontSize}px">${t}</div>`}Jt.value=!0}function er(e){return e.proportion*100>P.value.dataLabels.hideUnderValue}function tr(e,t){if(!N.value.useBlurOnHover)return``;if(F.value.showAllItemsAtIndex&&K.value.length===0)return[null,void 0].includes(Yn.value)||Yn.value===t?``:`url(#blur_${O.value})`;if(!F.value.showAllItemsAtIndex||K.value.length)return[null,void 0].includes(Jn.value)||Jn.value===e.id?``:`url(#blur_${O.value})`}let nr=f(()=>q.value.map((e,t)=>{let r=e.series.filter(e=>!K.value.includes(e.id)),i=A.value?r.map(e=>{let n=vn.value[t].series.findIndex(t=>t.name===e.name);return c(vn.value[t].series[n].values).reduce((e,t)=>e+t,0)}).reduce((e,t)=>e+t,0):r.map(e=>e.value).reduce((e,t)=>e+t,0);return e.series.map((e,r)=>{let a=c(vn.value[t].series[r].values).reduce((e,t)=>e+t,0),o=A.value?a:e.value,s=Qn({val:ae(P.value.dataLabels.formatter,o,n({p:P.value.dataLabels.prefix,v:o,s:P.value.dataLabels.suffix,r:R.value.legend.roundingValue}),{datapoint:e,seriesIndex:r}),percentage:isNaN(o/i)||K.value.includes(e.id)?`-`:n({v:o/i*100,s:`%`,r:R.value.legend.roundingPercentage}),showVal:R.value.legend.showValue,showPercentage:R.value.legend.showPercentage,config:R.value.legend}),l=`${e.name}${R.value.legend.showPercentage||R.value.legend.showValue?`: `:``}${s}`;return{name:e.name,color:e.color,value:o,display:l,svgDisplay:`${e.arcOf?`${e.arcOf} - `:``}${l}`,shape:`circle`,arcOf:e.arcOf,id:e.id,seriesIndex:r,datasetIndex:t,total:i,opacity:K.value.includes(e.id)?.5:1,segregate:()=>Z(e),isSegregated:K.value.includes(e.id)}})})),rr=f(()=>({cy:`nested-donuts-legend`,backgroundColor:R.value.legend.backgroundColor,color:R.value.legend.color,fontSize:R.value.legend.fontSize,paddingBottom:12,fontWeight:R.value.legend.bold?`bold`:``})),Q=f(()=>({head:X.value.flatMap(e=>e.series.map(t=>({name:`${e.name} - ${t.name}`,color:t.color,total:e.total}))),body:X.value.flatMap(e=>e.series.map(e=>e.value))}));function ir(e=null){Je(()=>{let t=Q.value.head.map((e,t)=>[[e.name],[Q.value.body[t]],[isNaN(Q.value.body[t]/e.total)?`-`:Q.value.body[t]/e.total*100]]),n=[[R.value.title.text],[R.value.title.subtitle.text],[[``],[`val`],[`%`]]].concat(t),i=r(n);e?e(i):ue({csvContent:i,title:R.value.title.text||`vue-ui-nested-donuts`})})}let ar=f(()=>{let e=[N.value.table.columnNames.series,N.value.table.columnNames.value,N.value.table.columnNames.percentage],t=Q.value.head.map((e,t)=>{let r=n({p:P.value.dataLabels.prefix,v:Q.value.body[t],s:P.value.dataLabels.suffix,r:N.value.table.td.roundingValue});return[{color:e.color,name:e.name},r,isNaN(Q.value.body[t]/e.total)?`-`:n({v:Q.value.body[t]/e.total*100,s:`%`,r:N.value.table.td.roundingPercentage})]}),r=t.map(e=>e.map((e,t)=>t===0?e.name:e)),i={th:{backgroundColor:N.value.table.th.backgroundColor,color:N.value.table.th.color,outline:N.value.table.th.outline},td:{backgroundColor:N.value.table.td.backgroundColor,color:N.value.table.td.color,outline:N.value.table.td.outline},breakpoint:N.value.table.responsiveBreakpoint};return{colNames:[N.value.table.columnNames.series,N.value.table.columnNames.value,N.value.table.columnNames.percentage],head:e,body:t,a11yBody:r,config:i}});function or(){return q.value}function sr(){U.value.showTable=!U.value.showTable}function cr(){U.value.dataLabels.show=!U.value.dataLabels.show}function lr(){U.value.showTooltip=!U.value.showTooltip}let ur=x(!1);function dr(){ur.value=!ur.value}let fr=Ce(k,()=>R.value.title.text),pr=x(null);function mr(){if(!pr.value)return;let{x:e,y:t,width:n,height:r}=pr.value.getBBox();B.value&&B.value.setAttribute(`viewBox`,`${e} ${t} ${n+Math.min(0,e)} ${r+Math.min(0,t)}`)}let hr=f(()=>De({config:N,style:R,mutableConfig:U,dialog:Ut,accordion:Rt,isFullscreen:M,parent:k,maxWidth:800,isCursorPointer:z}));rt(()=>U.value.showTable,e=>Ee(e,N,ln));function gr(){U.value.showTable=!1,un.value&&un.value.setTableIconState(!1)}let _r=f(()=>R.value.backgroundColor),vr=f(()=>R.value.legend),yr=f(()=>R.value.title),br=f(()=>nr.value.flat().map(e=>({...e,name:e.svgDisplay}))),{isCallbackImaging:xr,isCallbackSvg:Sr,generateSvg:Cr,onGenerateImage:wr}=Te({svg:B,title:yr,legend:vr,legendItems:br,backgroundColor:_r,getSvgCallback:()=>N.value.userOptions.callbacks.svg,generateImage:Nn});async function Tr(){if(G(`copyAlt`,{config:N.value,dataset:X.value}),!N.value.userOptions.callbacks.altCopy){console.warn("Vue Data UI - A callback must be set for `altCopy` in userOptions.");return}await Promise.resolve(N.value.userOptions.callbacks.altCopy({config:N.value,dataset:X.value}))}let $=f(()=>Gn.value.flatMap(e=>e.donut.filter(e=>!e.ghost)));function Er(){j.value=null,pn.value=!0}function Dr(){j.value=null,fn.value=`pointer`,Jt.value=!1,qn.value=null,Xt.value=null,Jn.value=null,Yn.value=null,pn.value=!1}function Or(e){if(!B.value||ur.value||document.activeElement!==B.value||!$.value.length)return;let t=[`ArrowLeft`,`ArrowUp`].includes(e.key),n=[`ArrowRight`,`ArrowDown`].includes(e.key),r=e.key===`Enter`||e.key===` `,i=e.key===`Escape`;if(!t&&!n&&!r&&!i)return;if(e.preventDefault(),e.stopPropagation(),i){j.value=null,fn.value=`pointer`,Jt.value=!1,qn.value=null,Xt.value=null,Jn.value=null,Yn.value=null;return}if(r){if(j.value===null)return;let e=$.value[j.value];if(!e)return;In({datapoint:e,index:j.value,seriesIndex:e.seriesIndex});return}let a=j.value,o=Yn.value,s=a!==null&&a>=0&&a<$.value.length,c=o!==null&&o>=0&&o<$.value.length;s?n?(a+=1,a>=$.value.length&&(a=0)):t&&(--a,a<0&&(a=$.value.length-1)):c?(a=n?o+1:o-1,a>=$.value.length&&(a=0),a<0&&(a=$.value.length-1)):a=n?0:$.value.length-1;let l=$.value[a];l&&(j.value=a,kr(),$n({datapoint:l,relativeIndex:a,seriesIndex:l.seriesIndex,show:!0,triggerMode:`keyboard`}))}function kr(){if(!B.value)return;let e=B.value.getBoundingClientRect();dn.value={x:e.left+e.width/2,y:e.top+e.height/2}}let Ar=f(()=>({headers:ar.value?.colNames??[],rows:ar.value?.a11yBody??[]}));return be({autoSize:mr,getData:or,getImage:fr,generatePdf:Mn,generateCsv:ir,generateImage:Nn,generateSvg:Cr,hideSeries:Hn,showSeries:Vn,toggleTable:sr,toggleLabels:cr,toggleTooltip:lr,toggleAnnotator:dr,toggleFullscreen:mn,copyAlt:Tr}),(e,t)=>(b(),h(`div`,{ref_key:`nestedDonutsChart`,ref:k,class:Ye(`vue-data-ui-component vue-ui-nested-donuts ${M.value?`vue-data-ui-wrapper-fullscreen`:``} ${N.value.useCssAnimation?``:`vue-ui-dna`}`),style:Xe(`font-family:${N.value.style.fontFamily};width:100%; text-align:center;background:${R.value.backgroundColor}`),id:`nested_donuts_${O.value}`,onMouseenter:t[2]||=()=>T(xn)(!0),onMouseleave:t[3]||=()=>T(xn)(!1)},[g(`div`,{id:`chart-instructions-${O.value}`,class:`sr-only`},[g(`p`,null,w(N.value.a11y.translations.keyboardNavigation),1)],8,st),Ar.value?.rows?.length?(b(),p(Le,{key:0,uid:O.value,head:Ar.value.headers,body:Ar.value.rows,notice:N.value.a11y.translations.tableAvailable,caption:N.value.a11y.translations.tableCaption},null,8,[`uid`,`head`,`body`,`notice`,`caption`])):m(``,!0),I.value.buttons.annotator?(b(),p(T(Vt),{key:1,svgRef:T(B),backgroundColor:R.value.backgroundColor,color:R.value.color,active:ur.value,isCursorPointer:z.value,palette:I.value.annotatorPalette,onClose:dr},We({_:2},[S(T(ke),t=>({name:t,fn:E(n=>[C(e.$slots,t,y(v(T(Oe)(t,n))),void 0,!0)])}))]),1032,[`svgRef`,`backgroundColor`,`color`,`active`,`isCursorPointer`,`palette`])):m(``,!0),Pn.value?(b(),h(`div`,{key:2,ref_key:`noTitle`,ref:tn,class:`vue-data-ui-no-title-space`,style:`height:36px; width: 100%;background:transparent`},null,512)):m(``,!0),R.value.title.text?(b(),h(`div`,{key:3,ref_key:`chartTitle`,ref:Qt},[(b(),p(we,{key:`title_${nn.value}`,config:{title:{cy:`donut-div-title`,...R.value.title},subtitle:{cy:`donut-div-subtitle`,...R.value.title.subtitle}}},null,8,[`config`]))],512)):m(``,!0),g(`div`,{id:`legend-top-${O.value}`},null,8,ct),I.value.show&&qt.value&&(T(Sn)||T(bn))?(b(),p(T(Bt),{ref_key:`userOptionsRef`,ref:un,key:`user_option_${Zt.value}`,backgroundColor:R.value.backgroundColor,color:R.value.color,isPrinting:T(An),isImaging:T(jn),uid:O.value,hasTooltip:I.value.buttons.tooltip&&F.value.show,hasPdf:I.value.buttons.pdf,hasXls:I.value.buttons.csv,hasImg:I.value.buttons.img,hasSvg:I.value.buttons.svg,hasTable:I.value.buttons.table,hasLabel:I.value.buttons.labels,hasFullscreen:I.value.buttons.fullscreen,hasAltCopy:I.value.buttons.altCopy,isFullscreen:M.value,isTooltip:U.value.showTooltip,titles:{...I.value.buttonTitles},chartElement:k.value,position:I.value.position,hasAnnotator:I.value.buttons.annotator,isAnnotation:ur.value,callbacks:I.value.callbacks,printScale:I.value.print.scale,tableDialog:N.value.table.useDialog,isCursorPointer:z.value,onToggleFullscreen:mn,onGeneratePdf:T(Mn),onGenerateCsv:ir,onGenerateImage:T(wr),onGenerateSvg:T(Cr),onToggleTable:sr,onToggleLabels:cr,onToggleTooltip:lr,onToggleAnnotator:dr,onCopyAlt:Tr,style:Xe({visibility:T(Sn)?T(bn)?`visible`:`hidden`:`visible`})},We({_:2},[S(T(Ae)(e.$slots,`menuIcon optionTooltip optionPdf optionCsv optionImg optionSvg optionTable optionLabels optionFullscreen optionAnnotator optionAltCopy custom-menu-before custom-menu-after`),t=>({name:t,fn:E(n=>[C(e.$slots,t,y(v(T(je)(t,n))),void 0,!0)])}))]),1032,/* @__PURE__ */ `backgroundColor.color.isPrinting.isImaging.uid.hasTooltip.hasPdf.hasXls.hasImg.hasSvg.hasTable.hasLabel.hasFullscreen.hasAltCopy.isFullscreen.isTooltip.titles.chartElement.position.hasAnnotator.isAnnotation.callbacks.printScale.tableDialog.isCursorPointer.onGeneratePdf.onGenerateImage.onGenerateSvg.style`.split(`.`))):m(``,!0),g(`div`,lt,[(b(),h(`svg`,{ref_key:`svgRef`,ref:B,xmlns:T(pe),"aria-describedby":`chart-instructions-${O.value}`,class:Ye({"vue-data-ui-fullscreen--on":M.value,"vue-data-ui-fulscreen--off":!M.value,"vue-data-ui-svg":!0}),viewBox:`0 0 ${W.value.width<=0?.001:W.value.width} ${W.value.height<0?.001:W.value.height}`,style:Xe(`max-width:100%; overflow: visible; background:transparent;color:${R.value.color};${Tn.value.css}`),tabindex:`0`,onFocus:Er,onBlur:Dr,onKeydown:Or},[g(`g`,{ref_key:`G`,ref:pr,class:`vue-data-ui-g`},[Ke(T(Ht)),e.$slots[`chart-background`]?(b(),h(`foreignObject`,{key:0,x:0,y:0,width:W.value.width<=0?.001:W.value.width,height:W.value.height<0?.001:W.value.height,style:{pointerEvents:`none`}},[C(e.$slots,`chart-background`,{},void 0,!0)],8,dt)):m(``,!0),g(`defs`,null,[(b(!0),h(d,null,S(Kn.value,(e,t)=>(b(),p(Fe,{t:`radial`,id:`radial_${O.value}_${t}`,key:`radial_${O.value}_${t}`,stops:[[`0%`,`#FFFFFF`,0],[`${(1-Un.value/Wn.value[t])*100}%`,T(s)(`#FFFFFF`,0),0],[`${(1-Un.value/Wn.value[t]/2)*100}%`,`#FFFFFF`,R.value.gradientIntensity/100],[`100%`,`#FFFFFF`,0]]},null,8,[`id`,`stops`]))),128))]),g(`defs`,null,[g(`filter`,{id:`blur_${O.value}`,x:`-50%`,y:`-50%`,width:`200%`,height:`200%`},[g(`feGaussianBlur`,{in:`SourceGraphic`,stdDeviation:2,id:`blur_std_${O.value}`},null,8,pt),t[4]||=g(`feColorMatrix`,{type:`saturate`,values:`0`},null,-1)],8,ft),g(`filter`,{id:`shadow_${O.value}`,"color-interpolation-filters":`sRGB`},[g(`feDropShadow`,{dx:`0`,dy:`0`,stdDeviation:`10`,"flood-opacity":`0.5`,"flood-color":L.value.donut.shadowColor},null,8,ht)],8,mt)]),g(`defs`,null,[(b(!0),h(d,null,S(Gn.value,(e,t)=>(b(),h(`path`,{key:`path-full-${t}`,id:`path-full-${t}-${O.value}`,d:e.fullCirclePath,fill:`none`},null,8,gt))),128))]),(b(!0),h(d,null,S(Gn.value,(e,t)=>(b(),h(`g`,null,[e.hasData?(b(!0),h(d,{key:0},S(e.donut.filter(e=>!e.ghost),(e,t)=>(b(),h(`g`,null,[g(`path`,{class:`vue-ui-donut-arc-path`,d:e.arcSlice,fill:e.color,stroke:L.value.donut.borderColorAuto?R.value.backgroundColor:L.value.donut.borderColor,"stroke-width":L.value.donut.borderWidth,filter:tr(e,t)},null,8,_t)]))),256)):(b(!0),h(d,{key:1},S(e.skeleton,(e,t)=>(b(),h(`g`,null,[g(`path`,{class:`vue-ui-donut-arc-path`,d:e.arcSlice,fill:e.color,stroke:L.value.donut.borderColorAuto?R.value.backgroundColor:L.value.donut.borderColor,"stroke-width":L.value.donut.borderWidth},null,8,vt)]))),256))]))),256)),R.value.useGradient?(b(),h(`g`,yt,[(b(!0),h(d,null,S(Kn.value,(e,t)=>(b(),h(`g`,null,[g(`path`,{d:e.donut.arcSlice,fill:`url(#radial_${O.value}_${t})`,stroke:`transparent`,"stroke-width":`0`},null,8,bt)]))),256))])):m(``,!0),P.value.dataLabels.showDonutName?(b(),h(`g`,xt,[P.value.dataLabels.curvedDonutName?(b(!0),h(d,{key:0},S(Gn.value,(e,t)=>(b(),h(`g`,null,[(b(!0),h(d,null,S(e.donut,(n,r)=>(b(),h(`g`,null,[r===0&&W.value.width&&W.value.height?(b(),h(`text`,{key:0,"text-anchor":`middle`,"font-size":L.value.labels.dataLabels.fontSize,"font-weight":L.value.labels.dataLabels.boldDonutName?`bold`:`normal`,fill:L.value.labels.dataLabels.color,dy:L.value.labels.dataLabels.donutNameOffsetY},[g(`textPath`,{href:`#path-full-${t}-${O.value}`,startOffset:`50%`,"text-anchor":`middle`,method:`align`,spacing:`auto`},w(L.value.labels.dataLabels.donutNameAbbreviation?T(ce)({source:e.name,length:N.value.style.chart.layout.labels.dataLabels.donutNameMaxAbbreviationSize}):e.name),9,Ct)],8,St)):m(``,!0)]))),256))]))),256)):(b(!0),h(d,{key:1},S(Gn.value,(e,t)=>(b(),h(`g`,null,[(b(!0),h(d,null,S(e.donut,(t,n)=>(b(),h(`g`,null,[n===0&&W.value.width&&W.value.height?(b(),h(`text`,{key:0,x:W.value.width/2,y:t.startY-L.value.labels.dataLabels.fontSize+L.value.labels.dataLabels.donutNameOffsetY,"text-anchor":`middle`,"font-size":L.value.labels.dataLabels.fontSize,"font-weight":L.value.labels.dataLabels.boldDonutName?`bold`:`normal`,fill:L.value.labels.dataLabels.color},w(L.value.labels.dataLabels.donutNameAbbreviation?T(ce)({source:e.name,length:N.value.style.chart.layout.labels.dataLabels.donutNameMaxAbbreviationSize}):e.name),9,wt)):m(``,!0)]))),256))]))),256))])):m(``,!0),P.value.dataLabels.show?(b(),h(`g`,Tt,[(b(!0),h(d,null,S(Gn.value,(e,t)=>(b(),h(`g`,null,[(b(!0),h(d,null,S(e.donut.filter(e=>!e.ghost),(e,r)=>(b(),h(`g`,{filter:tr(e,r)},[it(g(`text`,{opacity:+!!er(e),"text-anchor":T(ie)(e,!0).anchor,x:T(ie)(e,!1,L.value.labels.dataLabels.offsetX).x||0,y:T(de)(e,L.value.labels.dataLabels.offsetY,L.value.labels.dataLabels.offsetY)+(P.value.dataLabels.showValueFirst&&P.value.dataLabels.showValue?L.value.labels.dataLabels.fontSize:0),fill:P.value.dataLabels.useSerieColor?e.color:L.value.labels.dataLabels.color,"font-size":P.value.dataLabels.fontSize,"font-weight":P.value.dataLabels.boldPercentage?`bold`:`normal`},w(T(ee)(T(n)({v:e.proportion*100,s:`%`,r:R.value.layout.labels.dataLabels.roundingPercentage}),L.value.labels.dataLabels.usePercentageParens?`(`:``,L.value.labels.dataLabels.usePercentageParens?`)`:``)),9,Dt),[[nt,U.value.dataLabels.show&&P.value.dataLabels.showPercentage]]),it(g(`text`,{opacity:+!!er(e),"text-anchor":T(ie)(e,!0).anchor,x:T(ie)(e,!1,L.value.labels.dataLabels.offsetX).x||0,y:T(de)(e,L.value.labels.dataLabels.offsetY,L.value.labels.dataLabels.offsetY)+(P.value.dataLabels.showValueFirst||!P.value.dataLabels.showPercentage?0:L.value.labels.dataLabels.fontSize),fill:P.value.dataLabels.useSerieColor?e.color:L.value.labels.dataLabels.color,"font-size":P.value.dataLabels.fontSize,"font-weight":P.value.dataLabels.boldValue?`bold`:`normal`},w(T(ee)(T(ae)(L.value.labels.dataLabels.formatter,e.value,T(n)({p:R.value.layout.labels.dataLabels.prefix,v:e.value,s:R.value.layout.labels.dataLabels.suffix,r:R.value.layout.labels.dataLabels.roundingValue}),{datapoint:e,seriesIndex:t,datapointIndex:r}),L.value.labels.dataLabels.useValueParens?`(`:``,L.value.labels.dataLabels.useValueParens?`)`:``)),9,Ot),[[nt,U.value.dataLabels.show&&P.value.dataLabels.showValue]])],8,Et))),256))]))),256))])):m(``,!0),(b(!0),h(d,null,S(Gn.value,(e,t)=>(b(),h(`g`,null,[(b(!0),h(d,null,S(e.donut,(e,t)=>(b(),h(`g`,null,[g(`path`,{d:e.arcSlice,fill:Xt.value===e.id?L.value.donut.selectedColor:`transparent`,onMouseenter:t=>$n({datapoint:e,relativeIndex:$.value.findIndex(t=>t.id===e.id),seriesIndex:e.seriesIndex}),onClick:n=>In({datapoint:e,index:t,seriesIndex:e.seriesIndex}),onMouseleave:t=>Zn({datapoint:e,seriesIndex:e.seriesIndex})},null,40,kt)]))),256))]))),256)),C(e.$slots,`svg`,{svg:{...W.value,isPrintingImg:T(An)||T(jn)||T(xr),isPrintingSvg:T(Sr)}},void 0,!0)],512)],46,ut)),e.$slots.hint?(b(),h(`div`,At,[C(e.$slots,`hint`,y(v({hint:N.value.a11y.translations.keyboardNavigation,isVisible:pn.value})),void 0,!0)])):m(``,!0)]),e.$slots.watermark?(b(),h(`div`,jt,[C(e.$slots,`watermark`,y(v({isPrinting:T(An)||T(jn)||T(xr)||T(Sr)})),void 0,!0)])):m(``,!0),Ke(T(It),{teleportTo:F.value.teleportTo,show:U.value.showTooltip&&Jt.value,backgroundColor:F.value.backgroundColor,color:F.value.color,borderRadius:F.value.borderRadius,borderColor:F.value.borderColor,borderWidth:F.value.borderWidth,fontSize:F.value.fontSize,backgroundOpacity:F.value.backgroundOpacity,position:F.value.position,offsetX:F.value.offsetX,offsetY:F.value.offsetY,parent:k.value,content:Yt.value,isFullscreen:M.value,isCustom:T(i)(F.value.customFormat),smooth:F.value.smooth,backdropFilter:F.value.backdropFilter,smoothForce:F.value.smoothForce,smoothSnapThreshold:F.value.smoothSnapThreshold,isA11yMode:fn.value===`keyboard`,a11yPosition:dn.value},{"tooltip-before":E(()=>[C(e.$slots,`tooltip-before`,y(v({...Xn.value})),void 0,!0)]),tooltip:E(()=>[C(e.$slots,`tooltip`,y(v({...Xn.value})),void 0,!0)]),"tooltip-after":E(()=>[C(e.$slots,`tooltip-after`,y(v({...Xn.value})),void 0,!0)]),_:3},8,[`teleportTo`,`show`,`backgroundColor`,`color`,`borderRadius`,`borderColor`,`borderWidth`,`fontSize`,`backgroundOpacity`,`position`,`offsetX`,`offsetY`,`parent`,`content`,`isFullscreen`,`isCustom`,`smooth`,`backdropFilter`,`smoothForce`,`smoothSnapThreshold`,`isA11yMode`,`a11yPosition`]),g(`div`,{id:`legend-bottom-${O.value}`},null,8,Mt),cn.value&&(R.value.legend.show||e.$slots.legend)?(b(),p(Ue,{key:6,to:R.value.legend.position===`top`?`#legend-top-${O.value}`:`#legend-bottom-${O.value}`},[R.value.legend.show?(b(),h(`div`,{key:0,ref_key:`chartLegend`,ref:$t,class:Ye({"vue-ui-nested-donuts-legend":nr.value.length>1})},[C(e.$slots,`legend`,{legend:nr.value},()=>[(b(!0),h(d,null,S(nr.value,(e,n)=>(b(),p(Ve,{key:`legend_${n}_${an.value}`,legendSet:e,config:rr.value,isCursorPointer:z.value,onClickMarker:t[0]||=({legend:e})=>Z(e)},{legendTitle:E(({titleSet:e})=>[e[0]&&e[0].arcOf?(b(),h(`div`,Nt,w(e[0].arcOf),1)):m(``,!0)]),item:E(({legend:e,index:t})=>[g(`div`,{onClick:t=>Z(e),style:Xe(`opacity:${K.value.includes(e.id)?.5:1}`)},w(e.display),13,Pt)]),legendToggle:E(()=>[e.length>2&&R.value.legend.selectAllToggle.show&&!T(_n)?(b(),p(Ie,{key:`toggle-${n}`,backgroundColor:R.value.legend.selectAllToggle.backgroundColor,color:R.value.legend.selectAllToggle.color,fontSize:R.value.legend.fontSize,checked:e.some(e=>K.value.includes(e.id)),isCursorPointer:z.value,onToggle:t=>zn(e)},null,8,[`backgroundColor`,`color`,`fontSize`,`checked`,`isCursorPointer`,`onToggle`])):m(``,!0)]),_:2},1032,[`legendSet`,`config`,`isCursorPointer`]))),128))],!0)],2)):m(``,!0)],8,[`to`])):m(``,!0),e.$slots.source?(b(),h(`div`,{key:7,ref_key:`source`,ref:en,dir:`auto`},[C(e.$slots,`source`,{},void 0,!0)],512)):m(``,!0),qt.value&&I.value.buttons.table?(b(),p($e(hr.value.component),qe({key:8},hr.value.props,{ref_key:`tableUnit`,ref:ln,onClose:gr}),We({content:E(()=>[(b(),p(T(zt),{key:`table_${rn.value}`,colNames:ar.value.colNames,head:ar.value.head,body:ar.value.body,config:ar.value.config,title:N.value.table.useDialog?``:hr.value.title,withCloseButton:!N.value.table.useDialog,isCursorPointer:z.value,onClose:gr},{th:E(({th:e})=>[g(`div`,Ft,w(e),1)]),td:E(({td:e})=>[Ge(w(e.name||e),1)]),_:1},8,[`colNames`,`head`,`body`,`config`,`title`,`withCloseButton`,`isCursorPointer`]))]),_:2},[N.value.table.useDialog?{name:`title`,fn:E(()=>[Ge(w(hr.value.title),1)]),key:`0`}:void 0,N.value.table.useDialog?{name:`actions`,fn:E(()=>[g(`button`,{tabindex:`0`,class:`vue-ui-user-options-button`,onClick:t[1]||=e=>ir(I.value.callbacks.csv),style:Xe({cursor:z.value?`pointer`:`default`})},[Ke(T(Lt),{name:`fileCsv`,stroke:hr.value.props.color},null,8,[`stroke`])],4)]),key:`1`}:void 0]),1040)):m(``,!0),C(e.$slots,`skeleton`,{},()=>[T(_n)?(b(),p(_e,{key:0})):m(``,!0)],!0)],46,ot))}},[[`__scopeId`,`data-v-3ceb74a6`]]);export{at as n,It as t};
@@ -0,0 +1,5 @@
1
+ import{t as e}from"./rolldown-runtime-DK3Fl9T5.js";import{t}from"./useConfig-DM9fSqjh.js";import{$ as n,D as r,Dt as i,Ht as a,S as o,X as ee,Zt as te,at as ne,i as re,in as ie,nt as ae,pt as oe,t as se,w as ce,zt as le}from"./lib-DqD8nbyX.js";import{n as ue,t as de}from"./BaseScanner-8NdoBs7B.js";import{n as fe,t as pe}from"./useHints-BH9r_0Vd.js";import{t as me}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{n as he}from"./resolveChartConfig-ChGWTt5l.js";import{t as ge}from"./chartImage-r-G4CkRK.js";import{n as _e}from"./Title-BLA0tM3g.js";import{t as ve}from"./useChartExport-DtPNpc9M.js";import{n as ye,t as be}from"./tableIntegration-CNoJ1CIY.js";import{n as xe,t as Se}from"./annotationSlots-BRR85CqJ.js";import{n as Ce,t as we}from"./userOptionsSlots-DYuo-E5m.js";import{t as Te}from"./usePrinter-Cj4eIYC_.js";import{t as Ee}from"./useTransitions-DfSHzsdz.js";import{l as De,t as Oe}from"./useResponsive-D2CPcpda.js";import{t as ke}from"./BaseLegendToggle-BOcw1ke8.js";import{t as Ae}from"./A11yDataTable-DWNlWXzs.js";import{t as je}from"./useUserOptionState-CXlFnwPv.js";import{t as Me}from"./useChartAccessibility-DOMuYJfm.js";import{t as Ne}from"./labelUtils-DXiFpsZl.js";import{t as Pe}from"./Legend-D8NunRPr.js";import{t as Fe}from"./useAutoSizeLabelsInsideViewbox-AIRF0PlD.js";import{t as Ie}from"./vue_ui_onion-C9BedU_-.js";import{Fragment as s,Teleport as Le,computed as c,createBlock as l,createCommentVNode as u,createElementBlock as d,createElementVNode as f,createSlots as Re,createTextVNode as ze,createVNode as Be,defineAsyncComponent as p,guardReactiveProps as m,mergeProps as Ve,nextTick as He,normalizeClass as h,normalizeProps as g,normalizeStyle as Ue,onBeforeUnmount as We,onMounted as Ge,openBlock as _,ref as v,renderList as y,renderSlot as b,resolveDynamicComponent as Ke,shallowRef as qe,toDisplayString as Je,toRefs as Ye,unref as x,watch as S,withCtx as C}from"vue";var Xe=/* @__PURE__ */ e({default:()=>vt}),Ze=[`id`],Qe=[`id`],$e=[`id`],et={style:{position:`relative`}},tt=[`xmlns`,`aria-describedby`,`viewBox`],nt=[`width`,`height`],rt=[`cx`,`cy`,`r`,`stroke`,`stroke-width`,`stroke-dasharray`,`stroke-dashoffset`],it=[`cx`,`cy`,`r`,`stroke`,`stroke-width`,`stroke-dasharray`,`stroke-dashoffset`],at=[`id`],ot=[`stdDeviation`],st=[`filter`],ct=[`cx`,`cy`,`r`,`stroke-width`,`stroke-dasharray`,`stroke-dashoffset`],lt=[`cx`,`cy`,`r`,`stroke-width`,`stroke-dasharray`,`stroke-dashoffset`,`onMouseenter`,`onMouseleave`,`onClick`],ut={key:2},dt=[`onMouseenter`,`onMouseleave`,`onClick`],ft=[`transform`,`font-size`,`fill`,`font-weight`],pt={key:0,style:{position:`absolute`,top:`100%`,left:`0`,width:`100%`},"data-dom-to-png-ignore":``,"aria-hidden":`true`},mt={key:5,class:`vue-data-ui-watermark`},ht=[`id`],gt=[`onClick`],_t=[`innerHTML`],vt=/*#__PURE__*/ me({__name:`vue-ui-onion`,props:{config:{type:Object,default(){return{}}},dataset:{type:Array,default(){return[]}}},emits:[`selectLegend`,`copyAlt`],setup(e,{expose:me,emit:Xe}){let vt=p(()=>import(`./Tooltip-Iyb_S6oQ.js`)),yt=p(()=>import(`./BaseIcon-DDctLkeT.js`).then(e=>e.n)),bt=p(()=>import(`./vue-ui-accordion-3lBpCjGm.js`).then(e=>e.n)),xt=p(()=>import(`./DataTable-BcVZLSs8.js`)),St=p(()=>import(`./UserOptions-BSJ_S_us.js`).then(e=>e.n)),Ct=p(()=>import(`./PenAndPaper-BsBFp16i.js`).then(e=>e.t)),wt=p(()=>import(`./PackageVersion-ATrKWi8V.js`).then(e=>e.t)),Tt=p(()=>import(`./BaseDraggableDialog-Bw_azO0n.js`).then(e=>e.n)),{vue_ui_onion:Et}=t(),w=e,Dt=c(()=>!!w.dataset&&w.dataset.length),T=v(ee()),Ot=v(null),kt=v(0),E=v(!1),At=v(``),D=v([]),O=v(null),jt=v(null),Mt=v(null),Nt=v(null),Pt=v(null),Ft=v(0),It=v(0),Lt=v(0),k=v(!1),Rt=v(!1),zt=v(null),A=v(null),Bt=v({x:0,y:0}),Vt=v(`pointer`),Ht=v(!1),j=v(Yt()),M=c(()=>j.value.userOptions),N=c(()=>j.value.style.chart.layout.labels),P=c(()=>j.value.style.chart.layout),F=c(()=>j.value.style.chart.tooltip),I=c(()=>j.value.style.chart);fe({config:()=>j.value,dataset:()=>w.dataset,component:`VueUiOnion`,rules:[pe.emptyArray,{test:e=>e.length>8,message:[`👀 The number of series is > 8. Consider:`,``,`▶️ Grouping small values dynamically into a single "Other" series.`,``,`▶️ Using filters to let users choose a maximum number of series to display.`,``,`▶️ Using VueUiHorizontalBar instead to make the dataset breakdown easier to read.`]}]});let{transitionEnabled:L}=Ee({config:()=>j.value.transitions,dataset:()=>w.dataset}),R=c(()=>j.value.userOptions.useCursorPointer),Ut=c(()=>ie({defaultConfig:{userOptions:{show:!1},table:{show:!1},style:{chart:{backgroundColor:`#99999930`,layout:{gutter:{color:`#99999950`},labels:{show:!1}},legend:{backgroundColor:`transparent`}}}},userConfig:j.value.skeletonConfig??{}})),{loading:z,FINAL_DATASET:Wt,manualLoading:Gt}=ue({...Ye(w),FINAL_CONFIG:j,prepareConfig:Yt,callback:()=>{Promise.resolve().then(async()=>{await He(),bn()})},skeletonDataset:w.config?.skeletonDataset??[{name:`_`,percentage:50,value:1,color:`#DBDBDB`},{name:`_`,percentage:50,value:1,color:`#C4C4C4`},{name:`_`,percentage:50,value:1,color:`#ADADAD`},{name:`_`,percentage:50,value:1,color:`#969696`}],skeletonConfig:ie({defaultConfig:j.value,userConfig:Ut.value})}),{userOptionsVisible:Kt,setUserOptionsVisibility:qt,keepUserOptionState:Jt}=je({config:j.value}),{svgRef:B}=Me({config:I.value.title});function Yt(){return he(w.config,Et,Ie)}let Xt=te(w.config);S(()=>w.config,(e,t)=>{let n=te(e),r=n!==Xt;Xt=n;let i=Yt();if(!r){j.value.style.chart.tooltip=i.style.chart.tooltip,V.value.showTooltip=j.value.style.chart.tooltip.show;return}z.value||(j.value=i),Kt.value=!j.value.userOptions.showOnChartHover,pn(),Ft.value+=1,It.value+=1,Lt.value+=1,V.value.showTable=j.value.table.show,V.value.showTooltip=F.value.show},{deep:!0});let{isPrinting:Zt,isImaging:Qt,generatePdf:$t,generateImage:en}=Te({elementId:`vue-ui-onion_${T.value}`,fileName:I.value.title.text||`vue-ui-onion`,options:j.value.userOptions.print}),tn=c(()=>j.value.userOptions.show&&!I.value.title.text),nn=c(()=>ce(j.value.customPalette)),V=v({showTable:j.value.table.show,showTooltip:F.value.show});S(j,()=>{V.value={showTable:j.value.table.show,showTooltip:F.value.show}},{immediate:!0});let H=v({height:512,width:512,padding:{top:64,left:64,right:64,bottom:64},minRadius:64}),U=qe(null),W=qe(null);Ge(()=>{Rt.value=!0,pn()});let{autoSizeLabels:rn}=Fe({svgRef:B,fontSize:()=>N.value.fontSize,minFontSize:()=>N.value.minFontSize,labelClass:`.vue-ui-onion-label`}),G=null,K=null,an=0;function on(){G!==null&&(cancelAnimationFrame(G),G=null),K!==null&&(clearTimeout(K),K=null)}function sn(e){return String(e).split(`,`).map(e=>{let t=e.trim(),n=Number.parseFloat(t);return Number.isFinite(n)?t.endsWith(`ms`)?n:n*1e3:0})}function cn(){return typeof window>`u`||!L.value||k.value||z.value||!B.value?0:Array.from(B.value.querySelectorAll(`.vue-ui-onion-label.vue-data-ui-transition`)).reduce((e,t)=>{let n=window.getComputedStyle(t);if(n.transitionProperty===`none`)return e;let r=sn(n.transitionDuration),i=sn(n.transitionDelay),a=Math.max(r.length,i.length),o=Array.from({length:a},(e,t)=>(r[t%r.length]??0)+(i[t%i.length]??0)).reduce((e,t)=>Math.max(e,t),0);return Math.max(e,o)},0)}function ln(){typeof window<`u`&&(G=requestAnimationFrame(()=>{G=null,rn()}))}function un(){if(typeof window>`u`)return;let e=++an;on(),He(()=>{e===an&&(G=requestAnimationFrame(()=>{if(G=null,e!==an)return;let t=cn();if(t<=0){ln();return}K=setTimeout(()=>{K=null,e===an&&ln()},t+34)}))})}let dn=c(()=>j.value.debug),fn=null;function pn(){if(le(w.dataset)&&(ne({componentName:`VueUiOnion`,type:`dataset`,debug:dn.value}),Gt.value=!0),le(w.dataset)||(Gt.value=j.value.loading),j.value.responsive){let e=64/512,t=De(()=>{fn&&clearTimeout(fn),k.value=!0;let{width:t,height:n}=Oe({chart:O.value,title:I.value.title.text?jt.value:null,legend:I.value.legend.show?Mt.value:null,source:Nt.value,noTitle:Pt.value});n-=12,requestAnimationFrame(async()=>{H.value.width=t,H.value.height=n,H.value.padding.top=Math.max(t,n)*e,H.value.padding.right=Math.max(t,n)*e,H.value.padding.bottom=Math.max(t,n)*e,H.value.padding.left=Math.max(t,n)*e,H.value.minRadius=Math.min(t,n)*e,fn=setTimeout(()=>{k.value=!1,un()},0)})});U.value&&(W.value&&U.value.unobserve(W.value),U.value.disconnect()),U.value=new ResizeObserver(t),W.value=O.value.parentNode,U.value.observe(W.value)}un()}We(()=>{an+=1,on(),U.value&&(W.value&&U.value.unobserve(W.value),U.value.disconnect())});let q=c(()=>({top:H.value.padding.top,left:H.value.padding.left,right:H.value.width-H.value.padding.right,bottom:H.value.height-H.value.padding.bottom,centerX:H.value.width/2,centerY:H.value.height/2,width:H.value.width-H.value.padding.right-H.value.padding.left,height:H.value.height-H.value.padding.bottom-H.value.padding.top,minRadius:H.value.minRadius,maxRadius:Math.min(H.value.width,H.value.height)-H.value.padding.top*2})),J=c(()=>(dn.value&&Wt.value.forEach((e,t)=>{[null,void 0].includes(e.name)&&ne({componentName:`VueUiOnion`,type:`datasetSerieAttribute`,property:`name`,index:t}),[void 0].includes(e.percentage)&&ne({componentName:`VueUiOnion`,type:`datasetSerieAttribute`,property:`percentage`,index:t})}),Wt.value.map((e,t)=>{let n=`onion_serie_${t}_${T.value}`;return{...e,percentage:e.percentage||0,targetPercentage:e.percentage||0,color:o(e.color)||nn.value[t]||a[t],id:n,shape:`circle`,opacity:D.value.includes(n)?.5:1,absoluteIndex:t,segregate:()=>En(n),isSegregated:D.value.includes(n)}}))),mn=c(()=>J.value.map((e,t)=>{let r=I.value.legend.showValue,i=I.value.legend.showPercentage,a=In({showVal:r,showPercentage:i,val:re(N.value.value.formatter,e.value,n({p:e.prefix||``,v:e.value,s:e.suffix||``,r:I.value.legend.roundingValue})),percentage:n({v:e.percentage??0,s:`%`,r:I.value.legend.roundingPercentage}),config:I.value.legend});return{...e,display:`${e.name}${r||i?`: `:``}${a}`}})),hn=v(J.value),gn=c(()=>j.value.useStartAnimation),_n=v(null),vn=c(()=>Math.max(...J.value.map(e=>e.percentage))),yn=v(!1);S(()=>J.value,bn,{immediate:!0,deep:!0}),S(()=>w.dataset,e=>{Array.isArray(e)&&e.length>0&&(Gt.value=!1),un()},{deep:!0,flush:`post`});function bn(){if(gn.value&&!yn.value&&!z.value){hn.value=J.value.map(e=>({...e,percentage:0}));let e=0;function t(){e>=vn.value?(cancelAnimationFrame(_n.value),hn.value=J.value,yn.value=!0):(hn.value=J.value.map(t=>({...t,percentage:e<t.targetPercentage?e:t.targetPercentage})),e+=1,requestAnimationFrame(t),yn.value=!0)}t()}else hn.value=J.value}let xn=c(()=>({cy:`onion-div-legend`,backgroundColor:I.value.legend.backgroundColor,color:I.value.legend.color,fontSize:I.value.legend.fontSize,paddingBottom:12,fontWeight:I.value.legend.bold?`bold`:``})),Sn=c(()=>J.value.filter(e=>!D.value.includes(e.id)).length),Y=c(()=>{let e=Math.min(q.value.width,q.value.height)/2/J.value.length;return{gutter:(e>P.value.maxThickness?P.value.maxThickness:e)*P.value.gutter.width,track:(e>P.value.maxThickness?P.value.maxThickness:e)*P.value.track.width}}),X=c(()=>hn.value.filter(e=>!D.value.includes(e.id)).map((e,t)=>{let n=(q.value.maxRadius-Y.value.track)/Sn.value/2*(1+t),r=q.value.centerY-n;return{percentage:e.percentage||0,...e,labelY:r,radius:n,path:Cn(n,e.percentage||0)}}));function Cn(e,t){let n=2*Math.PI*e,r=n*.75,i=`${r} ${n}`,a=r*(1-t/100);return{bgDashArray:`${r} ${n}`,bgDashOffset:0,dashArray:i,dashOffset:a,fullOffset:0,active:`
2
+ M ${q.value.centerX},${q.value.centerY-e}
3
+ A ${e},${e} 0 1 1
4
+ ${q.value.centerX+e*Math.cos(Math.PI*3/4)},${q.value.centerY+e*Math.sin(Math.PI*3/4)}
5
+ `.trim()}}let wn=Xe;function Tn(){D.value.length?D.value=[]:mn.value.forEach(e=>{D.value.push(e.id)}),un(),wn(`selectLegend`,X.value)}function En(e){if(D.value.includes(e))D.value=D.value.filter(t=>t!==e);else{if(D.value.length===J.value.length-1)return;D.value.push(e)}un(),wn(`selectLegend`,X.value)}function Dn(e){return J.value.length?J.value.find(t=>t.name===e)||(dn.value&&console.warn(`VueUiOnion - Series name not found "${e}"`),null):(dn.value&&console.warn(`VueUiOnion - There are no series to show.`),null)}function On(e){let t=Dn(e);t!==null&&D.value.includes(t.id)&&En(t.id)}function kn(e){let t=Dn(e);t!==null&&(D.value.includes(t.id)||En(t.id))}function An(){return X.value}let jn=c(()=>({head:[j.value.table.translations.serie,j.value.table.translations.percentage,j.value.table.translations.value],body:X.value.map(e=>[e.name,e.percentage,e.value])})),Z=c(()=>{let e=jn.value.head;return{head:e,body:X.value.map(e=>[`<span style="color:${e.color}" aria-hidden="true">⬤</span> ${e.name}`,`${Number(e.percentage??0).toFixed(j.value.table.td.roundingPercentage).toLocaleString()}%`,`${e.prefix||``}${[null,void 0,NaN,`NaN`].includes(e.value)?`-`:e.value.toFixed(j.value.table.td.roundingValue).toLocaleString()}${e.suffix||``}`]),config:{th:{backgroundColor:j.value.table.th.backgroundColor,color:j.value.table.th.color,outline:j.value.table.th.outline},td:{backgroundColor:j.value.table.td.backgroundColor,color:j.value.table.td.color,outline:j.value.table.td.outline},breakpoint:j.value.table.responsiveBreakpoint},colNames:e}});function Mn(e=null){He(()=>{let t=[[I.value.title.text],[I.value.title.subtitle.text],[``]],n=jn.value.head,i=jn.value.body,a=t.concat([n]).concat(i),o=r(a);e?e(o):ae({csvContent:o,title:I.value.title.text||`vue-ui-onion`})})}let Q=v(void 0),$=v(!1);function Nn(e){$.value=e,kt.value+=1}function Pn({datapoint:e}){j.value.events.datapointClick&&j.value.events.datapointClick({datapoint:e,seriesIndex:e.absoluteIndex})}function Fn({datapoint:e}){Q.value=void 0,E.value=!1,A.value=null,Vt.value=`pointer`,j.value.events.datapointLeave&&j.value.events.datapointLeave({datapoint:e,seriesIndex:e.absoluteIndex})}function In({val:e,percentage:t,showVal:n,showPercentage:r,config:i}){return Ne({config:i,val:e,percentage:t,showVal:n,showPercentage:r})}function Ln(e,t){let r=N.value.value.show,i=N.value.percentage.show,a=In({config:N.value,showVal:r,showPercentage:i,val:re(N.value.value.formatter,e.value,n({p:e.prefix||``,v:e.value||0,s:e.suffix||``,r:N.value.roundingValue}),{datapoint:e,seriesIndex:t}),percentage:n({v:e.percentage,s:`%`,r:N.value.roundingPercentage})});return`${e.name}${r||i?`: `:``}${a}`}let Rn=v(null);function zn({datapoint:e,seriesIndex:t,show:r=!0,triggerMode:a=`pointer`}){j.value.events.datapointEnter&&j.value.events.datapointEnter({datapoint:e,seriesIndex:e.absoluteIndex}),Vt.value=a,A.value=t;let o=e.absoluteIndex;Q.value=t,Rn.value={datapoint:e,seriesIndex:o,series:J.value,config:j.value},E.value=r;let ee=``,te=F.value.customFormat;if(i(te)&&oe(()=>te({seriesIndex:o,datapoint:e,series:J.value,config:j.value})))At.value=te({seriesIndex:o,datapoint:e,series:J.value,config:j.value});else{let r=F.value.showPercentage,i=F.value.showValue;ee+=`<div style="width:100%;text-align:center;border-bottom:1px solid ${F.value.borderColor};padding-bottom:6px;margin-bottom:3px;">${e.name}</div>`,ee+=`<div style="display:flex;flex-direction:row;gap:6px;align-items:center;"><svg viewBox="0 0 60 60" height="14" width="14"><circle cx="30" cy="30" r="30" stroke="none" fill="${e.color}"/></svg>`,ee+=`<b>${In({config:F.value,showVal:i,showPercentage:r,val:`<span>${re(N.value.value.formatter,e.value,n({p:e.prefix||``,v:e.value,s:e.suffix||``,r:F.value.roundingValue}),{datapoint:e,seriesIndex:t})}</span>`,percentage:n({v:e.percentage,s:`%`,r:F.value.roundingPercentage})})}</b></div>`,At.value=`<div>${ee}</div>`}}function Bn(){V.value.showTable=!V.value.showTable}function Vn(){V.value.showTooltip=!V.value.showTooltip}let Hn=v(!1);function Un(){Hn.value=!Hn.value}let Wn=ge(O,()=>I.value.title.text),Gn=c(()=>be({config:j,style:I,mutableConfig:V,dialog:Tt,accordion:bt,isFullscreen:$,parent:O,maxWidth:600,isCursorPointer:R}));S(()=>V.value.showTable,e=>ye(e,j,zt));let Kn=c(()=>mn.value.map(e=>({...e,name:e.display}))),qn=c(()=>I.value.backgroundColor),Jn=c(()=>I.value.legend),Yn=c(()=>I.value.title),{isCallbackImaging:Xn,isCallbackSvg:Zn,generateSvg:Qn,onGenerateImage:$n}=ve({svg:B,title:Yn,legend:Jn,legendItems:Kn,backgroundColor:qn,getSvgCallback:()=>j.value.userOptions.callbacks.svg,generateImage:en});async function er(){if(wn(`copyAlt`,{config:j.value,dataset:X.value}),!j.value.userOptions.callbacks.altCopy){console.warn("Vue Data UI - A callback must be set for `altCopy` in userOptions.");return}await Promise.resolve(j.value.userOptions.callbacks.altCopy({config:j.value,dataset:X.value}))}function tr(){A.value=null,Ht.value=!0}function nr(){A.value=null,Vt.value=`pointer`,E.value=!1,Q.value=void 0,Ht.value=!1}function rr(e){if(!B.value||Hn.value||document.activeElement!==B.value||!X.value.length)return;let t=[`ArrowLeft`,`ArrowDown`].includes(e.key),n=[`ArrowRight`,`ArrowUp`].includes(e.key),r=e.key===`Enter`||e.key===` `,i=e.key===`Escape`;if(!t&&!n&&!r&&!i)return;if(e.preventDefault(),e.stopPropagation(),i){A.value=null,Vt.value=`pointer`,E.value=!1,Q.value=void 0;return}if(r){if(A.value===null)return;let e=X.value[A.value];if(!e)return;Pn({datapoint:e});return}let a=A.value;a===null||a<0||a>=X.value.length?a=n?0:X.value.length-1:n?(a+=1,a>=X.value.length&&(a=0)):t&&(--a,a<0&&(a=X.value.length-1));let o=X.value[a];o&&(ir(a),zn({datapoint:o,seriesIndex:a,show:!0,triggerMode:`keyboard`}))}function ir(e){if(!Number.isFinite(e)||!B.value)return;let t=X.value[e];if(!t)return;let n=t.radius,r=Math.PI*7/4,i=q.value.centerX+n*Math.cos(r),a=q.value.centerY+n*Math.sin(r),o=B.value.getBoundingClientRect();Bt.value={x:o.left+i/H.value.width*o.width,y:o.top+a/H.value.height*o.height}}let ar=c(()=>({headers:Z.value?.colNames??[],rows:Z.value?.body??[]}));return me({getData:An,getImage:Wn,generatePdf:$t,generateCsv:Mn,generateImage:en,generateSvg:Qn,hideSeries:kn,showSeries:On,toggleTable:Bn,toggleTooltip:Vn,toggleAnnotator:Un,toggleFullscreen:Nn,copyAlt:er}),(e,t)=>(_(),d(`div`,{class:h(`vue-data-ui-component vue-ui-onion ${$.value?`vue-data-ui-wrapper-fullscreen`:``} ${j.value.useCssAnimation?``:`vue-ui-dna`}`),ref_key:`onionChart`,ref:O,id:`vue-ui-onion_${T.value}`,style:Ue(`font-family:${j.value.style.fontFamily};width:100%; ${j.value.responsive?`height: 100%;`:``} text-align:center;background:${I.value.backgroundColor}`),onMouseenter:t[4]||=()=>x(qt)(!0),onMouseleave:t[5]||=()=>x(qt)(!1)},[f(`div`,{id:`chart-instructions-${T.value}`,class:`sr-only`},[f(`p`,null,Je(j.value.a11y.translations.keyboardNavigation),1)],8,Qe),ar.value?.rows?.length?(_(),l(Ae,{key:0,uid:T.value,head:ar.value.headers,body:ar.value.rows,notice:j.value.a11y.translations.tableAvailable,caption:j.value.a11y.translations.tableCaption},null,8,[`uid`,`head`,`body`,`notice`,`caption`])):u(``,!0),M.value.buttons.annotator?(_(),l(x(Ct),{key:1,svgRef:x(B),backgroundColor:I.value.backgroundColor,color:I.value.color,active:Hn.value,isCursorPointer:R.value,palette:M.value.annotatorPalette,onClose:Un},Re({_:2},[y(x(Se),t=>({name:t,fn:C(n=>[b(e.$slots,t,g(m(x(xe)(t,n))),void 0,!0)])}))]),1032,[`svgRef`,`backgroundColor`,`color`,`active`,`isCursorPointer`,`palette`])):u(``,!0),tn.value?(_(),d(`div`,{key:2,ref_key:`noTitle`,ref:Pt,class:`vue-data-ui-no-title-space`,style:`height:36px; width: 100%;background:transparent`},null,512)):u(``,!0),I.value.title.text?(_(),d(`div`,{key:3,ref_key:`chartTitle`,ref:jt,style:`width:100%;background:transparent`},[(_(),l(_e,{key:`title_${Ft.value}`,config:{title:{cy:`onion-div-title`,...I.value.title},subtitle:{cy:`onion-div-subtitle`,...I.value.title.subtitle}}},null,8,[`config`]))],512)):u(``,!0),f(`div`,{id:`legend-top-${T.value}`},null,8,$e),M.value.show&&Dt.value&&(x(Jt)||x(Kt))?(_(),l(x(St),{ref_key:`details`,ref:Ot,key:`user_options${kt.value}`,backgroundColor:I.value.backgroundColor,color:I.value.color,isImaging:x(Qt),isPrinting:x(Zt),uid:T.value,hasTooltip:M.value.buttons.tooltip&&F.value.show,hasPdf:M.value.buttons.pdf,hasImg:M.value.buttons.img,hasSvg:M.value.buttons.svg,hasXls:M.value.buttons.csv,hasTable:M.value.buttons.table,hasFullscreen:M.value.buttons.fullscreen,hasAltCopy:M.value.buttons.altCopy,isFullscreen:$.value,isTooltip:V.value.showTooltip,titles:{...M.value.buttonTitles},chartElement:O.value,position:M.value.position,hasAnnotator:M.value.buttons.annotator,isAnnotation:Hn.value,callbacks:M.value.callbacks,printScale:M.value.print.scale,tableDialog:j.value.table.useDialog,isCursorPointer:R.value,onToggleFullscreen:Nn,onGeneratePdf:x($t),onGenerateCsv:Mn,onGenerateImage:x($n),onGenerateSvg:x(Qn),onToggleTable:Bn,onToggleTooltip:Vn,onToggleAnnotator:Un,onCopyAlt:er,style:Ue({visibility:x(Jt)?x(Kt)?`visible`:`hidden`:`visible`})},Re({_:2},[y(x(Ce)(e.$slots,`menuIcon optionTooltip optionPdf optionCsv optionImg optionSvg optionTable optionFullscreen optionAnnotator optionAltCopy custom-menu-before custom-menu-after`),t=>({name:t,fn:C(n=>[b(e.$slots,t,g(m(x(we)(t,n))),void 0,!0)])}))]),1032,/* @__PURE__ */ `backgroundColor.color.isImaging.isPrinting.uid.hasTooltip.hasPdf.hasImg.hasSvg.hasXls.hasTable.hasFullscreen.hasAltCopy.isFullscreen.isTooltip.titles.chartElement.position.hasAnnotator.isAnnotation.callbacks.printScale.tableDialog.isCursorPointer.onGeneratePdf.onGenerateImage.onGenerateSvg.style`.split(`.`))):u(``,!0),f(`div`,et,[(_(),d(`svg`,{ref_key:`svgRef`,ref:B,xmlns:x(se),"aria-describedby":`chart-instructions-${T.value}`,class:h({"vue-data-ui-fullscreen--on":$.value,"vue-data-ui-fulscreen--off":!$.value,resizing:k.value,"vue-data-ui-no-transition":!x(L)||k.value||x(z)}),viewBox:`0 0 ${H.value.width<=0?10:H.value.width} ${H.value.height<=0?10:H.value.height}`,style:Ue(`max-width:100%;overflow:visible;background:transparent;color:${I.value.color}`),tabindex:`0`,onFocus:tr,onBlur:nr,onKeydown:rr},[Be(x(wt)),e.$slots[`chart-background`]?(_(),d(`foreignObject`,{key:0,x:0,y:0,width:H.value.width<=0?10:H.value.width,height:H.value.height<=0?10:H.value.height,style:{pointerEvents:`none`}},[b(e.$slots,`chart-background`,{},void 0,!0)],8,nt)):u(``,!0),(_(!0),d(s,null,y(X.value,(e,t)=>(_(),d(`circle`,{cx:q.value.centerX,cy:q.value.centerY,r:e.radius<=0?1e-4:e.radius,stroke:P.value.gutter.color,"stroke-width":Y.value.gutter,fill:`none`,"stroke-dasharray":e.path.bgDashArray,"stroke-dashoffset":e.path.fullOffset,"stroke-linecap":`round`,class:h({"vue-ui-onion-path":!0,"vue-ui-onion-blur":j.value.useBlurOnHover&&![null,void 0].includes(Q.value)&&Q.value!==t,"vue-data-ui-transition":x(L)}),style:{transform:`rotate(-90deg)`,transformOrigin:`50% 50%`}},null,10,rt))),256)),(_(!0),d(s,null,y(X.value,(e,t)=>(_(),d(`circle`,{cx:q.value.centerX,cy:q.value.centerY,r:e.radius<0?1e-4:e.radius,stroke:`${e.color}`,"stroke-width":Y.value.track,fill:`none`,"stroke-dasharray":e.path.dashArray,"stroke-dashoffset":e.path.dashOffset,class:h({"vue-ui-onion-path":!0,"vue-ui-onion-blur":j.value.useBlurOnHover&&![null,void 0].includes(Q.value)&&Q.value!==t,"vue-data-ui-transition":x(L)}),"stroke-linecap":`round`,style:{transform:`rotate(-90deg)`,transformOrigin:`50% 50%`}},null,10,it))),256)),f(`defs`,null,[f(`filter`,{id:`blur_${T.value}`,x:`-50%`,y:`-50%`,width:`200%`,height:`200%`},[f(`feGaussianBlur`,{in:`SourceGraphic`,stdDeviation:100/I.value.gradientIntensity},null,8,ot)],8,at)]),I.value.useGradient?(_(),d(`g`,{key:1,filter:`url(#blur_${T.value})`},[(_(!0),d(s,null,y(X.value,(e,t)=>(_(),d(`circle`,{cx:q.value.centerX,cy:q.value.centerY,r:e.radius<=0?1e-4:e.radius,stroke:`white`,"stroke-width":Y.value.track/3,fill:`none`,"stroke-linecap":`round`,"stroke-dasharray":e.path.dashArray,"stroke-dashoffset":e.path.dashOffset,style:{transform:`rotate(-90deg)`,transformOrigin:`50% 50%`},class:h({"vue-data-ui-transition":x(L)})},null,10,ct))),256))],8,st)):u(``,!0),(_(!0),d(s,null,y(X.value,(e,t)=>(_(),d(`circle`,{cx:q.value.centerX,cy:q.value.centerY,r:e.radius<=0?1e-4:e.radius,stroke:`transparent`,"stroke-width":Math.max(Y.value.track,Y.value.gutter),fill:`none`,"stroke-dasharray":e.path.bgDashArray,"stroke-dashoffset":e.path.fullOffset,"stroke-linecap":`round`,class:`vue-ui-onion-path`,style:{transform:`rotate(-90deg)`,transformOrigin:`50% 50%`},onMouseenter:n=>zn({datapoint:e,show:!0,seriesIndex:t,triggerMode:`pointer`}),onMouseleave:t=>Fn({datapoint:e}),onClick:t=>Pn({datapoint:e})},null,40,lt))),256)),N.value.show?(_(),d(`g`,ut,[(_(!0),d(s,null,y(X.value,(e,t)=>(_(),d(`g`,{key:`dl_${e.id}`,onMouseenter:n=>zn({datapoint:e,show:!0,seriesIndex:t,triggerMode:`pointer`}),onMouseleave:t=>Fn({datapoint:e}),onClick:t=>Pn({datapoint:e})},[D.value.includes(e.id)?u(``,!0):(_(),d(`text`,{key:0,class:h([`vue-ui-onion-label`,{"vue-data-ui-transition":x(L)}]),transform:`translate(${H.value.width/2-Y.value.gutter*.8+N.value.offsetX},${e.labelY+N.value.offsetY})`,"text-anchor":`end`,"font-size":N.value.fontSize,fill:j.value.useBlurOnHover&&![null,void 0].includes(Q.value)&&Q.value===t?e.color:N.value.color,"font-weight":N.value.bold?`bold`:`normal`},Je(Ln(e,t)),11,ft))],40,dt))),128))])):u(``,!0),b(e.$slots,`svg`,{svg:{...H.value,drawingArea:q.value,isPrintingImg:x(Zt)||x(Qt)||x(Xn),isPrintingSvg:x(Zn)}},void 0,!0)],46,tt)),e.$slots.hint?(_(),d(`div`,pt,[b(e.$slots,`hint`,g(m({hint:j.value.a11y.translations.keyboardNavigation,isVisible:Ht.value})),void 0,!0)])):u(``,!0)]),e.$slots.watermark?(_(),d(`div`,mt,[b(e.$slots,`watermark`,g(m({isPrinting:x(Zt)||x(Qt)||x(Xn)||x(Zn)})),void 0,!0)])):u(``,!0),f(`div`,{id:`legend-bottom-${T.value}`},null,8,ht),Rt.value&&(I.value.legend.show||e.$slots.legend)?(_(),l(Le,{key:6,to:I.value.legend.position===`top`?`#legend-top-${T.value}`:`#legend-bottom-${T.value}`},[f(`div`,{ref_key:`chartLegend`,ref:Mt},[b(e.$slots,`legend`,{legend:mn.value},()=>[I.value.legend.show?(_(),l(Pe,{key:`legend_${Lt.value}`,legendSet:mn.value,config:xn.value,isCursorPointer:R.value,onClickMarker:t[0]||=({legend:e})=>En(e.id)},{item:C(({legend:e})=>[x(z)?u(``,!0):(_(),d(`div`,{key:0,"data-cy-legend-item":``,onClick:t=>e.segregate(),style:Ue(`opacity:${D.value.includes(e.id)?.5:1}`)},Je(e.display),13,gt))]),legendToggle:C(()=>[mn.value.length>2&&I.value.legend.selectAllToggle.show&&!x(z)?(_(),l(ke,{key:0,backgroundColor:I.value.legend.selectAllToggle.backgroundColor,color:I.value.legend.selectAllToggle.color,fontSize:I.value.legend.fontSize,checked:D.value.length>0,isCursorPointer:R.value,onToggle:Tn},null,8,[`backgroundColor`,`color`,`fontSize`,`checked`,`isCursorPointer`])):u(``,!0)]),_:1},8,[`legendSet`,`config`,`isCursorPointer`])):u(``,!0)],!0)],512)],8,[`to`])):u(``,!0),e.$slots.source?(_(),d(`div`,{key:7,ref_key:`source`,ref:Nt,dir:`auto`},[b(e.$slots,`source`,{},void 0,!0)],512)):u(``,!0),Be(x(vt),{teleportTo:F.value.teleportTo,show:V.value.showTooltip&&E.value,backgroundColor:F.value.backgroundColor,color:F.value.color,borderRadius:F.value.borderRadius,borderColor:F.value.borderColor,borderWidth:F.value.borderWidth,fontSize:F.value.fontSize,backgroundOpacity:F.value.backgroundOpacity,position:F.value.position,offsetX:F.value.offsetX,offsetY:F.value.offsetY,parent:O.value,content:At.value,isFullscreen:$.value,isCustom:x(i)(F.value.customFormat),smooth:F.value.smooth,backdropFilter:F.value.backdropFilter,smoothForce:F.value.smoothForce,smoothSnapThreshold:F.value.smoothSnapThreshold,isA11yMode:Vt.value===`keyboard`,a11yPosition:Bt.value},{"tooltip-before":C(()=>[b(e.$slots,`tooltip-before`,g(m({...Rn.value})),void 0,!0)]),tooltip:C(()=>[b(e.$slots,`tooltip`,g(m({...Rn.value})),void 0,!0)]),"tooltip-after":C(()=>[b(e.$slots,`tooltip-after`,g(m({...Rn.value})),void 0,!0)]),_:3},8,[`teleportTo`,`show`,`backgroundColor`,`color`,`borderRadius`,`borderColor`,`borderWidth`,`fontSize`,`backgroundOpacity`,`position`,`offsetX`,`offsetY`,`parent`,`content`,`isFullscreen`,`isCustom`,`smooth`,`backdropFilter`,`smoothForce`,`smoothSnapThreshold`,`isA11yMode`,`a11yPosition`]),Dt.value&&M.value.buttons.table?(_(),l(Ke(Gn.value.component),Ve({key:8},Gn.value.props,{ref_key:`tableUnit`,ref:zt,onClose:t[3]||=e=>V.value.showTable=!1}),Re({content:C(()=>[(_(),l(x(xt),{key:`table_${It.value}`,colNames:Z.value.colNames,head:Z.value.head,body:Z.value.body,config:Z.value.config,title:j.value.table.useDialog?``:Gn.value.title,withCloseButton:!j.value.table.useDialog,isCursorPointer:R.value,onClose:t[2]||=e=>V.value.showTable=!1},{th:C(({th:e})=>[ze(Je(e),1)]),td:C(({td:e})=>[f(`div`,{innerHTML:e},null,8,_t)]),_:1},8,[`colNames`,`head`,`body`,`config`,`title`,`withCloseButton`,`isCursorPointer`]))]),_:2},[j.value.table.useDialog?{name:`title`,fn:C(()=>[ze(Je(Gn.value.title),1)]),key:`0`}:void 0,j.value.table.useDialog?{name:`actions`,fn:C(()=>[f(`button`,{tabindex:`0`,class:`vue-ui-user-options-button`,onClick:t[1]||=e=>Mn(M.value.callbacks.csv),style:Ue({cursor:R.value?`pointer`:`default`})},[Be(x(yt),{name:`fileCsv`,stroke:Gn.value.props.color},null,8,[`stroke`])],4)]),key:`1`}:void 0]),1040)):u(``,!0),b(e.$slots,`skeleton`,{},()=>[x(z)?(_(),l(de,{key:0})):u(``,!0)],!0)],46,Ze))}},[[`__scopeId`,`data-v-85a8190e`]]);export{Xe as n,vt as t};
@@ -0,0 +1,9 @@
1
+ import{t as e}from"./rolldown-runtime-DK3Fl9T5.js";import{t}from"./useConfig-DM9fSqjh.js";import{$ as n,D as r,Dt as i,Ht as a,J as o,Jt as ee,P as te,S as ne,U as s,X as c,Zt as re,_ as ie,at as ae,i as oe,in as se,nt as ce,pt as le,rn as ue,t as de,tn as fe,w as pe,xt as me,yt as he,zt as ge}from"./lib-DqD8nbyX.js";import{n as _e,t as ve}from"./BaseScanner-8NdoBs7B.js";import{n as ye,t as be}from"./useHints-BH9r_0Vd.js";import{t as xe}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{n as Se}from"./resolveChartConfig-ChGWTt5l.js";import{t as Ce}from"./chartImage-r-G4CkRK.js";import{n as we}from"./Title-BLA0tM3g.js";import{t as Te}from"./useChartExport-DtPNpc9M.js";import{n as Ee,t as De}from"./tableIntegration-CNoJ1CIY.js";import{n as Oe,t as ke}from"./annotationSlots-BRR85CqJ.js";import{n as Ae,t as je}from"./userOptionsSlots-DYuo-E5m.js";import{t as Me}from"./usePrinter-Cj4eIYC_.js";import{t as Ne}from"./useTransitions-DfSHzsdz.js";import{t as Pe}from"./useTimeLabelCollider-XQf_S7-z.js";import{t as Fe}from"./Shape-gDVRWM6n.js";import{l as Ie,t as Le}from"./useResponsive-D2CPcpda.js";import{t as Re}from"./BaseLegendToggle-BOcw1ke8.js";import{t as ze}from"./A11yDataTable-DWNlWXzs.js";import{t as Be}from"./useUserOptionState-CXlFnwPv.js";import{t as Ve}from"./useChartAccessibility-DOMuYJfm.js";import{t as He}from"./Legend-D8NunRPr.js";import{t as Ue}from"./vue_ui_parallel_coordinate_plot-Cs_xXAG5.js";import{Fragment as l,Teleport as We,computed as u,createBlock as d,createCommentVNode as f,createElementBlock as p,createElementVNode as m,createSlots as Ge,createTextVNode as Ke,createVNode as qe,defineAsyncComponent as h,guardReactiveProps as g,mergeProps as Je,nextTick as Ye,normalizeClass as _,normalizeProps as v,normalizeStyle as y,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";var rt=/* @__PURE__ */ e({default:()=>Ot}),it=[`id`],at=[`id`],ot=[`id`],st={style:{position:`relative`}},ct=[`xmlns`,`aria-describedby`,`viewBox`],lt=[`x`,`y`,`width`,`height`],ut={style:{"pointer-events":`none`}},dt=[`x1`,`x2`,`y1`,`y2`,`stroke`,`stroke-width`],ft=[`d`,`stroke`,`stroke-width`],pt={key:0},mt=[`transform`,`fill`,`font-size`,`font-weight`],ht=[`fill`,`font-size`,`font-weight`,`text-anchor`,`transform`],gt=[`fill`,`font-size`,`font-weight`,`text-anchor`,`transform`,`innerHTML`],_t={key:0},vt=[`x`,`y`,`font-size`,`fill`],yt=[`width`,`x`,`y`],bt={style:{width:`100%`}},xt=[`d`,`stroke`,`stroke-width`,`onMouseenter`,`onMouseleave`,`onClick`],St=[`d`,`onMouseenter`,`onMouseleave`,`onClick`],Ct=[`transform`,`fill`,`font-weight`,`font-size`,`stroke`,`onMouseenter`,`onMouseleave`,`onClick`],wt={key:0,style:{position:`absolute`,top:`100%`,left:`0`,width:`100%`},"data-dom-to-png-ignore":``,"aria-hidden":`true`},Tt={key:5,class:`vue-data-ui-watermark`},Et=[`id`],Dt=[`onClick`],Ot=/*#__PURE__*/ xe({__name:`vue-ui-parallel-coordinate-plot`,props:{config:{type:Object,default(){return{}}},dataset:{type:Array,default(){return[]}}},emits:[`selectLegend`,`selectDatapoint`,`copyAlt`],setup(e,{expose:xe,emit:rt}){let Ot=h(()=>import(`./Tooltip-Iyb_S6oQ.js`)),kt=h(()=>import(`./BaseIcon-DDctLkeT.js`).then(e=>e.n)),At=h(()=>import(`./vue-ui-accordion-3lBpCjGm.js`).then(e=>e.n)),jt=h(()=>import(`./DataTable-BcVZLSs8.js`)),Mt=h(()=>import(`./PenAndPaper-BsBFp16i.js`).then(e=>e.t)),Nt=h(()=>import(`./UserOptions-BSJ_S_us.js`).then(e=>e.n)),Pt=h(()=>import(`./PackageVersion-ATrKWi8V.js`).then(e=>e.t)),Ft=h(()=>import(`./BaseDraggableDialog-Bw_azO0n.js`).then(e=>e.n)),{vue_ui_parallel_coordinate_plot:It}=t(),D=e,Lt=u({get(){return!!D.dataset&&D.dataset.length},set(e){return e}}),Rt=x(0),O=x(null),zt=x(null),Bt=x(null),Vt=x(null),Ht=x(null),Ut=x(0),Wt=x(0),Gt=x(0),Kt=x(!1),qt=x(null),Jt=x(null),Yt=x(null),k=x(null),Xt=x({x:0,y:0}),Zt=x(`pointer`),Qt=x(!1),A=x(c()),j=x(!1);function $t(e){j.value=e,Rt.value+=1}let M=x(sn()),N=u(()=>M.value.userOptions),P=u(()=>M.value.style.chart.yAxis.labels),F=u(()=>M.value.style.chart.tooltip),I=u(()=>M.value.style.chart),{transitionEnabled:L}=Ne({config:()=>M.value.transitions,dataset:()=>D.dataset});ye({config:()=>M.value,dataset:()=>D.dataset,component:`VueUiParallelCoordinatePlot`,rules:[be.emptyArray,{test:e=>e.length>10,message:[`👀 There are > 10 series. Consider:`,``,`▶️ Using filters, to show less series at the same time and make the chart more readable.`]},{test:e=>e.some(e=>(e?.series??[]).some(e=>(e?.values??[]).length>15)),message:[`👀 There are > 15 axes, which can make the chart hard to read. Consider:`,``,`▶️ Using filters, to allow users to select a maximum set of metrics.`]},{test:e=>e.some(e=>e?.series?.length>5),message:[`👀 Some series have > 5 datapoints. Consider:`,``,`▶️ Using filters, to allow users to select a maximum set of metrics.`]}]});let R=u(()=>M.value.userOptions.useCursorPointer),en=u(()=>se({defaultConfig:{useCssAnimation:!1,userOptions:{show:!1},table:{show:!1},style:{chart:{backgroundColor:`#99999930`,legend:{show:!0,backgroundColor:`transparent`},yAxis:{stroke:`#6A6A6A`,labels:{showAxisNames:!1,axisNames:[],ticks:{color:`#6A6A6A`}}}}}},userConfig:M.value.skeletonConfig??{}})),{loading:z,FINAL_DATASET:tn,manualLoading:nn}=_e({...et(D),FINAL_CONFIG:M,prepareConfig:sn,callback:()=>{Promise.resolve().then(async()=>{await Ye(),G.value.showTable=M.value.table.show})},skeletonDataset:D.config?.skeletonDataset??[{name:``,shape:`circle`,color:`transparent`,series:[{name:``,values:[1,10,100,1e3]}]},{name:``,shape:`circle`,color:`#CACACA`,series:[{name:``,values:[.2,3,50,800]}]},{name:``,shape:`circle`,color:`transparent`,series:[{name:``,values:[0,0,0,0]}]}],skeletonConfig:se({defaultConfig:M.value,userConfig:en.value})}),{userOptionsVisible:rn,setUserOptionsVisibility:an,keepUserOptionState:on}=Be({config:M.value}),{svgRef:B}=Ve({config:I.value.title});function sn(){return Se(D.config,It,Ue)}let cn=re(D.config);tt(()=>D.config,(e,t)=>{let n=re(e),r=n!==cn;cn=n;let i=sn();if(!r){M.value.style.chart.tooltip=i.style.chart.tooltip,G.value.showTooltip=M.value.style.chart.tooltip.show;return}z.value||(M.value=i),rn.value=!M.value.userOptions.showOnChartHover,un(),Ut.value+=1,Gt.value+=1,Wt.value+=1,G.value.dataLabels.show=P.value.datapoints.show,G.value.showTable=M.value.table.show,G.value.showTooltip=F.value.show},{deep:!0}),tt(()=>D.dataset,e=>{Array.isArray(e)&&e.length>0&&(nn.value=!1)},{deep:!0});let V=$e(null),H=$e(null);Ze(()=>{Kt.value=!0,un()});let ln=u(()=>M.value.debug);function un(){if(ge(D.dataset)?(ae({componentName:`VueUiParallelCoordinatePlot`,type:`dataset`,debug:ln.value}),nn.value=!0):D.dataset.forEach((e,t)=>{he({datasetObject:e,requiredAttributes:[`name`,`series`]}).forEach(e=>{Lt.value=!1,ae({componentName:`VueUiParallelCoordinatePlot`,type:`datasetSerieAttribute`,property:e,index:t,debug:ln.value})})}),ge(D.dataset)||(nn.value=M.value.loading),M.value.responsive){let e=Ie(()=>{let{width:e,height:t}=Le({chart:O.value,title:I.value.title.text?zt.value:null,legend:I.value.legend.show?Bt.value:null,source:Vt.value,noTitle:Ht.value});requestAnimationFrame(()=>{U.value.width=e,U.value.height=t-12,M.value.responsiveProportionalSizing?(U.value.plotSize=ue({relator:Math.min(e,t),adjuster:600,source:I.value.plots.radius,threshold:2,fallback:2}),U.value.ticksFontSize=ue({relator:Math.min(e,t),adjuster:600,source:P.value.ticks.fontSize,threshold:10,fallback:10}),U.value.datapointFontSize=ue({relator:Math.min(e,t),adjuster:600,source:P.value.datapoints.fontSize,threshold:10,fallback:10}),U.value.axisNameFontSize=ue({relator:Math.min(e,t),adjuster:600,source:P.value.axisNamesFontSize,threshold:12,fallback:12})):(U.value.plotSize=I.value.plots.radius,U.value.ticksFontSize=P.value.ticks.fontSize,U.value.datapointFontSize=P.value.datapoints.fontSize,U.value.axisNameFontSize=P.value.axisNamesFontSize)})});V.value&&(H.value&&V.value.unobserve(H.value),V.value.disconnect()),V.value=new ResizeObserver(e),H.value=O.value.parentNode,V.value.observe(H.value)}}Xe(()=>{V.value&&(H.value&&V.value.unobserve(H.value),V.value.disconnect())});let{isPrinting:dn,isImaging:fn,generatePdf:pn,generateImage:mn}=Me({elementId:`pcp_${A.value}`,fileName:I.value.title.text||`vue-ui-parallel-coordinate-plot`,options:M.value.userOptions.print}),hn=u(()=>M.value.userOptions.show&&!I.value.title.text),U=x({height:I.value.height,width:I.value.width,plotSize:I.value.plots.radius,ticksFontSize:P.value.ticks.fontSize,datapointFontSize:P.value.datapoints.fontSize,axisNameFontSize:P.value.axisNamesFontSize}),gn=u(()=>U.value.width),_n=u(()=>U.value.height),vn=x(0),yn=Ie(e=>{vn.value=e},100);nt(e=>{let t=Yt.value;if(!t)return;let n=new ResizeObserver(e=>{yn(e[0].contentRect.height)});n.observe(t),e(()=>n.disconnect())});let W=u(()=>{let{top:e,right:t,bottom:n,left:r}=I.value.padding,i=_n.value,a=gn.value;return{chartHeight:Math.max(.001,i),chartWidth:Math.max(.001,a),height:Math.max(.001,i-e-n-vn.value-U.value.datapointFontSize*2),width:Math.max(.001,a-r-t),top:e+vn.value+U.value.datapointFontSize,left:r,right:a-t,bottom:i-n-U.value.datapointFontSize}}),bn=u(()=>pe(M.value.customPalette)),G=x({dataLabels:{show:P.value.datapoints.show},showTable:M.value.table.show,showTooltip:F.value.show});tt(M,()=>{G.value={dataLabels:{show:P.value.datapoints.show},showTable:M.value.table.show,showTooltip:F.value.show}},{immediate:!0});let K=x([]);function xn(){K.value.length?K.value=[]:En.value.forEach(e=>{K.value.push(e.id)}),Bn(`selectLegend`,kn.value)}function Sn(e){K.value.includes(e)?K.value=K.value.filter(t=>t!==e):K.value.push(e),Bn(`selectLegend`,kn.value)}let q=u(()=>tn.value.map((e,t)=>{let n=ne(e.color)||bn.value[t]||a[t]||a[t%a.length];return{...e,series:e.series.map(e=>({...e,id:c(),color:n})),seriesIndex:t,color:n,id:c(),shape:e.shape||`circle`}}));function Cn(e){return q.value.length?q.value.find(t=>t.name===e)||(ln.value&&console.warn(`VueUiParallelCoordinatePlot - Series name not found "${e}"`),null):(ln.value&&console.warn(`VueUiParallelCoordinatePlot - There are no series to show.`),null)}function wn(e){let t=Cn(e);t!==null&&K.value.includes(t.id)&&Sn(t.id)}function Tn(e){let t=Cn(e);t!==null&&(K.value.includes(t.id)||Sn(t.id))}let En=u(()=>q.value.map(e=>({...e,opacity:K.value.includes(e.id)?.5:1,segregate:()=>Sn(e.id),isSegregated:K.value.includes(e.id),shape:e.shape||`circle`}))),Dn=u(()=>({cy:`pcp-div-legend`,backgroundColor:I.value.legend.backgroundColor,color:I.value.legend.color,fontSize:I.value.legend.fontSize,paddingBottom:12,fontWeight:I.value.legend.bold?`bold`:``})),On=u(()=>Math.max(...q.value.filter(e=>!K.value.includes(e.id)).map(e=>Math.max(...e.series.flatMap(e=>e.values.length))))),J=u(()=>W.value.width/On.value),kn=u(()=>q.value.filter(e=>!K.value.includes(e.id))),Y=u(()=>{let e=[];for(let t=0;t<On.value;t+=1){let n=Math.min(...kn.value.flatMap(e=>e.series.map(e=>e.values[t]||0)||0)),r=Math.max(...kn.value.flatMap(e=>e.series.map(e=>e.values[t]||0)||0)),i=r===n?n/4:n,a=r===n?r*2:r,o=ie(i,a,I.value.yAxis.scaleTicks),ee=o.ticks.map((e,n)=>{let r=o.min<0?e+Math.abs(o.min):e-Math.abs(o.min),i=o.min<0?o.max+Math.abs(o.min):o.max-Math.abs(o.min);return{y:W.value.bottom-W.value.height*(r/i),x:W.value.left+J.value*t+J.value/2,value:e}});e.push({scale:o,ticks:ee,name:P.value.axisNames[t]||`Y-${t+1}`})}return e}),X=u(()=>kn.value.map((e,t)=>({...e,series:e.series.map((n,r)=>({...n,datapoints:n.values.map((i,a)=>{let o=Y.value[a].scale.min<0?(i||0)+Math.abs(Y.value[a].scale.min):(i||0)-Math.abs(Y.value[a].scale.min),ee=Y.value[a].scale.min<0?Y.value[a].scale.max+Math.abs(Y.value[a].scale.min):Y.value[a].scale.max-Math.abs(Y.value[a].scale.min);return{name:n.name,seriesName:e.name,axisIndex:a,datapointIndex:r,seriesIndex:t,value:i||0,x:W.value.left+J.value*a+J.value/2,y:W.value.bottom-W.value.height*(o/ee),comment:n.comments&&n.comments[a]||``}})}))})).map(e=>({...e,series:e.series.map(e=>{let t=s(e.datapoints),n=te(e.datapoints,.12),r=me(I.value.lines.smooth?`M ${n}`:`M ${t}`);return{...e,smoothPath:n,straightPath:t,pathLength:r}})}))),Z=u(()=>X.value.flatMap((e,t)=>e.series.map((n,r)=>({shape:e.shape,serieName:e.name,serie:n,relativeIndex:r,seriesIndex:n.seriesIndex,S:t,key:`${t}_${r}`}))));function An({value:e,index:t,datapoint:r}){return oe(P.value.formatters[t]||null,e,n({p:P.value.prefixes[t]||``,v:e,s:P.value.suffixes[t]||``,r:P.value.roundings[t]||0}),{datapoint:r,seriesIndex:t})}let Q=x(null),jn=x(null),Mn=x(!1),Nn=x(``);function Pn({shape:e,serie:t,S:n}){M.value.events.datapointLeave&&M.value.events.datapointLeave({datapoint:{...t,shape:e},seriesIndex:n});let r=k.value===null?null:Z.value[k.value];Zt.value===`keyboard`&&r&&r.serie.id===t.id||(Q.value=null,Mn.value=!1)}function Fn(e){if(!B.value||!e?.datapoints?.length)return;let t=e.datapoints[Math.floor(e.datapoints.length/2)];if(!t)return;let n=fe(t.x,t.y,B.value);n&&(Xt.value=n)}function In({shape:e,serieName:t,serie:r,relativeIndex:a,seriesIndex:o,S:te,triggerMode:ne=`pointer`}){M.value.events.datapointEnter&&M.value.events.datapointEnter({datapoint:{...r,shape:e},seriesIndex:te}),Zt.value=ne,jn.value={config:M.value,datapoint:r,serie:r,relativeIndex:a,seriesIndex:o,series:q.value,scales:Y.value},Mn.value=!0,Q.value=r.id;let s=``,c=F.value.customFormat;i(c)&&le(()=>c({serie:r,seriesIndex:r.seriesIndex,series:q.value,config:M.value,scales:Y.value}))?Nn.value=c({serie:r,seriesIndex:r.seriesIndex,series:q.value,config:M.value,scales:Y.value}):(s+=`<div style="width:100%;text-align:center;border-bottom:1px solid ${F.value.borderColor};padding-bottom:6px;margin-bottom:3px;">${t?t+` - `:``}${r.name}</div>`,Y.value.map(e=>e.name).forEach((e,t)=>{s+=`
2
+ <div class="vue-ui-tooltip-item" style="text-align:left">
3
+ <span>${e}: </span>
4
+ <span>
5
+ ${oe(P.value.formatters[t]||null,r.datapoints[t].value,n({p:P.value.prefixes[t]||``,v:r.datapoints[t].value,s:P.value.suffixes[t]||``,r:P.value.roundings[t]||``}),{datapoint:r.datapoints[t],seriesIndex:t})}
6
+ </span>
7
+ </div>
8
+ `,I.value.comments.showInTooltip&&r.datapoints[t].comment&&(s+=`<div class="vue-data-ui-tooltip-comment" style="background:${ee(r.color,12.5)}; padding: 6px; margin-bottom: 6px; border-left: 1px solid ${r.color}">${r.datapoints[t].comment}</div>`)}),Nn.value=`<div>${s}</div>`),ne===`keyboard`&&Ye(()=>{Fn(r)})}function Ln(){return q.value}let $=u(()=>{let e=[M.value.table.columnNames.series,M.value.table.columnNames.item].concat(Y.value.map(e=>e.name));return{body:X.value.flatMap((e,t)=>e.series.map(t=>[e.name,t.name].concat(t.values))),head:e,config:{th:{backgroundColor:M.value.table.th.backgroundColor,color:M.value.table.th.color,outline:M.value.table.th.outline},td:{backgroundColor:M.value.table.td.backgroundColor,color:M.value.table.td.color,outline:M.value.table.td.outline},breakpoint:M.value.table.responsiveBreakpoint},colNames:[M.value.table.columnNames.series,M.value.table.columnNames.item].concat(Y.value.map(e=>e.name))}}),Rn=u(()=>X.value.length===0?{head:[],body:[],config:{},columnNames:[]}:{head:$.value.head,body:$.value.body});function zn(e=null){let t=[[I.value.title.text],[I.value.title.subtitle.text],[``]],n=Rn.value.head,i=Rn.value.body,a=t.concat([n]).concat(i),o=r(a);e?e(o):ce({csvContent:o,title:I.value.title.text||`vue-ui-parallel-coordinate-plot`})}let Bn=rt;function Vn({serie:e,shape:t,S:n}){M.value.events.datapointClick&&M.value.events.datapointClick({datapoint:{...e,shape:t},seriesIndex:n}),Bn(`selectDatapoint`,e)}function Hn(){G.value.showTable=!G.value.showTable}function Un(){G.value.dataLabels.show=!G.value.dataLabels.show}function Wn(){G.value.showTooltip=!G.value.showTooltip}let Gn=x(!1);function Kn(){Gn.value=!Gn.value}let qn=Ce(O,()=>I.value.title.text),Jn=x({start:0,end:1}),Yn=u(()=>Y.value.map(e=>e.name));Pe({timeLabelsEls:Yt,timeLabels:Yn,slicer:Jn,configRef:M,rotationPath:[`style`,`chart`,`yAxis`,`labels`,`axisNamesRotation`],autoRotatePath:[`style`,`chart`,`yAxis`,`labels`,`axisNamesAutoRotate`,`enable`],isAutoSize:!1,width:gn,height:_n,targetClass:`.vue-ui-parallel-coordinate-plot-x-label`,rotation:P.value.axisNamesAutoRotate.angle});let Xn=u(()=>De({config:M,style:I,mutableConfig:G,dialog:Ft,accordion:At,isFullscreen:j,parent:O,maxWidth:800,isCursorPointer:R}));tt(()=>G.value.showTable,e=>Ee(e,M,qt));function Zn(){G.value.showTable=!1,Jt.value&&Jt.value.setTableIconState(!1)}let Qn=u(()=>I.value.backgroundColor),$n=u(()=>I.value.legend),er=u(()=>I.value.title),{isCallbackImaging:tr,isCallbackSvg:nr,generateSvg:rr,onGenerateImage:ir}=Te({svg:B,title:er,legend:$n,legendItems:En,backgroundColor:Qn,getSvgCallback:()=>M.value.userOptions.callbacks.svg,generateImage:mn});async function ar(){if(Bn(`copyAlt`,{config:M.value,dataset:X.value}),!M.value.userOptions.callbacks.altCopy){console.warn("Vue Data UI - A callback must be set for `altCopy` in userOptions.");return}await Promise.resolve(M.value.userOptions.callbacks.altCopy({config:M.value,dataset:X.value}))}function or(e){let t=Z.value.length;return t?(e%t+t)%t:null}function sr(){if(k.value!==null){let e=Z.value[k.value];e&&Pn({shape:e.shape,serie:e.serie,S:e.S})}k.value=null,Zt.value=`pointer`,Q.value=null,Mn.value=!1}function cr(){k.value=null,Qt.value=!0}function lr(){sr(),Qt.value=!1}function ur(e){if(!B.value||Gn.value||document.activeElement!==B.value||!Z.value.length)return;let t=[`ArrowUp`,`ArrowLeft`].includes(e.key),n=[`ArrowDown`,`ArrowRight`].includes(e.key),r=e.key===`Enter`||e.key===` `,i=e.key===`Escape`;if(!t&&!n&&!r&&!i)return;if(e.preventDefault(),e.stopPropagation(),i){sr();return}if(r){if(k.value===null)return;let e=Z.value[k.value];if(!e)return;Vn({serie:e.serie,shape:e.shape,S:e.S});return}let a=k.value;a=a===null?n?0:Z.value.length-1:or(a+(n?1:-1));let o=Z.value[a];o&&(k.value=a,In({shape:o.shape,serieName:o.serieName,serie:o.serie,relativeIndex:o.relativeIndex,seriesIndex:o.seriesIndex,S:o.S,triggerMode:`keyboard`}))}let dr=u(()=>({head:$.value.head,body:$.value.body.map(e=>[e[0]??``,e[1]??``,...e.slice(2)]),caption:M.value.a11y.translations.tableCaption,notice:M.value.a11y.translations.tableAvailable}));return xe({getData:Ln,getImage:qn,generateCsv:zn,generatePdf:pn,generateImage:mn,generateSvg:rr,hideSeries:Tn,showSeries:wn,toggleTable:Hn,toggleLabels:Un,toggleTooltip:Wn,toggleAnnotator:Kn,toggleFullscreen:$t,copyAlt:ar}),(e,t)=>(b(),p(`div`,{ref_key:`pcpChart`,ref:O,class:_(`vue-data-ui-component vue-ui-pcp ${j.value?`vue-data-ui-wrapper-fullscreen`:``} ${M.value.useCssAnimation?``:`vue-ui-dna`}`),style:y(`font-family:${M.value.style.fontFamily};width:100%; text-align:center;background:${I.value.backgroundColor};${M.value.responsive?`height:100%`:``}`),id:`pcp_${A.value}`,onMouseenter:t[2]||=()=>T(an)(!0),onMouseleave:t[3]||=()=>T(an)(!1)},[m(`div`,{id:`chart-instructions-${A.value}`,class:`sr-only`},[m(`p`,null,w(M.value.a11y.translations.keyboardNavigation),1)],8,at),dr.value.body.length?(b(),d(ze,{key:0,uid:A.value,head:dr.value.head,body:dr.value.body,caption:dr.value.caption,notice:dr.value.notice},null,8,[`uid`,`head`,`body`,`caption`,`notice`])):f(``,!0),N.value.buttons.annotator?(b(),d(T(Mt),{key:1,svgRef:T(B),backgroundColor:I.value.backgroundColor,color:I.value.color,active:Gn.value,isCursorPointer:R.value,palette:N.value.annotatorPalette,onClose:Kn},Ge({_:2},[S(T(ke),t=>({name:t,fn:E(n=>[C(e.$slots,t,v(g(T(Oe)(t,n))),void 0,!0)])}))]),1032,[`svgRef`,`backgroundColor`,`color`,`active`,`isCursorPointer`,`palette`])):f(``,!0),hn.value?(b(),p(`div`,{key:2,ref_key:`noTitle`,ref:Ht,class:`vue-data-ui-no-title-space`,style:`height:36px; width: 100%;background:transparent`},null,512)):f(``,!0),I.value.title.text?(b(),p(`div`,{key:3,ref_key:`chartTitle`,ref:zt,style:`width:100%;background:transparent;padding-bottom:24px`},[(b(),d(we,{key:`title_${Ut.value}`,config:{title:{cy:`pcp-div-title`,...I.value.title},subtitle:{cy:`pcp-div-subtitle`,...I.value.title.subtitle}}},null,8,[`config`]))],512)):f(``,!0),m(`div`,{id:`legend-top-${A.value}`},null,8,ot),N.value.show&&Lt.value&&(T(on)||T(rn))?(b(),d(T(Nt),{ref_key:`userOptionsRef`,ref:Jt,key:`user_options_${Rt.value}`,backgroundColor:I.value.backgroundColor,color:I.value.color,isPrinting:T(dn),isImaging:T(fn),uid:A.value,hasTooltip:N.value.buttons.tooltip&&F.value.show,hasPdf:N.value.buttons.pdf,hasXls:N.value.buttons.csv,hasImg:N.value.buttons.img,hasSvg:N.value.buttons.svg,hasTable:N.value.buttons.table,hasLabel:N.value.buttons.labels,hasFullscreen:N.value.buttons.fullscreen,hasAltCopy:N.value.buttons.altCopy,isFullscreen:j.value,isTooltip:G.value.showTooltip,titles:{...N.value.buttonTitles},chartElement:O.value,position:N.value.position,hasAnnotator:N.value.buttons.annotator,isAnnotation:Gn.value,callbacks:N.value.callbacks,printScale:N.value.print.scale,tableDialog:M.value.table.useDialog,isCursorPointer:R.value,onToggleFullscreen:$t,onGeneratePdf:T(pn),onGenerateCsv:zn,onGenerateImage:T(ir),onGenerateSvg:T(rr),onToggleTable:Hn,onToggleLabels:Un,onToggleTooltip:Wn,onToggleAnnotator:Kn,onCopyAlt:ar,style:y({visibility:T(on)?T(rn)?`visible`:`hidden`:`visible`})},Ge({_:2},[S(T(Ae)(e.$slots,`menuIcon optionTooltip optionPdf optionCsv optionImg optionSvg optionTable optionLabels optionFullscreen optionAnnotator optionAltCopy custom-menu-before custom-menu-after`),t=>({name:t,fn:E(n=>[C(e.$slots,t,v(g(T(je)(t,n))),void 0,!0)])}))]),1032,/* @__PURE__ */ `backgroundColor.color.isPrinting.isImaging.uid.hasTooltip.hasPdf.hasXls.hasImg.hasSvg.hasTable.hasLabel.hasFullscreen.hasAltCopy.isFullscreen.isTooltip.titles.chartElement.position.hasAnnotator.isAnnotation.callbacks.printScale.tableDialog.isCursorPointer.onGeneratePdf.onGenerateImage.onGenerateSvg.style`.split(`.`))):f(``,!0),m(`div`,st,[(b(),p(`svg`,{ref_key:`svgRef`,ref:B,xmlns:T(de),"aria-describedby":`chart-instructions-${A.value}`,class:_({"vue-data-ui-fullscreen--on":j.value,"vue-data-ui-fulscreen--off":!j.value,"vue-data-ui-no-transition":!T(L)}),viewBox:`0 0 ${W.value.chartWidth<=0?10:W.value.chartWidth} ${W.value.chartHeight<=0?10:W.value.chartHeight}`,style:y(`max-width:100%; overflow: visible; background:transparent;color:${I.value.color}`),tabindex:`0`,onFocus:cr,onBlur:lr,onKeydown:ur},[qe(T(Pt)),e.$slots[`chart-background`]?(b(),p(`foreignObject`,{key:0,x:W.value.left,y:W.value.top,width:W.value.width,height:W.value.height,style:{pointerEvents:`none`}},[C(e.$slots,`chart-background`,{},void 0,!0)],8,lt)):f(``,!0),(b(!0),p(l,null,S(Y.value,(e,t)=>(b(),p(`g`,ut,[m(`line`,{x1:W.value.left+J.value*t+J.value/2,x2:W.value.left+J.value*t+J.value/2,y1:W.value.top,y2:W.value.bottom,stroke:I.value.yAxis.stroke,"stroke-width":I.value.yAxis.strokeWidth},null,8,dt),P.value.ticks.show?(b(),p(l,{key:0},[(b(!0),p(l,null,S(e.ticks,(t,n)=>(b(),p(`path`,{class:_({"vue-data-ui-transition":T(L)}),key:`tick_${e.name}_${n}`,d:`M${t.x},${t.y} ${t.x-10},${t.y}`,stroke:I.value.yAxis.stroke,"stroke-width":I.value.yAxis.strokeWidth,style:y(`opacity:${Q.value&&!G.value.showTooltip?.2:1}`)},null,14,ft))),128)),T(z)?f(``,!0):(b(),p(`g`,pt,[(b(!0),p(l,null,S(e.ticks,(n,r)=>(b(),p(`text`,{key:`tl_${e.name}_${r}`,class:_({"vue-data-ui-transition":T(L)}),transform:`translate(${n.x-12+P.value.ticks.offsetX}, ${n.y+P.value.ticks.offsetY+U.value.ticksFontSize/3})`,fill:P.value.ticks.color,"text-anchor":`end`,"font-size":U.value.ticksFontSize,"font-weight":P.value.ticks.bold?`bold`:`normal`,style:y(`opacity:${Q.value&&!G.value.showTooltip?.2:1}`)},w(An({value:n.value,index:t,datapoint:n})),15,mt))),128))]))],64)):f(``,!0)]))),256)),P.value.showAxisNames?(b(),p(`g`,{key:1,ref_key:`xAxisLabels`,ref:Yt},[(b(!0),p(l,null,S(Y.value,(e,t)=>(b(),p(l,null,[String(e.name).includes(`
9
+ `)?(b(),p(`text`,{key:1,class:`vue-ui-parallel-coordinate-plot-x-label`,fill:P.value.axisNamesColor,"font-size":U.value.axisNameFontSize,"font-weight":P.value.axisNamesBold?`bold`:``,"text-anchor":P.value.axisNamesRotation===0?`middle`:P.value.axisNamesRotation<0?`start`:`end`,transform:`translate(${W.value.left+J.value*t+J.value/2}, ${vn.value-U.value.axisNameFontSize}), rotate(${P.value.axisNamesRotation})`,innerHTML:T(o)({content:String(e.name),fontSize:U.value.axisNameFontSize,fill:P.value.axisNamesColor,x:0,y:0})},null,8,gt)):(b(),p(`text`,{key:0,class:`vue-ui-parallel-coordinate-plot-x-label`,fill:P.value.axisNamesColor,"font-size":U.value.axisNameFontSize,"font-weight":P.value.axisNamesBold?`bold`:``,"text-anchor":P.value.axisNamesRotation===0?`middle`:P.value.axisNamesRotation<0?`start`:`end`,transform:`translate(${W.value.left+J.value*t+J.value/2}, ${vn.value-U.value.axisNameFontSize}), rotate(${P.value.axisNamesRotation})`},w(e.name),9,ht))],64))),256))],512)):f(``,!0),(b(!0),p(l,null,S(X.value,(t,n)=>(b(),p(`g`,null,[(b(!0),p(l,null,S(t.series,(r,i)=>(b(),p(`g`,null,[I.value.plots.show?(b(),p(`g`,_t,[(b(!0),p(l,null,S(r.datapoints,(e,a)=>(b(),d(Fe,{plot:{x:e.x,y:e.y},color:t.color,shape:t.shape,radius:t.shape===`triangle`?U.value.plotSize*1.2:U.value.plotSize,stroke:I.value.backgroundColor,strokeWidth:.5,onMouseenter:e=>In({shape:t.shape,serieName:t.name,serie:r,relativeIndex:i,seriesIndex:r.seriesIndex,S:n,triggerMode:`pointer`}),onMouseleave:e=>Pn({serie:r,shape:t.shape,S:n}),style:y(`opacity:${Q.value?Q.value===r.id?I.value.plots.opacity:.2:I.value.plots.opacity}`),onClick:()=>Vn({serie:r,shape:t.shape,S:n})},null,8,[`plot`,`color`,`shape`,`radius`,`stroke`,`onMouseenter`,`onMouseleave`,`style`,`onClick`]))),256)),G.value.showTooltip?f(``,!0):(b(),p(l,{key:0},[Q.value&&Q.value===r.id&&r.datapoints.length?(b(),p(`text`,{key:0,x:r.datapoints[0].x-U.value.ticksFontSize,y:r.datapoints[0].y+U.value.ticksFontSize/3,"text-anchor":`end`,"font-size":U.value.ticksFontSize,fill:t.color,"font-weight":`bold`},w(r.name),9,vt)):f(``,!0)],64)),I.value.comments.show?(b(!0),p(l,{key:1},S(r.datapoints,n=>(b(),p(`g`,null,[n.comment?(b(),p(`foreignObject`,{key:0,style:{overflow:`visible`},height:`12`,width:I.value.comments.width,x:n.x-I.value.comments.width/2+I.value.comments.offsetX,y:n.y+I.value.comments.offsetY+6},[m(`div`,bt,[C(e.$slots,`plot-comment`,{plot:{...n,color:t.color}},void 0,!0)])],8,yt)):f(``,!0)]))),256)):f(``,!0)])):f(``,!0),m(`path`,{d:`M${I.value.lines.smooth?r.smoothPath:r.straightPath}`,stroke:t.color,"stroke-width":I.value.lines.strokeWidth,fill:`none`,class:_({"vue-ui-pcp-animated vue-data-ui-line-animated":M.value.useCssAnimation,"vue-data-ui-transition":T(L)}),onMouseenter:e=>In({shape:t.shape,serieName:t.name,serie:r,relativeIndex:i,seriesIndex:r.seriesIndex,S:n,triggerMode:`pointer`}),onMouseleave:e=>Pn({serie:r,shape:t.shape,S:n}),onClick:()=>Vn({serie:r,shape:t.shape,S:n}),style:y(`opacity:${Q.value?Q.value===r.id?I.value.lines.opacity:.2:I.value.lines.opacity}; stroke-dasharray:${r.pathLength}; stroke-dashoffset: ${M.value.useCssAnimation?r.pathLength:0}`)},null,46,xt),G.value.showTooltip?(b(),p(`path`,{key:1,d:`M${I.value.lines.smooth?r.smoothPath:r.straightPath}`,stroke:`transparent`,"stroke-width":12,fill:`none`,class:_({"vue-ui-pcp-animated vue-data-ui-line-animated":M.value.useCssAnimation,"vue-data-ui-transition":T(L)}),onMouseenter:e=>In({shape:t.shape,serieName:t.name,serie:r,relativeIndex:i,seriesIndex:r.seriesIndex,S:n,triggerMode:`pointer`}),onMouseleave:e=>Pn({serie:r,shape:t.shape,S:n}),onClick:()=>Vn({serie:r,shape:t.shape,S:n}),style:{opacity:`0`}},null,42,St)):f(``,!0)]))),256))]))),256)),(b(!0),p(l,null,S(X.value,(e,t)=>(b(),p(`g`,null,[(b(!0),p(l,null,S(e.series,(n,r)=>(b(),p(`g`,null,[!T(z)&&(G.value.dataLabels.show||Q.value&&Q.value===n.id)?(b(!0),p(l,{key:0},S(n.datapoints,(i,a)=>(b(),p(`text`,{key:`pl_${n.id}_${a}`,transform:`translate(${i.x+12+P.value.datapoints.offsetX}, ${i.y+P.value.datapoints.offsetY+U.value.datapointFontSize/3})`,fill:P.value.datapoints.useSerieColor?e.color:P.value.datapoints.color,"text-anchor":`start`,"font-weight":P.value.datapoints.bold?`bold`:`normal`,class:_({"vue-ui-pcp-plot-label":!0,"vue-data-ui-transition":T(L)}),"font-size":U.value.datapointFontSize,stroke:I.value.backgroundColor,"stroke-width":3,"stroke-linecap":`round`,"stroke-linejoin":`round`,"paint-order":`stroke fill`,onMouseenter:i=>In({shape:e.shape,serieName:e.name,serie:n,relativeIndex:r,seriesIndex:n.seriesIndex,S:t,triggerMode:`pointer`}),onMouseleave:r=>Pn({serie:n,shape:e.shape,S:t}),onClick:()=>Vn({serie:n,shape:e.shape,S:t}),style:y(`opacity:${Q.value?Q.value===n.id?1:.2:1}`)},w(An({value:i.value,index:a,datapoint:i})),47,Ct))),128)):f(``,!0)]))),256))]))),256)),C(e.$slots,`svg`,{svg:{...W.value,isPrintingImg:T(dn)||T(fn)||T(tr),isPrintingSvg:T(nr)}},void 0,!0)],46,ct)),e.$slots.hint?(b(),p(`div`,wt,[C(e.$slots,`hint`,v(g({hint:M.value.a11y.translations.keyboardNavigation,isVisible:Qt.value})),void 0,!0)])):f(``,!0)]),e.$slots.watermark?(b(),p(`div`,Tt,[C(e.$slots,`watermark`,v(g({isPrinting:T(dn)||T(fn)||T(tr)||T(nr)})),void 0,!0)])):f(``,!0),m(`div`,{id:`legend-bottom-${A.value}`},null,8,Et),Kt.value&&(I.value.legend.show||e.$slots.legend)?(b(),d(We,{key:6,to:I.value.legend.position===`top`?`#legend-top-${A.value}`:`#legend-bottom-${A.value}`},[m(`div`,{ref_key:`chartLegend`,ref:Bt},[C(e.$slots,`legend`,{legend:En.value},()=>[I.value.legend.show&&Lt.value?(b(),d(He,{key:`legend_${Wt.value}`,legendSet:En.value,config:Dn.value,isCursorPointer:R.value,onClickMarker:t[0]||=({legend:e})=>{Sn(e.id)}},{item:E(({legend:e,index:t})=>[m(`div`,{onClick:t=>e.segregate(),style:y(`opacity:${K.value.includes(e.id)?.5:1}`)},w(e.name),13,Dt)]),legendToggle:E(()=>[En.value.length>2&&I.value.legend.selectAllToggle.show&&!T(z)?(b(),d(Re,{key:0,backgroundColor:I.value.legend.selectAllToggle.backgroundColor,color:I.value.legend.selectAllToggle.color,fontSize:I.value.legend.fontSize,checked:K.value.length>0,isCursorPointer:R.value,onToggle:xn},null,8,[`backgroundColor`,`color`,`fontSize`,`checked`,`isCursorPointer`])):f(``,!0)]),_:1},8,[`legendSet`,`config`,`isCursorPointer`])):f(``,!0)],!0)],512)],8,[`to`])):f(``,!0),e.$slots.source?(b(),p(`div`,{key:7,ref_key:`source`,ref:Vt,dir:`auto`},[C(e.$slots,`source`,{},void 0,!0)],512)):f(``,!0),qe(T(Ot),{teleportTo:F.value.teleportTo,show:G.value.showTooltip&&Mn.value,backgroundColor:F.value.backgroundColor,color:F.value.color,fontSize:F.value.fontSize,borderRadius:F.value.borderRadius,borderColor:F.value.borderColor,borderWidth:F.value.borderWidth,backgroundOpacity:F.value.backgroundOpacity,position:F.value.position,offsetX:F.value.offsetX,offsetY:F.value.offsetY,parent:O.value,content:Nn.value,isFullscreen:j.value,isCustom:T(i)(F.value.customFormat),smooth:F.value.smooth,backdropFilter:F.value.backdropFilter,smoothForce:F.value.smoothForce,smoothSnapThreshold:F.value.smoothSnapThreshold,isA11yMode:Zt.value===`keyboard`,a11yPosition:Xt.value},{"tooltip-before":E(()=>[C(e.$slots,`tooltip-before`,v(g({...jn.value})),void 0,!0)]),tooltip:E(()=>[C(e.$slots,`tooltip`,v(g({...jn.value})),void 0,!0)]),"tooltip-after":E(()=>[C(e.$slots,`tooltip-after`,v(g({...jn.value})),void 0,!0)]),_:3},8,[`teleportTo`,`show`,`backgroundColor`,`color`,`fontSize`,`borderRadius`,`borderColor`,`borderWidth`,`backgroundOpacity`,`position`,`offsetX`,`offsetY`,`parent`,`content`,`isFullscreen`,`isCustom`,`smooth`,`backdropFilter`,`smoothForce`,`smoothSnapThreshold`,`isA11yMode`,`a11yPosition`]),Lt.value&&N.value.buttons.table?(b(),d(Qe(Xn.value.component),Je({key:8},Xn.value.props,{ref_key:`tableUnit`,ref:qt,onClose:Zn}),Ge({content:E(()=>[(b(),d(T(jt),{key:`table_${Gt.value}`,colNames:$.value.colNames,head:$.value.head,body:$.value.body,config:$.value.config,title:M.value.table.useDialog?``:Xn.value.title,withCloseButton:!M.value.table.useDialog,isCursorPointer:R.value,onClose:Zn},{th:E(({th:e})=>[m(`div`,null,w(e),1)]),td:E(({td:e})=>[Ke(w(e),1)]),_:1},8,[`colNames`,`head`,`body`,`config`,`title`,`withCloseButton`,`isCursorPointer`]))]),_:2},[M.value.table.useDialog?{name:`title`,fn:E(()=>[Ke(w(Xn.value.title),1)]),key:`0`}:void 0,M.value.table.useDialog?{name:`actions`,fn:E(()=>[m(`button`,{tabindex:`0`,class:`vue-ui-user-options-button`,onClick:t[1]||=e=>zn(N.value.callbacks.csv),style:y({cursor:R.value?`pointer`:`default`})},[qe(T(kt),{name:`fileCsv`,stroke:Xn.value.props.color},null,8,[`stroke`])],4)]),key:`1`}:void 0]),1040)):f(``,!0),C(e.$slots,`skeleton`,{},()=>[T(z)?(b(),d(ve,{key:0})):f(``,!0)],!0)],46,it))}},[[`__scopeId`,`data-v-edffa80b`]]);export{rt as n,Ot as t};