@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,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("./0fI22OQK5IczUH6s.js");
812
+ const { TypeScriptCompiler: n } = await import("./CxPN10OK3cql47vK.js");
813
813
  return M = new n(), M;
814
814
  }(), r = await t.compileModule(e);
815
815
  return ht = r, q = e, r;
@@ -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.
@@ -0,0 +1,50 @@
1
+ import { jsx as i } from "react/jsx-runtime";
2
+ import { memo as E, useMemo as M, useState as x, useCallback as j } from "react";
3
+ import { ap as r, b as S, B as V, d as $, T as z, e as h, a6 as C } from "./DPpga_z_sz7WeoGk.js";
4
+ /**
5
+ * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.4.15
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 G = ["Ok", "Cancel"], U = E((O) => {
11
+ const { initialComments: T = null, onUpdateComments: m, context: b, onOption: u, onValidateOption: l, onDone: p, options: d = G, defaultOption: c = d?.[0], cancelOption: s = "Cancel", sx: k, ...w } = O, g = M(() => {
12
+ const n = T ?? b?.()?.getComments();
13
+ let t = "";
14
+ if (n && n.content && n.content.runs) {
15
+ const a = n.content.runs;
16
+ for (let o = 0; o < a.length; o++) {
17
+ const B = a[o];
18
+ t += B?.text;
19
+ }
20
+ }
21
+ return t;
22
+ }, []), [e, y] = x(g), [F, P] = x(!1), f = j(async (n, t) => null, []), v = r(async (n) => {
23
+ const t = e === "" ? [] : e.split(`
24
+ `);
25
+ if (n !== s) {
26
+ const a = [];
27
+ for (let o = 0; o < t.length; o++) a.push({ text: t[o] });
28
+ m?.({ content: { runs: a } });
29
+ }
30
+ u?.(n, n === s, n === c), p?.();
31
+ }, [e, m, p, u, c, s]), D = r((n) => {
32
+ y(n.target.value), f(n.target.value, null);
33
+ }, [l]), I = r(async (n) => {
34
+ let t = await Promise.resolve(l?.(n));
35
+ try {
36
+ t !== !1 && (t = await f(e, n));
37
+ } catch {
38
+ }
39
+ return t ?? !0;
40
+ }, [l, e]);
41
+ return i(S, { title: (g ? "Edit" : "Insert") + " Comments", options: d, onDone: p, onOption: (n) => v(n), onValidateOption: I, defaultOption: c, cancelOption: s, autoFocusSel: ".autoFocus", sx: { width: "480px", ...k }, ...w, children: i(V, { sx: { paddingTop: (n) => n.spacing(1), paddingBottom: (n) => n.spacing(0), rowGap: (n) => n.spacing(1), display: "flex", flexDirection: "column" }, children: i($, { sx: { paddingTop: (n) => n.spacing(1.5), minWidth: 135, width: "100%" }, size: "small", children: i(z, { label: "Comments", placeholder: "Enter a comment.", onFocus: (n) => {
42
+ F || n.target?.select(), P(!0);
43
+ }, sx: { "& .MuiFormHelperText-root": { marginTop: (n) => n.spacing(0.5) } }, InputLabelProps: { shrink: !0 }, InputProps: { inputProps: { className: "autoFocus", spellCheck: !1, autoComplete: "off", sx: { paddingTop: (n) => n.spacing(1.25), paddingBottom: (n) => n.spacing(0.75), backgroundImage: `linear-gradient(${h("#fff", C(5))}, ${h("#fff", C(5))})` } } }, value: e, onChange: D, onContextMenu: (n) => {
44
+ n.stopPropagation();
45
+ } }) }) }) });
46
+ });
47
+ export {
48
+ U as CommentsDialog,
49
+ U as default
50
+ };
@@ -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.
@@ -0,0 +1,58 @@
1
+ import { jsx as a, jsxs as s } from "react/jsx-runtime";
2
+ import { memo as O, useState as r, useRef as M, useReducer as E, useMemo as A } from "react";
3
+ import { aI as W, av as J, aJ as K, aK as Q, ap as x, a0 as V, a1 as k, B as n, aL as q, aM as G, aH as f, aN as U, aO as X, aP as y, ax as b, aQ as w, aR as S } from "./DPpga_z_sz7WeoGk.js";
4
+ /**
5
+ * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.4.15
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 te = O((C) => {
11
+ const { title: v, onHide: N, autoFocusSel: R = ".range-input input", context: T, notifier: l = W, command: c, commands: d, ...D } = C, [F, g] = r(!1), [m, p] = r(!1), h = M(null), [Y, H] = E((e) => e + 1, 0), [B, { width: Z }] = J();
12
+ K(c);
13
+ const o = T ?? c.context(), t = o.table(), [I, P] = r(() => t ? o.getNames().getRanges(t.getRange()) : null), j = A(() => t?.getName() ?? "", [t]);
14
+ Q(o.table(), { onAnchorCoordsChange(e) {
15
+ P(o.getNames().getRanges(e.getRange()));
16
+ }, onProtectedChange(e) {
17
+ H();
18
+ } });
19
+ const L = x((e) => {
20
+ o?.table().setName(e);
21
+ }, [o]), z = x((e) => {
22
+ o?.table().resize(e.at(0));
23
+ }, [o]);
24
+ let u = null;
25
+ return o.table() || (u = a("div", { style: { position: "absolute", top: "0", left: "0", width: "100%", height: "100%", opacity: 1, display: "flex", alignItems: "center", justifyItems: "center", justifyContent: "center", boxSizing: "border-box" }, children: a("div", { children: "No table selected" }) })), a(V, { ref: h, title: v ?? "Table Details", initialPosition: { y: "35" }, autoFocusSel: R, onHide: N, onFocus: () => g(!0), onBlur: (e) => {
26
+ h?.current?.contains(e.relatedTarget) || g(!1);
27
+ }, PaperProps: { elevation: F ? 3 : 1 }, ...D, children: s(k, { dividers: !0, ref: B, sx: { display: "flex", flexDirection: "column", position: "relative", paddingLeft: (e) => e.spacing(1.5), paddingRight: (e) => e.spacing(1.5) }, children: [s(n, { sx: { display: "flex", flexDirection: "column", transition: "opacity 60ms", opacity: o.table() ? 1 : 0 }, children: [a(n, { sx: { display: "flex", flexDirection: "row", gap: (e) => e.spacing(1) }, children: a(n, { sx: { display: "flex", flexDirection: "column", maxWidth: "100%", boxSizing: "border-box", paddingLeft: (e) => e.spacing(2), paddingRight: (e) => e.spacing(2) }, children: s(n, { sx: { display: "flex", flexDirection: "column", alignItems: "center" }, children: [a(q, { formName: "name", defaultInput: j, value: t?.getName() ?? "No table", onChangeInput: L, onValidate: (e) => {
28
+ t && t.getName().toLowerCase() === e.toLowerCase() || o?.getNames().validateName(e);
29
+ }, disabled: t?.isProtected() ?? !0, onFocus: (e) => {
30
+ m || e.target?.select(), p(!0);
31
+ } }), a(G, { formName: "range", value: I, onChangeInput: z, resolvedAddress: o.getNames().getRanges.bind(o.getNames()), disabled: t?.isProtected() ?? !0, onFocus: (e) => {
32
+ m || e.target?.select(), p(!0);
33
+ } })] }) }) }), s(n, { sx: { minHeight: "10px", flex: "1 1 100%", display: "flex", flexDirection: "column", gap: (e) => e.spacing(0.5), marginTop: (e) => e.spacing(1) }, children: [a(f, { orientation: "horizontal", sx: { marginTop: (e) => e.spacing(1.5), marginBottom: (e) => e.spacing(0.75) } }), a(U, { disabled: t?.isProtected(), styleOptions: t?.getStyleOptions() ?? null, onStyleOptionsChange: (e) => {
34
+ t.updateStyleOptions(e);
35
+ }, showHeaderRow: t?.getShowHeaders(), onShowHeaderRowChange: (e) => {
36
+ try {
37
+ t.setShowHeaders(e);
38
+ } catch (i) {
39
+ l.showError(i);
40
+ }
41
+ }, showTotalRow: t?.getShowTotals(), onShowTotalRowChange: (e) => {
42
+ try {
43
+ t.setShowTotals(e);
44
+ } catch (i) {
45
+ l.showError(i);
46
+ }
47
+ }, showFilterButton: t?.getFilter() ? t.getShowFilterButton() : null, onShowFilterButtonChange: (e) => {
48
+ try {
49
+ t.setShowFilterButton(e);
50
+ } catch (i) {
51
+ l.showError(i);
52
+ }
53
+ } }), a(n, { sx: { display: "flex", alignItems: "center", justifyContent: "center", flexDirection: "column", marginTop: (e) => e.spacing(2), marginBottom: (e) => e.spacing(1) }, children: a(X, { table: t, styles: o.styles(), bodyStyle: o.bodyStyle(), cellHeight: 30, isLive: !0 }) }), a(f, { orientation: "horizontal" }), s(n, { sx: { display: "flex", flexDirection: "column", justifyContent: "center" }, children: [a(y, { variant: w.Menuitem, command: d.getCommand("convertTableToRange"), commandState: t, icon: b(a(S, {})) }), a(y, { variant: w.Menuitem, commandState: t, command: d.getCommand("deleteTable"), icon: b(a(S, {})) })] })] })] }), u] }) });
54
+ });
55
+ export {
56
+ te as TableDetailsWindow,
57
+ te as default
58
+ };
@@ -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.
@@ -47,7 +47,7 @@ class u {
47
47
  }
48
48
  }
49
49
  const s = `/**
50
- * @license @sheetxl/primitives - Primitives - Base types for SheetXL functions. - v0.4.14
50
+ * @license @sheetxl/primitives - Primitives - Base types for SheetXL functions. - v0.4.15
51
51
  *
52
52
  * (C) 2025-present SheetXL Inc. & Michael T. Ford
53
53
  * License: The license can be found at https://www.sheetxl.com/license.
@@ -266,7 +266,7 @@ var v;
266
266
  return n = typeof e == "string" ? tt.get(e) : rt.get(e), n || (n = v.Unknown), new n(t, r);
267
267
  }, v.getBuiltInById = (e) => Te.get(e) || Et;
268
268
  /**
269
- * @license @sheetxl/utils - Utils - Utilities used by most SheetXL components. - v0.4.14
269
+ * @license @sheetxl/utils - Utils - Utilities used by most SheetXL components. - v0.4.15
270
270
  *
271
271
  * (C) 2025-present SheetXL Inc. & Michael T. Ford
272
272
  * License: The license can be found at https://www.sheetxl.com/license.
@@ -1567,7 +1567,7 @@ async function p() {
1567
1567
  return await l();
1568
1568
  }
1569
1569
  const l = async () => {
1570
- const { compileModule: e } = await import("./CWkF-50YF43t7qge.js"), n = new u((t) => e(t));
1570
+ const { compileModule: e } = await import("./ByGApkjEdqWJCmIL.js"), n = new u((t) => e(t));
1571
1571
  return await n.start(), n;
1572
1572
  };
1573
1573
  export {
@@ -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.
@@ -0,0 +1,23 @@
1
+ import { jsx as n, jsxs as C } from "react/jsx-runtime";
2
+ import { useState as O } from "react";
3
+ import { ao as a, ap as m, b, B as H, a7 as s, a8 as l, O as r } from "./DPpga_z_sz7WeoGk.js";
4
+ /**
5
+ * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.4.15
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 x = ({ range: p, options: c, cell: h, onDone: d, ...v }) => {
11
+ const [t, o] = O(c ?? a.DefaultRangeOptions), u = m((e) => {
12
+ let i = null;
13
+ e === "Sort" && (i = { ...c, options: t }), d?.(i);
14
+ }, [t, d, c]);
15
+ return n(b, { title: "Sort", options: ["Sort", "Cancel"], onDone: u, ...v, children: C(H, { sx: { display: "flex", flexDirection: "column" }, children: [n(s, { control: n(l, { checked: !t.reverse, onChange: () => o((e) => ({ ...e, reverse: !e.reverse })) }), label: "Is Ascending", labelPlacement: "end" }), n(s, { control: n(l, { checked: t.hasHeader, onChange: () => o((e) => ({ ...e, hasHeader: !e.hasHeader })) }), label: "Has Header", labelPlacement: "end" }), n(s, { control: n(l, { checked: t.collatorOptions?.sensitivity === a.CaseSensitiveOptions.sensitivity, onChange: () => o((e) => ({ ...e, collatorOptions: t.collatorOptions?.sensitivity === a.CaseSensitiveOptions.sensitivity ? a.CaseInsensitiveOptions : a.CaseSensitiveOptions })) }), label: "Case Sensitive", labelPlacement: "end" }), n(s, { control: n(l, { checked: t.orientation === r.Orientation.Row, onChange: () => o((e) => {
16
+ const i = e.orientation === r.Orientation.Row ? r.Orientation.Column : r.Orientation.Row;
17
+ return { ...p.getDefaultSortCriteria(i, h).options, includeHidden: e.includeHidden, reverse: e.reverse, orientation: i };
18
+ }) }), label: "Row Sort", labelPlacement: "end" }), n(s, { control: n(l, { checked: t.includeHidden, onChange: () => o((e) => ({ ...e, includeHidden: !e.includeHidden })) }), label: "Include Hidden", labelPlacement: "end" })] }) });
19
+ };
20
+ export {
21
+ x as SortDialog,
22
+ x as default
23
+ };
@@ -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.
@@ -0,0 +1,41 @@
1
+ import { jsx as i } from "react/jsx-runtime";
2
+ import { memo as z, forwardRef as A, useState as s } from "react";
3
+ import { k as t, c as E, b as K, B as R, d as W, T as q, e as x, f as G, A as y } from "./DPpga_z_sz7WeoGk.js";
4
+ /**
5
+ * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.4.15
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 J = ["Input"], Y = z(A((w, T) => {
11
+ const { initialValue: F = "", onOption: I, onValidateOption: r, onInputOption: l, onValidateInputOption: p, onDone: c, inputProps: u, inputLabel: P, inputType: b, inputPlaceHolder: k, options: d = J, autoFocusSel: v = ".autoFocus", cancelOption: g, defaultOption: m = d?.[0], ...C } = w, [V, B] = s(!1), [o, D] = s(F), [S, H] = s(""), [L, M] = s(!0), e = t(async (a, n) => {
12
+ if (!p) return !0;
13
+ const h = await p?.(a, n);
14
+ H(h?.message ?? "");
15
+ const O = h?.valid ?? !0;
16
+ return M(O), O;
17
+ }, [p]), f = t(async (a) => {
18
+ l?.(o, a);
19
+ }, [o, l, c, I, g, m]), N = t(async (a) => {
20
+ a.keyCode === E.Enter && await e?.(o, null);
21
+ }, [o, f]), $ = t((a) => {
22
+ D(a.target.value), e?.(a.target.value, null);
23
+ }, [r]), j = t(async (a) => {
24
+ let n = await e(o, a);
25
+ try {
26
+ n !== !1 && (n = await e(o, a));
27
+ } catch {
28
+ }
29
+ return n ?? !0;
30
+ }, [o, r]);
31
+ return i(K, { options: d, onDone: c, onOption: (a, n) => {
32
+ n || f(a);
33
+ }, onValidateOption: j, cancelOption: g, defaultOption: m, autoFocusSel: v, ref: T, ...C, children: i(R, { sx: { paddingTop: (a) => a.spacing(1), paddingBottom: (a) => a.spacing(0) }, children: i(W, { sx: { paddingTop: (a) => a.spacing(1.5), minWidth: 135, width: "100%" }, size: "small", children: i(q, { onFocus: (a) => {
34
+ V || a.target?.select(), B(!0);
35
+ }, type: b, label: P, helperText: S || " ", sx: { width: "100%", "& .MuiFormHelperText-root": { marginTop: (a) => a.spacing(0.5), color: L ? void 0 : "error.main" } }, InputLabelProps: { shrink: !0 }, InputProps: { inputProps: { placeholder: k, spellCheck: !1, autoComplete: "off", ...u, className: G("autoFocus", u?.className), sx: { paddingTop: (a) => a.spacing(1.25), paddingBottom: (a) => a.spacing(0.75), backgroundImage: `linear-gradient(${x("#fff", y(5))}, ${x("#fff", y(5))})` } } }, value: o, onChange: $, onKeyDown: N, onContextMenu: (a) => {
36
+ a.stopPropagation();
37
+ } }) }) }) });
38
+ }));
39
+ export {
40
+ Y as default
41
+ };
@@ -1,6 +1,6 @@
1
- import { s as Gs, Y as D, k as ft, Z as Ye, e as Ks, D as Xt, H as jn, n as zs, p as Vs, l as Xe, c as Hs, K as se, Q as Ue, S as Fe } from "./EYTSqAG9YOdb1vKx.js";
1
+ import { i as Gs, Y as D, a as ft, q as Ye, J as Ks, D as Xt, N as jn, n as zs, p as Vs, h as Xe, r as Hs, K as se, Q as Ue, _ as Fe } from "./DPpga_z_sz7WeoGk.js";
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.
@@ -0,0 +1,49 @@
1
+ import { jsx as t, jsxs as f } from "react/jsx-runtime";
2
+ import { memo as q, useState as x, useCallback as F, useEffect as G, useMemo as w } from "react";
3
+ import { ap as l, a2 as H, s as n, b as K, B as P, d as S, aq as A, ar as J, e as p, a6 as c, T as Q, a9 as D, as as U } from "./DPpga_z_sz7WeoGk.js";
4
+ /**
5
+ * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.4.15
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 X = ["Ok", "Cancel"], aa = q(($) => {
11
+ const { initialValue: I, context: h, onOption: b, onValidateOption: u, onInputOption: C, onDone: d, options: v = X, defaultOption: r = v?.[0], cancelOption: m = "Cancel", sx: N, ...V } = $, [e, T] = x(I), [j, B] = x(!1), g = F(async (a, o) => !0, []), y = l(async (a) => {
12
+ C?.(e, a), b?.(a, a === m, a === r), d?.();
13
+ }, [e, C, d, b, m, r]), M = l(async (a) => {
14
+ a.keyCode === H.Enter && await g?.(e, null) !== !1 && y(r);
15
+ }, [e, y]), z = l((a) => {
16
+ T(a.target.value), g?.(a.target.value, null);
17
+ }, [u]), E = l(async (a) => {
18
+ let o = await Promise.resolve(u?.(a));
19
+ try {
20
+ o !== !1 && (o = await Promise.resolve(g?.(e, a)) ?? !0);
21
+ } catch {
22
+ }
23
+ return o ?? !0;
24
+ }, [u]), [k, O] = x(n.Styles.lookupStyle(e).formatType ?? n.Type.Custom);
25
+ G(() => {
26
+ O(n.Styles.lookupStyle(e).formatType ?? n.Type.Custom);
27
+ }, [e]);
28
+ const L = w(() => {
29
+ const a = n.Styles.lookupPrimary(), o = (i) => t(U, { value: i, children: i }, i), s = Object.keys(a).map((i) => o(a[i].formatType));
30
+ return s.push(o(n.Type.Custom)), s;
31
+ }, []), R = F((a) => {
32
+ const o = a.target.value;
33
+ O(o);
34
+ const s = n.Styles.lookupDefault(o);
35
+ s && T(s);
36
+ }, []), W = w(() => {
37
+ const a = h();
38
+ return a.createTemporaryCell({ value: a.getValue() ?? 12345, style: { numberFormat: e } });
39
+ }, [k, e, h]);
40
+ return t(K, { title: "Number Format", options: v, onDone: d, onOption: (a) => y(a), onValidateOption: E, defaultOption: r, cancelOption: m, autoFocusSel: ".autoFocus", sx: { width: "580px", ...N }, ...V, children: f(P, { sx: { paddingTop: (a) => a.spacing(1), paddingBottom: (a) => a.spacing(0), rowGap: (a) => a.spacing(1), display: "flex", flexDirection: "column" }, children: [f(S, { sx: { minWidth: 135 }, size: "small", children: [t(A, { children: "Category" }), t(J, { value: k, label: "Category", onChange: R, sx: { backgroundImage: `linear-gradient(${p("#fff", c(5))}, ${p("#fff", c(5))})` }, children: L })] }), t(S, { sx: { paddingTop: (a) => a.spacing(1.5), minWidth: 135, width: "100%" }, size: "small", children: t(Q, { label: "Code", onFocus: (a) => {
41
+ j || a.target?.select(), B(!0);
42
+ }, 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(${p("#fff", c(5))}, ${p("#fff", c(5))})` } } }, value: e, onChange: z, onKeyDown: M, onContextMenu: (a) => {
43
+ a.stopPropagation();
44
+ } }) }), f(P, { children: [t(D, { variant: "caption", component: "div", sx: { paddingLeft: (a) => a.spacing(2) }, children: "Preview" }), t(D, { 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: W.getNumberFormat().displayText || "(empty)" })] })] }) });
45
+ });
46
+ export {
47
+ aa as NumberFormatDialog,
48
+ aa as default
49
+ };
package/cdn/index.js CHANGED
@@ -1,19 +1,19 @@
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.
6
6
  */
