@layers-app/editor 0.7.87 → 0.7.89

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 (222) hide show
  1. package/README.md +831 -831
  2. package/dist/index.cjs +2 -2
  3. package/dist/index.d.ts +1 -1
  4. package/dist/index.js +2 -2
  5. package/dist/{layers.CKNAbcot.js → layers.-N73w-Lw.js} +1 -1
  6. package/dist/{layers.DrrCk4Ln.js → layers.0bV66oTA.js} +1 -1
  7. package/dist/{layers.BIe8Kgwm.js → layers.2rI3QT5b.js} +1 -1
  8. package/dist/{layers.CdSpXqy3.js → layers.4-yUk9Vc.js} +1 -1
  9. package/dist/{layers.CiPHKhAr.js → layers.4O3Zhryd.js} +2 -2
  10. package/dist/{layers.BQzVi8T-.js → layers.6TjND6PU.js} +1 -1
  11. package/dist/{layers.Mcn6zg8Z.js → layers.6VVFDwOR.js} +1 -1
  12. package/dist/{layers.mf7vYaTO.js → layers.B01PCAPb.js} +1 -1
  13. package/dist/{layers.CR9xsFpB.js → layers.B2X5Z8bd.js} +1 -1
  14. package/dist/{layers.BCQaDFTY.js → layers.B2xGiqGD.js} +1 -1
  15. package/dist/{layers.CfL-PorB.js → layers.B4l4ZWr5.js} +1 -1
  16. package/dist/{layers.DRcrl7dJ.js → layers.B7txyJy5.js} +1 -1
  17. package/dist/{layers.tDJ6IpY8.js → layers.B7xBDK44.js} +3 -3
  18. package/dist/{layers.rIjHYj-T.js → layers.BA2zUeaT.js} +1 -1
  19. package/dist/{layers.C7HsM9D3.js → layers.BAfC7t4A.js} +3 -3
  20. package/dist/{layers.B0Qp3emx.js → layers.BBDftatW.js} +1 -1
  21. package/dist/{layers.DFx1KN6R.js → layers.BBnyW5Sf.js} +38 -38
  22. package/dist/{layers.DyAQ4fsQ.js → layers.BDXx8E8x.js} +1 -1
  23. package/dist/{layers.DqbRWgqa.js → layers.BGmhKaxr.js} +1 -1
  24. package/dist/{layers.CK_QmoFa.js → layers.BINHo_FZ.js} +1 -1
  25. package/dist/{layers.Bqml8xa2.js → layers.BMsCqw6V.js} +1 -1
  26. package/dist/layers.BN5exiQr.js +1 -0
  27. package/dist/{layers.CTJ-kBok.js → layers.BO22gHTT.js} +1 -1
  28. package/dist/{layers.DmCqQLTJ.js → layers.BPSmer1u.js} +3 -3
  29. package/dist/{layers.90MBO9ku.js → layers.BQC_h4WC.js} +1 -1
  30. package/dist/{layers.CMeQBGV_.js → layers.BQyAlk36.js} +1 -1
  31. package/dist/layers.BRP5u9DL.js +8 -0
  32. package/dist/{layers.BSeN3EnF.js → layers.BSJQTfOO.js} +1 -1
  33. package/dist/{layers.DQBkpxCy.js → layers.BTe0mkPU.js} +1 -1
  34. package/dist/{layers.xu4ydiLQ.js → layers.BW7_s2eJ.js} +1 -1
  35. package/dist/{layers.CEw2xj5_.js → layers.BZ4UI9tZ.js} +4 -4
  36. package/dist/{layers.BdVJ8os7.js → layers.B_KJV4_w.js} +3 -3
  37. package/dist/{layers.4vhe3L9I.js → layers.BaQWeUl6.js} +1 -1
  38. package/dist/{layers.53v5NUdb.js → layers.BaV5jqjX.js} +1 -1
  39. package/dist/{layers.RW6I02nN.js → layers.BdlF14EQ.js} +4448 -4476
  40. package/dist/{layers.CKHXrB_Q.js → layers.BfIiIqUQ.js} +1 -1
  41. package/dist/{layers.CHWgNDPV.js → layers.BfWwTYRv.js} +1 -1
  42. package/dist/{layers.Bl1prgqn.js → layers.BgU1591h.js} +1 -1
  43. package/dist/{layers.Ceff5TX6.js → layers.Bh6IibzU.js} +4 -4
  44. package/dist/{layers.CSRqOGdw.js → layers.BiBJ4bbl.js} +2 -2
  45. package/dist/{layers.CAK9i7Sw.js → layers.BlTZeBuw.js} +1 -1
  46. package/dist/{layers.D6JdUZAB.js → layers.Blak09tM.js} +1 -1
  47. package/dist/{layers.BFJgfRPW.js → layers.Bm0AR4DJ.js} +1 -1
  48. package/dist/{layers.B6dRe9Ed.js → layers.Bm7247Hq.js} +2 -2
  49. package/dist/{layers.DvOVj252.js → layers.BmVBNqpO.js} +2 -2
  50. package/dist/{layers.aAEfhnbg.js → layers.BosGELUw.js} +1 -1
  51. package/dist/{layers.Cv6mEI19.js → layers.Bp63wOBA.js} +1 -1
  52. package/dist/{layers.-9okZB0x.js → layers.Bq6mi8tn.js} +1 -1
  53. package/dist/{layers.D6NMsTgW.js → layers.BrHuoc6D.js} +1 -1
  54. package/dist/{layers.C8oWMKqA.js → layers.Bs8Xew2o.js} +1 -1
  55. package/dist/{layers.Ba3kXbUz.js → layers.BvEuyzn4.js} +4 -4
  56. package/dist/{layers.CTplo3en.js → layers.BwFvDBFt.js} +1 -1
  57. package/dist/{layers.D502xF41.js → layers.BxDwcyRI.js} +5 -5
  58. package/dist/{layers.C_uDJ9hf.js → layers.BzauvNh3.js} +3 -3
  59. package/dist/{layers.CHR_dKr0.js → layers.C-0pPPoD.js} +1 -1
  60. package/dist/{layers.Q5xjvg3F.js → layers.C-l5naVJ.js} +1 -1
  61. package/dist/{layers.BU5hf_CS.js → layers.C0dfC9yE.js} +1 -1
  62. package/dist/{layers.pa56VtOv.js → layers.C1MAVnow.js} +1 -1
  63. package/dist/{layers.-_P4kYP_.js → layers.C1bqmulU.js} +1 -1
  64. package/dist/{layers.D42tb9Kb.js → layers.C2BFxrdU.js} +1 -1
  65. package/dist/{layers.ZF_XjzzN.js → layers.C2KClnMJ.js} +1 -1
  66. package/dist/{layers.Bnuh3CKu.js → layers.C3AquD9H.js} +1 -1
  67. package/dist/{layers.NY-nQO_B.js → layers.C5E-EaW4.js} +1 -1
  68. package/dist/{layers.BFUt-JBy.js → layers.C5f1fVny.js} +1 -1
  69. package/dist/{layers.DGu37VZp.js → layers.C5rPzYgA.js} +1 -1
  70. package/dist/{layers.DzzbBZRK.js → layers.C63YUxpg.js} +1 -1
  71. package/dist/{layers.Dy_HZwqS.js → layers.CAJvE1aL.js} +1 -1
  72. package/dist/{layers.MX9XjKu0.js → layers.CBIxaTWx.js} +1 -1
  73. package/dist/{layers.DQid8uS5.js → layers.CDbGZLC_.js} +1 -1
  74. package/dist/{layers.Bg2PoHk5.js → layers.CEIbLOHw.js} +1 -1
  75. package/dist/{layers.DfhFgBrm.js → layers.CF8N776_.js} +1 -1
  76. package/dist/{layers.BxXlO20c.js → layers.CGs1HgNy.js} +1 -1
  77. package/dist/{layers.CsWp3SzR.js → layers.CHqHgecn.js} +1 -1
  78. package/dist/{layers.CTSYp-zq.js → layers.CNabPxgN.js} +1 -1
  79. package/dist/{layers.Ctnq4lXT.js → layers.COYKqjwQ.js} +7 -7
  80. package/dist/{layers.BQX5Jd9q.js → layers.COeTT91Y.js} +1 -1
  81. package/dist/{layers.CCDaASzc.js → layers.COhTajHm.js} +1 -1
  82. package/dist/{layers.DQ5y0QaT.js → layers.CPRj74YG.js} +1 -1
  83. package/dist/{layers.CbEm_-_E.js → layers.CYA0xiQb.js} +1 -1
  84. package/dist/{layers.CQq6xXNB.js → layers.CZ8J2mEU.js} +1 -1
  85. package/dist/{layers.kVGK7-6Y.js → layers.CZVMuobK.js} +1 -1
  86. package/dist/{layers.oxQlyV8r.js → layers.Cb6Nlp-9.js} +3 -3
  87. package/dist/layers.CbhRSdVK.js +423 -0
  88. package/dist/{layers.DoAsZfrf.js → layers.Cc_2W-Yh.js} +1 -1
  89. package/dist/{layers.Dma7uFIv.js → layers.Cf0rHj6I.js} +58 -58
  90. package/dist/{layers.Dd9-w9sB.js → layers.CfedOUEs.js} +6 -6
  91. package/dist/{layers.BKZaQ5wT.js → layers.Ch0YrkYJ.js} +4 -4
  92. package/dist/{layers.DSCcjgIi.js → layers.Ch4AVxPu.js} +3 -3
  93. package/dist/{layers.DXoIP5At.js → layers.ChJA74c8.js} +1 -1
  94. package/dist/{layers.Nv5JyNfQ.js → layers.Chzh57WE.js} +1 -1
  95. package/dist/{layers.BjYyTaQ-.js → layers.ClxmC62U.js} +5 -5
  96. package/dist/{layers.Q7srjgP5.js → layers.CmZOYsJl.js} +1 -1
  97. package/dist/{layers.CwmH1icu.js → layers.CnRqC7N9.js} +1 -1
  98. package/dist/{layers.D8BWRX43.js → layers.Cr234qAC.js} +1 -1
  99. package/dist/{layers.CesBxkCX.js → layers.Crbyz4p6.js} +1 -1
  100. package/dist/layers.CtAgdfaf.js +6 -0
  101. package/dist/{layers.CfalEmfr.js → layers.CtDMLsWk.js} +1 -1
  102. package/dist/{layers.PzTOljyI.js → layers.CtLPaUKP.js} +1 -1
  103. package/dist/layers.CtNaGYO-.js +1 -0
  104. package/dist/{layers.BEBOaqfH.js → layers.CtbzV_FA.js} +1 -1
  105. package/dist/{layers.ftLUtsH_.js → layers.Ctk1-0DK.js} +1 -1
  106. package/dist/{layers.CHFB_eKu.js → layers.CufwZRAJ.js} +1 -1
  107. package/dist/{layers.DJ9kahRk.js → layers.Cvorrf_n.js} +3 -3
  108. package/dist/{layers.K3ShjVS2.js → layers.CyDEMMjf.js} +1 -1
  109. package/dist/{layers.Dp3Nu2eW.js → layers.Cyg7kmQO.js} +1 -1
  110. package/dist/{layers.CZrL5JA8.js → layers.CzPzDiTG.js} +8 -8
  111. package/dist/{layers.Bs6ncsFK.js → layers.D0YlGlkq.js} +1 -1
  112. package/dist/{layers.D9CNwHWk.js → layers.D1tOS-Hn.js} +2 -2
  113. package/dist/{layers.4oB0WRxx.js → layers.D4Y55k-r.js} +1 -1
  114. package/dist/{layers.DoPYjioF.js → layers.D4lto7Ov.js} +1 -1
  115. package/dist/{layers.C_Q3Y0D1.js → layers.D6VbCdab.js} +1 -1
  116. package/dist/{layers.C4xUq3OD.js → layers.D8uaAXYp.js} +6 -2
  117. package/dist/{layers.Cd4XOUqV.js → layers.D9HAoRxr.js} +1 -1
  118. package/dist/{layers.DQ4dCO64.js → layers.D9d3whE6.js} +1 -1
  119. package/dist/{layers.D_l2bI3p.js → layers.DCuGApPe.js} +1765 -1766
  120. package/dist/{layers.82zC-ja_.js → layers.DEq81zCD.js} +1 -1
  121. package/dist/{layers.CMjI3DH3.js → layers.DEwKf_y8.js} +5 -5
  122. package/dist/{layers.BZw2kQin.js → layers.DFlAnAJP.js} +1 -1
  123. package/dist/{layers.CJ8dHt3z.js → layers.DHUECNNV.js} +1 -1
  124. package/dist/{layers.UCe1bIbe.js → layers.DIGiqxb1.js} +1 -1
  125. package/dist/{layers.yzI-HZ6H.js → layers.DIzAtiI_.js} +1 -1
  126. package/dist/{layers.CvzHXo_m.js → layers.DLDJj48x.js} +1 -1
  127. package/dist/{layers.N5FJndmV.js → layers.DLlg3L3A.js} +1 -1
  128. package/dist/{layers.CxgFCnaV.js → layers.DN-0_MQo.js} +2 -2
  129. package/dist/{layers.DiJicH_j.js → layers.DN2MAZ52.js} +1 -1
  130. package/dist/{layers.D8h23AXJ.js → layers.DOdmpKJ5.js} +11 -11
  131. package/dist/{layers.BxkrfJwW.js → layers.DP1xoD_o.js} +1 -1
  132. package/dist/{layers.DC2Go4cl.js → layers.DPM3blWS.js} +6 -6
  133. package/dist/{layers.KDjRSgja.js → layers.DQGx9RB5.js} +1 -1
  134. package/dist/{layers.CjgsRnlu.js → layers.DQfpcQCA.js} +1 -1
  135. package/dist/{layers.DEOEJp0q.js → layers.DQl-VVrp.js} +1 -1
  136. package/dist/{layers.Cshi1Frc.js → layers.DR0AqSO-.js} +20 -23
  137. package/dist/{layers.C-wrIzm1.js → layers.DT3TdtNo.js} +1 -1
  138. package/dist/{layers.Bk5C_SYG.js → layers.DTV1H-oW.js} +1 -1
  139. package/dist/{layers.DmrRycyS.js → layers.DVSgQGy_.js} +1 -1
  140. package/dist/{layers.PaaJLb3V.js → layers.DViA2eOv.js} +1 -1
  141. package/dist/layers.DW4E7Kga.js +1 -0
  142. package/dist/{layers.B2E9MQav.js → layers.DW61J8nM.js} +1 -1
  143. package/dist/{layers.DLvGWbYo.js → layers.DXTr_Rqv.js} +1 -1
  144. package/dist/{layers.8ne3pzxk.js → layers.DXdL78_K.js} +1 -1
  145. package/dist/layers.DZS6zCQC.js +96 -0
  146. package/dist/{layers.r-o88DgQ.js → layers.D_QijBre.js} +1 -1
  147. package/dist/{layers.QB1dgRDh.js → layers.Daj_zAEX.js} +1 -1
  148. package/dist/layers.DbAim1I1.js +6 -0
  149. package/dist/{layers.CpaTEA8h.js → layers.DbQa8Xrq.js} +1 -1
  150. package/dist/{layers.XPkGAjcY.js → layers.DceMYgO-.js} +1 -1
  151. package/dist/{layers.Rp2Fmjv1.js → layers.DeCeV_NT.js} +1 -1
  152. package/dist/{layers.DabiWsY6.js → layers.DeD0tRY6.js} +4 -4
  153. package/dist/{layers.K0zGomTS.js → layers.Dfmie1Eg.js} +1 -1
  154. package/dist/{layers.Kcp1ca1B.js → layers.DfuDUeJO.js} +1 -1
  155. package/dist/{layers.BphJFHF5.js → layers.Dk5frmMY.js} +1 -1
  156. package/dist/{layers.BzsqXB6O.js → layers.DkFC6wPC.js} +1 -1
  157. package/dist/{layers.B1jsMDtK.js → layers.DlUqx69a.js} +1 -1
  158. package/dist/{layers.BCkbv8uf.js → layers.DmzsBt1l.js} +8594 -8502
  159. package/dist/{layers.DYJp-_DM.js → layers.DnPsg6Es.js} +1 -1
  160. package/dist/{layers.CzZr9gBd.js → layers.Do7YOKik.js} +1 -1
  161. package/dist/{layers.DtZGtvfG.js → layers.Dq11NHjP.js} +1 -1
  162. package/dist/{layers.4Y4ePVR0.js → layers.Dr9GXGEW.js} +1 -1
  163. package/dist/{layers.CVssWWdF.js → layers.DsBi-3Sv.js} +1 -1
  164. package/dist/{layers.BoEx2h4m.js → layers.Dt58Rn42.js} +1 -1
  165. package/dist/{layers.DQAhnwHA.js → layers.DuXKPGbh.js} +1 -1
  166. package/dist/{layers.DQrGekR5.js → layers.DujLoVo_.js} +1 -1
  167. package/dist/{layers.BxpVM_aU.js → layers.DutGO5PT.js} +1 -1
  168. package/dist/{layers.Cp_wYnOQ.js → layers.DzToOzqP.js} +1 -1
  169. package/dist/{layers.zdzbqOEo.js → layers.DzxGKTSj.js} +1 -1
  170. package/dist/{layers.C6eH0FIU.js → layers.Hu6Oac6K.js} +1 -1
  171. package/dist/{layers.Bxc0Qnwz.js → layers.HzzAw2xN.js} +3 -3
  172. package/dist/{layers.5xWSVcRR.js → layers.IDC7uakL.js} +1 -1
  173. package/dist/{layers.WSgZpicv.js → layers.IeJSBwXR.js} +1 -1
  174. package/dist/{layers.5Ef_FuCM.js → layers.JP663lf7.js} +2 -2
  175. package/dist/{layers.DWVHMDkV.js → layers.KOX2-7Li.js} +1 -1
  176. package/dist/{layers.CELD9Qc8.js → layers.M8gQmVZk.js} +1 -1
  177. package/dist/{layers.CXcj4Jbd.js → layers.PLi6SUMd.js} +1 -1
  178. package/dist/{layers.B7ziuAqe.js → layers.PSZtg8kl.js} +1 -1
  179. package/dist/{layers.DrSxy-rK.js → layers.QksU2wu3.js} +1 -1
  180. package/dist/layers.R8mPlCA0.js +261 -0
  181. package/dist/{layers.BmuNt8yM.js → layers.S9HTFqGf.js} +1 -1
  182. package/dist/{layers.CDRo2f4u.js → layers.T2c3HE0-.js} +1 -1
  183. package/dist/{layers.DBEJYbLK.js → layers.T3yNJVji.js} +1 -1
  184. package/dist/{layers.DALpX58S.js → layers.URxb2elT.js} +1 -1
  185. package/dist/{layers.DKbZGqDg.js → layers.VaYUhRUz.js} +1 -1
  186. package/dist/{layers.CEAR-Jv9.js → layers.YAA_a94e.js} +1 -1
  187. package/dist/{layers.nOYmwsKg.js → layers.YFJHRLy2.js} +1 -1
  188. package/dist/{layers.DJsjeWDB.js → layers.YZoNQnbb.js} +4 -4
  189. package/dist/{layers.CX_HYDAq.js → layers.b9B2NY7n.js} +3315 -3241
  190. package/dist/{layers.nKvo0NUK.js → layers.cbEYttTH.js} +1 -1
  191. package/dist/{layers.Bm1ixdPA.js → layers.e0ry2C-x.js} +1 -1
  192. package/dist/{layers.v32YA2e-.js → layers.e3wyU5zP.js} +1 -1
  193. package/dist/{layers.BFOgk_-o.js → layers.e7L0srdX.js} +1 -1
  194. package/dist/{layers.B6nu8sUY.js → layers.eoGyuBF_.js} +1 -1
  195. package/dist/{layers.PZKc72c6.js → layers.eqGiH-Lf.js} +1 -1
  196. package/dist/{layers.BvTqi64c.js → layers.gOMKeY1l.js} +1 -1
  197. package/dist/{layers.Csa0z_Br.js → layers.iG-cXAo7.js} +1 -1
  198. package/dist/{layers.jAdMaQgo.js → layers.iGxgNNsC.js} +1 -1
  199. package/dist/{layers.BoCPYrZX.js → layers.jEsEDrss.js} +1 -1
  200. package/dist/{layers.hRGwBp2A.js → layers.jqD6rnpF.js} +1 -1
  201. package/dist/{layers.CRSb_NN4.js → layers.kZ8Z0vfg.js} +1 -1
  202. package/dist/{layers.D5qFmBKU.js → layers.ldKi6uMu.js} +1 -1
  203. package/dist/{layers.zsc6RB_R.js → layers.mE0xbDTB.js} +1 -1
  204. package/dist/{layers.CpYzt2BD.js → layers.mEmJipxN.js} +10 -10
  205. package/dist/{layers.DzwjZwor.js → layers.mPs3d06l.js} +5 -5
  206. package/dist/{layers.B6BmFpub.js → layers.my1juvJl.js} +1 -1
  207. package/dist/{layers.B0QsORyd.js → layers.nWUCxw1l.js} +1 -1
  208. package/dist/{layers.fUhnRZqK.js → layers.soqgcxG_.js} +1 -1
  209. package/dist/{layers.BpI7SZrr.js → layers.tYewiCoX.js} +3 -3
  210. package/dist/{layers.B-gTWMUE.js → layers.tinCb-V7.js} +1 -1
  211. package/dist/{layers.Blr44YGc.js → layers.z59YBoGY.js} +1 -1
  212. package/dist/{layers.DNf6SUW4.js → layers.zBQ-_zwy.js} +1 -1
  213. package/package.json +166 -166
  214. package/dist/layers.BIJbAabT.js +0 -1
  215. package/dist/layers.BX033us8.js +0 -96
  216. package/dist/layers.BfhqGLum.js +0 -8
  217. package/dist/layers.BuPdKLic.js +0 -257
  218. package/dist/layers.CK0motmJ.js +0 -1
  219. package/dist/layers.DojaWjqv.js +0 -6
  220. package/dist/layers.DzvGOILR.js +0 -1
  221. package/dist/layers.LGbu1Xgh.js +0 -423
  222. package/dist/layers.mH28aWLj.js +0 -7
