@sheetxl/studio-vanilla 0.4.14 → 0.4.15

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 (206) hide show
  1. package/browser/cjs/{D6uIvR-6Y690_Em2.cjs → 0wJgZUT7DgId9Xtu.cjs} +3 -3
  2. package/browser/cjs/{D4NcrJlqcLExwCNT.cjs → 3oobHi8j_DGW35rC.cjs} +14 -14
  3. package/browser/cjs/6DwFSFOve5d5Kh4O.cjs +6 -0
  4. package/browser/cjs/{mBk4Z4LZ65b3f58_.cjs → ArJueN3Q9EFBG6tK.cjs} +2 -2
  5. package/browser/cjs/{CWW_yQpIswo7DEAT.cjs → BFZbsyTO3uhLJbLO.cjs} +1 -1
  6. package/browser/cjs/{BlwK-VslgEVH2cgX.cjs → BG0zKZBHarIk0gKB.cjs} +1 -1
  7. package/browser/cjs/{BH3MYcOF7rxLX3Bk.cjs → BH_qrKPpuqL9YxGP.cjs} +1 -1
  8. package/browser/cjs/{Bm9fNNMIOLIwq-94.cjs → BJu8UGaYuFmjvmwl.cjs} +1 -1
  9. package/browser/cjs/{D_7RtbQABH1zdcjr.cjs → BKIvZi8Z5lHc2S32.cjs} +1 -1
  10. package/browser/cjs/{CTuM_aZX8wZICUe_.cjs → BSJTx60VBwf450vd.cjs} +1 -1
  11. package/browser/cjs/{10IK8MFijJb-yvV6.cjs → BUWv6Ysw6pYG7w7W.cjs} +3 -3
  12. package/browser/cjs/{Dv8SE05ABKNLPY6A.cjs → BVHaNjM0-FXL7gyh.cjs} +1 -1
  13. package/browser/cjs/{DtpB0PMEtamaB-Hv.cjs → BcHEeTMPgurSZ2Kh.cjs} +1 -1
  14. package/browser/cjs/{D_Q0s9KLnWHwKxTK.cjs → BdnGDChdub9m1gbK.cjs} +1 -1
  15. package/browser/cjs/{CJZtyunL_qaXFylY.cjs → Bf0HoYuEDFO9Gwdv.cjs} +6 -6
  16. package/browser/cjs/{DWzQm8Q32qNP7qKL.cjs → BgHBftj6ugXjpyaF.cjs} +1 -1
  17. package/browser/cjs/{C0ySf2emOB0Mslc-.cjs → BgsgGbpzcl7wg2IO.cjs} +1 -1
  18. package/browser/cjs/{BzT1y15V6Zs7c_zX.cjs → BsCdHkza2KUgNs3F.cjs} +1 -1
  19. package/browser/cjs/{Cuq8Nim-ol5Gdehe.cjs → BzRfETjQwEEJfpgZ.cjs} +1 -1
  20. package/browser/cjs/{eZGLUWbfY3JdZRM5.cjs → BzhfyRZdk-oiyEa3.cjs} +1 -1
  21. package/browser/cjs/{DdTcwutSPJMeCIv3.cjs → C8BQmea-gRcTEaYH.cjs} +2 -2
  22. package/browser/cjs/{CpRfx14is2_4Wgp3.cjs → CA0OjW0AOuGEjxZ2.cjs} +2 -2
  23. package/browser/cjs/{DPbzY4ppgKPrdbWc.cjs → CRe-vd2WZQabNDDS.cjs} +1 -1
  24. package/browser/cjs/{DlnKrZRyxBfbqaTi.cjs → CRe8klqBNVDkSDEr.cjs} +2 -2
  25. package/browser/cjs/{CE5U7gB5L-PE17gV.cjs → CXn4J7ISlTV_SfvZ.cjs} +2 -2
  26. package/browser/cjs/{yBSdtSSuNERefFhR.cjs → Ck8K0c7E5RT8WMbO.cjs} +2 -2
  27. package/browser/cjs/{CHd9vauNLHnOLflj.cjs → ClXfvzbTzK5w-Tv9.cjs} +1 -1
  28. package/browser/cjs/{BtiY-n4sGy6WaqNg.cjs → CnDLmICwEpdeYECg.cjs} +4 -4
  29. package/browser/cjs/{DFNisISrsMnZrV4B.cjs → CqILFqDohV7CdFQ1.cjs} +1 -1
  30. package/browser/cjs/{sMBG5eQ3-iacLXUm.cjs → CqugZolY4J8viegd.cjs} +2 -2
  31. package/browser/cjs/{tShlMZrIxsGZSeHX.cjs → CrnvoFSZfgmBlK86.cjs} +4 -4
  32. package/browser/cjs/{AnJTeEGq7VP4T1b7.cjs → Ct0fgg-1dB-T7u7T.cjs} +2 -2
  33. package/browser/cjs/{bS_BOH9cvVCFy36v.cjs → CtLA5mrQxGamDt92.cjs} +1 -1
  34. package/browser/cjs/{D4vbOk4hD8-b-c10.cjs → D4582BA0aCqJ_PrJ.cjs} +1 -1
  35. package/browser/cjs/{C_mbaid3FQ52usBI.cjs → D74hXHJrfnGhbNBg.cjs} +2 -2
  36. package/browser/cjs/{DCd5OZXj2IRbxEF2.cjs → DAGEOiTL4sCagK3p.cjs} +1 -1
  37. package/browser/cjs/DAxpZHSeQ9vUP1m6.cjs +14 -0
  38. package/browser/cjs/{DAbScbuk-sjZXMIC.cjs → DDbNLc2mUv7Q6msK.cjs} +1 -1
  39. package/browser/cjs/{CpIIsygD5mnJyl47.cjs → DWh6QtlFsPfZ3Asz.cjs} +4 -4
  40. package/browser/cjs/{CNcsGELwCAV-A5oH.cjs → DY1iEDz8BWZpqFOo.cjs} +2 -2
  41. package/browser/cjs/{DxBLU16_E62Umowp.cjs → D_RVszeEK0DfF-EN.cjs} +1 -1
  42. package/browser/cjs/Dg9yKaBrYK9w4cQO.cjs +19 -0
  43. package/browser/cjs/{BxgDhdrrKrJMEaXd.cjs → DgFtbCf8dkncAq_r.cjs} +1 -1
  44. package/browser/cjs/{Cj_1qUo5cZ3FnOpK.cjs → DotFGD_QKvqoQlAL.cjs} +2 -2
  45. package/browser/cjs/{Cl0XSnWVDoaHTIlF.cjs → DrRRwzZUlGvA6cQT.cjs} +1 -1
  46. package/browser/cjs/{CnLdhURNkVXo_0Eg.cjs → DtQ-sP4vg1IpzFkc.cjs} +1 -1
  47. package/browser/cjs/{BU5k1OZewc-Z-kR9.cjs → EIY0bt22HqBjrvRt.cjs} +2 -2
  48. package/browser/cjs/TAIJH4y6CbXhFnhx.cjs +364 -0
  49. package/browser/cjs/{DL4HgriZ3TY2K-QP.cjs → YTXgMiobveLIPF9T.cjs} +1 -1
  50. package/browser/cjs/{xDqIifM_--oXscCV.cjs → _OSzgfBNK1m22Jek.cjs} +2 -2
  51. package/browser/cjs/{CYLnJHryQcQO4XoG.cjs → fjQ9vPUSGRU1VSoH.cjs} +1 -1
  52. package/browser/cjs/{rIOsSIPwxoXlIawS.cjs → gI7uI_k_jVDAtJup.cjs} +1 -1
  53. package/browser/cjs/index.cjs +2 -2
  54. package/browser/cjs/{VU_KaqGTjvnisS9e.cjs → mW3Ya0GEjpmsa_YK.cjs} +1 -1
  55. package/browser/cjs/{D5YUIQeOcujtq6XS.cjs → qB-lxZgY2Iz9Bc6T.cjs} +3 -3
  56. package/browser/cjs/{DIYOARVcGtRjKpjZ.cjs → sXSha5rBK3lo_tOD.cjs} +1 -1
  57. package/browser/cjs/{DBNXGIWfZmgb_sHL.cjs → uryrVY1PPsKlOzso.cjs} +2 -2
  58. package/browser/cjs/{dbUUj8LyIitsdYpk.cjs → vce4VfmWFd9ClUSo.cjs} +1 -1
  59. package/{cdn/assets/Dft4BSeY0bp0A6z0.js → browser/esm/5RdhqzgwkuR2ox0E.mjs} +1 -1
  60. package/{cdn/assets/BHy77Km4i4t5U7ka.js → browser/esm/B9vAqNVLp_vCTrP_.mjs} +1 -1
  61. package/browser/esm/{wxvli1IH1NkfqE6-.mjs → BFYBuTXa6xa5ZjBo.mjs} +1 -1
  62. package/{cdn/assets/CcARDY0PFSWkqsG9.js → browser/esm/BNuTKa0cEC3F4rTF.mjs} +1 -1
  63. package/{cdn/assets/B_pEA9HeXKvEOCdS.js → browser/esm/BPDWQKVFxO_3IqZX.mjs} +1 -1
  64. package/{cdn/assets/BIUVt79NHXdZx2Dz.js → browser/esm/BUAQRxezxaeHUbwe.mjs} +1 -1
  65. package/browser/esm/{uuCmCmYQQXgwyRSd.mjs → BXhoPHXmFqGJhEOT.mjs} +1 -1
  66. package/browser/esm/{Crza3kRJdEVylOfk.mjs → B_JJ8lAbaPdlt8l4.mjs} +2 -2
  67. package/browser/esm/{Pkb6GWdyZdze_XAw.mjs → B_YrH7VnXiUkYu8u.mjs} +2 -2
  68. package/browser/esm/Beqd_eZheAqcy9eR.mjs +49911 -0
  69. package/{cdn/assets/BZxAttR2mi9td3k1.js → browser/esm/Bh6dC8KTHWpKMi09.mjs} +1 -1
  70. package/browser/esm/{C28AZ0Rwo79iGg0v.mjs → BmkIbFYjQZnaZGzF.mjs} +1 -1
  71. package/browser/esm/{BvYUsRgBXLSuaQ-S.mjs → Bp2dkgUm5zsuNnPH.mjs} +1 -1
  72. package/browser/esm/{w3TGaFTjdsc4XTcz.mjs → Bpujg7eS-yYzfXnQ.mjs} +6 -6
  73. package/{cdn/assets/B8TNpfJ8ymQcPriE.js → browser/esm/BqmualWSYd-czqNW.mjs} +1 -1
  74. package/browser/esm/{aLv-xujBO4X6ilhV.mjs → Bt1LjWrzTz3VQP5i.mjs} +1 -1
  75. package/{cdn/assets/DVRMAeHUj0-TY-vK.js → browser/esm/BwEUAuMX1MAp6TLB.mjs} +1 -1
  76. package/browser/esm/{BP6hA-zc0dMuMOIA.mjs → BxForeOFuQExxhBo.mjs} +2 -2
  77. package/browser/esm/{DAscSzG63-mM5p50.mjs → C0KLnjyGhfqKP-3J.mjs} +11 -11
  78. package/{cdn/assets/BzE-61bmpRQzEVPt.js → browser/esm/C2DVh9PCXymQ6Bku.mjs} +1 -1
  79. package/browser/esm/{4eRu4yzXkvCBip8J.mjs → C5Vhk6RekNjP_kzl.mjs} +1 -1
  80. package/browser/esm/{BBDu-GNDE7ZA-1sJ.mjs → CMgjnCC7huqsMZ7l.mjs} +17 -17
  81. package/{cdn/assets/BF5nlSYZ38RJ0dPX.js → browser/esm/CQMGhCDKbq2op_BI.mjs} +1 -1
  82. package/browser/esm/{wV8riZWKJE7AoKQk.mjs → CQoo-4sVCrOfP9iU.mjs} +1 -1
  83. package/browser/esm/{CeF0ZRfeSy83i80_.mjs → CSSayGD6fTeehKt_.mjs} +4 -4
  84. package/browser/esm/CTEiaS8NJUMozWzX.mjs +6800 -0
  85. package/browser/esm/{CITPwlsNzJvv551I.mjs → CWSZwGuenxmHgLXd.mjs} +1 -1
  86. package/browser/esm/{BUqd1uVUNoWmepd2.mjs → Cb1Q2phpEESgs7mi.mjs} +53 -54
  87. package/browser/esm/CeDuz_yZT4XG-Pv8.mjs +47 -0
  88. package/browser/esm/CfMo1fAExeFOibAQ.mjs +39 -0
  89. package/browser/esm/{CJiHNujoVUdO_G7X.mjs → ClLJBQr4mG8VGyC3.mjs} +12 -12
  90. package/browser/esm/{BPen6C7JE2sWVgdi.mjs → CnwSRSKNfq2GyXas.mjs} +1 -1
  91. package/{cdn/assets/73gcCsbqgbW3KIoA.js → browser/esm/CqRDFmwJualsG-hJ.mjs} +1 -1
  92. package/browser/esm/{jkSJc6Omxbf-rPQY.mjs → CslDdQ92RlF9XCcF.mjs} +1 -1
  93. package/{cdn/assets/Cmtx4dAVZrwq5cVO.js → browser/esm/CvTxaj5stKRFGegY.mjs} +1 -1
  94. package/{cdn/assets/DwRHGEuscm3FvnkM.js → browser/esm/D14VyfRK6-WOMJJO.mjs} +1 -1
  95. package/browser/esm/{QZikWr_NQfcFWCBV.mjs → D9ftd36uosOvK1Bz.mjs} +10 -10
  96. package/browser/esm/{BXABqQEa6kQQcjmt.mjs → DAM-CuXQIzcQS8y2.mjs} +2 -2
  97. package/browser/esm/{DCyJNVtrh6kEt73Q.mjs → DQiTAq0r1q5Z_7H6.mjs} +7 -7
  98. package/browser/esm/{D4G17ip9xxOX5jDd.mjs → DRoKqCpNKKdYKqZ3.mjs} +669 -666
  99. package/{cdn/assets/B7Ky6m4VWP8vxhPt.js → browser/esm/DSBeC26EhsTkKu9_.mjs} +7 -7
  100. package/{cdn/assets/DXIWAG-DUKHzNlRl.js → browser/esm/DT0kcrmyi0GrASFM.mjs} +1 -1
  101. package/browser/esm/{D9eVsUckA6bWBHni.mjs → DVAgkqy1aZdEMIzM.mjs} +1 -1
  102. package/browser/esm/{D3L89e08b7ewR6mt.mjs → DVqoG8OFm93ndK8u.mjs} +8 -8
  103. package/browser/esm/DdcqO--nszyX8nqj.mjs +20 -0
  104. package/browser/esm/{DHPHhaCxihdR9Hl6.mjs → DmSh4h3LBSgZNzzF.mjs} +1 -1
  105. package/{cdn/assets/B4ji-HZTY0uvH8r7.js → browser/esm/Do7w66ZbyFAW-Kvo.mjs} +1 -1
  106. package/browser/esm/{BfFDvyaRcdKS0wPD.mjs → DrVjmz0t2Y2eHDvu.mjs} +1 -1
  107. package/browser/esm/{DQLk_UmdpJBt-zZi.mjs → Dre4qd4kiDqAnEpH.mjs} +198 -198
  108. package/browser/esm/{BdFNxdtES-3_yQ9R.mjs → DxOr3qEZVibn2HK7.mjs} +1 -1
  109. package/{cdn/assets/CN73n4VDayKh_l1J.js → browser/esm/IWZ_bebXCJeQz19V.mjs} +1 -1
  110. package/browser/esm/{CHjb5a2xwEWs4RgS.mjs → YEeWnRTVhFsSnEoO.mjs} +133 -134
  111. package/browser/esm/{DgO85Q5iHe-ZmvtQ.mjs → ZciEgxXQYsHyV2gO.mjs} +1 -1
  112. package/browser/esm/{DFwxjsVr4xKLPTGf.mjs → azuJCFiVoU4Ebb9P.mjs} +2 -2
  113. package/browser/esm/{C5GgK_mW25DZYw-I.mjs → iXnpVI-bOFX7L6z-.mjs} +2 -2
  114. package/browser/esm/index.mjs +3 -3
  115. package/browser/esm/{DR7oVoNSe0FFWHOr.mjs → n6RMMH6ZZaYET-uv.mjs} +21 -21
  116. package/browser/esm/{HyTvrvH0vItPFnFG.mjs → u8MA5qQcSH-VSLrB.mjs} +4 -4
  117. package/{browser/esm/Dft4BSeY0bp0A6z0.mjs → cdn/assets/5RdhqzgwkuR2ox0E.js} +1 -1
  118. package/{browser/esm/BHy77Km4i4t5U7ka.mjs → cdn/assets/B9vAqNVLp_vCTrP_.js} +1 -1
  119. package/cdn/assets/{DzyNujjbHLXo9UmH.js → BAARsakyOFrwNKVu.js} +6 -6
  120. package/cdn/assets/{C3W0xsNrt-Was9g-.js → BCMTnGKJGZCOn8RP.js} +2 -2
  121. package/cdn/assets/{wxvli1IH1NkfqE6-.js → BFYBuTXa6xa5ZjBo.js} +1 -1
  122. package/{browser/esm/CcARDY0PFSWkqsG9.mjs → cdn/assets/BNuTKa0cEC3F4rTF.js} +1 -1
  123. package/{browser/esm/B_pEA9HeXKvEOCdS.mjs → cdn/assets/BPDWQKVFxO_3IqZX.js} +1 -1
  124. package/{browser/esm/BIUVt79NHXdZx2Dz.mjs → cdn/assets/BUAQRxezxaeHUbwe.js} +1 -1
  125. package/cdn/assets/{uuCmCmYQQXgwyRSd.js → BXhoPHXmFqGJhEOT.js} +1 -1
  126. package/{browser/esm/BZxAttR2mi9td3k1.mjs → cdn/assets/Bh6dC8KTHWpKMi09.js} +1 -1
  127. package/cdn/assets/{C28AZ0Rwo79iGg0v.js → BmkIbFYjQZnaZGzF.js} +1 -1
  128. package/cdn/assets/{BvYUsRgBXLSuaQ-S.js → Bp2dkgUm5zsuNnPH.js} +1 -1
  129. package/{browser/esm/B8TNpfJ8ymQcPriE.mjs → cdn/assets/BqmualWSYd-czqNW.js} +1 -1
  130. package/cdn/assets/{DZNoPrlxULASVlOi.js → BsNGXIjB2gB75oDq.js} +11 -11
  131. package/cdn/assets/{aLv-xujBO4X6ilhV.js → Bt1LjWrzTz3VQP5i.js} +1 -1
  132. package/{browser/esm/DVRMAeHUj0-TY-vK.mjs → cdn/assets/BwEUAuMX1MAp6TLB.js} +1 -1
  133. package/cdn/assets/{CWkF-50YF43t7qge.js → ByGApkjEdqWJCmIL.js} +4 -4
  134. package/{browser/esm/BzE-61bmpRQzEVPt.mjs → cdn/assets/C2DVh9PCXymQ6Bku.js} +1 -1
  135. package/cdn/assets/C4PvQzHOWYFQIrTT.js +22 -0
  136. package/cdn/assets/{4eRu4yzXkvCBip8J.js → C5Vhk6RekNjP_kzl.js} +1 -1
  137. package/cdn/assets/{Cdx6LrqtHZKbwl63.js → C82_3AL3p2OPqUES.js} +2 -2
  138. package/cdn/assets/{BEfetwH6zTr6B51I.js → C8ZVHIXuFCsMz4su.js} +844 -843
  139. package/cdn/assets/CP0YRrUyk_DwRGye.js +46 -0
  140. package/{browser/esm/BF5nlSYZ38RJ0dPX.mjs → cdn/assets/CQMGhCDKbq2op_BI.js} +1 -1
  141. package/cdn/assets/CQ_eXYB8jRiWFzL8.js +149 -0
  142. package/cdn/assets/{wV8riZWKJE7AoKQk.js → CQoo-4sVCrOfP9iU.js} +1 -1
  143. package/cdn/assets/{DEOxG6u6itV8bGym.js → CVtFEjbMohoQQwVa.js} +849 -849
  144. package/cdn/assets/{CITPwlsNzJvv551I.js → CWSZwGuenxmHgLXd.js} +1 -1
  145. package/cdn/assets/{DnWjhq4ZlgIuFcii.js → ChzKnwtP8tCXlyQC.js} +5 -5
  146. package/cdn/assets/ClwsvKMIARY6eKe8.js +43 -0
  147. package/cdn/assets/{BPen6C7JE2sWVgdi.js → CnwSRSKNfq2GyXas.js} +1 -1
  148. package/{browser/esm/73gcCsbqgbW3KIoA.mjs → cdn/assets/CqRDFmwJualsG-hJ.js} +1 -1
  149. package/cdn/assets/{B3TPDOzYf_VRBIr6.js → CsV6TK9KYwaT40Nd.js} +420 -420
  150. package/cdn/assets/{jkSJc6Omxbf-rPQY.js → CslDdQ92RlF9XCcF.js} +1 -1
  151. package/{browser/esm/Cmtx4dAVZrwq5cVO.mjs → cdn/assets/CvTxaj5stKRFGegY.js} +1 -1
  152. package/cdn/assets/{0fI22OQK5IczUH6s.js → CxPN10OK3cql47vK.js} +2 -2
  153. package/{browser/esm/DwRHGEuscm3FvnkM.mjs → cdn/assets/D14VyfRK6-WOMJJO.js} +1 -1
  154. package/cdn/assets/D3wy0hvPKjYlTqDZ.js +390 -0
  155. package/cdn/assets/{C8rQWD8C7ccUHNZL.js → D4UoNdvz3kZD9Fg7.js} +710 -707
  156. package/{browser/esm/c9fba0RuWGogsH0X.mjs → cdn/assets/D8Eij5qtEH8tI7eL.js} +3 -3
  157. package/cdn/assets/DPpga_z_sz7WeoGk.js +49739 -0
  158. package/{browser/esm/DXIWAG-DUKHzNlRl.mjs → cdn/assets/DT0kcrmyi0GrASFM.js} +1 -1
  159. package/cdn/assets/{DBpku3D2DSTmW4II.js → DTlKjG3w2RgTejVm.js} +2 -2
  160. package/cdn/assets/{D9eVsUckA6bWBHni.js → DVAgkqy1aZdEMIzM.js} +1 -1
  161. package/cdn/assets/{DHPHhaCxihdR9Hl6.js → DmSh4h3LBSgZNzzF.js} +1 -1
  162. package/cdn/assets/DmTmS8Vw_AvNiuzU.js +50 -0
  163. package/{browser/esm/B4ji-HZTY0uvH8r7.mjs → cdn/assets/Do7w66ZbyFAW-Kvo.js} +1 -1
  164. package/cdn/assets/DoiUKE9bzdCohsIn.js +58 -0
  165. package/cdn/assets/{ChB-XZno7w9v221u.js → DrKm9mDEvFK0tW1J.js} +4 -4
  166. package/cdn/assets/{BfFDvyaRcdKS0wPD.js → DrVjmz0t2Y2eHDvu.js} +1 -1
  167. package/cdn/assets/{BdFNxdtES-3_yQ9R.js → DxOr3qEZVibn2HK7.js} +1 -1
  168. package/{browser/esm/CN73n4VDayKh_l1J.mjs → cdn/assets/IWZ_bebXCJeQz19V.js} +1 -1
  169. package/cdn/assets/NPHYIK_SYI8TgWVt.js +23 -0
  170. package/cdn/assets/{DgO85Q5iHe-ZmvtQ.js → ZciEgxXQYsHyV2gO.js} +1 -1
  171. package/cdn/assets/bGhAFgohHm88dsqJ.js +41 -0
  172. package/cdn/assets/{Zi3E5Kzxw2FPtLVL.js → clveP5QdWgiuzHNH.js} +2 -2
  173. package/cdn/assets/sMpbLhp97YEbNwUD.js +49 -0
  174. package/cdn/index.js +73 -73
  175. package/cdn/loader.js +1 -1
  176. package/package.json +3 -3
  177. package/browser/cjs/1bCMnueqxHW3rn0c.cjs +0 -6
  178. package/browser/cjs/BQ4QeJYaIhLaInyR.cjs +0 -6
  179. package/browser/cjs/CJoJ19i1z94kndlS.cjs +0 -19
  180. package/browser/cjs/CXIHULOe7x4DYKXw.cjs +0 -12
  181. package/browser/cjs/DQGdVVTxixgptLdj.cjs +0 -366
  182. package/browser/esm/B383N9irNfyfYC2l.mjs +0 -20
  183. package/browser/esm/BbW_1O3cEhZ4aSgS.mjs +0 -55785
  184. package/browser/esm/Bqqcb80cNalBs-sB.mjs +0 -939
  185. package/browser/esm/BrEcIDq0-c5AiQEf.mjs +0 -21
  186. package/browser/esm/DKbJ-iVPuUbr3iZ_.mjs +0 -47
  187. package/browser/esm/DbZJQpjZJIcz2ypV.mjs +0 -39
  188. package/cdn/assets/5HYy7pIZxQRDUQl-.js +0 -50
  189. package/cdn/assets/6oc_f4xkoSmftsRd.js +0 -22
  190. package/cdn/assets/B4HW_cy7gbE01jar.js +0 -390
  191. package/cdn/assets/BS1p7DgoyO-WkvB8.js +0 -41
  192. package/cdn/assets/BiKaXKU3o287mgkN.js +0 -12
  193. package/cdn/assets/C0yI-QYraFhnJUdD.js +0 -49
  194. package/cdn/assets/C3FTuqvfGalOVHql.js +0 -43
  195. package/cdn/assets/CaKPs_ILqLIWfUUN.js +0 -23
  196. package/cdn/assets/CkY7wM_4OGwZvJ4f.js +0 -942
  197. package/cdn/assets/CrBywNOOyPHSBoTT.js +0 -27
  198. package/cdn/assets/DMWARnjq06oQnfrL.js +0 -58
  199. package/cdn/assets/DRa6yXWuTlAjuaKT.js +0 -90
  200. package/cdn/assets/DYowHOSLHcADsXuK.js +0 -27
  201. package/cdn/assets/DaUJajqmQYuM0Gew.js +0 -150
  202. package/cdn/assets/DcdQwhlGoI1knRUy.js +0 -46
  203. package/cdn/assets/Dm0hrXCbV7DITOhi.js +0 -36
  204. package/cdn/assets/EYTSqAG9YOdb1vKx.js +0 -48823
  205. package/cdn/assets/Ux2jUY_EwSsYBCov.js +0 -241
  206. package/cdn/assets/XoKiuP2ZFq0cNGkH.js +0 -6481
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.4.14
2
+ * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.4.15
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.
@@ -1,68 +1,67 @@
1
- import { _ as E, j as t, r as o, bg as p, f as y, a1 as M, bb as le, aj as ae, bh as re, bi as ce, B as b, bj as g, aF as m, bk as pe, aw as O, bl as de, T as J, d as R, bm as ue, bn as fe, bo as xe, bp as ge, be as T, bq as me, br as he, aI as be, bf as Oe, F as je, bc as Ce, bd as ye } from "./BbW_1O3cEhZ4aSgS.mjs";
2
- import { C as Q } from "./Bqqcb80cNalBs-sB.mjs";
1
+ import { aj as E, j as t, r as o, ak as p, d as b, af as M, L as ae, al as le, X as re, J as ce, B as O, am as g, an as m, ao as pe, ap as j, aq as de, T as Q, a as v, P as ue, ar as fe, as as xe, at as ge, U as R, au as Y, av as me, aw as he, ax as Oe, ai as je, F as Ce, ag as ye, ah as be } from "./Beqd_eZheAqcy9eR.mjs";
3
2
  /**
4
- * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.4.14
3
+ * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.4.15
5
4
  *
6
5
  * (C) 2025-present SheetXL Inc. & Michael T. Ford
7
6
  * License: The license can be found at https://www.sheetxl.com/license.
8
7
  */
