@zettelgeist/cli 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 (189) hide show
  1. package/LICENSE +202 -0
  2. package/README.md +64 -0
  3. package/dist/bin.js +2211 -0
  4. package/dist/bin.js.map +7 -0
  5. package/dist/templates/export.html +27 -0
  6. package/dist/templates/skill/SKILL.md +220 -0
  7. package/dist/viewer-bundle/architecture-YZFGNWBL-W2K3EQOM.js +14 -0
  8. package/dist/viewer-bundle/architecture-YZFGNWBL-W2K3EQOM.js.map +7 -0
  9. package/dist/viewer-bundle/architectureDiagram-Q4EWVU46-LCGRUEWT.js +8884 -0
  10. package/dist/viewer-bundle/architectureDiagram-Q4EWVU46-LCGRUEWT.js.map +7 -0
  11. package/dist/viewer-bundle/base.css +248 -0
  12. package/dist/viewer-bundle/blockDiagram-DXYQGD6D-KAM7BOAP.js +3777 -0
  13. package/dist/viewer-bundle/blockDiagram-DXYQGD6D-KAM7BOAP.js.map +7 -0
  14. package/dist/viewer-bundle/board.css +370 -0
  15. package/dist/viewer-bundle/c4Diagram-AHTNJAMY-C3FIQYXA.js +2596 -0
  16. package/dist/viewer-bundle/c4Diagram-AHTNJAMY-C3FIQYXA.js.map +7 -0
  17. package/dist/viewer-bundle/chunk-2QXGXAO5.js +68 -0
  18. package/dist/viewer-bundle/chunk-2QXGXAO5.js.map +7 -0
  19. package/dist/viewer-bundle/chunk-5PZT7VUU.js +67 -0
  20. package/dist/viewer-bundle/chunk-5PZT7VUU.js.map +7 -0
  21. package/dist/viewer-bundle/chunk-5YJCJF2C.js +112 -0
  22. package/dist/viewer-bundle/chunk-5YJCJF2C.js.map +7 -0
  23. package/dist/viewer-bundle/chunk-6LYV7PBV.js +1011 -0
  24. package/dist/viewer-bundle/chunk-6LYV7PBV.js.map +7 -0
  25. package/dist/viewer-bundle/chunk-6VW7D5WX.js +48 -0
  26. package/dist/viewer-bundle/chunk-6VW7D5WX.js.map +7 -0
  27. package/dist/viewer-bundle/chunk-76C5OSD4.js +2048 -0
  28. package/dist/viewer-bundle/chunk-76C5OSD4.js.map +7 -0
  29. package/dist/viewer-bundle/chunk-7NZMPQDX.js +6957 -0
  30. package/dist/viewer-bundle/chunk-7NZMPQDX.js.map +7 -0
  31. package/dist/viewer-bundle/chunk-A634GTZN.js +122 -0
  32. package/dist/viewer-bundle/chunk-A634GTZN.js.map +7 -0
  33. package/dist/viewer-bundle/chunk-AJQJUKMU.js +133 -0
  34. package/dist/viewer-bundle/chunk-AJQJUKMU.js.map +7 -0
  35. package/dist/viewer-bundle/chunk-BM2KPNFW.js +5556 -0
  36. package/dist/viewer-bundle/chunk-BM2KPNFW.js.map +7 -0
  37. package/dist/viewer-bundle/chunk-CIDUOCCG.js +25 -0
  38. package/dist/viewer-bundle/chunk-CIDUOCCG.js.map +7 -0
  39. package/dist/viewer-bundle/chunk-CZHJHAOR.js +6397 -0
  40. package/dist/viewer-bundle/chunk-CZHJHAOR.js.map +7 -0
  41. package/dist/viewer-bundle/chunk-D5RLIWY4.js +125 -0
  42. package/dist/viewer-bundle/chunk-D5RLIWY4.js.map +7 -0
  43. package/dist/viewer-bundle/chunk-DI52DQAC.js +44 -0
  44. package/dist/viewer-bundle/chunk-DI52DQAC.js.map +7 -0
  45. package/dist/viewer-bundle/chunk-EXJQLTIV.js +51 -0
  46. package/dist/viewer-bundle/chunk-EXJQLTIV.js.map +7 -0
  47. package/dist/viewer-bundle/chunk-G3PPZWPW.js +96 -0
  48. package/dist/viewer-bundle/chunk-G3PPZWPW.js.map +7 -0
  49. package/dist/viewer-bundle/chunk-GTW4IDD4.js +30297 -0
  50. package/dist/viewer-bundle/chunk-GTW4IDD4.js.map +7 -0
  51. package/dist/viewer-bundle/chunk-GVE7OA3Z.js +59 -0
  52. package/dist/viewer-bundle/chunk-GVE7OA3Z.js.map +7 -0
  53. package/dist/viewer-bundle/chunk-JBUVKVPY.js +2042 -0
  54. package/dist/viewer-bundle/chunk-JBUVKVPY.js.map +7 -0
  55. package/dist/viewer-bundle/chunk-JQLVOAQB.js +20 -0
  56. package/dist/viewer-bundle/chunk-JQLVOAQB.js.map +7 -0
  57. package/dist/viewer-bundle/chunk-LQMQSYLO.js +101 -0
  58. package/dist/viewer-bundle/chunk-LQMQSYLO.js.map +7 -0
  59. package/dist/viewer-bundle/chunk-MBFAQ3IK.js +34 -0
  60. package/dist/viewer-bundle/chunk-MBFAQ3IK.js.map +7 -0
  61. package/dist/viewer-bundle/chunk-N7G7IIKG.js +25 -0
  62. package/dist/viewer-bundle/chunk-N7G7IIKG.js.map +7 -0
  63. package/dist/viewer-bundle/chunk-NW4YG3NS.js +171 -0
  64. package/dist/viewer-bundle/chunk-NW4YG3NS.js.map +7 -0
  65. package/dist/viewer-bundle/chunk-ODEP5TKB.js +61 -0
  66. package/dist/viewer-bundle/chunk-ODEP5TKB.js.map +7 -0
  67. package/dist/viewer-bundle/chunk-OGKINV23.js +1050 -0
  68. package/dist/viewer-bundle/chunk-OGKINV23.js.map +7 -0
  69. package/dist/viewer-bundle/chunk-OGMSNDVH.js +1994 -0
  70. package/dist/viewer-bundle/chunk-OGMSNDVH.js.map +7 -0
  71. package/dist/viewer-bundle/chunk-QJVSDNAW.js +25 -0
  72. package/dist/viewer-bundle/chunk-QJVSDNAW.js.map +7 -0
  73. package/dist/viewer-bundle/chunk-RBTT26R4.js +2721 -0
  74. package/dist/viewer-bundle/chunk-RBTT26R4.js.map +7 -0
  75. package/dist/viewer-bundle/chunk-RQIPIIE2.js +48 -0
  76. package/dist/viewer-bundle/chunk-RQIPIIE2.js.map +7 -0
  77. package/dist/viewer-bundle/chunk-SRTYTXTX.js +22 -0
  78. package/dist/viewer-bundle/chunk-SRTYTXTX.js.map +7 -0
  79. package/dist/viewer-bundle/chunk-TRL7YIZG.js +1663 -0
  80. package/dist/viewer-bundle/chunk-TRL7YIZG.js.map +7 -0
  81. package/dist/viewer-bundle/chunk-U5T7X4BV.js +172 -0
  82. package/dist/viewer-bundle/chunk-U5T7X4BV.js.map +7 -0
  83. package/dist/viewer-bundle/chunk-UCAW6C6C.js +48 -0
  84. package/dist/viewer-bundle/chunk-UCAW6C6C.js.map +7 -0
  85. package/dist/viewer-bundle/chunk-UEAG4BJQ.js +93 -0
  86. package/dist/viewer-bundle/chunk-UEAG4BJQ.js.map +7 -0
  87. package/dist/viewer-bundle/chunk-UVRE3R6A.js +1039 -0
  88. package/dist/viewer-bundle/chunk-UVRE3R6A.js.map +7 -0
  89. package/dist/viewer-bundle/chunk-VODO7SV4.js +25029 -0
  90. package/dist/viewer-bundle/chunk-VODO7SV4.js.map +7 -0
  91. package/dist/viewer-bundle/chunk-YEU62MVS.js +682 -0
  92. package/dist/viewer-bundle/chunk-YEU62MVS.js.map +7 -0
  93. package/dist/viewer-bundle/chunk-YFQT7PPW.js +987 -0
  94. package/dist/viewer-bundle/chunk-YFQT7PPW.js.map +7 -0
  95. package/dist/viewer-bundle/chunk-Z4G7FG27.js +48 -0
  96. package/dist/viewer-bundle/chunk-Z4G7FG27.js.map +7 -0
  97. package/dist/viewer-bundle/chunk-ZW4Y7DIF.js +2044 -0
  98. package/dist/viewer-bundle/chunk-ZW4Y7DIF.js.map +7 -0
  99. package/dist/viewer-bundle/classDiagram-6PBFFD2Q-7VKYXLUX.js +46 -0
  100. package/dist/viewer-bundle/classDiagram-6PBFFD2Q-7VKYXLUX.js.map +7 -0
  101. package/dist/viewer-bundle/classDiagram-v2-HSJHXN6E-ACCNN7EN.js +46 -0
  102. package/dist/viewer-bundle/classDiagram-v2-HSJHXN6E-ACCNN7EN.js.map +7 -0
  103. package/dist/viewer-bundle/cose-bilkent-S5V4N54A-MUJHAA34.js +5009 -0
  104. package/dist/viewer-bundle/cose-bilkent-S5V4N54A-MUJHAA34.js.map +7 -0
  105. package/dist/viewer-bundle/dagre-KV5264BT-YC5VV3WF.js +739 -0
  106. package/dist/viewer-bundle/dagre-KV5264BT-YC5VV3WF.js.map +7 -0
  107. package/dist/viewer-bundle/dark.css +13 -0
  108. package/dist/viewer-bundle/detail.css +539 -0
  109. package/dist/viewer-bundle/diagram-5BDNPKRD-RXFPVFYK.js +214 -0
  110. package/dist/viewer-bundle/diagram-5BDNPKRD-RXFPVFYK.js.map +7 -0
  111. package/dist/viewer-bundle/diagram-G4DWMVQ6-KN7CBNBQ.js +578 -0
  112. package/dist/viewer-bundle/diagram-G4DWMVQ6-KN7CBNBQ.js.map +7 -0
  113. package/dist/viewer-bundle/diagram-MMDJMWI5-ZN6TQ7ZC.js +345 -0
  114. package/dist/viewer-bundle/diagram-MMDJMWI5-ZN6TQ7ZC.js.map +7 -0
  115. package/dist/viewer-bundle/diagram-TYMM5635-MMTUJ4KA.js +255 -0
  116. package/dist/viewer-bundle/diagram-TYMM5635-MMTUJ4KA.js.map +7 -0
  117. package/dist/viewer-bundle/docs.css +88 -0
  118. package/dist/viewer-bundle/edit-modal-BEGC2AO6.js +176 -0
  119. package/dist/viewer-bundle/edit-modal-BEGC2AO6.js.map +7 -0
  120. package/dist/viewer-bundle/erDiagram-SMLLAGMA-TBHMLD2E.js +1349 -0
  121. package/dist/viewer-bundle/erDiagram-SMLLAGMA-TBHMLD2E.js.map +7 -0
  122. package/dist/viewer-bundle/flowDiagram-DWJPFMVM-BZHLK6QB.js +2501 -0
  123. package/dist/viewer-bundle/flowDiagram-DWJPFMVM-BZHLK6QB.js.map +7 -0
  124. package/dist/viewer-bundle/ganttDiagram-T4ZO3ILL-YBARPTQR.js +2654 -0
  125. package/dist/viewer-bundle/ganttDiagram-T4ZO3ILL-YBARPTQR.js.map +7 -0
  126. package/dist/viewer-bundle/gitGraph-7Q5UKJZL-HENKIQDX.js +14 -0
  127. package/dist/viewer-bundle/gitGraph-7Q5UKJZL-HENKIQDX.js.map +7 -0
  128. package/dist/viewer-bundle/gitGraphDiagram-UUTBAWPF-M4VV3YVA.js +1946 -0
  129. package/dist/viewer-bundle/gitGraphDiagram-UUTBAWPF-M4VV3YVA.js.map +7 -0
  130. package/dist/viewer-bundle/index.html +28 -0
  131. package/dist/viewer-bundle/info-OMHHGYJF-E773USRS.js +14 -0
  132. package/dist/viewer-bundle/info-OMHHGYJF-E773USRS.js.map +7 -0
  133. package/dist/viewer-bundle/infoDiagram-42DDH7IO-C7JGUXKK.js +59 -0
  134. package/dist/viewer-bundle/infoDiagram-42DDH7IO-C7JGUXKK.js.map +7 -0
  135. package/dist/viewer-bundle/ishikawaDiagram-UXIWVN3A-YBC4X4VB.js +1012 -0
  136. package/dist/viewer-bundle/ishikawaDiagram-UXIWVN3A-YBC4X4VB.js.map +7 -0
  137. package/dist/viewer-bundle/journeyDiagram-VCZTEJTY-6WKVEOOO.js +1303 -0
  138. package/dist/viewer-bundle/journeyDiagram-VCZTEJTY-6WKVEOOO.js.map +7 -0
  139. package/dist/viewer-bundle/kanban-definition-6JOO6SKY-URTTHHO4.js +1131 -0
  140. package/dist/viewer-bundle/kanban-definition-6JOO6SKY-URTTHHO4.js.map +7 -0
  141. package/dist/viewer-bundle/katex-QN5266ZE.js +14318 -0
  142. package/dist/viewer-bundle/katex-QN5266ZE.js.map +7 -0
  143. package/dist/viewer-bundle/light.css +15 -0
  144. package/dist/viewer-bundle/main.js +4816 -0
  145. package/dist/viewer-bundle/main.js.map +7 -0
  146. package/dist/viewer-bundle/mermaid.core-AEBXU2JK.js +1708 -0
  147. package/dist/viewer-bundle/mermaid.core-AEBXU2JK.js.map +7 -0
  148. package/dist/viewer-bundle/mindmap-definition-QFDTVHPH-KUMAMRSF.js +1277 -0
  149. package/dist/viewer-bundle/mindmap-definition-QFDTVHPH-KUMAMRSF.js.map +7 -0
  150. package/dist/viewer-bundle/packet-4T2RLAQJ-IRYWWA66.js +14 -0
  151. package/dist/viewer-bundle/packet-4T2RLAQJ-IRYWWA66.js.map +7 -0
  152. package/dist/viewer-bundle/pico.classless.min.css +4 -0
  153. package/dist/viewer-bundle/pie-ZZUOXDRM-JYO4VL5N.js +14 -0
  154. package/dist/viewer-bundle/pie-ZZUOXDRM-JYO4VL5N.js.map +7 -0
  155. package/dist/viewer-bundle/pieDiagram-DEJITSTG-QOEHQN3N.js +238 -0
  156. package/dist/viewer-bundle/pieDiagram-DEJITSTG-QOEHQN3N.js.map +7 -0
  157. package/dist/viewer-bundle/prompt-modal-C4LHI7BS.js +12 -0
  158. package/dist/viewer-bundle/prompt-modal-C4LHI7BS.js.map +7 -0
  159. package/dist/viewer-bundle/quadrantDiagram-34T5L4WZ-SJNPUU5N.js +1409 -0
  160. package/dist/viewer-bundle/quadrantDiagram-34T5L4WZ-SJNPUU5N.js.map +7 -0
  161. package/dist/viewer-bundle/radar-PYXPWWZC-45BRYQSB.js +14 -0
  162. package/dist/viewer-bundle/radar-PYXPWWZC-45BRYQSB.js.map +7 -0
  163. package/dist/viewer-bundle/reason-modal-MK34MQ73.js +68 -0
  164. package/dist/viewer-bundle/reason-modal-MK34MQ73.js.map +7 -0
  165. package/dist/viewer-bundle/requirementDiagram-MS252O5E-UOMT3FCC.js +1311 -0
  166. package/dist/viewer-bundle/requirementDiagram-MS252O5E-UOMT3FCC.js.map +7 -0
  167. package/dist/viewer-bundle/sankeyDiagram-XADWPNL6-LAVJ5C6A.js +1263 -0
  168. package/dist/viewer-bundle/sankeyDiagram-XADWPNL6-LAVJ5C6A.js.map +7 -0
  169. package/dist/viewer-bundle/sequenceDiagram-FGHM5R23-3IWTOUNQ.js +4655 -0
  170. package/dist/viewer-bundle/sequenceDiagram-FGHM5R23-3IWTOUNQ.js.map +7 -0
  171. package/dist/viewer-bundle/stateDiagram-FHFEXIEX-S2OVQQON.js +495 -0
  172. package/dist/viewer-bundle/stateDiagram-FHFEXIEX-S2OVQQON.js.map +7 -0
  173. package/dist/viewer-bundle/stateDiagram-v2-QKLJ7IA2-XNZ3XXSV.js +44 -0
  174. package/dist/viewer-bundle/stateDiagram-v2-QKLJ7IA2-XNZ3XXSV.js.map +7 -0
  175. package/dist/viewer-bundle/timeline-definition-GMOUNBTQ-FHVZ7MHE.js +1646 -0
  176. package/dist/viewer-bundle/timeline-definition-GMOUNBTQ-FHVZ7MHE.js.map +7 -0
  177. package/dist/viewer-bundle/treeView-SZITEDCU-RXZXNYAM.js +14 -0
  178. package/dist/viewer-bundle/treeView-SZITEDCU-RXZXNYAM.js.map +7 -0
  179. package/dist/viewer-bundle/treemap-W4RFUUIX-2IGOFSJM.js +14 -0
  180. package/dist/viewer-bundle/treemap-W4RFUUIX-2IGOFSJM.js.map +7 -0
  181. package/dist/viewer-bundle/vennDiagram-DHZGUBPP-HEAOEXEZ.js +2544 -0
  182. package/dist/viewer-bundle/vennDiagram-DHZGUBPP-HEAOEXEZ.js.map +7 -0
  183. package/dist/viewer-bundle/wardley-RL74JXVD-VSPCLOX2.js +14 -0
  184. package/dist/viewer-bundle/wardley-RL74JXVD-VSPCLOX2.js.map +7 -0
  185. package/dist/viewer-bundle/wardleyDiagram-NUSXRM2D-EBY4FG3X.js +938 -0
  186. package/dist/viewer-bundle/wardleyDiagram-NUSXRM2D-EBY4FG3X.js.map +7 -0
  187. package/dist/viewer-bundle/xychartDiagram-5P7HB3ND-SSMUQEXK.js +1952 -0
  188. package/dist/viewer-bundle/xychartDiagram-5P7HB3ND-SSMUQEXK.js.map +7 -0
  189. package/package.json +51 -0
