vue-data-ui 3.20.1 → 3.20.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (322) hide show
  1. package/dist/A11yDataTable-BCbtxMU6.js +45 -0
  2. package/dist/Arrow-D6j6ocXm.js +116 -0
  3. package/dist/BaseDraggableDialog-4hDW-Rj2.js +272 -0
  4. package/dist/BaseIcon-DfLoHNUj.js +502 -0
  5. package/dist/BaseLegendToggle-C_Db-y7s.js +56 -0
  6. package/dist/BaseScanner-Dr2a1Msy.js +27 -0
  7. package/dist/BaseZoomControls-CG7hI_1P.js +111 -0
  8. package/dist/ColorPicker-Bjwxnvfh.js +255 -0
  9. package/dist/DataTable-B--IN22e.js +150 -0
  10. package/dist/Legend-Cz2uQ5gs.js +114 -0
  11. package/dist/NonSvgPenAndPaper-gLNJ1Lmr.js +577 -0
  12. package/dist/PackageVersion-f0MuYk3R.js +11 -0
  13. package/dist/PenAndPaper-DqrClVfb.js +461 -0
  14. package/dist/RecursiveCircles-D6aDPmoe.js +117 -0
  15. package/dist/RecursiveLabels-D9rfID6q.js +56 -0
  16. package/dist/RecursiveLinks-BygcpDiT.js +78 -0
  17. package/dist/Shape-BPCJfphn.js +141 -0
  18. package/dist/Slicer-SHBj0VaV.js +1144 -0
  19. package/dist/SlicerPreview-DdihbUSJ.js +1668 -0
  20. package/dist/SparkTooltip-CfE6yCad.js +93 -0
  21. package/dist/Title-NWp4qB4K.js +87 -0
  22. package/dist/Tooltip-BENq327o.js +312 -0
  23. package/dist/UserOptions-C1NgoGu6.js +1411 -0
  24. package/dist/_plugin-vue_export-helper-B3ysoDQm.js +8 -0
  25. package/dist/canvas-lib-BOP_HS11.js +79 -0
  26. package/dist/components/arrow.js +2 -0
  27. package/dist/components/vue-ui-3d-bar.js +2 -0
  28. package/dist/components/vue-ui-accordion.js +2 -0
  29. package/dist/components/vue-ui-age-pyramid.js +2 -0
  30. package/dist/components/vue-ui-annotator.js +2 -0
  31. package/dist/components/vue-ui-bullet.js +2 -0
  32. package/dist/components/vue-ui-bump.js +2 -0
  33. package/dist/components/vue-ui-candlestick.js +2 -0
  34. package/dist/components/vue-ui-carousel-table.js +2 -0
  35. package/dist/components/vue-ui-chestnut.js +2 -0
  36. package/dist/components/vue-ui-chord.js +2 -0
  37. package/dist/components/vue-ui-circle-pack.js +2 -0
  38. package/dist/components/vue-ui-cursor.js +2 -0
  39. package/dist/components/vue-ui-dag.js +2 -0
  40. package/dist/components/vue-ui-dashboard.js +2 -0
  41. package/dist/components/vue-ui-digits.js +2 -0
  42. package/dist/components/vue-ui-donut-evolution.js +2 -0
  43. package/dist/components/vue-ui-donut.js +2 -0
  44. package/dist/components/vue-ui-dumbbell.js +2 -0
  45. package/dist/components/vue-ui-flow.js +2 -0
  46. package/dist/components/vue-ui-funnel.js +2 -0
  47. package/dist/components/vue-ui-galaxy.js +2 -0
  48. package/dist/components/vue-ui-gauge.js +2 -0
  49. package/dist/components/vue-ui-geo.js +2 -0
  50. package/dist/components/vue-ui-gizmo.js +2 -0
  51. package/dist/components/vue-ui-heatmap.js +2 -0
  52. package/dist/components/vue-ui-history-plot.js +2 -0
  53. package/dist/components/vue-ui-horizontal-bar.js +2 -0
  54. package/dist/components/vue-ui-icon.js +2 -0
  55. package/dist/components/vue-ui-kpi.js +2 -0
  56. package/dist/components/vue-ui-mini-loader.js +2 -0
  57. package/dist/components/vue-ui-molecule.js +2 -0
  58. package/dist/components/vue-ui-mood-radar.js +2 -0
  59. package/dist/components/vue-ui-nested-donuts.js +2 -0
  60. package/dist/components/vue-ui-onion.js +2 -0
  61. package/dist/components/vue-ui-parallel-coordinate-plot.js +2 -0
  62. package/dist/components/vue-ui-pattern-seed.js +2 -0
  63. package/dist/components/vue-ui-pattern.js +2 -0
  64. package/dist/components/vue-ui-quadrant.js +2 -0
  65. package/dist/components/vue-ui-quick-chart.js +2 -0
  66. package/dist/components/vue-ui-radar.js +2 -0
  67. package/dist/components/vue-ui-rating.js +2 -0
  68. package/dist/components/vue-ui-relation-circle.js +2 -0
  69. package/dist/components/vue-ui-ridgeline.js +2 -0
  70. package/dist/components/vue-ui-rings.js +2 -0
  71. package/dist/components/vue-ui-scatter.js +2 -0
  72. package/dist/components/vue-ui-skeleton.js +2 -0
  73. package/dist/components/vue-ui-smiley.js +2 -0
  74. package/dist/components/vue-ui-spark-trend.js +2 -0
  75. package/dist/components/vue-ui-sparkbar.js +2 -0
  76. package/dist/components/vue-ui-sparkgauge.js +2 -0
  77. package/dist/components/vue-ui-sparkhistogram.js +2 -0
  78. package/dist/components/vue-ui-sparkline.js +2 -0
  79. package/dist/components/vue-ui-sparkstackbar.js +2 -0
  80. package/dist/components/vue-ui-stackbar.js +2 -0
  81. package/dist/components/vue-ui-stackline.js +2 -0
  82. package/dist/components/vue-ui-strip-plot.js +2 -0
  83. package/dist/components/vue-ui-table-heatmap.js +2 -0
  84. package/dist/components/vue-ui-table-sparkline.js +2 -0
  85. package/dist/components/vue-ui-table.js +2 -0
  86. package/dist/components/vue-ui-thermometer.js +2 -0
  87. package/dist/components/vue-ui-timer.js +2 -0
  88. package/dist/components/vue-ui-tiremarks.js +2 -0
  89. package/dist/components/vue-ui-treemap.js +2 -0
  90. package/dist/components/vue-ui-vertical-bar.js +2 -0
  91. package/dist/components/vue-ui-waffle.js +2 -0
  92. package/dist/components/vue-ui-wheel.js +2 -0
  93. package/dist/components/vue-ui-word-cloud.js +2 -0
  94. package/dist/components/vue-ui-world.js +2 -0
  95. package/dist/components/vue-ui-xy-canvas.js +2 -0
  96. package/dist/components/vue-ui-xy.js +2 -0
  97. package/dist/dom-to-png-BYtB4BF3.js +237 -0
  98. package/dist/exposedLib-CI8ji8G-.js +19 -0
  99. package/dist/geoProjections-Czak6Jn1.js +145 -0
  100. package/dist/img-1cKsci8e.js +74 -0
  101. package/dist/labelUtils-CUctkYoA.js +19 -0
  102. package/dist/lib-DUeYQsS0.js +1882 -0
  103. package/dist/llms.txt +232 -0
  104. package/dist/patternUtils-CS7hn6at.js +258 -0
  105. package/dist/pdf-D0eZ99cP.js +90 -0
  106. package/dist/rolldown-runtime-Dy4uBu1J.js +11 -0
  107. package/dist/style.css +2 -0
  108. package/dist/types/arrow.d.ts +4 -0
  109. package/dist/types/utils.d.ts +551 -0
  110. package/dist/types/vue-data-ui.d.ts +17190 -0
  111. package/dist/types/vue-ui-3d-bar.d.ts +93 -0
  112. package/dist/types/vue-ui-accordion.d.ts +11 -0
  113. package/dist/types/vue-ui-age-pyramid.d.ts +108 -0
  114. package/dist/types/vue-ui-annotator.d.ts +34 -0
  115. package/dist/types/vue-ui-bullet.d.ts +85 -0
  116. package/dist/types/vue-ui-bump.d.ts +92 -0
  117. package/dist/types/vue-ui-candlestick.d.ts +106 -0
  118. package/dist/types/vue-ui-carousel-table.d.ts +59 -0
  119. package/dist/types/vue-ui-chestnut.d.ts +98 -0
  120. package/dist/types/vue-ui-chord.d.ts +110 -0
  121. package/dist/types/vue-ui-circle-pack.d.ts +126 -0
  122. package/dist/types/vue-ui-cursor.d.ts +9 -0
  123. package/dist/types/vue-ui-dag.d.ts +125 -0
  124. package/dist/types/vue-ui-dashboard.d.ts +68 -0
  125. package/dist/types/vue-ui-digits.d.ts +12 -0
  126. package/dist/types/vue-ui-donut-evolution.d.ts +96 -0
  127. package/dist/types/vue-ui-donut.d.ts +123 -0
  128. package/dist/types/vue-ui-dumbbell.d.ts +94 -0
  129. package/dist/types/vue-ui-flow.d.ts +106 -0
  130. package/dist/types/vue-ui-funnel.d.ts +79 -0
  131. package/dist/types/vue-ui-galaxy.d.ts +114 -0
  132. package/dist/types/vue-ui-gauge.d.ts +89 -0
  133. package/dist/types/vue-ui-geo.d.ts +94 -0
  134. package/dist/types/vue-ui-gizmo.d.ts +22 -0
  135. package/dist/types/vue-ui-heatmap.d.ts +101 -0
  136. package/dist/types/vue-ui-history-plot.d.ts +114 -0
  137. package/dist/types/vue-ui-horizontal-bar.d.ts +116 -0
  138. package/dist/types/vue-ui-icon.d.ts +15 -0
  139. package/dist/types/vue-ui-kpi.d.ts +25 -0
  140. package/dist/types/vue-ui-mini-loader.d.ts +15 -0
  141. package/dist/types/vue-ui-molecule.d.ts +112 -0
  142. package/dist/types/vue-ui-mood-radar.d.ts +92 -0
  143. package/dist/types/vue-ui-nested-donuts.d.ts +111 -0
  144. package/dist/types/vue-ui-onion.d.ts +106 -0
  145. package/dist/types/vue-ui-parallel-coordinate-plot.d.ts +125 -0
  146. package/dist/types/vue-ui-pattern-seed.d.ts +14 -0
  147. package/dist/types/vue-ui-pattern.d.ts +15 -0
  148. package/dist/types/vue-ui-quadrant.d.ts +125 -0
  149. package/dist/types/vue-ui-quick-chart.d.ts +108 -0
  150. package/dist/types/vue-ui-radar.d.ts +116 -0
  151. package/dist/types/vue-ui-rating.d.ts +42 -0
  152. package/dist/types/vue-ui-relation-circle.d.ts +92 -0
  153. package/dist/types/vue-ui-ridgeline.d.ts +106 -0
  154. package/dist/types/vue-ui-rings.d.ts +98 -0
  155. package/dist/types/vue-ui-scatter.d.ts +97 -0
  156. package/dist/types/vue-ui-skeleton.d.ts +11 -0
  157. package/dist/types/vue-ui-smiley.d.ts +28 -0
  158. package/dist/types/vue-ui-spark-trend.d.ts +19 -0
  159. package/dist/types/vue-ui-sparkbar.d.ts +49 -0
  160. package/dist/types/vue-ui-sparkgauge.d.ts +28 -0
  161. package/dist/types/vue-ui-sparkhistogram.d.ts +46 -0
  162. package/dist/types/vue-ui-sparkline.d.ts +59 -0
  163. package/dist/types/vue-ui-sparkstackbar.d.ts +60 -0
  164. package/dist/types/vue-ui-stackbar.d.ts +118 -0
  165. package/dist/types/vue-ui-stackline.d.ts +114 -0
  166. package/dist/types/vue-ui-strip-plot.d.ts +96 -0
  167. package/dist/types/vue-ui-table-heatmap.d.ts +62 -0
  168. package/dist/types/vue-ui-table-sparkline.d.ts +53 -0
  169. package/dist/types/vue-ui-table.d.ts +38 -0
  170. package/dist/types/vue-ui-thermometer.d.ts +70 -0
  171. package/dist/types/vue-ui-timer.d.ts +49 -0
  172. package/dist/types/vue-ui-tiremarks.d.ts +70 -0
  173. package/dist/types/vue-ui-treemap.d.ts +104 -0
  174. package/dist/types/vue-ui-vertical-bar.d.ts +22 -0
  175. package/dist/types/vue-ui-waffle.d.ts +101 -0
  176. package/dist/types/vue-ui-wheel.d.ts +70 -0
  177. package/dist/types/vue-ui-word-cloud.d.ts +97 -0
  178. package/dist/types/vue-ui-world.d.ts +98 -0
  179. package/dist/types/vue-ui-xy-canvas.d.ts +101 -0
  180. package/dist/types/vue-ui-xy.d.ts +146 -0
  181. package/dist/useAutoSizeLabelsInsideViewbox-BIVntRZp.js +50 -0
  182. package/dist/useChartAccessibility-DYqac8yF.js +12 -0
  183. package/dist/useConfig-DAyQk86L.js +7479 -0
  184. package/dist/useFitSvgText-CT3nmlaS.js +63 -0
  185. package/dist/useNestedProp-CNcoy38D.js +10 -0
  186. package/dist/useObjectBindings-BI7hP-BC.js +189 -0
  187. package/dist/usePanZoom-CYU3B4T3.js +157 -0
  188. package/dist/usePrefersMotion-BC-CsqR1.js +15 -0
  189. package/dist/usePrinter-C1Gqt_Sp.js +49 -0
  190. package/dist/useResponsive-BfnK0KxU.js +19 -0
  191. package/dist/useStableElementSize-C7KADDKj.js +77 -0
  192. package/dist/useSvgExport-SVIsDot8.js +755 -0
  193. package/dist/useTableResponsive-B24Uwt2E.js +24 -0
  194. package/dist/useThemeCheck-C43Tcqmk.js +24 -0
  195. package/dist/useTimeLabelCollider-AEcY4Ioe.js +57 -0
  196. package/dist/useTimeLabels-BmBRv27Y.js +272 -0
  197. package/dist/useUserOptionState-DK-_1ddE.js +15 -0
  198. package/dist/utils.js +28 -0
  199. package/dist/vClickOutside-DUrZWttG.js +13 -0
  200. package/dist/vue-data-ui-C3m9eNp0.js +274 -0
  201. package/dist/vue-data-ui.js +76 -0
  202. package/dist/vue-ui-3d-bar-Bfcitq55.js +1757 -0
  203. package/dist/vue-ui-accordion-Dw4MHKVB.js +81 -0
  204. package/dist/vue-ui-age-pyramid-Dgzd45Ol.js +1238 -0
  205. package/dist/vue-ui-annotator-DLPUAKlm.js +2899 -0
  206. package/dist/vue-ui-bullet-DAeyHSHC.js +710 -0
  207. package/dist/vue-ui-bump-DsiXfIFL.js +1249 -0
  208. package/dist/vue-ui-candlestick-BadEBUcF.js +1826 -0
  209. package/dist/vue-ui-carousel-table-_LCF7RFm.js +455 -0
  210. package/dist/vue-ui-chestnut-BTuAvc7L.js +2010 -0
  211. package/dist/vue-ui-chord-CAyRIJlh.js +1391 -0
  212. package/dist/vue-ui-circle-pack-BWzwg8Qb.js +1608 -0
  213. package/dist/vue-ui-cursor-C6t7nAT4.js +283 -0
  214. package/dist/vue-ui-dag-8Puv77-a.js +2909 -0
  215. package/dist/vue-ui-dashboard-CXDvRu27.js +513 -0
  216. package/dist/vue-ui-digits-BlHqILF0.js +209 -0
  217. package/dist/vue-ui-donut-CclzduCs.js +2410 -0
  218. package/dist/vue-ui-donut-evolution-DEfY2Zvy.js +1510 -0
  219. package/dist/vue-ui-dumbbell-BG5C4Hdg.js +1530 -0
  220. package/dist/vue-ui-flow-B73dHBrL.js +1235 -0
  221. package/dist/vue-ui-funnel-Bn3c5lWX.js +777 -0
  222. package/dist/vue-ui-galaxy-eBY55Fue.js +1077 -0
  223. package/dist/vue-ui-gauge-s8pl305B.js +920 -0
  224. package/dist/vue-ui-geo-Ca2ZPVhH.js +1516 -0
  225. package/dist/vue-ui-gizmo-CBNDeAzT.js +225 -0
  226. package/dist/vue-ui-heatmap-V79kNqUi.js +1568 -0
  227. package/dist/vue-ui-history-plot-jiJh8oaM.js +1554 -0
  228. package/dist/vue-ui-horizontal-bar-60b88qqU.js +1681 -0
  229. package/dist/vue-ui-kpi-DnfazUeY.js +96 -0
  230. package/dist/vue-ui-mini-loader-CyqBt2g4.js +125 -0
  231. package/dist/vue-ui-molecule-BeIVS2yp.js +925 -0
  232. package/dist/vue-ui-mood-radar-DHY1ry9I.js +1148 -0
  233. package/dist/vue-ui-nested-donuts-GNR6O-Z_.js +1487 -0
  234. package/dist/vue-ui-onion-DghkeKRu.js +1200 -0
  235. package/dist/vue-ui-parallel-coordinate-plot-DqfRRSnD.js +1416 -0
  236. package/dist/vue-ui-pattern-DKozfnVn.js +154 -0
  237. package/dist/vue-ui-pattern-seed-BB1honLm.js +61 -0
  238. package/dist/vue-ui-quadrant-BBucQ_8r.js +1978 -0
  239. package/dist/vue-ui-quick-chart-DxxGq-5d.js +2469 -0
  240. package/dist/vue-ui-radar-B0gW_Iur.js +1229 -0
  241. package/dist/vue-ui-rating-BG4lf1z8.js +343 -0
  242. package/dist/vue-ui-relation-circle-C-fNOxJM.js +924 -0
  243. package/dist/vue-ui-ridgeline-CzDR20s3.js +1622 -0
  244. package/dist/vue-ui-rings-DNRdTVqV.js +1246 -0
  245. package/dist/vue-ui-scatter-CRgFebuE.js +2413 -0
  246. package/dist/vue-ui-skeleton-iNzRGgRn.js +2556 -0
  247. package/dist/vue-ui-smiley-G89TxRU-.js +356 -0
  248. package/dist/vue-ui-spark-trend-CPgTOFNY.js +438 -0
  249. package/dist/vue-ui-sparkbar-B4C_YxU-.js +393 -0
  250. package/dist/vue-ui-sparkgauge-DDkSKiba.js +255 -0
  251. package/dist/vue-ui-sparkhistogram-qtb6-Th8.js +560 -0
  252. package/dist/vue-ui-sparkline-TTSEEs7R.js +1507 -0
  253. package/dist/vue-ui-sparkstackbar-DXEnV79Y.js +662 -0
  254. package/dist/vue-ui-stackbar-CwFVpEgH.js +2270 -0
  255. package/dist/vue-ui-stackline-Bph0kD43.js +2398 -0
  256. package/dist/vue-ui-strip-plot-D2_WSwTF.js +1340 -0
  257. package/dist/vue-ui-table-BzmQMHxi.js +1338 -0
  258. package/dist/vue-ui-table-heatmap-CCGjbSzQ.js +344 -0
  259. package/dist/vue-ui-table-sparkline-CXNxbqIw.js +707 -0
  260. package/dist/vue-ui-thermometer-Cqw2_Jpi.js +763 -0
  261. package/dist/vue-ui-timer-BHP_5wgz.js +439 -0
  262. package/dist/vue-ui-tiremarks-D8wFTxXl.js +552 -0
  263. package/dist/vue-ui-treemap-DbSebes7.js +1587 -0
  264. package/dist/vue-ui-waffle-CAIBpbY0.js +1362 -0
  265. package/dist/vue-ui-wheel-B5Cyopnp.js +885 -0
  266. package/dist/vue-ui-word-cloud-BaGDKrKL.js +1656 -0
  267. package/dist/vue-ui-world-DLcVBwLg.js +14264 -0
  268. package/dist/vue-ui-xy-CyP5FAo8.js +4578 -0
  269. package/dist/vue-ui-xy-canvas-BUPnRZ3C.js +1787 -0
  270. package/dist/vue_ui_3d_bar-C4R7o-yX.js +185 -0
  271. package/dist/vue_ui_age_pyramid-BY6c-oX_.js +301 -0
  272. package/dist/vue_ui_bullet-ClzdLoOv.js +186 -0
  273. package/dist/vue_ui_bump-Vl-zYAtG.js +201 -0
  274. package/dist/vue_ui_candlestick-J8jmJvxP.js +374 -0
  275. package/dist/vue_ui_chestnut-D2oUhad6.js +305 -0
  276. package/dist/vue_ui_chord-DPfS1Umc.js +275 -0
  277. package/dist/vue_ui_circle_pack-DZC_rdfn.js +172 -0
  278. package/dist/vue_ui_dag-TsJ_azQq.js +258 -0
  279. package/dist/vue_ui_donut-BDGqG07h.js +358 -0
  280. package/dist/vue_ui_donut_evolution-D1yAAIHr.js +717 -0
  281. package/dist/vue_ui_dumbbell-Bfe_jFyi.js +304 -0
  282. package/dist/vue_ui_flow-BewZjjKG.js +238 -0
  283. package/dist/vue_ui_funnel-_Og4EEkO.js +234 -0
  284. package/dist/vue_ui_galaxy-Ig0cc1_h.js +265 -0
  285. package/dist/vue_ui_gauge-Cf1RZc9q.js +178 -0
  286. package/dist/vue_ui_geo-B8TODs-G.js +248 -0
  287. package/dist/vue_ui_heatmap-B2BBBSWG.js +319 -0
  288. package/dist/vue_ui_history_plot-CuN63VEc.js +413 -0
  289. package/dist/vue_ui_horizontal_bar-C4J4QzXf.js +341 -0
  290. package/dist/vue_ui_molecule-CO9L59SF.js +231 -0
  291. package/dist/vue_ui_mood_radar-BA6LAKhk.js +281 -0
  292. package/dist/vue_ui_nested_donuts-B8csIoVO.js +273 -0
  293. package/dist/vue_ui_onion-1FTFFS46.js +293 -0
  294. package/dist/vue_ui_parallel_coordinate_plot-CBiOBira.js +278 -0
  295. package/dist/vue_ui_quadrant-CDSTKTJz.js +428 -0
  296. package/dist/vue_ui_quick_chart-mZBdml3Z.js +139 -0
  297. package/dist/vue_ui_radar-jafTED5j.js +306 -0
  298. package/dist/vue_ui_relation_circle-D0p4mXmv.js +98 -0
  299. package/dist/vue_ui_ridgeline-VM8_mx4J.js +767 -0
  300. package/dist/vue_ui_rings-BVgD2aMn.js +320 -0
  301. package/dist/vue_ui_scatter-I0POnicu.js +479 -0
  302. package/dist/vue_ui_spark_trend-DxVmpkmC.js +82 -0
  303. package/dist/vue_ui_sparkbar-z6qO--Kf.js +64 -0
  304. package/dist/vue_ui_sparkgauge-BX1MS3bA.js +90 -0
  305. package/dist/vue_ui_sparkhistogram-BRgvKUH6.js +123 -0
  306. package/dist/vue_ui_sparkline-auZhap6Y.js +151 -0
  307. package/dist/vue_ui_sparkstackbar-BOjuQnZd.js +175 -0
  308. package/dist/vue_ui_stackbar-COOrQQdK.js +412 -0
  309. package/dist/vue_ui_stackline-DQqKPA9z.js +460 -0
  310. package/dist/vue_ui_strip_plot-CtJe8_gq.js +301 -0
  311. package/dist/vue_ui_table_heatmap-w8vx5k6f.js +80 -0
  312. package/dist/vue_ui_table_sparkline-DAbkUrNz.js +124 -0
  313. package/dist/vue_ui_thermometer-DxgqWKlE.js +123 -0
  314. package/dist/vue_ui_tiremarks-CdEPieWV.js +122 -0
  315. package/dist/vue_ui_treemap-DoEtkRN6.js +328 -0
  316. package/dist/vue_ui_vertical_bar-CP-MKz1j.js +247 -0
  317. package/dist/vue_ui_waffle-DIARFc7g.js +292 -0
  318. package/dist/vue_ui_wheel-DZ_nR--t.js +133 -0
  319. package/dist/vue_ui_word_cloud-C-qIMNLu.js +254 -0
  320. package/dist/vue_ui_xy-BLUkWEAm.js +482 -0
  321. package/dist/vue_ui_xy_canvas-Cb6dg3eK.js +408 -0
  322. package/package.json +120 -120
