@layers-app/editor 0.3.11 → 0.4.1-progress-bar.2

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 (246) hide show
  1. package/README.md +215 -1
  2. package/dist/index.cjs +2 -2
  3. package/dist/index.d.ts +3 -2
  4. package/dist/index.js +6 -6
  5. package/dist/layers.-81wcqwR.js +41 -0
  6. package/dist/layers.0GG-c34P.js +36 -0
  7. package/dist/layers.0dm3eLYv.js +1265 -0
  8. package/dist/layers.0nFmx-Nl.js +1 -0
  9. package/dist/layers.1Z2fyz6H.js +7 -0
  10. package/dist/layers.2b70kvMG.js +9 -0
  11. package/dist/layers.3Vvyhk66.js +904 -0
  12. package/dist/layers.475BZq-C.js +4 -0
  13. package/dist/layers.52famHy6.js +1 -0
  14. package/dist/layers.6F0lZyGr.js +1 -0
  15. package/dist/layers.6iBZ8vbZ.js +7 -0
  16. package/dist/layers.7JqFgE4-.js +15 -0
  17. package/dist/layers.7Q7ZqlHQ.js +1 -0
  18. package/dist/layers.9QK1wiQj.js +1 -0
  19. package/dist/layers.9pNaFvaX.js +1 -0
  20. package/dist/layers.AhhllI1F.js +1088 -0
  21. package/dist/layers.B0UW1RmX.js +10 -0
  22. package/dist/layers.B19hGmey.js +1 -0
  23. package/dist/layers.B1jSvo4Q.js +282 -0
  24. package/dist/layers.B2QmFAKW.js +1 -0
  25. package/dist/layers.B3D4g2HH.js +1 -0
  26. package/dist/layers.B4KbvY3e.js +2235 -0
  27. package/dist/layers.B4b5hMwb.js +40 -0
  28. package/dist/layers.B4kpLyJz.js +39 -0
  29. package/dist/layers.B6ZNsH3T.js +21763 -0
  30. package/dist/layers.B6_dw_8p.js +7 -0
  31. package/dist/layers.B7X5RC-0.js +41 -0
  32. package/dist/layers.B9u9oq3T.js +5 -0
  33. package/dist/layers.BALYUkwP.js +139 -0
  34. package/dist/layers.BAtv1CM7.js +1 -0
  35. package/dist/layers.BBJp9IW9.js +39 -0
  36. package/dist/layers.BChOvfAr.js +33 -0
  37. package/dist/layers.BE8bNWW6.js +423 -0
  38. package/dist/layers.BEfOaBAZ.js +8 -0
  39. package/dist/layers.BHRWU6d9.js +32 -0
  40. package/dist/layers.BIeVwYKL.js +1 -0
  41. package/dist/layers.BJHPodZD.js +5 -0
  42. package/dist/layers.BJml6l4c.js +1619 -0
  43. package/dist/layers.BP5yLKDB.js +40 -0
  44. package/dist/layers.BSTBZrFn.js +1 -0
  45. package/dist/layers.BXFaNlXe.js +10 -0
  46. package/dist/layers.BY2fzSoa.js +320 -0
  47. package/dist/layers.BZ9Uzt2l.js +52 -0
  48. package/dist/layers.BbCfEXyj.js +55 -0
  49. package/dist/layers.BcAVvZP0.js +8 -0
  50. package/dist/layers.BddeOe_0.js +41 -0
  51. package/dist/layers.Bde9z6ba.js +9 -0
  52. package/dist/layers.Bdvy9kzf.js +37 -0
  53. package/dist/layers.Bf9MFDYo.js +37 -0
  54. package/dist/layers.BgOa2ZQq.js +7 -0
  55. package/dist/layers.BglhCs7Q.js +42 -0
  56. package/dist/layers.BhHN_OCL.js +41 -0
  57. package/dist/layers.BhOVSyoa.js +116 -0
  58. package/dist/layers.BiJ8hfRt.js +1510 -0
  59. package/dist/layers.Bk6BXLzz.js +425 -0
  60. package/dist/layers.Bm9nXP7b.js +4 -0
  61. package/dist/layers.BncZBAFy.js +4 -0
  62. package/dist/layers.BpilXLfW.js +6 -0
  63. package/dist/{layers.YZkXZvVS.js → layers.Bq-5GZP6.js} +20995 -19802
  64. package/dist/layers.BtlLD-Rz.js +11 -0
  65. package/dist/layers.BtpIOF4Z.js +9 -0
  66. package/dist/layers.Bu56Qesy.js +10 -0
  67. package/dist/layers.BxIw0gJL.js +11 -0
  68. package/dist/layers.ByYR4L98.js +8 -0
  69. package/dist/layers.C-pbN-0O.js +34 -0
  70. package/dist/layers.C0DJ9ilm.js +1 -0
  71. package/dist/layers.C0Lgw_Sx.js +11688 -0
  72. package/dist/layers.C2gAR4en.js +6 -0
  73. package/dist/layers.C4ceUEtT.js +6 -0
  74. package/dist/layers.C5RRQdrQ.js +39 -0
  75. package/dist/layers.C5U5RNdV.js +38 -0
  76. package/dist/layers.C5hVV8XE.js +10 -0
  77. package/dist/layers.C6jxjtyC.js +8 -0
  78. package/dist/layers.C7lIplJU.js +247 -0
  79. package/dist/layers.C83RWXIj.js +2966 -0
  80. package/dist/layers.C8_lu5UH.js +23 -0
  81. package/dist/layers.C9yHqpLC.js +1 -0
  82. package/dist/layers.CATiNc07.js +37 -0
  83. package/dist/layers.CCoKbqGZ.js +32 -0
  84. package/dist/layers.CCwQVeNG.js +96 -0
  85. package/dist/layers.CG1igXgx.js +65 -0
  86. package/dist/layers.CGE7HTrP.js +790 -0
  87. package/dist/layers.CGmH2sSj.js +160 -0
  88. package/dist/layers.CHZsXQcr.js +1 -0
  89. package/dist/layers.CJWyW1s7.js +33 -0
  90. package/dist/layers.CK2uPIaB.js +9 -0
  91. package/dist/layers.CKVT6drc.js +6 -0
  92. package/dist/layers.COAF7f8g.js +1 -0
  93. package/dist/layers.COS6XeQZ.js +8 -0
  94. package/dist/layers.CP5YFYP0.js +185 -0
  95. package/dist/layers.CQefO3zC.js +960 -0
  96. package/dist/layers.CRMWsjPz.js +6 -0
  97. package/dist/layers.CXXPElSu.js +40 -0
  98. package/dist/layers.CZ9XE70C.js +10 -0
  99. package/dist/layers.CZtDXioS.js +44 -0
  100. package/dist/layers.C_BxYlPZ.js +1580 -0
  101. package/dist/layers.C_UcfwnG.js +6 -0
  102. package/dist/layers.CaLgCU_I.js +32 -0
  103. package/dist/layers.CavVjyC7.js +32 -0
  104. package/dist/layers.Cd4UYQEy.js +5 -0
  105. package/dist/layers.CeERe4hA.js +803 -0
  106. package/dist/layers.CgTtEOpk.js +2479 -0
  107. package/dist/layers.CgYKHJl1.js +437 -0
  108. package/dist/layers.Cgmo79x3.js +11 -0
  109. package/dist/layers.CjMeAmJX.js +1034 -0
  110. package/dist/layers.Ck0n4XD7.js +1 -0
  111. package/dist/layers.CkJ9q_L1.js +1 -0
  112. package/dist/layers.Cl-Lwb04.js +8 -0
  113. package/dist/layers.CnZce7UZ.js +59 -0
  114. package/dist/layers.Co5PaFBV.js +257 -0
  115. package/dist/layers.CoC4j3uL.js +230 -0
  116. package/dist/layers.CopJUlxy.js +42 -0
  117. package/dist/layers.Cp-0WnDT.js +122 -0
  118. package/dist/layers.Cpwze_cl.js +40 -0
  119. package/dist/layers.CqVTtuYm.js +6 -0
  120. package/dist/layers.CrqG-Duk.js +5 -0
  121. package/dist/layers.Crw1IGs-.js +42 -0
  122. package/dist/layers.CsPue_MQ.js +51 -0
  123. package/dist/layers.Cs_T7j-N.js +1283 -0
  124. package/dist/layers.CtLZ9mwp.js +2 -0
  125. package/dist/layers.CukiNGgZ.js +186 -0
  126. package/dist/layers.CvbXz5-5.js +39 -0
  127. package/dist/layers.CxjTeNJ7.js +40 -0
  128. package/dist/layers.Cxopck3h.js +13 -0
  129. package/dist/layers.CyE3jBBZ.js +1126 -0
  130. package/dist/layers.Cy_IG1Gv.js +7 -0
  131. package/dist/layers.Cz1nKHwt.js +7 -0
  132. package/dist/layers.CzRcgWY1.js +21938 -0
  133. package/dist/layers.D0CU4TN8.js +8 -0
  134. package/dist/layers.D0_MMsE9.js +42 -0
  135. package/dist/layers.D0zn4_Mx.js +1 -0
  136. package/dist/layers.D2U67Gni.js +9 -0
  137. package/dist/layers.D34e2jIm.js +2 -0
  138. package/dist/layers.D3QNp_mQ.js +40 -0
  139. package/dist/layers.D4ZUbUXz.js +10 -0
  140. package/dist/layers.D4fGb2cV.js +1272 -0
  141. package/dist/layers.D7Lv0jOC.js +39 -0
  142. package/dist/layers.D7jGxypv.js +8 -0
  143. package/dist/layers.DA80zVTT.js +32 -0
  144. package/dist/layers.DAhZhj49.js +220 -0
  145. package/dist/layers.DC76pGI6.js +36 -0
  146. package/dist/layers.DCm28WHr.js +1 -0
  147. package/dist/layers.DEBlIxtT.js +1 -0
  148. package/dist/layers.DEHlDscq.js +8 -0
  149. package/dist/layers.DEiI3uTS.js +1 -0
  150. package/dist/layers.DFO1fD9L.js +6 -0
  151. package/dist/layers.DFVmKOXm.js +118 -0
  152. package/dist/layers.DGgRL8Nc.js +39 -0
  153. package/dist/layers.DHpypOQI.js +84 -0
  154. package/dist/layers.DJLV698B.js +793 -0
  155. package/dist/layers.DKZkGAQ_.js +202 -0
  156. package/dist/layers.DKeh-lZI.js +1 -0
  157. package/dist/layers.DLB4eAfo.js +1089 -0
  158. package/dist/layers.DLRyMrlf.js +10 -0
  159. package/dist/layers.DLwuMfdd.js +84 -0
  160. package/dist/layers.DMkBISW1.js +1 -0
  161. package/dist/layers.DN9HoVxI.js +18 -0
  162. package/dist/layers.DND9ZxpV.js +40 -0
  163. package/dist/layers.DOYs_uMx.js +802 -0
  164. package/dist/layers.DOrgOHBr.js +1 -0
  165. package/dist/layers.DRGpaHAX.js +41 -0
  166. package/dist/layers.D_AP_tA5.js +9 -0
  167. package/dist/layers.D_MmQzRm.js +207 -0
  168. package/dist/layers.D_sfrDwe.js +70 -0
  169. package/dist/layers.DaUhvLRp.js +10 -0
  170. package/dist/layers.DaoO_UDV.js +9 -0
  171. package/dist/layers.DbaKVP5e.js +1 -0
  172. package/dist/layers.Dbdn8XSd.js +1 -0
  173. package/dist/layers.DfR442P5.js +40 -0
  174. package/dist/layers.DfoJ9Kxs.js +1 -0
  175. package/dist/layers.DgpXAlfL.js +373 -0
  176. package/dist/layers.Dh54vG6t.js +268 -0
  177. package/dist/layers.DhcjxJPA.js +501 -0
  178. package/dist/layers.DhzzXhmQ.js +1359 -0
  179. package/dist/layers.Dixyg94K.js +36 -0
  180. package/dist/layers.Dj3HYSyh.js +7 -0
  181. package/dist/layers.DjUOC4st.js +16 -0
  182. package/dist/layers.DkLyYgOg.js +38 -0
  183. package/dist/layers.DkT2sxcJ.js +931 -0
  184. package/dist/layers.DkleVc4L.js +5 -0
  185. package/dist/layers.DoAq7C3B.js +139 -0
  186. package/dist/layers.Dr3N180D.js +35 -0
  187. package/dist/layers.Drb2mcdd.js +2 -0
  188. package/dist/layers.DtDMtcjv.js +84 -0
  189. package/dist/layers.DtOlJEpj.js +39 -0
  190. package/dist/layers.Dut27cU5.js +42 -0
  191. package/dist/layers.Dx5j_aMV.js +7 -0
  192. package/dist/layers.DxA6ocdw.js +70 -0
  193. package/dist/layers.Dy-AuShh.js +9 -0
  194. package/dist/layers.Dy1naDTQ.js +14 -0
  195. package/dist/layers.DyJZaSCk.js +40 -0
  196. package/dist/layers.DyU8JNlG.js +41 -0
  197. package/dist/layers.DytwjiIF.js +8 -0
  198. package/dist/layers.DyyemvLl.js +36 -0
  199. package/dist/layers.DzphOPQJ.js +19 -0
  200. package/dist/layers.J1ihPiBi.js +7 -0
  201. package/dist/layers.JWCLFILJ.js +1 -0
  202. package/dist/layers.JcQwzHu2.js +9 -0
  203. package/dist/layers.JnLVZ-1W.js +61 -0
  204. package/dist/layers.MfBuwYip.js +39 -0
  205. package/dist/layers.OMZyjZaa.js +1 -0
  206. package/dist/layers.OZhDjtkp.js +1 -0
  207. package/dist/layers.SNwJ50Yh.js +769 -0
  208. package/dist/layers.X930Wyd9.js +9 -0
  209. package/dist/layers.YBnRzjtX.js +1 -0
  210. package/dist/{layers.BnjxHNDK.js → layers.YE5h1RJ0.js} +84 -84
  211. package/dist/layers.YhDm2Yt0.js +37 -0
  212. package/dist/layers.ZE7W-HjF.js +10 -0
  213. package/dist/layers._ZR3qWqZ.js +41 -0
  214. package/dist/layers.b0h5ZBmD.js +61 -0
  215. package/dist/layers.b4ac2O9O.js +35 -0
  216. package/dist/layers.bzxdqd7a.js +11 -0
  217. package/dist/{layers.C125HTat.js → layers.fjeoVipI.js} +1 -1
  218. package/dist/layers.hEiS_6X7.js +1 -0
  219. package/dist/layers.hweLqW3I.js +261 -0
  220. package/dist/layers.iK5LSRjJ.js +11 -0
  221. package/dist/layers.ipZc_UQ4.js +8 -0
  222. package/dist/layers.itQhFK_P.js +48146 -0
  223. package/dist/layers.ix2kR4vq.js +9165 -0
  224. package/dist/layers.jLGyr7oL.js +3 -0
  225. package/dist/layers.k60iEoD4.js +41 -0
  226. package/dist/layers.l06k9Lu3.js +1 -0
  227. package/dist/layers.lCMwJpWR.js +4 -0
  228. package/dist/layers.lCpg7dOn.js +21 -0
  229. package/dist/layers.lPp5HcdT.js +40 -0
  230. package/dist/layers.lUeeFrHR.js +10 -0
  231. package/dist/layers.os9El-5G.js +39 -0
  232. package/dist/layers.pSPpASHH.js +35 -0
  233. package/dist/layers.s006AAsW.js +1 -0
  234. package/dist/layers.sFiVxDwP.js +1 -0
  235. package/dist/layers.sWO0agP4.js +295 -0
  236. package/dist/layers.tSiLqPQw.js +1 -0
  237. package/dist/layers.uZTzmOsK.js +38 -0
  238. package/dist/layers.uzGJX2RJ.js +14 -0
  239. package/dist/layers.vZPmwsoq.js +32 -0
  240. package/dist/layers.wBjmBWfX.js +1 -0
  241. package/package.json +33 -17
  242. package/dist/layers.Cjs5EBWM.js +0 -343
  243. package/dist/layers.DPccTctI.js +0 -285
  244. package/dist/layers.DZ8DrrVn.js +0 -53491
  245. package/dist/layers.QVaGPbs3.js +0 -161
  246. package/dist/layers.VK3NB7Nd.js +0 -1
