local-operator-ui 0.12.7 → 0.13.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 (143) hide show
  1. package/out/main/index.jsc +0 -0
  2. package/out/preload/index.jsc +0 -0
  3. package/out/renderer/assets/_basePickBy-Dt8NA_1A.js +1 -0
  4. package/out/renderer/assets/_baseUniq-Dfn2rCfr.js +1 -0
  5. package/out/renderer/assets/agent-details-page-CJJgDqdX.js +6 -0
  6. package/out/renderer/assets/agent-hub-page-CznUZD2f.js +11 -0
  7. package/out/renderer/assets/agents-page-COdPTFYp.js +18 -0
  8. package/out/renderer/assets/arc-C1_J1TYO.js +1 -0
  9. package/out/renderer/assets/architectureDiagram-IEHRJDOE-p5UIRlv1.js +36 -0
  10. package/out/renderer/assets/asn1-EdZsLKOL.js +1 -0
  11. package/out/renderer/assets/band-CquvqAHh.js +1 -0
  12. package/out/renderer/assets/blockDiagram-JOT3LUYC-Dk6LFvtm.js +121 -0
  13. package/out/renderer/assets/c4Diagram-VJAJSXHY-C0Hp8OKf.js +10 -0
  14. package/out/renderer/assets/channel-BqUr4Qsu.js +1 -0
  15. package/out/renderer/assets/chunk-4BMEZGHF-CV1FNkGZ.js +1 -0
  16. package/out/renderer/assets/chunk-A2AXSNBT-Co_5OkmZ.js +164 -0
  17. package/out/renderer/assets/chunk-AEK57VVT-Bu3wjBen.js +220 -0
  18. package/out/renderer/assets/chunk-D6G4REZN-BvFphnUv.js +1 -0
  19. package/out/renderer/assets/chunk-RZ5BOZE2-DBIcRvVx.js +1 -0
  20. package/out/renderer/assets/chunk-XZIHB7SX-DjSBj758.js +1 -0
  21. package/out/renderer/assets/classDiagram-GIVACNV2-DyZfTBa4.js +1 -0
  22. package/out/renderer/assets/classDiagram-v2-COTLJTTW-DyZfTBa4.js +1 -0
  23. package/out/renderer/assets/clojure-BMjYHr_A.js +1 -0
  24. package/out/renderer/assets/clone-hR8g0-gq.js +1 -0
  25. package/out/renderer/assets/css-BnMrqG3P.js +1 -0
  26. package/out/renderer/assets/cytoscape.esm-DHvQc-Lm.js +331 -0
  27. package/out/renderer/assets/dagre-OKDRZEBW-DbOc711m.js +4 -0
  28. package/out/renderer/assets/diagram-SSKATNLV-YLnBMg9L.js +43 -0
  29. package/out/renderer/assets/diagram-VNBRO52H-DHzPX2Ws.js +24 -0
  30. package/out/renderer/assets/erDiagram-Q7BY3M3F-CxFuapOs.js +60 -0
  31. package/out/renderer/assets/flowDiagram-4HSFHLVR-D5vc3yns.js +161 -0
  32. package/out/renderer/assets/ganttDiagram-APWFNJXF-ejBZIm6I.js +257 -0
  33. package/out/renderer/assets/gitGraphDiagram-7IBYFJ6S-6m7tU_G2.js +65 -0
  34. package/out/renderer/assets/graph-DIHt6FPP.js +1 -0
  35. package/out/renderer/assets/icon-CTN1YQYZ.js +195 -0
  36. package/out/renderer/assets/icon-nCvgDdVX.css +1 -0
  37. package/out/renderer/assets/index-BpRBp6-j.js +7 -0
  38. package/out/renderer/assets/index-BweSWC55.js +1 -0
  39. package/out/renderer/assets/index-CLHdxmCS.js +1272 -0
  40. package/out/renderer/assets/index-DikLkf3S.css +1 -0
  41. package/out/renderer/assets/infoDiagram-PH2N3AL5-D1KBOewb.js +2 -0
  42. package/out/renderer/assets/init-Dmth1JHB.js +1 -0
  43. package/out/renderer/assets/installer-T4sGv29U.js +16 -0
  44. package/out/renderer/assets/javascript-qCveANmP.js +1 -0
  45. package/out/renderer/assets/journeyDiagram-U35MCT3I-DsqwRdF3.js +138 -0
  46. package/out/renderer/assets/kanban-definition-NDS4AKOZ-BQvBdP_9.js +88 -0
  47. package/out/renderer/assets/katex-BCx1q_2Y.css +1 -0
  48. package/out/renderer/assets/layout-C7qoUpVb.js +1 -0
  49. package/out/renderer/assets/linear-BfLTrHPc.js +1 -0
  50. package/out/renderer/assets/mermaid.core-CyfNZ-Rl.js +213 -0
  51. package/out/renderer/assets/mindmap-definition-ALO5MXBD-CTSdCgh1.js +95 -0
  52. package/out/renderer/assets/mllike-CXdrOF99.js +1 -0
  53. package/out/renderer/assets/ordinal-DILIJJjt.js +1 -0
  54. package/out/renderer/assets/page-header-CNXeqkJB.js +1 -0
  55. package/out/renderer/assets/parseISO-CyJpeshf.js +6 -0
  56. package/out/renderer/assets/pieDiagram-IB7DONF6-CeYuFnxD.js +30 -0
  57. package/out/renderer/assets/pug-DukmZTjD.js +1 -0
  58. package/out/renderer/assets/python-BuPzkPfP.js +1 -0
  59. package/out/renderer/assets/quadrantDiagram-7GDLP6J5-urCUNLvr.js +7 -0
  60. package/out/renderer/assets/radar-MK3ICKWK-D0m91kg2.js +128 -0
  61. package/out/renderer/assets/requirementDiagram-KVF5MWMF-7WDiFe7C.js +64 -0
  62. package/out/renderer/assets/rpm-CTu-6PCP.js +1 -0
  63. package/out/renderer/assets/sankeyDiagram-QLVOVGJD-BvCTETAk.js +10 -0
  64. package/out/renderer/assets/schedules-page-B2sb5H0L.js +115 -0
  65. package/out/renderer/assets/sequenceDiagram-X6HHIX6F-DGlKyLMu.js +122 -0
  66. package/out/renderer/assets/settings-page-DnOXVx9n.js +154 -0
  67. package/out/renderer/assets/settings-section-CBkMzMRA.js +6 -0
  68. package/out/renderer/assets/sql-D0XecflT.js +1 -0
  69. package/out/renderer/assets/square-pen-C9ah35lX.js +6 -0
  70. package/out/renderer/assets/stateDiagram-DGXRK772-BY_eMRWs.js +1 -0
  71. package/out/renderer/assets/stateDiagram-v2-YXO3MK2T-DecHc3j6.js +1 -0
  72. package/out/renderer/assets/step-DMJAOHzS.js +1 -0
  73. package/out/renderer/assets/time-BOTM2Tp0.js +1 -0
  74. package/out/renderer/assets/timeline-definition-BDJGKUSR-9Ezq9kKH.js +61 -0
  75. package/out/renderer/assets/ttcn-cfg-B9xdYoR4.js +1 -0
  76. package/out/renderer/assets/use-agent-like-mutation-BYo-fu7V.js +1 -0
  77. package/out/renderer/assets/xychartDiagram-VJFVF3MP-O2pD61nn.js +7 -0
  78. package/out/renderer/index.html +4 -4
  79. package/out/renderer/installer.html +3 -3
  80. package/package.json +50 -22
  81. package/out/renderer/assets/GeistMonoNerdFontMono-Black-CPyfXpD2.otf +0 -0
  82. package/out/renderer/assets/GeistMonoNerdFontMono-Light-CRgGhpeL.otf +0 -0
  83. package/out/renderer/assets/GeistMonoNerdFontMono-Medium-Dui3XGJy.otf +0 -0
  84. package/out/renderer/assets/GeistMonoNerdFontMono-Thin-D5jufbuH.otf +0 -0
  85. package/out/renderer/assets/GeistMonoNerdFontMono-UltraBlack-CChzVbOW.otf +0 -0
  86. package/out/renderer/assets/_basePickBy-Xni00Dlk.js +0 -195
  87. package/out/renderer/assets/_baseUniq-JxZZknyU.js +0 -835
  88. package/out/renderer/assets/arc-BPRFPuHz.js +0 -131
  89. package/out/renderer/assets/architectureDiagram-IEHRJDOE-iKnn0iSS.js +0 -8653
  90. package/out/renderer/assets/asn1-BnOEsgAm.js +0 -144
  91. package/out/renderer/assets/blockDiagram-JOT3LUYC-BW-Yo0Fe.js +0 -3585
  92. package/out/renderer/assets/c4Diagram-VJAJSXHY-cTGz3ymz.js +0 -2487
  93. package/out/renderer/assets/channel-CsQk5gsI.js +0 -7
  94. package/out/renderer/assets/chunk-4BMEZGHF-DjpLWrPj.js +0 -16
  95. package/out/renderer/assets/chunk-A2AXSNBT-Blza621e.js +0 -1827
  96. package/out/renderer/assets/chunk-AEK57VVT-ZmlsDCZe.js +0 -1953
  97. package/out/renderer/assets/chunk-D6G4REZN-C7msyVje.js +0 -108
  98. package/out/renderer/assets/chunk-RZ5BOZE2-CWvJQJJl.js +0 -34
  99. package/out/renderer/assets/chunk-XZIHB7SX-C-gdVJBt.js +0 -19
  100. package/out/renderer/assets/classDiagram-GIVACNV2-BcRnaMRd.js +0 -21
  101. package/out/renderer/assets/classDiagram-v2-COTLJTTW-BcRnaMRd.js +0 -21
  102. package/out/renderer/assets/clear-icon-with-text-Cu96UxOE.png +0 -0
  103. package/out/renderer/assets/clojure-BhXMqnxz.js +0 -849
  104. package/out/renderer/assets/clone-3XFGex6Y.js +0 -8
  105. package/out/renderer/assets/css-c-jst79C.js +0 -1783
  106. package/out/renderer/assets/cytoscape.esm-C0AOj4uS.js +0 -30062
  107. package/out/renderer/assets/dagre-OKDRZEBW-BMuSMCUF.js +0 -695
  108. package/out/renderer/assets/diagram-SSKATNLV-BCxxN7T6.js +0 -304
  109. package/out/renderer/assets/diagram-VNBRO52H-q41sVUvc.js +0 -193
  110. package/out/renderer/assets/erDiagram-Q7BY3M3F-BFd2rLsa.js +0 -1160
  111. package/out/renderer/assets/flowDiagram-4HSFHLVR-_Arrrk_3.js +0 -2324
  112. package/out/renderer/assets/fonts-CM-VN_uu.css +0 -64
  113. package/out/renderer/assets/fonts-DqkQ6BY5.js +0 -31168
  114. package/out/renderer/assets/ganttDiagram-APWFNJXF-Dzw68AV_.js +0 -2500
  115. package/out/renderer/assets/gitGraphDiagram-7IBYFJ6S-BlkO8Bzg.js +0 -1204
  116. package/out/renderer/assets/graph-DL-34vhw.js +0 -424
  117. package/out/renderer/assets/index-BDLsFoJv.js +0 -312
  118. package/out/renderer/assets/index-CiPFa_9B.css +0 -10
  119. package/out/renderer/assets/index-MaDq9HTX.js +0 -365078
  120. package/out/renderer/assets/index-vAasWWpO.js +0 -406
  121. package/out/renderer/assets/infoDiagram-PH2N3AL5-DO4pqvW_.js +0 -33
  122. package/out/renderer/assets/installer-Ct30gPA9.js +0 -511
  123. package/out/renderer/assets/javascript-C3MnDRiU.js +0 -994
  124. package/out/renderer/assets/journeyDiagram-U35MCT3I-BJQ-FRal.js +0 -1199
  125. package/out/renderer/assets/kanban-definition-NDS4AKOZ-B1zGbozL.js +0 -1046
  126. package/out/renderer/assets/layout-BrQGvDtH.js +0 -2060
  127. package/out/renderer/assets/mindmap-definition-ALO5MXBD-B5SNv6RZ.js +0 -5836
  128. package/out/renderer/assets/mllike-DHn7xckP.js +0 -334
  129. package/out/renderer/assets/pieDiagram-IB7DONF6-DKT0Bk2S.js +0 -239
  130. package/out/renderer/assets/pug-By0kVCfm.js +0 -405
  131. package/out/renderer/assets/python-CvWbmiX4.js +0 -427
  132. package/out/renderer/assets/quadrantDiagram-7GDLP6J5-CFMDiFFE.js +0 -1340
  133. package/out/renderer/assets/radar-MK3ICKWK-DwsnroMG.js +0 -16935
  134. package/out/renderer/assets/requirementDiagram-KVF5MWMF-DPTaldQZ.js +0 -1163
  135. package/out/renderer/assets/rpm-C-DLY-If.js +0 -109
  136. package/out/renderer/assets/sankeyDiagram-QLVOVGJD-DIFNjSQ_.js +0 -1201
  137. package/out/renderer/assets/sequenceDiagram-X6HHIX6F-Chi1Y6mU.js +0 -3415
  138. package/out/renderer/assets/sql-BSrOzCRI.js +0 -354
  139. package/out/renderer/assets/stateDiagram-DGXRK772-DcmhTUVK.js +0 -467
  140. package/out/renderer/assets/stateDiagram-v2-YXO3MK2T-Dy-oRm-T.js +0 -21
  141. package/out/renderer/assets/timeline-definition-BDJGKUSR-0y2wZWef.js +0 -1223
  142. package/out/renderer/assets/ttcn-cfg-Dc39-fIP.js +0 -133
  143. package/out/renderer/assets/xychartDiagram-VJFVF3MP-Bbr5uqsp.js +0 -1800
