@sheetxl/studio-vanilla 0.2.6 → 0.3.1

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 (213) hide show
  1. package/LICENSE.md +11 -11
  2. package/README.md +97 -97
  3. package/browser/cjs/{SbiJpXr4zSazogFL.cjs → B29HyGkvyTaqtIuC.cjs} +2 -2
  4. package/browser/cjs/B8iSa6r3JrD4vHjL.cjs +6 -0
  5. package/browser/cjs/{jOP7ooHEjN3co_iZ.cjs → BCwQKO-V-abKxWJ_.cjs} +2 -2
  6. package/browser/cjs/BF4_gTBFjNLsAuPo.cjs +12 -0
  7. package/browser/cjs/{4NiwWTjxkcLOpBHc.cjs → BIhAYujRx9pHZ67U.cjs} +2 -2
  8. package/browser/cjs/BRQNzdFmQ9PNvWfV.cjs +6 -0
  9. package/browser/cjs/{mrnJfuocFdy9i9R3.cjs → B_9pnEZ3P5dxBLVz.cjs} +1 -1
  10. package/browser/cjs/BgGqhWOYof8HtKvS.cjs +6 -0
  11. package/browser/cjs/{CBZBwIXLTjbRRaU9.cjs → BnWGeUEXNoVAHA9V.cjs} +1 -17
  12. package/browser/cjs/{CKw4jZkHhKSXzs6h.cjs → C3cZA4YXXR0nGmiX.cjs} +2 -2
  13. package/browser/cjs/{nKcYIuvpPRsvmjR-.cjs → C4u2p0WIEc0W5hox.cjs} +1 -1
  14. package/browser/cjs/{Dh8m-Ac9vVGCi9Yq.cjs → C5x7lcJ4jXraEzwd.cjs} +1 -1
  15. package/browser/cjs/{BvTDI8ygFILANbVz.cjs → C7OrIlP5y8YNBUSH.cjs} +1 -1
  16. package/browser/cjs/{D1vx3s4eeAusN2dr.cjs → C8SAbjqWtcbByYiY.cjs} +3 -3
  17. package/browser/cjs/{CrusQU7n-xFhTDT-.cjs → C8hd-STurhDiTimj.cjs} +2 -12
  18. package/browser/cjs/{Dl0QVg14Ov3MtrZg.cjs → CBJAarKn0X6M88pE.cjs} +1 -1
  19. package/browser/cjs/CDO0e018-e_cnUym.cjs +15 -0
  20. package/browser/cjs/{E1VqiZcwSn2hKsws.cjs → CFfzGa0ejQ07wxHV.cjs} +1 -1
  21. package/browser/cjs/{D_5DvMR8jPRlNuxT.cjs → CHT-XlD5pCRxYb1o.cjs} +9 -29
  22. package/browser/cjs/CN7DAGeuWAMsmRhb.cjs +11 -0
  23. package/browser/cjs/{CTzzznrxhJwOeSgv.cjs → CU_R48ZMXIyABak8.cjs} +2 -2
  24. package/browser/cjs/{CxYUCSFp8hMAf50d.cjs → CV8cwUmZBb2eYPim.cjs} +1 -1
  25. package/browser/cjs/{BMb64q962k9A-bMB.cjs → CabhMyhLi9hYK9FO.cjs} +1 -1
  26. package/browser/cjs/{CNn7rZoKafET6tie.cjs → Ciie7NCkasQUFTqv.cjs} +1 -1
  27. package/browser/cjs/{a_iTRlS-js6pZrGe.cjs → Cl4uI7uL1nugyAcD.cjs} +1 -1
  28. package/browser/cjs/{D3KIApNgwiwcjh47.cjs → ClXPeqKnCdO5VQd1.cjs} +2 -2
  29. package/browser/cjs/CxEt88bduUlmhV5K.cjs +7 -0
  30. package/browser/cjs/{CQFRsBrfH78k6pne.cjs → Cy3k3rXLi24oJPm-.cjs} +38 -48
  31. package/browser/cjs/{BZpN7X6JL4D8w_GB.cjs → CzHenNm5o19h9rNf.cjs} +1 -6
  32. package/browser/cjs/{DhzHHcjCqQMACJkO.cjs → D-ca3kpTC3bPbYMY.cjs} +1 -1
  33. package/browser/cjs/D9PapZZefCMRgdbF.cjs +6 -0
  34. package/browser/cjs/DFoejjkymKumh6SJ.cjs +7 -0
  35. package/browser/cjs/{Dgjihf-Vgzj2ttMo.cjs → DGZ-53usY93Q9LZJ.cjs} +1 -1
  36. package/browser/cjs/{8yDG2Zhwm5LO2ijQ.cjs → DK7XNv54M-Rj1fg6.cjs} +8 -8
  37. package/browser/cjs/DMJ4JoGWQ1NWhoNM.cjs +13 -0
  38. package/browser/cjs/{CgrbnMMS3VBxsLYS.cjs → DO9ZaMqU-TGY63RK.cjs} +3 -13
  39. package/browser/cjs/{ByZrB-a0IZnXFHp8.cjs → DOgxIZ6SD7AX7tN7.cjs} +1 -1
  40. package/browser/cjs/DSNepPmduhFJYvxi.cjs +15 -0
  41. package/browser/cjs/{DPkfRf8m5z5E_E2s.cjs → DWrbdNR6TNLNKinN.cjs} +3 -25
  42. package/browser/cjs/{CAYXmKymTVVMxTH2.cjs → DcQYUHhq5WoB1QxG.cjs} +1 -1
  43. package/browser/cjs/DdWNj_URRJBkxSgW.cjs +6 -0
  44. package/browser/cjs/{Ck76VigGxTPmG0DP.cjs → Dj5Aixw77uvtuMcZ.cjs} +3 -3
  45. package/browser/cjs/{oyOMII910fu6r19K.cjs → DjrGUr-awhOmDtrE.cjs} +70 -142
  46. package/browser/cjs/{D-TIECYXgcaHs264.cjs → DnvWyFlaRONdjoOF.cjs} +1 -1
  47. package/browser/cjs/Do0vp6vAs3RSV-Wj.cjs +12 -0
  48. package/browser/cjs/{h3Qy9eaxuHD0JyHR.cjs → DoVq0lqvAcxtM1Q9.cjs} +2 -2
  49. package/browser/cjs/{BVKdI0s5yFZsn2T0.cjs → Dy4AAvOJQs8TKfi3.cjs} +1 -1
  50. package/browser/cjs/{BoPnK6TJs6wUDa23.cjs → DzvuCPwdW59TYNeg.cjs} +1 -1
  51. package/browser/cjs/{BWTSs9RaMIt9NGy2.cjs → J_OG6N-DJrUW5gl6.cjs} +1 -1
  52. package/browser/cjs/{DZUFs3fl2ku8XtNf.cjs → MSWIE9Rd2oZbZuZB.cjs} +1 -1
  53. package/browser/cjs/{CFhPRuiSwHSE_x7B.cjs → OhHbe4dM7GBzMzB9.cjs} +1 -1
  54. package/browser/cjs/{B5w1DBuur1eF-G7O.cjs → VqhUjfIqtv4hC74q.cjs} +1 -1
  55. package/browser/cjs/{DbzKX7-OCpSsf78i.cjs → Y2adlqLM2N2Vzjg9.cjs} +2 -51
  56. package/browser/cjs/YWP5pMacbGbLcEZn.cjs +6 -0
  57. package/browser/cjs/{CE36RgEMYAeLep_Z.cjs → cwVi8FCIym0yZxmX.cjs} +1 -1
  58. package/browser/cjs/{xKhTqfOghHSL_qFo.cjs → dDk7hLjpihmO5-cX.cjs} +4 -24
  59. package/browser/cjs/index.cjs +2 -2
  60. package/browser/cjs/{DFSBw2enocFHhyp0.cjs → oeYUTiYZNPC7s8k1.cjs} +1 -1
  61. package/browser/cjs/{DAaL6S2TfygGITsS.cjs → qhNuYY2km30jEjYq.cjs} +2 -2
  62. package/{cdn/assets/xEp0XqOf4vnZlc-n.js → browser/esm/-GyxMlVRTAiygfTi.mjs} +2 -14
  63. package/{cdn/assets/BBepvID5xeEtPxMH.js → browser/esm/7LvL2PwFxo4tRjtC.mjs} +1 -13
  64. package/browser/esm/{DCwLJ6DEQwqu81uY.mjs → B9y2dkVuJJxTR6Cu.mjs} +1 -13
  65. package/browser/esm/{CPOD8XRfYO5uptB0.mjs → BAmbFIYJN2lFgCcK.mjs} +1 -13
  66. package/browser/esm/{8ZYmmws0mkxKNtG_.mjs → BFMayN3xlOUqRI_o.mjs} +2 -2
  67. package/{cdn/assets/Dl3dLVEkSq5qsjbB.js → browser/esm/BGTzGVKBHhjSJDwD.mjs} +1 -13
  68. package/browser/esm/BGjWX_kSxlX68bbv.mjs +10 -0
  69. package/{cdn/assets/CRd4c7rXPheF4eRC.js → browser/esm/BI0TtNjq7VHPYLFi.mjs} +2 -8
  70. package/{cdn/assets/DqMU7xNG-uKz8luL.js → browser/esm/BR58mmeGHPieLgMd.mjs} +1 -13
  71. package/browser/esm/{7CBFN1KHQYVIMqKN.mjs → BT81je-vUgJM770Z.mjs} +1 -13
  72. package/{cdn/assets/DqsyhZjL6668lj-2.js → browser/esm/BZzMRDxX8W3pn7y9.mjs} +1 -13
  73. package/{cdn/assets/DMdXQSn8BQv80S2D.js → browser/esm/Bai9y7ZvJNafZXkG.mjs} +1 -20
  74. package/browser/esm/{DWW9JpOL577P0Jcy.mjs → BfLOMcpVLb78_pS5.mjs} +1 -13
  75. package/browser/esm/BhUrSLzqiTM2hBhI.mjs +41 -0
  76. package/browser/esm/Bhhrqsmqp91hJqxG.mjs +12 -0
  77. package/browser/esm/{DFwSCoA_BwL-cFSU.mjs → BiH9xaAzVGhk_0Qd.mjs} +5 -11
  78. package/browser/esm/{C2QaAHYQPApwaad4.mjs → Bk0J-4CfOjaMoUjW.mjs} +16 -16
  79. package/{cdn/assets/NhJZbi8C3XVUAc8E.js → browser/esm/Bn7Uxz6sXrXta-rf.mjs} +2 -8
  80. package/{cdn/assets/BePglJ-S0ILvScTD.js → browser/esm/BuyGJm1GNrHBofAV.mjs} +3 -27
  81. package/{cdn/assets/BOwWNl6nqWrCjwTz.js → browser/esm/By7CDTFXYiSCNGfD.mjs} +2 -20
  82. package/browser/esm/{bPqLZDDwVs0OD6ao.mjs → C0uV2sp4PwEuNpbn.mjs} +1 -13
  83. package/browser/esm/C70QesBx8A7k3kJu.mjs +10 -0
  84. package/{cdn/assets/CQRiXHUjvgXcqsqn.js → browser/esm/CBmA6m_MD-T3IhT-.mjs} +1 -19
  85. package/{cdn/assets/DvNB6TTtIz2XUQBc.js → browser/esm/CJG5baH0nxhKQDUu.mjs} +9 -15
  86. package/browser/esm/CNM_6Ekj85ca8CMj.mjs +29 -0
  87. package/{cdn/assets/CJLXmgmnLDb5s_w-.js → browser/esm/COWqzRwRuDK_Bdic.mjs} +8 -14
  88. package/browser/esm/{Bjq6sqTJnO5JQ8Wr.mjs → CQeoE2w94fROIlBe.mjs} +163 -163
  89. package/browser/esm/{b7ScV40UOJfStr0I.mjs → CQqb_o_4QHZmqlml.mjs} +1 -13
  90. package/browser/esm/CRkdWAFwM0QqPkBl.mjs +10 -0
  91. package/browser/esm/{BS4xQJxUoPB2uTOO.mjs → CUny7mPoyQiagYdd.mjs} +1 -15
  92. package/{cdn/assets/CHv1wkao8PUWKUlX.js → browser/esm/CXufcwWBSTc0ufnJ.mjs} +6 -12
  93. package/browser/esm/{szEWbn5GBdocnQ1T.mjs → CbAbkQUb6oMbznUI.mjs} +1 -13
  94. package/browser/esm/{BMIGpV1vmDYAnh2y.mjs → CdXVTrxlfpdxLJIW.mjs} +1 -13
  95. package/{cdn/assets/FosDZiBSbbnhyCiQ.js → browser/esm/Cj_b4SBU9OExCjrq.mjs} +12 -16
  96. package/{cdn/assets/C5Ns6bGEwMDPkrb1.js → browser/esm/Ct4edmJJhlsaXjWT.mjs} +1 -13
  97. package/{cdn/assets/BNpF33jiY0L0S9qA.js → browser/esm/Cuy_iWJUt-DZPu_m.mjs} +1 -13
  98. package/{cdn/assets/BGogog2z0PTZAG7d.js → browser/esm/D1i7jbpYgGHdUBHI.mjs} +3 -15
  99. package/{cdn/assets/DjF2OBfDYQFxEVui.js → browser/esm/DI31ljXqecIkfzC_.mjs} +1 -13
  100. package/{cdn/assets/DT7CyayY8ioX7Sha.js → browser/esm/DIhOwgfJ-KW70dVG.mjs} +1 -13
  101. package/{cdn/assets/BiRC8tZJwbmk8f3d.js → browser/esm/DY-wznfI02TzBooB.mjs} +6373 -6290
  102. package/browser/esm/{DxsknLUxl7cS64AC.mjs → DeFkwgSUXcAL-4MI.mjs} +13 -25
  103. package/browser/esm/{CGxKOxHG9zvAsucO.mjs → DeRdpzXPAT-NTuGX.mjs} +2 -14
  104. package/browser/esm/{Bm1CMCHYne8JGtcc.mjs → DjWavLHPu3GKEzTU.mjs} +1 -13
  105. package/{cdn/assets/CQcz1CFhVvi7XYTe.js → browser/esm/DrCAbGKUtU3dQxf1.mjs} +12 -18
  106. package/browser/esm/{B7Dc4diRnMvk5Bw0.mjs → DxxYtl4yGitwPRVP.mjs} +1 -13
  107. package/browser/esm/ESh2pnYgW_hn_Y4g.mjs +24 -0
  108. package/browser/esm/{O9VBEk6P2oLJL6dW.mjs → ILxB2ghS7La7VXBi.mjs} +8 -31
  109. package/browser/esm/{C0sVe-PEWwCFhexi.mjs → QuHaOall6bLwODh8.mjs} +2 -8
  110. package/browser/esm/{BjeTLZKZSVel6sar.mjs → TTzsQrEYYCtjJ_aM.mjs} +1 -13
  111. package/browser/esm/ZVFMnXncU5v2xxQj.mjs +21 -0
  112. package/browser/esm/{BGkLdDjZwm1cHdDK.mjs → ZozmNU1fZz0rIwnM.mjs} +7 -77
  113. package/browser/esm/{CTESqa8FhL4-IVoX.mjs → _JHuVqxt7gNsoWn-.mjs} +6 -32
  114. package/{cdn/assets/CzI0h5bfXNE3a_vf.js → browser/esm/fwoCYLInyLSFnSZQ.mjs} +1 -7
  115. package/browser/esm/{CYWWQPcyt3onwMQ7.mjs → gkLlKpramCNBfTs7.mjs} +1 -13
  116. package/browser/esm/index.mjs +2 -2
  117. package/browser/esm/{DA306ELRfW0pZ641.mjs → m6vgp5BteyB5mur7.mjs} +1 -13
  118. package/browser/esm/{BcR5RtSxtQ9hFYXe.mjs → md8aPMcWKEZYJq3K.mjs} +93 -99
  119. package/browser/esm/{73fDlLTG1MxU9t_W.mjs → uQZVXIPp9jLPfqko.mjs} +4 -28
  120. package/browser/esm/uxqyDXIaFmgmll6p.mjs +10 -0
  121. package/{browser/esm/BBepvID5xeEtPxMH.mjs → cdn/assets/7LvL2PwFxo4tRjtC.js} +1 -13
  122. package/{browser/esm/DZhgMJwKTI6jLENZ.mjs → cdn/assets/B7pTGz0qoUEf5oRZ.js} +8 -14
  123. package/cdn/assets/{DCwLJ6DEQwqu81uY.js → B9y2dkVuJJxTR6Cu.js} +1 -13
  124. package/cdn/assets/{CPOD8XRfYO5uptB0.js → BAmbFIYJN2lFgCcK.js} +1 -13
  125. package/{browser/esm/Dl3dLVEkSq5qsjbB.mjs → cdn/assets/BGTzGVKBHhjSJDwD.js} +1 -13
  126. package/cdn/assets/BGjWX_kSxlX68bbv.js +10 -0
  127. package/cdn/assets/{BX_EWzvh4dAJlXyH.js → BHQY35m5ZsNLGx4s.js} +6 -32
  128. package/{browser/esm/BMAs4k9FWXO5dvzW.mjs → cdn/assets/BIUc5ppdovF97mnI.js} +3 -15
  129. package/{browser/esm/DqMU7xNG-uKz8luL.mjs → cdn/assets/BR58mmeGHPieLgMd.js} +1 -13
  130. package/cdn/assets/{WH-1ldsHNlyLM88i.js → BSAajMR-86LIB0Wr.js} +2 -14
  131. package/cdn/assets/{7CBFN1KHQYVIMqKN.js → BT81je-vUgJM770Z.js} +1 -13
  132. package/{browser/esm/DYvV-jORGDzD12CG.mjs → cdn/assets/BUBhf8MVk-zzMvIn.js} +2 -14
  133. package/{browser/esm/Cf5etGQs23n5p9Sh.mjs → cdn/assets/BXoIUikm6MxpGehl.js} +2 -8
  134. package/{browser/esm/DqsyhZjL6668lj-2.mjs → cdn/assets/BZzMRDxX8W3pn7y9.js} +1 -13
  135. package/{browser/esm/DMdXQSn8BQv80S2D.mjs → cdn/assets/Bai9y7ZvJNafZXkG.js} +1 -20
  136. package/cdn/assets/{DWW9JpOL577P0Jcy.js → BfLOMcpVLb78_pS5.js} +1 -13
  137. package/cdn/assets/Bhhrqsmqp91hJqxG.js +12 -0
  138. package/{browser/esm/CBQ3k-tR5fIEYHVu.mjs → cdn/assets/BjtNxCPTeumKQNaW.js} +4799 -5022
  139. package/{browser/esm/Byad5xhs0PG7jQHf.mjs → cdn/assets/BnEAWPtKX5CgVKkp.js} +6 -12
  140. package/cdn/assets/{pVn5NzoIytNFyxQD.js → BrOXBqkeDvOBK9Fc.js} +93 -99
  141. package/{browser/esm/D4sGiip0eI_OEO2-.mjs → cdn/assets/Bs1BVe17rehcBW3a.js} +9 -15
  142. package/cdn/assets/{bPqLZDDwVs0OD6ao.js → C0uV2sp4PwEuNpbn.js} +1 -13
  143. package/cdn/assets/{BdrLTIp3TGlo7A6b.js → C1-crlw6ThhTeBjo.js} +2 -8
  144. package/cdn/assets/C70QesBx8A7k3kJu.js +10 -0
  145. package/{browser/esm/CQRiXHUjvgXcqsqn.mjs → cdn/assets/CBmA6m_MD-T3IhT-.js} +1 -19
  146. package/cdn/assets/{b7ScV40UOJfStr0I.js → CQqb_o_4QHZmqlml.js} +1 -13
  147. package/cdn/assets/CRkdWAFwM0QqPkBl.js +10 -0
  148. package/cdn/assets/{BS4xQJxUoPB2uTOO.js → CUny7mPoyQiagYdd.js} +1 -15
  149. package/cdn/assets/{szEWbn5GBdocnQ1T.js → CbAbkQUb6oMbznUI.js} +1 -13
  150. package/cdn/assets/{BMIGpV1vmDYAnh2y.js → CdXVTrxlfpdxLJIW.js} +1 -13
  151. package/{browser/esm/D8NWmv_D9wzKAPyy.mjs → cdn/assets/CqgEiFyDq2dBshfr.js} +12 -18
  152. package/cdn/assets/{CTY5L9sNAQjUY-Ur.js → CsNx7C_i1iOqmV3n.js} +2 -2
  153. package/{browser/esm/C5Ns6bGEwMDPkrb1.mjs → cdn/assets/Ct4edmJJhlsaXjWT.js} +1 -13
  154. package/{browser/esm/fNYQR3hLd1EqdQI7.mjs → cdn/assets/Cu0RUSPX2LvwFQ6U.js} +12 -16
  155. package/{browser/esm/BNpF33jiY0L0S9qA.mjs → cdn/assets/Cuy_iWJUt-DZPu_m.js} +1 -13
  156. package/cdn/assets/CzPqPp4BsLzOooEG.js +29 -0
  157. package/cdn/assets/{bGV5-YXOtIPSY_A3.js → D0LTvhKDv_AaR2AJ.js} +8 -31
  158. package/cdn/assets/{CU7RbiHI6vP_IkZQ.js → D0lIj4chgObzK66x.js} +16 -16
  159. package/{browser/esm/vNwe_TAG7lOlvb-U.mjs → cdn/assets/DGyubEhwYpXIK9_t.js} +3 -27
  160. package/{browser/esm/DjF2OBfDYQFxEVui.mjs → cdn/assets/DI31ljXqecIkfzC_.js} +1 -13
  161. package/{browser/esm/DT7CyayY8ioX7Sha.mjs → cdn/assets/DIhOwgfJ-KW70dVG.js} +1 -13
  162. package/{browser/esm/0WIeROOs0OqKO60b.mjs → cdn/assets/DK-NdTpBC0eQBgZV.js} +2 -8
  163. package/cdn/assets/{-Rg54EZZ0LSeNnnu.js → DK1bSVHKRKH0lHUk.js} +5 -11
  164. package/cdn/assets/DLrEolIaGLyUO3dd.js +41 -0
  165. package/cdn/assets/{B07ocxYdXp3kx7xM.js → DXG92ERB-BJo0KZb.js} +13 -25
  166. package/cdn/assets/{Bm1CMCHYne8JGtcc.js → DjWavLHPu3GKEzTU.js} +1 -13
  167. package/{browser/esm/BcGH-rcuIhjijdGF.mjs → cdn/assets/Ds4qf07Q_SexJRqj.js} +2 -20
  168. package/cdn/assets/{B7Dc4diRnMvk5Bw0.js → DxxYtl4yGitwPRVP.js} +1 -13
  169. package/cdn/assets/ESh2pnYgW_hn_Y4g.js +24 -0
  170. package/cdn/assets/{BjeTLZKZSVel6sar.js → TTzsQrEYYCtjJ_aM.js} +1 -13
  171. package/cdn/assets/ZVFMnXncU5v2xxQj.js +21 -0
  172. package/cdn/assets/{BGkLdDjZwm1cHdDK.js → ZozmNU1fZz0rIwnM.js} +7 -77
  173. package/{browser/esm/CzI0h5bfXNE3a_vf.mjs → cdn/assets/fwoCYLInyLSFnSZQ.js} +1 -7
  174. package/cdn/assets/{CYWWQPcyt3onwMQ7.js → gkLlKpramCNBfTs7.js} +1 -13
  175. package/cdn/assets/{DA306ELRfW0pZ641.js → m6vgp5BteyB5mur7.js} +1 -13
  176. package/cdn/assets/{D011zztsQTt5yuEi.js → mGs6ZnI3Kp7ca3V9.js} +64 -64
  177. package/cdn/assets/uxqyDXIaFmgmll6p.js +10 -0
  178. package/cdn/assets/{CD4_9iFh0Z3Fu0p-.js → wVem_Fk0Cp-sFmAO.js} +4 -28
  179. package/cdn/index.js +2 -2
  180. package/cdn/loader.js +1 -1
  181. package/package.json +5 -10
  182. package/browser/cjs/4mMv0yGl8JlJdJwC.cjs +0 -6
  183. package/browser/cjs/7PkKsSGUkmXs3Wa0.cjs +0 -17
  184. package/browser/cjs/BC-1f7olfSnvP5t1.cjs +0 -30
  185. package/browser/cjs/BaqrqLZse7ZhSCSC.cjs +0 -21
  186. package/browser/cjs/Blg4dgabZNUdqzjE.cjs +0 -30
  187. package/browser/cjs/BzefugzfsvhQJTxH.cjs +0 -33
  188. package/browser/cjs/CltDuJ0goStI2Pm-.cjs +0 -16
  189. package/browser/cjs/D6es3ovzsWf-u49L.cjs +0 -21
  190. package/browser/cjs/DLAvcQ0_bBi_HAmQ.cjs +0 -21
  191. package/browser/cjs/DcN2nh7J3o-vc2OM.cjs +0 -17
  192. package/browser/cjs/Depbq7l9q0Crlmkc.cjs +0 -16
  193. package/browser/cjs/DkuMXvWgV_H841lu.cjs +0 -6
  194. package/browser/cjs/kPeW5SGwnyXnv784.cjs +0 -22
  195. package/browser/cjs/psfoGRmLXEnwqUh-.cjs +0 -17
  196. package/browser/esm/6KTytng3XdhYD9DA.mjs +0 -40
  197. package/browser/esm/B727JcKBTuW8MFQk.mjs +0 -24
  198. package/browser/esm/BUvn3WopVpvmP2LB.mjs +0 -47
  199. package/browser/esm/BqXk_RFy_zg_6YkR.mjs +0 -22
  200. package/browser/esm/BvpVD0N8gp_4oS9M.mjs +0 -22
  201. package/browser/esm/CSZpZ_QTVr58AeSI.mjs +0 -22
  202. package/browser/esm/CZygL9mkkoKL61_x.mjs +0 -22
  203. package/browser/esm/DEWWYjysFMNXGJC4.mjs +0 -53
  204. package/browser/esm/aLA4BFXtLzzuaOYE.mjs +0 -42
  205. package/cdn/assets/6KTytng3XdhYD9DA.js +0 -40
  206. package/cdn/assets/B727JcKBTuW8MFQk.js +0 -24
  207. package/cdn/assets/BqXk_RFy_zg_6YkR.js +0 -22
  208. package/cdn/assets/BvpVD0N8gp_4oS9M.js +0 -22
  209. package/cdn/assets/CSZpZ_QTVr58AeSI.js +0 -22
  210. package/cdn/assets/CZygL9mkkoKL61_x.js +0 -22
  211. package/cdn/assets/CoCdt4l_VXdRmN-_.js +0 -47
  212. package/cdn/assets/aLA4BFXtLzzuaOYE.js +0 -42
  213. package/cdn/assets/gckeYKSVevk93KmG.js +0 -53
