@nxgt/material 1.13.0 → 1.16.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 (150) hide show
  1. package/README.md +4 -0
  2. package/dist/abnfDiagram-O67JEVCF-mm89LXw2.js +89 -0
  3. package/dist/architecture-7GRP2DOG-DDr0RGVC.js +3 -0
  4. package/dist/architectureDiagram-NJMV4G6O-CGoA5SIv.js +4146 -0
  5. package/dist/array-CApNbSU9.js +6 -0
  6. package/dist/blockDiagram-BEXU5L5S-Dq8gitB4.js +1946 -0
  7. package/dist/c4Diagram-YGBWAQC7-DO_alqIu.js +2990 -0
  8. package/dist/channel-1fT-W0NS.js +5 -0
  9. package/dist/chunk-2Q5K7J3B-kzxEEeTu.js +15 -0
  10. package/dist/chunk-3FUC2YCW-C3yD2fMw.js +364 -0
  11. package/dist/chunk-5DYCD2WN-Dn2jrYde.js +37 -0
  12. package/dist/chunk-5VM5RSS4-Cr17nBXp.js +5 -0
  13. package/dist/chunk-6AEJRKK7-JyfUnUEu.js +10 -0
  14. package/dist/chunk-742MDFTN-BbWkrtj2.js +275 -0
  15. package/dist/chunk-7INBJB4K-C3x7JNTG.js +4487 -0
  16. package/dist/chunk-7M6MHVWA-Cc7UTu4b.js +4256 -0
  17. package/dist/chunk-7PRAP22T-C8rsGRvH.js +67 -0
  18. package/dist/chunk-DUW6YSOI-BdOla2G8.js +10 -0
  19. package/dist/chunk-FOHPRMQF-Crq0JMf2.js +21388 -0
  20. package/dist/chunk-GNY47TPC-d-Bi8r0p.js +75 -0
  21. package/dist/chunk-GTNCS2PH-CTS015lZ.js +490 -0
  22. package/dist/chunk-GWA4HPMP-B4pgM-E1.js +61 -0
  23. package/dist/chunk-J5ZVWO5B-CYzz6Pq8.js +12 -0
  24. package/dist/chunk-JWPE2WC7-Ccb0QaC8.js +8 -0
  25. package/dist/chunk-LNGE3PJU-CiGrDO_F.js +1513 -0
  26. package/dist/chunk-MBY4JIJT-Dg6AeftH.js +1847 -0
  27. package/dist/chunk-NETBCI7D-TXZM0vKz.js +236 -0
  28. package/dist/chunk-O7XYJQB3-md6vjVm4.js +3922 -0
  29. package/dist/chunk-UA2S7LBM-DQTYPe9y.js +363 -0
  30. package/dist/chunk-WEXAMYUT-DmKWJz6y.js +26 -0
  31. package/dist/chunk-XXDRQBXY-C9XIYQdM.js +9 -0
  32. package/dist/chunk-Y2CYZVJY-i11wjrBe.js +12 -0
  33. package/dist/chunk-Z7XXMR3K-BoDf6lxl.js +677 -0
  34. package/dist/chunk-ZIGJFQKS-CP5430fN.js +663 -0
  35. package/dist/classDiagram-v2-NBCMYWYE-6KoTmufe.js +3397 -0
  36. package/dist/components.js +3 -3
  37. package/dist/cose-bilkent-JH36ORCC-CejnZl_t.js +2251 -0
  38. package/dist/cynefin-OW5HDTMX-B8HVdZhp.js +3 -0
  39. package/dist/cynefinDiagram-VND7K2PF-DZnc0dlm.js +349 -0
  40. package/dist/cytoscape.esm-_jXi1N4y.js +18151 -0
  41. package/dist/dagre-6A5THRUB-cuS57NO5.js +2192 -0
  42. package/dist/diagram-22UHCM2B-zQSFmH0t.js +5084 -0
  43. package/dist/diagram-3UASUU5V-D45Fgu1j.js +724 -0
  44. package/dist/diagram-ATOU4E4O-YMtQnlqd.js +432 -0
  45. package/dist/diagram-CDSNMT55-DP7UmEW1.js +301 -0
  46. package/dist/diagram-MLGK6HIB-WvSqrTRC.js +134 -0
  47. package/dist/diagram-MPIPVDR6-C2F3__mt.js +214 -0
  48. package/dist/dist-1DdJvBEt.js +50 -0
  49. package/dist/{dist-BGGDEbJ3.js → dist-DppLdkXt.js} +2 -2
  50. package/dist/dnd.js +2 -2
  51. package/dist/ebnfDiagram-ZINNZB2B-BZC6cSiy.js +100 -0
  52. package/dist/elk-276RUBZZ-7DJf1MEV.js +47598 -0
  53. package/dist/erDiagram-OPXOYQCR-YKlEVEF0.js +1970 -0
  54. package/dist/eventmodeling-NTZA5JFV-C1CEo-26.js +3 -0
  55. package/dist/flowDiagram-KWPJA3E3-DyLvzIlg.js +17 -0
  56. package/dist/ganttDiagram-FUAMR5RP-KIaOrYOF.js +2928 -0
  57. package/dist/gitGraph-4MIJSDKK-BTeCS_5q.js +3 -0
  58. package/dist/gitGraphDiagram-X574FWY7-DpFW-7JE.js +729 -0
  59. package/dist/graphlib-DFaO_iIU.js +372 -0
  60. package/dist/{hooks-DReKyuyc.js → hooks-C5xy0u03.js} +1 -1
  61. package/dist/hooks.js +1 -1
  62. package/dist/{i18n-DtDrodl8.js → i18n-Cech9IAc.js} +314 -841
  63. package/dist/i18n.js +1 -1
  64. package/dist/info-A6RAGUB7-BvtuPd9C.js +3 -0
  65. package/dist/infoDiagram-VRGFBTTK-H3F-BCnu.js +20 -0
  66. package/dist/init-Buj1GKRa.js +27 -0
  67. package/dist/isArrayLikeObject-VG1KOJ3m.js +539 -0
  68. package/dist/ishikawaDiagram-OU5B5YK6-DgQDmcF3.js +719 -0
  69. package/dist/journeyDiagram-ZHPQQLJL-CanDOlfn.js +884 -0
  70. package/dist/kanban-definition-PNTS6WVX-DmnUgxgb.js +976 -0
  71. package/dist/katex-BMQ6LGsM.js +21962 -0
  72. package/dist/lib/components/index.d.ts +4 -0
  73. package/dist/lib/components/ui/chat/chat-composer-mentions.d.ts +8 -0
  74. package/dist/lib/components/ui/chat/chat-composer.d.ts +5 -1
  75. package/dist/lib/components/ui/chat/chat-markdown.d.ts +2 -2
  76. package/dist/lib/components/ui/emoji/emoji-list.d.ts +5 -0
  77. package/dist/lib/components/ui/emoji/emoji-picker.d.ts +7 -0
  78. package/dist/lib/components/ui/emoji/emoji.utils.d.ts +2 -0
  79. package/dist/lib/components/ui/emoji/emoji.utils.test.d.ts +1 -0
  80. package/dist/lib/components/ui/emoji/index.d.ts +4 -0
  81. package/dist/lib/components/ui/emoji/types.d.ts +6 -0
  82. package/dist/lib/components/ui/entity-header.stories.d.ts +1 -0
  83. package/dist/lib/components/ui/kanban/kanban.stories.d.ts +1 -0
  84. package/dist/lib/components/ui/markdown/index.d.ts +3 -0
  85. package/dist/lib/components/ui/markdown/markdown.d.ts +7 -0
  86. package/dist/lib/components/ui/markdown/markdown.stories.d.ts +14 -0
  87. package/dist/lib/components/ui/markdown/markdown.test.d.ts +1 -0
  88. package/dist/lib/components/ui/markdown/markdown.utils.d.ts +1 -0
  89. package/dist/lib/components/ui/markdown/mermaid.lazy.d.ts +12 -0
  90. package/dist/lib/components/ui/markdown/partials/markdown-code.d.ts +2 -0
  91. package/dist/lib/components/ui/markdown/partials/mermaid-diagram.d.ts +4 -0
  92. package/dist/lib/components/ui/mentions/index.d.ts +3 -0
  93. package/dist/lib/components/ui/mentions/mention-list.d.ts +8 -0
  94. package/dist/lib/components/ui/mentions/mentions.utils.d.ts +7 -0
  95. package/dist/lib/components/ui/mentions/mentions.utils.test.d.ts +1 -0
  96. package/dist/lib/components/ui/mentions/types.d.ts +7 -0
  97. package/dist/lib/components/ui/rich-text-editor/extensions/mention/mention-list.d.ts +12 -1
  98. package/dist/lib/components/ui/terminal/index.d.ts +2 -0
  99. package/dist/lib/components/ui/terminal/terminal.d.ts +11 -0
  100. package/dist/lib/components/ui/terminal/terminal.stories.d.ts +14 -0
  101. package/dist/lib/components/ui/terminal/terminal.utils.d.ts +5 -0
  102. package/dist/lib/components/ui/terminal/terminal.utils.test.d.ts +1 -0
  103. package/dist/lib/i18n/resources/en/index.d.ts +7 -0
  104. package/dist/lib/i18n/resources/en/material.json.d.ts +7 -0
  105. package/dist/lib/i18n/resources/fr/index.d.ts +7 -0
  106. package/dist/lib/i18n/resources/fr/material.json.d.ts +7 -0
  107. package/dist/lib/i18n/resources/index.d.ts +14 -0
  108. package/dist/lib/i18n/translator.d.ts +1 -1
  109. package/dist/{lib-CD3tyuc8.js → lib-Bbw5QPoj.js} +472 -471
  110. package/dist/lib.js +2 -2
  111. package/dist/{main-r84Yresa.js → main-BjDU9FDM.js} +59393 -30376
  112. package/dist/main.js +6 -6
  113. package/dist/material.css +1 -1
  114. package/dist/math-C5EhTgJw.js +10 -0
  115. package/dist/mermaid-parser.core-Cz-MfB4Z.js +638 -0
  116. package/dist/mermaid.core-BI1sunfX.js +1096 -0
  117. package/dist/mindmap-definition-NLK3R4M7-DW0BIU_q.js +1008 -0
  118. package/dist/ordinal-DuP05kVQ.js +65 -0
  119. package/dist/packet-AYTQ26CC-CshIswP8.js +3 -0
  120. package/dist/path-Cjou0lUh.js +85 -0
  121. package/dist/pegDiagram-GJSIUBJH-CJIx0u4M.js +94 -0
  122. package/dist/pie-WAS4IAKB-CYs22y4X.js +3 -0
  123. package/dist/pieDiagram-5QR66LMP-zAhv5fKz.js +157 -0
  124. package/dist/quadrantDiagram-O4NWA36T-CO4n_yQo.js +2001 -0
  125. package/dist/radar-RG4KPBEZ-BOJKjbGv.js +3 -0
  126. package/dist/railroad-74A4TZTK-Dt1BmUkI.js +3 -0
  127. package/dist/railroad-abnf-HS5TGJTU-Cs9GMUMY.js +3 -0
  128. package/dist/railroad-ebnf-LZEXJU2U-D4y0fXoW.js +3 -0
  129. package/dist/railroad-peg-WCYAUIDC-D2f_ZNR5.js +3 -0
  130. package/dist/railroadDiagram-XR7U4H2S-B8iV7mfe.js +76 -0
  131. package/dist/requirementDiagram-PLB6GJNP-CGoX1NrW.js +2228 -0
  132. package/dist/rough.esm-rcMoXTJj.js +1352 -0
  133. package/dist/sankeyDiagram-IPEJSGJF-DdSM2wiI.js +962 -0
  134. package/dist/sequenceDiagram-PO4LG4MO-CCRqF5XO.js +4200 -0
  135. package/dist/sizeCapture-INFHLROL-CHXIsPO_.js +46 -0
  136. package/dist/src-B4npqWNl.js +1775 -0
  137. package/dist/stateDiagram-v2-GCMORJYK-CQTX5ks8.js +2143 -0
  138. package/dist/step-B6KjpKgN.js +706 -0
  139. package/dist/string-B-ZWXCs2.js +392 -0
  140. package/dist/swimlanes-2SLR337P-C2NNOb5n.js +4763 -0
  141. package/dist/swimlanesDiagram-TC7HE7FX-CPsqPrbP.js +28 -0
  142. package/dist/timeline-definition-EJHVYXUP-DuxGHv-N.js +1073 -0
  143. package/dist/treeView-Q6P3EWNA-BrJylG9N.js +3 -0
  144. package/dist/treemap-WGGIJYW6-DpIZuqbj.js +3 -0
  145. package/dist/usecaseDiagram-POWQR4AR-cuAeIBW3.js +9932 -0
  146. package/dist/vennDiagram-UO4OBE2U-DLwBSAnC.js +1880 -0
  147. package/dist/wardley-WFR3VGLG-CbwdAAbH.js +3 -0
  148. package/dist/wardleyDiagram-VNRHLVJA-D7IZU6vu.js +645 -0
  149. package/dist/xychartDiagram-PMCCYNJV-BDOFv_xK.js +2167 -0
  150. package/package.json +7 -1
