@nxgt/material-vue 0.16.0 → 0.19.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 (157) hide show
  1. package/README.md +4 -0
  2. package/dist/_baseIsEqual-Cj6hHjs0.js +226 -0
  3. package/dist/abnfDiagram-O67JEVCF-Cl_I9xuI.js +89 -0
  4. package/dist/arc-DNNg1pxp.js +80 -0
  5. package/dist/architecture-7GRP2DOG-DDr0RGVC.js +3 -0
  6. package/dist/architectureDiagram-NJMV4G6O-CVS4UUCi.js +4146 -0
  7. package/dist/array-CApNbSU9.js +6 -0
  8. package/dist/blockDiagram-BEXU5L5S-B5Z0jbc8.js +1946 -0
  9. package/dist/c4Diagram-YGBWAQC7-B6jKsl3h.js +2990 -0
  10. package/dist/{camera-Cbd1TWFd.js → camera-oxz1xItP.js} +4 -4
  11. package/dist/channel-BA1GJyZ7.js +5 -0
  12. package/dist/chunk-2Q5K7J3B-kzxEEeTu.js +15 -0
  13. package/dist/chunk-3FUC2YCW-CX-v_TQz.js +364 -0
  14. package/dist/chunk-5DYCD2WN-B9vjeX2u.js +37 -0
  15. package/dist/chunk-5VM5RSS4-Cr17nBXp.js +5 -0
  16. package/dist/chunk-6AEJRKK7-D9IaQdwq.js +10 -0
  17. package/dist/chunk-742MDFTN-BIhVe9GR.js +275 -0
  18. package/dist/chunk-7INBJB4K-CwPgdc2G.js +4487 -0
  19. package/dist/chunk-7M6MHVWA-Deh_-m6x.js +4256 -0
  20. package/dist/chunk-7PRAP22T-CofnNOEr.js +67 -0
  21. package/dist/chunk-DUW6YSOI-BdOla2G8.js +10 -0
  22. package/dist/chunk-FOHPRMQF-Crq0JMf2.js +21388 -0
  23. package/dist/chunk-GNY47TPC-rS2K544k.js +75 -0
  24. package/dist/chunk-GTNCS2PH-BR0O70z_.js +490 -0
  25. package/dist/chunk-GWA4HPMP-DU9lUCZD.js +61 -0
  26. package/dist/chunk-J5ZVWO5B-CYzz6Pq8.js +12 -0
  27. package/dist/chunk-JWPE2WC7-Ccb0QaC8.js +8 -0
  28. package/dist/chunk-LNGE3PJU-CiGrDO_F.js +1513 -0
  29. package/dist/chunk-MBY4JIJT-HYVRUG_P.js +1847 -0
  30. package/dist/chunk-NETBCI7D-C8amwD_P.js +236 -0
  31. package/dist/chunk-O7XYJQB3-WMQqqzRb.js +3922 -0
  32. package/dist/chunk-UA2S7LBM-DtBatid7.js +363 -0
  33. package/dist/chunk-WEXAMYUT-Cc10h8ed.js +26 -0
  34. package/dist/chunk-XXDRQBXY-B2pGFcse.js +9 -0
  35. package/dist/chunk-Y2CYZVJY-i11wjrBe.js +12 -0
  36. package/dist/chunk-Z7XXMR3K-CJmsOGTV.js +676 -0
  37. package/dist/chunk-ZIGJFQKS-DBdWb0bj.js +1366 -0
  38. package/dist/classDiagram-v2-NBCMYWYE-Caqw5P6A.js +3397 -0
  39. package/dist/{components-DLtnz66n.js → components-IbdMALGv.js} +43465 -18610
  40. package/dist/components.js +5 -5
  41. package/dist/{composables-BJ2GgDD0.js → composables-6zV0t-y7.js} +1 -1
  42. package/dist/composables.js +1 -1
  43. package/dist/cose-bilkent-JH36ORCC-DStMi-eo.js +2251 -0
  44. package/dist/cynefin-OW5HDTMX-B8HVdZhp.js +3 -0
  45. package/dist/cynefinDiagram-VND7K2PF-0Mq0e5NQ.js +349 -0
  46. package/dist/cytoscape.esm-_jXi1N4y.js +18151 -0
  47. package/dist/dagre-6A5THRUB-EHXNn6Wq.js +2192 -0
  48. package/dist/defaultLocale-DnzPsei5.js +201 -0
  49. package/dist/diagram-22UHCM2B-B3RAQlqQ.js +5084 -0
  50. package/dist/diagram-3UASUU5V-BznCZHss.js +525 -0
  51. package/dist/diagram-ATOU4E4O-DtIUxSAn.js +432 -0
  52. package/dist/diagram-CDSNMT55-DOjN3BR2.js +301 -0
  53. package/dist/diagram-MLGK6HIB-Dx2UboD6.js +134 -0
  54. package/dist/diagram-MPIPVDR6-DnPL3RV0.js +214 -0
  55. package/dist/dist-D9zvfe2i.js +59 -0
  56. package/dist/{dnd-Cmcrm28l.js → dnd-CaDeYjQx.js} +1 -1
  57. package/dist/dnd.js +1 -1
  58. package/dist/ebnfDiagram-ZINNZB2B-BNbxCL0b.js +100 -0
  59. package/dist/elk-276RUBZZ-B9WeHolc.js +47597 -0
  60. package/dist/erDiagram-OPXOYQCR-DReZElBu.js +1970 -0
  61. package/dist/eventmodeling-NTZA5JFV-C1CEo-26.js +3 -0
  62. package/dist/flowDiagram-KWPJA3E3-DYss4vEI.js +17 -0
  63. package/dist/ganttDiagram-FUAMR5RP-64EZDDmC.js +3083 -0
  64. package/dist/gitGraph-4MIJSDKK-BTeCS_5q.js +3 -0
  65. package/dist/gitGraphDiagram-X574FWY7-DmMMrp5A.js +729 -0
  66. package/dist/graphlib-CrmIPC4m.js +372 -0
  67. package/dist/{i18n-DmMS3ID3.js → i18n-OBzfa-B7.js} +233 -924
  68. package/dist/i18n.js +2 -2
  69. package/dist/info-A6RAGUB7-BvtuPd9C.js +3 -0
  70. package/dist/infoDiagram-VRGFBTTK-XlBUAu0t.js +20 -0
  71. package/dist/init-MwSGRDIl.js +15 -0
  72. package/dist/isArrayLikeObject-VG1KOJ3m.js +539 -0
  73. package/dist/isEmpty-CMjyBU-a.js +136 -0
  74. package/dist/ishikawaDiagram-OU5B5YK6-C9cMWMPO.js +719 -0
  75. package/dist/journeyDiagram-ZHPQQLJL-DXdfP9BW.js +884 -0
  76. package/dist/kanban-definition-PNTS6WVX-DhOBy3A0.js +976 -0
  77. package/dist/katex-BMQ6LGsM.js +21962 -0
  78. package/dist/lib/components/index.d.ts +4 -0
  79. package/dist/lib/components/ui/chat/chat-composer-mentions.vue.d.ts +13 -0
  80. package/dist/lib/components/ui/chat/chat-composer.vue.d.ts +6 -2
  81. package/dist/lib/components/ui/contacts/consts.d.ts +1 -1
  82. package/dist/lib/components/ui/emoji/emoji-list.vue.d.ts +11 -0
  83. package/dist/lib/components/ui/emoji/emoji-picker.vue.d.ts +12 -0
  84. package/dist/lib/components/ui/emoji/emoji.utils.d.ts +2 -0
  85. package/dist/lib/components/ui/emoji/index.d.ts +4 -0
  86. package/dist/lib/components/ui/emoji/types.d.ts +6 -0
  87. package/dist/lib/components/ui/markdown/index.d.ts +2 -0
  88. package/dist/lib/components/ui/markdown/markdown.utils.d.ts +10 -0
  89. package/dist/lib/components/ui/markdown/markdown.vue.d.ts +10 -0
  90. package/dist/lib/components/ui/markdown/mermaid.lazy.d.ts +12 -0
  91. package/dist/lib/components/ui/markdown/partials/mermaid-diagram.vue.d.ts +7 -0
  92. package/dist/lib/components/ui/mentions/index.d.ts +4 -0
  93. package/dist/lib/components/ui/mentions/mention-list.vue.d.ts +16 -0
  94. package/dist/lib/components/ui/mentions/mentions.utils.d.ts +7 -0
  95. package/dist/lib/components/ui/mentions/types.d.ts +5 -0
  96. package/dist/lib/components/ui/terminal/index.d.ts +3 -0
  97. package/dist/lib/components/ui/terminal/terminal.utils.d.ts +5 -0
  98. package/dist/lib/components/ui/terminal/terminal.vue.d.ts +17 -0
  99. package/dist/lib/i18n/resources/en/index.d.ts +7 -0
  100. package/dist/lib/i18n/resources/en/material.json.d.ts +7 -0
  101. package/dist/lib/i18n/resources/fr/index.d.ts +7 -0
  102. package/dist/lib/i18n/resources/fr/material.json.d.ts +7 -0
  103. package/dist/lib/i18n/resources/index.d.ts +14 -0
  104. package/dist/lib/i18n/translator.d.ts +1 -1
  105. package/dist/lib/nuxt/component-names.d.ts +1 -1
  106. package/dist/lib-B9AHrvmh.js +389 -0
  107. package/dist/lib.js +1 -1
  108. package/dist/line-UP6dkL36.js +34 -0
  109. package/dist/linear-bD_QoED_.js +289 -0
  110. package/dist/main.js +9 -9
  111. package/dist/material-vue.css +1 -1
  112. package/dist/merge-B4IBXGaq.js +170 -0
  113. package/dist/mermaid-parser.core-Cz-MfB4Z.js +638 -0
  114. package/dist/mermaid.core-C_Rtflmc.js +1096 -0
  115. package/dist/mindmap-definition-NLK3R4M7-CO6s2Afv.js +1008 -0
  116. package/dist/ordinal-D_ZgubzR.js +65 -0
  117. package/dist/packet-AYTQ26CC-CshIswP8.js +3 -0
  118. package/dist/path-DGNPZRdx.js +85 -0
  119. package/dist/{pdf-outline-sidebar-BBXJRwdt.js → pdf-outline-sidebar-D5VedBgk.js} +3 -2
  120. package/dist/{pdf-page-DZyTFukn.js → pdf-page-B1Ze518d.js} +1 -1
  121. package/dist/{pdf-page-list-C3GukJ3_.js → pdf-page-list-CBJziavm.js} +3 -2
  122. package/dist/{pdf-reader-Ci4v2Ff9.js → pdf-reader-Cn1uxtJN.js} +13 -13
  123. package/dist/{pdf-sidebar-Dl8fQStG.js → pdf-sidebar-PXfgGlmq.js} +4 -4
  124. package/dist/{pdf-thumbnail-sidebar-GS_V0PGc.js → pdf-thumbnail-sidebar-7agqWsXT.js} +4 -3
  125. package/dist/{pdf-toolbar-D37w-WIK.js → pdf-toolbar-Blm9CFvh.js} +22 -21
  126. package/dist/pegDiagram-GJSIUBJH-gvsGke9W.js +94 -0
  127. package/dist/pie-WAS4IAKB-CYs22y4X.js +3 -0
  128. package/dist/pieDiagram-5QR66LMP-DLBcErnI.js +205 -0
  129. package/dist/quadrantDiagram-O4NWA36T-Bn3CmGxM.js +2001 -0
  130. package/dist/radar-RG4KPBEZ-BOJKjbGv.js +3 -0
  131. package/dist/railroad-74A4TZTK-Dt1BmUkI.js +3 -0
  132. package/dist/railroad-abnf-HS5TGJTU-Cs9GMUMY.js +3 -0
  133. package/dist/railroad-ebnf-LZEXJU2U-D4y0fXoW.js +3 -0
  134. package/dist/railroad-peg-WCYAUIDC-D2f_ZNR5.js +3 -0
  135. package/dist/railroadDiagram-XR7U4H2S-DLeBxWbV.js +76 -0
  136. package/dist/requirementDiagram-PLB6GJNP-JpWB5sEv.js +2228 -0
  137. package/dist/rolldown-runtime-CWhphoD1.js +23 -0
  138. package/dist/rough.esm-rcMoXTJj.js +1352 -0
  139. package/dist/sankeyDiagram-IPEJSGJF-a4rFl5rR.js +970 -0
  140. package/dist/sequenceDiagram-PO4LG4MO-CjUigcL2.js +4200 -0
  141. package/dist/sizeCapture-INFHLROL-CHXIsPO_.js +46 -0
  142. package/dist/src-CNRY2AUH.js +2142 -0
  143. package/dist/stateDiagram-v2-GCMORJYK-DJkVDIb0.js +2143 -0
  144. package/dist/{stx-player-C0FOaRjU.js → stx-player-rs3uH0iI.js} +17 -17
  145. package/dist/swimlanes-2SLR337P-D7Ff0hLr.js +4763 -0
  146. package/dist/swimlanesDiagram-TC7HE7FX-DZZ9d76C.js +28 -0
  147. package/dist/timeline-definition-EJHVYXUP-C0aHlt9K.js +1073 -0
  148. package/dist/treeView-Q6P3EWNA-BrJylG9N.js +3 -0
  149. package/dist/treemap-WGGIJYW6-DpIZuqbj.js +3 -0
  150. package/dist/usecaseDiagram-POWQR4AR-BrRAt7Wu.js +9932 -0
  151. package/dist/vennDiagram-UO4OBE2U-B22Jhju8.js +1880 -0
  152. package/dist/wardley-WFR3VGLG-CbwdAAbH.js +3 -0
  153. package/dist/wardleyDiagram-VNRHLVJA-Dw4YgRiQ.js +645 -0
  154. package/dist/xychartDiagram-PMCCYNJV-DtuDs9I7.js +2214 -0
  155. package/lib/nuxt/component-names.ts +2 -0
  156. package/package.json +5 -1
  157. package/dist/lib-CT0uRn8S.js +0 -611
