@zjlab-frontier/markdown 1.2.6 → 1.2.8

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 (93) hide show
  1. package/dist/_basePickBy-BKSBQzQ_.mjs +151 -0
  2. package/dist/_baseUniq-C5o5iO5w.mjs +614 -0
  3. package/dist/arc-CBfSUzPA.mjs +83 -0
  4. package/dist/architecture-U656AL7Q-BnMV_JKl.mjs +5 -0
  5. package/dist/architectureDiagram-VXUJARFQ-D2XPETMC.mjs +4661 -0
  6. package/dist/blockDiagram-VD42YOAC-DUECz_lY.mjs +2261 -0
  7. package/dist/{c4Diagram-c83219d4-DPiPzMng.mjs → c4Diagram-YG6GDRKO-CFmlTOHZ.mjs} +795 -794
  8. package/dist/{channel-DLtPd-ti.mjs → channel-Cn_QU-_B.mjs} +1 -1
  9. package/dist/chunk-4BX2VUAB-Ddlc-PTG.mjs +8 -0
  10. package/dist/chunk-55IACEB6-3bItwaWC.mjs +8 -0
  11. package/dist/chunk-B4BG7PRW-fzrbCD9m.mjs +1375 -0
  12. package/dist/chunk-DI55MBZ5-BsM6MitH.mjs +1370 -0
  13. package/dist/chunk-FMBD7UC4-D0L58RDY.mjs +19 -0
  14. package/dist/chunk-QN33PNHL-BRwIp2MO.mjs +19 -0
  15. package/dist/chunk-QZHKN3VN-3WK04u4j.mjs +15 -0
  16. package/dist/chunk-TZMSLE5B-QppC8KMb.mjs +64 -0
  17. package/dist/classDiagram-2ON5EDUG-DV1NEn5N.mjs +16 -0
  18. package/dist/classDiagram-v2-WZHVMYZB-DV1NEn5N.mjs +16 -0
  19. package/dist/{clone-Bekeo3TW.mjs → clone-BqweF2qi.mjs} +1 -1
  20. package/dist/cose-bilkent-S5V4N54A-v0swiza8.mjs +2608 -0
  21. package/dist/cytoscape.esm-MSgpKP8s.mjs +18721 -0
  22. package/dist/dagre-6UL2VRFP-BAviPdlZ.mjs +444 -0
  23. package/dist/defaultLocale-D7EN2tov.mjs +171 -0
  24. package/dist/diagram-PSM6KHXK-CfFtF0lE.mjs +531 -0
  25. package/dist/diagram-QEK2KX5R-CTU-B7VS.mjs +217 -0
  26. package/dist/diagram-S2PKOQOG-jCY9Tumq.mjs +142 -0
  27. package/dist/erDiagram-Q2GNP2WA-BcKQMz3F.mjs +841 -0
  28. package/dist/flowDiagram-NV44I4VS-udQXA0_8.mjs +1620 -0
  29. package/dist/ganttDiagram-JELNMOA3-Dk5PKr9Z.mjs +2670 -0
  30. package/dist/gitGraph-F6HP7TQM-DkwcvDhk.mjs +5 -0
  31. package/dist/gitGraphDiagram-NY62KEGX-DjJof2Hb.mjs +699 -0
  32. package/dist/graph-D-Tmz5vo.mjs +247 -0
  33. package/dist/{index-C3zgkbpi.mjs → index-CWsdn0Oh.mjs} +35928 -28717
  34. package/dist/index.es.js +4 -4
  35. package/dist/index.umd.js +1884 -1442
  36. package/dist/info-NVLQJR56-TpH_gM4H.mjs +5 -0
  37. package/dist/infoDiagram-WHAUD3N6-DrsD1lMt.mjs +24 -0
  38. package/dist/journeyDiagram-XKPGCS4Q-Cq5Y94aQ.mjs +834 -0
  39. package/dist/kanban-definition-3W4ZIXB7-BEiPA-13.mjs +719 -0
  40. package/dist/layout-QOTssOZa.mjs +1335 -0
  41. package/dist/linear-CCFzTlKw.mjs +259 -0
  42. package/dist/mermaid-parser.core-CSzOHvro.mjs +12966 -0
  43. package/dist/mindmap-definition-VGOIOE7T-ChH1RCzL.mjs +784 -0
  44. package/dist/packet-BFZMPI3H-RY9z3tXt.mjs +5 -0
  45. package/dist/pie-7BOR55EZ-DWSbWhsM.mjs +5 -0
  46. package/dist/pieDiagram-ADFJNKIX-CjvCGMnv.mjs +161 -0
  47. package/dist/quadrantDiagram-AYHSOK5B-yLMChKK1.mjs +1022 -0
  48. package/dist/radar-NHE76QYJ-DxZgeX1m.mjs +5 -0
  49. package/dist/requirementDiagram-UZGBJVZJ-D_Kv5PcV.mjs +850 -0
  50. package/dist/sankeyDiagram-TZEHDZUN-BT4gTtRH.mjs +810 -0
  51. package/dist/sequenceDiagram-WL72ISMW-CcZ0NGLk.mjs +2511 -0
  52. package/dist/stateDiagram-FKZM4ZOC-BpQhvfG2.mjs +263 -0
  53. package/dist/stateDiagram-v2-4FDKWEC3-X4ju2xD3.mjs +16 -0
  54. package/dist/timeline-definition-IT6M3QCI-mIpcHDXS.mjs +795 -0
  55. package/dist/treemap-KMMF4GRG-CTNebVlI.mjs +5 -0
  56. package/dist/{xychartDiagram-f5964ef8-fDv4mp1P.mjs → xychartDiagram-PRI3JC2R-DooouUUZ.mjs} +503 -445
  57. package/package.json +3 -3
  58. package/dist/Tableau10-D7jGxypv.mjs +0 -8
  59. package/dist/arc-DqrMsJeG.mjs +0 -84
  60. package/dist/array-CqVTtuYm.mjs +0 -6
  61. package/dist/blockDiagram-c4efeb88-B7Mcu3H_.mjs +0 -1221
  62. package/dist/classDiagram-beda092f-CRNvkLYf.mjs +0 -218
  63. package/dist/classDiagram-v2-2358418a-CUFy5DGQ.mjs +0 -200
  64. package/dist/createText-1719965b-BEXd6yNU.mjs +0 -2955
  65. package/dist/edges-96097737-CTds2HS2.mjs +0 -1088
  66. package/dist/erDiagram-0228fc6a-DdOqXYmJ.mjs +0 -929
  67. package/dist/flowDb-c6c81e3f-LkwBoeG_.mjs +0 -1126
  68. package/dist/flowDiagram-50d868cf-BlsvSXSO.mjs +0 -788
  69. package/dist/flowDiagram-v2-4f6560a1-KScjGHBx.mjs +0 -17
  70. package/dist/flowchart-elk-definition-6af322e1-mTna7kqR.mjs +0 -48146
  71. package/dist/ganttDiagram-a2739b55-B2o_UW9_.mjs +0 -2477
  72. package/dist/gitGraphDiagram-82fe8481-B6-VRPS0.mjs +0 -1264
  73. package/dist/graph-CSVeLFCJ.mjs +0 -847
  74. package/dist/index-5325376f-DsGv8AO4.mjs +0 -373
  75. package/dist/infoDiagram-8eee0895-Cx7V52QV.mjs +0 -319
  76. package/dist/journeyDiagram-c64418c1-C03IeVHa.mjs +0 -801
  77. package/dist/layout-DfnPfvJm.mjs +0 -1472
  78. package/dist/line-BwAWhs05.mjs +0 -33
  79. package/dist/linear-Ck_Qt8nI.mjs +0 -423
  80. package/dist/mindmap-definition-8da855dc-DdMLbjBy.mjs +0 -21922
  81. package/dist/path-DLwuMfdd.mjs +0 -84
  82. package/dist/pieDiagram-a8764435-BymSofHf.mjs +0 -500
  83. package/dist/quadrantDiagram-1e28029f-BXtW3eHp.mjs +0 -903
  84. package/dist/requirementDiagram-08caed73-DGBKyhE-.mjs +0 -767
  85. package/dist/sankeyDiagram-a04cb91d-BfUYRgG3.mjs +0 -802
  86. package/dist/sequenceDiagram-c5b8d532-Jj_1ttvV.mjs +0 -2234
  87. package/dist/stateDiagram-1ecb1508-CbSM9l6I.mjs +0 -266
  88. package/dist/stateDiagram-v2-c2b004d7-dS2KbqNc.mjs +0 -184
  89. package/dist/styles-b4e223ce-D01XEgS6.mjs +0 -1089
  90. package/dist/styles-ca3715f6-amZyw1GB.mjs +0 -960
  91. package/dist/styles-d45a18b0-GN33fYGn.mjs +0 -436
  92. package/dist/svgDrawCommon-b86b1483-BQvqkIEE.mjs +0 -64
  93. package/dist/timeline-definition-faaaa080-BjbyYT4p.mjs +0 -792
