@sheetxl/studio-vanilla 0.4.20 → 0.4.22

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 (231) hide show
  1. package/browser/cjs/{BdltTXLt7iZT8sku.cjs → -AkvO2DXLOxJTxam.cjs} +1 -1
  2. package/browser/cjs/{dQ_t_glP-41DsAl-.cjs → 3CSmmG7E8ziDB1mP.cjs} +1 -1
  3. package/browser/cjs/{BKow6xaj0GHFH5-V.cjs → 7nEG2wj_Ohie6CwI.cjs} +1 -1
  4. package/browser/cjs/{DlL3FUzHZ4HVF-yg.cjs → B0aLqzqegePPgpc2.cjs} +1 -1
  5. package/browser/cjs/B9GyERAqyIxdqS4D.cjs +145 -0
  6. package/browser/cjs/BO8oGaHWFtHyxmQ1.cjs +6 -0
  7. package/browser/cjs/{B3IrGavp2xDl72qi.cjs → BPODmSH7Z1MR1rHr.cjs} +3 -3
  8. package/browser/cjs/{BDxykI6GcXpGGGMz.cjs → BS0bGW4PmNinQUvL.cjs} +7 -7
  9. package/browser/cjs/{Bf-D_AYDbEeRcsvz.cjs → BY3tZiH_cfwBkpN8.cjs} +1 -1
  10. package/browser/cjs/BYRBdz-9UGZ0b_AO.cjs +7 -0
  11. package/browser/cjs/{Dn5IBCKPuNI0ypyZ.cjs → BZvC7PqILOVRl2ij.cjs} +1 -1
  12. package/browser/cjs/Bc6lVP0c3mEzf_yK.cjs +6 -0
  13. package/browser/cjs/Bdm_fGdkK4-pZ0tW.cjs +6 -0
  14. package/browser/cjs/{IxfGyvVPF27qqDF3.cjs → Bi2-QXq5KvbsAXoB.cjs} +1 -1
  15. package/browser/cjs/Bk2cFYnTKxP7WbLy.cjs +6 -0
  16. package/browser/cjs/{DHiQ_sK8f-95Ft4X.cjs → BlojFx4yQfY8ahEJ.cjs} +2 -2
  17. package/browser/cjs/BvEv8i6SisfC24C1.cjs +7 -0
  18. package/browser/cjs/{CX82d7xySIGMF7yM.cjs → Bzntg1YSzOszdwLy.cjs} +1 -1
  19. package/browser/cjs/C9oIS5xxO9B7vS3W.cjs +6 -0
  20. package/browser/cjs/{D6WxWENDWFXA_esX.cjs → C9xTKWx1tr6NZFC8.cjs} +1 -1
  21. package/browser/cjs/{BC_a9wiziJZdu6Au.cjs → CCu9cK1DUD4oa3Nj.cjs} +1 -1
  22. package/browser/cjs/{C4AWzM1Uh9cuE1A9.cjs → CIeiC9TKv80O2_fQ.cjs} +1 -1
  23. package/browser/cjs/{zreCxaXU5L2iHQ99.cjs → COuRf_8YbqEsDQOC.cjs} +1 -1
  24. package/browser/cjs/{DMpqQkdCfg2AjXjR.cjs → CQRZm8lGq26oKY31.cjs} +1 -1
  25. package/browser/cjs/CYmpgLiDS0ZlbG11.cjs +6 -0
  26. package/browser/cjs/CZltonq1gEczLRHi.cjs +32 -0
  27. package/browser/cjs/Cf1j7hiCbQ8xo4_U.cjs +7 -0
  28. package/browser/cjs/{CW5RuE4isKBlwHmQ.cjs → CknjEH7DZBnqyPfk.cjs} +1 -1
  29. package/browser/cjs/{iIOyWIrlq0JiZyZX.cjs → ClEc15AqSTFOf5zG.cjs} +1 -1
  30. package/browser/cjs/{CTPgM-UqKCo4_hd1.cjs → CrUZUIz00uPDq4EA.cjs} +1 -1
  31. package/browser/cjs/{BOAxaoihJZZzZXhd.cjs → Cv1BFY5pqPtJd8qO.cjs} +1 -1
  32. package/browser/cjs/CvvHAxM5SO6mwsyq.cjs +161 -0
  33. package/browser/cjs/{BK6DsykAfJG4V-cJ.cjs → Cvwrl86aXHFXJVZZ.cjs} +1 -1
  34. package/browser/cjs/CwgzE59YUQ1eOTBi.cjs +6 -0
  35. package/browser/cjs/{BSlU398ba-ACAG1g.cjs → D3qzZXPgfAtKIAP9.cjs} +6 -6
  36. package/browser/cjs/{Dp6UwWmFehNr8oln.cjs → D7q2GFLhv9QRTZJe.cjs} +1 -1
  37. package/browser/cjs/{D3hV1-QRPKCq0om8.cjs → DB2WR3LaeOhkCAXY.cjs} +2 -2
  38. package/browser/cjs/{BndDL5HS4RNIfwOd.cjs → DFJ4dyRxiUF1XPPZ.cjs} +6 -6
  39. package/browser/cjs/{jX_tynzFoHAGPZOz.cjs → DJMpu6kYQUW3FWjs.cjs} +1 -1
  40. package/browser/cjs/{CSM5H5PTjrTaUgKK.cjs → DL7DCFUaFkr2LYhZ.cjs} +1 -1
  41. package/browser/cjs/{CXik9BghKbVW93T0.cjs → DMMZr350oW-Zan7x.cjs} +24 -24
  42. package/browser/cjs/{d6ywgaNww4eYXcem.cjs → DMfk3didwdGQLc0i.cjs} +4 -4
  43. package/browser/cjs/DaEdjRWwuNebE2hn.cjs +6 -0
  44. package/browser/cjs/Dd7vDdIeQaFScMRQ.cjs +6 -0
  45. package/browser/cjs/{DUjgS2e8jjyhZF41.cjs → Df9S9eEGYxA_EcEr.cjs} +1 -1
  46. package/browser/cjs/{CKa-Z1SfYc0pkIX2.cjs → DgSAPPq-D_vlo9jE.cjs} +1 -1
  47. package/browser/cjs/DmtZLv1wnSxRzPiR.cjs +6 -0
  48. package/browser/cjs/{CvYl4W2vXnvHHHoI.cjs → DqlFSswn_reXyFz8.cjs} +1 -1
  49. package/browser/cjs/{CeLG8vmgbEkx4oD1.cjs → Dws_eDddoJKDPps_.cjs} +1 -1
  50. package/browser/cjs/HyVntu9KkvdKrJEt.cjs +16 -0
  51. package/browser/cjs/{QonkTPcCkOm4Mvas.cjs → Iek_K8QW1doYx_eo.cjs} +1 -1
  52. package/browser/cjs/QJFc55OPrJyuRvDO.cjs +19 -0
  53. package/browser/cjs/QxU4KIgsHZuVigdy.cjs +329 -0
  54. package/browser/cjs/cOAjfOdF1cb-xgQG.cjs +6 -0
  55. package/browser/cjs/index.cjs +2 -2
  56. package/browser/cjs/{Bhlan81dumwgyb0S.cjs → kQ8wVygFJMcxlUv-.cjs} +1 -1
  57. package/browser/cjs/{D2J4RLkySRIXFbsa.cjs → tVbeAmLkaH_1Jy7R.cjs} +2 -2
  58. package/browser/cjs/wNoDw92hvq2txBki.cjs +11 -0
  59. package/browser/esm/2d2eGHpsnUoCOFMT.mjs +47 -0
  60. package/browser/esm/{BqgjdQ15LFcefVOZ.mjs → AVmCEk8Fmiw2k_yK.mjs} +2 -2
  61. package/browser/esm/B0A2aLiKDPGGU4k-.mjs +44515 -0
  62. package/{cdn/assets/DmXkRZFP-WnV2YT9.js → browser/esm/BBov1fpR61VyhE3Z.mjs} +1 -1
  63. package/{cdn/assets/BS_-p_4yMCoR9FTp.js → browser/esm/BJD32_Zv5gkabGc0.mjs} +1 -1
  64. package/browser/esm/{Bmfu8IUFzu9KyCkA.mjs → BJqIPJDvrhWpZc4S.mjs} +1 -1
  65. package/{cdn/assets/KUyPDaQO4D8lwO7O.js → browser/esm/BKYjPTKdwG8Dn1_Z.mjs} +1 -1
  66. package/browser/esm/{JdOvTKCcf5acl7vA.mjs → BQfnqD12mz41DOr_.mjs} +1 -1
  67. package/{cdn/assets/BfiejFYnvgVrrJPI.js → browser/esm/BSdVpOzJ8SL3EBhP.mjs} +1 -1
  68. package/browser/esm/{KWZAe-e6U7Po4gCx.mjs → BVuoKgnuqrUwY6Fv.mjs} +15 -15
  69. package/browser/esm/{RvEM-YtFLw3OMG0V.mjs → Ba4SdTfCAvYS7a3O.mjs} +2 -2
  70. package/browser/esm/{D2L4EVLdv-YwKGoi.mjs → BajFlIH_X_nvDNfp.mjs} +2 -2
  71. package/browser/esm/{BGJaDv3Ih-M1lFCD.mjs → Bb0W3ByMVowTViNK.mjs} +1 -1
  72. package/browser/esm/{DWnopZ6R26qNLVyV.mjs → BmyjN5txj3iMw_DE.mjs} +1 -1
  73. package/{cdn/assets/B6c_mMwG96t6MlCE.js → browser/esm/BpFA0UU_TF4JO3dh.mjs} +1 -1
  74. package/browser/esm/Btr2FDDtI_fht0WU.mjs +1466 -0
  75. package/{cdn/assets/S2TZ7C9tQtDNeeGo.js → browser/esm/Bzg-D_R4sXN-wyMx.mjs} +1 -1
  76. package/browser/esm/C2xOGr0pDSHSMKoW.mjs +1366 -0
  77. package/{cdn/assets/CpDyqZXpstRo2buW.js → browser/esm/CAal3t8F-VfdmgAH.mjs} +1 -1
  78. package/browser/esm/{DlASr70UXrIpKZQO.mjs → CBPeZuyUIf9scEwn.mjs} +722 -815
  79. package/{cdn/assets/Bnpwlyv8i_gnevRF.js → browser/esm/CCjuiVOyesh1IQpA.mjs} +1861 -1859
  80. package/browser/esm/{Cjp7NabZ26PaBnIT.mjs → CDnNRZ7jINT_Dr0K.mjs} +4 -4
  81. package/browser/esm/{DJx6S7TOhQyWdjS5.mjs → CQaM4Ka20cP71fl0.mjs} +1 -1
  82. package/browser/esm/{VYFESZA0Jc8C13ZT.mjs → CVlIOg6F8qrZdlQ1.mjs} +1 -1
  83. package/{cdn/assets/dWGGn8a_Ez8kVjgZ.js → browser/esm/Cbq2K4YGny5wwFEf.mjs} +1 -1
  84. package/browser/esm/CfeqmUm-TkCE2XpK.mjs +260 -0
  85. package/{cdn/assets/_sUvLBCLSPhV2gF6.js → browser/esm/Ckb6l6osoWh90VXn.mjs} +1 -1
  86. package/{cdn/assets/Bj6XCGohW0EagXDQ.js → browser/esm/CkccSfJEU471_Sui.mjs} +8 -8
  87. package/browser/esm/{2vIB3gG-Ct-P7aHY.mjs → Cl0mB61JgZYfTh4S.mjs} +1 -1
  88. package/browser/esm/{CXSiJ-t5xz78GMwK.mjs → Cm7pnWH_xgLwX_lZ.mjs} +1 -1
  89. package/browser/esm/{CPchasanZLQiASse.mjs → Co_HyodT3prcEvNJ.mjs} +1 -1
  90. package/{cdn/assets/glJJyP0v0nlhAzqM.js → browser/esm/CsBIABPdnqpcZcvJ.mjs} +1 -1
  91. package/browser/esm/{CT_g1GDC8_vSGR0o.mjs → CslKfn0zxkGKrM4-.mjs} +19 -19
  92. package/browser/esm/{B4ABRWtE31zu8-wJ.mjs → Cx0a1WWRvJgDg4qb.mjs} +7 -7
  93. package/browser/esm/{BRzxK84abQUinUUx.mjs → D-QFKqWRP5dKwynV.mjs} +1 -1
  94. package/browser/esm/{DsabS3TdXZB45_O2.mjs → DWgbhx4Y4WzyAP3Z.mjs} +4 -4
  95. package/browser/esm/DgFIjoPrM5dmrLHT.mjs +392 -0
  96. package/{cdn/assets/giu63J2gO2p8JJIf.js → browser/esm/Dk_OZhcDLapTaNma.mjs} +1 -1
  97. package/{cdn/assets/CSDiL3gZro2_BYTj.js → browser/esm/Dp--KMDeqecbq_Wc.mjs} +1 -1
  98. package/browser/esm/Dva_qJrZGvFYbRxZ.mjs +21 -0
  99. package/browser/esm/DxJfUV0HFQT8g6H_.mjs +39 -0
  100. package/browser/esm/{Dkf0_o7D9GkUfOZy.mjs → Dxqx7qwqE6wbYSpB.mjs} +36 -36
  101. package/{cdn/assets/D7bqIxhqlHgc3Fih.js → browser/esm/ObudKUELIfmbm87W.mjs} +1 -1
  102. package/browser/esm/{B1qmfUH_Mmjtp3JU.mjs → SGprYj0-SzDtrM3y.mjs} +13 -13
  103. package/browser/esm/{CmLCIveZbsUFrSOH.mjs → SmC3rmOCw-Ynredz.mjs} +672 -665
  104. package/browser/esm/{CA33PnXmPNl09v6w.mjs → T263hpnj_sMd1bmD.mjs} +23 -23
  105. package/browser/esm/{DaoqFa2lhVoZvd16.mjs → Ys1OCodY6sXUkZ6-.mjs} +102 -99
  106. package/{cdn/assets/xbsV0YR05atX96kb.js → browser/esm/aqvSzH4m6bf7ODc6.mjs} +1 -1
  107. package/browser/esm/{Bz0TojPavQ5NTjyD.mjs → d49_A3euUkzKZure.mjs} +1 -1
  108. package/browser/esm/d8r4AqRUASAMCbBC.mjs +1352 -0
  109. package/browser/esm/{CVvfga1mKyvzrvCr.mjs → fgXzhDR19HBK6PEW.mjs} +6 -6
  110. package/browser/esm/{Be9tvHxvnxnHNRa4.mjs → g2unVUs-HBGBvXMs.mjs} +1 -1
  111. package/browser/esm/gzl_ozUgkS0mr_32.mjs +13391 -0
  112. package/browser/esm/index.mjs +2 -2
  113. package/browser/esm/kbK4ZGVl1tl5F-UA.mjs +41 -0
  114. package/browser/esm/oAfM3SU0EgMxfDc0.mjs +3802 -0
  115. package/browser/esm/{BFUWwMA9uskwVkew.mjs → oUl7lbkOPMCi30tO.mjs} +1 -1
  116. package/browser/esm/{Dvo7tXJcgnIXR-H7.mjs → tAl8qMu6C0Vlq5p-.mjs} +670 -667
  117. package/cdn/assets/1we1udiYEDagZ5XN.js +241 -0
  118. package/cdn/assets/8d4z_mUqWF_BnOt4.js +6481 -0
  119. package/cdn/assets/B-ol51_1jHaCVeGO.js +3802 -0
  120. package/cdn/assets/B2I5EC8Y3LkhqzOe.js +50 -0
  121. package/{browser/esm/CpQM3xIeariuqfsN.mjs → cdn/assets/B44RkeFF8g1ncaGw.js} +16 -14
  122. package/{browser/esm/DmXkRZFP-WnV2YT9.mjs → cdn/assets/BBov1fpR61VyhE3Z.js} +1 -1
  123. package/cdn/assets/BCEDMsB3yP73FGo4.js +260 -0
  124. package/cdn/assets/{BCfZ9L4sqA1AhATQ.js → BERonPR_jlfR0j1B.js} +14 -14
  125. package/{browser/esm/BS_-p_4yMCoR9FTp.mjs → cdn/assets/BJD32_Zv5gkabGc0.js} +1 -1
  126. package/cdn/assets/{Bmfu8IUFzu9KyCkA.js → BJqIPJDvrhWpZc4S.js} +1 -1
  127. package/{browser/esm/KUyPDaQO4D8lwO7O.mjs → cdn/assets/BKYjPTKdwG8Dn1_Z.js} +1 -1
  128. package/cdn/assets/{Cz1EUITrDS2M-lu2.js → BPQvYX3Tn3_XfM55.js} +849 -849
  129. package/cdn/assets/{JdOvTKCcf5acl7vA.js → BQfnqD12mz41DOr_.js} +1 -1
  130. package/{browser/esm/BfiejFYnvgVrrJPI.mjs → cdn/assets/BSdVpOzJ8SL3EBhP.js} +1 -1
  131. package/cdn/assets/{EN4PLLABu5llaV3T.js → BWHiFslK55rPiaTT.js} +5 -5
  132. package/cdn/assets/BWhbbP9qvpjw1m3d.js +21 -0
  133. package/cdn/assets/{SsQFeDXfmfXHyy1R.js → B_gWDLoUXJ58kUTF.js} +670 -667
  134. package/cdn/assets/{BGJaDv3Ih-M1lFCD.js → Bb0W3ByMVowTViNK.js} +1 -1
  135. package/{browser/esm/BuX3I7e8lbon25vL.mjs → cdn/assets/Bk7mWQ4jJ591qT5U.js} +9 -9
  136. package/cdn/assets/{DWnopZ6R26qNLVyV.js → BmyjN5txj3iMw_DE.js} +1 -1
  137. package/cdn/assets/{SPvRfEBpgC5rbgPz.js → BnEb6t4xIVuW37yn.js} +2 -2
  138. package/{browser/esm/B6c_mMwG96t6MlCE.mjs → cdn/assets/BpFA0UU_TF4JO3dh.js} +1 -1
  139. package/{browser/esm/S2TZ7C9tQtDNeeGo.mjs → cdn/assets/Bzg-D_R4sXN-wyMx.js} +1 -1
  140. package/cdn/assets/C2xOGr0pDSHSMKoW.js +1366 -0
  141. package/{browser/esm/CpDyqZXpstRo2buW.mjs → cdn/assets/CAal3t8F-VfdmgAH.js} +1 -1
  142. package/{browser/esm/Qjkn8L0WuEQToAqm.mjs → cdn/assets/CGImeT9zAECbU9zM.js} +14 -12
  143. package/cdn/assets/CIdfxx6BkkxIdU4J.js +36 -0
  144. package/cdn/assets/{DJx6S7TOhQyWdjS5.js → CQaM4Ka20cP71fl0.js} +1 -1
  145. package/cdn/assets/CVgQlKevn28IBavQ.js +44342 -0
  146. package/cdn/assets/{VYFESZA0Jc8C13ZT.js → CVlIOg6F8qrZdlQ1.js} +1 -1
  147. package/{browser/esm/dWGGn8a_Ez8kVjgZ.mjs → cdn/assets/Cbq2K4YGny5wwFEf.js} +1 -1
  148. package/cdn/assets/{BGQ19MuEoWb0IGOg.js → CcE9nC_34k_5iKdO.js} +25 -25
  149. package/cdn/assets/{CO9eLmNMi1heLPMx.js → CcP-5SrDsnDeT6SQ.js} +733 -827
  150. package/{browser/esm/_sUvLBCLSPhV2gF6.mjs → cdn/assets/Ckb6l6osoWh90VXn.js} +1 -1
  151. package/cdn/assets/{2vIB3gG-Ct-P7aHY.js → Cl0mB61JgZYfTh4S.js} +1 -1
  152. package/cdn/assets/{CXSiJ-t5xz78GMwK.js → Cm7pnWH_xgLwX_lZ.js} +1 -1
  153. package/cdn/assets/{CPchasanZLQiASse.js → Co_HyodT3prcEvNJ.js} +1 -1
  154. package/{browser/esm/glJJyP0v0nlhAzqM.mjs → cdn/assets/CsBIABPdnqpcZcvJ.js} +1 -1
  155. package/cdn/assets/Ct1wZ_TFb7_zG9uz.js +22 -0
  156. package/cdn/assets/{BRzxK84abQUinUUx.js → D-QFKqWRP5dKwynV.js} +1 -1
  157. package/cdn/assets/D8hsneNA-W9ryUa9.js +27 -0
  158. package/cdn/assets/{9GNkN_zTAHpnP-uq.js → DBzbchpZyNJVqFwJ.js} +4 -4
  159. package/cdn/assets/DIBJnPf-ZLpoUAyv.js +90 -0
  160. package/{browser/esm/B7ohU_quBXWjiBEw.mjs → cdn/assets/DKaNurhCUtSDI3-Y.js} +1861 -1859
  161. package/cdn/assets/DQmcuM6zJj_UBR4j.js +58 -0
  162. package/cdn/assets/DXWy4_H6I-dyOLr6.js +46 -0
  163. package/cdn/assets/DXlz010r4VFvz1TS.js +23 -0
  164. package/{browser/esm/giu63J2gO2p8JJIf.mjs → cdn/assets/Dk_OZhcDLapTaNma.js} +1 -1
  165. package/{browser/esm/CSDiL3gZro2_BYTj.mjs → cdn/assets/Dp--KMDeqecbq_Wc.js} +1 -1
  166. package/{browser/esm/CYrbG4T_bwbc4Un4.mjs → cdn/assets/DqRiTlxxpGv8z6hB.js} +136 -134
  167. package/cdn/assets/Dt6M8k8ljeGubAJ5.js +1466 -0
  168. package/cdn/assets/Dzb_e1lRgdeWlKbP.js +27 -0
  169. package/{browser/esm/D7bqIxhqlHgc3Fih.mjs → cdn/assets/ObudKUELIfmbm87W.js} +1 -1
  170. package/cdn/assets/{DU8_1yjWbaEkXcbL.js → QtHcsa9O7bxZgew4.js} +5 -5
  171. package/cdn/assets/{CmLCIveZbsUFrSOH.js → SmC3rmOCw-Ynredz.js} +672 -665
  172. package/cdn/assets/{UhBzX4vQryCjy6ce.js → UBuQw1PVtmH3a9bE.js} +16 -16
  173. package/cdn/assets/{DaoqFa2lhVoZvd16.js → Ys1OCodY6sXUkZ6-.js} +102 -99
  174. package/{browser/esm/xbsV0YR05atX96kb.mjs → cdn/assets/aqvSzH4m6bf7ODc6.js} +1 -1
  175. package/cdn/assets/{Bz0TojPavQ5NTjyD.js → d49_A3euUkzKZure.js} +1 -1
  176. package/cdn/assets/d8r4AqRUASAMCbBC.js +1352 -0
  177. package/cdn/assets/{Be9tvHxvnxnHNRa4.js → g2unVUs-HBGBvXMs.js} +1 -1
  178. package/cdn/assets/gzl_ozUgkS0mr_32.js +13391 -0
  179. package/cdn/assets/o1yNcQczZA65rwUv.js +41 -0
  180. package/cdn/assets/u_xPkr1quUnZRgrA.js +149 -0
  181. package/cdn/index.js +2 -2
  182. package/cdn/loader.js +1 -1
  183. package/package.json +3 -3
  184. package/browser/cjs/B4ScrvWBCXLzvNBz.cjs +0 -145
  185. package/browser/cjs/BBNggAKHDP4QyhrD.cjs +0 -6
  186. package/browser/cjs/BSoRD8INLnGqOd24.cjs +0 -7
  187. package/browser/cjs/BTxfWiE-FbVvlbXz.cjs +0 -11
  188. package/browser/cjs/BlJixWFmG-z3n7dN.cjs +0 -6
  189. package/browser/cjs/Buw8XeqL6XQwxqnQ.cjs +0 -32
  190. package/browser/cjs/C04_CccTUmfnv-ln.cjs +0 -6
  191. package/browser/cjs/C5TLXtw93fBnRGm7.cjs +0 -378
  192. package/browser/cjs/CLiSJrUNaSxa5Mn7.cjs +0 -16
  193. package/browser/cjs/CODi1uYlZ35lFLh9.cjs +0 -6
  194. package/browser/cjs/Ccv5NHm99sYZnKE6.cjs +0 -7
  195. package/browser/cjs/CeH0O9zPmIGKjuT9.cjs +0 -19
  196. package/browser/cjs/D2bZuhwA7aCEA0It.cjs +0 -6
  197. package/browser/cjs/DEiPHs81OFnGI_GL.cjs +0 -6
  198. package/browser/cjs/DWIR1gQMiYyoUVpN.cjs +0 -7
  199. package/browser/cjs/DawJBg8LyIArkwdU.cjs +0 -6
  200. package/browser/cjs/Dr95ZpJD5KpADFgL.cjs +0 -6
  201. package/browser/cjs/P7jR9JAKpf5me2pK.cjs +0 -6
  202. package/browser/cjs/T4zy652TD1RHF35F.cjs +0 -6
  203. package/browser/cjs/nlzloz3gqSXQwTl5.cjs +0 -13
  204. package/browser/cjs/xPUjEhL251Mb-kyD.cjs +0 -161
  205. package/browser/esm/BJkeQi-0GTlyPsTT.mjs +0 -52369
  206. package/browser/esm/BR2yOGMlFrbNy1I_.mjs +0 -472
  207. package/browser/esm/BTbBL2qySirAIMIH.mjs +0 -1346
  208. package/browser/esm/Bj4d7nd4XMugBsBg.mjs +0 -39
  209. package/browser/esm/CeSDjV2b8w7KibJw.mjs +0 -1466
  210. package/browser/esm/DR85glElKOQxCdEw.mjs +0 -820
  211. package/browser/esm/DgxaqoqInkc26SCt.mjs +0 -13208
  212. package/browser/esm/dwY5oHtoGa_ktt9_.mjs +0 -1365
  213. package/browser/esm/q5jyS6wUD9X8N3dI.mjs +0 -3755
  214. package/cdn/assets/BBGivbkBG9VS_rL9.js +0 -3756
  215. package/cdn/assets/BF0szY6Cs6OTiu4J.js +0 -22
  216. package/cdn/assets/BFvB3zk5mbav2VDI.js +0 -52200
  217. package/cdn/assets/BKAFXvz5L4pnwrYW.js +0 -41
  218. package/cdn/assets/BTbBL2qySirAIMIH.js +0 -1346
  219. package/cdn/assets/BnrLDtUMM23rGXOR.js +0 -390
  220. package/cdn/assets/C-saEYaoPI4gaVAh.js +0 -820
  221. package/cdn/assets/CBG91FlGgFb_NSW3.js +0 -1466
  222. package/cdn/assets/Cc_7h2P328hlBcqK.js +0 -472
  223. package/cdn/assets/Cv2EzXYuphY8Hlz2.js +0 -23
  224. package/cdn/assets/DDWoPuN8AcPJHNxL.js +0 -58
  225. package/cdn/assets/DYE-hWYAUd_f6MX8.js +0 -46
  226. package/cdn/assets/DfpCefkqWIezzC8Z.js +0 -49
  227. package/cdn/assets/DgxaqoqInkc26SCt.js +0 -13208
  228. package/cdn/assets/LbFq2oCowUDgCX8L.js +0 -43
  229. package/cdn/assets/TP7wJaHcKRz3uH_W.js +0 -50
  230. package/cdn/assets/dwY5oHtoGa_ktt9_.js +0 -1365
  231. package/cdn/assets/nsmFGDjpeUcAO4is.js +0 -149
