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

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 (193) hide show
  1. package/assets/{BieAybaOdneMdvBS.js → -NFft0E2Wj6WH3X9.js} +1 -1
  2. package/assets/{Bp9zuG6P6r9GEb6G.js → 0ewqK5X66DZmbhVR.js} +1 -1
  3. package/assets/{Dc2LiflUYpt0nVVk.js → 1bSTbCnkTWvsV82p.js} +4 -4
  4. package/assets/{DMDx0fX8tHKH0DdL.js → 4-DOIpV6Hjaymwy7.js} +2 -2
  5. package/assets/{BKc7zTK6ZIhcD_Wu.js → 69EXDk0YRdjdM86i.js} +1 -1
  6. package/assets/{DNwyEanz3LqtOorY.js → 8wMcuw3b1CFk-D5A.js} +1 -1
  7. package/assets/{IDq3QQa5uRqjVJx_.js → AGdlSbOsXWO1oZAE.js} +1 -1
  8. package/assets/{C9eaFlFi_4GmymzP.js → B1l0k4ErELObdQKE.js} +40 -40
  9. package/assets/{CrULZhDt8uE-MR2s.js → B4Z_YneQya9mUTN5.js} +1 -1
  10. package/assets/{eV0oowKJe44NBnWj.js → B8NDzDM0Gpwmkylq.js} +1 -1
  11. package/assets/{CoOIn2wx6je_rMDO.js → B8URptQcztz4DRvS.js} +23 -23
  12. package/assets/{D--emvI048MvLsXl.js → BABP2ffkRrOs7_Ym.js} +1 -1
  13. package/assets/{C7oUg84aGjYrJUc6.js → BAqvmoeYqG6dwX3I.js} +2 -2
  14. package/assets/{CgIHqG1qp9n1Gwm7.js → BC2Y5XPkMBKS6jQX.js} +274 -270
  15. package/assets/{rtUwIBgECTX9UO_B.js → BEOwJnsyIuMC4SaI.js} +4 -4
  16. package/assets/{Bg8EN9R3hbeNfFyU.js → BJo3edG_rqch-Kw2.js} +52 -52
  17. package/assets/{DnDTldUjKy0O586y.js → BM9zwvBRXNbO_uD-.js} +2 -2
  18. package/assets/{YG5hEr6CzWNmNJQ2.js → BMkhJwKP7goV0vlJ.js} +1 -1
  19. package/assets/{BYYbglFmasE5PrS2.js → BRiLNigzVwOBIxBy.js} +1 -1
  20. package/assets/{DV_nCOON8Fgq5RBt.js → BU7t2vK3_DH_BbMd.js} +2 -2
  21. package/assets/{C9wXzrhl0dwqZgJ6.js → BVDaUnmVOSaDw9e3.js} +1 -1
  22. package/assets/{DndzARNYtmumqGnG.js → BWqKV3QuZX31WPsa.js} +1 -1
  23. package/assets/{C0MAjW1vgsw6o0fx.js → BZJvWc-5DdAyHXFk.js} +1 -1
  24. package/assets/{PMBjuoD2MpG87dao.js → B_RppF41PrYlelc_.js} +1 -1
  25. package/assets/{mYZ9Z5AKCn7zltHw.js → B_n6s7Kj4_5BWn1q.js} +2 -2
  26. package/assets/{Dv9ZDmKuxn2tQDGb.js → Bagfe_VVU6NyQNS6.js} +1 -1
  27. package/assets/{DcwqgbgqPyzQxSsQ.js → BbsMdXiRzPW9BCEK.js} +1 -1
  28. package/assets/{C46dyA4YSP1-iTSN.js → BeMLPoHRWacCbpl2.js} +1 -1
  29. package/assets/{BHiZ3GtGCWUWwHqY.js → BneTvtEMcBoSiQnw.js} +3 -3
  30. package/assets/{klKXcdZmbQmsK2rt.js → BrgptoFtJepXL46Z.js} +1 -1
  31. package/assets/{CbTKUrroY9PQ6eTu.js → BtiRDaBbNpPpKelt.js} +3 -3
  32. package/assets/{Dsjx528shW3GcGpD.js → BtjG4s0StUieGI5b.js} +3 -3
  33. package/assets/{CW2Ca6tsd0aLTz88.js → C0pbMKm0FzhOek9r.js} +1 -1
  34. package/assets/{DALP-GkmzCJdFIV9.js → C1ZP9W2tiVQUwLqZ.js} +1 -1
  35. package/assets/{YGYD-116vlZfzPn1.js → C1xe-BzKWT17OO8a.js} +15 -15
  36. package/assets/{BJYl-kvBtcnMVP8W.js → C27330XswujHKrLu.js} +1 -1
  37. package/assets/{C3BZQ5NFwAU_ZdeQ.js → C2YOx4ianxuIIeMP.js} +1 -1
  38. package/assets/{B4ii9PGvnlYkSX2q.js → C8huq6_Gvbeyf6Zy.js} +2 -2
  39. package/assets/{C9aV1SF8uCWIB4zU.js → CB9TsE5n0FEyFnAz.js} +15 -15
  40. package/assets/{BBm3Xjnehvx2fYj8.js → CBTQ8dknYY7RVQgL.js} +8 -8
  41. package/assets/{nV0eE4R3npcOHLbx.js → CBqpH_MpBSmQRaGE.js} +1 -1
  42. package/assets/{swG-DVTsez1uNW8c.js → CC2hfzradb2KOvtU.js} +1 -1
  43. package/assets/{93ksqLKL1o40anfw.js → CDKZI2IIZ9boo7zG.js} +1 -1
  44. package/assets/{I7LAF1nLmYqQwt9i.js → CDYMLTHkkpRV9igv.js} +1 -1
  45. package/assets/{DwsoGIyPuoQij_vi.js → CL348305B-kpRYzz.js} +1 -1
  46. package/assets/{CaI562iJKKOoMw8p.js → CLT0k5UJYPmi8ked.js} +1 -1
  47. package/assets/{DsSlUklPSAsh9DhW.js → CME1jbwnNlBD66aW.js} +312 -312
  48. package/assets/{DjH6ckvISyssOSit.js → CPmMYI4DPQcXrZ-g.js} +1 -1
  49. package/assets/{Co_ZOyp4mKmSfh0A.js → CSd5XfU4JBASIwTI.js} +1 -1
  50. package/assets/{DzLrAy24em5k5en0.js → CTLGMulzw-oFbgHy.js} +3 -3
  51. package/assets/{Dx_IFz5FEPKw-HC1.js → CVlsdN5C8QL-Kljv.js} +1 -1
  52. package/assets/{CTGfmocA1WgM0_e0.js → CXb2mlCk1s1VFPHU.js} +536 -536
  53. package/assets/{LugZP3XHNnoiiTJO.js → CZ5v2vTWktJ7qAj1.js} +1 -1
  54. package/assets/{Cheq-qaVWm7EaIlQ.js → CcaH1FoDC8o3dzqp.js} +1 -1
  55. package/assets/{CyYbUk6pGr3NIBsy.js → Cg05U6rbXUnaz0rA.js} +30 -30
  56. package/assets/{BEq2PSZQN7VV19RQ.js → ChpUbgXIWuQFoXyL.js} +1 -1
  57. package/assets/{Ti7kMsQ-Eo3lkfIh.js → ChwSFUzi5mMzUwdW.js} +6 -6
  58. package/assets/{C9w-KoMwxvouC73F.js → CkGQV_x1SpyzePln.js} +221 -217
  59. package/assets/{BMH_wtFTiRj43c69.js → CmUz8bVbJgWVT-OB.js} +2 -2
  60. package/assets/{CpfpXfCqzZumY4pf.js → CpLUgqgBDtlfFRj3.js} +1 -1
  61. package/assets/{NiD8iNE47sjggYTx.js → CrLDmJU84Dbwl6DZ.js} +1 -1
  62. package/assets/{Dlbgs8csKymbxu7r.js → CudjOMo6X7FRW6ME.js} +1 -1
  63. package/assets/{DBfBV-tvRxCLgdvs.js → CzQ2o7qoMm0K7KSb.js} +4 -4
  64. package/assets/{wYvkLI8IeHaWTtAx.js → D-INtJnS1lCrEs8s.js} +68 -68
  65. package/assets/{DYRis8fOyk2uIZ-1.js → D1HLIgumuUqrSyYB.js} +4 -4
  66. package/assets/{Z1zwOeCe-JTLgkxf.js → D2XmpdMAe0SAuQWo.js} +53 -53
  67. package/assets/{BkhWR4P1Evw_VP5z.js → D3RuKyCyAzvT0bGL.js} +1 -1
  68. package/assets/{CrRJqUPbvvhnp4p4.js → D5mfuGSeGXSDHj9-.js} +1 -1
  69. package/assets/{uMoGfJGab8mZX6eN.js → D7WSYqvuwNQjOIuO.js} +1 -1
  70. package/assets/{B-7inN76S1zUWSAt.js → D9F0224gK4j4Iuq9.js} +1 -1
  71. package/assets/{CpLTCQemd_cJ4yFu.js → DBgOeiZg40MS63pB.js} +8 -8
  72. package/assets/{TdK2ciXA5BAlGjbR.js → DG3hKZ75iK2wrCcz.js} +1 -1
  73. package/assets/{BGlx7_eRiv47Hu9C.js → DITcEcZJ58z5yOx7.js} +1 -1
  74. package/assets/{noAnElnMhF05bfJN.js → DO86fHS3WYzHN_Rv.js} +1 -1
  75. package/assets/{Cm2WENwEZ0KMyF--.js → DO9RVxvm9vQh8A_j.js} +2 -2
  76. package/assets/{B5UmlawoCVwHHM_e.js → DOYXEbY_WslpyqXW.js} +5 -5
  77. package/assets/{DPUXpIzEs1t-jBiv.js → DP-m2vK0GTaYqQZM.js} +1 -1
  78. package/assets/{u-pSumbU-rgT6eLF.js → DRiAktGToP73uwgm.js} +224 -224
  79. package/assets/{q57cDvIPcIvWlh5T.js → DRqBWzdn9KKN68o8.js} +11 -11
  80. package/assets/{Drmg3-gF0VJs4Yx3.js → DX0znk3xZmL1AyX8.js} +1 -1
  81. package/assets/{BGQ1GrnQ-X16GU8k.js → Deu2acNFlgo__Mcd.js} +2 -2
  82. package/assets/{DSy6cpdU-KNWsbSj.js → DjCHmGw-ixoQ6ZTA.js} +2 -2
  83. package/assets/{CyOyY32LLW-Pj_L7.js → DjbBTiei0H-BIJaN.js} +1 -1
  84. package/assets/{B5yaBbFj2Np9Eh8b.js → DmJc5VoPPwBBtLIG.js} +1 -1
  85. package/assets/{Bndiqwoh132Upow1.js → DnQM29yv6KQQOVfl.js} +2 -2
  86. package/assets/{D4lMEKXi13vhDJbE.js → Dnn8laImZHy8LouL.js} +1 -1
  87. package/assets/{uoUKT9hTrwZ2INHN.js → DpgBOcByebrqzUrC.js} +3 -3
  88. package/assets/{MpvZt7VpFWEINIT6.js → DqxW6EBLDV_6Eegk.js} +1 -1
  89. package/assets/DrgkN0g7OHuD4iD6.js +14 -0
  90. package/assets/{_LMcVYWJksPfGVxz.js → DsK1Adz0vo-1zPkp.js} +1 -1
  91. package/assets/{CDvP9QyhDwdm3MZn.js → Dt5rA9gefJFLoaeI.js} +2 -2
  92. package/assets/{CUJiePMri5kkpdA7.js → DuCNecyIYfZL27SV.js} +1 -1
  93. package/assets/{hcXZqO-0tG873E-L.js → DwqgvpYiTLOQd5wm.js} +2 -2
  94. package/assets/{yDh_W6M1rvuDhFv1.js → Dzxe5kLF5GOfh0_l.js} +1 -1
  95. package/assets/{tCavNu-Tru6yRbec.js → FOKynZCiA0wU2Spf.js} +1 -1
  96. package/assets/{DsWJ-YRyuwDUuSge.js → H1ICg_-K5ADFNHJj.js} +1 -1
  97. package/assets/{eWHWPRWHX6YU8bJU.js → H89MX09YsAj7NAk3.js} +1 -1
  98. package/assets/{Xkr_4WLwk0ZPaYH2.js → I-GZ5PL9n_Sv5yAJ.js} +1 -1
  99. package/assets/{DvRH46hupHUjkc7a.js → IEmEQHg895CUpAQq.js} +1 -1
  100. package/assets/{B6J8XN1FRN00a_ps.js → I_yb1hhLA5bYPpWx.js} +1 -1
  101. package/assets/{DAVN6N3srI1WMHCN.js → KQGPPHM486XPeClF.js} +2 -2
  102. package/assets/{4Qlx8FuxoYbVTgNW.js → KSE7OWDMxhbfYt82.js} +21 -21
  103. package/assets/{ltqqdJxoPnLCjhBV.js → M62BqR7TbmgOzAEW.js} +3 -3
  104. package/assets/{ndBoGVVjmy3vkff8.js → NEzc406_2k2MuiE3.js} +2 -2
  105. package/assets/{CDmri0gcZxpVZfWn.js → Q2j8yQZX1kL_MbbB.js} +425 -425
  106. package/assets/{BVdH9-49M3APSiPy.js → QMCI00ZCedkNJd8C.js} +1 -1
  107. package/assets/{DIntlX_ha_wRdxYj.js → RFPO1vKnkkgwx5Bs.js} +1 -1
  108. package/assets/{BghxJxTwaebNVcIS.js → VcTnn2qw_4tmyctb.js} +1 -1
  109. package/assets/{DTXRsv2Ww7WbIwCb.js → Vo34QvIefEN595xl.js} +8645 -8636
  110. package/assets/{Cirpx81bWi4G2foA.js → _l84VPWmScznS-9F.js} +5 -5
  111. package/assets/{CLFe9HgUi_83dE3d.js → _oaPA65Bm2idKW7f.js} +1 -1
  112. package/assets/{DZ2Njh8YgfXcv7EM.js → bpjLDXWxL6nDt4Mv.js} +1 -1
  113. package/assets/{8FzS1bgbz4U1QE_m.js → fUmGsmpgGhd8eZn2.js} +1 -1
  114. package/assets/{C9JUgNS6CrdgIcW3.js → pg0OaBJVRnW7uSz5.js} +1 -1
  115. package/assets/{BItblzoSm0lN3bTV.js → rIQ1pzaGFqvCfzOk.js} +1 -1
  116. package/assets/{-qQT-DFFz0CqGx5C.js → raa4clZOm0L5A0zR.js} +503 -503
  117. package/assets/{CaOEaghQqXiA1ZzO.js → rejXA2fTAujW3QRv.js} +251 -251
  118. package/assets/{DMMw2v0iTuBnUjMI.js → rhT64BvdSLOEwglQ.js} +1 -1
  119. package/assets/{BmmIukrNOivfENgD.js → vItpZkDtFsjwsJzb.js} +35 -35
  120. package/assets/{4Za9gEGCvms62R7k.js → vXmCJwJaPhkPVhy8.js} +1 -1
  121. package/index.js +1766 -1703
  122. package/lib.js +1 -1
  123. package/licenses/dependencies.txt +32 -32
  124. package/package.json +2 -2
  125. package/screenshot-page/assets/{BLPyKyNun9-SHQBZ.js → 1s5we6Eqz8n3o0X_.js} +1 -1
  126. package/screenshot-page/assets/9WplgXo__vp3e1Su.js +2 -0
  127. package/screenshot-page/assets/B2oadmu_j6WfNbZ1.js +1 -0
  128. package/screenshot-page/assets/{BOjOE9CEMSzcij2W.js → B5ujsbfF1ZBkPI4d.js} +2 -2
  129. package/screenshot-page/assets/BEzCH6tp_dlxe7BH.js +1 -0
  130. package/screenshot-page/assets/BJvuevnsIw3DXQds.js +2 -0
  131. package/screenshot-page/assets/BLON9pILfrgdZqAM.js +5 -0
  132. package/screenshot-page/assets/BVx7CEdRItIR30Fz.js +1 -0
  133. package/screenshot-page/assets/{Dkr-6Z1RJsAp9Xrv.js → Bdt92xZzFotX0vdt.js} +1 -1
  134. package/screenshot-page/assets/{DKWRl8rs3K9jBYtr.js → Ble2ESZnJzZnd3cc.js} +1 -1
  135. package/screenshot-page/assets/{BUO6zT3gqK0uOOa-.js → Blg5f-jAtZfGnZ71.js} +1 -1
  136. package/screenshot-page/assets/{XiUItCqTNNEApgfa.js → Bozva6Wr4B8Q5QZN.js} +2 -2
  137. package/screenshot-page/assets/{C0AbuMHcIS9oy4XL.js → Brp37MPC60tt9V3N.js} +1 -1
  138. package/screenshot-page/assets/{Bh2PQ0zsoGtMKWp1.js → Bs65RHirk11sxOB9.js} +4 -4
  139. package/screenshot-page/assets/{H_hWDMWfWmjTui7V.js → BtydzT-AjL_LBr8x.js} +1 -1
  140. package/screenshot-page/assets/Bu5h0ACtvNxDBmqw.js +1 -0
  141. package/screenshot-page/assets/BwFvwFIcX0dmcBt7.js +1 -0
  142. package/screenshot-page/assets/C0rOvlmOfLDpClJ_.js +1 -0
  143. package/screenshot-page/assets/{C4v6Ljs6kwQJu06t.js → CBuH_YHDn7A9E_hX.js} +2 -2
  144. package/screenshot-page/assets/CHZ1925OpIa8ssZn.js +1 -0
  145. package/screenshot-page/assets/{BuzI4z8RJGOw8BZD.js → CN3dPtUjDVvcnA4e.js} +1 -1
  146. package/screenshot-page/assets/COO3CwHTbCgxybBd.js +1 -0
  147. package/screenshot-page/assets/CR8Rj_GpSbIqbaEO.js +13 -0
  148. package/screenshot-page/assets/CV9T0juyAiRmwTR-.js +4 -0
  149. package/screenshot-page/assets/ClC7zkHPp6egPrjL.js +2 -0
  150. package/screenshot-page/assets/{BZpFWPd0PR1kPT-A.js → CtS8qZB4_3skg_zL.js} +1 -1
  151. package/screenshot-page/assets/{BaCs7lUeZ7NidSkP.js → CwutTi2EnNm_hyVj.js} +1 -1
  152. package/screenshot-page/assets/{FjOiReLnknWbsRRr.js → CxithxkenssFkfTT.js} +19 -19
  153. package/screenshot-page/assets/{BWtLNVUXjY6EBdEt.js → CzZu7Fd_VeHHL-4i.js} +1 -1
  154. package/screenshot-page/assets/CzijGQrSoteeqwmH.js +2 -0
  155. package/screenshot-page/assets/{RutPv2GFWmeBiWvn.js → D4VgxwLDPUfCxPS9.js} +2 -2
  156. package/screenshot-page/assets/DG6q1MKITeSM4XMx.js +1 -0
  157. package/screenshot-page/assets/DHTXoT_pArB1opyI.js +48 -0
  158. package/screenshot-page/assets/{B9kA0vdaFJi9iRGo.js → DHUomRu_S2zcBWwt.js} +3 -3
  159. package/screenshot-page/assets/DP2wwd1IM_gQtEaG.js +1 -0
  160. package/screenshot-page/assets/{Bf9AN5sYHaxae0vV.js → DQeIWKasFD3DnWL7.js} +6 -6
  161. package/screenshot-page/assets/Ja-xcEStEdmh2Gwb.js +2 -0
  162. package/screenshot-page/assets/ODq-dKb9mTtqEIJl.js +1 -0
  163. package/screenshot-page/assets/VF7dro9jrDEAX6kD.js +3 -0
  164. package/screenshot-page/assets/{CXmrXx6MZ5ApF3co.js → Yz4ksf-M05RGdHO3.js} +1 -1
  165. package/screenshot-page/assets/{BMKiUDjoabO4aG1U.js → Z7Av7oqfaK7wy7Eb.js} +1 -1
  166. package/screenshot-page/assets/{TwKKik-YQENv52LX.js → bdWMVOcMKRI8kCDE.js} +1 -1
  167. package/screenshot-page/assets/{LCjlxIt1dn3smVjX.js → kJwY8fmEeWlAtTAc.js} +1 -1
  168. package/screenshot-page/assets/{BnPHZ_1rjv6kQgsL.js → p9abCAJQdpScjZVK.js} +1 -1
  169. package/screenshot-page/index.html +8 -8
  170. package/types/scripting-api.json +7060 -7060
  171. package/types/scripting.d.ts +8 -0
  172. package/assets/CCl8x9s8Bujsew7W.js +0 -14
  173. package/screenshot-page/assets/1yHlU53ypZZelMPx.js +0 -1
  174. package/screenshot-page/assets/BQ5BNe1adYfpa2OH.js +0 -1
  175. package/screenshot-page/assets/BkhZQsVlVHOiKGTJ.js +0 -1
  176. package/screenshot-page/assets/Bzf_upccQ2ho6mX0.js +0 -13
  177. package/screenshot-page/assets/C7YRL2bVWHPIwzn_.js +0 -1
  178. package/screenshot-page/assets/CImp91jfSuqX0Wz-.js +0 -1
  179. package/screenshot-page/assets/C_vPl50T1L5HWnhv.js +0 -1
  180. package/screenshot-page/assets/Cv-YUArreXqhafcU.js +0 -2
  181. package/screenshot-page/assets/D23_69pojBfIh4nV.js +0 -5
  182. package/screenshot-page/assets/D2q4M3I5Jmxm85P2.js +0 -1
  183. package/screenshot-page/assets/D8QsCbSaWCLAYYso.js +0 -1
  184. package/screenshot-page/assets/DC_Hdwa9KL7xKU8u.js +0 -2
  185. package/screenshot-page/assets/DHtL9Iawmr2Uo5VV.js +0 -2
  186. package/screenshot-page/assets/DNYWB6WNZTquqQ9v.js +0 -4
  187. package/screenshot-page/assets/DegZKTNqt1LRnSxY.js +0 -1
  188. package/screenshot-page/assets/Dhh1xqujbhLa8WFd.js +0 -1
  189. package/screenshot-page/assets/DllI8kZZZ5LG0Mjd.js +0 -2
  190. package/screenshot-page/assets/DrcpGT9FLbDzeLeG.js +0 -2
  191. package/screenshot-page/assets/XrFpPrRqQNE9AAwH.js +0 -1
  192. package/screenshot-page/assets/mBuOPJeUPXlKwfPZ.js +0 -48
  193. package/screenshot-page/assets/zSnM7GhGzLu1MM_u.js +0 -3