@@ -0,0 +1,202 @@
1
+ import { s as M, d as _, p as R } from "./layers.DLB4eAfo.js";
2
+ import { l as d, g as c, d as w, u as B, Y as G, j as D, _ as E, $ as C, a0 as $ } from "./layers.ix2kR4vq.js";
3
+ import { G as z } from "./layers.C7lIplJU.js";
4
+ import { r as P } from "./layers.DgpXAlfL.js";
5
+ import "./layers.B6ZNsH3T.js";
6
+ import "lodash-es";
7
+ import "./layers.D4fGb2cV.js";
8
+ const S = (s) => D.sanitizeText(s, c());
9
+ let k = {
10
+ dividerMargin: 10,
11
+ padding: 5,
12
+ textHeight: 10,
13
+ curve: void 0
14
+ };
15
+ const q = function(s, t, y, a) {
16
+ const e = Object.keys(s);
17
+ d.info("keys:", e), d.info(s), e.forEach(function(i) {
18
+ var o, r;
19
+ const l = s[i], p = {
20
+ shape: "rect",
21
+ id: l.id,
22
+ domId: l.domId,
23
+ labelText: S(l.id),
24
+ labelStyle: "",
25
+ style: "fill: none; stroke: black",
26
+ // TODO V10: Flowchart ? Keeping flowchart for backwards compatibility. Remove in next major release
27
+ padding: ((o = c().flowchart) == null ? void 0 : o.padding) ?? ((r = c().class) == null ? void 0 : r.padding)
28
+ };
29
+ t.setNode(l.id, p), A(l.classes, t, y, a, l.id), d.info("setNode", p);
30
+ });
31
+ }, A = function(s, t, y, a, e) {
32
+ const i = Object.keys(s);
33
+ d.info("keys:", i), d.info(s), i.filter((o) => s[o].parent == e).forEach(function(o) {
34
+ var r, l;
35
+ const n = s[o], p = n.cssClasses.join(" "), f = E(n.styles), h = n.label ?? n.id, u = 0, b = {
36
+ labelStyle: f.labelStyle,
37
+ shape: "class_box",
38
+ labelText: S(h),
39
+ classData: n,
40
+ rx: u,
41
+ ry: u,
42
+ class: p,
43
+ style: f.style,
44
+ id: n.id,
45
+ domId: n.domId,
46
+ tooltip: a.db.getTooltip(n.id, e) || "",
47
+ haveCallback: n.haveCallback,
48
+ link: n.link,
49
+ width: n.type === "group" ? 500 : void 0,
50
+ type: n.type,
51
+ // TODO V10: Flowchart ? Keeping flowchart for backwards compatibility. Remove in next major release
52
+ padding: ((r = c().flowchart) == null ? void 0 : r.padding) ?? ((l = c().class) == null ? void 0 : l.padding)
53
+ };
54
+ t.setNode(n.id, b), e && t.setParent(n.id, e), d.info("setNode", b);
55
+ });
56
+ }, F = function(s, t, y, a) {
57
+ d.info(s), s.forEach(function(e, i) {
58
+ var o, r;
59
+ const l = e, n = "", p = { labelStyle: "", style: "" }, f = l.text, h = 0, v = {
60
+ labelStyle: p.labelStyle,
61
+ shape: "note",
62
+ labelText: S(f),
63
+ noteData: l,
64
+ rx: h,
65
+ ry: h,
66
+ class: n,
67
+ style: p.style,
68
+ id: l.id,
69
+ domId: l.id,
70
+ tooltip: "",
71
+ type: "note",
72
+ // TODO V10: Flowchart ? Keeping flowchart for backwards compatibility. Remove in next major release
73
+ padding: ((o = c().flowchart) == null ? void 0 : o.padding) ?? ((r = c().class) == null ? void 0 : r.padding)
74
+ };
75
+ if (t.setNode(l.id, v), d.info("setNode", v), !l.class || !(l.class in a))
76
+ return;
77
+ const b = y + i, x = {
78
+ id: `edgeNote${b}`,
79
+ //Set relationship style and line type
80
+ classes: "relation",
81
+ pattern: "dotted",
82
+ // Set link type for rendering
83
+ arrowhead: "none",
84
+ //Set edge extra labels
85
+ startLabelRight: "",
86
+ endLabelLeft: "",
87
+ //Set relation arrow types
88
+ arrowTypeStart: "none",
89
+ arrowTypeEnd: "none",
90
+ style: "fill:none",
91
+ labelStyle: "",
92
+ curve: C(k.curve, $)
93
+ };
94
+ t.setEdge(l.id, l.class, x, b);
95
+ });
96
+ }, H = function(s, t) {
97
+ const y = c().flowchart;
98
+ let a = 0;
99
+ s.forEach(function(e) {
100
+ var i;
101
+ a++;
102
+ const o = {
103
+ //Set relationship style and line type
104
+ classes: "relation",
105
+ pattern: e.relation.lineType == 1 ? "dashed" : "solid",
106
+ id: `id_${e.id1}_${e.id2}_${a}`,
107
+ // Set link type for rendering
108
+ arrowhead: e.type === "arrow_open" ? "none" : "normal",
109
+ //Set edge extra labels
110
+ startLabelRight: e.relationTitle1 === "none" ? "" : e.relationTitle1,
111
+ endLabelLeft: e.relationTitle2 === "none" ? "" : e.relationTitle2,
112
+ //Set relation arrow types
113
+ arrowTypeStart: N(e.relation.type1),
114
+ arrowTypeEnd: N(e.relation.type2),
115
+ style: "fill:none",
116
+ labelStyle: "",
117
+ curve: C(y == null ? void 0 : y.curve, $)
118
+ };
119
+ if (d.info(o, e), e.style !== void 0) {
120
+ const r = E(e.style);
121
+ o.style = r.style, o.labelStyle = r.labelStyle;
122
+ }
123
+ e.text = e.title, e.text === void 0 ? e.style !== void 0 && (o.arrowheadStyle = "fill: #333") : (o.arrowheadStyle = "fill: #333", o.labelpos = "c", ((i = c().flowchart) == null ? void 0 : i.htmlLabels) ?? c().htmlLabels ? (o.labelType = "html", o.label = '<span class="edgeLabel">' + e.text + "</span>") : (o.labelType = "text", o.label = e.text.replace(D.lineBreakRegex, `
124
+ `), e.style === void 0 && (o.style = o.style || "stroke: #333; stroke-width: 1.5px;fill:none"), o.labelStyle = o.labelStyle.replace("color:", "fill:"))), t.setEdge(e.id1, e.id2, o, a);
125
+ });
126
+ }, V = function(s) {
127
+ k = {
128
+ ...k,
129
+ ...s
130
+ };
131
+ }, W = async function(s, t, y, a) {
132
+ d.info("Drawing class - ", t);
133
+ const e = c().flowchart ?? c().class, i = c().securityLevel;
134
+ d.info("config:", e);
135
+ const o = (e == null ? void 0 : e.nodeSpacing) ?? 50, r = (e == null ? void 0 : e.rankSpacing) ?? 50, l = new z({
136
+ multigraph: !0,
137
+ compound: !0
138
+ }).setGraph({
139
+ rankdir: a.db.getDirection(),
140
+ nodesep: o,
141
+ ranksep: r,
142
+ marginx: 8,
143
+ marginy: 8
144
+ }).setDefaultEdgeLabel(function() {
145
+ return {};
146
+ }), n = a.db.getNamespaces(), p = a.db.getClasses(), f = a.db.getRelations(), h = a.db.getNotes();
147
+ d.info(f), q(n, l, t, a), A(p, l, t, a), H(f, l), F(h, l, f.length + 1, p);
148
+ let u;
149
+ i === "sandbox" && (u = w("#i" + t));
150
+ const v = i === "sandbox" ? w(u.nodes()[0].contentDocument.body) : w("body"), b = v.select(`[id="${t}"]`), x = v.select("#" + t + " g");
151
+ if (await P(
152
+ x,
153
+ l,
154
+ ["aggregation", "extension", "composition", "dependency", "lollipop"],
155
+ "classDiagram",
156
+ t
157
+ ), B.insertTitle(b, "classTitleText", (e == null ? void 0 : e.titleTopMargin) ?? 5, a.db.getDiagramTitle()), G(l, b, e == null ? void 0 : e.diagramPadding, e == null ? void 0 : e.useMaxWidth), !(e != null && e.htmlLabels)) {
158
+ const T = i === "sandbox" ? u.nodes()[0].contentDocument : document, I = T.querySelectorAll('[id="' + t + '"] .edgeLabel .label');
159
+ for (const g of I) {
160
+ const L = g.getBBox(), m = T.createElementNS("http://www.w3.org/2000/svg", "rect");
161
+ m.setAttribute("rx", 0), m.setAttribute("ry", 0), m.setAttribute("width", L.width), m.setAttribute("height", L.height), g.insertBefore(m, g.firstChild);
162
+ }
163
+ }
164
+ };
165
+ function N(s) {
166
+ let t;
167
+ switch (s) {
168
+ case 0:
169
+ t = "aggregation";
170
+ break;
171
+ case 1:
172
+ t = "extension";
173
+ break;
174
+ case 2:
175
+ t = "composition";
176
+ break;
177
+ case 3:
178
+ t = "dependency";
179
+ break;
180
+ case 4:
181
+ t = "lollipop";
182
+ break;
183
+ default:
184
+ t = "none";
185
+ }
186
+ return t;
187
+ }
188
+ const Y = {
189
+ setConf: V,
190
+ draw: W
191
+ }, O = {
192
+ parser: R,
193
+ db: _,
194
+ renderer: Y,
195
+ styles: M,
196
+ init: (s) => {
197
+ s.class || (s.class = {}), s.class.arrowMarkerAbsolute = s.arrowMarkerAbsolute, _.clear();
198
+ }
199
+ };
200
+ export {
201
+ O as diagram
202
+ };
@@ -0,0 +1 @@
1
+ "use strict";const P=require("lodash-es"),J=require("./layers.COAF7f8g.js"),k=require("./layers.9QK1wiQj.js"),u=require("./layers.475BZq-C.js"),i=require("./layers.CCwQVeNG.js"),j=require("./layers.B6_dw_8p.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)),D=(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)D(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)})},B=(e,t)=>{const n=t.children(e);let r=[...n];for(const s of n)p[s]=e,r=[...r,...B(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]=B(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)),D(s,e,g,s),e.setNode(s,{clusterNode:!0,id:s,clusterData:a[s].clusterData,labelText:a[s].labelText,graph:g}),i.log$1.warn("New graph after copy node: (",s,")",x(g)),i.log$1.debug("Old graph after copy",x(e))}else i.log$1.warn("Cluster ** ",s," **not meeting the criteria !externalConnections:",!a[s].externalConnections," no parent: ",!e.parent(s)," children ",e.children(s)&&e.children(s).length>0,e.children("D"),t),i.log$1.debug(a);n=e.nodes(),i.log$1.warn("New list of nodes",n);for(const s of n){const o=e.node(s);i.log$1.warn(" Now next level",s,o),o.clusterNode&&T(o.graph,t+1)}},O=(e,t)=>{if(t.length===0)return[];let n=Object.assign(t);return t.forEach(r=>{const s=e.children(r),o=O(e,s);n=[...n,...o]}),n},A=e=>O(e,e.children()),H=(e,t)=>{i.log$1.info("Creating subgraph rect for ",t.id,t);const n=i.getConfig(),r=e.insert("g").attr("class","cluster"+(t.class?" "+t.class:"")).attr("id",t.id),s=r.insert("rect",":first-child"),o=i.evaluate(n.flowchart.htmlLabels),f=r.insert("g").attr("class","cluster-label"),g=t.labelType==="markdown"?j.createText(f,t.labelText,{style:t.labelStyle,useHtmlLabels:o}):f.node().appendChild(u.createLabel$1(t.labelText,t.labelStyle,void 0,!0));let d=g.getBBox();if(i.evaluate(n.flowchart.htmlLabels)){const l=g.children[0],c=i.select(g);d=l.getBoundingClientRect(),c.attr("width",d.width),c.attr("height",d.height)}const h=0*t.padding,$=h/2,y=t.width<=d.width+h?d.width+h:t.width;t.width<=d.width+h?t.diff=(d.width-t.width)/2-t.padding/2:t.diff=-t.padding/2,i.log$1.trace("Data ",t,JSON.stringify(t)),s.attr("style",t.style).attr("rx",t.rx).attr("ry",t.ry).attr("x",t.x-y/2).attr("y",t.y-t.height/2-$).attr("width",y).attr("height",t.height+h);const{subGraphTitleTopMargin:N}=u.getSubGraphTitleMargins(n);o?f.attr("transform",`translate(${t.x-d.width/2}, ${t.y-t.height/2+N})`):f.attr("transform",`translate(${t.x}, ${t.y-t.height/2+N})`);const b=s.node().getBBox();return t.width=b.width,t.height=b.height,t.intersect=function(l){return u.intersectRect$1(t,l)},r},V=(e,t)=>{const n=e.insert("g").attr("class","note-cluster").attr("id",t.id),r=n.insert("rect",":first-child"),s=0*t.padding,o=s/2;r.attr("rx",t.rx).attr("ry",t.ry).attr("x",t.x-t.width/2-o).attr("y",t.y-t.height/2-o).attr("width",t.width+s).attr("height",t.height+s).attr("fill","none");const f=r.node().getBBox();return t.width=f.width,t.height=f.height,t.intersect=function(g){return u.intersectRect$1(t,g)},n},z=(e,t)=>{const n=i.getConfig(),r=e.insert("g").attr("class",t.classes).attr("id",t.id),s=r.insert("rect",":first-child"),o=r.insert("g").attr("class","cluster-label"),f=r.append("rect"),g=o.node().appendChild(u.createLabel$1(t.labelText,t.labelStyle,void 0,!0));let d=g.getBBox();if(i.evaluate(n.flowchart.htmlLabels)){const l=g.children[0],c=i.select(g);d=l.getBoundingClientRect(),c.attr("width",d.width),c.attr("height",d.height)}d=g.getBBox();const h=0*t.padding,$=h/2,y=t.width<=d.width+t.padding?d.width+t.padding:t.width;t.width<=d.width+t.padding?t.diff=(d.width+t.padding*0-t.width)/2:t.diff=-t.padding/2,s.attr("class","outer").attr("x",t.x-y/2-$).attr("y",t.y-t.height/2-$).attr("width",y+h).attr("height",t.height+h),f.attr("class","inner").attr("x",t.x-y/2-$).attr("y",t.y-t.height/2-$+d.height-1).attr("width",y+h).attr("height",t.height+h-d.height-3);const{subGraphTitleTopMargin:N}=u.getSubGraphTitleMargins(n);o.attr("transform",`translate(${t.x-d.width/2}, ${t.y-t.height/2-t.padding/3+(i.evaluate(n.flowchart.htmlLabels)?5:3)+N})`);const b=s.node().getBBox();return t.height=b.height,t.intersect=function(l){return u.intersectRect$1(t,l)},r},W=(e,t)=>{const n=e.insert("g").attr("class",t.classes).attr("id",t.id),r=n.insert("rect",":first-child"),s=0*t.padding,o=s/2;r.attr("class","divider").attr("x",t.x-t.width/2-o).attr("y",t.y-t.height/2).attr("width",t.width+s).attr("height",t.height+s);const f=r.node().getBBox();return t.width=f.width,t.height=f.height,t.diff=-t.padding/2,t.intersect=function(g){return u.intersectRect$1(t,g)},n},K={rect:H,roundedWithTitle:z,noteGroup:V,divider:W};let R={};const Q=(e,t)=>{i.log$1.trace("Inserting cluster");const n=t.shape||"rect";R[t.id]=K[n](e,t)},Y=()=>{R={}},L=async(e,t,n,r,s,o)=>{i.log$1.info("Graph in recursive render: XXX",x(t),s);const f=t.graph().rankdir;i.log$1.trace("Dir in recursive render - dir:",f);const g=e.insert("g").attr("class","root");t.nodes()?i.log$1.info("Recursive render XXX",t.nodes()):i.log$1.info("No nodes found for",t),t.edges().length>0&&i.log$1.trace("Recursive edges",t.edge(t.edges()[0]));const d=g.insert("g").attr("class","clusters"),h=g.insert("g").attr("class","edgePaths"),$=g.insert("g").attr("class","edgeLabels"),y=g.insert("g").attr("class","nodes");await Promise.all(t.nodes().map(async function(l){const c=t.node(l);if(s!==void 0){const v=JSON.parse(JSON.stringify(s.clusterData));i.log$1.info("Setting data for cluster XXX (",l,") ",v,s),t.setNode(s.id,v),t.parent(l)||(i.log$1.trace("Setting parent",l,s.id),t.setParent(l,s.id,v))}if(i.log$1.info("(Insert) Node XXX"+l+": "+JSON.stringify(t.node(l))),c&&c.clusterNode){i.log$1.info("Cluster identified",l,c.width,t.node(l));const v=await L(y,c.graph,n,r,t.node(l),o),E=v.elem;u.updateNodeBounds(c,E),c.diff=v.diff||0,i.log$1.info("Node bounds (abc123)",l,c,c.width,c.x,c.y),u.setNodeElem(E,c),i.log$1.warn("Recursive render complete ",E,c)}else t.children(l).length>0?(i.log$1.info("Cluster - the non recursive path XXX",l,c.id,c,t),i.log$1.info(C(c.id,t)),a[c.id]={id:C(c.id,t),node:c}):(i.log$1.info("Node - the non recursive path",l,c.id,c),await u.insertNode(y,t.node(l),f))})),t.edges().forEach(function(l){const c=t.edge(l.v,l.w,l.name);i.log$1.info("Edge "+l.v+" -> "+l.w+": "+JSON.stringify(l)),i.log$1.info("Edge "+l.v+" -> "+l.w+": ",l," ",JSON.stringify(t.edge(l))),i.log$1.info("Fix",a,"ids:",l.v,l.w,"Translating: ",a[l.v],a[l.w]),u.insertEdgeLabel($,c)}),t.edges().forEach(function(l){i.log$1.info("Edge "+l.v+" -> "+l.w+": "+JSON.stringify(l))}),i.log$1.info("#############################################"),i.log$1.info("### Layout ###"),i.log$1.info("#############################################"),i.log$1.info(t),J.layout(t),i.log$1.info("Graph after layout:",x(t));let N=0;const{subGraphTitleTotalMargin:b}=u.getSubGraphTitleMargins(o);return A(t).forEach(function(l){const c=t.node(l);i.log$1.info("Position "+l+": "+JSON.stringify(t.node(l))),i.log$1.info("Position "+l+": ("+c.x,","+c.y,") width: ",c.width," height: ",c.height),c&&c.clusterNode?(c.y+=b,u.positionNode(c)):t.children(l).length>0?(c.height+=b,Q(d,c),a[c.id].node=c):(c.y+=b/2,u.positionNode(c))}),t.edges().forEach(function(l){const c=t.edge(l);i.log$1.info("Edge "+l.v+" -> "+l.w+": "+JSON.stringify(c),c),c.points.forEach(E=>E.y+=b/2);const v=u.insertEdge(h,l,c,a,n,t,r);u.positionEdgeLabel(c,v)}),t.nodes().forEach(function(l){const c=t.node(l);i.log$1.info(l,c.type,c.diff),c.type==="group"&&(N=c.diff)}),{elem:g,diff:N}},Z=async(e,t,n,r,s)=>{u.insertMarkers$1(e,n,r,s),u.clear$1(),u.clear(),Y(),q(),i.log$1.warn("Graph at first:",JSON.stringify(x(t))),U(t),i.log$1.warn("Graph after:",JSON.stringify(x(t)));const o=i.getConfig();await L(e,t,r,s,void 0,o)};exports.render=Z;