9
- 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"), Te = E(t.jsx("path", { d: "m20 12-1.41-1.41L13 16.17V4h-2v12.17l-5.58-5.59L4 12l8 8z" }), "ArrowDownward"), ve = 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((v) => {
10
- const { label: h, value: c, options: l, onSelect: d, tabIndex: j = 0, ...F } = v, [I, C] = o.useState(() => ee(c, l));
8
+ const ve = E(t.jsx("path", { d: "M20 11H7.83l5.59-5.59L12 4l-8 8 8 8 1.41-1.41L7.83 13H20z" }), "ArrowBack"), Re = 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) => {
9
+ const { label: h, value: c, options: a, onSelect: d, tabIndex: C = 0, ...F } = T, [I, y] = o.useState(() => ee(c, a));
11
10
  o.useEffect(() => {
12
- C(ee(c, l));
13
- }, [c, l]);
11
+ y(ee(c, a));
12
+ }, [c, a]);
14
13
  const L = M((u) => {
15
- C(u.target.value), d?.(l[u.target.value]);
16
- }, [d, l]), a = o.useMemo(() => Object.keys(l).map((u) => t.jsx(Oe, { value: u, children: u }, u)), [l]);
17
- return t.jsxs(je, { sx: { minWidth: 135 }, size: "small", children: [t.jsx(Ce, { children: h }), t.jsx(ye, { inputProps: { tabIndex: j }, value: I, label: h, onChange: L, sx: { backgroundImage: `linear-gradient(${R("#fff", T(5))}, ${R("#fff", T(5))})` }, ...F, children: a })] });
18
- }), 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 };
14
+ y(u.target.value), d?.(a[u.target.value]);
15
+ }, [d, a]), l = o.useMemo(() => Object.keys(a).map((u) => t.jsx(je, { value: u, children: u }, u)), [a]);
16
+ 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: L, sx: { backgroundImage: `linear-gradient(${v("#fff", R(5))}, ${v("#fff", R(5))})` }, ...F, children: l })] });
17
+ }), Z = { Workbook: "workbook", Sheet: "sheet" }, _ = { enter: 140, exit: 140 }, ne = { Formulas: p.Content.Formulas, Values: p.Content.Values, Notes: p.Content.Notes, Comments: p.Content.Comments }, te = { ...ne };
19
18
  delete te.Values;
