vue-data-ui 3.27.1 → 3.28.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (261) hide show
  1. package/README.md +49 -41
  2. package/dist/{Arrow-C2W0uGrq.js → Arrow-D6OAn5rm.js} +1 -1
  3. package/dist/{BaseDraggableDialog-D_tuHEjO.js → BaseDraggableDialog-Bw_azO0n.js} +1 -1
  4. package/dist/BaseIcon-DDctLkeT.js +1 -0
  5. package/dist/{BaseLegendToggle-Bq5FjyuI.js → BaseLegendToggle-BOcw1ke8.js} +1 -1
  6. package/dist/BaseZoomControls-Cq5AOHQ0.js +1 -0
  7. package/dist/{ColorPicker-MLwiwxl5.js → ColorPicker-DHQvvLT9.js} +1 -1
  8. package/dist/DataTable-BcVZLSs8.js +1 -0
  9. package/dist/{HillActions-CHg1AQ3p.js → HillActions-Bq3UJ1Ut.js} +1 -1
  10. package/dist/{Legend-D8YoT1RJ.js → Legend-D8NunRPr.js} +1 -1
  11. package/dist/{NonSvgPenAndPaper-CqtJpZKh.js → NonSvgPenAndPaper-CxQZ0YED.js} +1 -1
  12. package/dist/{PackageVersion-CdkxOy58.js → PackageVersion-ATrKWi8V.js} +1 -1
  13. package/dist/{PenAndPaper-IMw576MC.js → PenAndPaper-BsBFp16i.js} +1 -1
  14. package/dist/{Shape-Bp9YNtPc.js → Shape-gDVRWM6n.js} +1 -1
  15. package/dist/SlicerPreview-Dpu4nMz6.js +1 -0
  16. package/dist/{SparkTooltip-C5JMcBXT.js → SparkTooltip-cWKhrsKX.js} +1 -1
  17. package/dist/{Title-BGYFqulv.js → Title-BLA0tM3g.js} +1 -1
  18. package/dist/{Tooltip-Cus2-XNQ.js → Tooltip-Iyb_S6oQ.js} +1 -1
  19. package/dist/UserOptions-BSJ_S_us.js +1 -0
  20. package/dist/{chartImage-CIvU_04o.js → chartImage-r-G4CkRK.js} +1 -1
  21. package/dist/components/arrow.js +1 -1
  22. package/dist/components/vue-ui-3d-bar.js +1 -1
  23. package/dist/components/vue-ui-accordion.js +1 -1
  24. package/dist/components/vue-ui-age-pyramid.js +1 -1
  25. package/dist/components/vue-ui-annotator.js +1 -1
  26. package/dist/components/vue-ui-bullet.js +1 -1
  27. package/dist/components/vue-ui-bump.js +1 -1
  28. package/dist/components/vue-ui-candlestick.js +1 -1
  29. package/dist/components/vue-ui-carousel-table.js +1 -1
  30. package/dist/components/vue-ui-chestnut.js +1 -1
  31. package/dist/components/vue-ui-chord.js +1 -1
  32. package/dist/components/vue-ui-circle-pack.js +1 -1
  33. package/dist/components/vue-ui-cursor.js +1 -1
  34. package/dist/components/vue-ui-dag.js +1 -1
  35. package/dist/components/vue-ui-dashboard.js +1 -1
  36. package/dist/components/vue-ui-digits.js +1 -1
  37. package/dist/components/vue-ui-donut-evolution.js +1 -1
  38. package/dist/components/vue-ui-donut.js +1 -1
  39. package/dist/components/vue-ui-dumbbell.js +1 -1
  40. package/dist/components/vue-ui-flow.js +1 -1
  41. package/dist/components/vue-ui-funnel.js +1 -1
  42. package/dist/components/vue-ui-galaxy.js +1 -1
  43. package/dist/components/vue-ui-gauge.js +1 -1
  44. package/dist/components/vue-ui-geo.js +1 -1
  45. package/dist/components/vue-ui-gizmo.js +1 -1
  46. package/dist/components/vue-ui-graph.js +1 -0
  47. package/dist/components/vue-ui-heatmap.js +1 -1
  48. package/dist/components/vue-ui-hill.js +1 -1
  49. package/dist/components/vue-ui-history-plot.js +1 -1
  50. package/dist/components/vue-ui-horizontal-bar.js +1 -1
  51. package/dist/components/vue-ui-icon.js +1 -1
  52. package/dist/components/vue-ui-kpi.js +1 -1
  53. package/dist/components/vue-ui-label.js +1 -1
  54. package/dist/components/vue-ui-mini-loader.js +1 -1
  55. package/dist/components/vue-ui-molecule.js +1 -1
  56. package/dist/components/vue-ui-mood-radar.js +1 -1
  57. package/dist/components/vue-ui-nested-donuts.js +1 -1
  58. package/dist/components/vue-ui-onion.js +1 -1
  59. package/dist/components/vue-ui-parallel-coordinate-plot.js +1 -1
  60. package/dist/components/vue-ui-quadrant.js +1 -1
  61. package/dist/components/vue-ui-quick-chart.js +1 -1
  62. package/dist/components/vue-ui-radar.js +1 -1
  63. package/dist/components/vue-ui-rating.js +1 -1
  64. package/dist/components/vue-ui-relation-circle.js +1 -1
  65. package/dist/components/vue-ui-ridgeline.js +1 -1
  66. package/dist/components/vue-ui-rings.js +1 -1
  67. package/dist/components/vue-ui-scatter.js +1 -1
  68. package/dist/components/vue-ui-skeleton.js +1 -1
  69. package/dist/components/vue-ui-smiley.js +1 -1
  70. package/dist/components/vue-ui-spark-trend.js +1 -1
  71. package/dist/components/vue-ui-sparkbar.js +1 -1
  72. package/dist/components/vue-ui-sparkgauge.js +1 -1
  73. package/dist/components/vue-ui-sparkhistogram.js +1 -1
  74. package/dist/components/vue-ui-sparkline.js +1 -1
  75. package/dist/components/vue-ui-sparkstackbar.js +1 -1
  76. package/dist/components/vue-ui-stackbar.js +1 -1
  77. package/dist/components/vue-ui-stackline.js +1 -1
  78. package/dist/components/vue-ui-strip-plot.js +1 -1
  79. package/dist/components/vue-ui-table-heatmap.js +1 -1
  80. package/dist/components/vue-ui-table-sparkline.js +1 -1
  81. package/dist/components/vue-ui-table.js +1 -1
  82. package/dist/components/vue-ui-thermometer.js +1 -1
  83. package/dist/components/vue-ui-timer.js +1 -1
  84. package/dist/components/vue-ui-tiremarks.js +1 -1
  85. package/dist/components/vue-ui-treemap.js +1 -1
  86. package/dist/components/vue-ui-vertical-bar.js +1 -1
  87. package/dist/components/vue-ui-waffle.js +1 -1
  88. package/dist/components/vue-ui-wheel.js +1 -1
  89. package/dist/components/vue-ui-word-cloud.js +1 -1
  90. package/dist/components/vue-ui-world.js +1 -1
  91. package/dist/components/vue-ui-xy-canvas.js +1 -1
  92. package/dist/components/vue-ui-xy.js +1 -1
  93. package/dist/{dom-to-png-D8t3Bm7s.js → dom-to-png-Cp6rAdnI.js} +1 -1
  94. package/dist/{exposedLib-DHtyEc_G.js → exposedLib-BDGMSW1B.js} +1 -1
  95. package/dist/{img-DiT4ivZ5.js → img-DiP2_5_r.js} +1 -1
  96. package/dist/{labelUtils-CG3uVXoZ.js → labelUtils-DXiFpsZl.js} +1 -1
  97. package/dist/{lib-CV_IANZ6.js → lib-DqD8nbyX.js} +2 -2
  98. package/dist/package-UBaXe2y9.js +1 -0
  99. package/dist/{pdf-BQSB1V3H.js → pdf-y3S8SBFk.js} +1 -1
  100. package/dist/{render-common-BdZ5aRyn.js → render-common-tsNLeNaX.js} +1 -1
  101. package/dist/{resolveChartConfig-DZg-korK.js → resolveChartConfig-ChGWTt5l.js} +1 -1
  102. package/dist/ssr/vue-ui-donut.js +1 -1
  103. package/dist/ssr/vue-ui-xy.js +1 -1
  104. package/dist/ssr.js +1 -1
  105. package/dist/style.css +1 -1
  106. package/dist/types/vue-data-ui.d.ts +323 -0
  107. package/dist/types/vue-ui-graph.d.ts +21 -0
  108. package/dist/useConfig-DM9fSqjh.js +1 -0
  109. package/dist/{useNestedProp-CB186vF2.js → useNestedProp-DrLnzyHO.js} +1 -1
  110. package/dist/useObjectBindings-Cn4Vz0RY.js +1 -0
  111. package/dist/{usePrinter-hLW3cv4N.js → usePrinter-Cj4eIYC_.js} +1 -1
  112. package/dist/utils.js +1 -1
  113. package/dist/vue-data-ui-yeD7UyUU.js +1 -0
  114. package/dist/vue-data-ui.js +1 -1
  115. package/dist/vue-ui-3d-bar-COrzyTkO.js +19 -0
  116. package/dist/vue-ui-accordion-3lBpCjGm.js +1 -0
  117. package/dist/vue-ui-age-pyramid-CAoVjkOA.js +1 -0
  118. package/dist/vue-ui-annotator-CpTZHnPw.js +331 -0
  119. package/dist/vue-ui-bullet-yvY_gdw2.js +34 -0
  120. package/dist/vue-ui-bump-ChsFkIq9.js +10 -0
  121. package/dist/vue-ui-candlestick-D9UXZQoN.js +22 -0
  122. package/dist/vue-ui-carousel-table-CKyE4hME.js +1 -0
  123. package/dist/vue-ui-chestnut-BuLjW5nb.js +1 -0
  124. package/dist/vue-ui-chord-Bjwt2_BK.js +21 -0
  125. package/dist/vue-ui-circle-pack-BpAuZruK.js +13 -0
  126. package/dist/vue-ui-cursor-Dn-IBaP8.js +1 -0
  127. package/dist/vue-ui-dag-CyY3cSa6.js +9 -0
  128. package/dist/vue-ui-dashboard-DmyStkQM.js +1 -0
  129. package/dist/{vue-ui-digits-CXKKmfGj.js → vue-ui-digits-BBiRMr01.js} +2 -2
  130. package/dist/{vue-ui-donut-CKkBtyPK.js → vue-ui-donut-CGyBWxzh.js} +2 -2
  131. package/dist/vue-ui-donut-DMF74OY0.js +47 -0
  132. package/dist/vue-ui-donut-evolution-Du4zLc8D.js +2 -0
  133. package/dist/vue-ui-dumbbell-CxL_AY5e.js +9 -0
  134. package/dist/vue-ui-flow-h6kTMamJ.js +3 -0
  135. package/dist/vue-ui-funnel-BG5Addzr.js +1 -0
  136. package/dist/vue-ui-galaxy-CgnshY8i.js +1 -0
  137. package/dist/vue-ui-gauge-a13ojQPr.js +1 -0
  138. package/dist/vue-ui-geo-CflzhtuD.js +1 -0
  139. package/dist/vue-ui-gizmo-K1lfslsA.js +1 -0
  140. package/dist/vue-ui-graph-C2Se8bnB.js +7 -0
  141. package/dist/vue-ui-heatmap-5NsQkMwS.js +1 -0
  142. package/dist/vue-ui-hill-COnjVS2L.js +1 -0
  143. package/dist/vue-ui-history-plot-BRJdXsNo.js +2 -0
  144. package/dist/vue-ui-horizontal-bar-G0wEKTRu.js +4 -0
  145. package/dist/vue-ui-kpi-BZjfQxmY.js +1 -0
  146. package/dist/{vue-ui-label-B4pkXBxc.js → vue-ui-label-BD_hTtgZ.js} +2 -2
  147. package/dist/vue-ui-mini-loader-ltQXdeeW.js +1 -0
  148. package/dist/vue-ui-molecule-DI-CS5w8.js +1 -0
  149. package/dist/vue-ui-mood-radar-B5ar9WAZ.js +1 -0
  150. package/dist/vue-ui-nested-donuts-BP2YzVma.js +19 -0
  151. package/dist/vue-ui-onion-CCiZ6jmF.js +5 -0
  152. package/dist/vue-ui-parallel-coordinate-plot-3E0CysDx.js +9 -0
  153. package/dist/vue-ui-quadrant-BwgwvKy8.js +2 -0
  154. package/dist/vue-ui-quick-chart-BXNg0LNe.js +17 -0
  155. package/dist/vue-ui-radar-B9Ntj_Gj.js +1 -0
  156. package/dist/vue-ui-rating-B33u3iIn.js +1 -0
  157. package/dist/vue-ui-relation-circle-B60IUw50.js +1 -0
  158. package/dist/vue-ui-ridgeline-BPbYng2A.js +2 -0
  159. package/dist/vue-ui-rings-BXo9p3Ab.js +1 -0
  160. package/dist/vue-ui-scatter-BwrYPDzh.js +9 -0
  161. package/dist/{vue-ui-skeleton-DI7pcimU.js → vue-ui-skeleton-DTn7uIui.js} +3 -3
  162. package/dist/{vue-ui-smiley-D70sJZWl.js → vue-ui-smiley-qCRUFmpq.js} +1 -1
  163. package/dist/vue-ui-spark-trend-wKFu-O7B.js +1 -0
  164. package/dist/vue-ui-sparkbar-DPFzdX-D.js +1 -0
  165. package/dist/vue-ui-sparkgauge-DlEPsxc0.js +1 -0
  166. package/dist/vue-ui-sparkhistogram-DLZxE6oz.js +1 -0
  167. package/dist/vue-ui-sparkline-BflZPl7s.js +1 -0
  168. package/dist/vue-ui-sparkstackbar-DvSQfGeA.js +1 -0
  169. package/dist/vue-ui-stackbar-JKC9qE6M.js +29 -0
  170. package/dist/vue-ui-stackline-G7-oqfzp.js +39 -0
  171. package/dist/vue-ui-strip-plot-54u7AUip.js +2 -0
  172. package/dist/vue-ui-table-3F8i2ZjT.js +14 -0
  173. package/dist/vue-ui-table-heatmap-CtYPYMIJ.js +1 -0
  174. package/dist/vue-ui-table-sparkline-CTfYTzhA.js +1 -0
  175. package/dist/vue-ui-thermometer-BpFbPqxK.js +1 -0
  176. package/dist/vue-ui-timer-DsWRNtRa.js +64 -0
  177. package/dist/vue-ui-tiremarks-C4wVcSVP.js +1 -0
  178. package/dist/vue-ui-treemap-mYRv6gga.js +1 -0
  179. package/dist/vue-ui-waffle-DNBIZqZz.js +1 -0
  180. package/dist/vue-ui-wheel-DPHDp0t1.js +1 -0
  181. package/dist/vue-ui-word-cloud-BY4YsW7-.js +4 -0
  182. package/dist/vue-ui-world-DQWjoFDx.js +19 -0
  183. package/dist/vue-ui-xy-DfvcqUwW.js +31 -0
  184. package/dist/vue-ui-xy-M9aD-G5a.js +24 -0
  185. package/dist/vue-ui-xy-canvas-BpwG1Ipj.js +9 -0
  186. package/dist/vue_ui_graph-B1ACwQj7.js +1 -0
  187. package/package.json +1 -1
  188. package/dist/BaseIcon-DdIyewwY.js +0 -1
  189. package/dist/BaseZoomControls-DoYifY2y.js +0 -1
  190. package/dist/DataTable-WNecJMcY.js +0 -1
  191. package/dist/SlicerPreview-CNUciSbY.js +0 -1
  192. package/dist/UserOptions-DTxMeZv3.js +0 -1
  193. package/dist/package-DE5cU1Rg.js +0 -1
  194. package/dist/useConfig-CKdzPrcf.js +0 -1
  195. package/dist/useObjectBindings-Dse7YyAf.js +0 -1
  196. package/dist/vue-data-ui-DyYgLIZN.js +0 -1
  197. package/dist/vue-ui-3d-bar-BZAoyWkc.js +0 -19
  198. package/dist/vue-ui-accordion-BNvevckx.js +0 -1
  199. package/dist/vue-ui-age-pyramid-DkA6vpU3.js +0 -1
  200. package/dist/vue-ui-annotator-DuQME4Hh.js +0 -331
  201. package/dist/vue-ui-bullet-BVs8JX8S.js +0 -34
  202. package/dist/vue-ui-bump-DYdm3EvF.js +0 -10
  203. package/dist/vue-ui-candlestick-DZgxl4mW.js +0 -22
  204. package/dist/vue-ui-carousel-table-BB7DsTUt.js +0 -1
  205. package/dist/vue-ui-chestnut-Bo1h5rBt.js +0 -1
  206. package/dist/vue-ui-chord-B6_veyvO.js +0 -21
  207. package/dist/vue-ui-circle-pack-Bm7e2YNh.js +0 -13
  208. package/dist/vue-ui-cursor-TidZDuSh.js +0 -1
  209. package/dist/vue-ui-dag-BiN_AnLo.js +0 -9
  210. package/dist/vue-ui-dashboard-zepAVN_W.js +0 -1
  211. package/dist/vue-ui-donut-DLDUpjDU.js +0 -47
  212. package/dist/vue-ui-donut-evolution-BxMTdE5G.js +0 -2
  213. package/dist/vue-ui-dumbbell-C8rNwdz0.js +0 -9
  214. package/dist/vue-ui-flow-Dru76A2O.js +0 -3
  215. package/dist/vue-ui-funnel-D_u1h5S9.js +0 -1
  216. package/dist/vue-ui-galaxy-sBEH18Xj.js +0 -1
  217. package/dist/vue-ui-gauge-Do3RN8ne.js +0 -1
  218. package/dist/vue-ui-geo-DDbtx_iJ.js +0 -1
  219. package/dist/vue-ui-gizmo-eic6xLjB.js +0 -1
  220. package/dist/vue-ui-heatmap-DlmJRsM8.js +0 -1
  221. package/dist/vue-ui-hill-C5oiuIXh.js +0 -1
  222. package/dist/vue-ui-history-plot-BJjnkWcT.js +0 -2
  223. package/dist/vue-ui-horizontal-bar-BRDBJEl1.js +0 -4
  224. package/dist/vue-ui-kpi-C-eed3jO.js +0 -1
  225. package/dist/vue-ui-mini-loader-CElmv_iF.js +0 -1
  226. package/dist/vue-ui-molecule-BeyQWZU9.js +0 -1
  227. package/dist/vue-ui-mood-radar-Bh0kHfiZ.js +0 -1
  228. package/dist/vue-ui-nested-donuts-FlnJfDaF.js +0 -19
  229. package/dist/vue-ui-onion-BjhSpjtW.js +0 -5
  230. package/dist/vue-ui-parallel-coordinate-plot-CHV6XDti.js +0 -9
  231. package/dist/vue-ui-quadrant-BaKSTJDv.js +0 -2
  232. package/dist/vue-ui-quick-chart-Nc2mVlle.js +0 -17
  233. package/dist/vue-ui-radar-BzUfkLlC.js +0 -1
  234. package/dist/vue-ui-rating-BwWXvbAg.js +0 -1
  235. package/dist/vue-ui-relation-circle-nAZEg-BL.js +0 -1
  236. package/dist/vue-ui-ridgeline-DxLZg1E2.js +0 -2
  237. package/dist/vue-ui-rings-BOti0NGb.js +0 -1
  238. package/dist/vue-ui-scatter-CCNMggyo.js +0 -9
  239. package/dist/vue-ui-spark-trend-BVtfEalS.js +0 -1
  240. package/dist/vue-ui-sparkbar-CdsLI7Ke.js +0 -1
  241. package/dist/vue-ui-sparkgauge-wmj5Wnnp.js +0 -1
  242. package/dist/vue-ui-sparkhistogram-D8S_P_P4.js +0 -1
  243. package/dist/vue-ui-sparkline-BjsJnS_9.js +0 -1
  244. package/dist/vue-ui-sparkstackbar-ZN8LXzoV.js +0 -1
  245. package/dist/vue-ui-stackbar-Dx_EN3pT.js +0 -29
  246. package/dist/vue-ui-stackline-DW-oxJvA.js +0 -39
  247. package/dist/vue-ui-strip-plot-D7kjJ3Qh.js +0 -2
  248. package/dist/vue-ui-table-CaFVLHxE.js +0 -14
  249. package/dist/vue-ui-table-heatmap-Ctf7Rhqo.js +0 -1
  250. package/dist/vue-ui-table-sparkline-C0I0cXBS.js +0 -1
  251. package/dist/vue-ui-thermometer-B6og15Al.js +0 -1
  252. package/dist/vue-ui-timer-DgXvO2Q7.js +0 -64
  253. package/dist/vue-ui-tiremarks-Dh6fZ454.js +0 -1
  254. package/dist/vue-ui-treemap-7JuvN6P_.js +0 -1
  255. package/dist/vue-ui-waffle-BqvGzfse.js +0 -1
  256. package/dist/vue-ui-wheel-SdwJqKA7.js +0 -1
  257. package/dist/vue-ui-word-cloud-1WVV_k12.js +0 -4
  258. package/dist/vue-ui-world-DjMy_utm.js +0 -19
  259. package/dist/vue-ui-xy-DaozHMfg.js +0 -31
  260. package/dist/vue-ui-xy-canvas-CegvS9RR.js +0 -9
  261. package/dist/vue-ui-xy-rGHSI1am.js +0 -24