@@ -0,0 +1,345 @@
1
+ import {
2
+ populateCommonDb
3
+ } from "./chunk-SRTYTXTX.js";
4
+ import {
5
+ selectSvgElement
6
+ } from "./chunk-N7G7IIKG.js";
7
+ import {
8
+ parse
9
+ } from "./chunk-UEAG4BJQ.js";
10
+ import "./chunk-Z4G7FG27.js";
11
+ import "./chunk-D5RLIWY4.js";
12
+ import "./chunk-EXJQLTIV.js";
13
+ import "./chunk-RQIPIIE2.js";
14
+ import "./chunk-6VW7D5WX.js";
15
+ import "./chunk-GVE7OA3Z.js";
16
+ import "./chunk-ODEP5TKB.js";
17
+ import "./chunk-2QXGXAO5.js";
18
+ import "./chunk-UCAW6C6C.js";
19
+ import "./chunk-VODO7SV4.js";
20
+ import "./chunk-YFQT7PPW.js";
21
+ import "./chunk-A634GTZN.js";
22
+ import {
23
+ cleanAndMerge
24
+ } from "./chunk-UVRE3R6A.js";
25
+ import "./chunk-G3PPZWPW.js";
26
+ import {
27
+ clear,
28
+ configureSvgSize,
29
+ defaultConfig_default,
30
+ getAccDescription,
31
+ getAccTitle,
32
+ getConfig,
33
+ getDiagramTitle,
34
+ getThemeVariables3,
35
+ setAccDescription,
36
+ setAccTitle,
37
+ setDiagramTitle
38
+ } from "./chunk-7NZMPQDX.js";
39
+ import "./chunk-YEU62MVS.js";
40
+ import {
41
+ __name,
42
+ log
43
+ } from "./chunk-CZHJHAOR.js";
44
+ import "./chunk-DI52DQAC.js";
45
+
46
+ // ../../node_modules/.pnpm/mermaid@11.14.0/node_modules/mermaid/dist/chunks/mermaid.core/diagram-MMDJMWI5.mjs
47
+ var defaultOptions = {
48
+ showLegend: true,
49
+ ticks: 5,
50
+ max: null,
51
+ min: 0,
52
+ graticule: "circle"
53
+ };
54
+ var defaultRadarData = {
55
+ axes: [],
56
+ curves: [],
57
+ options: defaultOptions
58
+ };
59
+ var data = structuredClone(defaultRadarData);
60
+ var DEFAULT_RADAR_CONFIG = defaultConfig_default.radar;
61
+ var getConfig2 = /* @__PURE__ */ __name(() => {
62
+ const config = cleanAndMerge({
63
+ ...DEFAULT_RADAR_CONFIG,
64
+ ...getConfig().radar
65
+ });
66
+ return config;
67
+ }, "getConfig");
68
+ var getAxes = /* @__PURE__ */ __name(() => data.axes, "getAxes");
69
+ var getCurves = /* @__PURE__ */ __name(() => data.curves, "getCurves");
70
+ var getOptions = /* @__PURE__ */ __name(() => data.options, "getOptions");
71
+ var setAxes = /* @__PURE__ */ __name((axes) => {
72
+ data.axes = axes.map((axis) => {
73
+ return {
74
+ name: axis.name,
75
+ label: axis.label ?? axis.name
76
+ };
77
+ });
78
+ }, "setAxes");
79
+ var setCurves = /* @__PURE__ */ __name((curves) => {
80
+ data.curves = curves.map((curve) => {
81
+ return {
82
+ name: curve.name,
83
+ label: curve.label ?? curve.name,
84
+ entries: computeCurveEntries(curve.entries)
85
+ };
86
+ });
87
+ }, "setCurves");
88
+ var computeCurveEntries = /* @__PURE__ */ __name((entries) => {
89
+ if (entries[0].axis == void 0) {
90
+ return entries.map((entry) => entry.value);
91
+ }
92
+ const axes = getAxes();
93
+ if (axes.length === 0) {
94
+ throw new Error("Axes must be populated before curves for reference entries");
95
+ }
96
+ return axes.map((axis) => {
97
+ const entry = entries.find((entry2) => entry2.axis?.$refText === axis.name);
98
+ if (entry === void 0) {
99
+ throw new Error("Missing entry for axis " + axis.label);
100
+ }
101
+ return entry.value;
102
+ });
103
+ }, "computeCurveEntries");
104
+ var setOptions = /* @__PURE__ */ __name((options) => {
105
+ const optionMap = options.reduce(
106
+ (acc, option) => {
107
+ acc[option.name] = option;
108
+ return acc;
109
+ },
110
+ {}
111
+ );
112
+ data.options = {
113
+ showLegend: optionMap.showLegend?.value ?? defaultOptions.showLegend,
114
+ ticks: optionMap.ticks?.value ?? defaultOptions.ticks,
115
+ max: optionMap.max?.value ?? defaultOptions.max,
116
+ min: optionMap.min?.value ?? defaultOptions.min,
117
+ graticule: optionMap.graticule?.value ?? defaultOptions.graticule
118
+ };
119
+ }, "setOptions");
120
+ var clear2 = /* @__PURE__ */ __name(() => {
121
+ clear();
122
+ data = structuredClone(defaultRadarData);
123
+ }, "clear");
124
+ var db = {
125
+ getAxes,
126
+ getCurves,
127
+ getOptions,
128
+ setAxes,
129
+ setCurves,
130
+ setOptions,
131
+ getConfig: getConfig2,
132
+ clear: clear2,
133
+ setAccTitle,
134
+ getAccTitle,
135
+ setDiagramTitle,
136
+ getDiagramTitle,
137
+ getAccDescription,
138
+ setAccDescription
139
+ };
140
+ var populate = /* @__PURE__ */ __name((ast) => {
141
+ populateCommonDb(ast, db);
142
+ const { axes, curves, options } = ast;
143
+ db.setAxes(axes);
144
+ db.setCurves(curves);
145
+ db.setOptions(options);
146
+ }, "populate");
147
+ var parser = {
148
+ parse: /* @__PURE__ */ __name(async (input) => {
149
+ const ast = await parse("radar", input);
150
+ log.debug(ast);
151
+ populate(ast);
152
+ }, "parse")
153
+ };
154
+ var draw = /* @__PURE__ */ __name((_text, id, _version, diagram2) => {
155
+ const db2 = diagram2.db;
156
+ const axes = db2.getAxes();
157
+ const curves = db2.getCurves();
158
+ const options = db2.getOptions();
159
+ const config = db2.getConfig();
160
+ const title = db2.getDiagramTitle();
161
+ const svg = selectSvgElement(id);
162
+ const g = drawFrame(svg, config);
163
+ const maxValue = options.max ?? Math.max(...curves.map((curve) => Math.max(...curve.entries)));
164
+ const minValue = options.min;
165
+ const radius = Math.min(config.width, config.height) / 2;
166
+ drawGraticule(g, axes, radius, options.ticks, options.graticule);
167
+ drawAxes(g, axes, radius, config);
168
+ drawCurves(g, axes, curves, minValue, maxValue, options.graticule, config);
169
+ drawLegend(g, curves, options.showLegend, config);
170
+ g.append("text").attr("class", "radarTitle").text(title).attr("x", 0).attr("y", -config.height / 2 - config.marginTop);
171
+ }, "draw");
172
+ var drawFrame = /* @__PURE__ */ __name((svg, config) => {
173
+ const totalWidth = config.width + config.marginLeft + config.marginRight;
174
+ const totalHeight = config.height + config.marginTop + config.marginBottom;
175
+ const center = {
176
+ x: config.marginLeft + config.width / 2,
177
+ y: config.marginTop + config.height / 2
178
+ };
179
+ configureSvgSize(svg, totalHeight, totalWidth, config.useMaxWidth ?? true);
180
+ svg.attr("viewBox", `0 0 ${totalWidth} ${totalHeight}`);
181
+ return svg.append("g").attr("transform", `translate(${center.x}, ${center.y})`);
182
+ }, "drawFrame");
183
+ var drawGraticule = /* @__PURE__ */ __name((g, axes, radius, ticks, graticule) => {
184
+ if (graticule === "circle") {
185
+ for (let i = 0; i < ticks; i++) {
186
+ const r = radius * (i + 1) / ticks;
187
+ g.append("circle").attr("r", r).attr("class", "radarGraticule");
188
+ }
189
+ } else if (graticule === "polygon") {
190
+ const numAxes = axes.length;
191
+ for (let i = 0; i < ticks; i++) {
192
+ const r = radius * (i + 1) / ticks;
193
+ const points = axes.map((_, j) => {
194
+ const angle = 2 * j * Math.PI / numAxes - Math.PI / 2;
195
+ const x = r * Math.cos(angle);
196
+ const y = r * Math.sin(angle);
197
+ return `${x},${y}`;
198
+ }).join(" ");
199
+ g.append("polygon").attr("points", points).attr("class", "radarGraticule");
200
+ }
201
+ }
202
+ }, "drawGraticule");
203
+ var drawAxes = /* @__PURE__ */ __name((g, axes, radius, config) => {
204
+ const numAxes = axes.length;
205
+ for (let i = 0; i < numAxes; i++) {
206
+ const label = axes[i].label;
207
+ const angle = 2 * i * Math.PI / numAxes - Math.PI / 2;
208
+ g.append("line").attr("x1", 0).attr("y1", 0).attr("x2", radius * config.axisScaleFactor * Math.cos(angle)).attr("y2", radius * config.axisScaleFactor * Math.sin(angle)).attr("class", "radarAxisLine");
209
+ g.append("text").text(label).attr("x", radius * config.axisLabelFactor * Math.cos(angle)).attr("y", radius * config.axisLabelFactor * Math.sin(angle)).attr("class", "radarAxisLabel");
210
+ }
211
+ }, "drawAxes");
212
+ function drawCurves(g, axes, curves, minValue, maxValue, graticule, config) {
213
+ const numAxes = axes.length;
214
+ const radius = Math.min(config.width, config.height) / 2;
215
+ curves.forEach((curve, index) => {
216
+ if (curve.entries.length !== numAxes) {
217
+ return;
218
+ }
219
+ const points = curve.entries.map((entry, i) => {
220
+ const angle = 2 * Math.PI * i / numAxes - Math.PI / 2;
221
+ const r = relativeRadius(entry, minValue, maxValue, radius);
222
+ const x = r * Math.cos(angle);
223
+ const y = r * Math.sin(angle);
224
+ return { x, y };
225
+ });
226
+ if (graticule === "circle") {
227
+ g.append("path").attr("d", closedRoundCurve(points, config.curveTension)).attr("class", `radarCurve-${index}`);
228
+ } else if (graticule === "polygon") {
229
+ g.append("polygon").attr("points", points.map((p) => `${p.x},${p.y}`).join(" ")).attr("class", `radarCurve-${index}`);
230
+ }
231
+ });
232
+ }
233
+ __name(drawCurves, "drawCurves");
234
+ function relativeRadius(value, minValue, maxValue, radius) {
235
+ const clippedValue = Math.min(Math.max(value, minValue), maxValue);
236
+ return radius * (clippedValue - minValue) / (maxValue - minValue);
237
+ }
238
+ __name(relativeRadius, "relativeRadius");
239
+ function closedRoundCurve(points, tension) {
240
+ const numPoints = points.length;
241
+ let d = `M${points[0].x},${points[0].y}`;
242
+ for (let i = 0; i < numPoints; i++) {
243
+ const p0 = points[(i - 1 + numPoints) % numPoints];
244
+ const p1 = points[i];
245
+ const p2 = points[(i + 1) % numPoints];
246
+ const p3 = points[(i + 2) % numPoints];
247
+ const cp1 = {
248
+ x: p1.x + (p2.x - p0.x) * tension,
249
+ y: p1.y + (p2.y - p0.y) * tension
250
+ };
251
+ const cp2 = {
252
+ x: p2.x - (p3.x - p1.x) * tension,
253
+ y: p2.y - (p3.y - p1.y) * tension
254
+ };
255
+ d += ` C${cp1.x},${cp1.y} ${cp2.x},${cp2.y} ${p2.x},${p2.y}`;
256
+ }
257
+ return `${d} Z`;
258
+ }
259
+ __name(closedRoundCurve, "closedRoundCurve");
260
+ function drawLegend(g, curves, showLegend, config) {
261
+ if (!showLegend) {
262
+ return;
263
+ }
264
+ const legendX = (config.width / 2 + config.marginRight) * 3 / 4;
265
+ const legendY = -(config.height / 2 + config.marginTop) * 3 / 4;
266
+ const lineHeight = 20;
267
+ curves.forEach((curve, index) => {
268
+ const itemGroup = g.append("g").attr("transform", `translate(${legendX}, ${legendY + index * lineHeight})`);
269
+ itemGroup.append("rect").attr("width", 12).attr("height", 12).attr("class", `radarLegendBox-${index}`);
270
+ itemGroup.append("text").attr("x", 16).attr("y", 0).attr("class", "radarLegendText").text(curve.label);
271
+ });
272
+ }
273
+ __name(drawLegend, "drawLegend");
274
+ var renderer = { draw };
275
+ var genIndexStyles = /* @__PURE__ */ __name((themeVariables, radarOptions) => {
276
+ let sections = "";
277
+ for (let i = 0; i < themeVariables.THEME_COLOR_LIMIT; i++) {
278
+ const indexColor = themeVariables[`cScale${i}`];
279
+ sections += `
280
+ .radarCurve-${i} {
281
+ color: ${indexColor};
282
+ fill: ${indexColor};
283
+ fill-opacity: ${radarOptions.curveOpacity};
284
+ stroke: ${indexColor};
285
+ stroke-width: ${radarOptions.curveStrokeWidth};
286
+ }
287
+ .radarLegendBox-${i} {
288
+ fill: ${indexColor};
289
+ fill-opacity: ${radarOptions.curveOpacity};
290
+ stroke: ${indexColor};
291
+ }
292
+ `;
293
+ }
294
+ return sections;
295
+ }, "genIndexStyles");
296
+ var buildRadarStyleOptions = /* @__PURE__ */ __name((radar) => {
297
+ const defaultThemeVariables = getThemeVariables3();
298
+ const currentConfig = getConfig();
299
+ const themeVariables = cleanAndMerge(defaultThemeVariables, currentConfig.themeVariables);
300
+ const radarOptions = cleanAndMerge(themeVariables.radar, radar);
301
+ return { themeVariables, radarOptions };
302
+ }, "buildRadarStyleOptions");
303
+ var styles = /* @__PURE__ */ __name(({ radar } = {}) => {
304
+ const { themeVariables, radarOptions } = buildRadarStyleOptions(radar);
305
+ return `
306
+ .radarTitle {
307
+ font-size: ${themeVariables.fontSize};
308
+ color: ${themeVariables.titleColor};
309
+ dominant-baseline: hanging;
310
+ text-anchor: middle;
311
+ }
312
+ .radarAxisLine {
313
+ stroke: ${radarOptions.axisColor};
314
+ stroke-width: ${radarOptions.axisStrokeWidth};
315
+ }
316
+ .radarAxisLabel {
317
+ dominant-baseline: middle;
318
+ text-anchor: middle;
319
+ font-size: ${radarOptions.axisLabelFontSize}px;
320
+ color: ${radarOptions.axisColor};
321
+ }
322
+ .radarGraticule {
323
+ fill: ${radarOptions.graticuleColor};
324
+ fill-opacity: ${radarOptions.graticuleOpacity};
325
+ stroke: ${radarOptions.graticuleColor};
326
+ stroke-width: ${radarOptions.graticuleStrokeWidth};
327
+ }
328
+ .radarLegendText {
329
+ text-anchor: start;
330
+ font-size: ${radarOptions.legendFontSize}px;
331
+ dominant-baseline: hanging;
332
+ }
333
+ ${genIndexStyles(themeVariables, radarOptions)}
334
+ `;
335
+ }, "styles");
336
+ var diagram = {
337
+ parser,
338
+ db,
339
+ renderer,
340
+ styles
341
+ };
342
+ export {
343
+ diagram
344
+ };
345
+ //# sourceMappingURL=diagram-MMDJMWI5-ZN6TQ7ZC.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../node_modules/.pnpm/mermaid@11.14.0/node_modules/mermaid/dist/chunks/mermaid.core/diagram-MMDJMWI5.mjs"],
4
+ "sourcesContent": ["import {\n selectSvgElement\n} from \"./chunk-426QAEUC.mjs\";\nimport {\n populateCommonDb\n} from \"./chunk-4BX2VUAB.mjs\";\nimport {\n cleanAndMerge\n} from \"./chunk-5PVQY5BW.mjs\";\nimport {\n clear,\n configureSvgSize,\n defaultConfig_default,\n getAccDescription,\n getAccTitle,\n getConfig,\n getDiagramTitle,\n getThemeVariables,\n setAccDescription,\n setAccTitle,\n setDiagramTitle\n} from \"./chunk-ICPOFSXX.mjs\";\nimport {\n __name,\n log\n} from \"./chunk-AGHRB4JF.mjs\";\n\n// src/diagrams/radar/db.ts\nvar defaultOptions = {\n showLegend: true,\n ticks: 5,\n max: null,\n min: 0,\n graticule: \"circle\"\n};\nvar defaultRadarData = {\n axes: [],\n curves: [],\n options: defaultOptions\n};\nvar data = structuredClone(defaultRadarData);\nvar DEFAULT_RADAR_CONFIG = defaultConfig_default.radar;\nvar getConfig2 = /* @__PURE__ */ __name(() => {\n const config = cleanAndMerge({\n ...DEFAULT_RADAR_CONFIG,\n ...getConfig().radar\n });\n return config;\n}, \"getConfig\");\nvar getAxes = /* @__PURE__ */ __name(() => data.axes, \"getAxes\");\nvar getCurves = /* @__PURE__ */ __name(() => data.curves, \"getCurves\");\nvar getOptions = /* @__PURE__ */ __name(() => data.options, \"getOptions\");\nvar setAxes = /* @__PURE__ */ __name((axes) => {\n data.axes = axes.map((axis) => {\n return {\n name: axis.name,\n label: axis.label ?? axis.name\n };\n });\n}, \"setAxes\");\nvar setCurves = /* @__PURE__ */ __name((curves) => {\n data.curves = curves.map((curve) => {\n return {\n name: curve.name,\n label: curve.label ?? curve.name,\n entries: computeCurveEntries(curve.entries)\n };\n });\n}, \"setCurves\");\nvar computeCurveEntries = /* @__PURE__ */ __name((entries) => {\n if (entries[0].axis == void 0) {\n return entries.map((entry) => entry.value);\n }\n const axes = getAxes();\n if (axes.length === 0) {\n throw new Error(\"Axes must be populated before curves for reference entries\");\n }\n return axes.map((axis) => {\n const entry = entries.find((entry2) => entry2.axis?.$refText === axis.name);\n if (entry === void 0) {\n throw new Error(\"Missing entry for axis \" + axis.label);\n }\n return entry.value;\n });\n}, \"computeCurveEntries\");\nvar setOptions = /* @__PURE__ */ __name((options) => {\n const optionMap = options.reduce(\n (acc, option) => {\n acc[option.name] = option;\n return acc;\n },\n {}\n );\n data.options = {\n showLegend: optionMap.showLegend?.value ?? defaultOptions.showLegend,\n ticks: optionMap.ticks?.value ?? defaultOptions.ticks,\n max: optionMap.max?.value ?? defaultOptions.max,\n min: optionMap.min?.value ?? defaultOptions.min,\n graticule: optionMap.graticule?.value ?? defaultOptions.graticule\n };\n}, \"setOptions\");\nvar clear2 = /* @__PURE__ */ __name(() => {\n clear();\n data = structuredClone(defaultRadarData);\n}, \"clear\");\nvar db = {\n getAxes,\n getCurves,\n getOptions,\n setAxes,\n setCurves,\n setOptions,\n getConfig: getConfig2,\n clear: clear2,\n setAccTitle,\n getAccTitle,\n setDiagramTitle,\n getDiagramTitle,\n getAccDescription,\n setAccDescription\n};\n\n// src/diagrams/radar/parser.ts\nimport { parse } from \"@mermaid-js/parser\";\nvar populate = /* @__PURE__ */ __name((ast) => {\n populateCommonDb(ast, db);\n const { axes, curves, options } = ast;\n db.setAxes(axes);\n db.setCurves(curves);\n db.setOptions(options);\n}, \"populate\");\nvar parser = {\n parse: /* @__PURE__ */ __name(async (input) => {\n const ast = await parse(\"radar\", input);\n log.debug(ast);\n populate(ast);\n }, \"parse\")\n};\n\n// src/diagrams/radar/renderer.ts\nvar draw = /* @__PURE__ */ __name((_text, id, _version, diagram2) => {\n const db2 = diagram2.db;\n const axes = db2.getAxes();\n const curves = db2.getCurves();\n const options = db2.getOptions();\n const config = db2.getConfig();\n const title = db2.getDiagramTitle();\n const svg = selectSvgElement(id);\n const g = drawFrame(svg, config);\n const maxValue = options.max ?? Math.max(...curves.map((curve) => Math.max(...curve.entries)));\n const minValue = options.min;\n const radius = Math.min(config.width, config.height) / 2;\n drawGraticule(g, axes, radius, options.ticks, options.graticule);\n drawAxes(g, axes, radius, config);\n drawCurves(g, axes, curves, minValue, maxValue, options.graticule, config);\n drawLegend(g, curves, options.showLegend, config);\n g.append(\"text\").attr(\"class\", \"radarTitle\").text(title).attr(\"x\", 0).attr(\"y\", -config.height / 2 - config.marginTop);\n}, \"draw\");\nvar drawFrame = /* @__PURE__ */ __name((svg, config) => {\n const totalWidth = config.width + config.marginLeft + config.marginRight;\n const totalHeight = config.height + config.marginTop + config.marginBottom;\n const center = {\n x: config.marginLeft + config.width / 2,\n y: config.marginTop + config.height / 2\n };\n configureSvgSize(svg, totalHeight, totalWidth, config.useMaxWidth ?? true);\n svg.attr(\"viewBox\", `0 0 ${totalWidth} ${totalHeight}`);\n return svg.append(\"g\").attr(\"transform\", `translate(${center.x}, ${center.y})`);\n}, \"drawFrame\");\nvar drawGraticule = /* @__PURE__ */ __name((g, axes, radius, ticks, graticule) => {\n if (graticule === \"circle\") {\n for (let i = 0; i < ticks; i++) {\n const r = radius * (i + 1) / ticks;\n g.append(\"circle\").attr(\"r\", r).attr(\"class\", \"radarGraticule\");\n }\n } else if (graticule === \"polygon\") {\n const numAxes = axes.length;\n for (let i = 0; i < ticks; i++) {\n const r = radius * (i + 1) / ticks;\n const points = axes.map((_, j) => {\n const angle = 2 * j * Math.PI / numAxes - Math.PI / 2;\n const x = r * Math.cos(angle);\n const y = r * Math.sin(angle);\n return `${x},${y}`;\n }).join(\" \");\n g.append(\"polygon\").attr(\"points\", points).attr(\"class\", \"radarGraticule\");\n }\n }\n}, \"drawGraticule\");\nvar drawAxes = /* @__PURE__ */ __name((g, axes, radius, config) => {\n const numAxes = axes.length;\n for (let i = 0; i < numAxes; i++) {\n const label = axes[i].label;\n const angle = 2 * i * Math.PI / numAxes - Math.PI / 2;\n g.append(\"line\").attr(\"x1\", 0).attr(\"y1\", 0).attr(\"x2\", radius * config.axisScaleFactor * Math.cos(angle)).attr(\"y2\", radius * config.axisScaleFactor * Math.sin(angle)).attr(\"class\", \"radarAxisLine\");\n g.append(\"text\").text(label).attr(\"x\", radius * config.axisLabelFactor * Math.cos(angle)).attr(\"y\", radius * config.axisLabelFactor * Math.sin(angle)).attr(\"class\", \"radarAxisLabel\");\n }\n}, \"drawAxes\");\nfunction drawCurves(g, axes, curves, minValue, maxValue, graticule, config) {\n const numAxes = axes.length;\n const radius = Math.min(config.width, config.height) / 2;\n curves.forEach((curve, index) => {\n if (curve.entries.length !== numAxes) {\n return;\n }\n const points = curve.entries.map((entry, i) => {\n const angle = 2 * Math.PI * i / numAxes - Math.PI / 2;\n const r = relativeRadius(entry, minValue, maxValue, radius);\n const x = r * Math.cos(angle);\n const y = r * Math.sin(angle);\n return { x, y };\n });\n if (graticule === \"circle\") {\n g.append(\"path\").attr(\"d\", closedRoundCurve(points, config.curveTension)).attr(\"class\", `radarCurve-${index}`);\n } else if (graticule === \"polygon\") {\n g.append(\"polygon\").attr(\"points\", points.map((p) => `${p.x},${p.y}`).join(\" \")).attr(\"class\", `radarCurve-${index}`);\n }\n });\n}\n__name(drawCurves, \"drawCurves\");\nfunction relativeRadius(value, minValue, maxValue, radius) {\n const clippedValue = Math.min(Math.max(value, minValue), maxValue);\n return radius * (clippedValue - minValue) / (maxValue - minValue);\n}\n__name(relativeRadius, \"relativeRadius\");\nfunction closedRoundCurve(points, tension) {\n const numPoints = points.length;\n let d = `M${points[0].x},${points[0].y}`;\n for (let i = 0; i < numPoints; i++) {\n const p0 = points[(i - 1 + numPoints) % numPoints];\n const p1 = points[i];\n const p2 = points[(i + 1) % numPoints];\n const p3 = points[(i + 2) % numPoints];\n const cp1 = {\n x: p1.x + (p2.x - p0.x) * tension,\n y: p1.y + (p2.y - p0.y) * tension\n };\n const cp2 = {\n x: p2.x - (p3.x - p1.x) * tension,\n y: p2.y - (p3.y - p1.y) * tension\n };\n d += ` C${cp1.x},${cp1.y} ${cp2.x},${cp2.y} ${p2.x},${p2.y}`;\n }\n return `${d} Z`;\n}\n__name(closedRoundCurve, \"closedRoundCurve\");\nfunction drawLegend(g, curves, showLegend, config) {\n if (!showLegend) {\n return;\n }\n const legendX = (config.width / 2 + config.marginRight) * 3 / 4;\n const legendY = -(config.height / 2 + config.marginTop) * 3 / 4;\n const lineHeight = 20;\n curves.forEach((curve, index) => {\n const itemGroup = g.append(\"g\").attr(\"transform\", `translate(${legendX}, ${legendY + index * lineHeight})`);\n itemGroup.append(\"rect\").attr(\"width\", 12).attr(\"height\", 12).attr(\"class\", `radarLegendBox-${index}`);\n itemGroup.append(\"text\").attr(\"x\", 16).attr(\"y\", 0).attr(\"class\", \"radarLegendText\").text(curve.label);\n });\n}\n__name(drawLegend, \"drawLegend\");\nvar renderer = { draw };\n\n// src/diagrams/radar/styles.ts\nvar genIndexStyles = /* @__PURE__ */ __name((themeVariables, radarOptions) => {\n let sections = \"\";\n for (let i = 0; i < themeVariables.THEME_COLOR_LIMIT; i++) {\n const indexColor = themeVariables[`cScale${i}`];\n sections += `\n\t\t.radarCurve-${i} {\n\t\t\tcolor: ${indexColor};\n\t\t\tfill: ${indexColor};\n\t\t\tfill-opacity: ${radarOptions.curveOpacity};\n\t\t\tstroke: ${indexColor};\n\t\t\tstroke-width: ${radarOptions.curveStrokeWidth};\n\t\t}\n\t\t.radarLegendBox-${i} {\n\t\t\tfill: ${indexColor};\n\t\t\tfill-opacity: ${radarOptions.curveOpacity};\n\t\t\tstroke: ${indexColor};\n\t\t}\n\t\t`;\n }\n return sections;\n}, \"genIndexStyles\");\nvar buildRadarStyleOptions = /* @__PURE__ */ __name((radar) => {\n const defaultThemeVariables = getThemeVariables();\n const currentConfig = getConfig();\n const themeVariables = cleanAndMerge(defaultThemeVariables, currentConfig.themeVariables);\n const radarOptions = cleanAndMerge(themeVariables.radar, radar);\n return { themeVariables, radarOptions };\n}, \"buildRadarStyleOptions\");\nvar styles = /* @__PURE__ */ __name(({ radar } = {}) => {\n const { themeVariables, radarOptions } = buildRadarStyleOptions(radar);\n return `\n\t.radarTitle {\n\t\tfont-size: ${themeVariables.fontSize};\n\t\tcolor: ${themeVariables.titleColor};\n\t\tdominant-baseline: hanging;\n\t\ttext-anchor: middle;\n\t}\n\t.radarAxisLine {\n\t\tstroke: ${radarOptions.axisColor};\n\t\tstroke-width: ${radarOptions.axisStrokeWidth};\n\t}\n\t.radarAxisLabel {\n\t\tdominant-baseline: middle;\n\t\ttext-anchor: middle;\n\t\tfont-size: ${radarOptions.axisLabelFontSize}px;\n\t\tcolor: ${radarOptions.axisColor};\n\t}\n\t.radarGraticule {\n\t\tfill: ${radarOptions.graticuleColor};\n\t\tfill-opacity: ${radarOptions.graticuleOpacity};\n\t\tstroke: ${radarOptions.graticuleColor};\n\t\tstroke-width: ${radarOptions.graticuleStrokeWidth};\n\t}\n\t.radarLegendText {\n\t\ttext-anchor: start;\n\t\tfont-size: ${radarOptions.legendFontSize}px;\n\t\tdominant-baseline: hanging;\n\t}\n\t${genIndexStyles(themeVariables, radarOptions)}\n\t`;\n}, \"styles\");\n\n// src/diagrams/radar/diagram.ts\nvar diagram = {\n parser,\n db,\n renderer,\n styles\n};\nexport {\n diagram\n};\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
@@ -0,0 +1,255 @@
1
+ import {
2
+ populateCommonDb
3
+ } from "./chunk-SRTYTXTX.js";
4
+ import {
5
+ selectSvgElement
6
+ } from "./chunk-N7G7IIKG.js";
7
+ import {
8
+ parse
9
+ } from "./chunk-UEAG4BJQ.js";
10
+ import "./chunk-Z4G7FG27.js";
11
+ import "./chunk-D5RLIWY4.js";
12
+ import "./chunk-EXJQLTIV.js";
13
+ import "./chunk-RQIPIIE2.js";
14
+ import "./chunk-6VW7D5WX.js";
15
+ import "./chunk-GVE7OA3Z.js";
16
+ import "./chunk-ODEP5TKB.js";
17
+ import "./chunk-2QXGXAO5.js";
18
+ import "./chunk-UCAW6C6C.js";
19
+ import "./chunk-VODO7SV4.js";
20
+ import "./chunk-YFQT7PPW.js";
21
+ import "./chunk-A634GTZN.js";
22
+ import {
23
+ cleanAndMerge
24
+ } from "./chunk-UVRE3R6A.js";
25
+ import "./chunk-G3PPZWPW.js";
26
+ import {
27
+ clear,
28
+ configureSvgSize,
29
+ defaultConfig_default,
30
+ getAccDescription,
31
+ getAccTitle,
32
+ getConfig,
33
+ getDiagramTitle,
34
+ setAccDescription,
35
+ setAccTitle,
36
+ setDiagramTitle
37
+ } from "./chunk-7NZMPQDX.js";
38
+ import "./chunk-YEU62MVS.js";
39
+ import {
40
+ __name,
41
+ log
42
+ } from "./chunk-CZHJHAOR.js";
43
+ import "./chunk-DI52DQAC.js";
44
+
45
+ // ../../node_modules/.pnpm/mermaid@11.14.0/node_modules/mermaid/dist/chunks/mermaid.core/diagram-TYMM5635.mjs
46
+ var DEFAULT_PACKET_CONFIG = defaultConfig_default.packet;
47
+ var PacketDB = class {
48
+ constructor() {
49
+ this.packet = [];
50
+ this.setAccTitle = setAccTitle;
51
+ this.getAccTitle = getAccTitle;
52
+ this.setDiagramTitle = setDiagramTitle;
53
+ this.getDiagramTitle = getDiagramTitle;
54
+ this.getAccDescription = getAccDescription;
55
+ this.setAccDescription = setAccDescription;
56
+ }
57
+ static {
58
+ __name(this, "PacketDB");
59
+ }
60
+ getConfig() {
61
+ const config = cleanAndMerge({
62
+ ...DEFAULT_PACKET_CONFIG,
63
+ ...getConfig().packet
64
+ });
65
+ if (config.showBits) {
66
+ config.paddingY += 10;
67
+ }
68
+ return config;
69
+ }
70
+ getPacket() {
71
+ return this.packet;
72
+ }
73
+ pushWord(word) {
74
+ if (word.length > 0) {
75
+ this.packet.push(word);
76
+ }
77
+ }
78
+ clear() {
79
+ clear();
80
+ this.packet = [];
81
+ }
82
+ };
83
+ var maxPacketSize = 1e4;
84
+ var populate = /* @__PURE__ */ __name((ast, db) => {
85
+ populateCommonDb(ast, db);
86
+ let lastBit = -1;
87
+ let word = [];
88
+ let row = 1;
89
+ const { bitsPerRow } = db.getConfig();
90
+ for (let { start, end, bits, label } of ast.blocks) {
91
+ if (start !== void 0 && end !== void 0 && end < start) {
92
+ throw new Error(`Packet block ${start} - ${end} is invalid. End must be greater than start.`);
93
+ }
94
+ start ??= lastBit + 1;
95
+ if (start !== lastBit + 1) {
96
+ throw new Error(
97
+ `Packet block ${start} - ${end ?? start} is not contiguous. It should start from ${lastBit + 1}.`
98
+ );
99
+ }
100
+ if (bits === 0) {
101
+ throw new Error(`Packet block ${start} is invalid. Cannot have a zero bit field.`);
102
+ }
103
+ end ??= start + (bits ?? 1) - 1;
104
+ bits ??= end - start + 1;
105
+ lastBit = end;
106
+ log.debug(`Packet block ${start} - ${lastBit} with label ${label}`);
107
+ while (word.length <= bitsPerRow + 1 && db.getPacket().length < maxPacketSize) {
108
+ const [block, nextBlock] = getNextFittingBlock({ start, end, bits, label }, row, bitsPerRow);
109
+ word.push(block);
110
+ if (block.end + 1 === row * bitsPerRow) {
111
+ db.pushWord(word);
112
+ word = [];
113
+ row++;
114
+ }
115
+ if (!nextBlock) {
116
+ break;
117
+ }
118
+ ({ start, end, bits, label } = nextBlock);
119
+ }
120
+ }
121
+ db.pushWord(word);
122
+ }, "populate");
123
+ var getNextFittingBlock = /* @__PURE__ */ __name((block, row, bitsPerRow) => {
124
+ if (block.start === void 0) {
125
+ throw new Error("start should have been set during first phase");
126
+ }
127
+ if (block.end === void 0) {
128
+ throw new Error("end should have been set during first phase");
129
+ }
130
+ if (block.start > block.end) {
131
+ throw new Error(`Block start ${block.start} is greater than block end ${block.end}.`);
132
+ }
133
+ if (block.end + 1 <= row * bitsPerRow) {
134
+ return [block, void 0];
135
+ }
136
+ const rowEnd = row * bitsPerRow - 1;
137
+ const rowStart = row * bitsPerRow;
138
+ return [
139
+ {
140
+ start: block.start,
141
+ end: rowEnd,
142
+ label: block.label,
143
+ bits: rowEnd - block.start
144
+ },
145
+ {
146
+ start: rowStart,
147
+ end: block.end,
148
+ label: block.label,
149
+ bits: block.end - rowStart
150
+ }
151
+ ];
152
+ }, "getNextFittingBlock");
153
+ var parser = {
154
+ // @ts-expect-error - PacketDB is not assignable to DiagramDB
155
+ parser: { yy: void 0 },
156
+ parse: /* @__PURE__ */ __name(async (input) => {
157
+ const ast = await parse("packet", input);
158
+ const db = parser.parser?.yy;
159
+ if (!(db instanceof PacketDB)) {
160
+ throw new Error(
161
+ "parser.parser?.yy was not a PacketDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues."
162
+ );
163
+ }
164
+ log.debug(ast);
165
+ populate(ast, db);
166
+ }, "parse")
167
+ };
168
+ var draw = /* @__PURE__ */ __name((_text, id, _version, diagram2) => {
169
+ const db = diagram2.db;
170
+ const config = db.getConfig();
171
+ const { rowHeight, paddingY, bitWidth, bitsPerRow } = config;
172
+ const words = db.getPacket();
173
+ const title = db.getDiagramTitle();
174
+ const totalRowHeight = rowHeight + paddingY;
175
+ const svgHeight = totalRowHeight * (words.length + 1) - (title ? 0 : rowHeight);
176
+ const svgWidth = bitWidth * bitsPerRow + 2;
177
+ const svg = selectSvgElement(id);
178
+ svg.attr("viewBox", `0 0 ${svgWidth} ${svgHeight}`);
179
+ configureSvgSize(svg, svgHeight, svgWidth, config.useMaxWidth);
180
+ for (const [word, packet] of words.entries()) {
181
+ drawWord(svg, packet, word, config);
182
+ }
183
+ svg.append("text").text(title).attr("x", svgWidth / 2).attr("y", svgHeight - totalRowHeight / 2).attr("dominant-baseline", "middle").attr("text-anchor", "middle").attr("class", "packetTitle");
184
+ }, "draw");
185
+ var drawWord = /* @__PURE__ */ __name((svg, word, rowNumber, { rowHeight, paddingX, paddingY, bitWidth, bitsPerRow, showBits }) => {
186
+ const group = svg.append("g");
187
+ const wordY = rowNumber * (rowHeight + paddingY) + paddingY;
188
+ for (const block of word) {
189
+ const blockX = block.start % bitsPerRow * bitWidth + 1;
190
+ const width = (block.end - block.start + 1) * bitWidth - paddingX;
191
+ group.append("rect").attr("x", blockX).attr("y", wordY).attr("width", width).attr("height", rowHeight).attr("class", "packetBlock");
192
+ group.append("text").attr("x", blockX + width / 2).attr("y", wordY + rowHeight / 2).attr("class", "packetLabel").attr("dominant-baseline", "middle").attr("text-anchor", "middle").text(block.label);
193
+ if (!showBits) {
194
+ continue;
195
+ }
196
+ const isSingleBlock = block.end === block.start;
197
+ const bitNumberY = wordY - 2;
198
+ group.append("text").attr("x", blockX + (isSingleBlock ? width / 2 : 0)).attr("y", bitNumberY).attr("class", "packetByte start").attr("dominant-baseline", "auto").attr("text-anchor", isSingleBlock ? "middle" : "start").text(block.start);
199
+ if (!isSingleBlock) {
200
+ group.append("text").attr("x", blockX + width).attr("y", bitNumberY).attr("class", "packetByte end").attr("dominant-baseline", "auto").attr("text-anchor", "end").text(block.end);
201
+ }
202
+ }
203
+ }, "drawWord");
204
+ var renderer = { draw };
205
+ var defaultPacketStyleOptions = {
206
+ byteFontSize: "10px",
207
+ startByteColor: "black",
208
+ endByteColor: "black",
209
+ labelColor: "black",
210
+ labelFontSize: "12px",
211
+ titleColor: "black",
212
+ titleFontSize: "14px",
213
+ blockStrokeColor: "black",
214
+ blockStrokeWidth: "1",
215
+ blockFillColor: "#efefef"
216
+ };
217
+ var styles = /* @__PURE__ */ __name(({ packet } = {}) => {
218
+ const options = cleanAndMerge(defaultPacketStyleOptions, packet);
219
+ return `
220
+ .packetByte {
221
+ font-size: ${options.byteFontSize};
222
+ }
223
+ .packetByte.start {
224
+ fill: ${options.startByteColor};
225
+ }
226
+ .packetByte.end {
227
+ fill: ${options.endByteColor};
228
+ }
229
+ .packetLabel {
230
+ fill: ${options.labelColor};
231
+ font-size: ${options.labelFontSize};
232
+ }
233
+ .packetTitle {
234
+ fill: ${options.titleColor};
235
+ font-size: ${options.titleFontSize};
236
+ }
237
+ .packetBlock {
238
+ stroke: ${options.blockStrokeColor};
239
+ stroke-width: ${options.blockStrokeWidth};
240
+ fill: ${options.blockFillColor};
241
+ }
242
+ `;
243
+ }, "styles");
244
+ var diagram = {
245
+ parser,
246
+ get db() {
247
+ return new PacketDB();
248
+ },
249
+ renderer,
250
+ styles
251
+ };
252
+ export {
253
+ diagram
254
+ };
255
+ //# sourceMappingURL=diagram-TYMM5635-MMTUJ4KA.js.map