@@ -0,0 +1,217 @@
1
+ import { _ as l, s as k, g as R, q as E, p as F, a as I, b as _, H as D, y as G, D as f, E as C, F as P, l as z, K as H } from "./index-CWsdn0Oh.mjs";
2
+ import { p as V } from "./chunk-4BX2VUAB-Ddlc-PTG.mjs";
3
+ import { p as W } from "./mermaid-parser.core-CSzOHvro.mjs";
4
+ var x = {
5
+ showLegend: !0,
6
+ ticks: 5,
7
+ max: null,
8
+ min: 0,
9
+ graticule: "circle"
10
+ }, w = {
11
+ axes: [],
12
+ curves: [],
13
+ options: x
14
+ }, h = structuredClone(w), B = P.radar, j = /* @__PURE__ */ l(() => f({
15
+ ...B,
16
+ ...C().radar
17
+ }), "getConfig"), b = /* @__PURE__ */ l(() => h.axes, "getAxes"), q = /* @__PURE__ */ l(() => h.curves, "getCurves"), K = /* @__PURE__ */ l(() => h.options, "getOptions"), N = /* @__PURE__ */ l((a) => {
18
+ h.axes = a.map((t) => ({
19
+ name: t.name,
20
+ label: t.label ?? t.name
21
+ }));
22
+ }, "setAxes"), U = /* @__PURE__ */ l((a) => {
23
+ h.curves = a.map((t) => ({
24
+ name: t.name,
25
+ label: t.label ?? t.name,
26
+ entries: X(t.entries)
27
+ }));
28
+ }, "setCurves"), X = /* @__PURE__ */ l((a) => {
29
+ if (a[0].axis == null)
30
+ return a.map((e) => e.value);
31
+ const t = b();
32
+ if (t.length === 0)
33
+ throw new Error("Axes must be populated before curves for reference entries");
34
+ return t.map((e) => {
35
+ const r = a.find((s) => s.axis?.$refText === e.name);
36
+ if (r === void 0)
37
+ throw new Error("Missing entry for axis " + e.label);
38
+ return r.value;
39
+ });
40
+ }, "computeCurveEntries"), Y = /* @__PURE__ */ l((a) => {
41
+ const t = a.reduce(
42
+ (e, r) => (e[r.name] = r, e),
43
+ {}
44
+ );
45
+ h.options = {
46
+ showLegend: t.showLegend?.value ?? x.showLegend,
47
+ ticks: t.ticks?.value ?? x.ticks,
48
+ max: t.max?.value ?? x.max,
49
+ min: t.min?.value ?? x.min,
50
+ graticule: t.graticule?.value ?? x.graticule
51
+ };
52
+ }, "setOptions"), Z = /* @__PURE__ */ l(() => {
53
+ G(), h = structuredClone(w);
54
+ }, "clear"), $ = {
55
+ getAxes: b,
56
+ getCurves: q,
57
+ getOptions: K,
58
+ setAxes: N,
59
+ setCurves: U,
60
+ setOptions: Y,
61
+ getConfig: j,
62
+ clear: Z,
63
+ setAccTitle: _,
64
+ getAccTitle: I,
65
+ setDiagramTitle: F,
66
+ getDiagramTitle: E,
67
+ getAccDescription: R,
68
+ setAccDescription: k
69
+ }, J = /* @__PURE__ */ l((a) => {
70
+ V(a, $);
71
+ const { axes: t, curves: e, options: r } = a;
72
+ $.setAxes(t), $.setCurves(e), $.setOptions(r);
73
+ }, "populate"), Q = {
74
+ parse: /* @__PURE__ */ l(async (a) => {
75
+ const t = await W("radar", a);
76
+ z.debug(t), J(t);
77
+ }, "parse")
78
+ }, tt = /* @__PURE__ */ l((a, t, e, r) => {
79
+ const s = r.db, o = s.getAxes(), i = s.getCurves(), n = s.getOptions(), c = s.getConfig(), d = s.getDiagramTitle(), p = D(t), u = et(p, c), g = n.max ?? Math.max(...i.map((y) => Math.max(...y.entries))), m = n.min, v = Math.min(c.width, c.height) / 2;
80
+ at(u, o, v, n.ticks, n.graticule), rt(u, o, v, c), M(u, o, i, m, g, n.graticule, c), T(u, i, n.showLegend, c), u.append("text").attr("class", "radarTitle").text(d).attr("x", 0).attr("y", -c.height / 2 - c.marginTop);
81
+ }, "draw"), et = /* @__PURE__ */ l((a, t) => {
82
+ const e = t.width + t.marginLeft + t.marginRight, r = t.height + t.marginTop + t.marginBottom, s = {
83
+ x: t.marginLeft + t.width / 2,
84
+ y: t.marginTop + t.height / 2
85
+ };
86
+ return a.attr("viewbox", `0 0 ${e} ${r}`).attr("width", e).attr("height", r), a.append("g").attr("transform", `translate(${s.x}, ${s.y})`);
87
+ }, "drawFrame"), at = /* @__PURE__ */ l((a, t, e, r, s) => {
88
+ if (s === "circle")
89
+ for (let o = 0; o < r; o++) {
90
+ const i = e * (o + 1) / r;
91
+ a.append("circle").attr("r", i).attr("class", "radarGraticule");
92
+ }
93
+ else if (s === "polygon") {
94
+ const o = t.length;
95
+ for (let i = 0; i < r; i++) {
96
+ const n = e * (i + 1) / r, c = t.map((d, p) => {
97
+ const u = 2 * p * Math.PI / o - Math.PI / 2, g = n * Math.cos(u), m = n * Math.sin(u);
98
+ return `${g},${m}`;
99
+ }).join(" ");
100
+ a.append("polygon").attr("points", c).attr("class", "radarGraticule");
101
+ }
102
+ }
103
+ }, "drawGraticule"), rt = /* @__PURE__ */ l((a, t, e, r) => {
104
+ const s = t.length;
105
+ for (let o = 0; o < s; o++) {
106
+ const i = t[o].label, n = 2 * o * Math.PI / s - Math.PI / 2;
107
+ a.append("line").attr("x1", 0).attr("y1", 0).attr("x2", e * r.axisScaleFactor * Math.cos(n)).attr("y2", e * r.axisScaleFactor * Math.sin(n)).attr("class", "radarAxisLine"), a.append("text").text(i).attr("x", e * r.axisLabelFactor * Math.cos(n)).attr("y", e * r.axisLabelFactor * Math.sin(n)).attr("class", "radarAxisLabel");
108
+ }
109
+ }, "drawAxes");
110
+ function M(a, t, e, r, s, o, i) {
111
+ const n = t.length, c = Math.min(i.width, i.height) / 2;
112
+ e.forEach((d, p) => {
113
+ if (d.entries.length !== n)
114
+ return;
115
+ const u = d.entries.map((g, m) => {
116
+ const v = 2 * Math.PI * m / n - Math.PI / 2, y = A(g, r, s, c), O = y * Math.cos(v), S = y * Math.sin(v);
117
+ return { x: O, y: S };
118
+ });
119
+ o === "circle" ? a.append("path").attr("d", L(u, i.curveTension)).attr("class", `radarCurve-${p}`) : o === "polygon" && a.append("polygon").attr("points", u.map((g) => `${g.x},${g.y}`).join(" ")).attr("class", `radarCurve-${p}`);
120
+ });
121
+ }
122
+ l(M, "drawCurves");
123
+ function A(a, t, e, r) {
124
+ const s = Math.min(Math.max(a, t), e);
125
+ return r * (s - t) / (e - t);
126
+ }
127
+ l(A, "relativeRadius");
128
+ function L(a, t) {
129
+ const e = a.length;
130
+ let r = `M${a[0].x},${a[0].y}`;
131
+ for (let s = 0; s < e; s++) {
132
+ const o = a[(s - 1 + e) % e], i = a[s], n = a[(s + 1) % e], c = a[(s + 2) % e], d = {
133
+ x: i.x + (n.x - o.x) * t,
134
+ y: i.y + (n.y - o.y) * t
135
+ }, p = {
136
+ x: n.x - (c.x - i.x) * t,
137
+ y: n.y - (c.y - i.y) * t
138
+ };
139
+ r += ` C${d.x},${d.y} ${p.x},${p.y} ${n.x},${n.y}`;
140
+ }
141
+ return `${r} Z`;
142
+ }
143
+ l(L, "closedRoundCurve");
144
+ function T(a, t, e, r) {
145
+ if (!e)
146
+ return;
147
+ const s = (r.width / 2 + r.marginRight) * 3 / 4, o = -(r.height / 2 + r.marginTop) * 3 / 4, i = 20;
148
+ t.forEach((n, c) => {
149
+ const d = a.append("g").attr("transform", `translate(${s}, ${o + c * i})`);
150
+ d.append("rect").attr("width", 12).attr("height", 12).attr("class", `radarLegendBox-${c}`), d.append("text").attr("x", 16).attr("y", 0).attr("class", "radarLegendText").text(n.label);
151
+ });
152
+ }
153
+ l(T, "drawLegend");
154
+ var st = { draw: tt }, nt = /* @__PURE__ */ l((a, t) => {
155
+ let e = "";
156
+ for (let r = 0; r < a.THEME_COLOR_LIMIT; r++) {
157
+ const s = a[`cScale${r}`];
158
+ e += `
159
+ .radarCurve-${r} {
160
+ color: ${s};
161
+ fill: ${s};
162
+ fill-opacity: ${t.curveOpacity};
163
+ stroke: ${s};
164
+ stroke-width: ${t.curveStrokeWidth};
165
+ }
166
+ .radarLegendBox-${r} {
167
+ fill: ${s};
168
+ fill-opacity: ${t.curveOpacity};
169
+ stroke: ${s};
170
+ }
171
+ `;
172
+ }
173
+ return e;
174
+ }, "genIndexStyles"), ot = /* @__PURE__ */ l((a) => {
175
+ const t = H(), e = C(), r = f(t, e.themeVariables), s = f(r.radar, a);
176
+ return { themeVariables: r, radarOptions: s };
177
+ }, "buildRadarStyleOptions"), it = /* @__PURE__ */ l(({ radar: a } = {}) => {
178
+ const { themeVariables: t, radarOptions: e } = ot(a);
179
+ return `
180
+ .radarTitle {
181
+ font-size: ${t.fontSize};
182
+ color: ${t.titleColor};
183
+ dominant-baseline: hanging;
184
+ text-anchor: middle;
185
+ }
186
+ .radarAxisLine {
187
+ stroke: ${e.axisColor};
188
+ stroke-width: ${e.axisStrokeWidth};
189
+ }
190
+ .radarAxisLabel {
191
+ dominant-baseline: middle;
192
+ text-anchor: middle;
193
+ font-size: ${e.axisLabelFontSize}px;
194
+ color: ${e.axisColor};
195
+ }
196
+ .radarGraticule {
197
+ fill: ${e.graticuleColor};
198
+ fill-opacity: ${e.graticuleOpacity};
199
+ stroke: ${e.graticuleColor};
200
+ stroke-width: ${e.graticuleStrokeWidth};
201
+ }
202
+ .radarLegendText {
203
+ text-anchor: start;
204
+ font-size: ${e.legendFontSize}px;
205
+ dominant-baseline: hanging;
206
+ }
207
+ ${nt(t, e)}
208
+ `;
209
+ }, "styles"), ut = {
210
+ parser: Q,
211
+ db: $,
212
+ renderer: st,
213
+ styles: it
214
+ };
215
+ export {
216
+ ut as diagram
217
+ };
@@ -0,0 +1,142 @@
1
+ import { _ as b, D as m, H as B, e as C, l as w, b as S, a as D, p as T, q as E, g as F, s as P, E as z, F as A, y as W } from "./index-CWsdn0Oh.mjs";
2
+ import { p as _ } from "./chunk-4BX2VUAB-Ddlc-PTG.mjs";
3
+ import { p as N } from "./mermaid-parser.core-CSzOHvro.mjs";
4
+ var L = A.packet, u, v = (u = class {
5
+ constructor() {
6
+ this.packet = [], this.setAccTitle = S, this.getAccTitle = D, this.setDiagramTitle = T, this.getDiagramTitle = E, this.getAccDescription = F, this.setAccDescription = P;
7
+ }
8
+ getConfig() {
9
+ const t = m({
10
+ ...L,
11
+ ...z().packet
12
+ });
13
+ return t.showBits && (t.paddingY += 10), t;
14
+ }
15
+ getPacket() {
16
+ return this.packet;
17
+ }
18
+ pushWord(t) {
19
+ t.length > 0 && this.packet.push(t);
20
+ }
21
+ clear() {
22
+ W(), this.packet = [];
23
+ }
24
+ }, b(u, "PacketDB"), u), M = 1e4, Y = /* @__PURE__ */ b((e, t) => {
25
+ _(e, t);
26
+ let r = -1, s = [], n = 1;
27
+ const { bitsPerRow: l } = t.getConfig();
28
+ for (let { start: a, end: i, bits: d, label: c } of e.blocks) {
29
+ if (a !== void 0 && i !== void 0 && i < a)
30
+ throw new Error(`Packet block ${a} - ${i} is invalid. End must be greater than start.`);
31
+ if (a ??= r + 1, a !== r + 1)
32
+ throw new Error(
33
+ `Packet block ${a} - ${i ?? a} is not contiguous. It should start from ${r + 1}.`
34
+ );
35
+ if (d === 0)
36
+ throw new Error(`Packet block ${a} is invalid. Cannot have a zero bit field.`);
37
+ for (i ??= a + (d ?? 1) - 1, d ??= i - a + 1, r = i, w.debug(`Packet block ${a} - ${r} with label ${c}`); s.length <= l + 1 && t.getPacket().length < M; ) {
38
+ const [p, o] = H({ start: a, end: i, bits: d, label: c }, n, l);
39
+ if (s.push(p), p.end + 1 === n * l && (t.pushWord(s), s = [], n++), !o)
40
+ break;
41
+ ({ start: a, end: i, bits: d, label: c } = o);
42
+ }
43
+ }
44
+ t.pushWord(s);
45
+ }, "populate"), H = /* @__PURE__ */ b((e, t, r) => {
46
+ if (e.start === void 0)
47
+ throw new Error("start should have been set during first phase");
48
+ if (e.end === void 0)
49
+ throw new Error("end should have been set during first phase");
50
+ if (e.start > e.end)
51
+ throw new Error(`Block start ${e.start} is greater than block end ${e.end}.`);
52
+ if (e.end + 1 <= t * r)
53
+ return [e, void 0];
54
+ const s = t * r - 1, n = t * r;
55
+ return [
56
+ {
57
+ start: e.start,
58
+ end: s,
59
+ label: e.label,
60
+ bits: s - e.start
61
+ },
62
+ {
63
+ start: n,
64
+ end: e.end,
65
+ label: e.label,
66
+ bits: e.end - n
67
+ }
68
+ ];
69
+ }, "getNextFittingBlock"), x = {
70
+ // @ts-expect-error - PacketDB is not assignable to DiagramDB
71
+ parser: { yy: void 0 },
72
+ parse: /* @__PURE__ */ b(async (e) => {
73
+ const t = await N("packet", e), r = x.parser?.yy;
74
+ if (!(r instanceof v))
75
+ throw new Error(
76
+ "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."
77
+ );
78
+ w.debug(t), Y(t, r);
79
+ }, "parse")
80
+ }, I = /* @__PURE__ */ b((e, t, r, s) => {
81
+ const n = s.db, l = n.getConfig(), { rowHeight: a, paddingY: i, bitWidth: d, bitsPerRow: c } = l, p = n.getPacket(), o = n.getDiagramTitle(), h = a + i, g = h * (p.length + 1) - (o ? 0 : a), k = d * c + 2, f = B(t);
82
+ f.attr("viewbox", `0 0 ${k} ${g}`), C(f, g, k, l.useMaxWidth);
83
+ for (const [y, $] of p.entries())
84
+ O(f, $, y, l);
85
+ f.append("text").text(o).attr("x", k / 2).attr("y", g - h / 2).attr("dominant-baseline", "middle").attr("text-anchor", "middle").attr("class", "packetTitle");
86
+ }, "draw"), O = /* @__PURE__ */ b((e, t, r, { rowHeight: s, paddingX: n, paddingY: l, bitWidth: a, bitsPerRow: i, showBits: d }) => {
87
+ const c = e.append("g"), p = r * (s + l) + l;
88
+ for (const o of t) {
89
+ const h = o.start % i * a + 1, g = (o.end - o.start + 1) * a - n;
90
+ if (c.append("rect").attr("x", h).attr("y", p).attr("width", g).attr("height", s).attr("class", "packetBlock"), c.append("text").attr("x", h + g / 2).attr("y", p + s / 2).attr("class", "packetLabel").attr("dominant-baseline", "middle").attr("text-anchor", "middle").text(o.label), !d)
91
+ continue;
92
+ const k = o.end === o.start, f = p - 2;
93
+ c.append("text").attr("x", h + (k ? g / 2 : 0)).attr("y", f).attr("class", "packetByte start").attr("dominant-baseline", "auto").attr("text-anchor", k ? "middle" : "start").text(o.start), k || c.append("text").attr("x", h + g).attr("y", f).attr("class", "packetByte end").attr("dominant-baseline", "auto").attr("text-anchor", "end").text(o.end);
94
+ }
95
+ }, "drawWord"), j = { draw: I }, q = {
96
+ byteFontSize: "10px",
97
+ startByteColor: "black",
98
+ endByteColor: "black",
99
+ labelColor: "black",
100
+ labelFontSize: "12px",
101
+ titleColor: "black",
102
+ titleFontSize: "14px",
103
+ blockStrokeColor: "black",
104
+ blockStrokeWidth: "1",
105
+ blockFillColor: "#efefef"
106
+ }, G = /* @__PURE__ */ b(({ packet: e } = {}) => {
107
+ const t = m(q, e);
108
+ return `
109
+ .packetByte {
110
+ font-size: ${t.byteFontSize};
111
+ }
112
+ .packetByte.start {
113
+ fill: ${t.startByteColor};
114
+ }
115
+ .packetByte.end {
116
+ fill: ${t.endByteColor};
117
+ }
118
+ .packetLabel {
119
+ fill: ${t.labelColor};
120
+ font-size: ${t.labelFontSize};
121
+ }
122
+ .packetTitle {
123
+ fill: ${t.titleColor};
124
+ font-size: ${t.titleFontSize};
125
+ }
126
+ .packetBlock {
127
+ stroke: ${t.blockStrokeColor};
128
+ stroke-width: ${t.blockStrokeWidth};
129
+ fill: ${t.blockFillColor};
130
+ }
131
+ `;
132
+ }, "styles"), X = {
133
+ parser: x,
134
+ get db() {
135
+ return new v();
136
+ },
137
+ renderer: j,
138
+ styles: G
139
+ };
140
+ export {
141
+ X as diagram
142
+ };