@yorz/cli 0.1.4 → 0.1.6

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 (140) hide show
  1. package/dist/cli/index.js +133 -53
  2. package/dist/gui/assets/{abnfDiagram-VRR7QNED-BlILeZZA.js → abnfDiagram-VRR7QNED-Dk823f-p.js} +1 -1
  3. package/dist/gui/assets/{arc-C-xJpbjF.js → arc-CsAcQvy9.js} +1 -1
  4. package/dist/gui/assets/{architectureDiagram-ZJ3FMSHR-QdzNii0b.js → architectureDiagram-ZJ3FMSHR-9d29EB_v.js} +1 -1
  5. package/dist/gui/assets/{blockDiagram-677ZJIJ3-BQTAKTET.js → blockDiagram-677ZJIJ3-C_BdniYG.js} +1 -1
  6. package/dist/gui/assets/{c4Diagram-LMCZKHZV-YRh3fqeb.js → c4Diagram-LMCZKHZV-COHS5O60.js} +1 -1
  7. package/dist/gui/assets/channel-Cdj31qNd.js +1 -0
  8. package/dist/gui/assets/{chunk-2Q5K7J3B-Bgu-eeCS.js → chunk-2Q5K7J3B-CdpNMJAI.js} +1 -1
  9. package/dist/gui/assets/{chunk-32BRIVSS-DTLd8wsP.js → chunk-32BRIVSS-C-5zZ7Xl.js} +1 -1
  10. package/dist/gui/assets/{chunk-5VM5RSS4-Cct8HJoz.js → chunk-5VM5RSS4-DNMuZJaP.js} +1 -1
  11. package/dist/gui/assets/{chunk-EX3LRPZG-DBgaA_1N.js → chunk-EX3LRPZG-BGPzkMUB.js} +1 -1
  12. package/dist/gui/assets/{chunk-JWPE2WC7-DELoF8bV.js → chunk-JWPE2WC7-DKHh8QvM.js} +1 -1
  13. package/dist/gui/assets/{chunk-MOJQB5TN-Du6uREYs.js → chunk-MOJQB5TN-DjfrUCo1.js} +1 -1
  14. package/dist/gui/assets/{chunk-RYQCIY6F-CxO6cQdM.js → chunk-RYQCIY6F-CAOzG_fF.js} +1 -1
  15. package/dist/gui/assets/{chunk-V7JOEXUC-BiILBcGA.js → chunk-V7JOEXUC-CiYl0Zr6.js} +1 -1
  16. package/dist/gui/assets/{chunk-VR4S4FIN-BfY2RvG4.js → chunk-VR4S4FIN-C9R15N13.js} +1 -1
  17. package/dist/gui/assets/{chunk-XXDRQBXY-DmsZw6tB.js → chunk-XXDRQBXY-D08V--b4.js} +1 -1
  18. package/dist/gui/assets/classDiagram-OUVF2IWQ-BiCCYKL9.js +1 -0
  19. package/dist/gui/assets/classDiagram-v2-EOCWNBFH-BiCCYKL9.js +1 -0
  20. package/dist/gui/assets/{cose-bilkent-JH36ORCC-gX-8DSxS.js → cose-bilkent-JH36ORCC-h3WvWy31.js} +1 -1
  21. package/dist/gui/assets/{cynefin-VYW2F7L2-vOfRo7cL.js → cynefin-VYW2F7L2-BJJROAhw.js} +1 -1
  22. package/dist/gui/assets/{cynefinDiagram-TSTJHNR4-Dv66a7Rh.js → cynefinDiagram-TSTJHNR4-Cowr6YON.js} +1 -1
  23. package/dist/gui/assets/{dagre-VKFMJZFB-Rk64dDvT.js → dagre-VKFMJZFB-CHQSayFl.js} +1 -1
  24. package/dist/gui/assets/{diagram-FQU43EPY-CyW3IjmQ.js → diagram-FQU43EPY-Dkjm-gpD.js} +1 -1
  25. package/dist/gui/assets/{diagram-G47NLZAW-Caav47lW.js → diagram-G47NLZAW-CWzLjtMq.js} +1 -1
  26. package/dist/gui/assets/{diagram-NH7WQ7WH-_X3ihqNf.js → diagram-NH7WQ7WH-CJEfCmpn.js} +1 -1
  27. package/dist/gui/assets/{diagram-OA4YK3LP-CjbverOE.js → diagram-OA4YK3LP-DKXL4ZCg.js} +1 -1
  28. package/dist/gui/assets/{diagram-WEI45ONY-B93ZeTtT.js → diagram-WEI45ONY-CLvc8CSB.js} +1 -1
  29. package/dist/gui/assets/{ebnfDiagram-CCIWWBDH-CdDt4bWx.js → ebnfDiagram-CCIWWBDH-D6NViEZ2.js} +1 -1
  30. package/dist/gui/assets/{erDiagram-Q63AITRT-Bypq-rvj.js → erDiagram-Q63AITRT-B2mRc5jq.js} +1 -1
  31. package/dist/gui/assets/{flowDiagram-23GEKE2U-b-l8_7KP.js → flowDiagram-23GEKE2U-Bu2CgXeG.js} +1 -1
  32. package/dist/gui/assets/{ganttDiagram-NO4QXBWP-BeZFHLhX.js → ganttDiagram-NO4QXBWP-CLqVFiRj.js} +1 -1
  33. package/dist/gui/assets/{gitGraphDiagram-IHSO6WYX-C0siPGLA.js → gitGraphDiagram-IHSO6WYX-BCeVlEhg.js} +1 -1
  34. package/dist/gui/assets/index-BCf1jTQa.css +1 -0
  35. package/dist/gui/assets/index-BYq7_4Z-.js +663 -0
  36. package/dist/gui/assets/{infoDiagram-FWYZ7A6U-Bk8DNKgG.js → infoDiagram-FWYZ7A6U-CaGDhrD8.js} +1 -1
  37. package/dist/gui/assets/{ishikawaDiagram-FXEZZL3T-DyS4wmJu.js → ishikawaDiagram-FXEZZL3T-D-IBVo_N.js} +1 -1
  38. package/dist/gui/assets/{journeyDiagram-5HDEW3XC-4jUY7Bzi.js → journeyDiagram-5HDEW3XC-lxFR0Z8q.js} +1 -1
  39. package/dist/gui/assets/{kanban-definition-HUTT4EX6-BRiI4KbM.js → kanban-definition-HUTT4EX6-C1Quf86J.js} +1 -1
  40. package/dist/gui/assets/{linear-C5JkbjyJ.js → linear-BmiZLs2L.js} +1 -1
  41. package/dist/gui/assets/{mermaid.core-ImB_5gdE.js → mermaid.core-Qqp0pI8e.js} +4 -4
  42. package/dist/gui/assets/{mindmap-definition-LN4V7U3C-9_Awmd2W.js → mindmap-definition-LN4V7U3C-CiuAQSSr.js} +1 -1
  43. package/dist/gui/assets/{pegDiagram-2B236MQR-DF_vIYzp.js → pegDiagram-2B236MQR-BWjeZxVp.js} +1 -1
  44. package/dist/gui/assets/{pieDiagram-ENE6RG2P-3TPwXSjQ.js → pieDiagram-ENE6RG2P-C2aubU3s.js} +1 -1
  45. package/dist/gui/assets/{quadrantDiagram-ABIIQ3AL-jzJ30mNi.js → quadrantDiagram-ABIIQ3AL-l-nU_0aa.js} +1 -1
  46. package/dist/gui/assets/{railroadDiagram-RFXS5EU6-B-29q3CI.js → railroadDiagram-RFXS5EU6-CLs3ePNd.js} +1 -1
  47. package/dist/gui/assets/{requirementDiagram-TGXJPOKE-BanWpS6g.js → requirementDiagram-TGXJPOKE-noC5_aOI.js} +1 -1
  48. package/dist/gui/assets/{sankeyDiagram-HTMAVEWB-B_sxc9IV.js → sankeyDiagram-HTMAVEWB-CrVWROCY.js} +1 -1
  49. package/dist/gui/assets/{sequenceDiagram-DBY2YBRQ-BNVav9DA.js → sequenceDiagram-DBY2YBRQ-rrdT6eIu.js} +1 -1
  50. package/dist/gui/assets/{sizeCapture-X5ZJPWSS-DbaiKjno.js → sizeCapture-X5ZJPWSS-DvpoOhEJ.js} +1 -1
  51. package/dist/gui/assets/{stateDiagram-2N3HPSRC-jU5WBm6c.js → stateDiagram-2N3HPSRC-B2ui4ZZN.js} +1 -1
  52. package/dist/gui/assets/stateDiagram-v2-6OUMAXLB-B_Wcpq2b.js +1 -0
  53. package/dist/gui/assets/{swimlanes-5IMT3BWC-Dcmb64x2.js → swimlanes-5IMT3BWC-DRhf5jKL.js} +2 -2
  54. package/dist/gui/assets/swimlanesDiagram-G3AALYLV-C2fsQgny.js +8 -0
  55. package/dist/gui/assets/{timeline-definition-FHXFAJF6-COm9ow7j.js → timeline-definition-FHXFAJF6-rm68zqM2.js} +1 -1
  56. package/dist/gui/assets/{vennDiagram-L72KCM5P-DliDuTVY.js → vennDiagram-L72KCM5P-BKVMfPvL.js} +1 -1
  57. package/dist/gui/assets/{wardleyDiagram-EHGQE667-C2O_2cpw.js → wardleyDiagram-EHGQE667-eXN3NRZ7.js} +1 -1
  58. package/dist/gui/assets/{xychartDiagram-FW5EYKEG-Ldmt9hoc.js → xychartDiagram-FW5EYKEG-3VtYytF2.js} +1 -1
  59. package/dist/gui/index.html +2 -2
  60. package/package.json +13 -1
  61. package/dist/_commonjsHelpers-DyI1JsEH.js +0 -34
  62. package/dist/abnfDiagram-VRR7QNED-UQS77aUi.js +0 -119
  63. package/dist/api-DrYc_Ds_.js +0 -129852
  64. package/dist/arc-B1cAL3U1.js +0 -132
  65. package/dist/architectureDiagram-ZJ3FMSHR-CfWOhs-q.js +0 -8816
  66. package/dist/blockDiagram-677ZJIJ3-CLOAAFZa.js +0 -3796
  67. package/dist/c4Diagram-LMCZKHZV-BGdELGkb.js +0 -2483
  68. package/dist/certs-BeimSwB3.js +0 -14071
  69. package/dist/certs-C4t5lAmJ.js +0 -14071
  70. package/dist/certs-CLLngjpY.js +0 -14071
  71. package/dist/certs-D3fTB-0_.js +0 -14071
  72. package/dist/channel-_gQD3mZ8.js +0 -8
  73. package/dist/chunk-2Q5K7J3B-DIJkMPWD.js +0 -20
  74. package/dist/chunk-32BRIVSS-CIQb7-9I.js +0 -117
  75. package/dist/chunk-5VM5RSS4-DmlAsh6o.js +0 -20
  76. package/dist/chunk-EX3LRPZG-BEXyn5R-.js +0 -1989
  77. package/dist/chunk-JWPE2WC7-XiIefccF.js +0 -17
  78. package/dist/chunk-MOJQB5TN-CC5OBDWw.js +0 -861
  79. package/dist/chunk-RYQCIY6F-DQacsGpB.js +0 -475
  80. package/dist/chunk-V7JOEXUC-TLRsIUvf.js +0 -2027
  81. package/dist/chunk-VR4S4FIN-9AfN7RDF.js +0 -25
  82. package/dist/chunk-XXDRQBXY-DhWucSRr.js +0 -14
  83. package/dist/classDiagram-OUVF2IWQ-CN55rRkB.js +0 -20
  84. package/dist/classDiagram-v2-EOCWNBFH-CN55rRkB.js +0 -20
  85. package/dist/cose-bilkent-JH36ORCC-8uGYe6_d.js +0 -4944
  86. package/dist/cynefin-VYW2F7L2-BwTeE-TI.js +0 -32061
  87. package/dist/cynefinDiagram-TSTJHNR4-DM7ixE-v.js +0 -454
  88. package/dist/cytoscape.esm-BTopYfIb.js +0 -30347
  89. package/dist/dagre-VKFMJZFB-blEDoYen.js +0 -522
  90. package/dist/defaultLocale-wHUL1xE2.js +0 -207
  91. package/dist/diagram-FQU43EPY-MEZlmmdi.js +0 -633
  92. package/dist/diagram-G47NLZAW-DZOZvHqp.js +0 -857
  93. package/dist/diagram-NH7WQ7WH-ChpmPbZz.js +0 -213
  94. package/dist/diagram-OA4YK3LP-oy4yvrnL.js +0 -489
  95. package/dist/diagram-WEI45ONY-B3nx1cYt.js +0 -305
  96. package/dist/ebnfDiagram-CCIWWBDH-BASj7BoO.js +0 -139
  97. package/dist/erDiagram-Q63AITRT-lujHq-S9.js +0 -1239
  98. package/dist/flowDiagram-23GEKE2U-BdsAVPgU.js +0 -2349
  99. package/dist/ganttDiagram-NO4QXBWP-DUUP4lsu.js +0 -3733
  100. package/dist/gitGraphDiagram-IHSO6WYX-BdIPAtb0.js +0 -1374
  101. package/dist/graph-CE8jV7cI.js +0 -2043
  102. package/dist/gui/assets/channel-DGoXAS0B.js +0 -1
  103. package/dist/gui/assets/classDiagram-OUVF2IWQ-B4zeZ0PC.js +0 -1
  104. package/dist/gui/assets/classDiagram-v2-EOCWNBFH-B4zeZ0PC.js +0 -1
  105. package/dist/gui/assets/index-Bp9JnkhK.css +0 -1
  106. package/dist/gui/assets/index-DKVgyltQ.js +0 -21
  107. package/dist/gui/assets/stateDiagram-v2-6OUMAXLB-GXq_r-DG.js +0 -1
  108. package/dist/gui/assets/swimlanesDiagram-G3AALYLV-DDE-INgq.js +0 -8
  109. package/dist/index--GoVvfUP.js +0 -5447
  110. package/dist/index-3-WDiDAh.js +0 -5466
  111. package/dist/index-CHBXZAxg.js +0 -5460
  112. package/dist/index-DeCq8xn7.js +0 -5460
  113. package/dist/infoDiagram-FWYZ7A6U-D9wo93kg.js +0 -32
  114. package/dist/init-DDGa2CQM.js +0 -17
  115. package/dist/ishikawaDiagram-FXEZZL3T-DZh3_kt2.js +0 -968
  116. package/dist/journeyDiagram-5HDEW3XC-C8RWHIn0.js +0 -1256
  117. package/dist/kanban-definition-HUTT4EX6-B7qQtB5a.js +0 -1053
  118. package/dist/katex-WjDlQEfU.js +0 -14500
  119. package/dist/layout-DQAYh_L7.js +0 -2360
  120. package/dist/linear-C_kZRZXS.js +0 -341
  121. package/dist/map-BElV7BMC.js +0 -299
  122. package/dist/mermaid.core-Dy_tFRs7.js +0 -26495
  123. package/dist/mindmap-definition-LN4V7U3C-BzHCd5Ab.js +0 -1181
  124. package/dist/ordinal-C2kkg180.js +0 -77
  125. package/dist/pegDiagram-2B236MQR-B046bQWM.js +0 -127
  126. package/dist/pieDiagram-ENE6RG2P-B5_W2CZy.js +0 -316
  127. package/dist/quadrantDiagram-ABIIQ3AL-Bbpt496h.js +0 -1342
  128. package/dist/railroadDiagram-RFXS5EU6-10XIH3X0.js +0 -93
  129. package/dist/requirementDiagram-TGXJPOKE-Dt1QyccY.js +0 -1205
  130. package/dist/sankeyDiagram-HTMAVEWB-CnqRAq7M.js +0 -1274
  131. package/dist/sequenceDiagram-DBY2YBRQ-DtJLSXoz.js +0 -4515
  132. package/dist/sizeCapture-X5ZJPWSS-DUl5ZEo3.js +0 -63
  133. package/dist/stateDiagram-2N3HPSRC-b-qzcVNj.js +0 -449
  134. package/dist/stateDiagram-v2-6OUMAXLB-KjDlRfc7.js +0 -20
  135. package/dist/swimlanes-5IMT3BWC-CAjGnQLa.js +0 -8553
  136. package/dist/swimlanesDiagram-G3AALYLV-DiOi9bzU.js +0 -16
  137. package/dist/timeline-definition-FHXFAJF6-Bme2FWbh.js +0 -1597
  138. package/dist/vennDiagram-L72KCM5P-BUQgnZDB.js +0 -2516
  139. package/dist/wardleyDiagram-EHGQE667-DHR2Avlu.js +0 -976
  140. package/dist/xychartDiagram-FW5EYKEG-V4K5eBMS.js +0 -2000
