@pi-outpost/embed 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (250) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +63 -0
  3. package/dist/abnfDiagram-VRR7QNED-BPTALLb_.cjs +1 -0
  4. package/dist/abnfDiagram-VRR7QNED-DlAvVtuC.js +89 -0
  5. package/dist/arc-BBnpgwVQ.js +80 -0
  6. package/dist/arc-DcUn9_NX.cjs +1 -0
  7. package/dist/architecture-TIHT7OUA-D-35jO9Y.cjs +1 -0
  8. package/dist/architecture-TIHT7OUA-DDyMqjR1.js +3 -0
  9. package/dist/architectureDiagram-ZJ3FMSHR-Bh5-VPPg.cjs +36 -0
  10. package/dist/architectureDiagram-ZJ3FMSHR-D7UsY5ua.js +4120 -0
  11. package/dist/array-CApNbSU9.js +6 -0
  12. package/dist/array-DZSRzHA_.cjs +1 -0
  13. package/dist/bash-BLBHkRa_.js +169 -0
  14. package/dist/bash-DHJu-DNv.cjs +1 -0
  15. package/dist/blockDiagram-677ZJIJ3-BrXgigdO.cjs +132 -0
  16. package/dist/blockDiagram-677ZJIJ3-s-fanRPN.js +3160 -0
  17. package/dist/c-4QgYfi8K.cjs +1 -0
  18. package/dist/c-Cw4FsAeJ.js +176 -0
  19. package/dist/c4Diagram-LMCZKHZV-BbZFAi_K.js +2962 -0
  20. package/dist/c4Diagram-LMCZKHZV-DFBVQ9Uo.cjs +10 -0
  21. package/dist/channel-DV0ST12Z.js +5 -0
  22. package/dist/channel-DkMGzfUR.cjs +1 -0
  23. package/dist/chunk-2Q5K7J3B-B8v9mTdK.cjs +1 -0
  24. package/dist/chunk-2Q5K7J3B-DqJF2oYF.js +15 -0
  25. package/dist/chunk-32BRIVSS-Byu3FrKX.js +61 -0
  26. package/dist/chunk-32BRIVSS-oWSJWk-u.cjs +1 -0
  27. package/dist/chunk-52WLFC77-C9zQbcGs.js +590 -0
  28. package/dist/chunk-52WLFC77-D9PTsiCj.cjs +10 -0
  29. package/dist/chunk-5VM5RSS4-BMfgdMFU.js +5 -0
  30. package/dist/chunk-5VM5RSS4-CwDmQ9T_.cjs +15 -0
  31. package/dist/chunk-7BUUIJ7U-BFUeQBoS.js +82 -0
  32. package/dist/chunk-7BUUIJ7U-MzS1pW_S.cjs +1 -0
  33. package/dist/chunk-C7G6YPKG-CDjkH_UW.cjs +1 -0
  34. package/dist/chunk-C7G6YPKG-GTlyrFFt.js +67 -0
  35. package/dist/chunk-EX3LRPZG-BBldDxGh.js +2046 -0
  36. package/dist/chunk-EX3LRPZG-u-BKCEWO.cjs +231 -0
  37. package/dist/chunk-FWX5IMBZ-h3GfgkP2.js +57 -0
  38. package/dist/chunk-FWX5IMBZ-nqBth1J9.cjs +1 -0
  39. package/dist/chunk-HOUHSVGY-CgfXy94u.cjs +1 -0
  40. package/dist/chunk-HOUHSVGY-CtRCnz1G.js +277 -0
  41. package/dist/chunk-ICXQ74PX-BmEfYj-r.cjs +2 -0
  42. package/dist/chunk-ICXQ74PX-CC59NQmW.js +1366 -0
  43. package/dist/chunk-JWPE2WC7-B_J6qwQL.js +8 -0
  44. package/dist/chunk-JWPE2WC7-Cs1kjq8S.cjs +1 -0
  45. package/dist/chunk-KEIR6QF5-BVnxrdHo.js +21388 -0
  46. package/dist/chunk-KEIR6QF5-Cy_QBNG6.cjs +161 -0
  47. package/dist/chunk-MOJQB5TN-D6YxvkUY.js +490 -0
  48. package/dist/chunk-MOJQB5TN-H2vwz-oQ.cjs +88 -0
  49. package/dist/chunk-OGEWGWER-BGdqgMza.js +32 -0
  50. package/dist/chunk-OGEWGWER-BP4o8A-v.cjs +1 -0
  51. package/dist/chunk-PUDLZKDR-C8jMDFq6.js +4142 -0
  52. package/dist/chunk-PUDLZKDR-DtzwSdxX.cjs +156 -0
  53. package/dist/chunk-Q4XR5HBZ-Bk18cMuk.js +1628 -0
  54. package/dist/chunk-Q4XR5HBZ-COrrWZzi.cjs +70 -0
  55. package/dist/chunk-RYQCIY6F-27FDzaaE.cjs +1 -0
  56. package/dist/chunk-RYQCIY6F-C-YC3QS_.js +239 -0
  57. package/dist/chunk-V7JOEXUC-BROsdKzY.js +3357 -0
  58. package/dist/chunk-V7JOEXUC-Cfrm5GQn.cjs +206 -0
  59. package/dist/chunk-VAUOI2AC-05FwamOA.js +10 -0
  60. package/dist/chunk-VAUOI2AC-CBXi4Di2.cjs +1 -0
  61. package/dist/chunk-VR4S4FIN-CSU_1xTZ.cjs +1 -0
  62. package/dist/chunk-VR4S4FIN-Ci491c8N.js +26 -0
  63. package/dist/chunk-WYO6CB5R-BTvDzbWd.cjs +127 -0
  64. package/dist/chunk-WYO6CB5R-Y9HJHB3Q.js +3739 -0
  65. package/dist/chunk-XXDRQBXY-DsVp5qjg.js +9 -0
  66. package/dist/chunk-XXDRQBXY-gWcN0uCZ.cjs +1 -0
  67. package/dist/chunk-Y2CYZVJY-CnmLqFtv.cjs +1 -0
  68. package/dist/chunk-Y2CYZVJY-CwsV_8W4.js +12 -0
  69. package/dist/chunk-ZGVPDNZ5-CDTkXY1G.js +3736 -0
  70. package/dist/chunk-ZGVPDNZ5-COEQX4AZ.cjs +62 -0
  71. package/dist/chunk-ZIRB5QZD-BU6XQUGC.cjs +32 -0
  72. package/dist/chunk-ZIRB5QZD-Cj-y77rH.js +1146 -0
  73. package/dist/classDiagram-OUVF2IWQ-Avsu6OKn.cjs +1 -0
  74. package/dist/classDiagram-OUVF2IWQ-eC72Wwol.js +30 -0
  75. package/dist/classDiagram-v2-EOCWNBFH-Avsu6OKn.cjs +1 -0
  76. package/dist/classDiagram-v2-EOCWNBFH-DsRoQgCt.js +30 -0
  77. package/dist/core-2nR1zkKb.cjs +3 -0
  78. package/dist/core-BO2hTFeF.js +845 -0
  79. package/dist/cose-bilkent-JH36ORCC-AyWV1dUo.cjs +1 -0
  80. package/dist/cose-bilkent-JH36ORCC-BFo5zomD.js +2251 -0
  81. package/dist/cpp-BUtp-HE2.cjs +1 -0
  82. package/dist/cpp-CeyO6lBG.js +225 -0
  83. package/dist/csharp-BJu4kEpt.cjs +1 -0
  84. package/dist/csharp-Ck6Fet_o.js +260 -0
  85. package/dist/css-ClSGJRju.js +140 -0
  86. package/dist/css-DeFr0lev.cjs +1 -0
  87. package/dist/cynefin-VYW2F7L2-DHhUPDgc.cjs +1 -0
  88. package/dist/cynefin-VYW2F7L2-DwiVqvhg.js +3 -0
  89. package/dist/cynefinDiagram-TSTJHNR4-BRUl09PN.js +349 -0
  90. package/dist/cynefinDiagram-TSTJHNR4-rKPqxFde.cjs +62 -0
  91. package/dist/cytoscape.esm-ByjvpCPI.cjs +321 -0
  92. package/dist/cytoscape.esm-asYnbYTy.js +18148 -0
  93. package/dist/dagre-BBlCxSvR.cjs +1 -0
  94. package/dist/dagre-BpqwxFKp.js +1701 -0
  95. package/dist/dagre-VKFMJZFB-BsfMZfPu.cjs +4 -0
  96. package/dist/dagre-VKFMJZFB-ChTkS14y.js +328 -0
  97. package/dist/defaultLocale-u9yUoUmE.cjs +1 -0
  98. package/dist/defaultLocale-up9-vqhM.js +201 -0
  99. package/dist/diagram-FQU43EPY-BnAYoLDy.js +432 -0
  100. package/dist/diagram-FQU43EPY-CdbwLZpm.cjs +3 -0
  101. package/dist/diagram-G47NLZAW-C1ZiELQG.js +525 -0
  102. package/dist/diagram-G47NLZAW-CtWKuxkf.cjs +24 -0
  103. package/dist/diagram-NH7WQ7WH-Be0KXo6w.js +134 -0
  104. package/dist/diagram-NH7WQ7WH-CG6VWVza.cjs +24 -0
  105. package/dist/diagram-OA4YK3LP-B7avlqjG.js +300 -0
  106. package/dist/diagram-OA4YK3LP-Drq_GA6o.cjs +30 -0
  107. package/dist/diagram-WEI45ONY-CoPX6-sx.js +214 -0
  108. package/dist/diagram-WEI45ONY-SJmgVL59.cjs +41 -0
  109. package/dist/dist-D6LMt8nW.js +59 -0
  110. package/dist/dist-DNGlMOWd.cjs +1 -0
  111. package/dist/dockerfile-O4rAswfG.js +34 -0
  112. package/dist/dockerfile-YBgAWga3.cjs +1 -0
  113. package/dist/ebnfDiagram-CCIWWBDH-B-T4_JnX.js +100 -0
  114. package/dist/ebnfDiagram-CCIWWBDH-BY7L3HVQ.cjs +1 -0
  115. package/dist/erDiagram-Q63AITRT-DPgZpeaH.js +1727 -0
  116. package/dist/erDiagram-Q63AITRT-w4C1PxYd.cjs +85 -0
  117. package/dist/eventmodeling-45OFAUF4-COTtdYDJ.js +3 -0
  118. package/dist/eventmodeling-45OFAUF4-CPEyr9kU.cjs +1 -0
  119. package/dist/flowDiagram-23GEKE2U-CQxPdUX4.cjs +1 -0
  120. package/dist/flowDiagram-23GEKE2U-ClCSBl2p.js +17 -0
  121. package/dist/ganttDiagram-NO4QXBWP-BcBp028S.cjs +292 -0
  122. package/dist/ganttDiagram-NO4QXBWP-Cf12fLfa.js +3083 -0
  123. package/dist/gitGraph-TEB2WS4Q-C3qBT0GM.js +3 -0
  124. package/dist/gitGraph-TEB2WS4Q-a8KsoPmR.cjs +1 -0
  125. package/dist/gitGraphDiagram-IHSO6WYX-13ahKewT.js +729 -0
  126. package/dist/gitGraphDiagram-IHSO6WYX-BTtNkGkN.cjs +106 -0
  127. package/dist/go-D-pz-dmd.cjs +1 -0
  128. package/dist/go-rg7jg1mu.js +140 -0
  129. package/dist/graphlib-B0GbLif1.js +1267 -0
  130. package/dist/graphlib-CkkG5MuS.cjs +1 -0
  131. package/dist/info-DKCQHKI2-BEYhR6ip.cjs +1 -0
  132. package/dist/info-DKCQHKI2-BPF6-pOb.js +3 -0
  133. package/dist/infoDiagram-FWYZ7A6U-20rh0VNL.cjs +2 -0
  134. package/dist/infoDiagram-FWYZ7A6U-DcV-eSsb.js +20 -0
  135. package/dist/ini-C1q3_1-Q.js +88 -0
  136. package/dist/ini-nVcUEghj.cjs +1 -0
  137. package/dist/init-07zIhv_j.cjs +1 -0
  138. package/dist/init-CirqLVcp.js +15 -0
  139. package/dist/ishikawaDiagram-FXEZZL3T-BTaBCHIG.js +719 -0
  140. package/dist/ishikawaDiagram-FXEZZL3T-BUq5kcFI.cjs +70 -0
  141. package/dist/java-CUN_usaq.cjs +1 -0
  142. package/dist/java-HguKEfA2.js +169 -0
  143. package/dist/javascript-C8NCH8DE.js +436 -0
  144. package/dist/javascript-UZXSyUuu.cjs +1 -0
  145. package/dist/journeyDiagram-5HDEW3XC-Cl9Z4b58.js +884 -0
  146. package/dist/journeyDiagram-5HDEW3XC-XQa-rhY_.cjs +139 -0
  147. package/dist/json-Cp01TR_B.js +36 -0
  148. package/dist/json-usH_MUzR.cjs +1 -0
  149. package/dist/kanban-definition-HUTT4EX6-CtWnZ0nS.js +975 -0
  150. package/dist/kanban-definition-HUTT4EX6-DVHXUPOt.cjs +89 -0
  151. package/dist/line-Ca8dE_lT.cjs +1 -0
  152. package/dist/line-O2xx2vVQ.js +34 -0
  153. package/dist/linear-CVhyaVzf.js +289 -0
  154. package/dist/linear-Cl2-QuPP.cjs +1 -0
  155. package/dist/map-CwPlMWPw.cjs +1 -0
  156. package/dist/map-DU12fF3s.js +241 -0
  157. package/dist/markdown-CzgRofaE.js +181 -0
  158. package/dist/markdown-qeo95R0i.cjs +1 -0
  159. package/dist/mermaid-parser.core-B8DQcCaz.js +638 -0
  160. package/dist/mermaid-parser.core-Cgsz0CdK.cjs +6 -0
  161. package/dist/mermaid.core-BR-iKb2Q.js +1064 -0
  162. package/dist/mermaid.core-DQrbAA--.cjs +10 -0
  163. package/dist/mindmap-definition-LN4V7U3C-C0I9iWmq.cjs +96 -0
  164. package/dist/mindmap-definition-LN4V7U3C-lkSmRsIC.js +1008 -0
  165. package/dist/mount.d.ts +31 -0
  166. package/dist/ordinal-CCTD6_le.js +65 -0
  167. package/dist/ordinal-CUPR-p0T.cjs +1 -0
  168. package/dist/packet-7NZHBO7P-DqvBYJTR.js +3 -0
  169. package/dist/packet-7NZHBO7P-Dz0O2bgq.cjs +1 -0
  170. package/dist/path-Kklx0M1v.cjs +1 -0
  171. package/dist/path-mKa7UESy.js +85 -0
  172. package/dist/pegDiagram-2B236MQR-BgRCQTZd.js +94 -0
  173. package/dist/pegDiagram-2B236MQR-hlmRl_PA.cjs +1 -0
  174. package/dist/php-C9FOMGEA.js +294 -0
  175. package/dist/php-j6EhDZDE.cjs +2 -0
  176. package/dist/pi-outpost-embed.cjs +305 -0
  177. package/dist/pi-outpost-embed.js +40942 -0
  178. package/dist/pie-RZYD4A2V-Hi9UdoE3.cjs +1 -0
  179. package/dist/pie-RZYD4A2V-qnruo9sH.js +3 -0
  180. package/dist/pieDiagram-ENE6RG2P-BVi7ck2I.js +205 -0
  181. package/dist/pieDiagram-ENE6RG2P-Buuvrs-h.cjs +39 -0
  182. package/dist/plaintext-BYYAHR3Z.js +10 -0
  183. package/dist/plaintext-DmnjizxG.cjs +1 -0
  184. package/dist/python-BYJzTRkK.cjs +1 -0
  185. package/dist/python-DKAazMIE.js +238 -0
  186. package/dist/quadrantDiagram-ABIIQ3AL-DeU97c2B.js +2001 -0
  187. package/dist/quadrantDiagram-ABIIQ3AL-LCbC0LEt.cjs +7 -0
  188. package/dist/radar-I7S5WNFK-Dqdssa34.cjs +1 -0
  189. package/dist/radar-I7S5WNFK-np_pJCO-.js +3 -0
  190. package/dist/railroad-3IZDKUUU-NILjDQft.cjs +1 -0
  191. package/dist/railroad-3IZDKUUU-sjKBeXxB.js +3 -0
  192. package/dist/railroad-abnf-AHOZXSZD-BojH9sxV.cjs +1 -0
  193. package/dist/railroad-abnf-AHOZXSZD-x5cC_e_R.js +3 -0
  194. package/dist/railroad-ebnf-EBAXGLYW-2mlWpz38.js +3 -0
  195. package/dist/railroad-ebnf-EBAXGLYW-BKCSut1M.cjs +1 -0
  196. package/dist/railroad-peg-LSFZ7HO6-CsH-gnsp.cjs +1 -0
  197. package/dist/railroad-peg-LSFZ7HO6-D5vguo03.js +3 -0
  198. package/dist/railroadDiagram-RFXS5EU6-CMTDNjsw.cjs +1 -0
  199. package/dist/railroadDiagram-RFXS5EU6-DNSNpLmQ.js +76 -0
  200. package/dist/requirementDiagram-TGXJPOKE-CdspXMgv.js +2223 -0
  201. package/dist/requirementDiagram-TGXJPOKE-irImpO8w.cjs +84 -0
  202. package/dist/rolldown-runtime-Dqa2HsxW.js +20 -0
  203. package/dist/rolldown-runtime-mLOUI7ql.cjs +1 -0
  204. package/dist/rough.esm-C5XyeDCN.js +1352 -0
  205. package/dist/rough.esm-r0QOSzHM.cjs +1 -0
  206. package/dist/ruby-BAUeZQKZ.js +262 -0
  207. package/dist/ruby-ClR4zp-1.cjs +1 -0
  208. package/dist/rust-DiTjMjP5.js +169 -0
  209. package/dist/rust-ghVvEWhm.cjs +1 -0
  210. package/dist/sankeyDiagram-HTMAVEWB-B0ZJBVpN.cjs +40 -0
  211. package/dist/sankeyDiagram-HTMAVEWB-BQcvUCMA.js +970 -0
  212. package/dist/scss-CKxh5HRg.cjs +1 -0
  213. package/dist/scss-CckAvQOx.js +150 -0
  214. package/dist/sequenceDiagram-DBY2YBRQ-BQFP2DGs.js +4168 -0
  215. package/dist/sequenceDiagram-DBY2YBRQ-C5WukkcA.cjs +162 -0
  216. package/dist/sizeCapture-X5ZJPWSS-DKbHZNyz.js +46 -0
  217. package/dist/sizeCapture-X5ZJPWSS-bJ2ZX4Du.cjs +1 -0
  218. package/dist/sql-B-Rnc2C3.js +118 -0
  219. package/dist/sql-B7syKcd8.cjs +1 -0
  220. package/dist/src-CR--T_NF.cjs +1 -0
  221. package/dist/src-DJ4x3y2O.js +2142 -0
  222. package/dist/stateDiagram-2N3HPSRC-4aBQt5dk.js +220 -0
  223. package/dist/stateDiagram-2N3HPSRC-YbRd67eD.cjs +1 -0
  224. package/dist/stateDiagram-v2-6OUMAXLB-D-c6D5za.js +30 -0
  225. package/dist/stateDiagram-v2-6OUMAXLB-ciXN_270.cjs +1 -0
  226. package/dist/swimlanes-5IMT3BWC-C8zkS7yx.cjs +1 -0
  227. package/dist/swimlanes-5IMT3BWC-aKH3Xgob.js +5066 -0
  228. package/dist/swimlanesDiagram-G3AALYLV-BcgsG1in.js +31 -0
  229. package/dist/swimlanesDiagram-G3AALYLV-CBjVJdH0.cjs +8 -0
  230. package/dist/timeline-definition-FHXFAJF6-DS-X0FCl.cjs +120 -0
  231. package/dist/timeline-definition-FHXFAJF6-Lnag6wiw.js +1069 -0
  232. package/dist/treeView-QDETBFTQ-Cpg_YeQ4.cjs +1 -0
  233. package/dist/treeView-QDETBFTQ-DdpEhzZX.js +3 -0
  234. package/dist/treemap-6X3UGDF4-BeCuRpkA.js +3 -0
  235. package/dist/treemap-6X3UGDF4-CFAmnKaf.cjs +1 -0
  236. package/dist/typescript-clWeqIBY.cjs +1 -0
  237. package/dist/typescript-mdYq8uqf.js +521 -0
  238. package/dist/vennDiagram-L72KCM5P-CF7lC7jn.js +1880 -0
  239. package/dist/vennDiagram-L72KCM5P-DYZP8jT_.cjs +34 -0
  240. package/dist/wardley-OPB4EBWU-B0jnKd8x.cjs +1 -0
  241. package/dist/wardley-OPB4EBWU-DlIk2K0J.js +3 -0
  242. package/dist/wardleyDiagram-EHGQE667-CbtWlMOa.js +645 -0
  243. package/dist/wardleyDiagram-EHGQE667-Dxewrpeh.cjs +78 -0
  244. package/dist/xml-BamqaQOf.cjs +1 -0
  245. package/dist/xml-DVYfB8uY.js +166 -0
  246. package/dist/xychartDiagram-FW5EYKEG-BAnVfMdN.cjs +7 -0
  247. package/dist/xychartDiagram-FW5EYKEG-DmdGPSi6.js +2102 -0
  248. package/dist/yaml-_1BORZTQ.js +144 -0
  249. package/dist/yaml-bAgWofBg.cjs +1 -0
  250. package/package.json +72 -0