@@ -1 +1 @@
1
- import{$ as e,Ft as t,X as n,t as r}from"./lib-CV_IANZ6.js";import{t as i}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as a}from"./BaseIcon-DdIyewwY.js";import{t as o}from"./ColorPicker-MLwiwxl5.js";import{Fragment as s,computed as c,createCommentVNode as l,createElementBlock as u,createElementVNode as d,createVNode as f,guardReactiveProps as p,nextTick as ee,normalizeClass as m,normalizeProps as h,normalizeStyle as g,onBeforeUnmount as te,onMounted as ne,openBlock as _,ref as v,renderList as y,renderSlot as b,toDisplayString as x,unref as re,vModelText as ie,watch as S,withCtx as ae,withDirectives as oe,withModifiers as se}from"vue";var ce=[`disabled`],le=[`data-mode`,`xmlns`,`viewBox`],ue=[`cx`,`cy`,`r`,`fill`],de=[`x1`,`y1`,`x2`,`y2`,`stroke`,`stroke-width`],fe=[`x1`,`y1`,`x2`,`y2`,`stroke`,`stroke-width`,`marker-end`],pe=[`d`,`stroke`,`stroke-width`],me=[`x`,`y`,`fill`,`font-size`],he=[`x`,`dy`],ge=[`d`,`stroke`,`stroke-width`],_e=/*#__PURE__*/ i({__name:`NonSvgPenAndPaper`,props:{parent:{type:HTMLElement},backgroundColor:{type:String,default:`#FFFFFF`},color:{type:String,default:`#2D353C`},active:{type:Boolean,default:!1},isCursorPointer:{type:Boolean,default:!1}},emits:[`close`],setup(i,{emit:_e}){let C=i,ve=_e,w=v([]),T=v([]),ye=v(`0 0 0 0`),E=v(C.color),D=v(1),O=v(null),k=v(!1),A=v(null),j=v({x:0,y:0}),M=v([``]),N=v({row:0,col:0}),P=v(16),be=1,F=[`arrow`,`text`,`line`,`draw`],I=v(0),L=c(()=>F[I.value]),R=v(null);v(null),v(null);let z=v(`arrow-${n()}`),B=v(`arrow-def-${n()}`),xe={arrow:`plotArrow`,text:`text`,line:`plotLine`,draw:`annotator`};function Se(){I.value+1>=F.length?I.value=0:I.value+=1}function V(){return be++}function Ce(e){let t=J.value;if(!t)return{x:0,y:0};let n=t.createSVGPoint(),r=e.touches?.length||e.changedTouches?.length?e.touches?.[0]||e.changedTouches?.[0]:null,i=r?r.clientX:e.clientX,a=r?r.clientY:e.clientY;n.x=i,n.y=a;let o=t.getScreenCTM()?.inverse();return o?n.matrixTransform(o):{x:0,y:0}}function H(e){if(!O.value||L.value!==`text`||k.value)return;let{x:t,y:n}=Ce(e);j.value={x:t,y:n},M.value=[``],N.value={row:0,col:0};let r=document.createElementNS(`http://www.w3.org/2000/svg`,`text`);r.setAttribute(`x`,t),r.setAttribute(`y`,n),r.setAttribute(`fill`,E.value),r.setAttribute(`font-size`,P.value),r.setAttribute(`font-family`,`sans-serif`),r.setAttribute(`class`,`vue-data-ui-doodle`),r.setAttribute(`dominant-baseline`,`hanging`),r.setAttribute(`pointer-events`,`all`);let i=document.createElementNS(`http://www.w3.org/2000/svg`,`tspan`);i.setAttribute(`x`,t),i.setAttribute(`dy`,`0`),i.textContent=``,r.appendChild(i),r.style.pointerEvents=`none`,r.style.userSelect=`none`,O.value.appendChild(r),A.value=r,k.value=!0,window.addEventListener(`keydown`,we),window.addEventListener(`mousedown`,De,!0),Te(),Ee()}function we(e){if(!k.value)return;let{row:t,col:n}=N.value,r=M.value.slice(),i=!1;if(e.key===`Enter`){let a=r[t],o=a.slice(0,n),s=a.slice(n);r.splice(t,1,o,s),t+=1,n=0,i=!0,e.preventDefault()}else if(e.key===`Backspace`){if(n>0)r[t]=r[t].slice(0,n-1)+r[t].slice(n),--n,i=!0;else if(t>0){let e=r[t-1].length;r[t-1]+=r[t],r.splice(t,1),--t,n=e,i=!0}e.preventDefault()}else if(e.key===`Delete`)n<r[t].length?(r[t]=r[t].slice(0,n)+r[t].slice(n+1),i=!0):t<r.length-1&&(r[t]+=r[t+1],r.splice(t+1,1),i=!0),e.preventDefault();else if(e.key===`ArrowLeft`)n>0?--n:t>0&&(--t,n=r[t].length),i=!0,e.preventDefault();else if(e.key===`ArrowRight`)n<r[t].length?n+=1:t<r.length-1&&(t+=1,n=0),i=!0,e.preventDefault();else if(e.key===`ArrowUp`)t>0&&(--t,n=Math.min(n,r[t].length),i=!0),e.preventDefault();else if(e.key===`ArrowDown`)t<r.length-1&&(t+=1,n=Math.min(n,r[t].length),i=!0),e.preventDefault();else if(e.key.length===1&&!e.ctrlKey&&!e.metaKey&&!e.altKey)r[t]=r[t].slice(0,n)+e.key+r[t].slice(n),n+=1,i=!0,e.preventDefault();else if(e.key===`Escape`){Oe(!0);return}else e.key===`Tab`&&e.preventDefault();i&&(M.value=r,N.value={row:t,col:n},Te(),Ee())}function Te(){let e=A.value,{x:t,y:n}=j.value;for(;e.firstChild;)e.removeChild(e.firstChild);M.value.forEach((n,r)=>{let i=document.createElementNS(`http://www.w3.org/2000/svg`,`tspan`);i.setAttribute(`x`,t),i.setAttribute(`dy`,r===0?`0`:`${P.value*1.2}`),i.textContent=n.length?n:`​`,e.appendChild(i)})}function Ee(){let e=O.value.querySelector(`.vue-data-ui-svg-caret`);e&&O.value.removeChild(e);let t=A.value;if(!t)return;let{x:n,y:r}=j.value,{row:i,col:a}=N.value,o=P.value,s=t.childNodes[i];if(!s)return;let c=s.textContent.slice(0,a);c.endsWith(` `)&&(c+=`\xA0`);let l=document.createElementNS(`http://www.w3.org/2000/svg`,`text`);l.setAttribute(`x`,n),l.setAttribute(`y`,r),l.setAttribute(`font-size`,o),l.setAttribute(`font-family`,`sans-serif`),l.textContent=c||``,O.value.appendChild(l);let u=l.getBBox();O.value.removeChild(l);let d=r+i*o*1.2,f=n+u.width,p=document.createElementNS(`http://www.w3.org/2000/svg`,`rect`);p.setAttribute(`x`,f),p.setAttribute(`y`,d),p.setAttribute(`width`,1),p.setAttribute(`height`,o),p.setAttribute(`fill`,E.value),p.setAttribute(`class`,`vue-data-ui-svg-caret`),O.value.appendChild(p)}function De(e){if(A.value&&!A.value.contains(e.target)){let e=A.value.children;e.length===1&&(e[0].textContent===``||e[0].textContent===`​`)&&A.value.remove(),Oe(!1)}}function Oe(e=!1){window.removeEventListener(`keydown`,we),window.removeEventListener(`mousedown`,De,!0);let t=O.value?.querySelector(`.vue-data-ui-svg-caret`);t&&O.value.removeChild(t);let n=M.value.every(e=>!e||e===`​`);e||n||w.value.push({id:V(),type:`text`,x:j.value.x,y:j.value.y,color:E.value,fontSize:P.value,lines:M.value.map(e=>e)}),A.value&&O.value&&O.value.contains(A.value)&&O.value.removeChild(A.value),k.value=!1,A.value=null,M.value=[``],N.value={row:0,col:0}}let U=c(()=>t(C.color,.6));function W({width:e,height:t}){ye.value=`0 0 ${e} ${t}`}let G=v(null);ne(()=>{ee(()=>{if(C.parent){G.value=new ResizeObserver(e=>{for(let t of e){let{width:e,height:n}=t.contentRect;W({width:e,height:n})}}),G.value.observe(C.parent);let{width:e,height:t}=C.parent.getBoundingClientRect();W({width:e,height:t})}}),O.value=J.value.querySelector(`g`)}),te(()=>{G.value&&G.value.disconnect()}),S(()=>C.parent,e=>{if(!e)return;let{width:t,height:n}=C.parent.getBoundingClientRect();W({width:t,height:n})},{immediate:!0}),S(L,e=>{J.value&&(J.value.removeEventListener(`mousedown`,H),J.value.removeEventListener(`touchstart`,H),e===`text`&&(J.value.addEventListener(`mousedown`,H),J.value.addEventListener(`touchstart`,H,{passive:!1})))});let K=v(!1),q=v(``),J=v(null),Y=v(!1),ke=v(null);S(()=>C.active,e=>{J.value&&(J.value.style.touchAction=e?`none`:``)},{immediate:!0});function Ae(e){if(e.cancelable&&e.preventDefault(),L.value!==`draw`||!J.value)return;K.value=!0;let{x:t,y:n}=Q(e);q.value=`M ${t} ${n}`}function je(e){if(e.cancelable&&e.preventDefault(),L.value!==`draw`||!K.value||!J.value)return;let{x:t,y:n}=Q(e);q.value+=` ${t} ${n}`}function Me(){let e=J.value;if(!e)return;let t=e.querySelector(`defs#${B.value}`);if(t||(t=document.createElementNS(r,`defs`),t.setAttribute(`id`,B.value),e.appendChild(t)),t.querySelector(`#${z.value}`))return;let n=document.createElementNS(r,`marker`);n.setAttribute(`id`,z.value),n.setAttribute(`markerUnits`,`strokeWidth`),n.setAttribute(`markerWidth`,`6`),n.setAttribute(`markerHeight`,`6`),n.setAttribute(`refX`,`4`),n.setAttribute(`refY`,`3`),n.setAttribute(`orient`,`auto`),n.setAttribute(`viewBox`,`0 0 6 6`);let i=document.createElementNS(r,`path`);i.setAttribute(`d`,`M 0 0 L 6 3 L 0 6 z`),i.setAttribute(`fill`,`context-stroke`),i.setAttribute(`stroke`,`none`),n.appendChild(i),t.appendChild(n)}function Ne(e){if(e.cancelable&&e.preventDefault(),![`line`,`arrow`].includes(L.value)||!J.value||!O.value)return;L.value===`arrow`&&Me(),Y.value=!0;let{x:t,y:n}=Q(e);ke.value={x:t,y:n},R.value=document.createElementNS(r,`line`),R.value.setAttribute(`x1`,t),R.value.setAttribute(`y1`,n),R.value.setAttribute(`x2`,t),R.value.setAttribute(`y2`,n),R.value.setAttribute(`stroke`,E.value),R.value.setAttribute(`stroke-width`,D.value),R.value.setAttribute(`stroke-linecap`,`round`),R.value.setAttribute(`class`,`vue-data-ui-doodle`),L.value===`arrow`&&R.value.setAttribute(`marker-end`,`url(#${z.value})`),O.value.appendChild(R.value)}function Pe(e){if(e.cancelable&&e.preventDefault(),![`line`,`arrow`].includes(L.value)||!Y.value||!R.value)return;let{x:t,y:n}=Q(e);R.value.setAttribute(`x2`,t),R.value.setAttribute(`y2`,n)}function X(e){if(e?.cancelable&&e.preventDefault(),!Y.value||!R.value)return;let{x:t,y:n}=Q(e);R.value.setAttribute(`x2`,t),R.value.setAttribute(`y2`,n),w.value.push({id:V(),type:L.value,x1:parseFloat(R.value.getAttribute(`x1`)),y1:parseFloat(R.value.getAttribute(`y1`)),x2:t,y2:n,strokeWidth:D.value,color:E.value}),T.value=[],O.value.contains(R.value)&&O.value.removeChild(R.value),R.value=null,ke.value=null,Y.value=!1}function Fe(e){let t=e.trim().split(/\s+/);if(t.length<4)return e;let n=t.slice(1).map(Number);if(n.length%2!=0)return e;let r=Ie(n),i=[`M ${r[0]} ${r[1]}`];for(let e=2;e<r.length-2;e+=2){let t=r[e-2],n=r[e-1],a=r[e],o=r[e+1],s=(t+a)/2,c=(n+o)/2;i.push(`Q ${t} ${n} ${s} ${c}`)}let a=r[r.length-2],o=r[r.length-1];return i.push(`L ${a} ${o}`),i.join(` `)}function Ie(e,t=1){let n=[...e];for(let r=2;r<e.length-2;r+=2){let i=e[r],a=e[r+1],o=e[r-2],s=e[r-1],c=e[r+2],l=e[r+3];n[r]=i+t*((o+c)/2-i),n[r+1]=a+t*((s+l)/2-a)}return n}function Le(e){let t=e.trim().split(/\s+/),n=``,r=``,i=null,a=null;for(let e=0;e<t.length;e+=1){let o=t[e];if(isNaN(o)){if(r=o,r===`M`||r===`L`)i=parseFloat(t[++e]),a=parseFloat(t[++e]),n+=`${r}${i} ${a}`;else if(r===`Q`){let r=parseFloat(t[++e]),o=parseFloat(t[++e]),s=parseFloat(t[++e]),c=parseFloat(t[++e]);n+=r===i&&o===a?`t${s-i} ${c-a}`:`q${r-i} ${o-a} ${s-i} ${c-a}`,i=s,a=c}}else{let s=parseFloat(o),c=parseFloat(t[++e]);if(r===`L`){let e=s-i,t=c-a;n+=e===0?`v${t}`:t===0?`h${e}`:`l${e} ${t}`,i=s,a=c}else if(r===`Q`){let r=s,o=c,l=parseFloat(t[++e]),u=parseFloat(t[++e]);n+=r===i&&o===a?`t${l-i} ${u-a}`:`q${r-i} ${o-a} ${l-i} ${u-a}`,i=l,a=u}}}return n}function Z(e){e?.cancelable&&e.preventDefault(),L.value===`draw`&&(K.value&&(w.value.push({id:V(),strokeWidth:D.value,path:Le(Fe(q.value)),color:E.value}),T.value=[],q.value=``),K.value=!1)}function Q(e){if(!J.value)return{x:0,y:0};let t=J.value.getBoundingClientRect(),n=e.touches?.length||e.changedTouches?.length?e.touches?.[0]||e.changedTouches?.[0]:null,r=n?n.clientX:e.clientX,i=n?n.clientY:e.clientY;return{x:r-t.left,y:i-t.top}}function Re(){if(w.value.length>0){let e=w.value.pop();T.value.push(e)}}function ze(){if(T.value.length>0){let e=T.value.pop();w.value.push(e)}}function Be(){w.value=[],T.value=[]}let $=v(null);return(t,n)=>(_(),u(s,null,[i.active?(_(),u(`div`,{key:0,"data-dom-to-png-ignore":``,class:m({"vue-ui-pen-and-paper-actions":!0,visible:i.active}),style:g({backgroundColor:i.backgroundColor})},[d(`button`,{class:`vue-ui-pen-and-paper-action`,style:g({backgroundColor:i.backgroundColor,border:`1px solid ${U.value}`,cursor:i.isCursorPointer?`pointer`:`default`}),onClick:n[0]||=e=>ve(`close`)},[b(t.$slots,`annotator-action-close`,{},()=>[f(a,{name:`close`,stroke:i.color},null,8,[`stroke`])],!0)],4),d(`button`,{class:m({"vue-ui-pen-and-paper-action":!0}),style:g({padding:`0 !important`,cursor:i.isCursorPointer?`pointer`:`default`})},[f(o,{value:E.value,"onUpdate:value":n[1]||=e=>E.value=e,backgroundColor:i.backgroundColor,buttonBorderColor:U.value},{"annotator-action-color":ae(({color:e})=>[b(t.$slots,`annotator-action-color`,h(p({color:e})),void 0,!0)]),_:3},8,[`value`,`backgroundColor`,`buttonBorderColor`])],4),d(`button`,{class:m([`vue-ui-pen-and-paper-action`,{"vue-ui-pen-and-paper-action-active":L.value===`text`}]),onClick:n[2]||=e=>Se(),style:g({backgroundColor:i.backgroundColor,border:`1px solid ${U.value}`,cursor:i.isCursorPointer?`pointer`:`default`})},[b(t.$slots,`annotator-action-draw`,h(p({mode:L.value})),()=>[f(a,{name:xe[L.value],stroke:i.color},null,8,[`name`,`stroke`])],!0),d(`div`,{style:g({position:`absolute`,bottom:`-20px`,color:U.value,width:`100%`,textAlign:`center`,fontSize:`12px`})},x(re(e)({v:L.value===`text`?P.value:D.value,s:`px`,r:1})),5)],6),d(`button`,{class:m({"vue-ui-pen-and-paper-action":!0,"vue-ui-pen-and-paper-action-disabled":!w.value.length}),disabled:!w.value.length,style:g({backgroundColor:i.backgroundColor,border:`1px solid ${U.value}`,marginTop:`20px`,cursor:i.isCursorPointer?`pointer`:`default`}),onClick:Re},[b(t.$slots,`annotator-action-undo`,h(p({disabled:!w.value.length})),()=>[f(a,{name:`refresh`,stroke:i.color},null,8,[`stroke`])],!0)],14,ce),d(`button`,{class:m({"vue-ui-pen-and-paper-action":!0,"vue-ui-pen-and-paper-action-disabled":!T.value.length}),style:g({backgroundColor:i.backgroundColor,border:`1px solid ${U.value}`,cursor:i.isCursorPointer?`pointer`:`default`}),onClick:ze},[b(t.$slots,`annotator-action-redo`,h(p({disabled:!T.value.length})),()=>[f(a,{name:`refresh`,stroke:i.color,style:{transform:`scaleX(-1)`}},null,8,[`stroke`])],!0)],6),d(`button`,{class:m([{"vue-ui-pen-and-paper-action":!0,"vue-ui-pen-and-paper-action-disabled":!w.value.length},`vue-ui-pen-and-paper-action`]),style:g({backgroundColor:i.backgroundColor,border:`1px solid ${U.value}`,cursor:i.isCursorPointer?`pointer`:`default`}),onClick:Be},[b(t.$slots,`annotator-action-delete`,h(p({disabled:!w.value.length})),()=>[f(a,{name:`trash`,stroke:i.color},null,8,[`stroke`])],!0)],6),L.value===`draw`?oe((_(),u(`input`,{key:0,ref_key:`range`,ref:$,type:`range`,class:`vertical-range`,min:.5,max:12,step:.1,"onUpdate:modelValue":n[3]||=e=>D.value=e,style:g({accentColor:i.color})},null,4)),[[ie,D.value]]):l(``,!0),L.value===`text`?oe((_(),u(`input`,{key:1,ref_key:`range`,ref:$,type:`range`,class:`vertical-range`,min:3,max:48,step:.1,"onUpdate:modelValue":n[4]||=e=>P.value=e,style:g({accentColor:i.color})},null,4)),[[ie,P.value]]):l(``,!0)],6)):l(``,!0),(_(),u(`svg`,{"data-mode":L.value,ref_key:`svgElement`,ref:J,xmlns:re(r),viewBox:ye.value,class:m({"vue-ui-pen-and-paper":!0,inactive:!i.active}),onMousedown:n[5]||=e=>L.value===`draw`?Ae(e):L.value===`line`||L.value===`arrow`?Ne(e):null,onMousemove:n[6]||=e=>L.value===`draw`?je(e):L.value===`line`||L.value===`arrow`?Pe(e):null,onMouseup:n[7]||=e=>L.value===`draw`?Z(e):L.value===`line`||L.value===`arrow`?X(e):null,onMouseleave:n[8]||=e=>L.value===`draw`?Z(e):L.value===`line`||L.value===`arrow`?X(e):null,onTouchstart:n[9]||=se(e=>L.value===`draw`?Ae(e):L.value===`line`||L.value===`arrow`?Ne(e):null,[`prevent`]),onTouchmove:n[10]||=se(e=>L.value===`draw`?je(e):L.value===`line`||L.value===`arrow`?Pe(e):null,[`prevent`]),onTouchend:n[11]||=e=>L.value===`draw`?Z(e):L.value===`line`||L.value===`arrow`?X(e):null,onTouchcancel:n[12]||=e=>L.value===`draw`?Z(e):L.value===`line`||L.value===`arrow`?X(e):null},[d(`g`,{ref_key:`G`,ref:O},[(_(!0),u(s,null,y(w.value,e=>(_(),u(s,{key:e.id},[e.path&&e.path.replace(`M`,``).split(` `).length===2?(_(),u(`circle`,{key:0,cx:e.path.replace(`M`,``).split(` `)[0],cy:e.path.replace(`M`,``).split(` `)[1],r:e.strokeWidth/2,fill:e.color},null,8,ue)):e.type===`line`?(_(),u(`line`,{key:1,class:`vue-ui-pen-and-paper-path`,x1:e.x1,y1:e.y1,x2:e.x2,y2:e.y2,stroke:e.color,"stroke-width":e.strokeWidth},null,8,de)):e.type===`arrow`?(_(),u(`line`,{key:2,class:`vue-ui-pen-and-paper-path`,x1:e.x1,y1:e.y1,x2:e.x2,y2:e.y2,stroke:e.color,"stroke-width":e.strokeWidth,"marker-end":`url(#${z.value})`},null,8,fe)):e.path?(_(),u(`path`,{key:3,class:`vue-ui-pen-and-paper-path`,d:e.path,stroke:e.color,"stroke-width":e.strokeWidth,fill:`none`},null,8,pe)):e.type===`text`?(_(),u(`text`,{key:4,x:e.x,y:e.y,fill:e.color,"font-size":e.fontSize,"font-family":`sans-serif`,"dominant-baseline":`hanging`,class:`vue-ui-pen-and-paper-text`},[(_(!0),u(s,null,y(e.lines,(t,n)=>(_(),u(`tspan`,{key:n,x:e.x,dy:n===0?`0`:e.fontSize*1.2},x(t.length?t:`​`),9,he))),128))],8,me)):l(``,!0)],64))),128))],512),K.value?(_(),u(`path`,{key:0,class:`vue-ui-pen-and-paper-path vue-ui-pen-and-paper-path-drawing`,d:Fe(q.value),stroke:E.value,"stroke-width":D.value*1.1,fill:`none`},null,8,ge)):l(``,!0)],42,le))],64))}},[[`__scopeId`,`data-v-42e6ba29`]]);export{_e as default};
1
+ import{$ as e,Ft as t,X as n,t as r}from"./lib-DqD8nbyX.js";import{t as i}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as a}from"./BaseIcon-DDctLkeT.js";import{t as o}from"./ColorPicker-DHQvvLT9.js";import{Fragment as s,computed as c,createCommentVNode as l,createElementBlock as u,createElementVNode as d,createVNode as f,guardReactiveProps as p,nextTick as ee,normalizeClass as m,normalizeProps as h,normalizeStyle as g,onBeforeUnmount as te,onMounted as ne,openBlock as _,ref as v,renderList as y,renderSlot as b,toDisplayString as x,unref as re,vModelText as ie,watch as S,withCtx as ae,withDirectives as oe,withModifiers as se}from"vue";var ce=[`disabled`],le=[`data-mode`,`xmlns`,`viewBox`],ue=[`cx`,`cy`,`r`,`fill`],de=[`x1`,`y1`,`x2`,`y2`,`stroke`,`stroke-width`],fe=[`x1`,`y1`,`x2`,`y2`,`stroke`,`stroke-width`,`marker-end`],pe=[`d`,`stroke`,`stroke-width`],me=[`x`,`y`,`fill`,`font-size`],he=[`x`,`dy`],ge=[`d`,`stroke`,`stroke-width`],_e=/*#__PURE__*/ i({__name:`NonSvgPenAndPaper`,props:{parent:{type:HTMLElement},backgroundColor:{type:String,default:`#FFFFFF`},color:{type:String,default:`#2D353C`},active:{type:Boolean,default:!1},isCursorPointer:{type:Boolean,default:!1}},emits:[`close`],setup(i,{emit:_e}){let C=i,ve=_e,w=v([]),T=v([]),ye=v(`0 0 0 0`),E=v(C.color),D=v(1),O=v(null),k=v(!1),A=v(null),j=v({x:0,y:0}),M=v([``]),N=v({row:0,col:0}),P=v(16),be=1,F=[`arrow`,`text`,`line`,`draw`],I=v(0),L=c(()=>F[I.value]),R=v(null);v(null),v(null);let z=v(`arrow-${n()}`),B=v(`arrow-def-${n()}`),xe={arrow:`plotArrow`,text:`text`,line:`plotLine`,draw:`annotator`};function Se(){I.value+1>=F.length?I.value=0:I.value+=1}function V(){return be++}function Ce(e){let t=J.value;if(!t)return{x:0,y:0};let n=t.createSVGPoint(),r=e.touches?.length||e.changedTouches?.length?e.touches?.[0]||e.changedTouches?.[0]:null,i=r?r.clientX:e.clientX,a=r?r.clientY:e.clientY;n.x=i,n.y=a;let o=t.getScreenCTM()?.inverse();return o?n.matrixTransform(o):{x:0,y:0}}function H(e){if(!O.value||L.value!==`text`||k.value)return;let{x:t,y:n}=Ce(e);j.value={x:t,y:n},M.value=[``],N.value={row:0,col:0};let r=document.createElementNS(`http://www.w3.org/2000/svg`,`text`);r.setAttribute(`x`,t),r.setAttribute(`y`,n),r.setAttribute(`fill`,E.value),r.setAttribute(`font-size`,P.value),r.setAttribute(`font-family`,`sans-serif`),r.setAttribute(`class`,`vue-data-ui-doodle`),r.setAttribute(`dominant-baseline`,`hanging`),r.setAttribute(`pointer-events`,`all`);let i=document.createElementNS(`http://www.w3.org/2000/svg`,`tspan`);i.setAttribute(`x`,t),i.setAttribute(`dy`,`0`),i.textContent=``,r.appendChild(i),r.style.pointerEvents=`none`,r.style.userSelect=`none`,O.value.appendChild(r),A.value=r,k.value=!0,window.addEventListener(`keydown`,we),window.addEventListener(`mousedown`,De,!0),Te(),Ee()}function we(e){if(!k.value)return;let{row:t,col:n}=N.value,r=M.value.slice(),i=!1;if(e.key===`Enter`){let a=r[t],o=a.slice(0,n),s=a.slice(n);r.splice(t,1,o,s),t+=1,n=0,i=!0,e.preventDefault()}else if(e.key===`Backspace`){if(n>0)r[t]=r[t].slice(0,n-1)+r[t].slice(n),--n,i=!0;else if(t>0){let e=r[t-1].length;r[t-1]+=r[t],r.splice(t,1),--t,n=e,i=!0}e.preventDefault()}else if(e.key===`Delete`)n<r[t].length?(r[t]=r[t].slice(0,n)+r[t].slice(n+1),i=!0):t<r.length-1&&(r[t]+=r[t+1],r.splice(t+1,1),i=!0),e.preventDefault();else if(e.key===`ArrowLeft`)n>0?--n:t>0&&(--t,n=r[t].length),i=!0,e.preventDefault();else if(e.key===`ArrowRight`)n<r[t].length?n+=1:t<r.length-1&&(t+=1,n=0),i=!0,e.preventDefault();else if(e.key===`ArrowUp`)t>0&&(--t,n=Math.min(n,r[t].length),i=!0),e.preventDefault();else if(e.key===`ArrowDown`)t<r.length-1&&(t+=1,n=Math.min(n,r[t].length),i=!0),e.preventDefault();else if(e.key.length===1&&!e.ctrlKey&&!e.metaKey&&!e.altKey)r[t]=r[t].slice(0,n)+e.key+r[t].slice(n),n+=1,i=!0,e.preventDefault();else if(e.key===`Escape`){Oe(!0);return}else e.key===`Tab`&&e.preventDefault();i&&(M.value=r,N.value={row:t,col:n},Te(),Ee())}function Te(){let e=A.value,{x:t,y:n}=j.value;for(;e.firstChild;)e.removeChild(e.firstChild);M.value.forEach((n,r)=>{let i=document.createElementNS(`http://www.w3.org/2000/svg`,`tspan`);i.setAttribute(`x`,t),i.setAttribute(`dy`,r===0?`0`:`${P.value*1.2}`),i.textContent=n.length?n:`​`,e.appendChild(i)})}function Ee(){let e=O.value.querySelector(`.vue-data-ui-svg-caret`);e&&O.value.removeChild(e);let t=A.value;if(!t)return;let{x:n,y:r}=j.value,{row:i,col:a}=N.value,o=P.value,s=t.childNodes[i];if(!s)return;let c=s.textContent.slice(0,a);c.endsWith(` `)&&(c+=`\xA0`);let l=document.createElementNS(`http://www.w3.org/2000/svg`,`text`);l.setAttribute(`x`,n),l.setAttribute(`y`,r),l.setAttribute(`font-size`,o),l.setAttribute(`font-family`,`sans-serif`),l.textContent=c||``,O.value.appendChild(l);let u=l.getBBox();O.value.removeChild(l);let d=r+i*o*1.2,f=n+u.width,p=document.createElementNS(`http://www.w3.org/2000/svg`,`rect`);p.setAttribute(`x`,f),p.setAttribute(`y`,d),p.setAttribute(`width`,1),p.setAttribute(`height`,o),p.setAttribute(`fill`,E.value),p.setAttribute(`class`,`vue-data-ui-svg-caret`),O.value.appendChild(p)}function De(e){if(A.value&&!A.value.contains(e.target)){let e=A.value.children;e.length===1&&(e[0].textContent===``||e[0].textContent===`​`)&&A.value.remove(),Oe(!1)}}function Oe(e=!1){window.removeEventListener(`keydown`,we),window.removeEventListener(`mousedown`,De,!0);let t=O.value?.querySelector(`.vue-data-ui-svg-caret`);t&&O.value.removeChild(t);let n=M.value.every(e=>!e||e===`​`);e||n||w.value.push({id:V(),type:`text`,x:j.value.x,y:j.value.y,color:E.value,fontSize:P.value,lines:M.value.map(e=>e)}),A.value&&O.value&&O.value.contains(A.value)&&O.value.removeChild(A.value),k.value=!1,A.value=null,M.value=[``],N.value={row:0,col:0}}let U=c(()=>t(C.color,.6));function W({width:e,height:t}){ye.value=`0 0 ${e} ${t}`}let G=v(null);ne(()=>{ee(()=>{if(C.parent){G.value=new ResizeObserver(e=>{for(let t of e){let{width:e,height:n}=t.contentRect;W({width:e,height:n})}}),G.value.observe(C.parent);let{width:e,height:t}=C.parent.getBoundingClientRect();W({width:e,height:t})}}),O.value=J.value.querySelector(`g`)}),te(()=>{G.value&&G.value.disconnect()}),S(()=>C.parent,e=>{if(!e)return;let{width:t,height:n}=C.parent.getBoundingClientRect();W({width:t,height:n})},{immediate:!0}),S(L,e=>{J.value&&(J.value.removeEventListener(`mousedown`,H),J.value.removeEventListener(`touchstart`,H),e===`text`&&(J.value.addEventListener(`mousedown`,H),J.value.addEventListener(`touchstart`,H,{passive:!1})))});let K=v(!1),q=v(``),J=v(null),Y=v(!1),ke=v(null);S(()=>C.active,e=>{J.value&&(J.value.style.touchAction=e?`none`:``)},{immediate:!0});function Ae(e){if(e.cancelable&&e.preventDefault(),L.value!==`draw`||!J.value)return;K.value=!0;let{x:t,y:n}=Q(e);q.value=`M ${t} ${n}`}function je(e){if(e.cancelable&&e.preventDefault(),L.value!==`draw`||!K.value||!J.value)return;let{x:t,y:n}=Q(e);q.value+=` ${t} ${n}`}function Me(){let e=J.value;if(!e)return;let t=e.querySelector(`defs#${B.value}`);if(t||(t=document.createElementNS(r,`defs`),t.setAttribute(`id`,B.value),e.appendChild(t)),t.querySelector(`#${z.value}`))return;let n=document.createElementNS(r,`marker`);n.setAttribute(`id`,z.value),n.setAttribute(`markerUnits`,`strokeWidth`),n.setAttribute(`markerWidth`,`6`),n.setAttribute(`markerHeight`,`6`),n.setAttribute(`refX`,`4`),n.setAttribute(`refY`,`3`),n.setAttribute(`orient`,`auto`),n.setAttribute(`viewBox`,`0 0 6 6`);let i=document.createElementNS(r,`path`);i.setAttribute(`d`,`M 0 0 L 6 3 L 0 6 z`),i.setAttribute(`fill`,`context-stroke`),i.setAttribute(`stroke`,`none`),n.appendChild(i),t.appendChild(n)}function Ne(e){if(e.cancelable&&e.preventDefault(),![`line`,`arrow`].includes(L.value)||!J.value||!O.value)return;L.value===`arrow`&&Me(),Y.value=!0;let{x:t,y:n}=Q(e);ke.value={x:t,y:n},R.value=document.createElementNS(r,`line`),R.value.setAttribute(`x1`,t),R.value.setAttribute(`y1`,n),R.value.setAttribute(`x2`,t),R.value.setAttribute(`y2`,n),R.value.setAttribute(`stroke`,E.value),R.value.setAttribute(`stroke-width`,D.value),R.value.setAttribute(`stroke-linecap`,`round`),R.value.setAttribute(`class`,`vue-data-ui-doodle`),L.value===`arrow`&&R.value.setAttribute(`marker-end`,`url(#${z.value})`),O.value.appendChild(R.value)}function Pe(e){if(e.cancelable&&e.preventDefault(),![`line`,`arrow`].includes(L.value)||!Y.value||!R.value)return;let{x:t,y:n}=Q(e);R.value.setAttribute(`x2`,t),R.value.setAttribute(`y2`,n)}function X(e){if(e?.cancelable&&e.preventDefault(),!Y.value||!R.value)return;let{x:t,y:n}=Q(e);R.value.setAttribute(`x2`,t),R.value.setAttribute(`y2`,n),w.value.push({id:V(),type:L.value,x1:parseFloat(R.value.getAttribute(`x1`)),y1:parseFloat(R.value.getAttribute(`y1`)),x2:t,y2:n,strokeWidth:D.value,color:E.value}),T.value=[],O.value.contains(R.value)&&O.value.removeChild(R.value),R.value=null,ke.value=null,Y.value=!1}function Fe(e){let t=e.trim().split(/\s+/);if(t.length<4)return e;let n=t.slice(1).map(Number);if(n.length%2!=0)return e;let r=Ie(n),i=[`M ${r[0]} ${r[1]}`];for(let e=2;e<r.length-2;e+=2){let t=r[e-2],n=r[e-1],a=r[e],o=r[e+1],s=(t+a)/2,c=(n+o)/2;i.push(`Q ${t} ${n} ${s} ${c}`)}let a=r[r.length-2],o=r[r.length-1];return i.push(`L ${a} ${o}`),i.join(` `)}function Ie(e,t=1){let n=[...e];for(let r=2;r<e.length-2;r+=2){let i=e[r],a=e[r+1],o=e[r-2],s=e[r-1],c=e[r+2],l=e[r+3];n[r]=i+t*((o+c)/2-i),n[r+1]=a+t*((s+l)/2-a)}return n}function Le(e){let t=e.trim().split(/\s+/),n=``,r=``,i=null,a=null;for(let e=0;e<t.length;e+=1){let o=t[e];if(isNaN(o)){if(r=o,r===`M`||r===`L`)i=parseFloat(t[++e]),a=parseFloat(t[++e]),n+=`${r}${i} ${a}`;else if(r===`Q`){let r=parseFloat(t[++e]),o=parseFloat(t[++e]),s=parseFloat(t[++e]),c=parseFloat(t[++e]);n+=r===i&&o===a?`t${s-i} ${c-a}`:`q${r-i} ${o-a} ${s-i} ${c-a}`,i=s,a=c}}else{let s=parseFloat(o),c=parseFloat(t[++e]);if(r===`L`){let e=s-i,t=c-a;n+=e===0?`v${t}`:t===0?`h${e}`:`l${e} ${t}`,i=s,a=c}else if(r===`Q`){let r=s,o=c,l=parseFloat(t[++e]),u=parseFloat(t[++e]);n+=r===i&&o===a?`t${l-i} ${u-a}`:`q${r-i} ${o-a} ${l-i} ${u-a}`,i=l,a=u}}}return n}function Z(e){e?.cancelable&&e.preventDefault(),L.value===`draw`&&(K.value&&(w.value.push({id:V(),strokeWidth:D.value,path:Le(Fe(q.value)),color:E.value}),T.value=[],q.value=``),K.value=!1)}function Q(e){if(!J.value)return{x:0,y:0};let t=J.value.getBoundingClientRect(),n=e.touches?.length||e.changedTouches?.length?e.touches?.[0]||e.changedTouches?.[0]:null,r=n?n.clientX:e.clientX,i=n?n.clientY:e.clientY;return{x:r-t.left,y:i-t.top}}function Re(){if(w.value.length>0){let e=w.value.pop();T.value.push(e)}}function ze(){if(T.value.length>0){let e=T.value.pop();w.value.push(e)}}function Be(){w.value=[],T.value=[]}let $=v(null);return(t,n)=>(_(),u(s,null,[i.active?(_(),u(`div`,{key:0,"data-dom-to-png-ignore":``,class:m({"vue-ui-pen-and-paper-actions":!0,visible:i.active}),style:g({backgroundColor:i.backgroundColor})},[d(`button`,{class:`vue-ui-pen-and-paper-action`,style:g({backgroundColor:i.backgroundColor,border:`1px solid ${U.value}`,cursor:i.isCursorPointer?`pointer`:`default`}),onClick:n[0]||=e=>ve(`close`)},[b(t.$slots,`annotator-action-close`,{},()=>[f(a,{name:`close`,stroke:i.color},null,8,[`stroke`])],!0)],4),d(`button`,{class:m({"vue-ui-pen-and-paper-action":!0}),style:g({padding:`0 !important`,cursor:i.isCursorPointer?`pointer`:`default`})},[f(o,{value:E.value,"onUpdate:value":n[1]||=e=>E.value=e,backgroundColor:i.backgroundColor,buttonBorderColor:U.value},{"annotator-action-color":ae(({color:e})=>[b(t.$slots,`annotator-action-color`,h(p({color:e})),void 0,!0)]),_:3},8,[`value`,`backgroundColor`,`buttonBorderColor`])],4),d(`button`,{class:m([`vue-ui-pen-and-paper-action`,{"vue-ui-pen-and-paper-action-active":L.value===`text`}]),onClick:n[2]||=e=>Se(),style:g({backgroundColor:i.backgroundColor,border:`1px solid ${U.value}`,cursor:i.isCursorPointer?`pointer`:`default`})},[b(t.$slots,`annotator-action-draw`,h(p({mode:L.value})),()=>[f(a,{name:xe[L.value],stroke:i.color},null,8,[`name`,`stroke`])],!0),d(`div`,{style:g({position:`absolute`,bottom:`-20px`,color:U.value,width:`100%`,textAlign:`center`,fontSize:`12px`})},x(re(e)({v:L.value===`text`?P.value:D.value,s:`px`,r:1})),5)],6),d(`button`,{class:m({"vue-ui-pen-and-paper-action":!0,"vue-ui-pen-and-paper-action-disabled":!w.value.length}),disabled:!w.value.length,style:g({backgroundColor:i.backgroundColor,border:`1px solid ${U.value}`,marginTop:`20px`,cursor:i.isCursorPointer?`pointer`:`default`}),onClick:Re},[b(t.$slots,`annotator-action-undo`,h(p({disabled:!w.value.length})),()=>[f(a,{name:`refresh`,stroke:i.color},null,8,[`stroke`])],!0)],14,ce),d(`button`,{class:m({"vue-ui-pen-and-paper-action":!0,"vue-ui-pen-and-paper-action-disabled":!T.value.length}),style:g({backgroundColor:i.backgroundColor,border:`1px solid ${U.value}`,cursor:i.isCursorPointer?`pointer`:`default`}),onClick:ze},[b(t.$slots,`annotator-action-redo`,h(p({disabled:!T.value.length})),()=>[f(a,{name:`refresh`,stroke:i.color,style:{transform:`scaleX(-1)`}},null,8,[`stroke`])],!0)],6),d(`button`,{class:m([{"vue-ui-pen-and-paper-action":!0,"vue-ui-pen-and-paper-action-disabled":!w.value.length},`vue-ui-pen-and-paper-action`]),style:g({backgroundColor:i.backgroundColor,border:`1px solid ${U.value}`,cursor:i.isCursorPointer?`pointer`:`default`}),onClick:Be},[b(t.$slots,`annotator-action-delete`,h(p({disabled:!w.value.length})),()=>[f(a,{name:`trash`,stroke:i.color},null,8,[`stroke`])],!0)],6),L.value===`draw`?oe((_(),u(`input`,{key:0,ref_key:`range`,ref:$,type:`range`,class:`vertical-range`,min:.5,max:12,step:.1,"onUpdate:modelValue":n[3]||=e=>D.value=e,style:g({accentColor:i.color})},null,4)),[[ie,D.value]]):l(``,!0),L.value===`text`?oe((_(),u(`input`,{key:1,ref_key:`range`,ref:$,type:`range`,class:`vertical-range`,min:3,max:48,step:.1,"onUpdate:modelValue":n[4]||=e=>P.value=e,style:g({accentColor:i.color})},null,4)),[[ie,P.value]]):l(``,!0)],6)):l(``,!0),(_(),u(`svg`,{"data-mode":L.value,ref_key:`svgElement`,ref:J,xmlns:re(r),viewBox:ye.value,class:m({"vue-ui-pen-and-paper":!0,inactive:!i.active}),onMousedown:n[5]||=e=>L.value===`draw`?Ae(e):L.value===`line`||L.value===`arrow`?Ne(e):null,onMousemove:n[6]||=e=>L.value===`draw`?je(e):L.value===`line`||L.value===`arrow`?Pe(e):null,onMouseup:n[7]||=e=>L.value===`draw`?Z(e):L.value===`line`||L.value===`arrow`?X(e):null,onMouseleave:n[8]||=e=>L.value===`draw`?Z(e):L.value===`line`||L.value===`arrow`?X(e):null,onTouchstart:n[9]||=se(e=>L.value===`draw`?Ae(e):L.value===`line`||L.value===`arrow`?Ne(e):null,[`prevent`]),onTouchmove:n[10]||=se(e=>L.value===`draw`?je(e):L.value===`line`||L.value===`arrow`?Pe(e):null,[`prevent`]),onTouchend:n[11]||=e=>L.value===`draw`?Z(e):L.value===`line`||L.value===`arrow`?X(e):null,onTouchcancel:n[12]||=e=>L.value===`draw`?Z(e):L.value===`line`||L.value===`arrow`?X(e):null},[d(`g`,{ref_key:`G`,ref:O},[(_(!0),u(s,null,y(w.value,e=>(_(),u(s,{key:e.id},[e.path&&e.path.replace(`M`,``).split(` `).length===2?(_(),u(`circle`,{key:0,cx:e.path.replace(`M`,``).split(` `)[0],cy:e.path.replace(`M`,``).split(` `)[1],r:e.strokeWidth/2,fill:e.color},null,8,ue)):e.type===`line`?(_(),u(`line`,{key:1,class:`vue-ui-pen-and-paper-path`,x1:e.x1,y1:e.y1,x2:e.x2,y2:e.y2,stroke:e.color,"stroke-width":e.strokeWidth},null,8,de)):e.type===`arrow`?(_(),u(`line`,{key:2,class:`vue-ui-pen-and-paper-path`,x1:e.x1,y1:e.y1,x2:e.x2,y2:e.y2,stroke:e.color,"stroke-width":e.strokeWidth,"marker-end":`url(#${z.value})`},null,8,fe)):e.path?(_(),u(`path`,{key:3,class:`vue-ui-pen-and-paper-path`,d:e.path,stroke:e.color,"stroke-width":e.strokeWidth,fill:`none`},null,8,pe)):e.type===`text`?(_(),u(`text`,{key:4,x:e.x,y:e.y,fill:e.color,"font-size":e.fontSize,"font-family":`sans-serif`,"dominant-baseline":`hanging`,class:`vue-ui-pen-and-paper-text`},[(_(!0),u(s,null,y(e.lines,(t,n)=>(_(),u(`tspan`,{key:n,x:e.x,dy:n===0?`0`:e.fontSize*1.2},x(t.length?t:`​`),9,he))),128))],8,me)):l(``,!0)],64))),128))],512),K.value?(_(),u(`path`,{key:0,class:`vue-ui-pen-and-paper-path vue-ui-pen-and-paper-path-drawing`,d:Fe(q.value),stroke:E.value,"stroke-width":D.value*1.1,fill:`none`},null,8,ge)):l(``,!0)],42,le))],64))}},[[`__scopeId`,`data-v-42e6ba29`]]);export{_e as default};
@@ -1 +1 @@
1
- import{t as e}from"./rolldown-runtime-DK3Fl9T5.js";import{t}from"./package-DE5cU1Rg.js";import{createElementBlock as n,openBlock as r,toDisplayString as i,unref as a}from"vue";var o=/* @__PURE__ */ e({default:()=>c}),s={"aria-hidden":`true`},c={__name:`PackageVersion`,setup(e){return(e,o)=>(r(),n(`desc`,s,`Composed with Vue Data UI `+i(a(t)),1))}};export{c as n,o as t};
1
+ import{t as e}from"./rolldown-runtime-DK3Fl9T5.js";import{t}from"./package-UBaXe2y9.js";import{createElementBlock as n,openBlock as r,toDisplayString as i,unref as a}from"vue";var o=/* @__PURE__ */ e({default:()=>c}),s={"aria-hidden":`true`},c={__name:`PackageVersion`,setup(e){return(e,o)=>(r(),n(`desc`,s,`Composed with Vue Data UI `+i(a(t)),1))}};export{c as n,o as t};
@@ -1 +1 @@
1
- import{t as e}from"./rolldown-runtime-DK3Fl9T5.js";import{$ as t,Ft as n,X as r,t as i}from"./lib-CV_IANZ6.js";import{t as a}from"./BaseIcon-DdIyewwY.js";import{t as o}from"./ColorPicker-MLwiwxl5.js";import{computed as s,createCommentVNode as c,createElementBlock as l,createElementVNode as u,createVNode as d,guardReactiveProps as f,nextTick as p,normalizeClass as m,normalizeProps as h,normalizeStyle as g,onBeforeUnmount as ee,onMounted as te,openBlock as ne,ref as _,renderSlot as v,toDisplayString as re,unref as ie,vModelText as ae,watch as y,withCtx as oe,withDirectives as se}from"vue";var ce=/* @__PURE__ */ e({default:()=>b}),le={"aria-hidden":`true`,viewBox:`0 0 6 12`,style:{width:`100%`}},ue=[`fill`],de=[`fill`],fe=[`fill`],pe=[`disabled`],me=750,he=8,ge=2,b={__name:`PenAndPaper`,props:{svgRef:{type:[Object,null,void 0],required:!0},color:{type:String,default:`#2D353C`},backgroundColor:{type:String,default:`#FFFFFF`},active:{type:Boolean,default:!1},scale:{type:Number,default:1},isCursorPointer:{type:Boolean,default:!1},palette:{type:Array,default:()=>[`#000000`,`#FFFFFF`,`#FF5733`,`#33FF57`,`#3357FF`,`#FFC300`,`#800080`,`#FF1493`,`#00CED1`]}},emits:[`close`],setup(e,{emit:ce}){let b=e,_e=ce,x=_([]),S=_([]),C=_(b.color),w=_(2),T=_(!1),ve=_(``),E=_(null),D=_(null),O=_(null),ye=_(null),k=_(null),be=_(null),A=_(!1),j=_(null),xe=_(``),M=_(``),N=_(!1),Se=_(!1),P=_(null),Ce=_(null),we=_(!1),F=_(``),Te=/* @__PURE__ */ new Map,Ee=_(`arrow-def-${r()}`),I=_(!1),L=_(null),De=_({x:0,y:0}),R=_([``]),z=_({row:0,col:0}),B=_(16),Oe=_(!1),ke=_(``),Ae=_(!1),je=[`arrow`,`text`,`line`,`draw`],V=_(0),H=s(()=>je[V.value]),Me={arrow:`plotArrow`,text:`text`,line:`plotLine`,draw:`annotator`},Ne=_(`url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAABg2lDQ1BJQ0MgcHJvZmlsZQAAKJF9kT1Iw0AcxV9TpSIVh2YQcchQnSyIijhKFYtgobQVWnUwufQLmjQkKS6OgmvBwY/FqoOLs64OroIg+AHi6OSk6CIl/i8ptIjx4Lgf7+497t4BQrPKNKtnAtB020wn4lIuvyqFXhGGiAhCiMnMMpKZxSx8x9c9Any9i/Es/3N/jgG1YDEgIBHPMcO0iTeIZzZtg/M+scjKskp8Tjxu0gWJH7muePzGueSywDNFM5ueJxaJpVIXK13MyqZGPE0cVTWd8oWcxyrnLc5atc7a9+QvDBf0lQzXaY4ggSUkkYIEBXVUUIWNGK06KRbStB/38Q+7/hS5FHJVwMixgBo0yK4f/A9+d2sVpya9pHAc6H1xnI9RILQLtBqO833sOK0TIPgMXOkdf60JzH6S3uho0SNgcBu4uO5oyh5wuQMMPRmyKbtSkKZQLALvZ/RNeSByC/Sveb2193H6AGSpq+Ub4OAQGCtR9rrPu/u6e/v3TLu/H5C7crM1WjgWAAAABmJLR0QAqwB5AHWF+8OUAAAACXBIWXMAAC4jAAAuIwF4pT92AAAAB3RJTUUH5gwUExIUagzGcQAAABl0RVh0Q29tbWVudABDcmVhdGVkIHdpdGggR0lNUFeBDhcAAABfSURBVBjTldAxDoNQDIPhL0+q1L33P1AvAhN7xfK6WAgoLfSfrNiykpQtE+7RLzx2vgF9D3o8lWDmn1QVVMP0LZQGmNtqp1/cmou0XHdG/+sYeGZwFBqPCub8rkcvvAGvsi1VYarR8wAAAABJRU5ErkJggg==') 5 5, auto`);function Pe(e){let t=e?.target;if(!(t instanceof Element))return null;let n=t.closest(`.vue-data-ui-doodle`);return n&&E.value?.contains(n)?n:null}function Fe(e){let t=e?.target;if(!(t instanceof Element))return null;let n=t.closest(`.vue-data-ui-selection-handle`);return n&&E.value?.contains(n)?n:null}function Ie(e){let t=e?.target;if(!(t instanceof Element))return null;let n=t.closest(`.vue-data-ui-selection-delete`);return n&&E.value?.contains(n)?n:null}function Le(e){if(!e)return``;let t=e.getAttribute(`data-doodle-id`);return t||(t=r(),e.setAttribute(`data-doodle-id`,t)),t}function U(){return E.value?Array.from(E.value.children).filter(e=>e.classList?.contains(`vue-data-ui-doodle`)).map(e=>e.outerHTML).join(``):``}function Re(e){if(!E.value)return;K();let t=E.value.querySelector(`.vue-data-ui-svg-caret`);if(t&&t.remove(),Array.from(E.value.children).forEach(e=>{e.classList?.contains(`vue-data-ui-doodle`)&&e.remove()}),e){let t=document.createElementNS(i,`g`);t.innerHTML=e,Array.from(t.children).forEach(e=>E.value.appendChild(e))}}function W(e,t=null){if(e===U())return;let n=Date.now(),r=x.value[x.value.length-1];t&&r?.mergeKey===t&&n-r.timestamp<=me?r.timestamp=n:x.value.push({state:e,mergeKey:t,timestamp:n}),S.value=[]}function ze(e){let t=e.touches?.[0]||e.changedTouches?.[0];return{x:t?t.clientX:e.clientX,y:t?t.clientY:e.clientY}}function Be(e,t){let n=b.svgRef;if(!n||!e)return null;let{x:r,y:i}=ze(t),a=n.createSVGPoint();a.x=r,a.y=i;let o=e.getScreenCTM()?.inverse();return o?a.matrixTransform(o):null}function Ve(e,t,n,r,i,a){let o=i-n,s=a-r,c=o*o+s*s;if(!c)return Math.hypot(e-n,t-r);let l=Math.max(0,Math.min(1,((e-n)*o+(t-r)*s)/c)),u=n+l*o,d=r+l*s;return Math.hypot(e-u,t-d)}function He(e,t){let n=Be(e,t);if(!n)return!1;let r=e.tagName.toLowerCase(),i=he*b.scale;if(r===`line`){let t=Number(e.getAttribute(`x1`)),r=Number(e.getAttribute(`y1`)),a=Number(e.getAttribute(`x2`)),o=Number(e.getAttribute(`y2`)),s=Number(e.getAttribute(`stroke-width`))||0;return Ve(n.x,n.y,t,r,a,o)<=Math.max(i,s/2)}if(r===`circle`){let t=Number(e.getAttribute(`cx`)),r=Number(e.getAttribute(`cy`)),a=Number(e.getAttribute(`r`))||0;return Math.hypot(n.x-t,n.y-r)<=a+i}if(r===`text`)try{let t=e.getBBox();return n.x>=t.x-i&&n.x<=t.x+t.width+i&&n.y>=t.y-i&&n.y<=t.y+t.height+i}catch{return!1}if(r===`path`)try{let t=e.getBBox();if(n.x<t.x-i||n.x>t.x+t.width+i||n.y<t.y-i||n.y>t.y+t.height+i)return!1;if(typeof e.isPointInStroke==`function`){let t=e.getAttribute(`stroke-width`),r=Math.max(Number(t)||0,i*2);e.setAttribute(`stroke-width`,r);let a=e.isPointInStroke(n);return t===null?e.removeAttribute(`stroke-width`):e.setAttribute(`stroke-width`,t),a}let r=e.getTotalLength(),a=Math.max(2*b.scale,2);for(let t=0;t<=r;t+=a){let r=e.getPointAtLength(t);if(Math.hypot(n.x-r.x,n.y-r.y)<=i)return!0}}catch{return!1}return!1}function Ue(e){return Pe(e)||E.value&&Array.from(E.value.querySelectorAll(`.vue-data-ui-doodle`)).reverse().find(t=>He(t,e))||null}function We(){be.value?.parentNode&&be.value.parentNode.removeChild(be.value),be.value=null}function G(){if(We(),!I.value&&b.active&&E.value&&k.value&&E.value.contains(k.value))try{let e=k.value,t=e.getBBox(),n=4*b.scale,r=document.createElementNS(i,`g`);r.setAttribute(`class`,`vue-data-ui-selection-overlay`);let a=document.createElementNS(i,`rect`);if(a.setAttribute(`class`,`vue-data-ui-selection-box`),a.setAttribute(`x`,t.x-n),a.setAttribute(`y`,t.y-n),a.setAttribute(`width`,Math.max(t.width+n*2,n*2)),a.setAttribute(`height`,Math.max(t.height+n*2,n*2)),a.setAttribute(`fill`,`none`),a.setAttribute(`stroke`,b.color),a.setAttribute(`stroke-width`,Math.max(1,b.scale)),a.setAttribute(`stroke-dasharray`,`${4*b.scale} ${3*b.scale}`),a.setAttribute(`pointer-events`,`none`),r.appendChild(a),e.tagName.toLowerCase()===`line`){let t=Math.max(4,5*b.scale),n=Math.max(1,1.5*b.scale);[{endpoint:`start`,x:Number(e.getAttribute(`x1`)),y:Number(e.getAttribute(`y1`))},{endpoint:`end`,x:Number(e.getAttribute(`x2`)),y:Number(e.getAttribute(`y2`))}].forEach(({endpoint:e,x:a,y:o})=>{let s=document.createElementNS(i,`circle`);s.setAttribute(`class`,`vue-data-ui-selection-handle`),s.setAttribute(`data-line-endpoint`,e),s.setAttribute(`cx`,a),s.setAttribute(`cy`,o),s.setAttribute(`r`,t),s.setAttribute(`fill`,b.backgroundColor),s.setAttribute(`stroke`,b.color),s.setAttribute(`stroke-width`,n),s.setAttribute(`pointer-events`,`all`),r.appendChild(s)})}let o=Math.max(20,24*b.scale),s=Math.max(1,b.scale),c=t.x+t.width+n+4*b.scale,l=t.y-n-o-4*b.scale,u=document.createElementNS(i,`g`);u.setAttribute(`class`,`vue-data-ui-selection-delete`),u.setAttribute(`role`,`button`),u.setAttribute(`tabindex`,`0`),u.setAttribute(`aria-label`,`Delete selected drawing`),u.setAttribute(`pointer-events`,`all`);let d=document.createElementNS(i,`rect`);d.setAttribute(`x`,c),d.setAttribute(`y`,l),d.setAttribute(`width`,o),d.setAttribute(`height`,o),d.setAttribute(`rx`,4*b.scale),d.setAttribute(`fill`,b.backgroundColor),d.setAttribute(`stroke`,J.value),d.setAttribute(`stroke-width`,s),d.setAttribute(`vector-effect`,`non-scaling-stroke`);let f=o/24,p=document.createElementNS(i,`path`);p.setAttribute(`d`,`M 8 8 L 16 16 M 16 8 L 8 16`),p.setAttribute(`transform`,`translate(${c} ${l}) scale(${f})`),p.setAttribute(`fill`,`none`),p.setAttribute(`stroke`,b.color),p.setAttribute(`stroke-width`,Math.max(1.25,1.5*b.scale)),p.setAttribute(`stroke-linecap`,`round`),p.setAttribute(`stroke-linejoin`,`round`),p.setAttribute(`vector-effect`,`non-scaling-stroke`),p.setAttribute(`pointer-events`,`none`),u.appendChild(d),u.appendChild(p),u.addEventListener(`keydown`,e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),Ge(e))}),r.appendChild(u);let m=e.getAttribute(`transform`);m&&r.setAttribute(`transform`,m),E.value.appendChild(r),be.value=r}catch{We()}}function K(){k.value=null,A.value=!1,j.value=null,xe.value=``,M.value=``,N.value=!1,Se.value=!1,P.value=null,Ce.value=null,We(),Z()}function Ge(e=null){if(!b.active||!k.value||!E.value||!E.value.contains(k.value))return;e?.cancelable&&e.preventDefault(),e?.stopPropagation?.(),e?.stopImmediatePropagation?.();let t=U();k.value.remove(),W(t),K()}function Ke(e){return e?e.tagName.toLowerCase()===`text`||e.tagName.toLowerCase()===`circle`?e.getAttribute(`fill`):e.getAttribute(`stroke`):null}function qe(e){if(e){we.value=!0;try{let t=e.tagName.toLowerCase(),n=Ke(e);if(n&&(C.value=n),t===`text`){V.value=je.indexOf(`text`);let t=Number(e.getAttribute(`font-size`));Number.isFinite(t)&&b.scale&&(B.value=t/b.scale);return}if(t===`line`?V.value=e.hasAttribute(`marker-end`)?je.indexOf(`arrow`):je.indexOf(`line`):V.value=je.indexOf(`draw`),t===`circle`){let t=Number(e.getAttribute(`r`));Number.isFinite(t)&&b.scale&&(w.value=t*2/b.scale)}else{let t=Number(e.getAttribute(`stroke-width`));Number.isFinite(t)&&b.scale&&(w.value=t/b.scale)}}finally{p(()=>{we.value=!1})}}}function Je(e){b.active&&e&&E.value?.contains(e)&&(Le(e),k.value=e,qe(e),p(G))}function Ye(e){if(!b.active||!E.value||I.value)return;if(Ie(e)){Ge(e);return}let t=Fe(e);if(t&&k.value&&k.value.tagName.toLowerCase()===`line`){e.cancelable&&e.preventDefault(),e.stopPropagation(),e.stopImmediatePropagation?.();let n=t.getAttribute(`data-line-endpoint`);if(![`start`,`end`].includes(n))return;P.value=n,Ce.value=Be(k.value,e),A.value=!1,N.value=!1,Se.value=!1,M.value=U(),Z(e);return}let n=Ue(e);if(!n){K();return}e.cancelable&&e.preventDefault(),Se.value=k.value===n,Je(n);let{x:r,y:i}=Y(e);A.value=!0,N.value=!1,j.value={x:r,y:i},xe.value=n.getAttribute(`transform`)||``,M.value=U(),Z(e)}function Xe(e){if(!b.active||!k.value)return;if(Z(e),P.value){let t=Be(k.value,e);if(!t)return;let n=Ce.value;if(!N.value&&n&&Math.hypot(t.x-n.x,t.y-n.y)<ge*b.scale)return;e.cancelable&&e.preventDefault(),N.value=!0,P.value===`start`?(k.value.setAttribute(`x1`,t.x),k.value.setAttribute(`y1`,t.y)):(k.value.setAttribute(`x2`,t.x),k.value.setAttribute(`y2`,t.y)),G();return}if(!A.value||!j.value)return;let{x:t,y:n}=Y(e),r=t-j.value.x,i=n-j.value.y,a=Math.hypot(r,i);if(!N.value&&a<ge*b.scale)return;e.cancelable&&e.preventDefault(),N.value=!0;let o=xe.value.trim();k.value.setAttribute(`transform`,`${o?`${o} `:``}translate(${r} ${i})`),G()}function q(e){let t=k.value,n=!P.value&&t&&t.tagName.toLowerCase()===`text`&&Se.value&&!N.value&&!I.value;if(N.value&&M.value&&W(M.value),A.value=!1,j.value=null,M.value=``,N.value=!1,Se.value=!1,P.value=null,Ce.value=null,xe.value=t?.getAttribute(`transform`)||``,t&&E.value?.contains(t)&&G(),n&&t&&E.value?.contains(t)){nt(t,e),Z(e);return}Z(e)}function Ze(e){if(!b.active||!k.value||we.value)return;let t=k.value,n=t.tagName.toLowerCase();if(Ke(t)===e)return;let r=U();if(n===`text`||n===`circle`)t.setAttribute(`fill`,e);else if(t.setAttribute(`stroke`,e),n===`line`&&t.hasAttribute(`marker-end`)){let n=_t(e);n&&t.setAttribute(`marker-end`,`url(#${n})`)}I.value&&t===L.value||W(r,`color:${Le(t)}`),G(),I.value&&t===L.value&&ct()}function Qe(e){if(!b.active||!k.value||we.value)return;let t=k.value,n=t.tagName.toLowerCase();if(n===`text`)return;let r=Number(e)*b.scale;if((n===`circle`?Number(t.getAttribute(`r`))*2:Number(t.getAttribute(`stroke-width`)))===r)return;let i=U();n===`circle`?t.setAttribute(`r`,r/2):t.setAttribute(`stroke-width`,r),W(i,`size:${Le(t)}`),G()}function $e(e){if(!b.active||!k.value||we.value)return;let t=k.value;if(t.tagName.toLowerCase()!==`text`)return;let n=Number(e)*b.scale;if(Number(t.getAttribute(`font-size`))===n)return;let r=U();t.setAttribute(`font-size`,n),Array.from(t.children).forEach((e,t)=>{e.setAttribute(`dy`,t===0?`0`:`${n*1.2}`)}),I.value&&t===L.value||W(r,`font-size:${Le(t)}`),G(),I.value&&t===L.value&&ct()}y(C,Ze),y(w,Qe),y(B,$e);function et(){V.value+1>=je.length?V.value=0:V.value+=1}function tt(e){if(!E.value||!b.active||H.value!==`text`||I.value||Fe(e)||Ue(e))return;K();let t=U(),{x:n,y:a}=Y(e);De.value={x:n,y:a},R.value=[``],z.value={row:0,col:0},Oe.value=!1,ke.value=t,Ae.value=!1;let o=document.createElementNS(i,`text`);o.setAttribute(`x`,n),o.setAttribute(`y`,a),o.setAttribute(`fill`,C.value),o.setAttribute(`font-size`,B.value*b.scale),o.setAttribute(`font-family`,`sans-serif`),o.setAttribute(`class`,`vue-data-ui-doodle`),o.setAttribute(`data-doodle-id`,r()),o.setAttribute(`dominant-baseline`,`hanging`),o.setAttribute(`pointer-events`,`all`);let s=document.createElementNS(i,`tspan`);s.setAttribute(`x`,n),s.setAttribute(`dy`,`0`),s.setAttribute(`dominant-baseline`,`hanging`),s.textContent=``,o.appendChild(s),o.style.pointerEvents=`none`,o.style.userSelect=`none`,E.value.appendChild(o),k.value=o,L.value=o,I.value=!0,We(),window.addEventListener(`keydown`,rt),window.addEventListener(`mousedown`,lt,!0),it(),ct()}function nt(e){if(!b.active||!E.value||I.value||!e||e.tagName.toLowerCase()!==`text`||!E.value.contains(e))return;let t=U();k.value=e,qe(e);let n=Number(e.getAttribute(`x`))||0,r=Number(e.getAttribute(`y`))||0,i=Array.from(e.children).map(e=>{let t=e.textContent||``;return t===`​`?``:t.split(`​`).join(``)}),a=i.length?i:[e.textContent||``],o=Math.max(0,a.length-1);De.value={x:n,y:r},R.value=a,z.value={row:o,col:a[o]?.length||0},ke.value=t,Ae.value=!0,Oe.value=!0,L.value=e,I.value=!0,e.style.pointerEvents=`none`,We(),window.addEventListener(`keydown`,rt),window.addEventListener(`mousedown`,lt,!0),it(),ct()}function rt(e){if(!I.value)return;let{row:t,col:n}=z.value,r=R.value.slice(),i=!1;if(e.key===`Enter`){let a=r[t],o=a.slice(0,n),s=a.slice(n);r.splice(t,1,o,s),t+=1,n=0,i=!0,e.preventDefault()}else if(e.key===`Backspace`){if(n>0)r[t]=r[t].slice(0,n-1)+r[t].slice(n),--n,i=!0;else if(t>0){let e=r[t-1].length;r[t-1]+=r[t],r.splice(t,1),--t,n=e,i=!0}e.preventDefault()}else if(e.key===`Delete`)n<r[t].length?(r[t]=r[t].slice(0,n)+r[t].slice(n+1),i=!0):t<r.length-1&&(r[t]+=r[t+1],r.splice(t+1,1),i=!0),e.preventDefault();else if(e.key===`ArrowLeft`)n>0?--n:t>0&&(--t,n=r[t].length),i=!0,e.preventDefault();else if(e.key===`ArrowRight`)n<r[t].length?n+=1:t<r.length-1&&(t+=1,n=0),i=!0,e.preventDefault();else if(e.key===`ArrowUp`)t>0&&(--t,n=Math.min(n,r[t].length),i=!0),e.preventDefault();else if(e.key===`ArrowDown`)t<r.length-1&&(t+=1,n=Math.min(n,r[t].length),i=!0),e.preventDefault();else if(e.key.length===1&&!e.ctrlKey&&!e.metaKey&&!e.altKey)r[t]=r[t].slice(0,n)+e.key+r[t].slice(n),n+=1,i=!0,e.preventDefault();else if(e.key===`Escape`){ut(!1,!0);return}else e.key===`Tab`&&e.preventDefault();i&&(R.value=r,z.value={row:t,col:n},it(),ct())}function it(){let e=L.value;if(!e)return;let{x:t}=De.value;for(;e.firstChild;)e.removeChild(e.firstChild);R.value.forEach((n,r)=>{let a=document.createElementNS(i,`tspan`);a.setAttribute(`x`,t),a.setAttribute(`dominant-baseline`,`hanging`),a.setAttribute(`dy`,r===0?`0`:`${B.value*1.2*b.scale}`),a.textContent=n.length?n:`​`,e.appendChild(a)})}let at=_(null);function ot(){at.value!==null&&(clearInterval(at.value),at.value=null)}function st(e){ot();let t=!0;e.style.opacity=`1`,at.value=setInterval(()=>{if(!E.value||!e||!E.value.contains(e)){ot();return}t=!t,e.style.opacity=t?`1`:`0`},500)}function ct(){let e=E.value?.querySelector(`.vue-data-ui-svg-caret`);e&&E.value&&E.value.removeChild(e);let t=L.value;if(!t||!E.value)return;let{x:n,y:r}=De.value,{row:a,col:o}=z.value,s=B.value*b.scale,c=t.childNodes[a];if(!c)return;let l=c.textContent.slice(0,o);l.endsWith(` `)&&(l+=`\xA0`);let u=document.createElementNS(i,`text`);u.setAttribute(`x`,n),u.setAttribute(`y`,r),u.setAttribute(`font-size`,s),u.setAttribute(`font-family`,`sans-serif`),u.textContent=l||``,E.value.appendChild(u);let d=u.getBBox();E.value.removeChild(u);let f=r+a*s*1.2,p=n+d.width,m=document.createElementNS(i,`rect`);m.setAttribute(`x`,p),m.setAttribute(`y`,f),m.setAttribute(`rx`,1),m.setAttribute(`width`,2),m.setAttribute(`height`,s),m.setAttribute(`fill`,C.value),m.setAttribute(`class`,`vue-data-ui-svg-caret`),m.setAttribute(`pointer-events`,`none`);let h=t.getAttribute(`transform`);h&&m.setAttribute(`transform`,h),E.value.appendChild(m),st(m)}function lt(e){L.value&&(L.value.contains(e.target)||ut(!1))}function ut(e=!1,t=!1){window.removeEventListener(`keydown`,rt),window.removeEventListener(`mousedown`,lt,!0),ot();let n=E.value?.querySelector(`.vue-data-ui-svg-caret`);n&&n.remove();let r=L.value,i=ke.value,a=R.value.every(e=>!e.length);if(t){I.value=!1,L.value=null,R.value=[``],z.value={row:0,col:0},Oe.value=!1,ke.value=``,Ae.value=!1,Re(i);return}r&&E.value?.contains(r)&&(e||a?r.remove():r.style.pointerEvents=`all`),I.value=!1,L.value=null,R.value=[``],z.value={row:0,col:0},Oe.value=!1,ke.value=``,Ae.value=!1,W(i),r&&E.value?.contains(r)?Je(r):K()}let J=s(()=>n(b.color,.6));function dt(){if(!E.value)return;let e=E.value.querySelector(`.vue-data-ui-mask`);if(e&&E.value.removeChild(e),b.active){let e=document.createElementNS(`http://www.w3.org/2000/svg`,`rect`);e.setAttribute(`class`,`vue-data-ui-mask`),e.setAttribute(`width`,`100%`),e.setAttribute(`height`,`100%`),e.setAttribute(`fill`,`transparent`),e.setAttribute(`pointer-events`,`all`),E.value.insertBefore(e,E.value.firstChild)}}function Y(e){let t=b.svgRef;if(!t)return{x:0,y:0};let n=t.createSVGPoint(),r=e.touches?.length||e.changedTouches?.length?e.touches?.[0]||e.changedTouches?.[0]:null,i=r?r.clientX:e.clientX,a=r?r.clientY:e.clientY;n.x=i,n.y=a;let o=t.getScreenCTM()?.inverse();return o?n.matrixTransform(o):{x:0,y:0}}function ft(e){let t=e.trim().split(/\s+/);if(t.length<4)return e;let n=t.slice(1).map(Number);if(n.length%2!=0)return e;let r=pt(n),i=[`M ${r[0]} ${r[1]}`];for(let e=2;e<r.length-2;e+=2){let t=r[e-2],n=r[e-1],a=r[e],o=r[e+1],s=(t+a)/2,c=(n+o)/2;i.push(`Q ${t} ${n} ${s} ${c}`)}let a=r[r.length-2],o=r[r.length-1];return i.push(`L ${a} ${o}`),i.join(` `)}function pt(e,t=1){let n=[...e];for(let r=2;r<e.length-2;r+=2){let i=e[r],a=e[r+1],o=e[r-2],s=e[r-1],c=e[r+2],l=e[r+3];n[r]=i+t*((o+c)/2-i),n[r+1]=a+t*((s+l)/2-a)}return n}function mt(e){let t=e.trim().split(/\s+/),n=``,r=``,i=null,a=null;for(let e=0;e<t.length;e+=1){let o=t[e];if(isNaN(o)){if(r=o,r===`M`||r===`L`)i=parseFloat(t[++e]),a=parseFloat(t[++e]),n+=`${r}${i} ${a}`;else if(r===`Q`){let r=parseFloat(t[++e]),o=parseFloat(t[++e]),s=parseFloat(t[++e]),c=parseFloat(t[++e]);n+=r===i&&o===a?`t${s-i} ${c-a}`:`q${r-i} ${o-a} ${s-i} ${c-a}`,i=s,a=c}}else{let s=parseFloat(o),c=parseFloat(t[++e]);if(r===`L`){let e=s-i,t=c-a;n+=e===0?`v${t}`:t===0?`h${e}`:`l${e} ${t}`,i=s,a=c}else if(r===`Q`){let r=s,o=c,l=parseFloat(t[++e]),u=parseFloat(t[++e]);n+=r===i&&o===a?`t${l-i} ${u-a}`:`q${r-i} ${o-a} ${l-i} ${u-a}`,i=l,a=u}}}return n}function ht(e){if(H.value!==`draw`||!b.active||!E.value||Fe(e)||Ue(e))return;e.cancelable&&e.preventDefault(),K(),F.value=U(),T.value=!0;let{x:t,y:n}=Y(e);ye.value={x:t,y:n},ve.value=`M ${t} ${n}`,D.value=document.createElementNS(i,`path`),D.value.setAttribute(`stroke`,C.value),D.value.setAttribute(`stroke-width`,w.value*b.scale),D.value.setAttribute(`fill`,`none`),D.value.setAttribute(`stroke-linecap`,`round`),D.value.setAttribute(`stroke-linejoin`,`round`),D.value.setAttribute(`class`,`vue-data-ui-doodle`),D.value.setAttribute(`data-doodle-id`,r()),D.value.setAttribute(`pointer-events`,`stroke`),E.value.appendChild(D.value)}function gt(e){if(e.cancelable&&e.preventDefault(),!T.value||!E.value||!D.value)return;let{x:t,y:n}=Y(e);ve.value+=` ${t} ${n}`,D.value.setAttribute(`d`,ve.value)}function _t(e){let t=b.svgRef;if(!t)return null;let n=t.querySelector(`defs#${Ee.value}`);n||(n=document.createElementNS(i,`defs`),n.setAttribute(`id`,Ee.value),t.appendChild(n));let a=String(e).trim();if(Te.has(a))return Te.get(a);let o=`arrow-${r()}`,s=document.createElementNS(i,`marker`);s.setAttribute(`id`,o),s.setAttribute(`markerUnits`,`strokeWidth`),s.setAttribute(`markerWidth`,`6`),s.setAttribute(`markerHeight`,`6`),s.setAttribute(`refX`,`4`),s.setAttribute(`refY`,`3`),s.setAttribute(`orient`,`auto`),s.setAttribute(`viewBox`,`0 0 6 6`);let c=document.createElementNS(i,`path`);return c.setAttribute(`d`,`M 0 0 L 6 3 L 0 6 z`),c.setAttribute(`fill`,e),c.setAttribute(`stroke`,`none`),s.appendChild(c),n.appendChild(s),Te.set(a,o),o}function vt(e){if(![`line`,`arrow`].includes(H.value)||!b.active||!E.value||Fe(e)||Ue(e))return;e.cancelable&&e.preventDefault(),K(),F.value=U(),T.value=!0;let{x:t,y:n}=Y(e);if(ye.value={x:t,y:n},O.value=document.createElementNS(i,`line`),O.value.setAttribute(`stroke`,C.value),O.value.setAttribute(`stroke-width`,w.value*b.scale),O.value.setAttribute(`stroke-linecap`,`round`),O.value.setAttribute(`class`,`vue-data-ui-doodle`),O.value.setAttribute(`data-doodle-id`,r()),O.value.setAttribute(`pointer-events`,`stroke`),O.value.setAttribute(`x1`,t),O.value.setAttribute(`y1`,n),O.value.setAttribute(`x2`,t),O.value.setAttribute(`y2`,n),H.value===`arrow`){let e=_t(C.value);e&&O.value.setAttribute(`marker-end`,`url(#${e})`)}E.value.appendChild(O.value)}function yt(e){if(e.cancelable&&e.preventDefault(),![`line`,`arrow`].includes(H.value)||!T.value||!E.value||!O.value)return;let{x:t,y:n}=Y(e);O.value.setAttribute(`x2`,t),O.value.setAttribute(`y2`,n)}function bt(e){if(T.value&&E.value&&O.value){let{x:t,y:n}=Y(e);O.value.setAttribute(`x2`,t),O.value.setAttribute(`y2`,n),W(F.value),O.value=null,F.value=``}T.value=!1}function X(e){if(T.value&&E.value&&D.value){let{x:t,y:n}=Y(e);if(ye.value&&ye.value.x===t&&ye.value.y===n){D.value.remove();let e=document.createElementNS(i,`circle`);e.setAttribute(`cx`,t),e.setAttribute(`cy`,n),e.setAttribute(`r`,w.value*b.scale/2),e.setAttribute(`fill`,C.value),e.setAttribute(`class`,`vue-data-ui-doodle`),e.setAttribute(`data-doodle-id`,r()),e.setAttribute(`pointer-events`,`all`),E.value.appendChild(e)}else D.value.setAttribute(`d`,mt(ft(ve.value)));W(F.value),F.value=``,D.value=null}T.value=!1}function xt(){if(!x.value.length||!E.value)return;let e=U(),t=x.value.pop();S.value.push({state:e,mergeKey:null,timestamp:Date.now()}),Re(t.state)}function St(){if(!S.value.length||!E.value)return;let e=U(),t=S.value.pop();x.value.push({state:e,mergeKey:null,timestamp:Date.now()}),Re(t.state)}function Ct(){I.value&&ut(!1),K(),E.value&&(E.value.innerHTML=``),x.value=[],S.value=[],Oe.value=!1,ke.value=``,Ae.value=!1,F.value=``,dt()}y(H,()=>{b.active&&(Tt(),wt(),Z())});function wt(){b.svgRef&&b.active&&(b.svgRef.addEventListener(`mousedown`,Ye),b.svgRef.addEventListener(`mousemove`,Xe),b.svgRef.addEventListener(`mouseup`,q),b.svgRef.addEventListener(`mouseleave`,q),b.svgRef.addEventListener(`touchstart`,Ye,{passive:!1}),b.svgRef.addEventListener(`touchmove`,Xe,{passive:!1}),b.svgRef.addEventListener(`touchend`,q),b.svgRef.addEventListener(`touchcancel`,q),H.value===`draw`?(b.svgRef.addEventListener(`mousedown`,ht),b.svgRef.addEventListener(`mousemove`,gt),b.svgRef.addEventListener(`mouseup`,X),b.svgRef.addEventListener(`mouseleave`,X),b.svgRef.addEventListener(`touchstart`,ht,{passive:!1}),b.svgRef.addEventListener(`touchmove`,gt,{passive:!1}),b.svgRef.addEventListener(`touchend`,X),b.svgRef.addEventListener(`touchcancel`,X)):[`line`,`arrow`].includes(H.value)?(b.svgRef.addEventListener(`mousedown`,vt),b.svgRef.addEventListener(`mousemove`,yt),b.svgRef.addEventListener(`mouseup`,bt),b.svgRef.addEventListener(`touchstart`,vt,{passive:!1}),b.svgRef.addEventListener(`touchmove`,yt,{passive:!1}),b.svgRef.addEventListener(`touchend`,bt),b.svgRef.addEventListener(`touchcancel`,bt)):H.value===`text`&&(b.svgRef.addEventListener(`mousedown`,tt),b.svgRef.addEventListener(`touchstart`,tt,{passive:!1})),E.value&&(E.value.style.pointerEvents=`auto`))}function Tt(){b.svgRef&&(b.svgRef.removeEventListener(`mousedown`,Ye),b.svgRef.removeEventListener(`mousemove`,Xe),b.svgRef.removeEventListener(`mouseup`,q),b.svgRef.removeEventListener(`mouseleave`,q),b.svgRef.removeEventListener(`touchstart`,Ye),b.svgRef.removeEventListener(`touchmove`,Xe),b.svgRef.removeEventListener(`touchend`,q),b.svgRef.removeEventListener(`touchcancel`,q),b.svgRef.removeEventListener(`mousedown`,ht),b.svgRef.removeEventListener(`mousemove`,gt),b.svgRef.removeEventListener(`mouseup`,X),b.svgRef.removeEventListener(`mouseleave`,X),b.svgRef.removeEventListener(`touchstart`,ht),b.svgRef.removeEventListener(`touchmove`,gt),b.svgRef.removeEventListener(`touchend`,X),b.svgRef.removeEventListener(`touchcancel`,X),b.svgRef.removeEventListener(`mousedown`,vt),b.svgRef.removeEventListener(`mousemove`,yt),b.svgRef.removeEventListener(`mouseup`,bt),b.svgRef.removeEventListener(`touchstart`,vt),b.svgRef.removeEventListener(`touchmove`,yt),b.svgRef.removeEventListener(`touchend`,bt),b.svgRef.removeEventListener(`touchcancel`,bt),b.svgRef.removeEventListener(`mousedown`,tt),b.svgRef.removeEventListener(`touchstart`,tt),E.value&&(E.value.style.pointerEvents=`none`))}y(()=>b.active,e=>{e?wt():(K(),Tt()),Z()}),y(()=>b.active,()=>{p(()=>{dt()})}),y(()=>b.active,e=>{b.svgRef&&(e?b.svgRef.style.touchAction=`none`:b.svgRef.style.touchAction=``)},{immediate:!0});function Z(e=null){if(E.value){if(!b.active){E.value.style.cursor=``;return}if(I.value){E.value.style.cursor=`text`;return}if(e&&Ie(e)){E.value.style.cursor=`pointer`;return}if(P.value||e&&Fe(e)){E.value.style.cursor=`move`;return}if(A.value&&k.value){E.value.style.cursor=`grabbing`;return}if(e&&k.value&&E.value.contains(k.value)&&He(k.value,e)){E.value.style.cursor=`grab`;return}H.value===`text`?E.value.style.cursor=`text`:[`line`,`arrow`].includes(H.value)?E.value.style.cursor=`crosshair`:E.value.style.cursor=Ne.value}}let Q=_(null),Et=_(null),Dt=_(!1),$=_({x:0,y:0}),Ot=_(null),kt=_(null),At=s(()=>({backgroundColor:b.backgroundColor,"--vue-ui-pen-and-paper-drag-x":`${$.value.x}px`,"--vue-ui-pen-and-paper-drag-y":`${$.value.y}px`}));function jt(){return{width:document.documentElement.clientWidth||window.innerWidth,height:document.documentElement.clientHeight||window.innerHeight}}function Mt(){if(!Q.value)return null;let e=[Q.value,Q.value.querySelector(`.vue-ui-pen-and-paper-drag-handle`),Q.value.querySelector(`.vertical-range`)].filter(Boolean).map(e=>e.getBoundingClientRect());return{left:Math.min(...e.map(e=>e.left)),top:Math.min(...e.map(e=>e.top)),right:Math.max(...e.map(e=>e.right)),bottom:Math.max(...e.map(e=>e.bottom))}}function Nt(e){if(e.pointerType===`mouse`&&e.button!==0||!Q.value)return;e.preventDefault(),e.stopPropagation();let t=Mt();t&&(Dt.value=!0,kt.value=e.pointerId,Ot.value={clientX:e.clientX,clientY:e.clientY,offsetX:$.value.x,offsetY:$.value.y,rect:t},window.addEventListener(`pointermove`,Pt),window.addEventListener(`pointerup`,Ft),window.addEventListener(`pointercancel`,Ft))}function Pt(e){if(!Dt.value||!Ot.value||e.pointerId!==kt.value)return;e.preventDefault();let t=Ot.value,{width:n,height:r}=jt(),i=e.clientX-t.clientX,a=e.clientY-t.clientY,o=Math.min(Math.max(i,-t.rect.left),n-t.rect.right),s=Math.min(Math.max(a,-t.rect.top),r-t.rect.bottom);$.value={x:t.offsetX+o,y:t.offsetY+s}}function Ft(e){(e?.pointerId===void 0||kt.value===null||e.pointerId===kt.value)&&(Dt.value=!1,Ot.value=null,kt.value=null,window.removeEventListener(`pointermove`,Pt),window.removeEventListener(`pointerup`,Ft),window.removeEventListener(`pointercancel`,Ft))}function It(){if(!Q.value||!b.active)return;let e=Mt();if(!e)return;let{width:t,height:n}=jt(),r=0,i=0;e.left<0?r=-e.left:e.right>t&&(r=t-e.right),e.top<0?i=-e.top:e.bottom>n&&(i=n-e.bottom),(r||i)&&($.value={x:$.value.x+r,y:$.value.y+i})}return te(()=>{window.addEventListener(`resize`,It),p(()=>{b.svgRef&&(E.value=document.createElementNS(`http://www.w3.org/2000/svg`,`g`),E.value.setAttribute(`class`,`vue-data-ui-doodles`),b.svgRef.appendChild(E.value),Z(),b.active?wt():Tt(),dt())})}),y(()=>b.active,async e=>{if(!e){Ft(),$.value={x:0,y:0};return}await p(),Et.value?.focus()},{flush:`post`}),ee(()=>{ot(),K(),Ft(),window.removeEventListener(`resize`,It),E.value&&b.svgRef&&(E.value.remove(),Tt())}),(n,r)=>e.active?(ne(),l(`div`,{key:0,ref_key:`menuRef`,ref:Q,"data-dom-to-png-ignore":``,class:m([`vue-ui-pen-and-paper-actions`,{"vue-ui-pen-and-paper-actions-dragging":Dt.value}]),style:g(At.value)},[u(`button`,{type:`button`,class:`vue-ui-pen-and-paper-drag-handle`,"aria-label":`Move drawing toolbar`,style:g({backgroundColor:e.backgroundColor,border:`1px solid ${J.value}`,color:e.color}),onPointerdown:Nt},[(ne(),l(`svg`,le,[u(`circle`,{fill:e.color,cx:`3`,cy:`3`,r:`0.7`},null,8,ue),u(`circle`,{fill:e.color,cx:`3`,cy:`6`,r:`0.7`},null,8,de),u(`circle`,{fill:e.color,cx:`3`,cy:`9`,r:`0.7`},null,8,fe)]))],36),u(`button`,{ref_key:`buttonToggle`,ref:Et,class:`vue-ui-pen-and-paper-action`,onClick:r[0]||=e=>_e(`close`),style:g({backgroundColor:e.backgroundColor,border:`1px solid ${J.value}`,cursor:e.isCursorPointer?`pointer`:`default`})},[v(n.$slots,`annotator-action-close`,{},()=>[d(a,{name:`close`,stroke:e.color},null,8,[`stroke`])])],4),u(`button`,{class:`vue-ui-pen-and-paper-action`,tabindex:`-1`,style:g(`padding: 0 !important; cursor: ${e.isCursorPointer?`pointer`:`default`}`)},[d(o,{value:C.value,"onUpdate:value":r[1]||=e=>C.value=e,backgroundColor:e.backgroundColor,buttonBorderColor:J.value,isCursorPointer:e.isCursorPointer,palette:e.palette},{"annotator-action-color":oe(({color:e})=>[v(n.$slots,`annotator-action-color`,h(f({color:e})))]),_:3},8,[`value`,`backgroundColor`,`buttonBorderColor`,`isCursorPointer`,`palette`])],4),u(`button`,{class:m([`vue-ui-pen-and-paper-action`,{"vue-ui-pen-and-paper-action-active":H.value===`text`}]),onClick:r[2]||=e=>et(),style:g({backgroundColor:e.backgroundColor,border:`1px solid ${J.value}`,cursor:e.isCursorPointer?`pointer`:`default`})},[v(n.$slots,`annotator-action-draw`,h(f({mode:H.value})),()=>[d(a,{name:Me[H.value],stroke:e.color},null,8,[`name`,`stroke`])]),u(`div`,{style:g({position:`absolute`,bottom:`-20px`,color:J.value,width:`100%`,textAlign:`center`,fontSize:`12px`,fontVariantNumeric:`tabular-nums`})},re(ie(t)({v:H.value===`text`?Math.round(B.value):Math.round(w.value),s:`px`,r:1})),5)],6),u(`button`,{class:m([`vue-ui-pen-and-paper-action`,{"vue-ui-pen-and-paper-action-disabled":!x.value.length}]),disabled:!x.value.length,onClick:xt,style:g({backgroundColor:e.backgroundColor,border:`1px solid ${J.value}`,marginTop:`20px`,cursor:e.isCursorPointer?`pointer`:`default`})},[v(n.$slots,`annotator-action-undo`,h(f({disabled:!x.value.length})),()=>[d(a,{name:`refresh`,stroke:e.color},null,8,[`stroke`])])],14,pe),u(`button`,{class:m([`vue-ui-pen-and-paper-action`,{"vue-ui-pen-and-paper-action-disabled":!S.value.length}]),onClick:St,style:g({backgroundColor:e.backgroundColor,border:`1px solid ${J.value}`,cursor:e.isCursorPointer?`pointer`:`default`})},[v(n.$slots,`annotator-action-redo`,h(f({disabled:!S.value.length})),()=>[d(a,{name:`refresh`,stroke:e.color,style:{transform:`scaleX(-1)`}},null,8,[`stroke`])])],6),u(`button`,{class:m([`vue-ui-pen-and-paper-action`,{"vue-ui-pen-and-paper-action-disabled":!x.value.length}]),onClick:Ct,style:g({backgroundColor:e.backgroundColor,border:`1px solid ${J.value}`,cursor:e.isCursorPointer?`pointer`:`default`})},[v(n.$slots,`annotator-action-delete`,h(f({disabled:!x.value.length})),()=>[d(a,{name:`trash`,stroke:e.color},null,8,[`stroke`])])],6),H.value===`text`?se((ne(),l(`input`,{key:0,ref:`range`,type:`range`,class:`vertical-range`,min:3,max:48,step:1,"onUpdate:modelValue":r[3]||=e=>B.value=e,style:g({accentColor:e.color})},null,4)),[[ae,B.value]]):se((ne(),l(`input`,{key:1,ref:`range`,type:`range`,class:`vertical-range`,min:.5,max:12,step:.1,"onUpdate:modelValue":r[4]||=e=>w.value=e,style:g({accentColor:e.color})},null,4)),[[ae,w.value]])],6)):c(``,!0)}};export{b as n,ce as t};
1
+ import{t as e}from"./rolldown-runtime-DK3Fl9T5.js";import{$ as t,Ft as n,X as r,t as i}from"./lib-DqD8nbyX.js";import{t as a}from"./BaseIcon-DDctLkeT.js";import{t as o}from"./ColorPicker-DHQvvLT9.js";import{computed as s,createCommentVNode as c,createElementBlock as l,createElementVNode as u,createVNode as d,guardReactiveProps as f,nextTick as p,normalizeClass as m,normalizeProps as h,normalizeStyle as g,onBeforeUnmount as ee,onMounted as te,openBlock as ne,ref as _,renderSlot as v,toDisplayString as re,unref as ie,vModelText as ae,watch as y,withCtx as oe,withDirectives as se}from"vue";var ce=/* @__PURE__ */ e({default:()=>b}),le={"aria-hidden":`true`,viewBox:`0 0 6 12`,style:{width:`100%`}},ue=[`fill`],de=[`fill`],fe=[`fill`],pe=[`disabled`],me=750,he=8,ge=2,b={__name:`PenAndPaper`,props:{svgRef:{type:[Object,null,void 0],required:!0},color:{type:String,default:`#2D353C`},backgroundColor:{type:String,default:`#FFFFFF`},active:{type:Boolean,default:!1},scale:{type:Number,default:1},isCursorPointer:{type:Boolean,default:!1},palette:{type:Array,default:()=>[`#000000`,`#FFFFFF`,`#FF5733`,`#33FF57`,`#3357FF`,`#FFC300`,`#800080`,`#FF1493`,`#00CED1`]}},emits:[`close`],setup(e,{emit:ce}){let b=e,_e=ce,x=_([]),S=_([]),C=_(b.color),w=_(2),T=_(!1),ve=_(``),E=_(null),D=_(null),O=_(null),ye=_(null),k=_(null),be=_(null),A=_(!1),j=_(null),xe=_(``),M=_(``),N=_(!1),Se=_(!1),P=_(null),Ce=_(null),we=_(!1),F=_(``),Te=/* @__PURE__ */ new Map,Ee=_(`arrow-def-${r()}`),I=_(!1),L=_(null),De=_({x:0,y:0}),R=_([``]),z=_({row:0,col:0}),B=_(16),Oe=_(!1),ke=_(``),Ae=_(!1),je=[`arrow`,`text`,`line`,`draw`],V=_(0),H=s(()=>je[V.value]),Me={arrow:`plotArrow`,text:`text`,line:`plotLine`,draw:`annotator`},Ne=_(`url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAABg2lDQ1BJQ0MgcHJvZmlsZQAAKJF9kT1Iw0AcxV9TpSIVh2YQcchQnSyIijhKFYtgobQVWnUwufQLmjQkKS6OgmvBwY/FqoOLs64OroIg+AHi6OSk6CIl/i8ptIjx4Lgf7+497t4BQrPKNKtnAtB020wn4lIuvyqFXhGGiAhCiMnMMpKZxSx8x9c9Any9i/Es/3N/jgG1YDEgIBHPMcO0iTeIZzZtg/M+scjKskp8Tjxu0gWJH7muePzGueSywDNFM5ueJxaJpVIXK13MyqZGPE0cVTWd8oWcxyrnLc5atc7a9+QvDBf0lQzXaY4ggSUkkYIEBXVUUIWNGK06KRbStB/38Q+7/hS5FHJVwMixgBo0yK4f/A9+d2sVpya9pHAc6H1xnI9RILQLtBqO833sOK0TIPgMXOkdf60JzH6S3uho0SNgcBu4uO5oyh5wuQMMPRmyKbtSkKZQLALvZ/RNeSByC/Sveb2193H6AGSpq+Ub4OAQGCtR9rrPu/u6e/v3TLu/H5C7crM1WjgWAAAABmJLR0QAqwB5AHWF+8OUAAAACXBIWXMAAC4jAAAuIwF4pT92AAAAB3RJTUUH5gwUExIUagzGcQAAABl0RVh0Q29tbWVudABDcmVhdGVkIHdpdGggR0lNUFeBDhcAAABfSURBVBjTldAxDoNQDIPhL0+q1L33P1AvAhN7xfK6WAgoLfSfrNiykpQtE+7RLzx2vgF9D3o8lWDmn1QVVMP0LZQGmNtqp1/cmou0XHdG/+sYeGZwFBqPCub8rkcvvAGvsi1VYarR8wAAAABJRU5ErkJggg==') 5 5, auto`);function Pe(e){let t=e?.target;if(!(t instanceof Element))return null;let n=t.closest(`.vue-data-ui-doodle`);return n&&E.value?.contains(n)?n:null}function Fe(e){let t=e?.target;if(!(t instanceof Element))return null;let n=t.closest(`.vue-data-ui-selection-handle`);return n&&E.value?.contains(n)?n:null}function Ie(e){let t=e?.target;if(!(t instanceof Element))return null;let n=t.closest(`.vue-data-ui-selection-delete`);return n&&E.value?.contains(n)?n:null}function Le(e){if(!e)return``;let t=e.getAttribute(`data-doodle-id`);return t||(t=r(),e.setAttribute(`data-doodle-id`,t)),t}function U(){return E.value?Array.from(E.value.children).filter(e=>e.classList?.contains(`vue-data-ui-doodle`)).map(e=>e.outerHTML).join(``):``}function Re(e){if(!E.value)return;K();let t=E.value.querySelector(`.vue-data-ui-svg-caret`);if(t&&t.remove(),Array.from(E.value.children).forEach(e=>{e.classList?.contains(`vue-data-ui-doodle`)&&e.remove()}),e){let t=document.createElementNS(i,`g`);t.innerHTML=e,Array.from(t.children).forEach(e=>E.value.appendChild(e))}}function W(e,t=null){if(e===U())return;let n=Date.now(),r=x.value[x.value.length-1];t&&r?.mergeKey===t&&n-r.timestamp<=me?r.timestamp=n:x.value.push({state:e,mergeKey:t,timestamp:n}),S.value=[]}function ze(e){let t=e.touches?.[0]||e.changedTouches?.[0];return{x:t?t.clientX:e.clientX,y:t?t.clientY:e.clientY}}function Be(e,t){let n=b.svgRef;if(!n||!e)return null;let{x:r,y:i}=ze(t),a=n.createSVGPoint();a.x=r,a.y=i;let o=e.getScreenCTM()?.inverse();return o?a.matrixTransform(o):null}function Ve(e,t,n,r,i,a){let o=i-n,s=a-r,c=o*o+s*s;if(!c)return Math.hypot(e-n,t-r);let l=Math.max(0,Math.min(1,((e-n)*o+(t-r)*s)/c)),u=n+l*o,d=r+l*s;return Math.hypot(e-u,t-d)}function He(e,t){let n=Be(e,t);if(!n)return!1;let r=e.tagName.toLowerCase(),i=he*b.scale;if(r===`line`){let t=Number(e.getAttribute(`x1`)),r=Number(e.getAttribute(`y1`)),a=Number(e.getAttribute(`x2`)),o=Number(e.getAttribute(`y2`)),s=Number(e.getAttribute(`stroke-width`))||0;return Ve(n.x,n.y,t,r,a,o)<=Math.max(i,s/2)}if(r===`circle`){let t=Number(e.getAttribute(`cx`)),r=Number(e.getAttribute(`cy`)),a=Number(e.getAttribute(`r`))||0;return Math.hypot(n.x-t,n.y-r)<=a+i}if(r===`text`)try{let t=e.getBBox();return n.x>=t.x-i&&n.x<=t.x+t.width+i&&n.y>=t.y-i&&n.y<=t.y+t.height+i}catch{return!1}if(r===`path`)try{let t=e.getBBox();if(n.x<t.x-i||n.x>t.x+t.width+i||n.y<t.y-i||n.y>t.y+t.height+i)return!1;if(typeof e.isPointInStroke==`function`){let t=e.getAttribute(`stroke-width`),r=Math.max(Number(t)||0,i*2);e.setAttribute(`stroke-width`,r);let a=e.isPointInStroke(n);return t===null?e.removeAttribute(`stroke-width`):e.setAttribute(`stroke-width`,t),a}let r=e.getTotalLength(),a=Math.max(2*b.scale,2);for(let t=0;t<=r;t+=a){let r=e.getPointAtLength(t);if(Math.hypot(n.x-r.x,n.y-r.y)<=i)return!0}}catch{return!1}return!1}function Ue(e){return Pe(e)||E.value&&Array.from(E.value.querySelectorAll(`.vue-data-ui-doodle`)).reverse().find(t=>He(t,e))||null}function We(){be.value?.parentNode&&be.value.parentNode.removeChild(be.value),be.value=null}function G(){if(We(),!I.value&&b.active&&E.value&&k.value&&E.value.contains(k.value))try{let e=k.value,t=e.getBBox(),n=4*b.scale,r=document.createElementNS(i,`g`);r.setAttribute(`class`,`vue-data-ui-selection-overlay`);let a=document.createElementNS(i,`rect`);if(a.setAttribute(`class`,`vue-data-ui-selection-box`),a.setAttribute(`x`,t.x-n),a.setAttribute(`y`,t.y-n),a.setAttribute(`width`,Math.max(t.width+n*2,n*2)),a.setAttribute(`height`,Math.max(t.height+n*2,n*2)),a.setAttribute(`fill`,`none`),a.setAttribute(`stroke`,b.color),a.setAttribute(`stroke-width`,Math.max(1,b.scale)),a.setAttribute(`stroke-dasharray`,`${4*b.scale} ${3*b.scale}`),a.setAttribute(`pointer-events`,`none`),r.appendChild(a),e.tagName.toLowerCase()===`line`){let t=Math.max(4,5*b.scale),n=Math.max(1,1.5*b.scale);[{endpoint:`start`,x:Number(e.getAttribute(`x1`)),y:Number(e.getAttribute(`y1`))},{endpoint:`end`,x:Number(e.getAttribute(`x2`)),y:Number(e.getAttribute(`y2`))}].forEach(({endpoint:e,x:a,y:o})=>{let s=document.createElementNS(i,`circle`);s.setAttribute(`class`,`vue-data-ui-selection-handle`),s.setAttribute(`data-line-endpoint`,e),s.setAttribute(`cx`,a),s.setAttribute(`cy`,o),s.setAttribute(`r`,t),s.setAttribute(`fill`,b.backgroundColor),s.setAttribute(`stroke`,b.color),s.setAttribute(`stroke-width`,n),s.setAttribute(`pointer-events`,`all`),r.appendChild(s)})}let o=Math.max(20,24*b.scale),s=Math.max(1,b.scale),c=t.x+t.width+n+4*b.scale,l=t.y-n-o-4*b.scale,u=document.createElementNS(i,`g`);u.setAttribute(`class`,`vue-data-ui-selection-delete`),u.setAttribute(`role`,`button`),u.setAttribute(`tabindex`,`0`),u.setAttribute(`aria-label`,`Delete selected drawing`),u.setAttribute(`pointer-events`,`all`);let d=document.createElementNS(i,`rect`);d.setAttribute(`x`,c),d.setAttribute(`y`,l),d.setAttribute(`width`,o),d.setAttribute(`height`,o),d.setAttribute(`rx`,4*b.scale),d.setAttribute(`fill`,b.backgroundColor),d.setAttribute(`stroke`,J.value),d.setAttribute(`stroke-width`,s),d.setAttribute(`vector-effect`,`non-scaling-stroke`);let f=o/24,p=document.createElementNS(i,`path`);p.setAttribute(`d`,`M 8 8 L 16 16 M 16 8 L 8 16`),p.setAttribute(`transform`,`translate(${c} ${l}) scale(${f})`),p.setAttribute(`fill`,`none`),p.setAttribute(`stroke`,b.color),p.setAttribute(`stroke-width`,Math.max(1.25,1.5*b.scale)),p.setAttribute(`stroke-linecap`,`round`),p.setAttribute(`stroke-linejoin`,`round`),p.setAttribute(`vector-effect`,`non-scaling-stroke`),p.setAttribute(`pointer-events`,`none`),u.appendChild(d),u.appendChild(p),u.addEventListener(`keydown`,e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),Ge(e))}),r.appendChild(u);let m=e.getAttribute(`transform`);m&&r.setAttribute(`transform`,m),E.value.appendChild(r),be.value=r}catch{We()}}function K(){k.value=null,A.value=!1,j.value=null,xe.value=``,M.value=``,N.value=!1,Se.value=!1,P.value=null,Ce.value=null,We(),Z()}function Ge(e=null){if(!b.active||!k.value||!E.value||!E.value.contains(k.value))return;e?.cancelable&&e.preventDefault(),e?.stopPropagation?.(),e?.stopImmediatePropagation?.();let t=U();k.value.remove(),W(t),K()}function Ke(e){return e?e.tagName.toLowerCase()===`text`||e.tagName.toLowerCase()===`circle`?e.getAttribute(`fill`):e.getAttribute(`stroke`):null}function qe(e){if(e){we.value=!0;try{let t=e.tagName.toLowerCase(),n=Ke(e);if(n&&(C.value=n),t===`text`){V.value=je.indexOf(`text`);let t=Number(e.getAttribute(`font-size`));Number.isFinite(t)&&b.scale&&(B.value=t/b.scale);return}if(t===`line`?V.value=e.hasAttribute(`marker-end`)?je.indexOf(`arrow`):je.indexOf(`line`):V.value=je.indexOf(`draw`),t===`circle`){let t=Number(e.getAttribute(`r`));Number.isFinite(t)&&b.scale&&(w.value=t*2/b.scale)}else{let t=Number(e.getAttribute(`stroke-width`));Number.isFinite(t)&&b.scale&&(w.value=t/b.scale)}}finally{p(()=>{we.value=!1})}}}function Je(e){b.active&&e&&E.value?.contains(e)&&(Le(e),k.value=e,qe(e),p(G))}function Ye(e){if(!b.active||!E.value||I.value)return;if(Ie(e)){Ge(e);return}let t=Fe(e);if(t&&k.value&&k.value.tagName.toLowerCase()===`line`){e.cancelable&&e.preventDefault(),e.stopPropagation(),e.stopImmediatePropagation?.();let n=t.getAttribute(`data-line-endpoint`);if(![`start`,`end`].includes(n))return;P.value=n,Ce.value=Be(k.value,e),A.value=!1,N.value=!1,Se.value=!1,M.value=U(),Z(e);return}let n=Ue(e);if(!n){K();return}e.cancelable&&e.preventDefault(),Se.value=k.value===n,Je(n);let{x:r,y:i}=Y(e);A.value=!0,N.value=!1,j.value={x:r,y:i},xe.value=n.getAttribute(`transform`)||``,M.value=U(),Z(e)}function Xe(e){if(!b.active||!k.value)return;if(Z(e),P.value){let t=Be(k.value,e);if(!t)return;let n=Ce.value;if(!N.value&&n&&Math.hypot(t.x-n.x,t.y-n.y)<ge*b.scale)return;e.cancelable&&e.preventDefault(),N.value=!0,P.value===`start`?(k.value.setAttribute(`x1`,t.x),k.value.setAttribute(`y1`,t.y)):(k.value.setAttribute(`x2`,t.x),k.value.setAttribute(`y2`,t.y)),G();return}if(!A.value||!j.value)return;let{x:t,y:n}=Y(e),r=t-j.value.x,i=n-j.value.y,a=Math.hypot(r,i);if(!N.value&&a<ge*b.scale)return;e.cancelable&&e.preventDefault(),N.value=!0;let o=xe.value.trim();k.value.setAttribute(`transform`,`${o?`${o} `:``}translate(${r} ${i})`),G()}function q(e){let t=k.value,n=!P.value&&t&&t.tagName.toLowerCase()===`text`&&Se.value&&!N.value&&!I.value;if(N.value&&M.value&&W(M.value),A.value=!1,j.value=null,M.value=``,N.value=!1,Se.value=!1,P.value=null,Ce.value=null,xe.value=t?.getAttribute(`transform`)||``,t&&E.value?.contains(t)&&G(),n&&t&&E.value?.contains(t)){nt(t,e),Z(e);return}Z(e)}function Ze(e){if(!b.active||!k.value||we.value)return;let t=k.value,n=t.tagName.toLowerCase();if(Ke(t)===e)return;let r=U();if(n===`text`||n===`circle`)t.setAttribute(`fill`,e);else if(t.setAttribute(`stroke`,e),n===`line`&&t.hasAttribute(`marker-end`)){let n=_t(e);n&&t.setAttribute(`marker-end`,`url(#${n})`)}I.value&&t===L.value||W(r,`color:${Le(t)}`),G(),I.value&&t===L.value&&ct()}function Qe(e){if(!b.active||!k.value||we.value)return;let t=k.value,n=t.tagName.toLowerCase();if(n===`text`)return;let r=Number(e)*b.scale;if((n===`circle`?Number(t.getAttribute(`r`))*2:Number(t.getAttribute(`stroke-width`)))===r)return;let i=U();n===`circle`?t.setAttribute(`r`,r/2):t.setAttribute(`stroke-width`,r),W(i,`size:${Le(t)}`),G()}function $e(e){if(!b.active||!k.value||we.value)return;let t=k.value;if(t.tagName.toLowerCase()!==`text`)return;let n=Number(e)*b.scale;if(Number(t.getAttribute(`font-size`))===n)return;let r=U();t.setAttribute(`font-size`,n),Array.from(t.children).forEach((e,t)=>{e.setAttribute(`dy`,t===0?`0`:`${n*1.2}`)}),I.value&&t===L.value||W(r,`font-size:${Le(t)}`),G(),I.value&&t===L.value&&ct()}y(C,Ze),y(w,Qe),y(B,$e);function et(){V.value+1>=je.length?V.value=0:V.value+=1}function tt(e){if(!E.value||!b.active||H.value!==`text`||I.value||Fe(e)||Ue(e))return;K();let t=U(),{x:n,y:a}=Y(e);De.value={x:n,y:a},R.value=[``],z.value={row:0,col:0},Oe.value=!1,ke.value=t,Ae.value=!1;let o=document.createElementNS(i,`text`);o.setAttribute(`x`,n),o.setAttribute(`y`,a),o.setAttribute(`fill`,C.value),o.setAttribute(`font-size`,B.value*b.scale),o.setAttribute(`font-family`,`sans-serif`),o.setAttribute(`class`,`vue-data-ui-doodle`),o.setAttribute(`data-doodle-id`,r()),o.setAttribute(`dominant-baseline`,`hanging`),o.setAttribute(`pointer-events`,`all`);let s=document.createElementNS(i,`tspan`);s.setAttribute(`x`,n),s.setAttribute(`dy`,`0`),s.setAttribute(`dominant-baseline`,`hanging`),s.textContent=``,o.appendChild(s),o.style.pointerEvents=`none`,o.style.userSelect=`none`,E.value.appendChild(o),k.value=o,L.value=o,I.value=!0,We(),window.addEventListener(`keydown`,rt),window.addEventListener(`mousedown`,lt,!0),it(),ct()}function nt(e){if(!b.active||!E.value||I.value||!e||e.tagName.toLowerCase()!==`text`||!E.value.contains(e))return;let t=U();k.value=e,qe(e);let n=Number(e.getAttribute(`x`))||0,r=Number(e.getAttribute(`y`))||0,i=Array.from(e.children).map(e=>{let t=e.textContent||``;return t===`​`?``:t.split(`​`).join(``)}),a=i.length?i:[e.textContent||``],o=Math.max(0,a.length-1);De.value={x:n,y:r},R.value=a,z.value={row:o,col:a[o]?.length||0},ke.value=t,Ae.value=!0,Oe.value=!0,L.value=e,I.value=!0,e.style.pointerEvents=`none`,We(),window.addEventListener(`keydown`,rt),window.addEventListener(`mousedown`,lt,!0),it(),ct()}function rt(e){if(!I.value)return;let{row:t,col:n}=z.value,r=R.value.slice(),i=!1;if(e.key===`Enter`){let a=r[t],o=a.slice(0,n),s=a.slice(n);r.splice(t,1,o,s),t+=1,n=0,i=!0,e.preventDefault()}else if(e.key===`Backspace`){if(n>0)r[t]=r[t].slice(0,n-1)+r[t].slice(n),--n,i=!0;else if(t>0){let e=r[t-1].length;r[t-1]+=r[t],r.splice(t,1),--t,n=e,i=!0}e.preventDefault()}else if(e.key===`Delete`)n<r[t].length?(r[t]=r[t].slice(0,n)+r[t].slice(n+1),i=!0):t<r.length-1&&(r[t]+=r[t+1],r.splice(t+1,1),i=!0),e.preventDefault();else if(e.key===`ArrowLeft`)n>0?--n:t>0&&(--t,n=r[t].length),i=!0,e.preventDefault();else if(e.key===`ArrowRight`)n<r[t].length?n+=1:t<r.length-1&&(t+=1,n=0),i=!0,e.preventDefault();else if(e.key===`ArrowUp`)t>0&&(--t,n=Math.min(n,r[t].length),i=!0),e.preventDefault();else if(e.key===`ArrowDown`)t<r.length-1&&(t+=1,n=Math.min(n,r[t].length),i=!0),e.preventDefault();else if(e.key.length===1&&!e.ctrlKey&&!e.metaKey&&!e.altKey)r[t]=r[t].slice(0,n)+e.key+r[t].slice(n),n+=1,i=!0,e.preventDefault();else if(e.key===`Escape`){ut(!1,!0);return}else e.key===`Tab`&&e.preventDefault();i&&(R.value=r,z.value={row:t,col:n},it(),ct())}function it(){let e=L.value;if(!e)return;let{x:t}=De.value;for(;e.firstChild;)e.removeChild(e.firstChild);R.value.forEach((n,r)=>{let a=document.createElementNS(i,`tspan`);a.setAttribute(`x`,t),a.setAttribute(`dominant-baseline`,`hanging`),a.setAttribute(`dy`,r===0?`0`:`${B.value*1.2*b.scale}`),a.textContent=n.length?n:`​`,e.appendChild(a)})}let at=_(null);function ot(){at.value!==null&&(clearInterval(at.value),at.value=null)}function st(e){ot();let t=!0;e.style.opacity=`1`,at.value=setInterval(()=>{if(!E.value||!e||!E.value.contains(e)){ot();return}t=!t,e.style.opacity=t?`1`:`0`},500)}function ct(){let e=E.value?.querySelector(`.vue-data-ui-svg-caret`);e&&E.value&&E.value.removeChild(e);let t=L.value;if(!t||!E.value)return;let{x:n,y:r}=De.value,{row:a,col:o}=z.value,s=B.value*b.scale,c=t.childNodes[a];if(!c)return;let l=c.textContent.slice(0,o);l.endsWith(` `)&&(l+=`\xA0`);let u=document.createElementNS(i,`text`);u.setAttribute(`x`,n),u.setAttribute(`y`,r),u.setAttribute(`font-size`,s),u.setAttribute(`font-family`,`sans-serif`),u.textContent=l||``,E.value.appendChild(u);let d=u.getBBox();E.value.removeChild(u);let f=r+a*s*1.2,p=n+d.width,m=document.createElementNS(i,`rect`);m.setAttribute(`x`,p),m.setAttribute(`y`,f),m.setAttribute(`rx`,1),m.setAttribute(`width`,2),m.setAttribute(`height`,s),m.setAttribute(`fill`,C.value),m.setAttribute(`class`,`vue-data-ui-svg-caret`),m.setAttribute(`pointer-events`,`none`);let h=t.getAttribute(`transform`);h&&m.setAttribute(`transform`,h),E.value.appendChild(m),st(m)}function lt(e){L.value&&(L.value.contains(e.target)||ut(!1))}function ut(e=!1,t=!1){window.removeEventListener(`keydown`,rt),window.removeEventListener(`mousedown`,lt,!0),ot();let n=E.value?.querySelector(`.vue-data-ui-svg-caret`);n&&n.remove();let r=L.value,i=ke.value,a=R.value.every(e=>!e.length);if(t){I.value=!1,L.value=null,R.value=[``],z.value={row:0,col:0},Oe.value=!1,ke.value=``,Ae.value=!1,Re(i);return}r&&E.value?.contains(r)&&(e||a?r.remove():r.style.pointerEvents=`all`),I.value=!1,L.value=null,R.value=[``],z.value={row:0,col:0},Oe.value=!1,ke.value=``,Ae.value=!1,W(i),r&&E.value?.contains(r)?Je(r):K()}let J=s(()=>n(b.color,.6));function dt(){if(!E.value)return;let e=E.value.querySelector(`.vue-data-ui-mask`);if(e&&E.value.removeChild(e),b.active){let e=document.createElementNS(`http://www.w3.org/2000/svg`,`rect`);e.setAttribute(`class`,`vue-data-ui-mask`),e.setAttribute(`width`,`100%`),e.setAttribute(`height`,`100%`),e.setAttribute(`fill`,`transparent`),e.setAttribute(`pointer-events`,`all`),E.value.insertBefore(e,E.value.firstChild)}}function Y(e){let t=b.svgRef;if(!t)return{x:0,y:0};let n=t.createSVGPoint(),r=e.touches?.length||e.changedTouches?.length?e.touches?.[0]||e.changedTouches?.[0]:null,i=r?r.clientX:e.clientX,a=r?r.clientY:e.clientY;n.x=i,n.y=a;let o=t.getScreenCTM()?.inverse();return o?n.matrixTransform(o):{x:0,y:0}}function ft(e){let t=e.trim().split(/\s+/);if(t.length<4)return e;let n=t.slice(1).map(Number);if(n.length%2!=0)return e;let r=pt(n),i=[`M ${r[0]} ${r[1]}`];for(let e=2;e<r.length-2;e+=2){let t=r[e-2],n=r[e-1],a=r[e],o=r[e+1],s=(t+a)/2,c=(n+o)/2;i.push(`Q ${t} ${n} ${s} ${c}`)}let a=r[r.length-2],o=r[r.length-1];return i.push(`L ${a} ${o}`),i.join(` `)}function pt(e,t=1){let n=[...e];for(let r=2;r<e.length-2;r+=2){let i=e[r],a=e[r+1],o=e[r-2],s=e[r-1],c=e[r+2],l=e[r+3];n[r]=i+t*((o+c)/2-i),n[r+1]=a+t*((s+l)/2-a)}return n}function mt(e){let t=e.trim().split(/\s+/),n=``,r=``,i=null,a=null;for(let e=0;e<t.length;e+=1){let o=t[e];if(isNaN(o)){if(r=o,r===`M`||r===`L`)i=parseFloat(t[++e]),a=parseFloat(t[++e]),n+=`${r}${i} ${a}`;else if(r===`Q`){let r=parseFloat(t[++e]),o=parseFloat(t[++e]),s=parseFloat(t[++e]),c=parseFloat(t[++e]);n+=r===i&&o===a?`t${s-i} ${c-a}`:`q${r-i} ${o-a} ${s-i} ${c-a}`,i=s,a=c}}else{let s=parseFloat(o),c=parseFloat(t[++e]);if(r===`L`){let e=s-i,t=c-a;n+=e===0?`v${t}`:t===0?`h${e}`:`l${e} ${t}`,i=s,a=c}else if(r===`Q`){let r=s,o=c,l=parseFloat(t[++e]),u=parseFloat(t[++e]);n+=r===i&&o===a?`t${l-i} ${u-a}`:`q${r-i} ${o-a} ${l-i} ${u-a}`,i=l,a=u}}}return n}function ht(e){if(H.value!==`draw`||!b.active||!E.value||Fe(e)||Ue(e))return;e.cancelable&&e.preventDefault(),K(),F.value=U(),T.value=!0;let{x:t,y:n}=Y(e);ye.value={x:t,y:n},ve.value=`M ${t} ${n}`,D.value=document.createElementNS(i,`path`),D.value.setAttribute(`stroke`,C.value),D.value.setAttribute(`stroke-width`,w.value*b.scale),D.value.setAttribute(`fill`,`none`),D.value.setAttribute(`stroke-linecap`,`round`),D.value.setAttribute(`stroke-linejoin`,`round`),D.value.setAttribute(`class`,`vue-data-ui-doodle`),D.value.setAttribute(`data-doodle-id`,r()),D.value.setAttribute(`pointer-events`,`stroke`),E.value.appendChild(D.value)}function gt(e){if(e.cancelable&&e.preventDefault(),!T.value||!E.value||!D.value)return;let{x:t,y:n}=Y(e);ve.value+=` ${t} ${n}`,D.value.setAttribute(`d`,ve.value)}function _t(e){let t=b.svgRef;if(!t)return null;let n=t.querySelector(`defs#${Ee.value}`);n||(n=document.createElementNS(i,`defs`),n.setAttribute(`id`,Ee.value),t.appendChild(n));let a=String(e).trim();if(Te.has(a))return Te.get(a);let o=`arrow-${r()}`,s=document.createElementNS(i,`marker`);s.setAttribute(`id`,o),s.setAttribute(`markerUnits`,`strokeWidth`),s.setAttribute(`markerWidth`,`6`),s.setAttribute(`markerHeight`,`6`),s.setAttribute(`refX`,`4`),s.setAttribute(`refY`,`3`),s.setAttribute(`orient`,`auto`),s.setAttribute(`viewBox`,`0 0 6 6`);let c=document.createElementNS(i,`path`);return c.setAttribute(`d`,`M 0 0 L 6 3 L 0 6 z`),c.setAttribute(`fill`,e),c.setAttribute(`stroke`,`none`),s.appendChild(c),n.appendChild(s),Te.set(a,o),o}function vt(e){if(![`line`,`arrow`].includes(H.value)||!b.active||!E.value||Fe(e)||Ue(e))return;e.cancelable&&e.preventDefault(),K(),F.value=U(),T.value=!0;let{x:t,y:n}=Y(e);if(ye.value={x:t,y:n},O.value=document.createElementNS(i,`line`),O.value.setAttribute(`stroke`,C.value),O.value.setAttribute(`stroke-width`,w.value*b.scale),O.value.setAttribute(`stroke-linecap`,`round`),O.value.setAttribute(`class`,`vue-data-ui-doodle`),O.value.setAttribute(`data-doodle-id`,r()),O.value.setAttribute(`pointer-events`,`stroke`),O.value.setAttribute(`x1`,t),O.value.setAttribute(`y1`,n),O.value.setAttribute(`x2`,t),O.value.setAttribute(`y2`,n),H.value===`arrow`){let e=_t(C.value);e&&O.value.setAttribute(`marker-end`,`url(#${e})`)}E.value.appendChild(O.value)}function yt(e){if(e.cancelable&&e.preventDefault(),![`line`,`arrow`].includes(H.value)||!T.value||!E.value||!O.value)return;let{x:t,y:n}=Y(e);O.value.setAttribute(`x2`,t),O.value.setAttribute(`y2`,n)}function bt(e){if(T.value&&E.value&&O.value){let{x:t,y:n}=Y(e);O.value.setAttribute(`x2`,t),O.value.setAttribute(`y2`,n),W(F.value),O.value=null,F.value=``}T.value=!1}function X(e){if(T.value&&E.value&&D.value){let{x:t,y:n}=Y(e);if(ye.value&&ye.value.x===t&&ye.value.y===n){D.value.remove();let e=document.createElementNS(i,`circle`);e.setAttribute(`cx`,t),e.setAttribute(`cy`,n),e.setAttribute(`r`,w.value*b.scale/2),e.setAttribute(`fill`,C.value),e.setAttribute(`class`,`vue-data-ui-doodle`),e.setAttribute(`data-doodle-id`,r()),e.setAttribute(`pointer-events`,`all`),E.value.appendChild(e)}else D.value.setAttribute(`d`,mt(ft(ve.value)));W(F.value),F.value=``,D.value=null}T.value=!1}function xt(){if(!x.value.length||!E.value)return;let e=U(),t=x.value.pop();S.value.push({state:e,mergeKey:null,timestamp:Date.now()}),Re(t.state)}function St(){if(!S.value.length||!E.value)return;let e=U(),t=S.value.pop();x.value.push({state:e,mergeKey:null,timestamp:Date.now()}),Re(t.state)}function Ct(){I.value&&ut(!1),K(),E.value&&(E.value.innerHTML=``),x.value=[],S.value=[],Oe.value=!1,ke.value=``,Ae.value=!1,F.value=``,dt()}y(H,()=>{b.active&&(Tt(),wt(),Z())});function wt(){b.svgRef&&b.active&&(b.svgRef.addEventListener(`mousedown`,Ye),b.svgRef.addEventListener(`mousemove`,Xe),b.svgRef.addEventListener(`mouseup`,q),b.svgRef.addEventListener(`mouseleave`,q),b.svgRef.addEventListener(`touchstart`,Ye,{passive:!1}),b.svgRef.addEventListener(`touchmove`,Xe,{passive:!1}),b.svgRef.addEventListener(`touchend`,q),b.svgRef.addEventListener(`touchcancel`,q),H.value===`draw`?(b.svgRef.addEventListener(`mousedown`,ht),b.svgRef.addEventListener(`mousemove`,gt),b.svgRef.addEventListener(`mouseup`,X),b.svgRef.addEventListener(`mouseleave`,X),b.svgRef.addEventListener(`touchstart`,ht,{passive:!1}),b.svgRef.addEventListener(`touchmove`,gt,{passive:!1}),b.svgRef.addEventListener(`touchend`,X),b.svgRef.addEventListener(`touchcancel`,X)):[`line`,`arrow`].includes(H.value)?(b.svgRef.addEventListener(`mousedown`,vt),b.svgRef.addEventListener(`mousemove`,yt),b.svgRef.addEventListener(`mouseup`,bt),b.svgRef.addEventListener(`touchstart`,vt,{passive:!1}),b.svgRef.addEventListener(`touchmove`,yt,{passive:!1}),b.svgRef.addEventListener(`touchend`,bt),b.svgRef.addEventListener(`touchcancel`,bt)):H.value===`text`&&(b.svgRef.addEventListener(`mousedown`,tt),b.svgRef.addEventListener(`touchstart`,tt,{passive:!1})),E.value&&(E.value.style.pointerEvents=`auto`))}function Tt(){b.svgRef&&(b.svgRef.removeEventListener(`mousedown`,Ye),b.svgRef.removeEventListener(`mousemove`,Xe),b.svgRef.removeEventListener(`mouseup`,q),b.svgRef.removeEventListener(`mouseleave`,q),b.svgRef.removeEventListener(`touchstart`,Ye),b.svgRef.removeEventListener(`touchmove`,Xe),b.svgRef.removeEventListener(`touchend`,q),b.svgRef.removeEventListener(`touchcancel`,q),b.svgRef.removeEventListener(`mousedown`,ht),b.svgRef.removeEventListener(`mousemove`,gt),b.svgRef.removeEventListener(`mouseup`,X),b.svgRef.removeEventListener(`mouseleave`,X),b.svgRef.removeEventListener(`touchstart`,ht),b.svgRef.removeEventListener(`touchmove`,gt),b.svgRef.removeEventListener(`touchend`,X),b.svgRef.removeEventListener(`touchcancel`,X),b.svgRef.removeEventListener(`mousedown`,vt),b.svgRef.removeEventListener(`mousemove`,yt),b.svgRef.removeEventListener(`mouseup`,bt),b.svgRef.removeEventListener(`touchstart`,vt),b.svgRef.removeEventListener(`touchmove`,yt),b.svgRef.removeEventListener(`touchend`,bt),b.svgRef.removeEventListener(`touchcancel`,bt),b.svgRef.removeEventListener(`mousedown`,tt),b.svgRef.removeEventListener(`touchstart`,tt),E.value&&(E.value.style.pointerEvents=`none`))}y(()=>b.active,e=>{e?wt():(K(),Tt()),Z()}),y(()=>b.active,()=>{p(()=>{dt()})}),y(()=>b.active,e=>{b.svgRef&&(e?b.svgRef.style.touchAction=`none`:b.svgRef.style.touchAction=``)},{immediate:!0});function Z(e=null){if(E.value){if(!b.active){E.value.style.cursor=``;return}if(I.value){E.value.style.cursor=`text`;return}if(e&&Ie(e)){E.value.style.cursor=`pointer`;return}if(P.value||e&&Fe(e)){E.value.style.cursor=`move`;return}if(A.value&&k.value){E.value.style.cursor=`grabbing`;return}if(e&&k.value&&E.value.contains(k.value)&&He(k.value,e)){E.value.style.cursor=`grab`;return}H.value===`text`?E.value.style.cursor=`text`:[`line`,`arrow`].includes(H.value)?E.value.style.cursor=`crosshair`:E.value.style.cursor=Ne.value}}let Q=_(null),Et=_(null),Dt=_(!1),$=_({x:0,y:0}),Ot=_(null),kt=_(null),At=s(()=>({backgroundColor:b.backgroundColor,"--vue-ui-pen-and-paper-drag-x":`${$.value.x}px`,"--vue-ui-pen-and-paper-drag-y":`${$.value.y}px`}));function jt(){return{width:document.documentElement.clientWidth||window.innerWidth,height:document.documentElement.clientHeight||window.innerHeight}}function Mt(){if(!Q.value)return null;let e=[Q.value,Q.value.querySelector(`.vue-ui-pen-and-paper-drag-handle`),Q.value.querySelector(`.vertical-range`)].filter(Boolean).map(e=>e.getBoundingClientRect());return{left:Math.min(...e.map(e=>e.left)),top:Math.min(...e.map(e=>e.top)),right:Math.max(...e.map(e=>e.right)),bottom:Math.max(...e.map(e=>e.bottom))}}function Nt(e){if(e.pointerType===`mouse`&&e.button!==0||!Q.value)return;e.preventDefault(),e.stopPropagation();let t=Mt();t&&(Dt.value=!0,kt.value=e.pointerId,Ot.value={clientX:e.clientX,clientY:e.clientY,offsetX:$.value.x,offsetY:$.value.y,rect:t},window.addEventListener(`pointermove`,Pt),window.addEventListener(`pointerup`,Ft),window.addEventListener(`pointercancel`,Ft))}function Pt(e){if(!Dt.value||!Ot.value||e.pointerId!==kt.value)return;e.preventDefault();let t=Ot.value,{width:n,height:r}=jt(),i=e.clientX-t.clientX,a=e.clientY-t.clientY,o=Math.min(Math.max(i,-t.rect.left),n-t.rect.right),s=Math.min(Math.max(a,-t.rect.top),r-t.rect.bottom);$.value={x:t.offsetX+o,y:t.offsetY+s}}function Ft(e){(e?.pointerId===void 0||kt.value===null||e.pointerId===kt.value)&&(Dt.value=!1,Ot.value=null,kt.value=null,window.removeEventListener(`pointermove`,Pt),window.removeEventListener(`pointerup`,Ft),window.removeEventListener(`pointercancel`,Ft))}function It(){if(!Q.value||!b.active)return;let e=Mt();if(!e)return;let{width:t,height:n}=jt(),r=0,i=0;e.left<0?r=-e.left:e.right>t&&(r=t-e.right),e.top<0?i=-e.top:e.bottom>n&&(i=n-e.bottom),(r||i)&&($.value={x:$.value.x+r,y:$.value.y+i})}return te(()=>{window.addEventListener(`resize`,It),p(()=>{b.svgRef&&(E.value=document.createElementNS(`http://www.w3.org/2000/svg`,`g`),E.value.setAttribute(`class`,`vue-data-ui-doodles`),b.svgRef.appendChild(E.value),Z(),b.active?wt():Tt(),dt())})}),y(()=>b.active,async e=>{if(!e){Ft(),$.value={x:0,y:0};return}await p(),Et.value?.focus()},{flush:`post`}),ee(()=>{ot(),K(),Ft(),window.removeEventListener(`resize`,It),E.value&&b.svgRef&&(E.value.remove(),Tt())}),(n,r)=>e.active?(ne(),l(`div`,{key:0,ref_key:`menuRef`,ref:Q,"data-dom-to-png-ignore":``,class:m([`vue-ui-pen-and-paper-actions`,{"vue-ui-pen-and-paper-actions-dragging":Dt.value}]),style:g(At.value)},[u(`button`,{type:`button`,class:`vue-ui-pen-and-paper-drag-handle`,"aria-label":`Move drawing toolbar`,style:g({backgroundColor:e.backgroundColor,border:`1px solid ${J.value}`,color:e.color}),onPointerdown:Nt},[(ne(),l(`svg`,le,[u(`circle`,{fill:e.color,cx:`3`,cy:`3`,r:`0.7`},null,8,ue),u(`circle`,{fill:e.color,cx:`3`,cy:`6`,r:`0.7`},null,8,de),u(`circle`,{fill:e.color,cx:`3`,cy:`9`,r:`0.7`},null,8,fe)]))],36),u(`button`,{ref_key:`buttonToggle`,ref:Et,class:`vue-ui-pen-and-paper-action`,onClick:r[0]||=e=>_e(`close`),style:g({backgroundColor:e.backgroundColor,border:`1px solid ${J.value}`,cursor:e.isCursorPointer?`pointer`:`default`})},[v(n.$slots,`annotator-action-close`,{},()=>[d(a,{name:`close`,stroke:e.color},null,8,[`stroke`])])],4),u(`button`,{class:`vue-ui-pen-and-paper-action`,tabindex:`-1`,style:g(`padding: 0 !important; cursor: ${e.isCursorPointer?`pointer`:`default`}`)},[d(o,{value:C.value,"onUpdate:value":r[1]||=e=>C.value=e,backgroundColor:e.backgroundColor,buttonBorderColor:J.value,isCursorPointer:e.isCursorPointer,palette:e.palette},{"annotator-action-color":oe(({color:e})=>[v(n.$slots,`annotator-action-color`,h(f({color:e})))]),_:3},8,[`value`,`backgroundColor`,`buttonBorderColor`,`isCursorPointer`,`palette`])],4),u(`button`,{class:m([`vue-ui-pen-and-paper-action`,{"vue-ui-pen-and-paper-action-active":H.value===`text`}]),onClick:r[2]||=e=>et(),style:g({backgroundColor:e.backgroundColor,border:`1px solid ${J.value}`,cursor:e.isCursorPointer?`pointer`:`default`})},[v(n.$slots,`annotator-action-draw`,h(f({mode:H.value})),()=>[d(a,{name:Me[H.value],stroke:e.color},null,8,[`name`,`stroke`])]),u(`div`,{style:g({position:`absolute`,bottom:`-20px`,color:J.value,width:`100%`,textAlign:`center`,fontSize:`12px`,fontVariantNumeric:`tabular-nums`})},re(ie(t)({v:H.value===`text`?Math.round(B.value):Math.round(w.value),s:`px`,r:1})),5)],6),u(`button`,{class:m([`vue-ui-pen-and-paper-action`,{"vue-ui-pen-and-paper-action-disabled":!x.value.length}]),disabled:!x.value.length,onClick:xt,style:g({backgroundColor:e.backgroundColor,border:`1px solid ${J.value}`,marginTop:`20px`,cursor:e.isCursorPointer?`pointer`:`default`})},[v(n.$slots,`annotator-action-undo`,h(f({disabled:!x.value.length})),()=>[d(a,{name:`refresh`,stroke:e.color},null,8,[`stroke`])])],14,pe),u(`button`,{class:m([`vue-ui-pen-and-paper-action`,{"vue-ui-pen-and-paper-action-disabled":!S.value.length}]),onClick:St,style:g({backgroundColor:e.backgroundColor,border:`1px solid ${J.value}`,cursor:e.isCursorPointer?`pointer`:`default`})},[v(n.$slots,`annotator-action-redo`,h(f({disabled:!S.value.length})),()=>[d(a,{name:`refresh`,stroke:e.color,style:{transform:`scaleX(-1)`}},null,8,[`stroke`])])],6),u(`button`,{class:m([`vue-ui-pen-and-paper-action`,{"vue-ui-pen-and-paper-action-disabled":!x.value.length}]),onClick:Ct,style:g({backgroundColor:e.backgroundColor,border:`1px solid ${J.value}`,cursor:e.isCursorPointer?`pointer`:`default`})},[v(n.$slots,`annotator-action-delete`,h(f({disabled:!x.value.length})),()=>[d(a,{name:`trash`,stroke:e.color},null,8,[`stroke`])])],6),H.value===`text`?se((ne(),l(`input`,{key:0,ref:`range`,type:`range`,class:`vertical-range`,min:3,max:48,step:1,"onUpdate:modelValue":r[3]||=e=>B.value=e,style:g({accentColor:e.color})},null,4)),[[ae,B.value]]):se((ne(),l(`input`,{key:1,ref:`range`,type:`range`,class:`vertical-range`,min:.5,max:12,step:.1,"onUpdate:modelValue":r[4]||=e=>w.value=e,style:g({accentColor:e.color})},null,4)),[[ae,w.value]])],6)):c(``,!0)}};export{b as n,ce as t};
@@ -1 +1 @@
1
- import{B as e,M as t}from"./lib-CV_IANZ6.js";import{t as n}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{computed as r,createCommentVNode as i,createElementBlock as a,normalizeClass as o,normalizeStyle as s,openBlock as c}from"vue";var l=[`cx`,`cy`,`r`,`fill`,`stroke`,`stroke-width`],u=[`d`,`fill`,`stroke`,`stroke-width`],d=[`points`,`fill`,`stroke`,`stroke-width`],f=/*#__PURE__*/ n({__name:`Shape`,props:{color:String,isSelected:{type:Boolean,default:!1},limit:{type:Number,default:3},plot:Object,radius:Number,shape:String,stroke:String,strokeWidth:Number,zoom:{type:Number,default:1.3},transition:{type:String},still:{type:Boolean}},emits:[`mouseover`,`mouseout`,`click`],setup(n,{emit:f}){let p=n,m=f;function h(e){return{circle:{points:1,rotation:0},line:{points:2,rotation:0},triangle:{points:3,rotation:.52},square:{points:4,rotation:.783},diamond:{points:4,rotation:0},pentagon:{points:5,rotation:.95},hexagon:{points:6,rotation:0}}[e]}let g=r(()=>h(p.shape)),_=r(()=>p.shape===`star`?e({plot:{x:p.plot.x,y:p.plot.y},radius:p.radius*(p.isSelected?p.zoom:1)}):null),v=r(()=>t({plot:{x:p.plot.x,y:p.plot.y},radius:p.radius*(p.isSelected?p.zoom:1),sides:g.value.points,rotation:g.value.rotation}).path);return(e,t)=>(c(),a(`g`,null,[g.value&&g.value.points===1?(c(),a(`circle`,{key:0,class:o([`vdui-shape-circle`,{"vdui-shape-no-transition":n.still}]),cx:n.plot.x,cy:n.plot.y,r:p.radius*(p.isSelected?p.zoom:1),fill:n.color,stroke:n.stroke,"stroke-width":n.strokeWidth,onMouseover:t[0]||=e=>m(`mouseover`),onMouseout:t[1]||=e=>m(`mouseout`),onClick:t[2]||=e=>m(`click`),style:s({transition:n.transition})},null,46,l)):i(``,!0),g.value&&g.value.points>=n.limit?(c(),a(`path`,{key:1,class:o([`vdui-shape-polygon`,{"vdui-shape-no-transition":n.still}]),d:v.value,fill:n.color,stroke:n.stroke,"stroke-width":n.strokeWidth,onMouseover:t[3]||=e=>m(`mouseover`),onMouseout:t[4]||=e=>m(`mouseout`),onClick:t[5]||=e=>m(`click`),style:s({transition:n.transition})},null,46,u)):i(``,!0),_.value?(c(),a(`polygon`,{key:2,class:o([`vdui-shape-star`,{"vdui-shape-no-transition":n.still}]),points:_.value,fill:n.color,stroke:n.stroke,"stroke-width":n.strokeWidth,onMouseover:t[6]||=e=>m(`mouseover`),onMouseout:t[7]||=e=>m(`mouseout`),onClick:t[8]||=e=>m(`click`),style:s({transition:n.transition})},null,46,d)):i(``,!0)]))}},[[`__scopeId`,`data-v-848f7c20`]]);export{f as t};
1
+ import{B as e,M as t}from"./lib-DqD8nbyX.js";import{t as n}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{computed as r,createCommentVNode as i,createElementBlock as a,normalizeClass as o,normalizeStyle as s,openBlock as c}from"vue";var l=[`cx`,`cy`,`r`,`fill`,`stroke`,`stroke-width`],u=[`d`,`fill`,`stroke`,`stroke-width`],d=[`points`,`fill`,`stroke`,`stroke-width`],f=/*#__PURE__*/ n({__name:`Shape`,props:{color:String,isSelected:{type:Boolean,default:!1},limit:{type:Number,default:3},plot:Object,radius:Number,shape:String,stroke:String,strokeWidth:Number,zoom:{type:Number,default:1.3},transition:{type:String},still:{type:Boolean}},emits:[`mouseover`,`mouseout`,`click`],setup(n,{emit:f}){let p=n,m=f;function h(e){return{circle:{points:1,rotation:0},line:{points:2,rotation:0},triangle:{points:3,rotation:.52},square:{points:4,rotation:.783},diamond:{points:4,rotation:0},pentagon:{points:5,rotation:.95},hexagon:{points:6,rotation:0}}[e]}let g=r(()=>h(p.shape)),_=r(()=>p.shape===`star`?e({plot:{x:p.plot.x,y:p.plot.y},radius:p.radius*(p.isSelected?p.zoom:1)}):null),v=r(()=>t({plot:{x:p.plot.x,y:p.plot.y},radius:p.radius*(p.isSelected?p.zoom:1),sides:g.value.points,rotation:g.value.rotation}).path);return(e,t)=>(c(),a(`g`,null,[g.value&&g.value.points===1?(c(),a(`circle`,{key:0,class:o([`vdui-shape-circle`,{"vdui-shape-no-transition":n.still}]),cx:n.plot.x,cy:n.plot.y,r:p.radius*(p.isSelected?p.zoom:1),fill:n.color,stroke:n.stroke,"stroke-width":n.strokeWidth,onMouseover:t[0]||=e=>m(`mouseover`),onMouseout:t[1]||=e=>m(`mouseout`),onClick:t[2]||=e=>m(`click`),style:s({transition:n.transition})},null,46,l)):i(``,!0),g.value&&g.value.points>=n.limit?(c(),a(`path`,{key:1,class:o([`vdui-shape-polygon`,{"vdui-shape-no-transition":n.still}]),d:v.value,fill:n.color,stroke:n.stroke,"stroke-width":n.strokeWidth,onMouseover:t[3]||=e=>m(`mouseover`),onMouseout:t[4]||=e=>m(`mouseout`),onClick:t[5]||=e=>m(`click`),style:s({transition:n.transition})},null,46,u)):i(``,!0),_.value?(c(),a(`polygon`,{key:2,class:o([`vdui-shape-star`,{"vdui-shape-no-transition":n.still}]),points:_.value,fill:n.color,stroke:n.stroke,"stroke-width":n.strokeWidth,onMouseover:t[6]||=e=>m(`mouseover`),onMouseout:t[7]||=e=>m(`mouseout`),onClick:t[8]||=e=>m(`click`),style:s({transition:n.transition})},null,46,d)):i(``,!0)]))}},[[`__scopeId`,`data-v-848f7c20`]]);export{f as t};
@@ -0,0 +1 @@
1
+ import{Dt as e,I as t,Jt as n,P as r,S as i,U as a,V as o,W as s,X as c,an as ee,kt as te,r as l,t as ne}from"./lib-DqD8nbyX.js";import{t as u}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as re}from"./BaseIcon-DDctLkeT.js";import{i as ie,l as ae,t as d}from"./useResponsive-D2CPcpda.js";import{t as oe}from"./DefGrad-DKMq1REY.js";import{Fragment as f,computed as p,createCommentVNode as m,createElementBlock as h,createElementVNode as g,createVNode as se,guardReactiveProps as ce,mergeProps as le,nextTick as ue,normalizeClass as de,normalizeProps as fe,normalizeStyle as _,onBeforeUnmount as pe,onMounted as me,onUpdated as he,openBlock as v,ref as y,renderList as b,renderSlot as ge,toDisplayString as _e,unref as ve,useCssVars as ye,vModelText as be,watch as x,withDirectives as xe,withKeys as Se,withModifiers as S}from"vue";var Ce=[`data-minimap`],we={class:`vue-data-ui-slicer-labels`,style:{position:`relative`,"z-index":`1`,"pointer-events":`none`}},Te={key:0,style:{width:`100%`,position:`relative`,"pointer-events":`all`}},Ee={key:0,class:`minimap`,style:{width:`100%`}},De=[`xmlns`,`viewBox`],Oe=[`id`],ke=[`x`,`width`,`height`],Ae=[`width`,`height`,`stroke`],je=[`d`,`stroke`],Me=[`d`,`fill`],Ne=[`x`,`y`,`width`,`height`,`fill`],Pe=[`d`,`stroke`,`stroke-dasharray`],Fe=[`cx`,`cy`,`fill`,`stroke`],Ie=[`cx`,`cy`,`fill`,`stroke`],Le=[`x`,`width`,`height`,`fill`,`rx`],Re=[`x`,`width`,`height`,`rx`,`fill`],ze=[`x`,`width`,`height`,`fill`,`rx`,`aria-valuemin`,`aria-valuemax`,`aria-valuenow`,`aria-valuetext`],Be=[`x2`,`y1`,`y2`,`stroke`],Ve={key:`merged-tree`},He=[`d`,`stroke`],Ue=[`cx`,`cy`,`stroke`,`fill`],We=[`cx`,`cy`,`stroke`,`fill`],Ge={key:`split-tree`},Ke=[`x`,`y`,`width`,`height`,`fill`],qe=[`d`,`stroke`,`stroke-dasharray`],Je=[`cx`,`cy`,`fill`,`stroke`],Ye=[`width`,`height`],Xe=[`transform`],Ze=[`x`,`y`,`width`,`height`],Qe=[`x`,`width`,`height`,`fill`,`stroke`,`stroke-width`],$e=[`transform`],et=[`width`,`height`],tt=[`fill`,`stroke`],nt=[`stroke`],rt=[`fill`],it=[`transform`],at=[`y`,`width`,`height`],ot=[`width`,`height`,`fill`,`stroke`,`stroke-width`],st={key:0,class:`compact-handle-icon`,style:{"pointer-events":`none`}},ct=[`width`,`height`],lt=[`fill`,`stroke`],ut=[`stroke`],dt=[`fill`],ft={key:`merged-tree`,style:{"pointer-events":`none`}},pt=[`cx`,`cy`,`stroke`,`fill`],mt=[`cx`,`cy`,`fill`],ht=[`cx`,`cy`,`stroke`,`fill`],gt=[`cx`,`cy`,`fill`],_t={key:1,style:{"pointer-events":`none`}},vt=[`d`,`stroke`,`stroke-dasharray`],yt=[`cx`,`cy`,`fill`,`stroke`],bt=[`cx`,`cy`,`stroke`,`fill`],xt=[`cx`,`cy`,`fill`],St=[`cx`,`cy`,`stroke`,`fill`],Ct=[`cx`,`cy`,`fill`],wt=[`cx`,`cy`,`fill`,`stroke`],Tt=[`step`,`min`,`max`,`tabindex`],Et=[`step`,`min`,`max`,`tabindex`],Dt=48,Ot=48,kt=/*#__PURE__*/ u({__name:`SlicerPreview`,props:{uuid:{type:String,default:``},immediate:{type:Boolean,default:!0},background:{type:String,default:`#FFFFFF`},borderColor:{type:String,default:`#FFFFFF`},fontSize:{type:Number,default:14},labelLeft:{type:[String,Number],default:``},labelRight:{type:[String,Number],default:``},textColor:{type:String,default:`#1A1A1A`},inputColor:{type:String,default:`#1A1A1A`},max:{type:Number,default:0},min:{type:Number,default:0},selectColor:{type:String,default:`#4A4A4A`},useResetSlot:{type:Boolean,default:!1},valueStart:{type:[Number,String],default:0},valueEnd:{type:[Number,String],default:0},minimap:{type:Array,default:[]},smoothMinimap:{type:Boolean,default:!1},minimapSelectedColor:{type:String,default:`#1f77b4`},minimapSelectionRadius:{type:Number,default:12},minimapLineColor:{type:String,default:`#2D353C`},minimapSelectedColorOpacity:{type:Number,default:.2},minimapSelectedIndex:{type:Number,default:null},minimapIndicatorColor:{type:String,default:`#2D353C`},refreshStartPoint:{type:Number,default:0},refreshEndPoint:{type:Number,default:null},enableRangeHandles:{type:Boolean,default:!1},enableSelectionDrag:{type:Boolean,default:!0},verticalHandles:{type:Boolean,default:!1},timeLabels:{type:Array},isPreview:{type:Boolean,default:!1},preciseLabels:{type:Array,default(){return[]}},usePreciseLabels:{type:Boolean,default:!1},selectedSeries:{type:Object},customFormat:{type:[Function,null]},minimapCompact:{type:Boolean,default:!1},allMinimaps:{type:Array,default(){return[]}},minimapMerged:{type:Boolean,default:!1},minimapFrameColor:{type:String,default:`#e1e5e8`},cutNullValues:{type:Boolean,default:!1},focusOnDrag:{type:Boolean,default:!1},focusRangeRatio:{type:Number,default:.1},minScale:{type:Number,default:null},maxScale:{type:Number,default:null},forceZeroCenter:{type:Boolean,default:!1},maxWidth:{type:Number,default:null},minimapLeftInsetRatio:{type:Number,default:null},minimapRightInsetRatio:{type:Number,default:null},isCursorPointer:{type:Boolean,default:!1},additionalMinimapHeight:{type:Number,default:0},handleType:{type:String,default:``},handleWidth:{type:Number,default:20},handleBorderWidth:{type:Number,default:1},handleIconColor:{type:String,default:null},handleBorderColor:{type:String,default:null},handleFill:{type:String,default:null},precision:{type:Number,default:0},useValueRange:{type:Boolean,default:!1}},emits:[`futureStart`,`futureEnd`,`update:start`,`update:end`,`reset`,`trapMouse`,`trapMouseValue`],setup(u,{expose:kt,emit:At}){ye(e=>({v1facdf1e:sn.value,v90bb30dc:L.value,v55cd00fa:ln.value,d050ae7c:u.selectColor,v15a5e250:cn.value}));let C=u;function jt(e){let t=Number(e)||0;return C.precision<=0?Math.round(t):Number(t.toFixed(C.precision))}let w=y(null),T=y(C.min),E=y(C.max),D=p(()=>!!C.allMinimaps.length),Mt=p(()=>te(C.minimapLeftInsetRatio)&&te(C.minimapRightInsetRatio)),Nt=p(()=>{let e=Math.min(1,Math.max(0,C.minimapLeftInsetRatio))*100,t=Math.min(1,Math.max(0,C.minimapRightInsetRatio))*100;return{padding:Mt.value?`0 ${t}% 0 ${e}%`:`0 48px`,maxWidth:C.maxWidth&&!Mt.value?`${C.maxWidth}px`:void 0,margin:C.maxWidth&&!Mt.value?`0 auto`:void 0}}),Pt=y(c()),O=y(!1),k=p(()=>D.value&&C.minimapCompact),Ft=y(null),A=y(null),It=y(!1),Lt=y(0),Rt=y(0),zt=y(null),Bt=y(!1),Vt=p(()=>Ft.value!==null),Ht=p(()=>C.useValueRange?E.value:E.value-1),Ut=p(()=>Math.max(1,Number(C.max)-Number(C.min)));function Wt(e){return(Number(e)-Number(C.min))/Ut.value*100}function Gt(e){return R.value.width*(Wt(e)/100)}function Kt(e){let t=Math.min(1,Math.max(0,e/Math.max(1,R.value.width)));return jt(Number(C.min)+Ut.value*t)}function qt(e){let t=C.useValueRange?e?.y:e;return te(t)?Number(t):null}function Jt(e,t){return C.useValueRange?Number(e?.x):t+Number(C.min)}function Yt(e,t){return C.useValueRange?Gt(Jt(e,t)):V.value*t+(C.minimapCompact?0:V.value/2)}let Xt=p(()=>Math.min(40,Math.max(20,C.handleWidth))),Zt=y(0),Qt=ae(e=>F(`futureStart`,e),0),$t=ae(e=>F(`futureEnd`,e),0),j=p(()=>C.precision>0?1/10**C.precision:1),M=p({get:()=>T.value,set(e){let t=Math.min(Number(e),Number(E.value)-j.value);t!==T.value&&(T.value=t,K.value&&(K.value.value=String(t)),C.immediate?F(`update:start`,Number(t)):O.value&&Qt(t))}}),N=p({get:()=>E.value,set(e){let t=Math.max(Number(e),Number(T.value)+j.value);t!==E.value&&(E.value=t,q.value&&(q.value.value=String(t)),C.immediate?F(`update:end`,Number(t)):O.value&&$t(t))}});function P(){clearTimeout(null),C.immediate||(F(`update:start`,Number(T.value)),F(`update:end`,Number(E.value))),O.value=!1}let en=p(()=>C.refreshEndPoint===null?C.max:C.refreshEndPoint),F=At,tn=p(()=>{if(C.useValueRange)return Wt(T.value);if(k.value){let e=Math.max(1,z.value-1);return Ln.value/e*100}let e=Math.max(1,C.max-C.min);return(T.value-C.min)/e*100}),nn=p(()=>{if(C.useValueRange)return Wt(E.value);if(k.value){let e=Math.max(1,z.value-1);return Rn.value/e*100}let e=Math.max(1,C.max-C.min);return(E.value-C.min)/e*100}),rn=p(()=>(tn.value+nn.value)/2),an=p(()=>{if(!w.value)return!1;let e=Math.max(1,C.max-C.min);return w.value.getBoundingClientRect().width*((T.value-C.min)/e)-xr.value/2<0}),on=p(()=>{if(!w.value)return!1;let e=Math.max(1,C.max-C.min),t=w.value.getBoundingClientRect().width;return t*((E.value-C.min)/e)+Sr.value/2>t}),I=p(()=>{let e=on.value?`calc(${rn.value}% - ${kr.value.width}px)`:an.value?`calc(${rn.value}% - 8px)`:`calc(${rn.value}% - ${kr.value.width/2}px)`;return{left:`${tn.value}%`,width:`${Math.max(0,nn.value-tn.value)}%`,background:C.selectColor,tooltipLeft:`calc(${tn.value}% - ${an.value?9:xr.value/2}px)`,tooltipRight:`calc(${nn.value}% - ${on.value?Sr.value-9:Sr.value/2}px)`,tooltipCenter:e,arrowLeft:!an.value,arrowRight:!on.value}}),sn=p(()=>C.inputColor),cn=p(()=>C.background),ln=p(()=>n(i(C.selectColor)||C.selectColor,20)),L=p(()=>C.borderColor),un=p(()=>Number(C.max)>Number(C.min));function dn(){F(`reset`)}x(()=>C.min,e=>{Number(T.value)<Number(e)&&(T.value=Number(e)),Number(E.value)<Number(e)&&(E.value=Number(e))}),x(()=>C.max,e=>{Number(T.value)>Number(e)&&(T.value=Number(e)),Number(E.value)>Number(e)&&(E.value=Number(e))});let fn=y(null),R=y({width:1,height:1}),pn=y(null);me(()=>{if(D.value){let e=ae(()=>{if(!fn.value)return;let{width:e,height:t}=d({chart:fn.value}),n=Math.max(0,Math.round(e)),r=Math.max(0,Math.round(t-47));(n!==R.value.width||r!==R.value.height)&&(R.value.width=n,R.value.height=r+C.additionalMinimapHeight)},0);pn.value=new ResizeObserver(e),pn.value.observe(fn.value)}}),pe(()=>{pn.value&&pn.value.disconnect()});let z=p(()=>Math.max(1,C.max-C.min));function mn(e){let t=Math.floor(e-C.min);return Math.min(Math.max(0,t),z.value)}function hn(e){let t=Math.ceil(e-C.min);return Math.min(Math.max(0,t),z.value)}let B=p(()=>mn(T.value)),gn=p(()=>hn(E.value)),_n=p(()=>Math.max(...C.allMinimaps.map(e=>e.series.length))),vn=p(()=>D.value&&C.minimapCompact?40:0),yn=p(()=>vn.value/2);p(()=>Math.max(1,R.value.width-yn.value*2));let V=p(()=>{if(C.minimapCompact&&!C.useValueRange)return R.value.width/Math.max(1,z.value-1);let e=Math.max(1,_n.value-+!!C.minimapCompact);return R.value.width/e}),bn=p(()=>C.allMinimaps.length?C.allMinimaps.filter(e=>e.type===`bar`&&e.isVisible).length:0),xn=p(()=>V.value/(bn.value||1)*.8);function Sn(e,t,n){let r=xn.value,i=Math.max(1,bn.value),a=_n.value-1;return n===0?e+r/2*t:n===a?e-r/2*(i-t):e-i*r/2+t*r}function Cn(e,t){return[0,_n.value-1].includes(t)?xn.value/2:xn.value}let wn=p(()=>{let e=[];if(Array.isArray(C.minimap)&&C.minimap.length&&C.minimapMerged&&e.push(...C.minimap.map(qt).filter(Number.isFinite)),Array.isArray(C.allMinimaps)&&C.allMinimaps.length)for(let t of C.allMinimaps)t?.isVisible&&Array.isArray(t?.series)&&e.push(...t.series.map(qt).filter(Number.isFinite));return e.length?{min:Math.min(...e),max:Math.max(...e)}:{min:0,max:1}}),Tn=p(()=>{if(C.minScale==null&&C.forceZeroCenter)return null;let e=Number(C.minScale);return Number.isFinite(e)?e:null}),En=p(()=>{if(C.maxScale==null&&C.forceZeroCenter)return null;let e=Number(C.maxScale);return Number.isFinite(e)?e:null}),Dn=p(()=>Tn.value!==null&&En.value!==null),On=p(()=>{let{min:e,max:t}=wn.value,n=Tn.value,r=En.value,i,a;return n!==null&&r!==null?(i=Math.min(n,e),a=Math.max(r,t)):(i=n===null?e:n,a=r===null?t:r),Number.isFinite(i)||(i=0),Number.isFinite(a)||(a=1),i===a?a=i+1:i>a&&([i,a]=[a,i]),{min:i,max:a}}),kn=p(()=>On.value.min),An=p(()=>On.value.max),jn=p(()=>kn.value<0&&An.value>0||An.value<=0?kn.value:0),Mn=e=>{let t=Math.max(1,R.value.height);return Pn(kn.value,An.value,t,Dn.value)(e)},Nn=p(()=>Mn(0));function Pn(e,t,n,r=!1){let i=(e,t,n)=>Math.max(t,Math.min(n,e)),a=1e-9,o=Math.max(a,t-e);if(r)return t=>n-(t-e)/o*n;if(t<=0){let t=Math.max(a,0-e);return r=>n-(r-e)/t*n}if(e>=0){let e=Math.max(a,t-0);return t=>n-(t-0)/e*n}{let r=Math.max(a,Math.max(Math.abs(e),Math.abs(t)));return e=>(1-(i(e/r,-1,1)+1)/2)*n}}function Fn(e,n=!1,i=!1){if(!e||!e.length)return{fullSet:``,points:[],selectionSet:``,sliced:[],firstPlot:null,lastPlot:null,hasFull:!1,hasSelection:!1,fullMarkers:[],selectionMarkers:[],dashed:!1};let c=Math.max(1,R.value.height),ee=Pn(kn.value,An.value,c,Dn.value),te=e.length,l=Math.min(Math.max(0,B.value),Math.max(0,te-1)),ne=Math.min(te,Math.max(l+1,gn.value)),u=e.map((e,t)=>{let n=qt(e),r=Number.isFinite(n),i=Yt(e,t),a=Dn.value?((e,t,n)=>Math.max(t,Math.min(n,e)))(0,kn.value,An.value):0,o=ee(a);return{x:i,y:r?ee(n):NaN,v:n,value:r?n:null,y0:o,i:t,xValue:Jt(e,t)}}),re=e=>e>=0&&e<u.length&&Number.isFinite(u[e]?.value),ie=u.filter(e=>Number.isFinite(e.value)&&!re(e.i-1)&&!re(e.i+1)),ae=C.useValueRange?ie.filter(e=>e.xValue>=Number(T.value)&&e.xValue<=Number(E.value)):ie.filter(e=>e.i>=l&&e.i<ne),d=C.useValueRange?u.filter(e=>e.xValue>=Number(T.value)&&e.xValue<=Number(E.value)):u.slice(l,ne);return{fullSet:u.length>=2?i?o(C.cutNullValues?u:u.filter(e=>e.value!=null)):C.smoothMinimap||n?C.cutNullValues?t(u):r(u.filter(e=>e.value!=null)):C.cutNullValues?s(u):a(u.filter(e=>e.value!=null)):``,points:u,selectionSet:d.length>=2?i?o(C.cutNullValues?d:d.filter(e=>e.value!=null)):C.smoothMinimap||n?C.cutNullValues?t(d):r(d.filter(e=>e.value!=null)):C.cutNullValues?s(d):a(d.filter(e=>e.value!=null)):``,sliced:d,firstPlot:C.useValueRange?d[0]||null:u[l]||null,lastPlot:C.useValueRange?d[d.length-1]||null:u[Math.max(0,ne-1)]||null,hasFull:u.length>=2,hasSelection:d.length>=2,fullMarkers:ie,selectionMarkers:ae}}let H=p(()=>C.minimap.length?Fn(C.minimap):[]),U=p(()=>C.allMinimaps.length?C.allMinimaps.map((e,t)=>{let n=Fn(e?.series||[],!!e.smooth,!!e.useStepper),r=e?.id??e?.name??t;return{key:typeof r==`object`?JSON.stringify(r):String(r),color:e?.color,...n,temperatureColors:e?.temperatureColors??null,isVisible:e.isVisible,type:e.type||void 0,dashed:e.dashed??!1,useStepper:!!e.useStepper}}):[]),W=p(()=>{if(C.useValueRange){let e=Gt(T.value),t=Gt(E.value);return{x:e,width:Math.max(0,t-e)}}let e=B.value,t=Math.max(e+1,gn.value);return{x:V.value*e+(C.minimapCompact?0:V.value/2),width:V.value*(t-e)-V.value}}),G=y(C.minimapSelectedIndex),In=e=>Math.round(C.min+e),Ln=p({get(){return k.value?B.value:Number(M.value)},set(e){if(k.value){if(C.useValueRange){let t=jt(e);Jn(Math.min(Math.max(Number(C.min),t),Number(E.value)-j.value));return}let t=Math.round(+e||0);Jn(In(t))}else{let t=jt(e),n=Number(E.value)-j.value,r=Math.min(Math.max(C.min,t),n);K.value&&(K.value.valueAsNumber=r),Jn(r)}}}),Rn=p({get(){return k.value?Math.max(B.value,gn.value-1):Number(N.value)},set(e){if(k.value){if(C.useValueRange){let t=jt(e);Xn(Math.max(Number(T.value)+j.value,Math.min(t,Number(C.max))));return}let t=Math.round(+e||0);Xn(In(t+1))}else{let t=jt(e),n=Number(T.value)+j.value,r=Math.max(n,Math.min(t,C.max));q.value&&(q.value.valueAsNumber=r),Xn(r)}}}),zn=0;function Bn(e,t){if(t===zn){if(C.useValueRange){G.value=Number.isFinite(Number(e))?Gt(Number(e)):null;return}G.value=mn(C.valueStart)+e}}let Vn=ie(Bn,60);x(()=>C.minimapSelectedIndex,(e,t)=>{if(zn+=1,[null,void 0].includes(e)){G.value=null;return}e!==t&&Vn(e,zn)},{immediate:!0});function Hn(e){if(Vt.value)return;G.value=e;let t=B.value,n=gn.value;e>=t&&e<n&&!Q.value&&F(`trapMouse`,e-t)}function Un(e){let t=Kt(e),n=C.allMinimaps.flatMap(e=>(e.series||[]).map((e,n)=>({point:e,index:n,x:Number(e?.x),distance:Math.abs(Number(e?.x)-t)}))).filter(e=>Number.isFinite(e.x));return n.length?n.reduce((e,t)=>t.distance<e.distance?t:e,n[0]):null}function Wn(e){if(!un.value||Vt.value)return;let t=Gr(e.clientX);if(C.useValueRange){let e=Un(t);if(!e){Gn();return}G.value=Gt(e.x),F(`trapMouse`,e.index),F(`trapMouseValue`,e.x);return}Hn(Kr(t))}function Gn(){G.value=null,!Vt.value&&(F(`trapMouse`,null),F(`trapMouseValue`,null))}let K=y(null),q=y(null);function Kn(e){if(typeof e==`object`&&e&&`target`in e){let t=e.target,n=`valueAsNumber`in t?t.valueAsNumber:+t.value;return Number.isFinite(n)?n:NaN}let t=+e;return Number.isFinite(t)?t:NaN}let qn=0;function Jn(e){O.value=!0;let t=Kn(e);Number.isFinite(t)&&(cancelAnimationFrame(qn),qn=requestAnimationFrame(()=>{M.value=t}))}let Yn=0;function Xn(e){O.value=!0;let t=Kn(e);Number.isFinite(t)&&(cancelAnimationFrame(Yn),Yn=requestAnimationFrame(()=>{N.value=t}))}function Zn(e,t){let n=Kn(e),r=Kn(t);if(!Number.isFinite(n)||!Number.isFinite(r))return;cancelAnimationFrame(qn),cancelAnimationFrame(Yn);let i=Number(C.min),a=Number(C.max),o=j.value,s=jt(Math.max(i,Math.min(n,a))),c=jt(Math.max(i,Math.min(r,a)));s=Math.min(s,a-o),c=Math.max(c,s+o),c=Math.min(c,a),c<=s&&(s=i,c=a),T.value=s,E.value=c,K.value&&(K.value.value=String(s)),q.value&&(q.value.value=String(c))}pe(()=>{cancelAnimationFrame(qn),cancelAnimationFrame(Yn)});let Qn=p(()=>C.valueEnd-C.valueStart),$n=p(()=>Qn.value<C.max-C.min),er=y(!1),tr=y(null),nr=p(()=>(Zt.value-48)/(C.max-C.min)*Qn.value),rr=p(()=>Math.max(1,Zt.value-Dt-nr.value)),ir=p(()=>Math.max(1,C.max-C.min-Qn.value)),ar=p(()=>ir.value/rr.value),or=y(0),sr=y(0),cr=y(0),lr=y(0),J=null,Y=null,X=null,Z=null,ur=y(C.min);function dr(e){if(!w.value)return C.min;let t=w.value.getBoundingClientRect(),n=t.left+Dt/2,r=t.right-Dt/2,i=Math.max(1,r-n),a=(Math.max(n,Math.min(e,r))-n)/i,o=Math.max(1,C.max-C.min);return Math.round(C.min+a*o)}let fr=async e=>{if(O.value=!0,Cr.value=!0,!C.enableSelectionDrag)return;let t=e.type===`touchstart`;t||e.stopPropagation();let n=t&&e.targetTouches&&e.targetTouches[0]?e.targetTouches[0]:null,r=t?n?n.target:null:e.target;if(!r||!(r instanceof Element)||r.classList?.contains(`range-handle`)||r.classList?.contains(`vue-ui-zoom-compact-minimap-handle`)||r.closest(`.vue-ui-zoom-compact-minimap-handle`))return;er.value=!0;let i=t?n?n.clientX:0:e.clientX;if(tr.value=i,or.value=i,C.focusOnDrag&&!$n.value&&w.value&&!Bt.value){Bt.value=!0;try{ur.value=dr(i);let e=Math.min(.95,Math.max(.05,C.focusRangeRatio)),t=Number(C.max)-Number(C.min),n=Math.max(1,Math.round(t*e)),r=Math.floor(n/2),a=ur.value-r;a=Math.max(Number(C.min),Math.min(a,Number(C.max)-n));let o=Math.min(Number(C.max),a+n);M.value=a,N.value=o,Qt(a),$t(o),ee(w.value,`mouseup`),await ue(),ee(w.value,`mousedown`,{clientX:i})}finally{Bt.value=!1}return}sr.value=T.value,cr.value=E.value,lr.value=ar.value,J=t?`touchmove`:`mousemove`,Y=t?`touchend`:`mouseup`,X=t?mr:pr,Z=t?_r:gr,window.addEventListener(J,X,{passive:!1}),window.addEventListener(Y,Z)};function pr(e){er.value&&hr(e.clientX)}function mr(e){if(!er.value||!w.value)return;let t=e.target;if(!(t instanceof Element)||!w.value.contains(t)||t.classList&&t.classList.contains(`range-handle`))return;e.preventDefault();let n=e.targetTouches&&e.targetTouches[0]?e.targetTouches[0]:null;n&&hr(n.clientX)}function hr(e){if(!er.value)return;let t=dr(or.value),n=dr(e)-t,r=Math.round(sr.value+n);r=Math.max(C.min,Math.min(r,C.max-Qn.value));let i=r+Qn.value;M.value=r,N.value=i,Qt(r),$t(i)}function gr(){vr()}function _r(){vr()}function vr(){er.value=!1,J&&X&&window.removeEventListener(J,X),Y&&Z&&window.removeEventListener(Y,Z),J=Y=null,X=Z=null,P()}let Q=y(!1),yr=y(null),br=y(null),xr=y(1),Sr=y(1),Cr=y(!1);function wr(){if(yr.value){let e=Math.round(yr.value.getBoundingClientRect().width);e!==xr.value&&(xr.value=e)}}function Tr(){if(br.value){let e=Math.round(br.value.getBoundingClientRect().width);e!==Sr.value&&(Sr.value=e)}}he(()=>{wr(),Tr()});let Er=y(0);function Dr(e){Er.value=+(e===`start`)}let Or=y(!1),kr=y({width:0,left:0});x([T,E],async()=>{if(await ue(),!yr.value||!br.value){Or.value=!1,kr.value={width:0,left:0};return}let e=yr.value.getBoundingClientRect(),t=br.value.getBoundingClientRect();Or.value=e.x+e.width>t.x;let n=e.x+e.width/2,r=t.x+t.width/2,i=e.width+t.width,a=(n+r)/2;kr.value={width:i,left:a-i/2}}),he(()=>{wr(),Tr()}),x(()=>C.labelLeft,()=>{ue(wr)},{deep:!0}),x(()=>C.labelRight,()=>{ue(Tr)},{deep:!0});let $=p(()=>{let t=``,n=``,r=!1;if(e(C.customFormat))try{let e=C.customFormat({absoluteIndex:T.value,seriesIndex:T.value,datapoint:C.selectedSeries,timeLabel:C.preciseLabels[T.value],side:`left`}),i=C.customFormat({absoluteIndex:Ht.value,seriesIndex:-1,datapoint:C.selectedSeries,timeLabel:C.useValueRange?null:C.preciseLabels[Ht.value],side:`right`});typeof e==`string`&&typeof i==`string`&&(t=e,n=i,r=!0)}catch{r=!1}if(!r){let e=C.useValueRange?{text:String(Math.round(T.value*1e3)/1e3)}:C.usePreciseLabels?C.preciseLabels.find(e=>e.absoluteIndex===T.value):C.timeLabels.find(e=>e.absoluteIndex===T.value),r=C.useValueRange?{text:String(Math.round(E.value*1e3)/1e3)}:C.usePreciseLabels?C.preciseLabels.find(e=>e.absoluteIndex===Ht.value):C.timeLabels.find(e=>e.absoluteIndex===Ht.value);t=e?e.text:``,n=r?r.text:``}return{left:t,right:n}});pe(()=>{pn.value&&pn.value.disconnect(),J&&X&&window.removeEventListener(J,X),Y&&Z&&window.removeEventListener(Y,Z),J=Y=null,X=Z=null,clearTimeout(null)});let Ar=p(()=>{if(!un.value||G.value===null)return null;if(C.useValueRange){let e=G.value;return e<W.value.x||e>W.value.x+W.value.width?null:{x1:e,x2:e,y1:0,y2:Math.max(R.value.height,0),stroke:C.minimapIndicatorColor,"stroke-linecap":`round`,"stroke-dasharray":2,"stroke-width":1}}if(G.value>=B.value&&G.value<gn.value){let e=G.value,t=V.value*e+(C.minimapCompact?0:V.value/2);return{x1:t,x2:t,y1:0,y2:Math.max(R.value.height,0),stroke:C.minimapIndicatorColor,"stroke-linecap":`round`,"stroke-dasharray":2,"stroke-width":1}}return null}),jr=p(()=>Number(T.value)<Number(E.value)-1),Mr=p(()=>Number(T.value)>Number(C.min)),Nr=p(()=>Number(E.value)<Number(C.max)),Pr=p(()=>Number(E.value)>Number(T.value)+1);function Fr(e){let t=Number(T.value)+e;e>0&&!jr.value||e<0&&!Mr.value||(O.value=!0,M.value=t,P())}function Ir(e){let t=Number(E.value)+e;e>0&&!Nr.value||e<0&&!Pr.value||(O.value=!0,N.value=t,P())}let Lr={plus:()=>Fr(1),minus:()=>Fr(-1),canPlus:jr,canMinus:Mr},Rr={plus:()=>Ir(1),minus:()=>Ir(-1),canPlus:Nr,canMinus:Pr};function zr(e){if(!e||Br(e.target))return;let t=e.key,n=t===`ArrowLeft`||t===`ArrowDown`||t===`-`||t===`Subtract`,r=t===`ArrowRight`||t===`ArrowUp`||t===`+`||t===`Add`;(n||r)&&(e.preventDefault(),e.stopPropagation(),r?(Lr.plus(),Rr.plus()):(Lr.minus(),Rr.minus()))}function Br(e){return e instanceof HTMLElement&&(e.isContentEditable||e.tagName===`INPUT`||e.tagName===`TEXTAREA`||e.tagName===`SELECT`)}function Vr(e){if(!D.value||!C.minimapCompact)return;let t=w.value;if(!t)return;let n=e===`start`?`[data-cy="slicer-compact-handle-left"]`:`[data-cy="slicer-compact-handle-right"]`,r=t.querySelector(n);r&&r instanceof SVGElement&&typeof r.focus==`function`&&r.focus()}function Hr(e,t){if(!t||Br(t.target))return;let n=t.key,r=n===`ArrowLeft`||n===`ArrowDown`||n===`-`||n===`Subtract`,i=n===`ArrowRight`||n===`ArrowUp`||n===`+`||n===`Add`;(r||i)&&(t.preventDefault(),t.stopPropagation(),e===`start`?i?Lr.plus():Lr.minus():i?Rr.plus():Rr.minus(),ue(()=>Vr(e)))}let Ur=p(()=>({tabindex:0,role:`slider`,"aria-label":`Range start`,"aria-valuemin":Number(C.min),"aria-valuemax":Math.max(Number(C.min),Number(E.value)-1),"aria-valuenow":Number(T.value)})),Wr=p(()=>({tabindex:0,role:`slider`,"aria-label":`Range end`,"aria-valuemin":Math.min(Number(C.max),Number(T.value)+1),"aria-valuemax":Number(C.max),"aria-valuenow":Number(E.value)}));function Gr(e){if(!zt.value)return 0;let t=zt.value.getBoundingClientRect();if(!t.width)return 0;let n=(e-t.left)/t.width;return Math.min(1,Math.max(0,n))*R.value.width}function Kr(e){let t=Math.max(0,z.value-1),n=Math.max(1,R.value.width),r=Math.min(1,Math.max(0,e/n));return Math.min(t,Math.max(0,Math.round(r*t)))}function qr(e,t){let n=Math.min(Math.max(0,t),Math.max(1,R.value.width));if(C.useValueRange){let t=Kt(n);if(e===`start`){let e=Math.min(t,Number(E.value)-j.value);M.value=e,Qt(e);return}if(e===`end`){let e=Math.max(Number(T.value)+j.value,t),n=Math.min(Number(C.max),e);N.value=n,$t(n);return}}let r=Kr(n);if(e===`start`){let e=Math.min(C.min+r,Number(E.value)-1);M.value=e,Qt(e);return}if(e===`end`){let e=Math.max(Number(T.value)+1,C.min+r+1),t=Math.min(C.max,e);N.value=t,$t(t)}}function Jr(e=!1){let t=It.value;Ft.value=null,A.value=null,It.value=!1,Lt.value=0,Rt.value=0,e&&t&&P()}function Yr(e,t){if(Ft.value!==e||A.value!==t.pointerId||!fn.value)return;if(t.pointerType===`mouse`&&!(t.buttons&1)){Jr(!0);return}t.preventDefault();let n=t.clientX-Lt.value;if(!It.value){if(Math.abs(n)<4)return;It.value=!0,O.value=!0,Cr.value=!0}let r=Gr(t.clientX)-Rt.value;qr(e,e===`start`?r+Xt.value:r)}function Xr(e,t){if(Ft.value!==e||A.value!==t.pointerId)return;let n=t.currentTarget,r=t.pointerId;Jr(!0),n?.hasPointerCapture?.(r)&&n.releasePointerCapture(r)}function Zr(e,t){Ft.value===e&&A.value===t.pointerId&&Jr(!0)}function Qr(e,t){if(!D.value||!C.minimapCompact||!fn.value||t.pointerType===`mouse`&&t.button!==0||A.value!==null)return;t.preventDefault(),t.stopPropagation(),G.value=null;let n=Gr(t.clientX),r=e===`start`?W.value.x-Xt.value:W.value.x+W.value.width;Ft.value=e,A.value=t.pointerId,It.value=!1,Lt.value=t.clientX,Rt.value=n-r,t.currentTarget?.setPointerCapture?.(t.pointerId)}x(k,e=>{!e&&A.value!==null&&Jr(!0)});let $r=p(()=>B.value),ei=p(()=>Math.max(B.value,gn.value-1));p(()=>{if(!D.value||!C.minimapCompact||!C.allMinimaps.length)return[];let e=$r.value,t=ei.value;return U.value.flatMap(n=>{if(!n?.isVisible||![`line`,`plot`].includes(n.type)||!n.type)return[];let r=[],i=n.points?.find(t=>t.i===e&&t.value!==null),a=n.points?.find(e=>e.i===t&&e.value!==null);return i&&r.push({key:`${n.key}-left-${i.i}`,x:i.x,y:i.y,color:n.color}),a&&t!==e&&r.push({key:`${n.key}-right-${a.i}`,x:a.x,y:a.y,color:n.color}),r})});let ti=p(()=>Math.min(40,Math.max(20,C.handleWidth))),ni=p(()=>Math.max(Ot,ti.value)),ri=p(()=>Math.max(Ot,Number(R.value.height)||0)),ii=p(()=>(R.value.height-ri.value)/2),ai=p(()=>W.value.x),oi=p(()=>W.value.x+W.value.width);return kt({setStartValue:Jn,setEndValue:Xn,setRangeValues:Zn}),(e,t)=>(v(),h(`div`,{"data-minimap":D.value,"data-dom-to-png-ignore":``,"data-dom-to-png-ignore-layout":``,class:`vue-data-ui-zoom`,ref_key:`zoomWrapper`,ref:w,onMousedown:fr,onTouchstart:fr,style:_(Nt.value)},[g(`div`,we,[u.valueStart!==u.refreshStartPoint||u.valueEnd!==en.value?(v(),h(`div`,Te,[ge(e.$slots,`reset-action`,{reset:dn},()=>[g(`button`,{tabindex:`0`,role:`button`,class:`vue-data-ui-refresh-button`,style:_({top:D.value?`36px`:`-16px`,cursor:u.isCursorPointer?`pointer`:`default`}),onClick:dn},[se(re,{name:`refresh`,stroke:u.textColor},null,8,[`stroke`])],4)],!0)])):m(``,!0)]),g(`div`,{class:`double-range-slider`,ref_key:`minimapWrapper`,ref:fn,style:_([{"z-index":`0`},D.value?{"--minimap-unit-px":V.value+`px`,"--minimap-offset-px":(u.minimapCompact?0:V.value/2)+`px`}:void 0]),onMouseenter:t[26]||=e=>Cr.value=!0,onMouseleave:t[27]||=e=>Cr.value=!1},[D.value?(v(),h(`div`,Ee,[(v(),h(`svg`,{ref_key:`minimapSvg`,ref:zt,key:`mm-${u.minimapMerged?`merged`:`split`}-${u.minimapCompact?`compact`:`normal`}`,xmlns:ve(ne),viewBox:`0 0 ${Math.max(0,R.value.width)} ${Math.max(0,R.value.height)}`,preserveAspectRatio:`none`},[g(`defs`,null,[se(oe,{t:`linear`,id:Pt.value,x1:`0%`,y1:`0%`,x2:`0%`,y2:`100%`,stops:[[`0%`,u.minimapLineColor,.31],[`100%`,`transparent`,0]]},null,8,[`id`,`stops`]),g(`clipPath`,{id:`selection_clip_${Pt.value}`},[g(`rect`,{x:W.value.x,y:`0`,width:Math.max(0,W.value.width),height:Math.max(R.value.height,0)},null,8,ke)],8,Oe)]),u.minimapCompact?(v(),h(`rect`,{key:0,class:`vue-ui-zoom-minimap-frame`,x:0,y:0,width:R.value.width,height:R.value.height,fill:`none`,stroke:u.minimapFrameColor,rx:3},null,8,Ae)):m(``,!0),e.$slots.slotMap?m(``,!0):(v(),h(f,{key:1},[u.minimapMerged?(v(),h(`path`,{key:0,d:`M${H.value.fullSet}`,stroke:`${u.minimapLineColor}`,fill:`none`,"stroke-width":`1`,"stroke-linecap":`round`,"stroke-linejoin":`round`,style:{opacity:`0.6`}},null,8,je)):m(``,!0),u.minimapMerged&&!u.minimapCompact?(v(),h(`path`,{key:1,d:`M${V.value/2},${Math.max(R.value.height,0)} ${H.value.fullSet} L${R.value.width-V.value/2},${Math.max(R.value.height,0)}Z`,fill:`url(#${Pt.value})`,stroke:`none`,style:{opacity:`0.6`}},null,8,Me)):u.minimapMerged?m(``,!0):(v(),h(f,{key:2},[(v(!0),h(f,null,b(U.value.filter(e=>e.type===`bar`&&e.isVisible),(e,t)=>(v(),h(`g`,null,[(v(!0),h(f,null,b(e.points,(n,r)=>(v(),h(f,null,[e&&!isNaN(n.y)?(v(),h(`rect`,{key:0,x:Sn(n.x,t,r),y:n.v>=0?n.y:n.y0,width:Cn(t,r),height:n.v>=0?n.y0-n.y:n.y-n.y0,fill:e.color,style:{opacity:.6}},null,8,Ne)):m(``,!0)],64))),256))]))),256)),(v(!0),h(f,null,b(U.value.filter(e=>e.type===`line`),e=>(v(),h(`g`,null,[e.isVisible?(v(),h(`path`,{key:0,d:`M ${e.fullSet}`,fill:`none`,stroke:e.color,style:{opacity:`0.6`},"stroke-dasharray":e.dashed?`2 4`:0},null,8,Pe)):m(``,!0),e.isVisible&&u.cutNullValues?(v(!0),h(f,{key:1},b(e.fullMarkers,t=>(v(),h(`circle`,{key:`sel-dot-under-${e.key}-${t.i}`,cx:t.x,cy:t.y,r:`2`,fill:e.color,stroke:L.value,"stroke-width":`0.5`,style:{opacity:`0.6`}},null,8,Fe))),128)):m(``,!0)]))),256)),(v(!0),h(f,null,b(U.value.filter(e=>e.type===`plot`),e=>(v(),h(`g`,null,[(v(!0),h(f,null,b(e.points,t=>(v(),h(`g`,null,[e.isVisible&&t.value!==null?(v(),h(`circle`,{key:`sel-plot-under-${e.key}-${t.i}`,cx:t.x,cy:t.y,r:`2`,fill:e.color,stroke:L.value,"stroke-width":`0.5`,style:{opacity:`0.6`}},null,8,Ie)):m(``,!0)]))),256))]))),256))],64))],64)),g(`rect`,{x:W.value.x,y:0,width:Math.max(0,W.value.width),height:Math.max(R.value.height,0),fill:L.value,rx:u.minimapSelectionRadius,stroke:`none`},null,8,Le),g(`rect`,{x:W.value.x,y:0,width:W.value.width<0?0:W.value.width,height:Math.max(R.value.height,0),rx:u.minimapSelectionRadius,fill:L.value,style:_({opacity:er.value||O.value?0:1})},null,12,Re),g(`rect`,{x:W.value.x,y:0,width:W.value.width<0?0:W.value.width,height:Math.max(R.value.height,0),fill:u.minimapSelectedColor,rx:u.minimapSelectionRadius,style:_({opacity:u.minimapSelectedColorOpacity}),tabindex:`0`,role:`slider`,"aria-label":`Selected range`,"aria-valuemin":Number(C.min),"aria-valuemax":Number(C.max),"aria-valuenow":Number(T.value),"aria-valuetext":$.value.left&&$.value.right?`${$.value.left} – ${$.value.right}`:void 0,onKeydown:zr},null,44,ze),!u.minimapMerged&&jn.value<0?(v(),h(`line`,{key:2,class:`slicer-minimap-zero-line`,x1:0,x2:R.value.width,y1:Nn.value,y2:Nn.value,stroke:u.minimapFrameColor,"stroke-width":`0.5`},null,8,Be)):m(``,!0),e.$slots.slotMap?m(``,!0):(v(),h(f,{key:3},[u.minimapMerged?(v(),h(`g`,Ve,[H.value&&H.value.sliced&&H.value.sliced.length?(v(),h(f,{key:0},[H.value.selectionSet?(v(),h(`path`,{key:0,d:`M ${H.value.selectionSet}`,stroke:`${u.minimapLineColor}`,fill:`transparent`,"stroke-width":`2`,"stroke-linecap":`round`,"stroke-linejoin":`round`},null,8,He)):m(``,!0)],64)):m(``,!0),H.value&&H.value.firstPlot?(v(),h(`circle`,{key:1,cx:H.value.firstPlot.x,cy:H.value.firstPlot.y,"stroke-width":`0.5`,stroke:L.value,r:`3`,fill:u.minimapLineColor},null,8,Ue)):m(``,!0),H.value&&H.value.lastPlot?(v(),h(`circle`,{key:2,cx:H.value.lastPlot.x,cy:H.value.lastPlot.y,"stroke-width":`0.5`,stroke:L.value,r:`3`,fill:u.minimapLineColor},null,8,We)):m(``,!0)])):(v(),h(`g`,Ge,[(v(!0),h(f,null,b(U.value.filter(e=>e.type===`bar`&&e.isVisible),(e,t)=>(v(),h(`g`,null,[(v(!0),h(f,null,b(e.points,(n,r)=>(v(),h(f,null,[e&&!isNaN(n.y)?(v(),h(`rect`,{key:0,x:Sn(n.x,t,r),y:n.v>=0?n.y:n.y0,width:Cn(t,r),height:n.v>=0?n.y0-n.y:n.y-n.y0,fill:e.color,style:_({opacity:+(r>=M.value&&r<N.value)})},null,12,Ke)):m(``,!0)],64))),256))]))),256)),(v(!0),h(f,null,b(U.value.filter(e=>e.type===`line`),(e,t)=>(v(),h(`g`,{key:String(e.key)},[e&&e.hasSelection&&e.selectionSet&&e.isVisible?(v(),h(`path`,{key:0,d:`M ${e.selectionSet}`,stroke:e.temperatureColors?`url(#temperature_grad_line_${t}_${u.uuid})`:e.color,fill:`transparent`,"stroke-width":`2`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-dasharray":e.dashed?`2 4`:0},null,8,qe)):m(``,!0)]))),128)),(v(!0),h(f,null,b(U.value.filter(e=>e.type===`plot`),e=>(v(),h(`g`,{key:String(e.key)},[(v(!0),h(f,null,b(e.sliced,t=>(v(),h(`g`,null,[e.isVisible&&t.value!==null?(v(),h(`circle`,{key:0,cx:t.x,cy:t.y,r:`2`,fill:e.color,stroke:L.value,"stroke-width":`0.5`,style:{opacity:`0.6`}},null,8,Je)):m(``,!0)]))),256))]))),128))]))],64)),e.$slots.slotMap?ge(e.$slots,`slotMap`,fe(ce({width:Math.max(0,R.value.width),height:Math.max(0,R.value.height),zeroY:Nn.value,unitW:Math.max(0,V.value)})),void 0,!0,4):m(``,!0),G.value!==null&&!Q.value?(v(),h(`line`,fe(le({key:5},Ar.value)),null,16)):m(``,!0),g(`rect`,{x:0,y:0,width:Math.max(0,R.value.width),height:Math.max(0,R.value.height),fill:`transparent`,style:_([{"pointer-events":`all !important`},{cursor:u.enableSelectionDrag?Q.value?`grabbing`:`grab`:`default`}]),onMousedown:t[0]||=e=>Q.value=!0,onMouseup:t[1]||=e=>Q.value=!1,onMousemove:Wn,onMouseleave:Gn},null,44,Ye),D.value&&u.minimapCompact?(v(),h(f,{key:6},[g(`g`,le({class:`vue-ui-zoom-compact-minimap-handle`,transform:`translate(${ai.value}, 0)`},Ur.value,{onKeydown:t[2]||=e=>Hr(`start`,e),onPointerdown:t[3]||=S(e=>Qr(`start`,e),[`stop`,`prevent`]),onPointermove:t[4]||=S(e=>Yr(`start`,e),[`stop`,`prevent`]),onPointerup:t[5]||=S(e=>Xr(`start`,e),[`stop`,`prevent`]),onPointercancel:t[6]||=S(e=>Xr(`start`,e),[`stop`,`prevent`]),onLostpointercapture:t[7]||=e=>Zr(`start`,e),onClick:t[8]||=S(()=>{},[`stop`,`prevent`])}),[g(`rect`,{class:`vue-ui-zoom-compact-minimap-handle-hit`,x:-ni.value,y:ii.value,width:ni.value,height:ri.value,fill:`transparent`},null,8,Ze),g(`rect`,{class:`vue-ui-zoom-compact-minimap-handle-visual`,x:-ti.value,y:0,width:ti.value,height:R.value.height,fill:u.handleFill||L.value,stroke:u.handleBorderColor||u.textColor,"stroke-width":u.handleBorderWidth,rx:3},null,8,Qe),u.handleType&&u.handleType!==`empty`?(v(),h(`g`,{key:0,class:`compact-handle-icon`,transform:`translate(${-ti.value}, 0)`,style:{"pointer-events":`none`}},[(v(),h(`svg`,{width:ti.value,height:R.value.height,viewBox:`0 0 20 20`,preserveAspectRatio:`xMidYMid meet`},[u.handleType===`arrow`?(v(),h(`path`,{key:0,d:`M 7 7 L 3 10 L 7 13 L 7 7 M 13 7 L 17 10 L 13 13 L 13 7`,fill:L.value,stroke:u.handleIconColor||u.textColor,"stroke-width":.618,"stroke-linejoin":`round`,"stroke-linecap":`round`},null,8,tt)):u.handleType===`chevron`?(v(),h(`path`,{key:1,d:`M 6 7 L 4 10 L 6 13 M 14 7 L 16 10 L 14 13`,fill:`none`,stroke:u.handleIconColor||u.textColor,"stroke-width":.618,"stroke-linejoin":`round`,"stroke-linecap":`round`},null,8,nt)):u.handleType===`grab`?(v(),h(`path`,{key:2,d:`M 8 5 A 1 1 0 0 0 8 7 A 1 1 0 0 0 8 5 M 8 9 A 1 1 0 0 0 8 11 A 1 1 0 0 0 8 9 M 8 13 A 1 1 0 0 0 8 15 A 1 1 0 0 0 8 13 M 12 5 A 1 1 0 0 0 12 7 A 1 1 0 0 0 12 5 M 12 9 A 1 1 0 0 0 12 11 A 1 1 0 0 0 12 9 M 12 13 A 1 1 0 0 0 12 15 A 1 1 0 0 0 12 13`,fill:u.handleIconColor||u.textColor,stroke:`none`,opacity:`0.6`},null,8,rt)):m(``,!0)],8,et))],8,$e)):m(``,!0)],16,Xe),g(`g`,le({class:`vue-ui-zoom-compact-minimap-handle`,transform:`translate(${oi.value}, 0)`},Wr.value,{onKeydown:t[9]||=e=>Hr(`end`,e),onPointerdown:t[10]||=S(e=>Qr(`end`,e),[`stop`,`prevent`]),onPointermove:t[11]||=S(e=>Yr(`end`,e),[`stop`,`prevent`]),onPointerup:t[12]||=S(e=>Xr(`end`,e),[`stop`,`prevent`]),onPointercancel:t[13]||=S(e=>Xr(`end`,e),[`stop`,`prevent`]),onLostpointercapture:t[14]||=e=>Zr(`end`,e),onClick:t[15]||=S(()=>{},[`stop`,`prevent`])}),[g(`rect`,{class:`vue-ui-zoom-compact-minimap-handle-hit`,x:0,y:ii.value,width:ni.value,height:ri.value,fill:`transparent`},null,8,at),g(`rect`,{class:`vue-ui-zoom-compact-minimap-handle-visual`,x:0,y:0,width:ti.value,height:R.value.height,fill:u.handleFill||L.value,stroke:u.handleBorderColor||u.textColor,"stroke-width":u.handleBorderWidth,rx:3},null,8,ot),u.handleType&&u.handleType!==`empty`?(v(),h(`g`,st,[(v(),h(`svg`,{width:ti.value,height:R.value.height,viewBox:`0 0 20 20`,preserveAspectRatio:`xMidYMid meet`},[u.handleType===`arrow`?(v(),h(`path`,{key:0,d:`M 7 7 L 3 10 L 7 13 L 7 7 M 13 7 L 17 10 L 13 13 L 13 7`,fill:L.value,stroke:u.handleIconColor||u.textColor,"stroke-width":.618,"stroke-linejoin":`round`,"stroke-linecap":`round`},null,8,lt)):u.handleType===`chevron`?(v(),h(`path`,{key:1,d:`M 6 7 L 4 10 L 6 13 M 14 7 L 16 10 L 14 13`,fill:`none`,stroke:u.handleIconColor||u.textColor,"stroke-width":.618,"stroke-linejoin":`round`,"stroke-linecap":`round`},null,8,ut)):u.handleType===`grab`?(v(),h(`path`,{key:2,d:`M 8 5 A 1 1 0 0 0 8 7 A 1 1 0 0 0 8 5 M 8 9 A 1 1 0 0 0 8 11 A 1 1 0 0 0 8 9 M 8 13 A 1 1 0 0 0 8 15 A 1 1 0 0 0 8 13 M 12 5 A 1 1 0 0 0 12 7 A 1 1 0 0 0 12 5 M 12 9 A 1 1 0 0 0 12 11 A 1 1 0 0 0 12 9 M 12 13 A 1 1 0 0 0 12 15 A 1 1 0 0 0 12 13`,fill:u.handleIconColor||u.textColor,stroke:`none`,opacity:`0.6`},null,8,dt)):m(``,!0)],8,ct))])):m(``,!0)],16,it)],64)):m(``,!0),e.$slots.slotMap?m(``,!0):(v(),h(f,{key:7},[u.minimapMerged?(v(),h(`g`,ft,[H.value&&H.value.firstPlot&&H.value.firstPlot.value!==null?(v(),h(`circle`,{key:0,cx:H.value.firstPlot.x,cy:H.value.firstPlot.y,"stroke-width":`0.5`,stroke:L.value,r:`4`,fill:u.minimapLineColor},null,8,pt)):m(``,!0),H.value&&H.value.firstPlot&&H.value.firstPlot.value!==null?(v(),h(`circle`,{key:1,cx:H.value.firstPlot.x,cy:H.value.firstPlot.y,r:2,fill:L.value},null,8,mt)):m(``,!0),H.value&&H.value.lastPlot&&H.value.lastPlot.value!==null?(v(),h(`circle`,{key:2,cx:H.value.lastPlot.x,cy:H.value.lastPlot.y,"stroke-width":`0.5`,stroke:L.value,r:`4`,fill:u.minimapLineColor},null,8,ht)):m(``,!0),H.value&&H.value.lastPlot&&H.value.lastPlot.value!==null?(v(),h(`circle`,{key:3,cx:H.value.lastPlot.x,cy:H.value.lastPlot.y,r:`2`,fill:L.value},null,8,gt)):m(``,!0)])):(v(),h(`g`,_t,[(v(!0),h(f,null,b(U.value.filter(e=>e.type===`line`),(e,t)=>(v(),h(`g`,{key:String(e.key)},[e&&e.hasSelection&&e.selectionSet&&e.isVisible?(v(),h(`path`,{key:0,d:`M ${e.selectionSet}`,stroke:e.temperatureColors?`url(#temperature_grad_line_${t}_${u.uuid})`:e.color,fill:`transparent`,"stroke-width":`2`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-dasharray":e.dashed?`2 4`:0},null,8,vt)):m(``,!0),e.isVisible&&u.cutNullValues?(v(!0),h(f,{key:1},b(e.selectionMarkers,t=>(v(),h(`circle`,{key:`sel-dot-${e.key}-${t.i}`,cx:t.x,cy:t.y,r:`2.5`,fill:e.color,stroke:L.value,"stroke-width":`0.5`},null,8,yt))),128)):m(``,!0),e&&e.firstPlot&&e.isVisible&&e.firstPlot.value!==null?(v(),h(`circle`,{key:2,cx:e.firstPlot.x,cy:e.firstPlot.y,"stroke-width":`0.5`,stroke:L.value,r:`4`,fill:e.color},null,8,bt)):m(``,!0),e&&e.firstPlot&&e.isVisible&&e.firstPlot.value!==null?(v(),h(`circle`,{key:3,cx:e.firstPlot.x,cy:e.firstPlot.y,r:`2`,fill:L.value},null,8,xt)):m(``,!0),e&&e.lastPlot&&e.isVisible&&e.lastPlot.value!==null?(v(),h(`circle`,{key:4,cx:e.lastPlot.x,cy:e.lastPlot.y,"stroke-width":`0.5`,stroke:L.value,r:`4`,fill:e.color},null,8,St)):m(``,!0),e&&e.lastPlot&&e.isVisible&&e.lastPlot.value!==null?(v(),h(`circle`,{key:5,cx:e.lastPlot.x,cy:e.lastPlot.y,r:`2`,fill:L.value},null,8,Ct)):m(``,!0)]))),128)),(v(!0),h(f,null,b(U.value.filter(e=>e.type===`plot`),e=>(v(),h(`g`,{key:String(e.key)},[(v(!0),h(f,null,b(e.points,t=>(v(),h(`g`,null,[e.isVisible&&u.cutNullValues&&t.value!==null?(v(),h(`circle`,{key:`sel-plot-${e.key}-${t.i}`,cx:t.x,cy:t.y,r:`2.5`,fill:e.color,stroke:L.value,"stroke-width":`0.5`},null,8,wt)):m(``,!0)]))),256))]))),128))]))],64))],8,De))])):m(``,!0),g(`div`,{class:`slider-track`,style:_({visibility:D.value&&u.minimapCompact?`hidden`:`visible`})},null,4),g(`div`,{class:de({"range-highlight":!0,move:u.enableSelectionDrag}),onMousedown:t[16]||=e=>Q.value=!0,onMouseup:t[17]||=e=>Q.value=!1,style:_({...I.value,cursor:Q.value?`grabbing`:`grab`,visibility:D.value&&u.minimapCompact?`hidden`:`visible`})},null,38),u.enableRangeHandles&&!(D.value&&u.minimapCompact)?xe((v(),h(`input`,{key:1,"aria-label":`range-handle-left`,ref_key:`rangeStart`,ref:K,type:`range`,step:u.precision>0?1/10**u.precision:1,class:de({"range-left":!0,"range-handle":!0,"range-minimap":D.value&&u.verticalHandles,"range-invisible":D.value&&u.minimapCompact}),min:u.min,max:u.minimapCompact&&D.value&&!u.useValueRange?Math.max(0,z.value-1):u.max,tabindex:D.value?-1:0,"onUpdate:modelValue":t[18]||=e=>Ln.value=e,onFocus:t[19]||=e=>D.value&&e.target.blur(),onInput:t[20]||=e=>Ln.value=e.target.valueAsNumber,onChange:P,onKeyup:Se(P,[`enter`]),onBlur:P,onMouseenter:t[21]||=e=>Dr(`start`),onPointerup:P},null,42,Tt)),[[be,Ln.value,void 0,{number:!0}]]):m(``,!0),u.enableRangeHandles&&!(D.value&&u.minimapCompact)?xe((v(),h(`input`,{key:2,"aria-label":`range-handle-right`,ref_key:`rangeEnd`,ref:q,type:`range`,step:u.precision>0?1/10**u.precision:1,class:de({"range-right":!0,"range-handle":!0,"range-minimap":D.value&&u.verticalHandles,"range-invisible":D.value&&u.minimapCompact}),min:u.min,max:u.minimapCompact&&D.value&&!u.useValueRange?Math.max(0,z.value-1):u.max,tabindex:D.value?-1:0,onFocus:t[22]||=e=>D.value&&e.target.blur(),"onUpdate:modelValue":t[23]||=e=>Rn.value=e,onInput:t[24]||=e=>Rn.value=e.target.valueAsNumber,onChange:P,onKeyup:Se(P,[`enter`]),onBlur:P,onMouseenter:t[25]||=e=>Dr(`end`),onPointerup:P},null,42,Et)),[[be,Rn.value,void 0,{number:!0}]]):m(``,!0),$.value.left?(v(),h(`div`,{key:3,ref_key:`tooltipLeft`,ref:yr,class:de({"range-tooltip":!0,"range-tooltip-visible":Cr.value,"range-tooltip-arrow":I.value.arrowLeft&&!u.verticalHandles,"range-tooltip-arrow-left":!I.value.arrowLeft&&!u.verticalHandles}),style:_({left:I.value.tooltipLeft,color:ve(l)(u.selectColor),backgroundColor:u.selectColor,border:`1px solid ${L.value}`,zIndex:`${Er.value+4}`,visibility:Or.value||$.value.left===$.value.right?`hidden`:`visible`,top:D.value&&u.minimapCompact?`calc(-100% - 12px)`:`-100%`})},_e($.value.left),7)):m(``,!0),(Or.value||$.value.left===$.value.right)&&($.value.left||$.value.right)?(v(),h(`div`,{key:4,ref:`tooltipMerge`,class:de({"range-tooltip":!0,"range-tooltip-visible":Cr.value,"range-tooltip-arrow":!0,"range-tooltip-arrow-left":!I.value.arrowLeft&&!u.verticalHandles,"range-tooltip-arrow-right":!I.value.arrowRight&&!u.verticalHandles}),style:_({left:I.value.tooltipCenter,width:kr.value.width+`px`,color:ve(l)(u.selectColor),backgroundColor:u.selectColor,border:`1px solid ${L.value}`,zIndex:`4`,top:D.value&&u.minimapCompact?`calc(-100% - 12px)`:`-100%`})},_e($.value.left===$.value.right?$.value.left:`${$.value.left} - ${$.value.right}`),7)):m(``,!0),$.value.right?(v(),h(`div`,{key:5,ref_key:`tooltipRight`,ref:br,class:de({"range-tooltip":!0,"range-tooltip-visible":Cr.value,"range-tooltip-arrow":I.value.arrowRight&&!u.verticalHandles,"range-tooltip-arrow-right":!I.value.arrowRight&&!u.verticalHandles}),style:_({left:I.value.tooltipRight,color:ve(l)(u.selectColor),backgroundColor:u.selectColor,border:`1px solid ${L.value}`,zIndex:`4`,visibility:Or.value||$.value.left===$.value.right?`hidden`:`visible`,top:D.value&&u.minimapCompact?`calc(-100% - 12px)`:`-100%`})},_e($.value.right),7)):m(``,!0)],36)],44,Ce))}},[[`__scopeId`,`data-v-d5072eae`]]);export{kt as t};
@@ -1 +1 @@
1
- import{Jt as e,Wt as t}from"./lib-CV_IANZ6.js";import{t as n}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{computed as r,createElementBlock as i,nextTick as a,normalizeStyle as o,onMounted as s,openBlock as c,ref as l,renderSlot as u,toRef as d,watch as f}from"vue";var p=/*#__PURE__*/ n({__name:`SparkTooltip`,props:{svgRef:{type:Object},x:{type:Number,required:!0},y:{type:Number,required:!0},prevX:{type:Number,required:!0},prevY:{type:Number,required:!0},offsetY:{type:Number,default:0},background:{type:String},backgroundOpacity:{type:Number,default:100},borderRadius:{type:Number,default:2},borderWidth:{type:Number,default:0},borderColor:{type:String,default:`#FFFFFF`},color:{type:String},fontSize:{type:Number}},setup(n){let p=n,m=d(p.svgRef),h=l(null),g=l(0),_=l(0),v=l(!1),y=r(()=>e(p.background,p.backgroundOpacity)),b=async()=>{if(!m.value||!h.value)return;let e=t({svgElement:m.value,element:h.value,x:p.x,y:p.y,offsetY:p.offsetY}),n=t({svgElement:m.value,element:h.value,x:p.prevX,y:p.prevY,offsetY:p.offsetY});e&&n&&(v.value=!1,g.value=n.top,_.value=n.left,await a(),setTimeout(()=>{v.value=!0,g.value=e.top,_.value=e.left},50))};return s(b),f(()=>[p.x,p.y,p.prevX,p.prevY],()=>b(),{immediate:!0}),(e,t)=>(c(),i(`div`,{ref_key:`tooltipRef`,ref:h,class:`vue-data-ui-spark-tooltip`,style:o({position:`fixed`,top:`${g.value}px`,left:`${_.value}px`,pointerEvents:`none`,background:y.value,color:p.color,fontSize:`${p.fontSize}px`,borderRadius:`${p.borderRadius}px`,border:`${p.borderWidth}px solid ${p.borderColor}`,transition:v.value?`top 0.3s ease-out, left 0.3s ease-out`:`none`})},[u(e.$slots,`default`,{},void 0,!0)],4))}},[[`__scopeId`,`data-v-57d870b0`]]);export{p as default};
1
+ import{Jt as e,Wt as t}from"./lib-DqD8nbyX.js";import{t as n}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{computed as r,createElementBlock as i,nextTick as a,normalizeStyle as o,onMounted as s,openBlock as c,ref as l,renderSlot as u,toRef as d,watch as f}from"vue";var p=/*#__PURE__*/ n({__name:`SparkTooltip`,props:{svgRef:{type:Object},x:{type:Number,required:!0},y:{type:Number,required:!0},prevX:{type:Number,required:!0},prevY:{type:Number,required:!0},offsetY:{type:Number,default:0},background:{type:String},backgroundOpacity:{type:Number,default:100},borderRadius:{type:Number,default:2},borderWidth:{type:Number,default:0},borderColor:{type:String,default:`#FFFFFF`},color:{type:String},fontSize:{type:Number}},setup(n){let p=n,m=d(p.svgRef),h=l(null),g=l(0),_=l(0),v=l(!1),y=r(()=>e(p.background,p.backgroundOpacity)),b=async()=>{if(!m.value||!h.value)return;let e=t({svgElement:m.value,element:h.value,x:p.x,y:p.y,offsetY:p.offsetY}),n=t({svgElement:m.value,element:h.value,x:p.prevX,y:p.prevY,offsetY:p.offsetY});e&&n&&(v.value=!1,g.value=n.top,_.value=n.left,await a(),setTimeout(()=>{v.value=!0,g.value=e.top,_.value=e.left},50))};return s(b),f(()=>[p.x,p.y,p.prevX,p.prevY],()=>b(),{immediate:!0}),(e,t)=>(c(),i(`div`,{ref_key:`tooltipRef`,ref:h,class:`vue-data-ui-spark-tooltip`,style:o({position:`fixed`,top:`${g.value}px`,left:`${_.value}px`,pointerEvents:`none`,background:y.value,color:p.color,fontSize:`${p.fontSize}px`,borderRadius:`${p.borderRadius}px`,border:`${p.borderWidth}px solid ${p.borderColor}`,transition:v.value?`top 0.3s ease-out, left 0.3s ease-out`:`none`})},[u(e.$slots,`default`,{},void 0,!0)],4))}},[[`__scopeId`,`data-v-57d870b0`]]);export{p as default};
@@ -1 +1 @@
1
- import{t as e}from"./rolldown-runtime-DK3Fl9T5.js";import{t}from"./useNestedProp-CB186vF2.js";import{Fragment as n,computed as r,createCommentVNode as i,createElementBlock as a,createElementVNode as o,normalizeStyle as s,openBlock as c,renderSlot as l,toDisplayString as u}from"vue";var d=/* @__PURE__ */ e({default:()=>f}),f={__name:`Title`,props:{config:{type:Object,default(){return{}}},lineHeight:{type:[String,Boolean],default:!1}},setup(e){let d=e,f=r(()=>t({userConfig:d.config,defaultConfig:{title:{cy:``,text:``,color:``,fontSize:20,bold:!0,textAlign:`center`,paddingLeft:0,paddingRight:0},subtitle:{cy:``,text:``,color:``,fontSize:14,bold:!1}}}));return(t,r)=>(c(),a(n,null,[o(`div`,{class:`atom-title`,style:s({width:`calc(100% - ${f.value.title.paddingLeft+f.value.title.paddingRight}px)`,textAlign:f.value.title.textAlign,color:f.value.title.color,fontSize:`var(--title-font-size, ${f.value.title.fontSize}px)`,fontWeight:f.value.title.bold?`bold`:``,paddingLeft:f.value.title.paddingLeft+`px`,paddingRight:f.value.title.paddingRight+`px`,lineHeight:e.lineHeight?e.lineHeight:void 0})},u(f.value.title.text),5),f.value.subtitle.text?(c(),a(`div`,{key:0,class:`atom-subtitle`,style:s({width:`calc(100% - ${f.value.title.paddingLeft+f.value.title.paddingRight}px)`,textAlign:f.value.title.textAlign,color:f.value.subtitle.color,fontSize:`var(--subtitle-font-size, ${f.value.subtitle.fontSize}px)`,fontWeight:f.value.subtitle.bold?`bold`:``,paddingLeft:f.value.title.paddingLeft+`px`,paddingRight:f.value.title.paddingRight+`px`,lineHeight:e.lineHeight?e.lineHeight:void 0})},u(f.value.subtitle.text),5)):i(``,!0),f.value.subtitle.text?(c(),a(`div`,{key:1,style:s({width:`calc(100% - ${f.value.title.paddingLeft+f.value.title.paddingRight}px)`,textAlign:f.value.title.textAlign,color:f.value.subtitle.color,fontSize:`var(--subtitle-font-size, ${f.value.subtitle.fontSize}px)`,fontWeight:f.value.subtitle.bold?`bold`:``,paddingLeft:f.value.title.paddingLeft+`px`,paddingRight:f.value.title.paddingRight+`px`,lineHeight:e.lineHeight?e.lineHeight:void 0})},[l(t.$slots,`default`)],4)):i(``,!0)],64))}};export{f as n,d as t};
1
+ import{t as e}from"./rolldown-runtime-DK3Fl9T5.js";import{t}from"./useNestedProp-DrLnzyHO.js";import{Fragment as n,computed as r,createCommentVNode as i,createElementBlock as a,createElementVNode as o,normalizeStyle as s,openBlock as c,renderSlot as l,toDisplayString as u}from"vue";var d=/* @__PURE__ */ e({default:()=>f}),f={__name:`Title`,props:{config:{type:Object,default(){return{}}},lineHeight:{type:[String,Boolean],default:!1}},setup(e){let d=e,f=r(()=>t({userConfig:d.config,defaultConfig:{title:{cy:``,text:``,color:``,fontSize:20,bold:!0,textAlign:`center`,paddingLeft:0,paddingRight:0},subtitle:{cy:``,text:``,color:``,fontSize:14,bold:!1}}}));return(t,r)=>(c(),a(n,null,[o(`div`,{class:`atom-title`,style:s({width:`calc(100% - ${f.value.title.paddingLeft+f.value.title.paddingRight}px)`,textAlign:f.value.title.textAlign,color:f.value.title.color,fontSize:`var(--title-font-size, ${f.value.title.fontSize}px)`,fontWeight:f.value.title.bold?`bold`:``,paddingLeft:f.value.title.paddingLeft+`px`,paddingRight:f.value.title.paddingRight+`px`,lineHeight:e.lineHeight?e.lineHeight:void 0})},u(f.value.title.text),5),f.value.subtitle.text?(c(),a(`div`,{key:0,class:`atom-subtitle`,style:s({width:`calc(100% - ${f.value.title.paddingLeft+f.value.title.paddingRight}px)`,textAlign:f.value.title.textAlign,color:f.value.subtitle.color,fontSize:`var(--subtitle-font-size, ${f.value.subtitle.fontSize}px)`,fontWeight:f.value.subtitle.bold?`bold`:``,paddingLeft:f.value.title.paddingLeft+`px`,paddingRight:f.value.title.paddingRight+`px`,lineHeight:e.lineHeight?e.lineHeight:void 0})},u(f.value.subtitle.text),5)):i(``,!0),f.value.subtitle.text?(c(),a(`div`,{key:1,style:s({width:`calc(100% - ${f.value.title.paddingLeft+f.value.title.paddingRight}px)`,textAlign:f.value.title.textAlign,color:f.value.subtitle.color,fontSize:`var(--subtitle-font-size, ${f.value.subtitle.fontSize}px)`,fontWeight:f.value.subtitle.bold?`bold`:``,paddingLeft:f.value.title.paddingLeft+`px`,paddingRight:f.value.title.paddingRight+`px`,lineHeight:e.lineHeight?e.lineHeight:void 0})},[l(t.$slots,`default`)],4)):i(``,!0)],64))}};export{f as n,d as t};
@@ -1 +1 @@
1
- import{Jt as e}from"./lib-CV_IANZ6.js";import{Teleport as t,computed as n,createBlock as r,createCommentVNode as i,createElementBlock as a,createElementVNode as o,nextTick as s,normalizeClass as c,normalizeStyle as l,onMounted as u,onUnmounted as d,openBlock as f,ref as p,renderSlot as m,watch as h}from"vue";function g({tooltip:e,chart:t,clientPosition:n,positionPreference:r=`center`,defaultOffsetY:i=24,defaultOffsetX:a=0,blockShiftY:o=!1}){let s=p(a),c=p(i);if(e&&t){let{width:l,height:u}=e.getBoundingClientRect(),{right:d,left:f,bottom:p}=t.getBoundingClientRect();r===`center`&&(s.value=n.x+l/2>d?-l+(d-n.x):n.x-l/2<f?-l+(l-(n.x-f)):-l/2),r===`right`&&(s.value=n.x+l+a>d?-l+(d-n.x):a),r===`left`&&(s.value=n.x-l-a<f?f-n.x:-l-a),n.y+u>p&&!o&&(c.value=-u-i)}return{top:n.y+c.value,left:n.x+s.value}}function _(e,t,n){u(()=>e.addEventListener(t,n)),d(()=>e.removeEventListener(t,n))}function v(){let e=p(0),t=p(0);return _(window,`mousemove`,n=>{e.value=n.clientX,t.value=n.clientY}),{x:e,y:t}}var y=[`aria-hidden`],b=[`innerHTML`],x={__name:`Tooltip`,props:{teleportTo:{type:String,default:`body`},backgroundColor:{type:String,default:`#FFFFFF`},color:{type:String,default:`#000000`},content:String,maxWidth:{type:String,default:`300px`},parent:{type:Object},show:{type:Boolean,default:!1},isCustom:{type:Boolean,default:!1},fontSize:{type:[Number,String],default:14},borderRadius:{type:Number,default:4},borderColor:{type:String,default:`#e1e5e8`},borderWidth:{type:Number,default:1},backgroundOpacity:{type:Number,default:100},position:{type:String,default:`center`},offsetY:{type:Number,default:24},offsetX:{type:Number,default:0},blockShiftY:{type:Boolean,default:!1},isFullscreen:{type:Boolean,default:!1},smooth:{type:Boolean,default:!0},backdropFilter:{type:Boolean,default:!0},smoothForce:{type:Number,default:.18},smoothSnapThreshold:{type:Number,default:.25},isA11yMode:{type:Boolean,default:!1},a11yPosition:{type:Object,default:null}},setup(u,{expose:_}){let x=u,S=p(null),{x:C,y:w}=v(x.parent),T=p({x:0,y:0}),E=p({x:0,y:0}),D=p(null),O=p(null),k=p({scaleX:1,scaleY:1}),A=p(null);function j(){let e=N(S.value);if(D.value=e,!e){O.value=null,k.value={scaleX:1,scaleY:1},A.value=null;return}O.value=e.getBoundingClientRect(),k.value=P(e),A.value=x.parent?.getBoundingClientRect?.()||null}function M(e){return e?!!(e.transform&&e.transform!==`none`||e.perspective&&e.perspective!==`none`||e.filter&&e.filter!==`none`||e.backdropFilter&&e.backdropFilter!==`none`||e.contain&&e.contain.includes(`paint`)||e.willChange&&(e.willChange.includes(`transform`)||e.willChange.includes(`filter`))):!1}function N(e){let t=e?.parentElement||null;for(;t&&t!==document.documentElement;){if(M(getComputedStyle(t)))return t;t=t.parentElement}return null}function P(e){if(!e)return{scaleX:1,scaleY:1};let t=getComputedStyle(e).transform;if(!t||t===`none`)return{scaleX:1,scaleY:1};try{let e=new DOMMatrixReadOnly(t),n=Math.hypot(e.a,e.b),r=Math.hypot(e.c,e.d);return{scaleX:n||1,scaleY:r||1}}catch{return{scaleX:1,scaleY:1}}}function F({x:e,y:t}){x.isA11yMode||(C.value=e,w.value=t)}let I=null;function L(){if(!x.show){z();return}if(!x.smooth){E.value.x=T.value.x,E.value.y=T.value.y,z();return}let e=T.value.x-E.value.x,t=T.value.y-E.value.y;if(Math.abs(e)<=x.smoothSnapThreshold&&Math.abs(t)<=x.smoothSnapThreshold){E.value.x=T.value.x,E.value.y=T.value.y,z();return}E.value.x+=e*x.smoothForce,E.value.y+=t*x.smoothForce,I=requestAnimationFrame(L)}function R(){I==null&&x.show&&x.smooth&&(I=requestAnimationFrame(L))}function z(){I!=null&&(cancelAnimationFrame(I),I=null)}h([C,w],([e,t])=>{T.value.x=e,T.value.y=t,x.smooth?R():(E.value.x=e,E.value.y=t)}),h(()=>x.show,async e=>{if(!e){z();return}let t=C.value,n=w.value;T.value.x=t,T.value.y=n,E.value.x=t,E.value.y=n,await s(),j(),R()}),d(()=>{z()});let B=n(()=>x.isA11yMode&&x.a11yPosition&&typeof x.a11yPosition.x==`number`&&typeof x.a11yPosition.y==`number`?{x:x.a11yPosition.x,y:x.a11yPosition.y}:{x:E.value.x,y:E.value.y}),V=n(()=>{let e=O.value;if(!e)return{x:B.value.x,y:B.value.y};let{scaleX:t,scaleY:n}=k.value;return{x:(B.value.x-e.left)/t,y:(B.value.y-e.top)/n}}),H=n(()=>{let e=O.value,t=A.value;if(!e||!t)return x.parent;let{scaleX:n,scaleY:r}=k.value;return{...x.parent,getBoundingClientRect(){let i=t;return{left:(i.left-e.left)/n,top:(i.top-e.top)/r,right:(i.right-e.left)/n,bottom:(i.bottom-e.top)/r,width:i.width/n,height:i.height/r,x:(i.left-e.left)/n,y:(i.top-e.top)/r}}}}),U=n(()=>{let e=g({tooltip:S.value,chart:H.value,clientPosition:V.value,positionPreference:x.position,defaultOffsetX:x.offsetX,defaultOffsetY:x.offsetY,blockShiftY:x.blockShiftY});return{top:Math.round(e.top),left:Math.round(e.left)}}),W=n(()=>e(x.backgroundColor,x.backgroundOpacity)),G=n(()=>{let e={pointerEvents:`none`,position:`fixed`,top:`0px`,left:`0px`,transform:`translate3d(${U.value.left}px, ${U.value.top}px, 0)`,borderRadius:`${x.borderRadius}px`,border:`${x.borderWidth}px solid ${x.borderColor}`,zIndex:2147483647};return x.isCustom||Object.assign(e,{background:W.value,color:x.color,maxWidth:x.maxWidth,fontSize:`${x.fontSize}px`}),e});return _({placeTooltip:F}),(e,n)=>(f(),r(t,{to:u.isFullscreen?u.parent:u.teleportTo},[u.show?(f(),a(`div`,{key:0,ref_key:`tooltip`,ref:S,role:`tooltip`,"aria-hidden":!u.show,"aria-live":`polite`,class:c({"vue-data-ui-custom-tooltip":u.isCustom,"vue-data-ui-tooltip":!u.isCustom,"vue-data-ui-tooltip-backdrop":u.backdropFilter}),style:l(G.value)},[m(e.$slots,`tooltip-before`),m(e.$slots,`default`),m(e.$slots,`tooltip`,{},()=>[o(`div`,{innerHTML:u.content},null,8,b)]),m(e.$slots,`tooltip-after`)],14,y)):i(``,!0)],8,[`to`]))}};export{x as default};
1
+ import{Jt as e}from"./lib-DqD8nbyX.js";import{Teleport as t,computed as n,createBlock as r,createCommentVNode as i,createElementBlock as a,createElementVNode as o,nextTick as s,normalizeClass as c,normalizeStyle as l,onMounted as u,onUnmounted as d,openBlock as f,ref as p,renderSlot as m,watch as h}from"vue";function g({tooltip:e,chart:t,clientPosition:n,positionPreference:r=`center`,defaultOffsetY:i=24,defaultOffsetX:a=0,blockShiftY:o=!1}){let s=p(a),c=p(i);if(e&&t){let{width:l,height:u}=e.getBoundingClientRect(),{right:d,left:f,bottom:p}=t.getBoundingClientRect();r===`center`&&(s.value=n.x+l/2>d?-l+(d-n.x):n.x-l/2<f?-l+(l-(n.x-f)):-l/2),r===`right`&&(s.value=n.x+l+a>d?-l+(d-n.x):a),r===`left`&&(s.value=n.x-l-a<f?f-n.x:-l-a),n.y+u>p&&!o&&(c.value=-u-i)}return{top:n.y+c.value,left:n.x+s.value}}function _(e,t,n){u(()=>e.addEventListener(t,n)),d(()=>e.removeEventListener(t,n))}function v(){let e=p(0),t=p(0);return _(window,`mousemove`,n=>{e.value=n.clientX,t.value=n.clientY}),{x:e,y:t}}var y=[`aria-hidden`],b=[`innerHTML`],x={__name:`Tooltip`,props:{teleportTo:{type:String,default:`body`},backgroundColor:{type:String,default:`#FFFFFF`},color:{type:String,default:`#000000`},content:String,maxWidth:{type:String,default:`300px`},parent:{type:Object},show:{type:Boolean,default:!1},isCustom:{type:Boolean,default:!1},fontSize:{type:[Number,String],default:14},borderRadius:{type:Number,default:4},borderColor:{type:String,default:`#e1e5e8`},borderWidth:{type:Number,default:1},backgroundOpacity:{type:Number,default:100},position:{type:String,default:`center`},offsetY:{type:Number,default:24},offsetX:{type:Number,default:0},blockShiftY:{type:Boolean,default:!1},isFullscreen:{type:Boolean,default:!1},smooth:{type:Boolean,default:!0},backdropFilter:{type:Boolean,default:!0},smoothForce:{type:Number,default:.18},smoothSnapThreshold:{type:Number,default:.25},isA11yMode:{type:Boolean,default:!1},a11yPosition:{type:Object,default:null}},setup(u,{expose:_}){let x=u,S=p(null),{x:C,y:w}=v(x.parent),T=p({x:0,y:0}),E=p({x:0,y:0}),D=p(null),O=p(null),k=p({scaleX:1,scaleY:1}),A=p(null);function j(){let e=N(S.value);if(D.value=e,!e){O.value=null,k.value={scaleX:1,scaleY:1},A.value=null;return}O.value=e.getBoundingClientRect(),k.value=P(e),A.value=x.parent?.getBoundingClientRect?.()||null}function M(e){return e?!!(e.transform&&e.transform!==`none`||e.perspective&&e.perspective!==`none`||e.filter&&e.filter!==`none`||e.backdropFilter&&e.backdropFilter!==`none`||e.contain&&e.contain.includes(`paint`)||e.willChange&&(e.willChange.includes(`transform`)||e.willChange.includes(`filter`))):!1}function N(e){let t=e?.parentElement||null;for(;t&&t!==document.documentElement;){if(M(getComputedStyle(t)))return t;t=t.parentElement}return null}function P(e){if(!e)return{scaleX:1,scaleY:1};let t=getComputedStyle(e).transform;if(!t||t===`none`)return{scaleX:1,scaleY:1};try{let e=new DOMMatrixReadOnly(t),n=Math.hypot(e.a,e.b),r=Math.hypot(e.c,e.d);return{scaleX:n||1,scaleY:r||1}}catch{return{scaleX:1,scaleY:1}}}function F({x:e,y:t}){x.isA11yMode||(C.value=e,w.value=t)}let I=null;function L(){if(!x.show){z();return}if(!x.smooth){E.value.x=T.value.x,E.value.y=T.value.y,z();return}let e=T.value.x-E.value.x,t=T.value.y-E.value.y;if(Math.abs(e)<=x.smoothSnapThreshold&&Math.abs(t)<=x.smoothSnapThreshold){E.value.x=T.value.x,E.value.y=T.value.y,z();return}E.value.x+=e*x.smoothForce,E.value.y+=t*x.smoothForce,I=requestAnimationFrame(L)}function R(){I==null&&x.show&&x.smooth&&(I=requestAnimationFrame(L))}function z(){I!=null&&(cancelAnimationFrame(I),I=null)}h([C,w],([e,t])=>{T.value.x=e,T.value.y=t,x.smooth?R():(E.value.x=e,E.value.y=t)}),h(()=>x.show,async e=>{if(!e){z();return}let t=C.value,n=w.value;T.value.x=t,T.value.y=n,E.value.x=t,E.value.y=n,await s(),j(),R()}),d(()=>{z()});let B=n(()=>x.isA11yMode&&x.a11yPosition&&typeof x.a11yPosition.x==`number`&&typeof x.a11yPosition.y==`number`?{x:x.a11yPosition.x,y:x.a11yPosition.y}:{x:E.value.x,y:E.value.y}),V=n(()=>{let e=O.value;if(!e)return{x:B.value.x,y:B.value.y};let{scaleX:t,scaleY:n}=k.value;return{x:(B.value.x-e.left)/t,y:(B.value.y-e.top)/n}}),H=n(()=>{let e=O.value,t=A.value;if(!e||!t)return x.parent;let{scaleX:n,scaleY:r}=k.value;return{...x.parent,getBoundingClientRect(){let i=t;return{left:(i.left-e.left)/n,top:(i.top-e.top)/r,right:(i.right-e.left)/n,bottom:(i.bottom-e.top)/r,width:i.width/n,height:i.height/r,x:(i.left-e.left)/n,y:(i.top-e.top)/r}}}}),U=n(()=>{let e=g({tooltip:S.value,chart:H.value,clientPosition:V.value,positionPreference:x.position,defaultOffsetX:x.offsetX,defaultOffsetY:x.offsetY,blockShiftY:x.blockShiftY});return{top:Math.round(e.top),left:Math.round(e.left)}}),W=n(()=>e(x.backgroundColor,x.backgroundOpacity)),G=n(()=>{let e={pointerEvents:`none`,position:`fixed`,top:`0px`,left:`0px`,transform:`translate3d(${U.value.left}px, ${U.value.top}px, 0)`,borderRadius:`${x.borderRadius}px`,border:`${x.borderWidth}px solid ${x.borderColor}`,zIndex:2147483647};return x.isCustom||Object.assign(e,{background:W.value,color:x.color,maxWidth:x.maxWidth,fontSize:`${x.fontSize}px`}),e});return _({placeTooltip:F}),(e,n)=>(f(),r(t,{to:u.isFullscreen?u.parent:u.teleportTo},[u.show?(f(),a(`div`,{key:0,ref_key:`tooltip`,ref:S,role:`tooltip`,"aria-hidden":!u.show,"aria-live":`polite`,class:c({"vue-data-ui-custom-tooltip":u.isCustom,"vue-data-ui-tooltip":!u.isCustom,"vue-data-ui-tooltip-backdrop":u.backdropFilter}),style:l(G.value)},[m(e.$slots,`tooltip-before`),m(e.$slots,`default`),m(e.$slots,`tooltip`,{},()=>[o(`div`,{innerHTML:u.content},null,8,b)]),m(e.$slots,`tooltip-after`)],14,y)):i(``,!0)],8,[`to`]))}};export{x as default};
@@ -0,0 +1 @@
1
+ import{t as e}from"./rolldown-runtime-DK3Fl9T5.js";import{t}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as n}from"./img-DiP2_5_r.js";import{t as r}from"./BaseIcon-DDctLkeT.js";import{t as i}from"./vClickOutside-BxNzkY17.js";import{Fragment as a,computed as o,createBlock as s,createCommentVNode as c,createElementBlock as l,createElementVNode as u,createVNode as d,guardReactiveProps as ee,nextTick as f,normalizeClass as p,normalizeProps as m,normalizeStyle as h,onBeforeUnmount as g,onMounted as te,openBlock as _,ref as v,renderList as ne,renderSlot as y,toDisplayString as b,unref as x,watch as S,withDirectives as C,withKeys as w,withModifiers as T}from"vue";var re={beforeMount(e,t){let n=()=>typeof t.value==`function`?{handler:t.value,targets:[e],disabled:!1,scrollGuardMs:250,moveThreshold:10}:{handler:t.value?.handler,targets:t.value?.targets??[e],disabled:!!t.value?.disabled,scrollGuardMs:t.value?.scrollGuardMs??250,moveThreshold:t.value?.moveThreshold??10},r={lastScrollTs:0,pointerId:null,startX:0,startY:0,moved:!1},i=()=>{r.lastScrollTs=performance.now()},a=e=>{r.pointerId=e.pointerId??null,r.startX=e.clientX??0,r.startY=e.clientY??0,r.moved=!1},o=e=>{if(r.pointerId===null||(e.pointerId??null)!==r.pointerId)return;let t=(e.clientX??0)-r.startX,i=(e.clientY??0)-r.startY,{moveThreshold:a}=n();t*t+i*i>=a*a&&(r.moved=!0)},s=e=>{r.pointerId!==null&&(e.pointerId??null)===r.pointerId&&(r.pointerId=null)},c=(e,t)=>{let n=e.composedPath?e.composedPath():[];for(let r of t){let t=r&&typeof r==`object`&&`value`in r?r.value:r;if(t&&(t===e.target||t.contains&&t.contains(e.target)||n.length&&n.includes(t)))return!0}return!1},l=e=>{let{handler:t,targets:i,disabled:a,scrollGuardMs:o}=n();a||typeof t==`function`&&(performance.now()-r.lastScrollTs<o||r.moved||c(e,i)||t(e))};e.__vPopoverClickOutside__={onScrollCapture:i,onPointerDownCapture:a,onPointerMoveCapture:o,onPointerUpCapture:s,onClickCapture:l},window.addEventListener(`scroll`,i,!0),document.addEventListener(`pointerdown`,a,!0),document.addEventListener(`pointermove`,o,!0),document.addEventListener(`pointerup`,s,!0),document.addEventListener(`click`,l,!0)},unmounted(e){let t=e.__vPopoverClickOutside__;t&&(window.removeEventListener(`scroll`,t.onScrollCapture,!0),document.removeEventListener(`pointerdown`,t.onPointerDownCapture,!0),document.removeEventListener(`pointermove`,t.onPointerMoveCapture,!0),document.removeEventListener(`pointerup`,t.onPointerUpCapture,!0),document.removeEventListener(`click`,t.onClickCapture,!0),delete e.__vPopoverClickOutside__)}},E=/* @__PURE__ */ e({default:()=>D}),ie=[`title`,`onKeydown`],ae=[`popover`,`data-open`],oe=[`onClick`,`onMouseenter`,`onMouseout`],se=[`title`],ce=[`data-open`],le=[`onClick`,`onMouseenter`,`onMouseout`],D=/*#__PURE__*/ t({__name:`UserOptions`,props:{hasPdf:{type:Boolean,default:!0},hasXls:{type:Boolean,default:!0},hasImg:{type:Boolean,default:!1},hasSvg:{type:Boolean,default:!1},hasLabel:{type:Boolean,default:!1},isLabelActive:{type:Boolean,default:!1},hasTable:{type:Boolean,default:!1},hasSort:{type:Boolean,default:!1},hasStack:{type:Boolean,default:!1},hasTooltip:{type:Boolean,default:!1},color:{type:String},backgroundColor:{type:String},isPrinting:{type:Boolean,default:!1},isImaging:{type:Boolean,default:!1},title:{type:String},uid:{type:String},hasFullscreen:{type:Boolean,default:!1},chartElement:{type:HTMLElement,default:null},isFullscreen:{type:Boolean,default:!1},isStacked:{type:Boolean,default:!1},isTooltip:{type:Boolean,default:!1},hasAnimation:{type:Boolean,default:!1},isAnimation:{type:Boolean,default:!1},titles:{type:Object,default(){return{}}},showTooltips:{type:Boolean,default:!0},zIndex:{type:Number,default:1},noOffset:{type:Boolean,default:!0},position:{type:String,default:`right`},offsetX:{type:Number,default:0},hasAnnotator:{type:Boolean,default:!1},isAnnotation:{type:Boolean,default:!1},callbacks:{type:Object,default(){return{}}},printScale:{type:Number,default:2},tableDialog:{type:Boolean,default:!1},hasZoom:{type:Boolean,default:!1},isZoom:{type:Boolean,default:!1},isCursorPointer:{type:Boolean,default:!1},hasAltCopy:{type:Boolean,default:!1}},emits:[`generatePdf`,`generateCsv`,`generateImage`,`toggleTable`,`toggleLabels`,`toggleSort`,`toggleFullscreen`,`toggleStack`,`toggleTooltip`,`toggleAnimation`,`toggleAnnotator`,`generateSvg`,`toggleZoom`,`copyAlt`],setup(e,{expose:t,emit:E}){let D=e,O=E,k=v(null),A=v(null),j=v(null),M=v(!1),N=o(()=>typeof window<`u`&&typeof HTMLElement<`u`&&`popover`in HTMLElement.prototype);async function ue(){if(D.callbacks.pdf){let{imageUri:e,base64:t}=await n({domElement:D.chartElement,base64:!0,img:!0,scale:D.printScale});D.callbacks.pdf({domElement:D.chartElement,base64:t,imageUri:e})}else O(`generatePdf`)}function de(){O(`generateCsv`,D.callbacks.csv)}async function fe(){if(D.callbacks.img){O(`generateImage`,{stage:`start`});try{let{imageUri:e,base64:t}=await n({domElement:D.chartElement,base64:!0,img:!0,scale:D.printScale});await Promise.resolve(D.callbacks.img({domElement:D.chartElement,imageUri:e,base64:t}))}finally{O(`generateImage`,{stage:`end`})}}else O(`generateImage`)}function pe(){O(`generateSvg`,{isCb:!!D.callbacks.svg})}let P=v(!1);function me(){D.callbacks.table?D.callbacks.table():(P.value=!P.value,O(`toggleTable`))}function he(e){P.value=e}t({setTableIconState:he,setTooltipIconState:ye});let F=v(D.isLabelActive);function ge(){D.callbacks.labels?D.callbacks.labels():(F.value=!F.value,O(`toggleLabels`))}let I=v(D.isAnimation);function L(){D.callbacks.animation?D.callbacks.animation():(I.value=!I.value,O(`toggleAnimation`))}let R=v(D.isZoom);function z(){D.callbacks.zoom?D.callbacks.zoom():(R.value=!R.value,O(`toggleZoom`))}let B=o({get:()=>D.isAnnotation,set:e=>e});function V(){D.callbacks.annotator?D.callbacks.annotator():(B.value=!B.value,O(`toggleAnnotator`))}function _e(){D.callbacks.sort?D.callbacks.sort():O(`toggleSort`)}function H(){O(`copyAlt`)}let U=v(D.isStacked);function ve(){D.callbacks.stack?D.callbacks.stack():(U.value=!U.value,O(`toggleStack`))}let W=v(D.isTooltip);function ye(e){W.value=e}function be(){D.callbacks.tooltip?D.callbacks.tooltip():(W.value=!W.value,O(`toggleTooltip`))}let xe=o({get:()=>D.isFullscreen,set:e=>O(`toggleFullscreen`,e)});function G(){if(!D.chartElement)return;let e=!D.isFullscreen;xe.value=e,e?D.chartElement.requestFullscreen():document.exitFullscreen()}function K(){let e=!!document.fullscreenElement;O(`toggleFullscreen`,e)}te(()=>{document.addEventListener(`fullscreenchange`,K)}),g(()=>{document.removeEventListener(`fullscreenchange`,K)});let q=v(window.innerWidth>600),J=v({tooltip:!1,pdf:!1,csv:!1,img:!1,table:!1,labels:!1,sort:!1,stack:!1,fullscreen:!1,animation:!1,annotator:!1,svg:!1,zoom:!1,altCopy:!1}),Se=v(!0);function Ce(){q.value=window.innerWidth>600,M.value=!M.value,M.value&&(Se.value=!1)}function we(){D.isPrinting||D.isImaging||(M.value=!1)}function Te(){M.value&&we()}let Y=v(0);function Ee(){Y.value=performance.now()+50}function X(){D.isPrinting||D.isImaging||(N.value&&Q(),M.value=!1)}function De(){performance.now()<Y.value||X()}function Oe(){if(q.value=window.innerWidth>600,!N.value){M.value||Ee(),M.value=!M.value;return}let e=j.value;if(e&&e.matches&&e.matches(`:popover-open`)||M.value){M.value=!1,Q();return}Ee(),M.value=!0}function ke(){Oe()}function Ae(e,t,n,r){let i=window.devicePixelRatio||1,a=e=>Math.round(e*i)/i;e.style.position=`fixed`,e.style.top=`${a(t)}px`,e.style.left=`${a(n)}px`,e.style.right=`auto`,e.style.width=`${a(r)}px`}function je(e){if(e.style.width=``,e.style.left=``,e.style.right=``,e.style.top=``,e.style.position=`absolute`,e.style.top=`36px`,D.position===`right`){let t=D.offsetX?D.offsetX:D.noOffset?0:4;e.style.right=`${t}px`,e.style.left=`auto`}else{let t=D.noOffset?0:4;e.style.left=`${t}px`,e.style.right=`auto`}e.style.display=`flex`,e.style.visibility=`hidden`,e.style.pointerEvents=`none`}function Me(){if(!N.value||!M.value||!k.value||!j.value)return;let e=k.value.getBoundingClientRect(),t=j.value.getBoundingClientRect(),n=e.top+38;if(D.position===`right`){let r=D.offsetX?D.offsetX:D.noOffset?0:4,i=e.right-r-t.width;Ae(j.value,n,i,t.width)}else{let r=D.noOffset?0:4,i=e.left+r;Ae(j.value,n,i,t.width)}}let Ne=0;function Pe(){cancelAnimationFrame(Ne),Ne=requestAnimationFrame(()=>{Me()})}function Z(){N.value&&M.value&&Pe()}function Fe(e,t){let n=window.devicePixelRatio||1,r=e=>Math.round(e*n)/n;e.style.position=`fixed`,e.style.top=`${r(t.top)}px`,e.style.left=`${r(t.left)}px`,e.style.right=`auto`,e.style.width=`${r(t.width)}px`}async function Ie(e=!1){if(!N.value)return;let t=j.value;if(!t)return;let n=t.getAttribute(`style`)||``,r=t.getAttribute(`data-open`);t.setAttribute(`popover`,`manual`);try{t.setAttribute(`data-open`,`true`),je(t),await f();let i=t.getBoundingClientRect();t.setAttribute(`style`,n),r===null?t.removeAttribute(`data-open`):t.setAttribute(`data-open`,r),Fe(t,i),e||(typeof t.showPopover==`function`?t.showPopover():t.style.display=`flex`)}catch{if(!e)try{typeof t.showPopover==`function`?t.showPopover():t.style.display=`flex`}catch{}}}function Q(){if(!N.value)return;let e=j.value;if(e){e.setAttribute(`popover`,`manual`);try{typeof e.hidePopover==`function`?e.hidePopover():e.style.display=`none`}catch{e.style.display=`none`}e.style.position=``,e.style.top=``,e.style.left=``,e.style.right=``,e.style.width=``,e.style.inset=``}}function Le(){if(!N.value)return;let e=j.value;e&&(M.value&&=typeof e.matches==`function`&&(()=>{try{return e.matches(`:popover-open`)}catch{return!1}})())}function Re(e){if(!N.value||!M.value||performance.now()<Y.value)return;let t=e.composedPath?e.composedPath():[],n=A.value?t.includes(A.value):!1,r=j.value?t.includes(j.value):!1;!n&&!r&&X()}S(()=>D.isFullscreen,async()=>{N.value&&(await f(),M.value&&Ie())}),S(()=>M.value,async e=>{N.value&&(await f(),e?(await Ie(!1),Me()):Q())});function ze(e){e.key===`Escape`&&k.value&&k.value.contains(document.activeElement)&&(e.preventDefault(),e.stopPropagation(),X(),A.value?.focus())}te(()=>{window.addEventListener(`pointerdown`,Re,!0),window.addEventListener(`resize`,Z,{passive:!0}),window.addEventListener(`scroll`,Z,{passive:!0,capture:!0}),j.value&&j.value.addEventListener(`toggle`,Le)}),g(()=>{window.removeEventListener(`pointerdown`,Re,!0),window.removeEventListener(`resize`,Z),window.removeEventListener(`scroll`,Z,!0),j.value&&j.value.removeEventListener(`toggle`,Le)});let Be=o(()=>[{key:`pdf`,visible:D.hasPdf,slot:`optionPdf`,testId:`user-options-pdf`,run:ue,icon:`filePdf`,alternate:D.isPrinting,alternateIcon:`hourglass`,spin:!0},{key:`csv`,visible:D.hasXls,slot:`optionCsv`,testId:`user-options-xls`,run:de,icon:`fileCsv`},{key:`img`,visible:D.hasImg,slot:`optionImg`,testId:`user-options-img`,run:fe,icon:`filePng`,alternate:D.isImaging,alternateIcon:`hourglass`,spin:!0},{key:`svg`,visible:D.hasSvg,slot:`optionSvg`,testId:`user-options-svg`,run:pe,icon:`fileSvg`},{key:`tooltip`,visible:D.hasTooltip,slot:`optionTooltip`,testId:`user-options-tooltip`,run:be,icon:`tooltipDisabled`,alternate:W.value,alternateIcon:`tooltip`},{key:`table`,visible:D.hasTable,slot:`optionTable`,testId:`user-options-table`,run:me,icon:P.value?`tableClose`:`tableOpen`,alternate:D.tableDialog,alternateIcon:P.value?`tableDialogClose`:`tableDialogOpen`},{key:`labels`,visible:D.hasLabel,slot:`optionLabels`,testId:`user-options-label`,run:ge,icon:F.value?`labelClose`:`labelOpen`},{key:`sort`,visible:D.hasSort,slot:`optionSort`,testId:`user-options-sort`,run:_e,icon:`sort`},{key:`stack`,visible:D.hasStack,slot:`optionStack`,testId:`user-options-stack`,run:ve,icon:`stack`,alternate:U.value,alternateIcon:`unstack`,slotProps:{first:{name:`isStack`,value:U.value}}},{key:`fullscreen`,visible:D.hasFullscreen,slot:`optionFullscreen`,testId:`user-options-fullscreen`,run:()=>G(D.isFullscreen?`out`:`in`),icon:`fullscreen`,alternate:D.isFullscreen,alternateIcon:`exitFullscreen`,slotProps:{first:{name:`toggleFullscreen`,value:G},second:{name:`isFullscreen`,value:D.isFullscreen}}},{key:`zoom`,visible:D.hasZoom,slot:`optionZoom`,testId:`user-options-fullscreen`,run:()=>z(),icon:`zoomLock`,alternate:D.isZoom,alternateIcon:`zoomUnlock`,slotProps:{first:{name:`toggleZoom`,value:z},second:{name:`isZoomLocked`,value:!D.isZoom}}},{key:`animation`,visible:D.hasAnimation,slot:`optionAnimation`,testId:`user-options-anim`,run:L,icon:`pause`,alternate:I.value,alternateIcon:`play`,slotProps:{first:{name:`toggleAnimation`,value:L},second:{name:`isAnimated`,value:I.value}}},{key:`annotator`,visible:D.hasAnnotator,slot:`optionAnnotator`,testId:`user-options-annotator`,run:V,icon:`annotator`,alternate:B.value,alternateIcon:`annotatorDisabled`,slotProps:{first:{name:`toggleAnnotator`,value:V},second:{name:`isAnnotator`,value:B.value}}},{key:`altCopy`,visible:D.hasAltCopy,slot:`optionAltCopy`,testId:`user-options-alt-copy`,run:H,icon:`accessibility`,slotProps:{first:{name:`copyAlt`,value:H}}}]);function $(e){let t={"button-info-left":D.position===`left`,"button-info-right":D.position===`right`},n=D.position===`left`&&J.value[e],r=D.position===`right`&&J.value[e];return e===`tooltip`?{...t,"button-info-left-visible":n,"button-info-right-visible":r}:{...t,"button-info-right-visible":r,"button-info-left-visible":n}}return(t,n)=>N.value?C((_(),l(`div`,{key:0,ref_key:`rootRef`,ref:k,"data-dom-to-png-ignore":``,class:`vue-ui-user-options`,style:h(`z-index: ${e.zIndex}; height: 34px; position: ${e.isFullscreen?`fixed`:`absolute`}; top: 0; ${e.position===`right`?`right:${e.isFullscreen?`12px`:`0`}`:`left:${e.isFullscreen?`12px`:`0`}`}; padding: 4px; background:transparent;`),onKeydown:ze},[u(`div`,{ref_key:`triggerRef`,ref:A,tabindex:`0`,role:`button`,title:M.value?e.titles.close||``:e.titles.open||``,style:h(`width:32px; position: absolute; top: 0;${e.position===`right`?`right: ${e.offsetX?e.offsetX:e.noOffset?0:4}px`:`left: ${e.noOffset?0:4}px`}; padding: 0 0px; display: flex; align-items:center;justify-content:center;height: 36px; cursor:${e.isCursorPointer?`pointer`:`default`}; background:transparent`),onPointerdown:T(Oe,[`stop`,`prevent`]),onKeydown:w(T(ke,[`stop`,`prevent`]),[`enter`])},[y(t.$slots,`menuIcon`,m(ee({isOpen:M.value,color:e.color})),()=>[d(r,{name:M.value?`close`:`menu`,stroke:e.color,"stroke-width":2},null,8,[`name`,`stroke`])],!0)],44,ie),u(`div`,{ref_key:`drawerRef`,ref:j,popover:N.value?`manual`:null,"data-open":N.value?null:M.value,class:p({"vue-ui-user-options-drawer":!0}),style:h(N.value?{background:e.backgroundColor}:`background:${e.backgroundColor}; ${e.position===`right`?`right: ${e.offsetX?e.offsetX:e.noOffset?0:4}px`:`left: ${e.noOffset?0:4}px`}`)},[y(t.$slots,`custom-menu-before`,{},void 0,!0),(_(!0),l(a,null,ne(Be.value,n=>(_(),l(a,{key:n.key},[n.visible?(_(),l(`button`,{key:0,tabindex:`0`,class:`vue-ui-user-options-button`,onClick:n.run,onMouseenter:e=>J.value[n.key]=!0,onMouseout:e=>J.value[n.key]=!1,style:h({cursor:e.isCursorPointer?`pointer`:`default`})},[t.$slots[n.slot]?(_(),l(a,{key:0},[n.slotProps?n.slotProps.second?y(t.$slots,n.slot,m({[n.slotProps.first.name||``]:n.slotProps.first.value,[n.slotProps.second.name||``]:n.slotProps.second.value}),void 0,!0,2):y(t.$slots,n.slot,m({[n.slotProps.first.name||``]:n.slotProps.first.value}),void 0,!0,1):y(t.$slots,n.slot,{},void 0,!0,0)],64)):(_(),l(a,{key:1},[n.alternate?(_(),s(r,{key:0,name:n.alternateIcon,isSpin:n.spin,stroke:e.color,style:{"pointer-events":`none`}},null,8,[`name`,`isSpin`,`stroke`])):(_(),s(r,{key:1,name:n.icon,stroke:e.color,style:{"pointer-events":`none`}},null,8,[`name`,`stroke`]))],64)),q.value&&e.titles[n.key===`animation`?`fullscreen`:n.key]?(_(),l(`div`,{key:2,dir:`auto`,class:p($(n.key)),style:h({background:e.backgroundColor,color:e.color})},b(e.titles[n.key]),7)):c(``,!0)],44,oe)):c(``,!0)],64))),128)),y(t.$slots,`custom-menu-after`,{},void 0,!0)],12,ae)],36)),[[x(re),N.value?null:{targets:[k.value,j.value,A.value],handler:De}]]):C((_(),l(`div`,{key:1,ref_key:`rootRef`,ref:k,"data-dom-to-png-ignore":``,class:`vue-ui-user-options`,style:h(`z-index: ${e.zIndex}; height: 34px; position: ${e.isFullscreen?`fixed`:`absolute`}; top: 0; ${e.position===`right`?`right:${e.isFullscreen?`12px`:`0`}`:`left:${e.isFullscreen?`12px`:`0`}`}; padding: 4px; background:transparent;`),onKeydown:ze},[u(`div`,{ref_key:`triggerRef`,ref:A,tabindex:`0`,title:M.value?e.titles.close||``:e.titles.open||``,style:h(`width:32px; position: absolute; top: 0;${e.position===`right`?`right: ${e.offsetX?e.offsetX:e.noOffset?0:4}px`:`left: ${e.noOffset?0:4}px`}; padding: 0 0px; display: flex; align-items:center;justify-content:center;height: 36px; cursor:pointer; background:transparent`),onClick:T(Ce,[`stop`]),onKeypress:w(Ce,[`enter`])},[y(t.$slots,`menuIcon`,m(ee({isOpen:M.value,color:e.color})),()=>[d(r,{name:M.value?`close`:`menu`,stroke:e.color,"stroke-width":2},null,8,[`name`,`stroke`])],!0)],44,se),u(`div`,{ref_key:`drawerRef`,ref:j,"data-open":M.value,class:p({"vue-ui-user-options-drawer":!0}),style:h(`background:${e.backgroundColor}; ${e.position===`right`?`right: ${e.offsetX?e.offsetX:e.noOffset?0:4}px`:`left: ${e.noOffset?0:4}px`}`)},[y(t.$slots,`custom-menu-before`,{},void 0,!0),(_(!0),l(a,null,ne(Be.value,n=>(_(),l(a,{key:n.key},[n.visible?(_(),l(`button`,{key:0,tabindex:`0`,class:`vue-ui-user-options-button`,onClick:e=>n.run(e),onMouseenter:e=>J.value[n.key]=!0,onMouseout:e=>J.value[n.key]=!1},[t.$slots[n.slot]?(_(),l(a,{key:0},[n.slotProps?n.slotProps.second?y(t.$slots,n.slot,m({[n.slotProps.first.name||``]:n.slotProps.first.value,[n.slotProps.second.name||``]:n.slotProps.second.value}),void 0,!0,2):y(t.$slots,n.slot,m({[n.slotProps.first.name||``]:n.slotProps.first.value}),void 0,!0,1):y(t.$slots,n.slot,{},void 0,!0,0)],64)):(_(),l(a,{key:1},[n.alternate?(_(),s(r,{key:0,name:n.alternateIcon,isSpin:n.spin,stroke:e.color,style:{"pointer-events":`none`}},null,8,[`name`,`isSpin`,`stroke`])):(_(),s(r,{key:1,name:n.icon,stroke:e.color,style:{"pointer-events":`none`}},null,8,[`name`,`stroke`]))],64)),q.value&&e.titles[n.key===`animation`?`fullscreen`:n.key]?(_(),l(`div`,{key:2,dir:`auto`,class:p($(n.key)),style:h({background:e.backgroundColor,color:e.color})},b(e.titles[n.key]),7)):c(``,!0)],40,le)):c(``,!0)],64))),128)),y(t.$slots,`custom-menu-actions`,{},void 0,!0)],12,ce)],36)),[[x(i),Te]])}},[[`__scopeId`,`data-v-5fb3e5b9`]]);export{E as n,D as t};
@@ -1 +1 @@
1
- import{t as e}from"./img-DiT4ivZ5.js";function t(t,n){return async function({scale:r=2}={}){if(!t.value)return;let{width:i,height:a}=t.value.getBoundingClientRect(),o=i/a,{imageUri:s,base64:c}=await e({domElement:t.value,base64:!0,img:!0,scale:r});return{imageUri:s,base64:c,title:n(),width:i,height:a,aspectRatio:o}}}export{t};
1
+ import{t as e}from"./img-DiP2_5_r.js";function t(t,n){return async function({scale:r=2}={}){if(!t.value)return;let{width:i,height:a}=t.value.getBoundingClientRect(),o=i/a,{imageUri:s,base64:c}=await e({domElement:t.value,base64:!0,img:!0,scale:r});return{imageUri:s,base64:c,title:n(),width:i,height:a,aspectRatio:o}}}export{t};
@@ -1 +1 @@
1
- import{t as e}from"../Arrow-C2W0uGrq.js";export{e as Arrow,e as default};
1
+ import{t as e}from"../Arrow-D6OAn5rm.js";export{e as Arrow,e as default};
@@ -1 +1 @@
1
- import{t as e}from"../vue-ui-3d-bar-BZAoyWkc.js";export{e as VueUi3dBar,e as default};
1
+ import{t as e}from"../vue-ui-3d-bar-COrzyTkO.js";export{e as VueUi3dBar,e as default};
@@ -1 +1 @@
1
- import{t as e}from"../vue-ui-accordion-BNvevckx.js";export{e as VueUiAccordion,e as default};
1
+ import{t as e}from"../vue-ui-accordion-3lBpCjGm.js";export{e as VueUiAccordion,e as default};
@@ -1 +1 @@
1
- import{t as e}from"../vue-ui-age-pyramid-DkA6vpU3.js";export{e as VueUiAgePyramid,e as default};
1
+ import{t as e}from"../vue-ui-age-pyramid-CAoVjkOA.js";export{e as VueUiAgePyramid,e as default};
@@ -1 +1 @@
1
- import{t as e}from"../vue-ui-annotator-DuQME4Hh.js";export{e as VueUiAnnotator,e as default};
1
+ import{t as e}from"../vue-ui-annotator-CpTZHnPw.js";export{e as VueUiAnnotator,e as default};
@@ -1 +1 @@
1
- import{t as e}from"../vue-ui-bullet-BVs8JX8S.js";export{e as VueUiBullet,e as default};
1
+ import{t as e}from"../vue-ui-bullet-yvY_gdw2.js";export{e as VueUiBullet,e as default};
@@ -1 +1 @@
1
- import{t as e}from"../vue-ui-bump-DYdm3EvF.js";export{e as VueUiBump,e as default};
1
+ import{t as e}from"../vue-ui-bump-ChsFkIq9.js";export{e as VueUiBump,e as default};
@@ -1 +1 @@
1
- import{t as e}from"../vue-ui-candlestick-DZgxl4mW.js";export{e as VueUiCandlestick,e as default};
1
+ import{t as e}from"../vue-ui-candlestick-D9UXZQoN.js";export{e as VueUiCandlestick,e as default};
@@ -1 +1 @@
1
- import{t as e}from"../vue-ui-carousel-table-BB7DsTUt.js";export{e as VueUiCarouselTable,e as default};
1
+ import{t as e}from"../vue-ui-carousel-table-CKyE4hME.js";export{e as VueUiCarouselTable,e as default};
@@ -1 +1 @@
1
- import{t as e}from"../vue-ui-chestnut-Bo1h5rBt.js";export{e as VueUiChestnut,e as default};
1
+ import{t as e}from"../vue-ui-chestnut-BuLjW5nb.js";export{e as VueUiChestnut,e as default};
@@ -1 +1 @@
1
- import{t as e}from"../vue-ui-chord-B6_veyvO.js";export{e as VueUiChord,e as default};
1
+ import{t as e}from"../vue-ui-chord-Bjwt2_BK.js";export{e as VueUiChord,e as default};
@@ -1 +1 @@
1
- import{t as e}from"../vue-ui-circle-pack-Bm7e2YNh.js";export{e as VueUiCirclePack,e as default};
1
+ import{t as e}from"../vue-ui-circle-pack-BpAuZruK.js";export{e as VueUiCirclePack,e as default};
@@ -1 +1 @@
1
- import{t as e}from"../vue-ui-cursor-TidZDuSh.js";export{e as VueUiCursor,e as default};
1
+ import{t as e}from"../vue-ui-cursor-Dn-IBaP8.js";export{e as VueUiCursor,e as default};
@@ -1 +1 @@
1
- import{t as e}from"../vue-ui-dag-BiN_AnLo.js";export{e as VueUiDag,e as default};
1
+ import{t as e}from"../vue-ui-dag-CyY3cSa6.js";export{e as VueUiDag,e as default};
@@ -1 +1 @@
1
- import{t as e}from"../vue-ui-dashboard-zepAVN_W.js";export{e as VueUiDashboard,e as default};
1
+ import{t as e}from"../vue-ui-dashboard-DmyStkQM.js";export{e as VueUiDashboard,e as default};
@@ -1 +1 @@
1
- import{t as e}from"../vue-ui-digits-CXKKmfGj.js";export{e as VueUiDigits,e as default};
1
+ import{t as e}from"../vue-ui-digits-BBiRMr01.js";export{e as VueUiDigits,e as default};
@@ -1 +1 @@
1
- import{t as e}from"../vue-ui-donut-evolution-BxMTdE5G.js";export{e as VueUiDonutEvolution,e as default};
1
+ import{t as e}from"../vue-ui-donut-evolution-Du4zLc8D.js";export{e as VueUiDonutEvolution,e as default};
@@ -1 +1 @@
1
- import{t as e}from"../vue-ui-donut-DLDUpjDU.js";export{e as VueUiDonut,e as default};
1
+ import{t as e}from"../vue-ui-donut-DMF74OY0.js";export{e as VueUiDonut,e as default};
@@ -1 +1 @@
1
- import{t as e}from"../vue-ui-dumbbell-C8rNwdz0.js";export{e as VueUiDumbbell,e as default};
1
+ import{t as e}from"../vue-ui-dumbbell-CxL_AY5e.js";export{e as VueUiDumbbell,e as default};
@@ -1 +1 @@
1
- import{t as e}from"../vue-ui-flow-Dru76A2O.js";export{e as VueUiFlow,e as default};
1
+ import{t as e}from"../vue-ui-flow-h6kTMamJ.js";export{e as VueUiFlow,e as default};
@@ -1 +1 @@
1
- import{t as e}from"../vue-ui-funnel-D_u1h5S9.js";export{e as VueUiFunnel,e as default};
1
+ import{t as e}from"../vue-ui-funnel-BG5Addzr.js";export{e as VueUiFunnel,e as default};
@@ -1 +1 @@
1
- import{t as e}from"../vue-ui-galaxy-sBEH18Xj.js";export{e as VueUiGalaxy,e as default};
1
+ import{t as e}from"../vue-ui-galaxy-CgnshY8i.js";export{e as VueUiGalaxy,e as default};
@@ -1 +1 @@
1
- import{t as e}from"../vue-ui-gauge-Do3RN8ne.js";export{e as VueUiGauge,e as default};
1
+ import{t as e}from"../vue-ui-gauge-a13ojQPr.js";export{e as VueUiGauge,e as default};
@@ -1 +1 @@
1
- import{t as e}from"../vue-ui-geo-DDbtx_iJ.js";export{e as VueUiGeo,e as default};
1
+ import{t as e}from"../vue-ui-geo-CflzhtuD.js";export{e as VueUiGeo,e as default};