@diagrammo/dgmo 0.54.0 → 0.55.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 +76 -9
- package/dist/advanced.js +118 -95
- package/dist/auto.js +125 -124
- package/dist/auto.mjs +1579 -282
- package/dist/block.js +49 -48
- package/dist/chart-meta.js +43 -43
- package/dist/{charts-d3-25E4VWXO.js → charts-d3-KZ6V4OP2.js} +7 -6
- package/dist/{chunk-MTZOXISJ.js → chunk-2HX6ZGY7.js} +3 -3
- package/dist/{chunk-ICKXIMBA.js → chunk-2R6HG6D5.js} +5 -5
- package/dist/{chunk-NUTWTV6G.js → chunk-2ZJXKJSI.js} +102 -56
- package/dist/{chunk-LPJ6H5X4.js → chunk-32HUNA33.js} +53 -11
- package/dist/{chunk-UIT7E6UF.js → chunk-3BFXELBL.js} +51 -4
- package/dist/{chunk-C2UORMIA.js → chunk-3BZJ5KD5.js} +7 -3
- package/dist/{chunk-A3BDLDYG.js → chunk-3FUTFYSP.js} +57 -18
- package/dist/{chunk-DPGQ5UMO.js → chunk-4MZCJV4M.js} +6 -6
- package/dist/{chunk-WWHECSYZ.js → chunk-4R5KIPNX.js} +2 -2
- package/dist/{chunk-47JNEKJA.js → chunk-5D5VHDJM.js} +43 -8
- package/dist/{chunk-KQYQECWQ.js → chunk-5H5GWWA4.js} +49 -13
- package/dist/{chunk-RRGKMJYL.js → chunk-5K5XBEXT.js} +8 -3
- package/dist/{chunk-HAA25PLC.js → chunk-6NJWBMJV.js} +44 -9
- package/dist/{chunk-3FRO35WW.js → chunk-A2ARDILY.js} +17 -3
- package/dist/{chunk-TLNVYWPA.js → chunk-A2PTRSAO.js} +2 -2
- package/dist/{chunk-APKUAJ2L.js → chunk-A2RUBBVT.js} +14 -1
- package/dist/{chunk-KS5ZSM5T.js → chunk-A4UJP4IS.js} +61 -13
- package/dist/{chunk-LRSW4JLE.js → chunk-AKE6C2D7.js} +3 -3
- package/dist/{chunk-2NZOHEP4.js → chunk-ASPS5O6F.js} +3 -3
- package/dist/{chunk-KV4HLIJE.js → chunk-AU75JHSR.js} +6 -3
- package/dist/{chunk-R5BGGBFF.js → chunk-DS4MDEQ7.js} +2 -2
- package/dist/{chunk-7JDTNFAK.js → chunk-EFUQENO5.js} +76 -32
- package/dist/{chunk-BULHGPHK.js → chunk-EMSOFHEN.js} +2 -2
- package/dist/{chunk-IYNKLCAZ.js → chunk-ETTDF3S2.js} +45 -7
- package/dist/{chunk-KDK5EKUR.js → chunk-ETYF5QZR.js} +2 -2
- package/dist/{chunk-COJW2NEY.js → chunk-F5ZNUMSY.js} +50 -11
- package/dist/{chunk-EAI6XJ7D.js → chunk-FBP33UM6.js} +3 -3
- package/dist/{chunk-KINOX74I.js → chunk-FGAMFJNJ.js} +48 -10
- package/dist/{chunk-J7HQPVYH.js → chunk-GRXPFBYC.js} +23 -2
- package/dist/{chunk-GQ5ECRP4.js → chunk-GTO5VCYG.js} +3 -3
- package/dist/{chunk-RJ5LBZ5U.js → chunk-HES4K6DV.js} +13 -13
- package/dist/{chunk-ADCHLNWT.js → chunk-HGKOVKAX.js} +3 -3
- package/dist/{chunk-EPRF3ZRV.js → chunk-HLGOG44K.js} +2 -2
- package/dist/{chunk-KQ3FNRGR.js → chunk-HUTP35XT.js} +5 -4
- package/dist/{chunk-OJ435DQZ.js → chunk-HX7QNHC6.js} +3 -3
- package/dist/{chunk-6KL7TFLS.js → chunk-IALX52TR.js} +2 -2
- package/dist/{chunk-7SP4C6EV.js → chunk-IF4KYSJZ.js} +7 -3
- package/dist/{chunk-5XSNLXU5.js → chunk-IG6J7JWH.js} +51 -12
- package/dist/{chunk-M24VXUFG.js → chunk-IIUYKQ5J.js} +3 -3
- package/dist/{chunk-5VXU6MND.js → chunk-INTAQV2Y.js} +2 -2
- package/dist/{chunk-3KHJJP3J.js → chunk-ITXL2KU5.js} +2 -2
- package/dist/{chunk-I47VHSPS.js → chunk-IWG2ECAO.js} +2 -2
- package/dist/{chunk-CSHFU6LT.js → chunk-JGCEFKZP.js} +7 -7
- package/dist/{chunk-O576GYAP.js → chunk-JQLSFZZP.js} +2 -2
- package/dist/{chunk-AHTTKERF.js → chunk-JR7Q6GHE.js} +2 -2
- package/dist/{chunk-4T6OCSJ2.js → chunk-KC3WBBI7.js} +3 -3
- package/dist/{chunk-BM7MG6HT.js → chunk-KK3L5NVK.js} +3 -3
- package/dist/{chunk-FR6UFVSV.js → chunk-L2DIXZUT.js} +91 -41
- package/dist/{chunk-WW4BQ744.js → chunk-LCRPGGGS.js} +6 -6
- package/dist/{chunk-GKYHWJXI.js → chunk-LKGQ46P4.js} +3 -3
- package/dist/{chunk-IOIMQHQ6.js → chunk-LW7STMYZ.js} +2 -2
- package/dist/{chunk-OR3R27CU.js → chunk-M53MDBIW.js} +2 -2
- package/dist/{chunk-T7Y554OK.js → chunk-MEH4TJEX.js} +4 -4
- package/dist/{chunk-T3FAJAJT.js → chunk-MNS2ENXF.js} +3 -3
- package/dist/{chunk-CCGWX6AO.js → chunk-MSWIBF6J.js} +2 -2
- package/dist/{chunk-B7N5KYXQ.js → chunk-NL7FUIVD.js} +4 -4
- package/dist/{chunk-EQOMY4PY.js → chunk-NN5TF4OV.js} +2 -2
- package/dist/{chunk-BZJIITYM.js → chunk-NPPUZ4SK.js} +4 -4
- package/dist/{chunk-XWODFBHJ.js → chunk-NYOOPQFD.js} +7 -3
- package/dist/{chunk-VQFDBNYF.js → chunk-O4CZDTQA.js} +3 -3
- package/dist/{chunk-FVMKCZHF.js → chunk-P5XXIVEU.js} +2 -2
- package/dist/{chunk-F7XM366V.js → chunk-PC4YLEKA.js} +3 -3
- package/dist/{chunk-AQEYUVGJ.js → chunk-PCVXXPYU.js} +12 -5
- package/dist/{chunk-TJN2OIVG.js → chunk-PKUWYPI5.js} +180 -12
- package/dist/{chunk-W6PCFRPL.js → chunk-PSIDVCBA.js} +2 -2
- package/dist/{chunk-RIEAN4D5.js → chunk-PV7ND5WL.js} +48 -8
- package/dist/{chunk-7K6NDSXH.js → chunk-Q5CMQVWF.js} +3 -3
- package/dist/{chunk-FFVFZLRT.js → chunk-QQXFYTLC.js} +346 -46
- package/dist/{chunk-N7BSBAVP.js → chunk-QZYGRDMM.js} +108 -89
- package/dist/{chunk-U4IN6AHE.js → chunk-RKBCKCSF.js} +2 -2
- package/dist/{chunk-GK32ZFZY.js → chunk-RSBH2C7O.js} +3 -3
- package/dist/{chunk-OSXQKC3S.js → chunk-RYNCWA5X.js} +6 -3
- package/dist/{chunk-S7YFT3PO.js → chunk-RZWIPDZ2.js} +3 -3
- package/dist/{chunk-7UPFTBOW.js → chunk-S52F62GW.js} +4 -4
- package/dist/{chunk-WKNAJ4BR.js → chunk-SCOHNGPG.js} +51 -10
- package/dist/{chunk-BWYFIVZF.js → chunk-UBQU2BY6.js} +3 -3
- package/dist/{chunk-VMSBMIHW.js → chunk-UES4P7FN.js} +2 -2
- package/dist/chunk-US3P2DQO.js +87 -0
- package/dist/{chunk-AJFHNS67.js → chunk-UXXLE6AH.js} +5 -5
- package/dist/{chunk-M3H7ZE6C.js → chunk-VMWSZCAK.js} +5 -4
- package/dist/{chunk-S7FOIURR.js → chunk-VVIRAGID.js} +6 -6
- package/dist/{chunk-3SBHODJ4.js → chunk-VXTUWXFB.js} +48 -9
- package/dist/{chunk-HFEOOQ46.js → chunk-W4TSD3IP.js} +2 -2
- package/dist/{chunk-7U4OR7CD.js → chunk-WB3NA3JJ.js} +2 -2
- package/dist/{chunk-3SEEP2JM.js → chunk-WITOJZGL.js} +8 -4
- package/dist/{chunk-6OYDOQ2Q.js → chunk-WVGNXDEE.js} +2 -2
- package/dist/{chunk-UEU6IYKY.js → chunk-X3X4LZDC.js} +2 -2
- package/dist/{chunk-SBOAZ7YK.js → chunk-XKKH2DPG.js} +39 -39
- package/dist/{chunk-NR5HCAUD.js → chunk-XSVWUOUZ.js} +1 -1
- package/dist/{chunk-62Y27T4C.js → chunk-Y4BBGFKY.js} +2 -2
- package/dist/{chunk-YENNFS5F.js → chunk-YP2T5YUP.js} +8 -3
- package/dist/{chunk-2NYXI35Z.js → chunk-YXKNXIWA.js} +5 -4
- package/dist/{chunk-KBVOVDYP.js → chunk-ZGIBV36U.js} +3 -3
- package/dist/{chunk-4ZIKWVSQ.js → chunk-ZP265ICS.js} +4 -4
- package/dist/{chunk-DLU643TF.js → chunk-ZWVKTWK6.js} +3 -3
- package/dist/{chunk-QBYP2FBZ.js → chunk-ZXNHHO6D.js} +2 -2
- package/dist/cli.cjs +150 -147
- package/dist/clock.js +34 -1
- package/dist/completion-registry.js +12 -4
- package/dist/dgmo-router-T4HGLIGA.js +88 -0
- package/dist/{dimensions-L6BXQXXL.js → dimensions-3JINHSYK.js} +6 -6
- package/dist/editor.js +10 -1
- package/dist/element.js +124 -123
- package/dist/element.mjs +1579 -282
- package/dist/{flowchart-parser-UKYOW3VM.js → flowchart-parser-M7KKTLX7.js} +4 -4
- package/dist/{flowchart-renderer-DCFKUDDR.js → flowchart-renderer-FFEQFQEU.js} +5 -5
- package/dist/highlight.js +10 -1
- package/dist/index.js +58 -48
- package/dist/{layout-G2ABQJQZ.js → layout-3ZZBKUQC.js} +3 -3
- package/dist/{layout-CH4HFFRD.js → layout-AUKTWGYL.js} +4 -4
- package/dist/{layout-QBNAMEOA.js → layout-CRLTSFYQ.js} +3 -3
- package/dist/{layout-25Y3VDYF.js → layout-FNZDJGKF.js} +4 -4
- package/dist/{layout-NY7MHJCL.js → layout-GHWRJKZQ.js} +4 -4
- package/dist/{layout-ITLPDG6M.js → layout-LGXOKUCD.js} +4 -4
- package/dist/{layout-A6OIGZN2.js → layout-UR7CYAHL.js} +2 -2
- package/dist/{layout-4SPLI4HG.js → layout-UTMEVFHN.js} +4 -4
- package/dist/{layout-search-LUI475P3.js → layout-search-U2H4ORFJ.js} +8 -6
- package/dist/{parser-XRDUX2AR.js → parser-2AXPSKWB.js} +5 -5
- package/dist/{parser-B2A7XOAK.js → parser-2AZ2KQTO.js} +4 -4
- package/dist/{parser-VVE4THG3.js → parser-2LF33IS2.js} +4 -4
- package/dist/{parser-MHKYQPC2.js → parser-3QJ2Z4H4.js} +3 -3
- package/dist/parser-5GCQFSTQ.js +13 -0
- package/dist/{parser-XCPMEB2Z.js → parser-62OHBRU5.js} +3 -3
- package/dist/{parser-GML6V2KZ.js → parser-7LYJFZCP.js} +4 -4
- package/dist/{parser-LTA2BOZO.js → parser-BMOTF72G.js} +3 -3
- package/dist/{parser-FHRMFUNX.js → parser-CIFLYZYP.js} +3 -3
- package/dist/{parser-KTYF6WO5.js → parser-D2UL2G5U.js} +3 -3
- package/dist/{parser-5C3PEZK3.js → parser-DM2APTKB.js} +3 -3
- package/dist/{parser-X5XLFY4Z.js → parser-DYYTPLBL.js} +4 -4
- package/dist/{parser-WPPJGB4R.js → parser-GOUGUTPU.js} +4 -4
- package/dist/{parser-T3D7BV6O.js → parser-HGVUVD6J.js} +3 -3
- package/dist/{parser-F4FEU57T.js → parser-IEJD3CZB.js} +3 -3
- package/dist/{parser-FY3YFFBS.js → parser-JBEWNLAV.js} +5 -5
- package/dist/{parser-2UWWNTFL.js → parser-JMXPHNZD.js} +4 -4
- package/dist/{parser-YULS5MLD.js → parser-JMXSQY3K.js} +4 -4
- package/dist/{parser-YPWYT46P.js → parser-LUXS7J32.js} +4 -4
- package/dist/{parser-O7YQYFEN.js → parser-M5BUHULF.js} +4 -4
- package/dist/{parser-MVSYFK63.js → parser-MESRHUS4.js} +4 -4
- package/dist/{parser-HA3PF5FL.js → parser-OOYNI2UT.js} +4 -4
- package/dist/{parser-OPIXXUY4.js → parser-PVBUAVRR.js} +4 -4
- package/dist/{parser-3RXYQSA7.js → parser-QKRBSQLJ.js} +5 -5
- package/dist/{parser-CCNJKDDA.js → parser-S6NWSIJO.js} +4 -4
- package/dist/{parser-S4EJPNVN.js → parser-SFEK6Q7Z.js} +4 -4
- package/dist/{parser-7UI6UQ7B.js → parser-SUV52NQW.js} +4 -4
- package/dist/{parser-ESHNUFME.js → parser-SZHGLOOZ.js} +4 -4
- package/dist/{parser-66RYGJRB.js → parser-TO7IENWL.js} +4 -4
- package/dist/{parser-FPCWDYQV.js → parser-TVAMC7CQ.js} +4 -4
- package/dist/{parser-LU7UAKNB.js → parser-VAW46R57.js} +4 -4
- package/dist/{parser-6MQM7WT3.js → parser-XDSPOXSE.js} +4 -4
- package/dist/pert.d.ts +2 -0
- package/dist/{renderer-YVMETH6V.js → renderer-3PWLOJPD.js} +8 -8
- package/dist/{renderer-7HMZ5OCJ.js → renderer-5EMHIQL5.js} +3 -3
- package/dist/{renderer-2DME63VZ.js → renderer-5PODNLYP.js} +4 -4
- package/dist/{renderer-4A32DX5L.js → renderer-AQJIQ2XU.js} +7 -6
- package/dist/{renderer-RMAM2SOJ.js → renderer-BEW3AYFT.js} +8 -8
- package/dist/{renderer-YP3P6UVT.js → renderer-C3UYAXA6.js} +8 -6
- package/dist/{renderer-X2LYSMLU.js → renderer-CENXCMWG.js} +3 -3
- package/dist/{renderer-6CFML5G3.js → renderer-CXM3ARYN.js} +8 -7
- package/dist/{renderer-LHVCKEWF.js → renderer-DW6TEBLA.js} +8 -7
- package/dist/{renderer-Y3NXZINM.js → renderer-FE5M6SEZ.js} +8 -7
- package/dist/{renderer-G4UOW3RH.js → renderer-FXK6ZL3P.js} +3 -3
- package/dist/{renderer-4K5YYX5R.js → renderer-G5ESLCJB.js} +9 -8
- package/dist/{renderer-P3YQES7B.js → renderer-HTDS4FED.js} +9 -8
- package/dist/{renderer-YEFOOULC.js → renderer-IO4KCFVL.js} +8 -8
- package/dist/{renderer-FXMGCSRP.js → renderer-IRAFJNTK.js} +7 -6
- package/dist/{renderer-SES7QZYL.js → renderer-MFTTFW32.js} +9 -8
- package/dist/{renderer-Z4GNKNXO.js → renderer-MPXI4FVL.js} +6 -6
- package/dist/{renderer-RA4PTAMF.js → renderer-NVBEMQ6L.js} +5 -5
- package/dist/{renderer-7ZNVOVFG.js → renderer-OOGDCR6K.js} +3 -3
- package/dist/{renderer-CJ56SUMF.js → renderer-Q5P72O4A.js} +7 -7
- package/dist/{renderer-WCWI4I6A.js → renderer-QZESC66H.js} +2 -2
- package/dist/{renderer-B7Y6I7JX.js → renderer-RDBUXW7P.js} +4 -4
- package/dist/{renderer-V5SNTPAM.js → renderer-S4XB3JR2.js} +9 -9
- package/dist/{renderer-COJZZ4F6.js → renderer-SIWEEWJ5.js} +7 -6
- package/dist/{renderer-C3RI4OPJ.js → renderer-TKTM2SL4.js} +8 -7
- package/dist/{renderer-WVD6G2TS.js → renderer-TXTTV4HA.js} +8 -7
- package/dist/{renderer-HQ4JFZOV.js → renderer-UZIU4AHK.js} +7 -6
- package/dist/{renderer-3VY3VXJE.js → renderer-V72VJIGG.js} +9 -8
- package/dist/{renderer-PLVIARM7.js → renderer-VEGOEZOI.js} +7 -6
- package/dist/{renderer-OZX5KGQM.js → renderer-W6I6T2TA.js} +6 -6
- package/dist/{renderer-TQ5QDZOE.js → renderer-WSHJRR2T.js} +6 -6
- package/dist/{renderer-radial-VYBZAXXE.js → renderer-radial-AG75PBYD.js} +7 -7
- package/dist/{resolver-WFKZYBJ2.js → resolver-ZSFQQRTH.js} +3 -3
- package/dist/{state-parser-VIW2WNA5.js → state-parser-KIPZGIB4.js} +5 -5
- package/dist/{state-renderer-H22AQD3U.js → state-renderer-U6OSJG52.js} +9 -8
- package/docs/language-reference.md +2 -1
- package/package.json +1 -1
- package/dist/dgmo-router-TGZWFIZO.js +0 -88
- package/dist/parser-6GN5YJBJ.js +0 -13
package/dist/advanced.d.ts
CHANGED
|
@@ -216,6 +216,13 @@ interface ParsedChart {
|
|
|
216
216
|
/** Cross-chart-type: when true, the renderer suppresses the legend and the
|
|
217
217
|
* vertical band it would occupy (#48). */
|
|
218
218
|
noLegend?: boolean;
|
|
219
|
+
/** §1.9 `legend-inline`: render the title and the series legend on one line
|
|
220
|
+
* (title left, legend right) instead of stacking the legend below a centered
|
|
221
|
+
* title — reclaims a header row. Honoured by the top-center-legend data
|
|
222
|
+
* charts (bar/line/radar/scatter/function); a no-op elsewhere. Auto-falls
|
|
223
|
+
* back to the stacked header when the legend can't fit beside the title on a
|
|
224
|
+
* single row (decision #50). */
|
|
225
|
+
legendInline?: boolean;
|
|
219
226
|
/** Line only: opt out of the data-driven y-axis auto-fit and anchor the
|
|
220
227
|
* baseline at 0 (magnitude honesty / old ECharts-parity behavior). By
|
|
221
228
|
* default a line chart fits a padded data-min→max window (§15.1). */
|
|
@@ -580,7 +587,9 @@ interface ParsedExtendedBase {
|
|
|
580
587
|
noName?: boolean;
|
|
581
588
|
noValue?: boolean;
|
|
582
589
|
noPercent?: boolean;
|
|
583
|
-
shade
|
|
590
|
+
/** `fill` directive — shade the area below each curve (function charts),
|
|
591
|
+
* parity with the `line` chart's bare `fill`. Opacity follows `fillMode`. */
|
|
592
|
+
fill?: boolean;
|
|
584
593
|
/** §1.9 fill family: `'solid'` = full intent saturation, `'outline'` =
|
|
585
594
|
* theme-background fill with color on the stroke. Absent ⇒ 25% tint. */
|
|
586
595
|
fillMode?: 'solid' | 'outline';
|
|
@@ -589,6 +598,9 @@ interface ParsedExtendedBase {
|
|
|
589
598
|
/** Cross-chart-type: when true, the renderer suppresses the legend and the
|
|
590
599
|
* vertical band it would occupy (#48). */
|
|
591
600
|
noLegend?: boolean;
|
|
601
|
+
/** §1.9 `legend-inline`: title + series legend on one line (see ParsedChart).
|
|
602
|
+
* Honoured by scatter/function among the extended charts (decision #50). */
|
|
603
|
+
legendInline?: boolean;
|
|
592
604
|
/** §1.11 emphasis family: `highlight <Name>…` / `dim <Name>…`. Chart-level,
|
|
593
605
|
* mutually exclusive, last-one-wins. Resolved against real element names at
|
|
594
606
|
* render time via `resolveEmphasis`. */
|
|
@@ -2175,6 +2187,8 @@ interface SketchBox {
|
|
|
2175
2187
|
}
|
|
2176
2188
|
interface SketchOptions {
|
|
2177
2189
|
readonly noLegend: boolean;
|
|
2190
|
+
/** §1.9 `legend-inline` — title left, legend flushed right on one row. */
|
|
2191
|
+
readonly legendInline?: boolean;
|
|
2178
2192
|
/** §1.9 fill family; undefined ⇒ canonical 25% tint. */
|
|
2179
2193
|
readonly fillMode: 'solid' | 'outline' | undefined;
|
|
2180
2194
|
/** `no-descriptions` directive (mindmap `hd` standard): hide the card
|
|
@@ -3234,6 +3248,8 @@ interface GanttOptions {
|
|
|
3234
3248
|
noTitle: boolean;
|
|
3235
3249
|
/** §1.9 `no-legend` — suppress the tag legend and collapse its reserved band. */
|
|
3236
3250
|
noLegend: boolean;
|
|
3251
|
+
/** §1.9 `legend-inline` — title left, legend flushed right on one row. */
|
|
3252
|
+
legendInline?: boolean;
|
|
3237
3253
|
}
|
|
3238
3254
|
interface ParsedGantt {
|
|
3239
3255
|
readonly nodes: readonly GanttNode[];
|
|
@@ -3450,6 +3466,8 @@ interface PertOptions {
|
|
|
3450
3466
|
noTitle?: boolean;
|
|
3451
3467
|
/** §1.9 `no-legend` — suppress the tag legend and collapse its reserved band. */
|
|
3452
3468
|
noLegend?: boolean;
|
|
3469
|
+
/** §1.9 `legend-inline` — title left, legend flushed right on one row. */
|
|
3470
|
+
legendInline?: boolean;
|
|
3453
3471
|
/**
|
|
3454
3472
|
* §1.9 fill family — `fill-solid` renders node/group card fills at full intent
|
|
3455
3473
|
* saturation instead of the canonical 25% tint (via `shapeFill`).
|
|
@@ -4658,6 +4676,26 @@ interface EventLineEra {
|
|
|
4658
4676
|
readonly collapsed: boolean;
|
|
4659
4677
|
readonly lineNumber: number;
|
|
4660
4678
|
}
|
|
4679
|
+
/**
|
|
4680
|
+
* A **now marker** (§28.6b) — a "grounded pin" at "today": a palette-red
|
|
4681
|
+
* (`palette.destructive`) diamond planted on the spine with a short stem to a
|
|
4682
|
+
* labeled tab, slotted into a card-free lane, plus a dotted "today line" that
|
|
4683
|
+
* fades out within the leader gap (full-height only on hover, preview).
|
|
4684
|
+
* `now` alone is *computed* (resolved to the render-time date);
|
|
4685
|
+
* `now <date>` *pins* it to an explicit ISO date (deterministic, snapshot-safe).
|
|
4686
|
+
* Only drawn on a to-scale axis (every event dated); ignored under `no-scale`.
|
|
4687
|
+
*/
|
|
4688
|
+
interface EventLineNow {
|
|
4689
|
+
/** True for bare `now` (date resolved at render time); false when pinned. */
|
|
4690
|
+
readonly computed: boolean;
|
|
4691
|
+
/** Pinned ISO date as written, or null when computed. */
|
|
4692
|
+
readonly date: string | null;
|
|
4693
|
+
/** Numeric value for the pinned date (timeline scale), or null when computed. */
|
|
4694
|
+
readonly dateValue: number | null;
|
|
4695
|
+
/** Rule caption (default `now`; a trailing token on the pinned form overrides). */
|
|
4696
|
+
readonly label: string;
|
|
4697
|
+
readonly lineNumber: number;
|
|
4698
|
+
}
|
|
4661
4699
|
interface EventLineOptions {
|
|
4662
4700
|
/** False when `no-scale` — events are spaced evenly instead of by date. */
|
|
4663
4701
|
readonly scale: boolean;
|
|
@@ -4670,6 +4708,8 @@ interface EventLineOptions {
|
|
|
4670
4708
|
readonly noBox: boolean;
|
|
4671
4709
|
/** True when `no-legend` — hide the tag legend. */
|
|
4672
4710
|
readonly noLegend: boolean;
|
|
4711
|
+
/** §1.9 `legend-inline` — title left, legend flushed right on one row. */
|
|
4712
|
+
readonly legendInline?: boolean;
|
|
4673
4713
|
/** §1.9 fill family: 'solid' | 'outline'; undefined ⇒ canonical soft tint. */
|
|
4674
4714
|
readonly fillMode: 'solid' | 'outline' | undefined;
|
|
4675
4715
|
}
|
|
@@ -4679,6 +4719,8 @@ interface ParsedEventLine {
|
|
|
4679
4719
|
readonly titleLineNumber: number | null;
|
|
4680
4720
|
readonly events: readonly EventLineEvent[];
|
|
4681
4721
|
readonly eras: readonly EventLineEra[];
|
|
4722
|
+
/** The `now` marker (§28.6b), or null when the directive is absent. */
|
|
4723
|
+
readonly now: EventLineNow | null;
|
|
4682
4724
|
readonly tagGroups: readonly TagGroup[];
|
|
4683
4725
|
readonly options: EventLineOptions;
|
|
4684
4726
|
readonly diagnostics: readonly DgmoError[];
|
|
@@ -4687,7 +4729,10 @@ interface ParsedEventLine {
|
|
|
4687
4729
|
|
|
4688
4730
|
declare function parseEventLine(content: string, palette?: PaletteColors): ParsedEventLine;
|
|
4689
4731
|
|
|
4690
|
-
declare function renderEventLine(container: HTMLDivElement, parsed: ParsedEventLine, palette: PaletteColors, isDark: boolean, onClickItem?: (lineNumber: number) => void, exportDims?: D3ExportDimensions, tagOverride?: string
|
|
4732
|
+
declare function renderEventLine(container: HTMLDivElement, parsed: ParsedEventLine, palette: PaletteColors, isDark: boolean, onClickItem?: (lineNumber: number) => void, exportDims?: D3ExportDimensions, tagOverride?: string,
|
|
4733
|
+
/** Injectable clock for the computed `now` marker (§28.6b). Defaults to the
|
|
4734
|
+
* live wall-clock; tests/snapshots pass a fixed date for determinism. */
|
|
4735
|
+
nowDate?: Date): void;
|
|
4691
4736
|
/** A focus target: a single event (by its `data-evt` id, = source line), an era
|
|
4692
4737
|
* (by name), or a tag value (a legend category). `null` clears the focus. */
|
|
4693
4738
|
type EventLineFocus = {
|
|
@@ -4715,7 +4760,7 @@ declare function clearEventLineMuted(container: HTMLElement): void;
|
|
|
4715
4760
|
* to clear. No-op when the container holds no event-line SVG.
|
|
4716
4761
|
*/
|
|
4717
4762
|
declare function focusEventLine(container: HTMLElement, spec: EventLineFocus | null): void;
|
|
4718
|
-
declare function renderEventLineForExport(container: HTMLDivElement, parsed: ParsedEventLine, palette: PaletteColors, isDark: boolean, exportDims?: D3ExportDimensions, tagOverride?: string): void;
|
|
4763
|
+
declare function renderEventLineForExport(container: HTMLDivElement, parsed: ParsedEventLine, palette: PaletteColors, isDark: boolean, exportDims?: D3ExportDimensions, tagOverride?: string, nowDate?: Date): void;
|
|
4719
4764
|
|
|
4720
4765
|
/** A resolved recurrence rule. Built by the parser, re-read by the ticker. */
|
|
4721
4766
|
interface RecurRule {
|
|
@@ -5181,6 +5226,8 @@ interface ParsedBracket {
|
|
|
5181
5226
|
readonly activeTag: string | null;
|
|
5182
5227
|
/** Hide the tag legend. */
|
|
5183
5228
|
readonly noLegend: boolean;
|
|
5229
|
+
/** §1.9 `legend-inline` — title left, legend flushed right on one row. */
|
|
5230
|
+
readonly legendInline?: boolean;
|
|
5184
5231
|
/** Suppress round/column labels (`no-round`). */
|
|
5185
5232
|
readonly noRounds: boolean;
|
|
5186
5233
|
/**
|
|
@@ -5412,6 +5459,8 @@ interface TreemapOptions {
|
|
|
5412
5459
|
noPercent: boolean;
|
|
5413
5460
|
noHeaders: boolean;
|
|
5414
5461
|
noLegend: boolean;
|
|
5462
|
+
/** §1.9 `legend-inline` — title left, legend flushed right on one row. */
|
|
5463
|
+
legendInline?: boolean;
|
|
5415
5464
|
/** §1.9 fill family; undefined ⇒ canonical 25% tint. */
|
|
5416
5465
|
fillMode: 'solid' | 'outline' | undefined;
|
|
5417
5466
|
/** `radial` — render as a sunburst (concentric rings) instead of rectangles. */
|
|
@@ -5596,6 +5645,8 @@ interface BlockGrid {
|
|
|
5596
5645
|
interface BlockOptions {
|
|
5597
5646
|
/** `no-legend` — hide the tag legend. */
|
|
5598
5647
|
noLegend: boolean;
|
|
5648
|
+
/** §1.9 `legend-inline` — title left, legend flushed right on one row. */
|
|
5649
|
+
legendInline?: boolean;
|
|
5599
5650
|
/** §1.9 fill family: 'solid' | 'outline'; absent ⇒ canonical 25% tint. */
|
|
5600
5651
|
fillMode?: 'solid' | 'outline';
|
|
5601
5652
|
}
|
|
@@ -6332,6 +6383,12 @@ interface LegendRenderOptions {
|
|
|
6332
6383
|
containerWidth: number;
|
|
6333
6384
|
activeGroup?: string | null;
|
|
6334
6385
|
className?: string;
|
|
6386
|
+
/**
|
|
6387
|
+
* Row alignment within `containerWidth`. `'center'` (default) matches the
|
|
6388
|
+
* historic top-center legend; `'left'` left-origins the row at x=0 so the
|
|
6389
|
+
* caller can translate it beside a left-aligned title (§1.9 `legend-inline`).
|
|
6390
|
+
*/
|
|
6391
|
+
align?: 'center' | 'left';
|
|
6335
6392
|
}
|
|
6336
6393
|
interface LegendRenderResult {
|
|
6337
6394
|
svg: string;
|
|
@@ -6403,13 +6460,23 @@ declare function computeActivations(steps: RenderStep[]): Activation[];
|
|
|
6403
6460
|
*/
|
|
6404
6461
|
declare function applyPositionOverrides(participants: readonly SequenceParticipant[]): SequenceParticipant[];
|
|
6405
6462
|
/**
|
|
6406
|
-
*
|
|
6407
|
-
*
|
|
6408
|
-
*
|
|
6409
|
-
*
|
|
6410
|
-
*
|
|
6463
|
+
* Order participants by first appearance in messages, then pull grouped
|
|
6464
|
+
* members adjacent.
|
|
6465
|
+
*
|
|
6466
|
+
* The baseline is first-occurrence order (spec §2.2 priority 3): the first
|
|
6467
|
+
* participant referenced by a message gets the leftmost column, regardless of
|
|
6468
|
+
* declaration order. A bare declaration line assigns a tag/type only — it does
|
|
6469
|
+
* NOT pin a column. Participants that never appear in any message fall back to
|
|
6470
|
+
* declaration order (priority 4) and are appended after the message-referenced
|
|
6471
|
+
* ones.
|
|
6472
|
+
*
|
|
6473
|
+
* When spatial `[Group]` boxes exist (priority 2), each group's members are
|
|
6474
|
+
* pulled adjacent at the group's first-appearance anchor, overriding their
|
|
6475
|
+
* individual appearance slots. With no groups this reduces to pure
|
|
6476
|
+
* appearance order.
|
|
6411
6477
|
*
|
|
6412
|
-
* Explicit `position` overrides are handled separately by
|
|
6478
|
+
* Explicit `position` overrides (priority 1) are handled separately by
|
|
6479
|
+
* `applyPositionOverrides`, which runs after this pass.
|
|
6413
6480
|
*/
|
|
6414
6481
|
declare function applyGroupOrdering(participants: readonly SequenceParticipant[], groups: readonly SequenceGroup[], messages?: readonly SequenceMessage[]): SequenceParticipant[];
|
|
6415
6482
|
/**
|