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,372 @@
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
+ const require_freeze_updates = require('./freeze-updates-CtYFeM4D.cjs');
10
+
11
+ //#region src/utils/is-element-connected.ts
12
+ const isElementConnected = (element) => Boolean(element?.isConnected ?? element?.ownerDocument?.contains(element));
13
+
14
+ //#endregion
15
+ //#region src/utils/is-keyboard-event-triggered-by-input.ts
16
+ const EDITABLE_TAGS_AND_ROLES = [
17
+ "input",
18
+ "textarea",
19
+ "select",
20
+ "searchbox",
21
+ "slider",
22
+ "spinbutton",
23
+ "menuitem",
24
+ "menuitemcheckbox",
25
+ "menuitemradio",
26
+ "option",
27
+ "radio",
28
+ "textbox",
29
+ "combobox"
30
+ ];
31
+ const getTargetElement = (event) => {
32
+ if (event.composed) {
33
+ const firstElement = event.composedPath()[0];
34
+ if (firstElement instanceof HTMLElement) return firstElement;
35
+ } else if (event.target instanceof HTMLElement) return event.target;
36
+ };
37
+ const isKeyboardEventTriggeredByInput = (event) => {
38
+ if (document.designMode === "on") return true;
39
+ const targetElement = getTargetElement(event);
40
+ if (!targetElement) return false;
41
+ if (targetElement.isContentEditable) return true;
42
+ const tagName = require_freeze_updates.getTagName(targetElement);
43
+ return EDITABLE_TAGS_AND_ROLES.some((tagOrRole) => tagOrRole === tagName || tagOrRole === targetElement.role);
44
+ };
45
+ const hasTextSelectionInInput = (event) => {
46
+ const target = event.target;
47
+ if (target instanceof HTMLInputElement || target instanceof HTMLTextAreaElement) {
48
+ const selectionStart = target.selectionStart ?? 0;
49
+ return (target.selectionEnd ?? 0) - selectionStart > 0;
50
+ }
51
+ return false;
52
+ };
53
+ const hasTextSelectionOnPage = () => {
54
+ const selection = window.getSelection();
55
+ if (!selection) return false;
56
+ return selection.toString().length > 0;
57
+ };
58
+
59
+ //#endregion
60
+ //#region src/utils/get-visual-viewport.ts
61
+ const getVisualViewport = () => {
62
+ const visualViewport = window.visualViewport;
63
+ if (visualViewport) return {
64
+ width: visualViewport.width,
65
+ height: visualViewport.height,
66
+ offsetLeft: visualViewport.offsetLeft,
67
+ offsetTop: visualViewport.offsetTop
68
+ };
69
+ return {
70
+ width: window.innerWidth,
71
+ height: window.innerHeight,
72
+ offsetLeft: 0,
73
+ offsetTop: 0
74
+ };
75
+ };
76
+
77
+ //#endregion
78
+ //#region src/utils/toolbar-position.ts
79
+ const clampToRange = (value, min, max) => Math.max(min, Math.min(value, max));
80
+ const getPositionFromEdgeAndRatio = (edge, ratio, elementWidth, elementHeight) => {
81
+ const viewport = getVisualViewport();
82
+ const viewportWidth = viewport.width;
83
+ const viewportHeight = viewport.height;
84
+ const minX = viewport.offsetLeft + 16;
85
+ const maxX = Math.max(minX, viewport.offsetLeft + viewportWidth - elementWidth - 16);
86
+ const minY = viewport.offsetTop + 16;
87
+ const maxY = Math.max(minY, viewport.offsetTop + viewportHeight - elementHeight - 16);
88
+ if (edge === "top" || edge === "bottom") {
89
+ const availableWidth = Math.max(0, viewportWidth - elementWidth - 16 * 2);
90
+ return {
91
+ x: Math.min(maxX, Math.max(minX, viewport.offsetLeft + 16 + availableWidth * ratio)),
92
+ y: edge === "top" ? minY : maxY
93
+ };
94
+ }
95
+ const availableHeight = Math.max(0, viewportHeight - elementHeight - 16 * 2);
96
+ const positionY = Math.min(maxY, Math.max(minY, viewport.offsetTop + 16 + availableHeight * ratio));
97
+ return {
98
+ x: edge === "left" ? minX : maxX,
99
+ y: positionY
100
+ };
101
+ };
102
+ const getRatioFromPosition = (edge, positionX, positionY, elementWidth, elementHeight) => {
103
+ const viewport = getVisualViewport();
104
+ const viewportWidth = viewport.width;
105
+ const viewportHeight = viewport.height;
106
+ if (edge === "top" || edge === "bottom") {
107
+ const availableWidth = viewportWidth - elementWidth - 16 * 2;
108
+ if (availableWidth <= 0) return require_freeze_updates.TOOLBAR_DEFAULT_POSITION_RATIO;
109
+ return Math.max(0, Math.min(1, (positionX - viewport.offsetLeft - 16) / availableWidth));
110
+ }
111
+ const availableHeight = viewportHeight - elementHeight - 16 * 2;
112
+ if (availableHeight <= 0) return require_freeze_updates.TOOLBAR_DEFAULT_POSITION_RATIO;
113
+ return Math.max(0, Math.min(1, (positionY - viewport.offsetTop - 16) / availableHeight));
114
+ };
115
+ const calculateExpandedPositionFromCollapsed = (collapsedPosition, edge, expandedDimensions, actualCollapsedWidth, actualCollapsedHeight) => {
116
+ const viewport = getVisualViewport();
117
+ const viewportWidth = viewport.width;
118
+ const viewportHeight = viewport.height;
119
+ const { width: expandedWidth, height: expandedHeight } = expandedDimensions;
120
+ let newPosition;
121
+ if (edge === "top" || edge === "bottom") {
122
+ const xOffset = (expandedWidth - actualCollapsedWidth) / 2;
123
+ newPosition = {
124
+ x: clampToRange(collapsedPosition.x - xOffset, viewport.offsetLeft + 16, viewport.offsetLeft + viewportWidth - expandedWidth - 16),
125
+ y: edge === "top" ? viewport.offsetTop + 16 : viewport.offsetTop + viewportHeight - expandedHeight - 16
126
+ };
127
+ } else {
128
+ const yOffset = (expandedHeight - actualCollapsedHeight) / 2;
129
+ const clampedY = clampToRange(collapsedPosition.y - yOffset, viewport.offsetTop + 16, viewport.offsetTop + viewportHeight - expandedHeight - 16);
130
+ newPosition = {
131
+ x: edge === "left" ? viewport.offsetLeft + 16 : viewport.offsetLeft + viewportWidth - expandedWidth - 16,
132
+ y: clampedY
133
+ };
134
+ }
135
+ const ratio = getRatioFromPosition(edge, newPosition.x, newPosition.y, expandedWidth, expandedHeight);
136
+ return {
137
+ position: newPosition,
138
+ ratio
139
+ };
140
+ };
141
+ const getCollapsedPosition = (edge, expandedPosition, expandedDimensions, collapsedDimensions) => {
142
+ const viewport = getVisualViewport();
143
+ const { width: expandedWidth, height: expandedHeight } = expandedDimensions;
144
+ const { width: collapsedWidth, height: collapsedHeight } = collapsedDimensions;
145
+ switch (edge) {
146
+ case "top":
147
+ case "bottom": {
148
+ const xOffset = (expandedWidth - collapsedWidth) / 2;
149
+ return {
150
+ x: clampToRange(expandedPosition.x + xOffset, viewport.offsetLeft, viewport.offsetLeft + viewport.width - collapsedWidth),
151
+ y: edge === "top" ? viewport.offsetTop : viewport.offsetTop + viewport.height - collapsedHeight
152
+ };
153
+ }
154
+ case "left":
155
+ case "right": {
156
+ const yOffset = (expandedHeight - collapsedHeight) / 2;
157
+ const clampedY = clampToRange(expandedPosition.y + yOffset, viewport.offsetTop, viewport.offsetTop + viewport.height - collapsedHeight);
158
+ return {
159
+ x: edge === "left" ? viewport.offsetLeft : viewport.offsetLeft + viewport.width - collapsedWidth,
160
+ y: clampedY
161
+ };
162
+ }
163
+ }
164
+ };
165
+ const getSnapPosition = (currentX, currentY, elementWidth, elementHeight, velocityX, velocityY) => {
166
+ const viewport = getVisualViewport();
167
+ const viewportWidth = viewport.width;
168
+ const viewportHeight = viewport.height;
169
+ const projectedX = currentX + velocityX * 150;
170
+ const projectedY = currentY + velocityY * 150;
171
+ const distanceToTop = projectedY - viewport.offsetTop + elementHeight / 2;
172
+ const distanceToBottom = viewport.offsetTop + viewportHeight - projectedY - elementHeight / 2;
173
+ const distanceToLeft = projectedX - viewport.offsetLeft + elementWidth / 2;
174
+ const distanceToRight = viewport.offsetLeft + viewportWidth - projectedX - elementWidth / 2;
175
+ const minDistance = Math.min(distanceToTop, distanceToBottom, distanceToLeft, distanceToRight);
176
+ const clampX = (rawX) => clampToRange(rawX, viewport.offsetLeft + 16, viewport.offsetLeft + viewportWidth - elementWidth - 16);
177
+ const clampY = (rawY) => clampToRange(rawY, viewport.offsetTop + 16, viewport.offsetTop + viewportHeight - elementHeight - 16);
178
+ if (minDistance === distanceToTop) return {
179
+ edge: "top",
180
+ x: clampX(projectedX),
181
+ y: viewport.offsetTop + 16
182
+ };
183
+ if (minDistance === distanceToLeft) return {
184
+ edge: "left",
185
+ x: viewport.offsetLeft + 16,
186
+ y: clampY(projectedY)
187
+ };
188
+ if (minDistance === distanceToRight) return {
189
+ edge: "right",
190
+ x: viewport.offsetLeft + viewportWidth - elementWidth - 16,
191
+ y: clampY(projectedY)
192
+ };
193
+ return {
194
+ edge: "bottom",
195
+ x: clampX(projectedX),
196
+ y: viewport.offsetTop + viewportHeight - elementHeight - 16
197
+ };
198
+ };
199
+
200
+ //#endregion
201
+ //#region src/utils/is-mac.ts
202
+ let cachedIsMac = null;
203
+ const getPlatformFromUserAgentData = () => {
204
+ if (typeof navigator === "undefined") return null;
205
+ if (!("userAgentData" in navigator)) return null;
206
+ const userAgentData = navigator.userAgentData;
207
+ if (typeof userAgentData !== "object" || userAgentData === null) return null;
208
+ if (!("platform" in userAgentData)) return null;
209
+ const platform = userAgentData.platform;
210
+ if (typeof platform !== "string") return null;
211
+ return platform;
212
+ };
213
+ const isMac = () => {
214
+ if (cachedIsMac === null) {
215
+ if (typeof navigator === "undefined") {
216
+ cachedIsMac = false;
217
+ return cachedIsMac;
218
+ }
219
+ const platform = navigator.platform ?? getPlatformFromUserAgentData() ?? navigator.userAgent;
220
+ cachedIsMac = /Mac|iPhone|iPad|iPod/i.test(platform);
221
+ }
222
+ return cachedIsMac;
223
+ };
224
+
225
+ //#endregion
226
+ //#region src/utils/is-event-from-overlay.ts
227
+ const isEventFromOverlay = (event, attribute) => {
228
+ try {
229
+ return event.composedPath().some((target) => target instanceof HTMLElement && target.hasAttribute(attribute));
230
+ } catch {
231
+ return false;
232
+ }
233
+ };
234
+
235
+ //#endregion
236
+ //#region src/utils/resolve-action-enabled.ts
237
+ const resolveBooleanEnabled = (enabled) => enabled ?? true;
238
+ const resolveActionEnabled = (action, context) => {
239
+ if (typeof action.enabled === "function") {
240
+ if (!context) return false;
241
+ return action.enabled(context);
242
+ }
243
+ return resolveBooleanEnabled(action.enabled);
244
+ };
245
+
246
+ //#endregion
247
+ //#region src/components/toolbar/state.ts
248
+ const STORAGE_KEY = "react-grab-toolbar-state";
249
+ const loadToolbarState = () => {
250
+ try {
251
+ const serializedToolbarState = localStorage.getItem(STORAGE_KEY);
252
+ if (!serializedToolbarState) return null;
253
+ const parsed = JSON.parse(serializedToolbarState);
254
+ if (typeof parsed !== "object" || parsed === null) return null;
255
+ const record = parsed;
256
+ return {
257
+ edge: record.edge === "top" || record.edge === "bottom" || record.edge === "left" || record.edge === "right" ? record.edge : "bottom",
258
+ ratio: typeof record.ratio === "number" ? record.ratio : require_freeze_updates.TOOLBAR_DEFAULT_POSITION_RATIO,
259
+ collapsed: typeof record.collapsed === "boolean" ? record.collapsed : false,
260
+ enabled: typeof record.enabled === "boolean" ? record.enabled : true,
261
+ defaultAction: typeof record.defaultAction === "string" ? record.defaultAction : require_freeze_updates.DEFAULT_ACTION_ID
262
+ };
263
+ } catch (error) {
264
+ console.warn("[react-grab] Failed to load toolbar state from localStorage:", error);
265
+ }
266
+ return null;
267
+ };
268
+ const saveToolbarState = (state) => {
269
+ try {
270
+ localStorage.setItem(STORAGE_KEY, JSON.stringify(state));
271
+ } catch (error) {
272
+ console.warn("[react-grab] Failed to save toolbar state to localStorage:", error);
273
+ }
274
+ };
275
+
276
+ //#endregion
277
+ Object.defineProperty(exports, 'calculateExpandedPositionFromCollapsed', {
278
+ enumerable: true,
279
+ get: function () {
280
+ return calculateExpandedPositionFromCollapsed;
281
+ }
282
+ });
283
+ Object.defineProperty(exports, 'clampToRange', {
284
+ enumerable: true,
285
+ get: function () {
286
+ return clampToRange;
287
+ }
288
+ });
289
+ Object.defineProperty(exports, 'getCollapsedPosition', {
290
+ enumerable: true,
291
+ get: function () {
292
+ return getCollapsedPosition;
293
+ }
294
+ });
295
+ Object.defineProperty(exports, 'getPositionFromEdgeAndRatio', {
296
+ enumerable: true,
297
+ get: function () {
298
+ return getPositionFromEdgeAndRatio;
299
+ }
300
+ });
301
+ Object.defineProperty(exports, 'getRatioFromPosition', {
302
+ enumerable: true,
303
+ get: function () {
304
+ return getRatioFromPosition;
305
+ }
306
+ });
307
+ Object.defineProperty(exports, 'getSnapPosition', {
308
+ enumerable: true,
309
+ get: function () {
310
+ return getSnapPosition;
311
+ }
312
+ });
313
+ Object.defineProperty(exports, 'getVisualViewport', {
314
+ enumerable: true,
315
+ get: function () {
316
+ return getVisualViewport;
317
+ }
318
+ });
319
+ Object.defineProperty(exports, 'hasTextSelectionInInput', {
320
+ enumerable: true,
321
+ get: function () {
322
+ return hasTextSelectionInInput;
323
+ }
324
+ });
325
+ Object.defineProperty(exports, 'hasTextSelectionOnPage', {
326
+ enumerable: true,
327
+ get: function () {
328
+ return hasTextSelectionOnPage;
329
+ }
330
+ });
331
+ Object.defineProperty(exports, 'isElementConnected', {
332
+ enumerable: true,
333
+ get: function () {
334
+ return isElementConnected;
335
+ }
336
+ });
337
+ Object.defineProperty(exports, 'isEventFromOverlay', {
338
+ enumerable: true,
339
+ get: function () {
340
+ return isEventFromOverlay;
341
+ }
342
+ });
343
+ Object.defineProperty(exports, 'isKeyboardEventTriggeredByInput', {
344
+ enumerable: true,
345
+ get: function () {
346
+ return isKeyboardEventTriggeredByInput;
347
+ }
348
+ });
349
+ Object.defineProperty(exports, 'isMac', {
350
+ enumerable: true,
351
+ get: function () {
352
+ return isMac;
353
+ }
354
+ });
355
+ Object.defineProperty(exports, 'loadToolbarState', {
356
+ enumerable: true,
357
+ get: function () {
358
+ return loadToolbarState;
359
+ }
360
+ });
361
+ Object.defineProperty(exports, 'resolveActionEnabled', {
362
+ enumerable: true,
363
+ get: function () {
364
+ return resolveActionEnabled;
365
+ }
366
+ });
367
+ Object.defineProperty(exports, 'saveToolbarState', {
368
+ enumerable: true,
369
+ get: function () {
370
+ return saveToolbarState;
371
+ }
372
+ });
@@ -0,0 +1,9 @@
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
+ const e=require(`./freeze-updates-BQjWBzy4.cjs`),t=e=>!!(e?.isConnected??e?.ownerDocument?.contains(e)),n=[`input`,`textarea`,`select`,`searchbox`,`slider`,`spinbutton`,`menuitem`,`menuitemcheckbox`,`menuitemradio`,`option`,`radio`,`textbox`,`combobox`],r=e=>{if(e.composed){let t=e.composedPath()[0];if(t instanceof HTMLElement)return t}else if(e.target instanceof HTMLElement)return e.target},i=t=>{if(document.designMode===`on`)return!0;let i=r(t);if(!i)return!1;if(i.isContentEditable)return!0;let a=e.N(i);return n.some(e=>e===a||e===i.role)},a=e=>{let t=e.target;if(t instanceof HTMLInputElement||t instanceof HTMLTextAreaElement){let e=t.selectionStart??0;return(t.selectionEnd??0)-e>0}return!1},o=()=>{let e=window.getSelection();return e?e.toString().length>0:!1},s=()=>{let e=window.visualViewport;return e?{width:e.width,height:e.height,offsetLeft:e.offsetLeft,offsetTop:e.offsetTop}:{width:window.innerWidth,height:window.innerHeight,offsetLeft:0,offsetTop:0}},c=(e,t,n)=>Math.max(t,Math.min(e,n)),l=(e,t,n,r)=>{let i=s(),a=i.width,o=i.height,c=i.offsetLeft+16,l=Math.max(c,i.offsetLeft+a-n-16),u=i.offsetTop+16,d=Math.max(u,i.offsetTop+o-r-16);if(e===`top`||e===`bottom`){let r=Math.max(0,a-n-32);return{x:Math.min(l,Math.max(c,i.offsetLeft+16+r*t)),y:e===`top`?u:d}}let f=Math.max(0,o-r-32),p=Math.min(d,Math.max(u,i.offsetTop+16+f*t));return{x:e===`left`?c:l,y:p}},u=(t,n,r,i,a)=>{let o=s(),c=o.width,l=o.height;if(t===`top`||t===`bottom`){let t=c-i-32;return t<=0?e.ct:Math.max(0,Math.min(1,(n-o.offsetLeft-16)/t))}let u=l-a-32;return u<=0?e.ct:Math.max(0,Math.min(1,(r-o.offsetTop-16)/u))},d=(e,t,n,r,i)=>{let a=s(),o=a.width,l=a.height,{width:d,height:f}=n,p;if(t===`top`||t===`bottom`){let n=(d-r)/2;p={x:c(e.x-n,a.offsetLeft+16,a.offsetLeft+o-d-16),y:t===`top`?a.offsetTop+16:a.offsetTop+l-f-16}}else{let n=(f-i)/2,r=c(e.y-n,a.offsetTop+16,a.offsetTop+l-f-16);p={x:t===`left`?a.offsetLeft+16:a.offsetLeft+o-d-16,y:r}}let m=u(t,p.x,p.y,d,f);return{position:p,ratio:m}},f=(e,t,n,r)=>{let i=s(),{width:a,height:o}=n,{width:l,height:u}=r;switch(e){case`top`:case`bottom`:{let n=(a-l)/2;return{x:c(t.x+n,i.offsetLeft,i.offsetLeft+i.width-l),y:e===`top`?i.offsetTop:i.offsetTop+i.height-u}}case`left`:case`right`:{let n=(o-u)/2,r=c(t.y+n,i.offsetTop,i.offsetTop+i.height-u);return{x:e===`left`?i.offsetLeft:i.offsetLeft+i.width-l,y:r}}}},p=(e,t,n,r,i,a)=>{let o=s(),l=o.width,u=o.height,d=e+i*150,f=t+a*150,p=f-o.offsetTop+r/2,m=o.offsetTop+u-f-r/2,h=d-o.offsetLeft+n/2,g=o.offsetLeft+l-d-n/2,_=Math.min(p,m,h,g),v=e=>c(e,o.offsetLeft+16,o.offsetLeft+l-n-16),y=e=>c(e,o.offsetTop+16,o.offsetTop+u-r-16);return _===p?{edge:`top`,x:v(d),y:o.offsetTop+16}:_===h?{edge:`left`,x:o.offsetLeft+16,y:y(f)}:_===g?{edge:`right`,x:o.offsetLeft+l-n-16,y:y(f)}:{edge:`bottom`,x:v(d),y:o.offsetTop+u-r-16}};let m=null;const h=()=>{if(typeof navigator>`u`||!(`userAgentData`in navigator))return null;let e=navigator.userAgentData;if(typeof e!=`object`||!e||!(`platform`in e))return null;let t=e.platform;return typeof t==`string`?t:null},g=()=>{if(m===null){if(typeof navigator>`u`)return m=!1,m;let e=navigator.platform??h()??navigator.userAgent;m=/Mac|iPhone|iPad|iPod/i.test(e)}return m},_=(e,t)=>{try{return e.composedPath().some(e=>e instanceof HTMLElement&&e.hasAttribute(t))}catch{return!1}},v=e=>e??!0,y=(e,t)=>typeof e.enabled==`function`?t?e.enabled(t):!1:v(e.enabled),b=`react-grab-toolbar-state`,x=()=>{try{let t=localStorage.getItem(b);if(!t)return null;let n=JSON.parse(t);if(typeof n!=`object`||!n)return null;let r=n;return{edge:r.edge===`top`||r.edge===`bottom`||r.edge===`left`||r.edge===`right`?r.edge:`bottom`,ratio:typeof r.ratio==`number`?r.ratio:e.ct,collapsed:typeof r.collapsed==`boolean`?r.collapsed:!1,enabled:typeof r.enabled==`boolean`?r.enabled:!0,defaultAction:typeof r.defaultAction==`string`?r.defaultAction:e.I}}catch(e){console.warn(`[react-grab] Failed to load toolbar state from localStorage:`,e)}return null},S=e=>{try{localStorage.setItem(b,JSON.stringify(e))}catch(e){console.warn(`[react-grab] Failed to save toolbar state to localStorage:`,e)}};Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return g}}),Object.defineProperty(exports,`c`,{enumerable:!0,get:function(){return f}}),Object.defineProperty(exports,`d`,{enumerable:!0,get:function(){return p}}),Object.defineProperty(exports,`f`,{enumerable:!0,get:function(){return s}}),Object.defineProperty(exports,`g`,{enumerable:!0,get:function(){return t}}),Object.defineProperty(exports,`h`,{enumerable:!0,get:function(){return i}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return _}}),Object.defineProperty(exports,`l`,{enumerable:!0,get:function(){return l}}),Object.defineProperty(exports,`m`,{enumerable:!0,get:function(){return o}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return S}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return d}}),Object.defineProperty(exports,`p`,{enumerable:!0,get:function(){return a}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return y}}),Object.defineProperty(exports,`s`,{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return x}}),Object.defineProperty(exports,`u`,{enumerable:!0,get:function(){return u}});