@layers-app/editor 0.7.15 → 0.7.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (237) hide show
  1. package/dist/index.cjs +2 -2
  2. package/dist/index.d.ts +77 -1
  3. package/dist/index.js +15 -9
  4. package/dist/{layers.BQfSzTMx.js → layers.-fM6L_z3.js} +1 -1
  5. package/dist/{layers.BHcs7CqU.js → layers.0KANPDnB.js} +1 -1
  6. package/dist/{layers.DW62kNPb.js → layers.1Nv-nANB.js} +9 -6
  7. package/dist/layers.1bdyQGVP.js +8 -0
  8. package/dist/{layers.D3Vd3dna.js → layers.49H_5LNr.js} +1 -1
  9. package/dist/{layers.DEBfJf6Q.js → layers.4HZb3jXk.js} +1 -1
  10. package/dist/{layers.DZ1-iKEC.js → layers.4RmaHEsu.js} +1 -1
  11. package/dist/{layers.DB1s8GND.js → layers.5WzirB7G.js} +1 -1
  12. package/dist/{layers.C2Snani7.js → layers.5bSjIKfg.js} +1 -1
  13. package/dist/{layers.DWpXde7j.js → layers.7oLFJZ8l.js} +1 -1
  14. package/dist/{layers.D5TYe_t6.js → layers.7xkZRnuM.js} +1 -1
  15. package/dist/{layers.D3GALwgA.js → layers.ABhWEnmQ.js} +1 -1
  16. package/dist/{layers.DF6gld-u.js → layers.B-8gEV_E.js} +3 -3
  17. package/dist/{layers.Coz7xkYs.js → layers.B-9QQMGw.js} +1 -1
  18. package/dist/{layers.D17Dmom7.js → layers.B0sBopW9.js} +1 -1
  19. package/dist/{layers.Bc5nZC3Y.js → layers.B1ySJNCM.js} +1 -1
  20. package/dist/{layers.DsHK2Ar2.js → layers.B2BhJZ0D.js} +1 -1
  21. package/dist/{layers.C8f8Dvmj.js → layers.B2iVWMcm.js} +1 -1
  22. package/dist/{layers.B-uN2dv6.js → layers.B6Va7v9s.js} +1 -1
  23. package/dist/layers.B82wcYq0.js +271 -0
  24. package/dist/{layers.D-ozIqh2.js → layers.BAU0IeY7.js} +1 -1
  25. package/dist/layers.BCD7sjs8.js +1 -0
  26. package/dist/{layers.CP8mkVAF.js → layers.BEUJQJGq.js} +1 -1
  27. package/dist/{layers.NAvAltHE.js → layers.BGDCJs-p.js} +1 -1
  28. package/dist/{layers.BBTHDb_P.js → layers.BHz2k1im.js} +1 -1
  29. package/dist/{layers.mA-ZoRCk.js → layers.BIM8NeWS.js} +1 -1
  30. package/dist/{layers.BGG2KrZD.js → layers.BIbdMSbX.js} +92 -89
  31. package/dist/{layers.DJK9E0iz.js → layers.BJhjIY5r.js} +1 -1
  32. package/dist/{layers.q9n8pS5N.js → layers.BJmaj5SY.js} +1 -1
  33. package/dist/{layers.BaZPyxUt.js → layers.BKy18lBk.js} +1 -1
  34. package/dist/{layers.AmrlbWu1.js → layers.BL3wEq7M.js} +1 -1
  35. package/dist/{layers.Dxu3Xyi3.js → layers.BLKD1Tiy.js} +1 -1
  36. package/dist/{layers.NsLqNUEF.js → layers.BNR6f37h.js} +1 -1
  37. package/dist/{layers.DPxVCpug.js → layers.BNkwxNgt.js} +1 -1
  38. package/dist/layers.BOMC5c1j.js +2 -0
  39. package/dist/{layers.Bd22pBlW.js → layers.BQL01Vq6.js} +1 -1
  40. package/dist/{layers.C99Cexqw.js → layers.BQm21WlP.js} +1 -1
  41. package/dist/{layers.qGNJ--WQ.js → layers.BRGRJfuK.js} +1 -1
  42. package/dist/{layers.oVkUiGD5.js → layers.BXDV2XaW.js} +1 -1
  43. package/dist/{layers.Clg4qKJE.js → layers.B_Vwa8Hx.js} +1 -1
  44. package/dist/{layers.B69R6aNe.js → layers.B_jUVHTe.js} +1 -1
  45. package/dist/{layers.fMORkKD1.js → layers.BakV9gnD.js} +1 -1
  46. package/dist/{layers.CMeoX_6d.js → layers.BbbyE_Pc.js} +1 -1
  47. package/dist/{layers.Cyriz6h0.js → layers.Bd6ptC9U.js} +1 -1
  48. package/dist/{layers.Dvj9GF2t.js → layers.BeCuix4V.js} +1 -1
  49. package/dist/{layers.BqwXjSdW.js → layers.BeFEsW5q.js} +1 -1
  50. package/dist/{layers.DTpQsyHL.js → layers.BfVGjstp.js} +1 -1
  51. package/dist/{layers.tKYD6YFQ.js → layers.BgEbqAdb.js} +3 -3
  52. package/dist/{layers.Cf3UeiB-.js → layers.Bk40urId.js} +3 -3
  53. package/dist/{layers.Dl2HBQxC.js → layers.Blc4R7F2.js} +1 -1
  54. package/dist/{layers.D7rWRjC3.js → layers.Bny7BWT9.js} +1 -1
  55. package/dist/layers.Bpnbfq-r.js +1 -0
  56. package/dist/{layers.CxdXwrxt.js → layers.BrbcqGdA.js} +11 -8
  57. package/dist/{layers.B5bpf_7p.js → layers.BvGgfImM.js} +7 -7
  58. package/dist/{layers.DYpK4YMg.js → layers.BywviGiP.js} +1 -1
  59. package/dist/layers.C-_ynqvr.js +1 -0
  60. package/dist/{layers.CfQfH2uJ.js → layers.C1actZbK.js} +1 -1
  61. package/dist/{layers.BUVnl6Le.js → layers.C3DRx9On.js} +4 -4
  62. package/dist/{layers.KwB0GlFE.js → layers.C3SAUwXb.js} +1 -1
  63. package/dist/{layers.BRERX0Ta.js → layers.C3yLkCio.js} +1 -1
  64. package/dist/layers.C6fD5O8g.js +6 -0
  65. package/dist/{layers.CChpNaZS.js → layers.C8YD8pwl.js} +1 -1
  66. package/dist/{layers.CZ1OaFnb.js → layers.C92R-ENv.js} +1 -1
  67. package/dist/layers.C9QCrDzm.js +1 -0
  68. package/dist/{layers.CmhjLkPQ.js → layers.C9_vX7IO.js} +3 -3
  69. package/dist/{layers.BleViEhx.js → layers.CA_fw2Dw.js} +1 -1
  70. package/dist/layers.CB61rfHO.js +1225 -0
  71. package/dist/{layers.DKXsz8De.js → layers.CCur6VEj.js} +2 -2
  72. package/dist/{layers.ymjb604H.js → layers.CFLfRAu0.js} +2 -2
  73. package/dist/{layers.nZCdSvk1.js → layers.CFcHk-z5.js} +7 -4
  74. package/dist/{layers.DKW7xVDB.js → layers.CFmNZSAJ.js} +1 -1
  75. package/dist/{layers.CnNiivey.js → layers.CGajZ1Yz.js} +1 -1
  76. package/dist/{layers.DtSwBGHi.js → layers.CHhFVTiW.js} +1 -1
  77. package/dist/{layers.CxgVGyGF.js → layers.CJ1YRhUh.js} +1 -1
  78. package/dist/{layers.BKe6olqL.js → layers.CJtE2LxP.js} +227 -224
  79. package/dist/{layers.BiR2CF-2.js → layers.CJyO2xrs.js} +1 -1
  80. package/dist/{layers.CoQmjZ4J.js → layers.CMyb9_FE.js} +1 -1
  81. package/dist/{layers.DXEokfvb.js → layers.COjckA33.js} +1 -1
  82. package/dist/{layers.DveaDpN8.js → layers.CPJSmpbw.js} +1 -1
  83. package/dist/{layers.DSl-zfQT.js → layers.CQvaw3yb.js} +1 -1
  84. package/dist/{layers.3fYhTnFF.js → layers.CRht5Nqq.js} +17 -14
  85. package/dist/{layers.D8UT-P1H.js → layers.CSXAHvGG.js} +1 -1
  86. package/dist/{layers.-HEzHycj.js → layers.CTaitOnb.js} +1 -1
  87. package/dist/{layers.DekD8orP.js → layers.CV8UgwCq.js} +36 -36
  88. package/dist/{layers.Cz9QvGey.js → layers.CVJOismf.js} +1 -1
  89. package/dist/{layers.CCH5qSih.js → layers.CXWtqfTe.js} +10 -7
  90. package/dist/layers.CYPfnKfS.js +96 -0
  91. package/dist/{layers.B00-1iAV.js → layers.CYdP1IhC.js} +1 -1
  92. package/dist/{layers.D3j9uNzd.js → layers.CYneLciB.js} +13 -10
  93. package/dist/layers.CZLVHOh5.js +8 -0
  94. package/dist/{layers.BE-zaOC2.js → layers.CbBTbZIx.js} +1 -1
  95. package/dist/layers.CcP6Z-gZ.js +118 -0
  96. package/dist/{layers.qhcxehdz.js → layers.CcTyCqqv.js} +1 -1
  97. package/dist/{layers.sLOyQZcV.js → layers.Cd3kGFCJ.js} +1 -1
  98. package/dist/{layers.Dbb-j6ep.js → layers.Ce7-wBOK.js} +1 -1
  99. package/dist/{layers.cM9zXLVC.js → layers.Cf5sVqJX.js} +1 -1
  100. package/dist/{layers.JEEhIg0m.js → layers.CfISeAkt.js} +86 -84
  101. package/dist/{layers.Dlplq5Vl.js → layers.Cg3Hqyp6.js} +1 -1
  102. package/dist/{layers.CXfyEibx.js → layers.Cg60w1Fn.js} +7 -4
  103. package/dist/layers.Chd1p2rt.js +26645 -0
  104. package/dist/{layers.Bv10AxGq.js → layers.CiTNX3uh.js} +1 -1
  105. package/dist/{layers.DYLSrRDw.js → layers.CkwenT1M.js} +1 -1
  106. package/dist/{layers.Dq67pw8V.js → layers.CnN8JfiX.js} +9 -6
  107. package/dist/{layers.Y0IKjrt2.js → layers.Coh6z7rV.js} +1 -1
  108. package/dist/{layers.ae6QjKlD.js → layers.CpJSdiMb.js} +1 -1
  109. package/dist/{layers.D_ZNOxp7.js → layers.Cryqj610.js} +8 -5
  110. package/dist/{layers.CTCi1Zya.js → layers.Cs-83js7.js} +1 -1
  111. package/dist/{layers.7OvdxGRE.js → layers.CsivQuv1.js} +1 -1
  112. package/dist/{layers.DGBPtrAj.js → layers.Cud-IArB.js} +1 -1
  113. package/dist/{layers.DB79nMwy.js → layers.CwL02t3J.js} +1 -1
  114. package/dist/{layers.iQx1OnXH.js → layers.CwsNJfmi.js} +1 -1
  115. package/dist/{layers.D2ept2hx.js → layers.CxIhyFb7.js} +6 -2
  116. package/dist/{layers.CDED3tG-.js → layers.Cxh-oez0.js} +6 -6
  117. package/dist/layers.D-uio-rN.js +423 -0
  118. package/dist/{layers.QbyGQk-s.js → layers.D0RX234F.js} +1 -1
  119. package/dist/{layers.BcdD4Kub.js → layers.D176Ljko.js} +1 -1
  120. package/dist/{layers.8-443yyd.js → layers.D2cVaX5z.js} +20 -17
  121. package/dist/layers.D4Bw_BrO.js +1 -0
  122. package/dist/{layers.1nXpKAJ2.js → layers.D8fFj0P_.js} +1 -1
  123. package/dist/{layers.b-XvW4-V.js → layers.D9N3lSue.js} +6 -6
  124. package/dist/{layers.DqIJvqbu.js → layers.DAmxkO9p.js} +1 -1
  125. package/dist/{layers.vSt9xurF.js → layers.DBwG7x-W.js} +1 -1
  126. package/dist/{layers.DC-Esj9C.js → layers.DDFbkCJT.js} +1 -1
  127. package/dist/{layers.DZNtacAC.js → layers.DDnI7-13.js} +1 -1
  128. package/dist/{layers.XqsjM4Js.js → layers.DE6w34F3.js} +1 -1
  129. package/dist/{layers.0Ig7SAGH.js → layers.DEaAvR_W.js} +18 -15
  130. package/dist/{layers.rigCtjVk.js → layers.DEtMl_i3.js} +1 -1
  131. package/dist/{layers.D5aMPhta.js → layers.DHNIckw6.js} +1 -1
  132. package/dist/layers.DHVcgZzL.js +257 -0
  133. package/dist/{layers.iA_Fgo9z.js → layers.DHcbExrH.js} +3 -3
  134. package/dist/{layers.CyNyXxvj.js → layers.DIpDvY-A.js} +1 -1
  135. package/dist/{layers.DuDf1ezU.js → layers.DJM_OF_R.js} +1 -1
  136. package/dist/{layers.LqgkRSDx.js → layers.DLJtS0JJ.js} +1 -1
  137. package/dist/{layers.DQ9tLViO.js → layers.DNJtYtN1.js} +1 -1
  138. package/dist/layers.DUlTmlus.js +213 -0
  139. package/dist/{layers.BP0cLCdC.js → layers.DUutOP8h.js} +1 -1
  140. package/dist/{layers.BHNil4iz.js → layers.DVWaIKgr.js} +12 -9
  141. package/dist/{layers.B7KSJCCk.js → layers.D_WwW4Fn.js} +1 -1
  142. package/dist/{layers.Bv7vodST.js → layers.D_fPGQ6i.js} +1 -1
  143. package/dist/{layers.BzhWDlph.js → layers.D_faABvp.js} +3744 -3749
  144. package/dist/{layers.BvBoMXd2.js → layers.DaIprEGs.js} +1 -1
  145. package/dist/{layers.D4YtD7iL.js → layers.Db0NyGA-.js} +1 -1
  146. package/dist/{layers.CoSEj_NH.js → layers.DdMy9cRx.js} +7 -7
  147. package/dist/{layers.DHkz5z4N.js → layers.De35CioU.js} +1 -1
  148. package/dist/{layers.fMMLMI12.js → layers.DgO3Q5mW.js} +1 -1
  149. package/dist/{layers.DGBh4sVh.js → layers.Di-PcJK6.js} +1 -1
  150. package/dist/{layers.BBLGcPGg.js → layers.DjCXWv2m.js} +1 -1
  151. package/dist/{layers.CmyzESvD.js → layers.Dk2S8boy.js} +1 -1
  152. package/dist/{layers.CTlgEeVk.js → layers.DkBjWcDH.js} +8 -5
  153. package/dist/{layers.Se5UBbOF.js → layers.DnRaD217.js} +3231 -3814
  154. package/dist/{layers.CjVZz9BF.js → layers.DnvnGxUC.js} +1 -1
  155. package/dist/{layers.DZGTkrsO.js → layers.DrarpmaN.js} +7 -4
  156. package/dist/{layers.DTj0lXel.js → layers.DukGouVT.js} +1 -1
  157. package/dist/{layers.BbBLP9cJ.js → layers.DvYYNhUp.js} +1 -1
  158. package/dist/layers.Dv_6xN7s.js +2 -0
  159. package/dist/layers.DwWUZK6s.js +129 -0
  160. package/dist/{layers.DZRyTn6M.js → layers.DwzO2zcv.js} +1 -1
  161. package/dist/{layers.Da2uCCzT.js → layers.DzD-lWXV.js} +8 -5
  162. package/dist/{layers.BHv2-g4M.js → layers.E0TLXdrR.js} +1 -1
  163. package/dist/{layers.EMkoiu95.js → layers.EcqLW9Mh.js} +1 -1
  164. package/dist/{layers.CxUvO3nD.js → layers.F4d4ILBH.js} +95 -92
  165. package/dist/{layers.CSGRMqOI.js → layers.G3enfHRT.js} +1 -1
  166. package/dist/{layers.B7TEkwGs.js → layers.HFONz6O9.js} +4 -4
  167. package/dist/{layers.BlxPj2ft.js → layers.IUqwmZRd.js} +3 -3
  168. package/dist/{layers.HJGAV_6P.js → layers.IbJq0D6U.js} +1 -1
  169. package/dist/{layers.B6ZBiQ9y.js → layers.Ic3KgoPg.js} +1 -1
  170. package/dist/{layers.CMTtWk9r.js → layers.JNgL8WWu.js} +1 -1
  171. package/dist/{layers.0huivShe.js → layers.KT-QFgdb.js} +1 -1
  172. package/dist/{layers.DhJGs9D9.js → layers.LCfVvo3T.js} +1 -1
  173. package/dist/{layers.CxE_w_kd.js → layers.LR-nMBU_.js} +8 -5
  174. package/dist/layers.Qt2qr0-t.js +76 -0
  175. package/dist/{layers.DS6uH7WL.js → layers.R8mPlCA0.js} +1 -1
  176. package/dist/{layers.CrNTTDsw.js → layers.SCsPWeXb.js} +1 -1
  177. package/dist/{layers.BFh4kozj.js → layers.U4NCf2-l.js} +3 -3
  178. package/dist/{layers.B44wzkNx.js → layers.UewvnK33.js} +1 -1
  179. package/dist/{layers.CsC8UAA5.js → layers.VfVZmEbK.js} +1 -1
  180. package/dist/{layers.Bxqbtq5y.js → layers.Vh-KvhZg.js} +1 -1
  181. package/dist/{layers.LSr3ZSq0.js → layers.Y3D9xjCC.js} +1 -1
  182. package/dist/{layers.DXl6OGkS.js → layers.YT6D6D2x.js} +1 -1
  183. package/dist/{layers.DMlO9Mu6.js → layers._y8hExIw.js} +9 -6
  184. package/dist/layers.a8-4vDzD.js +22 -0
  185. package/dist/{layers.CfFB1Jdb.js → layers.aGzHUJ1W.js} +4 -4
  186. package/dist/{layers.C6SjTJMZ.js → layers.b9B2NY7n.js} +2 -2
  187. package/dist/{layers.Cc0Vj494.js → layers.ck9pUJ0W.js} +1 -1
  188. package/dist/{layers.2QIBFyz0.js → layers.d3HoUueQ.js} +1 -1
  189. package/dist/layers.dWB4bggP.js +1 -0
  190. package/dist/{layers.DXSG6UTB.js → layers.dh8xLSwh.js} +1 -1
  191. package/dist/{layers.Csay1TY9.js → layers.eT_ZPmHS.js} +1 -1
  192. package/dist/{layers.DFPipsvw.js → layers.fumrrA0i.js} +3 -3
  193. package/dist/{layers.oMvas05W.js → layers.gVfRcFrJ.js} +1 -1
  194. package/dist/{layers.CBhNW4x3.js → layers.js7-Kn9p.js} +1 -1
  195. package/dist/{layers.D2kxkk3M.js → layers.kW7XFPN_.js} +1 -1
  196. package/dist/layers.mobYTQXI.js +1 -0
  197. package/dist/{layers.2FGRH0to.js → layers.mvotlTNZ.js} +1 -1
  198. package/dist/{layers.Br03igaE.js → layers.n1dibO8I.js} +1 -1
  199. package/dist/layers.nRPZ1e3g.js +1 -0
  200. package/dist/layers.o2u1uDM3.js +1 -0
  201. package/dist/layers.oJ31-KOl.js +6 -0
  202. package/dist/{layers.BaF5V6eT.js → layers.ojcNGNgi.js} +1 -1
  203. package/dist/{layers.C14IhTUb.js → layers.otxU0wtq.js} +1 -1
  204. package/dist/layers.rE9xnPLC.js +1 -0
  205. package/dist/{layers.YCN45krj.js → layers.s0KLXd5N.js} +1 -1
  206. package/dist/{layers.CXMTQ4Qs.js → layers.sqH5TpK8.js} +1 -1
  207. package/dist/{layers.Cic_oB60.js → layers.t_MFWlU6.js} +1 -1
  208. package/dist/{layers.2rBPbs2X.js → layers.xrt74v23.js} +1 -1
  209. package/dist/{layers.eqg2Wrbo.js → layers.zNb0110W.js} +1 -1
  210. package/package.json +24 -23
  211. package/dist/layers.1BQdieb-.js +0 -198
  212. package/dist/layers.B8bQ9R7v.js +0 -1
  213. package/dist/layers.BEoiYZ9C.js +0 -2
  214. package/dist/layers.BEwSO8pM.js +0 -118
  215. package/dist/layers.BRp0FVsS.js +0 -1
  216. package/dist/layers.Bbe25s3_.js +0 -1
  217. package/dist/layers.BkR5zRHn.js +0 -2
  218. package/dist/layers.BkpzTL2k.js +0 -1
  219. package/dist/layers.BqIIcYfB.js +0 -1
  220. package/dist/layers.BxEWWb9m.js +0 -96
  221. package/dist/layers.C4sqTK_F.js +0 -1
  222. package/dist/layers.CQIsVcwC.js +0 -6
  223. package/dist/layers.CTRdszML.js +0 -208
  224. package/dist/layers.CqT_gss2.js +0 -48035
  225. package/dist/layers.CsWTu1pX.js +0 -1
  226. package/dist/layers.CslnYMwL.js +0 -1
  227. package/dist/layers.CxWy2u81.js +0 -257
  228. package/dist/layers.D8q8EQ25.js +0 -19
  229. package/dist/layers.DSizcPmk.js +0 -304
  230. package/dist/layers.DrCX7uk-.js +0 -1
  231. package/dist/layers.DwoR4aww.js +0 -1
  232. package/dist/layers.F-T8S6hH.js +0 -423
  233. package/dist/layers.JZD2ERjq.js +0 -8
  234. package/dist/layers.SCq_rm-E.js +0 -74
  235. package/dist/layers.VNi0OGm-.js +0 -1359
  236. package/dist/layers.lU1KJbBR.js +0 -8
  237. package/dist/layers.wUbLWqHf.js +0 -7
