@layers-app/editor 2.3.19 → 2.3.20

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (215) hide show
  1. package/dist/index.cjs +2 -2
  2. package/dist/index.d.ts +18 -9
  3. package/dist/index.js +2 -2
  4. package/dist/{layers.BiU3S38d.js → layers.2hzK1dAd.js} +1 -1
  5. package/dist/{layers.CM_fgqFk.js → layers.3TKE0VLk.js} +1 -1
  6. package/dist/{layers.BJvIUuBq.js → layers.3g-zVBDv.js} +1 -1
  7. package/dist/{layers.BCgBOUJe.js → layers.43ZBAZt-.js} +1 -1
  8. package/dist/{layers.wvBOkExp.js → layers.4dsGF-Bp.js} +16254 -16790
  9. package/dist/{layers.DNTuMkI2.js → layers.5A2QxBVO.js} +1 -1
  10. package/dist/{layers.BSfbB726.js → layers.6juQfLNR.js} +1 -1
  11. package/dist/{layers.DrlbsVAH.js → layers.6rQCU5Dh.js} +1 -1
  12. package/dist/{layers.BwBz6j2M.js → layers.Ar_uu-OD.js} +1 -1
  13. package/dist/{layers.BazfgAX9.js → layers.B-HMdg89.js} +1 -1
  14. package/dist/{layers.C2KeqvRu.js → layers.B-OJEefB.js} +1 -1
  15. package/dist/{layers.Ygdtuvwz.js → layers.B-tFFFCO.js} +1 -1
  16. package/dist/{layers.DSXwMSoF.js → layers.B0d5Tf0k.js} +1 -1
  17. package/dist/{layers.20dJ8d3m.js → layers.B3UJMIdg.js} +1 -1
  18. package/dist/{layers.Db_ZkORT.js → layers.B3j3dRjP.js} +1 -1
  19. package/dist/{layers.COvWt6kE.js → layers.B6aNUfLZ.js} +3 -3
  20. package/dist/{layers.DmHMPCRN.js → layers.B7Om4gZg.js} +3 -3
  21. package/dist/{layers.Cz3ivauP.js → layers.BA6IIhNN.js} +1 -1
  22. package/dist/{layers.Cly9kX2V.js → layers.BA6u4DzA.js} +1 -1
  23. package/dist/{layers.Dnca0ywX.js → layers.BA8_SrSX.js} +2 -2
  24. package/dist/{layers.BIJtwrVL.js → layers.BBGWNlMK.js} +1 -1
  25. package/dist/{layers.zNOdMkKU.js → layers.BBXL5PJD.js} +1 -1
  26. package/dist/{layers.DVri1zv_.js → layers.BBis8vmS.js} +1 -1
  27. package/dist/{layers.BVeh3tvZ.js → layers.BC-8sa7I.js} +1 -1
  28. package/dist/{layers.SsMv6N0G.js → layers.BCODAH3P.js} +1 -1
  29. package/dist/{layers.DaZn8a4K.js → layers.BCi3ZGsW.js} +1 -1
  30. package/dist/{layers.DAUpTqJ4.js → layers.BDXpiimO.js} +1 -1
  31. package/dist/{layers.B51WWPZ9.js → layers.BDm-r-iX.js} +1 -1
  32. package/dist/{layers.BVkv1Ykf.js → layers.BK-9yYkP.js} +1 -1
  33. package/dist/{layers.4Lak4nDL.js → layers.BMFi5v4X.js} +1 -1
  34. package/dist/{layers.Dv0JLzw_.js → layers.BP_vWP62.js} +1 -1
  35. package/dist/{layers.MVv54I0U.js → layers.BPewympc.js} +1 -1
  36. package/dist/{layers.BH_3Bz4_.js → layers.BSaGYLnT.js} +1 -1
  37. package/dist/{layers.BPjcDK6e.js → layers.BSt0wqSt.js} +1 -1
  38. package/dist/{layers.CykPxPF6.js → layers.BVPXolbg.js} +1 -1
  39. package/dist/layers.BWakrBYS.js +1 -0
  40. package/dist/{layers.ClGc5PM7.js → layers.BWpJHa9A.js} +1 -1
  41. package/dist/{layers.B0RwVZwd.js → layers.BXRo3Mj5.js} +24 -24
  42. package/dist/{layers.BAq71XkI.js → layers.BXljdiXS.js} +1 -1
  43. package/dist/{layers.VI8qoLd6.js → layers.BZ4LTZrY.js} +1 -1
  44. package/dist/{layers.vdPQKpeg.js → layers.BauACYPJ.js} +1 -1
  45. package/dist/{layers.BK2sl3IR.js → layers.BbYcJW5X.js} +1 -1
  46. package/dist/{layers.DWgwWzuv.js → layers.Bc6XJDal.js} +1 -1
  47. package/dist/{layers.DcPu1d0d.js → layers.BedfFE-k.js} +8 -8
  48. package/dist/{layers.Di53oIpy.js → layers.BgjK9qIw.js} +1 -1
  49. package/dist/{layers.BK51rcis.js → layers.Bgyp5u1H.js} +1 -1
  50. package/dist/{layers.D-_ZZX7q.js → layers.BhxpNIML.js} +1 -1
  51. package/dist/{layers.oYaf_965.js → layers.BjJdPEhb.js} +1 -1
  52. package/dist/{layers.CbeCzNGY.js → layers.BlRMOHKQ.js} +1 -1
  53. package/dist/{layers.DMwzDjFw.js → layers.BlXON-6T.js} +1 -1
  54. package/dist/{layers.CpUTu3XY.js → layers.Bly-k7zK.js} +1 -1
  55. package/dist/{layers.CAHB2FhC.js → layers.Bm0fYegF.js} +1 -1
  56. package/dist/{layers.CPJp3koX.js → layers.Bnge0B3Y.js} +1 -1
  57. package/dist/{layers.DGjFtmdh.js → layers.BoGonTT7.js} +2 -2
  58. package/dist/{layers.Ts2IR8D3.js → layers.BrNoipJ4.js} +1 -1
  59. package/dist/{layers.BEKcP56x.js → layers.BrSht8QM.js} +7 -7
  60. package/dist/{layers.CXC45YDv.js → layers.Bs4Ibr78.js} +1 -1
  61. package/dist/{layers.85FReFF8.js → layers.Bsy65B4j.js} +1 -1
  62. package/dist/{layers.BUsZC1CV.js → layers.BtCi9gJQ.js} +1 -1
  63. package/dist/{layers.C7v8iUVP.js → layers.BtRUYq1i.js} +1 -1
  64. package/dist/{layers.DPBkCTNx.js → layers.Bvrpl0Vh.js} +4 -4
  65. package/dist/{layers.DsKYBeDX.js → layers.Bvtud8TQ.js} +1 -1
  66. package/dist/{layers.CItMwjGh.js → layers.C01ISxoM.js} +1 -1
  67. package/dist/{layers.DumFjh5T.js → layers.C1AomAp9.js} +1 -1
  68. package/dist/{layers.CVnyd1z9.js → layers.C2E14kzn.js} +1 -1
  69. package/dist/{layers.DygQOu7R.js → layers.C2b2SK7o.js} +2 -2
  70. package/dist/{layers.BvQCg8gf.js → layers.C3CFdhaF.js} +1 -1
  71. package/dist/{layers.BpaxV5hx.js → layers.C3S1-tCk.js} +1 -1
  72. package/dist/{layers.Ch9THspM.js → layers.C4HXgofX.js} +1 -1
  73. package/dist/{layers.P5tzCmAQ.js → layers.C4LOShPb.js} +1 -1
  74. package/dist/{layers.Xvy10Hcm.js → layers.C55WHzKI.js} +1 -1
  75. package/dist/{layers.DLJX4-pt.js → layers.C7rwPqMR.js} +1 -1
  76. package/dist/{layers.DS5t6NRe.js → layers.C8FzzKUU.js} +1 -1
  77. package/dist/{layers.CFAJig2x.js → layers.C9B9TiQq.js} +1 -1
  78. package/dist/{layers.DVazXRGk.js → layers.C9VEtlYJ.js} +3 -3
  79. package/dist/{layers.CXGecfYW.js → layers.CCBwi0SX.js} +1 -1
  80. package/dist/{layers.D0mSdT-s.js → layers.CDIMxt0t.js} +1 -1
  81. package/dist/{layers.CUor30Ri.js → layers.CDIrzAsS.js} +1 -1
  82. package/dist/{layers.BowKbERD.js → layers.CDka-CiB.js} +1 -1
  83. package/dist/{layers.LZZYgS_d.js → layers.CFupHNXO.js} +1 -1
  84. package/dist/{layers.OKesFrD3.js → layers.CIr0QS4X.js} +1 -1
  85. package/dist/{layers.D_Ytuaz0.js → layers.CJSoZ3ks.js} +1 -1
  86. package/dist/{layers.DhhJSvu0.js → layers.CMZnMp-f.js} +1 -1
  87. package/dist/{layers.DFknsu17.js → layers.CNrw-gwe.js} +1 -1
  88. package/dist/{layers.C9wFmF4s.js → layers.CO2Z0wpE.js} +1 -1
  89. package/dist/{layers.Dj_f-cAU.js → layers.CP9I6s_6.js} +1 -1
  90. package/dist/layers.CQ6Ao0J5.js +1 -0
  91. package/dist/{layers.BKLzYDfb.js → layers.CQskwqIC.js} +1 -1
  92. package/dist/{layers.Dg8a13OG.js → layers.CR-mtqIJ.js} +1 -1
  93. package/dist/{layers.DhSEzPZk.js → layers.CSLLX_9N.js} +1 -1
  94. package/dist/{layers.Cku10oY6.js → layers.CUj5PR2j.js} +2 -2
  95. package/dist/{layers.C6s_bFky.js → layers.CY1B2zzx.js} +1 -1
  96. package/dist/{layers.DNI5KB4H.js → layers.CY5DW19s.js} +1 -1
  97. package/dist/{layers.CKLIOsnj.js → layers.CYKG3_BT.js} +1 -1
  98. package/dist/{layers.CQBW0YVz.js → layers.CZM8wjox.js} +1 -1
  99. package/dist/{layers.BNCRviHC.js → layers.C_y0Ad1s.js} +3 -3
  100. package/dist/{layers.BYHpW1r3.js → layers.CaJWWaDT.js} +1 -1
  101. package/dist/{layers.lJAM5CWg.js → layers.Cb89XSkv.js} +3 -3
  102. package/dist/{layers.D-wXz5l5.js → layers.Cby_lhvk.js} +1 -1
  103. package/dist/{layers.B6O37jaF.js → layers.Cca7VJmB.js} +1 -1
  104. package/dist/{layers.CfDmDLV8.js → layers.CcqQafAe.js} +1 -1
  105. package/dist/{layers.BvlyqCUt.js → layers.Ccs9dnJV.js} +1 -1
  106. package/dist/{layers.CYIXgjDp.js → layers.CjR7wDSE.js} +1 -1
  107. package/dist/{layers.C_ez3xcQ.js → layers.ClGDz2X7.js} +1 -1
  108. package/dist/{layers.BKv8CCu4.js → layers.ClcW3n9p.js} +2 -2
  109. package/dist/{layers.CnU-dghi.js → layers.Cm-QZ2VO.js} +4 -4
  110. package/dist/{layers.0pVoBoMb.js → layers.CqTV_vS1.js} +1 -1
  111. package/dist/layers.CrRI_LeG.js +858 -0
  112. package/dist/{layers.CsoYzDRr.js → layers.CrZ33w9X.js} +1 -1
  113. package/dist/{layers.CLzY1N3M.js → layers.Cu1lx2Tw.js} +1 -1
  114. package/dist/{layers.DXGCl8VJ.js → layers.Cwwg8FRI.js} +1 -1
  115. package/dist/{layers.BaWab3Lw.js → layers.D0GjN4M7.js} +1 -1
  116. package/dist/{layers.BPxwi2wV.js → layers.D1RSXf3t.js} +1 -1
  117. package/dist/{layers.CeEN7yl5.js → layers.D5He9RRe.js} +1 -1
  118. package/dist/{layers.BpaU6Hkm.js → layers.D5UgEldI.js} +1 -1
  119. package/dist/{layers.CvLDqwQs.js → layers.D5eJdQpx.js} +3 -3
  120. package/dist/{layers.SqDdh6VE.js → layers.D6bwejHK.js} +1 -1
  121. package/dist/{layers.CLKXY0Q4.js → layers.DA5V4yli.js} +1 -1
  122. package/dist/{layers.CGtDjGTe.js → layers.DDBPri8m.js} +1 -1
  123. package/dist/{layers.D3yrh-Va.js → layers.DEf_7edX.js} +1 -1
  124. package/dist/{layers.xOXCjpN5.js → layers.DFK4CJop.js} +1 -1
  125. package/dist/{layers.CMe1yC3a.js → layers.DH-ad1I2.js} +1 -1
  126. package/dist/{layers.DHcvJRmy.js → layers.DLGfFlK7.js} +1 -1
  127. package/dist/{layers.Bglq4oZW.js → layers.DLVzNdkB.js} +1 -1
  128. package/dist/{layers.B1WBtyba.js → layers.DOdb9lD-.js} +1 -1
  129. package/dist/{layers.CN9G3OuP.js → layers.DOjMHtoB.js} +3 -3
  130. package/dist/{layers.uNLn1juy.js → layers.DP9EQS6U.js} +3 -3
  131. package/dist/{layers.By6sWMFE.js → layers.DPW9IEdT.js} +1 -1
  132. package/dist/{layers.CokfkQB1.js → layers.DPrp1N8g.js} +1 -1
  133. package/dist/{layers.8jFfhBTg.js → layers.DRcqvF5_.js} +2 -2
  134. package/dist/{layers.SifyoeNo.js → layers.DRl8i13F.js} +1 -1
  135. package/dist/{layers.C72CzbTL.js → layers.DRwOVb7L.js} +2 -2
  136. package/dist/{layers.C3DFvkSj.js → layers.DSAZvQQ1.js} +3 -3
  137. package/dist/{layers.CXSxQPVf.js → layers.DSK0c5m4.js} +1 -1
  138. package/dist/{layers.DzzjHMNx.js → layers.DSWDarxP.js} +1 -1
  139. package/dist/{layers.D0-te90v.js → layers.DSqapyEv.js} +1 -1
  140. package/dist/{layers.BbboM1R1.js → layers.DWFf4hcj.js} +1 -1
  141. package/dist/{layers.CG57G9q7.js → layers.DWUyLnBk.js} +3 -3
  142. package/dist/{layers.RHYUvWrf.js → layers.DX_eIV_d.js} +1 -1
  143. package/dist/{layers.C7f9795O.js → layers.DXxutfSU.js} +1 -1
  144. package/dist/{layers.B0ZUdXzZ.js → layers.DYS_TLxJ.js} +1 -1
  145. package/dist/{layers.CHzNv5Wv.js → layers.DYvacf1w.js} +1 -1
  146. package/dist/{layers.CNhPoNSp.js → layers.DZXnOCrw.js} +1 -1
  147. package/dist/{layers.Cy3b290X.js → layers.D_elojyk.js} +1 -1
  148. package/dist/{layers.C-2wfy5y.js → layers.DaaS2of6.js} +1 -1
  149. package/dist/{layers.DhP87zgz.js → layers.DbSkKINl.js} +1 -1
  150. package/dist/layers.DbYD0Pxn.js +6 -0
  151. package/dist/{layers.C08LvaHZ.js → layers.Decw4qau.js} +1 -1
  152. package/dist/{layers.FN8ApBPR.js → layers.Dg-FOi50.js} +1 -1
  153. package/dist/{layers.BRGGgdyM.js → layers.DgSIVxfO.js} +1 -1
  154. package/dist/{layers.DcXTu5uD.js → layers.DgZm3Jbt.js} +1 -1
  155. package/dist/{layers.BPIVZ_V7.js → layers.Di_ZytZe.js} +1 -1
  156. package/dist/{layers.DS6VagUz.js → layers.DjcW19J8.js} +1 -1
  157. package/dist/{layers.BmERH96j.js → layers.DjiS-Gq9.js} +1 -1
  158. package/dist/{layers.Bl8PSqjG.js → layers.Ds0reI2U.js} +1 -1
  159. package/dist/{layers.3WbIyvQn.js → layers.Dt314Yjz.js} +1 -1
  160. package/dist/{layers.Bk_wN_--.js → layers.DtrzGvCV.js} +1 -1
  161. package/dist/{layers.DuJlUMpq.js → layers.DxJ3ynWe.js} +1 -1
  162. package/dist/{layers.CS_7nTGM.js → layers.DyVoqicS.js} +1 -1
  163. package/dist/{layers.fD9OBd7c.js → layers.DzaicQkx.js} +2 -2
  164. package/dist/{layers.zIjQhXoZ.js → layers.DzjmbXUa.js} +1 -1
  165. package/dist/{layers.DS5q3o1Y.js → layers.FuXjxsbF.js} +1 -1
  166. package/dist/{layers.DWlasRen.js → layers.HoqVHjTm.js} +1 -1
  167. package/dist/{layers.D3oKf5rS.js → layers.It1N5LS8.js} +1 -1
  168. package/dist/{layers.BW9ZUxwa.js → layers.J3FUYkFL.js} +1 -1
  169. package/dist/{layers.CJgRNDIo.js → layers.JtH7zxeO.js} +1 -1
  170. package/dist/{layers.DELuGJ4V.js → layers.KpavcdGi.js} +1 -1
  171. package/dist/{layers.9yGDkmuR.js → layers.Kx_RjA4P.js} +1 -1
  172. package/dist/{layers.CWeXJThw.js → layers.L2MT4gUR.js} +2 -2
  173. package/dist/{layers.CeP2adcl.js → layers.M4hy49Bx.js} +1 -1
  174. package/dist/{layers.CKcUIoId.js → layers.NK5Iz70b.js} +1 -1
  175. package/dist/{layers.uhnFiBj8.js → layers.NRfjjqo4.js} +1 -1
  176. package/dist/{layers.B-6Mj14-.js → layers.Nu5NXFcx.js} +1 -1
  177. package/dist/{layers.D9rHQgCj.js → layers.OHkrrhK3.js} +1 -1
  178. package/dist/{layers.RHCx8VZV.js → layers.SIVFw7PS.js} +1 -1
  179. package/dist/{layers.Cl4mJKw3.js → layers.SLAC7RI-.js} +2 -2
  180. package/dist/{layers.BEeQZxiO.js → layers.T9FmGUkf.js} +4 -4
  181. package/dist/{layers.B0O7NMEc.js → layers.TCw9TQkN.js} +1 -1
  182. package/dist/{layers.pcnP6TqY.js → layers.TJrMPczW.js} +1 -1
  183. package/dist/{layers.2LZNQAQ4.js → layers.TNK8OoUe.js} +1 -1
  184. package/dist/{layers.CYTqcEY2.js → layers.TuUxdgnz.js} +1 -1
  185. package/dist/{layers.vJpF1BxF.js → layers.Vjyn2Hqz.js} +5 -5
  186. package/dist/{layers.CdCYchhF.js → layers.Wicau-fK.js} +1 -1
  187. package/dist/{layers.Cux05y7j.js → layers.X5DeTnVz.js} +1 -1
  188. package/dist/{layers.9tep09Ov.js → layers.XG9tfp0V.js} +3 -3
  189. package/dist/{layers.BkbVj_aF.js → layers.Y3dh-wXe.js} +4 -4
  190. package/dist/{layers.BFPTOZwG.js → layers._n62bcZH.js} +1 -1
  191. package/dist/{layers.D1QLwHjg.js → layers.a5qG_R5H.js} +1 -1
  192. package/dist/{layers.Dygqo_7R.js → layers.cGQxfpkw.js} +3 -3
  193. package/dist/{layers.hI_cUDWu.js → layers.ceGgTDRp.js} +1 -1
  194. package/dist/{layers.DsSqd5ZW.js → layers.cnKp2686.js} +1 -1
  195. package/dist/{layers.BXSKaKEf.js → layers.feo1ouGo.js} +1 -1
  196. package/dist/{layers.UNy10Vw4.js → layers.i8o9UvI3.js} +1 -1
  197. package/dist/{layers.Bi12bXQ1.js → layers.iq6GRip6.js} +1 -1
  198. package/dist/layers.jHMLSmr6.js +8 -0
  199. package/dist/{layers.B57bbjKT.js → layers.klsNm5Pd.js} +1 -1
  200. package/dist/{layers.CsE4ajo5.js → layers.pxpIKKT8.js} +1 -1
  201. package/dist/{layers.BPtzUKwC.js → layers.qsRi5bCX.js} +1 -1
  202. package/dist/{layers.Ds88HrG0.js → layers.siG1aj3e.js} +1 -1
  203. package/dist/{layers.CwKXb4ny.js → layers.tC8e9k_5.js} +1 -1
  204. package/dist/{layers.Gscx1Pqs.js → layers.tPUeIpdy.js} +1 -1
  205. package/dist/{layers.BOGO8eVM.js → layers.tki6ZjZM.js} +1 -1
  206. package/dist/{layers.DmVy91Du.js → layers.vH6ZvsCr.js} +1 -1
  207. package/dist/{layers.5JQx3ad3.js → layers.xJngNgDQ.js} +1 -1
  208. package/dist/{layers.CgTSaL8c.js → layers.xwQ6VzAn.js} +1 -1
  209. package/dist/{layers.BEA0x5Qr.js → layers.yT5RvpZK.js} +1 -1
  210. package/package.json +1 -1
  211. package/dist/layers.CHwVQE6q.js +0 -1
  212. package/dist/layers.DRRrIDtD.js +0 -858
  213. package/dist/layers.DyUlAo2a.js +0 -6
  214. package/dist/layers.R9nNbVeX.js +0 -8
  215. package/dist/layers.leRLHsek.js +0 -1