@@ -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 "./mermaid-parser.core-Cz-MfB4Z.js";
2
+ import { n as t } from "./chunk-Y2CYZVJY-i11wjrBe.js";
3
+ import { m as n } from "./src-CNRY2AUH.js";
4
+ import { D as r, H as i, U as a, a as o, b as s, c, q as l, v as u, w as d, x as f, y as p } from "./chunk-O7XYJQB3-WMQqqzRb.js";
5
+ import { i as m } from "./chunk-ZIGJFQKS-DBdWb0bj.js";
6
+ import { t as h } from "./chunk-6AEJRKK7-D9IaQdwq.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__ */ t((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__ */ t((e, t, n) => ({
14
+ x: _(t, `${n} evolution`),
15
+ y: _(e, `${n} visibility`)
16
+ }), "toCoordinates"), y = /* @__PURE__ */ t((e) => {
17
+ if (e) {
18
+ if (e === "+<>") return "bidirectional";
19
+ if (e === "+<") return "backward";
20
+ if (e === "+>") return "forward";
21
+ }
22
+ }, "getFlowFromPort"), b = /* @__PURE__ */ t((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__ */ t((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__ */ t(async (t) => {
91
+ let r = await e("wardley", t);
92
+ n.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
+ t(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 f()["wardley-beta"];
201
+ }
202
+ t(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
+ t(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
+ t(E, "addLink");
227
+ function D(e, t, n) {
228
+ C.addTrend({
229
+ nodeId: e,
230
+ targetX: t,
231
+ targetY: n
232
+ });
233
+ }
234
+ t(D, "addTrend");
235
+ function O(e, t, n) {
236
+ C.addAnnotation({
237
+ number: e,
238
+ coordinates: t,
239
+ text: n
240
+ });
241
+ }
242
+ t(O, "addAnnotation");
243
+ function k(e, t, n) {
244
+ C.addNote({
245
+ text: e,
246
+ x: t,
247
+ y: n
248
+ });
249
+ }
250
+ t(k, "addNote");
251
+ function A(e, t, n) {
252
+ C.addAccelerator({
253
+ name: e,
254
+ x: t,
255
+ y: n
256
+ });
257
+ }
258
+ t(A, "addAccelerator");
259
+ function j(e, t, n) {
260
+ C.addDeaccelerator({
261
+ name: e,
262
+ x: t,
263
+ y: n
264
+ });
265
+ }
266
+ t(j, "addDeaccelerator");
267
+ function M(e, t) {
268
+ C.setAnnotationsBox(e, t);
269
+ }
270
+ t(M, "setAnnotationsBox");
271
+ function N(e, t) {
272
+ C.setSize(e, t);
273
+ }
274
+ t(N, "setSize");
275
+ function P(e) {
276
+ C.startPipeline(e);
277
+ }
278
+ t(P, "startPipeline");
279
+ function F(e, t) {
280
+ C.addPipelineComponent(e, t);
281
+ }
282
+ t(F, "addPipelineComponent");
283
+ function I(e) {
284
+ C.setAxes(e);
285
+ }
286
+ t(I, "updateAxes");
287
+ function L(e) {
288
+ return C.getNode(e);
289
+ }
290
+ t(L, "getNode");
291
+ function R(e) {
292
+ return C.resolveNodeId(e);
293
+ }
294
+ t(R, "resolveNodeId");
295
+ function z() {
296
+ return C.build();
297
+ }
298
+ t(z, "getWardleyData");
299
+ function B() {
300
+ C.clear(), o();
301
+ }
302
+ t(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: a,
322
+ getAccTitle: p,
323
+ setDiagramTitle: l,
324
+ getDiagramTitle: d,
325
+ getAccDescription: u,
326
+ setAccDescription: i
327
+ }, H = [
328
+ "Genesis",
329
+ "Custom Built",
330
+ "Product",
331
+ "Commodity"
332
+ ], U = /* @__PURE__ */ t(() => {
333
+ let { themeVariables: e } = f();
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__ */ t(() => {
349
+ let e = f()["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__ */ t((e, r, i, a) => {
365
+ n.debug("Rendering Wardley map\n" + e);
366
+ let o = W(), s = U(), l = 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(r);
367
+ g.selectAll("*").remove(), c(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-${r}`).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-${r}`).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-${r}`).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__ */ t((e) => o.padding + e / 100 * y, "projectX"), S = /* @__PURE__ */ t((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, c = 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), c = t.y);
432
+ }), i !== Infinity && a !== -Infinity) {
433
+ let t = o.nodeRadius * 4, r = c - t / 2, u = D.get(n.nodeId);
434
+ u && (u.x = (i + a) / 2, u.y = r - l / 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 ? l / 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 ? l / 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 ? l / 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 ? l / 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-${r})` : null).attr("marker-start", (e) => e.flow === "backward" || e.flow === "bidirectional" ? `url(#link-arrow-start-${r})` : 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-${r})`);
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 - l / 2).attr("y", (e) => D.get(e.id).y - l / 2).attr("width", l).attr("height", l).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 ? l / 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 ? l : o.nodeRadius * 2;
488
+ return t.y - n / 2;
489
+ }).attr("x2", (e) => {
490
+ let t = D.get(e.id), n = e.isPipelineParent ? l / 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 ? l : 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__ */ t(({ wardley: e } = {}) => {
582
+ let t = m(m(r(), s().themeVariables).wardley, e);
583
+ return `
584
+ .wardley-background {
585
+ fill: ${t.backgroundColor};
586
+ }
587
+ .wardley-axes line, .wardley-axes path {
588
+ stroke: ${t.axisColor};
589
+ }
590
+ .wardley-axis-label {
591
+ fill: ${t.axisTextColor};
592
+ }
593
+ .wardley-stage-label {
594
+ fill: ${t.axisTextColor};
595
+ }
596
+ .wardley-grid line {
597
+ stroke: ${t.gridColor};
598
+ }
599
+ .wardley-node circle {
600
+ fill: ${t.componentFill};
601
+ stroke: ${t.componentStroke};
602
+ }
603
+ .wardley-node-label {
604
+ fill: ${t.componentLabelColor};
605
+ }
606
+ .wardley-link {
607
+ stroke: ${t.linkStroke};
608
+ }
609
+ .wardley-link--dashed {
610
+ stroke-dasharray: 4 4;
611
+ }
612
+ .wardley-link-label {
613
+ fill: ${t.axisTextColor};
614
+ }
615
+ .wardley-trend line {
616
+ stroke: ${t.evolutionStroke};
617
+ }
618
+ .wardley-annotation-line {
619
+ stroke: ${t.annotationStroke};
620
+ }
621
+ .wardley-annotation circle {
622
+ fill: ${t.annotationFill};
623
+ stroke: ${t.annotationStroke};
624
+ }
625
+ .wardley-annotation text {
626
+ fill: ${t.annotationTextColor};
627
+ }
628
+ .wardley-annotations-box rect {
629
+ fill: ${t.annotationFill};
630
+ stroke: ${t.annotationStroke};
631
+ }
632
+ .wardley-annotations-box text {
633
+ fill: ${t.annotationTextColor};
634
+ }
635
+ .wardley-pipeline-box {
636
+ stroke: ${t.componentStroke};
637
+ }
638
+ .wardley-notes text {
639
+ fill: ${t.axisTextColor};
640
+ }
641
+ `;
642
+ }, "styles")
643
+ };
644
+ //#endregion
645
+ export { G as diagram };