@@ -1,4 +1,4 @@
1
- import "./layers.BzhWDlph.js";
1
+ import "./layers.D_faABvp.js";
2
2
  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 ?
3
3
 
4
4
  (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.
@@ -1,9 +1,12 @@
1
- import { n as Et, o as mt, g as gt, s as kt, a as xt, b as Rt, c as Z, l as V, d as rt, u as Ot, e as bt, q as Nt, r as Tt, X as At } from "./layers.Se5UBbOF.js";
1
+ import { n as Et, o as mt, a as gt, s as kt, b as xt, c as Rt, g as Z, l as V, d as rt, u as Ot, e as bt, q as Nt, r as Tt, X as At } from "./layers.DnRaD217.js";
2
2
  import { G as Mt } from "./layers.BJDrjORS.js";
3
3
  import "lodash-es";
4
4
  import { l as St } from "./layers.D4T8fTcj.js";
5
- import "./layers.BzhWDlph.js";
6
- import { l as wt } from "./layers.CmyzESvD.js";
5
+ import "./layers.D_faABvp.js";
6
+ import "lodash-es/memoize.js";
7
+ import "lodash-es/merge.js";
8
+ import "lodash-es/isEmpty.js";
9
+ import { l as wt } from "./layers.Dk2S8boy.js";
7
10
  const It = /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;
8
11
  function Dt(t) {
9
12
  return typeof t == "string" && It.test(t);
@@ -920,12 +923,12 @@ const le = {
920
923
  stroke-width: 1;
921
924
  }
922
925
 
923
- `, he = ce, Ee = {
926
+ `, he = ce, ke = {
924
927
  parser: Ut,
925
928
  db: qt,
926
929
  renderer: le,
927
930
  styles: he
928
931
  };
929
932
  export {
930
- Ee as diagram
933
+ ke as diagram
931
934
  };
@@ -1,4 +1,4 @@
1
- import "./layers.BzhWDlph.js";
1
+ import "./layers.D_faABvp.js";
2
2
  var B = { 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: '"எக்ஸ்கேலிட்ரா கொண்டு ஆனது"-ஐச் சேர்', 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: "எக்ஸ்கேலிட்ரா நூலகம்", 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: "" }, u = { noItems: "இதுவரை உருப்படிகள் சேரக்கப்படவில்லை...", hint_emptyLibrary: "கித்தானிலுள்ள உருப்படியை இங்குச் சேர்க்க தேர்ந்தெடு, அல்லது கீழுள்ள பொது களஞ்சியத்திலிருந்து நூலகத்தை நிறுவு.", hint_emptyPrivateLibrary: "கித்தானிலுள்ள உருப்படியை இங்குச் சேர்க்க தேர்ந்தெடு." }, C = { 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: "" }, A = { clearReset: "இது முழு கித்தானையும் துடைக்கும். நீங்கள் உறுதியா?", couldNotCreateShareableLink: "பகிரக்கூடிய தொடுப்பை உருவாக்க முடியவில்லை.", couldNotCreateShareableLinkTooBig: "பகிரக்கூடிய தொடுப்பை உருவாக்க முடியவில்லை: காட்சி மிகப்பெரிதாக உள்ளது", couldNotLoadInvalidFile: "செல்லாத கோப்பை ஏற்ற முடியவில்லை", importBackendFailed: "தேகத்திலிருந்து இறக்குமதி தோல்வி.", cannotExportEmptyCanvas: "காலியான கித்தானை ஏற்றுமதிசெய்ய முடியாது.", couldNotCopyToClipboard: "நகலகத்திற்கு நகலெடுக்க முடியவில்லை.", decryptFailed: "தரவை மறைநீக்க முடியவில்லை.", uploadedSecurly: "பதிவேற்றம் இருமுனை மறையாகத்தால் பாதுகாக்கப்பட்டுள்ளது, எனவே எக்ஸ்கேலிட்ரா சேவையகமும் மூன்றாம் தரப்பினரும் உள்ளடக்கத்தை வாசிக்கமுடியாது.", loadSceneOverridePrompt: "வெளிப்புறச்சித்திரமேற்றல் இருக்கிற உள்ளடக்கத்தை இடங்கொள்ளும். தொடர விருப்பமா?", collabStopOverridePrompt: `அமர்வை நிறுத்துதல் முன்னர் அகமாக தேக்கிய உம் சித்திரத்தை மேலெழுதும். நீங்கள் உறுதியா?
3
3
 
4
4
  (உம் அக சித்திரத்தை வைக்கவேண்டுமெனில், சும்மா உலாவி தாவலை மூடுக அதற்குபதிலாக.)`, errorAddingToLibrary: "உருப்படியை நூலகத்தில் சேர்க்க இயலா", errorRemovingFromLibrary: "உருப்படியை நூலகத்திலிருந்து நீக்க இயலா", confirmAddLibrary: "இதனால் {{numShapes}} வடிவம்(கள்) உம் நூலகத்தில் சேரும். நீங்கள் உறுதியா?", imageDoesNotContainScene: "இப்படத்தில் காட்சி தரவு ஏதும் இருப்பதுபோல் தெரியவில்லை. ஏற்றுமதியின்போது காட்சி உட்பதிதலை இயக்கினீரா?", cannotRestoreFromImage: "இப்படக்கோப்பிலிருந்து காட்சி மீட்டெடுக்கப்பட முடியாது", invalidSceneUrl: "வழங்கப்பட்ட உரலியிலிருந்து காட்சியை இறக்கவியலா. இது தவறான வடிவத்தில் உள்ளது, அ செல்லத்தக்க எக்ஸ்கேலிட்ரா JSON தரவைக் கொண்டில்லை.", resetLibrary: "இது உங்கள் நுலகத்தைத் துடைக்கும். நீங்கள் உறுதியா?", removeItemsFromsLibrary: "{{count}} உருப்படி(கள்)-ஐ உம் நூலகத்திலிருந்து அழிக்கவா?", invalidEncryptionKey: "மறையாக்க விசை 22 வரியுருக்கள் கொண்டிருக்கவேண்டும். நேரடி கூட்டுப்பணி முடக்கப்பட்டது.", collabOfflineWarning: `இணைய இணைப்பு இல்லை.
@@ -1 +1 @@
1
- "use strict";const P=require("lodash-es"),J=require("./layers.Cyzu9PKQ.js"),k=require("./layers.BLd2spTm.js"),u=require("./layers.fMMLMI12.js"),i=require("./layers.BxEWWb9m.js"),j=require("./layers.LqgkRSDx.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.DgO3Q5mW.js"),i=require("./layers.CYPfnKfS.js"),j=require("./layers.DLJtS0JJ.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;