@@ -0,0 +1,755 @@
1
+ import { isRef as e, nextTick as t, onMounted as n, ref as r, unref as i, watch as a } from "vue";
2
+ //#region src/useSvgExport.js
3
+ var o = "http://www.w3.org/2000/svg", s = "http://www.w3.org/1999/xlink", c = "system-ui, -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", \"Liberation Sans\", sans-serif", l = /* @__PURE__ */ new WeakMap();
4
+ function u(e) {
5
+ let t = l.get(e);
6
+ return t || (t = getComputedStyle(e), l.set(e, t)), t;
7
+ }
8
+ function d() {
9
+ l = /* @__PURE__ */ new WeakMap();
10
+ }
11
+ function f(e) {
12
+ return document.createElementNS(o, e);
13
+ }
14
+ function p(e) {
15
+ return `${e}, ${c}`;
16
+ }
17
+ function m({ svg: c, title: l, legend: m, legendItems: _, backgroundColor: v, stretchTitle: y = !1, titleEmbedded: b = !1 }) {
18
+ let x = e(c) ? c : r(c), S = r(!1), C = /* @__PURE__ */ "fill.fill-opacity.stroke.stroke-width.stroke-opacity.opacity.color.stroke-linecap.stroke-linejoin.stroke-miterlimit.stroke-dasharray.stroke-dashoffset.font-family.font-size.font-style.font-weight.font-variant.letter-spacing.word-spacing.text-anchor.dominant-baseline.shape-rendering.vector-effect.paint-order.mix-blend-mode.isolation.filter.clip-path.mask.transform.transform-origin.visibility.display".split("."), w = new Set(["font-family"]);
19
+ async function T({ timeoutMs: e = 4e3, log: n = "warn" } = {}) {
20
+ if (typeof window > "u" || typeof document > "u") return console.warn("SVG export only works in the browser."), null;
21
+ let r = performance.now() + e, a = () => {
22
+ let e = i(x);
23
+ return e && document.contains(e) ? e : null;
24
+ }, o = a();
25
+ if (o) return o;
26
+ let s = !1, c = (e) => {
27
+ if (!s && e) try {
28
+ e.disconnect();
29
+ } catch {}
30
+ s = !0;
31
+ }, l, u = new Promise((e) => {
32
+ try {
33
+ l = new MutationObserver(() => {
34
+ let t = a();
35
+ t && (c(l), e(t));
36
+ }), l.observe(document.documentElement, {
37
+ childList: !0,
38
+ subtree: !0
39
+ });
40
+ } catch {
41
+ e(null);
42
+ }
43
+ });
44
+ for (; performance.now() < r;) {
45
+ let e = await Promise.race([u, new Promise((e) => requestAnimationFrame(e))]);
46
+ if (await t(), o = a() || e, o) return c(l), o;
47
+ }
48
+ return c(l), console.warn("SVG element not found or not mounted (timed out)."), null;
49
+ }
50
+ n(async () => {
51
+ try {
52
+ await T(), S.value = !0;
53
+ } catch {
54
+ S.value = !1;
55
+ }
56
+ }), a(x, async () => {
57
+ try {
58
+ await T(), S.value = !0;
59
+ } catch {
60
+ S.value = !1;
61
+ }
62
+ });
63
+ let E = /* @__PURE__ */ new Map();
64
+ function D(e) {
65
+ if (E.has(e)) return E.get(e);
66
+ let t = f("svg");
67
+ t.setAttribute("width", "0"), t.setAttribute("height", "0"), t.style.position = "absolute", t.style.left = "-99999px", t.style.top = "-99999px";
68
+ let n = f(e);
69
+ t.appendChild(n), document.body.appendChild(t);
70
+ let r = window.getComputedStyle(n), i = {};
71
+ for (let e of C) i[e] = r.getPropertyValue(e);
72
+ return document.body.removeChild(t), E.set(e, i), i;
73
+ }
74
+ function O(e) {
75
+ let t = u(e), n = D(e.tagName.toLowerCase()), r = [];
76
+ for (let e of C) {
77
+ let i = t.getPropertyValue(e) || "", a = n[e] || "";
78
+ if (w.has(e)) {
79
+ e === "font-family" && i && (i = p(i)), i && r.push(`${e}:${i};`);
80
+ continue;
81
+ }
82
+ i && i !== a && r.push(`${e}:${i};`);
83
+ }
84
+ return r.join("");
85
+ }
86
+ function k(e, t) {
87
+ e.getAttribute("width") && t.setAttribute("width", e.getAttribute("width")), e.getAttribute("height") && t.setAttribute("height", e.getAttribute("height")), e.getAttribute("viewBox") && t.setAttribute("viewBox", e.getAttribute("viewBox"));
88
+ let n = [e, ...Array.from(e.querySelectorAll("*"))], r = [t, ...Array.from(t.querySelectorAll("*"))];
89
+ for (let e = 0; e < n.length; e += 1) {
90
+ let t = n[e], i = r[e], a = O(t);
91
+ a && i.setAttribute("style", a), [
92
+ "fill",
93
+ "stroke",
94
+ "filter",
95
+ "clip-path",
96
+ "mask"
97
+ ].forEach((e) => {
98
+ let n = t.getAttribute(e);
99
+ n && i.setAttribute(e, n);
100
+ });
101
+ }
102
+ }
103
+ function A(e) {
104
+ let t = e.getAttribute("viewBox");
105
+ if (!t) return null;
106
+ let [n, r, i, a] = t.split(/\s+|,/).map(Number);
107
+ return [
108
+ n,
109
+ r,
110
+ i,
111
+ a
112
+ ].some((e) => Number.isNaN(e)) ? null : {
113
+ minX: n,
114
+ minY: r,
115
+ width: i,
116
+ height: a
117
+ };
118
+ }
119
+ function j(e) {
120
+ e.getAttribute("xmlns") || e.setAttribute("xmlns", o), e.getAttribute("xmlns:xlink") || e.setAttribute("xmlns:xlink", s), e.getAttribute("xml:space") || e.setAttribute("xml:space", "preserve");
121
+ }
122
+ function M(e) {
123
+ let t = document.createElement("div");
124
+ return t.style.position = "absolute", t.style.left = "-99999px", t.style.top = "-99999px", t.style.width = "0", t.style.height = "0", document.body.appendChild(t), t.appendChild(e), t;
125
+ }
126
+ function N(e) {
127
+ try {
128
+ e.remove();
129
+ } catch {}
130
+ }
131
+ function P(e, t, n, r, i) {
132
+ if (!l.value || !l.value.text) return 0;
133
+ let a = {
134
+ text: l.value.text || "",
135
+ color: l.value.color || "#111",
136
+ fontSize: l.value.fontSize || 20,
137
+ bold: !!l.value.bold,
138
+ textAlign: (l.value?.textAlign || "center").toLowerCase(),
139
+ paddingLeft: l.value.paddingLeft ?? 0,
140
+ paddingRight: l.value.paddingRight ?? 0,
141
+ subtitle: l.value.subtitle || null
142
+ }, o = f("g");
143
+ o.setAttribute("id", "__vdu_export_title"), e.appendChild(o);
144
+ let s = n + a.paddingLeft, c = n + t - (a.paddingRight || 0), u = n + t / 2, d = "start", p = s;
145
+ a.textAlign === "center" ? (d = "middle", p = u) : a.textAlign === "right" && (d = "end", p = c);
146
+ let m = r, h = Math.round(a.fontSize * .4), g = f("text");
147
+ g.setAttribute("x", String(p)), g.setAttribute("y", String(m + a.fontSize)), g.setAttribute("text-anchor", d), g.setAttribute("dominant-baseline", "ideographic"), g.setAttribute("style", `font-family:${i}; font-size:${a.fontSize}px; font-weight:${a.bold ? "700" : "400"}; fill:${a.color}; ${y ? "transform: scale(0.65, 1); transform-origin: center;" : ""}`), g.textContent = a.text, o.appendChild(g);
148
+ let _ = a.fontSize;
149
+ if (a.subtitle && a.subtitle.text) {
150
+ let e = {
151
+ color: a.subtitle.color || "#666",
152
+ text: a.subtitle.text,
153
+ fontSize: a.subtitle.fontSize || Math.max(12, Math.round(a.fontSize * .8)),
154
+ bold: !!a.subtitle.bold
155
+ }, t = f("text");
156
+ t.setAttribute("x", String(p)), t.setAttribute("y", String(m + a.fontSize + h + e.fontSize)), t.setAttribute("text-anchor", d), t.setAttribute("dominant-baseline", "ideographic"), t.setAttribute("style", `font-family:${i}; font-size:${e.fontSize}px; font-weight:${e.bold ? "600" : "400"}; fill:${e.color}; ${y ? "transform: scale(0.65, 1); transform-origin: center;" : ""}`), t.textContent = e.text, o.appendChild(t), _ += h + e.fontSize;
157
+ }
158
+ return _ + Math.round(a.fontSize * .4);
159
+ }
160
+ function F(e, t, n, r, i) {
161
+ if (!m.value || !m.value.show || !Array.isArray(_.value) || !_.value.length) return 0;
162
+ let a = {
163
+ bold: !!m.value.bold,
164
+ backgroundColor: m.value.backgroundColor || "transparent",
165
+ color: m.value.color || "#111",
166
+ fontSize: m.value.fontSize || 14,
167
+ paddingX: 14,
168
+ paddingY: 10,
169
+ itemGapX: 18,
170
+ itemGapY: 12,
171
+ markerSize: Math.max(8, Math.round((m.value.fontSize || 14) * .9)),
172
+ markerTextGap: 8,
173
+ lineHeight: Math.round((m.value.fontSize || 14) * 1.2),
174
+ maxWidth: t
175
+ }, o = f("g");
176
+ o.setAttribute("id", "__vdu_export_legend"), o.setAttribute("transform", `translate(${n}, ${r})`), e.appendChild(o);
177
+ let s = f("rect");
178
+ s.setAttribute("rx", "6"), s.setAttribute("ry", "6"), s.setAttribute("fill", a.backgroundColor), o.appendChild(s);
179
+ let c = f("g");
180
+ o.appendChild(c);
181
+ let l = f("text");
182
+ l.setAttribute("x", "0"), l.setAttribute("y", "0"), l.setAttribute("style", `font-family:${i}; font-size:${a.fontSize}px; font-weight:${a.bold ? "600" : "400"}; opacity:0;`), c.appendChild(l);
183
+ let u = (e) => (l.textContent = e || "", l.getComputedTextLength()), d = Math.max(1, a.maxWidth - a.paddingX * 2);
184
+ function p(e, t) {
185
+ let n = String(e || "").split(/\s+/).filter(Boolean), r = [];
186
+ if (!n.length) return [""];
187
+ let i = n.shift();
188
+ for (; n.length;) {
189
+ let e = `${i} ${n[0]}`;
190
+ if (u(e) <= t) i = e, n.shift();
191
+ else if (u(i) > t && i.length > 1) {
192
+ let e = "";
193
+ for (let n of i) {
194
+ let r = e + n;
195
+ if (u(r) <= t) e = r;
196
+ else break;
197
+ }
198
+ let a = i.slice(e.length);
199
+ r.push(e), i = a.length ? a : n.shift() || "";
200
+ } else r.push(i), i = n.shift() || "";
201
+ }
202
+ i && r.push(i);
203
+ let a = r[r.length - 1] || "";
204
+ if (u(a) > t && a.length > 1) {
205
+ let e = "";
206
+ for (let n of a) {
207
+ let r = e + n;
208
+ if (u(r) <= t) e = r;
209
+ else break;
210
+ }
211
+ let n = a.slice(e.length);
212
+ r[r.length - 1] = e, n && r.push(n);
213
+ }
214
+ return r;
215
+ }
216
+ let h = Math.PI / 180;
217
+ function g(e, t, n, r, i = -90) {
218
+ let a = i * h, o = "";
219
+ for (let i = 0; i < n; i += 1) {
220
+ let s = a + i * 2 * Math.PI / n, c = e + Math.cos(s) * r, l = t + Math.sin(s) * r;
221
+ o += (i === 0 ? "M" : "L") + c + "," + l;
222
+ }
223
+ return o + "Z";
224
+ }
225
+ function v(e, t, n = 5, r, i) {
226
+ let a = -90 * h, o = "";
227
+ for (let s = 0; s < n * 2; s += 1) {
228
+ let c = s % 2 == 0 ? r : i, l = a + s * Math.PI / n, u = e + Math.cos(l) * c, d = t + Math.sin(l) * c;
229
+ o += (s === 0 ? "M" : "L") + u + "," + d;
230
+ }
231
+ return o + "Z";
232
+ }
233
+ let y = _.value.map((e) => {
234
+ let t = Math.max(1, d - (a.markerSize + a.markerTextGap)), n = p(e.name || "", t), r = Math.max(...n.map(u), 0), i = a.markerSize + a.markerTextGap + r, o = Math.max(a.markerSize, n.length * a.lineHeight);
235
+ return {
236
+ ...e,
237
+ lines: n,
238
+ itemW: i,
239
+ itemH: o
240
+ };
241
+ }), b = [], x = {
242
+ items: [],
243
+ width: 0,
244
+ height: 0
245
+ };
246
+ for (let e of y) {
247
+ let t = (x.items.length ? a.itemGapX : 0) + e.itemW;
248
+ x.items.length && x.width + t > d ? (b.push(x), x = {
249
+ items: [e],
250
+ width: e.itemW,
251
+ height: e.itemH
252
+ }) : (x.items.push(e), x.width += t, x.height = Math.max(x.height, e.itemH));
253
+ }
254
+ x.items.length && b.push(x);
255
+ let S = a.paddingY;
256
+ for (let e of b) {
257
+ let t = Math.max(a.paddingX, (a.maxWidth - e.width) / 2);
258
+ for (let n = 0; n < e.items.length; n += 1) {
259
+ let r = e.items[n], o = t + a.markerSize / 2, s = S + e.height / 2.5, l = a.markerSize / 2, u = String(r.shape || "rect").toLowerCase();
260
+ if (u === "circle") {
261
+ let e = f("circle");
262
+ e.setAttribute("cx", String(o)), e.setAttribute("cy", String(s)), e.setAttribute("r", String(l * .8)), e.setAttribute("fill", r.color || "#000"), c.appendChild(e);
263
+ } else if (u === "rect" || u === "square") {
264
+ let e = f("path");
265
+ e.setAttribute("d", g(o, s, 4, l, -45)), e.setAttribute("fill", r.color || "#000"), c.appendChild(e);
266
+ } else if (u === "diamond") {
267
+ let e = f("path");
268
+ e.setAttribute("d", g(o, s, 4, l, 45)), e.setAttribute("fill", r.color || "#000"), c.appendChild(e);
269
+ } else if (u === "triangle") {
270
+ let e = f("path");
271
+ e.setAttribute("d", g(o, s, 3, l, -90)), e.setAttribute("fill", r.color || "#000"), c.appendChild(e);
272
+ } else if (u === "pentagon") {
273
+ let e = f("path");
274
+ e.setAttribute("d", g(o, s, 5, l, -90)), e.setAttribute("fill", r.color || "#000"), c.appendChild(e);
275
+ } else if (u === "hexagon") {
276
+ let e = f("path");
277
+ e.setAttribute("d", g(o, s, 6, l, 0)), e.setAttribute("fill", r.color || "#000"), c.appendChild(e);
278
+ } else if (u === "star") {
279
+ let e = f("path"), t = l, n = l * .5;
280
+ e.setAttribute("d", v(o, s, 5, t, n)), e.setAttribute("fill", r.color || "#000"), c.appendChild(e);
281
+ } else {
282
+ let n = f("rect");
283
+ n.setAttribute("x", String(t)), n.setAttribute("y", String(S + (e.height - a.markerSize) / 2)), n.setAttribute("width", String(a.markerSize)), n.setAttribute("height", String(a.markerSize)), n.setAttribute("fill", r.color || "#000"), c.appendChild(n);
284
+ }
285
+ let d = t + a.markerSize + a.markerTextGap, p = S + (e.height - r.lines.length * a.lineHeight) / 2 + a.fontSize, m = f("text");
286
+ m.setAttribute("x", String(d)), m.setAttribute("y", String(p)), m.setAttribute("style", `font-family:${i}; font-size:${a.fontSize}px; font-weight:${a.bold ? "600" : "400"}; fill:${a.color};`), m.setAttribute("dominant-baseline", "ideographic");
287
+ let h = !0;
288
+ for (let e of r.lines) {
289
+ let t = f("tspan");
290
+ h || t.setAttribute("dy", String(a.lineHeight)), t.setAttribute("x", String(d)), t.textContent = e, m.appendChild(t), h = !1;
291
+ }
292
+ c.appendChild(m), t += r.itemW + (n < e.items.length - 1 ? a.itemGapX : 0);
293
+ }
294
+ S += e.height + a.itemGapY;
295
+ }
296
+ b.length && (S -= a.itemGapY);
297
+ let C = S + a.paddingY;
298
+ return s.setAttribute("x", "0"), s.setAttribute("y", "0"), s.setAttribute("width", String(a.maxWidth)), s.setAttribute("height", String(C)), l.remove(), C + Math.round(a.fontSize * .4);
299
+ }
300
+ function I(e) {
301
+ let t = e.cloneNode(!0);
302
+ return t.querySelectorAll("script").forEach((e) => e.remove()), k(e, t), j(t), t;
303
+ }
304
+ function L(e) {
305
+ let t = Array.from(e.childNodes).filter((e) => e.nodeType === 1 && e.nodeName.toLowerCase() === "defs"), n = Array.from(e.childNodes).filter((e) => !(e.nodeType === 1 && e.nodeName.toLowerCase() === "defs")), r = document.createElementNS(o, "g");
306
+ r.setAttribute("id", "__vdu_export_content");
307
+ for (let e of n) r.appendChild(e);
308
+ for (let n of t) e.appendChild(n);
309
+ return e.appendChild(r), r;
310
+ }
311
+ function R(e, t) {
312
+ t <= 0 || e.setAttribute("transform", `translate(0, ${t})`);
313
+ }
314
+ function z(e, t) {
315
+ if (t <= 0) return;
316
+ let n = A(e), r = e.getAttribute("height");
317
+ if (n) e.setAttribute("viewBox", `${n.minX} ${n.minY} ${n.width} ${n.height + t}`), r && e.setAttribute("height", String(Number(r) + t));
318
+ else if (r) e.setAttribute("height", String(Number(r) + t));
319
+ else {
320
+ let n = e.getBBox();
321
+ e.setAttribute("viewBox", `0 0 ${Math.max(1, n.width)} ${Math.max(1, n.height + t)}`);
322
+ }
323
+ }
324
+ function B(e) {
325
+ let t = A(e);
326
+ if (t) return t.width;
327
+ let n = Number(e.getAttribute("width"));
328
+ return !Number.isNaN(n) && n > 0 ? n : e.getBBox().width || 0;
329
+ }
330
+ function V(e) {
331
+ let t = A(e);
332
+ if (t) return t.height;
333
+ let n = Number(e.getAttribute("height"));
334
+ return !Number.isNaN(n) && n > 0 ? n : e.getBBox().height || 0;
335
+ }
336
+ async function H(e) {
337
+ let t = M(e);
338
+ d();
339
+ try {
340
+ if (document.fonts?.ready) try {
341
+ await Promise.race([document.fonts.ready, new Promise((e) => setTimeout(e, 4e3))]);
342
+ } catch {}
343
+ let t = L(e), n = A(e), r = n ? n.minX : 0, i = n ? n.minY : 0, a = Math.max(1, B(e)), o = Math.max(1, V(e)), s = p(u(e).getPropertyValue("font-family") || ""), c = (b ? null : P(e, a, r, i, s)) ?? 0, d = m && m.value && m.value.position ? String(m.value.position).toLowerCase() : "top";
344
+ m && m.value && m.value.show && d === "top" && (c += F(e, a, r, i + c, s)), R(t, c);
345
+ let f = 0;
346
+ m && m.value && m.value.show && d === "bottom" && (f += F(e, a, r, i + c + o, s)), z(e, c + f), e.style.backgroundColor = v.value ?? "#FFF", await g(e, { mode: "raster" }), h(e, l.value.text ? -6 : -48);
347
+ } finally {
348
+ N(t), d();
349
+ }
350
+ }
351
+ async function U() {
352
+ let e = I(await T());
353
+ await H(e);
354
+ let t = `<?xml version="1.0" standalone="no"?>\n${new XMLSerializer().serializeToString(e)}`, n = new Blob([t], { type: "image/svg+xml;charset=utf-8" });
355
+ return {
356
+ blob: n,
357
+ url: URL.createObjectURL(n),
358
+ text: t,
359
+ dataUrl: `data:image/svg+xml;charset=utf-8,${encodeURIComponent(t)}`
360
+ };
361
+ }
362
+ async function W(e) {
363
+ let { url: t } = await U(), n = e || l.value?.text || "chart", r = document.createElement("a");
364
+ r.href = t, r.download = n.endsWith(".svg") ? n : `${n}.svg`, document.body.appendChild(r), r.click(), document.body.removeChild(r), URL.revokeObjectURL(t);
365
+ }
366
+ return {
367
+ ready: S,
368
+ getSvg: U,
369
+ exportSvg: W
370
+ };
371
+ }
372
+ function h(e, t = -50) {
373
+ if (!t) return;
374
+ let n = e.getAttribute("viewBox"), r = (t) => {
375
+ if (!t) return;
376
+ let n = e.getAttribute("height");
377
+ if (!n) return;
378
+ let r = /^(\d+(\.\d+)?)(px)?$/.exec(n.trim());
379
+ if (!r) return;
380
+ let i = parseFloat(r[1]) || 0, a = Math.max(1, i + t);
381
+ e.setAttribute("height", String(a));
382
+ };
383
+ if (n) {
384
+ let i = n.trim().split(/\s+|,/).map(Number);
385
+ if (i.length !== 4 || i.some((e) => !Number.isFinite(e))) return;
386
+ let [a, o, s, c] = i, l = o + t, u = -t, d = Math.max(1, c + u);
387
+ e.setAttribute("viewBox", `${a} ${l} ${s} ${d}`), r(u);
388
+ return;
389
+ }
390
+ let i = Number(e.getAttribute("width")), a = Number(e.getAttribute("height"));
391
+ if (!(i > 0 && a > 0)) {
392
+ let t = e.getBBox();
393
+ i = Math.max(1, t.width || 1), a = Math.max(1, t.height || 1);
394
+ }
395
+ let o = t, s = -t, c = Math.max(1, a + s);
396
+ e.setAttribute("viewBox", `0 ${o} ${i} ${c}`), (function() {
397
+ let t = e.getAttribute("height");
398
+ if (!t) return;
399
+ let n = /^(\d+(\.\d+)?)(px)?$/.exec(t.trim());
400
+ if (!n) return;
401
+ let r = parseFloat(n[1]) || 0, i = Math.max(1, r + s);
402
+ e.setAttribute("height", String(i));
403
+ })();
404
+ }
405
+ async function g(e, { mode: t = "raster" } = {}) {
406
+ let n = Array.from(e.querySelectorAll("foreignObject"));
407
+ if (!n.length) return {
408
+ converted: 0,
409
+ rasterized: 0,
410
+ skipped: 0,
411
+ errors: 0
412
+ };
413
+ let r = 0, i = 0, a = 0, c = 0, l = (e) => [
414
+ "div",
415
+ "p",
416
+ "span",
417
+ "strong",
418
+ "em",
419
+ "b",
420
+ "i",
421
+ "br"
422
+ ].includes(e), d = (e) => {
423
+ try {
424
+ let t = e.firstElementChild;
425
+ if (!t) return !1;
426
+ let n = [t];
427
+ for (; n.length;) {
428
+ let e = n.pop();
429
+ if (e.nodeType !== 3) {
430
+ if (e.nodeType !== 1 || !l((e.tagName || "").toLowerCase()) || e.querySelector?.("img,svg,canvas,video,foreignObject")) return !1;
431
+ for (let t of Array.from(e.childNodes)) n.push(t);
432
+ }
433
+ }
434
+ return !0;
435
+ } catch {
436
+ return !1;
437
+ }
438
+ };
439
+ function f(e) {
440
+ try {
441
+ let t = e.firstElementChild;
442
+ if (!t) return null;
443
+ let n = (e, t = 0) => Number.isFinite(+e) ? +e : t, r = n(e.getAttribute("x"), 0), i = n(e.getAttribute("y"), 0), a = n(e.getAttribute("width"), NaN);
444
+ if (!Number.isFinite(a) || a <= 0) {
445
+ let t = e.getBBox?.();
446
+ a = Math.max(1, n(t?.width, 0));
447
+ }
448
+ let s = (e, t) => {
449
+ if (!e) return Math.round(t * 1.2);
450
+ let n = e.trim().toLowerCase();
451
+ if (n === "normal") return Math.round(t * 1.2);
452
+ if (n.endsWith("px")) return parseFloat(n) || Math.round(t * 1.2);
453
+ if (n.endsWith("%")) return parseFloat(n) / 100 * t || Math.round(t * 1.2);
454
+ if (n.endsWith("em")) return (parseFloat(n) || 1) * t;
455
+ if (n.endsWith("rem")) {
456
+ let e = parseFloat(getComputedStyle(document.documentElement).fontSize) || t;
457
+ return (parseFloat(n) || 1) * e;
458
+ }
459
+ let r = Number(n);
460
+ return Number.isFinite(r) ? r * t : Math.round(t * 1.2);
461
+ }, c = (e) => {
462
+ let t = (e || "").split(/\s+/).map((e) => {
463
+ let t = (e || "").trim().toLowerCase();
464
+ if (t.endsWith("px")) return parseFloat(t) || 0;
465
+ if (t.endsWith("rem")) {
466
+ let e = parseFloat(getComputedStyle(document.documentElement).fontSize) || 16;
467
+ return (parseFloat(t) || 0) * e;
468
+ }
469
+ if (t.endsWith("em")) {
470
+ let e = parseFloat(getComputedStyle(document.body).fontSize) || 16;
471
+ return (parseFloat(t) || 0) * e;
472
+ }
473
+ let n = Number(t);
474
+ return Number.isFinite(n) ? n : 0;
475
+ }).filter(Number.isFinite);
476
+ return t.length ? t.length === 1 ? [
477
+ t[0],
478
+ t[0],
479
+ t[0],
480
+ t[0]
481
+ ] : t.length === 2 ? [
482
+ t[0],
483
+ t[1],
484
+ t[0],
485
+ t[1]
486
+ ] : t.length === 3 ? [
487
+ t[0],
488
+ t[1],
489
+ t[2],
490
+ t[1]
491
+ ] : [
492
+ t[0],
493
+ t[1],
494
+ t[2],
495
+ t[3]
496
+ ] : [
497
+ 0,
498
+ 0,
499
+ 0,
500
+ 0
501
+ ];
502
+ }, l = (e, t) => {
503
+ let n = u(e), r = n.getPropertyValue("font-family") || t?.ff || "system-ui";
504
+ r = p(r);
505
+ let i = parseFloat(n.getPropertyValue("font-size"));
506
+ Number.isFinite(i) || (i = t?.fs || 14);
507
+ let a = n.getPropertyValue("font-weight") || t?.fw || "400", o = n.getPropertyValue("font-style") || t?.fsty || "normal", l = n.getPropertyValue("font-stretch") || t?.fstc || "normal", d = n.getPropertyValue("letter-spacing") || t?.lsp || "normal", f = n.getPropertyValue("word-spacing") || t?.wsp || "0px", m = n.getPropertyValue("font-kerning") || t?.kern || "auto", h = n.getPropertyValue("font-variant-ligatures") || t?.liga || "normal", g = n.getPropertyValue("text-transform") || t?.ttfm || "none", _ = n.getPropertyValue("color") || t?.fill || "#000", v = n.getPropertyValue("line-height"), y = !v || v.trim().toLowerCase() === "normal" ? t?.lh ?? Math.round(i * 1.2) : s(v, i), b = (n.getPropertyValue("text-align") || t?.ta || "start").trim().toLowerCase(), x = parseFloat(n.getPropertyValue("padding-top")) || 0, S = parseFloat(n.getPropertyValue("padding-right")) || 0, C = parseFloat(n.getPropertyValue("padding-bottom")) || 0, w = parseFloat(n.getPropertyValue("padding-left")) || 0, T = n.getPropertyValue("padding");
508
+ if (T && x === 0 && S === 0 && C === 0 && w === 0) {
509
+ let [e, t, n, r] = c(T);
510
+ x = e, S = t, C = n, w = r;
511
+ }
512
+ let E = parseFloat(n.getPropertyValue("border-left-width")) || 0, D = parseFloat(n.getPropertyValue("border-right-width")) || 0, O = n.getPropertyValue("box-sizing") || "content-box";
513
+ return {
514
+ ff: r,
515
+ fs: i,
516
+ fw: a,
517
+ fsty: o,
518
+ fstc: l,
519
+ lsp: d,
520
+ wsp: f,
521
+ kern: m,
522
+ liga: h,
523
+ ttfm: g,
524
+ fill: _,
525
+ lh: y,
526
+ ta: b,
527
+ padL: w,
528
+ padR: S,
529
+ padT: x,
530
+ padB: C,
531
+ bL: E,
532
+ bR: D,
533
+ box: O
534
+ };
535
+ }, d = (e) => /^(div|p|section|article|ul|ol|li|h[1-6])$/.test(e), f = { __para__: !0 }, m = { __br__: !0 }, h = [], g = l(t), _ = (e, t, n) => {
536
+ if (e.nodeType === 3) {
537
+ let r = (e.nodeValue || "").replace(/\s+/g, " ").trim();
538
+ r && h.push({
539
+ text: r,
540
+ style: t,
541
+ path: n.slice()
542
+ });
543
+ return;
544
+ }
545
+ if (e.nodeType !== 1) return;
546
+ let r = e.tagName.toLowerCase();
547
+ if (r === "br") {
548
+ h.push({
549
+ ...m,
550
+ path: n.slice()
551
+ });
552
+ return;
553
+ }
554
+ let i = l(e, t);
555
+ n.push(e);
556
+ for (let t of Array.from(e.childNodes)) _(t, i, n);
557
+ n.pop(), d(r) && h.push({
558
+ ...f,
559
+ path: n.slice()
560
+ });
561
+ };
562
+ for (_(t, g, [t]); h.length && (h.at(-1).__para__ || h.at(-1).__br__);) h.pop();
563
+ if (!h.length) return null;
564
+ let v = h.filter((e) => !e.__para__ && !e.__br__), y = (() => {
565
+ if (!v.length) return [t];
566
+ let e = v.map((e) => e.path), n = Math.min(...e.map((e) => e.length)), r = 0;
567
+ for (; r < n;) {
568
+ let t = e[0][r];
569
+ if (e.every((e) => e[r] === t)) r += 1;
570
+ else break;
571
+ }
572
+ return e[0].slice(0, Math.max(1, r));
573
+ })(), b = l(y[y.length - 1] || t), x = 0, S = 0, C = 0;
574
+ for (let e of y) {
575
+ let t = l(e);
576
+ x += t.padL, S += t.padR, C += t.padT;
577
+ }
578
+ let w = [Math.max(1, a - x - S)];
579
+ for (let e of y) try {
580
+ let t = u(e);
581
+ if (e.clientWidth && e.clientWidth > 0) {
582
+ let n = parseFloat(t.paddingLeft) || 0, r = parseFloat(t.paddingRight) || 0, i = Math.max(1, e.clientWidth - n - r);
583
+ w.push(i);
584
+ }
585
+ let n = t.width, r = parseFloat(n);
586
+ if (Number.isFinite(r) && r > 0) {
587
+ let e = t.boxSizing || t.getPropertyValue("box-sizing") || "content-box", n = parseFloat(t.paddingLeft) || 0, i = parseFloat(t.paddingRight) || 0, a = parseFloat(t.borderLeftWidth) || 0, o = parseFloat(t.borderRightWidth) || 0, s = e === "border-box" ? Math.max(1, r - n - i - a - o) : Math.max(1, r);
588
+ w.push(s);
589
+ }
590
+ } catch {}
591
+ let T = Math.floor(Math.min(...w.filter(Number.isFinite))) - 1;
592
+ T > 0 || (T = 1);
593
+ let E = "start", D = r + x;
594
+ b.ta === "center" ? (E = "middle", D = r + x + T / 2) : (b.ta === "right" || b.ta === "end") && (E = "end", D = r + (a - S));
595
+ let O = e.ownerSVGElement || e.closest("svg"), k = document.createElementNS(o, "text");
596
+ k.setAttribute("x", String(D)), k.setAttribute("y", String(i + C)), k.setAttribute("text-anchor", E), k.setAttribute("dominant-baseline", "text-before-edge"), k.setAttribute("xml:space", "preserve");
597
+ let A = document.createElementNS(o, "text");
598
+ A.setAttribute("x", "0"), A.setAttribute("y", "0"), A.setAttribute("opacity", "0"), (O || e).appendChild(A);
599
+ let j = (e) => `font-family:${e.ff}; font-size:${e.fs}px; font-weight:${e.fw}; font-style:${e.fsty}; font-stretch:${e.fstc}; letter-spacing:${e.lsp}; word-spacing:${e.wsp}; font-kerning:${e.kern}; font-variant-ligatures:${e.liga}; text-transform:${e.ttfm};`, M = (e, t) => (A.textContent = e || "", A.setAttribute("style", j(t)), A.getComputedTextLength()), N = (e) => M(" ", e), P = [], F = [], I = 0, L = () => {
600
+ F.length && P.push({ segs: F.slice() }), F = [], I = 0;
601
+ }, R = (e, t, n) => {
602
+ let r = M(e, t);
603
+ if (n) {
604
+ let e = N(t);
605
+ r += e, F.push({
606
+ text: " ",
607
+ ...t,
608
+ w: e,
609
+ isSpace: !0
610
+ });
611
+ }
612
+ F.push({
613
+ text: e,
614
+ ...t,
615
+ w: r
616
+ }), I += r;
617
+ }, z = (e, t, n) => {
618
+ let r = "";
619
+ for (let i of e) {
620
+ let e = r + i;
621
+ if (M(e, t) <= n) r = e;
622
+ else break;
623
+ }
624
+ return r || e[0] || "";
625
+ };
626
+ for (let e of h) {
627
+ if (e.__para__ || e.__br__) {
628
+ L();
629
+ continue;
630
+ }
631
+ let t = e.style, n = e.text.split(/(\s+)/).filter((e) => e.length > 0), r = (e, n) => {
632
+ if (!e) return;
633
+ let r = Math.max(1, T), i = M(e, t) + (n ? N(t) : 0);
634
+ if (F.length === 0) if (i <= r) R(e, t, !1);
635
+ else {
636
+ let n = e;
637
+ for (; n;) {
638
+ let e = z(n, t, r);
639
+ R(e, t, !1), n = n.slice(e.length), n && L();
640
+ }
641
+ }
642
+ else if (I + i <= r) R(e, t, n);
643
+ else if (L(), M(e, t) <= r) R(e, t, !1);
644
+ else {
645
+ let n = e;
646
+ for (; n;) {
647
+ let e = z(n, t, r);
648
+ R(e, t, !1), n = n.slice(e.length), n && L();
649
+ }
650
+ }
651
+ }, i = !1;
652
+ for (let e of n) {
653
+ if (/^\s+$/.test(e)) {
654
+ i = !0;
655
+ continue;
656
+ }
657
+ r(e, i), i = !1;
658
+ }
659
+ }
660
+ L();
661
+ for (let e = 0; e < P.length; e += 1) {
662
+ let t = P[e].segs, n = Math.max(...t.map((e) => e.fs || b.fs), b.fs), r = !0;
663
+ for (let i of t) {
664
+ let t = document.createElementNS(o, "tspan");
665
+ r &&= (t.setAttribute("x", String(D)), e > 0 && t.setAttribute("dy", String(n)), !1), t.setAttribute("style", `${j(i)} fill:${i.fill};`), t.textContent = i.text, k.appendChild(t);
666
+ }
667
+ if (!t.length && e > 0) {
668
+ let e = document.createElementNS(o, "tspan");
669
+ e.setAttribute("x", String(D)), e.setAttribute("dy", String(n)), e.textContent = "", k.appendChild(e);
670
+ }
671
+ }
672
+ try {
673
+ A.remove();
674
+ } catch {}
675
+ return k;
676
+ } catch {
677
+ return null;
678
+ }
679
+ }
680
+ let m = (e) => {
681
+ try {
682
+ let t = document.createElement("div");
683
+ t.style.position = "absolute", t.style.left = "-99999px", t.style.top = "-99999px", t.style.visibility = "hidden", t.style.pointerEvents = "none", t.style.width = "auto", t.style.height = "auto";
684
+ let n = e.cloneNode(!0);
685
+ n.style.width = "auto", n.style.height = "auto", n.style.display = "inline-block", n.style.maxWidth = "none", n.style.maxHeight = "none", n.style.boxSizing = "content-box", document.body.appendChild(t), t.appendChild(n);
686
+ let r = n.getBoundingClientRect(), i = Math.ceil(r.width || n.scrollWidth || 0), a = Math.ceil(r.height || n.scrollHeight || 0);
687
+ return t.remove(), {
688
+ w: Math.max(1, i),
689
+ h: Math.max(1, a)
690
+ };
691
+ } catch {
692
+ return {
693
+ w: 0,
694
+ h: 0
695
+ };
696
+ }
697
+ };
698
+ for (let e of n) try {
699
+ if (e.hasAttribute("data-no-svg-export")) {
700
+ e.remove(), a += 1;
701
+ continue;
702
+ }
703
+ if (d(e)) {
704
+ let t = f(e);
705
+ if (t) {
706
+ e.parentNode.replaceChild(t, e), r += 1;
707
+ continue;
708
+ }
709
+ }
710
+ a += 1;
711
+ } catch {
712
+ c += 1;
713
+ }
714
+ if (t === "raster") {
715
+ let t = Array.from(e.querySelectorAll("foreignObject"));
716
+ for (let e of t) try {
717
+ if (e.hasAttribute("data-no-svg-export")) {
718
+ e.remove(), a += 1;
719
+ continue;
720
+ }
721
+ await new Promise((e) => requestAnimationFrame(e));
722
+ let t = e.getBBox(), n = Math.max(1, Math.ceil(t.width)), r = Math.max(1, Math.ceil(t.height)), c = e.firstElementChild;
723
+ if (c) {
724
+ let t = m(c), i = parseFloat(e.getAttribute("width") || "0") || 0, a = parseFloat(e.getAttribute("height") || "0") || 0;
725
+ n = Math.max(n, i, t.w), r = Math.max(r, a, t.h);
726
+ }
727
+ if (!(n > 0 && r > 0)) {
728
+ a += 1;
729
+ continue;
730
+ }
731
+ let l = document.createElementNS(o, "svg");
732
+ l.setAttribute("xmlns", o), l.setAttribute("xmlns:xlink", s), l.setAttribute("width", String(n)), l.setAttribute("height", String(r)), l.setAttribute("viewBox", `0 0 ${n} ${r}`);
733
+ let u = e.cloneNode(!0);
734
+ u.setAttribute("x", "0"), u.setAttribute("y", "0"), u.setAttribute("width", String(n)), u.setAttribute("height", String(r)), l.appendChild(u);
735
+ let d = new XMLSerializer().serializeToString(l), f = "data:image/svg+xml;charset=utf-8," + encodeURIComponent(d), p = document.createElement("canvas");
736
+ p.width = Math.max(1, Math.floor(n * 2)), p.height = Math.max(1, Math.floor(r * 2));
737
+ let h = p.getContext("2d"), g = new Image();
738
+ g.decoding = "sync", g.crossOrigin = "anonymous", await new Promise((e, t) => {
739
+ g.onload = e, g.onerror = t, g.src = f;
740
+ }), h.drawImage(g, 0, 0, p.width, p.height);
741
+ let _ = p.toDataURL("image/png"), v = document.createElementNS(o, "image");
742
+ v.setAttributeNS(s, "href", _), v.setAttribute("href", _), v.setAttribute("x", e.getAttribute("x") || String(t.x)), v.setAttribute("y", e.getAttribute("y") || String(t.y)), v.setAttribute("width", String(n)), v.setAttribute("height", String(r)), e.parentNode.replaceChild(v, e), i += 1;
743
+ } catch {
744
+ c += 1;
745
+ }
746
+ }
747
+ return {
748
+ converted: r,
749
+ rasterized: i,
750
+ skipped: a,
751
+ errors: c
752
+ };
753
+ }
754
+ //#endregion
755
+ export { m as t };