20
- const Se = { "By Rows": !0, "By Columns": !1 }, ee = (v, h) => {
19
+ const Se = { "By Rows": !0, "By Columns": !1 }, ee = (T, h) => {
21
20
  const c = Object.keys(h);
22
- for (let l = 0; l < c.length; l++) {
23
- const d = c[l];
24
- if (h[d] === v) return d;
21
+ for (let a = 0; a < c.length; a++) {
22
+ const d = c[a];
23
+ if (h[d] === T) return d;
25
24
  }
26
- }, Fe = o.memo((v) => {
27
- const { replace: h = !1, findText: c, replaceText: l, findOptions: d, replaceOptions: j, title: F, onHide: I, onFindOrReplace: C, ...L } = v, a = o.useRef(null), u = o.useRef(null), V = o.useRef(null), z = o.useRef(null), B = o.useRef(null), H = o.useRef(null), $ = (e, n) => {
25
+ }, Ee = o.memo((T) => {
26
+ const { replace: h = !1, findText: c, replaceText: a, findOptions: d, replaceOptions: C, title: F, onHide: I, onFindOrReplace: y, ...L } = T, l = o.useRef(null), u = o.useRef(null), V = o.useRef(null), z = o.useRef(null), B = o.useRef(null), H = o.useRef(null), $ = (e, n) => {
28
27
  n && (n.start(e, { center: !1 }), setTimeout(() => n.stop(e), 180));
29
- }, [W, w] = o.useState(!1), [D, se] = o.useState(!1), [f, P] = o.useState(h), [N, A] = o.useState(!1), [U, q] = o.useState(!1), [i, r] = o.useState({ findText: null, replaceText: null, replace: h, replaceOptions: {}, findOptions: { matchCase: !1, matchEntireCell: !1, useRegex: !1, orientation: y.Orientation.Row, fields: [p.Content.Formulas] }, scope: Y.Sheet }), k = M(async (e, n, s, S) => {
30
- if (!C) return;
28
+ }, [W, w] = o.useState(!1), [D, se] = o.useState(!1), [f, P] = o.useState(h), [N, A] = o.useState(!1), [U, X] = 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: Z.Sheet }), k = M(async (e, n, s, S) => {
29
+ if (!y) return;
31
30
  const x = { ...i };
32
31
  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;
33
- const oe = await C({ autoFocus: S, ...x });
32
+ const oe = await y({ autoFocus: S, ...x });
34
33
  A(oe === 0);
35
- }, [i, C]);
34
+ }, [i, y]);
36
35
  o.useEffect(() => {
37
36
  A(!1);
38
37
  }, [i, D, f]);
39
- const G = M((e, n) => {
40
- if (e.keyCode === le.Enter) {
38
+ const q = M((e, n) => {
39
+ if (e.keyCode === ae.Enter) {
41
40
  if (!i.findText) return;
42
41
  let s = !0, S = !1;
43
42
  e.shiftKey && (s = !1), n ? (e.ctrlKey && e.altKey && (S = !0), $(e, S ? H.current : B.current)) : $(e, s ? z.current : V.current), k(s, n, S, !1);
44
43
  }
45
- }, [i]), X = o.useRef(null);
44
+ }, [i]), G = o.useRef(null);
46
45
  o.useLayoutEffect(() => {
47
46
  r((e) => {
48
47
  const n = { ...e };
49
- 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 }), j && (n.replaceOptions = { ...n.replaceOptions, ...j }), i.findOptions.fields?.[0] || (i.findOptions.fields = [p.Content.Formulas]);
50
- const s = !(!j && l === void 0);
48
+ n.findText = c && c.length > 0 ? c : e.findText ?? "", w(!0), a !== void 0 && (n.replaceText = a), 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]);
49
+ const s = !(!C && a === void 0);
51
50
  return s && P(s), n;
52
- }), U || X.current?.focus();
53
- }, [c, l, d, j]), o.useEffect(() => {
51
+ }), U || G.current?.focus();
52
+ }, [c, a, d, C]), o.useEffect(() => {
54
53
  f ? (i.findOptions.fields[0], p.Content.Values) : w(!0);
55
54
  }, [f]), o.useEffect(() => {
56
- 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", () => {
57
- a.current?.select(), w(!1);
55
+ if (W && l.current && i.findText === l.current.value) return l.current === document.activeElement || l.current.contains(document.activeElement) ? (l.current?.select(), void w(!1)) : void l.current.addEventListener("focus", () => {
56
+ l.current?.select(), w(!1);
58
57
  }, { once: !0 });
59
58
  }, [W, i]);