@@ -0,0 +1,41 @@
1
+ import { a as s } from "./CIdfxx6BkkxIdU4J.js";
2
+ import { r as n } from "./Dzb_e1lRgdeWlKbP.js";
3
+ import { g as e, h as z, L as E, B as K, i as R, o as W, j as O, aF as q, l as y } from "./CVgQlKevn28IBavQ.js";
4
+ /**
5
+ * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.4.22
6
+ *
7
+ * (C) 2025-present SheetXL Inc. & Michael T. Ford
8
+ * License: The license can be found at https://www.sheetxl.com/license.
9
+ */
10
+ const A = ["Input"], U = n.memo(n.forwardRef((w, F) => {
11
+ const { initialValue: T = "", onOption: I, onValidateOption: r, onInputOption: l, onValidateInputOption: p, onDone: u, inputProps: c, inputLabel: P, inputType: S, inputPlaceHolder: j, options: d = A, autoFocusSel: v = ".autoFocus", cancelOption: g, defaultOption: m = d?.[0], ...C } = w, [b, k] = n.useState(!1), [a, V] = n.useState(T), [B, D] = n.useState(""), [L, H] = n.useState(!0), i = e(async (t, o) => {
12
+ if (!p) return !0;
13
+ const h = await p?.(t, o);
14
+ D(h?.message ?? "");
15
+ const x = h?.valid ?? !0;
16
+ return H(x), x;
17
+ }, [p]), f = e(async (t) => {
18
+ l?.(a, t);
19
+ }, [a, l, u, I, g, m]), M = e(async (t) => {
20
+ t.keyCode === z.Enter && await i?.(a, null);
21
+ }, [a, f]), N = e((t) => {
22
+ V(t.target.value), i?.(t.target.value, null);
23
+ }, [r]), $ = e(async (t) => {
24
+ let o = await i(a, t);
25
+ try {
26
+ o !== !1 && (o = await i(a, t));
27
+ } catch {
28
+ }
29
+ return o ?? !0;
30
+ }, [a, r]);
31
+ return s.jsx(E, { options: d, onDone: u, onOption: (t, o) => {
32
+ o || f(t);
33
+ }, onValidateOption: $, cancelOption: g, defaultOption: m, autoFocusSel: v, ref: F, ...C, children: s.jsx(K, { sx: { paddingTop: (t) => t.spacing(1), paddingBottom: (t) => t.spacing(0) }, children: s.jsx(R, { sx: { paddingTop: (t) => t.spacing(1.5), minWidth: 135, width: "100%" }, size: "small", children: s.jsx(W, { onFocus: (t) => {
34
+ b || t.target?.select(), k(!0);
35
+ }, type: S, label: P, helperText: B || " ", sx: { width: "100%", "& .MuiFormHelperText-root": { marginTop: (t) => t.spacing(0.5), color: L ? void 0 : "error.main" } }, InputLabelProps: { shrink: !0 }, InputProps: { inputProps: { placeholder: j, spellCheck: !1, autoComplete: "off", ...c, className: q("autoFocus", c?.className), sx: { paddingTop: (t) => t.spacing(1.25), paddingBottom: (t) => t.spacing(0.75), backgroundImage: `linear-gradient(${O("#fff", y(5))}, ${O("#fff", y(5))})` } } }, value: a, onChange: N, onKeyDown: M, onContextMenu: (t) => {
36
+ t.stopPropagation();
37
+ } }) }) }) });
38
+ }));
39
+ export {
40
+ U as default
41
+ };
@@ -0,0 +1,149 @@
1
+ import { a as t } from "./CIdfxx6BkkxIdU4J.js";
2
+ import { r as o } from "./Dzb_e1lRgdeWlKbP.js";
3
+ import { x as E, y as p, w as b, g as V, h as le, z as ae, A as re, D as ce, B as O, E as g, G as m, J as pe, O as j, Q as de, o as X, j as R, R as ue, U as fe, V as xe, _ as ge, l as v, a0 as _, a1 as me, a2 as he, a3 as Oe, q as je, i as Ce, I as ye, S as be } from "./CVgQlKevn28IBavQ.js";
4
+ /**
5
+ * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.4.22
6
+ *
7
+ * (C) 2025-present SheetXL Inc. & Michael T. Ford
8
+ * License: The license can be found at https://www.sheetxl.com/license.
9
+ */
10
+ const Re = E(t.jsx("path", { d: "M20 11H7.83l5.59-5.59L12 4l-8 8 8 8 1.41-1.41L7.83 13H20z" }), "ArrowBack"), ve = E(t.jsx("path", { d: "m20 12-1.41-1.41L13 16.17V4h-2v12.17l-5.58-5.59L4 12l8 8z" }), "ArrowDownward"), Te = E(t.jsx("path", { d: "m12 4-1.41 1.41L16.17 11H4v2h12.17l-5.58 5.59L12 20l8-8z" }), "ArrowForward"), ke = E(t.jsx("path", { d: "m4 12 1.41 1.41L11 7.83V20h2V7.83l5.58 5.59L20 12l-8-8z" }), "ArrowUpward"), K = o.memo((T) => {
11
+ const { label: h, value: c, options: l, onSelect: d, tabIndex: C = 0, ...F } = T, [I, y] = o.useState(() => ee(c, l));
12
+ o.useEffect(() => {
13
+ y(ee(c, l));
14
+ }, [c, l]);
15
+ const D = V((u) => {
16
+ y(u.target.value), d?.(l[u.target.value]);
17
+ }, [d, l]), a = o.useMemo(() => Object.keys(l).map((u) => t.jsx(je, { value: u, children: u }, u)), [l]);
18
+ return t.jsxs(Ce, { sx: { minWidth: 135 }, size: "small", children: [t.jsx(ye, { children: h }), t.jsx(be, { inputProps: { tabIndex: C }, value: I, label: h, onChange: D, sx: { backgroundImage: `linear-gradient(${R("#fff", v(5))}, ${R("#fff", v(5))})` }, ...F, children: a })] });
19
+ }), Y = { Workbook: "workbook", Sheet: "sheet" }, Z = { enter: 140, exit: 140 }, ne = { Formulas: p.Content.Formulas, Values: p.Content.Values, Notes: p.Content.Notes, Comments: p.Content.Comments }, te = { ...ne };
20
+ delete te.Values;
21
+ const Se = { "By Rows": !0, "By Columns": !1 }, ee = (T, h) => {
22
+ const c = Object.keys(h);
23
+ for (let l = 0; l < c.length; l++) {
24
+ const d = c[l];
25
+ if (h[d] === T) return d;
26
+ }
27
+ }, Ie = o.memo((T) => {
28
+ const { replace: h = !1, findText: c, replaceText: l, findOptions: d, replaceOptions: C, title: F, onHide: I, onFindOrReplace: y, ...D } = T, a = o.useRef(null), u = o.useRef(null), M = o.useRef(null), $ = o.useRef(null), z = o.useRef(null), B = o.useRef(null), H = (e, n) => {
29
+ n && (n.start(e, { center: !1 }), setTimeout(() => n.stop(e), 180));
30
+ }, [W, w] = o.useState(!1), [L, se] = o.useState(!1), [f, A] = o.useState(h), [N, P] = o.useState(!1), [U, G] = o.useState(!1), [i, r] = o.useState({ findText: null, replaceText: null, replace: h, replaceOptions: {}, findOptions: { matchCase: !1, matchEntireCell: !1, useRegex: !1, orientation: b.Orientation.Row, fields: [p.Content.Formulas] }, scope: Y.Sheet }), k = V(async (e, n, s, S) => {
31
+ if (!y) return;
32
+ const x = { ...i };
33
+ x.replaceOptions = { ...x.replaceOptions }, x.findOptions = { ...x.findOptions }, x.replaceOptions.maxCount = s ? void 0 : 1, x.replace = n, n && i.findOptions.fields?.[0] === p.Content.Values && (x.findOptions.fields = [p.Content.Formulas]), x.findOptions.reverse = !e;
34
+ const oe = await y({ autoFocus: S, ...x });
35
+ P(oe === 0);
36
+ }, [i, y]);
37
+ o.useEffect(() => {
38
+ P(!1);
39
+ }, [i, L, f]);
40
+ const q = V((e, n) => {
41
+ if (e.keyCode === le.Enter) {
42
+ if (!i.findText) return;
43
+ let s = !0, S = !1;
44
+ e.shiftKey && (s = !1), n ? (e.ctrlKey && e.altKey && (S = !0), H(e, S ? B.current : z.current)) : H(e, s ? $.current : M.current), k(s, n, S, !1);
45
+ }
46
+ }, [i]), J = o.useRef(null);
47
+ o.useLayoutEffect(() => {
48
+ r((e) => {
49
+ const n = { ...e };
50
+ n.findText = c && c.length > 0 ? c : e.findText ?? "", w(!0), l !== void 0 && (n.replaceText = l), d && (n.findOptions = { ...n.findOptions, ...d }), n.replaceText || (n.replaceText = ""), n.replaceOptions && (n.replaceOptions = { ...n.replaceOptions }), C && (n.replaceOptions = { ...n.replaceOptions, ...C }), i.findOptions.fields?.[0] || (i.findOptions.fields = [p.Content.Formulas]);
51
+ const s = !(!C && l === void 0);
52
+ return s && A(s), n;
53
+ }), U || J.current?.focus();
54
+ }, [c, l, d, C]), o.useEffect(() => {
55
+ f ? (i.findOptions.fields[0], p.Content.Values) : w(!0);
56
+ }, [f]), o.useEffect(() => {
57
+ if (W && a.current && i.findText === a.current.value) return a.current === document.activeElement || a.current.contains(document.activeElement) ? (a.current?.select(), void w(!1)) : void a.current.addEventListener("focus", () => {
58
+ a.current?.select(), w(!1);
59
+ }, { once: !0 });
60
+ }, [W, i]);
61
+ const [ie, { width: Q }] = ae();
62
+ return t.jsx(re, { ref: J, title: F ?? (f ? "Find & Replace" : "Find"), initialPosition: { y: "35" }, autoFocusSel: ".input", onHide: I, onFocus: () => G(!0), onBlur: () => {
63
+ G(!1), P(!1);
64
+ }, PaperProps: { elevation: U ? 3 : 1 }, ...D, children: t.jsxs(ce, { dividers: !0, ref: ie, sx: { display: "flex", flexDirection: "column", paddingLeft: (e) => e.spacing(1.5), paddingRight: (e) => e.spacing(1.5) }, onKeyDown: (e) => {
65
+ if (e.key === "h" && e.ctrlKey) A(!0), a.current?.contains(document.activeElement) && u.current?.focus();
66
+ else if (e.key === "f" && e.ctrlKey) a.current?.focus();
67
+ else if (e.key === "c" && e.altKey) r((n) => {
68
+ const s = { ...n };
69
+ return s.findOptions.matchCase = !n.findOptions.matchCase, s;
70
+ });
71
+ else if (e.key === "e" && e.altKey) r((n) => {
72
+ const s = { ...n };
73
+ return s.findOptions.matchEntireCell = !n.findOptions.matchEntireCell, s;
74
+ });
75
+ else {
76
+ if (e.key !== "r" || !e.altKey) return;
77
+ r((n) => {
78
+ const s = { ...n };
79
+ return s.findOptions.useRegex = !n.findOptions.useRegex, s;
80
+ });
81
+ }
82
+ e.preventDefault();
83
+ }, children: [t.jsxs(O, { sx: { display: "flex", flexDirection: "row", gap: (e) => e.spacing(1) }, children: [t.jsxs(O, { sx: { display: "flex", flexDirection: "row", alignItems: "start", gap: (e) => e.spacing(0.25), paddingTop: "3px" }, children: [t.jsx(g, { selected: L, onSelectToggle: (e) => {
84
+ se(e);
85
+ }, preventFocus: !0, label: "Toggle Additional Options", icon: m(t.jsx(pe, {})) }), t.jsx(g, { selected: f, onSelectToggle: (e) => {
86
+ A(e);
87
+ }, preventFocus: !0, label: "Toggle Replace", icon: m(t.jsx(de, {})), shortcut: { key: f ? "F" : "H", modifiers: [j.Ctrl] } })] }), t.jsxs(O, { sx: { display: "flex", flexDirection: "column", maxWidth: "100%", boxSizing: "border-box" }, children: [t.jsxs(O, { sx: { display: "flex", flexDirection: "row", alignItems: "center" }, children: [t.jsx(X, { label: "Find", InputLabelProps: { shrink: !0 }, InputProps: { sx: { paddingRight: (e) => e.spacing(1), minWidth: Q > 460 ? "20em" : void 0, backgroundImage: `linear-gradient(${R("#fff", v(5))}, ${R("#fff", v(5))})` }, inputProps: { draggable: !1, ref: a, className: "input", autoFocus: !0, spellCheck: !1, autoComplete: "off", sx: { paddingTop: (e) => e.spacing(1.25), paddingBottom: (e) => e.spacing(0.75) } }, endAdornment: t.jsx(ue, { sx: { transform: "scale(0.75) translateX(16px)" }, position: "end", children: t.jsxs(O, { sx: { display: "flex", alignItems: "center", flexDirection: "row", gap: "1px" }, children: [t.jsx(g, { selected: i.findOptions.matchCase, onSelectToggle: (e) => {
88
+ r((n) => {
89
+ const s = { ...n };
90
+ return s.findOptions.matchCase = e, s;
91
+ });
92
+ }, label: "Match Case", shortcut: { key: "C", modifiers: [j.Alt] }, icon: m(t.jsx(fe, {})) }), t.jsx(g, { selected: i.findOptions.matchEntireCell, onSelectToggle: (e) => {
93
+ r((n) => {
94
+ const s = { ...n };
95
+ return s.findOptions.matchEntireCell = e, s;
96
+ });
97
+ }, label: "Match Entire Cell", shortcut: { key: "E", modifiers: [j.Alt] }, icon: m(t.jsx(xe, {})) }), t.jsx(g, { selected: i.findOptions.useRegex, onSelectToggle: (e) => {
98
+ r((n) => {
99
+ const s = { ...n };
100
+ return s.findOptions.useRegex = e, s;
101
+ });
102
+ }, label: "Use Regular Expression", shortcut: { key: "R", modifiers: [j.Alt] }, icon: m(t.jsx(ge, {})) })] }) }) }, sx: { flex: "1 1 100%", marginRight: (e) => e.spacing(1), "& .MuiOutlinedInput-notchedOutline": { borderColor: (e) => N ? `${e.palette.error.main} !important` : void 0 }, "& .MuiInputLabel-outlined": { color: (e) => N ? `${e.palette.error.main} !important` : void 0 } }, value: i.findText ?? "", onChange: (e) => {
103
+ r((n) => {
104
+ const s = { ...n };
105
+ return s.findText = e.target.value, s;
106
+ });
107
+ }, onKeyDown: (e) => q(e, !1), onContextMenu: (e) => {
108
+ e.stopPropagation();
109
+ } }), t.jsx(g, { selected: i.findOptions.reverse, onSelectToggle: (e) => {
110
+ k(!1, !1);
111
+ }, touchRippleRef: M, label: "", shortcut: { key: "Enter", modifiers: [j.Shift] }, icon: m(i.findOptions.orientation !== b.Orientation.Column ? t.jsx(Re, {}) : t.jsx(ke, {})), disabled: !i.findText }), t.jsx(g, { selected: !i.findOptions.reverse, onSelectToggle: (e) => {
112
+ k(!0, !1);
113
+ }, touchRippleRef: $, label: "Next Match", shortcut: { key: "Enter" }, icon: m(i.findOptions.orientation !== b.Orientation.Column ? t.jsx(Te, {}) : t.jsx(ve, {})), disabled: !i.findText })] }), t.jsx(_, { in: f, timeout: Z, onExit: () => {
114
+ a.current?.focus();
115
+ }, children: t.jsxs(O, { sx: { display: "flex", flexDirection: "row", alignItems: "center", marginTop: (e) => e.spacing(2) }, children: [t.jsx(X, { label: "Replace", InputLabelProps: { shrink: !0 }, InputProps: { sx: { paddingRight: (e) => e.spacing(1), backgroundImage: `linear-gradient(${R("#fff", v(5))}, ${R("#fff", v(5))})` }, inputProps: { ref: u, className: "input", spellCheck: !1, autoComplete: "off", sx: { paddingTop: (e) => e.spacing(1.25), paddingBottom: (e) => e.spacing(0.75) } } }, sx: { flex: "1 1 100%", marginRight: (e) => e.spacing(1) }, value: i.replaceText ?? "", onChange: (e) => {
116
+ r((n) => {
117
+ const s = { ...n };
118
+ return s.replaceText = e.target.value, s;
119
+ });
120
+ }, onKeyDown: (e) => q(e, !0), onContextMenu: (e) => {
121
+ e.stopPropagation();
122
+ } }), t.jsx(g, { onSelectToggle: (e) => {
123
+ k(!0, !0);
124
+ }, touchRippleRef: z, label: "Replace", shortcut: { key: "Enter" }, icon: m(t.jsx(me, {})), disabled: !i.findText }), t.jsx(g, { onSelectToggle: (e) => {
125
+ k(!0, !0, !0);
126
+ }, touchRippleRef: B, label: "Replace All", shortcut: { key: "Enter", modifiers: [j.Ctrl, j.Alt] }, icon: m(t.jsx(he, {})), disabled: !i.findText })] }) })] })] }), t.jsx(_, { in: L, timeout: Z, onExit: () => {
127
+ a.current?.focus();
128
+ }, children: t.jsxs(O, { sx: { minHeight: "10px", flex: "1 1 100%", display: "flex", flexDirection: "column", gap: (e) => e.spacing(0.5), marginTop: (e) => e.spacing(1) }, children: [t.jsx(Oe, { orientation: "horizontal", sx: { marginBottom: (e) => e.spacing(1.5) } }), t.jsxs(O, { sx: { display: "flex", flexDirection: Q >= 413 ? "row" : "column", justifyContent: "space-evenly", alignItems: "center", rowGap: (e) => e.spacing(2) }, tabIndex: -1, children: [t.jsx(K, { label: "Within", value: i.scope, options: Y, onSelect: (e) => {
129
+ r((n) => {
130
+ const s = { ...n };
131
+ return s.scope = e, s;
132
+ });
133
+ } }), t.jsx(K, { label: "Search", value: i.findOptions.orientation !== b.Orientation.Column, options: Se, onSelect: (e) => {
134
+ r((n) => {
135
+ const s = { ...n };
136
+ return s.findOptions.orientation = e ? b.Orientation.Row : b.Orientation.Column, s;
137
+ });
138
+ } }), t.jsx(K, { label: "Look in", value: f && i.findOptions.fields?.[0] === p.Content.Values ? p.Content.Formulas : i.findOptions.fields?.[0], options: f ? te : ne, onSelect: (e) => {
139
+ r((n) => {
140
+ const s = { ...n };
141
+ return s.findOptions.fields = [e], s;
142
+ });
143
+ } })] })] }) })] }) });
144
+ });
145
+ export {
146
+ Ie as FindReplaceWindow,
147
+ Y as ScopeOptions,
148
+ Ie as default
149
+ };
package/cdn/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.4.20
2
+ * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.4.22
3
3
  *
