@layers-app/editor 0.1.11 → 0.1.13

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 (221) hide show
  1. package/dist/index.cjs +2 -2
  2. package/dist/index.d.ts +4 -3
  3. package/dist/index.js +2 -2
  4. package/dist/{layers.cu7tzfiR.js → layers.-8ozJFby.js} +1 -1
  5. package/dist/layers.0a8C9Zft.js +122 -0
  6. package/dist/{layers.D3K8sreg.js → layers.19mmJqf_.js} +1 -1
  7. package/dist/{layers.DPQgyGOh.js → layers.1JGGzMhf.js} +4 -4
  8. package/dist/{layers.DvQgacQ9.js → layers.2EYvILXt.js} +1 -1
  9. package/dist/{layers.BO6aUG3u.js → layers.3-u8XGDF.js} +1 -1
  10. package/dist/{layers.BjfMSqyC.js → layers.6aHDNB7c.js} +3 -3
  11. package/dist/{layers.D6GLOuFK.js → layers.7dxWyzAI.js} +1 -1
  12. package/dist/{layers.IFtcuNRN.js → layers.9qzXGVGI.js} +1 -1
  13. package/dist/{layers.BgcdZoox.js → layers.A6CwFqax.js} +1 -1
  14. package/dist/{layers.DEhPZdbE.js → layers.AiZCmV1t.js} +17 -19
  15. package/dist/{layers.Dbbm6JQn.js → layers.B3-SuxGb.js} +1 -1
  16. package/dist/{layers.BAn3qv9N.js → layers.B4-oO3lA.js} +1 -1
  17. package/dist/{layers.CtCzuj2a.js → layers.B4Zi6bAp.js} +1 -1
  18. package/dist/{layers.CCsX9iwc.js → layers.B652NYpW.js} +1 -1
  19. package/dist/{layers.xLErh_Sx.js → layers.B8HLz9Gw.js} +1 -1
  20. package/dist/{layers.BadciSzU.js → layers.BAnqoHSH.js} +3 -3
  21. package/dist/{layers.B7pXZzgW.js → layers.BBJgBv_q.js} +1 -1
  22. package/dist/{layers.C6UXPvUH.js → layers.BBPtcI0m.js} +1 -1
  23. package/dist/{layers.CIQmEwPP.js → layers.BCQ7o7Ii.js} +1 -1
  24. package/dist/{layers.DAgpP0Ul.js → layers.BCYP5AmP.js} +2 -2
  25. package/dist/{layers.ClTvcL7f.js → layers.BDgZBQ-4.js} +1 -1
  26. package/dist/{layers.yPVlmVx-.js → layers.BGY9VSLU.js} +1 -1
  27. package/dist/{layers.DtpFVUms.js → layers.BHvavGY0.js} +1 -1
  28. package/dist/{layers.CyY0oMag.js → layers.BIiThTlS.js} +1 -1
  29. package/dist/{layers.BVwtMJKt.js → layers.BJtdxspq.js} +1 -1
  30. package/dist/{layers.FM3hewj5.js → layers.BM0tE40L.js} +1 -1
  31. package/dist/{layers.Bf7f2hyY.js → layers.BMeMRR_7.js} +1 -1
  32. package/dist/{layers.BWXAkrS4.js → layers.BNkn5eTg.js} +3 -3
  33. package/dist/{layers.BYzN4Zxz.js → layers.BODaZCcU.js} +1 -1
  34. package/dist/{layers.CyDysPZ-.js → layers.BPlAQzIG.js} +1 -1
  35. package/dist/{layers.BM2iqC3D.js → layers.BTBcJpds.js} +1 -1
  36. package/dist/{layers.BJ2WiPcj.js → layers.BTCkEPVx.js} +3 -3
  37. package/dist/{layers.CIG2V-vs.js → layers.BTZQp9oo.js} +1 -1
  38. package/dist/{layers.B1lZsgvd.js → layers.BU6JCK-A.js} +1 -1
  39. package/dist/{layers.2DJ5j1xt.js → layers.BWGAXC9K.js} +2 -2
  40. package/dist/{layers.D2t7NAQT.js → layers.BXhHLv0m.js} +1 -1
  41. package/dist/{layers.BabOqhGt.js → layers.BXxAZ6eZ.js} +5 -5
  42. package/dist/layers.BY9STrtF.js +132 -0
  43. package/dist/{layers.DN6lh7hF.js → layers.BYQv4PoF.js} +1 -1
  44. package/dist/{layers.CydtYlEQ.js → layers.B_YjqyZM.js} +1 -1
  45. package/dist/{layers.w66I5muL.js → layers.BbvUwQN-.js} +1 -1
  46. package/dist/{layers.CRjyczwR.js → layers.BcXRskzs.js} +1 -1
  47. package/dist/layers.Bckxq5G5.js +285 -0
  48. package/dist/{layers.Bwu-dJIK.js → layers.BdN3kctN.js} +2 -2
  49. package/dist/{layers.BV3nprpw.js → layers.Bda5e9AQ.js} +1 -1
  50. package/dist/{layers.Bd_DWzOy.js → layers.Be2Ck524.js} +1 -1
  51. package/dist/{layers.JSzy8Tos.js → layers.Bee-635c.js} +1 -1
  52. package/dist/{layers.B6tmdjkM.js → layers.Bg6r8fzJ.js} +7771 -7675
  53. package/dist/{layers.VDHfh2n9.js → layers.Bg7nx_wm.js} +1 -1
  54. package/dist/{layers.CtApbTrT.js → layers.BgDUUozo.js} +1 -1
  55. package/dist/{layers.Cr_oOTvP.js → layers.BgjIbjvn.js} +1 -1
  56. package/dist/{layers.B1yraU7a.js → layers.BhnKRl71.js} +1 -1
  57. package/dist/{layers.BE9TGI-L.js → layers.Birn4U_E.js} +2 -2
  58. package/dist/{layers.DTsNCXQ8.js → layers.BnkLNnRS.js} +1 -1
  59. package/dist/{layers.10F_oxAf.js → layers.BohLNJyh.js} +1 -1
  60. package/dist/{layers.Aqp_35v2.js → layers.Boz0_eCV.js} +4 -4
  61. package/dist/{layers.EfQVyHc2.js → layers.BqRC9FDT.js} +1 -1
  62. package/dist/{layers.VySV8qzP.js → layers.BtJNMgdw.js} +1 -1
  63. package/dist/{layers.axAvQEZX.js → layers.BtzjCPBp.js} +1 -1
  64. package/dist/{layers.ggDmYLox.js → layers.Bwnuq7nQ.js} +1 -1
  65. package/dist/{layers.B25iYPwD.js → layers.BxaaoprN.js} +6 -6
  66. package/dist/{layers.BW6TnEFQ.js → layers.C-zpSFVR.js} +2681 -2668
  67. package/dist/{layers.Ctkn9SrN.js → layers.C0ZNvKnw.js} +3 -3
  68. package/dist/{layers.4t5rhpJ0.js → layers.C0z5XTe3.js} +2 -2
  69. package/dist/{layers.MR4abf2z.js → layers.C3Rw22vq.js} +1 -1
  70. package/dist/{layers.M274OnPA.js → layers.C8aU0fuX.js} +5 -5
  71. package/dist/{layers.DH7rIFPy.js → layers.C96P7ByS.js} +1 -1
  72. package/dist/{layers.FYRIbDRm.js → layers.CAlaIK4g.js} +5760 -5465
  73. package/dist/{layers.Cptaq_FS.js → layers.CBMxeBAj.js} +1 -1
  74. package/dist/{layers.CQ5QBV_q.js → layers.CBsMBmYD.js} +1 -1
  75. package/dist/{layers.GSdc57m_.js → layers.CDMIJNp0.js} +4 -4
  76. package/dist/{layers.BoZ_x5iL.js → layers.CDMuBa-_.js} +1 -1
  77. package/dist/{layers.BFYeTGRT.js → layers.CE7BbMqo.js} +1 -1
  78. package/dist/layers.CF8NS6oi.js +1 -0
  79. package/dist/{layers.CWyc8Rtf.js → layers.CGJ5782E.js} +1 -1
  80. package/dist/{layers.Bft664mj.js → layers.CGt6y9i1.js} +1 -1
  81. package/dist/{layers.DqYPzNjy.js → layers.CIW-XUuZ.js} +1 -1
  82. package/dist/{layers.CgCrHj4-.js → layers.CIa29KT0.js} +3 -3
  83. package/dist/{layers.DpnPaE73.js → layers.CIjHEYBA.js} +1 -1
  84. package/dist/{layers.BT6uZx8w.js → layers.CJzMrG8C.js} +1 -1
  85. package/dist/{layers.26VR4Gbd.js → layers.CN7IbcHS.js} +1 -1
  86. package/dist/{layers.Z89EgVpd.js → layers.CND5HRfD.js} +1 -1
  87. package/dist/layers.CPCPMf-n.js +425 -0
  88. package/dist/{layers.C58RhTDf.js → layers.CPPldYyg.js} +1 -1
  89. package/dist/{layers.XA3f2CUH.js → layers.CPpPlhrv.js} +1 -1
  90. package/dist/{layers.8j7Npo3a.js → layers.CR9P_Wab.js} +1 -1
  91. package/dist/{layers.CRfv5enU.js → layers.C_esePfU.js} +1 -1
  92. package/dist/{layers.BRsg6mUH.js → layers.CbRH8a1j.js} +1 -1
  93. package/dist/{layers.CdclGZk-.js → layers.Cc9_uswB.js} +1 -1
  94. package/dist/{layers.D-YZJopV.js → layers.CcbXL-g0.js} +1 -1
  95. package/dist/{layers.BY0AH8Im.js → layers.CeLePfgw.js} +1 -1
  96. package/dist/{layers.zG2gTG-H.js → layers.CeTac4CM.js} +1 -1
  97. package/dist/{layers.Bv8PgUvl.js → layers.CfftxiYQ.js} +1 -1
  98. package/dist/{layers.DVJU-V0K.js → layers.CghqCGMj.js} +3 -3
  99. package/dist/{layers.CS0W9dm2.js → layers.CnxecNk3.js} +1 -1
  100. package/dist/{layers.C4joqDIO.js → layers.CoLyX3cX.js} +1 -1
  101. package/dist/{layers.CQswU7al.js → layers.CosyX26h.js} +4 -4
  102. package/dist/{layers.B3pznQk7.js → layers.CqBNKg1S.js} +1 -1
  103. package/dist/{layers.EHmFDP16.js → layers.CtL-9vEe.js} +2 -2
  104. package/dist/{layers.CW7inPW_.js → layers.CuRCmFlG.js} +1 -1
  105. package/dist/{layers.vWZBnGXh.js → layers.Cutc8HGZ.js} +1 -1
  106. package/dist/{layers.DHO9hL3t.js → layers.CvYZ3Ml3.js} +1 -1
  107. package/dist/{layers.Be2AKMmM.js → layers.CwiZjTm-.js} +1 -1
  108. package/dist/{layers.DHzNZtQQ.js → layers.CxEwXVOv.js} +61 -59
  109. package/dist/{layers.BX11mVrJ.js → layers.CxnZi5RE.js} +1 -1
  110. package/dist/{layers.fjSmgsuM.js → layers.CxtZWeuV.js} +1 -1
  111. package/dist/{layers.Cm7fmQ-1.js → layers.D0Rf3aJ-.js} +1 -1
  112. package/dist/{layers.B8R08xw7.js → layers.D2Uo-C7N.js} +1 -1
  113. package/dist/{layers.zhfs4Rjx.js → layers.D2zV6Hs3.js} +4 -4
  114. package/dist/{layers.BeiHIEID.js → layers.D3DLBgXE.js} +1 -1
  115. package/dist/{layers.Cq2AIO9L.js → layers.D4-DXCNF.js} +1 -1
  116. package/dist/{layers.BOZav8Ee.js → layers.D4V3f7yA.js} +1 -1
  117. package/dist/{layers.fdaMdtSQ.js → layers.DC6HU378.js} +1 -1
  118. package/dist/{layers.s3G_Xyqi.js → layers.DCPUlpdn.js} +1 -1
  119. package/dist/{layers.DZlZYNc5.js → layers.DD2krz5y.js} +1 -1
  120. package/dist/{layers.CtXjzm50.js → layers.DEKPybEs.js} +1 -1
  121. package/dist/{layers.CsFfsk1Q.js → layers.DEj29MTi.js} +1 -1
  122. package/dist/{layers.BiLaL9uQ.js → layers.DGdBr7uj.js} +1 -1
  123. package/dist/layers.DGuY7xbb.js +1 -0
  124. package/dist/{layers.BCg7lYRl.js → layers.DI1lAVVv.js} +1 -1
  125. package/dist/{layers.CxTWR6s7.js → layers.DIe4Alc_.js} +1 -1
  126. package/dist/{layers.BY2tHTl3.js → layers.DIo0xwQy.js} +1 -1
  127. package/dist/layers.DK6yd1-9.js +1 -0
  128. package/dist/{layers.BnbE7PKF.js → layers.DKdWbzyN.js} +1 -1
  129. package/dist/{layers.DW7Oe1Rt.js → layers.DN5Stdkb.js} +1 -1
  130. package/dist/{layers.Cne6uHv9.js → layers.DNMLA5Sx.js} +1 -1
  131. package/dist/{layers.DQFt4WDH.js → layers.DOjjOYR5.js} +1 -1
  132. package/dist/{layers.CpXMQ5O7.js → layers.DOzqMf1G.js} +1 -1
  133. package/dist/{layers.BiuuR2en.js → layers.DPMYxiqL.js} +1 -1
  134. package/dist/{layers.CTHqshyo.js → layers.DPuJvUib.js} +1 -1
  135. package/dist/layers.DQVuWa5Q.js +6 -0
  136. package/dist/{layers.CLHMrRrZ.js → layers.DQnqyzR9.js} +1 -1
  137. package/dist/{layers.DhXq_hUR.js → layers.DTllXvuC.js} +1 -1
  138. package/dist/{layers.7aCWrxKl.js → layers.DTmYwjyy.js} +1 -1
  139. package/dist/{layers.CPCeLvyw.js → layers.DY_wJQVR.js} +1 -1
  140. package/dist/{layers.BzFZ1b3G.js → layers.DZ4WCe8O.js} +3 -3
  141. package/dist/{layers.BqIanFBL.js → layers.DZfI1rN4.js} +1 -1
  142. package/dist/layers.Da3yMH0i.js +8 -0
  143. package/dist/{layers.C7iDslXH.js → layers.DaVXXzoo.js} +4 -4
  144. package/dist/{layers.D5yAW6We.js → layers.DbaavSRn.js} +1 -1
  145. package/dist/{layers.C62MRl2i.js → layers.DgU9MEqO.js} +1 -1
  146. package/dist/layers.DgzTNF3O.js +1 -0
  147. package/dist/{layers.tFg1IVA5.js → layers.Dhvfy7v8.js} +1 -1
  148. package/dist/{layers.DUVUkAkU.js → layers.DiROAWaO.js} +1 -1
  149. package/dist/{layers.BJ8k7AyC.js → layers.DlBMaMjv.js} +1 -1
  150. package/dist/{layers.DAFrfr3n.js → layers.DlChl8Ap.js} +1 -1
  151. package/dist/{layers.CMvRSnGp.js → layers.DmT8LYxt.js} +1 -1
  152. package/dist/{layers.Cq7VoON6.js → layers.DmWyJHQy.js} +1 -1
  153. package/dist/{layers.DDgP6ojv.js → layers.Dn0fqOqc.js} +17607 -17613
  154. package/dist/{layers.mTDMnfbs.js → layers.Dn8vNFNI.js} +1 -1
  155. package/dist/layers.DqRbwQzq.js +58 -0
  156. package/dist/{layers.BvD97osC.js → layers.DqyNPRwZ.js} +1 -1
  157. package/dist/{layers.BCM28r0r.js → layers.DsFiy5Mq.js} +1 -1
  158. package/dist/{layers.xuSvFeb8.js → layers.Dskk8uhq.js} +1 -1
  159. package/dist/{layers.DjLT9gNd.js → layers.DtSu_PeO.js} +1 -1
  160. package/dist/{layers.DNV1CxGK.js → layers.DuYmhH5M.js} +1 -1
  161. package/dist/{layers.CDiIhl-h.js → layers.Dv2kCAsV.js} +1 -1
  162. package/dist/{layers.BX-jvRLZ.js → layers.DvJhatBC.js} +1 -1
  163. package/dist/{layers.8g6Kqwfa.js → layers.Dwyl9amn.js} +1 -1
  164. package/dist/{layers.DXbrYoKf.js → layers.DxemEukt.js} +1 -1
  165. package/dist/{layers.BbASP6pP.js → layers.Dy8J3Ujf.js} +21 -23
  166. package/dist/{layers.DMmW6aAr.js → layers.Dz-m64Mp.js} +1 -1
  167. package/dist/{layers.2HrKU-hM.js → layers.DzE7WF3u.js} +1 -1
  168. package/dist/{layers.B6ji94ox.js → layers.GEGEzqF_.js} +1 -1
  169. package/dist/{layers.Dj3vc-Rc.js → layers.Hfqhe0bh.js} +1 -1
  170. package/dist/{layers.BVFNBedb.js → layers.In6Zis7V.js} +1 -1
  171. package/dist/{layers.BAcfMt55.js → layers.InXGwJxF.js} +1 -1
  172. package/dist/{layers.DxojS2Rt.js → layers.LhUrSJE-.js} +1 -1
  173. package/dist/{layers.CfBKDlcY.js → layers.Lpr7GhOx.js} +1 -1
  174. package/dist/layers.M1sws39F.js +1 -0
  175. package/dist/{layers.DnCjx6fa.js → layers.OkwrDQA6.js} +2 -2
  176. package/dist/{layers.BIDnkNut.js → layers.OwyTRmnO.js} +1 -1
  177. package/dist/{layers.xHm-EgHr.js → layers.SIchF2O9.js} +1 -1
  178. package/dist/layers.V0hm-Byb.js +96 -0
  179. package/dist/{layers.CiZjcR7F.js → layers.V4CP7lwj.js} +1 -1
  180. package/dist/{layers.FL9cf-5M.js → layers.VHlimcDq.js} +1 -1
  181. package/dist/{layers.D0F_qdEq.js → layers.WQyoC9Vd.js} +1 -1
  182. package/dist/{layers.B3txrJII.js → layers.WvG1ZdSk.js} +1 -1
  183. package/dist/{layers.C0DrZrH6.js → layers.XTFl94zy.js} +1 -1
  184. package/dist/{layers.D4ztS4Ks.js → layers.ZDUujT6N.js} +1 -1
  185. package/dist/{layers.tEgdd6ZZ.js → layers._f7UqGgM.js} +1 -1
  186. package/dist/{layers.BPTbxnNH.js → layers.a-bPoAhB.js} +4 -4
  187. package/dist/{layers.C-VHvleA.js → layers.aJXStXGb.js} +4 -4
  188. package/dist/{layers.G_s2yieT.js → layers.aScqxyRN.js} +1 -1
  189. package/dist/{layers.D8nRWjsV.js → layers.biHTnLuV.js} +1 -1
  190. package/dist/{layers.Cx2VSIis.js → layers.bpk5iC3D.js} +1 -1
  191. package/dist/{layers.CIDERcAo.js → layers.dhoRXoOW.js} +1 -1
  192. package/dist/{layers.C_NNePuA.js → layers.dsTwBrI5.js} +4 -4
  193. package/dist/{layers.C1WSGdIk.js → layers.fO-Q1dHY.js} +1 -1
  194. package/dist/{layers.BeohZwmQ.js → layers.gdQbR2q3.js} +1 -1
  195. package/dist/{layers.D0CB3GeV.js → layers.hFNRNmpd.js} +1 -1
  196. package/dist/{layers.DPpOVmU6.js → layers.i_Y8A9zA.js} +1 -1
  197. package/dist/{layers.DyOM1kr0.js → layers.jar3pxQU.js} +1 -1
  198. package/dist/{layers.CKWWKy9e.js → layers.lpLb-e0Q.js} +1 -1
  199. package/dist/{layers.Bt5dcICQ.js → layers.nPPBewJZ.js} +1 -1
  200. package/dist/{layers.DIxnpL0q.js → layers.o0uSpL2s.js} +1 -1
  201. package/dist/{layers.DXNebwb9.js → layers.qz45Ugdq.js} +2 -2
  202. package/dist/{layers.BcdwOAR3.js → layers.sav0hmWq.js} +1 -1
  203. package/dist/{layers.CmsVMWSA.js → layers.shpZsYlJ.js} +3 -3
  204. package/dist/{layers.ChWfy8U3.js → layers.uYOSpoyV.js} +1 -1
  205. package/dist/{layers.yGCxN51j.js → layers.v50r3PAk.js} +1 -1
  206. package/dist/{layers.Cnebch-O.js → layers.x4J9FdT3.js} +72 -40
  207. package/dist/{layers.CMav5kBa.js → layers.zZvuba7q.js} +18 -18
  208. package/package.json +18 -4
  209. package/dist/layers.4Ou4t228.js +0 -8
  210. package/dist/layers.B4x6UszA.js +0 -164
  211. package/dist/layers.B5IwVcRk.js +0 -1
  212. package/dist/layers.CBNU2UPM.js +0 -1
  213. package/dist/layers.CElJ93cL.js +0 -425
  214. package/dist/layers.CN-0qe5z.js +0 -321
  215. package/dist/layers.CUSgDm7_.js +0 -6
  216. package/dist/layers.D9S1ELkZ.js +0 -1
  217. package/dist/layers.DBsW3ZT0.js +0 -58
  218. package/dist/layers.DJCLWdyK.js +0 -1
  219. package/dist/layers.DVdH5YXo.js +0 -96
  220. package/dist/layers._MujkFgx.js +0 -122
  221. package/dist/layers.iSb4r16K.js +0 -1
