@toimc/markdown 0.0.1 → 0.0.2
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/{CodeBlock.vue.d.ts → components/CodeBlock.vue.d.ts} +10 -1
- package/dist/components/CodeBlock.vue.d.ts.map +1 -0
- package/dist/components/LatexBlock.vue.d.ts.map +1 -0
- package/dist/components/MarkdownRenderer.vue.d.ts.map +1 -0
- package/dist/components/MermaidBlock.vue.d.ts.map +1 -0
- package/dist/composables/useMarkdownIt.d.ts.map +1 -1
- package/dist/index.cjs +62 -59
- package/dist/index.d.ts +4 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.mjs +4536 -4331
- package/dist/markdown.css +1 -1
- package/dist/utils/formula-guard.d.ts +13 -0
- package/dist/utils/formula-guard.d.ts.map +1 -0
- package/dist/utils/split-lines.d.ts +10 -0
- package/dist/utils/split-lines.d.ts.map +1 -0
- package/package.json +6 -3
- package/dist/CodeBlock.test.d.ts +0 -2
- package/dist/CodeBlock.test.d.ts.map +0 -1
- package/dist/CodeBlock.vue.d.ts.map +0 -1
- package/dist/LatexBlock.test.d.ts +0 -2
- package/dist/LatexBlock.test.d.ts.map +0 -1
- package/dist/LatexBlock.vue.d.ts.map +0 -1
- package/dist/MarkdownRenderer.test.d.ts +0 -2
- package/dist/MarkdownRenderer.test.d.ts.map +0 -1
- package/dist/MarkdownRenderer.vue.d.ts.map +0 -1
- package/dist/MermaidBlock.test.d.ts +0 -2
- package/dist/MermaidBlock.test.d.ts.map +0 -1
- package/dist/MermaidBlock.vue.d.ts.map +0 -1
- package/dist/abnfDiagram-N423BO3Z-CpvDGmAd.cjs +0 -1
- package/dist/abnfDiagram-N423BO3Z-DuAPsGBR.js +0 -89
- package/dist/arc-CFxpoaLu.js +0 -82
- package/dist/arc-Dh2Zrypi.cjs +0 -1
- package/dist/architecture-TIHT7OUA-CUym9zMN.cjs +0 -1
- package/dist/architecture-TIHT7OUA-DDwCCw0y.js +0 -3
- package/dist/architectureDiagram-T3A2C74G-CS6-PQjR.cjs +0 -36
- package/dist/architectureDiagram-T3A2C74G-d7xzbLJQ.js +0 -4155
- package/dist/array-CApNbSU9.js +0 -6
- package/dist/array-DZSRzHA_.cjs +0 -1
- package/dist/blockDiagram-VBNYF7ZC-CnvNE8Hq.js +0 -3157
- package/dist/blockDiagram-VBNYF7ZC-DVl7vKmv.cjs +0 -132
- package/dist/c4Diagram-5PPSVZJV-B1RTcquO.js +0 -2982
- package/dist/c4Diagram-5PPSVZJV-Djkk0hzr.cjs +0 -10
- package/dist/channel-CNZiSge7.cjs +0 -1
- package/dist/channel-CqlbSsMQ.js +0 -5
- package/dist/chunk-2GRJ4B5K-BgeLbn06.cjs +0 -1
- package/dist/chunk-2GRJ4B5K-C5VToU5T.js +0 -61
- package/dist/chunk-2Q5K7J3B-B8v9mTdK.cjs +0 -1
- package/dist/chunk-2Q5K7J3B-C3WfnuyI.js +0 -15
- package/dist/chunk-4I5QYGJK-Bs8S-Wfu.js +0 -275
- package/dist/chunk-4I5QYGJK-CBqJO_mi.cjs +0 -1
- package/dist/chunk-5RXB4S5H-BnJ1P9K2.js +0 -2042
- package/dist/chunk-5RXB4S5H-BtEDiC1U.cjs +0 -231
- package/dist/chunk-5VM5RSS4-BsUXY5k9.js +0 -5
- package/dist/chunk-5VM5RSS4-CwDmQ9T_.cjs +0 -15
- package/dist/chunk-6Q2QTUOP-C0P-wtth.js +0 -490
- package/dist/chunk-6Q2QTUOP-UC-G8b3B.cjs +0 -88
- package/dist/chunk-7BUUIJ7U-CZdUK2qY.js +0 -82
- package/dist/chunk-7BUUIJ7U-MzS1pW_S.cjs +0 -1
- package/dist/chunk-7Z6QIM7H-CJdupq9f.js +0 -593
- package/dist/chunk-7Z6QIM7H-CUGcycR0.cjs +0 -10
- package/dist/chunk-GF5L2VYU-CDGpCl8Z.js +0 -3357
- package/dist/chunk-GF5L2VYU-DWhSvqYP.cjs +0 -206
- package/dist/chunk-I66GZJ75-D8wVRUgw.cjs +0 -127
- package/dist/chunk-I66GZJ75-xmbkwRyp.js +0 -3754
- package/dist/chunk-JQJVKLGR-B-jNEb9r.js +0 -4135
- package/dist/chunk-JQJVKLGR-CbhQdRxu.cjs +0 -156
- package/dist/chunk-JWPE2WC7-B8JIODrM.js +0 -8
- package/dist/chunk-JWPE2WC7-Cs1kjq8S.cjs +0 -1
- package/dist/chunk-KBJHAD2P-BMuT9eJO.cjs +0 -1
- package/dist/chunk-KBJHAD2P-CCpB6hWQ.js +0 -26
- package/dist/chunk-KEIR6QF5-RwFi50en.js +0 -21456
- package/dist/chunk-KEIR6QF5-rUKzMPy0.cjs +0 -161
- package/dist/chunk-NSK5VX7P-BO1SrWAL.js +0 -1335
- package/dist/chunk-NSK5VX7P-BiC_63US.cjs +0 -2
- package/dist/chunk-QR6OTTB3-BSxbyKp_.cjs +0 -62
- package/dist/chunk-QR6OTTB3-CGxJcV-X.js +0 -3738
- package/dist/chunk-RYQCIY6F-Lf2oVMMh.cjs +0 -1
- package/dist/chunk-RYQCIY6F-UBebC0ib.js +0 -241
- package/dist/chunk-UBXNYLIW-BURVNZm2.cjs +0 -1
- package/dist/chunk-UBXNYLIW-fOGkdEwd.js +0 -32
- package/dist/chunk-W5SLKNZC-BLFqePZ1.cjs +0 -1
- package/dist/chunk-W5SLKNZC-C2SYjJjL.js +0 -67
- package/dist/chunk-WRU74C26-Cr4HTCc1.cjs +0 -70
- package/dist/chunk-WRU74C26-UGtU6H2a.js +0 -1636
- package/dist/chunk-XXDRQBXY-GENMsCHk.js +0 -9
- package/dist/chunk-XXDRQBXY-yMT3rT5Y.cjs +0 -1
- package/dist/chunk-Y2CYZVJY-CnmLqFtv.cjs +0 -1
- package/dist/chunk-Y2CYZVJY-DO9UHHon.js +0 -12
- package/dist/classDiagram-JCYQIIEL-DUjWUDYG.cjs +0 -1
- package/dist/classDiagram-JCYQIIEL-Dm9anlJw.js +0 -30
- package/dist/classDiagram-v2-OCEON4UE-Bl-vyFyz.js +0 -30
- package/dist/classDiagram-v2-OCEON4UE-DUjWUDYG.cjs +0 -1
- package/dist/composables/useHighlighter.test.d.ts +0 -2
- package/dist/composables/useHighlighter.test.d.ts.map +0 -1
- package/dist/composables/useMarkdownIt.test.d.ts +0 -2
- package/dist/composables/useMarkdownIt.test.d.ts.map +0 -1
- package/dist/composables/useShikiTokenizer.test.d.ts +0 -2
- package/dist/composables/useShikiTokenizer.test.d.ts.map +0 -1
- package/dist/composables/useStreamingMarkdown.test.d.ts +0 -2
- package/dist/composables/useStreamingMarkdown.test.d.ts.map +0 -1
- package/dist/cose-bilkent-JH36ORCC-C1RCVzVZ.cjs +0 -1
- package/dist/cose-bilkent-JH36ORCC-C5FbROLY.js +0 -2254
- package/dist/cynefin-VYW2F7L2-CMgnLl46.js +0 -3
- package/dist/cynefin-VYW2F7L2-DVi1CF5b.cjs +0 -1
- package/dist/cynefinDiagram-MW4NZA55-CkZY080C.cjs +0 -62
- package/dist/cynefinDiagram-MW4NZA55-DbAAx9CC.js +0 -355
- package/dist/cytoscape.esm-BKhIYxsH.cjs +0 -321
- package/dist/cytoscape.esm-DMXbtFI-.js +0 -18145
- package/dist/dagre-DarAkhy1.cjs +0 -1
- package/dist/dagre-VZM6K2ZE-CpL0s3GG.js +0 -328
- package/dist/dagre-VZM6K2ZE-D1_S1oSj.cjs +0 -4
- package/dist/dagre-x4cMb6gU.js +0 -1699
- package/dist/defaultLocale-ybN1Vtvg.cjs +0 -1
- package/dist/defaultLocale-yzzuPw6P.js +0 -198
- package/dist/diagram-7IWD3JNH-BXvOBw2z.js +0 -300
- package/dist/diagram-7IWD3JNH-W-Kjft6l.cjs +0 -30
- package/dist/diagram-B4RE2ZJO-C4lLgW4X.cjs +0 -3
- package/dist/diagram-B4RE2ZJO-DyAAD_bR.js +0 -432
- package/dist/diagram-LBJQPF4R-BTgCWP5o.cjs +0 -24
- package/dist/diagram-LBJQPF4R-BbMQOpt2.js +0 -134
- package/dist/diagram-Q27KOJAE-ink_R6qE.js +0 -527
- package/dist/diagram-Q27KOJAE-v-ZMzCxs.cjs +0 -24
- package/dist/diagram-UB23O5K3-BXTm2BG0.cjs +0 -41
- package/dist/diagram-UB23O5K3-C6rqCJBb.js +0 -214
- package/dist/dist-BP2me-br.js +0 -59
- package/dist/dist-Dwv2VYAL.cjs +0 -1
- package/dist/ebnfDiagram-BXEA7PRR-C80cjdjP.js +0 -100
- package/dist/ebnfDiagram-BXEA7PRR-lKO9XwUp.cjs +0 -1
- package/dist/erDiagram-JOGREHBK-Blwfr6w3.js +0 -1727
- package/dist/erDiagram-JOGREHBK-ChgcmULa.cjs +0 -85
- package/dist/eventmodeling-45OFAUF4-BDhzj03B.js +0 -3
- package/dist/eventmodeling-45OFAUF4-BtU19idK.cjs +0 -1
- package/dist/flowDiagram-UKHOOZJN-Co0JpKUU.js +0 -16
- package/dist/flowDiagram-UKHOOZJN-db1Ur2LI.cjs +0 -1
- package/dist/ganttDiagram-PKOTCBZU-Byi4E8Ye.js +0 -3073
- package/dist/ganttDiagram-PKOTCBZU-C_Vwv1o8.cjs +0 -292
- package/dist/gitGraph-TEB2WS4Q-CAeGPNFR.cjs +0 -1
- package/dist/gitGraph-TEB2WS4Q-DJA_hE4G.js +0 -3
- package/dist/gitGraphDiagram-DS77QQ5N-BG8AQVtP.js +0 -733
- package/dist/gitGraphDiagram-DS77QQ5N-DK9VJTjf.cjs +0 -106
- package/dist/graphlib-BaETKKSa.cjs +0 -1
- package/dist/graphlib-DoD0LnUK.js +0 -1267
- package/dist/info-DKCQHKI2-BD_vOCz6.js +0 -3
- package/dist/info-DKCQHKI2-p0Lazone.cjs +0 -1
- package/dist/infoDiagram-6WML65LV-B6PBOy7T.js +0 -20
- package/dist/infoDiagram-6WML65LV-nBSrP53Z.cjs +0 -2
- package/dist/init-BJdqMO10.cjs +0 -1
- package/dist/init-sjaVZO3f.js +0 -13
- package/dist/ishikawaDiagram-WSZJBQD7-BxEkaF2A.js +0 -719
- package/dist/ishikawaDiagram-WSZJBQD7-CjyKQ_N6.cjs +0 -70
- package/dist/journeyDiagram-NVQOT4AX-BPCuqjbW.js +0 -884
- package/dist/journeyDiagram-NVQOT4AX-DKgEeNcy.cjs +0 -139
- package/dist/kanban-definition-27J2QSJJ-BeKnR9zB.cjs +0 -89
- package/dist/kanban-definition-27J2QSJJ-D1pVuCv2.js +0 -974
- package/dist/katex-BfeHGk4M.js +0 -21977
- package/dist/katex-CEF6MvLx.cjs +0 -257
- package/dist/line-8EHPtDZA.cjs +0 -1
- package/dist/line-BifI9Y7j.js +0 -34
- package/dist/linear-Nt9BuHfn.cjs +0 -1
- package/dist/linear-l8AD1ib_.js +0 -288
- package/dist/map-CCpPjiU9.cjs +0 -1
- package/dist/map-DUk1uXZC.js +0 -241
- package/dist/mermaid-parser.core-BupC9XGF.js +0 -638
- package/dist/mermaid-parser.core-aXxW1VLR.cjs +0 -6
- package/dist/mermaid.core-C05C5gh_.cjs +0 -41
- package/dist/mermaid.core-CxM-VhZd.js +0 -2297
- package/dist/mindmap-definition-FAOFIHXS-B_k8KOvw.js +0 -1006
- package/dist/mindmap-definition-FAOFIHXS-CKPAiVKf.cjs +0 -96
- package/dist/ordinal-Bm_chml2.cjs +0 -1
- package/dist/ordinal-CNQzPcrr.js +0 -65
- package/dist/packet-7NZHBO7P-CVdRavgo.cjs +0 -1
- package/dist/packet-7NZHBO7P-CgBlALV1.js +0 -3
- package/dist/path-DIS6ck99.cjs +0 -1
- package/dist/path-DVvH25eQ.js +0 -84
- package/dist/pegDiagram-VL7TDLO6-B5Jhedbv.cjs +0 -1
- package/dist/pegDiagram-VL7TDLO6-PP-A-3Lv.js +0 -94
- package/dist/pie-RZYD4A2V-CryPC-P_.js +0 -3
- package/dist/pie-RZYD4A2V-CwDJ0bEW.cjs +0 -1
- package/dist/pieDiagram-7S7Q4E2Y-CgDU9E10.cjs +0 -39
- package/dist/pieDiagram-7S7Q4E2Y-CxNt1xaN.js +0 -203
- package/dist/quadrantDiagram-CIZ2JOQS-CMUanfcR.js +0 -2001
- package/dist/quadrantDiagram-CIZ2JOQS-vybEBK1o.cjs +0 -7
- package/dist/radar-I7S5WNFK-DaVgEjvC.cjs +0 -1
- package/dist/radar-I7S5WNFK-DgzJDRy3.js +0 -3
- package/dist/railroad-3IZDKUUU-BPsrMjqz.cjs +0 -1
- package/dist/railroad-3IZDKUUU-DFp3mbpB.js +0 -3
- package/dist/railroad-abnf-AHOZXSZD-BRjidKH0.js +0 -3
- package/dist/railroad-abnf-AHOZXSZD-ZpHq_KEy.cjs +0 -1
- package/dist/railroad-ebnf-EBAXGLYW-B45niwuq.cjs +0 -1
- package/dist/railroad-ebnf-EBAXGLYW-PgrDWact.js +0 -3
- package/dist/railroad-peg-LSFZ7HO6-CMKir81Y.js +0 -3
- package/dist/railroad-peg-LSFZ7HO6-DUsuEX2Z.cjs +0 -1
- package/dist/railroadDiagram-AXF67PYL-D7y_2yAa.cjs +0 -1
- package/dist/railroadDiagram-AXF67PYL-iLkvx2oU.js +0 -76
- package/dist/renderers/tokensToHtml.test.d.ts +0 -2
- package/dist/renderers/tokensToHtml.test.d.ts.map +0 -1
- package/dist/requirementDiagram-LRYGKXZP-Bs2mCDzB.js +0 -2223
- package/dist/requirementDiagram-LRYGKXZP-lA2nVr6h.cjs +0 -84
- package/dist/rolldown-runtime-B0aSnxlc.js +0 -20
- package/dist/rolldown-runtime-DF3sbh8G.cjs +0 -1
- package/dist/rough.esm-B2w_aYoc.js +0 -1361
- package/dist/rough.esm-ChRLLRha.cjs +0 -1
- package/dist/sankeyDiagram-W5VNT64P-BxYQllhE.js +0 -972
- package/dist/sankeyDiagram-W5VNT64P-vPci5pOT.cjs +0 -40
- package/dist/sequenceDiagram-SI44F4Z6-BNu1-3EN.cjs +0 -162
- package/dist/sequenceDiagram-SI44F4Z6-E6AoYU_R.js +0 -4156
- package/dist/sizeCapture-X5ZJPWSS-8gbZlYqg.js +0 -46
- package/dist/sizeCapture-X5ZJPWSS-bJ2ZX4Du.cjs +0 -1
- package/dist/src-C7bjHtAI.js +0 -2139
- package/dist/src-D9o9TOtH.cjs +0 -1
- package/dist/stateDiagram-OKZ733FA-B7ITlY91.cjs +0 -1
- package/dist/stateDiagram-OKZ733FA-BfcOAK65.js +0 -220
- package/dist/stateDiagram-v2-UEYNNEHI-BHO-uUPG.js +0 -30
- package/dist/stateDiagram-v2-UEYNNEHI-lgGjJyRM.cjs +0 -1
- package/dist/swimlanes-SLNWSIFB-BHIPInzG.js +0 -5069
- package/dist/swimlanes-SLNWSIFB-C-Z31wMl.cjs +0 -1
- package/dist/swimlanesDiagram-ULZ7WXOC-C8pvRoyc.cjs +0 -8
- package/dist/swimlanesDiagram-ULZ7WXOC-CK6AVyRM.js +0 -30
- package/dist/timeline-definition-Z64GVDOM-C31otJwb.cjs +0 -120
- package/dist/timeline-definition-Z64GVDOM-rUKJY7cp.js +0 -1069
- package/dist/treeView-QDETBFTQ-BkNUN560.cjs +0 -1
- package/dist/treeView-QDETBFTQ-DVp4aTZQ.js +0 -3
- package/dist/treemap-6X3UGDF4-BbBnHMHJ.js +0 -3
- package/dist/treemap-6X3UGDF4-BcO657a2.cjs +0 -1
- package/dist/utils/extractCompleteMarkdown.test.d.ts +0 -2
- package/dist/utils/extractCompleteMarkdown.test.d.ts.map +0 -1
- package/dist/vennDiagram-T6HMQDX7-DjlTuTEH.cjs +0 -34
- package/dist/vennDiagram-T6HMQDX7-vxMe-3nF.js +0 -1880
- package/dist/wardley-OPB4EBWU-B-RXhnoN.js +0 -3
- package/dist/wardley-OPB4EBWU-CiILNYeL.cjs +0 -1
- package/dist/wardleyDiagram-T6FBY63Y-BMQLZV1W.cjs +0 -78
- package/dist/wardleyDiagram-T6FBY63Y-C_Q2NmJu.js +0 -645
- package/dist/xychartDiagram-ELKLHX3M-Bsa_zeyd.cjs +0 -7
- package/dist/xychartDiagram-ELKLHX3M-OcVmrPL6.js +0 -2101
- /package/dist/{LatexBlock.vue.d.ts → components/LatexBlock.vue.d.ts} +0 -0
- /package/dist/{MarkdownRenderer.vue.d.ts → components/MarkdownRenderer.vue.d.ts} +0 -0
- /package/dist/{MermaidBlock.vue.d.ts → components/MermaidBlock.vue.d.ts} +0 -0
|
@@ -1,645 +0,0 @@
|
|
|
1
|
-
import { n as e } from "./mermaid-parser.core-BupC9XGF.js";
|
|
2
|
-
import { n as t } from "./chunk-Y2CYZVJY-DO9UHHon.js";
|
|
3
|
-
import { m as n } from "./src-C7bjHtAI.js";
|
|
4
|
-
import { D as r, H as i, K as a, U as o, a as s, b as c, c as l, v as u, w as d, x as f, y as p } from "./chunk-I66GZJ75-xmbkwRyp.js";
|
|
5
|
-
import { i as m } from "./chunk-NSK5VX7P-BO1SrWAL.js";
|
|
6
|
-
import { t as h } from "./chunk-JWPE2WC7-B8JIODrM.js";
|
|
7
|
-
import { a as g } from "./mermaid.core-CxM-VhZd.js";
|
|
8
|
-
//#region ../../node_modules/.pnpm/mermaid@11.16.1/node_modules/mermaid/dist/chunks/mermaid.core/wardleyDiagram-T6FBY63Y.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 (h(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(), s();
|
|
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: o,
|
|
322
|
-
getAccTitle: p,
|
|
323
|
-
setDiagramTitle: a,
|
|
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(), 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, h = g(r);
|
|
367
|
-
h.selectAll("*").remove(), l(h, m, p, o.useMaxWidth), h.attr("viewBox", `0 0 ${p} ${m}`);
|
|
368
|
-
let _ = h.append("g").attr("class", "wardley-map"), v = h.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, 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-${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 - 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 - 15}
|
|
553
|
-
L ${n + 60 - 20} ${r - 15}
|
|
554
|
-
L ${n + 60 - 20} ${r - 15 - 8}
|
|
555
|
-
L ${n + 60} ${r}
|
|
556
|
-
L ${n + 60 - 20} ${r + 15 + 8}
|
|
557
|
-
L ${n + 60 - 20} ${r + 15}
|
|
558
|
-
L ${n} ${r + 15}
|
|
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 + 30).attr("y", r + 15 + 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 - 15}
|
|
569
|
-
L ${n + 20} ${r - 15}
|
|
570
|
-
L ${n + 20} ${r - 15 - 8}
|
|
571
|
-
L ${n} ${r}
|
|
572
|
-
L ${n + 20} ${r + 15 + 8}
|
|
573
|
-
L ${n + 20} ${r + 15}
|
|
574
|
-
L ${n + 60} ${r + 15}
|
|
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 + 30).attr("y", r + 15 + 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 = r(), n = c(), i = m(t, n.themeVariables), a = m(i.wardley, e);
|
|
583
|
-
return `
|
|
584
|
-
.wardley-background {
|
|
585
|
-
fill: ${a.backgroundColor};
|
|
586
|
-
}
|
|
587
|
-
.wardley-axes line, .wardley-axes path {
|
|
588
|
-
stroke: ${a.axisColor};
|
|
589
|
-
}
|
|
590
|
-
.wardley-axis-label {
|
|
591
|
-
fill: ${a.axisTextColor};
|
|
592
|
-
}
|
|
593
|
-
.wardley-stage-label {
|
|
594
|
-
fill: ${a.axisTextColor};
|
|
595
|
-
}
|
|
596
|
-
.wardley-grid line {
|
|
597
|
-
stroke: ${a.gridColor};
|
|
598
|
-
}
|
|
599
|
-
.wardley-node circle {
|
|
600
|
-
fill: ${a.componentFill};
|
|
601
|
-
stroke: ${a.componentStroke};
|
|
602
|
-
}
|
|
603
|
-
.wardley-node-label {
|
|
604
|
-
fill: ${a.componentLabelColor};
|
|
605
|
-
}
|
|
606
|
-
.wardley-link {
|
|
607
|
-
stroke: ${a.linkStroke};
|
|
608
|
-
}
|
|
609
|
-
.wardley-link--dashed {
|
|
610
|
-
stroke-dasharray: 4 4;
|
|
611
|
-
}
|
|
612
|
-
.wardley-link-label {
|
|
613
|
-
fill: ${a.axisTextColor};
|
|
614
|
-
}
|
|
615
|
-
.wardley-trend line {
|
|
616
|
-
stroke: ${a.evolutionStroke};
|
|
617
|
-
}
|
|
618
|
-
.wardley-annotation-line {
|
|
619
|
-
stroke: ${a.annotationStroke};
|
|
620
|
-
}
|
|
621
|
-
.wardley-annotation circle {
|
|
622
|
-
fill: ${a.annotationFill};
|
|
623
|
-
stroke: ${a.annotationStroke};
|
|
624
|
-
}
|
|
625
|
-
.wardley-annotation text {
|
|
626
|
-
fill: ${a.annotationTextColor};
|
|
627
|
-
}
|
|
628
|
-
.wardley-annotations-box rect {
|
|
629
|
-
fill: ${a.annotationFill};
|
|
630
|
-
stroke: ${a.annotationStroke};
|
|
631
|
-
}
|
|
632
|
-
.wardley-annotations-box text {
|
|
633
|
-
fill: ${a.annotationTextColor};
|
|
634
|
-
}
|
|
635
|
-
.wardley-pipeline-box {
|
|
636
|
-
stroke: ${a.componentStroke};
|
|
637
|
-
}
|
|
638
|
-
.wardley-notes text {
|
|
639
|
-
fill: ${a.axisTextColor};
|
|
640
|
-
}
|
|
641
|
-
`;
|
|
642
|
-
}, "styles")
|
|
643
|
-
};
|
|
644
|
-
//#endregion
|
|
645
|
-
export { G as diagram };
|