@wandox/sdk 0.1.0

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 (114) hide show
  1. package/README.md +59 -0
  2. package/dist/arc-BJMRTG9S.cjs +1 -0
  3. package/dist/arc-Vdco0qfw.js +83 -0
  4. package/dist/architectureDiagram-3BPJPVTR-BjEqcvey.js +4695 -0
  5. package/dist/architectureDiagram-3BPJPVTR-BvjJfAkh.cjs +36 -0
  6. package/dist/blockDiagram-GPEHLZMM-B1xf7RE9.js +2427 -0
  7. package/dist/blockDiagram-GPEHLZMM-B5VqovGY.cjs +132 -0
  8. package/dist/c4Diagram-AAUBKEIU-C4kjMRea.js +1578 -0
  9. package/dist/c4Diagram-AAUBKEIU-Ck5uEnJI.cjs +10 -0
  10. package/dist/channel-DlRtLuYv.js +5 -0
  11. package/dist/channel-Dm_yrRYJ.cjs +1 -0
  12. package/dist/chunk-2J33WTMH-CG2n_n4y.cjs +1 -0
  13. package/dist/chunk-2J33WTMH-CWvmGb4H.js +20 -0
  14. package/dist/chunk-4BX2VUAB-Bq3GzsD8.js +9 -0
  15. package/dist/chunk-4BX2VUAB-CdMctZeT.cjs +1 -0
  16. package/dist/chunk-55IACEB6-BdJhzL0d.js +8 -0
  17. package/dist/chunk-55IACEB6-sHyHtvg8.cjs +1 -0
  18. package/dist/chunk-727SXJPM-D-Vmam30.cjs +206 -0
  19. package/dist/chunk-727SXJPM-DmruCqjM.js +1529 -0
  20. package/dist/chunk-AQP2D5EJ-CWhKjcV3.cjs +231 -0
  21. package/dist/chunk-AQP2D5EJ-Ca0ak6w7.js +1399 -0
  22. package/dist/chunk-FMBD7UC4-CqV0NWQQ.js +19 -0
  23. package/dist/chunk-FMBD7UC4-DOxtd0OO.cjs +15 -0
  24. package/dist/chunk-ND2GUHAM-6EMX5Mu8.js +68 -0
  25. package/dist/chunk-ND2GUHAM-BXeDBtSC.cjs +1 -0
  26. package/dist/chunk-QZHKN3VN-B7FSI55w.js +15 -0
  27. package/dist/chunk-QZHKN3VN-CbbdNKnD.cjs +1 -0
  28. package/dist/classDiagram-4FO5ZUOK-0Kaf7WfA.js +16 -0
  29. package/dist/classDiagram-4FO5ZUOK-C4it2xBI.cjs +1 -0
  30. package/dist/classDiagram-v2-Q7XG4LA2-Byom5adL.js +16 -0
  31. package/dist/classDiagram-v2-Q7XG4LA2-C4it2xBI.cjs +1 -0
  32. package/dist/cose-bilkent-S5V4N54A-CuUv9oIm.js +2606 -0
  33. package/dist/cose-bilkent-S5V4N54A-Dh6nTopA.cjs +1 -0
  34. package/dist/cytoscape.esm-Cp8cXbK2.js +18729 -0
  35. package/dist/cytoscape.esm-fcqEUasK.cjs +331 -0
  36. package/dist/dagre-BM42HDAG-CwxJjZ2n.cjs +4 -0
  37. package/dist/dagre-BM42HDAG-DMBidMxP.js +448 -0
  38. package/dist/defaultLocale-BDVPUiG2.js +171 -0
  39. package/dist/defaultLocale-k2G_58r6.cjs +1 -0
  40. package/dist/diagram-2AECGRRQ-B2a4nXgJ.js +221 -0
  41. package/dist/diagram-2AECGRRQ-r7De7taS.cjs +43 -0
  42. package/dist/diagram-5GNKFQAL-CDiO79WC.cjs +10 -0
  43. package/dist/diagram-5GNKFQAL-DrHBNZzF.js +123 -0
  44. package/dist/diagram-KO2AKTUF-BcjWCXZr.js +466 -0
  45. package/dist/diagram-KO2AKTUF-CDlJCxVO.cjs +3 -0
  46. package/dist/diagram-LMA3HP47-BXFSAyNV.cjs +24 -0
  47. package/dist/diagram-LMA3HP47-DJxmyqn0.js +143 -0
  48. package/dist/diagram-OG6HWLK6-ATK__ca8.js +531 -0
  49. package/dist/diagram-OG6HWLK6-CgIyEO8_.cjs +24 -0
  50. package/dist/erDiagram-TEJ5UH35-D4baWNzQ.js +900 -0
  51. package/dist/erDiagram-TEJ5UH35-Dyuc5EB6.cjs +85 -0
  52. package/dist/flowDiagram-I6XJVG4X-BMZOncyU.js +1635 -0
  53. package/dist/flowDiagram-I6XJVG4X-C45fICr4.cjs +162 -0
  54. package/dist/ganttDiagram-6RSMTGT7-CiYZmmke.js +2526 -0
  55. package/dist/ganttDiagram-6RSMTGT7-Cxoj6IK8.cjs +292 -0
  56. package/dist/gitGraphDiagram-PVQCEYII-CQ9bNuwN.js +828 -0
  57. package/dist/gitGraphDiagram-PVQCEYII-rlaY9dfj.cjs +106 -0
  58. package/dist/graph-CBizzZ7K.js +1545 -0
  59. package/dist/graph-V5BNIbHU.cjs +1 -0
  60. package/dist/index-jBRold1l.js +173159 -0
  61. package/dist/index-sFrjovbM.cjs +804 -0
  62. package/dist/index.d.ts +54 -0
  63. package/dist/infoDiagram-5YYISTIA-CAzYIvUX.js +24 -0
  64. package/dist/infoDiagram-5YYISTIA-zX5rQglQ.cjs +2 -0
  65. package/dist/init-CHZsXQcr.cjs +1 -0
  66. package/dist/init-DjUOC4st.js +16 -0
  67. package/dist/ishikawaDiagram-YF4QCWOH-09prKBsn.cjs +70 -0
  68. package/dist/ishikawaDiagram-YF4QCWOH-Co8BnN24.js +622 -0
  69. package/dist/journeyDiagram-JHISSGLW-DkdWRF_-.cjs +139 -0
  70. package/dist/journeyDiagram-JHISSGLW-riCLiMCC.js +836 -0
  71. package/dist/kanban-definition-UN3LZRKU-DWipOCsx.cjs +89 -0
  72. package/dist/kanban-definition-UN3LZRKU-SRyCSn2H.js +725 -0
  73. package/dist/katex-Cf_UVKIT.cjs +257 -0
  74. package/dist/katex-RNjvZ8pg.js +11681 -0
  75. package/dist/layout-CbksXFOD.js +1728 -0
  76. package/dist/layout-Dh52gsIJ.cjs +1 -0
  77. package/dist/linear-C3xSMJV8.cjs +1 -0
  78. package/dist/linear-CmUCzX9U.js +259 -0
  79. package/dist/mermaid.core-BzNKr-OJ.cjs +308 -0
  80. package/dist/mermaid.core-CdBIz6FY.js +15475 -0
  81. package/dist/mindmap-definition-RKZ34NQL-Cs63oyIX.cjs +96 -0
  82. package/dist/mindmap-definition-RKZ34NQL-Gcma5iTd.js +830 -0
  83. package/dist/ordinal-CagbB1m8.cjs +1 -0
  84. package/dist/ordinal-DfAQgscy.js +61 -0
  85. package/dist/pieDiagram-4H26LBE5-CBGkD8dp.cjs +30 -0
  86. package/dist/pieDiagram-4H26LBE5-DSL8cVK1.js +164 -0
  87. package/dist/quadrantDiagram-W4KKPZXB-D3nCWRjF.cjs +7 -0
  88. package/dist/quadrantDiagram-W4KKPZXB-uod6bhUy.js +1026 -0
  89. package/dist/requirementDiagram-4Y6WPE33-Bc_6y7SM.js +884 -0
  90. package/dist/requirementDiagram-4Y6WPE33-D2mHlh5i.cjs +84 -0
  91. package/dist/sankeyDiagram-5OEKKPKP-DL_kXejW.cjs +40 -0
  92. package/dist/sankeyDiagram-5OEKKPKP-DMsjY4G4.js +847 -0
  93. package/dist/sequenceDiagram-3UESZ5HK-CBGalGOV.cjs +162 -0
  94. package/dist/sequenceDiagram-3UESZ5HK-CH2Z-Pis.js +2901 -0
  95. package/dist/stateDiagram-AJRCARHV-gEqlAI6t.js +263 -0
  96. package/dist/stateDiagram-AJRCARHV-rNMrAI-A.cjs +1 -0
  97. package/dist/stateDiagram-v2-BHNVJYJU-CDj7L1wi.js +16 -0
  98. package/dist/stateDiagram-v2-BHNVJYJU-LLlFJ1GM.cjs +1 -0
  99. package/dist/timeline-definition-PNZ67QCA-Bbuv3uu-.cjs +120 -0
  100. package/dist/timeline-definition-PNZ67QCA-DrGFbQdC.js +1068 -0
  101. package/dist/types.d.ts +295 -0
  102. package/dist/vennDiagram-CIIHVFJN-CGcAwVxU.js +1564 -0
  103. package/dist/vennDiagram-CIIHVFJN-DsSjXluJ.cjs +34 -0
  104. package/dist/wandox.cjs +1 -0
  105. package/dist/wandox.css +1 -0
  106. package/dist/wandox.js +6 -0
  107. package/dist/wandox.umd.js +4172 -0
  108. package/dist/wardley-L42UT6IY-DUnkyH_z.js +22539 -0
  109. package/dist/wardley-L42UT6IY-tDp0NbFW.cjs +165 -0
  110. package/dist/wardleyDiagram-YWT4CUSO-CB_Qa4lR.js +684 -0
  111. package/dist/wardleyDiagram-YWT4CUSO-D0BUmvVW.cjs +78 -0
  112. package/dist/xychartDiagram-2RQKCTM6-Bcq-ACuw.js +1342 -0
  113. package/dist/xychartDiagram-2RQKCTM6-BjeAPKLo.cjs +7 -0
  114. package/package.json +42 -0
