@sheetxl/mcp 0.8.0-beta.19 → 0.8.0-beta.20

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (182) hide show
  1. package/assets/{BzkTa7l_e7R--ejo.js → -qQT-DFFz0CqGx5C.js} +392 -392
  2. package/assets/{DFlL4pAqxaQ_hVe1.js → 4Qlx8FuxoYbVTgNW.js} +30 -30
  3. package/assets/{CqOzqRIQFCnEegoB.js → 4Za9gEGCvms62R7k.js} +1 -1
  4. package/assets/{CjoRkjB9NzS4LaFy.js → 8FzS1bgbz4U1QE_m.js} +1 -1
  5. package/assets/{D6fQheA4qCS5CxYQ.js → 93ksqLKL1o40anfw.js} +1 -1
  6. package/assets/{Bk6SeqUJkn7ft1y1.js → B-7inN76S1zUWSAt.js} +1 -1
  7. package/assets/{CA_22AL82sRhLAko.js → B4ii9PGvnlYkSX2q.js} +2 -2
  8. package/assets/{EkavVNuGWG95UggH.js → B5UmlawoCVwHHM_e.js} +5 -5
  9. package/assets/{DngcuWO2cSuMCMu1.js → B5yaBbFj2Np9Eh8b.js} +1 -1
  10. package/assets/{DNtWf9lfGjzoB9Hy.js → B6J8XN1FRN00a_ps.js} +1 -1
  11. package/assets/{Bj1WHx6LIEq6RVGw.js → BBm3Xjnehvx2fYj8.js} +8 -8
  12. package/assets/{D4p9Pv82ECKCOlua.js → BEq2PSZQN7VV19RQ.js} +1 -1
  13. package/assets/{D-LrOz3Yvp17bUT8.js → BGQ1GrnQ-X16GU8k.js} +2 -2
  14. package/assets/{rT5f4v0Q_61nHkff.js → BGlx7_eRiv47Hu9C.js} +1 -1
  15. package/assets/{DLJH6ppG9VHjHe_z.js → BHiZ3GtGCWUWwHqY.js} +3 -3
  16. package/assets/{HVm22OJ1gEeY8kii.js → BItblzoSm0lN3bTV.js} +1 -1
  17. package/assets/{7MIo82Ay8jEFMBH-.js → BJYl-kvBtcnMVP8W.js} +1 -1
  18. package/assets/{BgVW1icycJewsx77.js → BKc7zTK6ZIhcD_Wu.js} +1 -1
  19. package/assets/{DXORLAVmseFlsxkG.js → BMH_wtFTiRj43c69.js} +2 -2
  20. package/assets/{BbvOmnXrmBNjeWjQ.js → BVdH9-49M3APSiPy.js} +1 -1
  21. package/assets/{iP-shs7tsDGMVvQh.js → BYYbglFmasE5PrS2.js} +1 -1
  22. package/assets/{Bgi6ubwGkGYsILci.js → Bg8EN9R3hbeNfFyU.js} +89 -89
  23. package/assets/{0hHP9xpWzhkDrCTL.js → BghxJxTwaebNVcIS.js} +1 -1
  24. package/assets/{ArL5bPq60ZcPcwU9.js → BieAybaOdneMdvBS.js} +1 -1
  25. package/assets/{BcYdUKmFOf5rn2VZ.js → BkhWR4P1Evw_VP5z.js} +1 -1
  26. package/assets/{CNPUPTd9h7hwijpZ.js → BmmIukrNOivfENgD.js} +66 -66
  27. package/assets/{BiOrM24CFYL1JGFE.js → Bndiqwoh132Upow1.js} +2 -2
  28. package/assets/{CE4VYOniMmY8sXQ_.js → Bp9zuG6P6r9GEb6G.js} +1 -1
  29. package/assets/{D1nQ_BminCM0cyH0.js → C0MAjW1vgsw6o0fx.js} +1 -1
  30. package/assets/{DrkfG324qZRPckuC.js → C3BZQ5NFwAU_ZdeQ.js} +1 -1
  31. package/assets/{Bbky1A_gIgE8i0Oy.js → C46dyA4YSP1-iTSN.js} +1 -1
  32. package/assets/{BPctZbHQFoqJNYzC.js → C7oUg84aGjYrJUc6.js} +2 -2
  33. package/assets/{DwWcXC4pUR3U2WXU.js → C9JUgNS6CrdgIcW3.js} +1 -1
  34. package/assets/{Cgf5GQVN-D8SlQ7A.js → C9aV1SF8uCWIB4zU.js} +15 -15
  35. package/assets/{CjrzyKFdie6KYfsG.js → C9eaFlFi_4GmymzP.js} +40 -40
  36. package/assets/{CoXgI3MEnvkXeshj.js → C9w-KoMwxvouC73F.js} +161 -161
  37. package/assets/{CkMXAUkUuJ2LJUBE.js → C9wXzrhl0dwqZgJ6.js} +1 -1
  38. package/assets/CCl8x9s8Bujsew7W.js +14 -0
  39. package/assets/{zEyWjY3NhC8w_spQ.js → CDmri0gcZxpVZfWn.js} +625 -624
  40. package/assets/{CiJq0zSDKpaKhL3y.js → CDvP9QyhDwdm3MZn.js} +2 -2
  41. package/assets/{jPim6WG_KS-ZDker.js → CLFe9HgUi_83dE3d.js} +1 -1
  42. package/assets/{CBSSZrizrucIG_9i.js → CTGfmocA1WgM0_e0.js} +556 -556
  43. package/assets/{Bz1lp0mtNAoPuPve.js → CUJiePMri5kkpdA7.js} +1 -1
  44. package/assets/{DSNaHPvgqymqpsko.js → CW2Ca6tsd0aLTz88.js} +1 -1
  45. package/assets/{Cj4MYfqHewu8IOOL.js → CaI562iJKKOoMw8p.js} +1 -1
  46. package/assets/{exNO4fmccU8Aq8cE.js → CaOEaghQqXiA1ZzO.js} +121 -121
  47. package/assets/{D06A3fKIe3WCTFru.js → CbTKUrroY9PQ6eTu.js} +3 -3
  48. package/assets/{Bl77DvFa09DuVVuj.js → CgIHqG1qp9n1Gwm7.js} +253 -253
  49. package/assets/{Gd_0grQd-3D1VPXW.js → Cheq-qaVWm7EaIlQ.js} +1 -1
  50. package/assets/{vb-L2Q2jyjjgDvJy.js → Cirpx81bWi4G2foA.js} +11 -11
  51. package/assets/{DxKZjKyewqvj46S2.js → Cm2WENwEZ0KMyF--.js} +2 -2
  52. package/assets/{Bpf9jHj5AFY9543y.js → CoOIn2wx6je_rMDO.js} +31 -31
  53. package/assets/{Bbxkz6vmyZJftTd-.js → Co_ZOyp4mKmSfh0A.js} +1 -1
  54. package/assets/{BSNegq0YcivZJmkf.js → CpLTCQemd_cJ4yFu.js} +14 -14
  55. package/assets/{D5OYqo56iGB-5gFG.js → CpfpXfCqzZumY4pf.js} +1 -1
  56. package/assets/{bJ-XKvDf7IkAafUI.js → CrRJqUPbvvhnp4p4.js} +1 -1
  57. package/assets/{CIOlYUuBZat8FhHa.js → CrULZhDt8uE-MR2s.js} +1 -1
  58. package/assets/{B7vRFm79CUJ1VvFw.js → CyOyY32LLW-Pj_L7.js} +1 -1
  59. package/assets/{Se9JmvmEtu4MfXJh.js → CyYbUk6pGr3NIBsy.js} +22 -22
  60. package/assets/{CIxf9Y_JsuEEO7Nu.js → D--emvI048MvLsXl.js} +1 -1
  61. package/assets/{LV6tvjnxRzrWaFb8.js → D4lMEKXi13vhDJbE.js} +1 -1
  62. package/assets/{DxTzG7VM8v4WJ6cI.js → DALP-GkmzCJdFIV9.js} +1 -1
  63. package/assets/{B6A2URH-mIs7J54h.js → DAVN6N3srI1WMHCN.js} +2 -2
  64. package/assets/{Cz7tKgNBbnr4DZCb.js → DBfBV-tvRxCLgdvs.js} +4 -4
  65. package/assets/{-iaCg5U9jrEDEl_O.js → DIntlX_ha_wRdxYj.js} +1 -1
  66. package/assets/{CqvcgwQ0UcKndrhO.js → DMDx0fX8tHKH0DdL.js} +2 -2
  67. package/assets/{b6GPrIkdzfTW4f2j.js → DMMw2v0iTuBnUjMI.js} +1 -1
  68. package/assets/{D1kI9nJRL1RUF3-E.js → DNwyEanz3LqtOorY.js} +1 -1
  69. package/assets/{BGLlbVFS6J3lt9Lw.js → DPUXpIzEs1t-jBiv.js} +1 -1
  70. package/assets/{GZJ4AFFt8qKRADOa.js → DSy6cpdU-KNWsbSj.js} +2 -2
  71. package/assets/{BkhdNc3LdmcyAjwk.js → DTXRsv2Ww7WbIwCb.js} +8838 -8773
  72. package/assets/{CcGrcjoI12MaDmwV.js → DV_nCOON8Fgq5RBt.js} +2 -2
  73. package/assets/{DS9HD6_BPxzdun0X.js → DYRis8fOyk2uIZ-1.js} +4 -4
  74. package/assets/{B8Z4-80QEORmYOJ9.js → DZ2Njh8YgfXcv7EM.js} +1 -1
  75. package/assets/{Bk6A5eONxLTBIA_p.js → Dc2LiflUYpt0nVVk.js} +4 -4
  76. package/assets/{CWHuM2GYuKmi0rZx.js → DcwqgbgqPyzQxSsQ.js} +1 -1
  77. package/assets/{2nx2Wljhbuct4aKx.js → DjH6ckvISyssOSit.js} +1 -1
  78. package/assets/{mrif6ZBbTbZKYaLJ.js → Dlbgs8csKymbxu7r.js} +1 -1
  79. package/assets/{DT_kCIZ600UsFy4t.js → DnDTldUjKy0O586y.js} +2 -2
  80. package/assets/{Bw2Nxye4Qj10uA3o.js → DndzARNYtmumqGnG.js} +1 -1
  81. package/assets/{Cur_-XiBPijLpwxX.js → Drmg3-gF0VJs4Yx3.js} +1 -1
  82. package/assets/{zkoJXSxpRzqfbG8k.js → DsSlUklPSAsh9DhW.js} +331 -331
  83. package/assets/{DwcKSqV5YEBBA8hY.js → DsWJ-YRyuwDUuSge.js} +1 -1
  84. package/assets/{CKvP54bJ4GkUqcZi.js → Dsjx528shW3GcGpD.js} +3 -3
  85. package/assets/{D1ZekPxeTGzhFy2L.js → Dv9ZDmKuxn2tQDGb.js} +1 -1
  86. package/assets/{Ln7XTzksutZHFpml.js → DvRH46hupHUjkc7a.js} +1 -1
  87. package/assets/{BHsQeg6najGesUM4.js → DwsoGIyPuoQij_vi.js} +1 -1
  88. package/assets/{Ds6LQkRDwXsJ-CFR.js → Dx_IFz5FEPKw-HC1.js} +1 -1
  89. package/assets/{C7Q4V5mU0wsErspO.js → DzLrAy24em5k5en0.js} +3 -3
  90. package/assets/{CQZq4cA5kbES6htE.js → I7LAF1nLmYqQwt9i.js} +1 -1
  91. package/assets/{DAnSdO8615XsOPNe.js → IDq3QQa5uRqjVJx_.js} +1 -1
  92. package/assets/{BfIJP4H3I51jnIVR.js → LugZP3XHNnoiiTJO.js} +1 -1
  93. package/assets/{BUHEmX1fseJVV65_.js → MpvZt7VpFWEINIT6.js} +1 -1
  94. package/assets/{DppU35gFSUPaiCQH.js → NiD8iNE47sjggYTx.js} +1 -1
  95. package/assets/{CubwsTFIaEVf039H.js → PMBjuoD2MpG87dao.js} +1 -1
  96. package/assets/{Di_C31GTbBJ_xVOK.js → TdK2ciXA5BAlGjbR.js} +1 -1
  97. package/assets/{D005GbIBowRGfwed.js → Ti7kMsQ-Eo3lkfIh.js} +6 -6
  98. package/assets/{C_v4hb9WXIt639Cm.js → Xkr_4WLwk0ZPaYH2.js} +1 -1
  99. package/assets/{DXe8SG12UJoGbbWR.js → YG5hEr6CzWNmNJQ2.js} +1 -1
  100. package/assets/{1bm0Yqgfehw1Z2QU.js → YGYD-116vlZfzPn1.js} +12 -12
  101. package/assets/{CQiv3YkDRDxTjy0r.js → Z1zwOeCe-JTLgkxf.js} +37 -37
  102. package/assets/{BQkQNqRh5xxYhBy4.js → _LMcVYWJksPfGVxz.js} +1 -1
  103. package/assets/{D990KjcBrCaAEz5k.js → eV0oowKJe44NBnWj.js} +1 -1
  104. package/assets/{DnMDfty7pU96BIEJ.js → eWHWPRWHX6YU8bJU.js} +1 -1
  105. package/assets/{CYTPpV3lqNGOwme7.js → hcXZqO-0tG873E-L.js} +2 -2
  106. package/assets/{C06iKc7jZ6affk2m.js → klKXcdZmbQmsK2rt.js} +1 -1
  107. package/assets/{DOg_zvSkhsKmw4q1.js → ltqqdJxoPnLCjhBV.js} +3 -3
  108. package/assets/{BgUHR-HVjZDY4SaH.js → mYZ9Z5AKCn7zltHw.js} +2 -2
  109. package/assets/{C17Wflhw5IFSgFFY.js → nV0eE4R3npcOHLbx.js} +1 -1
  110. package/assets/{udbHvSLquJ5xGK3R.js → ndBoGVVjmy3vkff8.js} +2 -2
  111. package/assets/{Bq6ocyztkvzKxMMC.js → noAnElnMhF05bfJN.js} +1 -1
  112. package/assets/{DtD0J-7IetHv5o6E.js → q57cDvIPcIvWlh5T.js} +3 -3
  113. package/assets/{D_6TeeMN5zmoQPTm.js → rtUwIBgECTX9UO_B.js} +4 -4
  114. package/assets/{BTnTQBSbzYU7cwra.js → swG-DVTsez1uNW8c.js} +1 -1
  115. package/assets/{ht0UxaAlRnuYUvpx.js → tCavNu-Tru6yRbec.js} +1 -1
  116. package/assets/{Curuj_knAdRpMy1L.js → u-pSumbU-rgT6eLF.js} +240 -240
  117. package/assets/{C53f6C0pAU7_9FI-.js → uMoGfJGab8mZX6eN.js} +1 -1
  118. package/assets/{CrjUfkCuRaXUC8X8.js → uoUKT9hTrwZ2INHN.js} +3 -3
  119. package/assets/{DIPDNtbm8FAru-FQ.js → wYvkLI8IeHaWTtAx.js} +120 -120
  120. package/assets/{DHL-ZmN5GzB4pIrM.js → yDh_W6M1rvuDhFv1.js} +1 -1
  121. package/index.js +91 -91
  122. package/lib.js +1 -1
  123. package/licenses/dependencies.txt +35 -35
  124. package/package.json +2 -2
  125. package/screenshot-page/assets/{Cx9lvo3Q1xOwYkRK.js → B9kA0vdaFJi9iRGo.js} +4 -4
  126. package/screenshot-page/assets/{DwNHMH9f_lQyn50d.js → BLPyKyNun9-SHQBZ.js} +1 -1
  127. package/screenshot-page/assets/BMKiUDjoabO4aG1U.js +1 -0
  128. package/screenshot-page/assets/{BU5vg917ZnXC04e-.js → BOjOE9CEMSzcij2W.js} +2 -2
  129. package/screenshot-page/assets/BQ5BNe1adYfpa2OH.js +1 -0
  130. package/screenshot-page/assets/{DeGMS3crYErjsRrw.js → BUO6zT3gqK0uOOa-.js} +1 -1
  131. package/screenshot-page/assets/{DjVxI3p3ssmCtYky.js → BWtLNVUXjY6EBdEt.js} +1 -1
  132. package/screenshot-page/assets/{Dt1A-DUBfvyouz_T.js → BZpFWPd0PR1kPT-A.js} +1 -1
  133. package/screenshot-page/assets/BaCs7lUeZ7NidSkP.js +1 -0
  134. package/screenshot-page/assets/Bf9AN5sYHaxae0vV.js +586 -0
  135. package/screenshot-page/assets/Bh2PQ0zsoGtMKWp1.js +39 -0
  136. package/screenshot-page/assets/BkhZQsVlVHOiKGTJ.js +1 -0
  137. package/screenshot-page/assets/{ClWDZixRy4DFZdI5.js → BnPHZ_1rjv6kQgsL.js} +1 -1
  138. package/screenshot-page/assets/{BX9VkTqZoroo08EG.js → Bzf_upccQ2ho6mX0.js} +6 -6
  139. package/screenshot-page/assets/{Chq6rvtA5qZAwYG4.js → C0AbuMHcIS9oy4XL.js} +1 -1
  140. package/screenshot-page/assets/{Cpwg3bWAqBBcgBmv.js → C4v6Ljs6kwQJu06t.js} +2 -2
  141. package/screenshot-page/assets/C7YRL2bVWHPIwzn_.js +1 -0
  142. package/screenshot-page/assets/CImp91jfSuqX0Wz-.js +1 -0
  143. package/screenshot-page/assets/{BWDqL5_mwspr6CjI.js → CXmrXx6MZ5ApF3co.js} +1 -1
  144. package/screenshot-page/assets/D8QsCbSaWCLAYYso.js +1 -0
  145. package/screenshot-page/assets/{Cb8ORg9ENgscK6yl.js → DC_Hdwa9KL7xKU8u.js} +2 -2
  146. package/screenshot-page/assets/DHtL9Iawmr2Uo5VV.js +2 -0
  147. package/screenshot-page/assets/{BF6igzahAW9pl35p.js → DKWRl8rs3K9jBYtr.js} +1 -1
  148. package/screenshot-page/assets/DNYWB6WNZTquqQ9v.js +4 -0
  149. package/screenshot-page/assets/{DwuLl9Ua1k8m9KcK.js → Dhh1xqujbhLa8WFd.js} +1 -1
  150. package/screenshot-page/assets/{CLcTX_nmvaVPsxDl.js → Dkr-6Z1RJsAp9Xrv.js} +1 -1
  151. package/screenshot-page/assets/DllI8kZZZ5LG0Mjd.js +2 -0
  152. package/screenshot-page/assets/{pH9rKZYDE8xrhkC4.js → DrcpGT9FLbDzeLeG.js} +2 -2
  153. package/screenshot-page/assets/FjOiReLnknWbsRRr.js +57 -0
  154. package/screenshot-page/assets/{MzJpKWgPrxR1UN-Y.js → H_hWDMWfWmjTui7V.js} +1 -1
  155. package/screenshot-page/assets/LCjlxIt1dn3smVjX.js +1 -0
  156. package/screenshot-page/assets/{CrUIo7hXByCWY7in.js → TwKKik-YQENv52LX.js} +1 -1
  157. package/screenshot-page/assets/XiUItCqTNNEApgfa.js +2 -0
  158. package/screenshot-page/assets/XrFpPrRqQNE9AAwH.js +1 -0
  159. package/screenshot-page/assets/mBuOPJeUPXlKwfPZ.js +48 -0
  160. package/screenshot-page/assets/zSnM7GhGzLu1MM_u.js +3 -0
  161. package/screenshot-page/index.html +5 -5
  162. package/types/scripting-api.json +9334 -9333
  163. package/types/scripting.d.ts +16 -3
  164. package/assets/gCkru9Vv-Ban4DCD.js +0 -14
  165. package/screenshot-page/assets/A_-Jwzwmm3lkcm2f.js +0 -586
  166. package/screenshot-page/assets/BdDouZl3VrM4yBP5.js +0 -2
  167. package/screenshot-page/assets/BqlVqRKpsFGl-elI.js +0 -57
  168. package/screenshot-page/assets/CJmdRzGWq0FZMrp5.js +0 -1
  169. package/screenshot-page/assets/CaTGa2NvuuE3qJAV.js +0 -1
  170. package/screenshot-page/assets/CmNlzN3DCl87wNU2.js +0 -1
  171. package/screenshot-page/assets/CoPUxkU9zZy0dXti.js +0 -2
  172. package/screenshot-page/assets/CqogMOf7MzkOk7as.js +0 -2
  173. package/screenshot-page/assets/D0nZlczIH0ULuSyL.js +0 -3
  174. package/screenshot-page/assets/D1ZZiOS7_HFjpZCA.js +0 -1
  175. package/screenshot-page/assets/D24UBy2L73pOCPPw.js +0 -1
  176. package/screenshot-page/assets/D6LmZnV2h3Kg7G3e.js +0 -1
  177. package/screenshot-page/assets/DAkSmFRVds51vhiy.js +0 -1
  178. package/screenshot-page/assets/DUFPgv-3CtD_sCVO.js +0 -1
  179. package/screenshot-page/assets/EY31tFQrw7iYFrr6.js +0 -4
  180. package/screenshot-page/assets/fQ13z3k3bntY-jfw.js +0 -1
  181. package/screenshot-page/assets/oO6aFwepb3DDkGYF.js +0 -39
  182. package/screenshot-page/assets/w7IQEh1FiqZA6o5y.js +0 -42
