@diagrammo/dgmo 0.51.0 → 0.53.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/.cursorrules +74 -77
- package/.github/copilot-instructions.md +74 -77
- package/.windsurfrules +74 -77
- package/SKILL.md +74 -77
- package/dist/advanced.d.ts +109 -246
- package/dist/advanced.js +296 -633
- package/dist/analyzer-TDN5KJFP.js +15 -0
- package/dist/auto.css +14 -6
- package/dist/auto.js +141 -129
- package/dist/auto.mjs +2062 -937
- package/dist/block.css +14 -6
- package/dist/block.js +123 -73
- package/dist/calculator-VBIT6GQF.js +11 -0
- package/dist/chart-meta-CPNVUZ5J.d.ts +232 -0
- package/dist/chart-meta.d.ts +2 -0
- package/dist/chart-meta.js +105 -0
- package/dist/charts-d3-DH2XA45I.js +26 -0
- package/dist/{chunk-RLFVAKEO.js → chunk-22OQWBWD.js} +25 -8
- package/dist/{chunk-I2QZFCS2.js → chunk-27STWBOK.js} +10 -8
- package/dist/{chunk-5PZT4DQG.js → chunk-2QC4HXCY.js} +41 -21
- package/dist/{chunk-HFMYN6N2.js → chunk-3B2GXZCX.js} +4 -3
- package/dist/{chunk-F3FYUFUH.js → chunk-3BEKKRH5.js} +18 -17
- package/dist/{chunk-2UJSV2VT.js → chunk-3CZLWOCI.js} +17 -7
- package/dist/{chunk-JEUJOX5X.js → chunk-3IUHKMJI.js} +2 -2
- package/dist/{chunk-7L4UJOY6.js → chunk-3TYUXC7D.js} +2 -2
- package/dist/{chunk-Y2ZE3MSG.js → chunk-43E26CDA.js} +2 -2
- package/dist/{chunk-ZO27FGJS.js → chunk-4ASVFYB2.js} +10 -7
- package/dist/{chunk-WCT3NYCV.js → chunk-4ASYQ347.js} +33 -8
- package/dist/{chunk-2ILHQOL3.js → chunk-4K42RUGC.js} +41 -13
- package/dist/{chunk-I5IGB56C.js → chunk-4QV26TEG.js} +41 -1
- package/dist/{chunk-QOOUC2J5.js → chunk-4RGZFA7H.js} +2 -2
- package/dist/{chunk-CXK4DZH3.js → chunk-4W2PE66Q.js} +12 -2
- package/dist/{chunk-EXOQP75F.js → chunk-4WGMGKCZ.js} +53 -33
- package/dist/{chunk-JED6ZDEE.js → chunk-5HWPEYWB.js} +2 -2
- package/dist/{chunk-3YSQZ75W.js → chunk-65V6IRFN.js} +46 -33
- package/dist/{chunk-TMACGPW5.js → chunk-6AUZPPAV.js} +4 -4
- package/dist/{chunk-6H7O2OPM.js → chunk-6DCOIN4W.js} +36 -6
- package/dist/{chunk-GTWKD3QT.js → chunk-6HTRCTAS.js} +7 -6
- package/dist/{chunk-VB4UJ3H2.js → chunk-6KY7OCZC.js} +21 -11
- package/dist/{chunk-YAA6IID3.js → chunk-774C2FF3.js} +2 -2
- package/dist/{chunk-WJ7RW65H.js → chunk-7GUF6SDR.js} +22 -20
- package/dist/{chunk-QYTPPDAO.js → chunk-7JDTNFAK.js} +3 -3
- package/dist/{chunk-U6EQI3U6.js → chunk-ADYKAKE3.js} +3 -3
- package/dist/{chunk-VNSXLA6G.js → chunk-AHXIMHDQ.js} +84 -20
- package/dist/chunk-AIMLCDAO.js +404 -0
- package/dist/{chunk-6MNGECP2.js → chunk-ALYZ3MAA.js} +4 -4
- package/dist/{chunk-5F5ELR3V.js → chunk-AN2DQB3G.js} +151 -20
- package/dist/{chunk-IEWG6J7C.js → chunk-AZNXGWDC.js} +91 -36
- package/dist/{chunk-4XFBQT5O.js → chunk-B4XS2AF2.js} +3 -3
- package/dist/{chunk-CC4YRBWV.js → chunk-BD3WGY4T.js} +18 -8
- package/dist/{chunk-RAHVMKBG.js → chunk-BFDVEO5R.js} +2 -2
- package/dist/{chunk-332ZR4QU.js → chunk-BR7AYN76.js} +8 -8
- package/dist/{chunk-P3NRSSUU.js → chunk-BULHGPHK.js} +3 -3
- package/dist/{chunk-PZDBOK2Q.js → chunk-CK2GMDXD.js} +11 -5
- package/dist/{chunk-467TVMQL.js → chunk-CMVZWP32.js} +3 -3
- package/dist/{chunk-GNSFLJAA.js → chunk-CQFNIIQN.js} +7 -7
- package/dist/{chunk-RBDIYLA5.js → chunk-DAOFNU6J.js} +17 -1
- package/dist/{chunk-AFIEPDLX.js → chunk-DWUMPMV2.js} +23 -11
- package/dist/{chunk-USZW2HHU.js → chunk-EQW6HOP4.js} +4 -3
- package/dist/{chunk-6BQFET7X.js → chunk-FFXCKZOU.js} +12 -4
- package/dist/{chunk-WRNFDFPU.js → chunk-FGDSTT3F.js} +2 -2
- package/dist/{chunk-6NFYEQDX.js → chunk-FLDC7ZAK.js} +34 -7
- package/dist/{chunk-IUJODQKX.js → chunk-FT7TPPZ5.js} +25 -23
- package/dist/{chunk-IEDMFNU7.js → chunk-FUKNRLIJ.js} +19 -7
- package/dist/{chunk-JJXGQIRV.js → chunk-FXCB7H5O.js} +4 -4
- package/dist/{chunk-GGHRAITI.js → chunk-GABSL6TH.js} +4 -4
- package/dist/{chunk-RXKTSFDL.js → chunk-GAWKIIPO.js} +35 -43
- package/dist/{chunk-ZJ3LS7DW.js → chunk-GMAH572Z.js} +6 -6
- package/dist/{chunk-TRM2J7ZN.js → chunk-GMIJ35PW.js} +28 -29
- package/dist/{chunk-AB7INMR5.js → chunk-GQ644SPD.js} +26 -25
- package/dist/{chunk-5QKQSSPO.js → chunk-GRM2A4BG.js} +4 -4
- package/dist/{chunk-3ODS2VGL.js → chunk-GWQJKTFS.js} +161 -704
- package/dist/{chunk-OTOHI4JO.js → chunk-H3HFC3SQ.js} +2 -2
- package/dist/{chunk-JSSX2SX4.js → chunk-HE5J53SZ.js} +4 -4
- package/dist/{chunk-2EQMXBBQ.js → chunk-HNBY6CNV.js} +3 -3
- package/dist/{chunk-J76PIKAT.js → chunk-HO3RCNF6.js} +3 -3
- package/dist/{chunk-OJTXTQA2.js → chunk-HORZ5H2L.js} +38 -31
- package/dist/{chunk-MX2EY5Y7.js → chunk-HOXKNRON.js} +2 -2
- package/dist/{chunk-E7Y3SYKW.js → chunk-I64ECJX3.js} +18 -8
- package/dist/{chunk-JM4LEPY3.js → chunk-IQJCVREL.js} +11 -8
- package/dist/{chunk-3JLKYGBQ.js → chunk-J7HI6G3G.js} +9 -6
- package/dist/{chunk-Q62FEYK3.js → chunk-JHOAH4TI.js} +3 -3
- package/dist/{chunk-OZPBJM5Q.js → chunk-JTMSWEIW.js} +11 -8
- package/dist/{chunk-P6T66CCZ.js → chunk-JYDMBWRP.js} +37 -19
- package/dist/{chunk-7DF4J4RL.js → chunk-KKHCNSKK.js} +17 -11
- package/dist/{chunk-ENRS56GC.js → chunk-KUSAVOWZ.js} +11 -8
- package/dist/{chunk-BYJBIALT.js → chunk-LC3FFD43.js} +23 -18
- package/dist/{chunk-65WJYYKJ.js → chunk-LHILKFDP.js} +16 -11
- package/dist/{chunk-NEQ6GJXB.js → chunk-LQHVDZYC.js} +52 -16
- package/dist/{chunk-5WPNFSXP.js → chunk-MA3HJZHB.js} +5 -5
- package/dist/{chunk-Z6XJQ6KO.js → chunk-MEQYZZFR.js} +3 -3
- package/dist/{chunk-MVN25IF6.js → chunk-NNUMX6WX.js} +42 -12
- package/dist/{chunk-7DYOELRK.js → chunk-NNYFQOTK.js} +78 -38
- package/dist/{chunk-NNAAJVBU.js → chunk-NR5HCAUD.js} +1 -1
- package/dist/{chunk-H6PI3KJT.js → chunk-ODUT5WMC.js} +2 -2
- package/dist/{chunk-5PDTIBLV.js → chunk-P3H7QVDH.js} +56 -19
- package/dist/{chunk-ND76YJCN.js → chunk-PIXZTCKH.js} +84 -117
- package/dist/{chunk-3LV2NCB6.js → chunk-PKNNHU7H.js} +22 -9
- package/dist/{chunk-TK2VQQX2.js → chunk-PT4SW76W.js} +20 -18
- package/dist/{chunk-AE7II3E3.js → chunk-PV2QO7QL.js} +4 -4
- package/dist/{chunk-FTBZV6NE.js → chunk-PYO4TJJ3.js} +34 -26
- package/dist/{chunk-QZPEGJOM.js → chunk-Q7AH665U.js} +28 -14
- package/dist/{chunk-QHI5XVUJ.js → chunk-QAALSCKI.js} +27 -26
- package/dist/{chunk-GD6L76WD.js → chunk-QI3BOLQB.js} +23 -11
- package/dist/{chunk-Y6GBQTBK.js → chunk-QWIBT6DS.js} +50 -28
- package/dist/{chunk-GU46PPT3.js → chunk-QXGACPS2.js} +5 -5
- package/dist/{chunk-FMDSF3OV.js → chunk-QZAW5SFH.js} +2 -2
- package/dist/{chunk-YGJZWZTY.js → chunk-R5NH5BZG.js} +12 -9
- package/dist/{chunk-U5SI5NIM.js → chunk-RJ5LBZ5U.js} +43 -26
- package/dist/{chunk-XHVV4NVW.js → chunk-RT7ACF77.js} +12 -2
- package/dist/{chunk-XEQXCIBC.js → chunk-RW5PEJ7D.js} +18 -6
- package/dist/{chunk-4VWJ4LW2.js → chunk-SG4PRYO3.js} +61 -49
- package/dist/{chunk-RBHWPDBB.js → chunk-SGPFVDUL.js} +18 -7
- package/dist/{chunk-KJGG2JKQ.js → chunk-SQCBSFT5.js} +84 -79
- package/dist/{chunk-5X6YQA2J.js → chunk-U7NKYLX2.js} +18 -16
- package/dist/chunk-U7VO6JAA.js +566 -0
- package/dist/{chunk-32XPAAET.js → chunk-UFQJMOVZ.js} +10 -10
- package/dist/{chunk-Z72XRXD4.js → chunk-UJRTPOHH.js} +3 -3
- package/dist/{chunk-EDA6C7MV.js → chunk-UK6DKJLD.js} +34 -14
- package/dist/{chunk-GROLTAWZ.js → chunk-UKP5HWB5.js} +149 -89
- package/dist/{chunk-DY7XLRHK.js → chunk-UQRIKAMH.js} +28 -27
- package/dist/{chunk-TYS6CSS5.js → chunk-UU6LUYUH.js} +2 -2
- package/dist/{chunk-NI3XQBPB.js → chunk-UVDCHR4E.js} +18 -6
- package/dist/{chunk-6K2M4VSR.js → chunk-VAO6ANGC.js} +23 -10
- package/dist/{chunk-6NYWYNBI.js → chunk-VGNIDAPQ.js} +4 -4
- package/dist/{chunk-VL2O2F3W.js → chunk-VHO3YBTB.js} +2 -2
- package/dist/{chunk-IUO34HKW.js → chunk-VIRANCNY.js} +36 -32
- package/dist/{chunk-4QZ43D7I.js → chunk-VJHBSPGF.js} +12 -14
- package/dist/{chunk-BGP54HVR.js → chunk-VKNCC2GX.js} +12 -8
- package/dist/{chunk-FC5I2KXV.js → chunk-VRRDUYOK.js} +7 -7
- package/dist/{chunk-G3PF3S7P.js → chunk-W2DINCHL.js} +15 -15
- package/dist/{chunk-OU7HLO7I.js → chunk-W5KMNC5U.js} +8 -8
- package/dist/{chunk-FFUN5D66.js → chunk-WF64MW5G.js} +2 -2
- package/dist/{chunk-X7EC3L2H.js → chunk-X3RXGSCZ.js} +48 -30
- package/dist/{chunk-KFNWFNAA.js → chunk-XEAQDIMF.js} +7 -6
- package/dist/{chunk-AXW3M6OQ.js → chunk-XG4NWFPY.js} +38 -27
- package/dist/{chunk-B63YB7X3.js → chunk-XQ4KN6JQ.js} +127 -65
- package/dist/{chunk-WBRZJOEC.js → chunk-XY3UDKKH.js} +4 -4
- package/dist/{chunk-IE477RQZ.js → chunk-YG2BEIQU.js} +14 -13
- package/dist/{chunk-LV4BETUU.js → chunk-YJVA3QUU.js} +55 -5
- package/dist/{chunk-5SVOCD5W.js → chunk-YR43LJT5.js} +20 -16
- package/dist/{chunk-TLVIHFRO.js → chunk-ZKPPI6BF.js} +2 -2
- package/dist/{chunk-WQLMU7VG.js → chunk-ZXUAPTCK.js} +3 -3
- package/dist/cli.cjs +158 -155
- package/dist/clock.js +25 -23
- package/dist/countdown.js +4 -3
- package/dist/dgmo-router-B4S23EBH.js +86 -0
- package/dist/dimensions-K6PGYYGT.js +22 -0
- package/dist/editor.js +36 -6
- package/dist/element.js +143 -131
- package/dist/element.mjs +2062 -937
- package/dist/flowchart-parser-LALR6J6F.js +21 -0
- package/dist/{flowchart-renderer-AQSMEMYF.js → flowchart-renderer-DXYB5YRF.js} +14 -14
- package/dist/highlight.d.ts +21 -1
- package/dist/highlight.js +129 -8
- package/dist/index.d.ts +4 -2
- package/dist/index.js +80 -75
- package/dist/layout-3BVDMKXI.js +15 -0
- package/dist/layout-3M5UYJHY.js +14 -0
- package/dist/{layout-JDJAEQ3P.js → layout-3V2A4MUE.js} +8 -8
- package/dist/layout-4IHCMWZN.js +19 -0
- package/dist/layout-5XGYNYVT.js +9 -0
- package/dist/layout-AZUPXWSK.js +15 -0
- package/dist/{layout-F4WO357A.js → layout-CAAKQX4W.js} +3 -3
- package/dist/layout-CB3XWCOI.js +10 -0
- package/dist/{layout-OAC4PEAC.js → layout-E6HR6PXH.js} +7 -7
- package/dist/{layout-7QXCNOVS.js → layout-HBWT2G23.js} +3 -3
- package/dist/layout-KPQWJNAG.js +14 -0
- package/dist/layout-OL2XFJXA.js +17 -0
- package/dist/layout-WCAIKGZG.js +19 -0
- package/dist/layout-WSMPBQ4Q.js +17 -0
- package/dist/layout-ZE5DRJWX.js +20 -0
- package/dist/{layout-search-55FU6HD3.js → layout-search-34DPZD43.js} +51 -35
- package/dist/legend-constants-P5EQWRQQ.js +49 -0
- package/dist/{palettes-PRJ2RI6D.js → palettes-FGTNFARW.js} +4 -4
- package/dist/{parser-KKTJ6M3Y.js → parser-275KP7JO.js} +8 -8
- package/dist/parser-27Z76SN3.js +22 -0
- package/dist/parser-3CODK6RG.js +15 -0
- package/dist/{parser-EH5VE7ZN.js → parser-3KIGEEJM.js} +6 -6
- package/dist/parser-3VSWEKBF.js +15 -0
- package/dist/parser-4E4I3GNT.js +13 -0
- package/dist/parser-5FGJSQNS.js +12 -0
- package/dist/parser-5HQXCNOS.js +12 -0
- package/dist/parser-5QPFOB5F.js +12 -0
- package/dist/parser-6B6SSZT7.js +11 -0
- package/dist/parser-6PPHAXXH.js +14 -0
- package/dist/parser-7JHWEWXM.js +13 -0
- package/dist/{parser-5PDYJGWA.js → parser-7JVIDLLR.js} +7 -7
- package/dist/parser-CKA3QMAG.js +18 -0
- package/dist/parser-CRKLXGW7.js +13 -0
- package/dist/parser-EXNBDNGY.js +11 -0
- package/dist/parser-FF4BMRSB.js +16 -0
- package/dist/parser-FOOFEJQU.js +13 -0
- package/dist/parser-G26MTBFS.js +11 -0
- package/dist/parser-GKP2MHHL.js +11 -0
- package/dist/parser-GN2MM5CC.js +11 -0
- package/dist/parser-IKWK2ZU3.js +18 -0
- package/dist/parser-IVGHXLZP.js +14 -0
- package/dist/parser-NNIL3HXU.js +11 -0
- package/dist/parser-RNLTBIJ6.js +19 -0
- package/dist/parser-UWRX52PC.js +16 -0
- package/dist/parser-VOERD6XR.js +14 -0
- package/dist/parser-XNKJCMMA.js +13 -0
- package/dist/parser-XVPTRWZ4.js +15 -0
- package/dist/parser-YSLNDFLV.js +22 -0
- package/dist/parser-ZGNXYFPS.js +15 -0
- package/dist/parser-ZQDQTB4X.js +20 -0
- package/dist/pert.d.ts +4 -2
- package/dist/registry-CaSw0PSH.d.ts +350 -0
- package/dist/renderer-2C6DJRYN.js +24 -0
- package/dist/renderer-5MPN7CXZ.js +19 -0
- package/dist/renderer-6EN5XXJZ.js +27 -0
- package/dist/renderer-6WRYVM5R.js +24 -0
- package/dist/renderer-7NQSTQMQ.js +16 -0
- package/dist/renderer-7ZNVOVFG.js +16 -0
- package/dist/{renderer-KQB7UGDS.js → renderer-AK2WO4EI.js} +7 -6
- package/dist/renderer-COLQFSFV.js +26 -0
- package/dist/renderer-CWEFGEIC.js +36 -0
- package/dist/renderer-D3BRNOMV.js +29 -0
- package/dist/renderer-HIFQVEJA.js +22 -0
- package/dist/renderer-JCZG6AYU.js +28 -0
- package/dist/{renderer-6RKQPNJI.js → renderer-JTCX6PCG.js} +13 -13
- package/dist/renderer-JWGQSTMR.js +37 -0
- package/dist/{renderer-3YPZHMOU.js → renderer-K7XLVPH5.js} +6 -6
- package/dist/renderer-KARQF3F3.js +22 -0
- package/dist/renderer-LVZAHRP6.js +34 -0
- package/dist/{renderer-QXGN5H3A.js → renderer-NE5W7CQP.js} +8 -8
- package/dist/renderer-QD2SJF2I.js +34 -0
- package/dist/renderer-RLMOTXZ6.js +37 -0
- package/dist/renderer-SQ54MDSA.js +26 -0
- package/dist/{renderer-UV6MI64M.js → renderer-TYHGXAVT.js} +7 -6
- package/dist/renderer-UKXW2QPE.js +23 -0
- package/dist/renderer-UPF7NRTI.js +28 -0
- package/dist/renderer-VMH6L6CP.js +24 -0
- package/dist/{renderer-GHPZMFU2.js → renderer-WCWI4I6A.js} +5 -5
- package/dist/renderer-WFSUBKUL.js +25 -0
- package/dist/renderer-WNFXYYGL.js +21 -0
- package/dist/{renderer-RGIYOTKJ.js → renderer-XTXSOK3L.js} +14 -14
- package/dist/renderer-YUKPS27O.js +24 -0
- package/dist/renderer-YUXGXGSW.js +27 -0
- package/dist/renderer-ZBTEX2JK.js +16 -0
- package/dist/renderer-radial-WF6VOUOD.js +21 -0
- package/dist/{resolver-EMTGNR3D.js → resolver-WFKZYBJ2.js} +4 -4
- package/dist/state-parser-L7DHZIQO.js +19 -0
- package/dist/state-renderer-TFEUOP4H.js +38 -0
- package/dist/{themes-32xj5ZTW.d.ts → themes-tbBkIVsn.d.ts} +2 -349
- package/docs/ai-integration.md +74 -77
- package/docs/language-reference.md +329 -290
- package/fonts/Inter-Bold.woff2 +0 -0
- package/fonts/Inter-Regular.woff2 +0 -0
- package/gallery/fixtures/boxes-and-lines-diverging.dgmo +1 -2
- package/gallery/fixtures/boxes-and-lines.dgmo +1 -1
- package/gallery/fixtures/clock.dgmo +1 -1
- package/gallery/fixtures/event-line.dgmo +1 -1
- package/gallery/fixtures/gantt-full.dgmo +1 -1
- package/gallery/fixtures/gantt-sprints.dgmo +9 -9
- package/gallery/fixtures/gantt.dgmo +1 -1
- package/gallery/fixtures/legacy-syntax-backcompat.dgmo +16 -0
- package/gallery/fixtures/state-tags.dgmo +40 -0
- package/gallery/fixtures/swimlane.dgmo +1 -1
- package/gallery/fixtures/timeline-intraday.dgmo +1 -1
- package/package.json +5 -1
- package/dist/analyzer-BJ54GIFB.js +0 -15
- package/dist/calculator-LDYQCDDY.js +0 -11
- package/dist/charts-d3-7E4B4IMW.js +0 -26
- package/dist/dgmo-router-Y2VEX46B.js +0 -86
- package/dist/dimensions-F7B5C4BJ.js +0 -22
- package/dist/flowchart-parser-MY53QWTZ.js +0 -21
- package/dist/layout-46366KBT.js +0 -10
- package/dist/layout-46N4JJYK.js +0 -17
- package/dist/layout-4DIUOX2T.js +0 -14
- package/dist/layout-AM2JWW3X.js +0 -15
- package/dist/layout-CBCLPMSG.js +0 -15
- package/dist/layout-EE6GE46Y.js +0 -17
- package/dist/layout-G23F7LDH.js +0 -9
- package/dist/layout-HYZPWAK5.js +0 -18
- package/dist/layout-MUPRALE5.js +0 -14
- package/dist/layout-YVTNOTN4.js +0 -20
- package/dist/layout-ZDOSXL5G.js +0 -19
- package/dist/parser-2Q2T4C3B.js +0 -22
- package/dist/parser-3A42DZ72.js +0 -11
- package/dist/parser-4RFTKAQX.js +0 -15
- package/dist/parser-57ILIFZ2.js +0 -20
- package/dist/parser-5A2UWU6B.js +0 -11
- package/dist/parser-6BJEXUFX.js +0 -13
- package/dist/parser-6ZKABF5S.js +0 -22
- package/dist/parser-AIMHGJRR.js +0 -19
- package/dist/parser-AZJ25OKK.js +0 -13
- package/dist/parser-B77S5SZM.js +0 -11
- package/dist/parser-BEPSWJAD.js +0 -11
- package/dist/parser-BKI42XBQ.js +0 -16
- package/dist/parser-C3D7MVXY.js +0 -11
- package/dist/parser-CDG7CHV5.js +0 -14
- package/dist/parser-CZOJ7XQ6.js +0 -15
- package/dist/parser-E2RL6JYF.js +0 -18
- package/dist/parser-FQ6GZFMR.js +0 -13
- package/dist/parser-GKLZKEIK.js +0 -13
- package/dist/parser-H6ABKHZZ.js +0 -12
- package/dist/parser-I6GGFKOQ.js +0 -12
- package/dist/parser-JA7JQ7NF.js +0 -15
- package/dist/parser-OK22AC6Y.js +0 -14
- package/dist/parser-OK2ILHRT.js +0 -16
- package/dist/parser-OUTPNJWC.js +0 -11
- package/dist/parser-PORDUX5E.js +0 -15
- package/dist/parser-SRVFR7PM.js +0 -13
- package/dist/parser-UKFFZCFJ.js +0 -14
- package/dist/parser-UMWPLORP.js +0 -18
- package/dist/parser-Z4TZV2CB.js +0 -12
- package/dist/renderer-2AUFT3E2.js +0 -24
- package/dist/renderer-2HTNBIF2.js +0 -34
- package/dist/renderer-3K3IB7D5.js +0 -22
- package/dist/renderer-3YNIWF5I.js +0 -16
- package/dist/renderer-4WR6WMVF.js +0 -26
- package/dist/renderer-66MERVQ2.js +0 -24
- package/dist/renderer-ARMJBP6C.js +0 -28
- package/dist/renderer-CO2DW7S7.js +0 -37
- package/dist/renderer-EDJ2O4S5.js +0 -34
- package/dist/renderer-F7U3MFCV.js +0 -22
- package/dist/renderer-GD2COXVL.js +0 -16
- package/dist/renderer-GQIESYEM.js +0 -25
- package/dist/renderer-HCKJDFXD.js +0 -37
- package/dist/renderer-HYGHO4SJ.js +0 -28
- package/dist/renderer-JC3RDUT7.js +0 -23
- package/dist/renderer-NKJ24TEA.js +0 -19
- package/dist/renderer-OYO67VZK.js +0 -26
- package/dist/renderer-QIWVHWZO.js +0 -15
- package/dist/renderer-QRWACQRI.js +0 -21
- package/dist/renderer-QXPP4TA2.js +0 -27
- package/dist/renderer-RHT4MHFU.js +0 -24
- package/dist/renderer-RYR3TJ46.js +0 -36
- package/dist/renderer-SRKDNDFB.js +0 -27
- package/dist/renderer-TGTUABCI.js +0 -24
- package/dist/renderer-TXJFKPOG.js +0 -29
- package/dist/renderer-radial-FWABAZHB.js +0 -21
- package/dist/state-parser-6T6CNMPX.js +0 -18
- package/dist/state-renderer-AWZ3ECAX.js +0 -34
|
@@ -9,10 +9,10 @@ import {
|
|
|
9
9
|
} from "./chunk-YYVTBZZC.js";
|
|
10
10
|
import {
|
|
11
11
|
renderIntegratedLegend
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-W5KMNC5U.js";
|
|
13
13
|
import {
|
|
14
14
|
getMaxLegendReservedHeight
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-774C2FF3.js";
|
|
16
16
|
import {
|
|
17
17
|
TITLE_FONT_SIZE,
|
|
18
18
|
TITLE_FONT_WEIGHT,
|
|
@@ -21,25 +21,29 @@ import {
|
|
|
21
21
|
import {
|
|
22
22
|
FONT_FAMILY
|
|
23
23
|
} from "./chunk-6KFWC4CO.js";
|
|
24
|
-
import {
|
|
25
|
-
measureText,
|
|
26
|
-
truncateText
|
|
27
|
-
} from "./chunk-WCT3NYCV.js";
|
|
28
24
|
import {
|
|
29
25
|
contrastText,
|
|
30
26
|
mix,
|
|
31
27
|
shapeFill,
|
|
32
28
|
themeBaseBg
|
|
33
|
-
} from "./chunk-
|
|
29
|
+
} from "./chunk-JYDMBWRP.js";
|
|
30
|
+
import {
|
|
31
|
+
measureText,
|
|
32
|
+
truncateText
|
|
33
|
+
} from "./chunk-4ASYQ347.js";
|
|
34
34
|
import {
|
|
35
35
|
isSequenceBlock,
|
|
36
36
|
isSequenceNote,
|
|
37
37
|
isSequenceSection
|
|
38
|
-
} from "./chunk-
|
|
38
|
+
} from "./chunk-22OQWBWD.js";
|
|
39
39
|
import {
|
|
40
40
|
resolveActiveTagGroup,
|
|
41
41
|
tagAttrKey
|
|
42
|
-
} from "./chunk-
|
|
42
|
+
} from "./chunk-CMVZWP32.js";
|
|
43
|
+
import {
|
|
44
|
+
fillModeFromOptions,
|
|
45
|
+
legendSuppressed
|
|
46
|
+
} from "./chunk-YJVA3QUU.js";
|
|
43
47
|
|
|
44
48
|
// src/sequence/renderer.ts
|
|
45
49
|
import * as d3Selection from "d3-selection";
|
|
@@ -286,15 +290,13 @@ function wrapLabelWords(words, maxWidth, fontSize) {
|
|
|
286
290
|
if (current) lines.push(current);
|
|
287
291
|
return lines;
|
|
288
292
|
}
|
|
289
|
-
var fill = (palette, isDark, color,
|
|
290
|
-
...solid !== void 0 && { solid }
|
|
291
|
-
}) : isDark ? mix(palette.overlay, palette.surface, 50) : mix(palette.bg, palette.surface, 50);
|
|
293
|
+
var fill = (palette, isDark, color, fillMode) => color ? shapeFill(palette, color, isDark, { mode: fillMode }) : isDark ? mix(palette.overlay, palette.surface, 50) : mix(palette.bg, palette.surface, 50);
|
|
292
294
|
var stroke = (palette, color) => color || palette.border;
|
|
293
295
|
var SW = 1.5;
|
|
294
296
|
var W = PARTICIPANT_BOX_WIDTH;
|
|
295
297
|
var H = PARTICIPANT_BOX_HEIGHT;
|
|
296
|
-
function renderRectParticipant(g, palette, isDark, color,
|
|
297
|
-
g.append("rect").attr("x", -w / 2).attr("y", 0).attr("width", w).attr("height", h).attr("rx", 2).attr("ry", 2).attr("fill", fill(palette, isDark, color,
|
|
298
|
+
function renderRectParticipant(g, palette, isDark, color, fillMode, w = W, h = H) {
|
|
299
|
+
g.append("rect").attr("x", -w / 2).attr("y", 0).attr("width", w).attr("height", h).attr("rx", 2).attr("ry", 2).attr("fill", fill(palette, isDark, color, fillMode)).attr("stroke", stroke(palette, color)).attr("stroke-width", SW);
|
|
298
300
|
}
|
|
299
301
|
function renderActorParticipant(g, palette, color, h = H) {
|
|
300
302
|
const sc = h / H;
|
|
@@ -315,11 +317,11 @@ function renderActorParticipant(g, palette, color, h = H) {
|
|
|
315
317
|
g.append("line").attr("x1", cx).attr("y1", bodyBottomY).attr("x2", cx - legSpan).attr("y2", legY).attr("stroke", s).attr("stroke-width", actorSW);
|
|
316
318
|
g.append("line").attr("x1", cx).attr("y1", bodyBottomY).attr("x2", cx + legSpan).attr("y2", legY).attr("stroke", s).attr("stroke-width", actorSW);
|
|
317
319
|
}
|
|
318
|
-
function renderDatabaseParticipant(g, palette, isDark, color,
|
|
320
|
+
function renderDatabaseParticipant(g, palette, isDark, color, fillMode, w = W, h = H) {
|
|
319
321
|
const ry = 7;
|
|
320
322
|
const topY = ry;
|
|
321
323
|
const bodyH = h - ry * 2;
|
|
322
|
-
const f = fill(palette, isDark, color,
|
|
324
|
+
const f = fill(palette, isDark, color, fillMode);
|
|
323
325
|
const s = stroke(palette, color);
|
|
324
326
|
g.append("ellipse").attr("cx", 0).attr("cy", topY + bodyH).attr("rx", w / 2).attr("ry", ry).attr("fill", f).attr("stroke", s).attr("stroke-width", SW);
|
|
325
327
|
g.append("rect").attr("class", "participant-body").attr("x", -w / 2).attr("y", topY).attr("width", w).attr("height", bodyH).attr("fill", f).attr("stroke", "none");
|
|
@@ -327,11 +329,11 @@ function renderDatabaseParticipant(g, palette, isDark, color, solid, w = W, h =
|
|
|
327
329
|
g.append("line").attr("x1", w / 2).attr("y1", topY).attr("x2", w / 2).attr("y2", topY + bodyH).attr("stroke", s).attr("stroke-width", SW);
|
|
328
330
|
g.append("ellipse").attr("cx", 0).attr("cy", topY).attr("rx", w / 2).attr("ry", ry).attr("fill", f).attr("stroke", s).attr("stroke-width", SW);
|
|
329
331
|
}
|
|
330
|
-
function renderQueueParticipant(g, palette, isDark, color,
|
|
332
|
+
function renderQueueParticipant(g, palette, isDark, color, fillMode, w = W, h = H) {
|
|
331
333
|
const rx = 10;
|
|
332
334
|
const leftX = -w / 2 + rx;
|
|
333
335
|
const bodyW = w - rx * 2;
|
|
334
|
-
const f = fill(palette, isDark, color,
|
|
336
|
+
const f = fill(palette, isDark, color, fillMode);
|
|
335
337
|
const s = stroke(palette, color);
|
|
336
338
|
g.append("ellipse").attr("cx", leftX + bodyW).attr("cy", h / 2).attr("rx", rx).attr("ry", h / 2).attr("fill", f).attr("stroke", s).attr("stroke-width", SW);
|
|
337
339
|
g.append("rect").attr("class", "participant-body").attr("x", leftX).attr("y", 0).attr("width", bodyW).attr("height", h).attr("fill", f).attr("stroke", "none");
|
|
@@ -339,11 +341,11 @@ function renderQueueParticipant(g, palette, isDark, color, solid, w = W, h = H)
|
|
|
339
341
|
g.append("line").attr("x1", leftX).attr("y1", h).attr("x2", leftX + bodyW).attr("y2", h).attr("stroke", s).attr("stroke-width", SW);
|
|
340
342
|
g.append("ellipse").attr("cx", leftX).attr("cy", h / 2).attr("rx", rx).attr("ry", h / 2).attr("fill", f).attr("stroke", s).attr("stroke-width", SW);
|
|
341
343
|
}
|
|
342
|
-
function renderCacheParticipant(g, palette, isDark, color,
|
|
344
|
+
function renderCacheParticipant(g, palette, isDark, color, fillMode, w = W, h = H) {
|
|
343
345
|
const ry = 7;
|
|
344
346
|
const topY = ry;
|
|
345
347
|
const bodyH = h - ry * 2;
|
|
346
|
-
const f = fill(palette, isDark, color,
|
|
348
|
+
const f = fill(palette, isDark, color, fillMode);
|
|
347
349
|
const s = stroke(palette, color);
|
|
348
350
|
const dash = "4 3";
|
|
349
351
|
g.append("ellipse").attr("cx", 0).attr("cy", topY + bodyH).attr("rx", w / 2).attr("ry", ry).attr("fill", f).attr("stroke", s).attr("stroke-width", SW).attr("stroke-dasharray", dash);
|
|
@@ -586,7 +588,7 @@ function applyGroupOrdering(participants, groups, messages = []) {
|
|
|
586
588
|
function renderSequenceDiagram(container, parsed, palette, isDark, _onNavigateToLine, options) {
|
|
587
589
|
d3Selection.select(container).selectAll("*").remove();
|
|
588
590
|
const { title, options: parsedOptions } = parsed;
|
|
589
|
-
const
|
|
591
|
+
const fillMode = fillModeFromOptions(parsedOptions);
|
|
590
592
|
const effectiveCollapsedGroups = options?.collapsedGroups ? new Set(options.collapsedGroups) : new Set(
|
|
591
593
|
parsed.groups.filter((g) => g.collapsed).map((g) => g.lineNumber)
|
|
592
594
|
);
|
|
@@ -1001,7 +1003,8 @@ function renderSequenceDiagram(container, parsed, palette, isDark, _onNavigateTo
|
|
|
1001
1003
|
position: { placement: "top-center", titleRelation: "below-title" },
|
|
1002
1004
|
mode: "preview"
|
|
1003
1005
|
};
|
|
1004
|
-
const
|
|
1006
|
+
const noLegend = legendSuppressed(parsedOptions);
|
|
1007
|
+
const legendTopSpace = parsed.tagGroups.length > 0 && !noLegend ? getMaxLegendReservedHeight(legendConfig, containerWidth) + LEGEND_FIXED_GAP : 0;
|
|
1005
1008
|
const groupOffset = parsed.groups.length > 0 ? GROUP_PADDING_TOP + GROUP_LABEL_SIZE : 0;
|
|
1006
1009
|
const participantStartY = sTopMargin + titleOffset + legendTopSpace + sParticipantYOffset + groupOffset;
|
|
1007
1010
|
const lifelineStartY0 = participantStartY + sBoxH;
|
|
@@ -1146,7 +1149,7 @@ function renderSequenceDiagram(container, parsed, palette, isDark, _onNavigateTo
|
|
|
1146
1149
|
}
|
|
1147
1150
|
let rightMargin = Math.max(rightProjection + 10, sGap / 2);
|
|
1148
1151
|
let leftMargin = sGap / 2;
|
|
1149
|
-
const diagramWidth = participants.length * sGap;
|
|
1152
|
+
const diagramWidth = Math.max(0, participants.length - 1) * sGap;
|
|
1150
1153
|
let totalWidth = Math.max(
|
|
1151
1154
|
leftMargin + diagramWidth + rightMargin,
|
|
1152
1155
|
sBoxW + 40
|
|
@@ -1273,7 +1276,7 @@ function renderSequenceDiagram(container, parsed, palette, isDark, _onNavigateTo
|
|
|
1273
1276
|
titleEl.attr("data-line-number", parsed.titleLineNumber);
|
|
1274
1277
|
}
|
|
1275
1278
|
}
|
|
1276
|
-
const hasTagGroups = parsed.tagGroups.length > 0;
|
|
1279
|
+
const hasTagGroups = parsed.tagGroups.length > 0 && !noLegend;
|
|
1277
1280
|
const collapsedGroupNames = /* @__PURE__ */ new Set();
|
|
1278
1281
|
const collapsedGroupMeta = /* @__PURE__ */ new Map();
|
|
1279
1282
|
for (const group of parsed.groups) {
|
|
@@ -1327,7 +1330,7 @@ function renderSequenceDiagram(container, parsed, palette, isDark, _onNavigateTo
|
|
|
1327
1330
|
isDark,
|
|
1328
1331
|
effectiveTagColor,
|
|
1329
1332
|
pTagAttr,
|
|
1330
|
-
|
|
1333
|
+
fillMode,
|
|
1331
1334
|
sBoxW,
|
|
1332
1335
|
sBoxH,
|
|
1333
1336
|
sLabelTextWidth,
|
|
@@ -1551,7 +1554,9 @@ function renderSequenceDiagram(container, parsed, palette, isDark, _onNavigateTo
|
|
|
1551
1554
|
const actTagColor = getTagColor(actTagValue);
|
|
1552
1555
|
const actBaseColor = actTagColor || palette.primary;
|
|
1553
1556
|
svg.append("rect").attr("x", x).attr("y", y1).attr("width", sActivationWidth).attr("height", y2 - y1).attr("fill", themeBaseBg(palette, isDark));
|
|
1554
|
-
const actFill = shapeFill(palette, actBaseColor, isDark, {
|
|
1557
|
+
const actFill = shapeFill(palette, actBaseColor, isDark, {
|
|
1558
|
+
mode: fillMode
|
|
1559
|
+
});
|
|
1555
1560
|
const actRect = svg.append("rect").attr("x", x).attr("y", y1).attr("width", sActivationWidth).attr("height", y2 - y1).attr("fill", actFill).attr("stroke", actBaseColor).attr("stroke-width", 1).attr("stroke-opacity", 0.5).attr("data-participant-id", act.participantId).attr("data-msg-lines", coveredLines.join(",")).attr("data-line-number", coveredLines[0] ?? "").attr("class", "activation");
|
|
1556
1561
|
if (tagKey && actTagValue) {
|
|
1557
1562
|
actRect.attr(`data-tag-${tagKey}`, actTagValue.toLowerCase());
|
|
@@ -1789,7 +1794,7 @@ function buildNoteMessageMap(elements) {
|
|
|
1789
1794
|
walk(elements);
|
|
1790
1795
|
return map;
|
|
1791
1796
|
}
|
|
1792
|
-
function renderParticipant(svg, participant, cx, cy, palette, isDark, color, tagAttr,
|
|
1797
|
+
function renderParticipant(svg, participant, cx, cy, palette, isDark, color, tagAttr, fillMode, boxW = W, boxH = H, labelTextW = labelTextWidth(W), labelFontSize = LABEL_FONT_SIZE) {
|
|
1793
1798
|
const g = svg.append("g").attr("transform", `translate(${cx}, ${cy})`).attr("class", "participant").attr("data-participant-id", participant.id);
|
|
1794
1799
|
if (tagAttr) {
|
|
1795
1800
|
g.attr(`data-tag-${tagAttr.key}`, tagAttr.value);
|
|
@@ -1799,16 +1804,24 @@ function renderParticipant(svg, participant, cx, cy, palette, isDark, color, tag
|
|
|
1799
1804
|
renderActorParticipant(g, palette, color, boxH);
|
|
1800
1805
|
break;
|
|
1801
1806
|
case "database":
|
|
1802
|
-
renderDatabaseParticipant(
|
|
1807
|
+
renderDatabaseParticipant(
|
|
1808
|
+
g,
|
|
1809
|
+
palette,
|
|
1810
|
+
isDark,
|
|
1811
|
+
color,
|
|
1812
|
+
fillMode,
|
|
1813
|
+
boxW,
|
|
1814
|
+
boxH
|
|
1815
|
+
);
|
|
1803
1816
|
break;
|
|
1804
1817
|
case "queue":
|
|
1805
|
-
renderQueueParticipant(g, palette, isDark, color,
|
|
1818
|
+
renderQueueParticipant(g, palette, isDark, color, fillMode, boxW, boxH);
|
|
1806
1819
|
break;
|
|
1807
1820
|
case "cache":
|
|
1808
|
-
renderCacheParticipant(g, palette, isDark, color,
|
|
1821
|
+
renderCacheParticipant(g, palette, isDark, color, fillMode, boxW, boxH);
|
|
1809
1822
|
break;
|
|
1810
1823
|
default:
|
|
1811
|
-
renderRectParticipant(g, palette, isDark, color,
|
|
1824
|
+
renderRectParticipant(g, palette, isDark, color, fillMode, boxW, boxH);
|
|
1812
1825
|
break;
|
|
1813
1826
|
}
|
|
1814
1827
|
const isActor = participant.type === "actor";
|
|
@@ -1820,7 +1833,7 @@ function renderParticipant(svg, participant, cx, cy, palette, isDark, color, tag
|
|
|
1820
1833
|
const fontSize = labelFontSize;
|
|
1821
1834
|
const lineHeight = fontSize + 2;
|
|
1822
1835
|
const labelFill = isActor ? palette.text : contrastText(
|
|
1823
|
-
fill(palette, isDark, color,
|
|
1836
|
+
fill(palette, isDark, color, fillMode),
|
|
1824
1837
|
palette.textOnFillLight,
|
|
1825
1838
|
palette.textOnFillDark
|
|
1826
1839
|
);
|
|
@@ -1848,4 +1861,4 @@ export {
|
|
|
1848
1861
|
renderSequenceDiagram,
|
|
1849
1862
|
buildNoteMessageMap
|
|
1850
1863
|
};
|
|
1851
|
-
//# sourceMappingURL=chunk-
|
|
1864
|
+
//# sourceMappingURL=chunk-65V6IRFN.js.map
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import {
|
|
2
2
|
parseDateToken,
|
|
3
3
|
toInternal
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-DAOFNU6J.js";
|
|
5
5
|
import {
|
|
6
6
|
TIMELINE_REGISTRY,
|
|
7
7
|
splitNameAndMeta,
|
|
8
8
|
warnUnknownMetaKeys,
|
|
9
9
|
withTagAliases
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-YJVA3QUU.js";
|
|
11
11
|
import {
|
|
12
12
|
makeDgmoError
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-4W2PE66Q.js";
|
|
14
14
|
|
|
15
15
|
// src/timeline/parser.ts
|
|
16
16
|
var TIMELINE_DURATION_RE = /^(\d+(?:\.\d{1,2})?)(min|[dwmyhs])(\?)?$/;
|
|
@@ -314,4 +314,4 @@ export {
|
|
|
314
314
|
parseTimelineDate,
|
|
315
315
|
parseTimelineEventLine
|
|
316
316
|
};
|
|
317
|
-
//# sourceMappingURL=chunk-
|
|
317
|
+
//# sourceMappingURL=chunk-6AUZPPAV.js.map
|
|
@@ -65,7 +65,9 @@ var DIRECTIVES_REGISTRY = [
|
|
|
65
65
|
{ token: "sprint-length", category: "directive", gantt: ["option"] },
|
|
66
66
|
{ token: "sprint-number", category: "directive", gantt: ["option"] },
|
|
67
67
|
{ token: "sprint-start", category: "directive", gantt: ["option"] },
|
|
68
|
-
{ token: "
|
|
68
|
+
{ token: "fill-tint", category: "directive", gantt: ["boolean"] },
|
|
69
|
+
{ token: "fill-solid", category: "directive", gantt: ["boolean"] },
|
|
70
|
+
{ token: "fill-outline", category: "directive", gantt: ["boolean"] },
|
|
69
71
|
// `chart` is a wireframe element keyword (CONTROL); gantt also accepts it as
|
|
70
72
|
// an option. Highlight family is control.
|
|
71
73
|
{ token: "chart", category: "control", gantt: ["option"] },
|
|
@@ -83,7 +85,6 @@ var DIRECTIVES_REGISTRY = [
|
|
|
83
85
|
{ token: "flow-width", category: "directive", map: true },
|
|
84
86
|
{ token: "locale", category: "directive", map: true },
|
|
85
87
|
{ token: "caption", category: "directive", map: true },
|
|
86
|
-
{ token: "no-legend", category: "directive", map: true },
|
|
87
88
|
{ token: "no-coastline", category: "directive", map: true },
|
|
88
89
|
{ token: "no-relief", category: "directive", map: true },
|
|
89
90
|
{ token: "no-context-labels", category: "directive", map: true },
|
|
@@ -101,6 +102,9 @@ var DIRECTIVES_REGISTRY = [
|
|
|
101
102
|
{ token: "days", category: "directive", map: true },
|
|
102
103
|
// ── Shared across types ──────────────────────────────────
|
|
103
104
|
// `active-tag`: infra top-level option + gantt option + map directive.
|
|
105
|
+
// Treemap also accepts it (§24C.6, decision #48) — validated inline in its
|
|
106
|
+
// parser, so no chart-scoped Set is derived for it; highlighting comes from
|
|
107
|
+
// the global directive category here.
|
|
104
108
|
{
|
|
105
109
|
token: "active-tag",
|
|
106
110
|
category: "directive",
|
|
@@ -108,7 +112,9 @@ var DIRECTIVES_REGISTRY = [
|
|
|
108
112
|
gantt: ["option"],
|
|
109
113
|
map: true
|
|
110
114
|
},
|
|
111
|
-
// `title`: gantt option (
|
|
115
|
+
// `title`: gantt option. (The data-chart `title` directive was removed in
|
|
116
|
+
// decision #48 — it now raises E_TITLE_DIRECTIVE; the token stays here for
|
|
117
|
+
// gantt.)
|
|
112
118
|
{ token: "title", category: "directive", gantt: ["option"] },
|
|
113
119
|
// `sort`: gantt option (also general, hand-listed).
|
|
114
120
|
{ token: "sort", category: "directive", gantt: ["option"] },
|
|
@@ -117,6 +123,11 @@ var DIRECTIVES_REGISTRY = [
|
|
|
117
123
|
{ token: "lane-by", category: "directive", gantt: ["option"] },
|
|
118
124
|
// `no-title`: gantt boolean + map directive (also general, hand-listed).
|
|
119
125
|
{ token: "no-title", category: "directive", gantt: ["boolean"], map: true },
|
|
126
|
+
// `no-legend`: universal (decision #48) — every chart that renders a legend
|
|
127
|
+
// accepts it, and charts without one take it as a harmless no-op. Parsed for
|
|
128
|
+
// most types via GLOBAL_BOOLEANS in utils/parsing; gantt derives its boolean
|
|
129
|
+
// Set from here, and map from `map: true`.
|
|
130
|
+
{ token: "no-legend", category: "directive", gantt: ["boolean"], map: true },
|
|
120
131
|
// ══════════════════════════════════════════════════════════
|
|
121
132
|
// Highlight-only vocab (no extractable parser Set).
|
|
122
133
|
// ══════════════════════════════════════════════════════════
|
|
@@ -128,10 +139,15 @@ var DIRECTIVES_REGISTRY = [
|
|
|
128
139
|
{ token: "era", category: "directive" },
|
|
129
140
|
{ token: "marker", category: "directive" },
|
|
130
141
|
{ token: "holiday", category: "directive" },
|
|
131
|
-
|
|
142
|
+
// `workweek` is also the canonical weekday-window directive on clock and map
|
|
143
|
+
// clock-cards (decision #48; `days` stays as the legacy alias).
|
|
144
|
+
{ token: "workweek", category: "directive", map: true },
|
|
132
145
|
{ token: "no-dependencies", category: "directive" },
|
|
133
146
|
// ── Tech-radar ───────────────────────────────────────────
|
|
134
147
|
{ token: "rings", category: "directive" },
|
|
148
|
+
// Blip listing is default-on everywhere (decision #48): `no-blip-legend`
|
|
149
|
+
// suppresses it; `show-blip-legend` stays as the parse-accepted legacy no-op.
|
|
150
|
+
{ token: "no-blip-legend", category: "directive" },
|
|
135
151
|
{ token: "show-blip-legend", category: "directive" },
|
|
136
152
|
{ token: "trend", category: "directive" },
|
|
137
153
|
// ── Tags / shared directives ─────────────────────────────
|
|
@@ -157,7 +173,13 @@ var DIRECTIVES_REGISTRY = [
|
|
|
157
173
|
// ATTRIBUTE_KEYS colon-gate from reclassifying `heat:` as a propertyName. So
|
|
158
174
|
// `heat` lives only in the reserved-key registry + ATTRIBUTE_KEYS and highlights
|
|
159
175
|
// as a property in both positions — exactly the treemap `heat` precedent.
|
|
176
|
+
// Box values render by default since decision #48; `show-values` stays as
|
|
177
|
+
// the parse-accepted legacy no-op (suppress with the shared `no-value`).
|
|
160
178
|
{ token: "show-values", category: "directive" },
|
|
179
|
+
// Treemap's legacy plural spelling of the same suppression (decision #48
|
|
180
|
+
// made the shared singular `no-value` canonical). Registered so a legacy
|
|
181
|
+
// document still highlights it as a directive rather than plain text.
|
|
182
|
+
{ token: "no-values", category: "directive" },
|
|
161
183
|
// ── Swimlane ─────────────────────────────────────────────
|
|
162
184
|
{ token: "lane", category: "directive" },
|
|
163
185
|
// ── ER ───────────────────────────────────────────────────
|
|
@@ -240,7 +262,9 @@ var DIRECTIVES_REGISTRY = [
|
|
|
240
262
|
{ token: "trials", category: "directive" },
|
|
241
263
|
{ token: "seed", category: "directive" },
|
|
242
264
|
{ token: "scrubber-trials", category: "directive" },
|
|
243
|
-
|
|
265
|
+
// `start-date` is also gantt's canonical project-start option (decision #48;
|
|
266
|
+
// bare `start` above stays as the legacy alias).
|
|
267
|
+
{ token: "start-date", category: "directive", gantt: ["option"] },
|
|
244
268
|
{ token: "end-date", category: "directive" },
|
|
245
269
|
// ── Goal ─────────────────────────────────────────────────
|
|
246
270
|
// Mode flags, value-key leaders, and opt-outs. `now`/`target` collide with
|
|
@@ -278,6 +302,12 @@ var DIRECTIVES_REGISTRY = [
|
|
|
278
302
|
{ token: "backlog", category: "status" },
|
|
279
303
|
{ token: "ready", category: "status" },
|
|
280
304
|
// ── Modifiers + ER column types/modifiers (MODIFIER) ─────
|
|
305
|
+
// `collapsed` is the bare trailing group-line flag made canonical by
|
|
306
|
+
// decision #48 (`[Fulfillment] collapsed`). It is deliberately a bare
|
|
307
|
+
// MODIFIER rather than a colon key: the legacy `collapsed: true` form still
|
|
308
|
+
// parses and still highlights (as `modifier` instead of `propertyName`),
|
|
309
|
+
// whereas leaving it colon-only left the canonical bare form as plain text.
|
|
310
|
+
{ token: "collapsed", category: "modifier" },
|
|
281
311
|
{ token: "as", category: "modifier" },
|
|
282
312
|
{ token: "alias", category: "modifier" },
|
|
283
313
|
{ token: "aka", category: "modifier" },
|
|
@@ -359,4 +389,4 @@ export {
|
|
|
359
389
|
REGISTRY_MODIFIER_TOKENS,
|
|
360
390
|
REGISTRY_COLON_KEY_TOKENS
|
|
361
391
|
};
|
|
362
|
-
//# sourceMappingURL=chunk-
|
|
392
|
+
//# sourceMappingURL=chunk-6DCOIN4W.js.map
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import {
|
|
2
2
|
extractColor,
|
|
3
|
+
fillModeFromOptions,
|
|
3
4
|
measureIndent,
|
|
4
5
|
parseFirstLine,
|
|
5
6
|
tryParseSharedOption
|
|
6
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-YJVA3QUU.js";
|
|
7
8
|
import {
|
|
8
9
|
makeDgmoError,
|
|
9
10
|
makeFail
|
|
10
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-4W2PE66Q.js";
|
|
11
12
|
|
|
12
13
|
// src/goal/parser.ts
|
|
13
14
|
function parseGoalNumber(token) {
|
|
@@ -19,7 +20,7 @@ function parseGoal(content, palette) {
|
|
|
19
20
|
const options = {
|
|
20
21
|
noPercent: false,
|
|
21
22
|
noValue: false,
|
|
22
|
-
|
|
23
|
+
fillMode: void 0,
|
|
23
24
|
noTitle: false,
|
|
24
25
|
noAutoColor: false,
|
|
25
26
|
noNote: false
|
|
@@ -108,12 +109,12 @@ function parseGoal(content, palette) {
|
|
|
108
109
|
options.noAutoColor = true;
|
|
109
110
|
continue;
|
|
110
111
|
}
|
|
111
|
-
if (lower === "no-note") {
|
|
112
|
+
if (lower === "no-notes" || lower === "no-note") {
|
|
112
113
|
options.noNote = true;
|
|
113
114
|
continue;
|
|
114
115
|
}
|
|
115
116
|
if (tryParseSharedOption(trimmed, sharedOpts)) {
|
|
116
|
-
|
|
117
|
+
options.fillMode = fillModeFromOptions(sharedOpts);
|
|
117
118
|
if (sharedOpts["no-title"] === "on") options.noTitle = true;
|
|
118
119
|
continue;
|
|
119
120
|
}
|
|
@@ -155,4 +156,4 @@ function parseGoal(content, palette) {
|
|
|
155
156
|
export {
|
|
156
157
|
parseGoal
|
|
157
158
|
};
|
|
158
|
-
//# sourceMappingURL=chunk-
|
|
159
|
+
//# sourceMappingURL=chunk-6HTRCTAS.js.map
|
|
@@ -13,15 +13,18 @@ import {
|
|
|
13
13
|
contrastText,
|
|
14
14
|
mix,
|
|
15
15
|
themeBaseBg
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-JYDMBWRP.js";
|
|
17
17
|
import {
|
|
18
18
|
resolveTagColor,
|
|
19
19
|
tagAttrKey
|
|
20
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-CMVZWP32.js";
|
|
21
|
+
import {
|
|
22
|
+
fillModeFromOptions
|
|
23
|
+
} from "./chunk-YJVA3QUU.js";
|
|
21
24
|
import {
|
|
22
25
|
CATEGORICAL_COLOR_ORDER,
|
|
23
26
|
resolveColor
|
|
24
|
-
} from "./chunk-
|
|
27
|
+
} from "./chunk-ZKPPI6BF.js";
|
|
25
28
|
|
|
26
29
|
// src/swimlane/renderer.ts
|
|
27
30
|
import * as d3Selection from "d3-selection";
|
|
@@ -124,7 +127,7 @@ function renderSwimlaneForExport(container, parsed, layout, palette, isDark, opt
|
|
|
124
127
|
laneColorById.set(lane.id, hex);
|
|
125
128
|
});
|
|
126
129
|
const isLR = parsed.direction === "LR";
|
|
127
|
-
const
|
|
130
|
+
const fillMode = fillModeFromOptions(parsed.options);
|
|
128
131
|
const laneFill = (hex) => mix(hex, baseBg, 9);
|
|
129
132
|
const haloAt = (cross) => {
|
|
130
133
|
for (const band of layout.lanes) {
|
|
@@ -173,28 +176,35 @@ function renderSwimlaneForExport(container, parsed, layout, palette, isDark, opt
|
|
|
173
176
|
phaseG.append("text").attr("x", isLR ? band.x + band.width / 2 : band.headerSize / 2).attr("y", isLR ? band.headerSize / 2 : band.y + band.height / 2).attr("text-anchor", "middle").attr("dominant-baseline", "middle").attr("font-size", PHASE_LABEL_FONT).attr("font-weight", "700").attr("letter-spacing", "0.06em").attr("fill", palette.textMuted).attr("data-line-number", String(band.lineNumber)).text(band.label);
|
|
174
177
|
});
|
|
175
178
|
const activeTag = opts.activeTagGroup ?? null;
|
|
179
|
+
const outline = fillMode === "outline";
|
|
176
180
|
const nodeFill = (n) => {
|
|
177
181
|
if (activeTag) {
|
|
178
182
|
const key = tagAttrKey(activeTag);
|
|
179
183
|
if (n.tags[key]) {
|
|
180
184
|
const c = resolveTagColor(n.tags, [...parsed.tagGroups], activeTag);
|
|
181
185
|
if (c && c !== "#999999")
|
|
182
|
-
return {
|
|
186
|
+
return {
|
|
187
|
+
fill: fillMode === "solid" ? c : outline ? baseBg : mix(c, baseBg, 22),
|
|
188
|
+
stroke: c
|
|
189
|
+
};
|
|
183
190
|
}
|
|
184
191
|
}
|
|
185
192
|
if (n.shape === "terminal") {
|
|
186
193
|
if (n.event === "error")
|
|
187
194
|
return {
|
|
188
|
-
fill: solid ? ev.error : mix(ev.error, baseBg, 22),
|
|
195
|
+
fill: fillMode === "solid" ? ev.error : outline ? baseBg : mix(ev.error, baseBg, 22),
|
|
189
196
|
stroke: ev.error
|
|
190
197
|
};
|
|
191
198
|
if (n.event === "success")
|
|
192
199
|
return {
|
|
193
|
-
fill: solid ? ev.success : mix(ev.success, baseBg, 22),
|
|
200
|
+
fill: fillMode === "solid" ? ev.success : outline ? baseBg : mix(ev.success, baseBg, 22),
|
|
194
201
|
stroke: ev.success
|
|
195
202
|
};
|
|
196
203
|
if (n.event === "terminate")
|
|
197
|
-
return {
|
|
204
|
+
return {
|
|
205
|
+
fill: outline ? baseBg : mix(palette.text, baseBg, 30),
|
|
206
|
+
stroke: palette.text
|
|
207
|
+
};
|
|
198
208
|
return { fill: palette.bg, stroke: palette.textMuted };
|
|
199
209
|
}
|
|
200
210
|
if (n.shape === "exclusive" || n.shape === "parallel") {
|
|
@@ -205,8 +215,8 @@ function renderSwimlaneForExport(container, parsed, layout, palette, isDark, opt
|
|
|
205
215
|
}
|
|
206
216
|
const hex = laneColorById.get(n.lane) ?? palette.border;
|
|
207
217
|
return {
|
|
208
|
-
fill: solid ? hex : mix(hex, baseBg, 20),
|
|
209
|
-
stroke: mix(hex, palette.text, 40)
|
|
218
|
+
fill: fillMode === "solid" ? hex : outline ? baseBg : mix(hex, baseBg, 20),
|
|
219
|
+
stroke: outline ? hex : mix(hex, palette.text, 40)
|
|
210
220
|
};
|
|
211
221
|
};
|
|
212
222
|
const nodeById = new Map(layout.nodes.map((n) => [n.id, n]));
|
|
@@ -391,4 +401,4 @@ function drawCenteredLabel(g, label, cx, cy, fill, fontSize, tight = false, halo
|
|
|
391
401
|
export {
|
|
392
402
|
renderSwimlaneForExport
|
|
393
403
|
};
|
|
394
|
-
//# sourceMappingURL=chunk-
|
|
404
|
+
//# sourceMappingURL=chunk-6KY7OCZC.js.map
|
|
@@ -13,7 +13,7 @@ import {
|
|
|
13
13
|
LEGEND_TOGGLE_DOT_R,
|
|
14
14
|
measureLegendText,
|
|
15
15
|
truncateLegendText
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-4RGZFA7H.js";
|
|
17
17
|
|
|
18
18
|
// src/utils/number-format.ts
|
|
19
19
|
function compactNumber(n) {
|
|
@@ -545,4 +545,4 @@ export {
|
|
|
545
545
|
getLegendReservedHeight,
|
|
546
546
|
getMaxLegendReservedHeight
|
|
547
547
|
};
|
|
548
|
-
//# sourceMappingURL=chunk-
|
|
548
|
+
//# sourceMappingURL=chunk-774C2FF3.js.map
|
|
@@ -7,23 +7,27 @@ import {
|
|
|
7
7
|
} from "./chunk-YYVTBZZC.js";
|
|
8
8
|
import {
|
|
9
9
|
renderIntegratedLegend
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-W5KMNC5U.js";
|
|
11
11
|
import {
|
|
12
12
|
getMaxLegendReservedHeight
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-774C2FF3.js";
|
|
14
14
|
import {
|
|
15
15
|
FONT_FAMILY
|
|
16
16
|
} from "./chunk-6KFWC4CO.js";
|
|
17
|
+
import {
|
|
18
|
+
contrastText,
|
|
19
|
+
mix,
|
|
20
|
+
shapeFill
|
|
21
|
+
} from "./chunk-JYDMBWRP.js";
|
|
17
22
|
import {
|
|
18
23
|
measureText,
|
|
19
24
|
truncateText,
|
|
20
25
|
wrapTextToWidth
|
|
21
|
-
} from "./chunk-
|
|
26
|
+
} from "./chunk-4ASYQ347.js";
|
|
22
27
|
import {
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
} from "./chunk-P6T66CCZ.js";
|
|
28
|
+
fillModeFromOptions,
|
|
29
|
+
legendSuppressed
|
|
30
|
+
} from "./chunk-YJVA3QUU.js";
|
|
27
31
|
|
|
28
32
|
// src/tech-radar/renderer.ts
|
|
29
33
|
import * as d3Selection2 from "d3-selection";
|
|
@@ -440,7 +444,7 @@ function clearDim(root) {
|
|
|
440
444
|
function renderHtmlPanel(panel, parsed, quadrant, qColor, palette, isDark, rootContainer, onClickItem) {
|
|
441
445
|
const ringOrder = parsed.rings.map((r) => r.name);
|
|
442
446
|
const fillColor = shapeFill(palette, qColor, isDark, {
|
|
443
|
-
|
|
447
|
+
mode: fillModeFromOptions(parsed.options)
|
|
444
448
|
});
|
|
445
449
|
let expandedLineNum = null;
|
|
446
450
|
function render() {
|
|
@@ -819,7 +823,7 @@ function renderQuarterCircleStatic(svg, parsed, quadrant, qColor, palette, isDar
|
|
|
819
823
|
function renderStaticHtmlPanel(panel, parsed, quadrant, qColor, palette, isDark) {
|
|
820
824
|
const ringOrder = parsed.rings.map((r) => r.name);
|
|
821
825
|
const fillColor = shapeFill(palette, qColor, isDark, {
|
|
822
|
-
|
|
826
|
+
mode: fillModeFromOptions(parsed.options)
|
|
823
827
|
});
|
|
824
828
|
for (const ringName of ringOrder) {
|
|
825
829
|
const blips = quadrant.blips.filter((b) => b.ring === ringName);
|
|
@@ -932,8 +936,8 @@ function renderTechRadar(container, parsed, palette, isDark, onClickItem, export
|
|
|
932
936
|
);
|
|
933
937
|
return;
|
|
934
938
|
}
|
|
935
|
-
const
|
|
936
|
-
const showListing = exportDims ?
|
|
939
|
+
const directiveOff = parsed.options["no-blip-legend"] === "on";
|
|
940
|
+
const showListing = exportDims ? !directiveOff : options?.showListing ?? !directiveOff;
|
|
937
941
|
const init = initRadarSvg(container, palette, exportDims);
|
|
938
942
|
if (!init) return;
|
|
939
943
|
const { svg, width, height, textColor, mutedColor } = init;
|
|
@@ -965,7 +969,7 @@ function renderTechRadar(container, parsed, palette, isDark, onClickItem, export
|
|
|
965
969
|
svg.append("text").attr("x", radarWidth / 2).attr("y", titleY).attr("text-anchor", "middle").attr("fill", textColor).attr("font-family", FONT_FAMILY).attr("font-size", sTitleFontSize).attr("font-weight", "bold").text(parsed.title);
|
|
966
970
|
}
|
|
967
971
|
let legendReservedHeight = 0;
|
|
968
|
-
if (!exportDims && options?.onToggleListing) {
|
|
972
|
+
if (!exportDims && options?.onToggleListing && !legendSuppressed(parsed.options)) {
|
|
969
973
|
const legendY = showTitle ? titleY + 8 : 4;
|
|
970
974
|
const legendG = svg.append("g").attr("transform", `translate(0, ${legendY})`);
|
|
971
975
|
const legendConfig = {
|
|
@@ -1173,7 +1177,7 @@ function renderTechRadar(container, parsed, palette, isDark, onClickItem, export
|
|
|
1173
1177
|
// Tech-radar opts out of solid-fill: blip popover stays in tinted
|
|
1174
1178
|
// form so it reads consistently against the radar bg regardless of
|
|
1175
1179
|
// the diagram's option setting.
|
|
1176
|
-
|
|
1180
|
+
void 0
|
|
1177
1181
|
);
|
|
1178
1182
|
showBlipHighlight(lineNum, bx, by, blipGroup);
|
|
1179
1183
|
}).on("mousemove", (event) => {
|
|
@@ -1202,7 +1206,7 @@ function renderTechRadar(container, parsed, palette, isDark, onClickItem, export
|
|
|
1202
1206
|
// Tech-radar opts out of solid-fill: blip popover stays in tinted
|
|
1203
1207
|
// form so it reads consistently against the radar bg regardless of
|
|
1204
1208
|
// the diagram's option setting.
|
|
1205
|
-
|
|
1209
|
+
void 0
|
|
1206
1210
|
);
|
|
1207
1211
|
popover.style.pointerEvents = "auto";
|
|
1208
1212
|
showBlipHighlight(lineNum, bx, by, blipGroup);
|
|
@@ -1246,7 +1250,7 @@ function renderTechRadar(container, parsed, palette, isDark, onClickItem, export
|
|
|
1246
1250
|
// Tech-radar opts out of solid-fill: blip popover stays in tinted
|
|
1247
1251
|
// form so it reads consistently against the radar bg regardless of
|
|
1248
1252
|
// the diagram's option setting.
|
|
1249
|
-
|
|
1253
|
+
void 0
|
|
1250
1254
|
);
|
|
1251
1255
|
}
|
|
1252
1256
|
const lineNum = String(blip.lineNumber);
|
|
@@ -1440,10 +1444,8 @@ function createBlipPopover(container, _palette, isDark) {
|
|
|
1440
1444
|
container.appendChild(el);
|
|
1441
1445
|
return el;
|
|
1442
1446
|
}
|
|
1443
|
-
function showBlipPopover(popover, blip, qColor, palette, isDark, event,
|
|
1444
|
-
const fillColor = shapeFill(palette, qColor, isDark, {
|
|
1445
|
-
...solid !== void 0 && { solid }
|
|
1446
|
-
});
|
|
1447
|
+
function showBlipPopover(popover, blip, qColor, palette, isDark, event, fillMode) {
|
|
1448
|
+
const fillColor = shapeFill(palette, qColor, isDark, { mode: fillMode });
|
|
1447
1449
|
const hasDesc = blip.description.length > 0;
|
|
1448
1450
|
const onFillText = contrastText(
|
|
1449
1451
|
fillColor,
|
|
@@ -1601,4 +1603,4 @@ export {
|
|
|
1601
1603
|
renderTechRadar,
|
|
1602
1604
|
renderTechRadarForExport
|
|
1603
1605
|
};
|
|
1604
|
-
//# sourceMappingURL=chunk-
|
|
1606
|
+
//# sourceMappingURL=chunk-7GUF6SDR.js.map
|
|
@@ -8,10 +8,10 @@ import {
|
|
|
8
8
|
} from "./chunk-6KFWC4CO.js";
|
|
9
9
|
import {
|
|
10
10
|
getSeriesColors
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-JYDMBWRP.js";
|
|
12
12
|
import {
|
|
13
13
|
resolveColor
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-ZKPPI6BF.js";
|
|
15
15
|
|
|
16
16
|
// src/version-control/renderer.ts
|
|
17
17
|
import * as d3Selection from "d3-selection";
|
|
@@ -399,4 +399,4 @@ export {
|
|
|
399
399
|
renderVersionControl,
|
|
400
400
|
renderVersionControlForExport
|
|
401
401
|
};
|
|
402
|
-
//# sourceMappingURL=chunk-
|
|
402
|
+
//# sourceMappingURL=chunk-7JDTNFAK.js.map
|