@diagrammo/dgmo 0.56.0 → 0.58.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.
- package/dist/advanced.d.ts +57 -7
- package/dist/advanced.js +206 -196
- package/dist/auto.css +60 -0
- package/dist/auto.js +185 -124
- package/dist/auto.mjs +6749 -6280
- package/dist/block.css +60 -0
- package/dist/block.d.ts +12 -0
- package/dist/block.js +132 -61
- package/dist/{chart-meta-CPNVUZ5J.d.ts → chart-meta-C6UaqhTP.d.ts} +1 -1
- package/dist/chart-meta.d.ts +2 -2
- package/dist/chart-meta.js +53 -51
- package/dist/{charts-d3-D67V6KHE.js → charts-d3-K5M5J5ZM.js} +5 -5
- package/dist/{chunk-GDGOVO2I.js → chunk-2JPEBOUQ.js} +71 -55
- package/dist/{chunk-FERE46TP.js → chunk-2UBTPFIF.js} +3 -3
- package/dist/{chunk-CXI6X54X.js → chunk-3DY7TNZ7.js} +2 -2
- package/dist/{chunk-D5FANMSG.js → chunk-3LMUMAUS.js} +2 -2
- package/dist/{chunk-D3WTEBGT.js → chunk-46NVO5UA.js} +2 -2
- package/dist/{chunk-5J2RQGFG.js → chunk-4CE2GOC2.js} +3 -3
- package/dist/{chunk-VKN7YW4Q.js → chunk-4ESLORPX.js} +7 -7
- package/dist/chunk-4UNGFVVY.js +181 -0
- package/dist/{chunk-Y2L2LET6.js → chunk-52KLHCXQ.js} +6 -6
- package/dist/{chunk-VSFAJUEF.js → chunk-5RPSN32F.js} +3 -3
- package/dist/{chunk-RBIX3HQQ.js → chunk-5RY4W7J6.js} +9 -9
- package/dist/{chunk-GUVVQW3Y.js → chunk-6F3MVYUW.js} +6 -6
- package/dist/{chunk-ST3ZNEUQ.js → chunk-6JYE3SDK.js} +2 -2
- package/dist/{chunk-FZECLCCU.js → chunk-6KTRV3O5.js} +3 -3
- package/dist/{chunk-KIGV66SP.js → chunk-7Q6HX7ON.js} +6 -6
- package/dist/{chunk-ULR3BVNH.js → chunk-7SGR7A5K.js} +4 -4
- package/dist/{chunk-5ZDHXS5N.js → chunk-7UZFAIKI.js} +7 -7
- package/dist/{chunk-WFX6AUQO.js → chunk-ATKB7VEN.js} +9 -4
- package/dist/{chunk-5VLUAAAE.js → chunk-AU4AQYOA.js} +3 -3
- package/dist/{chunk-4MB4UOT5.js → chunk-B4U7RRQ4.js} +2 -2
- package/dist/{chunk-QWUYFUNO.js → chunk-BFYPHZ5M.js} +2 -2
- package/dist/{chunk-NVQXIDLE.js → chunk-BIWMOFSE.js} +7 -7
- package/dist/{chunk-HPJITTF7.js → chunk-C7IKQOEQ.js} +15 -15
- package/dist/{chunk-YJUF2N3C.js → chunk-CBPFVH3N.js} +10 -10
- package/dist/{chunk-R7ECJQTB.js → chunk-CC6XIQDE.js} +3 -3
- package/dist/{chunk-3R67RRPC.js → chunk-CZIFUXI2.js} +7 -7
- package/dist/chunk-D3K4U3ZM.js +232 -0
- package/dist/{chunk-RQGNELB3.js → chunk-DWAQXY6T.js} +3 -3
- package/dist/{chunk-HIMDUQT7.js → chunk-DWMJLEBT.js} +7 -7
- package/dist/{chunk-YG5KQ55U.js → chunk-DZUDSGGQ.js} +13 -21
- package/dist/chunk-E55OZDFH.js +65 -0
- package/dist/{chunk-P6XFQVYY.js → chunk-E6CCWMTT.js} +19 -19
- package/dist/{chunk-3KOPPSUQ.js → chunk-E7HANW62.js} +12 -3
- package/dist/{chunk-ZMMYCERO.js → chunk-EDJYIQZM.js} +9 -233
- package/dist/{chunk-JXFB3APA.js → chunk-EEF7BUX7.js} +15 -15
- package/dist/{chunk-23THM67F.js → chunk-FWNJ45NW.js} +5 -5
- package/dist/{chunk-2UZVMWSQ.js → chunk-FXIG472W.js} +5 -5
- package/dist/{chunk-CQOC2MD6.js → chunk-GAFNYUNJ.js} +17 -16
- package/dist/{chunk-AIH6M5J6.js → chunk-GGKWKNOL.js} +4 -4
- package/dist/{chunk-U2BKSEKU.js → chunk-H52HJ26L.js} +2 -2
- package/dist/{chunk-BR2VSKHI.js → chunk-HBIGEWRC.js} +5 -5
- package/dist/{chunk-D64FRGKU.js → chunk-HUYAMTCD.js} +2 -2
- package/dist/{chunk-FCA2UGJT.js → chunk-HXTS54OV.js} +6 -6
- package/dist/{chunk-XN4ZSACM.js → chunk-ILZHMKYQ.js} +7 -7
- package/dist/{chunk-W2I2EXSC.js → chunk-IRN5GBBO.js} +15 -15
- package/dist/{chunk-YH62K5D4.js → chunk-JM65HLBZ.js} +13 -13
- package/dist/{chunk-DIKIHU52.js → chunk-KAG5JCZV.js} +3 -3
- package/dist/{chunk-4MJOBVY7.js → chunk-KNCY7YHC.js} +2 -2
- package/dist/{chunk-N2KO445N.js → chunk-L5DQB4C7.js} +16 -16
- package/dist/{chunk-5HWPEYWB.js → chunk-LDVUPGWC.js} +2 -2
- package/dist/{chunk-EEKGMS63.js → chunk-LLDNNANC.js} +3 -3
- package/dist/{chunk-SK7PCW4F.js → chunk-LSFZDBAP.js} +2 -2
- package/dist/{chunk-7SXTD7L6.js → chunk-LYQMN35H.js} +2 -2
- package/dist/{chunk-ES3MUYRX.js → chunk-MF4FDLFG.js} +3 -3
- package/dist/{chunk-YNAHUNMA.js → chunk-MPPOQOCF.js} +2 -2
- package/dist/{chunk-QDOYT6UW.js → chunk-N7PF5IRF.js} +4 -4
- package/dist/chunk-NCT22MOD.js +93 -0
- package/dist/{chunk-RK3Y4WMV.js → chunk-NGGVVTP2.js} +15 -15
- package/dist/{chunk-AMC2OGXF.js → chunk-NPBAV3QU.js} +13 -13
- package/dist/{chunk-HODUM6LY.js → chunk-NQGE76NC.js} +10 -10
- package/dist/{chunk-5XMDSXZT.js → chunk-NSUAU6JQ.js} +2 -2
- package/dist/{chunk-OHBIN74X.js → chunk-NW2K6UU2.js} +3 -3
- package/dist/{chunk-WOMXS5R7.js → chunk-NYCBN7YE.js} +3 -3
- package/dist/{chunk-FXVPSTDT.js → chunk-OMOU2V3W.js} +6 -6
- package/dist/chunk-ON4MEUC4.js +50 -0
- package/dist/{chunk-SOBGK35Z.js → chunk-OXANJRNK.js} +8 -8
- package/dist/{chunk-X32RDWT5.js → chunk-PH5WK6G5.js} +3 -3
- package/dist/{chunk-C3BWDEYN.js → chunk-PIIORN3Q.js} +7 -7
- package/dist/{chunk-YM2ZQIVG.js → chunk-QDOSCTL5.js} +9 -17
- package/dist/{chunk-CY5KE2P5.js → chunk-QS37VUFZ.js} +2 -2
- package/dist/{chunk-NFAHDPCG.js → chunk-RB3AFVPT.js} +3 -3
- package/dist/{chunk-LV5BFA24.js → chunk-RDHZRHDG.js} +3 -3
- package/dist/{chunk-AOJJSGXE.js → chunk-S3AZMBK7.js} +7 -7
- package/dist/{chunk-OWLGERJL.js → chunk-SBQXLX6Y.js} +6 -6
- package/dist/{chunk-PECYPUJJ.js → chunk-SQK4EKOW.js} +8 -8
- package/dist/{chunk-2JMNOEAU.js → chunk-STYJ6EOV.js} +163 -140
- package/dist/{chunk-AN465MXC.js → chunk-SZCZOA2L.js} +2 -2
- package/dist/{chunk-GG7TK3IA.js → chunk-TQC2SUMJ.js} +6 -6
- package/dist/{chunk-HE57UQHL.js → chunk-TXQXPJTG.js} +4 -4
- package/dist/{chunk-RV2N7COG.js → chunk-UFDLQKCR.js} +2 -2
- package/dist/{chunk-YWPWRR7W.js → chunk-UPTAWSCG.js} +2 -2
- package/dist/{chunk-ULONXAOD.js → chunk-VBSKNQUO.js} +6 -6
- package/dist/{chunk-UU6LUYUH.js → chunk-VJARCVMH.js} +2 -2
- package/dist/{chunk-HOPTF3ZP.js → chunk-VJYERZ2Q.js} +7 -7
- package/dist/{chunk-USFZQPJ2.js → chunk-W22JRLNA.js} +3 -3
- package/dist/{chunk-KSPCR75O.js → chunk-W2RU24DD.js} +6 -6
- package/dist/{chunk-NHZAYL2X.js → chunk-W6T5QRIR.js} +4 -4
- package/dist/{chunk-3HDBAXF5.js → chunk-WGC42WJU.js} +8 -1
- package/dist/{chunk-APD52YJV.js → chunk-WQWVLAA5.js} +4 -4
- package/dist/{chunk-VU3DOZ6C.js → chunk-WYG5VJY2.js} +4 -4
- package/dist/{chunk-VYEQPPS6.js → chunk-WYGLKR4I.js} +3 -3
- package/dist/{chunk-MGLJA5TK.js → chunk-X3YNX4DR.js} +2 -2
- package/dist/{chunk-A4DAZO3U.js → chunk-X4JEAY73.js} +13 -13
- package/dist/{chunk-JE3SMHRZ.js → chunk-XHTRLRZ5.js} +9 -9
- package/dist/{chunk-UZ6L5VQJ.js → chunk-XXAHWYQU.js} +3 -3
- package/dist/{chunk-HKKPUUNK.js → chunk-YAG7WAQE.js} +13 -13
- package/dist/{chunk-KF575IXC.js → chunk-YILSSUEL.js} +3 -3
- package/dist/{chunk-WK3UFCZC.js → chunk-YKMOI6ZG.js} +11 -11
- package/dist/{chunk-TGOMHUOV.js → chunk-ZEIYC7XO.js} +12 -1
- package/dist/{chunk-PFG3EVRD.js → chunk-ZKNSLC35.js} +3 -3
- package/dist/{chunk-U7ZQTUZT.js → chunk-ZW7LTYW2.js} +4 -4
- package/dist/cli.cjs +144 -143
- package/dist/cloud-reference.d.ts +76 -0
- package/dist/cloud-reference.js +18 -0
- package/dist/completion-registry.js +24 -5
- package/dist/dgmo-router-2637N4DY.js +90 -0
- package/dist/{dimensions-PLECMFTR.js → dimensions-HSIQYP5Z.js} +5 -5
- package/dist/editor.js +11 -2
- package/dist/element.js +188 -127
- package/dist/element.mjs +6749 -6280
- package/dist/{flowchart-parser-DA3V2SLH.js → flowchart-parser-I2TEUWAP.js} +4 -4
- package/dist/{flowchart-renderer-UQVXOUW4.js → flowchart-renderer-ER66DNCI.js} +12 -12
- package/dist/highlight.js +11 -2
- package/dist/index.d.ts +13 -4
- package/dist/index.js +65 -59
- package/dist/{layout-UXMNKETK.js → layout-3QMCSW6B.js} +8 -7
- package/dist/{layout-2BJDECLZ.js → layout-DH6GSKAH.js} +7 -6
- package/dist/{layout-HIK4ZJFQ.js → layout-HTDK3DMG.js} +4 -4
- package/dist/{layout-A5UVXINF.js → layout-K4S54TX7.js} +4 -4
- package/dist/{layout-UFZQI6SX.js → layout-RIS5VTGL.js} +7 -6
- package/dist/{layout-3XFPPFXI.js → layout-TCWNJ2OZ.js} +7 -6
- package/dist/{layout-SNIEAZ2I.js → layout-V5X3U3WB.js} +4 -4
- package/dist/{layout-QRVYYYZ3.js → layout-VFUHKLTS.js} +3 -3
- package/dist/{layout-WDXNSQQF.js → layout-VNEBCYPX.js} +4 -4
- package/dist/{layout-search-I4VNIRGT.js → layout-search-N6NQI5OQ.js} +10 -9
- package/dist/{parser-5UZWYSIV.js → parser-2RTQF2LA.js} +4 -4
- package/dist/{parser-4ZIJDGPG.js → parser-2VTOUMJY.js} +4 -4
- package/dist/{parser-HMQZPPOK.js → parser-3M3QQRCZ.js} +4 -4
- package/dist/{parser-RBNOWHGM.js → parser-4WSJVVG6.js} +4 -4
- package/dist/{parser-Q3KNFXQR.js → parser-67JHR6I6.js} +4 -4
- package/dist/{parser-MH62NYKM.js → parser-6GXEHNZD.js} +4 -4
- package/dist/{parser-O5XCVGZG.js → parser-6I3NOLKL.js} +3 -3
- package/dist/{parser-6CM27UPA.js → parser-7VNCLF77.js} +4 -4
- package/dist/{parser-QL2LBPFE.js → parser-AE7RC4IJ.js} +4 -4
- package/dist/{parser-DQ2DGDYO.js → parser-BDGMJSZB.js} +3 -3
- package/dist/{parser-WT3DSNPQ.js → parser-BVHECXAJ.js} +4 -4
- package/dist/{parser-QEWSTNEJ.js → parser-FLCLHHOM.js} +4 -4
- package/dist/{parser-VVTCMQWY.js → parser-FSSAJO2M.js} +5 -5
- package/dist/{parser-73YUU35J.js → parser-GH2Y6CR4.js} +3 -3
- package/dist/{parser-AYZTKZC3.js → parser-GUUNA7WE.js} +3 -3
- package/dist/{parser-GGCDY65M.js → parser-ISJJO7TJ.js} +5 -5
- package/dist/parser-J3FUTZAQ.js +12 -0
- package/dist/{parser-Q62VR2UJ.js → parser-JY7ZU5PP.js} +5 -5
- package/dist/{parser-4TX6U4ZU.js → parser-KKBW25LM.js} +3 -3
- package/dist/{parser-XWNSCDY6.js → parser-M74SVSPT.js} +4 -4
- package/dist/{parser-CCAUZLYI.js → parser-MKJ52TD7.js} +4 -4
- package/dist/{parser-A6M25MLK.js → parser-MPQTXCBQ.js} +3 -3
- package/dist/{parser-LQDEU22S.js → parser-N3AAAGTA.js} +4 -4
- package/dist/{parser-OPOGIKFR.js → parser-N7SSE4SK.js} +4 -4
- package/dist/{parser-D7YZX3CH.js → parser-NH6IAVZJ.js} +3 -3
- package/dist/{parser-IPBEW2DG.js → parser-NKHBUGAX.js} +4 -4
- package/dist/{parser-PQXN6SBB.js → parser-QVX4FR3J.js} +5 -5
- package/dist/{parser-JWAGGYLL.js → parser-S6QH3QIK.js} +5 -5
- package/dist/{parser-PEBXIOPX.js → parser-UODHU3EP.js} +4 -4
- package/dist/{parser-LNEAHGXF.js → parser-UVS6OHCO.js} +5 -5
- package/dist/{parser-SJ7ECFAP.js → parser-X3TCE7P5.js} +4 -4
- package/dist/{parser-QN3GJJ3J.js → parser-XQKSQBOT.js} +3 -3
- package/dist/{parser-KTVDCWHG.js → parser-XXYB4TRG.js} +4 -4
- package/dist/{registry-CaSw0PSH.d.ts → registry-C0HvobTb.d.ts} +17 -0
- package/dist/renderer-2G7Q3L5W.js +77 -0
- package/dist/{renderer-I5MAFUKX.js → renderer-2IO3H53I.js} +6 -6
- package/dist/{renderer-M6AFKVLS.js → renderer-2KDW3TWO.js} +5 -5
- package/dist/{renderer-CB2DOQ2O.js → renderer-2SK7UM4O.js} +5 -5
- package/dist/{renderer-P7O6OUYC.js → renderer-34GG6RHO.js} +9 -9
- package/dist/{renderer-WWC5VGHH.js → renderer-44EXXXRC.js} +7 -7
- package/dist/{renderer-MLDGFZDW.js → renderer-4SH6U6WF.js} +6 -6
- package/dist/{renderer-53FU55KK.js → renderer-4WQRF2SK.js} +6 -6
- package/dist/{renderer-CL4SAUA5.js → renderer-7AVFPE3Q.js} +5 -5
- package/dist/{renderer-52S6JM5R.js → renderer-BA6WTWVL.js} +8 -8
- package/dist/{renderer-JNC6VJMN.js → renderer-BLPXBLUP.js} +7 -7
- package/dist/{renderer-4VLQKKTV.js → renderer-C7LFE5CB.js} +15 -15
- package/dist/{renderer-5CU6GYF2.js → renderer-CUXXNHFU.js} +8 -8
- package/dist/{renderer-TOKGYFTG.js → renderer-DRNJJNAE.js} +5 -5
- package/dist/{renderer-OZIPP7VF.js → renderer-DVUKHOFB.js} +11 -11
- package/dist/{renderer-FRBPMKPP.js → renderer-I7Q5U2TU.js} +6 -6
- package/dist/{renderer-SYT4L7GE.js → renderer-JIUVU3PF.js} +3 -3
- package/dist/{renderer-J5TL5ZX4.js → renderer-LXIIZ3BH.js} +15 -15
- package/dist/{renderer-5G3PORFD.js → renderer-MTX6PLPA.js} +11 -11
- package/dist/{renderer-IWNHBIZ6.js → renderer-NKVIQA3C.js} +4 -4
- package/dist/{renderer-YWYX6WAI.js → renderer-QGZ2BOJG.js} +4 -4
- package/dist/{renderer-O4ECS2BI.js → renderer-SL5IQJKB.js} +10 -10
- package/dist/{renderer-3IETIUZB.js → renderer-SL5LE7MU.js} +8 -8
- package/dist/{renderer-KUIZNLAQ.js → renderer-SXZBGMEH.js} +5 -5
- package/dist/{renderer-J5MMVCGN.js → renderer-UPANX7XK.js} +8 -8
- package/dist/{renderer-DZ5N6BHW.js → renderer-VDCGDJ6L.js} +5 -5
- package/dist/{renderer-YVCD55ZX.js → renderer-XJFRVCF6.js} +9 -9
- package/dist/{renderer-Q3A7572V.js → renderer-XRC5R3OP.js} +5 -5
- package/dist/{renderer-2NU7M5PN.js → renderer-Y64MT4JM.js} +7 -7
- package/dist/{renderer-CRAIC4ER.js → renderer-ZLJ5CCSO.js} +6 -6
- package/dist/{renderer-QRX7Q2YN.js → renderer-ZY5TXTS5.js} +6 -6
- package/dist/{renderer-radial-QG644QYY.js → renderer-radial-4YKK4JNW.js} +6 -6
- package/dist/{state-parser-NQGVYSM3.js → state-parser-3PFFJO5M.js} +5 -5
- package/dist/{state-renderer-NKV5B3KH.js → state-renderer-2HDVRUNG.js} +14 -14
- package/dist/{themes-tbBkIVsn.d.ts → themes-l406Vj2z.d.ts} +1 -1
- package/docs/language-reference.md +29 -0
- package/package.json +5 -1
- package/dist/chunk-BMR4CIEO.js +0 -41
- package/dist/dgmo-router-GSWUPLP2.js +0 -88
|
@@ -0,0 +1,232 @@
|
|
|
1
|
+
// src/utils/svg-embed.ts
|
|
2
|
+
function normalizeSvgForEmbed(input, opts = {}) {
|
|
3
|
+
let svg = input;
|
|
4
|
+
if ((opts.background ?? "transparent") === "transparent") {
|
|
5
|
+
svg = stripRootBackground(svg);
|
|
6
|
+
}
|
|
7
|
+
const rootMatch = svg.match(/<svg[^>]*>/);
|
|
8
|
+
const rootTag = rootMatch?.[0] ?? "";
|
|
9
|
+
if (rootTag && !rootTag.includes("viewBox")) {
|
|
10
|
+
const wh = rootTag.match(/width="(\d+)"[^>]*height="(\d+)"/);
|
|
11
|
+
if (wh) {
|
|
12
|
+
svg = svg.replace(/<svg/, `<svg viewBox="0 0 ${wh[1]} ${wh[2]}"`);
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
const tight = computeBBox(svg);
|
|
16
|
+
if (tight && tight.width > 0 && tight.height > 0) {
|
|
17
|
+
const pad = 16;
|
|
18
|
+
const x = tight.x - pad;
|
|
19
|
+
const y = tight.y - pad;
|
|
20
|
+
const w = tight.width + pad * 2;
|
|
21
|
+
const h = tight.height + pad * 2;
|
|
22
|
+
const canvas = readViewBox(svg);
|
|
23
|
+
const TOL = 2;
|
|
24
|
+
const MIN_COVERAGE = 0.5;
|
|
25
|
+
const trustworthy = !canvas || x >= canvas.x - TOL && y >= canvas.y - TOL && x + w <= canvas.x + canvas.width + TOL && y + h <= canvas.y + canvas.height + TOL && w >= canvas.width * MIN_COVERAGE && h >= canvas.height * MIN_COVERAGE;
|
|
26
|
+
if (trustworthy) {
|
|
27
|
+
const vb = `${x} ${y} ${w} ${h}`;
|
|
28
|
+
svg = svg.replace(/(<svg[^>]*?)viewBox="[^"]*"/, `$1viewBox="${vb}"`);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
svg = svg.replace(/(<svg[^>]*?) width="[^"]*"/g, "$1");
|
|
32
|
+
svg = svg.replace(/(<svg[^>]*?) height="[^"]*"/g, "$1");
|
|
33
|
+
svg = svg.replace(/<svg\s{2,}/g, "<svg ");
|
|
34
|
+
return svg;
|
|
35
|
+
}
|
|
36
|
+
var BG_MEANINGFUL_TYPES = /* @__PURE__ */ new Set(["map"]);
|
|
37
|
+
function defaultEmbedBackground(chartType) {
|
|
38
|
+
return chartType && BG_MEANINGFUL_TYPES.has(chartType) ? "opaque" : "transparent";
|
|
39
|
+
}
|
|
40
|
+
function stripRootBackground(svg) {
|
|
41
|
+
const rootMatch = svg.match(/<svg\b[^>]*>/);
|
|
42
|
+
if (!rootMatch) return svg;
|
|
43
|
+
const rootTag = rootMatch[0];
|
|
44
|
+
const styleMatch = rootTag.match(/style="([^"]*)"/);
|
|
45
|
+
const style = styleMatch?.[1] ?? "";
|
|
46
|
+
const bgMatch = style.match(/background:\s*([^;]+)/);
|
|
47
|
+
const bgColor = bgMatch ? normalizeColor(bgMatch[1]) : null;
|
|
48
|
+
const canvas = rootCanvas(rootTag, svg);
|
|
49
|
+
let out = svg;
|
|
50
|
+
if (bgMatch) {
|
|
51
|
+
const cleaned = style.replace(/background:\s*[^;]+;?/i, "").replace(/\s{2,}/g, " ").replace(/;\s*$/, "").trim();
|
|
52
|
+
const newRoot = (cleaned ? rootTag.replace(/style="[^"]*"/, `style="${cleaned}"`) : rootTag.replace(/\s*style="[^"]*"/, "")).replace(/<svg\s{2,}/, "<svg ");
|
|
53
|
+
out = out.replace(rootTag, newRoot);
|
|
54
|
+
}
|
|
55
|
+
if (bgColor && canvas) {
|
|
56
|
+
out = out.replace(
|
|
57
|
+
/<rect\b[^>]*?\/?>(?:\s*<\/rect>)?/g,
|
|
58
|
+
(m) => isFullCanvasFill(m, bgColor, canvas) ? "" : m
|
|
59
|
+
);
|
|
60
|
+
}
|
|
61
|
+
return out;
|
|
62
|
+
}
|
|
63
|
+
function isFullCanvasFill(tag, bgColor, canvas) {
|
|
64
|
+
const fm = tag.match(/\bfill="([^"]*)"/);
|
|
65
|
+
if (!fm || normalizeColor(fm[1]) !== bgColor) return false;
|
|
66
|
+
const w = numAttr(tag, "width");
|
|
67
|
+
const h = numAttr(tag, "height");
|
|
68
|
+
if (w === null || h === null) return false;
|
|
69
|
+
const x = numAttr(tag, "x") ?? 0;
|
|
70
|
+
const y = numAttr(tag, "y") ?? 0;
|
|
71
|
+
const T = 1.5;
|
|
72
|
+
return Math.abs(x) <= T && Math.abs(y) <= T && Math.abs(w - canvas.w) <= T && Math.abs(h - canvas.h) <= T;
|
|
73
|
+
}
|
|
74
|
+
function rootCanvas(rootTag, svg) {
|
|
75
|
+
const wm = rootTag.match(/\bwidth="([\d.]+)"/);
|
|
76
|
+
const hm = rootTag.match(/\bheight="([\d.]+)"/);
|
|
77
|
+
if (wm && hm) return { w: parseFloat(wm[1]), h: parseFloat(hm[1]) };
|
|
78
|
+
const vb = readViewBox(svg);
|
|
79
|
+
return vb ? { w: vb.width, h: vb.height } : null;
|
|
80
|
+
}
|
|
81
|
+
function numAttr(tag, name) {
|
|
82
|
+
const m = tag.match(new RegExp(`\\b${name}="([^"]*)"`));
|
|
83
|
+
if (!m) return null;
|
|
84
|
+
const n = parseFloat(m[1]);
|
|
85
|
+
return Number.isFinite(n) ? n : null;
|
|
86
|
+
}
|
|
87
|
+
function normalizeColor(c) {
|
|
88
|
+
const s = c.trim().toLowerCase();
|
|
89
|
+
const hex6 = s.match(/^#([0-9a-f]{6})$/);
|
|
90
|
+
if (hex6) {
|
|
91
|
+
const n = parseInt(hex6[1], 16);
|
|
92
|
+
return `${n >> 16 & 255},${n >> 8 & 255},${n & 255}`;
|
|
93
|
+
}
|
|
94
|
+
const hex3 = s.match(/^#([0-9a-f]{3})$/);
|
|
95
|
+
if (hex3) {
|
|
96
|
+
const [r, g, b] = hex3[1].split("").map((ch) => parseInt(ch + ch, 16));
|
|
97
|
+
return `${r},${g},${b}`;
|
|
98
|
+
}
|
|
99
|
+
const rgb = s.match(/^rgba?\(\s*(\d+)[,\s]+(\d+)[,\s]+(\d+)/);
|
|
100
|
+
if (rgb) return `${+rgb[1]},${+rgb[2]},${+rgb[3]}`;
|
|
101
|
+
return null;
|
|
102
|
+
}
|
|
103
|
+
function getEmbedSvgViewBox(svg) {
|
|
104
|
+
const tight = computeBBox(svg);
|
|
105
|
+
if (!tight || tight.width <= 0 || tight.height <= 0) return null;
|
|
106
|
+
const pad = 16;
|
|
107
|
+
return {
|
|
108
|
+
x: tight.x - pad,
|
|
109
|
+
y: tight.y - pad,
|
|
110
|
+
width: tight.width + pad * 2,
|
|
111
|
+
height: tight.height + pad * 2
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
function readViewBox(svg) {
|
|
115
|
+
const m = svg.match(/<svg[^>]*?\bviewBox="([^"]+)"/);
|
|
116
|
+
if (!m) return null;
|
|
117
|
+
const n = m[1].trim().split(/[\s,]+/).map(Number);
|
|
118
|
+
if (n.length !== 4 || n.some((v) => !Number.isFinite(v)) || n[2] <= 0 || n[3] <= 0)
|
|
119
|
+
return null;
|
|
120
|
+
return { x: n[0], y: n[1], width: n[2], height: n[3] };
|
|
121
|
+
}
|
|
122
|
+
function computeBBox(svg) {
|
|
123
|
+
const xs = [];
|
|
124
|
+
const ys = [];
|
|
125
|
+
function push(x, y) {
|
|
126
|
+
if (Number.isFinite(x) && Number.isFinite(y)) {
|
|
127
|
+
xs.push(x);
|
|
128
|
+
ys.push(y);
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
function attr(tag, name) {
|
|
132
|
+
const m = tag.match(new RegExp(`\\b${name}="([^"]*)"`));
|
|
133
|
+
if (!m) return null;
|
|
134
|
+
const n = parseFloat(m[1]);
|
|
135
|
+
return Number.isFinite(n) ? n : null;
|
|
136
|
+
}
|
|
137
|
+
for (const m of svg.matchAll(/<rect\b[^>]*?\/?>/g)) {
|
|
138
|
+
const tag = m[0];
|
|
139
|
+
const x = attr(tag, "x");
|
|
140
|
+
const y = attr(tag, "y");
|
|
141
|
+
const w = attr(tag, "width");
|
|
142
|
+
const h = attr(tag, "height");
|
|
143
|
+
if (x !== null && y !== null && w !== null && h !== null) {
|
|
144
|
+
push(x, y);
|
|
145
|
+
push(x + w, y + h);
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
for (const m of svg.matchAll(/<line\b[^>]*?\/?>/g)) {
|
|
149
|
+
const tag = m[0];
|
|
150
|
+
const x1 = attr(tag, "x1");
|
|
151
|
+
const y1 = attr(tag, "y1");
|
|
152
|
+
const x2 = attr(tag, "x2");
|
|
153
|
+
const y2 = attr(tag, "y2");
|
|
154
|
+
if (x1 !== null && y1 !== null && x2 !== null && y2 !== null) {
|
|
155
|
+
push(x1, y1);
|
|
156
|
+
push(x2, y2);
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
for (const m of svg.matchAll(/<circle\b[^>]*?\/?>/g)) {
|
|
160
|
+
const tag = m[0];
|
|
161
|
+
const cx = attr(tag, "cx");
|
|
162
|
+
const cy = attr(tag, "cy");
|
|
163
|
+
const r = attr(tag, "r");
|
|
164
|
+
if (cx !== null && cy !== null && r !== null) {
|
|
165
|
+
push(cx - r, cy - r);
|
|
166
|
+
push(cx + r, cy + r);
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
for (const m of svg.matchAll(/<ellipse\b[^>]*?\/?>/g)) {
|
|
170
|
+
const tag = m[0];
|
|
171
|
+
const cx = attr(tag, "cx");
|
|
172
|
+
const cy = attr(tag, "cy");
|
|
173
|
+
const rx = attr(tag, "rx");
|
|
174
|
+
const ry = attr(tag, "ry");
|
|
175
|
+
if (cx !== null && cy !== null && rx !== null && ry !== null) {
|
|
176
|
+
push(cx - rx, cy - ry);
|
|
177
|
+
push(cx + rx, cy + ry);
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
for (const m of svg.matchAll(/<text\b([^>]*?)>([\s\S]*?)<\/text>/g)) {
|
|
181
|
+
const tag = `<text${m[1]}>`;
|
|
182
|
+
const text = m[2].replace(/<[^>]+>/g, "");
|
|
183
|
+
const x = attr(tag, "x");
|
|
184
|
+
const y = attr(tag, "y");
|
|
185
|
+
if (x !== null && y !== null) {
|
|
186
|
+
const fontSize = attr(tag, "font-size") ?? (() => {
|
|
187
|
+
const s = tag.match(/font-size:\s*([\d.]+)/);
|
|
188
|
+
return s ? parseFloat(s[1]) : 14;
|
|
189
|
+
})();
|
|
190
|
+
const w = text.length * fontSize * 0.5;
|
|
191
|
+
const anchor = tag.match(/\btext-anchor="([^"]*)"/)?.[1] ?? "start";
|
|
192
|
+
const left = anchor === "middle" ? x - w / 2 : anchor === "end" ? x - w : x;
|
|
193
|
+
const right = anchor === "middle" ? x + w / 2 : anchor === "end" ? x : x + w;
|
|
194
|
+
push(left, y - fontSize * 0.9);
|
|
195
|
+
push(right, y + fontSize * 0.25);
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
for (const m of svg.matchAll(/<path\b[^>]*?>/g)) {
|
|
199
|
+
const tag = m[0];
|
|
200
|
+
if (tag.includes("data-embed-ignore-bbox")) continue;
|
|
201
|
+
const dm = tag.match(/\bd="([^"]+)"/);
|
|
202
|
+
if (!dm) continue;
|
|
203
|
+
const d = dm[1];
|
|
204
|
+
const nums = d.match(/-?\d+(?:\.\d+)?/g);
|
|
205
|
+
if (!nums) continue;
|
|
206
|
+
for (let i = 0; i + 1 < nums.length; i += 2) {
|
|
207
|
+
push(parseFloat(nums[i]), parseFloat(nums[i + 1]));
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
for (const m of svg.matchAll(
|
|
211
|
+
/<(?:polygon|polyline)\b[^>]*?\bpoints="([^"]+)"/g
|
|
212
|
+
)) {
|
|
213
|
+
const nums = m[1].match(/-?\d+(?:\.\d+)?/g);
|
|
214
|
+
if (!nums) continue;
|
|
215
|
+
for (let i = 0; i + 1 < nums.length; i += 2) {
|
|
216
|
+
push(parseFloat(nums[i]), parseFloat(nums[i + 1]));
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
if (xs.length === 0 || ys.length === 0) return null;
|
|
220
|
+
const minX = Math.min(...xs);
|
|
221
|
+
const maxX = Math.max(...xs);
|
|
222
|
+
const minY = Math.min(...ys);
|
|
223
|
+
const maxY = Math.max(...ys);
|
|
224
|
+
return { x: minX, y: minY, width: maxX - minX, height: maxY - minY };
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
export {
|
|
228
|
+
normalizeSvgForEmbed,
|
|
229
|
+
defaultEmbedBackground,
|
|
230
|
+
getEmbedSvgViewBox
|
|
231
|
+
};
|
|
232
|
+
//# sourceMappingURL=chunk-D3K4U3ZM.js.map
|
|
@@ -8,7 +8,7 @@ import {
|
|
|
8
8
|
stripDefaultModifier,
|
|
9
9
|
tagAttrKey,
|
|
10
10
|
validateTagGroupNames
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-3LMUMAUS.js";
|
|
12
12
|
import {
|
|
13
13
|
JOURNEY_MAP_REGISTRY,
|
|
14
14
|
OPTION_NOCOLON_RE,
|
|
@@ -19,7 +19,7 @@ import {
|
|
|
19
19
|
splitNameAndMeta,
|
|
20
20
|
warnUnknownMetaKeys,
|
|
21
21
|
withTagAliases
|
|
22
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-E7HANW62.js";
|
|
23
23
|
import {
|
|
24
24
|
resolveColorWithDiagnostic
|
|
25
25
|
} from "./chunk-EXNKNJ65.js";
|
|
@@ -405,4 +405,4 @@ function parseStepLine(trimmed, lineNumber, counter, aliasMap, warn, diagnostics
|
|
|
405
405
|
export {
|
|
406
406
|
parseJourneyMap
|
|
407
407
|
};
|
|
408
|
-
//# sourceMappingURL=chunk-
|
|
408
|
+
//# sourceMappingURL=chunk-DWAQXY6T.js.map
|
|
@@ -13,13 +13,17 @@ import {
|
|
|
13
13
|
} from "./chunk-CQ7Y3O67.js";
|
|
14
14
|
import {
|
|
15
15
|
renderIntegratedLegend
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-N7PF5IRF.js";
|
|
17
17
|
import {
|
|
18
18
|
FONT_FAMILY
|
|
19
19
|
} from "./chunk-6KFWC4CO.js";
|
|
20
20
|
import {
|
|
21
21
|
parseTimelineDate
|
|
22
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-KNCY7YHC.js";
|
|
23
|
+
import {
|
|
24
|
+
resolveTagColor,
|
|
25
|
+
tagAttrKey
|
|
26
|
+
} from "./chunk-3LMUMAUS.js";
|
|
23
27
|
import {
|
|
24
28
|
LEGEND_CAPSULE_PAD,
|
|
25
29
|
LEGEND_DOT_R,
|
|
@@ -39,10 +43,6 @@ import {
|
|
|
39
43
|
shapeFill,
|
|
40
44
|
themeBaseBg
|
|
41
45
|
} from "./chunk-42IT4BG2.js";
|
|
42
|
-
import {
|
|
43
|
-
resolveTagColor,
|
|
44
|
-
tagAttrKey
|
|
45
|
-
} from "./chunk-D5FANMSG.js";
|
|
46
46
|
|
|
47
47
|
// src/timeline/renderer.ts
|
|
48
48
|
import * as d3Scale from "d3-scale";
|
|
@@ -1670,4 +1670,4 @@ export {
|
|
|
1670
1670
|
formatDateLabel,
|
|
1671
1671
|
renderTimeline
|
|
1672
1672
|
};
|
|
1673
|
-
//# sourceMappingURL=chunk-
|
|
1673
|
+
//# sourceMappingURL=chunk-DWMJLEBT.js.map
|
|
@@ -1,9 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
renderNodeCard
|
|
3
3
|
} from "./chunk-H3HFC3SQ.js";
|
|
4
|
-
import {
|
|
5
|
-
renderInlineText
|
|
6
|
-
} from "./chunk-3HDBAXF5.js";
|
|
7
4
|
import {
|
|
8
5
|
CARD_RADIUS,
|
|
9
6
|
HEADER_HEIGHT,
|
|
@@ -13,16 +10,19 @@ import {
|
|
|
13
10
|
} from "./chunk-3CIOJ5YJ.js";
|
|
14
11
|
import {
|
|
15
12
|
wrapDescriptionLines
|
|
16
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-NCT22MOD.js";
|
|
14
|
+
import {
|
|
15
|
+
renderInlineText
|
|
16
|
+
} from "./chunk-WGC42WJU.js";
|
|
17
17
|
import {
|
|
18
18
|
formatDateLabel
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-DWMJLEBT.js";
|
|
20
20
|
import {
|
|
21
21
|
layoutInlineHeader
|
|
22
22
|
} from "./chunk-6VJCURWU.js";
|
|
23
23
|
import {
|
|
24
24
|
renderIntegratedLegend
|
|
25
|
-
} from "./chunk-
|
|
25
|
+
} from "./chunk-N7PF5IRF.js";
|
|
26
26
|
import {
|
|
27
27
|
getLegendExtent
|
|
28
28
|
} from "./chunk-ES66QH6J.js";
|
|
@@ -36,7 +36,11 @@ import {
|
|
|
36
36
|
} from "./chunk-6KFWC4CO.js";
|
|
37
37
|
import {
|
|
38
38
|
parseTimelineDate
|
|
39
|
-
} from "./chunk-
|
|
39
|
+
} from "./chunk-KNCY7YHC.js";
|
|
40
|
+
import {
|
|
41
|
+
resolveActiveTagGroup,
|
|
42
|
+
resolveTagColor
|
|
43
|
+
} from "./chunk-3LMUMAUS.js";
|
|
40
44
|
import {
|
|
41
45
|
CHAR_WIDTH_RATIO,
|
|
42
46
|
wrapTextToWidth
|
|
@@ -48,10 +52,6 @@ import {
|
|
|
48
52
|
shapeFill,
|
|
49
53
|
themeBaseBg
|
|
50
54
|
} from "./chunk-42IT4BG2.js";
|
|
51
|
-
import {
|
|
52
|
-
resolveActiveTagGroup,
|
|
53
|
-
resolveTagColor
|
|
54
|
-
} from "./chunk-D5FANMSG.js";
|
|
55
55
|
import {
|
|
56
56
|
resolveColor
|
|
57
57
|
} from "./chunk-EXNKNJ65.js";
|
|
@@ -1118,15 +1118,7 @@ function axisBreakPaths(cx, cy) {
|
|
|
1118
1118
|
return [wave(cx - BREAK_GAP / 2), wave(cx + BREAK_GAP / 2)];
|
|
1119
1119
|
}
|
|
1120
1120
|
function wrapDescription(lines, charsPerLine) {
|
|
1121
|
-
|
|
1122
|
-
for (const line of lines) {
|
|
1123
|
-
if (line === "") {
|
|
1124
|
-
out.push({ text: "", kind: "plain" });
|
|
1125
|
-
continue;
|
|
1126
|
-
}
|
|
1127
|
-
out.push(...wrapDescriptionLines([line], charsPerLine));
|
|
1128
|
-
}
|
|
1129
|
-
return out;
|
|
1121
|
+
return wrapDescriptionLines([...lines], charsPerLine);
|
|
1130
1122
|
}
|
|
1131
1123
|
function renderBody(cardG, lines, bodyColor, palette, startBaseline = CARD_BODY_TOP + DESC_FONT, bulletColors = [], bulletMeta = []) {
|
|
1132
1124
|
let y = startBaseline;
|
|
@@ -1165,4 +1157,4 @@ export {
|
|
|
1165
1157
|
focusEventLine,
|
|
1166
1158
|
renderEventLineForExport
|
|
1167
1159
|
};
|
|
1168
|
-
//# sourceMappingURL=chunk-
|
|
1160
|
+
//# sourceMappingURL=chunk-DZUDSGGQ.js.map
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import {
|
|
2
|
+
MONO_FAMILY
|
|
3
|
+
} from "./chunk-EDJYIQZM.js";
|
|
4
|
+
import {
|
|
5
|
+
FONT_FAMILY
|
|
6
|
+
} from "./chunk-6KFWC4CO.js";
|
|
7
|
+
import {
|
|
8
|
+
truncateText
|
|
9
|
+
} from "./chunk-4ASYQ347.js";
|
|
10
|
+
|
|
11
|
+
// src/live-link/renderer.ts
|
|
12
|
+
var W = 560;
|
|
13
|
+
var PAD = 28;
|
|
14
|
+
var CONTENT_X = PAD + 40;
|
|
15
|
+
var CONTENT_W = W - CONTENT_X - PAD;
|
|
16
|
+
var HEADLINE_FS = 18;
|
|
17
|
+
var SUBTITLE_FS = 13;
|
|
18
|
+
var ID_FS = 13;
|
|
19
|
+
var SUBTITLE = "Live link published at Diagrammo Cloud";
|
|
20
|
+
function renderLiveLinkCard(parsed, palette, theme) {
|
|
21
|
+
const isTransparent = theme === "transparent";
|
|
22
|
+
const parts = [];
|
|
23
|
+
let y = PAD + 18;
|
|
24
|
+
parts.push(cloudGlyph(PAD, y - 14, 24, palette.textMuted));
|
|
25
|
+
const headline = parsed.title ?? parsed.id ?? "Unresolved live link";
|
|
26
|
+
const headlineMono = parsed.title === null && parsed.id !== null;
|
|
27
|
+
parts.push(
|
|
28
|
+
`<text x="${CONTENT_X}" y="${y}" fill="${palette.text}" font-family="${headlineMono ? MONO_FAMILY : FONT_FAMILY}" font-size="${HEADLINE_FS}" font-weight="${headlineMono ? 500 : 700}">${escapeXml(truncateText(headline, HEADLINE_FS, CONTENT_W))}</text>`
|
|
29
|
+
);
|
|
30
|
+
y += 30;
|
|
31
|
+
parts.push(
|
|
32
|
+
`<text x="${CONTENT_X}" y="${y}" fill="${palette.textMuted}" font-family="${FONT_FAMILY}" font-size="${SUBTITLE_FS}">${escapeXml(SUBTITLE)}</text>`
|
|
33
|
+
);
|
|
34
|
+
y += 22;
|
|
35
|
+
if (parsed.title !== null && parsed.id !== null) {
|
|
36
|
+
parts.push(
|
|
37
|
+
`<text x="${CONTENT_X}" y="${y}" fill="${palette.textMuted}" font-family="${MONO_FAMILY}" font-size="${ID_FS}">${escapeXml(
|
|
38
|
+
truncateText(parsed.id, ID_FS, CONTENT_W)
|
|
39
|
+
)}</text>`
|
|
40
|
+
);
|
|
41
|
+
y += 22;
|
|
42
|
+
}
|
|
43
|
+
const height = Math.round(y + PAD - 12);
|
|
44
|
+
const pageBg = isTransparent ? "" : `<rect width="100%" height="100%" fill="${palette.bg}"/>`;
|
|
45
|
+
return [
|
|
46
|
+
`<svg xmlns="http://www.w3.org/2000/svg" width="${W}" height="${height}" viewBox="0 0 ${W} ${height}" preserveAspectRatio="xMidYMid meet" font-family="${FONT_FAMILY}">`,
|
|
47
|
+
pageBg,
|
|
48
|
+
`<rect x="0.5" y="0.5" width="${W - 1}" height="${height - 1}" rx="10" fill="${palette.surface}" stroke="${palette.border}" stroke-width="1"/>`,
|
|
49
|
+
parts.join(""),
|
|
50
|
+
`</svg>`
|
|
51
|
+
].join("");
|
|
52
|
+
}
|
|
53
|
+
function cloudGlyph(x, y, size, color) {
|
|
54
|
+
const s = size / 24;
|
|
55
|
+
const d = "M6.5 19a4.5 4.5 0 0 1-.6-8.96A6 6 0 0 1 17.6 8.7 4.15 4.15 0 0 1 17.5 19Z";
|
|
56
|
+
return `<path transform="translate(${x},${y}) scale(${s})" d="${d}" fill="none" stroke="${color}" stroke-width="1.6" stroke-linejoin="round"/>`;
|
|
57
|
+
}
|
|
58
|
+
function escapeXml(s) {
|
|
59
|
+
return s.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">").replace(/"/g, """);
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
export {
|
|
63
|
+
renderLiveLinkCard
|
|
64
|
+
};
|
|
65
|
+
//# sourceMappingURL=chunk-E55OZDFH.js.map
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import {
|
|
2
|
-
renderInlineText
|
|
3
|
-
} from "./chunk-3HDBAXF5.js";
|
|
4
1
|
import {
|
|
5
2
|
wrapDescriptionLines
|
|
6
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-NCT22MOD.js";
|
|
4
|
+
import {
|
|
5
|
+
renderInlineText
|
|
6
|
+
} from "./chunk-WGC42WJU.js";
|
|
7
7
|
import {
|
|
8
8
|
ScaleContext
|
|
9
9
|
} from "./chunk-YYVTBZZC.js";
|
|
@@ -12,7 +12,7 @@ import {
|
|
|
12
12
|
} from "./chunk-6VJCURWU.js";
|
|
13
13
|
import {
|
|
14
14
|
renderIntegratedLegend
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-N7PF5IRF.js";
|
|
16
16
|
import {
|
|
17
17
|
getLegendExtent,
|
|
18
18
|
getMaxLegendReservedHeight
|
|
@@ -25,30 +25,30 @@ import {
|
|
|
25
25
|
import {
|
|
26
26
|
FONT_FAMILY
|
|
27
27
|
} from "./chunk-6KFWC4CO.js";
|
|
28
|
-
import {
|
|
29
|
-
measureText,
|
|
30
|
-
truncateText
|
|
31
|
-
} from "./chunk-4ASYQ347.js";
|
|
32
|
-
import {
|
|
33
|
-
contrastText,
|
|
34
|
-
mix,
|
|
35
|
-
shapeFill,
|
|
36
|
-
themeBaseBg
|
|
37
|
-
} from "./chunk-42IT4BG2.js";
|
|
38
28
|
import {
|
|
39
29
|
isSequenceBlock,
|
|
40
30
|
isSequenceNote,
|
|
41
31
|
isSequenceSection
|
|
42
|
-
} from "./chunk-
|
|
32
|
+
} from "./chunk-2UBTPFIF.js";
|
|
43
33
|
import {
|
|
44
34
|
resolveActiveTagGroup,
|
|
45
35
|
tagAttrKey
|
|
46
|
-
} from "./chunk-
|
|
36
|
+
} from "./chunk-3LMUMAUS.js";
|
|
47
37
|
import {
|
|
48
38
|
fillModeFromOptions,
|
|
49
39
|
legendInlineRequested,
|
|
50
40
|
legendSuppressed
|
|
51
|
-
} from "./chunk-
|
|
41
|
+
} from "./chunk-E7HANW62.js";
|
|
42
|
+
import {
|
|
43
|
+
measureText,
|
|
44
|
+
truncateText
|
|
45
|
+
} from "./chunk-4ASYQ347.js";
|
|
46
|
+
import {
|
|
47
|
+
contrastText,
|
|
48
|
+
mix,
|
|
49
|
+
shapeFill,
|
|
50
|
+
themeBaseBg
|
|
51
|
+
} from "./chunk-42IT4BG2.js";
|
|
52
52
|
|
|
53
53
|
// src/sequence/renderer.ts
|
|
54
54
|
import * as d3Selection from "d3-selection";
|
|
@@ -1907,4 +1907,4 @@ export {
|
|
|
1907
1907
|
renderSequenceDiagram,
|
|
1908
1908
|
buildNoteMessageMap
|
|
1909
1909
|
};
|
|
1910
|
-
//# sourceMappingURL=chunk-
|
|
1910
|
+
//# sourceMappingURL=chunk-E6CCWMTT.js.map
|
|
@@ -375,7 +375,14 @@ var DIRECTIVES_REGISTRY = [
|
|
|
375
375
|
{ token: "no-rounds", category: "modifier" },
|
|
376
376
|
{ token: "single-elim", category: "modifier" },
|
|
377
377
|
{ token: "double-elim", category: "modifier" },
|
|
378
|
-
{ token: "seeded", category: "modifier" }
|
|
378
|
+
{ token: "seeded", category: "modifier" },
|
|
379
|
+
// ── Live link (§38) ──────────────────────────────────────
|
|
380
|
+
// The pointer type's one directive. Registered so it highlights and
|
|
381
|
+
// autocompletes like `palette` does — §38 justifies the shape by calling it
|
|
382
|
+
// "the ordinary DGMO directive shape", and an unregistered `url` would make
|
|
383
|
+
// that sentence false in the editor: `editor/tokens.ts` specializes only
|
|
384
|
+
// against the keyword registries, so it would render as plain identifier text.
|
|
385
|
+
{ token: "url", category: "directive" }
|
|
379
386
|
];
|
|
380
387
|
function tokensWhere(pred) {
|
|
381
388
|
const out = /* @__PURE__ */ new Set();
|
|
@@ -636,7 +643,9 @@ var ALL_CHART_TYPES = /* @__PURE__ */ new Set([
|
|
|
636
643
|
"raci",
|
|
637
644
|
"map",
|
|
638
645
|
"family",
|
|
639
|
-
"bracket"
|
|
646
|
+
"bracket",
|
|
647
|
+
// pointer, not a drawing — internal (see ChartTypeMeta.internal)
|
|
648
|
+
"live-link"
|
|
640
649
|
]);
|
|
641
650
|
function measureIndent(line) {
|
|
642
651
|
let indent = 0;
|
|
@@ -1169,4 +1178,4 @@ export {
|
|
|
1169
1178
|
splitNameAndMeta,
|
|
1170
1179
|
warnUnknownMetaKeys
|
|
1171
1180
|
};
|
|
1172
|
-
//# sourceMappingURL=chunk-
|
|
1181
|
+
//# sourceMappingURL=chunk-E7HANW62.js.map
|