7
- const S = /* @__PURE__ */ new Map(), k = (e, n = {}) => {
8
- const { message: t, icon: r, customElement: p, hide: m = !1, className: a, cssVars: f = {} } = n;
9
- if (m) return;
10
- const l = typeof e == "string" ? document.querySelector(e) : e;
11
- if (!l) return void console.warn(`Element with selector "${e}" not found for panel.`);
12
- let o;
13
- if (h(e), p) o = p;
7
+ const S = /* @__PURE__ */ new Map(), k = (e, o = {}) => {
8
+ const { message: s, icon: a, customElement: n, hide: i = !1, className: r, cssVars: f = {} } = o;
9
+ if (i) return;
10
+ const c = typeof e == "string" ? document.querySelector(e) : e;
11
+ if (!c) return void console.warn(`Element with selector "${e}" not found for panel.`);
12
+ let t;
13
+ if (m(e), n) t = n;
14
14
  else {
15
- o = document.createElement("div"), o.className = a ? `sheetxl-panel ${a}` : "sheetxl-panel";
16
- const u = Object.entries(f).map(([s, y]) => `--sheetxl-panel-${s}: ${y};`).join(" "), g = `
15
+ t = document.createElement("div"), t.className = r ? `sheetxl-panel ${r}` : "sheetxl-panel";
16
+ const u = Object.entries(f).map(([l, w]) => `--sheetxl-panel-${l}: ${w};`).join(" "), x = `
17
17
  @keyframes sheetxl-spin {
18
18
  from { transform: rotate(0deg); }
19
19
  to { transform: rotate(360deg); }
@@ -80,22 +80,22 @@ const S = /* @__PURE__ */ new Map(), k = (e, n = {}) => {
80
80
  text-align: center;
81
81
  margin: 0;
82
82
  }
83
- `, d = document.createElement("style");
84
- if (d.textContent = g, o.appendChild(d), r) {
85
- const s = document.createElement("div");
86
- s.className = "sheetxl-icon", typeof r == "string" ? s.innerHTML = r : r instanceof HTMLElement && s.appendChild(r), o.appendChild(s);
83
+ `, p = document.createElement("style");
84
+ if (p.textContent = x, t.appendChild(p), a) {
85
+ const l = document.createElement("div");
86
+ l.className = "sheetxl-icon", typeof a == "string" ? l.innerHTML = a : a instanceof HTMLElement && l.appendChild(a), t.appendChild(l);
87
87
  }
88
- if (t) {
89
- const s = document.createElement("div");
90
- s.className = "sheetxl-message", s.textContent = t, o.appendChild(s);
88
+ if (s) {
89
+ const l = document.createElement("div");
90
+ l.className = "sheetxl-message", l.textContent = s, t.appendChild(l);
91
91
  }
92
- u && (o.style.cssText += u), window.matchMedia && window.matchMedia("(prefers-color-scheme: dark)").matches && o.classList.add("dark");
92
+ u && (t.style.cssText += u), window.matchMedia && window.matchMedia("(prefers-color-scheme: dark)").matches && t.classList.add("dark");
93
93
  }
94
- window.getComputedStyle(l).position === "static" && (l.style.position = "relative"), l.appendChild(o), S.set(e, o);
95
- }, h = (e) => {
96
- const n = S.get(e);
97
- n && n.parentNode && (n.parentNode.removeChild(n), S.delete(e));
98
- }, L = (e, n = {}) => {
94
+ window.getComputedStyle(c).position === "static" && (c.style.position = "relative"), c.appendChild(t), S.set(e, t);
95
+ }, m = (e) => {
96
+ const o = S.get(e);
97
+ o && o.parentNode && (o.parentNode.removeChild(o), S.delete(e));
98
+ }, b = (e, o = {}) => {
99
99
  k(e, { icon: `
100
100
  <svg width="24" height="24" viewBox="0 0 24 24" style="animation: sheetxl-spin 1s linear infinite;">
101
101
  <circle cx="12" cy="12" r="10" fill="none" stroke="currentColor" stroke-width="2" stroke-dasharray="31.416" stroke-dashoffset="31.416">
@@ -103,69 +103,69 @@ const S = /* @__PURE__ */ new Map(), k = (e, n = {}) => {
103
103
  <animate attributeName="stroke-dashoffset" dur="2s" values="0;-15.708;-31.416" repeatCount="indefinite"/>
104
104
  </circle>
105
105
  </svg>
106
- `, className: "loading", ...n });
107
- }, b = (e, n = {}) => {
106
+ `, className: "loading", ...o });
107
+ }, L = (e, o = {}) => {
108
108
  k(e, { message: "Failed to load SheetXL", icon: `
109
109
  <svg width="24" height="24" viewBox="0 0 24 24" fill="currentColor">
110
110
  <path d="M12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2zm5 13.59L15.59 17 12 13.41 8.41 17 7 15.59 10.59 12 7 8.41 8.41 7 12 10.59 15.59 7 17 8.41 13.41 12 17 15.59z"/>
111
111
  </svg>
112
- `, className: "error", ...n });
113
- }, x = /* @__PURE__ */ new Map();
114
- let c;
115
- const C = async (e) => c || (c = await (async (n, t) => {
116
- try {
117
- if (t?.selector && L(t?.selector, t?.loading), !n) {
118
- const { resolveDependencies: r } = await import("./assets/DnWjhq4ZlgIuFcii.js");
119
- n = await r(t?.dependencies);
112
+ `, className: "error", ...o });
113
+ }, g = /* @__PURE__ */ new Map();
114
+ let d;
115
+ const C = async (e) => {
116
+ if (d) return d;
117
+ const { resolveDependencies: o } = await import("./assets/ChzKnwtP8tCXlyQC.js"), s = await o(typeof e == "object" ? e?.dependencies : void 0);
118
+ return d = await (async (a, n) => {
119
+ typeof n == "string" && (n = { selector: n });
120
+ try {
121
+ if (n?.selector && b(n?.selector, n?.loading), !a) throw new Error("No runtime provided");
122
+ n?.licenseKey && await a.StudioMUI.LicenseManager.setLicenseKey(n.licenseKey), n?.selector && m(n?.selector);
123
+ } catch (i) {
124
+ throw n?.selector && (m(n.selector), L(n.selector, { message: `Failed to initialize: ${i instanceof Error ? i.message : String(i)}`, ...n?.error })), console.error("Failed to initialize:", i), i;
120
125
  }
121
- t?.licenseKey && await n.StudioMUI.LicenseManager.setLicenseKey(t.licenseKey), t?.selector && h(t?.selector);
122
- } catch (r) {
123
- throw t?.selector && (h(t.selector), b(t.selector, { message: `Failed to initialize: ${r instanceof Error ? r.message : String(r)}`, ...t?.error })), console.error("Failed to initialize:", r), r;
124
- }
125
- return n;
126
- })(null, typeof e == "object" ? e : void 0), c), M = { attachStudio: async (e, n) => (c || (c = await C(e)), (async (t, r, p, m) => {
127
- if (!r) throw new Error("Either a 'selector' or a 'InitializationOptions' must be provided to attach.");
128
- const a = typeof r == "string" ? r : r.selector || "#sheetxl", f = typeof a == "string" ? document.querySelector(a) : a;
129
- if (!f) throw new Error(`Element with selector "${a}" not found.`);
130
- if (x.has(a) && x.get(a) !== null) throw new Error(`SheetXL already attached to "${a}". Detach first if you want to re-attach.`);
131
- const l = typeof r == "object" ? r : null;
132
- L(a, l?.loading);
126
+ return a;
127
+ })(s, e), d;
128
+ }, M = { attachStudio: async (e, o) => (d || (d = await C(e)), (async (s, a, n, i) => {
129
+ if (!a) throw new Error("Either a 'selector' or a 'InitializationOptions' must be provided to attach.");
130
+ const r = typeof a == "string" ? a : a.selector || "#sheetxl", f = typeof r == "string" ? document.querySelector(r) : r;
131
+ if (!f) throw new Error(`Element with selector "${r}" not found.`);
132
+ if (g.has(r) && g.get(r) !== null) throw new Error(`SheetXL already attached to "${r}". Detach first if you want to re-attach.`);
133
+ const c = typeof a == "object" ? a : null;
134
+ b(r, c?.loading);
133
135
  try {
134
- h(a);
135
- const o = t.ReactDOMClient.createRoot(f), u = t.React.createRef(), g = t.StudioMUI[p];
136
- let d = null;
137
- await new Promise((v) => {
138
- o.render(t.React.createElement(g, { ...m, ref: (i) => {
139
- i && (d = i, v());
136
+ m(r);
137
+ const t = s.ReactDOMClient.createRoot(f), u = s.React.createRef(), x = s.StudioMUI[n];
138
+ let p = null;
139
+ await new Promise((y) => {
140
+ t.render(s.React.createElement(x, { ...i, ref: (h) => {
141
+ h && (p = h, y());
140
142
  } }));
141
143
  });
142
- const y = { runtime: t, root: o };
143
- x.set(a, y);
144
+ const w = { runtime: s, root: t };
145
+ g.set(r, w);
144
146
  let E = !1;
145
- return new Proxy(d, { get(v, i, z) {
146
- if (E) throw new Error(`SheetXL instance attached to "${a}" has been detached. Cannot access properties.`);
147
- return i === "update" ? (N) => {
148
- const $ = { ...m, ...N, ref: u };
149
- return o.render(t.React.createElement(g, $)), Promise.resolve();
150
- } : i === "detach" ? () => (x.delete(a), o.unmount(), E = !0, Promise.resolve()) : Reflect.get(v, i, z);
147
+ return new Proxy(p, { get(y, h, N) {
148
+ if (E) throw new Error(`SheetXL instance attached to "${r}" has been detached. Cannot access properties.`);
149
+ return h === "update" ? (z) => {
150
+ const $ = { ...i, ...z, ref: u };
151
+ return t.render(s.React.createElement(x, $)), Promise.resolve();
152
+ } : h === "detach" ? () => (g.delete(r), t.unmount(), E = !0, Promise.resolve()) : Reflect.get(y, h, N);
151
153
  } });
152
- } catch (o) {
153
- throw h(a), b(a, { message: `Failed to initialize: ${o instanceof Error ? o.message : String(o)}`, ...l?.error }), console.error("Failed to initialize:", o), o;
154
+ } catch (t) {
155
+ throw m(r), L(r, { message: `Failed to initialize: ${t instanceof Error ? t.message : String(t)}`, ...c?.error }), console.error("Failed to initialize:", t), t;
154
156
  }
155
- })(c, e, "Studio", n)), async initialize(e) {
157
+ })(d, e, "Studio", o)), async initialize(e) {
156
158
  await C(e);
157
- } }, w = document.currentScript;
158
- if (w) {
159
- console.log("SheetXL script tag:", w);
160
- const e = w.dataset ? w.dataset.target : "#sheetxl";
161
- document.querySelector(e) || console.error(`SheetXL: Target element "${e}" not found in the document.`), M.attachStudio(e, { autoFocus: !0 }).then((n) => {
162
- console.log("SheetXL studio created and attached:", n);
163
- }).catch((n) => {
164
- console.error("Error creating SheetXL studio:", n);
159
+ } }, v = document.currentScript;
160
+ if (v) {
161
+ const e = v.dataset ? v.dataset.target : "#sheetxl";
162
+ document.querySelector(e) || console.error(`SheetXL: Target element "${e}" not found in the document.`), M.attachStudio(e, { autoFocus: !0 }).then((o) => {
163
+ }).catch((o) => {
164
+ console.error("Error creating SheetXL studio:", o);
165
165
  });
166
166
  }
167
- const X = M;
167
+ const R = M;
168
168
  export {
169
- X as SheetXL,
170
- X as default
169
+ R as SheetXL,
170
+ R as default
171
171
  };
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.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.
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.14",
4
+ "version": "0.4.15",
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.14",
45
- "@sheetxl/sdk": "^0.4.14",
44
+ "@sheetxl/studio-mui": "^0.4.15",
45
+ "@sheetxl/sdk": "^0.4.15",
46
46
  "react": "^19.1.0",
47
47
  "react-dom": "^19.1.0",
48
48
  "csstype": "^3.1.3",
@@ -1,6 +0,0 @@
1
- "use strict";/**
2
- * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.4.14
3
- *
4
- * (C) 2025-present SheetXL Inc. & Michael T. Ford
5
- * License: The license can be found at https://www.sheetxl.com/license.
6
- */Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});let s=null;const c={reactUrl:"https://esm.sh/react@19.1.0",reactJsxTransform:"https://esm.sh/react@19.1.0/jsx-runtime",reactDomUrl:"https://esm.sh/react-dom@19.1.0",reactDomUrlClient:"https://esm.sh/react-dom@19.1.0/client"};exports.resolveDependencies=t=>(t={...t,...c},s||(s=(async()=>{const n=t.reactUrl,o=t.reactDomUrl,a=t.reactDomUrlClient,i=t.reactJsxTransform;if(document.querySelector('script[type="importmap"]'))console.warn("SheetXL: Import map already exists. Skipping injection.");else{const e=document.createElement("script");e.type="importmap",e.textContent=JSON.stringify({imports:{react:n,"react/jsx-runtime":i,"react-dom":o,"react-dom/client":a}}),document.head.appendChild(e)}await new Promise(e=>setTimeout(e,0));const r=await Promise.all([Promise.resolve().then(()=>require("./DQGdVVTxixgptLdj.cjs")).then(e=>e.React),Promise.resolve().then(()=>require("./DQGdVVTxixgptLdj.cjs")).then(e=>e.ReactJSXTransform),Promise.resolve().then(()=>require("./DQGdVVTxixgptLdj.cjs")).then(e=>e.index),Promise.resolve().then(()=>require("./DQGdVVTxixgptLdj.cjs")).then(e=>e.ReactDOMClient),Promise.resolve().then(()=>require("./DQGdVVTxixgptLdj.cjs")).then(e=>e.StudioMUI)]);return{React:r[0],ReactJSXTransform:r[1],ReactDOM:r[2],ReactDOMClient:r[3],StudioMUI:r[4]}})(),s));