@draftably/editor 0.1.0 → 0.3.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 (104) hide show
  1. package/README.md +4 -5
  2. package/dist/assets/engine.worker-BY9GKt7x.js +7505 -0
  3. package/dist/element.js +1 -1
  4. package/dist/index.js +20202 -2
  5. package/dist/types/src/cli/raster-fonts.d.ts +3 -0
  6. package/dist/types/src/components/controls.d.ts +8 -5
  7. package/dist/types/src/dsl/compile.d.ts +13 -0
  8. package/dist/types/src/dsl/corridors.d.ts +38 -0
  9. package/dist/types/src/model/types.d.ts +9 -0
  10. package/dist/types/src/state/canvas-commands.d.ts +169 -0
  11. package/dist/types/src/state/canvas-keyboard.d.ts +15 -0
  12. package/dist/types/src/state/links.d.ts +4 -1
  13. package/dist/types/src/state/workspace.d.ts +3 -0
  14. package/package.json +1 -1
  15. package/dist/assets/engine.worker-DmHew5f6.js +0 -6813
  16. package/dist/assets/import-d2.worker-CnXfFXoa.js +0 -5395
  17. package/dist/chunks/abnfDiagram-WEYOIA3C-llcpthp5.js +0 -87
  18. package/dist/chunks/arc-rJj0TtXf.js +0 -83
  19. package/dist/chunks/architectureDiagram-ZHVYKT53-CfiXg0Lk.js +0 -4781
  20. package/dist/chunks/blockDiagram-RJAE7QA3-CO-14jWz.js +0 -1440
  21. package/dist/chunks/browser-iNhbPsGc.js +0 -40
  22. package/dist/chunks/c4Diagram-XDPPPE54-DYKuxA4n.js +0 -1524
  23. package/dist/chunks/channel-qMvPU6eH.js +0 -5
  24. package/dist/chunks/chunk-2E7WHVMD-BEZwsFS3.js +0 -670
  25. package/dist/chunks/chunk-2Q5K7J3B-gqtzQ8ux.js +0 -18
  26. package/dist/chunks/chunk-4EMNKR2T-MC54CXVe.js +0 -262
  27. package/dist/chunks/chunk-55XCU76K-DkZUAaqC.js +0 -68
  28. package/dist/chunks/chunk-5VM5RSS4-CaKe4sjM.js +0 -19
  29. package/dist/chunks/chunk-JWPE2WC7-CnAFS2xF.js +0 -8
  30. package/dist/chunks/chunk-VQ5W62QI-CXRv7FiX.js +0 -19
  31. package/dist/chunks/chunk-XXDRQBXY-B-AMQgD2.js +0 -8
  32. package/dist/chunks/chunk-ZCHMQSOR-BALpdc3g.js +0 -451
  33. package/dist/chunks/classDiagram-v2-4MYWR3UA-wPjgJTg4.js +0 -1570
  34. package/dist/chunks/cose-bilkent-JH36ORCC-Bbh5ggBc.js +0 -2608
  35. package/dist/chunks/cynefin-EF2NZ3EQ-Bt6b88hY.js +0 -22361
  36. package/dist/chunks/cynefinDiagram-WF24UDRP-BHWZvxoF.js +0 -299
  37. package/dist/chunks/cytoscape.esm-CRsF_JA3.js +0 -18791
  38. package/dist/chunks/dagre-NK4GIZVX-Cz37yPrT.js +0 -2157
  39. package/dist/chunks/defaultLocale-BgPVtth8.js +0 -171
  40. package/dist/chunks/diagram-CBK3MWTC-Q2R6FJ0B.js +0 -531
  41. package/dist/chunks/diagram-I5XIIV2D-a2Kdu_wA.js +0 -153
  42. package/dist/chunks/diagram-ODIL2UCW-DTWXxcOn.js +0 -346
  43. package/dist/chunks/diagram-PFBEJUXE-DIAQQ5KX.js +0 -480
  44. package/dist/chunks/diagram-RJA3I4VV-BPD0GghS.js +0 -219
  45. package/dist/chunks/diagram-TYUNFSNR-BmdkONfG.js +0 -2586
  46. package/dist/chunks/dot-importer-B23jwEkx.js +0 -1547
  47. package/dist/chunks/ebnfDiagram-V4P3TTPT-C5IKvYlb.js +0 -109
  48. package/dist/chunks/elk-QONTBCTQ-CtdQFvh2.js +0 -49229
  49. package/dist/chunks/erDiagram-KYQIGQAA-5wguK9Dx.js +0 -1064
  50. package/dist/chunks/flowDiagram-IUGLLWBU-BijvFPku.js +0 -1771
  51. package/dist/chunks/ganttDiagram-R7GPNTJY-BaqGPz-O.js +0 -2729
  52. package/dist/chunks/gitGraphDiagram-PDYL7XHY-DZfMGyHE.js +0 -815
  53. package/dist/chunks/graph-CKJmgLki.js +0 -1541
  54. package/dist/chunks/import-core-C-I1wGfw.js +0 -145
  55. package/dist/chunks/infoDiagram-MVDRKAX5-C2vH_59e.js +0 -24
  56. package/dist/chunks/init-DjUOC4st.js +0 -16
  57. package/dist/chunks/ishikawaDiagram-HPEHV2GE-q149MFlV.js +0 -624
  58. package/dist/chunks/journeyDiagram-BOSHW7O7-D-2Z3VtR.js +0 -834
  59. package/dist/chunks/kanban-definition-FNSA4HC5-wvAjV5ub.js +0 -724
  60. package/dist/chunks/katex-BsrBVQKd.js +0 -11314
  61. package/dist/chunks/linear-4t7D_ros.js +0 -259
  62. package/dist/chunks/mermaid-facade-BoLWBerE.js +0 -289
  63. package/dist/chunks/mermaid-importer-Cgx1IhmR.js +0 -478
  64. package/dist/chunks/mermaid.core-DXv6D2Sm.js +0 -19244
  65. package/dist/chunks/mindmap-definition-6OY57UG3-r9wTKul_.js +0 -837
  66. package/dist/chunks/mount-C1Xk_GQz.js +0 -22131
  67. package/dist/chunks/ordinal-DfAQgscy.js +0 -61
  68. package/dist/chunks/pegDiagram-ECIUJNBX-CmKlFWiP.js +0 -95
  69. package/dist/chunks/pieDiagram-GNMPY74T-DNTw_qan.js +0 -208
  70. package/dist/chunks/quadrantDiagram-D57K4MC3-CT_tvVub.js +0 -1029
  71. package/dist/chunks/railroadDiagram-Y72NRBL7-C5TUvZBe.js +0 -77
  72. package/dist/chunks/requirementDiagram-EQYSW5RA-C_c65aCa.js +0 -889
  73. package/dist/chunks/sankeyDiagram-SY24JHO5-CKcbizM1.js +0 -859
  74. package/dist/chunks/sequenceDiagram-BLEHNHQU-GpVnHOjf.js +0 -2972
  75. package/dist/chunks/sizeCapture-INFHLROL-CToN3JSu.js +0 -46
  76. package/dist/chunks/stateDiagram-v2-A6IESKWZ-rJYd2FfM.js +0 -1520
  77. package/dist/chunks/swimlanes-B3ENRKFQ-C7w5pfxG.js +0 -4991
  78. package/dist/chunks/swimlanesDiagram-AYQRV4AK-BpGY_bvE.js +0 -13
  79. package/dist/chunks/timeline-definition-JXYKGLGB-ChKFPBKc.js +0 -1058
  80. package/dist/chunks/usecaseDiagram-WPOLBNNX-skXH8Dcu.js +0 -7945
  81. package/dist/chunks/vennDiagram-Q3Y3IDCW-C5KknmJf.js +0 -1578
  82. package/dist/chunks/wardleyDiagram-IVAIDKWA-DY4Lkfpu.js +0 -678
  83. package/dist/chunks/xychartDiagram-4URNHDU4-BHScsL7h.js +0 -1536
  84. package/dist/types/src/cli/png.d.ts +0 -23
  85. package/dist/types/src/import/browser.d.ts +0 -3
  86. package/dist/types/src/import/detect.d.ts +0 -31
  87. package/dist/types/src/import/dot-importer.d.ts +0 -3
  88. package/dist/types/src/import/import-core.d.ts +0 -105
  89. package/dist/types/src/import/mermaid-facade.d.ts +0 -120
  90. package/dist/types/src/import/mermaid-importer.d.ts +0 -4
  91. package/dist/types/src/import/mermaid-sequence.d.ts +0 -8
  92. package/dist/types/src/import/scratch.d.ts +0 -3
  93. package/dist/types/src/lib/source-hash.d.ts +0 -7
  94. package/dist/types/src/model/candidates.d.ts +0 -53
  95. package/dist/types/src/model/embed.d.ts +0 -17
  96. package/dist/types/src/model/examples.d.ts +0 -15
  97. package/dist/types/src/model/label-hits.d.ts +0 -27
  98. package/dist/types/src/model/static-scene.d.ts +0 -15
  99. package/dist/types/src/state/commands.d.ts +0 -529
  100. package/dist/types/src/state/comparison.d.ts +0 -151
  101. package/dist/types/src/state/files.d.ts +0 -61
  102. package/dist/types/src/state/keyboard.d.ts +0 -6
  103. package/dist/types/src/state/launch.d.ts +0 -61
  104. package/dist/types/src/state/ui.d.ts +0 -39
