@infinilabs/ai-chat 0.0.1 → 0.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +10 -1
- package/dist/{_baseUniq-BQcAhV7E.js → _baseUniq-C6eXDRdi.js} +1 -1
- package/dist/_baseUniq-VBKGmFNZ.cjs +151 -0
- package/dist/arc-C_pZjUl4.cjs +130 -0
- package/dist/{arc-2jwvQ2TN.js → arc-D1VL3r-o.js} +1 -1
- package/dist/architecture-U656AL7Q-BF5SEVYt.cjs +5 -0
- package/dist/{architecture-U656AL7Q-WuSilpZW.js → architecture-U656AL7Q-BU8DDug4.js} +1 -1
- package/dist/{architectureDiagram-VXUJARFQ-D6SKNy5z.js → architectureDiagram-VXUJARFQ-BD3g0-L9.js} +3 -3
- package/dist/architectureDiagram-VXUJARFQ-DjBxfJaD.cjs +8681 -0
- package/dist/blockDiagram-VD42YOAC-B2f1rMqq.cjs +3606 -0
- package/dist/{blockDiagram-VD42YOAC-Ct2DD8jj.js → blockDiagram-VD42YOAC-Dco6f43O.js} +5 -5
- package/dist/c4Diagram-YG6GDRKO-DNqNYnPR.cjs +2481 -0
- package/dist/{c4Diagram-YG6GDRKO-B7wBU4mz.js → c4Diagram-YG6GDRKO-DaatwWsP.js} +2 -2
- package/dist/channel-CqaWpJup.cjs +6 -0
- package/dist/{channel-BRREX19f.js → channel-DHoS2D4-.js} +1 -1
- package/dist/{chunk-4BX2VUAB-BnghU1_v.js → chunk-4BX2VUAB-CJqHiK4X.js} +1 -1
- package/dist/chunk-4BX2VUAB-DN2yOkoW.cjs +15 -0
- package/dist/chunk-55IACEB6-BdkCWkvA.cjs +12 -0
- package/dist/{chunk-55IACEB6-Dduk-DEL.js → chunk-55IACEB6-C6ly5iWy.js} +1 -1
- package/dist/{chunk-B4BG7PRW-DeHw-z-x.js → chunk-B4BG7PRW--1XVDmjR.js} +4 -4
- package/dist/chunk-B4BG7PRW-CyVGILSL.cjs +1825 -0
- package/dist/{chunk-DI55MBZ5-GTHMAr0M.js → chunk-DI55MBZ5-CdspH0FP.js} +3 -3
- package/dist/chunk-DI55MBZ5-zfT0HzuJ.cjs +1914 -0
- package/dist/chunk-FMBD7UC4-B1XNgXxo.cjs +18 -0
- package/dist/{chunk-FMBD7UC4-Bchh4_3W.js → chunk-FMBD7UC4-DwJ0I9NE.js} +1 -1
- package/dist/chunk-QN33PNHL-BkRCfP3-.cjs +23 -0
- package/dist/{chunk-QN33PNHL-H6S-NYp0.js → chunk-QN33PNHL-ToZ1oMAx.js} +1 -1
- package/dist/chunk-QZHKN3VN-Bl6qG9aO.cjs +16 -0
- package/dist/{chunk-QZHKN3VN-DdcyNnvM.js → chunk-QZHKN3VN-D6NMZefL.js} +1 -1
- package/dist/{chunk-TZMSLE5B-C7te_j4V.js → chunk-TZMSLE5B-CX7F9bum.js} +1 -1
- package/dist/chunk-TZMSLE5B-CfLnJLL2.cjs +107 -0
- package/dist/{classDiagram-2ON5EDUG-CNkHY_Y7.js → classDiagram-2ON5EDUG-do_fcMxL.js} +2 -2
- package/dist/classDiagram-2ON5EDUG-l6iTeY9n.cjs +19 -0
- package/dist/{classDiagram-v2-WZHVMYZB-CNkHY_Y7.js → classDiagram-v2-WZHVMYZB-do_fcMxL.js} +2 -2
- package/dist/classDiagram-v2-WZHVMYZB-l6iTeY9n.cjs +19 -0
- package/dist/{clone-DnOD7gQ4.js → clone-B0NbP06l.js} +1 -1
- package/dist/clone-O_UR2EnI.cjs +7 -0
- package/dist/cose-bilkent-S5V4N54A-Bj9q8jdP.cjs +4942 -0
- package/dist/{cose-bilkent-S5V4N54A-2EKtTYth.js → cose-bilkent-S5V4N54A-Dm15CejI.js} +1 -1
- package/dist/cytoscape.esm-D8IBYQeQ.cjs +30238 -0
- package/dist/dagre-6UL2VRFP-DlrZJc7j.cjs +693 -0
- package/dist/{dagre-6UL2VRFP-oJLNDO4O.js → dagre-6UL2VRFP-DpFJxcQI.js} +5 -5
- package/dist/defaultLocale-DwYGIg9G.cjs +203 -0
- package/dist/{diagram-PSM6KHXK-DhMgmu9h.js → diagram-PSM6KHXK-BiuW3-I6.js} +4 -4
- package/dist/diagram-PSM6KHXK-J1K0HhB0.cjs +845 -0
- package/dist/{diagram-QEK2KX5R-pB1vUeno.js → diagram-QEK2KX5R-CKI4v8U1.js} +3 -3
- package/dist/diagram-QEK2KX5R-CfZyy8K3.cjs +300 -0
- package/dist/{diagram-S2PKOQOG-HTooIr24.js → diagram-S2PKOQOG-BFBmhCiH.js} +3 -3
- package/dist/diagram-S2PKOQOG-D99Ax7Ju.cjs +210 -0
- package/dist/erDiagram-Q2GNP2WA-CVkYr-Vj.cjs +1158 -0
- package/dist/{erDiagram-Q2GNP2WA-CCaN2EHf.js → erDiagram-Q2GNP2WA-qVxQAwwu.js} +4 -4
- package/dist/{flowDiagram-NV44I4VS-CG0erQtl.js → flowDiagram-NV44I4VS-5brdnMxu.js} +5 -5
- package/dist/flowDiagram-NV44I4VS-7p-zbTbS.cjs +2331 -0
- package/dist/{ganttDiagram-JELNMOA3-D3rSLJec.js → ganttDiagram-JELNMOA3-B_6E5yap.js} +2 -2
- package/dist/ganttDiagram-JELNMOA3-BqIucWob.cjs +3679 -0
- package/dist/{gitGraph-F6HP7TQM-BDWdXs6A.js → gitGraph-F6HP7TQM-5ygKEXa4.js} +1 -1
- package/dist/gitGraph-F6HP7TQM-Dqtx4v2X.cjs +5 -0
- package/dist/{gitGraphDiagram-NY62KEGX-Ip-PiLDb.js → gitGraphDiagram-NY62KEGX-8yiOWwFX.js} +4 -4
- package/dist/gitGraphDiagram-NY62KEGX-DLpTvKWJ.cjs +1203 -0
- package/dist/graph-BQ7jHivU.cjs +595 -0
- package/dist/{graph-wCViE1vL.js → graph-f7dsdfxH.js} +2 -2
- package/dist/index-BZzFD4NG.cjs +120453 -0
- package/dist/{index-BQvQI7yA.js → index-TgFTummf.js} +103814 -100678
- package/dist/index.cjs +19 -0
- package/dist/index.js +13 -1
- package/dist/info-NVLQJR56-CBEfMVO2.cjs +5 -0
- package/dist/info-NVLQJR56-CXysh6Cg.js +5 -0
- package/dist/infoDiagram-WHAUD3N6-D8UJMXYO.cjs +31 -0
- package/dist/{infoDiagram-WHAUD3N6-BbVs4x8y.js → infoDiagram-WHAUD3N6-DAhQzmYU.js} +2 -2
- package/dist/init-DevvdK2U.cjs +15 -0
- package/dist/journeyDiagram-XKPGCS4Q-BTWSe50v.cjs +1254 -0
- package/dist/{journeyDiagram-XKPGCS4Q-Cz9ox9GA.js → journeyDiagram-XKPGCS4Q-DF63luuF.js} +4 -4
- package/dist/kanban-definition-3W4ZIXB7-Bv1kpXjl.cjs +1047 -0
- package/dist/{kanban-definition-3W4ZIXB7-ChdUHO5f.js → kanban-definition-3W4ZIXB7-Byg1KrDf.js} +2 -2
- package/dist/katex-BhpYeT3b.cjs +14523 -0
- package/dist/{layout-BaZPdTGN.js → layout-Bph_0QZr.js} +4 -4
- package/dist/layout-Cbov0jB2.cjs +2182 -0
- package/dist/{linear-D_RX7hM-.js → linear-BSz-RTmc.js} +1 -1
- package/dist/linear-D36lF41G.cjs +339 -0
- package/dist/mermaid-parser.core-BjisUoZL.cjs +18703 -0
- package/dist/{mermaid-parser.core-_sn6A3wB.js → mermaid-parser.core-D51-lxGS.js} +10 -10
- package/dist/min-D_N_XAer.cjs +40 -0
- package/dist/{min-BxeM4Drj.js → min-Sni_KseC.js} +2 -2
- package/dist/mindmap-definition-VGOIOE7T-B7_dDBbb.cjs +1126 -0
- package/dist/{mindmap-definition-VGOIOE7T-BkjJibdi.js → mindmap-definition-VGOIOE7T-fbR1KpVG.js} +3 -3
- package/dist/ordinal-D7sQNqXZ.cjs +75 -0
- package/dist/{packet-BFZMPI3H-D3RtU0mc.js → packet-BFZMPI3H-B9lSQ4ue.js} +1 -1
- package/dist/packet-BFZMPI3H-DFuV40UT.cjs +5 -0
- package/dist/pie-7BOR55EZ-CfhfuSiQ.cjs +5 -0
- package/dist/pie-7BOR55EZ-DlYTWEJg.js +5 -0
- package/dist/{pieDiagram-ADFJNKIX-2Yr1gkth.js → pieDiagram-ADFJNKIX-BZ-6MLDa.js} +4 -4
- package/dist/pieDiagram-ADFJNKIX-ZykBg0LM.cjs +237 -0
- package/dist/quadrantDiagram-AYHSOK5B-BuiB_Qh3.cjs +1335 -0
- package/dist/{quadrantDiagram-AYHSOK5B-CjicpXRv.js → quadrantDiagram-AYHSOK5B-ClRDM-6s.js} +2 -2
- package/dist/{radar-NHE76QYJ-CL0tHnUP.js → radar-NHE76QYJ-Crabb2QS.js} +1 -1
- package/dist/radar-NHE76QYJ-D3rgOiIb.cjs +5 -0
- package/dist/{requirementDiagram-UZGBJVZJ-DBnhlfjR.js → requirementDiagram-UZGBJVZJ-kA_oq2PA.js} +3 -3
- package/dist/requirementDiagram-UZGBJVZJ-mm41geqc.cjs +1161 -0
- package/dist/sankeyDiagram-TZEHDZUN-C6izw8f1.cjs +1193 -0
- package/dist/{sankeyDiagram-TZEHDZUN-B2FErKCa.js → sankeyDiagram-TZEHDZUN-D-ZqnMWy.js} +1 -1
- package/dist/sequenceDiagram-WL72ISMW-CjC76RTk.cjs +3874 -0
- package/dist/{sequenceDiagram-WL72ISMW-BkNTlRlB.js → sequenceDiagram-WL72ISMW-DUEVJaIy.js} +3 -3
- package/dist/{stateDiagram-FKZM4ZOC-CAAFQtS9.js → stateDiagram-FKZM4ZOC-2IfcY2Ye.js} +4 -4
- package/dist/stateDiagram-FKZM4ZOC-DK5kcW23.cjs +447 -0
- package/dist/{stateDiagram-v2-4FDKWEC3-lF6kUebI.js → stateDiagram-v2-4FDKWEC3-DXQKznzB.js} +2 -2
- package/dist/stateDiagram-v2-4FDKWEC3-hWKPBy9I.cjs +19 -0
- package/dist/timeline-definition-IT6M3QCI-DwMBhyGj.cjs +1222 -0
- package/dist/{timeline-definition-IT6M3QCI-CQgMFEPA.js → timeline-definition-IT6M3QCI-ohrBFack.js} +2 -2
- package/dist/treemap-KMMF4GRG-Bdodyj4b.cjs +5 -0
- package/dist/{treemap-KMMF4GRG-B0Mc-u8X.js → treemap-KMMF4GRG-C4kqSdak.js} +1 -1
- package/dist/{xychartDiagram-PRI3JC2R-Cee7LdLr.js → xychartDiagram-PRI3JC2R-BBSKFQ3Z.js} +2 -2
- package/dist/xychartDiagram-PRI3JC2R-wKIvgX35.cjs +1886 -0
- package/package.json +19 -6
- package/dist/index.css +0 -3334
- package/dist/info-NVLQJR56-pJlVBPs6.js +0 -5
- package/dist/pie-7BOR55EZ-xH--CiaM.js +0 -5
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { _ as __name, s as setAccDescription, g as getAccDescription, q as getDiagramTitle, p as setDiagramTitle, a as getAccTitle, b as setAccTitle, H as selectSvgElement, y as clear, D as cleanAndMerge, E as getConfig, F as defaultConfig_default, l as log, K as getThemeVariables3 } from "./index-
|
|
2
|
-
import { p as populateCommonDb } from "./chunk-4BX2VUAB-
|
|
3
|
-
import { p as parse } from "./mermaid-parser.core-
|
|
1
|
+
import { _ as __name, s as setAccDescription, g as getAccDescription, q as getDiagramTitle, p as setDiagramTitle, a as getAccTitle, b as setAccTitle, H as selectSvgElement, y as clear, D as cleanAndMerge, E as getConfig, F as defaultConfig_default, l as log, K as getThemeVariables3 } from "./index-TgFTummf.js";
|
|
2
|
+
import { p as populateCommonDb } from "./chunk-4BX2VUAB-CJqHiK4X.js";
|
|
3
|
+
import { p as parse } from "./mermaid-parser.core-D51-lxGS.js";
|
|
4
4
|
var defaultOptions = {
|
|
5
5
|
showLegend: true,
|
|
6
6
|
ticks: 5,
|
|
@@ -0,0 +1,300 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const index = require("./index-BZzFD4NG.cjs");
|
|
4
|
+
const chunk4BX2VUAB = require("./chunk-4BX2VUAB-DN2yOkoW.cjs");
|
|
5
|
+
const mermaidParser_core = require("./mermaid-parser.core-BjisUoZL.cjs");
|
|
6
|
+
var defaultOptions = {
|
|
7
|
+
showLegend: true,
|
|
8
|
+
ticks: 5,
|
|
9
|
+
max: null,
|
|
10
|
+
min: 0,
|
|
11
|
+
graticule: "circle"
|
|
12
|
+
};
|
|
13
|
+
var defaultRadarData = {
|
|
14
|
+
axes: [],
|
|
15
|
+
curves: [],
|
|
16
|
+
options: defaultOptions
|
|
17
|
+
};
|
|
18
|
+
var data = structuredClone(defaultRadarData);
|
|
19
|
+
var DEFAULT_RADAR_CONFIG = index.defaultConfig_default.radar;
|
|
20
|
+
var getConfig2 = /* @__PURE__ */ index.__name(() => {
|
|
21
|
+
const config = index.cleanAndMerge({
|
|
22
|
+
...DEFAULT_RADAR_CONFIG,
|
|
23
|
+
...index.getConfig().radar
|
|
24
|
+
});
|
|
25
|
+
return config;
|
|
26
|
+
}, "getConfig");
|
|
27
|
+
var getAxes = /* @__PURE__ */ index.__name(() => data.axes, "getAxes");
|
|
28
|
+
var getCurves = /* @__PURE__ */ index.__name(() => data.curves, "getCurves");
|
|
29
|
+
var getOptions = /* @__PURE__ */ index.__name(() => data.options, "getOptions");
|
|
30
|
+
var setAxes = /* @__PURE__ */ index.__name((axes) => {
|
|
31
|
+
data.axes = axes.map((axis) => {
|
|
32
|
+
return {
|
|
33
|
+
name: axis.name,
|
|
34
|
+
label: axis.label ?? axis.name
|
|
35
|
+
};
|
|
36
|
+
});
|
|
37
|
+
}, "setAxes");
|
|
38
|
+
var setCurves = /* @__PURE__ */ index.__name((curves) => {
|
|
39
|
+
data.curves = curves.map((curve) => {
|
|
40
|
+
return {
|
|
41
|
+
name: curve.name,
|
|
42
|
+
label: curve.label ?? curve.name,
|
|
43
|
+
entries: computeCurveEntries(curve.entries)
|
|
44
|
+
};
|
|
45
|
+
});
|
|
46
|
+
}, "setCurves");
|
|
47
|
+
var computeCurveEntries = /* @__PURE__ */ index.__name((entries) => {
|
|
48
|
+
if (entries[0].axis == void 0) {
|
|
49
|
+
return entries.map((entry) => entry.value);
|
|
50
|
+
}
|
|
51
|
+
const axes = getAxes();
|
|
52
|
+
if (axes.length === 0) {
|
|
53
|
+
throw new Error("Axes must be populated before curves for reference entries");
|
|
54
|
+
}
|
|
55
|
+
return axes.map((axis) => {
|
|
56
|
+
const entry = entries.find((entry2) => entry2.axis?.$refText === axis.name);
|
|
57
|
+
if (entry === void 0) {
|
|
58
|
+
throw new Error("Missing entry for axis " + axis.label);
|
|
59
|
+
}
|
|
60
|
+
return entry.value;
|
|
61
|
+
});
|
|
62
|
+
}, "computeCurveEntries");
|
|
63
|
+
var setOptions = /* @__PURE__ */ index.__name((options) => {
|
|
64
|
+
const optionMap = options.reduce(
|
|
65
|
+
(acc, option) => {
|
|
66
|
+
acc[option.name] = option;
|
|
67
|
+
return acc;
|
|
68
|
+
},
|
|
69
|
+
{}
|
|
70
|
+
);
|
|
71
|
+
data.options = {
|
|
72
|
+
showLegend: optionMap.showLegend?.value ?? defaultOptions.showLegend,
|
|
73
|
+
ticks: optionMap.ticks?.value ?? defaultOptions.ticks,
|
|
74
|
+
max: optionMap.max?.value ?? defaultOptions.max,
|
|
75
|
+
min: optionMap.min?.value ?? defaultOptions.min,
|
|
76
|
+
graticule: optionMap.graticule?.value ?? defaultOptions.graticule
|
|
77
|
+
};
|
|
78
|
+
}, "setOptions");
|
|
79
|
+
var clear2 = /* @__PURE__ */ index.__name(() => {
|
|
80
|
+
index.clear();
|
|
81
|
+
data = structuredClone(defaultRadarData);
|
|
82
|
+
}, "clear");
|
|
83
|
+
var db = {
|
|
84
|
+
getAxes,
|
|
85
|
+
getCurves,
|
|
86
|
+
getOptions,
|
|
87
|
+
setAxes,
|
|
88
|
+
setCurves,
|
|
89
|
+
setOptions,
|
|
90
|
+
getConfig: getConfig2,
|
|
91
|
+
clear: clear2,
|
|
92
|
+
setAccTitle: index.setAccTitle,
|
|
93
|
+
getAccTitle: index.getAccTitle,
|
|
94
|
+
setDiagramTitle: index.setDiagramTitle,
|
|
95
|
+
getDiagramTitle: index.getDiagramTitle,
|
|
96
|
+
getAccDescription: index.getAccDescription,
|
|
97
|
+
setAccDescription: index.setAccDescription
|
|
98
|
+
};
|
|
99
|
+
var populate = /* @__PURE__ */ index.__name((ast) => {
|
|
100
|
+
chunk4BX2VUAB.populateCommonDb(ast, db);
|
|
101
|
+
const { axes, curves, options } = ast;
|
|
102
|
+
db.setAxes(axes);
|
|
103
|
+
db.setCurves(curves);
|
|
104
|
+
db.setOptions(options);
|
|
105
|
+
}, "populate");
|
|
106
|
+
var parser = {
|
|
107
|
+
parse: /* @__PURE__ */ index.__name(async (input) => {
|
|
108
|
+
const ast = await mermaidParser_core.parse("radar", input);
|
|
109
|
+
index.log.debug(ast);
|
|
110
|
+
populate(ast);
|
|
111
|
+
}, "parse")
|
|
112
|
+
};
|
|
113
|
+
var draw = /* @__PURE__ */ index.__name((_text, id, _version, diagram2) => {
|
|
114
|
+
const db2 = diagram2.db;
|
|
115
|
+
const axes = db2.getAxes();
|
|
116
|
+
const curves = db2.getCurves();
|
|
117
|
+
const options = db2.getOptions();
|
|
118
|
+
const config = db2.getConfig();
|
|
119
|
+
const title = db2.getDiagramTitle();
|
|
120
|
+
const svg = index.selectSvgElement(id);
|
|
121
|
+
const g = drawFrame(svg, config);
|
|
122
|
+
const maxValue = options.max ?? Math.max(...curves.map((curve) => Math.max(...curve.entries)));
|
|
123
|
+
const minValue = options.min;
|
|
124
|
+
const radius = Math.min(config.width, config.height) / 2;
|
|
125
|
+
drawGraticule(g, axes, radius, options.ticks, options.graticule);
|
|
126
|
+
drawAxes(g, axes, radius, config);
|
|
127
|
+
drawCurves(g, axes, curves, minValue, maxValue, options.graticule, config);
|
|
128
|
+
drawLegend(g, curves, options.showLegend, config);
|
|
129
|
+
g.append("text").attr("class", "radarTitle").text(title).attr("x", 0).attr("y", -config.height / 2 - config.marginTop);
|
|
130
|
+
}, "draw");
|
|
131
|
+
var drawFrame = /* @__PURE__ */ index.__name((svg, config) => {
|
|
132
|
+
const totalWidth = config.width + config.marginLeft + config.marginRight;
|
|
133
|
+
const totalHeight = config.height + config.marginTop + config.marginBottom;
|
|
134
|
+
const center = {
|
|
135
|
+
x: config.marginLeft + config.width / 2,
|
|
136
|
+
y: config.marginTop + config.height / 2
|
|
137
|
+
};
|
|
138
|
+
svg.attr("viewbox", `0 0 ${totalWidth} ${totalHeight}`).attr("width", totalWidth).attr("height", totalHeight);
|
|
139
|
+
return svg.append("g").attr("transform", `translate(${center.x}, ${center.y})`);
|
|
140
|
+
}, "drawFrame");
|
|
141
|
+
var drawGraticule = /* @__PURE__ */ index.__name((g, axes, radius, ticks, graticule) => {
|
|
142
|
+
if (graticule === "circle") {
|
|
143
|
+
for (let i = 0; i < ticks; i++) {
|
|
144
|
+
const r = radius * (i + 1) / ticks;
|
|
145
|
+
g.append("circle").attr("r", r).attr("class", "radarGraticule");
|
|
146
|
+
}
|
|
147
|
+
} else if (graticule === "polygon") {
|
|
148
|
+
const numAxes = axes.length;
|
|
149
|
+
for (let i = 0; i < ticks; i++) {
|
|
150
|
+
const r = radius * (i + 1) / ticks;
|
|
151
|
+
const points = axes.map((_, j) => {
|
|
152
|
+
const angle = 2 * j * Math.PI / numAxes - Math.PI / 2;
|
|
153
|
+
const x = r * Math.cos(angle);
|
|
154
|
+
const y = r * Math.sin(angle);
|
|
155
|
+
return `${x},${y}`;
|
|
156
|
+
}).join(" ");
|
|
157
|
+
g.append("polygon").attr("points", points).attr("class", "radarGraticule");
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
}, "drawGraticule");
|
|
161
|
+
var drawAxes = /* @__PURE__ */ index.__name((g, axes, radius, config) => {
|
|
162
|
+
const numAxes = axes.length;
|
|
163
|
+
for (let i = 0; i < numAxes; i++) {
|
|
164
|
+
const label = axes[i].label;
|
|
165
|
+
const angle = 2 * i * Math.PI / numAxes - Math.PI / 2;
|
|
166
|
+
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");
|
|
167
|
+
g.append("text").text(label).attr("x", radius * config.axisLabelFactor * Math.cos(angle)).attr("y", radius * config.axisLabelFactor * Math.sin(angle)).attr("class", "radarAxisLabel");
|
|
168
|
+
}
|
|
169
|
+
}, "drawAxes");
|
|
170
|
+
function drawCurves(g, axes, curves, minValue, maxValue, graticule, config) {
|
|
171
|
+
const numAxes = axes.length;
|
|
172
|
+
const radius = Math.min(config.width, config.height) / 2;
|
|
173
|
+
curves.forEach((curve, index2) => {
|
|
174
|
+
if (curve.entries.length !== numAxes) {
|
|
175
|
+
return;
|
|
176
|
+
}
|
|
177
|
+
const points = curve.entries.map((entry, i) => {
|
|
178
|
+
const angle = 2 * Math.PI * i / numAxes - Math.PI / 2;
|
|
179
|
+
const r = relativeRadius(entry, minValue, maxValue, radius);
|
|
180
|
+
const x = r * Math.cos(angle);
|
|
181
|
+
const y = r * Math.sin(angle);
|
|
182
|
+
return { x, y };
|
|
183
|
+
});
|
|
184
|
+
if (graticule === "circle") {
|
|
185
|
+
g.append("path").attr("d", closedRoundCurve(points, config.curveTension)).attr("class", `radarCurve-${index2}`);
|
|
186
|
+
} else if (graticule === "polygon") {
|
|
187
|
+
g.append("polygon").attr("points", points.map((p) => `${p.x},${p.y}`).join(" ")).attr("class", `radarCurve-${index2}`);
|
|
188
|
+
}
|
|
189
|
+
});
|
|
190
|
+
}
|
|
191
|
+
index.__name(drawCurves, "drawCurves");
|
|
192
|
+
function relativeRadius(value, minValue, maxValue, radius) {
|
|
193
|
+
const clippedValue = Math.min(Math.max(value, minValue), maxValue);
|
|
194
|
+
return radius * (clippedValue - minValue) / (maxValue - minValue);
|
|
195
|
+
}
|
|
196
|
+
index.__name(relativeRadius, "relativeRadius");
|
|
197
|
+
function closedRoundCurve(points, tension) {
|
|
198
|
+
const numPoints = points.length;
|
|
199
|
+
let d = `M${points[0].x},${points[0].y}`;
|
|
200
|
+
for (let i = 0; i < numPoints; i++) {
|
|
201
|
+
const p0 = points[(i - 1 + numPoints) % numPoints];
|
|
202
|
+
const p1 = points[i];
|
|
203
|
+
const p2 = points[(i + 1) % numPoints];
|
|
204
|
+
const p3 = points[(i + 2) % numPoints];
|
|
205
|
+
const cp1 = {
|
|
206
|
+
x: p1.x + (p2.x - p0.x) * tension,
|
|
207
|
+
y: p1.y + (p2.y - p0.y) * tension
|
|
208
|
+
};
|
|
209
|
+
const cp2 = {
|
|
210
|
+
x: p2.x - (p3.x - p1.x) * tension,
|
|
211
|
+
y: p2.y - (p3.y - p1.y) * tension
|
|
212
|
+
};
|
|
213
|
+
d += ` C${cp1.x},${cp1.y} ${cp2.x},${cp2.y} ${p2.x},${p2.y}`;
|
|
214
|
+
}
|
|
215
|
+
return `${d} Z`;
|
|
216
|
+
}
|
|
217
|
+
index.__name(closedRoundCurve, "closedRoundCurve");
|
|
218
|
+
function drawLegend(g, curves, showLegend, config) {
|
|
219
|
+
if (!showLegend) {
|
|
220
|
+
return;
|
|
221
|
+
}
|
|
222
|
+
const legendX = (config.width / 2 + config.marginRight) * 3 / 4;
|
|
223
|
+
const legendY = -(config.height / 2 + config.marginTop) * 3 / 4;
|
|
224
|
+
const lineHeight = 20;
|
|
225
|
+
curves.forEach((curve, index2) => {
|
|
226
|
+
const itemGroup = g.append("g").attr("transform", `translate(${legendX}, ${legendY + index2 * lineHeight})`);
|
|
227
|
+
itemGroup.append("rect").attr("width", 12).attr("height", 12).attr("class", `radarLegendBox-${index2}`);
|
|
228
|
+
itemGroup.append("text").attr("x", 16).attr("y", 0).attr("class", "radarLegendText").text(curve.label);
|
|
229
|
+
});
|
|
230
|
+
}
|
|
231
|
+
index.__name(drawLegend, "drawLegend");
|
|
232
|
+
var renderer = { draw };
|
|
233
|
+
var genIndexStyles = /* @__PURE__ */ index.__name((themeVariables, radarOptions) => {
|
|
234
|
+
let sections = "";
|
|
235
|
+
for (let i = 0; i < themeVariables.THEME_COLOR_LIMIT; i++) {
|
|
236
|
+
const indexColor = themeVariables[`cScale${i}`];
|
|
237
|
+
sections += `
|
|
238
|
+
.radarCurve-${i} {
|
|
239
|
+
color: ${indexColor};
|
|
240
|
+
fill: ${indexColor};
|
|
241
|
+
fill-opacity: ${radarOptions.curveOpacity};
|
|
242
|
+
stroke: ${indexColor};
|
|
243
|
+
stroke-width: ${radarOptions.curveStrokeWidth};
|
|
244
|
+
}
|
|
245
|
+
.radarLegendBox-${i} {
|
|
246
|
+
fill: ${indexColor};
|
|
247
|
+
fill-opacity: ${radarOptions.curveOpacity};
|
|
248
|
+
stroke: ${indexColor};
|
|
249
|
+
}
|
|
250
|
+
`;
|
|
251
|
+
}
|
|
252
|
+
return sections;
|
|
253
|
+
}, "genIndexStyles");
|
|
254
|
+
var buildRadarStyleOptions = /* @__PURE__ */ index.__name((radar) => {
|
|
255
|
+
const defaultThemeVariables = index.getThemeVariables3();
|
|
256
|
+
const currentConfig = index.getConfig();
|
|
257
|
+
const themeVariables = index.cleanAndMerge(defaultThemeVariables, currentConfig.themeVariables);
|
|
258
|
+
const radarOptions = index.cleanAndMerge(themeVariables.radar, radar);
|
|
259
|
+
return { themeVariables, radarOptions };
|
|
260
|
+
}, "buildRadarStyleOptions");
|
|
261
|
+
var styles = /* @__PURE__ */ index.__name(({ radar } = {}) => {
|
|
262
|
+
const { themeVariables, radarOptions } = buildRadarStyleOptions(radar);
|
|
263
|
+
return `
|
|
264
|
+
.radarTitle {
|
|
265
|
+
font-size: ${themeVariables.fontSize};
|
|
266
|
+
color: ${themeVariables.titleColor};
|
|
267
|
+
dominant-baseline: hanging;
|
|
268
|
+
text-anchor: middle;
|
|
269
|
+
}
|
|
270
|
+
.radarAxisLine {
|
|
271
|
+
stroke: ${radarOptions.axisColor};
|
|
272
|
+
stroke-width: ${radarOptions.axisStrokeWidth};
|
|
273
|
+
}
|
|
274
|
+
.radarAxisLabel {
|
|
275
|
+
dominant-baseline: middle;
|
|
276
|
+
text-anchor: middle;
|
|
277
|
+
font-size: ${radarOptions.axisLabelFontSize}px;
|
|
278
|
+
color: ${radarOptions.axisColor};
|
|
279
|
+
}
|
|
280
|
+
.radarGraticule {
|
|
281
|
+
fill: ${radarOptions.graticuleColor};
|
|
282
|
+
fill-opacity: ${radarOptions.graticuleOpacity};
|
|
283
|
+
stroke: ${radarOptions.graticuleColor};
|
|
284
|
+
stroke-width: ${radarOptions.graticuleStrokeWidth};
|
|
285
|
+
}
|
|
286
|
+
.radarLegendText {
|
|
287
|
+
text-anchor: start;
|
|
288
|
+
font-size: ${radarOptions.legendFontSize}px;
|
|
289
|
+
dominant-baseline: hanging;
|
|
290
|
+
}
|
|
291
|
+
${genIndexStyles(themeVariables, radarOptions)}
|
|
292
|
+
`;
|
|
293
|
+
}, "styles");
|
|
294
|
+
var diagram = {
|
|
295
|
+
parser,
|
|
296
|
+
db,
|
|
297
|
+
renderer,
|
|
298
|
+
styles
|
|
299
|
+
};
|
|
300
|
+
exports.diagram = diagram;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
var _a;
|
|
2
|
-
import { _ as __name, D as cleanAndMerge, H as selectSvgElement, e as configureSvgSize, l as log, b as setAccTitle, a as getAccTitle, p as setDiagramTitle, q as getDiagramTitle, g as getAccDescription, s as setAccDescription, E as getConfig, F as defaultConfig_default, y as clear } from "./index-
|
|
3
|
-
import { p as populateCommonDb } from "./chunk-4BX2VUAB-
|
|
4
|
-
import { p as parse } from "./mermaid-parser.core-
|
|
2
|
+
import { _ as __name, D as cleanAndMerge, H as selectSvgElement, e as configureSvgSize, l as log, b as setAccTitle, a as getAccTitle, p as setDiagramTitle, q as getDiagramTitle, g as getAccDescription, s as setAccDescription, E as getConfig, F as defaultConfig_default, y as clear } from "./index-TgFTummf.js";
|
|
3
|
+
import { p as populateCommonDb } from "./chunk-4BX2VUAB-CJqHiK4X.js";
|
|
4
|
+
import { p as parse } from "./mermaid-parser.core-D51-lxGS.js";
|
|
5
5
|
var DEFAULT_PACKET_CONFIG = defaultConfig_default.packet;
|
|
6
6
|
var PacketDB = (_a = class {
|
|
7
7
|
constructor() {
|
|
@@ -0,0 +1,210 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var _a;
|
|
3
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
4
|
+
const index = require("./index-BZzFD4NG.cjs");
|
|
5
|
+
const chunk4BX2VUAB = require("./chunk-4BX2VUAB-DN2yOkoW.cjs");
|
|
6
|
+
const mermaidParser_core = require("./mermaid-parser.core-BjisUoZL.cjs");
|
|
7
|
+
var DEFAULT_PACKET_CONFIG = index.defaultConfig_default.packet;
|
|
8
|
+
var PacketDB = (_a = class {
|
|
9
|
+
constructor() {
|
|
10
|
+
this.packet = [];
|
|
11
|
+
this.setAccTitle = index.setAccTitle;
|
|
12
|
+
this.getAccTitle = index.getAccTitle;
|
|
13
|
+
this.setDiagramTitle = index.setDiagramTitle;
|
|
14
|
+
this.getDiagramTitle = index.getDiagramTitle;
|
|
15
|
+
this.getAccDescription = index.getAccDescription;
|
|
16
|
+
this.setAccDescription = index.setAccDescription;
|
|
17
|
+
}
|
|
18
|
+
getConfig() {
|
|
19
|
+
const config = index.cleanAndMerge({
|
|
20
|
+
...DEFAULT_PACKET_CONFIG,
|
|
21
|
+
...index.getConfig().packet
|
|
22
|
+
});
|
|
23
|
+
if (config.showBits) {
|
|
24
|
+
config.paddingY += 10;
|
|
25
|
+
}
|
|
26
|
+
return config;
|
|
27
|
+
}
|
|
28
|
+
getPacket() {
|
|
29
|
+
return this.packet;
|
|
30
|
+
}
|
|
31
|
+
pushWord(word) {
|
|
32
|
+
if (word.length > 0) {
|
|
33
|
+
this.packet.push(word);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
clear() {
|
|
37
|
+
index.clear();
|
|
38
|
+
this.packet = [];
|
|
39
|
+
}
|
|
40
|
+
}, index.__name(_a, "PacketDB"), _a);
|
|
41
|
+
var maxPacketSize = 1e4;
|
|
42
|
+
var populate = /* @__PURE__ */ index.__name((ast, db) => {
|
|
43
|
+
chunk4BX2VUAB.populateCommonDb(ast, db);
|
|
44
|
+
let lastBit = -1;
|
|
45
|
+
let word = [];
|
|
46
|
+
let row = 1;
|
|
47
|
+
const { bitsPerRow } = db.getConfig();
|
|
48
|
+
for (let { start, end, bits, label } of ast.blocks) {
|
|
49
|
+
if (start !== void 0 && end !== void 0 && end < start) {
|
|
50
|
+
throw new Error(`Packet block ${start} - ${end} is invalid. End must be greater than start.`);
|
|
51
|
+
}
|
|
52
|
+
start ??= lastBit + 1;
|
|
53
|
+
if (start !== lastBit + 1) {
|
|
54
|
+
throw new Error(
|
|
55
|
+
`Packet block ${start} - ${end ?? start} is not contiguous. It should start from ${lastBit + 1}.`
|
|
56
|
+
);
|
|
57
|
+
}
|
|
58
|
+
if (bits === 0) {
|
|
59
|
+
throw new Error(`Packet block ${start} is invalid. Cannot have a zero bit field.`);
|
|
60
|
+
}
|
|
61
|
+
end ??= start + (bits ?? 1) - 1;
|
|
62
|
+
bits ??= end - start + 1;
|
|
63
|
+
lastBit = end;
|
|
64
|
+
index.log.debug(`Packet block ${start} - ${lastBit} with label ${label}`);
|
|
65
|
+
while (word.length <= bitsPerRow + 1 && db.getPacket().length < maxPacketSize) {
|
|
66
|
+
const [block, nextBlock] = getNextFittingBlock({ start, end, bits, label }, row, bitsPerRow);
|
|
67
|
+
word.push(block);
|
|
68
|
+
if (block.end + 1 === row * bitsPerRow) {
|
|
69
|
+
db.pushWord(word);
|
|
70
|
+
word = [];
|
|
71
|
+
row++;
|
|
72
|
+
}
|
|
73
|
+
if (!nextBlock) {
|
|
74
|
+
break;
|
|
75
|
+
}
|
|
76
|
+
({ start, end, bits, label } = nextBlock);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
db.pushWord(word);
|
|
80
|
+
}, "populate");
|
|
81
|
+
var getNextFittingBlock = /* @__PURE__ */ index.__name((block, row, bitsPerRow) => {
|
|
82
|
+
if (block.start === void 0) {
|
|
83
|
+
throw new Error("start should have been set during first phase");
|
|
84
|
+
}
|
|
85
|
+
if (block.end === void 0) {
|
|
86
|
+
throw new Error("end should have been set during first phase");
|
|
87
|
+
}
|
|
88
|
+
if (block.start > block.end) {
|
|
89
|
+
throw new Error(`Block start ${block.start} is greater than block end ${block.end}.`);
|
|
90
|
+
}
|
|
91
|
+
if (block.end + 1 <= row * bitsPerRow) {
|
|
92
|
+
return [block, void 0];
|
|
93
|
+
}
|
|
94
|
+
const rowEnd = row * bitsPerRow - 1;
|
|
95
|
+
const rowStart = row * bitsPerRow;
|
|
96
|
+
return [
|
|
97
|
+
{
|
|
98
|
+
start: block.start,
|
|
99
|
+
end: rowEnd,
|
|
100
|
+
label: block.label,
|
|
101
|
+
bits: rowEnd - block.start
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
start: rowStart,
|
|
105
|
+
end: block.end,
|
|
106
|
+
label: block.label,
|
|
107
|
+
bits: block.end - rowStart
|
|
108
|
+
}
|
|
109
|
+
];
|
|
110
|
+
}, "getNextFittingBlock");
|
|
111
|
+
var parser = {
|
|
112
|
+
// @ts-expect-error - PacketDB is not assignable to DiagramDB
|
|
113
|
+
parser: { yy: void 0 },
|
|
114
|
+
parse: /* @__PURE__ */ index.__name(async (input) => {
|
|
115
|
+
const ast = await mermaidParser_core.parse("packet", input);
|
|
116
|
+
const db = parser.parser?.yy;
|
|
117
|
+
if (!(db instanceof PacketDB)) {
|
|
118
|
+
throw new Error(
|
|
119
|
+
"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."
|
|
120
|
+
);
|
|
121
|
+
}
|
|
122
|
+
index.log.debug(ast);
|
|
123
|
+
populate(ast, db);
|
|
124
|
+
}, "parse")
|
|
125
|
+
};
|
|
126
|
+
var draw = /* @__PURE__ */ index.__name((_text, id, _version, diagram2) => {
|
|
127
|
+
const db = diagram2.db;
|
|
128
|
+
const config = db.getConfig();
|
|
129
|
+
const { rowHeight, paddingY, bitWidth, bitsPerRow } = config;
|
|
130
|
+
const words = db.getPacket();
|
|
131
|
+
const title = db.getDiagramTitle();
|
|
132
|
+
const totalRowHeight = rowHeight + paddingY;
|
|
133
|
+
const svgHeight = totalRowHeight * (words.length + 1) - (title ? 0 : rowHeight);
|
|
134
|
+
const svgWidth = bitWidth * bitsPerRow + 2;
|
|
135
|
+
const svg = index.selectSvgElement(id);
|
|
136
|
+
svg.attr("viewbox", `0 0 ${svgWidth} ${svgHeight}`);
|
|
137
|
+
index.configureSvgSize(svg, svgHeight, svgWidth, config.useMaxWidth);
|
|
138
|
+
for (const [word, packet] of words.entries()) {
|
|
139
|
+
drawWord(svg, packet, word, config);
|
|
140
|
+
}
|
|
141
|
+
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");
|
|
142
|
+
}, "draw");
|
|
143
|
+
var drawWord = /* @__PURE__ */ index.__name((svg, word, rowNumber, { rowHeight, paddingX, paddingY, bitWidth, bitsPerRow, showBits }) => {
|
|
144
|
+
const group = svg.append("g");
|
|
145
|
+
const wordY = rowNumber * (rowHeight + paddingY) + paddingY;
|
|
146
|
+
for (const block of word) {
|
|
147
|
+
const blockX = block.start % bitsPerRow * bitWidth + 1;
|
|
148
|
+
const width = (block.end - block.start + 1) * bitWidth - paddingX;
|
|
149
|
+
group.append("rect").attr("x", blockX).attr("y", wordY).attr("width", width).attr("height", rowHeight).attr("class", "packetBlock");
|
|
150
|
+
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);
|
|
151
|
+
if (!showBits) {
|
|
152
|
+
continue;
|
|
153
|
+
}
|
|
154
|
+
const isSingleBlock = block.end === block.start;
|
|
155
|
+
const bitNumberY = wordY - 2;
|
|
156
|
+
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);
|
|
157
|
+
if (!isSingleBlock) {
|
|
158
|
+
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);
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
}, "drawWord");
|
|
162
|
+
var renderer = { draw };
|
|
163
|
+
var defaultPacketStyleOptions = {
|
|
164
|
+
byteFontSize: "10px",
|
|
165
|
+
startByteColor: "black",
|
|
166
|
+
endByteColor: "black",
|
|
167
|
+
labelColor: "black",
|
|
168
|
+
labelFontSize: "12px",
|
|
169
|
+
titleColor: "black",
|
|
170
|
+
titleFontSize: "14px",
|
|
171
|
+
blockStrokeColor: "black",
|
|
172
|
+
blockStrokeWidth: "1",
|
|
173
|
+
blockFillColor: "#efefef"
|
|
174
|
+
};
|
|
175
|
+
var styles = /* @__PURE__ */ index.__name(({ packet } = {}) => {
|
|
176
|
+
const options = index.cleanAndMerge(defaultPacketStyleOptions, packet);
|
|
177
|
+
return `
|
|
178
|
+
.packetByte {
|
|
179
|
+
font-size: ${options.byteFontSize};
|
|
180
|
+
}
|
|
181
|
+
.packetByte.start {
|
|
182
|
+
fill: ${options.startByteColor};
|
|
183
|
+
}
|
|
184
|
+
.packetByte.end {
|
|
185
|
+
fill: ${options.endByteColor};
|
|
186
|
+
}
|
|
187
|
+
.packetLabel {
|
|
188
|
+
fill: ${options.labelColor};
|
|
189
|
+
font-size: ${options.labelFontSize};
|
|
190
|
+
}
|
|
191
|
+
.packetTitle {
|
|
192
|
+
fill: ${options.titleColor};
|
|
193
|
+
font-size: ${options.titleFontSize};
|
|
194
|
+
}
|
|
195
|
+
.packetBlock {
|
|
196
|
+
stroke: ${options.blockStrokeColor};
|
|
197
|
+
stroke-width: ${options.blockStrokeWidth};
|
|
198
|
+
fill: ${options.blockFillColor};
|
|
199
|
+
}
|
|
200
|
+
`;
|
|
201
|
+
}, "styles");
|
|
202
|
+
var diagram = {
|
|
203
|
+
parser,
|
|
204
|
+
get db() {
|
|
205
|
+
return new PacketDB();
|
|
206
|
+
},
|
|
207
|
+
renderer,
|
|
208
|
+
styles
|
|
209
|
+
};
|
|
210
|
+
exports.diagram = diagram;
|