@@ -1 +1 @@
1
- "use strict";const P=require("lodash-es"),J=require("./layers.COAF7f8g.js"),k=require("./layers.9QK1wiQj.js"),u=require("./layers.10F_oxAf.js"),i=require("./layers.DVdH5YXo.js"),j=require("./layers.BT6uZx8w.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:E}=u.getSubGraphTitleMargins(n);o?f.attr("transform",`translate(${t.x-d.width/2}, ${t.y-t.height/2+E})`):f.attr("transform",`translate(${t.x}, ${t.y-t.height/2+E})`);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:E}=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)+E})`);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),N=v.elem;u.updateNodeBounds(c,N),c.diff=v.diff||0,i.log$1.info("Node bounds (abc123)",l,c,c.width,c.x,c.y),u.setNodeElem(N,c),i.log$1.warn("Recursive render complete ",N,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 E=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(N=>N.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"&&(E=c.diff)}),{elem:g,diff:E}},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.COAF7f8g.js"),k=require("./layers.9QK1wiQj.js"),u=require("./layers.BohLNJyh.js"),i=require("./layers.V0hm-Byb.js"),j=require("./layers.CJzMrG8C.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:E}=u.getSubGraphTitleMargins(n);o?f.attr("transform",`translate(${t.x-d.width/2}, ${t.y-t.height/2+E})`):f.attr("transform",`translate(${t.x}, ${t.y-t.height/2+E})`);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:E}=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)+E})`);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),N=v.elem;u.updateNodeBounds(c,N),c.diff=v.diff||0,i.log$1.info("Node bounds (abc123)",l,c,c.width,c.x,c.y),u.setNodeElem(N,c),i.log$1.warn("Recursive render complete ",N,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 E=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(N=>N.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"&&(E=c.diff)}),{elem:g,diff:E}},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;