vue-data-ui 3.26.5 → 3.27.1-beta.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 (531) hide show
  1. package/dist/A11yDataTable-DWNlWXzs.js +1 -0
  2. package/dist/Arrow-CJeSufxg.js +1 -0
  3. package/dist/BaseDraggableDialog-T1gEsQid.js +1 -0
  4. package/dist/BaseIcon-Cz30ODFA.js +1 -0
  5. package/dist/BaseLegendToggle-Dn_tNvn4.js +1 -0
  6. package/dist/BaseScanner-8NdoBs7B.js +1 -0
  7. package/dist/BaseZoomControls-xq3tWD3j.js +1 -0
  8. package/dist/ColorPicker-CUjEw53A.js +1 -0
  9. package/dist/DataTable-DSUA5M9p.js +1 -0
  10. package/dist/DefGrad-DKMq1REY.js +1 -0
  11. package/dist/HillActions-DdvXld3a.js +1 -0
  12. package/dist/Legend-DokTll4u.js +1 -0
  13. package/dist/NonSvgPenAndPaper-BLzQuIm6.js +1 -0
  14. package/dist/PackageVersion-D6pKL176.js +1 -0
  15. package/dist/PenAndPaper-DvJJaeU2.js +1 -0
  16. package/dist/RecursiveCircles-BftI1kwF.js +1 -0
  17. package/dist/RecursiveLabels-B0d04xSj.js +1 -0
  18. package/dist/RecursiveLinks-CZtG6uWg.js +1 -0
  19. package/dist/Shape-tkp65OcG.js +1 -0
  20. package/dist/SlicerPreview-GFRs2EWB.js +1 -0
  21. package/dist/SparkTooltip-BlJLvizH.js +1 -0
  22. package/dist/Title-BRAjxtjG.js +1 -0
  23. package/dist/Tooltip-BUXB0i6z.js +1 -0
  24. package/dist/UserOptions-D65t74CM.js +1 -0
  25. package/dist/_plugin-vue_export-helper-BDNMzG2s.js +1 -0
  26. package/dist/annotationSlots-BRR85CqJ.js +1 -0
  27. package/dist/chartImage-NwZO-elv.js +1 -0
  28. package/dist/components/arrow.js +1 -2
  29. package/dist/components/vue-ui-3d-bar.js +1 -2
  30. package/dist/components/vue-ui-accordion.js +1 -2
  31. package/dist/components/vue-ui-age-pyramid.js +1 -2
  32. package/dist/components/vue-ui-annotator.js +1 -2
  33. package/dist/components/vue-ui-bullet.js +1 -2
  34. package/dist/components/vue-ui-bump.js +1 -2
  35. package/dist/components/vue-ui-candlestick.js +1 -2
  36. package/dist/components/vue-ui-carousel-table.js +1 -2
  37. package/dist/components/vue-ui-chestnut.js +1 -2
  38. package/dist/components/vue-ui-chord.js +1 -2
  39. package/dist/components/vue-ui-circle-pack.js +1 -2
  40. package/dist/components/vue-ui-cursor.js +1 -2
  41. package/dist/components/vue-ui-dag.js +1 -2
  42. package/dist/components/vue-ui-dashboard.js +1 -2
  43. package/dist/components/vue-ui-digits.js +1 -2
  44. package/dist/components/vue-ui-donut-evolution.js +1 -2
  45. package/dist/components/vue-ui-donut.js +1 -2
  46. package/dist/components/vue-ui-dumbbell.js +1 -2
  47. package/dist/components/vue-ui-flow.js +1 -2
  48. package/dist/components/vue-ui-funnel.js +1 -2
  49. package/dist/components/vue-ui-galaxy.js +1 -2
  50. package/dist/components/vue-ui-gauge.js +1 -2
  51. package/dist/components/vue-ui-geo.js +1 -2
  52. package/dist/components/vue-ui-gizmo.js +1 -2
  53. package/dist/components/vue-ui-heatmap.js +1 -2
  54. package/dist/components/vue-ui-hill.js +1 -2
  55. package/dist/components/vue-ui-history-plot.js +1 -2
  56. package/dist/components/vue-ui-horizontal-bar.js +1 -2
  57. package/dist/components/vue-ui-icon.js +1 -2
  58. package/dist/components/vue-ui-kpi.js +1 -2
  59. package/dist/components/vue-ui-label.js +1 -2
  60. package/dist/components/vue-ui-mini-loader.js +1 -2
  61. package/dist/components/vue-ui-molecule.js +1 -2
  62. package/dist/components/vue-ui-mood-radar.js +1 -2
  63. package/dist/components/vue-ui-nested-donuts.js +1 -2
  64. package/dist/components/vue-ui-onion.js +1 -2
  65. package/dist/components/vue-ui-parallel-coordinate-plot.js +1 -2
  66. package/dist/components/vue-ui-pattern-seed.js +1 -2
  67. package/dist/components/vue-ui-pattern.js +1 -2
  68. package/dist/components/vue-ui-quadrant.js +1 -2
  69. package/dist/components/vue-ui-quick-chart.js +1 -2
  70. package/dist/components/vue-ui-radar.js +1 -2
  71. package/dist/components/vue-ui-rating.js +1 -2
  72. package/dist/components/vue-ui-relation-circle.js +1 -2
  73. package/dist/components/vue-ui-ridgeline.js +1 -2
  74. package/dist/components/vue-ui-rings.js +1 -2
  75. package/dist/components/vue-ui-scatter.js +1 -2
  76. package/dist/components/vue-ui-skeleton.js +1 -2
  77. package/dist/components/vue-ui-smiley.js +1 -2
  78. package/dist/components/vue-ui-spark-trend.js +1 -2
  79. package/dist/components/vue-ui-sparkbar.js +1 -2
  80. package/dist/components/vue-ui-sparkgauge.js +1 -2
  81. package/dist/components/vue-ui-sparkhistogram.js +1 -2
  82. package/dist/components/vue-ui-sparkline.js +1 -2
  83. package/dist/components/vue-ui-sparkstackbar.js +1 -2
  84. package/dist/components/vue-ui-stackbar.js +1 -2
  85. package/dist/components/vue-ui-stackline.js +1 -2
  86. package/dist/components/vue-ui-strip-plot.js +1 -2
  87. package/dist/components/vue-ui-table-heatmap.js +1 -2
  88. package/dist/components/vue-ui-table-sparkline.js +1 -2
  89. package/dist/components/vue-ui-table.js +1 -2
  90. package/dist/components/vue-ui-thermometer.js +1 -2
  91. package/dist/components/vue-ui-timer.js +1 -2
  92. package/dist/components/vue-ui-tiremarks.js +1 -2
  93. package/dist/components/vue-ui-treemap.js +1 -2
  94. package/dist/components/vue-ui-vertical-bar.js +1 -2
  95. package/dist/components/vue-ui-waffle.js +1 -2
  96. package/dist/components/vue-ui-wheel.js +1 -2
  97. package/dist/components/vue-ui-word-cloud.js +1 -2
  98. package/dist/components/vue-ui-world.js +1 -2
  99. package/dist/components/vue-ui-xy-canvas.js +1 -2
  100. package/dist/components/vue-ui-xy.js +1 -2
  101. package/dist/composables.js +1 -5
  102. package/dist/dom-to-png-Cp3WLHmJ.js +3 -0
  103. package/dist/exposedLib-CMTeSmyW.js +1 -0
  104. package/dist/geoProjections-Bvj-eMvq.js +1 -0
  105. package/dist/img-8sM3sVWU.js +1 -0
  106. package/dist/labelUtils-Djp5nJtN.js +1 -0
  107. package/dist/lib-zDxoqrgo.js +12 -0
  108. package/dist/package-DIR2F6AE.js +1 -0
  109. package/dist/patternUtils-_q3ArM3g.js +1 -0
  110. package/dist/pdf-Dlv_ks7R.js +1 -0
  111. package/dist/render-common-DOYi0f4Z.js +1 -0
  112. package/dist/resolveChartConfig-BSo1Oe9n.js +1 -0
  113. package/dist/rolldown-runtime-DK3Fl9T5.js +1 -0
  114. package/dist/ssr/vue-ui-donut.js +1 -2
  115. package/dist/ssr/vue-ui-xy.js +1 -2
  116. package/dist/ssr.js +1 -3
  117. package/dist/style.css +1 -1
  118. package/dist/tableIntegration-CNoJ1CIY.js +1 -0
  119. package/dist/types/composables.d.ts +12 -12
  120. package/dist/types/ssr.d.ts +84 -84
  121. package/dist/types/utils.d.ts +82 -73
  122. package/dist/types/vue-data-ui.d.ts +17969 -17813
  123. package/dist/types/vue-ui-3d-bar.d.ts +24 -91
  124. package/dist/types/vue-ui-accordion.d.ts +2 -10
  125. package/dist/types/vue-ui-age-pyramid.d.ts +27 -106
  126. package/dist/types/vue-ui-annotator.d.ts +12 -88
  127. package/dist/types/vue-ui-bullet.d.ts +21 -83
  128. package/dist/types/vue-ui-bump.d.ts +23 -90
  129. package/dist/types/vue-ui-candlestick.d.ts +27 -108
  130. package/dist/types/vue-ui-carousel-table.d.ts +11 -57
  131. package/dist/types/vue-ui-chestnut.d.ts +27 -96
  132. package/dist/types/vue-ui-chord.d.ts +31 -108
  133. package/dist/types/vue-ui-circle-pack.d.ts +30 -124
  134. package/dist/types/vue-ui-cursor.d.ts +2 -8
  135. package/dist/types/vue-ui-dag.d.ts +35 -125
  136. package/dist/types/vue-ui-dashboard.d.ts +18 -66
  137. package/dist/types/vue-ui-digits.d.ts +2 -11
  138. package/dist/types/vue-ui-donut-evolution.d.ts +31 -100
  139. package/dist/types/vue-ui-donut.d.ts +31 -121
  140. package/dist/types/vue-ui-dumbbell.d.ts +24 -92
  141. package/dist/types/vue-ui-flow.d.ts +28 -104
  142. package/dist/types/vue-ui-funnel.d.ts +18 -77
  143. package/dist/types/vue-ui-galaxy.d.ts +30 -112
  144. package/dist/types/vue-ui-gauge.d.ts +22 -87
  145. package/dist/types/vue-ui-geo.d.ts +22 -92
  146. package/dist/types/vue-ui-gizmo.d.ts +5 -20
  147. package/dist/types/vue-ui-heatmap.d.ts +25 -101
  148. package/dist/types/vue-ui-hill.d.ts +22 -88
  149. package/dist/types/vue-ui-history-plot.d.ts +30 -112
  150. package/dist/types/vue-ui-horizontal-bar.d.ts +30 -114
  151. package/dist/types/vue-ui-icon.d.ts +1 -13
  152. package/dist/types/vue-ui-kpi.d.ts +5 -23
  153. package/dist/types/vue-ui-label.d.ts +11 -48
  154. package/dist/types/vue-ui-mini-loader.d.ts +4 -13
  155. package/dist/types/vue-ui-molecule.d.ts +27 -110
  156. package/dist/types/vue-ui-mood-radar.d.ts +23 -90
  157. package/dist/types/vue-ui-nested-donuts.d.ts +28 -109
  158. package/dist/types/vue-ui-onion.d.ts +26 -104
  159. package/dist/types/vue-ui-parallel-coordinate-plot.d.ts +34 -123
  160. package/dist/types/vue-ui-pattern-seed.d.ts +1 -14
  161. package/dist/types/vue-ui-pattern.d.ts +1 -13
  162. package/dist/types/vue-ui-quadrant.d.ts +33 -123
  163. package/dist/types/vue-ui-quick-chart.d.ts +30 -110
  164. package/dist/types/vue-ui-radar.d.ts +31 -114
  165. package/dist/types/vue-ui-rating.d.ts +8 -40
  166. package/dist/types/vue-ui-relation-circle.d.ts +26 -90
  167. package/dist/types/vue-ui-ridgeline.d.ts +27 -104
  168. package/dist/types/vue-ui-rings.d.ts +21 -96
  169. package/dist/types/vue-ui-scatter.d.ts +22 -95
  170. package/dist/types/vue-ui-skeleton.d.ts +2 -10
  171. package/dist/types/vue-ui-smiley.d.ts +6 -26
  172. package/dist/types/vue-ui-spark-trend.d.ts +2 -18
  173. package/dist/types/vue-ui-sparkbar.d.ts +10 -47
  174. package/dist/types/vue-ui-sparkgauge.d.ts +5 -26
  175. package/dist/types/vue-ui-sparkhistogram.d.ts +12 -44
  176. package/dist/types/vue-ui-sparkline.d.ts +16 -61
  177. package/dist/types/vue-ui-sparkstackbar.d.ts +13 -58
  178. package/dist/types/vue-ui-stackbar.d.ts +36 -120
  179. package/dist/types/vue-ui-stackline.d.ts +29 -116
  180. package/dist/types/vue-ui-strip-plot.d.ts +22 -96
  181. package/dist/types/vue-ui-table-heatmap.d.ts +14 -60
  182. package/dist/types/vue-ui-table-sparkline.d.ts +12 -51
  183. package/dist/types/vue-ui-table.d.ts +9 -36
  184. package/dist/types/vue-ui-thermometer.d.ts +14 -68
  185. package/dist/types/vue-ui-timer.d.ts +10 -47
  186. package/dist/types/vue-ui-tiremarks.d.ts +14 -68
  187. package/dist/types/vue-ui-treemap.d.ts +26 -105
  188. package/dist/types/vue-ui-vertical-bar.d.ts +8 -19
  189. package/dist/types/vue-ui-waffle.d.ts +23 -99
  190. package/dist/types/vue-ui-wheel.d.ts +14 -68
  191. package/dist/types/vue-ui-word-cloud.d.ts +20 -95
  192. package/dist/types/vue-ui-world.d.ts +22 -96
  193. package/dist/types/vue-ui-xy-canvas.d.ts +24 -101
  194. package/dist/types/vue-ui-xy.d.ts +42 -146
  195. package/dist/unpackTheme-CNsFKCeq.js +1 -0
  196. package/dist/useAutoSizeLabelsInsideViewbox-AIRF0PlD.js +1 -0
  197. package/dist/useChartAccessibility-DOMuYJfm.js +1 -0
  198. package/dist/useChartExport-DtPNpc9M.js +1 -0
  199. package/dist/useConfig-CKdzPrcf.js +1 -0
  200. package/dist/useFitSvgText-C1QC4P5G.js +1 -0
  201. package/dist/useHints-BH9r_0Vd.js +6 -0
  202. package/dist/useNestedProp-CT9phgWx.js +1 -0
  203. package/dist/useObjectBindings-DM3xDKV3.js +1 -0
  204. package/dist/usePanZoom-BdjP5Suc.js +1 -0
  205. package/dist/usePrefersMotion-XLHwega2.js +1 -0
  206. package/dist/usePrinter-CnyKPIFM.js +1 -0
  207. package/dist/useResponsive-D2CPcpda.js +1 -0
  208. package/dist/useStableElementSize-CegFbRlF.js +1 -0
  209. package/dist/useTableResponsive-uSz_qZOB.js +1 -0
  210. package/dist/useThemeCheck-BKNRbGeC.js +1 -0
  211. package/dist/useTimeLabelCollider-XQf_S7-z.js +1 -0
  212. package/dist/useTimeLabels-Das5O74F.js +1 -0
  213. package/dist/useTooltipPosition-aoV8pZZ9.js +1 -0
  214. package/dist/useTransitions-DfSHzsdz.js +1 -0
  215. package/dist/useUserOptionState-CXlFnwPv.js +1 -0
  216. package/dist/userOptionsSlots-DYuo-E5m.js +1 -0
  217. package/dist/utils.js +1 -30
  218. package/dist/vClickOutside-BxNzkY17.js +1 -0
  219. package/dist/vue-data-ui-BG41UScx.js +1 -0
  220. package/dist/vue-data-ui.js +1 -79
  221. package/dist/vue-ui-3d-bar-DiaiNy-k.js +19 -0
  222. package/dist/vue-ui-accordion-Dy5OVFKr.js +1 -0
  223. package/dist/vue-ui-age-pyramid-OeUr1yxi.js +1 -0
  224. package/dist/vue-ui-annotator-DA_xAFql.js +331 -0
  225. package/dist/vue-ui-bullet-B9lcCTVb.js +34 -0
  226. package/dist/vue-ui-bump-DYajIrva.js +10 -0
  227. package/dist/vue-ui-candlestick-CdAZuNxo.js +22 -0
  228. package/dist/vue-ui-carousel-table-ihGH0LDH.js +1 -0
  229. package/dist/vue-ui-chestnut-B2aNXFNO.js +1 -0
  230. package/dist/vue-ui-chord-fAckHfOW.js +21 -0
  231. package/dist/vue-ui-circle-pack-BWHVImkS.js +13 -0
  232. package/dist/vue-ui-cursor-DdXKXmhr.js +1 -0
  233. package/dist/vue-ui-dag-a0fNoIcJ.js +9 -0
  234. package/dist/vue-ui-dashboard-DkdYMB7n.js +1 -0
  235. package/dist/vue-ui-digits-CL9SuIEI.js +42 -0
  236. package/dist/vue-ui-donut-BaEodt-3.js +22 -0
  237. package/dist/vue-ui-donut-DaYxdQmP.js +47 -0
  238. package/dist/vue-ui-donut-evolution-T8cRXKRQ.js +2 -0
  239. package/dist/vue-ui-dumbbell-B6HJxEZp.js +9 -0
  240. package/dist/vue-ui-flow-BlTCVFr3.js +3 -0
  241. package/dist/vue-ui-funnel-WgLFJadZ.js +1 -0
  242. package/dist/vue-ui-galaxy-B3nuI6E8.js +1 -0
  243. package/dist/vue-ui-gauge-BwTP65O4.js +1 -0
  244. package/dist/vue-ui-geo-CX3yH18H.js +1 -0
  245. package/dist/vue-ui-gizmo-CNHcBsku.js +1 -0
  246. package/dist/vue-ui-heatmap-CTdeoar7.js +1 -0
  247. package/dist/vue-ui-hill-DR5k8GWZ.js +1 -0
  248. package/dist/vue-ui-history-plot-C-9uH-Uj.js +2 -0
  249. package/dist/vue-ui-horizontal-bar-qqF7pL7U.js +4 -0
  250. package/dist/vue-ui-kpi-DVcLXGqG.js +1 -0
  251. package/dist/vue-ui-label-D1Aog-zO.js +7 -0
  252. package/dist/vue-ui-mini-loader-CX0Dx9tT.js +1 -0
  253. package/dist/vue-ui-molecule-B13qVX71.js +1 -0
  254. package/dist/vue-ui-mood-radar-C1BtB8lg.js +1 -0
  255. package/dist/vue-ui-nested-donuts-B90yrlJG.js +19 -0
  256. package/dist/vue-ui-onion-UMVO2DE_.js +5 -0
  257. package/dist/vue-ui-parallel-coordinate-plot-C0ofFivm.js +9 -0
  258. package/dist/vue-ui-pattern-DrPCu32G.js +1 -0
  259. package/dist/vue-ui-pattern-seed-B8YjAAEH.js +1 -0
  260. package/dist/vue-ui-quadrant-CPG6yAiu.js +2 -0
  261. package/dist/vue-ui-quick-chart-BTPb-Iz8.js +17 -0
  262. package/dist/vue-ui-radar-Hd-pE9ih.js +1 -0
  263. package/dist/vue-ui-rating-C_YxQYa_.js +1 -0
  264. package/dist/vue-ui-relation-circle-CHYG7ZJl.js +1 -0
  265. package/dist/vue-ui-ridgeline-DS1Gvljt.js +2 -0
  266. package/dist/vue-ui-rings-B-Hb13Uu.js +1 -0
  267. package/dist/vue-ui-scatter-BTgvOmuo.js +9 -0
  268. package/dist/vue-ui-skeleton-B-Acw3CC.js +41 -0
  269. package/dist/vue-ui-smiley-Ciwqt6ek.js +1 -0
  270. package/dist/vue-ui-spark-trend-CYqy6c0S.js +1 -0
  271. package/dist/vue-ui-sparkbar-CTXIgjmP.js +1 -0
  272. package/dist/vue-ui-sparkgauge-CObOL6s2.js +1 -0
  273. package/dist/vue-ui-sparkhistogram-ClFyDez-.js +1 -0
  274. package/dist/vue-ui-sparkline-DP_nYlW8.js +1 -0
  275. package/dist/vue-ui-sparkstackbar-B2f0ePMg.js +1 -0
  276. package/dist/vue-ui-stackbar-nMWHZ-f0.js +29 -0
  277. package/dist/vue-ui-stackline-B95y6Zc5.js +39 -0
  278. package/dist/vue-ui-strip-plot-gFNC4r-X.js +2 -0
  279. package/dist/vue-ui-table-Br2JgD_L.js +14 -0
  280. package/dist/vue-ui-table-heatmap-Btu2ejF4.js +1 -0
  281. package/dist/vue-ui-table-sparkline-B9mYHAxp.js +1 -0
  282. package/dist/vue-ui-thermometer-C6u1eLfo.js +1 -0
  283. package/dist/vue-ui-timer-DLgsfB1U.js +64 -0
  284. package/dist/vue-ui-tiremarks-8B9uE1Bx.js +1 -0
  285. package/dist/vue-ui-treemap-C4Mot-Os.js +1 -0
  286. package/dist/vue-ui-waffle-BwcwNpf7.js +1 -0
  287. package/dist/vue-ui-wheel-B3OGCXg7.js +1 -0
  288. package/dist/vue-ui-word-cloud-BPIyMBXq.js +4 -0
  289. package/dist/vue-ui-world-Cp0DeauH.js +19 -0
  290. package/dist/vue-ui-xy-BOE1jvUS.js +31 -0
  291. package/dist/vue-ui-xy-DSyKSn4L.js +24 -0
  292. package/dist/vue-ui-xy-canvas-CaxxiKSa.js +9 -0
  293. package/dist/vue_ui_3d_bar-DmAve5Ri.js +1 -0
  294. package/dist/vue_ui_age_pyramid-CL0Ef8Ov.js +1 -0
  295. package/dist/vue_ui_bullet-CwVYkpjd.js +1 -0
  296. package/dist/vue_ui_bump-KJL9GYr4.js +1 -0
  297. package/dist/vue_ui_candlestick-DKvha_Ab.js +1 -0
  298. package/dist/vue_ui_chestnut-BxxivKN7.js +1 -0
  299. package/dist/vue_ui_chord-Fq6VBRT1.js +1 -0
  300. package/dist/vue_ui_circle_pack-CfXkXi7v.js +1 -0
  301. package/dist/vue_ui_dag-1b_dLSym.js +1 -0
  302. package/dist/vue_ui_donut-T5PeOqvf.js +1 -0
  303. package/dist/vue_ui_donut_evolution-nzVwNQYv.js +1 -0
  304. package/dist/vue_ui_dumbbell-BMcxK0N3.js +1 -0
  305. package/dist/vue_ui_flow-kvV56Es9.js +1 -0
  306. package/dist/vue_ui_funnel-CaEV5hG7.js +1 -0
  307. package/dist/vue_ui_galaxy-B94QInxc.js +1 -0
  308. package/dist/vue_ui_gauge-BJhb6yqE.js +1 -0
  309. package/dist/vue_ui_geo-DL1SMQHp.js +1 -0
  310. package/dist/vue_ui_heatmap-kh5NMmwf.js +1 -0
  311. package/dist/vue_ui_hill-DQi4pQCG.js +1 -0
  312. package/dist/vue_ui_history_plot-soyqUW4Y.js +1 -0
  313. package/dist/vue_ui_horizontal_bar-C4ulIxeT.js +1 -0
  314. package/dist/vue_ui_label-dtPqyFsj.js +1 -0
  315. package/dist/vue_ui_molecule-Bw1UW1Na.js +1 -0
  316. package/dist/vue_ui_mood_radar-CXaBdJnv.js +1 -0
  317. package/dist/vue_ui_nested_donuts-CRtGsJcz.js +1 -0
  318. package/dist/vue_ui_onion-C9BedU_-.js +1 -0
  319. package/dist/vue_ui_parallel_coordinate_plot-Cs_xXAG5.js +1 -0
  320. package/dist/vue_ui_quadrant-BUv-SqzP.js +1 -0
  321. package/dist/vue_ui_quick_chart-Da1GwklM.js +1 -0
  322. package/dist/vue_ui_radar-68iK9Fam.js +1 -0
  323. package/dist/vue_ui_relation_circle-Dkv-cSB6.js +1 -0
  324. package/dist/vue_ui_ridgeline-Di26JtQu.js +1 -0
  325. package/dist/vue_ui_rings-BcDDXHpQ.js +1 -0
  326. package/dist/vue_ui_scatter-C50uFYQL.js +1 -0
  327. package/dist/vue_ui_spark_trend-BOM3zo64.js +1 -0
  328. package/dist/vue_ui_sparkbar-Bpx7QrFq.js +1 -0
  329. package/dist/vue_ui_sparkgauge-D2Hk6bvS.js +1 -0
  330. package/dist/vue_ui_sparkhistogram-ChwOkoMb.js +1 -0
  331. package/dist/vue_ui_sparkline-CvL_e9L8.js +1 -0
  332. package/dist/vue_ui_sparkstackbar-Chtog7hC.js +1 -0
  333. package/dist/vue_ui_stackbar-BkBIi_bL.js +1 -0
  334. package/dist/vue_ui_stackline-D7b63K84.js +1 -0
  335. package/dist/vue_ui_strip_plot-CwMowrhT.js +1 -0
  336. package/dist/vue_ui_table_heatmap-vfeY6r97.js +1 -0
  337. package/dist/vue_ui_table_sparkline-Dlfbza49.js +1 -0
  338. package/dist/vue_ui_thermometer-CRijq6H6.js +1 -0
  339. package/dist/vue_ui_tiremarks-8HFfABNF.js +1 -0
  340. package/dist/vue_ui_treemap-Bv4Rdl5_.js +1 -0
  341. package/dist/vue_ui_vertical_bar-BLyflvlz.js +1 -0
  342. package/dist/vue_ui_waffle-BbBLSluB.js +1 -0
  343. package/dist/vue_ui_wheel-C-479bvJ.js +1 -0
  344. package/dist/vue_ui_word_cloud-DBiJtSyL.js +1 -0
  345. package/dist/vue_ui_xy-CJBM9F6W.js +1 -0
  346. package/dist/vue_ui_xy_canvas-CT-FN9rU.js +1 -0
  347. package/package.json +2 -2
  348. package/dist/A11yDataTable-DdRsVULz.js +0 -45
  349. package/dist/Arrow-BQbcOtfC.js +0 -116
  350. package/dist/BaseDraggableDialog-BCFCiP_6.js +0 -272
  351. package/dist/BaseIcon-CIK6Sqo3.js +0 -484
  352. package/dist/BaseLegendToggle-Doa5rYP2.js +0 -56
  353. package/dist/BaseScanner-Dzc8VT3j.js +0 -30
  354. package/dist/BaseZoomControls-BGQM8B5F.js +0 -111
  355. package/dist/ColorPicker-Cb7qpvFt.js +0 -257
  356. package/dist/DataTable-B6LDCXBz.js +0 -150
  357. package/dist/DefGrad-DVBqDjhO.js +0 -48
  358. package/dist/HillActions-CwdgCb7Q.js +0 -187
  359. package/dist/Legend-D9FGXIbQ.js +0 -156
  360. package/dist/NonSvgPenAndPaper-9T4MSwXC.js +0 -577
  361. package/dist/PackageVersion-CslTvFsC.js +0 -12
  362. package/dist/PenAndPaper-C1EcBgJW.js +0 -906
  363. package/dist/RecursiveCircles-D6aDPmoe.js +0 -117
  364. package/dist/RecursiveLabels-D9rfID6q.js +0 -56
  365. package/dist/RecursiveLinks-BygcpDiT.js +0 -78
  366. package/dist/Shape-BZgQLgu5.js +0 -143
  367. package/dist/SlicerPreview-DyYv_G-_.js +0 -1730
  368. package/dist/SparkTooltip-D4cRlyuq.js +0 -93
  369. package/dist/Title-Bd98RysU.js +0 -87
  370. package/dist/Tooltip-DmQeI5WE.js +0 -312
  371. package/dist/UserOptions-B_yBcZ1-.js +0 -1412
  372. package/dist/_plugin-vue_export-helper-B3ysoDQm.js +0 -8
  373. package/dist/dom-to-png-B_RJohlM.js +0 -237
  374. package/dist/exposedLib-C-JlvWAt.js +0 -28
  375. package/dist/geoProjections-BYthUA8l.js +0 -302
  376. package/dist/img-KURaWjZI.js +0 -129
  377. package/dist/labelUtils-DShv2Mbg.js +0 -19
  378. package/dist/lib-TWIH5fGr.js +0 -2152
  379. package/dist/package-DbTqd5lc.js +0 -4
  380. package/dist/patternUtils-CS7hn6at.js +0 -258
  381. package/dist/pdf-CLl24Afl.js +0 -90
  382. package/dist/render-common-CKv-jztN.js +0 -152
  383. package/dist/rolldown-runtime-Dy4uBu1J.js +0 -11
  384. package/dist/useAutoSizeLabelsInsideViewbox-DvDwcwi_.js +0 -122
  385. package/dist/useChartAccessibility-DYqac8yF.js +0 -12
  386. package/dist/useChartExport-iwOqiIWX.js +0 -803
  387. package/dist/useConfig-DObkR9Aa.js +0 -8008
  388. package/dist/useFitSvgText-CXTzBplU.js +0 -65
  389. package/dist/useHints-Dq_w2E8B.js +0 -66
  390. package/dist/useNestedProp-BxOdWM0c.js +0 -12
  391. package/dist/useObjectBindings-CPmyIJxB.js +0 -191
  392. package/dist/usePanZoom-CYU3B4T3.js +0 -157
  393. package/dist/usePrefersMotion-BC-CsqR1.js +0 -15
  394. package/dist/usePrinter-8Y1Rju0Y.js +0 -49
  395. package/dist/useResponsive-ZtArZtUf.js +0 -97
  396. package/dist/useStableElementSize-C7KADDKj.js +0 -77
  397. package/dist/useTableResponsive-BAqJPR68.js +0 -25
  398. package/dist/useThemeCheck-C43Tcqmk.js +0 -24
  399. package/dist/useTimeLabelCollider-AEcY4Ioe.js +0 -57
  400. package/dist/useTimeLabels-d2f-W1L4.js +0 -270
  401. package/dist/useTooltipPosition-BCrtQa9H.js +0 -189
  402. package/dist/useTransitions-g_zBREk2.js +0 -39
  403. package/dist/useUserOptionState-DK-_1ddE.js +0 -15
  404. package/dist/vClickOutside-DUrZWttG.js +0 -13
  405. package/dist/vue-data-ui-C3G5Zdl5.js +0 -191
  406. package/dist/vue-ui-3d-bar-Cl6-fBV8.js +0 -1831
  407. package/dist/vue-ui-accordion-AyyZDab3.js +0 -81
  408. package/dist/vue-ui-age-pyramid-DOtWAL8s.js +0 -1305
  409. package/dist/vue-ui-annotator-BCVjlojM.js +0 -3325
  410. package/dist/vue-ui-bullet-B_1Ctjvq.js +0 -702
  411. package/dist/vue-ui-bump-kOK6x4al.js +0 -1242
  412. package/dist/vue-ui-candlestick-KvhjbAxt.js +0 -2144
  413. package/dist/vue-ui-carousel-table-ArMiO0cG.js +0 -467
  414. package/dist/vue-ui-chestnut-DSM0U27X.js +0 -2016
  415. package/dist/vue-ui-chord-64akfaem.js +0 -1347
  416. package/dist/vue-ui-circle-pack-CaR_aNEh.js +0 -1647
  417. package/dist/vue-ui-cursor-DCgqYZiz.js +0 -283
  418. package/dist/vue-ui-dag-8uKK0Rlp.js +0 -2931
  419. package/dist/vue-ui-dashboard-DeccYtSY.js +0 -522
  420. package/dist/vue-ui-digits-BvK7bVuJ.js +0 -217
  421. package/dist/vue-ui-donut-8joMj08Z.js +0 -974
  422. package/dist/vue-ui-donut-CvbfzzdT.js +0 -2427
  423. package/dist/vue-ui-donut-evolution-DgITf95R.js +0 -1869
  424. package/dist/vue-ui-dumbbell-U2L4ZYhB.js +0 -1533
  425. package/dist/vue-ui-flow-DD20fJu_.js +0 -1229
  426. package/dist/vue-ui-funnel-Cx8hVlZV.js +0 -749
  427. package/dist/vue-ui-galaxy-VZFZnHPv.js +0 -1097
  428. package/dist/vue-ui-gauge-Copa7G58.js +0 -934
  429. package/dist/vue-ui-geo-DeDQ6ubl.js +0 -1495
  430. package/dist/vue-ui-gizmo-D5oUKIsP.js +0 -238
  431. package/dist/vue-ui-heatmap-BukWtNsd.js +0 -1613
  432. package/dist/vue-ui-hill-DONFacXR.js +0 -1747
  433. package/dist/vue-ui-history-plot-BMy_y9S6.js +0 -1710
  434. package/dist/vue-ui-horizontal-bar-bcPSs999.js +0 -1723
  435. package/dist/vue-ui-kpi-Bol0OWs3.js +0 -104
  436. package/dist/vue-ui-label-cwjXaEDQ.js +0 -1451
  437. package/dist/vue-ui-mini-loader-kdpasmXb.js +0 -133
  438. package/dist/vue-ui-molecule-BiAI5lbh.js +0 -941
  439. package/dist/vue-ui-mood-radar-f4xXkiBs.js +0 -1111
  440. package/dist/vue-ui-nested-donuts-ZmGGEvRk.js +0 -1515
  441. package/dist/vue-ui-onion-D6IKPpL-.js +0 -1247
  442. package/dist/vue-ui-parallel-coordinate-plot-BbfModz3.js +0 -1444
  443. package/dist/vue-ui-pattern-DKozfnVn.js +0 -154
  444. package/dist/vue-ui-pattern-seed-BB1honLm.js +0 -61
  445. package/dist/vue-ui-quadrant-CueHa1Pm.js +0 -1979
  446. package/dist/vue-ui-quick-chart-C8ZxX1Zw.js +0 -2775
  447. package/dist/vue-ui-radar-BcD7Zqvb.js +0 -1386
  448. package/dist/vue-ui-rating-V_OnJN9Y.js +0 -359
  449. package/dist/vue-ui-relation-circle-DlN4r83K.js +0 -905
  450. package/dist/vue-ui-ridgeline-BlQnTWXi.js +0 -1630
  451. package/dist/vue-ui-rings-Bf9IKwDr.js +0 -1264
  452. package/dist/vue-ui-scatter-arPbS9MH.js +0 -2418
  453. package/dist/vue-ui-skeleton-dyXWT6JX.js +0 -2567
  454. package/dist/vue-ui-smiley-w6nH1I0E.js +0 -376
  455. package/dist/vue-ui-spark-trend-Bso9bwmY.js +0 -457
  456. package/dist/vue-ui-sparkbar-CL06Yt56.js +0 -401
  457. package/dist/vue-ui-sparkgauge-BHDM5Hbr.js +0 -268
  458. package/dist/vue-ui-sparkhistogram-3Tw8PEms.js +0 -589
  459. package/dist/vue-ui-sparkline-znaswFQj.js +0 -2067
  460. package/dist/vue-ui-sparkstackbar-BOzVoWoa.js +0 -750
  461. package/dist/vue-ui-stackbar-BTOvMsP8.js +0 -2755
  462. package/dist/vue-ui-stackline-qcLrNL09.js +0 -2829
  463. package/dist/vue-ui-strip-plot-BLNaCPm8.js +0 -1752
  464. package/dist/vue-ui-table-D295mJIf.js +0 -1352
  465. package/dist/vue-ui-table-heatmap-CXeMKqKz.js +0 -363
  466. package/dist/vue-ui-table-sparkline-BYuwQrwA.js +0 -738
  467. package/dist/vue-ui-thermometer-BwJ0oF-H.js +0 -758
  468. package/dist/vue-ui-timer-BULpjYiI.js +0 -451
  469. package/dist/vue-ui-tiremarks-B7bTeU8h.js +0 -540
  470. package/dist/vue-ui-treemap-DkqDz9W4.js +0 -1745
  471. package/dist/vue-ui-waffle-Cn7WBzqh.js +0 -1633
  472. package/dist/vue-ui-wheel-Cy7kBvEx.js +0 -873
  473. package/dist/vue-ui-word-cloud-tRqc2ZMR.js +0 -1723
  474. package/dist/vue-ui-world-B755-zji.js +0 -3021
  475. package/dist/vue-ui-xy-BiHIJ7rK.js +0 -1387
  476. package/dist/vue-ui-xy-DWYTZz_v.js +0 -5777
  477. package/dist/vue-ui-xy-canvas-DGuMC_Rf.js +0 -2151
  478. package/dist/vue_ui_3d_bar-C4R7o-yX.js +0 -185
  479. package/dist/vue_ui_age_pyramid-B2R66DgQ.js +0 -310
  480. package/dist/vue_ui_bullet-ClzdLoOv.js +0 -186
  481. package/dist/vue_ui_bump-Vl-zYAtG.js +0 -201
  482. package/dist/vue_ui_candlestick-BXSQY82k.js +0 -461
  483. package/dist/vue_ui_chestnut-D2oUhad6.js +0 -305
  484. package/dist/vue_ui_chord-DPfS1Umc.js +0 -275
  485. package/dist/vue_ui_circle_pack-DZC_rdfn.js +0 -172
  486. package/dist/vue_ui_dag-TsJ_azQq.js +0 -258
  487. package/dist/vue_ui_donut-BDGqG07h.js +0 -358
  488. package/dist/vue_ui_donut_evolution-C6951a2f.js +0 -745
  489. package/dist/vue_ui_dumbbell-Bfe_jFyi.js +0 -304
  490. package/dist/vue_ui_flow-BewZjjKG.js +0 -238
  491. package/dist/vue_ui_funnel-_Og4EEkO.js +0 -234
  492. package/dist/vue_ui_galaxy-Ig0cc1_h.js +0 -265
  493. package/dist/vue_ui_gauge-Cf1RZc9q.js +0 -178
  494. package/dist/vue_ui_geo-B8TODs-G.js +0 -248
  495. package/dist/vue_ui_heatmap-B2BBBSWG.js +0 -319
  496. package/dist/vue_ui_hill-dnltu0L-.js +0 -368
  497. package/dist/vue_ui_history_plot-CuN63VEc.js +0 -413
  498. package/dist/vue_ui_horizontal_bar-C4J4QzXf.js +0 -341
  499. package/dist/vue_ui_label-B0QoxQrJ.js +0 -115
  500. package/dist/vue_ui_molecule-CO9L59SF.js +0 -231
  501. package/dist/vue_ui_mood_radar-BA6LAKhk.js +0 -281
  502. package/dist/vue_ui_nested_donuts-B8csIoVO.js +0 -273
  503. package/dist/vue_ui_onion-1FTFFS46.js +0 -293
  504. package/dist/vue_ui_parallel_coordinate_plot-CBiOBira.js +0 -278
  505. package/dist/vue_ui_quadrant-CDSTKTJz.js +0 -428
  506. package/dist/vue_ui_quick_chart-DByCqSYE.js +0 -180
  507. package/dist/vue_ui_radar-jafTED5j.js +0 -306
  508. package/dist/vue_ui_relation_circle-D0p4mXmv.js +0 -98
  509. package/dist/vue_ui_ridgeline-VM8_mx4J.js +0 -767
  510. package/dist/vue_ui_rings-BVgD2aMn.js +0 -320
  511. package/dist/vue_ui_scatter-I0POnicu.js +0 -479
  512. package/dist/vue_ui_spark_trend-DxVmpkmC.js +0 -82
  513. package/dist/vue_ui_sparkbar-z6qO--Kf.js +0 -64
  514. package/dist/vue_ui_sparkgauge-BX1MS3bA.js +0 -90
  515. package/dist/vue_ui_sparkhistogram-BRgvKUH6.js +0 -123
  516. package/dist/vue_ui_sparkline-b9pEUyGF.js +0 -183
  517. package/dist/vue_ui_sparkstackbar-BOjuQnZd.js +0 -175
  518. package/dist/vue_ui_stackbar-DdjDL6aq.js +0 -491
  519. package/dist/vue_ui_stackline-Bh0RuInt.js +0 -539
  520. package/dist/vue_ui_strip_plot-BaHbnnwN.js +0 -308
  521. package/dist/vue_ui_table_heatmap-w8vx5k6f.js +0 -80
  522. package/dist/vue_ui_table_sparkline-DAbkUrNz.js +0 -124
  523. package/dist/vue_ui_thermometer-DxgqWKlE.js +0 -123
  524. package/dist/vue_ui_tiremarks-CdEPieWV.js +0 -122
  525. package/dist/vue_ui_treemap-DoEtkRN6.js +0 -328
  526. package/dist/vue_ui_vertical_bar-CP-MKz1j.js +0 -247
  527. package/dist/vue_ui_waffle-DE_DiSVP.js +0 -299
  528. package/dist/vue_ui_wheel-DZ_nR--t.js +0 -133
  529. package/dist/vue_ui_word_cloud-C-qIMNLu.js +0 -254
  530. package/dist/vue_ui_xy-CcJADijP.js +0 -614
  531. package/dist/vue_ui_xy_canvas-DrNSzYWq.js +0 -487
