react-grab 0.1.29 → 0.1.30

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 (438) hide show
  1. package/README.md +2 -5
  2. package/dist/core/index.cjs +9 -1
  3. package/dist/core/index.d.cts +11 -3
  4. package/dist/core/index.d.ts +11 -3
  5. package/dist/core/index.js +9 -1
  6. package/dist/core--H_JZk7a.js +16 -0
  7. package/dist/core-1AoeBJ2R.cjs +4386 -0
  8. package/dist/core-4VC4A94S.js +4249 -0
  9. package/dist/core-5Q_6LVh_.cjs +16 -0
  10. package/dist/core-6sOn3YNs.js +16 -0
  11. package/dist/core-B3FYVaHv.cjs +16 -0
  12. package/dist/core-B3I0upO1.js +4250 -0
  13. package/dist/core-B3ndcALq.cjs +4386 -0
  14. package/dist/core-B9GWVp1Q.js +16 -0
  15. package/dist/core-BGIMywNa.js +16 -0
  16. package/dist/core-BGK4C6ju.js +16 -0
  17. package/dist/core-BGXprTx7.cjs +16 -0
  18. package/dist/core-BKt5SHzo.js +16 -0
  19. package/dist/core-BMObVYUv.cjs +16 -0
  20. package/dist/core-BNMx90Sn.js +16 -0
  21. package/dist/core-BWQ6C5g9.js +4268 -0
  22. package/dist/core-BcwRbSfO.js +16 -0
  23. package/dist/core-Be-1ubQn.cjs +16 -0
  24. package/dist/core-BfpPi7c6.cjs +16 -0
  25. package/dist/core-BiIoWLRk.js +16 -0
  26. package/dist/core-BjpyJHlW.js +16 -0
  27. package/dist/core-Bqf3D4Ra.cjs +16 -0
  28. package/dist/core-Bs0wekHY.cjs +4284 -0
  29. package/dist/core-Bvqgv6Zr.js +16 -0
  30. package/dist/core-Bw0-Cecq.cjs +16 -0
  31. package/dist/core-BzRpJ5QI.cjs +4284 -0
  32. package/dist/core-C0ZgNdUR.cjs +4386 -0
  33. package/dist/core-C191WXKe.cjs +16 -0
  34. package/dist/core-C4yYleJn.js +16 -0
  35. package/dist/core-C758xgeI.js +16 -0
  36. package/dist/core-CAZ8ENTv.js +16 -0
  37. package/dist/core-CBUFmwfx.cjs +4386 -0
  38. package/dist/core-CDV48I9C.js +4249 -0
  39. package/dist/core-CGXCsSkm.js +4280 -0
  40. package/dist/core-CHsFU9FZ.js +16 -0
  41. package/dist/core-CJOQfSzq.js +4495 -0
  42. package/dist/core-CLW9tl4L.js +4249 -0
  43. package/dist/core-CP1yCnSB.js +16 -0
  44. package/dist/core-CRLyvQCt.cjs +16 -0
  45. package/dist/core-CZX3EijL.js +16 -0
  46. package/dist/core-Ccli-yLf.cjs +16 -0
  47. package/dist/core-Ce4pBUSh.js +16 -0
  48. package/dist/core-CgCGjXfB.cjs +16 -0
  49. package/dist/core-CiQl2PfF.cjs +16 -0
  50. package/dist/core-CnPpGWUc.js +16 -0
  51. package/dist/core-Co9954wQ.cjs +16 -0
  52. package/dist/core-Cr4qVf2a.js +16 -0
  53. package/dist/core-CrQCbm00.js +16 -0
  54. package/dist/core-CsCg35MW.js +16 -0
  55. package/dist/core-Cshs0orb.js +16 -0
  56. package/dist/core-CthjfoZX.cjs +16 -0
  57. package/dist/core-CtvavOAt.cjs +16 -0
  58. package/dist/core-CvoFTVjy.cjs +16 -0
  59. package/dist/core-CzE8I9NL.cjs +16 -0
  60. package/dist/core-CzGijRTx.js +16 -0
  61. package/dist/core-CzosrDdO.cjs +16 -0
  62. package/dist/core-D--fM7Xq.cjs +16 -0
  63. package/dist/core-D-UGQb_Z.cjs +16 -0
  64. package/dist/core-D0UqPwu_.cjs +16 -0
  65. package/dist/core-D2LzIluw.js +4495 -0
  66. package/dist/core-D4z4W-Qz.cjs +16 -0
  67. package/dist/core-D7NwJuzy.js +16 -0
  68. package/dist/core-DCqMIKkK.js +16 -0
  69. package/dist/core-DFrvwczh.cjs +4284 -0
  70. package/dist/core-DGxxKKPR.cjs +16 -0
  71. package/dist/core-DGyQeEXa.js +4495 -0
  72. package/dist/core-DH8Uvag-.js +4249 -0
  73. package/dist/core-DHZBYfsC.js +16 -0
  74. package/dist/core-DKVj078o.js +4249 -0
  75. package/dist/core-DMRsaGr7.js +16 -0
  76. package/dist/core-DRUnXCNA.cjs +16 -0
  77. package/dist/core-DRlG4zYm.cjs +16 -0
  78. package/dist/core-DSqJwwdV.cjs +4284 -0
  79. package/dist/core-DXqmRz53.cjs +16 -0
  80. package/dist/core-DcRxqPad.js +16 -0
  81. package/dist/core-DdNOX4pt.js +16 -0
  82. package/dist/core-Df7CMRnd.cjs +4315 -0
  83. package/dist/core-DiIZA6Hx.js +4495 -0
  84. package/dist/core-DiVnlonK.cjs +4284 -0
  85. package/dist/core-Dj1WV911.js +4495 -0
  86. package/dist/core-DjPDxMID.cjs +16 -0
  87. package/dist/core-DjcnHWor.cjs +16 -0
  88. package/dist/core-DkWjrEUZ.cjs +16 -0
  89. package/dist/core-Dq-CCsij.cjs +4303 -0
  90. package/dist/core-DsVAkMs2.js +16 -0
  91. package/dist/core-DueMb4P6.js +4249 -0
  92. package/dist/core-DvJt5JmX.js +16 -0
  93. package/dist/core-Dz8Hrc33.js +4249 -0
  94. package/dist/core-ESHKG2mL.cjs +4285 -0
  95. package/dist/core-Ij_B_RWV.cjs +16 -0
  96. package/dist/core-JyczI7kP.cjs +16 -0
  97. package/dist/core-K0XuILjf.cjs +4284 -0
  98. package/dist/core-N9HyYpZv.cjs +16 -0
  99. package/dist/core-PW2DC2Tb.js +4495 -0
  100. package/dist/core-Q84EBsQ8.cjs +16 -0
  101. package/dist/core-TSuD8D7m.js +16 -0
  102. package/dist/core-WN76m9V0.cjs +16 -0
  103. package/dist/core-YRKn-0AV.js +16 -0
  104. package/dist/core-fC6GdbUJ.js +16 -0
  105. package/dist/core-h5q7bqH-.cjs +4284 -0
  106. package/dist/core-hkgBRD_T.js +16 -0
  107. package/dist/core-k9l5c9Hk.cjs +16 -0
  108. package/dist/core-mNhkpUYQ.cjs +16 -0
  109. package/dist/core-qCvYE9Ox.cjs +4386 -0
  110. package/dist/core-rvs2FEMH.js +16 -0
  111. package/dist/core-sXzUCmoJ.js +16 -0
  112. package/dist/core-t7gaYHyj.cjs +4386 -0
  113. package/dist/core-thci-YqL.js +16 -0
  114. package/dist/core-xokESdbC.cjs +16 -0
  115. package/dist/core-yW0MN96-.cjs +16 -0
  116. package/dist/core-ydFCYlV4.js +16 -0
  117. package/dist/core-zQ4jjKHw.cjs +16 -0
  118. package/dist/extract-element-css-B-R_28uM.cjs +10 -0
  119. package/dist/extract-element-css-B732tro7.js +10 -0
  120. package/dist/extract-element-css-B9Xh1wUd.js +10 -0
  121. package/dist/extract-element-css-BGZPWnck.js +10 -0
  122. package/dist/extract-element-css-BIniUwQh.js +319 -0
  123. package/dist/extract-element-css-BOQUDYB3.cjs +10 -0
  124. package/dist/extract-element-css-BTzDGIs3.cjs +336 -0
  125. package/dist/extract-element-css-BWUnsvjZ.js +10 -0
  126. package/dist/extract-element-css-BceTcL6y.cjs +10 -0
  127. package/dist/extract-element-css-Bi1y8V4z.cjs +336 -0
  128. package/dist/extract-element-css-Bra6hEzg.js +319 -0
  129. package/dist/extract-element-css-BuJ3zqGO.js +10 -0
  130. package/dist/extract-element-css-C8lBuGP7.js +10 -0
  131. package/dist/extract-element-css-CBHVjrBq.cjs +10 -0
  132. package/dist/extract-element-css-CGxXdwim.js +10 -0
  133. package/dist/extract-element-css-CJx4cesM.js +10 -0
  134. package/dist/extract-element-css-CQBJAbFD.cjs +10 -0
  135. package/dist/extract-element-css-CQV8FsMB.cjs +10 -0
  136. package/dist/extract-element-css-CQx4Biqa.cjs +336 -0
  137. package/dist/extract-element-css-CTy2pRfA.js +10 -0
  138. package/dist/extract-element-css-CchtITXx.cjs +336 -0
  139. package/dist/extract-element-css-CjY9vDS6.js +10 -0
  140. package/dist/extract-element-css-ClnG20sN.cjs +10 -0
  141. package/dist/extract-element-css-CmMetO-q.cjs +10 -0
  142. package/dist/extract-element-css-CmOD6UeE.cjs +10 -0
  143. package/dist/extract-element-css-CnY9b0vB.js +10 -0
  144. package/dist/extract-element-css-CoQLNjVI.js +10 -0
  145. package/dist/extract-element-css-CqjmXl0Y.cjs +10 -0
  146. package/dist/extract-element-css-Cr29xtzW.cjs +10 -0
  147. package/dist/extract-element-css-CzNVoJEM.js +319 -0
  148. package/dist/extract-element-css-CzgC7nM9.cjs +10 -0
  149. package/dist/extract-element-css-D3Dy-3Qz.js +10 -0
  150. package/dist/extract-element-css-D5qqKVc-.cjs +10 -0
  151. package/dist/extract-element-css-D5zsPw09.cjs +10 -0
  152. package/dist/extract-element-css-D6UwJjf4.cjs +336 -0
  153. package/dist/extract-element-css-DEuA2W6G.js +10 -0
  154. package/dist/extract-element-css-DKkUiIlS.cjs +10 -0
  155. package/dist/extract-element-css-DM0EhhXw.cjs +10 -0
  156. package/dist/extract-element-css-DPA6C_o-.cjs +10 -0
  157. package/dist/extract-element-css-DU45xRGh.js +10 -0
  158. package/dist/extract-element-css-DUvYlz4T.js +10 -0
  159. package/dist/extract-element-css-DVDr5Tn6.cjs +10 -0
  160. package/dist/extract-element-css-Di9hCigW.js +319 -0
  161. package/dist/extract-element-css-DivFxCRt.js +319 -0
  162. package/dist/extract-element-css-DlDbU4YM.cjs +10 -0
  163. package/dist/extract-element-css-DsssOqcQ.cjs +10 -0
  164. package/dist/extract-element-css-EnvrIHtf.cjs +336 -0
  165. package/dist/extract-element-css-FI71J_KB.js +10 -0
  166. package/dist/extract-element-css-GdDDlzTf.js +10 -0
  167. package/dist/extract-element-css-U3MgLHty.cjs +10 -0
  168. package/dist/extract-element-css-U4oxl-UP.js +10 -0
  169. package/dist/extract-element-css-VyMIgOZy.js +10 -0
  170. package/dist/extract-element-css-XGv0WWIL.js +319 -0
  171. package/dist/extract-element-css-Y-x4luJL.cjs +10 -0
  172. package/dist/extract-element-css-Zz_CgLqY.js +319 -0
  173. package/dist/extract-element-css-_aFPl5y4.cjs +336 -0
  174. package/dist/extract-element-css-_uZRVqCT.cjs +10 -0
  175. package/dist/extract-element-css-i8nzXODQ.js +10 -0
  176. package/dist/extract-element-css-jh1iLRzJ.js +10 -0
  177. package/dist/extract-element-css-nkJQc3j1.js +10 -0
  178. package/dist/freeze-updates--K1ecmFi.cjs +44 -0
  179. package/dist/freeze-updates-1FTXgIdb.js +44 -0
  180. package/dist/freeze-updates-3QjTocF-.cjs +2267 -0
  181. package/dist/freeze-updates-81f5sY45.js +44 -0
  182. package/dist/freeze-updates-B1mPDmJB.js +44 -0
  183. package/dist/freeze-updates-B5h8teL6.cjs +44 -0
  184. package/dist/freeze-updates-BAYe0Nlx.js +44 -0
  185. package/dist/freeze-updates-BDhlBp3V.js +44 -0
  186. package/dist/freeze-updates-BGa9CqrW.cjs +2267 -0
  187. package/dist/freeze-updates-BQH6Y8E1.cjs +44 -0
  188. package/dist/freeze-updates-BQjWBzy4.cjs +53 -0
  189. package/dist/freeze-updates-BSOSfpXo.js +44 -0
  190. package/dist/freeze-updates-BT-s67nK.js +53 -0
  191. package/dist/freeze-updates-BUJeYIm5.js +44 -0
  192. package/dist/freeze-updates-BVDrqUzf.js +2498 -0
  193. package/dist/freeze-updates-BVX0QSXz.cjs +44 -0
  194. package/dist/freeze-updates-BXMr6a9g.cjs +2912 -0
  195. package/dist/freeze-updates-BZpmCVDl.cjs +2267 -0
  196. package/dist/freeze-updates-BbbID39H.js +1866 -0
  197. package/dist/freeze-updates-BdnJ5RrP.js +1866 -0
  198. package/dist/freeze-updates-Bj59uWit.cjs +44 -0
  199. package/dist/freeze-updates-Bla3E0Kv.js +53 -0
  200. package/dist/freeze-updates-BoYyIB3V.cjs +44 -0
  201. package/dist/freeze-updates-C2TqDiTp.cjs +44 -0
  202. package/dist/freeze-updates-C6Tg4EoW.js +44 -0
  203. package/dist/freeze-updates-C7c9TRvJ.cjs +44 -0
  204. package/dist/freeze-updates-CPNAwtsl.cjs +2267 -0
  205. package/dist/freeze-updates-CTP39zuf.js +44 -0
  206. package/dist/freeze-updates-Cm3EVm_J.cjs +53 -0
  207. package/dist/freeze-updates-CnSZEKoI.cjs +44 -0
  208. package/dist/freeze-updates-CrKe4F0s.js +44 -0
  209. package/dist/freeze-updates-CtYFeM4D.cjs +2267 -0
  210. package/dist/freeze-updates-CxYFvPj9.cjs +53 -0
  211. package/dist/freeze-updates-D10Qj9Ec.cjs +44 -0
  212. package/dist/freeze-updates-D6o46vBw.cjs +44 -0
  213. package/dist/freeze-updates-D7XFQ3_T.js +53 -0
  214. package/dist/freeze-updates-D8H25gFt.js +44 -0
  215. package/dist/freeze-updates-DCpGX7lt.cjs +44 -0
  216. package/dist/freeze-updates-DG3hLEL2.cjs +44 -0
  217. package/dist/freeze-updates-DO_M76qf.js +44 -0
  218. package/dist/freeze-updates-Db4Id665.cjs +2267 -0
  219. package/dist/freeze-updates-DbL_EXkN.js +1866 -0
  220. package/dist/freeze-updates-DcvNGCcR.cjs +44 -0
  221. package/dist/freeze-updates-Dh4GiYXz.cjs +44 -0
  222. package/dist/freeze-updates-DkKJK_nh.cjs +44 -0
  223. package/dist/freeze-updates-DmB-ndqy.cjs +44 -0
  224. package/dist/freeze-updates-DnAA3QYp.cjs +44 -0
  225. package/dist/freeze-updates-Dpj8jndD.js +44 -0
  226. package/dist/freeze-updates-DuHXIi3M.js +44 -0
  227. package/dist/freeze-updates-DwERlFID.js +1866 -0
  228. package/dist/freeze-updates-HHyWtz8f.cjs +44 -0
  229. package/dist/freeze-updates-JRZCAR0q.js +1866 -0
  230. package/dist/freeze-updates-KLyCac_c.js +44 -0
  231. package/dist/freeze-updates-MaNDvTJS.js +1866 -0
  232. package/dist/freeze-updates-REe44rww.js +44 -0
  233. package/dist/freeze-updates-TPRkNnYY.js +44 -0
  234. package/dist/freeze-updates-WfKs4yF4.js +44 -0
  235. package/dist/freeze-updates-d9yH0V6A.cjs +44 -0
  236. package/dist/freeze-updates-nzZkxjqN.js +44 -0
  237. package/dist/freeze-updates-q_DMlHq7.js +44 -0
  238. package/dist/index-0hhKx6KA.d.ts +534 -0
  239. package/dist/index-5oOhE8Ae.d.cts +123 -0
  240. package/dist/index-BA23Z7zi.d.ts +77 -0
  241. package/dist/index-BAbHDCJb.d.ts +190 -0
  242. package/dist/index-BN1ZJhWK.d.cts +471 -0
  243. package/dist/index-BNt_9BO7.d.ts +77 -0
  244. package/dist/index-BQIO-ZFv.d.cts +190 -0
  245. package/dist/index-BTQxeAz1.d.cts +123 -0
  246. package/dist/index-BxsI0BlT.d.ts +471 -0
  247. package/dist/index-BzzHoNRc.d.cts +77 -0
  248. package/dist/index-C0Scq3kL.d.ts +458 -0
  249. package/dist/index-CAHLDDjY.d.ts +190 -0
  250. package/dist/index-CIJ7ossb.d.ts +190 -0
  251. package/dist/index-CJqujqsv.d.cts +190 -0
  252. package/dist/index-CJrVDk2d.d.ts +470 -0
  253. package/dist/index-CQBZI4f5.d.cts +458 -0
  254. package/dist/index-CS3VHZ8R.d.cts +77 -0
  255. package/dist/index-CWd5aKyK.d.ts +123 -0
  256. package/dist/index-DM3Ga1zc.d.ts +123 -0
  257. package/dist/index-DYp_9VQ_.d.cts +470 -0
  258. package/dist/index-DrK-HiGj.d.ts +203 -0
  259. package/dist/index-GwiDNOsl.d.ts +457 -0
  260. package/dist/index-QLMT7NRw.d.cts +203 -0
  261. package/dist/index-QLi1BtdI.d.cts +190 -0
  262. package/dist/index-sM3yy652.d.cts +534 -0
  263. package/dist/index-zvkV7Xwg.d.cts +457 -0
  264. package/dist/index.cjs +2 -2
  265. package/dist/index.d.cts +21 -12
  266. package/dist/index.d.ts +21 -12
  267. package/dist/index.global.js +26 -97
  268. package/dist/index.iife.js +43 -0
  269. package/dist/index.js +2 -2
  270. package/dist/primitives.cjs +2 -2
  271. package/dist/primitives.d.cts +20 -13
  272. package/dist/primitives.d.ts +20 -13
  273. package/dist/primitives.js +2 -2
  274. package/dist/renderer--AVNuclr.js +9 -0
  275. package/dist/renderer--bWj0AZJ.js +4101 -0
  276. package/dist/renderer--cF4pvND.js +9 -0
  277. package/dist/renderer-0mo5bvxE.js +4126 -0
  278. package/dist/renderer-4Wa-UMC5.cjs +9 -0
  279. package/dist/renderer-6D9KbSAS.js +9 -0
  280. package/dist/renderer-7mjLlkgX.cjs +9 -0
  281. package/dist/renderer-B0v-2J0H.js +9 -0
  282. package/dist/renderer-B0yJsSRz.js +9 -0
  283. package/dist/renderer-B660bBKn.cjs +9 -0
  284. package/dist/renderer-B6m2pWq1.cjs +4102 -0
  285. package/dist/renderer-BA_yjKW4.cjs +9 -0
  286. package/dist/renderer-BDCne7IL.cjs +9 -0
  287. package/dist/renderer-BDKG-8eW.js +9 -0
  288. package/dist/renderer-BEisX7lt.js +9 -0
  289. package/dist/renderer-BEnSHrkN.cjs +9 -0
  290. package/dist/renderer-BJQHCki_.js +9 -0
  291. package/dist/renderer-BLEQ0lBg.js +9 -0
  292. package/dist/renderer-BQMe9vbO.cjs +9 -0
  293. package/dist/renderer-BZfQAWt2.cjs +9 -0
  294. package/dist/renderer-BZypunFM.cjs +9 -0
  295. package/dist/renderer-Be1I1mDW.cjs +9 -0
  296. package/dist/renderer-Bhrtihjr.cjs +9 -0
  297. package/dist/renderer-Bp3dRMPA.js +9 -0
  298. package/dist/renderer-BqYgf0tD.js +9 -0
  299. package/dist/renderer-BwD9ZaGr.cjs +9 -0
  300. package/dist/renderer-BxCRcsEK.cjs +4125 -0
  301. package/dist/renderer-C1Wrh8hn.js +9 -0
  302. package/dist/renderer-C6pztTyv.js +9 -0
  303. package/dist/renderer-C9bCr3pC.js +4101 -0
  304. package/dist/renderer-CEmrAuyA.js +9 -0
  305. package/dist/renderer-CG1lpM8J.cjs +9 -0
  306. package/dist/renderer-CIJhv1xD.js +9 -0
  307. package/dist/renderer-CJ3EovD7.js +9 -0
  308. package/dist/renderer-CJVIzi67.js +4114 -0
  309. package/dist/renderer-CKAmRN9i.cjs +9 -0
  310. package/dist/renderer-CNa9jW2d.js +9 -0
  311. package/dist/renderer-CS6q5sh-.cjs +4101 -0
  312. package/dist/renderer-CTip7L4z.cjs +4114 -0
  313. package/dist/renderer-Cdh6G3WO.cjs +4101 -0
  314. package/dist/renderer-Cfnc_J-x.js +9 -0
  315. package/dist/renderer-CidbOiiO.js +9 -0
  316. package/dist/renderer-CooL8OD4.cjs +9 -0
  317. package/dist/renderer-Cp8W_Vpj.cjs +4101 -0
  318. package/dist/renderer-Ctq4IL1w.cjs +9 -0
  319. package/dist/renderer-D0gZDp8v.js +9 -0
  320. package/dist/renderer-D2Ius1-3.cjs +9 -0
  321. package/dist/renderer-D2gUuAUv.cjs +9 -0
  322. package/dist/renderer-D6qQGrNF.js +9 -0
  323. package/dist/renderer-D9RBf9He.js +9 -0
  324. package/dist/renderer-DDpyudCh.js +9 -0
  325. package/dist/renderer-DEo9eIZj.cjs +9 -0
  326. package/dist/renderer-DHBz10-G.js +9 -0
  327. package/dist/renderer-DM6gVYD_.cjs +4126 -0
  328. package/dist/renderer-DS5wjL1R.cjs +9 -0
  329. package/dist/renderer-DWZQjHeF.cjs +4101 -0
  330. package/dist/renderer-DZ-EdxOj.cjs +9 -0
  331. package/dist/renderer-DblZTrea.js +9 -0
  332. package/dist/renderer-DcPiCh7r.js +4114 -0
  333. package/dist/renderer-Dfj6tfg9.cjs +4139 -0
  334. package/dist/renderer-DhoYb1PY.js +4103 -0
  335. package/dist/renderer-Dl6awT_I.cjs +9 -0
  336. package/dist/renderer-DmOXobMF.js +4101 -0
  337. package/dist/renderer-DmlAyeq6.cjs +4114 -0
  338. package/dist/renderer-DnwizF3I.cjs +9 -0
  339. package/dist/renderer-Dpzs-uao.js +4125 -0
  340. package/dist/renderer-Ds21virZ.cjs +4145 -0
  341. package/dist/renderer-DslAAsKS.js +4101 -0
  342. package/dist/renderer-DtBv4wTu.js +4102 -0
  343. package/dist/renderer-DxuOYfZN.cjs +9 -0
  344. package/dist/renderer-DyrsoA_r.js +9 -0
  345. package/dist/renderer-GlgUXTaV.js +9 -0
  346. package/dist/renderer-KL2bSyIW.cjs +9 -0
  347. package/dist/renderer-N_yFJNWi.cjs +9 -0
  348. package/dist/renderer-TkTQ8ZzV.cjs +4101 -0
  349. package/dist/renderer-WtWG_Uzr.js +4139 -0
  350. package/dist/renderer-YPWUo91d.cjs +9 -0
  351. package/dist/renderer-foaHR93_.js +9 -0
  352. package/dist/renderer-irss7gH9.js +9 -0
  353. package/dist/renderer-kNWgh9RH.js +9 -0
  354. package/dist/renderer-l2DsHbX5.js +4145 -0
  355. package/dist/renderer-lRGat4eI.js +9 -0
  356. package/dist/renderer-m1ynwV5m.cjs +9 -0
  357. package/dist/renderer-oDWZTt10.cjs +9 -0
  358. package/dist/renderer-ruVxrW9_.cjs +9 -0
  359. package/dist/renderer-tLg9bC5E.cjs +4103 -0
  360. package/dist/renderer-wKL03A96.cjs +9 -0
  361. package/dist/renderer-xY7WwwPb.cjs +9 -0
  362. package/dist/renderer-yNfPLGJa.js +4101 -0
  363. package/dist/renderer-zFA8Xsqn.js +9 -0
  364. package/dist/state-0zvRag7o.js +1832 -0
  365. package/dist/state-1bNOTRwX.js +9 -0
  366. package/dist/state-4KlM-876.cjs +9 -0
  367. package/dist/state-5YzsfKSg.js +9 -0
  368. package/dist/state-B2sO7SGs.cjs +9 -0
  369. package/dist/state-B30FVO9-.cjs +9 -0
  370. package/dist/state-BBF5Yd6R.cjs +1488 -0
  371. package/dist/state-BHM_hL69.cjs +9 -0
  372. package/dist/state-BKkU5MYC.js +9 -0
  373. package/dist/state-B_xrj8fC.js +9 -0
  374. package/dist/state-BaTqKR5-.js +1832 -0
  375. package/dist/state-Bb1Wechu.js +9 -0
  376. package/dist/state-BfgVpFaG.cjs +9 -0
  377. package/dist/state-BoRPcmmD.js +9 -0
  378. package/dist/state-BqB3gaPk.js +9 -0
  379. package/dist/state-Bt9zarML.js +1832 -0
  380. package/dist/state-Bw07Ecsm.js +9 -0
  381. package/dist/state-Bw9Y8zmt.js +9 -0
  382. package/dist/state-ByV_XBwX.js +9 -0
  383. package/dist/state-C4nNE_SS.js +9 -0
  384. package/dist/state-C4uusDVL.cjs +9 -0
  385. package/dist/state-CMwBL8Lh.cjs +9 -0
  386. package/dist/state-C_KJ10Ip.cjs +9 -0
  387. package/dist/state-ClLJ5ade.cjs +1488 -0
  388. package/dist/state-CpWrjvjx.js +277 -0
  389. package/dist/state-CwguFqss.cjs +9 -0
  390. package/dist/state-Cxj7mpyT.cjs +9 -0
  391. package/dist/state-CyWfuYBm.js +9 -0
  392. package/dist/state-Cz4euNVW.js +1832 -0
  393. package/dist/state-D1eYdbOV.js +9 -0
  394. package/dist/state-D231Xq-p.js +9 -0
  395. package/dist/state-D2nMXLig.cjs +9 -0
  396. package/dist/state-D3NnAU-G.js +9 -0
  397. package/dist/state-D4g0zX0j.cjs +9 -0
  398. package/dist/state-D5n1XOr-.cjs +372 -0
  399. package/dist/state-DPKTXrbJ.cjs +9 -0
  400. package/dist/state-DREKPmRw.cjs +9 -0
  401. package/dist/state-DT0Nzp9g.cjs +9 -0
  402. package/dist/state-Deun4HK-.cjs +9 -0
  403. package/dist/state-DfcZ51t9.js +9 -0
  404. package/dist/state-DgvhS6KW.cjs +1488 -0
  405. package/dist/state-DkjLMcvP.cjs +9 -0
  406. package/dist/state-DspBT1Sv.js +9 -0
  407. package/dist/state-DtgVqpBv.js +9 -0
  408. package/dist/state-DycsTHAk.cjs +9 -0
  409. package/dist/state-EWoHHdWu.js +9 -0
  410. package/dist/state-HWOltPgB.js +9 -0
  411. package/dist/state-JJNPE2tU.js +277 -0
  412. package/dist/state-KDd3Eouo.js +9 -0
  413. package/dist/state-Kmc6BtLp.cjs +9 -0
  414. package/dist/state-Q4M-6UjH.cjs +9 -0
  415. package/dist/state-U8yVy4Ad.cjs +9 -0
  416. package/dist/state-Uwm9KEi1.js +1832 -0
  417. package/dist/state-XYH8BGBU.cjs +372 -0
  418. package/dist/state-aBiYx-N-.cjs +9 -0
  419. package/dist/state-arg5pYvx.cjs +1488 -0
  420. package/dist/state-dFAAWOP9.cjs +1488 -0
  421. package/dist/state-daFKdtG6.js +9 -0
  422. package/dist/state-muKg33Sx.cjs +9 -0
  423. package/dist/state-wvjxc3BL.js +9 -0
  424. package/dist/styles.css +1 -1
  425. package/package.json +15 -22
  426. package/dist/chunk-2VXWII4G.cjs +0 -12
  427. package/dist/chunk-3HCPVIMZ.cjs +0 -83
  428. package/dist/chunk-CAZ3NLYA.cjs +0 -10
  429. package/dist/chunk-IWIPTBFC.js +0 -21
  430. package/dist/chunk-KH7JPDWT.js +0 -83
  431. package/dist/chunk-MIM6UREC.cjs +0 -21
  432. package/dist/chunk-RYNNLFJT.js +0 -10
  433. package/dist/chunk-VCA74BQS.js +0 -12
  434. package/dist/index-bB0QMlHm.d.cts +0 -507
  435. package/dist/index-bB0QMlHm.d.ts +0 -507
  436. package/dist/renderer-DEPHVNHK.cjs +0 -10
  437. package/dist/renderer-WYB2HHU6.js +0 -10
  438. package/scripts/postinstall.cjs +0 -23