4
4
  * (C) 2025-present SheetXL Inc. & Michael T. Ford
5
5
  * License: The license can be found at https://www.sheetxl.com/license.
@@ -114,7 +114,7 @@ const S = /* @__PURE__ */ new Map(), k = (e, o = {}) => {
114
114
  let d;
115
115
  const C = async (e) => {
116
116
  if (d) return d;
117
- const { resolveDependencies: o } = await import("./assets/EN4PLLABu5llaV3T.js"), s = await o(typeof e == "object" ? e?.dependencies : void 0);
117
+ const { resolveDependencies: o } = await import("./assets/BWHiFslK55rPiaTT.js"), s = await o(typeof e == "object" ? e?.dependencies : void 0);
118
118
  return d = await (async (a, n) => {
119
119
  typeof n == "string" && (n = { selector: n });
120
120
  try {
package/cdn/loader.js CHANGED
@@ -1,5 +1,5 @@
1
1
  (function(e){typeof define=="function"&&define.amd?define(e):e()})(function(){"use strict";/**
2
- * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.4.20
2
+ * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.4.22
3
3
  *
4
4
  * (C) 2025-present SheetXL Inc. & Michael T. Ford
5
5
  * License: The license can be found at https://www.sheetxl.com/license.
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@sheetxl/studio-vanilla",
3
3
  "description": "SheetXL Studio - Vanilla entry point for integrating SheetXL UI.",
4
- "version": "0.4.20",
4
+ "version": "0.4.22",
5
5
  "license": "SEE LICENSE IN <LICENSE>",
6
6
  "type": "module",
7
7
  "main": "./browser/esm/index.mjs",
@@ -41,8 +41,8 @@
41
41
  "@mui/styled-engine": "^6.5.0",
42
42
  "@mui/system": "^6.5.0",
43
43
  "@mui/utils": "^6.4.9",
44
- "@sheetxl/studio-mui": "^0.4.20",
45
- "@sheetxl/sdk": "^0.4.20",
44
+ "@sheetxl/studio-mui": "^0.4.22",
45
+ "@sheetxl/sdk": "^0.4.22",
46
46
  "react": "^19.1.0",
47
47
  "react-dom": "^19.1.0",
48
48
  "csstype": "^3.1.3",