@@ -1 +1 @@
1
- "use strict";const P=require("lodash-es"),J=require("./layers.Cyzu9PKQ.js"),k=require("./layers.BLd2spTm.js"),u=require("./layers.CgTSaL8c.js"),i=require("./layers.BEeQZxiO.js"),j=require("./layers.DXGCl8VJ.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,b=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-b/2).attr("y",t.y-t.height/2-$).attr("width",b).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 y=s.node().getBBox();return t.width=y.width,t.height=y.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,b=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-b/2-$).attr("y",t.y-t.height/2-$).attr("width",b+h).attr("height",t.height+h),f.attr("class","inner").attr("x",t.x-b/2-$).attr("y",t.y-t.height/2-$+d.height-1).attr("width",b+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 y=s.node().getBBox();return t.height=y.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"),b=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(b,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(b,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:y}=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+=y,u.positionNode(c)):t.children(l).length>0?(c.height+=y,Q(d,c),a[c.id].node=c):(c.y+=y/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+=y/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.xwQ6VzAn.js"),i=require("./layers.T9FmGUkf.js"),j=require("./layers.Cwwg8FRI.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,b=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-b/2).attr("y",t.y-t.height/2-$).attr("width",b).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 y=s.node().getBBox();return t.width=y.width,t.height=y.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,b=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-b/2-$).attr("y",t.y-t.height/2-$).attr("width",b+h).attr("height",t.height+h),f.attr("class","inner").attr("x",t.x-b/2-$).attr("y",t.y-t.height/2-$+d.height-1).attr("width",b+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 y=s.node().getBBox();return t.height=y.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"),b=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(b,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(b,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:y}=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+=y,u.positionNode(c)):t.children(l).length>0?(c.height+=y,Q(d,c),a[c.id].node=c):(c.y+=y/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+=y/2);const v=u.insertEdge(h,l,c,a,n,t,r);u.positionEdgeLabel(c,v)}),t.nodes().forEach(function(l){const c=t.node(l);i.log$1.info(l,c.type,c.diff),c.type==="group"&&(N=c.diff)}),{elem:g,diff:N}},Z=async(e,t,n,r,s)=>{u.insertMarkers$1(e,n,r,s),u.clear$1(),u.clear(),Y(),q(),i.log$1.warn("Graph at first:",JSON.stringify(x(t))),U(t),i.log$1.warn("Graph after:",JSON.stringify(x(t)));const o=i.getConfig();await L(e,t,r,s,void 0,o)};exports.render=Z;
@@ -1,4 +1,4 @@
1
- "use strict";const u=require("./layers.BEeQZxiO.js");var gt=(function(){var t=function(A,r,n,i){for(n=n||{},i=A.length;i--;n[A[i]]=r);return n},s=[1,2],a=[1,3],h=[1,4],d=[2,4],y=[1,9],p=[1,11],k=[1,15],f=[1,16],b=[1,17],E=[1,18],R=[1,30],Y=[1,19],G=[1,20],U=[1,21],j=[1,22],M=[1,23],z=[1,25],H=[1,26],X=[1,27],K=[1,28],W=[1,29],J=[1,32],q=[1,33],Q=[1,34],Z=[1,35],$=[1,31],c=[1,4,5,15,16,18,20,21,23,24,25,26,27,28,32,34,36,37,41,44,45,46,47,50],tt=[1,4,5,13,14,15,16,18,20,21,23,24,25,26,27,28,32,34,36,37,41,44,45,46,47,50],xt=[4,5,15,16,18,20,21,23,24,25,26,27,28,32,34,36,37,41,44,45,46,47,50],ht={trace:function(){},yy:{},symbols_:{error:2,start:3,SPACE:4,NL:5,SD:6,document:7,line:8,statement:9,classDefStatement:10,cssClassStatement:11,idStatement:12,DESCR:13,"-->":14,HIDE_EMPTY:15,scale:16,WIDTH:17,COMPOSIT_STATE:18,STRUCT_START:19,STRUCT_STOP:20,STATE_DESCR:21,AS:22,ID:23,FORK:24,JOIN:25,CHOICE:26,CONCURRENT:27,note:28,notePosition:29,NOTE_TEXT:30,direction:31,acc_title:32,acc_title_value:33,acc_descr:34,acc_descr_value:35,acc_descr_multiline_value:36,classDef:37,CLASSDEF_ID:38,CLASSDEF_STYLEOPTS:39,DEFAULT:40,class:41,CLASSENTITY_IDS:42,STYLECLASS:43,direction_tb:44,direction_bt:45,direction_rl:46,direction_lr:47,eol:48,";":49,EDGE_STATE:50,STYLE_SEPARATOR:51,left_of:52,right_of:53,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NL",6:"SD",13:"DESCR",14:"-->",15:"HIDE_EMPTY",16:"scale",17:"WIDTH",18:"COMPOSIT_STATE",19:"STRUCT_START",20:"STRUCT_STOP",21:"STATE_DESCR",22:"AS",23:"ID",24:"FORK",25:"JOIN",26:"CHOICE",27:"CONCURRENT",28:"note",30:"NOTE_TEXT",32:"acc_title",33:"acc_title_value",34:"acc_descr",35:"acc_descr_value",36:"acc_descr_multiline_value",37:"classDef",38:"CLASSDEF_ID",39:"CLASSDEF_STYLEOPTS",40:"DEFAULT",41:"class",42:"CLASSENTITY_IDS",43:"STYLECLASS",44:"direction_tb",45:"direction_bt",46:"direction_rl",47:"direction_lr",49:";",50:"EDGE_STATE",51:"STYLE_SEPARATOR",52:"left_of",53:"right_of"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[9,1],[9,1],[9,1],[9,2],[9,3],[9,4],[9,1],[9,2],[9,1],[9,4],[9,3],[9,6],[9,1],[9,1],[9,1],[9,1],[9,4],[9,4],[9,1],[9,2],[9,2],[9,1],[10,3],[10,3],[11,3],[31,1],[31,1],[31,1],[31,1],[48,1],[48,1],[12,1],[12,1],[12,3],[12,3],[29,1],[29,1]],performAction:function(r,n,i,o,S,e,w){var l=e.length-1;switch(S){case 3:return o.setRootDoc(e[l]),e[l];case 4:this.$=[];break;case 5:e[l]!="nl"&&(e[l-1].push(e[l]),this.$=e[l-1]);break;case 6:case 7:this.$=e[l];break;case 8:this.$="nl";break;case 11:this.$=e[l];break;case 12:const B=e[l-1];B.description=o.trimColon(e[l]),this.$=B;break;case 13:this.$={stmt:"relation",state1:e[l-2],state2:e[l]};break;case 14:const ft=o.trimColon(e[l]);this.$={stmt:"relation",state1:e[l-3],state2:e[l-1],description:ft};break;case 18:this.$={stmt:"state",id:e[l-3],type:"default",description:"",doc:e[l-1]};break;case 19:var C=e[l],O=e[l-2].trim();if(e[l].match(":")){var et=e[l].split(":");C=et[0],O=[O,et[1]]}this.$={stmt:"state",id:C,type:"default",description:O};break;case 20:this.$={stmt:"state",id:e[l-3],type:"default",description:e[l-5],doc:e[l-1]};break;case 21:this.$={stmt:"state",id:e[l],type:"fork"};break;case 22:this.$={stmt:"state",id:e[l],type:"join"};break;case 23:this.$={stmt:"state",id:e[l],type:"choice"};break;case 24:this.$={stmt:"state",id:o.getDividerId(),type:"divider"};break;case 25:this.$={stmt:"state",id:e[l-1].trim(),note:{position:e[l-2].trim(),text:e[l].trim()}};break;case 28:this.$=e[l].trim(),o.setAccTitle(this.$);break;case 29:case 30:this.$=e[l].trim(),o.setAccDescription(this.$);break;case 31:case 32:this.$={stmt:"classDef",id:e[l-1].trim(),classes:e[l].trim()};break;case 33:this.$={stmt:"applyClass",id:e[l-1].trim(),styleClass:e[l].trim()};break;case 34:o.setDirection("TB"),this.$={stmt:"dir",value:"TB"};break;case 35:o.setDirection("BT"),this.$={stmt:"dir",value:"BT"};break;case 36:o.setDirection("RL"),this.$={stmt:"dir",value:"RL"};break;case 37:o.setDirection("LR"),this.$={stmt:"dir",value:"LR"};break;case 40:case 41:this.$={stmt:"state",id:e[l].trim(),type:"default",description:""};break;case 42:this.$={stmt:"state",id:e[l-2].trim(),classes:[e[l].trim()],type:"default",description:""};break;case 43:this.$={stmt:"state",id:e[l-2].trim(),classes:[e[l].trim()],type:"default",description:""};break}},table:[{3:1,4:s,5:a,6:h},{1:[3]},{3:5,4:s,5:a,6:h},{3:6,4:s,5:a,6:h},t([1,4,5,15,16,18,21,23,24,25,26,27,28,32,34,36,37,41,44,45,46,47,50],d,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:y,5:p,8:8,9:10,10:12,11:13,12:14,15:k,16:f,18:b,21:E,23:R,24:Y,25:G,26:U,27:j,28:M,31:24,32:z,34:H,36:X,37:K,41:W,44:J,45:q,46:Q,47:Z,50:$},t(c,[2,5]),{9:36,10:12,11:13,12:14,15:k,16:f,18:b,21:E,23:R,24:Y,25:G,26:U,27:j,28:M,31:24,32:z,34:H,36:X,37:K,41:W,44:J,45:q,46:Q,47:Z,50:$},t(c,[2,7]),t(c,[2,8]),t(c,[2,9]),t(c,[2,10]),t(c,[2,11],{13:[1,37],14:[1,38]}),t(c,[2,15]),{17:[1,39]},t(c,[2,17],{19:[1,40]}),{22:[1,41]},t(c,[2,21]),t(c,[2,22]),t(c,[2,23]),t(c,[2,24]),{29:42,30:[1,43],52:[1,44],53:[1,45]},t(c,[2,27]),{33:[1,46]},{35:[1,47]},t(c,[2,30]),{38:[1,48],40:[1,49]},{42:[1,50]},t(tt,[2,40],{51:[1,51]}),t(tt,[2,41],{51:[1,52]}),t(c,[2,34]),t(c,[2,35]),t(c,[2,36]),t(c,[2,37]),t(c,[2,6]),t(c,[2,12]),{12:53,23:R,50:$},t(c,[2,16]),t(xt,d,{7:54}),{23:[1,55]},{23:[1,56]},{22:[1,57]},{23:[2,44]},{23:[2,45]},t(c,[2,28]),t(c,[2,29]),{39:[1,58]},{39:[1,59]},{43:[1,60]},{23:[1,61]},{23:[1,62]},t(c,[2,13],{13:[1,63]}),{4:y,5:p,8:8,9:10,10:12,11:13,12:14,15:k,16:f,18:b,20:[1,64],21:E,23:R,24:Y,25:G,26:U,27:j,28:M,31:24,32:z,34:H,36:X,37:K,41:W,44:J,45:q,46:Q,47:Z,50:$},t(c,[2,19],{19:[1,65]}),{30:[1,66]},{23:[1,67]},t(c,[2,31]),t(c,[2,32]),t(c,[2,33]),t(tt,[2,42]),t(tt,[2,43]),t(c,[2,14]),t(c,[2,18]),t(xt,d,{7:68}),t(c,[2,25]),t(c,[2,26]),{4:y,5:p,8:8,9:10,10:12,11:13,12:14,15:k,16:f,18:b,20:[1,69],21:E,23:R,24:Y,25:G,26:U,27:j,28:M,31:24,32:z,34:H,36:X,37:K,41:W,44:J,45:q,46:Q,47:Z,50:$},t(c,[2,20])],defaultActions:{5:[2,1],6:[2,2],44:[2,44],45:[2,45]},parseError:function(r,n){if(n.recoverable)this.trace(r);else{var i=new Error(r);throw i.hash=n,i}},parse:function(r){var n=this,i=[0],o=[],S=[null],e=[],w=this.table,l="",C=0,O=0,et=2,B=1,ft=e.slice.call(arguments,1),g=Object.create(this.lexer),L={yy:{}};for(var dt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,dt)&&(L.yy[dt]=this.yy[dt]);g.setInput(r,L.yy),L.yy.lexer=g,L.yy.parser=this,typeof g.yylloc>"u"&&(g.yylloc={});var yt=g.yylloc;e.push(yt);var Yt=g.options&&g.options.ranges;typeof L.yy.parseError=="function"?this.parseError=L.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Gt(){var D;return D=o.pop()||g.lex()||B,typeof D!="number"&&(D instanceof Array&&(o=D,D=o.pop()),D=n.symbols_[D]||D),D}for(var _,v,m,pt,N={},st,x,Dt,it;;){if(v=i[i.length-1],this.defaultActions[v]?m=this.defaultActions[v]:((_===null||typeof _>"u")&&(_=Gt()),m=w[v]&&w[v][_]),typeof m>"u"||!m.length||!m[0]){var St="";it=[];for(st in w[v])this.terminals_[st]&&st>et&&it.push("'"+this.terminals_[st]+"'");g.showPosition?St="Parse error on line "+(C+1)+`:
1
+ "use strict";const u=require("./layers.T9FmGUkf.js");var gt=(function(){var t=function(A,r,n,i){for(n=n||{},i=A.length;i--;n[A[i]]=r);return n},s=[1,2],a=[1,3],h=[1,4],d=[2,4],y=[1,9],p=[1,11],k=[1,15],f=[1,16],b=[1,17],E=[1,18],R=[1,30],Y=[1,19],G=[1,20],U=[1,21],j=[1,22],M=[1,23],z=[1,25],H=[1,26],X=[1,27],K=[1,28],W=[1,29],J=[1,32],q=[1,33],Q=[1,34],Z=[1,35],$=[1,31],c=[1,4,5,15,16,18,20,21,23,24,25,26,27,28,32,34,36,37,41,44,45,46,47,50],tt=[1,4,5,13,14,15,16,18,20,21,23,24,25,26,27,28,32,34,36,37,41,44,45,46,47,50],xt=[4,5,15,16,18,20,21,23,24,25,26,27,28,32,34,36,37,41,44,45,46,47,50],ht={trace:function(){},yy:{},symbols_:{error:2,start:3,SPACE:4,NL:5,SD:6,document:7,line:8,statement:9,classDefStatement:10,cssClassStatement:11,idStatement:12,DESCR:13,"-->":14,HIDE_EMPTY:15,scale:16,WIDTH:17,COMPOSIT_STATE:18,STRUCT_START:19,STRUCT_STOP:20,STATE_DESCR:21,AS:22,ID:23,FORK:24,JOIN:25,CHOICE:26,CONCURRENT:27,note:28,notePosition:29,NOTE_TEXT:30,direction:31,acc_title:32,acc_title_value:33,acc_descr:34,acc_descr_value:35,acc_descr_multiline_value:36,classDef:37,CLASSDEF_ID:38,CLASSDEF_STYLEOPTS:39,DEFAULT:40,class:41,CLASSENTITY_IDS:42,STYLECLASS:43,direction_tb:44,direction_bt:45,direction_rl:46,direction_lr:47,eol:48,";":49,EDGE_STATE:50,STYLE_SEPARATOR:51,left_of:52,right_of:53,$accept:0,$end:1},terminals_:{2:"error",4:"SPACE",5:"NL",6:"SD",13:"DESCR",14:"-->",15:"HIDE_EMPTY",16:"scale",17:"WIDTH",18:"COMPOSIT_STATE",19:"STRUCT_START",20:"STRUCT_STOP",21:"STATE_DESCR",22:"AS",23:"ID",24:"FORK",25:"JOIN",26:"CHOICE",27:"CONCURRENT",28:"note",30:"NOTE_TEXT",32:"acc_title",33:"acc_title_value",34:"acc_descr",35:"acc_descr_value",36:"acc_descr_multiline_value",37:"classDef",38:"CLASSDEF_ID",39:"CLASSDEF_STYLEOPTS",40:"DEFAULT",41:"class",42:"CLASSENTITY_IDS",43:"STYLECLASS",44:"direction_tb",45:"direction_bt",46:"direction_rl",47:"direction_lr",49:";",50:"EDGE_STATE",51:"STYLE_SEPARATOR",52:"left_of",53:"right_of"},productions_:[0,[3,2],[3,2],[3,2],[7,0],[7,2],[8,2],[8,1],[8,1],[9,1],[9,1],[9,1],[9,2],[9,3],[9,4],[9,1],[9,2],[9,1],[9,4],[9,3],[9,6],[9,1],[9,1],[9,1],[9,1],[9,4],[9,4],[9,1],[9,2],[9,2],[9,1],[10,3],[10,3],[11,3],[31,1],[31,1],[31,1],[31,1],[48,1],[48,1],[12,1],[12,1],[12,3],[12,3],[29,1],[29,1]],performAction:function(r,n,i,o,S,e,w){var l=e.length-1;switch(S){case 3:return o.setRootDoc(e[l]),e[l];case 4:this.$=[];break;case 5:e[l]!="nl"&&(e[l-1].push(e[l]),this.$=e[l-1]);break;case 6:case 7:this.$=e[l];break;case 8:this.$="nl";break;case 11:this.$=e[l];break;case 12:const B=e[l-1];B.description=o.trimColon(e[l]),this.$=B;break;case 13:this.$={stmt:"relation",state1:e[l-2],state2:e[l]};break;case 14:const ft=o.trimColon(e[l]);this.$={stmt:"relation",state1:e[l-3],state2:e[l-1],description:ft};break;case 18:this.$={stmt:"state",id:e[l-3],type:"default",description:"",doc:e[l-1]};break;case 19:var C=e[l],O=e[l-2].trim();if(e[l].match(":")){var et=e[l].split(":");C=et[0],O=[O,et[1]]}this.$={stmt:"state",id:C,type:"default",description:O};break;case 20:this.$={stmt:"state",id:e[l-3],type:"default",description:e[l-5],doc:e[l-1]};break;case 21:this.$={stmt:"state",id:e[l],type:"fork"};break;case 22:this.$={stmt:"state",id:e[l],type:"join"};break;case 23:this.$={stmt:"state",id:e[l],type:"choice"};break;case 24:this.$={stmt:"state",id:o.getDividerId(),type:"divider"};break;case 25:this.$={stmt:"state",id:e[l-1].trim(),note:{position:e[l-2].trim(),text:e[l].trim()}};break;case 28:this.$=e[l].trim(),o.setAccTitle(this.$);break;case 29:case 30:this.$=e[l].trim(),o.setAccDescription(this.$);break;case 31:case 32:this.$={stmt:"classDef",id:e[l-1].trim(),classes:e[l].trim()};break;case 33:this.$={stmt:"applyClass",id:e[l-1].trim(),styleClass:e[l].trim()};break;case 34:o.setDirection("TB"),this.$={stmt:"dir",value:"TB"};break;case 35:o.setDirection("BT"),this.$={stmt:"dir",value:"BT"};break;case 36:o.setDirection("RL"),this.$={stmt:"dir",value:"RL"};break;case 37:o.setDirection("LR"),this.$={stmt:"dir",value:"LR"};break;case 40:case 41:this.$={stmt:"state",id:e[l].trim(),type:"default",description:""};break;case 42:this.$={stmt:"state",id:e[l-2].trim(),classes:[e[l].trim()],type:"default",description:""};break;case 43:this.$={stmt:"state",id:e[l-2].trim(),classes:[e[l].trim()],type:"default",description:""};break}},table:[{3:1,4:s,5:a,6:h},{1:[3]},{3:5,4:s,5:a,6:h},{3:6,4:s,5:a,6:h},t([1,4,5,15,16,18,21,23,24,25,26,27,28,32,34,36,37,41,44,45,46,47,50],d,{7:7}),{1:[2,1]},{1:[2,2]},{1:[2,3],4:y,5:p,8:8,9:10,10:12,11:13,12:14,15:k,16:f,18:b,21:E,23:R,24:Y,25:G,26:U,27:j,28:M,31:24,32:z,34:H,36:X,37:K,41:W,44:J,45:q,46:Q,47:Z,50:$},t(c,[2,5]),{9:36,10:12,11:13,12:14,15:k,16:f,18:b,21:E,23:R,24:Y,25:G,26:U,27:j,28:M,31:24,32:z,34:H,36:X,37:K,41:W,44:J,45:q,46:Q,47:Z,50:$},t(c,[2,7]),t(c,[2,8]),t(c,[2,9]),t(c,[2,10]),t(c,[2,11],{13:[1,37],14:[1,38]}),t(c,[2,15]),{17:[1,39]},t(c,[2,17],{19:[1,40]}),{22:[1,41]},t(c,[2,21]),t(c,[2,22]),t(c,[2,23]),t(c,[2,24]),{29:42,30:[1,43],52:[1,44],53:[1,45]},t(c,[2,27]),{33:[1,46]},{35:[1,47]},t(c,[2,30]),{38:[1,48],40:[1,49]},{42:[1,50]},t(tt,[2,40],{51:[1,51]}),t(tt,[2,41],{51:[1,52]}),t(c,[2,34]),t(c,[2,35]),t(c,[2,36]),t(c,[2,37]),t(c,[2,6]),t(c,[2,12]),{12:53,23:R,50:$},t(c,[2,16]),t(xt,d,{7:54}),{23:[1,55]},{23:[1,56]},{22:[1,57]},{23:[2,44]},{23:[2,45]},t(c,[2,28]),t(c,[2,29]),{39:[1,58]},{39:[1,59]},{43:[1,60]},{23:[1,61]},{23:[1,62]},t(c,[2,13],{13:[1,63]}),{4:y,5:p,8:8,9:10,10:12,11:13,12:14,15:k,16:f,18:b,20:[1,64],21:E,23:R,24:Y,25:G,26:U,27:j,28:M,31:24,32:z,34:H,36:X,37:K,41:W,44:J,45:q,46:Q,47:Z,50:$},t(c,[2,19],{19:[1,65]}),{30:[1,66]},{23:[1,67]},t(c,[2,31]),t(c,[2,32]),t(c,[2,33]),t(tt,[2,42]),t(tt,[2,43]),t(c,[2,14]),t(c,[2,18]),t(xt,d,{7:68}),t(c,[2,25]),t(c,[2,26]),{4:y,5:p,8:8,9:10,10:12,11:13,12:14,15:k,16:f,18:b,20:[1,69],21:E,23:R,24:Y,25:G,26:U,27:j,28:M,31:24,32:z,34:H,36:X,37:K,41:W,44:J,45:q,46:Q,47:Z,50:$},t(c,[2,20])],defaultActions:{5:[2,1],6:[2,2],44:[2,44],45:[2,45]},parseError:function(r,n){if(n.recoverable)this.trace(r);else{var i=new Error(r);throw i.hash=n,i}},parse:function(r){var n=this,i=[0],o=[],S=[null],e=[],w=this.table,l="",C=0,O=0,et=2,B=1,ft=e.slice.call(arguments,1),g=Object.create(this.lexer),L={yy:{}};for(var dt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,dt)&&(L.yy[dt]=this.yy[dt]);g.setInput(r,L.yy),L.yy.lexer=g,L.yy.parser=this,typeof g.yylloc>"u"&&(g.yylloc={});var yt=g.yylloc;e.push(yt);var Yt=g.options&&g.options.ranges;typeof L.yy.parseError=="function"?this.parseError=L.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function Gt(){var D;return D=o.pop()||g.lex()||B,typeof D!="number"&&(D instanceof Array&&(o=D,D=o.pop()),D=n.symbols_[D]||D),D}for(var _,v,m,pt,N={},st,x,Dt,it;;){if(v=i[i.length-1],this.defaultActions[v]?m=this.defaultActions[v]:((_===null||typeof _>"u")&&(_=Gt()),m=w[v]&&w[v][_]),typeof m>"u"||!m.length||!m[0]){var St="";it=[];for(st in w[v])this.terminals_[st]&&st>et&&it.push("'"+this.terminals_[st]+"'");g.showPosition?St="Parse error on line "+(C+1)+`:
2
2
  `+g.showPosition()+`
3
3
  Expecting `+it.join(", ")+", got '"+(this.terminals_[_]||_)+"'":St="Parse error on line "+(C+1)+": Unexpected "+(_==B?"end of input":"'"+(this.terminals_[_]||_)+"'"),this.parseError(St,{text:g.match,token:this.terminals_[_]||_,line:g.yylineno,loc:yt,expected:it})}if(m[0]instanceof Array&&m.length>1)throw new Error("Parse Error: multiple actions possible at state: "+v+", token: "+_);switch(m[0]){case 1:i.push(_),S.push(g.yytext),e.push(g.yylloc),i.push(m[1]),_=null,O=g.yyleng,l=g.yytext,C=g.yylineno,yt=g.yylloc;break;case 2:if(x=this.productions_[m[1]][1],N.$=S[S.length-x],N._$={first_line:e[e.length-(x||1)].first_line,last_line:e[e.length-1].last_line,first_column:e[e.length-(x||1)].first_column,last_column:e[e.length-1].last_column},Yt&&(N._$.range=[e[e.length-(x||1)].range[0],e[e.length-1].range[1]]),pt=this.performAction.apply(N,[l,O,C,L.yy,m[1],S,e].concat(ft)),typeof pt<"u")return pt;x&&(i=i.slice(0,-1*x*2),S=S.slice(0,-1*x),e=e.slice(0,-1*x)),i.push(this.productions_[m[1]][0]),S.push(N.$),e.push(N._$),Dt=w[i[i.length-2]][i[i.length-1]],i.push(Dt);break;case 3:return!0}}return!0}},Vt=(function(){var A={EOF:1,parseError:function(n,i){if(this.yy.parser)this.yy.parser.parseError(n,i);else throw new Error(n)},setInput:function(r,n){return this.yy=n||this.yy||{},this._input=r,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var r=this._input[0];this.yytext+=r,this.yyleng++,this.offset++,this.match+=r,this.matched+=r;var n=r.match(/(?:\r\n?|\n).*/g);return n?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),r},unput:function(r){var n=r.length,i=r.split(/(?:\r\n?|\n)/g);this._input=r+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-n),this.offset-=n;var o=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),i.length-1&&(this.yylineno-=i.length-1);var S=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:i?(i.length===o.length?this.yylloc.first_column:0)+o[o.length-i.length].length-i[0].length:this.yylloc.first_column-n},this.options.ranges&&(this.yylloc.range=[S[0],S[0]+this.yyleng-n]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
4
4
  `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(r){this.unput(this.match.slice(r))},pastInput:function(){var r=this.matched.substr(0,this.matched.length-this.match.length);return(r.length>20?"...":"")+r.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var r=this.match;return r.length<20&&(r+=this._input.substr(0,20-r.length)),(r.substr(0,20)+(r.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var r=this.pastInput(),n=new Array(r.length+1).join("-");return r+this.upcomingInput()+`
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const m=require("./layers.3WbIyvQn.js"),t=require("./layers.BEeQZxiO.js");require("lodash-es");const z=require("./layers.Cyzu9PKQ.js"),T=require("./layers.BLd2spTm.js");require("./layers.Dxr2o7ON.js");require("lodash-es/memoize.js");require("lodash-es/merge.js");require("lodash-es/isEmpty.js");const L=require("./layers.B51WWPZ9.js"),P=e=>e.append("circle").attr("class","start-state").attr("r",t.getConfig().state.sizeUnit).attr("cx",t.getConfig().state.padding+t.getConfig().state.sizeUnit).attr("cy",t.getConfig().state.padding+t.getConfig().state.sizeUnit),q=e=>e.append("line").style("stroke","grey").style("stroke-dasharray","3").attr("x1",t.getConfig().state.textHeight).attr("class","divider").attr("x2",t.getConfig().state.textHeight*2).attr("y1",0).attr("y2",0),A=(e,n)=>{const s=e.append("text").attr("x",2*t.getConfig().state.padding).attr("y",t.getConfig().state.textHeight+2*t.getConfig().state.padding).attr("font-size",t.getConfig().state.fontSize).attr("class","state-title").text(n.id),g=s.node().getBBox();return e.insert("rect",":first-child").attr("x",t.getConfig().state.padding).attr("y",t.getConfig().state.padding).attr("width",g.width+2*t.getConfig().state.padding).attr("height",g.height+2*t.getConfig().state.padding).attr("rx",t.getConfig().state.radius),s},G=(e,n)=>{const s=function(c,w,y){const S=c.append("tspan").attr("x",2*t.getConfig().state.padding).text(w);y||S.attr("dy",t.getConfig().state.textHeight)},a=e.append("text").attr("x",2*t.getConfig().state.padding).attr("y",t.getConfig().state.textHeight+1.3*t.getConfig().state.padding).attr("font-size",t.getConfig().state.fontSize).attr("class","state-title").text(n.descriptions[0]).node().getBBox(),l=a.height,f=e.append("text").attr("x",t.getConfig().state.padding).attr("y",l+t.getConfig().state.padding*.4+t.getConfig().state.dividerMargin+t.getConfig().state.textHeight).attr("class","state-description");let i=!0,r=!0;n.descriptions.forEach(function(c){i||(s(f,c,r),r=!1),i=!1});const C=e.append("line").attr("x1",t.getConfig().state.padding).attr("y1",t.getConfig().state.padding+l+t.getConfig().state.dividerMargin/2).attr("y2",t.getConfig().state.padding+l+t.getConfig().state.dividerMargin/2).attr("class","descr-divider"),p=f.node().getBBox(),d=Math.max(p.width,a.width);return C.attr("x2",d+3*t.getConfig().state.padding),e.insert("rect",":first-child").attr("x",t.getConfig().state.padding).attr("y",t.getConfig().state.padding).attr("width",d+2*t.getConfig().state.padding).attr("height",p.height+l+2*t.getConfig().state.padding).attr("rx",t.getConfig().state.radius),e},W=(e,n,s)=>{const g=t.getConfig().state.padding,a=2*t.getConfig().state.padding,l=e.node().getBBox(),f=l.width,i=l.x,r=e.append("text").attr("x",0).attr("y",t.getConfig().state.titleShift).attr("font-size",t.getConfig().state.fontSize).attr("class","state-title").text(n.id),p=r.node().getBBox().width+a;let d=Math.max(p,f);d===f&&(d=d+a);let c;const w=e.node().getBBox();n.doc,c=i-g,p>f&&(c=(f-d)/2+g),Math.abs(i-w.x)<g&&p>f&&(c=i-(p-f)/2);const y=1-t.getConfig().state.textHeight;return e.insert("rect",":first-child").attr("x",c).attr("y",y).attr("class",s?"alt-composit":"composit").attr("width",d).attr("height",w.height+t.getConfig().state.textHeight+t.getConfig().state.titleShift+1).attr("rx","0"),r.attr("x",c+g),p<=f&&r.attr("x",i+(d-a)/2-p/2+g),e.insert("rect",":first-child").attr("x",c).attr("y",t.getConfig().state.titleShift-t.getConfig().state.textHeight-t.getConfig().state.padding).attr("width",d).attr("height",t.getConfig().state.textHeight*3).attr("rx",t.getConfig().state.radius),e.insert("rect",":first-child").attr("x",c).attr("y",t.getConfig().state.titleShift-t.getConfig().state.textHeight-t.getConfig().state.padding).attr("width",d).attr("height",w.height+3+2*t.getConfig().state.textHeight).attr("rx",t.getConfig().state.radius),e},v=e=>(e.append("circle").attr("class","end-state-outer").attr("r",t.getConfig().state.sizeUnit+t.getConfig().state.miniPadding).attr("cx",t.getConfig().state.padding+t.getConfig().state.sizeUnit+t.getConfig().state.miniPadding).attr("cy",t.getConfig().state.padding+t.getConfig().state.sizeUnit+t.getConfig().state.miniPadding),e.append("circle").attr("class","end-state-inner").attr("r",t.getConfig().state.sizeUnit).attr("cx",t.getConfig().state.padding+t.getConfig().state.sizeUnit+2).attr("cy",t.getConfig().state.padding+t.getConfig().state.sizeUnit+2)),R=(e,n)=>{let s=t.getConfig().state.forkWidth,g=t.getConfig().state.forkHeight;if(n.parentId){let a=s;s=g,g=a}return e.append("rect").style("stroke","black").style("fill","black").attr("width",s).attr("height",g).attr("x",t.getConfig().state.padding).attr("y",t.getConfig().state.padding)},U=(e,n,s,g)=>{let a=0;const l=g.append("text");l.style("text-anchor","start"),l.attr("class","noteText");let f=e.replace(/\r\n/g,"<br/>");f=f.replace(/\n/g,"<br/>");const i=f.split(t.common$1.lineBreakRegex);let r=1.25*t.getConfig().state.noteMargin;for(const C of i){const p=C.trim();if(p.length>0){const d=l.append("tspan");if(d.text(p),r===0){const c=d.node().getBBox();r+=c.height}a+=r,d.attr("x",n+t.getConfig().state.noteMargin),d.attr("y",s+a+1.25*t.getConfig().state.noteMargin)}}return{textWidth:l.node().getBBox().width,textHeight:a}},F=(e,n)=>{n.attr("class","state-note");const s=n.append("rect").attr("x",0).attr("y",t.getConfig().state.padding),g=n.append("g"),{textWidth:a,textHeight:l}=U(e,0,0,g);return s.attr("height",l+2*t.getConfig().state.noteMargin),s.attr("width",a+t.getConfig().state.noteMargin*2),s},M=function(e,n){const s=n.id,g={id:s,label:n.id,width:0,height:0},a=e.append("g").attr("id",s).attr("class","stateGroup");n.type==="start"&&P(a),n.type==="end"&&v(a),(n.type==="fork"||n.type==="join")&&R(a,n),n.type==="note"&&F(n.note.text,a),n.type==="divider"&&q(a),n.type==="default"&&n.descriptions.length===0&&A(a,n),n.type==="default"&&n.descriptions.length>0&&G(a,n);const l=a.node().getBBox();return g.width=l.width+2*t.getConfig().state.padding,g.height=l.height+2*t.getConfig().state.padding,g};let H=0;const O=function(e,n,s){const g=function(r){switch(r){case m.db.relationType.AGGREGATION:return"aggregation";case m.db.relationType.EXTENSION:return"extension";case m.db.relationType.COMPOSITION:return"composition";case m.db.relationType.DEPENDENCY:return"dependency"}};n.points=n.points.filter(r=>!Number.isNaN(r.y));const a=n.points,l=L.line().x(function(r){return r.x}).y(function(r){return r.y}).curve(t.curveBasis),f=e.append("path").attr("d",l(a)).attr("id","edge"+H).attr("class","transition");let i="";if(t.getConfig().state.arrowMarkerAbsolute&&(i=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,i=i.replace(/\(/g,"\\("),i=i.replace(/\)/g,"\\)")),f.attr("marker-end","url("+i+"#"+g(m.db.relationType.DEPENDENCY)+"End)"),s.title!==void 0){const r=e.append("g").attr("class","stateLabel"),{x:C,y:p}=t.utils.calcLabelPosition(n.points),d=t.common$1.getRows(s.title);let c=0;const w=[];let y=0,S=0;for(let x=0;x<=d.length;x++){const h=r.append("text").attr("text-anchor","middle").text(d[x]).attr("x",C).attr("y",p+c),u=h.node().getBBox();y=Math.max(y,u.width),S=Math.min(S,u.x),t.log$1.info(u.x,C,p+c),c===0&&(c=h.node().getBBox().height,t.log$1.info("Title height",c,p)),w.push(h)}let E=c*d.length;if(d.length>1){const x=(d.length-1)*c*.5;w.forEach((h,u)=>h.attr("y",p+u*c-x)),E=c*d.length}const o=r.node().getBBox();r.insert("rect",":first-child").attr("class","box").attr("x",C-y/2-t.getConfig().state.padding/2).attr("y",p-E/2-t.getConfig().state.padding/2-3.5).attr("width",y+t.getConfig().state.padding).attr("height",E+t.getConfig().state.padding),t.log$1.info(o)}H++};let b;const N={},X=function(){},J=function(e){e.append("defs").append("marker").attr("id","dependencyEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},Y=function(e,n,s,g){b=t.getConfig().state;const a=t.getConfig().securityLevel;let l;a==="sandbox"&&(l=t.select("#i"+n));const f=a==="sandbox"?t.select(l.nodes()[0].contentDocument.body):t.select("body"),i=a==="sandbox"?l.nodes()[0].contentDocument:document;t.log$1.debug("Rendering diagram "+e);const r=f.select(`[id='${n}']`);J(r);const C=g.db.getRootDoc();$(C,r,void 0,!1,f,i,g);const p=b.padding,d=r.node().getBBox(),c=d.width+p*2,w=d.height+p*2,y=c*1.75;t.configureSvgSize(r,w,y,b.useMaxWidth),r.attr("viewBox",`${d.x-b.padding} ${d.y-b.padding} `+c+" "+w)},I=e=>e?e.length*b.fontSizeFactor:1,$=(e,n,s,g,a,l,f)=>{const i=new T.Graph({compound:!0,multigraph:!0});let r,C=!0;for(r=0;r<e.length;r++)if(e[r].stmt==="relation"){C=!1;break}s?i.setGraph({rankdir:"LR",multigraph:!0,compound:!0,ranker:"tight-tree",ranksep:C?1:b.edgeLengthFactor,nodeSep:C?1:50,isMultiGraph:!0}):i.setGraph({rankdir:"TB",multigraph:!0,compound:!0,ranksep:C?1:b.edgeLengthFactor,nodeSep:C?1:50,ranker:"tight-tree",isMultiGraph:!0}),i.setDefaultEdgeLabel(function(){return{}}),f.db.extract(e);const p=f.db.getStates(),d=f.db.getRelations(),c=Object.keys(p);for(const o of c){const x=p[o];s&&(x.parentId=s);let h;if(x.doc){let u=n.append("g").attr("id",x.id).attr("class","stateGroup");h=$(x.doc,u,x.id,!g,a,l,f);{u=W(u,x,g);let B=u.node().getBBox();h.width=B.width,h.height=B.height+b.padding/2,N[x.id]={y:b.compositTitleSize}}}else h=M(n,x);if(x.note){const u={descriptions:[],id:x.id+"-note",note:x.note,type:"note"},B=M(n,u);x.note.position==="left of"?(i.setNode(h.id+"-note",B),i.setNode(h.id,h)):(i.setNode(h.id,h),i.setNode(h.id+"-note",B)),i.setParent(h.id,h.id+"-group"),i.setParent(h.id+"-note",h.id+"-group")}else i.setNode(h.id,h)}t.log$1.debug("Count=",i.nodeCount(),i);let w=0;d.forEach(function(o){w++,t.log$1.debug("Setting edge",o),i.setEdge(o.id1,o.id2,{relation:o,width:I(o.title),height:b.labelHeight*t.common$1.getRows(o.title).length,labelpos:"c"},"id"+w)}),z.layout(i),t.log$1.debug("Graph after layout",i.nodes());const y=n.node();i.nodes().forEach(function(o){o!==void 0&&i.node(o)!==void 0?(t.log$1.warn("Node "+o+": "+JSON.stringify(i.node(o))),a.select("#"+y.id+" #"+o).attr("transform","translate("+(i.node(o).x-i.node(o).width/2)+","+(i.node(o).y+(N[o]?N[o].y:0)-i.node(o).height/2)+" )"),a.select("#"+y.id+" #"+o).attr("data-x-shift",i.node(o).x-i.node(o).width/2),l.querySelectorAll("#"+y.id+" #"+o+" .divider").forEach(h=>{const u=h.parentElement;let B=0,k=0;u&&(u.parentElement&&(B=u.parentElement.getBBox().width),k=parseInt(u.getAttribute("data-x-shift"),10),Number.isNaN(k)&&(k=0)),h.setAttribute("x1",0-k+8),h.setAttribute("x2",B-k-8)})):t.log$1.debug("No Node "+o+": "+JSON.stringify(i.node(o)))});let S=y.getBBox();i.edges().forEach(function(o){o!==void 0&&i.edge(o)!==void 0&&(t.log$1.debug("Edge "+o.v+" -> "+o.w+": "+JSON.stringify(i.edge(o))),O(n,i.edge(o),i.edge(o).relation))}),S=y.getBBox();const E={id:s||"root",label:s||"root",width:0,height:0};return E.width=S.width+2*b.padding,E.height=S.height+2*b.padding,t.log$1.debug("Doc rendered",E,i),E},_={setConf:X,draw:Y},Z={parser:m.parser$1,db:m.db,renderer:_,styles:m.styles,init:e=>{e.state||(e.state={}),e.state.arrowMarkerAbsolute=e.arrowMarkerAbsolute,m.db.clear()}};exports.diagram=Z;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const m=require("./layers.Dt314Yjz.js"),t=require("./layers.T9FmGUkf.js");require("lodash-es");const z=require("./layers.Cyzu9PKQ.js"),T=require("./layers.BLd2spTm.js");require("./layers.Dxr2o7ON.js");require("lodash-es/memoize.js");require("lodash-es/merge.js");require("lodash-es/isEmpty.js");const L=require("./layers.BDm-r-iX.js"),P=e=>e.append("circle").attr("class","start-state").attr("r",t.getConfig().state.sizeUnit).attr("cx",t.getConfig().state.padding+t.getConfig().state.sizeUnit).attr("cy",t.getConfig().state.padding+t.getConfig().state.sizeUnit),q=e=>e.append("line").style("stroke","grey").style("stroke-dasharray","3").attr("x1",t.getConfig().state.textHeight).attr("class","divider").attr("x2",t.getConfig().state.textHeight*2).attr("y1",0).attr("y2",0),A=(e,n)=>{const s=e.append("text").attr("x",2*t.getConfig().state.padding).attr("y",t.getConfig().state.textHeight+2*t.getConfig().state.padding).attr("font-size",t.getConfig().state.fontSize).attr("class","state-title").text(n.id),g=s.node().getBBox();return e.insert("rect",":first-child").attr("x",t.getConfig().state.padding).attr("y",t.getConfig().state.padding).attr("width",g.width+2*t.getConfig().state.padding).attr("height",g.height+2*t.getConfig().state.padding).attr("rx",t.getConfig().state.radius),s},G=(e,n)=>{const s=function(c,w,y){const S=c.append("tspan").attr("x",2*t.getConfig().state.padding).text(w);y||S.attr("dy",t.getConfig().state.textHeight)},a=e.append("text").attr("x",2*t.getConfig().state.padding).attr("y",t.getConfig().state.textHeight+1.3*t.getConfig().state.padding).attr("font-size",t.getConfig().state.fontSize).attr("class","state-title").text(n.descriptions[0]).node().getBBox(),l=a.height,f=e.append("text").attr("x",t.getConfig().state.padding).attr("y",l+t.getConfig().state.padding*.4+t.getConfig().state.dividerMargin+t.getConfig().state.textHeight).attr("class","state-description");let i=!0,r=!0;n.descriptions.forEach(function(c){i||(s(f,c,r),r=!1),i=!1});const C=e.append("line").attr("x1",t.getConfig().state.padding).attr("y1",t.getConfig().state.padding+l+t.getConfig().state.dividerMargin/2).attr("y2",t.getConfig().state.padding+l+t.getConfig().state.dividerMargin/2).attr("class","descr-divider"),p=f.node().getBBox(),d=Math.max(p.width,a.width);return C.attr("x2",d+3*t.getConfig().state.padding),e.insert("rect",":first-child").attr("x",t.getConfig().state.padding).attr("y",t.getConfig().state.padding).attr("width",d+2*t.getConfig().state.padding).attr("height",p.height+l+2*t.getConfig().state.padding).attr("rx",t.getConfig().state.radius),e},W=(e,n,s)=>{const g=t.getConfig().state.padding,a=2*t.getConfig().state.padding,l=e.node().getBBox(),f=l.width,i=l.x,r=e.append("text").attr("x",0).attr("y",t.getConfig().state.titleShift).attr("font-size",t.getConfig().state.fontSize).attr("class","state-title").text(n.id),p=r.node().getBBox().width+a;let d=Math.max(p,f);d===f&&(d=d+a);let c;const w=e.node().getBBox();n.doc,c=i-g,p>f&&(c=(f-d)/2+g),Math.abs(i-w.x)<g&&p>f&&(c=i-(p-f)/2);const y=1-t.getConfig().state.textHeight;return e.insert("rect",":first-child").attr("x",c).attr("y",y).attr("class",s?"alt-composit":"composit").attr("width",d).attr("height",w.height+t.getConfig().state.textHeight+t.getConfig().state.titleShift+1).attr("rx","0"),r.attr("x",c+g),p<=f&&r.attr("x",i+(d-a)/2-p/2+g),e.insert("rect",":first-child").attr("x",c).attr("y",t.getConfig().state.titleShift-t.getConfig().state.textHeight-t.getConfig().state.padding).attr("width",d).attr("height",t.getConfig().state.textHeight*3).attr("rx",t.getConfig().state.radius),e.insert("rect",":first-child").attr("x",c).attr("y",t.getConfig().state.titleShift-t.getConfig().state.textHeight-t.getConfig().state.padding).attr("width",d).attr("height",w.height+3+2*t.getConfig().state.textHeight).attr("rx",t.getConfig().state.radius),e},v=e=>(e.append("circle").attr("class","end-state-outer").attr("r",t.getConfig().state.sizeUnit+t.getConfig().state.miniPadding).attr("cx",t.getConfig().state.padding+t.getConfig().state.sizeUnit+t.getConfig().state.miniPadding).attr("cy",t.getConfig().state.padding+t.getConfig().state.sizeUnit+t.getConfig().state.miniPadding),e.append("circle").attr("class","end-state-inner").attr("r",t.getConfig().state.sizeUnit).attr("cx",t.getConfig().state.padding+t.getConfig().state.sizeUnit+2).attr("cy",t.getConfig().state.padding+t.getConfig().state.sizeUnit+2)),R=(e,n)=>{let s=t.getConfig().state.forkWidth,g=t.getConfig().state.forkHeight;if(n.parentId){let a=s;s=g,g=a}return e.append("rect").style("stroke","black").style("fill","black").attr("width",s).attr("height",g).attr("x",t.getConfig().state.padding).attr("y",t.getConfig().state.padding)},U=(e,n,s,g)=>{let a=0;const l=g.append("text");l.style("text-anchor","start"),l.attr("class","noteText");let f=e.replace(/\r\n/g,"<br/>");f=f.replace(/\n/g,"<br/>");const i=f.split(t.common$1.lineBreakRegex);let r=1.25*t.getConfig().state.noteMargin;for(const C of i){const p=C.trim();if(p.length>0){const d=l.append("tspan");if(d.text(p),r===0){const c=d.node().getBBox();r+=c.height}a+=r,d.attr("x",n+t.getConfig().state.noteMargin),d.attr("y",s+a+1.25*t.getConfig().state.noteMargin)}}return{textWidth:l.node().getBBox().width,textHeight:a}},F=(e,n)=>{n.attr("class","state-note");const s=n.append("rect").attr("x",0).attr("y",t.getConfig().state.padding),g=n.append("g"),{textWidth:a,textHeight:l}=U(e,0,0,g);return s.attr("height",l+2*t.getConfig().state.noteMargin),s.attr("width",a+t.getConfig().state.noteMargin*2),s},M=function(e,n){const s=n.id,g={id:s,label:n.id,width:0,height:0},a=e.append("g").attr("id",s).attr("class","stateGroup");n.type==="start"&&P(a),n.type==="end"&&v(a),(n.type==="fork"||n.type==="join")&&R(a,n),n.type==="note"&&F(n.note.text,a),n.type==="divider"&&q(a),n.type==="default"&&n.descriptions.length===0&&A(a,n),n.type==="default"&&n.descriptions.length>0&&G(a,n);const l=a.node().getBBox();return g.width=l.width+2*t.getConfig().state.padding,g.height=l.height+2*t.getConfig().state.padding,g};let H=0;const O=function(e,n,s){const g=function(r){switch(r){case m.db.relationType.AGGREGATION:return"aggregation";case m.db.relationType.EXTENSION:return"extension";case m.db.relationType.COMPOSITION:return"composition";case m.db.relationType.DEPENDENCY:return"dependency"}};n.points=n.points.filter(r=>!Number.isNaN(r.y));const a=n.points,l=L.line().x(function(r){return r.x}).y(function(r){return r.y}).curve(t.curveBasis),f=e.append("path").attr("d",l(a)).attr("id","edge"+H).attr("class","transition");let i="";if(t.getConfig().state.arrowMarkerAbsolute&&(i=window.location.protocol+"//"+window.location.host+window.location.pathname+window.location.search,i=i.replace(/\(/g,"\\("),i=i.replace(/\)/g,"\\)")),f.attr("marker-end","url("+i+"#"+g(m.db.relationType.DEPENDENCY)+"End)"),s.title!==void 0){const r=e.append("g").attr("class","stateLabel"),{x:C,y:p}=t.utils.calcLabelPosition(n.points),d=t.common$1.getRows(s.title);let c=0;const w=[];let y=0,S=0;for(let x=0;x<=d.length;x++){const h=r.append("text").attr("text-anchor","middle").text(d[x]).attr("x",C).attr("y",p+c),u=h.node().getBBox();y=Math.max(y,u.width),S=Math.min(S,u.x),t.log$1.info(u.x,C,p+c),c===0&&(c=h.node().getBBox().height,t.log$1.info("Title height",c,p)),w.push(h)}let E=c*d.length;if(d.length>1){const x=(d.length-1)*c*.5;w.forEach((h,u)=>h.attr("y",p+u*c-x)),E=c*d.length}const o=r.node().getBBox();r.insert("rect",":first-child").attr("class","box").attr("x",C-y/2-t.getConfig().state.padding/2).attr("y",p-E/2-t.getConfig().state.padding/2-3.5).attr("width",y+t.getConfig().state.padding).attr("height",E+t.getConfig().state.padding),t.log$1.info(o)}H++};let b;const N={},X=function(){},J=function(e){e.append("defs").append("marker").attr("id","dependencyEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},Y=function(e,n,s,g){b=t.getConfig().state;const a=t.getConfig().securityLevel;let l;a==="sandbox"&&(l=t.select("#i"+n));const f=a==="sandbox"?t.select(l.nodes()[0].contentDocument.body):t.select("body"),i=a==="sandbox"?l.nodes()[0].contentDocument:document;t.log$1.debug("Rendering diagram "+e);const r=f.select(`[id='${n}']`);J(r);const C=g.db.getRootDoc();$(C,r,void 0,!1,f,i,g);const p=b.padding,d=r.node().getBBox(),c=d.width+p*2,w=d.height+p*2,y=c*1.75;t.configureSvgSize(r,w,y,b.useMaxWidth),r.attr("viewBox",`${d.x-b.padding} ${d.y-b.padding} `+c+" "+w)},I=e=>e?e.length*b.fontSizeFactor:1,$=(e,n,s,g,a,l,f)=>{const i=new T.Graph({compound:!0,multigraph:!0});let r,C=!0;for(r=0;r<e.length;r++)if(e[r].stmt==="relation"){C=!1;break}s?i.setGraph({rankdir:"LR",multigraph:!0,compound:!0,ranker:"tight-tree",ranksep:C?1:b.edgeLengthFactor,nodeSep:C?1:50,isMultiGraph:!0}):i.setGraph({rankdir:"TB",multigraph:!0,compound:!0,ranksep:C?1:b.edgeLengthFactor,nodeSep:C?1:50,ranker:"tight-tree",isMultiGraph:!0}),i.setDefaultEdgeLabel(function(){return{}}),f.db.extract(e);const p=f.db.getStates(),d=f.db.getRelations(),c=Object.keys(p);for(const o of c){const x=p[o];s&&(x.parentId=s);let h;if(x.doc){let u=n.append("g").attr("id",x.id).attr("class","stateGroup");h=$(x.doc,u,x.id,!g,a,l,f);{u=W(u,x,g);let B=u.node().getBBox();h.width=B.width,h.height=B.height+b.padding/2,N[x.id]={y:b.compositTitleSize}}}else h=M(n,x);if(x.note){const u={descriptions:[],id:x.id+"-note",note:x.note,type:"note"},B=M(n,u);x.note.position==="left of"?(i.setNode(h.id+"-note",B),i.setNode(h.id,h)):(i.setNode(h.id,h),i.setNode(h.id+"-note",B)),i.setParent(h.id,h.id+"-group"),i.setParent(h.id+"-note",h.id+"-group")}else i.setNode(h.id,h)}t.log$1.debug("Count=",i.nodeCount(),i);let w=0;d.forEach(function(o){w++,t.log$1.debug("Setting edge",o),i.setEdge(o.id1,o.id2,{relation:o,width:I(o.title),height:b.labelHeight*t.common$1.getRows(o.title).length,labelpos:"c"},"id"+w)}),z.layout(i),t.log$1.debug("Graph after layout",i.nodes());const y=n.node();i.nodes().forEach(function(o){o!==void 0&&i.node(o)!==void 0?(t.log$1.warn("Node "+o+": "+JSON.stringify(i.node(o))),a.select("#"+y.id+" #"+o).attr("transform","translate("+(i.node(o).x-i.node(o).width/2)+","+(i.node(o).y+(N[o]?N[o].y:0)-i.node(o).height/2)+" )"),a.select("#"+y.id+" #"+o).attr("data-x-shift",i.node(o).x-i.node(o).width/2),l.querySelectorAll("#"+y.id+" #"+o+" .divider").forEach(h=>{const u=h.parentElement;let B=0,k=0;u&&(u.parentElement&&(B=u.parentElement.getBBox().width),k=parseInt(u.getAttribute("data-x-shift"),10),Number.isNaN(k)&&(k=0)),h.setAttribute("x1",0-k+8),h.setAttribute("x2",B-k-8)})):t.log$1.debug("No Node "+o+": "+JSON.stringify(i.node(o)))});let S=y.getBBox();i.edges().forEach(function(o){o!==void 0&&i.edge(o)!==void 0&&(t.log$1.debug("Edge "+o.v+" -> "+o.w+": "+JSON.stringify(i.edge(o))),O(n,i.edge(o),i.edge(o).relation))}),S=y.getBBox();const E={id:s||"root",label:s||"root",width:0,height:0};return E.width=S.width+2*b.padding,E.height=S.height+2*b.padding,t.log$1.debug("Doc rendered",E,i),E},_={setConf:X,draw:Y},Z={parser:m.parser$1,db:m.db,renderer:_,styles:m.styles,init:e=>{e.state||(e.state={}),e.state.arrowMarkerAbsolute=e.arrowMarkerAbsolute,m.db.clear()}};exports.diagram=Z;