@@ -1,304 +0,0 @@
1
- import { p as populateCommonDb } from "./chunk-4BMEZGHF-DjpLWrPj.js";
2
- import { _ as __name, s as setAccDescription, g as getAccDescription, t as getDiagramTitle, q as setDiagramTitle, a as getAccTitle, b as setAccTitle, K as selectSvgElement, z as clear, F as cleanAndMerge, G as getConfig, H as defaultConfig_default, l as log, a1 as getThemeVariables3 } from "./index-MaDq9HTX.js";
3
- import { p as parse } from "./radar-MK3ICKWK-DwsnroMG.js";
4
- import "./fonts-DqkQ6BY5.js";
5
- import "./_baseUniq-JxZZknyU.js";
6
- import "./_basePickBy-Xni00Dlk.js";
7
- import "./clone-3XFGex6Y.js";
8
- var defaultOptions = {
9
- showLegend: true,
10
- ticks: 5,
11
- max: null,
12
- min: 0,
13
- graticule: "circle"
14
- };
15
- var defaultRadarData = {
16
- axes: [],
17
- curves: [],
18
- options: defaultOptions
19
- };
20
- var data = structuredClone(defaultRadarData);
21
- var DEFAULT_RADAR_CONFIG = defaultConfig_default.radar;
22
- var getConfig2 = /* @__PURE__ */ __name(() => {
23
- const config = cleanAndMerge({
24
- ...DEFAULT_RADAR_CONFIG,
25
- ...getConfig().radar
26
- });
27
- return config;
28
- }, "getConfig");
29
- var getAxes = /* @__PURE__ */ __name(() => data.axes, "getAxes");
30
- var getCurves = /* @__PURE__ */ __name(() => data.curves, "getCurves");
31
- var getOptions = /* @__PURE__ */ __name(() => data.options, "getOptions");
32
- var setAxes = /* @__PURE__ */ __name((axes) => {
33
- data.axes = axes.map((axis) => {
34
- return {
35
- name: axis.name,
36
- label: axis.label ?? axis.name
37
- };
38
- });
39
- }, "setAxes");
40
- var setCurves = /* @__PURE__ */ __name((curves) => {
41
- data.curves = curves.map((curve) => {
42
- return {
43
- name: curve.name,
44
- label: curve.label ?? curve.name,
45
- entries: computeCurveEntries(curve.entries)
46
- };
47
- });
48
- }, "setCurves");
49
- var computeCurveEntries = /* @__PURE__ */ __name((entries) => {
50
- if (entries[0].axis == void 0) {
51
- return entries.map((entry) => entry.value);
52
- }
53
- const axes = getAxes();
54
- if (axes.length === 0) {
55
- throw new Error("Axes must be populated before curves for reference entries");
56
- }
57
- return axes.map((axis) => {
58
- const entry = entries.find((entry2) => entry2.axis?.$refText === axis.name);
59
- if (entry === void 0) {
60
- throw new Error("Missing entry for axis " + axis.label);
61
- }
62
- return entry.value;
63
- });
64
- }, "computeCurveEntries");
65
- var setOptions = /* @__PURE__ */ __name((options) => {
66
- const optionMap = options.reduce(
67
- (acc, option) => {
68
- acc[option.name] = option;
69
- return acc;
70
- },
71
- {}
72
- );
73
- data.options = {
74
- showLegend: optionMap.showLegend?.value ?? defaultOptions.showLegend,
75
- ticks: optionMap.ticks?.value ?? defaultOptions.ticks,
76
- max: optionMap.max?.value ?? defaultOptions.max,
77
- min: optionMap.min?.value ?? defaultOptions.min,
78
- graticule: optionMap.graticule?.value ?? defaultOptions.graticule
79
- };
80
- }, "setOptions");
81
- var clear2 = /* @__PURE__ */ __name(() => {
82
- clear();
83
- data = structuredClone(defaultRadarData);
84
- }, "clear");
85
- var db = {
86
- getAxes,
87
- getCurves,
88
- getOptions,
89
- setAxes,
90
- setCurves,
91
- setOptions,
92
- getConfig: getConfig2,
93
- clear: clear2,
94
- setAccTitle,
95
- getAccTitle,
96
- setDiagramTitle,
97
- getDiagramTitle,
98
- getAccDescription,
99
- setAccDescription
100
- };
101
- var populate = /* @__PURE__ */ __name((ast) => {
102
- populateCommonDb(ast, db);
103
- const { axes, curves, options } = ast;
104
- db.setAxes(axes);
105
- db.setCurves(curves);
106
- db.setOptions(options);
107
- }, "populate");
108
- var parser = {
109
- parse: /* @__PURE__ */ __name(async (input) => {
110
- const ast = await parse("radar", input);
111
- log.debug(ast);
112
- populate(ast);
113
- }, "parse")
114
- };
115
- var draw = /* @__PURE__ */ __name((_text, id, _version, diagram2) => {
116
- const db2 = diagram2.db;
117
- const axes = db2.getAxes();
118
- const curves = db2.getCurves();
119
- const options = db2.getOptions();
120
- const config = db2.getConfig();
121
- const title = db2.getDiagramTitle();
122
- const svg = selectSvgElement(id);
123
- const g = drawFrame(svg, config);
124
- const maxValue = options.max ?? Math.max(...curves.map((curve) => Math.max(...curve.entries)));
125
- const minValue = options.min;
126
- const radius = Math.min(config.width, config.height) / 2;
127
- drawGraticule(g, axes, radius, options.ticks, options.graticule);
128
- drawAxes(g, axes, radius, config);
129
- drawCurves(g, axes, curves, minValue, maxValue, options.graticule, config);
130
- drawLegend(g, curves, options.showLegend, config);
131
- g.append("text").attr("class", "radarTitle").text(title).attr("x", 0).attr("y", -config.height / 2 - config.marginTop);
132
- }, "draw");
133
- var drawFrame = /* @__PURE__ */ __name((svg, config) => {
134
- const totalWidth = config.width + config.marginLeft + config.marginRight;
135
- const totalHeight = config.height + config.marginTop + config.marginBottom;
136
- const center = {
137
- x: config.marginLeft + config.width / 2,
138
- y: config.marginTop + config.height / 2
139
- };
140
- svg.attr("viewbox", `0 0 ${totalWidth} ${totalHeight}`).attr("width", totalWidth).attr("height", totalHeight);
141
- return svg.append("g").attr("transform", `translate(${center.x}, ${center.y})`);
142
- }, "drawFrame");
143
- var drawGraticule = /* @__PURE__ */ __name((g, axes, radius, ticks, graticule) => {
144
- if (graticule === "circle") {
145
- for (let i = 0; i < ticks; i++) {
146
- const r = radius * (i + 1) / ticks;
147
- g.append("circle").attr("r", r).attr("class", "radarGraticule");
148
- }
149
- } else if (graticule === "polygon") {
150
- const numAxes = axes.length;
151
- for (let i = 0; i < ticks; i++) {
152
- const r = radius * (i + 1) / ticks;
153
- const points = axes.map((_, j) => {
154
- const angle = 2 * j * Math.PI / numAxes - Math.PI / 2;
155
- const x = r * Math.cos(angle);
156
- const y = r * Math.sin(angle);
157
- return `${x},${y}`;
158
- }).join(" ");
159
- g.append("polygon").attr("points", points).attr("class", "radarGraticule");
160
- }
161
- }
162
- }, "drawGraticule");
163
- var drawAxes = /* @__PURE__ */ __name((g, axes, radius, config) => {
164
- const numAxes = axes.length;
165
- for (let i = 0; i < numAxes; i++) {
166
- const label = axes[i].label;
167
- const angle = 2 * i * Math.PI / numAxes - Math.PI / 2;
168
- 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");
169
- g.append("text").text(label).attr("x", radius * config.axisLabelFactor * Math.cos(angle)).attr("y", radius * config.axisLabelFactor * Math.sin(angle)).attr("class", "radarAxisLabel");
170
- }
171
- }, "drawAxes");
172
- function drawCurves(g, axes, curves, minValue, maxValue, graticule, config) {
173
- const numAxes = axes.length;
174
- const radius = Math.min(config.width, config.height) / 2;
175
- curves.forEach((curve, index) => {
176
- if (curve.entries.length !== numAxes) {
177
- return;
178
- }
179
- const points = curve.entries.map((entry, i) => {
180
- const angle = 2 * Math.PI * i / numAxes - Math.PI / 2;
181
- const r = relativeRadius(entry, minValue, maxValue, radius);
182
- const x = r * Math.cos(angle);
183
- const y = r * Math.sin(angle);
184
- return { x, y };
185
- });
186
- if (graticule === "circle") {
187
- g.append("path").attr("d", closedRoundCurve(points, config.curveTension)).attr("class", `radarCurve-${index}`);
188
- } else if (graticule === "polygon") {
189
- g.append("polygon").attr("points", points.map((p) => `${p.x},${p.y}`).join(" ")).attr("class", `radarCurve-${index}`);
190
- }
191
- });
192
- }
193
- __name(drawCurves, "drawCurves");
194
- function relativeRadius(value, minValue, maxValue, radius) {
195
- const clippedValue = Math.min(Math.max(value, minValue), maxValue);
196
- return radius * (clippedValue - minValue) / (maxValue - minValue);
197
- }
198
- __name(relativeRadius, "relativeRadius");
199
- function closedRoundCurve(points, tension) {
200
- const numPoints = points.length;
201
- let d = `M${points[0].x},${points[0].y}`;
202
- for (let i = 0; i < numPoints; i++) {
203
- const p0 = points[(i - 1 + numPoints) % numPoints];
204
- const p1 = points[i];
205
- const p2 = points[(i + 1) % numPoints];
206
- const p3 = points[(i + 2) % numPoints];
207
- const cp1 = {
208
- x: p1.x + (p2.x - p0.x) * tension,
209
- y: p1.y + (p2.y - p0.y) * tension
210
- };
211
- const cp2 = {
212
- x: p2.x - (p3.x - p1.x) * tension,
213
- y: p2.y - (p3.y - p1.y) * tension
214
- };
215
- d += ` C${cp1.x},${cp1.y} ${cp2.x},${cp2.y} ${p2.x},${p2.y}`;
216
- }
217
- return `${d} Z`;
218
- }
219
- __name(closedRoundCurve, "closedRoundCurve");
220
- function drawLegend(g, curves, showLegend, config) {
221
- if (!showLegend) {
222
- return;
223
- }
224
- const legendX = (config.width / 2 + config.marginRight) * 3 / 4;
225
- const legendY = -(config.height / 2 + config.marginTop) * 3 / 4;
226
- const lineHeight = 20;
227
- curves.forEach((curve, index) => {
228
- const itemGroup = g.append("g").attr("transform", `translate(${legendX}, ${legendY + index * lineHeight})`);
229
- itemGroup.append("rect").attr("width", 12).attr("height", 12).attr("class", `radarLegendBox-${index}`);
230
- itemGroup.append("text").attr("x", 16).attr("y", 0).attr("class", "radarLegendText").text(curve.label);
231
- });
232
- }
233
- __name(drawLegend, "drawLegend");
234
- var renderer = { draw };
235
- var genIndexStyles = /* @__PURE__ */ __name((themeVariables, radarOptions) => {
236
- let sections = "";
237
- for (let i = 0; i < themeVariables.THEME_COLOR_LIMIT; i++) {
238
- const indexColor = themeVariables[`cScale${i}`];
239
- sections += `
240
- .radarCurve-${i} {
241
- color: ${indexColor};
242
- fill: ${indexColor};
243
- fill-opacity: ${radarOptions.curveOpacity};
244
- stroke: ${indexColor};
245
- stroke-width: ${radarOptions.curveStrokeWidth};
246
- }
247
- .radarLegendBox-${i} {
248
- fill: ${indexColor};
249
- fill-opacity: ${radarOptions.curveOpacity};
250
- stroke: ${indexColor};
251
- }
252
- `;
253
- }
254
- return sections;
255
- }, "genIndexStyles");
256
- var buildRadarStyleOptions = /* @__PURE__ */ __name((radar) => {
257
- const defaultThemeVariables = getThemeVariables3();
258
- const currentConfig = getConfig();
259
- const themeVariables = cleanAndMerge(defaultThemeVariables, currentConfig.themeVariables);
260
- const radarOptions = cleanAndMerge(themeVariables.radar, radar);
261
- return { themeVariables, radarOptions };
262
- }, "buildRadarStyleOptions");
263
- var styles = /* @__PURE__ */ __name(({ radar } = {}) => {
264
- const { themeVariables, radarOptions } = buildRadarStyleOptions(radar);
265
- return `
266
- .radarTitle {
267
- font-size: ${themeVariables.fontSize};
268
- color: ${themeVariables.titleColor};
269
- dominant-baseline: hanging;
270
- text-anchor: middle;
271
- }
272
- .radarAxisLine {
273
- stroke: ${radarOptions.axisColor};
274
- stroke-width: ${radarOptions.axisStrokeWidth};
275
- }
276
- .radarAxisLabel {
277
- dominant-baseline: middle;
278
- text-anchor: middle;
279
- font-size: ${radarOptions.axisLabelFontSize}px;
280
- color: ${radarOptions.axisColor};
281
- }
282
- .radarGraticule {
283
- fill: ${radarOptions.graticuleColor};
284
- fill-opacity: ${radarOptions.graticuleOpacity};
285
- stroke: ${radarOptions.graticuleColor};
286
- stroke-width: ${radarOptions.graticuleStrokeWidth};
287
- }
288
- .radarLegendText {
289
- text-anchor: start;
290
- font-size: ${radarOptions.legendFontSize}px;
291
- dominant-baseline: hanging;
292
- }
293
- ${genIndexStyles(themeVariables, radarOptions)}
294
- `;
295
- }, "styles");
296
- var diagram = {
297
- parser,
298
- db,
299
- renderer,
300
- styles
301
- };
302
- export {
303
- diagram
304
- };
@@ -1,193 +0,0 @@
1
- import { p as populateCommonDb } from "./chunk-4BMEZGHF-DjpLWrPj.js";
2
- import { _ as __name, s as setAccDescription, g as getAccDescription, t as getDiagramTitle, q as setDiagramTitle, a as getAccTitle, b as setAccTitle, F as cleanAndMerge, K as selectSvgElement, e as configureSvgSize, z as clear, G as getConfig, H as defaultConfig_default, l as log } from "./index-MaDq9HTX.js";
3
- import { p as parse } from "./radar-MK3ICKWK-DwsnroMG.js";
4
- import "./fonts-DqkQ6BY5.js";
5
- import "./_baseUniq-JxZZknyU.js";
6
- import "./_basePickBy-Xni00Dlk.js";
7
- import "./clone-3XFGex6Y.js";
8
- var defaultPacketData = {
9
- packet: []
10
- };
11
- var data = structuredClone(defaultPacketData);
12
- var DEFAULT_PACKET_CONFIG = defaultConfig_default.packet;
13
- var getConfig2 = /* @__PURE__ */ __name(() => {
14
- const config = cleanAndMerge({
15
- ...DEFAULT_PACKET_CONFIG,
16
- ...getConfig().packet
17
- });
18
- if (config.showBits) {
19
- config.paddingY += 10;
20
- }
21
- return config;
22
- }, "getConfig");
23
- var getPacket = /* @__PURE__ */ __name(() => data.packet, "getPacket");
24
- var pushWord = /* @__PURE__ */ __name((word) => {
25
- if (word.length > 0) {
26
- data.packet.push(word);
27
- }
28
- }, "pushWord");
29
- var clear2 = /* @__PURE__ */ __name(() => {
30
- clear();
31
- data = structuredClone(defaultPacketData);
32
- }, "clear");
33
- var db = {
34
- pushWord,
35
- getPacket,
36
- getConfig: getConfig2,
37
- clear: clear2,
38
- setAccTitle,
39
- getAccTitle,
40
- setDiagramTitle,
41
- getDiagramTitle,
42
- getAccDescription,
43
- setAccDescription
44
- };
45
- var maxPacketSize = 1e4;
46
- var populate = /* @__PURE__ */ __name((ast) => {
47
- populateCommonDb(ast, db);
48
- let lastByte = -1;
49
- let word = [];
50
- let row = 1;
51
- const { bitsPerRow } = db.getConfig();
52
- for (let { start, end, label } of ast.blocks) {
53
- if (end && end < start) {
54
- throw new Error(`Packet block ${start} - ${end} is invalid. End must be greater than start.`);
55
- }
56
- if (start !== lastByte + 1) {
57
- throw new Error(
58
- `Packet block ${start} - ${end ?? start} is not contiguous. It should start from ${lastByte + 1}.`
59
- );
60
- }
61
- lastByte = end ?? start;
62
- log.debug(`Packet block ${start} - ${lastByte} with label ${label}`);
63
- while (word.length <= bitsPerRow + 1 && db.getPacket().length < maxPacketSize) {
64
- const [block, nextBlock] = getNextFittingBlock({ start, end, label }, row, bitsPerRow);
65
- word.push(block);
66
- if (block.end + 1 === row * bitsPerRow) {
67
- db.pushWord(word);
68
- word = [];
69
- row++;
70
- }
71
- if (!nextBlock) {
72
- break;
73
- }
74
- ({ start, end, label } = nextBlock);
75
- }
76
- }
77
- db.pushWord(word);
78
- }, "populate");
79
- var getNextFittingBlock = /* @__PURE__ */ __name((block, row, bitsPerRow) => {
80
- if (block.end === void 0) {
81
- block.end = block.start;
82
- }
83
- if (block.start > block.end) {
84
- throw new Error(`Block start ${block.start} is greater than block end ${block.end}.`);
85
- }
86
- if (block.end + 1 <= row * bitsPerRow) {
87
- return [block, void 0];
88
- }
89
- return [
90
- {
91
- start: block.start,
92
- end: row * bitsPerRow - 1,
93
- label: block.label
94
- },
95
- {
96
- start: row * bitsPerRow,
97
- end: block.end,
98
- label: block.label
99
- }
100
- ];
101
- }, "getNextFittingBlock");
102
- var parser = {
103
- parse: /* @__PURE__ */ __name(async (input) => {
104
- const ast = await parse("packet", input);
105
- log.debug(ast);
106
- populate(ast);
107
- }, "parse")
108
- };
109
- var draw = /* @__PURE__ */ __name((_text, id, _version, diagram2) => {
110
- const db2 = diagram2.db;
111
- const config = db2.getConfig();
112
- const { rowHeight, paddingY, bitWidth, bitsPerRow } = config;
113
- const words = db2.getPacket();
114
- const title = db2.getDiagramTitle();
115
- const totalRowHeight = rowHeight + paddingY;
116
- const svgHeight = totalRowHeight * (words.length + 1) - (title ? 0 : rowHeight);
117
- const svgWidth = bitWidth * bitsPerRow + 2;
118
- const svg = selectSvgElement(id);
119
- svg.attr("viewbox", `0 0 ${svgWidth} ${svgHeight}`);
120
- configureSvgSize(svg, svgHeight, svgWidth, config.useMaxWidth);
121
- for (const [word, packet] of words.entries()) {
122
- drawWord(svg, packet, word, config);
123
- }
124
- 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");
125
- }, "draw");
126
- var drawWord = /* @__PURE__ */ __name((svg, word, rowNumber, { rowHeight, paddingX, paddingY, bitWidth, bitsPerRow, showBits }) => {
127
- const group = svg.append("g");
128
- const wordY = rowNumber * (rowHeight + paddingY) + paddingY;
129
- for (const block of word) {
130
- const blockX = block.start % bitsPerRow * bitWidth + 1;
131
- const width = (block.end - block.start + 1) * bitWidth - paddingX;
132
- group.append("rect").attr("x", blockX).attr("y", wordY).attr("width", width).attr("height", rowHeight).attr("class", "packetBlock");
133
- 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);
134
- if (!showBits) {
135
- continue;
136
- }
137
- const isSingleBlock = block.end === block.start;
138
- const bitNumberY = wordY - 2;
139
- 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);
140
- if (!isSingleBlock) {
141
- 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);
142
- }
143
- }
144
- }, "drawWord");
145
- var renderer = { draw };
146
- var defaultPacketStyleOptions = {
147
- byteFontSize: "10px",
148
- startByteColor: "black",
149
- endByteColor: "black",
150
- labelColor: "black",
151
- labelFontSize: "12px",
152
- titleColor: "black",
153
- titleFontSize: "14px",
154
- blockStrokeColor: "black",
155
- blockStrokeWidth: "1",
156
- blockFillColor: "#efefef"
157
- };
158
- var styles = /* @__PURE__ */ __name(({ packet } = {}) => {
159
- const options = cleanAndMerge(defaultPacketStyleOptions, packet);
160
- return `
161
- .packetByte {
162
- font-size: ${options.byteFontSize};
163
- }
164
- .packetByte.start {
165
- fill: ${options.startByteColor};
166
- }
167
- .packetByte.end {
168
- fill: ${options.endByteColor};
169
- }
170
- .packetLabel {
171
- fill: ${options.labelColor};
172
- font-size: ${options.labelFontSize};
173
- }
174
- .packetTitle {
175
- fill: ${options.titleColor};
176
- font-size: ${options.titleFontSize};
177
- }
178
- .packetBlock {
179
- stroke: ${options.blockStrokeColor};
180
- stroke-width: ${options.blockStrokeWidth};
181
- fill: ${options.blockFillColor};
182
- }
183
- `;
184
- }, "styles");
185
- var diagram = {
186
- parser,
187
- db,
188
- renderer,
189
- styles
190
- };
191
- export {
192
- diagram
193
- };