@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
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
import {
|
|
2
2
|
renderDataChartD3
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-XCYGOCMS.js";
|
|
4
4
|
import {
|
|
5
5
|
readViewBox
|
|
6
6
|
} from "./chunk-6K2W3FH7.js";
|
|
7
|
+
import {
|
|
8
|
+
computeQuadrantPointLabels
|
|
9
|
+
} from "./chunk-YSDSFXQD.js";
|
|
7
10
|
import {
|
|
8
11
|
REGISTRY_BY_ID,
|
|
9
12
|
getRenderCategory,
|
|
@@ -15,7 +18,7 @@ import {
|
|
|
15
18
|
parseVenn,
|
|
16
19
|
parseVisualization,
|
|
17
20
|
parseWordcloud
|
|
18
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-2FMOLWX4.js";
|
|
19
22
|
import {
|
|
20
23
|
parseChart,
|
|
21
24
|
parseFunctionChart,
|
|
@@ -23,61 +26,64 @@ import {
|
|
|
23
26
|
parseHeatmap,
|
|
24
27
|
parseSankey,
|
|
25
28
|
parseScatter
|
|
26
|
-
} from "./chunk-
|
|
29
|
+
} from "./chunk-WPYJAHRP.js";
|
|
30
|
+
import {
|
|
31
|
+
MAP_DX
|
|
32
|
+
} from "./chunk-EOYPX6SF.js";
|
|
33
|
+
import {
|
|
34
|
+
parseTechRadar
|
|
35
|
+
} from "./chunk-DKMZ4VMV.js";
|
|
36
|
+
import {
|
|
37
|
+
parsePyramid
|
|
38
|
+
} from "./chunk-CGP7RGLJ.js";
|
|
27
39
|
import {
|
|
28
40
|
parseRing
|
|
29
|
-
} from "./chunk-
|
|
41
|
+
} from "./chunk-QLIZ7SB7.js";
|
|
30
42
|
import {
|
|
31
43
|
parseTreemap
|
|
32
|
-
} from "./chunk-
|
|
44
|
+
} from "./chunk-NBISN6FH.js";
|
|
33
45
|
import {
|
|
34
|
-
|
|
35
|
-
} from "./chunk-
|
|
36
|
-
import {
|
|
37
|
-
computeQuadrantPointLabels
|
|
38
|
-
} from "./chunk-KMU65FYM.js";
|
|
46
|
+
parseSwot
|
|
47
|
+
} from "./chunk-KNKZGRRB.js";
|
|
39
48
|
import {
|
|
40
49
|
parseVersionControl
|
|
41
|
-
} from "./chunk-
|
|
50
|
+
} from "./chunk-R4SXMBGF.js";
|
|
42
51
|
import {
|
|
43
52
|
parseMap
|
|
44
|
-
} from "./chunk-
|
|
53
|
+
} from "./chunk-IUFTAFGN.js";
|
|
45
54
|
import {
|
|
46
55
|
parseWhiteboard
|
|
47
|
-
} from "./chunk-
|
|
56
|
+
} from "./chunk-AULFF7L2.js";
|
|
48
57
|
import {
|
|
49
58
|
parseSwimlane
|
|
50
|
-
} from "./chunk-
|
|
59
|
+
} from "./chunk-PZ5LAAO3.js";
|
|
51
60
|
import {
|
|
52
61
|
parseMindmap
|
|
53
|
-
} from "./chunk-
|
|
54
|
-
import {
|
|
55
|
-
parseTechRadar
|
|
56
|
-
} from "./chunk-VVTCUIPN.js";
|
|
57
|
-
import {
|
|
58
|
-
parsePyramid
|
|
59
|
-
} from "./chunk-B2YVZ3QU.js";
|
|
62
|
+
} from "./chunk-KTGJQJB3.js";
|
|
60
63
|
import {
|
|
61
64
|
parseKanban
|
|
62
|
-
} from "./chunk-
|
|
65
|
+
} from "./chunk-B7ZH5EQ2.js";
|
|
63
66
|
import {
|
|
64
67
|
parseInfra
|
|
65
|
-
} from "./chunk-
|
|
68
|
+
} from "./chunk-3C4OXVZJ.js";
|
|
66
69
|
import {
|
|
67
70
|
parseJourneyMap
|
|
68
|
-
} from "./chunk-
|
|
71
|
+
} from "./chunk-TMB4YY3J.js";
|
|
72
|
+
import {
|
|
73
|
+
parseGantt
|
|
74
|
+
} from "./chunk-VQWLASDC.js";
|
|
69
75
|
import {
|
|
70
76
|
parseGoal
|
|
71
|
-
} from "./chunk-
|
|
77
|
+
} from "./chunk-ZMVMGZAJ.js";
|
|
72
78
|
import {
|
|
73
79
|
MIN_CANVAS_WIDTH
|
|
74
|
-
} from "./chunk-
|
|
80
|
+
} from "./chunk-K7RRXZHS.js";
|
|
75
81
|
import {
|
|
76
82
|
parseEventLine
|
|
77
|
-
} from "./chunk-
|
|
83
|
+
} from "./chunk-L3K5O3Z5.js";
|
|
78
84
|
import {
|
|
79
85
|
renderTimeline
|
|
80
|
-
} from "./chunk-
|
|
86
|
+
} from "./chunk-EEIGHOJR.js";
|
|
81
87
|
import {
|
|
82
88
|
EXPORT_HEIGHT,
|
|
83
89
|
EXPORT_WIDTH,
|
|
@@ -89,93 +95,94 @@ import {
|
|
|
89
95
|
renderChartTitle,
|
|
90
96
|
resolveExportPalette,
|
|
91
97
|
showTooltip
|
|
92
|
-
} from "./chunk-
|
|
98
|
+
} from "./chunk-YIHRLY55.js";
|
|
93
99
|
import {
|
|
94
100
|
parseTimelineDate
|
|
95
|
-
} from "./chunk-
|
|
101
|
+
} from "./chunk-O3HRF25Z.js";
|
|
96
102
|
import {
|
|
97
103
|
parseFamily
|
|
98
|
-
} from "./chunk-
|
|
99
|
-
import {
|
|
100
|
-
parseGantt
|
|
101
|
-
} from "./chunk-KQAPFIYF.js";
|
|
104
|
+
} from "./chunk-J467QBZF.js";
|
|
102
105
|
import {
|
|
103
106
|
parseClock
|
|
104
|
-
} from "./chunk-
|
|
107
|
+
} from "./chunk-6OUMYNAJ.js";
|
|
105
108
|
import {
|
|
106
109
|
parseCountdown
|
|
107
|
-
} from "./chunk-
|
|
110
|
+
} from "./chunk-EBJLT7PH.js";
|
|
108
111
|
import {
|
|
109
112
|
parseCycle
|
|
110
|
-
} from "./chunk-
|
|
113
|
+
} from "./chunk-PLQZJZ2K.js";
|
|
111
114
|
import {
|
|
112
115
|
parseBracket
|
|
113
|
-
} from "./chunk-
|
|
116
|
+
} from "./chunk-3IUMSK72.js";
|
|
114
117
|
import {
|
|
115
118
|
layoutBracket
|
|
116
|
-
} from "./chunk-
|
|
119
|
+
} from "./chunk-ZBJV4KNU.js";
|
|
117
120
|
import {
|
|
118
121
|
parseC4
|
|
119
|
-
} from "./chunk-
|
|
122
|
+
} from "./chunk-5WZYJC2P.js";
|
|
120
123
|
import {
|
|
121
124
|
parseBlock
|
|
122
|
-
} from "./chunk-
|
|
125
|
+
} from "./chunk-RC6PISCK.js";
|
|
123
126
|
import {
|
|
124
127
|
isBlockNode
|
|
125
128
|
} from "./chunk-XSVWUOUZ.js";
|
|
126
129
|
import {
|
|
127
130
|
parseBody
|
|
128
|
-
} from "./chunk-
|
|
131
|
+
} from "./chunk-FK6HZYGK.js";
|
|
129
132
|
import {
|
|
130
133
|
parseBoxesAndLines
|
|
131
|
-
} from "./chunk-
|
|
134
|
+
} from "./chunk-SNDCXT5R.js";
|
|
132
135
|
import {
|
|
133
136
|
ScaleContext
|
|
134
137
|
} from "./chunk-24YPR5EH.js";
|
|
138
|
+
import {
|
|
139
|
+
injectToggleCue,
|
|
140
|
+
stripFoldAffordance
|
|
141
|
+
} from "./chunk-LRTSTDJ6.js";
|
|
135
142
|
import {
|
|
136
143
|
legendInlineSupported
|
|
137
|
-
} from "./chunk-
|
|
144
|
+
} from "./chunk-REKLKGR6.js";
|
|
138
145
|
import {
|
|
139
146
|
GRID_DASH,
|
|
140
147
|
scaleDash
|
|
141
|
-
} from "./chunk-
|
|
148
|
+
} from "./chunk-WH6E6SHC.js";
|
|
142
149
|
import {
|
|
143
150
|
compactNumber
|
|
144
|
-
} from "./chunk-
|
|
151
|
+
} from "./chunk-VVL2KKG4.js";
|
|
145
152
|
import {
|
|
146
153
|
parseRaci
|
|
147
|
-
} from "./chunk-
|
|
154
|
+
} from "./chunk-6PUBFB6D.js";
|
|
155
|
+
import {
|
|
156
|
+
parseSitemap
|
|
157
|
+
} from "./chunk-KMB754DO.js";
|
|
158
|
+
import {
|
|
159
|
+
parsePert
|
|
160
|
+
} from "./chunk-CUTEHGXO.js";
|
|
148
161
|
import {
|
|
149
162
|
parseLiveLink
|
|
150
|
-
} from "./chunk-
|
|
163
|
+
} from "./chunk-65JFUANT.js";
|
|
151
164
|
import {
|
|
152
165
|
parseSequenceDgmo
|
|
153
|
-
} from "./chunk-
|
|
166
|
+
} from "./chunk-ROH4LYBL.js";
|
|
154
167
|
import {
|
|
155
168
|
parseOrg
|
|
156
|
-
} from "./chunk-
|
|
169
|
+
} from "./chunk-YCIBBVI2.js";
|
|
157
170
|
import {
|
|
158
|
-
|
|
159
|
-
} from "./chunk-
|
|
160
|
-
import {
|
|
161
|
-
parsePert
|
|
162
|
-
} from "./chunk-34JOHSVE.js";
|
|
171
|
+
parseState
|
|
172
|
+
} from "./chunk-WXGFB2O2.js";
|
|
163
173
|
import {
|
|
164
174
|
parseFlowchart
|
|
165
|
-
} from "./chunk-
|
|
175
|
+
} from "./chunk-IAM3IDL4.js";
|
|
166
176
|
import {
|
|
167
|
-
|
|
168
|
-
} from "./chunk-
|
|
177
|
+
parseERDiagram
|
|
178
|
+
} from "./chunk-PSNRB75I.js";
|
|
169
179
|
import {
|
|
170
180
|
choosePalette,
|
|
171
181
|
extractPaletteDirective
|
|
172
182
|
} from "./chunk-CYTFO2LF.js";
|
|
173
|
-
import {
|
|
174
|
-
parseERDiagram
|
|
175
|
-
} from "./chunk-MAYTYF5S.js";
|
|
176
183
|
import {
|
|
177
184
|
parseClassDiagram
|
|
178
|
-
} from "./chunk-
|
|
185
|
+
} from "./chunk-H7DZYHQF.js";
|
|
179
186
|
import {
|
|
180
187
|
getPalette
|
|
181
188
|
} from "./chunk-FMAVHTYB.js";
|
|
@@ -184,15 +191,15 @@ import {
|
|
|
184
191
|
} from "./chunk-ICLB27PZ.js";
|
|
185
192
|
import {
|
|
186
193
|
parseWireframe
|
|
187
|
-
} from "./chunk-
|
|
194
|
+
} from "./chunk-VVZDBUHA.js";
|
|
188
195
|
import {
|
|
189
196
|
resolveActiveTagGroup,
|
|
190
197
|
tagAttrKey
|
|
191
|
-
} from "./chunk-
|
|
198
|
+
} from "./chunk-KW3CC7SB.js";
|
|
192
199
|
import {
|
|
193
200
|
measureText,
|
|
194
201
|
wrapTextToWidth
|
|
195
|
-
} from "./chunk-
|
|
202
|
+
} from "./chunk-PU5X3P3T.js";
|
|
196
203
|
import {
|
|
197
204
|
getSeriesColors,
|
|
198
205
|
mix,
|
|
@@ -1028,8 +1035,18 @@ function renderArcDiagram(container, parsed, palette, isDark, onClickItem, expor
|
|
|
1028
1035
|
if (ctx.isBelowFloor) {
|
|
1029
1036
|
svg.attr("width", "100%");
|
|
1030
1037
|
}
|
|
1038
|
+
const g = svg.append("g");
|
|
1039
|
+
const titleExtra = renderChartTitle(
|
|
1040
|
+
svg,
|
|
1041
|
+
title,
|
|
1042
|
+
parsed.titleLineNumber,
|
|
1043
|
+
width,
|
|
1044
|
+
textColor,
|
|
1045
|
+
onClickItem,
|
|
1046
|
+
2
|
|
1047
|
+
);
|
|
1031
1048
|
const margin = {
|
|
1032
|
-
top: sMarginTop,
|
|
1049
|
+
top: sMarginTop + titleExtra,
|
|
1033
1050
|
right: sMarginRight,
|
|
1034
1051
|
bottom: sMarginBottom,
|
|
1035
1052
|
left: sMarginLeft
|
|
@@ -1053,15 +1070,7 @@ function renderArcDiagram(container, parsed, palette, isDark, onClickItem, expor
|
|
|
1053
1070
|
const values = links.map((l) => l.value);
|
|
1054
1071
|
const [minVal, maxVal] = d3Array.extent(values);
|
|
1055
1072
|
const strokeScale = d3Scale.scaleLinear().domain([minVal, maxVal]).range([sStrokeMin, sStrokeMax]);
|
|
1056
|
-
|
|
1057
|
-
renderChartTitle(
|
|
1058
|
-
svg,
|
|
1059
|
-
title,
|
|
1060
|
-
parsed.titleLineNumber,
|
|
1061
|
-
width,
|
|
1062
|
-
textColor,
|
|
1063
|
-
onClickItem
|
|
1064
|
-
);
|
|
1073
|
+
g.attr("transform", `translate(${margin.left},${margin.top})`);
|
|
1065
1074
|
const neighbors = /* @__PURE__ */ new Map();
|
|
1066
1075
|
for (const node of nodes) neighbors.set(node, /* @__PURE__ */ new Set());
|
|
1067
1076
|
for (const link of links) {
|
|
@@ -1322,6 +1331,64 @@ function renderArcDiagram(container, parsed, palette, isDark, onClickItem, expor
|
|
|
1322
1331
|
}
|
|
1323
1332
|
}
|
|
1324
1333
|
|
|
1334
|
+
// src/pert/export.ts
|
|
1335
|
+
function collapsedPertGroupIdsFromSource(parsed) {
|
|
1336
|
+
return new Set(parsed.groups.filter((g) => g.collapsed).map((g) => g.id));
|
|
1337
|
+
}
|
|
1338
|
+
function unionCollapsedPertGroups(parsed, runtime) {
|
|
1339
|
+
const set = collapsedPertGroupIdsFromSource(parsed);
|
|
1340
|
+
for (const id of runtime ?? []) set.add(id);
|
|
1341
|
+
return set;
|
|
1342
|
+
}
|
|
1343
|
+
async function exportPert(ctx) {
|
|
1344
|
+
const { content, theme, palette, viewState } = ctx;
|
|
1345
|
+
const { parsePert: parsePert2 } = await import("./parser-YV4RBHG7.js");
|
|
1346
|
+
const { analyzePert } = await import("./analyzer-G7PGOT3V.js");
|
|
1347
|
+
const { relayoutPert } = await import("./layout-GC5XX2RH.js");
|
|
1348
|
+
const { renderPert, measurePertAnalysisBlock } = await import("./renderer-M2467III.js");
|
|
1349
|
+
const effectivePalette = await resolveExportPalette(theme, palette);
|
|
1350
|
+
const pertParsed = parsePert2(content, { palette: effectivePalette });
|
|
1351
|
+
if (pertParsed.error || pertParsed.activities.length === 0) return "";
|
|
1352
|
+
const pertResolved = analyzePert(pertParsed);
|
|
1353
|
+
const collapsedIds = unionCollapsedPertGroups(pertParsed, viewState?.cg);
|
|
1354
|
+
const pertLayout = relayoutPert(pertResolved, {}, collapsedIds);
|
|
1355
|
+
const hasTitle = !!pertParsed.title && !pertParsed.options.noTitle;
|
|
1356
|
+
const hasSubtitle = pertResolved.projectSubtitle !== null;
|
|
1357
|
+
const titleHeight = hasTitle ? 80 : hasSubtitle ? 50 : 0;
|
|
1358
|
+
const PERT_PADDING = 20;
|
|
1359
|
+
const analysisOn = viewState?.an ?? !pertParsed.options.noAnalysis;
|
|
1360
|
+
const fieldLabelsOn = viewState?.fl === true;
|
|
1361
|
+
const exportW = pertLayout.width + PERT_PADDING * 2;
|
|
1362
|
+
const analysisMeasured = measurePertAnalysisBlock(
|
|
1363
|
+
pertResolved,
|
|
1364
|
+
exportW - 2 * PERT_PADDING,
|
|
1365
|
+
{
|
|
1366
|
+
showTornado: analysisOn,
|
|
1367
|
+
showScurve: analysisOn,
|
|
1368
|
+
showFieldLegend: fieldLabelsOn
|
|
1369
|
+
}
|
|
1370
|
+
);
|
|
1371
|
+
const exportH = pertLayout.height + PERT_PADDING * 2 + titleHeight + analysisMeasured.height;
|
|
1372
|
+
const container = createExportContainer(exportW, exportH);
|
|
1373
|
+
renderPert(
|
|
1374
|
+
container,
|
|
1375
|
+
pertResolved,
|
|
1376
|
+
pertLayout,
|
|
1377
|
+
effectivePalette,
|
|
1378
|
+
ctx.isDark,
|
|
1379
|
+
{
|
|
1380
|
+
title: hasTitle ? pertParsed.title : null,
|
|
1381
|
+
subtitle: pertResolved.projectSubtitle,
|
|
1382
|
+
exportDims: { width: exportW, height: exportH },
|
|
1383
|
+
showTornado: analysisOn,
|
|
1384
|
+
showScurve: analysisOn,
|
|
1385
|
+
showFieldLegend: fieldLabelsOn,
|
|
1386
|
+
collapsedGroupIds: [...collapsedIds]
|
|
1387
|
+
}
|
|
1388
|
+
);
|
|
1389
|
+
return finalizeSvgExport(container, theme, effectivePalette);
|
|
1390
|
+
}
|
|
1391
|
+
|
|
1325
1392
|
// src/quadrant/renderer.ts
|
|
1326
1393
|
import * as d3Scale2 from "d3-scale";
|
|
1327
1394
|
import * as d3Selection2 from "d3-selection";
|
|
@@ -1353,10 +1420,19 @@ function renderQuadrant(container, parsed, palette, isDark, onClickItem, exportD
|
|
|
1353
1420
|
palette.colors.yellow,
|
|
1354
1421
|
palette.colors.purple
|
|
1355
1422
|
];
|
|
1423
|
+
const titleExtra = renderChartTitle(
|
|
1424
|
+
svg,
|
|
1425
|
+
title,
|
|
1426
|
+
quadrantTitleLineNumber,
|
|
1427
|
+
width,
|
|
1428
|
+
textColor,
|
|
1429
|
+
onClickItem,
|
|
1430
|
+
2
|
|
1431
|
+
);
|
|
1356
1432
|
const hasXAxis = !!quadrantXAxis;
|
|
1357
1433
|
const hasYAxis = !!quadrantYAxis;
|
|
1358
1434
|
const margin = {
|
|
1359
|
-
top: title ? ctx.aesthetic(60) : ctx.aesthetic(30),
|
|
1435
|
+
top: (title ? ctx.aesthetic(60) : ctx.aesthetic(30)) + titleExtra,
|
|
1360
1436
|
right: ctx.aesthetic(30),
|
|
1361
1437
|
bottom: hasXAxis ? ctx.aesthetic(70) : ctx.aesthetic(40),
|
|
1362
1438
|
left: hasYAxis ? ctx.aesthetic(80) : ctx.aesthetic(40)
|
|
@@ -1365,14 +1441,6 @@ function renderQuadrant(container, parsed, palette, isDark, onClickItem, exportD
|
|
|
1365
1441
|
const chartHeight = height - margin.top - margin.bottom;
|
|
1366
1442
|
const xScale = d3Scale2.scaleLinear().domain([0, 1]).range([0, chartWidth]);
|
|
1367
1443
|
const yScale = d3Scale2.scaleLinear().domain([0, 1]).range([chartHeight, 0]);
|
|
1368
|
-
renderChartTitle(
|
|
1369
|
-
svg,
|
|
1370
|
-
title,
|
|
1371
|
-
quadrantTitleLineNumber,
|
|
1372
|
-
width,
|
|
1373
|
-
textColor,
|
|
1374
|
-
onClickItem
|
|
1375
|
-
);
|
|
1376
1444
|
const chartG = svg.append("g").attr("transform", `translate(${margin.left}, ${margin.top})`);
|
|
1377
1445
|
const bg = themeBaseBg(palette, isDark);
|
|
1378
1446
|
const getQuadrantColor = (label, defaultIdx) => {
|
|
@@ -1719,6 +1787,17 @@ function renderSlopeChart(container, parsed, palette, isDark, onClickItem, expor
|
|
|
1719
1787
|
if (ctx.isBelowFloor) {
|
|
1720
1788
|
svg.attr("width", "100%");
|
|
1721
1789
|
}
|
|
1790
|
+
const g = svg.append("g");
|
|
1791
|
+
const titleExtra = renderChartTitle(
|
|
1792
|
+
svg,
|
|
1793
|
+
title,
|
|
1794
|
+
parsed.titleLineNumber,
|
|
1795
|
+
width,
|
|
1796
|
+
textColor,
|
|
1797
|
+
onClickItem,
|
|
1798
|
+
2
|
|
1799
|
+
);
|
|
1800
|
+
const sPlotTop = sMarginTop + titleExtra;
|
|
1722
1801
|
const maxLabelText = data.reduce((longest, item) => {
|
|
1723
1802
|
const text = `${item.values[item.values.length - 1]} \u2014 ${item.label}`;
|
|
1724
1803
|
return text.length > longest.length ? text : longest;
|
|
@@ -1730,22 +1809,14 @@ function renderSlopeChart(container, parsed, palette, isDark, onClickItem, expor
|
|
|
1730
1809
|
maxRightMargin
|
|
1731
1810
|
);
|
|
1732
1811
|
const innerWidth = width - sMarginLeft - rightMargin;
|
|
1733
|
-
const innerHeight = height -
|
|
1812
|
+
const innerHeight = height - sPlotTop - sMarginBottom;
|
|
1734
1813
|
const allValues2 = data.flatMap((d) => d.values);
|
|
1735
1814
|
const [minVal, maxVal] = d3Array2.extent(allValues2);
|
|
1736
1815
|
const valuePadding = (maxVal - minVal) * 0.1 || 1;
|
|
1737
1816
|
const yScale = d3Scale3.scaleLinear().domain([minVal - valuePadding, maxVal + valuePadding]).range([innerHeight, 0]);
|
|
1738
1817
|
const xScale = d3Scale3.scalePoint().domain(periods).range([0, innerWidth]).padding(0);
|
|
1739
|
-
|
|
1818
|
+
g.attr("transform", `translate(${sMarginLeft},${sPlotTop})`);
|
|
1740
1819
|
const tooltip = createTooltip(container, palette, isDark);
|
|
1741
|
-
renderChartTitle(
|
|
1742
|
-
svg,
|
|
1743
|
-
title,
|
|
1744
|
-
parsed.titleLineNumber,
|
|
1745
|
-
width,
|
|
1746
|
-
textColor,
|
|
1747
|
-
onClickItem
|
|
1748
|
-
);
|
|
1749
1820
|
for (const period of periods) {
|
|
1750
1821
|
const x = xScale(period);
|
|
1751
1822
|
g.append("text").attr("x", x).attr("y", -sPeriodHeaderY).attr("text-anchor", "middle").attr("fill", textColor).attr("font-size", sPeriodFont).attr("font-weight", "bold").text(period);
|
|
@@ -1945,11 +2016,23 @@ function renderVenn(container, parsed, palette, _isDark, onClickItem, exportDims
|
|
|
1945
2016
|
const n = vennSets.length;
|
|
1946
2017
|
const idealWidth = n === 2 ? 500 : 600;
|
|
1947
2018
|
const ctx = exportDims ? ScaleContext.identity() : ScaleContext.from(width, idealWidth);
|
|
1948
|
-
const sTitleHeight = title ? ctx.aesthetic(40) : 0;
|
|
1949
2019
|
svg.attr("preserveAspectRatio", "xMidYMid meet");
|
|
1950
2020
|
if (ctx.isBelowFloor) {
|
|
1951
2021
|
svg.attr("width", "100%");
|
|
1952
2022
|
}
|
|
2023
|
+
svg.append("style").text(
|
|
2024
|
+
"circle:focus, circle:focus-visible { outline-solid: none !important; }"
|
|
2025
|
+
);
|
|
2026
|
+
const titleExtra = renderChartTitle(
|
|
2027
|
+
svg,
|
|
2028
|
+
title,
|
|
2029
|
+
parsed.titleLineNumber,
|
|
2030
|
+
width,
|
|
2031
|
+
textColor,
|
|
2032
|
+
onClickItem,
|
|
2033
|
+
2
|
|
2034
|
+
);
|
|
2035
|
+
const sTitleHeight = title ? ctx.aesthetic(40) + titleExtra : 0;
|
|
1953
2036
|
const BASE_R = 100;
|
|
1954
2037
|
const OVERLAP_DISTANCE = BASE_R * 1.4;
|
|
1955
2038
|
let rawCircles;
|
|
@@ -2077,17 +2160,6 @@ function renderVenn(container, parsed, palette, _isDark, onClickItem, exportDims
|
|
|
2077
2160
|
marginBottom
|
|
2078
2161
|
).map((c) => ({ ...c, y: c.y + sTitleHeight }));
|
|
2079
2162
|
const scaledR = circles[0].r;
|
|
2080
|
-
svg.append("style").text(
|
|
2081
|
-
"circle:focus, circle:focus-visible { outline-solid: none !important; }"
|
|
2082
|
-
);
|
|
2083
|
-
renderChartTitle(
|
|
2084
|
-
svg,
|
|
2085
|
-
title,
|
|
2086
|
-
parsed.titleLineNumber,
|
|
2087
|
-
width,
|
|
2088
|
-
textColor,
|
|
2089
|
-
onClickItem
|
|
2090
|
-
);
|
|
2091
2163
|
const circleEls = [];
|
|
2092
2164
|
const circleGroup = svg.append("g");
|
|
2093
2165
|
circles.forEach((c, i) => {
|
|
@@ -2195,6 +2267,19 @@ function renderVenn(container, parsed, palette, _isDark, onClickItem, exportDims
|
|
|
2195
2267
|
const INTERNAL_PAD = ctx.aesthetic(12);
|
|
2196
2268
|
const labelGroup = svg.append("g");
|
|
2197
2269
|
const setLabelBBoxes = circles.map(() => null);
|
|
2270
|
+
const tripleLeader = n === 3 && vennOverlaps.some((ov) => ov.label && new Set(ov.sets).size === 3) ? regionCentroid(circles, [true, true, true]) : null;
|
|
2271
|
+
const LEADER_CLEARANCE = ctx.structural(6);
|
|
2272
|
+
const TRIPLE_DODGE = Math.PI / 6;
|
|
2273
|
+
const gapToTripleLeader = (x1, y1, x2, y2) => {
|
|
2274
|
+
if (!tripleLeader || Math.min(y1, y2) >= tripleLeader.y) return Infinity;
|
|
2275
|
+
const lo = Math.min(x1, x2);
|
|
2276
|
+
const hi = Math.max(x1, x2);
|
|
2277
|
+
if (tripleLeader.x >= lo && tripleLeader.x <= hi) return 0;
|
|
2278
|
+
return Math.min(
|
|
2279
|
+
Math.abs(lo - tripleLeader.x),
|
|
2280
|
+
Math.abs(hi - tripleLeader.x)
|
|
2281
|
+
);
|
|
2282
|
+
};
|
|
2198
2283
|
circles.forEach((c, i) => {
|
|
2199
2284
|
const text = vennSets[i].name;
|
|
2200
2285
|
const inside = circles.map((_, j) => j === i);
|
|
@@ -2229,6 +2314,37 @@ function renderVenn(container, parsed, palette, _isDark, onClickItem, exportDims
|
|
|
2229
2314
|
dx /= mag;
|
|
2230
2315
|
dy /= mag;
|
|
2231
2316
|
}
|
|
2317
|
+
const stubAt = (ux, uy) => {
|
|
2318
|
+
const near = c.r + edgePad;
|
|
2319
|
+
const far = near + stubLen;
|
|
2320
|
+
return gapToTripleLeader(
|
|
2321
|
+
c.x + ux * near,
|
|
2322
|
+
c.y + uy * near,
|
|
2323
|
+
c.x + ux * far,
|
|
2324
|
+
c.y + uy * far
|
|
2325
|
+
);
|
|
2326
|
+
};
|
|
2327
|
+
if (stubAt(dx, dy) < LEADER_CLEARANCE) {
|
|
2328
|
+
let best = null;
|
|
2329
|
+
for (const turn of [TRIPLE_DODGE, -TRIPLE_DODGE]) {
|
|
2330
|
+
const cos = Math.cos(turn);
|
|
2331
|
+
const sin = Math.sin(turn);
|
|
2332
|
+
const ux = dx * cos - dy * sin;
|
|
2333
|
+
const uy = dx * sin + dy * cos;
|
|
2334
|
+
const exit = { x: c.x + ux * c.r, y: c.y + uy * c.r };
|
|
2335
|
+
const blocked = circles.some(
|
|
2336
|
+
(o, j) => j !== i && pointInCircle(exit, o)
|
|
2337
|
+
);
|
|
2338
|
+
if (blocked) continue;
|
|
2339
|
+
const gap = stubAt(ux, uy);
|
|
2340
|
+
if (!best || gap > best.gap || gap === best.gap && ux > best.x)
|
|
2341
|
+
best = { x: ux, y: uy, gap };
|
|
2342
|
+
}
|
|
2343
|
+
if (best && best.gap >= LEADER_CLEARANCE) {
|
|
2344
|
+
dx = best.x;
|
|
2345
|
+
dy = best.y;
|
|
2346
|
+
}
|
|
2347
|
+
}
|
|
2232
2348
|
const exitX = c.x + dx * c.r;
|
|
2233
2349
|
const exitY = c.y + dy * c.r;
|
|
2234
2350
|
const edgeX = exitX + dx * edgePad;
|
|
@@ -2626,8 +2742,6 @@ function renderWordCloud(container, parsed, palette, _isDark, onClickItem, expor
|
|
|
2626
2742
|
const { svg, width, height, textColor, colors } = init;
|
|
2627
2743
|
const idealWidth = Math.max(400, words.length * 30);
|
|
2628
2744
|
const ctx = exportDims ? ScaleContext.identity() : ScaleContext.from(width, idealWidth);
|
|
2629
|
-
const sTitleHeight = title ? ctx.aesthetic(40) : 0;
|
|
2630
|
-
const cloudHeight = height - sTitleHeight;
|
|
2631
2745
|
const sPadding = ctx.structural(2);
|
|
2632
2746
|
svg.attr("preserveAspectRatio", "xMidYMid meet");
|
|
2633
2747
|
if (ctx.isBelowFloor) {
|
|
@@ -2645,14 +2759,17 @@ function renderWordCloud(container, parsed, palette, _isDark, onClickItem, expor
|
|
|
2645
2759
|
return sMinSize + Math.sqrt(t) * (sMaxSize - sMinSize);
|
|
2646
2760
|
};
|
|
2647
2761
|
const rotateFn = getRotateFn(cloudOptions.rotate);
|
|
2648
|
-
renderChartTitle(
|
|
2762
|
+
const titleExtra = renderChartTitle(
|
|
2649
2763
|
svg,
|
|
2650
2764
|
title,
|
|
2651
2765
|
parsed.titleLineNumber,
|
|
2652
2766
|
width,
|
|
2653
2767
|
textColor,
|
|
2654
|
-
onClickItem
|
|
2768
|
+
onClickItem,
|
|
2769
|
+
2
|
|
2655
2770
|
);
|
|
2771
|
+
const sTitleHeight = title ? ctx.aesthetic(40) + titleExtra : 0;
|
|
2772
|
+
const cloudHeight = height - sTitleHeight;
|
|
2656
2773
|
const g = svg.append("g").attr(
|
|
2657
2774
|
"transform",
|
|
2658
2775
|
`translate(${width / 2},${sTitleHeight + cloudHeight / 2})`
|
|
@@ -2691,8 +2808,6 @@ function renderWordCloudAsync(container, parsed, palette, _isDark, exportDims) {
|
|
|
2691
2808
|
resolve();
|
|
2692
2809
|
return;
|
|
2693
2810
|
}
|
|
2694
|
-
const titleHeight = title ? 40 : 0;
|
|
2695
|
-
const cloudHeight = height - titleHeight;
|
|
2696
2811
|
const textColor = palette.text;
|
|
2697
2812
|
const bgColor = palette.bg;
|
|
2698
2813
|
const colors = getSeriesColors(palette);
|
|
@@ -2707,7 +2822,17 @@ function renderWordCloudAsync(container, parsed, palette, _isDark, exportDims) {
|
|
|
2707
2822
|
};
|
|
2708
2823
|
const rotateFn = getRotateFn(cloudOptions.rotate);
|
|
2709
2824
|
const svg = d3Selection3.select(container).append("svg").attr("width", width).attr("height", height).attr("viewBox", `0 0 ${width} ${height}`).attr("preserveAspectRatio", "xMidYMid meet").style("background", bgColor);
|
|
2710
|
-
|
|
2825
|
+
const titleExtra = renderChartTitle(
|
|
2826
|
+
svg,
|
|
2827
|
+
title,
|
|
2828
|
+
parsed.titleLineNumber,
|
|
2829
|
+
width,
|
|
2830
|
+
textColor,
|
|
2831
|
+
void 0,
|
|
2832
|
+
2
|
|
2833
|
+
);
|
|
2834
|
+
const titleHeight = title ? 40 + titleExtra : 0;
|
|
2835
|
+
const cloudHeight = height - titleHeight;
|
|
2711
2836
|
const g = svg.append("g").attr(
|
|
2712
2837
|
"transform",
|
|
2713
2838
|
`translate(${width / 2},${titleHeight + cloudHeight / 2})`
|
|
@@ -2767,8 +2892,8 @@ async function exportArc(ctx) {
|
|
|
2767
2892
|
// src/block/export.ts
|
|
2768
2893
|
async function exportBlock(ctx) {
|
|
2769
2894
|
const { content, theme, palette } = ctx;
|
|
2770
|
-
const { parseBlock: parseBlock2 } = await import("./parser-
|
|
2771
|
-
const { renderBlockForExport } = await import("./renderer-
|
|
2895
|
+
const { parseBlock: parseBlock2 } = await import("./parser-JRKPOO2Z.js");
|
|
2896
|
+
const { renderBlockForExport } = await import("./renderer-HIB6LZWZ.js");
|
|
2772
2897
|
const effectivePalette = await resolveExportPalette(theme, palette);
|
|
2773
2898
|
const blockParsed = parseBlock2(content, effectivePalette);
|
|
2774
2899
|
if (blockParsed.error || blockParsed.top.rows.length === 0) return "";
|
|
@@ -2783,8 +2908,8 @@ async function exportBlock(ctx) {
|
|
|
2783
2908
|
// src/body/export.ts
|
|
2784
2909
|
async function exportBody(ctx) {
|
|
2785
2910
|
const { content, theme, palette } = ctx;
|
|
2786
|
-
const { parseBody: parseBody2 } = await import("./parser-
|
|
2787
|
-
const { renderBodyForExport } = await import("./renderer-
|
|
2911
|
+
const { parseBody: parseBody2 } = await import("./parser-QEMFMVF5.js");
|
|
2912
|
+
const { renderBodyForExport } = await import("./renderer-A36NL2SS.js");
|
|
2788
2913
|
const effectivePalette = await resolveExportPalette(theme, palette);
|
|
2789
2914
|
const parsed = parseBody2(content, effectivePalette);
|
|
2790
2915
|
if (parsed.error) return "";
|
|
@@ -2803,7 +2928,7 @@ async function exportBody(ctx) {
|
|
|
2803
2928
|
// src/boxes-and-lines/export.ts
|
|
2804
2929
|
async function exportBoxesAndLines(ctx) {
|
|
2805
2930
|
const { content, theme, palette, viewState, exportMode } = ctx;
|
|
2806
|
-
const { parseBoxesAndLines: parseBoxesAndLines2 } = await import("./parser-
|
|
2931
|
+
const { parseBoxesAndLines: parseBoxesAndLines2 } = await import("./parser-IZYIXDJX.js");
|
|
2807
2932
|
const effectivePalette = await resolveExportPalette(theme, palette);
|
|
2808
2933
|
const blParsed = parseBoxesAndLines2(content, effectivePalette);
|
|
2809
2934
|
if (blParsed.error || blParsed.nodes.length === 0) return "";
|
|
@@ -2814,9 +2939,17 @@ async function exportBoxesAndLines(ctx) {
|
|
|
2814
2939
|
blHiddenTagValues.set(k, new Set(v));
|
|
2815
2940
|
}
|
|
2816
2941
|
}
|
|
2817
|
-
const { renderBoxesAndLinesForExport } = await import("./renderer-
|
|
2818
|
-
const { layoutBoxesAndLines } = await import("./layout-
|
|
2819
|
-
const
|
|
2942
|
+
const { renderBoxesAndLinesForExport } = await import("./renderer-XMJ6XZGL.js");
|
|
2943
|
+
const { layoutBoxesAndLines } = await import("./layout-6VY3DHYD.js");
|
|
2944
|
+
const { collapseBoxesAndLines, unionCollapsedBLGroups } = await import("./collapse-HNTPLB2Q.js");
|
|
2945
|
+
const cr = collapseBoxesAndLines(
|
|
2946
|
+
blParsed,
|
|
2947
|
+
unionCollapsedBLGroups(blParsed, viewState?.cg)
|
|
2948
|
+
);
|
|
2949
|
+
const blLayout = await layoutBoxesAndLines(cr.parsed, {
|
|
2950
|
+
collapsedChildCounts: cr.collapsedChildCounts,
|
|
2951
|
+
originalGroups: cr.originalGroups
|
|
2952
|
+
});
|
|
2820
2953
|
const PADDING = 20;
|
|
2821
2954
|
const titleOffset = blParsed.title ? 40 : 0;
|
|
2822
2955
|
const exportWidth = blLayout.width + PADDING * 2;
|
|
@@ -2825,7 +2958,7 @@ async function exportBoxesAndLines(ctx) {
|
|
|
2825
2958
|
const blActiveTagGroup = ctxTagOverride(ctx);
|
|
2826
2959
|
renderBoxesAndLinesForExport(
|
|
2827
2960
|
container,
|
|
2828
|
-
|
|
2961
|
+
cr.parsed,
|
|
2829
2962
|
blLayout,
|
|
2830
2963
|
effectivePalette,
|
|
2831
2964
|
ctx.isDark,
|
|
@@ -2846,8 +2979,8 @@ async function exportBoxesAndLines(ctx) {
|
|
|
2846
2979
|
// src/bracket/export.ts
|
|
2847
2980
|
async function exportBracket(ctx) {
|
|
2848
2981
|
const { content, theme, palette } = ctx;
|
|
2849
|
-
const { parseBracket: parseBracket2 } = await import("./parser-
|
|
2850
|
-
const { renderBracketForExport, bracketExportDimensions } = await import("./renderer-
|
|
2982
|
+
const { parseBracket: parseBracket2 } = await import("./parser-GMCXCJSP.js");
|
|
2983
|
+
const { renderBracketForExport, bracketExportDimensions } = await import("./renderer-KOPJ76GS.js");
|
|
2851
2984
|
const effectivePalette = await resolveExportPalette(theme, palette);
|
|
2852
2985
|
const parsed = parseBracket2(content, effectivePalette);
|
|
2853
2986
|
if (parsed.error) return "";
|
|
@@ -2863,14 +2996,14 @@ async function exportBracket(ctx) {
|
|
|
2863
2996
|
// src/c4/export.ts
|
|
2864
2997
|
async function exportC4(ctx) {
|
|
2865
2998
|
const { content, theme, palette, viewState, exportMode } = ctx;
|
|
2866
|
-
const { parseC4: parseC42 } = await import("./parser-
|
|
2999
|
+
const { parseC4: parseC42 } = await import("./parser-WKEYS7N3.js");
|
|
2867
3000
|
const {
|
|
2868
3001
|
layoutC4Context,
|
|
2869
3002
|
layoutC4Containers,
|
|
2870
3003
|
layoutC4Components,
|
|
2871
3004
|
layoutC4Deployment
|
|
2872
|
-
} = await import("./layout-
|
|
2873
|
-
const { renderC4Context, renderC4Containers } = await import("./renderer-
|
|
3005
|
+
} = await import("./layout-R6ULGQJK.js");
|
|
3006
|
+
const { renderC4Context, renderC4Containers } = await import("./renderer-UIHCYXBY.js");
|
|
2874
3007
|
const effectivePalette = await resolveExportPalette(theme, palette);
|
|
2875
3008
|
const c4Parsed = parseC42(content, effectivePalette);
|
|
2876
3009
|
if (c4Parsed.error || c4Parsed.elements.length === 0) return "";
|
|
@@ -2906,9 +3039,9 @@ async function exportC4(ctx) {
|
|
|
2906
3039
|
// src/class/export.ts
|
|
2907
3040
|
async function exportClass(ctx) {
|
|
2908
3041
|
const { content, theme, palette, exportMode } = ctx;
|
|
2909
|
-
const { parseClassDiagram: parseClassDiagram2 } = await import("./parser-
|
|
2910
|
-
const { layoutClassDiagram } = await import("./layout-
|
|
2911
|
-
const { renderClassDiagram } = await import("./renderer-
|
|
3042
|
+
const { parseClassDiagram: parseClassDiagram2 } = await import("./parser-RSWZGQA7.js");
|
|
3043
|
+
const { layoutClassDiagram } = await import("./layout-7C2QZCEZ.js");
|
|
3044
|
+
const { renderClassDiagram } = await import("./renderer-4PKYVOYL.js");
|
|
2912
3045
|
const effectivePalette = await resolveExportPalette(theme, palette);
|
|
2913
3046
|
const classParsed = parseClassDiagram2(content, effectivePalette);
|
|
2914
3047
|
if (classParsed.error || classParsed.classes.length === 0) return "";
|
|
@@ -2935,7 +3068,7 @@ async function exportClass(ctx) {
|
|
|
2935
3068
|
// src/clock/export.ts
|
|
2936
3069
|
async function exportClock(ctx) {
|
|
2937
3070
|
const { content, theme, palette } = ctx;
|
|
2938
|
-
const { parseClock: parseClock2 } = await import("./parser-
|
|
3071
|
+
const { parseClock: parseClock2 } = await import("./parser-SGX2PVR5.js");
|
|
2939
3072
|
const { renderClockForExport } = await import("./renderer-DDWDCM2K.js");
|
|
2940
3073
|
const effectivePalette = await resolveExportPalette(theme, palette);
|
|
2941
3074
|
const parsed = parseClock2(content, effectivePalette);
|
|
@@ -2951,7 +3084,7 @@ async function exportClock(ctx) {
|
|
|
2951
3084
|
// src/countdown/export.ts
|
|
2952
3085
|
async function exportCountdown(ctx) {
|
|
2953
3086
|
const { content, theme, palette } = ctx;
|
|
2954
|
-
const { parseCountdown: parseCountdown2 } = await import("./parser-
|
|
3087
|
+
const { parseCountdown: parseCountdown2 } = await import("./parser-5KVFS4RN.js");
|
|
2955
3088
|
const { renderCountdownForExport } = await import("./renderer-3NLDX7DQ.js");
|
|
2956
3089
|
const effectivePalette = await resolveExportPalette(theme, palette);
|
|
2957
3090
|
const parsed = parseCountdown2(content, effectivePalette);
|
|
@@ -2967,8 +3100,8 @@ async function exportCountdown(ctx) {
|
|
|
2967
3100
|
// src/cycle/export.ts
|
|
2968
3101
|
async function exportCycle(ctx) {
|
|
2969
3102
|
const { content, theme, palette, viewState, exportMode } = ctx;
|
|
2970
|
-
const { parseCycle: parseCycle2 } = await import("./parser-
|
|
2971
|
-
const { renderCycleForExport } = await import("./renderer-
|
|
3103
|
+
const { parseCycle: parseCycle2 } = await import("./parser-P375HO7Q.js");
|
|
3104
|
+
const { renderCycleForExport } = await import("./renderer-FAFSRFGR.js");
|
|
2972
3105
|
const effectivePalette = await resolveExportPalette(theme, palette);
|
|
2973
3106
|
const cycleParsed = parseCycle2(content);
|
|
2974
3107
|
if (cycleParsed.error || cycleParsed.nodes.length === 0) return "";
|
|
@@ -2988,9 +3121,9 @@ async function exportCycle(ctx) {
|
|
|
2988
3121
|
// src/er/export.ts
|
|
2989
3122
|
async function exportEr(ctx) {
|
|
2990
3123
|
const { content, theme, palette, viewState, exportMode } = ctx;
|
|
2991
|
-
const { parseERDiagram: parseERDiagram2 } = await import("./parser-
|
|
2992
|
-
const { layoutERDiagram } = await import("./layout-
|
|
2993
|
-
const { renderERDiagram } = await import("./renderer-
|
|
3124
|
+
const { parseERDiagram: parseERDiagram2 } = await import("./parser-IU6425JW.js");
|
|
3125
|
+
const { layoutERDiagram } = await import("./layout-G3RVKEC4.js");
|
|
3126
|
+
const { renderERDiagram } = await import("./renderer-COV2DXTM.js");
|
|
2994
3127
|
const effectivePalette = await resolveExportPalette(theme, palette);
|
|
2995
3128
|
const erParsed = parseERDiagram2(content, effectivePalette);
|
|
2996
3129
|
if (erParsed.error || erParsed.tables.length === 0) return "";
|
|
@@ -3024,8 +3157,8 @@ async function exportEr(ctx) {
|
|
|
3024
3157
|
// src/event-line/export.ts
|
|
3025
3158
|
async function exportEventLine(ctx) {
|
|
3026
3159
|
const { content, theme, palette } = ctx;
|
|
3027
|
-
const { parseEventLine: parseEventLine2 } = await import("./parser-
|
|
3028
|
-
const { renderEventLineForExport } = await import("./renderer-
|
|
3160
|
+
const { parseEventLine: parseEventLine2 } = await import("./parser-MAGFK6OK.js");
|
|
3161
|
+
const { renderEventLineForExport } = await import("./renderer-CNDB4JTZ.js");
|
|
3029
3162
|
const effectivePalette = await resolveExportPalette(theme, palette);
|
|
3030
3163
|
const parsed = parseEventLine2(content, effectivePalette);
|
|
3031
3164
|
if (parsed.error || parsed.events.length === 0) return "";
|
|
@@ -3045,9 +3178,9 @@ async function exportEventLine(ctx) {
|
|
|
3045
3178
|
// src/family/export.ts
|
|
3046
3179
|
async function exportFamily(ctx) {
|
|
3047
3180
|
const { content, theme, palette } = ctx;
|
|
3048
|
-
const { parseFamily: parseFamily2 } = await import("./parser-
|
|
3049
|
-
const { layoutFamily } = await import("./layout-
|
|
3050
|
-
const { renderFamilyForExport } = await import("./renderer-
|
|
3181
|
+
const { parseFamily: parseFamily2 } = await import("./parser-MUHFEM4G.js");
|
|
3182
|
+
const { layoutFamily } = await import("./layout-SPPS225I.js");
|
|
3183
|
+
const { renderFamilyForExport } = await import("./renderer-6O5SV5YE.js");
|
|
3051
3184
|
const effectivePalette = await resolveExportPalette(theme, palette);
|
|
3052
3185
|
const parsed = parseFamily2(content, effectivePalette);
|
|
3053
3186
|
if (parsed.error || parsed.persons.size === 0) return "";
|
|
@@ -3079,9 +3212,9 @@ async function exportFamily(ctx) {
|
|
|
3079
3212
|
// src/gantt/export.ts
|
|
3080
3213
|
async function exportGantt(ctx) {
|
|
3081
3214
|
const { content, theme, palette, viewState, exportMode } = ctx;
|
|
3082
|
-
const { parseGantt: parseGantt2 } = await import("./parser-
|
|
3083
|
-
const { calculateSchedule } = await import("./calculator-
|
|
3084
|
-
const { renderGantt } = await import("./renderer-
|
|
3215
|
+
const { parseGantt: parseGantt2 } = await import("./parser-DRFEX6OX.js");
|
|
3216
|
+
const { calculateSchedule } = await import("./calculator-CIGGTURF.js");
|
|
3217
|
+
const { renderGantt } = await import("./renderer-E5E3OJ42.js");
|
|
3085
3218
|
const effectivePalette = await resolveExportPalette(theme, palette);
|
|
3086
3219
|
const ganttParsed = parseGantt2(content, effectivePalette);
|
|
3087
3220
|
const resolved = calculateSchedule(ganttParsed);
|
|
@@ -3124,8 +3257,8 @@ async function exportGantt(ctx) {
|
|
|
3124
3257
|
// src/goal/export.ts
|
|
3125
3258
|
async function exportGoal(ctx) {
|
|
3126
3259
|
const { content, theme, palette } = ctx;
|
|
3127
|
-
const { parseGoal: parseGoal2 } = await import("./parser-
|
|
3128
|
-
const { renderGoalForExport } = await import("./renderer-
|
|
3260
|
+
const { parseGoal: parseGoal2 } = await import("./parser-UMNBPXG2.js");
|
|
3261
|
+
const { renderGoalForExport } = await import("./renderer-MYKL6VG6.js");
|
|
3129
3262
|
const effectivePalette = await resolveExportPalette(theme, palette);
|
|
3130
3263
|
const parsed = parseGoal2(content, effectivePalette);
|
|
3131
3264
|
if (parsed.error) return "";
|
|
@@ -3140,9 +3273,9 @@ async function exportGoal(ctx) {
|
|
|
3140
3273
|
// src/graph/export.ts
|
|
3141
3274
|
async function exportFlowchart(ctx) {
|
|
3142
3275
|
const { content, theme, palette } = ctx;
|
|
3143
|
-
const { parseFlowchart: parseFlowchart2 } = await import("./flowchart-parser-
|
|
3144
|
-
const { layoutGraph } = await import("./layout-
|
|
3145
|
-
const { renderFlowchart } = await import("./flowchart-renderer-
|
|
3276
|
+
const { parseFlowchart: parseFlowchart2 } = await import("./flowchart-parser-UI5VZNGJ.js");
|
|
3277
|
+
const { layoutGraph } = await import("./layout-WBH5IHYK.js");
|
|
3278
|
+
const { renderFlowchart } = await import("./flowchart-renderer-IYWPKPCF.js");
|
|
3146
3279
|
const effectivePalette = await resolveExportPalette(theme, palette);
|
|
3147
3280
|
const fcParsed = parseFlowchart2(content, effectivePalette);
|
|
3148
3281
|
if (fcParsed.error || fcParsed.nodes.length === 0) return "";
|
|
@@ -3161,9 +3294,9 @@ async function exportFlowchart(ctx) {
|
|
|
3161
3294
|
}
|
|
3162
3295
|
async function exportState(ctx) {
|
|
3163
3296
|
const { content, theme, palette, viewState } = ctx;
|
|
3164
|
-
const { parseState: parseState2 } = await import("./state-parser-
|
|
3165
|
-
const { layoutGraph } = await import("./layout-
|
|
3166
|
-
const { renderState } = await import("./state-renderer-
|
|
3297
|
+
const { parseState: parseState2 } = await import("./state-parser-2PQRH5JE.js");
|
|
3298
|
+
const { layoutGraph } = await import("./layout-WBH5IHYK.js");
|
|
3299
|
+
const { renderState } = await import("./state-renderer-YP6HWLJR.js");
|
|
3167
3300
|
const { collapseStateGroups } = await import("./state-collapse-SE2G4K4I.js");
|
|
3168
3301
|
const effectivePalette = await resolveExportPalette(theme, palette);
|
|
3169
3302
|
const stateParsed = parseState2(content, effectivePalette);
|
|
@@ -3202,10 +3335,10 @@ async function exportState(ctx) {
|
|
|
3202
3335
|
// src/infra/export.ts
|
|
3203
3336
|
async function exportInfra(ctx) {
|
|
3204
3337
|
const { content, theme, palette, viewState } = ctx;
|
|
3205
|
-
const { parseInfra: parseInfra2 } = await import("./parser-
|
|
3338
|
+
const { parseInfra: parseInfra2 } = await import("./parser-WE4VSBBY.js");
|
|
3206
3339
|
const { computeInfra } = await import("./compute-II4G44IK.js");
|
|
3207
|
-
const { layoutInfra } = await import("./layout-
|
|
3208
|
-
const { renderInfra, computeInfraLegendGroups } = await import("./renderer-
|
|
3340
|
+
const { layoutInfra } = await import("./layout-7E7BNOGO.js");
|
|
3341
|
+
const { renderInfra, computeInfraLegendGroups } = await import("./renderer-JLOKFKOZ.js");
|
|
3209
3342
|
const effectivePalette = await resolveExportPalette(theme, palette);
|
|
3210
3343
|
const infraParsed = parseInfra2(content);
|
|
3211
3344
|
if (infraParsed.error || infraParsed.nodes.length === 0) return "";
|
|
@@ -3253,16 +3386,22 @@ async function exportInfra(ctx) {
|
|
|
3253
3386
|
|
|
3254
3387
|
// src/journey-map/export.ts
|
|
3255
3388
|
async function exportJourneyMap(ctx) {
|
|
3256
|
-
const { content, theme, palette, exportMode } = ctx;
|
|
3257
|
-
const { parseJourneyMap: parseJourneyMap2 } = await import("./parser-
|
|
3258
|
-
const { renderJourneyMap } = await import("./renderer-
|
|
3259
|
-
const { layoutJourneyMap } = await import("./layout-
|
|
3389
|
+
const { content, theme, palette, exportMode, viewState } = ctx;
|
|
3390
|
+
const { parseJourneyMap: parseJourneyMap2 } = await import("./parser-IHFHPFL7.js");
|
|
3391
|
+
const { renderJourneyMap } = await import("./renderer-66SCERH7.js");
|
|
3392
|
+
const { layoutJourneyMap } = await import("./layout-ROI5KVSO.js");
|
|
3393
|
+
const { collapsedJourneyPhasesFromSource } = await import("./collapse-GOWNCVHZ.js");
|
|
3260
3394
|
const effectivePalette = await resolveExportPalette(theme, palette);
|
|
3261
3395
|
const jmParsed = parseJourneyMap2(content, effectivePalette);
|
|
3262
3396
|
if (jmParsed.error || jmParsed.phases.length === 0 && jmParsed.steps.length === 0)
|
|
3263
3397
|
return "";
|
|
3398
|
+
const collapsedPhases = collapsedJourneyPhasesFromSource(
|
|
3399
|
+
jmParsed,
|
|
3400
|
+
viewState?.cg
|
|
3401
|
+
);
|
|
3264
3402
|
const jmLayout = layoutJourneyMap(jmParsed, effectivePalette, {
|
|
3265
|
-
isDark: ctx.isDark
|
|
3403
|
+
isDark: ctx.isDark,
|
|
3404
|
+
collapsedPhases
|
|
3266
3405
|
});
|
|
3267
3406
|
const container = createExportContainer(
|
|
3268
3407
|
jmLayout.totalWidth,
|
|
@@ -3270,7 +3409,8 @@ async function exportJourneyMap(ctx) {
|
|
|
3270
3409
|
);
|
|
3271
3410
|
renderJourneyMap(container, jmParsed, effectivePalette, ctx.isDark, {
|
|
3272
3411
|
exportDims: { width: jmLayout.totalWidth, height: jmLayout.totalHeight },
|
|
3273
|
-
exportMode
|
|
3412
|
+
exportMode,
|
|
3413
|
+
collapsedPhases
|
|
3274
3414
|
});
|
|
3275
3415
|
return finalizeSvgExport(container, theme, effectivePalette);
|
|
3276
3416
|
}
|
|
@@ -3278,8 +3418,8 @@ async function exportJourneyMap(ctx) {
|
|
|
3278
3418
|
// src/kanban/export.ts
|
|
3279
3419
|
async function exportKanban(ctx) {
|
|
3280
3420
|
const { content, theme, palette, viewState, exportMode } = ctx;
|
|
3281
|
-
const { parseKanban: parseKanban2 } = await import("./parser-
|
|
3282
|
-
const { renderKanban } = await import("./renderer-
|
|
3421
|
+
const { parseKanban: parseKanban2 } = await import("./parser-WPXUUNA2.js");
|
|
3422
|
+
const { renderKanban } = await import("./renderer-ITJ67HXO.js");
|
|
3283
3423
|
const effectivePalette = await resolveExportPalette(theme, palette);
|
|
3284
3424
|
const kanbanParsed = parseKanban2(content, effectivePalette);
|
|
3285
3425
|
if (kanbanParsed.error || kanbanParsed.columns.length === 0) return "";
|
|
@@ -3312,8 +3452,8 @@ async function exportKanban(ctx) {
|
|
|
3312
3452
|
// src/live-link/export.ts
|
|
3313
3453
|
async function exportLiveLink(ctx) {
|
|
3314
3454
|
const { content, theme, palette } = ctx;
|
|
3315
|
-
const { parseLiveLink: parseLiveLink2 } = await import("./parser-
|
|
3316
|
-
const { renderLiveLinkCard } = await import("./renderer-
|
|
3455
|
+
const { parseLiveLink: parseLiveLink2 } = await import("./parser-PYY5BRLQ.js");
|
|
3456
|
+
const { renderLiveLinkCard } = await import("./renderer-6IAXRZLK.js");
|
|
3317
3457
|
const effectivePalette = await resolveExportPalette(theme, palette);
|
|
3318
3458
|
return renderLiveLinkCard(parseLiveLink2(content), effectivePalette, theme);
|
|
3319
3459
|
}
|
|
@@ -3330,10 +3470,10 @@ async function resolveMapDataSource(source) {
|
|
|
3330
3470
|
}
|
|
3331
3471
|
async function exportMap(ctx) {
|
|
3332
3472
|
const { content, theme, palette, options } = ctx;
|
|
3333
|
-
const { parseMap: parseMap2 } = await import("./parser-
|
|
3473
|
+
const { parseMap: parseMap2 } = await import("./parser-CFAYEWLF.js");
|
|
3334
3474
|
const { resolveMap } = await import("./resolver-33K6MBCT.js");
|
|
3335
|
-
const { renderMapForExport } = await import("./renderer-
|
|
3336
|
-
const { mapExportDimensions } = await import("./dimensions-
|
|
3475
|
+
const { renderMapForExport } = await import("./renderer-S6L3JR6C.js");
|
|
3476
|
+
const { mapExportDimensions } = await import("./dimensions-KXAI7U2B.js");
|
|
3337
3477
|
const effectivePalette = await resolveExportPalette(theme, palette);
|
|
3338
3478
|
const mapParsed = parseMap2(content, effectivePalette);
|
|
3339
3479
|
const { data: mapData, reason } = await resolveMapDataSource(
|
|
@@ -3368,10 +3508,10 @@ async function exportMap(ctx) {
|
|
|
3368
3508
|
// src/mindmap/export.ts
|
|
3369
3509
|
async function exportMindmap(ctx) {
|
|
3370
3510
|
const { content, theme, palette, viewState, exportMode } = ctx;
|
|
3371
|
-
const { parseMindmap: parseMindmap2 } = await import("./parser-
|
|
3372
|
-
const { layoutMindmap } = await import("./layout-
|
|
3511
|
+
const { parseMindmap: parseMindmap2 } = await import("./parser-SJUEFKNM.js");
|
|
3512
|
+
const { layoutMindmap } = await import("./layout-FJDBY3WG.js");
|
|
3373
3513
|
const { collapseMindmapTree } = await import("./collapse-6X5S2S3G.js");
|
|
3374
|
-
const { renderMindmap } = await import("./renderer-
|
|
3514
|
+
const { renderMindmap } = await import("./renderer-TCTZZ5Y6.js");
|
|
3375
3515
|
const isDark = ctx.isDark;
|
|
3376
3516
|
const effectivePalette = await resolveExportPalette(theme, palette);
|
|
3377
3517
|
const mmParsed = parseMindmap2(content, effectivePalette);
|
|
@@ -3423,10 +3563,10 @@ async function exportMindmap(ctx) {
|
|
|
3423
3563
|
// src/org/export.ts
|
|
3424
3564
|
async function exportOrg(ctx) {
|
|
3425
3565
|
const { content, theme, palette, viewState, exportMode } = ctx;
|
|
3426
|
-
const { parseOrg: parseOrg2, findOrgNodeIdByName } = await import("./parser-
|
|
3427
|
-
const { layoutOrg } = await import("./layout-
|
|
3566
|
+
const { parseOrg: parseOrg2, findOrgNodeIdByName } = await import("./parser-E4B7HJT2.js");
|
|
3567
|
+
const { layoutOrg } = await import("./layout-WTHBGTH2.js");
|
|
3428
3568
|
const { collapseOrgTree, focusOrgTree, unionCollapsedOrgNodes } = await import("./collapse-VNYYXMUI.js");
|
|
3429
|
-
const { renderOrg, ancestorTrailReserve } = await import("./renderer-
|
|
3569
|
+
const { renderOrg, ancestorTrailReserve } = await import("./renderer-DXCATVLO.js");
|
|
3430
3570
|
const isDark = ctx.isDark;
|
|
3431
3571
|
const effectivePalette = await resolveExportPalette(theme, palette);
|
|
3432
3572
|
const orgParsed = parseOrg2(content, effectivePalette);
|
|
@@ -3486,59 +3626,11 @@ async function exportOrg(ctx) {
|
|
|
3486
3626
|
return finalizeSvgExport(container, theme, effectivePalette);
|
|
3487
3627
|
}
|
|
3488
3628
|
|
|
3489
|
-
// src/pert/export.ts
|
|
3490
|
-
async function exportPert(ctx) {
|
|
3491
|
-
const { content, theme, palette, viewState } = ctx;
|
|
3492
|
-
const { parsePert: parsePert2 } = await import("./parser-F3JJNIFC.js");
|
|
3493
|
-
const { analyzePert } = await import("./analyzer-G7PGOT3V.js");
|
|
3494
|
-
const { layoutPert } = await import("./layout-H2KP5A6M.js");
|
|
3495
|
-
const { renderPert, measurePertAnalysisBlock } = await import("./renderer-N6PM5CSG.js");
|
|
3496
|
-
const effectivePalette = await resolveExportPalette(theme, palette);
|
|
3497
|
-
const pertParsed = parsePert2(content, { palette: effectivePalette });
|
|
3498
|
-
if (pertParsed.error || pertParsed.activities.length === 0) return "";
|
|
3499
|
-
const pertResolved = analyzePert(pertParsed);
|
|
3500
|
-
const pertLayout = layoutPert(pertResolved);
|
|
3501
|
-
const hasTitle = !!pertParsed.title && !pertParsed.options.noTitle;
|
|
3502
|
-
const hasSubtitle = pertResolved.projectSubtitle !== null;
|
|
3503
|
-
const titleHeight = hasTitle ? 80 : hasSubtitle ? 50 : 0;
|
|
3504
|
-
const PERT_PADDING = 20;
|
|
3505
|
-
const analysisOn = viewState?.an ?? !pertParsed.options.noAnalysis;
|
|
3506
|
-
const fieldLabelsOn = viewState?.fl === true;
|
|
3507
|
-
const exportW = pertLayout.width + PERT_PADDING * 2;
|
|
3508
|
-
const analysisMeasured = measurePertAnalysisBlock(
|
|
3509
|
-
pertResolved,
|
|
3510
|
-
exportW - 2 * PERT_PADDING,
|
|
3511
|
-
{
|
|
3512
|
-
showTornado: analysisOn,
|
|
3513
|
-
showScurve: analysisOn,
|
|
3514
|
-
showFieldLegend: fieldLabelsOn
|
|
3515
|
-
}
|
|
3516
|
-
);
|
|
3517
|
-
const exportH = pertLayout.height + PERT_PADDING * 2 + titleHeight + analysisMeasured.height;
|
|
3518
|
-
const container = createExportContainer(exportW, exportH);
|
|
3519
|
-
renderPert(
|
|
3520
|
-
container,
|
|
3521
|
-
pertResolved,
|
|
3522
|
-
pertLayout,
|
|
3523
|
-
effectivePalette,
|
|
3524
|
-
ctx.isDark,
|
|
3525
|
-
{
|
|
3526
|
-
title: hasTitle ? pertParsed.title : null,
|
|
3527
|
-
subtitle: pertResolved.projectSubtitle,
|
|
3528
|
-
exportDims: { width: exportW, height: exportH },
|
|
3529
|
-
showTornado: analysisOn,
|
|
3530
|
-
showScurve: analysisOn,
|
|
3531
|
-
showFieldLegend: fieldLabelsOn
|
|
3532
|
-
}
|
|
3533
|
-
);
|
|
3534
|
-
return finalizeSvgExport(container, theme, effectivePalette);
|
|
3535
|
-
}
|
|
3536
|
-
|
|
3537
3629
|
// src/pyramid/export.ts
|
|
3538
3630
|
async function exportPyramid(ctx) {
|
|
3539
3631
|
const { content, theme, palette } = ctx;
|
|
3540
|
-
const { parsePyramid: parsePyramid2 } = await import("./parser-
|
|
3541
|
-
const { renderPyramidForExport } = await import("./renderer-
|
|
3632
|
+
const { parsePyramid: parsePyramid2 } = await import("./parser-3PMYAVFL.js");
|
|
3633
|
+
const { renderPyramidForExport } = await import("./renderer-7OXMSF4R.js");
|
|
3542
3634
|
const effectivePalette = await resolveExportPalette(theme, palette);
|
|
3543
3635
|
const pyramidParsed = parsePyramid2(content);
|
|
3544
3636
|
if (pyramidParsed.error || pyramidParsed.layers.length === 0) return "";
|
|
@@ -3573,16 +3665,43 @@ async function exportQuadrant(ctx) {
|
|
|
3573
3665
|
|
|
3574
3666
|
// src/raci/export.ts
|
|
3575
3667
|
async function exportRaci(ctx) {
|
|
3576
|
-
const { content, theme, palette } = ctx;
|
|
3577
|
-
const { parseRaci: parseRaci2 } = await import("./parser-
|
|
3578
|
-
const { renderRaciForExport } = await import("./renderer-
|
|
3668
|
+
const { content, theme, palette, viewState } = ctx;
|
|
3669
|
+
const { parseRaci: parseRaci2 } = await import("./parser-QIPDBT5M.js");
|
|
3670
|
+
const { renderRaciForExport } = await import("./renderer-BXVTYE27.js");
|
|
3579
3671
|
const effectivePalette = await resolveExportPalette(theme, palette);
|
|
3580
3672
|
const raciParsed = parseRaci2(content, effectivePalette);
|
|
3581
3673
|
if (raciParsed.error) return "";
|
|
3582
3674
|
const container = createExportContainer(ctx.width, ctx.height);
|
|
3583
|
-
renderRaciForExport(
|
|
3584
|
-
|
|
3585
|
-
|
|
3675
|
+
renderRaciForExport(
|
|
3676
|
+
container,
|
|
3677
|
+
raciParsed,
|
|
3678
|
+
effectivePalette,
|
|
3679
|
+
ctx.isDark,
|
|
3680
|
+
{ width: ctx.width, height: ctx.height },
|
|
3681
|
+
viewState?.cs
|
|
3682
|
+
);
|
|
3683
|
+
return finalizeSvgExport(container, theme, effectivePalette);
|
|
3684
|
+
}
|
|
3685
|
+
|
|
3686
|
+
// src/swot/export.ts
|
|
3687
|
+
async function exportSwot(ctx) {
|
|
3688
|
+
const { content, theme, palette, exportMode } = ctx;
|
|
3689
|
+
const { parseSwot: parseSwot2 } = await import("./parser-LDVVBP7S.js");
|
|
3690
|
+
const { renderSwot } = await import("./renderer-CC6O6GQK.js");
|
|
3691
|
+
const effectivePalette = await resolveExportPalette(theme, palette);
|
|
3692
|
+
const parsed = parseSwot2(content, effectivePalette);
|
|
3693
|
+
if (parsed.error) return "";
|
|
3694
|
+
const container = document.createElement("div");
|
|
3695
|
+
container.style.position = "absolute";
|
|
3696
|
+
container.style.left = "-9999px";
|
|
3697
|
+
document.body.appendChild(container);
|
|
3698
|
+
renderSwot(container, parsed, effectivePalette, ctx.isDark, {
|
|
3699
|
+
activeTagGroup: resolveActiveTagGroup(
|
|
3700
|
+
parsed.tagGroups,
|
|
3701
|
+
parsed.options["active-tag"],
|
|
3702
|
+
ctxTagOverride(ctx)
|
|
3703
|
+
),
|
|
3704
|
+
exportMode
|
|
3586
3705
|
});
|
|
3587
3706
|
return finalizeSvgExport(container, theme, effectivePalette);
|
|
3588
3707
|
}
|
|
@@ -3590,8 +3709,8 @@ async function exportRaci(ctx) {
|
|
|
3590
3709
|
// src/ring/export.ts
|
|
3591
3710
|
async function exportRing(ctx) {
|
|
3592
3711
|
const { content, theme, palette } = ctx;
|
|
3593
|
-
const { parseRing: parseRing2 } = await import("./parser-
|
|
3594
|
-
const { renderRingForExport } = await import("./renderer-
|
|
3712
|
+
const { parseRing: parseRing2 } = await import("./parser-KI2XYB2R.js");
|
|
3713
|
+
const { renderRingForExport } = await import("./renderer-F3JYZERE.js");
|
|
3595
3714
|
const effectivePalette = await resolveExportPalette(theme, palette);
|
|
3596
3715
|
const ringParsed = parseRing2(content);
|
|
3597
3716
|
if (ringParsed.error || ringParsed.layers.length === 0) return "";
|
|
@@ -3618,12 +3737,21 @@ async function exportVisualization(ctx) {
|
|
|
3618
3737
|
const effectivePalette = await resolveExportPalette(theme, palette);
|
|
3619
3738
|
const isDark = ctx.isDark;
|
|
3620
3739
|
const container = createExportContainer(ctx.width, ctx.height);
|
|
3621
|
-
const { parseSequenceDgmo: parseSequenceDgmo2 } = await import("./parser-
|
|
3622
|
-
const { renderSequenceDiagram } = await import("./renderer-
|
|
3740
|
+
const { parseSequenceDgmo: parseSequenceDgmo2 } = await import("./parser-RNBDDEGL.js");
|
|
3741
|
+
const { renderSequenceDiagram } = await import("./renderer-ASPBBACI.js");
|
|
3623
3742
|
const seqParsed = parseSequenceDgmo2(content, effectivePalette);
|
|
3624
3743
|
if (seqParsed.error || seqParsed.participants.length === 0) return "";
|
|
3625
|
-
const
|
|
3744
|
+
const {
|
|
3745
|
+
unionCollapsedSequenceNotes,
|
|
3746
|
+
collapsedSequenceSectionLinesFromSource
|
|
3747
|
+
} = await import("./collapse-6IGH2B24.js");
|
|
3748
|
+
const collapsedSections = collapsedSequenceSectionLinesFromSource(seqParsed);
|
|
3749
|
+
for (const line2 of viewState?.cs ?? []) collapsedSections.add(line2);
|
|
3626
3750
|
const collapsedGroups = viewState?.cg ? new Set(viewState.cg.map(Number).filter((n) => Number.isFinite(n))) : void 0;
|
|
3751
|
+
const collapsedNotes = unionCollapsedSequenceNotes(
|
|
3752
|
+
seqParsed,
|
|
3753
|
+
viewState?.cg?.map(Number).filter((n) => Number.isFinite(n))
|
|
3754
|
+
);
|
|
3627
3755
|
const seqActiveTagGroup = ctxTagOverride(ctx);
|
|
3628
3756
|
renderSequenceDiagram(
|
|
3629
3757
|
container,
|
|
@@ -3636,8 +3764,9 @@ async function exportVisualization(ctx) {
|
|
|
3636
3764
|
...seqActiveTagGroup !== void 0 && {
|
|
3637
3765
|
activeTagGroup: seqActiveTagGroup
|
|
3638
3766
|
},
|
|
3639
|
-
...collapsedSections
|
|
3640
|
-
...collapsedGroups !== void 0 && { collapsedGroups }
|
|
3767
|
+
...collapsedSections.size > 0 && { collapsedSections },
|
|
3768
|
+
...collapsedGroups !== void 0 && { collapsedGroups },
|
|
3769
|
+
collapsedNotes
|
|
3641
3770
|
}
|
|
3642
3771
|
);
|
|
3643
3772
|
return finalizeSvgExport(container, theme, effectivePalette);
|
|
@@ -3646,15 +3775,18 @@ async function exportVisualization(ctx) {
|
|
|
3646
3775
|
// src/sitemap/export.ts
|
|
3647
3776
|
async function exportSitemap(ctx) {
|
|
3648
3777
|
const { content, theme, palette, viewState, exportMode } = ctx;
|
|
3649
|
-
const { parseSitemap: parseSitemap2 } = await import("./parser-
|
|
3650
|
-
const { layoutSitemap } = await import("./layout-
|
|
3651
|
-
const { collapseSitemapTree } = await import("./collapse-
|
|
3652
|
-
const { renderSitemap } = await import("./renderer-
|
|
3778
|
+
const { parseSitemap: parseSitemap2 } = await import("./parser-BA43YPIQ.js");
|
|
3779
|
+
const { layoutSitemap } = await import("./layout-ZCCABSV7.js");
|
|
3780
|
+
const { collapseSitemapTree, unionCollapsedSitemapNodes } = await import("./collapse-NUM7DPJA.js");
|
|
3781
|
+
const { renderSitemap } = await import("./renderer-HLDRRFZB.js");
|
|
3653
3782
|
const isDark = ctx.isDark;
|
|
3654
3783
|
const effectivePalette = await resolveExportPalette(theme, palette);
|
|
3655
3784
|
const sitemapParsed = parseSitemap2(content, effectivePalette);
|
|
3656
3785
|
if (sitemapParsed.error || sitemapParsed.roots.length === 0) return "";
|
|
3657
|
-
const collapsedNodes =
|
|
3786
|
+
const collapsedNodes = unionCollapsedSitemapNodes(
|
|
3787
|
+
sitemapParsed,
|
|
3788
|
+
viewState?.cg
|
|
3789
|
+
);
|
|
3658
3790
|
const activeTagGroup = resolveActiveTagGroup(
|
|
3659
3791
|
sitemapParsed.tagGroups,
|
|
3660
3792
|
sitemapParsed.options["active-tag"],
|
|
@@ -3664,7 +3796,7 @@ async function exportSitemap(ctx) {
|
|
|
3664
3796
|
sitemapParsed.options["hide"],
|
|
3665
3797
|
viewState?.ha
|
|
3666
3798
|
);
|
|
3667
|
-
const { parsed: effectiveParsed, hiddenCounts } = collapsedNodes
|
|
3799
|
+
const { parsed: effectiveParsed, hiddenCounts } = collapsedNodes.size > 0 ? collapseSitemapTree(sitemapParsed, collapsedNodes) : { parsed: sitemapParsed, hiddenCounts: /* @__PURE__ */ new Map() };
|
|
3668
3800
|
const sitemapLayout = layoutSitemap(
|
|
3669
3801
|
effectiveParsed,
|
|
3670
3802
|
hiddenCounts.size > 0 ? hiddenCounts : void 0,
|
|
@@ -3677,7 +3809,7 @@ async function exportSitemap(ctx) {
|
|
|
3677
3809
|
const {
|
|
3678
3810
|
LEGEND_HEIGHT: SITEMAP_LEGEND_HEIGHT,
|
|
3679
3811
|
LEGEND_GROUP_GAP: SITEMAP_LEGEND_GROUP_GAP
|
|
3680
|
-
} = await import("./legend-constants-
|
|
3812
|
+
} = await import("./legend-constants-KF3MKWL2.js");
|
|
3681
3813
|
const suppressedLegendBand = sitemapLayout.legend.length > 0 && effectiveParsed.options["no-legend"] === "on" ? SITEMAP_LEGEND_HEIGHT + SITEMAP_LEGEND_GROUP_GAP : 0;
|
|
3682
3814
|
const exportWidth = sitemapLayout.width + PADDING * 2;
|
|
3683
3815
|
const exportHeight = sitemapLayout.height + PADDING * 2 + titleOffset - suppressedLegendBand;
|
|
@@ -3718,9 +3850,9 @@ async function exportSlope(ctx) {
|
|
|
3718
3850
|
// src/swimlane/export.ts
|
|
3719
3851
|
async function exportSwimlane(ctx) {
|
|
3720
3852
|
const { content, theme, palette } = ctx;
|
|
3721
|
-
const { parseSwimlane: parseSwimlane2 } = await import("./parser-
|
|
3722
|
-
const { layoutSwimlane } = await import("./layout-
|
|
3723
|
-
const { renderSwimlaneForExport } = await import("./renderer-
|
|
3853
|
+
const { parseSwimlane: parseSwimlane2 } = await import("./parser-DWVBRBB2.js");
|
|
3854
|
+
const { layoutSwimlane } = await import("./layout-BSK374N6.js");
|
|
3855
|
+
const { renderSwimlaneForExport } = await import("./renderer-E7LC7HCU.js");
|
|
3724
3856
|
const effectivePalette = await resolveExportPalette(theme, palette);
|
|
3725
3857
|
const swimParsed = parseSwimlane2(content, effectivePalette);
|
|
3726
3858
|
if (swimParsed.error || swimParsed.nodes.length === 0) return "";
|
|
@@ -3752,8 +3884,8 @@ async function exportSwimlane(ctx) {
|
|
|
3752
3884
|
// src/tech-radar/export.ts
|
|
3753
3885
|
async function exportTechRadar(ctx) {
|
|
3754
3886
|
const { content, theme, palette, viewState, exportMode } = ctx;
|
|
3755
|
-
const { parseTechRadar: parseTechRadar2 } = await import("./parser-
|
|
3756
|
-
const { renderTechRadarForExport } = await import("./renderer-
|
|
3887
|
+
const { parseTechRadar: parseTechRadar2 } = await import("./parser-YZ3J542U.js");
|
|
3888
|
+
const { renderTechRadarForExport } = await import("./renderer-ZTHXOBXW.js");
|
|
3757
3889
|
const effectivePalette = await resolveExportPalette(theme, palette);
|
|
3758
3890
|
const radarParsed = parseTechRadar2(content);
|
|
3759
3891
|
if (radarParsed.error || radarParsed.quadrants.length === 0) return "";
|
|
@@ -3804,14 +3936,14 @@ async function exportTimeline(ctx) {
|
|
|
3804
3936
|
// src/treemap/export.ts
|
|
3805
3937
|
async function exportTreemap(ctx) {
|
|
3806
3938
|
const { content, theme, palette } = ctx;
|
|
3807
|
-
const { parseTreemap: parseTreemap2 } = await import("./parser-
|
|
3939
|
+
const { parseTreemap: parseTreemap2 } = await import("./parser-XP3RCOTN.js");
|
|
3808
3940
|
const effectivePalette = await resolveExportPalette(theme, palette);
|
|
3809
3941
|
const treemapParsed = parseTreemap2(content, effectivePalette);
|
|
3810
3942
|
if (treemapParsed.error || treemapParsed.roots.length === 0) return "";
|
|
3811
3943
|
const container = createExportContainer(ctx.width, ctx.height);
|
|
3812
3944
|
const dims = { width: ctx.width, height: ctx.height };
|
|
3813
3945
|
if (treemapParsed.options.radial) {
|
|
3814
|
-
const { renderTreemapRadialForExport } = await import("./renderer-radial-
|
|
3946
|
+
const { renderTreemapRadialForExport } = await import("./renderer-radial-FC25BDCZ.js");
|
|
3815
3947
|
renderTreemapRadialForExport(
|
|
3816
3948
|
container,
|
|
3817
3949
|
treemapParsed,
|
|
@@ -3820,7 +3952,7 @@ async function exportTreemap(ctx) {
|
|
|
3820
3952
|
dims
|
|
3821
3953
|
);
|
|
3822
3954
|
} else {
|
|
3823
|
-
const { renderTreemapForExport } = await import("./renderer-
|
|
3955
|
+
const { renderTreemapForExport } = await import("./renderer-INQMQPNN.js");
|
|
3824
3956
|
renderTreemapForExport(
|
|
3825
3957
|
container,
|
|
3826
3958
|
treemapParsed,
|
|
@@ -3846,8 +3978,8 @@ async function exportVenn(ctx) {
|
|
|
3846
3978
|
// src/version-control/export.ts
|
|
3847
3979
|
async function exportVersionControl(ctx) {
|
|
3848
3980
|
const { content, theme, palette } = ctx;
|
|
3849
|
-
const { parseVersionControl: parseVersionControl2 } = await import("./parser-
|
|
3850
|
-
const { renderVersionControlForExport } = await import("./renderer-
|
|
3981
|
+
const { parseVersionControl: parseVersionControl2 } = await import("./parser-FWQY3HJX.js");
|
|
3982
|
+
const { renderVersionControlForExport } = await import("./renderer-SYWVZ4CY.js");
|
|
3851
3983
|
const effectivePalette = await resolveExportPalette(theme, palette);
|
|
3852
3984
|
const parsed = parseVersionControl2(content, effectivePalette);
|
|
3853
3985
|
if (parsed.error || parsed.nodes.length === 0) return "";
|
|
@@ -3868,11 +4000,11 @@ async function exportVersionControl(ctx) {
|
|
|
3868
4000
|
// src/whiteboard/export.ts
|
|
3869
4001
|
async function exportWhiteboard(ctx) {
|
|
3870
4002
|
const { content, theme } = ctx;
|
|
3871
|
-
const { parseWhiteboard: parseWhiteboard2 } = await import("./parser-
|
|
4003
|
+
const { parseWhiteboard: parseWhiteboard2 } = await import("./parser-MH5BDN7X.js");
|
|
3872
4004
|
const effectivePalette = await resolveExportPalette(theme, ctx.palette);
|
|
3873
4005
|
const parsed = parseWhiteboard2(content, effectivePalette);
|
|
3874
4006
|
if (parsed.error || parsed.elements.length === 0) return "";
|
|
3875
|
-
const { renderWhiteboard } = await import("./renderer-
|
|
4007
|
+
const { renderWhiteboard } = await import("./renderer-2V5NVI3V.js");
|
|
3876
4008
|
const container = createExportContainer(1, 1);
|
|
3877
4009
|
const resolveImage = ctx.options?.resolveImage;
|
|
3878
4010
|
const showNotes = ctx.options?.showNotes;
|
|
@@ -3886,9 +4018,9 @@ async function exportWhiteboard(ctx) {
|
|
|
3886
4018
|
// src/wireframe/export.ts
|
|
3887
4019
|
async function exportWireframe(ctx) {
|
|
3888
4020
|
const { content, theme, palette } = ctx;
|
|
3889
|
-
const { parseWireframe: parseWireframe2 } = await import("./parser-
|
|
3890
|
-
const { layoutWireframe } = await import("./layout-
|
|
3891
|
-
const { renderWireframe } = await import("./renderer-
|
|
4021
|
+
const { parseWireframe: parseWireframe2 } = await import("./parser-JQGUTDSX.js");
|
|
4022
|
+
const { layoutWireframe } = await import("./layout-VTGOYGRC.js");
|
|
4023
|
+
const { renderWireframe } = await import("./renderer-WIBVOPRC.js");
|
|
3892
4024
|
const effectivePalette = await resolveExportPalette(theme, palette);
|
|
3893
4025
|
const wireframeParsed = parseWireframe2(content);
|
|
3894
4026
|
if (wireframeParsed.error || wireframeParsed.roots.length === 0 && wireframeParsed.modals.length === 0)
|
|
@@ -3960,6 +4092,7 @@ var DIAGRAM_EXPORT_HANDLERS = {
|
|
|
3960
4092
|
clock: exportClock,
|
|
3961
4093
|
bracket: exportBracket,
|
|
3962
4094
|
raci: exportRaci,
|
|
4095
|
+
swot: exportSwot,
|
|
3963
4096
|
body: exportBody,
|
|
3964
4097
|
"live-link": exportLiveLink,
|
|
3965
4098
|
// D3 visualizations — own handler per type (Story 109.2). Only `sequence`
|
|
@@ -3990,13 +4123,13 @@ function resolveArcChordOverride(content, detectedType, palette) {
|
|
|
3990
4123
|
}
|
|
3991
4124
|
async function renderForExport(content, theme, palette, viewState, options) {
|
|
3992
4125
|
const exportMode = options?.exportMode ?? false;
|
|
3993
|
-
const { parseDgmoChartType } = await import("./dgmo-router-
|
|
4126
|
+
const { parseDgmoChartType } = await import("./dgmo-router-RSYWR5IS.js");
|
|
3994
4127
|
const detectedTypeRaw = parseDgmoChartType(content);
|
|
3995
4128
|
const override = resolveArcChordOverride(content, detectedTypeRaw, palette);
|
|
3996
4129
|
const renderContent = override?.content ?? content;
|
|
3997
4130
|
const detectedType = override?.type ?? detectedTypeRaw;
|
|
3998
4131
|
if (detectedType !== null) {
|
|
3999
|
-
const { supportsD3DataChart, renderDataChartD3: renderDataChartD32 } = await import("./charts-d3-
|
|
4132
|
+
const { supportsD3DataChart, renderDataChartD3: renderDataChartD32 } = await import("./charts-d3-INWEGMSD.js");
|
|
4000
4133
|
if (supportsD3DataChart(detectedType)) {
|
|
4001
4134
|
return fitSvgToContent(
|
|
4002
4135
|
await renderDataChartD32(renderContent, theme, palette, {
|
|
@@ -4175,6 +4308,7 @@ function buildHoverCss(spec, derived = {}, emphasisOverride) {
|
|
|
4175
4308
|
}
|
|
4176
4309
|
}
|
|
4177
4310
|
const parts = [...base];
|
|
4311
|
+
if (spec.extraCross) cross.push(...spec.extraCross(dimOpacity));
|
|
4178
4312
|
if (cross.length) parts.push(`@media (hover:hover){${cross.join("")}}`);
|
|
4179
4313
|
return parts.join("");
|
|
4180
4314
|
}
|
|
@@ -4492,6 +4626,24 @@ var HOVER_SPECS = {
|
|
|
4492
4626
|
legend: true,
|
|
4493
4627
|
legendMarkSelector: ".kanban-card"
|
|
4494
4628
|
},
|
|
4629
|
+
// swot: as kanban — hovering anywhere in a panel dims the other three, and the
|
|
4630
|
+
// tag legend pairs on the items, which carry `data-tag-<slug>`.
|
|
4631
|
+
swot: {
|
|
4632
|
+
markSelector: ".swot-panel",
|
|
4633
|
+
strategy: "structural",
|
|
4634
|
+
groupSelector: ".swot-panel",
|
|
4635
|
+
emphasis: "dim",
|
|
4636
|
+
selfEmphasis: false,
|
|
4637
|
+
legend: true,
|
|
4638
|
+
legendMarkSelector: ".swot-item",
|
|
4639
|
+
// An axis header keeps the two panels it heads (#1742): HELPFUL → S and
|
|
4640
|
+
// O, INTERNAL → S and W. The other two panels and headers dim.
|
|
4641
|
+
extraCross: (dim) => ["col", "row"].flatMap(
|
|
4642
|
+
(axis) => [0, 1].map(
|
|
4643
|
+
(i) => `svg:has(.swot-axis[data-swot-axis="${axis}-${i}"]:hover) :is(.swot-panel:not([data-swot-${axis}="${i}"]),.swot-axis:not([data-swot-axis="${axis}-${i}"])){opacity:${dim}}`
|
|
4644
|
+
)
|
|
4645
|
+
)
|
|
4646
|
+
},
|
|
4495
4647
|
// line: each series is a `g.dgmo-series` wrapping its line + data dots + an
|
|
4496
4648
|
// invisible fat hit corridor (`.dgmo-series-hit`, renderer-baked) — without
|
|
4497
4649
|
// the corridor only the 2.5px stroke and 4px dots were hittable, so the
|
|
@@ -4655,13 +4807,17 @@ function deriveFromSvg(svg, spec) {
|
|
|
4655
4807
|
}
|
|
4656
4808
|
return { ...legendExtra() };
|
|
4657
4809
|
}
|
|
4658
|
-
function
|
|
4659
|
-
if (!
|
|
4810
|
+
function hoverCssFor(svg, chartType, emphasis) {
|
|
4811
|
+
if (!svg || !chartType) return "";
|
|
4660
4812
|
const spec = HOVER_SPECS[chartType];
|
|
4661
|
-
if (!spec) return
|
|
4813
|
+
if (!spec) return "";
|
|
4662
4814
|
const derived = deriveFromSvg(svg, spec);
|
|
4663
4815
|
const eff = derived.groupAttr ? { ...spec, groupAttr: derived.groupAttr } : spec;
|
|
4664
|
-
|
|
4816
|
+
return buildHoverCss(eff, derived, emphasis);
|
|
4817
|
+
}
|
|
4818
|
+
function injectHoverStyles(svg, chartType, opts) {
|
|
4819
|
+
if (!opts?.bakeHover) return svg;
|
|
4820
|
+
const css = hoverCssFor(svg, chartType, opts.emphasis);
|
|
4665
4821
|
if (!css) return svg;
|
|
4666
4822
|
const open = svg.match(/<svg\b[^>]*>/);
|
|
4667
4823
|
if (open?.index == null) return svg;
|
|
@@ -5002,6 +5158,13 @@ function summarizeJourneyMap(content) {
|
|
|
5002
5158
|
const who = parsed.persona ? ` for ${parsed.persona.name}` : "";
|
|
5003
5159
|
return `Journey map${who} of ${plural(steps, "step", "steps")}${phases.length > 0 ? ` across ${namedCount(phases, "phase", "phases")}` : ""}.`;
|
|
5004
5160
|
}
|
|
5161
|
+
function summarizeSwot(content) {
|
|
5162
|
+
const parsed = parseSwot(content);
|
|
5163
|
+
if (parsed.error) return null;
|
|
5164
|
+
const counts = parsed.sections.map((s) => `${s.label} ${s.items.length}`);
|
|
5165
|
+
const total = parsed.sections.reduce((n, s) => n + s.items.length, 0);
|
|
5166
|
+
return `SWOT analysis with ${plural(total, "item", "items")}: ${counts.join(", ")}.`;
|
|
5167
|
+
}
|
|
5005
5168
|
function summarizeRaci(content) {
|
|
5006
5169
|
const parsed = parseRaci(content);
|
|
5007
5170
|
if (parsed.error) return null;
|
|
@@ -5380,6 +5543,7 @@ var SUMMARIZERS = {
|
|
|
5380
5543
|
wireframe: summarizeWireframe,
|
|
5381
5544
|
"journey-map": summarizeJourneyMap,
|
|
5382
5545
|
raci: summarizeRaci,
|
|
5546
|
+
swot: summarizeSwot,
|
|
5383
5547
|
body: summarizeBody,
|
|
5384
5548
|
bracket: summarizeBracket,
|
|
5385
5549
|
"live-link": summarizeLiveLink,
|
|
@@ -5623,7 +5787,15 @@ async function render(source, options) {
|
|
|
5623
5787
|
);
|
|
5624
5788
|
svg = applyRootDesc(
|
|
5625
5789
|
applyRootA11y(
|
|
5626
|
-
|
|
5790
|
+
// The fold cue (#1741) rides the same gate: a host that opts out of
|
|
5791
|
+
// baked hover opts out of every baked hover rule.
|
|
5792
|
+
// `interactiveFolds: false` drops it, and the toggles' button markup.
|
|
5793
|
+
options?.interactiveFolds === false ? stripFoldAffordance(
|
|
5794
|
+
injectHoverStyles(svg, chartType, { bakeHover })
|
|
5795
|
+
) : bakeHover ? injectToggleCue(
|
|
5796
|
+
injectHoverStyles(svg, chartType, { bakeHover }),
|
|
5797
|
+
theme
|
|
5798
|
+
) : svg,
|
|
5627
5799
|
chartType,
|
|
5628
5800
|
diagramTitle(content, parsed.chartType)
|
|
5629
5801
|
),
|
|
@@ -5651,11 +5823,13 @@ export {
|
|
|
5651
5823
|
fitSvgToContent,
|
|
5652
5824
|
orderArcNodes,
|
|
5653
5825
|
renderArcDiagram,
|
|
5826
|
+
collapsedPertGroupIdsFromSource,
|
|
5654
5827
|
renderQuadrant,
|
|
5655
5828
|
renderSlopeChart,
|
|
5656
5829
|
renderVenn,
|
|
5657
5830
|
renderWordCloud,
|
|
5658
5831
|
renderForExport,
|
|
5659
5832
|
DEFAULT_DIM_OPACITY,
|
|
5833
|
+
hoverCssFor,
|
|
5660
5834
|
render
|
|
5661
5835
|
};
|