schematex 0.3.2 → 0.3.4
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 +20 -1
- package/dist/ai/ai-sdk.cjs +25 -25
- package/dist/ai/ai-sdk.d.cts +1 -1
- package/dist/ai/ai-sdk.d.ts +1 -1
- package/dist/ai/ai-sdk.js +20 -20
- package/dist/ai/index.cjs +28 -28
- package/dist/ai/index.d.cts +1 -1
- package/dist/ai/index.d.ts +1 -1
- package/dist/ai/index.js +20 -20
- package/dist/browser.cjs +22 -22
- package/dist/browser.js +20 -20
- package/dist/{chunk-UK7JF5QB.cjs → chunk-3MJKJX27.cjs} +37 -38
- package/dist/chunk-3MJKJX27.cjs.map +1 -0
- package/dist/{chunk-HIQPEAL7.js → chunk-3RAVPXLN.js} +4 -4
- package/dist/{chunk-HIQPEAL7.js.map → chunk-3RAVPXLN.js.map} +1 -1
- package/dist/{chunk-LFZZ4NCP.cjs → chunk-3WNW5Y7P.cjs} +48 -8
- package/dist/chunk-3WNW5Y7P.cjs.map +1 -0
- package/dist/{chunk-XUEROLSB.cjs → chunk-4THC4VUA.cjs} +17 -17
- package/dist/chunk-4THC4VUA.cjs.map +1 -0
- package/dist/{chunk-K5QG53GT.cjs → chunk-5COUZTVA.cjs} +27 -27
- package/dist/{chunk-K5QG53GT.cjs.map → chunk-5COUZTVA.cjs.map} +1 -1
- package/dist/{chunk-F6OROIHS.js → chunk-5CTERELC.js} +4 -4
- package/dist/{chunk-F6OROIHS.js.map → chunk-5CTERELC.js.map} +1 -1
- package/dist/{chunk-ZNLEUL7T.js → chunk-5SKT7RYR.js} +5 -5
- package/dist/chunk-5SKT7RYR.js.map +1 -0
- package/dist/{chunk-75BMFCP5.cjs → chunk-5UCXMYE7.cjs} +44 -44
- package/dist/{chunk-75BMFCP5.cjs.map → chunk-5UCXMYE7.cjs.map} +1 -1
- package/dist/{chunk-GYTWJ6VB.cjs → chunk-6ULC3UHJ.cjs} +68 -49
- package/dist/chunk-6ULC3UHJ.cjs.map +1 -0
- package/dist/{chunk-3YXXZ4LT.cjs → chunk-6WORZSL3.cjs} +34 -34
- package/dist/{chunk-3YXXZ4LT.cjs.map → chunk-6WORZSL3.cjs.map} +1 -1
- package/dist/{chunk-6BKUD5EJ.js → chunk-6XGSEG3K.js} +4 -5
- package/dist/chunk-6XGSEG3K.js.map +1 -0
- package/dist/{chunk-OK5RYX55.cjs → chunk-CQP5YHVK.cjs} +26 -27
- package/dist/chunk-CQP5YHVK.cjs.map +1 -0
- package/dist/{chunk-2UJAVPA4.cjs → chunk-CS67UBP3.cjs} +27 -27
- package/dist/{chunk-2UJAVPA4.cjs.map → chunk-CS67UBP3.cjs.map} +1 -1
- package/dist/{chunk-YTEEZV6J.cjs → chunk-DBMZEZLF.cjs} +425 -425
- package/dist/chunk-DBMZEZLF.cjs.map +1 -0
- package/dist/{chunk-NFT6VW73.js → chunk-DHKKDIVT.js} +4 -4
- package/dist/chunk-DHKKDIVT.js.map +1 -0
- package/dist/{chunk-H4CJTKEH.js → chunk-DNZV4V4R.js} +5 -5
- package/dist/{chunk-H4CJTKEH.js.map → chunk-DNZV4V4R.js.map} +1 -1
- package/dist/{chunk-ZTSO3S4P.js → chunk-FO7BLCEW.js} +3 -3
- package/dist/{chunk-ZTSO3S4P.js.map → chunk-FO7BLCEW.js.map} +1 -1
- package/dist/{chunk-EYHD7LV3.cjs → chunk-H5JYZ5YS.cjs} +130 -130
- package/dist/chunk-H5JYZ5YS.cjs.map +1 -0
- package/dist/{chunk-RNGYXGHS.js → chunk-HKJRHXGZ.js} +22 -22
- package/dist/chunk-HKJRHXGZ.js.map +1 -0
- package/dist/{chunk-X4F6VVEJ.js → chunk-I6VEXSUK.js} +3 -4
- package/dist/chunk-I6VEXSUK.js.map +1 -0
- package/dist/{chunk-MKKFIPKU.cjs → chunk-IFR34VTL.cjs} +47 -47
- package/dist/chunk-IFR34VTL.cjs.map +1 -0
- package/dist/{chunk-BJ65PKDU.js → chunk-IURM4ZWE.js} +4 -4
- package/dist/chunk-IURM4ZWE.js.map +1 -0
- package/dist/{chunk-M5ZC3LFJ.js → chunk-IZMAZOQI.js} +4 -4
- package/dist/chunk-IZMAZOQI.js.map +1 -0
- package/dist/{chunk-RODV6PC4.cjs → chunk-J3Y2QDJR.cjs} +7 -7
- package/dist/{chunk-RODV6PC4.cjs.map → chunk-J3Y2QDJR.cjs.map} +1 -1
- package/dist/{chunk-BUN3CRMP.cjs → chunk-K6RAUXRQ.cjs} +65 -66
- package/dist/chunk-K6RAUXRQ.cjs.map +1 -0
- package/dist/{chunk-IT2TVXC7.js → chunk-LPKVIRYT.js} +4 -5
- package/dist/chunk-LPKVIRYT.js.map +1 -0
- package/dist/{chunk-W7GIQTJV.cjs → chunk-MIKCKV27.cjs} +22 -22
- package/dist/chunk-MIKCKV27.cjs.map +1 -0
- package/dist/{chunk-KUXOHLGC.cjs → chunk-O5POCPXZ.cjs} +52 -53
- package/dist/chunk-O5POCPXZ.cjs.map +1 -0
- package/dist/{chunk-BJWMPPEA.js → chunk-PWI4NFYR.js} +4 -4
- package/dist/chunk-PWI4NFYR.js.map +1 -0
- package/dist/{chunk-WHJXRLFD.js → chunk-SYYBKDL7.js} +48 -8
- package/dist/chunk-SYYBKDL7.js.map +1 -0
- package/dist/{chunk-L2KUGWFR.cjs → chunk-T47A6XUK.cjs} +47 -47
- package/dist/chunk-T47A6XUK.cjs.map +1 -0
- package/dist/{chunk-SFSZUOFT.js → chunk-TWAC2IIS.js} +4 -4
- package/dist/chunk-TWAC2IIS.js.map +1 -0
- package/dist/{chunk-XI6JOG76.cjs → chunk-V4OVUBLA.cjs} +46 -46
- package/dist/chunk-V4OVUBLA.cjs.map +1 -0
- package/dist/{chunk-2J2QWNGI.js → chunk-VRE5VWDQ.js} +27 -8
- package/dist/chunk-VRE5VWDQ.js.map +1 -0
- package/dist/{chunk-SE23X5OE.js → chunk-WHNIK4LK.js} +4 -5
- package/dist/chunk-WHNIK4LK.js.map +1 -0
- package/dist/{chunk-C3IVD7DI.cjs → chunk-WIFGBWET.cjs} +25 -26
- package/dist/chunk-WIFGBWET.cjs.map +1 -0
- package/dist/{chunk-7MVDN5UC.cjs → chunk-XSNNGYXZ.cjs} +36 -36
- package/dist/chunk-XSNNGYXZ.cjs.map +1 -0
- package/dist/{chunk-7BEJHG43.js → chunk-YWDODCW2.js} +4 -4
- package/dist/{chunk-7BEJHG43.js.map → chunk-YWDODCW2.js.map} +1 -1
- package/dist/{chunk-M3R6RCXY.js → chunk-ZKDL6Y3O.js} +4 -4
- package/dist/chunk-ZKDL6Y3O.js.map +1 -0
- package/dist/{chunk-56LXBM45.js → chunk-ZQZNWAHH.js} +4 -5
- package/dist/chunk-ZQZNWAHH.js.map +1 -0
- package/dist/diagrams/blockdiagram/index.cjs +6 -6
- package/dist/diagrams/blockdiagram/index.d.cts +1 -1
- package/dist/diagrams/blockdiagram/index.d.ts +1 -1
- package/dist/diagrams/blockdiagram/index.js +2 -2
- package/dist/diagrams/circuit/index.cjs +8 -8
- package/dist/diagrams/circuit/index.d.cts +1 -1
- package/dist/diagrams/circuit/index.d.ts +1 -1
- package/dist/diagrams/circuit/index.js +2 -2
- package/dist/diagrams/ecomap/index.cjs +8 -8
- package/dist/diagrams/ecomap/index.d.cts +1 -1
- package/dist/diagrams/ecomap/index.d.ts +1 -1
- package/dist/diagrams/ecomap/index.js +3 -3
- package/dist/diagrams/entity/index.cjs +6 -6
- package/dist/diagrams/entity/index.d.cts +1 -1
- package/dist/diagrams/entity/index.d.ts +1 -1
- package/dist/diagrams/entity/index.js +2 -2
- package/dist/diagrams/fishbone/index.cjs +8 -8
- package/dist/diagrams/fishbone/index.d.cts +1 -1
- package/dist/diagrams/fishbone/index.d.ts +1 -1
- package/dist/diagrams/fishbone/index.js +2 -2
- package/dist/diagrams/flowchart/index.cjs +8 -8
- package/dist/diagrams/flowchart/index.d.cts +2 -2
- package/dist/diagrams/flowchart/index.d.ts +2 -2
- package/dist/diagrams/flowchart/index.js +2 -2
- package/dist/diagrams/genogram/index.cjs +10 -10
- package/dist/diagrams/genogram/index.d.cts +1 -1
- package/dist/diagrams/genogram/index.d.ts +1 -1
- package/dist/diagrams/genogram/index.js +3 -3
- package/dist/diagrams/ladder/index.cjs +6 -6
- package/dist/diagrams/ladder/index.d.cts +1 -1
- package/dist/diagrams/ladder/index.d.ts +1 -1
- package/dist/diagrams/ladder/index.js +2 -2
- package/dist/diagrams/logic/index.cjs +6 -6
- package/dist/diagrams/logic/index.d.cts +1 -1
- package/dist/diagrams/logic/index.d.ts +1 -1
- package/dist/diagrams/logic/index.js +2 -2
- package/dist/diagrams/orgchart/index.cjs +7 -7
- package/dist/diagrams/orgchart/index.d.cts +1 -1
- package/dist/diagrams/orgchart/index.d.ts +1 -1
- package/dist/diagrams/orgchart/index.js +2 -2
- package/dist/diagrams/pedigree/index.cjs +8 -8
- package/dist/diagrams/pedigree/index.d.cts +1 -1
- package/dist/diagrams/pedigree/index.d.ts +1 -1
- package/dist/diagrams/pedigree/index.js +3 -3
- package/dist/diagrams/phylo/index.cjs +7 -7
- package/dist/diagrams/phylo/index.d.cts +1 -1
- package/dist/diagrams/phylo/index.d.ts +1 -1
- package/dist/diagrams/phylo/index.js +2 -2
- package/dist/diagrams/sld/index.cjs +6 -6
- package/dist/diagrams/sld/index.d.cts +1 -1
- package/dist/diagrams/sld/index.d.ts +1 -1
- package/dist/diagrams/sld/index.js +2 -2
- package/dist/diagrams/sociogram/index.cjs +7 -7
- package/dist/diagrams/sociogram/index.d.cts +1 -1
- package/dist/diagrams/sociogram/index.d.ts +1 -1
- package/dist/diagrams/sociogram/index.js +3 -3
- package/dist/diagrams/timing/index.cjs +5 -5
- package/dist/diagrams/timing/index.d.cts +1 -1
- package/dist/diagrams/timing/index.d.ts +1 -1
- package/dist/diagrams/timing/index.js +2 -2
- package/dist/diagrams/venn/index.cjs +9 -9
- package/dist/diagrams/venn/index.d.cts +1 -1
- package/dist/diagrams/venn/index.d.ts +1 -1
- package/dist/diagrams/venn/index.js +2 -2
- package/dist/export.cjs +1 -1
- package/dist/export.cjs.map +1 -1
- package/dist/export.d.cts +1 -1
- package/dist/export.d.ts +1 -1
- package/dist/export.js +1 -1
- package/dist/export.js.map +1 -1
- package/dist/{index-dWDwG6BW.d.ts → index-D3u6vcA4.d.ts} +1 -1
- package/dist/{index-BrLxEzSQ.d.cts → index-bdfj6FpQ.d.cts} +1 -1
- package/dist/index.cjs +41 -41
- package/dist/index.d.cts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +19 -19
- package/dist/react.cjs +20 -20
- package/dist/react.js +19 -19
- package/dist/{types-BtiUg7Gx.d.cts → types-DnU2UlWz.d.cts} +2 -0
- package/dist/{types-BtiUg7Gx.d.ts → types-DnU2UlWz.d.ts} +2 -0
- package/package.json +1 -1
- package/dist/chunk-2J2QWNGI.js.map +0 -1
- package/dist/chunk-56LXBM45.js.map +0 -1
- package/dist/chunk-6BKUD5EJ.js.map +0 -1
- package/dist/chunk-7MVDN5UC.cjs.map +0 -1
- package/dist/chunk-BJ65PKDU.js.map +0 -1
- package/dist/chunk-BJWMPPEA.js.map +0 -1
- package/dist/chunk-BUN3CRMP.cjs.map +0 -1
- package/dist/chunk-C3IVD7DI.cjs.map +0 -1
- package/dist/chunk-EYHD7LV3.cjs.map +0 -1
- package/dist/chunk-GYTWJ6VB.cjs.map +0 -1
- package/dist/chunk-IT2TVXC7.js.map +0 -1
- package/dist/chunk-KUXOHLGC.cjs.map +0 -1
- package/dist/chunk-L2KUGWFR.cjs.map +0 -1
- package/dist/chunk-LFZZ4NCP.cjs.map +0 -1
- package/dist/chunk-M3R6RCXY.js.map +0 -1
- package/dist/chunk-M5ZC3LFJ.js.map +0 -1
- package/dist/chunk-MKKFIPKU.cjs.map +0 -1
- package/dist/chunk-NFT6VW73.js.map +0 -1
- package/dist/chunk-OK5RYX55.cjs.map +0 -1
- package/dist/chunk-RNGYXGHS.js.map +0 -1
- package/dist/chunk-SE23X5OE.js.map +0 -1
- package/dist/chunk-SFSZUOFT.js.map +0 -1
- package/dist/chunk-UK7JF5QB.cjs.map +0 -1
- package/dist/chunk-W7GIQTJV.cjs.map +0 -1
- package/dist/chunk-WHJXRLFD.js.map +0 -1
- package/dist/chunk-X4F6VVEJ.js.map +0 -1
- package/dist/chunk-XI6JOG76.cjs.map +0 -1
- package/dist/chunk-XUEROLSB.cjs.map +0 -1
- package/dist/chunk-YTEEZV6J.cjs.map +0 -1
- package/dist/chunk-ZNLEUL7T.js.map +0 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var chunkD7EHZFK4_cjs = require('./chunk-D7EHZFK4.cjs');
|
|
4
|
-
var
|
|
4
|
+
var chunk3WNW5Y7P_cjs = require('./chunk-3WNW5Y7P.cjs');
|
|
5
5
|
|
|
6
6
|
// src/diagrams/flowchart/parser.ts
|
|
7
7
|
var FlowchartParseError = class extends Error {
|
|
@@ -404,7 +404,18 @@ function parseFlowchart(source) {
|
|
|
404
404
|
}
|
|
405
405
|
continue;
|
|
406
406
|
}
|
|
407
|
-
|
|
407
|
+
const linkStyleMatch = /^linkStyle\s+([\d,\s]+|default)\s+(.+)$/.exec(trimmed);
|
|
408
|
+
if (linkStyleMatch) {
|
|
409
|
+
const sel = linkStyleMatch[1].trim();
|
|
410
|
+
const props = parseCssProps(linkStyleMatch[2]);
|
|
411
|
+
if (sel !== "default") {
|
|
412
|
+
const indices = sel.split(/[,\s]+/).map((s) => s.trim()).filter((s) => s.length > 0).map((s) => parseInt(s, 10)).filter((n) => !isNaN(n));
|
|
413
|
+
for (const idx of indices) {
|
|
414
|
+
ast.linkStyles.set(idx, { ...ast.linkStyles.get(idx) ?? {}, ...props });
|
|
415
|
+
}
|
|
416
|
+
}
|
|
417
|
+
continue;
|
|
418
|
+
}
|
|
408
419
|
let parsed;
|
|
409
420
|
try {
|
|
410
421
|
parsed = parseChainStatement(trimmed, i + 1);
|
|
@@ -1574,6 +1585,8 @@ function layoutFlowchart(ast) {
|
|
|
1574
1585
|
if (flipX) c.x = outWidth - c.x;
|
|
1575
1586
|
}
|
|
1576
1587
|
}
|
|
1588
|
+
const edgeIndex = /* @__PURE__ */ new Map();
|
|
1589
|
+
ast.edges.forEach((e, i) => edgeIndex.set(e, i));
|
|
1577
1590
|
const outEdges = updatedEdges.map((le) => {
|
|
1578
1591
|
const chain = le.chain.length > 0 ? le.chain : [le.from, le.to];
|
|
1579
1592
|
const points = [];
|
|
@@ -1588,7 +1601,7 @@ function layoutFlowchart(ast) {
|
|
|
1588
1601
|
}
|
|
1589
1602
|
}
|
|
1590
1603
|
if (points.length < 2) {
|
|
1591
|
-
return { edge: le.original, path: "" };
|
|
1604
|
+
return { edge: le.original, path: "", index: edgeIndex.get(le.original) };
|
|
1592
1605
|
}
|
|
1593
1606
|
const startNode = nodeCenter.get(chain[0]);
|
|
1594
1607
|
const endNode = nodeCenter.get(chain[chain.length - 1]);
|
|
@@ -1613,7 +1626,8 @@ function layoutFlowchart(ast) {
|
|
|
1613
1626
|
isReversed: le.isReversed
|
|
1614
1627
|
},
|
|
1615
1628
|
path: d,
|
|
1616
|
-
labelAnchor
|
|
1629
|
+
labelAnchor,
|
|
1630
|
+
index: edgeIndex.get(le.original)
|
|
1617
1631
|
};
|
|
1618
1632
|
});
|
|
1619
1633
|
function collectDescendantNodeIds(sgId) {
|
|
@@ -1718,52 +1732,52 @@ function shapeSVG(shape, w, h) {
|
|
|
1718
1732
|
switch (shape) {
|
|
1719
1733
|
// ── M1 core shapes ─────────────────────────────────────────
|
|
1720
1734
|
case "rect":
|
|
1721
|
-
return
|
|
1735
|
+
return chunk3WNW5Y7P_cjs.rect({ x: 0, y: 0, width: w, height: h, rx: 14, ry: 14, class: "sx-fc-node" });
|
|
1722
1736
|
case "round":
|
|
1723
|
-
return
|
|
1737
|
+
return chunk3WNW5Y7P_cjs.rect({ x: 0, y: 0, width: w, height: h, rx: 20, ry: 20, class: "sx-fc-node sx-fc-node-round" });
|
|
1724
1738
|
case "stadium": {
|
|
1725
1739
|
const r = Math.min(h / 2, 24);
|
|
1726
|
-
return
|
|
1740
|
+
return chunk3WNW5Y7P_cjs.rect({ x: 0, y: 0, width: w, height: h, rx: r, ry: r, class: "sx-fc-node sx-fc-node-stadium" });
|
|
1727
1741
|
}
|
|
1728
1742
|
case "diamond": {
|
|
1729
1743
|
const points = `${w / 2},0 ${w},${h / 2} ${w / 2},${h} 0,${h / 2}`;
|
|
1730
|
-
return
|
|
1744
|
+
return chunk3WNW5Y7P_cjs.polygon({ points, class: "sx-fc-node sx-fc-node-diamond" });
|
|
1731
1745
|
}
|
|
1732
1746
|
case "parallelogram": {
|
|
1733
1747
|
const slant = SHAPE_SLANT.parallelogram;
|
|
1734
1748
|
const points = `${slant},0 ${w},0 ${w - slant},${h} 0,${h}`;
|
|
1735
|
-
return
|
|
1749
|
+
return chunk3WNW5Y7P_cjs.polygon({ points, class: "sx-fc-node" });
|
|
1736
1750
|
}
|
|
1737
1751
|
// ── M2 additional shapes ────────────────────────────────────
|
|
1738
1752
|
case "parallelogram-alt": {
|
|
1739
1753
|
const slant = SHAPE_SLANT.parallelogram;
|
|
1740
1754
|
const points = `0,0 ${w - slant},0 ${w},${h} ${slant},${h}`;
|
|
1741
|
-
return
|
|
1755
|
+
return chunk3WNW5Y7P_cjs.polygon({ points, class: "sx-fc-node" });
|
|
1742
1756
|
}
|
|
1743
1757
|
case "trapezoid": {
|
|
1744
1758
|
const slant = SHAPE_SLANT.trapezoid;
|
|
1745
1759
|
const points = `0,0 ${w},0 ${w - slant},${h} ${slant},${h}`;
|
|
1746
|
-
return
|
|
1760
|
+
return chunk3WNW5Y7P_cjs.polygon({ points, class: "sx-fc-node" });
|
|
1747
1761
|
}
|
|
1748
1762
|
case "trapezoid-alt": {
|
|
1749
1763
|
const slant = SHAPE_SLANT.trapezoid;
|
|
1750
1764
|
const points = `${slant},0 ${w - slant},0 ${w},${h} 0,${h}`;
|
|
1751
|
-
return
|
|
1765
|
+
return chunk3WNW5Y7P_cjs.polygon({ points, class: "sx-fc-node" });
|
|
1752
1766
|
}
|
|
1753
1767
|
case "subroutine": {
|
|
1754
1768
|
const barX = 10;
|
|
1755
|
-
const body =
|
|
1756
|
-
const left =
|
|
1757
|
-
const right =
|
|
1769
|
+
const body = chunk3WNW5Y7P_cjs.rect({ x: 0, y: 0, width: w, height: h, rx: 2, class: "sx-fc-node" });
|
|
1770
|
+
const left = chunk3WNW5Y7P_cjs.line({ x1: barX, y1: 0, x2: barX, y2: h, class: "sx-fc-node-subline" });
|
|
1771
|
+
const right = chunk3WNW5Y7P_cjs.line({ x1: w - barX, y1: 0, x2: w - barX, y2: h, class: "sx-fc-node-subline" });
|
|
1758
1772
|
return body + left + right;
|
|
1759
1773
|
}
|
|
1760
1774
|
case "cylinder": {
|
|
1761
1775
|
const ry = Math.min(8, h / 4);
|
|
1762
|
-
const silhouette =
|
|
1776
|
+
const silhouette = chunk3WNW5Y7P_cjs.path({
|
|
1763
1777
|
d: `M0,${ry} A${w / 2},${ry} 0 0,1 ${w},${ry} L${w},${h - ry} A${w / 2},${ry} 0 0,1 0,${h - ry} Z`,
|
|
1764
1778
|
class: "sx-fc-node"
|
|
1765
1779
|
});
|
|
1766
|
-
const topRim =
|
|
1780
|
+
const topRim = chunk3WNW5Y7P_cjs.path({
|
|
1767
1781
|
d: `M0,${ry} A${w / 2},${ry} 0 0,0 ${w},${ry}`,
|
|
1768
1782
|
class: "sx-fc-node-arc"
|
|
1769
1783
|
});
|
|
@@ -1771,26 +1785,26 @@ function shapeSVG(shape, w, h) {
|
|
|
1771
1785
|
}
|
|
1772
1786
|
case "circle": {
|
|
1773
1787
|
const r = Math.min(w, h) / 2 - 1;
|
|
1774
|
-
return
|
|
1788
|
+
return chunk3WNW5Y7P_cjs.circle({ cx: w / 2, cy: h / 2, r, class: "sx-fc-node sx-fc-node-circle" });
|
|
1775
1789
|
}
|
|
1776
1790
|
case "double-circle": {
|
|
1777
1791
|
const r1 = Math.min(w, h) / 2 - 1;
|
|
1778
1792
|
const r2 = r1 - 5;
|
|
1779
|
-
const outer =
|
|
1780
|
-
const inner =
|
|
1793
|
+
const outer = chunk3WNW5Y7P_cjs.circle({ cx: w / 2, cy: h / 2, r: r1, class: "sx-fc-node" });
|
|
1794
|
+
const inner = chunk3WNW5Y7P_cjs.circle({ cx: w / 2, cy: h / 2, r: r2, class: "sx-fc-node-ring" });
|
|
1781
1795
|
return outer + inner;
|
|
1782
1796
|
}
|
|
1783
1797
|
case "hexagon": {
|
|
1784
1798
|
const cut = Math.min(20, w / 4);
|
|
1785
1799
|
const points = `${cut},0 ${w - cut},0 ${w},${h / 2} ${w - cut},${h} ${cut},${h} 0,${h / 2}`;
|
|
1786
|
-
return
|
|
1800
|
+
return chunk3WNW5Y7P_cjs.polygon({ points, class: "sx-fc-node sx-fc-node-hexagon" });
|
|
1787
1801
|
}
|
|
1788
1802
|
case "asymmetric": {
|
|
1789
1803
|
const pts = `0,0 ${w - 15},0 ${w},${h / 2} ${w - 15},${h} 0,${h}`;
|
|
1790
|
-
return
|
|
1804
|
+
return chunk3WNW5Y7P_cjs.polygon({ points: pts, class: "sx-fc-node" });
|
|
1791
1805
|
}
|
|
1792
1806
|
default:
|
|
1793
|
-
return
|
|
1807
|
+
return chunk3WNW5Y7P_cjs.rect({ x: 0, y: 0, width: w, height: h, rx: 14, ry: 14, class: "sx-fc-node" });
|
|
1794
1808
|
}
|
|
1795
1809
|
}
|
|
1796
1810
|
|
|
@@ -1799,7 +1813,7 @@ var CSS_TEMPLATE = (themeName) => {
|
|
|
1799
1813
|
const t = chunkD7EHZFK4_cjs.resolveFlowchartTheme(themeName);
|
|
1800
1814
|
const c = t.classes;
|
|
1801
1815
|
return `
|
|
1802
|
-
.sx-fc {
|
|
1816
|
+
.sx-fc { font-family: system-ui, -apple-system, "Segoe UI", sans-serif; }
|
|
1803
1817
|
.sx-fc-node { fill: ${t.fillMuted}; stroke: ${t.stroke}; stroke-width: 1.5; stroke-linejoin: round; }
|
|
1804
1818
|
.sx-fc-node-stadium { fill: ${t.stadiumFill}; stroke: ${t.stroke}; }
|
|
1805
1819
|
.sx-fc-node-diamond { fill: ${t.diamondFill}; stroke: ${t.stroke}; }
|
|
@@ -1868,12 +1882,12 @@ function markerStartFor(edge) {
|
|
|
1868
1882
|
}
|
|
1869
1883
|
function renderCluster(lc) {
|
|
1870
1884
|
const sg = lc.subgraph;
|
|
1871
|
-
const bg =
|
|
1872
|
-
const label =
|
|
1885
|
+
const bg = chunk3WNW5Y7P_cjs.rect({ x: lc.x, y: lc.y, width: lc.width, height: lc.height, rx: 8, class: "sx-fc-cluster" });
|
|
1886
|
+
const label = chunk3WNW5Y7P_cjs.text(
|
|
1873
1887
|
{ x: lc.x + 12, y: lc.y + 15, class: "sx-fc-cluster-title" },
|
|
1874
1888
|
sg.label
|
|
1875
1889
|
);
|
|
1876
|
-
return
|
|
1890
|
+
return chunk3WNW5Y7P_cjs.group(
|
|
1877
1891
|
{ "data-cluster-id": sg.id, "data-depth": lc.depth, class: "sx-fc-cluster-g" },
|
|
1878
1892
|
[bg, label]
|
|
1879
1893
|
);
|
|
@@ -1881,7 +1895,7 @@ function renderCluster(lc) {
|
|
|
1881
1895
|
function renderNode(ln) {
|
|
1882
1896
|
const n = ln.node;
|
|
1883
1897
|
const shapeEl = shapeSVG(n.shape, ln.width, ln.height);
|
|
1884
|
-
const label =
|
|
1898
|
+
const label = chunk3WNW5Y7P_cjs.multilineText(
|
|
1885
1899
|
{
|
|
1886
1900
|
x: ln.width / 2,
|
|
1887
1901
|
y: ln.height / 2,
|
|
@@ -1892,9 +1906,9 @@ function renderNode(ln) {
|
|
|
1892
1906
|
n.label
|
|
1893
1907
|
);
|
|
1894
1908
|
const plainLabel = n.label.replace(/<br\s*\/?>/gi, " ").replace(/<\/?[bi]>/gi, "");
|
|
1895
|
-
const nodeTitle =
|
|
1909
|
+
const nodeTitle = chunk3WNW5Y7P_cjs.title(plainLabel);
|
|
1896
1910
|
const classAttr = ["sx-fc-node-g", ...(n.classes ?? []).map((c) => `sx-fc-class-${c}`)].join(" ");
|
|
1897
|
-
return
|
|
1911
|
+
return chunk3WNW5Y7P_cjs.group(
|
|
1898
1912
|
{
|
|
1899
1913
|
"data-node-id": n.id,
|
|
1900
1914
|
"data-shape": n.shape,
|
|
@@ -1916,19 +1930,20 @@ function renderEdge(le) {
|
|
|
1916
1930
|
const ms = markerStartFor(e);
|
|
1917
1931
|
if (me) attrs["marker-end"] = me;
|
|
1918
1932
|
if (ms) attrs["marker-start"] = ms;
|
|
1919
|
-
const p =
|
|
1933
|
+
const p = chunk3WNW5Y7P_cjs.path(attrs);
|
|
1920
1934
|
const labelEl = e.label && le.labelAnchor ? renderEdgeLabel(
|
|
1921
1935
|
e.label,
|
|
1922
1936
|
le.labelAnchor.x,
|
|
1923
1937
|
le.labelAnchor.y,
|
|
1924
1938
|
le.labelAnchor.textAnchor ?? "middle"
|
|
1925
1939
|
) : "";
|
|
1926
|
-
const edgeTitle =
|
|
1940
|
+
const edgeTitle = chunk3WNW5Y7P_cjs.title(
|
|
1927
1941
|
e.label ? `${e.from} \u2192 ${e.to}: ${e.label}` : `${e.from} \u2192 ${e.to}`
|
|
1928
1942
|
);
|
|
1929
|
-
return
|
|
1943
|
+
return chunk3WNW5Y7P_cjs.group(
|
|
1930
1944
|
{
|
|
1931
1945
|
"data-edge-id": e.id ?? `${e.from}->${e.to}`,
|
|
1946
|
+
"data-edge-index": le.index,
|
|
1932
1947
|
"data-kind": e.kind,
|
|
1933
1948
|
"data-from": e.from,
|
|
1934
1949
|
"data-to": e.to
|
|
@@ -1941,7 +1956,7 @@ function renderEdgeLabel(label, cx, cy, textAnchor) {
|
|
|
1941
1956
|
const h = 16;
|
|
1942
1957
|
const rx = cx - (textAnchor === "start" ? 0 : textAnchor === "end" ? w : w / 2);
|
|
1943
1958
|
const ry = cy - h / 2;
|
|
1944
|
-
const bg =
|
|
1959
|
+
const bg = chunk3WNW5Y7P_cjs.rect({
|
|
1945
1960
|
x: rx,
|
|
1946
1961
|
y: ry,
|
|
1947
1962
|
width: w,
|
|
@@ -1949,7 +1964,7 @@ function renderEdgeLabel(label, cx, cy, textAnchor) {
|
|
|
1949
1964
|
rx: 3,
|
|
1950
1965
|
class: "sx-fc-edge-label-bg"
|
|
1951
1966
|
});
|
|
1952
|
-
const t =
|
|
1967
|
+
const t = chunk3WNW5Y7P_cjs.text(
|
|
1953
1968
|
{
|
|
1954
1969
|
x: cx,
|
|
1955
1970
|
y: cy,
|
|
@@ -1959,7 +1974,7 @@ function renderEdgeLabel(label, cx, cy, textAnchor) {
|
|
|
1959
1974
|
},
|
|
1960
1975
|
label
|
|
1961
1976
|
);
|
|
1962
|
-
return
|
|
1977
|
+
return chunk3WNW5Y7P_cjs.group({ class: "sx-fc-edge-label-g" }, [bg, t]);
|
|
1963
1978
|
}
|
|
1964
1979
|
function fmt2(n) {
|
|
1965
1980
|
return (Math.round(n * 100) / 100).toString();
|
|
@@ -1977,7 +1992,11 @@ function renderFlowchartAST(ast, themeName = "default") {
|
|
|
1977
1992
|
const props = Object.entries(cd.props).map(([k, v]) => `${k}:${v}`).join(";");
|
|
1978
1993
|
return `.sx-fc-class-${cd.id} > .sx-fc-node { ${props} }`;
|
|
1979
1994
|
}).join("\n");
|
|
1980
|
-
const
|
|
1995
|
+
const linkStyleOverrides = Array.from(ast.linkStyles.entries()).map(([idx, props]) => {
|
|
1996
|
+
const cssProps = Object.entries(props).map(([k, v]) => `${k}:${v}`).join(";");
|
|
1997
|
+
return `g[data-edge-index="${idx}"] path { ${cssProps} }`;
|
|
1998
|
+
}).join("\n");
|
|
1999
|
+
const titleBlock = ast.title ? chunk3WNW5Y7P_cjs.text(
|
|
1981
2000
|
{
|
|
1982
2001
|
x: layout.width / 2,
|
|
1983
2002
|
y: 16,
|
|
@@ -1986,24 +2005,24 @@ function renderFlowchartAST(ast, themeName = "default") {
|
|
|
1986
2005
|
},
|
|
1987
2006
|
ast.title
|
|
1988
2007
|
) : "";
|
|
1989
|
-
const cssOverrides = [nodeStyleOverrides, classDefOverrides].filter((s) => s.length > 0).join("\n");
|
|
2008
|
+
const cssOverrides = [nodeStyleOverrides, classDefOverrides, linkStyleOverrides].filter((s) => s.length > 0).join("\n");
|
|
1990
2009
|
const headMeta = [
|
|
1991
|
-
|
|
1992
|
-
|
|
2010
|
+
chunk3WNW5Y7P_cjs.title(ast.title ? `${ast.title} \u2014 Flowchart` : "Flowchart"),
|
|
2011
|
+
chunk3WNW5Y7P_cjs.desc(
|
|
1993
2012
|
`Flowchart with ${ast.nodes.length} node${ast.nodes.length === 1 ? "" : "s"} and ${ast.edges.length} edge${ast.edges.length === 1 ? "" : "s"}.`
|
|
1994
2013
|
),
|
|
1995
|
-
|
|
1996
|
-
|
|
2014
|
+
chunk3WNW5Y7P_cjs.el("style", {}, CSS_TEMPLATE(themeName) + (cssOverrides ? "\n" + cssOverrides : "")),
|
|
2015
|
+
chunk3WNW5Y7P_cjs.defs([ARROW_MARKER])
|
|
1997
2016
|
];
|
|
1998
2017
|
const content = [];
|
|
1999
|
-
if (clusterSvg.length > 0) content.push(
|
|
2000
|
-
content.push(
|
|
2001
|
-
content.push(
|
|
2018
|
+
if (clusterSvg.length > 0) content.push(chunk3WNW5Y7P_cjs.group({ class: "sx-fc-clusters" }, clusterSvg));
|
|
2019
|
+
content.push(chunk3WNW5Y7P_cjs.group({ class: "sx-fc-edges" }, edgeSvg));
|
|
2020
|
+
content.push(chunk3WNW5Y7P_cjs.group({ class: "sx-fc-nodes" }, nodeSvg));
|
|
2002
2021
|
const hasClusters = layout.clusters.length > 0;
|
|
2003
2022
|
const topPad = ast.title ? hasClusters ? 56 : 24 : 0;
|
|
2004
2023
|
const totalH = layout.height + topPad;
|
|
2005
2024
|
const titleSvg = titleBlock;
|
|
2006
|
-
return
|
|
2025
|
+
return chunk3WNW5Y7P_cjs.svgRoot(
|
|
2007
2026
|
{
|
|
2008
2027
|
viewBox: `0 0 ${fmt2(layout.width)} ${fmt2(totalH)}`,
|
|
2009
2028
|
width: fmt2(layout.width),
|
|
@@ -2016,7 +2035,7 @@ function renderFlowchartAST(ast, themeName = "default") {
|
|
|
2016
2035
|
topPad > 0 ? [
|
|
2017
2036
|
...headMeta,
|
|
2018
2037
|
titleSvg,
|
|
2019
|
-
|
|
2038
|
+
chunk3WNW5Y7P_cjs.group({ transform: `translate(0 ${topPad})` }, content)
|
|
2020
2039
|
] : [...headMeta, titleSvg, ...content]
|
|
2021
2040
|
);
|
|
2022
2041
|
}
|
|
@@ -2051,5 +2070,5 @@ exports.layoutFlowchart = layoutFlowchart;
|
|
|
2051
2070
|
exports.parseFlowchart = parseFlowchart;
|
|
2052
2071
|
exports.renderFlowchart = renderFlowchart;
|
|
2053
2072
|
exports.renderFlowchartAST = renderFlowchartAST;
|
|
2054
|
-
//# sourceMappingURL=chunk-
|
|
2055
|
-
//# sourceMappingURL=chunk-
|
|
2073
|
+
//# sourceMappingURL=chunk-6ULC3UHJ.cjs.map
|
|
2074
|
+
//# sourceMappingURL=chunk-6ULC3UHJ.cjs.map
|