@@ -1,2 +1,2 @@
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{Ct as u,Gn as d,Ot as f,U as p,Zr as m,ei as h,ht as g}from"./Bf9AN5sYHaxae0vV.js";var _=class extends p{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 g.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:g.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=f(i.getView().getMovableSelection());return await this.doBatch(()=>{let t=this._free(this._members_(),r);this.delete(e);let n=this._transactions.getPendingTransaction();return n&&h(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 m({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=f(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(),h(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&&h(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},d=u(a,l,{getMovable:()=>c,amend:e=>i._amend(e),isClosed:()=>i._closed}),f=()=>i.getMovable(),p=()=>i._members_().indexOf(c),m;return c=new _({content:d,json:e,transactions:o.transactions,beginPersistResource:o.beginPersistResource,fromResourceId:r,getParent:f,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=>f().getRanges(),getContainerIndex:p,getZIndex:p,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,p()-1,t(`op.moveBackwards`)),moveForwardOnContainer:()=>i._moveMember(c,p()+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};
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{Kn as u,Qr as d,U as f,gt as p,kt as m,ti as h,wt as g}from"./DQeIWKasFD3DnWL7.js";var _=class extends f{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 p.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:p.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 u{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=m(i.getView().getMovableSelection());return await this.doBatch(()=>{let t=this._free(this._members_(),r);this.delete(e);let n=this._transactions.getPendingTransaction();return n&&h(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 d({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(),f=m(d.getView().getMovableSelection()),p=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:p.x,y:p.y},br:{x:p.width,y:p.height}},content:{type:`group`,json:{childBounds:{...p},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(),h(t,d,[r],{autoSelect:n?.autoSelect??!0,autoSelectRestore:n?.autoSelectRestore},f),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&&h(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=g(a,l,{getMovable:()=>c,amend:e=>i._amend(e),isClosed:()=>i._closed}),d=()=>i.getMovable(),f=()=>i._members_().indexOf(c),p;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&&(p={...p,...e}),c&&p&&i._memberCallbacks.set(c,p)},invalidate:()=>{i._members._notifyChange()}}),p&&this._memberCallbacks.set(c,p),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};
@@ -1 +1 @@
1
- import{n as e}from"./CbXtAM7H-Jg_J0dk.js";import{i as t,t as n}from"./-cpi3yOZYn6GsYN4.js";import{F as r}from"./ChSvXfVMLxZsP9zG.js";import{$ as i}from"./D23_69pojBfIh4nV.js";import{q as a}from"./DHtL9Iawmr2Uo5VV.js";import{K as o,Kt as s,X as c,Z as l,h as u}from"./DuYb_otrRZZDq6-f.js";import{r as d}from"./BftXEPOuf5Uwxpud.js";var f=e(t(),1),p=n(),m=e=>{let[t]=a(`movable-drag`,null),n=e?t?.[e.getId()]:void 0,r=n?.bounds??e?.getBounds();return{width:r?.width??0,height:r?.height??0,rotation:n?.rotation??(e?.getRotation()||0),content:n?.content??null}},h=96/72,g=(e,t)=>{if(typeof e!=`string`||!e)return null;try{return(t?t.parseColor(e):new s(e))?.toCSS(`adaptive`)??null}catch{return null}},_=e=>{if(!e)return null;switch(e.type){case o.Type.Solid:return e.color??null;case o.Type.Gradient:{let t=e.stops?.[0];return(typeof t==`string`?t:t?.color)??null}case o.Type.Pattern:return e.foreground??e.background??null;case o.Type.Image:default:return null}},v=e=>Math.max(0,Math.min(1,e??0)),y=e=>{let t=e.stops??[];if(t.length<2)return null;let n=t.length-1,r=[];for(let e=0;e<t.length;e++){let i=t[e],a=typeof i==`string`?i:i?.color;if(!a)return null;let o=typeof i==`object`&&typeof i.offset==`number`?i.offset:e/n;r.push({offset:v(o),color:a})}if(r.sort((e,t)=>e.offset-t.offset),(e.gradientType??o.GradientType.Linear)===o.GradientType.Linear)return{kind:`linear`,angle:(((e.angle??0)-90)%360+360)%360,scaled:e.scaled??!0,stops:r};let i=e.focus,a=v(i?.left),s=v(i?.top),c=v(i?.right),l=v(i?.bottom);if(a>c||s>l)return null;let u=(a+c)/2,d=(s+l)/2,f=Math.max(u,1-u),p=Math.max(d,1-d);return{kind:`radial`,cx:u,cy:d,r:Math.hypot(f,p),stops:r}},b=l.inheritedGroupFill,x=(e,t,n,r)=>{let i=null;try{i=t?.getTheme()?.toJSON()??null}catch{i=null}let a=l.resolve(e,i,r),{stroke:s}=a,u=e=>g(e,t),f=d.toConcreteFill(a.fill,u),p=d.toConcreteFill(s?.fill,u),m=_(p),v=p?.type===o.Type.Gradient?y(p)??void 0:void 0,b=_(f),x=f?.type===o.Type.Gradient?y(f)??void 0:void 0,S;if(f?.type===o.Type.Image){let e=f.resId===void 0?null:n?.(f.resId)??null;e&&(S={resource:e,fill:f})}return{fill:b,gradient:x,image:S,stroke:m,strokeGradient:v,strokeWidth:m?Math.max(0,a.strokeWidth)*h:0,lineJoin:s?.lineJoin??`miter`,lineCap:s?.lineCap??`butt`,miterLimit:typeof s?.miterLimit==`number`?s.miterLimit:18.5,dash:c.toDashLengths(s?.dash),textColor:g(a.fontColor,t)}},S=/[MLQCAZ]|[-+]?(?:\d+\.?\d*|\.\d+)(?:[eE][-+]?\d+)?/g,C={M:1,L:1,Q:2,C:3,A:1,Z:0},w=e=>String(Math.round(1e5*e)/1e5),T=e=>{let t=e.match(S)??[],n=[],r=[],i=[],a={x:0,y:0},o=null,s=0,c=null;for(;s<t.length;){let e=t[s];if(C[e]!==void 0)c=e,s++;else if(c===`M`)c=`L`;else if(c===null||c===`Z`)break;if(c===`Z`){o&&=(r.push({from:a,to:o}),i.push(a),n.push({c,pts:[]}),a=o,null);continue}let l=c===`A`?t.slice(s,s+5):void 0;l&&(s+=5);let u=[];for(let e=0;e<C[c];e++)u.push({x:Number(t[s++]),y:Number(t[s++])});let d=u[u.length-1];if(!d||Number.isNaN(d.x)||Number.isNaN(d.y))break;c===`M`?(o&&i.push(a),o=d,i.push(d)):(c===`L`&&r.push({from:a,to:d}),o||(o=a,i.push(a))),n.push({c,pts:u,arc:l}),a=d}return o&&i.push(a),{cmds:n,straight:r,ends:i}},E=e=>{let t=[];for(let n of e){let e=n.pts.map(e=>`${w(e.x)} ${w(e.y)}`).join(` `);t.push(n.c===`Z`?`Z`:`${n.c}${n.arc?`${n.arc.join(` `)} `:``}${e}`)}return t.join(` `)},D=1e-6,O=(e,t,n,r,a)=>{let o=r?(a-e)*t.zoom:e*t.zoom,s=i.snapLineCenter(o,n,t.dpr);return r?a-s/t.zoom:s/t.zoom},k=(e,t,n)=>{let r=T(e),i=r.ends.map(e=>({x:e.x,y:e.y})),a=n*t.zoom,o=[];for(let e of r.straight){let t=Math.abs(e.to.y-e.from.y)<D;t!==Math.abs(e.to.x-e.from.x)<D&&o.push({seg:e,level:t,at:t?e.from.y:e.from.x})}for(let{seg:e,level:n,at:r}of o)n?e.from.y=e.to.y=O(r,t,a,t.flipV,t.height):e.from.x=e.to.x=O(r,t,a,t.flipH,t.width);let s=[];return r.ends.forEach((e,t)=>{let n={x:e.x-i[t].x,y:e.y-i[t].y};n.x===0&&n.y===0||s.push({at:i[t],by:n})}),{d:E(r.cmds),ends:s}},A=(e,t)=>{if(t.length===0)return e;let n=T(e),r=[],i=null,a=new Set,o=()=>{if(!i)return;let e=null,n=1/0;for(let r of t){let t=Math.hypot(r.at.x-i.x,r.at.y-i.y);t<n&&(e=r,n=t)}for(let t of r)a.has(t)||(a.add(t),t.x+=e.by.x,t.y+=e.by.y);r=[],i=null};for(let e of n.cmds){e.c===`M`&&(o(),i=e.pts[0]);for(let t of e.pts)r.push(t)}return o(),E(n.cmds)},j=new WeakMap,M={filter:`var(--sxl-image-filter)`},N=e=>{let[t,n]=(0,f.useState)(null);return(0,f.useEffect)(()=>{if(!e)return;let t=!0;return(e=>{let t=j.get(e);return t||(t=(async()=>{let t=await e.getExternalURI();if(t)return t;let[n,i]=await Promise.all([e.toBuffer(),e.getType()]);return`data:${i?.mime??`image/png`};base64,${r.arrayBufferToBase64(n)}`})(),j.set(e,t)),t})(e).then(r=>{t&&n({resource:e,url:r})},()=>{}),()=>{t=!1}},[e]),e&&t?.resource===e?t.url:null},P=(e,t,n,r)=>{let i=t.stops.map((e,t)=>(0,p.jsx)(`stop`,{offset:e.offset,stopColor:e.color},t));if(t.kind===`linear`){let a=t.angle*Math.PI/180,o=Math.cos(a),s=Math.sin(a);if(t.scaled){o*=n,s*=r;let e=Math.hypot(o,s)||1;o/=e,s/=e}let c=(Math.abs(n*o)+Math.abs(r*s))/2,l=n/2,u=r/2;return(0,p.jsx)(`linearGradient`,{id:e,gradientUnits:`userSpaceOnUse`,x1:l-c*o,y1:u-c*s,x2:l+c*o,y2:u+c*s,children:i},e)}return(0,p.jsx)(`radialGradient`,{id:e,gradientUnits:`userSpaceOnUse`,cx:t.cx*n,cy:t.cy*n,r:t.r*n,gradientTransform:`scale(1 ${r/n})`,children:i},e)},F=(0,f.memo)(({paths:e,style:t,width:n,height:r,zoom:a,grid:o,hit:s})=>{let c=(0,f.useId)().replace(/[^A-Za-z0-9_-]/g,``),l=N(t.image?.resource??null),d=((e,t,n=1)=>{let r=(t>0?t:1)*(n>0?n:1);return Math.max(1,Math.round(Math.max(0,e||0)*r))/r})(t.strokeWidth,a,o?.dpr??i.getDevicePixelRatio()),m=n>0&&r>0,h=m?t.gradient??null:null,g=m?t.strokeGradient??null:null,_=t.image?l?`url(#${c}-image)`:null:h?`url(#${c}-fill)`:t.fill,v=g?`url(#${c}-stroke)`:t.stroke,y=t.stroke!==null&&d>0,b=y?((e,t,n)=>{if(!(e&&t>0))return;let r=n!==`butt`,i=e.map((e,n)=>{let i=e*t;return r?n%2==0?Math.max(0,i-t):i+t:i});return i.length%2==1&&i.push(r?t:0),i.map(e=>+e.toFixed(3)).join(` `)})(t.dash,d,t.lineCap):void 0,x=(0,f.useMemo)(()=>((e,t,n)=>{let r=new Map;if(!t)return r;let i=new Map,a=[];for(let o of e){if(o.layer!==u.PathLayer.Stroke)continue;let e=i.get(o.d);if(e===void 0){let r=k(o.d,t,n);e=r.d,i.set(o.d,e),a.push(...r.ends)}r.set(o.index,e)}for(let t of e)if(t.layer===u.PathLayer.Fill){let e=i.get(t.d);e!==void 0&&r.set(t.index,e)}else t.layer===u.PathLayer.Marker&&r.set(t.index,A(t.d,a));return r})(e,y?o:null,d),[e,y,o,d]),S=new Set,C=[];for(let n of e){let e=`p${n.index}`,r=x.get(n.index)??n.d;switch(n.layer){case u.PathLayer.Fill:if(_===null)break;n.fill!==`norm`&&S.add(n.fill),C.push((0,p.jsx)(`path`,{d:r,fill:_,filter:n.fill===`norm`?void 0:`url(#${c}-${n.fill})`,stroke:`none`,pointerEvents:s},e));break;case u.PathLayer.Stroke:{if(!y)break;let n=8/(a>0?a:1);s!==`none`&&n>d&&C.push((0,p.jsx)(`path`,{className:`shape-hit`,d:r,fill:`none`,stroke:`transparent`,strokeWidth:n,strokeLinejoin:`round`,strokeLinecap:`round`,pointerEvents:`stroke`},`${e}-hit`)),C.push((0,p.jsx)(`path`,{d:r,fill:`none`,stroke:v,strokeWidth:d,strokeLinejoin:t.lineJoin,strokeLinecap:t.lineCap,strokeMiterlimit:t.lineJoin===`miter`?t.miterLimit:void 0,strokeDasharray:b,pointerEvents:s===`none`?`none`:`visibleStroke`},e));break}case u.PathLayer.Marker:y&&C.push((0,p.jsx)(`path`,{d:r,fill:v,stroke:`none`,pointerEvents:s},e))}}let w=[];for(let e of S){let[t,n]=u.FillTransfer[e];w.push((0,p.jsx)(`filter`,{id:`${c}-${e}`,colorInterpolationFilters:`sRGB`,children:(0,p.jsxs)(`feComponentTransfer`,{children:[(0,p.jsx)(`feFuncR`,{type:`linear`,slope:t,intercept:n}),(0,p.jsx)(`feFuncG`,{type:`linear`,slope:t,intercept:n}),(0,p.jsx)(`feFuncB`,{type:`linear`,slope:t,intercept:n})]})},e))}if(h&&!t.image&&w.push(P(`${c}-fill`,h,n,r)),g&&y&&w.push(P(`${c}-stroke`,g,n,r)),t.image&&l){let e=t.image.fill.stretch??{},i=n*(e.left??0)/100,a=r*(e.top??0)/100,o=Math.max(0,n-i-n*(e.right??0)/100),s=Math.max(0,r-a-r*(e.bottom??0)/100);w.push((0,p.jsx)(`pattern`,{id:`${c}-image`,patternUnits:`userSpaceOnUse`,x:0,y:0,width:Math.max(n,1),height:Math.max(r,1),children:(0,p.jsx)(`image`,{href:l,x:i,y:a,width:o,height:s,preserveAspectRatio:`none`,style:M})},`image`))}return(0,p.jsxs)(p.Fragment,{children:[w.length>0?(0,p.jsx)(`defs`,{children:w}):null,C]})});F.displayName=`PathRun`;var I=(0,f.memo)(({geometry:e,style:t,zoom:n,grid:r=null,hit:i})=>{let a=(0,f.useMemo)(()=>{let t=[];return e.forEachPath(e=>t.push(e)),t},[e]);return(0,p.jsx)(F,{paths:a,style:t,width:e.getWidth(),height:e.getHeight(),zoom:n,grid:r,hit:i})});I.displayName=`ShapePaths`;export{I as i,m as n,x as r,b as t};
1
+ import{n as e}from"./CbXtAM7H-Jg_J0dk.js";import{i as t,t as n}from"./-cpi3yOZYn6GsYN4.js";import{F as r}from"./ChSvXfVMLxZsP9zG.js";import{Q as i}from"./BLON9pILfrgdZqAM.js";import{q as a}from"./ClC7zkHPp6egPrjL.js";import{K as o,Kt as s,X as c,Z as l,h as u}from"./DuYb_otrRZZDq6-f.js";import{r as d}from"./BftXEPOuf5Uwxpud.js";var f=e(t(),1),p=n(),m=e=>{let[t]=a(`movable-drag`,null),n=e?t?.[e.getId()]:void 0,r=n?.bounds??e?.getBounds();return{width:r?.width??0,height:r?.height??0,rotation:n?.rotation??(e?.getRotation()||0),content:n?.content??null}},h=96/72,g=(e,t)=>{if(typeof e!=`string`||!e)return null;try{return(t?t.parseColor(e):new s(e))?.toCSS(`adaptive`)??null}catch{return null}},_=e=>{if(!e)return null;switch(e.type){case o.Type.Solid:return e.color??null;case o.Type.Gradient:{let t=e.stops?.[0];return(typeof t==`string`?t:t?.color)??null}case o.Type.Pattern:return e.foreground??e.background??null;case o.Type.Image:default:return null}},v=e=>Math.max(0,Math.min(1,e??0)),y=e=>{let t=e.stops??[];if(t.length<2)return null;let n=t.length-1,r=[];for(let e=0;e<t.length;e++){let i=t[e],a=typeof i==`string`?i:i?.color;if(!a)return null;let o=typeof i==`object`&&typeof i.offset==`number`?i.offset:e/n;r.push({offset:v(o),color:a})}if(r.sort((e,t)=>e.offset-t.offset),(e.gradientType??o.GradientType.Linear)===o.GradientType.Linear)return{kind:`linear`,angle:(((e.angle??0)-90)%360+360)%360,scaled:e.scaled??!0,stops:r};let i=e.focus,a=v(i?.left),s=v(i?.top),c=v(i?.right),l=v(i?.bottom);if(a>c||s>l)return null;let u=(a+c)/2,d=(s+l)/2,f=Math.max(u,1-u),p=Math.max(d,1-d);return{kind:`radial`,cx:u,cy:d,r:Math.hypot(f,p),stops:r}},b=l.inheritedGroupFill,x=(e,t,n,r)=>{let i=null;try{i=t?.getTheme()?.toJSON()??null}catch{i=null}let a=l.resolve(e,i,r),{stroke:s}=a,u=e=>g(e,t),f=d.toConcreteFill(a.fill,u),p=d.toConcreteFill(s?.fill,u),m=_(p),v=p?.type===o.Type.Gradient?y(p)??void 0:void 0,b=_(f),x=f?.type===o.Type.Gradient?y(f)??void 0:void 0,S;if(f?.type===o.Type.Image){let e=f.resId===void 0?null:n?.(f.resId)??null;e&&(S={resource:e,fill:f})}return{fill:b,gradient:x,image:S,stroke:m,strokeGradient:v,strokeWidth:m?Math.max(0,a.strokeWidth)*h:0,lineJoin:s?.lineJoin??`miter`,lineCap:s?.lineCap??`butt`,miterLimit:typeof s?.miterLimit==`number`?s.miterLimit:18.5,dash:c.toDashLengths(s?.dash),textColor:g(a.fontColor,t)}},S=/[MLQCAZ]|[-+]?(?:\d+\.?\d*|\.\d+)(?:[eE][-+]?\d+)?/g,C={M:1,L:1,Q:2,C:3,A:1,Z:0},w=e=>String(Math.round(1e5*e)/1e5),T=e=>{let t=e.match(S)??[],n=[],r=[],i=[],a={x:0,y:0},o=null,s=0,c=null;for(;s<t.length;){let e=t[s];if(C[e]!==void 0)c=e,s++;else if(c===`M`)c=`L`;else if(c===null||c===`Z`)break;if(c===`Z`){o&&=(r.push({from:a,to:o}),i.push(a),n.push({c,pts:[]}),a=o,null);continue}let l=c===`A`?t.slice(s,s+5):void 0;l&&(s+=5);let u=[];for(let e=0;e<C[c];e++)u.push({x:Number(t[s++]),y:Number(t[s++])});let d=u[u.length-1];if(!d||Number.isNaN(d.x)||Number.isNaN(d.y))break;c===`M`?(o&&i.push(a),o=d,i.push(d)):(c===`L`&&r.push({from:a,to:d}),o||(o=a,i.push(a))),n.push({c,pts:u,arc:l}),a=d}return o&&i.push(a),{cmds:n,straight:r,ends:i}},E=e=>{let t=[];for(let n of e){let e=n.pts.map(e=>`${w(e.x)} ${w(e.y)}`).join(` `);t.push(n.c===`Z`?`Z`:`${n.c}${n.arc?`${n.arc.join(` `)} `:``}${e}`)}return t.join(` `)},D=1e-6,O=(e,t,n,r,a)=>{let o=r?(a-e)*t.zoom:e*t.zoom,s=i.snapLineCenter(o,n,t.dpr);return r?a-s/t.zoom:s/t.zoom},k=(e,t,n)=>{let r=T(e),i=r.ends.map(e=>({x:e.x,y:e.y})),a=n*t.zoom,o=[];for(let e of r.straight){let t=Math.abs(e.to.y-e.from.y)<D;t!==Math.abs(e.to.x-e.from.x)<D&&o.push({seg:e,level:t,at:t?e.from.y:e.from.x})}for(let{seg:e,level:n,at:r}of o)n?e.from.y=e.to.y=O(r,t,a,t.flipV,t.height):e.from.x=e.to.x=O(r,t,a,t.flipH,t.width);let s=[];return r.ends.forEach((e,t)=>{let n={x:e.x-i[t].x,y:e.y-i[t].y};n.x===0&&n.y===0||s.push({at:i[t],by:n})}),{d:E(r.cmds),ends:s}},A=(e,t)=>{if(t.length===0)return e;let n=T(e),r=[],i=null,a=new Set,o=()=>{if(!i)return;let e=null,n=1/0;for(let r of t){let t=Math.hypot(r.at.x-i.x,r.at.y-i.y);t<n&&(e=r,n=t)}for(let t of r)a.has(t)||(a.add(t),t.x+=e.by.x,t.y+=e.by.y);r=[],i=null};for(let e of n.cmds){e.c===`M`&&(o(),i=e.pts[0]);for(let t of e.pts)r.push(t)}return o(),E(n.cmds)},j=new WeakMap,M={filter:`var(--sxl-image-filter)`},N=e=>{let[t,n]=(0,f.useState)(null);return(0,f.useEffect)(()=>{if(!e)return;let t=!0;return(e=>{let t=j.get(e);return t||(t=(async()=>{let t=await e.getExternalURI();if(t)return t;let[n,i]=await Promise.all([e.toBuffer(),e.getType()]);return`data:${i?.mime??`image/png`};base64,${r.arrayBufferToBase64(n)}`})(),j.set(e,t)),t})(e).then(r=>{t&&n({resource:e,url:r})},()=>{}),()=>{t=!1}},[e]),e&&t?.resource===e?t.url:null},P=(e,t,n,r)=>{let i=t.stops.map((e,t)=>(0,p.jsx)(`stop`,{offset:e.offset,stopColor:e.color},t));if(t.kind===`linear`){let a=t.angle*Math.PI/180,o=Math.cos(a),s=Math.sin(a);if(t.scaled){o*=n,s*=r;let e=Math.hypot(o,s)||1;o/=e,s/=e}let c=(Math.abs(n*o)+Math.abs(r*s))/2,l=n/2,u=r/2;return(0,p.jsx)(`linearGradient`,{id:e,gradientUnits:`userSpaceOnUse`,x1:l-c*o,y1:u-c*s,x2:l+c*o,y2:u+c*s,children:i},e)}return(0,p.jsx)(`radialGradient`,{id:e,gradientUnits:`userSpaceOnUse`,cx:t.cx*n,cy:t.cy*n,r:t.r*n,gradientTransform:`scale(1 ${r/n})`,children:i},e)},F=(0,f.memo)(({paths:e,style:t,width:n,height:r,zoom:a,grid:o,hit:s})=>{let c=(0,f.useId)().replace(/[^A-Za-z0-9_-]/g,``),l=N(t.image?.resource??null),d=((e,t,n=1)=>{let r=(t>0?t:1)*(n>0?n:1);return Math.max(1,Math.round(Math.max(0,e||0)*r))/r})(t.strokeWidth,a,o?.dpr??i.getDevicePixelRatio()),m=n>0&&r>0,h=m?t.gradient??null:null,g=m?t.strokeGradient??null:null,_=t.image?l?`url(#${c}-image)`:null:h?`url(#${c}-fill)`:t.fill,v=g?`url(#${c}-stroke)`:t.stroke,y=t.stroke!==null&&d>0,b=y?((e,t,n)=>{if(!(e&&t>0))return;let r=n!==`butt`,i=e.map((e,n)=>{let i=e*t;return r?n%2==0?Math.max(0,i-t):i+t:i});return i.length%2==1&&i.push(r?t:0),i.map(e=>+e.toFixed(3)).join(` `)})(t.dash,d,t.lineCap):void 0,x=(0,f.useMemo)(()=>((e,t,n)=>{let r=new Map;if(!t)return r;let i=new Map,a=[];for(let o of e){if(o.layer!==u.PathLayer.Stroke)continue;let e=i.get(o.d);if(e===void 0){let r=k(o.d,t,n);e=r.d,i.set(o.d,e),a.push(...r.ends)}r.set(o.index,e)}for(let t of e)if(t.layer===u.PathLayer.Fill){let e=i.get(t.d);e!==void 0&&r.set(t.index,e)}else t.layer===u.PathLayer.Marker&&r.set(t.index,A(t.d,a));return r})(e,y?o:null,d),[e,y,o,d]),S=new Set,C=[];for(let n of e){let e=`p${n.index}`,r=x.get(n.index)??n.d;switch(n.layer){case u.PathLayer.Fill:if(_===null)break;n.fill!==`norm`&&S.add(n.fill),C.push((0,p.jsx)(`path`,{d:r,fill:_,filter:n.fill===`norm`?void 0:`url(#${c}-${n.fill})`,stroke:`none`,pointerEvents:s},e));break;case u.PathLayer.Stroke:{if(!y)break;let n=8/(a>0?a:1);s!==`none`&&n>d&&C.push((0,p.jsx)(`path`,{className:`sxl-shape-hit`,d:r,fill:`none`,stroke:`transparent`,strokeWidth:n,strokeLinejoin:`round`,strokeLinecap:`round`,pointerEvents:`stroke`},`${e}-hit`)),C.push((0,p.jsx)(`path`,{d:r,fill:`none`,stroke:v,strokeWidth:d,strokeLinejoin:t.lineJoin,strokeLinecap:t.lineCap,strokeMiterlimit:t.lineJoin===`miter`?t.miterLimit:void 0,strokeDasharray:b,pointerEvents:s===`none`?`none`:`visibleStroke`},e));break}case u.PathLayer.Marker:y&&C.push((0,p.jsx)(`path`,{d:r,fill:v,stroke:`none`,pointerEvents:s},e))}}let w=[];for(let e of S){let[t,n]=u.FillTransfer[e];w.push((0,p.jsx)(`filter`,{id:`${c}-${e}`,colorInterpolationFilters:`sRGB`,children:(0,p.jsxs)(`feComponentTransfer`,{children:[(0,p.jsx)(`feFuncR`,{type:`linear`,slope:t,intercept:n}),(0,p.jsx)(`feFuncG`,{type:`linear`,slope:t,intercept:n}),(0,p.jsx)(`feFuncB`,{type:`linear`,slope:t,intercept:n})]})},e))}if(h&&!t.image&&w.push(P(`${c}-fill`,h,n,r)),g&&y&&w.push(P(`${c}-stroke`,g,n,r)),t.image&&l){let e=t.image.fill.stretch??{},i=n*(e.left??0)/100,a=r*(e.top??0)/100,o=Math.max(0,n-i-n*(e.right??0)/100),s=Math.max(0,r-a-r*(e.bottom??0)/100);w.push((0,p.jsx)(`pattern`,{id:`${c}-image`,patternUnits:`userSpaceOnUse`,x:0,y:0,width:Math.max(n,1),height:Math.max(r,1),children:(0,p.jsx)(`image`,{href:l,x:i,y:a,width:o,height:s,preserveAspectRatio:`none`,style:M})},`image`))}return(0,p.jsxs)(p.Fragment,{children:[w.length>0?(0,p.jsx)(`defs`,{children:w}):null,C]})});F.displayName=`PathRun`;var I=(0,f.memo)(({geometry:e,style:t,zoom:n,grid:r=null,hit:i})=>{let a=(0,f.useMemo)(()=>{let t=[];return e.forEachPath(e=>t.push(e)),t},[e]);return(0,p.jsx)(F,{paths:a,style:t,width:e.getWidth(),height:e.getHeight(),zoom:n,grid:r,hit:i})});I.displayName=`ShapePaths`;export{I as i,m as n,x as r,b as t};