@@ -1,480 +0,0 @@
1
- import { p as re } from "./chunk-JWPE2WC7-CnAFS2xF.js";
2
- import { t as oe, q as se, s as de, g as le, a as ce, b as me, _ as o, l as g, c as R, k as ue, M as xe, A as fe, N as ge, L as B, O as he, j as P, w as S, as as pe } from "./mermaid.core-DXv6D2Sm.js";
3
- import { p as be, i as ve } from "./cynefin-EF2NZ3EQ-Bt6b88hY.js";
4
- var D = "position frame", N = "frame positioned", k = "position relation", T = "relation positioned", we = /* @__PURE__ */ o(function(e) {
5
- g.debug("options str", e);
6
- }, "setOptions"), ye = /* @__PURE__ */ o(function() {
7
- return {};
8
- }, "getOptions"), Pe = /* @__PURE__ */ o(function() {
9
- C(), fe();
10
- }, "clear");
11
- function C() {
12
- w = {};
13
- }
14
- o(C, "reset");
15
- var Se = he.eventmodeling, ke = /* @__PURE__ */ o(() => ge({
16
- ...Se,
17
- ...B().eventmodeling
18
- }), "getConfig"), w = {};
19
- function O() {
20
- let e = Me;
21
- const { ast: n } = w, t = E();
22
- if (!n)
23
- throw new Error("No data for EventModel");
24
- return n.frames.forEach((i, a) => {
25
- const r = G(i, n.dataEntities, t);
26
- e = v(e, {
27
- $kind: D,
28
- index: a,
29
- frame: i,
30
- textProps: r
31
- });
32
- let d;
33
- K(i) ? (g.debug("source frame", i.sourceFrames), d = n.frames.filter((l) => i.sourceFrames.some((c) => c.$refText === l.name)), d.forEach((l) => {
34
- e = v(e, {
35
- $kind: k,
36
- index: a,
37
- frame: i,
38
- sourceFrame: l
39
- });
40
- })) : e = v(e, {
41
- $kind: k,
42
- index: a,
43
- frame: i
44
- });
45
- }), e = {
46
- ...e,
47
- sortedSwimlanesArray: A(e.swimlanes)
48
- }, e;
49
- }
50
- o(O, "getState");
51
- function I(e) {
52
- w.ast = void 0;
53
- const n = /* @__PURE__ */ new Set();
54
- for (const t of e.frames) {
55
- if (n.has(t.name)) {
56
- const i = t.$cstNode?.range.start.line, a = i === void 0 ? "" : ` on line ${i + 1}`;
57
- throw new Error(`Duplicate event modeling frame ID "${t.name}"${a}`);
58
- }
59
- n.add(t.name);
60
- }
61
- w.ast = e;
62
- }
63
- o(I, "setAst");
64
- var s = {
65
- swimlaneMinHeight: 70,
66
- swimlanePadding: 15,
67
- swimlaneGap: 10,
68
- boxPadding: 10,
69
- boxOverlap: 90,
70
- boxDefaultY: 0,
71
- boxMinWidth: 80,
72
- boxMaxWidth: 450,
73
- boxMinHeight: 80,
74
- boxMaxHeight: 750,
75
- contentStartX: 250,
76
- textMaxWidth: 430,
77
- boxTextFontWeight: "bold",
78
- boxTextPadding: 10,
79
- swimlaneTextFontWeight: "bold",
80
- labelUiAutomation: "UI/Automation",
81
- labelUiAutomationPrefix: "UI/A: ",
82
- labelCommandReadModel: "Command/Read Model",
83
- labelCommandReadModelPrefix: "C/RM: ",
84
- labelEvents: "Events",
85
- labelEventsPrefix: "Stream: "
86
- };
87
- function E() {
88
- return s;
89
- }
90
- o(E, "getDiagramProps");
91
- var Me = {
92
- boxes: [],
93
- swimlanes: {},
94
- relations: [],
95
- maxR: 0,
96
- sortedSwimlanesArray: []
97
- };
98
- function W(e) {
99
- const n = e.split(".");
100
- if (n.length === 2)
101
- return n[0];
102
- }
103
- o(W, "extractNamespace");
104
- function H(e) {
105
- const n = e.split(".");
106
- return n.length === 2 ? n[1] : e;
107
- }
108
- o(H, "extractName");
109
- function U(e, n) {
110
- if (!(!n || n.length === 0))
111
- return Object.values(e).find((t) => t.namespace === n);
112
- }
113
- o(U, "findSwimlaneByNamespace");
114
- function b(e, n, t) {
115
- return Math.max(
116
- n,
117
- ...Object.keys(e).filter((i) => {
118
- const a = Number.parseInt(i);
119
- return a > n && a < t;
120
- }).map((i) => Number.parseInt(i))
121
- ) + 1;
122
- }
123
- o(b, "findNextAvailableIndex");
124
- function _(e, n) {
125
- const t = W(e.entityIdentifier), i = U(n, t);
126
- switch (e.modelEntityType) {
127
- case "ui":
128
- case "pcr":
129
- case "processor":
130
- return i ? {
131
- index: i.index,
132
- label: i.namespace || s.labelUiAutomation
133
- } : t ? {
134
- index: b(n, 0, 100),
135
- label: s.labelUiAutomationPrefix + t
136
- } : { index: 0, label: s.labelUiAutomation };
137
- case "rmo":
138
- case "readmodel":
139
- case "cmd":
140
- case "command":
141
- return i ? {
142
- index: i.index,
143
- label: i.namespace || s.labelCommandReadModel
144
- } : t ? {
145
- index: b(n, 100, 200),
146
- label: s.labelCommandReadModelPrefix + t
147
- } : { index: 100, label: s.labelCommandReadModel };
148
- case "evt":
149
- case "event":
150
- default:
151
- return i ? {
152
- index: i.index,
153
- label: i.namespace || s.labelEvents
154
- } : t ? {
155
- index: b(n, 200, 300),
156
- label: s.labelEventsPrefix + t
157
- } : { index: 200, label: s.labelEvents };
158
- }
159
- }
160
- o(_, "calculateSwimlaneProps");
161
- function L(e) {
162
- const { themeVariables: n } = B();
163
- switch (e.modelEntityType) {
164
- case "ui":
165
- return {
166
- fill: n.emUiFill ?? "white",
167
- stroke: n.emUiStroke ?? "#dbdada"
168
- };
169
- case "pcr":
170
- case "processor":
171
- return {
172
- fill: n.emProcessorFill ?? "#edb3f6",
173
- stroke: n.emProcessorStroke ?? "#b88cbf"
174
- };
175
- case "rmo":
176
- case "readmodel":
177
- return {
178
- fill: n.emReadModelFill ?? "#d3f1a2",
179
- stroke: n.emReadModelStroke ?? "#a3b732"
180
- };
181
- case "cmd":
182
- case "command":
183
- return {
184
- fill: n.emCommandFill ?? "#bcd6fe",
185
- stroke: n.emCommandStroke ?? "#679ac3"
186
- };
187
- case "evt":
188
- case "event":
189
- return {
190
- fill: n.emEventFill ?? "#ffb778",
191
- stroke: n.emEventStroke ?? "#c19a0f"
192
- };
193
- default:
194
- return {
195
- fill: "red",
196
- stroke: "black"
197
- };
198
- }
199
- }
200
- o(L, "calculateEntityVisualProps");
201
- function G(e, n, t) {
202
- const i = B(), a = P(H(e.entityIdentifier) ?? "", i);
203
- let r;
204
- const d = {
205
- fontSize: 16,
206
- fontWeight: 700,
207
- fontFamily: '"trebuchet ms", verdana, arial, sans-serif',
208
- joinWith: "<br/>"
209
- };
210
- let c = `<b>${S(a, t.textMaxWidth, d)}</b>`;
211
- if (e.dataInlineValue && (r = e.dataInlineValue, r = r.substring(r.indexOf("{") + 1), r = r.substring(0, r.lastIndexOf("}") - 1), r = P(r, i), r = S(r, t.textMaxWidth, d), r = r.replaceAll(" ", "&nbsp;")), e.dataReference) {
212
- const p = n.find(
213
- (y) => y.name === e.dataReference?.$refText
214
- );
215
- p && (r = p.dataBlockValue, r = r.substring(r.indexOf(`{
216
- `) + 2), r = r.substring(0, r.lastIndexOf("}") - 1), r = P(r, i), r = S(r, t.textMaxWidth, d), r = r.replaceAll(" ", "&nbsp;"), r += "<br/>");
217
- }
218
- const m = r !== void 0;
219
- m && (c += `<br/><br/><code style="text-align: left; display: block;max-width:${t.textMaxWidth}px">${r}</code>`);
220
- const x = {
221
- fontSize: d.fontSize,
222
- fontWeight: d.fontWeight,
223
- fontFamily: d.fontFamily
224
- }, u = pe(c, x), h = m ? u.width / 3 : u.width, f = {
225
- content: c,
226
- width: h,
227
- height: u.height
228
- };
229
- return g.debug(`[${e.name}] ${e.entityIdentifier} text`, f), f;
230
- }
231
- o(G, "calculateTextProps");
232
- function V(e, n) {
233
- const t = n, i = L(t.frame), a = {
234
- width: t.textProps.width + 2 * s.boxTextPadding,
235
- height: t.textProps.height + 2 * s.boxTextPadding
236
- };
237
- return [{
238
- $kind: N,
239
- frame: t.frame,
240
- index: t.index,
241
- visual: i,
242
- dimension: a,
243
- textProps: t.textProps
244
- }];
245
- }
246
- o(V, "decidePositionFrame");
247
- function X(e, n, t) {
248
- 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;
249
- }
250
- o(X, "calculateX");
251
- function j(e, n) {
252
- const t = [...e.map((i) => i.r), n];
253
- return Math.max(...t);
254
- }
255
- o(j, "calculateMaxRight");
256
- function A(e) {
257
- return Object.values(e).sort((n, t) => n.index - t.index);
258
- }
259
- o(A, "sortedSwimlanesArray");
260
- function Y(e, n) {
261
- const t = n, i = _(t.frame, e.swimlanes);
262
- let a;
263
- i.index in e.swimlanes ? a = e.swimlanes[i.index] : a = {
264
- index: i.index,
265
- label: i.label,
266
- r: 0,
267
- y: i.index * s.swimlaneMinHeight + s.swimlaneGap,
268
- height: s.swimlaneMinHeight,
269
- maxHeight: s.swimlaneMinHeight
270
- };
271
- 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 = {
272
- width: Math.max(
273
- s.boxMinWidth,
274
- Math.min(s.boxMaxWidth, t.dimension.width)
275
- ) + 2 * s.boxPadding,
276
- height: Math.max(
277
- s.boxMinHeight,
278
- Math.min(s.boxMaxHeight, t.dimension.height)
279
- ) + 2 * s.boxPadding
280
- }, c = X(a, d, r), m = c + l.width + s.boxPadding, x = j(Object.values(e.swimlanes), m);
281
- a.r = c + l.width, a.maxHeight = Math.max(a.maxHeight, l.height), a.height = Math.max(s.swimlaneMinHeight, a.maxHeight) + 2 * s.swimlanePadding;
282
- const u = {
283
- x: c,
284
- y: s.swimlanePadding + a.y,
285
- // y: diagramProps.swimlanePadding + (swimlane.y || diagramProps.boxDefaultY),
286
- r: m,
287
- dimension: l,
288
- leftSibling: !1,
289
- swimlane: a,
290
- visual: t.visual,
291
- text: t.textProps.content,
292
- frame: t.frame,
293
- index: t.index
294
- }, h = {
295
- ...e,
296
- boxes: [...e.boxes, u],
297
- swimlanes: {
298
- ...e.swimlanes,
299
- [`${a.index}`]: a
300
- },
301
- previousSwimlaneNumber: i.index,
302
- previousFrame: t.frame,
303
- maxR: x
304
- }, f = A(h.swimlanes);
305
- f.length > 0 && (f[0].y = 0);
306
- for (let p = 1; p < f.length; p++) {
307
- const y = f[p], $ = f[p - 1];
308
- y.y = $.y + $.height + s.swimlaneGap;
309
- }
310
- return h;
311
- }
312
- o(Y, "evolveFramePositioned");
313
- function z(e, n) {
314
- return e === 0 && n.sourceFrames.length === 0;
315
- }
316
- o(z, "isFirstFrame");
317
- function K(e) {
318
- return e.sourceFrames !== void 0 && e.sourceFrames !== null && e.sourceFrames.length > 0;
319
- }
320
- o(K, "hasSourceFrame");
321
- function M(e, n) {
322
- if (n != null)
323
- return e.find((t) => t.frame.name === n.name);
324
- }
325
- o(M, "findBoxByFrame");
326
- function q(e, n, t) {
327
- if (!(t < 0))
328
- for (let i = t; i >= 0; i--) {
329
- const a = e[i];
330
- if (a.swimlane.index !== n)
331
- return a;
332
- }
333
- }
334
- o(q, "findBoxByLineIndex");
335
- function J(e, n) {
336
- const t = n;
337
- if (z(t.index, t.frame))
338
- return [];
339
- const i = M(e.boxes, t.frame);
340
- if (i === void 0)
341
- throw new Error(`Target box not found for frame ${t.frame.name}`);
342
- let a;
343
- if (t.sourceFrame)
344
- a = M(e.boxes, t.sourceFrame);
345
- else {
346
- if (ve(t.frame))
347
- return [];
348
- a = q(e.boxes, i.swimlane.index, t.index - 1);
349
- }
350
- return a === void 0 ? [] : [{
351
- $kind: T,
352
- frame: t.frame,
353
- index: t.index,
354
- sourceBox: a,
355
- targetBox: i
356
- }];
357
- }
358
- o(J, "decidePositionRelation");
359
- function Q(e, n) {
360
- const t = n, i = {
361
- visual: {
362
- fill: "none",
363
- stroke: "#000"
364
- },
365
- source: {
366
- x: t.sourceBox.x,
367
- y: t.sourceBox.y
368
- },
369
- target: {
370
- x: t.targetBox.x,
371
- y: t.targetBox.y
372
- },
373
- sourceBox: t.sourceBox,
374
- targetBox: t.targetBox
375
- };
376
- return {
377
- ...e,
378
- relations: [...e.relations, i]
379
- };
380
- }
381
- o(Q, "evolveRelationPositioned");
382
- var Fe = {
383
- [D]: V,
384
- [k]: J
385
- }, Be = {
386
- [N]: Y,
387
- [T]: Q
388
- };
389
- function Z(e, n) {
390
- const t = Fe[n.$kind];
391
- if (t == null)
392
- return [];
393
- const i = t(e, n);
394
- return g.debug("decided events", i), i;
395
- }
396
- o(Z, "decide");
397
- function ee(e, n) {
398
- const t = n.reduce((i, a) => {
399
- const r = Be[a.$kind];
400
- return r == null ? i : r(i, a);
401
- }, e);
402
- return g.debug("evolve events", { state: e, newState: t, events: n }), t;
403
- }
404
- o(ee, "evolve");
405
- function v(e, n) {
406
- const t = Z(e, n);
407
- return ee(e, t);
408
- }
409
- o(v, "dispatch");
410
- var F = {
411
- getConfig: ke,
412
- preserveCommentsWhenParsing: !0,
413
- setOptions: we,
414
- getOptions: ye,
415
- clear: Pe,
416
- setAccTitle: me,
417
- getAccTitle: ce,
418
- getAccDescription: le,
419
- setAccDescription: de,
420
- setDiagramTitle: se,
421
- getDiagramTitle: oe,
422
- setAst: I,
423
- getDiagramProps: E,
424
- getState: O
425
- }, Ee = {
426
- parse: /* @__PURE__ */ o(async (e) => {
427
- const n = await be("eventmodeling", e);
428
- g.debug(n), F.setAst(n), re(n, F);
429
- }, "parse")
430
- }, Ae = R(), $e = Ae?.eventmodeling;
431
- function te(e, n) {
432
- return (t) => {
433
- const i = t.swimlane.y + n.swimlanePadding, a = e.append("g").attr("class", "em-box");
434
- a.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), a.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);
435
- };
436
- }
437
- o(te, "renderD3Box");
438
- function ne(e, n) {
439
- return e > n;
440
- }
441
- o(ne, "dirUpwards");
442
- function ie(e, n, t, i) {
443
- return (a) => {
444
- const r = a.sourceBox.swimlane.y + n.swimlanePadding, d = a.targetBox.swimlane.y + n.swimlanePadding, l = ne(r, d), c = a.sourceBox.x + a.sourceBox.dimension.width * 2 / 3, m = a.targetBox.x + a.targetBox.dimension.width / 3;
445
- let x, u;
446
- g.debug(`rendering relation up=${l} for `, {
447
- sourceBox: a.sourceBox,
448
- targetBox: a.targetBox
449
- }), l ? (x = r, u = d + a.targetBox.dimension.height) : (x = r + a.sourceBox.dimension.height, u = d);
450
- const h = i.emRelationStroke ?? a.visual.stroke;
451
- e.append("path").attr("class", "em-relation").attr("fill", a.visual.fill).attr("stroke", h).attr("stroke-width", "1").attr("marker-end", `url(#${t})`).attr("d", `M${c} ${x} L${m} ${u}`);
452
- };
453
- }
454
- o(ie, "renderD3Relation");
455
- function ae(e, n, t, i) {
456
- return (a) => {
457
- const r = e.append("g").attr("class", "em-swimlane"), d = i.emSwimlaneBackgroundOdd ?? "rgb(250,250,250)", l = i.emSwimlaneBackgroundStroke ?? "rgb(240,240,240)";
458
- r.append("rect").attr("x", 0).attr("y", a.y).attr("rx", "3").attr("width", n + t.swimlanePadding).attr("height", a.height).attr("fill", d).attr("stroke", l), r.append("text").attr("font-weight", t.swimlaneTextFontWeight).attr("x", 30).attr("y", a.y + 30).text(a.label);
459
- };
460
- }
461
- o(ae, "renderD3Swimlane");
462
- var Re = /* @__PURE__ */ o(function(e, n, t, i) {
463
- if (g.debug("in eventmodeling renderer", e + `
464
- `, "id:", n, t), !$e)
465
- throw new Error("EventModeling config not found");
466
- const a = i.db, { themeVariables: r, eventmodeling: d } = R(), l = ue(`[id="${n}"]`), c = a.getDiagramProps(), m = a.getState(), x = `em-arrowhead-${n}`, u = r.emArrowhead ?? "#000000";
467
- m.sortedSwimlanesArray.forEach(
468
- ae(l, m.maxR, c, r)
469
- ), m.boxes.forEach(te(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), xe(void 0, l, d?.padding ?? 30, d?.useMaxWidth);
470
- }, "draw"), De = {
471
- draw: Re
472
- }, Ne = /* @__PURE__ */ o((e) => "", "getStyles"), Te = Ne, We = {
473
- parser: Ee,
474
- db: F,
475
- renderer: De,
476
- styles: Te
477
- };
478
- export {
479
- We as diagram
480
- };
@@ -1,219 +0,0 @@
1
- import { p as I } from "./chunk-JWPE2WC7-CnAFS2xF.js";
2
- import { s as _, g as E, t as F, q as D, a as P, b as z, _ as c, Q as G, A as B, N as w, L as C, O as W, l as b, R as V, d as H } from "./mermaid.core-DXv6D2Sm.js";
3
- import { p as j } from "./cynefin-EF2NZ3EQ-Bt6b88hY.js";
4
- var m = {
5
- showLegend: !0,
6
- ticks: 5,
7
- max: null,
8
- min: 0,
9
- graticule: "circle"
10
- }, y = 32, A = {
11
- axes: [],
12
- curves: [],
13
- options: m
14
- }, x = structuredClone(A), N = W.radar, U = /* @__PURE__ */ c(() => w({
15
- ...N,
16
- ...C().radar
17
- }), "getConfig"), M = /* @__PURE__ */ c(() => x.axes, "getAxes"), X = /* @__PURE__ */ c(() => x.curves, "getCurves"), q = /* @__PURE__ */ c(() => x.options, "getOptions"), K = /* @__PURE__ */ c((a) => {
18
- x.axes = a.map((t) => ({
19
- name: t.name,
20
- label: t.label ?? t.name
21
- }));
22
- }, "setAxes"), Q = /* @__PURE__ */ c((a) => {
23
- x.curves = a.map((t) => ({
24
- name: t.name,
25
- label: t.label ?? t.name,
26
- entries: Y(t.entries)
27
- }));
28
- }, "setCurves"), Y = /* @__PURE__ */ c((a) => {
29
- if (a[0].axis == null)
30
- return a.map((e) => e.value);
31
- const t = M();
32
- if (t.length === 0)
33
- throw new Error("Axes must be populated before curves for reference entries");
34
- return t.map((e) => {
35
- const r = a.find((s) => s.axis?.$refText === e.name);
36
- if (r === void 0)
37
- throw new Error("Missing entry for axis " + e.label);
38
- return r.value;
39
- });
40
- }, "computeCurveEntries"), Z = /* @__PURE__ */ c((a) => {
41
- const t = a.reduce(
42
- (e, r) => (e[r.name] = r, e),
43
- {}
44
- );
45
- x.options = {
46
- showLegend: t.showLegend?.value ?? m.showLegend,
47
- ticks: t.ticks?.value ?? m.ticks,
48
- max: t.max?.value ?? m.max,
49
- min: t.min?.value ?? m.min,
50
- graticule: t.graticule?.value ?? m.graticule
51
- }, x.options.ticks > y && (b.warn(
52
- `Radar diagram ticks (${x.options.ticks}) exceeds maximum allowed (${y}). Using ${y} instead.`
53
- ), x.options.ticks = y);
54
- }, "setOptions"), J = /* @__PURE__ */ c(() => {
55
- B(), x = structuredClone(A);
56
- }, "clear"), $ = {
57
- getAxes: M,
58
- getCurves: X,
59
- getOptions: q,
60
- setAxes: K,
61
- setCurves: Q,
62
- setOptions: Z,
63
- getConfig: U,
64
- clear: J,
65
- setAccTitle: z,
66
- getAccTitle: P,
67
- setDiagramTitle: D,
68
- getDiagramTitle: F,
69
- getAccDescription: E,
70
- setAccDescription: _
71
- }, tt = /* @__PURE__ */ c((a) => {
72
- I(a, $);
73
- const { axes: t, curves: e, options: r } = a;
74
- $.setAxes(t), $.setCurves(e), $.setOptions(r);
75
- }, "populate"), et = {
76
- parse: /* @__PURE__ */ c(async (a) => {
77
- const t = await j("radar", a);
78
- b.debug(t), tt(t);
79
- }, "parse")
80
- }, at = /* @__PURE__ */ c((a, t, e, r) => {
81
- const s = r.db, i = s.getAxes(), l = s.getCurves(), n = s.getOptions(), o = s.getConfig(), d = s.getDiagramTitle(), p = G(t), u = rt(p, o), g = n.max ?? Math.max(...l.map((f) => Math.max(...f.entries))), h = n.min, v = Math.min(o.width, o.height) / 2;
82
- st(u, i, v, n.ticks, n.graticule), nt(u, i, v, o), L(u, i, l, h, g, n.graticule, o), k(u, l, n.showLegend, o), u.append("text").attr("class", "radarTitle").text(d).attr("x", 0).attr("y", -o.height / 2 - o.marginTop);
83
- }, "draw"), rt = /* @__PURE__ */ c((a, t) => {
84
- const e = t.width + t.marginLeft + t.marginRight, r = t.height + t.marginTop + t.marginBottom, s = {
85
- x: t.marginLeft + t.width / 2,
86
- y: t.marginTop + t.height / 2
87
- };
88
- return H(a, r, e, t.useMaxWidth ?? !0), a.attr("viewBox", `0 0 ${e} ${r}`).attr("overflow", "visible"), a.append("g").attr("transform", `translate(${s.x}, ${s.y})`);
89
- }, "drawFrame"), st = /* @__PURE__ */ c((a, t, e, r, s) => {
90
- if (s === "circle")
91
- for (let i = 0; i < r; i++) {
92
- const l = e * (i + 1) / r;
93
- a.append("circle").attr("r", l).attr("class", "radarGraticule");
94
- }
95
- else if (s === "polygon") {
96
- const i = t.length;
97
- for (let l = 0; l < r; l++) {
98
- const n = e * (l + 1) / r, o = t.map((d, p) => {
99
- const u = 2 * p * Math.PI / i - Math.PI / 2, g = n * Math.cos(u), h = n * Math.sin(u);
100
- return `${g},${h}`;
101
- }).join(" ");
102
- a.append("polygon").attr("points", o).attr("class", "radarGraticule");
103
- }
104
- }
105
- }, "drawGraticule"), nt = /* @__PURE__ */ c((a, t, e, r) => {
106
- const s = t.length;
107
- for (let i = 0; i < s; i++) {
108
- const l = t[i].label, n = 2 * i * Math.PI / s - Math.PI / 2, o = Math.cos(n), d = Math.sin(n);
109
- a.append("line").attr("x1", 0).attr("y1", 0).attr("x2", e * r.axisScaleFactor * o).attr("y2", e * r.axisScaleFactor * d).attr("class", "radarAxisLine");
110
- const p = o > 0.01 ? "start" : o < -0.01 ? "end" : "middle", u = d > 0.01 ? "hanging" : d < -0.01 ? "auto" : "central", g = 4;
111
- a.append("text").text(l).attr("x", e * r.axisLabelFactor * o + g * o).attr("y", e * r.axisLabelFactor * d + g * d).attr("text-anchor", p).attr("dominant-baseline", u).attr("class", "radarAxisLabel");
112
- }
113
- }, "drawAxes");
114
- function L(a, t, e, r, s, i, l) {
115
- const n = t.length, o = Math.min(l.width, l.height) / 2;
116
- e.forEach((d, p) => {
117
- if (d.entries.length !== n)
118
- return;
119
- const u = d.entries.map((g, h) => {
120
- const v = 2 * Math.PI * h / n - Math.PI / 2, f = T(g, r, s, o), O = f * Math.cos(v), R = f * Math.sin(v);
121
- return { x: O, y: R };
122
- });
123
- i === "circle" ? a.append("path").attr("d", S(u, l.curveTension)).attr("class", `radarCurve-${p}`) : i === "polygon" && a.append("polygon").attr("points", u.map((g) => `${g.x},${g.y}`).join(" ")).attr("class", `radarCurve-${p}`);
124
- });
125
- }
126
- c(L, "drawCurves");
127
- function T(a, t, e, r) {
128
- const s = Math.min(Math.max(a, t), e);
129
- return r * (s - t) / (e - t);
130
- }
131
- c(T, "relativeRadius");
132
- function S(a, t) {
133
- const e = a.length;
134
- let r = `M${a[0].x},${a[0].y}`;
135
- for (let s = 0; s < e; s++) {
136
- const i = a[(s - 1 + e) % e], l = a[s], n = a[(s + 1) % e], o = a[(s + 2) % e], d = {
137
- x: l.x + (n.x - i.x) * t,
138
- y: l.y + (n.y - i.y) * t
139
- }, p = {
140
- x: n.x - (o.x - l.x) * t,
141
- y: n.y - (o.y - l.y) * t
142
- };
143
- r += ` C${d.x},${d.y} ${p.x},${p.y} ${n.x},${n.y}`;
144
- }
145
- return `${r} Z`;
146
- }
147
- c(S, "closedRoundCurve");
148
- function k(a, t, e, r) {
149
- if (!e)
150
- return;
151
- const s = (r.width / 2 + r.marginRight) * 3 / 4, i = -(r.height / 2 + r.marginTop) * 3 / 4, l = 20;
152
- t.forEach((n, o) => {
153
- const d = a.append("g").attr("transform", `translate(${s}, ${i + o * l})`);
154
- d.append("rect").attr("width", 12).attr("height", 12).attr("class", `radarLegendBox-${o}`), d.append("text").attr("x", 16).attr("y", 0).attr("class", "radarLegendText").text(n.label);
155
- });
156
- }
157
- c(k, "drawLegend");
158
- var ot = { draw: at }, it = /* @__PURE__ */ c((a, t) => {
159
- let e = "";
160
- for (let r = 0; r < a.THEME_COLOR_LIMIT; r++) {
161
- const s = a[`cScale${r}`];
162
- e += `
163
- .radarCurve-${r} {
164
- color: ${s};
165
- fill: ${s};
166
- fill-opacity: ${t.curveOpacity};
167
- stroke: ${s};
168
- stroke-width: ${t.curveStrokeWidth};
169
- }
170
- .radarLegendBox-${r} {
171
- fill: ${s};
172
- fill-opacity: ${t.curveOpacity};
173
- stroke: ${s};
174
- }
175
- `;
176
- }
177
- return e;
178
- }, "genIndexStyles"), lt = /* @__PURE__ */ c((a) => {
179
- const t = V(), e = C(), r = w(t, e.themeVariables), s = w(r.radar, a);
180
- return { themeVariables: r, radarOptions: s };
181
- }, "buildRadarStyleOptions"), ct = /* @__PURE__ */ c(({ radar: a } = {}) => {
182
- const { themeVariables: t, radarOptions: e } = lt(a);
183
- return `
184
- .radarTitle {
185
- font-size: ${t.fontSize};
186
- color: ${t.titleColor};
187
- dominant-baseline: hanging;
188
- text-anchor: middle;
189
- }
190
- .radarAxisLine {
191
- stroke: ${e.axisColor};
192
- stroke-width: ${e.axisStrokeWidth};
193
- }
194
- .radarAxisLabel {
195
- font-size: ${e.axisLabelFontSize}px;
196
- color: ${e.axisColor};
197
- }
198
- .radarGraticule {
199
- fill: ${e.graticuleColor};
200
- fill-opacity: ${e.graticuleOpacity};
201
- stroke: ${e.graticuleColor};
202
- stroke-width: ${e.graticuleStrokeWidth};
203
- }
204
- .radarLegendText {
205
- text-anchor: start;
206
- font-size: ${e.legendFontSize}px;
207
- dominant-baseline: hanging;
208
- }
209
- ${it(t, e)}
210
- `;
211
- }, "styles"), gt = {
212
- parser: et,
213
- db: $,
214
- renderer: ot,
215
- styles: ct
216
- };
217
- export {
218
- gt as diagram
219
- };