@@ -0,0 +1,466 @@
1
+ import { p as oe } from "./chunk-4BX2VUAB-Bq3GzsD8.js";
2
+ import { a3 as se, b2 as de, a$ as le, $ as ce, a0 as me, b0 as ue, b as o, aB as g, a2 as T, aZ as xe, b6 as fe, t as ge, s as he, a1 as $, Q as pe, aX as P, bl as S, p as be } from "./mermaid.core-CdBIz6FY.js";
3
+ import { p as ve, i as we } from "./wardley-L42UT6IY-DUnkyH_z.js";
4
+ var D = "position frame", N = "frame positioned", M = "position relation", C = "relation positioned", ye = /* @__PURE__ */ o(function(e) {
5
+ g.debug("options str", e);
6
+ }, "setOptions"), Pe = /* @__PURE__ */ o(function() {
7
+ return {};
8
+ }, "getOptions"), Se = /* @__PURE__ */ o(function() {
9
+ O(), ge();
10
+ }, "clear");
11
+ function O() {
12
+ E = {};
13
+ }
14
+ o(O, "reset");
15
+ var ke = pe.eventmodeling, Me = /* @__PURE__ */ o(() => he({
16
+ ...ke,
17
+ ...$().eventmodeling
18
+ }), "getConfig"), E = {};
19
+ function W() {
20
+ let e = Be;
21
+ const { ast: n } = E, t = R();
22
+ if (!n)
23
+ throw new Error("No data for EventModel");
24
+ return n.frames.forEach((a, i) => {
25
+ const r = L(a, n.dataEntities, t);
26
+ e = w(e, {
27
+ $kind: D,
28
+ index: i,
29
+ frame: a,
30
+ textProps: r
31
+ });
32
+ let d;
33
+ Q(a) ? (g.debug("source frame", a.sourceFrames), d = n.frames.filter((l) => a.sourceFrames.some((c) => c.$refText === l.name)), d.forEach((l) => {
34
+ e = w(e, {
35
+ $kind: M,
36
+ index: i,
37
+ frame: a,
38
+ sourceFrame: l
39
+ });
40
+ })) : e = w(e, {
41
+ $kind: M,
42
+ index: i,
43
+ frame: a
44
+ });
45
+ }), e = {
46
+ ...e,
47
+ sortedSwimlanesArray: A(e.swimlanes)
48
+ }, e;
49
+ }
50
+ o(W, "getState");
51
+ function I(e) {
52
+ E.ast = e;
53
+ }
54
+ o(I, "setAst");
55
+ var s = {
56
+ swimlaneMinHeight: 70,
57
+ swimlanePadding: 15,
58
+ swimlaneGap: 10,
59
+ boxPadding: 10,
60
+ boxOverlap: 90,
61
+ boxDefaultY: 0,
62
+ boxMinWidth: 80,
63
+ boxMaxWidth: 450,
64
+ boxMinHeight: 80,
65
+ boxMaxHeight: 750,
66
+ contentStartX: 250,
67
+ textMaxWidth: 450 - 2 * 10,
68
+ boxTextFontWeight: "bold",
69
+ boxTextPadding: 10,
70
+ swimlaneTextFontWeight: "bold",
71
+ labelUiAutomation: "UI/Automation",
72
+ labelUiAutomationPrefix: "UI/A: ",
73
+ labelCommandReadModel: "Command/Read Model",
74
+ labelCommandReadModelPrefix: "C/RM: ",
75
+ labelEvents: "Events",
76
+ labelEventsPrefix: "Stream: "
77
+ };
78
+ function R() {
79
+ return s;
80
+ }
81
+ o(R, "getDiagramProps");
82
+ var Be = {
83
+ boxes: [],
84
+ swimlanes: {},
85
+ relations: [],
86
+ maxR: 0,
87
+ sortedSwimlanesArray: []
88
+ };
89
+ function H(e) {
90
+ const n = e.split(".");
91
+ if (n.length === 2)
92
+ return n[0];
93
+ }
94
+ o(H, "extractNamespace");
95
+ function U(e) {
96
+ const n = e.split(".");
97
+ return n.length === 2 ? n[1] : e;
98
+ }
99
+ o(U, "extractName");
100
+ function V(e, n) {
101
+ if (!(!n || n.length === 0))
102
+ return Object.values(e).find((t) => t.namespace === n);
103
+ }
104
+ o(V, "findSwimlaneByNamespace");
105
+ function v(e, n, t) {
106
+ return Math.max(
107
+ n,
108
+ ...Object.keys(e).filter((a) => {
109
+ const i = Number.parseInt(a);
110
+ return i > n && i < t;
111
+ }).map((a) => Number.parseInt(a))
112
+ ) + 1;
113
+ }
114
+ o(v, "findNextAvailableIndex");
115
+ function X(e, n) {
116
+ const t = H(e.entityIdentifier), a = V(n, t);
117
+ switch (e.modelEntityType) {
118
+ case "ui":
119
+ case "pcr":
120
+ case "processor":
121
+ return a ? {
122
+ index: a.index,
123
+ label: a.namespace || s.labelUiAutomation
124
+ } : t ? {
125
+ index: v(n, 0, 100),
126
+ label: s.labelUiAutomationPrefix + t
127
+ } : { index: 0, label: s.labelUiAutomation };
128
+ case "rmo":
129
+ case "readmodel":
130
+ case "cmd":
131
+ case "command":
132
+ return a ? {
133
+ index: a.index,
134
+ label: a.namespace || s.labelCommandReadModel
135
+ } : t ? {
136
+ index: v(n, 100, 200),
137
+ label: s.labelCommandReadModelPrefix + t
138
+ } : { index: 100, label: s.labelCommandReadModel };
139
+ case "evt":
140
+ case "event":
141
+ default:
142
+ return a ? {
143
+ index: a.index,
144
+ label: a.namespace || s.labelEvents
145
+ } : t ? {
146
+ index: v(n, 200, 300),
147
+ label: s.labelEventsPrefix + t
148
+ } : { index: 200, label: s.labelEvents };
149
+ }
150
+ }
151
+ o(X, "calculateSwimlaneProps");
152
+ function _(e) {
153
+ const { themeVariables: n } = $();
154
+ switch (e.modelEntityType) {
155
+ case "ui":
156
+ return {
157
+ fill: n.emUiFill ?? "white",
158
+ stroke: n.emUiStroke ?? "#dbdada"
159
+ };
160
+ case "pcr":
161
+ case "processor":
162
+ return {
163
+ fill: n.emProcessorFill ?? "#edb3f6",
164
+ stroke: n.emProcessorStroke ?? "#b88cbf"
165
+ };
166
+ case "rmo":
167
+ case "readmodel":
168
+ return {
169
+ fill: n.emReadModelFill ?? "#d3f1a2",
170
+ stroke: n.emReadModelStroke ?? "#a3b732"
171
+ };
172
+ case "cmd":
173
+ case "command":
174
+ return {
175
+ fill: n.emCommandFill ?? "#bcd6fe",
176
+ stroke: n.emCommandStroke ?? "#679ac3"
177
+ };
178
+ case "evt":
179
+ case "event":
180
+ return {
181
+ fill: n.emEventFill ?? "#ffb778",
182
+ stroke: n.emEventStroke ?? "#c19a0f"
183
+ };
184
+ default:
185
+ return {
186
+ fill: "red",
187
+ stroke: "black"
188
+ };
189
+ }
190
+ }
191
+ o(_, "calculateEntityVisualProps");
192
+ function L(e, n, t) {
193
+ const a = $(), i = P(U(e.entityIdentifier) ?? "", a);
194
+ let r;
195
+ const d = {
196
+ fontSize: 16,
197
+ fontWeight: 700,
198
+ fontFamily: '"trebuchet ms", verdana, arial, sans-serif',
199
+ joinWith: "<br/>"
200
+ };
201
+ let c = `<b>${S(i, t.textMaxWidth, d)}</b>`;
202
+ if (e.dataInlineValue && (r = e.dataInlineValue, r = r.substring(r.indexOf("{") + 1), r = r.substring(0, r.lastIndexOf("}") - 1), r = P(r, a), r = S(r, t.textMaxWidth, d), r = r.replaceAll(" ", "&nbsp;")), e.dataReference) {
203
+ const p = n.find(
204
+ (y) => {
205
+ var b;
206
+ return y.name === ((b = e.dataReference) == null ? void 0 : b.$refText);
207
+ }
208
+ );
209
+ p && (r = p.dataBlockValue, r = r.substring(r.indexOf(`{
210
+ `) + 2), r = r.substring(0, r.lastIndexOf("}") - 1), r = P(r, a), r = S(r, t.textMaxWidth, d), r = r.replaceAll(" ", "&nbsp;"), r += "<br/>");
211
+ }
212
+ const m = r !== void 0;
213
+ m && (c += `<br/><br/><code style="text-align: left; display: block;max-width:${t.textMaxWidth}px">${r}</code>`);
214
+ const x = {
215
+ fontSize: d.fontSize,
216
+ fontWeight: d.fontWeight,
217
+ fontFamily: d.fontFamily
218
+ }, u = be(c, x), h = m ? u.width / 3 : u.width, f = {
219
+ content: c,
220
+ width: h,
221
+ height: u.height
222
+ };
223
+ return g.debug(`[${e.name}] ${e.entityIdentifier} text`, f), f;
224
+ }
225
+ o(L, "calculateTextProps");
226
+ function G(e, n) {
227
+ const t = n, a = _(t.frame), i = {
228
+ width: t.textProps.width + 2 * s.boxTextPadding,
229
+ height: t.textProps.height + 2 * s.boxTextPadding
230
+ };
231
+ return [{
232
+ $kind: N,
233
+ frame: t.frame,
234
+ index: t.index,
235
+ visual: a,
236
+ dimension: i,
237
+ textProps: t.textProps
238
+ }];
239
+ }
240
+ o(G, "decidePositionFrame");
241
+ function j(e, n, t) {
242
+ return n === void 0 ? s.contentStartX : n.index === e.index && e.r ? e.r + s.boxPadding : t === void 0 ? s.contentStartX : t.r - s.boxOverlap + s.boxPadding;
243
+ }
244
+ o(j, "calculateX");
245
+ function Y(e, n) {
246
+ const t = [...e.map((a) => a.r), n];
247
+ return Math.max(...t);
248
+ }
249
+ o(Y, "calculateMaxRight");
250
+ function A(e) {
251
+ return Object.values(e).sort((n, t) => n.index - t.index);
252
+ }
253
+ o(A, "sortedSwimlanesArray");
254
+ function z(e, n) {
255
+ const t = n, a = X(t.frame, e.swimlanes);
256
+ let i;
257
+ a.index in e.swimlanes ? i = e.swimlanes[a.index] : i = {
258
+ index: a.index,
259
+ label: a.label,
260
+ r: 0,
261
+ y: a.index * s.swimlaneMinHeight + s.swimlaneGap,
262
+ height: s.swimlaneMinHeight,
263
+ maxHeight: s.swimlaneMinHeight
264
+ };
265
+ const r = e.boxes.length > 0 ? e.boxes[e.boxes.length - 1] : void 0, d = e.previousSwimlaneNumber !== void 0 ? e.swimlanes[e.previousSwimlaneNumber] : void 0, l = {
266
+ width: Math.max(
267
+ s.boxMinWidth,
268
+ Math.min(s.boxMaxWidth, t.dimension.width)
269
+ ) + 2 * s.boxPadding,
270
+ height: Math.max(
271
+ s.boxMinHeight,
272
+ Math.min(s.boxMaxHeight, t.dimension.height)
273
+ ) + 2 * s.boxPadding
274
+ }, c = j(i, d, r), m = c + l.width + s.boxPadding, x = Y(Object.values(e.swimlanes), m);
275
+ i.r = c + l.width, i.maxHeight = Math.max(i.maxHeight, l.height), i.height = Math.max(s.swimlaneMinHeight, i.maxHeight) + 2 * s.swimlanePadding;
276
+ const u = {
277
+ x: c,
278
+ y: s.swimlanePadding + i.y,
279
+ // y: diagramProps.swimlanePadding + (swimlane.y || diagramProps.boxDefaultY),
280
+ r: m,
281
+ dimension: l,
282
+ leftSibling: !1,
283
+ swimlane: i,
284
+ visual: t.visual,
285
+ text: t.textProps.content,
286
+ frame: t.frame,
287
+ index: t.index
288
+ }, h = {
289
+ ...e,
290
+ boxes: [...e.boxes, u],
291
+ swimlanes: {
292
+ ...e.swimlanes,
293
+ [`${i.index}`]: i
294
+ },
295
+ previousSwimlaneNumber: a.index,
296
+ previousFrame: t.frame,
297
+ maxR: x
298
+ }, f = A(h.swimlanes);
299
+ f.length > 0 && (f[0].y = 0);
300
+ for (let p = 1; p < f.length; p++) {
301
+ const y = f[p], b = f[p - 1];
302
+ y.y = b.y + b.height + s.swimlaneGap;
303
+ }
304
+ return h;
305
+ }
306
+ o(z, "evolveFramePositioned");
307
+ function K(e, n) {
308
+ return e === 0 && n.sourceFrames.length === 0;
309
+ }
310
+ o(K, "isFirstFrame");
311
+ function Q(e) {
312
+ return e.sourceFrames !== void 0 && e.sourceFrames !== null && e.sourceFrames.length > 0;
313
+ }
314
+ o(Q, "hasSourceFrame");
315
+ function B(e, n) {
316
+ if (n != null)
317
+ return e.find((t) => t.frame.name === n.name);
318
+ }
319
+ o(B, "findBoxByFrame");
320
+ function Z(e, n, t) {
321
+ if (!(t < 0))
322
+ for (let a = t; a >= 0; a--) {
323
+ const i = e[a];
324
+ if (i.swimlane.index !== n)
325
+ return i;
326
+ }
327
+ }
328
+ o(Z, "findBoxByLineIndex");
329
+ function q(e, n) {
330
+ const t = n;
331
+ if (we(t.frame) || K(t.index, t.frame))
332
+ return [];
333
+ const a = B(e.boxes, t.frame);
334
+ if (a === void 0)
335
+ throw new Error(`Target box not found for frame ${t.frame.name}`);
336
+ let i;
337
+ return t.sourceFrame ? i = B(e.boxes, t.sourceFrame) : i = Z(e.boxes, a.swimlane.index, t.index - 1), i === void 0 ? [] : [{
338
+ $kind: C,
339
+ frame: t.frame,
340
+ index: t.index,
341
+ sourceBox: i,
342
+ targetBox: a
343
+ }];
344
+ }
345
+ o(q, "decidePositionRelation");
346
+ function J(e, n) {
347
+ const t = n, a = {
348
+ visual: {
349
+ fill: "none",
350
+ stroke: "#000"
351
+ },
352
+ source: {
353
+ x: t.sourceBox.x,
354
+ y: t.sourceBox.y
355
+ },
356
+ target: {
357
+ x: t.targetBox.x,
358
+ y: t.targetBox.y
359
+ },
360
+ sourceBox: t.sourceBox,
361
+ targetBox: t.targetBox
362
+ };
363
+ return {
364
+ ...e,
365
+ relations: [...e.relations, a]
366
+ };
367
+ }
368
+ o(J, "evolveRelationPositioned");
369
+ var Fe = {
370
+ [D]: G,
371
+ [M]: q
372
+ }, $e = {
373
+ [N]: z,
374
+ [C]: J
375
+ };
376
+ function ee(e, n) {
377
+ const t = Fe[n.$kind];
378
+ if (t == null)
379
+ return [];
380
+ const a = t(e, n);
381
+ return g.debug("decided events", a), a;
382
+ }
383
+ o(ee, "decide");
384
+ function te(e, n) {
385
+ const t = n.reduce((a, i) => {
386
+ const r = $e[i.$kind];
387
+ return r == null ? a : r(a, i);
388
+ }, e);
389
+ return g.debug("evolve events", { state: e, newState: t, events: n }), t;
390
+ }
391
+ o(te, "evolve");
392
+ function w(e, n) {
393
+ const t = ee(e, n);
394
+ return te(e, t);
395
+ }
396
+ o(w, "dispatch");
397
+ var F = {
398
+ getConfig: Me,
399
+ setOptions: ye,
400
+ getOptions: Pe,
401
+ clear: Se,
402
+ setAccTitle: ue,
403
+ getAccTitle: me,
404
+ getAccDescription: ce,
405
+ setAccDescription: le,
406
+ setDiagramTitle: de,
407
+ getDiagramTitle: se,
408
+ setAst: I,
409
+ getDiagramProps: R,
410
+ getState: W
411
+ }, Ee = {
412
+ parse: /* @__PURE__ */ o(async (e) => {
413
+ const n = await ve("eventmodeling", e);
414
+ g.debug(n), F.setAst(n), oe(n, F);
415
+ }, "parse")
416
+ }, k = T(), Re = k == null ? void 0 : k.eventmodeling;
417
+ function ne(e, n) {
418
+ return (t) => {
419
+ const a = t.swimlane.y + n.swimlanePadding, i = e.append("g").attr("class", "em-box");
420
+ i.append("rect").attr("x", t.x).attr("y", a).attr("rx", "3").attr("width", t.dimension.width).attr("height", t.dimension.height).attr("stroke", t.visual.stroke).attr("fill", t.visual.fill), i.append("foreignObject").attr("x", t.x + n.boxPadding).attr("y", a + 10).attr("width", t.dimension.width - 2 * n.boxPadding).attr("height", t.dimension.height - 2 * n.boxPadding).append("xhtml:div").style("display", "table").style("height", "100%").style("width", "100%").append("span").style("display", "table-cell").style("text-align", "center").style("vertical-align", "middle").html(t.text);
421
+ };
422
+ }
423
+ o(ne, "renderD3Box");
424
+ function ae(e, n) {
425
+ return e > n;
426
+ }
427
+ o(ae, "dirUpwards");
428
+ function ie(e, n, t, a) {
429
+ return (i) => {
430
+ const r = i.sourceBox.swimlane.y + n.swimlanePadding, d = i.targetBox.swimlane.y + n.swimlanePadding, l = ae(r, d), c = i.sourceBox.x + i.sourceBox.dimension.width * 2 / 3, m = i.targetBox.x + i.targetBox.dimension.width / 3;
431
+ let x, u;
432
+ g.debug(`rendering relation up=${l} for `, {
433
+ sourceBox: i.sourceBox,
434
+ targetBox: i.targetBox
435
+ }), l ? (x = r, u = d + i.targetBox.dimension.height) : (x = r + i.sourceBox.dimension.height, u = d);
436
+ const h = a.emRelationStroke ?? i.visual.stroke;
437
+ e.append("path").attr("class", "em-relation").attr("fill", i.visual.fill).attr("stroke", h).attr("stroke-width", "1").attr("marker-end", `url(#${t})`).attr("d", `M${c} ${x} L${m} ${u}`);
438
+ };
439
+ }
440
+ o(ie, "renderD3Relation");
441
+ function re(e, n, t, a) {
442
+ return (i) => {
443
+ const r = e.append("g").attr("class", "em-swimlane"), d = a.emSwimlaneBackgroundOdd ?? "rgb(250,250,250)", l = a.emSwimlaneBackgroundStroke ?? "rgb(240,240,240)";
444
+ r.append("rect").attr("x", 0).attr("y", i.y).attr("rx", "3").attr("width", n + t.swimlanePadding).attr("height", i.height).attr("fill", d).attr("stroke", l), r.append("text").attr("font-weight", t.swimlaneTextFontWeight).attr("x", 30).attr("y", i.y + 30).text(i.label);
445
+ };
446
+ }
447
+ o(re, "renderD3Swimlane");
448
+ var Ae = /* @__PURE__ */ o(function(e, n, t, a) {
449
+ if (g.debug("in eventmodeling renderer", e + `
450
+ `, "id:", n, t), !Re)
451
+ throw new Error("EventModeling config not found");
452
+ const i = a.db, { themeVariables: r, eventmodeling: d } = T(), l = xe(`[id="${n}"]`), c = i.getDiagramProps(), m = i.getState(), x = `em-arrowhead-${n}`, u = r.emArrowhead ?? "#000000";
453
+ m.sortedSwimlanesArray.forEach(
454
+ re(l, m.maxR, c, r)
455
+ ), m.boxes.forEach(ne(l, c)), m.relations.forEach(ie(l, c, x, r)), l.append("defs").append("marker").attr("id", x).attr("markerWidth", "10").attr("markerHeight", "7").attr("refX", "10").attr("refY", "3.5").attr("orient", "auto").append("polygon").attr("points", "0 0, 10 3.5, 0 7").attr("fill", u), fe(void 0, l, (d == null ? void 0 : d.padding) ?? 30, d == null ? void 0 : d.useMaxWidth);
456
+ }, "draw"), Te = {
457
+ draw: Ae
458
+ }, De = /* @__PURE__ */ o((e) => "", "getStyles"), Ne = De, Ie = {
459
+ parser: Ee,
460
+ db: F,
461
+ renderer: Te,
462
+ styles: Ne
463
+ };
464
+ export {
465
+ Ie as diagram
466
+ };
@@ -0,0 +1,3 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const ne=require("./chunk-4BX2VUAB-CdMctZeT.cjs"),a=require("./mermaid.core-BzNKr-OJ.cjs"),F=require("./wardley-L42UT6IY-tDp0NbFW.cjs");var E="position frame",$="frame positioned",y="position relation",A="relation positioned",ae=a.__name(function(e){a.log.debug("options str",e)},"setOptions"),ie=a.__name(function(){return{}},"getOptions"),re=a.__name(function(){T(),a.clear()},"clear");function T(){k={}}a.__name(T,"reset");var oe=a.defaultConfig_default.eventmodeling,se=a.__name(()=>a.cleanAndMerge({...oe,...a.getConfig().eventmodeling}),"getConfig"),k={};function R(){let e=le;const{ast:n}=k,t=M();if(!n)throw new Error("No data for EventModel");return n.frames.forEach((i,r)=>{const o=H(i,n.dataEntities,t);e=v(e,{$kind:E,index:r,frame:i,textProps:o});let l;G(i)?(a.log.debug("source frame",i.sourceFrames),l=n.frames.filter(d=>i.sourceFrames.some(c=>c.$refText===d.name)),l.forEach(d=>{e=v(e,{$kind:y,index:r,frame:i,sourceFrame:d})})):e=v(e,{$kind:y,index:r,frame:i})}),e={...e,sortedSwimlanesArray:B(e.swimlanes)},e}a.__name(R,"getState");function D(e){k.ast=e}a.__name(D,"setAst");var s={swimlaneMinHeight:70,swimlanePadding:15,swimlaneGap:10,boxPadding:10,boxOverlap:90,boxDefaultY:0,boxMinWidth:80,boxMaxWidth:450,boxMinHeight:80,boxMaxHeight:750,contentStartX:250,textMaxWidth:450-2*10,boxTextFontWeight:"bold",boxTextPadding:10,swimlaneTextFontWeight:"bold",labelUiAutomation:"UI/Automation",labelUiAutomationPrefix:"UI/A: ",labelCommandReadModel:"Command/Read Model",labelCommandReadModelPrefix:"C/RM: ",labelEvents:"Events",labelEventsPrefix:"Stream: "};function M(){return s}a.__name(M,"getDiagramProps");var le={boxes:[],swimlanes:{},relations:[],maxR:0,sortedSwimlanesArray:[]};function C(e){const n=e.split(".");if(n.length===2)return n[0]}a.__name(C,"extractNamespace");function N(e){const n=e.split(".");return n.length===2?n[1]:e}a.__name(N,"extractName");function O(e,n){if(!(!n||n.length===0))return Object.values(e).find(t=>t.namespace===n)}a.__name(O,"findSwimlaneByNamespace");function p(e,n,t){return Math.max(n,...Object.keys(e).filter(i=>{const r=Number.parseInt(i);return r>n&&r<t}).map(i=>Number.parseInt(i)))+1}a.__name(p,"findNextAvailableIndex");function W(e,n){const t=C(e.entityIdentifier),i=O(n,t);switch(e.modelEntityType){case"ui":case"pcr":case"processor":return i?{index:i.index,label:i.namespace||s.labelUiAutomation}:t?{index:p(n,0,100),label:s.labelUiAutomationPrefix+t}:{index:0,label:s.labelUiAutomation};case"rmo":case"readmodel":case"cmd":case"command":return i?{index:i.index,label:i.namespace||s.labelCommandReadModel}:t?{index:p(n,100,200),label:s.labelCommandReadModelPrefix+t}:{index:100,label:s.labelCommandReadModel};case"evt":case"event":default:return i?{index:i.index,label:i.namespace||s.labelEvents}:t?{index:p(n,200,300),label:s.labelEventsPrefix+t}:{index:200,label:s.labelEvents}}}a.__name(W,"calculateSwimlaneProps");function I(e){const{themeVariables:n}=a.getConfig();switch(e.modelEntityType){case"ui":return{fill:n.emUiFill??"white",stroke:n.emUiStroke??"#dbdada"};case"pcr":case"processor":return{fill:n.emProcessorFill??"#edb3f6",stroke:n.emProcessorStroke??"#b88cbf"};case"rmo":case"readmodel":return{fill:n.emReadModelFill??"#d3f1a2",stroke:n.emReadModelStroke??"#a3b732"};case"cmd":case"command":return{fill:n.emCommandFill??"#bcd6fe",stroke:n.emCommandStroke??"#679ac3"};case"evt":case"event":return{fill:n.emEventFill??"#ffb778",stroke:n.emEventStroke??"#c19a0f"};default:return{fill:"red",stroke:"black"}}}a.__name(I,"calculateEntityVisualProps");function H(e,n,t){const i=a.getConfig(),r=a.sanitizeText(N(e.entityIdentifier)??"",i);let o;const l={fontSize:16,fontWeight:700,fontFamily:'"trebuchet ms", verdana, arial, sans-serif',joinWith:"<br/>"};let c=`<b>${a.wrapLabel(r,t.textMaxWidth,l)}</b>`;if(e.dataInlineValue&&(o=e.dataInlineValue,o=o.substring(o.indexOf("{")+1),o=o.substring(0,o.lastIndexOf("}")-1),o=a.sanitizeText(o,i),o=a.wrapLabel(o,t.textMaxWidth,l),o=o.replaceAll(" ","&nbsp;")),e.dataReference){const h=n.find(w=>{var b;return w.name===((b=e.dataReference)==null?void 0:b.$refText)});h&&(o=h.dataBlockValue,o=o.substring(o.indexOf(`{
2
+ `)+2),o=o.substring(0,o.lastIndexOf("}")-1),o=a.sanitizeText(o,i),o=a.wrapLabel(o,t.textMaxWidth,l),o=o.replaceAll(" ","&nbsp;"),o+="<br/>")}const m=o!==void 0;m&&(c+=`<br/><br/><code style="text-align: left; display: block;max-width:${t.textMaxWidth}px">${o}</code>`);const x={fontSize:l.fontSize,fontWeight:l.fontWeight,fontFamily:l.fontFamily},u=a.calculateTextDimensions(c,x),f=m?u.width/3:u.width,g={content:c,width:f,height:u.height};return a.log.debug(`[${e.name}] ${e.entityIdentifier} text`,g),g}a.__name(H,"calculateTextProps");function U(e,n){const t=n,i=I(t.frame),r={width:t.textProps.width+2*s.boxTextPadding,height:t.textProps.height+2*s.boxTextPadding};return[{$kind:$,frame:t.frame,index:t.index,visual:i,dimension:r,textProps:t.textProps}]}a.__name(U,"decidePositionFrame");function L(e,n,t){return n===void 0?s.contentStartX:n.index===e.index&&e.r?e.r+s.boxPadding:t===void 0?s.contentStartX:t.r-s.boxOverlap+s.boxPadding}a.__name(L,"calculateX");function V(e,n){const t=[...e.map(i=>i.r),n];return Math.max(...t)}a.__name(V,"calculateMaxRight");function B(e){return Object.values(e).sort((n,t)=>n.index-t.index)}a.__name(B,"sortedSwimlanesArray");function X(e,n){const t=n,i=W(t.frame,e.swimlanes);let r;i.index in e.swimlanes?r=e.swimlanes[i.index]:r={index:i.index,label:i.label,r:0,y:i.index*s.swimlaneMinHeight+s.swimlaneGap,height:s.swimlaneMinHeight,maxHeight:s.swimlaneMinHeight};const o=e.boxes.length>0?e.boxes[e.boxes.length-1]:void 0,l=e.previousSwimlaneNumber!==void 0?e.swimlanes[e.previousSwimlaneNumber]:void 0,d={width:Math.max(s.boxMinWidth,Math.min(s.boxMaxWidth,t.dimension.width))+2*s.boxPadding,height:Math.max(s.boxMinHeight,Math.min(s.boxMaxHeight,t.dimension.height))+2*s.boxPadding},c=L(r,l,o),m=c+d.width+s.boxPadding,x=V(Object.values(e.swimlanes),m);r.r=c+d.width,r.maxHeight=Math.max(r.maxHeight,d.height),r.height=Math.max(s.swimlaneMinHeight,r.maxHeight)+2*s.swimlanePadding;const u={x:c,y:s.swimlanePadding+r.y,r:m,dimension:d,leftSibling:!1,swimlane:r,visual:t.visual,text:t.textProps.content,frame:t.frame,index:t.index},f={...e,boxes:[...e.boxes,u],swimlanes:{...e.swimlanes,[`${r.index}`]:r},previousSwimlaneNumber:i.index,previousFrame:t.frame,maxR:x},g=B(f.swimlanes);g.length>0&&(g[0].y=0);for(let h=1;h<g.length;h++){const w=g[h],b=g[h-1];w.y=b.y+b.height+s.swimlaneGap}return f}a.__name(X,"evolveFramePositioned");function j(e,n){return e===0&&n.sourceFrames.length===0}a.__name(j,"isFirstFrame");function G(e){return e.sourceFrames!==void 0&&e.sourceFrames!==null&&e.sourceFrames.length>0}a.__name(G,"hasSourceFrame");function P(e,n){if(n!=null)return e.find(t=>t.frame.name===n.name)}a.__name(P,"findBoxByFrame");function Y(e,n,t){if(!(t<0))for(let i=t;i>=0;i--){const r=e[i];if(r.swimlane.index!==n)return r}}a.__name(Y,"findBoxByLineIndex");function z(e,n){const t=n;if(F.isEmResetFrame(t.frame)||j(t.index,t.frame))return[];const i=P(e.boxes,t.frame);if(i===void 0)throw new Error(`Target box not found for frame ${t.frame.name}`);let r;return t.sourceFrame?r=P(e.boxes,t.sourceFrame):r=Y(e.boxes,i.swimlane.index,t.index-1),r===void 0?[]:[{$kind:A,frame:t.frame,index:t.index,sourceBox:r,targetBox:i}]}a.__name(z,"decidePositionRelation");function K(e,n){const t=n,i={visual:{fill:"none",stroke:"#000"},source:{x:t.sourceBox.x,y:t.sourceBox.y},target:{x:t.targetBox.x,y:t.targetBox.y},sourceBox:t.sourceBox,targetBox:t.targetBox};return{...e,relations:[...e.relations,i]}}a.__name(K,"evolveRelationPositioned");var de={[E]:U,[y]:z},ce={[$]:X,[A]:K};function q(e,n){const t=de[n.$kind];if(t==null)return[];const i=t(e,n);return a.log.debug("decided events",i),i}a.__name(q,"decide");function J(e,n){const t=n.reduce((i,r)=>{const o=ce[r.$kind];return o==null?i:o(i,r)},e);return a.log.debug("evolve events",{state:e,newState:t,events:n}),t}a.__name(J,"evolve");function v(e,n){const t=q(e,n);return J(e,t)}a.__name(v,"dispatch");var S={getConfig:se,setOptions:ae,getOptions:ie,clear:re,setAccTitle:a.setAccTitle,getAccTitle:a.getAccTitle,getAccDescription:a.getAccDescription,setAccDescription:a.setAccDescription,setDiagramTitle:a.setDiagramTitle,getDiagramTitle:a.getDiagramTitle,setAst:D,getDiagramProps:M,getState:R},me={parse:a.__name(async e=>{const n=await F.parse("eventmodeling",e);a.log.debug(n),S.setAst(n),ne.populateCommonDb(n,S)},"parse")},_=a.getConfig2(),ue=_==null?void 0:_.eventmodeling;function Q(e,n){return t=>{const i=t.swimlane.y+n.swimlanePadding,r=e.append("g").attr("class","em-box");r.append("rect").attr("x",t.x).attr("y",i).attr("rx","3").attr("width",t.dimension.width).attr("height",t.dimension.height).attr("stroke",t.visual.stroke).attr("fill",t.visual.fill),r.append("foreignObject").attr("x",t.x+n.boxPadding).attr("y",i+10).attr("width",t.dimension.width-2*n.boxPadding).attr("height",t.dimension.height-2*n.boxPadding).append("xhtml:div").style("display","table").style("height","100%").style("width","100%").append("span").style("display","table-cell").style("text-align","center").style("vertical-align","middle").html(t.text)}}a.__name(Q,"renderD3Box");function Z(e,n){return e>n}a.__name(Z,"dirUpwards");function ee(e,n,t,i){return r=>{const o=r.sourceBox.swimlane.y+n.swimlanePadding,l=r.targetBox.swimlane.y+n.swimlanePadding,d=Z(o,l),c=r.sourceBox.x+r.sourceBox.dimension.width*2/3,m=r.targetBox.x+r.targetBox.dimension.width/3;let x,u;a.log.debug(`rendering relation up=${d} for `,{sourceBox:r.sourceBox,targetBox:r.targetBox}),d?(x=o,u=l+r.targetBox.dimension.height):(x=o+r.sourceBox.dimension.height,u=l);const f=i.emRelationStroke??r.visual.stroke;e.append("path").attr("class","em-relation").attr("fill",r.visual.fill).attr("stroke",f).attr("stroke-width","1").attr("marker-end",`url(#${t})`).attr("d",`M${c} ${x} L${m} ${u}`)}}a.__name(ee,"renderD3Relation");function te(e,n,t,i){return r=>{const o=e.append("g").attr("class","em-swimlane"),l=i.emSwimlaneBackgroundOdd??"rgb(250,250,250)",d=i.emSwimlaneBackgroundStroke??"rgb(240,240,240)";o.append("rect").attr("x",0).attr("y",r.y).attr("rx","3").attr("width",n+t.swimlanePadding).attr("height",r.height).attr("fill",l).attr("stroke",d),o.append("text").attr("font-weight",t.swimlaneTextFontWeight).attr("x",30).attr("y",r.y+30).text(r.label)}}a.__name(te,"renderD3Swimlane");var xe=a.__name(function(e,n,t,i){if(a.log.debug("in eventmodeling renderer",e+`
3
+ `,"id:",n,t),!ue)throw new Error("EventModeling config not found");const r=i.db,{themeVariables:o,eventmodeling:l}=a.getConfig2(),d=a.select(`[id="${n}"]`),c=r.getDiagramProps(),m=r.getState(),x=`em-arrowhead-${n}`,u=o.emArrowhead??"#000000";m.sortedSwimlanesArray.forEach(te(d,m.maxR,c,o)),m.boxes.forEach(Q(d,c)),m.relations.forEach(ee(d,c,x,o)),d.append("defs").append("marker").attr("id",x).attr("markerWidth","10").attr("markerHeight","7").attr("refX","10").attr("refY","3.5").attr("orient","auto").append("polygon").attr("points","0 0, 10 3.5, 0 7").attr("fill",u),a.setupGraphViewbox2(void 0,d,(l==null?void 0:l.padding)??30,l==null?void 0:l.useMaxWidth)},"draw"),ge={draw:xe},fe=a.__name(e=>"","getStyles"),he=fe,be={parser:me,db:S,renderer:ge,styles:he};exports.diagram=be;
@@ -0,0 +1,24 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("./mermaid.core-BzNKr-OJ.cjs"),$=require("./chunk-4BX2VUAB-CdMctZeT.cjs"),x=require("./wardley-L42UT6IY-tDp0NbFW.cjs");var B=a.defaultConfig_default.packet,b,m=(b=class{constructor(){this.packet=[],this.setAccTitle=a.setAccTitle,this.getAccTitle=a.getAccTitle,this.setDiagramTitle=a.setDiagramTitle,this.getDiagramTitle=a.getDiagramTitle,this.getAccDescription=a.getAccDescription,this.setAccDescription=a.setAccDescription}getConfig(){const t=a.cleanAndMerge({...B,...a.getConfig().packet});return t.showBits&&(t.paddingY+=10),t}getPacket(){return this.packet}pushWord(t){t.length>0&&this.packet.push(t)}clear(){a.clear(),this.packet=[]}},a.__name(b,"PacketDB"),b),C=1e4,_=a.__name((e,t)=>{$.populateCommonDb(e,t);let i=-1,o=[],l=1;const{bitsPerRow:c}=t.getConfig();for(let{start:r,end:n,bits:p,label:d}of e.blocks){if(r!==void 0&&n!==void 0&&n<r)throw new Error(`Packet block ${r} - ${n} is invalid. End must be greater than start.`);if(r??(r=i+1),r!==i+1)throw new Error(`Packet block ${r} - ${n??r} is not contiguous. It should start from ${i+1}.`);if(p===0)throw new Error(`Packet block ${r} is invalid. Cannot have a zero bit field.`);for(n??(n=r+(p??1)-1),p??(p=n-r+1),i=n,a.log.debug(`Packet block ${r} - ${i} with label ${d}`);o.length<=c+1&&t.getPacket().length<C;){const[g,s]=S({start:r,end:n,bits:p,label:d},l,c);if(o.push(g),g.end+1===l*c&&(t.pushWord(o),o=[],l++),!s)break;({start:r,end:n,bits:p,label:d}=s)}}t.pushWord(o)},"populate"),S=a.__name((e,t,i)=>{if(e.start===void 0)throw new Error("start should have been set during first phase");if(e.end===void 0)throw new Error("end should have been set during first phase");if(e.start>e.end)throw new Error(`Block start ${e.start} is greater than block end ${e.end}.`);if(e.end+1<=t*i)return[e,void 0];const o=t*i-1,l=t*i;return[{start:e.start,end:o,label:e.label,bits:o-e.start},{start:l,end:e.end,label:e.label,bits:e.end-l}]},"getNextFittingBlock"),w={parser:{yy:void 0},parse:a.__name(async e=>{var o;const t=await x.parse("packet",e),i=(o=w.parser)==null?void 0:o.yy;if(!(i instanceof m))throw new Error("parser.parser?.yy was not a PacketDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");a.log.debug(t),_(t,i)},"parse")},T=a.__name((e,t,i,o)=>{const l=o.db,c=l.getConfig(),{rowHeight:r,paddingY:n,bitWidth:p,bitsPerRow:d}=c,g=l.getPacket(),s=l.getDiagramTitle(),k=r+n,h=k*(g.length+1)-(s?0:r),f=p*d+2,u=a.selectSvgElement(t);u.attr("viewBox",`0 0 ${f} ${h}`),a.configureSvgSize(u,h,f,c.useMaxWidth);for(const[v,y]of g.entries())D(u,y,v,c);u.append("text").text(s).attr("x",f/2).attr("y",h-k/2).attr("dominant-baseline","middle").attr("text-anchor","middle").attr("class","packetTitle")},"draw"),D=a.__name((e,t,i,{rowHeight:o,paddingX:l,paddingY:c,bitWidth:r,bitsPerRow:n,showBits:p})=>{const d=e.append("g"),g=i*(o+c)+c;for(const s of t){const k=s.start%n*r+1,h=(s.end-s.start+1)*r-l;if(d.append("rect").attr("x",k).attr("y",g).attr("width",h).attr("height",o).attr("class","packetBlock"),d.append("text").attr("x",k+h/2).attr("y",g+o/2).attr("class","packetLabel").attr("dominant-baseline","middle").attr("text-anchor","middle").text(s.label),!p)continue;const f=s.end===s.start,u=g-2;d.append("text").attr("x",k+(f?h/2:0)).attr("y",u).attr("class","packetByte start").attr("dominant-baseline","auto").attr("text-anchor",f?"middle":"start").text(s.start),f||d.append("text").attr("x",k+h).attr("y",u).attr("class","packetByte end").attr("dominant-baseline","auto").attr("text-anchor","end").text(s.end)}},"drawWord"),P={draw:T},A={byteFontSize:"10px",startByteColor:"black",endByteColor:"black",labelColor:"black",labelFontSize:"12px",titleColor:"black",titleFontSize:"14px",blockStrokeColor:"black",blockStrokeWidth:"1",blockFillColor:"#efefef"},z=a.__name(({packet:e}={})=>{const t=a.cleanAndMerge(A,e);return`
2
+ .packetByte {
3
+ font-size: ${t.byteFontSize};
4
+ }
5
+ .packetByte.start {
6
+ fill: ${t.startByteColor};
7
+ }
8
+ .packetByte.end {
9
+ fill: ${t.endByteColor};
10
+ }
11
+ .packetLabel {
12
+ fill: ${t.labelColor};
13
+ font-size: ${t.labelFontSize};
14
+ }
15
+ .packetTitle {
16
+ fill: ${t.titleColor};
17
+ font-size: ${t.titleFontSize};
18
+ }
19
+ .packetBlock {
20
+ stroke: ${t.blockStrokeColor};
21
+ stroke-width: ${t.blockStrokeWidth};
22
+ fill: ${t.blockFillColor};
23
+ }
24
+ `},"styles"),E={parser:w,get db(){return new m},renderer:P,styles:z};exports.diagram=E;
@@ -0,0 +1,143 @@
1
+ import { b, s as m, a_ as B, E as C, aB as w, b0 as S, a0 as D, b2 as T, a3 as E, $ as P, a$ as z, a1 as F, Q as A, t as W } from "./mermaid.core-CdBIz6FY.js";
2
+ import { p as _ } from "./chunk-4BX2VUAB-Bq3GzsD8.js";
3
+ import { p as N } from "./wardley-L42UT6IY-DUnkyH_z.js";
4
+ var L = A.packet, u, $ = (u = class {
5
+ constructor() {
6
+ this.packet = [], this.setAccTitle = S, this.getAccTitle = D, this.setDiagramTitle = T, this.getDiagramTitle = E, this.getAccDescription = P, this.setAccDescription = z;
7
+ }
8
+ getConfig() {
9
+ const t = m({
10
+ ...L,
11
+ ...F().packet
12
+ });
13
+ return t.showBits && (t.paddingY += 10), t;
14
+ }
15
+ getPacket() {
16
+ return this.packet;
17
+ }
18
+ pushWord(t) {
19
+ t.length > 0 && this.packet.push(t);
20
+ }
21
+ clear() {
22
+ W(), this.packet = [];
23
+ }
24
+ }, b(u, "PacketDB"), u), M = 1e4, Y = /* @__PURE__ */ b((e, t) => {
25
+ _(e, t);
26
+ let s = -1, r = [], n = 1;
27
+ const { bitsPerRow: l } = t.getConfig();
28
+ for (let { start: a, end: i, bits: d, label: c } of e.blocks) {
29
+ if (a !== void 0 && i !== void 0 && i < a)
30
+ throw new Error(`Packet block ${a} - ${i} is invalid. End must be greater than start.`);
31
+ if (a ?? (a = s + 1), a !== s + 1)
32
+ throw new Error(
33
+ `Packet block ${a} - ${i ?? a} is not contiguous. It should start from ${s + 1}.`
34
+ );
35
+ if (d === 0)
36
+ throw new Error(`Packet block ${a} is invalid. Cannot have a zero bit field.`);
37
+ for (i ?? (i = a + (d ?? 1) - 1), d ?? (d = i - a + 1), s = i, w.debug(`Packet block ${a} - ${s} with label ${c}`); r.length <= l + 1 && t.getPacket().length < M; ) {
38
+ const [p, o] = I({ start: a, end: i, bits: d, label: c }, n, l);
39
+ if (r.push(p), p.end + 1 === n * l && (t.pushWord(r), r = [], n++), !o)
40
+ break;
41
+ ({ start: a, end: i, bits: d, label: c } = o);
42
+ }
43
+ }
44
+ t.pushWord(r);
45
+ }, "populate"), I = /* @__PURE__ */ b((e, t, s) => {
46
+ if (e.start === void 0)
47
+ throw new Error("start should have been set during first phase");
48
+ if (e.end === void 0)
49
+ throw new Error("end should have been set during first phase");
50
+ if (e.start > e.end)
51
+ throw new Error(`Block start ${e.start} is greater than block end ${e.end}.`);
52
+ if (e.end + 1 <= t * s)
53
+ return [e, void 0];
54
+ const r = t * s - 1, n = t * s;
55
+ return [
56
+ {
57
+ start: e.start,
58
+ end: r,
59
+ label: e.label,
60
+ bits: r - e.start
61
+ },
62
+ {
63
+ start: n,
64
+ end: e.end,
65
+ label: e.label,
66
+ bits: e.end - n
67
+ }
68
+ ];
69
+ }, "getNextFittingBlock"), v = {
70
+ // @ts-expect-error - PacketDB is not assignable to DiagramDB
71
+ parser: { yy: void 0 },
72
+ parse: /* @__PURE__ */ b(async (e) => {
73
+ var r;
74
+ const t = await N("packet", e), s = (r = v.parser) == null ? void 0 : r.yy;
75
+ if (!(s instanceof $))
76
+ throw new Error(
77
+ "parser.parser?.yy was not a PacketDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues."
78
+ );
79
+ w.debug(t), Y(t, s);
80
+ }, "parse")
81
+ }, O = /* @__PURE__ */ b((e, t, s, r) => {
82
+ const n = r.db, l = n.getConfig(), { rowHeight: a, paddingY: i, bitWidth: d, bitsPerRow: c } = l, p = n.getPacket(), o = n.getDiagramTitle(), h = a + i, g = h * (p.length + 1) - (o ? 0 : a), k = d * c + 2, f = B(t);
83
+ f.attr("viewBox", `0 0 ${k} ${g}`), C(f, g, k, l.useMaxWidth);
84
+ for (const [x, y] of p.entries())
85
+ j(f, y, x, l);
86
+ f.append("text").text(o).attr("x", k / 2).attr("y", g - h / 2).attr("dominant-baseline", "middle").attr("text-anchor", "middle").attr("class", "packetTitle");
87
+ }, "draw"), j = /* @__PURE__ */ b((e, t, s, { rowHeight: r, paddingX: n, paddingY: l, bitWidth: a, bitsPerRow: i, showBits: d }) => {
88
+ const c = e.append("g"), p = s * (r + l) + l;
89
+ for (const o of t) {
90
+ const h = o.start % i * a + 1, g = (o.end - o.start + 1) * a - n;
91
+ if (c.append("rect").attr("x", h).attr("y", p).attr("width", g).attr("height", r).attr("class", "packetBlock"), c.append("text").attr("x", h + g / 2).attr("y", p + r / 2).attr("class", "packetLabel").attr("dominant-baseline", "middle").attr("text-anchor", "middle").text(o.label), !d)
92
+ continue;
93
+ const k = o.end === o.start, f = p - 2;
94
+ c.append("text").attr("x", h + (k ? g / 2 : 0)).attr("y", f).attr("class", "packetByte start").attr("dominant-baseline", "auto").attr("text-anchor", k ? "middle" : "start").text(o.start), k || c.append("text").attr("x", h + g).attr("y", f).attr("class", "packetByte end").attr("dominant-baseline", "auto").attr("text-anchor", "end").text(o.end);
95
+ }
96
+ }, "drawWord"), G = { draw: O }, H = {
97
+ byteFontSize: "10px",
98
+ startByteColor: "black",
99
+ endByteColor: "black",
100
+ labelColor: "black",
101
+ labelFontSize: "12px",
102
+ titleColor: "black",
103
+ titleFontSize: "14px",
104
+ blockStrokeColor: "black",
105
+ blockStrokeWidth: "1",
106
+ blockFillColor: "#efefef"
107
+ }, K = /* @__PURE__ */ b(({ packet: e } = {}) => {
108
+ const t = m(H, e);
109
+ return `
110
+ .packetByte {
111
+ font-size: ${t.byteFontSize};
112
+ }
113
+ .packetByte.start {
114
+ fill: ${t.startByteColor};
115
+ }
116
+ .packetByte.end {
117
+ fill: ${t.endByteColor};
118
+ }
119
+ .packetLabel {
120
+ fill: ${t.labelColor};
121
+ font-size: ${t.labelFontSize};
122
+ }
123
+ .packetTitle {
124
+ fill: ${t.titleColor};
125
+ font-size: ${t.titleFontSize};
126
+ }
127
+ .packetBlock {
128
+ stroke: ${t.blockStrokeColor};
129
+ stroke-width: ${t.blockStrokeWidth};
130
+ fill: ${t.blockFillColor};
131
+ }
132
+ `;
133
+ }, "styles"), X = {
134
+ parser: v,
135
+ get db() {
136
+ return new $();
137
+ },
138
+ renderer: G,
139
+ styles: K
140
+ };
141
+ export {
142
+ X as diagram
143
+ };