@@ -1,2931 +0,0 @@
1
- import { t as e } from "./rolldown-runtime-Dy4uBu1J.js";
2
- import { Nt as t, Rt as n, S as r, X as i, Y as a, at as o, rt as s, t as c, tn as l, xt as u } from "./lib-TWIH5fGr.js";
3
- import { n as d, t as f } from "./useHints-Dq_w2E8B.js";
4
- import { t as p } from "./useConfig-DObkR9Aa.js";
5
- import { t as m } from "./usePrinter-8Y1Rju0Y.js";
6
- import { n as h, t as g } from "./BaseScanner-Dzc8VT3j.js";
7
- import { t as _ } from "./useNestedProp-BxOdWM0c.js";
8
- import { t as ee } from "./useThemeCheck-C43Tcqmk.js";
9
- import { t as te } from "./useChartExport-iwOqiIWX.js";
10
- import { t as ne } from "./img-KURaWjZI.js";
11
- import { n as re } from "./Title-Bd98RysU.js";
12
- import { t as ie } from "./_plugin-vue_export-helper-B3ysoDQm.js";
13
- import { l as ae, t as oe } from "./useResponsive-ZtArZtUf.js";
14
- import { t as se } from "./A11yDataTable-DdRsVULz.js";
15
- import { t as ce } from "./useUserOptionState-DK-_1ddE.js";
16
- import { t as le } from "./useChartAccessibility-DYqac8yF.js";
17
- import { t as ue } from "./usePanZoom-CYU3B4T3.js";
18
- import { t as de } from "./BaseZoomControls-BGQM8B5F.js";
19
- import { t as fe } from "./vue_ui_dag-TsJ_azQq.js";
20
- import { Fragment as pe, Teleport as me, Transition as he, computed as v, createBlock as ge, createCommentVNode as y, createElementBlock as b, createElementVNode as x, createSlots as _e, createTextVNode as ve, createVNode as ye, defineAsyncComponent as be, guardReactiveProps as S, mergeProps as xe, nextTick as Se, normalizeClass as Ce, normalizeProps as C, normalizeStyle as we, onBeforeUnmount as Te, onMounted as Ee, openBlock as w, ref as T, renderList as De, renderSlot as E, toDisplayString as Oe, toRefs as ke, unref as D, watch as Ae, watchEffect as je, withCtx as O, withModifiers as Me } from "vue";
21
- //#region src/DAG/graph.js
22
- var Ne = "\0", Pe = "\0", Fe = "", Ie = class {
23
- _isDirected = !0;
24
- _isMultigraph = !1;
25
- _isCompound = !1;
26
- _label;
27
- _defaultNodeLabelFn = () => void 0;
28
- _defaultEdgeLabelFn = () => void 0;
29
- _nodes = {};
30
- _in = {};
31
- _preds = {};
32
- _out = {};
33
- _sucs = {};
34
- _edgeObjs = {};
35
- _edgeLabels = {};
36
- _nodeCount = 0;
37
- _edgeCount = 0;
38
- _parent;
39
- _children;
40
- constructor(e) {
41
- e && (this._isDirected = !Object.hasOwn(e, "directed") || e.directed, this._isMultigraph = Object.hasOwn(e, "multigraph") ? e.multigraph : !1, this._isCompound = Object.hasOwn(e, "compound") ? e.compound : !1), this._isCompound && (this._parent = {}, this._children = {}, this._children[Pe] = {});
42
- }
43
- isDirected() {
44
- return this._isDirected;
45
- }
46
- isMultigraph() {
47
- return this._isMultigraph;
48
- }
49
- isCompound() {
50
- return this._isCompound;
51
- }
52
- setGraph(e) {
53
- return this._label = e, this;
54
- }
55
- graph() {
56
- return this._label;
57
- }
58
- setDefaultNodeLabel(e) {
59
- return this._defaultNodeLabelFn = e, typeof e != "function" && (this._defaultNodeLabelFn = () => e), this;
60
- }
61
- nodeCount() {
62
- return this._nodeCount;
63
- }
64
- nodes() {
65
- return Object.keys(this._nodes);
66
- }
67
- sources() {
68
- let e = this;
69
- return this.nodes().filter((t) => Object.keys(e._in[t]).length === 0);
70
- }
71
- sinks() {
72
- let e = this;
73
- return this.nodes().filter((t) => Object.keys(e._out[t]).length === 0);
74
- }
75
- setNodes(e, t) {
76
- let n = arguments, r = this;
77
- return e.forEach((e) => {
78
- n.length > 1 ? r.setNode(e, t) : r.setNode(e);
79
- }), this;
80
- }
81
- setNode(e, t) {
82
- return Object.hasOwn(this._nodes, e) ? (arguments.length > 1 && (this._nodes[e] = t), this) : (this._nodes[e] = arguments.length > 1 ? t : this._defaultNodeLabelFn(e), this._isCompound && (this._parent[e] = Pe, this._children[e] = {}, this._children[Pe][e] = !0), this._in[e] = {}, this._preds[e] = {}, this._out[e] = {}, this._sucs[e] = {}, ++this._nodeCount, this);
83
- }
84
- node(e) {
85
- return this._nodes[e];
86
- }
87
- hasNode(e) {
88
- return Object.hasOwn(this._nodes, e);
89
- }
90
- removeNode(e) {
91
- let t = this;
92
- if (Object.hasOwn(this._nodes, e)) {
93
- let n = (e) => t.removeEdge(t._edgeObjs[e]);
94
- delete this._nodes[e], this._isCompound && (this._removeFromParentsChildList(e), delete this._parent[e], this.children(e).forEach((e) => {
95
- t.setParent(e);
96
- }), delete this._children[e]), Object.keys(this._in[e]).forEach(n), delete this._in[e], delete this._preds[e], Object.keys(this._out[e]).forEach(n), delete this._out[e], delete this._sucs[e], --this._nodeCount;
97
- }
98
- return this;
99
- }
100
- setParent(e, t) {
101
- if (!this._isCompound) throw Error("Cannot set parent in a non-compound graph");
102
- if (t === void 0) t = Pe;
103
- else {
104
- t += "";
105
- for (let n = t; n !== void 0; n = this.parent(n)) if (n === e) throw Error("Setting " + t + " as parent of " + e + " would create a cycle");
106
- this.setNode(t);
107
- }
108
- return this.setNode(e), this._removeFromParentsChildList(e), this._parent[e] = t, this._children[t][e] = !0, this;
109
- }
110
- _removeFromParentsChildList(e) {
111
- delete this._children[this._parent[e]][e];
112
- }
113
- parent(e) {
114
- if (this._isCompound) {
115
- let t = this._parent[e];
116
- if (t !== Pe) return t;
117
- }
118
- }
119
- children(e = Pe) {
120
- if (this._isCompound) {
121
- let t = this._children[e];
122
- if (t) return Object.keys(t);
123
- } else if (e === Pe) return this.nodes();
124
- else if (this.hasNode(e)) return [];
125
- }
126
- predecessors(e) {
127
- let t = this._preds[e];
128
- if (t) return Object.keys(t);
129
- }
130
- successors(e) {
131
- let t = this._sucs[e];
132
- if (t) return Object.keys(t);
133
- }
134
- neighbors(e) {
135
- let t = this.predecessors(e);
136
- if (t) {
137
- let n = new Set(t);
138
- for (let t of this.successors(e)) n.add(t);
139
- return Array.from(n.values());
140
- }
141
- }
142
- isLeaf(e) {
143
- let t;
144
- return t = this.isDirected() ? this.successors(e) : this.neighbors(e), t.length === 0;
145
- }
146
- filterNodes(e) {
147
- let t = new this.constructor({
148
- directed: this._isDirected,
149
- multigraph: this._isMultigraph,
150
- compound: this._isCompound
151
- });
152
- t.setGraph(this.graph());
153
- let n = this;
154
- Object.entries(this._nodes).forEach(([n, r]) => {
155
- e(n) && t.setNode(n, r);
156
- }), Object.values(this._edgeObjs).forEach((e) => {
157
- t.hasNode(e.v) && t.hasNode(e.w) && t.setEdge(e, n.edge(e));
158
- });
159
- let r = {};
160
- function i(e) {
161
- let a = n.parent(e);
162
- return a === void 0 || t.hasNode(a) ? (r[e] = a, a) : a in r ? r[a] : i(a);
163
- }
164
- return this._isCompound && t.nodes().forEach((e) => t.setParent(e, i(e))), t;
165
- }
166
- setDefaultEdgeLabel(e) {
167
- return this._defaultEdgeLabelFn = e, typeof e != "function" && (this._defaultEdgeLabelFn = () => e), this;
168
- }
169
- edgeCount() {
170
- return this._edgeCount;
171
- }
172
- edges() {
173
- return Object.values(this._edgeObjs);
174
- }
175
- setPath(e, t) {
176
- let n = this, r = arguments;
177
- return e.reduce((e, i) => (r.length > 1 ? n.setEdge(e, i, t) : n.setEdge(e, i), i)), this;
178
- }
179
- setEdge() {
180
- let e, t, n, r, i = !1, a = arguments[0];
181
- typeof a == "object" && a && "v" in a ? (e = a.v, t = a.w, n = a.name, arguments.length === 2 && (r = arguments[1], i = !0)) : (e = a, t = arguments[1], n = arguments[3], arguments.length > 2 && (r = arguments[2], i = !0)), e = "" + e, t = "" + t, n !== void 0 && (n = "" + n);
182
- let o = A(this._isDirected, e, t, n);
183
- if (Object.hasOwn(this._edgeLabels, o)) return i && (this._edgeLabels[o] = r), this;
184
- if (n !== void 0 && !this._isMultigraph) throw Error("Cannot set a named edge when isMultigraph = false");
185
- this.setNode(e), this.setNode(t), this._edgeLabels[o] = i ? r : this._defaultEdgeLabelFn(e, t, n);
186
- let s = j(this._isDirected, e, t, n);
187
- return e = s.v, t = s.w, Object.freeze(s), this._edgeObjs[o] = s, Le(this._preds[t], e), Le(this._sucs[e], t), this._in[t][o] = s, this._out[e][o] = s, this._edgeCount++, this;
188
- }
189
- edge(e, t, n) {
190
- let r = arguments.length === 1 ? M(this._isDirected, arguments[0]) : A(this._isDirected, e, t, n);
191
- return this._edgeLabels[r];
192
- }
193
- edgeAsObj() {
194
- let e = this.edge(...arguments);
195
- return typeof e == "object" ? e : { label: e };
196
- }
197
- hasEdge(e, t, n) {
198
- let r = arguments.length === 1 ? M(this._isDirected, arguments[0]) : A(this._isDirected, e, t, n);
199
- return Object.hasOwn(this._edgeLabels, r);
200
- }
201
- removeEdge(e, t, n) {
202
- let r = arguments.length === 1 ? M(this._isDirected, arguments[0]) : A(this._isDirected, e, t, n), i = this._edgeObjs[r];
203
- return i && (e = i.v, t = i.w, delete this._edgeLabels[r], delete this._edgeObjs[r], k(this._preds[t], e), k(this._sucs[e], t), delete this._in[t][r], delete this._out[e][r], this._edgeCount--), this;
204
- }
205
- inEdges(e, t) {
206
- let n = this._in[e];
207
- if (n) {
208
- let e = Object.values(n);
209
- return t ? e.filter((e) => e.v === t) : e;
210
- }
211
- }
212
- outEdges(e, t) {
213
- let n = this._out[e];
214
- if (n) {
215
- let e = Object.values(n);
216
- return t ? e.filter((e) => e.w === t) : e;
217
- }
218
- }
219
- nodeEdges(e, t) {
220
- let n = this.inEdges(e, t);
221
- if (n) return n.concat(this.outEdges(e, t));
222
- }
223
- };
224
- function Le(e, t) {
225
- e[t] ? e[t]++ : e[t] = 1;
226
- }
227
- function k(e, t) {
228
- --e[t] || delete e[t];
229
- }
230
- function A(e, t, n, r) {
231
- let i = "" + t, a = "" + n;
232
- if (!e && i > a) {
233
- let e = i;
234
- i = a, a = e;
235
- }
236
- return i + Fe + a + Fe + (r === void 0 ? Ne : r);
237
- }
238
- function j(e, t, n, r) {
239
- let i = "" + t, a = "" + n;
240
- if (!e && i > a) {
241
- let e = i;
242
- i = a, a = e;
243
- }
244
- let o = {
245
- v: i,
246
- w: a
247
- };
248
- return r && (o.name = r), o;
249
- }
250
- function M(e, t) {
251
- return A(e, t.v, t.w, t.name);
252
- }
253
- //#endregion
254
- //#region src/DAG/data/list.js
255
- var Re = class {
256
- constructor() {
257
- let e = {};
258
- e._next = e._prev = e, this._sentinel = e;
259
- }
260
- dequeue() {
261
- let e = this._sentinel, t = e._prev;
262
- if (t !== e) return ze(t), t;
263
- }
264
- enqueue(e) {
265
- let t = this._sentinel;
266
- e._prev && e._next && ze(e), e._next = t._next, t._next._prev = e, t._next = e, e._prev = t;
267
- }
268
- toString() {
269
- let e = [], t = this._sentinel, n = t._prev;
270
- for (; n !== t;) e.push(JSON.stringify(n, Be)), n = n._prev;
271
- return "[" + e.join(", ") + "]";
272
- }
273
- };
274
- function ze(e) {
275
- e._prev._next = e._next, e._next._prev = e._prev, delete e._next, delete e._prev;
276
- }
277
- function Be(e, t) {
278
- if (e !== "_next" && e !== "_prev") return t;
279
- }
280
- //#endregion
281
- //#region src/DAG/greedy-fas.js
282
- var Ve = () => 1;
283
- function He(e, t) {
284
- if (e.nodeCount() <= 1) return [];
285
- let n = N(e, t || Ve);
286
- return Ue(n.graph, n.buckets, n.zeroIndex).flatMap((t) => e.outEdges(t.v, t.w));
287
- }
288
- function Ue(e, t, n) {
289
- let r = [], i = t[t.length - 1], a = t[0], o;
290
- for (; e.nodeCount();) {
291
- for (; o = a.dequeue();) We(e, t, n, o);
292
- for (; o = i.dequeue();) We(e, t, n, o);
293
- if (e.nodeCount()) {
294
- for (let i = t.length - 2; i > 0; --i) if (o = t[i].dequeue(), o) {
295
- r = r.concat(We(e, t, n, o, !0));
296
- break;
297
- }
298
- }
299
- }
300
- return r;
301
- }
302
- function We(e, t, n, r, i) {
303
- let a = i ? [] : void 0;
304
- return e.inEdges(r.v).forEach((r) => {
305
- let o = e.edge(r), s = e.node(r.v);
306
- i && a.push({
307
- v: r.v,
308
- w: r.w
309
- }), s.out -= o, P(t, n, s);
310
- }), e.outEdges(r.v).forEach((r) => {
311
- let i = e.edge(r), a = e.node(r.w);
312
- a.in -= i, P(t, n, a);
313
- }), e.removeNode(r.v), a;
314
- }
315
- function N(e, t) {
316
- let n = new Ie(), r = 0, i = 0;
317
- e.nodes().forEach((e) => {
318
- n.setNode(e, {
319
- v: e,
320
- in: 0,
321
- out: 0
322
- });
323
- }), e.edges().forEach((e) => {
324
- let a = n.edge(e.v, e.w) || 0, o = t(e), s = a + o;
325
- n.setEdge(e.v, e.w, s), i = Math.max(i, n.node(e.v).out += o), r = Math.max(r, n.node(e.w).in += o);
326
- });
327
- let a = F(i + r + 3).map(() => new Re()), o = r + 1;
328
- return n.nodes().forEach((e) => {
329
- P(a, o, n.node(e));
330
- }), {
331
- graph: n,
332
- buckets: a,
333
- zeroIndex: o
334
- };
335
- }
336
- function P(e, t, n) {
337
- n.out ? n.in ? e[n.out - n.in + t].enqueue(n) : e[e.length - 1].enqueue(n) : e[0].enqueue(n);
338
- }
339
- function F(e) {
340
- let t = [];
341
- for (let n = 0; n < e; n++) t.push(n);
342
- return t;
343
- }
344
- //#endregion
345
- //#region src/DAG/util.js
346
- function I(e, t, n, r) {
347
- let i = r;
348
- for (; e.hasNode(i);) i = et(r);
349
- return n.dummy = t, e.setNode(i, n), i;
350
- }
351
- function Ge(e) {
352
- let t = new Ie().setGraph(e.graph());
353
- return e.nodes().forEach((n) => {
354
- t.setNode(n, e.node(n));
355
- }), e.edges().forEach((n) => {
356
- let r = t.edge(n.v, n.w) || {
357
- weight: 0,
358
- minlen: 1
359
- }, i = e.edge(n);
360
- t.setEdge(n.v, n.w, {
361
- weight: r.weight + i.weight,
362
- minlen: Math.max(r.minlen, i.minlen)
363
- });
364
- }), t;
365
- }
366
- function Ke(e) {
367
- let t = new Ie({ multigraph: e.isMultigraph() }).setGraph(e.graph());
368
- return e.nodes().forEach((n) => {
369
- e.children(n).length || t.setNode(n, e.node(n));
370
- }), e.edges().forEach((n) => {
371
- t.setEdge(n, e.edge(n));
372
- }), t;
373
- }
374
- function qe(e) {
375
- let t = e.nodes().map((t) => {
376
- let n = {};
377
- return e.outEdges(t).forEach((t) => {
378
- n[t.w] = (n[t.w] || 0) + e.edge(t).weight;
379
- }), n;
380
- });
381
- return rt(e.nodes(), t);
382
- }
383
- function L(e) {
384
- let t = e.nodes().map((t) => {
385
- let n = {};
386
- return e.inEdges(t).forEach((t) => {
387
- n[t.v] = (n[t.v] || 0) + e.edge(t).weight;
388
- }), n;
389
- });
390
- return rt(e.nodes(), t);
391
- }
392
- function R(e, t) {
393
- let n = e.x, r = e.y, i = t.x - n, a = t.y - r, o = e.width / 2, s = e.height / 2;
394
- if (!i && !a) throw Error("Not possible to find intersection inside of the rectangle");
395
- let c, l;
396
- return Math.abs(a) * o > Math.abs(i) * s ? (a < 0 && (s = -s), c = s * i / a, l = s) : (i < 0 && (o = -o), c = o, l = o * a / i), {
397
- x: n + c,
398
- y: r + l
399
- };
400
- }
401
- function z(e) {
402
- let t = tt(U(e) + 1).map(() => []);
403
- return e.nodes().forEach((n) => {
404
- let r = e.node(n), i = r.rank;
405
- i !== void 0 && (t[i][r.order] = n);
406
- }), t;
407
- }
408
- function B(e) {
409
- let t = e.nodes().map((t) => {
410
- let n = e.node(t).rank;
411
- return n === void 0 ? Number.MAX_VALUE : n;
412
- }), n = H(Math.min, t);
413
- e.nodes().forEach((t) => {
414
- let r = e.node(t);
415
- Object.hasOwn(r, "rank") && (r.rank -= n);
416
- });
417
- }
418
- function V(e) {
419
- let t = e.nodes().map((t) => e.node(t).rank).filter((e) => e !== void 0), n = H(Math.min, t), r = [];
420
- e.nodes().forEach((t) => {
421
- let i = e.node(t).rank - n;
422
- r[i] || (r[i] = []), r[i].push(t);
423
- });
424
- let i = 0, a = e.graph().nodeRankFactor;
425
- Array.from(r).forEach((t, n) => {
426
- t === void 0 && n % a !== 0 ? --i : t !== void 0 && i && t.forEach((t) => {
427
- e.node(t).rank += i;
428
- });
429
- });
430
- }
431
- function Je(e, t, n, r) {
432
- let i = {
433
- width: 0,
434
- height: 0
435
- };
436
- return arguments.length >= 4 && (i.rank = n, i.order = r), I(e, "border", i, t);
437
- }
438
- var Ye = 65535;
439
- function Xe(e, t = Ye) {
440
- let n = [];
441
- for (let r = 0; r < e.length; r += t) {
442
- let i = e.slice(r, r + t);
443
- n.push(i);
444
- }
445
- return n;
446
- }
447
- function H(e, t) {
448
- if (t.length > Ye) {
449
- let n = Xe(t);
450
- return e.apply(null, n.map((t) => e.apply(null, t)));
451
- }
452
- return e.apply(null, t);
453
- }
454
- function U(e) {
455
- let t = e.nodes().map((t) => {
456
- let n = e.node(t).rank;
457
- return n === void 0 ? Number.MIN_VALUE : n;
458
- });
459
- return H(Math.max, t);
460
- }
461
- function Ze(e, t) {
462
- let n = {
463
- lhs: [],
464
- rhs: []
465
- };
466
- return e.forEach((e) => {
467
- t(e) ? n.lhs.push(e) : n.rhs.push(e);
468
- }), n;
469
- }
470
- function Qe(e, t) {
471
- let n = Date.now();
472
- try {
473
- return t();
474
- } finally {
475
- console.log(e + " time: " + (Date.now() - n) + "ms");
476
- }
477
- }
478
- function $e(e, t) {
479
- return t();
480
- }
481
- var W = 0;
482
- function et(e) {
483
- let t = ++W;
484
- return e + String(t);
485
- }
486
- function tt(e, t, n = 1) {
487
- t ?? (t = e, e = 0);
488
- let r = (e) => e < t;
489
- n < 0 && (r = (e) => t < e);
490
- let i = [];
491
- for (let t = e; r(t); t += n) i.push(t);
492
- return i;
493
- }
494
- function G(e, t) {
495
- let n = {};
496
- for (let r of t) e[r] !== void 0 && (n[r] = e[r]);
497
- return n;
498
- }
499
- function nt(e, t) {
500
- let n = t;
501
- if (typeof t == "string") {
502
- let e = t;
503
- n = (t) => t[e];
504
- }
505
- return Object.entries(e).reduce((e, [t, r]) => (e[t] = n(r, t), e), {});
506
- }
507
- function rt(e, t) {
508
- return e.reduce((e, n, r) => (e[n] = t[r], e), {});
509
- }
510
- var it = {
511
- addBorderNode: Je,
512
- addDummyNode: I,
513
- applyWithChunking: H,
514
- asNonCompoundGraph: Ke,
515
- buildLayerMatrix: z,
516
- intersectRect: R,
517
- mapValues: nt,
518
- maxRank: U,
519
- normalizeRanks: B,
520
- notime: $e,
521
- partition: Ze,
522
- pick: G,
523
- predecessorWeights: L,
524
- range: tt,
525
- removeEmptyRanks: V,
526
- simplify: Ge,
527
- successorWeights: qe,
528
- time: Qe,
529
- uniqueId: et,
530
- zipObject: rt
531
- };
532
- //#endregion
533
- //#region src/DAG/acyclic.js
534
- function at(e) {
535
- (e.graph().acyclicer === "greedy" ? He(e, t(e)) : K(e)).forEach((t) => {
536
- let n = e.edge(t);
537
- e.removeEdge(t), n.forwardName = t.name, n.reversed = !0, e.setEdge(t.w, t.v, n, et("rev"));
538
- });
539
- function t(e) {
540
- return (t) => e.edge(t).weight;
541
- }
542
- }
543
- function ot(e) {
544
- e.edges().forEach((t) => {
545
- let n = e.edge(t);
546
- if (n.reversed) {
547
- e.removeEdge(t);
548
- let r = n.forwardName;
549
- delete n.reversed, delete n.forwardName, e.setEdge(t.w, t.v, n, r);
550
- }
551
- });
552
- }
553
- function K(e) {
554
- let t = [], n = {}, r = {};
555
- function i(a) {
556
- Object.hasOwn(r, a) || (r[a] = !0, n[a] = !0, e.outEdges(a).forEach((e) => {
557
- Object.hasOwn(n, e.w) ? t.push(e) : i(e.w);
558
- }), delete n[a]);
559
- }
560
- return e.nodes().forEach(i), t;
561
- }
562
- //#endregion
563
- //#region src/DAG/normalize.js
564
- function st(e) {
565
- e.graph().dummyChains = [], e.edges().forEach((t) => ct(e, t));
566
- }
567
- function ct(e, t) {
568
- let n = t.v, r = e.node(n).rank, i = t.w, a = e.node(i).rank, o = t.name, s = e.edge(t), c = s.labelRank;
569
- if (a === r + 1) return;
570
- e.removeEdge(t);
571
- let l, u, d = 0;
572
- for (++r; r < a; ++d, ++r) s.points = [], u = {
573
- width: 0,
574
- height: 0,
575
- edgeLabel: s,
576
- edgeObj: t,
577
- rank: r
578
- }, l = I(e, "edge", u, "_d"), r === c && (u.width = s.width, u.height = s.height, u.dummy = "edge-label", u.labelpos = s.labelpos), e.setEdge(n, l, { weight: s.weight }, o), d === 0 && e.graph().dummyChains.push(l), n = l;
579
- e.setEdge(n, i, { weight: s.weight }, o);
580
- }
581
- function lt(e) {
582
- e.graph().dummyChains.forEach((t) => {
583
- let n = e.node(t), r = n.edgeLabel;
584
- e.setEdge(n.edgeObj, r);
585
- let i;
586
- for (; n.dummy;) i = e.successors(t)[0], e.removeNode(t), r.points.push({
587
- x: n.x,
588
- y: n.y
589
- }), n.dummy === "edge-label" && (r.x = n.x, r.y = n.y, r.width = n.width, r.height = n.height), t = i, n = e.node(t);
590
- });
591
- }
592
- //#endregion
593
- //#region src/DAG/rank/util.js
594
- function q(e) {
595
- function t(n) {
596
- let r = e.node(n);
597
- if (r && Object.prototype.hasOwnProperty.call(r, "rank")) return r.rank;
598
- let i = e.outEdges(n) || [];
599
- if (!i.length) return r && (r.rank = 0), 0;
600
- let a = i.map((n) => e.node(n.w) ? t(n.w) - e.edge(n).minlen : Infinity), o = H(Math.min, a);
601
- return o === Infinity && (o = 0), r && (r.rank = o), o;
602
- }
603
- (e.sources() || []).forEach(t);
604
- }
605
- function ut(e, t) {
606
- return e.node(t.w).rank - e.node(t.v).rank - e.edge(t).minlen;
607
- }
608
- //#endregion
609
- //#region src/DAG/rank/feasible-tree.js
610
- function dt(e) {
611
- ft(e);
612
- let t = new Ie();
613
- e.nodes().forEach((e) => {
614
- t.setNode(e, {});
615
- });
616
- let n = e.nodes();
617
- if (!n.length) return t;
618
- let r = n[0], i = /* @__PURE__ */ new Set([r]);
619
- for (; i.size < n.length;) {
620
- let r = pt(e, i);
621
- if (!r) {
622
- let e = n.find((e) => !i.has(e));
623
- i.add(e), t.setNode(e, {});
624
- continue;
625
- }
626
- let { edgeObject: a, delta: o, attachFrom: s, attachTo: c } = r;
627
- mt(e, i, s, o), t.setEdge(a.v, a.w, {}), i.add(c);
628
- }
629
- return t;
630
- }
631
- function ft(e) {
632
- e.nodes().forEach((t) => {
633
- let n = e.node(t) || {};
634
- Object.prototype.hasOwnProperty.call(n, "rank") || (n.rank = 0, e.setNode(t, n));
635
- });
636
- }
637
- function pt(e, t) {
638
- let n = null;
639
- return e.edges().forEach((r) => {
640
- let i = t.has(r.v);
641
- if (i === t.has(r.w)) return;
642
- let a = ut(e, r), o = Math.abs(a);
643
- if (!n || o < n.absoluteSlack) {
644
- let e = i ? r.v : r.w, t = i ? r.w : r.v;
645
- n = {
646
- edgeObject: r,
647
- delta: i ? a : -a,
648
- attachFrom: e,
649
- attachTo: t,
650
- absoluteSlack: o
651
- };
652
- }
653
- }), n;
654
- }
655
- function mt(e, t, n, r) {
656
- r && e.nodes().forEach((n) => {
657
- if (!t.has(n)) {
658
- let t = e.node(n);
659
- t.rank += r;
660
- }
661
- });
662
- }
663
- //#endregion
664
- //#region src/DAG/rank/network-simplex.js
665
- function ht(e) {
666
- let t = Ge(e);
667
- return q(t), t.nodes().forEach((n) => {
668
- let r = t.node(n), i = e.node(n) || {};
669
- i.rank = r.rank, e.setNode(n, i);
670
- }), e;
671
- }
672
- function gt(e, t) {}
673
- function _t(e, t) {}
674
- function vt(e, t, n) {
675
- return 0;
676
- }
677
- function yt(e) {
678
- return null;
679
- }
680
- function bt(e, t) {
681
- return null;
682
- }
683
- ht.initLowLimValues = gt, ht.initCutValues = _t, ht.calcCutValue = vt, ht.leaveEdge = yt, ht.enterEdge = bt;
684
- //#endregion
685
- //#region src/DAG/rank/index.js
686
- var xt = q;
687
- function St(e) {
688
- let t = e.graph().ranker;
689
- if (t instanceof Function) return t(e);
690
- switch (e.graph().ranker) {
691
- case "network-simplex":
692
- Tt(e);
693
- break;
694
- case "tight-tree":
695
- wt(e);
696
- break;
697
- case "longest-path":
698
- Ct(e);
699
- break;
700
- case "none": break;
701
- default: Tt(e);
702
- }
703
- }
704
- var Ct = xt;
705
- function wt(e) {
706
- xt(e), dt(e);
707
- }
708
- function Tt(e) {
709
- ht(e);
710
- }
711
- //#endregion
712
- //#region src/DAG/parent-dummy-chains.js
713
- function Et(e) {
714
- let t = Ot(e);
715
- e.graph().dummyChains.forEach((n) => {
716
- let r = e.node(n), i = r.edgeObj, a = Dt(e, t, i.v, i.w), o = a.path, s = a.lca, c = 0, l = o[c], u = !0, d = n;
717
- for (; d !== i.w;) {
718
- if (r = e.node(d), u) {
719
- for (; (l = o[c]) !== s && e.node(l).maxRank < r.rank;) c++;
720
- l === s && (u = !1);
721
- }
722
- if (!u) {
723
- for (; c < o.length - 1 && e.node(l = o[c + 1]).minRank <= r.rank;) c++;
724
- l = o[c];
725
- }
726
- e.setParent(d, l), d = e.successors(d)[0];
727
- }
728
- });
729
- }
730
- function Dt(e, t, n, r) {
731
- let i = [], a = [], o = Math.min(t[n].low, t[r].low), s = Math.max(t[n].lim, t[r].lim), c, l;
732
- c = n;
733
- do
734
- c = e.parent(c), i.push(c);
735
- while (c && (t[c].low > o || s > t[c].lim));
736
- for (l = c, c = r; (c = e.parent(c)) !== l;) a.push(c);
737
- return {
738
- path: i.concat(a.reverse()),
739
- lca: l
740
- };
741
- }
742
- function Ot(e) {
743
- let t = {}, n = 0;
744
- function r(i) {
745
- let a = n;
746
- e.children(i).forEach(r), t[i] = {
747
- low: a,
748
- lim: n++
749
- };
750
- }
751
- return e.children().forEach(r), t;
752
- }
753
- //#endregion
754
- //#region src/DAG/nested-graph.js
755
- function J(e) {
756
- let t = it.addDummyNode(e, "root", {}, "_root"), n = At(e), r = Object.values(n), i = it.applyWithChunking(Math.max, r) - 1, a = 2 * i + 1;
757
- e.graph().nestingRoot = t, e.edges().forEach((t) => {
758
- e.edge(t).minlen *= a;
759
- });
760
- let o = Y(e) + 1;
761
- e.children().forEach((r) => {
762
- kt(e, t, a, o, i, n, r);
763
- }), e.graph().nodeRankFactor = a;
764
- }
765
- function kt(e, t, n, r, i, a, o) {
766
- let s = e.children(o);
767
- if (!s.length) {
768
- o !== t && e.setEdge(t, o, {
769
- weight: 0,
770
- minlen: n
771
- });
772
- return;
773
- }
774
- let c = it.addBorderNode(e, "_bt"), l = it.addBorderNode(e, "_bb"), u = e.node(o);
775
- e.setParent(c, o), u.borderTop = c, e.setParent(l, o), u.borderBottom = l, s.forEach((s) => {
776
- kt(e, t, n, r, i, a, s);
777
- let u = e.node(s), d = u.borderTop ? u.borderTop : s, f = u.borderBottom ? u.borderBottom : s, p = u.borderTop ? r : 2 * r, m = d === f ? i - a[o] + 1 : 1;
778
- e.setEdge(c, d, {
779
- weight: p,
780
- minlen: m,
781
- nestingEdge: !0
782
- }), e.setEdge(f, l, {
783
- weight: p,
784
- minlen: m,
785
- nestingEdge: !0
786
- });
787
- }), e.parent(o) || e.setEdge(t, c, {
788
- weight: 0,
789
- minlen: i + a[o]
790
- });
791
- }
792
- function At(e) {
793
- let t = {};
794
- function n(r, i) {
795
- let a = e.children(r);
796
- a && a.length && a.forEach((e) => n(e, i + 1)), t[r] = i;
797
- }
798
- return e.children().forEach((e) => n(e, 1)), t;
799
- }
800
- function Y(e) {
801
- return e.edges().reduce((t, n) => t + e.edge(n).weight, 0);
802
- }
803
- function jt(e) {
804
- let t = e.graph();
805
- e.removeNode(t.nestingRoot), delete t.nestingRoot, e.edges().forEach((t) => {
806
- e.edge(t).nestingEdge && e.removeEdge(t);
807
- });
808
- }
809
- //#endregion
810
- //#region src/DAG/add-border-segments.js
811
- function Mt(e) {
812
- function t(n) {
813
- let r = e.children(n), i = e.node(n);
814
- if (r.length && r.forEach(t), Object.hasOwn(i, "minRank")) {
815
- i.borderLeft = [], i.borderRight = [];
816
- for (let t = i.minRank, r = i.maxRank + 1; t < r; ++t) X(e, "borderLeft", "_bl", n, i, t), X(e, "borderRight", "_br", n, i, t);
817
- }
818
- }
819
- e.children().forEach(t);
820
- }
821
- function X(e, t, n, r, i, a) {
822
- let o = {
823
- width: 0,
824
- height: 0,
825
- rank: a,
826
- borderType: t
827
- }, s = i[t][a - 1], c = I(e, "border", o, n);
828
- i[t][a] = c, e.setParent(c, r), s && e.setEdge(s, c, { weight: 1 });
829
- }
830
- //#endregion
831
- //#region src/DAG/coordinate-system.js
832
- function Nt(e) {
833
- let t = e.graph().rankdir.toLowerCase();
834
- (t === "lr" || t === "rl") && Ft(e);
835
- }
836
- function Pt(e) {
837
- let t = e.graph().rankdir.toLowerCase();
838
- (t === "bt" || t === "rl") && Lt(e), (t === "lr" || t === "rl") && (zt(e), Ft(e));
839
- }
840
- function Ft(e) {
841
- e.nodes().forEach((t) => {
842
- It(e.node(t));
843
- }), e.edges().forEach((t) => {
844
- It(e.edge(t));
845
- });
846
- }
847
- function It(e) {
848
- let t = e.width;
849
- e.width = e.height, e.height = t;
850
- }
851
- function Lt(e) {
852
- e.nodes().forEach((t) => {
853
- Rt(e.node(t));
854
- }), e.edges().forEach((t) => {
855
- let n = e.edge(t);
856
- n.points.forEach(Rt), Object.hasOwn(n, "y") && Rt(n);
857
- });
858
- }
859
- function Rt(e) {
860
- e.y = -e.y;
861
- }
862
- function zt(e) {
863
- e.nodes().forEach((t) => {
864
- Bt(e.node(t));
865
- }), e.edges().forEach((t) => {
866
- let n = e.edge(t);
867
- n.points.forEach(Bt), Object.hasOwn(n, "x") && Bt(n);
868
- });
869
- }
870
- function Bt(e) {
871
- let t = e.x;
872
- e.x = e.y, e.y = t;
873
- }
874
- var Vt = {
875
- adjust: Nt,
876
- undo: Pt
877
- };
878
- //#endregion
879
- //#region src/DAG/order/init-order.js
880
- function Ht(e) {
881
- let t = {}, n = e.nodes().filter((t) => e.children(t).length === 0), r = n.map((t) => e.node(t).rank), i = tt(H(Math.max, r) + 1).map(() => []);
882
- function a(n) {
883
- if (t[n]) return;
884
- t[n] = !0;
885
- let r = e.node(n);
886
- i[r.rank].push(n), e.successors(n).forEach(a);
887
- }
888
- return n.sort((t, n) => e.node(t).rank - e.node(n).rank).forEach(a), i;
889
- }
890
- //#endregion
891
- //#region src/DAG/order/cross-count.js
892
- function Ut(e, t) {
893
- let n = 0;
894
- for (let r = 1; r < t.length; ++r) n += Wt(e, t[r - 1], t[r]);
895
- return n;
896
- }
897
- function Wt(e, t, n) {
898
- let r = rt(n, n.map((e, t) => t)), i = t.flatMap((t) => e.outEdges(t).map((t) => ({
899
- pos: r[t.w],
900
- weight: e.edge(t).weight
901
- })).sort((e, t) => e.pos - t.pos)), a = 1;
902
- for (; a < n.length;) a <<= 1;
903
- let o = 2 * a - 1;
904
- --a;
905
- let s = Array(o).fill(0), c = 0;
906
- return i.forEach((e) => {
907
- let t = e.pos + a;
908
- s[t] += e.weight;
909
- let n = 0;
910
- for (; t > 0;) t % 2 && (n += s[t + 1]), t = t - 1 >> 1, s[t] += e.weight;
911
- c += e.weight * n;
912
- }), c;
913
- }
914
- //#endregion
915
- //#region src/DAG/order/barycenter.js
916
- function Gt(e, t = []) {
917
- return t.map((t) => {
918
- let n = e.inEdges(t);
919
- if (!n.length) return { v: t };
920
- let r = n.reduce((t, n) => {
921
- let r = e.edge(n), i = e.node(n.v);
922
- return {
923
- sum: t.sum + r.weight * i.order,
924
- weight: t.weight + r.weight
925
- };
926
- }, {
927
- sum: 0,
928
- weight: 0
929
- });
930
- return {
931
- v: t,
932
- barycenter: r.sum / r.weight,
933
- weight: r.weight
934
- };
935
- });
936
- }
937
- //#endregion
938
- //#region src/DAG/order/resolve-conflicts.js
939
- function Kt(e, t) {
940
- let n = {};
941
- return e.forEach((e, t) => {
942
- let r = n[e.v] = {
943
- indegree: 0,
944
- in: [],
945
- out: [],
946
- vs: [e.v],
947
- i: t
948
- };
949
- e.barycenter !== void 0 && (r.barycenter = e.barycenter, r.weight = e.weight);
950
- }), t.edges().forEach((e) => {
951
- let t = n[e.v], r = n[e.w];
952
- t !== void 0 && r !== void 0 && (r.indegree++, t.out.push(r));
953
- }), qt(Object.values(n).filter((e) => !e.indegree));
954
- }
955
- function qt(e) {
956
- let t = [];
957
- function n(e) {
958
- return (t) => {
959
- t.merged || (t.barycenter === void 0 || e.barycenter === void 0 || t.barycenter >= e.barycenter) && Jt(e, t);
960
- };
961
- }
962
- function r(t) {
963
- return (n) => {
964
- n.in.push(t), --n.indegree === 0 && e.push(n);
965
- };
966
- }
967
- for (; e.length;) {
968
- let i = e.pop();
969
- t.push(i), i.in.reverse().forEach(n(i)), i.out.forEach(r(i));
970
- }
971
- return t.filter((e) => !e.merged).map((e) => G(e, [
972
- "vs",
973
- "i",
974
- "barycenter",
975
- "weight"
976
- ]));
977
- }
978
- function Jt(e, t) {
979
- let n = 0, r = 0;
980
- e.weight && (n += e.barycenter * e.weight, r += e.weight), t.weight && (n += t.barycenter * t.weight, r += t.weight), e.vs = t.vs.concat(e.vs), e.barycenter = n / r, e.weight = r, e.i = Math.min(t.i, e.i), t.merged = !0;
981
- }
982
- //#endregion
983
- //#region src/DAG/order/sort.js
984
- function Yt(e, t) {
985
- let n = Ze(e, (e) => Object.hasOwn(e, "barycenter")), r = n.lhs, i = n.rhs.sort((e, t) => t.i - e.i), a = [], o = 0, s = 0, c = 0;
986
- r.sort(Z(!!t)), c = Xt(a, i, c), r.forEach((e) => {
987
- c += e.vs.length, a.push(e.vs), o += e.barycenter * e.weight, s += e.weight, c = Xt(a, i, c);
988
- });
989
- let l = { vs: a.flat(!0) };
990
- return s && (l.barycenter = o / s, l.weight = s), l;
991
- }
992
- function Xt(e, t, n) {
993
- let r;
994
- for (; t.length && (r = t[t.length - 1]).i <= n;) t.pop(), e.push(r.vs), n++;
995
- return n;
996
- }
997
- function Z(e) {
998
- return (t, n) => t.barycenter < n.barycenter ? -1 : t.barycenter > n.barycenter ? 1 : e ? n.i - t.i : t.i - n.i;
999
- }
1000
- //#endregion
1001
- //#region src/DAG/order/sort-subgraph.js
1002
- function Zt(e, t, n, r) {
1003
- let i = e.children(t), a = e.node(t), o = a ? a.borderLeft : void 0, s = a ? a.borderRight : void 0, c = {};
1004
- o && (i = i.filter((e) => e !== o && e !== s));
1005
- let l = Gt(e, i);
1006
- l.forEach((t) => {
1007
- if (e.children(t.v).length) {
1008
- let i = Zt(e, t.v, n, r);
1009
- c[t.v] = i, Object.hasOwn(i, "barycenter") && $t(t, i);
1010
- }
1011
- });
1012
- let u = Kt(l, n);
1013
- Qt(u, c);
1014
- let d = Yt(u, r);
1015
- if (o && (d.vs = [
1016
- o,
1017
- d.vs,
1018
- s
1019
- ].flat(!0), e.predecessors(o).length)) {
1020
- let t = e.node(e.predecessors(o)[0]), n = e.node(e.predecessors(s)[0]);
1021
- Object.hasOwn(d, "barycenter") || (d.barycenter = 0, d.weight = 0), d.barycenter = (d.barycenter * d.weight + t.order + n.order) / (d.weight + 2), d.weight += 2;
1022
- }
1023
- return d;
1024
- }
1025
- function Qt(e, t) {
1026
- e.forEach((e) => {
1027
- e.vs = e.vs.flatMap((e) => t[e] ? t[e].vs : e);
1028
- });
1029
- }
1030
- function $t(e, t) {
1031
- e.barycenter === void 0 ? (e.barycenter = t.barycenter, e.weight = t.weight) : (e.barycenter = (e.barycenter * e.weight + t.barycenter * t.weight) / (e.weight + t.weight), e.weight += t.weight);
1032
- }
1033
- //#endregion
1034
- //#region src/DAG/order/build-layer-graph.js
1035
- function en(e, t, n, r) {
1036
- r ||= e.nodes();
1037
- let i = tn(e), a = new Ie({ compound: !0 }).setGraph({ root: i }).setDefaultNodeLabel((t) => e.node(t));
1038
- return r.forEach((r) => {
1039
- let o = e.node(r), s = e.parent(r);
1040
- (o.rank === t || o.minRank <= t && t <= o.maxRank) && (a.setNode(r), a.setParent(r, s || i), e[n](r).forEach((t) => {
1041
- let n = t.v === r ? t.w : t.v, i = a.edge(n, r), o = i ? i.weight : 0;
1042
- a.setEdge(n, r, { weight: e.edge(t).weight + o });
1043
- }), Object.hasOwn(o, "minRank") && a.setNode(r, {
1044
- borderLeft: o.borderLeft[t],
1045
- borderRight: o.borderRight[t]
1046
- }));
1047
- }), a;
1048
- }
1049
- function tn(e) {
1050
- let t;
1051
- for (; e.hasNode(t = et("_root")););
1052
- return t;
1053
- }
1054
- //#endregion
1055
- //#region src/DAG/order/add-subgraph-constraints.js
1056
- function nn(e, t, n) {
1057
- let r = {}, i;
1058
- n.forEach((n) => {
1059
- let a = e.parent(n), o, s;
1060
- for (; a;) {
1061
- if (o = e.parent(a), o ? (s = r[o], r[o] = a) : (s = i, i = a), s && s !== a) {
1062
- t.setEdge(s, a);
1063
- return;
1064
- }
1065
- a = o;
1066
- }
1067
- });
1068
- }
1069
- //#endregion
1070
- //#region src/DAG/order/index.js
1071
- function rn(e, t = {}) {
1072
- if (typeof t.customOrder == "function") {
1073
- t.customOrder(e, rn);
1074
- return;
1075
- }
1076
- let n = U(e), r = an(e, tt(1, n + 1), "inEdges"), i = an(e, tt(n - 1, -1, -1), "outEdges"), a = Ht(e);
1077
- if (sn(e, a), t.disableOptimalOrderHeuristic) return;
1078
- let o = Infinity, s, c = t.constraints || [];
1079
- for (let t = 0, n = 0; n < 4; ++t, ++n) {
1080
- on(t % 2 == 0 ? r : i, t % 4 >= 2, c), a = z(e);
1081
- let l = Ut(e, a);
1082
- l < o ? (o = l, n = 0, s = structuredClone(a)) : l === o && (s = structuredClone(a));
1083
- }
1084
- sn(e, s);
1085
- }
1086
- function an(e, t, n) {
1087
- let r = /* @__PURE__ */ new Map();
1088
- function i(e, t) {
1089
- r.has(e) || r.set(e, []), r.get(e).push(t);
1090
- }
1091
- for (let t of e.nodes()) {
1092
- let n = e.node(t);
1093
- if (typeof n.rank == "number" && i(n.rank, t), typeof n.minRank == "number" && typeof n.maxRank == "number") for (let e = n.minRank; e <= n.maxRank; e++) e !== n.rank && i(e, t);
1094
- }
1095
- return t.map((t) => en(e, t, n, r.get(t) || []));
1096
- }
1097
- function on(e, t, n) {
1098
- let r = new Ie();
1099
- e.forEach((e) => {
1100
- n.forEach((e) => r.setEdge(e.left, e.right));
1101
- let i = e.graph().root, a = Zt(e, i, r, t);
1102
- a.vs.forEach((t, n) => {
1103
- e.node(t).order = n;
1104
- }), nn(e, r, a.vs);
1105
- });
1106
- }
1107
- function sn(e, t) {
1108
- Object.values(t).forEach((t) => {
1109
- t.forEach((t, n) => {
1110
- e.node(t).order = n;
1111
- });
1112
- });
1113
- }
1114
- //#endregion
1115
- //#region src/DAG/position/bk.js
1116
- function cn(e, t) {
1117
- let n = {};
1118
- function r(t, r) {
1119
- let i = 0, a = 0, o = t.length, s = r[r.length - 1];
1120
- return r.forEach((t, c) => {
1121
- let l = un(e, t), u = l ? e.node(l).order : o;
1122
- (l || t === s) && (r.slice(a, c + 1).forEach((t) => {
1123
- e.predecessors(t).forEach((r) => {
1124
- let a = e.node(r), o = a.order;
1125
- (o < i || u < o) && !(a.dummy && e.node(t).dummy) && dn(n, r, t);
1126
- });
1127
- }), a = c + 1, i = u);
1128
- }), r;
1129
- }
1130
- return t.length && t.reduce(r), n;
1131
- }
1132
- function ln(e, t) {
1133
- let n = {};
1134
- function r(t, r, i, a, o) {
1135
- let s;
1136
- tt(r, i).forEach((r) => {
1137
- s = t[r], e.node(s).dummy && e.predecessors(s).forEach((t) => {
1138
- let r = e.node(t);
1139
- r.dummy && (r.order < a || r.order > o) && dn(n, t, s);
1140
- });
1141
- });
1142
- }
1143
- function i(t, n) {
1144
- let i = -1, a, o = 0;
1145
- return n.forEach((s, c) => {
1146
- if (e.node(s).dummy === "border") {
1147
- let t = e.predecessors(s);
1148
- t.length && (a = e.node(t[0]).order, r(n, o, c, i, a), o = c, i = a);
1149
- }
1150
- r(n, o, n.length, a, t.length);
1151
- }), n;
1152
- }
1153
- return t.length && t.reduce(i), n;
1154
- }
1155
- function un(e, t) {
1156
- if (e.node(t).dummy) return e.predecessors(t).find((t) => e.node(t).dummy);
1157
- }
1158
- function dn(e, t, n) {
1159
- if (t > n) {
1160
- let e = t;
1161
- t = n, n = e;
1162
- }
1163
- let r = e[t];
1164
- r || (e[t] = r = {}), r[n] = !0;
1165
- }
1166
- function fn(e, t, n) {
1167
- if (t > n) {
1168
- let e = t;
1169
- t = n, n = e;
1170
- }
1171
- return !!e[t] && Object.hasOwn(e[t], n);
1172
- }
1173
- function pn(e, t, n, r) {
1174
- let i = {}, a = {}, o = {};
1175
- return t.forEach((e) => {
1176
- e.forEach((e, t) => {
1177
- i[e] = e, a[e] = e, o[e] = t;
1178
- });
1179
- }), t.forEach((e) => {
1180
- let t = -1;
1181
- e.forEach((e) => {
1182
- let s = r(e);
1183
- if (s.length) {
1184
- s = s.sort((e, t) => o[e] - o[t]);
1185
- let r = (s.length - 1) / 2;
1186
- for (let c = Math.floor(r), l = Math.ceil(r); c <= l; ++c) {
1187
- let r = s[c];
1188
- a[e] === e && t < o[r] && !fn(n, e, r) && (a[r] = e, a[e] = i[e] = i[r], t = o[r]);
1189
- }
1190
- }
1191
- });
1192
- }), {
1193
- root: i,
1194
- align: a
1195
- };
1196
- }
1197
- function Q(e, t, n, r, i) {
1198
- let a = {}, o = mn(e, t, n, i), s = i ? "borderLeft" : "borderRight";
1199
- function c(e, t) {
1200
- let n = o.nodes().slice(), r = {}, i = n.pop();
1201
- for (; i;) {
1202
- if (r[i]) e(i);
1203
- else {
1204
- r[i] = !0, n.push(i);
1205
- for (let e of t(i)) n.push(e);
1206
- }
1207
- i = n.pop();
1208
- }
1209
- }
1210
- function l(e) {
1211
- a[e] = o.inEdges(e).reduce((e, t) => Math.max(e, a[t.v] + o.edge(t)), 0);
1212
- }
1213
- function u(t) {
1214
- let n = o.outEdges(t).reduce((e, t) => Math.min(e, a[t.w] - o.edge(t)), Infinity), r = e.node(t);
1215
- n !== Infinity && r.borderType !== s && (a[t] = Math.max(a[t], n));
1216
- }
1217
- return c(l, o.predecessors.bind(o)), c(u, o.successors.bind(o)), Object.keys(r).forEach((e) => {
1218
- a[e] = a[n[e]];
1219
- }), a;
1220
- }
1221
- function mn(e, t, n, r) {
1222
- let i = new e.constructor(), a = e.graph(), o = yn(a.nodesep, a.edgesep, r);
1223
- return t.forEach((t) => {
1224
- let r;
1225
- t.forEach((t) => {
1226
- let a = n[t];
1227
- if (i.setNode(a), r) {
1228
- let s = n[r], c = i.edge(s, a);
1229
- i.setEdge(s, a, Math.max(o(e, t, r), c || 0));
1230
- }
1231
- r = t;
1232
- });
1233
- }), i;
1234
- }
1235
- function hn(e, t) {
1236
- return Object.values(t).reduce((t, n) => {
1237
- let r = -Infinity, i = Infinity;
1238
- Object.entries(n).forEach(([t, n]) => {
1239
- let a = bn(e, t) / 2;
1240
- r = Math.max(n + a, r), i = Math.min(n - a, i);
1241
- });
1242
- let a = r - i;
1243
- return a < t[0] && (t = [a, n]), t;
1244
- }, [Infinity, null])[1];
1245
- }
1246
- function gn(e, t) {
1247
- let n = Object.values(t), r = H(Math.min, n), i = H(Math.max, n);
1248
- ["u", "d"].forEach((n) => {
1249
- ["l", "r"].forEach((a) => {
1250
- let o = n + a, s = e[o];
1251
- if (s === t) return;
1252
- let c = Object.values(s), l = r - H(Math.min, c);
1253
- a !== "l" && (l = i - H(Math.max, c)), l && (s = nt(s, (e) => e + l), e[o] = s);
1254
- });
1255
- });
1256
- }
1257
- function _n(e, t) {
1258
- return nt(e.ul, (n, r) => {
1259
- if (t) return e[t.toLowerCase()][r];
1260
- let i = Object.values(e).map((e) => e[r]).sort((e, t) => e - t);
1261
- return (i[1] + i[2]) / 2;
1262
- });
1263
- }
1264
- function vn(e) {
1265
- let t = z(e), n = Object.assign(cn(e, t), ln(e, t)), r = {}, i;
1266
- return ["u", "d"].forEach((a) => {
1267
- i = a === "u" ? t : Object.values(t).reverse(), ["l", "r"].forEach((t) => {
1268
- let o = i;
1269
- t === "r" && (o = o.map((e) => Object.values(e).reverse()));
1270
- let s = (a === "u" ? e.predecessors : e.successors).bind(e), c = pn(e, o, n, s), l = Q(e, o, c.root, c.align, t === "r");
1271
- t === "r" && (l = nt(l, (e) => -e)), r[a + t] = l;
1272
- });
1273
- }), gn(r, hn(e, r)), _n(r, e.graph().align);
1274
- }
1275
- function yn(e, t, n) {
1276
- return (r, i, a) => {
1277
- let o = r.node(i), s = r.node(a), c = 0, l;
1278
- if (c += o.width / 2, Object.hasOwn(o, "labelpos")) switch (o.labelpos.toLowerCase()) {
1279
- case "l":
1280
- l = -o.width / 2;
1281
- break;
1282
- case "r": l = o.width / 2;
1283
- }
1284
- if (l && (c += n ? l : -l), l = 0, c += (o.dummy ? t : e) / 2, c += (s.dummy ? t : e) / 2, c += s.width / 2, Object.hasOwn(s, "labelpos")) switch (s.labelpos.toLowerCase()) {
1285
- case "l":
1286
- l = s.width / 2;
1287
- break;
1288
- case "r": l = -s.width / 2;
1289
- }
1290
- return l && (c += n ? l : -l), l = 0, c;
1291
- };
1292
- }
1293
- function bn(e, t) {
1294
- return e.node(t).width;
1295
- }
1296
- //#endregion
1297
- //#region src/DAG/position/index.js
1298
- function xn(e) {
1299
- let t = Ke(e);
1300
- Sn(t);
1301
- let n = vn(t);
1302
- Object.entries(n).forEach(([t, n]) => {
1303
- e.node(t).x = n;
1304
- });
1305
- }
1306
- function Sn(e) {
1307
- let t = z(e), n = e.graph().ranksep, r = 0;
1308
- t.forEach((t) => {
1309
- let i = t.reduce((t, n) => {
1310
- let r = e.node(n).height;
1311
- return t > r ? t : r;
1312
- }, 0);
1313
- t.forEach((t) => {
1314
- e.node(t).y = r + i / 2;
1315
- }), r += i + n;
1316
- });
1317
- }
1318
- //#endregion
1319
- //#region src/DAG/layout.js
1320
- function Cn(e, t = {}) {
1321
- let n = t.debugTiming ? Qe : $e;
1322
- return n("layout", () => {
1323
- let r = n(" buildLayoutGraph", () => Nn(e));
1324
- return n(" runLayout", () => wn(r, n, t)), n(" updateInputGraph", () => Tn(e, r)), r;
1325
- });
1326
- }
1327
- function wn(e, t, n) {
1328
- t(" makeSpaceForEdgeLabels", () => Pn(e)), t(" removeSelfEdges", () => Wn(e)), t(" acyclic", () => at(e)), t(" nestingGraph.run", () => J(e)), t(" rank", () => St(Ke(e))), t(" injectEdgeLabelProxies", () => Fn(e)), t(" removeEmptyRanks", () => V(e)), t(" nestingGraph.cleanup", () => jt(e)), t(" normalizeRanks", () => B(e)), t(" assignRankMinMax", () => In(e)), t(" removeEdgeLabelProxies", () => Ln(e)), t(" normalize.run", () => st(e)), t(" parentDummyChains", () => Et(e)), t(" addBorderSegments", () => Mt(e)), t(" order", () => rn(e, n)), t(" insertSelfEdges", () => Gn(e)), t(" adjustCoordinateSystem", () => Vt.adjust(e)), t(" position", () => xn(e)), t(" positionSelfEdges", () => Kn(e)), t(" removeBorderNodes", () => Un(e)), t(" normalize.undo", () => lt(e)), t(" fixupEdgeLabelCoords", () => Vn(e)), t(" undoCoordinateSystem", () => Vt.undo(e)), t(" translateGraph", () => Rn(e)), t(" assignNodeIntersects", () => Bn(e)), t(" reversePoints", () => Hn(e)), t(" acyclic.undo", () => ot(e));
1329
- }
1330
- function Tn(e, t) {
1331
- e.nodes().forEach((n) => {
1332
- let r = e.node(n), i = t.node(n);
1333
- r && (r.x = i.x, r.y = i.y, r.order = i.order, r.rank = i.rank, t.children(n).length && (r.width = i.width, r.height = i.height));
1334
- }), e.edges().forEach((n) => {
1335
- let r = e.edge(n), i = t.edge(n);
1336
- r.points = i.points, Object.hasOwn(i, "x") && (r.x = i.x, r.y = i.y);
1337
- });
1338
- let n = t.graph(), r = e.graph();
1339
- r.width = n.width, r.height = n.height;
1340
- }
1341
- var En = [
1342
- "nodesep",
1343
- "edgesep",
1344
- "ranksep",
1345
- "marginx",
1346
- "marginy"
1347
- ], Dn = {
1348
- ranksep: 50,
1349
- edgesep: 20,
1350
- nodesep: 50,
1351
- rankdir: "tb"
1352
- }, On = [
1353
- "acyclicer",
1354
- "ranker",
1355
- "rankdir",
1356
- "align"
1357
- ], kn = [
1358
- "width",
1359
- "height",
1360
- "rank"
1361
- ], $ = {
1362
- width: 0,
1363
- height: 0
1364
- }, An = [
1365
- "minlen",
1366
- "weight",
1367
- "width",
1368
- "height",
1369
- "labeloffset"
1370
- ], jn = {
1371
- minlen: 1,
1372
- weight: 1,
1373
- width: 0,
1374
- height: 0,
1375
- labeloffset: 10,
1376
- labelpos: "r"
1377
- }, Mn = ["labelpos", "arrowshape"];
1378
- function Nn(e) {
1379
- let t = Jn(e.graph()), n = {
1380
- ...Dn,
1381
- ...qn(t, En),
1382
- ...G(t, On)
1383
- }, r = new Ie({
1384
- multigraph: !0,
1385
- compound: !0
1386
- });
1387
- return r.setGraph(n), e.nodes().forEach((t) => {
1388
- let n = qn(Jn(e.node(t)), kn);
1389
- Object.keys($).forEach((e) => {
1390
- n[e] === void 0 && (n[e] = $[e]);
1391
- }), r.setNode(t, n), r.setParent(t, e.parent(t));
1392
- }), e.edges().forEach((t) => {
1393
- let n = Jn(e.edge(t));
1394
- r.setEdge(t, {
1395
- ...jn,
1396
- ...qn(n, An),
1397
- ...G(n, Mn)
1398
- });
1399
- }), r;
1400
- }
1401
- function Pn(e) {
1402
- let t = e.graph();
1403
- t.ranksep /= 2, e.edges().forEach((n) => {
1404
- let r = e.edge(n);
1405
- r.minlen *= 2, r.labelpos.toLowerCase() !== "c" && (t.rankdir === "TB" || t.rankdir === "BT" ? r.width += r.labeloffset : r.height += r.labeloffset);
1406
- });
1407
- }
1408
- function Fn(e) {
1409
- e.edges().forEach((t) => {
1410
- let n = e.edge(t);
1411
- if (n.width && n.height) {
1412
- let n = e.node(t.v);
1413
- I(e, "edge-proxy", {
1414
- rank: (e.node(t.w).rank - n.rank) / 2 + n.rank,
1415
- e: t
1416
- }, "_ep");
1417
- }
1418
- });
1419
- }
1420
- function In(e) {
1421
- let t = 0;
1422
- e.nodes().forEach((n) => {
1423
- let r = e.node(n);
1424
- r.borderTop && (r.minRank = e.node(r.borderTop).rank, r.maxRank = e.node(r.borderBottom).rank, t = Math.max(t, r.maxRank));
1425
- }), e.graph().maxRank = t;
1426
- }
1427
- function Ln(e) {
1428
- e.nodes().forEach((t) => {
1429
- let n = e.node(t);
1430
- n.dummy === "edge-proxy" && (e.edge(n.e).labelRank = n.rank, e.removeNode(t));
1431
- });
1432
- }
1433
- function Rn(e) {
1434
- let t = Infinity, n = 0, r = Infinity, i = 0, a = e.graph(), o = a.marginx || 0, s = a.marginy || 0;
1435
- function c(e) {
1436
- let a = e.x, o = e.y, s = e.width, c = e.height;
1437
- t = Math.min(t, a - s / 2), n = Math.max(n, a + s / 2), r = Math.min(r, o - c / 2), i = Math.max(i, o + c / 2);
1438
- }
1439
- e.nodes().forEach((t) => c(e.node(t))), e.edges().forEach((t) => {
1440
- let n = e.edge(t);
1441
- Object.hasOwn(n, "x") && c(n);
1442
- }), t -= o, r -= s, e.nodes().forEach((n) => {
1443
- let i = e.node(n);
1444
- i.x -= t, i.y -= r;
1445
- }), e.edges().forEach((n) => {
1446
- let i = e.edge(n);
1447
- i.points.forEach((e) => {
1448
- e.x -= t, e.y -= r;
1449
- }), Object.hasOwn(i, "x") && (i.x -= t), Object.hasOwn(i, "y") && (i.y -= r);
1450
- }), a.width = n - t + o, a.height = i - r + s;
1451
- }
1452
- function zn(e, t, n) {
1453
- if (!n || !t) return e;
1454
- let r = t.x - e.x, i = t.y - e.y, a = Math.sqrt(r * r + i * i);
1455
- if (!a || a <= n) return e;
1456
- let o = n / a;
1457
- return {
1458
- x: e.x + r * o,
1459
- y: e.y + i * o
1460
- };
1461
- }
1462
- function Bn(e) {
1463
- e.edges().forEach((t) => {
1464
- let n = e.edge(t), r = e.node(t.v), i = e.node(t.w), a, o;
1465
- !n.points || !n.points.length ? (n.points = [], a = i, o = r) : (a = n.points[0], o = n.points[n.points.length - 1]);
1466
- let s = R(r, a), c = R(i, o), l = n.points.length ? n.points[0] : a, u = n.points.length ? n.points[n.points.length - 1] : o, d = n.arrowshape, f = d === "normal" || d === "vee", p = !!n.reversed, m = s, h = c;
1467
- f && (p ? m = zn(s, l, 4) : h = zn(c, u, 4)), n.points.unshift(m), n.points.push(h);
1468
- });
1469
- }
1470
- function Vn(e) {
1471
- e.edges().forEach((t) => {
1472
- let n = e.edge(t);
1473
- if (Object.hasOwn(n, "x")) switch ((n.labelpos === "l" || n.labelpos === "r") && (n.width -= n.labeloffset), n.labelpos) {
1474
- case "l":
1475
- n.x -= n.width / 2 + n.labeloffset;
1476
- break;
1477
- case "r": n.x += n.width / 2 + n.labeloffset;
1478
- }
1479
- });
1480
- }
1481
- function Hn(e) {
1482
- e.edges().forEach((t) => {
1483
- let n = e.edge(t);
1484
- n.reversed && n.points.reverse();
1485
- });
1486
- }
1487
- function Un(e) {
1488
- e.nodes().forEach((t) => {
1489
- if (e.children(t).length) {
1490
- let n = e.node(t), r = e.node(n.borderTop), i = e.node(n.borderBottom), a = e.node(n.borderLeft[n.borderLeft.length - 1]), o = e.node(n.borderRight[n.borderRight.length - 1]);
1491
- n.width = Math.abs(o.x - a.x), n.height = Math.abs(i.y - r.y), n.x = a.x + n.width / 2, n.y = r.y + n.height / 2;
1492
- }
1493
- }), e.nodes().forEach((t) => {
1494
- e.node(t).dummy === "border" && e.removeNode(t);
1495
- });
1496
- }
1497
- function Wn(e) {
1498
- e.edges().forEach((t) => {
1499
- if (t.v === t.w) {
1500
- let n = e.node(t.v);
1501
- n.selfEdges ||= [], n.selfEdges.push({
1502
- e: t,
1503
- label: e.edge(t)
1504
- }), e.removeEdge(t);
1505
- }
1506
- });
1507
- }
1508
- function Gn(e) {
1509
- z(e).forEach((t) => {
1510
- let n = 0;
1511
- t.forEach((t, r) => {
1512
- let i = e.node(t);
1513
- i.order = r + n, (i.selfEdges || []).forEach((t) => {
1514
- I(e, "selfedge", {
1515
- width: t.label.width,
1516
- height: t.label.height,
1517
- rank: i.rank,
1518
- order: r + ++n,
1519
- e: t.e,
1520
- label: t.label
1521
- }, "_se");
1522
- }), delete i.selfEdges;
1523
- });
1524
- });
1525
- }
1526
- function Kn(e) {
1527
- e.nodes().forEach((t) => {
1528
- let n = e.node(t);
1529
- if (n.dummy === "selfedge") {
1530
- let r = e.node(n.e.v), i = r.x + r.width / 2, a = r.y, o = n.x - i, s = r.height / 2;
1531
- e.setEdge(n.e, n.label), e.removeNode(t), n.label.points = [
1532
- {
1533
- x: i + 2 * o / 3,
1534
- y: a - s
1535
- },
1536
- {
1537
- x: i + 5 * o / 6,
1538
- y: a - s
1539
- },
1540
- {
1541
- x: i + o,
1542
- y: a
1543
- },
1544
- {
1545
- x: i + 5 * o / 6,
1546
- y: a + s
1547
- },
1548
- {
1549
- x: i + 2 * o / 3,
1550
- y: a + s
1551
- }
1552
- ], n.label.x = n.x, n.label.y = n.y;
1553
- }
1554
- });
1555
- }
1556
- function qn(e, t) {
1557
- return nt(G(e, t), Number);
1558
- }
1559
- function Jn(e) {
1560
- let t = {};
1561
- return e && Object.entries(e).forEach(([e, n]) => {
1562
- let r = e;
1563
- typeof r == "string" && (r = r.toLowerCase()), t[r] = n;
1564
- }), t;
1565
- }
1566
- //#endregion
1567
- //#region src/useDag.js
1568
- var Yn = {
1569
- rankDirection: "TB",
1570
- nodeSeparation: 50,
1571
- rankSeparation: 50,
1572
- edgeSeparation: 10,
1573
- align: void 0,
1574
- nodeWidth: 100,
1575
- nodeHeight: 40,
1576
- curvedEdges: !1,
1577
- padding: 20,
1578
- arrowShape: "normal",
1579
- arrowSize: 10
1580
- };
1581
- function Xn(e) {
1582
- return e.length ? e.map((e, t) => `${t === 0 ? "M" : "L"} ${e.x} ${e.y}`).join(" ") : "";
1583
- }
1584
- function Zn(e) {
1585
- if (!e.length) return "";
1586
- if (e.length === 1) {
1587
- let t = e[0];
1588
- return `M ${t.x} ${t.y}`;
1589
- }
1590
- if (e.length === 2) return `M ${e[0].x} ${e[0].y} L ${e[1].x} ${e[1].y}`;
1591
- let [t] = e, n = `M ${t.x} ${t.y}`;
1592
- for (let t = 1; t < e.length - 1; t += 1) {
1593
- e[t - 1];
1594
- let r = e[t], i = e[t + 1], a = r.x, o = r.y, s = (r.x + i.x) / 2, c = (r.y + i.y) / 2;
1595
- n += ` Q ${a} ${o} ${s} ${c}`;
1596
- }
1597
- let r = e[e.length - 1];
1598
- return n += ` L ${r.x} ${r.y}`, n;
1599
- }
1600
- function Qn(e) {
1601
- let { nodes: t, edges: n, configuration: r } = e, a = T(null), o = T(null), s = `dag-arrow-${i()}`;
1602
- function c(e, t, n) {
1603
- o.value = null, a.value = null;
1604
- let r = {
1605
- ...Yn,
1606
- ...n
1607
- }, c = new Ie({
1608
- multigraph: !0,
1609
- compound: !0
1610
- });
1611
- c.setGraph({
1612
- rankdir: r.rankDirection,
1613
- nodesep: r.nodeSeparation,
1614
- ranksep: r.rankSeparation,
1615
- edgesep: r.edgeSeparation,
1616
- align: r.align
1617
- }), e.forEach((e) => {
1618
- c.setNode(e.id, {
1619
- label: e.label,
1620
- width: e.width ?? r.nodeWidth,
1621
- height: e.height ?? r.nodeHeight
1622
- });
1623
- }), t.forEach((e) => {
1624
- c.setEdge(e.from, e.to, {
1625
- weight: e.weight ?? 1,
1626
- minlen: e.minLength ?? 1,
1627
- arrowShape: r.arrowShape ?? "normal"
1628
- });
1629
- }), Cn(c);
1630
- let l = e.map((e) => {
1631
- let t = c.node(e.id);
1632
- return {
1633
- id: e.id,
1634
- label: e.label,
1635
- x: t.x,
1636
- y: t.y,
1637
- width: t.width,
1638
- height: t.height,
1639
- original: e
1640
- };
1641
- }), d = c.edges().map((e) => {
1642
- let n = c.edge(e), a = n.points || [];
1643
- if (!a.length) return null;
1644
- let o = r.curvedEdges ? Zn(a) : Xn(a), l = r.arrowShape === "undirected" ? null : `url(#${s})`, u = t.find((t) => t?.from === e.v && t?.to === e.w);
1645
- return {
1646
- id: `${e.v}->${e.w}->${i()}`,
1647
- from: e.v,
1648
- to: e.w,
1649
- points: a,
1650
- pathData: o,
1651
- markerEnd: l,
1652
- original: {
1653
- ...u,
1654
- ...n
1655
- }
1656
- };
1657
- }).filter(Boolean), f = r.padding;
1658
- if (!l.length) {
1659
- a.value = {
1660
- nodes: [],
1661
- edges: d,
1662
- viewBox: "0 0 0 0",
1663
- arrowShape: r.arrowShape,
1664
- arrowSize: r.arrowSize
1665
- };
1666
- return;
1667
- }
1668
- let p = l.flatMap((e) => [e.x - e.width / 2, e.x + e.width / 2]), m = l.flatMap((e) => [e.y - e.height / 2, e.y + e.height / 2]), h = Math.min(...p) - f, g = Math.max(...p) + f, _ = Math.min(...m) - f, ee = Math.max(...m) + f;
1669
- a.value = {
1670
- nodes: l,
1671
- edges: d.map((e) => ({
1672
- ...e,
1673
- midpoint: e.pathData ? u(e.pathData) : {
1674
- x: 0,
1675
- y: 0
1676
- }
1677
- })),
1678
- viewBox: `${h} ${_} ${g - h} ${ee - _}`,
1679
- arrowShape: r.arrowShape,
1680
- arrowSize: r.arrowSize
1681
- };
1682
- }
1683
- return je(() => {
1684
- try {
1685
- c(D(t) || [], D(n) || [], D(r) || {});
1686
- } catch (e) {
1687
- console.error("[useDag] layout error:", e), o.value = e, a.value = null;
1688
- }
1689
- }), {
1690
- layoutData: a,
1691
- lastError: o,
1692
- arrowMarkerIdentifier: s,
1693
- recomputeLayout: () => {
1694
- c(D(t) || [], D(n) || [], D(r) || {});
1695
- }
1696
- };
1697
- }
1698
- //#endregion
1699
- //#region src/components/vue-ui-dag.vue
1700
- var $n = /* @__PURE__ */ e({ default: () => Nr }), er = ["id"], tr = ["id"], nr = {
1701
- key: 1,
1702
- class: "dag-chart-error"
1703
- }, rr = { style: { position: "relative" } }, ir = [
1704
- "viewBox",
1705
- "xmlns",
1706
- "aria-describedby"
1707
- ], ar = { key: 0 }, or = [
1708
- "id",
1709
- "width",
1710
- "height"
1711
- ], sr = [
1712
- "cx",
1713
- "cy",
1714
- "r",
1715
- "fill"
1716
- ], cr = [
1717
- "x",
1718
- "y",
1719
- "width",
1720
- "height",
1721
- "fill"
1722
- ], lr = { key: 2 }, ur = [
1723
- "id",
1724
- "markerWidth",
1725
- "markerHeight",
1726
- "refX",
1727
- "refY"
1728
- ], dr = [
1729
- "d",
1730
- "fill",
1731
- "stroke"
1732
- ], fr = [
1733
- "d",
1734
- "fill",
1735
- "stroke"
1736
- ], pr = { class: "vue-ui-dag-edges" }, mr = [
1737
- "data-a11y-midpoint-id",
1738
- "aria-label",
1739
- "onMouseenter"
1740
- ], hr = { class: "vue-ui-dag-nodes" }, gr = [
1741
- "onClick",
1742
- "onMouseenter",
1743
- "onMouseleave"
1744
- ], _r = ["data-a11y-node-id", "aria-label"], vr = [
1745
- "x",
1746
- "y",
1747
- "width",
1748
- "height"
1749
- ], yr = { class: "vue-ui-dag-edges" }, br = [
1750
- "d",
1751
- "stroke-width",
1752
- "marker-end"
1753
- ], xr = { class: "vue-ui-dag-node-labels" }, Sr = [
1754
- "onClick",
1755
- "onMouseenter",
1756
- "onMouseleave"
1757
- ], Cr = [
1758
- "x",
1759
- "y",
1760
- "font-size",
1761
- "fill",
1762
- "font-weight"
1763
- ], wr = [
1764
- "x",
1765
- "y",
1766
- "font-size",
1767
- "fill",
1768
- "font-weight",
1769
- "innerHTML"
1770
- ], Tr = { key: 1 }, Er = {
1771
- key: 1,
1772
- style: {
1773
- position: "absolute",
1774
- top: "100%",
1775
- left: "0",
1776
- width: "100%"
1777
- },
1778
- "data-dom-to-png-ignore": "",
1779
- "aria-hidden": "true"
1780
- }, Dr = {
1781
- key: 6,
1782
- class: "vue-data-ui-watermark"
1783
- }, Or = ["data-position"], kr = { key: 0 }, Ar = ["data-position"], jr = { key: 0 }, Mr = 1.5, Nr = /*#__PURE__*/ ie({
1784
- __name: "vue-ui-dag",
1785
- props: {
1786
- dataset: {
1787
- type: Object,
1788
- default() {
1789
- return {
1790
- nodes: [],
1791
- edges: []
1792
- };
1793
- }
1794
- },
1795
- config: {
1796
- type: Object,
1797
- default() {
1798
- return {};
1799
- }
1800
- }
1801
- },
1802
- emits: [
1803
- "onNodeClick",
1804
- "onMidpointEnter",
1805
- "onMidpointLeave",
1806
- "copyAlt",
1807
- "rotate"
1808
- ],
1809
- setup(e, { expose: u, emit: ie }) {
1810
- let je = be(() => import("./PenAndPaper-C1EcBgJW.js").then((e) => e.t)), Ne = be(() => import("./UserOptions-B_yBcZ1-.js").then((e) => e.n)), Pe = be(() => import("./PackageVersion-CslTvFsC.js").then((e) => e.t)), { vue_ui_dag: Fe } = p(), { isThemeValid: Ie, warnInvalidTheme: Le } = ee(), k = e, A = ie, j = T(null), M = T(i()), Re = T(null), ze = T(null), Be = T(null), Ve = T(0), He = T(0), Ue = T(!1), We = T(!1), N = T(null), P = T(null), F = T(null), I = T(null), Ge = T(null), Ke = T("pointer"), qe = T(!1), L = T(mt()), R = v(() => L.value.style.chart.nodes), z = v(() => L.value.style.chart.edges), B = v(() => L.value.style.chart.midpoints), V = v(() => L.value.style.chart);
1811
- d({
1812
- config: () => L.value,
1813
- dataset: () => k.dataset,
1814
- component: "VueUiDag",
1815
- rules: [f.noHint]
1816
- });
1817
- let Je = v(() => L.value.userOptions.useCursorPointer), Ye = T(L.value.style.chart.width), Xe = T(L.value.style.chart.height), H = T({
1818
- x: 0,
1819
- y: 0
1820
- }), U = T(null), Ze = T(null), Qe = T({
1821
- left: "0px",
1822
- top: "0px"
1823
- }), $e = T("top"), W = T(!1), et = T({
1824
- x: 0,
1825
- y: 0
1826
- }), tt = T({
1827
- x: 0,
1828
- y: 0
1829
- }), G = T(null), nt = T(null), rt = T({
1830
- left: "0px",
1831
- top: "0px"
1832
- }), it = T("top"), at = T(!1), ot = T(!1), { svgRef: K } = le({ config: V.value.title }), { userOptionsVisible: st, setUserOptionsVisibility: ct, keepUserOptionState: lt } = ce({ config: L.value }), q = T(L.value.style.chart.layout.rankDirection), ut = v(() => l({
1833
- defaultConfig: {
1834
- userOptions: { show: !1 },
1835
- style: { chart: {
1836
- backgroundColor: "#99999930",
1837
- nodes: {
1838
- stroke: "#CCCCCC",
1839
- backgroundColor: "#DDDDDD50"
1840
- },
1841
- edges: { stroke: "#CCCCCC" },
1842
- midpoints: {
1843
- stroke: "#CCCCCC",
1844
- fill: "#CCCCCC"
1845
- }
1846
- } }
1847
- },
1848
- userConfig: L.value.skeletonConfig ?? {}
1849
- })), { loading: dt, FINAL_DATASET: ft, manualLoading: pt } = h({
1850
- ...ke(k),
1851
- FINAL_CONFIG: L,
1852
- prepareConfig: mt,
1853
- skeletonDataset: k.config?.skeletonDataset ?? {
1854
- nodes: [
1855
- {
1856
- id: "A",
1857
- label: ""
1858
- },
1859
- {
1860
- id: "B",
1861
- label: ""
1862
- },
1863
- {
1864
- id: "C",
1865
- label: ""
1866
- }
1867
- ],
1868
- edges: [{
1869
- from: "A",
1870
- to: "B"
1871
- }, {
1872
- from: "A",
1873
- to: "C"
1874
- }]
1875
- },
1876
- skeletonConfig: l({
1877
- defaultConfig: L.value,
1878
- userConfig: ut.value
1879
- })
1880
- });
1881
- function mt() {
1882
- let e = _({
1883
- userConfig: k.config,
1884
- defaultConfig: Fe
1885
- }), t = e.theme;
1886
- if (!t) return e;
1887
- if (!Ie.value(e)) return Le(e), e;
1888
- let n = _({
1889
- userConfig: fe[t] || k.config,
1890
- defaultConfig: e
1891
- });
1892
- return _({
1893
- userConfig: k.config,
1894
- defaultConfig: n
1895
- });
1896
- }
1897
- let ht = v(() => L.value.debug);
1898
- Ee(async () => {
1899
- n(k.dataset) && (o({
1900
- componentName: "VueUiDag",
1901
- type: "dataset",
1902
- debug: ht.value
1903
- }), We.value = !1, pt.value = !0), (!k.dataset.nodes || k.dataset.nodes.length === 0) && (o({
1904
- componentName: "VueUiDag",
1905
- type: "datasetAttributeEmpty",
1906
- property: "nodes",
1907
- index: 0,
1908
- debug: ht.value
1909
- }), We.value = !1, pt.value = !0), We.value = !0, await Se(), rn();
1910
- }), Ae(() => k.config, async (e) => {
1911
- dt.value || (L.value = mt()), st.value = !L.value.userOptions.showOnChartHover, Ve.value += 1, q.value = V.value.layout.rankDirection, Ye.value = V.value.width, Xe.value = V.value.height, Mt.value = V.value.zoom.active, await Se(), rn();
1912
- }, { deep: !0 });
1913
- let { isPrinting: gt, isImaging: _t, generatePdf: vt, generateImage: yt } = m({
1914
- elementId: `dag_${M.value}`,
1915
- fileName: V.value.title.text || "vue-ui-dag",
1916
- options: L.value.userOptions.print
1917
- }), bt = v(() => V.value.backgroundColor), xt = v(() => V.value.title), { isCallbackImaging: St, isCallbackSvg: Ct, generateSvg: wt, onGenerateImage: Tt } = te({
1918
- svg: K,
1919
- title: xt,
1920
- legend: null,
1921
- legendItems: null,
1922
- backgroundColor: bt,
1923
- getSvgCallback: () => L.value.userOptions.callbacks.svg,
1924
- generateImage: yt
1925
- });
1926
- function Et() {
1927
- Ue.value = !0, ct(!0);
1928
- }
1929
- function Dt() {
1930
- ct(!1), Ue.value = !1;
1931
- }
1932
- function Ot({ tooltipRef: e, isVisibleRef: t, anchorRef: n, styleRef: r, placementRef: i, offsetRef: a, margin: o = 24 }) {
1933
- return function() {
1934
- let s = e.value;
1935
- if (!s || !t.value) return;
1936
- let c = s.getBoundingClientRect(), l = window.innerWidth, u = window.innerHeight, d = n.value.x, f = n.value.y, p = a?.value?.x ?? 0, m = a?.value?.y ?? 0, h = f - m - c.height - o, g = d - c.width / 2, _ = "top";
1937
- if (h < o) {
1938
- let e = f + m + o;
1939
- e + c.height <= u - o ? (h = e, _ = "bottom") : (h = f - c.height / 2, h < o && (h = o), h + c.height > u - o && (h = u - c.height - o), _ = "center");
1940
- }
1941
- g < o && (g = o), g + c.width > l - o && (g = l - c.width - o);
1942
- let ee = g <= o, te = g + c.width >= l - o;
1943
- if ((ee || te) && _ !== "center") {
1944
- let e, t, n = d - p - o;
1945
- l - (d + p) - o >= n ? (e = "right", t = d + p + o) : (e = "left", t = d - p - o - c.width), t >= o && t + c.width <= l - o && (g = t, h = f - c.height / 2, h < o && (h = o), h + c.height > u - o && (h = u - c.height - o), _ = e);
1946
- }
1947
- i.value = _, r.value = {
1948
- left: `${g}px`,
1949
- top: `${h}px`
1950
- };
1951
- };
1952
- }
1953
- let { layoutData: J, lastError: kt, arrowMarkerIdentifier: At } = Qn({
1954
- nodes: v(() => ft.value.nodes.map((e) => ({
1955
- ...e,
1956
- backgroundColor: e.backgroundColor ? r(e.backgroundColor) : R.value.backgroundColor,
1957
- color: e.color ? r(e.color) : R.value.labels.color
1958
- }))),
1959
- edges: v(() => ft.value.edges),
1960
- configuration: v(() => ({
1961
- ...V.value.layout,
1962
- rankDirection: q.value
1963
- }))
1964
- });
1965
- function Y(e) {
1966
- return J.value ? J.value.nodes.find((t) => t.id === e) : null;
1967
- }
1968
- v(() => {
1969
- if (!J.value) return [];
1970
- let e = z.value.stroke, t = /* @__PURE__ */ new Set();
1971
- return J.value.edges.forEach((n) => {
1972
- t.add({
1973
- id: n.id,
1974
- from: n.from,
1975
- to: n.to,
1976
- color: n.original?.color || e
1977
- });
1978
- }), Array.from(t);
1979
- });
1980
- let jt = v(() => {
1981
- let e = Ye.value, t = Xe.value, n = Number(e), r = Number(t), i = Number.isFinite(n) && n > 0, a = Number.isFinite(r) && r > 0;
1982
- return !i && !a ? null : {
1983
- width: i ? n : null,
1984
- height: a ? r : null
1985
- };
1986
- }), Mt = T(V.value.zoom.active), { viewBox: X, resetZoom: Nt, setInitialViewBox: Pt, scale: Ft, zoomByFactor: It } = ue(K, {
1987
- x: 0,
1988
- y: 0,
1989
- width: 100,
1990
- height: 100
1991
- }, 1, Mt, () => {
1992
- W.value = !1;
1993
- }), Lt = null;
1994
- async function Rt(e, { smooth: n = !0, duration: r = 300, zoomReset: i = !1, zoom: a = null } = {}) {
1995
- let o = Y(e);
1996
- if (!o) return !1;
1997
- let c = X.value;
1998
- if (!c) return !1;
1999
- let l = {
2000
- x: Number(c.x),
2001
- y: Number(c.y),
2002
- width: Number(c.width),
2003
- height: Number(c.height)
2004
- }, u = Ft.value, d = l.width, f = l.height, p = u;
2005
- if (Number.isFinite(a) && a > 0 || i) {
2006
- Nt(!1);
2007
- let e = X.value, t = Number.isFinite(a) && a > 0 ? a / 100 : 1;
2008
- d = Number(e.width) / t, f = Number(e.height) / t, p = t, X.value = { ...l }, Ft.value = u;
2009
- }
2010
- let m = Number(o.x), h = Number(o.y);
2011
- if (!Number.isFinite(l.x) || !Number.isFinite(l.y) || !Number.isFinite(l.width) || !Number.isFinite(l.height) || !Number.isFinite(d) || !Number.isFinite(f) || !Number.isFinite(m) || !Number.isFinite(h)) return !1;
2012
- let g = {
2013
- x: m - d / 2,
2014
- y: h - f / 2,
2015
- width: d,
2016
- height: f
2017
- };
2018
- if (Lt !== null && (cancelAnimationFrame(Lt), Lt = null), W.value = !1, !n || r <= 0) return X.value = g, Ft.value = p, !0;
2019
- let _ = performance.now();
2020
- function ee(e) {
2021
- let n = Math.min((e - _) / r, 1), i = s(n);
2022
- X.value = {
2023
- x: t(l.x, g.x, i),
2024
- y: t(l.y, g.y, i),
2025
- width: t(l.width, g.width, i),
2026
- height: t(l.height, g.height, i)
2027
- }, Ft.value = t(u, p, i), n < 1 ? Lt = requestAnimationFrame(ee) : (X.value = g, Ft.value = p, Lt = null);
2028
- }
2029
- return Lt = requestAnimationFrame(ee), !0;
2030
- }
2031
- function zt() {
2032
- Mt.value = !Mt.value;
2033
- }
2034
- function Bt() {
2035
- let e = J.value && J.value.viewBox;
2036
- if (!e) return;
2037
- let t = String(e).split(" ").map(Number);
2038
- if (t.length !== 4) return;
2039
- let [n, r, i, a] = t;
2040
- if (!Number.isFinite(n) || !Number.isFinite(r) || !Number.isFinite(i) || !Number.isFinite(a)) return;
2041
- let o = i, s = a, c = n, l = r, u = jt.value;
2042
- u && (u.width !== null && (o = u.width), u.height !== null && (s = u.height), c = n - (o - i) / 2, l = r - (s - a) / 2), Pt({
2043
- x: c,
2044
- y: l,
2045
- width: o,
2046
- height: s
2047
- }, { overwriteCurrentIfNotZoomed: !0 });
2048
- }
2049
- Ae(() => J.value && J.value.viewBox, () => {
2050
- Bt();
2051
- }, { immediate: !0 }), Ae(() => jt.value, () => {
2052
- Bt();
2053
- }), Ae(() => ot.value, (e) => {
2054
- Mt.value = !e;
2055
- });
2056
- let Vt = v(() => {
2057
- let e = X.value;
2058
- return e ? `${e.x} ${e.y} ${e.width} ${e.height}` : "0 0 0 0";
2059
- }), Ht = T(!1);
2060
- function Ut(e) {
2061
- Ht.value = e, He.value += 1;
2062
- }
2063
- function Wt() {
2064
- ot.value = !ot.value;
2065
- }
2066
- function Gt() {
2067
- It(Mr, !0);
2068
- }
2069
- function Kt() {
2070
- It(1 / Mr, !0);
2071
- }
2072
- let qt = [
2073
- "TB",
2074
- "RL",
2075
- "BT",
2076
- "LR"
2077
- ];
2078
- function Jt() {
2079
- q.value = qt[(qt.indexOf(q.value) + 1) % qt.length], Nt(), A("rotate", q.value);
2080
- }
2081
- let Yt = Ot({
2082
- tooltipRef: Ze,
2083
- isVisibleRef: at,
2084
- anchorRef: H,
2085
- styleRef: Qe,
2086
- placementRef: $e,
2087
- isNode: !1
2088
- }), Xt = Ot({
2089
- tooltipRef: nt,
2090
- isVisibleRef: W,
2091
- anchorRef: et,
2092
- styleRef: rt,
2093
- placementRef: it,
2094
- offsetRef: tt
2095
- }), Z = T(null);
2096
- async function Zt(e) {
2097
- A("onMidpointEnter", e);
2098
- let t = K.value;
2099
- if (!t || !e?.midpoint) return;
2100
- let n = t.createSVGPoint();
2101
- n.x = e.midpoint.x, n.y = e.midpoint.y;
2102
- let r = t.getScreenCTM();
2103
- if (!r) return;
2104
- let i = n.matrixTransform(r);
2105
- H.value = {
2106
- x: i.x,
2107
- y: i.y
2108
- }, U.value = e, at.value = !0, B.value.selectedEdge.animated === !0 && (Z.value = e.id, un()), await Se(), Yt();
2109
- }
2110
- function Qt() {
2111
- at.value = !1, U.value = null, A("onMidpointLeave"), B.value.selectedEdge.animated === !0 && (Z.value = null, un());
2112
- }
2113
- async function $t(e) {
2114
- if (A("onNodeClick", e), !R.value.tooltip.showOnClick) return;
2115
- let t = K.value;
2116
- if (!t) return;
2117
- let n = t.createSVGPoint();
2118
- n.x = e.x, n.y = e.y;
2119
- let r = t.getScreenCTM();
2120
- if (!r) return;
2121
- let i = n.matrixTransform(r), a = V.value.layout.nodeWidth, o = V.value.layout.nodeHeight, s = r.a, c = r.d, l = a * s, u = o * c;
2122
- tt.value = {
2123
- x: l / 2,
2124
- y: u / 2
2125
- }, et.value = {
2126
- x: i.x,
2127
- y: i.y
2128
- }, G.value = e, W.value = !0, await Se(), Xt();
2129
- }
2130
- function en() {
2131
- W.value = !1, G.value = null;
2132
- }
2133
- function tn(e) {
2134
- if (!(W.value || at.value)) return;
2135
- let t = nt.value;
2136
- if (t && t.contains(e.target)) return;
2137
- let n = Ze.value;
2138
- if (n && n.contains(e.target)) return;
2139
- let r = K.value;
2140
- if (r && r.contains(e.target)) {
2141
- let t = e.target.closest(".vue-ui-dag-node"), n = e.target.closest(".vue-ui-dag-edge-midpoint");
2142
- if (t || n) return;
2143
- }
2144
- en(), Qt(), qe.value || In();
2145
- }
2146
- function nn(e) {
2147
- e.key === "Escape" && (W.value && en(), at.value && Qt());
2148
- }
2149
- Ee(() => {
2150
- document.addEventListener("mousedown", tn), document.addEventListener("keydown", nn);
2151
- }), Te(() => {
2152
- document.removeEventListener("mousedown", tn), document.removeEventListener("keydown", nn), N.value && (P.value && N.value.unobserve(P.value), N.value.disconnect());
2153
- });
2154
- function rn() {
2155
- if (!L.value.responsive) {
2156
- N.value && (P.value && N.value.unobserve(P.value), N.value.disconnect(), N.value = null, P.value = null);
2157
- return;
2158
- }
2159
- let e = ae(() => {
2160
- if (!j.value) return;
2161
- let { width: e, height: t } = oe({
2162
- chart: j.value,
2163
- title: V.value.title.text ? Re.value : null,
2164
- legend: V.value.controls.show ? Be.value?.$el : null,
2165
- source: ze.value
2166
- });
2167
- requestAnimationFrame(() => {
2168
- Ye.value = Math.max(.1, e), Xe.value = Math.max(.1, t - 12);
2169
- });
2170
- });
2171
- N.value && (P.value && N.value.unobserve(P.value), N.value.disconnect()), N.value = new ResizeObserver(e), P.value = j.value ? j.value.parentNode : null, P.value && N.value.observe(P.value), e();
2172
- }
2173
- function an(e, t = {}) {
2174
- let { direction: n = -1, mode: r = "oneLapNearest", dasharray: i = null } = t;
2175
- if (!e || typeof e.getTotalLength != "function") return ht.value && console.warn("VueUiDag @getIdealDashoffsetDelta: invalid path element", e), 0;
2176
- let a = e.getTotalLength(), o = d(i ?? e.getAttribute("stroke-dasharray") ?? (typeof getComputedStyle == "function" ? getComputedStyle(e).strokeDasharray : ""));
2177
- if (!Number.isFinite(o) || o <= 0) return n * a;
2178
- let s = Math.max(1, Math.round(a / o)), c = Math.max(1, Math.ceil(a / o)), l = Math.max(1, Math.floor(a / o)), u;
2179
- return u = r === "pattern" ? o : r === "oneLapCeil" ? c * o : r === "oneLapFloor" ? l * o : s * o, n * u;
2180
- function d(e) {
2181
- if (!e || e === "none") return NaN;
2182
- let t = String(e).replace(/,/g, " ").trim().split(/\s+/).map((e) => Number.parseFloat(e)).filter((e) => Number.isFinite(e));
2183
- if (!t.length) return NaN;
2184
- let n = t.reduce((e, t) => e + t, 0);
2185
- return t.length % 2 == 1 ? n * 2 : n;
2186
- }
2187
- }
2188
- let on = T(/* @__PURE__ */ new Map()), sn = T(/* @__PURE__ */ new Map());
2189
- function cn(e) {
2190
- return function(t) {
2191
- t ? on.value.set(e, t) : on.value.delete(e);
2192
- };
2193
- }
2194
- function ln() {
2195
- sn.value.forEach((e) => {
2196
- try {
2197
- e.cancel();
2198
- } catch {}
2199
- }), sn.value.clear();
2200
- }
2201
- function un() {
2202
- ln();
2203
- let e = J.value?.edges ?? [];
2204
- if (!e.length) return;
2205
- let t = z.value.animations, n = Number(t.referenceDistance) > 0 ? Number(t.referenceDistance) : 24;
2206
- e.forEach((e) => {
2207
- let r = B.value.selectedEdge.animated === !0 && Z.value != null && e.id === Z.value, i = !!e?.original?.animated || !!e?.animated || r, a = on.value.get(e.id);
2208
- if (!a) return;
2209
- if (!i) {
2210
- a.style.strokeDasharray = "0", a.style.strokeDashoffset = "0";
2211
- return;
2212
- }
2213
- let o = e?.original?.dasharray ?? t.dasharray;
2214
- a.style.strokeDasharray = String(o), a.style.strokeDashoffset = "0";
2215
- let s = ![void 0, null].includes(e?.original?.animationDirection), c = ![void 0, null].includes(t.animationDirection), l = an(a, {
2216
- direction: s ? Number(e.original.animationDirection) : c ? Number(t.animationDirection) : -1,
2217
- mode: "oneLapNearest",
2218
- dasharray: String(o)
2219
- }), u = e?.original?.animationDurationMs ?? t.animationDurationMs ?? 1e3, d = Number(u), f = Number.isFinite(d) && d > 0 ? n / d : n / 1e3, p = Math.max(1, Math.round(Math.abs(l) / Math.max(1e-9, f))), m = a.animate([{ strokeDashoffset: 0 }, { strokeDashoffset: l }], {
2220
- duration: p,
2221
- iterations: Infinity,
2222
- easing: "linear"
2223
- });
2224
- sn.value.set(e.id, m);
2225
- });
2226
- }
2227
- Ae(() => J.value && J.value.edges, async () => {
2228
- await Se(), un();
2229
- }, {
2230
- deep: !0,
2231
- immediate: !0
2232
- }), Te(() => {
2233
- ln();
2234
- });
2235
- async function dn({ scale: e = 2 } = {}) {
2236
- if (!j.value) return;
2237
- let { width: t, height: n } = j.value.getBoundingClientRect(), r = t / n, { imageUri: i, base64: a } = await ne({
2238
- domElement: j.value,
2239
- base64: !0,
2240
- img: !0,
2241
- scale: e
2242
- });
2243
- return {
2244
- imageUri: i,
2245
- base64: a,
2246
- title: V.value.title.text ?? "vue-ui-dag",
2247
- width: t,
2248
- height: n,
2249
- aspectRatio: r
2250
- };
2251
- }
2252
- let fn = v(() => {
2253
- let e = Number(V.value.layout.nodeHeight);
2254
- return Number.isFinite(e) && e > 0 ? e / V.value.backgroundPattern.spacingRatio : 12;
2255
- }), pn = v(() => fn.value * (V.value.backgroundPattern.dotRadiusRatio / 100)), Q = T(null), mn = null, hn = 0;
2256
- function gn(e) {
2257
- mn &&= (clearTimeout(mn), null), Q.value !== e && (Q.value = e, (R.value.selected.downstreamEdges.animated === !0 || R.value.selected.upstreamEdges.animated === !0) && un());
2258
- }
2259
- function _n(e) {
2260
- Ke.value = "pointer", Z.value = null, gn(e);
2261
- }
2262
- async function vn(e) {
2263
- Ke.value = "pointer", Q.value = null, await Zt(e);
2264
- }
2265
- function yn(e) {
2266
- let t = ++hn;
2267
- mn && clearTimeout(mn), mn = setTimeout(() => {
2268
- t === hn && Q.value === e && (Q.value = null, (R.value.selected.downstreamEdges.animated === !0 || R.value.selected.upstreamEdges.animated === !0) && un());
2269
- }, 20);
2270
- }
2271
- function bn(e) {
2272
- let t = e.from === Q.value, n = e.to === Q.value, r = I.value === "midpoint" && F.value === e.id, i = Z.value === e.id || U.value?.id === e.id || r, a = e.original.color ?? z.value.stroke;
2273
- return i && B.value.selectedEdge.stroke != null ? a = B.value.selectedEdge.stroke : t && R.value.selected.downstreamEdges.stroke != null ? a = R.value.selected.downstreamEdges.stroke : n && R.value.selected.upstreamEdges.stroke != null && (a = R.value.selected.upstreamEdges.stroke), e.animated = t && R.value.selected.downstreamEdges.animated === !0 || n && R.value.selected.upstreamEdges.animated === !0 || r && B.value.selectedEdge.animated === !0 ? !0 : (J.value?.edges.find((t) => t.id === e.id))?.original?.animated ?? !1, {
2274
- d: e.pathData,
2275
- fill: "none",
2276
- stroke: a,
2277
- "stroke-width": z.value.strokeWidth * (i || e.from === Q.value ? 2 : 1),
2278
- "stroke-linecap": "round",
2279
- "stroke-linejoin": "round"
2280
- };
2281
- }
2282
- function xn(e) {
2283
- return I.value === "node" && F.value === e;
2284
- }
2285
- function Sn(e) {
2286
- let t = Q.value === e.id, n = I.value === "node" && F.value === e.id, r = t || n, i = r && R.value.selected.backgroundColor != null ? R.value.selected.backgroundColor : e.original.backgroundColor, a = r && R.value.selected.stroke != null ? R.value.selected.stroke : R.value.stroke, o = r && R.value.selected.strokeWidth != null ? R.value.selected.strokeWidth : R.value.strokeWidth;
2287
- return {
2288
- x: e.x - e.width / 2,
2289
- y: e.y - e.height / 2,
2290
- width: e.width,
2291
- height: e.height,
2292
- rx: R.value.borderRadius,
2293
- fill: i,
2294
- stroke: a,
2295
- "stroke-width": o
2296
- };
2297
- }
2298
- function Cn(e) {
2299
- let t = e.from === Q.value, n = e.to === Q.value, r = I.value === "midpoint" && F.value === e.id, i = Z.value === e.id || U.value?.id === e.id || r, a = e.original.color ?? z.value.stroke;
2300
- return i && B.value.selectedEdge.stroke != null ? a = B.value.selectedEdge.stroke : t && R.value.selected.downstreamEdges.stroke != null ? a = R.value.selected.downstreamEdges.stroke : n && R.value.selected.upstreamEdges.stroke != null && (a = R.value.selected.upstreamEdges.stroke), {
2301
- cx: e?.midpoint?.x,
2302
- cy: e?.midpoint?.y,
2303
- r: B.value.radius,
2304
- fill: r ? B.value.selectedEdge.stroke ?? B.value.fill : B.value.fill,
2305
- stroke: a,
2306
- "stroke-width": z.value.strokeWidth * (i || e.from === Q.value ? 2 : 1)
2307
- };
2308
- }
2309
- function wn(e) {
2310
- let t = e.from === Q.value, n = e.to === Q.value, r = I.value === "midpoint" && F.value === e.id, i = Z.value === e.id || U.value?.id === e.id || r, a = e.color ?? e.original?.color ?? z.value.stroke;
2311
- return i && B.value.selectedEdge.stroke != null ? a = B.value.selectedEdge.stroke : t && R.value.selected.downstreamEdges.stroke != null ? a = R.value.selected.downstreamEdges.stroke : n && R.value.selected.upstreamEdges.stroke != null && (a = R.value.selected.upstreamEdges.stroke), a;
2312
- }
2313
- function Tn(e) {
2314
- return `${At}-${String(e).replace(/[^a-zA-Z0-9_-]/g, "_")}`;
2315
- }
2316
- function En() {
2317
- return J.value;
2318
- }
2319
- async function Dn() {
2320
- if (A("copyAlt", {
2321
- config: L.value,
2322
- dataset: ft.value
2323
- }), !L.value.userOptions.callbacks.altCopy) {
2324
- console.warn("Vue Data UI - A callback must be set for `altCopy` in userOptions.");
2325
- return;
2326
- }
2327
- await Promise.resolve(L.value.userOptions.callbacks.altCopy({
2328
- config: L.value,
2329
- dataset: ft.value
2330
- }));
2331
- }
2332
- let On = v(() => (J.value?.nodes ?? []).map((e) => ({
2333
- id: e.id,
2334
- type: "node",
2335
- x: e.x,
2336
- y: e.y,
2337
- label: e.label ?? e.id,
2338
- raw: e
2339
- }))), kn = v(() => B.value.show ? (J.value?.edges ?? []).filter((e) => e?.midpoint).map((e) => ({
2340
- id: e.id,
2341
- type: "midpoint",
2342
- x: e.midpoint.x,
2343
- y: e.midpoint.y,
2344
- label: `${Y(e.from)?.label ?? e.from} → ${Y(e.to)?.label ?? e.to}`,
2345
- raw: e
2346
- })) : []), $ = v(() => [...On.value, ...kn.value].sort((e, t) => e.x === t.x ? e.y - t.y : e.x - t.x)), An = v(() => {
2347
- let e = /* @__PURE__ */ new Map();
2348
- return $.value.forEach((t, n) => {
2349
- e.set(`${t.type}:${t.id}`, n);
2350
- }), e;
2351
- }), jn = v(() => {
2352
- let e = J.value?.nodes ?? [], t = J.value?.edges ?? [];
2353
- return {
2354
- headers: [
2355
- L.value.a11y?.translations?.node ?? "Node",
2356
- L.value.a11y?.translations?.parents ?? "Parents",
2357
- L.value.a11y?.translations?.children ?? "Children"
2358
- ],
2359
- rows: e.map((e) => {
2360
- let n = t.filter((t) => t.to === e.id).map((e) => Y(e.from)?.label ?? e.from).join(", "), r = t.filter((t) => t.from === e.id).map((e) => Y(e.to)?.label ?? e.to).join(", ");
2361
- return [
2362
- e.label ?? e.id,
2363
- n || "—",
2364
- r || "—"
2365
- ];
2366
- })
2367
- };
2368
- });
2369
- function Mn(e) {
2370
- return `${e.type}:${e.id}`;
2371
- }
2372
- function Nn() {
2373
- return F.value == null || I.value == null ? null : $.value.find((e) => e.id === F.value && e.type === I.value) ?? null;
2374
- }
2375
- async function Pn(e) {
2376
- if (e) {
2377
- if (e.type === "node") {
2378
- Qt();
2379
- return;
2380
- }
2381
- e.type === "midpoint" && (en(), await Zt(e.raw));
2382
- }
2383
- }
2384
- function Fn(e) {
2385
- if (e) {
2386
- if (F.value = e.id, I.value = e.type, Ge.value = An.value.get(Mn(e)) ?? null, e.type === "node") {
2387
- gn(e.id), Z.value = null;
2388
- return;
2389
- }
2390
- e.type === "midpoint" && (Q.value = null, Z.value = e.id, B.value.selectedEdge.animated === !0 && un());
2391
- }
2392
- }
2393
- function In() {
2394
- F.value = null, I.value = null, Ge.value = null, W.value || (Q.value = null), at.value || (Z.value = null, B.value.selectedEdge.animated === !0 && un());
2395
- }
2396
- function Ln() {
2397
- qe.value = !0, In();
2398
- }
2399
- function Rn() {
2400
- qe.value = !1, en(), Qt(), In();
2401
- }
2402
- function zn(e, t, n) {
2403
- let r = t.x - e.x, i = t.y - e.y;
2404
- return n === "right" && r <= 0 || n === "left" && r >= 0 || n === "down" && i <= 0 || n === "up" && i >= 0 ? Infinity : n === "right" || n === "left" ? Math.abs(r) * 1e3 + Math.abs(i) : Math.abs(i) * 1e3 + Math.abs(r);
2405
- }
2406
- function Bn(e, t) {
2407
- let n = $.value.filter((t) => Mn(t) !== Mn(e));
2408
- if (!n.length) return null;
2409
- let r = null, i = Infinity;
2410
- return n.forEach((n) => {
2411
- let a = zn(e, n, t);
2412
- a < i && (i = a, r = n);
2413
- }), r || (t === "right" || t === "down" ? $.value[0] ?? null : $.value[$.value.length - 1] ?? null);
2414
- }
2415
- async function Vn(e) {
2416
- e && (Ke.value = "keyboard", e.type === "node" && (Qt(), await $t(e.raw)));
2417
- }
2418
- async function Hn(e) {
2419
- if (!K.value || ot.value || document.activeElement !== K.value || !$.value.length) return;
2420
- 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";
2421
- if (!t && !n && !r && !i && !a && !o) return;
2422
- if (e.preventDefault(), e.stopPropagation(), o) {
2423
- en(), Qt(), In();
2424
- return;
2425
- }
2426
- let s = Nn();
2427
- if (a) {
2428
- if (!s) return;
2429
- s.type === "node" && await Vn(s);
2430
- return;
2431
- }
2432
- if (!s) {
2433
- let e = $.value[0];
2434
- if (!e) return;
2435
- Fn(e), await Pn(e);
2436
- return;
2437
- }
2438
- let c = null;
2439
- n ? c = Bn(s, "right") : t ? c = Bn(s, "left") : i ? c = Bn(s, "down") : r && (c = Bn(s, "up")), c && (en(), Qt(), Fn(c), await Pn(c));
2440
- }
2441
- return u({
2442
- getData: En,
2443
- getImage: dn,
2444
- generatePdf: vt,
2445
- generateSvg: wt,
2446
- generateImage: yt,
2447
- toggleAnnotator: Wt,
2448
- toggleFullscreen: Ut,
2449
- zoomIn: Gt,
2450
- zoomOut: Kt,
2451
- resetZoom: Nt,
2452
- switchDirection: Jt,
2453
- copyAlt: Dn,
2454
- focusOnNode: Rt
2455
- }), (e, t) => (w(), b("div", {
2456
- class: Ce(`vue-data-ui-component vue-ui-dag ${Ht.value ? "vue-data-ui-wrapper-fullscreen" : ""} ${L.value.responsive ? "vue-ui-dag-responsive" : ""}`),
2457
- id: `dag_${M.value}`,
2458
- ref_key: "dagChart",
2459
- ref: j,
2460
- style: we({
2461
- fontFamily: L.value.style.fontFamily,
2462
- backgroundColor: V.value.backgroundColor,
2463
- padding: "0.5rem"
2464
- }),
2465
- onMouseenter: Et,
2466
- onMouseleave: Dt
2467
- }, [
2468
- x("div", {
2469
- id: `chart-instructions-${M.value}`,
2470
- class: "sr-only"
2471
- }, [x("p", null, Oe(L.value.a11y.translations.keyboardNavigation), 1)], 8, tr),
2472
- jn.value?.rows?.length ? (w(), ge(se, {
2473
- key: 0,
2474
- uid: M.value,
2475
- head: jn.value.headers,
2476
- body: jn.value.rows,
2477
- notice: L.value.a11y.translations.tableAvailable,
2478
- caption: L.value.a11y.translations.tableCaption
2479
- }, null, 8, [
2480
- "uid",
2481
- "head",
2482
- "body",
2483
- "notice",
2484
- "caption"
2485
- ])) : y("", !0),
2486
- D(kt) ? (w(), b("div", nr, Oe(String(D(kt))), 1)) : y("", !0),
2487
- L.value.userOptions.buttons.annotator ? (w(), ge(D(je), {
2488
- key: 2,
2489
- svgRef: D(K),
2490
- backgroundColor: V.value.backgroundColor,
2491
- color: V.value.color,
2492
- active: ot.value,
2493
- isCursorPointer: Je.value,
2494
- palette: L.value.userOptions.annotatorPalette,
2495
- onClose: Wt
2496
- }, {
2497
- "annotator-action-close": O(() => [E(e.$slots, "annotator-action-close", {}, void 0, !0)]),
2498
- "annotator-action-color": O(({ color: t }) => [E(e.$slots, "annotator-action-color", C(S({ color: t })), void 0, !0)]),
2499
- "annotator-action-draw": O(({ mode: t }) => [E(e.$slots, "annotator-action-draw", C(S({ mode: t })), void 0, !0)]),
2500
- "annotator-action-undo": O(({ disabled: t }) => [E(e.$slots, "annotator-action-undo", C(S({ disabled: t })), void 0, !0)]),
2501
- "annotator-action-redo": O(({ disabled: t }) => [E(e.$slots, "annotator-action-redo", C(S({ disabled: t })), void 0, !0)]),
2502
- "annotator-action-delete": O(({ disabled: t }) => [E(e.$slots, "annotator-action-delete", C(S({ disabled: t })), void 0, !0)]),
2503
- _: 3
2504
- }, 8, [
2505
- "svgRef",
2506
- "backgroundColor",
2507
- "color",
2508
- "active",
2509
- "isCursorPointer",
2510
- "palette"
2511
- ])) : y("", !0),
2512
- L.value.userOptions.show && We.value && (D(lt) || D(st)) ? (w(), ge(D(Ne), {
2513
- ref: "userOptionsRef",
2514
- key: `user_option_${He.value}`,
2515
- backgroundColor: V.value.backgroundColor,
2516
- color: V.value.color,
2517
- isPrinting: D(gt),
2518
- isImaging: D(_t),
2519
- uid: M.value,
2520
- hasTooltip: !1,
2521
- hasTable: !1,
2522
- hasXls: !1,
2523
- hasLabel: !1,
2524
- hasPdf: L.value.userOptions.buttons.pdf,
2525
- hasImg: L.value.userOptions.buttons.img,
2526
- hasSvg: L.value.userOptions.buttons.svg,
2527
- hasFullscreen: L.value.userOptions.buttons.fullscreen,
2528
- hasAltCopy: L.value.userOptions.buttons.altCopy,
2529
- isFullscreen: Ht.value,
2530
- chartElement: j.value,
2531
- position: L.value.userOptions.position,
2532
- titles: { ...L.value.userOptions.buttonTitles },
2533
- hasAnnotator: L.value.userOptions.buttons.annotator,
2534
- isAnnotation: ot.value,
2535
- callbacks: L.value.userOptions.callbacks,
2536
- printScale: L.value.userOptions.print.scale,
2537
- hasZoom: L.value.userOptions.buttons.zoom,
2538
- isZoom: Mt.value,
2539
- isCursorPointer: Je.value,
2540
- onToggleFullscreen: Ut,
2541
- onGeneratePdf: D(vt),
2542
- onGenerateImage: D(Tt),
2543
- onGenerateSvg: D(wt),
2544
- onToggleAnnotator: Wt,
2545
- onToggleZoom: zt,
2546
- onCopyAlt: Dn,
2547
- style: we({ visibility: D(lt) ? D(st) ? "visible" : "hidden" : "visible" })
2548
- }, _e({ _: 2 }, [
2549
- e.$slots.menuIcon ? {
2550
- name: "menuIcon",
2551
- fn: O(({ isOpen: t, color: n }) => [E(e.$slots, "menuIcon", C(S({
2552
- isOpen: t,
2553
- color: n
2554
- })), void 0, !0)]),
2555
- key: "0"
2556
- } : void 0,
2557
- e.$slots.optionPdf ? {
2558
- name: "optionPdf",
2559
- fn: O(() => [E(e.$slots, "optionPdf", {}, void 0, !0)]),
2560
- key: "1"
2561
- } : void 0,
2562
- e.$slots.optionImg ? {
2563
- name: "optionImg",
2564
- fn: O(() => [E(e.$slots, "optionImg", {}, void 0, !0)]),
2565
- key: "2"
2566
- } : void 0,
2567
- e.$slots.optionSvg ? {
2568
- name: "optionSvg",
2569
- fn: O(() => [E(e.$slots, "optionSvg", {}, void 0, !0)]),
2570
- key: "3"
2571
- } : void 0,
2572
- e.$slots.optionFullscreen ? {
2573
- name: "optionFullscreen",
2574
- fn: O(({ toggleFullscreen: t, isFullscreen: n }) => [E(e.$slots, "optionFullscreen", C(S({
2575
- toggleFullscreen: t,
2576
- isFullscreen: n
2577
- })), void 0, !0)]),
2578
- key: "4"
2579
- } : void 0,
2580
- e.$slots.optionAnnotator ? {
2581
- name: "optionAnnotator",
2582
- fn: O(({ toggleAnnotator: t, isAnnotator: n }) => [E(e.$slots, "optionAnnotator", C(S({
2583
- toggleAnnotator: t,
2584
- isAnnotator: n
2585
- })), void 0, !0)]),
2586
- key: "5"
2587
- } : void 0,
2588
- e.$slots.optionZoom ? {
2589
- name: "optionZoom",
2590
- fn: O(({ toggleZoom: t, isZoomLocked: n }) => [E(e.$slots, "optionZoom", C(S({
2591
- toggleZoom: t,
2592
- isZoomLocked: n
2593
- })), void 0, !0)]),
2594
- key: "6"
2595
- } : void 0,
2596
- e.$slots.optionAltCopy ? {
2597
- name: "optionAltCopy",
2598
- fn: O(({ altCopy: t }) => [E(e.$slots, "optionAltCopy", C(S({ altCopy: t })), void 0, !0)]),
2599
- key: "7"
2600
- } : void 0,
2601
- e.$slots["custom-menu-before"] ? {
2602
- name: "custom-menu-before",
2603
- fn: O(() => [E(e.$slots, "custom-menu-before", {}, void 0, !0)]),
2604
- key: "8"
2605
- } : void 0,
2606
- e.$slots["custom-menu-after"] ? {
2607
- name: "custom-menu-after",
2608
- fn: O(() => [E(e.$slots, "custom-menu-after", {}, void 0, !0)]),
2609
- key: "9"
2610
- } : void 0
2611
- ]), 1032, [
2612
- "backgroundColor",
2613
- "color",
2614
- "isPrinting",
2615
- "isImaging",
2616
- "uid",
2617
- "hasPdf",
2618
- "hasImg",
2619
- "hasSvg",
2620
- "hasFullscreen",
2621
- "hasAltCopy",
2622
- "isFullscreen",
2623
- "chartElement",
2624
- "position",
2625
- "titles",
2626
- "hasAnnotator",
2627
- "isAnnotation",
2628
- "callbacks",
2629
- "printScale",
2630
- "hasZoom",
2631
- "isZoom",
2632
- "isCursorPointer",
2633
- "onGeneratePdf",
2634
- "onGenerateImage",
2635
- "onGenerateSvg",
2636
- "style"
2637
- ])) : y("", !0),
2638
- V.value.title.text ? (w(), b("div", {
2639
- key: 4,
2640
- ref_key: "chartTitle",
2641
- ref: Re,
2642
- style: "width:100%;background:transparent;"
2643
- }, [(w(), ge(re, {
2644
- key: `title_${Ve.value}`,
2645
- config: {
2646
- title: {
2647
- cy: "dag-title",
2648
- ...V.value.title
2649
- },
2650
- subtitle: {
2651
- cy: "dag-subtitle",
2652
- ...V.value.title.subtitle
2653
- }
2654
- }
2655
- }, null, 8, ["config"]))], 512)) : y("", !0),
2656
- V.value.controls.position === "top" && !D(dt) && V.value.controls.show ? (w(), ge(de, {
2657
- key: 5,
2658
- ref_key: "zoomControls",
2659
- ref: Be,
2660
- config: L.value,
2661
- scale: D(Ft),
2662
- isFullscreen: Ht.value,
2663
- withDirection: "",
2664
- onZoomIn: Gt,
2665
- onZoomOut: Kt,
2666
- onResetZoom: t[0] ||= () => D(Nt)(!0),
2667
- onSwitchDirection: Jt
2668
- }, null, 8, [
2669
- "config",
2670
- "scale",
2671
- "isFullscreen"
2672
- ])) : y("", !0),
2673
- x("div", rr, [D(J) ? (w(), b("svg", {
2674
- key: 0,
2675
- ref_key: "svgRef",
2676
- ref: K,
2677
- class: Ce({
2678
- "vue-ui-dag-svg": !0,
2679
- "vue-data-ui-loading": D(dt)
2680
- }),
2681
- viewBox: Vt.value,
2682
- xmlns: D(c),
2683
- style: we({
2684
- backgroundColor: V.value.backgroundColor,
2685
- height: "100%",
2686
- width: "100%"
2687
- }),
2688
- tabindex: "0",
2689
- "aria-describedby": `chart-instructions-${M.value}`,
2690
- onFocus: Ln,
2691
- onBlur: Rn,
2692
- onKeydown: Hn
2693
- }, [
2694
- ye(D(Pe)),
2695
- V.value.backgroundPattern.show ? (w(), b("defs", ar, [x("pattern", {
2696
- id: `dag_bg_pattern_${M.value}`,
2697
- patternUnits: "userSpaceOnUse",
2698
- width: fn.value,
2699
- height: fn.value
2700
- }, [E(e.$slots, "background-pattern", C(S({
2701
- x: fn.value / 2,
2702
- y: fn.value / 2,
2703
- color: V.value.backgroundPattern.dotColor
2704
- })), () => [x("circle", {
2705
- cx: fn.value / 2,
2706
- cy: fn.value / 2,
2707
- r: pn.value,
2708
- fill: V.value.backgroundPattern.dotColor
2709
- }, null, 8, sr)], !0)], 8, or)])) : y("", !0),
2710
- V.value.backgroundPattern.show ? (w(), b("rect", {
2711
- key: 1,
2712
- x: D(X)?.x ?? 0,
2713
- y: D(X)?.y ?? 0,
2714
- width: D(X)?.width ?? 0,
2715
- height: D(X)?.height ?? 0,
2716
- fill: `url(#dag_bg_pattern_${M.value})`,
2717
- style: we({
2718
- pointerEvents: "none",
2719
- opacity: V.value.backgroundPattern.opacity
2720
- })
2721
- }, null, 12, cr)) : y("", !0),
2722
- D(J).arrowShape === "undirected" ? y("", !0) : (w(), b("defs", lr, [(w(!0), b(pe, null, De(D(J).edges, (e) => (w(), b("marker", {
2723
- key: `marker_${e.id}`,
2724
- id: Tn(e.id),
2725
- markerWidth: D(J).arrowSize,
2726
- markerHeight: D(J).arrowSize,
2727
- refX: D(J).arrowSize - 3,
2728
- refY: D(J).arrowSize / 2,
2729
- orient: "auto",
2730
- markerUnits: "strokeWidth"
2731
- }, [D(J).arrowShape === "normal" ? (w(), b("path", {
2732
- key: 0,
2733
- d: `M 0 0 L ${D(J).arrowSize} ${D(J).arrowSize / 2} L 0 ${D(J).arrowSize} Z`,
2734
- fill: wn(e),
2735
- stroke: wn(e),
2736
- "stroke-width": "0",
2737
- style: { transition: "stroke 0.2s ease-in-out,\n fill 0.2s ease-in-out,\n stroke-width 0.2s ease-in-out" }
2738
- }, null, 8, dr)) : (w(), b("path", {
2739
- key: 1,
2740
- d: `M 0 0 L ${D(J).arrowSize} ${D(J).arrowSize / 2} L 0 ${D(J).arrowSize} L ${D(J).arrowSize / 3} ${D(J).arrowSize / 2} Z`,
2741
- fill: wn(e),
2742
- stroke: wn(e),
2743
- "stroke-width": "0",
2744
- style: { transition: "stroke 0.2s ease-in-out,\n fill 0.2s ease-in-out,\n stroke-width 0.2s ease-in-out" }
2745
- }, null, 8, fr))], 8, ur))), 128))])),
2746
- x("g", pr, [(w(!0), b(pe, null, De(D(J).edges, (e) => (w(), b(pe, { key: e.id }, [x("path", xe({
2747
- "data-cy-edge": "",
2748
- ref_for: !0,
2749
- ref: cn(e.id)
2750
- }, { ref_for: !0 }, bn(e), { style: {
2751
- "pointer-events": "none",
2752
- transition: "stroke-width 0.2s ease-in-out,\n stroke 0.2s ease-in-out"
2753
- } }), null, 16), B.value.show ? (w(), b("circle", xe({
2754
- key: 0,
2755
- "data-cy-midpoint": "",
2756
- class: "vue-ui-dag-edge-midpoint",
2757
- "data-a11y-midpoint-id": e.id
2758
- }, { ref_for: !0 }, Cn(e), {
2759
- "aria-label": `${Y(e.from)?.label ?? e.from} to ${Y(e.to)?.label ?? e.to}`,
2760
- style: { transition: "stroke-width 0.2s ease-in-out,\n stroke 0.2s ease-in-out,\n fill 0.2s ease-in-out" },
2761
- onMouseenter: (t) => vn(e),
2762
- onMouseleave: Qt
2763
- }), null, 16, mr)) : y("", !0)], 64))), 128))]),
2764
- x("g", hr, [(w(!0), b(pe, null, De(D(J).nodes, (t) => (w(), b("g", {
2765
- key: t.id,
2766
- class: "vue-ui-dag-node",
2767
- onClick: Me((e) => R.value.tooltip.showOnClick && $t(t), ["stop"]),
2768
- onMouseenter: (e) => _n(t.id),
2769
- onMouseleave: (e) => yn(t.id)
2770
- }, [e.$slots.node ? y("", !0) : (w(), b("rect", xe({
2771
- key: 0,
2772
- "data-cy-node": ""
2773
- }, { ref_for: !0 }, Sn(t), {
2774
- "data-a11y-node-id": t.id,
2775
- "aria-label": `${t.label ?? t.id}`,
2776
- style: {
2777
- cursor: R.value.tooltip.showOnClick && Je.value ? "pointer" : "default",
2778
- transition: "stroke 0.2s ease-in-out, stroke-width 0.2s ease-in-out, fill 0.2s ease-in-out"
2779
- }
2780
- }), null, 16, _r)), e.$slots.node ? (w(), b("foreignObject", {
2781
- key: 1,
2782
- x: t.x - t.width / 2,
2783
- y: t.y - t.height / 2,
2784
- width: t.width,
2785
- height: t.height,
2786
- style: { overflow: "visible" }
2787
- }, [E(e.$slots, "node", xe({ ref_for: !0 }, {
2788
- node: t,
2789
- orientation: q.value
2790
- }), void 0, !0)], 8, vr)) : y("", !0)], 40, gr))), 128))]),
2791
- x("g", yr, [(w(!0), b(pe, null, De(D(J).edges, (e) => (w(), b("path", {
2792
- key: e.id,
2793
- d: e.pathData,
2794
- fill: "none",
2795
- stroke: "transparent",
2796
- "stroke-width": z.value.strokeWidth * (e.from === Q.value || e.id === U.value?.id ? 1.3 : 1),
2797
- "stroke-linecap": "round",
2798
- "stroke-linejoin": "round",
2799
- "marker-end": D(J).arrowShape === "undirected" ? null : `url(#${Tn(e.id)})`,
2800
- style: {
2801
- "pointer-events": "none",
2802
- transition: "stroke-width 0.2s ease-in-out,\n stroke 0.2s ease-in-out"
2803
- }
2804
- }, null, 8, br))), 128))]),
2805
- x("g", xr, [(w(!0), b(pe, null, De(D(J).nodes, (t) => (w(), b("g", {
2806
- key: t.id,
2807
- onClick: Me((e) => R.value.tooltip.showOnClick && $t(t), ["stop"]),
2808
- onMouseenter: (e) => gn(t.id),
2809
- onMouseleave: (e) => yn(t.id)
2810
- }, [e.$slots["free-node-label"] ? y("", !0) : (w(), b(pe, { key: 0 }, [e.$slots["node-label"] ? (w(), b("text", {
2811
- key: 0,
2812
- x: t.x,
2813
- y: t.y + R.value.labels.fontSize / 3,
2814
- "text-anchor": "middle",
2815
- "font-size": R.value.labels.fontSize,
2816
- fill: Q.value === t.id && R.value.selected.labelColor != null ? R.value.selected.labelColor : t.original.color,
2817
- "font-weight": R.value.labels.bold ? "bold" : "normal",
2818
- style: { transition: "fill 0.2s ease-in-out" }
2819
- }, [E(e.$slots, "node-label", xe({ ref_for: !0 }, {
2820
- node: t,
2821
- orientation: q.value
2822
- }), () => [ve(Oe(t.label), 1)], !0)], 8, Cr)) : !e.$slots["free-node-label"] && !e.$slots.node ? (w(), b("text", {
2823
- key: 1,
2824
- "data-cy-node-label": "",
2825
- x: t.x,
2826
- y: t.y + R.value.labels.fontSize / 3,
2827
- "text-anchor": "middle",
2828
- "font-size": R.value.labels.fontSize,
2829
- fill: (Q.value === t.id || xn(t.id)) && R.value.selected.labelColor != null ? R.value.selected.labelColor : t.original.color,
2830
- "font-weight": R.value.labels.bold ? "bold" : "normal",
2831
- style: { transition: "fill 0.2s ease-in-out" },
2832
- innerHTML: D(a)({
2833
- content: t.label,
2834
- fontSize: R.value.labels.fontSize,
2835
- fontWeight: V.value.nodes.labels.bold ? "bold" : "normal",
2836
- fill: (Q.value === t.id || xn(t.id)) && R.value.selected.labelColor != null ? R.value.selected.labelColor : t.original.color,
2837
- x: t.x,
2838
- y: t.y,
2839
- autoOffset: !0
2840
- })
2841
- }, null, 8, wr)) : y("", !0)], 64)), e.$slots["free-node-label"] ? (w(), b("g", Tr, [E(e.$slots, "free-node-label", xe({ ref_for: !0 }, {
2842
- node: t,
2843
- layoutData: D(J),
2844
- orientation: q.value
2845
- }), void 0, !0)])) : y("", !0)], 40, Sr))), 128))]),
2846
- E(e.$slots, "svg", { svg: {
2847
- drawingArea: D(X),
2848
- data: D(J),
2849
- orientation: q.value,
2850
- isPrintingImg: D(gt) || D(_t) || D(St),
2851
- isPrintingSvg: D(Ct)
2852
- } }, void 0, !0)
2853
- ], 46, ir)) : y("", !0), e.$slots.hint ? (w(), b("div", Er, [E(e.$slots, "hint", C(S({
2854
- hint: L.value.a11y.translations.keyboardNavigation,
2855
- isVisible: qe.value
2856
- })), void 0, !0)])) : y("", !0)]),
2857
- e.$slots.watermark ? (w(), b("div", Dr, [E(e.$slots, "watermark", C(S({ isPrinting: D(gt) || D(_t) || D(St) || D(Ct) })), void 0, !0)])) : y("", !0),
2858
- ye(he, { name: "fade" }, {
2859
- default: O(() => [at.value ? (w(), ge(me, {
2860
- key: 0,
2861
- to: Ht.value ? j.value : "body"
2862
- }, [x("div", {
2863
- "data-cy-tooltip-midpoint": "",
2864
- ref_key: "tooltipRef",
2865
- ref: Ze,
2866
- class: "vue-ui-dag-tooltip",
2867
- style: we({
2868
- ...Qe.value,
2869
- maxWidth: B.value.tooltip.maxWidth,
2870
- "--vue-data-ui-dag-tooltip-background": B.value.tooltip.backgroundColor,
2871
- "--vue-data-ui-dag-tooltip-color": B.value.tooltip.color
2872
- }),
2873
- "data-position": $e.value
2874
- }, [E(e.$slots, "tooltip-midpoint", C(S({
2875
- edge: U.value,
2876
- layoutData: D(J)
2877
- })), () => [U.value ? (w(), b("div", kr, Oe(Y(U.value.from)?.label ?? U.value.from) + " → " + Oe(Y(U.value.to)?.label ?? U.value.to), 1)) : y("", !0)], !0)], 12, Or)], 8, ["to"])) : y("", !0)]),
2878
- _: 3
2879
- }),
2880
- ye(he, { name: "fade" }, {
2881
- default: O(() => [W.value ? (w(), ge(me, {
2882
- key: 0,
2883
- to: Ht.value ? j.value : "body"
2884
- }, [x("div", {
2885
- "data-cy-tooltip-node": "",
2886
- ref_key: "nodeTooltipRef",
2887
- ref: nt,
2888
- class: "vue-ui-dag-node-tooltip",
2889
- style: we({
2890
- maxWidth: R.value.tooltip.maxWidth,
2891
- left: rt.value.left,
2892
- top: rt.value.top,
2893
- "--vue-data-ui-dag-node-tooltip-background": R.value.tooltip.backgroundColor,
2894
- "--vue-data-ui-dag-node-tooltip-color": R.value.tooltip.color
2895
- }),
2896
- "data-position": it.value
2897
- }, [E(e.$slots, "tooltip-node", C(S({
2898
- node: G.value,
2899
- layoutData: D(J)
2900
- })), () => [G.value ? (w(), b("div", jr, Oe(G.value.label), 1)) : y("", !0)], !0)], 12, Ar)], 8, ["to"])) : y("", !0)]),
2901
- _: 3
2902
- }),
2903
- V.value.controls.position === "bottom" && !D(dt) && V.value.controls.show ? (w(), ge(de, {
2904
- key: 7,
2905
- ref_key: "zoomControls",
2906
- ref: Be,
2907
- config: L.value,
2908
- scale: D(Ft),
2909
- isFullscreen: Ht.value,
2910
- withDirection: "",
2911
- onZoomIn: Gt,
2912
- onZoomOut: Kt,
2913
- onResetZoom: t[1] ||= () => D(Nt)(!0),
2914
- onSwitchDirection: Jt
2915
- }, null, 8, [
2916
- "config",
2917
- "scale",
2918
- "isFullscreen"
2919
- ])) : y("", !0),
2920
- e.$slots.source ? (w(), b("div", {
2921
- key: 8,
2922
- ref_key: "source",
2923
- ref: ze,
2924
- dir: "auto"
2925
- }, [E(e.$slots, "source", {}, void 0, !0)], 512)) : y("", !0),
2926
- E(e.$slots, "skeleton", {}, () => [D(dt) ? (w(), ge(g, { key: 0 })) : y("", !0)], !0)
2927
- ], 46, er));
2928
- }
2929
- }, [["__scopeId", "data-v-69c478dd"]]);
2930
- //#endregion
2931
- export { $n as n, Nr as t };