@@ -1,33 +0,0 @@
1
- "use strict";/**
2
- * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.2.6
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"});/**
7
- * @license @sheetxl/studio-mui - Studio - Spreadsheet UI built with SheetXL SDK using React & MUI. - v0.2.6
8
- *
9
- * (C) 2025-present SheetXL Inc. & Michael T. Ford
10
- * License: The license can be found at https://www.sheetxl.com/license.
11
- *//**
12
- * @license @sheetxl/sdk - SDK - A high-performance, embeddable spreadsheet engine. - v0.2.6
13
- *
14
- * (C) 2025-present SheetXL Inc. & Michael T. Ford
15
- * License: The license can be found at https://www.sheetxl.com/license.
16
- *//**
17
- * @license @sheetxl/scripting - Scripting - Scripting engine for Macros and formulas; includes TypeScript and EsBuild. - v0.2.6
18
- *
19
- * (C) 2025-present SheetXL Inc. & Michael T. Ford
20
- * License: The license can be found at https://www.sheetxl.com/license.
21
- *//**
22
- * @license @sheetxl/utils - Utils - Utilities used by most SheetXL components. - v0.2.6
23
- *
24
- * (C) 2025-present SheetXL Inc. & Michael T. Ford
25
- * License: The license can be found at https://www.sheetxl.com/license.
26
- */const h="text/html",b="text/plain",L="image/png",Ct=Object.freeze({left:0,top:0}),Mt=Object.freeze({left:0,top:0,bottom:0,right:0}),Rt=Object.freeze({x:0,y:0,width:0,height:0});Object.freeze(Object.defineProperty({__proto__:null,EmptyBounds:Rt,EmptyRect:Mt,EmptyTopLeft:Ct},Symbol.toStringTag,{value:"Module"}));const m="column",j="row",At=Object.freeze({colIndex:0,rowIndex:0}),Ft=Object.freeze({colStart:0,rowStart:0,colEnd:0,rowEnd:0}),yt=(e,t)=>e.colStart===t.colStart?e.rowStart-t.rowStart:e.colStart-t.colStart,gt=(e,t)=>e.rowStart===t.rowStart?e.colStart-t.colStart:e.rowStart-t.rowStart,Lt=(e,t)=>e.rowEnd===t.rowEnd?t.colEnd-e.colEnd:t.rowEnd-e.rowEnd,Pt=(e,t)=>e.colEnd===t.colEnd?t.rowEnd-e.rowEnd:t.colEnd-e.colEnd,J=(e,t)=>e.colIndex===t.colIndex?e.rowIndex-t.rowIndex:e.colIndex-t.colIndex,H=(e,t)=>e.rowIndex===t.rowIndex?e.colIndex-t.colIndex:e.rowIndex-t.rowIndex,bt=(e=j,t=!1)=>t?e!==m?Lt:Pt:e!==m?gt:yt,K=(e,t)=>e===t||!(!e||!t)&&e.rowIndex===t.rowIndex&&e.colIndex===t.colIndex,D=(e,t)=>e===t||!(!e||!t)&&e.rowStart===t.rowStart&&e.rowEnd===t.rowEnd&&e.colStart===t.colStart&&e.colEnd===t.colEnd,$=(e,t)=>!(!e||!t||e.colStart>t.colEnd||t.colStart>e.colEnd||e.rowStart>t.rowEnd||t.rowStart>e.rowEnd),Y=(e,t)=>{if(e===t)return!0;if(!e||!t||e.length!==t.length)return!1;for(let r=0;r<e.length;r++)if(!D(e[r],t[r]))return!1;return!0},P=(e,t,r)=>{if(!e&&!t)return null;if(!e)return r?t:{...t};if(!t)return r?e:{...e};const n=Math.min(e.colStart,t.colStart),o=Math.min(e.rowStart,t.rowStart),a=Math.max(e.colEnd,t.colEnd),i=Math.max(e.rowEnd,t.rowEnd);let l=r;return l?(l.colStart=n,l.rowStart=o,l.colEnd=a,l.rowEnd=i):l={colStart:n,rowStart:o,colEnd:a,rowEnd:i},l},Z=(e,t)=>{if(!t||t.length===0)return e;const r={...e};for(let n=0;n<t.length;n++){const o=t[n];$(r,o)&&(r.rowStart=Math.min(r.rowStart,o.rowStart),r.colStart=Math.min(r.colStart,o.colStart),r.rowEnd=Math.max(r.rowEnd,o.rowEnd),r.colEnd=Math.max(r.colEnd,o.colEnd))}return r},Ut=[null,null],kt=(e,t,r)=>{if(e[0].value===e[1].value)return t};function X(e,t=2,r,n=j,o){let a=[...e];if(t<=0||e.length<=1)return a;let i=n===m,l=0,s=!1;do{const c=a.sort(bt(i?j:m));a=[],a.push(c[0]);const d=c.length;let w=0,u=c[0],f=u.colStart,p=u.rowStart,x=u.colEnd,_=u.rowEnd;for(let A=1;A<d;A++){const g=c[A];let G=!1;if(G=i?u&&p===g.rowStart&&_===g.rowEnd&&x+1===g.colStart:u&&f===g.colStart&&x===g.colEnd&&_+1===g.rowStart,G){let S={colStart:f,rowStart:p,colEnd:i?g.colEnd:x,rowEnd:i?_:g.rowEnd};if(u.value!==void 0&&(S.value=u.value),r){const F=o??[null,null];F[0]=u,F[1]=g,S=r(F,S,n)}if(S){a[w]=S,s=!0,u=S,f=u.colStart,p=u.rowStart,x=u.colEnd,_=u.rowEnd;continue}}a[++w]=g,u=g,f=u.colStart,p=u.rowStart,x=u.colEnd,_=u.rowEnd}l++,i=!i,l===1&&(s=!0)}while(l<t&&s&&a.length>1);return a}Object.freeze(Object.defineProperty({__proto__:null,EmptyCell:At,EmptyRange:Ft,cellToRange:(e,t)=>{if(!e)return null;let r=t;return r||(r={...e},delete r.colIndex,delete r.rowIndex),r.colStart=e.colIndex??0,r.rowStart=e.rowIndex??0,r.colEnd=e.colIndex??0,r.rowEnd=e.rowIndex??0,r},columnFirstCellComparator:J,columnFirstRangeComparator:yt,createCellComparator:(e=j,t=!1)=>t?e!==m?(r,n)=>r.rowIndex===n.rowIndex?n.colIndex-r.colIndex:n.rowIndex-r.rowIndex:(r,n)=>r.colIndex===n.colIndex?n.rowIndex-r.rowIndex:n.colIndex-r.colIndex:e!==m?H:J,createConflatingRanges:(e,t=!1)=>{const r=[];let n,o,a=Number.MIN_SAFE_INTEGER,i=Number.MIN_SAFE_INTEGER;return{append:(l,s,c)=>{let d=!0;const w=c!==void 0;if(w){const p=e?e(o,c,t):o===c?c:void 0;p===void 0?d=!1:c=p}if(d&&s===i+1&&l===a)return t?n.rowEnd=s:n.colEnd=s,i=s,void(o=c);n&&r.push(n);const u=t?l:s,f=t?s:l;n={colStart:u,rowStart:f,colEnd:u,rowEnd:f},w&&(n.value=c),a=l,i=s,o=c},done:l=>(n&&(r.push(n),n=null),l?X(r,3,l===!0?kt:l,t?m:j,Ut):r)}},createRangeComparator:bt,defaultRange:(e,t,r)=>e?r?(r.colStart=e.colStart??t.colStart,r.rowStart=e.rowStart??t.rowStart,r.colEnd=e.colEnd??t.colEnd,r.rowEnd=e.rowEnd??t.rowEnd,r):{colStart:e.colStart??t.colStart,rowStart:e.rowStart??t.rowStart,colEnd:e.colEnd??t.colEnd,rowEnd:e.rowEnd??t.rowEnd}:t,extendRangeToIntersectingRanges:Z,extendRangeToUnionRanges:(e,t)=>{if(!t||t.length===0)return e;let r=e,n=null;for(;!D(r,n);)n=r,r=Z(n,t);return r},indexOfCoords:(e,t)=>{const r={colStart:e.colIndex,rowStart:e.rowIndex,colEnd:e.colIndex,rowEnd:e.rowIndex};for(let n=t.length-1;n>=0;n--)if($(r,t[n]))return n;return-1},intersectRanges:(e,t,r)=>{if(!e)return r?t:{...t};if(!t)return r?e:{...e};if(!e&&!t||e.rowStart>t.rowEnd||e.rowEnd<t.rowStart||e.colStart>t.colEnd||e.colEnd<t.colStart)return null;const n=Math.max(e.colStart,t.colStart),o=Math.max(e.rowStart,t.rowStart),a=Math.min(e.colEnd,t.colEnd),i=Math.min(e.rowEnd,t.rowEnd);let l=r;return l?(l.colStart=n,l.rowStart=o,l.colEnd=a,l.rowEnd=i):l={colStart:n,rowStart:o,colEnd:a,rowEnd:i},l},isCellWithinRange:(e,t)=>!(!e||!t||e.rowIndex<t.rowStart||e.rowIndex>t.rowEnd||e.colIndex<t.colStart||e.colIndex>t.colEnd),isEqualCells:K,isEqualRanges:D,isEqualRangesArrays:Y,isEqualSelectionCoords:(e,t)=>e===t||!(!e||!t)&&e.rangeIndex===t.rangeIndex&&!!K(e.cell,t.cell)&&Y(e.ranges,t.ranges),isRangeWithinRange:(e,t)=>!(e.rowStart<t.rowStart||e.rowEnd>t.rowEnd||e.colStart<t.colStart||e.colEnd>t.colEnd),isRangesIntersect:$,isSingleCell:e=>!!e&&e.rowEnd===e.rowStart&&e.colStart===e.colEnd,isValidRange:e=>!(!e||typeof e.colStart!="number"||e.colStart<0||typeof e.colEnd!="number"||e.colEnd<e.colStart||typeof e.rowStart!="number"||e.rowStart<0||typeof e.rowEnd!="number"||e.rowEnd<e.rowStart),mergeRangedValues:X,rowFirstCellComparator:H,rowFirstRangeComparator:gt,sanitizeRange:e=>e?{colStart:e.colIndex??e.colStart??0,rowStart:e.rowIndex??e.rowStart??0,colEnd:e.colIndex??e.colEnd??0,rowEnd:e.rowIndex??e.rowEnd??0}:null,translateRange:(e,t=-e.rowStart,r=-e.colStart,n)=>n?(n.colStart=e.colStart+r,n.rowStart=e.rowStart+t,n.colEnd=e.colEnd+r,n.rowEnd=e.rowEnd+t,n):{colStart:e.colStart+r,rowStart:e.rowStart+t,colEnd:e.colEnd+r,rowEnd:e.rowEnd+t},unionRanges:P,unionRangesArrays:(e,t,r)=>{if(!e||e.length===0)return null;if(e.length===1&&!t)return e[0];let n=e[0];for(let o=1;o<e.length;o++)n=P(n,e[o],r);return t&&(n=P(n,t,r)),n}},Symbol.toStringTag,{value:"Module"}));const Nt=typeof Symbol=="function"&&Symbol.for?Symbol.for("react.element"):60103;function Bt(e){return function(t){return!!t&&typeof t=="object"}(e)&&!function(t){const r=Object.prototype.toString.call(t);return r==="[object RegExp]"||r==="[object Date]"||t.$$typeof===Nt}(e)}function I(e,t){return t.clone!==!1&&t.isMergeableObject(e)?E((r=e,Array.isArray(r)?[]:{}),e,t):e;var r}function zt(e,t,r){return e.concat(t).map(function(n){return I(n,r)})}function Q(e){return Object.keys(e).concat((t=e,Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(t).filter(function(r){return Object.propertyIsEnumerable.call(t,r)}):[]));var t}function tt(e,t){try{return t in e}catch{return!1}}function E(e,t,r){(r=r||{}).arrayMerge=r.arrayMerge||zt,r.isMergeableObject=r.isMergeableObject||Bt,r.cloneUnlessOtherwiseSpecified=I;const n=Array.isArray(t);return n===Array.isArray(e)?n?r.arrayMerge(e,t,r):function(o,a,i){const l={};return i.isMergeableObject(o)&&Q(o).forEach(function(s){l[s]=I(o[s],i)}),Q(a).forEach(function(s){var c,d;tt(c=o,d=s)&&(!Object.hasOwnProperty.call(c,d)||!Object.propertyIsEnumerable.call(c,d))||(tt(o,s)&&i.isMergeableObject(a[s])?l[s]=function(w,u){if(!u.customMerge)return E;const f=u.customMerge(w);return typeof f=="function"?f:E}(s,i)(o[s],a[s],i):l[s]=I(a[s],i))}),l}(e,t,r):I(t,r)}E.all=function(e,t){if(!Array.isArray(e))throw new Error("first argument should be an array");return e.reduce(function(r,n){return E(r,n,t)},{})};const qt=Object.freeze([]),Dt=Object.freeze({}),et=e=>e,R=()=>"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(e){let t=16*Math.random()|0;return(e==="x"?t:3&t|8).toString(16)}),mt=(e,t)=>e===t||!(!Array.isArray(e)||!Array.isArray(t)||e.length!==t.length)&&e.every((r,n)=>r===t[n]),O=e=>typeof e=="object"&&!Array.isArray(e)&&e!==null,Et=e=>typeof e!="object"||Array.isArray(e)||e===null?e:(Object.keys(e).forEach(function(t){e[t]&&typeof e[t]=="object"?Et(e[t]):e[t]!==null&&e[t]!==void 0||delete e[t],typeof e[t]=="object"&&Object.keys(e[t]).length===0&&delete e[t]}),Object.keys(e).length===0?null:e),$t=(e,t)=>!(e!==t&&!mt(e,t)&&!e.isEqual?.(t)),St=(e,t,r=$t)=>{if(e==null||e===t)return null;if(!e||typeof e!="object"||Array.isArray(e)||e.isImmutable?.())return r(e,t)?null:e;const n=Object.keys(e);if(n.length===0)return null;let o=!1;for(let a=0;a<n.length;a++){const i=n[a];St(e[i],t?.[i],r)===null&&(o=!0,delete e[i])}return o&&Object.keys(e).length===0?null:void 0},rt=typeof performance=="object"&&typeof performance.now=="function"?()=>performance.now():()=>Date.now(),nt=e=>e==null,ot=(e,t)=>!(t.left>e.right||t.right<e.left||t.top>e.bottom||t.bottom<e.top),at=!(typeof window>"u"||!window.document||!window.document.createElement),y={Windows:"windows",MacOS:"macos",IOS:"ios",Linux:"linux",Android:"android",Safari:"safari",Firefox:"firefox",Node:"node",Unknown:"unknown"},T=()=>{if(vt())return y.Node;const e=globalThis.navigator!==void 0&&globalThis.navigator.userAgent?globalThis.navigator.userAgent.toLowerCase():"";return e?/(win32|win64|windows|wince)/i.test(e)?y.Windows:/(macintosh|macintel|macppc|mac68k|macos)/i.test(e)?y.MacOS:/(iphone|ipad|ipod)/i.test(e)?y.IOS:/android/.test(e)?y.Android:/linux/.test(e)?y.Linux:/^((?!chrome|android|).)*safari/i.test(e)?y.Safari:/^((?!chrome|android|Seamonkey).)*firefox/i.test(e)?y.Firefox:y.Unknown:y.Unknown};function vt(){return typeof process<"u"&&process.release?.name==="node"||(typeof process<"u"&&process.browser,!1)}const it=(e,t=!1)=>(document.hasFocus()||t)&&(e===document.activeElement||e?.contains(document.activeElement)),xt=Object.freeze(Object.defineProperty({__proto__:null,EmptyArray:qt,EmptyObject:Dt,OSType:y,arrayMove:function(e,t,r){const n=e.slice();return n.splice(r<0?n.length+r:r,0,n.splice(t,1)[0]),n},asNumber:e=>{const t=1*e;return Number.isFinite(t)?t:0},camelToPrettyCase:e=>e.length===1?e.toUpperCase():e.replace(/([A-Z])/g," $1").replace(/^./,function(t){return t.toUpperCase()}).trim(),canUseDOM:at,cancelTimeout:e=>{cancelAnimationFrame(e.id)},castToString:e=>e==null||e===void 0?"":typeof e!="string"?""+e:e,cloneObject:e=>nt(e)?e:JSON.parse(JSON.stringify(e)),consoleWithNoSource:(...e)=>new Promise(t=>{setTimeout(()=>{Function("console.log.apply(console, arguments)").apply(null,e),t()})}),debounce:function(e,t=300,r=!1){let n,o,a,i,l=0;function s(){let d=Date.now()-l;d<t&&d>=0?n=setTimeout(s,t-d):(n=null,r||(i=e.apply(a,o),a=o=null))}t==null&&(t=100);const c=function(){a=globalThis,o=arguments,l=Date.now();var d=r&&!n;return n||(n=setTimeout(s,t)),d&&(i=e.apply(a,o),a=o=null),i};return c.clear=function(){n&&(clearTimeout(n),n=null)},c.flush=function(){n&&(i=e.apply(a,o),a=o=null,clearTimeout(n),n=null)},c},deepEqual:function e(t,r){if(t===r)return!0;if(t&&r&&typeof t=="object"&&typeof r=="object"){if(t.constructor!==r.constructor)return!1;let n,o,a;if(Array.isArray(t)){if(n=t.length,n!=r.length)return!1;for(o=n;o--!==0;)if(!e(t[o],r[o]))return!1;return!0}if(t instanceof Map&&r instanceof Map){if(t.size!==r.size)return!1;for(o of t.entries())if(!r.has(o[0]))return!1;for(o of t.entries())if(!e(o[1],r.get(o[0])))return!1;return!0}if(t instanceof Set&&r instanceof Set){if(t.size!==r.size)return!1;for(o of t.entries())if(!r.has(o[0]))return!1;return!0}if(ArrayBuffer.isView(t)&&ArrayBuffer.isView(r)){if(n=t.length,n!=r.length)return!1;for(o=n;o--!==0;)if(t[o]!==r[o])return!1;return!0}if(t.constructor===RegExp)return t.source===r.source&&t.flags===r.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===r.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===r.toString();if(a=Object.keys(t),n=a.length,n!==Object.keys(r).length)return!1;for(o=n;o--!==0;)if(!Object.prototype.hasOwnProperty.call(r,a[o]))return!1;for(o=n;o--!==0;){let i=a[o];if(!(i==="_owner"&&t.$$typeof||e(t[i],r[i])))return!1}return!0}return t!=t&&r!=r},deepFreeze:function e(t){return Object.freeze(t),Object.keys(t).forEach(r=>{typeof t[r]!="object"||t[r]===null||Object.isFrozen(t[r])||e(t[r])}),t},deepMerge:E,diffValues:(e,t)=>{const r={},n=Object.keys(t),o=n.length;for(let a=0;a<o;a++){const i=n[a];e[i]!==t[i]&&(e[i]===void 0?r[i]=t[i]:r[i]=e[i])}return Object.keys(r).length===0?null:r},findEqualOrGreater:function(e,t,r=et){let n=0,o=e.length-1;for(;n<=o;){let a=Math.floor((n+o)/2),i=r(e[a]);if(i===t)return a;i<t?n=a+1:o=a-1}return n},findEqualOrLesser:function(e,t,r=et){let n=e.length-1,o=0;for(;n>=o;){let a=Math.floor((n+o)/2),i=r(e[a]);if(i===t)return a;i>t?n=a-1:o=a+1}return n},findNextStep:(e,t=!0,r=15,n=10,o=400)=>{const a=Math.max(e-n,0)+(t?1:-1);return Math.min(o,Math[t?"ceil":"floor"](a/r)*r+n)},getBuildEnv:()=>"browser2-build",getDPI:()=>{let e=1;return typeof window=="object"&&(e=window.devicePixelRatio||1),e},getFromPath:(e,t)=>{const r=t.split(".");let n=e;for(let o=0;o<r.length;o++){const a=r[o];if(!n)return null;let i=n[a];if(typeof i=="function"&&(i=i.bind(n)()),!i||!O(i))return i;n=i}return n??null},getOS:T,hasFocus:it,isDefined:e=>e!=null,isEmpty:e=>e==null||e==="",isEqualArrays:mt,isEqualBounds:(e,t)=>e===t||!(e&&!t||t&&!e)&&e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height,isEqualObjectKeys:(e,t)=>{if(e===t)return!0;if(e&&!t||t&&!e)return!1;const r=Object.keys(e);if(r.length!==Object.keys(t).length)return!1;for(let n=0;n<r.length;n++)if(e[r[n]]!==t[r[n]])return!1;return!0},isNode:vt,isNullOrUndefined:nt,isNumeric:e=>{const t=1*e;return Number.isFinite(t)&&typeof t=="number"},isObject:O,isPromiseLike:e=>!!e&&typeof e.then=="function",isRectInsideRect:(e,t)=>e.top>=t.top&&e.bottom<=t.bottom&&e.left>=t.left&&e.right<=t.right,isRectIntersect:ot,mergeContentful:(...e)=>{const t=e.length;if(t>0&&e[t-1]!==void 0&&!O(e[t-1]))return e[t-1];let r=e[0]||{};for(let n=1;n<t;n++)r=E(r,e[n]||{},{arrayMerge:(o,a)=>[...a]});return r},nextTick:e=>{typeof window<"u"&&typeof window.requestAnimationFrame=="function"?window.requestAnimationFrame(()=>{e()}):(typeof setImmediate=="function"?setImmediate:setTimeout)(()=>{e()})},openFileDialog:(e="*.*")=>new Promise((t,r)=>{if(!at)return void r("Unable to open dialog with no dom.");const n=document.createElement("input");n.type="file",n.accept=e;let o=null,a=!1;globalThis.addEventListener?.("focus",()=>{setTimeout(()=>{o||a||(a=!0,t(null))},1e3)},{once:!0,passive:!0}),n.onchange=()=>{if(o=n.files[0],o){if(a)return void console.warn("File open detected after faux cancel.",o);t(o)}},n.autofocus=!0,n.click()}),rafThrottle:e=>{let t,r=!1,n=function(){r=!1,e(t)};return function(o){t=o,t&&t.persist&&t.persist(),r||(r=!0,requestAnimationFrame(n))}},removeEmptyProperties:Et,removeEqualValues:St,removeListenerAll:e=>{if(!e)return[];for(let t=0;t<e.length;t++)e[t]&&e[t]();return[]},requestTimeout:(e,t)=>{const r=rt(),n={id:requestAnimationFrame(function o(){rt()-r>=t?e.call(null):n.id=requestAnimationFrame(o)})};return n},roundAccurately:(e,t=0)=>{if(e==null||!isFinite(e))return null;const r=10**t;return Number(Math.round(e*r)/r)},setToPath:(e,t,r)=>{const n=t.split(".");let o=e;if(!o)throw new Error("Can not set path to a null path.");for(let a=0;o&&a<n.length-1;a++){const i=n[a];let l=o[i];if(l==null&&(l={},o[i]=l),!O(l))throw new Error("Can not set path to a non object path.");o=l}if(typeof r!="number"&&typeof r!="boolean"&&typeof r!="string"&&!O(r))throw new Error(`Can not set path to ${r} that is not a a supported primitive.`);return o[n[n.length-1]]=r,e},splitNumber:e=>{let t=Math.abs(e);if(isNaN(t)||!isFinite(e))return null;let r=0|t,n=t-r,o=0,a=0,i=1;if(n>5e-8)for(;a<8&&Math.abs(o/i-n)>5e-8;)a++,i*=10,o=Math.round(n*i);return{ip:Math.trunc(e),fp:o,ipLength:Math.ceil(Math.log10(r+1)),fpLength:a}},subtractRect:(e,t,r=!1)=>{if(!t)return[e];if(!ot(e,t))return[];const n=[];let o=e;const a=()=>{t.top>o.top&&t.top<o.bottom&&(n.push({...o,bottom:t.top}),o={...o,top:t.top})},i=()=>{t.bottom>o.top&&t.bottom<o.bottom&&(n.push({...o,top:t.bottom}),o={...o,bottom:t.bottom})},l=()=>{t.right>o.left&&t.right<o.right&&(n.push({...o,left:t.right}),o={...o,right:t.right})},s=()=>{t.left>o.left&&t.left<o.right&&(n.push({...o,right:t.left}),o={...o,left:t.left})};return r?(s(),l(),a(),i()):(a(),i(),l(),s()),n},textToKey:e=>e.replace(/[^a-zA-Z0-9]/g,"").toLowerCase(),throttle:function(e,t){let r=null;return(...n)=>{const o=Date.now();(!r||o-r>=t)&&(r=o,e(...n))}},toSafeJSON:function e(t){if(t===null||typeof t!="object")return t;if(typeof t.toJSON=="function")return t.toJSON();if(Array.isArray(t))return t.map(n=>e(n));if(typeof t.toString=="function"&&t.toString!==Object.prototype.toString)return t.toString();const r={};for(const n in t)t.hasOwnProperty(n)&&(r[n]=e(t[n]));return r},transpose:e=>{if(!e)return e;const t=e.length,r=e[0].length,n=[];for(let o=0;o<r;o++)n[o]=Array(t);for(let o=0;o<t;o++)for(let a=0;a<r;a++)n[a][o]=e[o][a];return n},uuidV4:R,validEnumValue:(e,t)=>{if(!Object.values(e).includes(t))throw new Error(`Invalid type: ${t??"null"}. Must be one of: ${Object.values(t).join(", ")}.`)},whenFocus:async(e,t=!1)=>new Promise(r=>{it(e,t)?r(!0):e.addEventListener("focusin",()=>{r(!0)},{once:!0}),e.focus()})},Symbol.toStringTag,{value:"Module"}));Object.freeze(Object.defineProperty({__proto__:null,MESSAGE_ERROR_INVALID_ARG:e=>`Invalid argument: '${e}'.`},Symbol.toStringTag,{value:"Module"}));const _t=e=>{const t=new Uint8Array(e),r=t.byteLength;let n="";for(let o=0;o<r;o++)n+=String.fromCharCode(t[o]);if(typeof window<"u"&&typeof globalThis.btoa=="function")return globalThis.btoa(n);if(typeof Buffer<"u")return Buffer.from(n,"binary").toString("base64");throw new Error("Unsupported environment")},W=e=>new Promise((t,r)=>{if(e)if(typeof FileReader<"u"){const n=new FileReader;n.onload=()=>{t(n.result)},n.onerror=()=>{r(n.error)},n.readAsText(e)}else if(typeof Buffer<"u"){const n=o=>Buffer.from(o).toString("utf-8");e.arrayBuffer().then(o=>{t(n(o))}).catch(o=>{r(o)})}else r(new Error("Unsupported environment"));else t("")});Object.freeze(Object.defineProperty({__proto__:null,DEFAULT_MIME_TYPE:"*/*",arrayBufferToBase64:_t,base64ToArrayBuffer:e=>{const t=typeof window<"u"&&typeof globalThis.atob=="function"?globalThis.atob(e):Buffer.from(e,"base64").toString("binary"),r=t.length,n=new Uint8Array(r);for(let o=0;o<r;o++)n[o]=t.charCodeAt(o);return n.buffer},blobToString:W},Symbol.toStringTag,{value:"Module"}));const Ot="data:image/png;base64,",It="Unable to resolve image.",lt=e=>new Promise(async(t,r)=>{let n=null;try{n=new Image,n.src=e,n.addEventListener("load",function(){t({width:n.naturalWidth,height:n.naturalHeight})},{once:!0}),n.addEventListener("error",function(){URL.revokeObjectURL(e),r("Invalid Image")},{once:!0}),await n.decode("sync")}catch{n?.src&&URL.revokeObjectURL(n.src)}n||r(It)}),U="image/svg+xml";var st,ct;Object.freeze(Object.defineProperty({__proto__:null,DATA_URL_PNG_PREFIX:Ot,getImageDataUrl:(e,t=1)=>new Promise(async(r,n)=>{let o=null;try{o=new Image,o.src=e,o.addEventListener("load",function(){try{const a=document.createElement("canvas");a.width=o.naturalWidth,a.height=o.naturalHeight,a.getContext("2d").drawImage(o,0,0);const i=a.toDataURL("image/png",t);r({elemImg:o,dataUrl:i})}catch(a){URL.revokeObjectURL(e),n(a)}},{once:!0}),o.addEventListener("error",function(){URL.revokeObjectURL(e),n("Invalid Image")},{once:!0}),await o.decode("sync")}catch{o?.src&&URL.revokeObjectURL(o.src)}o||n(It)}),loadImageDetails:async(e,t=null)=>{let r=null;const n=async()=>{try{const a=t??"image/*",i=URL.createObjectURL(new Blob([e],{type:a})),l=await lt(i);r={mimeType:a,naturalDimensions:l,asUrl:i}}catch{}},o=async()=>{try{const a=new TextDecoder().decode(e),i=URL.createObjectURL(new Blob([a],{type:U})),l=await lt(i);r={mimeType:t??U,naturalDimensions:l,asUrl:i,asSVGText:a}}catch{}};if(t===U?await o():t.startsWith("image/")?await n():(await n(),r||await o()),!r)throw new Error("Failed to load image");return r}},Symbol.toStringTag,{value:"Module"})),(ct=st||(st={})).resolveTypedUpdates=(e,t,r,n)=>{if(e===null)return e;if(e===void 0)return n;let o=e;if(t?.shorthand){const s=t?.shorthand(e,r);s!==void 0&&(o=s)}if(o!==null&&t?.getSubType){const s=t.getSubType(o);s&&(t=s)}const a=t?.properties,i=t?.arrayType??!1;let l=o;if(t&&t.merge&&l&&n)l=t.merge(l,n,r);else if(!i&&a){const s=Object.keys({...o,...n});l=null;for(let c=0;c<s.length;c++){const d=s[c];let w,u=o[d];if(u!==void 0){const f=a[d];w=f?(0,ct.resolveTypedUpdates)(u,f,r,n?.[d]):u}else w=n?.[d];w!=null&&(l=l??{},l[d]=w)}}return l};const ut=`The Safari browser does not support advanced copy and paste.
27
- Copy and paste will be limited to within the browser tab.
28
-
29
- Please use Chrome or Edge if external copy and paste is required.`,k=`You do not have permissions to access the clipboard.
30
- All copy and paste operations will be limited to the browser tab.`,jt={Safari:`The Safari browser does not support advanced copy and paste.
31
- Copy and paste will be limited to within the browser tab.
32
-
33
- Please use Chrome or Edge if external copy and paste is required.`,Perms:k,PermsWrite:T()===y.Safari?ut:k,PermsRead:T()===y.Safari?ut:k},N=async()=>new Promise(e=>{document.hasFocus()?e():globalThis.addEventListener?.("focus",()=>{e()},{once:!0}),document.activeElement.focus?.()}),B=async(e,t,r)=>{if(T()===y.Safari)return await r(new Error(jt.Safari));try{const n=async i=>{try{return await i()}catch(l){if(l.message?.includes("Document is not focused"))return!1;throw l}},o=await globalThis?.navigator?.permissions?.query({name:e,allowWithoutGesture:!0,allowWithoutSanitization:!0});let a=!1;if(o.state==="prompt"&&(a=await n(t)),a||o.state!=="granted"||(a=await t()),!a)return await r(new Error(o.state))}catch(n){return n.message==="No valid data on clipboard"||n.name==="DataError"?void 0:await r(n)}},Tt=async e=>{try{return await e.read({unsanitized:[h]})}catch{}return await e.read()};if(!globalThis.ClipboardItem){const e=(r,n)=>new Blob([n],{type:r});class t{constructor(n,o){this._items={},this._types=Object.keys(n);const a={},i=Object.keys(n);for(let l=0;l<i.length;l++){const s=i[l];let c=n[s];a[s]=typeof c=="string"?e(s,c):c}this._items=a,this._presentationStyle=o?.presentationStyle??"unspecified"}get types(){return this._types}getType(n){return Promise.resolve(this._items[n])}supports(n){return!0}}globalThis.ClipboardItem=t}const V=async(e,t=h)=>new Promise(async(r,n)=>{try{const o=await(async(a,i)=>{if(!a)return null;const l=await Tt(a);let s=!1;for(let c=0;!s&&l&&c<l.length;c++)if(s=l[c].types.includes(i),s)return await l[c].getType(i);return s?void 0:null})(e,t);if(o){const a=new FileReader;a.onload=()=>{r(a.result)},a.onerror=()=>{r("")},a.readAsText(o)}else r("")}catch(o){n(o)}}),dt=async(e,t=h)=>{const r=await V(e,t);if(!r)return null;let n=null;try{n=new DOMParser().parseFromString(r,h)}catch{console.warn("Can't parse html from clipboard.")}return n},C="clipboard-uuid",v="web text/uuid",ft=e=>`<div style="display:none" ${C}="${e}"/>`,Wt=(e,t)=>{let r=null;try{const n=new DOMParser().parseFromString(t,h);n.body.firstElementChild.setAttribute(C,e),r=n.getElementsByTagName("body")[0].innerHTML}catch(n){console.warn("Can't embed uuid.",n)}return r},pt=(e,t)=>{if(!t||!e)return!1;try{const r=t.querySelectorAll(`[${C}="${e}"]`);if(r&&r.length===1)return!0;if(t.querySelector("parsererror"))throw new Error("We are unable to parse node");return!1}catch{return!1}};class wt{constructor(t){if(t?.nativeClipboard===void 0||t?.nativeClipboard===!0)try{this._nativeClipboard=globalThis?.navigator.clipboard}catch{t?.nativeClipboard===!0&&console.warn("NativeClipboard option set to true but no native clipboard available.")}else this._nativeClipboard=t?.nativeClipboard===!1?null:t?.nativeClipboard;this._disableCheckOnFocus=t?.disableCheckOnFocus??!1,this._init()}async _checkForChanges(){this._nativeClipboard&&this._state&&!this._disableCheckOnFocus&&await B("clipboard-read",async()=>{await N();const t=await V(this._nativeClipboard,v);if(!this._state||t&&t===this._state.uuid)return!0;const r=await dt(this._nativeClipboard,h);return!this._state||(pt(this._state.uuid,r)||this.clear(),!0)},async t=>{t?.message==="denied"||t.message?.includes("Document is not focused")||T()===y.Safari||console.warn("Unable to detect clipboard changes: ",t)})}_init(){const t=this;this._listeners=new Map,this._listenersCapture=new Map,this._state=null,this._nativeClipboard&&(this._onFocus=()=>{t._checkForChanges()},this._onBlur=()=>{globalThis.addEventListener?.("focus",t._onFocus,{once:!0})},globalThis.addEventListener?.("blur",this._onBlur),this._nativeClipboard.addEventListener("clipboardchange",r=>{t._checkForChanges()}))}async read(){if(!this._nativeClipboard)return this._state?.items??null;const t=this;return await B("clipboard-read",async()=>{if(await N(),this._state?.uuid){const r=await V(this._nativeClipboard,v);if(r&&r===t._state.uuid)return!0;const n=await dt(this._nativeClipboard,h);if(pt(t._state?.uuid,n))return!0}return t._state={items:await Tt(this._nativeClipboard),uuid:null,ref:null},this.dispatchEvent(new Event("clipboardread")),!0},async r=>{this.dispatchEvent(new Event("clipboarderrorread"))}),this._state?.items??[]}async write(t){return this._write({uuid:R(),items:t,ref:null})}async _write(t){if(!this._nativeClipboard)return this._state=t,this.dispatchEvent(new Event("clipboardwrite")),this.dispatchEvent(new Event("clipboardchange")),null;const r=this,n=[],o=t.uuid;let a=t.items??[];const i=()=>{r._state={uuid:o,ref:t.ref,items:n},r.dispatchEvent(new Event("clipboardwrite")),r.dispatchEvent(new Event("clipboardchange"))};await B("clipboard-write",async()=>{await N(),o&&a.length===0&&(a.push(new ClipboardItem({[v]:new Blob([o],{type:v})})),a.push(new ClipboardItem({[h]:new Blob([ft(o)],{type:h})})));for(let l=0;l<Math.min(1,a.length);l++){const s=a[l];let c=s.types.indexOf(h),d=null;if(c!==-1){const f=await s.getType(h);d=await W(f),d&&(d=Wt(o,d))}if(!d&&s.types.includes(b)){const f=await s.getType(b);if(f){let p=null;typeof f=="string"?(console.warn("text as string",f),p=f):p=await W(f),p&&(d=`<div ${C}="${o}">${p}</div>`)}}if(!d&&s.types.includes(L)){const f=await s.getType(L),p=_t(await f.arrayBuffer());d=`<div ${C}="${o}"><img src="${Ot+p}"/></div>`}!d&&o&&(d=ft(o));const w=new Blob([d??""],{type:h}),u={};for(let f=0;f<s.types.length;f++){const p=s.types[f];u[p]=f===c?w:s.getType(p)}d&&c===-1&&(u[h]=w),o&&(u[v]=new Blob([o],{type:v})),n.push(new ClipboardItem(u))}try{n&&n.length!==0?await this._nativeClipboard.write(n):await(async l=>{l&&await l.writeText("")})(this._nativeClipboard)}catch(l){l.message?.includes("Document is not focused")||console.warn("Unable to write to native clipboard: ",l)}return i(),!0},async l=>{this.dispatchEvent(new Event("clipboarderrorwrite")),i()})}async writeReference(t){if(!t)return void this.clear();let r=null;const n={};try{const a=await t.toText?.()??null;a&&(n[b]=new Blob([a??""],{type:b}))}catch(a){r=a}try{const a=await t.toHtml?.()??null;a&&(n[h]=new Blob([a],{type:h}))}catch(a){r=a,console.warn("export to html",a)}try{const a=await t.toImage?.()??null;a&&(n[L]=a)}catch(a){r=a,console.warn("export to png",a)}const o=this._write({uuid:R(),ref:t,items:Object.keys(n).length>0?[new ClipboardItem(n)]:null});if(r)throw r;return o}clear(t=!1){this._state&&(this._state=null,t&&this._write({uuid:null,ref:null,items:null}),this.dispatchEvent(new Event("clipboardwrite")),this.dispatchEvent(new Event("clipboardchange")))}async readReference(){return await this.read(),this._state?.ref??null}readText(){return new Promise(async(t,r)=>{const n=await this.read();let o=null;for(let i=0;!o&&n&&i<n.length;i++)n[i].types.includes(b)&&(o=await n[i].getType(b));if(!o)return void t("");const a=new FileReader;a.onload=()=>{t(a.result)},a.readAsText(o),a.onerror=i=>{r(i)}})}async writeText(t){const r=[new ClipboardItem({[b]:new Blob([t],{type:b})})];return this._write({uuid:R(),items:r,ref:null})}addEventListener(t,r,n={}){const o=n?.capture?this._listenersCapture:this._listeners;let a=o.get(t);a||(a=new Map,o.set(t,a)),a.set(r,typeof n=="boolean"?{}:n)}dispatchEvent(t){if(!t)return;const r=n=>{const o=n.get(t.type);o&&o.forEach((a,i)=>{try{typeof i=="function"?i(t):i.handleEvent&&i.handleEvent(t),a.once&&o.delete(i)}catch(l){console.warn(l)}})};return r(this._listenersCapture),r(this._listeners),!0}removeEventListener(t,r,n){const o=n?.capture?this._listenersCapture:this._listeners,a=o.get(t);a&&(a.delete(r),a.size===0&&o.delete(t))}close(){globalThis.removeEventListener?.("focus",this._onFocus),globalThis.removeEventListener?.("blur",this._onBlur)}}var z;(z=wt||(wt={})).ErrorMessages=jt,z.Global=new z;let ht=null,q=null,M=null;const Vt=Object.freeze({compileTypescript:async function(e){if(!e?.source)return null;if(q&&xt.deepEqual(q,e))return ht;const t=await async function(){if(M)return M;const{TypeScriptCompiler:n}=await Promise.resolve().then(()=>require("./h3Qy9eaxuHD0JyHR.cjs"));return M=new n,M}(),r=await t.compileModule(e);return ht=r,q=e,r}}),Gt=Object.freeze(Object.defineProperty({__proto__:null,ScriptingUtils:Vt},Symbol.toStringTag,{value:"Module"}));exports.$=xt,exports.i=Gt;
@@ -1,16 +0,0 @@
1
- "use strict";/**
2
- * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.2.6
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"});const p=require("./oyOMII910fu6r19K.cjs"),g=require("./DPkfRf8m5z5E_E2s.cjs");/**
7
- * @license @sheetxl/studio-mui - Studio - Spreadsheet UI built with SheetXL SDK using React & MUI. - v0.2.6
8
- *
9
- * (C) 2025-present SheetXL Inc. & Michael T. Ford
10
- * License: The license can be found at https://www.sheetxl.com/license.
11
- *//**
12
- * @license @sheetxl/io - IO - Import/Export Libraries for SheetXL. - v0.2.6
13
- *
14
- * (C) 2025-present SheetXL Inc. & Michael T. Ford
15
- * License: The license can be found at https://www.sheetxl.com/license.
16
- */class z{constructor(t){this.list=t}get length(){return this.list.length}item(t){return this.list[t]}forEach(t,e){for(let s=0;s<this.list.length;s++)t(this.list[s],s,this)}}const G=u=>u===!0||u==="1"||u==="on"||u==="true"||u!==!1&&u!=="0"&&u!=="off"&&u!=="false"&&null,W=u=>{const t=parseInt(u);return isNaN(t)?null:t},X=u=>{const t=parseFloat(u);return isNaN(t)?null:t},$=new Map;class S{constructor(t,e,s,r,o,i=null,n){const l=(c,h,d)=>n?.getRef?.(c,h,d,n?.parsedRefs),a=c=>n?.getRefs?.(c,n?.parsedRefs);this._parent=t,this.sharedShared=e,this.currentPath=s,this.elemRoot=r,this.jsonRoot=o,t?(this._fileLocation=t._fileLocation,this._getRef=t._getRef,this._getRefs=t._getRefs):(i&&(this._fileLocation=i),l&&a&&(this._getRef=l),a&&(this._getRefs=a),this._onWarning=n?.onWarning,this._addPerson=n?.addPerson)}getRef(t,e=!1){return this._getRef?.(t,this._fileLocation,e)??null}getRelationships(){return this._getRefs(this._fileLocation)??$}getPath(){return this.currentPath}getElemRoot(){return this.elemRoot}getJsonRoot(){return this.jsonRoot}warn(t){this._onWarning?this._onWarning(t):this._parent?this._parent?.warn?.(t):console.warn(t)}addPerson(t){return this._addPerson?this._addPerson(t):this._parent?this._parent?._addPerson?.(t):null}getVisitorParamsState(){return this.sharedShared.getVisitorParamsState()}evaluate(t,e){if(!t)return e;let s=[e];const r=t.split("/");for(let o=0;o<r.length;o++){const i=r[o];if(i===""||i===".")continue;let n=[];for(let l=0;l<s.length;l++){const a=s[l],c=a.childNodes;for(let h=0;c&&h<c.length;h++){const d=a.childNodes[h];d.localName!==i&&i!=="*"||n.push(d)}}s=n}return s.length===1?s[0]:s.length===0?null:new z(s)}getFromPath(t,e){return p.dn.getFromPath(t,e)}setToPath(t,e,s){return p.dn.setToPath(t,e,s)}getValAttrAsString(t,e){let s=this.evaluate(t,e);return s&&s.hasAttribute("val")?s.getAttribute("val")??null:null}getValAttrAsBoolean(t,e,s=!1){let r=this.evaluate(t,e);if(!r)return null;const o=r.hasAttribute("val")?r.getAttribute("val"):void 0;return o==null?s:o==="1"||o==="on"||o==="true"||o!=="0"&&o!=="off"&&o!=="false"&&s}getValAttrAsInteger(t,e){let s=this.evaluate(t,e);return s&&s.hasAttribute("val")?parseInt(s.getAttribute("val"))??null:null}getValAttrAsFloat(t,e){let s=this.evaluate(t,e);return s&&s.hasAttribute("val")?parseFloat(s.getAttribute("val"))??null:null}get BOOLEAN_COPY(){return G}get INT_COPY(){return W}get FLOAT_COPY(){return X}copyFromAttribute(t,e,s,r=e,o=null){if(!t||!s||!t.hasAttribute(e))return;let i=t.getAttribute(e);if(o){if(Array.isArray(o)){for(let n=0;n<o.length;n++)if(i==null||(i=o[n](i),i==null))return}else if(i==null||(i=o(i),i==null))return}this.setToPath(s,r,i)}}class V{constructor(t){this.jsonKey=t}visit(t,e,s){const r={};return s[this.jsonKey]=r,r}}class K{visit(t,e,s){if(!e)return;const r=e.childNodes;for(let o=0;o<r.length;o++){const i=r.item(o);i.nodeType===1&&i.localName==="Relationship"&&this.processRelationship(t,i,s)}return s}processRelationship(t,e,s){const r={};t.copyFromAttribute(e,"Target",r,"target"),t.copyFromAttribute(e,"Type",r,"type"),t.copyFromAttribute(e,"TargetMode",r,"targetMode"),s[e.getAttribute("Id")]=r}}const D=(u,t)=>{if(u||!u.hasAttribute("rot"))return;const e=u.getAttribute("rot"),s=p.dn.roundAccurately(g.p(e),2);s!==-1e3&&(t.rotation=s)},f=(u,t,e,s,r)=>{const o=u.getValAttrAsString(s,t);o!==null&&(e[r]=o)},A=(u,t,e,s,r=s,o=null)=>{const i=u.getValAttrAsBoolean(s,t,o);i!==null&&(e[r]=i)},C=(u,t,e,s,r)=>{const o=u.getValAttrAsInteger(s,t);o!==null&&(e[r]=o)},y=(u,t,e,s,r,o=1)=>{const i=u.getValAttrAsFloat(s,t);i!==null&&(e[r]=i*o)};class q{visit(t,e,s){return A(t,e,s,"roundedCorners","roundedCorners"),C(t,e,s,".//AlternateContent/Fallback/style","styleId"),s.range=null,s}afterVisit(t,e,s){let r={};s.types=r;let o={},i=0,n={},l=0,a=t.getVisitorParamsState().get("axes");const c=t.getVisitorParamsState().get("types");for(let m=0;m<c.length;m++){const b=c[m];if(b.xAxisId){const v=b.xAxisId,P=a.get(v);o[m+""]=P,b.offsetXAxis=m,delete b.xAxisId,s.xAxes=o,o.length=++i}if(b.yAxisId){const v=b.yAxisId,P=a.get(v);n[m+""]=P,b.offsetYAxis=m,delete b.yAxisId,s.yAxes=n,n.length=++l}r[m+""]=b}r.length=c.length;const h=t.getVisitorParamsState().get("series");if(!h||h.length===0)return;const d={};s.series=d;for(let m=0;m<h.length;m++)d[m+""]=h[m];d.length=h.length}}class H{visit(t,e,s){return A(t,e,s,"plotVisOnly","plotVisOnly"),f(t,e,s,"dispBlanksAs","dispBlanksAs"),A(t,e,s,".//extLst/ext/dataDisplayOptions16/dispNaAsBlank","dispNaAsBlank"),A(t,e,s,"showDLblsOverMax","showDLblsOverMax"),s}afterVisit(t,e,s){try{const r=t.getValAttrAsBoolean("autoTitleDeleted",e),o=t.evaluate("title",e);t.setToPath(s,"title.shown",!(r===!0||!o));const i=t.evaluate("legend",e);t.setToPath(s,"legend.shown",i!==null)}catch(r){throw new Error("Unexpected Error parsing Chart: "+r)}}}class J{visit(t,e,s){let r={};return s.plotArea=r,r}}class O{EnumMappings(){}static fromOoxmlGradientType(t){return t==="circle"?"radial":t}static fromOoxmlLineCap(t){if(t==="rnd")return"round";if(t==="flat")return"butt";if(t==="sq")return"square";throw new Error("Invalid lineCap type: "+t)}static fromOoxmlCompound(t){return t==="sng"?"single":t}static fromOoxmlAlignment(t){return t==="ctr"?"center":t}}class Y{visit(t,e,s){}processStroke(t,e,s){const r={},o=t.evaluate("ln",e);if(o){o.hasAttribute("algn")&&(r.align=O.fromOoxmlAlignment(o.getAttribute("algn"))),o.hasAttribute("cap")&&(r.lineCap=O.fromOoxmlLineCap(o.getAttribute("cap"))),o.hasAttribute("cmpd")&&(r.compound=O.fromOoxmlCompound(o.getAttribute("cmpd"))),o.hasAttribute("w")&&(r.width=g.t(o.getAttribute("w")));const i=t.evaluate("miter",o);i&&(r.lineJoin="miter",i.hasAttribute("lim")&&(r.miter=parseFloat(i.getAttribute("lim")))),t.evaluate("bevel",o)&&(r.lineJoin="bevel"),t.evaluate("round",o)&&(r.lineJoin="round");const n=t.evaluate("custDash",o);if(n){const c=t.evaluate("ds",n);if(c&&c.length>0){let h="";for(let d=0;d<c.length;d++){const m=c.item(d);h+=g.a(m.getAttribute("d"))+","+g.a(m.getAttribute("sp"))}r.dash=h}}const l=t.evaluate("prstDash",o);l&&l.hasAttribute("val")&&(r.dash=l.getAttribute("val")),this.parseEndElement(t,o,r,"headEnd","head"),this.parseEndElement(t,o,r,"tailEnd","tail");const a=this.processFill(t,o,s);r.fill=a}return r}parseEndElement(t,e,s,r,o){const i=t.evaluate(r,e);if(i&&(i.hasAttribute("type")&&(s[o+"Type"]=i.getAttribute("type")),i.hasAttribute("len")||i.hasAttribute("w"))){const n=i.getAttribute("len")?i.getAttribute("len"):"med",l=i.getAttribute("w")?i.getAttribute("w"):"med";s[o+"Size"]=n+"-"+l}}processFill(t,e,s){const r={};if(t.evaluate("noFill",e))return r.none=!0,r;const o=t.evaluate("solidFill",e);if(o){const a=this.processAdjColor(t,o);return a&&(r.solid=a),r}const i=t.evaluate("gradFill",e);if(i){i.hasAttribute("rotWithShape")&&(r.isRotated=i.getAttribute("rotWithShape")==="1");const a=this.processGradFill(t,i);return r.gradient=a,r}const n=t.evaluate("pattFill",e);if(n){const a=this.processPatternFill(t,n);return r.pattern=a,r}const l=t.evaluate("blipFill",e);if(l){l.hasAttribute("rotWithShape")&&(r.isRotated=g.b(l.getAttribute("rotWithShape"))),l.hasAttribute("dpi")&&(r.dpi=l.getAttribute("dpi"));const a=this.processImageFill(t,l);return r.image=a,r}return r.none=!0,r}processGradFill(t,e){const s={},r=t.evaluate("lin",e);if(r){if(s.type="linear",r.hasAttribute("ang")){const c=g.p(r.getAttribute("ang"));s.angle=c}if(r.hasAttribute("scaled")){const c=g.b(r.getAttribute("scaled"));s.scaled=c}}const o={};e.hasAttribute("flip")&&(o.mirror=e.getAttribute("flip")),Object.keys(o).length>0&&(s.tile=o);const i=t.evaluate("path",e);if(i){i.hasAttribute("path")&&(s.type=O.fromOoxmlGradientType(i.getAttribute("path")));const c=t.evaluate("fillToRect",i);c&&(s.fillTo=this.getRect(c))}const n=t.evaluate("tileRect",e);n&&(s.tile.bounds=this.getRect(n));const l=[],a=t.evaluate("gsLst/gs",e);for(let c=0;a&&c<a.length;c++){const h=a.item(c),d={offset:g.a(h.getAttribute("pos")),color:this.processAdjColor(t,h)};l.push(d)}return l.length>0&&(s.stops=l),s}getRect(t){const e={};return t.hasAttribute("t")&&(e.t=g.a(t.getAttribute("t"))),t.hasAttribute("l")&&(e.l=g.a(t.getAttribute("l"))),t.hasAttribute("b")&&(e.b=g.a(t.getAttribute("b"))),t.hasAttribute("r")&&(e.r=g.a(t.getAttribute("r"))),Object.keys(e).length===0?null:e}processImageFill(t,e){return{ref:"https://cdn.sheetxl.com/public/logo-color-square-onwhite.png",tile:!1}}processPatternFill(t,e){const s={},r=e.getAttribute("prst");s.type=r;const o=t.evaluate("bgClr",e);if(o){const n=this.processAdjColor(t,o);n&&(s.background=n)}const i=t.evaluate("fgClr",e);if(i){let n=this.processAdjColor(t,i);n&&(s.foreground=n)}return s}processAdjColor(t,e){const s=t.evaluate("hslClr",e);if(s)return this.processHslClr(t,s);const r=t.evaluate("prstClr",e);if(r)return this.processClrWithValAttribute(t,r);const o=t.evaluate("schemeClr",e);if(o)return this.processClrWithValAttribute(t,o);const i=t.evaluate("sysClr",e);if(i)return this.processClrWithValAttribute(t,i);const n=t.evaluate("scrgbClr",e);if(n)return this.processScrgbClrElement(t,n);const l=t.evaluate("srgbClr",e);return l?this.processSrgbClrElement(t,l):null}processScrgbClrElement(t,e){let s="lrgba("+g.a(e.getAttribute("r"))+","+g.a(e.getAttribute("g"))+","+g.a(e.getAttribute("b"))+")";return s+=this.processAdjustments(t,e),s}processSrgbClrElement(t,e){let s=e.getAttribute("val");return s+=this.processAdjustments(t,e),s}processHslClr(t,e){let s="hsl("+g.p(e.getAttribute("hue"))+","+g.a(e.getAttribute("sat"))+","+g.a(e.getAttribute("lum"))+")";return s+=this.processAdjustments(t,e),s}processClrWithValAttribute(t,e){const s=e.getAttribute("val");if(!s)return;let r=s;return r+=this.processAdjustments(t,e),r}processAdjustments(t,e){let s="";const r=e.childNodes;for(let o=0;o<r.length;o++){const i=r.item(o);if(i.nodeType===1){let n=i.localName;s+=n==="hue"||n==="hueOff"||n==="hueMod"?this.processAdjustmentElement(t,e,n,6e4):n==="gray"||n==="comp"||n==="inv"||n==="gamma"||n==="invGamma"?this.processAdjustmentElement(t,e,n,1):this.processAdjustmentElement(t,e,n)}}return s}processAdjustmentElement(t,e,s,r=1e3){const o=t.evaluate(s,e);if(!o)return"";const i=o.getAttribute("val");return i?` ${s} ${!i||parseFloat(i)/r}`:` ${s}`}}class L extends Y{visit(t,e,s){try{const r=t.evaluate("xfrm",e);if(r){D(r,s);const l={x:0,y:0,width:0,height:0},a=t.evaluate("off",r);a&&(l.x=g.c(a.getAttribute("x"))??0,l.y=g.c(a.getAttribute("y"))??0);const c=t.evaluate("ext",r);a&&(l.width=g.c(c.getAttribute("cx"))??0,l.height=g.c(c.getAttribute("cy"))??0),s.bounds=l}const o=t.evaluate("prstGeom",e);o?.hasAttribute("prst")?s.geometry=o?.getAttribute("prst"):t.evaluate("customGeom",e)&&console.warn("customGeom not supported yet");const i=this.processFill(t,e,s);i&&Object.keys(i).length>0&&(s.fill=i);const n=this.processStroke(t,e,s);return n&&Object.keys(n).length>0&&(s.stroke=n),s}catch(r){throw console.warn(r),new Error("Unexpected Error parsing Shape Properties element")}}}class N{visit(t,e,s){let r={};if(f(t,e,r,"grouping","grouping"),A(t,e,r,"varyColors","varyColors"),y(t,e,r,"gapWidth","gapWidth",.01),y(t,e,r,"overlap","overlap",.01),this.parseType(t,e,r),C(t,e,r,"bubbleScale","bubbleScale"),A(t,e,r,"showNegBubbles","showNegativeBubbleValues"),A(t,e,r,"sizeRepresents","bubbleSizeRepresentsWidth"),C(t,e,r,"firstSliceAng","startAngle"),C(t,e,r,"holeSize","holeSize"),f(t,e,r,"scatterStyle","scatterStyle"),this.parseAxisIds(t,e,r),Object.keys(r).length>0){let o=t.getVisitorParamsState().get("types");o||(o=[],t.getVisitorParamsState().set("types",o)),o.push(r)}return r}parseType(t,e,s){switch(e.localName){case"areaChart":s.type="area";break;case"bubbleChart":s.type="bubble";break;case"doughnutChart":case"ofPieType":case"pieChart":s.type="pie";break;case"lineChart":s.type="line";break;case"scatterChart":s.type="scatter"}}parseAxisIds(t,e,s){const r=t.evaluate("axId",e);if(r.length===0)return;const o=r.item(0).getAttribute("val");s.xAxisId=o;const i=r.item(1).getAttribute("val");s.yAxisId=i}}class Q extends N{parseType(t,e,s){const r=t.getValAttrAsString("barDir",e);r&&(s.type=r==="col"?"column":"bar")}}class w{constructor(t){this.jsonKey=t}visit(t,e,s){let r={},o=r,i=t.getValAttrAsString("idx",e);i!==null&&(o={},o[i]=r);const n=t.getValAttrAsBoolean("delete",e);this.parseNumFormat(t,e,r),n===!0?(r.showBubbleSize=!1,r.showCatName=!1,r.showLeaderLines=!1,r.showPercentage=!1,r.showSerName=!1,r.showVal=!1,r.showLegendKey=!1):(A(t,e,r,"showBubbleSize","showBubbleSize"),A(t,e,r,"showCatName","showCatName"),A(t,e,r,"showLeaderLines","showLeaderLines"),A(t,e,r,"showPercent","showPercentage"),A(t,e,r,"showSerName","showSerName"),A(t,e,r,"showVal","showVal"),A(t,e,r,"showLegendKey","showLegendKey"));const l=t.evaluate("separator",e);return l!==null&&(r.separator=l.textContent),f(t,e,r,"dLblPos","position"),s[this.jsonKey]=o,r}parseNumFormat(t,e,s){const r=t.evaluate("numFmt",e);if(r){const o=r.getAttribute("formatCode");s.formatCode=o,r.hasAttribute("sourceLinked")&&(s.sourceLinked=r.getAttribute("sourceLinked")==="1")}}}const M=(u,t,e)=>{if(u.getValAttrAsBoolean("invertIfNegative",t)===!0)if(u.evaluate("extLst/ext/invertSolidFillFmt",t)){if(e.fill&&e.fillNegative){const s=u.getFromPath(e,"fill.solid.adjs");s&&u.setToPath(e,"fillNegative.solid.adjs",s)}}else{const s={val:"FFFFFF"},r={};r.solid=s,e.fillNegative=r;const o={val:"000000"},i={};i.solid=o;const n={};n.fill=i,e.strokeNegative=n}};class Z{visit(t,e,s){const r={};C(t,e,r,"explosion","explosion");let o=t.evaluate("cat/*/f",e);o||(o=t.evaluate("xVal/*/f",e));let i=null;o!==null&&o.firstChild!==null&&(i=o.firstChild.nodeValue),o||(o=t.evaluate("cat/strLit",e),o||(o=t.evaluate("cat/numLit",e)),o&&(i=this.parsePointsAsString(t,o))),i!==null&&(r.xRange=i);let n=t.evaluate("val/*/f",e);n||(n=t.evaluate("yVal/*/f",e));let l=null;n&&n.firstChild&&(l=n.firstChild.nodeValue),n||(n=t.evaluate("val/numLit",e),n!==null&&(l=this.parsePointsAsString(t,n))),l!==null&&(r.valRange=l),this.parseTitleRangeOrValue(t,e,r),C(t,e,r,"idx","idx"),A(t,e,r,"smooth","smooth");const a=t.getVisitorParamsState().get("types").length-1;r.offsetChart=a;let c=t.getVisitorParamsState().get("series");return c||(c=[],t.getVisitorParamsState().set("series",c)),c.push(r),r}parseTitleRangeOrValue(t,e,s){const r=t.evaluate("tx/strRef/f",e);if(r!==null){const o=r.firstChild.nodeValue;t.setToPath(s,"title.range",o)}else{const o=t.evaluate("tx/v",e);o!==null&&t.setToPath(s,"title.text.simpleRun",o.firstChild.nodeValue)}}parsePointsAsString(t,e){let s="{";const r=t.getValAttrAsInteger("ptCount",e),o=t.evaluate("pt",e),i=[];for(let n=0;o&&r&&n<r;n++){let l=null,a=t.evaluate("pt[@idx='"+n+"']/v",e);a instanceof Node&&(l=a.textContent),i[n]=l}for(let n=0;n<i.length;n++)n>0&&(s+=","),i[n]!==void 0&&(s+=i[n]);return s+="}",s}afterVisit(t,e,s){M(t,e,s);let r=t.getFromPath(s,"points");if(r){const o=Object.keys(r);for(let i=0;i<o.length;i++){const n=o[i],l=t.getFromPath(r,n);if(!l)continue;let a=t.getFromPath(l,"markers");a&&(t.setToPath(s,"markers.points."+n,a),delete l.markers)}}}}class tt{DataPointVisitor(){}visit(t,e,s){let r=t.getFromPath(s,"points"),o=null;r?o=r:(o={},t.setToPath(s,"points",o));let i={},n=t.getValAttrAsString("idx",e);return n!==null&&(o[n]=i),A(t,e,i,"bubble3D","bubble3D"),C(t,e,i,"explosion","explosion"),M(t,e,i),i}}class et{visit(t,e,s){const r=e.parentNode.localName;if(r==="ser"||r==="dPt"){const o={},i=t.getValAttrAsString("size",e);i!==null&&(o.size=i);const n=t.getValAttrAsString("symbol",e);return n&&(o.type=n),s.markers=o,o}return null}}class k{visit(t,e,s){let r={};this.parseScaling(t,e,r),y(t,e,r,"majorUnit","majorUnits"),y(t,e,r,"minorUnit","minorUnits"),A(t,e,r,"delete","shown"),this.parseOrientation(t,e,r),this.parseNumFormat(t,e,r),f(t,e,r,"majorTickMark","majorTickMarks"),f(t,e,r,"minorTickMark","minorTickMarks"),f(t,e,r,"crosses","crosses"),y(t,e,r,"crossesAt","crosses"),f(t,e,r,"crossBetween","crossBetween"),this.parseLabelAlign(t,e,r),C(t,e,r,"lblOffset","labelOffset"),f(t,e,r,"tickLblPos","labelPosition");const o=t.getValAttrAsInteger("noMultiLvlLbl",e);r.labelMultiLevel=o!==null&&o===0,C(t,e,r,"tickMarkSkip","tickMarkSkip"),C(t,e,r,"tickLblSkip","labelInterval"),this.parseDisplayCustOrBuiltInUnit(e,t,r),this.parseTimeUnits(t,e,r,"majorUnitDates","majorTimeUnit","majorUnit"),this.parseTimeUnits(t,e,r,"minorUnitDates","minorTimeUnit","minorUnit"),f(t,e,r,"baseTimeUnit","baseUnitDates"),t.getVisitorParamsState().get("axes")||t.getVisitorParamsState().set("axes",new Map);const i=t.getValAttrAsString("axId",e);return t.getVisitorParamsState().get("axes").set(i,r),r}parseTimeUnits(t,e,s,r,o,i){const n={};let l=t.getValAttrAsString(o,e);if(l!==null){n.dem=l;let a=t.getValAttrAsString(i,e);n.amt=a}Object.keys(n).length>0&&(s[r]=n)}parseDisplayCustOrBuiltInUnit(t,e,s){let r=e.getValAttrAsString("dispUnits/builtInUnit",t);r||(r=e.getValAttrAsString("dispUnits/custUnit",t)),r&&(s.displayUnits=r)}parseLabelAlign(t,e,s){let r=t.getValAttrAsString("lblAlgn",e);r!==null&&(r==="ctr"?s.labelAlign="center":r==="l"?s.labelAlign="left":r==="r"&&(s.labelAlign="right"))}parseOrientation(t,e,s){const r=t.getValAttrAsString("AxPos",e);r!==null&&(r==="b"?s.orientation="bottom":r==="l"?s.orientation="left":r==="r"?s.orientation="right":r==="t"&&(s.orientation="top"))}parseNumFormat(t,e,s){const r={},o=t.evaluate("numFmt",e);o!==null&&(o.hasAttribute("formatCode")&&(r.formatCode=o.getAttribute("formatCode")),o.hasAttribute("sourceLinked")&&(r.sourceLinked=o.getAttribute("sourceLinked")==="1")),Object.keys(r).length>0&&(s.labels=r)}parseScaling(t,e,s){const r=t.getValAttrAsString("scaling/orientation",e);r!==null&&(s.inverted=r!=="minMax");const o=t.getValAttrAsFloat("scaling/logBase",e);o!==null&&(s.logBase=o,s.scaleType="log"),y(t,e,s,"scaling/max","max"),y(t,e,s,"scaling/min","min")}afterVisit(t,e,s){s.fill&&s.labels&&(s.labels.fill=s.fill,delete s.fill);let r=t.getValAttrAsBoolean("delete",e);r!==null&&(t.setToPath(s,"labels.shown",r!==!0),t.setToPath(s,"shown",r!==!0));const o=t.getFromPath(s,"dispUnits.displayUnitsLabel");o&&(t.setToPath(s,"displayUnitsLabel",o),delete s.dispUnits);const i=t.evaluate("title",e);t.setToPath(s,"title.shown",i!==null);const n=t.evaluate("minorGridlines",e);t.setToPath(s,"gridLinesMinor.shown",n!==null);const l=t.evaluate("majorGridlines",e);t.setToPath(s,"gridLinesMajor.shown",l!==null)}}class F{constructor(t="text"){this._jsonKey=t}getTextPath(){return this._jsonKey}visit(t,e,s){let r=t.getFromPath(s,this.getTextPath());return r||(r={}),this.parseTextElement(t,e,r,!1),Object.keys(r).length>0&&t.setToPath(s,this.getTextPath(),r),s}parseTextElement(t,e,s,r){const o=t.evaluate("p/pPr/defRPr",e)??t.evaluate("defRPr",e);o&&(this.parseTextProperties(t,o,s),new L().visit(t,o,s));let i=[],n=t.evaluate("p/r",e)??t.evaluate("r",e);const l=c=>{const h={};let d=t.evaluate("t",c);const m=t.evaluate("rPr",c);m&&this.parseTextProperties(t,m,h),d?h.text=d.firstChild.textContent??"":c.textContent&&(h.text=c.textContent??""),i.push(h)};if(n?.length!==void 0)for(let c=0;n&&c<n.length;c++)l(n.item(c));else l(n||e);i.length>0&&(s.runs=i);const a=t.evaluate("bodyPr",e);a&&D(a,s)}parseTextProperties(t,e,s){if(!e)return;e.hasAttribute("sz")&&(s.size=parseFloat(e.getAttribute("sz"))/100),e.hasAttribute("b")&&(s.weight=e.getAttribute("b")==="1"?700:400),e.hasAttribute("i")&&(s.italic=e.getAttribute("i")==="1"),e.hasAttribute("u")&&(s.underline=e.getAttribute("u")),e.hasAttribute("strike")&&(s.strike=e.getAttribute("strike"));const r=t.evaluate("latin",e);if(r&&!r.getAttribute("typeface").startsWith("+")){const o=s.font??{};if(r.hasAttribute("typeface")&&(o.family=r.getAttribute("typeface")),r.hasAttribute("panose")){const i=r.getAttribute("panose");i&&(o.fallbacks=[p.ct.getPanoseFallback(i)])}r.hasAttribute("pitchFamily")&&(o.pitch=r.getAttribute("pitchFamily")),r.hasAttribute("charset")&&(o.charset=r.getAttribute("charset")),Object.keys(o).length>0&&(s.font=o)}}}class rt{visit(t,e,s){let r=t.getVisitorParamsState().get("series")[t.getValAttrAsInteger("idx",e)];if(r){let o=t.getFromPath(r,"title");o||(o={},t.setToPath(r,"title",o));let i=o,n=t.getValAttrAsBoolean("delete",e);return n!==null&&(i.shown=!n),i}return s}}class st{visit(t,e,s){const r={};return A(t,e,r,"overlay","overlay"),f(t,e,r,"legendPos","position"),s.legend=r,r}}class ot extends L{visit(t,e,s){const r=this.processFill(t,e,s);Object.keys(r).length>0&&(s.fillNegative=r);const o=this.processStroke(t,e,s);return Object.keys(o).length>0&&(s.strokeNegative=o),s}}class E extends F{constructor(t="title"){super(t)}parseTitleRangeOrValue(t,e,s){let r=t.evaluate("tx/strRef/f",e)??null;if(r){const o=r.firstElementChild.nodeValue;t.setToPath(s,"range",o)}}visit(t,e,s){const r={};A(t,e,r,"overlay","overlay"),s[this._jsonKey]=r;let o=t.getFromPath(r,this.getTextPath());o||(o={}),this.parseTitleRangeOrValue(t,e,r);const i=t.evaluate("txPr",e);i&&this.parseTextElement(t,i,o,!1);const n=t.evaluate("tx/rich",e);return n&&this.parseTextElement(t,n,o,!0),Object.keys(o).length>0&&t.setToPath(r,this.getTextPath(),o),r}afterVisit(t,e,s){if(s?.text){const r=s.text?.rotation??null;r!==null&&(s.rotation=parseInt(r),delete s.title.rotation)}}}class it{visit(t,e,s){const r=t.evaluate("manualLayout",e);if(r){let o={};y(t,r,o,"x","x"),y(t,r,o,"y","y"),y(t,r,o,"w","w"),y(t,r,o,"h","h"),f(t,r,o,"xMode","xMode"),f(t,r,o,"yMode","yMode"),f(t,r,o,"wMode","wMode"),f(t,r,o,"hMode","hMode"),Object.keys(o).length>0&&(s.manualLayout=o)}return s}}class nt{visit(t,e,s){return s.name=e.getAttribute("name"),s}}class lt extends Y{visit(t,e,s){const r={};r.name=e.getAttribute("name");const o=e.childNodes;for(let i=0;i<o.length;i++){const n=o.item(i);if(n.nodeType===1){let l=n.localName;const a=t.evaluate(l,e),c=this.processAdjColor(t,a);r[l]=c}}return Object.keys(r).length>0&&(s.colors=r),r}}class at{visit(t,e,s){const r={};r.name=e.getAttribute("name");const o=t.evaluate("majorFont",e),i=this.processFontElement(t,o,{});r.majorFont=i.family,i.fallbacks&&(r.majorFallbacks=i.fallbacks);const n=t.evaluate("minorFont",e),l=this.processFontElement(t,n,{});return r.minorFont=l.family,i.fallbacks&&(r.minorFallbacks=l.fallbacks),s.fonts=r,r}processFontElement(t,e,s){if(!e)return;const r=t.evaluate("latin",e);if(!r)return;const o=r.getAttribute("typeface");o&&(s.family=o);const i=r.getAttribute("panose");return i&&(s.fallbacks=[p.ct.getPanoseFallback(i)]),s}}class ct{visit(t,e,s){if(!e)return;const r={},o=e.getAttribute("r:id");if(o){const i=t.getRef(o);typeof i=="string"&&(r.address=i)}return t.copyFromAttribute(e,"tooltip",r),t.copyFromAttribute(e,"history",r,"history",t.BOOLEAN_COPY),t.copyFromAttribute(e,"tgtFrame",r,"target"),s.hyperlink=r,r}}class ut{visit(t,e,s){if(!e)return;const r={};return t.copyFromAttribute(e,"ref",r),this.processFilterColumns(t,e,r),Object.keys(r).length>0&&(s.filter=r),r}processColorFilter(t,e){const s={type:p.iy.Type.Color};return t.copyFromAttribute(e,"cellColor",s,"cellColor",t.BOOLEAN_COPY),t.copyFromAttribute(e,"dxfId",s,"styleId",t.INT_COPY),s}processCustomFilter(t,e){const s={};return t.copyFromAttribute(e,"operator",s,"operator",t.BOOLEAN_COPY),t.copyFromAttribute(e,"val",s,"val"),s}processCustomFilters(t,e){const s={type:p.iy.Type.Custom};t.copyFromAttribute(e,"and",s,"and",t.BOOLEAN_COPY);const r=e.childNodes;s.filters=[];for(let o=0;o<r.length;o++){const i=r.item(o);if(i.nodeType!==1)continue;let n=null;i.localName==="customFilter"&&(n=this.processCustomFilter(t,i)),n&&s.filters.push(n)}return s}processDynamicFilter(t,e){const s={type:p.iy.Type.Dynamic};return t.copyFromAttribute(e,"type",s,"dynamicType"),t.copyFromAttribute(e,"val",s,"val",t.INT_COPY),t.copyFromAttribute(e,"maxVal",s,"maxVal",t.INT_COPY),s}processDateGroupItem(t,e){const s={};return t.copyFromAttribute(e,"dateTimeGrouping",s,"group"),t.copyFromAttribute(e,"day",s,"day",t.INT_COPY),t.copyFromAttribute(e,"hour",s,"hour",t.INT_COPY),t.copyFromAttribute(e,"minute",s,"minute",t.INT_COPY),t.copyFromAttribute(e,"month",s,"month",t.INT_COPY),t.copyFromAttribute(e,"second",s,"second",t.INT_COPY),t.copyFromAttribute(e,"year",s,"year",t.INT_COPY),s}processFilterItem(t,e){if(e.hasAttribute("val"))return e.getAttribute("val")}processFilters(t,e){const s={type:p.iy.Type.Items};t.copyFromAttribute(e,"blank",s,"blank",t.BOOLEAN_COPY),t.copyFromAttribute(e,"calendarType",s,"calendarType");let r=[],o=[];const i=e.childNodes;for(let n=0;n<i.length;n++){const l=i.item(n);if(l.nodeType===1){if(l.localName==="dateGroupItem"){const a=this.processDateGroupItem(t,l);a&&r.push(a)}else if(l.localName==="filter"){const a=this.processFilterItem(t,l);a!==void 0&&o.push(a)}}}return r.length>0&&(s.dateGroups=r),o.length>0&&(s.items=o),s}processIcon(t,e){const s={type:p.iy.Type.Icon};return t.copyFromAttribute(e,"iconId",s,"iconId",t.INT_COPY),t.copyFromAttribute(e,"iconSet",s),s}processTop10(t,e){const s={type:p.iy.Type.Top10};return t.copyFromAttribute(e,"filterVal",s,"filterVal",t.FLOAT_COPY),t.copyFromAttribute(e,"percent",s,"percent",t.BOOLEAN_COPY),t.copyFromAttribute(e,"top",s,"top",t.BOOLEAN_COPY),t.copyFromAttribute(e,"val",s,"val",t.FLOAT_COPY),s}processFilterCriteria(t,e,s){if(!e)return;const r=e.childNodes,o=[];for(let i=0;i<r.length;i++){const n=r.item(i);if(n.nodeType!==1)continue;let l=null;n.localName==="colorFilter"?l=this.processColorFilter(t,n):n.localName==="customFilters"?l=this.processCustomFilters(t,n):n.localName==="dynamicFilter"?l=this.processDynamicFilter(t,n):n.localName==="filters"?l=this.processFilters(t,n):n.localName==="iconFilter"?l=this.processIcon(t,n):n.localName==="top10"&&(l=this.processTop10(t,n)),l&&o.push(l)}return o.length>0&&(s.criteria=o),o}processFilterColumn(t,e){if(!e)return null;const s={};if(!e.hasAttribute("colId"))return;s.offset=parseInt(e.getAttribute("colId"));let r=!1;return e.hasAttribute("hiddenButton")&&(r=g.b(e.getAttribute("hiddenButton"))),r&&(s.hiddenButton=!0),e.hasAttribute("showButton")&&(s.showButton=g.b(e.getAttribute("showButton"))),this.processFilterCriteria(t,e,s),s}processFilterColumns(t,e,s){if(!e)return;const r=e.childNodes,o=[];for(let i=0;i<r.length;i++){const n=r.item(i);if(n.nodeType===1&&n.localName==="filterColumn"){const l=this.processFilterColumn(t,n);l&&o.push(l)}}return o.length>0&&(s.fields=o),o}}class ht{visit(t,e,s){if(!e)return;const r={};if(t.copyFromAttribute(e,"ref",r),e.hasAttribute("caseSensitive")){const n=g.b(e.getAttribute("caseSensitive"));r.collatorOptions=n?p.pc.CaseSensitiveOptions:p.pc.CaseInsensitiveOptions}const o=e.getAttribute("sortMethod");o!=null&&o!=="none"&&(o==="stroke"?r.collatorOptions={...r.collatorOptions,collation:"stroke"}:o==="pinYin"&&(r.collatorOptions={...r.collatorOptions,collation:"pinyin"})),e.hasAttribute("columnSort")&&g.b(e.getAttribute("columnSort"))&&(r.orientation=p.q.Orientation.Column);const i=p.Sc.fastStringToRange(r.ref);return this.processSortConditions(t,e,r,i),Object.keys(r).length>0&&(s.sort=r),r}processSortCondition(t,e,s){if(!e)return null;const r={};if(e.hasAttribute("ref")){if(e.hasAttribute("ref")){const o=e.getAttribute("ref"),i=p.Sc.fastStringToRange(o);r.offset=s?i.colStart-s.colStart:i.colStart}return r.reverse=!1,e.hasAttribute("descending")&&(r.reverse=g.b(e.getAttribute("descending"))),t.copyFromAttribute(e,"sortBy",r,"sortOn"),t.copyFromAttribute(e,"dxfId",r),t.copyFromAttribute(e,"iconSet",r),t.copyFromAttribute(e,"customList",r),r}console.warn("no ref for sort conditional",t.getPath())}processSortConditions(t,e,s,r){if(!e)return;const o=e.childNodes,i=[];for(let n=0;n<o.length;n++){const l=o.item(n);if(l.nodeType===1&&l.localName==="sortCondition"){const a=this.processSortCondition(t,l,r);a&&i.push(a)}}return i.length>0&&(s.fields=i),i}}class U{visit(t,e,s){}processDataBarColor(t,e,s,r,o="dk1"){if(!e)return;const i=g.d(n=>e.getAttribute(n),o);return i&&(s[r]=i),s}processFonts(t,e,s){if(!e)return;const r=e.childNodes;let o=0;for(let i=0;i<r.length;i++){const n=r.item(i);if(n.nodeType===1&&n.localName==="font"){const l={};this.processFont(t,n,l),s[o++]=l}}return s}processFont(t,e,s){t.getValAttrAsBoolean("b",e,!0)&&(s.weight=700),t.getValAttrAsBoolean("i",e,!0)&&(s.style=p.ct.Style.Italic),t.getValAttrAsBoolean("strike",e,!0)&&(s.strike=!0);const r=t.evaluate("u",e);if(r){const n=r.getAttribute("val");s.underline=n||p.ct.UnderlineStyle.Single}f(t,e,s,"vertAlign","verticalAlign"),s.verticalAlign==="superscript"?s.verticalAlign=p.ct.VerticalAlignment.Super:s.verticalAlign==="subscript"&&(s.verticalAlign=p.ct.VerticalAlignment.Sub),y(t,e,s,"sz","size");const o=t.evaluate("color",e);this.processDataBarColor(t,o,s,"fill"),s.fill||(s.fill="dk1"),f(t,e,s,"name","family"),f(t,e,s,"rFont","family");const i=t.evaluate("family",e);if(i){const n=i.getAttribute("val");if(n)switch(n){case"1":s.fallbacks=["serif"];break;case"2":s.fallbacks=["sans-serif"];break;case"3":s.fallbacks=["monospace"];break;case"4":s.fallbacks=["cursive"];break;case"5":s.fallbacks=["fantasy"]}}return f(t,e,s,"scheme","scheme"),A(t,e,s,"shadow","shadow",!0),A(t,e,s,"outline","outline",!0),t.getValAttrAsBoolean("condense",e,!0)&&(s.letterSpacing=-1),t.getValAttrAsBoolean("extend",e,!0)&&(s.letterSpacing=1),f(t,e,s,"charset","charset"),s}processFills(t,e,s){if(!e)return;const r=e.childNodes;let o=0;for(let i=0;i<r.length;i++){const n=r.item(i);n.nodeType===1&&n.localName==="fill"&&this.processFill(t,n,s,o++)}return s}processFill(t,e,s,r){const o={type:p.Et.Type.None},i=e.childNodes;let n=!1;for(let l=0;!n&&l<i.length;l++){const a=i.item(l);a.nodeType===1&&(a.localName==="gradientFill"?(this.processGradientFill(t,a,o),n=!0):a.localName==="patternFill"&&(this.processPatternFill(t,a,o),n=!0))}return s[r]=o,s}processGradientFill(t,e,s){if(!e)return;s.type=p.Et.Type.Gradient;const r=[];s.stops=r,s.angle=90+(e.hasAttribute("degree")?parseFloat(e.getAttribute("degree")):0);const o=e.getAttribute("type");o&&(s.gradientType=o);const i=l=>{if(!l)return 0;const a=parseFloat(l);return isNaN(a)?0:a};(e.hasAttribute("left")||e.hasAttribute("top")||e.hasAttribute("right")||e.hasAttribute("bottom"))&&(s.fillTo={left:i(e.getAttribute("left")),top:i(e.getAttribute("top")),right:i(e.getAttribute("right")),bottom:i(e.getAttribute("bottom"))});const n=e.childNodes;for(let l=0;l<n.length;l++){const a=n.item(l);if(a.nodeType===1&&a.localName==="stop"){const c={};r.push(c);const h=parseFloat(a.getAttribute("position"));c.offset=h;const d=t.evaluate("color",a);this.processDataBarColor(t,d,c,"color")}}return s}processPatternFill(t,e,s){if(!e)return;const r=t.getVisitorParamsState().get("processingDXFs"),o=e.getAttribute("patternType")||(r?p.Et.BuiltInSheetPattern.Solid:p.Et.BuiltInSheetPattern.None);if(o===p.Et.BuiltInSheetPattern.None)return{none:!0};s.type=p.Et.Type.Pattern,o&&(s.patternType=o);let i,n="foreground",l="background";const a=s.patternType===p.Et.BuiltInSheetPattern.Solid&&r;if(a){i="lt1";const d=n;n=l,l=d}const c=t.evaluate("fgColor",e);this.processDataBarColor(t,c,s,n,i);const h=t.evaluate("bgColor",e);return this.processDataBarColor(t,h,s,l,i),a&&!s.foreground&&(s.foreground=i),s}processBorders(t,e,s,r){if(!e)return;const o=e.childNodes;let i=0;for(let n=0;n<o.length;n++){const l=o.item(n);l.nodeType===1&&l.localName==="border"&&this.processBorder(t,l,s,i++,r)}return s}processBorder(t,e,s,r,o){if(!e)return;const i={};return this.processBorderStroke(t,e,i,p.De.Edge.Left),this.processBorderStroke(t,e,i,p.De.Edge.Right),o?(i.right||i.left)&&(i.right?i.vertical={...i.right}:i.vertical={...i.left}):this.processBorderStroke(t,e,i,p.De.Edge.Vertical),this.processBorderStroke(t,e,i,p.De.Edge.Top),this.processBorderStroke(t,e,i,p.De.Edge.Bottom),o?(i.bottom||i.top)&&(i.right?i.horizontal={...i.bottom}:i.horizontal={...i.top}):this.processBorderStroke(t,e,i,p.De.Edge.Horizontal),s[r]=i,s}processBorderStroke(t,e,s,r){if(!e)return;const o=t.evaluate(r,e);if(!o)return;const i={};o.hasAttribute("style")&&(i.style=o.getAttribute("style"));const n=t.evaluate("color",o);return n&&this.processDataBarColor(t,n,i,"color"),Object.keys(i).length>0?s[r]=i:null}}class pt extends U{visit(t,e,s){this.processNumFmts(t,t.evaluate("numFmts",e),null),t.getVisitorParamsState().set("colorsToProcess",new Set);const r={fills:{},fonts:{},borders:{}};this.processFonts(t,t.evaluate("fonts",e),r.fonts),this.processFills(t,t.evaluate("fills",e),r.fills),this.processBorders(t,t.evaluate("borders",e),r.borders,!0),r.fills[0]={type:p.Et.Type.None},r.fills[1]={type:p.Et.Type.Pattern,patternType:p.Et.BuiltInSheetPattern.Gray125},r.borders[0]={};const o=[];this.processXFs(t,t.evaluate("cellStyleXfs",e),o,r,null,!1);const i=new Map;if(o.length>0){const a=[];this.processCellStyles(t,t.evaluate("cellStyles",e),a,o,i),s.named=a}const n=[];this.processXFs(t,t.evaluate("cellXfs",e),n,r,i),Object.keys(n).length>0&&(s.direct=n);const l=[];return this.processDXFs(t,t.evaluate("dxfs",e),l),this.processTableStyles(t,t.evaluate("tableStyles",e),s,l),this.processIndexColors(t,t.evaluate("colors/indexedColors",e),s),this.processMruColors(t,t.evaluate("colors/mruColors",e),s),s}processIndexColors(t,e,s){if(!e)return;const r=[],o=e.childNodes;for(let i=0;i<o.length;i++){const n=o.item(i);if(n.nodeType===1&&n.localName==="rgbColor"){const l={color:null};this.processDataBarColor(t,n,l,"color"),l.color&&r.push(l.color)}}s.indexedColors=r}processMruColors(t,e,s){if(!e)return;const r=[],o=e.childNodes;for(let i=0;i<o.length;i++){const n=o.item(i);if(n.nodeType===1&&n.localName==="color"){const l={color:null};this.processDataBarColor(t,n,l,"color"),l.color&&r.push(l.color)}}r.length>0&&(s.mruColors=r)}processNumFmts(t,e,s){if(!e)return;const r=new Map;if(t.getVisitorParamsState().set("numFmts",r),!e)return;const o=e.childNodes;for(let i=0;i<o.length;i++){const n=o.item(i);if(n.nodeType===1&&n.localName==="numFmt"){const l=n.getAttribute("numFmtId"),a=n.getAttribute("formatCode");if(l&&a){const c=a.replace(/\\(.)/g,"$1");r.set(parseInt(l),c)}}}}processXFs(t,e,s,r,o=null,i=!0){if(!e)return;const n=e.childNodes;for(let l=0;l<n.length;l++){const a=n.item(l);if(a.nodeType===1&&a.localName==="xf"){const c={};this.processXF(t,a,c,r,o,i),s.push(c)}}}processXF(t,e,s,r,o,i){if(!e)return;const n=e.getAttribute("xfId");if(n&&o){const c=o.get(parseInt(n));c&&c!==p.dt.BuiltInName.Normal&&(s.named=c)}const l=c=>!(!i&&e.hasAttribute(c))||g.b(e.getAttribute("applyFont"));if(l("applyFont")){const c=r.fonts[e.getAttribute("fontId")];c&&(s.font=c)}if(l("applyFill")){const c=r.fills[e.getAttribute("fillId")];c&&Object.keys(c).length>0&&(s.fill=c)}if(l("applyBorder")){const c=r.borders[e.getAttribute("borderId")];c&&Object.keys(c).length>0&&(s.border=c)}if(l("applyNumberFormat")){const c=e.getAttribute("numFmtId");if(c){const h=parseInt(c);let d;const m=t.getVisitorParamsState();if(m){const b=m.get("numFmts");b&&(d=b.get(h)),s.numberFormat=d??h}else console.warn("no visitor params state")}}l("applyAlignment")&&this.processAlignment(t,t.evaluate("alignment",e),s),l("applyProtection")&&this.processProtection(t,t.evaluate("protection",e),s);const a=g.b(e.getAttribute("quotePrefix"));a&&(s.quotePrefix=a)}processAlignment(t,e,s){const r={};if(e?.hasAttribute("horizontal")?r.horizontal=e.getAttribute("horizontal"):r.horizontal=p.Ae.HorizontalAlignment.General,e?.hasAttribute("vertical")?r.vertical=e.getAttribute("vertical"):r.vertical=p.Ae.VerticalAlignment.Bottom,e?.hasAttribute("indent")?r.indent=parseInt(e.getAttribute("indent")):r.indent=0,e?.hasAttribute("relativeIndent")?r.relativeIndent=parseInt(e.getAttribute("relativeIndent")):r.relativeIndent=0,g.b(e?.getAttribute("wrapText"))?r.overflow=p.Ae.Overflow.Wrap:r.overflow=p.Ae.Overflow.Visible,g.b(e?.getAttribute("shrinkToFit"))&&(r.overflow=p.Ae.Overflow.Shrink),e?.hasAttribute("textRotation")){let i=parseFloat(e.getAttribute("textRotation"));i>0&&i<=90?i=360-i:i>90&&i<=180?i-=90:i===255&&(i=0,r.stacked=!0),r.rotation=i}else r.rotation=0;e?.hasAttribute("justifyLastLine")&&(r.justifyLastLine=g.b(e.getAttribute("justifyLastLine")));const o=e?.getAttribute("readingOrder");return o&&(o==="0"?r.readingDirection=p.Ae.ReadingDirection.Auto:o==="1"?r.readingDirection=p.Ae.ReadingDirection.LeftToRight:o==="2"?r.readingDirection=p.Ae.ReadingDirection.RightToLeft:console.warn(`invalid readingOrder: ${o}`)),Object.keys(r).length>0&&(s.alignment=r),s}processProtection(t,e,s){if(!e)return;const r={},o=e.getAttribute("locked");o&&!g.b(o)&&(r.edit=!0);const i=e.getAttribute("hidden");return i&&g.b(i)&&(r.formulaHidden=!0),Object.keys(r).length>0&&(s.protection=r),s}processDXF(t,e,s){if(!e)return;const r=e.childNodes;for(let o=0;o<r.length;o++){const i=r.item(o);if(i.nodeType===1&&i.localName==="font"){const n={};this.processFont(t,i,n),s.font=n}else if(i.nodeType===1&&i.localName==="fill"){const n=[];this.processFill(t,i,n,0),n.length>0&&n[0]&&(s.fill=n[0])}else if(i.nodeType===1&&i.localName==="border"){const n=[];this.processBorder(t,i,n,0,!1),n.length>0&&n[0]&&(s.border=n[0])}}}processDXFs(t,e,s){if(!e)return;t.getVisitorParamsState().set("processingDXFs",!0);const r=new Map;t.getVisitorParamsState().set("dxfs",r);const o=e.childNodes;for(let i=0;i<o.length;i++){const n=o.item(i);if(n.nodeType===1&&n.localName==="dxf"){const l={};this.processDXF(t,n,l);const a=s.length;r.set(a,l),s.push(l)}}t.getVisitorParamsState().delete("processingDXFs")}processTableStyle(t,e,s,r,o=!1){const i=e.getAttribute("name"),n={name:i};e.hasAttribute("table")&&(n.table=g.b(e.getAttribute("table"))),e.hasAttribute("pivot")&&(n.pivot=g.b(e.getAttribute("pivot"))),o&&!n.pivot&&r.unshift(null);const l=e.childNodes;for(let a=0;a<l.length;a++){const c=l.item(a);if(c.nodeType===1&&c.localName==="tableStyleElement"){const h=c.getAttribute("type"),d=c.getAttribute("dxfId");let m=r?.[d];m||(console.warn("invalid dfx id",d),m={}),n[h]=m;let b=null;c.hasAttribute("size")&&(b=parseInt(c.getAttribute("size"))),b&&!isNaN(b)&&(m.size=b)}}delete n.name,s[i]=n}processTableStyles(t,e,s,r,o){if(!e)return;const i={},n=e.getAttribute("defaultTableStyle");n&&(i.defaultTableStyle=n);const l=e.getAttribute("defaultPivotStyle");l&&(i.defaultPivotStyle=l);const a=e.childNodes,c={};for(let h=0;h<a.length;h++){const d=a.item(h);d.nodeType===1&&d.localName==="tableStyle"&&this.processTableStyle(t,d,c,r,o)}return Object.keys(c).length>0&&(i.styles=c),Object.keys(i).length>0&&(s.tables=i),s}processCellStyles(t,e,s,r,o){if(!e)return;const i=e.childNodes;for(let n=0;n<i.length;n++){const l=i.item(n);if(l.nodeType===1&&l.localName==="cellStyle"){const a=parseInt(l.getAttribute("xfId")),c=l.getAttribute("name");if(o.set(a,c),!r[a])continue;const h={name:c,style:r[a]};l.getAttribute("hidden")&&(h.hidden=g.b(l.getAttribute("hidden"))),l.getAttribute("iLevel")&&(h.iLevel=parseInt(l.getAttribute("iLevel"))),s.push(h)}}}afterVisit(t,e,s){}}class gt extends U{visit(t,e,s){return this.processSheetRefs(t,t.evaluate("sheets",e),s),this.processBookViews(t,t.evaluate("bookViews",e),s),this.processDefinedNames(t,t.evaluate("definedNames",e),s),this.processCalcPr(t,t.evaluate("calcPr",e),s),this.processWorkbookProtection(t,t.evaluate("workbookProtection",e),s),this.processWorkbookPr(t,t.evaluate("workbookPr",e),s),s}processPassword(t,e,s,r="password"){if(!e)return;const o={};t.copyFromAttribute(e,"algorithmName",o,"algorithmName"),t.copyFromAttribute(e,"hashValue",o,"hashValue"),t.copyFromAttribute(e,"saltValue",o,"saltValue",t.BOOLEAN_COPY),t.copyFromAttribute(e,"spinCount",o,"spinCount",t.INT_COPY),Object.keys(o).length>0&&(s[r]=o)}processWorkbookProtection(t,e,s){if(!e)return;const r={};this.processPassword(t,t.evaluate("workbookPassword",e),r),this.processPassword(t,t.evaluate("revisionsPassword",e),r,"revisionsPassword");const o=i=>i!==!0&&i!=="1"&&i!=="on"&&i!=="true"&&(i===!1||i==="0"||i==="off"||i==="false"||null);return t.copyFromAttribute(e,"lockStructure",r,"structure",o),t.copyFromAttribute(e,"lockWindows",r,"windows",o),t.copyFromAttribute(e,"lockRevision",r,"revision",o),s.protection=r,s}processCalcPr(t,e,s){e&&(s.calc={})}processSheetRefs(t,e,s){if(!e)return;const r=[],o=e.childNodes;for(let i=0;i<o.length;i++){const n=o.item(i);n.nodeType===1&&n.localName==="sheet"&&this.processSheetRef(t,n,r)}s.sheets=r}processSheetRef(t,e,s){const r={};t.copyFromAttribute(e,"name",r,"name"),t.copyFromAttribute(e,"state",r,"visibility");const o=e.getAttribute("r:id"),i=t.getRef(o);i&&(r.sheet=i),s.push(r)}processBookViews(t,e,s){if(!e)return;const r=e.childNodes;let o=0;for(let i=0;o<1&&i<e.childNodes.length;i++){const n=r.item(i);n.nodeType===1&&n.localName==="workbookView"&&(this.processWorkbookView(t,n,s),o++)}}processWorkbookView(t,e,s){if(!e)return;const r={};t.copyFromAttribute(e,"activeTab",r,"activeSheetId",[t.INT_COPY,o=>o+1]),e.hasAttribute("activeTab")||(r.activeSheetId=1),t.copyFromAttribute(e,"showHorizontalScroll",r,"showHorizontalScrollbar",t.BOOLEAN_COPY),t.copyFromAttribute(e,"showVerticalScroll",r,"showVerticalScrollbar",t.BOOLEAN_COPY),t.copyFromAttribute(e,"showSheetTabs",r,"showTabs",t.BOOLEAN_COPY),t.copyFromAttribute(e,"tabRatio",r,"tabRatio",[t.FLOAT_COPY,o=>o]),Object.keys(r).length>0&&(s.view=r)}processDefineName(t,e,s,r){if(!e)return;const o={},i=e.firstChild;if(i&&i.nodeType===3&&(o.ref=i.textContent),t.copyFromAttribute(e,"name",o),t.copyFromAttribute(e,"comment",o),t.copyFromAttribute(e,"hidden",o,"hidden",t.BOOLEAN_COPY),e.hasAttribute("localSheetId")){const n=e.getAttribute("localSheetId");if(!r[n]?.name)return void console.warn(`Defined name '${e.getAttribute("name")}' references a sheet with localSheetId '${n}' which does not exist.`);o.scope=r[n].name}t.copyFromAttribute(e,"customMenu",o),t.copyFromAttribute(e,"description",o),t.copyFromAttribute(e,"statusBar",o),t.copyFromAttribute(e,"help",o),t.copyFromAttribute(e,"shortcutKey",o),t.copyFromAttribute(e,"function",o,"function",t.BOOLEAN_COPY),t.copyFromAttribute(e,"functionGroupId",o,"functionGroupId",t.INT_COPY),t.copyFromAttribute(e,"publishToServer",o,"publishToServer",t.BOOLEAN_COPY),t.copyFromAttribute(e,"vbProcedure",o,"vbProcedure",t.BOOLEAN_COPY),t.copyFromAttribute(e,"xlm",o,"xlm",t.BOOLEAN_COPY),Object.keys(o).length>0&&s.push(o)}processDefinedNames(t,e,s){if(!e)return;const r=[],o=e.childNodes;for(let i=0;i<o.length;i++){const n=o.item(i);n.nodeType===1&&n.localName==="definedName"&&this.processDefineName(t,n,r,s.sheets)}r.length>0&&(s.names=r)}processWorkbookPr(t,e,s){e&&t.copyFromAttribute(e,"date1904",s,"date1904",t.BOOLEAN_COPY)}afterVisit(t,e,s){}}class dt{visit(t,e,s){return t.copyFromAttribute(e,"name",s),t.copyFromAttribute(e,"displayName",s),t.copyFromAttribute(e,"ref",s),t.copyFromAttribute(e,"headerRowCount",s,"headerRowCount",t.INT_COPY),t.copyFromAttribute(e,"totalsRowCount",s,"totalsRowCount",t.INT_COPY),this.processTableColumns(t,e,s),this.processTableStyleInfo(t,e,s),s}processTableStyleInfo(t,e,s){if(!e)return;const r=e.childNodes,o={};for(let i=0;i<r.length;i++){const n=r.item(i);n.nodeType===1&&n.localName==="tableStyleInfo"&&(t.copyFromAttribute(n,"name",o),t.copyFromAttribute(n,"showColumnStripes",o,"showColumnStripes",t.BOOLEAN_COPY),t.copyFromAttribute(n,"showFirstColumn",o,"showFirstColumn",t.BOOLEAN_COPY),t.copyFromAttribute(n,"showLastColumn",o,"showLastColumn",t.BOOLEAN_COPY),t.copyFromAttribute(n,"showRowStripes",o,"showRowStripes",t.BOOLEAN_COPY))}Object.keys(o).length>0&&(s.styleOptions=o)}processTableColumn(t,e,s){if(!e)return null;const r=e.childNodes;for(let o=0;o<r.length;o++){const i=r.item(o);if(i.nodeType===1&&i.localName==="tableColumn"){const n={};t.copyFromAttribute(i,"name",n),t.copyFromAttribute(i,"uniqueName",n),s.push(n)}}return s}processTableColumns(t,e,s){const r=e.childNodes,o=[];for(let i=0;i<r.length;i++){const n=r.item(i);n.nodeType===1&&n.localName==="tableColumns"&&this.processTableColumn(t,n,o)}o.length>0&&(s.columns=o)}}class mt{visit(t,e,s){return s}}class x{visit(t,e,s){if(!e)return;const r={};return t.copyFromAttribute(e,"editAs",r,"anchorType"),r.anchor={},this.processOffsetCoord(t,t.evaluate("from",e),r.anchor,"from"),this.processOffsetCoord(t,t.evaluate("to",e),r.anchor,"to"),s.movables||(s.movables=[]),s.movables.push(r),r}processOffsetCoord(t,e,s,r){if(!e)return;const o={c:0,r:0,x:0,y:0};return t.evaluate("col",e)&&(o.c=parseInt(t.evaluate("col",e).textContent)),t.evaluate("row",e)&&(o.r=parseInt(t.evaluate("row",e).textContent)),t.evaluate("colOff",e)&&(o.x=g.c(t.evaluate("colOff",e).textContent)),t.evaluate("rowOff",e)&&(o.y=g.c(t.evaluate("rowOff",e).textContent)),r==="from"?s.tl=o:s.br=o,s}}class I{visit(t,e,s){if(!e)return;const r=t.evaluate("*/cNvPr",e);return r&&(t.copyFromAttribute(r,"name",s),t.copyFromAttribute(r,"desc",s),t.copyFromAttribute(r,"hidden",s,"hidden",t.BOOLEAN_COPY),t.copyFromAttribute(r,"id",s)),s}}class bt extends I{visit(t,e,s){if(!e)return;s=super.visit(t,e,s);const r=t.evaluate("nvGraphicFramePr/cNvGraphicFramePr",e);if(r){const n=t.evaluate("graphicFrameLocks",r);if(n){n.hasAttribute("noChangeAspect")&&(s.lockAspect=n.getAttribute("noChangeAspect")==="1");const l={};Object.keys(l).length>0&&(s.locks=l)}}let o={type:"graphicFrame",json:{}};const i=t.evaluate("graphic/graphicData",e).childNodes;for(let n=0;n<i.length;n++){const l=i.item(n);if(l.nodeType===1)try{let a=l.localName;a==="chart"&&(a="chart"),o.type=a;const c=l.getAttribute("r:id");c&&(o.json=t.getRef(c))}catch(a){console.warn("Unable to parse graphicFrame",a)}}return o&&(s.content=o),o}}class B extends I{visit(t,e,s){if(!e)return;s=super.visit(t,e,s);const r=t.evaluate("nvSpPr/cNvSpPr",e);if(r){const i=t.evaluate("spLocks",r);if(i){i.hasAttribute("noChangeAspect")&&(s.lockAspect=i.getAttribute("noChangeAspect")==="1");const n={};Object.keys(n).length>0&&(s.locks=n)}}t.warn(`Unable to import '${s.name}', shapes are not supported.`);const o={};return s.content={type:"sp",json:o},o}}class At extends I{visit(t,e,s){if(!e)return;const r=super.visit(t,e,s),o=t.evaluate("nvPicPr/cNvPicPr",e);if(o){t.copyFromAttribute(e,"preferRelativeResize",r,"preferRelativeResize",t.BOOLEAN_COPY);const a=t.evaluate("picLocks",o);if(a){a.hasAttribute("noChangeAspect")&&(r.lockAspect=a.getAttribute("noChangeAspect")==="1");const c={};t.copyFromAttribute(a,"noChangeArrowheads",r,"noChangeArrowheads",t.BOOLEAN_COPY),t.copyFromAttribute(a,"noChangeShapeType",r,"noChangeShapeType",t.BOOLEAN_COPY),t.copyFromAttribute(a,"noEditPoints",r,"noEditPoints",t.BOOLEAN_COPY),t.copyFromAttribute(a,"noAdjustHandles",r,"noAdjustHandles",t.BOOLEAN_COPY),t.copyFromAttribute(a,"noCrop",r,"noCrop",t.BOOLEAN_COPY),t.copyFromAttribute(a,"noGrp",r,"noGrp",t.BOOLEAN_COPY),t.copyFromAttribute(a,"noMove",r,"noMove",t.BOOLEAN_COPY),t.copyFromAttribute(a,"noResize",r,"noResize",t.BOOLEAN_COPY),t.copyFromAttribute(a,"noRot",r,"noRot",t.BOOLEAN_COPY),t.copyFromAttribute(a,"noSelect",r,"noSelect",t.BOOLEAN_COPY),Object.keys(c).length>0&&(r.locks=c)}}const i=t.evaluate("blipFill/blip",e);let n;if(i){const a=i.getAttribute("r:embed")??i.getAttribute("embed");if(!a)return void console.warn("no rId found for blip",i);n=t.getRef(a,!0)}const l={resId:n};return s.content={type:"picture",json:l},r}}class ft extends B{visit(t,e,s){if(!e)return;s=super.visit(t,e,s);const r=t.evaluate("nvGrpSpPr/cNvGrpSpPr",e);if(r){const i=t.evaluate("grpSpLocks",r);if(i){i.hasAttribute("noChangeAspect")&&(s.lockAspect=i.getAttribute("noChangeAspect")==="1");const n={};Object.keys(n).length>0&&(s.locks=n)}}t.warn(`Unable to import '${s.name}', group shapes are not supported.`);const o={};return s.content={type:"grpSp",json:o},o}}class yt extends B{visit(t,e,s){if(!e)return;s=super.visit(t,e,s);const r=t.evaluate("nvCxnSpPr/cNvCxnSpPr",e);if(r){const i=t.evaluate("cxnSpLocks",r);if(i){i.hasAttribute("noChangeAspect")&&(s.lockAspect=i.getAttribute("noChangeAspect")==="1");const n={};Object.keys(n).length>0&&(s.locks=n)}}t.warn(`Unable to import '${s.name}', connection shapes are not supported.`);const o={};return s.content={type:"cxnSp",json:o},o}}const _="richTypes";class vt{visit(t,e,s){let r=t.getVisitorParamsState().get(_);r||(r=[],t.getVisitorParamsState().set(_,r));const o=e.childNodes,i=o.length;for(let n=0;n<i;n++){const l=o.item(n);if(l.nodeType===1&&l.localName==="s"){const a={type:l.getAttribute("t")??"n",keys:[]};this.processKeys(t,l,a),r.push(a)}}return s.richTypes=r,r}processKeys(t,e,s){const r=e.childNodes,o=r.length,i=s.keys;for(let n=0;n<o;n++){const l=r.item(n);if(l.nodeType===1&&l.localName==="k"){const a=l.getAttribute("n"),c=l.getAttribute("t");i.push([a,c])}}}}const j="richData";class Ft{visit(t,e,s){let r=t.getVisitorParamsState().get("richTypes");if(!r)return void t.warn("RichValueFound but not type.");let o=t.getVisitorParamsState().get(j);o||(o=[],t.getVisitorParamsState().set(j,o));const i=e.childNodes,n=i.length;for(let l=0;l<n;l++){const a=i.item(l);if(a.nodeType===1&&a.localName==="rv"){const c=r[a.getAttribute("s")],h={type:c.type};this.processValues(t,a,h,c);const d=this.mapType(t,h);o.push(d)}}return s.richData=o,o}mapType(t,e){if(e.type==="_error"){const s=e.errorType;if(s)try{e=p.Mt.getBuiltInById(s+1)}catch{}}return e}processValues(t,e,s,r){const o=e.childNodes,i=o.length;r.type;const n=r.keys;for(let l=0;l<i;l++){const a=o.item(l);if(a.nodeType===1&&a.localName==="v"){const c=n[l];if(!c)return void t.warn("Invalid richData");const h=c[0],d=c[1];let m=a.textContent;d==="i"&&(m=Number(m)),s[h]=m}}}}class Ct{visit(t,e,s){if(!e)return;const r=[];return this.processAuthors(t,t.evaluate("authors",e),r),r.length>0&&(s.authors=r),s.comments=[],s}processAuthors(t,e,s){if(!e)return;const r=e.childNodes;for(let o=0;o<r.length;o++){const i=r.item(o);if(i.nodeType===1&&i.localName==="author"){const n=i.firstChild;n&&n.nodeType===3&&s.push(n.textContent)}}}}class wt{visit(t,e,s){if(!e)return;const r={};return t.copyFromAttribute(e,"ref",r),t.copyFromAttribute(e,"authorId",r,"authorId",t.INT_COPY),r.asNote=!0,s.comments||(s.comments=[]),s.comments.push(r),r}}class Pt{visit(t,e,s){if(!e)return;const r=[];return s.comments=r,r}}class Nt{visit(t,e,s){if(!e)return;const r={};return t.copyFromAttribute(e,"id",r,"id",g.r),t.copyFromAttribute(e,"personId",r,"personId",g.r),t.copyFromAttribute(e,"ref",r),t.copyFromAttribute(e,"parentId",r,"parentId",g.r),t.copyFromAttribute(e,"dT",r),e.hasAttribute("done")&&(r.done=g.b(e.getAttribute("done"))),s.push(r),r}}class Ot{visit(t,e,s){const r=[],o=e.childNodes;for(let i=0;i<o.length;i++){const n=o.item(i);if(n.nodeType===1&&n.localName==="person"){const l={};t.copyFromAttribute(n,"id",l,"id",g.r),t.copyFromAttribute(n,"displayName",l),t.copyFromAttribute(n,"userId",l,"userId",g.r),t.copyFromAttribute(n,"providerId",l),r.push(l)}}return r.length>0&&(s.persons=r),r}}const Tt={};class St{constructor(t,e){this.path=t,this.visitor=e}}class R{constructor(){this.visitorsByXmlTagName=new Map,this.scopedVisitorsByXmlTagName=new Map,this.visitorParamsState=null,this.registerVisitor("Relationships",new K),this.registerVisitor("spPr",new L),this.registerVisitor("txBody",new F),this.registerVisitor("txPr",new F),this.registerVisitor("c:chartSpace",new q),this.registerVisitor("c:chartSpace",new H,"chart"),this.registerVisitor("c:plotArea",new J),this.registerVisitor("c:barChart",new Q),this.registerVisitor("c:doughnutChart",new N),this.registerVisitor("c:lineChart",new N),this.registerVisitor("c:ofPieType",new N),this.registerVisitor("c:pieChart",new N),this.registerVisitor("c:scatterChart",new N),this.registerVisitor("c:barChart",new w("dataLabels"),"dLbls"),this.registerVisitor("c:doughnutChart",new w("dataLabels"),"dLbls"),this.registerVisitor("c:lineChart",new w("dataLabels"),"dLbls"),this.registerVisitor("c:ofPieType",new w("dataLabels"),"dLbls"),this.registerVisitor("c:pieChart",new w("dataLabels"),"dLbls"),this.registerVisitor("c:scatterChart",new w("dataLabels"),"dLbls"),this.registerVisitor("c:ser",new Z),this.registerVisitor("c:dPt",new tt),this.registerVisitor("c:marker",new et),this.registerVisitor("c:catAx",new k),this.registerVisitor("c:valAx",new k),this.registerVisitor("c:dateAx",new k),this.registerVisitor("c:majorGridlines",new V("gridLinesMajor")),this.registerVisitor("c:minorGridlines",new V("gridLinesMinor")),this.registerVisitor("c:chartSpace",null,"txPr"),this.registerVisitor("c:catAx",new F("labels.text"),"txPr"),this.registerVisitor("c:valAx",new F("labels.text"),"txPr"),this.registerVisitor("c:dateAx",new F("labels.text"),"txPr"),this.registerVisitor("c:legend",new st),this.registerVisitor("c:legend",new F("labels.text"),"txPr"),this.registerVisitor("c:legendEntry",new rt),this.registerVisitor("c:ser",new ot,"extLst/ext/invertSolidFillFmt/spPr"),this.registerVisitor("c:ser",new w("labels"),"dLbls"),this.registerVisitor("c:dLbl",new w("points")),this.registerVisitor("c:title",new E),this.registerVisitor("c:title",null,"tx/rich"),this.registerVisitor("c:title",null,"txPr"),this.registerVisitor("c:layout",new it),this.registerVisitor("c:dispUnits",new V("dispUnits")),this.registerVisitor("c:dispUnitsLbl",new E("displayUnitsLabel")),this.registerVisitor("c:dispUnitsLbl",new F,"tx/rich"),this.registerVisitor("a:theme",new nt),this.registerVisitor("a:theme",new lt,"themeElements/clrScheme"),this.registerVisitor("a:theme",new at,"themeElements/fontScheme"),this.registerVisitor("autoFilter",new ut),this.registerVisitor("sortState",new ht),this.registerVisitor("s:workbook",new gt),this.registerVisitor("styleSheet",new pt),this.registerVisitor("table",new dt),this.registerVisitor("hlinkClick",new ct),this.registerVisitor("wsDr",new mt),this.registerVisitor("twoCellAnchor",new x),this.registerVisitor("oneCellAnchor",new x),this.registerVisitor("absoluteAnchor",new x),this.registerVisitor("graphicFrame",new bt),this.registerVisitor("sp",new B),this.registerVisitor("grpSp",new ft),this.registerVisitor("cxnSp",new yt),this.registerVisitor("pic",new At),this.registerVisitor("rvStructures",new vt),this.registerVisitor("rvData",new Ft),this.registerVisitor("comments",new Ct),this.registerVisitor("commentList",new wt,"comment"),this.registerVisitor("comment",new F("content"),"text"),this.registerVisitor("ThreadedComments",new Pt),this.registerVisitor("threadedComment",new Nt),this.registerVisitor("threadedComment",new F("content"),"text"),this.registerVisitor("personList",new Ot)}registerVisitor(t,e,s=null){t.indexOf(":")===-1&&(t="*:"+t);const r=t.split(":"),o=r.length>1?r[1]:r[0];if(!s)return this.visitorsByXmlTagName.set(o,e),void this.visitorsByXmlTagName.set(t,e);let i=this.scopedVisitorsByXmlTagName.get(o);i||(i=[],this.scopedVisitorsByXmlTagName.set(o,i),this.scopedVisitorsByXmlTagName.set(t,i)),i.push(new St(s,e))}getVisitorParamsState(){return this.visitorParamsState}convert(t,e,s=Tt){const r=t.documentElement;this.visitorParamsState&&!s?.paramMap||(this.visitorParamsState=s?.paramMap??new Map);const o={};let i=this.visitorsByXmlTagName.get(r.nodeName);if(i||(i=this.visitorsByXmlTagName.get(r.localName)),!i)throw new Error(`A visitor for the root element: '${r.nodeName}' or '${r.localName}' must be registered.`);const n="/"+r.localName,l=new S(null,this,n,r,o,e,s),a=[];this._doWalk(i,l,a,r,o,e,s);for(let c=0;c<a.length;c++){const h=a[c];try{h.visitor?.afterVisit?.(h.context,h.elemParent,h.jsonParent)}catch(d){console.warn(`Error in afterVisit: ${h.context.getPath()}`,d)}}return o}_walkScoped(t,e,s,r,o,i,n){const l=this.scopedVisitorsByXmlTagName.get(t);for(let a=0;l&&a<l.length;a++){const c=l[a];let h=null;try{h=e.evaluate(c.path,r)}catch{console.warn(`"Invalid path '${c.path}' for '${t}'.`)}if(!h)continue;const d=m=>{let b=m.localName,v=m.parentNode;for(;v&&v!==r;)b=v.localName+"/"+b,v=v.parentNode;const P=e.getPath()+"/"+b;if(c.visitor){const T=new S(e,this,P,e.getElemRoot(),e.getJsonRoot(),i,n);this._doWalk(c.visitor,T,s,m,o,i,n)}};if(h.length>0){const m=h;for(let b=0;b<m.length;b++)d(m.item(b))}else d(h)}}_doWalk(t,e,s,r,o,i,n){let l=null;t&&(s.push({visitor:t,context:e,elemParent:r,jsonParent:o}),l=t.visit(e,r,o)),l||(l=o);const a=r.localName;this._walkScoped(a,e,s,r,l,i,n);const c=r.childNodes;for(let h=0;h<c.length;h++){const d=c.item(h);if(d.nodeType===1){const m=d,b=m.localName,v=this.visitorsByXmlTagName.get(b),P=e.getPath()+"/"+b,T=new S(e,this,P,e.getElemRoot(),e.getJsonRoot(),i,n);this._doWalk(v,T,s,m,l??o,i,n)}}return l}}exports.FromOOXMLConverter=R,exports.default=R;
@@ -1,21 +0,0 @@
1
- "use strict";/**
2
- * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.2.6
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"});/**
7
- * @license @sheetxl/studio-mui - Studio - Spreadsheet UI built with SheetXL SDK using React & MUI. - v0.2.6
8
- *
9
- * (C) 2025-present SheetXL Inc. & Michael T. Ford
10
- * License: The license can be found at https://www.sheetxl.com/license.
11
- *//**
12
- * @license @sheetxl/sdk - SDK - A high-performance, embeddable spreadsheet engine. - v0.2.6
13
- *
14
- * (C) 2025-present SheetXL Inc. & Michael T. Ford
15
- * License: The license can be found at https://www.sheetxl.com/license.
16
- *//**
17
- * @license @sheetxl/scripting - Scripting - Scripting engine for Macros and formulas; includes TypeScript and EsBuild. - v0.2.6
18
- *
19
- * (C) 2025-present SheetXL Inc. & Michael T. Ford
20
- * License: The license can be found at https://www.sheetxl.com/license.
21
- */let s=null;exports.initialize=async function(){return s||(s=new Promise(async(o,l)=>{try{const i="0.20.2",n=`https://esm.sh/esbuild-wasm@${i}`,e=`https://esm.sh/esbuild-wasm@${i}/esbuild.wasm`;console.log("🔄 Initializing esbuild...",e);const a=await import(n);console.log("🔄 Got esm...",e);const t=a.default;await t.initialize({wasmURL:e,worker:!1}),console.log("🔄 Initialized esm...",e),o(t)}catch(i){console.error("Error initializing esbuild:",i),l(i)}}),s)};
@@ -1,21 +0,0 @@
1
- "use strict";var c=Object.create;var n=Object.defineProperty;var a=Object.getOwnPropertyDescriptor;var s=Object.getOwnPropertyNames;var u=Object.getPrototypeOf,p=Object.prototype.hasOwnProperty;var y=(e,i,r,o)=>{if(i&&typeof i=="object"||typeof i=="function")for(let l of s(i))!p.call(e,l)&&l!==r&&n(e,l,{get:()=>i[l],enumerable:!(o=a(i,l))||o.enumerable});return e};var g=(e,i,r)=>(r=e!=null?c(u(e)):{},y(i||!e||!e.__esModule?n(r,"default",{value:e,enumerable:!0}):r,e));/**
2
- * @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.2.6
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"});/**
7
- * @license @sheetxl/studio-mui - Studio - Spreadsheet UI built with SheetXL SDK using React & MUI. - v0.2.6
8
- *
9
- * (C) 2025-present SheetXL Inc. & Michael T. Ford
10
- * License: The license can be found at https://www.sheetxl.com/license.
11
- *//**
12
- * @license @sheetxl/sdk - SDK - A high-performance, embeddable spreadsheet engine. - v0.2.6
13
- *
14
- * (C) 2025-present SheetXL Inc. & Michael T. Ford
15
- * License: The license can be found at https://www.sheetxl.com/license.
16
- *//**
17
- * @license @sheetxl/scripting - Scripting - Scripting engine for Macros and formulas; includes TypeScript and EsBuild. - v0.2.6
18
- *
19
- * (C) 2025-present SheetXL Inc. & Michael T. Ford
20
- * License: The license can be found at https://www.sheetxl.com/license.
21
- */let t=null;exports.initialize=async function(){return t||(t=new Promise(async(e,i)=>{console.log("🔄 Initializing Browser TypeScript module...");let r=null;try{r=await import("https://esm.sh/typescript@5.7.2")}catch(o){console.error("Error initializing Browser TypeScript module:",o)}r||console.log("use script fallback"),e(r)}),t)};