@diagrammo/dgmo 0.96.0 → 0.97.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 +172 -8
- package/dist/advanced.js +225 -243
- package/dist/block.d.ts +8 -0
- package/dist/block.js +138 -66
- package/dist/{calculator-GIB7POFX.js → calculator-CIGGTURF.js} +2 -2
- package/dist/{chart-meta-uImk4eTn.d.ts → chart-meta-B7niEd52.d.ts} +3 -1
- package/dist/chart-meta.d.ts +2 -2
- package/dist/chart-meta.js +19 -19
- package/dist/{chart-types-CBVYiLqy.d.ts → chart-types-Dxtv4XSz.d.ts} +3 -0
- package/dist/{charts-d3-IRP5VANE.js → charts-d3-INWEGMSD.js} +14 -14
- package/dist/{chunk-MVUNMJKO.js → chunk-2FMOLWX4.js} +71 -57
- package/dist/{chunk-2BYFNZVM.js → chunk-2SZILMQT.js} +57 -15
- package/dist/{chunk-VLI6AWS3.js → chunk-3C4OXVZJ.js} +2 -2
- package/dist/{chunk-OO4GUE4E.js → chunk-3HL6NSSQ.js} +63 -18
- package/dist/{chunk-RGFVHYDP.js → chunk-3IUMSK72.js} +2 -2
- package/dist/{chunk-LRHPBWOY.js → chunk-44RLIAYC.js} +17 -10
- package/dist/{chunk-H7AXCRO7.js → chunk-453IWXZ3.js} +0 -11
- package/dist/{chunk-FHX373L5.js → chunk-47INRTZ6.js} +2 -2
- package/dist/{chunk-IN7XI6NO.js → chunk-4NMRS6HW.js} +1 -1
- package/dist/{chunk-HH3DHNQA.js → chunk-4TK26YHH.js} +2 -2
- package/dist/{chunk-5LG526X7.js → chunk-5TGZBHEJ.js} +1 -1
- package/dist/{chunk-BD4O4D2A.js → chunk-5WZYJC2P.js} +2 -2
- package/dist/{chunk-DPNSDCR3.js → chunk-65JFUANT.js} +1 -1
- package/dist/{chunk-EZ6BI5LL.js → chunk-6OUMYNAJ.js} +1 -1
- package/dist/{chunk-U6N547QA.js → chunk-6PUBFB6D.js} +24 -3
- package/dist/{chunk-5GU6C5WB.js → chunk-6S2H6EKN.js} +3 -3
- package/dist/{chunk-OYGJZA24.js → chunk-6SDEXSJY.js} +39 -19
- package/dist/{chunk-IKXQ6NVR.js → chunk-6YBZFOTA.js} +13 -13
- package/dist/{chunk-4B45SNZH.js → chunk-74XR7Z3I.js} +13 -13
- package/dist/{chunk-VNAPEZX2.js → chunk-7ASVGFW3.js} +1 -1
- package/dist/{chunk-RTRORHSP.js → chunk-7QKWU7FX.js} +3 -3
- package/dist/{chunk-A6YINTY6.js → chunk-7RACGVUY.js} +1 -1
- package/dist/{chunk-5G4DOOX2.js → chunk-7TEAFIEJ.js} +9 -5
- package/dist/{chunk-UNCCZ3NU.js → chunk-A3V72YIL.js} +14 -1
- package/dist/{chunk-VJ7NLYFE.js → chunk-A5LFM62B.js} +3 -3
- package/dist/{chunk-P3PSLC2K.js → chunk-AULFF7L2.js} +2 -2
- package/dist/{chunk-SCYVGPLI.js → chunk-B7ZH5EQ2.js} +2 -2
- package/dist/{chunk-VGAMBOOC.js → chunk-C6ME2L4T.js} +2 -2
- package/dist/{chunk-B2YVZ3QU.js → chunk-CGP7RGLJ.js} +1 -1
- package/dist/{chunk-67N26CER.js → chunk-CLW45YKE.js} +2 -1
- package/dist/{chunk-THTYCJGF.js → chunk-CUOMNKYW.js} +4 -4
- package/dist/{chunk-34JOHSVE.js → chunk-CUTEHGXO.js} +2 -2
- package/dist/{chunk-NERQSSYD.js → chunk-D67YE4LR.js} +1 -1
- package/dist/{chunk-DKCVAQU3.js → chunk-D7KZE2XJ.js} +39 -17
- package/dist/{chunk-PGD6CNWO.js → chunk-DFEVFLEG.js} +3 -3
- package/dist/{chunk-VVTCUIPN.js → chunk-DKMZ4VMV.js} +1 -1
- package/dist/{chunk-H7JVKUA5.js → chunk-DRY4W4W6.js} +36 -15
- package/dist/{chunk-IQZSKWE5.js → chunk-E6GHXMH2.js} +8 -8
- package/dist/{chunk-I2I2FKAK.js → chunk-EBJLT7PH.js} +1 -1
- package/dist/{chunk-GEHK4UD5.js → chunk-EEIGHOJR.js} +92 -23
- package/dist/{chunk-FKJWZWNU.js → chunk-EUPUVYWO.js} +1 -1
- package/dist/{chunk-3W73ZP6W.js → chunk-F2OAZHOX.js} +3 -3
- package/dist/{chunk-IU7XKZA6.js → chunk-FK6HZYGK.js} +4 -14
- package/dist/{chunk-2M3K6GD2.js → chunk-FTW2E2YH.js} +6 -6
- package/dist/{chunk-5P2L5QXE.js → chunk-FZVCS2XY.js} +4 -2
- package/dist/chunk-G24NSISJ.js +69 -0
- package/dist/{chunk-5H7SA5ZD.js → chunk-GFQFLLP3.js} +2 -2
- package/dist/{chunk-BUVLLK3D.js → chunk-GLLYHYGT.js} +27 -17
- package/dist/{chunk-VLC6WNRD.js → chunk-GULGSH2Z.js} +4 -0
- package/dist/{chunk-H5NVCOEJ.js → chunk-GXBH7WNN.js} +2 -2
- package/dist/{chunk-7UWVHNPM.js → chunk-H242TVAE.js} +9 -9
- package/dist/{chunk-M4ZUIW3J.js → chunk-H7DZYHQF.js} +3 -3
- package/dist/{chunk-GLCMUTO5.js → chunk-HQNZJMNS.js} +1 -1
- package/dist/{chunk-H7RQG4PH.js → chunk-IAM3IDL4.js} +2 -2
- package/dist/{chunk-WTPS73RM.js → chunk-II6D6NWX.js} +8 -8
- package/dist/{chunk-5ARANBIE.js → chunk-IUFTAFGN.js} +2 -2
- package/dist/{chunk-AQRSEQZV.js → chunk-IZEKHIV6.js} +3 -3
- package/dist/{chunk-WGNP5ND2.js → chunk-J3YM6RA5.js} +3 -3
- package/dist/{chunk-YFIUABSF.js → chunk-J467QBZF.js} +23 -3
- package/dist/{chunk-CD7VQCDL.js → chunk-J7JF4QKA.js} +40 -30
- package/dist/{chunk-MYHR3PMH.js → chunk-JULBDTNU.js} +7 -7
- package/dist/{chunk-EPDBWATV.js → chunk-K7RRXZHS.js} +4 -2
- package/dist/{chunk-YVIPJGFG.js → chunk-KMB754DO.js} +33 -6
- package/dist/chunk-KNKZGRRB.js +439 -0
- package/dist/{chunk-SIABEREK.js → chunk-KTGJQJB3.js} +2 -2
- package/dist/{chunk-LGUFJ7Y2.js → chunk-KW3CC7SB.js} +1 -1
- package/dist/{chunk-ITDF3MWD.js → chunk-L3K5O3Z5.js} +3 -3
- package/dist/chunk-LRTSTDJ6.js +126 -0
- package/dist/{chunk-NI4L6HEU.js → chunk-LZATSXAA.js} +1 -1
- package/dist/{chunk-RVOSA4RR.js → chunk-MJ725XHD.js} +441 -267
- package/dist/{chunk-EPB3UEMD.js → chunk-NBISN6FH.js} +2 -2
- package/dist/{chunk-IZFJZCF6.js → chunk-NN5RUHXV.js} +84 -16
- package/dist/{chunk-KDWEOT54.js → chunk-NOZMRPXI.js} +96 -153
- package/dist/{chunk-EM5SA7NC.js → chunk-NQFZ7LXC.js} +4 -4
- package/dist/chunk-NTDWVTEY.js +12 -0
- package/dist/{chunk-AUXUNV73.js → chunk-O3HRF25Z.js} +1 -1
- package/dist/{chunk-GLL237AP.js → chunk-OSSA5UWA.js} +3 -3
- package/dist/{chunk-UOCWYLYT.js → chunk-OZXKW5NA.js} +1 -1
- package/dist/{chunk-QEU6VM4O.js → chunk-PLQZJZ2K.js} +1 -1
- package/dist/chunk-PRG7NIUU.js +272 -0
- package/dist/{chunk-MAYTYF5S.js → chunk-PSNRB75I.js} +3 -3
- package/dist/{chunk-B5CEV7IR.js → chunk-PT5VFY3B.js} +38 -14
- package/dist/{chunk-KAO7JL4I.js → chunk-PU5X3P3T.js} +6 -5
- package/dist/{chunk-B7BSRVNC.js → chunk-PZ5LAAO3.js} +2 -2
- package/dist/{chunk-TOHTKLKE.js → chunk-Q5Q5JLRT.js} +1 -1
- package/dist/{chunk-TUOZ6AXC.js → chunk-Q6V342WS.js} +16 -4
- package/dist/{chunk-ZOKD5F7M.js → chunk-QDPTOIG7.js} +5 -5
- package/dist/{chunk-ERT7XDQW.js → chunk-QIITSGI5.js} +1 -1
- package/dist/{chunk-K2WXMXI2.js → chunk-QLIZ7SB7.js} +1 -1
- package/dist/chunk-QLNLRZ37.js +181 -0
- package/dist/{chunk-P6LKX3IQ.js → chunk-QOLRTPGH.js} +6 -6
- package/dist/{chunk-FBK32S4D.js → chunk-R4SXMBGF.js} +1 -1
- package/dist/chunk-R4U7IIRX.js +178 -0
- package/dist/{chunk-DWMQ24JR.js → chunk-RC6PISCK.js} +4 -2
- package/dist/{chunk-R5L5E3TC.js → chunk-REKLKGR6.js} +3 -3
- package/dist/{chunk-FUYEXLAN.js → chunk-RFGQDIOI.js} +837 -220
- package/dist/{chunk-W5MMPPGX.js → chunk-ROFSIFSY.js} +4 -4
- package/dist/{chunk-JCC3B2GS.js → chunk-ROH4LYBL.js} +65 -21
- package/dist/{chunk-OAZ6BIIB.js → chunk-SNDCXT5R.js} +9 -7
- package/dist/{chunk-JRN2CRXJ.js → chunk-TDUBTDXS.js} +1 -1
- package/dist/{chunk-GM2SLMQW.js → chunk-TMB4YY3J.js} +34 -4
- package/dist/{chunk-ZBOIYC2G.js → chunk-V3ICBS2O.js} +5 -5
- package/dist/{chunk-HZX4QZGR.js → chunk-V65EDV6S.js} +3 -3
- package/dist/{chunk-67RKJEKF.js → chunk-VKT3BVRO.js} +35 -11
- package/dist/{chunk-5BG4OSWJ.js → chunk-VOO65FKC.js} +12 -12
- package/dist/{chunk-KQAPFIYF.js → chunk-VQWLASDC.js} +2 -2
- package/dist/{chunk-JILEYZ2V.js → chunk-VVL2KKG4.js} +1 -1
- package/dist/{chunk-D7DGLJ7N.js → chunk-VVZDBUHA.js} +2 -2
- package/dist/{chunk-JBAFAKGX.js → chunk-W46OMHOK.js} +23 -27
- package/dist/{chunk-XCKNFFKM.js → chunk-WH6E6SHC.js} +2 -4
- package/dist/{chunk-P2GNNEMN.js → chunk-WPYJAHRP.js} +1 -1
- package/dist/{chunk-TPCP2UOI.js → chunk-WXGFB2O2.js} +3 -3
- package/dist/{chunk-RIK6WUMO.js → chunk-XCYGOCMS.js} +43 -26
- package/dist/{chunk-I3ZRIMR7.js → chunk-XEMCNQQW.js} +15 -15
- package/dist/{chunk-PWZEJNO6.js → chunk-XMUFXJI2.js} +6 -6
- package/dist/{chunk-EMGNCG5C.js → chunk-XZGXVN4T.js} +5 -5
- package/dist/{chunk-WLGOIMTI.js → chunk-YCIBBVI2.js} +2 -2
- package/dist/{chunk-V2NQV7VL.js → chunk-YFIDR7JH.js} +2 -2
- package/dist/{chunk-K2SFH3GJ.js → chunk-YFWIFKRQ.js} +3 -3
- package/dist/{chunk-6XLMTAEX.js → chunk-YIHRLY55.js} +33 -6
- package/dist/{chunk-CYRB2JTN.js → chunk-YLKPRT6U.js} +1 -1
- package/dist/{chunk-KMU65FYM.js → chunk-YSDSFXQD.js} +1 -1
- package/dist/{chunk-ZI6WC24V.js → chunk-ZBJV4KNU.js} +1 -1
- package/dist/{chunk-TIPNNOZC.js → chunk-ZCKVTZHD.js} +41 -19
- package/dist/{chunk-YSGOXZBB.js → chunk-ZMVMGZAJ.js} +1 -1
- package/dist/{chunk-CP73WWLN.js → chunk-ZRW4B4KF.js} +48 -14
- package/dist/{chunk-O2HNVNKO.js → chunk-ZTKO2RD4.js} +5 -5
- package/dist/collapse-6IGH2B24.js +31 -0
- package/dist/collapse-GOWNCVHZ.js +7 -0
- package/dist/collapse-HNTPLB2Q.js +11 -0
- package/dist/collapse-NUM7DPJA.js +10 -0
- package/dist/completion-registry.js +27 -4
- package/dist/dgmo-router-RSYWR5IS.js +101 -0
- package/dist/dimensions-KXAI7U2B.js +21 -0
- package/dist/editor.js +882 -215
- package/dist/{flowchart-parser-SM5LHF2D.js → flowchart-parser-UI5VZNGJ.js} +5 -5
- package/dist/{flowchart-renderer-PPS2GTTD.js → flowchart-renderer-IYWPKPCF.js} +18 -18
- package/dist/fold-at-line-DmSAa1eU.d.ts +11 -0
- package/dist/highlight.js +883 -216
- package/dist/index.d.ts +52 -5
- package/dist/index.js +79 -63
- package/dist/{layout-AF4KA5B2.js → layout-6VY3DHYD.js} +6 -6
- package/dist/{layout-FCFUVCRI.js → layout-7C2QZCEZ.js} +10 -10
- package/dist/{layout-2WESJYRE.js → layout-7E7BNOGO.js} +3 -2
- package/dist/layout-BSK374N6.js +11 -0
- package/dist/{layout-R6G4MEO3.js → layout-FJDBY3WG.js} +5 -5
- package/dist/{layout-KELSNWBD.js → layout-G3RVKEC4.js} +10 -10
- package/dist/{layout-H2KP5A6M.js → layout-GC5XX2RH.js} +2 -2
- package/dist/{layout-LNVIH45F.js → layout-R6ULGQJK.js} +6 -6
- package/dist/{layout-PPIVGJXD.js → layout-ROI5KVSO.js} +3 -3
- package/dist/{layout-3TSVAGWH.js → layout-SPPS225I.js} +3 -3
- package/dist/{layout-HF3PMI4H.js → layout-VTGOYGRC.js} +2 -2
- package/dist/{layout-MPSH3YWE.js → layout-WBH5IHYK.js} +10 -10
- package/dist/layout-WTHBGTH2.js +15 -0
- package/dist/layout-ZCCABSV7.js +15 -0
- package/dist/{layout-search-C2TYUH4L.js → layout-search-DSIDKKQO.js} +8 -8
- package/dist/{legend-constants-55MFBXYF.js → legend-constants-KF3MKWL2.js} +2 -2
- package/dist/{parser-DGLKH4NT.js → parser-3PMYAVFL.js} +2 -2
- package/dist/{parser-OHBBDCG4.js → parser-5KVFS4RN.js} +2 -2
- package/dist/{parser-UHKROC7Z.js → parser-BA43YPIQ.js} +3 -3
- package/dist/{parser-F75WNYMK.js → parser-CFAYEWLF.js} +3 -3
- package/dist/{parser-MWINQNQW.js → parser-DRFEX6OX.js} +3 -3
- package/dist/{parser-W6NX3AIV.js → parser-DWVBRBB2.js} +3 -3
- package/dist/{parser-6WURFLOB.js → parser-E4B7HJT2.js} +3 -3
- package/dist/{parser-DRUGM3R6.js → parser-FWQY3HJX.js} +2 -2
- package/dist/{parser-GBQY3WOZ.js → parser-GMCXCJSP.js} +3 -3
- package/dist/{parser-BPYHIG24.js → parser-IHFHPFL7.js} +3 -3
- package/dist/{parser-QWTECQEC.js → parser-IU6425JW.js} +6 -6
- package/dist/{parser-ZV756RMP.js → parser-IZYIXDJX.js} +6 -6
- package/dist/{parser-TTGZYLYD.js → parser-JQGUTDSX.js} +3 -3
- package/dist/{parser-BNRX35NT.js → parser-JRKPOO2Z.js} +3 -3
- package/dist/{parser-B7SCN7FG.js → parser-KI2XYB2R.js} +2 -2
- package/dist/parser-LDVVBP7S.js +12 -0
- package/dist/{parser-L7SI3PW4.js → parser-MAGFK6OK.js} +4 -4
- package/dist/{parser-722KLLAQ.js → parser-MH5BDN7X.js} +3 -3
- package/dist/{parser-5RUD4A3X.js → parser-MUHFEM4G.js} +3 -3
- package/dist/{parser-Y7QXD2UR.js → parser-P375HO7Q.js} +2 -2
- package/dist/{parser-LUJX7AXO.js → parser-PYY5BRLQ.js} +2 -2
- package/dist/parser-QEMFMVF5.js +12 -0
- package/dist/{parser-WIKXZP4X.js → parser-QIPDBT5M.js} +2 -2
- package/dist/{parser-2AXU2MHJ.js → parser-RNBDDEGL.js} +3 -3
- package/dist/{parser-4GHAYZKZ.js → parser-RSWZGQA7.js} +6 -6
- package/dist/{parser-H6HT2WFQ.js → parser-SGX2PVR5.js} +2 -2
- package/dist/{parser-ZWWQZ4XZ.js → parser-SJUEFKNM.js} +3 -3
- package/dist/{parser-4BOP77CD.js → parser-UMNBPXG2.js} +2 -2
- package/dist/{parser-GM5B2EPW.js → parser-WE4VSBBY.js} +3 -3
- package/dist/{parser-XEJP37GQ.js → parser-WKEYS7N3.js} +3 -3
- package/dist/{parser-DWV2CYBS.js → parser-WPXUUNA2.js} +3 -3
- package/dist/{parser-5HQPPVHJ.js → parser-XP3RCOTN.js} +3 -3
- package/dist/{parser-F3JJNIFC.js → parser-YV4RBHG7.js} +3 -3
- package/dist/{parser-CRJYLOHA.js → parser-YZ3J542U.js} +2 -2
- package/dist/{renderer-BYLQ37T2.js → renderer-2V5NVI3V.js} +15 -15
- package/dist/renderer-4PKYVOYL.js +39 -0
- package/dist/{renderer-ONENGXFQ.js → renderer-66SCERH7.js} +14 -12
- package/dist/renderer-6IAXRZLK.js +85 -0
- package/dist/{renderer-GKY55M4Z.js → renderer-6O5SV5YE.js} +10 -10
- package/dist/{renderer-F7YGMEGQ.js → renderer-7OXMSF4R.js} +4 -4
- package/dist/{renderer-6HU44IGJ.js → renderer-A36NL2SS.js} +8 -8
- package/dist/{renderer-66NCRXSC.js → renderer-ASPBBACI.js} +13 -11
- package/dist/{renderer-5GP7YUS4.js → renderer-BXVTYE27.js} +7 -6
- package/dist/renderer-CC6O6GQK.js +18 -0
- package/dist/{renderer-VNJOZPSH.js → renderer-CNDB4JTZ.js} +17 -17
- package/dist/renderer-COV2DXTM.js +41 -0
- package/dist/renderer-DXCATVLO.js +30 -0
- package/dist/{renderer-VUXAAGUG.js → renderer-E5E3OJ42.js} +12 -11
- package/dist/{renderer-MGF2NNGG.js → renderer-E7LC7HCU.js} +5 -5
- package/dist/{renderer-PEJF6R2I.js → renderer-F3JYZERE.js} +4 -4
- package/dist/{renderer-CVCCW7UT.js → renderer-FAFSRFGR.js} +9 -9
- package/dist/renderer-HIB6LZWZ.js +26 -0
- package/dist/renderer-HLDRRFZB.js +28 -0
- package/dist/renderer-INQMQPNN.js +22 -0
- package/dist/renderer-ITJ67HXO.js +27 -0
- package/dist/{renderer-SYRH3B62.js → renderer-JLOKFKOZ.js} +14 -13
- package/dist/{renderer-LJPUCG3U.js → renderer-KOPJ76GS.js} +10 -10
- package/dist/{renderer-N6PM5CSG.js → renderer-M2467III.js} +14 -13
- package/dist/{renderer-MVBAQP3M.js → renderer-MYKL6VG6.js} +6 -6
- package/dist/{renderer-YJVQT7QG.js → renderer-S6L3JR6C.js} +11 -11
- package/dist/{renderer-NOYLNVTI.js → renderer-SYWVZ4CY.js} +3 -3
- package/dist/renderer-TCTZZ5Y6.js +32 -0
- package/dist/{renderer-D6EH5UQ6.js → renderer-UIHCYXBY.js} +12 -12
- package/dist/{renderer-QZJZIAT3.js → renderer-WIBVOPRC.js} +6 -4
- package/dist/{renderer-TS5NHOQD.js → renderer-XMJ6XZGL.js} +12 -11
- package/dist/{renderer-2V2XY2V7.js → renderer-ZTHXOBXW.js} +8 -8
- package/dist/{renderer-radial-4R7AKETK.js → renderer-radial-FC25BDCZ.js} +8 -8
- package/dist/{state-parser-EQBBEKHR.js → state-parser-2PQRH5JE.js} +6 -6
- package/dist/state-renderer-YP6HWLJR.js +43 -0
- package/dist/{themes-CbJL3w8L.d.ts → themes-DoLdhUXV.d.ts} +1 -1
- package/docs/ai-integration.md +4 -3
- package/docs/language-reference.md +99 -13
- package/gallery/fixtures/swot-relabel.dgmo +19 -0
- package/gallery/fixtures/swot-tags.dgmo +16 -0
- package/gallery/fixtures/swot.dgmo +13 -0
- package/package.json +1 -1
- package/dist/chunk-R2K5L4UA.js +0 -49
- package/dist/collapse-TCVK3RPO.js +0 -8
- package/dist/dgmo-router-EPBQKQW2.js +0 -100
- package/dist/dimensions-DBCRBZIU.js +0 -21
- package/dist/layout-3J72UULM.js +0 -15
- package/dist/layout-IXQNVRBE.js +0 -15
- package/dist/layout-VDCJOZSH.js +0 -11
- package/dist/parser-HM6FEX5K.js +0 -14
- package/dist/renderer-2MCV75JQ.js +0 -41
- package/dist/renderer-5AEDVLAA.js +0 -31
- package/dist/renderer-7C76HP5W.js +0 -30
- package/dist/renderer-7RAMBMTH.js +0 -22
- package/dist/renderer-E3334XLT.js +0 -84
- package/dist/renderer-LFZKG2GR.js +0 -26
- package/dist/renderer-MZIWP55B.js +0 -28
- package/dist/renderer-N75E3UVY.js +0 -25
- package/dist/renderer-VNUDN6F5.js +0 -39
- package/dist/state-renderer-SOGZ2CNN.js +0 -42
|
@@ -94,6 +94,10 @@ var chartTypesData = [
|
|
|
94
94
|
id: "kanban",
|
|
95
95
|
description: "Task board columns"
|
|
96
96
|
},
|
|
97
|
+
{
|
|
98
|
+
id: "swot",
|
|
99
|
+
description: "SWOT analysis: strengths, weaknesses, opportunities and threats in four fixed panels on helpful/harmful and internal/external axes"
|
|
100
|
+
},
|
|
97
101
|
{
|
|
98
102
|
id: "raci",
|
|
99
103
|
description: "Tasks \xD7 roles responsibility matrix with constraint linting"
|
|
@@ -253,9 +257,21 @@ var DIRECTIVES_REGISTRY = [
|
|
|
253
257
|
// Accepted in every date-bearing chart (gantt, pert, countdown, timeline,
|
|
254
258
|
// event-line). Handled inline by each parser's prescan — no parser-Set
|
|
255
259
|
// membership here — so they only contribute highlighting (DIRECTIVE_KEYWORDS).
|
|
256
|
-
{
|
|
257
|
-
|
|
258
|
-
|
|
260
|
+
{
|
|
261
|
+
token: "year",
|
|
262
|
+
category: "directive",
|
|
263
|
+
chartTypes: ["countdown", "event-line", "gantt", "pert", "timeline"]
|
|
264
|
+
},
|
|
265
|
+
{
|
|
266
|
+
token: "date-order",
|
|
267
|
+
category: "directive",
|
|
268
|
+
chartTypes: ["countdown", "event-line", "gantt", "pert", "timeline"]
|
|
269
|
+
},
|
|
270
|
+
{
|
|
271
|
+
token: "no-current-year",
|
|
272
|
+
category: "directive",
|
|
273
|
+
chartTypes: ["countdown", "event-line", "gantt", "pert", "timeline"]
|
|
274
|
+
},
|
|
259
275
|
// ── Infra ────────────────────────────────────────────────
|
|
260
276
|
// Top-level SLO options that are ALSO accepted as node colon-properties
|
|
261
277
|
// (dual membership). Highlight bare (kept in DIRECTIVE_KEYWORDS) — their
|
|
@@ -263,92 +279,413 @@ var DIRECTIVES_REGISTRY = [
|
|
|
263
279
|
{
|
|
264
280
|
token: "slo-availability",
|
|
265
281
|
category: "directive",
|
|
266
|
-
infra: ["top-level", "behavior"]
|
|
282
|
+
infra: ["top-level", "behavior"],
|
|
283
|
+
chartTypes: ["infra"]
|
|
267
284
|
},
|
|
268
285
|
{
|
|
269
286
|
token: "slo-p90-latency-ms",
|
|
270
287
|
category: "directive",
|
|
271
|
-
infra: ["top-level", "behavior"]
|
|
288
|
+
infra: ["top-level", "behavior"],
|
|
289
|
+
chartTypes: ["infra"]
|
|
272
290
|
},
|
|
273
291
|
{
|
|
274
292
|
token: "slo-warning-margin",
|
|
275
293
|
category: "directive",
|
|
276
|
-
infra: ["top-level", "behavior"]
|
|
294
|
+
infra: ["top-level", "behavior"],
|
|
295
|
+
chartTypes: ["infra"]
|
|
277
296
|
},
|
|
278
297
|
// Top-level-only options (space-separated, bare).
|
|
279
|
-
{
|
|
280
|
-
|
|
281
|
-
|
|
298
|
+
{
|
|
299
|
+
token: "default-latency-ms",
|
|
300
|
+
category: "directive",
|
|
301
|
+
infra: ["top-level"],
|
|
302
|
+
chartTypes: ["infra"]
|
|
303
|
+
},
|
|
304
|
+
{
|
|
305
|
+
token: "default-uptime",
|
|
306
|
+
category: "directive",
|
|
307
|
+
infra: ["top-level"],
|
|
308
|
+
chartTypes: ["infra"]
|
|
309
|
+
},
|
|
310
|
+
{
|
|
311
|
+
token: "default-rps",
|
|
312
|
+
category: "directive",
|
|
313
|
+
infra: ["top-level"],
|
|
314
|
+
chartTypes: ["infra"]
|
|
315
|
+
},
|
|
282
316
|
// `active-tag` is shared with gantt + map (see below).
|
|
283
317
|
// Node behavior colon-keys — highlight as propertyName.
|
|
284
|
-
{
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
{
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
{
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
318
|
+
{
|
|
319
|
+
token: "latency-ms",
|
|
320
|
+
colonKey: true,
|
|
321
|
+
infra: ["behavior"],
|
|
322
|
+
chartTypes: ["infra"]
|
|
323
|
+
},
|
|
324
|
+
{
|
|
325
|
+
token: "uptime",
|
|
326
|
+
colonKey: true,
|
|
327
|
+
infra: ["behavior"],
|
|
328
|
+
chartTypes: ["infra"]
|
|
329
|
+
},
|
|
330
|
+
{
|
|
331
|
+
token: "instances",
|
|
332
|
+
colonKey: true,
|
|
333
|
+
infra: ["behavior"],
|
|
334
|
+
chartTypes: ["infra"]
|
|
335
|
+
},
|
|
336
|
+
{
|
|
337
|
+
token: "max-rps",
|
|
338
|
+
colonKey: true,
|
|
339
|
+
infra: ["behavior"],
|
|
340
|
+
chartTypes: ["infra"]
|
|
341
|
+
},
|
|
342
|
+
{
|
|
343
|
+
token: "cache-hit",
|
|
344
|
+
colonKey: true,
|
|
345
|
+
infra: ["behavior"],
|
|
346
|
+
chartTypes: ["infra"]
|
|
347
|
+
},
|
|
348
|
+
{
|
|
349
|
+
token: "firewall-block",
|
|
350
|
+
colonKey: true,
|
|
351
|
+
infra: ["behavior"],
|
|
352
|
+
chartTypes: ["infra"]
|
|
353
|
+
},
|
|
354
|
+
{
|
|
355
|
+
token: "ratelimit-rps",
|
|
356
|
+
colonKey: true,
|
|
357
|
+
infra: ["behavior"],
|
|
358
|
+
chartTypes: ["infra"]
|
|
359
|
+
},
|
|
360
|
+
{
|
|
361
|
+
token: "buffer",
|
|
362
|
+
colonKey: true,
|
|
363
|
+
infra: ["behavior"],
|
|
364
|
+
chartTypes: ["infra"]
|
|
365
|
+
},
|
|
366
|
+
{
|
|
367
|
+
token: "drain-rate",
|
|
368
|
+
colonKey: true,
|
|
369
|
+
infra: ["behavior"],
|
|
370
|
+
chartTypes: ["infra"]
|
|
371
|
+
},
|
|
372
|
+
{
|
|
373
|
+
token: "retention-hours",
|
|
374
|
+
colonKey: true,
|
|
375
|
+
infra: ["behavior"],
|
|
376
|
+
chartTypes: ["infra"]
|
|
377
|
+
},
|
|
378
|
+
{
|
|
379
|
+
token: "partitions",
|
|
380
|
+
colonKey: true,
|
|
381
|
+
infra: ["behavior"],
|
|
382
|
+
chartTypes: ["infra"]
|
|
383
|
+
},
|
|
384
|
+
{
|
|
385
|
+
token: "concurrency",
|
|
386
|
+
colonKey: true,
|
|
387
|
+
infra: ["behavior"],
|
|
388
|
+
chartTypes: ["infra"]
|
|
389
|
+
},
|
|
390
|
+
{
|
|
391
|
+
token: "duration-ms",
|
|
392
|
+
colonKey: true,
|
|
393
|
+
infra: ["behavior"],
|
|
394
|
+
chartTypes: ["infra"]
|
|
395
|
+
},
|
|
396
|
+
{
|
|
397
|
+
token: "cold-start-ms",
|
|
398
|
+
colonKey: true,
|
|
399
|
+
infra: ["behavior"],
|
|
400
|
+
chartTypes: ["infra"]
|
|
401
|
+
},
|
|
402
|
+
{
|
|
403
|
+
token: "cb-error-threshold",
|
|
404
|
+
colonKey: true,
|
|
405
|
+
infra: ["behavior"],
|
|
406
|
+
chartTypes: ["infra"]
|
|
407
|
+
},
|
|
408
|
+
{
|
|
409
|
+
token: "cb-latency-threshold-ms",
|
|
410
|
+
colonKey: true,
|
|
411
|
+
infra: ["behavior"],
|
|
412
|
+
chartTypes: ["infra"]
|
|
413
|
+
},
|
|
300
414
|
// Edge-only colon-key.
|
|
301
|
-
{ token: "rps", colonKey: true, infra: ["edge"] },
|
|
415
|
+
{ token: "rps", colonKey: true, infra: ["edge"], chartTypes: ["infra"] },
|
|
302
416
|
// ── Gantt ────────────────────────────────────────────────
|
|
303
|
-
{
|
|
417
|
+
{
|
|
418
|
+
token: "start",
|
|
419
|
+
category: "directive",
|
|
420
|
+
gantt: ["option"],
|
|
421
|
+
chartTypes: ["gantt"]
|
|
422
|
+
},
|
|
304
423
|
{
|
|
305
424
|
token: "today-marker",
|
|
306
425
|
category: "directive",
|
|
307
|
-
gantt: ["option", "boolean"]
|
|
426
|
+
gantt: ["option", "boolean"],
|
|
427
|
+
chartTypes: ["gantt"]
|
|
308
428
|
},
|
|
309
429
|
{
|
|
310
430
|
token: "critical-path",
|
|
311
431
|
category: "directive",
|
|
312
|
-
gantt: ["option", "boolean"]
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
{
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
432
|
+
gantt: ["option", "boolean"],
|
|
433
|
+
chartTypes: ["gantt"]
|
|
434
|
+
},
|
|
435
|
+
{
|
|
436
|
+
token: "sprint-length",
|
|
437
|
+
category: "directive",
|
|
438
|
+
gantt: ["option"],
|
|
439
|
+
chartTypes: ["gantt", "pert"]
|
|
440
|
+
},
|
|
441
|
+
{
|
|
442
|
+
token: "sprint-number",
|
|
443
|
+
category: "directive",
|
|
444
|
+
gantt: ["option"],
|
|
445
|
+
chartTypes: ["gantt", "pert"]
|
|
446
|
+
},
|
|
447
|
+
{
|
|
448
|
+
token: "sprint-start",
|
|
449
|
+
category: "directive",
|
|
450
|
+
gantt: ["option"],
|
|
451
|
+
chartTypes: ["gantt", "pert"]
|
|
452
|
+
},
|
|
453
|
+
{
|
|
454
|
+
token: "fill-tint",
|
|
455
|
+
category: "directive",
|
|
456
|
+
gantt: ["boolean"],
|
|
457
|
+
chartTypes: [
|
|
458
|
+
"arc",
|
|
459
|
+
"bar",
|
|
460
|
+
"block",
|
|
461
|
+
"body",
|
|
462
|
+
"boxes-and-lines",
|
|
463
|
+
"bracket",
|
|
464
|
+
"c4",
|
|
465
|
+
"class",
|
|
466
|
+
"clock",
|
|
467
|
+
"countdown",
|
|
468
|
+
"cycle",
|
|
469
|
+
"er",
|
|
470
|
+
"event-line",
|
|
471
|
+
"family",
|
|
472
|
+
"flowchart",
|
|
473
|
+
"funnel",
|
|
474
|
+
"gantt",
|
|
475
|
+
"goal",
|
|
476
|
+
"heatmap",
|
|
477
|
+
"journey-map",
|
|
478
|
+
"kanban",
|
|
479
|
+
"line",
|
|
480
|
+
"mindmap",
|
|
481
|
+
"org",
|
|
482
|
+
"pert",
|
|
483
|
+
"pie",
|
|
484
|
+
"polar-area",
|
|
485
|
+
"pyramid",
|
|
486
|
+
"quadrant",
|
|
487
|
+
"raci",
|
|
488
|
+
"radar",
|
|
489
|
+
"ring",
|
|
490
|
+
"scatter",
|
|
491
|
+
"sequence",
|
|
492
|
+
"sitemap",
|
|
493
|
+
"state",
|
|
494
|
+
"swimlane",
|
|
495
|
+
"timeline",
|
|
496
|
+
"treemap",
|
|
497
|
+
"venn",
|
|
498
|
+
"wireframe"
|
|
499
|
+
]
|
|
500
|
+
},
|
|
501
|
+
{
|
|
502
|
+
token: "fill-solid",
|
|
503
|
+
category: "directive",
|
|
504
|
+
gantt: ["boolean"],
|
|
505
|
+
chartTypes: [
|
|
506
|
+
"arc",
|
|
507
|
+
"bar",
|
|
508
|
+
"block",
|
|
509
|
+
"body",
|
|
510
|
+
"boxes-and-lines",
|
|
511
|
+
"bracket",
|
|
512
|
+
"c4",
|
|
513
|
+
"class",
|
|
514
|
+
"clock",
|
|
515
|
+
"countdown",
|
|
516
|
+
"cycle",
|
|
517
|
+
"er",
|
|
518
|
+
"event-line",
|
|
519
|
+
"family",
|
|
520
|
+
"flowchart",
|
|
521
|
+
"funnel",
|
|
522
|
+
"gantt",
|
|
523
|
+
"goal",
|
|
524
|
+
"heatmap",
|
|
525
|
+
"journey-map",
|
|
526
|
+
"kanban",
|
|
527
|
+
"line",
|
|
528
|
+
"mindmap",
|
|
529
|
+
"org",
|
|
530
|
+
"pert",
|
|
531
|
+
"pie",
|
|
532
|
+
"polar-area",
|
|
533
|
+
"pyramid",
|
|
534
|
+
"quadrant",
|
|
535
|
+
"raci",
|
|
536
|
+
"radar",
|
|
537
|
+
"ring",
|
|
538
|
+
"scatter",
|
|
539
|
+
"sequence",
|
|
540
|
+
"sitemap",
|
|
541
|
+
"state",
|
|
542
|
+
"swimlane",
|
|
543
|
+
"timeline",
|
|
544
|
+
"treemap",
|
|
545
|
+
"venn",
|
|
546
|
+
"wireframe"
|
|
547
|
+
]
|
|
548
|
+
},
|
|
549
|
+
{
|
|
550
|
+
token: "fill-outline",
|
|
551
|
+
category: "directive",
|
|
552
|
+
gantt: ["boolean"],
|
|
553
|
+
chartTypes: [
|
|
554
|
+
"arc",
|
|
555
|
+
"bar",
|
|
556
|
+
"block",
|
|
557
|
+
"body",
|
|
558
|
+
"boxes-and-lines",
|
|
559
|
+
"bracket",
|
|
560
|
+
"c4",
|
|
561
|
+
"class",
|
|
562
|
+
"clock",
|
|
563
|
+
"countdown",
|
|
564
|
+
"cycle",
|
|
565
|
+
"er",
|
|
566
|
+
"event-line",
|
|
567
|
+
"family",
|
|
568
|
+
"flowchart",
|
|
569
|
+
"funnel",
|
|
570
|
+
"gantt",
|
|
571
|
+
"goal",
|
|
572
|
+
"heatmap",
|
|
573
|
+
"journey-map",
|
|
574
|
+
"kanban",
|
|
575
|
+
"line",
|
|
576
|
+
"mindmap",
|
|
577
|
+
"org",
|
|
578
|
+
"pert",
|
|
579
|
+
"pie",
|
|
580
|
+
"polar-area",
|
|
581
|
+
"pyramid",
|
|
582
|
+
"quadrant",
|
|
583
|
+
"raci",
|
|
584
|
+
"radar",
|
|
585
|
+
"ring",
|
|
586
|
+
"scatter",
|
|
587
|
+
"sequence",
|
|
588
|
+
"sitemap",
|
|
589
|
+
"state",
|
|
590
|
+
"swimlane",
|
|
591
|
+
"timeline",
|
|
592
|
+
"treemap",
|
|
593
|
+
"venn",
|
|
594
|
+
"wireframe"
|
|
595
|
+
]
|
|
596
|
+
},
|
|
320
597
|
// `chart` is a wireframe element keyword (CONTROL); gantt also accepts it as
|
|
321
598
|
// an option. Highlight family is control.
|
|
322
|
-
{
|
|
599
|
+
{
|
|
600
|
+
token: "chart",
|
|
601
|
+
category: "control",
|
|
602
|
+
gantt: ["option"],
|
|
603
|
+
chartTypes: ["gantt", "wireframe"]
|
|
604
|
+
},
|
|
323
605
|
// `dependencies` is ON by default → almost never written bare (authors write
|
|
324
606
|
// `no-dependencies`, which DOES highlight). Bare word collides with prose and
|
|
325
|
-
//
|
|
326
|
-
// Set derivation only.
|
|
327
|
-
{
|
|
607
|
+
// it would colour in every gantt task name, so it stays plain. Present for
|
|
608
|
+
// parser Set derivation only.
|
|
609
|
+
{
|
|
610
|
+
token: "dependencies",
|
|
611
|
+
noHighlight: true,
|
|
612
|
+
gantt: ["option", "boolean"],
|
|
613
|
+
chartTypes: ["gantt"]
|
|
614
|
+
},
|
|
328
615
|
// ── Map ──────────────────────────────────────────────────
|
|
329
616
|
// Per-element value→channel ramps (decision #20): the directive names the
|
|
330
617
|
// visual channel — `region-heat` (colour), `poi-size` (marker area),
|
|
331
618
|
// `flow-width` (stroke). The per-element key mirrors it (`heat:`/`size:`/`width:`).
|
|
332
|
-
{
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
{ token: "
|
|
339
|
-
{
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
{ token: "
|
|
619
|
+
{
|
|
620
|
+
token: "region-heat",
|
|
621
|
+
category: "directive",
|
|
622
|
+
map: true,
|
|
623
|
+
chartTypes: ["map"]
|
|
624
|
+
},
|
|
625
|
+
{ token: "poi-size", category: "directive", map: true, chartTypes: ["map"] },
|
|
626
|
+
{
|
|
627
|
+
token: "flow-width",
|
|
628
|
+
category: "directive",
|
|
629
|
+
map: true,
|
|
630
|
+
chartTypes: ["map"]
|
|
631
|
+
},
|
|
632
|
+
{ token: "locale", category: "directive", map: true, chartTypes: ["map"] },
|
|
633
|
+
{ token: "caption", category: "directive", map: true, chartTypes: ["map"] },
|
|
634
|
+
{
|
|
635
|
+
token: "no-coastline",
|
|
636
|
+
category: "directive",
|
|
637
|
+
map: true,
|
|
638
|
+
chartTypes: ["map"]
|
|
639
|
+
},
|
|
640
|
+
{ token: "no-relief", category: "directive", map: true, chartTypes: ["map"] },
|
|
641
|
+
{
|
|
642
|
+
token: "no-context-labels",
|
|
643
|
+
category: "directive",
|
|
644
|
+
map: true,
|
|
645
|
+
chartTypes: ["map"]
|
|
646
|
+
},
|
|
647
|
+
{
|
|
648
|
+
token: "no-region-labels",
|
|
649
|
+
category: "directive",
|
|
650
|
+
map: true,
|
|
651
|
+
chartTypes: ["map"]
|
|
652
|
+
},
|
|
653
|
+
{
|
|
654
|
+
token: "no-region-heat-value",
|
|
655
|
+
category: "directive",
|
|
656
|
+
map: true,
|
|
657
|
+
chartTypes: ["map"]
|
|
658
|
+
},
|
|
659
|
+
{
|
|
660
|
+
token: "no-poi-labels",
|
|
661
|
+
category: "directive",
|
|
662
|
+
map: true,
|
|
663
|
+
chartTypes: ["map"]
|
|
664
|
+
},
|
|
665
|
+
{
|
|
666
|
+
token: "no-colorize",
|
|
667
|
+
category: "directive",
|
|
668
|
+
map: true,
|
|
669
|
+
chartTypes: ["map"]
|
|
670
|
+
},
|
|
671
|
+
{ token: "no-cities", category: "directive", map: true, chartTypes: ["map"] },
|
|
672
|
+
{
|
|
673
|
+
token: "no-cluster-pois",
|
|
674
|
+
category: "directive",
|
|
675
|
+
map: true,
|
|
676
|
+
chartTypes: ["map"]
|
|
677
|
+
},
|
|
346
678
|
// ── Clock channel (BL-122): live local-time cards on POIs flagged `clock` ──
|
|
347
679
|
// Activation is the per-POI `clock` flag (peeled in the map parser, not a
|
|
348
680
|
// directive). `hours 9-17` / `days mon-fri` are the global availability
|
|
349
681
|
// window (reused verbatim from the clock chart type).
|
|
350
|
-
{
|
|
351
|
-
|
|
682
|
+
{
|
|
683
|
+
token: "hours",
|
|
684
|
+
category: "directive",
|
|
685
|
+
map: true,
|
|
686
|
+
chartTypes: ["clock", "map"]
|
|
687
|
+
},
|
|
688
|
+
{ token: "days", category: "directive", map: true, chartTypes: ["map"] },
|
|
352
689
|
// ── Shared across types ──────────────────────────────────
|
|
353
690
|
// `active-tag`: infra top-level option + gantt option + map directive.
|
|
354
691
|
// Treemap also accepts it (§24C.6, decision #48) — validated inline in its
|
|
@@ -359,24 +696,74 @@ var DIRECTIVES_REGISTRY = [
|
|
|
359
696
|
category: "directive",
|
|
360
697
|
infra: ["top-level"],
|
|
361
698
|
gantt: ["option"],
|
|
362
|
-
map: true
|
|
699
|
+
map: true,
|
|
700
|
+
chartTypes: [
|
|
701
|
+
"body",
|
|
702
|
+
"boxes-and-lines",
|
|
703
|
+
"c4",
|
|
704
|
+
"er",
|
|
705
|
+
"event-line",
|
|
706
|
+
"family",
|
|
707
|
+
"gantt",
|
|
708
|
+
"infra",
|
|
709
|
+
"journey-map",
|
|
710
|
+
"kanban",
|
|
711
|
+
"map",
|
|
712
|
+
"mindmap",
|
|
713
|
+
"org",
|
|
714
|
+
"pert",
|
|
715
|
+
"sequence",
|
|
716
|
+
"sitemap",
|
|
717
|
+
"state",
|
|
718
|
+
"swimlane",
|
|
719
|
+
"timeline",
|
|
720
|
+
"treemap",
|
|
721
|
+
"wireframe"
|
|
722
|
+
]
|
|
363
723
|
},
|
|
364
724
|
// `title`: gantt option. (The data-chart `title` directive was removed in
|
|
365
725
|
// decision #48 — it now raises E_TITLE_DIRECTIVE; the token stays here for
|
|
366
726
|
// gantt.)
|
|
367
|
-
{
|
|
727
|
+
{
|
|
728
|
+
token: "title",
|
|
729
|
+
category: "directive",
|
|
730
|
+
gantt: ["option"],
|
|
731
|
+
chartTypes: ["gantt"]
|
|
732
|
+
},
|
|
368
733
|
// `sort`: gantt option (also general, hand-listed).
|
|
369
|
-
{
|
|
734
|
+
{
|
|
735
|
+
token: "sort",
|
|
736
|
+
category: "directive",
|
|
737
|
+
gantt: ["option"],
|
|
738
|
+
chartTypes: "all"
|
|
739
|
+
},
|
|
370
740
|
// `lane-by <group>`: swimlane axis (view-state). NB not `swimlane` — that's a
|
|
371
741
|
// chart type. Kanban reads it via its own KNOWN_OPTIONS; gantt via the switch.
|
|
372
|
-
{
|
|
742
|
+
{
|
|
743
|
+
token: "lane-by",
|
|
744
|
+
category: "directive",
|
|
745
|
+
gantt: ["option"],
|
|
746
|
+
chartTypes: "all"
|
|
747
|
+
},
|
|
373
748
|
// `no-title`: gantt boolean + map directive (also general, hand-listed).
|
|
374
|
-
{
|
|
749
|
+
{
|
|
750
|
+
token: "no-title",
|
|
751
|
+
category: "directive",
|
|
752
|
+
gantt: ["boolean"],
|
|
753
|
+
map: true,
|
|
754
|
+
chartTypes: "all"
|
|
755
|
+
},
|
|
375
756
|
// `no-legend`: universal (decision #48) — every chart that renders a legend
|
|
376
757
|
// accepts it, and charts without one take it as a harmless no-op. Parsed for
|
|
377
758
|
// most types via GLOBAL_BOOLEANS in utils/parsing; gantt derives its boolean
|
|
378
759
|
// Set from here, and map from `map: true`.
|
|
379
|
-
{
|
|
760
|
+
{
|
|
761
|
+
token: "no-legend",
|
|
762
|
+
category: "directive",
|
|
763
|
+
gantt: ["boolean"],
|
|
764
|
+
map: true,
|
|
765
|
+
chartTypes: "all"
|
|
766
|
+
},
|
|
380
767
|
// `legend-inline`: universal §1.9 boolean (decision #50) — the top-center-
|
|
381
768
|
// legend data charts (bar/line/radar/scatter/function) render the title and
|
|
382
769
|
// legend on one line; every other chart accepts it as a harmless no-op.
|
|
@@ -384,7 +771,8 @@ var DIRECTIVES_REGISTRY = [
|
|
|
384
771
|
token: "legend-inline",
|
|
385
772
|
category: "directive",
|
|
386
773
|
gantt: ["boolean"],
|
|
387
|
-
map: true
|
|
774
|
+
map: true,
|
|
775
|
+
chartTypes: "all"
|
|
388
776
|
},
|
|
389
777
|
// ══════════════════════════════════════════════════════════
|
|
390
778
|
// Highlight-only vocab (no extractable parser Set).
|
|
@@ -394,40 +782,69 @@ var DIRECTIVES_REGISTRY = [
|
|
|
394
782
|
// simply their single declaration site for highlighting. Grouped by chart
|
|
395
783
|
// type. Categories route to the specializer-read sets in keywords.ts.
|
|
396
784
|
// ── Gantt (extras beyond the option/boolean Sets) ────────
|
|
397
|
-
{
|
|
398
|
-
|
|
399
|
-
|
|
785
|
+
{
|
|
786
|
+
token: "era",
|
|
787
|
+
category: "directive",
|
|
788
|
+
chartTypes: [
|
|
789
|
+
"bar",
|
|
790
|
+
"gantt",
|
|
791
|
+
"line",
|
|
792
|
+
"pie",
|
|
793
|
+
"polar-area",
|
|
794
|
+
"radar",
|
|
795
|
+
"timeline"
|
|
796
|
+
]
|
|
797
|
+
},
|
|
798
|
+
{ token: "marker", category: "directive", chartTypes: ["gantt", "timeline"] },
|
|
799
|
+
{ token: "holiday", category: "directive", chartTypes: ["gantt"] },
|
|
400
800
|
// `workweek` is also the canonical weekday-window directive on clock and map
|
|
401
801
|
// clock-cards (decision #48; `days` stays as the legacy alias).
|
|
402
|
-
{
|
|
403
|
-
|
|
802
|
+
{
|
|
803
|
+
token: "workweek",
|
|
804
|
+
category: "directive",
|
|
805
|
+
map: true,
|
|
806
|
+
chartTypes: ["clock", "gantt", "map"]
|
|
807
|
+
},
|
|
808
|
+
{ token: "no-dependencies", category: "directive", chartTypes: ["gantt"] },
|
|
404
809
|
// ── Tech-radar ───────────────────────────────────────────
|
|
405
|
-
{ token: "rings", category: "directive" },
|
|
810
|
+
{ token: "rings", category: "directive", chartTypes: ["tech-radar"] },
|
|
406
811
|
// Blip listing is default-on everywhere (decision #48): `no-blip-legend`
|
|
407
812
|
// suppresses it; `show-blip-legend` stays as the parse-accepted legacy no-op.
|
|
408
|
-
{
|
|
409
|
-
|
|
410
|
-
|
|
813
|
+
{
|
|
814
|
+
token: "no-blip-legend",
|
|
815
|
+
category: "directive",
|
|
816
|
+
chartTypes: ["tech-radar"]
|
|
817
|
+
},
|
|
818
|
+
{
|
|
819
|
+
token: "show-blip-legend",
|
|
820
|
+
category: "directive",
|
|
821
|
+
chartTypes: ["tech-radar"]
|
|
822
|
+
},
|
|
823
|
+
{ token: "trend", category: "directive", chartTypes: ["tech-radar"] },
|
|
411
824
|
// ── Tags / shared directives ─────────────────────────────
|
|
412
|
-
{ token: "tags", category: "directive" },
|
|
413
|
-
{ token: "import", category: "directive" },
|
|
414
|
-
{
|
|
825
|
+
{ token: "tags", category: "directive", chartTypes: "all" },
|
|
826
|
+
{ token: "import", category: "directive", chartTypes: "all" },
|
|
827
|
+
{
|
|
828
|
+
token: "hide",
|
|
829
|
+
category: "directive",
|
|
830
|
+
chartTypes: ["boxes-and-lines", "kanban", "org"]
|
|
831
|
+
},
|
|
415
832
|
// `focus <name>`: org subtree drill-down (view-state, source-backed) — the
|
|
416
833
|
// export re-roots to that person/team with the ancestor breadcrumb trail.
|
|
417
834
|
// Org reads it via its own KNOWN_OPTIONS; registered here for highlighting.
|
|
418
|
-
{ token: "focus", category: "directive" },
|
|
419
|
-
{ token: "direction", category: "directive" },
|
|
835
|
+
{ token: "focus", category: "directive", chartTypes: ["org"] },
|
|
836
|
+
{ token: "direction", category: "directive", chartTypes: "all" },
|
|
420
837
|
// ── Clock ────────────────────────────────────────────────
|
|
421
838
|
// The board's flat directives — highlight-only (the parser validates them
|
|
422
839
|
// inline, no extractable Set). `no-title` + `direction` are already listed
|
|
423
840
|
// above (shared). Values (analog is a bare flag; color-by's
|
|
424
841
|
// place|work|daylight|time|none) highlight as plain tokens.
|
|
425
|
-
{ token: "analog", category: "directive" },
|
|
426
|
-
{ token: "hours", category: "directive" },
|
|
427
|
-
{ token: "days", category: "directive" },
|
|
428
|
-
{ token: "no-sun", category: "directive" },
|
|
429
|
-
{ token: "time-24", category: "directive" },
|
|
430
|
-
{ token: "color-by", category: "directive" },
|
|
842
|
+
{ token: "analog", category: "directive", chartTypes: ["clock"] },
|
|
843
|
+
{ token: "hours", category: "directive", chartTypes: ["clock"] },
|
|
844
|
+
{ token: "days", category: "directive", chartTypes: ["clock"] },
|
|
845
|
+
{ token: "no-sun", category: "directive", chartTypes: ["clock"] },
|
|
846
|
+
{ token: "time-24", category: "directive", chartTypes: ["clock"] },
|
|
847
|
+
{ token: "color-by", category: "directive", chartTypes: ["clock"] },
|
|
431
848
|
// ── Boxes-and-lines ──────────────────────────────────────
|
|
432
849
|
// `heat <Label> [low] [high]` is the value→colour ramp directive, but `heat`
|
|
433
850
|
// is NOT registered as a directive keyword: it is dual-use with the `heat:`
|
|
@@ -437,72 +854,186 @@ var DIRECTIVES_REGISTRY = [
|
|
|
437
854
|
// as a property in both positions — exactly the treemap `heat` precedent.
|
|
438
855
|
// Box values render by default since decision #48; `show-values` stays as
|
|
439
856
|
// the parse-accepted legacy no-op (suppress with the shared `no-value`).
|
|
440
|
-
{
|
|
857
|
+
{
|
|
858
|
+
token: "show-values",
|
|
859
|
+
category: "directive",
|
|
860
|
+
chartTypes: ["boxes-and-lines"]
|
|
861
|
+
},
|
|
441
862
|
// Treemap's legacy plural spelling of the same suppression (decision #48
|
|
442
863
|
// made the shared singular `no-value` canonical). Registered so a legacy
|
|
443
864
|
// document still highlights it as a directive rather than plain text.
|
|
444
|
-
{ token: "no-values", category: "directive" },
|
|
865
|
+
{ token: "no-values", category: "directive", chartTypes: ["treemap"] },
|
|
445
866
|
// ── Swimlane ─────────────────────────────────────────────
|
|
446
|
-
{ token: "lane", category: "directive" },
|
|
867
|
+
{ token: "lane", category: "directive", chartTypes: ["swimlane"] },
|
|
447
868
|
// ── ER ───────────────────────────────────────────────────
|
|
448
|
-
{ token: "notation", category: "directive" },
|
|
869
|
+
{ token: "notation", category: "directive", chartTypes: ["er"] },
|
|
449
870
|
// ── Class ────────────────────────────────────────────────
|
|
450
|
-
{ token: "extends", category: "directive" },
|
|
451
|
-
{ token: "implements", category: "directive" },
|
|
452
|
-
{ token: "abstract", category: "directive" },
|
|
453
|
-
{ token: "interface", category: "directive" },
|
|
454
|
-
{ token: "enum", category: "directive" },
|
|
871
|
+
{ token: "extends", category: "directive", chartTypes: ["class"] },
|
|
872
|
+
{ token: "implements", category: "directive", chartTypes: ["class"] },
|
|
873
|
+
{ token: "abstract", category: "directive", chartTypes: ["class"] },
|
|
874
|
+
{ token: "interface", category: "directive", chartTypes: ["class"] },
|
|
875
|
+
{ token: "enum", category: "directive", chartTypes: ["class"] },
|
|
455
876
|
// ── C4 ───────────────────────────────────────────────────
|
|
456
|
-
{ token: "containers", category: "directive" },
|
|
457
|
-
{ token: "components", category: "directive" },
|
|
458
|
-
{ token: "deployment", category: "directive" },
|
|
459
|
-
{ token: "technology", category: "directive" },
|
|
877
|
+
{ token: "containers", category: "directive", chartTypes: ["c4"] },
|
|
878
|
+
{ token: "components", category: "directive", chartTypes: ["c4"] },
|
|
879
|
+
{ token: "deployment", category: "directive", chartTypes: ["c4"] },
|
|
880
|
+
{ token: "technology", category: "directive", chartTypes: ["c4"] },
|
|
460
881
|
// ── Infra (directives beyond the option/behavior Sets) ───
|
|
461
|
-
{ token: "sub-node-label", category: "directive" },
|
|
462
|
-
{ token: "show-sub-node-count", category: "directive" },
|
|
463
|
-
{ token: "animate", category: "directive" },
|
|
882
|
+
{ token: "sub-node-label", category: "directive", chartTypes: ["org"] },
|
|
883
|
+
{ token: "show-sub-node-count", category: "directive", chartTypes: ["org"] },
|
|
884
|
+
{ token: "animate", category: "directive", chartTypes: ["infra"] },
|
|
464
885
|
// ── Sequence ─────────────────────────────────────────────
|
|
465
|
-
{ token: "activations", category: "directive" },
|
|
466
|
-
{ token: "no-activations", category: "directive" },
|
|
467
|
-
{ token: "autonumber", category: "directive" },
|
|
886
|
+
{ token: "activations", category: "directive", chartTypes: ["sequence"] },
|
|
887
|
+
{ token: "no-activations", category: "directive", chartTypes: ["sequence"] },
|
|
888
|
+
{ token: "autonumber", category: "directive", chartTypes: ["sequence"] },
|
|
468
889
|
// ── Map element leaders (not in DIRECTIVE_SET) ───────────
|
|
469
|
-
{ token: "poi", category: "directive" },
|
|
470
|
-
{ token: "route", category: "directive" },
|
|
890
|
+
{ token: "poi", category: "directive", chartTypes: ["map"] },
|
|
891
|
+
{ token: "route", category: "directive", chartTypes: ["map"] },
|
|
471
892
|
// ── Data charts ──────────────────────────────────────────
|
|
472
|
-
{ token: "stacked", category: "directive" },
|
|
473
|
-
{
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
{
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
893
|
+
{ token: "stacked", category: "directive", chartTypes: "all" },
|
|
894
|
+
{
|
|
895
|
+
token: "no-name",
|
|
896
|
+
category: "directive",
|
|
897
|
+
chartTypes: ["funnel", "pie", "polar-area", "scatter"]
|
|
898
|
+
},
|
|
899
|
+
{
|
|
900
|
+
token: "no-value",
|
|
901
|
+
category: "directive",
|
|
902
|
+
chartTypes: [
|
|
903
|
+
"bar",
|
|
904
|
+
"boxes-and-lines",
|
|
905
|
+
"funnel",
|
|
906
|
+
"goal",
|
|
907
|
+
"heatmap",
|
|
908
|
+
"line",
|
|
909
|
+
"pie",
|
|
910
|
+
"polar-area",
|
|
911
|
+
"radar",
|
|
912
|
+
"treemap"
|
|
913
|
+
]
|
|
914
|
+
},
|
|
915
|
+
{
|
|
916
|
+
token: "no-percent",
|
|
917
|
+
category: "directive",
|
|
918
|
+
chartTypes: ["funnel", "goal", "pie", "polar-area", "treemap"]
|
|
919
|
+
},
|
|
920
|
+
{
|
|
921
|
+
token: "series",
|
|
922
|
+
category: "directive",
|
|
923
|
+
chartTypes: [
|
|
924
|
+
"bar",
|
|
925
|
+
"function",
|
|
926
|
+
"funnel",
|
|
927
|
+
"heatmap",
|
|
928
|
+
"line",
|
|
929
|
+
"pie",
|
|
930
|
+
"polar-area",
|
|
931
|
+
"radar",
|
|
932
|
+
"sankey",
|
|
933
|
+
"scatter"
|
|
934
|
+
]
|
|
935
|
+
},
|
|
936
|
+
{ token: "orientation", category: "directive", chartTypes: "all" },
|
|
937
|
+
{
|
|
938
|
+
token: "x-label",
|
|
939
|
+
category: "directive",
|
|
940
|
+
chartTypes: ["bar", "function", "line", "quadrant", "scatter"]
|
|
941
|
+
},
|
|
942
|
+
{
|
|
943
|
+
token: "y-label",
|
|
944
|
+
category: "directive",
|
|
945
|
+
chartTypes: ["bar", "function", "line", "quadrant", "scatter"]
|
|
946
|
+
},
|
|
947
|
+
{ token: "size-label", category: "directive", chartTypes: ["scatter"] },
|
|
948
|
+
{ token: "columns", category: "directive", chartTypes: ["block", "heatmap"] },
|
|
949
|
+
{ token: "rows", category: "directive", chartTypes: "all" },
|
|
950
|
+
{ token: "labels", category: "directive", chartTypes: "all" },
|
|
951
|
+
{ token: "rotate", category: "directive", chartTypes: ["wordcloud"] },
|
|
952
|
+
{ token: "scale", category: "directive", chartTypes: "all" },
|
|
953
|
+
{
|
|
954
|
+
token: "values",
|
|
955
|
+
category: "directive",
|
|
956
|
+
chartTypes: ["pert", "tech-radar"]
|
|
957
|
+
},
|
|
958
|
+
{
|
|
959
|
+
token: "orientation-horizontal",
|
|
960
|
+
category: "directive",
|
|
961
|
+
chartTypes: ["bar"]
|
|
962
|
+
},
|
|
488
963
|
// ── Slope ────────────────────────────────────────────────
|
|
489
|
-
{ token: "period", category: "directive" },
|
|
964
|
+
{ token: "period", category: "directive", chartTypes: "all" },
|
|
490
965
|
// ── Quadrant ─────────────────────────────────────────────
|
|
491
|
-
{ token: "x-axis", category: "directive" },
|
|
492
|
-
{ token: "y-axis", category: "directive" },
|
|
493
|
-
{
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
966
|
+
{ token: "x-axis", category: "directive", chartTypes: "all" },
|
|
967
|
+
{ token: "y-axis", category: "directive", chartTypes: "all" },
|
|
968
|
+
{
|
|
969
|
+
token: "top-right",
|
|
970
|
+
category: "directive",
|
|
971
|
+
chartTypes: ["quadrant", "tech-radar"]
|
|
972
|
+
},
|
|
973
|
+
{
|
|
974
|
+
token: "top-left",
|
|
975
|
+
category: "directive",
|
|
976
|
+
chartTypes: ["quadrant", "tech-radar"]
|
|
977
|
+
},
|
|
978
|
+
{
|
|
979
|
+
token: "bottom-right",
|
|
980
|
+
category: "directive",
|
|
981
|
+
chartTypes: ["quadrant", "tech-radar"]
|
|
982
|
+
},
|
|
983
|
+
{
|
|
984
|
+
token: "bottom-left",
|
|
985
|
+
category: "directive",
|
|
986
|
+
chartTypes: ["quadrant", "tech-radar"]
|
|
987
|
+
},
|
|
497
988
|
// ── Layout (cross-chart) ─────────────────────────────────
|
|
498
|
-
{
|
|
499
|
-
|
|
500
|
-
|
|
989
|
+
{
|
|
990
|
+
token: "direction-tb",
|
|
991
|
+
category: "directive",
|
|
992
|
+
chartTypes: [
|
|
993
|
+
"boxes-and-lines",
|
|
994
|
+
"c4",
|
|
995
|
+
"clock",
|
|
996
|
+
"flowchart",
|
|
997
|
+
"infra",
|
|
998
|
+
"org",
|
|
999
|
+
"pert",
|
|
1000
|
+
"sitemap",
|
|
1001
|
+
"state",
|
|
1002
|
+
"swimlane",
|
|
1003
|
+
"version-control"
|
|
1004
|
+
]
|
|
1005
|
+
},
|
|
1006
|
+
{
|
|
1007
|
+
token: "direction-lr",
|
|
1008
|
+
category: "directive",
|
|
1009
|
+
chartTypes: [
|
|
1010
|
+
"boxes-and-lines",
|
|
1011
|
+
"c4",
|
|
1012
|
+
"clock",
|
|
1013
|
+
"flowchart",
|
|
1014
|
+
"infra",
|
|
1015
|
+
"org",
|
|
1016
|
+
"pert",
|
|
1017
|
+
"sitemap",
|
|
1018
|
+
"state",
|
|
1019
|
+
"swimlane",
|
|
1020
|
+
"version-control"
|
|
1021
|
+
]
|
|
1022
|
+
},
|
|
1023
|
+
{ token: "orientation-vertical", category: "directive", chartTypes: "all" },
|
|
501
1024
|
// ── Pyramid ──────────────────────────────────────────────
|
|
502
|
-
{ token: "inverted", category: "directive" },
|
|
1025
|
+
{ token: "inverted", category: "directive", chartTypes: ["pyramid"] },
|
|
503
1026
|
// ── Color / notes (cross-chart) ──────────────────────────
|
|
504
|
-
{
|
|
505
|
-
|
|
1027
|
+
{
|
|
1028
|
+
token: "color",
|
|
1029
|
+
category: "directive",
|
|
1030
|
+
chartTypes: "all"
|
|
1031
|
+
},
|
|
1032
|
+
{
|
|
1033
|
+
token: "no-notes",
|
|
1034
|
+
category: "directive",
|
|
1035
|
+
chartTypes: ["flowchart", "goal", "state", "whiteboard"]
|
|
1036
|
+
},
|
|
506
1037
|
// ── Emphasis family (§1.11, decision #49) ────────────────
|
|
507
1038
|
// `highlight <Name>…` / `dim <Name>…` — the figure/ground axis, orthogonal
|
|
508
1039
|
// to color (§1.5) and to the chart-wide `fill-*` family (§1.9). Both are
|
|
@@ -515,122 +1046,180 @@ var DIRECTIVES_REGISTRY = [
|
|
|
515
1046
|
// tokens are registered together so the whole family lights up at once.
|
|
516
1047
|
//
|
|
517
1048
|
// Supported on `sankey` and `family` today; every further chart type is a
|
|
518
|
-
// separate decision
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
1049
|
+
// separate decision, made by adding it to `chartTypes` below (#1734).
|
|
1050
|
+
{
|
|
1051
|
+
token: "highlight",
|
|
1052
|
+
category: "directive",
|
|
1053
|
+
chartTypes: ["family", "sankey"]
|
|
1054
|
+
},
|
|
1055
|
+
{ token: "dim", category: "directive", chartTypes: ["family", "sankey"] },
|
|
523
1056
|
// ── RACI ─────────────────────────────────────────────────
|
|
524
|
-
{ token: "roles", category: "directive" },
|
|
1057
|
+
{ token: "roles", category: "directive", chartTypes: ["raci"] },
|
|
525
1058
|
// ── Cycle ────────────────────────────────────────────────
|
|
526
|
-
{
|
|
527
|
-
|
|
1059
|
+
{
|
|
1060
|
+
token: "direction-counterclockwise",
|
|
1061
|
+
category: "directive",
|
|
1062
|
+
chartTypes: ["cycle"]
|
|
1063
|
+
},
|
|
1064
|
+
{ token: "circle-nodes", category: "directive", chartTypes: ["cycle"] },
|
|
528
1065
|
// ── Journey-map ──────────────────────────────────────────
|
|
529
|
-
{ token: "persona", category: "directive" },
|
|
1066
|
+
{ token: "persona", category: "directive", chartTypes: ["journey-map"] },
|
|
530
1067
|
// ── Function ─────────────────────────────────────────────
|
|
531
|
-
{ token: "x", category: "directive" },
|
|
532
|
-
{
|
|
1068
|
+
{ token: "x", category: "directive", chartTypes: ["function"] },
|
|
1069
|
+
{
|
|
1070
|
+
token: "fill",
|
|
1071
|
+
category: "directive",
|
|
1072
|
+
chartTypes: ["function", "line", "whiteboard"]
|
|
1073
|
+
},
|
|
533
1074
|
// ── Wordcloud ────────────────────────────────────────────
|
|
534
|
-
{ token: "max", category: "directive" },
|
|
535
|
-
{
|
|
1075
|
+
{ token: "max", category: "directive", chartTypes: ["wordcloud"] },
|
|
1076
|
+
{
|
|
1077
|
+
token: "size",
|
|
1078
|
+
category: "directive",
|
|
1079
|
+
chartTypes: ["whiteboard", "wordcloud"]
|
|
1080
|
+
},
|
|
536
1081
|
// ── Arc ──────────────────────────────────────────────────
|
|
537
|
-
{ token: "order", category: "directive" },
|
|
1082
|
+
{ token: "order", category: "directive", chartTypes: ["arc"] },
|
|
538
1083
|
// ── PERT ─────────────────────────────────────────────────
|
|
539
|
-
{ token: "time-unit", category: "directive" },
|
|
540
|
-
{ token: "default-confidence", category: "directive" },
|
|
541
|
-
{ token: "node-detail", category: "directive" },
|
|
542
|
-
{ token: "trials", category: "directive" },
|
|
543
|
-
{ token: "seed", category: "directive" },
|
|
544
|
-
{ token: "scrubber-trials", category: "directive" },
|
|
1084
|
+
{ token: "time-unit", category: "directive", chartTypes: ["pert"] },
|
|
1085
|
+
{ token: "default-confidence", category: "directive", chartTypes: ["pert"] },
|
|
1086
|
+
{ token: "node-detail", category: "directive", chartTypes: ["pert"] },
|
|
1087
|
+
{ token: "trials", category: "directive", chartTypes: ["pert"] },
|
|
1088
|
+
{ token: "seed", category: "directive", chartTypes: ["bracket", "pert"] },
|
|
1089
|
+
{ token: "scrubber-trials", category: "directive", chartTypes: ["pert"] },
|
|
545
1090
|
// `start-date` is also gantt's canonical project-start option (decision #48;
|
|
546
1091
|
// bare `start` above stays as the legacy alias).
|
|
547
|
-
{
|
|
548
|
-
|
|
1092
|
+
{
|
|
1093
|
+
token: "start-date",
|
|
1094
|
+
category: "directive",
|
|
1095
|
+
gantt: ["option"],
|
|
1096
|
+
chartTypes: ["gantt", "pert"]
|
|
1097
|
+
},
|
|
1098
|
+
{ token: "end-date", category: "directive", chartTypes: ["pert"] },
|
|
549
1099
|
// ── Goal ─────────────────────────────────────────────────
|
|
550
1100
|
// Mode flags, value-key leaders, and opt-outs. `now`/`target` collide with
|
|
551
1101
|
// label prose ("start now", "on target"), but the arrow-label demotion pass
|
|
552
1102
|
// (see highlight-api LABEL_WORD_NODES) treats any keyword-bearing label as
|
|
553
1103
|
// text and demotes them, so they highlight only as line leaders.
|
|
554
|
-
{ token: "thermometer", category: "directive" },
|
|
555
|
-
{ token: "gauge", category: "directive" },
|
|
556
|
-
{
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
1104
|
+
{ token: "thermometer", category: "directive", chartTypes: ["goal"] },
|
|
1105
|
+
{ token: "gauge", category: "directive", chartTypes: ["goal"] },
|
|
1106
|
+
{
|
|
1107
|
+
token: "now",
|
|
1108
|
+
category: "directive",
|
|
1109
|
+
chartTypes: ["event-line", "goal", "pert"]
|
|
1110
|
+
},
|
|
1111
|
+
{ token: "target", category: "directive", chartTypes: ["countdown", "goal"] },
|
|
1112
|
+
{ token: "no-note", category: "directive", chartTypes: ["goal"] },
|
|
1113
|
+
{ token: "no-auto-color", category: "directive", chartTypes: ["goal"] },
|
|
560
1114
|
// ── Control-flow + wireframe element keywords (CONTROL) ──
|
|
561
|
-
{ token: "if", category: "control" },
|
|
562
|
-
{ token: "else", category: "control" },
|
|
563
|
-
{ token: "loop", category: "control" },
|
|
564
|
-
{ token: "parallel", category: "control" },
|
|
565
|
-
{
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
1115
|
+
{ token: "if", category: "control", chartTypes: ["sequence"] },
|
|
1116
|
+
{ token: "else", category: "control", chartTypes: ["sequence"] },
|
|
1117
|
+
{ token: "loop", category: "control", chartTypes: ["sequence"] },
|
|
1118
|
+
{ token: "parallel", category: "control", chartTypes: ["gantt", "sequence"] },
|
|
1119
|
+
{
|
|
1120
|
+
token: "note",
|
|
1121
|
+
category: "control",
|
|
1122
|
+
chartTypes: [
|
|
1123
|
+
"boxes-and-lines",
|
|
1124
|
+
"class",
|
|
1125
|
+
"countdown",
|
|
1126
|
+
"er",
|
|
1127
|
+
"flowchart",
|
|
1128
|
+
"goal",
|
|
1129
|
+
"sequence",
|
|
1130
|
+
"state",
|
|
1131
|
+
"swimlane",
|
|
1132
|
+
"version-control",
|
|
1133
|
+
"whiteboard"
|
|
1134
|
+
]
|
|
1135
|
+
},
|
|
1136
|
+
{ token: "nav", category: "control", chartTypes: ["wireframe"] },
|
|
1137
|
+
{ token: "tabs", category: "control", chartTypes: ["wireframe"] },
|
|
1138
|
+
{ token: "table", category: "control", chartTypes: ["wireframe"] },
|
|
1139
|
+
{
|
|
1140
|
+
token: "image",
|
|
1141
|
+
category: "control",
|
|
1142
|
+
chartTypes: ["whiteboard", "wireframe"]
|
|
1143
|
+
},
|
|
1144
|
+
{ token: "modal", category: "control", chartTypes: ["wireframe"] },
|
|
1145
|
+
{ token: "skeleton", category: "control", chartTypes: ["wireframe"] },
|
|
1146
|
+
{ token: "alert", category: "control", chartTypes: ["wireframe"] },
|
|
1147
|
+
{
|
|
1148
|
+
token: "progress",
|
|
1149
|
+
category: "control",
|
|
1150
|
+
chartTypes: ["gantt", "wireframe"]
|
|
1151
|
+
},
|
|
1152
|
+
{ token: "mobile", category: "control", chartTypes: ["wireframe"] },
|
|
575
1153
|
// Whiteboard element leaders (§39). `image` is shared with wireframe above
|
|
576
1154
|
// and `text` stays an ER modifier; `database` / `queue` are left plain
|
|
577
1155
|
// because sequence uses them as values, not line leaders.
|
|
578
|
-
{ token: "rectangle", category: "control" },
|
|
579
|
-
{ token: "ellipse", category: "control" },
|
|
580
|
-
{ token: "arrow", category: "control" },
|
|
581
|
-
{ token: "ink", category: "control" },
|
|
1156
|
+
{ token: "rectangle", category: "control", chartTypes: ["whiteboard"] },
|
|
1157
|
+
{ token: "ellipse", category: "control", chartTypes: ["whiteboard"] },
|
|
1158
|
+
{ token: "arrow", category: "control", chartTypes: ["whiteboard"] },
|
|
1159
|
+
{ token: "ink", category: "control", chartTypes: ["whiteboard"] },
|
|
1160
|
+
// ── SWOT section keywords (CONTROL) ──────────────────────
|
|
1161
|
+
{ token: "strengths", category: "control", chartTypes: ["swot"] },
|
|
1162
|
+
{ token: "weaknesses", category: "control", chartTypes: ["swot"] },
|
|
1163
|
+
{ token: "opportunities", category: "control", chartTypes: ["swot"] },
|
|
1164
|
+
{ token: "threats", category: "control", chartTypes: ["swot"] },
|
|
1165
|
+
{ token: "no-axes", category: "directive", chartTypes: ["swot"] },
|
|
1166
|
+
{ token: "no-tint-items", category: "directive", chartTypes: ["swot"] },
|
|
582
1167
|
// ── Kanban status keywords (STATUS) ──────────────────────
|
|
583
|
-
{ token: "na", category: "status" },
|
|
584
|
-
{ token: "todo", category: "status" },
|
|
585
|
-
{ token: "wip", category: "status" },
|
|
586
|
-
{ token: "done", category: "status" },
|
|
587
|
-
{ token: "blocked", category: "status" },
|
|
588
|
-
{ token: "in-progress", category: "status" },
|
|
589
|
-
{ token: "backlog", category: "status" },
|
|
590
|
-
{ token: "ready", category: "status" },
|
|
1168
|
+
{ token: "na", category: "status", chartTypes: ["kanban"] },
|
|
1169
|
+
{ token: "todo", category: "status", chartTypes: ["kanban"] },
|
|
1170
|
+
{ token: "wip", category: "status", chartTypes: ["kanban"] },
|
|
1171
|
+
{ token: "done", category: "status", chartTypes: ["kanban"] },
|
|
1172
|
+
{ token: "blocked", category: "status", chartTypes: ["kanban"] },
|
|
1173
|
+
{ token: "in-progress", category: "status", chartTypes: ["kanban"] },
|
|
1174
|
+
{ token: "backlog", category: "status", chartTypes: ["kanban"] },
|
|
1175
|
+
{ token: "ready", category: "status", chartTypes: ["kanban"] },
|
|
591
1176
|
// ── Modifiers + ER column types/modifiers (MODIFIER) ─────
|
|
592
1177
|
// `collapsed` is the bare trailing group-line flag made canonical by
|
|
593
1178
|
// decision #48 (`[Fulfillment] collapsed`). It is deliberately a bare
|
|
594
1179
|
// MODIFIER rather than a colon key: the legacy `collapsed: true` form still
|
|
595
1180
|
// parses and still highlights (as `modifier` instead of `propertyName`),
|
|
596
1181
|
// whereas leaving it colon-only left the canonical bare form as plain text.
|
|
597
|
-
{ token: "collapsed", category: "modifier" },
|
|
598
|
-
{ token: "as", category: "modifier" },
|
|
599
|
-
{ token: "alias", category: "modifier" },
|
|
600
|
-
{ token: "aka", category: "modifier" },
|
|
601
|
-
{ token: "position", category: "modifier" },
|
|
602
|
-
{ token: "default", category: "modifier" },
|
|
603
|
-
{ token: "pk", category: "modifier" },
|
|
604
|
-
{ token: "fk", category: "modifier" },
|
|
605
|
-
{ token: "nullable", category: "modifier" },
|
|
606
|
-
{ token: "unique", category: "modifier" },
|
|
607
|
-
{ token: "int", category: "modifier" },
|
|
608
|
-
{ token: "varchar", category: "modifier" },
|
|
609
|
-
{
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
{ token: "
|
|
1182
|
+
{ token: "collapsed", category: "modifier", chartTypes: "all" },
|
|
1183
|
+
{ token: "as", category: "modifier", chartTypes: "all" },
|
|
1184
|
+
{ token: "alias", category: "modifier", chartTypes: "all" },
|
|
1185
|
+
{ token: "aka", category: "modifier", chartTypes: "all" },
|
|
1186
|
+
{ token: "position", category: "modifier", chartTypes: "all" },
|
|
1187
|
+
{ token: "default", category: "modifier", chartTypes: "all" },
|
|
1188
|
+
{ token: "pk", category: "modifier", chartTypes: ["er"] },
|
|
1189
|
+
{ token: "fk", category: "modifier", chartTypes: ["er"] },
|
|
1190
|
+
{ token: "nullable", category: "modifier", chartTypes: ["er"] },
|
|
1191
|
+
{ token: "unique", category: "modifier", chartTypes: ["er"] },
|
|
1192
|
+
{ token: "int", category: "modifier", chartTypes: ["class", "er"] },
|
|
1193
|
+
{ token: "varchar", category: "modifier", chartTypes: ["class", "er"] },
|
|
1194
|
+
{
|
|
1195
|
+
token: "text",
|
|
1196
|
+
category: "modifier",
|
|
1197
|
+
chartTypes: ["class", "er", "whiteboard"]
|
|
1198
|
+
},
|
|
1199
|
+
{ token: "boolean", category: "modifier", chartTypes: ["class", "er"] },
|
|
1200
|
+
{ token: "date", category: "modifier", chartTypes: ["class", "er"] },
|
|
1201
|
+
{ token: "timestamp", category: "modifier", chartTypes: ["class", "er"] },
|
|
1202
|
+
{ token: "float", category: "modifier", chartTypes: ["class", "er"] },
|
|
1203
|
+
{ token: "decimal", category: "modifier", chartTypes: ["class", "er"] },
|
|
615
1204
|
// ── Bracket ──────────────────────────────────────────────
|
|
616
1205
|
// `beats` / `vs` are the infix match keywords; the rest are line directives.
|
|
617
1206
|
// (`seed` and `no-legend` already appear above — shared, not re-listed.)
|
|
618
|
-
{ token: "beats", category: "control" },
|
|
619
|
-
{ token: "vs", category: "control" },
|
|
620
|
-
{ token: "rounds", category: "directive" },
|
|
621
|
-
{ token: "accent", category: "directive" },
|
|
622
|
-
{ token: "no-round", category: "modifier" },
|
|
623
|
-
{ token: "no-rounds", category: "modifier" },
|
|
624
|
-
{ token: "single-elim", category: "modifier" },
|
|
625
|
-
{ token: "double-elim", category: "modifier" },
|
|
626
|
-
{ token: "seeded", category: "modifier" },
|
|
1207
|
+
{ token: "beats", category: "control", chartTypes: ["bracket"] },
|
|
1208
|
+
{ token: "vs", category: "control", chartTypes: ["bracket"] },
|
|
1209
|
+
{ token: "rounds", category: "directive", chartTypes: ["bracket"] },
|
|
1210
|
+
{ token: "accent", category: "directive", chartTypes: "all" },
|
|
1211
|
+
{ token: "no-round", category: "modifier", chartTypes: ["bracket"] },
|
|
1212
|
+
{ token: "no-rounds", category: "modifier", chartTypes: ["bracket"] },
|
|
1213
|
+
{ token: "single-elim", category: "modifier", chartTypes: ["bracket"] },
|
|
1214
|
+
{ token: "double-elim", category: "modifier", chartTypes: ["bracket"] },
|
|
1215
|
+
{ token: "seeded", category: "modifier", chartTypes: ["bracket"] },
|
|
627
1216
|
// ── Live link (§38) ──────────────────────────────────────
|
|
628
1217
|
// The pointer type's one directive. Registered so it highlights and
|
|
629
1218
|
// autocompletes like `palette` does — §38 justifies the shape by calling it
|
|
630
1219
|
// "the ordinary DGMO directive shape", and an unregistered `url` would make
|
|
631
1220
|
// that sentence false in the editor: `editor/tokens.ts` specializes only
|
|
632
1221
|
// against the keyword registries, so it would render as plain identifier text.
|
|
633
|
-
{ token: "url", category: "directive" }
|
|
1222
|
+
{ token: "url", category: "directive", chartTypes: ["live-link"] }
|
|
634
1223
|
];
|
|
635
1224
|
function tokensWhere(pred) {
|
|
636
1225
|
const out = /* @__PURE__ */ new Set();
|
|
@@ -666,6 +1255,21 @@ var REGISTRY_STATUS_TOKENS = tokensWhere(
|
|
|
666
1255
|
var REGISTRY_MODIFIER_TOKENS = tokensWhere(
|
|
667
1256
|
(e) => e.category === "modifier" && !e.colonKey && !e.noHighlight
|
|
668
1257
|
);
|
|
1258
|
+
var REGISTRY_TOKEN_CHART_TYPES = (() => {
|
|
1259
|
+
const out = /* @__PURE__ */ new Map();
|
|
1260
|
+
for (const e of DIRECTIVES_REGISTRY) {
|
|
1261
|
+
const prev = out.get(e.token);
|
|
1262
|
+
if (prev === "all") continue;
|
|
1263
|
+
if (e.chartTypes === "all") {
|
|
1264
|
+
out.set(e.token, "all");
|
|
1265
|
+
continue;
|
|
1266
|
+
}
|
|
1267
|
+
const set = prev ?? /* @__PURE__ */ new Set();
|
|
1268
|
+
for (const t of e.chartTypes) set.add(t);
|
|
1269
|
+
out.set(e.token, set);
|
|
1270
|
+
}
|
|
1271
|
+
return out;
|
|
1272
|
+
})();
|
|
669
1273
|
var REGISTRY_COLON_KEY_TOKENS = tokensWhere((e) => !!e.colonKey);
|
|
670
1274
|
var REGISTRY_NON_HIGHLIGHT_TOKENS = tokensWhere(
|
|
671
1275
|
(e) => !!e.noHighlight
|
|
@@ -755,10 +1359,13 @@ var KANBAN_REGISTRY = staticRegistry([
|
|
|
755
1359
|
"collapsed"
|
|
756
1360
|
// `[Column] collapsed: true` view-state marker
|
|
757
1361
|
]);
|
|
1362
|
+
var SWOT_REGISTRY = staticRegistry([]);
|
|
758
1363
|
var SITEMAP_REGISTRY = staticRegistry([
|
|
759
1364
|
"color",
|
|
760
1365
|
"description",
|
|
761
|
-
"status"
|
|
1366
|
+
"status",
|
|
1367
|
+
"collapsed"
|
|
1368
|
+
// page / `[Container]` view-state marker (#1741)
|
|
762
1369
|
]);
|
|
763
1370
|
var GANTT_REGISTRY = staticRegistry([
|
|
764
1371
|
"color",
|
|
@@ -779,13 +1386,17 @@ var PERT_REGISTRY = staticRegistry([
|
|
|
779
1386
|
var BOXES_AND_LINES_REGISTRY = staticRegistry([
|
|
780
1387
|
"color",
|
|
781
1388
|
"description",
|
|
782
|
-
"heat"
|
|
1389
|
+
"heat",
|
|
1390
|
+
"collapsed"
|
|
1391
|
+
// `[Group] collapsed: true` view-state marker (#1741)
|
|
783
1392
|
]);
|
|
784
1393
|
var STATE_REGISTRY = staticRegistry([]);
|
|
785
1394
|
var TIMELINE_REGISTRY = staticRegistry([
|
|
786
1395
|
"color",
|
|
787
1396
|
"description",
|
|
788
|
-
"duration"
|
|
1397
|
+
"duration",
|
|
1398
|
+
"collapsed"
|
|
1399
|
+
// `[Lane] collapsed: true` view-state marker (#1741)
|
|
789
1400
|
]);
|
|
790
1401
|
var MINDMAP_REGISTRY = staticRegistry([
|
|
791
1402
|
"color",
|
|
@@ -812,7 +1423,9 @@ var JOURNEY_MAP_REGISTRY = staticRegistry([
|
|
|
812
1423
|
"emotion",
|
|
813
1424
|
"pain",
|
|
814
1425
|
"opportunity",
|
|
815
|
-
"thought"
|
|
1426
|
+
"thought",
|
|
1427
|
+
"collapsed"
|
|
1428
|
+
// `[Phase] collapsed: true` view-state marker (#1741)
|
|
816
1429
|
]);
|
|
817
1430
|
var PYRAMID_REGISTRY = staticRegistry([
|
|
818
1431
|
"color",
|
|
@@ -825,7 +1438,9 @@ var RING_REGISTRY = staticRegistry([
|
|
|
825
1438
|
var TREEMAP_REGISTRY = staticRegistry(["heat"]);
|
|
826
1439
|
var RACI_REGISTRY = staticRegistry([
|
|
827
1440
|
"color",
|
|
828
|
-
"description"
|
|
1441
|
+
"description",
|
|
1442
|
+
"collapsed"
|
|
1443
|
+
// `[Phase] collapsed: true` view-state marker (#1741)
|
|
829
1444
|
]);
|
|
830
1445
|
var FAMILY_PERSON_REGISTRY = staticRegistry([
|
|
831
1446
|
"sex",
|
|
@@ -1599,6 +2214,7 @@ export {
|
|
|
1599
2214
|
REGISTRY_CONTROL_TOKENS,
|
|
1600
2215
|
REGISTRY_STATUS_TOKENS,
|
|
1601
2216
|
REGISTRY_MODIFIER_TOKENS,
|
|
2217
|
+
REGISTRY_TOKEN_CHART_TYPES,
|
|
1602
2218
|
REGISTRY_COLON_KEY_TOKENS,
|
|
1603
2219
|
withTagAliases,
|
|
1604
2220
|
isReservedKey,
|
|
@@ -1610,6 +2226,7 @@ export {
|
|
|
1610
2226
|
ER_REGISTRY,
|
|
1611
2227
|
EVENT_LINE_REGISTRY,
|
|
1612
2228
|
KANBAN_REGISTRY,
|
|
2229
|
+
SWOT_REGISTRY,
|
|
1613
2230
|
SITEMAP_REGISTRY,
|
|
1614
2231
|
GANTT_REGISTRY,
|
|
1615
2232
|
PERT_REGISTRY,
|