@diagrammo/dgmo 0.50.2 → 0.52.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.cursorrules +15 -19
- package/.github/copilot-instructions.md +15 -19
- package/.windsurfrules +15 -19
- package/SKILL.md +15 -19
- package/dist/advanced.d.ts +155 -65
- package/dist/advanced.js +231 -189
- package/dist/{analyzer-UYKBXAKR.js → analyzer-BJ54GIFB.js} +3 -3
- package/dist/auto.css +31 -8
- package/dist/auto.d.ts +6 -0
- package/dist/auto.js +171 -133
- package/dist/auto.mjs +3062 -1478
- package/dist/block.css +28 -8
- package/dist/block.js +138 -72
- package/dist/charts-d3-MXEP6BNP.js +26 -0
- package/dist/{chunk-3YPY3OXD.js → chunk-3HF5YEFJ.js} +17 -7
- package/dist/{chunk-4MJ7M6YL.js → chunk-3HGU63UY.js} +14 -13
- package/dist/chunk-3LK5DNED.js +35 -0
- package/dist/{chunk-3Y2DRD7S.js → chunk-3QD7VP3U.js} +9 -4
- package/dist/{chunk-6BFZKBGD.js → chunk-3YRPZ7ZZ.js} +2 -2
- package/dist/{chunk-WW32K72E.js → chunk-44VCIPHF.js} +25 -21
- package/dist/{chunk-TN35C5KM.js → chunk-4AQRFDXL.js} +2 -2
- package/dist/{chunk-HHXOONLX.js → chunk-4B5YISOR.js} +38 -1
- package/dist/{chunk-PGEGPSCZ.js → chunk-4IHAV6O7.js} +2 -2
- package/dist/{chunk-7L3R6I3U.js → chunk-4UNQ6X24.js} +10 -7
- package/dist/{chunk-O7NUCTFU.js → chunk-4YFKQ5WT.js} +7 -4
- package/dist/{chunk-5WFIYXQ6.js → chunk-5223KXFD.js} +122 -242
- package/dist/{chunk-PFHVU7UA.js → chunk-5BHJZH62.js} +3 -3
- package/dist/{chunk-QYTPPDAO.js → chunk-5HILBT7X.js} +2 -2
- package/dist/{chunk-GKC3HILQ.js → chunk-5NGAO4QK.js} +27 -4
- package/dist/{chunk-IAEC4KLA.js → chunk-5QKQSSPO.js} +2 -2
- package/dist/{chunk-DSWVNQVS.js → chunk-5RP7JRVP.js} +4 -59
- package/dist/{chunk-MCZ5LBZD.js → chunk-5SEVICBT.js} +8 -8
- package/dist/{chunk-GBE54KY6.js → chunk-6EJITS44.js} +8 -5
- package/dist/{chunk-BBGDM4NQ.js → chunk-6HQH6JZE.js} +35 -16
- package/dist/{chunk-66NVRO4K.js → chunk-6LBQ7ELG.js} +17 -18
- package/dist/{chunk-4XK3FLFB.js → chunk-6NYWYNBI.js} +3 -3
- package/dist/{chunk-VBYSIOOY.js → chunk-75G3Q4DK.js} +3 -3
- package/dist/{chunk-3NODSS6A.js → chunk-77FGAVZC.js} +13 -10
- package/dist/{chunk-6IAA2QQ2.js → chunk-7BIZCTAX.js} +2 -2
- package/dist/{chunk-TWQUYVP3.js → chunk-7DF4J4RL.js} +4 -4
- package/dist/{chunk-66RUL3XF.js → chunk-7KINELPI.js} +111 -49
- package/dist/{chunk-L3UHP6TD.js → chunk-7L4UJOY6.js} +1 -2
- package/dist/{chunk-QJP6PG7F.js → chunk-7QE3XMRK.js} +19 -18
- package/dist/{chunk-P7CE7LXL.js → chunk-AAXZDUOV.js} +18 -17
- package/dist/{chunk-SXRTRMEE.js → chunk-AL672HNE.js} +3 -3
- package/dist/chunk-APKUAJ2L.js +220 -0
- package/dist/{chunk-SCHXJTZL.js → chunk-ARGMQ3H4.js} +2 -2
- package/dist/{chunk-HEVYAHLW.js → chunk-AUIM2NVH.js} +5 -5
- package/dist/{chunk-3LH5CLP4.js → chunk-BKVOYV6I.js} +143 -6
- package/dist/{chunk-RZ6YKEUJ.js → chunk-BPIZNB5O.js} +17 -15
- package/dist/{chunk-QROYX7TT.js → chunk-BPY242XU.js} +6 -4
- package/dist/{chunk-OTAL43EH.js → chunk-BRENJ2BQ.js} +39 -3
- package/dist/{chunk-FA6K3FWM.js → chunk-CCNDLW7Z.js} +44 -22
- package/dist/{chunk-2KGXHFYK.js → chunk-CIRFIL4M.js} +49 -29
- package/dist/chunk-DAOFNU6J.js +283 -0
- package/dist/{chunk-QJJZSROI.js → chunk-DYWQFQJP.js} +48 -38
- package/dist/{chunk-XEGTMVYY.js → chunk-EMLPOL77.js} +15 -8
- package/dist/{chunk-NWED7CYO.js → chunk-FHGVORFO.js} +29 -25
- package/dist/{chunk-U2HGPLZS.js → chunk-FQ7HTV52.js} +17 -2
- package/dist/{chunk-H73FP42Q.js → chunk-FQMUHRVC.js} +70 -31
- package/dist/{chunk-BTUTZMPT.js → chunk-FT3ZYWET.js} +108 -42
- package/dist/{chunk-T5SHNNGP.js → chunk-FUPF2UYQ.js} +92 -34
- package/dist/{chunk-3XPUDB7B.js → chunk-FY5MSZAP.js} +279 -39
- package/dist/{chunk-M5RXSRO2.js → chunk-GCYTI3DE.js} +42 -33
- package/dist/{chunk-DN66GPY5.js → chunk-GJFAMOGK.js} +24 -3
- package/dist/{chunk-F2L5GCQ4.js → chunk-GU46PPT3.js} +3 -3
- package/dist/{chunk-6IUAK7RZ.js → chunk-H6PI3KJT.js} +2 -2
- package/dist/{chunk-ONA5KPV3.js → chunk-H7KENAZO.js} +18 -14
- package/dist/{chunk-SQLNBA64.js → chunk-HBPDFCQY.js} +3 -3
- package/dist/{chunk-SCQ5VPUF.js → chunk-HFMYN6N2.js} +2 -2
- package/dist/{chunk-FJUNPCYI.js → chunk-HHKO6SKY.js} +2 -2
- package/dist/{chunk-DZXYF2F5.js → chunk-HQQNCY7W.js} +21 -8
- package/dist/{chunk-7TV5Y53Y.js → chunk-HWX6ZHF3.js} +3 -3
- package/dist/{chunk-3P2DKJCG.js → chunk-ICPJPQ5C.js} +2 -2
- package/dist/{chunk-VUJGMJE6.js → chunk-IM6PDDCE.js} +4 -4
- package/dist/{chunk-JJUOHGX2.js → chunk-INE5YJBZ.js} +13 -8
- package/dist/{chunk-HTMN2Z6U.js → chunk-J6QROYDA.js} +58 -11
- package/dist/{chunk-NX4EQS3U.js → chunk-J76PIKAT.js} +2 -2
- package/dist/{chunk-SVTI362O.js → chunk-J7KJR3R6.js} +129 -109
- package/dist/{chunk-JEUJOX5X.js → chunk-J7TLCB2Q.js} +2 -2
- package/dist/{chunk-O7WP4ZD4.js → chunk-JED6ZDEE.js} +2 -2
- package/dist/{chunk-J6K7RP6P.js → chunk-JRCOYRRH.js} +19 -7
- package/dist/{chunk-7QKLIMRZ.js → chunk-K2I2XOZD.js} +46 -51
- package/dist/{chunk-EAMEADTV.js → chunk-K4EOKJA6.js} +96 -24
- package/dist/{chunk-5OWVC2A6.js → chunk-KGVZ5VGH.js} +13 -10
- package/dist/{chunk-DFTFPYUD.js → chunk-LBMS4AW6.js} +22 -21
- package/dist/{chunk-VVW3F3MD.js → chunk-LGT3PZCJ.js} +27 -19
- package/dist/{chunk-OMNGQPEZ.js → chunk-LTXOLDUZ.js} +9 -6
- package/dist/{chunk-Q4V4XQWV.js → chunk-MUE65OTD.js} +5 -4
- package/dist/{chunk-5GJYGP5Z.js → chunk-MUVJ57EP.js} +14 -18
- package/dist/{chunk-CLD2OKV7.js → chunk-MX2EY5Y7.js} +2 -2
- package/dist/{chunk-OTQKUHRS.js → chunk-NNS4E7CW.js} +6 -4
- package/dist/{chunk-NNAAJVBU.js → chunk-NR5HCAUD.js} +1 -1
- package/dist/{chunk-KFZYNWWO.js → chunk-ONU3U4GL.js} +4 -4
- package/dist/{chunk-YNRDWYZP.js → chunk-OQKP2X3D.js} +170 -51
- package/dist/{chunk-AHGF2YYA.js → chunk-OTOHI4JO.js} +2 -2
- package/dist/{chunk-EOFPYPAU.js → chunk-P3NRSSUU.js} +51 -11
- package/dist/{chunk-QXKWYZNR.js → chunk-PRI2OD4E.js} +10 -3
- package/dist/{chunk-U6EQI3U6.js → chunk-QBZYACOG.js} +3 -3
- package/dist/{chunk-C2CVAM3U.js → chunk-QGATPIPX.js} +170 -91
- package/dist/{chunk-PZFVK3IH.js → chunk-QHXCAEMX.js} +8 -5
- package/dist/{chunk-BH3UYK36.js → chunk-QJMKPUYK.js} +15 -5
- package/dist/{chunk-HQCHYB5F.js → chunk-QOOUC2J5.js} +2 -2
- package/dist/{chunk-Z6XJQ6KO.js → chunk-QVENJMNX.js} +2 -2
- package/dist/{chunk-IUMPEA64.js → chunk-QZX5S6R3.js} +4 -4
- package/dist/{chunk-I7F2A35O.js → chunk-R3YSD62R.js} +25 -47
- package/dist/{chunk-NU3XLTGP.js → chunk-REJAIQ5S.js} +4 -4
- package/dist/{chunk-2C56LEML.js → chunk-ROOE4R4Y.js} +8 -5
- package/dist/{chunk-XHVV4NVW.js → chunk-RT7ACF77.js} +12 -2
- package/dist/{chunk-I2WKW7C7.js → chunk-SMRFPVLQ.js} +3 -3
- package/dist/{chunk-VDOOQZUD.js → chunk-SWSIKFEB.js} +4 -4
- package/dist/{chunk-HLJVEAOF.js → chunk-T4A4TSTJ.js} +19 -45
- package/dist/{chunk-KHEYDLMT.js → chunk-TJVLKNGR.js} +20 -10
- package/dist/{chunk-GL5UZ6NY.js → chunk-TPFKKXCB.js} +3 -3
- package/dist/{chunk-X6EZPSW6.js → chunk-TTIM6YTT.js} +31 -21
- package/dist/{chunk-BCYVE3N5.js → chunk-TYS6CSS5.js} +2 -2
- package/dist/{chunk-T4VOVZT5.js → chunk-UBLHQTLV.js} +15 -14
- package/dist/{chunk-3LKM6FMW.js → chunk-UNURMIQO.js} +2 -2
- package/dist/{chunk-TSA237IM.js → chunk-VILVLS7P.js} +5 -3
- package/dist/{chunk-HGN652MU.js → chunk-VL2O2F3W.js} +2 -2
- package/dist/{chunk-3XGZF2QJ.js → chunk-VQOCMUWI.js} +39 -28
- package/dist/{chunk-P6T66CCZ.js → chunk-WBM7ZNDI.js} +3 -2
- package/dist/{chunk-CMCR5WBW.js → chunk-WBRZJOEC.js} +3 -3
- package/dist/{chunk-5LWQH6QV.js → chunk-WCT3NYCV.js} +1 -1
- package/dist/{chunk-C4GQDB5L.js → chunk-WRNFDFPU.js} +2 -2
- package/dist/{chunk-6HJBFVLO.js → chunk-XD6ZYURY.js} +9 -4
- package/dist/{chunk-C63UWAKM.js → chunk-Y2ZE3MSG.js} +2 -2
- package/dist/{chunk-7UEMZREK.js → chunk-YAA6IID3.js} +2 -2
- package/dist/{chunk-F7BFXWNQ.js → chunk-YIBAWQGJ.js} +7 -4
- package/dist/{chunk-PH5X4GIP.js → chunk-YTMTPUH4.js} +8 -5
- package/dist/{chunk-3UIKSPFB.js → chunk-Z5QVYKR7.js} +11 -3
- package/dist/{chunk-KQ57MHRO.js → chunk-ZEF5M5MB.js} +155 -87
- package/dist/{chunk-LE4MYMLI.js → chunk-ZJV7GYR4.js} +6 -6
- package/dist/{chunk-XJLKLU4D.js → chunk-ZNWAYU6N.js} +11 -7
- package/dist/cli.cjs +165 -148
- package/dist/clock.js +105 -25
- package/dist/countdown.js +208 -82
- package/dist/dgmo-router-X7ZGAPIE.js +86 -0
- package/dist/dimensions-45H6JQEY.js +22 -0
- package/dist/editor.js +17 -2
- package/dist/element.d.ts +6 -0
- package/dist/element.js +172 -134
- package/dist/element.mjs +3026 -1463
- package/dist/{flowchart-parser-OE4WHLTF.js → flowchart-parser-UKELHBSB.js} +4 -4
- package/dist/{flowchart-renderer-GPCSMTOR.js → flowchart-renderer-MNCDS7MV.js} +10 -10
- package/dist/highlight.d.ts +21 -1
- package/dist/highlight.js +106 -3
- package/dist/index.d.ts +2 -2
- package/dist/index.js +59 -57
- package/dist/{layout-FWODLIMP.js → layout-2L3WMRYU.js} +6 -6
- package/dist/{layout-7SKMFYHL.js → layout-46N4JJYK.js} +5 -5
- package/dist/{layout-7H4H46CS.js → layout-7QXCNOVS.js} +3 -3
- package/dist/layout-A4XWNVID.js +14 -0
- package/dist/{layout-46366KBT.js → layout-A5UHRWVH.js} +3 -3
- package/dist/{layout-NXG63LWH.js → layout-AM2JWW3X.js} +4 -4
- package/dist/{layout-DC4TVXER.js → layout-EE6GE46Y.js} +5 -5
- package/dist/{layout-FGQWRYYW.js → layout-F4WO357A.js} +3 -3
- package/dist/layout-G23F7LDH.js +9 -0
- package/dist/{layout-QNUQLEHU.js → layout-GM4UGR7B.js} +5 -4
- package/dist/{layout-7MZ5NF2N.js → layout-GQQJXNYH.js} +5 -5
- package/dist/{layout-5BG6DFCU.js → layout-IIE2S5FK.js} +6 -6
- package/dist/{layout-34CLNICW.js → layout-OAC4PEAC.js} +5 -5
- package/dist/layout-VMCRX66I.js +14 -0
- package/dist/{layout-PUQCB6AN.js → layout-ZDOSXL5G.js} +7 -7
- package/dist/{layout-search-QS44PI5R.js → layout-search-55FU6HD3.js} +6 -157
- package/dist/map-data/gazetteer.json +1 -1
- package/dist/{palettes-PRJ2RI6D.js → palettes-UDLZ2SA4.js} +2 -2
- package/dist/{parser-D5VILGN2.js → parser-2ECN6JA2.js} +4 -4
- package/dist/{parser-LWKKBNSA.js → parser-4WTIHM5J.js} +3 -3
- package/dist/{parser-DFFEDKHH.js → parser-5H2BTSJQ.js} +3 -3
- package/dist/{parser-4NO6VZ6S.js → parser-75KVXUNS.js} +4 -4
- package/dist/{parser-VKOJM7KS.js → parser-774AC53T.js} +4 -4
- package/dist/{parser-IBWNAPY4.js → parser-BE4YCSRU.js} +3 -3
- package/dist/{parser-4AI5ZN5F.js → parser-CNGUQUQI.js} +3 -3
- package/dist/{parser-36HVKU5U.js → parser-DEUUSQIN.js} +7 -6
- package/dist/{parser-H3XEPFPV.js → parser-DQAFLUJB.js} +4 -4
- package/dist/{parser-5OXGPNBF.js → parser-EYCKNKQA.js} +5 -5
- package/dist/{parser-TGQZJ5OT.js → parser-FXISIU6A.js} +4 -4
- package/dist/{parser-JJR52VAT.js → parser-GTB4XC7P.js} +5 -5
- package/dist/{parser-AGVYTQXV.js → parser-GVEPAUSD.js} +4 -4
- package/dist/{parser-WAV5JRPT.js → parser-HSQGTY4G.js} +4 -4
- package/dist/{parser-YS7TOS2K.js → parser-HVKRINUS.js} +3 -3
- package/dist/{parser-W4PQUGX3.js → parser-J5MIEYO4.js} +5 -5
- package/dist/parser-KMZIXLDZ.js +13 -0
- package/dist/{parser-HYRTF3DO.js → parser-LJHXWSXU.js} +3 -3
- package/dist/{parser-KCR2WS3V.js → parser-PT3W72G5.js} +4 -4
- package/dist/{parser-CVMEDULU.js → parser-SBJQDPHL.js} +4 -4
- package/dist/{parser-RZPVAQVX.js → parser-SUWWWCMX.js} +4 -3
- package/dist/{parser-TXND652E.js → parser-SXDRNZOA.js} +4 -4
- package/dist/parser-UMILOW3M.js +14 -0
- package/dist/{parser-RV4M6AS2.js → parser-UP3AZ367.js} +4 -4
- package/dist/{parser-IJBMRXMC.js → parser-WHPRV3X5.js} +5 -5
- package/dist/{parser-MPCE5JBG.js → parser-WX3UODSJ.js} +4 -4
- package/dist/{parser-K3XXLMUW.js → parser-XCIEN3KN.js} +4 -4
- package/dist/{parser-AXKBDGNO.js → parser-XIRTUMVN.js} +5 -5
- package/dist/{parser-B5FVS7O6.js → parser-YKCGIG45.js} +3 -3
- package/dist/{parser-PSA4UBSP.js → parser-YKYMQG3B.js} +4 -4
- package/dist/{parser-MTOMTWTD.js → parser-ZGM2OJ6Y.js} +6 -5
- package/dist/{parser-CSFUN3CT.js → parser-ZL5QUFVH.js} +5 -4
- package/dist/pert.d.ts +2 -2
- package/dist/{renderer-PPIHO5FI.js → renderer-3F7OS2AX.js} +14 -13
- package/dist/{renderer-SBS3YWU5.js → renderer-4QB4K7Q3.js} +9 -9
- package/dist/{renderer-GHPZMFU2.js → renderer-5DAKMIU2.js} +3 -3
- package/dist/{renderer-R2WNIC2C.js → renderer-5H4SY7YY.js} +9 -9
- package/dist/{renderer-DAXMXIKD.js → renderer-5PIQPFOX.js} +5 -4
- package/dist/{renderer-45PSOL3E.js → renderer-6MU37QF5.js} +6 -6
- package/dist/renderer-AQVMWJ4M.js +27 -0
- package/dist/{renderer-A5VE5BCI.js → renderer-BDDW6K7N.js} +9 -9
- package/dist/{renderer-AUW2BE6G.js → renderer-BNB3VIDY.js} +10 -10
- package/dist/{renderer-4ITCHBT7.js → renderer-CQY6ATOS.js} +6 -6
- package/dist/{renderer-6OKF44KS.js → renderer-CVW75CXL.js} +15 -15
- package/dist/{renderer-7RH2SI3B.js → renderer-DT4XRFEP.js} +5 -4
- package/dist/{renderer-B5TBNZJE.js → renderer-ERHBSTQT.js} +9 -9
- package/dist/{renderer-HVCU2C3Z.js → renderer-HSHHVYWF.js} +5 -4
- package/dist/renderer-IDPVUFNB.js +28 -0
- package/dist/renderer-ILX6BGKR.js +21 -0
- package/dist/renderer-JP663HKG.js +22 -0
- package/dist/{renderer-KS7YZJE2.js → renderer-KNFTTOBL.js} +11 -11
- package/dist/{renderer-2AZ5HJFK.js → renderer-MVUZBESR.js} +5 -5
- package/dist/{renderer-QAOBLRXV.js → renderer-N4EBR2FV.js} +11 -11
- package/dist/{renderer-P5ROYQGU.js → renderer-NHO46CT2.js} +4 -4
- package/dist/{renderer-NGXZTRK6.js → renderer-NO2QJ5LZ.js} +10 -10
- package/dist/{renderer-FPE3J5VZ.js → renderer-OGFV5RXX.js} +12 -12
- package/dist/{renderer-ODUUOPVT.js → renderer-PDLESJMS.js} +15 -15
- package/dist/renderer-T4MTNINC.js +24 -0
- package/dist/renderer-TOUGFGTM.js +24 -0
- package/dist/{renderer-BSR2O2H6.js → renderer-U3KPD43Y.js} +14 -13
- package/dist/{renderer-JCCHNECZ.js → renderer-X334IJU2.js} +10 -10
- package/dist/{renderer-5DSEWF74.js → renderer-Y5OAMOCR.js} +9 -9
- package/dist/{renderer-5KVCNMOJ.js → renderer-YONAKAJU.js} +5 -3
- package/dist/{renderer-7SD6MSBS.js → renderer-YWMI6Y2U.js} +12 -12
- package/dist/{renderer-2QPMJ2DA.js → renderer-ZWIH4WDW.js} +10 -10
- package/dist/renderer-radial-7CGZMVMS.js +21 -0
- package/dist/{resolver-FHBCO3PL.js → resolver-EMTGNR3D.js} +4 -3
- package/dist/{state-parser-3REXRK3R.js → state-parser-BATWAID2.js} +4 -4
- package/dist/{state-renderer-XYLNRWXR.js → state-renderer-3FKZJ3LP.js} +10 -10
- package/dist/{themes-PdPR1-hC.d.ts → themes-32xj5ZTW.d.ts} +27 -0
- package/docs/ai-integration.md +15 -19
- package/docs/language-reference.md +106 -21
- package/gallery/fixtures/clock.dgmo +3 -3
- package/gallery/fixtures/countdown-tz.dgmo +5 -0
- package/package.json +1 -1
- package/dist/charts-d3-MUW3LTML.js +0 -26
- package/dist/dgmo-router-CE2G67FV.js +0 -84
- package/dist/dimensions-OTBKC5M6.js +0 -22
- package/dist/layout-6RDJHS6E.js +0 -9
- package/dist/layout-J36454XU.js +0 -14
- package/dist/layout-LD6XTLD6.js +0 -14
- package/dist/parser-4WQQQXCG.js +0 -13
- package/dist/parser-O4HIUN6G.js +0 -13
- package/dist/renderer-CYB4LK3G.js +0 -22
- package/dist/renderer-FF24KZCI.js +0 -24
- package/dist/renderer-FYSVXL7M.js +0 -28
- package/dist/renderer-HDCCZURL.js +0 -24
- package/dist/renderer-PSMMZCKH.js +0 -21
- package/dist/renderer-UYMQQCJK.js +0 -24
- package/dist/renderer-radial-F7X5F2VU.js +0 -21
|
@@ -1,66 +1,44 @@
|
|
|
1
|
+
import {
|
|
2
|
+
parseDateToken,
|
|
3
|
+
toInternal
|
|
4
|
+
} from "./chunk-DAOFNU6J.js";
|
|
1
5
|
import {
|
|
2
6
|
TIMELINE_REGISTRY,
|
|
3
7
|
splitNameAndMeta,
|
|
4
8
|
warnUnknownMetaKeys,
|
|
5
9
|
withTagAliases
|
|
6
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-BRENJ2BQ.js";
|
|
7
11
|
import {
|
|
8
12
|
makeDgmoError
|
|
9
13
|
} from "./chunk-CXK4DZH3.js";
|
|
10
14
|
|
|
11
15
|
// src/timeline/parser.ts
|
|
12
16
|
var TIMELINE_DURATION_RE = /^(\d+(?:\.\d{1,2})?)(min|[dwmyhs])(\?)?$/;
|
|
13
|
-
var DATE_RE = /^(\d{4}(?:-\d{2}(?:-\d{2})?)?)/;
|
|
14
|
-
var TIME_RE = /^\s+(\d{1,2}:\d{2}(?::\d{2})?)/;
|
|
15
17
|
var ARROW_RE = /^\s*(?:->|–>)\s*/;
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
const
|
|
20
|
-
const
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
const date2 = (bce ? "-" : "") + eraMatch[1];
|
|
31
|
-
return {
|
|
32
|
-
date: date2,
|
|
33
|
-
rest: input.slice(eraMatch[0].length),
|
|
34
|
-
timeValid: true,
|
|
35
|
-
invalidTime: void 0
|
|
36
|
-
};
|
|
37
|
-
}
|
|
38
|
-
const dateMatch = input.match(DATE_RE);
|
|
39
|
-
if (!dateMatch) return null;
|
|
40
|
-
let date = dateMatch[1];
|
|
41
|
-
let rest = input.slice(date.length);
|
|
42
|
-
let timeValid = true;
|
|
43
|
-
let invalidTime;
|
|
44
|
-
const timeMatch = rest.match(TIME_RE);
|
|
45
|
-
if (timeMatch) {
|
|
46
|
-
const timeStr = timeMatch[1];
|
|
47
|
-
const { valid } = parseTime(timeStr);
|
|
48
|
-
timeValid = valid;
|
|
49
|
-
if (!valid) invalidTime = timeStr;
|
|
50
|
-
date = `${date} ${timeStr}`;
|
|
51
|
-
rest = rest.slice(timeMatch[0].length);
|
|
52
|
-
}
|
|
53
|
-
return { date, rest, timeValid, invalidTime };
|
|
18
|
+
function parseDateWithOptionalTime(input, ctx) {
|
|
19
|
+
const res = parseDateToken(input, { dateOrder: ctx?.order });
|
|
20
|
+
if (!res) return null;
|
|
21
|
+
const { token, consumed } = res;
|
|
22
|
+
const internal = ctx?.resolve ? ctx.resolve(token).internal : toInternal(
|
|
23
|
+
token,
|
|
24
|
+
token.year ?? ctx?.currentYear ?? (/* @__PURE__ */ new Date()).getFullYear()
|
|
25
|
+
);
|
|
26
|
+
return {
|
|
27
|
+
date: internal,
|
|
28
|
+
rest: input.slice(consumed),
|
|
29
|
+
timeValid: !token.invalidTime,
|
|
30
|
+
invalidTime: token.invalidTime
|
|
31
|
+
};
|
|
54
32
|
}
|
|
55
|
-
function extractDatePrefix(line) {
|
|
56
|
-
const startResult = parseDateWithOptionalTime(line);
|
|
33
|
+
function extractDatePrefix(line, ctx) {
|
|
34
|
+
const startResult = parseDateWithOptionalTime(line, ctx);
|
|
57
35
|
if (!startResult) return null;
|
|
58
36
|
const { date: startDate } = startResult;
|
|
59
37
|
let { rest } = startResult;
|
|
60
38
|
const arrowMatch = rest.match(ARROW_RE);
|
|
61
39
|
if (arrowMatch) {
|
|
62
40
|
rest = rest.slice(arrowMatch[0].length);
|
|
63
|
-
const endResult = parseDateWithOptionalTime(rest);
|
|
41
|
+
const endResult = parseDateWithOptionalTime(rest, ctx);
|
|
64
42
|
if (endResult) {
|
|
65
43
|
let uncertain = false;
|
|
66
44
|
let afterEnd = endResult.rest;
|
|
@@ -209,9 +187,9 @@ function parseTimelineDate(s) {
|
|
|
209
187
|
const yearBase = p.sign * p.year;
|
|
210
188
|
return yearBase + (p.month - 1) / 12 + (p.day - 1) / 365 + p.hour / 8760 + p.minute / 525600 + p.second / 31536e3;
|
|
211
189
|
}
|
|
212
|
-
function parseTimelineEventLine(line, lineNumber, currentGroup, groupMetadata, aliasMap, registry) {
|
|
190
|
+
function parseTimelineEventLine(line, lineNumber, currentGroup, groupMetadata, aliasMap, registry, dateCtx) {
|
|
213
191
|
const diagnostics = [];
|
|
214
|
-
const prefix = extractDatePrefix(line);
|
|
192
|
+
const prefix = extractDatePrefix(line, dateCtx);
|
|
215
193
|
if (!prefix) {
|
|
216
194
|
if (/^\d/.test(line)) {
|
|
217
195
|
const firstToken = line.split(/\s/)[0];
|
|
@@ -336,4 +314,4 @@ export {
|
|
|
336
314
|
parseTimelineDate,
|
|
337
315
|
parseTimelineEventLine
|
|
338
316
|
};
|
|
339
|
-
//# sourceMappingURL=chunk-
|
|
317
|
+
//# sourceMappingURL=chunk-R3YSD62R.js.map
|
|
@@ -6,10 +6,10 @@ import {
|
|
|
6
6
|
tagAttrKey,
|
|
7
7
|
validateTagGroupNames,
|
|
8
8
|
validateTagValues
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-HHKO6SKY.js";
|
|
10
10
|
import {
|
|
11
11
|
tryCollectNote
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-ARGMQ3H4.js";
|
|
13
13
|
import {
|
|
14
14
|
resolveNotes
|
|
15
15
|
} from "./chunk-FMDSF3OV.js";
|
|
@@ -32,7 +32,7 @@ import {
|
|
|
32
32
|
tryParseSharedOption,
|
|
33
33
|
warnUnknownMetaKeys,
|
|
34
34
|
withTagAliases
|
|
35
|
-
} from "./chunk-
|
|
35
|
+
} from "./chunk-BRENJ2BQ.js";
|
|
36
36
|
import {
|
|
37
37
|
resolveColorWithDiagnostic
|
|
38
38
|
} from "./chunk-TLVIHFRO.js";
|
|
@@ -521,4 +521,4 @@ export {
|
|
|
521
521
|
looksLikeERDiagram,
|
|
522
522
|
extractSymbols
|
|
523
523
|
};
|
|
524
|
-
//# sourceMappingURL=chunk-
|
|
524
|
+
//# sourceMappingURL=chunk-REJAIQ5S.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
tryCollectNote
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-ARGMQ3H4.js";
|
|
4
4
|
import {
|
|
5
5
|
resolveNotes
|
|
6
6
|
} from "./chunk-FMDSF3OV.js";
|
|
@@ -13,11 +13,12 @@ import {
|
|
|
13
13
|
} from "./chunk-NOTA6TEI.js";
|
|
14
14
|
import {
|
|
15
15
|
ALL_CHART_TYPES,
|
|
16
|
+
FILL_FAMILY_TOKENS,
|
|
16
17
|
OPTION_NOCOLON_RE,
|
|
17
18
|
measureIndent,
|
|
18
19
|
parseFirstLine,
|
|
19
20
|
tryParseSharedOption
|
|
20
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-BRENJ2BQ.js";
|
|
21
22
|
import {
|
|
22
23
|
resolveColorWithDiagnostic
|
|
23
24
|
} from "./chunk-TLVIHFRO.js";
|
|
@@ -261,8 +262,10 @@ function parseState(content, palette) {
|
|
|
261
262
|
result.direction = "TB";
|
|
262
263
|
continue;
|
|
263
264
|
}
|
|
264
|
-
if (
|
|
265
|
-
options[
|
|
265
|
+
if (FILL_FAMILY_TOKENS.has(trimmed.toLowerCase())) {
|
|
266
|
+
for (const t of FILL_FAMILY_TOKENS) delete options[t];
|
|
267
|
+
if (trimmed.toLowerCase() !== "fill-tint")
|
|
268
|
+
options[trimmed.toLowerCase()] = "on";
|
|
266
269
|
continue;
|
|
267
270
|
}
|
|
268
271
|
if (/^no-color$/i.test(trimmed)) {
|
|
@@ -412,4 +415,4 @@ export {
|
|
|
412
415
|
parseState,
|
|
413
416
|
looksLikeState
|
|
414
417
|
};
|
|
415
|
-
//# sourceMappingURL=chunk-
|
|
418
|
+
//# sourceMappingURL=chunk-ROOE4R4Y.js.map
|
|
@@ -3,7 +3,8 @@ var SKETCH_DIAGNOSTIC_CODES = {
|
|
|
3
3
|
NESTED_BOX: "E_SKETCH_NESTED_BOX",
|
|
4
4
|
AMBIGUOUS_TARGET: "E_SKETCH_AMBIGUOUS_TARGET",
|
|
5
5
|
UNKNOWN_SHAPE: "W_SKETCH_UNKNOWN_SHAPE",
|
|
6
|
-
OVERLAP_RESOLVED: "W_SKETCH_OVERLAP_RESOLVED"
|
|
6
|
+
OVERLAP_RESOLVED: "W_SKETCH_OVERLAP_RESOLVED",
|
|
7
|
+
AT_OUT_OF_RANGE: "W_SKETCH_AT_OUT_OF_RANGE"
|
|
7
8
|
};
|
|
8
9
|
var SKETCH_DIAGNOSTICS = [
|
|
9
10
|
{
|
|
@@ -41,6 +42,15 @@ var SKETCH_DIAGNOSTICS = [
|
|
|
41
42
|
message: (p) => `Shape "${String(p.label ?? "?")}" overlapped another at its authored position \u2014 moved to the nearest free slot`,
|
|
42
43
|
hint: "Keep shapes at least 2 half-slots apart on one axis, or omit at: to flow-place.",
|
|
43
44
|
example: "sketch\nA at: 0 0\nB at: 0 0"
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
code: SKETCH_DIAGNOSTIC_CODES.AT_OUT_OF_RANGE,
|
|
48
|
+
severity: "warning",
|
|
49
|
+
chartType: "sketch",
|
|
50
|
+
title: "at: coordinate out of range",
|
|
51
|
+
message: (p) => `at: coordinate "${String(p.raw ?? "?")}" is out of range \u2014 half-slot coords must be whole numbers within \xB1${String(p.max ?? "?")}; shape will flow-place`,
|
|
52
|
+
hint: "Use small integer half-slot coordinates near the origin, or omit at: to flow-place.",
|
|
53
|
+
example: "sketch\nA at: 2 0"
|
|
44
54
|
}
|
|
45
55
|
];
|
|
46
56
|
|
|
@@ -48,4 +58,4 @@ export {
|
|
|
48
58
|
SKETCH_DIAGNOSTIC_CODES,
|
|
49
59
|
SKETCH_DIAGNOSTICS
|
|
50
60
|
};
|
|
51
|
-
//# sourceMappingURL=chunk-
|
|
61
|
+
//# sourceMappingURL=chunk-RT7ACF77.js.map
|
|
@@ -5,14 +5,14 @@ import {
|
|
|
5
5
|
matchTagBlockHeading,
|
|
6
6
|
stripDefaultModifier,
|
|
7
7
|
validateTagGroupNames
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-HHKO6SKY.js";
|
|
9
9
|
import {
|
|
10
10
|
OPTION_NOCOLON_RE,
|
|
11
11
|
extractColor,
|
|
12
12
|
measureIndent,
|
|
13
13
|
parseFirstLine,
|
|
14
14
|
tryParseSharedOption
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-BRENJ2BQ.js";
|
|
16
16
|
import {
|
|
17
17
|
formatDgmoError,
|
|
18
18
|
makeDgmoError
|
|
@@ -729,4 +729,4 @@ export {
|
|
|
729
729
|
resetWireframeIds,
|
|
730
730
|
parseWireframe
|
|
731
731
|
};
|
|
732
|
-
//# sourceMappingURL=chunk-
|
|
732
|
+
//# sourceMappingURL=chunk-SMRFPVLQ.js.map
|
|
@@ -11,15 +11,15 @@ import {
|
|
|
11
11
|
LEGEND_PILL_FONT_SIZE,
|
|
12
12
|
LEGEND_PILL_PAD,
|
|
13
13
|
measureLegendText
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-QOOUC2J5.js";
|
|
15
15
|
import {
|
|
16
16
|
measureText
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-WCT3NYCV.js";
|
|
18
18
|
import {
|
|
19
19
|
injectDefaultTagMetadata,
|
|
20
20
|
resolveTagColor,
|
|
21
21
|
tagAttrKey
|
|
22
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-HHKO6SKY.js";
|
|
23
23
|
|
|
24
24
|
// src/sitemap/layout.ts
|
|
25
25
|
import dagre from "@dagrejs/dagre";
|
|
@@ -617,4 +617,4 @@ function layoutSitemap(parsed, hiddenCounts, activeTagGroup, hiddenAttributes, e
|
|
|
617
617
|
export {
|
|
618
618
|
layoutSitemap
|
|
619
619
|
};
|
|
620
|
-
//# sourceMappingURL=chunk-
|
|
620
|
+
//# sourceMappingURL=chunk-SWSIKFEB.js.map
|
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
renderNoteBadge,
|
|
5
5
|
renderNoteBox,
|
|
6
6
|
renderNoteConnector
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-J7TLCB2Q.js";
|
|
8
8
|
import {
|
|
9
9
|
renderInlineText
|
|
10
10
|
} from "./chunk-3HDBAXF5.js";
|
|
@@ -20,10 +20,10 @@ import {
|
|
|
20
20
|
} from "./chunk-YYVTBZZC.js";
|
|
21
21
|
import {
|
|
22
22
|
renderIntegratedLegend
|
|
23
|
-
} from "./chunk-
|
|
23
|
+
} from "./chunk-AUIM2NVH.js";
|
|
24
24
|
import {
|
|
25
25
|
getMaxLegendReservedHeight
|
|
26
|
-
} from "./chunk-
|
|
26
|
+
} from "./chunk-YAA6IID3.js";
|
|
27
27
|
import {
|
|
28
28
|
TITLE_FONT_SIZE,
|
|
29
29
|
TITLE_FONT_WEIGHT,
|
|
@@ -36,7 +36,7 @@ import {
|
|
|
36
36
|
CHAR_WIDTH_RATIO,
|
|
37
37
|
measureText,
|
|
38
38
|
truncateText
|
|
39
|
-
} from "./chunk-
|
|
39
|
+
} from "./chunk-WCT3NYCV.js";
|
|
40
40
|
import {
|
|
41
41
|
contrastText,
|
|
42
42
|
mix,
|
|
@@ -44,10 +44,13 @@ import {
|
|
|
44
44
|
shapeFill,
|
|
45
45
|
themeBaseBg,
|
|
46
46
|
valueRampColor
|
|
47
|
-
} from "./chunk-
|
|
47
|
+
} from "./chunk-WBM7ZNDI.js";
|
|
48
48
|
import {
|
|
49
49
|
resolveTagColor
|
|
50
|
-
} from "./chunk-
|
|
50
|
+
} from "./chunk-HHKO6SKY.js";
|
|
51
|
+
import {
|
|
52
|
+
fillModeFromOptions
|
|
53
|
+
} from "./chunk-BRENJ2BQ.js";
|
|
51
54
|
import {
|
|
52
55
|
resolveColor
|
|
53
56
|
} from "./chunk-TLVIHFRO.js";
|
|
@@ -74,7 +77,6 @@ var RAMP_FLOOR = 15;
|
|
|
74
77
|
var VALUE_FONT_SIZE = 11;
|
|
75
78
|
var lineGeneratorLR = d3Shape.line().x((d) => d.x).y((d) => d.y).curve(d3Shape.curveBasis);
|
|
76
79
|
var lineGeneratorTB = d3Shape.line().x((d) => d.x).y((d) => d.y).curve(d3Shape.curveBasis);
|
|
77
|
-
var lineGeneratorStraight = d3Shape.line().x((d) => d.x).y((d) => d.y).curve(d3Shape.curveLinear);
|
|
78
80
|
function splitCamelCase(word) {
|
|
79
81
|
const parts = [];
|
|
80
82
|
let start = 0;
|
|
@@ -138,7 +140,7 @@ function fitLabelToHeader(label, nodeWidth, maxLines) {
|
|
|
138
140
|
const truncated = truncateText(label, MIN_NODE_FONT_SIZE, maxTextWidth);
|
|
139
141
|
return { lines: [truncated], fontSize: MIN_NODE_FONT_SIZE };
|
|
140
142
|
}
|
|
141
|
-
function nodeColors(node, tagGroups, activeGroupName, palette, isDark, value,
|
|
143
|
+
function nodeColors(node, tagGroups, activeGroupName, palette, isDark, value, fillMode) {
|
|
142
144
|
const neutralFill = mix(palette.bg, palette.text, isDark ? 90 : 95);
|
|
143
145
|
if (value.active) {
|
|
144
146
|
if (node.value === void 0) {
|
|
@@ -150,9 +152,7 @@ function nodeColors(node, tagGroups, activeGroupName, palette, isDark, value, so
|
|
|
150
152
|
return { fill: neutralFill, stroke: value.hue, text: text3 };
|
|
151
153
|
}
|
|
152
154
|
const rampColor = value.fillForValue(node.value);
|
|
153
|
-
const fill2 = shapeFill(palette, rampColor, isDark, {
|
|
154
|
-
...solid !== void 0 && { solid }
|
|
155
|
-
});
|
|
155
|
+
const fill2 = shapeFill(palette, rampColor, isDark, { mode: fillMode });
|
|
156
156
|
const stroke2 = value.twoColor ? rampColor : value.hue;
|
|
157
157
|
const text2 = contrastText(
|
|
158
158
|
fill2,
|
|
@@ -167,9 +167,7 @@ function nodeColors(node, tagGroups, activeGroupName, palette, isDark, value, so
|
|
|
167
167
|
activeGroupName
|
|
168
168
|
);
|
|
169
169
|
if (tagColor) {
|
|
170
|
-
const fill2 = shapeFill(palette, tagColor, isDark, {
|
|
171
|
-
...solid !== void 0 && { solid }
|
|
172
|
-
});
|
|
170
|
+
const fill2 = shapeFill(palette, tagColor, isDark, { mode: fillMode });
|
|
173
171
|
const stroke2 = tagColor;
|
|
174
172
|
const text2 = contrastText(
|
|
175
173
|
fill2,
|
|
@@ -327,32 +325,8 @@ function renderBoxesAndLines(container, parsed, layout, palette, isDark, options
|
|
|
327
325
|
const scaleX = width / (contentW + sDiagramPadding * 2);
|
|
328
326
|
const scaleY = height / (contentH + sDiagramPadding * 2);
|
|
329
327
|
const scale = Math.min(scaleX, scaleY, 3);
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
if (parsed.nodePositions && parsed.nodePositions.size > 0) {
|
|
333
|
-
let bMinX = Infinity, bMinY = Infinity, bMaxX = -Infinity, bMaxY = -Infinity;
|
|
334
|
-
const accB = (x, y) => {
|
|
335
|
-
if (x < bMinX) bMinX = x;
|
|
336
|
-
if (x > bMaxX) bMaxX = x;
|
|
337
|
-
if (y < bMinY) bMinY = y;
|
|
338
|
-
if (y > bMaxY) bMaxY = y;
|
|
339
|
-
};
|
|
340
|
-
for (const n of layout.nodes) {
|
|
341
|
-
accB(n.x - n.width / 2, n.y - n.height / 2);
|
|
342
|
-
accB(n.x + n.width / 2, n.y + n.height / 2);
|
|
343
|
-
}
|
|
344
|
-
for (const g of layout.groups) {
|
|
345
|
-
accB(g.x - g.width / 2, g.y - g.height / 2);
|
|
346
|
-
accB(g.x + g.width / 2, g.y + g.height / 2);
|
|
347
|
-
}
|
|
348
|
-
for (const e of layout.edges) for (const p of e.points) accB(p.x, p.y);
|
|
349
|
-
if (Number.isFinite(bMinX)) {
|
|
350
|
-
centerShiftX = (layout.width - bMaxX - bMinX) / 2;
|
|
351
|
-
centerShiftY = (layout.height - bMaxY - bMinY) / 2;
|
|
352
|
-
}
|
|
353
|
-
}
|
|
354
|
-
const offsetX = (width - contentW * scale) / 2 + centerShiftX * scale;
|
|
355
|
-
const offsetY = sDiagramPadding + titleOffset + legendH + centerShiftY * scale;
|
|
328
|
+
const offsetX = (width - contentW * scale) / 2;
|
|
329
|
+
const offsetY = sDiagramPadding + titleOffset + legendH;
|
|
356
330
|
const svg = d3Selection.select(container).append("svg").attr("width", width).attr("height", height).attr("viewBox", `0 0 ${width} ${height}`).attr("preserveAspectRatio", "xMidYMin meet").style("font-family", FONT_FAMILY).style("background", palette.bg);
|
|
357
331
|
if (sctx.isBelowFloor) {
|
|
358
332
|
svg.attr("width", "100%");
|
|
@@ -484,7 +458,7 @@ function renderBoxesAndLines(container, parsed, layout, palette, isDark, options
|
|
|
484
458
|
if (points.length < 2) continue;
|
|
485
459
|
const edgeG = diagramG.append("g").attr("class", "bl-edge-group").attr("data-line-number", String(le.lineNumber)).attr("data-from", le.source).attr("data-to", le.target);
|
|
486
460
|
const markerId = `bl-arrow-${color.replace("#", "")}`;
|
|
487
|
-
const gen =
|
|
461
|
+
const gen = parsed.direction === "TB" ? lineGeneratorTB : lineGeneratorLR;
|
|
488
462
|
const path = edgeG.append("path").attr("class", "bl-edge").attr("d", gen(points) ?? "").attr("fill", "none").attr("stroke", color).attr("stroke-width", sEdgeStrokeWidth).attr("marker-end", `url(#${markerId})`);
|
|
489
463
|
if (le.bidirectional) {
|
|
490
464
|
const revId = `bl-arrow-rev-${color.replace("#", "")}`;
|
|
@@ -505,7 +479,7 @@ function renderBoxesAndLines(container, parsed, layout, palette, isDark, options
|
|
|
505
479
|
}
|
|
506
480
|
if (isHidden) continue;
|
|
507
481
|
}
|
|
508
|
-
const
|
|
482
|
+
const fillMode = fillModeFromOptions(parsed.options);
|
|
509
483
|
const colors = nodeColors(
|
|
510
484
|
node,
|
|
511
485
|
parsed.tagGroups,
|
|
@@ -518,9 +492,9 @@ function renderBoxesAndLines(container, parsed, layout, palette, isDark, options
|
|
|
518
492
|
twoColor: rampLow !== void 0,
|
|
519
493
|
fillForValue
|
|
520
494
|
},
|
|
521
|
-
|
|
495
|
+
fillMode
|
|
522
496
|
);
|
|
523
|
-
const dividerStroke = solid ? colors.text : colors.stroke;
|
|
497
|
+
const dividerStroke = fillMode === "solid" ? colors.text : colors.stroke;
|
|
524
498
|
const nodeG = diagramG.append("g").attr("class", "bl-node").attr("transform", `translate(${ln.x},${ln.y})`).attr("data-line-number", node.lineNumber).attr("data-node-id", node.label).style("cursor", onClickItem ? "pointer" : "default").style("--bl-node-stroke", colors.stroke);
|
|
525
499
|
for (const [key, val] of Object.entries(node.metadata)) {
|
|
526
500
|
nodeG.attr(`data-tag-${key.toLowerCase()}`, val.toLowerCase());
|
|
@@ -783,4 +757,4 @@ export {
|
|
|
783
757
|
renderBoxesAndLines,
|
|
784
758
|
renderBoxesAndLinesForExport
|
|
785
759
|
};
|
|
786
|
-
//# sourceMappingURL=chunk-
|
|
760
|
+
//# sourceMappingURL=chunk-T4A4TSTJ.js.map
|
|
@@ -13,11 +13,14 @@ import {
|
|
|
13
13
|
contrastText,
|
|
14
14
|
mix,
|
|
15
15
|
themeBaseBg
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-WBM7ZNDI.js";
|
|
17
17
|
import {
|
|
18
18
|
resolveTagColor,
|
|
19
19
|
tagAttrKey
|
|
20
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-HHKO6SKY.js";
|
|
21
|
+
import {
|
|
22
|
+
fillModeFromOptions
|
|
23
|
+
} from "./chunk-BRENJ2BQ.js";
|
|
21
24
|
import {
|
|
22
25
|
CATEGORICAL_COLOR_ORDER,
|
|
23
26
|
resolveColor
|
|
@@ -124,7 +127,7 @@ function renderSwimlaneForExport(container, parsed, layout, palette, isDark, opt
|
|
|
124
127
|
laneColorById.set(lane.id, hex);
|
|
125
128
|
});
|
|
126
129
|
const isLR = parsed.direction === "LR";
|
|
127
|
-
const
|
|
130
|
+
const fillMode = fillModeFromOptions(parsed.options);
|
|
128
131
|
const laneFill = (hex) => mix(hex, baseBg, 9);
|
|
129
132
|
const haloAt = (cross) => {
|
|
130
133
|
for (const band of layout.lanes) {
|
|
@@ -173,28 +176,35 @@ function renderSwimlaneForExport(container, parsed, layout, palette, isDark, opt
|
|
|
173
176
|
phaseG.append("text").attr("x", isLR ? band.x + band.width / 2 : band.headerSize / 2).attr("y", isLR ? band.headerSize / 2 : band.y + band.height / 2).attr("text-anchor", "middle").attr("dominant-baseline", "middle").attr("font-size", PHASE_LABEL_FONT).attr("font-weight", "700").attr("letter-spacing", "0.06em").attr("fill", palette.textMuted).attr("data-line-number", String(band.lineNumber)).text(band.label);
|
|
174
177
|
});
|
|
175
178
|
const activeTag = opts.activeTagGroup ?? null;
|
|
179
|
+
const outline = fillMode === "outline";
|
|
176
180
|
const nodeFill = (n) => {
|
|
177
181
|
if (activeTag) {
|
|
178
182
|
const key = tagAttrKey(activeTag);
|
|
179
183
|
if (n.tags[key]) {
|
|
180
184
|
const c = resolveTagColor(n.tags, [...parsed.tagGroups], activeTag);
|
|
181
185
|
if (c && c !== "#999999")
|
|
182
|
-
return {
|
|
186
|
+
return {
|
|
187
|
+
fill: fillMode === "solid" ? c : outline ? baseBg : mix(c, baseBg, 22),
|
|
188
|
+
stroke: c
|
|
189
|
+
};
|
|
183
190
|
}
|
|
184
191
|
}
|
|
185
192
|
if (n.shape === "terminal") {
|
|
186
193
|
if (n.event === "error")
|
|
187
194
|
return {
|
|
188
|
-
fill: solid ? ev.error : mix(ev.error, baseBg, 22),
|
|
195
|
+
fill: fillMode === "solid" ? ev.error : outline ? baseBg : mix(ev.error, baseBg, 22),
|
|
189
196
|
stroke: ev.error
|
|
190
197
|
};
|
|
191
198
|
if (n.event === "success")
|
|
192
199
|
return {
|
|
193
|
-
fill: solid ? ev.success : mix(ev.success, baseBg, 22),
|
|
200
|
+
fill: fillMode === "solid" ? ev.success : outline ? baseBg : mix(ev.success, baseBg, 22),
|
|
194
201
|
stroke: ev.success
|
|
195
202
|
};
|
|
196
203
|
if (n.event === "terminate")
|
|
197
|
-
return {
|
|
204
|
+
return {
|
|
205
|
+
fill: outline ? baseBg : mix(palette.text, baseBg, 30),
|
|
206
|
+
stroke: palette.text
|
|
207
|
+
};
|
|
198
208
|
return { fill: palette.bg, stroke: palette.textMuted };
|
|
199
209
|
}
|
|
200
210
|
if (n.shape === "exclusive" || n.shape === "parallel") {
|
|
@@ -205,8 +215,8 @@ function renderSwimlaneForExport(container, parsed, layout, palette, isDark, opt
|
|
|
205
215
|
}
|
|
206
216
|
const hex = laneColorById.get(n.lane) ?? palette.border;
|
|
207
217
|
return {
|
|
208
|
-
fill: solid ? hex : mix(hex, baseBg, 20),
|
|
209
|
-
stroke: mix(hex, palette.text, 40)
|
|
218
|
+
fill: fillMode === "solid" ? hex : outline ? baseBg : mix(hex, baseBg, 20),
|
|
219
|
+
stroke: outline ? hex : mix(hex, palette.text, 40)
|
|
210
220
|
};
|
|
211
221
|
};
|
|
212
222
|
const nodeById = new Map(layout.nodes.map((n) => [n.id, n]));
|
|
@@ -391,4 +401,4 @@ function drawCenteredLabel(g, label, cx, cy, fill, fontSize, tight = false, halo
|
|
|
391
401
|
export {
|
|
392
402
|
renderSwimlaneForExport
|
|
393
403
|
};
|
|
394
|
-
//# sourceMappingURL=chunk-
|
|
404
|
+
//# sourceMappingURL=chunk-TJVLKNGR.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
tryCollectNote
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-ARGMQ3H4.js";
|
|
4
4
|
import {
|
|
5
5
|
resolveNotes
|
|
6
6
|
} from "./chunk-FMDSF3OV.js";
|
|
@@ -16,7 +16,7 @@ import {
|
|
|
16
16
|
measureIndent,
|
|
17
17
|
parseFirstLine,
|
|
18
18
|
tryParseSharedOption
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-BRENJ2BQ.js";
|
|
20
20
|
import {
|
|
21
21
|
resolveColorWithDiagnostic
|
|
22
22
|
} from "./chunk-TLVIHFRO.js";
|
|
@@ -445,4 +445,4 @@ export {
|
|
|
445
445
|
looksLikeClassDiagram,
|
|
446
446
|
extractSymbols
|
|
447
447
|
};
|
|
448
|
-
//# sourceMappingURL=chunk-
|
|
448
|
+
//# sourceMappingURL=chunk-TPFKKXCB.js.map
|
|
@@ -9,10 +9,10 @@ import {
|
|
|
9
9
|
} from "./chunk-YYVTBZZC.js";
|
|
10
10
|
import {
|
|
11
11
|
renderIntegratedLegend
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-AUIM2NVH.js";
|
|
13
13
|
import {
|
|
14
14
|
getMaxLegendReservedHeight
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-YAA6IID3.js";
|
|
16
16
|
import {
|
|
17
17
|
TITLE_FONT_SIZE,
|
|
18
18
|
TITLE_FONT_WEIGHT
|
|
@@ -23,21 +23,25 @@ import {
|
|
|
23
23
|
import {
|
|
24
24
|
LEGEND_HEIGHT,
|
|
25
25
|
measureLegendText
|
|
26
|
-
} from "./chunk-
|
|
26
|
+
} from "./chunk-QOOUC2J5.js";
|
|
27
27
|
import {
|
|
28
28
|
measureText
|
|
29
|
-
} from "./chunk-
|
|
29
|
+
} from "./chunk-WCT3NYCV.js";
|
|
30
30
|
import {
|
|
31
31
|
parseKanban
|
|
32
|
-
} from "./chunk-
|
|
32
|
+
} from "./chunk-3QD7VP3U.js";
|
|
33
33
|
import {
|
|
34
34
|
contrastText,
|
|
35
35
|
mix,
|
|
36
|
-
shapeFill
|
|
37
|
-
|
|
36
|
+
shapeFill,
|
|
37
|
+
themeBaseBg
|
|
38
|
+
} from "./chunk-WBM7ZNDI.js";
|
|
38
39
|
import {
|
|
39
40
|
tagAttrKey
|
|
40
|
-
} from "./chunk-
|
|
41
|
+
} from "./chunk-HHKO6SKY.js";
|
|
42
|
+
import {
|
|
43
|
+
fillModeFromOptions
|
|
44
|
+
} from "./chunk-BRENJ2BQ.js";
|
|
41
45
|
|
|
42
46
|
// src/kanban/renderer.ts
|
|
43
47
|
import * as d3Selection from "d3-selection";
|
|
@@ -277,7 +281,9 @@ function renderKanban(container, parsed, palette, isDark, options) {
|
|
|
277
281
|
const collapsedLanes = options?.collapsedLanes;
|
|
278
282
|
const collapsedColumns = options?.collapsedColumns ?? new Set(parsed.columns.filter((c) => c.collapsed).map((c) => c.id));
|
|
279
283
|
const compactMeta = options?.compactMeta ?? false;
|
|
280
|
-
const
|
|
284
|
+
const fillMode = fillModeFromOptions(parsed.options);
|
|
285
|
+
const baseBg = themeBaseBg(palette, isDark);
|
|
286
|
+
const wellStroke = mix(palette.border, baseBg, 20);
|
|
281
287
|
const requestedSwimlane = options?.currentSwimlaneGroup ?? null;
|
|
282
288
|
const swimlaneGroup = requestedSwimlane ? parsed.tagGroups.find(
|
|
283
289
|
(g) => g.name.toLowerCase() === requestedSwimlane.toLowerCase()
|
|
@@ -440,20 +446,26 @@ function renderKanban(container, parsed, palette, isDark, options) {
|
|
|
440
446
|
const isColCollapsed = collapsedColumns?.has(col.id) ?? false;
|
|
441
447
|
const g = svg.append("g").attr("class", "kanban-column").attr("data-column-id", col.id).attr("data-line-number", col.lineNumber);
|
|
442
448
|
const thisColBg = defaultColBg;
|
|
443
|
-
const thisColHeaderBg = col.color ? shapeFill(palette, col.color, isDark, {
|
|
449
|
+
const thisColHeaderBg = col.color ? shapeFill(palette, col.color, isDark, { mode: fillMode }) : defaultColHeaderBg;
|
|
444
450
|
const onHeaderText = col.color ? contrastText(
|
|
445
451
|
thisColHeaderBg,
|
|
446
452
|
palette.textOnFillLight,
|
|
447
453
|
palette.textOnFillDark
|
|
448
454
|
) : palette.text;
|
|
449
455
|
if (isColCollapsed) {
|
|
450
|
-
g.append("rect").attr("x", colLayout.x).attr("y", colLayout.y).attr("width", sCollapsedColumnWidth).attr("height", colLayout.height).attr("rx", sColumnRadius).attr("fill", thisColBg)
|
|
456
|
+
g.append("rect").attr("x", colLayout.x).attr("y", colLayout.y).attr("width", sCollapsedColumnWidth).attr("height", colLayout.height).attr("rx", sColumnRadius).attr("fill", fillMode === "outline" ? baseBg : thisColBg).call((sel) => {
|
|
457
|
+
if (fillMode === "outline")
|
|
458
|
+
sel.attr("stroke", wellStroke).attr("stroke-width", 1);
|
|
459
|
+
});
|
|
451
460
|
g.append("rect").attr("x", colLayout.x).attr("y", colLayout.y).attr("width", sCollapsedColumnWidth).attr("height", sColumnHeaderHeight).attr("rx", sColumnHeaderRadius).attr("fill", thisColHeaderBg);
|
|
452
461
|
g.append("text").attr("x", colLayout.x + sCollapsedColumnWidth / 2).attr("y", colLayout.y + sColumnHeaderHeight / 2 + sWipFontSize / 2 - 1).attr("font-size", sWipFontSize).attr("font-weight", "bold").attr("fill", col.color ? onHeaderText : palette.textMuted).attr("text-anchor", "middle").text(String(col.cards.length));
|
|
453
462
|
g.append("text").attr("x", colLayout.x + sCollapsedColumnWidth / 2).attr("y", colLayout.y + sColumnHeaderHeight + sColumnPadding).attr("font-size", sCardTitleFontSize).attr("font-weight", "bold").attr("fill", palette.text).attr("text-anchor", "middle").attr("writing-mode", "tb").text(col.name);
|
|
454
463
|
continue;
|
|
455
464
|
}
|
|
456
|
-
g.append("rect").attr("x", colLayout.x).attr("y", colLayout.y).attr("width", colLayout.width).attr("height", colLayout.height).attr("rx", sColumnRadius).attr("fill", thisColBg)
|
|
465
|
+
g.append("rect").attr("x", colLayout.x).attr("y", colLayout.y).attr("width", colLayout.width).attr("height", colLayout.height).attr("rx", sColumnRadius).attr("fill", fillMode === "outline" ? baseBg : thisColBg).call((sel) => {
|
|
466
|
+
if (fillMode === "outline")
|
|
467
|
+
sel.attr("stroke", wellStroke).attr("stroke-width", 1);
|
|
468
|
+
});
|
|
457
469
|
g.append("rect").attr("x", colLayout.x).attr("y", colLayout.y).attr("width", colLayout.width).attr("height", sColumnHeaderHeight).attr("rx", sColumnHeaderRadius).attr("fill", thisColHeaderBg);
|
|
458
470
|
g.append("text").attr("x", colLayout.x + sColumnPadding).attr(
|
|
459
471
|
"y",
|
|
@@ -484,7 +496,7 @@ function renderKanban(container, parsed, palette, isDark, options) {
|
|
|
484
496
|
palette,
|
|
485
497
|
resolvedColor ?? palette.primary,
|
|
486
498
|
isDark,
|
|
487
|
-
{
|
|
499
|
+
{ mode: fillMode }
|
|
488
500
|
);
|
|
489
501
|
const cardStroke = resolvedColor ?? palette.textMuted;
|
|
490
502
|
const onCardText = contrastText(
|
|
@@ -511,7 +523,7 @@ function renderKanban(container, parsed, palette, isDark, options) {
|
|
|
511
523
|
renderInlineText(titleEl, card.title, palette, sCardTitleFontSize);
|
|
512
524
|
if (hasMeta) {
|
|
513
525
|
const separatorY = cy + sCardHeaderHeight;
|
|
514
|
-
cg.append("line").attr("x1", cx).attr("y1", separatorY).attr("x2", cx + cardLayout.width).attr("y2", separatorY).attr("stroke", solid ? onCardText : cardStroke).attr("stroke-opacity", 0.3).attr("stroke-width", 1);
|
|
526
|
+
cg.append("line").attr("x1", cx).attr("y1", separatorY).attr("x2", cx + cardLayout.width).attr("y2", separatorY).attr("stroke", fillMode === "solid" ? onCardText : cardStroke).attr("stroke-opacity", 0.3).attr("stroke-width", 1);
|
|
515
527
|
let metaY = separatorY + sCardSeparatorGap + sCardMetaFontSize;
|
|
516
528
|
for (const meta of tagMeta) {
|
|
517
529
|
cg.append("text").attr("x", cx + sCardPaddingX).attr("y", metaY).attr("font-size", sCardMetaFontSize).attr("fill", onCardText).text(`${meta.label}: `);
|
|
@@ -732,7 +744,7 @@ function renderSwimlaneBoard(svg, parsed, baseLayout, swimlaneGroup, palette, is
|
|
|
732
744
|
const isColCollapsed = collapsedColumns?.has(col.id) ?? false;
|
|
733
745
|
const headerG = svg.append("g").attr("class", "kanban-column kanban-column-header").attr("data-column-id", col.id).attr("data-line-number", col.lineNumber);
|
|
734
746
|
const colHeaderBg = col.color ? shapeFill(palette, col.color, isDark, {
|
|
735
|
-
|
|
747
|
+
mode: fillModeFromOptions(parsed.options)
|
|
736
748
|
}) : defaultColHeaderBg;
|
|
737
749
|
headerG.append("rect").attr("x", colInfo.x).attr("y", grid.startY).attr("width", colInfo.width).attr("height", sColumnHeaderHeight).attr("rx", sColumnHeaderRadius).attr("fill", colHeaderBg);
|
|
738
750
|
if (isColCollapsed) {
|
|
@@ -808,7 +820,7 @@ function renderSwimlaneBoard(svg, parsed, baseLayout, swimlaneGroup, palette, is
|
|
|
808
820
|
palette,
|
|
809
821
|
isDark,
|
|
810
822
|
hiddenMetaGroups,
|
|
811
|
-
parsed.options
|
|
823
|
+
fillModeFromOptions(parsed.options),
|
|
812
824
|
sCardRadius,
|
|
813
825
|
sCardPaddingX,
|
|
814
826
|
sCardPaddingY,
|
|
@@ -824,7 +836,7 @@ function renderSwimlaneBoard(svg, parsed, baseLayout, swimlaneGroup, palette, is
|
|
|
824
836
|
}
|
|
825
837
|
}
|
|
826
838
|
}
|
|
827
|
-
function renderSwimlaneCard(parent, cardLayout, tagGroups, activeTagGroup, palette, isDark, hiddenMetaGroups,
|
|
839
|
+
function renderSwimlaneCard(parent, cardLayout, tagGroups, activeTagGroup, palette, isDark, hiddenMetaGroups, fillMode, sCardRadius = CARD_RADIUS, sCardPaddingX = CARD_PADDING_X, sCardPaddingY = CARD_PADDING_Y, sCardStrokeWidth = CARD_STROKE_WIDTH, sCardTitleFontSize = CARD_TITLE_FONT_SIZE, sCardMetaFontSize = CARD_META_FONT_SIZE, sCardHeaderHeight = CARD_HEADER_HEIGHT, sCardSeparatorGap = CARD_SEPARATOR_GAP, sCardMetaLineHeight = CARD_META_LINE_HEIGHT) {
|
|
828
840
|
const card = cardLayout.card;
|
|
829
841
|
const resolvedColor = resolveCardTagColor(card, tagGroups, activeTagGroup);
|
|
830
842
|
const tagMeta = resolveCardTagMeta(card, tagGroups, hiddenMetaGroups);
|
|
@@ -833,9 +845,7 @@ function renderSwimlaneCard(parent, cardLayout, tagGroups, activeTagGroup, palet
|
|
|
833
845
|
palette,
|
|
834
846
|
resolvedColor ?? palette.primary,
|
|
835
847
|
isDark,
|
|
836
|
-
{
|
|
837
|
-
...solid !== void 0 && { solid }
|
|
838
|
-
}
|
|
848
|
+
{ mode: fillMode }
|
|
839
849
|
);
|
|
840
850
|
const cardStroke = resolvedColor ?? palette.textMuted;
|
|
841
851
|
const onCardText = contrastText(
|
|
@@ -882,4 +892,4 @@ export {
|
|
|
882
892
|
renderKanban,
|
|
883
893
|
renderKanbanForExport
|
|
884
894
|
};
|
|
885
|
-
//# sourceMappingURL=chunk-
|
|
895
|
+
//# sourceMappingURL=chunk-TTIM6YTT.js.map
|