@@ -1,2 +0,0 @@
1
- import{n as e}from"./CbXtAM7H-Jg_J0dk.js";import{i as t,r as n,t as r}from"./-cpi3yOZYn6GsYN4.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,C as f,E as p,H as m,J as h,K as g,L as _,P as v,Y as y,g as b,it as x,j as S,k as C,n as w,ot as T,q as E,s as D,st as O,tt as k,ut as A}from"./D23_69pojBfIh4nV.js";var j=e(t(),1),M=r(),N=e(n(),1);(function(){try{if(typeof document<`u`){var e=document.createElement(`style`);e.appendChild(document.createTextNode(`.grid-surface,.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}.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_5yo0n_7{box-sizing:border-box;user-select:none;contain:strict;width:100%;height:100%;position:relative}._sheetxl-grid_5yo0n_7 *{box-sizing:border-box!important}._sheetxl-grid_5yo0n_7 :focus{outline:none}._sheetxl-grid_5yo0n_7>*{contain:size layout style}._virtual-div_16eab_1{position:absolute}._tiles_v3ek7_7{will-change:transform}._tiles_v3ek7_7 .tile{white-space:pre;position:absolute}._tiles_v3ek7_7 .tile>*{contain:strict;position:absolute}._tiles_v3ek7_7 [data-cell-interactive]{pointer-events:auto}._gridlines_v3ek7_32,._gridlines_v3ek7_32 *{pointer-events:none;position:absolute;overflow:visible}.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 P=(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)}}},F=e=>{let t=e!=null,n=e?.rowCount??0,r=e?.columnCount??0,i=e?.getRowHeight,a=e?.getColumnWidth;return(0,j.useMemo)(()=>{if(!t)return null;let e=P(n,i??20),o=P(r,a??75);return{getColOffset:o.getOffset,getColIndex:o.getIndex,getRowOffset:e.getOffset,getRowIndex:e.getIndex}},[t,n,r,i,a])},I=(0,j.createContext)(null),L=()=>(0,j.useContext)(I),R=e=>{let{linePoints:t,bounds:n,propsPath:r,style:i,...a}=e;return n?(0,M.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,M.jsx)(`path`,{d:`M ${t[0]} ${t[1]} L ${t[2]} ${t[3]}`,fill:`none`,vectorEffect:`non-scaling-stroke`,stroke:`black`,...r})}):null},z={duration:60,easing:`ease-in-out`},B=(0,j.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,animatedTransition:u,strokeDasharray:f,strokeDashoffset:p,propsFillPath:m,propsStrokePath:h,className:g,style:_,propsRoot:v}=e,y=L(),b=t??y;if((0,j.useEffect)(()=>{l&&te()},[l]),!b)return null;let x=d.getDevicePixelRatio(),S=a?i:i/x,C,w,T,E,D,O,k;if(a)C=b.x,w=b.y,T=b.x+b.width,E=b.y+b.height;else{let e=e=>o?d.snapLineCenter(e,S,x):d.edgeCenter(e,`leading`,i,x),t=e=>o?d.snapLineCenter(e,S,x):d.edgeCenter(e,`trailing`,i,x),n=s/x;C=e(b.x+n),w=e(b.y+n),T=t(b.x+b.width-n),E=t(b.y+b.height-n)}if(c){if(a)D=c;else{let e=d.snapDeviceEdge(c.x,x),t=d.snapDeviceEdge(c.y,x);D={x:e,y:t,width:d.snapDeviceEdge(c.x+c.width,x)-e,height:d.snapDeviceEdge(c.y+c.height,x)-t}}}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;O={strokeDasharray:`${e.dashLength}px ${e.dashGap}px`,strokeDashoffset:`${t}px`,animation:`${V} ${e.speed*t}ms linear infinite`,willChange:`stroke-dashoffset`},k=e.gapColor}let A=u?`d ${z.duration}ms ${z.easing}`:`none`,N=null;if(n){let e=ee({top:w,left:C,bottom:E,right:T});D&&(e+=` `+ee({top:D.y,left:D.x,bottom:D.y+D.height,right:D.x+D.width})),N=(0,M.jsx)(`path`,{style:{d:`path("${e}")`,transition:A,fill:n,...m?.style},stroke:`none`,fillRule:`evenodd`},`fill`)}let P=null;if(r&&i){let e=ee({top:w,left:C,right:T,bottom:E});P=(0,M.jsxs)(M.Fragment,{children:[k&&(0,M.jsx)(`path`,{fill:`none`,vectorEffect:`non-scaling-stroke`,strokeWidth:S,style:{d:`path("${e}")`,transition:A,stroke:k}},`stroke-under`),(0,M.jsx)(`path`,{fill:`none`,strokeDasharray:f,strokeDashoffset:p,vectorEffect:`non-scaling-stroke`,strokeWidth:S,...h,style:{d:`path("${e}")`,transition:A,stroke:r,...O,...h?.style}},`stroke`)]})}return(0,M.jsxs)(`svg`,{className:g,width:`100%`,height:`100%`,style:{position:`absolute`,left:0,top:0,pointerEvents:`none`,overflow:`visible`,willChange:l||u?`d, stroke-dashoffset`:void 0,..._},...v,children:[N,P]})});B.displayName=`RectangleSVG`;var ee=(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`:``}`,V=`sxl-marching-ants`,H=!1,te=()=>{if(H||typeof document>`u`)return;H=!0;let e=document.createElement(`style`);e.appendChild(document.createTextNode(`@keyframes ${V} { to { stroke-dashoffset: 0; } }`)),document.head.appendChild(e)},ne=[o.Center,o.Top,o.Left,o.TopLeft],U=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 W(){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 G=(e,t,n)=>Math.min(n,Math.max(t,e)),K=(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),ue=[...Object.keys(ce),`keydown`,`keypress`,`keyup`],q=new Set(ue),de=e=>{let t=e?.getElement();return t&&typeof t.isStage==`function`&&t.isStage()?t:null},fe=(0,j.memo)((0,j.forwardRef)((e,t)=>{let{className:n,onFocus:r,onBlur:i,onDragStart:a,children:o,...s}=e,c=X(),l=(0,j.useRef)(c);l.current=c;let u=(0,j.useRef)(new Set),d=(0,j.useRef)(0),f=(0,j.useCallback)(e=>{let t={responder:e,seq:d.current++};return u.current.add(t),()=>{u.current.delete(t)}},[]),p=(0,j.useRef)(new Set),m=(0,j.useRef)(0),h=(0,j.useCallback)(e=>(p.current.add(e),e.hasHandlers&&m.current++,()=>{p.current.delete(e),e.hasHandlers&&m.current--}),[]),g=(0,j.useRef)(null),_=(0,j.useRef)(0),v=(0,j.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,j.useEffect)(()=>()=>{_.current&&typeof cancelAnimationFrame==`function`&&cancelAnimationFrame(_.current)},[]);let y=(0,j.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,j.useCallback)(e=>{if(!e||e===U.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===U.current)break;n=n.parentElement}return-1/0},[]),x=(0,j.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===U.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]),C=(0,j.useCallback)((e,t,n)=>{let r=U.current;if(r&&t.target instanceof Node&&!r.contains(t.target))return;let i=q.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,j.useEffect)(()=>{let e=U.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<ue.length;n++)e.addEventListener(ue[n],t,!0);return()=>{for(let n=0;n<ue.length;n++)e.removeEventListener(ue[n],t,!0)}},[b]);let T=S(e=>{C(`pointerdown`,e,l.current)},[]),E=S(e=>{C(`pointermove`,e,l.current)},[]),D=S(e=>{C(`pointerup`,e,l.current)},[]),O=S(e=>{C(`pointerleave`,e,l.current)},[]),k=S(e=>{C(`mousedown`,e,l.current)},[]),A=S(e=>{C(`mouseenter`,e,l.current)},[]),N=S(e=>{C(`mouseleave`,e,l.current)},[]),P=S(e=>{C(`mousemove`,e,l.current)},[]),F=S(e=>{C(`mouseout`,e,l.current)},[]),I=S(e=>{C(`mouseover`,e,l.current)},[]),L=S(e=>{C(`mouseup`,e,l.current)},[]),R=S(e=>{C(`dblclick`,e,l.current)},[]),z=S(e=>{C(`keydown`,e,l.current)},[]),B=S(e=>{C(`keypress`,e,l.current)},[]),ee=S(e=>{C(`keyup`,e,l.current)},[]),V=S(e=>{r?.(e),C(`focus`,e,l.current)},[r]),H=S(e=>{i?.(e),C(`blur`,e,l.current)},[i]),te=S(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]),ne=S(e=>{C(`contextmenu`,e,l.current)},[]),U=w(t,()=>({isStage:()=>!0,addReactEventListener:y,registerResponder:f,registerLayer:h}),[]);return(0,j.useEffect)(()=>h({getElement:()=>U.current}),[h]),(0,M.jsx)(`div`,{className:W(n,`stage`,se),ref:U,tabIndex:0,...s,onPointerDown:T,onPointerMove:E,onPointerUp:D,onPointerLeave:O,onMouseDown:k,onMouseEnter:A,onMouseLeave:N,onMouseMove:P,onMouseOut:F,onMouseOver:I,onMouseUp:L,onDoubleClick:R,onKeyDown:z,onKeyUp:ee,onKeyPress:B,onFocus:V,onBlur:H,onContextMenu:ne,onDragStart:te,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=T(`grid`,10),_e=(0,j.createContext)(0),ve=(0,j.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=J(),D=J(),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],J=()=>{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}]),we=(0,j.createContext)(null),Te=({pane:e,viewport:t,children:n})=>{let r=p(t,e=>e.getSnapshot()),i=(0,j.useMemo)(()=>({pane:e}),[e,r]);return(0,M.jsx)(we.Provider,{value:i,children:n})},Y=()=>{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,j.createContext)(null),De=({store:e,children:t})=>{let n=(0,j.useContext)(Ee),r=(0,j.useRef)(null),i=e??n;return i||=(r.current||=Y(),r.current),(0,M.jsx)(Ee.Provider,{value:i,children:t})},Oe={"sheetxl-grid":`_sheetxl-grid_5yo0n_7`},ke=(0,j.memo)((0,j.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:b,className:x,style:C,...T}=e,E=S(y,[y]),D=S(b,[b]),O=S(g,[g]),[N,P]=(0,j.useState)(o.Center),[F,I]=(0,j.useReducer)(e=>e+1,0),L=(0,j.useMemo)(()=>new A({}),[]),z=a??L,[B,ee]=(0,j.useState)(()=>{let e=z.getClient();return{zoom:z.getZoom(),w:e.width,h:e.height,ready:z.isReady()}});(0,j.useEffect)(()=>{let e=()=>ee(e=>{let t=z.getClient(),n={zoom:z.getZoom(),w:t.width,h:t.height,ready:z.isReady()};return e.zoom===n.zoom&&e.w===n.w&&e.h===n.h&&e.ready===n.ready?e:n});return e(),z.subscribe(e)},[z]);let V=B.zoom,H=(0,j.useMemo)(()=>{let e=s??Ae;return{getColOffset:t=>e.getColOffset(t)*V,getColIndex:t=>e.getColIndex(t/V),getRowOffset:t=>e.getRowOffset(t)*V,getRowIndex:t=>e.getRowIndex(t/V)}},[s,V]),te=S((e,t=!1)=>ae(e,t,H.getRowOffset,t?0:n),[n,H?.getRowOffset]),ne=S(u??te,[u]),re=S((e,t=!1)=>ae(e,t,H.getColOffset,t?r:0),[r,H?.getColOffset]),G=S(d??re,[d]),se=(0,j.useCallback)(()=>{I()},[]),ce=(0,j.useMemo)(()=>Math.min(B.w,H.getColOffset(r)),[F,H.getColOffset,r,B.w]),le=(0,j.useMemo)(()=>Math.min(B.h,H.getRowOffset(n)),[F,H.getRowOffset,n,B.h]),ue=(0,j.useMemo)(()=>{let e=NaN,t=null;return r=>(r===e&&t||(e=r,t=(e=>{if(le===0)return Ce;let t=[],r=0,i=0;typeof p==`number`?r=p:(r=p.index??0,i=(p.offset??0)*V);let a=i,o=H.getRowOffset(r),s=o-a;if(r>0){let e=Se(H,{top:i+H.getRowOffset(0)}),n=H.getRowIndex(a),c=H.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?K(ne,e,t):l||(l=Object.freeze(K(ne,n,c)),l),metrics:e,maxVirtualBounds:o,scrollOffset:i,freezeOffset:i}}let c=Math.max(0,le-s),l=Se(H,{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?K(ne,e,t):f||(f=Object.freeze(K(ne,u,d)),f),metrics:l,maxVirtualBounds:H.getRowOffset(n),scrollOffset:e,freezeOffset:(r>0?H.getRowOffset(r):0)-i},t})(r)),t)},[F,H.getRowIndex,H.getRowOffset,ne,le,n,p,V]),q=(0,j.useMemo)(()=>ue(0),[ue]),de=(0,j.useMemo)(()=>{let e=NaN,t=null;return n=>(n===e&&t||(e=n,t=(e=>{if(ce===0)return Ce;let t=[],n=0,i=0;typeof f==`number`?n=f:(n=f.index??0,i=(f.offset??0)*V);let a=i,o=H.getColOffset(n),s=o-a;if(n>0){let e=Se(H,{left:i+H.getColOffset(0)}),r=H.getColIndex(a),c=H.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?K(G,e,t):l||(l=Object.freeze(K(G,r,c)),l),metrics:e,maxVirtualBounds:o,scrollOffset:i,freezeOffset:i}}let c=Math.max(0,ce-s),l=Se(H,{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?K(G,e,t):p||(p=Object.freeze(K(G,u,d)),p),metrics:l,maxVirtualBounds:H.getColOffset(r),scrollOffset:e,freezeOffset:(n>0?H.getColOffset(n):0)-i},t})(n)),t)},[F,H.getColIndex,H.getColOffset,G,ce,r,f,V]),pe=(0,j.useMemo)(()=>de(0),[de]),me=(0,j.useRef)([]),[he,ge]=(0,j.useReducer)(e=>e+1,0),xe=q.length,J=pe.length,we=(0,j.useMemo)(()=>{let e=[],t=(t,n,r,i,a)=>{if(t>=J||n>=xe)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,M.jsx)(fe,{ref:e=>{e?(o.refStage=e,ge()):o.refStage=null},className:`stage stage-${r}`,onFocus:e=>{P(r),E(e)},onBlur:e=>{D(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},[xe,J]),Y=(0,j.useMemo)(()=>{let e={},t={colStart:0,rowStart:0,colEnd:r-1,rowEnd:n-1},i=n=>be(n,{rowDims:q,columnDims:pe,computeRowDims:ue,computeColumnDims:de,viewport:z,zoom:V,containerWidth:ce,containerHeight:le,getRangeFromCell:l,invalidate:se,totalRange:t,getSurfacePointFromPointer:(e,t)=>Ve(e,t),scrollTo:e=>Ke(e),scrollCellCoordsIntoView:(e,t,n)=>Q(e,t,n),getAllPanes:()=>e}),a=we.length;for(let t=0;t<a;t++){let n=we[t];e[n.anchor]=i(n)}return e=Object.freeze(e),e},[we,q,pe,ue,de,z,l,he]),Ee=pe[0]?.maxVirtualBounds??0,ke=q[0]?.maxVirtualBounds??0,X=B.ready,Z=(0,j.useMemo)(()=>{let e=pe[1],t=q[1];return{left:e?e.metrics.getColOffset(e.maxIndex+1):0,top:t?t.metrics.getRowOffset(t.maxIndex+1):0}},[q,pe]),Be=S(e=>{i.canUseDOM&&setTimeout(()=>{(Y[N]??U(Y))?.focus({preventScroll:!0,...e})},0)},[N,Y]);(0,j.useEffect)(()=>{let e=me.current,t=e.length;if(t>0){for(let n=0;n<t;n++)e[n]();me.current=[]}},[Y]);let Ve=(0,j.useCallback)((e,t)=>{let n=qe.current?.getBoundingClientRect();return n?{x:e-n.x,y:t-n.y}:{x:e,y:t}},[]),He=S((e,t)=>{if(Object.keys(Y).length===1)return U(Y);let n=Ve(e,t);if(!n)return U(Y);let{x:r,y:i}=n,a=null,o=ze,s=o.length;for(let e=0;!a&&e<s;e++){let t=Y[o[e]];t&&oe(r,i,t.getPaneBounds())&&(a=t)}return a||=U(Y),a},[Y,l]);(0,j.useEffect)(()=>{let e=pe?.[1]?.scrollOffset??0,t=q?.[1]?.scrollOffset??0;z.setContent(Ee,ke,e,t)},[z,Ee,ke,pe,q]);let Ue=S(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=z.getTarget();t!==void 0&&(t=i.left+(t??0)),n!==void 0&&(n=i.top+(n??0)),i.left===t&&i.top===n||Ke({left:t,top:n,behavior:r})},[]),We=S(e=>e===void 0?Y[N]??U(Y):Y[e]??null,[Y,N]),Ge=S(e=>{let t=Y[N];if(!t)return U(Y);let n=t.getScrollOrientation(),r={...t.getVisibleRange()};return n.vertical&&(r.rowStart=q[0].minCoord,r.rowEnd=q[0].maxCoord),n.horizontal&&(r.colStart=pe[0].minCoord,r.colEnd=pe[0].maxCoord),n&&c.isCellWithinRange(e,r)?t:U(Y)},[Y,N]),Q=S((e,t={inline:`nearest`,block:`nearest`},n=null)=>{let r={rowIndex:0,colIndex:0,...e},i=null;if(n!==null){if(i=Y[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}=z.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||!z.isSettled()?`instant`:`smooth`);return new Promise((e,t)=>{try{Ke({...g,behavior:S}),e(g)}catch(e){t(e)}})},[Ee,ke,Y,l]),Ke=S(e=>{let t=e?.left??e?.[0],n=e?.top??e?.[1],r=z.getTarget(),i=t??r.left,a=n??r.top,o=e?.behavior===`smooth`;z.setTarget(i,a,o)},[]),qe=w(t,()=>({focus:Be,invalidate:se,scrollTo:Ke,scrollBy:Ue,scrollCellCoordsIntoView:Q,getPaneFromClient:He,getPaneFromCell:Ge,getPane:We,onPaneChangeOnce:e=>{me.current.push(e)}}),[Y]);(0,j.useEffect)(()=>z.observe(qe.current),[z]);let Je=(e,t)=>{let n=(e=>{if(!e)return null;if(!Array.isArray(e))return e;let t=e=>(0,j.isValidElement)(e)&&e.props?.zIndex!=null?e.props.zIndex:0;return ye(e,[]).sort((e,n)=>t(e)-t(n)).map((e,t)=>(0,j.isValidElement)(e)?(0,j.createElement)(_e.Provider,{key:e.key??`layer-${t}`,value:t},e):e)})(t);return n?(0,M.jsx)(ve.Provider,{value:!1,children:(0,M.jsx)(Te,{pane:e,viewport:z,children:v?v(e,n):n})}):null},Ye=(0,j.useMemo)(()=>{let e={},t=Object.keys(Y),n=t.length;for(let r=0;r<n;r++){let n=t[r];e[n]=Je(Y[n],_)}return e},[F,_,Y,v,n,r]),Xe=(0,j.useMemo)(()=>Z.left===0?null:(0,M.jsx)(R,{linePoints:[0,0,0,le+1],bounds:{x:Z.left,y:0,width:1,height:le+1},...m}),[F,Z.left,le,m]),Ze=(0,j.useMemo)(()=>Z.top===0?null:(0,M.jsx)(R,{linePoints:[0,0,ce+1,0],bounds:{x:0,y:Z.top,width:ce+1,height:1},...h}),[F,Z.top,ce,h]),Qe=(0,j.useRef)(!1),$e=(0,j.useMemo)(()=>{if(!X)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,M.jsx)(Te,{pane:t,viewport:z,children:e.elemStage?(0,j.cloneElement)(e.elemStage,{style:_},Ye?.[n]):null},`pane:${n}`)},t=we.length,n=Array(t);for(let r=0;r<t;r++){let t=we[r],i=t.anchor,a=Y[i];n[r]=a?e(t,a):null}return(0,M.jsxs)(M.Fragment,{children:[n,Xe,Ze]})},[Y,we,Ye,ce,le,X,Z,Xe,Ze]);(0,j.useEffect)(()=>{!Qe.current&&$e&&X&&(Qe.current=!0,O?.(qe.current))},[$e,X]);let et=k();return(0,M.jsx)(`div`,{ref:qe,className:W(x,`grid-surface`,Oe[`sheetxl-grid`],{"touch-input":et===`touch`}),style:{overflow:`hidden`,...C},...T,children:(0,M.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 X(){let e=(0,j.useContext)(we);if(!e)throw Error(`useGridPane must be used within a GridPaneProvider`);return e.pane}function Z(){return(0,j.useContext)(we)?.pane??null}var Be=e=>`k:${e}`;function Ve(e,t){let n=(0,j.useContext)(Ee),r=(0,j.useRef)(null);r.current||=Y();let i=n??r.current,a=Be(e),o=(0,j.useRef)(null);o.current===null&&(o.current={v:typeof t==`function`?t():t});let s=(0,j.useCallback)(()=>i.has(a)?i.get(a):o.current.v,[i,a]);return[(0,j.useSyncExternalStore)((0,j.useCallback)(e=>i.subscribe(a,e),[i,a]),s,s),(0,j.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 He(e,t){let n=(0,j.useContext)(Ee),r=(0,j.useRef)(null);r.current||=Y();let i=n??r.current,a=Be(e),o=(0,j.useRef)(t);return(0,j.useCallback)(e=>{let t=i.has(a)?i.get(a):o.current;i.set(a,typeof e==`function`?e(t):e)},[i,a])}function Ue(e,t,n){let r=Be(t),i=(0,j.useCallback)(()=>e.has(r)?e.get(r):n,[e,r,n]);return(0,j.useSyncExternalStore)((0,j.useCallback)(t=>e.subscribe(r,t),[e,r]),i,i)}var We=()=>({zIndex:(0,j.useContext)(_e),pane:Z()}),Ge=(0,j.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,j.useContext)(ve);(0,j.useEffect)(()=>{C&&!Ke&&(Ke=!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(Z()),T=(0,j.useContext)(_e),E=(0,j.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,j.useRef)(null);return(0,j.useEffect)(()=>{if(w)return w.registerResponder({zIndex:T,getElement:()=>D.current,getHandler:e=>E.current[e]})},[w,T]),(0,M.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,M.jsx)(ve.Provider,{value:!0,children:S})})});Ge.displayName=`Layer`;var Q=e=>e?t=>e(t):void 0,Ke=!1,qe=!1,Je=`_virtual-div_16eab_1`,Ye=(0,j.memo)((0,j.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,j.useContext)(ve)||Xe||(Xe=!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,j.useRef)(null),g=(0,j.useCallback)(e=>{h.current=e,typeof t==`function`?t(e):t&&(t.current=e)},[t]);(({getElement:e,handlerProps:t})=>{let n=de(Z()),r=(0,j.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,j.useRef)({getElement:e,handlerProps:t});a.current={getElement:e,handlerProps:t},(0,j.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=X();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 qe||(qe=!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,M.jsx)(`div`,{className:W(u,Je),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,M.jsx)(I.Provider,{value:k,children:p})})}));Ye.displayName=`VirtualDiv`;var Xe=!1,Ze=(e,t,n,r)=>({x:e,y:t,width:n,height:r,top:t,left:e,right:e+n,bottom:t+r}),Qe=Ze(0,0,0,0),$e=e=>{let t=e.getElement()?.getBoundingClientRect?.();return{x:t?.left??0,y:t?.top??0}},et=e=>{let t=e.getElement()?.ownerDocument?.documentElement;return t?Ze(0,0,t.clientWidth,t.clientHeight):null},tt=(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 Ze(n,r,i-n,a-r)},nt=e=>{let t=e.getElement()?.getBoundingClientRect?.();return t?Ze(t.left,t.top,t.width,t.height):Qe},rt={side:`t`,align:`center`},it={side:`flip`,align:`slide`},at=[o.TopLeft,o.Top,o.Left,o.Center],ot=new Set([o.Top,o.TopLeft]),st=new Set([o.Left,o.TopLeft]),ct=(e,t)=>{let n=ot.has(e.getAnchor()),r=st.has(t.getAnchor());return n&&r?o.TopLeft:n?o.Top:r?o.Left:o.Center},lt=(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},ut=(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<at.length;l++){let u=e[at[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??U(t)??e,u=((e,t)=>{let n=nt(e),r=e.getBoundsFromRange(t);return Ze(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=tt(nt(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}},dt=(e,t,n,r,i,a,o)=>{let s=ut(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=ut(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}},ft=(e,t,n=`data`,r=0,i=rt,a=`hide`,o=it)=>{let s={side:i.side,align:i.align??`center`};if(!e)return{rect:Qe,clipped:!0,boundaryRect:Qe,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 Ze(e.x,e.y,e.width,e.height)}let n=et(e);if(t===`viewport`&&n)return n;if(t===`pane`){let t=$e(e),r=e.getPaneBounds();return tt(Ze(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=$e(e),r=e.getPaneBounds();return tt(Ze(t.x,t.y,r.width,r.height),n)}return tt(Ze(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=Ze(t.point.x,t.point.y,0,0),r=lt(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=$e(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:Ze(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=$e(e),r=t.bounds,i=e.toClipBounds(r,0),a=Ze(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:lt(c,(u=d,Ze(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=et(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??it.side,align:o.align??it.align},b=dt(e,f,p,g,d,v,y.side),x=dt(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=Ze(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:ct(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}},pt=(0,j.createContext)(null),mt=e=>{let{anchor:t,placement:n=rt,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=Z(),r=t?.pane??n,i=t?.boundary??`data`,a=t?.minVisible??0,o=t?.placement??rt,s=t?.whenOff??`hide`,c=t?.whenPartial??it,l=(0,j.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,j.useMemo)(()=>{let e=()=>{let e=l.current;return ft(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=ft(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===U(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,j.useRef)(t);b.current=t;let x=(0,j.useRef)(g);x.current=g;let S=(0,j.useCallback)(e=>{let t=ht(b.current),n=x.current;return n&&t?n.scrollCellCoordsIntoView(t,e):Promise.resolve(void 0)},[]),C=(0,j.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,j.useRef)(null),D=(0,j.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,M.jsx)(`div`,{ref:E,className:`sticky-layer`,style:{position:`absolute`,left:0,top:0,transform:`translate3d(${t}px, ${n}px, 0) ${gt(_)}`,willChange:`transform`},children:(0,M.jsx)(`div`,{ref:D,children:s})})}return(0,j.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,M.jsx)(pt.Provider,{value:C,children:O})},ht=e=>`range`in e?{rowIndex:e.range.rowStart,colIndex:e.range.colStart}:`cell`in e?{rowIndex:e.cell.rowIndex,colIndex:e.cell.colIndex}:null,gt=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})`};mt.displayName=`StickyAnchor`;var _t=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`:``)},vt={padding:4},yt=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:p,onOpen:m,onClosing:_,onClose:v}=e,y=(0,j.useRef)(null);(0,j.useLayoutEffect)(()=>{y.current?.instance()?.update()},[t]);let b=t.outOfView&&u?(0,M.jsx)(g,{render:u,props:t}):typeof d==`function`?d(t):d;return(0,M.jsx)(h,{ref:y,open:i,anchorEl:t.reference,placement:_t(t.placement),offsets:{mainAxis:n,alignmentAxis:r},boundary:t.getBoundaryRect,shift:vt,strategy:`fixed`,resizeOnOverflow:!1,transition:!1,themeFrom:l,container:a,className:o,style:s,zIndex:c,onMount:f,onOpening:p,onOpen:m,onClosing:_,onClose:v,children:Array.isArray(b)?(0,M.jsx)(M.Fragment,{children:b}):b})},bt=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=T(`grid`),themeFrom:m=`anchor`,renderOffscreen:h,children:g,onMount:_,onOpening:v,onOpen:y,onClosing:b,onClose:x}=e;return(0,M.jsx)(mt,{anchor:t,placement:n,whenOff:r,whenPartial:i,boundary:a,minVisible:o,children:e=>(0,M.jsx)(yt,{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})})};bt.displayName=`StickyPortal`;var xt=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`}},St=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,...h}=e,g=(0,j.useRef)(null),[_,v]=(0,j.useState)(),y=S((e,t)=>{v(e),o?.(g.current,t)},[o]),b=S(()=>{r?.close(0)},[r]),x=a?.offsets,[C,w]=Array.isArray(x)?[x[0]??0,x[1]??2]:[x?.alignmentAxis??x?.crossAxis??0,x?.mainAxis??2];return(0,M.jsx)(bt,{anchor:n,placement:xt(a?.placement),offset:w,alignOffset:C,zIndex:T(`popup`),open:t,onMount:y,onOpening:s,onOpen:c,onClosing:l,onClose:u,children:e=>(0,M.jsxs)(`div`,{onKeyDown:a?.onKeyDown,onMouseEnter:a?.onMouseEnter,children:[(0,M.jsx)(D,{ref:g,className:f,floatReference:r,popupContainer:_,renderPopupPanel:i,...h,children:d}),(0,M.jsx)(Ct,{outOfView:t&&e.outOfView,close:b})]})})};St.displayName=`GridFloatPanel`;var Ct=({outOfView:e,close:t})=>(j.useEffect(()=>{e&&t()},[e]),null),wt=e=>(0,M.jsx)(St,{...e}),Tt={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()}}})()},Et=(0,j.createContext)(null),Dt=()=>(0,j.useContext)(Et)??Tt,Ot={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`},kt=e=>{let{children:t,interactive:n,tipProps:r,className:i,style:a}=e;return(0,M.jsx)(`div`,{...r,className:i,style:{...Ot,...a,pointerEvents:n?`auto`:`none`},children:t})},At={pointerEvents:`auto`},jt=(e={})=>{let{openDelay:t,closeDelay:n,group:r=!0,name:i,gesture:a=!1}=e,o=Dt(),s=m(),c=(0,j.useId)(),l=i??c,[u,d]=(0,j.useState)(!1),f=(0,j.useRef)(!1),p=(0,j.useRef)(null),h=(0,j.useRef)(!1),g=(0,j.useRef)(null),_=(0,j.useRef)(null),v=(0,j.useRef)(null),y=(0,j.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=()=>{_.current&&=(clearTimeout(_.current),null)},x=()=>{v.current&&=(clearTimeout(v.current),null)},S=(0,j.useRef)(l);S.current=l;let C=(0,j.useMemo)(()=>({get key(){return S.current},get gesture(){return y.current.gesture},getElement:()=>g.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,h.current=!1;let e=f.current;f.current=!1,d(!1),e&&y.current.group&&y.current.surface.group.release(C)},E=(0,j.useCallback)(()=>{b(),x();let{surface:e,closeDelay:t}=y.current;v.current=setTimeout(()=>{v.current=null,h.current||p.current!==null||T()},t??e.timing.leaveDelay)},[]),D=(0,j.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);_.current=setTimeout(()=>{_.current=null,p.current!==null&&w()},i)}else E()}},[E]),O=(0,j.useCallback)(()=>{T()},[]);(0,j.useEffect)(()=>{s&&r&&!a&&T()},[s,r,a]);let k=(0,j.useMemo)(()=>({ref:e=>{g.current=e},onPointerEnter:()=>{h.current=!0,x()},onPointerLeave:()=>{h.current=!1,E()},style:At}),[E]);return(0,j.useEffect)(()=>()=>{b(),x(),f.current&&y.current.group&&y.current.surface.group.release(C)},[]),{open:u,setTarget:D,tipProps:k,close:O}},Mt={pointerEvents:`none`},Nt={display:`contents`},Pt=e=>{e.stopPropagation()},Ft={target:null,aimed:null},It=e=>({key:e.key??he(e.range),range:e.range,data:e.data,placement:e.placement,alignOffset:e.alignOffset}),Lt=e=>e?e.key??he(e.range):null,Rt=e=>{let t=e.getCoords();return t?`${t.rowIndex},${t.colIndex}`:null},zt=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:m=!1,whenOff:h=`hide`,whenPartial:g,boundary:_,zIndex:v,interactive:y=`pointer`,onDismiss:b,children:x,style:C}=e,w=X(),T=(0,j.useContext)(_e),E=t!==void 0,D=!!n,O=a!==void 0,k=`range-float:${i??T}`,{open:A,setTarget:N,tipProps:P,close:F}=jt({openDelay:u,closeDelay:d,name:k,group:f}),[I,L]=Ve(k,Ft),R=E?Lt(t):null,z=j.useRef(t);z.current=t,(0,j.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=It(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,j.useEffect)(()=>{N(B)},[B,N]);let[ee,V]=(0,j.useState)(null),H=(0,j.useRef)(null),te=(0,j.useRef)(!1);(0,j.useEffect)(()=>{o&&(F(),V(null),L(Ft))},[o,F,L]);let ne=S(e=>{let t=ee!==null;if(F(),V(null),L(Ft),b?.(),!t)return;let n=w.getElement()?.ownerDocument.activeElement;e&&n&&n!==n.ownerDocument.body||w.focus()},[ee,F,L,b,w]),U=p(D?n:void 0,Rt),re=null;if(D&&!o&&n&&U!==null){let e=r?.(n.getCoords(),w);e&&e.range&&(re=It(e))}let W=E?I.target:null,G=(A||m)&&W!==null,K=O?a===null?null:It(a):G?W:re??W,ie=ee?K?.key===ee.key?K:ee:K,ae=ee!==null||(O?ie!==null:G||re!==null),oe=y===`focus`&&ae&&ie!==null;if((0,j.useEffect)(()=>{if(!oe)return;let e=w.getElement()?.ownerDocument??(typeof document<`u`?document:null);if(!e)return;let t=null,n=()=>{te.current=!1,t&&clearTimeout(t),t=setTimeout(()=>{t=null,te.current||ne(!0)},0)};return e.addEventListener(`pointerdown`,n,!0),()=>{e.removeEventListener(`pointerdown`,n,!0),t&&clearTimeout(t)}},[oe,w,ne]),(0,j.useEffect)(()=>()=>{H.current&&clearTimeout(H.current)},[]),!ie)return null;let se=y===`none`?{...P,style:Mt}:P;return(0,M.jsx)(bt,{anchor:{range:ie.range},placement:ie.placement??s,offset:c,alignOffset:ie.alignOffset??l,boundary:_,zIndex:v,open:ae,whenOff:h,whenPartial:g,style:y===`none`?{...C,...Mt}:C,children:e=>{let t=x({range:ie.range,data:ie.data,floatProps:se,state:e});if(y===`none`)return t;let n=y===`focus`;return(0,M.jsx)(`div`,{className:`range-float-frame`,style:Nt,onPointerDownCapture:n?()=>{te.current=!0}:void 0,onPointerDown:Pt,onPointerUp:Pt,onMouseDown:Pt,onMouseUp:Pt,onClick:Pt,onDoubleClick:Pt,onContextMenu:Pt,onKeyDown:e=>{e.stopPropagation(),n&&e.key===`Escape`&&!e.defaultPrevented&&ne(!1)},onKeyUp:Pt,onCopy:Pt,onCut:Pt,onPaste:Pt,onWheel:Pt,onFocus:n?()=>{H.current&&=(clearTimeout(H.current),null),ee||V(ie)}:void 0,onBlur:n?()=>{H.current&&clearTimeout(H.current),H.current=setTimeout(()=>{H.current=null,V(null)},0)}:void 0,children:t})}})};zt.displayName=`VirtualRangeFloat`;var Bt=(e,t)=>Array.isArray(e)?e.includes(t):e===t,Vt=e=>{let{activateOn:t,probe:n,selection:r,hoveredOver:i,className:a,onPointerMove:o,onPointerLeave:s,...c}=e,l=X(),u=Bt(t,`hover`),d=Bt(t,`selection`),[f,p]=(0,j.useState)(null),m=S(e=>{let t=l.getCellFromPointer(e.clientX,e.clientY),r=t?n?.(t,l)??null:null,i=r?.range?r:null;p(e=>Lt(e)===Lt(i)?e:i)},[l,n]),h=S(()=>{p(null)},[]);return(0,M.jsx)(Ge,{className:W(a,`range-float`),onPointerMove:u?m:void 0,onPointerLeave:u?h:void 0,children:(0,M.jsx)(zt,{...c,hovered:u?i??f:void 0,selection:d?r:void 0,probe:n})})};Vt.displayName=`RangeFloatLayer`;var Ht=e=>{let{children:t,className:n,style:r,interactive:i=!1,bubble:a=!0,...o}=e,{renderTooltip:s}=Dt(),c=s??kt;return(0,M.jsx)(Vt,{...o,activateOn:`hover`,className:W(n,`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,M.jsx)(g,{render:c,props:{children:s,placement:o.placement,interactive:i,tipProps:r}}):s}})};Ht.displayName=`RangeTooltipLayer`;var Ut={side:`b`,align:`end`},Wt=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`:``)},Gt={pointerEvents:`none`},Kt=e=>{let{active:t,anchor:n,placement:r=Ut,offset:i=8,alignOffset:a=0,glide:o,boundary:s,themeFrom:c=`provider`,name:l,className:u,children:d}=e,{renderTooltip:f}=Dt(),p=f??kt,{open:m,setTarget:_,close:v,tipProps:y}=jt({gesture:!0,name:l}),b=(0,j.useRef)(null),[x,S]=(0,j.useState)(!1);(0,j.useLayoutEffect)(()=>{t?_(`gesture`):v()},[t,_,v]),(0,j.useLayoutEffect)(()=>{b.current?.instance()?.update()});let C=m&&t&&d!=null&&!1!==d&&d!==``;if((0,j.useLayoutEffect)(()=>{C||S(!1)},[C]),!C)return null;let w=W(u,`gesture-tip`),E=()=>S(!0),D=x&&o?.duration?{...Gt,transition:`transform ${o.duration}ms ${o.easing??`ease-in-out`}`}:Gt;return(e=>e.element!==void 0)(n)?(0,M.jsx)(h,{ref:b,open:!0,anchorEl:n.element,placement:Wt(r),offsets:{mainAxis:i,alignmentAxis:a},shift:{padding:4},strategy:`fixed`,resizeOnOverflow:!1,transition:!1,themeFrom:c,zIndex:T(`tooltip`),className:w,style:D,onOpen:E,children:(0,M.jsx)(g,{render:p,props:{children:d,placement:r,interactive:!1,tipProps:y}})}):(0,M.jsx)(bt,{className:w,anchor:n,placement:r,offset:i,alignOffset:a,boundary:s,themeFrom:c,whenOff:`clamp`,zIndex:T(`tooltip`),style:D,onOpen:E,children:e=>(0,M.jsx)(g,{render:p,props:{children:d,placement:e.placement,interactive:!1,tipProps:y}})})};Kt.displayName=`GestureTip`;var qt=e=>(e.rowEnd-e.rowStart+1)*(e.colEnd-e.colStart+1),Jt=()=>{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=qt(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}},Yt=(0,j.createContext)(null),Xt=e=>{let{isolate:t,children:n}=e,r=(0,j.useContext)(Yt),i=(0,j.useRef)(null),a=t||!r;a&&i.current===null&&(i.current=Jt());let o=a?i.current:r;return(0,M.jsx)(Yt.Provider,{value:o,children:n})};Xt.displayName=`RangeTooltipProvider`;var Zt=()=>()=>{},Qt=()=>0,$t=(0,j.memo)(e=>{let{className:t,dismiss:n,...r}=e,i=(0,j.useContext)(Yt),a=X(),{renderTooltip:o}=Dt(),s=o??kt;(0,j.useSyncExternalStore)(i?.subscribe??Zt,i?.version??Qt);let[c,l]=(0,j.useState)(null),u=S(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=S(()=>{l(null)},[]),f=(0,j.useRef)(null),p=c&&i?i.get(c.data):null;p&&(f.current=p);let m=p??f.current;return(0,M.jsx)(Ge,{...r,className:W(t,`range-tooltips`),onPointerMove:i?u:void 0,onPointerLeave:i?d:void 0,children:i?(0,M.jsx)(zt,{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,M.jsx)(g,{render:s,props:{children:u,placement:r.placement,interactive:l,tipProps:n}}):u}}):null})});$t.displayName=`RangeTooltipHost`;var en={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)`},tn=(0,j.memo)(e=>{let{range:t,hole:n,clipInsets:r,alignWidth:i=1,animatedTransition:a,className:o,...s}=e,c=d.getDevicePixelRatio(),l=i/c,u=r??-l/2,f=Z(),p=f?f.getBoundsFromRange(t):null,m=l+4;if(f&&p&&!f.toClipBounds(p,u))return null;let h=f?f.getPaneBounds():null,g=h?{x:-m,y:-m,width:h.width+2*m,height:h.height+2*m}:p,_=g?d.snapDeviceEdge(g.x,c):0,v=g?d.snapDeviceEdge(g.y,c):0,y;if(p&&g){let e=l+2,t=Math.max(p.x,g.x-e),n=Math.max(p.y,g.y-e);y={x:t-_,y:n-v,width:Math.min(p.x+p.width,g.x+g.width+e)-t,height:Math.min(p.y+p.height,g.y+g.height+e)-n}}let b=n&&f?f.getBoundsFromRange(n):null,x=b?{x:b.x-_,y:b.y-v,width:b.width,height:b.height}:void 0;return(0,M.jsx)(Ye,{className:W(o),bounds:g??void 0,clipInsets:u,style:{pointerEvents:`none`},children:(0,M.jsx)(B,{bounds:y,alignWidth:i,hole:x,animatedTransition:a,...s})})});tn.displayName=`RangeRect`;var nn=(0,j.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=Z(),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,M.jsx)(M.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[[`insert-bar`,u.toClipBounds(t,-m)],[`insert-bar-cap-start`,_(r.start)?r.start:null],[`insert-bar-cap-end`,_(r.end)?r.end:null]]})(e).map(([t,i])=>i&&(0,M.jsx)(Ye,{className:W(t,e?`row`:`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}`)))})});nn.displayName=`RangeInsertBar`;var rn=()=>typeof window<`u`?window:null,an=(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)&&((U(e.getAllPanes())??e).scrollCellCoordsIntoView(l),!0)},on=Object.freeze({ctrlKey:!1,shiftKey:!1,altKey:!1,metaKey:!1}),sn=e=>({ctrlKey:!!e.ctrlKey,shiftKey:!!e.shiftKey,altKey:!!e.altKey,metaKey:!!e.metaKey}),cn=(e,t)=>e.ctrlKey===t.ctrlKey&&e.shiftKey===t.shiftKey&&e.altKey===t.altKey&&e.metaKey===t.metaKey,ln=(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=on,p=null,m=e=>{if(!o)return;let t=sn(e);cn(f,t)||(f=t,o.modifiers?.(t))},h=()=>{p&&=(rn()?.removeEventListener(`keydown`,p,!0),rn()?.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=>an(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=sn(e),p)return;let t=e=>m(e);p=t,rn()?.addEventListener(`keydown`,t,!0),rn()?.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=on,e&&n?.(null),e},dispose:()=>{d(),h()}}},un=(e,t,n)=>{let r=ln(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&&rn()?.removeEventListener(`keydown`,c,!0),c=null},d=()=>{l&&=(rn()?.removeEventListener(`pointerup`,l),rn()?.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))},rn()?.addEventListener(`keydown`,c,!0)}else i=!1,l=e=>p(e.type===`pointercancel`,e),rn()?.addEventListener(`pointerup`,l),rn()?.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 dn(e,t,n,r){let i=ln(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 fn=e=>{let t=X(),n=S(()=>t,[t]),[r,i]=(0,j.useState)(null),a=S(e,[e]),o=(0,j.useMemo)(()=>un(n,a,i),[n,a]);return(0,j.useEffect)(()=>()=>o.dispose(),[o]),{onPointerDown:o.onPointerDown,onPointerMove:o.onPointerMove,onPointerUp:o.onPointerUp,onPointerCancel:o.onPointerCancel,dragMode:r}},pn=e=>{let t=X(),n=S(()=>t,[t]),[r,i]=(0,j.useState)(null),a=S(e,[e]),o=(0,j.useMemo)(()=>dn(n,a,i),[n,a]);return(0,j.useEffect)(()=>()=>o.dispose(),[o]),{start:o.start,cancel:o.cancel,dragMode:r}},mn=e=>{let t=(0,j.useRef)(null),n=(0,j.useRef)(!1);return(0,j.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)}},hn=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,animatedTransition:h,renderHandle:_,children:v,className:y,style:b,preserveFocus:x,clampToView:S,secondaryButton:C}=e,w=X(),[T,E]=(0,j.useState)(!1),D=mn(!!f),{start:O,cancel:k,dragMode:A}=pn((e,t)=>{let n=t.button===2&&!0===C;if(t.button!==0&&!n)return null;t.stopPropagation(),x&&t.preventDefault();let r=n?gn():null,i=e,a=e;return s?.(i,t,k),{dragMode:`handle`,drag:(e,n)=>{a=e,c?.(i,e,n??t)},end:e=>{r?.(),l?.(i,a,e)},cancel:()=>{r?.(),u?.()}}}),N=A!==null&&a?a:i??bn[n],P=w.getBoundsFromRange(t);if(!P)return null;let F=d.getDevicePixelRatio(),I=yn(P.x,P.x+P.width,_n[n],F),L=yn(P.y,P.y+P.height,vn[n],F);if(S){if(!w.toClipBounds(w.getBoundsFromRange(t)))return null;let e=w.getPaneBounds(),n=r/2+1;!0!==S&&S!==`x`||(I=Math.max(n,Math.min(e.width-n,I))),!0!==S&&S!==`y`||(L=Math.max(n,Math.min(e.height-n,L)))}let R={position:`absolute`,cursor:N,pointerEvents:`all`,touchAction:`none`,left:0,top:0,transform:`translate(${I}px, ${L}px) translate(-50%, -50%)`,...h?{transition:`transform ${z.duration}ms ${z.easing}`,willChange:`transform`}:void 0},B={className:W(`drag-handle`,y),onPointerDown:e=>{D(e)?f(e):O(e)},onDoubleClick:f?e=>e.stopPropagation():void 0,onPointerEnter:()=>{E(!0),p?.(!0)},onPointerLeave:()=>{E(!1),p?.(!1)}};return _?(0,M.jsx)(g,{render:_,props:{anchor:n,size:r,cursor:N,background:o,hovered:T,handleProps:{...B,style:R}}}):(0,M.jsx)(`div`,{...B,style:{...R,width:r,height:r,background:v==null?o:void 0,border:v==null?`1px solid var(--sxl-color-base-100, white)`:void 0,borderRadius:1,boxSizing:`border-box`,...b,...T?m:void 0},children:v})};hn.displayName=`DragHandle`;var gn=()=>{let e=e=>{e.preventDefault(),e.stopPropagation()};return window.addEventListener(`contextmenu`,e,!0),()=>{setTimeout(()=>window.removeEventListener(`contextmenu`,e,!0),0)}},_n={tl:`leading`,l:`leading`,bl:`leading`,t:`center`,b:`center`,tr:`trailing`,r:`trailing`,br:`trailing`},vn={tl:`leading`,t:`leading`,tr:`leading`,l:`center`,r:`center`,bl:`trailing`,b:`trailing`,br:`trailing`},yn=(e,t,n,r)=>n===`center`?d.snapDeviceEdge((e+t)/2,r):d.edgeCenter(n===`leading`?e:t,n,2,r),bn={tl:`nwse-resize`,br:`nwse-resize`,tr:`nesw-resize`,bl:`nesw-resize`,t:`ns-resize`,b:`ns-resize`,l:`ew-resize`,r:`ew-resize`},xn=(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}}},Sn=(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`},Cn=(e,t,n,r,i)=>{let a=Sn(e,t,r,i);if(!a)return null;let o=e.getCellFromPointer(r,i,!0)??n;return{edge:a,cell:{rowIndex:G(o.rowIndex,t.rowStart,t.rowEnd),colIndex:G(o.colIndex,t.colStart,t.colEnd)}}},wn=(e,t)=>e===t||!!e&&!!t&&e.axis===t.axis&&c.isEqualCells(e.origin,t.origin),Tn=(e,t,n)=>{let r=e.rowEnd-e.rowStart,i=e.colEnd-e.colStart,a=G(t.origin.rowIndex,n.rowStart,n.rowEnd-r),o=G(t.origin.colIndex,n.colStart,n.colEnd-i);return{...e,rowStart:a,rowEnd:a+r,colStart:o,colEnd:o+i}},En=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:_,className:v}=e,y=X(),b=t?`range-move:${t.rowStart}:${t.colStart}:${t.rowEnd}:${t.colEnd}`:`range-move`,x=(0,j.useRef)(null),[S,C]=Ve(b,null),{start:w,cancel:T,dragMode:E}=pn((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,y.getTotalRange()),m={mods:sn(n),insert:xn(y,e,n.clientX,n.clientY,d,null),grab:Cn(y,i,e,n.clientX,n.clientY)},g=m.insert,_=n;o?.(!0),l?.(i,n,m,T);let v=()=>{p&&C({range:a,info:m}),u?.(a,_,m)},b=!1;return{dragMode:`move`,drag:e=>{a=(e=>Dn(i,e.rowIndex-r.rowIndex,e.colIndex-r.colIndex,y.getTotalRange()))(e),b=!0},point:(e,t,n,r)=>{r&&(_=r);let i=xn(y,e,t,n,d,m.insert),a=b||!wn(i,m.insert);b=!1,a&&(m={...m,insert:i},v())},modifiers:e=>{m={...m,mods:e},v()},end:e=>{o?.(!1),p&&C(null);let t=sn(e);(!c.isEqualRanges(a,i)||t.shiftKey&&!wn(m.insert,g))&&f?.(a,e,{...m,mods:t})},cancel:()=>{o?.(!1),p&&C(null)}}}),D=mn(!!_),O=E===null?`move`:m;if(!t)return null;let k={onPointerDown:e=>{if(D(e)){let n=y?Sn(y,t,e.clientX,e.clientY):null;n&&_(t,n,e)}else w(e,x.current)}},A=a?{onPointerEnter:()=>a(!0),onPointerLeave:()=>a(!1)}:void 0,N=i/d.getDevicePixelRatio(),P=y?.getBoundsFromRange(t),F=P?{x:P.x-N,y:P.y-N,width:P.width+2*N,height:P.height+2*N}:void 0;return(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)(Ye,r===`entire`?{ref:x,className:W(`drag-grip`,v),...F?{bounds:F}:{range:t},style:{cursor:O,touchAction:`none`},...k,...A}:{ref:x,className:W(`drag-grip`,v),range:t,clipInsets:-N/2,style:{pointerEvents:`none`,cursor:O,touchAction:`none`},...k,children:(0,M.jsx)(B,{stroke:`transparent`,alignWidth:i,propsStrokePath:{cursor:`move`,pointerEvents:`stroke`,...A}})}),n,S?(0,M.jsx)(g,{render:p,props:{range:S.range,info:S.info}}):null]})};En.displayName=`Draggable`;var Dn=(e,t,n,r)=>{let i=e.rowEnd-e.rowStart,a=e.colEnd-e.colStart,o=G(e.rowStart+t,r.rowStart,r.rowEnd-i),s=G(e.colStart+n,r.colStart,r.colEnd-a);return{rowStart:o,colStart:s,rowEnd:o+i,colEnd:s+a}},On=[`tl`,`tr`,`br`,`bl`],kn=[`tl`,`t`,`tr`,`r`,`br`,`b`,`bl`,`l`],An=e=>{let{range:t,anchors:n=kn,onDragStart:r,onDragMove:i,onDragEnd:a,onDragCancel:o,onHandleHoverChange:s,size:c=8,renderHandle:l,preserveFocus:u,...d}=e,f={...en,...d},p=f.stroke??`rgb(33, 115, 70)`,m=X(),[h,g]=(0,j.useState)(null),_=(0,j.useRef)(null);if(!t)return null;let v=h??t;return(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)(tn,{className:`resizer-outline`,range:v,...f}),n.map(e=>(0,M.jsx)(hn,{className:`resize-handle ${e}`,range:v,anchor:e,size:c,animatedTransition:f.animatedTransition,dragCursor:`grabbing`,renderHandle:l,preserveFocus:u,onHoverChange:s,style:{background:p,border:`1.5px solid var(--sxl-color-base-100, white)`,borderRadius:0},hoverStyle:{border:`1.5px solid ${p}`},onDragStart:(e,n)=>{_.current=t,r?.(t,n)},onDragMove:(n,r,a)=>{let o=jn(_.current??t,e,r,m.getTotalRange());g(o),i?.(o,a)},onDragEnd:(n,r,i)=>{let o=jn(_.current??t,e,r,m.getTotalRange());_.current=null,g(null),a?.(o,i)},onDragCancel:()=>{_.current=null,g(null),o?.()}},e))]})};An.displayName=`RangeResizer`;var jn=(e,t,n,r)=>{let{rowStart:i,colStart:a,rowEnd:o,colEnd:s}=e;return t.includes(`t`)&&(i=G(n.rowIndex,r.rowStart,r.rowEnd)),t.includes(`b`)&&(o=G(n.rowIndex,r.rowStart,r.rowEnd)),t.includes(`l`)&&(a=G(n.colIndex,r.colStart,r.colEnd)),t.includes(`r`)&&(s=G(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)}},Mn=(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}},Nn=(e,t)=>t.rowEnd<e.rowEnd?{...e,rowStart:t.rowEnd+1}:t.colEnd<e.colEnd?{...e,colStart:t.colEnd+1}:null,Pn=e=>{let{range:t,snapDestination:n,onDragStart:r,onDragMove:i,onDragEnd:a,onMenu:s,onDragDone:l,onDoubleClick:u,renderHandle:d,...f}=e,p={...en,fill:void 0,...f},m=p.stroke,h={...p,strokeDasharray:`3 2`},g=X(),_=(0,j.useRef)(null),[v,y]=Ve(`range-fill`,null);if(!t)return null;let b=g.getTotalRange(),x=t.rowStart===b.rowStart&&t.rowEnd===b.rowEnd,S=t.colStart===b.colStart&&t.colEnd===b.colEnd;if(x&&S)return null;let C=Object.keys(g.getAllPanes()).length<=1,w=g.getBoundsFromRange(t),T=g.getPaneBounds(),E=C&&w.y>=0&&w.y+w.height<=T.height,D=C&&w.x>=0&&w.x+w.width<=T.width,O=x&&!E?`tr`:S&&!D?`bl`:`br`,k=O===`tr`?`y`:O===`bl`&&`x`;if(k&&!((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})(g,t,x,S))return null;let A=v?Nn(t,v):null;return(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)(hn,{className:`fill-handle`,range:t,anchor:O,clampToView:k,cursor:`crosshair`,background:m,renderHandle:d,onDoubleClick:u?e=>u(t,e):void 0,secondaryButton:!!s,onDragStart:(e,n,i)=>{_.current=null,y(null),r?.(t,n,i)},onDragMove:(e,r,a)=>{let o=Mn(t,r,g.getTotalRange());o&&n&&(o=n(t,o)),_.current=o,y(o),o&&i?.(o,a)},onDragEnd:(e,t,n)=>{let r=_.current;_.current=null,r&&n.button===2&&s?s(r,n,()=>y(null)):(y(null),r&&a?.(r,n)),l?.(n)},onDragCancel:()=>{_.current=null,y(null),l?.()}}),v&&(0,M.jsx)(tn,{className:`fill-preview`,range:v,...h}),A&&(0,M.jsx)(tn,{className:`fill-vacated`,range:A,fill:`rgba(128, 128, 128, 0.28)`})]})};Pn.displayName=`FillHandle`;var Fn=`data-cell-interactive`,In=Object.freeze({[Fn]:``}),Ln=e=>!!e?.closest?.(`[${Fn}]`),Rn=e=>{let t=(e?.closest?.(`[${Fn}]`))?.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,j.memo)(e=>{let{value:t,zoom:n,bounds:r,cell:i,range:a,children:o,className:s,...c}=e;return(0,M.jsx)(`div`,{className:W(s,`cell`),...c,children:t})});var zn=Object.freeze({cells:[],rangesH:[],rangesV:[]}),Bn=!1,Vn=new WeakMap,Hn=(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=Vn.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 zn;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 zn;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=Kn(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}):Bn||(Bn=!0,console.warn(`grid-react: no bounds for cell`,Kn(a.rowStart,a.colStart)))}return{cells:h,rangesH:g,rangesV:_}})(e,t);return Vn.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},Un=Object.freeze({rangesH:[],rangesV:[]}),Wn=new WeakMap,Gn=(e,t={})=>{let n=e.getVisibleRange(),r=Wn.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=Kn(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?Un:{rangesH:i,rangesV:a}})(e,t);return Wn.set(e,{rowStart:n.rowStart,colStart:n.colStart,rowEnd:n.rowEnd,colEnd:n.colEnd,getVisibleCells:t.getVisibleCells,cacheToken:t.cacheToken,ranges:i}),i},Kn=(e,t)=>`${e}:${t}`,qn={tiles:`_tiles_v3ek7_7`,gridlines:`_gridlines_v3ek7_32`},Jn=(0,j.memo)(e=>{let{renderCell:t,cacheToken:n,getVisibleCells:r,hiddenCellAt:i,suppressCell:a,className:o,style:s}=e,c=X(),l=c.getAnchor(),u=(0,j.useId)(),f=(0,j.useMemo)(()=>`sxl-cl-${u.replace(/[^a-zA-Z0-9_-]/g,``)}`,[u]),p=(0,j.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/Xn)*Xn,y=Math.floor(_/Xn)*Xn,b=c.getVisibleRange(),x=0,S=-1,C=0,w=-1;b&&(x=Math.max(0,Math.floor(b.rowStart/$)-Qn),S=Math.floor(b.rowEnd/$)+Qn,C=Math.max(0,Math.floor(b.colStart/$)-Qn),w=Math.floor(b.colEnd/$)+Qn);let T=(0,j.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}=Hn(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&&!er)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(er&&b.push((0,M.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:${Kn(n.rowIndex,n.colIndex)}`,cell:n,bounds:i,range:r,zoom:o,value:a,"data-rc":Kn(n.rowIndex,n.colIndex),style:{left:i.x-p.x,top:i.y-p.y,width:i.width,height:i.height}}))}if(u=(0,M.jsx)(`div`,{className:`tile`,style:{transform:`translate(${m}px, ${h}px)`},children:b},`pane:${l}:tile:${e}:${n}`),r&&(a.set(i,u),a.size>$n)){let e=a.keys().next().value;e!==void 0&&a.delete(e)}}u&&m.push(u)};if(er){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,j.useState)(!1),O=(0,j.useRef)({left:g,top:_,timer:null});(0,j.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)},Zn))},[g,_]),(0,j.useEffect)(()=>()=>{let e=O.current.timer;e&&clearTimeout(e)},[]);let k=d.getDevicePixelRatio(),A=Math.round((v-g)*k)/k,N=Math.round((y-_)*k)/k;return(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)(Ye,{fill:!0,className:W(`tiles`,qn.tiles,f,o),style:{pointerEvents:`none`,...s,...E?{transform:`translate3d(${A}px, ${N}px, 0)`,willChange:`transform`}:{transform:`translate(${A}px, ${N}px)`,willChange:`auto`}},children:T}),a?(0,M.jsx)(`style`,{children:`.${f} [data-rc="${Kn(a.rowIndex,a.colIndex)}"]{visibility:hidden !important;}`}):null]})});Jn.displayName=`CellTileDiv`;var Yn=(0,j.memo)(e=>{let{renderCell:t,cacheToken:n,getVisibleCells:r,hiddenCellAt:i,suppressCell:a,className:o,style:s,...c}=e;return(0,M.jsx)(Ge,{className:W(o,`cells`),...c,children:(0,M.jsx)(Jn,{renderCell:t,cacheToken:n,getVisibleCells:r,hiddenCellAt:i,suppressCell:a,style:s})})});Yn.displayName=`CellLayer`;var $=8,Xn=1<<19,Zn=150,Qn=1,$n=512,er=!1,tr=(e,t,n,r)=>{let i=d.getDevicePixelRatio(),a=(r?.width??or)/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=nr(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=nr(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},nr=(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},rr=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},ir=(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(or/d.getDevicePixelRatio());return(0,M.jsx)(`svg`,{className:W(t?`horizontal`:`vertical`),width:`${o}`,height:`${s}`,viewBox:`0 0 ${o} ${s}`,preserveAspectRatio:`none`,children:(0,M.jsx)(`path`,{d:n,fill:`none`,stroke:r,strokeWidth:c,vectorEffect:`non-scaling-stroke`,...i})})},ar=(0,j.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=X(),m=t,h=!0===t||!0===m?.horizontal,g=!0===t||!0===m?.vertical,{rangesH:_,rangesV:v}=Gn(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}|${rr(_)}`,k=v.length===0?`${x}|${D}|${y}`:`${x}|${b}|${D}|${y}|${rr(v)}`,A=(0,j.useMemo)(()=>h?tr(p,!0,_):null,[p,h,O]),N=(0,j.useMemo)(()=>g?tr(p,!1,v):null,[p,g,k]);return h||g?(0,M.jsx)(Ge,{...f,className:W(l,`gridlines`),children:(0,M.jsxs)(Ye,{fill:!0,className:W(`gridlines-box`,qn.gridlines),style:{pointerEvents:`none`,...u},children:[h&&A?ir(p,!0,A,n,r):null,g&&N?ir(p,!1,N,n,i):null]})}):null});ar.displayName=`GridlineLayer`;var or=1,sr=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??(()=>ur)}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=G(f+u(o),i.rowStart,i.rowEnd),h=G(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=cr({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=lr(i.cell,r);this.setSelection({cell:s,ranges:o,rangeIndex:a>=0?a:0})}append(e,t=e){let n=cr({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)}}},cr=(e,t)=>({rowStart:G(e.rowStart,t.rowStart,t.rowEnd),colStart:G(e.colStart,t.colStart,t.colEnd),rowEnd:G(e.rowEnd,t.rowStart,t.rowEnd),colEnd:G(e.colEnd,t.colStart,t.colEnd)}),lr=(e,t)=>({rowIndex:G(e.rowIndex,t.rowStart,t.rowEnd),colIndex:G(e.colIndex,t.colStart,t.colEnd)}),ur={rowStart:0,colStart:0,rowEnd:2**53-1,colEnd:2**53-1},dr=`var(--sxl-color-primary, rgb(33, 115, 70))`,fr=`var(--sxl-color-base-100, rgb(255, 255, 255))`,pr=`var(--sxl-color-warning, rgb(255, 0, 0))`,mr=e=>`color-mix(in srgb, var(--sxl-color-primary, rgb(33, 115, 70)) ${e}%, transparent)`,hr={fill:{fill:mr(10)},border:{stroke:dr,alignWidth:2,style:{filter:`drop-shadow(1px 1px 0.3px var(--sxl-color-shadow, rgba(0, 0, 0, 0.24)))`}},inner:{stroke:fr,alignWidth:2,inset:1}},gr={fill:{fill:mr(6)},border:{stroke:dr,alignWidth:1},inner:{stroke:fr,alignWidth:1,inset:1}},_r={stroke:dr,alignWidth:1,inset:2},vr={fill:{fill:`color-mix(in srgb, ${pr} 10%, transparent)`},border:{stroke:pr,alignWidth:2}},yr={color:dr,refusedColor:pr,alignWidth:3,capExtent:3,transitionDuration:100,transitionEasing:`cubic-bezier(0.16, 1, 0.3, 1)`,axisDuration:70},br={fill:{fill:`color-mix(in srgb, ${fr} 62%, transparent)`}},xr=(e,t)=>{let n=X(),r=t?.allowDeselect??!0,i=t?.allowMulti??!0,a=(0,j.useRef)(null),[o,s]=(0,j.useState)(null),l=(0,j.useRef)(t?.onSelectionEnd);l.current=t?.onSelectionEnd;let u=fn((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&&Ln(o.target)){let r=Rn(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}},Sr=`selection-grip-drag`,Cr=(e,t)=>t===void 0?e:t===null?null:{...e,...t},wr=(e,t)=>t?{fill:Cr(e.fill,t.fill),border:Cr(e.border,t.border),inner:Cr(e.inner,t.inner)}:e,Tr=e=>{let{selection:t}=e,n=Z(),r=kr(_(t,e=>e.getSelection())),i=n?U(n.getAllPanes())??n:void 0,a=((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`}]})(r,n?.getTotalRange(),i?.getVisibleRange()),[o,s]=(0,j.useState)(!1),c=He(Sr,null),l=(0,j.useRef)(null);(0,j.useEffect)(()=>()=>{l.current?.dispose(),c(null)},[c]);let u=(e,n,r)=>{let{pivot:i,axis:a,placement:o}=n;l.current?.dispose();let u=a===`col`?{x:!0,y:!1}:a===`row`?{x:!1,y:!0}:{x:!0,y:!0},d=t.getSelection(),f=dn(e,()=>(s(!0),c(o),{dragMode:`grip`,drag:e=>{let n=a===`col`?{colIndex:e.colIndex}:a===`row`?{rowIndex:e.rowIndex}:e;t.modify(n,i)},edgeScroll:t=>an(e,t,u),end:()=>{s(!1),c(null)},cancel:()=>{t.setSelection(d),s(!1),c(null)}}),void 0,(t,n)=>(e.getPaneFromPointer(t,n)??e).getCellFromPointer(t,n));l.current=f,f.start(r,r.currentTarget)};return(0,M.jsx)(M.Fragment,{children:a.map(e=>(0,M.jsx)(Dr,{spec:e,dragging:o,onBeginDrag:u},e.key))})};Tr.displayName=`SelectionTouchGrips`;var Er={side:`slide`,align:`slide`},Dr=e=>{let{spec:t,dragging:n,onBeginDrag:r}=e;return(0,M.jsx)(mt,{anchor:{cell:t.cell},placement:t.placement,whenOff:`hide`,whenPartial:Er,children:e=>e.slid?null:(0,M.jsx)(Or,{state:e,dragging:n,pin:t.pin,onBeginDrag:n=>{e.pane&&r(e.pane,t,n)}})})},Or=e=>{let{state:t,dragging:n,pin:r,onBeginDrag:i}=e,a=(0,j.useRef)({state:t,pin:r});a.current={state:t,pin:r};let o=(0,j.useMemo)(()=>({get contextElement(){return a.current.state.reference.contextElement},getBoundingClientRect:()=>{let{state:e,pin:t}=a.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}}}),[]),s=(0,j.useRef)(null);return(0,j.useLayoutEffect)(()=>{s.current?.instance()?.update()},[t]),(0,M.jsx)(h,{ref:s,open:!0,anchorEl:o,placement:`bottom`,strategy:`fixed`,resizeOnOverflow:!1,transition:!1,themeFrom:`anchor`,zIndex:T(`grid`),className:`touch-input`,style:{width:0,height:0,overflow:`visible`,pointerEvents:`none`},children:(0,M.jsx)(`div`,{className:`touch-select-grip`,style:{position:`absolute`,left:0,top:0,translate:`-50% -50%`,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(),i(e))},children:(0,M.jsx)(`div`,{style:{position:`absolute`,inset:`calc((var(--sxl-handle-size) - var(--sxl-handle-hit)) / 2)`,borderRadius:`50%`}})})})},kr=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)},Ar=[l.Left,l.Right,l.Up,l.Down],jr={[l.Left]:`ArrowLeft`,[l.Right]:`ArrowRight`,[l.Up]:`ArrowUp`,[l.Down]:`ArrowDown`},Mr={[l.Left]:`Left`,[l.Right]:`Right`,[l.Up]:`Up`,[l.Down]:`Down`},Nr={side:`b`,align:`end`},Pr=(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`}},Fr={display:`contents`},Ir=(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:_}},Lr={row:`b`,col:`r`},Rr=(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}:{...Lr,rowAt:n,colAt:r}},zr=j.forwardRef((e,t)=>{let{selection:n,getContentBounds:r,getRegionBounds:i,scrollIntoView:o,singleStyle:u,multiStyle:d,multiAnchorStyle:f,singleAnchorStyle:p,removePreviewStyle:m,insertBarStyle:h,isDropRefused:g,snapMoveDestination:v,moveSourceStyle:b,singleLayer:x,multiLayer:S,enabledMove:C,onMove:w,onMoveStart:T,onMoveUpdate:E,onMoveEnd:D,moveCursor:O,enableFill:k,snapFillDestination:A,onFill:N,onFillStart:P,onFillPreview:F,onFillEnd:I,onFillMenu:L,resolveFillExtent:R,onEdgeDoubleClick:B,onSelectionEnd:ee,onDragModeChange:V,externalDrag:H=!1,renderTip:te,tipPlacement:ne,disableKeyboard:U,anchorHole:re=!0,...W}=e,G=_(n,e=>e.getSelection()),K=xr(n,{onSelectionEnd:ee}),ie=j.useRef(V);ie.current=V,j.useEffect(()=>{ie.current?.(K.dragMode)},[K.dragMode]);let[ae,oe]=j.useState(null),se=j.useRef(null),ce=j.useRef(null),le=j.useRef(null),ue=j.useRef({width:0,height:0}),q=X(),de=j.useRef(n);de.current=n;let fe=j.useRef(q);fe.current=q;let pe=j.useRef(r);pe.current=r;let me=j.useRef(i);me.current=i;let he=j.useRef(o);he.current=o;let ge=j.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})},b=(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`})},x=(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()},S=(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()},C=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()},w=new Map,T=(e,t,n)=>{w.set(e,{shortcut:t,run:n})},E=y.Shift,D=y.Ctrl,O=y.Alt;for(let e of Ar){let t=Mr[e],n=jr[e];T(`move${t}`,{key:n},()=>v(e,!1)),T(`select${t}`,{key:n,modifiers:[E]},()=>v(e,!0)),T(`moveContentful${t}`,{key:n,modifiers:[D]},()=>v(e,!1,!0)),T(`selectContentful${t}`,{key:n,modifiers:[D,E]},()=>v(e,!0,!0))}T(`moveToPageDown`,{key:`PageDown`},()=>b(l.Down,!1)),T(`selectToPageDown`,{key:`PageDown`,modifiers:[E]},()=>b(l.Down,!0)),T(`moveToPageUp`,{key:`PageUp`},()=>b(l.Up,!1)),T(`selectToPageUp`,{key:`PageUp`,modifiers:[E]},()=>b(l.Up,!0)),T(`moveToPageRight`,{key:`PageDown`,modifiers:[O]},()=>b(l.Right,!1)),T(`selectToPageRight`,{key:`PageDown`,modifiers:[O,E]},()=>b(l.Right,!0)),T(`moveToPageLeft`,{key:`PageUp`,modifiers:[O]},()=>b(l.Left,!1)),T(`selectToPageLeft`,{key:`PageUp`,modifiers:[O,E]},()=>b(l.Left,!0)),T(`traverseSelectionRight`,{key:`Tab`},()=>S(s.Row,!1)),T(`traverseSelectionLeft`,{key:`Tab`,modifiers:[E]},()=>S(s.Row,!0)),T(`traverseSelectionDown`,[{key:`Enter`},{key:`NumpadEnter`}],()=>S(s.Column,!1)),T(`traverseSelectionUp`,[{key:`Enter`,modifiers:[E]},{key:`NumpadEnter`,modifiers:[E]}],()=>S(s.Column,!0)),T(`traverseSelectionNextRange`,{key:`ArrowRight`,modifiers:[D,O]},()=>C(!1)),T(`traverseSelectionPreviousRange`,{key:`ArrowLeft`,modifiers:[D,O]},()=>C(!0)),T(`moveToRowStart`,{key:`Home`},()=>x({colIndex:f().colStart},!1)),T(`moveToGridStart`,{key:`Home`,modifiers:[D]},()=>x({rowIndex:f().rowStart,colIndex:f().colStart},!1)),T(`selectToRowStart`,{key:`Home`,modifiers:[E]},()=>x({colIndex:f().colStart},!0)),T(`selectToColumnStart`,void 0,()=>x({rowIndex:f().rowStart},!0)),T(`selectToGridStart`,{key:`Home`,modifiers:[D,E]},()=>x({rowIndex:f().rowStart,colIndex:f().colStart},!0)),T(`moveToRowEnd`,{key:`End`},()=>x({colIndex:p().colEnd},!1)),T(`moveToGridEnd`,{key:`End`,modifiers:[D]},()=>x({rowIndex:p().rowEnd,colIndex:p().colEnd},!1)),T(`selectToColumnEnd`,void 0,()=>x({rowIndex:f().rowEnd},!0)),T(`selectToRowEnd`,{key:`End`,modifiers:[E]},()=>x({colIndex:p().colEnd},!0)),T(`selectToGridEnd`,{key:`End`,modifiers:[D,E]},()=>x({rowIndex:p().rowEnd,colIndex:p().colEnd},!0)),T(`selectColumn`,{key:`Space`,modifiers:[D]},()=>{let e=m(u().getSelection().cell)??f();u().modify({rowIndex:e.rowStart},{rowIndex:e.rowEnd}),g()}),T(`selectRow`,{key:`Space`,modifiers:[E]},()=>{let e=m(u().getSelection().cell)??f();u().modify({colIndex:e.colStart},{colIndex:e.colEnd}),g()}),T(`scrollToActiveCoords`,{key:`Backspace`,modifiers:[D]},()=>g()),T(`scrollToActiveCoordsClearSelection`,{key:`Backspace`,modifiers:[E]},()=>{let e=u().getSelection().cell;u().setSelection({cell:e,ranges:a.EmptyArray,rangeIndex:-1}),g()});let k=(e,t)=>{let n=t.modifiers??[];return(n.includes(D)||n.includes(y.Meta))===(e.ctrlKey||e.metaKey)&&n.includes(E)===e.shiftKey&&n.includes(O)===e.altKey&&(e.key===t.key||e.code===t.key)};return{invoke(e){let t=w.get(e);return!!t&&(t.run(),!0)},supports:e=>w.has(e),getBindings:()=>w,handleKey(e){for(let t of w.values())if(t.shortcut&&(Array.isArray(t.shortcut)?t.shortcut:[t.shortcut]).some(t=>k(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}),[]);j.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,J=ve[xe]??c.cellToRange(G.cell),Se=q.getRangeFromCell(G.cell),Ce=c.intersectRanges(Se,J)??c.cellToRange(G.cell),we=ve.filter((e,t)=>t!==xe),Te=ye?wr(gr,d):wr(hr,u),Y={..._r,...f},Ee=wr(vr,m),{refusedColor:De,...Oe}={...yr,...h},ke=b===null?null:wr(br,b),Ae=(e,t)=>{let n=t.mods.shiftKey?t.insert:null,r=t.mods.ctrlKey||t.mods.metaKey,i={to:n?Tn(e,n,q.getTotalRange()):e,copy:r,insert:n?.axis};return!n&&v&&(i.to=v(J,i)),i.refused=n?!r&&(g?g(J,i):c.isRefusedInsertCut(c.classifyInsertCut(J,i.to,n.axis))):!!g?.(J,i),i},je=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})},[Me]=Ve(Sr,null),Ne=K.dragMode===`extend`||Me!==null||H,Pe=ae??(Ne?{kind:`select`,range:J}:null),Fe=Pe&&te?te(Pe):null,Ie={boundsOf:e=>q.getBoundsFromRange(e),tip:ue.current},Le=Pe?((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:Pr(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=Pr(n,r,n.rowEnd>t.rowEnd||n.colEnd>t.colEnd);if(i)return{range:n,placement:i};let a=Nr;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=Pr(c,r,a?.edge!==`left`&&a?.edge!==`top`);return u?{range:c,placement:u}:a&&o?{range:c,placement:Ir(e.from,c,a,o)}:{range:c,placement:Nr}})(Pe,Ce,Me,q.getTotalRange(),se.current??Lr,ce.current,Ie):{range:J,placement:Nr},Re;Pe?.kind===`move`&&(Re=Pe.drop.insert?{duration:Oe.transitionDuration??0,easing:Oe.transitionEasing}:z),j.useLayoutEffect(()=>{let e=le.current?.closest(`.gesture-tip`);if(!e)return;let{width:t,height:n}=e.getBoundingClientRect();ue.current={width:t,height:n}});let ze=j.Children.map(ye?S:x,e=>{if(!j.isValidElement(e))return e;let t=e.props;return j.cloneElement(e,{range:J,onDragEnd:(e,n)=>{t.onDragEnd?.(e,n),je(e)}})});return(0,M.jsxs)(Ge,{...W,onPointerDown:K.onPointerDown,onPointerMove:K.onPointerMove,onPointerUp:K.onPointerUp,onKeyDown:U?void 0:e=>{ge.handleKey(e)&&(e.preventDefault(),e.stopPropagation())},children:[ae?.kind===`move`&&!ae.drop.copy&&ke&&!c.isEqualRanges(ae.to,ae.from)&&Br(ke,ae.from,void 0,!1,`move-source`),(0,M.jsxs)(M.Fragment,ye?{children:[we.map((e,t)=>(0,M.jsx)(j.Fragment,{children:Br(Te,e)},`other-${t}`)),Br(Te,J,re?Ce:void 0),(0,M.jsx)(tn,{className:`anchor`,range:Ce,...Y})]}:{children:[Br(Te,J,re?Ce:void 0),p&&(0,M.jsx)(tn,{className:`anchor`,range:Ce,...p})]}),!ye&&C&&(0,M.jsx)(En,{className:`move-grip`,range:J,grip:`edges`,dragCursor:O,renderMove:({range:e,info:t})=>{let n=Ae(e,t);return n.insert?(0,M.jsx)(nn,{range:n.to,axis:n.insert,...Oe,color:(n.refused?De:void 0)??Oe.color}):Te.border&&(0,M.jsx)(tn,{className:`move-ghost`,range:n.to,...Te.border,stroke:(n.refused?De:void 0)??Te.border.stroke,animatedTransition:!0,style:{opacity:.6}})},onEdgeDoubleClick:B,onDragStart:(e,t,n,r)=>{let i=Ae(e,n);T?.(e,t,i,r),se.current=Rr(null,i.to),ce.current=n.grab,oe({kind:`move`,from:e,to:i.to,drop:i})},onDragMove:(e,t,n)=>{let r=Ae(e,n);E?.(J,r.to,t,r),se.current=Rr(se.current,r.to),oe({kind:`move`,from:J,to:r.to,drop:r})},onDragStateChange:e=>{e||(D?.(),oe(null))},onDragEnd:(e,t,r)=>{let i=Ae(e,r);i.refused||(w?.(J,i.to,t,i),n.modify({rowIndex:i.to.rowEnd,colIndex:i.to.colEnd},{rowIndex:i.to.rowStart,colIndex:i.to.colStart}))}}),!ye&&k&&(0,M.jsx)(Pn,{range:J,snapDestination:A,...Te.border,onDragStart:(e,t,n)=>{P?.(e,t,n),oe({kind:`fill`,template:e,destination:e})},onDragMove:(e,t)=>{F?.(J,e,t),oe({kind:`fill`,template:J,destination:e})},onDragEnd:(e,t)=>{N?.(J,e,t),je(e)},onMenu:L?(e,t,n)=>{L(J,e,t,n)}:void 0,onDragDone:()=>{I?.(),oe(null)},onDoubleClick:R?(e,t)=>{let n=R(e);n&&!c.isEqualRanges(n,e)&&(N?.(e,n,t),je(n))}:void 0}),K.removePreview&&Br(Ee,K.removePreview,void 0,!1,`remove-preview`),ze,te&&(0,M.jsx)(Kt,{name:`selection-gesture`,active:Pe!==null,anchor:{range:Le.range},placement:ne??Le.placement,offset:Pe?.kind===`fill`?void 0:4,alignOffset:Pe?.kind===`fill`?void 0:2,glide:Re,children:(Z=Fe,Z==null||!1===Z||Z===``?Fe:(0,M.jsx)(`span`,{ref:le,style:Fr,children:Fe}))})]});var Z});zr.displayName=`SelectionLayer`;var Br=(e,t,n,r=!1,i=`range`)=>(0,M.jsxs)(M.Fragment,{children:[e.fill&&(0,M.jsx)(tn,{className:`${i} fill`,animatedTransition:r,range:t,hole:n,...e.fill}),e.inner&&(0,M.jsx)(tn,{className:`${i} inner`,animatedTransition:r,range:t,...e.inner}),e.border&&(0,M.jsx)(tn,{className:`${i} border`,animatedTransition:r,range:t,...e.border})]}),Vr=[`#1a73e8`,`#d93025`,`#1e8e3e`,`#9334e6`,`#e37400`,`#12a4af`,`#d01884`],Hr=Array.from({length:7},(e,t)=>`var(--sxl-color-series-${t+1}, ${Vr[t]})`),Ur=`var(--sxl-color-primary, rgb(0, 120, 215))`,Wr=(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))}),Gr=e=>({stroke:Hr.length?Hr[e%Hr.length]:Ur}),Kr=e=>{let{selection:t,getRangeStyle:n=Gr,anchors:r=On,enabledMove:i,disableDraw:o,allowMulti:s=!0,size:l,animated:u,renderHandle:d,preserveFocus:f=!0,onDragActiveChange:p,rangeStyle:m=a.EmptyObject,className:h,...g}=e,v=X(),y=_(t,e=>e.getSelection()),b=y.ranges??c.EmptyRanges,x=Math.min(Math.max(0,y.rangeIndex??b.length-1),Math.max(0,b.length-1)),[S,C]=(0,j.useState)(null),[w,T]=(0,j.useState)(null),[E,D]=(0,j.useState)(!1),O=w!==null||E,k=(0,j.useRef)(p);k.current=p,(0,j.useEffect)(()=>{k.current?.(O,w)},[O,w]),(0,j.useEffect)(()=>()=>{k.current?.(!1,null)},[]);let A=w??S,N=(e,t)=>C(n=>t?e:n===e?null:n),P=(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})},F=e=>{let n=t.getSelection();(n.rangeIndex??-1)!==e&&t.setSelection({...n,rangeIndex:e})},I=fn((e,t)=>{if(t.button!==0)return null;let n=(y.rangeIndex??-1)>=0?y.rangeIndex:-1;if(t.shiftKey&&n>=0&&b[n]){let t={rowIndex:b[n].rowStart,colIndex:b[n].colStart};return D(!0),P(n,Wr(t,e,v.getTotalRange())),{drag:e=>P(n,Wr(t,e,v.getTotalRange())),end:()=>D(!1),captureEvents:!1}}let r=(!t.ctrlKey&&!t.metaKey||!s)&&n>=0?n:b.length;return D(!0),P(r,c.cellToRange(e)),{drag:t=>P(r,Wr(e,t,v.getTotalRange())),end:()=>D(!1),captureEvents:!1}}),L=b.map((e,t)=>n(t,t===x)),R=[];for(let e=0;e<L.length;e++)L[e]&&R.push(e);return(0,M.jsxs)(Ge,{...g,children:[(!o||E)&&(0,M.jsx)(Ye,{fill:!0,className:W(h,`ranges-picker-draw`),style:{touchAction:`none`},onPointerDown:e=>{e.stopPropagation(),f&&e.preventDefault(),I.onPointerDown(e)},onPointerMove:I.onPointerMove,onPointerUp:e=>{e.stopPropagation(),I.onPointerUp(e)}}),i&&R.map(e=>(0,M.jsx)(En,{range:b[e],grip:`edges`,preserveFocus:f,onHoverChange:t=>N(e,t),onDragStateChange:t=>{t&&F(e),T(t?e:null)},onDragMove:t=>P(e,t),onDragEnd:t=>P(e,t)},`move-${e}`)),R.map(e=>{let t=e===x,n=e===A,i=((e,t,n)=>{let r=e.stroke??m.stroke??Ur;return{...m,...e,stroke:r,fill:e.fill??m.fill??`color-mix(in srgb, ${r} 12%, transparent)`,alignWidth:n?3:e.alignWidth??m.alignWidth??2,...u&&t?{animatedStroke:!0}:void 0}})(L[e],t,n);return(0,M.jsx)(An,{range:b[e],anchors:r,size:l,...i,renderHandle:d,preserveFocus:f,onHandleHoverChange:t=>N(e,t),onDragMove:t=>P(e,t),onDragStart:()=>{F(e),T(e)},onDragEnd:t=>{T(null),P(e,t)}},`resize-${e}`)})]})};Kr.displayName=`RangesPickerLayer`;var qr=0,Jr=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:++qr}}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())}},Yr=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,Xr=(e,t)=>{let n=(0,j.useRef)(null);return(0,j.useLayoutEffect)(()=>{let t=n.current;t!==null&&(n.current=null,e.current?.setSelectionRange(t,t))},[t]),S(e=>{n.current=e},[])},Zr=(e,t)=>{if(e.which===x.Enter&&t.ctrlKey)return t.shiftKey?{arrayFixed:!0}:{broadcast:!0}},Qr=e=>{let{mode:t,value:n,onDirtyChange:r,onModeChange:i,onCommit:a,onCancel:o,onNavigate:c,onTraverse:u,setCaret:d}=e;return S(e=>{let f=e.nativeEvent;if(f.isComposing)return void e.stopPropagation();if(e.which===x.Escape)return e.preventDefault(),e.stopPropagation(),void o();if(!(e.which!==x.F2||f.altKey||f.metaKey||f.ctrlKey||f.shiftKey))return e.preventDefault(),e.stopPropagation(),void i(t===`edit`?`enter`:`edit`);if(e.which===x.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===x.Left||e.which===x.Right||e.which===x.Up||e.which===x.Down;if(p&&t===`edit`)return void e.stopPropagation();if(e.which===x.Enter||e.which===x.Tab||p&&t===`enter`){e.preventDefault();let t=Zr(e,f),n=a(t);if(!1===n||t)return void e.stopPropagation();let r=e.which===x.Enter||e.which===x.Tab,i=e.which===x.Tab?s.Row:s.Column,o=e.shiftKey,d=r?null:(e=>{switch(e.which){case x.Enter:return e.shiftKey?l.Up:l.Down;case x.Tab:return e.shiftKey?l.Left:l.Right;case x.Up:return l.Up;case x.Left:return l.Left;case x.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!==x.Insert||!m&&!f.shiftKey)&&e.which!==x.Delete&&e.which!==x.BackSpace&&(t!==`edit`||e.which!==x.Home&&e.which!==x.End&&e.which!==x.PageUp&&e.which!==x.PageDown)||e.stopPropagation()},[t,n,a,o,i,r,c,u,d])},$r=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 Jr({...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())}},ei=(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}},ti=`header-divider`,ni=`ew-resize`,ri=`ns-resize`,ii=`var(--sxl-color-base-100, #f5f5f5)`,ai=`var(--sxl-color-primary, rgb(33, 115, 70))`,oi=(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`}),si=(e,t)=>(0,M.jsx)(`div`,{className:`header-divider-handle`,style:{...oi(e,t,6,16),pointerEvents:`none`,border:`1px solid var(--sxl-color-neutral, grey)`,background:ii}}),ci=(0,j.memo)(e=>{let{isColumn:t,lineOffset:n,onUnhide:r}=e,[i,a]=(0,j.useState)(!1),o=i?ii:ai;return(0,M.jsx)(`div`,{className:`header-divider-unhide`,role:`button`,style:{...oi(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 ${ai}`,background:i?ai:ii},onPointerEnter:()=>a(!0),onPointerLeave:()=>a(!1),onPointerDown:e=>{e.stopPropagation(),e.preventDefault()},onDoubleClick:e=>e.stopPropagation(),onClick:e=>{e.stopPropagation(),r()},children:(0,M.jsx)(`svg`,{width:t?14:6,height:t?6:14,viewBox:t?`0 0 14 6`:`0 0 6 14`,fill:o,children:(0,M.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`})})})});ci.displayName=`UnhideButton`;var li=(0,j.memo)((0,j.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:g,onAutoFit:_,onUnhide:v,isActive:y=!1,onPointerEnter:b,onPointerLeave:x,pane:S,...C}=e,w=n===s.Column,[T,E]=(0,j.useState)(null),D=T===r,O=1/d.getDevicePixelRatio(),A=f||p,N=A?`color-mix(in srgb, var(--sxl-color-primary, rgb(33, 115, 70)) 35%, var(--sxl-color-base-300, rgb(171, 171, 171)))`:`var(--sxl-color-base-300, rgb(171, 171, 171))`,P=`var(--sxl-color-base-100, #f5f5f5)`,F=k()===`touch`,I=w?14:8,L=S.getZoom();L<1&&(I=Math.max(2,I*L*.8));let R=I/2,z=0;l&&(z=-2),u&&(z=2),u&&(I=I/2+z,R=2*z);let B=A||z!==0?`linear-gradient(${N}, ${N})`:`linear-gradient(${w?180:90}deg, ${P}, ${N} 55%, ${N} 100%)`;return(0,M.jsxs)(`div`,{className:W(ti,{disabled:o},i,`index-${r}`),ref:t,onPointerDown:F?void 0:g,onDoubleClick:F?void 0:()=>_?.(),onPointerEnter:e=>{E(r),b?.(e)},onPointerLeave:e=>{E(null),x?.(e)},style:{position:`absolute`,left:w?h.x-I/2+z:h.x,top:w?h.y:h.y-I/2+z,width:w?I:h.width,height:w?h.height:I,backgroundImage:B,backgroundSize:w?`${O}px 100%`:`100% ${O}px`,backgroundPosition:w?`${R}px 0`:`0 ${R}px`,backgroundRepeat:`no-repeat`,pointerEvents:`auto`,cursor:o||c||F?void 0:w?ni:ri,...a},...C,children:[!D&&!y||F||o||c?null:v?(0,M.jsx)(ci,{isColumn:w,lineOffset:R,onUnhide:()=>{E(null),v()}}):si(w,R),m&&F?(0,M.jsx)(`div`,{style:{position:`absolute`,cursor:`grab`,touchAction:`none`,zIndex:1,borderRadius:`4px`,right:w?`-6px`:`2px`,bottom:w?`2px`:`-9px`,height:`24px`,width:w?`24px`:`18px`,maxHeight:w?`calc(100% - 4px)`:void 0,maxWidth:w?void 0:`calc(100% - 4px)`,background:P,border:`1px solid var(--sxl-color-base-300, rgb(171, 171, 171))`,boxShadow:`0.5px 0.5px 0px 0px var(--sxl-color-base-content, rgba(0,0,0,0.87))`,display:`flex`,alignItems:`center`,justifyContent:`center`},onPointerDown:g,children:(0,M.jsx)(`div`,{style:{width:`6.4px`,height:`12px`,backgroundImage:`url("data:image/svg+xml,%3Csvg width='6.4' height='12' viewBox='0 0 9.6 16' version='1.1' fill='rgb(128%2C128%2C128)' 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")`,backgroundRepeat:`no-repeat`,backgroundPosition:`center`,transform:w?void 0:`rotate(90deg)`}})}):null]})})),ui=e=>(0,M.jsx)(li,{...e}),di=(0,j.memo)((0,j.forwardRef)((e,t)=>{let{axis:n,index:r,disabled:i=!1,disabledResize:a=!1,resizeThreshold:o=1,renderDivider:c=ui,onDividerMouseDown:l,onDividerResizeStart:u,onDividerResize:p,onDividerResizeEnd:m,onDividerMouseUp:h,onDividerAutoFit:g,onDividerUnhide:_,onPointerDown:v,visibleBounds:y,...b}=e,x=X(),C=S(v,[v]),w=S(g,[g]),T=n===s.Column,D=y===void 0?fi(x,n):y,O=(0,j.useRef)(null),[k,A]=(0,j.useState)(null),P=(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=f({processTouch:!0,onPointerDown:e=>{if(C?.(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:p,onDividerResizeEnd:m,onDividerMouseUp:h},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+P(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=P(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()}}),ee=S(()=>{w?.(r)},[r]),{getPortalContainer:V}=E();if(!D)return;let H=c({bounds:T?{x:z,y:D.y,width:0,height:D.height-1}:{x:D.x,y:z,width:D.width-1,height:0},axis:n,index:r,disabled:i,disabledResize:a,onAutoFit:ee,onUnhide:_&&b.isHidden?()=>_(r):void 0,isActive:k?.index===r,onPointerDown:B,ref:t,pane:x,...b});if(!H)return;let te=null;return k&&k.isResizing&&k.index===r&&(te=(0,N.createPortal)((0,M.jsx)(`div`,{style:{position:`absolute`,cursor:T?ni:ri,left:0,top:0,width:`100%`,height:`100%`}}),V(),`divider:`+r)),(0,M.jsxs)(M.Fragment,{children:[te,H]})}));di.displayName=`HeaderDividerAnchor`;var fi=(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)},pi=(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}},mi=e=>{let{axis:t,disabled:n,isOwner:r}=e,i=X(),a=t===s.Column,o=S(e.onFreezeDragStart,[e.onFreezeDragStart]),c=S(e.onFreezeDrag,[e.onFreezeDrag]),l=S(e.onFreezeDragEnd,[e.onFreezeDragEnd]),u=S(e.onFreezeDragCancel,[e.onFreezeDragCancel]),d=S(e.onActiveChange,[e.onActiveChange]),[p,m]=(0,j.useState)(!1),[h,g]=(0,j.useState)(!1),_=(0,j.useRef)(null),v=(e,t)=>a?pi(i,!0,e.clientX,t.clientY):pi(i,!1,e.clientY,t.clientX),y=f({processTouch:!0,onPointerDown:e=>{if(e.stopPropagation(),e.preventDefault(),n)return!1;_.current={isDragging:!1}},onPointerMoveOrWait:(e,t,n)=>{let r=_.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,g(!0),o?.(v(e,n));return}c?.(v(e,n))}},onPointerUp:(e,t,n)=>{let r=_.current;_.current=null,r?.isDragging&&(g(!1),l?.(v(e,n)))}});(0,j.useEffect)(()=>{if(!h)return;let e=e=>{e.key===`Escape`&&(e.preventDefault(),e.stopPropagation(),_.current=null,g(!1),u?.())};return window.addEventListener(`keydown`,e,{capture:!0}),()=>window.removeEventListener(`keydown`,e,{capture:!0})},[h]);let b=r&&!n&&(p||h);(0,j.useEffect)(()=>{r||m(!1)},[r]),(0,j.useEffect)(()=>{if(b)return d?.(!0),()=>d?.(!1)},[b]);let{getPortalContainer:x}=E(),C=a?`col-resize`:`row-resize`,w=h?(0,N.createPortal)((0,M.jsx)(`div`,{style:{position:`absolute`,cursor:C,left:0,top:0,width:`100%`,height:`100%`}}),x(),`freeze-grip`):null;return{isActive:b,cursor:C,hitProps:{onPointerDown:n?void 0:y,onPointerEnter:()=>m(!0),onPointerLeave:()=>m(!1)},backdrop:w}},hi=(0,j.memo)(e=>{let{axis:t,disabled:n=!1,highlight:r=!1,onFreezeDragStart:i,onFreezeDrag:a,onFreezeDragEnd:c,onFreezeDragCancel:l,onActiveChange:u}=e,d=X(),f=t===s.Column,p=f?o.Left:o.Top,m=!!d.getAllPanes()[p],h=m?d.getAnchor()===p:d===U(d.getAllPanes()),{isActive:g,cursor:_,hitProps:v,backdrop:y}=mi({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-neutral, grey)`;return(0,M.jsxs)(M.Fragment,{children:[y,(0,M.jsx)(`div`,{className:`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,M.jsx)(R,{className:`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`}})]})});hi.displayName=`HeaderFreezeAnchor`;var gi=(0,j.memo)(e=>{let{axis:t,disabled:n=!1,onFreezeDragStart:r,onFreezeDrag:i,onFreezeDragEnd:a,onFreezeDragCancel:c,onActiveChange:l}=e,u=X(),d=t===s.Column,f=u.getAnchor(),p=f===o.TopLeft||f===(d?o.Left:o.Top),{cursor:m,hitProps:h,backdrop:g}=mi({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,M.jsxs)(M.Fragment,{children:[g,(0,M.jsx)(`div`,{className:`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}})]})});gi.displayName=`GridFreezeAnchor`;var _i=(e,t,n)=>t===s.Column?{rowIndex:n.rowStart,colIndex:e.colIndex}:{rowIndex:e.rowIndex,colIndex:n.colStart},vi=(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)},yi=(e,t,n)=>{let r=typeof t==`function`?t:()=>t,i=null,a=null,o=0,l=()=>U(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=vi(i??e,e,t,r),f=a??_i(e,t,l().getVisibleRange());s?d(o,c,f):u(c,f,`replace`)};return un(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=_i(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,vi(i,t,g,_),a??T)):(i=t,a=T,o=D||s<0?r.length:s,d(o,vi(t,t,g,_),T))}else E&&i?u(vi(i,t,g,_),a??T,`replace`):D?(i=t,a=T,u(vi(t,t,g,_),T,`append`)):(i=t,a=T,u(vi(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}})},bi=(e,t)=>{let n=X(),r=S(()=>n,[n]),i=(0,j.useRef)(t);i.current=t;let a=(0,j.useMemo)(()=>yi(e,r,()=>i.current),[e,r]);return(0,j.useEffect)(()=>()=>a.dispose(),[a]),{onPointerDown:a.onPointerDown,onPointerMove:a.onPointerMove,onPointerUp:a.onPointerUp}},xi=e=>e==null?[]:Array.isArray(e)?e:[e],Si=(0,j.memo)((0,j.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=F({rowCount:n,columnCount:r,getRowHeight:i,getColumnWidth:a}),y=o??v,[b,x]=(0,j.useReducer)(e=>e+1,0),S=(0,j.useMemo)(()=>({}),[b]),C=(0,j.useCallback)(e=>{x()},[]),T=w(t,()=>({invalidate:C}),[C]),E=(0,j.useMemo)(()=>{let e=[];return!1!==l&&e.push((0,M.jsx)(ar,{showGridLines:l,gridLineColor:u,propsRows:d,propsColumns:f,getVisibleCells:p,hiddenCellAt:m},`__gridlines`)),e.push(...xi(h)),e.push(...xi(c)),s&&e.push((0,M.jsx)(Yn,{renderCell:s,getVisibleCells:p,hiddenCellAt:m,cacheToken:S},`__cells`)),e.push(...xi(g)),e.push((0,M.jsx)($t,{},`__range-tooltips`)),e},[l,u,d,f,p,m,h,c,s,S,g]);return(0,M.jsx)(Xt,{children:(0,M.jsx)(ke,{ref:T,..._,rowCount:n,columnCount:r,metrics:y,children:E})})}));function Ci(e,t){if(typeof e==`function`)return e(t);e&&(e.current=t)}Si.displayName=`Grid`;var wi=parseInt(j.version.split(`.`)[0],10)>=19?function(e){return t=>{let n=[];for(let r of e){let e=Ci(r,t),i=typeof e==`function`;n.push(i?e:()=>Ci(r,null))}return()=>{for(let e of n)e()}}}:function(e){return t=>{for(let n of e)Ci(n,t)}},Ti,Ei={fill:{fill:`color-mix(in srgb, var(--sxl-color-primary, rgb(0, 120, 215)) 14%, transparent)`},border:null,inner:null},Di={stroke:`var(--sxl-color-primary, rgb(0, 120, 215))`,alignWidth:1,inset:1},Oi=(0,j.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:f,cacheToken:p,className:m,style:h,children:g,...y}=e,b=(0,j.useMemo)(()=>new A,[]),x=f??b,S=_(x,e=>e.getMetrics()),w=u===`auto`?S.totalHeight>S.height:u,T=(0,j.useRef)(null);(0,j.useEffect)(()=>{l&&T.current?.focus()},[l]),(0,j.useEffect)(()=>{if(!d)return;let e=!1,t=0,n=()=>{!e&&x.isReady()&&(e=!0,t=requestAnimationFrame(()=>{T.current?.scrollCellCoordsIntoView({rowIndex:d.row})}))};n();let r=e?null:x.subscribe(n);return()=>{e=!0,t&&cancelAnimationFrame(t),r?.()}},[d,x]);let E=(0,j.useMemo)(()=>new sr({getBounds:()=>({rowStart:0,colStart:0,rowEnd:Math.max(0,n-1),colEnd:0})}),[n]),D=s??E,[O,{width:k}]=C(),[N,{width:P}]=C(),I=P>0&&k>0?Math.max(0,P-k):0,L=(0,j.useMemo)(()=>wi(R),R=[N,t]);var R;let z=F({rowCount:n,columnCount:1,getRowHeight:a,getColumnWidth:k||o||S.width||0});return(0,M.jsx)(`div`,{ref:L,className:W(`list-surface`,m),style:{position:`relative`,overflow:`hidden`,height:n*a,maxWidth:`100%`,maxHeight:`100%`,...h,...o==null?null:{width:o+I}},...y,children:(0,M.jsx)(v,{viewport:x,showVerticalScrollbar:w,showHorizontalScrollbar:!1,style:{width:`100%`,height:`100%`},children:(0,M.jsx)(`div`,{ref:O,style:{width:`100%`,height:`100%`},children:(0,M.jsxs)(ke,{ref:T,viewport:x,style:{width:`100%`,height:`100%`},rowCount:n,columnCount:1,metrics:z,children:[(0,M.jsx)(zr,{selection:D,anchorHole:!1,singleStyle:Ei,singleAnchorStyle:Di,multiAnchorStyle:Di},`__selection`),(0,M.jsx)(Yn,{renderCell:r,getVisibleCells:i,cacheToken:p},`__cells`),c?(0,M.jsx)(Ge,{...c},`__taps`):null]})})})})}),ki=(0,j.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=w(t,()=>({isList:()=>!0}),[]),g=(0,j.useCallback)(e=>{let{key:t,style:n,range:i,cell:a}=e,o=i?.rowStart??a.rowIndex;return(0,M.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,j.useMemo)(()=>o?{onKeyDown:o}:void 0,[o]);return(0,M.jsx)(Oi,{ref:h,className:W(`list`,d),style:f,itemCount:n,itemHeight:i,selection:a,renderCell:g,propsLayer:_,cacheToken:s,scrollTo:c,autoFocus:l,viewport:u,...m})}),Ai=({checked:e,indeterminate:t})=>(0,M.jsx)(`input`,{type:`checkbox`,checked:e,ref:e=>{e&&(e.indeterminate=!!t)},readOnly:!0,tabIndex:-1,style:{margin:0}}),ji=(0,j.forwardRef)(function(e,t){let{itemCount:n,isChecked:r,isIndeterminate:i,onCheckedChange:a,renderValue:o,renderCheckbox:s=Ai,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,j.useRef)(n);x.current=n;let C=(0,j.useMemo)(()=>new sr({getBounds:()=>({rowStart:0,colStart:0,rowEnd:Math.max(0,x.current-1),colEnd:0})}),[]),T=p??C;(0,j.useEffect)(()=>{n!==0&&T.getSelection().cell.rowIndex>=n&&T.setSelection({cell:{rowIndex:n-1,colIndex:0}})},[T,n]);let E=S(()=>{if(n===0)return;let e=!r(T.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]})(T),e)},[T,n,r,a]),D=(0,j.useRef)(null),[,O]=(0,j.useReducer)(e=>e+1,0),k=S(()=>n===0?-1:T.getSelection().cell.rowIndex,[T,n]),A=S(e=>{if(n===0)return;let t=Math.min(Math.max(0,T.getSelection().cell.rowIndex+e),n-1);T.setSelection({cell:{rowIndex:t,colIndex:0}}),D.current={row:t},O()},[T,n]),N=w(t,()=>({isCheckboxList:()=>!0,getHighlightIndex:k,moveHighlight:A,toggleHighlighted:E}),[k,A,E]),P=(0,j.useCallback)(e=>(0,M.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,M.jsx)(`div`,{style:{display:`inline-flex`,pointerEvents:`none`},children:s({checked:r(e),indeterminate:i?.(e)})}),(0,M.jsx)(`div`,{style:{overflow:`hidden`,textOverflow:`ellipsis`,flex:1,minWidth:0},children:o(e)})]}),[r,i,a,o,s]),F=(0,j.useCallback)(e=>{e.key===` `&&(e.preventDefault(),e.stopPropagation(),E())},[E]),{allChecked:I,someChecked:L}=(0,j.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,M.jsxs)(`div`,{ref:N,className:W(`checkbox-list`,_),style:{display:`flex`,flexDirection:`column`,minHeight:0,...v},...b,children:[l!=null&&(0,M.jsxs)(M.Fragment,{children:[(0,M.jsxs)(`div`,{role:`checkbox`,"aria-checked":L?`mixed`:I,"aria-label":u,title:u,...d,className:W(`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,M.jsx)(`div`,{style:{display:`inline-flex`,pointerEvents:`none`},children:s({checked:I,indeterminate:L})}),l]}),c?.()]}),(0,M.jsx)(ki,{itemCount:n,itemHeight:f,selection:T,renderItem:P,onKeyDown:F,cacheToken:m,scrollTo:D.current,autoFocus:h,viewport:g,style:{flex:`1 1 auto`,minHeight:0}})]})}),Mi=(e,t)=>{let n=(()=>{if(Ti!==void 0)return Ti;try{Ti=(typeof document<`u`?document.createElement(`canvas`).getContext(`2d`):null)??null}catch{Ti=null}return Ti})();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},Ni=(e,t)=>t<=0?-1:Math.min(Math.max(0,e),t-1),Pi=(0,j.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,_=Ni(i??0,g),v=(0,j.useMemo)(()=>new sr({initial:{cell:{rowIndex:Math.max(0,_),colIndex:0}},getBounds:()=>({rowStart:0,colStart:0,rowEnd:Math.max(0,g-1),colEnd:0})}),[n,_,g]),y=(0,j.useRef)(null),[,b]=(0,j.useReducer)(e=>e+1,0),C=(0,j.useMemo)(()=>(y.current=null,_>=0?{row:_}:null),[n,_]),T=y.current??C,E=S(e=>!(e<0||e>=g)&&(r?.(e,n[e]),!0),[r,n,g]),D=S(()=>g===0?-1:v.getSelection().cell.rowIndex,[v,g]),O=S(e=>{if(g===0)return;let t=Ni(v.getSelection().cell.rowIndex+e,g);v.setSelection({cell:{rowIndex:t,colIndex:0}}),y.current={row:t},b()},[v,g]),k=w(t,()=>({isPickList:()=>!0,getHighlightIndex:D,moveHighlight:O,chooseHighlighted:()=>E(D())}),[D,O,E]),A=(0,j.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=>Mi(t,e)},[c,p]),N=(0,j.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,j.useCallback)(e=>{let{key:t,style:r,range:i,cell:a}=e,o=i?.rowStart??a.rowIndex,s=n[o];return s?(0,M.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,M.jsx)(`span`,{style:{overflow:`hidden`,textOverflow:`ellipsis`},children:s.text||`\xA0`})},t):null},[n,l]),F=(0,j.useMemo)(()=>({onPointerUp:e=>{e.button===0&&E(D())},onKeyDown:e=>{e.which!==x.Enter&&e.which!==x.Space||(e.preventDefault(),e.stopPropagation(),E(D()))}}),[E,D]);return(0,M.jsx)(Oi,{ref:k,className:W(`pick-list`,f),role:`listbox`,style:{maxHeight:o*a,...p},itemCount:g,itemHeight:a,contentWidth:N,selection:v,renderCell:P,propsLayer:F,scrollTo:T,viewport:d,autoFocus:u,cacheToken:n,...h})}),Fi=`_field_q34pi_8`,Ii=`_search_q34pi_28`,Li=`_icon_q34pi_47`,Ri=`_clear_q34pi_56`,zi=`_row_q34pi_84`,Bi=(e,t)=>{let n=t.trim().toLowerCase();return n?e.filter(e=>e.text.toLowerCase().includes(n)):e},Vi=e=>(0,M.jsxs)(`svg`,{className:e.className,viewBox:`0 0 16 16`,"aria-hidden":`true`,focusable:`false`,children:[(0,M.jsx)(`circle`,{cx:`6.5`,cy:`6.5`,r:`4.5`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.5`}),(0,M.jsx)(`line`,{x1:`10`,y1:`10`,x2:`14`,y2:`14`,stroke:`currentColor`,strokeWidth:`1.5`,strokeLinecap:`round`})]}),Hi=(0,j.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,j.useCallback)(e=>{if(e.which===x.Escape)return e.preventDefault(),e.stopPropagation(),void(n?r(``):i?.());l?.(e)},[n,r,i,l]),p=(0,M.jsxs)(`div`,{className:W(Fi,`list-search-field`,u),children:[o??(0,M.jsx)(Vi,{className:Li}),(0,M.jsx)(`input`,{ref:t,type:`text`,role:`searchbox`,autoComplete:`off`,spellCheck:!1,className:W(Ii,`list-search`),value:n,onChange:e=>r(e.target.value),onKeyDown:f,...d}),n?(0,M.jsx)(`button`,{type:`button`,className:W(Ri,`list-search-clear`),"aria-label":a,title:a,tabIndex:-1,onMouseDown:e=>e.preventDefault(),onClick:()=>r(``),children:(0,M.jsx)(`svg`,{viewBox:`0 0 16 16`,"aria-hidden":`true`,focusable:`false`,children:(0,M.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,M.jsxs)(`div`,{className:W(zi,`list-search-row`),children:[s,p,c]})}),Ui={light:{},dark:{"color-base-100":`#1e1e1e`,"color-base-300":`#3a3a3a`}},Wi={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`}},Gi=({app:e,grid:t=Ui,header:n=Wi,layer:r=`sxl-defaults`,scope:i}={})=>{let a=e??O,o=Object.fromEntries(Object.keys(n).map(e=>[e,{"color-base-100":a[e]?.[`color-base-200`],...n[e]}]));return b({...e?{app:e}:{},surfaces:{grid:t,header:o},layer:r,scope:i})};export{Rn as $,Ue as A,Bi as B,zr as C,hn as D,ke as E,di as F,We as G,Jn as H,U as I,zt as J,Ve as K,In as L,Tr as M,bi as N,Ln as O,Ye as P,Ht as Q,hi as R,ji as S,Hr as T,Vt as U,Kr as V,Kt as W,fi as X,Ge as Y,Z,tn as _,wt as a,Gi as b,ei as c,Yr as d,$t as f,Xt as g,Gr as h,De as i,R as j,gi as k,tr as l,Xr as m,Y as n,$r as o,Hi as p,L as q,Qr as r,mn as s,Yn as t,Vi as u,X as v,Pi as w,bt as x,jt as y,He as z};
@@ -1,2 +0,0 @@
1
- import{I as e,Z as t,_ as n,u as r,y as i}from"./ChSvXfVMLxZsP9zG.js";import{a}from"./DcrVJCyDwGKeil2U.js";import{I as o,Rt as s,T as c,w as l}from"./DuYb_otrRZZDq6-f.js";import{R as u,Xn as d,cn as f,h as p,jt as m,ma as h,ni as g}from"./A_-Jwzwmm3lkcm2f.js";var _=class extends m{constructor(e){super(e),this._optionsMember=e}getParent(){return this._optionsMovable.getParent()}getRange(e){return this.getParent().getRange(e)}getRanges(e){return this.getParent().getRanges(e)}isDeleted(){return!!super.isDeleted()||((this._optionsMovable?.getParent?.())?.isDeleted()??!1)}getAnchorType(){return u.Type.Absolute}setAnchorType(e){return this}_getLocalPlacement(){let e=this._getState(),t=e?.pixelBounds;return t?{bounds:t,rotation:e.rotation??0,flip:{horizontal:e.flipH??!1,vertical:e.flipV??!1}}:null}_getDrawnPlacement(){let e=this._getLocalPlacement();return e?this._optionsMember.place(e):null}getBounds(){return this._getDrawnPlacement()?.bounds??null}getRotation(){return this._getDrawnPlacement()?.rotation??0}getFlip(){return this._getDrawnPlacement()?.flip??{horizontal:!1,vertical:!1}}setRotation(e=0){let n=this._acceptRotation(e);if(n===null)return this;e=n;let r=this._getDrawnPlacement();if(!r||e===r.rotation)return this;let i=this._optionsMember.unplace({...r,rotation:e});if(!i)return this;let a=t(`op.setMovableRotation`),o=this._beginCommit(a);try{this._updateState({rotation:i.rotation,pixelBounds:i.bounds},{description:a},[`onBoundsChange`]),this._optionsMember.onMemberPlacementChange?.(),this._notifyPlacementChange(),o.commit()}catch(e){throw o.rollback(),e}return this}setFlip(e,n){let r=this._getDrawnPlacement();if(!r)return this;let i=this._acceptFlip({horizontal:e.horizontal??r.flip.horizontal,vertical:e.vertical??r.flip.vertical});if(!i)return this;let{horizontal:a,vertical:o}=i;if(a===r.flip.horizontal&&o===r.flip.vertical)return this;let s=this._optionsMember.unplace({...r,flip:{horizontal:a,vertical:o}});if(!s)return this;let c=n?.description??t(`op.setMovableFlip`),l=this._beginCommit(c);try{this._updateState({flipH:s.flip.horizontal,flipV:s.flip.vertical},{description:c}),this._notifyPlacementChange(),l.commit()}catch(e){throw l.rollback(),e}return this}_getAnchorBounds(){let e=this._getDrawnPlacement();return e?l(e.bounds,e.rotation):null}_setAnchorBounds(e){let n=this._getDrawnPlacement();if(!n)return;let r=this._optionsMember.unplace({...n,bounds:l(e,n.rotation)});if(!r)return;let i=this._getLocalPlacement();i&&s.isSameBounds(i.bounds,r.bounds)||(this._updateState({pixelBounds:r.bounds},{description:t(`op.updateMovableBounds`)},[`onBoundsChange`]),this._optionsMember.onMemberPlacementChange?.())}_processContainerLayout(){this._getEmitter().notify(`onBoundsChange`),this._forwardLayout()}_fromJSON(n){let r=n.anchor?.tl??e.EmptyObject,i=n.anchor?.br??e.EmptyObject;this._updateState({offsets:{tl:{x:0,y:0},br:{x:0,y:0}},hidden:n.hidden??!1,rotation:n.rotation??0,flipH:n.flipH??!1,flipV:n.flipV??!1,lockAspectRatio:n.lockAspect??null,locks:n.locks??null,anchorType:u.Type.Absolute,pixelBounds:{x:r.x??0,y:r.y??0,width:i.x??0,height:i.y??0}},{description:t(`op.loadMovable`)})}_getAnchorJSON(){let t=this._getState()?.pixelBounds??{x:0,y:0,width:0,height:0},n=t=>e.roundAccurately(t,2);return{tl:{x:n(t.x),y:n(t.y)},br:{x:n(t.width),y:n(t.height)}}}toJSON(e){let t=super.toJSON(e);return delete t.anchorType,t}},v=class extends d{constructor(e,t){super(t),this._group=e}_getItems(e){let t=this._group._getMembers(),n=e?.type,r=n===void 0?null:Array.isArray(n)?n:[n],i=[];for(let n of t){if(e?.ignoreHidden&&n.isHidden())continue;r&&!r.includes(n.getContent().getType())||i.push(n);let t=e?.deep?n.getMovables():null;t&&i.push(...t.getItems(e))}return i}getCount(){return this._group._getMembers().length}add(e){if(!e)throw new r(`No movable options provided`);return this._group._addMember(e)}_prepare(e){if(!e)throw new r(`No movable options provided`);return this._group._prepareMember(e)}_preparePicture(e,n){let i=this._group.getMovable();if(!i)throw new r(`The group is not placed.`);let a=i.getRange().getWorksheet().getResources().add(e);return this._group._prepareMember({description:t(`op.insertImage`),...n,type:`picture`,json:{...n?.json,resId:0},fromResourceId:()=>a})}_insertNow(e){return this._group._insertMember(e)}async addPicture(e,t){return this._insertNow(await this._preparePicture(e,t))}group(e,t){return this._group._groupMembers(e,t)}updateSelected(e,n){let r=this._group._getMembers().filter(e=>e.isSelected());r.length!==0&&this._group.doBatch(()=>{for(let t of r)e(t)},{description:n??t(`op.updateMovables`)})}_notifyChange(){this._notifyCollectionChange()}get isIMovableCollection(){return!0}},y=e=>e,b=e=>e,x=Object.freeze([]),S=class extends a{constructor(e){super(e),this._memberCallbacks=new WeakMap,this._toldOrder=C,this._createOptions=e,this._members=new v(this,e.transactions);let{members:t,name:n,...r}=e.json??{},i=[];for(let n of t??[])try{i.push(this._createMember(n,e.fromResourceId))}catch(e){console.warn(`Unable to load a group member`,n,e)}this._updateState({data:r,members:i}),this._toldOrder=i}getType(){return`group`}getTypeDescription(){return`Group`}getMovables(){return this._members}_childBounds(){let e=this._getState()?.data?.childBounds;if(e)return e;let t=this.getMovable()?.getBounds();return{x:0,y:0,width:t?.width??0,height:t?.height??0}}_rebound(){let e=this.getMovable(),t=this._drawnPlacement();if(!e||!t)return;let n=[];for(let e of this._members_()){let t=e._getLocalPlacement();t&&n.push(l(t.bounds,t.rotation))}let r=s.unionBounds(n);if(!r)return;let i=this._childBounds();if(s.isSameBounds(r,i))return;let a=i.width>0?t.bounds.width/i.width:1,o=i.height>0?t.bounds.height/i.height:1,c=s.placeInParent(t,i,s.flatPlacement({x:r.x+r.width/2,y:r.y+r.height/2,width:0,height:0})).bounds,u=r.width*a,d=r.height*o,f=this._getState();this._updateState({data:{...f.data,childBounds:r}}),e.setBounds({x:c.x-u/2,y:c.y-d/2,width:u,height:d})}_drawnPlacement(){let e=this.getMovable();return e?s.placementOf(e):null}getFill(){return this._getState()?.data?.fill??null}getTextFrame(){let e=this._getMembers(),t=!1,n=[];for(let r of e){let e=r.getContent().getTextFrame?.()??null;if(!e)continue;t=!0;let i=e.getText();i!==``&&n.push(i)}if(!t)return null;let r=n.join(`
2
- `);return Object.freeze({getText:()=>r})}get acceptRotation(){return this._isEveryMember(`acceptRotation`)?y:void 0}get acceptFlip(){return this._isEveryMember(`acceptFlip`)?b:void 0}_isEveryMember(e){let t=this._members_();for(let n=0;n<t.length;n++)if(!t[n].getContent()[e])return!1;return!0}async ungroup(e){let n=this.getMovable();if(!n||this.isDeleted())return[];let r=e?.description??t(`op.ungroupDrawings`);this._protectionCheck(r);let i=n.getRange().getWorksheet(),a=h(i.getView().getMovableSelection());return await this.doBatch(()=>{let t=this._free(this._members_(),r);this.delete(e);let n=this._transactions.getPendingTransaction();return n&&f(n,i,t,{autoSelect:e?.autoSelect??!0,autoSelectRestore:e?.autoSelectRestore},a),t},{description:r})}_free(e,t){let n=this.getMovable(),r=n.getParent()?.getMovables()??n.getRange().getWorksheet().getMovables(),i=n.getZIndex(),a=this._createOptions.beginPersistResource();try{return e.map((e,n)=>{let o=e.toJSON(a.toResourceId.bind(a)),c=s.placementOf(e),l=r._insertNow({type:o.content.type,json:o.content.json,name:o.content.name,altText:o.content.description,bounds:c.bounds,rotation:c.rotation,fromResourceId:a.fromResourceId.bind(a),autoSelect:!1,description:t,zIndex:i+n});return(c.flip.horizontal||c.flip.vertical)&&l.setFlip(c.flip),e.isHidden()&&l.setHidden(!0),o.lockAspect!==void 0&&l.setLockAspectRatio(o.lockAspect),l})}finally{a.endPersist()}}getConnections(){return x}toJSON(e){let t={...this._getState()?.data??{}},n=this._members_();return n.length>0&&(t.members=n.map(t=>t.toJSON(e))),t}_getDrawnRect(e,t,n){let r=this._members_();if(r.length===0)return null;let i=s.flatPlacement({x:0,y:0,width:e,height:t}),a=this._childBounds(),l=1/0,u=1/0,d=-1/0,f=-1/0,p=!1;for(let e of r){if(e.isHidden())continue;let t=e._getLocalPlacement();if(!t)continue;let r=s.placeInParent(i,a,t),m=e.getContent(),h=c(m)?m._getDrawnRect(r.bounds.width,r.bounds.height,n):null,g=o(r.bounds,h,r.rotation,r.flip);l=Math.min(l,g.x),u=Math.min(u,g.y),d=Math.max(d,g.x+g.width),f=Math.max(f,g.y+g.height),p=!0}return p?{l,t:u,r:d,b:f}:null}_getMembers(){return this._members_()}_members_(){return this._getState()?.members??C}async _addMember(e){return this._insertMember(await this._prepareMember(e))}async _prepareMember(e){if(!e?.type)throw new r(`A member needs a type.`);return this._protectionCheck(t(`op.insertDrawing`)),await g({type:e.type,json:e.json}),e}_insertMember(e){if(!e?.type)throw new r(`A member needs a type.`);this._protectionCheck(t(`op.insertDrawing`));let n=this._drawnPlacement(),i={...n?.bounds??this._childBounds(),...e.bounds},a=n?s.placeInChild(n,this._childBounds(),{bounds:i,rotation:e.rotation??0,flip:{horizontal:!1,vertical:!1}}):{bounds:i,rotation:e.rotation??0,flip:{horizontal:!1,vertical:!1}},o={anchor:{tl:{x:a.bounds.x,y:a.bounds.y},br:{x:a.bounds.width,y:a.bounds.height}},content:{type:e.type,json:e.json}};e.name&&(o.content.name=e.name);let c=e.altText;c&&(o.content.description=c),a.rotation&&(o.rotation=a.rotation),a.flip.horizontal&&(o.flipH=!0),a.flip.vertical&&(o.flipV=!0);let l=this._beginCommit(e.description??t(`op.insertDrawing`));try{let t=this._createMember(o,e.fromResourceId),n=this._members_().slice();return n.splice(Math.max(0,Math.min(n.length,e.zIndex??n.length)),0,t),this._updateState({members:n}),this._rebound(),l.commit(),this._members._notifyChange(),t}catch(e){throw l.rollback(),e}}async _groupMembers(e,n){let a=n?.description??t(`op.groupDrawings`);if(this._protectionCheck(a),!e||e.length<2)throw new r(i(`error.movable.groupTooFew`));let o=this._members_();for(let t of e)if(!o.includes(t))throw new r(i(`error.movable.groupNotSameGroup`));let c=o.filter(t=>e.includes(t));if(c.length===o.length)throw new r(i(`error.movable.groupWholeGroup`));let u=this.getMovable();if(!u)throw new r(`The group is not placed.`);let d=u.getRange().getWorksheet(),p=h(d.getView().getMovableSelection()),m=s.unionBounds(c.map(e=>{let t=e._getLocalPlacement();return l(t.bounds,t.rotation)})),g=this._createOptions.beginPersistResource();try{let e={anchor:{tl:{x:m.x,y:m.y},br:{x:m.width,y:m.height}},content:{type:`group`,json:{childBounds:{...m},members:c.map(e=>e.toJSON(g.toResourceId.bind(g)))}}};n?.name&&(e.content.name=n.name);let t=this._beginCommit(a);try{for(let e of c)e.unselect();let r=this._createMember(e,g.fromResourceId.bind(g)),i=c[c.length-1],a=[];for(let e of o)e===i?a.push(r):c.includes(e)||a.push(e);this._updateState({members:a});for(let e of c)e.getContent().delete();return this._rebound(),f(t,d,[r],{autoSelect:n?.autoSelect??!0,autoSelectRestore:n?.autoSelectRestore},p),t.commit(),this._members._notifyChange(),r}catch(e){throw t.rollback(),e}}finally{g.endPersist()}}_removeMember(e,n){let r=this._members_();if(!r.includes(e))return;e.unselect();let i=this._beginCommit(n?.description??t(`op.deleteDrawing`));try{let a=r.filter(t=>t!==e);if(this._updateState({members:a}),a.length===1&&this.getMovable()){let e=a[0],r=e.isSelected(),[o]=this._free(a,n?.description??t(`op.deleteDrawing`));this.delete(n),r&&f(i,o.getRange().getWorksheet(),[o],{autoSelect:!0},[e])}else a.length===0?this.delete(n):this._rebound();i.commit(),this._members._notifyChange()}catch(e){throw i.rollback(),e}}_moveMember(e,t,n){let r=this._members_(),i=r.indexOf(e);if(i===-1||(t=Math.max(0,Math.min(r.length-1,t)))===i)return;this._protectionCheck(n);let a=r.slice();a.splice(i,1),a.splice(t,0,e),this._updateState({members:a},{description:n}),this._members._notifyChange()}_createMember(e,r){let i=this,a=e.content?.type??`custom`,o=this._createOptions,c,l={type:a,transactions:o.transactions,beginPersistResource:o.beginPersistResource,fromResourceId:r,json:e.content?.json,name:e.content?.name??null,description:e.content?.description??null,isReadOnly:()=>i.isReadOnly(),deleteFromContainer:()=>{c?._deleteFromContent()},getMovable:()=>c,getStyles:o.getStyles,getRange:o.getRange,addWatch:o.addWatch},u=p(a,l,{getMovable:()=>c,amend:e=>i._amend(e),isClosed:()=>i._closed}),d=()=>i.getMovable(),f=()=>i._members_().indexOf(c),m;return c=new _({content:u,json:e,transactions:o.transactions,beginPersistResource:o.beginPersistResource,fromResourceId:r,getParent:d,onMemberPlacementChange:()=>i._rebound(),place:e=>{let t=i._drawnPlacement();return t?s.placeInParent(t,i._childBounds(),e):null},unplace:e=>{let t=i._drawnPlacement();return t?s.placeInChild(t,i._childBounds(),e):null},coords:n.EmptyRange,getRanges:e=>d().getRanges(),getContainerIndex:f,getZIndex:f,getBoundsAtCoords:()=>({x:0,y:0,width:0,height:0}),getCoordsAtBounds:()=>n.EmptyRange,isProtected:()=>i.isReadOnly(),moveToBackOnContainer:()=>i._moveMember(c,0,t(`op.moveToBack`)),moveBackwardOnContainer:()=>i._moveMember(c,f()-1,t(`op.moveBackwards`)),moveForwardOnContainer:()=>i._moveMember(c,f()+1,t(`op.moveForward`)),moveToFrontOnContainer:()=>i._moveMember(c,i._members_().length-1,t(`op.moveToFront`)),deleteFromContainer:e=>i._removeMember(c,e),setContainerCallbacks:e=>{e&&(m={...m,...e}),c&&m&&i._memberCallbacks.set(c,m)},invalidate:()=>{i._members._notifyChange()}}),m&&this._memberCallbacks.set(c,m),c}_tellZIndex(){let e=this._members_(),t=this._toldOrder;if(e!==t){this._toldOrder=e;for(let n=0;n<e.length;n++){let r=e[n];t[n]!==r&&this._memberCallbacks.get(r)?.processZIndex?.()}}}_amend(e){let t=this._transactions;return t.amend(t.getCurrentCommit(!1).getId(),()=>e())}_processAfterStateChange(e,t){super._processAfterStateChange(e,t),this._tellZIndex(),this._emitter.notify(`onAnyChange`),this._members?._notifyChange(),this.getMovable()?._forwardLayout()}get isIGroup(){return!0}get[Symbol.toStringTag](){return`[Group]`}toString(){return this.getTypeDescription()}},C=Object.freeze([]);export{S as Group};