@sheetxl/mcp 0.8.0-beta.15 → 0.8.0-beta.16
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/LICENSE.md +8 -7
- package/assets/{OVRdpPUzR0-ueTxE.js → -PtBguqpLi7Nr4Df.js} +2 -2
- package/assets/{BOPsJmq7v7HOKUkO.js → 2GLqCzpAJP6jbaRx.js} +12 -12
- package/assets/{BPwmBu_aouERJjiW.js → 3_NofB4A4Qhl-4YY.js} +2 -2
- package/assets/{CGBGyaCGdlZFQYK0.js → 3t-I20nDzFHBd5UJ.js} +2 -2
- package/assets/{hulrR0PldUxMJm_F.js → 4vS8pASPZSU7QcRZ.js} +4 -4
- package/assets/{Bh0PNKlrR4VAqnP8.js → 5B_tapYOcjOv1wGO.js} +35528 -30074
- package/assets/{FS9NbEKgQvz5wqvZ.js → 8NrxfSWBHDaEJvhz.js} +2 -2
- package/assets/{oxjm7Yr7u7MeaO5P.js → 9MXt8KXdWlbEJNc2.js} +2 -2
- package/assets/{CduNzsdbTigxH-ZK.js → AjWB-QdIkr07kToW.js} +189 -189
- package/assets/{DvUUArnZwoYOKOuk.js → B16N6VSLY5HPgVkD.js} +2 -2
- package/assets/{C0CiMKC3lWK1z9p5.js → B2YEEPHIkNcezk9T.js} +3 -3
- package/assets/{CNz3LdmvsOEJoLO9.js → B3MqN3t5naY3moOk.js} +2 -2
- package/assets/BBPjYcS8XKQREith.js +199 -0
- package/assets/{B4VnJacrzr1x4PHR.js → BCSRsSAEPlwR59H5.js} +5 -5
- package/assets/{CMK6tIDVqYYvK4GZ.js → BIUUGUhypimIDg2a.js} +2 -2
- package/assets/{iujMYIEPx_v3sdPf.js → BNrpvJZtIL0Ex_wE.js} +996 -995
- package/assets/{DA_ar3QKLKtJ9fJD.js → BR66nPIzyzlOcP10.js} +2 -2
- package/assets/{CvngwB17_ve4W49b.js → BRLA4pJWiYdpW-69.js} +73 -73
- package/assets/{Crt2kLdGIlBHANgg.js → BUAq-ENCmL0XGLIu.js} +2 -2
- package/assets/{Bn8D2bebQ2tFfwQt.js → BYqyNLuwXl7GKuzh.js} +43 -41
- package/assets/{ZuYfVKlp41IJnrOS.js → BZbxPclVVopktv3l.js} +2 -2
- package/assets/{Cf9LpgZz-W5blzy_.js → B_nQLUWaxp-Q1IfV.js} +3 -3
- package/assets/{BbcUxIZe3YXywsQR.js → BbDKWV_FQAICqZjP.js} +2 -2
- package/assets/{B2udpZ-uIaql3AUh.js → BbXlmp8W_cbr75FN.js} +6 -6
- package/assets/{CxjchwpiqxPM1XKd.js → BdMebk9YSA0oxQ_d.js} +70 -70
- package/assets/{JO3zH9hupFSV6vj2.js → Bdt9nQs8gDIzu_IG.js} +2 -2
- package/assets/{Cf2dcwmmmf13Rywg.js → BiE9M6RctwQ339_7.js} +2 -2
- package/assets/{BJxfinOazQqqByc-.js → BiGm1tKvxUh8oWbD.js} +2 -2
- package/assets/{DH7sGHzxUqIQkDnd.js → BjDsx_FHl0mShqHX.js} +2 -2
- package/assets/{DB-tkqI6wFXDKEfB.js → BlIrJwQGEASCgJdZ.js} +2 -2
- package/assets/{DD8HNAUFroTCuD-b.js → BlWfQ5HPEehB_lPz.js} +3288 -2130
- package/assets/BpgPKKZwxXklRyo7.js +7 -0
- package/assets/{D7oUtYjetuykGhQ5.js → BrtLeTsrulaU6osB.js} +2 -2
- package/assets/{LyLlBk--VJD2V-f8.js → BsFWmVYPrLyh5Dre.js} +34 -34
- package/assets/{DJiLWtmPR2OQNjzi.js → BtNRIFE92ka4hATo.js} +2 -2
- package/assets/{DKLm4nWzynGw1Kr9.js → BuhHuKVWppW4L8AV.js} +2 -2
- package/assets/{C4z2IilWTuu2TWXw.js → C-AIgWmHugqMcl9J.js} +3 -3
- package/assets/{U1XXGEPuuqIAzYl1.js → C-gN7uBg-MWHRo4g.js} +2 -2
- package/assets/{vZZi_iKYHm05gAye.js → C0JSC9gVwR1QxopD.js} +2 -2
- package/assets/{Cfhv_Yw_LT8VzAMt.js → C2dG4GHThf9O-IJy.js} +2 -2
- package/assets/{Cg51xaLRUkVOMdCZ.js → C3Wibs7QGFZ1FI7W.js} +2 -2
- package/assets/{BuUEsifnQALe49uk.js → C75i_5ip7OhGkuiF.js} +2 -2
- package/assets/{DDnwKPJSznyfYDZS.js → C95HXhZkkhnUx_aE.js} +3 -3
- package/assets/{CWl6oHiJxkNKRixk.js → CAEhAL7-0FG7jdzN.js} +2 -2
- package/assets/{D-ffk16w8c5w0mxI.js → CAMrW5ypKhgn105y.js} +2 -2
- package/assets/{B-MqXm_7luDLwazY.js → CBPkPTmeaEokFPSI.js} +2 -2
- package/assets/{xnhBSX6lAcmBM65y.js → CDqG64rXHp9-2tXr.js} +2 -2
- package/assets/{ClNQN3vEg5b5qUDp.js → CFdJvXLSbUrvNera.js} +2435 -2447
- package/assets/{PpFbmF0DFeUdpb9I.js → CG8zvnxueimOY7wm.js} +2 -2
- package/assets/{BsQZI1vXTRE63Zy-.js → CIqJdIUKSLZkNwHy.js} +345 -235
- package/assets/{_fUXIv6nKvgZkhxn.js → CJa8JVvKGVBz8Q7q.js} +3 -3
- package/assets/{CwPBmcY6xSP8dNlh.js → CK9h6iDOreaI8GEt.js} +12 -12
- package/assets/CL1-ziDI0aAaVbhJ.js +7 -0
- package/assets/{C7ONfuYIWRmDu_vs.js → CVRc6jQcH155Z89u.js} +2 -2
- package/assets/{B9US2ZrF93KOjmAx.js → CVbRpT7QPHOMgwTx.js} +2 -2
- package/assets/CW-ivE6pl3V7vKuT.js +2563 -0
- package/assets/{F_f0jJqM5MrXGbwC.js → CX-6eYkcr5y0VmQm.js} +4 -4
- package/assets/{BlPubAFi7DY7VrAo.js → CZepo1lDTQp1myg6.js} +2 -2
- package/assets/{D8J14MLlN2HRXdXB.js → C_0RM0w6Pw70Bx_Y.js} +2 -2
- package/assets/{C2OrZ8LZ-TI6eYG0.js → Ci7-PIIhZwb2mVv5.js} +2 -2
- package/assets/{BleMG0hAQgjE8fTa.js → Cl98sBOj9GM2XnFe.js} +3 -3
- package/assets/{DwWngYJTgC0KLbih.js → CoIjAX2gECGb3Wxl.js} +2 -2
- package/assets/{DcWTBOi_iBFc6U4J.js → Co_y6GfwJTYtOmlt.js} +8 -8
- package/assets/{BQMDOjNBMjAx9WiW.js → CrwtgrD7BbXyCkx0.js} +2 -2
- package/assets/{CJ5WQnaoCsdr5gf4.js → CsjjeeOHE2624pGt.js} +2 -2
- package/assets/Ct5VTtdW77k-WcP_.js +529 -0
- package/assets/{DwLZpYUp85UHBE3H.js → CvJkwRgwm80S2bcd.js} +2 -2
- package/assets/{fDMpDhXp36CatF-G.js → D-irgQZ2WmkP9dnK.js} +2 -2
- package/assets/{BFdeov2e_xUQPEY_.js → D1g6IOzdvInVLV-x.js} +7 -7
- package/assets/{Btys7KwtvV3hz2F6.js → D2YdqNWXwSHJMPbA.js} +109 -109
- package/assets/{BQbF1RkUH8WyXqSD.js → D3bxrF1Ys2GSVfQH.js} +25 -19
- package/assets/{wfVh0olISLRWdv9Q.js → D7iU4kaxzl_PojNt.js} +2 -2
- package/assets/{DTfl-4Iboi6TQU5m.js → D7ibkNIu_Pn4TeBD.js} +4 -4
- package/assets/DBANZf_eAzaCFdIj.js +4676 -0
- package/assets/{DoILAmhKUOlKWRVw.js → DBMZF6PRHCko9K9R.js} +2 -2
- package/assets/{BFXeoFUbuc4IKTz9.js → DEIkGoOZ_WeuY0Lj.js} +2 -2
- package/assets/{xmTQJJVyCrcq77WR.js → DFAqI-o57Kd_Azlt.js} +2 -2
- package/assets/{BtjqpAKczftx91BQ.js → DFn_thWGK0_EZI5k.js} +2 -2
- package/assets/{DlBdhv6NHgrNp5Yo.js → DFvs1LVzXKm1N5M2.js} +3 -3
- package/assets/{DVchxwp6w6lu2Ihu.js → DJdRl2yX9DP_D8kh.js} +3 -3
- package/assets/{BG5kgbDRXMc0re6W.js → DKRa_Oc4XqB3DABB.js} +9 -9
- package/assets/{BZPTaa0WjpoUAbgZ.js → DLhlBqwsDnmscAuL.js} +2 -2
- package/assets/{BRzp6DEIYUgM3NkN.js → DMhtIFfkX-DZT_e3.js} +4 -4
- package/assets/{DpdHDTFOeuzDVNEe.js → DNhfziNrJGdL8BYs.js} +78 -77
- package/assets/{jadLBUNBVR9mbZ35.js → DOZ40EyxD3m0gCos.js} +809 -494
- package/assets/{SHZe9VOU1prGs1F9.js → DQcus4X_kTKIIyX6.js} +2 -2
- package/assets/{C7Z1li2XjWi6bkrp.js → DR9xHYH6v5G0lOqf.js} +4 -4
- package/assets/{DsCI_ZYm_jDjXF3J.js → DTLbKr_XIJMwQJmk.js} +52 -52
- package/assets/{_d5XJ7dn1CKKYrep.js → DaILIYfy-jPVTXjz.js} +3 -3
- package/assets/{S16s2h9qoYVBlVEa.js → Dd8CHUZz7xuYTfp-.js} +1444 -1356
- package/assets/{B5lHOOQ_rkP4Mi2r.js → DdrsYdX3bLixdb_9.js} +2 -2
- package/assets/DfWWAHOjmhqvN3m_.js +7166 -0
- package/assets/{9U9XCqqdn-q3i2fj.js → DfzLOnWTNL_2J90y.js} +2 -2
- package/assets/{BTQhJQ3e0hsiousD.js → Dg4JXbd1yPGNZOtL.js} +2 -2
- package/assets/Di4ehJD7muvtcrN3.js +169 -0
- package/assets/{BbAmA46MhQSu3ZF_.js → DmLbqbAez7Dzwyl7.js} +2 -2
- package/assets/{CudNpUD78SrtJIiy.js → Dp-dLoOaBndV2N5i.js} +3 -3
- package/assets/DsTi7zHk_Xl37bAD.js +14 -0
- package/assets/{Diee6f_qAmcZBd2_.js → DvFwVzuc5YfagNnH.js} +2 -2
- package/assets/{D0CHDsemn0S31ltt.js → Dy67BUF2yd8VRPwL.js} +2 -2
- package/assets/{LEJp05fjmflKgyqF.js → DzkccbbE6iXMqQDO.js} +451 -447
- package/assets/{B7gUyrfLln3TiyKM.js → Gqh12ggLm5KlvN3v.js} +2 -2
- package/assets/{BjqQjxBuoXza8oqg.js → JC8UUcu6m23qqrr3.js} +3 -4
- package/assets/{ChWpsFGl-BYOnX_A.js → LwFDS0HxPZKiiEnN.js} +2 -2
- package/assets/{BeLr36oL3jmeXFFi.js → POdlv6cpSx6ftJxx.js} +2 -2
- package/assets/{CMWAsUQ66V8fYrME.js → QVWayvB03YMyTKt3.js} +3 -3
- package/assets/{Dz8UUJ7Xc2oN5PBG.js → SB2aKOIVln0EkgXR.js} +2 -2
- package/assets/SaCo3me4_hw2b1L4.js +2039 -0
- package/assets/{CecTe22WURiXbVdY.js → TNQaiw20sEAEUiK5.js} +386 -372
- package/assets/{jPUOH4FHF4b-rapv.js → W2FU69Pfo4chpqtk.js} +2 -2
- package/assets/{CXHslDxkWCuEcCSQ.js → YXC__Myl-BuIFW6s.js} +2 -2
- package/assets/{DPCKMM7sgWbrtB8z.js → Z01wJImjl6lBMpf4.js} +2 -2
- package/assets/{C97xDe_wBbLZh_uW.js → h6EQSu5n2vTsu2yd.js} +2 -2
- package/assets/{FzNG48GE_wso6RII.js → iULnLPcNKVpz00r7.js} +2 -2
- package/assets/{DEW2GxfGYqVFvrfg.js → iqQWGoJaPha0_8lU.js} +2 -2
- package/assets/{BrcQmHcE7Hcr1erJ.js → nDmE2I07HvkpRdR0.js} +2 -2
- package/assets/{Bg95xYj5siqhHVEz.js → nmB0nnkFQf5NWo0i.js} +3 -3
- package/assets/{BCy1zP97fsiIcvj6.js → pQUJKbHGetb7dcOr.js} +2 -2
- package/assets/{B2Ek-DWpZMGJ0V1Z.js → rfwqMukKbJBeJBuC.js} +3 -3
- package/assets/{By-7OWXShMlFFejV.js → soSlr334Fv1j5t2m.js} +2 -2
- package/index.js +2010 -1944
- package/lib.js +2 -2
- package/licenses/dependencies.txt +259 -194
- package/package.json +4 -9
- package/resources/locales/@sheetxl/sdk/de/model.msg.json +82 -1
- package/resources/locales/@sheetxl/sdk/en/model.msg.json +80 -1
- package/screenshot-page/assets/{CSUd8n1H0VBfREnk.js → -N4OYIMgf6f5vgNy.js} +1 -1
- package/screenshot-page/assets/{B4PbXdzBe9BsoZ0e.js → B7eQ3rE-7Vayb_4O.js} +1 -1
- package/screenshot-page/assets/B8i4Sr2kMQAXp0rb.js +4 -0
- package/screenshot-page/assets/{DQWHkaQeNXft9j8b.js → B8qybUclSjEYP5FJ.js} +2 -2
- package/screenshot-page/assets/BIHbD4jMsk3NetOd.js +1 -0
- package/screenshot-page/assets/BIrVK5hdDCUYmxGO.js +1 -0
- package/screenshot-page/assets/{l32n8O_A78Qqduv3.js → BJ2r2WfEL3SgkBAX.js} +1 -1
- package/screenshot-page/assets/BJviQwDXR5L6l1DA.js +1 -0
- package/screenshot-page/assets/BM78thqEW6HwXFAK.js +13 -0
- package/screenshot-page/assets/{BcOdl17EeFSxnAiq.js → BMf827t1Ul65MHd5.js} +1 -1
- package/screenshot-page/assets/BMwQInar0xVS5FRu.js +1 -0
- package/screenshot-page/assets/{BUjI304IvdJnFXH3.js → BU5S8KEzPmIA_Flm.js} +1 -1
- package/screenshot-page/assets/{D6Jpaz2YkhOfzxDB.js → BYQZ8o8k3-MDoNat.js} +1 -1
- package/screenshot-page/assets/{CZf9s6otzzoaBlSs.js → BftXEPOuf5Uwxpud.js} +1 -1
- package/screenshot-page/assets/Bir0SSOHX0w2yo8h.js +1 -0
- package/screenshot-page/assets/{CykecBozGGFl26KA.js → Btgo0VFTT0JxuaP3.js} +74 -68
- package/screenshot-page/assets/C2H2lX8eyKpxpP6M.js +2 -0
- package/screenshot-page/assets/{B-KIwD5F_5S-NsPg.js → C71ZZMVLfHdPl441.js} +1 -1
- package/screenshot-page/assets/CFfgJlXaIS8QMx5O.js +1 -0
- package/screenshot-page/assets/{DGXDfjkGZjMRAXPg.js → CN8u05DjKwNHbUHN.js} +1 -1
- package/screenshot-page/assets/CQFj5AGXfIA9z9zI.js +1 -0
- package/screenshot-page/assets/{gG0AFZ45VxS_moMw.js → CRsTnamLrPN5-Dsi.js} +1 -1
- package/screenshot-page/assets/CYfkL98Zu43S8-50.js +42 -0
- package/screenshot-page/assets/{DXQLzGmxoyN3kfQi.js → CZa1rha3RnQUWyOk.js} +7 -7
- package/screenshot-page/assets/{CpbohdgEaEsVDi9J.js → C_vPl50T1L5HWnhv.js} +1 -1
- package/screenshot-page/assets/{CbUDukmvDZmVfhJH.js → CfkssmHURDicfYvR.js} +1 -1
- package/screenshot-page/assets/{Bj-vfAT28PK-tWWa.js → CguXw0IcKNPbmAbj.js} +2 -2
- package/screenshot-page/assets/{DmbuCapSSCYIa3yk.js → ClzJdxlUDDtBYjH8.js} +1 -1
- package/screenshot-page/assets/{BTboCICZ-951XWsi.js → CqyMYduWKFvmMs_Z.js} +1 -1
- package/screenshot-page/assets/CzsoLbEIUVK5ia1C.js +1 -0
- package/screenshot-page/assets/D2IHCJ1QWDKwmhge.js +1 -0
- package/screenshot-page/assets/D6CzedWHXTesD55R.js +1 -0
- package/screenshot-page/assets/D7biuwkvm3zAwsBa.js +39 -0
- package/screenshot-page/assets/D8s3sJnhFxbI3Dqn.js +1 -0
- package/screenshot-page/assets/{hp_-JA1DMK4Yoztn.js → DDkL9PZPXAggW2Yr.js} +19 -19
- package/screenshot-page/assets/DEpn6VGd30cHEJOS.js +1 -0
- package/screenshot-page/assets/{CIged53b3hHKxa-o.js → DLFFFQjTi5Ji1940.js} +1 -1
- package/screenshot-page/assets/DMxrNtfw275en7pm.js +1 -0
- package/screenshot-page/assets/{CqR3hGrC956TkCMj.js → DRncpwDkZZX8rL9S.js} +1 -1
- package/screenshot-page/assets/DTrnAtpccj55fGg5.js +1 -0
- package/screenshot-page/assets/D_kJ3WunvjIINcHC.js +1 -0
- package/screenshot-page/assets/{BFaiQZKle44Rhyou.js → D_rtIYQ7FDC2CoEn.js} +1 -1
- package/screenshot-page/assets/{Bf7xq8PyF4ohjMzP.js → Db6bZVJ-184DJIoe.js} +2 -2
- package/screenshot-page/assets/{DyLWQxXXTw5uwPVy.js → DeyRZ5rprDbRbuf4.js} +1 -1
- package/screenshot-page/assets/{D47ePD4x1lVazNdl.js → DgtqX4DiBgkepVZZ.js} +1 -1
- package/screenshot-page/assets/DhB6GjSJIeTmIODk.js +1 -0
- package/screenshot-page/assets/Dn5PwRw7rrTKNnql.js +586 -0
- package/screenshot-page/assets/{TfhknTx8vxQkw4zV.js → Dq7wGcTrNIshovlT.js} +2 -2
- package/screenshot-page/assets/{BUGXf2DEBog16Slb.js → DqXO_Zw1Cp7rAQ04.js} +2 -2
- package/screenshot-page/assets/{21oAESJyBGXeHegm.js → DtihumgXQ7ETaN0A.js} +2 -2
- package/screenshot-page/assets/DuYb_otrRZZDq6-f.js +2 -0
- package/screenshot-page/assets/DyiVrm8mEnEaoZHa.js +3 -0
- package/screenshot-page/assets/{BHqg55S-4_OoAu3P.js → LYyM_ig973jLdOU0.js} +2 -2
- package/screenshot-page/assets/TilS2JSBGVkd1za3.js +3 -0
- package/screenshot-page/assets/Tph2vYqw17-NBCtd.js +1 -0
- package/screenshot-page/assets/UKFgEuwI1UMhPqKF.js +2 -0
- package/screenshot-page/assets/XgsioU5Px1T5gKAY.js +1 -0
- package/screenshot-page/assets/cTMKPkmZF8FWQaMn.js +1 -0
- package/screenshot-page/assets/hlxJ87-H830aSZBQ.js +1 -0
- package/screenshot-page/assets/{DDQWM8rNYCYzKa9R.js → lgeNUp9cU20IAotv.js} +1 -1
- package/screenshot-page/assets/nM1r2xslndIMKlI2.js +2 -0
- package/screenshot-page/assets/{BSdFVGZNhU6YHbMI.js → rOzyaU7hqchMbhRL.js} +1 -1
- package/screenshot-page/index.html +12 -12
- package/screenshot-page/resources/locales/@sheetxl/sdk/de/model.msg.json +82 -1
- package/screenshot-page/resources/locales/@sheetxl/sdk/en/model.msg.json +80 -1
- package/types/scripting-api.json +9967 -9497
- package/types/scripting-enums.json +27 -0
- package/types/scripting.d.ts +2282 -166
- package/assets/BBb_3gEGzmEzbTIk.js +0 -359
- package/assets/BSxTn2BhkEEeF9x_.js +0 -2346
- package/assets/CWVWdbY1B1-WLl9k.js +0 -199
- package/assets/CZTSZL3T_f-vSXqM.js +0 -7
- package/assets/DaoSWy3EFlqpZaLr.js +0 -4437
- package/assets/Dht2mcOSyYlPY32b.js +0 -14
- package/assets/DkibD_CEVePaoj_y.js +0 -7
- package/assets/jiEe5eKV3BFPBWfi.js +0 -6294
- package/screenshot-page/assets/0MTaPYjKud2Q9QG9.js +0 -1
- package/screenshot-page/assets/B2MJPcMcsuv6FekC.js +0 -1
- package/screenshot-page/assets/BQfe-XTIOGeUnD9B.js +0 -1
- package/screenshot-page/assets/BTMW3ukmc44U2fy7.js +0 -1
- package/screenshot-page/assets/B_W2QroTKADz3ABp.js +0 -2
- package/screenshot-page/assets/BksaQEoZr5OWq-_d.js +0 -3
- package/screenshot-page/assets/BnoVwUBEor8NgQNs.js +0 -4
- package/screenshot-page/assets/BzQ5GyiXq8gTz-H-.js +0 -1
- package/screenshot-page/assets/C2Wh2h27c7FUb8Yk.js +0 -1
- package/screenshot-page/assets/C81mK8aZKZAAS-AB.js +0 -1
- package/screenshot-page/assets/Ca6nxdhEuLLty3d7.js +0 -2
- package/screenshot-page/assets/CwqNb7JYzC03lCj0.js +0 -1
- package/screenshot-page/assets/CzhH7lTYQrYGHct6.js +0 -1
- package/screenshot-page/assets/D66vSE1ConAuENmB.js +0 -586
- package/screenshot-page/assets/DCVUZ_ayOXFwV2d_.js +0 -3
- package/screenshot-page/assets/DFE-fKq5NV7_O8V6.js +0 -1
- package/screenshot-page/assets/DK_QSosKV62NDcuT.js +0 -42
- package/screenshot-page/assets/DTFRGj188QuLKEXw.js +0 -1
- package/screenshot-page/assets/DXWWyJlMSWgDFxs1.js +0 -10
- package/screenshot-page/assets/DZDRRw-62D6Zw7qs.js +0 -1
- package/screenshot-page/assets/DeAKjatTVaZ0u_FY.js +0 -1
- package/screenshot-page/assets/Dsx0NUmGIxS7SvZ8.js +0 -1
- package/screenshot-page/assets/IRtoU5oVgBWu9rnK.js +0 -2
- package/screenshot-page/assets/Q5EKmzoJZCE81Om-.js +0 -2
- package/screenshot-page/assets/VvqAh6BWzaD5OUPF.js +0 -1
- package/screenshot-page/assets/fGlPAximvsxzPzGA.js +0 -1
- package/screenshot-page/assets/rPOkVKdPbFpTG6AY.js +0 -1
- package/screenshot-page/assets/sHBomL5R4-_px8rD.js +0 -1
- package/screenshot-page/assets/skRJ2qjA7kcmnOsh.js +0 -39
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license @sheetxl/mcp - MCP server exposing SheetXL spreadsheet operations as tools and resources. - v0.8.0-beta.
|
|
2
|
+
* @license @sheetxl/mcp - MCP server exposing SheetXL spreadsheet operations as tools and resources. - v0.8.0-beta.16
|
|
3
3
|
*
|
|
4
4
|
* (C) 2026-present SheetXL Inc. & Michael T. Ford
|
|
5
|
-
* License:
|
|
5
|
+
* License: SheetXL EULA — https://www.sheetxl.com/eula
|
|
6
6
|
*/
|
|
7
|
-
import { ht as t } from "./
|
|
8
|
-
import {
|
|
9
|
-
import { d as a, m as c } from "./
|
|
10
|
-
import {
|
|
11
|
-
import { $ as f,
|
|
12
|
-
import "./
|
|
13
|
-
import { a as
|
|
14
|
-
var
|
|
7
|
+
import { ht as t } from "./CrwtgrD7BbXyCkx0.js";
|
|
8
|
+
import { Dt as e, F as o, G as s, Kt as r, k as i, lt as n, v as l } from "./BNrpvJZtIL0Ex_wE.js";
|
|
9
|
+
import { d as a, m as c } from "./D3bxrF1Ys2GSVfQH.js";
|
|
10
|
+
import { Dt as u, It as d, Ri as h, Yi as p, ti as m } from "./5B_tapYOcjOv1wGO.js";
|
|
11
|
+
import { $n as f, B as g, Bn as b, Cr as y, E as A, En as v, G as N, Hn as F, J as C, Ln as S, M as x, Mt as T, Nt as w, Pn as P, Q as I, Rt as O, S as k, Sn as V, St as _, T as B, Tt as L, V as D, Vt as E, Wn as R, Zn as j, _r as Y, cr as X, d as M, en as z, f as G, gr as W, h as $, i as H, ir as K, o as U, tr as q, tt as J, wn as Z, wr as Q, wt as tt, yr as et } from "./BlWfQ5HPEehB_lPz.js";
|
|
12
|
+
import "./DBANZf_eAzaCFdIj.js";
|
|
13
|
+
import { a as nt, c as lt, l as at, r as ct, s as ut } from "./CW-ivE6pl3V7vKuT.js";
|
|
14
|
+
var dt = class {
|
|
15
15
|
constructor(t) {
|
|
16
16
|
this.list = t;
|
|
17
17
|
}
|
|
@@ -37,13 +37,13 @@ var nt = class {
|
|
|
37
37
|
[Symbol.iterator]() {
|
|
38
38
|
return this.list.values();
|
|
39
39
|
}
|
|
40
|
-
},
|
|
40
|
+
}, ht = (t) => !0 === t || "1" === t || "on" === t || "true" === t || !1 !== t && "0" !== t && "off" !== t && "false" !== t && null, pt = (t) => {
|
|
41
41
|
const e = parseInt(t);
|
|
42
42
|
return isNaN(e) ? null : e;
|
|
43
|
-
},
|
|
43
|
+
}, mt = (t) => {
|
|
44
44
|
const e = parseFloat(t);
|
|
45
45
|
return isNaN(e) ? null : e;
|
|
46
|
-
},
|
|
46
|
+
}, ft = /* @__PURE__ */ new Map(), gt = class {
|
|
47
47
|
constructor(e, o, s, r, i, n = null, l = t.EmptyObject) {
|
|
48
48
|
this._fileLocation = "";
|
|
49
49
|
this._parent = e, this.sharedShared = o, this.currentPath = s, this.elemRoot = r, this.jsonRoot = i, e ? (this._fileLocation = e._fileLocation, this._getRef = e._getRef, this._getRefs = e._getRefs, this._serializeElement = e._serializeElement, this._readEmbeddedPart = e._readEmbeddedPart) : (n && (this._fileLocation = n), l?.getRef && (this._getRef = (t, e, o) => l?.getRef?.(t, e, o, l?.parsedRefs)), l?.getRefs && (this._getRefs = (t) => l?.getRefs?.(t, l?.parsedRefs)), this._onWarning = l?.onWarning, this._addPerson = l?.addPerson, this._serializeElement = l?.serializeElement, this._readEmbeddedPart = l?.readEmbeddedPart);
|
|
@@ -55,7 +55,7 @@ var nt = class {
|
|
|
55
55
|
return this._readEmbeddedPart?.(t, this._fileLocation) ?? null;
|
|
56
56
|
}
|
|
57
57
|
getRelationships() {
|
|
58
|
-
return this._getRefs?.(this._fileLocation) ??
|
|
58
|
+
return this._getRefs?.(this._fileLocation) ?? ft;
|
|
59
59
|
}
|
|
60
60
|
getPath() {
|
|
61
61
|
return this.currentPath;
|
|
@@ -114,7 +114,7 @@ var nt = class {
|
|
|
114
114
|
}
|
|
115
115
|
if (o = i, 0 === o.length) return null;
|
|
116
116
|
}
|
|
117
|
-
return 1 === o.length ? o[0] : 0 === o.length ? null : new
|
|
117
|
+
return 1 === o.length ? o[0] : 0 === o.length ? null : new dt(o);
|
|
118
118
|
}
|
|
119
119
|
_matchesElementName(t, e) {
|
|
120
120
|
return e.includes(":") ? (t.tagName || t.nodeName) === e : t.localName === e;
|
|
@@ -154,13 +154,13 @@ var nt = class {
|
|
|
154
154
|
return o && o.hasAttribute("val") ? parseFloat(o.getAttribute("val")) ?? null : null;
|
|
155
155
|
}
|
|
156
156
|
get BOOLEAN_COPY() {
|
|
157
|
-
return
|
|
157
|
+
return ht;
|
|
158
158
|
}
|
|
159
159
|
get INT_COPY() {
|
|
160
|
-
return
|
|
160
|
+
return pt;
|
|
161
161
|
}
|
|
162
162
|
get FLOAT_COPY() {
|
|
163
|
-
return
|
|
163
|
+
return mt;
|
|
164
164
|
}
|
|
165
165
|
copyFromAttribute(t, e, o, s = e, r = null) {
|
|
166
166
|
if (!t || !o || !t.hasAttribute(e)) return;
|
|
@@ -177,20 +177,20 @@ var nt = class {
|
|
|
177
177
|
}
|
|
178
178
|
this.setToPath(o, s, i);
|
|
179
179
|
}
|
|
180
|
-
},
|
|
180
|
+
}, bt = (t, e) => {
|
|
181
181
|
const o = [], s = t.childNodes, r = s.length;
|
|
182
182
|
for (let t = 0; t < r; t++) {
|
|
183
183
|
const r = s.item(t);
|
|
184
184
|
1 === r.nodeType && r.localName === e && o.push(r);
|
|
185
185
|
}
|
|
186
186
|
return o;
|
|
187
|
-
},
|
|
187
|
+
}, yt = [
|
|
188
188
|
["fillRef", "fill"],
|
|
189
189
|
["lnRef", "stroke"],
|
|
190
190
|
["effectRef", "effect"]
|
|
191
|
-
],
|
|
192
|
-
const o = new
|
|
193
|
-
for (const [r, i] of
|
|
191
|
+
], At = (t, e) => {
|
|
192
|
+
const o = new U(), s = {};
|
|
193
|
+
for (const [r, i] of yt) {
|
|
194
194
|
const n = t.evaluate(r, e);
|
|
195
195
|
if (!n) continue;
|
|
196
196
|
const l = { index: parseInt(n.getAttribute("idx") ?? "0", 10) || 0 }, a = o.processAdjColor(t, n);
|
|
@@ -202,7 +202,7 @@ var nt = class {
|
|
|
202
202
|
i && (e.color = i), s.font = e;
|
|
203
203
|
}
|
|
204
204
|
return s;
|
|
205
|
-
},
|
|
205
|
+
}, vt = class {
|
|
206
206
|
visit(t, e, o) {
|
|
207
207
|
if (!e) return;
|
|
208
208
|
let s = t.evaluate("*/cNvPr", e);
|
|
@@ -211,9 +211,9 @@ var nt = class {
|
|
|
211
211
|
readNonVisualDetails(t, e, o) {
|
|
212
212
|
e.hasAttribute("title") && (o.title = e.getAttribute("title"));
|
|
213
213
|
const s = t.evaluate("hlinkClick", e);
|
|
214
|
-
s && (o.hyperlink =
|
|
214
|
+
s && (o.hyperlink = D(t, s));
|
|
215
215
|
const r = t.evaluate("hlinkHover", e);
|
|
216
|
-
r && (o.hoverHyperlink =
|
|
216
|
+
r && (o.hoverHyperlink = D(t, r));
|
|
217
217
|
const i = t.evaluate("extLst", e), n = i ? t.serializeElement(i) : null;
|
|
218
218
|
n && (o.extLst = {
|
|
219
219
|
...o.extLst,
|
|
@@ -259,7 +259,7 @@ var nt = class {
|
|
|
259
259
|
readStyleRefs(t, e, o) {
|
|
260
260
|
const s = t.evaluate("style", e);
|
|
261
261
|
if (!s) return void (o.style = null);
|
|
262
|
-
const r =
|
|
262
|
+
const r = At(t, s), n = i.withoutDefaultStyleRefs({
|
|
263
263
|
...o,
|
|
264
264
|
style: r
|
|
265
265
|
});
|
|
@@ -271,7 +271,7 @@ var nt = class {
|
|
|
271
271
|
const o = {};
|
|
272
272
|
for (let t = 0; t < e.length; t++) {
|
|
273
273
|
const s = e.item(t);
|
|
274
|
-
s.name.startsWith("xmlns") || (o[s.localName ?? s.name] =
|
|
274
|
+
s.name.startsWith("xmlns") || (o[s.localName ?? s.name] = j(s.value));
|
|
275
275
|
}
|
|
276
276
|
return Object.keys(o).length > 0 ? o : void 0;
|
|
277
277
|
}
|
|
@@ -281,20 +281,20 @@ var nt = class {
|
|
|
281
281
|
const s = o?.getAttribute?.("id"), r = s ? parseInt(s, 10) : void 0;
|
|
282
282
|
return void 0 === r || isNaN(r) ? void 0 : r;
|
|
283
283
|
}
|
|
284
|
-
},
|
|
284
|
+
}, Nt = [
|
|
285
285
|
["spDef", "shape"],
|
|
286
286
|
["lnDef", "line"],
|
|
287
287
|
["txDef", "text"]
|
|
288
|
-
],
|
|
288
|
+
], Ft = (t, e) => {
|
|
289
289
|
const o = e.getAttribute("dxfId");
|
|
290
290
|
if (null === o) return;
|
|
291
291
|
const s = parseInt(o);
|
|
292
292
|
return t.getVisitorParamsState().get("dxfs")?.get(s) || (t.warn(`A color filter or sort names a format that does not exist (dxfId '${o}').`), {});
|
|
293
|
-
},
|
|
293
|
+
}, Ct = (t) => "1" === t || "true" === t, St = class {
|
|
294
294
|
visit(t, e, o) {}
|
|
295
295
|
processDataBarColor(t, e, o, s, r = "auto") {
|
|
296
296
|
if (!e) return;
|
|
297
|
-
const i =
|
|
297
|
+
const i = W((t) => e.getAttribute(t), r);
|
|
298
298
|
return i && (o[s] = i), o;
|
|
299
299
|
}
|
|
300
300
|
processFonts(t, e, o) {
|
|
@@ -312,16 +312,16 @@ var nt = class {
|
|
|
312
312
|
return o;
|
|
313
313
|
}
|
|
314
314
|
processFont(t, e, o) {
|
|
315
|
-
t.getValAttrAsBoolean("b", e, !0) && (o.weight = 700), t.getValAttrAsBoolean("i", e, !0) && (o.style = s.Style.Italic), t.getValAttrAsBoolean("strike", e, !0) && (o.strike =
|
|
315
|
+
t.getValAttrAsBoolean("b", e, !0) && (o.weight = 700), t.getValAttrAsBoolean("i", e, !0) && (o.style = s.Style.Italic), t.getValAttrAsBoolean("strike", e, !0) && (o.strike = N(!0));
|
|
316
316
|
const r = t.evaluate("u", e);
|
|
317
317
|
if (r) {
|
|
318
318
|
const t = r.getAttribute("val");
|
|
319
|
-
o.underline =
|
|
319
|
+
o.underline = B(t);
|
|
320
320
|
}
|
|
321
|
-
const i =
|
|
322
|
-
void 0 !== i && (o.baseline = i),
|
|
321
|
+
const i = J(t.evaluate("vertAlign", e)?.getAttribute("val"));
|
|
322
|
+
void 0 !== i && (o.baseline = i), q(t, e, o, "sz", "size");
|
|
323
323
|
const n = t.evaluate("color", e);
|
|
324
|
-
this.processDataBarColor(t, n, o, "color"), o.color || (o.color = "auto"),
|
|
324
|
+
this.processDataBarColor(t, n, o, "color"), o.color || (o.color = "auto"), P(t, e, o, "name", "family"), P(t, e, o, "rFont", "family");
|
|
325
325
|
const l = t.evaluate("family", e);
|
|
326
326
|
if (l) {
|
|
327
327
|
const t = l.getAttribute("val");
|
|
@@ -341,12 +341,12 @@ var nt = class {
|
|
|
341
341
|
case "5": o.fallbacks = ["fantasy"];
|
|
342
342
|
}
|
|
343
343
|
}
|
|
344
|
-
|
|
344
|
+
C(o, t.evaluate("scheme", e)?.getAttribute("val")), S(t, e, o, "shadow", "shadow", !0), S(t, e, o, "outline", "outline", !0);
|
|
345
345
|
for (const s of ["condense", "extend"]) {
|
|
346
|
-
const r =
|
|
346
|
+
const r = g(s, !!t.getValAttrAsBoolean(s, e, !0));
|
|
347
347
|
void 0 !== r && (o.letterSpacing = r);
|
|
348
348
|
}
|
|
349
|
-
return
|
|
349
|
+
return E(t, e, o, "charset", "charset"), o;
|
|
350
350
|
}
|
|
351
351
|
processFills(t, e, o) {
|
|
352
352
|
if (!e) return;
|
|
@@ -359,8 +359,8 @@ var nt = class {
|
|
|
359
359
|
}
|
|
360
360
|
return o;
|
|
361
361
|
}
|
|
362
|
-
processFill(t,
|
|
363
|
-
const i = { type:
|
|
362
|
+
processFill(t, e, s, r) {
|
|
363
|
+
const i = { type: o.Type.None }, n = e.childNodes;
|
|
364
364
|
let l = !1;
|
|
365
365
|
const a = n.length;
|
|
366
366
|
for (let e = 0; !l && e < a; e++) {
|
|
@@ -369,21 +369,21 @@ var nt = class {
|
|
|
369
369
|
}
|
|
370
370
|
return s[r] = i, s;
|
|
371
371
|
}
|
|
372
|
-
processGradientFill(t,
|
|
373
|
-
if (!
|
|
374
|
-
s.type =
|
|
372
|
+
processGradientFill(t, e, s) {
|
|
373
|
+
if (!e) return;
|
|
374
|
+
s.type = o.Type.Gradient;
|
|
375
375
|
const r = [];
|
|
376
376
|
s.stops = r;
|
|
377
|
-
const i =
|
|
377
|
+
const i = e.getAttribute("type");
|
|
378
378
|
i && (s.gradientType = i);
|
|
379
|
-
const n =
|
|
380
|
-
(n + 90) % 360 != 0 && (s.angle = (n + 90) % 360), (
|
|
381
|
-
left:
|
|
382
|
-
top:
|
|
383
|
-
right:
|
|
384
|
-
bottom:
|
|
379
|
+
const n = e.hasAttribute("degree") ? parseFloat(e.getAttribute("degree")) : 0;
|
|
380
|
+
(n + 90) % 360 != 0 && (s.angle = (n + 90) % 360), (e.hasAttribute("left") || e.hasAttribute("top") || e.hasAttribute("right") || e.hasAttribute("bottom")) && (s.focus = {
|
|
381
|
+
left: xt(e.getAttribute("left")),
|
|
382
|
+
top: xt(e.getAttribute("top")),
|
|
383
|
+
right: xt(e.getAttribute("right")),
|
|
384
|
+
bottom: xt(e.getAttribute("bottom"))
|
|
385
385
|
});
|
|
386
|
-
const l =
|
|
386
|
+
const l = e.childNodes, a = l.length;
|
|
387
387
|
for (let e = 0; e < a; e++) {
|
|
388
388
|
const o = l.item(e);
|
|
389
389
|
if (1 === o.nodeType && "stop" === o.localName) {
|
|
@@ -395,21 +395,21 @@ var nt = class {
|
|
|
395
395
|
}
|
|
396
396
|
return s;
|
|
397
397
|
}
|
|
398
|
-
processPatternFill(t,
|
|
399
|
-
if (!
|
|
400
|
-
const r = t.getVisitorParamsState().get("processingDXFs"), i =
|
|
401
|
-
if (i ===
|
|
402
|
-
s.type =
|
|
398
|
+
processPatternFill(t, e, s) {
|
|
399
|
+
if (!e) return;
|
|
400
|
+
const r = t.getVisitorParamsState().get("processingDXFs"), i = e.getAttribute("patternType") || (r ? o.BuiltInSheetPattern.Solid : o.BuiltInSheetPattern.None);
|
|
401
|
+
if (i === o.BuiltInSheetPattern.None) return { none: !0 };
|
|
402
|
+
s.type = o.Type.Pattern, i && (s.patternType = i);
|
|
403
403
|
let n = "foreground", l = "background";
|
|
404
|
-
const a = s.patternType ===
|
|
404
|
+
const a = s.patternType === o.BuiltInSheetPattern.Solid && r;
|
|
405
405
|
let c = a ? "dk1" : "lt1", u = a ? "lt1" : "dk1";
|
|
406
406
|
if (a) {
|
|
407
407
|
const t = n;
|
|
408
408
|
n = l, l = t;
|
|
409
409
|
}
|
|
410
|
-
const d = t.evaluate("fgColor",
|
|
410
|
+
const d = t.evaluate("fgColor", e);
|
|
411
411
|
this.processDataBarColor(t, d, s, n, c);
|
|
412
|
-
const h = t.evaluate("bgColor",
|
|
412
|
+
const h = t.evaluate("bgColor", e);
|
|
413
413
|
return this.processDataBarColor(t, h, s, l, u), a && (s.foreground || (s.foreground = "lt1"), s.background || (s.background = "dk1")), s;
|
|
414
414
|
}
|
|
415
415
|
processBorders(t, e, o, s) {
|
|
@@ -428,7 +428,7 @@ var nt = class {
|
|
|
428
428
|
const n = {};
|
|
429
429
|
this.processBorderStroke(t, e, n, r.Edge.Left), this.processBorderStroke(t, e, n, r.Edge.Right), i ? (n.right || n.left) && (n.right ? n.vertical = { ...n.right } : n.vertical = { ...n.left }) : this.processBorderStroke(t, e, n, r.Edge.Vertical), this.processBorderStroke(t, e, n, r.Edge.Top), this.processBorderStroke(t, e, n, r.Edge.Bottom), i ? (n.bottom || n.top) && (n.bottom ? n.horizontal = { ...n.bottom } : n.horizontal = { ...n.top }) : this.processBorderStroke(t, e, n, r.Edge.Horizontal);
|
|
430
430
|
const l = this.processBorderStroke(t, e, {}, "diagonal");
|
|
431
|
-
return l && (
|
|
431
|
+
return l && (Ct(e.getAttribute("diagonalUp")) && (n.diagonalUp = { ...l }), Ct(e.getAttribute("diagonalDown")) && (n.diagonalDown = { ...l })), o[s] = n, o;
|
|
432
432
|
}
|
|
433
433
|
processBorderStroke(t, e, o, s) {
|
|
434
434
|
if (!e) return;
|
|
@@ -439,11 +439,11 @@ var nt = class {
|
|
|
439
439
|
const l = t.evaluate("color", i);
|
|
440
440
|
return l && this.processDataBarColor(t, l, n, "color"), Object.keys(n).length > 0 ? o[s] = n : null;
|
|
441
441
|
}
|
|
442
|
-
},
|
|
442
|
+
}, xt = (t) => {
|
|
443
443
|
if (!t) return 0;
|
|
444
444
|
const e = parseFloat(t);
|
|
445
445
|
return isNaN(e) ? 0 : e;
|
|
446
|
-
},
|
|
446
|
+
}, Tt = (t, e) => {
|
|
447
447
|
if (!t || 1 !== t.nodeType) return null;
|
|
448
448
|
const o = t.childNodes;
|
|
449
449
|
for (let t = 0; t < o.length; t++) {
|
|
@@ -451,11 +451,11 @@ var nt = class {
|
|
|
451
451
|
if (1 === s.nodeType && s.localName === e) return s;
|
|
452
452
|
}
|
|
453
453
|
return null;
|
|
454
|
-
},
|
|
454
|
+
}, wt = new Set(Object.values(u.ElementType).filter((t) => t !== u.ElementType.WholeTable && t !== u.ElementType.HeaderRow)), Pt = {
|
|
455
455
|
auto: "auto",
|
|
456
456
|
autoNoTable: "automaticExceptTables",
|
|
457
457
|
manual: "manual"
|
|
458
|
-
},
|
|
458
|
+
}, It = [
|
|
459
459
|
"tableId",
|
|
460
460
|
"columnId",
|
|
461
461
|
"cacheName",
|
|
@@ -463,8 +463,19 @@ var nt = class {
|
|
|
463
463
|
"sourceName",
|
|
464
464
|
"sortOrder",
|
|
465
465
|
"customListSort",
|
|
466
|
-
"crossFilter"
|
|
467
|
-
|
|
466
|
+
"crossFilter",
|
|
467
|
+
"pivotTables",
|
|
468
|
+
"pivotCacheId",
|
|
469
|
+
"pivotBody",
|
|
470
|
+
"tabular",
|
|
471
|
+
"pivotData",
|
|
472
|
+
"showMissing"
|
|
473
|
+
], Ot = /* @__PURE__ */ new Set([
|
|
474
|
+
"name",
|
|
475
|
+
"xr10:uid",
|
|
476
|
+
"cache",
|
|
477
|
+
"caption"
|
|
478
|
+
]), kt = (t, e) => {
|
|
468
479
|
const o = t.content, s = o?.json;
|
|
469
480
|
if (s) {
|
|
470
481
|
if ("shape" === o.type || "picture" === o.type) {
|
|
@@ -480,37 +491,37 @@ var nt = class {
|
|
|
480
491
|
}
|
|
481
492
|
});
|
|
482
493
|
}
|
|
483
|
-
if ("group" === o.type) for (const t of s.members ?? [])
|
|
494
|
+
if ("group" === o.type) for (const t of s.members ?? []) kt(t, !0);
|
|
484
495
|
}
|
|
485
|
-
},
|
|
496
|
+
}, Vt = class extends vt {
|
|
486
497
|
visit(t, e, o) {
|
|
487
498
|
if (e) return this.visitShape(t, e, o, "sp", "nvSpPr/cNvSpPr/spLocks");
|
|
488
499
|
}
|
|
489
|
-
visitShape(t,
|
|
500
|
+
visitShape(t, o, s, r, i) {
|
|
490
501
|
const n = Z[r];
|
|
491
502
|
if (this.isGroupContent(s)) {
|
|
492
503
|
if (t.getPath().includes("Fallback")) return {};
|
|
493
|
-
const { movable: l, content: a } = this.readMemberHeader(t,
|
|
494
|
-
n !==
|
|
495
|
-
const c = t.evaluate(i,
|
|
504
|
+
const { movable: l, content: a } = this.readMemberHeader(t, o, "shape");
|
|
505
|
+
n !== e.Type.Shape && (a.type = n), this.readShapeDetails(t, o, r, i, a), this.readStyleRefs(t, o, a);
|
|
506
|
+
const c = t.evaluate(i, o);
|
|
496
507
|
c?.hasAttribute?.("noChangeAspect") && (l.lockAspect = "1" === c.getAttribute("noChangeAspect"));
|
|
497
|
-
const u = this.readTwinOf(t,
|
|
508
|
+
const u = this.readTwinOf(t, o);
|
|
498
509
|
return void 0 !== u && Object.assign(a, { twinOf: u }), s.members.push(l), a;
|
|
499
510
|
}
|
|
500
511
|
if (t.getPath().includes("Fallback") && s.content) {
|
|
501
512
|
const r = s.content.json;
|
|
502
|
-
if ("shape" === s.content.type && r && (r.type ??
|
|
503
|
-
const
|
|
504
|
-
s && "" !==
|
|
513
|
+
if ("shape" === s.content.type && r && (r.type ?? e.Type.Shape) === n) {
|
|
514
|
+
const e = t.evaluate("txBody", o), s = e ? new V().readTextBody(t, e) : null;
|
|
515
|
+
s && "" !== G(s) && (r.text = s);
|
|
505
516
|
}
|
|
506
517
|
return {};
|
|
507
518
|
}
|
|
508
|
-
s = super.visit(t,
|
|
509
|
-
const l = t.evaluate(i,
|
|
519
|
+
s = super.visit(t, o, s);
|
|
520
|
+
const l = t.evaluate(i, o);
|
|
510
521
|
l?.hasAttribute?.("noChangeAspect") && (s.lockAspect = "1" === l.getAttribute("noChangeAspect"));
|
|
511
|
-
const a = n ===
|
|
512
|
-
void 0 !== c && (a.sourceId = c), this.readShapeDetails(t,
|
|
513
|
-
const u = this.readTwinOf(t,
|
|
522
|
+
const a = n === e.Type.Shape ? {} : { type: n }, c = this.readSourceId(t, o);
|
|
523
|
+
void 0 !== c && (a.sourceId = c), this.readShapeDetails(t, o, r, i, a), this.readStyleRefs(t, o, a);
|
|
524
|
+
const u = this.readTwinOf(t, o);
|
|
514
525
|
return void 0 !== u && Object.assign(a, { twinOf: u }), this.setContent(s, {
|
|
515
526
|
type: "shape",
|
|
516
527
|
json: a
|
|
@@ -526,7 +537,7 @@ var nt = class {
|
|
|
526
537
|
const i = e.getAttribute("macro");
|
|
527
538
|
i && (r.macro = i);
|
|
528
539
|
const n = e.getAttribute("textlink");
|
|
529
|
-
n && (r.textLink = n), e.hasAttribute("fLocksText") && (r.locksText =
|
|
540
|
+
n && (r.textLink = n), e.hasAttribute("fLocksText") && (r.locksText = j(e.getAttribute("fLocksText"))), e.hasAttribute("fPublished") && (r.published = j(e.getAttribute("fPublished")));
|
|
530
541
|
const l = s.slice(0, s.lastIndexOf("/")), a = t.evaluate(l, e);
|
|
531
542
|
"1" === a?.getAttribute?.("txBox") && (r.textBox = !0);
|
|
532
543
|
const c = this.readLocks(t.evaluate(s, e));
|
|
@@ -541,55 +552,55 @@ var nt = class {
|
|
|
541
552
|
(o || s) && (r.connectorEnds = {}, o && (r.connectorEnds.start = o), s && (r.connectorEnds.end = s));
|
|
542
553
|
}
|
|
543
554
|
}
|
|
544
|
-
},
|
|
555
|
+
}, _t = /^<a:extLst(?:\s+xmlns:a="[^"]*")?><a:ext uri="\{28A0092B-C50C-407E-A947-70E740481C1C\}"><a14:useLocalDpi(?:\s+xmlns:a14="[^"]*")?\s+val="0"\s*\/><\/a:ext><\/a:extLst>$/, Bt = (t, e, o, s) => {
|
|
545
556
|
const r = t.evaluate(o, e), i = t.evaluate(s, e);
|
|
546
557
|
return r || i ? {
|
|
547
|
-
x:
|
|
548
|
-
y:
|
|
549
|
-
width:
|
|
550
|
-
height:
|
|
558
|
+
x: w(r?.getAttribute("x") ?? null) ?? 0,
|
|
559
|
+
y: w(r?.getAttribute("y") ?? null) ?? 0,
|
|
560
|
+
width: w(i?.getAttribute("cx") ?? null) ?? 0,
|
|
561
|
+
height: w(i?.getAttribute("cy") ?? null) ?? 0
|
|
551
562
|
} : null;
|
|
552
|
-
},
|
|
563
|
+
}, Lt = { Checkbox: "checkbox" }, Dt = (t) => {
|
|
553
564
|
const e = t.getAttribute("val");
|
|
554
565
|
return "0" !== e && "false" !== e;
|
|
555
|
-
},
|
|
566
|
+
}, Et = {
|
|
556
567
|
1: "serif",
|
|
557
568
|
2: "sans-serif",
|
|
558
569
|
3: "monospace",
|
|
559
570
|
4: "cursive",
|
|
560
571
|
5: "fantasy"
|
|
561
572
|
};
|
|
562
|
-
function
|
|
573
|
+
function Rt(t) {
|
|
563
574
|
const e = {}, o = t.childNodes;
|
|
564
575
|
for (let t = 0; t < o.length; t++) {
|
|
565
576
|
const r = o.item(t);
|
|
566
577
|
if (1 === r.nodeType) switch (r.localName) {
|
|
567
578
|
case "b":
|
|
568
|
-
e.weight =
|
|
579
|
+
e.weight = Dt(r) ? 700 : 400;
|
|
569
580
|
break;
|
|
570
581
|
case "i":
|
|
571
|
-
e.style =
|
|
582
|
+
e.style = Dt(r) ? s.Style.Italic : s.Style.Normal;
|
|
572
583
|
break;
|
|
573
584
|
case "strike":
|
|
574
|
-
e.strike =
|
|
585
|
+
e.strike = N(Dt(r));
|
|
575
586
|
break;
|
|
576
587
|
case "outline":
|
|
577
|
-
e.outline =
|
|
588
|
+
e.outline = Dt(r);
|
|
578
589
|
break;
|
|
579
590
|
case "shadow":
|
|
580
|
-
e.shadow =
|
|
591
|
+
e.shadow = Dt(r);
|
|
581
592
|
break;
|
|
582
593
|
case "condense":
|
|
583
594
|
case "extend": {
|
|
584
|
-
const t =
|
|
595
|
+
const t = g(r.localName, Dt(r));
|
|
585
596
|
void 0 !== t && (e.letterSpacing = t);
|
|
586
597
|
break;
|
|
587
598
|
}
|
|
588
599
|
case "u":
|
|
589
|
-
e.underline =
|
|
600
|
+
e.underline = B(r.getAttribute("val"));
|
|
590
601
|
break;
|
|
591
602
|
case "vertAlign": {
|
|
592
|
-
const t =
|
|
603
|
+
const t = J(r.getAttribute("val"));
|
|
593
604
|
void 0 !== t && (e.baseline = t);
|
|
594
605
|
break;
|
|
595
606
|
}
|
|
@@ -604,7 +615,7 @@ function Vt(t) {
|
|
|
604
615
|
break;
|
|
605
616
|
}
|
|
606
617
|
case "family": {
|
|
607
|
-
const t =
|
|
618
|
+
const t = Et[r.getAttribute("val") ?? ""];
|
|
608
619
|
t && (e.fallbacks = [t]);
|
|
609
620
|
break;
|
|
610
621
|
}
|
|
@@ -614,7 +625,7 @@ function Vt(t) {
|
|
|
614
625
|
break;
|
|
615
626
|
}
|
|
616
627
|
case "scheme":
|
|
617
|
-
|
|
628
|
+
C(e, r.getAttribute("val"));
|
|
618
629
|
break;
|
|
619
630
|
case "color": {
|
|
620
631
|
const t = r.getAttribute("rgb");
|
|
@@ -622,7 +633,7 @@ function Vt(t) {
|
|
|
622
633
|
e.color = "#" + (8 === t.length ? t.substring(2) : t).toUpperCase();
|
|
623
634
|
break;
|
|
624
635
|
}
|
|
625
|
-
const o =
|
|
636
|
+
const o = W((t) => r.getAttribute(t));
|
|
626
637
|
o && (e.color = o);
|
|
627
638
|
break;
|
|
628
639
|
}
|
|
@@ -630,7 +641,7 @@ function Vt(t) {
|
|
|
630
641
|
}
|
|
631
642
|
return Object.keys(e).length > 0 ? e : null;
|
|
632
643
|
}
|
|
633
|
-
var
|
|
644
|
+
var jt = {
|
|
634
645
|
RelsVisitor: class {
|
|
635
646
|
visit(t, e, o) {
|
|
636
647
|
if (!e) return;
|
|
@@ -705,16 +716,16 @@ var _t = {
|
|
|
705
716
|
};
|
|
706
717
|
}
|
|
707
718
|
},
|
|
708
|
-
ShapePropertiesVisitor:
|
|
709
|
-
TextPropertiesVisitor:
|
|
710
|
-
ShapeTextVisitor:
|
|
719
|
+
ShapePropertiesVisitor: $,
|
|
720
|
+
TextPropertiesVisitor: Y,
|
|
721
|
+
ShapeTextVisitor: V,
|
|
711
722
|
ThemeVisitor: class {
|
|
712
723
|
visit(t, e, o) {
|
|
713
724
|
o.name = e.getAttribute("name"), o.objectDefaults = {};
|
|
714
|
-
const s =
|
|
725
|
+
const s = bt(e, "custClrLst")[0];
|
|
715
726
|
if (s) {
|
|
716
|
-
const e = new
|
|
717
|
-
for (const o of
|
|
727
|
+
const e = new U(), r = [];
|
|
728
|
+
for (const o of bt(s, "custClr")) {
|
|
718
729
|
const s = e.processAdjColor(t, o);
|
|
719
730
|
if (!s) continue;
|
|
720
731
|
const i = { color: s }, n = o.getAttribute("name");
|
|
@@ -722,9 +733,9 @@ var _t = {
|
|
|
722
733
|
}
|
|
723
734
|
r.length && (o.customColors = r);
|
|
724
735
|
}
|
|
725
|
-
for (const t of
|
|
736
|
+
for (const t of bt(e, "extLst")) for (const e of bt(t, "ext")) {
|
|
726
737
|
if ("{05A4C25C-085E-4340-85A3-A5531E510DB2}" !== e.getAttribute("uri")) continue;
|
|
727
|
-
const t =
|
|
738
|
+
const t = bt(e, "themeFamily")[0], s = t?.getAttribute("id");
|
|
728
739
|
if (!s) continue;
|
|
729
740
|
const r = {
|
|
730
741
|
name: t.getAttribute("name") ?? "",
|
|
@@ -735,7 +746,7 @@ var _t = {
|
|
|
735
746
|
return o;
|
|
736
747
|
}
|
|
737
748
|
},
|
|
738
|
-
ClrSchemeVisitor: class extends
|
|
749
|
+
ClrSchemeVisitor: class extends U {
|
|
739
750
|
visit(t, e, o) {
|
|
740
751
|
const s = {};
|
|
741
752
|
s.name = e.getAttribute("name");
|
|
@@ -784,7 +795,7 @@ var _t = {
|
|
|
784
795
|
ObjectDefaultsVisitor: class {
|
|
785
796
|
visit(t, e, o) {
|
|
786
797
|
const s = {};
|
|
787
|
-
for (const [o, r] of
|
|
798
|
+
for (const [o, r] of Nt) {
|
|
788
799
|
const i = t.evaluate(o, e);
|
|
789
800
|
i && (s[r] = this.processDefault(t, i));
|
|
790
801
|
}
|
|
@@ -792,14 +803,14 @@ var _t = {
|
|
|
792
803
|
}
|
|
793
804
|
processDefault(t, e) {
|
|
794
805
|
const o = {}, s = t.evaluate("spPr", e);
|
|
795
|
-
s && new
|
|
796
|
-
const r = new
|
|
806
|
+
s && new $().visit(t, s, o);
|
|
807
|
+
const r = new V().readTextBody(t, e);
|
|
797
808
|
(r.body || r.listStyle) && (o.text = r);
|
|
798
809
|
const i = t.evaluate("style", e);
|
|
799
|
-
return i && (o.style =
|
|
810
|
+
return i && (o.style = At(t, i)), o;
|
|
800
811
|
}
|
|
801
812
|
},
|
|
802
|
-
FmtSchemeVisitor: class extends
|
|
813
|
+
FmtSchemeVisitor: class extends U {
|
|
803
814
|
visit(t, e, o) {
|
|
804
815
|
const s = this.parseFillList(t, e, "fillStyleLst"), r = this.parseLnList(t, e, "lnStyleLst"), i = this.parseEffectStyleList(t, e, "effectStyleLst"), n = this.parseFillList(t, e, "bgFillStyleLst");
|
|
805
816
|
if (s && (o.fillStyleLst = s), r && (o.lnStyleLst = r), i && (o.effectStyleLst = i), n && (o.bgFillStyleLst = n), s && r && i && n) return;
|
|
@@ -819,18 +830,18 @@ var _t = {
|
|
|
819
830
|
}
|
|
820
831
|
return r;
|
|
821
832
|
}
|
|
822
|
-
parseFillListItem(t,
|
|
823
|
-
switch (
|
|
824
|
-
case "noFill": return { type:
|
|
833
|
+
parseFillListItem(t, e) {
|
|
834
|
+
switch (e.localName) {
|
|
835
|
+
case "noFill": return { type: o.Type.None };
|
|
825
836
|
case "solidFill": {
|
|
826
|
-
const s = this.processAdjColor(t,
|
|
837
|
+
const s = this.processAdjColor(t, e);
|
|
827
838
|
return s ? {
|
|
828
|
-
type:
|
|
839
|
+
type: o.Type.Solid,
|
|
829
840
|
color: s
|
|
830
841
|
} : void 0;
|
|
831
842
|
}
|
|
832
|
-
case "gradFill": return this.processGradFill(t,
|
|
833
|
-
case "pattFill": return this.processPatternFill(t,
|
|
843
|
+
case "gradFill": return this.processGradFill(t, e);
|
|
844
|
+
case "pattFill": return this.processPatternFill(t, e);
|
|
834
845
|
default: return;
|
|
835
846
|
}
|
|
836
847
|
}
|
|
@@ -871,11 +882,11 @@ var _t = {
|
|
|
871
882
|
param: o
|
|
872
883
|
};
|
|
873
884
|
t.copyFromAttribute(e, "cellColor", o, "cellColor", t.BOOLEAN_COPY);
|
|
874
|
-
const r =
|
|
885
|
+
const r = Ft(t, e);
|
|
875
886
|
return r && (o.style = r), s;
|
|
876
887
|
}
|
|
877
888
|
processCustomFilter(t, e) {
|
|
878
|
-
return
|
|
889
|
+
return F({
|
|
879
890
|
operator: e.getAttribute("operator"),
|
|
880
891
|
val: e.getAttribute("val")
|
|
881
892
|
}, (e) => t.warn(e));
|
|
@@ -893,10 +904,10 @@ var _t = {
|
|
|
893
904
|
let s = null;
|
|
894
905
|
"customFilter" === o.localName && (s = this.processCustomFilter(t, o)), s && r.push(s);
|
|
895
906
|
}
|
|
896
|
-
return 1 === r.length ? r[0] :
|
|
907
|
+
return 1 === r.length ? r[0] : z(i);
|
|
897
908
|
}
|
|
898
909
|
processDynamicFilter(t, e) {
|
|
899
|
-
return
|
|
910
|
+
return O(e.getAttribute("type"), e.getAttribute("val"), e.getAttribute("maxVal"));
|
|
900
911
|
}
|
|
901
912
|
processDateGroupItem(t, e) {
|
|
902
913
|
const o = {};
|
|
@@ -946,7 +957,7 @@ var _t = {
|
|
|
946
957
|
for (let e = 0; e < o.length; e++) {
|
|
947
958
|
const s = o.item(e);
|
|
948
959
|
if (1 !== s.nodeType || "ext" !== s.localName) continue;
|
|
949
|
-
if (
|
|
960
|
+
if (Q(s.getAttribute("uri")) !== Q("{1AD28BCE-077C-4C59-8B6E-1921CE8616D4}")) continue;
|
|
950
961
|
const r = s.childNodes;
|
|
951
962
|
for (let e = 0; e < r.length; e++) {
|
|
952
963
|
const o = r.item(e);
|
|
@@ -975,12 +986,12 @@ var _t = {
|
|
|
975
986
|
if (!e.hasAttribute("colId")) return;
|
|
976
987
|
const s = parseInt(e.getAttribute("colId"));
|
|
977
988
|
let r = !1;
|
|
978
|
-
if (e.hasAttribute("hiddenButton") && (r =
|
|
989
|
+
if (e.hasAttribute("hiddenButton") && (r = j(e.getAttribute("hiddenButton"))), r && o) {
|
|
979
990
|
let t = o.hiddenButtons;
|
|
980
991
|
t || (t = [], o.hiddenButtons = t), t.push(s);
|
|
981
992
|
}
|
|
982
993
|
let i = !1;
|
|
983
|
-
if (e.hasAttribute("showButton") && (i =
|
|
994
|
+
if (e.hasAttribute("showButton") && (i = j(e.getAttribute("showButton"))), i && o) {
|
|
984
995
|
let t = o.showButtons;
|
|
985
996
|
!0 !== t && (t || (t = [], o.showButtons = t), t[s] = !0);
|
|
986
997
|
}
|
|
@@ -1004,7 +1015,7 @@ var _t = {
|
|
|
1004
1015
|
visit(t, e, o) {
|
|
1005
1016
|
if (!e) return;
|
|
1006
1017
|
const s = e.getAttribute("ref"), r = {};
|
|
1007
|
-
e.hasAttribute("caseSensitive") && (r.collatorOptions =
|
|
1018
|
+
e.hasAttribute("caseSensitive") && (r.collatorOptions = j(e.getAttribute("caseSensitive")) ? d.CaseSensitiveOptions : d.CaseInsensitiveOptions);
|
|
1008
1019
|
const i = e.getAttribute("sortMethod");
|
|
1009
1020
|
null != i && "none" !== i && ("stroke" === i ? r.collatorOptions = {
|
|
1010
1021
|
...r.collatorOptions,
|
|
@@ -1014,15 +1025,15 @@ var _t = {
|
|
|
1014
1025
|
collation: "pinyin"
|
|
1015
1026
|
}));
|
|
1016
1027
|
const n = {};
|
|
1017
|
-
e.hasAttribute("columnSort") &&
|
|
1018
|
-
const l =
|
|
1019
|
-
this.processSortConditions(t, e, a, l, r,
|
|
1028
|
+
e.hasAttribute("columnSort") && j(e.getAttribute("columnSort")) && (n.axis = c.Axis.Column);
|
|
1029
|
+
const l = m.fastStringToRange(s), a = [], u = [];
|
|
1030
|
+
this.processSortConditions(t, e, a, l, r, u), a.length > 0 && (n.sorts = a);
|
|
1020
1031
|
const h = t.getVisitorParamsState().get("ref");
|
|
1021
1032
|
if (h && s) {
|
|
1022
|
-
const t =
|
|
1033
|
+
const t = m.fastStringToRange(h);
|
|
1023
1034
|
n.extent = {
|
|
1024
|
-
range:
|
|
1025
|
-
sorts:
|
|
1035
|
+
range: H(t, l),
|
|
1036
|
+
sorts: u.map((e) => y(t, l, e))
|
|
1026
1037
|
};
|
|
1027
1038
|
}
|
|
1028
1039
|
return Object.keys(a).length > 0 && (o.sort = n), n;
|
|
@@ -1032,14 +1043,14 @@ var _t = {
|
|
|
1032
1043
|
const i = {};
|
|
1033
1044
|
if (!e.hasAttribute("ref")) return void t.warn("A sort condition has no ref; it was dropped.", { onceKey: "xlsx.sheet.sort.noRef" });
|
|
1034
1045
|
if (e.hasAttribute("ref")) {
|
|
1035
|
-
const t = e.getAttribute("ref"), s =
|
|
1046
|
+
const t = e.getAttribute("ref"), s = m.fastStringToRange(t);
|
|
1036
1047
|
i.index = o ? s.colStart - o.colStart : s.colStart, r?.push(s);
|
|
1037
1048
|
}
|
|
1038
1049
|
const n = { ...s };
|
|
1039
|
-
i.criteria = n, n.reverse = !1, e.hasAttribute("descending") && (n.reverse =
|
|
1040
|
-
const l =
|
|
1050
|
+
i.criteria = n, n.reverse = !1, e.hasAttribute("descending") && (n.reverse = j(e.getAttribute("descending")));
|
|
1051
|
+
const l = k(e.getAttribute("sortBy"));
|
|
1041
1052
|
l && (n.sortOn = l);
|
|
1042
|
-
const a =
|
|
1053
|
+
const a = Ft(t, e);
|
|
1043
1054
|
return a && (n.style = a), t.copyFromAttribute(e, "iconSet", n), t.copyFromAttribute(e, "customList", n), i;
|
|
1044
1055
|
}
|
|
1045
1056
|
processSortConditions(t, e, o, s, r, i) {
|
|
@@ -1054,26 +1065,26 @@ var _t = {
|
|
|
1054
1065
|
}
|
|
1055
1066
|
}
|
|
1056
1067
|
},
|
|
1057
|
-
SheetStyleVisitor: class extends
|
|
1058
|
-
visit(t,
|
|
1059
|
-
this.processNumFmts(t, t.evaluate("numFmts",
|
|
1068
|
+
SheetStyleVisitor: class extends St {
|
|
1069
|
+
visit(t, e, s) {
|
|
1070
|
+
this.processNumFmts(t, t.evaluate("numFmts", e), null), t.getVisitorParamsState().set("colorsToProcess", /* @__PURE__ */ new Set());
|
|
1060
1071
|
const i = {
|
|
1061
1072
|
fills: {},
|
|
1062
1073
|
fonts: {},
|
|
1063
1074
|
borders: {}
|
|
1064
|
-
}, n = t.evaluate("fonts",
|
|
1075
|
+
}, n = t.evaluate("fonts", e);
|
|
1065
1076
|
this.processFonts(t, n, i.fonts);
|
|
1066
|
-
const l = i.fonts[this.normalFontId(t,
|
|
1077
|
+
const l = i.fonts[this.normalFontId(t, e)], a = {
|
|
1067
1078
|
declared: ["1", "true"].includes(n?.getAttribute("x14ac:knownFonts") ?? ""),
|
|
1068
|
-
normalIsThemeFont:
|
|
1069
|
-
faces:
|
|
1079
|
+
normalIsThemeFont: et(l?.family),
|
|
1080
|
+
faces: T(Object.values(i.fonts).map((t) => ({
|
|
1070
1081
|
...t,
|
|
1071
|
-
family:
|
|
1082
|
+
family: x(t?.family, t?.fallbacks, null, !1).name
|
|
1072
1083
|
})))
|
|
1073
1084
|
};
|
|
1074
|
-
t.getVisitorParamsState().set(
|
|
1075
|
-
type:
|
|
1076
|
-
patternType:
|
|
1085
|
+
t.getVisitorParamsState().set(_, a), l && t.getVisitorParamsState().set("defaultFont", l), this.processFills(t, t.evaluate("fills", e), i.fills), this.processBorders(t, t.evaluate("borders", e), i.borders, !0), i.fills[0] = { type: o.Type.None }, i.fills[1] = {
|
|
1086
|
+
type: o.Type.Pattern,
|
|
1087
|
+
patternType: o.BuiltInSheetPattern.Gray125
|
|
1077
1088
|
}, i.borders[0] = {
|
|
1078
1089
|
bottom: { style: r.StrokeStyle.None },
|
|
1079
1090
|
left: { style: r.StrokeStyle.None },
|
|
@@ -1081,20 +1092,22 @@ var _t = {
|
|
|
1081
1092
|
top: { style: r.StrokeStyle.None }
|
|
1082
1093
|
};
|
|
1083
1094
|
const c = [];
|
|
1084
|
-
this.processXFs(t, t.evaluate("cellStyleXfs",
|
|
1095
|
+
this.processXFs(t, t.evaluate("cellStyleXfs", e), c, i, null, !1);
|
|
1085
1096
|
const u = /* @__PURE__ */ new Map();
|
|
1086
1097
|
if (c.length > 0) {
|
|
1087
|
-
const
|
|
1088
|
-
this.processCellStyles(t, t.evaluate("cellStyles",
|
|
1098
|
+
const o = [];
|
|
1099
|
+
this.processCellStyles(t, t.evaluate("cellStyles", e), o, c, u), s.named = o;
|
|
1089
1100
|
}
|
|
1090
1101
|
const d = [];
|
|
1091
|
-
this.processXFs(t, t.evaluate("cellXfs",
|
|
1092
|
-
const h = this.collectHiddenXfs(t.evaluate("cellXfs",
|
|
1102
|
+
this.processXFs(t, t.evaluate("cellXfs", e), d, i, u), Object.keys(d).length > 0 && (s.direct = d);
|
|
1103
|
+
const h = this.collectHiddenXfs(t.evaluate("cellXfs", e));
|
|
1093
1104
|
h.size > 0 && t.getVisitorParamsState().set("hiddenXfs", h);
|
|
1094
|
-
const p = this.
|
|
1095
|
-
p.size > 0 && t.getVisitorParamsState().set("
|
|
1096
|
-
const m =
|
|
1097
|
-
|
|
1105
|
+
const p = this.collectPivotButtonXfs(t.evaluate("cellXfs", e));
|
|
1106
|
+
p.size > 0 && t.getVisitorParamsState().set("pivotButtonXfs", p);
|
|
1107
|
+
const m = this.collectXfComplements(t.evaluate("cellXfs", e));
|
|
1108
|
+
m.size > 0 && t.getVisitorParamsState().set("xfComplements", m);
|
|
1109
|
+
const f = [];
|
|
1110
|
+
return this.processDXFs(t, t.evaluate("dxfs", e), f), this.processTableStyles(t, t.evaluate("tableStyles", e), s, f), this.processSlicerStyles(t, t.evaluate("extLst", e), s), this.processIndexColors(t, t.evaluate("colors/indexedColors", e), s), this.processMruColors(t, t.evaluate("colors/mruColors", e), s), s;
|
|
1098
1111
|
}
|
|
1099
1112
|
normalFontId(t, e) {
|
|
1100
1113
|
const o = t.evaluate("cellStyles", e)?.childNodes;
|
|
@@ -1172,7 +1185,7 @@ var _t = {
|
|
|
1172
1185
|
const t = r.get(parseInt(n));
|
|
1173
1186
|
t && t !== l.BuiltInName.Normal && (o.named = t);
|
|
1174
1187
|
}
|
|
1175
|
-
const a = (t) => !(!i && e.hasAttribute(t)) ||
|
|
1188
|
+
const a = (t) => !(!i && e.hasAttribute(t)) || j(e.getAttribute(t)), c = (t) => !i || e.hasAttribute(t) && j(e.getAttribute(t)), u = "0", d = i ? u : void 0;
|
|
1176
1189
|
if (a("applyFont")) {
|
|
1177
1190
|
const t = e.getAttribute("fontId") ?? d;
|
|
1178
1191
|
if (void 0 !== t && (t !== u || c("applyFont"))) {
|
|
@@ -1214,16 +1227,16 @@ var _t = {
|
|
|
1214
1227
|
const s = t.evaluate("protection", e);
|
|
1215
1228
|
(s || c("applyProtection")) && this.processProtection(t, s, o);
|
|
1216
1229
|
}
|
|
1217
|
-
const h =
|
|
1230
|
+
const h = j(e.getAttribute("quotePrefix") ?? "");
|
|
1218
1231
|
h && (o.quotePrefix = h);
|
|
1219
1232
|
}
|
|
1220
1233
|
processAlignment(t, e, o) {
|
|
1221
1234
|
const s = {};
|
|
1222
|
-
if (e?.hasAttribute("horizontal") ? s.horizontal = e.getAttribute("horizontal") : s.horizontal = n.HorizontalAlignment.General, e?.hasAttribute("vertical") ? s.vertical = e.getAttribute("vertical") : s.vertical = n.VerticalAlignment.Bottom, e?.hasAttribute("indent") ? s.indent = parseInt(e.getAttribute("indent")) : s.indent = 0, e?.hasAttribute("relativeIndent") ? s.relativeIndent = parseInt(e.getAttribute("relativeIndent")) : s.relativeIndent = 0,
|
|
1235
|
+
if (e?.hasAttribute("horizontal") ? s.horizontal = e.getAttribute("horizontal") : s.horizontal = n.HorizontalAlignment.General, e?.hasAttribute("vertical") ? s.vertical = e.getAttribute("vertical") : s.vertical = n.VerticalAlignment.Bottom, e?.hasAttribute("indent") ? s.indent = parseInt(e.getAttribute("indent")) : s.indent = 0, e?.hasAttribute("relativeIndent") ? s.relativeIndent = parseInt(e.getAttribute("relativeIndent")) : s.relativeIndent = 0, j(e?.getAttribute("wrapText") ?? "") ? s.overflow = n.Overflow.Wrap : s.overflow = n.Overflow.Visible, j(e?.getAttribute("shrinkToFit") ?? "") && (s.overflow = n.Overflow.Shrink), e?.hasAttribute("textRotation")) {
|
|
1223
1236
|
let t = parseFloat(e.getAttribute("textRotation"));
|
|
1224
1237
|
t > 0 && t <= 90 ? t = 360 - t : t > 90 && t <= 180 ? t -= 90 : 255 === t && (t = 0, s.stacked = !0), s.rotation = t;
|
|
1225
1238
|
} else s.rotation = 0;
|
|
1226
|
-
e?.hasAttribute("justifyLastLine") && (s.justifyLastLine =
|
|
1239
|
+
e?.hasAttribute("justifyLastLine") && (s.justifyLastLine = j(e.getAttribute("justifyLastLine")));
|
|
1227
1240
|
const r = e?.getAttribute("readingOrder");
|
|
1228
1241
|
return r && ("0" === r ? s.readingDirection = n.ReadingDirection.Auto : "1" === r ? s.readingDirection = n.ReadingDirection.LeftToRight : "2" === r ? s.readingDirection = n.ReadingDirection.RightToLeft : t.warn(`Invalid readingOrder '${r}'; the direction was left automatic.`, { onceKey: "xlsx.style.readingOrder" })), Object.keys(s).length > 0 && (o.alignment = s), o;
|
|
1229
1242
|
}
|
|
@@ -1238,12 +1251,23 @@ var _t = {
|
|
|
1238
1251
|
const i = r.childNodes;
|
|
1239
1252
|
for (let t = 0; t < i.length; t++) {
|
|
1240
1253
|
const o = i.item(t);
|
|
1241
|
-
1 === o.nodeType && "protection" === o.localName &&
|
|
1254
|
+
1 === o.nodeType && "protection" === o.localName && j(o.getAttribute("hidden") ?? "") && e.add(s);
|
|
1242
1255
|
}
|
|
1243
1256
|
s++;
|
|
1244
1257
|
}
|
|
1245
1258
|
return e;
|
|
1246
1259
|
}
|
|
1260
|
+
collectPivotButtonXfs(t) {
|
|
1261
|
+
const e = /* @__PURE__ */ new Set();
|
|
1262
|
+
if (!t) return e;
|
|
1263
|
+
const o = t.childNodes;
|
|
1264
|
+
let s = 0;
|
|
1265
|
+
for (let t = 0; t < o.length; t++) {
|
|
1266
|
+
const r = o.item(t);
|
|
1267
|
+
1 === r.nodeType && "xf" === r.localName && (j(r.getAttribute("pivotButton") ?? "") && e.add(s), s++);
|
|
1268
|
+
}
|
|
1269
|
+
return e;
|
|
1270
|
+
}
|
|
1247
1271
|
collectXfComplements(t) {
|
|
1248
1272
|
const e = /* @__PURE__ */ new Map();
|
|
1249
1273
|
if (!t) return e;
|
|
@@ -1252,11 +1276,11 @@ var _t = {
|
|
|
1252
1276
|
for (let t = 0; t < o.length; t++) {
|
|
1253
1277
|
const r = o.item(t);
|
|
1254
1278
|
if (1 !== r.nodeType || "xf" !== r.localName) continue;
|
|
1255
|
-
const i =
|
|
1279
|
+
const i = Tt(r, "extLst");
|
|
1256
1280
|
if (i) {
|
|
1257
1281
|
const t = i.childNodes;
|
|
1258
1282
|
for (let o = 0; o < t.length; o++) {
|
|
1259
|
-
const r =
|
|
1283
|
+
const r = Tt(t.item(o), "xfComplement"), i = parseInt(r?.getAttribute("i") ?? "", 10);
|
|
1260
1284
|
isNaN(i) || e.set(s, i);
|
|
1261
1285
|
}
|
|
1262
1286
|
}
|
|
@@ -1267,7 +1291,7 @@ var _t = {
|
|
|
1267
1291
|
processProtection(t, e, o) {
|
|
1268
1292
|
if (!e) return;
|
|
1269
1293
|
const s = e.getAttribute("locked");
|
|
1270
|
-
return o.protection = { alwaysUnlocked: !!s && !
|
|
1294
|
+
return o.protection = { alwaysUnlocked: !!s && !j(s) }, o;
|
|
1271
1295
|
}
|
|
1272
1296
|
processDXF(t, e, o) {
|
|
1273
1297
|
if (!e) return;
|
|
@@ -1351,7 +1375,7 @@ var _t = {
|
|
|
1351
1375
|
const o = a.item(e);
|
|
1352
1376
|
if (1 !== o.nodeType || "slicerStyleElement" !== o.localName) continue;
|
|
1353
1377
|
const s = o.getAttribute("type");
|
|
1354
|
-
if (!s || !
|
|
1378
|
+
if (!s || !wt.has(s)) continue;
|
|
1355
1379
|
const i = o.getAttribute("dxfId"), l = null != i ? n[parseInt(i)] : void 0;
|
|
1356
1380
|
l ? r[s] = l : t.warn(`A slicer style names a format that does not exist (dxfId '${i}').`, { onceKey: "xlsx.style.slicerStyle.dxf" });
|
|
1357
1381
|
}
|
|
@@ -1361,7 +1385,7 @@ var _t = {
|
|
|
1361
1385
|
}
|
|
1362
1386
|
processTableStyle(t, e, o, s, r = !1) {
|
|
1363
1387
|
const i = e.getAttribute("name"), n = { name: i };
|
|
1364
|
-
e.hasAttribute("table") && (n.table =
|
|
1388
|
+
e.hasAttribute("table") && (n.table = j(e.getAttribute("table"))), n.pivot = !e.hasAttribute("pivot") || j(e.getAttribute("pivot")), r && !n.pivot && s.unshift(null);
|
|
1365
1389
|
const l = e.childNodes, a = l.length;
|
|
1366
1390
|
for (let e = 0; e < a; e++) {
|
|
1367
1391
|
const o = l.item(e);
|
|
@@ -1405,13 +1429,13 @@ var _t = {
|
|
|
1405
1429
|
name: a,
|
|
1406
1430
|
style: s[t]
|
|
1407
1431
|
};
|
|
1408
|
-
e.getAttribute("hidden") && (c.hidden =
|
|
1432
|
+
e.getAttribute("hidden") && (c.hidden = j(e.getAttribute("hidden"))), e.getAttribute("iLevel") && (c.iLevel = parseInt(e.getAttribute("iLevel"))), null !== n && j(e.getAttribute("customBuiltin") ?? "0") && (c.customized = !0), o.push(c);
|
|
1409
1433
|
}
|
|
1410
1434
|
}
|
|
1411
1435
|
}
|
|
1412
1436
|
afterVisit(t, e, o) {}
|
|
1413
1437
|
},
|
|
1414
|
-
WorkbookVisitor: class extends
|
|
1438
|
+
WorkbookVisitor: class extends St {
|
|
1415
1439
|
visit(t, e, o) {
|
|
1416
1440
|
return this.processSheetRefs(t, t.evaluate("sheets", e), o), this.processExternalReferences(t, t.evaluate("externalReferences", e), o), this.processBookViews(t, t.evaluate("bookViews", e), o), this.processDefinedNames(t, t.evaluate("definedNames", e), o), this.processCalcPr(t, t.evaluate("calcPr", e), o), this.processPivotCaches(t, t.evaluate("pivotCaches", e), o), this.processWorkbookProtection(t, t.evaluate("workbookProtection", e), o), this.processWorkbookPr(t, t.evaluate("workbookPr", e), o), o;
|
|
1417
1441
|
}
|
|
@@ -1424,13 +1448,13 @@ var _t = {
|
|
|
1424
1448
|
if (!e) return;
|
|
1425
1449
|
const s = {};
|
|
1426
1450
|
this.processPassword(t, e, s, "workbook", "password"), this.processPassword(t, e, s, "revisions", "revisionsPassword");
|
|
1427
|
-
for (const t of
|
|
1451
|
+
for (const t of v) s[t.key] = M(t, e.getAttribute(t.attribute));
|
|
1428
1452
|
return o.protection = s, o;
|
|
1429
1453
|
}
|
|
1430
1454
|
processCalcPr(t, e, o) {
|
|
1431
1455
|
if (!e) return;
|
|
1432
1456
|
const s = {};
|
|
1433
|
-
t.copyFromAttribute(e, "calcMode", s, "calcMode", (t) =>
|
|
1457
|
+
t.copyFromAttribute(e, "calcMode", s, "calcMode", (t) => Pt[t] ?? null), t.copyFromAttribute(e, "fullCalcOnLoad", s, "fullCalcOnLoad", t.BOOLEAN_COPY), t.copyFromAttribute(e, "calcOnSave", s, "calcOnSave", t.BOOLEAN_COPY), t.copyFromAttribute(e, "calcCompleted", s, "calcCompleted", t.BOOLEAN_COPY), t.copyFromAttribute(e, "fullPrecision", s, "fullPrecision", t.BOOLEAN_COPY), t.copyFromAttribute(e, "forceFullCalc", s, "forceFullCalc", t.BOOLEAN_COPY), t.copyFromAttribute(e, "concurrentCalc", s, "concurrentCalc", t.BOOLEAN_COPY), t.copyFromAttribute(e, "concurrentManualCount", s, "concurrentManualCount", t.INT_COPY), t.copyFromAttribute(e, "refMode", s, "refMode"), t.copyFromAttribute(e, "iterate", s, "iterate", t.BOOLEAN_COPY), t.copyFromAttribute(e, "iterateCount", s, "maxIteration", t.INT_COPY), t.copyFromAttribute(e, "iterateDelta", s, "maxIterateChange", t.FLOAT_COPY);
|
|
1434
1458
|
const r = e.getAttribute("calcId");
|
|
1435
1459
|
null !== r && t.getVisitorParamsState().set("calcId", r), o.calc = s;
|
|
1436
1460
|
}
|
|
@@ -1450,7 +1474,7 @@ var _t = {
|
|
|
1450
1474
|
if (i) {
|
|
1451
1475
|
const e = t.readEmbeddedPart(r);
|
|
1452
1476
|
if (e?.xml) {
|
|
1453
|
-
const t = { part: e }, r =
|
|
1477
|
+
const t = { part: e }, r = I(e.xml), n = r ? W((t) => r.get(t)) : void 0;
|
|
1454
1478
|
n && (t.tabColor = n), s.kind = i, s.sheet = t, o.push(s);
|
|
1455
1479
|
return;
|
|
1456
1480
|
}
|
|
@@ -1474,16 +1498,21 @@ var _t = {
|
|
|
1474
1498
|
}
|
|
1475
1499
|
processPivotCaches(t, e, o) {
|
|
1476
1500
|
if (!e) return;
|
|
1477
|
-
const s = [], r = e.
|
|
1478
|
-
for (let e = 0; e <
|
|
1479
|
-
const o =
|
|
1501
|
+
const s = [], r = t.evaluate("workbookPr", e.parentNode)?.getAttribute?.("date1904"), i = "1" === r || "true" === r, n = tt(t.getVisitorParamsState().get("numFmts"), void 0), l = e.childNodes, a = l.length;
|
|
1502
|
+
for (let e = 0; e < a; e++) {
|
|
1503
|
+
const o = l.item(e);
|
|
1480
1504
|
if (1 !== o.nodeType || "pivotCache" !== o.localName) continue;
|
|
1481
|
-
const
|
|
1482
|
-
if (isNaN(
|
|
1483
|
-
const
|
|
1484
|
-
|
|
1485
|
-
|
|
1486
|
-
|
|
1505
|
+
const r = parseInt(o.getAttribute("cacheId") ?? "", 10), a = o.getAttribute("r:id");
|
|
1506
|
+
if (isNaN(r) || !a) continue;
|
|
1507
|
+
const c = t.readEmbeddedPart(a);
|
|
1508
|
+
if (!c) continue;
|
|
1509
|
+
const u = lt(c, i, (t) => n.numberFormat(t)), d = !u && c.xml ? X(c.xml, n) : void 0, h = !u && c.xml ? nt(c.xml) : void 0;
|
|
1510
|
+
s.push({
|
|
1511
|
+
cacheId: r,
|
|
1512
|
+
part: c,
|
|
1513
|
+
...d ? { partFormats: d } : {},
|
|
1514
|
+
...h ? { source: h } : {},
|
|
1515
|
+
...u
|
|
1487
1516
|
});
|
|
1488
1517
|
}
|
|
1489
1518
|
s.length > 0 && (o.pivotCaches = s);
|
|
@@ -1528,8 +1557,8 @@ var _t = {
|
|
|
1528
1557
|
r.scope = s[o].name;
|
|
1529
1558
|
}
|
|
1530
1559
|
const n = {};
|
|
1531
|
-
for (const o of
|
|
1532
|
-
for (const t of
|
|
1560
|
+
for (const o of at) t.copyFromAttribute(e, o, n);
|
|
1561
|
+
for (const t of ut) {
|
|
1533
1562
|
const o = e.getAttribute(t);
|
|
1534
1563
|
"1" !== o && "true" !== o || (n[t] = !0);
|
|
1535
1564
|
}
|
|
@@ -1545,7 +1574,10 @@ var _t = {
|
|
|
1545
1574
|
s.length > 0 && (o.names = s);
|
|
1546
1575
|
}
|
|
1547
1576
|
processWorkbookPr(t, e, o) {
|
|
1548
|
-
|
|
1577
|
+
if (!e) return;
|
|
1578
|
+
t.copyFromAttribute(e, "date1904", o, "date1904", t.BOOLEAN_COPY), t.copyFromAttribute(e, "codeName", o, "codeName"), t.copyFromAttribute(e, "updateLinks", o, "updateLinks");
|
|
1579
|
+
const s = e.getAttribute("hidePivotFieldList");
|
|
1580
|
+
"1" !== s && "true" !== s || (o.hiddenPivotFieldList = !0);
|
|
1549
1581
|
}
|
|
1550
1582
|
afterVisit(t, e, o) {}
|
|
1551
1583
|
},
|
|
@@ -1671,7 +1703,7 @@ var _t = {
|
|
|
1671
1703
|
r.length > 0 && (o.sheetDataSet = r);
|
|
1672
1704
|
}
|
|
1673
1705
|
processSheetData(t, e) {
|
|
1674
|
-
const o = new
|
|
1706
|
+
const o = new p.Builder(), s = e.childNodes, r = s.length;
|
|
1675
1707
|
for (let t = 0; t < r; t++) {
|
|
1676
1708
|
const e = s.item(t);
|
|
1677
1709
|
if (1 !== e.nodeType || "row" !== e.localName) continue;
|
|
@@ -1681,7 +1713,7 @@ var _t = {
|
|
|
1681
1713
|
if (1 !== e.nodeType || "cell" !== e.localName) continue;
|
|
1682
1714
|
const s = e.getAttribute("r");
|
|
1683
1715
|
if (!s) continue;
|
|
1684
|
-
const i =
|
|
1716
|
+
const i = m.fastStringToCell(s);
|
|
1685
1717
|
if (void 0 === i?.rowIndex || void 0 === i?.colIndex) continue;
|
|
1686
1718
|
const n = this._readCellValue(e);
|
|
1687
1719
|
void 0 !== n && o.pushAt(i.rowIndex, i.colIndex, n);
|
|
@@ -1726,7 +1758,50 @@ var _t = {
|
|
|
1726
1758
|
visit(t, e, o) {
|
|
1727
1759
|
t.copyFromAttribute(e, "name", o, "cacheName"), t.copyFromAttribute(e, "sourceName", o);
|
|
1728
1760
|
const s = t.evaluate("*/tableSlicerCache", e);
|
|
1729
|
-
return s ? (t.copyFromAttribute(s, "tableId", o), t.copyFromAttribute(s, "column", o, "columnId"), t.copyFromAttribute(s, "sortOrder", o), t.copyFromAttribute(s, "customListSort", o, "customListSort", t.BOOLEAN_COPY), t.copyFromAttribute(s, "crossFilter", o), o) : (
|
|
1761
|
+
return s ? (t.copyFromAttribute(s, "tableId", o), t.copyFromAttribute(s, "column", o, "columnId"), t.copyFromAttribute(s, "sortOrder", o), t.copyFromAttribute(s, "customListSort", o, "customListSort", t.BOOLEAN_COPY), t.copyFromAttribute(s, "crossFilter", o), o) : (this.processPivot(t, e, o), o);
|
|
1762
|
+
}
|
|
1763
|
+
processPivot(t, e, o) {
|
|
1764
|
+
const s = [];
|
|
1765
|
+
let r = "";
|
|
1766
|
+
const i = e.childNodes;
|
|
1767
|
+
for (let e = 0; e < i.length; e++) {
|
|
1768
|
+
const n = i.item(e);
|
|
1769
|
+
if (1 !== n.nodeType) continue;
|
|
1770
|
+
if ("pivotTables" === n.localName) {
|
|
1771
|
+
const t = n.childNodes;
|
|
1772
|
+
for (let e = 0; e < t.length; e++) {
|
|
1773
|
+
const o = t.item(e);
|
|
1774
|
+
1 === o.nodeType && "pivotTable" === o.localName && s.push({
|
|
1775
|
+
tabId: o.getAttribute("tabId") ?? "",
|
|
1776
|
+
name: o.getAttribute("name") ?? ""
|
|
1777
|
+
});
|
|
1778
|
+
}
|
|
1779
|
+
continue;
|
|
1780
|
+
}
|
|
1781
|
+
const l = n.getAttribute("pivotCacheId");
|
|
1782
|
+
if (l && (o.pivotCacheId = l), "state" === n.localName || "timelinePivotFilter" === n.localName) {
|
|
1783
|
+
o.tabular = !0, o.pivotData = (o.pivotData ?? "") + (t.serializeElement(n) ?? "");
|
|
1784
|
+
continue;
|
|
1785
|
+
}
|
|
1786
|
+
if ("data" === n.localName) {
|
|
1787
|
+
let e = null;
|
|
1788
|
+
const s = n.childNodes;
|
|
1789
|
+
for (let t = 0; t < s.length; t++) {
|
|
1790
|
+
const r = s.item(t);
|
|
1791
|
+
if (1 !== r.nodeType) continue;
|
|
1792
|
+
const i = r.getAttribute("pivotCacheId");
|
|
1793
|
+
i && (o.pivotCacheId = i), "tabular" === r.localName && (e = r);
|
|
1794
|
+
}
|
|
1795
|
+
if (e) {
|
|
1796
|
+
o.tabular = !0, t.copyFromAttribute(e, "sortOrder", o), t.copyFromAttribute(e, "customListSort", o, "customListSort", t.BOOLEAN_COPY), t.copyFromAttribute(e, "crossFilter", o), t.copyFromAttribute(e, "showMissing", o, "showMissing", t.BOOLEAN_COPY), o.pivotData = t.serializeElement(n) ?? void 0;
|
|
1797
|
+
continue;
|
|
1798
|
+
}
|
|
1799
|
+
}
|
|
1800
|
+
const a = t.serializeElement(n);
|
|
1801
|
+
if (null === a) return;
|
|
1802
|
+
r += a;
|
|
1803
|
+
}
|
|
1804
|
+
o.pivotTables = s, o.pivotBody = r;
|
|
1730
1805
|
}
|
|
1731
1806
|
},
|
|
1732
1807
|
SlicersVisitor: class {
|
|
@@ -1745,13 +1820,48 @@ var _t = {
|
|
|
1745
1820
|
const s = {};
|
|
1746
1821
|
o[e.getAttribute("name")] = s, t.copyFromAttribute(e, "xr10:uid", s, "uid");
|
|
1747
1822
|
const r = e.getAttribute("cache"), i = t.getVisitorParamsState().get("slicerCaches"), n = r ? i?.get(r) : void 0;
|
|
1748
|
-
if (n) for (let t = 0; t <
|
|
1749
|
-
const e =
|
|
1823
|
+
if (n) for (let t = 0; t < It.length; t++) {
|
|
1824
|
+
const e = It[t];
|
|
1750
1825
|
void 0 !== n[e] && (s[e] = n[e]);
|
|
1751
1826
|
}
|
|
1752
1827
|
t.copyFromAttribute(e, "caption", s), t.copyFromAttribute(e, "startItem", s, "startItem", t.INT_COPY), t.copyFromAttribute(e, "columnCount", s, "columnCount", t.INT_COPY), t.copyFromAttribute(e, "showCaption", s, "showCaption", t.BOOLEAN_COPY), t.copyFromAttribute(e, "level", s, "level", t.INT_COPY), t.copyFromAttribute(e, "style", s), t.copyFromAttribute(e, "lockedPosition", s, "lockedPosition", t.BOOLEAN_COPY), t.copyFromAttribute(e, "rowHeight", s, "rowHeight", t.INT_COPY);
|
|
1753
1828
|
}
|
|
1754
1829
|
},
|
|
1830
|
+
TimelinesVisitor: class {
|
|
1831
|
+
visit(t, e, o) {
|
|
1832
|
+
let s = o.slicers;
|
|
1833
|
+
s || (s = {}, o.slicers = s);
|
|
1834
|
+
const r = e.childNodes;
|
|
1835
|
+
for (let e = 0; e < r.length; e++) {
|
|
1836
|
+
const o = r.item(e);
|
|
1837
|
+
1 === o.nodeType && "timeline" === o.localName && this.processTimeline(t, o, s);
|
|
1838
|
+
}
|
|
1839
|
+
return s;
|
|
1840
|
+
}
|
|
1841
|
+
processTimeline(t, e, o) {
|
|
1842
|
+
const s = {};
|
|
1843
|
+
o[e.getAttribute("name")] = s, t.copyFromAttribute(e, "xr10:uid", s, "uid");
|
|
1844
|
+
const r = e.getAttribute("cache"), i = t.getVisitorParamsState().get("slicerCaches"), n = r ? i?.get(r) : void 0;
|
|
1845
|
+
if (n) for (let t = 0; t < It.length; t++) {
|
|
1846
|
+
const e = It[t];
|
|
1847
|
+
void 0 !== n[e] && (s[e] = n[e]);
|
|
1848
|
+
}
|
|
1849
|
+
t.copyFromAttribute(e, "caption", s);
|
|
1850
|
+
const l = {};
|
|
1851
|
+
for (let t = 0; t < e.attributes.length; t++) {
|
|
1852
|
+
const o = e.attributes.item(t);
|
|
1853
|
+
Ot.has(o.name) || o.name.startsWith("xmlns") || (l[o.name] = o.value);
|
|
1854
|
+
}
|
|
1855
|
+
s.timelineAttributes = l;
|
|
1856
|
+
let a = "";
|
|
1857
|
+
const c = e.childNodes;
|
|
1858
|
+
for (let e = 0; e < c.length; e++) {
|
|
1859
|
+
const o = c.item(e);
|
|
1860
|
+
1 === o.nodeType && (a += t.serializeElement(o) ?? "");
|
|
1861
|
+
}
|
|
1862
|
+
s.timelineBody = a;
|
|
1863
|
+
}
|
|
1864
|
+
},
|
|
1755
1865
|
FormControlPrVisitor: class {
|
|
1756
1866
|
visit(t, e, o) {
|
|
1757
1867
|
const s = {}, r = e.attributes;
|
|
@@ -1772,7 +1882,7 @@ var _t = {
|
|
|
1772
1882
|
}
|
|
1773
1883
|
} else "extLst" === o.localName && (n = t.serializeElement(o) ?? void 0);
|
|
1774
1884
|
}
|
|
1775
|
-
const a =
|
|
1885
|
+
const a = b(s, i, n);
|
|
1776
1886
|
return o.formControl = a, a;
|
|
1777
1887
|
}
|
|
1778
1888
|
},
|
|
@@ -1781,7 +1891,7 @@ var _t = {
|
|
|
1781
1891
|
return o;
|
|
1782
1892
|
}
|
|
1783
1893
|
afterVisit(t, e, o) {
|
|
1784
|
-
for (const t of o?.movables ?? [])
|
|
1894
|
+
for (const t of o?.movables ?? []) kt(t, !1);
|
|
1785
1895
|
}
|
|
1786
1896
|
},
|
|
1787
1897
|
DrawingAnchorVisitor: class {
|
|
@@ -1801,7 +1911,7 @@ var _t = {
|
|
|
1801
1911
|
x: 0,
|
|
1802
1912
|
y: 0
|
|
1803
1913
|
};
|
|
1804
|
-
return n.x =
|
|
1914
|
+
return n.x = w(e.getAttribute(r)), n.y = w(e.getAttribute(i)), "from" === s ? o.tl = n : o.br = n, o;
|
|
1805
1915
|
}
|
|
1806
1916
|
processOffsetCoord(t, e, o, s) {
|
|
1807
1917
|
if (!e) return;
|
|
@@ -1811,26 +1921,26 @@ var _t = {
|
|
|
1811
1921
|
x: 0,
|
|
1812
1922
|
y: 0
|
|
1813
1923
|
};
|
|
1814
|
-
return t.evaluate("col", e) && (r.c = parseInt(t.evaluate("col", e).textContent)), t.evaluate("row", e) && (r.r = parseInt(t.evaluate("row", e).textContent)), t.evaluate("colOff", e) && (r.x =
|
|
1924
|
+
return t.evaluate("col", e) && (r.c = parseInt(t.evaluate("col", e).textContent)), t.evaluate("row", e) && (r.r = parseInt(t.evaluate("row", e).textContent)), t.evaluate("colOff", e) && (r.x = w(t.evaluate("colOff", e).textContent)), t.evaluate("rowOff", e) && (r.y = w(t.evaluate("rowOff", e).textContent)), "from" === s ? o.tl = r : o.br = r, o;
|
|
1815
1925
|
}
|
|
1816
1926
|
},
|
|
1817
|
-
DrawingGraphicFrameVisitor: class extends
|
|
1927
|
+
DrawingGraphicFrameVisitor: class extends vt {
|
|
1818
1928
|
visit(t, e, o) {
|
|
1819
1929
|
if (!e) return;
|
|
1820
1930
|
if (this.isGroupContent(o)) {
|
|
1821
1931
|
if (t.getPath().includes("Fallback")) return {};
|
|
1822
1932
|
const { movable: s } = this.readMemberHeader(t, e, "graphicFrame"), r = t.evaluate("xfrm", e);
|
|
1823
1933
|
if (r) {
|
|
1824
|
-
|
|
1934
|
+
f(r, s);
|
|
1825
1935
|
const e = t.evaluate("off", r), o = t.evaluate("ext", r);
|
|
1826
1936
|
s.anchor = {
|
|
1827
1937
|
tl: {
|
|
1828
|
-
x:
|
|
1829
|
-
y:
|
|
1938
|
+
x: w(e?.getAttribute("x") ?? null) ?? 0,
|
|
1939
|
+
y: w(e?.getAttribute("y") ?? null) ?? 0
|
|
1830
1940
|
},
|
|
1831
1941
|
br: {
|
|
1832
|
-
x:
|
|
1833
|
-
y:
|
|
1942
|
+
x: w(o?.getAttribute("cx") ?? null) ?? 0,
|
|
1943
|
+
y: w(o?.getAttribute("cy") ?? null) ?? 0
|
|
1834
1944
|
}
|
|
1835
1945
|
};
|
|
1836
1946
|
}
|
|
@@ -1864,13 +1974,13 @@ var _t = {
|
|
|
1864
1974
|
const i = r.item(o);
|
|
1865
1975
|
if (1 === i.nodeType) try {
|
|
1866
1976
|
let o = i.localName;
|
|
1867
|
-
"chart" === o ? o = "chart" : "slicer"
|
|
1977
|
+
"chart" === o ? o = "chart" : "slicer" !== o && "timeslicer" !== o || (o = "slicer"), s.type = o;
|
|
1868
1978
|
const r = i.getAttribute("r:id");
|
|
1869
1979
|
if ("chart" === o && r) {
|
|
1870
1980
|
const o = this.readSourceId(t, e), i = t.readEmbeddedPart(r) ?? void 0;
|
|
1871
1981
|
let n;
|
|
1872
1982
|
try {
|
|
1873
|
-
const e = i?.xml ?
|
|
1983
|
+
const e = i?.xml ? ct(i.xml) : null;
|
|
1874
1984
|
n = e?.model, e?.lossy && t.warn("A chart states something its model does not; it is saved as it was until it is changed.", { onceKey: "xlsx.chart.lossy" });
|
|
1875
1985
|
} catch (e) {
|
|
1876
1986
|
t.warn(`A chart could not be read into the chart model; it is kept as its markup: ${e?.message ?? e}`, { onceKey: "xlsx.chart.model" });
|
|
@@ -1891,8 +2001,8 @@ var _t = {
|
|
|
1891
2001
|
return s;
|
|
1892
2002
|
}
|
|
1893
2003
|
},
|
|
1894
|
-
DrawingSpVisitor:
|
|
1895
|
-
DrawingPicVisitor: class extends
|
|
2004
|
+
DrawingSpVisitor: Vt,
|
|
2005
|
+
DrawingPicVisitor: class extends vt {
|
|
1896
2006
|
visit(t, e, o) {
|
|
1897
2007
|
if (!e) return;
|
|
1898
2008
|
if (this.isGroupContent(o)) {
|
|
@@ -1911,7 +2021,7 @@ var _t = {
|
|
|
1911
2021
|
readPictureDetails(t, e, o, s, r) {
|
|
1912
2022
|
void 0 !== o?.resId && (r.resId = o.resId), o?.image && (r.image = o.image);
|
|
1913
2023
|
const i = e.getAttribute("macro");
|
|
1914
|
-
i && (r.macro = i), e.hasAttribute("fPublished") && (r.published =
|
|
2024
|
+
i && (r.macro = i), e.hasAttribute("fPublished") && (r.published = j(e.getAttribute("fPublished")));
|
|
1915
2025
|
const n = t.evaluate("nvPicPr/cNvPicPr", e);
|
|
1916
2026
|
if (n?.getAttribute) {
|
|
1917
2027
|
"0" === n.getAttribute("preferRelativeResize") && (r.noRelativeResize = !0);
|
|
@@ -1923,16 +2033,16 @@ var _t = {
|
|
|
1923
2033
|
const o = t.evaluate("blipFill", e), s = o ? t.evaluate("blip", o) : null;
|
|
1924
2034
|
if (!s) return;
|
|
1925
2035
|
if (!(s.getAttribute("r:embed") ?? s.getAttribute("embed") ?? s.getAttribute("r:link") ?? s.getAttribute("link"))) return t.warn("A picture names no image; it was not imported.", { onceKey: "xlsx.drawing.picture.noRel" }), null;
|
|
1926
|
-
const { type: r, resId: i, ...n } = new
|
|
1927
|
-
return !n.tile && n.stretch && 0 === Object.keys(n.stretch).length && delete n.stretch, n.extLst &&
|
|
2036
|
+
const { type: r, resId: i, ...n } = new U().processImageFill(t, o);
|
|
2037
|
+
return !n.tile && n.stretch && 0 === Object.keys(n.stretch).length && delete n.stretch, n.extLst && _t.test(n.extLst) && delete n.extLst, {
|
|
1928
2038
|
resId: i,
|
|
1929
2039
|
image: Object.keys(n).length > 0 ? n : void 0
|
|
1930
2040
|
};
|
|
1931
2041
|
}
|
|
1932
2042
|
},
|
|
1933
|
-
DrawingGrpSpVisitor: class extends
|
|
2043
|
+
DrawingGrpSpVisitor: class extends vt {
|
|
1934
2044
|
constructor(...t) {
|
|
1935
|
-
super(...t), this._fills = new
|
|
2045
|
+
super(...t), this._fills = new U();
|
|
1936
2046
|
}
|
|
1937
2047
|
visit(t, e, o) {
|
|
1938
2048
|
if (!e) return;
|
|
@@ -1960,8 +2070,8 @@ var _t = {
|
|
|
1960
2070
|
if (a) {
|
|
1961
2071
|
const e = t.evaluate("xfrm", a);
|
|
1962
2072
|
if (e) {
|
|
1963
|
-
|
|
1964
|
-
const o =
|
|
2073
|
+
f(e, r), "1" === e.getAttribute("flipH") && (r.flipH = !0), "1" === e.getAttribute("flipV") && (r.flipV = !0);
|
|
2074
|
+
const o = Bt(t, e, "off", "ext"), n = Bt(t, e, "chOff", "chExt") ?? o;
|
|
1965
2075
|
n && (i.childBounds = n), s && o && (r.anchor = {
|
|
1966
2076
|
tl: {
|
|
1967
2077
|
x: o.x,
|
|
@@ -1988,7 +2098,7 @@ var _t = {
|
|
|
1988
2098
|
return i;
|
|
1989
2099
|
}
|
|
1990
2100
|
},
|
|
1991
|
-
DrawingCxnSpVisitor: class extends
|
|
2101
|
+
DrawingCxnSpVisitor: class extends Vt {
|
|
1992
2102
|
visit(t, e, o) {
|
|
1993
2103
|
if (e) return this.visitShape(t, e, o, "cxnSp", "nvCxnSpPr/cNvCxnSpPr/cxnSpLocks");
|
|
1994
2104
|
}
|
|
@@ -2110,7 +2220,7 @@ var _t = {
|
|
|
2110
2220
|
}
|
|
2111
2221
|
const i = [], n = s.find((t) => "XFComplements" === t.type)?.arrays.get("MappedFeaturePropertyBags") ?? [];
|
|
2112
2222
|
for (let e = 0; e < n.length; e++) {
|
|
2113
|
-
const o = s[n[e]]?.ids.get("XFControls"), r = void 0 !== o ? s[o]?.ids.get("CellControl") : void 0, l = void 0 !== r ? s[r]?.type : void 0, a = l ?
|
|
2223
|
+
const o = s[n[e]]?.ids.get("XFControls"), r = void 0 !== o ? s[o]?.ids.get("CellControl") : void 0, l = void 0 !== r ? s[r]?.type : void 0, a = l ? Lt[l] : void 0;
|
|
2114
2224
|
a || t.warn(`A cell format's feature '${l ?? "unknown"}' is not read; its cells keep their values.`), i.push(a ? { type: a } : null);
|
|
2115
2225
|
}
|
|
2116
2226
|
const l = { controls: i };
|
|
@@ -2189,7 +2299,7 @@ var _t = {
|
|
|
2189
2299
|
if (1 === o.nodeType) {
|
|
2190
2300
|
if ("t" === o.localName) t.text += o.textContent ?? "";
|
|
2191
2301
|
else if ("rPr" === o.localName) {
|
|
2192
|
-
const e =
|
|
2302
|
+
const e = Rt(o);
|
|
2193
2303
|
e && (t.font = e);
|
|
2194
2304
|
}
|
|
2195
2305
|
}
|
|
@@ -2216,16 +2326,16 @@ var _t = {
|
|
|
2216
2326
|
visit(t, e, o) {
|
|
2217
2327
|
if (!e) return;
|
|
2218
2328
|
const s = {};
|
|
2219
|
-
t.copyFromAttribute(e, "id", s, "id",
|
|
2329
|
+
t.copyFromAttribute(e, "id", s, "id", A);
|
|
2220
2330
|
const r = e.getAttribute("ref");
|
|
2221
|
-
t.copyFromAttribute(e, "personId", s, "personId",
|
|
2331
|
+
t.copyFromAttribute(e, "personId", s, "personId", A), t.copyFromAttribute(e, "parentId", s, "parentId", A);
|
|
2222
2332
|
const i = e.getAttribute("dT");
|
|
2223
2333
|
i && (s.dt = function(t) {
|
|
2224
2334
|
const e = /^(.*T\d{2}:\d{2}:\d{2})(?:\.(\d+))?(Z|[+-]\d{2}:?\d{2})?$/i.exec(t.trim());
|
|
2225
2335
|
if (!e) return t;
|
|
2226
2336
|
const [, o, s, r] = e;
|
|
2227
2337
|
return `${o}${s ? `.${(s + "00").substring(0, 3)}` : ""}${r ?? "Z"}`;
|
|
2228
|
-
}(i)), e.hasAttribute("done") && (s.done =
|
|
2338
|
+
}(i)), e.hasAttribute("done") && (s.done = j(e.getAttribute("done")));
|
|
2229
2339
|
const n = function(t) {
|
|
2230
2340
|
let e;
|
|
2231
2341
|
const o = t.childNodes;
|
|
@@ -2239,8 +2349,8 @@ var _t = {
|
|
|
2239
2349
|
const s = o.getAttribute("mentionId"), i = o.getAttribute("mentionpersonId");
|
|
2240
2350
|
if (!s || !i) continue;
|
|
2241
2351
|
const n = {
|
|
2242
|
-
id:
|
|
2243
|
-
personId:
|
|
2352
|
+
id: A(s),
|
|
2353
|
+
personId: A(i)
|
|
2244
2354
|
}, l = parseInt(o.getAttribute("startIndex") ?? "", 10);
|
|
2245
2355
|
isNaN(l) || (n.startIndex = l);
|
|
2246
2356
|
const a = parseInt(o.getAttribute("length") ?? "", 10);
|
|
@@ -2262,34 +2372,34 @@ var _t = {
|
|
|
2262
2372
|
const o = r.item(e);
|
|
2263
2373
|
if (1 === o.nodeType && "person" === o.localName) {
|
|
2264
2374
|
const e = {};
|
|
2265
|
-
t.copyFromAttribute(o, "id", e, "id",
|
|
2375
|
+
t.copyFromAttribute(o, "id", e, "id", A), t.copyFromAttribute(o, "displayName", e), t.copyFromAttribute(o, "userId", e, "userId", A), t.copyFromAttribute(o, "providerId", e), s.push(e);
|
|
2266
2376
|
}
|
|
2267
2377
|
}
|
|
2268
2378
|
return s.length > 0 && (o.persons = s), s;
|
|
2269
2379
|
}
|
|
2270
2380
|
}
|
|
2271
|
-
},
|
|
2381
|
+
}, Yt = class {
|
|
2272
2382
|
constructor(t, e) {
|
|
2273
2383
|
this.path = t, this.visitor = e;
|
|
2274
2384
|
}
|
|
2275
|
-
},
|
|
2385
|
+
}, Xt = class {
|
|
2276
2386
|
constructor() {
|
|
2277
|
-
this.visitorsByXmlTagName = /* @__PURE__ */ new Map(), this.scopedVisitorsByXmlTagName = /* @__PURE__ */ new Map(), this.visitorParamsState = null, this.registerVisitor("Relationships", new
|
|
2387
|
+
this.visitorsByXmlTagName = /* @__PURE__ */ new Map(), this.scopedVisitorsByXmlTagName = /* @__PURE__ */ new Map(), this.visitorParamsState = null, this.registerVisitor("Relationships", new jt.RelsVisitor()), this.registerVisitor("cp:coreProperties", new jt.CorePropertiesVisitor()), this.registerVisitor("Properties", new jt.AppPropertiesVisitor()), this.registerVisitor("spPr", new jt.ShapePropertiesVisitor()), this.registerVisitor("txBody", new jt.ShapeTextVisitor()), this.registerVisitor("txPr", new jt.TextPropertiesVisitor()), this.registerVisitor("a:theme", new jt.ThemeVisitor()), this.registerVisitor("a:theme", new jt.ClrSchemeVisitor(), "themeElements/clrScheme"), this.registerVisitor("a:theme", new jt.FontSchemeVisitor(), "themeElements/fontScheme"), this.registerVisitor("a:theme", new jt.FmtSchemeVisitor(), "themeElements/fmtScheme"), this.registerVisitor("a:theme", new jt.ObjectDefaultsVisitor(), "objectDefaults"), this.registerVisitor("autoFilter", new jt.AutoFilterVisitor()), this.registerVisitor("sortState", new jt.SortStateVisitor()), this.registerVisitor("s:workbook", new jt.WorkbookVisitor()), this.registerVisitor("styleSheet", new jt.SheetStyleVisitor()), this.registerVisitor("x14:table", new jt.TableX14Visitor()), this.registerVisitor("table", new jt.TableVisitor()), this.registerVisitor("externalLink", new jt.ExternalLinkVisitor()), this.registerVisitor("wsDr", new jt.DrawingVisitor()), this.registerVisitor("twoCellAnchor", new jt.DrawingAnchorVisitor()), this.registerVisitor("oneCellAnchor", new jt.DrawingAnchorVisitor()), this.registerVisitor("absoluteAnchor", new jt.DrawingAnchorVisitor()), this.registerVisitor("graphicFrame", new jt.DrawingGraphicFrameVisitor()), this.registerVisitor("sp", new jt.DrawingSpVisitor()), this.registerVisitor("grpSp", new jt.DrawingGrpSpVisitor()), this.registerVisitor("cxnSp", new jt.DrawingCxnSpVisitor()), this.registerVisitor("pic", new jt.DrawingPicVisitor()), this.registerVisitor("metadata", new jt.MetadataVisitor()), this.registerVisitor("FeaturePropertyBags", new jt.FeaturePropertyBagVisitor()), this.registerVisitor("comments", new jt.CommentsVisitor()), this.registerVisitor("comment", new jt.CommentVisitor()), this.registerVisitor("ThreadedComments", new jt.ThreadedCommentsVisitor()), this.registerVisitor("threadedComment", new jt.ThreadedCommentVisitor()), this.registerVisitor("threadedComment", new jt.TextPropertiesVisitor("content"), "text"), this.registerVisitor("personList", new jt.PersonListVisitor()), this.registerVisitor("slicerCacheDefinition", new jt.SlicerCacheDefinitionVisitor()), this.registerVisitor("slicers", new jt.SlicersVisitor()), this.registerVisitor("timelineCacheDefinition", new jt.SlicerCacheDefinitionVisitor()), this.registerVisitor("timelines", new jt.TimelinesVisitor()), this.registerVisitor("formControlPr", new jt.FormControlPrVisitor());
|
|
2278
2388
|
}
|
|
2279
2389
|
registerVisitor(t, e, o = null) {
|
|
2280
2390
|
-1 === t.indexOf(":") && (t = "*:" + t);
|
|
2281
2391
|
const s = t.split(":"), r = s.length > 1 ? s[1] : s[0];
|
|
2282
2392
|
if (!o) return this.visitorsByXmlTagName.set(r, e), void this.visitorsByXmlTagName.set(t, e);
|
|
2283
2393
|
let i = this.scopedVisitorsByXmlTagName.get(r);
|
|
2284
|
-
i || (i = [], this.scopedVisitorsByXmlTagName.set(r, i), this.scopedVisitorsByXmlTagName.set(t, i)), i.push(new
|
|
2394
|
+
i || (i = [], this.scopedVisitorsByXmlTagName.set(r, i), this.scopedVisitorsByXmlTagName.set(t, i)), i.push(new Yt(o, e));
|
|
2285
2395
|
}
|
|
2286
2396
|
parseDxf(e, o = "", s = t.EmptyObject) {
|
|
2287
2397
|
this.visitorParamsState || (this.visitorParamsState = /* @__PURE__ */ new Map());
|
|
2288
2398
|
const r = this.visitorParamsState, i = r.get("processingDXFs");
|
|
2289
2399
|
r.set("processingDXFs", !0);
|
|
2290
2400
|
try {
|
|
2291
|
-
const t = new
|
|
2292
|
-
return new
|
|
2401
|
+
const t = new gt(null, this, "/dxf", e, {}, o, s), r = {};
|
|
2402
|
+
return new jt.SheetStyleVisitor().processDXF(t, e, r), r;
|
|
2293
2403
|
} finally {
|
|
2294
2404
|
void 0 === i ? r.delete("processingDXFs") : r.set("processingDXFs", i);
|
|
2295
2405
|
}
|
|
@@ -2303,7 +2413,7 @@ var _t = {
|
|
|
2303
2413
|
const i = {};
|
|
2304
2414
|
let n = this.visitorsByXmlTagName.get(r.nodeName);
|
|
2305
2415
|
if (n || (n = this.visitorsByXmlTagName.get(r.localName)), !n) throw new Error(`A visitor for the root element: '${r.nodeName}' or '${r.localName}' must be registered.`);
|
|
2306
|
-
const l = "/" + r.localName, a = new
|
|
2416
|
+
const l = "/" + r.localName, a = new gt(null, this, l, r, i, o, s), c = [];
|
|
2307
2417
|
this._doWalk(n, a, c, r, i, o, s);
|
|
2308
2418
|
const u = c.length;
|
|
2309
2419
|
for (let t = 0; t < u; t++) {
|
|
@@ -2332,7 +2442,7 @@ var _t = {
|
|
|
2332
2442
|
for (; c && c !== s;) l = c.localName + "/" + l, c = c.parentNode;
|
|
2333
2443
|
const u = e.getPath() + "/" + l;
|
|
2334
2444
|
if (a.visitor) {
|
|
2335
|
-
const s = new
|
|
2445
|
+
const s = new gt(e, this, u, e.getElemRoot(), e.getJsonRoot(), i, n);
|
|
2336
2446
|
this._doWalk(a.visitor, s, o, t, r, i, n);
|
|
2337
2447
|
}
|
|
2338
2448
|
};
|
|
@@ -2359,10 +2469,10 @@ var _t = {
|
|
|
2359
2469
|
const a = s;
|
|
2360
2470
|
let p = a.nodeName, m = c.get(p);
|
|
2361
2471
|
m || (p = a.localName, m = c.get(p));
|
|
2362
|
-
const f = e.getPath() + "/" + p, g = new
|
|
2472
|
+
const f = e.getPath() + "/" + p, g = new gt(e, this, f, u, d, i, n);
|
|
2363
2473
|
this._doWalk(m, g, o, a, l ?? r, i, n);
|
|
2364
2474
|
}
|
|
2365
2475
|
return l;
|
|
2366
2476
|
}
|
|
2367
2477
|
};
|
|
2368
|
-
export {
|
|
2478
|
+
export { Xt as DOMTransformer, gt as ExecutionContext, L as NumberUtils, K as VisitorUtils };
|