@@ -1,454 +0,0 @@
1
- #!/usr/bin/env node
2
- import { p as populateCommonDb } from "./chunk-JWPE2WC7-XiIefccF.js";
3
- import { s as setAccDescription, g as getAccDescription, o as getDiagramTitle, n as setDiagramTitle, a as getAccTitle, b as setAccTitle, _ as __name, l as log, D as selectSvgElement, e as configureSvgSize, p as clear, A as cleanAndMerge, y as getConfig, B as defaultConfig_default, E as getThemeVariables3 } from "./mermaid.core-Dy_tFRs7.js";
4
- import { p as parse } from "./cynefin-VYW2F7L2-BwTeE-TI.js";
5
- var createDefaultData = /* @__PURE__ */ __name(() => ({
6
- domains: /* @__PURE__ */ new Map(),
7
- transitions: []
8
- }), "createDefaultData");
9
- var data = createDefaultData();
10
- var getDomains = /* @__PURE__ */ __name(() => data.domains, "getDomains");
11
- var getTransitions = /* @__PURE__ */ __name(() => data.transitions, "getTransitions");
12
- var setDomains = /* @__PURE__ */ __name((blocks) => {
13
- if (!blocks) {
14
- return;
15
- }
16
- for (const block of blocks) {
17
- const domainName = block.domain;
18
- const items = (block.items ?? []).map((item) => ({
19
- label: item.label
20
- }));
21
- data.domains.set(domainName, {
22
- name: domainName,
23
- items
24
- });
25
- }
26
- }, "setDomains");
27
- var setTransitions = /* @__PURE__ */ __name((transitions) => {
28
- if (!transitions) {
29
- return;
30
- }
31
- data.transitions = transitions.filter((t) => {
32
- if (t.from === t.to) {
33
- log.warn(
34
- `Cynefin: self-loop transition on domain "${t.from}" is not meaningful and will be skipped.`
35
- );
36
- return false;
37
- }
38
- return true;
39
- }).map((t) => ({
40
- from: t.from,
41
- to: t.to,
42
- label: t.label || void 0
43
- }));
44
- }, "setTransitions");
45
- var getConfig2 = /* @__PURE__ */ __name(() => {
46
- return cleanAndMerge({
47
- ...defaultConfig_default.cynefin,
48
- ...getConfig().cynefin
49
- });
50
- }, "getConfig");
51
- var clear2 = /* @__PURE__ */ __name(() => {
52
- clear();
53
- data = createDefaultData();
54
- }, "clear");
55
- var db = {
56
- getDomains,
57
- getTransitions,
58
- setDomains,
59
- setTransitions,
60
- getConfig: getConfig2,
61
- clear: clear2,
62
- setAccTitle,
63
- getAccTitle,
64
- setDiagramTitle,
65
- getDiagramTitle,
66
- getAccDescription,
67
- setAccDescription
68
- };
69
- var populate = /* @__PURE__ */ __name((ast) => {
70
- populateCommonDb(ast, db);
71
- db.setDomains(ast.domains);
72
- db.setTransitions(ast.transitions);
73
- }, "populate");
74
- var parser = {
75
- parse: /* @__PURE__ */ __name(async (input) => {
76
- const ast = await parse("cynefin", input);
77
- log.debug(ast);
78
- populate(ast);
79
- }, "parse")
80
- };
81
- function seededRandom(seed) {
82
- let t = seed + 1831565813 | 0;
83
- t = Math.imul(t ^ t >>> 15, t | 1);
84
- t ^= t + Math.imul(t ^ t >>> 7, t | 61);
85
- return ((t ^ t >>> 14) >>> 0) / 4294967296;
86
- }
87
- __name(seededRandom, "seededRandom");
88
- function hashString(str) {
89
- let hash = 0;
90
- for (let i = 0; i < str.length; i++) {
91
- const ch = str.charCodeAt(i);
92
- hash = (hash << 5) - hash + ch;
93
- hash |= 0;
94
- }
95
- return hash;
96
- }
97
- __name(hashString, "hashString");
98
- function resolveSeed(configuredSeed, id) {
99
- if (typeof configuredSeed === "number" && Number.isFinite(configuredSeed) && configuredSeed !== 0) {
100
- return configuredSeed;
101
- }
102
- return hashString(id);
103
- }
104
- __name(resolveSeed, "resolveSeed");
105
- function generateFoldPath(width, height, seed, amplitudeOverride) {
106
- const cx = width / 2;
107
- const amplitude = amplitudeOverride ?? width * 0.015;
108
- const segments = 7;
109
- const segHeight = height / segments;
110
- const points = [];
111
- for (let i = 0; i <= segments; i++) {
112
- const jitter = seededRandom(seed + i * 17) * amplitude * 2 - amplitude;
113
- points.push({ x: cx + jitter, y: i * segHeight });
114
- }
115
- let d = `M${points[0].x},${points[0].y}`;
116
- for (let i = 0; i < points.length - 1; i++) {
117
- const p0 = points[i];
118
- const p1 = points[i + 1];
119
- const midY = (p0.y + p1.y) / 2;
120
- const dir = i % 2 === 0 ? 1 : -1;
121
- const offset = amplitude * 1.5 * dir * seededRandom(seed + i * 31 + 7);
122
- const cp1x = p0.x + offset;
123
- const cp1y = midY;
124
- const cp2x = p1.x - offset;
125
- const cp2y = midY;
126
- d += ` C${cp1x},${cp1y} ${cp2x},${cp2y} ${p1.x},${p1.y}`;
127
- }
128
- return d;
129
- }
130
- __name(generateFoldPath, "generateFoldPath");
131
- function generateHorizontalBoundary(width, height, seed, amplitudeOverride) {
132
- const cy = height / 2;
133
- const amplitude = amplitudeOverride ?? height * 0.015;
134
- const segments = 7;
135
- const segWidth = width / segments;
136
- const points = [];
137
- for (let i = 0; i <= segments; i++) {
138
- const jitter = seededRandom(seed + i * 23) * amplitude * 2 - amplitude;
139
- points.push({ x: i * segWidth, y: cy + jitter });
140
- }
141
- let d = `M${points[0].x},${points[0].y}`;
142
- for (let i = 0; i < points.length - 1; i++) {
143
- const p0 = points[i];
144
- const p1 = points[i + 1];
145
- const midX = (p0.x + p1.x) / 2;
146
- const dir = i % 2 === 0 ? 1 : -1;
147
- const offset = amplitude * 1.5 * dir * seededRandom(seed + i * 37 + 11);
148
- const cp1x = midX;
149
- const cp1y = p0.y + offset;
150
- const cp2x = midX;
151
- const cp2y = p1.y - offset;
152
- d += ` C${cp1x},${cp1y} ${cp2x},${cp2y} ${p1.x},${p1.y}`;
153
- }
154
- return d;
155
- }
156
- __name(generateHorizontalBoundary, "generateHorizontalBoundary");
157
- function generateCliffPath(width, height) {
158
- const cx = width / 2;
159
- const topY = height * 0.5;
160
- const bottomY = height;
161
- const amplitude = width * 0.03;
162
- return [
163
- `M${cx},${topY}`,
164
- `C${cx + amplitude},${topY + (bottomY - topY) * 0.2}`,
165
- `${cx - amplitude * 1.5},${topY + (bottomY - topY) * 0.55}`,
166
- `${cx + amplitude * 0.5},${topY + (bottomY - topY) * 0.75}`,
167
- `C${cx - amplitude},${topY + (bottomY - topY) * 0.85}`,
168
- `${cx + amplitude * 0.3},${topY + (bottomY - topY) * 0.95}`,
169
- `${cx},${bottomY}`
170
- ].join(" ");
171
- }
172
- __name(generateCliffPath, "generateCliffPath");
173
- function generateConfusionPath(cx, cy, rx, ry) {
174
- return [
175
- `M${cx - rx},${cy}`,
176
- `A${rx},${ry} 0 1,1 ${cx + rx},${cy}`,
177
- `A${rx},${ry} 0 1,1 ${cx - rx},${cy}`,
178
- "Z"
179
- ].join(" ");
180
- }
181
- __name(generateConfusionPath, "generateConfusionPath");
182
- var DOMAIN_META = {
183
- complex: { model: "Probe → Sense → Respond", practice: "Emergent Practices" },
184
- complicated: { model: "Sense → Analyse → Respond", practice: "Good Practices" },
185
- clear: { model: "Sense → Categorise → Respond", practice: "Best Practices" },
186
- chaotic: { model: "Act → Sense → Respond", practice: "Novel Practices" },
187
- confusion: { model: "", practice: "Disorder" }
188
- };
189
- var getDomainLayouts = /* @__PURE__ */ __name((width, height) => {
190
- const hw = width / 2;
191
- const hh = height / 2;
192
- return {
193
- complex: { cx: hw / 2, cy: hh / 2, x: 0, y: 0, w: hw, h: hh },
194
- complicated: { cx: hw + hw / 2, cy: hh / 2, x: hw, y: 0, w: hw, h: hh },
195
- chaotic: { cx: hw / 2, cy: hh + hh / 2, x: 0, y: hh, w: hw, h: hh },
196
- clear: { cx: hw + hw / 2, cy: hh + hh / 2, x: hw, y: hh, w: hw, h: hh },
197
- confusion: { cx: hw, cy: hh, x: hw * 0.7, y: hh * 0.7, w: hw * 0.6, h: hh * 0.6 }
198
- };
199
- }, "getDomainLayouts");
200
- var getCynefinDomainColors = /* @__PURE__ */ __name(() => {
201
- const defaultThemeVariables = getThemeVariables3();
202
- const currentConfig = getConfig();
203
- const themeVariables = cleanAndMerge(defaultThemeVariables, currentConfig.themeVariables);
204
- return themeVariables.cynefin;
205
- }, "getCynefinDomainColors");
206
- var MAX_CONFUSION_ITEMS = 3;
207
- var draw = /* @__PURE__ */ __name((_text, id, _version, diagram2) => {
208
- const db2 = diagram2.db;
209
- const domains = db2.getDomains();
210
- const transitions = db2.getTransitions();
211
- const title = db2.getDiagramTitle();
212
- const accTitle = db2.getAccTitle();
213
- const accDescription = db2.getAccDescription();
214
- const config = db2.getConfig();
215
- const domainColors = getCynefinDomainColors();
216
- log.debug("Rendering Cynefin diagram");
217
- const width = config.width;
218
- const height = config.height;
219
- const padding = config.padding;
220
- const showDomainDescriptions = config.showDomainDescriptions;
221
- const boundaryAmplitude = config.boundaryAmplitude;
222
- const totalWidth = width + padding * 2;
223
- const totalHeight = height + padding * 2;
224
- const domainBg = {
225
- complex: domainColors.complexBg,
226
- complicated: domainColors.complicatedBg,
227
- clear: domainColors.clearBg,
228
- chaotic: domainColors.chaoticBg,
229
- confusion: domainColors.confusionBg
230
- };
231
- const svg = selectSvgElement(id);
232
- configureSvgSize(svg, totalHeight, totalWidth, config.useMaxWidth ?? true);
233
- svg.attr("viewBox", `0 0 ${totalWidth} ${totalHeight}`);
234
- if (accTitle) {
235
- svg.append("title").text(accTitle);
236
- }
237
- if (accDescription) {
238
- svg.append("desc").text(accDescription);
239
- }
240
- const root = svg.append("g").attr("transform", `translate(${padding}, ${padding})`);
241
- const layouts = getDomainLayouts(width, height);
242
- const seed = resolveSeed(config.seed, id);
243
- const bgGroup = root.append("g").attr("class", "cynefin-backgrounds");
244
- const quadrantDomains = ["complex", "complicated", "chaotic", "clear"];
245
- for (const domainName of quadrantDomains) {
246
- const layout = layouts[domainName];
247
- bgGroup.append("rect").attr("class", "cynefinDomain").attr("x", layout.x).attr("y", layout.y).attr("width", layout.w).attr("height", layout.h).attr("fill", domainBg[domainName]).attr("fill-opacity", 0.4).attr("stroke", "none");
248
- }
249
- const boundaryGroup = root.append("g").attr("class", "cynefin-boundaries");
250
- boundaryGroup.append("path").attr("class", "cynefinBoundary").attr("d", generateFoldPath(width, height, seed, boundaryAmplitude)).attr("fill", "none");
251
- boundaryGroup.append("path").attr("class", "cynefinBoundary").attr("d", generateHorizontalBoundary(width, height, seed + 100, boundaryAmplitude)).attr("fill", "none");
252
- boundaryGroup.append("path").attr("class", "cynefinCliff").attr("d", generateCliffPath(width, height)).attr("fill", "none");
253
- const confusionRx = width * 0.15;
254
- const confusionRy = height * 0.15;
255
- root.append("path").attr("class", "cynefinConfusion").attr("d", generateConfusionPath(width / 2, height / 2, confusionRx, confusionRy)).attr("fill", domainBg.confusion).attr("fill-opacity", 0.5);
256
- const labelGroup = root.append("g").attr("class", "cynefin-labels");
257
- for (const domainName of quadrantDomains) {
258
- const layout = layouts[domainName];
259
- labelGroup.append("text").attr("class", "cynefinDomainLabel").attr("x", layout.cx).attr("y", showDomainDescriptions ? layout.cy - 30 : layout.cy).attr("text-anchor", "middle").attr("dominant-baseline", "middle").text(domainName.charAt(0).toUpperCase() + domainName.slice(1));
260
- }
261
- labelGroup.append("text").attr("class", "cynefinDomainLabel").attr("x", width / 2).attr("y", showDomainDescriptions ? height / 2 - 10 : height / 2).attr("text-anchor", "middle").attr("dominant-baseline", "middle").text("Confusion");
262
- if (showDomainDescriptions) {
263
- const subtitleGroup = root.append("g").attr("class", "cynefin-subtitles");
264
- for (const domainName of quadrantDomains) {
265
- const layout = layouts[domainName];
266
- const meta = DOMAIN_META[domainName];
267
- subtitleGroup.append("text").attr("class", "cynefinSubtitle").attr("x", layout.cx).attr("y", layout.cy - 10).attr("text-anchor", "middle").attr("dominant-baseline", "middle").text(meta.model);
268
- subtitleGroup.append("text").attr("class", "cynefinSubtitle").attr("x", layout.cx).attr("y", layout.cy + 5).attr("text-anchor", "middle").attr("dominant-baseline", "middle").text(meta.practice);
269
- }
270
- subtitleGroup.append("text").attr("class", "cynefinSubtitle").attr("x", width / 2).attr("y", height / 2 + 8).attr("text-anchor", "middle").attr("dominant-baseline", "middle").text(DOMAIN_META.confusion.practice);
271
- }
272
- const itemGroup = root.append("g").attr("class", "cynefin-items");
273
- const itemHeight = 26;
274
- const itemPaddingX = 10;
275
- const allDomains = ["complex", "complicated", "chaotic", "clear", "confusion"];
276
- for (const domainName of allDomains) {
277
- const domain = domains.get(domainName);
278
- if (!domain || domain.items.length === 0) {
279
- continue;
280
- }
281
- const layout = layouts[domainName];
282
- const isConfusion = domainName === "confusion";
283
- let itemsToRender = domain.items;
284
- let overflowCount = 0;
285
- if (isConfusion && domain.items.length > MAX_CONFUSION_ITEMS) {
286
- overflowCount = domain.items.length - MAX_CONFUSION_ITEMS;
287
- itemsToRender = domain.items.slice(0, MAX_CONFUSION_ITEMS);
288
- }
289
- let startY;
290
- if (isConfusion) {
291
- const labelOffset = showDomainDescriptions ? 22 : 14;
292
- startY = layout.cy + labelOffset;
293
- } else {
294
- startY = layout.cy + (showDomainDescriptions ? 25 : 15);
295
- }
296
- [...itemsToRender].forEach((item, idx) => {
297
- const itemY = startY + idx * (itemHeight + 4);
298
- const g = itemGroup.append("g");
299
- const textEl = g.append("text").attr("class", "cynefinItemText").attr("x", 0).attr("y", itemHeight / 2).attr("text-anchor", "middle").attr("dominant-baseline", "central").text(item.label);
300
- let measuredWidth = item.label.length * 7;
301
- const textNode = textEl.node();
302
- if (textNode && typeof textNode.getBBox === "function") {
303
- const bbox = textNode.getBBox();
304
- if (bbox.width > 0) {
305
- measuredWidth = bbox.width;
306
- }
307
- }
308
- const badgeWidth = measuredWidth + itemPaddingX * 2;
309
- const itemX = layout.cx - badgeWidth / 2;
310
- g.attr("transform", `translate(${itemX}, ${itemY})`);
311
- g.insert("rect", "text").attr("class", "cynefinItem").attr("x", 0).attr("y", 0).attr("width", badgeWidth).attr("height", itemHeight).attr("rx", 4).attr("ry", 4).attr("fill", domainBg[domainName]).attr("fill-opacity", 0.95);
312
- textEl.attr("x", badgeWidth / 2).attr("y", itemHeight / 2);
313
- });
314
- if (overflowCount > 0) {
315
- const overflowY = startY + itemsToRender.length * (itemHeight + 4);
316
- const overflowLabel = `+${overflowCount} more`;
317
- const g = itemGroup.append("g");
318
- const textEl = g.append("text").attr("class", "cynefinItemText").attr("x", 0).attr("y", itemHeight / 2).attr("text-anchor", "middle").attr("dominant-baseline", "central").text(overflowLabel);
319
- let measuredWidth = overflowLabel.length * 7;
320
- const textNode = textEl.node();
321
- if (textNode && typeof textNode.getBBox === "function") {
322
- const bbox = textNode.getBBox();
323
- if (bbox.width > 0) {
324
- measuredWidth = bbox.width;
325
- }
326
- }
327
- const badgeWidth = measuredWidth + itemPaddingX * 2;
328
- const itemX = layout.cx - badgeWidth / 2;
329
- g.attr("transform", `translate(${itemX}, ${overflowY})`);
330
- g.insert("rect", "text").attr("class", "cynefinItemOverflow").attr("x", 0).attr("y", 0).attr("width", badgeWidth).attr("height", itemHeight).attr("rx", 4).attr("ry", 4).attr("fill", domainBg[domainName]).attr("fill-opacity", 0.6);
331
- textEl.attr("x", badgeWidth / 2).attr("y", itemHeight / 2);
332
- }
333
- }
334
- if (transitions.length > 0) {
335
- const defs = svg.select("defs").empty() ? svg.append("defs") : svg.select("defs");
336
- const markerId = `cynefin-arrow-${id}`;
337
- defs.append("marker").attr("id", markerId).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("class", "cynefinArrowHead");
338
- const arrowGroup = root.append("g").attr("class", "cynefin-arrows");
339
- transitions.forEach((transition) => {
340
- const fromLayout = layouts[transition.from];
341
- const toLayout = layouts[transition.to];
342
- if (!fromLayout || !toLayout) {
343
- return;
344
- }
345
- if (transition.from === transition.to) {
346
- log.warn(`Cynefin renderer: skipping self-loop on domain "${transition.from}"`);
347
- return;
348
- }
349
- const x1 = fromLayout.cx;
350
- const y1 = fromLayout.cy;
351
- const x2 = toLayout.cx;
352
- const y2 = toLayout.cy;
353
- const mx = (x1 + x2) / 2;
354
- const my = (y1 + y2) / 2;
355
- const dx = x2 - x1;
356
- const dy = y2 - y1;
357
- const len = Math.sqrt(dx * dx + dy * dy);
358
- const offsetAmount = len * 0.15;
359
- const nx = -dy / len;
360
- const ny = dx / len;
361
- const cpx = mx + nx * offsetAmount;
362
- const cpy = my + ny * offsetAmount;
363
- arrowGroup.append("path").attr("class", "cynefinArrowLine").attr("d", `M${x1},${y1} Q${cpx},${cpy} ${x2},${y2}`).attr("fill", "none").attr("marker-end", `url(#${markerId})`);
364
- if (transition.label) {
365
- arrowGroup.append("text").attr("class", "cynefinArrowLabel").attr("x", cpx).attr("y", cpy - 6).attr("text-anchor", "middle").attr("dominant-baseline", "auto").text(transition.label);
366
- }
367
- });
368
- }
369
- if (title) {
370
- root.append("text").attr("class", "cynefinTitle").attr("x", width / 2).attr("y", -padding / 2).attr("text-anchor", "middle").attr("dominant-baseline", "middle").text(title);
371
- }
372
- }, "draw");
373
- var renderer = { draw };
374
- var getCynefinTheme = /* @__PURE__ */ __name(() => {
375
- const defaultThemeVariables = getThemeVariables3();
376
- const currentConfig = getConfig();
377
- const themeVariables = cleanAndMerge(defaultThemeVariables, currentConfig.themeVariables);
378
- return themeVariables.cynefin;
379
- }, "getCynefinTheme");
380
- var styles = /* @__PURE__ */ __name(() => {
381
- const t = getCynefinTheme();
382
- return `
383
- .cynefinDomain {
384
- stroke: none;
385
- }
386
- .cynefinDomainLabel {
387
- font-size: ${t.domainFontSize}px;
388
- font-weight: bold;
389
- fill: ${t.labelColor};
390
- }
391
- .cynefinSubtitle {
392
- font-size: ${t.itemFontSize - 1}px;
393
- fill: ${t.textColor};
394
- font-style: italic;
395
- }
396
- .cynefinItem {
397
- fill-opacity: 0.95;
398
- stroke: ${t.boundaryColor};
399
- stroke-width: 1;
400
- }
401
- .cynefinItemText {
402
- font-size: ${t.itemFontSize}px;
403
- fill: ${t.textColor};
404
- }
405
- .cynefinItemOverflow {
406
- fill-opacity: 0.6;
407
- stroke: ${t.boundaryColor};
408
- stroke-width: 1;
409
- stroke-dasharray: 3 2;
410
- }
411
- .cynefinBoundary {
412
- stroke: ${t.boundaryColor};
413
- stroke-width: ${t.boundaryWidth};
414
- stroke-dasharray: 6 3;
415
- }
416
- .cynefinCliff {
417
- stroke: ${t.cliffColor};
418
- stroke-width: ${t.cliffWidth};
419
- }
420
- .cynefinConfusion {
421
- stroke: ${t.boundaryColor};
422
- stroke-width: 1.5;
423
- stroke-dasharray: 4 2;
424
- }
425
- .cynefinArrowLine {
426
- stroke: ${t.arrowColor};
427
- stroke-width: ${t.arrowWidth};
428
- fill: none;
429
- }
430
- .cynefinArrowHead {
431
- fill: ${t.arrowColor};
432
- stroke: none;
433
- }
434
- .cynefinArrowLabel {
435
- font-size: ${t.itemFontSize - 1}px;
436
- fill: ${t.textColor};
437
- }
438
- .cynefinTitle {
439
- font-size: ${t.domainFontSize + 2}px;
440
- font-weight: bold;
441
- fill: ${t.labelColor};
442
- }
443
- `;
444
- }, "styles");
445
- var styles_default = styles;
446
- var diagram = {
447
- parser,
448
- db,
449
- renderer,
450
- styles: styles_default
451
- };
452
- export {
453
- diagram
454
- };