@@ -1 +1 @@
1
- "use strict";const P=require("lodash-es"),J=require("./layers.Cyzu9PKQ.js"),k=require("./layers.BLd2spTm.js"),u=require("./layers.CHFB_eKu.js"),i=require("./layers.BX033us8.js"),j=require("./layers.BCQaDFTY.js");function G(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const n in e)if(n!=="default"){const r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:()=>e[n]})}}return t.default=e,Object.freeze(t)}const m=G(P);function x(e){var t={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:M(e),edges:F(e)};return m.isUndefined(e.graph())||(t.value=m.clone(e.graph())),t}function M(e){return m.map(e.nodes(),function(t){var n=e.node(t),r=e.parent(t),s={v:t};return m.isUndefined(n)||(s.value=n),m.isUndefined(r)||(s.parent=r),s})}function F(e){return m.map(e.edges(),function(t){var n=e.edge(t),r={v:t.v,w:t.w};return m.isUndefined(t.name)||(r.name=t.name),m.isUndefined(n)||(r.value=n),r})}let a={},w={},p={};const q=()=>{w={},p={},a={}},X=(e,t)=>(i.log$1.trace("In isDescendant",t," ",e," = ",w[t].includes(e)),!!w[t].includes(e)),_=(e,t)=>(i.log$1.info("Descendants of ",t," is ",w[t]),i.log$1.info("Edge is ",e),e.v===t||e.w===t?!1:w[t]?w[t].includes(e.v)||X(e.v,t)||X(e.w,t)||w[t].includes(e.w):(i.log$1.debug("Tilt, ",t,",not in descendants"),!1)),B=(e,t,n,r)=>{i.log$1.warn("Copying children of ",e,"root",r,"data",t.node(e),r);const s=t.children(e)||[];e!==r&&s.push(e),i.log$1.warn("Copying (nodes) clusterId",e,"nodes",s),s.forEach(o=>{if(t.children(o).length>0)B(o,t,n,r);else{const f=t.node(o);i.log$1.info("cp ",o," to ",r," with parent ",e),n.setNode(o,f),r!==t.parent(o)&&(i.log$1.warn("Setting parent",o,t.parent(o)),n.setParent(o,t.parent(o))),e!==r&&o!==e?(i.log$1.debug("Setting parent",o,e),n.setParent(o,e)):(i.log$1.info("In copy ",e,"root",r,"data",t.node(e),r),i.log$1.debug("Not Setting parent for node=",o,"cluster!==rootId",e!==r,"node!==clusterId",o!==e));const g=t.edges(o);i.log$1.debug("Copying Edges",g),g.forEach(d=>{i.log$1.info("Edge",d);const h=t.edge(d.v,d.w,d.name);i.log$1.info("Edge data",h,r);try{_(d,r)?(i.log$1.info("Copying as ",d.v,d.w,h,d.name),n.setEdge(d.v,d.w,h,d.name),i.log$1.info("newGraph edges ",n.edges(),n.edge(n.edges()[0]))):i.log$1.info("Skipping copy of edge ",d.v,"-->",d.w," rootId: ",r," clusterId:",e)}catch($){i.log$1.error($)}})}i.log$1.debug("Removing node",o),t.removeNode(o)})},D=(e,t)=>{const n=t.children(e);let r=[...n];for(const s of n)p[s]=e,r=[...r,...D(s,t)];return r},C=(e,t)=>{i.log$1.trace("Searching",e);const n=t.children(e);if(i.log$1.trace("Searching children of id ",e,n),n.length<1)return i.log$1.trace("This is a valid node",e),e;for(const r of n){const s=C(r,t);if(s)return i.log$1.trace("Found replacement for",e," => ",s),s}},S=e=>!a[e]||!a[e].externalConnections?e:a[e]?a[e].id:e,U=(e,t)=>{if(!e||t>10){i.log$1.debug("Opting out, no graph ");return}else i.log$1.debug("Opting in, graph ");e.nodes().forEach(function(n){e.children(n).length>0&&(i.log$1.warn("Cluster identified",n," Replacement id in edges: ",C(n,e)),w[n]=D(n,e),a[n]={id:C(n,e),clusterData:e.node(n)})}),e.nodes().forEach(function(n){const r=e.children(n),s=e.edges();r.length>0?(i.log$1.debug("Cluster identified",n,w),s.forEach(o=>{if(o.v!==n&&o.w!==n){const f=X(o.v,n),g=X(o.w,n);f^g&&(i.log$1.warn("Edge: ",o," leaves cluster ",n),i.log$1.warn("Descendants of XXX ",n,": ",w[n]),a[n].externalConnections=!0)}})):i.log$1.debug("Not a cluster ",n,w)});for(let n of Object.keys(a)){const r=a[n].id,s=e.parent(r);s!==n&&a[s]&&!a[s].externalConnections&&(a[n].id=s)}e.edges().forEach(function(n){const r=e.edge(n);i.log$1.warn("Edge "+n.v+" -> "+n.w+": "+JSON.stringify(n)),i.log$1.warn("Edge "+n.v+" -> "+n.w+": "+JSON.stringify(e.edge(n)));let s=n.v,o=n.w;if(i.log$1.warn("Fix XXX",a,"ids:",n.v,n.w,"Translating: ",a[n.v]," --- ",a[n.w]),a[n.v]&&a[n.w]&&a[n.v]===a[n.w]){i.log$1.warn("Fixing and trixing link to self - removing XXX",n.v,n.w,n.name),i.log$1.warn("Fixing and trixing - removing XXX",n.v,n.w,n.name),s=S(n.v),o=S(n.w),e.removeEdge(n.v,n.w,n.name);const f=n.w+"---"+n.v;e.setNode(f,{domId:f,id:f,labelStyle:"",labelText:r.label,padding:0,shape:"labelRect",style:""});const g=structuredClone(r),d=structuredClone(r);g.label="",g.arrowTypeEnd="none",d.label="",g.fromCluster=n.v,d.toCluster=n.v,e.setEdge(s,f,g,n.name+"-cyclic-special"),e.setEdge(f,o,d,n.name+"-cyclic-special")}else if(a[n.v]||a[n.w]){if(i.log$1.warn("Fixing and trixing - removing XXX",n.v,n.w,n.name),s=S(n.v),o=S(n.w),e.removeEdge(n.v,n.w,n.name),s!==n.v){const f=e.parent(s);a[f].externalConnections=!0,r.fromCluster=n.v}if(o!==n.w){const f=e.parent(o);a[f].externalConnections=!0,r.toCluster=n.w}i.log$1.warn("Fix Replacing with XXX",s,o,n.name),e.setEdge(s,o,r,n.name)}}),i.log$1.warn("Adjusted Graph",x(e)),T(e,0),i.log$1.trace(a)},T=(e,t)=>{if(i.log$1.warn("extractor - ",t,x(e),e.children("D")),t>10){i.log$1.error("Bailing out");return}let n=e.nodes(),r=!1;for(const s of n){const o=e.children(s);r=r||o.length>0}if(!r){i.log$1.debug("Done, no node has children",e.nodes());return}i.log$1.debug("Nodes = ",n,t);for(const s of n)if(i.log$1.debug("Extracting node",s,a,a[s]&&!a[s].externalConnections,!e.parent(s),e.node(s),e.children("D")," Depth ",t),!a[s])i.log$1.debug("Not a cluster",s,t);else if(!a[s].externalConnections&&e.children(s)&&e.children(s).length>0){i.log$1.warn("Cluster without external connections, without a parent and with children",s,t);let f=e.graph().rankdir==="TB"?"LR":"TB";a[s]&&a[s].clusterData&&a[s].clusterData.dir&&(f=a[s].clusterData.dir,i.log$1.warn("Fixing dir",a[s].clusterData.dir,f));const g=new k.Graph({multigraph:!0,compound:!0}).setGraph({rankdir:f,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});i.log$1.warn("Old graph before copy",x(e)),B(s,e,g,s),e.setNode(s,{clusterNode:!0,id:s,clusterData:a[s].clusterData,labelText:a[s].labelText,graph:g}),i.log$1.warn("New graph after copy node: (",s,")",x(g)),i.log$1.debug("Old graph after copy",x(e))}else i.log$1.warn("Cluster ** ",s," **not meeting the criteria !externalConnections:",!a[s].externalConnections," no parent: ",!e.parent(s)," children ",e.children(s)&&e.children(s).length>0,e.children("D"),t),i.log$1.debug(a);n=e.nodes(),i.log$1.warn("New list of nodes",n);for(const s of n){const o=e.node(s);i.log$1.warn(" Now next level",s,o),o.clusterNode&&T(o.graph,t+1)}},O=(e,t)=>{if(t.length===0)return[];let n=Object.assign(t);return t.forEach(r=>{const s=e.children(r),o=O(e,s);n=[...n,...o]}),n},A=e=>O(e,e.children()),H=(e,t)=>{i.log$1.info("Creating subgraph rect for ",t.id,t);const n=i.getConfig(),r=e.insert("g").attr("class","cluster"+(t.class?" "+t.class:"")).attr("id",t.id),s=r.insert("rect",":first-child"),o=i.evaluate(n.flowchart.htmlLabels),f=r.insert("g").attr("class","cluster-label"),g=t.labelType==="markdown"?j.createText(f,t.labelText,{style:t.labelStyle,useHtmlLabels:o}):f.node().appendChild(u.createLabel$1(t.labelText,t.labelStyle,void 0,!0));let d=g.getBBox();if(i.evaluate(n.flowchart.htmlLabels)){const l=g.children[0],c=i.select(g);d=l.getBoundingClientRect(),c.attr("width",d.width),c.attr("height",d.height)}const h=0*t.padding,$=h/2,y=t.width<=d.width+h?d.width+h:t.width;t.width<=d.width+h?t.diff=(d.width-t.width)/2-t.padding/2:t.diff=-t.padding/2,i.log$1.trace("Data ",t,JSON.stringify(t)),s.attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("x",t.x-y/2).attr("y",t.y-t.height/2-$).attr("width",y).attr("height",t.height+h);const{subGraphTitleTopMargin:N}=u.getSubGraphTitleMargins(n);o?f.attr("transform",`translate(${t.x-d.width/2}, ${t.y-t.height/2+N})`):f.attr("transform",`translate(${t.x}, ${t.y-t.height/2+N})`);const b=s.node().getBBox();return t.width=b.width,t.height=b.height,t.intersect=function(l){return u.intersectRect$1(t,l)},r},V=(e,t)=>{const n=e.insert("g").attr("class","note-cluster").attr("id",t.id),r=n.insert("rect",":first-child"),s=0*t.padding,o=s/2;r.attr("rx",t.rx).attr("ry",t.ry).attr("x",t.x-t.width/2-o).attr("y",t.y-t.height/2-o).attr("width",t.width+s).attr("height",t.height+s).attr("fill","none");const f=r.node().getBBox();return t.width=f.width,t.height=f.height,t.intersect=function(g){return u.intersectRect$1(t,g)},n},z=(e,t)=>{const n=i.getConfig(),r=e.insert("g").attr("class",t.classes).attr("id",t.id),s=r.insert("rect",":first-child"),o=r.insert("g").attr("class","cluster-label"),f=r.append("rect"),g=o.node().appendChild(u.createLabel$1(t.labelText,t.labelStyle,void 0,!0));let d=g.getBBox();if(i.evaluate(n.flowchart.htmlLabels)){const l=g.children[0],c=i.select(g);d=l.getBoundingClientRect(),c.attr("width",d.width),c.attr("height",d.height)}d=g.getBBox();const h=0*t.padding,$=h/2,y=t.width<=d.width+t.padding?d.width+t.padding:t.width;t.width<=d.width+t.padding?t.diff=(d.width+t.padding*0-t.width)/2:t.diff=-t.padding/2,s.attr("class","outer").attr("x",t.x-y/2-$).attr("y",t.y-t.height/2-$).attr("width",y+h).attr("height",t.height+h),f.attr("class","inner").attr("x",t.x-y/2-$).attr("y",t.y-t.height/2-$+d.height-1).attr("width",y+h).attr("height",t.height+h-d.height-3);const{subGraphTitleTopMargin:N}=u.getSubGraphTitleMargins(n);o.attr("transform",`translate(${t.x-d.width/2}, ${t.y-t.height/2-t.padding/3+(i.evaluate(n.flowchart.htmlLabels)?5:3)+N})`);const b=s.node().getBBox();return t.height=b.height,t.intersect=function(l){return u.intersectRect$1(t,l)},r},W=(e,t)=>{const n=e.insert("g").attr("class",t.classes).attr("id",t.id),r=n.insert("rect",":first-child"),s=0*t.padding,o=s/2;r.attr("class","divider").attr("x",t.x-t.width/2-o).attr("y",t.y-t.height/2).attr("width",t.width+s).attr("height",t.height+s);const f=r.node().getBBox();return t.width=f.width,t.height=f.height,t.diff=-t.padding/2,t.intersect=function(g){return u.intersectRect$1(t,g)},n},K={rect:H,roundedWithTitle:z,noteGroup:V,divider:W};let R={};const Q=(e,t)=>{i.log$1.trace("Inserting cluster");const n=t.shape||"rect";R[t.id]=K[n](e,t)},Y=()=>{R={}},L=async(e,t,n,r,s,o)=>{i.log$1.info("Graph in recursive render: XXX",x(t),s);const f=t.graph().rankdir;i.log$1.trace("Dir in recursive render - dir:",f);const g=e.insert("g").attr("class","root");t.nodes()?i.log$1.info("Recursive render XXX",t.nodes()):i.log$1.info("No nodes found for",t),t.edges().length>0&&i.log$1.trace("Recursive edges",t.edge(t.edges()[0]));const d=g.insert("g").attr("class","clusters"),h=g.insert("g").attr("class","edgePaths"),$=g.insert("g").attr("class","edgeLabels"),y=g.insert("g").attr("class","nodes");await Promise.all(t.nodes().map(async function(l){const c=t.node(l);if(s!==void 0){const v=JSON.parse(JSON.stringify(s.clusterData));i.log$1.info("Setting data for cluster XXX (",l,") ",v,s),t.setNode(s.id,v),t.parent(l)||(i.log$1.trace("Setting parent",l,s.id),t.setParent(l,s.id,v))}if(i.log$1.info("(Insert) Node XXX"+l+": "+JSON.stringify(t.node(l))),c&&c.clusterNode){i.log$1.info("Cluster identified",l,c.width,t.node(l));const v=await L(y,c.graph,n,r,t.node(l),o),E=v.elem;u.updateNodeBounds(c,E),c.diff=v.diff||0,i.log$1.info("Node bounds (abc123)",l,c,c.width,c.x,c.y),u.setNodeElem(E,c),i.log$1.warn("Recursive render complete ",E,c)}else t.children(l).length>0?(i.log$1.info("Cluster - the non recursive path XXX",l,c.id,c,t),i.log$1.info(C(c.id,t)),a[c.id]={id:C(c.id,t),node:c}):(i.log$1.info("Node - the non recursive path",l,c.id,c),await u.insertNode(y,t.node(l),f))})),t.edges().forEach(function(l){const c=t.edge(l.v,l.w,l.name);i.log$1.info("Edge "+l.v+" -> "+l.w+": "+JSON.stringify(l)),i.log$1.info("Edge "+l.v+" -> "+l.w+": ",l," ",JSON.stringify(t.edge(l))),i.log$1.info("Fix",a,"ids:",l.v,l.w,"Translating: ",a[l.v],a[l.w]),u.insertEdgeLabel($,c)}),t.edges().forEach(function(l){i.log$1.info("Edge "+l.v+" -> "+l.w+": "+JSON.stringify(l))}),i.log$1.info("#############################################"),i.log$1.info("### Layout ###"),i.log$1.info("#############################################"),i.log$1.info(t),J.layout(t),i.log$1.info("Graph after layout:",x(t));let N=0;const{subGraphTitleTotalMargin:b}=u.getSubGraphTitleMargins(o);return A(t).forEach(function(l){const c=t.node(l);i.log$1.info("Position "+l+": "+JSON.stringify(t.node(l))),i.log$1.info("Position "+l+": ("+c.x,","+c.y,") width: ",c.width," height: ",c.height),c&&c.clusterNode?(c.y+=b,u.positionNode(c)):t.children(l).length>0?(c.height+=b,Q(d,c),a[c.id].node=c):(c.y+=b/2,u.positionNode(c))}),t.edges().forEach(function(l){const c=t.edge(l);i.log$1.info("Edge "+l.v+" -> "+l.w+": "+JSON.stringify(c),c),c.points.forEach(E=>E.y+=b/2);const v=u.insertEdge(h,l,c,a,n,t,r);u.positionEdgeLabel(c,v)}),t.nodes().forEach(function(l){const c=t.node(l);i.log$1.info(l,c.type,c.diff),c.type==="group"&&(N=c.diff)}),{elem:g,diff:N}},Z=async(e,t,n,r,s)=>{u.insertMarkers$1(e,n,r,s),u.clear$1(),u.clear(),Y(),q(),i.log$1.warn("Graph at first:",JSON.stringify(x(t))),U(t),i.log$1.warn("Graph after:",JSON.stringify(x(t)));const o=i.getConfig();await L(e,t,r,s,void 0,o)};exports.render=Z;
1
+ "use strict";const P=require("lodash-es"),J=require("./layers.Cyzu9PKQ.js"),k=require("./layers.BLd2spTm.js"),u=require("./layers.CufwZRAJ.js"),i=require("./layers.DZS6zCQC.js"),j=require("./layers.B2xGiqGD.js");function G(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const n in e)if(n!=="default"){const r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:()=>e[n]})}}return t.default=e,Object.freeze(t)}const m=G(P);function x(e){var t={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:M(e),edges:F(e)};return m.isUndefined(e.graph())||(t.value=m.clone(e.graph())),t}function M(e){return m.map(e.nodes(),function(t){var n=e.node(t),r=e.parent(t),s={v:t};return m.isUndefined(n)||(s.value=n),m.isUndefined(r)||(s.parent=r),s})}function F(e){return m.map(e.edges(),function(t){var n=e.edge(t),r={v:t.v,w:t.w};return m.isUndefined(t.name)||(r.name=t.name),m.isUndefined(n)||(r.value=n),r})}let a={},w={},p={};const q=()=>{w={},p={},a={}},X=(e,t)=>(i.log$1.trace("In isDescendant",t," ",e," = ",w[t].includes(e)),!!w[t].includes(e)),_=(e,t)=>(i.log$1.info("Descendants of ",t," is ",w[t]),i.log$1.info("Edge is ",e),e.v===t||e.w===t?!1:w[t]?w[t].includes(e.v)||X(e.v,t)||X(e.w,t)||w[t].includes(e.w):(i.log$1.debug("Tilt, ",t,",not in descendants"),!1)),B=(e,t,n,r)=>{i.log$1.warn("Copying children of ",e,"root",r,"data",t.node(e),r);const s=t.children(e)||[];e!==r&&s.push(e),i.log$1.warn("Copying (nodes) clusterId",e,"nodes",s),s.forEach(o=>{if(t.children(o).length>0)B(o,t,n,r);else{const f=t.node(o);i.log$1.info("cp ",o," to ",r," with parent ",e),n.setNode(o,f),r!==t.parent(o)&&(i.log$1.warn("Setting parent",o,t.parent(o)),n.setParent(o,t.parent(o))),e!==r&&o!==e?(i.log$1.debug("Setting parent",o,e),n.setParent(o,e)):(i.log$1.info("In copy ",e,"root",r,"data",t.node(e),r),i.log$1.debug("Not Setting parent for node=",o,"cluster!==rootId",e!==r,"node!==clusterId",o!==e));const g=t.edges(o);i.log$1.debug("Copying Edges",g),g.forEach(d=>{i.log$1.info("Edge",d);const h=t.edge(d.v,d.w,d.name);i.log$1.info("Edge data",h,r);try{_(d,r)?(i.log$1.info("Copying as ",d.v,d.w,h,d.name),n.setEdge(d.v,d.w,h,d.name),i.log$1.info("newGraph edges ",n.edges(),n.edge(n.edges()[0]))):i.log$1.info("Skipping copy of edge ",d.v,"-->",d.w," rootId: ",r," clusterId:",e)}catch($){i.log$1.error($)}})}i.log$1.debug("Removing node",o),t.removeNode(o)})},D=(e,t)=>{const n=t.children(e);let r=[...n];for(const s of n)p[s]=e,r=[...r,...D(s,t)];return r},C=(e,t)=>{i.log$1.trace("Searching",e);const n=t.children(e);if(i.log$1.trace("Searching children of id ",e,n),n.length<1)return i.log$1.trace("This is a valid node",e),e;for(const r of n){const s=C(r,t);if(s)return i.log$1.trace("Found replacement for",e," => ",s),s}},S=e=>!a[e]||!a[e].externalConnections?e:a[e]?a[e].id:e,U=(e,t)=>{if(!e||t>10){i.log$1.debug("Opting out, no graph ");return}else i.log$1.debug("Opting in, graph ");e.nodes().forEach(function(n){e.children(n).length>0&&(i.log$1.warn("Cluster identified",n," Replacement id in edges: ",C(n,e)),w[n]=D(n,e),a[n]={id:C(n,e),clusterData:e.node(n)})}),e.nodes().forEach(function(n){const r=e.children(n),s=e.edges();r.length>0?(i.log$1.debug("Cluster identified",n,w),s.forEach(o=>{if(o.v!==n&&o.w!==n){const f=X(o.v,n),g=X(o.w,n);f^g&&(i.log$1.warn("Edge: ",o," leaves cluster ",n),i.log$1.warn("Descendants of XXX ",n,": ",w[n]),a[n].externalConnections=!0)}})):i.log$1.debug("Not a cluster ",n,w)});for(let n of Object.keys(a)){const r=a[n].id,s=e.parent(r);s!==n&&a[s]&&!a[s].externalConnections&&(a[n].id=s)}e.edges().forEach(function(n){const r=e.edge(n);i.log$1.warn("Edge "+n.v+" -> "+n.w+": "+JSON.stringify(n)),i.log$1.warn("Edge "+n.v+" -> "+n.w+": "+JSON.stringify(e.edge(n)));let s=n.v,o=n.w;if(i.log$1.warn("Fix XXX",a,"ids:",n.v,n.w,"Translating: ",a[n.v]," --- ",a[n.w]),a[n.v]&&a[n.w]&&a[n.v]===a[n.w]){i.log$1.warn("Fixing and trixing link to self - removing XXX",n.v,n.w,n.name),i.log$1.warn("Fixing and trixing - removing XXX",n.v,n.w,n.name),s=S(n.v),o=S(n.w),e.removeEdge(n.v,n.w,n.name);const f=n.w+"---"+n.v;e.setNode(f,{domId:f,id:f,labelStyle:"",labelText:r.label,padding:0,shape:"labelRect",style:""});const g=structuredClone(r),d=structuredClone(r);g.label="",g.arrowTypeEnd="none",d.label="",g.fromCluster=n.v,d.toCluster=n.v,e.setEdge(s,f,g,n.name+"-cyclic-special"),e.setEdge(f,o,d,n.name+"-cyclic-special")}else if(a[n.v]||a[n.w]){if(i.log$1.warn("Fixing and trixing - removing XXX",n.v,n.w,n.name),s=S(n.v),o=S(n.w),e.removeEdge(n.v,n.w,n.name),s!==n.v){const f=e.parent(s);a[f].externalConnections=!0,r.fromCluster=n.v}if(o!==n.w){const f=e.parent(o);a[f].externalConnections=!0,r.toCluster=n.w}i.log$1.warn("Fix Replacing with XXX",s,o,n.name),e.setEdge(s,o,r,n.name)}}),i.log$1.warn("Adjusted Graph",x(e)),T(e,0),i.log$1.trace(a)},T=(e,t)=>{if(i.log$1.warn("extractor - ",t,x(e),e.children("D")),t>10){i.log$1.error("Bailing out");return}let n=e.nodes(),r=!1;for(const s of n){const o=e.children(s);r=r||o.length>0}if(!r){i.log$1.debug("Done, no node has children",e.nodes());return}i.log$1.debug("Nodes = ",n,t);for(const s of n)if(i.log$1.debug("Extracting node",s,a,a[s]&&!a[s].externalConnections,!e.parent(s),e.node(s),e.children("D")," Depth ",t),!a[s])i.log$1.debug("Not a cluster",s,t);else if(!a[s].externalConnections&&e.children(s)&&e.children(s).length>0){i.log$1.warn("Cluster without external connections, without a parent and with children",s,t);let f=e.graph().rankdir==="TB"?"LR":"TB";a[s]&&a[s].clusterData&&a[s].clusterData.dir&&(f=a[s].clusterData.dir,i.log$1.warn("Fixing dir",a[s].clusterData.dir,f));const g=new k.Graph({multigraph:!0,compound:!0}).setGraph({rankdir:f,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});i.log$1.warn("Old graph before copy",x(e)),B(s,e,g,s),e.setNode(s,{clusterNode:!0,id:s,clusterData:a[s].clusterData,labelText:a[s].labelText,graph:g}),i.log$1.warn("New graph after copy node: (",s,")",x(g)),i.log$1.debug("Old graph after copy",x(e))}else i.log$1.warn("Cluster ** ",s," **not meeting the criteria !externalConnections:",!a[s].externalConnections," no parent: ",!e.parent(s)," children ",e.children(s)&&e.children(s).length>0,e.children("D"),t),i.log$1.debug(a);n=e.nodes(),i.log$1.warn("New list of nodes",n);for(const s of n){const o=e.node(s);i.log$1.warn(" Now next level",s,o),o.clusterNode&&T(o.graph,t+1)}},O=(e,t)=>{if(t.length===0)return[];let n=Object.assign(t);return t.forEach(r=>{const s=e.children(r),o=O(e,s);n=[...n,...o]}),n},A=e=>O(e,e.children()),H=(e,t)=>{i.log$1.info("Creating subgraph rect for ",t.id,t);const n=i.getConfig(),r=e.insert("g").attr("class","cluster"+(t.class?" "+t.class:"")).attr("id",t.id),s=r.insert("rect",":first-child"),o=i.evaluate(n.flowchart.htmlLabels),f=r.insert("g").attr("class","cluster-label"),g=t.labelType==="markdown"?j.createText(f,t.labelText,{style:t.labelStyle,useHtmlLabels:o}):f.node().appendChild(u.createLabel$1(t.labelText,t.labelStyle,void 0,!0));let d=g.getBBox();if(i.evaluate(n.flowchart.htmlLabels)){const l=g.children[0],c=i.select(g);d=l.getBoundingClientRect(),c.attr("width",d.width),c.attr("height",d.height)}const h=0*t.padding,$=h/2,y=t.width<=d.width+h?d.width+h:t.width;t.width<=d.width+h?t.diff=(d.width-t.width)/2-t.padding/2:t.diff=-t.padding/2,i.log$1.trace("Data ",t,JSON.stringify(t)),s.attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("x",t.x-y/2).attr("y",t.y-t.height/2-$).attr("width",y).attr("height",t.height+h);const{subGraphTitleTopMargin:N}=u.getSubGraphTitleMargins(n);o?f.attr("transform",`translate(${t.x-d.width/2}, ${t.y-t.height/2+N})`):f.attr("transform",`translate(${t.x}, ${t.y-t.height/2+N})`);const b=s.node().getBBox();return t.width=b.width,t.height=b.height,t.intersect=function(l){return u.intersectRect$1(t,l)},r},V=(e,t)=>{const n=e.insert("g").attr("class","note-cluster").attr("id",t.id),r=n.insert("rect",":first-child"),s=0*t.padding,o=s/2;r.attr("rx",t.rx).attr("ry",t.ry).attr("x",t.x-t.width/2-o).attr("y",t.y-t.height/2-o).attr("width",t.width+s).attr("height",t.height+s).attr("fill","none");const f=r.node().getBBox();return t.width=f.width,t.height=f.height,t.intersect=function(g){return u.intersectRect$1(t,g)},n},z=(e,t)=>{const n=i.getConfig(),r=e.insert("g").attr("class",t.classes).attr("id",t.id),s=r.insert("rect",":first-child"),o=r.insert("g").attr("class","cluster-label"),f=r.append("rect"),g=o.node().appendChild(u.createLabel$1(t.labelText,t.labelStyle,void 0,!0));let d=g.getBBox();if(i.evaluate(n.flowchart.htmlLabels)){const l=g.children[0],c=i.select(g);d=l.getBoundingClientRect(),c.attr("width",d.width),c.attr("height",d.height)}d=g.getBBox();const h=0*t.padding,$=h/2,y=t.width<=d.width+t.padding?d.width+t.padding:t.width;t.width<=d.width+t.padding?t.diff=(d.width+t.padding*0-t.width)/2:t.diff=-t.padding/2,s.attr("class","outer").attr("x",t.x-y/2-$).attr("y",t.y-t.height/2-$).attr("width",y+h).attr("height",t.height+h),f.attr("class","inner").attr("x",t.x-y/2-$).attr("y",t.y-t.height/2-$+d.height-1).attr("width",y+h).attr("height",t.height+h-d.height-3);const{subGraphTitleTopMargin:N}=u.getSubGraphTitleMargins(n);o.attr("transform",`translate(${t.x-d.width/2}, ${t.y-t.height/2-t.padding/3+(i.evaluate(n.flowchart.htmlLabels)?5:3)+N})`);const b=s.node().getBBox();return t.height=b.height,t.intersect=function(l){return u.intersectRect$1(t,l)},r},W=(e,t)=>{const n=e.insert("g").attr("class",t.classes).attr("id",t.id),r=n.insert("rect",":first-child"),s=0*t.padding,o=s/2;r.attr("class","divider").attr("x",t.x-t.width/2-o).attr("y",t.y-t.height/2).attr("width",t.width+s).attr("height",t.height+s);const f=r.node().getBBox();return t.width=f.width,t.height=f.height,t.diff=-t.padding/2,t.intersect=function(g){return u.intersectRect$1(t,g)},n},K={rect:H,roundedWithTitle:z,noteGroup:V,divider:W};let R={};const Q=(e,t)=>{i.log$1.trace("Inserting cluster");const n=t.shape||"rect";R[t.id]=K[n](e,t)},Y=()=>{R={}},L=async(e,t,n,r,s,o)=>{i.log$1.info("Graph in recursive render: XXX",x(t),s);const f=t.graph().rankdir;i.log$1.trace("Dir in recursive render - dir:",f);const g=e.insert("g").attr("class","root");t.nodes()?i.log$1.info("Recursive render XXX",t.nodes()):i.log$1.info("No nodes found for",t),t.edges().length>0&&i.log$1.trace("Recursive edges",t.edge(t.edges()[0]));const d=g.insert("g").attr("class","clusters"),h=g.insert("g").attr("class","edgePaths"),$=g.insert("g").attr("class","edgeLabels"),y=g.insert("g").attr("class","nodes");await Promise.all(t.nodes().map(async function(l){const c=t.node(l);if(s!==void 0){const v=JSON.parse(JSON.stringify(s.clusterData));i.log$1.info("Setting data for cluster XXX (",l,") ",v,s),t.setNode(s.id,v),t.parent(l)||(i.log$1.trace("Setting parent",l,s.id),t.setParent(l,s.id,v))}if(i.log$1.info("(Insert) Node XXX"+l+": "+JSON.stringify(t.node(l))),c&&c.clusterNode){i.log$1.info("Cluster identified",l,c.width,t.node(l));const v=await L(y,c.graph,n,r,t.node(l),o),E=v.elem;u.updateNodeBounds(c,E),c.diff=v.diff||0,i.log$1.info("Node bounds (abc123)",l,c,c.width,c.x,c.y),u.setNodeElem(E,c),i.log$1.warn("Recursive render complete ",E,c)}else t.children(l).length>0?(i.log$1.info("Cluster - the non recursive path XXX",l,c.id,c,t),i.log$1.info(C(c.id,t)),a[c.id]={id:C(c.id,t),node:c}):(i.log$1.info("Node - the non recursive path",l,c.id,c),await u.insertNode(y,t.node(l),f))})),t.edges().forEach(function(l){const c=t.edge(l.v,l.w,l.name);i.log$1.info("Edge "+l.v+" -> "+l.w+": "+JSON.stringify(l)),i.log$1.info("Edge "+l.v+" -> "+l.w+": ",l," ",JSON.stringify(t.edge(l))),i.log$1.info("Fix",a,"ids:",l.v,l.w,"Translating: ",a[l.v],a[l.w]),u.insertEdgeLabel($,c)}),t.edges().forEach(function(l){i.log$1.info("Edge "+l.v+" -> "+l.w+": "+JSON.stringify(l))}),i.log$1.info("#############################################"),i.log$1.info("### Layout ###"),i.log$1.info("#############################################"),i.log$1.info(t),J.layout(t),i.log$1.info("Graph after layout:",x(t));let N=0;const{subGraphTitleTotalMargin:b}=u.getSubGraphTitleMargins(o);return A(t).forEach(function(l){const c=t.node(l);i.log$1.info("Position "+l+": "+JSON.stringify(t.node(l))),i.log$1.info("Position "+l+": ("+c.x,","+c.y,") width: ",c.width," height: ",c.height),c&&c.clusterNode?(c.y+=b,u.positionNode(c)):t.children(l).length>0?(c.height+=b,Q(d,c),a[c.id].node=c):(c.y+=b/2,u.positionNode(c))}),t.edges().forEach(function(l){const c=t.edge(l);i.log$1.info("Edge "+l.v+" -> "+l.w+": "+JSON.stringify(c),c),c.points.forEach(E=>E.y+=b/2);const v=u.insertEdge(h,l,c,a,n,t,r);u.positionEdgeLabel(c,v)}),t.nodes().forEach(function(l){const c=t.node(l);i.log$1.info(l,c.type,c.diff),c.type==="group"&&(N=c.diff)}),{elem:g,diff:N}},Z=async(e,t,n,r,s)=>{u.insertMarkers$1(e,n,r,s),u.clear$1(),u.clear(),Y(),q(),i.log$1.warn("Graph at first:",JSON.stringify(x(t))),U(t),i.log$1.warn("Graph after:",JSON.stringify(x(t)));const o=i.getConfig();await L(e,t,r,s,void 0,o)};exports.render=Z;
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("./layers.DFx1KN6R.js");var e={paste:"Coller",pasteAsPlaintext:"Coller comme texte brut",pasteCharts:"Coller les graphiques",selectAll:"Tout sélectionner",multiSelect:"Ajouter l'élément à la sélection",moveCanvas:"Déplacer le canevas",cut:"Couper",copy:"Copier",copyAsPng:"Copier dans le presse-papier en PNG",copyAsSvg:"Copier dans le presse-papier en SVG",copyText:"Copier dans le presse-papier en tant que texte",copySource:"Copier la source dans le presse-papiers",convertToCode:"Convertir en code",bringForward:"Envoyer vers l'avant",sendToBack:"Déplacer à l'arrière-plan",bringToFront:"Mettre au premier plan",sendBackward:"Reculer d'un plan",delete:"Supprimer",copyStyles:"Copier les styles",pasteStyles:"Coller les styles",stroke:"Trait",background:"Arrière-plan",fill:"Remplissage",strokeWidth:"Largeur du contour",strokeStyle:"Style du trait",strokeStyle_solid:"Continu",strokeStyle_dashed:"Tirets",strokeStyle_dotted:"Pointillés",sloppiness:"Style de tracé",opacity:"Transparence",textAlign:"Alignement du texte",edges:"Angles",sharp:"Pointus",round:"Arrondis",arrowheads:"Extrémités",arrowhead_none:"Sans",arrowhead_arrow:"Flèche",arrowhead_bar:"Barre",arrowhead_circle:"Cercle",arrowhead_circle_outline:"Contour du cercle",arrowhead_triangle:"Triangle",arrowhead_triangle_outline:"Triangle (contour)",arrowhead_diamond:"Losange",arrowhead_diamond_outline:"",fontSize:"Taille de la police",fontFamily:"Police",addWatermark:'Ajouter "Réalisé avec Excalidraw"',handDrawn:"À main levée",normal:"Normale",code:"Code",small:"Petite",medium:"Moyenne",large:"Grande",veryLarge:"Très grande",solid:"Solide",hachure:"Hachures",zigzag:"Zigzag",crossHatch:"Hachures croisées",thin:"Fine",bold:"Épaisse",left:"À gauche",center:"Au centre",right:"À droite",extraBold:"Très épaisse",architect:"Architecte",artist:"Artiste",cartoonist:"Caricaturiste",fileTitle:"Nom du fichier",colorPicker:"Sélecteur de couleur",canvasColors:"Utilisé sur la zone de dessin",canvasBackground:"Arrière-plan du canevas",drawingCanvas:"Zone de dessin",layers:"Disposition",actions:"Actions",language:"Langue",liveCollaboration:"Collaboration en direct...",duplicateSelection:"Dupliquer",untitled:"Sans-titre",name:"Nom",yourName:"Votre nom",madeWithExcalidraw:"Fait avec Excalidraw",group:"Grouper la sélection",ungroup:"Dégrouper la sélection",collaborators:"Collaborateurs",showGrid:"Afficher la grille",addToLibrary:"Ajouter à la bibliothèque",removeFromLibrary:"Supprimer de la bibliothèque",libraryLoadingMessage:"Chargement de la bibliothèque…",libraries:"Parcourir les bibliothèques",loadingScene:"Chargement de la scène…",align:"Alignement",alignTop:"Aligner en haut",alignBottom:"Aligner en bas",alignLeft:"Aligner à gauche",alignRight:"Aligner à droite",centerVertically:"Centrer verticalement",centerHorizontally:"Centrer horizontalement",distributeHorizontally:"Répartir horizontalement",distributeVertically:"Répartir verticalement",flipHorizontal:"Retourner horizontalement",flipVertical:"Retourner verticalement",viewMode:"Mode présentation",share:"Partager",showStroke:"Afficher le sélecteur de couleur de trait",showBackground:"Afficher le sélecteur de couleur de fond",toggleTheme:"Changer le thème",personalLib:"Bibliothèque personnelle",excalidrawLib:"Bibliothèque Excalidraw",decreaseFontSize:"Diminuer la taille de police",increaseFontSize:"Augmenter la taille de la police",unbindText:"Dissocier le texte",bindText:"Associer le texte au conteneur",createContainerFromText:"Encadrer le texte dans un conteneur",link:{edit:"Modifier le lien",editEmbed:"Éditer le lien & intégrer",create:"Ajouter un lien",createEmbed:"Créer un lien & intégrer",label:"Lien",labelEmbed:"Lier & intégrer",empty:"Aucun lien défini"},lineEditor:{edit:"Modifier la ligne",exit:"Quitter l'éditeur de ligne"},elementLock:{lock:"Verrouiller",unlock:"Déverrouiller",lockAll:"Tout verrouiller",unlockAll:"Tout déverrouiller"},statusPublished:"Publié",sidebarLock:"Maintenir la barre latérale ouverte",selectAllElementsInFrame:"Sélectionner tous les éléments du cadre",removeAllElementsFromFrame:"Supprimer tous les éléments du cadre",eyeDropper:"Choisir la couleur depuis la toile",textToDiagram:"Texte vers Diagramme",prompt:"Consignes"},r={noItems:"Aucun élément n'a encore été ajouté ...",hint_emptyLibrary:"Sélectionnez un élément sur le canevas pour l'ajouter ici ou installez une bibliothèque depuis le dépôt public, ci-dessous.",hint_emptyPrivateLibrary:"Sélectionnez un élément sur le canevas pour l'ajouter ici."},i={clearReset:"Réinitialiser le canevas",exportJSON:"Exporter comme fichier",exportImage:"Exporter l'image...",export:"Enregistrer sous...",copyToClipboard:"Copier dans le presse-papier",save:"Enregistrer dans le fichier actuel",saveAs:"Enregistrer sous",load:"Ouvrir",getShareableLink:"Obtenir un lien de partage",close:"Fermer",selectLanguage:"Choisir une langue",scrollBackToContent:"Revenir au contenu",zoomIn:"Zoomer",zoomOut:"Dézoomer",resetZoom:"Réinitialiser le zoom",menu:"Menu",done:"Terminé",edit:"Modifier",undo:"Annuler",redo:"Rétablir",resetLibrary:"Réinitialiser la bibliothèque",createNewRoom:"Créer une nouvelle salle",fullScreen:"Plein écran",darkMode:"Mode sombre",lightMode:"Mode clair",zenMode:"Mode zen",objectsSnapMode:"Aimanter aux objets",exitZenMode:"Quitter le mode zen",cancel:"Annuler",clear:"Effacer",remove:"Supprimer",embed:"Activer/Désactiver l'intégration",publishLibrary:"Publier",submit:"Envoyer",confirm:"Confirmer",embeddableInteractionButton:"Cliquez pour interagir"},o={clearReset:"L'intégralité du canevas va être effacée. Êtes-vous sûr ?",couldNotCreateShareableLink:"Impossible de créer un lien de partage.",couldNotCreateShareableLinkTooBig:"Impossible de créer un lien de partage : la scène est trop volumineuse",couldNotLoadInvalidFile:"Impossible de charger un fichier invalide",importBackendFailed:"L'importation depuis le serveur a échoué.",cannotExportEmptyCanvas:"Impossible d'exporter un canevas vide.",couldNotCopyToClipboard:"Impossible de copier dans le presse-papiers.",decryptFailed:"Les données n'ont pas pu être déchiffrées.",uploadedSecurly:"Le téléchargement a été sécurisé avec un chiffrement de bout en bout, ce qui signifie que ni Excalidraw ni personne d'autre ne peut en lire le contenu.",loadSceneOverridePrompt:"Le chargement d'un dessin externe remplacera votre contenu actuel. Souhaitez-vous continuer ?",collabStopOverridePrompt:`Arrêter la session écrasera votre précédent dessin stocké localement. Êtes-vous sûr·e ?
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("./layers.BBnyW5Sf.js");var e={paste:"Coller",pasteAsPlaintext:"Coller comme texte brut",pasteCharts:"Coller les graphiques",selectAll:"Tout sélectionner",multiSelect:"Ajouter l'élément à la sélection",moveCanvas:"Déplacer le canevas",cut:"Couper",copy:"Copier",copyAsPng:"Copier dans le presse-papier en PNG",copyAsSvg:"Copier dans le presse-papier en SVG",copyText:"Copier dans le presse-papier en tant que texte",copySource:"Copier la source dans le presse-papiers",convertToCode:"Convertir en code",bringForward:"Envoyer vers l'avant",sendToBack:"Déplacer à l'arrière-plan",bringToFront:"Mettre au premier plan",sendBackward:"Reculer d'un plan",delete:"Supprimer",copyStyles:"Copier les styles",pasteStyles:"Coller les styles",stroke:"Trait",background:"Arrière-plan",fill:"Remplissage",strokeWidth:"Largeur du contour",strokeStyle:"Style du trait",strokeStyle_solid:"Continu",strokeStyle_dashed:"Tirets",strokeStyle_dotted:"Pointillés",sloppiness:"Style de tracé",opacity:"Transparence",textAlign:"Alignement du texte",edges:"Angles",sharp:"Pointus",round:"Arrondis",arrowheads:"Extrémités",arrowhead_none:"Sans",arrowhead_arrow:"Flèche",arrowhead_bar:"Barre",arrowhead_circle:"Cercle",arrowhead_circle_outline:"Contour du cercle",arrowhead_triangle:"Triangle",arrowhead_triangle_outline:"Triangle (contour)",arrowhead_diamond:"Losange",arrowhead_diamond_outline:"",fontSize:"Taille de la police",fontFamily:"Police",addWatermark:'Ajouter "Réalisé avec Excalidraw"',handDrawn:"À main levée",normal:"Normale",code:"Code",small:"Petite",medium:"Moyenne",large:"Grande",veryLarge:"Très grande",solid:"Solide",hachure:"Hachures",zigzag:"Zigzag",crossHatch:"Hachures croisées",thin:"Fine",bold:"Épaisse",left:"À gauche",center:"Au centre",right:"À droite",extraBold:"Très épaisse",architect:"Architecte",artist:"Artiste",cartoonist:"Caricaturiste",fileTitle:"Nom du fichier",colorPicker:"Sélecteur de couleur",canvasColors:"Utilisé sur la zone de dessin",canvasBackground:"Arrière-plan du canevas",drawingCanvas:"Zone de dessin",layers:"Disposition",actions:"Actions",language:"Langue",liveCollaboration:"Collaboration en direct...",duplicateSelection:"Dupliquer",untitled:"Sans-titre",name:"Nom",yourName:"Votre nom",madeWithExcalidraw:"Fait avec Excalidraw",group:"Grouper la sélection",ungroup:"Dégrouper la sélection",collaborators:"Collaborateurs",showGrid:"Afficher la grille",addToLibrary:"Ajouter à la bibliothèque",removeFromLibrary:"Supprimer de la bibliothèque",libraryLoadingMessage:"Chargement de la bibliothèque…",libraries:"Parcourir les bibliothèques",loadingScene:"Chargement de la scène…",align:"Alignement",alignTop:"Aligner en haut",alignBottom:"Aligner en bas",alignLeft:"Aligner à gauche",alignRight:"Aligner à droite",centerVertically:"Centrer verticalement",centerHorizontally:"Centrer horizontalement",distributeHorizontally:"Répartir horizontalement",distributeVertically:"Répartir verticalement",flipHorizontal:"Retourner horizontalement",flipVertical:"Retourner verticalement",viewMode:"Mode présentation",share:"Partager",showStroke:"Afficher le sélecteur de couleur de trait",showBackground:"Afficher le sélecteur de couleur de fond",toggleTheme:"Changer le thème",personalLib:"Bibliothèque personnelle",excalidrawLib:"Bibliothèque Excalidraw",decreaseFontSize:"Diminuer la taille de police",increaseFontSize:"Augmenter la taille de la police",unbindText:"Dissocier le texte",bindText:"Associer le texte au conteneur",createContainerFromText:"Encadrer le texte dans un conteneur",link:{edit:"Modifier le lien",editEmbed:"Éditer le lien & intégrer",create:"Ajouter un lien",createEmbed:"Créer un lien & intégrer",label:"Lien",labelEmbed:"Lier & intégrer",empty:"Aucun lien défini"},lineEditor:{edit:"Modifier la ligne",exit:"Quitter l'éditeur de ligne"},elementLock:{lock:"Verrouiller",unlock:"Déverrouiller",lockAll:"Tout verrouiller",unlockAll:"Tout déverrouiller"},statusPublished:"Publié",sidebarLock:"Maintenir la barre latérale ouverte",selectAllElementsInFrame:"Sélectionner tous les éléments du cadre",removeAllElementsFromFrame:"Supprimer tous les éléments du cadre",eyeDropper:"Choisir la couleur depuis la toile",textToDiagram:"Texte vers Diagramme",prompt:"Consignes"},r={noItems:"Aucun élément n'a encore été ajouté ...",hint_emptyLibrary:"Sélectionnez un élément sur le canevas pour l'ajouter ici ou installez une bibliothèque depuis le dépôt public, ci-dessous.",hint_emptyPrivateLibrary:"Sélectionnez un élément sur le canevas pour l'ajouter ici."},i={clearReset:"Réinitialiser le canevas",exportJSON:"Exporter comme fichier",exportImage:"Exporter l'image...",export:"Enregistrer sous...",copyToClipboard:"Copier dans le presse-papier",save:"Enregistrer dans le fichier actuel",saveAs:"Enregistrer sous",load:"Ouvrir",getShareableLink:"Obtenir un lien de partage",close:"Fermer",selectLanguage:"Choisir une langue",scrollBackToContent:"Revenir au contenu",zoomIn:"Zoomer",zoomOut:"Dézoomer",resetZoom:"Réinitialiser le zoom",menu:"Menu",done:"Terminé",edit:"Modifier",undo:"Annuler",redo:"Rétablir",resetLibrary:"Réinitialiser la bibliothèque",createNewRoom:"Créer une nouvelle salle",fullScreen:"Plein écran",darkMode:"Mode sombre",lightMode:"Mode clair",zenMode:"Mode zen",objectsSnapMode:"Aimanter aux objets",exitZenMode:"Quitter le mode zen",cancel:"Annuler",clear:"Effacer",remove:"Supprimer",embed:"Activer/Désactiver l'intégration",publishLibrary:"Publier",submit:"Envoyer",confirm:"Confirmer",embeddableInteractionButton:"Cliquez pour interagir"},o={clearReset:"L'intégralité du canevas va être effacée. Êtes-vous sûr ?",couldNotCreateShareableLink:"Impossible de créer un lien de partage.",couldNotCreateShareableLinkTooBig:"Impossible de créer un lien de partage : la scène est trop volumineuse",couldNotLoadInvalidFile:"Impossible de charger un fichier invalide",importBackendFailed:"L'importation depuis le serveur a échoué.",cannotExportEmptyCanvas:"Impossible d'exporter un canevas vide.",couldNotCopyToClipboard:"Impossible de copier dans le presse-papiers.",decryptFailed:"Les données n'ont pas pu être déchiffrées.",uploadedSecurly:"Le téléchargement a été sécurisé avec un chiffrement de bout en bout, ce qui signifie que ni Excalidraw ni personne d'autre ne peut en lire le contenu.",loadSceneOverridePrompt:"Le chargement d'un dessin externe remplacera votre contenu actuel. Souhaitez-vous continuer ?",collabStopOverridePrompt:`Arrêter la session écrasera votre précédent dessin stocké localement. Êtes-vous sûr·e ?
2
2
 
3
3
  (Si vous voulez garder votre dessin local, fermez simplement l'onglet du navigateur à la place.)`,errorAddingToLibrary:"Impossible d'ajouter l'élément à la bibliothèque",errorRemovingFromLibrary:"Impossible de retirer l'élément de la bibliothèque",confirmAddLibrary:"Cela va ajouter {{numShapes}} forme(s) à votre bibliothèque. Êtes-vous sûr·e ?",imageDoesNotContainScene:"Cette image ne semble pas contenir de données de scène. Avez-vous activé l'intégration de scène lors de l'exportation ?",cannotRestoreFromImage:"Impossible de restaurer la scène depuis ce fichier image",invalidSceneUrl:"Impossible d'importer la scène depuis l'URL fournie. Elle est soit incorrecte, soit ne contient pas de données JSON Excalidraw valides.",resetLibrary:"Cela va effacer votre bibliothèque. Êtes-vous sûr·e ?",removeItemsFromsLibrary:"Supprimer {{count}} élément(s) de la bibliothèque ?",invalidEncryptionKey:"La clé de chiffrement doit comporter 22 caractères. La collaboration en direct est désactivée.",collabOfflineWarning:`Aucune connexion internet disponible.
4
4
  Vos modifications ne seront pas enregistrées !`},t={unsupportedFileType:"Type de fichier non supporté.",imageInsertError:"Impossible d'insérer l'image. Réessayez plus tard...",fileTooBig:"Le fichier est trop volumineux. La taille maximale autorisée est de {{maxSize}}.",svgImageInsertError:"Impossible d'insérer l'image SVG. Le balisage SVG semble invalide.",failedToFetchImage:"Échec de récupération de l'image.",invalidSVGString:"SVG invalide.",cannotResolveCollabServer:"Impossible de se connecter au serveur collaboratif. Veuillez recharger la page et réessayer.",importLibraryError:"Impossible de charger la bibliothèque",collabSaveFailed:"Impossible d'enregistrer dans la base de données en arrière-plan. Si des problèmes persistent, vous devriez enregistrer votre fichier localement pour vous assurer de ne pas perdre votre travail.",collabSaveFailed_sizeExceeded:"Impossible d'enregistrer dans la base de données en arrière-plan, le tableau semble trop grand. Vous devriez enregistrer le fichier localement pour vous assurer de ne pas perdre votre travail.",imageToolNotSupported:"Les images sont désactivées.",brave_measure_text_error:{line1:"On dirait que vous utilisez le navigateur Brave avec l'option <bold>Bloquer agressivement le fichage</bold> activée.",line2:"Cela pourrait entraîner des problèmes avec les <bold>Éléments Textuels</bold> dans vos dessins.",line3:"Nous recommandons fortement de désactiver cette option. Vous pouvez suivre <link>ces instructions</link> pour savoir comment faire.",line4:"Si désactiver cette option de résout pas le problème d'affichage des éléments textuels, veuillez ouvrir un <issueLink>ticket</issueLink> sur notre GitHub, ou écrivez-nous sur notre <discordLink>Discord</discordLink>"},libraryElementTypeError:{embeddable:"Les éléments intégrés ne peuvent pas être ajoutés à la librairie.",iframe:"",image:"Le support pour l'ajout d'images à la librairie arrive bientôt !"},asyncPasteFailedOnRead:"Impossible de coller (impossible de lire le presse-papiers système).",asyncPasteFailedOnParse:"Impossible de coller.",copyToSystemClipboardFailed:"Échec de la copie dans le presse-papiers."},n={selection:"Sélection",image:"Insérer une image",rectangle:"Rectangle",diamond:"Losange",ellipse:"Ellipse",arrow:"Flèche",line:"Ligne",freedraw:"Dessiner",text:"Texte",library:"Bibliothèque",lock:"Garder l'outil sélectionné actif après le dessin",penMode:"Mode stylo - évite le toucher",link:"Ajouter/mettre à jour le lien pour une forme sélectionnée",eraser:"Gomme",frame:"Outil de cadre",magicframe:"",embeddable:"Intégration Web",laser:"Pointeur laser",hand:"Mains (outil de déplacement de la vue)",extraTools:"Plus d'outils",mermaidToExcalidraw:"De Mermaid à Excalidraw",magicSettings:"Paramètres IA"},a={canvasActions:"Actions du canevas",selectedShapeActions:"Actions pour la forme sélectionnée",shapes:"Formes"},l={canvasPanning:"Pour déplacer la zone de dessin, maintenez la molette de la souris enfoncée ou la barre d'espace tout en faisant glisser, ou utiliser l'outil main.",linearElement:"Cliquez pour démarrer plusieurs points, faites glisser pour une seule ligne",freeDraw:"Cliquez et faites glissez, relâchez quand vous avez terminé",text:"Astuce : vous pouvez aussi ajouter du texte en double-cliquant n'importe où avec l'outil de sélection",embeddable:"Cliquez et glissez pour créer une intégration de site web",text_selected:"Double-cliquez ou appuyez sur ENTRÉE pour modifier le texte",text_editing:"Appuyez sur ÉCHAP ou Ctrl/Cmd+ENTRÉE pour terminer l'édition",linearElementMulti:"Cliquez sur le dernier point ou appuyez sur Échap ou Entrée pour terminer",lockAngle:"Vous pouvez restreindre l'angle en maintenant MAJ",resize:"Vous pouvez conserver les proportions en maintenant la touche MAJ pendant le redimensionnement, maintenez la touche ALT pour redimensionner par rapport au centre",resizeImage:`Vous pouvez redimensionner librement en maintenant SHIFT,
@@ -94,7 +94,7 @@ const ce = ({
94
94
  let w = null;
95
95
  const re = /* @__PURE__ */ P(async () => {
96
96
  var t;
97
- const l = await import("./layers.RW6I02nN.js").then((c) => c.M);
97
+ const l = await import("./layers.BdlF14EQ.js").then((c) => c.M);
98
98
  return !w && l && (w = l.exportToSvg || ((t = l.default) == null ? void 0 : t.exportToSvg) || l.default), { default: l.Excalidraw };
99
99
  }), oe = () => {
100
100
  const [l, t] = T(
@@ -196,11 +196,11 @@ function ue({
196
196
  var v, x, b;
197
197
  let e = w;
198
198
  if (!e || typeof e != "function") {
199
- const r = await import("./layers.RW6I02nN.js").then((a) => a.M);
199
+ const r = await import("./layers.BdlF14EQ.js").then((a) => a.M);
200
200
  e = r.exportToSvg || ((v = r.default) == null ? void 0 : v.exportToSvg) || r.default, e && typeof e == "function" && (w = e);
201
201
  }
202
202
  if (!e || typeof e != "function") {
203
- const r = await import("./layers.RW6I02nN.js").then((s) => s.M), a = r ? Object.keys(r) : [];
203
+ const r = await import("./layers.BdlF14EQ.js").then((s) => s.M), a = r ? Object.keys(r) : [];
204
204
  throw console.error("Excalidraw module structure:", {
205
205
  keys: a,
206
206
  hasExportToSvg: r && "exportToSvg" in r,
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("./layers.DFx1KN6R.js");var u={paste:"붙여넣기",pasteAsPlaintext:"일반 텍스트로 붙여넣기",pasteCharts:"차트 붙여넣기",selectAll:"전체 선택",multiSelect:"선택 영역에 추가하기",moveCanvas:"캔버스 이동",cut:"잘라내기",copy:"복사",copyAsPng:"클립보드로 PNG 이미지 복사",copyAsSvg:"클립보드로 SVG 이미지 복사",copyText:"클립보드로 텍스트 복사",copySource:"소스코드를 클립보드로 복사",convertToCode:"코드로 변환",bringForward:"앞으로 가져오기",sendToBack:"맨 뒤로 보내기",bringToFront:"맨 앞으로 가져오기",sendBackward:"뒤로 보내기",delete:"삭제",copyStyles:"스타일 복사하기",pasteStyles:"스타일 붙여넣기",stroke:"선 색상",background:"배경색",fill:"채우기",strokeWidth:"선 굵기",strokeStyle:"선",strokeStyle_solid:"실선",strokeStyle_dashed:"파선",strokeStyle_dotted:"점선",sloppiness:"대충 긋기",opacity:"불투명도",textAlign:"텍스트 정렬",edges:"가장자리",sharp:"뾰족하게",round:"둥글게",arrowheads:"화살촉",arrowhead_none:"없음",arrowhead_arrow:"화살표",arrowhead_bar:"막대",arrowhead_circle:"원",arrowhead_circle_outline:"원 (외곽선)",arrowhead_triangle:"삼각형",arrowhead_triangle_outline:"삼각형 (외곽선)",arrowhead_diamond:"마름모",arrowhead_diamond_outline:"마름모 (외곽선)",fontSize:"글자 크기",fontFamily:"글꼴",addWatermark:'"Made with Excalidraw" 추가',handDrawn:"손글씨",normal:"일반",code:"코드",small:"작게",medium:"보통",large:"크게",veryLarge:"매우 크게",solid:"단색",hachure:"평행선",zigzag:"지그재그",crossHatch:"교차선",thin:"얇게",bold:"굵게",left:"왼쪽",center:"가운데",right:"오른쪽",extraBold:"매우 굵게",architect:"건축가",artist:"예술가",cartoonist:"만화가",fileTitle:"파일 이름",colorPicker:"색상 선택기",canvasColors:"캔버스에서 사용되었음",canvasBackground:"캔버스 배경",drawingCanvas:"캔버스 그리기",layers:"레이어",actions:"동작",language:"언어",liveCollaboration:"실시간 협업...",duplicateSelection:"복제",untitled:"제목 없음",name:"이름",yourName:"이름 입력",madeWithExcalidraw:"Made with Excalidraw",group:"그룹 생성",ungroup:"그룹 해제",collaborators:"공동 작업자",showGrid:"그리드 보기",addToLibrary:"라이브러리에 추가",removeFromLibrary:"라이브러리에서 제거",libraryLoadingMessage:"라이브러리 불러오는 중…",libraries:"라이브러리 찾기",loadingScene:"화면 불러오는 중…",align:"정렬",alignTop:"상단 정렬",alignBottom:"하단 정렬",alignLeft:"왼쪽 정렬",alignRight:"오른쪽 정렬",centerVertically:"수직으로 중앙 정렬",centerHorizontally:"수평으로 중앙 정렬",distributeHorizontally:"수평으로 분배",distributeVertically:"수직으로 분배",flipHorizontal:"좌우반전",flipVertical:"상하반전",viewMode:"보기 모드",share:"공유",showStroke:"윤곽선 색상 선택기 열기",showBackground:"배경 색상 선택기 열기",toggleTheme:"테마 전환",personalLib:"개인 라이브러리",excalidrawLib:"Excalidraw 라이브러리",decreaseFontSize:"폰트 사이즈 줄이기",increaseFontSize:"폰트 사이즈 키우기",unbindText:"텍스트 분리",bindText:"텍스트를 컨테이너에 결합",createContainerFromText:"텍스트를 컨테이너에 담기",link:{edit:"링크 수정하기",editEmbed:"링크 & 임베드 수정하기",create:"링크 만들기",createEmbed:"링크 & 임베드 만들기",label:"링크",labelEmbed:"링크 & 임베드",empty:"링크를 지정하지 않았습니다"},lineEditor:{edit:"선 수정하기",exit:"선 편집기 종료"},elementLock:{lock:"잠금",unlock:"잠금 해제",lockAll:"모두 잠금",unlockAll:"모두 잠금 해제"},statusPublished:"게시됨",sidebarLock:"사이드바 유지",selectAllElementsInFrame:"프레임의 모든 요소 선택",removeAllElementsFromFrame:"프레임의 모든 요소 삭제",eyeDropper:"캔버스에서 색상 고르기",textToDiagram:"텍스트를 다이어그램으로",prompt:"프롬프트"},C={noItems:"추가된 아이템 없음",hint_emptyLibrary:"캔버스 위에서 아이템을 선택하여 여기에 추가를 하거나, 아래의 공용 저장소에서 라이브러리를 설치하세요.",hint_emptyPrivateLibrary:"캔버스 위에서 아이템을 선택하여 여기 추가하세요."},B={clearReset:"캔버스 초기화",exportJSON:"파일로 내보내기",exportImage:"이미지 내보내기",export:"다른 이름으로 저장...",copyToClipboard:"클립보드로 복사",save:"현재 파일에 저장",saveAs:"다른 이름으로 저장",load:"열기",getShareableLink:"공유 가능한 링크 생성",close:"닫기",selectLanguage:"언어 선택",scrollBackToContent:"콘텐츠 영역으로 스크롤하기",zoomIn:"확대",zoomOut:"축소",resetZoom:"확대/축소 초기화",menu:"메뉴",done:"완료",edit:"수정",undo:"실행 취소",redo:"다시 실행",resetLibrary:"라이브러리 리셋",createNewRoom:"방 만들기",fullScreen:"전체화면",darkMode:"다크 모드",lightMode:"밝은 모드",zenMode:"젠 모드",objectsSnapMode:"다른 요소들에 정렬시키기",exitZenMode:"젠 모드 종료하기",cancel:"취소",clear:"지우기",remove:"삭제",embed:"임베딩 토글",publishLibrary:"게시하기",submit:"제출",confirm:"확인",embeddableInteractionButton:"클릭하여 상호작용"},D={clearReset:"모든 작업 내용이 초기화됩니다. 계속하시겠습니까?",couldNotCreateShareableLink:"공유 가능한 링크를 생성할 수 없습니다.",couldNotCreateShareableLinkTooBig:"공유 가능한 링크를 생성할 수 없습니다: 화면이 너무 큽니다.",couldNotLoadInvalidFile:"유효하지 않은 파일입니다.",importBackendFailed:"서버로부터 불러 오지 못했습니다.",cannotExportEmptyCanvas:"빈 캔버스를 내보낼 수 없습니다.",couldNotCopyToClipboard:"클립보드로 복사하지 못했습니다.",decryptFailed:"데이터를 복호화하지 못했습니다.",uploadedSecurly:"업로드는 종단 간 암호화로 보호되므로 Excalidraw 서버 및 타사가 콘텐츠를 읽을 수 없습니다.",loadSceneOverridePrompt:"외부 파일을 불러 오면 기존 콘텐츠가 대체됩니다. 계속 진행할까요?",collabStopOverridePrompt:`협업 세션을 종료하면 로컬 저장소에 있는 그림이 협업 세션의 그림으로 대체됩니다. 진행하겠습니까?
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("./layers.BBnyW5Sf.js");var u={paste:"붙여넣기",pasteAsPlaintext:"일반 텍스트로 붙여넣기",pasteCharts:"차트 붙여넣기",selectAll:"전체 선택",multiSelect:"선택 영역에 추가하기",moveCanvas:"캔버스 이동",cut:"잘라내기",copy:"복사",copyAsPng:"클립보드로 PNG 이미지 복사",copyAsSvg:"클립보드로 SVG 이미지 복사",copyText:"클립보드로 텍스트 복사",copySource:"소스코드를 클립보드로 복사",convertToCode:"코드로 변환",bringForward:"앞으로 가져오기",sendToBack:"맨 뒤로 보내기",bringToFront:"맨 앞으로 가져오기",sendBackward:"뒤로 보내기",delete:"삭제",copyStyles:"스타일 복사하기",pasteStyles:"스타일 붙여넣기",stroke:"선 색상",background:"배경색",fill:"채우기",strokeWidth:"선 굵기",strokeStyle:"선",strokeStyle_solid:"실선",strokeStyle_dashed:"파선",strokeStyle_dotted:"점선",sloppiness:"대충 긋기",opacity:"불투명도",textAlign:"텍스트 정렬",edges:"가장자리",sharp:"뾰족하게",round:"둥글게",arrowheads:"화살촉",arrowhead_none:"없음",arrowhead_arrow:"화살표",arrowhead_bar:"막대",arrowhead_circle:"원",arrowhead_circle_outline:"원 (외곽선)",arrowhead_triangle:"삼각형",arrowhead_triangle_outline:"삼각형 (외곽선)",arrowhead_diamond:"마름모",arrowhead_diamond_outline:"마름모 (외곽선)",fontSize:"글자 크기",fontFamily:"글꼴",addWatermark:'"Made with Excalidraw" 추가',handDrawn:"손글씨",normal:"일반",code:"코드",small:"작게",medium:"보통",large:"크게",veryLarge:"매우 크게",solid:"단색",hachure:"평행선",zigzag:"지그재그",crossHatch:"교차선",thin:"얇게",bold:"굵게",left:"왼쪽",center:"가운데",right:"오른쪽",extraBold:"매우 굵게",architect:"건축가",artist:"예술가",cartoonist:"만화가",fileTitle:"파일 이름",colorPicker:"색상 선택기",canvasColors:"캔버스에서 사용되었음",canvasBackground:"캔버스 배경",drawingCanvas:"캔버스 그리기",layers:"레이어",actions:"동작",language:"언어",liveCollaboration:"실시간 협업...",duplicateSelection:"복제",untitled:"제목 없음",name:"이름",yourName:"이름 입력",madeWithExcalidraw:"Made with Excalidraw",group:"그룹 생성",ungroup:"그룹 해제",collaborators:"공동 작업자",showGrid:"그리드 보기",addToLibrary:"라이브러리에 추가",removeFromLibrary:"라이브러리에서 제거",libraryLoadingMessage:"라이브러리 불러오는 중…",libraries:"라이브러리 찾기",loadingScene:"화면 불러오는 중…",align:"정렬",alignTop:"상단 정렬",alignBottom:"하단 정렬",alignLeft:"왼쪽 정렬",alignRight:"오른쪽 정렬",centerVertically:"수직으로 중앙 정렬",centerHorizontally:"수평으로 중앙 정렬",distributeHorizontally:"수평으로 분배",distributeVertically:"수직으로 분배",flipHorizontal:"좌우반전",flipVertical:"상하반전",viewMode:"보기 모드",share:"공유",showStroke:"윤곽선 색상 선택기 열기",showBackground:"배경 색상 선택기 열기",toggleTheme:"테마 전환",personalLib:"개인 라이브러리",excalidrawLib:"Excalidraw 라이브러리",decreaseFontSize:"폰트 사이즈 줄이기",increaseFontSize:"폰트 사이즈 키우기",unbindText:"텍스트 분리",bindText:"텍스트를 컨테이너에 결합",createContainerFromText:"텍스트를 컨테이너에 담기",link:{edit:"링크 수정하기",editEmbed:"링크 & 임베드 수정하기",create:"링크 만들기",createEmbed:"링크 & 임베드 만들기",label:"링크",labelEmbed:"링크 & 임베드",empty:"링크를 지정하지 않았습니다"},lineEditor:{edit:"선 수정하기",exit:"선 편집기 종료"},elementLock:{lock:"잠금",unlock:"잠금 해제",lockAll:"모두 잠금",unlockAll:"모두 잠금 해제"},statusPublished:"게시됨",sidebarLock:"사이드바 유지",selectAllElementsInFrame:"프레임의 모든 요소 선택",removeAllElementsFromFrame:"프레임의 모든 요소 삭제",eyeDropper:"캔버스에서 색상 고르기",textToDiagram:"텍스트를 다이어그램으로",prompt:"프롬프트"},C={noItems:"추가된 아이템 없음",hint_emptyLibrary:"캔버스 위에서 아이템을 선택하여 여기에 추가를 하거나, 아래의 공용 저장소에서 라이브러리를 설치하세요.",hint_emptyPrivateLibrary:"캔버스 위에서 아이템을 선택하여 여기 추가하세요."},B={clearReset:"캔버스 초기화",exportJSON:"파일로 내보내기",exportImage:"이미지 내보내기",export:"다른 이름으로 저장...",copyToClipboard:"클립보드로 복사",save:"현재 파일에 저장",saveAs:"다른 이름으로 저장",load:"열기",getShareableLink:"공유 가능한 링크 생성",close:"닫기",selectLanguage:"언어 선택",scrollBackToContent:"콘텐츠 영역으로 스크롤하기",zoomIn:"확대",zoomOut:"축소",resetZoom:"확대/축소 초기화",menu:"메뉴",done:"완료",edit:"수정",undo:"실행 취소",redo:"다시 실행",resetLibrary:"라이브러리 리셋",createNewRoom:"방 만들기",fullScreen:"전체화면",darkMode:"다크 모드",lightMode:"밝은 모드",zenMode:"젠 모드",objectsSnapMode:"다른 요소들에 정렬시키기",exitZenMode:"젠 모드 종료하기",cancel:"취소",clear:"지우기",remove:"삭제",embed:"임베딩 토글",publishLibrary:"게시하기",submit:"제출",confirm:"확인",embeddableInteractionButton:"클릭하여 상호작용"},D={clearReset:"모든 작업 내용이 초기화됩니다. 계속하시겠습니까?",couldNotCreateShareableLink:"공유 가능한 링크를 생성할 수 없습니다.",couldNotCreateShareableLinkTooBig:"공유 가능한 링크를 생성할 수 없습니다: 화면이 너무 큽니다.",couldNotLoadInvalidFile:"유효하지 않은 파일입니다.",importBackendFailed:"서버로부터 불러 오지 못했습니다.",cannotExportEmptyCanvas:"빈 캔버스를 내보낼 수 없습니다.",couldNotCopyToClipboard:"클립보드로 복사하지 못했습니다.",decryptFailed:"데이터를 복호화하지 못했습니다.",uploadedSecurly:"업로드는 종단 간 암호화로 보호되므로 Excalidraw 서버 및 타사가 콘텐츠를 읽을 수 없습니다.",loadSceneOverridePrompt:"외부 파일을 불러 오면 기존 콘텐츠가 대체됩니다. 계속 진행할까요?",collabStopOverridePrompt:`협업 세션을 종료하면 로컬 저장소에 있는 그림이 협업 세션의 그림으로 대체됩니다. 진행하겠습니까?
2
2
 
3
3
  (로컬 저장소에 있는 그림을 유지하려면 현재 브라우저 탭을 닫아주세요.)`,errorAddingToLibrary:"아이템을 라이브러리에 추가 할수 없습니다",errorRemovingFromLibrary:"라이브러리에서 아이템을 삭제할수 없습니다",confirmAddLibrary:"{{numShapes}}개의 모양이 라이브러리에 추가됩니다. 계속하시겠어요?",imageDoesNotContainScene:"이 이미지는 화면 데이터를 포함하고 있지 않은 것 같습니다. 내보낼 때 화면을 첨부하도록 설정하셨나요?",cannotRestoreFromImage:"이미지 파일에서 화면을 복구할 수 없었습니다",invalidSceneUrl:"제공된 URL에서 화면을 가져오는데 실패했습니다. 주소가 잘못되거나, 유효한 Excalidraw JSON 데이터를 포함하고 있지 않은 것일 수 있습니다.",resetLibrary:"당신의 라이브러리를 초기화 합니다. 계속하시겠습니까?",removeItemsFromsLibrary:"{{count}}개의 아이템을 라이브러리에서 삭제하시겠습니까?",invalidEncryptionKey:"암호화 키는 반드시 22글자여야 합니다. 실시간 협업이 비활성화됩니다.",collabOfflineWarning:`인터넷에 연결되어 있지 않습니다.
4
4
  변경 사항들이 저장되지 않습니다!`},A={unsupportedFileType:"지원하지 않는 파일 형식 입니다.",imageInsertError:"이미지를 삽입할 수 없습니다. 나중에 다시 시도 하십시오",fileTooBig:"파일이 너무 큽니다. 최대 크기는 {{maxSize}} 입니다.",svgImageInsertError:"SVG 이미지를 삽입하지 못했습니다. SVG 문법이 유효하지 않은 것 같습니다.",failedToFetchImage:"이미지를 가져오는데 실패했습니다.",invalidSVGString:"유효하지 않은 SVG입니다.",cannotResolveCollabServer:"협업 서버에 접속하는데 실패했습니다. 페이지를 새로고침하고 다시 시도해보세요.",importLibraryError:"라이브러리를 불러오지 못했습니다.",collabSaveFailed:"데이터베이스에 저장하지 못했습니다. 문제가 계속 된다면, 작업 내용을 잃지 않도록 로컬 저장소에 저장해 주세요.",collabSaveFailed_sizeExceeded:"데이터베이스에 저장하지 못했습니다. 캔버스가 너무 큰 거 같습니다. 문제가 계속 된다면, 작업 내용을 잃지 않도록 로컬 저장소에 저장해 주세요.",imageToolNotSupported:"이미지가 비활성화 되었습니다.",brave_measure_text_error:{line1:"귀하께서는 <bold>강력한 지문 차단 설정</bold>이 활성화된 Brave browser를 사용하고 계신 것 같습니다.",line2:"이 기능으로 인해 화이트보드의 <bold>텍스트 요소들</bold>이 손상될 수 있습니다.",line3:"저희는 해당 기능을 비활성화하는 것을 강력히 권장 드립니다. 비활성화 방법에 대해서는 <link>이 게시글</link>을 참고해주세요.",line4:"만약 이 설정을 껐음에도 텍스트 요소들이 올바르게 표시되지 않는다면, 저희 Github에 <issueLink>이슈</issueLink>를 올려주시거나 <discordLink>Discord</discordLink>로 알려주세요."},libraryElementTypeError:{embeddable:"임베드 요소들은 라이브러리에 추가할 수 없습니다.",iframe:"IFrame 요소들은 라이브러리에 추가할 수 없습니다.",image:"라이브러리에 이미지 삽입 기능은 곧 지원될 예정입니다!"},asyncPasteFailedOnRead:"붙여넣는데 실패했습니다. (시스템 클립보드를 읽는데 실패했습니다)",asyncPasteFailedOnParse:"붙여넣는데 실패했습니다.",copyToSystemClipboardFailed:"클립보드로 복사하는데 실패했습니다."},e={selection:"선택",image:"이미지 삽입",rectangle:"사각형",diamond:"다이아몬드",ellipse:"타원",arrow:"화살표",line:"선",freedraw:"그리기",text:"텍스트",library:"라이브러리",lock:"선택된 도구 유지하기",penMode:"펜 모드 - 터치 방지",link:"선택한 도형에 대해서 링크를 추가/업데이트",eraser:"지우개",frame:"프레임 도구",magicframe:"와이어프레임을 코드로",embeddable:"웹 임베드",laser:"레이저 포인터",hand:"손 (패닝 도구)",extraTools:"다른 도구",mermaidToExcalidraw:"Mermaid에서 불러오기",magicSettings:"AI 설정"},E={canvasActions:"캔버스 동작",selectedShapeActions:"선택된 모양 동작",shapes:"모양"},r={canvasPanning:"캔버스를 옮기려면 마우스 휠이나 스페이스바를 누르고 드래그하거나, 손 도구를 사용하기",linearElement:"여러 점을 연결하려면 클릭하고, 직선을 그리려면 바로 드래그하세요.",freeDraw:"클릭 후 드래그하세요. 완료되면 놓으세요.",text:"팁: 선택 툴로 아무 곳이나 더블 클릭해 텍스트를 추가할 수도 있습니다.",embeddable:"클릭 및 드래그하여 웹사이트 임베드 만들기",text_selected:"더블 클릭 또는 ENTER를 눌러서 텍스트 수정",text_editing:"ESC나 CtrlOrCmd+ENTER를 눌러서 수정을 종료하기",linearElementMulti:"마지막 지점을 클릭하거나 Esc 또는 Enter 키를 눌러 완료하세요.",lockAngle:"SHIFT 키를 누르면서 회전하면 각도를 제한할 수 있습니다.",resize:`SHIFT 키를 누르면서 조정하면 크기의 비율이 제한됩니다.
@@ -1,9 +1,9 @@
1
1
  import * as v from "lodash-es";
2
2
  import { l as M } from "./layers.D4T8fTcj.js";
3
3
  import { G as U } from "./layers.BJDrjORS.js";
4
- import { i as A, u as H, s as V, c as _, b as W, g as D, d as O, a as q, p as z, e as p, f as $, h as K, j as Q } from "./layers.DSCcjgIi.js";
5
- import { l as s, c as T, t as S, d as J } from "./layers.D_l2bI3p.js";
6
- import { c as Y } from "./layers.C4xUq3OD.js";
4
+ import { i as A, u as H, s as V, c as _, b as W, g as D, d as O, a as q, p as z, e as p, f as $, h as K, j as Q } from "./layers.Ch4AVxPu.js";
5
+ import { l as s, g as T, t as S, d as J } from "./layers.DCuGApPe.js";
6
+ import { c as Y } from "./layers.D8uaAXYp.js";
7
7
  function m(e) {
8
8
  var t = {
9
9
  options: {
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("./layers.DFx1KN6R.js");var u={paste:"วาง",pasteAsPlaintext:"วางโดยไม่มีการจัดรูปแบบ",pasteCharts:"วางแผนภูมิ",selectAll:"เลือกทั้งหมด",multiSelect:"",moveCanvas:"",cut:"ตัด",copy:"คัดลอก",copyAsPng:"คัดลองไปยังคลิปบอร์ดเป็น PNG",copyAsSvg:"คัดลองไปยังคลิปบอร์ดเป็น SVG",copyText:"คัดลองไปยังคลิปบอร์ดเป็นข้อความ",copySource:"",convertToCode:"",bringForward:"นำขึ้นข้างบน",sendToBack:"ย้ายไปข้างล่าง",bringToFront:"นำขึ้นข้างหน้า",sendBackward:"ย้ายไปข้างหลัง",delete:"ลบ",copyStyles:"คัดลอกรูปแบบ",pasteStyles:"วางรูปแบบ",stroke:"เส้นขอบ",background:"พื้นหลัง",fill:"เติมสี",strokeWidth:"น้ำหนักเส้นขอบ",strokeStyle:"รูปแบบเส้น",strokeStyle_solid:"เส้นทึบ",strokeStyle_dashed:"เส้นประ",strokeStyle_dotted:"จุด",sloppiness:"ความเลอะเทอะ",opacity:"ความทึบแสง",textAlign:"จัดข้อความ",edges:"ขอบ",sharp:"",round:"",arrowheads:"หัวลูกศร",arrowhead_none:"ไม่มี",arrowhead_arrow:"ลูกศร",arrowhead_bar:"แถบ",arrowhead_circle:"",arrowhead_circle_outline:"",arrowhead_triangle:"สามเหลี่ยม",arrowhead_triangle_outline:"",arrowhead_diamond:"",arrowhead_diamond_outline:"",fontSize:"ขนาดตัวอักษร",fontFamily:"แบบตัวอักษร",addWatermark:'เพิ่มลายน้ำ "สร้างด้วย Excalidraw"',handDrawn:"ลายมือ",normal:"ปกติ",code:"โค้ด",small:"เล็ก",medium:"กลาง",large:"ใหญ่",veryLarge:"ใหญ่มาก",solid:"",hachure:"",zigzag:"",crossHatch:"",thin:"บาง",bold:"หนา",left:"ซ้าย",center:"กลาง",right:"ขวา",extraBold:"หนาพิเศษ",architect:"",artist:"ศิลปิน",cartoonist:"",fileTitle:"ชื่อไฟล์",colorPicker:"เลือกสีที่กำหนดเอง",canvasColors:"",canvasBackground:"",drawingCanvas:"",layers:"",actions:"การกระทำ",language:"ภาษา",liveCollaboration:"",duplicateSelection:"ทำสำเนา",untitled:"ไม่มีชื่อ",name:"ชื่อ",yourName:"ชื่อของคุณ",madeWithExcalidraw:"",group:"จัดกลุ่ม",ungroup:"ยกเลิกการจัดกลุ่ม",collaborators:"",showGrid:"แสดงเส้นตาราง",addToLibrary:"เพิ่มไปในคลัง",removeFromLibrary:"นำออกจากคลัง",libraryLoadingMessage:"กำลังโหลดคลัง...",libraries:"",loadingScene:"กำลังโหลดฉาก",align:"จัดตำแหน่ง",alignTop:"จัดชิดด้านบน",alignBottom:"จัดชิดด้านล่าง",alignLeft:"จัดชิดซ้าย",alignRight:"จัดชิดขวา",centerVertically:"กึ่งกลางแนวตั้ง",centerHorizontally:"กึ่งกลางแนวนอน",distributeHorizontally:"กระจายแนวนอน",distributeVertically:"กระจายแนวตั้ง",flipHorizontal:"พลิกแนวนอน",flipVertical:"พลิกแนวตั้ง",viewMode:"โหมดมุมมอง",share:"แชร์",showStroke:"",showBackground:"",toggleTheme:"สลับธีม",personalLib:"คลังของฉัน",excalidrawLib:"คลังของ Excalidraw",decreaseFontSize:"ลดขนาดตัวอักษร",increaseFontSize:"เพิ่มขนาดตัวอักษร",unbindText:"ยกเลิกการผูกติด",bindText:"",createContainerFromText:"",link:{edit:"แก้ไขลิงก์",editEmbed:"แก้ไขลิงค์และการฝัง",create:"สร้างลิงค์",createEmbed:"สร้างลิงค์และการฝัง",label:"ลิงค์",labelEmbed:"ลิงค์และการฝัง",empty:"ไม่ได้ใส่ลิงค์"},lineEditor:{edit:"แก้ไขเส้น",exit:""},elementLock:{lock:"ล็อก",unlock:"ปลดล็อก",lockAll:"ล็อกทั้งหมด",unlockAll:"ปลดล็อกทั้งหมด"},statusPublished:"เผยแพร่",sidebarLock:"",selectAllElementsInFrame:"",removeAllElementsFromFrame:"",eyeDropper:"",textToDiagram:"",prompt:""},E={noItems:"ยังไม่มีรายการที่เพิ่มเข้าไปได้",hint_emptyLibrary:"",hint_emptyPrivateLibrary:""},e={clearReset:"รีเซ็ทผืนผ้าใบ",exportJSON:"ส่งออกไปยังไฟล์",exportImage:"ส่งออกเป็นรูปภาพ",export:"บันทึกไปยัง",copyToClipboard:"คัดลอกไปยังคลิปบอร์ด",save:"บันทึกเป็นไฟล์ปัจจุบัน",saveAs:"บันทึกเป็น",load:"เปิด",getShareableLink:"สร้างลิงค์ที่แชร์ได้",close:"ปิด",selectLanguage:"เลือกภาษา",scrollBackToContent:"เลื่อนกลับไปด้านบน",zoomIn:"ซูมเข้า",zoomOut:"ซูมออก",resetZoom:"รีเซ็ตการซูม",menu:"เมนู",done:"เสร็จสิ้น",edit:"แก้ไข",undo:"เลิกทำ",redo:"ทำซ้ำ",resetLibrary:"รีเซ็ตคลัง",createNewRoom:"สร้างห้องใหม่",fullScreen:"เต็มหน้าจอ",darkMode:"โหมดกลางคืน",lightMode:"โหมดกลางวัน",zenMode:"โหมด Zen",objectsSnapMode:"",exitZenMode:"ออกจากโหมด Zen",cancel:"ยกเลิก",clear:"เคลียร์",remove:"ลบ",embed:"สลับการฝัง",publishLibrary:"เผยแพร่",submit:"ตกลง",confirm:"ยืนยัน",embeddableInteractionButton:"คลิกเพื่อปฏิสัมพันธ์"},o={clearReset:"",couldNotCreateShareableLink:"ไม่สามารถสร้างลิงค์ได้",couldNotCreateShareableLinkTooBig:"",couldNotLoadInvalidFile:"ไม่สามารถโหลดไฟล์ที่ผิดพลาดได้",importBackendFailed:"เกิดข้อผิดพลาดจากการนำเข้าจากระบบหลังบ้าน",cannotExportEmptyCanvas:"ไม่สามารถนำออกจากผืนผ้าใบที่ว่างเปล่าได้",couldNotCopyToClipboard:"ไม่สามารถคัดลอกไปยังคลิปบอร์ดได้",decryptFailed:"ไม่สามารถถอดรหัสข้อมูลได้",uploadedSecurly:"การอัพโหลดได้ถูกเข้ารหัสแบบ end-to-end หมายความว่าเซิร์ฟเวอร์ของ Excalidraw และบุคคลอื่นไม่สามารถอ่านข้อมูลได้",loadSceneOverridePrompt:"",collabStopOverridePrompt:"",errorAddingToLibrary:"ไม่สามารถเพิ่มรายการเข้าไปในคลังได้",errorRemovingFromLibrary:"ไม่สามารถลบรายการนี้ออกจากคลังได้",confirmAddLibrary:"",imageDoesNotContainScene:"",cannotRestoreFromImage:"",invalidSceneUrl:"",resetLibrary:"",removeItemsFromsLibrary:"",invalidEncryptionKey:"",collabOfflineWarning:""},r={unsupportedFileType:"ไม่รองรับชนิดของไฟล์นี้",imageInsertError:"ไม่สามารถเพิ่มรูปภาพได้ ลองอีกครั้งในภายหลัง",fileTooBig:"",svgImageInsertError:"",failedToFetchImage:"",invalidSVGString:"ไฟล์ SVG ผิดพลาด",cannotResolveCollabServer:"ไม่สามารถเชื่อต่อกับ collab เซิร์ฟเวอร์ได้ โปรดลองโหลดหน้านี้ใหม่และลองอีกครั้ง",importLibraryError:"",collabSaveFailed:"",collabSaveFailed_sizeExceeded:"",imageToolNotSupported:"",brave_measure_text_error:{line1:"",line2:"",line3:"",line4:""},libraryElementTypeError:{embeddable:"การเพิ่มองค์ประกอบที่ฝังยังไม่สามารถเพิ่มเข้าไปในไลบลารีได้",iframe:"",image:"การสนับสนุนสำหรับเพิ่มรูปภาพลงในไลบลารีจะมาในเร็ว ๆ นี้"},asyncPasteFailedOnRead:"",asyncPasteFailedOnParse:"",copyToSystemClipboardFailed:""},t={selection:"",image:"",rectangle:"สี่เหลี่ยมผืนผ้า",diamond:"",ellipse:"วงรี",arrow:"ลูกศร",line:"",freedraw:"",text:"ข้อความ",library:"คลัง",lock:"",penMode:"",link:"",eraser:"ยางลบ",frame:"",magicframe:"",embeddable:"ฝังเว็บ",laser:"",hand:"",extraTools:"เครื่องมืออื่นๆ",mermaidToExcalidraw:"",magicSettings:""},a={canvasActions:"",selectedShapeActions:"",shapes:"รูปร่าง"},i={canvasPanning:"",linearElement:"",freeDraw:"",text:"",embeddable:"คลิกและลากเพื่อสร้างการฝังสำหรับเว็บไซต์",text_selected:"คลิกสองครั้งหรือกด ENTER เพื่อแก้ไขข้อความ",text_editing:"กดปุ่ม Esc หรือกด Ctrl, Cmd + Enter เพื่อเสร็จการแก้ไข",linearElementMulti:"คลิกที่จุดสุดท้ายหรือกด Escape หรือ Enter เพื่อเสร็จสิ้น",lockAngle:"",resize:"",resizeImage:"",rotate:"",lineEditor_info:"",lineEditor_pointSelected:`กดปุ่ม Delete เพื่อลบจุด
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("./layers.BBnyW5Sf.js");var u={paste:"วาง",pasteAsPlaintext:"วางโดยไม่มีการจัดรูปแบบ",pasteCharts:"วางแผนภูมิ",selectAll:"เลือกทั้งหมด",multiSelect:"",moveCanvas:"",cut:"ตัด",copy:"คัดลอก",copyAsPng:"คัดลองไปยังคลิปบอร์ดเป็น PNG",copyAsSvg:"คัดลองไปยังคลิปบอร์ดเป็น SVG",copyText:"คัดลองไปยังคลิปบอร์ดเป็นข้อความ",copySource:"",convertToCode:"",bringForward:"นำขึ้นข้างบน",sendToBack:"ย้ายไปข้างล่าง",bringToFront:"นำขึ้นข้างหน้า",sendBackward:"ย้ายไปข้างหลัง",delete:"ลบ",copyStyles:"คัดลอกรูปแบบ",pasteStyles:"วางรูปแบบ",stroke:"เส้นขอบ",background:"พื้นหลัง",fill:"เติมสี",strokeWidth:"น้ำหนักเส้นขอบ",strokeStyle:"รูปแบบเส้น",strokeStyle_solid:"เส้นทึบ",strokeStyle_dashed:"เส้นประ",strokeStyle_dotted:"จุด",sloppiness:"ความเลอะเทอะ",opacity:"ความทึบแสง",textAlign:"จัดข้อความ",edges:"ขอบ",sharp:"",round:"",arrowheads:"หัวลูกศร",arrowhead_none:"ไม่มี",arrowhead_arrow:"ลูกศร",arrowhead_bar:"แถบ",arrowhead_circle:"",arrowhead_circle_outline:"",arrowhead_triangle:"สามเหลี่ยม",arrowhead_triangle_outline:"",arrowhead_diamond:"",arrowhead_diamond_outline:"",fontSize:"ขนาดตัวอักษร",fontFamily:"แบบตัวอักษร",addWatermark:'เพิ่มลายน้ำ "สร้างด้วย Excalidraw"',handDrawn:"ลายมือ",normal:"ปกติ",code:"โค้ด",small:"เล็ก",medium:"กลาง",large:"ใหญ่",veryLarge:"ใหญ่มาก",solid:"",hachure:"",zigzag:"",crossHatch:"",thin:"บาง",bold:"หนา",left:"ซ้าย",center:"กลาง",right:"ขวา",extraBold:"หนาพิเศษ",architect:"",artist:"ศิลปิน",cartoonist:"",fileTitle:"ชื่อไฟล์",colorPicker:"เลือกสีที่กำหนดเอง",canvasColors:"",canvasBackground:"",drawingCanvas:"",layers:"",actions:"การกระทำ",language:"ภาษา",liveCollaboration:"",duplicateSelection:"ทำสำเนา",untitled:"ไม่มีชื่อ",name:"ชื่อ",yourName:"ชื่อของคุณ",madeWithExcalidraw:"",group:"จัดกลุ่ม",ungroup:"ยกเลิกการจัดกลุ่ม",collaborators:"",showGrid:"แสดงเส้นตาราง",addToLibrary:"เพิ่มไปในคลัง",removeFromLibrary:"นำออกจากคลัง",libraryLoadingMessage:"กำลังโหลดคลัง...",libraries:"",loadingScene:"กำลังโหลดฉาก",align:"จัดตำแหน่ง",alignTop:"จัดชิดด้านบน",alignBottom:"จัดชิดด้านล่าง",alignLeft:"จัดชิดซ้าย",alignRight:"จัดชิดขวา",centerVertically:"กึ่งกลางแนวตั้ง",centerHorizontally:"กึ่งกลางแนวนอน",distributeHorizontally:"กระจายแนวนอน",distributeVertically:"กระจายแนวตั้ง",flipHorizontal:"พลิกแนวนอน",flipVertical:"พลิกแนวตั้ง",viewMode:"โหมดมุมมอง",share:"แชร์",showStroke:"",showBackground:"",toggleTheme:"สลับธีม",personalLib:"คลังของฉัน",excalidrawLib:"คลังของ Excalidraw",decreaseFontSize:"ลดขนาดตัวอักษร",increaseFontSize:"เพิ่มขนาดตัวอักษร",unbindText:"ยกเลิกการผูกติด",bindText:"",createContainerFromText:"",link:{edit:"แก้ไขลิงก์",editEmbed:"แก้ไขลิงค์และการฝัง",create:"สร้างลิงค์",createEmbed:"สร้างลิงค์และการฝัง",label:"ลิงค์",labelEmbed:"ลิงค์และการฝัง",empty:"ไม่ได้ใส่ลิงค์"},lineEditor:{edit:"แก้ไขเส้น",exit:""},elementLock:{lock:"ล็อก",unlock:"ปลดล็อก",lockAll:"ล็อกทั้งหมด",unlockAll:"ปลดล็อกทั้งหมด"},statusPublished:"เผยแพร่",sidebarLock:"",selectAllElementsInFrame:"",removeAllElementsFromFrame:"",eyeDropper:"",textToDiagram:"",prompt:""},E={noItems:"ยังไม่มีรายการที่เพิ่มเข้าไปได้",hint_emptyLibrary:"",hint_emptyPrivateLibrary:""},e={clearReset:"รีเซ็ทผืนผ้าใบ",exportJSON:"ส่งออกไปยังไฟล์",exportImage:"ส่งออกเป็นรูปภาพ",export:"บันทึกไปยัง",copyToClipboard:"คัดลอกไปยังคลิปบอร์ด",save:"บันทึกเป็นไฟล์ปัจจุบัน",saveAs:"บันทึกเป็น",load:"เปิด",getShareableLink:"สร้างลิงค์ที่แชร์ได้",close:"ปิด",selectLanguage:"เลือกภาษา",scrollBackToContent:"เลื่อนกลับไปด้านบน",zoomIn:"ซูมเข้า",zoomOut:"ซูมออก",resetZoom:"รีเซ็ตการซูม",menu:"เมนู",done:"เสร็จสิ้น",edit:"แก้ไข",undo:"เลิกทำ",redo:"ทำซ้ำ",resetLibrary:"รีเซ็ตคลัง",createNewRoom:"สร้างห้องใหม่",fullScreen:"เต็มหน้าจอ",darkMode:"โหมดกลางคืน",lightMode:"โหมดกลางวัน",zenMode:"โหมด Zen",objectsSnapMode:"",exitZenMode:"ออกจากโหมด Zen",cancel:"ยกเลิก",clear:"เคลียร์",remove:"ลบ",embed:"สลับการฝัง",publishLibrary:"เผยแพร่",submit:"ตกลง",confirm:"ยืนยัน",embeddableInteractionButton:"คลิกเพื่อปฏิสัมพันธ์"},o={clearReset:"",couldNotCreateShareableLink:"ไม่สามารถสร้างลิงค์ได้",couldNotCreateShareableLinkTooBig:"",couldNotLoadInvalidFile:"ไม่สามารถโหลดไฟล์ที่ผิดพลาดได้",importBackendFailed:"เกิดข้อผิดพลาดจากการนำเข้าจากระบบหลังบ้าน",cannotExportEmptyCanvas:"ไม่สามารถนำออกจากผืนผ้าใบที่ว่างเปล่าได้",couldNotCopyToClipboard:"ไม่สามารถคัดลอกไปยังคลิปบอร์ดได้",decryptFailed:"ไม่สามารถถอดรหัสข้อมูลได้",uploadedSecurly:"การอัพโหลดได้ถูกเข้ารหัสแบบ end-to-end หมายความว่าเซิร์ฟเวอร์ของ Excalidraw และบุคคลอื่นไม่สามารถอ่านข้อมูลได้",loadSceneOverridePrompt:"",collabStopOverridePrompt:"",errorAddingToLibrary:"ไม่สามารถเพิ่มรายการเข้าไปในคลังได้",errorRemovingFromLibrary:"ไม่สามารถลบรายการนี้ออกจากคลังได้",confirmAddLibrary:"",imageDoesNotContainScene:"",cannotRestoreFromImage:"",invalidSceneUrl:"",resetLibrary:"",removeItemsFromsLibrary:"",invalidEncryptionKey:"",collabOfflineWarning:""},r={unsupportedFileType:"ไม่รองรับชนิดของไฟล์นี้",imageInsertError:"ไม่สามารถเพิ่มรูปภาพได้ ลองอีกครั้งในภายหลัง",fileTooBig:"",svgImageInsertError:"",failedToFetchImage:"",invalidSVGString:"ไฟล์ SVG ผิดพลาด",cannotResolveCollabServer:"ไม่สามารถเชื่อต่อกับ collab เซิร์ฟเวอร์ได้ โปรดลองโหลดหน้านี้ใหม่และลองอีกครั้ง",importLibraryError:"",collabSaveFailed:"",collabSaveFailed_sizeExceeded:"",imageToolNotSupported:"",brave_measure_text_error:{line1:"",line2:"",line3:"",line4:""},libraryElementTypeError:{embeddable:"การเพิ่มองค์ประกอบที่ฝังยังไม่สามารถเพิ่มเข้าไปในไลบลารีได้",iframe:"",image:"การสนับสนุนสำหรับเพิ่มรูปภาพลงในไลบลารีจะมาในเร็ว ๆ นี้"},asyncPasteFailedOnRead:"",asyncPasteFailedOnParse:"",copyToSystemClipboardFailed:""},t={selection:"",image:"",rectangle:"สี่เหลี่ยมผืนผ้า",diamond:"",ellipse:"วงรี",arrow:"ลูกศร",line:"",freedraw:"",text:"ข้อความ",library:"คลัง",lock:"",penMode:"",link:"",eraser:"ยางลบ",frame:"",magicframe:"",embeddable:"ฝังเว็บ",laser:"",hand:"",extraTools:"เครื่องมืออื่นๆ",mermaidToExcalidraw:"",magicSettings:""},a={canvasActions:"",selectedShapeActions:"",shapes:"รูปร่าง"},i={canvasPanning:"",linearElement:"",freeDraw:"",text:"",embeddable:"คลิกและลากเพื่อสร้างการฝังสำหรับเว็บไซต์",text_selected:"คลิกสองครั้งหรือกด ENTER เพื่อแก้ไขข้อความ",text_editing:"กดปุ่ม Esc หรือกด Ctrl, Cmd + Enter เพื่อเสร็จการแก้ไข",linearElementMulti:"คลิกที่จุดสุดท้ายหรือกด Escape หรือ Enter เพื่อเสร็จสิ้น",lockAngle:"",resize:"",resizeImage:"",rotate:"",lineEditor_info:"",lineEditor_pointSelected:`กดปุ่ม Delete เพื่อลบจุด
2
2
  กด Ctrl หรือ Cmd + D เพื่อทำซ้ำหรือลากเพื่อเคลื่อนย้าย`,lineEditor_nothingSelected:"",placeImage:"",publishLibrary:"",bindTextToElement:"",deepBoxSelect:"",eraserRevert:"",firefox_clipboard_write:"",disableSnapping:""},l={cannotShowPreview:"",canvasTooBig:"",canvasTooBigTip:""},n={headingMain:"<button>กำลังรีโหลดหน้า</button>",clearCanvasMessage:"ถ้าโหลดไม่ได้ ให้ลอง <button>เคลียร์ผืนผ้าใบ</button>",clearCanvasCaveat:"",trackedToSentry:"",openIssueMessage:"",sceneContent:""},s={desc_intro:"",desc_privacy:"",button_startSession:"เริ่มเซสชัน",button_stopSession:"หยุดเซสชัน",desc_inProgressIntro:"",desc_shareLink:"",desc_exitSession:"",shareTitle:""},d={title:""},c={disk_title:"",disk_details:"",disk_button:"",link_title:"",link_details:"",link_button:"",excalidrawplus_description:"",excalidrawplus_button:"",excalidrawplus_exportError:"ไม่สามารถส่งออกไปที่ Excalidraw+ ได้ในขณะนี้"},D={blog:"อ่านบล็อกของพวกเรา",click:"คลิก",deepSelect:"",deepBoxSelect:"",curvedArrow:"",curvedLine:"",documentation:"",doubleClick:"ดับเบิลคลิก",drag:"ลาก",editor:"",editLineArrowPoints:"",editText:"แก้ไขข้อความ / เพิ่มข้อความ",github:"",howto:"",or:"",preventBinding:"",tools:"",shortcuts:"",textFinish:"",textNewLine:"",title:"ช่วยเหลือ",view:"ดู",zoomToFit:"",zoomToSelection:"",toggleElementLock:"",movePageUpDown:"",movePageLeftRight:"ย้ายหน้าไปด้าน ซ้าย/ขวา"},A={title:""},B={title:"",itemName:"",authorName:"ชื่อเจ้าของ",githubUsername:"ชื่อผู้ใช้ GitHub",twitterUsername:"ชื่อผู้ใช้ Twitter",libraryName:"",libraryDesc:"",website:"",placeholder:{authorName:"",libraryName:"",libraryDesc:"",githubHandle:"",twitterHandle:"",website:""},errors:{required:"",website:""},noteDescription:"",noteGuidelines:"",noteLicense:"",noteItems:"",atleastOneLibItem:"",republishWarning:""},m={title:"",content:""},p={resetLibrary:"",removeItemsFromLib:""},g={header:"",label:{withBackground:"",onlySelected:"",darkMode:"โหมดกลางคืน",embedScene:"",scale:"",padding:""},tooltip:{embedScene:""},title:{exportToPng:"ส่งออกไปเป็น SVG",exportToSvg:"ส่งออกไปเป็น SVG",copyPngToClipboard:"คัดลอก PNG ไปยังคลิปบอร์ด"},button:{exportToPng:"PNG",exportToSvg:"SVG",copyPngToClipboard:"คัดลอกไปยังคลิปบอร์ด"}},b={tooltip:"",link:""},C={angle:"",element:"",elements:"",height:"",scene:"",selected:"",storage:"",title:"",total:"",version:"",versionCopy:"",versionNotAvailable:"",width:""},h={addedToLibrary:"",copyStyles:"",copyToClipboard:"",copyToClipboardAsPng:"",fileSaved:"",fileSavedToFilename:"",canvas:"",selection:"",pasteAsSingleElement:"",unableToEmbed:"",unrecognizedLinkFormat:""},y={transparent:"",black:"",white:"",red:"",pink:"",grape:"",violet:"",gray:"",blue:"",cyan:"",teal:"ฟ้าน้ำทะเล",green:"เขียว",yellow:"เหลือง",orange:"ส้ม",bronze:"ทองแดง"},S={app:{center_heading:"",center_heading_plus:"",menuHint:""},defaults:{menuHint:"",center_heading:"",toolbarHint:"",helpHint:""}},v={mostUsedCustomColors:"",colors:"",shades:"",hexCode:"",noShades:""},w={action:{exportToImage:{title:"",button:"",description:""},saveToDisk:{title:"",button:"",description:""},excalidrawPlus:{title:"",button:"",description:""}},modal:{loadFromFile:{title:"",button:"",description:""},shareableLink:{title:"",button:"",description:""}}},x={title:"",button:"",description:"",syntax:"",preview:""},k={labels:u,library:E,buttons:e,alerts:o,errors:r,toolBar:t,headings:a,hints:i,canvasError:l,errorSplash:n,roomDialog:s,errorDialog:d,exportDialog:c,helpDialog:D,clearCanvasDialog:A,publishDialog:B,publishSuccessDialog:m,confirmDialog:p,imageExportDialog:g,encrypted:b,stats:C,toast:h,colors:y,welcomeScreen:S,colorPicker:v,overwriteConfirm:w,mermaid:x};exports.alerts=o;exports.buttons=e;exports.canvasError=l;exports.clearCanvasDialog=A;exports.colorPicker=v;exports.colors=y;exports.confirmDialog=p;exports.default=k;exports.encrypted=b;exports.errorDialog=d;exports.errorSplash=n;exports.errors=r;exports.exportDialog=c;exports.headings=a;exports.helpDialog=D;exports.hints=i;exports.imageExportDialog=g;exports.labels=u;exports.library=E;exports.mermaid=x;exports.overwriteConfirm=w;exports.publishDialog=B;exports.publishSuccessDialog=m;exports.roomDialog=s;exports.stats=C;exports.toast=h;exports.toolBar=t;exports.welcomeScreen=S;