@@ -0,0 +1,645 @@
1
+ import { n as e } from "./mermaid-parser.core-B8DQcCaz.js";
2
+ import { n as t } from "./chunk-Y2CYZVJY-CwsV_8W4.js";
3
+ import { m as n } from "./src-DJ4x3y2O.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-WYO6CB5R-Y9HJHB3Q.js";
5
+ import { i as m } from "./chunk-ICXQ74PX-CC59NQmW.js";
6
+ import { t as h } from "./chunk-VAUOI2AC-05FwamOA.js";
7
+ import { t as g } from "./chunk-JWPE2WC7-B_J6qwQL.js";
8
+ //#region ../node_modules/mermaid/dist/chunks/mermaid.core/wardleyDiagram-EHGQE667.mjs
9
+ var _ = /* @__PURE__ */ t((e, t) => {
10
+ let n = e <= 1 ? e * 100 : e;
11
+ if (n < 0 || n > 100) throw Error(`${t} must be between 0-1 (decimal) or 0-100 (percentage). Received: ${e}`);
12
+ return n;
13
+ }, "toPercent"), v = /* @__PURE__ */ t((e, t, n) => ({
14
+ x: _(t, `${n} evolution`),
15
+ y: _(e, `${n} visibility`)
16
+ }), "toCoordinates"), y = /* @__PURE__ */ t((e) => {
17
+ if (e) {
18
+ if (e === "+<>") return "bidirectional";
19
+ if (e === "+<") return "backward";
20
+ if (e === "+>") return "forward";
21
+ }
22
+ }, "getFlowFromPort"), b = /* @__PURE__ */ t((e) => {
23
+ if (!e?.startsWith("+")) return {};
24
+ let t = /^\+'([^']*)'/.exec(e)?.[1];
25
+ return e.includes("<>") ? {
26
+ flow: "bidirectional",
27
+ label: t
28
+ } : e.includes("<") ? {
29
+ flow: "backward",
30
+ label: t
31
+ } : e.includes(">") ? {
32
+ flow: "forward",
33
+ label: t
34
+ } : { label: t };
35
+ }, "extractFlowFromArrow"), x = /* @__PURE__ */ t((e, t) => {
36
+ if (g(e, t), e.size && t.setSize(e.size.width, e.size.height), e.evolution) {
37
+ let n = e.evolution.stages.map((e) => e.secondName ? `${e.name.trim()} / ${e.secondName.trim()}` : e.name.trim()), r = e.evolution.stages.filter((e) => e.boundary !== void 0).map((e) => e.boundary);
38
+ t.updateAxes({
39
+ stages: n,
40
+ stageBoundaries: r
41
+ });
42
+ }
43
+ if (e.anchors.forEach((e) => {
44
+ let n = v(e.visibility, e.evolution, `Anchor "${e.name}"`);
45
+ t.addNode(e.name, e.name, n.x, n.y, "anchor");
46
+ }), e.components.forEach((e) => {
47
+ let n = v(e.visibility, e.evolution, `Component "${e.name}"`), r = e.label ? (e.label.negX ? -1 : 1) * e.label.offsetX : void 0, i = e.label ? (e.label.negY ? -1 : 1) * e.label.offsetY : void 0, a = e.decorator?.strategy;
48
+ t.addNode(e.name, e.name, n.x, n.y, "component", r, i, e.inertia, a);
49
+ }), e.notes.forEach((e) => {
50
+ let n = v(e.visibility, e.evolution, `Note "${e.text}"`);
51
+ t.addNote(e.text, n.x, n.y);
52
+ }), e.pipelines.forEach((e) => {
53
+ let n = t.getNode(e.parent);
54
+ if (!n || typeof n.y != "number") throw Error(`Pipeline "${e.parent}" must reference an existing component with coordinates.`);
55
+ let r = n.y;
56
+ t.startPipeline(e.parent), e.components.forEach((n) => {
57
+ let i = `${e.parent}_${n.name}`, a = n.label ? (n.label.negX ? -1 : 1) * n.label.offsetX : void 0, o = n.label ? (n.label.negY ? -1 : 1) * n.label.offsetY : void 0, s = _(n.evolution, `Pipeline component "${n.name}" evolution`);
58
+ t.addNode(i, n.name, s, r, "pipeline-component", a, o), t.addPipelineComponent(e.parent, i);
59
+ });
60
+ }), e.links.forEach((e) => {
61
+ let n = !!e.arrow && (e.arrow.includes("-.->") || e.arrow.includes(".-.")), r = y(e.fromPort) ?? y(e.toPort), { flow: i, label: a } = b(e.arrow);
62
+ !r && i && (r = i);
63
+ let o = e.linkLabel, s = a ?? o;
64
+ t.addLink(t.resolveNodeId(e.from), t.resolveNodeId(e.to), n, s, r);
65
+ }), e.evolves.forEach((e) => {
66
+ let n = t.getNode(e.component);
67
+ if (n?.y !== void 0) {
68
+ let r = _(e.target, `Evolve target for "${e.component}"`);
69
+ t.addTrend(e.component, r, n.y);
70
+ }
71
+ }), e.annotations.length > 0) {
72
+ let n = e.annotations[0], r = v(n.x, n.y, "Annotations box");
73
+ t.setAnnotationsBox(r.x, r.y);
74
+ }
75
+ e.annotation.forEach((e) => {
76
+ let n = v(e.x, e.y, `Annotation ${e.number}`);
77
+ t.addAnnotation(e.number, [{
78
+ x: n.x,
79
+ y: n.y
80
+ }], e.text);
81
+ }), e.accelerators.forEach((e) => {
82
+ let n = v(e.x, e.y, `Accelerator "${e.name}"`);
83
+ t.addAccelerator(e.name, n.x, n.y);
84
+ }), e.deaccelerators.forEach((e) => {
85
+ let n = v(e.x, e.y, `Deaccelerator "${e.name}"`);
86
+ t.addDeaccelerator(e.name, n.x, n.y);
87
+ });
88
+ }, "populateDb"), S = {
89
+ parser: { yy: void 0 },
90
+ parse: /* @__PURE__ */ t(async (t) => {
91
+ let r = await e("wardley", t);
92
+ n.debug(r);
93
+ let i = S.parser?.yy;
94
+ if (!i || typeof i.addNode != "function") throw Error("parser.parser?.yy was not a WardleyDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");
95
+ x(r, i);
96
+ }, "parse")
97
+ }, C = new class {
98
+ constructor() {
99
+ this.nodes = /* @__PURE__ */ new Map(), this.links = [], this.trends = /* @__PURE__ */ new Map(), this.pipelines = /* @__PURE__ */ new Map(), this.annotations = [], this.notes = [], this.accelerators = [], this.deaccelerators = [], this.axes = {};
100
+ }
101
+ static {
102
+ t(this, "WardleyBuilder");
103
+ }
104
+ addNode(e) {
105
+ let t = this.nodes.get(e.id) ?? {
106
+ id: e.id,
107
+ label: e.label
108
+ }, n = {
109
+ ...t,
110
+ ...e,
111
+ className: e.className ?? t.className,
112
+ labelOffsetX: e.labelOffsetX ?? t.labelOffsetX,
113
+ labelOffsetY: e.labelOffsetY ?? t.labelOffsetY
114
+ };
115
+ this.nodes.set(e.id, n);
116
+ }
117
+ addLink(e) {
118
+ this.links.push(e);
119
+ }
120
+ addTrend(e) {
121
+ this.trends.set(e.nodeId, e);
122
+ }
123
+ startPipeline(e) {
124
+ this.pipelines.set(e, {
125
+ nodeId: e,
126
+ componentIds: []
127
+ });
128
+ let t = this.nodes.get(e);
129
+ t && (t.isPipelineParent = !0);
130
+ }
131
+ addPipelineComponent(e, t) {
132
+ let n = this.pipelines.get(e);
133
+ n && n.componentIds.push(t);
134
+ let r = this.nodes.get(t);
135
+ r && (r.inPipeline = !0);
136
+ }
137
+ addAnnotation(e) {
138
+ this.annotations.push(e);
139
+ }
140
+ addNote(e) {
141
+ this.notes.push(e);
142
+ }
143
+ addAccelerator(e) {
144
+ this.accelerators.push(e);
145
+ }
146
+ addDeaccelerator(e) {
147
+ this.deaccelerators.push(e);
148
+ }
149
+ setAnnotationsBox(e, t) {
150
+ this.annotationsBox = {
151
+ x: e,
152
+ y: t
153
+ };
154
+ }
155
+ setAxes(e) {
156
+ this.axes = {
157
+ ...this.axes,
158
+ ...e
159
+ };
160
+ }
161
+ setSize(e, t) {
162
+ this.size = {
163
+ width: e,
164
+ height: t
165
+ };
166
+ }
167
+ getNode(e) {
168
+ return this.nodes.get(e);
169
+ }
170
+ resolveNodeId(e) {
171
+ if (this.nodes.has(e)) return e;
172
+ for (let [t, n] of this.nodes) if (n.label === e) return t;
173
+ return e;
174
+ }
175
+ build() {
176
+ let e = [];
177
+ for (let t of this.nodes.values()) {
178
+ if (typeof t.x != "number" || typeof t.y != "number") throw Error(`Node "${t.label}" is missing coordinates`);
179
+ e.push(t);
180
+ }
181
+ return {
182
+ nodes: e,
183
+ links: [...this.links],
184
+ trends: [...this.trends.values()],
185
+ pipelines: [...this.pipelines.values()],
186
+ annotations: [...this.annotations],
187
+ notes: [...this.notes],
188
+ accelerators: [...this.accelerators],
189
+ deaccelerators: [...this.deaccelerators],
190
+ annotationsBox: this.annotationsBox,
191
+ axes: { ...this.axes },
192
+ size: this.size
193
+ };
194
+ }
195
+ clear() {
196
+ this.nodes.clear(), this.links = [], this.trends.clear(), this.pipelines.clear(), this.annotations = [], this.notes = [], this.accelerators = [], this.deaccelerators = [], this.annotationsBox = void 0, this.axes = {}, this.size = void 0;
197
+ }
198
+ }();
199
+ function w() {
200
+ return f()["wardley-beta"];
201
+ }
202
+ t(w, "getConfig");
203
+ function T(e, t, n, r, i, a, o, s, c) {
204
+ C.addNode({
205
+ id: e,
206
+ label: t,
207
+ x: n,
208
+ y: r,
209
+ className: i,
210
+ labelOffsetX: a,
211
+ labelOffsetY: o,
212
+ inertia: s,
213
+ sourceStrategy: c
214
+ });
215
+ }
216
+ t(T, "addNode");
217
+ function E(e, t, n = !1, r, i) {
218
+ C.addLink({
219
+ source: e,
220
+ target: t,
221
+ dashed: n,
222
+ label: r,
223
+ flow: i
224
+ });
225
+ }
226
+ t(E, "addLink");
227
+ function D(e, t, n) {
228
+ C.addTrend({
229
+ nodeId: e,
230
+ targetX: t,
231
+ targetY: n
232
+ });
233
+ }
234
+ t(D, "addTrend");
235
+ function O(e, t, n) {
236
+ C.addAnnotation({
237
+ number: e,
238
+ coordinates: t,
239
+ text: n
240
+ });
241
+ }
242
+ t(O, "addAnnotation");
243
+ function k(e, t, n) {
244
+ C.addNote({
245
+ text: e,
246
+ x: t,
247
+ y: n
248
+ });
249
+ }
250
+ t(k, "addNote");
251
+ function A(e, t, n) {
252
+ C.addAccelerator({
253
+ name: e,
254
+ x: t,
255
+ y: n
256
+ });
257
+ }
258
+ t(A, "addAccelerator");
259
+ function j(e, t, n) {
260
+ C.addDeaccelerator({
261
+ name: e,
262
+ x: t,
263
+ y: n
264
+ });
265
+ }
266
+ t(j, "addDeaccelerator");
267
+ function M(e, t) {
268
+ C.setAnnotationsBox(e, t);
269
+ }
270
+ t(M, "setAnnotationsBox");
271
+ function N(e, t) {
272
+ C.setSize(e, t);
273
+ }
274
+ t(N, "setSize");
275
+ function P(e) {
276
+ C.startPipeline(e);
277
+ }
278
+ t(P, "startPipeline");
279
+ function F(e, t) {
280
+ C.addPipelineComponent(e, t);
281
+ }
282
+ t(F, "addPipelineComponent");
283
+ function I(e) {
284
+ C.setAxes(e);
285
+ }
286
+ t(I, "updateAxes");
287
+ function L(e) {
288
+ return C.getNode(e);
289
+ }
290
+ t(L, "getNode");
291
+ function R(e) {
292
+ return C.resolveNodeId(e);
293
+ }
294
+ t(R, "resolveNodeId");
295
+ function z() {
296
+ return C.build();
297
+ }
298
+ t(z, "getWardleyData");
299
+ function B() {
300
+ C.clear(), 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, g = h(r);
367
+ g.selectAll("*").remove(), l(g, m, p, o.useMaxWidth), g.attr("viewBox", `0 0 ${p} ${m}`);
368
+ let _ = g.append("g").attr("class", "wardley-map"), v = g.append("defs");
369
+ v.append("marker").attr("id", `arrow-${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 - 30 / 2}
553
+ L ${n + 60 - 20} ${r - 30 / 2}
554
+ L ${n + 60 - 20} ${r - 30 / 2 - 8}
555
+ L ${n + 60} ${r}
556
+ L ${n + 60 - 20} ${r + 30 / 2 + 8}
557
+ L ${n + 60 - 20} ${r + 30 / 2}
558
+ L ${n} ${r + 30 / 2}
559
+ Z
560
+ `;
561
+ e.append("path").attr("d", i).attr("fill", "white").attr("stroke", s.componentStroke).attr("stroke-width", 1), e.append("text").attr("x", n + 60 / 2).attr("y", r + 30 / 2 + 15).attr("text-anchor", "middle").attr("font-size", 10).attr("fill", s.axisTextColor).attr("font-weight", "bold").text(t.name);
562
+ });
563
+ }
564
+ if (d.deaccelerators.length > 0) {
565
+ let e = _.append("g").attr("class", "wardley-deaccelerators");
566
+ d.deaccelerators.forEach((t) => {
567
+ let n = x(t.x), r = S(t.y), i = `
568
+ M ${n + 60} ${r - 30 / 2}
569
+ L ${n + 20} ${r - 30 / 2}
570
+ L ${n + 20} ${r - 30 / 2 - 8}
571
+ L ${n} ${r}
572
+ L ${n + 20} ${r + 30 / 2 + 8}
573
+ L ${n + 20} ${r + 30 / 2}
574
+ L ${n + 60} ${r + 30 / 2}
575
+ Z
576
+ `;
577
+ e.append("path").attr("d", i).attr("fill", "white").attr("stroke", s.componentStroke).attr("stroke-width", 1), e.append("text").attr("x", n + 60 / 2).attr("y", r + 30 / 2 + 15).attr("text-anchor", "middle").attr("font-size", 10).attr("fill", s.axisTextColor).attr("font-weight", "bold").text(t.name);
578
+ });
579
+ }
580
+ }, "draw") },
581
+ styles: /* @__PURE__ */ t(({ wardley: e } = {}) => {
582
+ let t = m(m(r(), c().themeVariables).wardley, e);
583
+ return `
584
+ .wardley-background {
585
+ fill: ${t.backgroundColor};
586
+ }
587
+ .wardley-axes line, .wardley-axes path {
588
+ stroke: ${t.axisColor};
589
+ }
590
+ .wardley-axis-label {
591
+ fill: ${t.axisTextColor};
592
+ }
593
+ .wardley-stage-label {
594
+ fill: ${t.axisTextColor};
595
+ }
596
+ .wardley-grid line {
597
+ stroke: ${t.gridColor};
598
+ }
599
+ .wardley-node circle {
600
+ fill: ${t.componentFill};
601
+ stroke: ${t.componentStroke};
602
+ }
603
+ .wardley-node-label {
604
+ fill: ${t.componentLabelColor};
605
+ }
606
+ .wardley-link {
607
+ stroke: ${t.linkStroke};
608
+ }
609
+ .wardley-link--dashed {
610
+ stroke-dasharray: 4 4;
611
+ }
612
+ .wardley-link-label {
613
+ fill: ${t.axisTextColor};
614
+ }
615
+ .wardley-trend line {
616
+ stroke: ${t.evolutionStroke};
617
+ }
618
+ .wardley-annotation-line {
619
+ stroke: ${t.annotationStroke};
620
+ }
621
+ .wardley-annotation circle {
622
+ fill: ${t.annotationFill};
623
+ stroke: ${t.annotationStroke};
624
+ }
625
+ .wardley-annotation text {
626
+ fill: ${t.annotationTextColor};
627
+ }
628
+ .wardley-annotations-box rect {
629
+ fill: ${t.annotationFill};
630
+ stroke: ${t.annotationStroke};
631
+ }
632
+ .wardley-annotations-box text {
633
+ fill: ${t.annotationTextColor};
634
+ }
635
+ .wardley-pipeline-box {
636
+ stroke: ${t.componentStroke};
637
+ }
638
+ .wardley-notes text {
639
+ fill: ${t.axisTextColor};
640
+ }
641
+ `;
642
+ }, "styles")
643
+ };
644
+ //#endregion
645
+ export { G as diagram };