@@ -0,0 +1,1832 @@
1
+ /**
2
+ * @license MIT
3
+ *
4
+ * Copyright (c) 2025 Aiden Bai
5
+ *
6
+ * This source code is licensed under the MIT license found in the
7
+ * LICENSE file in the root directory of this source tree.
8
+ */
9
+ import { P as DEFAULT_ACTION_ID, j as getTagName, ot as TOOLBAR_DEFAULT_POSITION_RATIO } from "./freeze-updates-JRZCAR0q.js";
10
+
11
+ //#region ../../node_modules/.pnpm/solid-js@1.9.10/node_modules/solid-js/dist/solid.js
12
+ const sharedConfig = {
13
+ context: void 0,
14
+ registry: void 0,
15
+ effects: void 0,
16
+ done: false,
17
+ getContextId() {
18
+ return getContextId(this.context.count);
19
+ },
20
+ getNextContextId() {
21
+ return getContextId(this.context.count++);
22
+ }
23
+ };
24
+ function getContextId(count) {
25
+ const num = String(count), len = num.length - 1;
26
+ return sharedConfig.context.id + (len ? String.fromCharCode(96 + len) : "") + num;
27
+ }
28
+ function setHydrateContext(context) {
29
+ sharedConfig.context = context;
30
+ }
31
+ function nextHydrateContext() {
32
+ return {
33
+ ...sharedConfig.context,
34
+ id: sharedConfig.getNextContextId(),
35
+ count: 0
36
+ };
37
+ }
38
+ const equalFn = (a, b) => a === b;
39
+ const $PROXY = Symbol("solid-proxy");
40
+ const SUPPORTS_PROXY = typeof Proxy === "function";
41
+ const $TRACK = Symbol("solid-track");
42
+ const signalOptions = { equals: equalFn };
43
+ let ERROR = null;
44
+ let runEffects = runQueue;
45
+ const STALE = 1;
46
+ const PENDING = 2;
47
+ const UNOWNED = {
48
+ owned: null,
49
+ cleanups: null,
50
+ context: null,
51
+ owner: null
52
+ };
53
+ const NO_INIT = {};
54
+ var Owner = null;
55
+ let Transition = null;
56
+ let Scheduler = null;
57
+ let ExternalSourceConfig = null;
58
+ let Listener = null;
59
+ let Updates = null;
60
+ let Effects = null;
61
+ let ExecCount = 0;
62
+ function createRoot(fn, detachedOwner) {
63
+ const listener = Listener, owner = Owner, unowned = fn.length === 0, current = detachedOwner === void 0 ? owner : detachedOwner, root = unowned ? UNOWNED : {
64
+ owned: null,
65
+ cleanups: null,
66
+ context: current ? current.context : null,
67
+ owner: current
68
+ }, updateFn = unowned ? fn : () => fn(() => untrack(() => cleanNode(root)));
69
+ Owner = root;
70
+ Listener = null;
71
+ try {
72
+ return runUpdates(updateFn, true);
73
+ } finally {
74
+ Listener = listener;
75
+ Owner = owner;
76
+ }
77
+ }
78
+ function createSignal(value, options) {
79
+ options = options ? Object.assign({}, signalOptions, options) : signalOptions;
80
+ const s = {
81
+ value,
82
+ observers: null,
83
+ observerSlots: null,
84
+ comparator: options.equals || void 0
85
+ };
86
+ const setter = (value) => {
87
+ if (typeof value === "function") if (Transition && Transition.running && Transition.sources.has(s)) value = value(s.tValue);
88
+ else value = value(s.value);
89
+ return writeSignal(s, value);
90
+ };
91
+ return [readSignal.bind(s), setter];
92
+ }
93
+ function createComputed(fn, value, options) {
94
+ const c = createComputation(fn, value, true, STALE);
95
+ if (Scheduler && Transition && Transition.running) Updates.push(c);
96
+ else updateComputation(c);
97
+ }
98
+ function createRenderEffect(fn, value, options) {
99
+ const c = createComputation(fn, value, false, STALE);
100
+ if (Scheduler && Transition && Transition.running) Updates.push(c);
101
+ else updateComputation(c);
102
+ }
103
+ function createEffect(fn, value, options) {
104
+ runEffects = runUserEffects;
105
+ const c = createComputation(fn, value, false, STALE), s = SuspenseContext && useContext(SuspenseContext);
106
+ if (s) c.suspense = s;
107
+ if (!options || !options.render) c.user = true;
108
+ Effects ? Effects.push(c) : updateComputation(c);
109
+ }
110
+ function createMemo(fn, value, options) {
111
+ options = options ? Object.assign({}, signalOptions, options) : signalOptions;
112
+ const c = createComputation(fn, value, true, 0);
113
+ c.observers = null;
114
+ c.observerSlots = null;
115
+ c.comparator = options.equals || void 0;
116
+ if (Scheduler && Transition && Transition.running) {
117
+ c.tState = STALE;
118
+ Updates.push(c);
119
+ } else updateComputation(c);
120
+ return readSignal.bind(c);
121
+ }
122
+ function isPromise(v) {
123
+ return v && typeof v === "object" && "then" in v;
124
+ }
125
+ function createResource(pSource, pFetcher, pOptions) {
126
+ let source;
127
+ let fetcher;
128
+ let options;
129
+ if (typeof pFetcher === "function") {
130
+ source = pSource;
131
+ fetcher = pFetcher;
132
+ options = pOptions || {};
133
+ } else {
134
+ source = true;
135
+ fetcher = pSource;
136
+ options = pFetcher || {};
137
+ }
138
+ let pr = null, initP = NO_INIT, id = null, loadedUnderTransition = false, scheduled = false, resolved = "initialValue" in options, dynamic = typeof source === "function" && createMemo(source);
139
+ const contexts = /* @__PURE__ */ new Set(), [value, setValue] = (options.storage || createSignal)(options.initialValue), [error, setError] = createSignal(void 0), [track, trigger] = createSignal(void 0, { equals: false }), [state, setState] = createSignal(resolved ? "ready" : "unresolved");
140
+ if (sharedConfig.context) {
141
+ id = sharedConfig.getNextContextId();
142
+ if (options.ssrLoadFrom === "initial") initP = options.initialValue;
143
+ else if (sharedConfig.load && sharedConfig.has(id)) initP = sharedConfig.load(id);
144
+ }
145
+ function loadEnd(p, v, error, key) {
146
+ if (pr === p) {
147
+ pr = null;
148
+ key !== void 0 && (resolved = true);
149
+ if ((p === initP || v === initP) && options.onHydrated) queueMicrotask(() => options.onHydrated(key, { value: v }));
150
+ initP = NO_INIT;
151
+ if (Transition && p && loadedUnderTransition) {
152
+ Transition.promises.delete(p);
153
+ loadedUnderTransition = false;
154
+ runUpdates(() => {
155
+ Transition.running = true;
156
+ completeLoad(v, error);
157
+ }, false);
158
+ } else completeLoad(v, error);
159
+ }
160
+ return v;
161
+ }
162
+ function completeLoad(v, err) {
163
+ runUpdates(() => {
164
+ if (err === void 0) setValue(() => v);
165
+ setState(err !== void 0 ? "errored" : resolved ? "ready" : "unresolved");
166
+ setError(err);
167
+ for (const c of contexts.keys()) c.decrement();
168
+ contexts.clear();
169
+ }, false);
170
+ }
171
+ function read() {
172
+ const c = SuspenseContext && useContext(SuspenseContext), v = value(), err = error();
173
+ if (err !== void 0 && !pr) throw err;
174
+ if (Listener && !Listener.user && c) createComputed(() => {
175
+ track();
176
+ if (pr) {
177
+ if (c.resolved && Transition && loadedUnderTransition) Transition.promises.add(pr);
178
+ else if (!contexts.has(c)) {
179
+ c.increment();
180
+ contexts.add(c);
181
+ }
182
+ }
183
+ });
184
+ return v;
185
+ }
186
+ function load(refetching = true) {
187
+ if (refetching !== false && scheduled) return;
188
+ scheduled = false;
189
+ const lookup = dynamic ? dynamic() : source;
190
+ loadedUnderTransition = Transition && Transition.running;
191
+ if (lookup == null || lookup === false) {
192
+ loadEnd(pr, untrack(value));
193
+ return;
194
+ }
195
+ if (Transition && pr) Transition.promises.delete(pr);
196
+ let error;
197
+ const p = initP !== NO_INIT ? initP : untrack(() => {
198
+ try {
199
+ return fetcher(lookup, {
200
+ value: value(),
201
+ refetching
202
+ });
203
+ } catch (fetcherError) {
204
+ error = fetcherError;
205
+ }
206
+ });
207
+ if (error !== void 0) {
208
+ loadEnd(pr, void 0, castError(error), lookup);
209
+ return;
210
+ } else if (!isPromise(p)) {
211
+ loadEnd(pr, p, void 0, lookup);
212
+ return p;
213
+ }
214
+ pr = p;
215
+ if ("v" in p) {
216
+ if (p.s === 1) loadEnd(pr, p.v, void 0, lookup);
217
+ else loadEnd(pr, void 0, castError(p.v), lookup);
218
+ return p;
219
+ }
220
+ scheduled = true;
221
+ queueMicrotask(() => scheduled = false);
222
+ runUpdates(() => {
223
+ setState(resolved ? "refreshing" : "pending");
224
+ trigger();
225
+ }, false);
226
+ return p.then((v) => loadEnd(p, v, void 0, lookup), (e) => loadEnd(p, void 0, castError(e), lookup));
227
+ }
228
+ Object.defineProperties(read, {
229
+ state: { get: () => state() },
230
+ error: { get: () => error() },
231
+ loading: { get() {
232
+ const s = state();
233
+ return s === "pending" || s === "refreshing";
234
+ } },
235
+ latest: { get() {
236
+ if (!resolved) return read();
237
+ const err = error();
238
+ if (err && !pr) throw err;
239
+ return value();
240
+ } }
241
+ });
242
+ let owner = Owner;
243
+ if (dynamic) createComputed(() => (owner = Owner, load(false)));
244
+ else load(false);
245
+ return [read, {
246
+ refetch: (info) => runWithOwner(owner, () => load(info)),
247
+ mutate: setValue
248
+ }];
249
+ }
250
+ function batch(fn) {
251
+ return runUpdates(fn, false);
252
+ }
253
+ function untrack(fn) {
254
+ if (!ExternalSourceConfig && Listener === null) return fn();
255
+ const listener = Listener;
256
+ Listener = null;
257
+ try {
258
+ if (ExternalSourceConfig) return ExternalSourceConfig.untrack(fn);
259
+ return fn();
260
+ } finally {
261
+ Listener = listener;
262
+ }
263
+ }
264
+ function on(deps, fn, options) {
265
+ const isArray = Array.isArray(deps);
266
+ let prevInput;
267
+ let defer = options && options.defer;
268
+ return (prevValue) => {
269
+ let input;
270
+ if (isArray) {
271
+ input = Array(deps.length);
272
+ for (let i = 0; i < deps.length; i++) input[i] = deps[i]();
273
+ } else input = deps();
274
+ if (defer) {
275
+ defer = false;
276
+ return prevValue;
277
+ }
278
+ const result = untrack(() => fn(input, prevInput, prevValue));
279
+ prevInput = input;
280
+ return result;
281
+ };
282
+ }
283
+ function onMount(fn) {
284
+ createEffect(() => untrack(fn));
285
+ }
286
+ function onCleanup(fn) {
287
+ if (Owner === null);
288
+ else if (Owner.cleanups === null) Owner.cleanups = [fn];
289
+ else Owner.cleanups.push(fn);
290
+ return fn;
291
+ }
292
+ function getListener() {
293
+ return Listener;
294
+ }
295
+ function runWithOwner(o, fn) {
296
+ const prev = Owner;
297
+ const prevListener = Listener;
298
+ Owner = o;
299
+ Listener = null;
300
+ try {
301
+ return runUpdates(fn, true);
302
+ } catch (err) {
303
+ handleError(err);
304
+ } finally {
305
+ Owner = prev;
306
+ Listener = prevListener;
307
+ }
308
+ }
309
+ function startTransition(fn) {
310
+ if (Transition && Transition.running) {
311
+ fn();
312
+ return Transition.done;
313
+ }
314
+ const l = Listener;
315
+ const o = Owner;
316
+ return Promise.resolve().then(() => {
317
+ Listener = l;
318
+ Owner = o;
319
+ let t;
320
+ if (Scheduler || SuspenseContext) {
321
+ t = Transition || (Transition = {
322
+ sources: /* @__PURE__ */ new Set(),
323
+ effects: [],
324
+ promises: /* @__PURE__ */ new Set(),
325
+ disposed: /* @__PURE__ */ new Set(),
326
+ queue: /* @__PURE__ */ new Set(),
327
+ running: true
328
+ });
329
+ t.done || (t.done = new Promise((res) => t.resolve = res));
330
+ t.running = true;
331
+ }
332
+ runUpdates(fn, false);
333
+ Listener = Owner = null;
334
+ return t ? t.done : void 0;
335
+ });
336
+ }
337
+ const [transPending, setTransPending] = /* @__PURE__ */ createSignal(false);
338
+ function useContext(context) {
339
+ let value;
340
+ return Owner && Owner.context && (value = Owner.context[context.id]) !== void 0 ? value : context.defaultValue;
341
+ }
342
+ let SuspenseContext;
343
+ function readSignal() {
344
+ const runningTransition = Transition && Transition.running;
345
+ if (this.sources && (runningTransition ? this.tState : this.state)) if ((runningTransition ? this.tState : this.state) === STALE) updateComputation(this);
346
+ else {
347
+ const updates = Updates;
348
+ Updates = null;
349
+ runUpdates(() => lookUpstream(this), false);
350
+ Updates = updates;
351
+ }
352
+ if (Listener) {
353
+ const sSlot = this.observers ? this.observers.length : 0;
354
+ if (!Listener.sources) {
355
+ Listener.sources = [this];
356
+ Listener.sourceSlots = [sSlot];
357
+ } else {
358
+ Listener.sources.push(this);
359
+ Listener.sourceSlots.push(sSlot);
360
+ }
361
+ if (!this.observers) {
362
+ this.observers = [Listener];
363
+ this.observerSlots = [Listener.sources.length - 1];
364
+ } else {
365
+ this.observers.push(Listener);
366
+ this.observerSlots.push(Listener.sources.length - 1);
367
+ }
368
+ }
369
+ if (runningTransition && Transition.sources.has(this)) return this.tValue;
370
+ return this.value;
371
+ }
372
+ function writeSignal(node, value, isComp) {
373
+ let current = Transition && Transition.running && Transition.sources.has(node) ? node.tValue : node.value;
374
+ if (!node.comparator || !node.comparator(current, value)) {
375
+ if (Transition) {
376
+ const TransitionRunning = Transition.running;
377
+ if (TransitionRunning || !isComp && Transition.sources.has(node)) {
378
+ Transition.sources.add(node);
379
+ node.tValue = value;
380
+ }
381
+ if (!TransitionRunning) node.value = value;
382
+ } else node.value = value;
383
+ if (node.observers && node.observers.length) runUpdates(() => {
384
+ for (let i = 0; i < node.observers.length; i += 1) {
385
+ const o = node.observers[i];
386
+ const TransitionRunning = Transition && Transition.running;
387
+ if (TransitionRunning && Transition.disposed.has(o)) continue;
388
+ if (TransitionRunning ? !o.tState : !o.state) {
389
+ if (o.pure) Updates.push(o);
390
+ else Effects.push(o);
391
+ if (o.observers) markDownstream(o);
392
+ }
393
+ if (!TransitionRunning) o.state = STALE;
394
+ else o.tState = STALE;
395
+ }
396
+ if (Updates.length > 1e6) {
397
+ Updates = [];
398
+ throw new Error();
399
+ }
400
+ }, false);
401
+ }
402
+ return value;
403
+ }
404
+ function updateComputation(node) {
405
+ if (!node.fn) return;
406
+ cleanNode(node);
407
+ const time = ExecCount;
408
+ runComputation(node, Transition && Transition.running && Transition.sources.has(node) ? node.tValue : node.value, time);
409
+ if (Transition && !Transition.running && Transition.sources.has(node)) queueMicrotask(() => {
410
+ runUpdates(() => {
411
+ Transition && (Transition.running = true);
412
+ Listener = Owner = node;
413
+ runComputation(node, node.tValue, time);
414
+ Listener = Owner = null;
415
+ }, false);
416
+ });
417
+ }
418
+ function runComputation(node, value, time) {
419
+ let nextValue;
420
+ const owner = Owner, listener = Listener;
421
+ Listener = Owner = node;
422
+ try {
423
+ nextValue = node.fn(value);
424
+ } catch (err) {
425
+ if (node.pure) if (Transition && Transition.running) {
426
+ node.tState = STALE;
427
+ node.tOwned && node.tOwned.forEach(cleanNode);
428
+ node.tOwned = void 0;
429
+ } else {
430
+ node.state = STALE;
431
+ node.owned && node.owned.forEach(cleanNode);
432
+ node.owned = null;
433
+ }
434
+ node.updatedAt = time + 1;
435
+ return handleError(err);
436
+ } finally {
437
+ Listener = listener;
438
+ Owner = owner;
439
+ }
440
+ if (!node.updatedAt || node.updatedAt <= time) {
441
+ if (node.updatedAt != null && "observers" in node) writeSignal(node, nextValue, true);
442
+ else if (Transition && Transition.running && node.pure) {
443
+ Transition.sources.add(node);
444
+ node.tValue = nextValue;
445
+ } else node.value = nextValue;
446
+ node.updatedAt = time;
447
+ }
448
+ }
449
+ function createComputation(fn, init, pure, state = STALE, options) {
450
+ const c = {
451
+ fn,
452
+ state,
453
+ updatedAt: null,
454
+ owned: null,
455
+ sources: null,
456
+ sourceSlots: null,
457
+ cleanups: null,
458
+ value: init,
459
+ owner: Owner,
460
+ context: Owner ? Owner.context : null,
461
+ pure
462
+ };
463
+ if (Transition && Transition.running) {
464
+ c.state = 0;
465
+ c.tState = state;
466
+ }
467
+ if (Owner === null);
468
+ else if (Owner !== UNOWNED) if (Transition && Transition.running && Owner.pure) if (!Owner.tOwned) Owner.tOwned = [c];
469
+ else Owner.tOwned.push(c);
470
+ else if (!Owner.owned) Owner.owned = [c];
471
+ else Owner.owned.push(c);
472
+ if (ExternalSourceConfig && c.fn) {
473
+ const [track, trigger] = createSignal(void 0, { equals: false });
474
+ const ordinary = ExternalSourceConfig.factory(c.fn, trigger);
475
+ onCleanup(() => ordinary.dispose());
476
+ const triggerInTransition = () => startTransition(trigger).then(() => inTransition.dispose());
477
+ const inTransition = ExternalSourceConfig.factory(c.fn, triggerInTransition);
478
+ c.fn = (x) => {
479
+ track();
480
+ return Transition && Transition.running ? inTransition.track(x) : ordinary.track(x);
481
+ };
482
+ }
483
+ return c;
484
+ }
485
+ function runTop(node) {
486
+ const runningTransition = Transition && Transition.running;
487
+ if ((runningTransition ? node.tState : node.state) === 0) return;
488
+ if ((runningTransition ? node.tState : node.state) === PENDING) return lookUpstream(node);
489
+ if (node.suspense && untrack(node.suspense.inFallback)) return node.suspense.effects.push(node);
490
+ const ancestors = [node];
491
+ while ((node = node.owner) && (!node.updatedAt || node.updatedAt < ExecCount)) {
492
+ if (runningTransition && Transition.disposed.has(node)) return;
493
+ if (runningTransition ? node.tState : node.state) ancestors.push(node);
494
+ }
495
+ for (let i = ancestors.length - 1; i >= 0; i--) {
496
+ node = ancestors[i];
497
+ if (runningTransition) {
498
+ let top = node, prev = ancestors[i + 1];
499
+ while ((top = top.owner) && top !== prev) if (Transition.disposed.has(top)) return;
500
+ }
501
+ if ((runningTransition ? node.tState : node.state) === STALE) updateComputation(node);
502
+ else if ((runningTransition ? node.tState : node.state) === PENDING) {
503
+ const updates = Updates;
504
+ Updates = null;
505
+ runUpdates(() => lookUpstream(node, ancestors[0]), false);
506
+ Updates = updates;
507
+ }
508
+ }
509
+ }
510
+ function runUpdates(fn, init) {
511
+ if (Updates) return fn();
512
+ let wait = false;
513
+ if (!init) Updates = [];
514
+ if (Effects) wait = true;
515
+ else Effects = [];
516
+ ExecCount++;
517
+ try {
518
+ const res = fn();
519
+ completeUpdates(wait);
520
+ return res;
521
+ } catch (err) {
522
+ if (!wait) Effects = null;
523
+ Updates = null;
524
+ handleError(err);
525
+ }
526
+ }
527
+ function completeUpdates(wait) {
528
+ if (Updates) {
529
+ if (Scheduler && Transition && Transition.running) scheduleQueue(Updates);
530
+ else runQueue(Updates);
531
+ Updates = null;
532
+ }
533
+ if (wait) return;
534
+ let res;
535
+ if (Transition) {
536
+ if (!Transition.promises.size && !Transition.queue.size) {
537
+ const sources = Transition.sources;
538
+ const disposed = Transition.disposed;
539
+ Effects.push.apply(Effects, Transition.effects);
540
+ res = Transition.resolve;
541
+ for (const e of Effects) {
542
+ "tState" in e && (e.state = e.tState);
543
+ delete e.tState;
544
+ }
545
+ Transition = null;
546
+ runUpdates(() => {
547
+ for (const d of disposed) cleanNode(d);
548
+ for (const v of sources) {
549
+ v.value = v.tValue;
550
+ if (v.owned) for (let i = 0, len = v.owned.length; i < len; i++) cleanNode(v.owned[i]);
551
+ if (v.tOwned) v.owned = v.tOwned;
552
+ delete v.tValue;
553
+ delete v.tOwned;
554
+ v.tState = 0;
555
+ }
556
+ setTransPending(false);
557
+ }, false);
558
+ } else if (Transition.running) {
559
+ Transition.running = false;
560
+ Transition.effects.push.apply(Transition.effects, Effects);
561
+ Effects = null;
562
+ setTransPending(true);
563
+ return;
564
+ }
565
+ }
566
+ const e = Effects;
567
+ Effects = null;
568
+ if (e.length) runUpdates(() => runEffects(e), false);
569
+ if (res) res();
570
+ }
571
+ function runQueue(queue) {
572
+ for (let i = 0; i < queue.length; i++) runTop(queue[i]);
573
+ }
574
+ function scheduleQueue(queue) {
575
+ for (let i = 0; i < queue.length; i++) {
576
+ const item = queue[i];
577
+ const tasks = Transition.queue;
578
+ if (!tasks.has(item)) {
579
+ tasks.add(item);
580
+ Scheduler(() => {
581
+ tasks.delete(item);
582
+ runUpdates(() => {
583
+ Transition.running = true;
584
+ runTop(item);
585
+ }, false);
586
+ Transition && (Transition.running = false);
587
+ });
588
+ }
589
+ }
590
+ }
591
+ function runUserEffects(queue) {
592
+ let i, userLength = 0;
593
+ for (i = 0; i < queue.length; i++) {
594
+ const e = queue[i];
595
+ if (!e.user) runTop(e);
596
+ else queue[userLength++] = e;
597
+ }
598
+ if (sharedConfig.context) {
599
+ if (sharedConfig.count) {
600
+ sharedConfig.effects || (sharedConfig.effects = []);
601
+ sharedConfig.effects.push(...queue.slice(0, userLength));
602
+ return;
603
+ }
604
+ setHydrateContext();
605
+ }
606
+ if (sharedConfig.effects && (sharedConfig.done || !sharedConfig.count)) {
607
+ queue = [...sharedConfig.effects, ...queue];
608
+ userLength += sharedConfig.effects.length;
609
+ delete sharedConfig.effects;
610
+ }
611
+ for (i = 0; i < userLength; i++) runTop(queue[i]);
612
+ }
613
+ function lookUpstream(node, ignore) {
614
+ const runningTransition = Transition && Transition.running;
615
+ if (runningTransition) node.tState = 0;
616
+ else node.state = 0;
617
+ for (let i = 0; i < node.sources.length; i += 1) {
618
+ const source = node.sources[i];
619
+ if (source.sources) {
620
+ const state = runningTransition ? source.tState : source.state;
621
+ if (state === STALE) {
622
+ if (source !== ignore && (!source.updatedAt || source.updatedAt < ExecCount)) runTop(source);
623
+ } else if (state === PENDING) lookUpstream(source, ignore);
624
+ }
625
+ }
626
+ }
627
+ function markDownstream(node) {
628
+ const runningTransition = Transition && Transition.running;
629
+ for (let i = 0; i < node.observers.length; i += 1) {
630
+ const o = node.observers[i];
631
+ if (runningTransition ? !o.tState : !o.state) {
632
+ if (runningTransition) o.tState = PENDING;
633
+ else o.state = PENDING;
634
+ if (o.pure) Updates.push(o);
635
+ else Effects.push(o);
636
+ o.observers && markDownstream(o);
637
+ }
638
+ }
639
+ }
640
+ function cleanNode(node) {
641
+ let i;
642
+ if (node.sources) while (node.sources.length) {
643
+ const source = node.sources.pop(), index = node.sourceSlots.pop(), obs = source.observers;
644
+ if (obs && obs.length) {
645
+ const n = obs.pop(), s = source.observerSlots.pop();
646
+ if (index < obs.length) {
647
+ n.sourceSlots[s] = index;
648
+ obs[index] = n;
649
+ source.observerSlots[index] = s;
650
+ }
651
+ }
652
+ }
653
+ if (node.tOwned) {
654
+ for (i = node.tOwned.length - 1; i >= 0; i--) cleanNode(node.tOwned[i]);
655
+ delete node.tOwned;
656
+ }
657
+ if (Transition && Transition.running && node.pure) reset(node, true);
658
+ else if (node.owned) {
659
+ for (i = node.owned.length - 1; i >= 0; i--) cleanNode(node.owned[i]);
660
+ node.owned = null;
661
+ }
662
+ if (node.cleanups) {
663
+ for (i = node.cleanups.length - 1; i >= 0; i--) node.cleanups[i]();
664
+ node.cleanups = null;
665
+ }
666
+ if (Transition && Transition.running) node.tState = 0;
667
+ else node.state = 0;
668
+ }
669
+ function reset(node, top) {
670
+ if (!top) {
671
+ node.tState = 0;
672
+ Transition.disposed.add(node);
673
+ }
674
+ if (node.owned) for (let i = 0; i < node.owned.length; i++) reset(node.owned[i]);
675
+ }
676
+ function castError(err) {
677
+ if (err instanceof Error) return err;
678
+ return new Error(typeof err === "string" ? err : "Unknown error", { cause: err });
679
+ }
680
+ function runErrors(err, fns, owner) {
681
+ try {
682
+ for (const f of fns) f(err);
683
+ } catch (e) {
684
+ handleError(e, owner && owner.owner || null);
685
+ }
686
+ }
687
+ function handleError(err, owner = Owner) {
688
+ const fns = ERROR && owner && owner.context && owner.context[ERROR];
689
+ const error = castError(err);
690
+ if (!fns) throw error;
691
+ if (Effects) Effects.push({
692
+ fn() {
693
+ runErrors(error, fns, owner);
694
+ },
695
+ state: STALE
696
+ });
697
+ else runErrors(error, fns, owner);
698
+ }
699
+ const FALLBACK = Symbol("fallback");
700
+ function dispose(d) {
701
+ for (let i = 0; i < d.length; i++) d[i]();
702
+ }
703
+ function mapArray(list, mapFn, options = {}) {
704
+ let items = [], mapped = [], disposers = [], len = 0, indexes = mapFn.length > 1 ? [] : null;
705
+ onCleanup(() => dispose(disposers));
706
+ return () => {
707
+ let newItems = list() || [], newLen = newItems.length, i, j;
708
+ newItems[$TRACK];
709
+ return untrack(() => {
710
+ let newIndices, newIndicesNext, temp, tempdisposers, tempIndexes, start, end, newEnd, item;
711
+ if (newLen === 0) {
712
+ if (len !== 0) {
713
+ dispose(disposers);
714
+ disposers = [];
715
+ items = [];
716
+ mapped = [];
717
+ len = 0;
718
+ indexes && (indexes = []);
719
+ }
720
+ if (options.fallback) {
721
+ items = [FALLBACK];
722
+ mapped[0] = createRoot((disposer) => {
723
+ disposers[0] = disposer;
724
+ return options.fallback();
725
+ });
726
+ len = 1;
727
+ }
728
+ } else if (len === 0) {
729
+ mapped = new Array(newLen);
730
+ for (j = 0; j < newLen; j++) {
731
+ items[j] = newItems[j];
732
+ mapped[j] = createRoot(mapper);
733
+ }
734
+ len = newLen;
735
+ } else {
736
+ temp = new Array(newLen);
737
+ tempdisposers = new Array(newLen);
738
+ indexes && (tempIndexes = new Array(newLen));
739
+ for (start = 0, end = Math.min(len, newLen); start < end && items[start] === newItems[start]; start++);
740
+ for (end = len - 1, newEnd = newLen - 1; end >= start && newEnd >= start && items[end] === newItems[newEnd]; end--, newEnd--) {
741
+ temp[newEnd] = mapped[end];
742
+ tempdisposers[newEnd] = disposers[end];
743
+ indexes && (tempIndexes[newEnd] = indexes[end]);
744
+ }
745
+ newIndices = /* @__PURE__ */ new Map();
746
+ newIndicesNext = new Array(newEnd + 1);
747
+ for (j = newEnd; j >= start; j--) {
748
+ item = newItems[j];
749
+ i = newIndices.get(item);
750
+ newIndicesNext[j] = i === void 0 ? -1 : i;
751
+ newIndices.set(item, j);
752
+ }
753
+ for (i = start; i <= end; i++) {
754
+ item = items[i];
755
+ j = newIndices.get(item);
756
+ if (j !== void 0 && j !== -1) {
757
+ temp[j] = mapped[i];
758
+ tempdisposers[j] = disposers[i];
759
+ indexes && (tempIndexes[j] = indexes[i]);
760
+ j = newIndicesNext[j];
761
+ newIndices.set(item, j);
762
+ } else disposers[i]();
763
+ }
764
+ for (j = start; j < newLen; j++) if (j in temp) {
765
+ mapped[j] = temp[j];
766
+ disposers[j] = tempdisposers[j];
767
+ if (indexes) {
768
+ indexes[j] = tempIndexes[j];
769
+ indexes[j](j);
770
+ }
771
+ } else mapped[j] = createRoot(mapper);
772
+ mapped = mapped.slice(0, len = newLen);
773
+ items = newItems.slice(0);
774
+ }
775
+ return mapped;
776
+ });
777
+ function mapper(disposer) {
778
+ disposers[j] = disposer;
779
+ if (indexes) {
780
+ const [s, set] = createSignal(j);
781
+ indexes[j] = set;
782
+ return mapFn(newItems[j], s);
783
+ }
784
+ return mapFn(newItems[j]);
785
+ }
786
+ };
787
+ }
788
+ function indexArray(list, mapFn, options = {}) {
789
+ let items = [], mapped = [], disposers = [], signals = [], len = 0, i;
790
+ onCleanup(() => dispose(disposers));
791
+ return () => {
792
+ const newItems = list() || [], newLen = newItems.length;
793
+ newItems[$TRACK];
794
+ return untrack(() => {
795
+ if (newLen === 0) {
796
+ if (len !== 0) {
797
+ dispose(disposers);
798
+ disposers = [];
799
+ items = [];
800
+ mapped = [];
801
+ len = 0;
802
+ signals = [];
803
+ }
804
+ if (options.fallback) {
805
+ items = [FALLBACK];
806
+ mapped[0] = createRoot((disposer) => {
807
+ disposers[0] = disposer;
808
+ return options.fallback();
809
+ });
810
+ len = 1;
811
+ }
812
+ return mapped;
813
+ }
814
+ if (items[0] === FALLBACK) {
815
+ disposers[0]();
816
+ disposers = [];
817
+ items = [];
818
+ mapped = [];
819
+ len = 0;
820
+ }
821
+ for (i = 0; i < newLen; i++) if (i < items.length && items[i] !== newItems[i]) signals[i](() => newItems[i]);
822
+ else if (i >= items.length) mapped[i] = createRoot(mapper);
823
+ for (; i < items.length; i++) disposers[i]();
824
+ len = signals.length = disposers.length = newLen;
825
+ items = newItems.slice(0);
826
+ return mapped = mapped.slice(0, len);
827
+ });
828
+ function mapper(disposer) {
829
+ disposers[i] = disposer;
830
+ const [s, set] = createSignal(newItems[i]);
831
+ signals[i] = set;
832
+ return mapFn(s, i);
833
+ }
834
+ };
835
+ }
836
+ let hydrationEnabled = false;
837
+ function createComponent(Comp, props) {
838
+ if (hydrationEnabled) {
839
+ if (sharedConfig.context) {
840
+ const c = sharedConfig.context;
841
+ setHydrateContext(nextHydrateContext());
842
+ const r = untrack(() => Comp(props || {}));
843
+ setHydrateContext(c);
844
+ return r;
845
+ }
846
+ }
847
+ return untrack(() => Comp(props || {}));
848
+ }
849
+ function trueFn() {
850
+ return true;
851
+ }
852
+ const propTraps = {
853
+ get(_, property, receiver) {
854
+ if (property === $PROXY) return receiver;
855
+ return _.get(property);
856
+ },
857
+ has(_, property) {
858
+ if (property === $PROXY) return true;
859
+ return _.has(property);
860
+ },
861
+ set: trueFn,
862
+ deleteProperty: trueFn,
863
+ getOwnPropertyDescriptor(_, property) {
864
+ return {
865
+ configurable: true,
866
+ enumerable: true,
867
+ get() {
868
+ return _.get(property);
869
+ },
870
+ set: trueFn,
871
+ deleteProperty: trueFn
872
+ };
873
+ },
874
+ ownKeys(_) {
875
+ return _.keys();
876
+ }
877
+ };
878
+ function resolveSource(s) {
879
+ return !(s = typeof s === "function" ? s() : s) ? {} : s;
880
+ }
881
+ function resolveSources() {
882
+ for (let i = 0, length = this.length; i < length; ++i) {
883
+ const v = this[i]();
884
+ if (v !== void 0) return v;
885
+ }
886
+ }
887
+ function mergeProps(...sources) {
888
+ let proxy = false;
889
+ for (let i = 0; i < sources.length; i++) {
890
+ const s = sources[i];
891
+ proxy = proxy || !!s && $PROXY in s;
892
+ sources[i] = typeof s === "function" ? (proxy = true, createMemo(s)) : s;
893
+ }
894
+ if (SUPPORTS_PROXY && proxy) return new Proxy({
895
+ get(property) {
896
+ for (let i = sources.length - 1; i >= 0; i--) {
897
+ const v = resolveSource(sources[i])[property];
898
+ if (v !== void 0) return v;
899
+ }
900
+ },
901
+ has(property) {
902
+ for (let i = sources.length - 1; i >= 0; i--) if (property in resolveSource(sources[i])) return true;
903
+ return false;
904
+ },
905
+ keys() {
906
+ const keys = [];
907
+ for (let i = 0; i < sources.length; i++) keys.push(...Object.keys(resolveSource(sources[i])));
908
+ return [...new Set(keys)];
909
+ }
910
+ }, propTraps);
911
+ const sourcesMap = {};
912
+ const defined = Object.create(null);
913
+ for (let i = sources.length - 1; i >= 0; i--) {
914
+ const source = sources[i];
915
+ if (!source) continue;
916
+ const sourceKeys = Object.getOwnPropertyNames(source);
917
+ for (let i = sourceKeys.length - 1; i >= 0; i--) {
918
+ const key = sourceKeys[i];
919
+ if (key === "__proto__" || key === "constructor") continue;
920
+ const desc = Object.getOwnPropertyDescriptor(source, key);
921
+ if (!defined[key]) defined[key] = desc.get ? {
922
+ enumerable: true,
923
+ configurable: true,
924
+ get: resolveSources.bind(sourcesMap[key] = [desc.get.bind(source)])
925
+ } : desc.value !== void 0 ? desc : void 0;
926
+ else {
927
+ const sources = sourcesMap[key];
928
+ if (sources) {
929
+ if (desc.get) sources.push(desc.get.bind(source));
930
+ else if (desc.value !== void 0) sources.push(() => desc.value);
931
+ }
932
+ }
933
+ }
934
+ }
935
+ const target = {};
936
+ const definedKeys = Object.keys(defined);
937
+ for (let i = definedKeys.length - 1; i >= 0; i--) {
938
+ const key = definedKeys[i], desc = defined[key];
939
+ if (desc && desc.get) Object.defineProperty(target, key, desc);
940
+ else target[key] = desc ? desc.value : void 0;
941
+ }
942
+ return target;
943
+ }
944
+ const narrowedError = (name) => `Stale read from <${name}>.`;
945
+ function For(props) {
946
+ const fallback = "fallback" in props && { fallback: () => props.fallback };
947
+ return createMemo(mapArray(() => props.each, props.children, fallback || void 0));
948
+ }
949
+ function Index(props) {
950
+ const fallback = "fallback" in props && { fallback: () => props.fallback };
951
+ return createMemo(indexArray(() => props.each, props.children, fallback || void 0));
952
+ }
953
+ function Show(props) {
954
+ const keyed = props.keyed;
955
+ const conditionValue = createMemo(() => props.when, void 0, void 0);
956
+ const condition = keyed ? conditionValue : createMemo(conditionValue, void 0, { equals: (a, b) => !a === !b });
957
+ return createMemo(() => {
958
+ const c = condition();
959
+ if (c) {
960
+ const child = props.children;
961
+ return typeof child === "function" && child.length > 0 ? untrack(() => child(keyed ? c : () => {
962
+ if (!untrack(condition)) throw narrowedError("Show");
963
+ return conditionValue();
964
+ })) : child;
965
+ }
966
+ return props.fallback;
967
+ }, void 0, void 0);
968
+ }
969
+
970
+ //#endregion
971
+ //#region ../../node_modules/.pnpm/solid-js@1.9.10/node_modules/solid-js/web/dist/web.js
972
+ const Properties = /* @__PURE__ */ new Set([
973
+ "className",
974
+ "value",
975
+ "readOnly",
976
+ "noValidate",
977
+ "formNoValidate",
978
+ "isMap",
979
+ "noModule",
980
+ "playsInline",
981
+ "adAuctionHeaders",
982
+ "allowFullscreen",
983
+ "browsingTopics",
984
+ "defaultChecked",
985
+ "defaultMuted",
986
+ "defaultSelected",
987
+ "disablePictureInPicture",
988
+ "disableRemotePlayback",
989
+ "preservesPitch",
990
+ "shadowRootClonable",
991
+ "shadowRootCustomElementRegistry",
992
+ "shadowRootDelegatesFocus",
993
+ "shadowRootSerializable",
994
+ "sharedStorageWritable",
995
+ ...[
996
+ "allowfullscreen",
997
+ "async",
998
+ "alpha",
999
+ "autofocus",
1000
+ "autoplay",
1001
+ "checked",
1002
+ "controls",
1003
+ "default",
1004
+ "disabled",
1005
+ "formnovalidate",
1006
+ "hidden",
1007
+ "indeterminate",
1008
+ "inert",
1009
+ "ismap",
1010
+ "loop",
1011
+ "multiple",
1012
+ "muted",
1013
+ "nomodule",
1014
+ "novalidate",
1015
+ "open",
1016
+ "playsinline",
1017
+ "readonly",
1018
+ "required",
1019
+ "reversed",
1020
+ "seamless",
1021
+ "selected",
1022
+ "adauctionheaders",
1023
+ "browsingtopics",
1024
+ "credentialless",
1025
+ "defaultchecked",
1026
+ "defaultmuted",
1027
+ "defaultselected",
1028
+ "defer",
1029
+ "disablepictureinpicture",
1030
+ "disableremoteplayback",
1031
+ "preservespitch",
1032
+ "shadowrootclonable",
1033
+ "shadowrootcustomelementregistry",
1034
+ "shadowrootdelegatesfocus",
1035
+ "shadowrootserializable",
1036
+ "sharedstoragewritable"
1037
+ ]
1038
+ ]);
1039
+ const ChildProperties = /* @__PURE__ */ new Set([
1040
+ "innerHTML",
1041
+ "textContent",
1042
+ "innerText",
1043
+ "children"
1044
+ ]);
1045
+ const Aliases = /* @__PURE__ */ Object.assign(Object.create(null), {
1046
+ className: "class",
1047
+ htmlFor: "for"
1048
+ });
1049
+ const PropAliases = /* @__PURE__ */ Object.assign(Object.create(null), {
1050
+ class: "className",
1051
+ novalidate: {
1052
+ $: "noValidate",
1053
+ FORM: 1
1054
+ },
1055
+ formnovalidate: {
1056
+ $: "formNoValidate",
1057
+ BUTTON: 1,
1058
+ INPUT: 1
1059
+ },
1060
+ ismap: {
1061
+ $: "isMap",
1062
+ IMG: 1
1063
+ },
1064
+ nomodule: {
1065
+ $: "noModule",
1066
+ SCRIPT: 1
1067
+ },
1068
+ playsinline: {
1069
+ $: "playsInline",
1070
+ VIDEO: 1
1071
+ },
1072
+ readonly: {
1073
+ $: "readOnly",
1074
+ INPUT: 1,
1075
+ TEXTAREA: 1
1076
+ },
1077
+ adauctionheaders: {
1078
+ $: "adAuctionHeaders",
1079
+ IFRAME: 1
1080
+ },
1081
+ allowfullscreen: {
1082
+ $: "allowFullscreen",
1083
+ IFRAME: 1
1084
+ },
1085
+ browsingtopics: {
1086
+ $: "browsingTopics",
1087
+ IMG: 1
1088
+ },
1089
+ defaultchecked: {
1090
+ $: "defaultChecked",
1091
+ INPUT: 1
1092
+ },
1093
+ defaultmuted: {
1094
+ $: "defaultMuted",
1095
+ AUDIO: 1,
1096
+ VIDEO: 1
1097
+ },
1098
+ defaultselected: {
1099
+ $: "defaultSelected",
1100
+ OPTION: 1
1101
+ },
1102
+ disablepictureinpicture: {
1103
+ $: "disablePictureInPicture",
1104
+ VIDEO: 1
1105
+ },
1106
+ disableremoteplayback: {
1107
+ $: "disableRemotePlayback",
1108
+ AUDIO: 1,
1109
+ VIDEO: 1
1110
+ },
1111
+ preservespitch: {
1112
+ $: "preservesPitch",
1113
+ AUDIO: 1,
1114
+ VIDEO: 1
1115
+ },
1116
+ shadowrootclonable: {
1117
+ $: "shadowRootClonable",
1118
+ TEMPLATE: 1
1119
+ },
1120
+ shadowrootdelegatesfocus: {
1121
+ $: "shadowRootDelegatesFocus",
1122
+ TEMPLATE: 1
1123
+ },
1124
+ shadowrootserializable: {
1125
+ $: "shadowRootSerializable",
1126
+ TEMPLATE: 1
1127
+ },
1128
+ sharedstoragewritable: {
1129
+ $: "sharedStorageWritable",
1130
+ IFRAME: 1,
1131
+ IMG: 1
1132
+ }
1133
+ });
1134
+ function getPropAlias(prop, tagName) {
1135
+ const a = PropAliases[prop];
1136
+ return typeof a === "object" ? a[tagName] ? a["$"] : void 0 : a;
1137
+ }
1138
+ const DelegatedEvents = /* @__PURE__ */ new Set([
1139
+ "beforeinput",
1140
+ "click",
1141
+ "dblclick",
1142
+ "contextmenu",
1143
+ "focusin",
1144
+ "focusout",
1145
+ "input",
1146
+ "keydown",
1147
+ "keyup",
1148
+ "mousedown",
1149
+ "mousemove",
1150
+ "mouseout",
1151
+ "mouseover",
1152
+ "mouseup",
1153
+ "pointerdown",
1154
+ "pointermove",
1155
+ "pointerout",
1156
+ "pointerover",
1157
+ "pointerup",
1158
+ "touchend",
1159
+ "touchmove",
1160
+ "touchstart"
1161
+ ]);
1162
+ const SVGNamespace = {
1163
+ xlink: "http://www.w3.org/1999/xlink",
1164
+ xml: "http://www.w3.org/XML/1998/namespace"
1165
+ };
1166
+ const memo = (fn) => createMemo(() => fn());
1167
+ function reconcileArrays(parentNode, a, b) {
1168
+ let bLength = b.length, aEnd = a.length, bEnd = bLength, aStart = 0, bStart = 0, after = a[aEnd - 1].nextSibling, map = null;
1169
+ while (aStart < aEnd || bStart < bEnd) {
1170
+ if (a[aStart] === b[bStart]) {
1171
+ aStart++;
1172
+ bStart++;
1173
+ continue;
1174
+ }
1175
+ while (a[aEnd - 1] === b[bEnd - 1]) {
1176
+ aEnd--;
1177
+ bEnd--;
1178
+ }
1179
+ if (aEnd === aStart) {
1180
+ const node = bEnd < bLength ? bStart ? b[bStart - 1].nextSibling : b[bEnd - bStart] : after;
1181
+ while (bStart < bEnd) parentNode.insertBefore(b[bStart++], node);
1182
+ } else if (bEnd === bStart) while (aStart < aEnd) {
1183
+ if (!map || !map.has(a[aStart])) a[aStart].remove();
1184
+ aStart++;
1185
+ }
1186
+ else if (a[aStart] === b[bEnd - 1] && b[bStart] === a[aEnd - 1]) {
1187
+ const node = a[--aEnd].nextSibling;
1188
+ parentNode.insertBefore(b[bStart++], a[aStart++].nextSibling);
1189
+ parentNode.insertBefore(b[--bEnd], node);
1190
+ a[aEnd] = b[bEnd];
1191
+ } else {
1192
+ if (!map) {
1193
+ map = /* @__PURE__ */ new Map();
1194
+ let i = bStart;
1195
+ while (i < bEnd) map.set(b[i], i++);
1196
+ }
1197
+ const index = map.get(a[aStart]);
1198
+ if (index != null) if (bStart < index && index < bEnd) {
1199
+ let i = aStart, sequence = 1, t;
1200
+ while (++i < aEnd && i < bEnd) {
1201
+ if ((t = map.get(a[i])) == null || t !== index + sequence) break;
1202
+ sequence++;
1203
+ }
1204
+ if (sequence > index - bStart) {
1205
+ const node = a[aStart];
1206
+ while (bStart < index) parentNode.insertBefore(b[bStart++], node);
1207
+ } else parentNode.replaceChild(b[bStart++], a[aStart++]);
1208
+ } else aStart++;
1209
+ else a[aStart++].remove();
1210
+ }
1211
+ }
1212
+ }
1213
+ const $$EVENTS = "_$DX_DELEGATE";
1214
+ function render(code, element, init, options = {}) {
1215
+ let disposer;
1216
+ createRoot((dispose) => {
1217
+ disposer = dispose;
1218
+ element === document ? code() : insert(element, code(), element.firstChild ? null : void 0, init);
1219
+ }, options.owner);
1220
+ return () => {
1221
+ disposer();
1222
+ element.textContent = "";
1223
+ };
1224
+ }
1225
+ function template(html, isImportNode, isSVG, isMathML) {
1226
+ let node;
1227
+ const create = () => {
1228
+ const t = isMathML ? document.createElementNS("http://www.w3.org/1998/Math/MathML", "template") : document.createElement("template");
1229
+ t.innerHTML = html;
1230
+ return isSVG ? t.content.firstChild.firstChild : isMathML ? t.firstChild : t.content.firstChild;
1231
+ };
1232
+ const fn = isImportNode ? () => untrack(() => document.importNode(node || (node = create()), true)) : () => (node || (node = create())).cloneNode(true);
1233
+ fn.cloneNode = fn;
1234
+ return fn;
1235
+ }
1236
+ function delegateEvents(eventNames, document = window.document) {
1237
+ const e = document[$$EVENTS] || (document[$$EVENTS] = /* @__PURE__ */ new Set());
1238
+ for (let i = 0, l = eventNames.length; i < l; i++) {
1239
+ const name = eventNames[i];
1240
+ if (!e.has(name)) {
1241
+ e.add(name);
1242
+ document.addEventListener(name, eventHandler);
1243
+ }
1244
+ }
1245
+ }
1246
+ function setAttribute(node, name, value) {
1247
+ if (isHydrating(node)) return;
1248
+ if (value == null) node.removeAttribute(name);
1249
+ else node.setAttribute(name, value);
1250
+ }
1251
+ function setAttributeNS(node, namespace, name, value) {
1252
+ if (isHydrating(node)) return;
1253
+ if (value == null) node.removeAttributeNS(namespace, name);
1254
+ else node.setAttributeNS(namespace, name, value);
1255
+ }
1256
+ function setBoolAttribute(node, name, value) {
1257
+ if (isHydrating(node)) return;
1258
+ value ? node.setAttribute(name, "") : node.removeAttribute(name);
1259
+ }
1260
+ function className(node, value) {
1261
+ if (isHydrating(node)) return;
1262
+ if (value == null) node.removeAttribute("class");
1263
+ else node.className = value;
1264
+ }
1265
+ function addEventListener(node, name, handler, delegate) {
1266
+ if (delegate) if (Array.isArray(handler)) {
1267
+ node[`$$${name}`] = handler[0];
1268
+ node[`$$${name}Data`] = handler[1];
1269
+ } else node[`$$${name}`] = handler;
1270
+ else if (Array.isArray(handler)) {
1271
+ const handlerFn = handler[0];
1272
+ node.addEventListener(name, handler[0] = (e) => handlerFn.call(node, handler[1], e));
1273
+ } else node.addEventListener(name, handler, typeof handler !== "function" && handler);
1274
+ }
1275
+ function classList(node, value, prev = {}) {
1276
+ const classKeys = Object.keys(value || {}), prevKeys = Object.keys(prev);
1277
+ let i, len;
1278
+ for (i = 0, len = prevKeys.length; i < len; i++) {
1279
+ const key = prevKeys[i];
1280
+ if (!key || key === "undefined" || value[key]) continue;
1281
+ toggleClassKey(node, key, false);
1282
+ delete prev[key];
1283
+ }
1284
+ for (i = 0, len = classKeys.length; i < len; i++) {
1285
+ const key = classKeys[i], classValue = !!value[key];
1286
+ if (!key || key === "undefined" || prev[key] === classValue || !classValue) continue;
1287
+ toggleClassKey(node, key, true);
1288
+ prev[key] = classValue;
1289
+ }
1290
+ return prev;
1291
+ }
1292
+ function style(node, value, prev) {
1293
+ if (!value) return prev ? setAttribute(node, "style") : value;
1294
+ const nodeStyle = node.style;
1295
+ if (typeof value === "string") return nodeStyle.cssText = value;
1296
+ typeof prev === "string" && (nodeStyle.cssText = prev = void 0);
1297
+ prev || (prev = {});
1298
+ value || (value = {});
1299
+ let v, s;
1300
+ for (s in prev) {
1301
+ value[s] ?? nodeStyle.removeProperty(s);
1302
+ delete prev[s];
1303
+ }
1304
+ for (s in value) {
1305
+ v = value[s];
1306
+ if (v !== prev[s]) {
1307
+ nodeStyle.setProperty(s, v);
1308
+ prev[s] = v;
1309
+ }
1310
+ }
1311
+ return prev;
1312
+ }
1313
+ function setStyleProperty(node, name, value) {
1314
+ value != null ? node.style.setProperty(name, value) : node.style.removeProperty(name);
1315
+ }
1316
+ function spread(node, props = {}, isSVG, skipChildren) {
1317
+ const prevProps = {};
1318
+ if (!skipChildren) createRenderEffect(() => prevProps.children = insertExpression(node, props.children, prevProps.children));
1319
+ createRenderEffect(() => typeof props.ref === "function" && use(props.ref, node));
1320
+ createRenderEffect(() => assign(node, props, isSVG, true, prevProps, true));
1321
+ return prevProps;
1322
+ }
1323
+ function use(fn, element, arg) {
1324
+ return untrack(() => fn(element, arg));
1325
+ }
1326
+ function insert(parent, accessor, marker, initial) {
1327
+ if (marker !== void 0 && !initial) initial = [];
1328
+ if (typeof accessor !== "function") return insertExpression(parent, accessor, initial, marker);
1329
+ createRenderEffect((current) => insertExpression(parent, accessor(), current, marker), initial);
1330
+ }
1331
+ function assign(node, props, isSVG, skipChildren, prevProps = {}, skipRef = false) {
1332
+ props || (props = {});
1333
+ for (const prop in prevProps) if (!(prop in props)) {
1334
+ if (prop === "children") continue;
1335
+ prevProps[prop] = assignProp(node, prop, null, prevProps[prop], isSVG, skipRef, props);
1336
+ }
1337
+ for (const prop in props) {
1338
+ if (prop === "children") {
1339
+ if (!skipChildren) insertExpression(node, props.children);
1340
+ continue;
1341
+ }
1342
+ const value = props[prop];
1343
+ prevProps[prop] = assignProp(node, prop, value, prevProps[prop], isSVG, skipRef, props);
1344
+ }
1345
+ }
1346
+ function isHydrating(node) {
1347
+ return !!sharedConfig.context && !sharedConfig.done && (!node || node.isConnected);
1348
+ }
1349
+ function toPropertyName(name) {
1350
+ return name.toLowerCase().replace(/-([a-z])/g, (_, w) => w.toUpperCase());
1351
+ }
1352
+ function toggleClassKey(node, key, value) {
1353
+ const classNames = key.trim().split(/\s+/);
1354
+ for (let i = 0, nameLen = classNames.length; i < nameLen; i++) node.classList.toggle(classNames[i], value);
1355
+ }
1356
+ function assignProp(node, prop, value, prev, isSVG, skipRef, props) {
1357
+ let isCE, isProp, isChildProp, propAlias, forceProp;
1358
+ if (prop === "style") return style(node, value, prev);
1359
+ if (prop === "classList") return classList(node, value, prev);
1360
+ if (value === prev) return prev;
1361
+ if (prop === "ref") {
1362
+ if (!skipRef) value(node);
1363
+ } else if (prop.slice(0, 3) === "on:") {
1364
+ const e = prop.slice(3);
1365
+ prev && node.removeEventListener(e, prev, typeof prev !== "function" && prev);
1366
+ value && node.addEventListener(e, value, typeof value !== "function" && value);
1367
+ } else if (prop.slice(0, 10) === "oncapture:") {
1368
+ const e = prop.slice(10);
1369
+ prev && node.removeEventListener(e, prev, true);
1370
+ value && node.addEventListener(e, value, true);
1371
+ } else if (prop.slice(0, 2) === "on") {
1372
+ const name = prop.slice(2).toLowerCase();
1373
+ const delegate = DelegatedEvents.has(name);
1374
+ if (!delegate && prev) {
1375
+ const h = Array.isArray(prev) ? prev[0] : prev;
1376
+ node.removeEventListener(name, h);
1377
+ }
1378
+ if (delegate || value) {
1379
+ addEventListener(node, name, value, delegate);
1380
+ delegate && delegateEvents([name]);
1381
+ }
1382
+ } else if (prop.slice(0, 5) === "attr:") setAttribute(node, prop.slice(5), value);
1383
+ else if (prop.slice(0, 5) === "bool:") setBoolAttribute(node, prop.slice(5), value);
1384
+ else if ((forceProp = prop.slice(0, 5) === "prop:") || (isChildProp = ChildProperties.has(prop)) || !isSVG && ((propAlias = getPropAlias(prop, node.tagName)) || (isProp = Properties.has(prop))) || (isCE = node.nodeName.includes("-") || "is" in props)) {
1385
+ if (forceProp) {
1386
+ prop = prop.slice(5);
1387
+ isProp = true;
1388
+ } else if (isHydrating(node)) return value;
1389
+ if (prop === "class" || prop === "className") className(node, value);
1390
+ else if (isCE && !isProp && !isChildProp) node[toPropertyName(prop)] = value;
1391
+ else node[propAlias || prop] = value;
1392
+ } else {
1393
+ const ns = isSVG && prop.indexOf(":") > -1 && SVGNamespace[prop.split(":")[0]];
1394
+ if (ns) setAttributeNS(node, ns, prop, value);
1395
+ else setAttribute(node, Aliases[prop] || prop, value);
1396
+ }
1397
+ return value;
1398
+ }
1399
+ function eventHandler(e) {
1400
+ if (sharedConfig.registry && sharedConfig.events) {
1401
+ if (sharedConfig.events.find(([el, ev]) => ev === e)) return;
1402
+ }
1403
+ let node = e.target;
1404
+ const key = `$$${e.type}`;
1405
+ const oriTarget = e.target;
1406
+ const oriCurrentTarget = e.currentTarget;
1407
+ const retarget = (value) => Object.defineProperty(e, "target", {
1408
+ configurable: true,
1409
+ value
1410
+ });
1411
+ const handleNode = () => {
1412
+ const handler = node[key];
1413
+ if (handler && !node.disabled) {
1414
+ const data = node[`${key}Data`];
1415
+ data !== void 0 ? handler.call(node, data, e) : handler.call(node, e);
1416
+ if (e.cancelBubble) return;
1417
+ }
1418
+ node.host && typeof node.host !== "string" && !node.host._$host && node.contains(e.target) && retarget(node.host);
1419
+ return true;
1420
+ };
1421
+ const walkUpTree = () => {
1422
+ while (handleNode() && (node = node._$host || node.parentNode || node.host));
1423
+ };
1424
+ Object.defineProperty(e, "currentTarget", {
1425
+ configurable: true,
1426
+ get() {
1427
+ return node || document;
1428
+ }
1429
+ });
1430
+ if (sharedConfig.registry && !sharedConfig.done) sharedConfig.done = _$HY.done = true;
1431
+ if (e.composedPath) {
1432
+ const path = e.composedPath();
1433
+ retarget(path[0]);
1434
+ for (let i = 0; i < path.length - 2; i++) {
1435
+ node = path[i];
1436
+ if (!handleNode()) break;
1437
+ if (node._$host) {
1438
+ node = node._$host;
1439
+ walkUpTree();
1440
+ break;
1441
+ }
1442
+ if (node.parentNode === oriCurrentTarget) break;
1443
+ }
1444
+ } else walkUpTree();
1445
+ retarget(oriTarget);
1446
+ }
1447
+ function insertExpression(parent, value, current, marker, unwrapArray) {
1448
+ const hydrating = isHydrating(parent);
1449
+ if (hydrating) {
1450
+ !current && (current = [...parent.childNodes]);
1451
+ let cleaned = [];
1452
+ for (let i = 0; i < current.length; i++) {
1453
+ const node = current[i];
1454
+ if (node.nodeType === 8 && node.data.slice(0, 2) === "!$") node.remove();
1455
+ else cleaned.push(node);
1456
+ }
1457
+ current = cleaned;
1458
+ }
1459
+ while (typeof current === "function") current = current();
1460
+ if (value === current) return current;
1461
+ const t = typeof value, multi = marker !== void 0;
1462
+ parent = multi && current[0] && current[0].parentNode || parent;
1463
+ if (t === "string" || t === "number") {
1464
+ if (hydrating) return current;
1465
+ if (t === "number") {
1466
+ value = value.toString();
1467
+ if (value === current) return current;
1468
+ }
1469
+ if (multi) {
1470
+ let node = current[0];
1471
+ if (node && node.nodeType === 3) node.data !== value && (node.data = value);
1472
+ else node = document.createTextNode(value);
1473
+ current = cleanChildren(parent, current, marker, node);
1474
+ } else if (current !== "" && typeof current === "string") current = parent.firstChild.data = value;
1475
+ else current = parent.textContent = value;
1476
+ } else if (value == null || t === "boolean") {
1477
+ if (hydrating) return current;
1478
+ current = cleanChildren(parent, current, marker);
1479
+ } else if (t === "function") {
1480
+ createRenderEffect(() => {
1481
+ let v = value();
1482
+ while (typeof v === "function") v = v();
1483
+ current = insertExpression(parent, v, current, marker);
1484
+ });
1485
+ return () => current;
1486
+ } else if (Array.isArray(value)) {
1487
+ const array = [];
1488
+ const currentArray = current && Array.isArray(current);
1489
+ if (normalizeIncomingArray(array, value, current, unwrapArray)) {
1490
+ createRenderEffect(() => current = insertExpression(parent, array, current, marker, true));
1491
+ return () => current;
1492
+ }
1493
+ if (hydrating) {
1494
+ if (!array.length) return current;
1495
+ if (marker === void 0) return current = [...parent.childNodes];
1496
+ let node = array[0];
1497
+ if (node.parentNode !== parent) return current;
1498
+ const nodes = [node];
1499
+ while ((node = node.nextSibling) !== marker) nodes.push(node);
1500
+ return current = nodes;
1501
+ }
1502
+ if (array.length === 0) {
1503
+ current = cleanChildren(parent, current, marker);
1504
+ if (multi) return current;
1505
+ } else if (currentArray) if (current.length === 0) appendNodes(parent, array, marker);
1506
+ else reconcileArrays(parent, current, array);
1507
+ else {
1508
+ current && cleanChildren(parent);
1509
+ appendNodes(parent, array);
1510
+ }
1511
+ current = array;
1512
+ } else if (value.nodeType) {
1513
+ if (hydrating && value.parentNode) return current = multi ? [value] : value;
1514
+ if (Array.isArray(current)) {
1515
+ if (multi) return current = cleanChildren(parent, current, marker, value);
1516
+ cleanChildren(parent, current, null, value);
1517
+ } else if (current == null || current === "" || !parent.firstChild) parent.appendChild(value);
1518
+ else parent.replaceChild(value, parent.firstChild);
1519
+ current = value;
1520
+ }
1521
+ return current;
1522
+ }
1523
+ function normalizeIncomingArray(normalized, array, current, unwrap) {
1524
+ let dynamic = false;
1525
+ for (let i = 0, len = array.length; i < len; i++) {
1526
+ let item = array[i], prev = current && current[normalized.length], t;
1527
+ if (item == null || item === true || item === false);
1528
+ else if ((t = typeof item) === "object" && item.nodeType) normalized.push(item);
1529
+ else if (Array.isArray(item)) dynamic = normalizeIncomingArray(normalized, item, prev) || dynamic;
1530
+ else if (t === "function") if (unwrap) {
1531
+ while (typeof item === "function") item = item();
1532
+ dynamic = normalizeIncomingArray(normalized, Array.isArray(item) ? item : [item], Array.isArray(prev) ? prev : [prev]) || dynamic;
1533
+ } else {
1534
+ normalized.push(item);
1535
+ dynamic = true;
1536
+ }
1537
+ else {
1538
+ const value = String(item);
1539
+ if (prev && prev.nodeType === 3 && prev.data === value) normalized.push(prev);
1540
+ else normalized.push(document.createTextNode(value));
1541
+ }
1542
+ }
1543
+ return dynamic;
1544
+ }
1545
+ function appendNodes(parent, array, marker = null) {
1546
+ for (let i = 0, len = array.length; i < len; i++) parent.insertBefore(array[i], marker);
1547
+ }
1548
+ function cleanChildren(parent, current, marker, replacement) {
1549
+ if (marker === void 0) return parent.textContent = "";
1550
+ const node = replacement || document.createTextNode("");
1551
+ if (current.length) {
1552
+ let inserted = false;
1553
+ for (let i = current.length - 1; i >= 0; i--) {
1554
+ const el = current[i];
1555
+ if (node !== el) {
1556
+ const isParent = el.parentNode === parent;
1557
+ if (!inserted && !i) isParent ? parent.replaceChild(node, el) : parent.insertBefore(node, marker);
1558
+ else isParent && el.remove();
1559
+ } else inserted = true;
1560
+ }
1561
+ } else parent.insertBefore(node, marker);
1562
+ return [node];
1563
+ }
1564
+
1565
+ //#endregion
1566
+ //#region src/utils/is-element-connected.ts
1567
+ const isElementConnected = (element) => Boolean(element?.isConnected ?? element?.ownerDocument?.contains(element));
1568
+
1569
+ //#endregion
1570
+ //#region src/utils/is-keyboard-event-triggered-by-input.ts
1571
+ const EDITABLE_TAGS_AND_ROLES = [
1572
+ "input",
1573
+ "textarea",
1574
+ "select",
1575
+ "searchbox",
1576
+ "slider",
1577
+ "spinbutton",
1578
+ "menuitem",
1579
+ "menuitemcheckbox",
1580
+ "menuitemradio",
1581
+ "option",
1582
+ "radio",
1583
+ "textbox",
1584
+ "combobox"
1585
+ ];
1586
+ const getTargetElement = (event) => {
1587
+ if (event.composed) {
1588
+ const firstElement = event.composedPath()[0];
1589
+ if (firstElement instanceof HTMLElement) return firstElement;
1590
+ } else if (event.target instanceof HTMLElement) return event.target;
1591
+ };
1592
+ const isKeyboardEventTriggeredByInput = (event) => {
1593
+ if (document.designMode === "on") return true;
1594
+ const targetElement = getTargetElement(event);
1595
+ if (!targetElement) return false;
1596
+ if (targetElement.isContentEditable) return true;
1597
+ const tagName = getTagName(targetElement);
1598
+ return EDITABLE_TAGS_AND_ROLES.some((tagOrRole) => tagOrRole === tagName || tagOrRole === targetElement.role);
1599
+ };
1600
+ const hasTextSelectionInInput = (event) => {
1601
+ const target = event.target;
1602
+ if (target instanceof HTMLInputElement || target instanceof HTMLTextAreaElement) {
1603
+ const selectionStart = target.selectionStart ?? 0;
1604
+ return (target.selectionEnd ?? 0) - selectionStart > 0;
1605
+ }
1606
+ return false;
1607
+ };
1608
+ const hasTextSelectionOnPage = () => {
1609
+ const selection = window.getSelection();
1610
+ if (!selection) return false;
1611
+ return selection.toString().length > 0;
1612
+ };
1613
+
1614
+ //#endregion
1615
+ //#region src/utils/get-visual-viewport.ts
1616
+ const getVisualViewport = () => {
1617
+ const visualViewport = window.visualViewport;
1618
+ if (visualViewport) return {
1619
+ width: visualViewport.width,
1620
+ height: visualViewport.height,
1621
+ offsetLeft: visualViewport.offsetLeft,
1622
+ offsetTop: visualViewport.offsetTop
1623
+ };
1624
+ return {
1625
+ width: window.innerWidth,
1626
+ height: window.innerHeight,
1627
+ offsetLeft: 0,
1628
+ offsetTop: 0
1629
+ };
1630
+ };
1631
+
1632
+ //#endregion
1633
+ //#region src/utils/toolbar-position.ts
1634
+ const clampToRange = (value, min, max) => Math.max(min, Math.min(value, max));
1635
+ const getPositionFromEdgeAndRatio = (edge, ratio, elementWidth, elementHeight) => {
1636
+ const viewport = getVisualViewport();
1637
+ const viewportWidth = viewport.width;
1638
+ const viewportHeight = viewport.height;
1639
+ const minX = viewport.offsetLeft + 16;
1640
+ const maxX = Math.max(minX, viewport.offsetLeft + viewportWidth - elementWidth - 16);
1641
+ const minY = viewport.offsetTop + 16;
1642
+ const maxY = Math.max(minY, viewport.offsetTop + viewportHeight - elementHeight - 16);
1643
+ if (edge === "top" || edge === "bottom") {
1644
+ const availableWidth = Math.max(0, viewportWidth - elementWidth - 16 * 2);
1645
+ return {
1646
+ x: Math.min(maxX, Math.max(minX, viewport.offsetLeft + 16 + availableWidth * ratio)),
1647
+ y: edge === "top" ? minY : maxY
1648
+ };
1649
+ }
1650
+ const availableHeight = Math.max(0, viewportHeight - elementHeight - 16 * 2);
1651
+ const positionY = Math.min(maxY, Math.max(minY, viewport.offsetTop + 16 + availableHeight * ratio));
1652
+ return {
1653
+ x: edge === "left" ? minX : maxX,
1654
+ y: positionY
1655
+ };
1656
+ };
1657
+ const getRatioFromPosition = (edge, positionX, positionY, elementWidth, elementHeight) => {
1658
+ const viewport = getVisualViewport();
1659
+ const viewportWidth = viewport.width;
1660
+ const viewportHeight = viewport.height;
1661
+ if (edge === "top" || edge === "bottom") {
1662
+ const availableWidth = viewportWidth - elementWidth - 16 * 2;
1663
+ if (availableWidth <= 0) return TOOLBAR_DEFAULT_POSITION_RATIO;
1664
+ return Math.max(0, Math.min(1, (positionX - viewport.offsetLeft - 16) / availableWidth));
1665
+ }
1666
+ const availableHeight = viewportHeight - elementHeight - 16 * 2;
1667
+ if (availableHeight <= 0) return TOOLBAR_DEFAULT_POSITION_RATIO;
1668
+ return Math.max(0, Math.min(1, (positionY - viewport.offsetTop - 16) / availableHeight));
1669
+ };
1670
+ const calculateExpandedPositionFromCollapsed = (collapsedPosition, edge, expandedDimensions, actualCollapsedWidth, actualCollapsedHeight) => {
1671
+ const viewport = getVisualViewport();
1672
+ const viewportWidth = viewport.width;
1673
+ const viewportHeight = viewport.height;
1674
+ const { width: expandedWidth, height: expandedHeight } = expandedDimensions;
1675
+ let newPosition;
1676
+ if (edge === "top" || edge === "bottom") {
1677
+ const xOffset = (expandedWidth - actualCollapsedWidth) / 2;
1678
+ newPosition = {
1679
+ x: clampToRange(collapsedPosition.x - xOffset, viewport.offsetLeft + 16, viewport.offsetLeft + viewportWidth - expandedWidth - 16),
1680
+ y: edge === "top" ? viewport.offsetTop + 16 : viewport.offsetTop + viewportHeight - expandedHeight - 16
1681
+ };
1682
+ } else {
1683
+ const yOffset = (expandedHeight - actualCollapsedHeight) / 2;
1684
+ const clampedY = clampToRange(collapsedPosition.y - yOffset, viewport.offsetTop + 16, viewport.offsetTop + viewportHeight - expandedHeight - 16);
1685
+ newPosition = {
1686
+ x: edge === "left" ? viewport.offsetLeft + 16 : viewport.offsetLeft + viewportWidth - expandedWidth - 16,
1687
+ y: clampedY
1688
+ };
1689
+ }
1690
+ const ratio = getRatioFromPosition(edge, newPosition.x, newPosition.y, expandedWidth, expandedHeight);
1691
+ return {
1692
+ position: newPosition,
1693
+ ratio
1694
+ };
1695
+ };
1696
+ const getCollapsedPosition = (edge, expandedPosition, expandedDimensions, collapsedDimensions) => {
1697
+ const viewport = getVisualViewport();
1698
+ const { width: expandedWidth, height: expandedHeight } = expandedDimensions;
1699
+ const { width: collapsedWidth, height: collapsedHeight } = collapsedDimensions;
1700
+ switch (edge) {
1701
+ case "top":
1702
+ case "bottom": {
1703
+ const xOffset = (expandedWidth - collapsedWidth) / 2;
1704
+ return {
1705
+ x: clampToRange(expandedPosition.x + xOffset, viewport.offsetLeft, viewport.offsetLeft + viewport.width - collapsedWidth),
1706
+ y: edge === "top" ? viewport.offsetTop : viewport.offsetTop + viewport.height - collapsedHeight
1707
+ };
1708
+ }
1709
+ case "left":
1710
+ case "right": {
1711
+ const yOffset = (expandedHeight - collapsedHeight) / 2;
1712
+ const clampedY = clampToRange(expandedPosition.y + yOffset, viewport.offsetTop, viewport.offsetTop + viewport.height - collapsedHeight);
1713
+ return {
1714
+ x: edge === "left" ? viewport.offsetLeft : viewport.offsetLeft + viewport.width - collapsedWidth,
1715
+ y: clampedY
1716
+ };
1717
+ }
1718
+ }
1719
+ };
1720
+ const getSnapPosition = (currentX, currentY, elementWidth, elementHeight, velocityX, velocityY) => {
1721
+ const viewport = getVisualViewport();
1722
+ const viewportWidth = viewport.width;
1723
+ const viewportHeight = viewport.height;
1724
+ const projectedX = currentX + velocityX * 150;
1725
+ const projectedY = currentY + velocityY * 150;
1726
+ const distanceToTop = projectedY - viewport.offsetTop + elementHeight / 2;
1727
+ const distanceToBottom = viewport.offsetTop + viewportHeight - projectedY - elementHeight / 2;
1728
+ const distanceToLeft = projectedX - viewport.offsetLeft + elementWidth / 2;
1729
+ const distanceToRight = viewport.offsetLeft + viewportWidth - projectedX - elementWidth / 2;
1730
+ const minDistance = Math.min(distanceToTop, distanceToBottom, distanceToLeft, distanceToRight);
1731
+ const clampX = (rawX) => clampToRange(rawX, viewport.offsetLeft + 16, viewport.offsetLeft + viewportWidth - elementWidth - 16);
1732
+ const clampY = (rawY) => clampToRange(rawY, viewport.offsetTop + 16, viewport.offsetTop + viewportHeight - elementHeight - 16);
1733
+ if (minDistance === distanceToTop) return {
1734
+ edge: "top",
1735
+ x: clampX(projectedX),
1736
+ y: viewport.offsetTop + 16
1737
+ };
1738
+ if (minDistance === distanceToLeft) return {
1739
+ edge: "left",
1740
+ x: viewport.offsetLeft + 16,
1741
+ y: clampY(projectedY)
1742
+ };
1743
+ if (minDistance === distanceToRight) return {
1744
+ edge: "right",
1745
+ x: viewport.offsetLeft + viewportWidth - elementWidth - 16,
1746
+ y: clampY(projectedY)
1747
+ };
1748
+ return {
1749
+ edge: "bottom",
1750
+ x: clampX(projectedX),
1751
+ y: viewport.offsetTop + viewportHeight - elementHeight - 16
1752
+ };
1753
+ };
1754
+
1755
+ //#endregion
1756
+ //#region src/utils/is-mac.ts
1757
+ let cachedIsMac = null;
1758
+ const getPlatformFromUserAgentData = () => {
1759
+ if (typeof navigator === "undefined") return null;
1760
+ if (!("userAgentData" in navigator)) return null;
1761
+ const userAgentData = navigator.userAgentData;
1762
+ if (typeof userAgentData !== "object" || userAgentData === null) return null;
1763
+ if (!("platform" in userAgentData)) return null;
1764
+ const platform = userAgentData.platform;
1765
+ if (typeof platform !== "string") return null;
1766
+ return platform;
1767
+ };
1768
+ const isMac = () => {
1769
+ if (cachedIsMac === null) {
1770
+ if (typeof navigator === "undefined") {
1771
+ cachedIsMac = false;
1772
+ return cachedIsMac;
1773
+ }
1774
+ const platform = navigator.platform ?? getPlatformFromUserAgentData() ?? navigator.userAgent;
1775
+ cachedIsMac = /Mac|iPhone|iPad|iPod/i.test(platform);
1776
+ }
1777
+ return cachedIsMac;
1778
+ };
1779
+
1780
+ //#endregion
1781
+ //#region src/utils/is-event-from-overlay.ts
1782
+ const isEventFromOverlay = (event, attribute) => {
1783
+ try {
1784
+ return event.composedPath().some((target) => target instanceof HTMLElement && target.hasAttribute(attribute));
1785
+ } catch {
1786
+ return false;
1787
+ }
1788
+ };
1789
+
1790
+ //#endregion
1791
+ //#region src/utils/resolve-action-enabled.ts
1792
+ const resolveBooleanEnabled = (enabled) => enabled ?? true;
1793
+ const resolveActionEnabled = (action, context) => {
1794
+ if (typeof action.enabled === "function") {
1795
+ if (!context) return false;
1796
+ return action.enabled(context);
1797
+ }
1798
+ return resolveBooleanEnabled(action.enabled);
1799
+ };
1800
+
1801
+ //#endregion
1802
+ //#region src/components/toolbar/state.ts
1803
+ const STORAGE_KEY = "react-grab-toolbar-state";
1804
+ const loadToolbarState = () => {
1805
+ try {
1806
+ const serializedToolbarState = localStorage.getItem(STORAGE_KEY);
1807
+ if (!serializedToolbarState) return null;
1808
+ const parsed = JSON.parse(serializedToolbarState);
1809
+ if (typeof parsed !== "object" || parsed === null) return null;
1810
+ const record = parsed;
1811
+ return {
1812
+ edge: record.edge === "top" || record.edge === "bottom" || record.edge === "left" || record.edge === "right" ? record.edge : "bottom",
1813
+ ratio: typeof record.ratio === "number" ? record.ratio : TOOLBAR_DEFAULT_POSITION_RATIO,
1814
+ collapsed: typeof record.collapsed === "boolean" ? record.collapsed : false,
1815
+ enabled: typeof record.enabled === "boolean" ? record.enabled : true,
1816
+ defaultAction: typeof record.defaultAction === "string" ? record.defaultAction : DEFAULT_ACTION_ID
1817
+ };
1818
+ } catch (error) {
1819
+ console.warn("[react-grab] Failed to load toolbar state from localStorage:", error);
1820
+ }
1821
+ return null;
1822
+ };
1823
+ const saveToolbarState = (state) => {
1824
+ try {
1825
+ localStorage.setItem(STORAGE_KEY, JSON.stringify(state));
1826
+ } catch (error) {
1827
+ console.warn("[react-grab] Failed to save toolbar state to localStorage:", error);
1828
+ }
1829
+ };
1830
+
1831
+ //#endregion
1832
+ export { $PROXY as A, createResource as B, render as C, style as D, spread as E, batch as F, on as G, createSignal as H, createComponent as I, onCleanup as K, createEffect as L, For as M, Index as N, template as O, Show as P, createMemo as R, memo as S, setStyleProperty as T, getListener as U, createRoot as V, mergeProps as W, addEventListener as _, isMac as a, delegateEvents as b, getCollapsedPosition as c, getSnapPosition as d, getVisualViewport as f, isElementConnected as g, isKeyboardEventTriggeredByInput as h, isEventFromOverlay as i, $TRACK as j, use as k, getPositionFromEdgeAndRatio as l, hasTextSelectionOnPage as m, saveToolbarState as n, calculateExpandedPositionFromCollapsed as o, hasTextSelectionInInput as p, onMount as q, resolveActionEnabled as r, clampToRange as s, loadToolbarState as t, getRatioFromPosition as u, classList as v, setAttribute as w, insert as x, className as y, createRenderEffect as z };