@sheetxl/mcp 0.8.0-beta.22 → 0.8.0-beta.24
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/assets/{BHsqPfJZrdKTbPLP.js → 2YT_wstXIH6UIigi.js} +1 -1
- package/assets/{DtvJg63vbDd6B7sD.js → 3VycPrqi6qgLOgGY.js} +6 -6
- package/assets/{DoScYrfTJOHXe-Ko.js → 6CBUVbF01Bedq0e2.js} +66 -66
- package/assets/{D-MsUF59BhikcNZt.js → 76dPHG5RYA7MUV_g.js} +3 -3
- package/assets/{DgVCjvTw9Df1DV1x.js → 7IzItpr7MkdnaAwh.js} +167 -167
- package/assets/{DevKDvFONeJ9euEq.js → 7vPlH3_rhJxmmBvG.js} +1 -1
- package/assets/{BV49J63s68Mj6lgF.js → 9GnbVPKozgrJpeLW.js} +1 -1
- package/assets/{VSbzBtGH0cA8VBsM.js → B-5mBXpY9i6-eCrZ.js} +39 -39
- package/assets/{4zyHb1mmcFfqwpjO.js → B-t1q2NS61c2B8E4.js} +1 -1
- package/assets/{BSdRn3B8QeJFflY6.js → B16G2473LTkZP6Mq.js} +157 -137
- package/assets/{DrLUi6vduqDLmQjl.js → B4uS01J0mrSJSftQ.js} +89 -89
- package/assets/{BzFIkeB_lheiTR7z.js → B6caaQsfOpFEgYQ4.js} +1 -1
- package/assets/{b-xk3WtCPBkC4E-Z.js → B7lATTNffVTrDsKE.js} +2 -2
- package/assets/{hhpAcu3tINDLk7Ov.js → B8bEJ65vQRqsfBlS.js} +5 -5
- package/assets/{ryaMyh_8KvmXVSJd.js → BAVltO4Xf7lC0Xr6.js} +1 -1
- package/assets/{3N6hsbh2WLceyO6T.js → BH7ctzMzOYVTGxzA.js} +1 -1
- package/assets/{HVwvDMZh0ZGR-hRT.js → BJqo8c5bFKjnq69G.js} +11 -11
- package/assets/{DEOkcuqKBFyRnY18.js → BJwiwzwx4Bl5L4Vq.js} +1 -1
- package/assets/{CT99WREgkKGpcDTO.js → BPNLZ07Bu_B8Yhf1.js} +1 -1
- package/assets/{CSKjFDYwiwn5XNnH.js → BWLavTnANLUerdS0.js} +2 -2
- package/assets/{Dvsld01DkmiNLjfP.js → BXWGS09xFG81nnIT.js} +1 -1
- package/assets/{C4-0s3Udk3v4ytSn.js → BaYk1vO2hP2S3_1w.js} +2 -2
- package/assets/{CHqnRMWNpLKcAWWn.js → BifwlrCmEVtjh_1U.js} +1 -1
- package/assets/{CYCqMEoWsry6_hrc.js → BjyXkr-CzV8mVx0t.js} +1 -1
- package/assets/{Ds5pLAwSN4lSbao6.js → BkHeIMSE7-LehRCs.js} +1 -1
- package/assets/{CwNKcoA7na7Ess3a.js → BkekCZ17YTtd07_C.js} +2 -2
- package/assets/{0jPw8-AyT6VbPuGO.js → BnNB_ejvNaLu6B3o.js} +1 -1
- package/assets/{BPZWfwUvFCLQInXN.js → BrJd9jVVv9SQzZol.js} +400 -400
- package/assets/{BRVEVVhj-8ZPrNyQ.js → BrYc6PLonux_gI6b.js} +223 -223
- package/assets/{Cu4VAHfmjXWfTMPu.js → BxwB3iTNSE1TgHkb.js} +1 -1
- package/assets/{DgYcOz0M0pmZf9x_.js → By1QPrSxtnRiJu0R.js} +2 -2
- package/assets/{B5VTjL9m0R-Icfaz.js → ByYJTTTUuu67hDF-.js} +4 -4
- package/assets/{CXk5vwFfosghrTKo.js → C-nA4SXN5hWHaxV6.js} +535 -535
- package/assets/{BnGNMsqG5CzUzmX7.js → C0uu0vLKQh0S508B.js} +23 -23
- package/assets/{BDq4iVyBh5lwX8pE.js → C6PNMev7cs5JLgwy.js} +1 -1
- package/assets/{C1PTfp7kVu3DqqZh.js → C9iFJ52KwQTePQ81.js} +8944 -8935
- package/assets/{xDx1vaNa2aCMs4_e.js → CCF6CwJ6cbeLRl23.js} +1 -1
- package/assets/{CAgQJrDxGEfoa7jn.js → CEk658HeLJk2cAjM.js} +3 -3
- package/assets/{Bf7Irm8Ua4s1T4xH.js → CFNtPYPfDPH-3BXK.js} +1 -1
- package/assets/{CHG9Q0uLAZdLXYVz.js → CFT_tDogP98gTbh7.js} +101 -101
- package/assets/{ze6Q8BiEw9RClBzZ.js → CFWwwr74qRKOBrg9.js} +1 -1
- package/assets/{Bi65BKwwiZYYZprq.js → CIY_RiLu1_FmRLAA.js} +1 -1
- package/assets/{D9ja7F9irHf9Iovx.js → CIw6ZC3K9x-ccacl.js} +1 -1
- package/assets/{1dUPpOVZSeeylKHv.js → CJ2hV-9ipqOEkLSG.js} +1 -1
- package/assets/{vazKaFOkHRriv7tX.js → CKD460cQOgwF6uSV.js} +1 -1
- package/assets/{zJoBN2CJdxEV7vdh.js → CM-q_J5aF6YXmjeu.js} +3 -3
- package/assets/{9AosCdy_xtdhLjN1.js → CR1aLf7CWEfPTO9a.js} +1 -1
- package/assets/{E9mta1q4VtVUusy5.js → CSXmTA6w6Pnbtqvb.js} +1 -1
- package/assets/{BI5L_Ysr8s0TQxdg.js → CT4czEKWIj1GeQN8.js} +1 -1
- package/assets/{D8dNiNpu9_L0NjGP.js → CUYQlZz5zWsUdmRy.js} +1 -1
- package/assets/{CGB4xgirbgEIN3tg.js → CbJWbjmv4bz4ppIZ.js} +356 -354
- package/assets/{Bx592y6pyOwTS2x7.js → Cf0zmfQYfJ7zM0Ya.js} +1 -1
- package/assets/{8csqJ8aGOdnKlrLl.js → Ch9w7xFxVMrvGuC_.js} +1 -1
- package/assets/{GGcMgq3ScY7Tv0PE.js → CmkgQ5-IG0BSCM3R.js} +3 -3
- package/assets/{BkqENH8xJ3_NQnD5.js → CmwNIrRssYuLN2fn.js} +422 -422
- package/assets/{sYakw2x8dcnpUlsX.js → CnI4Nli8vtWdFKvf.js} +3 -3
- package/assets/{DRd8gdwcr3EqtGkb.js → CnKX5SPVE2iuSK42.js} +1 -1
- package/assets/{BvKzhnweVF6GhjXh.js → CpvJUGg9ckuCIpIS.js} +1 -1
- package/assets/{DFQLoYLUO4TgDZPK.js → Cxzowsi6ASdZtzeI.js} +1 -1
- package/assets/{tIoHMgrZeRHWyxos.js → CzRvg04_TIbwBH5C.js} +3 -3
- package/assets/{BygXDW3XTdtR38aA.js → D-vo2bQyAmStQmD9.js} +1 -1
- package/assets/{DxNK3HVEzFdUou54.js → D6d1DKL15m52ZCuC.js} +1 -1
- package/assets/{Z5tQQ6IW5YBjblWX.js → D8k9de_hen-KqBWe.js} +1 -1
- package/assets/{91BKH9obG4IfBzhy.js → DE7G34oYbvrfXbJ7.js} +383 -378
- package/assets/{BrfsWImwRtf54LUU.js → DFVQIZ2zZyAphhCF.js} +1 -1
- package/assets/{D1tShC5iBlUoT2V2.js → DGI_8HyNF0eAv0P5.js} +1 -1
- package/assets/{C1yAmXrOu3iHV2cu.js → DGOgx3-IyO8bjF_t.js} +83 -83
- package/assets/{BXean6K6oDUxkzyd.js → DIgPlkEabQdKNUQn.js} +1 -1
- package/assets/{DmVQgN-N_HhYvakk.js → DJGYlGr2Zj7SkYqc.js} +1 -1
- package/assets/{DzGpZ2CQ1St9BF0y.js → DJfpKncnYnrr28G0.js} +1 -1
- package/assets/{CHnaSM8aMnQ2_VWW.js → DL8pez0eKo8arYPj.js} +3 -3
- package/assets/{tPa3RpqYRqCCCYf1.js → DM-yGHahbfA_uarn.js} +1 -1
- package/assets/{DHHYGjNwlLvja3dS.js → DMDTS0LH9Ke9t-3z.js} +1 -1
- package/assets/{D89TE5n8VKre9Gmp.js → DNSWaXblwhTtI3w7.js} +1 -1
- package/assets/{UgDy0WNXuV1sEnFW.js → DOSWSyKkK4eSi4PD.js} +2 -2
- package/assets/{CHpBOpoM9bCvQyn0.js → DPLTGglaPovTg9e5.js} +1 -1
- package/assets/{CpYgsvYMxV5SbRp3.js → DPYFRLJbHGlrcrJq.js} +2 -2
- package/assets/{DLbzfP7OOWhafkTq.js → DRq6lQLndj73WT35.js} +1 -1
- package/assets/{BUGEQS5WdiLcI_0X.js → DRzZ4bEyLRGVOLzV.js} +1 -1
- package/assets/{BUIjRIGTum7VuRFk.js → DUbIxDAzW1dzrtdI.js} +1 -1
- package/assets/{OfjHqYH31KqC5gVM.js → DXCTHw-ZutNIuo_2.js} +1 -1
- package/assets/{OtMeAlbq6tyW5Hnc.js → D_tdoUtUe7cApQJn.js} +4 -4
- package/assets/{DawLBAaNAAmo_P3Y.js → DaF9L7No8h8a-cqb.js} +2 -2
- package/assets/{DdDKDqtpIkzd-mXi.js → DaHD9SY75O8wDy3p.js} +2 -2
- package/assets/{CXqqaFgNeUVRGvEb.js → Daaro0HbHkKXkBP-.js} +2 -2
- package/assets/{BiC09_YKQPmlUklQ.js → DczQhB3mRSUw6GCf.js} +1 -1
- package/assets/Dfv_T_PQVL0O3lu5.js +14 -0
- package/assets/{B6pXiayrnDoDbQt1.js → Dhy6iU_09lrQnOAV.js} +47 -47
- package/assets/{Dbh-XVDw294AVLtl.js → Dk9zYXO3VoBhTdex.js} +1 -1
- package/assets/{DQIQR1t3IkC9wshP.js → DkQ4kxEKhKYQgfjK.js} +1 -1
- package/assets/{CSGN4rAf7CYnBDEa.js → Dlqk7XqKnAZ8Pcj3.js} +83 -83
- package/assets/{BaaVzb7xXROiWUhT.js → DqSBb1HmgeU7eg_i.js} +84 -84
- package/assets/{BgwCdHyXKQYFAl1M.js → Ds4TB1hn56-RK6_f.js} +1 -1
- package/assets/{VWEaItb0XvCoRiCT.js → DtVSjxL6N_7WyM8Z.js} +1 -1
- package/assets/{C9wlvcFyjQA59G-_.js → DuEtCJEnG_GnJzTX.js} +1 -1
- package/assets/{DdnALoxd3b8TLNla.js → DwNcvKM47ZHfvQM6.js} +1 -1
- package/assets/{CdtVv8YQ8PTmS4dz.js → DyiH3LlinD-38bG7.js} +1 -1
- package/assets/{hAVtdK6u2tlLI2cB.js → Jy-_0a72nn5Iv1NK.js} +1 -1
- package/assets/{Bzp3UtK_6fqEVlV8.js → KMzONx2Ps841nJHj.js} +8 -8
- package/assets/{CV729JV1mNyYCmrq.js → LM2rVDHdB0jVUFcT.js} +1 -1
- package/assets/{do_DTptu6c_xHJoZ.js → MosMza0-rXD8uHX_.js} +2 -2
- package/assets/{COVhUB0EotytQDHg.js → NAWWzA_hk4wYtsPP.js} +2 -2
- package/assets/{CufFcGwo5x95LSb7.js → P6V3JAiRpC3BWceC.js} +1 -1
- package/assets/{1U3DwsqHnOBwiGWn.js → TZnuVwhVjkOBax9F.js} +2 -2
- package/assets/{nSzQt54CIADky_tF.js → TdDTOcC1TYhk6UuR.js} +1 -1
- package/assets/{CGxhgXj5qKj_Ubcp.js → Xccc6oxtlSvJUDsC.js} +1 -1
- package/assets/{DAqaOCEQLmZRjcdR.js → a2e_g9YI3J-lUD7-.js} +1 -1
- package/assets/{D-N87jCOShDKTFDh.js → b8yACuWy67eIj_j2.js} +1 -1
- package/assets/{BlxrCp7d-SeM-2DW.js → bv3fZLUPzd14I58C.js} +631 -621
- package/assets/{CKhbbbjQ-_auMp3n.js → doqBmhonQlHp-1Ud.js} +1 -1
- package/assets/{BZxJKqVEO7B23XwE.js → fEfisM0E2fUYKIyU.js} +5 -5
- package/assets/{v5XZSqLd9ZV3kqcA.js → flby0g5gyZ9P2Wu2.js} +1 -1
- package/assets/{coTH4ab6CTEzw87b.js → g2Nu44uuSJFMzxEV.js} +2 -2
- package/assets/{Cahhn5OLNqRYy-n8.js → mZt9BTEejCJZ4YK4.js} +1 -1
- package/assets/{BnK6HEqT4rf1RoOG.js → qc7rA-Z3a4rkVQPx.js} +217 -217
- package/assets/{DsBXjYAgTUXAAWZZ.js → sJVPCrgeh0U6LbAK.js} +1 -1
- package/assets/{wWgI0JPoe_Wv0ceW.js → suLYEZBtGUhSYeB7.js} +1 -1
- package/assets/{WSiEiaP-NUEr9UaB.js → tWO-mE87mAuj1qih.js} +2 -2
- package/assets/{DdXp_iPwTOHAOvlL.js → xD41vsQY6h60lCqz.js} +1168 -1170
- package/assets/{C7zManFR1LEJXiwb.js → yz2PTfYm_8EGJPM5.js} +1 -1
- package/index.js +117 -117
- package/lib.js +1 -1
- package/licenses/dependencies.txt +12 -12
- package/package.json +4 -4
- package/screenshot-page/assets/{CFl15-2FAF9f3V7L.js → 0UZBKpOOsp7P-DkP.js} +2 -2
- package/screenshot-page/assets/{DfT1DMR1b5kiyYiV.js → B-0-chiwq4MIUQy9.js} +1 -1
- package/screenshot-page/assets/B7pXfEVkcbaMBMhc.js +1 -0
- package/screenshot-page/assets/BDRMUi2BsnBqytIq.js +2 -0
- package/screenshot-page/assets/BEjJHVSbtlsNtoq7.js +3 -0
- package/screenshot-page/assets/{BnZX0sxceYpvtg3I.js → BIuMiduMHSsTGacU.js} +2 -2
- package/screenshot-page/assets/BKwDvElKinpn1IK0.js +1 -0
- package/screenshot-page/assets/BPMQ22uISGOm3ymr.js +1 -0
- package/screenshot-page/assets/{adhmz3N2Kgq5eW66.js → BTJ1NNUzHotNDiDe.js} +2 -2
- package/screenshot-page/assets/BbT5KRhoeAKLzy54.js +2 -0
- package/screenshot-page/assets/{Dwv5Z_c2XS-hm-5y.js → BcZPWw18bdj_ZvA9.js} +1 -1
- package/screenshot-page/assets/{BEwl-ucV9Jfr0RoC.js → Bdb0azxGoCh6NBDk.js} +1 -1
- package/screenshot-page/assets/{CcOIj8c4N9KaWnD7.js → Bfq6-treWd_rRiWl.js} +1 -1
- package/screenshot-page/assets/{BGh5K-hHzy8mSVDr.js → Bg9UyX4yrB2mSdJt.js} +12 -12
- package/screenshot-page/assets/Bxq4FCQhyPbVhhaR.js +2 -0
- package/screenshot-page/assets/{zFbb8ESzwR_bE7IQ.js → CBP4y6KFPu24xhDT.js} +1 -1
- package/screenshot-page/assets/CI3Z1f4amZ9G2rPD.js +5 -0
- package/screenshot-page/assets/{COpZTXe_J1mSpeYD.js → CNB6WmYfGVZjlCKV.js} +1 -1
- package/screenshot-page/assets/{CXGgKVbVXjWzE0p6.js → CQ-33-es3XJ56pR4.js} +1 -1
- package/screenshot-page/assets/CSFFMEKyxEFaykqL.js +1 -0
- package/screenshot-page/assets/CXeJV1BW2CVemhPE.js +1 -0
- package/screenshot-page/assets/{Cmv8bpHaTWZ7Lmbt.js → C_YKEkTsGB_5gFNg.js} +2 -2
- package/screenshot-page/assets/CkxmJxdtjBIxYoMq.js +1 -0
- package/screenshot-page/assets/CtiTwHzd_ZSzd3W2.js +1 -0
- package/screenshot-page/assets/CwCu_r0BW41uLt3P.js +2 -0
- package/screenshot-page/assets/{DdusmeEPaU7CWT6e.js → Cx9eq2x1gIXGki3Q.js} +1 -1
- package/screenshot-page/assets/D43IayseD2Cy8OZo.js +4 -0
- package/screenshot-page/assets/{BftXEPOuf5Uwxpud.js → D6Ciix7JAZtdKqmj.js} +1 -1
- package/screenshot-page/assets/D6EXAYU-ZH8hjx_7.js +2 -0
- package/screenshot-page/assets/D7Yt7xmUlA6-Lq0Q.js +48 -0
- package/screenshot-page/assets/D8KyhLvfyjLZW92H.js +39 -0
- package/screenshot-page/assets/DACSL7FA_J91Z_H7.js +2 -0
- package/screenshot-page/assets/DBxAatsD6aWk7Zb6.js +586 -0
- package/screenshot-page/assets/DGkaCFHx4PsOJkFu.js +1 -0
- package/screenshot-page/assets/DM6hr-bvWV50-Oex.js +2 -0
- package/screenshot-page/assets/DOVt9zHz7FQ2KUQM.js +1 -0
- package/screenshot-page/assets/DR-og7vslxlOZd8j.js +1 -0
- package/screenshot-page/assets/DSTlKGmqncM7XHeW.js +1 -0
- package/screenshot-page/assets/Dh14XQinAphjZOKC.js +1 -0
- package/screenshot-page/assets/Dkf51CnZh2zPEGMd.js +1 -0
- package/screenshot-page/assets/{nM1r2xslndIMKlI2.js → DmDFKv_3APEWI-IY.js} +2 -2
- package/screenshot-page/assets/Dt8JxbBBr2TeDflQ.js +1 -0
- package/screenshot-page/assets/Dxi-bXNjS-CpC5Qr.js +1 -0
- package/screenshot-page/assets/{Bm9-R9keVK5Sx-8o.js → DynKB5GH-vfFMJEy.js} +1 -1
- package/screenshot-page/assets/{CZq2dMHs2MHHyyBl.js → FcTM4SB17cEX1M3X.js} +1 -1
- package/screenshot-page/assets/{B668_VaGrdcWRbkC.js → FqdZRM336KMEcsbU.js} +1 -1
- package/screenshot-page/assets/Oay0yGsGYgJDzy8r.js +1 -0
- package/screenshot-page/assets/Pt9ne0xkE2icD3Ih.js +1 -0
- package/screenshot-page/assets/QZg76Jflu3Q808W3.js +1 -0
- package/screenshot-page/assets/{BRemww1df2HKLd_k.js → WTrYzPnMQhYDILMR.js} +1 -1
- package/screenshot-page/assets/{CXUO3vYip3JPSJ7A.js → YH1wNXzhQbkuWxeS.js} +1 -1
- package/screenshot-page/assets/{CQ9C0-FcDZxrgC3T.js → a3fvt1Klg1uGE7p6.js} +7 -7
- package/screenshot-page/assets/{D8-mayyvvVE1a4JB.js → clrFU8i-0wNkmbs7.js} +1 -1
- package/screenshot-page/assets/{-cpi3yOZYn6GsYN4.js → gU2zeJaXoNh7QI_e.js} +2 -2
- package/screenshot-page/assets/r2HZG9_SMzF3__ID.js +13 -0
- package/screenshot-page/index.html +16 -16
- package/types/scripting-api.json +5747 -5744
- package/types/scripting.d.ts +27 -3
- package/assets/r-pk3RNq_HjMQFqr.js +0 -14
- package/screenshot-page/assets/0buGanYjZDNd9qAK.js +0 -39
- package/screenshot-page/assets/B2oadmu_j6WfNbZ1.js +0 -1
- package/screenshot-page/assets/BGWgIYge30MP6Xhz.js +0 -48
- package/screenshot-page/assets/BIQ7KK-buzeddVA9.js +0 -1
- package/screenshot-page/assets/BPRDGSNh0kvXRFUY.js +0 -1
- package/screenshot-page/assets/Bv2MgCMkg3EIQ6iE.js +0 -13
- package/screenshot-page/assets/BvaiwYJ5zZ0d5NRP.js +0 -1
- package/screenshot-page/assets/CAlTfQ_Gh-dURmUc.js +0 -1
- package/screenshot-page/assets/CCFxspvs5VzbYCfl.js +0 -1
- package/screenshot-page/assets/CCqTTfzZokVHIzs2.js +0 -1
- package/screenshot-page/assets/CPs_ARK8JCyz-yZg.js +0 -1
- package/screenshot-page/assets/CUeMb48Ucrm5dK5u.js +0 -1
- package/screenshot-page/assets/CjrHeIdacavAT_Ud.js +0 -3
- package/screenshot-page/assets/CqccUqSMYlwlf2ZU.js +0 -2
- package/screenshot-page/assets/CvmImq-Kbg9srxNr.js +0 -4
- package/screenshot-page/assets/D-3wYBqe4SWdE6bx.js +0 -2
- package/screenshot-page/assets/D-FWnGDbZ9BRDzPR.js +0 -1
- package/screenshot-page/assets/D717DArr-KKL0U6R.js +0 -1
- package/screenshot-page/assets/DM27mE98BNk1T18I.js +0 -1
- package/screenshot-page/assets/DN-T1DyRMKvxEJSK.js +0 -1
- package/screenshot-page/assets/DRdL1GN4SP7P8lSP.js +0 -2
- package/screenshot-page/assets/DcnhaY93LQd7kVdH.js +0 -2
- package/screenshot-page/assets/DigI6jhjHePzLgg1.js +0 -1
- package/screenshot-page/assets/DrDLCC0R2IV5VJd7.js +0 -1
- package/screenshot-page/assets/DuYb_otrRZZDq6-f.js +0 -2
- package/screenshot-page/assets/Dx0pUf3G4Oa3dGOk.js +0 -1
- package/screenshot-page/assets/JcgNMFaj_uqHSFxr.js +0 -1
- package/screenshot-page/assets/U_8_wApwfA7KmIG3.js +0 -586
- package/screenshot-page/assets/WZprjN2sb7HlraOb.js +0 -2
- package/screenshot-page/assets/qjoaeEBxfKWCHmqK.js +0 -2
- package/screenshot-page/assets/zALFdtoGJBN6m2Bn.js +0 -1
- package/screenshot-page/assets/zd1Z2E1NjFp2EWC7.js +0 -5
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{n as e}from"./CbXtAM7H-Jg_J0dk.js";import{i as t,r as n,t as r}from"./gU2zeJaXoNh7QI_e.js";import{C as i,I as a,K as o,L as s,_ as c,i as l,x as u}from"./ChSvXfVMLxZsP9zG.js";import{$ as d,B as f,C as p,D as m,E as h,S as g,V as _,W as v,b as y,ct as b,d as x,f as S,g as C,h as w,k as T,o as E,pt as D,q as O,rt as k,ut as A,z as j}from"./CI3Z1f4amZ9G2rPD.js";var M=e(t(),1),N=r(),P=e(n(),1);(function(){try{if(typeof document<`u`){var e=document.createElement(`style`);e.appendChild(document.createTextNode(`.sxl-grid-surface,.sxl-touch-input{--sxl-handle-size:11px;--sxl-handle-ring:2px;--sxl-handle-hit:11px;--sxl-handle-color:var(--sxl-color-primary,#217346);--sxl-handle-halo:0px}.sxl-touch-input{--sxl-handle-size:14px;--sxl-handle-hit:36px;--sxl-handle-halo:1.5px}._grid-stage_rzp9d_1{width:100%;height:100%;position:absolute;top:0;left:0}._grid-stage_rzp9d_1>*{pointer-events:none;position:absolute;inset:0}._grid-stage_rzp9d_1>*>*{pointer-events:auto}._sheetxl-grid_9syr3_7{box-sizing:border-box;user-select:none;contain:strict;width:100%;height:100%;position:relative}._sheetxl-grid_9syr3_7 *{box-sizing:border-box!important}._sheetxl-grid_9syr3_7 :focus{outline:none}._sheetxl-grid_9syr3_7>*{contain:size layout style}._virtual-div_16eab_1{position:absolute}._tiles_1hj43_7{will-change:transform}._tiles_1hj43_7 .sxl-tile{white-space:pre;position:absolute}._tiles_1hj43_7 .sxl-tile>*{contain:strict;position:absolute}._tiles_1hj43_7 [data-cell-interactive]{pointer-events:auto}._gridlines_1hj43_32,._gridlines_1hj43_32 *{pointer-events:none;position:absolute;overflow:visible}.sxl-cell{letter-spacing:-.25px;padding:2px 4px;font-family:Calibri;line-height:1.2}._field_q34pi_8{box-sizing:border-box;background:light-dark(#fff,#2b2b2b);border:1px solid light-dark(#c4c4c4,#5a5a5a);border-radius:4px;flex:none;align-items:center;width:100%;min-width:0;display:flex;position:relative}._field_q34pi_8:focus-within{border-color:var(--sxl-color-primary,#0078d7)}._search_q34pi_28{box-sizing:border-box;width:auto;min-width:0;font:inherit;color:inherit;background:0 0;border:none;outline:none;flex:auto;margin:0;padding:3px 4px}._search_q34pi_28::placeholder{opacity:.6}._icon_q34pi_47{opacity:.6;pointer-events:none;flex:none;width:14px;height:14px;margin-left:6px}._clear_q34pi_56{width:20px;height:20px;color:inherit;opacity:.6;cursor:pointer;background:0 0;border:none;border-radius:2px;flex:none;justify-content:center;align-items:center;margin-right:2px;padding:0;display:inline-flex}._clear_q34pi_56 svg{width:12px;height:12px}._clear_q34pi_56:hover{opacity:1;background:light-dark(#0000000f,#ffffff1a)}._row_q34pi_84{align-items:center;gap:6px;min-width:0;display:flex}._row_q34pi_84 ._field_q34pi_8{flex:auto;width:auto}/*$vite$:1*/`)),document.head.appendChild(e)}}catch(e){console.error(`vite-plugin-css-injected-by-js`,e)}})();var F=(e,t)=>{if(typeof t==`number`){let n=t;return{getOffset:e=>e<=0?0:e*n,getIndex:t=>t<=0?0:Math.min(e,Math.floor(t/n))}}let n=t,r=[],i=-1,a=e=>e<=0?0:((e=>{if(e<=i)return;let t=i>=0?r[i]+n(i):0;for(let a=i+1;a<=e;a++)r[a]=t,t+=n(a);i=e})(e),r[e]),o=(e,t,n)=>{for(;e<=t;){let r=e+(t-e>>1);a(r)<=n?e=r+1:t=r-1}return e>0?e-1:0};return{getOffset:a,getIndex:t=>{if(t<=0||e<=0)return 0;if((i>0?r[i]:0)>t)return o(0,i,t);let s=i>0?i:0,c=1;for(;s<e&&a(s)<=t;)s+=c,c*=2;if(s>=e){let r=e-1;if(t>=a(r)+n(r))return e}return o(Math.floor(s/2),Math.min(s,e-1),t)}}},I=e=>{let t=e!=null,n=e?.rowCount??0,r=e?.columnCount??0,i=e?.getRowHeight,a=e?.getColumnWidth;return(0,M.useMemo)(()=>{if(!t)return null;let e=F(n,i??20),o=F(r,a??75);return{getColOffset:o.getOffset,getColIndex:o.getIndex,getRowOffset:e.getOffset,getRowIndex:e.getIndex}},[t,n,r,i,a])},L=(0,M.createContext)(null),R=()=>(0,M.useContext)(L),z=e=>{let{linePoints:t,bounds:n,propsPath:r,style:i,...a}=e;return n?(0,N.jsx)(`svg`,{width:`${n.width}`,height:`${n.height}`,viewBox:`0 0 ${n.width} ${n.height}`,style:{position:`absolute`,left:`${n.x}px`,top:`${n.y}px`,width:`${n.width}px`,height:`${n.height}px`,overflow:`visible`,pointerEvents:`none`,transitionTimingFunction:`linear`,transitionProperty:`left, top, width, height`,willChange:`left, top, width, height, stroke-dashoffset`,...i},...a,children:(0,N.jsx)(`path`,{d:`M ${t[0]} ${t[1]} L ${t[2]} ${t[3]}`,fill:`none`,vectorEffect:`non-scaling-stroke`,stroke:`black`,...r})}):null},B=(0,M.memo)(e=>{let{bounds:t,fill:n,stroke:r,alignWidth:i=1,disableAlign:a=!1,disableEdgeAware:o=!1,inset:s=0,hole:c,animatedStroke:l,strokeDasharray:u,strokeDashoffset:f,propsFillPath:p,propsStrokePath:m,className:h,style:g,propsRoot:_,frameSource:v}=e,y=R(),b=t??y;(0,M.useEffect)(()=>{l&&te()},[l]);let x=d.getDevicePixelRatio(),S={alignWidth:i,disableAlign:a,disableEdgeAware:o,inset:s},C=b?V(b,c,S,x):null,w=(0,M.useRef)(null),T=(0,M.useRef)(null),E=(0,M.useRef)(null),D=(0,M.useRef)(()=>{});if(D.current=()=>{if(!v||!C)return;let e=v.getFrame(),t=e?V(e.bounds,e.hole,S,x):C;w.current&&w.current.setAttribute(`d`,t.fill),T.current&&T.current.setAttribute(`d`,t.outline),E.current&&E.current.setAttribute(`d`,t.outline)},(0,M.useLayoutEffect)(()=>{D.current()}),(0,M.useLayoutEffect)(()=>{if(v)return v.subscribe(()=>D.current())},[v]),!b||!C)return null;let O=a?i:i/x,k,A;if(l){let e={dashGap:2,speed:50,dashLength:8,gapColor:`var(--sxl-color-base-100, #fff)`,...typeof l==`object`?l:void 0},t=e.dashGap+e.dashLength;k={strokeDasharray:`${e.dashLength}px ${e.dashGap}px`,strokeDashoffset:`${t}px`,animation:`${U} ${e.speed*t}ms linear infinite`,willChange:`stroke-dashoffset`},A=e.gapColor}let j=null;n&&(j=(0,N.jsx)(`path`,{ref:w,d:C.fill,style:{fill:n,...p?.style},stroke:`none`,fillRule:`evenodd`},`fill`));let P=null;if(r&&i){let e=C.outline;P=(0,N.jsxs)(N.Fragment,{children:[A&&(0,N.jsx)(`path`,{ref:E,fill:`none`,vectorEffect:`non-scaling-stroke`,strokeWidth:O,d:e,style:{stroke:A}},`stroke-under`),(0,N.jsx)(`path`,{fill:`none`,strokeDasharray:u,strokeDashoffset:f,vectorEffect:`non-scaling-stroke`,strokeWidth:O,...m,ref:T,d:e,style:{stroke:r,...k,...m?.style}},`stroke`)]})}return(0,N.jsxs)(`svg`,{className:h,width:`100%`,height:`100%`,style:{position:`absolute`,left:0,top:0,pointerEvents:`none`,overflow:`visible`,willChange:l?`stroke-dashoffset`:void 0,...g},..._,children:[j,P]})});B.displayName=`RectangleSVG`;var V=(e,t,n,r)=>{let{alignWidth:i,disableAlign:a,disableEdgeAware:o,inset:s}=n,c,l,u,f;if(a)c=e.x,l=e.y,u=e.x+e.width,f=e.y+e.height;else{let t=i/r,n=e=>o?d.snapLineCenter(e,t,r):d.edgeCenter(e,`leading`,i,r),a=e=>o?d.snapLineCenter(e,t,r):d.edgeCenter(e,`trailing`,i,r),p=s/r;c=n(e.x+p),l=n(e.y+p),u=a(e.x+e.width-p),f=a(e.y+e.height-p)}let p=H({top:l,left:c,right:u,bottom:f}),m=p;if(t){let e=t;if(!a){let n=d.snapDeviceEdge(t.x,r),i=d.snapDeviceEdge(t.y,r);e={x:n,y:i,width:d.snapDeviceEdge(t.x+t.width,r)-n,height:d.snapDeviceEdge(t.y+t.height,r)-i}}m+=` `+H({top:e.y,left:e.x,bottom:e.y+e.height,right:e.x+e.width})}return{outline:p,fill:m}},H=(e,t=!0)=>`M ${e.left} ${e.top} L ${e.right} ${e.top} L ${e.right} ${e.bottom} L ${e.left} ${e.bottom} L ${e.left} ${e.top} ${t?`Z`:``}`,U=`sxl-marching-ants`,ee=!1,te=()=>{if(ee||typeof document>`u`)return;ee=!0;let e=document.createElement(`style`);e.appendChild(document.createTextNode(`@keyframes ${U} { to { stroke-dashoffset: 0; } }`)),document.head.appendChild(e)},ne=[o.Center,o.Top,o.Left,o.TopLeft],W=e=>{for(let t of ne){let n=e[t];if(n)return n}return null};function re(e){var t,n,r=``;if(typeof e==`string`||typeof e==`number`)r+=e;else if(typeof e==`object`){if(Array.isArray(e)){var i=e.length;for(t=0;t<i;t++)e[t]&&(n=re(e[t]))&&(r&&(r+=` `),r+=n)}else for(n in e)e[n]&&(r&&(r+=` `),r+=n)}return r}function G(){for(var e,t,n=0,r=``,i=arguments.length;n<i;n++)(e=arguments[n])&&(t=re(e))&&(r&&(r+=` `),r+=t);return r}var K=(e,t,n)=>Math.min(n,Math.max(t,e)),q=(e,t,n)=>{let r=[],i=t;for(;i<=n;){let t=e?Math.max(0,e(i)):0;t===0?(r.push(i),i++):i+=t}return r},ie=(e,t,n,r,i,a)=>{if(n-t>=i-r)return r;let o=r;return e===`nearest`&&(r-t>0?e=`start`:n-i>0&&(e=`end`)),e===`start`?o=t:e===`end`?o=n-(i-r):e===`center`&&(o=t+(n-t)/2-(i-r)/2),o<r?Math.max(0,o):o>r?Math.min(o,a-(i-r)):void 0},ae=(e,t=!1,n,r)=>{if(!n)return 0;let i=!t,a=i?1:-1,o=n(i?e:e+1),s=n(i?e+1:e),c=e+(i?2:-1),l=0;for(;(s-o)*a<=0;){if(i&&c-1>r+1||!i&&c+1<r)return l;o=s,s=n(c),c+=a,l++}return l},oe=(e,t,n)=>{if(!n)return!1;let r=n.x;if(e<r||e>r+n.width)return!1;let i=n.y;return!(t<i||t>i+n.height)},se=`_grid-stage_rzp9d_1`,ce={pointerdown:`onPointerDown`,pointermove:`onPointerMove`,pointerup:`onPointerUp`,mousedown:`onMouseDown`,mousemove:`onMouseMove`,mouseup:`onMouseUp`,mouseover:`onMouseOver`,mouseout:`onMouseOut`,dblclick:`onDoubleClick`,contextmenu:`onContextMenu`},le=Object.values(ce),J=[...Object.keys(ce),`keydown`,`keypress`,`keyup`],ue=new Set(J),de=e=>{let t=e?.getElement();return t&&typeof t.isStage==`function`&&t.isStage()?t:null},fe=(0,M.memo)((0,M.forwardRef)((e,t)=>{let{className:n,onFocus:r,onBlur:i,onDragStart:a,children:o,...s}=e,c=Z(),l=(0,M.useRef)(c);l.current=c;let u=(0,M.useRef)(new Set),d=(0,M.useRef)(0),f=(0,M.useCallback)(e=>{let t={responder:e,seq:d.current++};return u.current.add(t),()=>{u.current.delete(t)}},[]),p=(0,M.useRef)(new Set),m=(0,M.useRef)(0),h=(0,M.useCallback)(e=>(p.current.add(e),e.hasHandlers&&m.current++,()=>{p.current.delete(e),e.hasHandlers&&m.current--}),[]),g=(0,M.useRef)(null),_=(0,M.useRef)(0),v=(0,M.useCallback)((e,t)=>{let n=g.current;if(n&&n.x===e&&n.y===t)return n.stack;let r=document.elementsFromPoint(e,t);return g.current={x:e,y:t,stack:r},_.current||typeof requestAnimationFrame!=`function`||(_.current=requestAnimationFrame(()=>{_.current=0,g.current=null})),r},[]);(0,M.useEffect)(()=>()=>{_.current&&typeof cancelAnimationFrame==`function`&&cancelAnimationFrame(_.current)},[]);let y=(0,M.useCallback)((e,t,n)=>{if(!t&&!n)return()=>{};let r=(e,r)=>{t?.(e),n?.(e,r)};return f({getHandler:t=>t===e?r:void 0})},[f]),b=(0,M.useCallback)(e=>{if(!e||e===ne.current)return-1/0;let t=new Map;if(u.current.forEach(e=>{let n=e.responder.getElement?.();n&&t.set(n,e.responder.zIndex??0)}),t.size===0)return-1/0;let n=e;for(;n;){let e=t.get(n);if(e!==void 0)return e;if(n===ne.current)break;n=n.parentElement}return-1/0},[]),x=(0,M.useCallback)((e,t,n)=>{if(ce[e]===void 0||m.current===0)return pe;let r=t.nativeEvent;if(typeof r?.clientX!=`number`||typeof r?.clientY!=`number`)return pe;let i=new Map;if(p.current.forEach(e=>{if(!e.hasHandlers||!e.getHandler)return;let t=e.getElement();t&&i.set(t,e)}),i.size===0)return pe;let a=e=>{let t=e;for(;t;){if(i.has(t))return t;if(t===ne.current)break;t=t.parentElement}return null},o=a(t.target),s=e===`pointermove`||e===`mousemove`,c=s?v(r.clientX,r.clientY):document.elementsFromPoint(r.clientX,r.clientY),l=[],u=new Set;for(let e=0;e<c.length;e++){let t=a(c[e]);if(!t||u.has(t)||(u.add(t),t===o))continue;let r=i.get(t),s=r.zIndex??0;s>=n||l.push({slot:s,box:!0,ord:e,getHandler:r.getHandler})}return o&&!u.has(o)&&s?pe:l},[v]),S=(0,M.useCallback)((e,t,n)=>{let r=ne.current;if(r&&t.target instanceof Node&&!r.contains(t.target))return;let i=ue.has(e)?b(t.target):1/0,a=[...x(e,t,i)];if(u.current.forEach(e=>{let t=e.responder.zIndex??0;t>=i||a.push({slot:t,box:!1,ord:-e.seq,getHandler:t=>e.responder.getHandler(t)})}),a.length===0)return;a.sort((e,t)=>t.slot-e.slot||+!e.box-!t.box||e.ord-t.ord);let o=a.length;for(let r=0;r<o&&!t.isPropagationStopped();r++)a[r].getHandler(e)?.(t,n)},[x,b]);(0,M.useEffect)(()=>{let e=ne.current;if(!e)return;let t=t=>{let n=t.type,r=b(t.target),i=[];if(u.current.forEach(e=>{(e.responder.zIndex??0)>r&&i.push(e)}),i.length===0)return;i.sort((e,t)=>(t.responder.zIndex??0)-(e.responder.zIndex??0)||t.seq-e.seq);let a=me(t,e);for(let e=0;e<i.length&&!a.isPropagationStopped();e++)i[e].responder.getHandler(n)?.(a,l.current)};for(let n=0;n<J.length;n++)e.addEventListener(J[n],t,!0);return()=>{for(let n=0;n<J.length;n++)e.removeEventListener(J[n],t,!0)}},[b]);let C=w(e=>{S(`pointerdown`,e,l.current)},[]),T=w(e=>{S(`pointermove`,e,l.current)},[]),E=w(e=>{S(`pointerup`,e,l.current)},[]),D=w(e=>{S(`pointerleave`,e,l.current)},[]),k=w(e=>{S(`mousedown`,e,l.current)},[]),A=w(e=>{S(`mouseenter`,e,l.current)},[]),j=w(e=>{S(`mouseleave`,e,l.current)},[]),P=w(e=>{S(`mousemove`,e,l.current)},[]),F=w(e=>{S(`mouseout`,e,l.current)},[]),I=w(e=>{S(`mouseover`,e,l.current)},[]),L=w(e=>{S(`mouseup`,e,l.current)},[]),R=w(e=>{S(`dblclick`,e,l.current)},[]),z=w(e=>{S(`keydown`,e,l.current)},[]),B=w(e=>{S(`keypress`,e,l.current)},[]),V=w(e=>{S(`keyup`,e,l.current)},[]),H=w(e=>{r?.(e),S(`focus`,e,l.current)},[r]),U=w(e=>{i?.(e),S(`blur`,e,l.current)},[i]),ee=w(e=>{if(a?.(e),e.defaultPrevented)return;let t=e.target;(t.nodeType===Node.ELEMENT_NODE?t:t.parentElement)?.closest(`input, textarea, [contenteditable]:not([contenteditable="false"])`)||e.preventDefault()},[a]),te=w(e=>{S(`contextmenu`,e,l.current)},[]),ne=O(t,()=>({isStage:()=>!0,addReactEventListener:y,registerResponder:f,registerLayer:h}),[]);return(0,M.useEffect)(()=>h({getElement:()=>ne.current}),[h]),(0,N.jsx)(`div`,{className:G(n,`sxl-stage`,se),ref:ne,tabIndex:0,...s,onPointerDown:C,onPointerMove:T,onPointerUp:E,onPointerLeave:D,onMouseDown:k,onMouseEnter:A,onMouseLeave:j,onMouseMove:P,onMouseOut:F,onMouseOver:I,onMouseUp:L,onDoubleClick:R,onKeyDown:z,onKeyUp:V,onKeyPress:B,onFocus:H,onBlur:U,onContextMenu:te,onDragStart:ee,children:o})}));fe.displayName=`Stage`;var pe=Object.freeze([]),me=(e,t)=>{let n=!1;return new Proxy(e,{get(r,i){switch(i){case`nativeEvent`:return e;case`currentTarget`:return t;case`stopPropagation`:return()=>{n=!0,e.stopPropagation()};case`isPropagationStopped`:return()=>n;case`preventDefault`:return()=>e.preventDefault();case`isDefaultPrevented`:return()=>e.defaultPrevented;case`persist`:return()=>{};default:{let e=r[i];return typeof e==`function`?e.bind(r):e}}}})},he=e=>`${e.rowStart},${e.colStart},${e.rowEnd},${e.colEnd}`,ge=A(`grid`,10),_e=(0,M.createContext)(0),ve=(0,M.createContext)(!1),ye=(e,t)=>{for(let n of e)Array.isArray(n)?ye(n,t):n!=null&&typeof n!=`boolean`&&t.push(n);return t},be=(e,t)=>{let{rowDims:n,columnDims:r,computeRowDims:i,computeColumnDims:a,viewport:o,zoom:s,containerWidth:c,containerHeight:l,getRangeFromCell:u,invalidate:d,totalRange:f,getSurfacePointFromPointer:p,scrollTo:m,scrollCellCoordsIntoView:h,getAllPanes:g}=t,_=e.anchor,v=n[e.rowIndex],y=r[e.columnIndex];if(v.minIndex>v.maxIndex||y.minIndex>y.maxIndex)return null;let b=e.scrollOrientation,x=Object.freeze({x:y.minBounds,y:v.minBounds,width:y.maxBounds,height:v.maxBounds}),S=Object.freeze({colStart:y.minCoord,rowStart:v.minCoord,colEnd:y.maxCoord,rowEnd:v.maxCoord}),C={width:y.maxVirtualBounds,height:v.maxVirtualBounds},w={left:y.freezeOffset,top:v.freezeOffset},T={width:c,height:l},E=Y(),D=Y(),O=null,k=null,A=()=>{let t=o.getSnapshot();if(k&&O===t)return k;let n=a(t.left)[e.columnIndex],r=i(t.top)[e.rowIndex],c=n.metrics,l=r.metrics,u=Object.freeze({rowStart:r.minIndex,colStart:n.minIndex,rowEnd:r.maxIndex,colEnd:n.maxIndex}),d=Object.freeze({getColIndex:e=>c.getColIndex(e),getColOffset:E(n.minIndex,n.maxIndex,c.getColOffset),getRowIndex:e=>l.getRowIndex(e),getRowOffset:D(r.minIndex,r.maxIndex,l.getRowOffset)}),f={left:n.scrollOffset,top:r.scrollOffset};return k={cellRange:u,metrics:d,scrollTopLeft:f,topLeft:{top:(w.top+(b.vertical?f.top:0))/s,left:(w.left+(b.horizontal?f.left:0))/s},colDims:n,rowDims:r},O=t,k},j=(e,t)=>{let n=A();return((e,t,n)=>{let r=e.getColOffset(t.colStart)+(n?.left??0),i=e.getRowOffset(t.rowStart)+(n?.top??0);return{x:r,y:i,width:e.getColOffset(t.colEnd+1)+(n?.right??0)-(n?.left??0)-r,height:e.getRowOffset(t.rowEnd+1)+(n?.bottom??0)-(n?.top??0)-i}})(n.metrics,e??n.cellRange,t)},M=e=>{if(e<0)return null;let t=A().metrics,n=t.getColOffset(e);return{index:e,offset:n,size:t.getColOffset(e+1)-n}},N=e=>{if(e<0)return null;let t=A().metrics,n=t.getRowOffset(e);return{index:e,offset:n,size:t.getRowOffset(e+1)-n}},P=(e,t)=>{let n=Array(e.length);for(let r=0;r<e.length;r++)n[r]=t(e[r]);return n};return{addReactEventListener:(t,n,r)=>{let i=e.refStage;return i?i.addReactEventListener(t,n,r):()=>{}},getElement:()=>e.refStage,invalidate:d,focus(t){(e.focusTarget?.()??e.refStage)?.focus(t)},registerFocusTarget:t=>(e.focusTarget=t,()=>{e.focusTarget===t&&(e.focusTarget=null)}),getFocusTarget:()=>e.focusTarget?.()??null,setPointerCapture:t=>{let n=e.refStage;n&&n.setPointerCapture(t)},releasePointerCapture(t){let n=e.refStage;n&&n.releasePointerCapture(t)},getVisibleRange:()=>A().cellRange,toClipBounds:(e,t)=>{let n,r=0;return t===void 0||typeof t==`number`?(n=j(A().cellRange),r=t):n=t,((e,t,n=0)=>{let r=e.x,i=e.y;if(r>t.width||i>t.height)return null;let a={left:r,top:i,bottom:e.height+i,right:e.width+r},o={left:t.x+n,top:t.y+n,bottom:t.height-2*n+t.y,right:t.width-2*n+t.x},s={left:Math.max(a.left,o.left),top:Math.max(a.top,o.top),bottom:Math.min(a.bottom,o.bottom),right:Math.min(a.right,o.right)},c={x:s.left,y:s.top,width:s.right-s.left,height:s.bottom-s.top};return c.height<0||c.width<0?null:c})(e??{x:0,y:0,width:x.width,height:x.height},n,r)},toPaneBounds:e=>{let t=A().topLeft;return t.left===0&&t.top===0&&s===1?e:{x:(e.x-t.left)*s,y:(e.y-t.top)*s,width:e.width*s,height:e.height*s}},toAbsoluteBounds:e=>{let t=A().topLeft;return t.left===0&&t.top===0&&s===1?e:{x:e.x/s+t.left,y:e.y/s+t.top,width:e.width/s,height:e.height/s}},getPanePointFromPointer:(e,t)=>{let n=p(e,t);return n?{x:n.x-x.x,y:n.y-x.y}:null},getMetrics:()=>A().metrics,getRangeFromCell:u,getVisibleColumns:(e,t)=>{let n=A();return e!==void 0&&t!==void 0?P(n.colDims.visibleIndices(e,t),M):n.visibleColumns??=Object.freeze(P(n.colDims.visibleIndices(),M))},getVisibleRows:(e,t)=>{let n=A();return e!==void 0&&t!==void 0?P(n.rowDims.visibleIndices(e,t),N):n.visibleRows??=Object.freeze(P(n.rowDims.visibleIndices(),N))},getColumnSize:M,getRowSize:N,getTotalRange:()=>f,getBoundsFromRange:j,getCellFromPointer:(e,t,n=!1)=>{let r=p(e,t);if(!r)return null;let i=A().metrics,a=i.getColIndex(r.x-x.x),o={rowIndex:i.getRowIndex(r.y-x.y),colIndex:a};if(n)return o;let s=u(o);return{rowIndex:s.rowStart,colIndex:s.colStart}},getPaneFromPointer:(e,t)=>{let n=p(e,t);if(!n)return null;let r=g();for(let e=0;e<xe.length;e++){let t=r[xe[e]];if(t&&oe(n.x,n.y,t.getPaneBounds()))return t}return null},getZoom:()=>s,getAnchor:()=>_,getPaneRange:()=>S,getPaneBounds:()=>x,getInsets:()=>e.insets,getTotalSize:()=>C,getSurfaceSize:()=>T,getScrollTopLeft:()=>A().scrollTopLeft,getScrollTarget:()=>{let e=A().scrollTopLeft,t=o.getSnapshot(),n=o.getTarget();return{left:e.left+(b.horizontal?n.left-t.left:0),top:e.top+(b.vertical?n.top-t.top:0)}},getFreezeTopLeft:()=>w,getScrollOrientation:()=>b,scrollCellCoordsIntoView:(e,t)=>h(e,t,_),scrollTo:e=>m(e),getAllPanes:g}},xe=[o.TopLeft,o.Top,o.Left,o.Center],Y=()=>{let e=new Float64Array,t=new Uint32Array,n=0;return(r,i,a)=>{let o=i-r+2;if(!(o>0)||o>4096)return a;if(e.length<o){let n=Math.min(4096,Math.max(o,2*e.length,64));e=new Float64Array(n),t=new Uint32Array(n)}n===4294967295&&(t.fill(0),n=0);let s=++n,c=e,l=t;return e=>{let t=e-r;if(s!==n||!(t>=0&&t<o)||(0|t)!==t)return a(e);if(l[t]===s)return c[t];let i=a(e);return c[t]=i,l[t]=s,i}}},Se=(e,t,n)=>{let r=(t?.left??0)+(n?.x??0),i=(t?.top??0)+(n?.y??0);return{getColOffset:t=>e.getColOffset(t)-r,getColIndex:t=>e.getColIndex(t+r),getRowOffset:t=>e.getRowOffset(t)-i,getRowIndex:t=>e.getRowIndex(t+i)}},Ce=Object.freeze([{minIndex:0,maxIndex:0,minCoord:0,maxCoord:0,visibleIndices:()=>a.EmptyArray,minBounds:0,maxBounds:0,metrics:{getColOffset:()=>0,getColIndex:()=>0,getRowOffset:()=>0,getRowIndex:()=>0},maxVirtualBounds:0,scrollOffset:0,freezeOffset:0}]),X=(0,M.createContext)(null),we=({pane:e,viewport:t,children:n})=>{let r=T(t,e=>e.getSnapshot()),i=(0,M.useMemo)(()=>({pane:e}),[e,r]);return(0,N.jsx)(X.Provider,{value:i,children:n})},Te=()=>{let e=new Map,t=new Map;return{has:t=>e.has(t),get:t=>e.get(t),set(n,r){if(e.has(n)&&Object.is(e.get(n),r))return;e.set(n,r);let i=t.get(n);if(i)for(let e of[...i])e()},subscribe(e,n){let r=t.get(e);return r||t.set(e,r=new Set),r.add(n),()=>{r.delete(n),r.size===0&&t.delete(e)}}}},Ee=(0,M.createContext)(null),De=({store:e,children:t})=>{let n=(0,M.useContext)(Ee),r=(0,M.useRef)(null),i=e??n;return i||=(r.current||=Te(),r.current),(0,N.jsx)(Ee.Provider,{value:i,children:t})},Oe={"sheetxl-grid":`_sheetxl-grid_9syr3_7`},ke=(0,M.memo)((0,M.forwardRef)((e,t)=>{let{rowCount:n=1,columnCount:r=1,viewport:a,metrics:s,getRangeFromCell:l=c.cellToRange,hiddenRowsAt:u,hiddenColumnsAt:d,freezeLeft:f=0,freezeTop:p=0,propsFreezeLeft:m,propsFreezeTop:h,onFirstRender:g,children:_,wrapPane:v,onFocus:y,onBlur:x,className:S,style:T,...E}=e,D=w(y,[y]),k=w(x,[x]),A=w(g,[g]),[j,P]=(0,M.useState)(o.Center),[F,I]=(0,M.useReducer)(e=>e+1,0),L=(0,M.useMemo)(()=>new b({}),[]),R=a??L,[B,V]=(0,M.useState)(()=>{let e=R.getClient();return{zoom:R.getZoom(),w:e.width,h:e.height,ready:R.isReady()}});(0,M.useEffect)(()=>{let e=()=>V(e=>{let t=R.getClient(),n={zoom:R.getZoom(),w:t.width,h:t.height,ready:R.isReady()};return e.zoom===n.zoom&&e.w===n.w&&e.h===n.h&&e.ready===n.ready?e:n});return e(),R.subscribe(e)},[R]);let H=B.zoom,U=(0,M.useMemo)(()=>{let e=s??Ae;return{getColOffset:t=>e.getColOffset(t)*H,getColIndex:t=>e.getColIndex(t/H),getRowOffset:t=>e.getRowOffset(t)*H,getRowIndex:t=>e.getRowIndex(t/H)}},[s,H]),ee=w((e,t=!1)=>ae(e,t,U.getRowOffset,t?0:n),[n,U?.getRowOffset]),te=w(u??ee,[u]),ne=w((e,t=!1)=>ae(e,t,U.getColOffset,t?r:0),[r,U?.getColOffset]),re=w(d??ne,[d]),K=(0,M.useCallback)(()=>{I()},[]),se=(0,M.useMemo)(()=>Math.min(B.w,U.getColOffset(r)),[F,U.getColOffset,r,B.w]),ce=(0,M.useMemo)(()=>Math.min(B.h,U.getRowOffset(n)),[F,U.getRowOffset,n,B.h]),le=(0,M.useMemo)(()=>{let e=NaN,t=null;return r=>(r===e&&t||(e=r,t=(e=>{if(ce===0)return Ce;let t=[],r=0,i=0;typeof p==`number`?r=p:(r=p.index??0,i=(p.offset??0)*H);let a=i,o=U.getRowOffset(r),s=o-a;if(r>0){let e=Se(U,{top:i+U.getRowOffset(0)}),n=U.getRowIndex(a),c=U.getRowIndex(o-1),l;t[1]={minIndex:n,maxIndex:c,minCoord:0,maxCoord:r-1,minBounds:0,maxBounds:s,visibleIndices:(e,t)=>e!==void 0&&t!==void 0?q(te,e,t):l||(l=Object.freeze(q(te,n,c)),l),metrics:e,maxVirtualBounds:o,scrollOffset:i,freezeOffset:i}}let c=Math.max(0,ce-s),l=Se(U,{top:e+s}),u=l.getRowIndex(0),d=l.getRowIndex(c-1),f;return t[0]={minIndex:u,maxIndex:d,minCoord:r,maxCoord:n-1,minBounds:s,maxBounds:c,visibleIndices:(e,t)=>e!==void 0&&t!==void 0?q(te,e,t):f||(f=Object.freeze(q(te,u,d)),f),metrics:l,maxVirtualBounds:U.getRowOffset(n),scrollOffset:e,freezeOffset:(r>0?U.getRowOffset(r):0)-i},t})(r)),t)},[F,U.getRowIndex,U.getRowOffset,te,ce,n,p,H]),J=(0,M.useMemo)(()=>le(0),[le]),ue=(0,M.useMemo)(()=>{let e=NaN,t=null;return n=>(n===e&&t||(e=n,t=(e=>{if(se===0)return Ce;let t=[],n=0,i=0;typeof f==`number`?n=f:(n=f.index??0,i=(f.offset??0)*H);let a=i,o=U.getColOffset(n),s=o-a;if(n>0){let e=Se(U,{left:i+U.getColOffset(0)}),r=U.getColIndex(a),c=U.getColIndex(o-1),l;t[1]={minIndex:r,maxIndex:c,minCoord:0,maxCoord:n-1,minBounds:0,maxBounds:s,visibleIndices:(e,t)=>e!==void 0&&t!==void 0?q(re,e,t):l||(l=Object.freeze(q(re,r,c)),l),metrics:e,maxVirtualBounds:o,scrollOffset:i,freezeOffset:i}}let c=Math.max(0,se-s),l=Se(U,{left:e+s}),u=l.getColIndex(0),d=l.getColIndex(c-1),p;return t[0]={minIndex:u,maxIndex:d,minCoord:n,maxCoord:r-1,minBounds:s,maxBounds:c,visibleIndices:(e,t)=>e!==void 0&&t!==void 0?q(re,e,t):p||(p=Object.freeze(q(re,u,d)),p),metrics:l,maxVirtualBounds:U.getColOffset(r),scrollOffset:e,freezeOffset:(n>0?U.getColOffset(n):0)-i},t})(n)),t)},[F,U.getColIndex,U.getColOffset,re,se,r,f,H]),de=(0,M.useMemo)(()=>ue(0),[ue]),pe=(0,M.useRef)([]),[me,he]=(0,M.useReducer)(e=>e+1,0),ge=J.length,xe=de.length,Y=(0,M.useMemo)(()=>{let e=[],t=(t,n,r,i,a)=>{if(t>=xe||n>=ge)return null;let o={anchor:r,columnIndex:t,rowIndex:n,elemStage:null,refStage:null,scrollOrientation:{vertical:i?.vertical||!1,horizontal:i?.horizontal||!1},insets:Object.freeze({left:a?.left??0,top:a?.top??0,right:a?.right??0,bottom:a?.bottom??0})};o.elemStage=(0,N.jsx)(fe,{ref:e=>{e?(o.refStage=e,he()):o.refStage=null},className:`sxl-stage sxl-stage-${r}`,onFocus:e=>{P(r),D(e)},onBlur:e=>{k(e)}}),e.push(o)};return t(0,0,o.Center,Fe,Pe),t(0,1,o.Top,Ie),t(1,0,o.Left,Le),t(1,1,o.TopLeft,Re),e},[ge,xe]),X=(0,M.useMemo)(()=>{let e={},t={colStart:0,rowStart:0,colEnd:r-1,rowEnd:n-1},i=n=>be(n,{rowDims:J,columnDims:de,computeRowDims:le,computeColumnDims:ue,viewport:R,zoom:H,containerWidth:se,containerHeight:ce,getRangeFromCell:l,invalidate:K,totalRange:t,getSurfacePointFromPointer:(e,t)=>Ve(e,t),scrollTo:e=>qe(e),scrollCellCoordsIntoView:(e,t,n)=>Ke(e,t,n),getAllPanes:()=>e}),a=Y.length;for(let t=0;t<a;t++){let n=Y[t];e[n.anchor]=i(n)}return e=Object.freeze(e),e},[Y,J,de,le,ue,R,l,me]),Te=de[0]?.maxVirtualBounds??0,Ee=J[0]?.maxVirtualBounds??0,ke=B.ready,Z=(0,M.useMemo)(()=>{let e=de[1],t=J[1];return{left:e?e.metrics.getColOffset(e.maxIndex+1):0,top:t?t.metrics.getRowOffset(t.maxIndex+1):0}},[J,de]),Be=w(e=>{i.canUseDOM&&setTimeout(()=>{(X[j]??W(X))?.focus({preventScroll:!0,...e})},0)},[j,X]);(0,M.useEffect)(()=>{let e=pe.current,t=e.length;if(t>0){for(let n=0;n<t;n++)e[n]();pe.current=[]}},[X]);let Ve=(0,M.useCallback)((e,t)=>{let n=Q.current?.getBoundingClientRect();return n?{x:e-n.x,y:t-n.y}:{x:e,y:t}},[]),He=w((e,t)=>{if(Object.keys(X).length===1)return W(X);let n=Ve(e,t);if(!n)return W(X);let{x:r,y:i}=n,a=null,o=ze,s=o.length;for(let e=0;!a&&e<s;e++){let t=X[o[e]];t&&oe(r,i,t.getPaneBounds())&&(a=t)}return a||=W(X),a},[X,l]);(0,M.useEffect)(()=>{let e=de?.[1]?.scrollOffset??0,t=J?.[1]?.scrollOffset??0;R.setContent(Te,Ee,e,t)},[R,Te,Ee,de,J]);let Ue=w(e=>{let t=e?.left??e?.[0],n=e?.top??e?.[1];if(t===void 0&&n===void 0)return;let r=e?.behavior??`auto`,i=R.getTarget();t!==void 0&&(t=i.left+(t??0)),n!==void 0&&(n=i.top+(n??0)),i.left===t&&i.top===n||qe({left:t,top:n,behavior:r})},[]),We=w(e=>e===void 0?X[j]??W(X):X[e]??null,[X,j]),Ge=w(e=>{let t=X[j];if(!t)return W(X);let n=t.getScrollOrientation(),r={...t.getVisibleRange()};return n.vertical&&(r.rowStart=J[0].minCoord,r.rowEnd=J[0].maxCoord),n.horizontal&&(r.colStart=de[0].minCoord,r.colEnd=de[0].maxCoord),n&&c.isCellWithinRange(e,r)?t:W(X)},[X,j]),Ke=w((e,t={inline:`nearest`,block:`nearest`},n=null)=>{let r={rowIndex:0,colIndex:0,...e},i=null;if(n!==null){if(i=X[n],!i)return new Promise((e,t)=>{t(`Invalid view`)})}else i=Ge(r);if(!i)return Promise.resolve({});let a=l(r),o=i.getMetrics(),s=o.getColOffset(a.colStart),c=o.getRowOffset(a.rowStart),u=o.getColOffset(a.colEnd+1),d=o.getRowOffset(a.rowEnd+1),f=i.getPaneBounds(),p=i.getTotalSize(),m=i.getScrollTopLeft(),h=((e,t,n=!0)=>{n=!0===n?{block:`start`,inline:`end`}:!1===n?{block:`end`,inline:`end`}:{block:`end`,inline:`end`,...n};let r=ie(n.inline??`end`,e.x,e.x+e.width,t.left,t.left+t.width,t.totalWidth),i=ie(n.block??`end`,e.y,e.y+e.height,t.top,t.top+t.height,t.totalHeight);if(r!==void 0||i!==void 0)return{left:r??t.left,top:i??t.top}})({x:s+m.left,y:c+m.top,width:u-s,height:d-c},{left:m.left,top:m.top,width:f.width,height:f.height,totalWidth:p.width,totalHeight:p.height},t);if(!h)return Promise.resolve({...m});let g={...h},{left:_,top:v}=R.getScroll();g.left!==void 0&&(g.left>_?g.left+=Me:g.left<_&&(g.left-=je)),g.top!==void 0&&(g.top>v?g.top+=Me:g.top<v&&(g.top-=je));let y=i.getScrollOrientation();y.horizontal&&e.colIndex!==void 0||delete g.left,y.vertical&&e.rowIndex!==void 0||delete g.top;let b=g.left===void 0?0:Math.abs(g.left-_),x=g.top===void 0?0:Math.abs(g.top-v),S=(typeof t==`object`?t?.behavior:void 0)??(Math.max(b,x)<Ne||!R.isSettled()?`instant`:`smooth`);return new Promise((e,t)=>{try{qe({...g,behavior:S}),e(g)}catch(e){t(e)}})},[Te,Ee,X,l]),qe=w(e=>{let t=e?.left??e?.[0],n=e?.top??e?.[1],r=R.getTarget(),i=t??r.left,a=n??r.top,o=e?.behavior===`smooth`;R.setTarget(i,a,o)},[]),Q=O(t,()=>({focus:Be,invalidate:K,scrollTo:qe,scrollBy:Ue,scrollCellCoordsIntoView:Ke,getPaneFromClient:He,getPaneFromCell:Ge,getPane:We,onPaneChangeOnce:e=>{pe.current.push(e)}}),[X]);(0,M.useEffect)(()=>R.observe(Q.current),[R]);let Je=(e,t)=>{let n=(e=>{if(!e)return null;if(!Array.isArray(e))return e;let t=e=>(0,M.isValidElement)(e)&&e.props?.zIndex!=null?e.props.zIndex:0;return ye(e,[]).sort((e,n)=>t(e)-t(n)).map((e,t)=>(0,M.isValidElement)(e)?(0,M.createElement)(_e.Provider,{key:e.key??`layer-${t}`,value:t},e):e)})(t);return n?(0,N.jsx)(ve.Provider,{value:!1,children:(0,N.jsx)(we,{pane:e,viewport:R,children:v?v(e,n):n})}):null},Ye=(0,M.useMemo)(()=>{let e={},t=Object.keys(X),n=t.length;for(let r=0;r<n;r++){let n=t[r];e[n]=Je(X[n],_)}return e},[F,_,X,v,n,r]),Xe=(0,M.useMemo)(()=>Z.left===0?null:(0,N.jsx)(z,{linePoints:[0,0,0,ce+1],bounds:{x:Z.left,y:0,width:1,height:ce+1},...m}),[F,Z.left,ce,m]),Ze=(0,M.useMemo)(()=>Z.top===0?null:(0,N.jsx)(z,{linePoints:[0,0,se+1,0],bounds:{x:0,y:Z.top,width:se+1,height:1},...h}),[F,Z.top,se,h]),Qe=(0,M.useRef)(!1),$e=(0,M.useMemo)(()=>{if(!ke)return null;let e=(e,t)=>{let n=e.anchor,r=t.getPaneBounds(),i=Z.left>0,a=Z.top>0,s=a&&(n===o.Center||n===o.Left),c=a&&(n===o.Top||n===o.TopLeft),l=i&&(n===o.Center||n===o.Top),u=i&&(n===o.Left||n===o.TopLeft),d=1e6,f=s?-1:-1e6,p=l?-1:-1e6,m=u?r.width+2:d,h=c?r.height+2:d,g=s||c||l||u,_={position:`absolute`,left:r.x,top:r.y,width:r.width,height:r.height,clip:g?`rect(${f}px, ${m}px, ${h}px, ${p}px)`:void 0};return(0,N.jsx)(we,{pane:t,viewport:R,children:e.elemStage?(0,M.cloneElement)(e.elemStage,{style:_},Ye?.[n]):null},`pane:${n}`)},t=Y.length,n=Array(t);for(let r=0;r<t;r++){let t=Y[r],i=t.anchor,a=X[i];n[r]=a?e(t,a):null}return(0,N.jsxs)(N.Fragment,{children:[n,Xe,Ze]})},[X,Y,Ye,se,ce,ke,Z,Xe,Ze]);(0,M.useEffect)(()=>{!Qe.current&&$e&&ke&&(Qe.current=!0,A?.(Q.current))},[$e,ke]);let et=C();return(0,N.jsx)(`div`,{ref:Q,className:G(S,`sxl-grid-surface`,Oe[`sheetxl-grid`],{"sxl-touch-input":et===`touch`}),style:{overflow:`hidden`,...T},...E,children:(0,N.jsx)(De,{children:$e})})}));ke.displayName=`GridSurface`;var Ae=Object.freeze({getColOffset:e=>75*e,getColIndex:e=>Math.floor(e/75),getRowOffset:e=>20*e,getRowIndex:e=>Math.floor(e/20)}),je=0,Me=20,Ne=150,Pe=Object.freeze({bottom:-4,right:-4}),Fe=Object.freeze({horizontal:!0,vertical:!0}),Ie=Object.freeze({horizontal:!0,vertical:!1}),Le=Object.freeze({horizontal:!1,vertical:!0}),Re=Object.freeze({horizontal:!1,vertical:!1}),ze=[o.TopLeft,o.Top,o.Left,o.Center];function Z(){let e=(0,M.useContext)(X);if(!e)throw Error(`useGridPane must be used within a GridPaneProvider`);return e.pane}function Be(){return(0,M.useContext)(X)?.pane??null}var Ve=e=>`k:${e}`;function He(e,t){let n=(0,M.useContext)(Ee),r=(0,M.useRef)(null);r.current||=Te();let i=n??r.current,a=Ve(e),o=(0,M.useRef)(null);o.current===null&&(o.current={v:typeof t==`function`?t():t});let s=(0,M.useCallback)(()=>i.has(a)?i.get(a):o.current.v,[i,a]);return[(0,M.useSyncExternalStore)((0,M.useCallback)(e=>i.subscribe(a,e),[i,a]),s,s),(0,M.useCallback)(e=>{let t=i.has(a)?i.get(a):o.current.v;i.set(a,typeof e==`function`?e(t):e)},[i,a])]}function Ue(e,t){let n=(0,M.useContext)(Ee),r=(0,M.useRef)(null);r.current||=Te();let i=n??r.current,a=Ve(e),o=(0,M.useRef)(t);return(0,M.useCallback)(e=>{let t=i.has(a)?i.get(a):o.current;i.set(a,typeof e==`function`?e(t):e)},[i,a])}function We(e,t){let n=(0,M.useContext)(Ee),r=(0,M.useRef)(null);r.current||=Te();let i=n??r.current;if(e===null)return null;let a=Ve(`object:${e}`);return i.has(a)||i.set(a,t()),i.get(a)}function Ge(e,t,n){let r=Ve(t),i=(0,M.useCallback)(()=>e.has(r)?e.get(r):n,[e,r,n]);return(0,M.useSyncExternalStore)((0,M.useCallback)(t=>e.subscribe(r,t),[e,r]),i,i)}var Ke=()=>({zIndex:(0,M.useContext)(_e),pane:Be()}),qe=(0,M.memo)(e=>{let{onPointerDown:t,onPointerMove:n,onPointerUp:r,onPointerLeave:i,onMouseDown:a,onMouseEnter:o,onMouseLeave:s,onMouseMove:c,onMouseOut:l,onMouseOver:u,onMouseUp:d,onDoubleClick:f,onKeyDown:p,onKeyPress:m,onKeyUp:h,onFocus:g,onBlur:_,onContextMenu:v,zIndex:y,className:b,style:x,children:S}=e,C=(0,M.useContext)(ve);(0,M.useEffect)(()=>{C&&!Je&&(Je=!0,console.error(`<Layer> nested inside another <Layer>. Layers exist only as direct children of the grid (law 4: the stack is flat) — a composite renders exactly one Layer at its root. For a full-view container inside a layer, use <VirtualDiv fill>. This error fires once.`))},[C]);let w=de(Be()),T=(0,M.useContext)(_e),E=(0,M.useRef)({});E.current={pointerdown:Q(t),pointermove:Q(n),pointerup:Q(r),pointerleave:Q(i),mousedown:Q(a),mouseenter:Q(o),mouseleave:Q(s),mousemove:Q(c),mouseout:Q(l),mouseover:Q(u),mouseup:Q(d),dblclick:Q(f),keydown:Q(p),keypress:Q(m),keyup:Q(h),focus:Q(g),blur:Q(_),contextmenu:Q(v)};let D=(0,M.useRef)(null);return(0,M.useEffect)(()=>{if(w)return w.registerResponder({zIndex:T,getElement:()=>D.current,getHandler:e=>E.current[e]})},[w,T]),(0,N.jsx)(`div`,{ref:D,className:b,style:x,onPointerDown:t,onPointerMove:n,onPointerUp:r,onMouseDown:a,onMouseMove:c,onMouseUp:d,onMouseOver:u,onMouseOut:l,onDoubleClick:f,onKeyDown:p,onKeyPress:m,onKeyUp:h,onContextMenu:v,children:S==null?null:(0,N.jsx)(ve.Provider,{value:!0,children:S})})});qe.displayName=`Layer`;var Q=e=>e?t=>e(t):void 0,Je=!1,Ye=!1,Xe=`_virtual-div_16eab_1`,Ze=(0,M.memo)((0,M.forwardRef)((e,t)=>{let{range:n,bounds:r,fill:i=!1,clipInsets:a,disableAlign:o=!1,coverGridlines:s=!1,alignWidth:c,keepMounted:l=!1,className:u,style:f,children:p,...m}=e;(0,M.useContext)(ve)||Qe||(Qe=!0,console.warn(`VirtualDiv rendered outside a <Layer>. The grid's children are Layers; place VirtualDivs inside one (law 4: the stack is flat). This warning fires once.`));let h=(0,M.useRef)(null),g=(0,M.useCallback)(e=>{h.current=e,typeof t==`function`?t(e):t&&(t.current=e)},[t]);(({getElement:e,handlerProps:t})=>{let n=de(Be()),r=(0,M.useContext)(_e),i=!1;if(t){for(let e=0;e<le.length;e++)if(typeof t[le[e]]==`function`){i=!0;break}}let a=(0,M.useRef)({getElement:e,handlerProps:t});a.current={getElement:e,handlerProps:t},(0,M.useEffect)(()=>{if(n)return n.registerLayer({zIndex:r,getElement:()=>a.current.getElement(),hasHandlers:i,getHandler:i?e=>{let t=ce[e];if(t===void 0)return;let n=a.current.handlerProps?.[t];return typeof n==`function`?e=>n(e):void 0}:void 0})},[n,i,r])})({getElement:()=>h.current,handlerProps:m});let _=(({range:e,bounds:t,fill:n,clipInsets:r})=>{let i=Z();if(!i)return null;let a=null,o=!1;if(e)a=i.getBoundsFromRange(e),o=i.toClipBounds(a,r)===null;else if(t)o=i.toClipBounds(t,r)===null,a=t;else{if(!n)return Ye||(Ye=!0,console.warn(`VirtualDiv: provide exactly one of 'range' | 'bounds' | 'fill'. (The implicit "no placement = pane-sized" fallback was removed — use 'fill'.) This warning fires once.`)),null;{let e=i.getPaneBounds();a={x:0,y:0,width:e.width,height:e.height}}}return a?{pane:i,raw:a,culled:o}:null})({range:n,bounds:r,fill:i,clipInsets:a});if(!_)return null;let{raw:v,culled:y}=_;if(y&&!l)return null;let b=d.getDevicePixelRatio(),x=c!=null,S=x?c/b:0,C,w,T,E;if(o)C=v.x,w=v.y,T=v.width,E=v.height;else if(x){let e=d.edgeCenter(v.x,`leading`,c,b),t=d.edgeCenter(v.y,`leading`,c,b);C=e-S/2,w=t-S/2,T=d.edgeCenter(v.x+v.width,`trailing`,c,b)-e+S,E=d.edgeCenter(v.y+v.height,`trailing`,c,b)-t+S}else{let e=s?1/b:0;C=d.snapDeviceEdge(v.x,b),w=d.snapDeviceEdge(v.y,b),T=d.snapDeviceEdge(v.x+v.width,b)+e-C,E=d.snapDeviceEdge(v.y+v.height,b)+e-w}let{transform:D,...O}=f??{},k={x:v.x-C,y:v.y-w,width:v.width,height:v.height};return(0,N.jsx)(`div`,{className:G(u,Xe),style:{width:`${T}px`,height:`${E}px`,...x?{boxSizing:`border-box`,borderWidth:`${S}px`,borderStyle:`solid`}:void 0,...O,transform:`translate(${C}px, ${w}px)${D?` ${D}`:``}`},...m,ref:g,children:p==null?null:(0,N.jsx)(L.Provider,{value:k,children:p})})}));Ze.displayName=`VirtualDiv`;var Qe=!1,$e=(e,t,n,r)=>({x:e,y:t,width:n,height:r,top:t,left:e,right:e+n,bottom:t+r}),et=$e(0,0,0,0),tt=e=>{let t=e.getElement()?.getBoundingClientRect?.();return{x:t?.left??0,y:t?.top??0}},nt=e=>{let t=e.getElement()?.ownerDocument?.documentElement;return t?$e(0,0,t.clientWidth,t.clientHeight):null},rt=(e,t)=>{if(!t)return e;let n=Math.max(e.left,t.left),r=Math.max(e.top,t.top),i=Math.max(n,Math.min(e.right,t.right)),a=Math.max(r,Math.min(e.bottom,t.bottom));return $e(n,r,i-n,a-r)},it=e=>{let t=e.getElement()?.getBoundingClientRect?.();return t?$e(t.left,t.top,t.width,t.height):et},at={side:`t`,align:`center`},ot={side:`flip`,align:`slide`},st=[o.TopLeft,o.Top,o.Left,o.Center],ct=new Set([o.Top,o.TopLeft]),lt=new Set([o.Left,o.TopLeft]),ut=(e,t)=>{let n=ct.has(e.getAnchor()),r=lt.has(t.getAnchor());return n&&r?o.TopLeft:n?o.Top:r?o.Left:o.Center},dt=(e,t)=>{let n=(t.left+t.right)/2,r=(t.top+t.bottom)/2;return r<e.top?`t`:r>e.bottom?`b`:n<e.left?`l`:n>e.right?`r`:null},ft=(e,t,n,r,i,a)=>{let o=r===`row`?i.rowStart:i.colStart,s=r===`row`?i.rowEnd:i.colEnd,c=((e,t,n,r,i)=>{let a=null,o=null,s=1/0,c=!1;for(let l=0;l<st.length;l++){let u=e[st[l]];if(!u)continue;let d=u.getVisibleRange(),f=t===`row`?d.rowStart:d.colStart,p=t===`row`?d.rowEnd:d.colEnd;if(n>p||r<f)continue;c=!0,!a&&i>=f&&i<=p&&(a=u);let m=i<f?f-i:i>p?i-p:0;m<s&&(s=m,o=u)}return{pane:a??o,visible:c}})(t,r,o,s,a===`start`?o:a===`end`?s:Math.round((o+s)/2)),l=c.pane??W(t)??e,u=((e,t)=>{let n=it(e),r=e.getBoundsFromRange(t);return $e(n.left+r.x,n.top+r.y,r.width,r.height)})(l,i),d=r===`row`?u.top:u.left,f=r===`row`?u.bottom:u.right,p=a===`start`?d:a===`end`?f:(d+f)/2,m=rt(it(l),n);return{pane:l,visible:c.visible,value:p,lo:d,hi:f,vLo:r===`row`?m.top:m.left,vHi:r===`row`?m.bottom:m.right}},pt=(e,t,n,r,i,a,o)=>{let s=ft(e,t,n,r,i,a);if(!s.visible||!(s.value<s.vLo||s.value>s.vHi))return{res:s,edge:a,hidden:!1};if(o===`hide`)return{res:s,edge:a,hidden:!0};if(o===`flip`&&a!==`center`){let o=a===`start`?`end`:`start`,s=ft(e,t,n,r,i,o);if(s.visible&&s.value>=s.vLo&&s.value<=s.vHi)return{res:s,edge:o,hidden:!1}}return{res:s,edge:a,hidden:!1}},mt=(e,t,n=`data`,r=0,i=at,a=`hide`,o=ot)=>{let s={side:i.side,align:i.align??`center`};if(!e)return{rect:et,clipped:!0,boundaryRect:et,clampedTo:null,anchorPoint:{x:0,y:0},owner:null,slid:null,outOfView:!0,placement:s};let c=((e,t)=>{if(t&&typeof t==`object`){let e=t;return $e(e.x,e.y,e.width,e.height)}let n=nt(e);if(t===`viewport`&&n)return n;if(t===`pane`){let t=tt(e),r=e.getPaneBounds();return rt($e(t.x,t.y,r.width,r.height),n)}let r=e.getAllPanes(),i=1/0,a=1/0,o=-1/0,s=-1/0;for(let e of Object.keys(r)){let t=r[e]?.getElement()?.getBoundingClientRect?.();t&&(i=Math.min(i,t.left),a=Math.min(a,t.top),o=Math.max(o,t.right),s=Math.max(s,t.bottom))}if(i===1/0){let t=tt(e),r=e.getPaneBounds();return rt($e(t.x,t.y,r.width,r.height),n)}return rt($e(i,a,o-i,s-a),n)})(e,n),l=e=>{if(r<=0)return!1;let t=(n=e,i=c,{w:Math.min(n.right,i.right)-Math.max(n.left,i.left),h:Math.min(n.bottom,i.bottom)-Math.max(n.top,i.top)});var n,i;return t.w<=r||t.h<=r};if(`point`in t){let n=$e(t.point.x,t.point.y,0,0),r=dt(c,n),i=e.getPaneFromPointer(t.point.x,t.point.y);return{rect:n,clipped:r!==null,boundaryRect:c,clampedTo:r,anchorPoint:{...t.point},owner:i?.getAnchor()??null,slid:null,outOfView:!1,placement:s}}if(`edge`in t){let n=tt(e),r=e.getPaneBounds(),i=n.x+r.width/2,a=n.y+r.height/2;t.edge===`t`?a=n.y:t.edge===`b`?a=n.y+r.height:t.edge===`l`?i=n.x:t.edge===`r`&&(i=n.x+r.width);let o=e.getPaneFromPointer(i,a)??e;return{rect:$e(i,a,0,0),clipped:!1,boundaryRect:c,clampedTo:null,anchorPoint:{x:i,y:a},owner:o.getAnchor(),slid:null,outOfView:!1,placement:s}}if(`bounds`in t){let n=tt(e),r=t.bounds,i=e.toClipBounds(r,0),a=$e(n.x+r.x,n.y+r.y,r.width,r.height),o=i===null||l(a),d=((e,t)=>{let{side:n,align:r=`center`}=t;if(n===`t`||n===`b`){let t=n===`t`?e.top:e.bottom;return{x:r===`start`?e.left:r===`end`?e.right:(e.left+e.right)/2,y:t}}return{x:n===`l`?e.left:e.right,y:r===`start`?e.top:r===`end`?e.bottom:(e.top+e.bottom)/2}})(a,s);return{rect:a,clipped:o,boundaryRect:c,clampedTo:dt(c,(u=d,$e(u.x,u.y,0,0))),anchorPoint:d,owner:e.getAnchor(),slid:null,outOfView:o,placement:s}}var u;let d=(e=>{if(`range`in e)return e.range;if(`cell`in e){let{rowIndex:t,colIndex:n}=e.cell;return{rowStart:t,colStart:n,rowEnd:t,colEnd:n}}return null})(t),f=e.getAllPanes(),p=nt(e),{side:m,align:h}=s,g=m===`t`||m===`b`?`row`:`col`,_=g===`row`?`col`:`row`,v=m===`t`||m===`l`?`start`:`end`,y={side:o.side??ot.side,align:o.align??ot.align},b=pt(e,f,p,g,d,v,y.side),x=pt(e,f,p,_,d,h,y.align),S=g===`row`?b:x,C=g===`col`?b:x,w=S.res.visible&&C.res.visible&&!S.hidden&&!C.hidden,T={side:g===`row`?b.edge===`start`?`t`:`b`:b.edge===`start`?`l`:`r`,align:x.edge},E=C.res.value,D=S.res.value,O=e=>Math.max(C.res.vLo,Math.min(C.res.vHi,e)),k=e=>Math.max(S.res.vLo,Math.min(S.res.vHi,e)),A=O(E),j=k(D),M={x:A,y:j},N=O(C.res.lo),P=k(S.res.lo),F=$e(N,P,O(C.res.hi)-N,k(S.res.hi)-P),I=A-E,L=j-D,R=Math.abs(L)>=Math.abs(I)?L<0?`b`:L>0?`t`:I<0?`r`:I>0?`l`:null:I<0?`r`:I>0?`l`:L<0?`b`:L>0?`t`:null,z=I||L?{dx:I,dy:L,distance:Math.hypot(I,L),direction:R??`t`}:null;return w||a!==`hide`?{rect:F,clipped:!1,boundaryRect:c,clampedTo:R,anchorPoint:M,owner:ut(S.res.pane,C.res.pane),slid:z,outOfView:!w,placement:T}:{rect:F,clipped:!0,boundaryRect:c,clampedTo:R,anchorPoint:M,owner:null,slid:null,outOfView:!0,placement:T}},ht=(0,M.createContext)(null),gt=e=>{let{anchor:t,placement:n=at,boundary:r=`data`,whenOff:i=`hide`,whenPartial:a,minVisible:o=0,children:s}=e,{reference:c,getBoundaryRect:l,getAnchorPoint:u,anchorPoint:d,owner:f,clipped:p,slid:m,outOfView:h,pane:g,placement:_}=((e,t)=>{let n=Be(),r=t?.pane??n,i=t?.boundary??`data`,a=t?.minVisible??0,o=t?.placement??at,s=t?.whenOff??`hide`,c=t?.whenPartial??ot,l=(0,M.useRef)({pane:r,anchor:e,boundary:i,minVisible:a,placement:o,whenOff:s,whenPartial:c});l.current={pane:r,anchor:e,boundary:i,minVisible:a,placement:o,whenOff:s,whenPartial:c};let u=(0,M.useMemo)(()=>{let e=()=>{let e=l.current;return mt(e.pane,e.anchor,e.boundary,e.minVisible,e.placement,e.whenOff,e.whenPartial)};return{reference:{get contextElement(){return l.current.pane?.getElement()??void 0},getBoundingClientRect:()=>e().rect},getBoundaryRect:()=>e().boundaryRect,getAnchorPoint:()=>e().anchorPoint}},[]),d=mt(r,e,i,a,o,s,c);return{reference:u.reference,getBoundaryRect:u.getBoundaryRect,getAnchorPoint:u.getAnchorPoint,clipped:d.clipped,clampedTo:d.clampedTo,anchorPoint:d.anchorPoint,owner:d.owner,slid:d.slid,outOfView:d.outOfView,placement:d.placement,pane:r}})(t,{boundary:r,whenOff:i,whenPartial:a,minVisible:o,placement:n}),v=g!=null&&(f==null?g===W(g.getAllPanes()):g.getAnchor()===f),y=null;v&&g&&(`range`in t?y=g.getBoundsFromRange(t.range):`cell`in t?y=g.getBoundsFromRange({rowStart:t.cell.rowIndex,colStart:t.cell.colIndex,rowEnd:t.cell.rowIndex,colEnd:t.cell.colIndex}):`bounds`in t&&(y=t.bounds));let b=(0,M.useRef)(t);b.current=t;let x=(0,M.useRef)(g);x.current=g;let S=(0,M.useCallback)(e=>{let t=_t(b.current),n=x.current;return n&&t?n.scrollCellCoordsIntoView(t,e):Promise.resolve(void 0)},[]),C=(0,M.useMemo)(()=>({reference:c,getBoundaryRect:l,getAnchorPoint:u,anchorPoint:d,bounds:y,owner:f,isOwner:v,clipped:p,slid:m,outOfView:h,placement:_,pane:g,scrollIntoView:S}),[c,l,u,d.x,d.y,y?.x,y?.y,y?.width,y?.height,f,v,p,m,h,_.side,_.align,g,S]),w=v&&!p&&g!=null,T=typeof s!=`function`,E=(0,M.useRef)(null),D=(0,M.useRef)(null),O=null;if(w&&!T)O=s(C);else if(w){let e=g.getElement()?.getBoundingClientRect(),t=d.x-(e?.left??0),n=d.y-(e?.top??0);O=(0,N.jsx)(`div`,{ref:E,className:`sxl-sticky-layer`,style:{position:`absolute`,left:0,top:0,transform:`translate3d(${t}px, ${n}px, 0) ${vt(_)}`,willChange:`transform`},children:(0,N.jsx)(`div`,{ref:D,children:s})})}return(0,M.useLayoutEffect)(()=>{let e=E.current,t=D.current;if(!(e&&t&&w&&g))return;let n=e.getBoundingClientRect(),r=g.getElement()?.getBoundingClientRect();if(!r)return;let i=0,a=0;n.left<r.left?i=r.left-n.left:n.right>r.right&&(i=Math.min(0,r.right-n.right)),n.top<r.top?a=r.top-n.top:n.bottom>r.bottom&&(a=Math.min(0,r.bottom-n.bottom)),t.style.transform=i||a?`translate(${i}px, ${a}px)`:``}),(0,N.jsx)(ht.Provider,{value:C,children:O})},_t=e=>`range`in e?{rowIndex:e.range.rowStart,colIndex:e.range.colStart}:`cell`in e?{rowIndex:e.cell.rowIndex,colIndex:e.cell.colIndex}:null,vt=e=>{let{side:t,align:n=`center`}=e,r=`-50%`,i=`-50%`;t===`t`?i=`-100%`:t===`b`?i=`0%`:t===`l`?r=`-100%`:t===`r`&&(r=`0%`);let a=n===`start`?`0%`:n===`end`?`-100%`:`-50%`;return t===`t`||t===`b`?r=a:i=a,`translate(${r}, ${i})`};gt.displayName=`StickyAnchor`;var yt=e=>{let{side:t,align:n=`center`}=e;return(t===`t`?`top`:t===`b`?`bottom`:t===`l`?`left`:`right`)+(n===`start`?`-start`:n===`end`?`-end`:``)},bt={padding:4},xt=e=>{let{state:t,offset:n,alignOffset:r,open:i,container:a,className:o,style:s,zIndex:c,themeFrom:l,renderOffscreen:u,children:d,onMount:f,onOpening:m,onOpen:h,onClosing:g,onClose:_}=e,v=(0,M.useRef)(null);(0,M.useLayoutEffect)(()=>{v.current?.instance()?.update()},[t]);let y=t.outOfView&&u?(0,N.jsx)(j,{render:u,props:t}):typeof d==`function`?d(t):d;return(0,N.jsx)(p,{ref:v,open:i,anchorEl:t.reference,placement:yt(t.placement),offsets:{mainAxis:n,alignmentAxis:r},boundary:t.getBoundaryRect,shift:bt,strategy:`fixed`,resizeOnOverflow:!1,transition:!1,themeFrom:l,container:a,className:o,style:s,zIndex:c,onMount:f,onOpening:m,onOpen:h,onClosing:g,onClose:_,children:Array.isArray(y)?(0,N.jsx)(N.Fragment,{children:y}):y})},St=e=>{let{anchor:t,placement:n,whenOff:r,whenPartial:i,boundary:a,minVisible:o,offset:s=4,alignOffset:c=0,open:l=!0,container:u,className:d,style:f,zIndex:p=A(`grid`),themeFrom:m=`anchor`,renderOffscreen:h,children:g,onMount:_,onOpening:v,onOpen:y,onClosing:b,onClose:x}=e;return(0,N.jsx)(gt,{anchor:t,placement:n,whenOff:r,whenPartial:i,boundary:a,minVisible:o,children:e=>(0,N.jsx)(xt,{state:e,offset:s,alignOffset:c,open:l,container:u,className:d,style:f,zIndex:p,themeFrom:m,renderOffscreen:h,onMount:_,onOpening:v,onOpen:y,onClosing:b,onClose:x,children:g})})};St.displayName=`StickyPortal`;var Ct=e=>{let[t,n]=(e??`bottom-start`).split(`-`);return{side:t===`top`?`t`:t===`left`?`l`:t===`right`?`r`:`b`,align:n===`start`?`start`:n===`end`?`end`:`center`}},wt=e=>{let{open:t,anchorEl:n,floatReference:r,renderPopupPanel:i,propsPopper:a,onMount:o,onOpening:s,onOpen:c,onClosing:l,onClose:u,children:d,className:f,label:p,anchorPosition:m,...g}=e,_=(0,M.useRef)(null),[v,y]=(0,M.useState)(),b=w((e,t)=>{y(e),o?.(_.current,t)},[o]),x=w(()=>{r?.close(0)},[r]),S=a?.offsets,[C,T]=Array.isArray(S)?[S[0]??0,S[1]??2]:[S?.alignmentAxis??S?.crossAxis??0,S?.mainAxis??2];return(0,N.jsx)(St,{anchor:n,placement:Ct(a?.placement),offset:T,alignOffset:C,zIndex:A(`popup`),open:t,onMount:b,onOpening:s,onOpen:c,onClosing:l,onClose:u,children:e=>(0,N.jsxs)(`div`,{onKeyDown:a?.onKeyDown,onMouseEnter:a?.onMouseEnter,children:[(0,N.jsx)(h,{ref:_,className:f,floatReference:r,popupContainer:v,renderPopupPanel:i,...g,children:d}),(0,N.jsx)(Tt,{outOfView:t&&e.outOfView,close:x})]})})};wt.displayName=`GridFloatPanel`;var Tt=({outOfView:e,close:t})=>(M.useEffect(()=>{e&&t()},[e]),null),Et=e=>(0,N.jsx)(wt,{...e}),Dt={timing:{enterDelay:300,enterNextDelay:0,armedFor:800,leaveDelay:400},group:(()=>{let e=null,t=new Set,n=-1/0,r=null,i=()=>{for(let e of[...t])e.gesture||e.forceClose()},a=e=>{let n=e.target;if(n){for(let e of t)if(e.getElement()?.contains(n))return}i()},o=e=>{e.key===`Escape`&&i()},s=e=>{if(e!==(r!==null)){if(e){let e=typeof document<`u`?document:null;if(!e)return;e.addEventListener(`pointerdown`,a,!0),e.addEventListener(`keydown`,o,!0),r=e}else r.removeEventListener(`pointerdown`,a,!0),r.removeEventListener(`keydown`,o,!0),r=null}};return{claim(n){if(e!==null&&e!==n.key)for(let e of[...t])e.key!==n.key&&e.forceClose();e=n.key,t.add(n),s(!0)},release(r){t.delete(r)&&t.size===0&&(e=null,r.gesture||(n=performance.now()),s(!1))},isArmed:e=>performance.now()-n<e,isHeld(){for(let e of t)if(e.gesture)return!0;return!1},closeAll:()=>{for(let e of[...t])e.forceClose()}}})()},Ot=(0,M.createContext)(null),kt=()=>(0,M.useContext)(Ot)??Dt,At={boxSizing:`border-box`,maxWidth:300,padding:`2px 6px`,borderRadius:4,fontSize:11,lineHeight:1.5,color:`var(--sxl-color-base-content, rgba(0, 0, 0, 0.87))`,background:`var(--sxl-color-base-100, #ffffff)`,border:`1px solid var(--sxl-color-base-300, rgba(0, 0, 0, 0.2))`,boxShadow:`0 2px 8px var(--sxl-color-shadow, rgba(0, 0, 0, 0.35))`,overflowWrap:`break-word`},jt=e=>{let{children:t,interactive:n,tipProps:r,className:i,style:a}=e;return(0,N.jsx)(`div`,{...r,className:i,style:{...At,...a,pointerEvents:n?`auto`:`none`},children:t})},Mt={pointerEvents:`auto`},Nt=(e={})=>{let{openDelay:t,closeDelay:n,group:r=!0,name:i,gesture:a=!1}=e,o=kt(),s=v(),c=(0,M.useId)(),l=i??c,[u,d]=(0,M.useState)(!1),f=(0,M.useRef)(!1),p=(0,M.useRef)(null),m=(0,M.useRef)(!1),h=(0,M.useRef)(null),g=(0,M.useRef)(null),_=(0,M.useRef)(null),y=(0,M.useRef)({surface:o,popupOpen:s,openDelay:t,closeDelay:n,group:r,gesture:a});y.current={surface:o,popupOpen:s,openDelay:t,closeDelay:n,group:r,gesture:a};let b=()=>{g.current&&=(clearTimeout(g.current),null)},x=()=>{_.current&&=(clearTimeout(_.current),null)},S=(0,M.useRef)(l);S.current=l;let C=(0,M.useMemo)(()=>({get key(){return S.current},get gesture(){return y.current.gesture},getElement:()=>h.current,forceClose:()=>T()}),[]),w=()=>{let{surface:e,popupOpen:t,group:n,gesture:r}=y.current;!n||r||!e.group.isHeld()&&!t?(n&&e.group.claim(C),f.current=!0,d(!0)):p.current=null},T=()=>{b(),x(),p.current=null,m.current=!1;let e=f.current;f.current=!1,d(!1),e&&y.current.group&&y.current.surface.group.release(C)},E=(0,M.useCallback)(()=>{b(),x();let{surface:e,closeDelay:t}=y.current;_.current=setTimeout(()=>{_.current=null,m.current||p.current!==null||T()},t??e.timing.leaveDelay)},[]),D=(0,M.useCallback)(e=>{if(e!==p.current){if(p.current=e,e!==null){if(x(),f.current)return;b();let{surface:e,openDelay:t,group:n,gesture:r}=y.current;if(r)return void w();let i=t??(n&&e.group.isArmed(e.timing.armedFor)?e.timing.enterNextDelay:e.timing.enterDelay);g.current=setTimeout(()=>{g.current=null,p.current!==null&&w()},i)}else E()}},[E]),O=(0,M.useCallback)(()=>{T()},[]);(0,M.useEffect)(()=>{s&&r&&!a&&T()},[s,r,a]);let k=(0,M.useMemo)(()=>({ref:e=>{h.current=e},onPointerEnter:()=>{m.current=!0,x()},onPointerLeave:()=>{m.current=!1,E()},style:Mt}),[E]);return(0,M.useEffect)(()=>()=>{b(),x(),f.current&&y.current.group&&y.current.surface.group.release(C)},[]),{open:u,setTarget:D,tipProps:k,close:O}},Pt={pointerEvents:`none`},Ft={display:`contents`},It=e=>{e.stopPropagation()},Lt={target:null,aimed:null},Rt=e=>({key:e.key??he(e.range),range:e.range,data:e.data,placement:e.placement,alignOffset:e.alignOffset}),zt=e=>e?e.key??he(e.range):null,Bt=e=>{let t=e.getCoords();return t?`${t.rowIndex},${t.colIndex}`:null},Vt=e=>{let{hovered:t,selection:n,probe:r,name:i,target:a,dismiss:o,placement:s,offset:c=6,alignOffset:l=0,openDelay:u,closeDelay:d,group:f,hold:p=!1,whenOff:m=`hide`,whenPartial:h,boundary:g,zIndex:_,interactive:v=`pointer`,onDismiss:y,children:b,style:x}=e,S=Z(),C=(0,M.useContext)(_e),E=t!==void 0,D=!!n,O=a!==void 0,k=`range-float:${i??C}`,{open:A,setTarget:j,tipProps:P,close:F}=Nt({openDelay:u,closeDelay:d,name:k,group:f}),[I,L]=He(k,Lt),R=E?zt(t):null,z=M.useRef(t);z.current=t,(0,M.useEffect)(()=>{if(!E)return;let e=z.current;if(!e)return void L(e=>e.aimed===null?e:{target:e.target,aimed:null});let t=Rt(e);L(e=>e.aimed===t.key&&e.target?.key===t.key?e:{target:t,aimed:t.key})},[E,R,L]);let B=E?I.aimed:null;(0,M.useEffect)(()=>{j(B)},[B,j]);let[V,H]=(0,M.useState)(null),U=(0,M.useRef)(null),ee=(0,M.useRef)(!1);(0,M.useEffect)(()=>{o&&(F(),H(null),L(Lt))},[o,F,L]);let te=w(e=>{let t=V!==null;if(F(),H(null),L(Lt),y?.(),!t)return;let n=S.getElement()?.ownerDocument.activeElement;e&&n&&n!==n.ownerDocument.body||S.focus()},[V,F,L,y,S]),ne=T(D?n:void 0,Bt),W=null;if(D&&!o&&n&&ne!==null){let e=r?.(n.getCoords(),S);e&&e.range&&(W=Rt(e))}let re=E?I.target:null,G=(A||p)&&re!==null,K=O?a===null?null:Rt(a):G?re:W??re,q=V?K?.key===V.key?K:V:K,ie=V!==null||(O?q!==null:G||W!==null),ae=v===`focus`&&ie&&q!==null;if((0,M.useEffect)(()=>{if(!ae)return;let e=S.getElement()?.ownerDocument??(typeof document<`u`?document:null);if(!e)return;let t=null,n=()=>{ee.current=!1,t&&clearTimeout(t),t=setTimeout(()=>{t=null,ee.current||te(!0)},0)};return e.addEventListener(`pointerdown`,n,!0),()=>{e.removeEventListener(`pointerdown`,n,!0),t&&clearTimeout(t)}},[ae,S,te]),(0,M.useEffect)(()=>()=>{U.current&&clearTimeout(U.current)},[]),!q)return null;let oe=v===`none`?{...P,style:Pt}:P;return(0,N.jsx)(St,{anchor:{range:q.range},placement:q.placement??s,offset:c,alignOffset:q.alignOffset??l,boundary:g,zIndex:_,open:ie,whenOff:m,whenPartial:h,style:v===`none`?{...x,...Pt}:x,children:e=>{let t=b({range:q.range,data:q.data,floatProps:oe,state:e});if(v===`none`)return t;let n=v===`focus`;return(0,N.jsx)(`div`,{className:`sxl-range-float-frame`,style:Ft,onPointerDownCapture:n?()=>{ee.current=!0}:void 0,onPointerDown:It,onPointerUp:It,onMouseDown:It,onMouseUp:It,onClick:It,onDoubleClick:It,onContextMenu:It,onKeyDown:e=>{e.stopPropagation(),n&&e.key===`Escape`&&!e.defaultPrevented&&te(!1)},onKeyUp:It,onCopy:It,onCut:It,onPaste:It,onWheel:It,onFocus:n?()=>{U.current&&=(clearTimeout(U.current),null),V||H(q)}:void 0,onBlur:n?()=>{U.current&&clearTimeout(U.current),U.current=setTimeout(()=>{U.current=null,H(null)},0)}:void 0,children:t})}})};Vt.displayName=`VirtualRangeFloat`;var Ht=(e,t)=>Array.isArray(e)?e.includes(t):e===t,Ut=e=>{let{activateOn:t,probe:n,selection:r,hoveredOver:i,className:a,onPointerMove:o,onPointerLeave:s,...c}=e,l=Z(),u=Ht(t,`hover`),d=Ht(t,`selection`),[f,p]=(0,M.useState)(null),m=w(e=>{let t=l.getCellFromPointer(e.clientX,e.clientY),r=t?n?.(t,l)??null:null,i=r?.range?r:null;p(e=>zt(e)===zt(i)?e:i)},[l,n]),h=w(()=>{p(null)},[]);return(0,N.jsx)(qe,{className:G(a,`sxl-range-float`),onPointerMove:u?m:void 0,onPointerLeave:u?h:void 0,children:(0,N.jsx)(Vt,{...c,hovered:u?i??f:void 0,selection:d?r:void 0,probe:n})})};Ut.displayName=`RangeFloatLayer`;var Wt=e=>{let{children:t,className:n,style:r,interactive:i=!1,bubble:a=!0,...o}=e,{renderTooltip:s}=kt(),c=s??jt;return(0,N.jsx)(Ut,{...o,activateOn:`hover`,className:G(n,`sxl-range-tooltip`),style:r,interactive:i?`pointer`:`none`,zIndex:ge,children:({range:e,data:n,floatProps:r,state:o})=>{let s=t({range:e,data:n,tipProps:r,state:o});return a?(0,N.jsx)(j,{render:c,props:{children:s,placement:o.placement,interactive:i,tipProps:r}}):s}})};Wt.displayName=`RangeTooltipLayer`;var Gt=e=>1-(1-e)*(1-e),Kt=()=>typeof window<`u`&&typeof window.matchMedia==`function`&&window.matchMedia(`(prefers-reduced-motion: reduce)`).matches,qt=(e,t)=>{let n=(e,t,n)=>Math.max(t,Math.min(n,e)),r=t.x-16,i=t.x+t.width+16,a=t.y-16,o=t.y+t.height+16,s=n(e.x,r,i),c=n(e.x+e.width,r,i),l=n(e.y,a,o);return{x:s,y:l,width:c-s,height:n(e.y+e.height,a,o)-l}},Jt=(e,t,n,r,i,a)=>{let o=e+t,s=n+r,c=e!==n,l=o!==s,u=c?e+(n-e)*i:n,d=l?o+(s-o)*i:s;if(c&&l){let e=d-u;return[Math.round(u*a)/a,e]}return[u,d-u]},Yt=(e,t,n,r)=>{if(n>=1)return t;let[i,a]=Jt(e.x,e.width,t.x,t.width,n,r),[o,s]=Jt(e.y,e.height,t.y,t.height,n,r);return{x:i,y:o,width:a,height:s}},Xt=(e,t,n=`center`)=>{let r=e=>t===`l`?e.x:t===`r`?e.x+e.width:n===`start`?e.x:n===`end`?e.x+e.width:e.x+e.width/2,i=e=>t===`t`?e.y:t===`b`?e.y+e.height:n===`start`?e.y:n===`end`?e.y+e.height:e.y+e.height/2;return{dx:r(e.outer)-r(e.to),dy:i(e.outer)-i(e.to)}},Zt=e=>({boundsOf:t=>e.getBoundsFromRange(t),toView:t=>e.toPaneBounds(t),toAbsolute:t=>e.toAbsoluteBounds(t),getViewport:()=>{let t=e.getPaneBounds();return{x:0,y:0,width:t.width,height:t.height}},getScrollTarget:()=>e.getScrollTarget?.()??e.getScrollTopLeft(),getDevicePixelRatio:()=>d.getDevicePixelRatio()}),Qt=class{constructor(e){this._target=null,this._from=null,this._start=0,this._length=0,this._progress=1,this._view=null,this._scrollBase=null,this._handle=null,this._listeners=new Set,this._tick=()=>{if(this._handle=null,!this._from)return;let e=this._view;if(e){let t=e.getScrollTarget();if(this._scrollBase){if(t.left!==this._scrollBase.left||t.top!==this._scrollBase.top)return void this._settle()}else this._scrollBase=t}let t=this._now();Number.isNaN(this._start)&&(this._start=t-this._frameLead);let n=this._length>0?Math.min(1,(t-this._start)/this._length):1;n>=1?this._settle():(this._progress=this._easing(n),this._notify(),this._handle=this._requestFrame(this._tick))},this._duration=e?.duration??60,this._frameLead=e?.frameLead??1e3/60,this._retargetDuration=e?.retargetDuration??.6*this._duration,this._easing=e?.easing??Gt,this._now=e?.now??(()=>performance.now()),this._requestFrame=e?.requestFrame??(e=>requestAnimationFrame(e)),this._cancelFrame=e?.cancelFrame??(e=>cancelAnimationFrame(e)),this._isReducedMotion=e?.isReducedMotion??Kt}getTarget(){return this._target}isGliding(){return this._from!==null}retarget(e,t,n){let r=this._target;if(r&&(i=r,a=e,c.isEqualRanges(i.range,a.range)&&(i.hole===a.hole||i.hole&&a.hole&&c.isEqualRanges(i.hole,a.hole))))return!1;var i,a;if(!n||!r||this._duration<=0||this._isReducedMotion())return this._target=e,this._settle(),!0;let o=this.isGliding();return this._from=this._shownAbsolute(t),this._target=e,this._start=NaN,this._length=o?this._retargetDuration:this._duration,this._progress=0,this._view=t,this._scrollBase=null,this._handle===null&&(this._handle=this._requestFrame(this._tick)),this._notify(),!0}finish(){this._from&&this._settle()}frame(e){let t=this._target,n=this._from;if(!t||!n)return null;let r=e.getViewport(),i=e.toView(n.outer);if(o=r,!((a=i).x<o.x+o.width&&a.x+a.width>o.x&&a.y<o.y+o.height&&a.y+a.height>o.y))return null;var a,o;let s=e.getDevicePixelRatio(),c=this._progress,l=qt(e.boundsOf(t.range),r),u=Yt(qt(i,r),l,c,s);if(!t.hole)return{outer:u,to:l};let d=qt(e.boundsOf(t.hole),r);return{outer:u,hole:Yt(n.hole?qt(e.toView(n.hole),r):d,d,c,s),to:l}}subscribe(e){return this._listeners.add(e),()=>{this._listeners.delete(e)}}_shownAbsolute(e){let t=this._target,n=t=>e.toAbsolute(e.boundsOf(t)),r=n(t.range),i=t.hole?n(t.hole):void 0,a=this._from;if(!a)return{outer:r,hole:i};let o=e.getDevicePixelRatio(),s=this._progress;return{outer:Yt(a.outer,r,s,o),hole:i?Yt(a.hole??i,i,s,o):void 0}}_settle(){this._handle!==null&&(this._cancelFrame(this._handle),this._handle=null);let e=this._from!==null;this._from=null,this._progress=1,this._view=null,this._scrollBase=null,e&&this._notify()}_notify(){for(let e of[...this._listeners])e()}},$t={side:`b`,align:`end`},en=e=>{let{side:t,align:n=`center`}=e;return(t===`t`?`top`:t===`b`?`bottom`:t===`l`?`left`:`right`)+(n===`start`?`-start`:n===`end`?`-end`:``)},tn={pointerEvents:`none`},nn={display:`contents`},rn=e=>{let{active:t,anchor:n,placement:r=$t,offset:i=8,alignOffset:a=0,glide:o,rangeGlide:s,boundary:c,themeFrom:l=`provider`,name:u,className:d,children:f}=e,{renderTooltip:m}=kt(),h=m??jt,{open:g,setTarget:_,close:v,tipProps:y}=Nt({gesture:!0,name:u}),b=(0,M.useRef)(null),[x,S]=(0,M.useState)(!1);(0,M.useLayoutEffect)(()=>{t?_(`gesture`):v()},[t,_,v]),(0,M.useLayoutEffect)(()=>{b.current?.instance()?.update()});let C=g&&t&&f!=null&&!1!==f&&f!==``;(0,M.useLayoutEffect)(()=>{C||S(!1)},[C]);let w=Be(),T=(0,M.useRef)(null),E=(0,M.useRef)(()=>{});if(E.current=()=>{let e=T.current?.closest(`.sxl-gesture-tip`);if(!e)return;let t=s&&w?s.frame(Zt(w)):null;if(!t)return void(e.style.translate=``);let{dx:n,dy:i}=Xt(t,r.side,r.align);e.style.translate=`${n}px ${i}px`},(0,M.useLayoutEffect)(()=>{E.current()}),(0,M.useLayoutEffect)(()=>{if(s)return s.subscribe(()=>E.current())},[s]),!C)return null;let D=s?(0,N.jsx)(`span`,{ref:T,style:nn,children:f}):f,O=G(d,`sxl-gesture-tip`),k=()=>S(!0),P=x&&o?.duration?{...tn,transition:`transform ${o.duration}ms ${o.easing??`ease-in-out`}`}:tn;return(e=>e.element!==void 0)(n)?(0,N.jsx)(p,{ref:b,open:!0,anchorEl:n.element,placement:en(r),offsets:{mainAxis:i,alignmentAxis:a},shift:{padding:4},strategy:`fixed`,resizeOnOverflow:!1,transition:!1,themeFrom:l,zIndex:A(`tooltip`),className:O,style:P,onOpen:k,children:(0,N.jsx)(j,{render:h,props:{children:D,placement:r,interactive:!1,tipProps:y}})}):(0,N.jsx)(St,{className:O,anchor:n,placement:r,offset:i,alignOffset:a,boundary:c,themeFrom:l,whenOff:`clamp`,zIndex:A(`tooltip`),style:P,onOpen:k,children:e=>(0,N.jsx)(j,{render:h,props:{children:D,placement:e.placement,interactive:!1,tipProps:y}})})};rn.displayName=`GestureTip`;var an=e=>(e.rowEnd-e.rowStart+1)*(e.colEnd-e.colStart+1),on=()=>{let e=new Map,t=new Set,n=0,r=0,i=()=>{r++;for(let e of[...t])e()};return{add:(t,r)=>(e.set(t,{id:t,order:n++,props:r}),i(),()=>{e.delete(t)&&i()}),set(t,n){let r=e.get(t);var a,o;r&&(a=r.props,o=n,a.content!==o.content||he(a.range)!==he(o.range)||a.placement?.side!==o.placement?.side||a.placement?.align!==o.placement?.align||a.offset!==o.offset||a.alignOffset!==o.alignOffset||a.interactive!==o.interactive||a.bubble!==o.bubble)&&(e.set(t,{...r,props:n}),i())},get:t=>e.get(t)??null,size:()=>e.size,find(t){let n=null,r=1/0;for(let i of e.values()){let e=i.props.range;if(!c.isCellWithinRange(t,e))continue;let a=an(e);(a<r||a===r&&n!==null&&i.order>n.order)&&(n=i,r=a)}return n},subscribe:e=>(t.add(e),()=>{t.delete(e)}),version:()=>r}},sn=(0,M.createContext)(null),cn=e=>{let{isolate:t,children:n}=e,r=(0,M.useContext)(sn),i=(0,M.useRef)(null),a=t||!r;a&&i.current===null&&(i.current=on());let o=a?i.current:r;return(0,N.jsx)(sn.Provider,{value:o,children:n})};cn.displayName=`RangeTooltipProvider`;var ln=()=>()=>{},un=()=>0,dn=(0,M.memo)(e=>{let{className:t,dismiss:n,...r}=e,i=(0,M.useContext)(sn),a=Z(),{renderTooltip:o}=kt(),s=o??jt;(0,M.useSyncExternalStore)(i?.subscribe??ln,i?.version??un);let[c,l]=(0,M.useState)(null),u=w(e=>{let t=a.getCellFromPointer(e.clientX,e.clientY),n=t&&i?i.find(t):null,r=n?{range:n.props.range,key:`${n.id}:${he(n.props.range)}`,data:n.id,placement:n.props.placement,alignOffset:n.props.alignOffset}:null;l(e=>e?.key===r?.key?e:r)},[a,i]),d=w(()=>{l(null)},[]),f=(0,M.useRef)(null),p=c&&i?i.get(c.data):null;p&&(f.current=p);let m=p??f.current;return(0,N.jsx)(qe,{...r,className:G(t,`sxl-range-tooltips`),onPointerMove:i?u:void 0,onPointerLeave:i?d:void 0,children:i?(0,N.jsx)(Vt,{name:`range-tooltips`,hovered:n?null:c,dismiss:n,placement:m?.props.placement,offset:m?.props.offset??6,interactive:m?.props.interactive?`pointer`:`none`,zIndex:ge,children:({range:e,data:t,floatProps:n,state:r})=>{let a=i.get(t);if(!a)return null;let{content:o,bubble:c=!0,interactive:l=!1}=a.props,u=typeof o==`function`?o({range:e,state:r,tipProps:n}):o;return c?(0,N.jsx)(j,{render:s,props:{children:u,placement:r.placement,interactive:l,tipProps:n}}):u}}):null})});dn.displayName=`RangeTooltipHost`;var fn={stroke:`var(--sxl-color-primary, rgb(33, 115, 70))`,alignWidth:2,fill:`color-mix(in srgb, var(--sxl-color-primary, rgb(33, 115, 70)) 10%, transparent)`},pn=(e,t)=>We(e===null?null:`range-glide:${e}`,()=>new Qt(t)),mn=(0,M.memo)(e=>{let{range:t,hole:n,clipInsets:r,alignWidth:i=1,glide:a,className:o,...s}=e,c=(0,M.useRef)(()=>null),l=(0,M.useMemo)(()=>a?{getFrame:()=>c.current(),subscribe:e=>a.subscribe(e)}:void 0,[a]),u=d.getDevicePixelRatio(),f=i/u,p=r??-f/2,m=Be(),h=m?m.getBoundsFromRange(t):null,g=f+4;if(!a&&m&&h&&!m.toClipBounds(h,p))return null;let _=m?m.getPaneBounds():null,v=_?{x:-g,y:-g,width:_.width+2*g,height:_.height+2*g}:h,y=v?d.snapDeviceEdge(v.x,u):0,b=v?d.snapDeviceEdge(v.y,u):0,x=f+2,S=(e,t)=>{let n=Math.max(e.x,t.x-x),r=Math.max(e.y,t.y-x),i=Math.min(e.x+e.width,t.x+t.width+x),a=Math.min(e.y+e.height,t.y+t.height+x);return{x:n-y,y:r-b,width:i-n,height:a-r}},C=e=>({x:e.x-y,y:e.y-b,width:e.width,height:e.height}),w=h&&v?S(h,v):void 0,T=n&&m?m.getBoundsFromRange(n):null,E=T?C(T):void 0;return c.current=()=>{if(!a||!m||!v)return null;let e=a.frame(Zt(m));return e?{bounds:S(e.outer,v),hole:n&&e.hole?C(e.hole):void 0}:null},(0,N.jsx)(Ze,{className:G(o),bounds:v??void 0,clipInsets:p,style:{pointerEvents:`none`},children:(0,N.jsx)(B,{bounds:w,alignWidth:i,hole:E,frameSource:l,...s})})});mn.displayName=`RangeRect`;var hn=(0,M.memo)(e=>{let{range:t,axis:n,color:r=`var(--sxl-color-primary, rgb(33, 115, 70))`,alignWidth:i=3,capExtent:a=3,transitionDuration:o=100,transitionEasing:c=`cubic-bezier(0.16, 1, 0.3, 1)`,axisDuration:l=70}=e,u=Be(),f=u?.getBoundsFromRange(t);if(!u||!f)return null;let p=d.getDevicePixelRatio(),m=i/p,h=a/p,g=u.getPaneBounds(),_=e=>e.x>=-h&&e.y>=-h&&e.x+e.width<=g.width+h&&e.y+e.height<=g.height+h,v=o>0?`${o}ms ${c}`:null,y=l>0?`${l}ms ${c}`:null,b=[v&&`transform ${v}, width ${v}, height ${v}, background-color ${v}`,y&&`scale ${y}`].filter(Boolean).join(`, `);return(0,N.jsx)(N.Fragment,{children:[!0,!1].map(e=>(e=>{let t=e?{x:f.x,y:f.y-m/2,width:f.width,height:m}:{x:f.x-m/2,y:f.y,width:m,height:f.height},n=m+2*h,r=e?{start:{x:t.x,y:t.y-h,width:m,height:n},end:{x:t.x+t.width-m,y:t.y-h,width:m,height:n}}:{start:{x:t.x-h,y:t.y,width:n,height:m},end:{x:t.x-h,y:t.y+t.height-m,width:n,height:m}};return[[`sxl-insert-bar`,u.toClipBounds(t,-m)],[`sxl-insert-bar-cap-start`,_(r.start)?r.start:null],[`sxl-insert-bar-cap-end`,_(r.end)?r.end:null]]})(e).map(([t,i])=>i&&(0,N.jsx)(Ze,{className:G(t,e?`sxl-axis-row`:`sxl-axis-column`),bounds:i,style:{pointerEvents:`none`,background:r,scale:+(e===(n===s.Row)),transformOrigin:`${f.x}px ${f.y}px`,transition:b,willChange:`transform, width, height, scale`}},`${e?`row`:`column`}-${t}`)))})});hn.displayName=`RangeInsertBar`;var gn=()=>typeof window<`u`?window:null,_n=(e,t,n={x:!0,y:!0})=>{let r=e.getElement()?.getBoundingClientRect();if(!r)return!1;let i=!1===n.x?0:t.x<=r.left+24?-1:+(t.x>=r.right-24),a=!1===n.y?0:t.y<=r.top+24?-1:+(t.y>=r.bottom-24);if(!i&&!a)return!1;let o=e.getVisibleRange(),s=e.getTotalRange(),c=e.getCellFromPointer(t.x,t.y),l={};return i>0&&o.colEnd<s.colEnd?l.colIndex=Math.min(s.colEnd,Math.max(o.colEnd+1,c?.colIndex??0)):i<0&&o.colStart>s.colStart&&(l.colIndex=Math.max(s.colStart,Math.min(o.colStart-1,c?.colIndex??2**53-1))),a>0&&o.rowEnd<s.rowEnd?l.rowIndex=Math.min(s.rowEnd,Math.max(o.rowEnd+1,c?.rowIndex??0)):a<0&&o.rowStart>s.rowStart&&(l.rowIndex=Math.max(s.rowStart,Math.min(o.rowStart-1,c?.rowIndex??2**53-1))),(l.colIndex!==void 0||l.rowIndex!==void 0)&&((W(e.getAllPanes())??e).scrollCellCoordsIntoView(l),!0)},vn=Object.freeze({ctrlKey:!1,shiftKey:!1,altKey:!1,metaKey:!1}),yn=e=>({ctrlKey:!!e.ctrlKey,shiftKey:!!e.shiftKey,altKey:!!e.altKey,metaKey:!!e.metaKey}),bn=(e,t)=>e.ctrlKey===t.ctrlKey&&e.shiftKey===t.shiftKey&&e.altKey===t.altKey&&e.metaKey===t.metaKey,xn=(e,t,n,r)=>{let i=(e=>typeof e==`function`?e:()=>e)(e),a=r??((e,t)=>i().getCellFromPointer(e,t)),o=null,s=null,l=null,u=null,d=()=>{u&&clearTimeout(u),u=null},f=vn,p=null,m=e=>{if(!o)return;let t=yn(e);bn(f,t)||(f=t,o.modifiers?.(t))},h=()=>{p&&=(gn()?.removeEventListener(`keydown`,p,!0),gn()?.removeEventListener(`keyup`,p,!0),null)},g=(e,t,n)=>{if(!o)return!1;let r=a(e,t);return r&&(c.isEqualCells(r,s)||(s=r,o.drag(r,n)),o.point?.(r,e,t,n)),(o.edgeScroll??(e=>_n(i(),e)))({x:e,y:t})};return{hasSession:()=>o!==null,captureEvents:()=>o?.captureEvents,begin:e=>{let r=a(e.clientX,e.clientY);if(!r)return null;let i=t(r,e);return i?(o=i,s=r,l=null,(e=>{if(f=yn(e),p)return;let t=e=>m(e);p=t,gn()?.addEventListener(`keydown`,t,!0),gn()?.addEventListener(`keyup`,t,!0)})(e),n?.(i.dragMode??null),i):null},move:(e,t,n)=>{o&&(n&&m(n),l={x:e,y:t},g(e,t,n)?(d(),u=setTimeout(function e(){u=o&&l&&g(l.x,l.y)?setTimeout(e,60):null},60)):d())},reset:()=>{let e=o;return o=null,s=null,l=null,d(),h(),f=vn,e&&n?.(null),e},dispose:()=>{d(),h()}}},Sn=(e,t,n)=>{let r=xn(e,t,n),i=!1,a=null,o=null,s=null,c=null,l=null,u=()=>{s&&a&&a.removeEventListener?.(`pointercancel`,s),s=null,c&&gn()?.removeEventListener(`keydown`,c,!0),c=null},d=()=>{l&&=(gn()?.removeEventListener(`pointerup`,l),gn()?.removeEventListener(`pointercancel`,l),null)},f=()=>{a&&o!==null&&a.hasPointerCapture?.(o)&&a.releasePointerCapture(o),a=null,o=null},p=(e,t)=>{let n=i,a=r.reset();i=!1,u(),d(),f(),a&&(e?a.cancel?.(t):t&&(!1!==a.captureEvents&&n&&t.stopPropagation(),a.end?.(t)))};return{onPointerDown:e=>{let t=r.begin(e);if(t){if(!1!==t.capture){let t=e.currentTarget;t.setPointerCapture?.(e.pointerId),a=t,o=e.pointerId,i=!0,s=e=>p(!0,e),t.addEventListener?.(`pointercancel`,s),c=e=>{e.key===`Escape`&&(e.preventDefault(),e.stopPropagation(),p(!0))},gn()?.addEventListener(`keydown`,c,!0)}else i=!1,l=e=>p(e.type===`pointercancel`,e),gn()?.addEventListener(`pointerup`,l),gn()?.addEventListener(`pointercancel`,l)}},onPointerMove:e=>{r.hasSession()&&i&&(!1!==r.captureEvents()&&e.stopPropagation(),r.move(e.clientX,e.clientY,e))},onPointerUp:e=>p(!1,e),onPointerCancel:e=>p(!0,e),dispose:()=>{u(),d(),f(),r.dispose()}}};function Cn(e,t,n,r){let i=xn(e,t,n,r),a=null,o=null,s=null,c=null,l=()=>{a?.(),a=null,c=null},u=()=>{o&&s!==null&&o.hasPointerCapture?.(s)&&o.releasePointerCapture(s),o=null,s=null};return{start:(e,t)=>{l(),u();let n=i.begin(e);if(!n)return;if(!1!==n.capture){let n=t??e.currentTarget;n&&(n.setPointerCapture?.(e.pointerId),o=n,s=e.pointerId)}let r=e.pointerId,d=e=>typeof e.pointerId==`number`&&typeof r==`number`&&e.pointerId!==r,f=e=>{d(e)||i.move(e.clientX,e.clientY,e)},p=(e,t)=>{l();let n=i.reset();u(),n&&(e?n.cancel?.(t):n.end?.(t))},m=e=>{d(e)||p(!1,e)},h=e=>{d(e)||p(!0,e)};c=()=>p(!0);let g=e=>{e.key===`Escape`&&(e.preventDefault(),e.stopPropagation(),p(!0))};window.addEventListener(`pointermove`,f),window.addEventListener(`pointerup`,m),window.addEventListener(`pointercancel`,h),window.addEventListener(`keydown`,g,!0),a=()=>{window.removeEventListener(`pointermove`,f),window.removeEventListener(`pointerup`,m),window.removeEventListener(`pointercancel`,h),window.removeEventListener(`keydown`,g,!0)}},cancel:()=>c?.(),dispose:()=>{l(),u(),i.dispose()}}}var wn=e=>{let t=Z(),n=w(()=>t,[t]),[r,i]=(0,M.useState)(null),a=w(e,[e]),o=(0,M.useMemo)(()=>Sn(n,a,i),[n,a]);return(0,M.useEffect)(()=>()=>o.dispose(),[o]),{onPointerDown:o.onPointerDown,onPointerMove:o.onPointerMove,onPointerUp:o.onPointerUp,onPointerCancel:o.onPointerCancel,dragMode:r}},Tn=e=>{let t=Z(),n=w(()=>t,[t]),[r,i]=(0,M.useState)(null),a=w(e,[e]),o=(0,M.useMemo)(()=>Cn(n,a,i),[n,a]);return(0,M.useEffect)(()=>()=>o.dispose(),[o]),{start:o.start,cancel:o.cancel,dragMode:r}},En=e=>{let t=(0,M.useRef)(null),n=(0,M.useRef)(!1);return(0,M.useEffect)(()=>{let e=e=>{n.current&&(n.current=!1,e.stopPropagation(),e.preventDefault())};return window.addEventListener(`dblclick`,e,!0),()=>window.removeEventListener(`dblclick`,e,!0)},[]),r=>{if(!e||r.button!==0)return!1;let i=t.current,a=!!i&&r.timeStamp-i.time<=500&&Math.abs(r.clientX-i.x)<=4&&Math.abs(r.clientY-i.y)<=4;return t.current=a?null:{time:r.timeStamp,x:r.clientX,y:r.clientY},!!a&&(r.stopPropagation(),n.current=!0,window.setTimeout(()=>{n.current=!1},500),!0)}},Dn=e=>{let{range:t,anchor:n,size:r=8,cursor:i,dragCursor:a,background:o=`var(--sxl-color-primary, rgb(33, 115, 70))`,onDragStart:s,onDragMove:c,onDragEnd:l,onDragCancel:u,onDoubleClick:f,onHoverChange:p,hoverStyle:m,glide:h,renderHandle:g,children:_,className:v,style:y,preserveFocus:b,clampToView:x,secondaryButton:S}=e,C=Z(),w=(0,M.useRef)(null),T=(0,M.useCallback)(e=>{w.current=e},[]),E=(0,M.useRef)(()=>{});(0,M.useLayoutEffect)(()=>{E.current()}),(0,M.useLayoutEffect)(()=>{if(h)return h.subscribe(()=>E.current())},[h]);let[D,O]=(0,M.useState)(!1),k=En(!!f),{start:A,cancel:P,dragMode:F}=Tn((e,t)=>{let n=t.button===2&&!0===S;if(t.button!==0&&!n)return null;t.stopPropagation(),b&&t.preventDefault();let r=n?On():null,i=e,a=e;return s?.(i,t,P),{dragMode:`handle`,drag:(e,n)=>{a=e,c?.(i,e,n??t)},end:e=>{r?.(),l?.(i,a,e)},cancel:()=>{r?.(),u?.()}}}),I=F!==null&&a?a:i??Mn[n],L=d.getDevicePixelRatio(),R=e=>{let t=jn(e.x,e.x+e.width,kn[n],L),i=jn(e.y,e.y+e.height,An[n],L);if(x){let e=C.getPaneBounds(),n=r/2+1;!0!==x&&x!==`x`||(t=Math.max(n,Math.min(e.width-n,t))),!0!==x&&x!==`y`||(i=Math.max(n,Math.min(e.height-n,i)))}return`translate(${t}px, ${i}px) translate(-50%, -50%)`},z=C.getBoundsFromRange(t),B=!z||x&&!C.toClipBounds(z)?null:R(z);if(E.current=()=>{let e=w.current;if(!e||!h||B===null)return;let t=h.frame(Zt(C));e.style.visibility=t&&x?`hidden`:``,e.style.transform=t&&!x?R(t.outer):B},B===null)return null;let V={position:`absolute`,cursor:I,pointerEvents:`all`,touchAction:`none`,left:0,top:0,transform:B},H={className:G(`sxl-drag-handle`,v),ref:T,onPointerDown:e=>{k(e)?f(e):A(e)},onDoubleClick:f?e=>e.stopPropagation():void 0,onPointerEnter:()=>{O(!0),p?.(!0)},onPointerLeave:()=>{O(!1),p?.(!1)}};return g?(0,N.jsx)(j,{render:g,props:{anchor:n,size:r,cursor:I,background:o,hovered:D,handleProps:{...H,style:V}}}):(0,N.jsx)(`div`,{...H,style:{...V,width:r,height:r,background:_==null?o:void 0,border:_==null?`1px solid var(--sxl-color-base-100, white)`:void 0,borderRadius:1,boxSizing:`border-box`,...y,...D?m:void 0},children:_})};Dn.displayName=`DragHandle`;var On=()=>{let e=e=>{e.preventDefault(),e.stopPropagation()};return window.addEventListener(`contextmenu`,e,!0),()=>{setTimeout(()=>window.removeEventListener(`contextmenu`,e,!0),0)}},kn={tl:`leading`,l:`leading`,bl:`leading`,t:`center`,b:`center`,tr:`trailing`,r:`trailing`,br:`trailing`},An={tl:`leading`,t:`leading`,tr:`leading`,l:`center`,r:`center`,bl:`trailing`,b:`trailing`,br:`trailing`},jn=(e,t,n,r)=>n===`center`?d.snapDeviceEdge((e+t)/2,r):d.edgeCenter(n===`leading`?e:t,n,2,r),Mn={tl:`nwse-resize`,br:`nwse-resize`,tr:`nesw-resize`,bl:`nesw-resize`,t:`ns-resize`,b:`ns-resize`,l:`ew-resize`,r:`ew-resize`},Nn=(e,t,n,r,i,a)=>{let o=e.getPanePointFromPointer(n,r),l=e.getCellFromPointer(n,r,!0)??t,u=e.getBoundsFromRange(c.cellToRange(l));if(!o||!u||u.width<=0||u.height<=0)return a;let d=(o.x-u.x)/u.width,f=(o.y-u.y)/u.height,p=i??(d<.25||d>.75?s.Column:s.Row);return p===s.Column?{axis:p,origin:{rowIndex:l.rowIndex,colIndex:d<.5?l.colIndex:l.colIndex+1}}:{axis:p,origin:{rowIndex:f<.5?l.rowIndex:l.rowIndex+1,colIndex:l.colIndex}}},Pn=(e,t,n,r)=>{let i=e.getPanePointFromPointer(n,r),a=e.getBoundsFromRange(t);if(!i||!a)return null;let o=Math.abs(i.y-a.y),s=Math.abs(i.y-(a.y+a.height)),c=Math.abs(i.x-a.x),l=Math.abs(i.x-(a.x+a.width)),u=Math.min(o,s,c,l);return u===o?`top`:u===s?`bottom`:u===c?`left`:`right`},Fn=(e,t,n,r,i)=>{let a=Pn(e,t,r,i);if(!a)return null;let o=e.getCellFromPointer(r,i,!0)??n;return{edge:a,cell:{rowIndex:K(o.rowIndex,t.rowStart,t.rowEnd),colIndex:K(o.colIndex,t.colStart,t.colEnd)}}},In=(e,t)=>e===t||!!e&&!!t&&e.axis===t.axis&&c.isEqualCells(e.origin,t.origin),Ln=(e,t,n)=>{let r=e.rowEnd-e.rowStart,i=e.colEnd-e.colStart,a=K(t.origin.rowIndex,n.rowStart,n.rowEnd-r),o=K(t.origin.colIndex,n.colStart,n.colEnd-i);return{...e,rowStart:a,rowEnd:a+r,colStart:o,colEnd:o+i}},Rn=e=>{let{range:t,children:n,grip:r=`entire`,hitSize:i=10,onHoverChange:a,onDragStateChange:o,onDragStart:l,onDragMove:u,onDragEnd:f,renderMove:p,dragCursor:m=`grabbing`,preserveFocus:h,onEdgeDoubleClick:g,className:_}=e,v=Z(),y=t?`range-move:${t.rowStart}:${t.colStart}:${t.rowEnd}:${t.colEnd}`:`range-move`,b=(0,M.useRef)(null),[x,S]=He(y,null),{start:C,cancel:w,dragMode:T}=Tn((e,n)=>{if(n.button!==0||!t)return null;n.stopPropagation(),h&&n.preventDefault();let r=e,i=t,a=i;n.clientX,n.clientY;let d=((e,t)=>e.colStart<=t.colStart&&e.colEnd>=t.colEnd?s.Row:e.rowStart<=t.rowStart&&e.rowEnd>=t.rowEnd?s.Column:null)(i,v.getTotalRange()),m={mods:yn(n),insert:Nn(v,e,n.clientX,n.clientY,d,null),grab:Fn(v,i,e,n.clientX,n.clientY)},g=m.insert,_=n;o?.(!0),l?.(i,n,m,w);let y=()=>{p&&S({range:a,info:m}),u?.(a,_,m)},b=!1;return{dragMode:`move`,drag:e=>{a=(e=>zn(i,e.rowIndex-r.rowIndex,e.colIndex-r.colIndex,v.getTotalRange()))(e),b=!0},point:(e,t,n,r)=>{r&&(_=r);let i=Nn(v,e,t,n,d,m.insert),a=b||!In(i,m.insert);b=!1,a&&(m={...m,insert:i},y())},modifiers:e=>{m={...m,mods:e},y()},end:e=>{o?.(!1),p&&S(null);let t=yn(e);(!c.isEqualRanges(a,i)||t.shiftKey&&!In(m.insert,g))&&f?.(a,e,{...m,mods:t})},cancel:()=>{o?.(!1),p&&S(null)}}}),E=En(!!g),D=T===null?`move`:m;if(!t)return null;let O={onPointerDown:e=>{if(E(e)){let n=v?Pn(v,t,e.clientX,e.clientY):null;n&&g(t,n,e)}else C(e,b.current)}},k=a?{onPointerEnter:()=>a(!0),onPointerLeave:()=>a(!1)}:void 0,A=i/d.getDevicePixelRatio(),P=v?.getBoundsFromRange(t),F=P?{x:P.x-A,y:P.y-A,width:P.width+2*A,height:P.height+2*A}:void 0;return(0,N.jsxs)(N.Fragment,{children:[(0,N.jsx)(Ze,r===`entire`?{ref:b,className:G(`sxl-drag-grip`,_),...F?{bounds:F}:{range:t},style:{cursor:D,touchAction:`none`},...O,...k}:{ref:b,className:G(`sxl-drag-grip`,_),range:t,clipInsets:-A/2,style:{pointerEvents:`none`,cursor:D,touchAction:`none`},...O,children:(0,N.jsx)(B,{stroke:`transparent`,alignWidth:i,propsStrokePath:{cursor:`move`,pointerEvents:`stroke`,...k}})}),n,x?(0,N.jsx)(j,{render:p,props:{range:x.range,info:x.info}}):null]})};Rn.displayName=`Draggable`;var zn=(e,t,n,r)=>{let i=e.rowEnd-e.rowStart,a=e.colEnd-e.colStart,o=K(e.rowStart+t,r.rowStart,r.rowEnd-i),s=K(e.colStart+n,r.colStart,r.colEnd-a);return{rowStart:o,colStart:s,rowEnd:o+i,colEnd:s+a}},Bn=[`tl`,`tr`,`br`,`bl`],Vn=[`tl`,`t`,`tr`,`r`,`br`,`b`,`bl`,`l`],Hn=e=>{let{range:t,anchors:n=Vn,onDragStart:r,onDragMove:i,onDragEnd:a,onDragCancel:o,onHandleHoverChange:s,size:c=8,renderHandle:l,preserveFocus:u,glide:d,...f}=e,p={...fn,...f},m=p.stroke??g(`color-primary`),h=Z(),[_,v]=(0,M.useState)(null),y=(0,M.useRef)(null);if(!t)return null;let b=_??t,x=_?null:d??null;return(0,N.jsxs)(N.Fragment,{children:[(0,N.jsx)(mn,{className:`sxl-resizer-outline`,range:b,glide:x,...p}),n.map(e=>(0,N.jsx)(Dn,{className:`sxl-resize-handle sxl-${e}`,range:b,glide:x,anchor:e,size:c,dragCursor:`grabbing`,renderHandle:l,preserveFocus:u,onHoverChange:s,style:{background:m,border:`1.5px solid var(--sxl-color-base-100, white)`,borderRadius:0},hoverStyle:{border:`1.5px solid ${m}`},onDragStart:(e,n)=>{y.current=t,r?.(t,n)},onDragMove:(n,r,a)=>{let o=Un(y.current??t,e,r,h.getTotalRange());v(o),i?.(o,a)},onDragEnd:(n,r,i)=>{let o=Un(y.current??t,e,r,h.getTotalRange());y.current=null,v(null),a?.(o,i)},onDragCancel:()=>{y.current=null,v(null),o?.()}},e))]})};Hn.displayName=`RangeResizer`;var Un=(e,t,n,r)=>{let{rowStart:i,colStart:a,rowEnd:o,colEnd:s}=e;return t.includes(`t`)&&(i=K(n.rowIndex,r.rowStart,r.rowEnd)),t.includes(`b`)&&(o=K(n.rowIndex,r.rowStart,r.rowEnd)),t.includes(`l`)&&(a=K(n.colIndex,r.colStart,r.colEnd)),t.includes(`r`)&&(s=K(n.colIndex,r.colStart,r.colEnd)),{rowStart:Math.min(i,o),colStart:Math.min(a,s),rowEnd:Math.max(i,o),colEnd:Math.max(a,s)}},Wn=(e,t,n)=>{let r=t.rowIndex-e.rowEnd,i=e.rowStart-t.rowIndex,a=t.colIndex-e.colEnd,o=e.colStart-t.colIndex,s=Math.max(r,i,0),c=Math.max(a,o,0);if(s>0||c>0)return s>=c?r>0?{...e,rowEnd:Math.min(n.rowEnd,t.rowIndex)}:{...e,rowStart:Math.max(n.rowStart,t.rowIndex)}:a>0?{...e,colEnd:Math.min(n.colEnd,t.colIndex)}:{...e,colStart:Math.max(n.colStart,t.colIndex)};let l=e.rowStart===n.rowStart&&e.rowEnd===n.rowEnd,u=e.colStart===n.colStart&&e.colEnd===n.colEnd,d=l?0:e.rowEnd-t.rowIndex,f=u?0:e.colEnd-t.colIndex;return d<=0&&f<=0?null:d>=f?{...e,rowEnd:t.rowIndex}:{...e,colEnd:t.colIndex}},Gn=(e,t)=>t.rowEnd<e.rowEnd?{...e,rowStart:t.rowEnd+1}:t.colEnd<e.colEnd?{...e,colStart:t.colEnd+1}:null,Kn=`color-mix(in srgb, ${g(`color-neutral`)} 28%, transparent)`,qn=e=>{let{range:t,snapDestination:n,onDragStart:r,onDragMove:i,onDragEnd:a,onMenu:s,onDragDone:l,onDoubleClick:u,renderHandle:d,glide:f,...p}=e,m={...fn,fill:void 0,...p},h=m.stroke,g={...m,strokeDasharray:`3 2`},_=Z(),v=(0,M.useRef)(null),[y,b]=He(`range-fill`,null);if(!t)return null;let x=_.getTotalRange(),S=t.rowStart===x.rowStart&&t.rowEnd===x.rowEnd,C=t.colStart===x.colStart&&t.colEnd===x.colEnd;if(S&&C)return null;let w=Object.keys(_.getAllPanes()).length<=1,T=_.getBoundsFromRange(t),E=_.getPaneBounds(),D=w&&T.y>=0&&T.y+T.height<=E.height,O=w&&T.x>=0&&T.x+T.width<=E.width,k=S&&!D?`tr`:C&&!O?`bl`:`br`,A=k===`tr`?`y`:k===`bl`&&`x`;if(A&&!((e,t,n,r)=>{let i=e.getAllPanes();if(Object.keys(i).length<=1)return!0;let a=e.getAnchor(),s=!!i[o.TopLeft],l=!!i[o.Top],u=!!i[o.Left],d=e.getVisibleRange();if(r){if(a===o.Top&&s||a===o.Center&&u||!c.isCellWithinRange({colIndex:t.colStart,rowIndex:t.rowEnd},d)&&!c.isCellWithinRange({colIndex:t.colStart,rowIndex:t.rowEnd+1},d))return!1}else if(n&&(a===o.Left&&s||a===o.Center&&l||!c.isCellWithinRange({colIndex:t.colEnd,rowIndex:t.rowStart},d)&&!c.isCellWithinRange({colIndex:t.colEnd+1,rowIndex:t.rowStart},d)))return!1;return!0})(_,t,S,C))return null;let j=y?Gn(t,y):null;return(0,N.jsxs)(N.Fragment,{children:[(0,N.jsx)(Dn,{className:`sxl-fill-handle`,range:t,anchor:k,clampToView:A,glide:f,cursor:`crosshair`,background:h,renderHandle:d,onDoubleClick:u?e=>u(t,e):void 0,secondaryButton:!!s,onDragStart:(e,n,i)=>{v.current=null,b(null),r?.(t,n,i)},onDragMove:(e,r,a)=>{let o=Wn(t,r,_.getTotalRange());o&&n&&(o=n(t,o)),v.current=o,b(o),o&&i?.(o,a)},onDragEnd:(e,t,n)=>{let r=v.current;v.current=null,r&&n.button===2&&s?s(r,n,()=>b(null)):(b(null),r&&a?.(r,n)),l?.(n)},onDragCancel:()=>{v.current=null,b(null),l?.()}}),y&&(0,N.jsx)(mn,{className:`sxl-fill-preview`,range:y,...g}),j&&(0,N.jsx)(mn,{className:`sxl-fill-vacated`,range:j,fill:Kn})]})};qn.displayName=`FillHandle`;var Jn=`data-cell-interactive`,Yn=Object.freeze({[Jn]:``}),Xn=e=>!!e?.closest?.(`[${Jn}]`),Zn=e=>{let t=(e?.closest?.(`[${Jn}]`))?.closest(`[data-rc]`)?.getAttribute(`data-rc`);if(!t)return null;let[n,r]=t.split(`:`).map(Number);return Number.isInteger(n)&&Number.isInteger(r)?{rowIndex:n,colIndex:r}:null};(0,M.memo)(e=>{let{value:t,zoom:n,bounds:r,cell:i,range:a,children:o,className:s,...c}=e;return(0,N.jsx)(`div`,{className:G(s,`sxl-cell`),...c,children:t})});var Qn=Object.freeze({cells:[],rangesH:[],rangesV:[]}),$n=!1,er=new WeakMap,tr=(e,t={})=>{let n=e.getVisibleRange(),r=e.getScrollTopLeft(),i=t.bufferRange,a=!!i,o=i?i.rowStart:0,s=i?i.colStart:0,l=i?i.rowEnd:0,u=i?i.colEnd:0,d=er.get(e);if(d&&d.rowStart===n.rowStart&&d.colStart===n.colStart&&d.rowEnd===n.rowEnd&&d.colEnd===n.colEnd&&d.scrollLeft===r.left&&d.scrollTop===r.top&&d.hasBuffer===a&&d.bRowStart===o&&d.bColStart===s&&d.bRowEnd===l&&d.bColEnd===u&&d.options.cacheToken===t.cacheToken&&d.options.getVisibleCells===t.getVisibleCells&&d.options.hiddenCellAt===t.hiddenCellAt)return d.model;let f=((e,t={})=>{let{getVisibleCells:n,hiddenCellAt:r,bufferRange:i}=t,a=e.getTotalRange(),o=i?{rowStart:Math.max(i.rowStart,a.rowStart),rowEnd:Math.min(i.rowEnd,a.rowEnd),colStart:Math.max(i.colStart,a.colStart),colEnd:Math.min(i.colEnd,a.colEnd)}:null,s=o?e.getVisibleColumns(o.colStart,o.colEnd):e.getVisibleColumns(),l=o?e.getVisibleRows(o.rowStart,o.rowEnd):e.getVisibleRows();if(s.length===0||l.length===0)return Qn;let u=t=>e.getRangeFromCell(t),d;if(n)d=n(e,i);else{d=[];let e=l.length,t=s.length;for(let n=0;n<e;n++){let e=l[n].index;for(let n=0;n<t;n++){let t={rowIndex:e,colIndex:s[n].index},i=u(t);c.isSingleCell(i)&&r?.(t)||d.push({cell:t,range:i})}}}let f=d?d.length:0;if(f===0)return Qn;let p=e.getVisibleRange(),m=i??p,h=[],g=[],_=[],v=new Set;for(let t=0;t<f;t++){let n=d[t],i=n?.cell??n;if(!i)continue;let a=n?.range??{rowStart:i.rowIndex,colStart:i.colIndex,rowEnd:i.rowIndex,colEnd:i.colIndex};if(!c.isRangesIntersect(a,m)&&!c.isRangeWithinRange(a,m))continue;let o=a&&!c.isSingleCell(a);if(!o&&r?.(i))continue;let s=null;if(o){let t=u(i);c.isSingleCell(t)||i.rowIndex===t.rowStart&&i.colIndex===t.colStart||(i={rowIndex:t.rowStart,colIndex:t.colStart});let n=ar(a.rowStart,a.colStart);if(v.has(n))continue;v.add(n),a.rowEnd-a.rowStart>0&&g.push(a),a.colEnd-a.colStart>0&&_.push(a),s=e.getBoundsFromRange(a)}else{let t=e.getRowSize(i.rowIndex),n=e.getColumnSize(i.colIndex);t&&n&&(s={x:n.offset,y:t.offset,width:n.size,height:t.size})}s||=e.getBoundsFromRange(a),s?h.push({cell:i,range:a,bounds:s,value:n?.value}):$n||($n=!0,console.warn(`grid-react: no bounds for cell`,ar(a.rowStart,a.colStart)))}return{cells:h,rangesH:g,rangesV:_}})(e,t);return er.set(e,{rowStart:n.rowStart,colStart:n.colStart,rowEnd:n.rowEnd,colEnd:n.colEnd,scrollLeft:r.left,scrollTop:r.top,hasBuffer:a,bRowStart:o,bColStart:s,bRowEnd:l,bColEnd:u,options:t,model:f}),f},nr=Object.freeze({rangesH:[],rangesV:[]}),rr=new WeakMap,ir=(e,t={})=>{let n=e.getVisibleRange(),r=rr.get(e);if(r&&r.rowStart===n.rowStart&&r.colStart===n.colStart&&r.rowEnd===n.rowEnd&&r.colEnd===n.colEnd&&r.cacheToken===t.cacheToken&&r.getVisibleCells===t.getVisibleCells)return r.ranges;let i=((e,t={})=>{let{getVisibleCells:n}=t,r=e.getVisibleRange(),i=[],a=[],o=new Set,s=e=>{if(c.isSingleCell(e)||!c.isRangesIntersect(e,r)&&!c.isRangeWithinRange(e,r))return;let t=ar(e.rowStart,e.colStart);o.has(t)||(o.add(t),e.rowEnd-e.rowStart>0&&i.push(e),e.colEnd-e.colStart>0&&a.push(e))};if(n){let t=n(e),r=t?t.length:0;for(let e=0;e<r;e++){let n=t[e]?.range;n&&s(n)}}else{let t=e.getVisibleColumns(),n=e.getVisibleRows(),r=n.length,i=t.length;for(let a=0;a<r;a++){let r=n[a].index;for(let n=0;n<i;n++)s(e.getRangeFromCell({rowIndex:r,colIndex:t[n].index}))}}return i.length===0&&a.length===0?nr:{rangesH:i,rangesV:a}})(e,t);return rr.set(e,{rowStart:n.rowStart,colStart:n.colStart,rowEnd:n.rowEnd,colEnd:n.colEnd,getVisibleCells:t.getVisibleCells,cacheToken:t.cacheToken,ranges:i}),i},ar=(e,t)=>`${e}:${t}`,or={tiles:`_tiles_1hj43_7`,gridlines:`_gridlines_1hj43_32`},sr=(0,M.memo)(e=>{let{renderCell:t,cacheToken:n,getVisibleCells:r,hiddenCellAt:i,suppressCell:a,className:o,style:s}=e,c=Z(),l=c.getAnchor(),u=(0,M.useId)(),f=(0,M.useMemo)(()=>`sxl-cl-${u.replace(/[^a-zA-Z0-9_-]/g,``)}`,[u]),p=(0,M.useRef)({token:void 0,renderCell:void 0,getVisibleCells:void 0,hiddenCellAt:void 0,pane:null,rebaseLeft:0,rebaseTop:0,map:new Map}),m=c.getScrollTopLeft(),h=c.getFreezeTopLeft(),g=m.left+h.left,_=m.top+h.top,v=Math.floor(g/lr)*lr,y=Math.floor(_/lr)*lr,b=c.getVisibleRange(),x=0,S=-1,C=0,w=-1;b&&(x=Math.max(0,Math.floor(b.rowStart/$)-dr),S=Math.floor(b.rowEnd/$)+dr,C=Math.max(0,Math.floor(b.colStart/$)-dr),w=Math.floor(b.colEnd/$)+dr);let T=(0,M.useMemo)(()=>{if(!b||S<x)return null;let e=p.current;e.token===n&&e.pane===c&&e.renderCell===t&&e.getVisibleCells===r&&e.hiddenCellAt===i&&e.rebaseLeft===v&&e.rebaseTop===y||(e.map=new Map,e.token=n,e.pane=c,e.renderCell=t,e.getVisibleCells=r,e.hiddenCellAt=i,e.rebaseLeft=v,e.rebaseTop=y);let a=e.map,o=c.getZoom(),s=c.getTotalRange(),u={rowStart:Math.max(s.rowStart,x*$),colStart:Math.max(s.colStart,C*$),rowEnd:Math.min(s.rowEnd,(S+1)*$-1),colEnd:Math.min(s.colEnd,(w+1)*$-1)},{cells:d}=tr(c,{getVisibleCells:r,hiddenCellAt:i,bufferRange:u,cacheToken:n}),f=new Map;for(let e=0;e<d.length;e++){let t=d[e],n=`${Math.floor(t.cell.rowIndex/$)}:${Math.floor(t.cell.colIndex/$)}`,r=f.get(n);r||(r=[],f.set(n,r)),r.push(t)}let m=[],h=(e,n)=>{if(e*$>s.rowEnd||n*$>s.colEnd)return;let r=e>=x&&e<=S&&n>=C&&n<=w,i=`${e}:${n}`,u=a.get(i);if(u===void 0){let d=f.get(i);if(!d&&!pr)return;let p=c.getBoundsFromRange({rowStart:e*$,colStart:n*$,rowEnd:Math.min(s.rowEnd,e*$+$-1),colEnd:Math.min(s.colEnd,n*$+$-1)}),m=g+p.x-v,h=_+p.y-y,b=[];if(pr&&b.push((0,N.jsx)(`div`,{style:{position:`absolute`,left:0,top:0,width:p.width,height:p.height,background:(e+n)%2==0?`rgba(0,128,255,0.05)`:`rgba(255,140,0,0.05)`,pointerEvents:`none`}},`__bg`)),d)for(let e=0;e<d.length;e++){let{cell:n,range:r,bounds:i,value:a}=d[e];i&&b.push(t({key:`pane:${l}:cell:${ar(n.rowIndex,n.colIndex)}`,cell:n,bounds:i,range:r,zoom:o,value:a,"data-rc":ar(n.rowIndex,n.colIndex),style:{left:i.x-p.x,top:i.y-p.y,width:i.width,height:i.height}}))}if(u=(0,N.jsx)(`div`,{className:`sxl-tile`,style:{transform:`translate(${m}px, ${h}px)`},children:b},`pane:${l}:tile:${e}:${n}`),r&&(a.set(i,u),a.size>fr)){let e=a.keys().next().value;e!==void 0&&a.delete(e)}}u&&m.push(u)};if(pr){for(let e=x;e<=S&&!(e*$>s.rowEnd);e++)for(let t=C;t<=w&&!(t*$>s.colEnd);t++)h(e,t);for(let e of f.keys()){let t=e.indexOf(`:`),n=Number(e.slice(0,t)),r=Number(e.slice(t+1));(n<x||n>S||r<C||r>w)&&h(n,r)}}else for(let e of f.keys()){let t=e.indexOf(`:`);h(Number(e.slice(0,t)),Number(e.slice(t+1)))}return m},[`${x}:${S}:${C}:${w}`,n,t,r,i,c,l,v,y]),[E,D]=(0,M.useState)(!1),O=(0,M.useRef)({left:g,top:_,timer:null});(0,M.useEffect)(()=>{let e=O.current;e.left===g&&e.top===_||(e.left=g,e.top=_,D(!0),e.timer&&clearTimeout(e.timer),e.timer=setTimeout(()=>{e.timer=null,D(!1)},ur))},[g,_]),(0,M.useEffect)(()=>()=>{let e=O.current.timer;e&&clearTimeout(e)},[]);let k=d.getDevicePixelRatio(),A=Math.round((v-g)*k)/k,j=Math.round((y-_)*k)/k;return(0,N.jsxs)(N.Fragment,{children:[(0,N.jsx)(Ze,{fill:!0,className:G(`sxl-tiles`,or.tiles,f,o),style:{pointerEvents:`none`,...s,...E?{transform:`translate3d(${A}px, ${j}px, 0)`,willChange:`transform`}:{transform:`translate(${A}px, ${j}px)`,willChange:`auto`}},children:T}),a?(0,N.jsx)(`style`,{children:`.${f} [data-rc="${ar(a.rowIndex,a.colIndex)}"]{visibility:hidden !important;}`}):null]})});sr.displayName=`CellTileDiv`;var cr=(0,M.memo)(e=>{let{renderCell:t,cacheToken:n,getVisibleCells:r,hiddenCellAt:i,suppressCell:a,className:o,style:s,...c}=e;return(0,N.jsx)(qe,{className:G(o,`sxl-cells`),...c,children:(0,N.jsx)(sr,{renderCell:t,cacheToken:n,getVisibleCells:r,hiddenCellAt:i,suppressCell:a,style:s})})});cr.displayName=`CellLayer`;var $=8,lr=1<<19,ur=150,dr=1,fr=512,pr=!1,mr=(e,t,n,r)=>{let i=d.getDevicePixelRatio(),a=(r?.width??yr)/i,o=r?.shift??0,s=r?.breaksAt,l=e.getVisibleRange(),u=t=>e.getColumnSize(t).offset,f=t=>{let n=e.getColumnSize(t);return n.offset+n.size},p=t=>e.getRowSize(t).offset,m=t=>{let n=e.getRowSize(t);return n.offset+n.size},h=[],g=[],_=!1,v=``;if(t){let t=e.getVisibleRows(),r=t?t.length:0;if(r===0)return v;let p=[...n].sort(c.rowFirstRangeComparator),y=d.snapDeviceEdge(0,i),b=Math.min(e.getPaneBounds().width,f(l.colEnd)),x=d.snapDeviceEdge(b,i);for(let e=0;e<r&&t[e].index<=l.rowEnd;e++){let n=t[e],r=n.index;if(r<l.rowStart)continue;let S=n.offset+n.size;for(let e=h.length-1;e>=0;e--)m(h[e].rowEnd)<=S&&(h.splice(e,1),_=!1);let C=!1;for(;p.length>0&&p[0].rowStart<=r;){let e=p.shift();m(e.rowEnd)>S&&(h.push(e),C=!0,_=!1)}if(C&&h.sort(c.columnFirstRangeComparator),!_){g.length=0;for(let e=0;e<h.length;e++){let t=h[e];g.push(d.snapDeviceEdge(Math.min(b,u(t.colStart)),i),d.snapDeviceEdge(Math.min(b,f(t.colEnd)),i))}_=!0}let w=d.snapLineCenter(S+o,a,i),T=hr(g,s?.(r),i),E=y,D=T.length;for(let e=0;e<D;e+=2){let t=T[e];t>E&&(v+=`M ${E} ${w} L ${t} ${w} `),E=Math.max(E,T[e+1])}x>E&&(v+=`M ${E} ${w} L ${x} ${w} `)}}else{let t=e.getVisibleColumns(),r=t?t.length:0;if(r===0)return v;let u=[...n].sort(c.columnFirstRangeComparator),y=d.snapDeviceEdge(0,i),b=Math.min(e.getPaneBounds().height,m(l.rowEnd)),x=d.snapDeviceEdge(b,i);for(let e=0;e<r&&t[e].index<=l.colEnd;e++){let n=t[e],r=n.index;if(r<l.colStart)continue;let S=n.offset+n.size;for(let e=h.length-1;e>=0;e--)f(h[e].colEnd)<=S&&(h.splice(e,1),_=!1);let C=!1;for(;u.length>0&&u[0].colStart<=r;){let e=u.shift();f(e.colEnd)>S&&(h.push(e),C=!0,_=!1)}if(C&&h.sort(c.rowFirstRangeComparator),!_){g.length=0;for(let e=0;e<h.length;e++){let t=h[e];g.push(d.snapDeviceEdge(Math.min(b,p(t.rowStart)),i),d.snapDeviceEdge(Math.min(b,m(t.rowEnd)),i))}_=!0}let w=d.snapLineCenter(S+o,a,i),T=hr(g,s?.(r),i),E=y,D=T.length;for(let e=0;e<D;e+=2){let t=T[e];t>E&&(v+=`M ${w} ${E} L ${w} ${t} `),E=Math.max(E,T[e+1])}x>E&&(v+=`M ${w} ${E} L ${w} ${x} `)}}return v},hr=(e,t,n)=>{if(!t||t.length===0)return e;let r=[],i=0,a=0;for(;i<e.length||a<t.length;)a>=t.length||i<e.length&&e[i]<=d.snapDeviceEdge(t[a],n)?(r.push(e[i],e[i+1]),i+=2):(r.push(d.snapDeviceEdge(t[a],n),d.snapDeviceEdge(t[a+1],n)),a+=2);return r},gr=e=>{let t=``;for(let n=0;n<e.length;n++){let r=e[n];t+=`${r.rowStart},${r.colStart},${r.rowEnd},${r.colEnd};`}return t},_r=(e,t,n,r,i)=>{if(!n)return null;let a=e.getPaneBounds(),o=Math.ceil(a.width),s=Math.ceil(a.height),c=String(yr/d.getDevicePixelRatio());return(0,N.jsx)(`svg`,{className:G(t?`sxl-horizontal`:`sxl-vertical`),width:`${o}`,height:`${s}`,viewBox:`0 0 ${o} ${s}`,preserveAspectRatio:`none`,children:(0,N.jsx)(`path`,{d:n,fill:`none`,stroke:r,strokeWidth:c,vectorEffect:`non-scaling-stroke`,...i})})},vr=(0,M.memo)(e=>{let{showGridLines:t=!0,gridLineColor:n=`var(--sxl-color-base-300, rgb(224, 224, 224))`,propsRows:r,propsColumns:i,getVisibleCells:a,hiddenCellAt:o,cacheToken:s,bufferRange:c,className:l,style:u,...f}=e,p=Z(),m=t,h=!0===t||!0===m?.horizontal,g=!0===t||!0===m?.vertical,{rangesH:_,rangesV:v}=ir(p,{getVisibleCells:a,cacheToken:s}),y=d.getDevicePixelRatio(),{top:b,left:x}=p.getScrollTopLeft(),S=p.getPaneBounds(),C=p.getVisibleRange(),w=p.getColumnSize(C.colEnd),T=p.getRowSize(C.rowEnd),E=Math.min(S.width,w?w.offset+w.size:S.width),D=Math.min(S.height,T?T.offset+T.size:S.height),O=_.length===0?`${b}|${E}|${y}`:`${b}|${x}|${E}|${y}|${gr(_)}`,k=v.length===0?`${x}|${D}|${y}`:`${x}|${b}|${D}|${y}|${gr(v)}`,A=(0,M.useMemo)(()=>h?mr(p,!0,_):null,[p,h,O]),j=(0,M.useMemo)(()=>g?mr(p,!1,v):null,[p,g,k]);return h||g?(0,N.jsx)(qe,{...f,className:G(l,`sxl-gridlines`),children:(0,N.jsxs)(Ze,{fill:!0,className:G(`sxl-gridlines-box`,or.gridlines),style:{pointerEvents:`none`,...u},children:[h&&A?_r(p,!0,A,n,r):null,g&&j?_r(p,!1,j,n,i):null]})}):null});vr.displayName=`GridlineLayer`;var yr=1,br=class{constructor(e={}){this.listeners=new Set,this._coords=e.initial??{cell:{rowIndex:0,colIndex:0},ranges:c.EmptyRanges,rangeIndex:-1},this._getBounds=e.getBounds??(()=>Cr)}getSelection(){return this._coords}setSelection(e){c.isEqualSelectionCoords(this._coords,e)||(this._coords=e,this.listeners.forEach(e=>e()))}navigate(e,t=!1,n=!1,r=1){let i=this._getBounds(),{cell:a}=this._coords,o=e===l.Down?1:e===l.Up?-1:0,s=e===l.Right?1:e===l.Left?-1:0,u=e=>e===0?0:n?e>0?1/0:-1/0:e*Math.max(1,r),d=this._activeRange(),f=t?a.rowIndex===d.rowStart?d.rowEnd:d.rowStart:a.rowIndex,p=t?a.colIndex===d.colStart?d.colEnd:d.colStart:a.colIndex,m=K(f+u(o),i.rowStart,i.rowEnd),h=K(p+u(s),i.colStart,i.colEnd);if(!t)return void this.setSelection({cell:{rowIndex:m,colIndex:h},ranges:c.EmptyRanges,rangeIndex:-1});let g={rowStart:Math.min(a.rowIndex,m),colStart:Math.min(a.colIndex,h),rowEnd:Math.max(a.rowIndex,m),colEnd:Math.max(a.colIndex,h)};this.setSelection({cell:a,ranges:[g],rangeIndex:0})}traverse(e=s.Row,t=!1,n){let r=e===s.Row?t?l.Left:l.Right:t?l.Up:l.Down,i=this._coords;if(!(i.ranges&&i.ranges.length>0)||c.isEqualRangesArrays([c.cellToRange(i.cell)],i.ranges)){if(n&&!c.isSingleCell(n)){let e=u.findNextCellWithinSelection({ranges:[n],cell:i.cell,rangeIndex:0},r,e=>c.cellToRange(e));this.setSelection({cell:e.cell,ranges:a.EmptyArray,rangeIndex:-1});return}this.navigate(r);return}let o=u.findNextCellWithinSelection(i,r,e=>c.cellToRange(e));this.setSelection(o)}_activeIndex(){let{ranges:e,rangeIndex:t}=this._coords;return e&&e.length!==0?t!==void 0&&t>=0&&t<e.length?t:e.length-1:-1}_activeRange(){let e=this._activeIndex();return e>=0?this._coords.ranges[e]:c.cellToRange(this._coords.cell)}modify(e,t=this._coords.cell){let n=this._activeRange(),r=xr({rowStart:Math.min(e.rowIndex??n.rowStart,t.rowIndex??n.rowStart),colStart:Math.min(e.colIndex??n.colStart,t.colIndex??n.colStart),rowEnd:Math.max(e.rowIndex??n.rowEnd,t.rowIndex??n.rowEnd),colEnd:Math.max(e.colIndex??n.colEnd,t.colIndex??n.colEnd)},this._getBounds()),i=this._coords,a=this._activeIndex(),o=a>=0?i.ranges.map((e,t)=>t===a?r:e):[r],s=Sr(i.cell,r);this.setSelection({cell:s,ranges:o,rangeIndex:a>=0?a:0})}append(e,t=e){let n=xr({rowStart:Math.min(e.rowIndex,t.rowIndex),colStart:Math.min(e.colIndex,t.colIndex),rowEnd:Math.max(e.rowIndex,t.rowIndex),colEnd:Math.max(e.colIndex,t.colIndex)},this._getBounds()),r=this._coords,i=r.ranges&&r.ranges.length>0?[...r.ranges]:[c.cellToRange(r.cell)];i.push(n),this.setSelection({ranges:i,rangeIndex:i.length-1,cell:{rowIndex:n.rowStart,colIndex:n.colStart}})}deselect(e){let t=this._coords;if(!t.ranges||t.ranges.length===0)return;let n=[],r=-1,i=t.cell;for(let o of t.ranges){if(!c.isRangesIntersect(o,e)){n.push(o),r===-1&&c.isCellWithinRange(t.cell,o)&&(r=n.length-1);continue}let s=n.length,l=a.subtractRect({top:o.rowStart,left:o.colStart,bottom:o.rowEnd+1,right:o.colEnd+1},{top:e.rowStart,left:e.colStart,bottom:e.rowEnd+1,right:e.colEnd+1});for(let e of l){let i={rowStart:e.top,colStart:e.left,rowEnd:e.bottom-1,colEnd:e.right-1};n.push(i),r===-1&&c.isCellWithinRange(t.cell,i)&&(r=n.length-1)}if(r===-1&&n.length>s&&c.isCellWithinRange(t.cell,o)){r=n.length-1;let e=n[n.length-1];i={rowIndex:e.rowStart,colIndex:e.colStart}}}if(r===-1&&n.length>0&&t.ranges.some(e=>c.isCellWithinRange(t.cell,e))){r=n.length-1;let e=n[r];i={rowIndex:e.rowStart,colIndex:e.colStart}}this.setSelection({cell:i,rangeIndex:r,ranges:n})}getCoords(){return this._coords.cell}subscribe(e){return this.listeners.add(e),()=>{this.listeners.delete(e)}}},xr=(e,t)=>({rowStart:K(e.rowStart,t.rowStart,t.rowEnd),colStart:K(e.colStart,t.colStart,t.colEnd),rowEnd:K(e.rowEnd,t.rowStart,t.rowEnd),colEnd:K(e.colEnd,t.colStart,t.colEnd)}),Sr=(e,t)=>({rowIndex:K(e.rowIndex,t.rowStart,t.rowEnd),colIndex:K(e.colIndex,t.colStart,t.colEnd)}),Cr={rowStart:0,colStart:0,rowEnd:2**53-1,colEnd:2**53-1},wr=`var(--sxl-color-primary, rgb(33, 115, 70))`,Tr=`var(--sxl-color-base-100, rgb(255, 255, 255))`,Er=`var(--sxl-color-warning, rgb(255, 0, 0))`,Dr=e=>`color-mix(in srgb, var(--sxl-color-primary, rgb(33, 115, 70)) ${e}%, transparent)`,Or={fill:{fill:Dr(10)},border:{stroke:wr,alignWidth:2,style:{filter:`drop-shadow(1px 1px 0.3px var(--sxl-color-shadow, rgba(0, 0, 0, 0.24)))`}},inner:{stroke:Tr,alignWidth:2,inset:1}},kr={fill:{fill:Dr(6)},border:{stroke:wr,alignWidth:1},inner:{stroke:Tr,alignWidth:1,inset:1}},Ar={stroke:wr,alignWidth:1,inset:2},jr={fill:{fill:`color-mix(in srgb, ${Er} 10%, transparent)`},border:{stroke:Er,alignWidth:2}},Mr={color:wr,refusedColor:Er,alignWidth:3,capExtent:3,transitionDuration:100,transitionEasing:`cubic-bezier(0.16, 1, 0.3, 1)`,axisDuration:70},Nr={fill:{fill:`color-mix(in srgb, ${Tr} 62%, transparent)`}},Pr=(e,t)=>{let n=Z(),r=t?.allowDeselect??!0,i=t?.allowMulti??!0,a=(0,M.useRef)(null),[o,s]=(0,M.useState)(null),l=(0,M.useRef)(t?.onSelectionEnd);l.current=t?.onSelectionEnd;let u=wn((t,o)=>{if(o.pointerType===`touch`){let t=n.getScrollTopLeft(),r={x:o.clientX,y:o.clientY};return{capture:!1,drag:()=>{},end:i=>{let a=n.getScrollTopLeft();if(!(Math.abs(i.clientX-r.x)>10||Math.abs(i.clientY-r.y)>10)&&a.left===t.left&&a.top===t.top){let t=n.getCellFromPointer(r.x,r.y);t&&e.setSelection({cell:t,ranges:c.EmptyRanges,rangeIndex:-1})}l.current?.(i)}}}if(o.button===0&&!o.shiftKey&&!o.ctrlKey&&!o.metaKey&&Xn(o.target)){let r=Zn(o.target)??t;return e.setSelection({cell:r,ranges:c.EmptyRanges,rangeIndex:-1}),n.focus({preventScroll:!0}),null}if(o.button===2){let n=e.getSelection();return c.isEqualCells(n.cell,t)||n.ranges&&n.ranges.some(e=>c.isCellWithinRange(t,e))||e.setSelection({cell:t,ranges:c.EmptyRanges,rangeIndex:-1}),null}if(o.button!==0)return null;o.stopPropagation();let u=e=>l.current?.(e),d=e.getSelection(),f=()=>e.setSelection(d);if(o.shiftKey)return e.modify(t),{dragMode:`extend`,drag:t=>e.modify(t),end:u,cancel:f};if((o.ctrlKey||o.metaKey)&&i){let i=e.getSelection().ranges,o=!!i&&i.some(e=>c.isCellWithinRange(t,e));return r&&o?(a.current=c.cellToRange(t),s(a.current),{dragMode:`remove`,drag:e=>{a.current=((e,t)=>{let r=n.getTotalRange();return{rowStart:Math.max(r.rowStart,Math.min(e.rowIndex,t.rowIndex)),colStart:Math.max(r.colStart,Math.min(e.colIndex,t.colIndex)),rowEnd:Math.min(r.rowEnd,Math.max(e.rowIndex,t.rowIndex)),colEnd:Math.min(r.colEnd,Math.max(e.colIndex,t.colIndex))}})(t,e),s(a.current)},end:t=>{let n=a.current;a.current=null,s(null),n&&e.deselect(n),u(t)},cancel:()=>{a.current=null,s(null)}}):(e.append(t),{dragMode:`extend`,drag:t=>e.modify(t),end:u,cancel:f})}return e.setSelection({cell:t,ranges:c.EmptyRanges,rangeIndex:-1}),{dragMode:`extend`,drag:t=>e.modify(t),end:u,cancel:f}});return{onPointerDown:u.onPointerDown,onPointerMove:u.onPointerMove,onPointerUp:u.onPointerUp,removePreview:o,dragMode:u.dragMode}},Fr=`selection-grip-drag`,Ir=(e,t)=>t===void 0?e:t===null?null:{...e,...t},Lr=(e,t)=>t?{fill:Ir(e.fill,t.fill),border:Ir(e.border,t.border),inner:Ir(e.inner,t.inner)}:e,Rr=e=>{let{selection:t,glide:n=null}=e,r=Be(),i=Ur(f(t,e=>e.getSelection())),a=r?W(r.getAllPanes())??r:void 0,o=((e,t,n)=>{let r=!!t&&e.rowStart===t.rowStart&&e.rowEnd===t.rowEnd,i=!!t&&e.colStart===t.colStart&&e.colEnd===t.colEnd;if(r&&i)return[];if(r){let t=n?Math.floor((n.rowStart+n.rowEnd)/2):e.rowStart;return[{key:`l`,placement:{side:`l`,align:`center`},cell:{rowIndex:t,colIndex:e.colStart},pivot:{colIndex:e.colEnd},axis:`col`,pin:`v`},{key:`r`,placement:{side:`r`,align:`center`},cell:{rowIndex:t,colIndex:e.colEnd},pivot:{colIndex:e.colStart},axis:`col`,pin:`v`}]}if(i){let t=n?Math.floor((n.colStart+n.colEnd)/2):e.colStart;return[{key:`t`,placement:{side:`t`,align:`center`},cell:{rowIndex:e.rowStart,colIndex:t},pivot:{rowIndex:e.rowEnd},axis:`row`,pin:`h`},{key:`b`,placement:{side:`b`,align:`center`},cell:{rowIndex:e.rowEnd,colIndex:t},pivot:{rowIndex:e.rowStart},axis:`row`,pin:`h`}]}return[{key:`tl`,placement:{side:`t`,align:`start`},cell:{rowIndex:e.rowStart,colIndex:e.colStart},pivot:{rowIndex:e.rowEnd,colIndex:e.colEnd},axis:`both`},{key:`br`,placement:{side:`b`,align:`end`},cell:{rowIndex:e.rowEnd,colIndex:e.colEnd},pivot:{rowIndex:e.rowStart,colIndex:e.colStart},axis:`both`}]})(i,r?.getTotalRange(),a?.getVisibleRange()),[s,c]=(0,M.useState)(!1),l=Ue(Fr,null),u=(0,M.useRef)(null);(0,M.useEffect)(()=>()=>{u.current?.dispose(),l(null)},[l]);let d=(e,n,r)=>{let{pivot:i,axis:a,placement:o}=n;u.current?.dispose();let s=a===`col`?{x:!0,y:!1}:a===`row`?{x:!1,y:!0}:{x:!0,y:!0},d=t.getSelection(),f=Cn(e,()=>(c(!0),l(o),{dragMode:`grip`,drag:e=>{let n=a===`col`?{colIndex:e.colIndex}:a===`row`?{rowIndex:e.rowIndex}:e;t.modify(n,i)},edgeScroll:t=>_n(e,t,s),end:()=>{c(!1),l(null)},cancel:()=>{t.setSelection(d),c(!1),l(null)}}),void 0,(t,n)=>(e.getPaneFromPointer(t,n)??e).getCellFromPointer(t,n));u.current=f,f.start(r,r.currentTarget)};return(0,N.jsx)(N.Fragment,{children:o.map(e=>(0,N.jsx)(Br,{spec:e,dragging:s,glide:n,onBeginDrag:d},e.key))})};Rr.displayName=`SelectionTouchGrips`;var zr={side:`slide`,align:`slide`},Br=e=>{let{spec:t,dragging:n,glide:r,onBeginDrag:i}=e;return(0,N.jsx)(gt,{anchor:{cell:t.cell},placement:t.placement,whenOff:`hide`,whenPartial:zr,children:e=>e.slid?null:(0,N.jsx)(Vr,{state:e,dragging:n,pin:t.pin,placement:t.placement,glide:r,onBeginDrag:n=>{e.pane&&i(e.pane,t,n)}})})},Vr=e=>{let{state:t,dragging:n,pin:r,placement:i,glide:a,onBeginDrag:o}=e,s=(0,M.useRef)(null),c=(0,M.useRef)(()=>{});c.current=()=>{let e=s.current;if(!e)return;let n=a&&t.pane?a.frame(Zt(t.pane)):null;if(!n)return void(e.style.translate=Hr);let{dx:o,dy:c}=Xt(n,i.side,i.align);e.style.translate=`calc(-50% + ${r===`h`?0:o}px) calc(-50% + ${r===`v`?0:c}px)`},(0,M.useLayoutEffect)(()=>{c.current()}),(0,M.useLayoutEffect)(()=>{if(a)return a.subscribe(()=>c.current())},[a]);let l=(0,M.useRef)({state:t,pin:r});l.current={state:t,pin:r};let u=(0,M.useMemo)(()=>({get contextElement(){return l.current.state.reference.contextElement},getBoundingClientRect:()=>{let{state:e,pin:t}=l.current,{x:n,y:r}=e.getAnchorPoint();if(t){let i=e.pane?.getElement()?.getBoundingClientRect();i&&(t===`v`?r=i.top+i.height/2:n=i.left+i.width/2)}return{x:n,y:r,width:0,height:0,top:r,left:n,right:n,bottom:r}}}),[]),d=(0,M.useRef)(null);return(0,M.useLayoutEffect)(()=>{d.current?.instance()?.update()},[t]),(0,N.jsx)(p,{ref:d,open:!0,anchorEl:u,placement:`bottom`,strategy:`fixed`,resizeOnOverflow:!1,transition:!1,themeFrom:`anchor`,zIndex:A(`grid`),className:`sxl-touch-input`,style:{width:0,height:0,overflow:`visible`,pointerEvents:`none`},children:(0,N.jsx)(`div`,{ref:s,className:`sxl-touch-select-grip`,style:{position:`absolute`,left:0,top:0,translate:Hr,width:`var(--sxl-handle-size)`,height:`var(--sxl-handle-size)`,boxSizing:`border-box`,background:`var(--sxl-color-base-100, white)`,border:`var(--sxl-handle-ring) solid var(--sxl-handle-color)`,borderRadius:`50%`,boxShadow:`0 0 0 var(--sxl-handle-halo) var(--sxl-color-base-100, white)`,cursor:`grab`,touchAction:`none`,opacity:+!n,pointerEvents:n?`none`:`all`,transition:`opacity 160ms`},onPointerDown:e=>{e.button!==0&&e.pointerType!==`touch`||t.pane&&(e.preventDefault(),e.stopPropagation(),o(e))},children:(0,N.jsx)(`div`,{style:{position:`absolute`,inset:`calc((var(--sxl-handle-size) - var(--sxl-handle-hit)) / 2)`,borderRadius:`50%`}})})})},Hr=`-50% -50%`,Ur=e=>{let{ranges:t,rangeIndex:n,cell:r}=e;if(t&&t.length>0){let e=n??-1;return t[e>=0?e:t.length-1]}return c.cellToRange(r)},Wr=[l.Left,l.Right,l.Up,l.Down],Gr={[l.Left]:`ArrowLeft`,[l.Right]:`ArrowRight`,[l.Up]:`ArrowUp`,[l.Down]:`ArrowDown`},Kr={[l.Left]:`Left`,[l.Right]:`Right`,[l.Up]:`Up`,[l.Down]:`Down`},qr={side:`b`,align:`end`},Jr=(e,t,n)=>{let r=e.rowStart<=t.rowStart&&e.rowEnd>=t.rowEnd;return r===(e.colStart<=t.colStart&&e.colEnd>=t.colEnd)?null:r?{side:n?`r`:`l`,align:`start`}:{side:n?`b`:`t`,align:`start`}},Yr={display:`contents`},Xr=(e,t,n,r)=>{let{edge:i}=n,a=t.rowStart+n.cell.rowIndex-e.rowStart,o=t.colStart+n.cell.colIndex-e.colStart,s=r.boundsOf(t),c=r.boundsOf({rowStart:a,rowEnd:a,colStart:o,colEnd:o}),l=i===`top`||i===`bottom`,u=i===`top`?`t`:i===`bottom`?`b`:i===`left`?`l`:`r`;if(!s||!c)return{side:u,align:`end`};let d=l?s.x:s.y,f=d+(l?s.width:s.height),p=l?c.x:c.y,m=p+(l?c.width:c.height),h=(p+m)/2<=(d+f)/2,g=h?f-m:p-d;if((l?r.tip.width:r.tip.height)+2<=g)return{side:u,align:h?`end`:`start`};let _=i===`top`||i===`left`?`start`:`end`;return l?{side:h?`r`:`l`,align:_}:{side:h?`b`:`t`,align:_}},Zr={row:`b`,col:`r`},Qr=(e,t)=>{let n=t.rowStart,r=t.colStart;return e?{row:n>e.rowAt?`b`:n<e.rowAt?`t`:e.row,col:r>e.colAt?`r`:r<e.colAt?`l`:e.col,rowAt:n,colAt:r}:{...Zr,rowAt:n,colAt:r}},$r=M.forwardRef((e,t)=>{let{selection:n,getContentBounds:r,getRegionBounds:i,scrollIntoView:o,singleStyle:u,multiStyle:d,multiAnchorStyle:p,singleAnchorStyle:m,removePreviewStyle:h,insertBarStyle:g,isDropRefused:_,snapMoveDestination:v,moveSourceStyle:y,singleLayer:b,multiLayer:x,enabledMove:S,onMove:C,onMoveStart:w,onMoveUpdate:T,onMoveEnd:E,moveCursor:D,enableFill:O,snapFillDestination:A,onFill:j,onFillStart:P,onFillPreview:F,onFillEnd:I,onFillMenu:L,resolveFillExtent:R,onEdgeDoubleClick:z,onSelectionEnd:B,onDragModeChange:V,externalDrag:H=!1,renderTip:U,tipPlacement:ee,disableKeyboard:te,anchorHole:ne=!0,animate:W=!1,...re}=e,G=f(n,e=>e.getSelection()),K=Pr(n,{onSelectionEnd:B}),[q]=He(Fr,null),ie=M.useRef(V);ie.current=V,M.useEffect(()=>{ie.current?.(K.dragMode)},[K.dragMode]);let[ae,oe]=M.useState(null),se=M.useRef(null),ce=M.useRef(null),le=M.useRef(null),J=M.useRef({width:0,height:0}),ue=Z(),de=M.useRef(n);de.current=n;let fe=M.useRef(ue);fe.current=ue;let pe=M.useRef(r);pe.current=r;let me=M.useRef(i);me.current=i;let he=M.useRef(o);he.current=o;let ge=M.useMemo(()=>function(e){let{getSelection:t,getPane:n,getContentBounds:r,getScrollIntoView:i=()=>{},getRegionBounds:o=()=>null}=e,u=()=>t(),d=()=>n(),f=()=>d().getTotalRange(),p=r??f,m=e=>o(e),h=e=>{let t=i();t?t(e):d().scrollCellCoordsIntoView(e)},g=()=>h(u().getSelection().cell),_=()=>{let e=u().getSelection();return e.ranges&&e.ranges.length>0&&e.rangeIndex!==void 0&&e.rangeIndex>=0?e.ranges[e.rangeIndex]:c.cellToRange(e.cell)},v=(e,t,n=!1)=>{if(u().navigate(e,t,n),i())return;let r=u().getSelection(),a=e===l.Left||e===l.Right;if(t){let t=f(),n=_(),i=r.cell.colIndex===n.colStart?n.colEnd:n.colStart,o=r.cell.rowIndex===n.rowStart?n.rowEnd:n.rowStart;if(e===l.Right&&i===t.colEnd||e===l.Left&&i===t.colStart||e===l.Up&&o===t.rowStart||e===l.Down&&o===t.rowEnd)return;h(a?{colIndex:i}:{rowIndex:o})}else h(a?{colIndex:r.cell.colIndex}:{rowIndex:r.cell.rowIndex})},y=(e,t)=>{let n=d(),r=n.getMetrics(),i=f(),o=n.getSurfaceSize(),s=n.getScrollTopLeft(),c=n.getScrollTarget?.()??s,p=_(),m=u().getSelection().cell,h=t?m.rowIndex===p.rowStart?p.rowEnd:p.rowStart:m.rowIndex,g=t?m.colIndex===p.colStart?p.colEnd:p.colStart:m.colIndex,v=h,y=g,b=null;switch(e){case l.Up:{let e=r.getRowOffset(h+1);v=Math.max(i.rowStart,r.getRowIndex(e-o.height)),b={top:r.getRowOffset(v+1)-(e-c.top)};break}case l.Down:{let e=r.getRowOffset(h);v=Math.min(i.rowEnd,r.getRowIndex(e+o.height)),b={top:r.getRowOffset(v)-(e-c.top)};break}case l.Left:{let e=r.getColOffset(g+1);y=Math.max(i.colStart,r.getColIndex(e-o.width)),b={left:r.getColOffset(y+1)-(e-c.left)};break}case l.Right:{let e=r.getColOffset(g);y=Math.min(i.colEnd,r.getColIndex(e+o.width)),b={left:r.getColOffset(y)-(e-c.left)};break}}let x={rowIndex:v,colIndex:y};t?u().modify(x):u().setSelection({cell:x,ranges:a.EmptyArray,rangeIndex:-1}),b&&n.scrollTo({...b,behavior:`instant`})},b=(e,t)=>{if(t)u().modify(e);else{let t=u().getSelection().cell;u().setSelection({cell:{rowIndex:e.rowIndex??t.rowIndex,colIndex:e.colIndex??t.colIndex},ranges:a.EmptyArray,rangeIndex:-1})}g()},x=(e,t)=>{let n=u().getSelection(),r=n.ranges&&n.ranges.length>0||e!==s.Row?void 0:m(n.cell)??void 0;u().traverse(e,t,r),g()},S=e=>{let t=u().getSelection();if(!t.ranges||t.ranges.length<=1)return;let n=(t.rangeIndex??t.ranges.length-1)+(e?-1:1);n<0?n=t.ranges.length-1:n>=t.ranges.length&&(n=0);let r=t.ranges[n];u().setSelection({...t,rangeIndex:n,cell:{rowIndex:r.rowStart,colIndex:r.colStart}}),g()},C=new Map,w=(e,t,n)=>{C.set(e,{shortcut:t,run:n})},T=k.Shift,E=k.Ctrl,D=k.Alt;for(let e of Wr){let t=Kr[e],n=Gr[e];w(`move${t}`,{key:n},()=>v(e,!1)),w(`select${t}`,{key:n,modifiers:[T]},()=>v(e,!0)),w(`moveContentful${t}`,{key:n,modifiers:[E]},()=>v(e,!1,!0)),w(`selectContentful${t}`,{key:n,modifiers:[E,T]},()=>v(e,!0,!0))}w(`moveToPageDown`,{key:`PageDown`},()=>y(l.Down,!1)),w(`selectToPageDown`,{key:`PageDown`,modifiers:[T]},()=>y(l.Down,!0)),w(`moveToPageUp`,{key:`PageUp`},()=>y(l.Up,!1)),w(`selectToPageUp`,{key:`PageUp`,modifiers:[T]},()=>y(l.Up,!0)),w(`moveToPageRight`,{key:`PageDown`,modifiers:[D]},()=>y(l.Right,!1)),w(`selectToPageRight`,{key:`PageDown`,modifiers:[D,T]},()=>y(l.Right,!0)),w(`moveToPageLeft`,{key:`PageUp`,modifiers:[D]},()=>y(l.Left,!1)),w(`selectToPageLeft`,{key:`PageUp`,modifiers:[D,T]},()=>y(l.Left,!0)),w(`traverseSelectionRight`,{key:`Tab`},()=>x(s.Row,!1)),w(`traverseSelectionLeft`,{key:`Tab`,modifiers:[T]},()=>x(s.Row,!0)),w(`traverseSelectionDown`,[{key:`Enter`},{key:`NumpadEnter`}],()=>x(s.Column,!1)),w(`traverseSelectionUp`,[{key:`Enter`,modifiers:[T]},{key:`NumpadEnter`,modifiers:[T]}],()=>x(s.Column,!0)),w(`traverseSelectionNextRange`,{key:`ArrowRight`,modifiers:[E,D]},()=>S(!1)),w(`traverseSelectionPreviousRange`,{key:`ArrowLeft`,modifiers:[E,D]},()=>S(!0)),w(`moveToRowStart`,{key:`Home`},()=>b({colIndex:f().colStart},!1)),w(`moveToGridStart`,{key:`Home`,modifiers:[E]},()=>b({rowIndex:f().rowStart,colIndex:f().colStart},!1)),w(`selectToRowStart`,{key:`Home`,modifiers:[T]},()=>b({colIndex:f().colStart},!0)),w(`selectToColumnStart`,void 0,()=>b({rowIndex:f().rowStart},!0)),w(`selectToGridStart`,{key:`Home`,modifiers:[E,T]},()=>b({rowIndex:f().rowStart,colIndex:f().colStart},!0)),w(`moveToRowEnd`,{key:`End`},()=>b({colIndex:p().colEnd},!1)),w(`moveToGridEnd`,{key:`End`,modifiers:[E]},()=>b({rowIndex:p().rowEnd,colIndex:p().colEnd},!1)),w(`selectToColumnEnd`,void 0,()=>b({rowIndex:f().rowEnd},!0)),w(`selectToRowEnd`,{key:`End`,modifiers:[T]},()=>b({colIndex:p().colEnd},!0)),w(`selectToGridEnd`,{key:`End`,modifiers:[E,T]},()=>b({rowIndex:p().rowEnd,colIndex:p().colEnd},!0)),w(`selectColumn`,{key:`Space`,modifiers:[E]},()=>{let e=m(u().getSelection().cell)??f();u().modify({rowIndex:e.rowStart},{rowIndex:e.rowEnd}),g()}),w(`selectRow`,{key:`Space`,modifiers:[T]},()=>{let e=m(u().getSelection().cell)??f();u().modify({colIndex:e.colStart},{colIndex:e.colEnd}),g()}),w(`scrollToActiveCoords`,{key:`Backspace`,modifiers:[E]},()=>g()),w(`scrollToActiveCoordsClearSelection`,{key:`Backspace`,modifiers:[T]},()=>{let e=u().getSelection().cell;u().setSelection({cell:e,ranges:a.EmptyArray,rangeIndex:-1}),g()});let O=(e,t)=>{let n=t.modifiers??[];return(n.includes(E)||n.includes(k.Meta))===(e.ctrlKey||e.metaKey)&&n.includes(T)===e.shiftKey&&n.includes(D)===e.altKey&&(e.key===t.key||e.code===t.key)};return{invoke(e){let t=C.get(e);return!!t&&(t.run(),!0)},supports:e=>C.has(e),getBindings:()=>C,handleKey(e){for(let t of C.values())if(t.shortcut&&(Array.isArray(t.shortcut)?t.shortcut:[t.shortcut]).some(t=>O(e,t)))return t.run(),!0;return!1}}}({getSelection:()=>de.current,getPane:()=>fe.current,getContentBounds:()=>pe.current?.()??fe.current.getTotalRange(),getScrollIntoView:()=>he.current,getRegionBounds:e=>me.current?.(e)??null}),[]);M.useImperativeHandle(t,()=>ge,[ge]);let _e=!!G.ranges&&G.ranges.length>0,ve=_e?[...G.ranges]:[c.cellToRange(G.cell)],ye=ve.length>1,be=G.rangeIndex??-1,xe=_e?be>=0?be:ve.length-1:0,Y=ve[xe]??c.cellToRange(G.cell),Se=ue.getRangeFromCell(G.cell),Ce=c.intersectRanges(Se,Y)??c.cellToRange(G.cell),X=ve.filter((e,t)=>t!==xe),we=typeof W==`object`?W:void 0,Te=we?.key??`selection`,Ee=pn(W?Te:null,we),De=pn(`${Te}:move-ghost`,{duration:60,retargetDuration:60}),Oe=M.useRef(-1/0),ke=K.dragMode!==null||q!==null||H,Ae=M.useRef(!1);M.useLayoutEffect(()=>{let e=ke&&Ae.current;if(Ae.current=ke,!Ee)return;let t=performance.now()-Oe.current<250,n=!ye&&!t&&!e;Ee.retarget({range:Y,hole:Ce},Zt(ue),n)&&t&&(Oe.current=-1/0)});let je=()=>{Oe.current=performance.now()},Me=ye?null:Ee,Ne=ye?Lr(kr,d):Lr(Or,u),Pe={...Ar,...p},Fe=Lr(jr,h),{refusedColor:Ie,...Le}={...Mr,...g},Re=y===null?null:Lr(Nr,y),ze=(e,t)=>{let n=t.mods.shiftKey?t.insert:null,r=t.mods.ctrlKey||t.mods.metaKey,i={to:n?Ln(e,n,ue.getTotalRange()):e,copy:r,insert:n?.axis};return!n&&v&&(i.to=v(Y,i)),i.refused=n?!r&&(_?_(Y,i):c.isRefusedInsertCut(c.classifyInsertCut(Y,i.to,n.axis))):!!_?.(Y,i),i},Be=e=>{let t=n.getSelection(),r=t.ranges,i=!!r&&r.length>0,a=i?t.rangeIndex!==void 0&&t.rangeIndex>=0&&t.rangeIndex<r.length?t.rangeIndex:r.length-1:0,o=i?r.map((t,n)=>n===a?e:t):[e],s=c.isCellWithinRange(t.cell,e)?t.cell:{rowIndex:e.rowStart,colIndex:e.colStart};n.setSelection({cell:s,ranges:o,rangeIndex:a})},Ve=K.dragMode===`extend`||q!==null||H,Ue=ae??(Ve?{kind:`select`,range:Y}:null),We=Ue&&U?U(Ue):null,Ge={boundsOf:e=>ue.getBoundsFromRange(e),tip:J.current},Ke=Ue?((e,t,n,r,i,a,o)=>{if(e.kind===`select`){let{range:i}=e,a=n??((e,t)=>({side:t.rowStart>e.rowStart?`t`:`b`,align:t.colStart>e.colStart?`start`:`end`}))(i,t);return{range:i,placement:Jr(i,r,i.rowStart<=r.rowStart&&i.rowEnd>=r.rowEnd?a.align===`end`:a.side===`b`)??a}}if(e.kind===`fill`){let{template:t,destination:n}=e,i=Jr(n,r,n.rowEnd>t.rowEnd||n.colEnd>t.colEnd);if(i)return{range:n,placement:i};let a=qr;return n.rowEnd>t.rowEnd?a={side:`r`,align:`end`}:n.rowStart<t.rowStart?a={side:`r`,align:`start`}:n.colStart<t.colStart&&(a={side:`b`,align:`start`}),{range:n,placement:a}}let{to:c,drop:l}=e;if(l.insert===s.Row)return i.row===`b`&&c.rowStart>r.rowStart?{range:{...c,rowStart:c.rowStart-1,rowEnd:c.rowStart-1},placement:{side:`b`,align:`start`}}:{range:{...c,rowEnd:c.rowStart},placement:{side:`t`,align:`start`}};if(l.insert===s.Column)return i.col===`r`&&c.colStart>r.colStart?{range:{...c,colStart:c.colStart-1,colEnd:c.colStart-1},placement:{side:`r`,align:`start`}}:{range:{...c,colEnd:c.colStart},placement:{side:`l`,align:`start`}};let u=Jr(c,r,a?.edge!==`left`&&a?.edge!==`top`);return u?{range:c,placement:u}:a&&o?{range:c,placement:Xr(e.from,c,a,o)}:{range:c,placement:qr}})(Ue,Ce,q,ue.getTotalRange(),se.current??Zr,ce.current,Ge):{range:Y,placement:qr},Q,Je=null;Ue?.kind===`move`&&(Ue.drop.insert?Q={duration:Le.transitionDuration??0,easing:Le.transitionEasing}:Je=De),M.useLayoutEffect(()=>{let e=le.current?.closest(`.sxl-gesture-tip`);if(!e)return;let{width:t,height:n}=e.getBoundingClientRect();J.current={width:t,height:n}});let Ye=M.Children.map(ye?x:b,e=>{if(!M.isValidElement(e))return e;let t=e.props;return M.cloneElement(e,{range:Y,onDragEnd:(e,n)=>{t.onDragEnd?.(e,n),Be(e)}})});return(0,N.jsxs)(qe,{...re,onPointerDown:K.onPointerDown,onPointerMove:K.onPointerMove,onPointerUp:K.onPointerUp,onKeyDown:te?void 0:e=>{ge.handleKey(e)&&(e.preventDefault(),e.stopPropagation())},children:[ae?.kind===`move`&&!ae.drop.copy&&Re&&!c.isEqualRanges(ae.to,ae.from)&&ei(Re,ae.from,void 0,`move-source`),(0,N.jsxs)(N.Fragment,ye?{children:[X.map((e,t)=>(0,N.jsx)(M.Fragment,{children:ei(Ne,e)},`other-${t}`)),ei(Ne,Y,ne?Ce:void 0),(0,N.jsx)(mn,{className:`sxl-anchor`,range:Ce,...Pe})]}:{children:[ei(Ne,Y,ne?Ce:void 0,`range`,Me),m&&(0,N.jsx)(mn,{className:`sxl-anchor`,range:Ce,...m})]}),!ye&&S&&(0,N.jsx)(Rn,{className:`sxl-move-grip`,range:Y,grip:`edges`,dragCursor:D,renderMove:({range:e,info:t})=>{let n=ze(e,t);return n.insert?(0,N.jsx)(hn,{range:n.to,axis:n.insert,...Le,color:(n.refused?Ie:void 0)??Le.color}):Ne.border&&(0,N.jsx)(mn,{className:`sxl-move-ghost`,range:n.to,glide:De,...Ne.border,stroke:(n.refused?Ie:void 0)??Ne.border.stroke,style:{opacity:.6}})},onEdgeDoubleClick:z,onDragStart:(e,t,n,r)=>{let i=ze(e,n);w?.(e,t,i,r),se.current=Qr(null,i.to),ce.current=n.grab,De?.retarget({range:i.to},Zt(ue),!1),oe({kind:`move`,from:e,to:i.to,drop:i})},onDragMove:(e,t,n)=>{let r=ze(e,n);T?.(Y,r.to,t,r),se.current=Qr(se.current,r.to),De?.retarget({range:r.to},Zt(ue),!0),oe({kind:`move`,from:Y,to:r.to,drop:r})},onDragStateChange:e=>{e||(E?.(),oe(null))},onDragEnd:(e,t,r)=>{let i=ze(e,r);i.refused||(C?.(Y,i.to,t,i),je(),n.modify({rowIndex:i.to.rowEnd,colIndex:i.to.colEnd},{rowIndex:i.to.rowStart,colIndex:i.to.colStart}))}}),!ye&&O&&(0,N.jsx)(qn,{range:Y,glide:Me,snapDestination:A,...Ne.border,onDragStart:(e,t,n)=>{P?.(e,t,n),oe({kind:`fill`,template:e,destination:e})},onDragMove:(e,t)=>{F?.(Y,e,t),oe({kind:`fill`,template:Y,destination:e})},onDragEnd:(e,t)=>{j?.(Y,e,t),je(),Be(e)},onMenu:L?(e,t,n)=>{L(Y,e,t,n)}:void 0,onDragDone:()=>{I?.(),oe(null)},onDoubleClick:R?(e,t)=>{let n=R(e);n&&!c.isEqualRanges(n,e)&&(j?.(e,n,t),Be(n))}:void 0}),K.removePreview&&ei(Fe,K.removePreview,void 0,`remove-preview`),Ye,U&&(0,N.jsx)(rn,{name:`selection-gesture`,active:Ue!==null,anchor:{range:Ke.range},placement:ee??Ke.placement,offset:Ue?.kind===`fill`?void 0:4,alignOffset:Ue?.kind===`fill`?void 0:2,glide:Q,rangeGlide:Je,children:(Xe=We,Xe==null||!1===Xe||Xe===``?We:(0,N.jsx)(`span`,{ref:le,style:Yr,children:We}))})]});var Xe});$r.displayName=`SelectionLayer`;var ei=(e,t,n,r=`range`,i=null)=>(0,N.jsxs)(N.Fragment,{children:[e.fill&&(0,N.jsx)(mn,{className:`sxl-${r} sxl-${r}-fill`,glide:i,range:t,hole:n,...e.fill}),e.inner&&(0,N.jsx)(mn,{className:`sxl-${r} sxl-${r}-inner`,glide:i,range:t,...e.inner}),e.border&&(0,N.jsx)(mn,{className:`sxl-${r} sxl-${r}-border`,glide:i,range:t,...e.border})]}),ti=Array.from({length:7},(e,t)=>g(`color-series`,t)),ni=`var(--sxl-color-primary, rgb(0, 120, 215))`,ri=(e,t,n)=>({rowStart:Math.max(n.rowStart,Math.min(e.rowIndex,t.rowIndex)),colStart:Math.max(n.colStart,Math.min(e.colIndex,t.colIndex)),rowEnd:Math.min(n.rowEnd,Math.max(e.rowIndex,t.rowIndex)),colEnd:Math.min(n.colEnd,Math.max(e.colIndex,t.colIndex))}),ii=e=>({stroke:ti.length?ti[e%ti.length]:ni}),ai=e=>{let{selection:t,getRangeStyle:n=ii,anchors:r=Bn,enabledMove:i,disableDraw:o,allowMulti:s=!0,size:l,animated:u,renderHandle:d,preserveFocus:p=!0,onDragActiveChange:m,rangeStyle:h=a.EmptyObject,className:g,..._}=e,v=Z(),y=pn(`ranges-picker:move`,{duration:60,retargetDuration:60}),b=f(t,e=>e.getSelection()),x=b.ranges??c.EmptyRanges,S=Math.min(Math.max(0,b.rangeIndex??x.length-1),Math.max(0,x.length-1)),[C,w]=(0,M.useState)(null),[T,E]=(0,M.useState)(null),[D,O]=(0,M.useState)(!1),k=T!==null||D,A=(0,M.useRef)(m);A.current=m,(0,M.useEffect)(()=>{A.current?.(k,T)},[k,T]),(0,M.useEffect)(()=>()=>{A.current?.(!1,null)},[]);let j=T??C,P=(e,t)=>w(n=>t?e:n===e?null:n),F=(e,n)=>{let r=t.getSelection(),i=r.ranges??c.EmptyRanges,a=e<i.length?i.map((t,r)=>r===e?{...t,...n}:t):[...i,n];t.setSelection({...r,cell:{rowIndex:n.rowStart,colIndex:n.colStart},ranges:a,rangeIndex:e})},I=e=>{let n=t.getSelection();(n.rangeIndex??-1)!==e&&t.setSelection({...n,rangeIndex:e})},L=wn((e,t)=>{if(t.button!==0)return null;let n=(b.rangeIndex??-1)>=0?b.rangeIndex:-1;if(t.shiftKey&&n>=0&&x[n]){let t={rowIndex:x[n].rowStart,colIndex:x[n].colStart};return O(!0),F(n,ri(t,e,v.getTotalRange())),{drag:e=>F(n,ri(t,e,v.getTotalRange())),end:()=>O(!1),captureEvents:!1}}let r=(!t.ctrlKey&&!t.metaKey||!s)&&n>=0?n:x.length;return O(!0),F(r,c.cellToRange(e)),{drag:t=>F(r,ri(e,t,v.getTotalRange())),end:()=>O(!1),captureEvents:!1}}),R=x.map((e,t)=>n(t,t===S)),z=[];for(let e=0;e<R.length;e++)R[e]&&z.push(e);return(0,N.jsxs)(qe,{..._,children:[(!o||D)&&(0,N.jsx)(Ze,{fill:!0,className:G(g,`sxl-ranges-picker-draw`),style:{touchAction:`none`},onPointerDown:e=>{e.stopPropagation(),p&&e.preventDefault(),L.onPointerDown(e)},onPointerMove:L.onPointerMove,onPointerUp:e=>{e.stopPropagation(),L.onPointerUp(e)}}),i&&z.map(e=>(0,N.jsx)(Rn,{range:x[e],grip:`edges`,preserveFocus:p,onHoverChange:t=>P(e,t),onDragStateChange:t=>{t&&(y?.retarget({range:x[e]},Zt(v),!1),I(e)),E(t?e:null)},onDragMove:t=>{y?.retarget({range:t},Zt(v),!0),F(e,t)},onDragEnd:t=>F(e,t)},`move-${e}`)),z.map(e=>{let t=e===S,n=e===j,i=((e,t,n)=>{let r=e.stroke??h.stroke??ni;return{...h,...e,stroke:r,fill:e.fill??h.fill??`color-mix(in srgb, ${r} 12%, transparent)`,alignWidth:n?3:e.alignWidth??h.alignWidth??2,...u&&t?{animatedStroke:!0}:void 0}})(R[e],t,n),a=y?.getTarget(),o=!!a&&c.isEqualRanges(a.range,x[e]);return(0,N.jsx)(Hn,{range:x[e],glide:o?y:null,anchors:r,size:l,...i,renderHandle:d,preserveFocus:p,onHandleHoverChange:t=>P(e,t),onDragMove:t=>F(e,t),onDragStart:()=>{I(e),E(e)},onDragEnd:t=>{E(null),F(e,t)}},`resize-${e}`)})]})};ai.displayName=`RangesPickerLayer`;var oi=0,si=class{constructor(e,t={}){this.pending=null,this.cancelled=!1,this.listeners=new Set,this.commitListeners=new Set,this.cancelListeners=new Set,this.editors=new Set,this.activeEditor=null,this.activeEditorId=null,this.auxState=null,this.commitFn=e.commit,this.validateFn=e.validate,this.onCommitError=e.onCommitError,this.state={mode:t.mode??`enter`,coords:e.coords,clean:e.clean,dirty:t.dirty,initialSelection:t.initialSelection??null,autoFocus:t.autoFocus??!0,token:++oi}}getState(){return this.state}getCoords(){return this.state.coords}subscribe(e){return this.listeners.add(e),()=>{this.listeners.delete(e)}}registerEditor(e){return this.editors.add(e),()=>{this.editors.delete(e),this.activeEditor===e&&(this.activeEditor=null)}}setActiveEditor(e){this.activeEditor=e}getActiveEditor(){return this.activeEditor}setActiveEditorId(e){this.activeEditorId=e}getActiveEditorId(){return this.activeEditorId}getEditors(){return[...this.editors]}getAuxState(){return this.auxState}setAuxState(e){this.auxState!==e&&(this.auxState=e,this.notify())}setDirty(e){this.state.dirty!==e&&this.emit({...this.state,dirty:e})}setMode(e){this.state.mode!==e&&this.emit({...this.state,mode:e})}commit(e){if(this.pending)return this.pending;let t=this.state,n=!1,r={coords:t.coords,dirty:t.dirty,args:e,veto:()=>{n=!0}};for(let e of this.commitListeners){try{e(r)}catch(e){console.error(`EditSession beforeCommit listener threw:`,e),n=!0}if(n)break}if(n)return!1;if(t.dirty===void 0)return!0;let i=t.dirty,a=!0;try{a=!this.validateFn||this.validateFn(i,e)}catch(e){return this.reportCommitError(e),!1}if(typeof a?.then!=`function`)return!0===a&&this.write(i,e);let o=a.then(t=>(this.pending=null,!0===t&&!this.cancelled&&this.state.dirty===i&&this.write(i,e)),e=>(this.pending=null,this.reportCommitError(e),!1));return this.pending=o,o}write(e,t){try{if(!1===this.commitFn(e,t))return!1}catch(e){return this.reportCommitError(e),!1}return!0}reportCommitError(e){this.onCommitError?this.onCommitError(e):console.error(`EditSession commit rejected with an error:`,e)}isCommitPending(){return this.pending!==null}cancel(){this.cancelled=!0,this.cancelListeners.forEach(e=>{try{e()}catch(e){console.error(`EditSession cancel listener threw:`,e)}})}addCommitListener(e){return this.commitListeners.add(e),()=>{this.commitListeners.delete(e)}}addCancelListener(e){return this.cancelListeners.add(e),()=>{this.cancelListeners.delete(e)}}emit(e){this.state=e,this.notify()}notify(){this.listeners.forEach(e=>e())}},ci=e=>e.ctrlKey||e.metaKey||e.altKey||e.isComposing?null:e.key===`Process`||e.keyCode===229?{mode:`enter`,dirty:``}:e.key.length===1?e.key===` `&&e.shiftKey?null:{mode:`enter`,dirty:e.key}:e.shiftKey?null:e.key===`F2`?{mode:`edit`}:e.key===`Backspace`?{mode:`enter`,dirty:``}:null,li=(e,t)=>{let n=(0,M.useRef)(null);return(0,M.useLayoutEffect)(()=>{let t=n.current;t!==null&&(n.current=null,e.current?.setSelectionRange(t,t))},[t]),w(e=>{n.current=e},[])},ui=(e,t)=>{if(e.which===_.Enter&&t.ctrlKey)return t.shiftKey?{arrayFixed:!0}:{broadcast:!0}},di=e=>{let{mode:t,value:n,onDirtyChange:r,onModeChange:i,onCommit:a,onCancel:o,onNavigate:c,onTraverse:u,setCaret:d}=e;return w(e=>{let f=e.nativeEvent;if(f.isComposing)return void e.stopPropagation();if(e.which===_.Escape)return e.preventDefault(),e.stopPropagation(),void o();if(!(e.which!==_.F2||f.altKey||f.metaKey||f.ctrlKey||f.shiftKey))return e.preventDefault(),e.stopPropagation(),void i(t===`edit`?`enter`:`edit`);if(e.which===_.Enter&&(f.altKey||f.metaKey)){e.preventDefault(),e.stopPropagation();let t=e.currentTarget,i=t.selectionStart+1;d&&d(i),r(n.substring(0,t.selectionStart)+`
|
|
2
|
+
`+n.substring(t.selectionEnd)),d||requestAnimationFrame(()=>t.setSelectionRange(i,i));return}let p=e.which===_.Left||e.which===_.Right||e.which===_.Up||e.which===_.Down;if(p&&t===`edit`)return void e.stopPropagation();if(e.which===_.Enter||e.which===_.Tab||p&&t===`enter`){e.preventDefault();let t=ui(e,f),n=a(t);if(!1===n||t)return void e.stopPropagation();let r=e.which===_.Enter||e.which===_.Tab,i=e.which===_.Tab?s.Row:s.Column,o=e.shiftKey,d=r?null:(e=>{switch(e.which){case _.Enter:return e.shiftKey?l.Up:l.Down;case _.Tab:return e.shiftKey?l.Left:l.Right;case _.Up:return l.Up;case _.Left:return l.Left;case _.Right:return l.Right;default:return l.Down}})(e),p=()=>{r?u?.(i,o):c?.(d)};!0===n?(r&&u||!r&&c)&&(e.stopPropagation(),p()):(e.stopPropagation(),n.then(e=>{e&&p()}));return}let m=f.ctrlKey||f.metaKey,h=e.key.length===1?e.key.toLowerCase():``;(!m||h!==`c`&&h!==`x`&&h!==`v`&&h!==`a`&&h!==`z`&&h!==`y`)&&(e.which!==_.Insert||!m&&!f.shiftKey)&&e.which!==_.Delete&&e.which!==_.BackSpace&&(t!==`edit`||e.which!==_.Home&&e.which!==_.End&&e.which!==_.PageUp&&e.which!==_.PageDown)||e.stopPropagation()},[t,n,a,o,i,r,c,u,d])},fi=class{constructor(e,t,n){this.current=null,this.leaveTarget=null,this.listeners=new Set,this.commitErrorListeners=new Set,this.anchor=e,this.createEdit=t,this.revertAnchor=n?.revertAnchor,this.unsubscribeAnchor=e.subscribe(()=>this.onAnchorChange())}onAnchorChange(){if(!this.current)return;let e=this.current.getState().coords,t=this.anchor.getCoords();if(c.isEqualCells(t,e))return;let n=this.commit();!0!==n&&(!1!==n&&(this.leaveTarget=t,n.then(e=>{e&&this.leaveTarget===t&&(this.leaveTarget=null,this.revertAnchor?.(t))})),this.revertAnchor?.(e),c.isEqualCells(this.anchor.getCoords(),e)||this.cancel())}getAnchor(){return this.anchor}subscribe(e){return this.listeners.add(e),()=>{this.listeners.delete(e)}}subscribeCommitError(e){return this.commitErrorListeners.add(e),()=>{this.commitErrorListeners.delete(e)}}getSession(){return this.current}startEdit(e,t={}){let n=this.createEdit(e);return n?(this.current=new si({...n,coords:n.coords??e,onCommitError:e=>{this.commitErrorListeners.size===0?console.error(`EditSession commit rejected with an error:`,e):this.commitErrorListeners.forEach(t=>t(e))}},t),this.notify(),!0):!1}commit(e){let t=this.current;if(!t)return!1;let n=t.commit(e);return!0===n&&this.end(t),typeof n==`boolean`?n:n.then(e=>(e&&this.end(t),e))}end(e){this.current===e&&(this.current=null,this.notify())}cancel(){this.current&&(this.current.cancel(),this.current=null,this.notify())}dispose(){this.unsubscribeAnchor(),this.cancel(),this.listeners.clear()}notify(){this.listeners.forEach(e=>e())}},pi=(e,t,n,r=`left`,i=0)=>{if(!t)return null;let a=e.getRangeFromCell(t),o=e.getBoundsFromRange(a);if(!o)return null;let s=e.toClipBounds(e.getBoundsFromRange(a))!==null,c=e.getZoom(),l=n?.width?n.width*c:void 0,u=n?.height?n.height*c:void 0,d={...o};if(l!==void 0){let t=e.getPaneRange(),n=e.getMetrics(),i={...a},o=!1,s=0;for(;!o&&d.width<=l&&s<20;)s++,r===`left`?i.colEnd+1<t.colEnd?i.colEnd=n.getColIndex(d.x+l):o=!0:r===`right`?i.colStart-1>=0?i.colStart=n.getColIndex(d.x-(l-d.width)):o=!0:i.colEnd+1<t.colEnd&&i.colStart-1>=0?(i.colStart=n.getColIndex(d.x-(l-d.width)/2),i.colEnd=n.getColIndex(d.x+d.width+(l-d.width)/2)):o=!0,o||(d=e.getBoundsFromRange(i))}d.height=o.height,u!==void 0&&(d.height=Math.max(u+1,o.height));let f=e.getSurfaceSize(),p=Math.max(o.width,f.width-d.x-i);return{bounds:{x:d.x??0,y:d.y??0,width:Math.min(p,d.width),height:Math.min(f.height-d.y,d.height)},inView:s}},mi=`sxl-header-divider`,hi=`ew-resize`,gi=`ns-resize`,_i=g(`color-base-100`),vi=`url("data:image/svg+xml,%3Csvg width='6.4' height='12' viewBox='0 0 9.6 16' version='1.1' fill='black' xmlns='http://www.w3.org/2000/svg' xmlns:svg='http://www.w3.org/2000/svg'%3E%3Cpath d='M 9.60008,14.40009 C 9.60008,15.28374 8.88368,16 8.00003,16 7.11639,16 6.40012,15.28374 6.40012,14.40009 c 0,-0.88365 0.71627,-1.60005 1.59991,-1.60005 0.88365,0 1.60005,0.7164 1.60005,1.60005 m 0,-6.40012 c 0,0.88364 -0.7164,1.60004 -1.60005,1.60004 -0.88364,0 -1.59991,-0.7164 -1.59991,-1.60004 0,-0.88365 0.71627,-1.60005 1.59991,-1.60005 0.88365,0 1.60005,0.7164 1.60005,1.60005 m 0,-6.40006 c 0,0.88365 -0.7164,1.60005 -1.60005,1.60005 -0.88364,0 -1.59991,-0.7164 -1.59991,-1.60005 C 6.40012,0.71626 7.11639,0 8.00003,0 8.88368,0 9.60008,0.71626 9.60008,1.59991 M 3.19996,14.40009 C 3.19996,15.28374 2.48369,16 1.60005,16 0.7164,16 0,15.28374 0,14.40009 c 0,-0.88365 0.7164,-1.60005 1.60005,-1.60005 0.88364,0 1.59991,0.7164 1.59991,1.60005 m 0,-6.40012 c 0,0.88364 -0.71627,1.60004 -1.59991,1.60004 C 0.7164,9.60001 0,8.88361 0,7.99997 0,7.11632 0.7164,6.39992 1.60005,6.39992 c 0.88364,0 1.59991,0.7164 1.59991,1.60005 m 0,-6.40006 c 0,0.88365 -0.71627,1.60005 -1.59991,1.60005 C 0.7164,3.19996 0,2.48356 0,1.59991 0,0.71626 0.7164,0 1.60005,0 2.48369,0 3.19996,0.71626 3.19996,1.59991' /%3E%3C/svg%3E%0A")`,yi=g(`color-primary`),bi=(e,t,n,r)=>({position:`absolute`,boxSizing:`border-box`,left:e?t-n/2:`50%`,top:e?`50%`:t-n/2,width:e?n:`min(${r}px, calc(100% - 4px))`,height:e?`min(${r}px, calc(100% - 4px))`:n,transform:e?`translateY(-50%)`:`translateX(-50%)`,borderRadius:999,display:`flex`,alignItems:`center`,justifyContent:`center`}),xi=(e,t)=>(0,N.jsx)(`div`,{className:`sxl-header-divider-handle`,style:{...bi(e,t,6,16),pointerEvents:`none`,border:`1px solid var(--sxl-color-neutral, grey)`,background:_i}}),Si=(0,M.memo)(e=>{let{isColumn:t,lineOffset:n,onUnhide:r}=e,[i,a]=(0,M.useState)(!1),o=i?_i:yi;return(0,N.jsx)(`div`,{className:`sxl-header-divider-unhide`,role:`button`,style:{...bi(t,n,20,12),...t?{top:`calc(100% - 4px)`,height:12,transform:void 0}:{left:`calc(100% - 4px)`,width:12,transform:void 0},zIndex:1,pointerEvents:`auto`,cursor:`pointer`,border:`1px solid ${yi}`,background:i?yi:_i},onPointerEnter:()=>a(!0),onPointerLeave:()=>a(!1),onPointerDown:e=>{e.stopPropagation(),e.preventDefault()},onDoubleClick:e=>e.stopPropagation(),onClick:e=>{e.stopPropagation(),r()},children:(0,N.jsx)(`svg`,{width:t?14:6,height:t?6:14,viewBox:t?`0 0 14 6`:`0 0 6 14`,fill:o,children:(0,N.jsx)(`path`,{d:t?`M0 3 L5 0 L5 6 Z M14 3 L9 0 L9 6 Z`:`M3 0 L0 5 L6 5 Z M3 14 L0 9 L6 9 Z`})})})});Si.displayName=`UnhideButton`;var Ci=(0,M.memo)((0,M.forwardRef)((e,t)=>{let{axis:n,index:r,className:i,style:a,disabled:o=!1,disabledResize:c=!1,isNextHidden:l,isHidden:u,isSelected:f,isSelectedAll:p,showTouchDivider:m,bounds:h,onPointerDown:_,onAutoFit:v,onUnhide:y,isActive:b=!1,onPointerEnter:x,onPointerLeave:S,pane:w,...T}=e,E=n===s.Column,[D,O]=(0,M.useState)(null),k=D===r,A=1/d.getDevicePixelRatio(),j=f||p,P=j?`color-mix(in srgb, ${g(`color-primary`)} 35%, ${g(`color-base-300`)})`:g(`color-base-300`),F=g(`color-base-100`),I=C()===`touch`,L=E?14:8,R=w.getZoom();R<1&&(L=Math.max(2,L*R*.8));let z=L/2,B=0;l&&(B=-2),u&&(B=2),u&&(L=L/2+B,z=2*B);let V=j||B!==0?`linear-gradient(${P}, ${P})`:`linear-gradient(${E?180:90}deg, ${F}, ${P} 55%, ${P} 100%)`;return(0,N.jsxs)(`div`,{className:G(mi,{"sxl-disabled":o},i,`sxl-index-${r}`),ref:t,onPointerDown:I?void 0:_,onDoubleClick:I?void 0:()=>v?.(),onPointerEnter:e=>{O(r),x?.(e)},onPointerLeave:e=>{O(null),S?.(e)},style:{position:`absolute`,left:E?h.x-L/2+B:h.x,top:E?h.y:h.y-L/2+B,width:E?L:h.width,height:E?h.height:L,backgroundImage:V,backgroundSize:E?`${A}px 100%`:`100% ${A}px`,backgroundPosition:E?`${z}px 0`:`0 ${z}px`,backgroundRepeat:`no-repeat`,pointerEvents:`auto`,cursor:o||c||I?void 0:E?hi:gi,...a},...T,children:[!k&&!b||I||o||c?null:y?(0,N.jsx)(Si,{isColumn:E,lineOffset:z,onUnhide:()=>{O(null),y()}}):xi(E,z),m&&I?(0,N.jsx)(`div`,{style:{position:`absolute`,cursor:`grab`,touchAction:`none`,zIndex:1,borderRadius:`4px`,right:E?`-6px`:`2px`,bottom:E?`2px`:`-9px`,height:`24px`,width:E?`24px`:`18px`,maxHeight:E?`calc(100% - 4px)`:void 0,maxWidth:E?void 0:`calc(100% - 4px)`,background:F,border:`1px solid ${g(`color-base-300`)}`,boxShadow:`0.5px 0.5px 0px 0px ${g(`color-base-content`)}`,display:`flex`,alignItems:`center`,justifyContent:`center`},onPointerDown:_,children:(0,N.jsx)(`div`,{style:{width:`6.4px`,height:`12px`,backgroundColor:g(`color-neutral`),maskImage:vi,WebkitMaskImage:vi,maskRepeat:`no-repeat`,WebkitMaskRepeat:`no-repeat`,maskPosition:`center`,WebkitMaskPosition:`center`,transform:E?void 0:`rotate(90deg)`}})}):null]})})),wi=e=>(0,N.jsx)(Ci,{...e}),Ti=(0,M.memo)((0,M.forwardRef)((e,t)=>{let{axis:n,index:r,disabled:i=!1,disabledResize:a=!1,resizeThreshold:o=1,renderDivider:c=wi,onDividerMouseDown:l,onDividerResizeStart:u,onDividerResize:f,onDividerResizeEnd:p,onDividerMouseUp:m,onDividerAutoFit:h,onDividerUnhide:g,onPointerDown:_,visibleBounds:v,...b}=e,x=Z(),S=w(_,[_]),C=w(h,[h]),T=n===s.Column,E=v===void 0?Ei(x,n):v,O=(0,M.useRef)(null),[k,A]=(0,M.useState)(null),j=(e,t)=>T?e.clientX-t.clientX:e.clientY-t.clientY,F=x.getMetrics(),I=T?F.getColOffset(r+1):F.getRowOffset(r+1),L=d.getDevicePixelRatio(),R=1/L,z=d.snapLineCenter(I,R,L)-R/2,B=D({processTouch:!0,onPointerDown:e=>{if(S?.(e),!i&&!a){let e=T?F.getColOffset(r):F.getRowOffset(r),t=I-e;O.current={isResizing:!1,startSize:t,index:r,pane:x,axis:n,onDividerMouseDown:l,onDividerResizeStart:u,onDividerResize:f,onDividerResizeEnd:p,onDividerMouseUp:m},A(O.current),l?.(r,t)}e.stopPropagation(),e.preventDefault()},onPointerUp:(e,t,n)=>{if(!O.current)return;O.current.isResizing&&O.current.onDividerResizeEnd?.(O.current.index,Math.max(0,O.current.startSize+j(e,n)),O.current.startSize);let r=O.current;O.current=null,A(O.current),r.onDividerMouseUp?.(r.index)},onPointerMoveOrWait:(e,t,n)=>{if(!O.current)return;let r=j(e,n);O.current.isResizing?O.current.onDividerResize?.(O.current.index,Math.max(0,O.current.startSize+r),O.current.startSize):Math.abs(r)>=Math.max(0,o)&&(O.current={...O.current,isResizing:!0},A(O.current),O.current.onDividerResizeStart?.(O.current.index,Math.max(0,O.current.startSize+r))),e.stopPropagation(),e.preventDefault()}}),V=w(()=>{C?.(r)},[r]),{getPortalContainer:H}=y();if(!E)return;let U=c({bounds:T?{x:z,y:E.y,width:0,height:E.height-1}:{x:E.x,y:z,width:E.width-1,height:0},axis:n,index:r,disabled:i,disabledResize:a,onAutoFit:V,onUnhide:g&&b.isHidden?()=>g(r):void 0,isActive:k?.index===r,onPointerDown:B,ref:t,pane:x,...b});if(!U)return;let ee=null;return k&&k.isResizing&&k.index===r&&(ee=(0,P.createPortal)((0,N.jsx)(`div`,{style:{position:`absolute`,cursor:T?hi:gi,left:0,top:0,width:`100%`,height:`100%`}}),H(),`divider:`+r)),(0,N.jsxs)(N.Fragment,{children:[ee,U]})}));Ti.displayName=`HeaderDividerAnchor`;var Ei=(e,t)=>{let n=t===s.Column,r=n?e.getVisibleColumns():e.getVisibleRows();if(r.length===0)return null;let i=r[0].index,a=r[r.length-1].index,o=n?e.getBoundsFromRange({rowStart:0,rowEnd:0,colStart:i,colEnd:a}):e.getBoundsFromRange({rowStart:i,rowEnd:a,colStart:0,colEnd:0});return e.toClipBounds(o,-10)},Di=(e,t,n,r)=>{let i=t?n:r,a=t?r:n,s=e.getPanePointFromPointer(i,a),c=t?e.getPaneBounds().x:e.getPaneBounds().y,l=(s?t?s.x:s.y:0)+c,u=n-l,d={index:0,pos:0},f=Math.abs(l),p=e.getAllPanes(),m=[p[t?o.Left:o.Top],p[o.Center]];for(let e=0;e<m.length;e++){let n=m[e];if(!n)continue;let r=n.getPaneBounds(),i=t?r.x:r.y,a=t?r.width:r.height,o=t?n.getVisibleColumns():n.getVisibleRows();for(let e=0;e<o.length;e++){let t=o[e];if(t.offset<-.5||t.offset>=a)continue;let n=i+t.offset;if(n<.5)continue;let r=Math.abs(n-l);r<f&&(d={index:t.index,pos:n},f=r)}}return{index:d.index,snapClient:d.pos+u,pointerClient:l<0?void 0:n}},Oi=e=>{let{axis:t,disabled:n,isOwner:r}=e,i=Z(),a=t===s.Column,o=w(e.onFreezeDragStart,[e.onFreezeDragStart]),c=w(e.onFreezeDrag,[e.onFreezeDrag]),l=w(e.onFreezeDragEnd,[e.onFreezeDragEnd]),u=w(e.onFreezeDragCancel,[e.onFreezeDragCancel]),d=w(e.onActiveChange,[e.onActiveChange]),[f,p]=(0,M.useState)(!1),[m,h]=(0,M.useState)(!1),g=(0,M.useRef)(null),_=(e,t)=>a?Di(i,!0,e.clientX,t.clientY):Di(i,!1,e.clientY,t.clientX),v=D({processTouch:!0,onPointerDown:e=>{if(e.stopPropagation(),e.preventDefault(),n)return!1;g.current={isDragging:!1}},onPointerMoveOrWait:(e,t,n)=>{let r=g.current;if(r){if(e.stopPropagation(),e.preventDefault(),!r.isDragging){let t=a?e.clientX-n.clientX:e.clientY-n.clientY;if(Math.abs(t)<2)return;r.isDragging=!0,h(!0),o?.(_(e,n));return}c?.(_(e,n))}},onPointerUp:(e,t,n)=>{let r=g.current;g.current=null,r?.isDragging&&(h(!1),l?.(_(e,n)))}});(0,M.useEffect)(()=>{if(!m)return;let e=e=>{e.key===`Escape`&&(e.preventDefault(),e.stopPropagation(),g.current=null,h(!1),u?.())};return window.addEventListener(`keydown`,e,{capture:!0}),()=>window.removeEventListener(`keydown`,e,{capture:!0})},[m]);let b=r&&!n&&(f||m);(0,M.useEffect)(()=>{r||p(!1)},[r]),(0,M.useEffect)(()=>{if(b)return d?.(!0),()=>d?.(!1)},[b]);let{getPortalContainer:x}=y(),S=a?`col-resize`:`row-resize`,C=m?(0,P.createPortal)((0,N.jsx)(`div`,{style:{position:`absolute`,cursor:S,left:0,top:0,width:`100%`,height:`100%`}}),x(),`freeze-grip`):null;return{isActive:b,cursor:S,hitProps:{onPointerDown:n?void 0:v,onPointerEnter:()=>p(!0),onPointerLeave:()=>p(!1)},backdrop:C}},ki=(0,M.memo)(e=>{let{axis:t,disabled:n=!1,highlight:r=!1,onFreezeDragStart:i,onFreezeDrag:a,onFreezeDragEnd:c,onFreezeDragCancel:l,onActiveChange:u}=e,d=Z(),f=t===s.Column,p=f?o.Left:o.Top,m=!!d.getAllPanes()[p],h=m?d.getAnchor()===p:d===W(d.getAllPanes()),{isActive:g,cursor:_,hitProps:v,backdrop:y}=Oi({axis:t,disabled:n,isOwner:h,onFreezeDragStart:i,onFreezeDrag:a,onFreezeDragEnd:c,onFreezeDragCancel:l,onActiveChange:u});if(!h)return null;let b=m?f?d.getPaneBounds().width:d.getPaneBounds().height:0,x=m?b-3:0,S=m?b:+!!g,C=m||g?0:1,w=m||g?2:3,T=(f?d.getPaneBounds().height:d.getPaneBounds().width)-C,E=g||r&&!n?`var(--sxl-color-primary, rgb(33, 115, 70))`:`var(--sxl-color-base-border, grey)`;return(0,N.jsxs)(N.Fragment,{children:[y,(0,N.jsx)(`div`,{className:`sxl-header-freeze-grip`,...v,style:{position:`absolute`,left:f?x:0,top:f?0:x,width:f?5:`calc(100% - ${C}px)`,height:f?`calc(100% - ${C}px)`:5,pointerEvents:n?`none`:`auto`,touchAction:`none`,cursor:n?void 0:_}}),(0,N.jsx)(z,{className:`sxl-header-freeze-bar`,linePoints:f?[0,0,0,T]:[0,0,T,0],bounds:f?{x:S,y:0,width:1,height:T}:{x:0,y:S,width:T,height:1},propsPath:{stroke:E,strokeWidth:`${w}px`}})]})});ki.displayName=`HeaderFreezeAnchor`;var Ai=(0,M.memo)(e=>{let{axis:t,disabled:n=!1,onFreezeDragStart:r,onFreezeDrag:i,onFreezeDragEnd:a,onFreezeDragCancel:c,onActiveChange:l}=e,u=Z(),d=t===s.Column,f=u.getAnchor(),p=f===o.TopLeft||f===(d?o.Left:o.Top),{cursor:m,hitProps:h,backdrop:g}=Oi({axis:t,disabled:n,isOwner:p,onFreezeDragStart:r,onFreezeDrag:i,onFreezeDragEnd:a,onFreezeDragCancel:c,onActiveChange:l});if(!p||n)return g;let _=d?u.getPaneBounds().width:u.getPaneBounds().height;return(0,N.jsxs)(N.Fragment,{children:[g,(0,N.jsx)(`div`,{className:`sxl-grid-freeze-grip`,...h,style:{position:`absolute`,left:d?_-3:0,top:d?0:_-3,width:d?5:`100%`,height:d?`100%`:5,pointerEvents:`auto`,touchAction:`none`,cursor:m}})]})});Ai.displayName=`GridFreezeAnchor`;var ji=(e,t,n)=>t===s.Column?{rowIndex:n.rowStart,colIndex:e.colIndex}:{rowIndex:e.rowIndex,colIndex:n.colStart},Mi=(e,t,n,r)=>n===s.Column?{rowStart:r.rowStart,rowEnd:r.rowEnd,colStart:Math.min(e.colIndex,t.colIndex),colEnd:Math.max(e.colIndex,t.colIndex)}:{colStart:r.colStart,colEnd:r.colEnd,rowStart:Math.min(e.rowIndex,t.rowIndex),rowEnd:Math.max(e.rowIndex,t.rowIndex)},Ni=(e,t,n)=>{let r=typeof t==`function`?t:()=>t,i=null,a=null,o=0,l=()=>W(r().getAllPanes())??r(),u=(t,n,r)=>{if(!e)return;let i=e.getSelection(),a=!!i.ranges&&i.ranges.length>0;if(r===`clear`)return void e.setSelection({cell:n,ranges:[t],rangeIndex:0});if(r===`append`){let r=a?[...i.ranges]:[c.cellToRange(i.cell)];r.push(t),e.setSelection({cell:n,ranges:r,rangeIndex:r.length-1});return}let o=i.rangeIndex??-1,s=a?o>=0?o:i.ranges.length-1:0,l=a?i.ranges.map((e,n)=>n===s?t:e):[t];e.setSelection({cell:n,ranges:l,rangeIndex:a?s:0})},d=(t,n,r)=>{if(!e)return;let i=e.getSelection(),a=i.ranges&&i.ranges.length>0?i.ranges:[],o=t<a.length?a.map((e,r)=>r===t?n:e):[...a,n];e.setSelection({cell:r,ranges:o,rangeIndex:t})},f=e=>{let{scrollIntoView:t}=n();t?t(e):l().scrollCellCoordsIntoView(e)},p=e=>{let{axis:t,entireRange:r}=n(),i=l().getElement()?.getBoundingClientRect();if(!i)return!1;let a=l().getVisibleRange(),o=null;return t===s.Column?e.x>=i.right-24&&a.colEnd<r.colEnd?o={colIndex:a.colEnd+1}:e.x<=i.left+24&&a.colStart>r.colStart&&(o={colIndex:a.colStart-1}):e.y>=i.bottom-24&&a.rowEnd<r.rowEnd?o={rowIndex:a.rowEnd+1}:e.y<=i.top+24&&a.rowStart>r.rowStart&&(o={rowIndex:a.rowStart-1}),!!o&&(f(o),!0)},m=e=>{let{axis:t,entireRange:r,replaceActive:s=!1}=n(),c=Mi(i??e,e,t,r),f=a??ji(e,t,l().getVisibleRange());s?d(o,c,f):u(c,f,`replace`)};return Sn(r,(t,r)=>{if(!e)return null;let c=r.button===0,h=r.button===2;if(!c&&!h)return null;let{axis:g,entireRange:_,allowMulti:v=!0,replaceActive:y=!1,preserveFocus:b=!1,onPointerDownInterceptor:x,onDragStart:S,onDragEnd:C,onPointerUp:w}=n();if(!1===x?.(r,t))return null;y&&r.stopPropagation(),b&&c&&r.preventDefault(),S?.();let T=ji(t,g,l().getVisibleRange()),E=r.shiftKey,D=(r.ctrlKey||r.metaKey)&&v;if(y){let n=e.getSelection(),r=n.ranges??[],s=n.rangeIndex??-1;E&&i?(o=s>=0?s:Math.max(0,r.length-1),d(o,Mi(i,t,g,_),a??T)):(i=t,a=T,o=D||s<0?r.length:s,d(o,Mi(t,t,g,_),T))}else E&&i?u(Mi(i,t,g,_),a??T,`replace`):D?(i=t,a=T,u(Mi(t,t,g,_),T,`append`)):(i=t,a=T,u(Mi(t,t,g,_),T,`clear`));return(e=>{f(n().axis===s.Column?{colIndex:e.colIndex}:{rowIndex:e.rowIndex})})(t),{drag:m,edgeScroll:p,end:e=>{C?.(e),w?.(e)},cancel:e=>{C?.(e)},capture:c,captureEvents:y}})},Pi=(e,t)=>{let n=Z(),r=w(()=>n,[n]),i=(0,M.useRef)(t);i.current=t;let a=(0,M.useMemo)(()=>Ni(e,r,()=>i.current),[e,r]);return(0,M.useEffect)(()=>()=>a.dispose(),[a]),{onPointerDown:a.onPointerDown,onPointerMove:a.onPointerMove,onPointerUp:a.onPointerUp}},Fi=e=>e==null?[]:Array.isArray(e)?e:[e],Ii=(0,M.memo)((0,M.forwardRef)((e,t)=>{let{rowCount:n=1,columnCount:r=1,getRowHeight:i,getColumnWidth:a,metrics:o,renderCells:s,borderLayers:c,showGridLines:l=!0,gridLineColor:u,propsGridLineRows:d,propsGridLineColumns:f,getVisibleCells:p,hiddenCellAt:m,layersBelow:h,children:g,..._}=e,v=I({rowCount:n,columnCount:r,getRowHeight:i,getColumnWidth:a}),y=o??v,[b,x]=(0,M.useReducer)(e=>e+1,0),S=(0,M.useMemo)(()=>({}),[b]),C=(0,M.useCallback)(e=>{x()},[]),w=O(t,()=>({invalidate:C}),[C]),T=(0,M.useMemo)(()=>{let e=[];return!1!==l&&e.push((0,N.jsx)(vr,{showGridLines:l,gridLineColor:u,propsRows:d,propsColumns:f,getVisibleCells:p,hiddenCellAt:m},`__gridlines`)),e.push(...Fi(h)),e.push(...Fi(c)),s&&e.push((0,N.jsx)(cr,{renderCell:s,getVisibleCells:p,hiddenCellAt:m,cacheToken:S},`__cells`)),e.push(...Fi(g)),e.push((0,N.jsx)(dn,{},`__range-tooltips`)),e},[l,u,d,f,p,m,h,c,s,S,g]);return(0,N.jsx)(cn,{children:(0,N.jsx)(ke,{ref:w,..._,rowCount:n,columnCount:r,metrics:y,children:T})})}));function Li(e,t){if(typeof e==`function`)return e(t);e&&(e.current=t)}Ii.displayName=`Grid`;var Ri=parseInt(M.version.split(`.`)[0],10)>=19?function(e){return t=>{let n=[];for(let r of e){let e=Li(r,t),i=typeof e==`function`;n.push(i?e:()=>Li(r,null))}return()=>{for(let e of n)e()}}}:function(e){return t=>{for(let n of e)Li(n,t)}},zi,Bi={fill:{fill:`color-mix(in srgb, var(--sxl-color-primary, rgb(0, 120, 215)) 14%, transparent)`},border:null,inner:null},Vi={stroke:`var(--sxl-color-primary, rgb(0, 120, 215))`,alignWidth:1,inset:1},Hi=(0,M.forwardRef)(function(e,t){let{itemCount:n,renderCell:r,getVisibleCells:i,itemHeight:a=24,contentWidth:o,selection:s,propsLayer:c,autoFocus:l,showScrollbar:u=`auto`,scrollTo:d,viewport:p,cacheToken:h,className:g,style:_,children:v,...y}=e,S=(0,M.useMemo)(()=>new b,[]),C=p??S,w=f(C,e=>e.getMetrics()),T=u===`auto`?w.totalHeight>w.height:u,E=(0,M.useRef)(null);(0,M.useEffect)(()=>{l&&E.current?.focus()},[l]),(0,M.useEffect)(()=>{if(!d)return;let e=!1,t=0,n=()=>{!e&&C.isReady()&&(e=!0,t=requestAnimationFrame(()=>{E.current?.scrollCellCoordsIntoView({rowIndex:d.row})}))};n();let r=e?null:C.subscribe(n);return()=>{e=!0,t&&cancelAnimationFrame(t),r?.()}},[d,C]);let D=(0,M.useMemo)(()=>new br({getBounds:()=>({rowStart:0,colStart:0,rowEnd:Math.max(0,n-1),colEnd:0})}),[n]),O=s??D,[k,{width:A}]=x(),[j,{width:P}]=x(),F=P>0&&A>0?Math.max(0,P-A):0,L=(0,M.useMemo)(()=>Ri(R),R=[j,t]);var R;let z=I({rowCount:n,columnCount:1,getRowHeight:a,getColumnWidth:A||o||w.width||0});return(0,N.jsx)(`div`,{ref:L,className:G(`sxl-list-surface`,g),style:{position:`relative`,overflow:`hidden`,height:n*a,maxWidth:`100%`,maxHeight:`100%`,..._,...o==null?null:{width:o+F}},...y,children:(0,N.jsx)(m,{viewport:C,showVerticalScrollbar:T,showHorizontalScrollbar:!1,style:{width:`100%`,height:`100%`},children:(0,N.jsx)(`div`,{ref:k,style:{width:`100%`,height:`100%`},children:(0,N.jsxs)(ke,{ref:E,viewport:C,style:{width:`100%`,height:`100%`},rowCount:n,columnCount:1,metrics:z,children:[(0,N.jsx)($r,{selection:O,anchorHole:!1,singleStyle:Bi,singleAnchorStyle:Vi,multiAnchorStyle:Vi},`__selection`),(0,N.jsx)(cr,{renderCell:r,getVisibleCells:i,cacheToken:h},`__cells`),c?(0,N.jsx)(qe,{...c},`__taps`):null]})})})})}),Ui=(0,M.forwardRef)(function(e,t){let{itemCount:n,renderItem:r,itemHeight:i,selection:a,onKeyDown:o,cacheToken:s,scrollTo:c,autoFocus:l,viewport:u,className:d,style:f,children:p,...m}=e,h=O(t,()=>({isList:()=>!0}),[]),g=(0,M.useCallback)(e=>{let{key:t,style:n,range:i,cell:a}=e,o=i?.rowStart??a.rowIndex;return(0,N.jsx)(`div`,{style:{...n,position:`absolute`,display:`flex`,alignItems:`center`,boxSizing:`border-box`,padding:`0 8px`,overflow:`hidden`,whiteSpace:`nowrap`,userSelect:`none`,pointerEvents:`none`,background:`transparent`},children:r(o)},t)},[r]),_=(0,M.useMemo)(()=>o?{onKeyDown:o}:void 0,[o]);return(0,N.jsx)(Hi,{ref:h,className:G(`sxl-list`,d),style:f,itemCount:n,itemHeight:i,selection:a,renderCell:g,propsLayer:_,cacheToken:s,scrollTo:c,autoFocus:l,viewport:u,...m})}),Wi=({checked:e,indeterminate:t})=>(0,N.jsx)(`input`,{type:`checkbox`,checked:e,ref:e=>{e&&(e.indeterminate=!!t)},readOnly:!0,tabIndex:-1,style:{margin:0}}),Gi=(0,M.forwardRef)(function(e,t){let{itemCount:n,isChecked:r,isIndeterminate:i,onCheckedChange:a,renderValue:o,renderCheckbox:s=Wi,renderDivider:c,selectAllLabel:l,selectAllTitle:u,propsSelectAll:d,itemHeight:f,selection:p,cacheToken:m,autoFocus:h,viewport:g,className:_,style:v,children:y,...b}=e,x=(0,M.useRef)(n);x.current=n;let S=(0,M.useMemo)(()=>new br({getBounds:()=>({rowStart:0,colStart:0,rowEnd:Math.max(0,x.current-1),colEnd:0})}),[]),C=p??S;(0,M.useEffect)(()=>{n!==0&&C.getSelection().cell.rowIndex>=n&&C.setSelection({cell:{rowIndex:n-1,colIndex:0}})},[C,n]);let T=w(()=>{if(n===0)return;let e=!r(C.getSelection().cell.rowIndex);a((e=>{let t=e.getSelection();return t.ranges&&t.ranges.length?t.ranges.flatMap(e=>Array.from({length:e.rowEnd-e.rowStart+1},(t,n)=>e.rowStart+n)):[t.cell.rowIndex]})(C),e)},[C,n,r,a]),E=(0,M.useRef)(null),[,D]=(0,M.useReducer)(e=>e+1,0),k=w(()=>n===0?-1:C.getSelection().cell.rowIndex,[C,n]),A=w(e=>{if(n===0)return;let t=Math.min(Math.max(0,C.getSelection().cell.rowIndex+e),n-1);C.setSelection({cell:{rowIndex:t,colIndex:0}}),E.current={row:t},D()},[C,n]),j=O(t,()=>({isCheckboxList:()=>!0,getHighlightIndex:k,moveHighlight:A,toggleHighlighted:T}),[k,A,T]),P=(0,M.useCallback)(e=>(0,N.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:8,flex:1,minWidth:0,pointerEvents:`auto`,cursor:`pointer`},onMouseDown:t=>{t.preventDefault(),t.currentTarget.closest(`[tabindex]`)?.focus({preventScroll:!0}),a([e],!r(e))},children:[(0,N.jsx)(`div`,{style:{display:`inline-flex`,pointerEvents:`none`},children:s({checked:r(e),indeterminate:i?.(e)})}),(0,N.jsx)(`div`,{style:{overflow:`hidden`,textOverflow:`ellipsis`,flex:1,minWidth:0},children:o(e)})]}),[r,i,a,o,s]),F=(0,M.useCallback)(e=>{e.key===` `&&(e.preventDefault(),e.stopPropagation(),T())},[T]),{allChecked:I,someChecked:L}=(0,M.useMemo)(()=>{if(l==null||n===0)return{allChecked:!1,someChecked:!1};let e=!0,t=!1;for(let a=0;a<n;a++)r(a)?t=!0:(e=!1,i?.(a)&&(t=!0));return{allChecked:e,someChecked:t&&!e}},[l,n,r,i,m]);return(0,N.jsxs)(`div`,{ref:j,className:G(`sxl-checkbox-list`,_),style:{display:`flex`,flexDirection:`column`,minHeight:0,...v},...b,children:[l!=null&&(0,N.jsxs)(N.Fragment,{children:[(0,N.jsxs)(`div`,{role:`checkbox`,"aria-checked":L?`mixed`:I,"aria-label":u,title:u,...d,className:G(`sxl-select-all`,d?.className),style:{display:`flex`,alignItems:`center`,gap:8,flex:`0 0 auto`,padding:`4px 8px`,userSelect:`none`,cursor:`pointer`,...d?.style},onMouseDown:e=>{e.preventDefault(),a(Array.from({length:n},(e,t)=>t),!I)},children:[(0,N.jsx)(`div`,{style:{display:`inline-flex`,pointerEvents:`none`},children:s({checked:I,indeterminate:L})}),l]}),c?.()]}),(0,N.jsx)(Ui,{itemCount:n,itemHeight:f,selection:C,renderItem:P,onKeyDown:F,cacheToken:m,scrollTo:E.current,autoFocus:h,viewport:g,style:{flex:`1 1 auto`,minHeight:0}})]})}),Ki=(e,t)=>{let n=(()=>{if(zi!==void 0)return zi;try{zi=(typeof document<`u`?document.createElement(`canvas`).getContext(`2d`):null)??null}catch{zi=null}return zi})();if(n)return n.font=t,n.measureText(e).width;let r=Number.parseFloat((/(\d+(?:\.\d+)?)px/.exec(t)??[])[1]??`16`)||16;return e.length*r*.55},qi=(e,t)=>t<=0?-1:Math.min(Math.max(0,e),t-1),Ji=(0,M.forwardRef)(function(e,t){let{items:n,onChoose:r,highlightIndex:i,itemHeight:a=24,visibleRows:o=8,contentWidth:s,measureText:c,renderItem:l,autoFocus:u,viewport:d,className:f,style:p,children:m,...h}=e,g=n.length,v=qi(i??0,g),y=(0,M.useMemo)(()=>new br({initial:{cell:{rowIndex:Math.max(0,v),colIndex:0}},getBounds:()=>({rowStart:0,colStart:0,rowEnd:Math.max(0,g-1),colEnd:0})}),[n,v,g]),b=(0,M.useRef)(null),[,x]=(0,M.useReducer)(e=>e+1,0),S=(0,M.useMemo)(()=>(b.current=null,v>=0?{row:v}:null),[n,v]),C=b.current??S,T=w(e=>!(e<0||e>=g)&&(r?.(e,n[e]),!0),[r,n,g]),E=w(()=>g===0?-1:y.getSelection().cell.rowIndex,[y,g]),D=w(e=>{if(g===0)return;let t=qi(y.getSelection().cell.rowIndex+e,g);y.setSelection({cell:{rowIndex:t,colIndex:0}}),b.current={row:t},x()},[y,g]),k=O(t,()=>({isPickList:()=>!0,getHighlightIndex:E,moveHighlight:D,chooseHighlighted:()=>T(E())}),[E,D,T]),A=(0,M.useMemo)(()=>{if(c)return c;let e=(e=>{let t=e?.fontSize,n=e?.fontFamily,r=typeof t==`number`?`${t}px`:t??`16px`,i=[];return e?.fontStyle&&e.fontStyle!==`normal`&&i.push(String(e.fontStyle)),e?.fontWeight&&e.fontWeight!==`normal`&&i.push(String(e.fontWeight)),i.push(r,n?String(n):`sans-serif`),i.join(` `)})(p);return t=>Ki(t,e)},[c,p]),j=(0,M.useMemo)(()=>{if(s!=null)return s;let e=0;for(let t=0;t<g;t++)e=Math.max(e,A(n[t].text));return Math.ceil(e)+16},[s,n,g,A]),P=(0,M.useCallback)(e=>{let{key:t,style:r,range:i,cell:a}=e,o=i?.rowStart??a.rowIndex,s=n[o];return s?(0,N.jsx)(`div`,{role:`option`,style:{...r,position:`absolute`,display:`flex`,alignItems:`center`,boxSizing:`border-box`,padding:`0 8px`,overflow:`hidden`,whiteSpace:`nowrap`,userSelect:`none`,pointerEvents:`none`,background:`transparent`},children:l?l({item:s,index:o}):(0,N.jsx)(`span`,{style:{overflow:`hidden`,textOverflow:`ellipsis`},children:s.text||`\xA0`})},t):null},[n,l]),F=(0,M.useMemo)(()=>({onPointerUp:e=>{e.button===0&&T(E())},onKeyDown:e=>{e.which!==_.Enter&&e.which!==_.Space||(e.preventDefault(),e.stopPropagation(),T(E()))}}),[T,E]);return(0,N.jsx)(Hi,{ref:k,className:G(`sxl-pick-list`,f),role:`listbox`,style:{maxHeight:o*a,...p},itemCount:g,itemHeight:a,contentWidth:j,selection:y,renderCell:P,propsLayer:F,scrollTo:C,viewport:d,autoFocus:u,cacheToken:n,...h})}),Yi=`_field_q34pi_8`,Xi=`_search_q34pi_28`,Zi=`_icon_q34pi_47`,Qi=`_clear_q34pi_56`,$i=`_row_q34pi_84`,ea=(e,t)=>{let n=t.trim().toLowerCase();return n?e.filter(e=>e.text.toLowerCase().includes(n)):e},ta=e=>(0,N.jsxs)(`svg`,{className:e.className,viewBox:`0 0 16 16`,"aria-hidden":`true`,focusable:`false`,children:[(0,N.jsx)(`circle`,{cx:`6.5`,cy:`6.5`,r:`4.5`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.5`}),(0,N.jsx)(`line`,{x1:`10`,y1:`10`,x2:`14`,y2:`14`,stroke:`currentColor`,strokeWidth:`1.5`,strokeLinecap:`round`})]}),na=(0,M.forwardRef)(function(e,t){let{value:n,onChange:r,onClose:i,clearLabel:a,glyph:o,leading:s,trailing:c,onKeyDown:l,className:u,...d}=e,f=(0,M.useCallback)(e=>{if(e.which===_.Escape)return e.preventDefault(),e.stopPropagation(),void(n?r(``):i?.());l?.(e)},[n,r,i,l]),p=(0,N.jsxs)(`div`,{className:G(Yi,`sxl-list-search-field`,u),children:[o??(0,N.jsx)(ta,{className:Zi}),(0,N.jsx)(`input`,{ref:t,type:`text`,role:`searchbox`,autoComplete:`off`,spellCheck:!1,className:G(Xi,`sxl-list-search`),value:n,onChange:e=>r(e.target.value),onKeyDown:f,...d}),n?(0,N.jsx)(`button`,{type:`button`,className:G(Qi,`sxl-list-search-clear`),"aria-label":a,title:a,tabIndex:-1,onMouseDown:e=>e.preventDefault(),onClick:()=>r(``),children:(0,N.jsx)(`svg`,{viewBox:`0 0 16 16`,"aria-hidden":`true`,focusable:`false`,children:(0,N.jsx)(`path`,{d:`M4 4 L12 12 M12 4 L4 12`,stroke:`currentColor`,strokeWidth:`1.5`,strokeLinecap:`round`})})}):null]});return s==null&&c==null?p:(0,N.jsxs)(`div`,{className:G($i,`sxl-list-search-row`),children:[s,p,c]})}),ra={light:{},dark:{"color-base-100":`#1e1e1e`,"color-base-300":`#3a3a3a`}},ia={light:{"color-base-100":`#f2f2f2`,"color-base-hover":`#ececec`,"color-base-300":`rgb(171, 171, 171)`},dark:{"color-base-100":`#262626`,"color-base-hover":`#2e2e2e`,"color-base-300":`#4a4a4a`}},aa=({app:e,grid:t=ra,header:n=ia,layer:r=`sxl-defaults`,scope:i}={})=>{let a=e??E,o=Object.fromEntries(Object.keys(n).map(e=>[e,{"color-base-100":a[e]?.[`color-base-200`],...n[e]}]));return S({...e?{app:e}:{},surfaces:{grid:t,header:o},layer:r,scope:i})};export{Ai as $,Ue as A,Ti as B,ii as C,pi as D,cr as E,W as F,mn as G,Be as H,Ei as I,Ge as J,R as K,He as L,Dn as M,Ke as N,mr as O,Ut as P,Rr as Q,Xn as R,Te as S,dn as T,Wt as U,Ze as V,na as W,Vt as X,Nt as Y,ki as Z,aa as _,ke as a,De as b,ai as c,di as d,Ji as et,ta as f,Z as g,Zn as h,ea as i,z as j,fi as k,Gi as l,pn as m,cn as n,ci as o,li as p,En as q,rn as r,Et as s,Yn as t,$r as u,ti as v,St as w,sr as x,Pi as y,qe as z};
|