@@ -0,0 +1,3 @@
1
+ import "./chunk-FOHPRMQF-Crq0JMf2.js";
2
+ import { i as e } from "./mermaid-parser.core-Cz-MfB4Z.js";
3
+ export { e as createWardleyServices };
@@ -0,0 +1,645 @@
1
+ import { n as e } from "./src-B4npqWNl.js";
2
+ import { i as t } from "./chunk-ZIGJFQKS-CP5430fN.js";
3
+ import { n } from "./mermaid-parser.core-Cz-MfB4Z.js";
4
+ import { n as r } from "./chunk-Y2CYZVJY-i11wjrBe.js";
5
+ import { D as i, H as a, U as o, a as s, b as c, c as l, q as u, v as d, w as f, x as p, y as m } from "./chunk-O7XYJQB3-md6vjVm4.js";
6
+ import { t as h } from "./chunk-6AEJRKK7-JyfUnUEu.js";
7
+ import { t as g } from "./chunk-JWPE2WC7-Ccb0QaC8.js";
8
+ //#region node_modules/mermaid/dist/chunks/mermaid.core/wardleyDiagram-VNRHLVJA.mjs
9
+ var _ = /* @__PURE__ */ r((e, t) => {
10
+ let n = e <= 1 ? e * 100 : e;
11
+ if (n < 0 || n > 100) throw Error(`${t} must be between 0-1 (decimal) or 0-100 (percentage). Received: ${e}`);
12
+ return n;
13
+ }, "toPercent"), v = /* @__PURE__ */ r((e, t, n) => ({
14
+ x: _(t, `${n} evolution`),
15
+ y: _(e, `${n} visibility`)
16
+ }), "toCoordinates"), y = /* @__PURE__ */ r((e) => {
17
+ if (e) {
18
+ if (e === "+<>") return "bidirectional";
19
+ if (e === "+<") return "backward";
20
+ if (e === "+>") return "forward";
21
+ }
22
+ }, "getFlowFromPort"), b = /* @__PURE__ */ r((e) => {
23
+ if (!e?.startsWith("+")) return {};
24
+ let t = /^\+'([^']*)'/.exec(e)?.[1];
25
+ return e.includes("<>") ? {
26
+ flow: "bidirectional",
27
+ label: t
28
+ } : e.includes("<") ? {
29
+ flow: "backward",
30
+ label: t
31
+ } : e.includes(">") ? {
32
+ flow: "forward",
33
+ label: t
34
+ } : { label: t };
35
+ }, "extractFlowFromArrow"), x = /* @__PURE__ */ r((e, t) => {
36
+ if (g(e, t), e.size && t.setSize(e.size.width, e.size.height), e.evolution) {
37
+ let n = e.evolution.stages.map((e) => e.secondName ? `${e.name.trim()} / ${e.secondName.trim()}` : e.name.trim()), r = e.evolution.stages.filter((e) => e.boundary !== void 0).map((e) => e.boundary);
38
+ t.updateAxes({
39
+ stages: n,
40
+ stageBoundaries: r
41
+ });
42
+ }
43
+ if (e.anchors.forEach((e) => {
44
+ let n = v(e.visibility, e.evolution, `Anchor "${e.name}"`);
45
+ t.addNode(e.name, e.name, n.x, n.y, "anchor");
46
+ }), e.components.forEach((e) => {
47
+ let n = v(e.visibility, e.evolution, `Component "${e.name}"`), r = e.label ? (e.label.negX ? -1 : 1) * e.label.offsetX : void 0, i = e.label ? (e.label.negY ? -1 : 1) * e.label.offsetY : void 0, a = e.decorator?.strategy;
48
+ t.addNode(e.name, e.name, n.x, n.y, "component", r, i, e.inertia, a);
49
+ }), e.notes.forEach((e) => {
50
+ let n = v(e.visibility, e.evolution, `Note "${e.text}"`);
51
+ t.addNote(e.text, n.x, n.y);
52
+ }), e.pipelines.forEach((e) => {
53
+ let n = t.getNode(e.parent);
54
+ if (!n || typeof n.y != "number") throw Error(`Pipeline "${e.parent}" must reference an existing component with coordinates.`);
55
+ let r = n.y;
56
+ t.startPipeline(e.parent), e.components.forEach((n) => {
57
+ let i = `${e.parent}_${n.name}`, a = n.label ? (n.label.negX ? -1 : 1) * n.label.offsetX : void 0, o = n.label ? (n.label.negY ? -1 : 1) * n.label.offsetY : void 0, s = _(n.evolution, `Pipeline component "${n.name}" evolution`);
58
+ t.addNode(i, n.name, s, r, "pipeline-component", a, o), t.addPipelineComponent(e.parent, i);
59
+ });
60
+ }), e.links.forEach((e) => {
61
+ let n = !!e.arrow && (e.arrow.includes("-.->") || e.arrow.includes(".-.")), r = y(e.fromPort) ?? y(e.toPort), { flow: i, label: a } = b(e.arrow);
62
+ !r && i && (r = i);
63
+ let o = e.linkLabel, s = a ?? o;
64
+ t.addLink(t.resolveNodeId(e.from), t.resolveNodeId(e.to), n, s, r);
65
+ }), e.evolves.forEach((e) => {
66
+ let n = t.getNode(e.component);
67
+ if (n?.y !== void 0) {
68
+ let r = _(e.target, `Evolve target for "${e.component}"`);
69
+ t.addTrend(e.component, r, n.y);
70
+ }
71
+ }), e.annotations.length > 0) {
72
+ let n = e.annotations[0], r = v(n.x, n.y, "Annotations box");
73
+ t.setAnnotationsBox(r.x, r.y);
74
+ }
75
+ e.annotation.forEach((e) => {
76
+ let n = v(e.x, e.y, `Annotation ${e.number}`);
77
+ t.addAnnotation(e.number, [{
78
+ x: n.x,
79
+ y: n.y
80
+ }], e.text);
81
+ }), e.accelerators.forEach((e) => {
82
+ let n = v(e.x, e.y, `Accelerator "${e.name}"`);
83
+ t.addAccelerator(e.name, n.x, n.y);
84
+ }), e.deaccelerators.forEach((e) => {
85
+ let n = v(e.x, e.y, `Deaccelerator "${e.name}"`);
86
+ t.addDeaccelerator(e.name, n.x, n.y);
87
+ });
88
+ }, "populateDb"), S = {
89
+ parser: { yy: void 0 },
90
+ parse: /* @__PURE__ */ r(async (t) => {
91
+ let r = await n("wardley", t);
92
+ e.debug(r);
93
+ let i = S.parser?.yy;
94
+ if (!i || typeof i.addNode != "function") throw Error("parser.parser?.yy was not a WardleyDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");
95
+ x(r, i);
96
+ }, "parse")
97
+ }, C = new class {
98
+ constructor() {
99
+ this.nodes = /* @__PURE__ */ new Map(), this.links = [], this.trends = /* @__PURE__ */ new Map(), this.pipelines = /* @__PURE__ */ new Map(), this.annotations = [], this.notes = [], this.accelerators = [], this.deaccelerators = [], this.axes = {};
100
+ }
101
+ static {
102
+ r(this, "WardleyBuilder");
103
+ }
104
+ addNode(e) {
105
+ let t = this.nodes.get(e.id) ?? {
106
+ id: e.id,
107
+ label: e.label
108
+ }, n = {
109
+ ...t,
110
+ ...e,
111
+ className: e.className ?? t.className,
112
+ labelOffsetX: e.labelOffsetX ?? t.labelOffsetX,
113
+ labelOffsetY: e.labelOffsetY ?? t.labelOffsetY
114
+ };
115
+ this.nodes.set(e.id, n);
116
+ }
117
+ addLink(e) {
118
+ this.links.push(e);
119
+ }
120
+ addTrend(e) {
121
+ this.trends.set(e.nodeId, e);
122
+ }
123
+ startPipeline(e) {
124
+ this.pipelines.set(e, {
125
+ nodeId: e,
126
+ componentIds: []
127
+ });
128
+ let t = this.nodes.get(e);
129
+ t && (t.isPipelineParent = !0);
130
+ }
131
+ addPipelineComponent(e, t) {
132
+ let n = this.pipelines.get(e);
133
+ n && n.componentIds.push(t);
134
+ let r = this.nodes.get(t);
135
+ r && (r.inPipeline = !0);
136
+ }
137
+ addAnnotation(e) {
138
+ this.annotations.push(e);
139
+ }
140
+ addNote(e) {
141
+ this.notes.push(e);
142
+ }
143
+ addAccelerator(e) {
144
+ this.accelerators.push(e);
145
+ }
146
+ addDeaccelerator(e) {
147
+ this.deaccelerators.push(e);
148
+ }
149
+ setAnnotationsBox(e, t) {
150
+ this.annotationsBox = {
151
+ x: e,
152
+ y: t
153
+ };
154
+ }
155
+ setAxes(e) {
156
+ this.axes = {
157
+ ...this.axes,
158
+ ...e
159
+ };
160
+ }
161
+ setSize(e, t) {
162
+ this.size = {
163
+ width: e,
164
+ height: t
165
+ };
166
+ }
167
+ getNode(e) {
168
+ return this.nodes.get(e);
169
+ }
170
+ resolveNodeId(e) {
171
+ if (this.nodes.has(e)) return e;
172
+ for (let [t, n] of this.nodes) if (n.label === e) return t;
173
+ return e;
174
+ }
175
+ build() {
176
+ let e = [];
177
+ for (let t of this.nodes.values()) {
178
+ if (typeof t.x != "number" || typeof t.y != "number") throw Error(`Node "${t.label}" is missing coordinates`);
179
+ e.push(t);
180
+ }
181
+ return {
182
+ nodes: e,
183
+ links: [...this.links],
184
+ trends: [...this.trends.values()],
185
+ pipelines: [...this.pipelines.values()],
186
+ annotations: [...this.annotations],
187
+ notes: [...this.notes],
188
+ accelerators: [...this.accelerators],
189
+ deaccelerators: [...this.deaccelerators],
190
+ annotationsBox: this.annotationsBox,
191
+ axes: { ...this.axes },
192
+ size: this.size
193
+ };
194
+ }
195
+ clear() {
196
+ this.nodes.clear(), this.links = [], this.trends.clear(), this.pipelines.clear(), this.annotations = [], this.notes = [], this.accelerators = [], this.deaccelerators = [], this.annotationsBox = void 0, this.axes = {}, this.size = void 0;
197
+ }
198
+ }();
199
+ function w() {
200
+ return p()["wardley-beta"];
201
+ }
202
+ r(w, "getConfig");
203
+ function T(e, t, n, r, i, a, o, s, c) {
204
+ C.addNode({
205
+ id: e,
206
+ label: t,
207
+ x: n,
208
+ y: r,
209
+ className: i,
210
+ labelOffsetX: a,
211
+ labelOffsetY: o,
212
+ inertia: s,
213
+ sourceStrategy: c
214
+ });
215
+ }
216
+ r(T, "addNode");
217
+ function E(e, t, n = !1, r, i) {
218
+ C.addLink({
219
+ source: e,
220
+ target: t,
221
+ dashed: n,
222
+ label: r,
223
+ flow: i
224
+ });
225
+ }
226
+ r(E, "addLink");
227
+ function D(e, t, n) {
228
+ C.addTrend({
229
+ nodeId: e,
230
+ targetX: t,
231
+ targetY: n
232
+ });
233
+ }
234
+ r(D, "addTrend");
235
+ function O(e, t, n) {
236
+ C.addAnnotation({
237
+ number: e,
238
+ coordinates: t,
239
+ text: n
240
+ });
241
+ }
242
+ r(O, "addAnnotation");
243
+ function k(e, t, n) {
244
+ C.addNote({
245
+ text: e,
246
+ x: t,
247
+ y: n
248
+ });
249
+ }
250
+ r(k, "addNote");
251
+ function A(e, t, n) {
252
+ C.addAccelerator({
253
+ name: e,
254
+ x: t,
255
+ y: n
256
+ });
257
+ }
258
+ r(A, "addAccelerator");
259
+ function j(e, t, n) {
260
+ C.addDeaccelerator({
261
+ name: e,
262
+ x: t,
263
+ y: n
264
+ });
265
+ }
266
+ r(j, "addDeaccelerator");
267
+ function M(e, t) {
268
+ C.setAnnotationsBox(e, t);
269
+ }
270
+ r(M, "setAnnotationsBox");
271
+ function N(e, t) {
272
+ C.setSize(e, t);
273
+ }
274
+ r(N, "setSize");
275
+ function P(e) {
276
+ C.startPipeline(e);
277
+ }
278
+ r(P, "startPipeline");
279
+ function F(e, t) {
280
+ C.addPipelineComponent(e, t);
281
+ }
282
+ r(F, "addPipelineComponent");
283
+ function I(e) {
284
+ C.setAxes(e);
285
+ }
286
+ r(I, "updateAxes");
287
+ function L(e) {
288
+ return C.getNode(e);
289
+ }
290
+ r(L, "getNode");
291
+ function R(e) {
292
+ return C.resolveNodeId(e);
293
+ }
294
+ r(R, "resolveNodeId");
295
+ function z() {
296
+ return C.build();
297
+ }
298
+ r(z, "getWardleyData");
299
+ function B() {
300
+ C.clear(), s();
301
+ }
302
+ r(B, "clear");
303
+ var V = {
304
+ getConfig: w,
305
+ addNode: T,
306
+ addLink: E,
307
+ addTrend: D,
308
+ addAnnotation: O,
309
+ addNote: k,
310
+ addAccelerator: A,
311
+ addDeaccelerator: j,
312
+ setAnnotationsBox: M,
313
+ setSize: N,
314
+ startPipeline: P,
315
+ addPipelineComponent: F,
316
+ updateAxes: I,
317
+ getNode: L,
318
+ resolveNodeId: R,
319
+ getWardleyData: z,
320
+ clear: B,
321
+ setAccTitle: o,
322
+ getAccTitle: m,
323
+ setDiagramTitle: u,
324
+ getDiagramTitle: f,
325
+ getAccDescription: d,
326
+ setAccDescription: a
327
+ }, H = [
328
+ "Genesis",
329
+ "Custom Built",
330
+ "Product",
331
+ "Commodity"
332
+ ], U = /* @__PURE__ */ r(() => {
333
+ let { themeVariables: e } = p();
334
+ return {
335
+ backgroundColor: e.wardley?.backgroundColor ?? e.background ?? "#fff",
336
+ axisColor: e.wardley?.axisColor ?? "#000",
337
+ axisTextColor: e.wardley?.axisTextColor ?? e.primaryTextColor ?? "#222",
338
+ gridColor: e.wardley?.gridColor ?? "rgba(100, 100, 100, 0.2)",
339
+ componentFill: e.wardley?.componentFill ?? "#fff",
340
+ componentStroke: e.wardley?.componentStroke ?? "#000",
341
+ componentLabelColor: e.wardley?.componentLabelColor ?? e.primaryTextColor ?? "#222",
342
+ linkStroke: e.wardley?.linkStroke ?? "#000",
343
+ evolutionStroke: e.wardley?.evolutionStroke ?? "#dc3545",
344
+ annotationStroke: e.wardley?.annotationStroke ?? "#000",
345
+ annotationTextColor: e.wardley?.annotationTextColor ?? e.primaryTextColor ?? "#222",
346
+ annotationFill: e.wardley?.annotationFill ?? e.background ?? "#fff"
347
+ };
348
+ }, "getTheme"), W = /* @__PURE__ */ r(() => {
349
+ let e = p()["wardley-beta"];
350
+ return {
351
+ width: e?.width ?? 900,
352
+ height: e?.height ?? 600,
353
+ padding: e?.padding ?? 48,
354
+ nodeRadius: e?.nodeRadius ?? 6,
355
+ nodeLabelOffset: e?.nodeLabelOffset ?? 8,
356
+ axisFontSize: e?.axisFontSize ?? 12,
357
+ labelFontSize: e?.labelFontSize ?? 10,
358
+ showGrid: e?.showGrid ?? !1,
359
+ useMaxWidth: e?.useMaxWidth ?? !0
360
+ };
361
+ }, "getConfigValues"), G = {
362
+ parser: S,
363
+ db: V,
364
+ renderer: { draw: /* @__PURE__ */ r((t, n, i, a) => {
365
+ e.debug("Rendering Wardley map\n" + t);
366
+ let o = W(), s = U(), c = o.nodeRadius * 1.6, u = a.db, d = u.getWardleyData(), f = u.getDiagramTitle(), p = d.size?.width ?? o.width, m = d.size?.height ?? o.height, g = h(n);
367
+ g.selectAll("*").remove(), l(g, m, p, o.useMaxWidth), g.attr("viewBox", `0 0 ${p} ${m}`);
368
+ let _ = g.append("g").attr("class", "wardley-map"), v = g.append("defs");
369
+ v.append("marker").attr("id", `arrow-${n}`).attr("viewBox", "0 0 10 10").attr("refX", 9).attr("refY", 5).attr("markerWidth", 6).attr("markerHeight", 6).attr("orient", "auto-start-reverse").append("path").attr("d", "M 0 0 L 10 5 L 0 10 z").attr("fill", s.evolutionStroke).attr("stroke", "none"), v.append("marker").attr("id", `link-arrow-end-${n}`).attr("viewBox", "0 0 10 10").attr("refX", 9).attr("refY", 5).attr("markerWidth", 5).attr("markerHeight", 5).attr("orient", "auto").append("path").attr("d", "M 0 0 L 10 5 L 0 10 z").attr("fill", s.linkStroke).attr("stroke", "none"), v.append("marker").attr("id", `link-arrow-start-${n}`).attr("viewBox", "0 0 10 10").attr("refX", 1).attr("refY", 5).attr("markerWidth", 5).attr("markerHeight", 5).attr("orient", "auto").append("path").attr("d", "M 10 0 L 0 5 L 10 10 z").attr("fill", s.linkStroke).attr("stroke", "none"), _.append("rect").attr("class", "wardley-background").attr("width", p).attr("height", m).attr("fill", s.backgroundColor);
370
+ let y = p - o.padding * 2, b = m - o.padding * 2;
371
+ f && _.append("text").attr("class", "wardley-title").attr("x", p / 2).attr("y", o.padding / 2).attr("fill", s.axisTextColor).attr("font-size", o.axisFontSize * 1.05).attr("font-weight", "bold").attr("text-anchor", "middle").attr("dominant-baseline", "middle").text(f);
372
+ let x = /* @__PURE__ */ r((e) => o.padding + e / 100 * y, "projectX"), S = /* @__PURE__ */ r((e) => m - o.padding - e / 100 * b, "projectY"), C = _.append("g").attr("class", "wardley-axes");
373
+ C.append("line").attr("x1", o.padding).attr("x2", p - o.padding).attr("y1", m - o.padding).attr("y2", m - o.padding).attr("stroke", s.axisColor).attr("stroke-width", 1), C.append("line").attr("x1", o.padding).attr("x2", o.padding).attr("y1", o.padding).attr("y2", m - o.padding).attr("stroke", s.axisColor).attr("stroke-width", 1);
374
+ let w = d.axes.xLabel ?? "Evolution", T = d.axes.yLabel ?? "Visibility";
375
+ C.append("text").attr("class", "wardley-axis-label wardley-axis-label-x").attr("x", o.padding + y / 2).attr("y", m - o.padding / 4).attr("fill", s.axisTextColor).attr("font-size", o.axisFontSize).attr("font-weight", "bold").attr("text-anchor", "middle").text(w), C.append("text").attr("class", "wardley-axis-label wardley-axis-label-y").attr("x", o.padding / 3).attr("y", o.padding + b / 2).attr("fill", s.axisTextColor).attr("font-size", o.axisFontSize).attr("font-weight", "bold").attr("text-anchor", "middle").attr("transform", `rotate(-90 ${o.padding / 3} ${o.padding + b / 2})`).text(T);
376
+ let E = d.axes.stages && d.axes.stages.length > 0 ? d.axes.stages : H;
377
+ if (E.length > 0) {
378
+ let e = _.append("g").attr("class", "wardley-stages"), t = d.axes.stageBoundaries, n = [];
379
+ if (t && t.length === E.length) {
380
+ let e = 0;
381
+ t.forEach((t) => {
382
+ n.push({
383
+ start: e,
384
+ end: t
385
+ }), e = t;
386
+ });
387
+ } else {
388
+ let e = 1 / E.length;
389
+ E.forEach((t, r) => {
390
+ n.push({
391
+ start: r * e,
392
+ end: (r + 1) * e
393
+ });
394
+ });
395
+ }
396
+ E.forEach((t, r) => {
397
+ let i = n[r], a = o.padding + i.start * y, c = (a + (o.padding + i.end * y)) / 2;
398
+ r > 0 && e.append("line").attr("x1", a).attr("x2", a).attr("y1", o.padding).attr("y2", m - o.padding).attr("stroke", "#000").attr("stroke-width", 1).attr("stroke-dasharray", "5 5").attr("opacity", .8), e.append("text").attr("class", "wardley-stage-label").attr("x", c).attr("y", m - o.padding / 1.5).attr("fill", s.axisTextColor).attr("font-size", o.axisFontSize - 2).attr("text-anchor", "middle").text(t);
399
+ });
400
+ }
401
+ if (o.showGrid) {
402
+ let e = _.append("g").attr("class", "wardley-grid");
403
+ for (let t = 1; t < 4; t++) {
404
+ let n = t / 4, r = o.padding + y * n;
405
+ e.append("line").attr("x1", r).attr("x2", r).attr("y1", o.padding).attr("y2", m - o.padding).attr("stroke", s.gridColor).attr("stroke-dasharray", "2 6"), e.append("line").attr("x1", o.padding).attr("x2", p - o.padding).attr("y1", m - o.padding - b * n).attr("y2", m - o.padding - b * n).attr("stroke", s.gridColor).attr("stroke-dasharray", "2 6");
406
+ }
407
+ }
408
+ let D = /* @__PURE__ */ new Map();
409
+ if (d.nodes.forEach((e) => {
410
+ D.set(e.id, {
411
+ x: x(e.x),
412
+ y: S(e.y),
413
+ node: e
414
+ });
415
+ }), d.pipelines.length > 0) {
416
+ let e = _.append("g").attr("class", "wardley-pipelines"), t = _.append("g").attr("class", "wardley-pipeline-links");
417
+ d.pipelines.forEach((n) => {
418
+ if (n.componentIds.length === 0) return;
419
+ let r = n.componentIds.map((e) => ({
420
+ id: e,
421
+ pos: D.get(e),
422
+ node: d.nodes.find((t) => t.id === e)
423
+ })).filter((e) => e.pos && e.node).sort((e, t) => e.node.x - t.node.x);
424
+ for (let e = 0; e < r.length - 1; e++) {
425
+ let n = r[e], i = r[e + 1];
426
+ t.append("line").attr("class", "wardley-pipeline-evolution-link").attr("x1", n.pos.x).attr("y1", n.pos.y).attr("x2", i.pos.x).attr("y2", i.pos.y).attr("stroke", s.linkStroke).attr("stroke-width", 1).attr("stroke-dasharray", "4 4");
427
+ }
428
+ let i = Infinity, a = -Infinity, l = 0;
429
+ if (n.componentIds.forEach((e) => {
430
+ let t = D.get(e);
431
+ t && (i = Math.min(i, t.x), a = Math.max(a, t.x), l = t.y);
432
+ }), i !== Infinity && a !== -Infinity) {
433
+ let t = o.nodeRadius * 4, r = l - t / 2, u = D.get(n.nodeId);
434
+ u && (u.x = (i + a) / 2, u.y = r - c / 6), e.append("rect").attr("class", "wardley-pipeline-box").attr("x", i - 15).attr("y", r).attr("width", a - i + 30).attr("height", t).attr("fill", "none").attr("stroke", s.axisColor).attr("stroke-width", 1.5).attr("rx", 4).attr("ry", 4);
435
+ }
436
+ });
437
+ }
438
+ let O = _.append("g").attr("class", "wardley-links"), k = /* @__PURE__ */ new Map();
439
+ d.pipelines.forEach((e) => {
440
+ k.set(e.nodeId, new Set(e.componentIds));
441
+ });
442
+ let A = d.links.filter((e) => !(!D.has(e.source) || !D.has(e.target) || k.get(e.target)?.has(e.source)));
443
+ O.selectAll("line").data(A).enter().append("line").attr("class", (e) => `wardley-link${e.dashed ? " wardley-link--dashed" : ""}`).attr("x1", (e) => {
444
+ let t = D.get(e.source), n = D.get(e.target), r = d.nodes.find((t) => t.id === e.source).isPipelineParent ? c / Math.sqrt(2) : o.nodeRadius, i = n.x - t.x, a = n.y - t.y, s = Math.sqrt(i * i + a * a);
445
+ return t.x + i / s * r;
446
+ }).attr("y1", (e) => {
447
+ let t = D.get(e.source), n = D.get(e.target), r = d.nodes.find((t) => t.id === e.source).isPipelineParent ? c / Math.sqrt(2) : o.nodeRadius, i = n.x - t.x, a = n.y - t.y, s = Math.sqrt(i * i + a * a);
448
+ return t.y + a / s * r;
449
+ }).attr("x2", (e) => {
450
+ let t = D.get(e.source), n = D.get(e.target), r = d.nodes.find((t) => t.id === e.target).isPipelineParent ? c / Math.sqrt(2) : o.nodeRadius, i = t.x - n.x, a = t.y - n.y, s = Math.sqrt(i * i + a * a);
451
+ return n.x + i / s * r;
452
+ }).attr("y2", (e) => {
453
+ let t = D.get(e.source), n = D.get(e.target), r = d.nodes.find((t) => t.id === e.target).isPipelineParent ? c / Math.sqrt(2) : o.nodeRadius, i = t.x - n.x, a = t.y - n.y, s = Math.sqrt(i * i + a * a);
454
+ return n.y + a / s * r;
455
+ }).attr("stroke", s.linkStroke).attr("stroke-width", 1).attr("stroke-dasharray", (e) => e.dashed ? "6 6" : null).attr("marker-end", (e) => e.flow === "forward" || e.flow === "bidirectional" ? `url(#link-arrow-end-${n})` : null).attr("marker-start", (e) => e.flow === "backward" || e.flow === "bidirectional" ? `url(#link-arrow-start-${n})` : null), O.selectAll("text").data(A.filter((e) => e.label)).enter().append("text").attr("class", "wardley-link-label").attr("x", (e) => {
456
+ let t = D.get(e.source), n = D.get(e.target), r = (t.x + n.x) / 2, i = n.y - t.y, a = n.x - t.x;
457
+ return r + i / Math.sqrt(a * a + i * i) * 8;
458
+ }).attr("y", (e) => {
459
+ let t = D.get(e.source), n = D.get(e.target), r = (t.y + n.y) / 2, i = n.x - t.x, a = n.y - t.y, o = Math.sqrt(i * i + a * a);
460
+ return r + -i / o * 8;
461
+ }).attr("fill", s.axisTextColor).attr("font-size", o.labelFontSize).attr("text-anchor", "middle").attr("dominant-baseline", "middle").attr("transform", (e) => {
462
+ let t = D.get(e.source), n = D.get(e.target), r = (t.x + n.x) / 2, i = (t.y + n.y) / 2, a = n.x - t.x, o = n.y - t.y, s = Math.sqrt(a * a + o * o), c = o / s, l = -a / s, u = r + c * 8, d = i + l * 8, f = Math.atan2(o, a) * 180 / Math.PI;
463
+ return (f > 90 || f < -90) && (f += 180), `rotate(${f} ${u} ${d})`;
464
+ }).text((e) => e.label);
465
+ let j = _.append("g").attr("class", "wardley-trends"), M = d.trends.map((e) => {
466
+ let t = D.get(e.nodeId);
467
+ if (!t) return null;
468
+ let n = x(e.targetX), r = S(e.targetY), i = n - t.x, a = r - t.y, s = Math.sqrt(i * i + a * a), c = o.nodeRadius + 2;
469
+ return {
470
+ origin: t,
471
+ targetX: n,
472
+ targetY: r,
473
+ adjustedX2: s > c ? n - i / s * c : n,
474
+ adjustedY2: s > c ? r - a / s * c : r
475
+ };
476
+ }).filter((e) => e !== null);
477
+ j.selectAll("line").data(M).enter().append("line").attr("class", "wardley-trend").attr("x1", (e) => e.origin.x).attr("y1", (e) => e.origin.y).attr("x2", (e) => e.adjustedX2).attr("y2", (e) => e.adjustedY2).attr("stroke", s.evolutionStroke).attr("stroke-width", 1).attr("stroke-dasharray", "4 4").attr("marker-end", `url(#arrow-${n})`);
478
+ let N = _.append("g").attr("class", "wardley-nodes").selectAll("g").data(d.nodes).enter().append("g").attr("class", (e) => ["wardley-node", e.className ? `wardley-node--${e.className}` : ""].filter(Boolean).join(" "));
479
+ N.filter((e) => e.sourceStrategy === "outsource").append("circle").attr("class", "wardley-outsource-overlay").attr("cx", (e) => D.get(e.id).x).attr("cy", (e) => D.get(e.id).y).attr("r", o.nodeRadius * 2).attr("fill", "#666").attr("stroke", s.componentStroke).attr("stroke-width", 1), N.filter((e) => e.sourceStrategy === "buy").append("circle").attr("class", "wardley-buy-overlay").attr("cx", (e) => D.get(e.id).x).attr("cy", (e) => D.get(e.id).y).attr("r", o.nodeRadius * 2).attr("fill", "#ccc").attr("stroke", s.componentStroke).attr("stroke-width", 1), N.filter((e) => e.sourceStrategy === "build").append("circle").attr("class", "wardley-build-overlay").attr("cx", (e) => D.get(e.id).x).attr("cy", (e) => D.get(e.id).y).attr("r", o.nodeRadius * 2).attr("fill", "#eee").attr("stroke", "#000").attr("stroke-width", 1);
480
+ let P = N.filter((e) => e.sourceStrategy === "market");
481
+ P.append("circle").attr("class", "wardley-market-overlay").attr("cx", (e) => D.get(e.id).x).attr("cy", (e) => D.get(e.id).y).attr("r", o.nodeRadius * 2).attr("fill", "white").attr("stroke", s.componentStroke).attr("stroke-width", 1), N.filter((e) => !e.isPipelineParent && e.sourceStrategy !== "market" && e.className !== "anchor").append("circle").attr("cx", (e) => D.get(e.id).x).attr("cy", (e) => D.get(e.id).y).attr("r", o.nodeRadius).attr("fill", s.componentFill).attr("stroke", s.componentStroke).attr("stroke-width", 1);
482
+ let F = o.nodeRadius * .7, I = o.nodeRadius * 1.2;
483
+ if (P.append("line").attr("class", "wardley-market-line").attr("x1", (e) => D.get(e.id).x).attr("y1", (e) => D.get(e.id).y - I).attr("x2", (e) => D.get(e.id).x - I * Math.cos(Math.PI / 6)).attr("y2", (e) => D.get(e.id).y + I * Math.sin(Math.PI / 6)).attr("stroke", s.componentStroke).attr("stroke-width", 1), P.append("line").attr("class", "wardley-market-line").attr("x1", (e) => D.get(e.id).x - I * Math.cos(Math.PI / 6)).attr("y1", (e) => D.get(e.id).y + I * Math.sin(Math.PI / 6)).attr("x2", (e) => D.get(e.id).x + I * Math.cos(Math.PI / 6)).attr("y2", (e) => D.get(e.id).y + I * Math.sin(Math.PI / 6)).attr("stroke", s.componentStroke).attr("stroke-width", 1), P.append("line").attr("class", "wardley-market-line").attr("x1", (e) => D.get(e.id).x + I * Math.cos(Math.PI / 6)).attr("y1", (e) => D.get(e.id).y + I * Math.sin(Math.PI / 6)).attr("x2", (e) => D.get(e.id).x).attr("y2", (e) => D.get(e.id).y - I).attr("stroke", s.componentStroke).attr("stroke-width", 1), P.append("circle").attr("class", "wardley-market-dot").attr("cx", (e) => D.get(e.id).x).attr("cy", (e) => D.get(e.id).y - I).attr("r", F).attr("fill", "white").attr("stroke", s.componentStroke).attr("stroke-width", 2), P.append("circle").attr("class", "wardley-market-dot").attr("cx", (e) => D.get(e.id).x - I * Math.cos(Math.PI / 6)).attr("cy", (e) => D.get(e.id).y + I * Math.sin(Math.PI / 6)).attr("r", F).attr("fill", "white").attr("stroke", s.componentStroke).attr("stroke-width", 2), P.append("circle").attr("class", "wardley-market-dot").attr("cx", (e) => D.get(e.id).x + I * Math.cos(Math.PI / 6)).attr("cy", (e) => D.get(e.id).y + I * Math.sin(Math.PI / 6)).attr("r", F).attr("fill", "white").attr("stroke", s.componentStroke).attr("stroke-width", 2), N.filter((e) => e.isPipelineParent === !0).append("rect").attr("x", (e) => D.get(e.id).x - c / 2).attr("y", (e) => D.get(e.id).y - c / 2).attr("width", c).attr("height", c).attr("fill", s.componentFill).attr("stroke", s.componentStroke).attr("stroke-width", 1), N.filter((e) => e.inertia === !0).append("line").attr("class", "wardley-inertia").attr("x1", (e) => {
484
+ let t = D.get(e.id), n = e.isPipelineParent ? c / 2 + 15 : o.nodeRadius + 15;
485
+ return e.sourceStrategy && (n += o.nodeRadius + 10), t.x + n;
486
+ }).attr("y1", (e) => {
487
+ let t = D.get(e.id), n = e.isPipelineParent ? c : o.nodeRadius * 2;
488
+ return t.y - n / 2;
489
+ }).attr("x2", (e) => {
490
+ let t = D.get(e.id), n = e.isPipelineParent ? c / 2 + 15 : o.nodeRadius + 15;
491
+ return e.sourceStrategy && (n += o.nodeRadius + 10), t.x + n;
492
+ }).attr("y2", (e) => {
493
+ let t = D.get(e.id), n = e.isPipelineParent ? c : o.nodeRadius * 2;
494
+ return t.y + n / 2;
495
+ }).attr("stroke", s.componentStroke).attr("stroke-width", 6), N.append("text").attr("x", (e) => {
496
+ let t = D.get(e.id);
497
+ if (e.className === "anchor") return e.labelOffsetX === void 0 ? t.x : t.x + e.labelOffsetX;
498
+ let n = o.nodeLabelOffset;
499
+ e.sourceStrategy && e.labelOffsetX === void 0 && (n += 10);
500
+ let r = e.labelOffsetX ?? n;
501
+ return t.x + r;
502
+ }).attr("y", (e) => {
503
+ let t = D.get(e.id);
504
+ if (e.className === "anchor") return e.labelOffsetY === void 0 ? t.y - 3 : t.y + e.labelOffsetY;
505
+ let n = -o.nodeLabelOffset;
506
+ e.sourceStrategy && e.labelOffsetY === void 0 && (n -= 10);
507
+ let r = e.labelOffsetY ?? n;
508
+ return t.y + r;
509
+ }).attr("class", "wardley-node-label").attr("fill", (e) => e.className === "evolved" ? s.evolutionStroke : e.className === "anchor" ? "#000" : s.componentLabelColor).attr("font-size", o.labelFontSize).attr("font-weight", (e) => e.className === "anchor" ? "bold" : "normal").attr("text-anchor", (e) => e.className === "anchor" ? "middle" : "start").attr("dominant-baseline", (e) => e.className === "anchor" ? "middle" : "auto").text((e) => e.label), d.annotations.length > 0) {
510
+ let e = _.append("g").attr("class", "wardley-annotations");
511
+ if (d.annotations.forEach((t) => {
512
+ let n = t.coordinates.map((e) => ({
513
+ x: x(e.x),
514
+ y: S(e.y)
515
+ }));
516
+ if (n.length > 1) for (let t = 0; t < n.length - 1; t++) e.append("line").attr("class", "wardley-annotation-line").attr("x1", n[t].x).attr("y1", n[t].y).attr("x2", n[t + 1].x).attr("y2", n[t + 1].y).attr("stroke", s.axisColor).attr("stroke-width", 1.5).attr("stroke-dasharray", "4 4");
517
+ n.forEach((n) => {
518
+ let r = e.append("g").attr("class", "wardley-annotation");
519
+ r.append("circle").attr("cx", n.x).attr("cy", n.y).attr("r", 10).attr("fill", "white").attr("stroke", s.axisColor).attr("stroke-width", 1.5), r.append("text").attr("x", n.x).attr("y", n.y).attr("text-anchor", "middle").attr("dominant-baseline", "central").attr("font-size", 10).attr("fill", s.axisTextColor).attr("font-weight", "bold").text(t.number);
520
+ });
521
+ }), d.annotationsBox) {
522
+ let t = x(d.annotationsBox.x), n = S(d.annotationsBox.y), r = e.append("g").attr("class", "wardley-annotations-box"), i = [...d.annotations].filter((e) => e.text).sort((e, t) => e.number - t.number), a = [];
523
+ if (i.forEach((e, i) => {
524
+ let o = r.append("text").attr("x", t + 10).attr("y", n + 10 + (i + 1) * 16).attr("font-size", 11).attr("fill", s.axisTextColor).attr("text-anchor", "start").attr("dominant-baseline", "middle").text(`${e.number}. ${e.text}`);
525
+ a.push(o);
526
+ }), a.length > 0) {
527
+ let e = 0, c = 0;
528
+ a.forEach((t) => {
529
+ let n = t.node(), r = n.getComputedTextLength();
530
+ e = Math.max(e, r);
531
+ let i = n.getBBox();
532
+ c = Math.max(c, i.height);
533
+ });
534
+ let l = e + 20 + 105, u = i.length * 16 + 20 + c / 2, d = o.padding, f = p - o.padding - l, h = o.padding, g = m - o.padding - u;
535
+ t = Math.max(d, Math.min(t, f)), n = Math.max(h, Math.min(n, g)), a.forEach((e, r) => {
536
+ e.attr("x", t + 10).attr("y", n + 10 + (r + 1) * 16);
537
+ }), r.insert("rect", "text").attr("x", t).attr("y", n).attr("width", l).attr("height", u).attr("fill", "white").attr("stroke", s.axisColor).attr("stroke-width", 1.5).attr("rx", 4).attr("ry", 4);
538
+ }
539
+ }
540
+ }
541
+ if (d.notes.length > 0) {
542
+ let e = _.append("g").attr("class", "wardley-notes");
543
+ d.notes.forEach((t) => {
544
+ let n = x(t.x), r = S(t.y);
545
+ e.append("text").attr("x", n).attr("y", r).attr("text-anchor", "start").attr("font-size", 11).attr("fill", s.axisTextColor).attr("font-weight", "bold").text(t.text);
546
+ });
547
+ }
548
+ if (d.accelerators.length > 0) {
549
+ let e = _.append("g").attr("class", "wardley-accelerators");
550
+ d.accelerators.forEach((t) => {
551
+ let n = x(t.x), r = S(t.y), i = `
552
+ M ${n} ${r - 30 / 2}
553
+ L ${n + 60 - 20} ${r - 30 / 2}
554
+ L ${n + 60 - 20} ${r - 30 / 2 - 8}
555
+ L ${n + 60} ${r}
556
+ L ${n + 60 - 20} ${r + 30 / 2 + 8}
557
+ L ${n + 60 - 20} ${r + 30 / 2}
558
+ L ${n} ${r + 30 / 2}
559
+ Z
560
+ `;
561
+ e.append("path").attr("d", i).attr("fill", "white").attr("stroke", s.componentStroke).attr("stroke-width", 1), e.append("text").attr("x", n + 60 / 2).attr("y", r + 30 / 2 + 15).attr("text-anchor", "middle").attr("font-size", 10).attr("fill", s.axisTextColor).attr("font-weight", "bold").text(t.name);
562
+ });
563
+ }
564
+ if (d.deaccelerators.length > 0) {
565
+ let e = _.append("g").attr("class", "wardley-deaccelerators");
566
+ d.deaccelerators.forEach((t) => {
567
+ let n = x(t.x), r = S(t.y), i = `
568
+ M ${n + 60} ${r - 30 / 2}
569
+ L ${n + 20} ${r - 30 / 2}
570
+ L ${n + 20} ${r - 30 / 2 - 8}
571
+ L ${n} ${r}
572
+ L ${n + 20} ${r + 30 / 2 + 8}
573
+ L ${n + 20} ${r + 30 / 2}
574
+ L ${n + 60} ${r + 30 / 2}
575
+ Z
576
+ `;
577
+ e.append("path").attr("d", i).attr("fill", "white").attr("stroke", s.componentStroke).attr("stroke-width", 1), e.append("text").attr("x", n + 60 / 2).attr("y", r + 30 / 2 + 15).attr("text-anchor", "middle").attr("font-size", 10).attr("fill", s.axisTextColor).attr("font-weight", "bold").text(t.name);
578
+ });
579
+ }
580
+ }, "draw") },
581
+ styles: /* @__PURE__ */ r(({ wardley: e } = {}) => {
582
+ let n = t(t(i(), c().themeVariables).wardley, e);
583
+ return `
584
+ .wardley-background {
585
+ fill: ${n.backgroundColor};
586
+ }
587
+ .wardley-axes line, .wardley-axes path {
588
+ stroke: ${n.axisColor};
589
+ }
590
+ .wardley-axis-label {
591
+ fill: ${n.axisTextColor};
592
+ }
593
+ .wardley-stage-label {
594
+ fill: ${n.axisTextColor};
595
+ }
596
+ .wardley-grid line {
597
+ stroke: ${n.gridColor};
598
+ }
599
+ .wardley-node circle {
600
+ fill: ${n.componentFill};
601
+ stroke: ${n.componentStroke};
602
+ }
603
+ .wardley-node-label {
604
+ fill: ${n.componentLabelColor};
605
+ }
606
+ .wardley-link {
607
+ stroke: ${n.linkStroke};
608
+ }
609
+ .wardley-link--dashed {
610
+ stroke-dasharray: 4 4;
611
+ }
612
+ .wardley-link-label {
613
+ fill: ${n.axisTextColor};
614
+ }
615
+ .wardley-trend line {
616
+ stroke: ${n.evolutionStroke};
617
+ }
618
+ .wardley-annotation-line {
619
+ stroke: ${n.annotationStroke};
620
+ }
621
+ .wardley-annotation circle {
622
+ fill: ${n.annotationFill};
623
+ stroke: ${n.annotationStroke};
624
+ }
625
+ .wardley-annotation text {
626
+ fill: ${n.annotationTextColor};
627
+ }
628
+ .wardley-annotations-box rect {
629
+ fill: ${n.annotationFill};
630
+ stroke: ${n.annotationStroke};
631
+ }
632
+ .wardley-annotations-box text {
633
+ fill: ${n.annotationTextColor};
634
+ }
635
+ .wardley-pipeline-box {
636
+ stroke: ${n.componentStroke};
637
+ }
638
+ .wardley-notes text {
639
+ fill: ${n.axisTextColor};
640
+ }
641
+ `;
642
+ }, "styles")
643
+ };
644
+ //#endregion
645
+ export { G as diagram };