@sheetxl/studio-vanilla 0.8.0-beta.7 → 0.8.0-beta.9
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.
- package/browser/cjs/71t68tthCqAyqS9Y2.cjs +1 -0
- package/browser/cjs/9zyLp_qEwt9GphA82.cjs +1 -0
- package/browser/cjs/B0bpKoi26UcJy-yx2.cjs +1 -0
- package/browser/cjs/B7gx_G60ELU_MwHQ.cjs +3 -0
- package/browser/cjs/{BCm6d5TSyOWIner52.cjs → B8k2Nobs3xsYk1La2.cjs} +1 -1
- package/browser/cjs/{B6T_y0ce8SbjxV-I.cjs → BBev0dLbf1fU-lfA.cjs} +1 -1
- package/browser/cjs/{ahQaPMczi7feo-ae2.cjs → BLm90Fq3PHyJcuuD2.cjs} +1 -1
- package/browser/cjs/BMUUPjFWJpJ0LI3i.cjs +6 -0
- package/browser/cjs/{namqZsBygpcj2yf42.cjs → BOEw2nlucWPfxCYp2.cjs} +1 -1
- package/browser/cjs/BOVrNOPvNrCm6yRB.cjs +44 -0
- package/browser/cjs/{D9hGhZ8wId9qKZlT.cjs → BRRCf1dPEVEMuZg_.cjs} +1 -1
- package/browser/cjs/{B4VCKO11wngJjEO92.cjs → BWMBI4f0SjoI_Oin2.cjs} +1 -1
- package/browser/cjs/BaC5cgF10fBwJBaK.cjs +3 -0
- package/browser/cjs/{B0gP-9ZXQb_QZ8Jm.cjs → BfSQzdZII1qouGSA.cjs} +1 -1
- package/browser/cjs/Bks6NqUor4BlAszo2.cjs +1 -0
- package/browser/cjs/BlqNnPvPXlfr1uiQ.cjs +1 -0
- package/browser/cjs/Brhq9xC0-0nktknO2.cjs +1 -0
- package/browser/cjs/BzZ4-FYClxQ8ujtx.cjs +1 -0
- package/browser/cjs/C5ysAU-f5AXrrCUy2.cjs +1 -0
- package/browser/cjs/C60FQCTpuPODGMns2.cjs +1 -0
- package/browser/cjs/{Bzd1x5C01LQtiSb0.cjs → CAlhyBtLwTQbCNjD.cjs} +1 -1
- package/browser/cjs/{eCs1q0PICk1snU-12.cjs → CMr_-nDgsJMujQie2.cjs} +1 -1
- package/browser/cjs/COX7Y3Wht4v_4upT2.cjs +1 -0
- package/browser/cjs/{B1yQqy3iSI5uZPt3.cjs → CW6uYgYnFALF8Wep.cjs} +1 -1
- package/browser/cjs/Cs08_432tXlhmIvU.cjs +90 -0
- package/browser/cjs/{DFfYZJqlytuKuwBJ.cjs → D0OGlOZBsNUXBigZ.cjs} +1 -1
- package/browser/cjs/{C5RvrnAGhfLzpBNO.cjs → D1q4dPaaoZjeLyfe.cjs} +1 -1
- package/browser/cjs/D7mCXmc268F393wh2.cjs +8 -0
- package/browser/cjs/{O6F5xVsoF2hTiprv2.cjs → DCOqoH-T4Ux_1dQj2.cjs} +1 -1
- package/browser/cjs/{CEEuvrhhkW5TgJnc.cjs → DDPnnW8pKC_2zw9B.cjs} +3 -3
- package/browser/cjs/DEeKo15ZqUcmFDOr2.cjs +1 -0
- package/browser/cjs/DHkk0JkwMtD44kS3.cjs +1 -0
- package/browser/cjs/{BUm56uGV9gjkjukY.cjs → DHqatAcjRnNrazeD.cjs} +1 -1
- package/browser/cjs/{-fvFQTbevbuRecGW.cjs → DKZA4pMye4Pmg1RA.cjs} +1 -1
- package/browser/cjs/DLAAtKRVBbSpGhxl.cjs +1 -0
- package/browser/cjs/{DB7uY0V24myTsCAO2.cjs → DToMNH3wGi3n2uzu2.cjs} +1 -1
- package/browser/cjs/DZjJnyrLugwcGEp_.cjs +1 -0
- package/browser/cjs/DfEVusmtxqWAEEiY.cjs +1 -0
- package/browser/cjs/DfFRdD4_C7I-6yMX.cjs +30 -0
- package/browser/cjs/Dki3Dmf6EPdM8LlM.cjs +6 -0
- package/browser/cjs/DkmumL9n_dH_hGQM.cjs +15 -0
- package/browser/cjs/Dl78hBFh7yqtDkqK.cjs +1 -0
- package/browser/cjs/{BbXbe-bwCJLD279F.cjs → DmLfFV_n8G4X8mrz.cjs} +1 -1
- package/browser/cjs/{DnMx7IQDtha_NuLB2.cjs → DqPfiDmZbBXEaCP_2.cjs} +1 -1
- package/browser/cjs/DsXQ2l8FnovrZHUY.cjs +1 -0
- package/browser/cjs/{D3gV1sduXTeibviI.cjs → Dw0B6dMDxbb1xfgd.cjs} +1 -1
- package/browser/cjs/{BnXCqfKX491kQrtl.cjs → Dyh_1aZCy-1UzCsZ.cjs} +1 -1
- package/browser/cjs/GYpazpfoUjLOoCiK.cjs +1 -0
- package/browser/cjs/{BmdFT-Ie0SY8YqFf.cjs → On1UFwmi1jBdIPHA.cjs} +2 -2
- package/browser/cjs/{B6k5f9VFbYVTvfVE2.cjs → VzSM9peK6m7Un51q2.cjs} +1 -1
- package/browser/cjs/YXZX8u8UAJjC65if2.cjs +1 -0
- package/browser/cjs/index.cjs +1 -1
- package/browser/cjs/ukoyeeBQoyNfdkag.cjs +32 -0
- package/browser/cjs/xuAfpHmA2W4MFa_0.cjs +1 -0
- package/browser/cjs/yWKtR8OoFhtOqU0C.cjs +2 -0
- package/{cdn/assets/D6o4brLafnJRIFnU.js → browser/esm/0aKGd26gK-kyYQpJ.mjs} +2 -2
- package/browser/esm/{Bt3ndQy-OnI4OHTz.mjs → 1YNqnAQLBD6Rbh-J2.mjs} +1 -1
- package/browser/esm/{B1ZEbc_b-Hug9WON.mjs → 2F7YZkGv5ARgpyZp.mjs} +1 -1
- package/browser/esm/{DsGyEBTgXCOEpB4D.mjs → 2wA_KrUFQ1jrFBd9.mjs} +69 -68
- package/browser/esm/{BkU3OKqpa0ddsfDs.mjs → 33yirHl3UNk6hI0k.mjs} +2 -2
- package/{cdn/assets/D5nFDHDC5F0D8PyZ.js → browser/esm/33yirHl3UNk6hI0k2.mjs} +2 -2
- package/{cdn/assets/DyQEm0-NZ41L--1K.js → browser/esm/4Ah98p4lGiqrlbx6.mjs} +1 -1
- package/browser/esm/{Cl_mxlCr73V-Yg6k.mjs → B6hXpbUeJ5Oyyttd.mjs} +8015 -7564
- package/browser/esm/{COqCbm81u1WaCS7k.mjs → BCGMvpUPFTYcKGbk.mjs} +1 -1
- package/browser/esm/{KH2MZAMxGzfVMoKB2.mjs → BFrhIhjN1UwpjBcV2.mjs} +9 -9
- package/{cdn/assets/CCIybQZ3Tgu4CxnN2.js → browser/esm/BFv3n-8UY0C32OsF2.mjs} +1 -1
- package/browser/esm/{cBQ4eqpoDrXn7JHn.mjs → BGgqNYvM_RAz4jrA.mjs} +3 -3
- package/browser/esm/{C6eVL3m02S-Qj2uy2.mjs → BSyEOmiRvJDj0_4_2.mjs} +1 -1
- package/browser/esm/{C7Em8LjBH1VJoyfm.mjs → BT_Wxatn8mtmQ5qD.mjs} +1 -1
- package/browser/esm/{BefWPzywuI_Ptwju.mjs → BU7mp3uhAKScJeIR.mjs} +13 -13
- package/browser/esm/{q3Mf-6we7Zn-SXlN2.mjs → BV4Vqj3NFgB6gT0a2.mjs} +62 -62
- package/browser/esm/{DCOuB4SkbT3JU9bd2.mjs → BVJrNnBCgG9jP7JN2.mjs} +7 -7
- package/browser/esm/{C-X2_FUeulh-Fay1.mjs → BWpXJ2OCAVkNOxJs.mjs} +5 -5
- package/browser/esm/{CJfK3Zm2ZKVEv5Mv.mjs → BXBYzUCo-8Y2kvih.mjs} +1 -1
- package/browser/esm/{C82u-7ClfP9SoGOY2.mjs → BZ860rgIJYeM_mZk2.mjs} +7 -7
- package/browser/esm/{B-svf5wq7V5QDtO4.mjs → BZKWCpLfrzdLKWH3.mjs} +12 -12
- package/{cdn/assets/DLxFo71kHJsGXBZ32.js → browser/esm/Ba8XCzy9ufDNa_mw.mjs} +1 -1
- package/browser/esm/{CtIl_LU__yf7i0CI2.mjs → BcaaTjcuVt3Oji-Y2.mjs} +15 -15
- package/browser/esm/{DdWhgxkT5YtvYarN.mjs → Beb-71pldLN9-lkZ2.mjs} +1 -1
- package/browser/esm/{BmHI7i54YtVAcFrP.mjs → Bh63JoX4eBlOHfnf.mjs} +5 -5
- package/browser/esm/{BzY-TCedGBSg3UzZ2.mjs → Biy4xNo0ds01Jy6T2.mjs} +7 -7
- package/browser/esm/{DgmukBO5L3U9_0t42.mjs → BjcfDORFDLJVCh9M2.mjs} +1 -1
- package/browser/esm/{DIxQ75X7k8keCEPD.mjs → BnzryntYV2vpXfKO.mjs} +3 -3
- package/browser/esm/{DaSrO6iF4NOXLpMI2.mjs → BoWxoDcx70L4pgIG2.mjs} +1 -1
- package/browser/esm/{pkHBfquSDF6569Gk2.mjs → BouasW9i4KF5ayiD2.mjs} +2 -2
- package/{cdn/assets/BT8V24glIXLW0J7i2.js → browser/esm/BpSYpeutbljnZDCG.mjs} +1 -1
- package/browser/esm/{CD-JsN04jY0VyY1v.mjs → Bsfmz9sSNYL1bur2.mjs} +1 -1
- package/browser/esm/{BQkwe2PCHBQEw--9.mjs → BuZnLC96IH7EKmDo.mjs} +2 -2
- package/{cdn/assets/DJfrSiVd9Hm9g2d2.js → browser/esm/BwpeFsNLJ6sOyg-V.mjs} +1 -1
- package/browser/esm/{CBv1rU3xPDQ-215V2.mjs → ByGJD0lWglnYtMOB2.mjs} +7 -7
- package/{cdn/assets/uVz7RxSLXYsjkdHy.js → browser/esm/Byeb25yVhxGAjZjs.mjs} +2 -2
- package/{cdn/assets/COJLKiCysD7hs2jG2.js → browser/esm/Bzbxw_NHYqY5MOhk2.mjs} +1 -1
- package/browser/esm/{GZBYOLZMS5CK612Z.mjs → C-5IXNwUVn75K6U_.mjs} +8 -8
- package/{cdn/assets/KRAw_H4pyLSGG7VM.js → browser/esm/C-_7D2KLIoDlB5ZW2.mjs} +1 -1
- package/browser/esm/{DhZ8HFnFgb6ij3dI.mjs → C1qj_93tElwUAeIR.mjs} +13 -13
- package/browser/esm/{vFkFpwfIwu3oIJ542.mjs → C6kRIEgNpvwokXS62.mjs} +1 -1
- package/browser/esm/{Bb-mZ1cMsciuz4ww.mjs → C8_izylh6h0mCmn0.mjs} +158 -158
- package/browser/esm/{1Xvtgcae3VR_6R8I.mjs → C8rk3b1et4kn4nmh.mjs} +6 -6
- package/browser/esm/{CFnqyLJDpOXdxb3c2.mjs → CBC4DPaH9zC8bgtR2.mjs} +5 -5
- package/browser/esm/{DxLzXk_tSrLv1u632.mjs → CBHMqMbfHpto8A1O2.mjs} +1 -1
- package/browser/esm/{ByGJZ2rruqWUbaGY.mjs → CFw_lEfCjWsjFmod.mjs} +8 -8
- package/browser/esm/{BZvD2AxAqbnxspY6.mjs → CI2gMVZhmhMTMxzw.mjs} +7066 -5159
- package/browser/esm/{RP044HPTvZ7fRPp62.mjs → CK37hazurRQUhGh82.mjs} +11 -11
- package/browser/esm/{BPnA1nEVe1clG1IF.mjs → CL6HRP8ocSnYryNh.mjs} +4 -4
- package/browser/esm/{Br0flZ59oGm_KTug2.mjs → CNanescYL9L5uras2.mjs} +2 -2
- package/browser/esm/{DFHP3kC1VW25l54r2.mjs → CQBwlTSXDAUWu4W9.mjs} +1 -1
- package/browser/esm/{BrUW8pfVTjf65sDi2.mjs → CQWSMhxAOeTXp9Kx2.mjs} +2 -2
- package/browser/esm/{C55NEfrA6s_yuajX2.mjs → CQyt-UVizZgazLy5.mjs} +1 -1
- package/browser/esm/{ZMzJhKJMzHflPVYY.mjs → CRFwpUUcSI_tqcjz.mjs} +2 -2
- package/{cdn/assets/CaHBZElxMjo_v4LY.js → browser/esm/CXgg3tQvJDJO6SSm2.mjs} +1 -1
- package/browser/esm/{ooQCodfB4ck6IWqw.mjs → C_0vyfGPMnLDdlSb.mjs} +1 -1
- package/{cdn/assets/Bp36kaEEsGhP709t.js → browser/esm/Cag5TarcS7KgHsRo2.mjs} +1 -1
- package/browser/esm/{CWJBcuvUa2RVQMju.mjs → CfdMPj-NygDGMh04.mjs} +3 -3
- package/{cdn/assets/BfqHVT9RAMHzPrq2.js → browser/esm/CgddS2k-SBQbGu-q.mjs} +1 -1
- package/{cdn/assets/Bi82rHDsiL2lqeRo2.js → browser/esm/ChMJWEuVIDRtM4F-2.mjs} +1 -1
- package/{cdn/assets/DxkY3Q5VwWkfqW7t2.js → browser/esm/CiwAp4s68xfZm7za2.mjs} +1 -1
- package/browser/esm/ClKovUJdtYnSDXcU.mjs +2298 -0
- package/{cdn/assets/BBmgXo0P8kU87RB4.js → browser/esm/CmbsN81GDpmY3RPO.mjs} +1 -1
- package/{cdn/assets/D5MFyg_gQzrtkU5q.js → browser/esm/Cn4jB4Paw7SdIEXJ.mjs} +1 -1
- package/browser/esm/{BxetdicosmSVg2vW.mjs → CnGCJJ5xiRobAWcX.mjs} +12 -11
- package/{cdn/assets/BS7DCPO7VdYxiXF8.js → browser/esm/CoVIoxu1xnlKd2HA2.mjs} +1 -1
- package/{cdn/assets/De94qdhWNQbkhAKb.js → browser/esm/Cp2HULnAKhE-UPLK.mjs} +829 -809
- package/browser/esm/{DcZJy7SSyaWDcelM.mjs → CpHxcPS-3EVZkuEF.mjs} +2 -2
- package/browser/esm/{mGzBkmSW0FIS3l47.mjs → CpWlrwsyFr5LDXzk.mjs} +1 -1
- package/browser/esm/{BD1aTBqOuoKSzGSD.mjs → CshbEuB1T3tTBKsg.mjs} +41 -51
- package/browser/esm/{fY2YKQMUdsYu7XiI.mjs → CvzmHqRHrWQRXCU4.mjs} +1 -1
- package/browser/esm/{BtPBnZB0UiICvNBH.mjs → CwRejmwDTGehmz3r.mjs} +3 -3
- package/browser/esm/{DmxxEaNdjPB6nBgy.mjs → CzCX-Wad3yMcEHob.mjs} +1 -1
- package/browser/esm/{rFUbFjv5JlDQ1yJw2.mjs → D1Jl06sXpn8zZgdb2.mjs} +11 -11
- package/browser/esm/{BxhPqvaARsOu1pOy2.mjs → D1jTquzDJ_dOLWn32.mjs} +531 -530
- package/browser/esm/{BRSPE-Kbm0TK7bm4.mjs → D1rCmgzPQzy6VXMS.mjs} +1 -1
- package/browser/esm/{C7926vmEK1-oM95A2.mjs → D2Fopvel0AE5OMJ82.mjs} +14 -14
- package/{cdn/assets/De8YQFKHRYztHtNy.js → browser/esm/D70qxLxD0ZWgLmBs2.mjs} +1 -1
- package/browser/esm/{y7OPrnmnmsKf_AFC.mjs → DBYgTlTpZKZGoP3J.mjs} +1 -1
- package/{cdn/assets/rTH3jO4xeLwX22po2.js → browser/esm/DFQANFiqOXXHBhY6.mjs} +1 -1
- package/browser/esm/{CHCc5YuSbtNgC6qQ.mjs → DGb0H5-84FuMTt7D.mjs} +1 -1
- package/browser/esm/{C__NPFffG8xrVl4W.mjs → DIqQkABlFa6ThxBq.mjs} +12 -12
- package/browser/esm/{DFfqXOHApBHKjPmq.mjs → DOrZ1rQOO7y7wy_m2.mjs} +1 -1
- package/browser/esm/{DFgibCVRkv7ROc5v2.mjs → DR-J6OnvqplpkxjY2.mjs} +1 -1
- package/browser/esm/{B4OkD-x-7fL0aUxy.mjs → DW3HvTGIMKSU5-rE.mjs} +5 -5
- package/{cdn/assets/S2-ef6zfqD83qohl.js → browser/esm/D_wBIcd-JG6pjL6X.mjs} +675 -726
- package/{cdn/assets/Bdf9NRBqMDRFuqxL2.js → browser/esm/Db0wkQr-gcaXZ-xF2.mjs} +1 -1
- package/browser/esm/{BuBAtTrlYVvU86de.mjs → Dc-ACeeHSIUlPwwK.mjs} +9 -7
- package/browser/esm/{DZUjFTXDHp2HSvYN.mjs → DhElOu55OpNI63fY.mjs} +13 -13
- package/browser/esm/{DcKd5bjp1ZnTq_-x.mjs → DiC8s-5zqDT2bSX_.mjs} +1 -1
- package/browser/esm/{DNwEAT1MO-6FRFlC.mjs → Dj99WdDE0W4pbL9Z.mjs} +5 -5
- package/browser/esm/{BcO0tjxUkaw8VKEE2.mjs → DkzeehP-6WrvoENP2.mjs} +8 -8
- package/{cdn/assets/B3xtxS53C7jgKwfe2.js → browser/esm/Dmnc6PGw0oZha0MF.mjs} +2612 -1415
- package/{cdn/assets/9cn1ewqq1BWmzgIL.js → browser/esm/DnIM43F01HIS9vrs2.mjs} +1 -1
- package/browser/esm/{BDFm0nphkYgT4nS22.mjs → Do9KFjmpgHDzEREb2.mjs} +9 -9
- package/browser/esm/{CoqDXeaMS0XICCe2.mjs → DonKewYwnXajr7vb.mjs} +1 -1
- package/browser/esm/{C8jJJ5X2nIRCaMcu2.mjs → DqrAn9WP17T4sX4k.mjs} +1 -1
- package/browser/esm/{C2DL_mDwKLFZBqvN2.mjs → DtgxDfYXDdgRF8CP2.mjs} +1 -1
- package/{cdn/assets/D4cHE39d638a1U-y.js → browser/esm/DwcvG_p7iZ2TOYkO2.mjs} +1 -1
- package/browser/esm/{q9O6l04D06PeFt9r.mjs → Dx_rx7X79sTRpl4o.mjs} +5 -5
- package/browser/esm/{DfDgl_4vSuF3nubw2.mjs → Dy92PkC2HNPr3NUS2.mjs} +13 -13
- package/browser/esm/F2DxvTu1OtKx4KOu.mjs +62 -0
- package/browser/esm/{B4g2Yf4whV01sYya2.mjs → FzT0Kg_BbOdmREpX2.mjs} +1 -1
- package/browser/esm/{BSlFBKA1YartFibf.mjs → I660lM4WXwKByUBN.mjs} +618 -293
- package/{cdn/assets/4YGRiYPupFKq8BfP.js → browser/esm/LcWP7jwFTbFV8PXB.mjs} +1 -1
- package/browser/esm/NICR6e-cHnVuaN672.mjs +68 -0
- package/browser/esm/{DU8ox87tBW2BnWct.mjs → Oi3vEmqVfUYeowoU.mjs} +16 -16
- package/{cdn/assets/DIARlYhdv_2V83X8.js → browser/esm/XVb52lYk0hnvaibx2.mjs} +2 -2
- package/browser/esm/{B3PPwwyNEblsUOL8.mjs → _umvY0i6yb5YBaQW2.mjs} +1 -1
- package/browser/esm/{iHpxHAsf4TbCq-TE.mjs → eCn_J58pIBQwzSFQ.mjs} +1 -1
- package/browser/esm/{Dy_DuOQMMsoys5uG.mjs → eb55UkMxnvKhZf7Y.mjs} +43 -43
- package/{cdn/assets/BdTAWhP-loxlROWg.js → browser/esm/enNXuXOMFvwqMrMF2.mjs} +1 -1
- package/browser/esm/{BrDePmlBu6Hb4zjJ.mjs → f4dduywnnZ6uE-MZ.mjs} +1 -1
- package/browser/esm/{C18TArpE7wOvMYXB2.mjs → i81eZYR434OTxzFp2.mjs} +12 -12
- package/browser/esm/{D-oV3YlvN_279OAe.mjs → ilaSvZy5MHqAeVhr.mjs} +8 -8
- package/browser/esm/index.mjs +4 -4
- package/browser/esm/{BASSDm-JY_bgolFA2.mjs → jBZULYj6alt6xc0v2.mjs} +1 -1
- package/browser/esm/{B4jNGg7_t9JeroNp2.mjs → jt7Pndny1ddX66eh2.mjs} +37 -7
- package/browser/esm/{BA63EN1awAh-Inzl.mjs → ms6uwR8n8YkKj8qd.mjs} +1419 -1022
- package/browser/esm/{D_Iw8uMiIvx2jhcv2.mjs → n6xdiChPzW0alL9f2.mjs} +1 -1
- package/browser/esm/{BJXpsm4jy1MQEydA.mjs → naRjzZqPt0JSdeaD.mjs} +2141 -1911
- package/browser/esm/{Dc5MbVn_75FtzgPY2.mjs → qG3Ardi8Sem7RxlS2.mjs} +1 -1
- package/browser/esm/{Bjpm9ZVaFQRdne7s.mjs → rkgkqx2vOlkYHUxK2.mjs} +1 -1
- package/browser/esm/{DL_mqnTNaFcgm_nY.mjs → ro6GeRkPlX0NJeiX.mjs} +2 -2
- package/browser/esm/sq1ZQBDrjmOCMkE8.mjs +2624 -0
- package/{cdn/assets/5DCw2IuKPn_ERodw.js → browser/esm/wcldfedI_9KDEtaN.mjs} +1 -1
- package/browser/esm/{DgCRnAf5wqM0QG4X2.mjs → xmD5IJJziRqUIbkU.mjs} +1 -1
- package/cdn/assets/{ml6iN9Or0sV9rNHQ2.js → -0ZWO-sILmjXhdUn2.js} +10 -10
- package/cdn/assets/{CEP2pbRcOThbPSHu2.js → 0ytlp68IedQ03SxN2.js} +8 -8
- package/cdn/assets/{Bt3ndQy-OnI4OHTz.js → 1YNqnAQLBD6Rbh-J.js} +1 -1
- package/cdn/assets/{B1ZEbc_b-Hug9WON2.js → 2F7YZkGv5ARgpyZp2.js} +1 -1
- package/{browser/esm/DyQEm0-NZ41L--1K.mjs → cdn/assets/4Ah98p4lGiqrlbx6.js} +1 -1
- package/{browser/esm/CY8tngENYkEZn2SB.mjs → cdn/assets/5fk4i8-157Ur23Jd.js} +676 -725
- package/cdn/assets/{CR_q2LxqSxi13Hij2.js → B3g1fc-3zQH4IhzA2.js} +19439 -18988
- package/cdn/assets/{COqCbm81u1WaCS7k2.js → BCGMvpUPFTYcKGbk2.js} +1 -1
- package/cdn/assets/{D_qtb6BEhWE61Z7C.js → BCunHjPgizrAsDXf.js} +17 -17
- package/cdn/assets/{C3wPGkvUzepIQRVC2.js → BE8QpwvUMA9nmViB2.js} +62 -62
- package/{browser/esm/CCIybQZ3Tgu4CxnN.mjs → cdn/assets/BFv3n-8UY0C32OsF.js} +1 -1
- package/cdn/assets/BJNI25e2dCdq29AM.js +62 -0
- package/cdn/assets/{Csgvd2uwdSVvtxd0.js → BLSwh5Hqlo-b8LTp.js} +3 -3
- package/cdn/assets/{C1Fgr1CHaaJCZwDE2.js → BOVd36GaYwk1m1gs2.js} +22 -22
- package/cdn/assets/{DA1nRTNBW1PtpWgT.js → BPdZCt3a5bggHnmC.js} +2 -2
- package/cdn/assets/{C6eVL3m02S-Qj2uy.js → BSyEOmiRvJDj0_4_.js} +1 -1
- package/cdn/assets/{C7fY4QaenhDjniAr.js → BWv9YMAIb4d7yeRr.js} +70 -69
- package/cdn/assets/{CJfK3Zm2ZKVEv5Mv2.js → BXBYzUCo-8Y2kvih2.js} +1 -1
- package/cdn/assets/{B5IRoZY13t_fHSz42.js → BXCPrm92ipaRS1ge2.js} +17 -17
- package/cdn/assets/{3fQDDuvcrnAkT5qe.js → BY3exqKgwDNCbdrG.js} +85 -85
- package/{browser/esm/DLxFo71kHJsGXBZ3.mjs → cdn/assets/Ba8XCzy9ufDNa_mw2.js} +1 -1
- package/cdn/assets/BbQdrdBSar3saQX32.js +149 -0
- package/cdn/assets/{DdWhgxkT5YtvYarN2.js → Beb-71pldLN9-lkZ.js} +1 -1
- package/cdn/assets/{DgmukBO5L3U9_0t4.js → BjcfDORFDLJVCh9M.js} +1 -1
- package/cdn/assets/{DaSrO6iF4NOXLpMI.js → BoWxoDcx70L4pgIG.js} +1 -1
- package/cdn/assets/{pkHBfquSDF6569Gk.js → BouasW9i4KF5ayiD.js} +2 -2
- package/{browser/esm/BT8V24glIXLW0J7i.mjs → cdn/assets/BpSYpeutbljnZDCG2.js} +1 -1
- package/cdn/assets/{ZDs8hbqQmtSIaDZm.js → Br5sDsj8RypYlTfI.js} +3641 -3411
- package/cdn/assets/{aIjKRE7sQ1uohehj.js → BrY06ew6SWC_tvAK.js} +12 -12
- package/cdn/assets/{CD-JsN04jY0VyY1v2.js → Bsfmz9sSNYL1bur2.js} +1 -1
- package/cdn/assets/{CxR_QBoT5nmLyrpM2.js → Bu2WNghK3j0fB5oh2.js} +10 -10
- package/{browser/esm/DJfrSiVd9Hm9g2d2.mjs → cdn/assets/BwpeFsNLJ6sOyg-V2.js} +1 -1
- package/{browser/esm/dRE1rh6cW8nKpTsz2.mjs → cdn/assets/BxwJ2xXpa1-_Ji8R.js} +2 -2
- package/cdn/assets/{C0VNHurPIrPcmiu02.js → BzWz5q7aXaBHYtCY2.js} +2 -2
- package/{browser/esm/COJLKiCysD7hs2jG.mjs → cdn/assets/Bzbxw_NHYqY5MOhk.js} +1 -1
- package/{browser/esm/KRAw_H4pyLSGG7VM2.mjs → cdn/assets/C-_7D2KLIoDlB5ZW.js} +1 -1
- package/cdn/assets/{BvuxB7CzGAv0w7by.js → C3FTMx72bE115RW8.js} +8 -8
- package/cdn/assets/{DFAAoXpOwrC4RlJR2.js → C4CBg5NXA83M7-rF2.js} +8 -8
- package/cdn/assets/{vFkFpwfIwu3oIJ54.js → C6kRIEgNpvwokXS6.js} +1 -1
- package/cdn/assets/{2rpiEjMFb7cTkJWu.js → CAz1eWlfMv2L6OpC.js} +2 -2
- package/cdn/assets/{DxLzXk_tSrLv1u63.js → CBHMqMbfHpto8A1O.js} +1 -1
- package/cdn/assets/{BVM91MmuaEyh3X9n.js → CDCQpPgRQ4H7KmfY.js} +2 -2
- package/cdn/assets/{Dkba6grmCB6y_Yvs2.js → CJD_9GC-kZb-DHuw2.js} +12 -12
- package/cdn/assets/{BwMxbQa51h7P3IFw.js → CJSzKVgSGEQCyJfx.js} +3 -3
- package/{browser/esm/BZwg6XaGq6GshkAo.mjs → cdn/assets/CKKWAZkEaZ4JpBOq.js} +726 -706
- package/cdn/assets/{ZFmNH36WAkLLbTKE2.js → CMV31zC7ULkWMF6V2.js} +8 -8
- package/cdn/assets/{oclc-Ixh46_UsUpL.js → CNTCzYCjbg0XYQ9w.js} +2 -2
- package/cdn/assets/{6NAkWncviZTFXMsY2.js → COMdPpJxQ9_y8qIb2.js} +9 -9
- package/cdn/assets/{DFHP3kC1VW25l54r.js → CQBwlTSXDAUWu4W9.js} +1 -1
- package/cdn/assets/{C55NEfrA6s_yuajX.js → CQyt-UVizZgazLy5.js} +1 -1
- package/cdn/assets/{Ck6OFgakjG9KRLkz2.js → CXdK3ceNb39xu59l2.js} +44 -44
- package/{browser/esm/CaHBZElxMjo_v4LY2.mjs → cdn/assets/CXgg3tQvJDJO6SSm.js} +1 -1
- package/cdn/assets/CXtZMG9g-9oTtiqL.js +2298 -0
- package/cdn/assets/{ooQCodfB4ck6IWqw.js → C_0vyfGPMnLDdlSb2.js} +1 -1
- package/cdn/assets/{Dt52g2i0t1p8L5mE2.js → C_OzUxYG2SGBaAUf2.js} +25 -25
- package/{browser/esm/Bp36kaEEsGhP709t2.mjs → cdn/assets/Cag5TarcS7KgHsRo.js} +1 -1
- package/cdn/assets/{C566hKAp9g__r7-72.js → CdCDTqyTm5N2EY4W2.js} +89 -89
- package/{browser/esm/BfqHVT9RAMHzPrq22.mjs → cdn/assets/CgddS2k-SBQbGu-q2.js} +1 -1
- package/{browser/esm/Bi82rHDsiL2lqeRo2.mjs → cdn/assets/ChMJWEuVIDRtM4F-2.js} +1 -1
- package/{browser/esm/DxkY3Q5VwWkfqW7t.mjs → cdn/assets/CiwAp4s68xfZm7za.js} +1 -1
- package/{browser/esm/BkU3OKqpa0ddsfDs2.mjs → cdn/assets/Cl-N5g_1yS1UniCt.js} +2 -2
- package/{browser/esm/BBmgXo0P8kU87RB42.mjs → cdn/assets/CmbsN81GDpmY3RPO2.js} +1 -1
- package/{browser/esm/D5MFyg_gQzrtkU5q2.mjs → cdn/assets/Cn4jB4Paw7SdIEXJ.js} +1 -1
- package/cdn/assets/{BfmYSaC7YF8lHawu.js → CnUBHUIkRZCIWgUa.js} +8 -8
- package/{browser/esm/BS7DCPO7VdYxiXF82.mjs → cdn/assets/CoVIoxu1xnlKd2HA.js} +1 -1
- package/cdn/assets/{mGzBkmSW0FIS3l472.js → CpWlrwsyFr5LDXzk2.js} +1 -1
- package/cdn/assets/{C_zj-VriJ00f1MCn.js → CtugyaJ11FwQN-WY.js} +5 -5
- package/cdn/assets/{T7quzcPIEGcVdh0D2.js → CuV6xULcGiHONmem2.js} +6 -6
- package/cdn/assets/{DLY3Gp_G16n4d85q.js → CvEz12Ffb2RavW2v.js} +6 -6
- package/cdn/assets/{DVFxFNggaQDjhPuL2.js → CvjnhhM1I_Frxrat2.js} +51 -51
- package/cdn/assets/{fY2YKQMUdsYu7XiI.js → CvzmHqRHrWQRXCU4.js} +1 -1
- package/cdn/assets/{VLBw3i20lk_Yly9G.js → CyC5uu-ajw6189Hf.js} +7963 -6056
- package/cdn/assets/{DmxxEaNdjPB6nBgy2.js → CzCX-Wad3yMcEHob2.js} +1 -1
- package/cdn/assets/{P-5R1AyiA1bO8kls2.js → CzPNVSaAd-17U2N-.js} +7 -7
- package/{browser/esm/BdZUKtFZuJHAUStY.mjs → cdn/assets/D0-ySZmNB4p2PDsi2.js} +2612 -1415
- package/cdn/assets/{D8Ln6s5Q7xc7NoKg2.js → D03MDxsDGQS9hgbm2.js} +13 -13
- package/cdn/assets/{BRSPE-Kbm0TK7bm42.js → D1rCmgzPQzy6VXMS2.js} +1 -1
- package/cdn/assets/{BNBvUyjF30xlfOmr.js → D5RE0juCP5H8JlAH.js} +8 -8
- package/cdn/assets/{w8ORLCpD4v-F7nl22.js → D69bFt0qiJ0Banpu2.js} +9 -9
- package/{browser/esm/De8YQFKHRYztHtNy2.mjs → cdn/assets/D70qxLxD0ZWgLmBs.js} +1 -1
- package/cdn/assets/{DefFGyX5E__KiHEC.js → D8K4Srn2tnQLWkPz.js} +1583 -1186
- package/cdn/assets/{y7OPrnmnmsKf_AFC.js → DBYgTlTpZKZGoP3J2.js} +1 -1
- package/{browser/esm/rTH3jO4xeLwX22po.mjs → cdn/assets/DFQANFiqOXXHBhY62.js} +1 -1
- package/cdn/assets/{DFnfLBAD7P-akaff.js → DFTnRj9--tQc-vef.js} +2 -2
- package/{browser/esm/D9h6T10d18-OYsnY.mjs → cdn/assets/DGb0H5-84FuMTt7D.js} +1 -1
- package/cdn/assets/{C7Em8LjBH1VJoyfm.js → DGb0H5-84FuMTt7D2.js} +1 -1
- package/cdn/assets/{DFfqXOHApBHKjPmq.js → DOrZ1rQOO7y7wy_m.js} +1 -1
- package/cdn/assets/{N2PDFuHeMIcJXi-I2.js → DQSmYw6FezlICa7N2.js} +949 -624
- package/cdn/assets/{CKFb0F8a8b7Bp8XG2.js → DQ_DJLXBiyohjB3S2.js} +12 -12
- package/cdn/assets/{DFgibCVRkv7ROc5v.js → DR-J6OnvqplpkxjY.js} +1 -1
- package/cdn/assets/{CajvXeO8GjmlYo1w.js → DXJtK3wLsbICIvRL.js} +3 -3
- package/cdn/assets/{C0Nxz1Q33eJ2mdFL2.js → DaKYN7vgEkjwgprw.js} +14 -14
- package/{browser/esm/Bdf9NRBqMDRFuqxL.mjs → cdn/assets/Db0wkQr-gcaXZ-xF.js} +1 -1
- package/cdn/assets/{Dt3O9kdjcB6vva5A.js → DdmPDp4-0_yTeGr_.js} +231 -231
- package/cdn/assets/{rynh3babuCEq2zBn2.js → Der1-GUNSJF4NUBK2.js} +7 -7
- package/cdn/assets/{DcKd5bjp1ZnTq_-x2.js → DiC8s-5zqDT2bSX_2.js} +1 -1
- package/cdn/assets/{CA00G9Yi4uXcS5l5.js → DiVecFg4Jh_suq0_.js} +6 -6
- package/cdn/assets/{BX7-HB3e-_oTITi_.js → DiygIQUaTrLizj_A.js} +3 -3
- package/cdn/assets/{q7pkii0gu8s26iBw.js → Dn2VJNfytUlF_IF_.js} +2 -2
- package/{browser/esm/9cn1ewqq1BWmzgIL2.mjs → cdn/assets/DnIM43F01HIS9vrs.js} +1 -1
- package/cdn/assets/{CoqDXeaMS0XICCe2.js → DonKewYwnXajr7vb.js} +1 -1
- package/cdn/assets/{ByU4uQWIIAoe9hoQ2.js → DpIsyNPsRdTDh1cq.js} +13 -12
- package/cdn/assets/{OaIdw_jfk8n1tSOG.js → Dq8SI2oQstCKO-GY.js} +2 -2
- package/cdn/assets/{C8jJJ5X2nIRCaMcu.js → DqrAn9WP17T4sX4k.js} +1 -1
- package/cdn/assets/{C8HjRahIuD14iG_b.js → Drh6Y-moeT0GOGRL.js} +4 -4
- package/cdn/assets/{CaW2AIr71l8EwY4q.js → Ds-D_rdIJs76l1CW2.js} +5 -5
- package/cdn/assets/{RRJyZ2WtMoVN8bzW2.js → DtHIi5l5w6HWQF2d2.js} +14 -14
- package/cdn/assets/{C2DL_mDwKLFZBqvN.js → DtgxDfYXDdgRF8CP.js} +1 -1
- package/{browser/esm/D4cHE39d638a1U-y2.mjs → cdn/assets/DwcvG_p7iZ2TOYkO.js} +1 -1
- package/cdn/assets/{SY3JTpsm5Bpu0tXj.js → DweB8FS7VFYAmdcv.js} +11 -9
- package/cdn/assets/{B4g2Yf4whV01sYya.js → FzT0Kg_BbOdmREpX.js} +1 -1
- package/cdn/assets/IC-gXSmNOKyQGB9f2.js +69 -0
- package/{browser/esm/4YGRiYPupFKq8BfP2.mjs → cdn/assets/LcWP7jwFTbFV8PXB2.js} +1 -1
- package/cdn/assets/{C13AOL3lFAH4T6nv2.js → Qd6QBUsP7YTAXYvh2.js} +21 -21
- package/{browser/esm/D3aXs7hDPXNqjUte.mjs → cdn/assets/TuDsLDkXtOjxtleY2.js} +2 -2
- package/{browser/esm/Bu8wK5Vy7X9Vp_2S.mjs → cdn/assets/YDdOHwur-KHnZcch2.js} +2 -2
- package/cdn/assets/{DavJsn-94WtXCnyy2.js → _BhaDNMLX3Da5J122.js} +838 -837
- package/cdn/assets/{B3PPwwyNEblsUOL82.js → _umvY0i6yb5YBaQW.js} +1 -1
- package/cdn/assets/{Dlk7gS21CL59t8cD.js → b-G7BadS13tqu4Pu.js} +7 -7
- package/cdn/assets/{iHpxHAsf4TbCq-TE2.js → eCn_J58pIBQwzSFQ2.js} +1 -1
- package/{browser/esm/BdTAWhP-loxlROWg2.mjs → cdn/assets/enNXuXOMFvwqMrMF.js} +1 -1
- package/cdn/assets/{BrDePmlBu6Hb4zjJ.js → f4dduywnnZ6uE-MZ.js} +1 -1
- package/cdn/assets/{BASSDm-JY_bgolFA.js → jBZULYj6alt6xc0v.js} +1 -1
- package/cdn/assets/{D_Iw8uMiIvx2jhcv.js → n6xdiChPzW0alL9f.js} +1 -1
- package/cdn/assets/{Dc5MbVn_75FtzgPY.js → qG3Ardi8Sem7RxlS.js} +1 -1
- package/cdn/assets/{Bjpm9ZVaFQRdne7s.js → rkgkqx2vOlkYHUxK.js} +1 -1
- package/cdn/assets/sq1ZQBDrjmOCMkE8.js +2624 -0
- package/{browser/esm/5DCw2IuKPn_ERodw2.mjs → cdn/assets/wcldfedI_9KDEtaN2.js} +1 -1
- package/cdn/assets/{DgCRnAf5wqM0QG4X.js → xmD5IJJziRqUIbkU2.js} +1 -1
- package/cdn/assets/{BrYD9S8O_9gXuYHf.js → yHDAaNbolW5pTQRd.js} +36 -6
- package/cdn/index.js +2 -2
- package/package.json +3 -3
- package/browser/cjs/5drI55_IEkX8nx_B2.cjs +0 -8
- package/browser/cjs/BCaRwsX64XTvboxS.cjs +0 -93
- package/browser/cjs/BDnKbuPYvsWYP-3w.cjs +0 -14
- package/browser/cjs/BInT189S2DdzvIhp.cjs +0 -1
- package/browser/cjs/BPjFqEo3wA9GJNPE.cjs +0 -1
- package/browser/cjs/BTr4bJxe0-3IBHPb.cjs +0 -2
- package/browser/cjs/B_WV3e3yexp3dKaz.cjs +0 -9
- package/browser/cjs/BbMNM5e-lfDFkOvn2.cjs +0 -1
- package/browser/cjs/BjQ-fIDc7Z3qMcPY.cjs +0 -1
- package/browser/cjs/C03SW3gXtIOgEr3A.cjs +0 -43
- package/browser/cjs/C2THZMKIDIU8VSFH2.cjs +0 -1
- package/browser/cjs/C9RqCKNI0CK1VHnE2.cjs +0 -1
- package/browser/cjs/CA37AwwfHsjvbZT62.cjs +0 -1
- package/browser/cjs/CHMgm0vAbEBS1mVW.cjs +0 -1
- package/browser/cjs/CLEx2DRw3kmsrkt82.cjs +0 -1
- package/browser/cjs/CgfPOPhwYwiOfpBy.cjs +0 -1
- package/browser/cjs/CkIFp77GQAFoyjtq.cjs +0 -1
- package/browser/cjs/CsGKVtbBtGlgkYJw2.cjs +0 -1
- package/browser/cjs/Ct45LEBcOGxMU-VE2.cjs +0 -1
- package/browser/cjs/DKdgEj89ChMWaDQz.cjs +0 -3
- package/browser/cjs/DLYEQZzAGuSAmJsp.cjs +0 -6
- package/browser/cjs/DRgeBTxGZFx-ukKA.cjs +0 -1
- package/browser/cjs/DXGjBmROptbxP3On.cjs +0 -24
- package/browser/cjs/DXJEany3J8zAcDA5.cjs +0 -32
- package/browser/cjs/Dgxx0CvoFxJobjxY.cjs +0 -1
- package/browser/cjs/GN7MZBww4pHIrihk.cjs +0 -5
- package/browser/cjs/HR_JYXh2W9xtKFL2.cjs +0 -1
- package/browser/cjs/ImnRKBYtNpv7bEa7.cjs +0 -3
- package/browser/cjs/YGQWfCXmA-65lrhA2.cjs +0 -1
- package/browser/cjs/voiGKFLz_nq_RGBY2.cjs +0 -1
- package/browser/esm/OF1t5e-IpoCN4nMo.mjs +0 -2402
- package/browser/esm/r5p8Wcz2C4nKJXvc.mjs +0 -6104
- package/cdn/assets/BDYtqqyKrm2S3aWJ2.js +0 -159
- package/cdn/assets/BbjFUZr9zWRsnpUT2.js +0 -2402
- package/cdn/assets/C7Em8LjBH1VJoyfm2.js +0 -24
- package/cdn/assets/D9h6T10d18-OYsnY2.js +0 -24
- package/cdn/assets/HhQT-w3KhQYyLF3E.js +0 -6104
- /package/browser/cjs/{4nReftSsKWmnRdtf2.cjs → 4nReftSsKWmnRdtf.cjs} +0 -0
- /package/browser/cjs/{B6IXpae7f0J8Ocq62.cjs → B6IXpae7f0J8Ocq6.cjs} +0 -0
- /package/browser/cjs/{B6vy56yEA1I3B74O.cjs → B6vy56yEA1I3B74O2.cjs} +0 -0
- /package/browser/cjs/{C9q3zr8iCIoYDrdA.cjs → C9q3zr8iCIoYDrdA2.cjs} +0 -0
- /package/browser/cjs/{CFxueP0tbpmvY1Ip.cjs → CFxueP0tbpmvY1Ip2.cjs} +0 -0
- /package/browser/cjs/{CV4KQsHluMqo1I2Q2.cjs → CV4KQsHluMqo1I2Q.cjs} +0 -0
- /package/browser/cjs/{CXlzsh_WHCOsErJ1.cjs → CXlzsh_WHCOsErJ12.cjs} +0 -0
- /package/browser/cjs/{CaJGoNwTL6pAJ6a4.cjs → CaJGoNwTL6pAJ6a42.cjs} +0 -0
- /package/browser/cjs/{CrZlUtdX1h2RUnCP2.cjs → CrZlUtdX1h2RUnCP.cjs} +0 -0
- /package/browser/cjs/{D8-KovdJ0LjxqCe2.cjs → D8-KovdJ0LjxqCe22.cjs} +0 -0
- /package/browser/cjs/{DF4l8xrxkcLkgExp2.cjs → DF4l8xrxkcLkgExp.cjs} +0 -0
- /package/browser/cjs/{DM7-R_ltoLbA9jde.cjs → DM7-R_ltoLbA9jde2.cjs} +0 -0
- /package/browser/cjs/{DNKyaSruDogoBd2H.cjs → DNKyaSruDogoBd2H2.cjs} +0 -0
- /package/browser/cjs/{DRmo6uoGoqtiVff82.cjs → DRmo6uoGoqtiVff8.cjs} +0 -0
- /package/browser/cjs/{DpFg69dDCPoOK2BY.cjs → DpFg69dDCPoOK2BY2.cjs} +0 -0
- /package/browser/cjs/{Dtxj9JR14A-uliu52.cjs → Dtxj9JR14A-uliu5.cjs} +0 -0
- /package/browser/cjs/{Dx7GQ4ALtNG3kshu2.cjs → Dx7GQ4ALtNG3kshu.cjs} +0 -0
- /package/browser/cjs/{aONv0Ys3C8xmnaR82.cjs → aONv0Ys3C8xmnaR8.cjs} +0 -0
|
@@ -0,0 +1,2298 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license @sheetxl/studio-vanilla - SheetXL Studio - Vanilla entry point for integrating SheetXL UI. - v0.8.0-beta.9
|
|
3
|
+
*
|
|
4
|
+
* (C) 2026-present SheetXL Inc. & Michael T. Ford
|
|
5
|
+
* License: The license can be found at https://www.sheetxl.com/license.
|
|
6
|
+
*/
|
|
7
|
+
import { I as e } from "./CzCX-Wad3yMcEHob.mjs";
|
|
8
|
+
import { i as t, l as n } from "./2F7YZkGv5ARgpyZp.mjs";
|
|
9
|
+
import { $ as r, G as i, K as a, V as o, Z as s, _ as c, m as l, nt as u, ot as d } from "./B6hXpbUeJ5Oyyttd.mjs";
|
|
10
|
+
import { i as f, n as p } from "./I660lM4WXwKByUBN.mjs";
|
|
11
|
+
import { A as m, Ft as h, G as g, H as _, J as v, Lt as y, Qt as b, S as x, Ut as S, Zt as C, dt as w, g as ee, gt as te, it as T, j as E, jt as D, k as O, kt as k, lt as A, q as j, r as M, tt as N, vt as P } from "./Dmnc6PGw0oZha0MF.mjs";
|
|
12
|
+
import { n as F, o as I } from "./CshbEuB1T3tTBKsg.mjs";
|
|
13
|
+
var ne = class {
|
|
14
|
+
constructor(e) {
|
|
15
|
+
this.list = e;
|
|
16
|
+
}
|
|
17
|
+
get length() {
|
|
18
|
+
return this.list.length;
|
|
19
|
+
}
|
|
20
|
+
item(e) {
|
|
21
|
+
return this.list[e];
|
|
22
|
+
}
|
|
23
|
+
forEach(e, t) {
|
|
24
|
+
let n = this.list, r = n.length;
|
|
25
|
+
for (let t = 0; t < r; t++) e(n[t], t, this);
|
|
26
|
+
}
|
|
27
|
+
entries() {
|
|
28
|
+
return this.list.entries();
|
|
29
|
+
}
|
|
30
|
+
keys() {
|
|
31
|
+
return this.list.keys();
|
|
32
|
+
}
|
|
33
|
+
values() {
|
|
34
|
+
return this.list.values();
|
|
35
|
+
}
|
|
36
|
+
[Symbol.iterator]() {
|
|
37
|
+
return this.list.values();
|
|
38
|
+
}
|
|
39
|
+
}, re = (e) => !0 === e || e === "1" || e === "on" || e === "true" || !1 !== e && e !== "0" && e !== "off" && e !== "false" && null, ie = (e) => {
|
|
40
|
+
let t = parseInt(e);
|
|
41
|
+
return isNaN(t) ? null : t;
|
|
42
|
+
}, L = (e) => {
|
|
43
|
+
let t = parseFloat(e);
|
|
44
|
+
return isNaN(t) ? null : t;
|
|
45
|
+
}, R = /* @__PURE__ */ new Map(), z = class {
|
|
46
|
+
constructor(t, n, r, i, a, o = null, s = e.EmptyObject) {
|
|
47
|
+
this._fileLocation = "", this._parent = t, this.sharedShared = n, this.currentPath = r, this.elemRoot = i, this.jsonRoot = a, t ? (this._fileLocation = t._fileLocation, this._getRef = t._getRef, this._getRefs = t._getRefs, this._serializeElement = t._serializeElement, this._readEmbeddedPart = t._readEmbeddedPart) : (o && (this._fileLocation = o), s?.getRef && (this._getRef = (e, t, n) => s?.getRef?.(e, t, n, s?.parsedRefs)), s?.getRefs && (this._getRefs = (e) => s?.getRefs?.(e, s?.parsedRefs)), this._onWarning = s?.onWarning, this._addPerson = s?.addPerson, this._serializeElement = s?.serializeElement, this._readEmbeddedPart = s?.readEmbeddedPart);
|
|
48
|
+
}
|
|
49
|
+
getRef(e, t = !1) {
|
|
50
|
+
return this._getRef?.(e, this._fileLocation, t) ?? null;
|
|
51
|
+
}
|
|
52
|
+
readEmbeddedPart(e) {
|
|
53
|
+
return this._readEmbeddedPart?.(e, this._fileLocation) ?? null;
|
|
54
|
+
}
|
|
55
|
+
getRelationships() {
|
|
56
|
+
return this._getRefs?.(this._fileLocation) ?? R;
|
|
57
|
+
}
|
|
58
|
+
getPath() {
|
|
59
|
+
return this.currentPath;
|
|
60
|
+
}
|
|
61
|
+
getFileLocation() {
|
|
62
|
+
return this._fileLocation;
|
|
63
|
+
}
|
|
64
|
+
getElemRoot() {
|
|
65
|
+
return this.elemRoot;
|
|
66
|
+
}
|
|
67
|
+
getJsonRoot() {
|
|
68
|
+
return this.jsonRoot;
|
|
69
|
+
}
|
|
70
|
+
warn(e, t) {
|
|
71
|
+
this._raiseWarning(e, this.getFileLocation(), t?.onceKey);
|
|
72
|
+
}
|
|
73
|
+
_raiseWarning(e, t, n) {
|
|
74
|
+
this._onWarning ? this._onWarning(e, t, n) : this._parent ? this._parent._raiseWarning(e, t, n) : console.warn(e);
|
|
75
|
+
}
|
|
76
|
+
serializeElement(e) {
|
|
77
|
+
return this._serializeElement?.(e) ?? null;
|
|
78
|
+
}
|
|
79
|
+
addPerson(e) {
|
|
80
|
+
return typeof e == "string" && (e = { displayName: e }), this._addPerson ? this._addPerson(e) : this._parent ? this._parent?._addPerson?.(e) ?? null : null;
|
|
81
|
+
}
|
|
82
|
+
getVisitorParamsState() {
|
|
83
|
+
return this.sharedShared.getVisitorParamsState();
|
|
84
|
+
}
|
|
85
|
+
evaluate(e, t) {
|
|
86
|
+
if (!e) return t;
|
|
87
|
+
let n = [t], r = e.split("/"), i = r.length;
|
|
88
|
+
for (let e = 0; e < i; e++) {
|
|
89
|
+
let t = r[e];
|
|
90
|
+
if (t === "" || t === ".") continue;
|
|
91
|
+
let a = [], o = (t === "*" || t === "**") && e !== i - 1;
|
|
92
|
+
for (let i of n) if (i) if (o) {
|
|
93
|
+
let t = r[e + 1];
|
|
94
|
+
t && t !== "" && t !== "." && (this._findDescendants(i, t, a), e++);
|
|
95
|
+
} else if (t === "*" || t === "**") {
|
|
96
|
+
if (!i.childNodes) continue;
|
|
97
|
+
let e = i.childNodes, t = e.length;
|
|
98
|
+
for (let n = 0; n < t; n++) {
|
|
99
|
+
let t = e[n];
|
|
100
|
+
t.nodeType === 1 && a.push(t);
|
|
101
|
+
}
|
|
102
|
+
} else {
|
|
103
|
+
if (!i.childNodes) continue;
|
|
104
|
+
let e = i.childNodes, n = e.length;
|
|
105
|
+
for (let r = 0; r < n; r++) {
|
|
106
|
+
let n = e[r];
|
|
107
|
+
if (n.nodeType !== 1) continue;
|
|
108
|
+
let i = n;
|
|
109
|
+
this._matchesElementName(i, t) && a.push(i);
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
if (n = a, n.length === 0) return null;
|
|
113
|
+
}
|
|
114
|
+
return n.length === 1 ? n[0] : n.length === 0 ? null : new ne(n);
|
|
115
|
+
}
|
|
116
|
+
_matchesElementName(e, t) {
|
|
117
|
+
return t.includes(":") ? (e.tagName || e.nodeName) === t : e.localName === t;
|
|
118
|
+
}
|
|
119
|
+
_findDescendants(e, t, n) {
|
|
120
|
+
if (!e || !e.childNodes) return;
|
|
121
|
+
let r = e.childNodes, i = r.length;
|
|
122
|
+
for (let e = 0; e < i; e++) {
|
|
123
|
+
let i = r[e];
|
|
124
|
+
if (i.nodeType !== 1) continue;
|
|
125
|
+
let a = i;
|
|
126
|
+
this._matchesElementName(a, t) && n.push(a), this._findDescendants(a, t, n);
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
getFromPath(t, n) {
|
|
130
|
+
return e.getFromPath(t, n);
|
|
131
|
+
}
|
|
132
|
+
setToPath(t, n, r) {
|
|
133
|
+
return e.setToPath(t, n, r);
|
|
134
|
+
}
|
|
135
|
+
getValAttrAsString(e, t) {
|
|
136
|
+
let n = this.evaluate(e, t);
|
|
137
|
+
return n && n.hasAttribute("val") ? n.getAttribute("val") ?? null : null;
|
|
138
|
+
}
|
|
139
|
+
getValAttrAsBoolean(e, t, n = !1) {
|
|
140
|
+
let r = this.evaluate(e, t);
|
|
141
|
+
if (!r) return null;
|
|
142
|
+
let i = r.hasAttribute("val") ? r.getAttribute("val") : void 0;
|
|
143
|
+
return i == null ? n : i === "1" || i === "on" || i === "true" || i !== "0" && i !== "off" && i !== "false" && n;
|
|
144
|
+
}
|
|
145
|
+
getValAttrAsInteger(e, t) {
|
|
146
|
+
let n = this.evaluate(e, t);
|
|
147
|
+
return n && n.hasAttribute("val") ? parseInt(n.getAttribute("val")) ?? null : null;
|
|
148
|
+
}
|
|
149
|
+
getValAttrAsFloat(e, t) {
|
|
150
|
+
let n = this.evaluate(e, t);
|
|
151
|
+
return n && n.hasAttribute("val") ? parseFloat(n.getAttribute("val")) ?? null : null;
|
|
152
|
+
}
|
|
153
|
+
get BOOLEAN_COPY() {
|
|
154
|
+
return re;
|
|
155
|
+
}
|
|
156
|
+
get INT_COPY() {
|
|
157
|
+
return ie;
|
|
158
|
+
}
|
|
159
|
+
get FLOAT_COPY() {
|
|
160
|
+
return L;
|
|
161
|
+
}
|
|
162
|
+
copyFromAttribute(e, t, n, r = t, i = null) {
|
|
163
|
+
if (!e || !n || !e.hasAttribute(t)) return;
|
|
164
|
+
let a = e.getAttribute(t);
|
|
165
|
+
if (i) {
|
|
166
|
+
if (Array.isArray(i)) {
|
|
167
|
+
let e = i.length;
|
|
168
|
+
for (let t = 0; t < e; t++) if (a == null || (a = i[t](a), a == null)) return;
|
|
169
|
+
} else if (a == null || (a = i(a), a == null)) return;
|
|
170
|
+
}
|
|
171
|
+
this.setToPath(n, r, a);
|
|
172
|
+
}
|
|
173
|
+
}, B = class {
|
|
174
|
+
constructor(e) {
|
|
175
|
+
this.jsonKey = e;
|
|
176
|
+
}
|
|
177
|
+
visit(e, t, n) {
|
|
178
|
+
let r = {};
|
|
179
|
+
return n[this.jsonKey] = r, r;
|
|
180
|
+
}
|
|
181
|
+
}, V = class {
|
|
182
|
+
visit(e, t, n) {
|
|
183
|
+
let r = {};
|
|
184
|
+
if (x(e, t, r, "grouping", "grouping"), O(e, t, r, "varyColors", "varyColors"), C(e, t, r, "gapWidth", "gapWidth", .01), C(e, t, r, "overlap", "overlap", .01), this.parseType(e, t, r), v(e, t, r, "bubbleScale", "bubbleScale"), O(e, t, r, "showNegBubbles", "showNegativeBubbleValues"), O(e, t, r, "sizeRepresents", "bubbleSizeRepresentsWidth"), v(e, t, r, "firstSliceAng", "startAngle"), v(e, t, r, "holeSize", "holeSize"), x(e, t, r, "scatterStyle", "scatterStyle"), this.parseAxisIds(e, t, r), Object.keys(r).length > 0) {
|
|
185
|
+
let t = e.getVisitorParamsState().get("types");
|
|
186
|
+
t || (e.warn("A chart type was read outside a chart; its types were started fresh.", { onceKey: "xlsx.chart.typesState" }), t = [], e.getVisitorParamsState().set("types", t)), t.push(r);
|
|
187
|
+
}
|
|
188
|
+
return r;
|
|
189
|
+
}
|
|
190
|
+
parseType(e, t, n) {
|
|
191
|
+
switch (t.localName) {
|
|
192
|
+
case "areaChart":
|
|
193
|
+
n.type = "area";
|
|
194
|
+
break;
|
|
195
|
+
case "bubbleChart":
|
|
196
|
+
n.type = "bubble";
|
|
197
|
+
break;
|
|
198
|
+
case "doughnutChart":
|
|
199
|
+
case "ofPieType":
|
|
200
|
+
case "pieChart":
|
|
201
|
+
n.type = "pie";
|
|
202
|
+
break;
|
|
203
|
+
case "lineChart":
|
|
204
|
+
n.type = "line";
|
|
205
|
+
break;
|
|
206
|
+
case "scatterChart": n.type = "scatter";
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
parseAxisIds(e, t, n) {
|
|
210
|
+
let r = e.evaluate("axId", t);
|
|
211
|
+
r && r.length !== 0 && (n.xAxisId = r.item(0).getAttribute("val"), n.yAxisId = r.item(1).getAttribute("val"));
|
|
212
|
+
}
|
|
213
|
+
}, H = (e, t, n) => {
|
|
214
|
+
if (!0 === e.getValAttrAsBoolean("invertIfNegative", t)) if (e.evaluate("extLst/ext/invertSolidFillFmt", t)) {
|
|
215
|
+
if (n.fill && n.fillNegative) {
|
|
216
|
+
let t = e.getFromPath(n, "fill.solid.adjs");
|
|
217
|
+
t && e.setToPath(n, "fillNegative.solid.adjs", t);
|
|
218
|
+
}
|
|
219
|
+
} else {
|
|
220
|
+
let e = { val: "FFFFFF" }, t = {};
|
|
221
|
+
t.solid = e, n.fillNegative = t;
|
|
222
|
+
let r = { val: "000000" }, i = {};
|
|
223
|
+
i.solid = r;
|
|
224
|
+
let a = {};
|
|
225
|
+
a.fill = i, n.strokeNegative = a;
|
|
226
|
+
}
|
|
227
|
+
}, U = class {
|
|
228
|
+
visit(e, t, n) {}
|
|
229
|
+
processDataBarColor(e, t, n, r, i = "auto") {
|
|
230
|
+
if (!t) return;
|
|
231
|
+
let a = F((e) => t.getAttribute(e), i);
|
|
232
|
+
return a && (n[r] = a), n;
|
|
233
|
+
}
|
|
234
|
+
processFonts(e, t, n) {
|
|
235
|
+
if (!t) return;
|
|
236
|
+
let r = t.childNodes, i = 0, a = r.length;
|
|
237
|
+
for (let t = 0; t < a; t++) {
|
|
238
|
+
let a = r.item(t);
|
|
239
|
+
if (a.nodeType === 1 && a.localName === "font") {
|
|
240
|
+
let t = {};
|
|
241
|
+
this.processFont(e, a, t), n[i++] = t;
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
return n;
|
|
245
|
+
}
|
|
246
|
+
processFont(e, t, n) {
|
|
247
|
+
e.getValAttrAsBoolean("b", t, !0) && (n.weight = 700), e.getValAttrAsBoolean("i", t, !0) && (n.style = l.Style.Italic), e.getValAttrAsBoolean("strike", t, !0) && (n.strike = !0);
|
|
248
|
+
let r = e.evaluate("u", t);
|
|
249
|
+
r && (n.underline = r.getAttribute("val") || l.UnderlineStyle.Single), x(e, t, n, "vertAlign", "verticalAlign"), n.verticalAlign === "superscript" ? n.verticalAlign = l.VerticalAlignment.Super : n.verticalAlign === "subscript" && (n.verticalAlign = l.VerticalAlignment.Sub), C(e, t, n, "sz", "size");
|
|
250
|
+
let i = e.evaluate("color", t);
|
|
251
|
+
this.processDataBarColor(e, i, n, "color"), n.color ||= "auto", x(e, t, n, "name", "family"), x(e, t, n, "rFont", "family");
|
|
252
|
+
let a = e.evaluate("family", t);
|
|
253
|
+
if (a) {
|
|
254
|
+
let e = a.getAttribute("val");
|
|
255
|
+
if (e) switch (e) {
|
|
256
|
+
case "1":
|
|
257
|
+
n.fallbacks = ["serif"];
|
|
258
|
+
break;
|
|
259
|
+
case "2":
|
|
260
|
+
n.fallbacks = ["sans-serif"];
|
|
261
|
+
break;
|
|
262
|
+
case "3":
|
|
263
|
+
n.fallbacks = ["monospace"];
|
|
264
|
+
break;
|
|
265
|
+
case "4":
|
|
266
|
+
n.fallbacks = ["cursive"];
|
|
267
|
+
break;
|
|
268
|
+
case "5": n.fallbacks = ["fantasy"];
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
return x(e, t, n, "scheme", "scheme"), n.family !== void 0 && n.scheme === void 0 && (n.scheme = l.Scheme.None), O(e, t, n, "shadow", "shadow", !0), O(e, t, n, "outline", "outline", !0), e.getValAttrAsBoolean("condense", t, !0) && (n.letterSpacing = -1), e.getValAttrAsBoolean("extend", t, !0) && (n.letterSpacing = 1), v(e, t, n, "charset", "charset"), n;
|
|
272
|
+
}
|
|
273
|
+
processFills(e, t, n) {
|
|
274
|
+
if (!t) return;
|
|
275
|
+
let r = t.childNodes, i = 0, a = r.length;
|
|
276
|
+
for (let t = 0; t < a; t++) {
|
|
277
|
+
let a = r.item(t);
|
|
278
|
+
a.nodeType === 1 && a.localName === "fill" && this.processFill(e, a, n, i++);
|
|
279
|
+
}
|
|
280
|
+
return n;
|
|
281
|
+
}
|
|
282
|
+
processFill(e, t, n, r) {
|
|
283
|
+
let i = { type: c.Type.None }, a = t.childNodes, o = !1, s = a.length;
|
|
284
|
+
for (let t = 0; !o && t < s; t++) {
|
|
285
|
+
let n = a.item(t);
|
|
286
|
+
n.nodeType === 1 && (n.localName === "gradientFill" ? (this.processGradientFill(e, n, i), o = !0) : n.localName === "patternFill" && (this.processPatternFill(e, n, i), o = !0));
|
|
287
|
+
}
|
|
288
|
+
return n[r] = i, n;
|
|
289
|
+
}
|
|
290
|
+
processGradientFill(e, t, n) {
|
|
291
|
+
if (!t) return;
|
|
292
|
+
n.type = c.Type.Gradient;
|
|
293
|
+
let r = [];
|
|
294
|
+
n.stops = r;
|
|
295
|
+
let i = t.getAttribute("type");
|
|
296
|
+
i && (n.gradientType = i);
|
|
297
|
+
let a = t.hasAttribute("degree") ? parseFloat(t.getAttribute("degree")) : 0;
|
|
298
|
+
(a + 90) % 360 != 0 && (n.angle = (a + 90) % 360), (t.hasAttribute("left") || t.hasAttribute("top") || t.hasAttribute("right") || t.hasAttribute("bottom")) && (n.focus = {
|
|
299
|
+
left: W(t.getAttribute("left")),
|
|
300
|
+
top: W(t.getAttribute("top")),
|
|
301
|
+
right: W(t.getAttribute("right")),
|
|
302
|
+
bottom: W(t.getAttribute("bottom"))
|
|
303
|
+
});
|
|
304
|
+
let o = t.childNodes, s = o.length;
|
|
305
|
+
for (let t = 0; t < s; t++) {
|
|
306
|
+
let n = o.item(t);
|
|
307
|
+
if (n.nodeType === 1 && n.localName === "stop") {
|
|
308
|
+
let t = {};
|
|
309
|
+
r.push(t), t.offset = parseFloat(n.getAttribute("position") ?? "");
|
|
310
|
+
let i = e.evaluate("color", n);
|
|
311
|
+
this.processDataBarColor(e, i, t, "color");
|
|
312
|
+
}
|
|
313
|
+
}
|
|
314
|
+
return n;
|
|
315
|
+
}
|
|
316
|
+
processPatternFill(e, t, n) {
|
|
317
|
+
if (!t) return;
|
|
318
|
+
let r = e.getVisitorParamsState().get("processingDXFs"), i = t.getAttribute("patternType") || (r ? c.BuiltInSheetPattern.Solid : c.BuiltInSheetPattern.None);
|
|
319
|
+
if (i === c.BuiltInSheetPattern.None) return { none: !0 };
|
|
320
|
+
n.type = c.Type.Pattern, i && (n.patternType = i);
|
|
321
|
+
let a = "foreground", o = "background", s = n.patternType === c.BuiltInSheetPattern.Solid && r, l = s ? "dk1" : "lt1", u = s ? "lt1" : "dk1";
|
|
322
|
+
if (s) {
|
|
323
|
+
let e = a;
|
|
324
|
+
a = o, o = e;
|
|
325
|
+
}
|
|
326
|
+
let d = e.evaluate("fgColor", t);
|
|
327
|
+
this.processDataBarColor(e, d, n, a, l);
|
|
328
|
+
let f = e.evaluate("bgColor", t);
|
|
329
|
+
return this.processDataBarColor(e, f, n, o, u), s && (n.foreground ||= "lt1", n.background ||= "dk1"), n;
|
|
330
|
+
}
|
|
331
|
+
processBorders(e, t, n, r) {
|
|
332
|
+
if (!t) return;
|
|
333
|
+
let i = t.childNodes, a = 0, o = i.length;
|
|
334
|
+
for (let t = 0; t < o; t++) {
|
|
335
|
+
let o = i.item(t);
|
|
336
|
+
o.nodeType === 1 && o.localName === "border" && this.processBorder(e, o, n, a++, r);
|
|
337
|
+
}
|
|
338
|
+
return n;
|
|
339
|
+
}
|
|
340
|
+
processBorder(e, t, n, r, i) {
|
|
341
|
+
if (!t) return;
|
|
342
|
+
let a = {};
|
|
343
|
+
return this.processBorderStroke(e, t, a, o.Edge.Left), this.processBorderStroke(e, t, a, o.Edge.Right), i ? (a.right || a.left) && (a.right ? a.vertical = { ...a.right } : a.vertical = { ...a.left }) : this.processBorderStroke(e, t, a, o.Edge.Vertical), this.processBorderStroke(e, t, a, o.Edge.Top), this.processBorderStroke(e, t, a, o.Edge.Bottom), i ? (a.bottom || a.top) && (a.bottom ? a.horizontal = { ...a.bottom } : a.horizontal = { ...a.top }) : this.processBorderStroke(e, t, a, o.Edge.Horizontal), n[r] = a, n;
|
|
344
|
+
}
|
|
345
|
+
processBorderStroke(e, t, n, r) {
|
|
346
|
+
if (!t) return;
|
|
347
|
+
let i = e.evaluate(r, t);
|
|
348
|
+
if (!i) return;
|
|
349
|
+
let a = {};
|
|
350
|
+
i.hasAttribute("style") ? a.style = i.getAttribute("style") : e.getVisitorParamsState().get("processingDXFs") && (a.style = o.StrokeStyle.None);
|
|
351
|
+
let s = e.evaluate("color", i);
|
|
352
|
+
return s && this.processDataBarColor(e, s, a, "color"), Object.keys(a).length > 0 ? n[r] = a : null;
|
|
353
|
+
}
|
|
354
|
+
}, W = (e) => {
|
|
355
|
+
if (!e) return 0;
|
|
356
|
+
let t = parseFloat(e);
|
|
357
|
+
return isNaN(t) ? 0 : t;
|
|
358
|
+
}, G = {
|
|
359
|
+
auto: "auto",
|
|
360
|
+
autoNoTable: "automaticExceptTables",
|
|
361
|
+
manual: "manual"
|
|
362
|
+
}, K = [
|
|
363
|
+
["fillRef", "fill"],
|
|
364
|
+
["lnRef", "stroke"],
|
|
365
|
+
["effectRef", "effect"]
|
|
366
|
+
], q = class {
|
|
367
|
+
visit(e, t, n) {
|
|
368
|
+
if (!t) return;
|
|
369
|
+
let r = e.evaluate("*/cNvPr", t);
|
|
370
|
+
return r.item && (r = r.item(0)), r && (e.copyFromAttribute(r, "name", n), e.copyFromAttribute(r, "descr", n, "description"), e.copyFromAttribute(r, "hidden", n, "hidden", e.BOOLEAN_COPY), this.readNonVisualDetails(e, r, n), e.copyFromAttribute(r, "id", n)), n;
|
|
371
|
+
}
|
|
372
|
+
readNonVisualDetails(e, t, n) {
|
|
373
|
+
t.hasAttribute("title") && (n.title = t.getAttribute("title"));
|
|
374
|
+
let r = e.evaluate("hlinkClick", t);
|
|
375
|
+
r && (n.hyperlink = D(e, r));
|
|
376
|
+
let i = e.evaluate("hlinkHover", t);
|
|
377
|
+
i && (n.hoverHyperlink = D(e, i));
|
|
378
|
+
let a = e.evaluate("extLst", t), o = a ? e.serializeElement(a) : null;
|
|
379
|
+
o && (n.extLst = {
|
|
380
|
+
...n.extLst,
|
|
381
|
+
nonVisual: o
|
|
382
|
+
});
|
|
383
|
+
}
|
|
384
|
+
setContent(e, t) {
|
|
385
|
+
let n = e;
|
|
386
|
+
n.name !== void 0 && (t.name = n.name, delete n.name), n.description !== void 0 && (t.description = n.description, delete n.description);
|
|
387
|
+
for (let e of [
|
|
388
|
+
"title",
|
|
389
|
+
"hyperlink",
|
|
390
|
+
"hoverHyperlink",
|
|
391
|
+
"extLst"
|
|
392
|
+
]) n[e] !== void 0 && (t.json && (t.json[e] = n[e]), delete n[e]);
|
|
393
|
+
e.content = t;
|
|
394
|
+
}
|
|
395
|
+
isGroupContent(e) {
|
|
396
|
+
return Array.isArray(e?.children);
|
|
397
|
+
}
|
|
398
|
+
readChildHeader(e, t, n) {
|
|
399
|
+
let r = n === f.Type.Shape ? {} : { type: n }, i = e.evaluate("*/cNvPr", t);
|
|
400
|
+
if (i?.item && (i = i.item(0)), i) {
|
|
401
|
+
e.copyFromAttribute(i, "name", r), e.copyFromAttribute(i, "descr", r, "description"), e.copyFromAttribute(i, "hidden", r, "hidden", e.BOOLEAN_COPY), this.readNonVisualDetails(e, i, r);
|
|
402
|
+
let n = this.readSourceId(e, t);
|
|
403
|
+
n !== void 0 && (r.sourceId = n);
|
|
404
|
+
}
|
|
405
|
+
return r;
|
|
406
|
+
}
|
|
407
|
+
readStyleRefs(e, t, n) {
|
|
408
|
+
let r = e.evaluate("style", t);
|
|
409
|
+
if (!r) return void (n.style = null);
|
|
410
|
+
let i = new g(), a = {};
|
|
411
|
+
for (let [t, n] of K) {
|
|
412
|
+
let o = e.evaluate(t, r);
|
|
413
|
+
if (!o) continue;
|
|
414
|
+
let s = { index: parseInt(o.getAttribute("idx") ?? "0", 10) || 0 }, c = i.processAdjColor(e, o);
|
|
415
|
+
c && (s.color = c), a[n] = s;
|
|
416
|
+
}
|
|
417
|
+
let o = e.evaluate("fontRef", r);
|
|
418
|
+
if (o) {
|
|
419
|
+
let t = { index: o.getAttribute("idx") ?? "none" }, n = i.processAdjColor(e, o);
|
|
420
|
+
n && (t.color = n), a.font = t;
|
|
421
|
+
}
|
|
422
|
+
let s = p.withoutDefaultStyleRefs({
|
|
423
|
+
...n,
|
|
424
|
+
style: a
|
|
425
|
+
});
|
|
426
|
+
s && (n.style = s);
|
|
427
|
+
}
|
|
428
|
+
readLocks(e) {
|
|
429
|
+
let t = e?.attributes;
|
|
430
|
+
if (!t || t.length === 0) return;
|
|
431
|
+
let n = {};
|
|
432
|
+
for (let e = 0; e < t.length; e++) {
|
|
433
|
+
let r = t.item(e);
|
|
434
|
+
r.name.startsWith("xmlns") || (n[r.localName ?? r.name] = N(r.value));
|
|
435
|
+
}
|
|
436
|
+
return Object.keys(n).length > 0 ? n : void 0;
|
|
437
|
+
}
|
|
438
|
+
readSourceId(e, t) {
|
|
439
|
+
let n = e.evaluate("*/cNvPr", t);
|
|
440
|
+
n?.item && (n = n.item(0));
|
|
441
|
+
let r = n?.getAttribute?.("id"), i = r ? parseInt(r, 10) : void 0;
|
|
442
|
+
return i === void 0 || isNaN(i) ? void 0 : i;
|
|
443
|
+
}
|
|
444
|
+
}, J = class extends q {
|
|
445
|
+
visit(e, t, n) {
|
|
446
|
+
if (t) return this.visitShape(e, t, n, "sp", "nvSpPr/cNvSpPr/spLocks");
|
|
447
|
+
}
|
|
448
|
+
visitShape(e, t, n, r, i) {
|
|
449
|
+
let a = S[r];
|
|
450
|
+
if (this.isGroupContent(n)) {
|
|
451
|
+
let o = this.readChildHeader(e, t, a);
|
|
452
|
+
return this.readStyleRefs(e, t, o), this.readShapeDetails(e, t, r, i, o), n.children.push(o), o;
|
|
453
|
+
}
|
|
454
|
+
if (e.getPath().includes("Fallback") && n.content) {
|
|
455
|
+
let r = n.content.json;
|
|
456
|
+
if (n.content.type === "shape" && r && (r.type ?? f.Type.Shape) === a) {
|
|
457
|
+
let n = e.evaluate("txBody", t), i = n ? new w().readTextBody(e, n) : null;
|
|
458
|
+
i && te(i) !== "" && (r.text = i);
|
|
459
|
+
}
|
|
460
|
+
return {};
|
|
461
|
+
}
|
|
462
|
+
n = super.visit(e, t, n);
|
|
463
|
+
let o = e.evaluate(i, t);
|
|
464
|
+
o?.hasAttribute?.("noChangeAspect") && (n.lockAspect = o.getAttribute("noChangeAspect") === "1");
|
|
465
|
+
let s = a === f.Type.Shape ? {} : { type: a }, c = this.readSourceId(e, t);
|
|
466
|
+
c !== void 0 && (s.sourceId = c), this.readStyleRefs(e, t, s), this.readShapeDetails(e, t, r, i, s);
|
|
467
|
+
let l = this.readTwinOf(e, t);
|
|
468
|
+
return l !== void 0 && Object.assign(s, { twinOf: l }), this.setContent(n, {
|
|
469
|
+
type: "shape",
|
|
470
|
+
json: s
|
|
471
|
+
}), s;
|
|
472
|
+
}
|
|
473
|
+
readTwinOf(e, t) {
|
|
474
|
+
let n = e.evaluate("*/cNvPr/extLst/ext/compatExt", t);
|
|
475
|
+
n?.item && (n = n.item(0));
|
|
476
|
+
let r = /^_x0000_s(\d+)$/.exec(n?.getAttribute?.("spid") ?? "");
|
|
477
|
+
return r ? parseInt(r[1], 10) : void 0;
|
|
478
|
+
}
|
|
479
|
+
readShapeDetails(e, t, n, r, i) {
|
|
480
|
+
if (n !== "grpSp") {
|
|
481
|
+
let e = t.getAttribute("macro");
|
|
482
|
+
e && (i.macro = e);
|
|
483
|
+
let n = t.getAttribute("textlink");
|
|
484
|
+
n && (i.textLink = n), t.hasAttribute("fLocksText") && (i.locksText = N(t.getAttribute("fLocksText"))), t.hasAttribute("fPublished") && (i.published = N(t.getAttribute("fPublished")));
|
|
485
|
+
}
|
|
486
|
+
let a = r.slice(0, r.lastIndexOf("/")), o = e.evaluate(a, t);
|
|
487
|
+
o?.getAttribute?.("txBox") === "1" && (i.textBox = !0);
|
|
488
|
+
let s = this.readLocks(e.evaluate(r, t));
|
|
489
|
+
if (s && (i.locks = s), n === "cxnSp" && o) {
|
|
490
|
+
let t = (t) => {
|
|
491
|
+
let n = e.evaluate(t, o);
|
|
492
|
+
if (n?.getAttribute) return {
|
|
493
|
+
id: parseInt(n.getAttribute("id") ?? "0", 10) || 0,
|
|
494
|
+
index: parseInt(n.getAttribute("idx") ?? "0", 10) || 0
|
|
495
|
+
};
|
|
496
|
+
}, n = t("stCxn"), r = t("endCxn");
|
|
497
|
+
(n || r) && (i.connectorEnds = {}, n && (i.connectorEnds.start = n), r && (i.connectorEnds.end = r));
|
|
498
|
+
}
|
|
499
|
+
}
|
|
500
|
+
}, Y = (e, t, n, r) => {
|
|
501
|
+
let i = e.evaluate(n, t), a = e.evaluate(r, t);
|
|
502
|
+
return i || a ? {
|
|
503
|
+
x: T(i?.getAttribute("x") ?? null) ?? 0,
|
|
504
|
+
y: T(i?.getAttribute("y") ?? null) ?? 0,
|
|
505
|
+
width: T(a?.getAttribute("cx") ?? null) ?? 0,
|
|
506
|
+
height: T(a?.getAttribute("cy") ?? null) ?? 0
|
|
507
|
+
} : null;
|
|
508
|
+
}, X = "richTypes", Z = "richData", Q = (e) => {
|
|
509
|
+
let t = e.getAttribute("val");
|
|
510
|
+
return t !== "0" && t !== "false";
|
|
511
|
+
}, ae = {
|
|
512
|
+
1: "serif",
|
|
513
|
+
2: "sans-serif",
|
|
514
|
+
3: "monospace",
|
|
515
|
+
4: "cursive",
|
|
516
|
+
5: "fantasy"
|
|
517
|
+
};
|
|
518
|
+
function oe(e) {
|
|
519
|
+
let t = {}, n = e.childNodes;
|
|
520
|
+
for (let e = 0; e < n.length; e++) {
|
|
521
|
+
let r = n.item(e);
|
|
522
|
+
if (r.nodeType === 1) switch (r.localName) {
|
|
523
|
+
case "b":
|
|
524
|
+
t.weight = Q(r) ? 700 : 400;
|
|
525
|
+
break;
|
|
526
|
+
case "i":
|
|
527
|
+
t.style = Q(r) ? l.Style.Italic : l.Style.Normal;
|
|
528
|
+
break;
|
|
529
|
+
case "strike":
|
|
530
|
+
t.strike = Q(r);
|
|
531
|
+
break;
|
|
532
|
+
case "outline":
|
|
533
|
+
t.outline = Q(r);
|
|
534
|
+
break;
|
|
535
|
+
case "shadow":
|
|
536
|
+
t.shadow = Q(r);
|
|
537
|
+
break;
|
|
538
|
+
case "extend":
|
|
539
|
+
t.extend = Q(r);
|
|
540
|
+
break;
|
|
541
|
+
case "u":
|
|
542
|
+
t.underline = r.getAttribute("val") || l.UnderlineStyle.Single;
|
|
543
|
+
break;
|
|
544
|
+
case "vertAlign": {
|
|
545
|
+
let e = r.getAttribute("val");
|
|
546
|
+
e === "superscript" ? t.verticalAlign = l.VerticalAlignment.Super : e === "subscript" ? t.verticalAlign = l.VerticalAlignment.Sub : e === "baseline" && (t.verticalAlign = l.VerticalAlignment.Baseline);
|
|
547
|
+
break;
|
|
548
|
+
}
|
|
549
|
+
case "sz": {
|
|
550
|
+
let e = parseFloat(r.getAttribute("val") ?? "");
|
|
551
|
+
isNaN(e) || (t.size = e);
|
|
552
|
+
break;
|
|
553
|
+
}
|
|
554
|
+
case "rFont": {
|
|
555
|
+
let e = r.getAttribute("val");
|
|
556
|
+
e && (t.family = e);
|
|
557
|
+
break;
|
|
558
|
+
}
|
|
559
|
+
case "family": {
|
|
560
|
+
let e = ae[r.getAttribute("val") ?? ""];
|
|
561
|
+
e && (t.fallbacks = [e]);
|
|
562
|
+
break;
|
|
563
|
+
}
|
|
564
|
+
case "charset": {
|
|
565
|
+
let e = parseInt(r.getAttribute("val") ?? "", 10);
|
|
566
|
+
isNaN(e) || (t.charset = e);
|
|
567
|
+
break;
|
|
568
|
+
}
|
|
569
|
+
case "scheme": {
|
|
570
|
+
let e = r.getAttribute("val");
|
|
571
|
+
e && (t.scheme = e);
|
|
572
|
+
break;
|
|
573
|
+
}
|
|
574
|
+
case "color": {
|
|
575
|
+
let e = r.getAttribute("rgb");
|
|
576
|
+
if (e && !r.hasAttribute("theme")) {
|
|
577
|
+
t.color = "#" + (e.length === 8 ? e.substring(2) : e).toUpperCase();
|
|
578
|
+
break;
|
|
579
|
+
}
|
|
580
|
+
let n = F((e) => r.getAttribute(e));
|
|
581
|
+
n && (t.color = n);
|
|
582
|
+
break;
|
|
583
|
+
}
|
|
584
|
+
}
|
|
585
|
+
}
|
|
586
|
+
return Object.keys(t).length > 0 ? t : null;
|
|
587
|
+
}
|
|
588
|
+
var $ = {
|
|
589
|
+
RelsVisitor: class {
|
|
590
|
+
visit(e, t, n) {
|
|
591
|
+
if (!t) return;
|
|
592
|
+
let r = t.childNodes, i = r.length;
|
|
593
|
+
for (let t = 0; t < i; t++) {
|
|
594
|
+
let i = r.item(t);
|
|
595
|
+
i.nodeType === 1 && i.localName === "Relationship" && this.processRelationship(e, i, n);
|
|
596
|
+
}
|
|
597
|
+
return n;
|
|
598
|
+
}
|
|
599
|
+
processRelationship(e, t, n) {
|
|
600
|
+
let r = {};
|
|
601
|
+
e.copyFromAttribute(t, "Target", r, "target"), e.copyFromAttribute(t, "Type", r, "type"), e.copyFromAttribute(t, "TargetMode", r, "targetMode"), n[t.getAttribute("Id")] = r;
|
|
602
|
+
}
|
|
603
|
+
},
|
|
604
|
+
CorePropertiesVisitor: class {
|
|
605
|
+
visit(e, t, n) {
|
|
606
|
+
let r = [], i = t.childNodes, a = i.length;
|
|
607
|
+
for (let t = 0; t < a; t++) {
|
|
608
|
+
let n = i.item(t);
|
|
609
|
+
if (n.nodeType !== 1) continue;
|
|
610
|
+
let a = this.processProperty(e, n);
|
|
611
|
+
a && r.push(a);
|
|
612
|
+
}
|
|
613
|
+
return r.length > 0 && (n.properties = r), r;
|
|
614
|
+
}
|
|
615
|
+
processProperty(e, t) {
|
|
616
|
+
if (t) return t.getAttribute("xsi:type"), {
|
|
617
|
+
key: t.localName,
|
|
618
|
+
value: t.textContent || ""
|
|
619
|
+
};
|
|
620
|
+
}
|
|
621
|
+
},
|
|
622
|
+
AppPropertiesVisitor: class {
|
|
623
|
+
visit(e, t, n) {
|
|
624
|
+
let r = [], i = t.childNodes, a = i.length;
|
|
625
|
+
for (let t = 0; t < a; t++) {
|
|
626
|
+
let n = i.item(t);
|
|
627
|
+
if (n.nodeType !== 1) continue;
|
|
628
|
+
let a = this.processProperty(e, n);
|
|
629
|
+
a && r.push(a);
|
|
630
|
+
}
|
|
631
|
+
return r.length > 0 && (n.properties = r), r;
|
|
632
|
+
}
|
|
633
|
+
processProperty(e, t) {
|
|
634
|
+
if (t) return {
|
|
635
|
+
key: t.localName,
|
|
636
|
+
value: t.textContent || ""
|
|
637
|
+
};
|
|
638
|
+
}
|
|
639
|
+
},
|
|
640
|
+
ChartSpaceVisitor: class {
|
|
641
|
+
visit(e, t, n) {
|
|
642
|
+
return O(e, t, n, "roundedCorners", "roundedCorners"), v(e, t, n, ".//AlternateContent/Fallback/style", "styleId"), e.getVisitorParamsState().set("types", []), e.getVisitorParamsState().set("axes", /* @__PURE__ */ new Map()), n.range = null, n;
|
|
643
|
+
}
|
|
644
|
+
afterVisit(e, t, n) {
|
|
645
|
+
let r = {};
|
|
646
|
+
n.types = r;
|
|
647
|
+
let i = {}, a = 0, o = {}, s = 0, c = e.getVisitorParamsState().get("axes"), l = e.getVisitorParamsState().get("types"), u = l.length;
|
|
648
|
+
for (let e = 0; e < u; e++) {
|
|
649
|
+
let t = l[e];
|
|
650
|
+
if (t.xAxisId) {
|
|
651
|
+
let r = t.xAxisId, o = c.get(r);
|
|
652
|
+
i[e + ""] = o, t.offsetXAxis = e, delete t.xAxisId, n.xAxes = i, i.length = ++a;
|
|
653
|
+
}
|
|
654
|
+
if (t.yAxisId) {
|
|
655
|
+
let r = t.yAxisId, i = c.get(r);
|
|
656
|
+
o[e + ""] = i, t.offsetYAxis = e, delete t.yAxisId, n.yAxes = o, o.length = ++s;
|
|
657
|
+
}
|
|
658
|
+
r[e + ""] = t;
|
|
659
|
+
}
|
|
660
|
+
r.length = l.length;
|
|
661
|
+
let d = e.getVisitorParamsState().get("series");
|
|
662
|
+
if (!d || d.length === 0) return;
|
|
663
|
+
let f = {};
|
|
664
|
+
n.series = f;
|
|
665
|
+
let p = d.length;
|
|
666
|
+
for (let e = 0; e < p; e++) f[e + ""] = d[e];
|
|
667
|
+
f.length = p, e.getVisitorParamsState().delete("types"), e.getVisitorParamsState().delete("axes"), e.getVisitorParamsState().delete("series");
|
|
668
|
+
}
|
|
669
|
+
},
|
|
670
|
+
ChartVisitor: class {
|
|
671
|
+
visit(e, t, n) {
|
|
672
|
+
return e.getVisitorParamsState().set("types", []), e.getVisitorParamsState().set("axes", /* @__PURE__ */ new Map()), O(e, t, n, "plotVisOnly", "plotVisOnly"), x(e, t, n, "dispBlanksAs", "dispBlanksAs"), O(e, t, n, ".//extLst/ext/dataDisplayOptions16/dispNaAsBlank", "dispNaAsBlank"), O(e, t, n, "showDLblsOverMax", "showDLblsOverMax"), n;
|
|
673
|
+
}
|
|
674
|
+
afterVisit(e, t, n) {
|
|
675
|
+
try {
|
|
676
|
+
let r = e.getValAttrAsBoolean("autoTitleDeleted", t), i = e.evaluate("title", t);
|
|
677
|
+
e.setToPath(n, "title.shown", !(!0 === r || !i));
|
|
678
|
+
let a = e.evaluate("legend", t);
|
|
679
|
+
e.setToPath(n, "legend.shown", a !== null);
|
|
680
|
+
} catch (e) {
|
|
681
|
+
throw Error("Unexpected Error parsing Chart: " + e);
|
|
682
|
+
}
|
|
683
|
+
}
|
|
684
|
+
},
|
|
685
|
+
PlotAreaVisitor: class {
|
|
686
|
+
visit(e, t, n) {
|
|
687
|
+
let r = {};
|
|
688
|
+
return n.plotArea = r, r;
|
|
689
|
+
}
|
|
690
|
+
},
|
|
691
|
+
ShapePropertiesVisitor: h,
|
|
692
|
+
BarChartTypeVisitor: class extends V {
|
|
693
|
+
parseType(e, t, n) {
|
|
694
|
+
let r = e.getValAttrAsString("barDir", t);
|
|
695
|
+
r && (n.type = r === "col" ? "column" : "bar");
|
|
696
|
+
}
|
|
697
|
+
},
|
|
698
|
+
ChartTypeVisitor: V,
|
|
699
|
+
DataLabelsVisitor: class {
|
|
700
|
+
constructor(e) {
|
|
701
|
+
this.jsonKey = e;
|
|
702
|
+
}
|
|
703
|
+
visit(e, t, n) {
|
|
704
|
+
let r = {}, i = r, a = e.getValAttrAsString("idx", t);
|
|
705
|
+
a !== null && (i = {}, i[a] = r);
|
|
706
|
+
let o = e.getValAttrAsBoolean("delete", t);
|
|
707
|
+
this.parseNumFormat(e, t, r), !0 === o ? (r.showBubbleSize = !1, r.showCatName = !1, r.showLeaderLines = !1, r.showPercentage = !1, r.showSerName = !1, r.showVal = !1, r.showLegendKey = !1) : (O(e, t, r, "showBubbleSize", "showBubbleSize"), O(e, t, r, "showCatName", "showCatName"), O(e, t, r, "showLeaderLines", "showLeaderLines"), O(e, t, r, "showPercent", "showPercentage"), O(e, t, r, "showSerName", "showSerName"), O(e, t, r, "showVal", "showVal"), O(e, t, r, "showLegendKey", "showLegendKey"));
|
|
708
|
+
let s = e.evaluate("separator", t);
|
|
709
|
+
return s !== null && (r.separator = s.textContent), x(e, t, r, "dLblPos", "position"), n[this.jsonKey] = i, r;
|
|
710
|
+
}
|
|
711
|
+
parseNumFormat(e, t, n) {
|
|
712
|
+
let r = e.evaluate("numFmt", t);
|
|
713
|
+
r && (n.formatCode = r.getAttribute("formatCode"), r.hasAttribute("sourceLinked") && (n.sourceLinked = r.getAttribute("sourceLinked") === "1"));
|
|
714
|
+
}
|
|
715
|
+
},
|
|
716
|
+
SeriesVisitor: class {
|
|
717
|
+
visit(e, t, n) {
|
|
718
|
+
let r = {};
|
|
719
|
+
v(e, t, r, "explosion", "explosion");
|
|
720
|
+
let i = e.evaluate("cat/*/f", t);
|
|
721
|
+
i ||= e.evaluate("xVal/*/f", t);
|
|
722
|
+
let a = null;
|
|
723
|
+
i !== null && i.firstChild !== null && (a = i.firstChild.nodeValue), i || (i = e.evaluate("cat/strLit", t), i ||= e.evaluate("cat/numLit", t), i && (a = this.parsePointsAsString(e, i))), a !== null && (r.xRange = a);
|
|
724
|
+
let o = e.evaluate("val/*/f", t);
|
|
725
|
+
o ||= e.evaluate("yVal/*/f", t);
|
|
726
|
+
let s = null;
|
|
727
|
+
o && o.firstChild && (s = o.firstChild.nodeValue), o || (o = e.evaluate("val/numLit", t), o !== null && (s = this.parsePointsAsString(e, o))), s !== null && (r.valRange = s), this.parseTitleRangeOrValue(e, t, r), v(e, t, r, "idx", "idx"), O(e, t, r, "smooth", "smooth"), r.offsetChart = e.getVisitorParamsState().get("types").length - 1;
|
|
728
|
+
let c = e.getVisitorParamsState().get("series");
|
|
729
|
+
return c || (c = [], e.getVisitorParamsState().set("series", c)), c.push(r), r;
|
|
730
|
+
}
|
|
731
|
+
parseTitleRangeOrValue(e, t, n) {
|
|
732
|
+
let r = e.evaluate("tx/strRef/f", t);
|
|
733
|
+
if (r !== null) {
|
|
734
|
+
let t = r.firstChild.nodeValue;
|
|
735
|
+
e.setToPath(n, "title.range", t);
|
|
736
|
+
} else {
|
|
737
|
+
let r = e.evaluate("tx/v", t);
|
|
738
|
+
r !== null && e.setToPath(n, "title.text.simpleRun", r.firstChild.nodeValue);
|
|
739
|
+
}
|
|
740
|
+
}
|
|
741
|
+
parsePointsAsString(e, t) {
|
|
742
|
+
let n = "{", r = e.getValAttrAsInteger("ptCount", t), i = e.evaluate("pt", t), a = [];
|
|
743
|
+
for (let n = 0; i && r && n < r; n++) {
|
|
744
|
+
let r = null, i = e.evaluate("pt[@idx='" + n + "']/v", t);
|
|
745
|
+
i && (r = i.textContent), a[n] = r;
|
|
746
|
+
}
|
|
747
|
+
for (let e = 0; e < a.length; e++) e > 0 && (n += ","), a[e] !== void 0 && (n += a[e]);
|
|
748
|
+
return n += "}", n;
|
|
749
|
+
}
|
|
750
|
+
afterVisit(e, t, n) {
|
|
751
|
+
H(e, t, n);
|
|
752
|
+
let r = e.getFromPath(n, "points");
|
|
753
|
+
if (r) {
|
|
754
|
+
let t = Object.keys(r);
|
|
755
|
+
for (let i = 0; i < t.length; i++) {
|
|
756
|
+
let a = t[i], o = e.getFromPath(r, a);
|
|
757
|
+
if (!o) continue;
|
|
758
|
+
let s = e.getFromPath(o, "markers");
|
|
759
|
+
s && (e.setToPath(n, "markers.points." + a, s), delete o.markers);
|
|
760
|
+
}
|
|
761
|
+
}
|
|
762
|
+
}
|
|
763
|
+
},
|
|
764
|
+
DataPointVisitor: class {
|
|
765
|
+
DataPointVisitor() {}
|
|
766
|
+
visit(e, t, n) {
|
|
767
|
+
let r = e.getFromPath(n, "points"), i = null;
|
|
768
|
+
r ? i = r : (i = {}, e.setToPath(n, "points", i));
|
|
769
|
+
let a = {}, o = e.getValAttrAsString("idx", t);
|
|
770
|
+
return o !== null && (i[o] = a), O(e, t, a, "bubble3D", "bubble3D"), v(e, t, a, "explosion", "explosion"), H(e, t, a), a;
|
|
771
|
+
}
|
|
772
|
+
},
|
|
773
|
+
MarkerVisitor: class {
|
|
774
|
+
visit(e, t, n) {
|
|
775
|
+
let r = t.parentNode.localName;
|
|
776
|
+
if (r === "ser" || r === "dPt") {
|
|
777
|
+
let r = {}, i = e.getValAttrAsString("size", t);
|
|
778
|
+
i !== null && (r.size = i);
|
|
779
|
+
let a = e.getValAttrAsString("symbol", t);
|
|
780
|
+
return a && (r.type = a), n.markers = r, r;
|
|
781
|
+
}
|
|
782
|
+
return null;
|
|
783
|
+
}
|
|
784
|
+
},
|
|
785
|
+
AxisVisitor: class {
|
|
786
|
+
visit(e, t, n) {
|
|
787
|
+
let r = {};
|
|
788
|
+
this.parseScaling(e, t, r), C(e, t, r, "majorUnit", "majorUnits"), C(e, t, r, "minorUnit", "minorUnits"), O(e, t, r, "delete", "shown"), this.parseOrientation(e, t, r), this.parseNumFormat(e, t, r), x(e, t, r, "majorTickMark", "majorTickMarks"), x(e, t, r, "minorTickMark", "minorTickMarks"), x(e, t, r, "crosses", "crosses"), C(e, t, r, "crossesAt", "crosses"), x(e, t, r, "crossBetween", "crossBetween"), this.parseLabelAlign(e, t, r), v(e, t, r, "lblOffset", "labelOffset"), x(e, t, r, "tickLblPos", "labelPosition");
|
|
789
|
+
let i = e.getValAttrAsInteger("noMultiLvlLbl", t);
|
|
790
|
+
r.labelMultiLevel = i !== null && i === 0, v(e, t, r, "tickMarkSkip", "tickMarkSkip"), v(e, t, r, "tickLblSkip", "labelInterval"), this.parseDisplayCustOrBuiltInUnit(t, e, r), this.parseTimeUnits(e, t, r, "majorUnitDates", "majorTimeUnit", "majorUnit"), this.parseTimeUnits(e, t, r, "minorUnitDates", "minorTimeUnit", "minorUnit"), x(e, t, r, "baseTimeUnit", "baseUnitDates"), e.getVisitorParamsState().get("axes") || (e.warn("An axis was read outside a chart; its axes were started fresh.", { onceKey: "xlsx.chart.axesState" }), e.getVisitorParamsState().set("axes", /* @__PURE__ */ new Map()));
|
|
791
|
+
let a = e.getValAttrAsString("axId", t);
|
|
792
|
+
return e.getVisitorParamsState().get("axes").set(a, r), r;
|
|
793
|
+
}
|
|
794
|
+
parseTimeUnits(e, t, n, r, i, a) {
|
|
795
|
+
let o = {}, s = e.getValAttrAsString(i, t);
|
|
796
|
+
s !== null && (o.dem = s, o.amt = e.getValAttrAsString(a, t)), Object.keys(o).length > 0 && (n[r] = o);
|
|
797
|
+
}
|
|
798
|
+
parseDisplayCustOrBuiltInUnit(e, t, n) {
|
|
799
|
+
let r = t.getValAttrAsString("dispUnits/builtInUnit", e);
|
|
800
|
+
r ||= t.getValAttrAsString("dispUnits/custUnit", e), r && (n.displayUnits = r);
|
|
801
|
+
}
|
|
802
|
+
parseLabelAlign(e, t, n) {
|
|
803
|
+
let r = e.getValAttrAsString("lblAlgn", t);
|
|
804
|
+
r !== null && (r === "ctr" ? n.labelAlign = "center" : r === "l" ? n.labelAlign = "left" : r === "r" && (n.labelAlign = "right"));
|
|
805
|
+
}
|
|
806
|
+
parseOrientation(e, t, n) {
|
|
807
|
+
let r = e.getValAttrAsString("AxPos", t);
|
|
808
|
+
r !== null && (r === "b" ? n.orientation = "bottom" : r === "l" ? n.orientation = "left" : r === "r" ? n.orientation = "right" : r === "t" && (n.orientation = "top"));
|
|
809
|
+
}
|
|
810
|
+
parseNumFormat(e, t, n) {
|
|
811
|
+
let r = {}, i = e.evaluate("numFmt", t);
|
|
812
|
+
i !== null && (i.hasAttribute("formatCode") && (r.formatCode = i.getAttribute("formatCode")), i.hasAttribute("sourceLinked") && (r.sourceLinked = i.getAttribute("sourceLinked") === "1")), Object.keys(r).length > 0 && (n.labels = r);
|
|
813
|
+
}
|
|
814
|
+
parseScaling(e, t, n) {
|
|
815
|
+
let r = e.getValAttrAsString("scaling/orientation", t);
|
|
816
|
+
r !== null && (n.inverted = r !== "minMax");
|
|
817
|
+
let i = e.getValAttrAsFloat("scaling/logBase", t);
|
|
818
|
+
i !== null && (n.logBase = i, n.scaleType = "log"), C(e, t, n, "scaling/max", "max"), C(e, t, n, "scaling/min", "min");
|
|
819
|
+
}
|
|
820
|
+
afterVisit(e, t, n) {
|
|
821
|
+
n.fill && n.labels && (n.labels.fill = n.fill, delete n.fill);
|
|
822
|
+
let r = e.getValAttrAsBoolean("delete", t);
|
|
823
|
+
r !== null && (e.setToPath(n, "labels.shown", !0 !== r), e.setToPath(n, "shown", !0 !== r));
|
|
824
|
+
let i = e.getFromPath(n, "dispUnits.displayUnitsLabel");
|
|
825
|
+
i && (e.setToPath(n, "displayUnitsLabel", i), delete n.dispUnits);
|
|
826
|
+
let a = e.evaluate("title", t);
|
|
827
|
+
e.setToPath(n, "title.shown", a !== null);
|
|
828
|
+
let o = e.evaluate("minorGridlines", t);
|
|
829
|
+
e.setToPath(n, "gridLinesMinor.shown", o !== null);
|
|
830
|
+
let s = e.evaluate("majorGridlines", t);
|
|
831
|
+
e.setToPath(n, "gridLinesMajor.shown", s !== null);
|
|
832
|
+
}
|
|
833
|
+
},
|
|
834
|
+
TextPropertiesVisitor: y,
|
|
835
|
+
ShapeTextVisitor: w,
|
|
836
|
+
LegendEntryVisitor: class {
|
|
837
|
+
visit(e, t, n) {
|
|
838
|
+
let r = e.getVisitorParamsState().get("series"), i = e.getValAttrAsInteger("idx", t), a = i === null ? void 0 : r[i];
|
|
839
|
+
if (a) {
|
|
840
|
+
let n = e.getFromPath(a, "title");
|
|
841
|
+
n || (n = {}, e.setToPath(a, "title", n));
|
|
842
|
+
let r = n, i = e.getValAttrAsBoolean("delete", t);
|
|
843
|
+
return i !== null && (r.shown = !i), r;
|
|
844
|
+
}
|
|
845
|
+
return n;
|
|
846
|
+
}
|
|
847
|
+
},
|
|
848
|
+
LegendVisitor: class {
|
|
849
|
+
visit(e, t, n) {
|
|
850
|
+
let r = {};
|
|
851
|
+
return O(e, t, r, "overlay", "overlay"), x(e, t, r, "legendPos", "position"), n.legend = r, r;
|
|
852
|
+
}
|
|
853
|
+
},
|
|
854
|
+
NegativeShapeVisitor: class extends h {
|
|
855
|
+
visit(e, t, n) {
|
|
856
|
+
let r = this.getFill(e, t);
|
|
857
|
+
Object.keys(r).length > 0 && (n.fillNegative = r);
|
|
858
|
+
let i = this.getStroke(e, t);
|
|
859
|
+
return Object.keys(i).length > 0 && (n.strokeNegative = i), n;
|
|
860
|
+
}
|
|
861
|
+
},
|
|
862
|
+
TitleVisitor: class extends y {
|
|
863
|
+
constructor(e = "title") {
|
|
864
|
+
super(e);
|
|
865
|
+
}
|
|
866
|
+
parseTitleRangeOrValue(e, t, n) {
|
|
867
|
+
let r = e.evaluate("tx/strRef/f", t) ?? null;
|
|
868
|
+
if (r) {
|
|
869
|
+
let t = r.firstElementChild.nodeValue;
|
|
870
|
+
e.setToPath(n, "range", t);
|
|
871
|
+
}
|
|
872
|
+
}
|
|
873
|
+
visit(e, t, n) {
|
|
874
|
+
let r = {};
|
|
875
|
+
O(e, t, r, "overlay", "overlay"), n[this._jsonKey] = r;
|
|
876
|
+
let i = e.getFromPath(r, this.getTextPath());
|
|
877
|
+
i ||= {}, this.parseTitleRangeOrValue(e, t, r);
|
|
878
|
+
let a = e.evaluate("txPr", t);
|
|
879
|
+
a && this.parseTextElement(e, a, i, !1);
|
|
880
|
+
let o = e.evaluate("tx/rich", t);
|
|
881
|
+
return o && this.parseTextElement(e, o, i, !0), Object.keys(i).length > 0 && e.setToPath(r, "text", i), r;
|
|
882
|
+
}
|
|
883
|
+
afterVisit(e, t, n) {
|
|
884
|
+
if (n?.text) {
|
|
885
|
+
let e = n.text?.rotation ?? null;
|
|
886
|
+
e !== null && (n.rotation = parseInt(e), delete n.title.rotation);
|
|
887
|
+
}
|
|
888
|
+
}
|
|
889
|
+
},
|
|
890
|
+
LayoutVisitor: class {
|
|
891
|
+
visit(e, t, n) {
|
|
892
|
+
let r = e.evaluate("manualLayout", t);
|
|
893
|
+
if (r) {
|
|
894
|
+
let t = {};
|
|
895
|
+
C(e, r, t, "x", "x"), C(e, r, t, "y", "y"), C(e, r, t, "w", "w"), C(e, r, t, "h", "h"), x(e, r, t, "xMode", "xMode"), x(e, r, t, "yMode", "yMode"), x(e, r, t, "wMode", "wMode"), x(e, r, t, "hMode", "hMode"), Object.keys(t).length > 0 && (n.manualLayout = t);
|
|
896
|
+
}
|
|
897
|
+
return n;
|
|
898
|
+
}
|
|
899
|
+
},
|
|
900
|
+
ThemeVisitor: class {
|
|
901
|
+
visit(e, t, n) {
|
|
902
|
+
return n.name = t.getAttribute("name"), n;
|
|
903
|
+
}
|
|
904
|
+
},
|
|
905
|
+
ClrSchemeVisitor: class extends g {
|
|
906
|
+
visit(e, t, n) {
|
|
907
|
+
let r = {};
|
|
908
|
+
r.name = t.getAttribute("name");
|
|
909
|
+
let i = t.childNodes, a = i.length;
|
|
910
|
+
for (let n = 0; n < a; n++) {
|
|
911
|
+
let a = i.item(n);
|
|
912
|
+
if (a.nodeType === 1) {
|
|
913
|
+
let n = a.localName, i = e.evaluate(n, t);
|
|
914
|
+
r[n] = this.processAdjColor(e, i);
|
|
915
|
+
}
|
|
916
|
+
}
|
|
917
|
+
return Object.keys(r).length > 0 && (n.colors = r), r;
|
|
918
|
+
}
|
|
919
|
+
},
|
|
920
|
+
FontSchemeVisitor: class {
|
|
921
|
+
visit(e, t, n) {
|
|
922
|
+
let r = {};
|
|
923
|
+
r.name = t.getAttribute("name");
|
|
924
|
+
let i = e.evaluate("majorFont", t), a = this.processFontElement(e, i, {});
|
|
925
|
+
a && (r.majorFont = a.family, a.fallbacks && (r.majorFallbacks = a.fallbacks));
|
|
926
|
+
let o = e.evaluate("minorFont", t), s = this.processFontElement(e, o, {});
|
|
927
|
+
return s && (r.minorFont = s.family, s.fallbacks && (r.minorFallbacks = s.fallbacks)), n.fonts = r, r;
|
|
928
|
+
}
|
|
929
|
+
processFontElement(e, t, n) {
|
|
930
|
+
if (!t) return;
|
|
931
|
+
let r = e.evaluate("latin", t);
|
|
932
|
+
if (!r) return;
|
|
933
|
+
let i = r.getAttribute("typeface");
|
|
934
|
+
i && (n.family = i);
|
|
935
|
+
let a = r.getAttribute("panose");
|
|
936
|
+
return a && (n.fallbacks = [l.getPanoseFallback(a)]), n;
|
|
937
|
+
}
|
|
938
|
+
},
|
|
939
|
+
FmtSchemeVisitor: class extends g {
|
|
940
|
+
visit(e, t, n) {
|
|
941
|
+
let r = this.parseFillList(e, t, "fillStyleLst"), i = this.parseLnList(e, t, "lnStyleLst"), a = this.parseEffectStyleList(e, t, "effectStyleLst"), o = this.parseFillList(e, t, "bgFillStyleLst");
|
|
942
|
+
if (r && i && a && o) return n.fillStyleLst = r, n.lnStyleLst = i, n.effectStyleLst = a, void (n.bgFillStyleLst = o);
|
|
943
|
+
let s = e.serializeElement(t);
|
|
944
|
+
s && (n.formatSchemeXml = s);
|
|
945
|
+
}
|
|
946
|
+
parseFillList(e, t, n) {
|
|
947
|
+
let r = e.evaluate(n, t);
|
|
948
|
+
if (!r) return;
|
|
949
|
+
let i = [], a = r.childNodes, o = a.length;
|
|
950
|
+
for (let t = 0; t < o; t++) {
|
|
951
|
+
let n = a.item(t);
|
|
952
|
+
if (n.nodeType !== 1) continue;
|
|
953
|
+
let r = this.parseFillListItem(e, n);
|
|
954
|
+
if (r === void 0) return;
|
|
955
|
+
i.push(r);
|
|
956
|
+
}
|
|
957
|
+
return i;
|
|
958
|
+
}
|
|
959
|
+
parseFillListItem(e, t) {
|
|
960
|
+
switch (t.localName) {
|
|
961
|
+
case "noFill": return { type: c.Type.None };
|
|
962
|
+
case "solidFill": {
|
|
963
|
+
let n = this.processAdjColor(e, t);
|
|
964
|
+
return n ? {
|
|
965
|
+
type: c.Type.Solid,
|
|
966
|
+
color: n
|
|
967
|
+
} : void 0;
|
|
968
|
+
}
|
|
969
|
+
case "gradFill": return this.processGradFill(e, t);
|
|
970
|
+
case "pattFill": return this.processPatternFill(e, t);
|
|
971
|
+
default: return;
|
|
972
|
+
}
|
|
973
|
+
}
|
|
974
|
+
parseLnList(e, t, n) {
|
|
975
|
+
let r = e.evaluate(n, t);
|
|
976
|
+
if (!r) return;
|
|
977
|
+
let i = [], a = r.childNodes, o = a.length;
|
|
978
|
+
for (let t = 0; t < o; t++) {
|
|
979
|
+
let n = a.item(t);
|
|
980
|
+
n.nodeType === 1 && i.push(this.parseLn(e, n));
|
|
981
|
+
}
|
|
982
|
+
return i;
|
|
983
|
+
}
|
|
984
|
+
parseEffectStyleList(e, t, n) {
|
|
985
|
+
let r = e.evaluate(n, t);
|
|
986
|
+
if (!r) return;
|
|
987
|
+
let i = [], a = r.childNodes, o = a.length;
|
|
988
|
+
for (let t = 0; t < o; t++) {
|
|
989
|
+
let n = a.item(t);
|
|
990
|
+
if (n.nodeType !== 1) continue;
|
|
991
|
+
if (e.evaluate("scene3d", n) || e.evaluate("sp3d", n)) return;
|
|
992
|
+
let r = this.getEffects(e, n);
|
|
993
|
+
if (r === void 0) return;
|
|
994
|
+
i.push(r ?? []);
|
|
995
|
+
}
|
|
996
|
+
return i;
|
|
997
|
+
}
|
|
998
|
+
},
|
|
999
|
+
AutoFilterVisitor: class {
|
|
1000
|
+
visit(e, t, n) {
|
|
1001
|
+
if (!t) return;
|
|
1002
|
+
let r = {}, i = [];
|
|
1003
|
+
return this.processFilterColumns(e, t, i, n), i.length > 0 && (r.conditions = i), Object.keys(r).length > 0 && (n.filter = r), r;
|
|
1004
|
+
}
|
|
1005
|
+
processColorFilter(e, t) {
|
|
1006
|
+
let n = {}, r = {
|
|
1007
|
+
operator: u.BuiltInOperatorNames.Color,
|
|
1008
|
+
param: n
|
|
1009
|
+
};
|
|
1010
|
+
return e.copyFromAttribute(t, "cellColor", n, "cellColor", e.BOOLEAN_COPY), e.copyFromAttribute(t, "dxfId", n, "styleId", e.INT_COPY), r;
|
|
1011
|
+
}
|
|
1012
|
+
processCustomFilter(e, t) {
|
|
1013
|
+
return j({
|
|
1014
|
+
operator: t.getAttribute("operator"),
|
|
1015
|
+
val: t.getAttribute("val")
|
|
1016
|
+
}, (t) => e.warn(t));
|
|
1017
|
+
}
|
|
1018
|
+
processCustomFilters(e, t) {
|
|
1019
|
+
let n = t.getAttribute("and"), r = n === "and" || n === "1";
|
|
1020
|
+
t.getAttribute("val");
|
|
1021
|
+
let i = [], a = {
|
|
1022
|
+
operator: r ? u.BuiltInOperatorNames.And : u.BuiltInOperatorNames.Or,
|
|
1023
|
+
param: i
|
|
1024
|
+
}, o = t.childNodes, s = o.length;
|
|
1025
|
+
for (let t = 0; t < s; t++) {
|
|
1026
|
+
let n = o.item(t);
|
|
1027
|
+
if (n.nodeType !== 1) continue;
|
|
1028
|
+
let r = null;
|
|
1029
|
+
n.localName === "customFilter" && (r = this.processCustomFilter(e, n)), r && i.push(r);
|
|
1030
|
+
}
|
|
1031
|
+
return i.length === 1 ? i[0] : M(a);
|
|
1032
|
+
}
|
|
1033
|
+
processDynamicFilter(e, t) {
|
|
1034
|
+
return E(t.getAttribute("type"));
|
|
1035
|
+
}
|
|
1036
|
+
processDateGroupItem(e, t) {
|
|
1037
|
+
let n = {};
|
|
1038
|
+
return e.copyFromAttribute(t, "dateTimeGrouping", n, "group"), e.copyFromAttribute(t, "day", n, "day", e.INT_COPY), e.copyFromAttribute(t, "hour", n, "hour", e.INT_COPY), e.copyFromAttribute(t, "minute", n, "minute", e.INT_COPY), e.copyFromAttribute(t, "month", n, "month", e.INT_COPY), e.copyFromAttribute(t, "second", n, "second", e.INT_COPY), e.copyFromAttribute(t, "year", n, "year", e.INT_COPY), n;
|
|
1039
|
+
}
|
|
1040
|
+
processFilterItem(e, t) {
|
|
1041
|
+
if (t.hasAttribute("val")) return t.getAttribute("val");
|
|
1042
|
+
}
|
|
1043
|
+
processFilters(e, t) {
|
|
1044
|
+
let n = {}, r = {
|
|
1045
|
+
operator: u.BuiltInOperatorNames.InSet,
|
|
1046
|
+
param: n
|
|
1047
|
+
};
|
|
1048
|
+
n.byDisplay = !0, e.copyFromAttribute(t, "blank", n, "blank", e.BOOLEAN_COPY), n.blank && (r.includeBlanks = !0), e.copyFromAttribute(t, "calendarType", n, "calendarType");
|
|
1049
|
+
let i = [], a = [], o = t.childNodes, s = o.length;
|
|
1050
|
+
for (let t = 0; t < s; t++) {
|
|
1051
|
+
let n = o.item(t);
|
|
1052
|
+
if (n.nodeType === 1) {
|
|
1053
|
+
if (n.localName === "dateGroupItem") {
|
|
1054
|
+
let t = this.processDateGroupItem(e, n);
|
|
1055
|
+
t && i.push(t);
|
|
1056
|
+
} else if (n.localName === "filter") {
|
|
1057
|
+
let t = this.processFilterItem(e, n);
|
|
1058
|
+
t !== void 0 && a.push(t);
|
|
1059
|
+
}
|
|
1060
|
+
}
|
|
1061
|
+
}
|
|
1062
|
+
return i.length > 0 && (n.dateGroups = i), a.length > 0 && (n.items = a), r;
|
|
1063
|
+
}
|
|
1064
|
+
processIcon(e, t) {
|
|
1065
|
+
let n = {}, r = {
|
|
1066
|
+
operator: u.BuiltInOperatorNames.Icon,
|
|
1067
|
+
param: n
|
|
1068
|
+
};
|
|
1069
|
+
return e.copyFromAttribute(t, "iconId", n, "iconId", e.INT_COPY), e.copyFromAttribute(t, "iconSet", n), r;
|
|
1070
|
+
}
|
|
1071
|
+
processTop10(e, t) {
|
|
1072
|
+
let n = {}, r = {
|
|
1073
|
+
operator: u.BuiltInOperatorNames.TopN,
|
|
1074
|
+
param: n
|
|
1075
|
+
};
|
|
1076
|
+
return e.copyFromAttribute(t, "filterVal", n, "filterVal", e.FLOAT_COPY), e.copyFromAttribute(t, "percent", n, "percent", e.BOOLEAN_COPY), e.copyFromAttribute(t, "top", n, "top", e.BOOLEAN_COPY), e.copyFromAttribute(t, "val", n, "limit", e.FLOAT_COPY), r;
|
|
1077
|
+
}
|
|
1078
|
+
processFilterColumnExt(e, t) {
|
|
1079
|
+
let n = t.childNodes;
|
|
1080
|
+
for (let t = 0; t < n.length; t++) {
|
|
1081
|
+
let r = n.item(t);
|
|
1082
|
+
if (r.nodeType !== 1 || r.localName !== "ext" || k(r.getAttribute("uri")) !== k("{1AD28BCE-077C-4C59-8B6E-1921CE8616D4}")) continue;
|
|
1083
|
+
let i = r.childNodes;
|
|
1084
|
+
for (let t = 0; t < i.length; t++) {
|
|
1085
|
+
let n = i.item(t);
|
|
1086
|
+
if (n.nodeType !== 1 || n.localName !== "filterColumn") continue;
|
|
1087
|
+
let r = n.childNodes;
|
|
1088
|
+
for (let t = 0; t < r.length; t++) {
|
|
1089
|
+
let n = r.item(t);
|
|
1090
|
+
if (n.nodeType === 1 && n.localName === "filters") return this.processFilters(e, n);
|
|
1091
|
+
}
|
|
1092
|
+
}
|
|
1093
|
+
}
|
|
1094
|
+
}
|
|
1095
|
+
processFilterCriteria(e, t) {
|
|
1096
|
+
if (!t) return;
|
|
1097
|
+
let n, r = t.childNodes, i = r.length;
|
|
1098
|
+
for (let t = 0; t < i; t++) {
|
|
1099
|
+
let i = r.item(t);
|
|
1100
|
+
i.nodeType === 1 && (i.localName === "colorFilter" ? n = this.processColorFilter(e, i) : i.localName === "customFilters" ? n = this.processCustomFilters(e, i) : i.localName === "dynamicFilter" ? n = this.processDynamicFilter(e, i) : i.localName === "filters" ? n = this.processFilters(e, i) : i.localName === "iconFilter" ? n = this.processIcon(e, i) : i.localName === "top10" ? n = this.processTop10(e, i) : i.localName === "extLst" && (n = this.processFilterColumnExt(e, i) ?? n));
|
|
1101
|
+
}
|
|
1102
|
+
return n;
|
|
1103
|
+
}
|
|
1104
|
+
processFilterColumn(e, t, n) {
|
|
1105
|
+
if (!t) return null;
|
|
1106
|
+
if (!t.hasAttribute("colId")) return;
|
|
1107
|
+
let r = parseInt(t.getAttribute("colId")), i = !1;
|
|
1108
|
+
if (t.hasAttribute("hiddenButton") && (i = N(t.getAttribute("hiddenButton"))), i && n) {
|
|
1109
|
+
let e = n.hiddenButtons;
|
|
1110
|
+
e || (e = [], n.hiddenButtons = e), e.push(r);
|
|
1111
|
+
}
|
|
1112
|
+
let a = !1;
|
|
1113
|
+
if (t.hasAttribute("showButton") && (a = N(t.getAttribute("showButton"))), a && n) {
|
|
1114
|
+
let e = n.showButtons;
|
|
1115
|
+
!0 !== e && (e || (e = [], n.showButtons = e), e[r] = !0);
|
|
1116
|
+
}
|
|
1117
|
+
let o = this.processFilterCriteria(e, t);
|
|
1118
|
+
return o ? (o.index = r, o) : null;
|
|
1119
|
+
}
|
|
1120
|
+
processFilterColumns(e, t, n, r) {
|
|
1121
|
+
if (!t) return;
|
|
1122
|
+
let i = t.childNodes, a = i.length;
|
|
1123
|
+
for (let t = 0; t < a; t++) {
|
|
1124
|
+
let a = i.item(t);
|
|
1125
|
+
if (a.nodeType === 1 && a.localName === "filterColumn") {
|
|
1126
|
+
let t = this.processFilterColumn(e, a, r);
|
|
1127
|
+
t && n.push(t);
|
|
1128
|
+
}
|
|
1129
|
+
}
|
|
1130
|
+
return n;
|
|
1131
|
+
}
|
|
1132
|
+
},
|
|
1133
|
+
SortStateVisitor: class {
|
|
1134
|
+
visit(e, t, i) {
|
|
1135
|
+
if (!t) return;
|
|
1136
|
+
let o = t.getAttribute("ref"), s = {};
|
|
1137
|
+
t.hasAttribute("caseSensitive") && (s.collatorOptions = N(t.getAttribute("caseSensitive")) ? r.CaseSensitiveOptions : r.CaseInsensitiveOptions);
|
|
1138
|
+
let c = t.getAttribute("sortMethod");
|
|
1139
|
+
c != null && c !== "none" && (c === "stroke" ? s.collatorOptions = {
|
|
1140
|
+
...s.collatorOptions,
|
|
1141
|
+
collation: "stroke"
|
|
1142
|
+
} : c === "pinYin" && (s.collatorOptions = {
|
|
1143
|
+
...s.collatorOptions,
|
|
1144
|
+
collation: "pinyin"
|
|
1145
|
+
}));
|
|
1146
|
+
let l = {};
|
|
1147
|
+
t.hasAttribute("columnSort") && N(t.getAttribute("columnSort")) && (l.axis = n.Axis.Column);
|
|
1148
|
+
let u = a.fastStringToRange(o), d = [];
|
|
1149
|
+
return this.processSortConditions(e, t, d, u, s), d.length > 0 && (l.sorts = d), Object.keys(d).length > 0 && (i.sort = l), l;
|
|
1150
|
+
}
|
|
1151
|
+
processSortCondition(e, t, n, r) {
|
|
1152
|
+
if (!t) return null;
|
|
1153
|
+
let i = {};
|
|
1154
|
+
if (!t.hasAttribute("ref")) return void e.warn("A sort condition has no ref; it was dropped.", { onceKey: "xlsx.sheet.sort.noRef" });
|
|
1155
|
+
if (t.hasAttribute("ref")) {
|
|
1156
|
+
let e = t.getAttribute("ref"), r = a.fastStringToRange(e);
|
|
1157
|
+
i.index = n ? r.colStart - n.colStart : r.colStart;
|
|
1158
|
+
}
|
|
1159
|
+
let o = { ...r };
|
|
1160
|
+
return i.criteria = o, o.reverse = !1, t.hasAttribute("descending") && (o.reverse = N(t.getAttribute("descending"))), e.copyFromAttribute(t, "sortBy", o, "sortOn"), e.copyFromAttribute(t, "dxfId", o), e.copyFromAttribute(t, "iconSet", o), e.copyFromAttribute(t, "customList", o), i;
|
|
1161
|
+
}
|
|
1162
|
+
processSortConditions(e, t, n, r, i) {
|
|
1163
|
+
if (!t) return;
|
|
1164
|
+
let a = t.childNodes, o = a.length;
|
|
1165
|
+
for (let t = 0; t < o; t++) {
|
|
1166
|
+
let o = a.item(t);
|
|
1167
|
+
if (o.nodeType === 1 && o.localName === "sortCondition") {
|
|
1168
|
+
let t = this.processSortCondition(e, o, r, i);
|
|
1169
|
+
t && n.push(t);
|
|
1170
|
+
}
|
|
1171
|
+
}
|
|
1172
|
+
}
|
|
1173
|
+
},
|
|
1174
|
+
SheetStyleVisitor: class extends U {
|
|
1175
|
+
visit(e, t, n) {
|
|
1176
|
+
this.processNumFmts(e, e.evaluate("numFmts", t), null), e.getVisitorParamsState().set("colorsToProcess", /* @__PURE__ */ new Set());
|
|
1177
|
+
let r = {
|
|
1178
|
+
fills: {},
|
|
1179
|
+
fonts: {},
|
|
1180
|
+
borders: {}
|
|
1181
|
+
};
|
|
1182
|
+
this.processFonts(e, e.evaluate("fonts", t), r.fonts), this.processFills(e, e.evaluate("fills", t), r.fills), this.processBorders(e, e.evaluate("borders", t), r.borders, !0), r.fills[0] = { type: c.Type.None }, r.fills[1] = {
|
|
1183
|
+
type: c.Type.Pattern,
|
|
1184
|
+
patternType: c.BuiltInSheetPattern.Gray125
|
|
1185
|
+
}, r.borders[0] = {
|
|
1186
|
+
bottom: { style: o.StrokeStyle.None },
|
|
1187
|
+
left: { style: o.StrokeStyle.None },
|
|
1188
|
+
right: { style: o.StrokeStyle.None },
|
|
1189
|
+
top: { style: o.StrokeStyle.None }
|
|
1190
|
+
};
|
|
1191
|
+
let i = [];
|
|
1192
|
+
this.processXFs(e, e.evaluate("cellStyleXfs", t), i, r, null, !1);
|
|
1193
|
+
let a = /* @__PURE__ */ new Map();
|
|
1194
|
+
if (i.length > 0) {
|
|
1195
|
+
let r = [];
|
|
1196
|
+
this.processCellStyles(e, e.evaluate("cellStyles", t), r, i, a), n.named = r;
|
|
1197
|
+
}
|
|
1198
|
+
let s = [];
|
|
1199
|
+
this.processXFs(e, e.evaluate("cellXfs", t), s, r, a), Object.keys(s).length > 0 && (n.direct = s);
|
|
1200
|
+
let l = this.collectHiddenXfs(e.evaluate("cellXfs", t));
|
|
1201
|
+
l.size > 0 && e.getVisitorParamsState().set("hiddenXfs", l);
|
|
1202
|
+
let u = [];
|
|
1203
|
+
return this.processDXFs(e, e.evaluate("dxfs", t), u), this.processTableStyles(e, e.evaluate("tableStyles", t), n, u), this.processIndexColors(e, e.evaluate("colors/indexedColors", t), n), this.processMruColors(e, e.evaluate("colors/mruColors", t), n), n;
|
|
1204
|
+
}
|
|
1205
|
+
processIndexColors(e, t, n) {
|
|
1206
|
+
if (!t) return;
|
|
1207
|
+
let r = [], i = t.childNodes, a = i.length;
|
|
1208
|
+
for (let t = 0; t < a; t++) {
|
|
1209
|
+
let n = i.item(t);
|
|
1210
|
+
if (n.nodeType === 1 && n.localName === "rgbColor") {
|
|
1211
|
+
let t = { color: null };
|
|
1212
|
+
this.processDataBarColor(e, n, t, "color"), t.color && r.push(t.color);
|
|
1213
|
+
}
|
|
1214
|
+
}
|
|
1215
|
+
n.indexedColors = r;
|
|
1216
|
+
}
|
|
1217
|
+
processMruColors(e, t, n) {
|
|
1218
|
+
if (!t) return;
|
|
1219
|
+
let r = [], i = t.childNodes, a = i.length;
|
|
1220
|
+
for (let t = 0; t < a; t++) {
|
|
1221
|
+
let n = i.item(t);
|
|
1222
|
+
if (n.nodeType === 1 && n.localName === "color") {
|
|
1223
|
+
let t = { color: null };
|
|
1224
|
+
this.processDataBarColor(e, n, t, "color"), t.color && r.push(t.color);
|
|
1225
|
+
}
|
|
1226
|
+
}
|
|
1227
|
+
r.length > 0 && (n.mruColors = r);
|
|
1228
|
+
}
|
|
1229
|
+
processNumFmts(e, t, n) {
|
|
1230
|
+
if (!t) return;
|
|
1231
|
+
let r = /* @__PURE__ */ new Map();
|
|
1232
|
+
if (e.getVisitorParamsState().set("numFmts", r), !t) return;
|
|
1233
|
+
let i = t.childNodes, a = i.length;
|
|
1234
|
+
for (let e = 0; e < a; e++) {
|
|
1235
|
+
let t = i.item(e);
|
|
1236
|
+
if (t.nodeType === 1 && t.localName === "numFmt") {
|
|
1237
|
+
let e = t.getAttribute("numFmtId"), n = t.getAttribute("formatCode");
|
|
1238
|
+
if (e && n) {
|
|
1239
|
+
let t = n;
|
|
1240
|
+
r.set(parseInt(e), t);
|
|
1241
|
+
}
|
|
1242
|
+
}
|
|
1243
|
+
}
|
|
1244
|
+
}
|
|
1245
|
+
processXFs(e, t, n, r, i = null, a = !0) {
|
|
1246
|
+
if (!t) return;
|
|
1247
|
+
let o = t.childNodes, s = o.length;
|
|
1248
|
+
for (let t = 0; t < s; t++) {
|
|
1249
|
+
let s = o.item(t);
|
|
1250
|
+
if (s.nodeType === 1 && s.localName === "xf") {
|
|
1251
|
+
let t = {};
|
|
1252
|
+
this.processXF(e, s, t, r, i, a), n.push(t);
|
|
1253
|
+
}
|
|
1254
|
+
}
|
|
1255
|
+
}
|
|
1256
|
+
processXF(e, t, n, r, i, a) {
|
|
1257
|
+
if (!t) return;
|
|
1258
|
+
let o = t.getAttribute("xfId");
|
|
1259
|
+
if (o && i) {
|
|
1260
|
+
let e = i.get(parseInt(o));
|
|
1261
|
+
e && e !== s.BuiltInName.Normal && (n.named = e);
|
|
1262
|
+
}
|
|
1263
|
+
let c = (e) => !(!a && t.hasAttribute(e)) || N(t.getAttribute(e)), l = (e) => !a || t.hasAttribute(e) && N(t.getAttribute(e)), u = a ? "0" : void 0;
|
|
1264
|
+
if (c("applyFont")) {
|
|
1265
|
+
let e = t.getAttribute("fontId") ?? u;
|
|
1266
|
+
if (e !== void 0 && (e !== "0" || l("applyFont"))) {
|
|
1267
|
+
let t = r.fonts[e];
|
|
1268
|
+
t !== void 0 && (n.font = t);
|
|
1269
|
+
}
|
|
1270
|
+
}
|
|
1271
|
+
if (c("applyFill")) {
|
|
1272
|
+
let e = t.getAttribute("fillId") ?? u;
|
|
1273
|
+
if (e !== void 0 && (e !== "0" || l("applyFill"))) {
|
|
1274
|
+
let t = r.fills[e];
|
|
1275
|
+
t !== void 0 && Object.keys(t).length > 0 && (n.fill = t);
|
|
1276
|
+
}
|
|
1277
|
+
}
|
|
1278
|
+
if (c("applyBorder")) {
|
|
1279
|
+
let e = t.getAttribute("borderId") ?? u;
|
|
1280
|
+
if (e !== void 0 && (e !== "0" || l("applyBorder"))) {
|
|
1281
|
+
let t = r.borders[e];
|
|
1282
|
+
t !== void 0 && (n.borders = t);
|
|
1283
|
+
}
|
|
1284
|
+
}
|
|
1285
|
+
if (c("applyNumberFormat")) {
|
|
1286
|
+
let r = t.getAttribute("numFmtId") ?? u;
|
|
1287
|
+
if (r !== void 0 && (r !== "0" || l("applyNumberFormat"))) {
|
|
1288
|
+
let t, i = parseInt(r), a = e.getVisitorParamsState();
|
|
1289
|
+
if (a) {
|
|
1290
|
+
let e = a.get("numFmts");
|
|
1291
|
+
e && (t = e.get(i)), n.numberFormat = t ?? i;
|
|
1292
|
+
} else e.warn("Number formats were unavailable; a cell format was not read.", { onceKey: "xlsx.style.numberFormat.state" });
|
|
1293
|
+
}
|
|
1294
|
+
}
|
|
1295
|
+
if (c("applyAlignment")) {
|
|
1296
|
+
let r = e.evaluate("alignment", t);
|
|
1297
|
+
(r || l("applyAlignment")) && this.processAlignment(e, r, n);
|
|
1298
|
+
}
|
|
1299
|
+
if (c("applyProtection")) {
|
|
1300
|
+
let r = e.evaluate("protection", t);
|
|
1301
|
+
(r || l("applyProtection")) && this.processProtection(e, r, n);
|
|
1302
|
+
}
|
|
1303
|
+
let d = N(t.getAttribute("quotePrefix") ?? "");
|
|
1304
|
+
d && (n.quotePrefix = d);
|
|
1305
|
+
}
|
|
1306
|
+
processAlignment(e, t, n) {
|
|
1307
|
+
let r = {};
|
|
1308
|
+
if (t?.hasAttribute("horizontal") ? r.horizontal = t.getAttribute("horizontal") : r.horizontal = i.HorizontalAlignment.General, t?.hasAttribute("vertical") ? r.vertical = t.getAttribute("vertical") : r.vertical = i.VerticalAlignment.Bottom, t?.hasAttribute("indent") ? r.indent = parseInt(t.getAttribute("indent")) : r.indent = 0, t?.hasAttribute("relativeIndent") ? r.relativeIndent = parseInt(t.getAttribute("relativeIndent")) : r.relativeIndent = 0, N(t?.getAttribute("wrapText") ?? "") ? r.overflow = i.Overflow.Wrap : r.overflow = i.Overflow.Visible, N(t?.getAttribute("shrinkToFit") ?? "") && (r.overflow = i.Overflow.Shrink), t?.hasAttribute("textRotation")) {
|
|
1309
|
+
let e = parseFloat(t.getAttribute("textRotation"));
|
|
1310
|
+
e > 0 && e <= 90 ? e = 360 - e : e > 90 && e <= 180 ? e -= 90 : e === 255 && (e = 0, r.stacked = !0), r.rotation = e;
|
|
1311
|
+
} else r.rotation = 0;
|
|
1312
|
+
t?.hasAttribute("justifyLastLine") && (r.justifyLastLine = N(t.getAttribute("justifyLastLine")));
|
|
1313
|
+
let a = t?.getAttribute("readingOrder");
|
|
1314
|
+
return a && (a === "0" ? r.readingDirection = i.ReadingDirection.Auto : a === "1" ? r.readingDirection = i.ReadingDirection.LeftToRight : a === "2" ? r.readingDirection = i.ReadingDirection.RightToLeft : e.warn(`Invalid readingOrder '${a}'; the direction was left automatic.`, { onceKey: "xlsx.style.readingOrder" })), Object.keys(r).length > 0 && (n.alignment = r), n;
|
|
1315
|
+
}
|
|
1316
|
+
collectHiddenXfs(e) {
|
|
1317
|
+
let t = /* @__PURE__ */ new Set();
|
|
1318
|
+
if (!e) return t;
|
|
1319
|
+
let n = e.childNodes, r = 0;
|
|
1320
|
+
for (let e = 0; e < n.length; e++) {
|
|
1321
|
+
let i = n.item(e);
|
|
1322
|
+
if (i.nodeType !== 1 || i.localName !== "xf") continue;
|
|
1323
|
+
let a = i.childNodes;
|
|
1324
|
+
for (let e = 0; e < a.length; e++) {
|
|
1325
|
+
let n = a.item(e);
|
|
1326
|
+
n.nodeType === 1 && n.localName === "protection" && N(n.getAttribute("hidden") ?? "") && t.add(r);
|
|
1327
|
+
}
|
|
1328
|
+
r++;
|
|
1329
|
+
}
|
|
1330
|
+
return t;
|
|
1331
|
+
}
|
|
1332
|
+
processProtection(e, t, n) {
|
|
1333
|
+
if (!t) return;
|
|
1334
|
+
let r = t.getAttribute("locked");
|
|
1335
|
+
return n.protection = { alwaysUnlocked: !!r && !N(r) }, n;
|
|
1336
|
+
}
|
|
1337
|
+
processDXF(e, t, n) {
|
|
1338
|
+
if (!t) return;
|
|
1339
|
+
let r = t.childNodes, i = r.length;
|
|
1340
|
+
for (let t = 0; t < i; t++) {
|
|
1341
|
+
let i = r.item(t);
|
|
1342
|
+
if (i.nodeType === 1 && i.localName === "font") {
|
|
1343
|
+
let t = {};
|
|
1344
|
+
this.processFont(e, i, t), n.font = t;
|
|
1345
|
+
} else if (i.nodeType === 1 && i.localName === "fill") {
|
|
1346
|
+
let t = [];
|
|
1347
|
+
this.processFill(e, i, t, 0), t.length > 0 && t[0] && (n.fill = t[0]);
|
|
1348
|
+
} else if (i.nodeType === 1 && i.localName === "border") {
|
|
1349
|
+
let t = [];
|
|
1350
|
+
this.processBorder(e, i, t, 0, !1), t.length > 0 && t[0] && (n.borders = t[0]);
|
|
1351
|
+
} else if (i.nodeType === 1 && i.localName === "numFmt") {
|
|
1352
|
+
let e = i.getAttribute("formatCode");
|
|
1353
|
+
if (e) n.numberFormat = e;
|
|
1354
|
+
else {
|
|
1355
|
+
let e = i.getAttribute("numFmtId");
|
|
1356
|
+
e && (n.numberFormat = Number(e));
|
|
1357
|
+
}
|
|
1358
|
+
} else i.nodeType === 1 && i.localName === "alignment" && this.processAlignment(e, i, n);
|
|
1359
|
+
}
|
|
1360
|
+
}
|
|
1361
|
+
processDXFs(e, t, n) {
|
|
1362
|
+
if (!t) return;
|
|
1363
|
+
e.getVisitorParamsState().set("processingDXFs", !0);
|
|
1364
|
+
let r = /* @__PURE__ */ new Map();
|
|
1365
|
+
e.getVisitorParamsState().set("dxfs", r);
|
|
1366
|
+
let i = t.childNodes, a = i.length;
|
|
1367
|
+
for (let t = 0; t < a; t++) {
|
|
1368
|
+
let a = i.item(t);
|
|
1369
|
+
if (a.nodeType === 1 && a.localName === "dxf") {
|
|
1370
|
+
let t = {};
|
|
1371
|
+
this.processDXF(e, a, t);
|
|
1372
|
+
let i = n.length;
|
|
1373
|
+
r.set(i, t), n.push(t);
|
|
1374
|
+
}
|
|
1375
|
+
}
|
|
1376
|
+
e.getVisitorParamsState().delete("processingDXFs");
|
|
1377
|
+
}
|
|
1378
|
+
processTableStyle(e, t, n, r, i = !1) {
|
|
1379
|
+
let a = t.getAttribute("name"), o = { name: a };
|
|
1380
|
+
t.hasAttribute("table") && (o.table = N(t.getAttribute("table"))), t.hasAttribute("pivot") && (o.pivot = N(t.getAttribute("pivot"))), i && !o.pivot && r.unshift(null);
|
|
1381
|
+
let s = t.childNodes, c = s.length;
|
|
1382
|
+
for (let t = 0; t < c; t++) {
|
|
1383
|
+
let n = s.item(t);
|
|
1384
|
+
if (n.nodeType === 1 && n.localName === "tableStyleElement") {
|
|
1385
|
+
let t = n.getAttribute("type"), i = n.getAttribute("dxfId"), a = i == null ? void 0 : r?.[i];
|
|
1386
|
+
a ||= (e.warn(`A table style names a format that does not exist (dxfId '${i}').`, { onceKey: "xlsx.style.tableStyle.dxf" }), {}), o[t] = a;
|
|
1387
|
+
let s = null;
|
|
1388
|
+
n.hasAttribute("size") && (s = parseInt(n.getAttribute("size"))), s && !isNaN(s) && (a.size = s);
|
|
1389
|
+
}
|
|
1390
|
+
}
|
|
1391
|
+
delete o.name, n[a] = o;
|
|
1392
|
+
}
|
|
1393
|
+
processTableStyles(e, t, n, r, i) {
|
|
1394
|
+
if (!t) return;
|
|
1395
|
+
let a = {}, o = t.getAttribute("defaultTableStyle");
|
|
1396
|
+
o && (a.defaultTableStyle = o);
|
|
1397
|
+
let s = t.getAttribute("defaultPivotStyle");
|
|
1398
|
+
s && (a.defaultPivotStyle = s);
|
|
1399
|
+
let c = t.childNodes, l = {}, u = c.length;
|
|
1400
|
+
for (let t = 0; t < u; t++) {
|
|
1401
|
+
let n = c.item(t);
|
|
1402
|
+
n.nodeType === 1 && n.localName === "tableStyle" && this.processTableStyle(e, n, l, r, i);
|
|
1403
|
+
}
|
|
1404
|
+
return Object.keys(l).length > 0 && (a.styles = l), Object.keys(a).length > 0 && (n.tables = a), n;
|
|
1405
|
+
}
|
|
1406
|
+
processCellStyles(e, t, n, r, i) {
|
|
1407
|
+
if (!t) return;
|
|
1408
|
+
let a = t.childNodes, o = a.length;
|
|
1409
|
+
for (let e = 0; e < o; e++) {
|
|
1410
|
+
let t = a.item(e);
|
|
1411
|
+
if (t.nodeType === 1 && t.localName === "cellStyle") {
|
|
1412
|
+
let e = parseInt(t.getAttribute("xfId") ?? ""), a = t.getAttribute("name"), o = t.getAttribute("builtinId"), c = a;
|
|
1413
|
+
if (o !== null) {
|
|
1414
|
+
let e = s.builtInNameFromId(parseInt(o));
|
|
1415
|
+
e !== void 0 && (c = e);
|
|
1416
|
+
}
|
|
1417
|
+
if (i.set(e, c), !r[e]) continue;
|
|
1418
|
+
let l = {
|
|
1419
|
+
name: c,
|
|
1420
|
+
style: r[e]
|
|
1421
|
+
};
|
|
1422
|
+
t.getAttribute("hidden") && (l.hidden = N(t.getAttribute("hidden"))), t.getAttribute("iLevel") && (l.iLevel = parseInt(t.getAttribute("iLevel"))), n.push(l);
|
|
1423
|
+
}
|
|
1424
|
+
}
|
|
1425
|
+
}
|
|
1426
|
+
afterVisit(e, t, n) {}
|
|
1427
|
+
},
|
|
1428
|
+
WorkbookVisitor: class extends U {
|
|
1429
|
+
visit(e, t, n) {
|
|
1430
|
+
return this.processSheetRefs(e, e.evaluate("sheets", t), n), this.processExternalReferences(e, e.evaluate("externalReferences", t), n), this.processBookViews(e, e.evaluate("bookViews", t), n), this.processDefinedNames(e, e.evaluate("definedNames", t), n), this.processCalcPr(e, e.evaluate("calcPr", t), n), this.processPivotCaches(e, e.evaluate("pivotCaches", t), n), this.processWorkbookProtection(e, e.evaluate("workbookProtection", t), n), this.processWorkbookPr(e, e.evaluate("workbookPr", t), n), n;
|
|
1431
|
+
}
|
|
1432
|
+
processPassword(e, t, n, r = "workbook", i = "password") {
|
|
1433
|
+
if (!t) return;
|
|
1434
|
+
let a = {};
|
|
1435
|
+
e.copyFromAttribute(t, `${r}AlgorithmName`, a, "algorithm"), e.copyFromAttribute(t, `${r}HashValue`, a, "hash"), e.copyFromAttribute(t, `${r}SaltValue`, a, "salt"), e.copyFromAttribute(t, `${r}SpinCount`, a, "spinCount", e.INT_COPY), Object.keys(a).length > 0 && (n[i] = a);
|
|
1436
|
+
}
|
|
1437
|
+
processWorkbookProtection(e, t, n) {
|
|
1438
|
+
if (!t) return;
|
|
1439
|
+
let r = {};
|
|
1440
|
+
this.processPassword(e, t, r, "workbook", "password"), this.processPassword(e, t, r, "revisions", "revisionsPassword");
|
|
1441
|
+
for (let e of P) r[e.key] = A(e, t.getAttribute(e.attribute));
|
|
1442
|
+
return n.protection = r, n;
|
|
1443
|
+
}
|
|
1444
|
+
processCalcPr(e, t, n) {
|
|
1445
|
+
if (!t) return;
|
|
1446
|
+
let r = {};
|
|
1447
|
+
e.copyFromAttribute(t, "calcMode", r, "calcMode", (e) => G[e] ?? null), e.copyFromAttribute(t, "fullCalcOnLoad", r, "fullCalcOnLoad", e.BOOLEAN_COPY), e.copyFromAttribute(t, "calcOnSave", r, "calcOnSave", e.BOOLEAN_COPY), e.copyFromAttribute(t, "calcCompleted", r, "calcCompleted", e.BOOLEAN_COPY), e.copyFromAttribute(t, "fullPrecision", r, "fullPrecision", e.BOOLEAN_COPY), e.copyFromAttribute(t, "forceFullCalc", r, "forceFullCalc", e.BOOLEAN_COPY), e.copyFromAttribute(t, "concurrentCalc", r, "concurrentCalc", e.BOOLEAN_COPY), e.copyFromAttribute(t, "refMode", r, "refMode"), e.copyFromAttribute(t, "iterate", r, "iterate", e.BOOLEAN_COPY), e.copyFromAttribute(t, "iterateCount", r, "maxIteration", e.INT_COPY), e.copyFromAttribute(t, "iterateDelta", r, "maxIterateChange", e.FLOAT_COPY);
|
|
1448
|
+
let i = t.getAttribute("calcId");
|
|
1449
|
+
i !== null && e.getVisitorParamsState().set("calcId", i), n.calc = r;
|
|
1450
|
+
}
|
|
1451
|
+
processSheetRefs(e, t, n) {
|
|
1452
|
+
if (!t) return;
|
|
1453
|
+
let r = [], i = t.childNodes, a = i.length;
|
|
1454
|
+
for (let t = 0; t < a; t++) {
|
|
1455
|
+
let n = i.item(t);
|
|
1456
|
+
n.nodeType === 1 && n.localName === "sheet" && this.processSheetRef(e, n, r);
|
|
1457
|
+
}
|
|
1458
|
+
n.sheets = r;
|
|
1459
|
+
}
|
|
1460
|
+
processSheetRef(e, t, n) {
|
|
1461
|
+
let r = {};
|
|
1462
|
+
e.copyFromAttribute(t, "name", r, "name"), e.copyFromAttribute(t, "state", r, "visibility"), e.copyFromAttribute(t, "sheetId", r, "sheetId", e.INT_COPY);
|
|
1463
|
+
let i = t.getAttribute("r:id"), a = e.getRef(i);
|
|
1464
|
+
a && (r.sheet = a), n.push(r);
|
|
1465
|
+
}
|
|
1466
|
+
processExternalReferences(e, t, n) {
|
|
1467
|
+
if (!t) return;
|
|
1468
|
+
let r = [], i = t.childNodes, a = i.length;
|
|
1469
|
+
for (let t = 0; t < a; t++) {
|
|
1470
|
+
let n = i.item(t);
|
|
1471
|
+
if (n.nodeType === 1 && n.localName === "externalReference") {
|
|
1472
|
+
let t = n.getAttribute("r:id"), i = t ? e.getRef(t) : null;
|
|
1473
|
+
r.push(i ?? null);
|
|
1474
|
+
}
|
|
1475
|
+
}
|
|
1476
|
+
r.length > 0 && (n.externalBooks = r);
|
|
1477
|
+
}
|
|
1478
|
+
processPivotCaches(e, t, n) {
|
|
1479
|
+
if (!t) return;
|
|
1480
|
+
let r = [], i = t.childNodes, a = i.length;
|
|
1481
|
+
for (let t = 0; t < a; t++) {
|
|
1482
|
+
let n = i.item(t);
|
|
1483
|
+
if (n.nodeType !== 1 || n.localName !== "pivotCache") continue;
|
|
1484
|
+
let a = parseInt(n.getAttribute("cacheId") ?? "", 10), o = n.getAttribute("r:id");
|
|
1485
|
+
if (isNaN(a) || !o) continue;
|
|
1486
|
+
let s = e.readEmbeddedPart(o);
|
|
1487
|
+
s && r.push({
|
|
1488
|
+
cacheId: a,
|
|
1489
|
+
part: s
|
|
1490
|
+
});
|
|
1491
|
+
}
|
|
1492
|
+
r.length > 0 && (n.pivotCaches = r);
|
|
1493
|
+
}
|
|
1494
|
+
processBookViews(e, t, n) {
|
|
1495
|
+
if (!t) return;
|
|
1496
|
+
let r = t.childNodes, i = 0, a = r.length;
|
|
1497
|
+
for (let t = 0; i < 1 && t < a; t++) {
|
|
1498
|
+
let a = r.item(t);
|
|
1499
|
+
a.nodeType === 1 && a.localName === "workbookView" && (this.processWorkbookView(e, a, n), i++);
|
|
1500
|
+
}
|
|
1501
|
+
}
|
|
1502
|
+
processWorkbookView(e, t, n) {
|
|
1503
|
+
if (!t) return;
|
|
1504
|
+
let r = {};
|
|
1505
|
+
e.copyFromAttribute(t, "activeTab", r, "activeSheetId", [e.INT_COPY, (e) => e]), t.hasAttribute("activeTab") || (r.activeSheetId = 0), e.copyFromAttribute(t, "showHorizontalScroll", r, "showHorizontalScrollbar", e.BOOLEAN_COPY), e.copyFromAttribute(t, "showVerticalScroll", r, "showVerticalScrollbar", e.BOOLEAN_COPY), e.copyFromAttribute(t, "showSheetTabs", r, "showTabs", e.BOOLEAN_COPY), e.copyFromAttribute(t, "tabRatio", r, "tabRatio", [e.FLOAT_COPY, (e) => e]), Object.keys(r).length > 0 && (n.view = r);
|
|
1506
|
+
}
|
|
1507
|
+
processDefineName(e, t, n, r) {
|
|
1508
|
+
if (!t) return;
|
|
1509
|
+
let i = {}, a = t.firstChild;
|
|
1510
|
+
if (a && a.nodeType === 3 && (i.ref = a.textContent), e.copyFromAttribute(t, "name", i), e.copyFromAttribute(t, "comment", i), e.copyFromAttribute(t, "hidden", i, "hidden", e.BOOLEAN_COPY), t.hasAttribute("localSheetId")) {
|
|
1511
|
+
let n = t.getAttribute("localSheetId");
|
|
1512
|
+
if (!r[n]?.name) return void e.warn(`Defined name '${t.getAttribute("name")}' references a sheet with localSheetId '${n}' which does not exist.`);
|
|
1513
|
+
i.scope = r[n].name;
|
|
1514
|
+
}
|
|
1515
|
+
e.copyFromAttribute(t, "customMenu", i), e.copyFromAttribute(t, "description", i), e.copyFromAttribute(t, "statusBar", i), e.copyFromAttribute(t, "help", i), e.copyFromAttribute(t, "shortcutKey", i), e.copyFromAttribute(t, "function", i, "function", e.BOOLEAN_COPY), e.copyFromAttribute(t, "functionGroupId", i, "functionGroupId", e.INT_COPY), e.copyFromAttribute(t, "publishToServer", i, "publishToServer", e.BOOLEAN_COPY), e.copyFromAttribute(t, "vbProcedure", i, "vbProcedure", e.BOOLEAN_COPY), e.copyFromAttribute(t, "xlm", i, "xlm", e.BOOLEAN_COPY), Object.keys(i).length > 0 && n.push(i);
|
|
1516
|
+
}
|
|
1517
|
+
processDefinedNames(e, t, n) {
|
|
1518
|
+
if (!t) return;
|
|
1519
|
+
let r = [], i = t.childNodes, a = i.length;
|
|
1520
|
+
for (let t = 0; t < a; t++) {
|
|
1521
|
+
let a = i.item(t);
|
|
1522
|
+
a.nodeType === 1 && a.localName === "definedName" && this.processDefineName(e, a, r, n.sheets);
|
|
1523
|
+
}
|
|
1524
|
+
r.length > 0 && (n.names = r);
|
|
1525
|
+
}
|
|
1526
|
+
processWorkbookPr(e, t, n) {
|
|
1527
|
+
t && (e.copyFromAttribute(t, "date1904", n, "date1904", e.BOOLEAN_COPY), e.copyFromAttribute(t, "codeName", n, "codeName"), e.copyFromAttribute(t, "updateLinks", n, "updateLinks"));
|
|
1528
|
+
}
|
|
1529
|
+
afterVisit(e, t, n) {}
|
|
1530
|
+
},
|
|
1531
|
+
TableVisitor: class {
|
|
1532
|
+
visit(e, t, n) {
|
|
1533
|
+
let r = {};
|
|
1534
|
+
return e.copyFromAttribute(t, "ref", n, "r"), e.getVisitorParamsState().set("ref", n.r), n.v = r, e.copyFromAttribute(t, "name", r), e.copyFromAttribute(t, "displayName", r), e.copyFromAttribute(t, "headerRowCount", r, "headerRowCount", e.INT_COPY), e.copyFromAttribute(t, "totalsRowCount", r, "totalsRowCount", e.INT_COPY), this.processTableColumns(e, t, r), this.processTableStyleInfo(e, t, r), e.copyFromAttribute(t, "id", r), e.copyFromAttribute(t, "comment", r, "description"), e.copyFromAttribute(t, "connectionId", r, "connectionId", e.INT_COPY), e.copyFromAttribute(t, "tableType", r), e.copyFromAttribute(t, "published", r, "published", e.BOOLEAN_COPY), e.copyFromAttribute(t, "insertRow", r, "insertRow", e.BOOLEAN_COPY), e.copyFromAttribute(t, "insertRowShift", r, "insertRowShift", e.BOOLEAN_COPY), r.totalsRowShown = t.getAttribute("totalsRowShown") !== "0", r;
|
|
1535
|
+
}
|
|
1536
|
+
afterVisit(e, t, n) {
|
|
1537
|
+
let r = n.v;
|
|
1538
|
+
if (e.evaluate("autoFilter", t)) {
|
|
1539
|
+
if (Array.isArray(r.hiddenButtons)) {
|
|
1540
|
+
let e = r.hiddenButtons.length;
|
|
1541
|
+
e === 0 ? r.hiddenButtons = !1 : e === r.columns?.length && (r.hiddenButtons = !0);
|
|
1542
|
+
}
|
|
1543
|
+
} else r.hiddenButtons = !0, r.showButtons = !1;
|
|
1544
|
+
return r;
|
|
1545
|
+
}
|
|
1546
|
+
processTableStyleInfo(e, t, n) {
|
|
1547
|
+
if (!t) return;
|
|
1548
|
+
let r = t.childNodes, i = {}, a = r.length;
|
|
1549
|
+
for (let t = 0; t < a; t++) {
|
|
1550
|
+
let n = r.item(t);
|
|
1551
|
+
n.nodeType === 1 && n.localName === "tableStyleInfo" && (e.copyFromAttribute(n, "name", i), e.copyFromAttribute(n, "showColumnStripes", i, "showColumnStripes", e.BOOLEAN_COPY), e.copyFromAttribute(n, "showFirstColumn", i, "showFirstColumn", e.BOOLEAN_COPY), e.copyFromAttribute(n, "showLastColumn", i, "showLastColumn", e.BOOLEAN_COPY), e.copyFromAttribute(n, "showRowStripes", i, "showRowStripes", e.BOOLEAN_COPY));
|
|
1552
|
+
}
|
|
1553
|
+
Object.keys(i).length > 0 && (n.style = i);
|
|
1554
|
+
}
|
|
1555
|
+
processTableColumn(e, t, n) {
|
|
1556
|
+
if (!t) return null;
|
|
1557
|
+
let r = t.childNodes, i = r.length;
|
|
1558
|
+
for (let t = 0; t < i; t++) {
|
|
1559
|
+
let i = r.item(t);
|
|
1560
|
+
if (i.nodeType === 1 && i.localName === "tableColumn") {
|
|
1561
|
+
let t = {};
|
|
1562
|
+
e.copyFromAttribute(i, "name", t), e.copyFromAttribute(i, "id", t), e.copyFromAttribute(i, "uniqueName", t), e.copyFromAttribute(i, "queryTableFieldId", t), e.copyFromAttribute(i, "totalsRowLabel", t);
|
|
1563
|
+
let r = i.getAttribute("totalsRowFunction");
|
|
1564
|
+
if (r !== null) if (r === "custom") {
|
|
1565
|
+
let n = e.evaluate("totalsRowFormula", i);
|
|
1566
|
+
n && (t.totalsRowFormula = n.textContent);
|
|
1567
|
+
} else t.totalsRowFormula = r;
|
|
1568
|
+
e.copyFromAttribute(i, "totalsRowLabel", t);
|
|
1569
|
+
let a = e.evaluate("calculatedColumnFormula", i);
|
|
1570
|
+
a?.textContent && (t.calculatedColumnFormula = a.textContent), n.push(t);
|
|
1571
|
+
}
|
|
1572
|
+
}
|
|
1573
|
+
return n;
|
|
1574
|
+
}
|
|
1575
|
+
processTableColumns(e, t, n) {
|
|
1576
|
+
let r = t.childNodes, i = [], a = r.length;
|
|
1577
|
+
for (let t = 0; t < a; t++) {
|
|
1578
|
+
let n = r.item(t);
|
|
1579
|
+
n.nodeType === 1 && n.localName === "tableColumns" && this.processTableColumn(e, n, i);
|
|
1580
|
+
}
|
|
1581
|
+
i.length > 0 && (n.columns = i);
|
|
1582
|
+
}
|
|
1583
|
+
},
|
|
1584
|
+
TableX14Visitor: class {
|
|
1585
|
+
visit(e, t, n) {
|
|
1586
|
+
let r = e.getVisitorParamsState().get("ref");
|
|
1587
|
+
if (r) {
|
|
1588
|
+
let n = e.getVisitorParamsState().get("descriptions");
|
|
1589
|
+
n && (n.add(r, t.getAttribute("altText")), n.add(r, t.getAttribute("altTextSummary")));
|
|
1590
|
+
}
|
|
1591
|
+
return e.copyFromAttribute(t, "altText", n), e.copyFromAttribute(t, "altTextSummary", n), n;
|
|
1592
|
+
}
|
|
1593
|
+
},
|
|
1594
|
+
ExternalLinkVisitor: class {
|
|
1595
|
+
visit(e, t, n) {
|
|
1596
|
+
let r = t.childNodes, i = r.length, a = null;
|
|
1597
|
+
for (let e = 0; e < i; e++) {
|
|
1598
|
+
let t = r.item(e);
|
|
1599
|
+
if (t.nodeType === 1) {
|
|
1600
|
+
t.localName === "externalBook" && (a = t);
|
|
1601
|
+
break;
|
|
1602
|
+
}
|
|
1603
|
+
}
|
|
1604
|
+
if (!a) return n;
|
|
1605
|
+
t.getAttribute("mc:Ignorable") && (n.mceIgnorable = !0);
|
|
1606
|
+
let o = a.getAttribute("r:id");
|
|
1607
|
+
o && (n.__bookRelId = o);
|
|
1608
|
+
let s = this._findAbsoluteUrlRelId(a);
|
|
1609
|
+
return s && (n.__absoluteUrlRelId = s), n.sheetNames = [], this.processSheetNames(e, a, n), this.processDefinedNames(e, a, n), this.processSheetDataSet(e, a, n), n;
|
|
1610
|
+
}
|
|
1611
|
+
processSheetNames(e, t, n) {
|
|
1612
|
+
let r = this._findChild(t, "sheetNames");
|
|
1613
|
+
if (!r) return;
|
|
1614
|
+
let i = r.childNodes, a = i.length;
|
|
1615
|
+
for (let e = 0; e < a; e++) {
|
|
1616
|
+
let t = i.item(e);
|
|
1617
|
+
t.nodeType === 1 && t.localName === "sheetName" && n.sheetNames.push(t.getAttribute("val") ?? "");
|
|
1618
|
+
}
|
|
1619
|
+
}
|
|
1620
|
+
processDefinedNames(e, t, n) {
|
|
1621
|
+
let r = this._findChild(t, "definedNames");
|
|
1622
|
+
if (!r) return;
|
|
1623
|
+
let i = [], a = r.childNodes, o = a.length;
|
|
1624
|
+
for (let e = 0; e < o; e++) {
|
|
1625
|
+
let t = a.item(e);
|
|
1626
|
+
if (t.nodeType !== 1 || t.localName !== "definedName") continue;
|
|
1627
|
+
let n = t.getAttribute("name");
|
|
1628
|
+
if (!n) continue;
|
|
1629
|
+
let r = {
|
|
1630
|
+
name: n,
|
|
1631
|
+
refersTo: t.getAttribute("refersTo") ?? ""
|
|
1632
|
+
}, o = t.getAttribute("sheetId");
|
|
1633
|
+
o !== null && (r.sheetIndex = parseInt(o, 10)), i.push(r);
|
|
1634
|
+
}
|
|
1635
|
+
i.length > 0 && (n.definedNames = i);
|
|
1636
|
+
}
|
|
1637
|
+
processSheetDataSet(e, t, n) {
|
|
1638
|
+
let r = this._findChild(t, "sheetDataSet");
|
|
1639
|
+
if (!r) return;
|
|
1640
|
+
let i = [], a = r.childNodes, o = a.length;
|
|
1641
|
+
for (let t = 0; t < o; t++) {
|
|
1642
|
+
let n = a.item(t);
|
|
1643
|
+
if (n.nodeType !== 1 || n.localName !== "sheetData") continue;
|
|
1644
|
+
let r = n.getAttribute("sheetId");
|
|
1645
|
+
if (r === null) continue;
|
|
1646
|
+
let o = this.processSheetData(e, n);
|
|
1647
|
+
o.sheetIndex = parseInt(r, 10), n.getAttribute("refreshError") === "1" && (o.refreshError = !0), i.push(o);
|
|
1648
|
+
}
|
|
1649
|
+
i.length > 0 && (n.sheetDataSet = i);
|
|
1650
|
+
}
|
|
1651
|
+
processSheetData(e, t) {
|
|
1652
|
+
let n = new d.Builder(), r = t.childNodes, i = r.length;
|
|
1653
|
+
for (let e = 0; e < i; e++) {
|
|
1654
|
+
let t = r.item(e);
|
|
1655
|
+
if (t.nodeType !== 1 || t.localName !== "row") continue;
|
|
1656
|
+
let i = t.childNodes, o = i.length;
|
|
1657
|
+
for (let e = 0; e < o; e++) {
|
|
1658
|
+
let t = i.item(e);
|
|
1659
|
+
if (t.nodeType !== 1 || t.localName !== "cell") continue;
|
|
1660
|
+
let r = t.getAttribute("r");
|
|
1661
|
+
if (!r) continue;
|
|
1662
|
+
let o = a.fastStringToCell(r);
|
|
1663
|
+
if (o?.rowIndex === void 0 || o?.colIndex === void 0) continue;
|
|
1664
|
+
let s = this._readCellValue(t);
|
|
1665
|
+
s !== void 0 && n.pushAt(o.rowIndex, o.colIndex, s);
|
|
1666
|
+
}
|
|
1667
|
+
}
|
|
1668
|
+
return {
|
|
1669
|
+
sheetIndex: -1,
|
|
1670
|
+
data: n.build()?.tuples ?? []
|
|
1671
|
+
};
|
|
1672
|
+
}
|
|
1673
|
+
_readCellValue(e) {
|
|
1674
|
+
let n = this._findChild(e, "v")?.textContent?.trim();
|
|
1675
|
+
if (n !== void 0 && n !== "") switch (e.getAttribute("t")) {
|
|
1676
|
+
case null:
|
|
1677
|
+
case "n": return parseFloat(n);
|
|
1678
|
+
case "b": return n === "1" || n === "true";
|
|
1679
|
+
case "str":
|
|
1680
|
+
default: return n;
|
|
1681
|
+
case "e": {
|
|
1682
|
+
let e = t.getBuiltInByLabel(n);
|
|
1683
|
+
return e ? {
|
|
1684
|
+
t: "e",
|
|
1685
|
+
v: e.getCode()
|
|
1686
|
+
} : n;
|
|
1687
|
+
}
|
|
1688
|
+
}
|
|
1689
|
+
}
|
|
1690
|
+
_findChild(e, t) {
|
|
1691
|
+
let n = e.childNodes, r = n.length;
|
|
1692
|
+
for (let e = 0; e < r; e++) {
|
|
1693
|
+
let r = n.item(e);
|
|
1694
|
+
if (r.nodeType === 1 && r.localName === t) return r;
|
|
1695
|
+
}
|
|
1696
|
+
return null;
|
|
1697
|
+
}
|
|
1698
|
+
_findAbsoluteUrlRelId(e) {
|
|
1699
|
+
let t = this._findChild(e, "alternateUrls");
|
|
1700
|
+
return t ? this._findChild(t, "absoluteUrl")?.getAttribute("r:id") ?? null : null;
|
|
1701
|
+
}
|
|
1702
|
+
},
|
|
1703
|
+
SlicerCacheDefinitionVisitor: class {
|
|
1704
|
+
visit(e, t, n) {
|
|
1705
|
+
e.copyFromAttribute(t, "name", n), e.copyFromAttribute(t, "sourceName", n);
|
|
1706
|
+
let r = e.evaluate("*/tableSlicerCache", t);
|
|
1707
|
+
return r ? (e.copyFromAttribute(r, "tableId", n), e.copyFromAttribute(r, "column", n, "columnId"), e.copyFromAttribute(r, "crossFilter", n), n) : (e.warn("A slicer names no table; it was not imported.", { onceKey: "xlsx.slicer.cacheDefinition" }), n);
|
|
1708
|
+
}
|
|
1709
|
+
},
|
|
1710
|
+
SlicersVisitor: class {
|
|
1711
|
+
visit(e, t, n) {
|
|
1712
|
+
let r = n.slicers;
|
|
1713
|
+
r || (r = {}, n.slicers = r);
|
|
1714
|
+
let i = t.childNodes, a = i.length;
|
|
1715
|
+
for (let t = 0; t < a; t++) {
|
|
1716
|
+
let n = i.item(t);
|
|
1717
|
+
n.nodeType === 1 && n.localName === "slicer" && this.processSlicer(e, n, r);
|
|
1718
|
+
}
|
|
1719
|
+
return r;
|
|
1720
|
+
}
|
|
1721
|
+
processSlicer(e, t, n) {
|
|
1722
|
+
if (!t) return;
|
|
1723
|
+
let r = {};
|
|
1724
|
+
n[t.getAttribute("name")] = r;
|
|
1725
|
+
let i = t.getAttribute("cache"), a = e.getVisitorParamsState().get("slicerCaches");
|
|
1726
|
+
if (i) {
|
|
1727
|
+
let e = a.get(i);
|
|
1728
|
+
e && (r.columnId = e.columnId, r.tableId = e.tableId);
|
|
1729
|
+
}
|
|
1730
|
+
e.copyFromAttribute(t, "caption", r), e.copyFromAttribute(t, "startItem", r, "startItem", e.INT_COPY), e.copyFromAttribute(t, "columnCount", r, "columnCount", e.INT_COPY), e.copyFromAttribute(t, "showCaption", r, "showCaption", e.BOOLEAN_COPY), e.copyFromAttribute(t, "level", r, "level", e.INT_COPY), e.copyFromAttribute(t, "style", r), e.copyFromAttribute(t, "locked", r, "locked", e.BOOLEAN_COPY), e.copyFromAttribute(t, "rowHeight", r, "rowHeight", e.INT_COPY);
|
|
1731
|
+
}
|
|
1732
|
+
},
|
|
1733
|
+
FormControlPrVisitor: class {
|
|
1734
|
+
visit(e, t, n) {
|
|
1735
|
+
let r = {}, i = t.attributes;
|
|
1736
|
+
for (let e = 0; e < i.length; e++) {
|
|
1737
|
+
let t = i.item(e), n = t.name;
|
|
1738
|
+
n === "xmlns" || n.startsWith("xmlns:") || (r[n] = t.value);
|
|
1739
|
+
}
|
|
1740
|
+
let a, o = [], s = t.childNodes;
|
|
1741
|
+
for (let t = 0; t < s.length; t++) {
|
|
1742
|
+
let n = s.item(t);
|
|
1743
|
+
if (n.nodeType === 1) if (n.localName === "itemLst") {
|
|
1744
|
+
let e = n.childNodes;
|
|
1745
|
+
for (let t = 0; t < e.length; t++) {
|
|
1746
|
+
let n = e.item(t);
|
|
1747
|
+
n.nodeType === 1 && n.localName === "item" && o.push(n.getAttribute("val") ?? "");
|
|
1748
|
+
}
|
|
1749
|
+
} else n.localName === "extLst" && (a = e.serializeElement(n) ?? void 0);
|
|
1750
|
+
}
|
|
1751
|
+
let c = b(r, o, a);
|
|
1752
|
+
return n.formControl = c, c;
|
|
1753
|
+
}
|
|
1754
|
+
},
|
|
1755
|
+
DrawingVisitor: class {
|
|
1756
|
+
visit(e, t, n) {
|
|
1757
|
+
return n;
|
|
1758
|
+
}
|
|
1759
|
+
afterVisit(e, t, n) {
|
|
1760
|
+
for (let e of n?.movables ?? []) {
|
|
1761
|
+
let t = e.content;
|
|
1762
|
+
if (t?.type !== "shape" || !t.json) continue;
|
|
1763
|
+
let n = t.json.rotation;
|
|
1764
|
+
n !== void 0 && (delete t.json.rotation, n !== 0 && (e.rotation = n));
|
|
1765
|
+
}
|
|
1766
|
+
}
|
|
1767
|
+
},
|
|
1768
|
+
DrawingAnchorVisitor: class {
|
|
1769
|
+
visit(e, t, n) {
|
|
1770
|
+
if (!t) return;
|
|
1771
|
+
let r = {};
|
|
1772
|
+
return e.copyFromAttribute(t, "editAs", r, "anchorType"), r.anchor = {}, t.localName === "absoluteAnchor" ? (r.anchorType = "absolute", this.processAbsoluteCoord(e, e.evaluate("xdr:pos", t), r.anchor, "from", "x", "y"), this.processAbsoluteCoord(e, e.evaluate("xdr:ext", t), r.anchor, "to", "cx", "cy")) : t.localName === "oneCellAnchor" ? (this.processOffsetCoord(e, e.evaluate("from", t), r.anchor, "from"), this.processAbsoluteCoord(e, e.evaluate("xdr:ext", t), r.anchor, "to", "cx", "cy")) : (this.processOffsetCoord(e, e.evaluate("from", t), r.anchor, "from"), this.processOffsetCoord(e, e.evaluate("to", t), r.anchor, "to")), n.movables ||= [], n.movables.push(r), r;
|
|
1773
|
+
}
|
|
1774
|
+
processAbsoluteCoord(e, t, n, r, i, a) {
|
|
1775
|
+
if (!t) return;
|
|
1776
|
+
let o = {
|
|
1777
|
+
x: 0,
|
|
1778
|
+
y: 0
|
|
1779
|
+
};
|
|
1780
|
+
return o.x = T(t.getAttribute(i)), o.y = T(t.getAttribute(a)), r === "from" ? n.tl = o : n.br = o, n;
|
|
1781
|
+
}
|
|
1782
|
+
processOffsetCoord(e, t, n, r) {
|
|
1783
|
+
if (!t) return;
|
|
1784
|
+
let i = {
|
|
1785
|
+
c: 0,
|
|
1786
|
+
r: 0,
|
|
1787
|
+
x: 0,
|
|
1788
|
+
y: 0
|
|
1789
|
+
};
|
|
1790
|
+
return e.evaluate("col", t) && (i.c = parseInt(e.evaluate("col", t).textContent)), e.evaluate("row", t) && (i.r = parseInt(e.evaluate("row", t).textContent)), e.evaluate("colOff", t) && (i.x = T(e.evaluate("colOff", t).textContent)), e.evaluate("rowOff", t) && (i.y = T(e.evaluate("rowOff", t).textContent)), r === "from" ? n.tl = i : n.br = i, n;
|
|
1791
|
+
}
|
|
1792
|
+
},
|
|
1793
|
+
DrawingGraphicFrameVisitor: class extends q {
|
|
1794
|
+
visit(e, t, n) {
|
|
1795
|
+
if (!t) return;
|
|
1796
|
+
if (this.isGroupContent(n)) {
|
|
1797
|
+
let r = this.readChildHeader(e, t, "graphicFrame");
|
|
1798
|
+
return n.children.push(r), r;
|
|
1799
|
+
}
|
|
1800
|
+
n = super.visit(e, t, n);
|
|
1801
|
+
let r = e.evaluate("nvGraphicFramePr/cNvGraphicFramePr", t);
|
|
1802
|
+
if (r) {
|
|
1803
|
+
let t = e.evaluate("graphicFrameLocks", r);
|
|
1804
|
+
if (t) {
|
|
1805
|
+
t.hasAttribute("noChangeAspect") && (n.lockAspect = t.getAttribute("noChangeAspect") === "1");
|
|
1806
|
+
let e = {};
|
|
1807
|
+
Object.keys(e).length > 0 && (n.locks = e);
|
|
1808
|
+
}
|
|
1809
|
+
}
|
|
1810
|
+
let i = {
|
|
1811
|
+
type: "graphicFrame",
|
|
1812
|
+
json: {}
|
|
1813
|
+
}, a = e.evaluate("graphic/graphicData", t).childNodes, o = a.length;
|
|
1814
|
+
for (let n = 0; n < o; n++) {
|
|
1815
|
+
let r = a.item(n);
|
|
1816
|
+
if (r.nodeType === 1) try {
|
|
1817
|
+
let n = r.localName;
|
|
1818
|
+
n === "chart" ? n = "chart" : n === "slicer" && (n = "slicer"), i.type = n;
|
|
1819
|
+
let a = r.getAttribute("r:id");
|
|
1820
|
+
if (n === "chart" && a) {
|
|
1821
|
+
let n = e.evaluate("*/cNvPr", t);
|
|
1822
|
+
n?.item && (n = n.item(0));
|
|
1823
|
+
let r = n?.getAttribute?.("id"), o = r ? parseInt(r, 10) : void 0;
|
|
1824
|
+
i.json = {
|
|
1825
|
+
xml: e.serializeElement(t) ?? void 0,
|
|
1826
|
+
sourceId: o === void 0 || isNaN(o) ? void 0 : o,
|
|
1827
|
+
part: e.readEmbeddedPart(a) ?? void 0
|
|
1828
|
+
};
|
|
1829
|
+
} else a && (i.json = e.getRef(a));
|
|
1830
|
+
} catch (t) {
|
|
1831
|
+
e.warn(`Unable to read a graphic frame: ${t?.message ?? t}`, { onceKey: "xlsx.drawing.graphicFrame" });
|
|
1832
|
+
}
|
|
1833
|
+
}
|
|
1834
|
+
return i && this.setContent(n, i), i;
|
|
1835
|
+
}
|
|
1836
|
+
},
|
|
1837
|
+
DrawingSpVisitor: J,
|
|
1838
|
+
DrawingPicVisitor: class extends q {
|
|
1839
|
+
constructor(...e) {
|
|
1840
|
+
super(...e), this._fills = new g();
|
|
1841
|
+
}
|
|
1842
|
+
visit(e, t, n) {
|
|
1843
|
+
if (!t) return;
|
|
1844
|
+
if (this.isGroupContent(n)) {
|
|
1845
|
+
let r = this.readChildHeader(e, t, f.Type.Picture);
|
|
1846
|
+
return this.readPictureDetails(e, t, r), n.children.push(r), r;
|
|
1847
|
+
}
|
|
1848
|
+
let r = super.visit(e, t, n), i = e.evaluate("nvPicPr/cNvPicPr", t);
|
|
1849
|
+
if (i) {
|
|
1850
|
+
e.copyFromAttribute(t, "preferRelativeResize", r, "preferRelativeResize", e.BOOLEAN_COPY);
|
|
1851
|
+
let n = e.evaluate("picLocks", i);
|
|
1852
|
+
if (n) {
|
|
1853
|
+
n.hasAttribute("noChangeAspect") && (r.lockAspect = n.getAttribute("noChangeAspect") === "1");
|
|
1854
|
+
let t = {};
|
|
1855
|
+
e.copyFromAttribute(n, "noChangeArrowheads", r, "noChangeArrowheads", e.BOOLEAN_COPY), e.copyFromAttribute(n, "noChangeShapeType", r, "noChangeShapeType", e.BOOLEAN_COPY), e.copyFromAttribute(n, "noEditPoints", r, "noEditPoints", e.BOOLEAN_COPY), e.copyFromAttribute(n, "noAdjustHandles", r, "noAdjustHandles", e.BOOLEAN_COPY), e.copyFromAttribute(n, "noCrop", r, "noCrop", e.BOOLEAN_COPY), e.copyFromAttribute(n, "noGrp", r, "noGrp", e.BOOLEAN_COPY), e.copyFromAttribute(n, "noMove", r, "noMove", e.BOOLEAN_COPY), e.copyFromAttribute(n, "noResize", r, "noResize", e.BOOLEAN_COPY), e.copyFromAttribute(n, "noRot", r, "noRot", e.BOOLEAN_COPY), e.copyFromAttribute(n, "noSelect", r, "noSelect", e.BOOLEAN_COPY), Object.keys(t).length > 0 && (r.locks = t);
|
|
1856
|
+
}
|
|
1857
|
+
}
|
|
1858
|
+
let a = this.readImageResource(e, t);
|
|
1859
|
+
if (a === null) return;
|
|
1860
|
+
let o = { resId: a };
|
|
1861
|
+
return this.setContent(n, {
|
|
1862
|
+
type: "picture",
|
|
1863
|
+
json: o
|
|
1864
|
+
}), r;
|
|
1865
|
+
}
|
|
1866
|
+
readPictureDetails(e, t, n) {
|
|
1867
|
+
let r = t.getAttribute("macro");
|
|
1868
|
+
r && (n.macro = r), t.hasAttribute("fPublished") && (n.published = N(t.getAttribute("fPublished")));
|
|
1869
|
+
let i = this.readLocks(e.evaluate("nvPicPr/cNvPicPr/picLocks", t));
|
|
1870
|
+
i && (n.locks = i);
|
|
1871
|
+
let a = e.evaluate("blipFill", t);
|
|
1872
|
+
a && (n.fill = this._fills.processImageFill(e, a));
|
|
1873
|
+
}
|
|
1874
|
+
readImageResource(e, t) {
|
|
1875
|
+
let n = e.evaluate("blipFill/blip", t);
|
|
1876
|
+
if (!n) return;
|
|
1877
|
+
let r = n.getAttribute("r:embed") ?? n.getAttribute("embed");
|
|
1878
|
+
return r ||= n.getAttribute("r:link") ?? n.getAttribute("link"), r ? e.getRef(r, !0) : (e.warn("A picture names no image; it was not imported.", { onceKey: "xlsx.drawing.picture.noRel" }), null);
|
|
1879
|
+
}
|
|
1880
|
+
},
|
|
1881
|
+
DrawingGrpSpVisitor: class extends J {
|
|
1882
|
+
visit(e, t, n) {
|
|
1883
|
+
if (!t) return;
|
|
1884
|
+
let r = this.isGroupContent(n), i = this.visitShape(e, t, n, "grpSp", "nvGrpSpPr/cNvGrpSpPr/grpSpLocks");
|
|
1885
|
+
if (i?.type === f.Type.Group) {
|
|
1886
|
+
i.children = [];
|
|
1887
|
+
let n = e.evaluate("grpSpPr/xfrm", t);
|
|
1888
|
+
if (n) {
|
|
1889
|
+
ee(n, i), n.getAttribute("flipH") === "1" && (i.flipH = !0), n.getAttribute("flipV") === "1" && (i.flipV = !0);
|
|
1890
|
+
let t = Y(e, n, "chOff", "chExt");
|
|
1891
|
+
t && (i.childBounds = t);
|
|
1892
|
+
let a = r || !t ? Y(e, n, "off", "ext") : null;
|
|
1893
|
+
a && (i.bounds = a);
|
|
1894
|
+
}
|
|
1895
|
+
}
|
|
1896
|
+
return i;
|
|
1897
|
+
}
|
|
1898
|
+
},
|
|
1899
|
+
DrawingCxnSpVisitor: class extends J {
|
|
1900
|
+
visit(e, t, n) {
|
|
1901
|
+
if (t) return this.visitShape(e, t, n, "cxnSp", "nvCxnSpPr/cNvCxnSpPr/cxnSpLocks");
|
|
1902
|
+
}
|
|
1903
|
+
},
|
|
1904
|
+
MetadataVisitor: class {
|
|
1905
|
+
visit(e, t, n) {
|
|
1906
|
+
let r = [], i = /* @__PURE__ */ new Map(), a = {
|
|
1907
|
+
cells: [],
|
|
1908
|
+
values: []
|
|
1909
|
+
}, o = t.childNodes;
|
|
1910
|
+
for (let e = 0; e < o.length; e++) {
|
|
1911
|
+
let t = o.item(e);
|
|
1912
|
+
if (t.nodeType === 1) switch (t.localName) {
|
|
1913
|
+
case "metadataTypes":
|
|
1914
|
+
this._parseMetadataTypes(t, r, i);
|
|
1915
|
+
break;
|
|
1916
|
+
case "futureMetadata":
|
|
1917
|
+
this._attachFutureMetadata(t, i);
|
|
1918
|
+
break;
|
|
1919
|
+
case "cellMetadata":
|
|
1920
|
+
this._resolveBlocks(t, r, a.cells);
|
|
1921
|
+
break;
|
|
1922
|
+
case "valueMetadata": this._resolveBlocks(t, r, a.values);
|
|
1923
|
+
}
|
|
1924
|
+
}
|
|
1925
|
+
return n.metadata = a, a;
|
|
1926
|
+
}
|
|
1927
|
+
_parseMetadataTypes(e, t, n) {
|
|
1928
|
+
let r = e.childNodes;
|
|
1929
|
+
for (let e = 0; e < r.length; e++) {
|
|
1930
|
+
let i = r.item(e);
|
|
1931
|
+
if (i.nodeType === 1 && i.localName === "metadataType") {
|
|
1932
|
+
let e = this._parseMetadataType(i);
|
|
1933
|
+
t.push(e), n.set(e.name, e);
|
|
1934
|
+
}
|
|
1935
|
+
}
|
|
1936
|
+
}
|
|
1937
|
+
_parseMetadataType(e) {
|
|
1938
|
+
let t = {
|
|
1939
|
+
name: e.getAttribute("name") ?? "",
|
|
1940
|
+
_blocks: []
|
|
1941
|
+
}, n = e.getAttribute("minSupportedVersion");
|
|
1942
|
+
n != null && (t.minSupportedVersion = Number(n));
|
|
1943
|
+
for (let n of [
|
|
1944
|
+
"copy",
|
|
1945
|
+
"pasteAll",
|
|
1946
|
+
"pasteValues",
|
|
1947
|
+
"merge",
|
|
1948
|
+
"splitFirst",
|
|
1949
|
+
"splitAll",
|
|
1950
|
+
"rowColShift",
|
|
1951
|
+
"clearFormats",
|
|
1952
|
+
"clearComments",
|
|
1953
|
+
"assign",
|
|
1954
|
+
"coerce",
|
|
1955
|
+
"cellMeta",
|
|
1956
|
+
"adjust",
|
|
1957
|
+
"trans",
|
|
1958
|
+
"delete",
|
|
1959
|
+
"edit"
|
|
1960
|
+
]) e.getAttribute(n) === "1" && (t[n] = !0);
|
|
1961
|
+
return t;
|
|
1962
|
+
}
|
|
1963
|
+
_attachFutureMetadata(e, t) {
|
|
1964
|
+
let n = e.getAttribute("name") ?? "", r = t.get(n);
|
|
1965
|
+
if (!r) return;
|
|
1966
|
+
let i = e.childNodes;
|
|
1967
|
+
for (let e = 0; e < i.length; e++) {
|
|
1968
|
+
let t = i.item(e);
|
|
1969
|
+
t.nodeType === 1 && t.localName === "bk" && r._blocks.push(this._parseFutureBlock(t));
|
|
1970
|
+
}
|
|
1971
|
+
}
|
|
1972
|
+
_parseFutureBlock(e) {
|
|
1973
|
+
let t = {}, n = e.childNodes;
|
|
1974
|
+
for (let e = 0; e < n.length; e++) {
|
|
1975
|
+
let r = n.item(e);
|
|
1976
|
+
if (r.nodeType !== 1 || r.localName !== "extLst") continue;
|
|
1977
|
+
let i = r.childNodes;
|
|
1978
|
+
for (let e = 0; e < i.length; e++) {
|
|
1979
|
+
let n = i.item(e);
|
|
1980
|
+
if (n.nodeType !== 1 || n.localName !== "ext") continue;
|
|
1981
|
+
let r = n.childNodes;
|
|
1982
|
+
for (let e = 0; e < r.length; e++) {
|
|
1983
|
+
let n = r.item(e);
|
|
1984
|
+
n.nodeType === 1 && (n.localName === "dynamicArrayProperties" ? (t.fDynamic = n.getAttribute("fDynamic") === "1", t.fCollapsed = n.getAttribute("fCollapsed") === "1") : n.localName === "rvb" && (t.richValueIndex = Number(n.getAttribute("i") ?? "0")));
|
|
1985
|
+
}
|
|
1986
|
+
}
|
|
1987
|
+
}
|
|
1988
|
+
return t;
|
|
1989
|
+
}
|
|
1990
|
+
_resolveBlocks(e, t, n) {
|
|
1991
|
+
let r = e.childNodes;
|
|
1992
|
+
for (let e = 0; e < r.length; e++) {
|
|
1993
|
+
let i = r.item(e);
|
|
1994
|
+
i.nodeType === 1 && i.localName === "bk" && n.push(this._resolveBlock(i, t));
|
|
1995
|
+
}
|
|
1996
|
+
}
|
|
1997
|
+
_resolveBlock(e, t) {
|
|
1998
|
+
let n = /* @__PURE__ */ new Map(), r = e.childNodes;
|
|
1999
|
+
for (let e = 0; e < r.length; e++) {
|
|
2000
|
+
let i = r.item(e);
|
|
2001
|
+
if (i.nodeType !== 1 || i.localName !== "rc") continue;
|
|
2002
|
+
let a = Number(i.getAttribute("t")), o = Number(i.getAttribute("v")), s = t[a - 1];
|
|
2003
|
+
if (!s) continue;
|
|
2004
|
+
let { _blocks: c, ...l } = s, u = { ...l };
|
|
2005
|
+
for (let e of Object.keys(u)) u[e] === void 0 && delete u[e];
|
|
2006
|
+
let d = c[o];
|
|
2007
|
+
d && (d.fDynamic !== void 0 && (u.fDynamic = d.fDynamic, u.fCollapsed = d.fCollapsed ?? !1), d.richValueIndex !== void 0 && (u.richValueIndex = d.richValueIndex)), n.set(s.name, u);
|
|
2008
|
+
}
|
|
2009
|
+
return n;
|
|
2010
|
+
}
|
|
2011
|
+
},
|
|
2012
|
+
RichValueStructureVisitor: class {
|
|
2013
|
+
visit(e, t, n) {
|
|
2014
|
+
let r = e.getVisitorParamsState().get(X);
|
|
2015
|
+
r || (r = [], e.getVisitorParamsState().set(X, r));
|
|
2016
|
+
let i = t.childNodes, a = i.length;
|
|
2017
|
+
for (let t = 0; t < a; t++) {
|
|
2018
|
+
let n = i.item(t);
|
|
2019
|
+
if (n.nodeType === 1 && n.localName === "s") {
|
|
2020
|
+
let t = {
|
|
2021
|
+
type: n.getAttribute("t") ?? "n",
|
|
2022
|
+
keys: []
|
|
2023
|
+
};
|
|
2024
|
+
this.processKeys(e, n, t), r.push(t);
|
|
2025
|
+
}
|
|
2026
|
+
}
|
|
2027
|
+
return n.richTypes = r, r;
|
|
2028
|
+
}
|
|
2029
|
+
processKeys(e, t, n) {
|
|
2030
|
+
let r = t.childNodes, i = r.length, a = n.keys;
|
|
2031
|
+
for (let e = 0; e < i; e++) {
|
|
2032
|
+
let t = r.item(e);
|
|
2033
|
+
if (t.nodeType === 1 && t.localName === "k") {
|
|
2034
|
+
let e = t.getAttribute("n"), n = t.getAttribute("t");
|
|
2035
|
+
a.push([e, n]);
|
|
2036
|
+
}
|
|
2037
|
+
}
|
|
2038
|
+
}
|
|
2039
|
+
},
|
|
2040
|
+
RichValueDataVisitor: class {
|
|
2041
|
+
visit(e, t, n) {
|
|
2042
|
+
let r = e.getVisitorParamsState().get("richTypes");
|
|
2043
|
+
if (!r) return void e.warn("RichValueFound but not type.");
|
|
2044
|
+
let i = e.getVisitorParamsState().get(Z);
|
|
2045
|
+
i || (i = [], e.getVisitorParamsState().set(Z, i));
|
|
2046
|
+
let a = t.childNodes, o = a.length;
|
|
2047
|
+
for (let t = 0; t < o; t++) {
|
|
2048
|
+
let n = a.item(t);
|
|
2049
|
+
if (n.nodeType === 1 && n.localName === "rv") {
|
|
2050
|
+
let t = r[n.getAttribute("s")], a = { type: t.type };
|
|
2051
|
+
this.processValues(e, n, a, t);
|
|
2052
|
+
let o = this.mapType(e, a);
|
|
2053
|
+
i.push(o);
|
|
2054
|
+
}
|
|
2055
|
+
}
|
|
2056
|
+
return n.richData = i, i;
|
|
2057
|
+
}
|
|
2058
|
+
mapType(e, n) {
|
|
2059
|
+
if (n.type === "_error") {
|
|
2060
|
+
let e = n.errorType;
|
|
2061
|
+
if (e) try {
|
|
2062
|
+
n = t.getBuiltInByCode(e + 1) ?? t.BuiltIn.Unknown;
|
|
2063
|
+
} catch {}
|
|
2064
|
+
}
|
|
2065
|
+
return n;
|
|
2066
|
+
}
|
|
2067
|
+
processValues(e, t, n, r) {
|
|
2068
|
+
let i = t.childNodes, a = i.length;
|
|
2069
|
+
r.type;
|
|
2070
|
+
let o = r.keys;
|
|
2071
|
+
for (let t = 0; t < a; t++) {
|
|
2072
|
+
let r = i.item(t);
|
|
2073
|
+
if (r.nodeType === 1 && r.localName === "v") {
|
|
2074
|
+
let i = o[t];
|
|
2075
|
+
if (!i) return void e.warn("Invalid richData");
|
|
2076
|
+
let a = i[0], s = i[1], c = r.textContent;
|
|
2077
|
+
s === "i" && (c = Number(c)), n[a] = c;
|
|
2078
|
+
}
|
|
2079
|
+
}
|
|
2080
|
+
}
|
|
2081
|
+
},
|
|
2082
|
+
CommentsVisitor: class {
|
|
2083
|
+
visit(e, t, n) {
|
|
2084
|
+
if (!t) return;
|
|
2085
|
+
let r = [];
|
|
2086
|
+
this.processAuthors(e, e.evaluate("authors", t), r), r.length > 0 && (n.authors = r);
|
|
2087
|
+
let i = [];
|
|
2088
|
+
return n.comments = i, i;
|
|
2089
|
+
}
|
|
2090
|
+
processAuthors(e, t, n) {
|
|
2091
|
+
if (!t) return;
|
|
2092
|
+
let r = t.childNodes, i = r.length;
|
|
2093
|
+
for (let e = 0; e < i; e++) {
|
|
2094
|
+
let t = r.item(e);
|
|
2095
|
+
if (t.nodeType === 1 && t.localName === "author") {
|
|
2096
|
+
let e = t.firstChild;
|
|
2097
|
+
e && e.nodeType === 3 && n.push(e.textContent);
|
|
2098
|
+
}
|
|
2099
|
+
}
|
|
2100
|
+
}
|
|
2101
|
+
},
|
|
2102
|
+
CommentVisitor: class {
|
|
2103
|
+
visit(e, t, n) {
|
|
2104
|
+
if (!t) return;
|
|
2105
|
+
let r = t.getAttribute("ref");
|
|
2106
|
+
if (!r) return;
|
|
2107
|
+
let i = { content: "" };
|
|
2108
|
+
if (t.hasAttribute("authorId")) {
|
|
2109
|
+
let e = parseInt(t.getAttribute("authorId"), 10);
|
|
2110
|
+
isNaN(e) || (i.authorId = e);
|
|
2111
|
+
}
|
|
2112
|
+
return i.content = function(e) {
|
|
2113
|
+
if (!e) return "";
|
|
2114
|
+
let t = [], n = !0, r = e.childNodes;
|
|
2115
|
+
for (let e = 0; e < r.length; e++) {
|
|
2116
|
+
let i = r.item(e);
|
|
2117
|
+
if (i.nodeType === 1) {
|
|
2118
|
+
if (i.localName === "t") t.push({ text: i.textContent ?? "" });
|
|
2119
|
+
else if (i.localName === "r") {
|
|
2120
|
+
let e = { text: "" }, r = i.childNodes;
|
|
2121
|
+
for (let t = 0; t < r.length; t++) {
|
|
2122
|
+
let n = r.item(t);
|
|
2123
|
+
if (n.nodeType === 1) {
|
|
2124
|
+
if (n.localName === "t") e.text += n.textContent ?? "";
|
|
2125
|
+
else if (n.localName === "rPr") {
|
|
2126
|
+
let t = oe(n);
|
|
2127
|
+
t && (e.font = t);
|
|
2128
|
+
}
|
|
2129
|
+
}
|
|
2130
|
+
}
|
|
2131
|
+
e.font && (n = !1), t.push(e);
|
|
2132
|
+
}
|
|
2133
|
+
}
|
|
2134
|
+
}
|
|
2135
|
+
return t.length === 0 ? e.textContent ?? "" : n ? t.map((e) => e.text).join("") : { runs: t };
|
|
2136
|
+
}(e.evaluate("text", t)), n.push({
|
|
2137
|
+
r,
|
|
2138
|
+
v: i
|
|
2139
|
+
}), i;
|
|
2140
|
+
}
|
|
2141
|
+
},
|
|
2142
|
+
ThreadedCommentsVisitor: class {
|
|
2143
|
+
visit(e, t, n) {
|
|
2144
|
+
if (!t) return;
|
|
2145
|
+
let r = [];
|
|
2146
|
+
return n.comments = r, r;
|
|
2147
|
+
}
|
|
2148
|
+
},
|
|
2149
|
+
ThreadedCommentVisitor: class {
|
|
2150
|
+
visit(e, t, n) {
|
|
2151
|
+
if (!t) return;
|
|
2152
|
+
let r = {};
|
|
2153
|
+
e.copyFromAttribute(t, "id", r, "id", I);
|
|
2154
|
+
let i = t.getAttribute("ref");
|
|
2155
|
+
e.copyFromAttribute(t, "personId", r, "personId", I), e.copyFromAttribute(t, "parentId", r, "parentId", I);
|
|
2156
|
+
let a = t.getAttribute("dT");
|
|
2157
|
+
a && (r.dt = function(e) {
|
|
2158
|
+
let t = /^(.*T\d{2}:\d{2}:\d{2})(?:\.(\d+))?(Z|[+-]\d{2}:?\d{2})?$/i.exec(e.trim());
|
|
2159
|
+
if (!t) return e;
|
|
2160
|
+
let [, n, r, i] = t;
|
|
2161
|
+
return `${n}${r ? `.${(r + "00").substring(0, 3)}` : ""}${i ?? "Z"}`;
|
|
2162
|
+
}(a)), t.hasAttribute("done") && (r.done = N(t.getAttribute("done")));
|
|
2163
|
+
let o = function(e) {
|
|
2164
|
+
let t, n = e.childNodes;
|
|
2165
|
+
for (let e = 0; e < n.length; e++) {
|
|
2166
|
+
let r = n.item(e);
|
|
2167
|
+
if (r.nodeType !== 1 || r.localName !== "mentions") continue;
|
|
2168
|
+
let i = r.childNodes;
|
|
2169
|
+
for (let e = 0; e < i.length; e++) {
|
|
2170
|
+
let n = i.item(e);
|
|
2171
|
+
if (n.nodeType !== 1 || n.localName !== "mention") continue;
|
|
2172
|
+
let r = n.getAttribute("mentionId"), a = n.getAttribute("mentionpersonId");
|
|
2173
|
+
if (!r || !a) continue;
|
|
2174
|
+
let o = {
|
|
2175
|
+
id: I(r),
|
|
2176
|
+
personId: I(a)
|
|
2177
|
+
}, s = parseInt(n.getAttribute("startIndex") ?? "", 10);
|
|
2178
|
+
isNaN(s) || (o.startIndex = s);
|
|
2179
|
+
let c = parseInt(n.getAttribute("length") ?? "", 10);
|
|
2180
|
+
isNaN(c) || (o.length = c), (t ??= []).push(o);
|
|
2181
|
+
}
|
|
2182
|
+
}
|
|
2183
|
+
return t;
|
|
2184
|
+
}(t);
|
|
2185
|
+
return o && (r.mentions = o), n.push({
|
|
2186
|
+
r: i,
|
|
2187
|
+
v: r
|
|
2188
|
+
}), r;
|
|
2189
|
+
}
|
|
2190
|
+
},
|
|
2191
|
+
PersonListVisitor: class {
|
|
2192
|
+
visit(e, t, n) {
|
|
2193
|
+
let r = [], i = t.childNodes, a = i.length;
|
|
2194
|
+
for (let t = 0; t < a; t++) {
|
|
2195
|
+
let n = i.item(t);
|
|
2196
|
+
if (n.nodeType === 1 && n.localName === "person") {
|
|
2197
|
+
let t = {};
|
|
2198
|
+
e.copyFromAttribute(n, "id", t, "id", I), e.copyFromAttribute(n, "displayName", t), e.copyFromAttribute(n, "userId", t, "userId", I), e.copyFromAttribute(n, "providerId", t), r.push(t);
|
|
2199
|
+
}
|
|
2200
|
+
}
|
|
2201
|
+
return r.length > 0 && (n.persons = r), r;
|
|
2202
|
+
}
|
|
2203
|
+
}
|
|
2204
|
+
}, se = class {
|
|
2205
|
+
constructor(e, t) {
|
|
2206
|
+
this.path = e, this.visitor = t;
|
|
2207
|
+
}
|
|
2208
|
+
}, ce = class {
|
|
2209
|
+
constructor() {
|
|
2210
|
+
this.visitorsByXmlTagName = /* @__PURE__ */ new Map(), this.scopedVisitorsByXmlTagName = /* @__PURE__ */ new Map(), this.visitorParamsState = null, this.registerVisitor("Relationships", new $.RelsVisitor()), this.registerVisitor("cp:coreProperties", new $.CorePropertiesVisitor()), this.registerVisitor("Properties", new $.AppPropertiesVisitor()), this.registerVisitor("spPr", new $.ShapePropertiesVisitor()), this.registerVisitor("txBody", new $.ShapeTextVisitor()), this.registerVisitor("txPr", new $.TextPropertiesVisitor()), this.registerVisitor("c:chartSpace", new $.ChartSpaceVisitor()), this.registerVisitor("c:plotArea", new $.PlotAreaVisitor()), this.registerVisitor("c:barChart", new $.BarChartTypeVisitor()), this.registerVisitor("c:doughnutChart", new $.ChartTypeVisitor()), this.registerVisitor("c:lineChart", new $.ChartTypeVisitor()), this.registerVisitor("c:ofPieType", new $.ChartTypeVisitor()), this.registerVisitor("c:pieChart", new $.ChartTypeVisitor()), this.registerVisitor("c:scatterChart", new $.ChartTypeVisitor()), this.registerVisitor("c:barChart", new $.DataLabelsVisitor("dataLabels"), "dLbls"), this.registerVisitor("c:doughnutChart", new $.DataLabelsVisitor("dataLabels"), "dLbls"), this.registerVisitor("c:lineChart", new $.DataLabelsVisitor("dataLabels"), "dLbls"), this.registerVisitor("c:ofPieType", new $.DataLabelsVisitor("dataLabels"), "dLbls"), this.registerVisitor("c:pieChart", new $.DataLabelsVisitor("dataLabels"), "dLbls"), this.registerVisitor("c:scatterChart", new $.DataLabelsVisitor("dataLabels"), "dLbls"), this.registerVisitor("c:ser", new $.SeriesVisitor()), this.registerVisitor("c:dPt", new $.DataPointVisitor()), this.registerVisitor("c:marker", new $.MarkerVisitor()), this.registerVisitor("c:catAx", new $.AxisVisitor()), this.registerVisitor("c:valAx", new $.AxisVisitor()), this.registerVisitor("c:dateAx", new $.AxisVisitor()), this.registerVisitor("c:majorGridlines", new B("gridLinesMajor")), this.registerVisitor("c:minorGridlines", new B("gridLinesMinor")), this.registerVisitor("c:chartSpace", null, "txPr"), this.registerVisitor("c:catAx", new $.TextPropertiesVisitor("labels.text"), "txPr"), this.registerVisitor("c:valAx", new $.TextPropertiesVisitor("labels.text"), "txPr"), this.registerVisitor("c:dateAx", new $.TextPropertiesVisitor("labels.text"), "txPr"), this.registerVisitor("c:legend", new $.LegendVisitor()), this.registerVisitor("c:legend", new $.TextPropertiesVisitor("labels.text"), "txPr"), this.registerVisitor("c:legendEntry", new $.LegendEntryVisitor()), this.registerVisitor("c:ser", new $.NegativeShapeVisitor(), "extLst/ext/invertSolidFillFmt/spPr"), this.registerVisitor("c:ser", new $.DataLabelsVisitor("labels"), "dLbls"), this.registerVisitor("c:dLbl", new $.DataLabelsVisitor("points")), this.registerVisitor("c:title", new $.TitleVisitor()), this.registerVisitor("c:title", null, "tx/rich"), this.registerVisitor("c:title", null, "txPr"), this.registerVisitor("c:layout", new $.LayoutVisitor()), this.registerVisitor("c:dispUnits", new B("dispUnits")), this.registerVisitor("c:dispUnitsLbl", new $.TitleVisitor("displayUnitsLabel")), this.registerVisitor("c:dispUnitsLbl", new $.TextPropertiesVisitor(), "tx/rich"), this.registerVisitor("a:theme", new $.ThemeVisitor()), this.registerVisitor("a:theme", new $.ClrSchemeVisitor(), "themeElements/clrScheme"), this.registerVisitor("a:theme", new $.FontSchemeVisitor(), "themeElements/fontScheme"), this.registerVisitor("a:theme", new $.FmtSchemeVisitor(), "themeElements/fmtScheme"), this.registerVisitor("autoFilter", new $.AutoFilterVisitor()), this.registerVisitor("sortState", new $.SortStateVisitor()), this.registerVisitor("s:workbook", new $.WorkbookVisitor()), this.registerVisitor("styleSheet", new $.SheetStyleVisitor()), this.registerVisitor("x14:table", new $.TableX14Visitor()), this.registerVisitor("table", new $.TableVisitor()), this.registerVisitor("externalLink", new $.ExternalLinkVisitor()), this.registerVisitor("wsDr", new $.DrawingVisitor()), this.registerVisitor("twoCellAnchor", new $.DrawingAnchorVisitor()), this.registerVisitor("oneCellAnchor", new $.DrawingAnchorVisitor()), this.registerVisitor("absoluteAnchor", new $.DrawingAnchorVisitor()), this.registerVisitor("graphicFrame", new $.DrawingGraphicFrameVisitor()), this.registerVisitor("sp", new $.DrawingSpVisitor()), this.registerVisitor("grpSp", new $.DrawingGrpSpVisitor()), this.registerVisitor("cxnSp", new $.DrawingCxnSpVisitor()), this.registerVisitor("pic", new $.DrawingPicVisitor()), this.registerVisitor("metadata", new $.MetadataVisitor()), this.registerVisitor("rvStructures", new $.RichValueStructureVisitor()), this.registerVisitor("rvData", new $.RichValueDataVisitor()), this.registerVisitor("comments", new $.CommentsVisitor()), this.registerVisitor("comment", new $.CommentVisitor()), this.registerVisitor("ThreadedComments", new $.ThreadedCommentsVisitor()), this.registerVisitor("threadedComment", new $.ThreadedCommentVisitor()), this.registerVisitor("threadedComment", new $.TextPropertiesVisitor("content"), "text"), this.registerVisitor("personList", new $.PersonListVisitor()), this.registerVisitor("slicerCacheDefinition", new $.SlicerCacheDefinitionVisitor()), this.registerVisitor("slicers", new $.SlicersVisitor()), this.registerVisitor("formControlPr", new $.FormControlPrVisitor());
|
|
2211
|
+
}
|
|
2212
|
+
registerVisitor(e, t, n = null) {
|
|
2213
|
+
e.indexOf(":") === -1 && (e = "*:" + e);
|
|
2214
|
+
let r = e.split(":"), i = r.length > 1 ? r[1] : r[0];
|
|
2215
|
+
if (!n) return this.visitorsByXmlTagName.set(i, t), void this.visitorsByXmlTagName.set(e, t);
|
|
2216
|
+
let a = this.scopedVisitorsByXmlTagName.get(i);
|
|
2217
|
+
a || (a = [], this.scopedVisitorsByXmlTagName.set(i, a), this.scopedVisitorsByXmlTagName.set(e, a)), a.push(new se(n, t));
|
|
2218
|
+
}
|
|
2219
|
+
parseDxf(t, n = "", r = e.EmptyObject) {
|
|
2220
|
+
this.visitorParamsState ||= /* @__PURE__ */ new Map();
|
|
2221
|
+
let i = this.visitorParamsState, a = i.get("processingDXFs");
|
|
2222
|
+
i.set("processingDXFs", !0);
|
|
2223
|
+
try {
|
|
2224
|
+
let e = new z(null, this, "/dxf", t, {}, n, r), i = {};
|
|
2225
|
+
return new $.SheetStyleVisitor().processDXF(e, t, i), i;
|
|
2226
|
+
} finally {
|
|
2227
|
+
a === void 0 ? i.delete("processingDXFs") : i.set("processingDXFs", a);
|
|
2228
|
+
}
|
|
2229
|
+
}
|
|
2230
|
+
getVisitorParamsState() {
|
|
2231
|
+
return this.visitorParamsState;
|
|
2232
|
+
}
|
|
2233
|
+
transform(t, n, r = e.EmptyObject) {
|
|
2234
|
+
let i = t.documentElement;
|
|
2235
|
+
this.visitorParamsState && !r?.paramMap || (this.visitorParamsState = r?.paramMap ?? /* @__PURE__ */ new Map());
|
|
2236
|
+
let a = {}, o = this.visitorsByXmlTagName.get(i.nodeName);
|
|
2237
|
+
if (o ||= this.visitorsByXmlTagName.get(i.localName), !o) throw Error(`A visitor for the root element: '${i.nodeName}' or '${i.localName}' must be registered.`);
|
|
2238
|
+
let s = "/" + i.localName, c = new z(null, this, s, i, a, n, r), l = [];
|
|
2239
|
+
this._doWalk(o, c, l, i, a, n, r);
|
|
2240
|
+
let u = l.length;
|
|
2241
|
+
for (let e = 0; e < u; e++) {
|
|
2242
|
+
let t = l[e];
|
|
2243
|
+
try {
|
|
2244
|
+
t.visitor?.afterVisit?.(t.context, t.elemParent, t.jsonParent);
|
|
2245
|
+
} catch (e) {
|
|
2246
|
+
t.context.warn(`Unable to finish reading '${t.context.getPath()}': ${e?.message ?? e}`, { onceKey: "xlsx.transform.afterVisit" });
|
|
2247
|
+
}
|
|
2248
|
+
}
|
|
2249
|
+
return a;
|
|
2250
|
+
}
|
|
2251
|
+
_walkScoped(e, t, n, r, i, a, o) {
|
|
2252
|
+
let s = this.scopedVisitorsByXmlTagName.get(e), c = s ? s.length : 0;
|
|
2253
|
+
for (let l = 0; l < c; l++) {
|
|
2254
|
+
let c = s[l], u = null;
|
|
2255
|
+
try {
|
|
2256
|
+
u = t.evaluate(c.path, r);
|
|
2257
|
+
} catch {
|
|
2258
|
+
t.warn(`Invalid path '${c.path}' for '${e}'.`, { onceKey: "xlsx.transform.invalidPath" });
|
|
2259
|
+
}
|
|
2260
|
+
if (!u) continue;
|
|
2261
|
+
let d = (e) => {
|
|
2262
|
+
let s = e.localName, l = e.parentNode;
|
|
2263
|
+
for (; l && l !== r;) s = l.localName + "/" + s, l = l.parentNode;
|
|
2264
|
+
let u = t.getPath() + "/" + s;
|
|
2265
|
+
if (c.visitor) {
|
|
2266
|
+
let r = new z(t, this, u, t.getElemRoot(), t.getJsonRoot(), a, o);
|
|
2267
|
+
this._doWalk(c.visitor, r, n, e, i, a, o);
|
|
2268
|
+
}
|
|
2269
|
+
};
|
|
2270
|
+
if (u.length > 0) {
|
|
2271
|
+
let e = u, t = e.length;
|
|
2272
|
+
for (let n = 0; n < t; n++) d(e.item(n));
|
|
2273
|
+
} else d(u);
|
|
2274
|
+
}
|
|
2275
|
+
}
|
|
2276
|
+
_doWalk(e, t, n, r, i, a, o) {
|
|
2277
|
+
let s = null;
|
|
2278
|
+
e && (n.push({
|
|
2279
|
+
visitor: e,
|
|
2280
|
+
context: t,
|
|
2281
|
+
elemParent: r,
|
|
2282
|
+
jsonParent: i
|
|
2283
|
+
}), s = e.visit(t, r, i)), s ||= i;
|
|
2284
|
+
let c = r.localName;
|
|
2285
|
+
this._walkScoped(c, t, n, r, s, a, o);
|
|
2286
|
+
let l = this.visitorsByXmlTagName, u = t.getElemRoot(), d = t.getJsonRoot(), f = r.childNodes, p = f.length;
|
|
2287
|
+
for (let e = 0; e < p; e++) {
|
|
2288
|
+
let r = f.item(e);
|
|
2289
|
+
if (r.nodeType !== 1) continue;
|
|
2290
|
+
let c = r, p = c.nodeName, m = l.get(p);
|
|
2291
|
+
m ||= (p = c.localName, l.get(p));
|
|
2292
|
+
let h = t.getPath() + "/" + p, g = new z(t, this, h, u, d, a, o);
|
|
2293
|
+
this._doWalk(m, g, n, c, s ?? i, a, o);
|
|
2294
|
+
}
|
|
2295
|
+
return s;
|
|
2296
|
+
}
|
|
2297
|
+
};
|
|
2298
|
+
export { ce as DOMTransformer, z as ExecutionContext, m as NumberUtils, _ as VisitorUtils };
|