60
- const [ie, { width: _ }] = ae();
61
- return t.jsx(re, { ref: X, title: F ?? (f ? "Find & Replace" : "Find"), initialPosition: { y: "35" }, autoFocusSel: ".input", onHide: I, onFocus: () => q(!0), onBlur: () => {
62
- q(!1), A(!1);
59
+ const [ie, { width: J }] = le();
60
+ return t.jsx(re, { ref: G, title: F ?? (f ? "Find & Replace" : "Find"), initialPosition: { y: "35" }, autoFocusSel: ".input", onHide: I, onFocus: () => X(!0), onBlur: () => {
61
+ X(!1), A(!1);
63
62
  }, PaperProps: { elevation: U ? 3 : 1 }, ...L, 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) => {
64
- if (e.key === "h" && e.ctrlKey) P(!0), a.current?.contains(document.activeElement) && u.current?.focus();
65
- else if (e.key === "f" && e.ctrlKey) a.current?.focus();
63
+ if (e.key === "h" && e.ctrlKey) P(!0), l.current?.contains(document.activeElement) && u.current?.focus();
64
+ else if (e.key === "f" && e.ctrlKey) l.current?.focus();
66
65
  else if (e.key === "c" && e.altKey) r((n) => {
67
66
  const s = { ...n };
68
67
  return s.findOptions.matchCase = !n.findOptions.matchCase, s;
@@ -79,60 +78,60 @@ const Se = { "By Rows": !0, "By Columns": !1 }, ee = (v, h) => {
79
78
  });
80
79
  }
81
80
  e.preventDefault();
82
- }, children: [t.jsxs(b, { sx: { display: "flex", flexDirection: "row", gap: (e) => e.spacing(1) }, children: [t.jsxs(b, { sx: { display: "flex", flexDirection: "row", alignItems: "start", gap: (e) => e.spacing(0.25), paddingTop: "3px" }, children: [t.jsx(g, { selected: D, onSelectToggle: (e) => {
81
+ }, 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: D, onSelectToggle: (e) => {
83
82
  se(e);
84
83
  }, preventFocus: !0, label: "Toggle Additional Options", icon: m(t.jsx(pe, {})) }), t.jsx(g, { selected: f, onSelectToggle: (e) => {
85
84
  P(e);
86
- }, preventFocus: !0, label: "Toggle Replace", icon: m(t.jsx(de, {})), shortcut: { key: f ? "F" : "H", modifiers: [O.Ctrl] } })] }), t.jsxs(b, { sx: { display: "flex", flexDirection: "column", maxWidth: "100%", boxSizing: "border-box" }, children: [t.jsxs(b, { sx: { display: "flex", flexDirection: "row", alignItems: "center" }, children: [t.jsx(J, { label: "Find", InputLabelProps: { shrink: !0 }, InputProps: { sx: { paddingRight: (e) => e.spacing(1), minWidth: _ > 460 ? "20em" : void 0, backgroundImage: `linear-gradient(${R("#fff", T(5))}, ${R("#fff", T(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(b, { sx: { display: "flex", alignItems: "center", flexDirection: "row", gap: "1px" }, children: [t.jsx(g, { selected: i.findOptions.matchCase, onSelectToggle: (e) => {
85
+ }, 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(Q, { label: "Find", InputLabelProps: { shrink: !0 }, InputProps: { sx: { paddingRight: (e) => e.spacing(1), minWidth: J > 460 ? "20em" : void 0, backgroundImage: `linear-gradient(${v("#fff", R(5))}, ${v("#fff", R(5))})` }, inputProps: { draggable: !1, ref: l, 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) => {
87
86
  r((n) => {
88
87
  const s = { ...n };
89
88
  return s.findOptions.matchCase = e, s;
90
89
  });
91
- }, label: "Match Case", shortcut: { key: "C", modifiers: [O.Alt] }, icon: m(t.jsx(fe, {})) }), t.jsx(g, { selected: i.findOptions.matchEntireCell, onSelectToggle: (e) => {
90
+ }, label: "Match Case", shortcut: { key: "C", modifiers: [j.Alt] }, icon: m(t.jsx(fe, {})) }), t.jsx(g, { selected: i.findOptions.matchEntireCell, onSelectToggle: (e) => {
92
91
  r((n) => {
93
92
  const s = { ...n };
94
93
  return s.findOptions.matchEntireCell = e, s;
95
94
  });
96
- }, label: "Match Entire Cell", shortcut: { key: "E", modifiers: [O.Alt] }, icon: m(t.jsx(xe, {})) }), t.jsx(g, { selected: i.findOptions.useRegex, onSelectToggle: (e) => {
95
+ }, label: "Match Entire Cell", shortcut: { key: "E", modifiers: [j.Alt] }, icon: m(t.jsx(xe, {})) }), t.jsx(g, { selected: i.findOptions.useRegex, onSelectToggle: (e) => {
97
96
  r((n) => {
98
97
  const s = { ...n };
99
98
  return s.findOptions.useRegex = e, s;
100
99
  });
101
- }, label: "Use Regular Expression", shortcut: { key: "R", modifiers: [O.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) => {
100
+ }, 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) => {
102
101
  r((n) => {
103
102
  const s = { ...n };
104
103
  return s.findText = e.target.value, s;
105
104
  });
106
- }, onKeyDown: (e) => G(e, !1), onContextMenu: (e) => {
105
+ }, onKeyDown: (e) => q(e, !1), onContextMenu: (e) => {
107
106
  e.stopPropagation();
108
107
  } }), t.jsx(g, { selected: i.findOptions.reverse, onSelectToggle: (e) => {
109
108
  k(!1, !1);
110
- }, touchRippleRef: V, label: "", shortcut: { key: "Enter", modifiers: [O.Shift] }, icon: m(i.findOptions.orientation !== y.Orientation.Column ? t.jsx(Re, {}) : t.jsx(ke, {})), disabled: !i.findText }), t.jsx(g, { selected: !i.findOptions.reverse, onSelectToggle: (e) => {
109
+ }, touchRippleRef: V, label: "", shortcut: { key: "Enter", modifiers: [j.Shift] }, icon: m(i.findOptions.orientation !== b.Orientation.Column ? t.jsx(ve, {}) : t.jsx(ke, {})), disabled: !i.findText }), t.jsx(g, { selected: !i.findOptions.reverse, onSelectToggle: (e) => {
111
110
  k(!0, !1);
112
- }, touchRippleRef: z, label: "Next Match", shortcut: { key: "Enter" }, icon: m(i.findOptions.orientation !== y.Orientation.Column ? t.jsx(ve, {}) : t.jsx(Te, {})), disabled: !i.findText })] }), t.jsx(Q, { in: f, timeout: Z, onExit: () => {
113
- a.current?.focus();
114
- }, children: t.jsxs(b, { sx: { display: "flex", flexDirection: "row", alignItems: "center", marginTop: (e) => e.spacing(2) }, children: [t.jsx(J, { label: "Replace", InputLabelProps: { shrink: !0 }, InputProps: { sx: { paddingRight: (e) => e.spacing(1), backgroundImage: `linear-gradient(${R("#fff", T(5))}, ${R("#fff", T(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) => {
111
+ }, touchRippleRef: z, label: "Next Match", shortcut: { key: "Enter" }, icon: m(i.findOptions.orientation !== b.Orientation.Column ? t.jsx(Te, {}) : t.jsx(Re, {})), disabled: !i.findText })] }), t.jsx(Y, { in: f, timeout: _, onExit: () => {
112
+ l.current?.focus();
113
+ }, children: t.jsxs(O, { sx: { display: "flex", flexDirection: "row", alignItems: "center", marginTop: (e) => e.spacing(2) }, children: [t.jsx(Q, { label: "Replace", InputLabelProps: { shrink: !0 }, InputProps: { sx: { paddingRight: (e) => e.spacing(1), backgroundImage: `linear-gradient(${v("#fff", R(5))}, ${v("#fff", R(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) => {
115
114
  r((n) => {
116
115
  const s = { ...n };
117
116
  return s.replaceText = e.target.value, s;
118
117
  });
119
- }, onKeyDown: (e) => G(e, !0), onContextMenu: (e) => {
118
+ }, onKeyDown: (e) => q(e, !0), onContextMenu: (e) => {
120
119
  e.stopPropagation();
121
120
  } }), t.jsx(g, { onSelectToggle: (e) => {
122
121
  k(!0, !0);
123
122
  }, touchRippleRef: B, label: "Replace", shortcut: { key: "Enter" }, icon: m(t.jsx(me, {})), disabled: !i.findText }), t.jsx(g, { onSelectToggle: (e) => {
124
123
  k(!0, !0, !0);
125
- }, touchRippleRef: H, label: "Replace All", shortcut: { key: "Enter", modifiers: [O.Ctrl, O.Alt] }, icon: m(t.jsx(he, {})), disabled: !i.findText })] }) })] })] }), t.jsx(Q, { in: D, timeout: Z, onExit: () => {
126
- a.current?.focus();
127
- }, children: t.jsxs(b, { 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(be, { orientation: "horizontal", sx: { marginBottom: (e) => e.spacing(1.5) } }), t.jsxs(b, { sx: { display: "flex", flexDirection: _ >= 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) => {
124
+ }, touchRippleRef: H, label: "Replace All", shortcut: { key: "Enter", modifiers: [j.Ctrl, j.Alt] }, icon: m(t.jsx(he, {})), disabled: !i.findText })] }) })] })] }), t.jsx(Y, { in: D, timeout: _, onExit: () => {
125
+ l.current?.focus();
126
+ }, 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: J >= 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: Z, onSelect: (e) => {
128
127
  r((n) => {
129
128
  const s = { ...n };
130
129
  return s.scope = e, s;
131
130
  });
132
- } }), t.jsx(K, { label: "Search", value: i.findOptions.orientation !== y.Orientation.Column, options: Se, onSelect: (e) => {
131
+ } }), t.jsx(K, { label: "Search", value: i.findOptions.orientation !== b.Orientation.Column, options: Se, onSelect: (e) => {
133
132
  r((n) => {
134
133
  const s = { ...n };
135
- return s.findOptions.orientation = e ? y.Orientation.Row : y.Orientation.Column, s;
134
+ return s.findOptions.orientation = e ? b.Orientation.Row : b.Orientation.Column, s;
136
135
  });
137
136
  } }), 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) => {
138
137
  r((n) => {
@@ -142,7 +141,7 @@ const Se = { "By Rows": !0, "By Columns": !1 }, ee = (v, h) => {
142
141
  } })] })] }) })] }) });
143
142
  });
144
143
  export {
145
- Fe as FindReplaceWindow,
146
- Y as ScopeOptions,
147
- Fe as default
144
+ Ee as FindReplaceWindow,
145
+ Z as ScopeOptions,
146
+ Ee as default
148
147
  };
@@ -0,0 +1,47 @@
1
+ import { r as s, af as p, L as E, e as n, j as t, p as R, B as k, F as O, ag as W, ah as G, a as c, U as u, T as H, Z as F, ai as K } from "./Beqd_eZheAqcy9eR.mjs";
2
+ /**
3
+ * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.4.15
4
+ *
5
+ * (C) 2025-present SheetXL Inc. & Michael T. Ford
6
+ * License: The license can be found at https://www.sheetxl.com/license.
7
+ */
8
+ const U = ["Ok", "Cancel"], q = s.memo((S) => {
9
+ const { initialValue: w, context: f, onOption: h, onValidateOption: d, onInputOption: C, onDone: m, options: b = U, defaultOption: r = b?.[0], cancelOption: g = "Cancel", sx: P, ...D } = S, [e, v] = s.useState(w), [$, I] = s.useState(!1), x = s.useCallback(async (a, o) => !0, []), y = p(async (a) => {
10
+ C?.(e, a), h?.(a, a === g, a === r), m?.();
11
+ }, [e, C, m, h, g, r]), M = p(async (a) => {
12
+ a.keyCode === E.Enter && await x?.(e, null) !== !1 && y(r);
13
+ }, [e, y]), N = p((a) => {
14
+ v(a.target.value), x?.(a.target.value, null);
15
+ }, [d]), V = p(async (a) => {
16
+ let o = await Promise.resolve(d?.(a));
17
+ try {
18
+ o !== !1 && (o = await Promise.resolve(x?.(e, a)) ?? !0);
19
+ } catch {
20
+ }
21
+ return o ?? !0;
22
+ }, [d]), [T, j] = s.useState(n.Styles.lookupStyle(e).formatType ?? n.Type.Custom);
23
+ s.useEffect(() => {
24
+ j(n.Styles.lookupStyle(e).formatType ?? n.Type.Custom);
25
+ }, [e]);
26
+ const B = s.useMemo(() => {
27
+ const a = n.Styles.lookupPrimary(), o = (l) => t.jsx(K, { value: l, children: l }, l), i = Object.keys(a).map((l) => o(a[l].formatType));
28
+ return i.push(o(n.Type.Custom)), i;
29
+ }, []), L = s.useCallback((a) => {
30
+ const o = a.target.value;
31
+ j(o);
32
+ const i = n.Styles.lookupDefault(o);
33
+ i && v(i);
34
+ }, []), z = s.useMemo(() => {
35
+ const a = f();
36
+ return a.createTemporaryCell({ value: a.getValue() ?? 12345, style: { numberFormat: e } });
37
+ }, [T, e, f]);
38
+ return t.jsx(R, { title: "Number Format", options: b, onDone: m, onOption: (a) => y(a), onValidateOption: V, defaultOption: r, cancelOption: g, autoFocusSel: ".autoFocus", sx: { width: "580px", ...P }, ...D, children: t.jsxs(k, { sx: { paddingTop: (a) => a.spacing(1), paddingBottom: (a) => a.spacing(0), rowGap: (a) => a.spacing(1), display: "flex", flexDirection: "column" }, children: [t.jsxs(O, { sx: { minWidth: 135 }, size: "small", children: [t.jsx(W, { children: "Category" }), t.jsx(G, { value: T, label: "Category", onChange: L, sx: { backgroundImage: `linear-gradient(${c("#fff", u(5))}, ${c("#fff", u(5))})` }, children: B })] }), t.jsx(O, { sx: { paddingTop: (a) => a.spacing(1.5), minWidth: 135, width: "100%" }, size: "small", children: t.jsx(H, { label: "Code", onFocus: (a) => {
39
+ $ || a.target?.select(), I(!0);
40
+ }, sx: { "& .MuiFormHelperText-root": { marginTop: (a) => a.spacing(0.5) } }, InputLabelProps: { shrink: !0 }, InputProps: { inputProps: { className: "autoFocus", spellCheck: !1, autoComplete: "off", sx: { paddingTop: (a) => a.spacing(1.25), paddingBottom: (a) => a.spacing(0.75), backgroundImage: `linear-gradient(${c("#fff", u(5))}, ${c("#fff", u(5))})` } } }, value: e, onChange: N, onKeyDown: M, onContextMenu: (a) => {
41
+ a.stopPropagation();
42
+ } }) }), t.jsxs(k, { children: [t.jsx(F, { variant: "caption", component: "div", sx: { paddingLeft: (a) => a.spacing(2) }, children: "Preview" }), t.jsx(F, { variant: "body2", component: "div", sx: { borderRadius: (a) => `${a.shape.borderRadius}px`, padding: (a) => a.spacing(1), border: (a) => `1px solid ${a.palette.grey[400]}` }, children: z.getNumberFormat().displayText || "(empty)" })] })] }) });
43
+ });
44
+ export {
45
+ q as NumberFormatDialog,
46
+ q as default
47
+ };
@@ -0,0 +1,39 @@
1
+ import { r as o, k as e, c as $, j as i, p as z, B as A, F as E, T as R, a as O, K as W, A as y } from "./Beqd_eZheAqcy9eR.mjs";
2
+ /**
3
+ * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.4.15
4
+ *
5
+ * (C) 2025-present SheetXL Inc. & Michael T. Ford
6
+ * License: The license can be found at https://www.sheetxl.com/license.
7
+ */
8
+ const q = ["Input"], J = o.memo(o.forwardRef((w, T) => {
9
+ const { initialValue: F = "", onOption: I, onValidateOption: l, onInputOption: r, onValidateInputOption: p, onDone: u, inputProps: c, inputLabel: P, inputType: S, inputPlaceHolder: j, options: d = q, autoFocusSel: k = ".autoFocus", cancelOption: g, defaultOption: f = d?.[0], ...v } = w, [C, b] = o.useState(!1), [t, V] = o.useState(F), [B, D] = o.useState(""), [H, K] = o.useState(!0), s = e(async (a, n) => {
10
+ if (!p) return !0;
11
+ const h = await p?.(a, n);
12
+ D(h?.message ?? "");
13
+ const x = h?.valid ?? !0;
14
+ return K(x), x;
15
+ }, [p]), m = e(async (a) => {
16
+ r?.(t, a);
17
+ }, [t, r, u, I, g, f]), L = e(async (a) => {
18
+ a.keyCode === $.Enter && await s?.(t, null);
19
+ }, [t, m]), M = e((a) => {
20
+ V(a.target.value), s?.(a.target.value, null);
21
+ }, [l]), N = e(async (a) => {
22
+ let n = await s(t, a);
23
+ try {
24
+ n !== !1 && (n = await s(t, a));
25
+ } catch {
26
+ }
27
+ return n ?? !0;
28
+ }, [t, l]);
29
+ return i.jsx(z, { options: d, onDone: u, onOption: (a, n) => {
30
+ n || m(a);
31
+ }, onValidateOption: N, cancelOption: g, defaultOption: f, autoFocusSel: k, ref: T, ...v, children: i.jsx(A, { sx: { paddingTop: (a) => a.spacing(1), paddingBottom: (a) => a.spacing(0) }, children: i.jsx(E, { sx: { paddingTop: (a) => a.spacing(1.5), minWidth: 135, width: "100%" }, size: "small", children: i.jsx(R, { onFocus: (a) => {
32
+ C || a.target?.select(), b(!0);
33
+ }, type: S, label: P, helperText: B || " ", sx: { width: "100%", "& .MuiFormHelperText-root": { marginTop: (a) => a.spacing(0.5), color: H ? void 0 : "error.main" } }, InputLabelProps: { shrink: !0 }, InputProps: { inputProps: { placeholder: j, spellCheck: !1, autoComplete: "off", ...c, className: W("autoFocus", c?.className), sx: { paddingTop: (a) => a.spacing(1.25), paddingBottom: (a) => a.spacing(0.75), backgroundImage: `linear-gradient(${O("#fff", y(5))}, ${O("#fff", y(5))})` } } }, value: t, onChange: M, onKeyDown: L, onContextMenu: (a) => {
34
+ a.stopPropagation();
35
+ } }) }) }) });
36
+ }));
37
+ export {
38
+ J as default
39
+ };
@@ -1,17 +1,17 @@
1
- import { $ as y, f as C } from "./BbW_1O3cEhZ4aSgS.mjs";
1
+ import { O as y, d as C } from "./Beqd_eZheAqcy9eR.mjs";
2
2
  /**
3
- * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.4.14
3
+ * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.4.15
4
4
  *
5
5
  * (C) 2025-present SheetXL Inc. & Michael T. Ford
6
6
  * License: The license can be found at https://www.sheetxl.com/license.
7
7
  */
8
8
  const k = async (a, p) => {
9
- const { trimLeadingBlankRow: i = !0, trimLeadingBlankColumn: f = !0, excludeHidden: h = !1, sheetKey: o = null, papaParseConfig: m = {} } = p || {}, u = await import("./BdFNxdtES-3_yQ9R.mjs").then((s) => s.p);
9
+ const { trimLeadingBlankRow: i = !0, trimLeadingBlankColumn: f = !0, excludeHidden: h = !1, sheetKey: o = null, papaParseConfig: m = {} } = p || {}, u = await import("./DxOr3qEZVibn2HK7.mjs").then((s) => s.p);
10
10
  if (!a) throw new Error("workbook must be specified");
11
11
  let t = null;
12
12
  if (o === null ? t = a.getSelectedSheet() : typeof o == "number" ? t = a.getSheets().search()[o] : typeof o == "string" && (t = a.getSheets().getByName(o)), !t) throw new Error("invalid sheetKey specified");
13
- let c = null;
14
- const d = [];
13
+ let d = null;
14
+ const c = [];
15
15
  let e = null, n = t.getUsedRange({ excludeHidden: h });
16
16
  if (!n) throw new Error("Nothing to export");
17
17
  if (!i || !f) {
@@ -20,25 +20,25 @@ const k = async (a, p) => {
20
20
  }
21
21
  n.forEach((s, l) => {
22
22
  const w = l.getCoords(), x = l.getCell();
23
- c !== w.rowIndex && (e && d.push(e), e = [], c = w.rowIndex);
23
+ d !== w.rowIndex && (e && c.push(e), e = [], d = w.rowIndex);
24
24
  const S = x.toTextUnformatted() ?? "";
25
25
  e.push(S);
26
- }, { includeEmpty: !0, address: null }), e && d.push(e);
27
- const r = { ...m }, g = u.unparse(d, r);
26
+ }, { includeEmpty: !0, address: null }), e && c.push(e);
27
+ const r = { ...m }, g = u.unparse(c, r);
28
28
  return new TextEncoder().encode(g).buffer;
29
29
  }, b = async (a, p) => {
30
- const { papaParseConfig: i, setValuesOptions: f, createWorkbookOptions: h } = p ?? {}, o = await import("./BdFNxdtES-3_yQ9R.mjs").then((r) => r.p), m = new TextDecoder().decode(a);
30
+ const { papaParseConfig: i, setValuesOptions: f, createWorkbookOptions: h } = p ?? {}, o = await import("./DxOr3qEZVibn2HK7.mjs").then((r) => r.p), m = new TextDecoder().decode(a);
31
31
  let u = -1;
32
- const t = new y(h), c = t.getSelectedSheet().getEntireRange().startIncrementalUpdates({ orientation: C.Orientation.Row }), d = p?.onProgress;
32
+ const t = new y(h), d = t.getSelectedSheet().getEntireRange().startIncrementalUpdates({ orientation: C.Orientation.Row }), c = p?.onProgress;
33
33
  let e = 0;
34
34
  const n = { ...i, transform: (r, g) => {
35
35
  i?.transform && (r = i.transform(r, g));
36
36
  const s = g;
37
37
  s === 0 && u++;
38
38
  let l = r ?? "";
39
- return c.pushAt(u, s, l), e++, e % 1e5 == 0 && d?.(e), r;
39
+ return d.pushAt(u, s, l), e++, e % 1e5 == 0 && c?.(e), r;
40
40
  } };
41
- return o.parse(m, n).data, c.apply({ textParser: !0, ...f }), t;
41
+ return o.parse(m, n).data, d.apply({ textParser: !0, ...f }), t;
42
42
  };
43
43
  export {
44
44
  b as fromBufferCSV,
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.4.14
2
+ * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.4.15
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.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.4.14
2
+ * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.4.15
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.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.4.14
2
+ * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.4.15
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.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.4.14
2
+ * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.4.15
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.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.4.14
2
+ * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.4.15
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.
@@ -1,25 +1,25 @@
1
- import { r as n, a1 as x, j as o, v as L, B as W, F as b, T as O, d as p, be as r } from "./BbW_1O3cEhZ4aSgS.mjs";
1
+ import { r as n, af as x, j as o, p as L, B as U, F as b, T as O, a as p, U as r } from "./Beqd_eZheAqcy9eR.mjs";
2
2
  /**
3
- * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.4.14
3
+ * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.4.15
4
4
  *
5
5
  * (C) 2025-present SheetXL Inc. & Michael T. Ford
6
6
  * License: The license can be found at https://www.sheetxl.com/license.
7
7
  */
8
- const z = ["Ok", "Cancel"], E = n.memo((P) => {
9
- const { initialHyperlink: s = null, initialDisplay: D = null, onUpdateHyperlink: f, context: l, onOption: m, onValidateOption: d, onDone: u, options: h = z, defaultOption: c = h?.[0], cancelOption: i = "Cancel", sx: F, ...j } = P, v = n.useMemo(() => (s ?? l?.()?.getHyperlink()) !== null, []), k = n.useMemo(() => {
8
+ const W = ["Ok", "Cancel"], A = n.memo((P) => {
9
+ const { initialHyperlink: s = null, initialDisplay: D = null, onUpdateHyperlink: f, context: l, onOption: m, onValidateOption: d, onDone: u, options: h = W, defaultOption: c = h?.[0], cancelOption: i = "Cancel", sx: F, ...j } = P, H = n.useMemo(() => (s ?? l?.()?.getHyperlink()) !== null, []), k = n.useMemo(() => {
10
10
  let e = null, t = null;
11
11
  s && (typeof s == "string" ? t = s : e = s);
12
12
  const C = e ?? l?.()?.getHyperlink();
13
13
  return { address: t ?? C?.getAddress() ?? "", textToDisplay: C?.getDisplayText() ?? "" };
14
- }, [s, l]), [a, H] = n.useState(k.address), [g, I] = n.useState(() => {
14
+ }, [s, l]), [a, I] = n.useState(k.address), [g, v] = n.useState(() => {
15
15
  const e = l?.().toTextUnformatted() ?? D;
16
16
  return e === k.address ? "" : e;
17
17
  }), [w, y] = n.useState(!1), M = n.useCallback((e) => {
18
- I(e.target.value);
18
+ v(e.target.value);
19
19
  }, []), T = n.useCallback(async (e, t) => null, []), B = x(async (e) => {
20
20
  e !== i && f?.(a === "" ? null : { address: a }, g), m?.(e, e === i, e === c), u?.();
21
21
  }, [a, g, f, u, m, c, i]), S = x((e) => {
22
- H(e.target.value), T(e.target.value, null);
22
+ I(e.target.value), T(e.target.value, null);
23
23
  }, [d]), $ = x(async (e) => {
24
24
  let t = await Promise.resolve(d?.(e));
25
25
  try {
@@ -28,7 +28,7 @@ const z = ["Ok", "Cancel"], E = n.memo((P) => {
28
28
  }
29
29
  return t ?? !0;
30
30
  }, [d]);
31
- return o.jsx(L, { title: (v ? "Edit" : "Insert") + " Link", options: h, onDone: u, onOption: (e) => B(e), onValidateOption: $, defaultOption: c, cancelOption: i, autoFocusSel: ".autoFocus", sx: { width: "480px", ...F }, ...j, children: o.jsxs(W, { sx: { paddingTop: (e) => e.spacing(1), paddingBottom: (e) => e.spacing(0), rowGap: (e) => e.spacing(1), display: "flex", flexDirection: "column" }, children: [o.jsx(b, { sx: { paddingTop: (e) => e.spacing(1.5), minWidth: 135, width: "100%" }, size: "small", children: o.jsx(O, { label: "Address", placeholder: "Enter a url or cell reference.", onFocus: (e) => {
31
+ return o.jsx(L, { title: (H ? "Edit" : "Insert") + " Link", options: h, onDone: u, onOption: (e) => B(e), onValidateOption: $, defaultOption: c, cancelOption: i, autoFocusSel: ".autoFocus", sx: { width: "480px", ...F }, ...j, children: o.jsxs(U, { sx: { paddingTop: (e) => e.spacing(1), paddingBottom: (e) => e.spacing(0), rowGap: (e) => e.spacing(1), display: "flex", flexDirection: "column" }, children: [o.jsx(b, { sx: { paddingTop: (e) => e.spacing(1.5), minWidth: 135, width: "100%" }, size: "small", children: o.jsx(O, { label: "Address", placeholder: "Enter a url or cell reference.", onFocus: (e) => {
32
32
  w || e.target?.select(), y(!0);
33
33
  }, sx: { "& .MuiFormHelperText-root": { marginTop: (e) => e.spacing(0.5) } }, InputLabelProps: { shrink: !0 }, InputProps: { inputProps: { className: "autoFocus", spellCheck: !1, autoComplete: "off", sx: { paddingTop: (e) => e.spacing(1.25), paddingBottom: (e) => e.spacing(0.75), backgroundImage: `linear-gradient(${p("#fff", r(5))}, ${p("#fff", r(5))})` } } }, value: a, onChange: S, onContextMenu: (e) => {
34
34
  e.stopPropagation();
@@ -39,6 +39,6 @@ const z = ["Ok", "Cancel"], E = n.memo((P) => {
39
39
  } }) })] }) });
40
40
  });
41
41
  export {
42
- E as HyperlinkDialog,
43
- E as default
42
+ A as HyperlinkDialog,
43
+ A as default
44
44
  };
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.4.14
2
+ * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.4.15
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.
@@ -809,7 +809,7 @@ const Vt = Object.freeze({ compileTypescript: async function(e) {
809
809
  if (q && $t.deepEqual(q, e)) return ht;
810
810
  const t = await async function() {
811
811
  if (M) return M;
812
- const { TypeScriptCompiler: n } = await import("./Crza3kRJdEVylOfk.mjs");
812
+ const { TypeScriptCompiler: n } = await import("./B_JJ8lAbaPdlt8l4.mjs");
813
813
  return M = new n(), M;
814
814
  }(), r = await t.compileModule(e);
815
815
  return ht = r, q = e, r;
@@ -1,6 +1,6 @@
1
- import { $ as J } from "./BbW_1O3cEhZ4aSgS.mjs";
1
+ import { O as J } from "./Beqd_eZheAqcy9eR.mjs";
2
2
  /**
3
- * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.4.14
3
+ * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.4.15
4
4
  *
5
5
  * (C) 2025-present SheetXL Inc. & Michael T. Ford
6
6
  * License: The license can be found at https://www.sheetxl.com/license.
@@ -16,17 +16,17 @@ const k = async (w, l) => {
16
16
  }
17
17
  return function o(e, a, s, m) {
18
18
  if (e == null || typeof e != "object") return JSON.stringify(e);
19
- const d = i(a), O = i(a + 1);
19
+ const O = i(a), d = i(a + 1);
20
20
  if (Array.isArray(e)) {
21
21
  const c = e.length;
22
22
  if (c === 0) return "[]";
23
23
  if (s !== 0) return JSON.stringify(e);
24
24
  let y = `[
25
25
  `;
26
- for (let h = 0; h < c; h++) y += O + o(e[h], a + 1, s + 1, !0), h < c - 1 && (y += `,
26
+ for (let h = 0; h < c; h++) y += d + o(e[h], a + 1, s + 1, !0), h < c - 1 && (y += `,
27
27
  `);
28
28
  return y += `
29
- ` + d + "]", y;
29
+ ` + O + "]", y;
30
30
  }
31
31
  const B = Object.keys(e), A = B.length;
32
32
  if (A === 0) return "{}";
@@ -36,11 +36,11 @@ const k = async (w, l) => {
36
36
  m || (s = 0);
37
37
  for (let c = 0; c < A; c++) {
38
38
  const y = B[c];
39
- S += O + JSON.stringify(y) + ": " + o(e[y], a + 1, s, !1), c < A - 1 && (S += `,
39
+ S += d + JSON.stringify(y) + ": " + o(e[y], a + 1, s, !1), c < A - 1 && (S += `,
40
40
  `);
41
41
  }
42
42
  return S += `
43
- ` + d + "}", S;
43
+ ` + O + "}", S;
44
44
  }(f, 0, 0, !1);
45
45
  }(u, b);
46
46
  let p = new TextEncoder().encode(g).buffer;