@kong-ui-public/documentation 1.5.78 → 1.7.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.
- package/dist/{arc-DZdQjcG8-C_2Dx6GQ.js → arc-DZdQjcG8-CduayE88.js} +2 -2
- package/dist/{architectureDiagram-3BPJPVTR-By_DXDyu-DTj86bUZ.js → architectureDiagram-3BPJPVTR-By_DXDyu-U3MSLbOU.js} +1506 -1513
- package/dist/blockDiagram-GPEHLZMM-9Cp9Hbl7-CKP-SiVG.js +3268 -0
- package/dist/{c4Diagram-AAUBKEIU-ftdwlfdB-CYiERTWJ.js → c4Diagram-AAUBKEIU-ftdwlfdB-D3A61SdV.js} +11 -12
- package/dist/{channel-DM9j7IFL-CjNPz4Hd.js → channel-DM9j7IFL-DxqBUxfY.js} +1 -1
- package/dist/{chunk-2J33WTMH-CBbjVzWb-BAAd-TK5.js → chunk-2J33WTMH-CBbjVzWb-0og4LHQ-.js} +7 -8
- package/dist/chunk-4BX2VUAB-C_NnimAy--QQ0Db2V.js +8 -0
- package/dist/{chunk-55IACEB6-DZn1aNO0-_bs5ibIB.js → chunk-55IACEB6-DZn1aNO0-A3zOZ7dT.js} +1 -1
- package/dist/{chunk-727SXJPM-B2_6_WLv-CzbzsbtK.js → chunk-727SXJPM-B2_6_WLv-Bs3CxHaX.js} +548 -549
- package/dist/{chunk-AQP2D5EJ-DEAEiJjW-BPr5JvkB.js → chunk-AQP2D5EJ-DEAEiJjW-DTbwZT8N.js} +446 -458
- package/dist/{chunk-FMBD7UC4-D_tZ4Dxg-BUygZnCT.js → chunk-FMBD7UC4-D_tZ4Dxg-DwjoPGUH.js} +1 -1
- package/dist/{chunk-ND2GUHAM-Duw3k8MU-Dr8SD23L.js → chunk-ND2GUHAM-Duw3k8MU-HmrdHLJ9.js} +1 -1
- package/dist/{chunk-QZHKN3VN-DN6nBdn0-DxWE5zsM.js → chunk-QZHKN3VN-DN6nBdn0-BvQOETVz.js} +1 -1
- package/dist/classDiagram-4FO5ZUOK-Du5qFrfN-BqXc0etQ.js +17 -0
- package/dist/classDiagram-v2-Q7XG4LA2-DM6zutfc-BqXc0etQ.js +17 -0
- package/dist/{cose-bilkent-S5V4N54A-0ZumbVgj-BKcFQWbE.js → cose-bilkent-S5V4N54A-0ZumbVgj-0z7CQbIH.js} +465 -465
- package/dist/{cytoscape.esm-BDIiOYYO-BbddfVIJ.js → cytoscape.esm-BDIiOYYO-C1jMBhD8.js} +356 -371
- package/dist/dagre-BM42HDAG-qMWMsyLb-DGMrq3i3.js +288 -0
- package/dist/{dagre-DJxg_nfI-BzVw7cNP.js → dagre-DJxg_nfI-hVOVexz-.js} +9 -9
- package/dist/{diagram-2AECGRRQ-B2gF_dHe-DCRSlKG-.js → diagram-2AECGRRQ-B2gF_dHe-Bv_EpxRz.js} +10 -14
- package/dist/{diagram-5GNKFQAL-DJ9WwRrD-DtSWJY6-.js → diagram-5GNKFQAL-DJ9WwRrD-WVvm0Icu.js} +4 -4
- package/dist/{diagram-KO2AKTUF-RfkqD-VW-ZR9mxccc.js → diagram-KO2AKTUF-RfkqD-VW-yyAds1Qq.js} +153 -156
- package/dist/{diagram-LMA3HP47-Ct7s9hIt-DXtPBRn4.js → diagram-LMA3HP47-Ct7s9hIt-Dy6f9BAO.js} +21 -22
- package/dist/{diagram-OG6HWLK6-BSYJ2CoI-DX1BfXw6.js → diagram-OG6HWLK6-BSYJ2CoI-ckmfat-L.js} +79 -81
- package/dist/documentation.es.js +1 -1
- package/dist/documentation.umd.js +374 -374
- package/dist/{erDiagram-TEJ5UH35-BudwiSYX-BPA5-1u6.js → erDiagram-TEJ5UH35-BudwiSYX-bVzp1Kjr.js} +134 -135
- package/dist/{flowDiagram-I6XJVG4X-B23Smlxp-Cb24VZnb.js → flowDiagram-I6XJVG4X-B23Smlxp-ClHvdCdJ.js} +842 -849
- package/dist/{ganttDiagram-6RSMTGT7-C-i89z_P-DEdTFlTH.js → ganttDiagram-6RSMTGT7-C-i89z_P-t5UAyRM5.js} +46 -46
- package/dist/gitGraphDiagram-PVQCEYII-DpVfXnUD-Cg3smOdz.js +734 -0
- package/dist/{graphlib-D2YdGpuK-CM8PX5pf.js → graphlib-D2YdGpuK-CnQPmzkS.js} +17 -17
- package/dist/{index-Dpyqhws4.js → index-DfVKdDwj.js} +16258 -16515
- package/dist/{infoDiagram-5YYISTIA-CDUwzFql-BsbTK2Me.js → infoDiagram-5YYISTIA-CDUwzFql-Bmthmcp4.js} +2 -2
- package/dist/{ishikawaDiagram-YF4QCWOH-MfYdx0rK-DsWP0O6d.js → ishikawaDiagram-YF4QCWOH-MfYdx0rK-cbltssua.js} +137 -138
- package/dist/{journeyDiagram-JHISSGLW-C_udOPtJ-BkIf9B4Q.js → journeyDiagram-JHISSGLW-C_udOPtJ-BjAvgSAR.js} +13 -13
- package/dist/{kanban-definition-UN3LZRKU-C1Su-UOY-6sw-wDwK.js → kanban-definition-UN3LZRKU-C1Su-UOY-DZ93dsWZ.js} +334 -336
- package/dist/{katex-D7tFlpqA-B7yKriH4.js → katex-D7tFlpqA-BOSQxXe1.js} +254 -256
- package/dist/{linear-1MXhYum8-CfR5ywK4.js → linear-1MXhYum8-9C1jno9G.js} +5 -5
- package/dist/{mindmap-definition-RKZ34NQL-MuSV765K-Cv2rDIFS.js → mindmap-definition-RKZ34NQL-MuSV765K-Kub1iXFv.js} +94 -97
- package/dist/{ordinal-D9ksOc8y-CrGveXkB.js → ordinal-D9ksOc8y-2hZwLyEk.js} +1 -1
- package/dist/{pieDiagram-4H26LBE5-TgFp7J6_-C8m2xJbj.js → pieDiagram-4H26LBE5-TgFp7J6_-i6NxP3Xz.js} +43 -44
- package/dist/{quadrantDiagram-W4KKPZXB-DKPne3o_-D0Tfl8NQ.js → quadrantDiagram-W4KKPZXB-DKPne3o_-DXLHqRuR.js} +351 -353
- package/dist/{requirementDiagram-4Y6WPE33-vh8uUAp_-C5zLx-_o.js → requirementDiagram-4Y6WPE33-vh8uUAp_-CHtsISxP.js} +384 -386
- package/dist/{sankeyDiagram-5OEKKPKP-Cgs6W_El-DBrv4QL_.js → sankeyDiagram-5OEKKPKP-Cgs6W_El-D7GZyd8n.js} +178 -178
- package/dist/{sequenceDiagram-3UESZ5HK-C5F57Dkt-D6DqZiJP.js → sequenceDiagram-3UESZ5HK-C5F57Dkt-BW1Hb7UW.js} +643 -653
- package/dist/{stateDiagram-AJRCARHV-09dUKG6Y-9QhAIhCk.js → stateDiagram-AJRCARHV-09dUKG6Y-Dm2a1vNu.js} +5 -5
- package/dist/stateDiagram-v2-BHNVJYJU-CWqmRt12-DbWzZ-j-.js +16 -0
- package/dist/style.css +1 -1
- package/dist/timeline-definition-PNZ67QCA-CCndyx0V-B5CT96H-.js +1095 -0
- package/dist/{vennDiagram-CIIHVFJN-DQfKxM3L-086u82L3.js → vennDiagram-CIIHVFJN-DQfKxM3L-qUaKEl7l.js} +596 -603
- package/dist/{wardley-L42UT6IY-BjAkE_cs-li1xYed9.js → wardley-L42UT6IY-BjAkE_cs-C-giFqos.js} +5760 -5809
- package/dist/wardleyDiagram-YWT4CUSO-Bf9L2NsL-DXPF2Ee9.js +639 -0
- package/dist/{xychartDiagram-2RQKCTM6-ChNH3q1U--vbcTXH5.js → xychartDiagram-2RQKCTM6-ChNH3q1U-a59DsJDA.js} +10 -10
- package/package.json +7 -7
- package/dist/blockDiagram-GPEHLZMM-9Cp9Hbl7-CSQRWfog.js +0 -3278
- package/dist/chunk-4BX2VUAB-C_NnimAy-B-8x_g6K.js +0 -9
- package/dist/classDiagram-4FO5ZUOK-Du5qFrfN-DLmqgbj1.js +0 -17
- package/dist/classDiagram-v2-Q7XG4LA2-DM6zutfc-DLmqgbj1.js +0 -17
- package/dist/dagre-BM42HDAG-qMWMsyLb-BzK2-5zM.js +0 -291
- package/dist/gitGraphDiagram-PVQCEYII-DpVfXnUD-BtfdBLxW.js +0 -747
- package/dist/stateDiagram-v2-BHNVJYJU-CWqmRt12-Br5eF-5b.js +0 -16
- package/dist/timeline-definition-PNZ67QCA-CCndyx0V-CkhwKYjQ.js +0 -1106
- package/dist/wardleyDiagram-YWT4CUSO-Bf9L2NsL-CCMCDU5F.js +0 -647
|
@@ -1,647 +0,0 @@
|
|
|
1
|
-
import { G as Ct, K as Pt, i as Nt, f as zt, W as At, U as Tt, p as g, s as J, ah as It, o as Lt, g as tt, a0 as Et, A as Bt, H as Ft, Z as H } from "./index-Dpyqhws4.js";
|
|
2
|
-
import { t as Rt } from "./chunk-4BX2VUAB-C_NnimAy-B-8x_g6K.js";
|
|
3
|
-
import { r as Ot } from "./wardley-L42UT6IY-BjAkE_cs-li1xYed9.js";
|
|
4
|
-
var Y = /* @__PURE__ */ g((r, e) => {
|
|
5
|
-
let a = r <= 1 ? r * 100 : r;
|
|
6
|
-
if (a < 0 || a > 100) throw Error(`${e} must be between 0-1 (decimal) or 0-100 (percentage). Received: ${r}`);
|
|
7
|
-
return a;
|
|
8
|
-
}, "toPercent"), I = /* @__PURE__ */ g((r, e, a) => ({
|
|
9
|
-
x: Y(e, `${a} evolution`),
|
|
10
|
-
y: Y(r, `${a} visibility`)
|
|
11
|
-
}), "toCoordinates"), Q = /* @__PURE__ */ g((r) => {
|
|
12
|
-
if (r) {
|
|
13
|
-
if (r === "+<>") return "bidirectional";
|
|
14
|
-
if (r === "+<") return "backward";
|
|
15
|
-
if (r === "+>") return "forward";
|
|
16
|
-
}
|
|
17
|
-
}, "getFlowFromPort"), Xt = /* @__PURE__ */ g((r) => {
|
|
18
|
-
var a;
|
|
19
|
-
if (!(r != null && r.startsWith("+"))) return {};
|
|
20
|
-
let e = (a = /^\+'([^']*)'/.exec(r)) == null ? void 0 : a[1];
|
|
21
|
-
return r.includes("<>") ? {
|
|
22
|
-
flow: "bidirectional",
|
|
23
|
-
label: e
|
|
24
|
-
} : r.includes("<") ? {
|
|
25
|
-
flow: "backward",
|
|
26
|
-
label: e
|
|
27
|
-
} : r.includes(">") ? {
|
|
28
|
-
flow: "forward",
|
|
29
|
-
label: e
|
|
30
|
-
} : { label: e };
|
|
31
|
-
}, "extractFlowFromArrow"), Yt = /* @__PURE__ */ g((r, e) => {
|
|
32
|
-
if (Rt(r, e), r.size && e.setSize(r.size.width, r.size.height), r.evolution) {
|
|
33
|
-
let a = r.evolution.stages.map((o) => o.secondName ? `${o.name.trim()} / ${o.secondName.trim()}` : o.name.trim()), c = r.evolution.stages.filter((o) => o.boundary !== void 0).map((o) => o.boundary);
|
|
34
|
-
e.updateAxes({
|
|
35
|
-
stages: a,
|
|
36
|
-
stageBoundaries: c
|
|
37
|
-
});
|
|
38
|
-
}
|
|
39
|
-
if (r.anchors.forEach((a) => {
|
|
40
|
-
let c = I(a.visibility, a.evolution, `Anchor "${a.name}"`);
|
|
41
|
-
e.addNode(a.name, a.name, c.x, c.y, "anchor");
|
|
42
|
-
}), r.components.forEach((a) => {
|
|
43
|
-
var v;
|
|
44
|
-
let c = I(a.visibility, a.evolution, `Component "${a.name}"`), o = a.label ? (a.label.negX ? -1 : 1) * a.label.offsetX : void 0, s = a.label ? (a.label.negY ? -1 : 1) * a.label.offsetY : void 0, u = (v = a.decorator) == null ? void 0 : v.strategy;
|
|
45
|
-
e.addNode(a.name, a.name, c.x, c.y, "component", o, s, a.inertia, u);
|
|
46
|
-
}), r.notes.forEach((a) => {
|
|
47
|
-
let c = I(a.visibility, a.evolution, `Note "${a.text}"`);
|
|
48
|
-
e.addNote(a.text, c.x, c.y);
|
|
49
|
-
}), r.pipelines.forEach((a) => {
|
|
50
|
-
let c = e.getNode(a.parent);
|
|
51
|
-
if (!c || typeof c.y != "number") throw Error(`Pipeline "${a.parent}" must reference an existing component with coordinates.`);
|
|
52
|
-
let o = c.y;
|
|
53
|
-
e.startPipeline(a.parent), a.components.forEach((s) => {
|
|
54
|
-
let u = `${a.parent}_${s.name}`, v = s.label ? (s.label.negX ? -1 : 1) * s.label.offsetX : void 0, y = s.label ? (s.label.negY ? -1 : 1) * s.label.offsetY : void 0, N = Y(s.evolution, `Pipeline component "${s.name}" evolution`);
|
|
55
|
-
e.addNode(u, s.name, N, o, "pipeline-component", v, y), e.addPipelineComponent(a.parent, u);
|
|
56
|
-
});
|
|
57
|
-
}), r.links.forEach((a) => {
|
|
58
|
-
let c = !!a.arrow && (a.arrow.includes("-.->") || a.arrow.includes(".-.")), o = Q(a.fromPort) ?? Q(a.toPort), { flow: s, label: u } = Xt(a.arrow);
|
|
59
|
-
!o && s && (o = s);
|
|
60
|
-
let v = a.linkLabel, y = u ?? v;
|
|
61
|
-
e.addLink(e.resolveNodeId(a.from), e.resolveNodeId(a.to), c, y, o);
|
|
62
|
-
}), r.evolves.forEach((a) => {
|
|
63
|
-
let c = e.getNode(a.component);
|
|
64
|
-
if ((c == null ? void 0 : c.y) !== void 0) {
|
|
65
|
-
let o = Y(a.target, `Evolve target for "${a.component}"`);
|
|
66
|
-
e.addTrend(a.component, o, c.y);
|
|
67
|
-
}
|
|
68
|
-
}), r.annotations.length > 0) {
|
|
69
|
-
let a = r.annotations[0], c = I(a.x, a.y, "Annotations box");
|
|
70
|
-
e.setAnnotationsBox(c.x, c.y);
|
|
71
|
-
}
|
|
72
|
-
r.annotation.forEach((a) => {
|
|
73
|
-
let c = I(a.x, a.y, `Annotation ${a.number}`);
|
|
74
|
-
e.addAnnotation(a.number, [{
|
|
75
|
-
x: c.x,
|
|
76
|
-
y: c.y
|
|
77
|
-
}], a.text);
|
|
78
|
-
}), r.accelerators.forEach((a) => {
|
|
79
|
-
let c = I(a.x, a.y, `Accelerator "${a.name}"`);
|
|
80
|
-
e.addAccelerator(a.name, c.x, c.y);
|
|
81
|
-
}), r.deaccelerators.forEach((a) => {
|
|
82
|
-
let c = I(a.x, a.y, `Deaccelerator "${a.name}"`);
|
|
83
|
-
e.addDeaccelerator(a.name, c.x, c.y);
|
|
84
|
-
});
|
|
85
|
-
}, "populateDb"), et = {
|
|
86
|
-
parser: { yy: void 0 },
|
|
87
|
-
parse: /* @__PURE__ */ g(async (r) => {
|
|
88
|
-
var c;
|
|
89
|
-
let e = await Ot("wardley", r);
|
|
90
|
-
tt.debug(e);
|
|
91
|
-
let a = (c = et.parser) == null ? void 0 : c.yy;
|
|
92
|
-
if (!a || typeof a.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.");
|
|
93
|
-
Yt(e, a);
|
|
94
|
-
}, "parse")
|
|
95
|
-
}, E, k = new (E = class {
|
|
96
|
-
constructor() {
|
|
97
|
-
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 = {};
|
|
98
|
-
}
|
|
99
|
-
addNode(e) {
|
|
100
|
-
let a = this.nodes.get(e.id) ?? {
|
|
101
|
-
id: e.id,
|
|
102
|
-
label: e.label
|
|
103
|
-
}, c = {
|
|
104
|
-
...a,
|
|
105
|
-
...e,
|
|
106
|
-
className: e.className ?? a.className,
|
|
107
|
-
labelOffsetX: e.labelOffsetX ?? a.labelOffsetX,
|
|
108
|
-
labelOffsetY: e.labelOffsetY ?? a.labelOffsetY
|
|
109
|
-
};
|
|
110
|
-
this.nodes.set(e.id, c);
|
|
111
|
-
}
|
|
112
|
-
addLink(e) {
|
|
113
|
-
this.links.push(e);
|
|
114
|
-
}
|
|
115
|
-
addTrend(e) {
|
|
116
|
-
this.trends.set(e.nodeId, e);
|
|
117
|
-
}
|
|
118
|
-
startPipeline(e) {
|
|
119
|
-
this.pipelines.set(e, {
|
|
120
|
-
nodeId: e,
|
|
121
|
-
componentIds: []
|
|
122
|
-
});
|
|
123
|
-
let a = this.nodes.get(e);
|
|
124
|
-
a && (a.isPipelineParent = !0);
|
|
125
|
-
}
|
|
126
|
-
addPipelineComponent(e, a) {
|
|
127
|
-
let c = this.pipelines.get(e);
|
|
128
|
-
c && c.componentIds.push(a);
|
|
129
|
-
let o = this.nodes.get(a);
|
|
130
|
-
o && (o.inPipeline = !0);
|
|
131
|
-
}
|
|
132
|
-
addAnnotation(e) {
|
|
133
|
-
this.annotations.push(e);
|
|
134
|
-
}
|
|
135
|
-
addNote(e) {
|
|
136
|
-
this.notes.push(e);
|
|
137
|
-
}
|
|
138
|
-
addAccelerator(e) {
|
|
139
|
-
this.accelerators.push(e);
|
|
140
|
-
}
|
|
141
|
-
addDeaccelerator(e) {
|
|
142
|
-
this.deaccelerators.push(e);
|
|
143
|
-
}
|
|
144
|
-
setAnnotationsBox(e, a) {
|
|
145
|
-
this.annotationsBox = {
|
|
146
|
-
x: e,
|
|
147
|
-
y: a
|
|
148
|
-
};
|
|
149
|
-
}
|
|
150
|
-
setAxes(e) {
|
|
151
|
-
this.axes = {
|
|
152
|
-
...this.axes,
|
|
153
|
-
...e
|
|
154
|
-
};
|
|
155
|
-
}
|
|
156
|
-
setSize(e, a) {
|
|
157
|
-
this.size = {
|
|
158
|
-
width: e,
|
|
159
|
-
height: a
|
|
160
|
-
};
|
|
161
|
-
}
|
|
162
|
-
getNode(e) {
|
|
163
|
-
return this.nodes.get(e);
|
|
164
|
-
}
|
|
165
|
-
resolveNodeId(e) {
|
|
166
|
-
if (this.nodes.has(e)) return e;
|
|
167
|
-
for (let [a, c] of this.nodes) if (c.label === e) return a;
|
|
168
|
-
return e;
|
|
169
|
-
}
|
|
170
|
-
build() {
|
|
171
|
-
let e = [];
|
|
172
|
-
for (let a of this.nodes.values()) {
|
|
173
|
-
if (typeof a.x != "number" || typeof a.y != "number") throw Error(`Node "${a.label}" is missing coordinates`);
|
|
174
|
-
e.push(a);
|
|
175
|
-
}
|
|
176
|
-
return {
|
|
177
|
-
nodes: e,
|
|
178
|
-
links: [...this.links],
|
|
179
|
-
trends: [...this.trends.values()],
|
|
180
|
-
pipelines: [...this.pipelines.values()],
|
|
181
|
-
annotations: [...this.annotations],
|
|
182
|
-
notes: [...this.notes],
|
|
183
|
-
accelerators: [...this.accelerators],
|
|
184
|
-
deaccelerators: [...this.deaccelerators],
|
|
185
|
-
annotationsBox: this.annotationsBox,
|
|
186
|
-
axes: { ...this.axes },
|
|
187
|
-
size: this.size
|
|
188
|
-
};
|
|
189
|
-
}
|
|
190
|
-
clear() {
|
|
191
|
-
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;
|
|
192
|
-
}
|
|
193
|
-
}, g(E, "WardleyBuilder"), E)();
|
|
194
|
-
function at() {
|
|
195
|
-
return H()["wardley-beta"];
|
|
196
|
-
}
|
|
197
|
-
g(at, "getConfig");
|
|
198
|
-
function rt(r, e, a, c, o, s, u, v, y) {
|
|
199
|
-
k.addNode({
|
|
200
|
-
id: r,
|
|
201
|
-
label: e,
|
|
202
|
-
x: a,
|
|
203
|
-
y: c,
|
|
204
|
-
className: o,
|
|
205
|
-
labelOffsetX: s,
|
|
206
|
-
labelOffsetY: u,
|
|
207
|
-
inertia: v,
|
|
208
|
-
sourceStrategy: y
|
|
209
|
-
});
|
|
210
|
-
}
|
|
211
|
-
g(rt, "addNode");
|
|
212
|
-
function ot(r, e, a = !1, c, o) {
|
|
213
|
-
k.addLink({
|
|
214
|
-
source: r,
|
|
215
|
-
target: e,
|
|
216
|
-
dashed: a,
|
|
217
|
-
label: c,
|
|
218
|
-
flow: o
|
|
219
|
-
});
|
|
220
|
-
}
|
|
221
|
-
g(ot, "addLink");
|
|
222
|
-
function nt(r, e, a) {
|
|
223
|
-
k.addTrend({
|
|
224
|
-
nodeId: r,
|
|
225
|
-
targetX: e,
|
|
226
|
-
targetY: a
|
|
227
|
-
});
|
|
228
|
-
}
|
|
229
|
-
g(nt, "addTrend");
|
|
230
|
-
function it(r, e, a) {
|
|
231
|
-
k.addAnnotation({
|
|
232
|
-
number: r,
|
|
233
|
-
coordinates: e,
|
|
234
|
-
text: a
|
|
235
|
-
});
|
|
236
|
-
}
|
|
237
|
-
g(it, "addAnnotation");
|
|
238
|
-
function lt(r, e, a) {
|
|
239
|
-
k.addNote({
|
|
240
|
-
text: r,
|
|
241
|
-
x: e,
|
|
242
|
-
y: a
|
|
243
|
-
});
|
|
244
|
-
}
|
|
245
|
-
g(lt, "addNote");
|
|
246
|
-
function st(r, e, a) {
|
|
247
|
-
k.addAccelerator({
|
|
248
|
-
name: r,
|
|
249
|
-
x: e,
|
|
250
|
-
y: a
|
|
251
|
-
});
|
|
252
|
-
}
|
|
253
|
-
g(st, "addAccelerator");
|
|
254
|
-
function dt(r, e, a) {
|
|
255
|
-
k.addDeaccelerator({
|
|
256
|
-
name: r,
|
|
257
|
-
x: e,
|
|
258
|
-
y: a
|
|
259
|
-
});
|
|
260
|
-
}
|
|
261
|
-
g(dt, "addDeaccelerator");
|
|
262
|
-
function ct(r, e) {
|
|
263
|
-
k.setAnnotationsBox(r, e);
|
|
264
|
-
}
|
|
265
|
-
g(ct, "setAnnotationsBox");
|
|
266
|
-
function pt(r, e) {
|
|
267
|
-
k.setSize(r, e);
|
|
268
|
-
}
|
|
269
|
-
g(pt, "setSize");
|
|
270
|
-
function xt(r) {
|
|
271
|
-
k.startPipeline(r);
|
|
272
|
-
}
|
|
273
|
-
g(xt, "startPipeline");
|
|
274
|
-
function ht(r, e) {
|
|
275
|
-
k.addPipelineComponent(r, e);
|
|
276
|
-
}
|
|
277
|
-
g(ht, "addPipelineComponent");
|
|
278
|
-
function yt(r) {
|
|
279
|
-
k.setAxes(r);
|
|
280
|
-
}
|
|
281
|
-
g(yt, "updateAxes");
|
|
282
|
-
function ft(r) {
|
|
283
|
-
return k.getNode(r);
|
|
284
|
-
}
|
|
285
|
-
g(ft, "getNode");
|
|
286
|
-
function gt(r) {
|
|
287
|
-
return k.resolveNodeId(r);
|
|
288
|
-
}
|
|
289
|
-
g(gt, "resolveNodeId");
|
|
290
|
-
function ut() {
|
|
291
|
-
return k.build();
|
|
292
|
-
}
|
|
293
|
-
g(ut, "getWardleyData");
|
|
294
|
-
function mt() {
|
|
295
|
-
k.clear(), Ft();
|
|
296
|
-
}
|
|
297
|
-
g(mt, "clear");
|
|
298
|
-
var Dt = {
|
|
299
|
-
getConfig: at,
|
|
300
|
-
addNode: rt,
|
|
301
|
-
addLink: ot,
|
|
302
|
-
addTrend: nt,
|
|
303
|
-
addAnnotation: it,
|
|
304
|
-
addNote: lt,
|
|
305
|
-
addAccelerator: st,
|
|
306
|
-
addDeaccelerator: dt,
|
|
307
|
-
setAnnotationsBox: ct,
|
|
308
|
-
setSize: pt,
|
|
309
|
-
startPipeline: xt,
|
|
310
|
-
addPipelineComponent: ht,
|
|
311
|
-
updateAxes: yt,
|
|
312
|
-
getNode: ft,
|
|
313
|
-
resolveNodeId: gt,
|
|
314
|
-
getWardleyData: ut,
|
|
315
|
-
clear: mt,
|
|
316
|
-
setAccTitle: Tt,
|
|
317
|
-
getAccTitle: At,
|
|
318
|
-
setDiagramTitle: zt,
|
|
319
|
-
getDiagramTitle: Nt,
|
|
320
|
-
getAccDescription: Pt,
|
|
321
|
-
setAccDescription: Ct
|
|
322
|
-
}, Wt = [
|
|
323
|
-
"Genesis",
|
|
324
|
-
"Custom Built",
|
|
325
|
-
"Product",
|
|
326
|
-
"Commodity"
|
|
327
|
-
], qt = /* @__PURE__ */ g(() => {
|
|
328
|
-
var e, a, c, o, s, u, v, y, N, M, w, C;
|
|
329
|
-
let { themeVariables: r } = H();
|
|
330
|
-
return {
|
|
331
|
-
backgroundColor: ((e = r.wardley) == null ? void 0 : e.backgroundColor) ?? r.background ?? "#fff",
|
|
332
|
-
axisColor: ((a = r.wardley) == null ? void 0 : a.axisColor) ?? "#000",
|
|
333
|
-
axisTextColor: ((c = r.wardley) == null ? void 0 : c.axisTextColor) ?? r.primaryTextColor ?? "#222",
|
|
334
|
-
gridColor: ((o = r.wardley) == null ? void 0 : o.gridColor) ?? "rgba(100, 100, 100, 0.2)",
|
|
335
|
-
componentFill: ((s = r.wardley) == null ? void 0 : s.componentFill) ?? "#fff",
|
|
336
|
-
componentStroke: ((u = r.wardley) == null ? void 0 : u.componentStroke) ?? "#000",
|
|
337
|
-
componentLabelColor: ((v = r.wardley) == null ? void 0 : v.componentLabelColor) ?? r.primaryTextColor ?? "#222",
|
|
338
|
-
linkStroke: ((y = r.wardley) == null ? void 0 : y.linkStroke) ?? "#000",
|
|
339
|
-
evolutionStroke: ((N = r.wardley) == null ? void 0 : N.evolutionStroke) ?? "#dc3545",
|
|
340
|
-
annotationStroke: ((M = r.wardley) == null ? void 0 : M.annotationStroke) ?? "#000",
|
|
341
|
-
annotationTextColor: ((w = r.wardley) == null ? void 0 : w.annotationTextColor) ?? r.primaryTextColor ?? "#222",
|
|
342
|
-
annotationFill: ((C = r.wardley) == null ? void 0 : C.annotationFill) ?? r.background ?? "#fff"
|
|
343
|
-
};
|
|
344
|
-
}, "getTheme"), jt = /* @__PURE__ */ g(() => {
|
|
345
|
-
let r = H()["wardley-beta"];
|
|
346
|
-
return {
|
|
347
|
-
width: (r == null ? void 0 : r.width) ?? 900,
|
|
348
|
-
height: (r == null ? void 0 : r.height) ?? 600,
|
|
349
|
-
padding: (r == null ? void 0 : r.padding) ?? 48,
|
|
350
|
-
nodeRadius: (r == null ? void 0 : r.nodeRadius) ?? 6,
|
|
351
|
-
nodeLabelOffset: (r == null ? void 0 : r.nodeLabelOffset) ?? 8,
|
|
352
|
-
axisFontSize: (r == null ? void 0 : r.axisFontSize) ?? 12,
|
|
353
|
-
labelFontSize: (r == null ? void 0 : r.labelFontSize) ?? 10,
|
|
354
|
-
showGrid: (r == null ? void 0 : r.showGrid) ?? !1,
|
|
355
|
-
useMaxWidth: (r == null ? void 0 : r.useMaxWidth) ?? !0
|
|
356
|
-
};
|
|
357
|
-
}, "getConfigValues"), Zt = {
|
|
358
|
-
parser: et,
|
|
359
|
-
db: Dt,
|
|
360
|
-
renderer: { draw: /* @__PURE__ */ g((r, e, a, c) => {
|
|
361
|
-
var _, K;
|
|
362
|
-
tt.debug(`Rendering Wardley map
|
|
363
|
-
` + r);
|
|
364
|
-
let o = jt(), s = qt(), u = o.nodeRadius * 1.6, v = c.db, y = v.getWardleyData(), N = v.getDiagramTitle(), M = ((_ = y.size) == null ? void 0 : _.width) ?? o.width, w = ((K = y.size) == null ? void 0 : K.height) ?? o.height, C = Et(e);
|
|
365
|
-
C.selectAll("*").remove(), Bt(C, w, M, o.useMaxWidth), C.attr("viewBox", `0 0 ${M} ${w}`);
|
|
366
|
-
let S = C.append("g").attr("class", "wardley-map"), D = C.append("defs");
|
|
367
|
-
D.append("marker").attr("id", `arrow-${e}`).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"), D.append("marker").attr("id", `link-arrow-end-${e}`).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"), D.append("marker").attr("id", `link-arrow-start-${e}`).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"), S.append("rect").attr("class", "wardley-background").attr("width", M).attr("height", w).attr("fill", s.backgroundColor);
|
|
368
|
-
let B = M - o.padding * 2, F = w - o.padding * 2;
|
|
369
|
-
N && S.append("text").attr("class", "wardley-title").attr("x", M / 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(N);
|
|
370
|
-
let z = /* @__PURE__ */ g((t) => o.padding + t / 100 * B, "projectX"), A = /* @__PURE__ */ g((t) => w - o.padding - t / 100 * F, "projectY"), O = S.append("g").attr("class", "wardley-axes");
|
|
371
|
-
O.append("line").attr("x1", o.padding).attr("x2", M - o.padding).attr("y1", w - o.padding).attr("y2", w - o.padding).attr("stroke", s.axisColor).attr("stroke-width", 1), O.append("line").attr("x1", o.padding).attr("x2", o.padding).attr("y1", o.padding).attr("y2", w - o.padding).attr("stroke", s.axisColor).attr("stroke-width", 1);
|
|
372
|
-
let wt = y.axes.xLabel ?? "Evolution", kt = y.axes.yLabel ?? "Visibility";
|
|
373
|
-
O.append("text").attr("class", "wardley-axis-label wardley-axis-label-x").attr("x", o.padding + B / 2).attr("y", w - o.padding / 4).attr("fill", s.axisTextColor).attr("font-size", o.axisFontSize).attr("font-weight", "bold").attr("text-anchor", "middle").text(wt), O.append("text").attr("class", "wardley-axis-label wardley-axis-label-y").attr("x", o.padding / 3).attr("y", o.padding + F / 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 + F / 2})`).text(kt);
|
|
374
|
-
let R = y.axes.stages && y.axes.stages.length > 0 ? y.axes.stages : Wt;
|
|
375
|
-
if (R.length > 0) {
|
|
376
|
-
let t = S.append("g").attr("class", "wardley-stages"), i = y.axes.stageBoundaries, n = [];
|
|
377
|
-
if (i && i.length === R.length) {
|
|
378
|
-
let l = 0;
|
|
379
|
-
i.forEach((p) => {
|
|
380
|
-
n.push({
|
|
381
|
-
start: l,
|
|
382
|
-
end: p
|
|
383
|
-
}), l = p;
|
|
384
|
-
});
|
|
385
|
-
} else {
|
|
386
|
-
let l = 1 / R.length;
|
|
387
|
-
R.forEach((p, x) => {
|
|
388
|
-
n.push({
|
|
389
|
-
start: x * l,
|
|
390
|
-
end: (x + 1) * l
|
|
391
|
-
});
|
|
392
|
-
});
|
|
393
|
-
}
|
|
394
|
-
R.forEach((l, p) => {
|
|
395
|
-
let x = n[p], f = o.padding + x.start * B, h = (f + (o.padding + x.end * B)) / 2;
|
|
396
|
-
p > 0 && t.append("line").attr("x1", f).attr("x2", f).attr("y1", o.padding).attr("y2", w - o.padding).attr("stroke", "#000").attr("stroke-width", 1).attr("stroke-dasharray", "5 5").attr("opacity", 0.8), t.append("text").attr("class", "wardley-stage-label").attr("x", h).attr("y", w - o.padding / 1.5).attr("fill", s.axisTextColor).attr("font-size", o.axisFontSize - 2).attr("text-anchor", "middle").text(l);
|
|
397
|
-
});
|
|
398
|
-
}
|
|
399
|
-
if (o.showGrid) {
|
|
400
|
-
let t = S.append("g").attr("class", "wardley-grid");
|
|
401
|
-
for (let i = 1; i < 4; i++) {
|
|
402
|
-
let n = i / 4, l = o.padding + B * n;
|
|
403
|
-
t.append("line").attr("x1", l).attr("x2", l).attr("y1", o.padding).attr("y2", w - o.padding).attr("stroke", s.gridColor).attr("stroke-dasharray", "2 6"), t.append("line").attr("x1", o.padding).attr("x2", M - o.padding).attr("y1", w - o.padding - F * n).attr("y2", w - o.padding - F * n).attr("stroke", s.gridColor).attr("stroke-dasharray", "2 6");
|
|
404
|
-
}
|
|
405
|
-
}
|
|
406
|
-
let d = /* @__PURE__ */ new Map();
|
|
407
|
-
if (y.nodes.forEach((t) => {
|
|
408
|
-
d.set(t.id, {
|
|
409
|
-
x: z(t.x),
|
|
410
|
-
y: A(t.y),
|
|
411
|
-
node: t
|
|
412
|
-
});
|
|
413
|
-
}), y.pipelines.length > 0) {
|
|
414
|
-
let t = S.append("g").attr("class", "wardley-pipelines"), i = S.append("g").attr("class", "wardley-pipeline-links");
|
|
415
|
-
y.pipelines.forEach((n) => {
|
|
416
|
-
if (n.componentIds.length === 0) return;
|
|
417
|
-
let l = n.componentIds.map((h) => ({
|
|
418
|
-
id: h,
|
|
419
|
-
pos: d.get(h),
|
|
420
|
-
node: y.nodes.find((m) => m.id === h)
|
|
421
|
-
})).filter((h) => h.pos && h.node).sort((h, m) => h.node.x - m.node.x);
|
|
422
|
-
for (let h = 0; h < l.length - 1; h++) {
|
|
423
|
-
let m = l[h], $ = l[h + 1];
|
|
424
|
-
i.append("line").attr("class", "wardley-pipeline-evolution-link").attr("x1", m.pos.x).attr("y1", m.pos.y).attr("x2", $.pos.x).attr("y2", $.pos.y).attr("stroke", s.linkStroke).attr("stroke-width", 1).attr("stroke-dasharray", "4 4");
|
|
425
|
-
}
|
|
426
|
-
let p = 1 / 0, x = -1 / 0, f = 0;
|
|
427
|
-
if (n.componentIds.forEach((h) => {
|
|
428
|
-
let m = d.get(h);
|
|
429
|
-
m && (p = Math.min(p, m.x), x = Math.max(x, m.x), f = m.y);
|
|
430
|
-
}), p !== 1 / 0 && x !== -1 / 0) {
|
|
431
|
-
let h = o.nodeRadius * 4, m = f - h / 2, $ = d.get(n.nodeId);
|
|
432
|
-
$ && ($.x = (p + x) / 2, $.y = m - u / 6), t.append("rect").attr("class", "wardley-pipeline-box").attr("x", p - 15).attr("y", m).attr("width", x - p + 30).attr("height", h).attr("fill", "none").attr("stroke", s.axisColor).attr("stroke-width", 1.5).attr("rx", 4).attr("ry", 4);
|
|
433
|
-
}
|
|
434
|
-
});
|
|
435
|
-
}
|
|
436
|
-
let V = S.append("g").attr("class", "wardley-links"), Z = /* @__PURE__ */ new Map();
|
|
437
|
-
y.pipelines.forEach((t) => {
|
|
438
|
-
Z.set(t.nodeId, new Set(t.componentIds));
|
|
439
|
-
});
|
|
440
|
-
let U = y.links.filter((t) => {
|
|
441
|
-
var i;
|
|
442
|
-
return !(!d.has(t.source) || !d.has(t.target) || (i = Z.get(t.target)) != null && i.has(t.source));
|
|
443
|
-
});
|
|
444
|
-
V.selectAll("line").data(U).enter().append("line").attr("class", (t) => `wardley-link${t.dashed ? " wardley-link--dashed" : ""}`).attr("x1", (t) => {
|
|
445
|
-
let i = d.get(t.source), n = d.get(t.target), l = y.nodes.find((h) => h.id === t.source).isPipelineParent ? u / Math.sqrt(2) : o.nodeRadius, p = n.x - i.x, x = n.y - i.y, f = Math.sqrt(p * p + x * x);
|
|
446
|
-
return i.x + p / f * l;
|
|
447
|
-
}).attr("y1", (t) => {
|
|
448
|
-
let i = d.get(t.source), n = d.get(t.target), l = y.nodes.find((h) => h.id === t.source).isPipelineParent ? u / Math.sqrt(2) : o.nodeRadius, p = n.x - i.x, x = n.y - i.y, f = Math.sqrt(p * p + x * x);
|
|
449
|
-
return i.y + x / f * l;
|
|
450
|
-
}).attr("x2", (t) => {
|
|
451
|
-
let i = d.get(t.source), n = d.get(t.target), l = y.nodes.find((h) => h.id === t.target).isPipelineParent ? u / Math.sqrt(2) : o.nodeRadius, p = i.x - n.x, x = i.y - n.y, f = Math.sqrt(p * p + x * x);
|
|
452
|
-
return n.x + p / f * l;
|
|
453
|
-
}).attr("y2", (t) => {
|
|
454
|
-
let i = d.get(t.source), n = d.get(t.target), l = y.nodes.find((h) => h.id === t.target).isPipelineParent ? u / Math.sqrt(2) : o.nodeRadius, p = i.x - n.x, x = i.y - n.y, f = Math.sqrt(p * p + x * x);
|
|
455
|
-
return n.y + x / f * l;
|
|
456
|
-
}).attr("stroke", s.linkStroke).attr("stroke-width", 1).attr("stroke-dasharray", (t) => t.dashed ? "6 6" : null).attr("marker-end", (t) => t.flow === "forward" || t.flow === "bidirectional" ? `url(#link-arrow-end-${e})` : null).attr("marker-start", (t) => t.flow === "backward" || t.flow === "bidirectional" ? `url(#link-arrow-start-${e})` : null), V.selectAll("text").data(U.filter((t) => t.label)).enter().append("text").attr("class", "wardley-link-label").attr("x", (t) => {
|
|
457
|
-
let i = d.get(t.source), n = d.get(t.target), l = (i.x + n.x) / 2, p = n.y - i.y, x = n.x - i.x;
|
|
458
|
-
return l + p / Math.sqrt(x * x + p * p) * 8;
|
|
459
|
-
}).attr("y", (t) => {
|
|
460
|
-
let i = d.get(t.source), n = d.get(t.target), l = (i.y + n.y) / 2, p = n.x - i.x, x = n.y - i.y, f = Math.sqrt(p * p + x * x);
|
|
461
|
-
return l + -p / f * 8;
|
|
462
|
-
}).attr("fill", s.axisTextColor).attr("font-size", o.labelFontSize).attr("text-anchor", "middle").attr("dominant-baseline", "middle").attr("transform", (t) => {
|
|
463
|
-
let i = d.get(t.source), n = d.get(t.target), l = (i.x + n.x) / 2, p = (i.y + n.y) / 2, x = n.x - i.x, f = n.y - i.y, h = Math.sqrt(x * x + f * f), m = f / h, $ = -x / h, q = l + m * 8, j = p + $ * 8, L = Math.atan2(f, x) * 180 / Math.PI;
|
|
464
|
-
return (L > 90 || L < -90) && (L += 180), `rotate(${L} ${q} ${j})`;
|
|
465
|
-
}).text((t) => t.label);
|
|
466
|
-
let bt = S.append("g").attr("class", "wardley-trends"), vt = y.trends.map((t) => {
|
|
467
|
-
let i = d.get(t.nodeId);
|
|
468
|
-
if (!i) return null;
|
|
469
|
-
let n = z(t.targetX), l = A(t.targetY), p = n - i.x, x = l - i.y, f = Math.sqrt(p * p + x * x), h = o.nodeRadius + 2;
|
|
470
|
-
return {
|
|
471
|
-
origin: i,
|
|
472
|
-
targetX: n,
|
|
473
|
-
targetY: l,
|
|
474
|
-
adjustedX2: f > h ? n - p / f * h : n,
|
|
475
|
-
adjustedY2: f > h ? l - x / f * h : l
|
|
476
|
-
};
|
|
477
|
-
}).filter((t) => t !== null);
|
|
478
|
-
bt.selectAll("line").data(vt).enter().append("line").attr("class", "wardley-trend").attr("x1", (t) => t.origin.x).attr("y1", (t) => t.origin.y).attr("x2", (t) => t.adjustedX2).attr("y2", (t) => t.adjustedY2).attr("stroke", s.evolutionStroke).attr("stroke-width", 1).attr("stroke-dasharray", "4 4").attr("marker-end", `url(#arrow-${e})`);
|
|
479
|
-
let P = S.append("g").attr("class", "wardley-nodes").selectAll("g").data(y.nodes).enter().append("g").attr("class", (t) => ["wardley-node", t.className ? `wardley-node--${t.className}` : ""].filter(Boolean).join(" "));
|
|
480
|
-
P.filter((t) => t.sourceStrategy === "outsource").append("circle").attr("class", "wardley-outsource-overlay").attr("cx", (t) => d.get(t.id).x).attr("cy", (t) => d.get(t.id).y).attr("r", o.nodeRadius * 2).attr("fill", "#666").attr("stroke", s.componentStroke).attr("stroke-width", 1), P.filter((t) => t.sourceStrategy === "buy").append("circle").attr("class", "wardley-buy-overlay").attr("cx", (t) => d.get(t.id).x).attr("cy", (t) => d.get(t.id).y).attr("r", o.nodeRadius * 2).attr("fill", "#ccc").attr("stroke", s.componentStroke).attr("stroke-width", 1), P.filter((t) => t.sourceStrategy === "build").append("circle").attr("class", "wardley-build-overlay").attr("cx", (t) => d.get(t.id).x).attr("cy", (t) => d.get(t.id).y).attr("r", o.nodeRadius * 2).attr("fill", "#eee").attr("stroke", "#000").attr("stroke-width", 1);
|
|
481
|
-
let T = P.filter((t) => t.sourceStrategy === "market");
|
|
482
|
-
T.append("circle").attr("class", "wardley-market-overlay").attr("cx", (t) => d.get(t.id).x).attr("cy", (t) => d.get(t.id).y).attr("r", o.nodeRadius * 2).attr("fill", "white").attr("stroke", s.componentStroke).attr("stroke-width", 1), P.filter((t) => !t.isPipelineParent && t.sourceStrategy !== "market" && t.className !== "anchor").append("circle").attr("cx", (t) => d.get(t.id).x).attr("cy", (t) => d.get(t.id).y).attr("r", o.nodeRadius).attr("fill", s.componentFill).attr("stroke", s.componentStroke).attr("stroke-width", 1);
|
|
483
|
-
let W = o.nodeRadius * 0.7, b = o.nodeRadius * 1.2;
|
|
484
|
-
if (T.append("line").attr("class", "wardley-market-line").attr("x1", (t) => d.get(t.id).x).attr("y1", (t) => d.get(t.id).y - b).attr("x2", (t) => d.get(t.id).x - b * Math.cos(Math.PI / 6)).attr("y2", (t) => d.get(t.id).y + b * Math.sin(Math.PI / 6)).attr("stroke", s.componentStroke).attr("stroke-width", 1), T.append("line").attr("class", "wardley-market-line").attr("x1", (t) => d.get(t.id).x - b * Math.cos(Math.PI / 6)).attr("y1", (t) => d.get(t.id).y + b * Math.sin(Math.PI / 6)).attr("x2", (t) => d.get(t.id).x + b * Math.cos(Math.PI / 6)).attr("y2", (t) => d.get(t.id).y + b * Math.sin(Math.PI / 6)).attr("stroke", s.componentStroke).attr("stroke-width", 1), T.append("line").attr("class", "wardley-market-line").attr("x1", (t) => d.get(t.id).x + b * Math.cos(Math.PI / 6)).attr("y1", (t) => d.get(t.id).y + b * Math.sin(Math.PI / 6)).attr("x2", (t) => d.get(t.id).x).attr("y2", (t) => d.get(t.id).y - b).attr("stroke", s.componentStroke).attr("stroke-width", 1), T.append("circle").attr("class", "wardley-market-dot").attr("cx", (t) => d.get(t.id).x).attr("cy", (t) => d.get(t.id).y - b).attr("r", W).attr("fill", "white").attr("stroke", s.componentStroke).attr("stroke-width", 2), T.append("circle").attr("class", "wardley-market-dot").attr("cx", (t) => d.get(t.id).x - b * Math.cos(Math.PI / 6)).attr("cy", (t) => d.get(t.id).y + b * Math.sin(Math.PI / 6)).attr("r", W).attr("fill", "white").attr("stroke", s.componentStroke).attr("stroke-width", 2), T.append("circle").attr("class", "wardley-market-dot").attr("cx", (t) => d.get(t.id).x + b * Math.cos(Math.PI / 6)).attr("cy", (t) => d.get(t.id).y + b * Math.sin(Math.PI / 6)).attr("r", W).attr("fill", "white").attr("stroke", s.componentStroke).attr("stroke-width", 2), P.filter((t) => t.isPipelineParent === !0).append("rect").attr("x", (t) => d.get(t.id).x - u / 2).attr("y", (t) => d.get(t.id).y - u / 2).attr("width", u).attr("height", u).attr("fill", s.componentFill).attr("stroke", s.componentStroke).attr("stroke-width", 1), P.filter((t) => t.inertia === !0).append("line").attr("class", "wardley-inertia").attr("x1", (t) => {
|
|
485
|
-
let i = d.get(t.id), n = t.isPipelineParent ? u / 2 + 15 : o.nodeRadius + 15;
|
|
486
|
-
return t.sourceStrategy && (n += o.nodeRadius + 10), i.x + n;
|
|
487
|
-
}).attr("y1", (t) => {
|
|
488
|
-
let i = d.get(t.id), n = t.isPipelineParent ? u : o.nodeRadius * 2;
|
|
489
|
-
return i.y - n / 2;
|
|
490
|
-
}).attr("x2", (t) => {
|
|
491
|
-
let i = d.get(t.id), n = t.isPipelineParent ? u / 2 + 15 : o.nodeRadius + 15;
|
|
492
|
-
return t.sourceStrategy && (n += o.nodeRadius + 10), i.x + n;
|
|
493
|
-
}).attr("y2", (t) => {
|
|
494
|
-
let i = d.get(t.id), n = t.isPipelineParent ? u : o.nodeRadius * 2;
|
|
495
|
-
return i.y + n / 2;
|
|
496
|
-
}).attr("stroke", s.componentStroke).attr("stroke-width", 6), P.append("text").attr("x", (t) => {
|
|
497
|
-
let i = d.get(t.id);
|
|
498
|
-
if (t.className === "anchor") return t.labelOffsetX === void 0 ? i.x : i.x + t.labelOffsetX;
|
|
499
|
-
let n = o.nodeLabelOffset;
|
|
500
|
-
t.sourceStrategy && t.labelOffsetX === void 0 && (n += 10);
|
|
501
|
-
let l = t.labelOffsetX ?? n;
|
|
502
|
-
return i.x + l;
|
|
503
|
-
}).attr("y", (t) => {
|
|
504
|
-
let i = d.get(t.id);
|
|
505
|
-
if (t.className === "anchor") return t.labelOffsetY === void 0 ? i.y - 3 : i.y + t.labelOffsetY;
|
|
506
|
-
let n = -o.nodeLabelOffset;
|
|
507
|
-
t.sourceStrategy && t.labelOffsetY === void 0 && (n -= 10);
|
|
508
|
-
let l = t.labelOffsetY ?? n;
|
|
509
|
-
return i.y + l;
|
|
510
|
-
}).attr("class", "wardley-node-label").attr("fill", (t) => t.className === "evolved" ? s.evolutionStroke : t.className === "anchor" ? "#000" : s.componentLabelColor).attr("font-size", o.labelFontSize).attr("font-weight", (t) => t.className === "anchor" ? "bold" : "normal").attr("text-anchor", (t) => t.className === "anchor" ? "middle" : "start").attr("dominant-baseline", (t) => t.className === "anchor" ? "middle" : "auto").text((t) => t.label), y.annotations.length > 0) {
|
|
511
|
-
let t = S.append("g").attr("class", "wardley-annotations");
|
|
512
|
-
if (y.annotations.forEach((i) => {
|
|
513
|
-
let n = i.coordinates.map((l) => ({
|
|
514
|
-
x: z(l.x),
|
|
515
|
-
y: A(l.y)
|
|
516
|
-
}));
|
|
517
|
-
if (n.length > 1) for (let l = 0; l < n.length - 1; l++) t.append("line").attr("class", "wardley-annotation-line").attr("x1", n[l].x).attr("y1", n[l].y).attr("x2", n[l + 1].x).attr("y2", n[l + 1].y).attr("stroke", s.axisColor).attr("stroke-width", 1.5).attr("stroke-dasharray", "4 4");
|
|
518
|
-
n.forEach((l) => {
|
|
519
|
-
let p = t.append("g").attr("class", "wardley-annotation");
|
|
520
|
-
p.append("circle").attr("cx", l.x).attr("cy", l.y).attr("r", 10).attr("fill", "white").attr("stroke", s.axisColor).attr("stroke-width", 1.5), p.append("text").attr("x", l.x).attr("y", l.y).attr("text-anchor", "middle").attr("dominant-baseline", "central").attr("font-size", 10).attr("fill", s.axisTextColor).attr("font-weight", "bold").text(i.number);
|
|
521
|
-
});
|
|
522
|
-
}), y.annotationsBox) {
|
|
523
|
-
let i = z(y.annotationsBox.x), n = A(y.annotationsBox.y), l = t.append("g").attr("class", "wardley-annotations-box"), p = [...y.annotations].filter((f) => f.text).sort((f, h) => f.number - h.number), x = [];
|
|
524
|
-
if (p.forEach((f, h) => {
|
|
525
|
-
let m = l.append("text").attr("x", i + 10).attr("y", n + 10 + (h + 1) * 16).attr("font-size", 11).attr("fill", s.axisTextColor).attr("text-anchor", "start").attr("dominant-baseline", "middle").text(`${f.number}. ${f.text}`);
|
|
526
|
-
x.push(m);
|
|
527
|
-
}), x.length > 0) {
|
|
528
|
-
let f = 0, h = 0;
|
|
529
|
-
x.forEach((G) => {
|
|
530
|
-
let X = G.node(), Mt = X.getComputedTextLength();
|
|
531
|
-
f = Math.max(f, Mt);
|
|
532
|
-
let $t = X.getBBox();
|
|
533
|
-
h = Math.max(h, $t.height);
|
|
534
|
-
});
|
|
535
|
-
let m = f + 20 + 105, $ = p.length * 16 + 20 + h / 2, q = o.padding, j = M - o.padding - m, L = o.padding, St = w - o.padding - $;
|
|
536
|
-
i = Math.max(q, Math.min(i, j)), n = Math.max(L, Math.min(n, St)), x.forEach((G, X) => {
|
|
537
|
-
G.attr("x", i + 10).attr("y", n + 10 + (X + 1) * 16);
|
|
538
|
-
}), l.insert("rect", "text").attr("x", i).attr("y", n).attr("width", m).attr("height", $).attr("fill", "white").attr("stroke", s.axisColor).attr("stroke-width", 1.5).attr("rx", 4).attr("ry", 4);
|
|
539
|
-
}
|
|
540
|
-
}
|
|
541
|
-
}
|
|
542
|
-
if (y.notes.length > 0) {
|
|
543
|
-
let t = S.append("g").attr("class", "wardley-notes");
|
|
544
|
-
y.notes.forEach((i) => {
|
|
545
|
-
let n = z(i.x), l = A(i.y);
|
|
546
|
-
t.append("text").attr("x", n).attr("y", l).attr("text-anchor", "start").attr("font-size", 11).attr("fill", s.axisTextColor).attr("font-weight", "bold").text(i.text);
|
|
547
|
-
});
|
|
548
|
-
}
|
|
549
|
-
if (y.accelerators.length > 0) {
|
|
550
|
-
let t = S.append("g").attr("class", "wardley-accelerators");
|
|
551
|
-
y.accelerators.forEach((i) => {
|
|
552
|
-
let n = z(i.x), l = A(i.y), p = `
|
|
553
|
-
M ${n} ${l - 30 / 2}
|
|
554
|
-
L ${n + 60 - 20} ${l - 30 / 2}
|
|
555
|
-
L ${n + 60 - 20} ${l - 30 / 2 - 8}
|
|
556
|
-
L ${n + 60} ${l}
|
|
557
|
-
L ${n + 60 - 20} ${l + 30 / 2 + 8}
|
|
558
|
-
L ${n + 60 - 20} ${l + 30 / 2}
|
|
559
|
-
L ${n} ${l + 30 / 2}
|
|
560
|
-
Z
|
|
561
|
-
`;
|
|
562
|
-
t.append("path").attr("d", p).attr("fill", "white").attr("stroke", s.componentStroke).attr("stroke-width", 1), t.append("text").attr("x", n + 60 / 2).attr("y", l + 30 / 2 + 15).attr("text-anchor", "middle").attr("font-size", 10).attr("fill", s.axisTextColor).attr("font-weight", "bold").text(i.name);
|
|
563
|
-
});
|
|
564
|
-
}
|
|
565
|
-
if (y.deaccelerators.length > 0) {
|
|
566
|
-
let t = S.append("g").attr("class", "wardley-deaccelerators");
|
|
567
|
-
y.deaccelerators.forEach((i) => {
|
|
568
|
-
let n = z(i.x), l = A(i.y), p = `
|
|
569
|
-
M ${n + 60} ${l - 30 / 2}
|
|
570
|
-
L ${n + 20} ${l - 30 / 2}
|
|
571
|
-
L ${n + 20} ${l - 30 / 2 - 8}
|
|
572
|
-
L ${n} ${l}
|
|
573
|
-
L ${n + 20} ${l + 30 / 2 + 8}
|
|
574
|
-
L ${n + 20} ${l + 30 / 2}
|
|
575
|
-
L ${n + 60} ${l + 30 / 2}
|
|
576
|
-
Z
|
|
577
|
-
`;
|
|
578
|
-
t.append("path").attr("d", p).attr("fill", "white").attr("stroke", s.componentStroke).attr("stroke-width", 1), t.append("text").attr("x", n + 60 / 2).attr("y", l + 30 / 2 + 15).attr("text-anchor", "middle").attr("font-size", 10).attr("fill", s.axisTextColor).attr("font-weight", "bold").text(i.name);
|
|
579
|
-
});
|
|
580
|
-
}
|
|
581
|
-
}, "draw") },
|
|
582
|
-
styles: /* @__PURE__ */ g(({ wardley: r } = {}) => {
|
|
583
|
-
let e = J(J(It(), Lt().themeVariables).wardley, r);
|
|
584
|
-
return `
|
|
585
|
-
.wardley-background {
|
|
586
|
-
fill: ${e.backgroundColor};
|
|
587
|
-
}
|
|
588
|
-
.wardley-axes line, .wardley-axes path {
|
|
589
|
-
stroke: ${e.axisColor};
|
|
590
|
-
}
|
|
591
|
-
.wardley-axis-label {
|
|
592
|
-
fill: ${e.axisTextColor};
|
|
593
|
-
}
|
|
594
|
-
.wardley-stage-label {
|
|
595
|
-
fill: ${e.axisTextColor};
|
|
596
|
-
}
|
|
597
|
-
.wardley-grid line {
|
|
598
|
-
stroke: ${e.gridColor};
|
|
599
|
-
}
|
|
600
|
-
.wardley-node circle {
|
|
601
|
-
fill: ${e.componentFill};
|
|
602
|
-
stroke: ${e.componentStroke};
|
|
603
|
-
}
|
|
604
|
-
.wardley-node-label {
|
|
605
|
-
fill: ${e.componentLabelColor};
|
|
606
|
-
}
|
|
607
|
-
.wardley-link {
|
|
608
|
-
stroke: ${e.linkStroke};
|
|
609
|
-
}
|
|
610
|
-
.wardley-link--dashed {
|
|
611
|
-
stroke-dasharray: 4 4;
|
|
612
|
-
}
|
|
613
|
-
.wardley-link-label {
|
|
614
|
-
fill: ${e.axisTextColor};
|
|
615
|
-
}
|
|
616
|
-
.wardley-trend line {
|
|
617
|
-
stroke: ${e.evolutionStroke};
|
|
618
|
-
}
|
|
619
|
-
.wardley-annotation-line {
|
|
620
|
-
stroke: ${e.annotationStroke};
|
|
621
|
-
}
|
|
622
|
-
.wardley-annotation circle {
|
|
623
|
-
fill: ${e.annotationFill};
|
|
624
|
-
stroke: ${e.annotationStroke};
|
|
625
|
-
}
|
|
626
|
-
.wardley-annotation text {
|
|
627
|
-
fill: ${e.annotationTextColor};
|
|
628
|
-
}
|
|
629
|
-
.wardley-annotations-box rect {
|
|
630
|
-
fill: ${e.annotationFill};
|
|
631
|
-
stroke: ${e.annotationStroke};
|
|
632
|
-
}
|
|
633
|
-
.wardley-annotations-box text {
|
|
634
|
-
fill: ${e.annotationTextColor};
|
|
635
|
-
}
|
|
636
|
-
.wardley-pipeline-box {
|
|
637
|
-
stroke: ${e.componentStroke};
|
|
638
|
-
}
|
|
639
|
-
.wardley-notes text {
|
|
640
|
-
fill: ${e.axisTextColor};
|
|
641
|
-
}
|
|
642
|
-
`;
|
|
643
|
-
}, "styles")
|
|
644
|
-
};
|
|
645
|
-
export {
|
|
646
|
-
Zt as diagram
|
|
647
|
-
};
|