vue-data-ui 3.20.1 → 3.20.2

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 (322) hide show
  1. package/dist/A11yDataTable-BCbtxMU6.js +45 -0
  2. package/dist/Arrow-D6j6ocXm.js +116 -0
  3. package/dist/BaseDraggableDialog-4hDW-Rj2.js +272 -0
  4. package/dist/BaseIcon-DfLoHNUj.js +502 -0
  5. package/dist/BaseLegendToggle-C_Db-y7s.js +56 -0
  6. package/dist/BaseScanner-Dr2a1Msy.js +27 -0
  7. package/dist/BaseZoomControls-CG7hI_1P.js +111 -0
  8. package/dist/ColorPicker-Bjwxnvfh.js +255 -0
  9. package/dist/DataTable-B--IN22e.js +150 -0
  10. package/dist/Legend-Cz2uQ5gs.js +114 -0
  11. package/dist/NonSvgPenAndPaper-gLNJ1Lmr.js +577 -0
  12. package/dist/PackageVersion-f0MuYk3R.js +11 -0
  13. package/dist/PenAndPaper-DqrClVfb.js +461 -0
  14. package/dist/RecursiveCircles-D6aDPmoe.js +117 -0
  15. package/dist/RecursiveLabels-D9rfID6q.js +56 -0
  16. package/dist/RecursiveLinks-BygcpDiT.js +78 -0
  17. package/dist/Shape-BPCJfphn.js +141 -0
  18. package/dist/Slicer-SHBj0VaV.js +1144 -0
  19. package/dist/SlicerPreview-DdihbUSJ.js +1668 -0
  20. package/dist/SparkTooltip-CfE6yCad.js +93 -0
  21. package/dist/Title-NWp4qB4K.js +87 -0
  22. package/dist/Tooltip-BENq327o.js +312 -0
  23. package/dist/UserOptions-C1NgoGu6.js +1411 -0
  24. package/dist/_plugin-vue_export-helper-B3ysoDQm.js +8 -0
  25. package/dist/canvas-lib-BOP_HS11.js +79 -0
  26. package/dist/components/arrow.js +2 -0
  27. package/dist/components/vue-ui-3d-bar.js +2 -0
  28. package/dist/components/vue-ui-accordion.js +2 -0
  29. package/dist/components/vue-ui-age-pyramid.js +2 -0
  30. package/dist/components/vue-ui-annotator.js +2 -0
  31. package/dist/components/vue-ui-bullet.js +2 -0
  32. package/dist/components/vue-ui-bump.js +2 -0
  33. package/dist/components/vue-ui-candlestick.js +2 -0
  34. package/dist/components/vue-ui-carousel-table.js +2 -0
  35. package/dist/components/vue-ui-chestnut.js +2 -0
  36. package/dist/components/vue-ui-chord.js +2 -0
  37. package/dist/components/vue-ui-circle-pack.js +2 -0
  38. package/dist/components/vue-ui-cursor.js +2 -0
  39. package/dist/components/vue-ui-dag.js +2 -0
  40. package/dist/components/vue-ui-dashboard.js +2 -0
  41. package/dist/components/vue-ui-digits.js +2 -0
  42. package/dist/components/vue-ui-donut-evolution.js +2 -0
  43. package/dist/components/vue-ui-donut.js +2 -0
  44. package/dist/components/vue-ui-dumbbell.js +2 -0
  45. package/dist/components/vue-ui-flow.js +2 -0
  46. package/dist/components/vue-ui-funnel.js +2 -0
  47. package/dist/components/vue-ui-galaxy.js +2 -0
  48. package/dist/components/vue-ui-gauge.js +2 -0
  49. package/dist/components/vue-ui-geo.js +2 -0
  50. package/dist/components/vue-ui-gizmo.js +2 -0
  51. package/dist/components/vue-ui-heatmap.js +2 -0
  52. package/dist/components/vue-ui-history-plot.js +2 -0
  53. package/dist/components/vue-ui-horizontal-bar.js +2 -0
  54. package/dist/components/vue-ui-icon.js +2 -0
  55. package/dist/components/vue-ui-kpi.js +2 -0
  56. package/dist/components/vue-ui-mini-loader.js +2 -0
  57. package/dist/components/vue-ui-molecule.js +2 -0
  58. package/dist/components/vue-ui-mood-radar.js +2 -0
  59. package/dist/components/vue-ui-nested-donuts.js +2 -0
  60. package/dist/components/vue-ui-onion.js +2 -0
  61. package/dist/components/vue-ui-parallel-coordinate-plot.js +2 -0
  62. package/dist/components/vue-ui-pattern-seed.js +2 -0
  63. package/dist/components/vue-ui-pattern.js +2 -0
  64. package/dist/components/vue-ui-quadrant.js +2 -0
  65. package/dist/components/vue-ui-quick-chart.js +2 -0
  66. package/dist/components/vue-ui-radar.js +2 -0
  67. package/dist/components/vue-ui-rating.js +2 -0
  68. package/dist/components/vue-ui-relation-circle.js +2 -0
  69. package/dist/components/vue-ui-ridgeline.js +2 -0
  70. package/dist/components/vue-ui-rings.js +2 -0
  71. package/dist/components/vue-ui-scatter.js +2 -0
  72. package/dist/components/vue-ui-skeleton.js +2 -0
  73. package/dist/components/vue-ui-smiley.js +2 -0
  74. package/dist/components/vue-ui-spark-trend.js +2 -0
  75. package/dist/components/vue-ui-sparkbar.js +2 -0
  76. package/dist/components/vue-ui-sparkgauge.js +2 -0
  77. package/dist/components/vue-ui-sparkhistogram.js +2 -0
  78. package/dist/components/vue-ui-sparkline.js +2 -0
  79. package/dist/components/vue-ui-sparkstackbar.js +2 -0
  80. package/dist/components/vue-ui-stackbar.js +2 -0
  81. package/dist/components/vue-ui-stackline.js +2 -0
  82. package/dist/components/vue-ui-strip-plot.js +2 -0
  83. package/dist/components/vue-ui-table-heatmap.js +2 -0
  84. package/dist/components/vue-ui-table-sparkline.js +2 -0
  85. package/dist/components/vue-ui-table.js +2 -0
  86. package/dist/components/vue-ui-thermometer.js +2 -0
  87. package/dist/components/vue-ui-timer.js +2 -0
  88. package/dist/components/vue-ui-tiremarks.js +2 -0
  89. package/dist/components/vue-ui-treemap.js +2 -0
  90. package/dist/components/vue-ui-vertical-bar.js +2 -0
  91. package/dist/components/vue-ui-waffle.js +2 -0
  92. package/dist/components/vue-ui-wheel.js +2 -0
  93. package/dist/components/vue-ui-word-cloud.js +2 -0
  94. package/dist/components/vue-ui-world.js +2 -0
  95. package/dist/components/vue-ui-xy-canvas.js +2 -0
  96. package/dist/components/vue-ui-xy.js +2 -0
  97. package/dist/dom-to-png-BYtB4BF3.js +237 -0
  98. package/dist/exposedLib-CI8ji8G-.js +19 -0
  99. package/dist/geoProjections-Czak6Jn1.js +145 -0
  100. package/dist/img-1cKsci8e.js +74 -0
  101. package/dist/labelUtils-CUctkYoA.js +19 -0
  102. package/dist/lib-DUeYQsS0.js +1882 -0
  103. package/dist/llms.txt +232 -0
  104. package/dist/patternUtils-CS7hn6at.js +258 -0
  105. package/dist/pdf-D0eZ99cP.js +90 -0
  106. package/dist/rolldown-runtime-Dy4uBu1J.js +11 -0
  107. package/dist/style.css +2 -0
  108. package/dist/types/arrow.d.ts +4 -0
  109. package/dist/types/utils.d.ts +551 -0
  110. package/dist/types/vue-data-ui.d.ts +17190 -0
  111. package/dist/types/vue-ui-3d-bar.d.ts +93 -0
  112. package/dist/types/vue-ui-accordion.d.ts +11 -0
  113. package/dist/types/vue-ui-age-pyramid.d.ts +108 -0
  114. package/dist/types/vue-ui-annotator.d.ts +34 -0
  115. package/dist/types/vue-ui-bullet.d.ts +85 -0
  116. package/dist/types/vue-ui-bump.d.ts +92 -0
  117. package/dist/types/vue-ui-candlestick.d.ts +106 -0
  118. package/dist/types/vue-ui-carousel-table.d.ts +59 -0
  119. package/dist/types/vue-ui-chestnut.d.ts +98 -0
  120. package/dist/types/vue-ui-chord.d.ts +110 -0
  121. package/dist/types/vue-ui-circle-pack.d.ts +126 -0
  122. package/dist/types/vue-ui-cursor.d.ts +9 -0
  123. package/dist/types/vue-ui-dag.d.ts +125 -0
  124. package/dist/types/vue-ui-dashboard.d.ts +68 -0
  125. package/dist/types/vue-ui-digits.d.ts +12 -0
  126. package/dist/types/vue-ui-donut-evolution.d.ts +96 -0
  127. package/dist/types/vue-ui-donut.d.ts +123 -0
  128. package/dist/types/vue-ui-dumbbell.d.ts +94 -0
  129. package/dist/types/vue-ui-flow.d.ts +106 -0
  130. package/dist/types/vue-ui-funnel.d.ts +79 -0
  131. package/dist/types/vue-ui-galaxy.d.ts +114 -0
  132. package/dist/types/vue-ui-gauge.d.ts +89 -0
  133. package/dist/types/vue-ui-geo.d.ts +94 -0
  134. package/dist/types/vue-ui-gizmo.d.ts +22 -0
  135. package/dist/types/vue-ui-heatmap.d.ts +101 -0
  136. package/dist/types/vue-ui-history-plot.d.ts +114 -0
  137. package/dist/types/vue-ui-horizontal-bar.d.ts +116 -0
  138. package/dist/types/vue-ui-icon.d.ts +15 -0
  139. package/dist/types/vue-ui-kpi.d.ts +25 -0
  140. package/dist/types/vue-ui-mini-loader.d.ts +15 -0
  141. package/dist/types/vue-ui-molecule.d.ts +112 -0
  142. package/dist/types/vue-ui-mood-radar.d.ts +92 -0
  143. package/dist/types/vue-ui-nested-donuts.d.ts +111 -0
  144. package/dist/types/vue-ui-onion.d.ts +106 -0
  145. package/dist/types/vue-ui-parallel-coordinate-plot.d.ts +125 -0
  146. package/dist/types/vue-ui-pattern-seed.d.ts +14 -0
  147. package/dist/types/vue-ui-pattern.d.ts +15 -0
  148. package/dist/types/vue-ui-quadrant.d.ts +125 -0
  149. package/dist/types/vue-ui-quick-chart.d.ts +108 -0
  150. package/dist/types/vue-ui-radar.d.ts +116 -0
  151. package/dist/types/vue-ui-rating.d.ts +42 -0
  152. package/dist/types/vue-ui-relation-circle.d.ts +92 -0
  153. package/dist/types/vue-ui-ridgeline.d.ts +106 -0
  154. package/dist/types/vue-ui-rings.d.ts +98 -0
  155. package/dist/types/vue-ui-scatter.d.ts +97 -0
  156. package/dist/types/vue-ui-skeleton.d.ts +11 -0
  157. package/dist/types/vue-ui-smiley.d.ts +28 -0
  158. package/dist/types/vue-ui-spark-trend.d.ts +19 -0
  159. package/dist/types/vue-ui-sparkbar.d.ts +49 -0
  160. package/dist/types/vue-ui-sparkgauge.d.ts +28 -0
  161. package/dist/types/vue-ui-sparkhistogram.d.ts +46 -0
  162. package/dist/types/vue-ui-sparkline.d.ts +59 -0
  163. package/dist/types/vue-ui-sparkstackbar.d.ts +60 -0
  164. package/dist/types/vue-ui-stackbar.d.ts +118 -0
  165. package/dist/types/vue-ui-stackline.d.ts +114 -0
  166. package/dist/types/vue-ui-strip-plot.d.ts +96 -0
  167. package/dist/types/vue-ui-table-heatmap.d.ts +62 -0
  168. package/dist/types/vue-ui-table-sparkline.d.ts +53 -0
  169. package/dist/types/vue-ui-table.d.ts +38 -0
  170. package/dist/types/vue-ui-thermometer.d.ts +70 -0
  171. package/dist/types/vue-ui-timer.d.ts +49 -0
  172. package/dist/types/vue-ui-tiremarks.d.ts +70 -0
  173. package/dist/types/vue-ui-treemap.d.ts +104 -0
  174. package/dist/types/vue-ui-vertical-bar.d.ts +22 -0
  175. package/dist/types/vue-ui-waffle.d.ts +101 -0
  176. package/dist/types/vue-ui-wheel.d.ts +70 -0
  177. package/dist/types/vue-ui-word-cloud.d.ts +97 -0
  178. package/dist/types/vue-ui-world.d.ts +98 -0
  179. package/dist/types/vue-ui-xy-canvas.d.ts +101 -0
  180. package/dist/types/vue-ui-xy.d.ts +146 -0
  181. package/dist/useAutoSizeLabelsInsideViewbox-BIVntRZp.js +50 -0
  182. package/dist/useChartAccessibility-DYqac8yF.js +12 -0
  183. package/dist/useConfig-DAyQk86L.js +7479 -0
  184. package/dist/useFitSvgText-CT3nmlaS.js +63 -0
  185. package/dist/useNestedProp-CNcoy38D.js +10 -0
  186. package/dist/useObjectBindings-BI7hP-BC.js +189 -0
  187. package/dist/usePanZoom-CYU3B4T3.js +157 -0
  188. package/dist/usePrefersMotion-BC-CsqR1.js +15 -0
  189. package/dist/usePrinter-C1Gqt_Sp.js +49 -0
  190. package/dist/useResponsive-BfnK0KxU.js +19 -0
  191. package/dist/useStableElementSize-C7KADDKj.js +77 -0
  192. package/dist/useSvgExport-SVIsDot8.js +755 -0
  193. package/dist/useTableResponsive-B24Uwt2E.js +24 -0
  194. package/dist/useThemeCheck-C43Tcqmk.js +24 -0
  195. package/dist/useTimeLabelCollider-AEcY4Ioe.js +57 -0
  196. package/dist/useTimeLabels-BmBRv27Y.js +272 -0
  197. package/dist/useUserOptionState-DK-_1ddE.js +15 -0
  198. package/dist/utils.js +28 -0
  199. package/dist/vClickOutside-DUrZWttG.js +13 -0
  200. package/dist/vue-data-ui-C3m9eNp0.js +274 -0
  201. package/dist/vue-data-ui.js +76 -0
  202. package/dist/vue-ui-3d-bar-Bfcitq55.js +1757 -0
  203. package/dist/vue-ui-accordion-Dw4MHKVB.js +81 -0
  204. package/dist/vue-ui-age-pyramid-Dgzd45Ol.js +1238 -0
  205. package/dist/vue-ui-annotator-DLPUAKlm.js +2899 -0
  206. package/dist/vue-ui-bullet-DAeyHSHC.js +710 -0
  207. package/dist/vue-ui-bump-DsiXfIFL.js +1249 -0
  208. package/dist/vue-ui-candlestick-BadEBUcF.js +1826 -0
  209. package/dist/vue-ui-carousel-table-_LCF7RFm.js +455 -0
  210. package/dist/vue-ui-chestnut-BTuAvc7L.js +2010 -0
  211. package/dist/vue-ui-chord-CAyRIJlh.js +1391 -0
  212. package/dist/vue-ui-circle-pack-BWzwg8Qb.js +1608 -0
  213. package/dist/vue-ui-cursor-C6t7nAT4.js +283 -0
  214. package/dist/vue-ui-dag-8Puv77-a.js +2909 -0
  215. package/dist/vue-ui-dashboard-CXDvRu27.js +513 -0
  216. package/dist/vue-ui-digits-BlHqILF0.js +209 -0
  217. package/dist/vue-ui-donut-CclzduCs.js +2410 -0
  218. package/dist/vue-ui-donut-evolution-DEfY2Zvy.js +1510 -0
  219. package/dist/vue-ui-dumbbell-BG5C4Hdg.js +1530 -0
  220. package/dist/vue-ui-flow-B73dHBrL.js +1235 -0
  221. package/dist/vue-ui-funnel-Bn3c5lWX.js +777 -0
  222. package/dist/vue-ui-galaxy-eBY55Fue.js +1077 -0
  223. package/dist/vue-ui-gauge-s8pl305B.js +920 -0
  224. package/dist/vue-ui-geo-Ca2ZPVhH.js +1516 -0
  225. package/dist/vue-ui-gizmo-CBNDeAzT.js +225 -0
  226. package/dist/vue-ui-heatmap-V79kNqUi.js +1568 -0
  227. package/dist/vue-ui-history-plot-jiJh8oaM.js +1554 -0
  228. package/dist/vue-ui-horizontal-bar-60b88qqU.js +1681 -0
  229. package/dist/vue-ui-kpi-DnfazUeY.js +96 -0
  230. package/dist/vue-ui-mini-loader-CyqBt2g4.js +125 -0
  231. package/dist/vue-ui-molecule-BeIVS2yp.js +925 -0
  232. package/dist/vue-ui-mood-radar-DHY1ry9I.js +1148 -0
  233. package/dist/vue-ui-nested-donuts-GNR6O-Z_.js +1487 -0
  234. package/dist/vue-ui-onion-DghkeKRu.js +1200 -0
  235. package/dist/vue-ui-parallel-coordinate-plot-DqfRRSnD.js +1416 -0
  236. package/dist/vue-ui-pattern-DKozfnVn.js +154 -0
  237. package/dist/vue-ui-pattern-seed-BB1honLm.js +61 -0
  238. package/dist/vue-ui-quadrant-BBucQ_8r.js +1978 -0
  239. package/dist/vue-ui-quick-chart-DxxGq-5d.js +2469 -0
  240. package/dist/vue-ui-radar-B0gW_Iur.js +1229 -0
  241. package/dist/vue-ui-rating-BG4lf1z8.js +343 -0
  242. package/dist/vue-ui-relation-circle-C-fNOxJM.js +924 -0
  243. package/dist/vue-ui-ridgeline-CzDR20s3.js +1622 -0
  244. package/dist/vue-ui-rings-DNRdTVqV.js +1246 -0
  245. package/dist/vue-ui-scatter-CRgFebuE.js +2413 -0
  246. package/dist/vue-ui-skeleton-iNzRGgRn.js +2556 -0
  247. package/dist/vue-ui-smiley-G89TxRU-.js +356 -0
  248. package/dist/vue-ui-spark-trend-CPgTOFNY.js +438 -0
  249. package/dist/vue-ui-sparkbar-B4C_YxU-.js +393 -0
  250. package/dist/vue-ui-sparkgauge-DDkSKiba.js +255 -0
  251. package/dist/vue-ui-sparkhistogram-qtb6-Th8.js +560 -0
  252. package/dist/vue-ui-sparkline-TTSEEs7R.js +1507 -0
  253. package/dist/vue-ui-sparkstackbar-DXEnV79Y.js +662 -0
  254. package/dist/vue-ui-stackbar-CwFVpEgH.js +2270 -0
  255. package/dist/vue-ui-stackline-Bph0kD43.js +2398 -0
  256. package/dist/vue-ui-strip-plot-D2_WSwTF.js +1340 -0
  257. package/dist/vue-ui-table-BzmQMHxi.js +1338 -0
  258. package/dist/vue-ui-table-heatmap-CCGjbSzQ.js +344 -0
  259. package/dist/vue-ui-table-sparkline-CXNxbqIw.js +707 -0
  260. package/dist/vue-ui-thermometer-Cqw2_Jpi.js +763 -0
  261. package/dist/vue-ui-timer-BHP_5wgz.js +439 -0
  262. package/dist/vue-ui-tiremarks-D8wFTxXl.js +552 -0
  263. package/dist/vue-ui-treemap-DbSebes7.js +1587 -0
  264. package/dist/vue-ui-waffle-CAIBpbY0.js +1362 -0
  265. package/dist/vue-ui-wheel-B5Cyopnp.js +885 -0
  266. package/dist/vue-ui-word-cloud-BaGDKrKL.js +1656 -0
  267. package/dist/vue-ui-world-DLcVBwLg.js +14264 -0
  268. package/dist/vue-ui-xy-CyP5FAo8.js +4578 -0
  269. package/dist/vue-ui-xy-canvas-BUPnRZ3C.js +1787 -0
  270. package/dist/vue_ui_3d_bar-C4R7o-yX.js +185 -0
  271. package/dist/vue_ui_age_pyramid-BY6c-oX_.js +301 -0
  272. package/dist/vue_ui_bullet-ClzdLoOv.js +186 -0
  273. package/dist/vue_ui_bump-Vl-zYAtG.js +201 -0
  274. package/dist/vue_ui_candlestick-J8jmJvxP.js +374 -0
  275. package/dist/vue_ui_chestnut-D2oUhad6.js +305 -0
  276. package/dist/vue_ui_chord-DPfS1Umc.js +275 -0
  277. package/dist/vue_ui_circle_pack-DZC_rdfn.js +172 -0
  278. package/dist/vue_ui_dag-TsJ_azQq.js +258 -0
  279. package/dist/vue_ui_donut-BDGqG07h.js +358 -0
  280. package/dist/vue_ui_donut_evolution-D1yAAIHr.js +717 -0
  281. package/dist/vue_ui_dumbbell-Bfe_jFyi.js +304 -0
  282. package/dist/vue_ui_flow-BewZjjKG.js +238 -0
  283. package/dist/vue_ui_funnel-_Og4EEkO.js +234 -0
  284. package/dist/vue_ui_galaxy-Ig0cc1_h.js +265 -0
  285. package/dist/vue_ui_gauge-Cf1RZc9q.js +178 -0
  286. package/dist/vue_ui_geo-B8TODs-G.js +248 -0
  287. package/dist/vue_ui_heatmap-B2BBBSWG.js +319 -0
  288. package/dist/vue_ui_history_plot-CuN63VEc.js +413 -0
  289. package/dist/vue_ui_horizontal_bar-C4J4QzXf.js +341 -0
  290. package/dist/vue_ui_molecule-CO9L59SF.js +231 -0
  291. package/dist/vue_ui_mood_radar-BA6LAKhk.js +281 -0
  292. package/dist/vue_ui_nested_donuts-B8csIoVO.js +273 -0
  293. package/dist/vue_ui_onion-1FTFFS46.js +293 -0
  294. package/dist/vue_ui_parallel_coordinate_plot-CBiOBira.js +278 -0
  295. package/dist/vue_ui_quadrant-CDSTKTJz.js +428 -0
  296. package/dist/vue_ui_quick_chart-mZBdml3Z.js +139 -0
  297. package/dist/vue_ui_radar-jafTED5j.js +306 -0
  298. package/dist/vue_ui_relation_circle-D0p4mXmv.js +98 -0
  299. package/dist/vue_ui_ridgeline-VM8_mx4J.js +767 -0
  300. package/dist/vue_ui_rings-BVgD2aMn.js +320 -0
  301. package/dist/vue_ui_scatter-I0POnicu.js +479 -0
  302. package/dist/vue_ui_spark_trend-DxVmpkmC.js +82 -0
  303. package/dist/vue_ui_sparkbar-z6qO--Kf.js +64 -0
  304. package/dist/vue_ui_sparkgauge-BX1MS3bA.js +90 -0
  305. package/dist/vue_ui_sparkhistogram-BRgvKUH6.js +123 -0
  306. package/dist/vue_ui_sparkline-auZhap6Y.js +151 -0
  307. package/dist/vue_ui_sparkstackbar-BOjuQnZd.js +175 -0
  308. package/dist/vue_ui_stackbar-COOrQQdK.js +412 -0
  309. package/dist/vue_ui_stackline-DQqKPA9z.js +460 -0
  310. package/dist/vue_ui_strip_plot-CtJe8_gq.js +301 -0
  311. package/dist/vue_ui_table_heatmap-w8vx5k6f.js +80 -0
  312. package/dist/vue_ui_table_sparkline-DAbkUrNz.js +124 -0
  313. package/dist/vue_ui_thermometer-DxgqWKlE.js +123 -0
  314. package/dist/vue_ui_tiremarks-CdEPieWV.js +122 -0
  315. package/dist/vue_ui_treemap-DoEtkRN6.js +328 -0
  316. package/dist/vue_ui_vertical_bar-CP-MKz1j.js +247 -0
  317. package/dist/vue_ui_waffle-DIARFc7g.js +292 -0
  318. package/dist/vue_ui_wheel-DZ_nR--t.js +133 -0
  319. package/dist/vue_ui_word_cloud-C-qIMNLu.js +254 -0
  320. package/dist/vue_ui_xy-BLUkWEAm.js +482 -0
  321. package/dist/vue_ui_xy_canvas-Cb6dg3eK.js +408 -0
  322. package/package.json +120 -120
@@ -0,0 +1,1235 @@
1
+ import { t as e } from "./rolldown-runtime-Dy4uBu1J.js";
2
+ import { Bt as t, Ct as n, Et as r, G as i, H as a, J as o, Rt as s, S as c, X as l, i as u, n as d, pt as f, r as p, t as m, v as h, x as g, y as _ } from "./lib-DUeYQsS0.js";
3
+ import { t as ee } from "./useConfig-DAyQk86L.js";
4
+ import { t as v } from "./usePrinter-C1Gqt_Sp.js";
5
+ import { n as y, t as b } from "./BaseScanner-Dr2a1Msy.js";
6
+ import { t as x } from "./useSvgExport-SVIsDot8.js";
7
+ import { t as S } from "./useNestedProp-CNcoy38D.js";
8
+ import { t as te } from "./useThemeCheck-C43Tcqmk.js";
9
+ import { t as ne } from "./img-1cKsci8e.js";
10
+ import { n as C } from "./Title-NWp4qB4K.js";
11
+ import { t as re } from "./_plugin-vue_export-helper-B3ysoDQm.js";
12
+ import { c as ie } from "./canvas-lib-BOP_HS11.js";
13
+ import { t as ae } from "./useResponsive-BfnK0KxU.js";
14
+ import { t as oe } from "./A11yDataTable-BCbtxMU6.js";
15
+ import { t as se } from "./useUserOptionState-DK-_1ddE.js";
16
+ import { t as ce } from "./useChartAccessibility-DYqac8yF.js";
17
+ import { t as le } from "./Legend-Cz2uQ5gs.js";
18
+ import { t as ue } from "./vue_ui_flow-BewZjjKG.js";
19
+ import { Fragment as de, Teleport as fe, computed as w, createBlock as T, createCommentVNode as E, createElementBlock as D, createElementVNode as O, createSlots as pe, createTextVNode as me, createVNode as he, defineAsyncComponent as k, guardReactiveProps as A, mergeProps as ge, nextTick as _e, normalizeClass as ve, normalizeProps as j, normalizeStyle as M, onMounted as ye, openBlock as N, ref as P, renderList as be, renderSlot as F, resolveDynamicComponent as xe, toDisplayString as Se, toRefs as Ce, unref as I, watch as we, withCtx as L } from "vue";
20
+ //#region src/components/vue-ui-flow.vue
21
+ var Te = /* @__PURE__ */ e({ default: () => Ke }), Ee = ["id"], De = ["id"], Oe = {
22
+ key: 2,
23
+ ref: "noTitle",
24
+ class: "vue-data-ui-no-title-space",
25
+ style: "height:36px; width: 100%;background:transparent"
26
+ }, ke = ["id"], Ae = { style: { position: "relative" } }, je = [
27
+ "xmlns",
28
+ "aria-describedby",
29
+ "viewBox"
30
+ ], Me = ["width", "height"], Ne = ["id"], Pe = ["stop-color"], Fe = ["stop-color"], Ie = [
31
+ "d",
32
+ "fill",
33
+ "stroke",
34
+ "stroke-width"
35
+ ], Le = [
36
+ "data-a11y-node-id",
37
+ "x",
38
+ "y",
39
+ "height",
40
+ "width",
41
+ "fill",
42
+ "stroke",
43
+ "stroke-width",
44
+ "rx",
45
+ "aria-label",
46
+ "onMouseenter",
47
+ "onMouseleave",
48
+ "onClick"
49
+ ], Re = { key: 1 }, ze = [
50
+ "x",
51
+ "y",
52
+ "font-size",
53
+ "fill"
54
+ ], Be = [
55
+ "x",
56
+ "y",
57
+ "font-size",
58
+ "fill"
59
+ ], Ve = {
60
+ key: 0,
61
+ style: {
62
+ position: "absolute",
63
+ top: "100%",
64
+ left: "0",
65
+ width: "100%"
66
+ },
67
+ "data-dom-to-png-ignore": "",
68
+ "aria-hidden": "true"
69
+ }, He = {
70
+ key: 5,
71
+ class: "vue-data-ui-watermark"
72
+ }, Ue = ["id"], We = ["onClick"], Ge = ["innerHTML"], Ke = /* @__PURE__ */ re({
73
+ __name: "vue-ui-flow",
74
+ props: {
75
+ config: {
76
+ type: Object,
77
+ default() {
78
+ return {};
79
+ }
80
+ },
81
+ dataset: {
82
+ type: Array,
83
+ default() {
84
+ return [];
85
+ }
86
+ }
87
+ },
88
+ emits: ["copyAlt"],
89
+ setup(e, { expose: re, emit: Te }) {
90
+ let Ke = k(() => import("./Tooltip-BENq327o.js")), qe = k(() => import("./BaseIcon-DfLoHNUj.js").then((e) => e.n)), Je = k(() => import("./vue-ui-accordion-Dw4MHKVB.js").then((e) => e.n)), Ye = k(() => import("./DataTable-B--IN22e.js")), Xe = k(() => import("./PenAndPaper-DqrClVfb.js").then((e) => e.t)), Ze = k(() => import("./UserOptions-C1NgoGu6.js").then((e) => e.n)), Qe = k(() => import("./PackageVersion-f0MuYk3R.js").then((e) => e.t)), $e = k(() => import("./BaseDraggableDialog-4hDW-Rj2.js").then((e) => e.n)), { vue_ui_flow: et } = ee(), { isThemeValid: tt, warnInvalidTheme: nt } = te(), R = e, rt = Te, z = P(a()), B = P(null), it = P(0), at = P(0), ot = P(!1), st = P(""), ct = P(null), lt = P(null), ut = P(null), dt = P(null), ft = P(null), pt = P(!1), mt = P(null), ht = P(null), gt = P(null), _t = P(!1), vt = P(!1), yt = P(null), V = P(null), bt = P({
91
+ x: 0,
92
+ y: 0
93
+ }), xt = P("pointer"), St = P(!1), Ct = w(() => !!R.dataset && R.dataset.length);
94
+ ye(() => {
95
+ pt.value = !0, At();
96
+ });
97
+ let H = P(!1);
98
+ function wt(e) {
99
+ H.value = e, it.value += 1;
100
+ }
101
+ let U = P(Pt()), W = w(() => U.value.userOptions.useCursorPointer), Tt = w(() => t({
102
+ defaultConfig: {
103
+ userOptions: { show: !1 },
104
+ nodeCategories: {
105
+ B: "A",
106
+ C: "B"
107
+ },
108
+ nodeCategoryColors: {
109
+ A: "#CACACA",
110
+ B: "#AAAAAA"
111
+ },
112
+ table: { show: !1 },
113
+ style: { chart: {
114
+ backgroundColor: "#99999930",
115
+ legend: { backgroundColor: "transparent" },
116
+ nodes: {
117
+ labels: { show: !1 },
118
+ stroke: "#666666"
119
+ },
120
+ links: { stroke: "#666666" }
121
+ } }
122
+ },
123
+ userConfig: U.value.skeletonConfig ?? {}
124
+ })), { loading: Et, FINAL_DATASET: Dt, manualLoading: Ot } = y({
125
+ ...Ce(R),
126
+ FINAL_CONFIG: U,
127
+ prepareConfig: Pt,
128
+ skeletonDataset: R.config?.skeletonDataset ?? [
129
+ [
130
+ "A",
131
+ "B",
132
+ 2,
133
+ "#CACACA"
134
+ ],
135
+ [
136
+ "B",
137
+ "C",
138
+ 1,
139
+ "#CACACA"
140
+ ],
141
+ [
142
+ "C",
143
+ "D",
144
+ .5,
145
+ "#CACACA"
146
+ ],
147
+ [
148
+ "E",
149
+ "F",
150
+ 1,
151
+ "#AAAAAA"
152
+ ],
153
+ [
154
+ "F",
155
+ "G",
156
+ .5,
157
+ "#AAAAAA"
158
+ ],
159
+ [
160
+ "G",
161
+ "H",
162
+ .25,
163
+ "#AAAAAA"
164
+ ]
165
+ ],
166
+ skeletonConfig: t({
167
+ defaultConfig: U.value,
168
+ userConfig: Tt.value
169
+ })
170
+ }), kt = w(() => !!U.value.debug);
171
+ function At() {
172
+ if (n(R.dataset) && (l({
173
+ componentName: "VueUiFlow",
174
+ type: "dataset",
175
+ debug: kt.value
176
+ }), Ot.value = !0), n(R.dataset) || (Ot.value = U.value.loading), U.value.responsive) {
177
+ let e = ie(() => {
178
+ let { width: e, height: t } = ae({
179
+ chart: B.value,
180
+ title: U.value.style.chart.title.text ? lt.value : null,
181
+ legend: U.value.style.chart.legend.show ? ct.value : null,
182
+ source: ut.value
183
+ });
184
+ requestAnimationFrame(() => {
185
+ Ft.value = e, It.value = t;
186
+ });
187
+ });
188
+ dt.value && (ft.value && dt.value.unobserve(ft.value), dt.value.disconnect()), dt.value = new ResizeObserver(e), ft.value = B.value.parentNode, dt.value.observe(ft.value);
189
+ }
190
+ }
191
+ let { userOptionsVisible: jt, setUserOptionsVisibility: Mt, keepUserOptionState: Nt } = se({ config: U.value }), { svgRef: G } = ce({ config: U.value.style.chart.title });
192
+ function Pt() {
193
+ let e = S({
194
+ userConfig: R.config,
195
+ defaultConfig: et
196
+ }), t = e, n = e.theme;
197
+ if (n) if (!tt.value(e)) nt(e), t = e;
198
+ else {
199
+ let i = S({
200
+ userConfig: ue[n] || R.config,
201
+ defaultConfig: e
202
+ });
203
+ t = {
204
+ ...S({
205
+ userConfig: R.config,
206
+ defaultConfig: i
207
+ }),
208
+ customPalette: e.customPalette.length ? e.customPalette : s[n] || r
209
+ };
210
+ }
211
+ else t = e;
212
+ return t.nodeCategories = R.config.nodeCategories || {}, t.nodeCategoryColors = R.config.nodeCategoryColors || {}, t;
213
+ }
214
+ let Ft = P(U.value.style.chart.width), It = P(U.value.style.chart.height);
215
+ we(() => R.config, (e) => {
216
+ Et.value || (U.value = Pt()), jt.value = !U.value.userOptions.showOnChartHover, At(), at.value += 1, K.value.showTable = U.value.table.show;
217
+ }, { deep: !0 }), we(() => R.dataset, (e) => {
218
+ Array.isArray(e) && e.length > 0 && (Ot.value = !1);
219
+ }, { deep: !0 });
220
+ let { isPrinting: Lt, isImaging: Rt, generatePdf: zt, generateImage: Bt } = v({
221
+ elementId: `flow_${z.value}`,
222
+ fileName: U.value.style.chart.title.text || "vue-ui-flow",
223
+ options: U.value.userOptions.print
224
+ }), Vt = w(() => U.value.userOptions.show && !U.value.style.chart.title.text), Ht = w(() => g(U.value.customPalette)), Ut = w(() => U.value.style.chart.nodes.width), K = P({
225
+ showTable: U.value.table.show,
226
+ showTooltip: U.value.style.chart.tooltip.show
227
+ });
228
+ we(U, () => {
229
+ K.value = {
230
+ showTable: U.value.table.show,
231
+ showTooltip: U.value.style.chart.tooltip.show
232
+ };
233
+ }, { immediate: !0 });
234
+ let Wt = w(() => !Dt.value || !Dt.value.length ? [] : Dt.value.map((e, t) => [
235
+ e[0],
236
+ e[1],
237
+ h(e[2]),
238
+ e[3] ? _(e[3]) : Ht.value[t] || Ht.value[t % Ht.value.length] || r[t] || r[t % r.length]
239
+ ]));
240
+ function Gt(e) {
241
+ let t = {}, n = {};
242
+ function i(e, r) {
243
+ t[e] || (t[e] = {
244
+ level: null,
245
+ inflow: 0,
246
+ outflow: 0,
247
+ children: [],
248
+ color: null,
249
+ uid: a()
250
+ }), t[e].level === null && (t[e].level = r), n[r] || (n[r] = []), n[r].includes(e) || n[r].push(e);
251
+ }
252
+ e.forEach(([e, n, r]) => {
253
+ let a = t[e]?.level ?? 0, o = a + 1;
254
+ i(e, a), i(n, o), t[e].children.push({
255
+ target: n,
256
+ value: r
257
+ }), t[e].outflow += r, t[n].inflow += r;
258
+ });
259
+ let o = new Set(e.map(([e]) => e)), s = new Set(e.map(([, e]) => e)), c = Array.from(o).filter((e) => !s.has(e)), l = {};
260
+ c.forEach((e, t) => {
261
+ l[e] = Ht.value[t] || r[t % r.length];
262
+ });
263
+ let u = {};
264
+ e.forEach(([e, t, n, r]) => {
265
+ r && (u[e] = r, u[t] = r);
266
+ }), Object.keys(t).forEach((e, n) => {
267
+ let i = U.value.nodeCategories?.[e], a = i ? U.value.nodeCategoryColors?.[i] : null;
268
+ t[e].color = u[e] || a || (c.includes(e) ? l[e] : null) || r[n % r.length];
269
+ }), Object.keys(t).forEach((e) => {
270
+ t[e].value = Math.max(t[e].inflow, t[e].outflow);
271
+ });
272
+ let d = Jt.value, f = Yt.value.width, p = Yt.value.height, m = Object.keys(n).map(Number).sort((e, t) => e - t), g = m.length || 1, _ = g > 1 ? f / (g - 1) : 0, ee = Number(Ut.value), v = Number(U.value.style.chart.nodes.gapPx ?? U.value.style.chart.nodes.gap ?? 8), y = Number(U.value.style.chart.nodes.minHeight || 0);
273
+ function b(e) {
274
+ let r = n[e], i = r.length;
275
+ if (!i) return Infinity;
276
+ let a = Math.max(0, (i - 1) * v), o = Math.max(0, p - a), s = Math.min(y, i ? o / i : 0), c = 0, l = r.map((e) => t[e].value || 0), u = l.reduce((e, t) => e + t, 0);
277
+ for (let e = 0; e < 12; e += 1) {
278
+ let e = u > 0 ? (o - c) / u : 0, t = [];
279
+ for (let n = 0; n < l.length; n += 1) {
280
+ let r = l[n];
281
+ r < 0 || r * e < s && t.push(n);
282
+ }
283
+ if (!t.length) return Math.max(0, e);
284
+ for (let e of t) c += s, u -= l[e], l[e] = -1;
285
+ if (u <= 0) return 0;
286
+ }
287
+ return u > 0 ? Math.max(0, (o - c) / u) : 0;
288
+ }
289
+ let x = m.map(b), S = x.length ? Math.min(...x) : 0, te = {};
290
+ m.forEach((e) => {
291
+ let r = n[e], i = r.length, o = Math.max(0, (i - 1) * v), s = Math.max(0, p - o), c = Math.min(y, i ? s / i : 0), l = r.map((e) => Math.max(c, (t[e].value || 0) * S)), u = l.reduce((e, t) => e + t, 0) + o, f = Math.max(0, (p - u) / 2);
292
+ r.forEach((n, r) => {
293
+ let o = l[r], s = d.left + e * _, c = f;
294
+ te[n] = {
295
+ x: s,
296
+ y: c,
297
+ absoluteY: c,
298
+ height: o,
299
+ i: r,
300
+ color: t[n].color,
301
+ value: t[n].value,
302
+ id: a()
303
+ }, f += o, r < i - 1 && (f += v);
304
+ });
305
+ });
306
+ let ne = [], C = d.top, re = {}, ie = {};
307
+ Object.keys(t).forEach((e) => {
308
+ re[e] = te[e]?.y ?? 0, ie[e] = 0;
309
+ });
310
+ let ae = !!U.value.style.chart.links.smooth, oe = .5;
311
+ return m.forEach((e) => {
312
+ n[e].forEach((e) => {
313
+ let n = t[e], r = te[e];
314
+ if (!n.children || !n.children.length) return;
315
+ let i = r.y;
316
+ n.children.forEach(({ target: o, value: s }) => {
317
+ let c = te[o], l = t[o], u = n.outflow > 0 ? s / n.outflow : 0, d = l.inflow > 0 ? s / l.inflow : 0, f = h(i + C), p = h(i + u * r.height + C), m = re[o], g = m + d * c.height;
318
+ ie[o] += s;
319
+ let _ = l.inflow > 0 && ie[o] >= l.inflow - 1e-6, v = c.y + c.height;
320
+ (_ || g > v - .25) && (g = v);
321
+ let y = h(m + C), b = h(g + C), x = h(r.x + ee), S = h(c.x), se;
322
+ if (!ae || S <= x) se = `M ${x} ${f} L ${x} ${p} L ${S} ${b} L ${S} ${y} Z`;
323
+ else {
324
+ let e = S - x, t = h(x + e * oe), n = h(S - e * oe), r = f, i = y, a = p, o = b;
325
+ se = `M ${x} ${r} C ${t} ${r}, ${n} ${i}, ${S} ${i} L ${S} ${o} C ${n} ${o}, ${t} ${a}, ${x} ${a} Z`;
326
+ }
327
+ ne.push({
328
+ id: a(),
329
+ source: e,
330
+ target: o,
331
+ path: se,
332
+ value: s,
333
+ sourceColor: n.color,
334
+ targetColor: t[o].color
335
+ }), i = p - C, re[o] = g;
336
+ });
337
+ });
338
+ }), {
339
+ nodeCoordinates: te,
340
+ links: ne
341
+ };
342
+ }
343
+ let q = w(() => {
344
+ let e = Gt(Dt.value);
345
+ return {
346
+ nodes: Object.keys(e.nodeCoordinates).map((t, n) => ({
347
+ ...e.nodeCoordinates[t],
348
+ name: t
349
+ })),
350
+ links: e.links
351
+ };
352
+ }), Kt = w(() => Ft.value), qt = w(() => It.value), Jt = w(() => U.value.style.chart.padding), Yt = w(() => ({
353
+ width: Math.max(0, Kt.value - 40 - Jt.value.right - Jt.value.left),
354
+ height: Math.max(0, qt.value - Jt.value.top - Jt.value.bottom)
355
+ })), Xt = w(() => ({
356
+ width: Kt.value,
357
+ height: qt.value
358
+ }));
359
+ function Zt(e) {
360
+ let t = {}, n = {}, r = /* @__PURE__ */ new Set();
361
+ return Wt.value.forEach(([e, r, i]) => {
362
+ t[e] || (t[e] = []), n[r] || (n[r] = []), t[e].push(r), n[r].push(e);
363
+ }), t[e] && t[e].forEach((e) => r.add(e)), n[e] && n[e].forEach((e) => r.add(e)), Array.from(r).concat(e);
364
+ }
365
+ let J = P(null), Y = P(null), X = P(null), Qt = P(!1), $t = P(null);
366
+ function en() {
367
+ $t.value = null, J.value = null, Y.value = null, ot.value = !1, yt.value = null, V.value = null;
368
+ }
369
+ function tn(e) {
370
+ if (!G.value || !e) return;
371
+ let t = G.value.querySelector(`[data-a11y-node-id="${e}"]`);
372
+ if (!t) return;
373
+ let n = t.getBoundingClientRect();
374
+ bt.value = {
375
+ x: n.left + n.width / 2,
376
+ y: n.top + n.height / 2
377
+ };
378
+ }
379
+ function nn(e, t, n = "pointer", r = null) {
380
+ $.value = [], J.value = Zt(e.name), Y.value = e.name, $t.value = e.id, xt.value = n, yt.value = r, V.value = e.id;
381
+ let a = e.name, o = Wt.value, s = 0, c = 0, l = [], d = [], p = new Set(o.map(([e]) => e)), m = new Set(o.map(([, e]) => e)), h = Array.from(p).filter((e) => !m.has(e)), g = o.filter(([e]) => h.includes(e)).reduce((e, [t, n, r]) => e + r, 0), _ = {};
382
+ q.value.nodes.forEach((e) => {
383
+ _[e.name] = e.color;
384
+ }), o.forEach(([e, t, n]) => {
385
+ t === a && (s += n, l.push({
386
+ source: e,
387
+ value: n,
388
+ color: _[e]
389
+ })), e === a && (c += n, d.push({
390
+ target: t,
391
+ value: n,
392
+ color: _[t]
393
+ }));
394
+ });
395
+ let ee = g > 0 ? Math.max(s, c) / g * 100 : 0, v = {
396
+ name: a,
397
+ inflow: s,
398
+ outflow: c,
399
+ from: l,
400
+ to: d,
401
+ percentOfTotal: ee,
402
+ color: _[a] || "#000000"
403
+ };
404
+ U.value.events.datapointEnter && U.value.events.datapointEnter({
405
+ datapoint: v,
406
+ seriesIndex: t
407
+ }), X.value = {
408
+ datapoint: v,
409
+ config: U.value,
410
+ seriesIndex: t,
411
+ series: q.value
412
+ }, ot.value = !0;
413
+ let y = "", b = U.value.style.chart.tooltip.customFormat;
414
+ if (Qt.value = !1, f(b)) try {
415
+ let e = b({
416
+ datapoint: v,
417
+ series: q.value,
418
+ config: U.value
419
+ });
420
+ typeof e == "string" && (st.value = e, Qt.value = !0);
421
+ } catch {
422
+ console.warn("Custom format cannot be applied.");
423
+ }
424
+ if (!Qt.value) {
425
+ let e = U.value.style.chart.tooltip.showPercentage ? `<div>${i({
426
+ p: U.value.style.chart.tooltip.translations.percentOfTotal,
427
+ v: v.percentOfTotal,
428
+ s: "%",
429
+ r: U.value.style.chart.tooltip.roundingPercentage
430
+ })}</div>` : "";
431
+ y += `<div style="width:100%;text-align:center;border-bottom:1px solid ${U.value.style.chart.tooltip.borderColor};padding-bottom:6px;margin-bottom:3px;"><span style="margin-right:4px; color:${v.color}">⏹</span>${v.name}${e}</div>`, v.from.length && (y += `<div>${U.value.style.chart.tooltip.translations.from}</div>`, v.from.forEach((e) => {
432
+ y += `<div><span style="color:${e.color}">⏹←</span> ${e.source}: ${u(U.value.style.chart.nodes.labels.formatter, e.value, i({
433
+ p: U.value.style.chart.nodes.labels.prefix,
434
+ v: e.value,
435
+ s: U.value.style.chart.nodes.labels.suffix,
436
+ r: U.value.style.chart.nodes.labels.rounding
437
+ }))}</div>`;
438
+ })), v.to.length && (y += `<div style="margin-top:6px;">${U.value.style.chart.tooltip.translations.to}</div>`, v.to.forEach((e) => {
439
+ y += `<div><span style="color:${e.color}">⏹→</span> ${e.target}: ${u(U.value.style.chart.nodes.labels.formatter, e.value, i({
440
+ p: U.value.style.chart.nodes.labels.prefix,
441
+ v: e.value,
442
+ s: U.value.style.chart.nodes.labels.suffix,
443
+ r: U.value.style.chart.nodes.labels.rounding
444
+ }))}</div>`;
445
+ })), st.value = y;
446
+ }
447
+ n === "keyboard" && _e(() => {
448
+ tn(e.id);
449
+ });
450
+ }
451
+ function rn(e) {
452
+ let t = X.value;
453
+ U.value.events.datapointLeave && U.value.events.datapointLeave({
454
+ datapoint: t,
455
+ seriesIndex: e
456
+ }), !(xt.value === "keyboard" && V.value) && ($t.value = null, J.value = null, Y.value = null, ot.value = !1);
457
+ }
458
+ function an(e) {
459
+ let t = X.value;
460
+ U.value.events.datapointClick && U.value.events.datapointClick({
461
+ datapoint: t,
462
+ seriesIndex: e
463
+ });
464
+ }
465
+ let on = w(() => q.value.links.map(({ source: e, target: t, sourceColor: n, targetColor: r, value: i }) => ({
466
+ source: e,
467
+ target: t,
468
+ sourceColor: n,
469
+ targetColor: r,
470
+ value: i
471
+ })));
472
+ function sn(e = null) {
473
+ _e(() => {
474
+ let t = on.value.map((e, t) => [
475
+ [e.source],
476
+ [e.target],
477
+ [e.value]
478
+ ]), n = c([
479
+ [U.value.style.chart.title.text],
480
+ [U.value.style.chart.title.subtitle.text],
481
+ [
482
+ [U.value.table.columnNames.source],
483
+ [U.value.table.columnNames.target],
484
+ [U.value.table.columnNames.value]
485
+ ]
486
+ ].concat(t));
487
+ e ? e(n) : o({
488
+ csvContent: n,
489
+ title: U.value.style.chart.title.text || "vue-ui-flow"
490
+ });
491
+ });
492
+ }
493
+ let Z = w(() => {
494
+ let e = [
495
+ U.value.table.columnNames.source,
496
+ U.value.table.columnNames.target,
497
+ U.value.table.columnNames.value
498
+ ], t = on.value.map((e, t) => [
499
+ {
500
+ color: e.sourceColor,
501
+ name: e.source,
502
+ shape: "square"
503
+ },
504
+ {
505
+ color: e.targetColor,
506
+ name: e.target,
507
+ shape: "square"
508
+ },
509
+ i({
510
+ p: U.value.style.chart.nodes.labels.prefix,
511
+ v: e.value,
512
+ s: U.value.style.chart.nodes.labels.suffix,
513
+ r: U.value.style.chart.nodes.labels.rounding
514
+ })
515
+ ]), n = {
516
+ th: {
517
+ backgroundColor: U.value.table.th.backgroundColor,
518
+ color: U.value.table.th.color,
519
+ outline: U.value.table.th.outline
520
+ },
521
+ td: {
522
+ backgroundColor: U.value.table.td.backgroundColor,
523
+ color: U.value.table.td.color,
524
+ outline: U.value.table.td.outline
525
+ },
526
+ breakpoint: U.value.table.responsiveBreakpoint
527
+ };
528
+ return {
529
+ colNames: [
530
+ U.value.table.columnNames.source,
531
+ U.value.table.columnNames.target,
532
+ U.value.table.columnNames.value
533
+ ],
534
+ head: e,
535
+ body: t,
536
+ config: n
537
+ };
538
+ }), cn = w(() => ({
539
+ headers: Z.value?.colNames ?? [],
540
+ rows: Z.value?.body ?? []
541
+ })), ln = w(() => [...q.value.nodes].map((e, t) => ({
542
+ ...e,
543
+ index: t,
544
+ centerX: e.x + Ut.value / 2,
545
+ centerY: h(e.absoluteY) + U.value.style.chart.padding.top + e.height / 2
546
+ })).sort((e, t) => e.x === t.x ? e.absoluteY - t.absoluteY : e.x - t.x)), Q = w(() => {
547
+ let e = [];
548
+ return ln.value.forEach((t) => {
549
+ let n = e.find((e) => Math.abs(e.x - t.x) <= 1);
550
+ n ? n.nodes.push(t) : e.push({
551
+ x: t.x,
552
+ nodes: [t]
553
+ });
554
+ }), e.forEach((e) => {
555
+ e.nodes.sort((e, t) => e.absoluteY - t.absoluteY);
556
+ }), e.sort((e, t) => e.x - t.x);
557
+ }), un = w(() => {
558
+ let e = /* @__PURE__ */ new Map();
559
+ return ln.value.forEach((t, n) => {
560
+ e.set(t.id, n);
561
+ }), e;
562
+ });
563
+ function dn() {
564
+ return q.value;
565
+ }
566
+ function fn() {
567
+ K.value.showTable = !K.value.showTable;
568
+ }
569
+ let pn = P(!1);
570
+ function mn() {
571
+ pn.value = !pn.value;
572
+ }
573
+ function hn() {
574
+ K.value.showTooltip = !K.value.showTooltip;
575
+ }
576
+ let gn = w(() => {
577
+ let e = new Set(q.value.nodes.map((e) => U.value.nodeCategories[e.name] || "__uncategorized__"));
578
+ return Array.from(e).map((e) => ({
579
+ name: e,
580
+ color: U.value.nodeCategoryColors[e] || r[0],
581
+ shape: "square",
582
+ count: q.value.nodes.filter((t) => (U.value.nodeCategories[t.name] || "__uncategorized__") === e).length
583
+ })).map((e, t) => {
584
+ let n = $.value.includes(t);
585
+ return {
586
+ ...e,
587
+ segregate: () => vn({
588
+ legend: e,
589
+ i: t
590
+ }),
591
+ isSegregated: n,
592
+ opacity: $.value.length ? n ? 1 : .5 : 1,
593
+ display: `${e.name} (${e.count})`
594
+ };
595
+ });
596
+ }), _n = w(() => gn.value.filter((e) => e.name !== "__uncategorized__")), $ = P([]);
597
+ function vn({ legend: e, i: t }) {
598
+ let n = e.name;
599
+ if (J.value?.every((e) => U.value.nodeCategories[e] === n)) {
600
+ J.value = null, Y.value = null, $.value = [];
601
+ return;
602
+ }
603
+ $.value = [t], J.value = q.value.nodes.filter((e) => U.value.nodeCategories[e.name] === n).map((e) => e.name), Y.value = null;
604
+ }
605
+ let yn = w(() => ({
606
+ cy: "flow-legend",
607
+ backgroundColor: U.value.style.chart.legend.backgroundColor,
608
+ color: U.value.style.chart.legend.color,
609
+ fontSize: U.value.style.chart.legend.fontSize,
610
+ paddingBottom: U.value.style.chart.legend.paddingBottom,
611
+ fontWeight: U.value.style.chart.legend.bold ? "bold" : "normal"
612
+ }));
613
+ async function bn({ scale: e = 2 } = {}) {
614
+ if (!B.value) return;
615
+ let { width: t, height: n } = B.value.getBoundingClientRect(), r = t / n, { imageUri: i, base64: a } = await ne({
616
+ domElement: B.value,
617
+ base64: !0,
618
+ img: !0,
619
+ scale: e
620
+ });
621
+ return {
622
+ imageUri: i,
623
+ base64: a,
624
+ title: U.value.style.chart.title.text,
625
+ width: t,
626
+ height: n,
627
+ aspectRatio: r
628
+ };
629
+ }
630
+ let xn = w(() => {
631
+ let e = U.value.table.useDialog && !U.value.table.show, t = K.value.showTable;
632
+ return {
633
+ component: e ? $e : Je,
634
+ title: `${U.value.style.chart.title.text}${U.value.style.chart.title.subtitle.text ? `: ${U.value.style.chart.title.subtitle.text}` : ""}`,
635
+ props: e ? {
636
+ backgroundColor: U.value.table.th.backgroundColor,
637
+ color: U.value.table.th.color,
638
+ headerColor: U.value.table.th.color,
639
+ headerBg: U.value.table.th.backgroundColor,
640
+ isFullscreen: H.value,
641
+ fullscreenParent: B.value,
642
+ forcedWidth: Math.min(800, window.innerWidth * .8),
643
+ isCursorPointer: W.value
644
+ } : {
645
+ hideDetails: !0,
646
+ config: {
647
+ open: t,
648
+ maxHeight: 1e4,
649
+ body: {
650
+ backgroundColor: U.value.style.chart.backgroundColor,
651
+ color: U.value.style.chart.color
652
+ },
653
+ head: {
654
+ backgroundColor: U.value.style.chart.backgroundColor,
655
+ color: U.value.style.chart.color
656
+ }
657
+ }
658
+ }
659
+ };
660
+ });
661
+ we(() => K.value.showTable, (e) => {
662
+ U.value.table.show || (e && U.value.table.useDialog && mt.value ? mt.value.open() : "close" in mt.value && mt.value.close());
663
+ });
664
+ function Sn() {
665
+ K.value.showTable = !1, ht.value && ht.value.setTableIconState(!1);
666
+ }
667
+ let Cn = w(() => _n.value.map((e) => ({
668
+ ...e,
669
+ name: e.display
670
+ }))), wn = w(() => U.value.style.chart.backgroundColor), Tn = w(() => U.value.style.chart.legend), { exportSvg: En, getSvg: Dn } = x({
671
+ svg: G,
672
+ title: w(() => U.value.style.chart.title),
673
+ legend: Tn,
674
+ legendItems: Cn,
675
+ backgroundColor: wn
676
+ });
677
+ async function On({ isCb: e }) {
678
+ vt.value = !0, await _e();
679
+ try {
680
+ if (e) {
681
+ let { blob: e, url: t, text: n, dataUrl: r } = await Dn();
682
+ await Promise.resolve(U.value.userOptions.callbacks.svg({
683
+ blob: e,
684
+ url: t,
685
+ text: n,
686
+ dataUrl: r
687
+ }));
688
+ } else await Promise.resolve(En());
689
+ } finally {
690
+ vt.value = !1;
691
+ }
692
+ }
693
+ function kn(e) {
694
+ if (e?.stage === "start") {
695
+ _t.value = !0;
696
+ return;
697
+ }
698
+ if (e?.stage === "end") {
699
+ _t.value = !1;
700
+ return;
701
+ }
702
+ Bt();
703
+ }
704
+ async function An() {
705
+ if (rt("copyAlt", {
706
+ config: U.value,
707
+ dataset: q.value
708
+ }), !U.value.userOptions.callbacks.altCopy) {
709
+ console.warn("Vue Data UI - A callback must be set for `altCopy` in userOptions.");
710
+ return;
711
+ }
712
+ await Promise.resolve(U.value.userOptions.callbacks.altCopy({
713
+ config: U.value,
714
+ dataset: q.value
715
+ }));
716
+ }
717
+ function jn(e) {
718
+ return Q.value.findIndex((t) => t.nodes.some((t) => t.id === e));
719
+ }
720
+ function Mn(e, t) {
721
+ let n = Q.value[e];
722
+ return n ? n.nodes.findIndex((e) => e.id === t) : -1;
723
+ }
724
+ function Nn(e, t) {
725
+ let n = Q.value[e];
726
+ if (!n || !n.nodes.length) return null;
727
+ let r = n.nodes[0], i = Math.abs(r.centerY - t);
728
+ for (let e = 1; e < n.nodes.length; e += 1) {
729
+ let a = n.nodes[e], o = Math.abs(a.centerY - t);
730
+ o < i && (r = a, i = o);
731
+ }
732
+ return r;
733
+ }
734
+ function Pn() {
735
+ yt.value = null, V.value = null, St.value = !0;
736
+ }
737
+ function Fn() {
738
+ en(), St.value = !1;
739
+ }
740
+ function In(e) {
741
+ if (!G.value || pn.value || document.activeElement !== G.value || !ln.value.length) return;
742
+ let t = e.key === "ArrowLeft", n = e.key === "ArrowRight", r = e.key === "ArrowUp", i = e.key === "ArrowDown", a = e.key === "Enter" || e.key === " ", o = e.key === "Escape";
743
+ if (!t && !n && !r && !i && !a && !o) return;
744
+ if (e.preventDefault(), e.stopPropagation(), o) {
745
+ en();
746
+ return;
747
+ }
748
+ if (a) {
749
+ if (yt.value === null) return;
750
+ an(yt.value);
751
+ return;
752
+ }
753
+ if (V.value === null) {
754
+ let e = Q.value[0]?.nodes?.[0];
755
+ if (!e) return;
756
+ let t = un.value.get(e.id) ?? 0;
757
+ nn(e, t, "keyboard", t);
758
+ return;
759
+ }
760
+ let s = un.value.get(V.value);
761
+ if (s === void 0) return;
762
+ let c = ln.value[s];
763
+ if (!c) return;
764
+ let l = jn(c.id);
765
+ if (l < 0) return;
766
+ let u = null;
767
+ if (r || i) {
768
+ let e = Mn(l, c.id);
769
+ if (e < 0) return;
770
+ let t = Q.value[l];
771
+ if (!t?.nodes?.length) return;
772
+ let n = e + (i ? 1 : -1);
773
+ n < 0 && (n = t.nodes.length - 1), n >= t.nodes.length && (n = 0), u = t.nodes[n];
774
+ }
775
+ if (t || n) {
776
+ let e = l + (n ? 1 : -1);
777
+ e < 0 && (e = Q.value.length - 1), e >= Q.value.length && (e = 0), u = Nn(e, c.centerY);
778
+ }
779
+ if (!u) return;
780
+ let d = un.value.get(u.id);
781
+ d !== void 0 && nn(u, d, "keyboard", d);
782
+ }
783
+ return re({
784
+ getData: dn,
785
+ getImage: bn,
786
+ generateCsv: sn,
787
+ generateImage: Bt,
788
+ generateSvg: On,
789
+ generatePdf: zt,
790
+ toggleTable: fn,
791
+ toggleAnnotator: mn,
792
+ toggleTooltip: hn,
793
+ drillCategory: vn,
794
+ unselectNode: rn,
795
+ toggleFullscreen: wt,
796
+ copyAlt: An
797
+ }), (e, t) => (N(), D("div", {
798
+ ref_key: "flowChart",
799
+ ref: B,
800
+ class: ve(`vue-data-ui-component vue-ui-flow ${H.value ? "vue-data-ui-wrapper-fullscreen" : ""}`),
801
+ style: M(`font-family:${U.value.style.fontFamily};width:100%; text-align:center;background:${U.value.style.chart.backgroundColor}`),
802
+ id: `flow_${z.value}`,
803
+ onMouseenter: t[2] ||= () => I(Mt)(!0),
804
+ onMouseleave: t[3] ||= () => {
805
+ I(Mt)(!1), St.value || en();
806
+ }
807
+ }, [
808
+ O("div", {
809
+ id: `chart-instructions-${z.value}`,
810
+ class: "sr-only"
811
+ }, [O("p", null, Se(U.value.a11y.translations.keyboardNavigation), 1)], 8, De),
812
+ cn.value?.rows?.length ? (N(), T(oe, {
813
+ key: 0,
814
+ uid: z.value,
815
+ head: cn.value.headers,
816
+ body: cn.value.rows,
817
+ notice: U.value.a11y.translations.tableAvailable,
818
+ caption: U.value.a11y.translations.tableCaption
819
+ }, null, 8, [
820
+ "uid",
821
+ "head",
822
+ "body",
823
+ "notice",
824
+ "caption"
825
+ ])) : E("", !0),
826
+ U.value.userOptions.buttons.annotator ? (N(), T(I(Xe), {
827
+ key: 1,
828
+ svgRef: I(G),
829
+ backgroundColor: U.value.style.chart.backgroundColor,
830
+ color: U.value.style.chart.color,
831
+ active: pn.value,
832
+ onClose: mn,
833
+ isCursorPointer: W.value
834
+ }, {
835
+ "annotator-action-close": L(() => [F(e.$slots, "annotator-action-close", {}, void 0, !0)]),
836
+ "annotator-action-color": L(({ color: t }) => [F(e.$slots, "annotator-action-color", j(A({ color: t })), void 0, !0)]),
837
+ "annotator-action-draw": L(({ mode: t }) => [F(e.$slots, "annotator-action-draw", j(A({ mode: t })), void 0, !0)]),
838
+ "annotator-action-undo": L(({ disabled: t }) => [F(e.$slots, "annotator-action-undo", j(A({ disabled: t })), void 0, !0)]),
839
+ "annotator-action-redo": L(({ disabled: t }) => [F(e.$slots, "annotator-action-redo", j(A({ disabled: t })), void 0, !0)]),
840
+ "annotator-action-delete": L(({ disabled: t }) => [F(e.$slots, "annotator-action-delete", j(A({ disabled: t })), void 0, !0)]),
841
+ _: 3
842
+ }, 8, [
843
+ "svgRef",
844
+ "backgroundColor",
845
+ "color",
846
+ "active",
847
+ "isCursorPointer"
848
+ ])) : E("", !0),
849
+ Vt.value ? (N(), D("div", Oe, null, 512)) : E("", !0),
850
+ U.value.style.chart.title.text ? (N(), D("div", {
851
+ key: 3,
852
+ ref_key: "chartTitle",
853
+ ref: lt,
854
+ style: "width:100%;background:transparent;padding-bottom:24px"
855
+ }, [(N(), T(C, {
856
+ key: `title_${at.value}`,
857
+ config: {
858
+ title: {
859
+ cy: "flow-title",
860
+ ...U.value.style.chart.title
861
+ },
862
+ subtitle: {
863
+ cy: "flow-subtitle",
864
+ ...U.value.style.chart.title.subtitle
865
+ }
866
+ }
867
+ }, null, 8, ["config"]))], 512)) : E("", !0),
868
+ O("div", { id: `legend-top-${z.value}` }, null, 8, ke),
869
+ U.value.userOptions.show && Ct.value && (I(Nt) || I(jt)) ? (N(), T(I(Ze), {
870
+ ref_key: "userOptionsRef",
871
+ ref: ht,
872
+ key: `user_option_${it.value}`,
873
+ backgroundColor: U.value.style.chart.backgroundColor,
874
+ color: U.value.style.chart.color,
875
+ isPrinting: I(Lt),
876
+ isImaging: I(Rt),
877
+ uid: z.value,
878
+ hasPdf: U.value.userOptions.buttons.pdf,
879
+ hasXls: U.value.userOptions.buttons.csv,
880
+ hasImg: U.value.userOptions.buttons.img,
881
+ hasSvg: U.value.userOptions.buttons.svg,
882
+ hasTable: U.value.userOptions.buttons.table,
883
+ callbacks: U.value.userOptions.callbacks,
884
+ hasFullscreen: U.value.userOptions.buttons.fullscreen,
885
+ hasAltCopy: U.value.userOptions.buttons.altCopy,
886
+ isFullscreen: H.value,
887
+ titles: { ...U.value.userOptions.buttonTitles },
888
+ chartElement: B.value,
889
+ position: U.value.userOptions.position,
890
+ hasAnnotator: U.value.userOptions.buttons.annotator,
891
+ printScale: U.value.userOptions.print.scale,
892
+ isAnnotation: pn.value,
893
+ hasTooltip: U.value.style.chart.tooltip.show && U.value.userOptions.buttons.tooltip,
894
+ isTooltip: K.value.showTooltip,
895
+ tableDialog: U.value.table.useDialog,
896
+ isCursorPointer: W.value,
897
+ onToggleTooltip: hn,
898
+ onToggleFullscreen: wt,
899
+ onGeneratePdf: I(zt),
900
+ onGenerateCsv: sn,
901
+ onGenerateImage: kn,
902
+ onGenerateSvg: On,
903
+ onToggleTable: fn,
904
+ onToggleAnnotator: mn,
905
+ onCopyAlt: An,
906
+ style: M({ visibility: I(Nt) ? I(jt) ? "visible" : "hidden" : "visible" })
907
+ }, pe({ _: 2 }, [
908
+ e.$slots.menuIcon ? {
909
+ name: "menuIcon",
910
+ fn: L(({ isOpen: t, color: n }) => [F(e.$slots, "menuIcon", j(A({
911
+ isOpen: t,
912
+ color: n
913
+ })), void 0, !0)]),
914
+ key: "0"
915
+ } : void 0,
916
+ e.$slots.optionTooltip ? {
917
+ name: "optionTooltip",
918
+ fn: L(() => [F(e.$slots, "optionTooltip", {}, void 0, !0)]),
919
+ key: "1"
920
+ } : void 0,
921
+ e.$slots.optionPdf ? {
922
+ name: "optionPdf",
923
+ fn: L(() => [F(e.$slots, "optionPdf", {}, void 0, !0)]),
924
+ key: "2"
925
+ } : void 0,
926
+ e.$slots.optionCsv ? {
927
+ name: "optionCsv",
928
+ fn: L(() => [F(e.$slots, "optionCsv", {}, void 0, !0)]),
929
+ key: "3"
930
+ } : void 0,
931
+ e.$slots.optionImg ? {
932
+ name: "optionImg",
933
+ fn: L(() => [F(e.$slots, "optionImg", {}, void 0, !0)]),
934
+ key: "4"
935
+ } : void 0,
936
+ e.$slots.optionSvg ? {
937
+ name: "optionSvg",
938
+ fn: L(() => [F(e.$slots, "optionSvg", {}, void 0, !0)]),
939
+ key: "5"
940
+ } : void 0,
941
+ e.$slots.optionTable ? {
942
+ name: "optionTable",
943
+ fn: L(() => [F(e.$slots, "optionTable", {}, void 0, !0)]),
944
+ key: "6"
945
+ } : void 0,
946
+ e.$slots.optionFullscreen ? {
947
+ name: "optionFullscreen",
948
+ fn: L(({ toggleFullscreen: t, isFullscreen: n }) => [F(e.$slots, "optionFullscreen", j(A({
949
+ toggleFullscreen: t,
950
+ isFullscreen: n
951
+ })), void 0, !0)]),
952
+ key: "7"
953
+ } : void 0,
954
+ e.$slots.optionAnnotator ? {
955
+ name: "optionAnnotator",
956
+ fn: L(({ toggleAnnotator: t, isAnnotator: n }) => [F(e.$slots, "optionAnnotator", j(A({
957
+ toggleAnnotator: t,
958
+ isAnnotator: n
959
+ })), void 0, !0)]),
960
+ key: "8"
961
+ } : void 0,
962
+ e.$slots.optionAltCopy ? {
963
+ name: "optionAltCopy",
964
+ fn: L(({ altCopy: t }) => [F(e.$slots, "optionAltCopy", j(A({ altCopy: t })), void 0, !0)]),
965
+ key: "9"
966
+ } : void 0,
967
+ e.$slots["custom-menu-before"] ? {
968
+ name: "custom-menu-before",
969
+ fn: L(() => [F(e.$slots, "custom-menu-before", {}, void 0, !0)]),
970
+ key: "10"
971
+ } : void 0,
972
+ e.$slots["custom-menu-after"] ? {
973
+ name: "custom-menu-after",
974
+ fn: L(() => [F(e.$slots, "custom-menu-after", {}, void 0, !0)]),
975
+ key: "11"
976
+ } : void 0
977
+ ]), 1032, /* @__PURE__ */ "backgroundColor.color.isPrinting.isImaging.uid.hasPdf.hasXls.hasImg.hasSvg.hasTable.callbacks.hasFullscreen.hasAltCopy.isFullscreen.titles.chartElement.position.hasAnnotator.printScale.isAnnotation.hasTooltip.isTooltip.tableDialog.isCursorPointer.onGeneratePdf.style".split("."))) : E("", !0),
978
+ O("div", Ae, [(N(), D("svg", {
979
+ ref_key: "svgRef",
980
+ ref: G,
981
+ xmlns: I(m),
982
+ "aria-describedby": `chart-instructions-${z.value}`,
983
+ viewBox: `0 0 ${Xt.value.width} ${Xt.value.height}`,
984
+ class: ve({
985
+ "vue-data-ui-fullscreen--on": H.value,
986
+ "vue-data-ui-fulscreen--off": !H.value
987
+ }),
988
+ style: M({
989
+ maxWidth: "100%",
990
+ overflow: "visible",
991
+ background: "transparent",
992
+ color: U.value.style.chart.color
993
+ }),
994
+ tabindex: "0",
995
+ onFocus: Pn,
996
+ onBlur: Fn,
997
+ onKeydown: In
998
+ }, [
999
+ he(I(Qe)),
1000
+ e.$slots["chart-background"] ? (N(), D("foreignObject", {
1001
+ key: 0,
1002
+ x: 0,
1003
+ y: 0,
1004
+ width: Xt.value.width,
1005
+ height: Xt.value.height,
1006
+ style: { pointerEvents: "none" }
1007
+ }, [F(e.$slots, "chart-background", {}, void 0, !0)], 8, Me)) : E("", !0),
1008
+ O("defs", null, [(N(!0), D(de, null, be(q.value.links, (e, t) => (N(), D("linearGradient", {
1009
+ id: e.id,
1010
+ x1: "0%",
1011
+ y1: "0%",
1012
+ x2: "100%",
1013
+ y2: "0%"
1014
+ }, [O("stop", {
1015
+ offset: "0%",
1016
+ "stop-color": e.sourceColor
1017
+ }, null, 8, Pe), O("stop", {
1018
+ offset: "100%",
1019
+ "stop-color": e.targetColor
1020
+ }, null, 8, Fe)], 8, Ne))), 256))]),
1021
+ (N(!0), D(de, null, be(q.value.links, (e) => (N(), D("path", {
1022
+ class: "vue-ui-flow-link",
1023
+ d: e.path,
1024
+ "stroke-linejoin": "round",
1025
+ "stroke-miterlimit": "1",
1026
+ fill: `url(#${e.id})`,
1027
+ stroke: U.value.style.chart.links.stroke,
1028
+ "stroke-width": U.value.style.chart.links.strokeWidth,
1029
+ style: M(`
1030
+ opacity:${J.value ? J.value.includes(e.source) && J.value.includes(e.target) ? 1 : .3 : Y.value ? [e.target, e.source].includes(Y.value) ? 1 : .3 : U.value.style.chart.links.opacity}
1031
+ `)
1032
+ }, null, 12, Ie))), 256)),
1033
+ (N(!0), D(de, null, be(q.value.nodes, (e, t) => (N(), D("rect", {
1034
+ "data-a11y-node-id": e.id,
1035
+ class: "vue-ui-flow-node",
1036
+ x: e.x,
1037
+ y: I(h)(e.absoluteY) + U.value.style.chart.padding.top,
1038
+ height: I(h)(e.height),
1039
+ width: Ut.value,
1040
+ fill: e.color,
1041
+ stroke: U.value.style.chart.nodes.stroke,
1042
+ "stroke-width": U.value.style.chart.nodes.strokeWidth,
1043
+ rx: U.value.style.chart.nodes.borderRadius,
1044
+ style: M({
1045
+ opacity: J.value ? J.value.includes(e.name) ? 1 : .3 : 1,
1046
+ outline: $t.value !== null && $t.value === e.id ? "2px solid currentColor" : void 0
1047
+ }),
1048
+ "aria-label": `${e.name}: ${I(u)(U.value.style.chart.nodes.labels.formatter, e.value, I(i)({
1049
+ p: U.value.style.chart.nodes.labels.prefix,
1050
+ v: e.value,
1051
+ s: U.value.style.chart.nodes.labels.suffix,
1052
+ r: U.value.style.chart.nodes.labels.rounding
1053
+ }))}`,
1054
+ onMouseenter: (n) => nn(e, t, "pointer", un.value.get(e.id)),
1055
+ onMouseleave: (e) => rn(t),
1056
+ onClick: (e) => an(t)
1057
+ }, null, 44, Le))), 256)),
1058
+ U.value.style.chart.nodes.labels.show ? (N(), D("g", Re, [(N(!0), D(de, null, be(q.value.nodes, (e, t) => (N(), D("text", {
1059
+ x: e.x + Ut.value / 2,
1060
+ y: (U.value.style.chart.nodes.labels.showValue ? I(h)(e.absoluteY + e.height / 2 - U.value.style.chart.nodes.labels.fontSize / 4) : e.absoluteY + e.height / 2 + U.value.style.chart.nodes.labels.fontSize / 3) + U.value.style.chart.padding.top,
1061
+ "font-size": U.value.style.chart.nodes.labels.fontSize,
1062
+ fill: I(p)(e.color),
1063
+ "text-anchor": "middle",
1064
+ style: M(`pointer-events: none; opacity:${J.value ? +!!J.value.includes(e.name) : 1}`)
1065
+ }, Se(U.value.style.chart.nodes.labels.abbreviation.use ? I(d)({
1066
+ source: e.name,
1067
+ length: U.value.style.chart.nodes.labels.abbreviation.length
1068
+ }) : e.name), 13, ze))), 256)), U.value.style.chart.nodes.labels.showValue ? (N(!0), D(de, { key: 0 }, be(q.value.nodes, (e, t) => (N(), D("text", {
1069
+ x: e.x + Ut.value / 2,
1070
+ y: I(h)(e.absoluteY + e.height / 2 + U.value.style.chart.nodes.labels.fontSize / 1.3) + U.value.style.chart.padding.top,
1071
+ "font-size": U.value.style.chart.nodes.labels.fontSize,
1072
+ fill: I(p)(e.color),
1073
+ "text-anchor": "middle",
1074
+ style: M(`pointer-events: none; opacity:${J.value ? +!!J.value.includes(e.name) : 1}`)
1075
+ }, Se(I(u)(U.value.style.chart.nodes.labels.formatter, e.value, I(i)({
1076
+ p: U.value.style.chart.nodes.labels.prefix,
1077
+ v: e.value,
1078
+ s: U.value.style.chart.nodes.labels.suffix,
1079
+ r: U.value.style.chart.nodes.labels.rounding
1080
+ }), {
1081
+ datapoint: e,
1082
+ seriesIndex: t
1083
+ })), 13, Be))), 256)) : E("", !0)])) : E("", !0),
1084
+ F(e.$slots, "svg", { svg: {
1085
+ ...Xt.value,
1086
+ isPrintingImg: I(Lt) || I(Rt) || _t.value,
1087
+ isPrintingSvg: vt.value
1088
+ } }, void 0, !0)
1089
+ ], 46, je)), e.$slots.hint ? (N(), D("div", Ve, [F(e.$slots, "hint", j(A({
1090
+ hint: U.value.a11y.translations.keyboardNavigation,
1091
+ isVisible: St.value
1092
+ })), void 0, !0)])) : E("", !0)]),
1093
+ e.$slots.watermark ? (N(), D("div", He, [F(e.$slots, "watermark", j(A({ isPrinting: I(Lt) || I(Rt) || _t.value || vt.value })), void 0, !0)])) : E("", !0),
1094
+ O("div", { id: `legend-bottom-${z.value}` }, null, 8, Ue),
1095
+ pt.value && (U.value.style.chart.legend.show || e.$slots.legend) ? (N(), T(fe, {
1096
+ key: 6,
1097
+ to: U.value.style.chart.legend.position === "top" ? `#legend-top-${z.value}` : `#legend-bottom-${z.value}`
1098
+ }, [O("div", {
1099
+ ref_key: "chartLegend",
1100
+ ref: ct
1101
+ }, [F(e.$slots, "legend", { legend: gn.value }, () => [U.value.style.chart.legend.show && _n.value.length ? (N(), T(le, {
1102
+ key: 0,
1103
+ legendSet: _n.value,
1104
+ config: yn.value,
1105
+ isCursorPointer: W.value,
1106
+ onClickMarker: t[0] ||= (e) => vn(e)
1107
+ }, {
1108
+ item: L(({ legend: e, index: t }) => [I(Et) ? E("", !0) : (N(), D("div", {
1109
+ key: 0,
1110
+ onClick: (t) => e.segregate(),
1111
+ style: M(`opacity:${$.value.length ? $.value.includes(t) ? 1 : .5 : 1}`)
1112
+ }, Se(e.display), 13, We))]),
1113
+ _: 1
1114
+ }, 8, [
1115
+ "legendSet",
1116
+ "config",
1117
+ "isCursorPointer"
1118
+ ])) : E("", !0)], !0)], 512)], 8, ["to"])) : E("", !0),
1119
+ e.$slots.source ? (N(), D("div", {
1120
+ key: 7,
1121
+ ref_key: "source",
1122
+ ref: ut,
1123
+ dir: "auto"
1124
+ }, [F(e.$slots, "source", {}, void 0, !0)], 512)) : E("", !0),
1125
+ he(I(Ke), {
1126
+ ref_key: "tooltip",
1127
+ ref: gt,
1128
+ teleportTo: U.value.style.chart.tooltip.teleportTo,
1129
+ show: K.value.showTooltip && ot.value,
1130
+ backgroundColor: U.value.style.chart.tooltip.backgroundColor,
1131
+ color: U.value.style.chart.tooltip.color,
1132
+ fontSize: U.value.style.chart.tooltip.fontSize,
1133
+ borderRadius: U.value.style.chart.tooltip.borderRadius,
1134
+ borderColor: U.value.style.chart.tooltip.borderColor,
1135
+ borderWidth: U.value.style.chart.tooltip.borderWidth,
1136
+ backgroundOpacity: U.value.style.chart.tooltip.backgroundOpacity,
1137
+ position: U.value.style.chart.tooltip.position,
1138
+ offsetX: U.value.style.chart.tooltip.offsetX,
1139
+ offsetY: U.value.style.chart.tooltip.offsetY,
1140
+ parent: B.value,
1141
+ content: st.value,
1142
+ isCustom: Qt.value,
1143
+ isFullscreen: H.value,
1144
+ smooth: U.value.style.chart.tooltip.smooth,
1145
+ backdropFilter: U.value.style.chart.tooltip.backdropFilter,
1146
+ smoothForce: U.value.style.chart.tooltip.smoothForce,
1147
+ smoothSnapThreshold: U.value.style.chart.tooltip.smoothSnapThreshold,
1148
+ isA11yMode: xt.value === "keyboard",
1149
+ a11yPosition: bt.value
1150
+ }, {
1151
+ "tooltip-before": L(() => [F(e.$slots, "tooltip-before", j(A({ ...X.value })), void 0, !0)]),
1152
+ tooltip: L(() => [F(e.$slots, "tooltip", j(A({ ...X.value })), void 0, !0)]),
1153
+ "tooltip-after": L(() => [F(e.$slots, "tooltip-after", j(A({ ...X.value })), void 0, !0)]),
1154
+ _: 3
1155
+ }, 8, [
1156
+ "teleportTo",
1157
+ "show",
1158
+ "backgroundColor",
1159
+ "color",
1160
+ "fontSize",
1161
+ "borderRadius",
1162
+ "borderColor",
1163
+ "borderWidth",
1164
+ "backgroundOpacity",
1165
+ "position",
1166
+ "offsetX",
1167
+ "offsetY",
1168
+ "parent",
1169
+ "content",
1170
+ "isCustom",
1171
+ "isFullscreen",
1172
+ "smooth",
1173
+ "backdropFilter",
1174
+ "smoothForce",
1175
+ "smoothSnapThreshold",
1176
+ "isA11yMode",
1177
+ "a11yPosition"
1178
+ ]),
1179
+ Ct.value && U.value.userOptions.buttons.table ? (N(), T(xe(xn.value.component), ge({ key: 8 }, xn.value.props, {
1180
+ ref_key: "tableUnit",
1181
+ ref: mt,
1182
+ onClose: Sn
1183
+ }), pe({
1184
+ content: L(() => [he(I(Ye), {
1185
+ colNames: Z.value.colNames,
1186
+ head: Z.value.head,
1187
+ body: Z.value.body,
1188
+ config: Z.value.config,
1189
+ title: U.value.table.useDialog ? "" : xn.value.title,
1190
+ withCloseButton: !U.value.table.useDialog,
1191
+ isCursorPointer: W.value,
1192
+ onClose: Sn
1193
+ }, {
1194
+ th: L(({ th: e }) => [O("div", {
1195
+ innerHTML: e,
1196
+ style: {
1197
+ display: "flex",
1198
+ "align-items": "center"
1199
+ }
1200
+ }, null, 8, Ge)]),
1201
+ td: L(({ td: e }) => [me(Se(e.name || e), 1)]),
1202
+ _: 1
1203
+ }, 8, [
1204
+ "colNames",
1205
+ "head",
1206
+ "body",
1207
+ "config",
1208
+ "title",
1209
+ "withCloseButton",
1210
+ "isCursorPointer"
1211
+ ])]),
1212
+ _: 2
1213
+ }, [U.value.table.useDialog ? {
1214
+ name: "title",
1215
+ fn: L(() => [me(Se(xn.value.title), 1)]),
1216
+ key: "0"
1217
+ } : void 0, U.value.table.useDialog ? {
1218
+ name: "actions",
1219
+ fn: L(() => [O("button", {
1220
+ tabindex: "0",
1221
+ class: "vue-ui-user-options-button",
1222
+ onClick: t[1] ||= (e) => sn(U.value.userOptions.callbacks.csv),
1223
+ style: M({ cursor: W.value ? "pointer" : "default" })
1224
+ }, [he(I(qe), {
1225
+ name: "fileCsv",
1226
+ stroke: xn.value.props.color
1227
+ }, null, 8, ["stroke"])], 4)]),
1228
+ key: "1"
1229
+ } : void 0]), 1040)) : E("", !0),
1230
+ F(e.$slots, "skeleton", {}, () => [I(Et) ? (N(), T(b, { key: 0 })) : E("", !0)], !0)
1231
+ ], 46, Ee));
1232
+ }
1233
+ }, [["__scopeId", "data-v-bab66b99"]]);
1234
+ //#endregion
1235
+ export { Te as n, Ke as t };