@diagrammo/dgmo 0.77.0 → 0.79.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/README.md +17 -13
- package/dist/advanced.d.ts +197 -23
- package/dist/advanced.js +161 -142
- package/dist/block.css +1 -1
- package/dist/block.d.ts +2 -2
- package/dist/block.js +62 -58
- package/dist/{calculator-CVQ54JNE.js → calculator-OHTCZSBW.js} +3 -3
- package/dist/{chart-meta-Cf_jkApJ.d.ts → chart-meta-B7lSmrzg.d.ts} +2 -2
- package/dist/chart-meta.d.ts +3 -3
- package/dist/chart-meta.js +45 -44
- package/dist/charts-d3-EST3Z5VG.js +31 -0
- package/dist/{chunk-U4DS2ODO.js → chunk-253E5ISJ.js} +9 -9
- package/dist/{chunk-7IATMZSA.js → chunk-26EVL454.js} +1 -25
- package/dist/{chunk-MG3DE3VO.js → chunk-2F7AG7LA.js} +4 -4
- package/dist/{chunk-OWVDD5EC.js → chunk-2R2M2C6V.js} +2 -2
- package/dist/{chunk-LYJ53DBK.js → chunk-2RAH6GVR.js} +56 -41
- package/dist/{chunk-Q74GP3GK.js → chunk-37NDM5NW.js} +3 -3
- package/dist/{chunk-N6MZSBOL.js → chunk-3BN3WCUD.js} +5 -2
- package/dist/chunk-3DPOIW3W.js +10 -0
- package/dist/{chunk-HDLRRY3N.js → chunk-3KFGPXHD.js} +195 -135
- package/dist/{chunk-NWNSXHA5.js → chunk-3KNA7OIO.js} +3 -3
- package/dist/{chunk-M5OOAP65.js → chunk-4CA7TJ44.js} +2 -1
- package/dist/{chunk-M5JT2AU7.js → chunk-4L43NPSQ.js} +10 -6
- package/dist/{chunk-4YER7UCV.js → chunk-4T6V7JJA.js} +3 -3
- package/dist/{chunk-3E4YB6TY.js → chunk-4YSWUQKZ.js} +12 -7
- package/dist/{chunk-6BVAW7KI.js → chunk-54JYWS7D.js} +50 -43
- package/dist/{chunk-7NSNE52V.js → chunk-55DMCFGM.js} +3 -3
- package/dist/{chunk-XPBJVSRY.js → chunk-5BV5MXLY.js} +38 -32
- package/dist/{chunk-5VMUVJO4.js → chunk-5DWF3N3V.js} +3 -3
- package/dist/{chunk-SSEAULA5.js → chunk-6775W3UW.js} +19 -15
- package/dist/{chunk-2QRIMMIH.js → chunk-6EMJRAEY.js} +3 -3
- package/dist/{chunk-OZOHREFQ.js → chunk-6FUIPWTS.js} +14 -15
- package/dist/{chunk-F4V67JXG.js → chunk-6JIMYPXR.js} +4 -4
- package/dist/{chunk-CHOK7NCJ.js → chunk-7AEMAUDF.js} +29 -25
- package/dist/{chunk-NVOU7N6C.js → chunk-7DCM3CB5.js} +2 -2
- package/dist/{chunk-UBDVAHGK.js → chunk-7EUTTKNU.js} +36 -31
- package/dist/{chunk-76NHL5UG.js → chunk-7I6NWTPE.js} +2 -2
- package/dist/{chunk-OKXWPKUC.js → chunk-7SHL2WME.js} +2 -2
- package/dist/{chunk-SWEKCK34.js → chunk-AFOHIR2O.js} +3 -3
- package/dist/{chunk-RWFMOVHG.js → chunk-AI7TZQ2R.js} +3 -3
- package/dist/{chunk-BWJLLNUX.js → chunk-ALVK3TBO.js} +3 -3
- package/dist/{chunk-GLREDNBA.js → chunk-AMQFJ7P7.js} +21 -2
- package/dist/{chunk-RGW26UAR.js → chunk-CCETDPLV.js} +11 -11
- package/dist/{chunk-5ZD4DDG7.js → chunk-CE654SL2.js} +17 -14
- package/dist/{chunk-TPN7RJOM.js → chunk-CFYTCBRH.js} +4 -4
- package/dist/{chunk-YT5ICQ4R.js → chunk-CKDYRVOC.js} +3 -3
- package/dist/{chunk-WQXD3IIN.js → chunk-CRBW2WS7.js} +11 -9
- package/dist/{chunk-J76YDS4V.js → chunk-CREALBZL.js} +3 -3
- package/dist/{chunk-MZEGUDTA.js → chunk-CSTYDCKB.js} +16 -16
- package/dist/{chunk-QBM5BURJ.js → chunk-DG5IQW74.js} +10 -10
- package/dist/{chunk-Y2CYNRL7.js → chunk-DN6K6QCF.js} +2 -2
- package/dist/{chunk-43AJKH2U.js → chunk-DQOCYWB6.js} +12 -10
- package/dist/{chunk-FTTB64OJ.js → chunk-EBEFYSVZ.js} +40 -40
- package/dist/{chunk-L65WI4HO.js → chunk-EDU2OCIQ.js} +2 -2
- package/dist/{chunk-SWUQJ5VR.js → chunk-EOG4QKKV.js} +108 -65
- package/dist/chunk-EPDBWATV.js +38 -0
- package/dist/{chunk-5GM6BZO7.js → chunk-F66R7CPY.js} +6 -3
- package/dist/{chunk-7BMX2M3F.js → chunk-FFDHZVEL.js} +2 -2
- package/dist/{chunk-WGC42WJU.js → chunk-FWNJDD4U.js} +6 -2
- package/dist/{chunk-SI3PYDL4.js → chunk-GWA6UGNX.js} +22 -22
- package/dist/{chunk-QMFIZQTB.js → chunk-HIOJSYDA.js} +7 -5
- package/dist/{chunk-NHQ7HUAS.js → chunk-HJ5DKZPO.js} +12 -10
- package/dist/{chunk-FPRMP6YA.js → chunk-HJZ4OET2.js} +32 -17
- package/dist/{chunk-N5NQIZ56.js → chunk-HLTVEXML.js} +25 -25
- package/dist/{chunk-6IN4F4RH.js → chunk-I6DFQQER.js} +42 -44
- package/dist/chunk-ICLB27PZ.js +11 -0
- package/dist/{chunk-R3XI2VC7.js → chunk-IDJGV6VM.js} +2 -1
- package/dist/{chunk-ZM27UI5O.js → chunk-IEK2FUWO.js} +19 -6
- package/dist/{chunk-FJ57274M.js → chunk-IIEI7VK5.js} +15 -1
- package/dist/{chunk-DY7KDZUF.js → chunk-IZK2H4KU.js} +3 -3
- package/dist/{chunk-CRLVJZWX.js → chunk-JOG6W3VS.js} +2 -2
- package/dist/{chunk-XFXJXLK7.js → chunk-JTLLQT34.js} +19 -19
- package/dist/{chunk-MS5574I7.js → chunk-K3K7JHZI.js} +2 -2
- package/dist/{chunk-GOW5VO6M.js → chunk-KHRZCKKG.js} +2 -2
- package/dist/{chunk-D3B6YEZK.js → chunk-KIF4UFD2.js} +20 -16
- package/dist/{chunk-EUVUOPRC.js → chunk-KYK6PMB5.js} +55 -34
- package/dist/{chunk-RU2HHHYA.js → chunk-LD2JSKU3.js} +12 -2
- package/dist/{chunk-CYMYZYLI.js → chunk-LJ7X6ZNV.js} +25 -28
- package/dist/{chunk-ICVIJLBA.js → chunk-LLYHYPYG.js} +4 -4
- package/dist/{chunk-VRPV6QXR.js → chunk-LLZVRWVS.js} +2 -2
- package/dist/{chunk-Z7KVOVE4.js → chunk-LXTMP3VT.js} +7 -4
- package/dist/{chunk-7CXW6EGX.js → chunk-MDUCF376.js} +28 -26
- package/dist/{chunk-KWSBNLSC.js → chunk-MQAD75AY.js} +2 -2
- package/dist/{chunk-XCFIAGT7.js → chunk-MUTZSF2A.js} +17 -16
- package/dist/{chunk-CF3I5SOG.js → chunk-NVI5G57O.js} +29 -27
- package/dist/{chunk-76LHNLGX.js → chunk-O2HU4AQN.js} +34 -5
- package/dist/{chunk-46KVXDUJ.js → chunk-O5QG5IFV.js} +12 -3
- package/dist/{chunk-V4NHFY22.js → chunk-OLRVGPJ3.js} +33 -20
- package/dist/{chunk-WHWUVDYK.js → chunk-OM6XZAKM.js} +7 -7
- package/dist/{chunk-DSXWJAOA.js → chunk-OMN4F42L.js} +17 -15
- package/dist/{chunk-LM3HY3VG.js → chunk-P4U5GST7.js} +3 -3
- package/dist/{chunk-BH3BQICT.js → chunk-PKW4TLJC.js} +88 -44
- package/dist/{chunk-GRN44Z6A.js → chunk-PQR7E3LY.js} +2 -2
- package/dist/{chunk-SH4PPRU7.js → chunk-Q5KGGW7Z.js} +2 -2
- package/dist/{chunk-RV5A3EGI.js → chunk-QDHOIBHZ.js} +21 -20
- package/dist/{chunk-UH5YTZN7.js → chunk-QDTFFVLT.js} +113 -23
- package/dist/chunk-QFIXL3OK.js +68 -0
- package/dist/{chunk-QXMHBIQG.js → chunk-QGXH64FT.js} +52 -49
- package/dist/{chunk-VS2M72PF.js → chunk-RLJKH4ZO.js} +4 -2
- package/dist/{chunk-6ZZKEYBS.js → chunk-RN3DOUOU.js} +17 -15
- package/dist/{chunk-VBJCGGNF.js → chunk-RPP3NHKV.js} +2 -2
- package/dist/{chunk-RTTZIX34.js → chunk-RVWWCQAB.js} +3 -3
- package/dist/{chunk-FR5EVD2X.js → chunk-RWF7TCGT.js} +68 -38
- package/dist/{chunk-LKS56RDT.js → chunk-S6GPBJWG.js} +2 -2
- package/dist/{chunk-UJBP57UJ.js → chunk-S7ZJEQPW.js} +4 -4
- package/dist/{chunk-3H4PDNP4.js → chunk-SEOM2BGQ.js} +3 -3
- package/dist/{chunk-5PFNUDXR.js → chunk-T3EW35M2.js} +3 -3
- package/dist/{chunk-3SP6G4LN.js → chunk-TPQ6Q7JP.js} +3 -3
- package/dist/{chunk-B52RL5VV.js → chunk-ULUZBEFO.js} +11 -11
- package/dist/{chunk-F4X5NVKY.js → chunk-UNYOWKEC.js} +13 -4
- package/dist/{chunk-DEW62ON3.js → chunk-VSPNH7LC.js} +2 -2
- package/dist/{chunk-C2WH3BMS.js → chunk-VTWUHX4H.js} +10 -7
- package/dist/{chunk-DJL5PO27.js → chunk-W4MC3KP6.js} +2 -2
- package/dist/{chunk-MU3CJPJF.js → chunk-W6DBWWPC.js} +3 -3
- package/dist/{chunk-JLODGGN2.js → chunk-WC72PTV4.js} +3 -3
- package/dist/{chunk-NCT22MOD.js → chunk-WMIKC5XO.js} +2 -2
- package/dist/{chunk-H7BYMIVK.js → chunk-WY4L675I.js} +70 -44
- package/dist/chunk-XBJJP2HN.js +37 -0
- package/dist/{chunk-KRTLS3G6.js → chunk-XDEEYDPQ.js} +4 -4
- package/dist/{chunk-S5P5Z5Y5.js → chunk-XNAMWOPJ.js} +3 -3
- package/dist/{chunk-2MTM4E6M.js → chunk-XND5JIJA.js} +68 -65
- package/dist/{chunk-S6OXNZBM.js → chunk-XWC4RQ7T.js} +4 -4
- package/dist/{chunk-UCZBRGJN.js → chunk-XXLAZQ5E.js} +2 -2
- package/dist/{chunk-LXXVHLTH.js → chunk-Y22BJKMK.js} +3 -3
- package/dist/{chunk-OO2L2LWV.js → chunk-Y2KFQX5K.js} +89 -66
- package/dist/{chunk-TI4YUUW6.js → chunk-Y3OLUMJH.js} +31 -30
- package/dist/{chunk-CIWFL2LM.js → chunk-Y3RYIGHZ.js} +17 -15
- package/dist/{chunk-MTGGOCND.js → chunk-YC6GVLTI.js} +61 -10
- package/dist/{chunk-TKIPK5P6.js → chunk-YD2HPT7W.js} +5 -7
- package/dist/{chunk-3O7ZYVJV.js → chunk-YPVP6I62.js} +19 -15
- package/dist/{chunk-FF7LRT5L.js → chunk-YQIZIKCK.js} +35 -27
- package/dist/{chunk-M526IKKH.js → chunk-Z4COUG7H.js} +2 -2
- package/dist/{chunk-LTTZX6RD.js → chunk-Z5ZCTCX4.js} +3 -3
- package/dist/{chunk-QOVM5VRC.js → chunk-ZASX45SU.js} +3 -3
- package/dist/{chunk-W7UBPARG.js → chunk-ZH3BWGTE.js} +3 -3
- package/dist/{chunk-TN754B3R.js → chunk-ZZZJVDIL.js} +2 -2
- package/dist/clock.js +11 -5
- package/dist/completion-registry.js +3 -3
- package/dist/countdown.js +26 -20
- package/dist/{d3-BiaJtaSw.d.ts → d3-Bje6Mla1.d.ts} +1 -1
- package/dist/dgmo-router-OXFV43XX.js +90 -0
- package/dist/{dgmo-router-BwXHZ_P3.d.ts → dgmo-router-zWf4Uxxg.d.ts} +1 -1
- package/dist/dimensions-AN34SPVX.js +22 -0
- package/dist/{flowchart-parser-NVBP3C5D.js → flowchart-parser-MRNAVG35.js} +4 -4
- package/dist/flowchart-renderer-IGSKJFMF.js +37 -0
- package/dist/index.d.ts +7 -7
- package/dist/index.js +75 -60
- package/dist/{layout-Y2V3LYV7.js → layout-5AYAYUJH.js} +2 -2
- package/dist/{layout-ZAGUFT2G.js → layout-6APS2RRG.js} +8 -7
- package/dist/{layout-B5GQVXXY.js → layout-6VUNAH6F.js} +8 -7
- package/dist/{layout-RV2T2YTT.js → layout-74HDWQYG.js} +6 -5
- package/dist/{layout-6SKHNQYO.js → layout-FCIYZV63.js} +4 -4
- package/dist/{layout-4LNMXLVK.js → layout-J2Z2SYH5.js} +3 -3
- package/dist/layout-LELNMRM5.js +16 -0
- package/dist/{layout-EM4DLMAX.js → layout-OPF6KTOH.js} +5 -5
- package/dist/layout-SUND6B7D.js +9 -0
- package/dist/layout-WASEHV3S.js +19 -0
- package/dist/{layout-SGYR6HBX.js → layout-XAJLQPI6.js} +3 -3
- package/dist/layout-XY45TFJ4.js +16 -0
- package/dist/layout-YPRXVCW5.js +19 -0
- package/dist/{layout-2OJ25STS.js → layout-ZJOWB27N.js} +9 -8
- package/dist/{layout-search-UOKEMER5.js → layout-search-3JKNSUTJ.js} +8 -7
- package/dist/{legend-constants-PLN2YHGM.js → legend-constants-RSWFR3L6.js} +4 -4
- package/dist/{palettes-54YSI3IX.js → palettes-IAF6WVL4.js} +5 -3
- package/dist/{parser-QOIZGW7I.js → parser-2Y7LWKNO.js} +4 -4
- package/dist/{parser-EQ4I3TSH.js → parser-4GUQUDAC.js} +5 -5
- package/dist/{parser-TA5TYZNL.js → parser-4OXANARZ.js} +5 -5
- package/dist/{parser-L7T7FY3H.js → parser-56UEMRXS.js} +4 -4
- package/dist/{parser-2GMHFSTS.js → parser-66QZQYGE.js} +4 -4
- package/dist/{parser-3AOMUX5D.js → parser-6SS7DKVW.js} +4 -4
- package/dist/{parser-QYAIFXLP.js → parser-AYURCBDZ.js} +4 -4
- package/dist/{parser-5XFGK5C5.js → parser-COPCQEHV.js} +6 -6
- package/dist/{parser-F4ZKDGUZ.js → parser-DEWJM5PX.js} +3 -3
- package/dist/{parser-ZXQZZK6W.js → parser-DQKZDA2J.js} +4 -3
- package/dist/{parser-WCFG3DZA.js → parser-EMPM3V35.js} +3 -3
- package/dist/{parser-6FUESG4N.js → parser-EP2JQJNV.js} +4 -4
- package/dist/{parser-ZYAFHXKQ.js → parser-FDDHTBRV.js} +4 -4
- package/dist/{parser-3KQONLXZ.js → parser-FDESUQ32.js} +3 -3
- package/dist/{parser-LV7PQBUG.js → parser-GK6CMK4P.js} +4 -4
- package/dist/{parser-WVE6SKB7.js → parser-H33OKBUB.js} +4 -4
- package/dist/{parser-ML3LVNDV.js → parser-HJBSWTDY.js} +4 -4
- package/dist/{parser-PR3OR3LO.js → parser-HRIKI5O3.js} +5 -5
- package/dist/{parser-H4ZUNLX4.js → parser-I77632XB.js} +3 -3
- package/dist/{parser-YWQCC33R.js → parser-JGMQE7FS.js} +4 -4
- package/dist/{parser-WMJEPZDC.js → parser-JIPG576H.js} +4 -4
- package/dist/{parser-E3OHNNTH.js → parser-JNJ2IFSO.js} +4 -4
- package/dist/{parser-CJNP7RKR.js → parser-LCUQTABE.js} +4 -4
- package/dist/{parser-4DLU4SNG.js → parser-LXU3MGG6.js} +3 -3
- package/dist/{parser-WWRRG2DV.js → parser-N4YB5EIZ.js} +4 -4
- package/dist/{parser-XVSDFO56.js → parser-NC36PRBR.js} +3 -3
- package/dist/{parser-RDBXEVI4.js → parser-O6WYAXTS.js} +4 -4
- package/dist/{parser-4KFJKLP2.js → parser-UHABNZBC.js} +3 -3
- package/dist/{parser-GCVSRQPY.js → parser-V6HULGXW.js} +4 -4
- package/dist/{parser-UTR5WE4O.js → parser-VVWZIMYS.js} +4 -4
- package/dist/{parser-B2XQNHZM.js → parser-YJGTPT7A.js} +3 -3
- package/dist/{parser-WQNT7T2P.js → parser-YQ5F7ATB.js} +3 -3
- package/dist/{parser-ZT3PU2HT.js → parser-ZUH2G7J2.js} +4 -4
- package/dist/renderer-2ZGZSSCV.js +39 -0
- package/dist/renderer-33AB7UAZ.js +35 -0
- package/dist/renderer-43KEDLTQ.js +23 -0
- package/dist/renderer-4E6NNPNU.js +29 -0
- package/dist/renderer-4HFT4HJG.js +39 -0
- package/dist/renderer-63MHARNI.js +20 -0
- package/dist/renderer-6HPV7BMG.js +23 -0
- package/dist/renderer-BVJ3NVRB.js +20 -0
- package/dist/renderer-DV44AS75.js +28 -0
- package/dist/renderer-FLLVGYUY.js +30 -0
- package/dist/renderer-FSV7MTW3.js +17 -0
- package/dist/renderer-H6XEVHKH.js +27 -0
- package/dist/renderer-HNEMQJXT.js +21 -0
- package/dist/{renderer-CVWQD442.js → renderer-IIN3RY4F.js} +6 -5
- package/dist/renderer-K2OWHNBV.js +25 -0
- package/dist/renderer-M6UIXQHH.js +27 -0
- package/dist/renderer-N5CRYFBI.js +31 -0
- package/dist/{renderer-VF7X66SL.js → renderer-O3O6A3RY.js} +16 -16
- package/dist/renderer-OVRX36WE.js +39 -0
- package/dist/renderer-PLKMHBAB.js +30 -0
- package/dist/{renderer-G2DPKJAN.js → renderer-REHVBQ57.js} +17 -16
- package/dist/{renderer-GHBF5PRH.js → renderer-RW446FGL.js} +6 -5
- package/dist/renderer-SJV75NUI.js +28 -0
- package/dist/renderer-TKWW45LZ.js +36 -0
- package/dist/{renderer-FTX67CYZ.js → renderer-UHLTPQTW.js} +7 -6
- package/dist/renderer-UNYFAMFE.js +16 -0
- package/dist/renderer-URXHBQOF.js +26 -0
- package/dist/renderer-VBAQQWDB.js +25 -0
- package/dist/renderer-VI72MVFW.js +77 -0
- package/dist/renderer-XGJIACBV.js +25 -0
- package/dist/renderer-XVTKGPYT.js +20 -0
- package/dist/{renderer-R5HIRN2M.js → renderer-YLIICO4R.js} +9 -9
- package/dist/renderer-ZG6GPWZF.js +27 -0
- package/dist/renderer-radial-7UHFYOOL.js +21 -0
- package/dist/{state-parser-TPA67IXM.js → state-parser-XT4ZPQAF.js} +5 -5
- package/dist/state-renderer-6TVII5ZJ.js +41 -0
- package/dist/{tag-groups-BAtkq0b_.d.ts → tag-groups-DIJV_50B.d.ts} +18 -9
- package/dist/{themes-DpsyRSO7.d.ts → themes-Bgkyh6gh.d.ts} +2 -2
- package/docs/architecture-report.md +3 -3
- package/docs/language-reference.md +128 -30
- package/docs/migration-sequence-color-to-tags.md +16 -8
- package/package.json +7 -6
- package/dist/charts-d3-HMEMHSSW.js +0 -29
- package/dist/chunk-53SEVJQM.js +0 -9
- package/dist/chunk-LP7EC4MI.js +0 -16
- package/dist/chunk-YM5RMLFO.js +0 -40
- package/dist/dgmo-router-A3LIHT6H.js +0 -89
- package/dist/dimensions-OFF4GRFL.js +0 -22
- package/dist/flowchart-renderer-BBJUPORB.js +0 -36
- package/dist/layout-5ILNODTP.js +0 -15
- package/dist/layout-IN53LAE6.js +0 -9
- package/dist/layout-KQUSB45X.js +0 -18
- package/dist/layout-ROORJQ4X.js +0 -18
- package/dist/layout-VUZ3MLOI.js +0 -15
- package/dist/renderer-2ANDPQWC.js +0 -16
- package/dist/renderer-2LDT4TUX.js +0 -25
- package/dist/renderer-2NYQDW37.js +0 -20
- package/dist/renderer-2RIIIO34.js +0 -39
- package/dist/renderer-3HFU3DTO.js +0 -25
- package/dist/renderer-4BF6ILP6.js +0 -27
- package/dist/renderer-5E2AH5TO.js +0 -38
- package/dist/renderer-62SLWRYF.js +0 -27
- package/dist/renderer-ANJUDBOS.js +0 -34
- package/dist/renderer-D6GJ6EVK.js +0 -30
- package/dist/renderer-DNFV2IQI.js +0 -36
- package/dist/renderer-EDVCGIQO.js +0 -76
- package/dist/renderer-EFQSMHID.js +0 -27
- package/dist/renderer-GZLRX764.js +0 -24
- package/dist/renderer-H2HYLFN3.js +0 -20
- package/dist/renderer-IR5655M7.js +0 -28
- package/dist/renderer-L237AOOZ.js +0 -16
- package/dist/renderer-LSJWYGOL.js +0 -39
- package/dist/renderer-LWXDMZOV.js +0 -28
- package/dist/renderer-MYSVPERC.js +0 -22
- package/dist/renderer-OL5QSZPC.js +0 -31
- package/dist/renderer-P26HH3NA.js +0 -30
- package/dist/renderer-RNFECJ5D.js +0 -21
- package/dist/renderer-RPZVNCTF.js +0 -26
- package/dist/renderer-SDNWZDUY.js +0 -23
- package/dist/renderer-UKHH4UWV.js +0 -25
- package/dist/renderer-Y3Y7PEUS.js +0 -20
- package/dist/renderer-radial-QNGCGKZP.js +0 -21
- package/dist/state-renderer-ELWDRXD6.js +0 -40
|
@@ -4,25 +4,32 @@ import {
|
|
|
4
4
|
import {
|
|
5
5
|
computeNodeSizing,
|
|
6
6
|
layoutPert
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-KHRZCKKG.js";
|
|
8
8
|
import {
|
|
9
|
+
ScaleContext
|
|
10
|
+
} from "./chunk-24YPR5EH.js";
|
|
11
|
+
import {
|
|
12
|
+
ARROWHEAD_HEIGHT,
|
|
13
|
+
ARROWHEAD_WIDTH,
|
|
14
|
+
CARD_RADIUS,
|
|
9
15
|
COLLAPSE_BAR_HEIGHT,
|
|
10
16
|
CONTAINER_HEADER_HEIGHT,
|
|
11
17
|
CONTAINER_LABEL_FONT_SIZE,
|
|
12
18
|
CONTAINER_RADIUS,
|
|
19
|
+
EDGE_DASH,
|
|
13
20
|
EDGE_STROKE_WIDTH,
|
|
21
|
+
HAIRLINE_DASH,
|
|
22
|
+
LABEL_FONT_SIZE,
|
|
23
|
+
META_FONT_SIZE,
|
|
14
24
|
NODE_STROKE_WIDTH
|
|
15
|
-
} from "./chunk-
|
|
16
|
-
import {
|
|
17
|
-
ScaleContext
|
|
18
|
-
} from "./chunk-24YPR5EH.js";
|
|
25
|
+
} from "./chunk-IIEI7VK5.js";
|
|
19
26
|
import {
|
|
20
27
|
INLINE_HEADER_PAD,
|
|
21
28
|
layoutInlineHeader
|
|
22
|
-
} from "./chunk-
|
|
29
|
+
} from "./chunk-2F7AG7LA.js";
|
|
23
30
|
import {
|
|
24
31
|
serializeSvg
|
|
25
|
-
} from "./chunk-
|
|
32
|
+
} from "./chunk-LD2JSKU3.js";
|
|
26
33
|
import {
|
|
27
34
|
CAPTION_BOX_PADDING_X,
|
|
28
35
|
CAPTION_BOX_PADDING_Y,
|
|
@@ -32,27 +39,27 @@ import {
|
|
|
32
39
|
TITLE_FONT_SIZE,
|
|
33
40
|
TITLE_FONT_WEIGHT,
|
|
34
41
|
TITLE_Y
|
|
35
|
-
} from "./chunk-
|
|
42
|
+
} from "./chunk-VSPNH7LC.js";
|
|
36
43
|
import {
|
|
37
44
|
renderIntegratedLegend
|
|
38
|
-
} from "./chunk-
|
|
45
|
+
} from "./chunk-253E5ISJ.js";
|
|
39
46
|
import {
|
|
40
47
|
getLegendExtent
|
|
41
|
-
} from "./chunk-
|
|
48
|
+
} from "./chunk-LLZVRWVS.js";
|
|
42
49
|
import {
|
|
43
50
|
FONT_FAMILY
|
|
44
|
-
} from "./chunk-
|
|
51
|
+
} from "./chunk-ICLB27PZ.js";
|
|
45
52
|
import {
|
|
46
53
|
LEGEND_HEIGHT
|
|
47
|
-
} from "./chunk-
|
|
54
|
+
} from "./chunk-CKDYRVOC.js";
|
|
48
55
|
import {
|
|
49
56
|
measureText,
|
|
50
57
|
truncateText,
|
|
51
58
|
wrapTextToWidth
|
|
52
|
-
} from "./chunk-
|
|
59
|
+
} from "./chunk-YC6GVLTI.js";
|
|
53
60
|
import {
|
|
54
61
|
parsePert
|
|
55
|
-
} from "./chunk-
|
|
62
|
+
} from "./chunk-AI7TZQ2R.js";
|
|
56
63
|
import {
|
|
57
64
|
addCalendarDays,
|
|
58
65
|
formatDuration,
|
|
@@ -61,23 +68,24 @@ import {
|
|
|
61
68
|
formatSprintCell
|
|
62
69
|
} from "./chunk-3TYUXC7D.js";
|
|
63
70
|
import {
|
|
71
|
+
UNTAGGED_TAG_COLOR,
|
|
64
72
|
resolveActiveTagGroup,
|
|
73
|
+
resolveGroupTagColor,
|
|
65
74
|
resolveTagColor
|
|
66
|
-
} from "./chunk-
|
|
75
|
+
} from "./chunk-O2HU4AQN.js";
|
|
67
76
|
import {
|
|
68
77
|
contrastText,
|
|
78
|
+
groupFill,
|
|
69
79
|
mix,
|
|
70
80
|
shapeFill,
|
|
71
81
|
themeBaseBg
|
|
72
|
-
} from "./chunk-
|
|
82
|
+
} from "./chunk-AMQFJ7P7.js";
|
|
73
83
|
|
|
74
84
|
// src/pert/renderer.ts
|
|
75
85
|
import * as d3Selection from "d3-selection";
|
|
76
86
|
import * as d3Shape from "d3-shape";
|
|
87
|
+
var PAST_PERCENTILE_DASH = "4 2";
|
|
77
88
|
var DIAGRAM_PADDING = 20;
|
|
78
|
-
var NODE_FONT_SIZE = 13;
|
|
79
|
-
var NODE_CELL_FONT_SIZE = 11;
|
|
80
|
-
var NODE_RADIUS = 6;
|
|
81
89
|
function analysisBlockChrome(palette, isDark) {
|
|
82
90
|
const surfaceBg = themeBaseBg(palette, isDark);
|
|
83
91
|
return {
|
|
@@ -87,8 +95,6 @@ function analysisBlockChrome(palette, isDark) {
|
|
|
87
95
|
}
|
|
88
96
|
var NODE_TOP_ROW_HEIGHT = 26;
|
|
89
97
|
var NODE_BOTTOM_ROW_HEIGHT = 26;
|
|
90
|
-
var ARROWHEAD_W = 10;
|
|
91
|
-
var ARROWHEAD_H = 7;
|
|
92
98
|
var DURATION_FADE_OPACITY = 0.55;
|
|
93
99
|
var PIN_ICON_W = 13;
|
|
94
100
|
var PIN_ICON_H = 13;
|
|
@@ -208,15 +214,15 @@ function renderPert(container, resolved, layout, palette, isDark, options = {})
|
|
|
208
214
|
const sLegendBottomGap = ctx.aesthetic(LEGEND_BOTTOM_GAP);
|
|
209
215
|
const sLegendPillHeight = ctx.structural(LEGEND_PILL_HEIGHT);
|
|
210
216
|
const sLegendBlockHeight = showTagLegend ? sLegendTopGap + sLegendPillHeight + sLegendBottomGap : 0;
|
|
211
|
-
const sNodeRadius = ctx.structural(
|
|
217
|
+
const sNodeRadius = ctx.structural(CARD_RADIUS);
|
|
212
218
|
const sNodeStrokeWidth = ctx.structural(NODE_STROKE_WIDTH);
|
|
213
|
-
const sNodeFontSize = ctx.text(
|
|
214
|
-
const sNodeCellFontSize = ctx.text(
|
|
219
|
+
const sNodeFontSize = ctx.text(LABEL_FONT_SIZE);
|
|
220
|
+
const sNodeCellFontSize = ctx.text(META_FONT_SIZE);
|
|
215
221
|
const sNodeTopRowHeight = ctx.structural(NODE_TOP_ROW_HEIGHT);
|
|
216
222
|
const sNodeBottomRowHeight = ctx.structural(NODE_BOTTOM_ROW_HEIGHT);
|
|
217
223
|
const sEdgeStrokeWidth = ctx.structural(EDGE_STROKE_WIDTH);
|
|
218
|
-
const sArrowheadW = ctx.structural(
|
|
219
|
-
const sArrowheadH = ctx.structural(
|
|
224
|
+
const sArrowheadW = ctx.structural(ARROWHEAD_WIDTH);
|
|
225
|
+
const sArrowheadH = ctx.structural(ARROWHEAD_HEIGHT);
|
|
220
226
|
const sContainerRadius = ctx.structural(CONTAINER_RADIUS);
|
|
221
227
|
const sContainerLabelFontSize = ctx.text(CONTAINER_LABEL_FONT_SIZE);
|
|
222
228
|
const sContainerHeaderHeight = ctx.structural(CONTAINER_HEADER_HEIGHT);
|
|
@@ -263,7 +269,7 @@ function renderPert(container, resolved, layout, palette, isDark, options = {})
|
|
|
263
269
|
}
|
|
264
270
|
if (effectiveSubtitle) {
|
|
265
271
|
const subtitleY = effectiveTitle ? sTitleY + ctx.aesthetic(26) : sTitleY;
|
|
266
|
-
svg.append("text").attr("class", "pert-subtitle").attr("x", svgW / 2).attr("y", subtitleY).attr("text-anchor", "middle").attr("fill", palette.textMuted).attr("font-size", sSubtitleFontSize).attr("font-weight",
|
|
272
|
+
svg.append("text").attr("class", "pert-subtitle").attr("x", svgW / 2).attr("y", subtitleY).attr("text-anchor", "middle").attr("fill", palette.textMuted).attr("font-size", sSubtitleFontSize).attr("font-weight", "normal").text(effectiveSubtitle);
|
|
267
273
|
}
|
|
268
274
|
const offsetX = Math.max(sDiagramPad, (svgW - layout.width) / 2);
|
|
269
275
|
const offsetY = sDiagramPad + sTitleHeight + (header.inline ? 0 : sLegendBlockHeight);
|
|
@@ -282,20 +288,30 @@ function renderPert(container, resolved, layout, palette, isDark, options = {})
|
|
|
282
288
|
}
|
|
283
289
|
const root = svg.append("g").attr("transform", `translate(${offsetX}, ${offsetY})`);
|
|
284
290
|
const sizing = computeNodeSizing(resolved);
|
|
285
|
-
renderGroups(
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
291
|
+
renderGroups(
|
|
292
|
+
root,
|
|
293
|
+
resolved,
|
|
294
|
+
layout,
|
|
295
|
+
palette,
|
|
296
|
+
isDark,
|
|
297
|
+
collapsedSet,
|
|
298
|
+
sizing,
|
|
299
|
+
{
|
|
300
|
+
nodeRadius: sNodeRadius,
|
|
301
|
+
nodeStrokeWidth: sNodeStrokeWidth,
|
|
302
|
+
containerRadius: sContainerRadius,
|
|
303
|
+
containerLabelFontSize: sContainerLabelFontSize,
|
|
304
|
+
containerHeaderHeight: sContainerHeaderHeight,
|
|
305
|
+
collapseBarHeight: sCollapseBarHeight,
|
|
306
|
+
nodeTopRowHeight: sNodeTopRowHeight,
|
|
307
|
+
nodeBottomRowHeight: sNodeBottomRowHeight,
|
|
308
|
+
nodeFontSize: sNodeFontSize,
|
|
309
|
+
nodeCellFontSize: sNodeCellFontSize,
|
|
310
|
+
pinIconW: sPinIconW,
|
|
311
|
+
pinIconH: sPinIconH
|
|
312
|
+
},
|
|
313
|
+
tagLegendActive
|
|
314
|
+
);
|
|
299
315
|
renderEdges(root, resolved, layout, palette, collapsedSet, {
|
|
300
316
|
edgeStrokeWidth: sEdgeStrokeWidth,
|
|
301
317
|
edgeLabelFontSize: ctx.text(10)
|
|
@@ -660,7 +676,7 @@ function renderPertAnalysisBlock(container, resolved, palette, isDark, options)
|
|
|
660
676
|
const svg = d3Selection.select(container).append("svg").attr("width", width).attr("height", totalHeight).attr("viewBox", `0 0 ${width} ${totalHeight}`).attr("preserveAspectRatio", "xMidYMin meet").style("font-family", FONT_FAMILY).style("overflow", "visible");
|
|
661
677
|
paintAnalysisLayer(svg, resolved, palette, isDark, state, 0, 0, width);
|
|
662
678
|
}
|
|
663
|
-
function buildArrowheads(defs, palette, arrowW =
|
|
679
|
+
function buildArrowheads(defs, palette, arrowW = ARROWHEAD_WIDTH, arrowH = ARROWHEAD_HEIGHT) {
|
|
664
680
|
const mk = (id, fill) => {
|
|
665
681
|
defs.append("marker").attr("id", id).attr("viewBox", `0 0 ${arrowW} ${arrowH}`).attr("refX", arrowW).attr("refY", arrowH / 2).attr("markerWidth", arrowW).attr("markerHeight", arrowH).attr("orient", "auto").append("polygon").attr("points", `0,0 ${arrowW},${arrowH / 2} 0,${arrowH}`).attr("fill", fill);
|
|
666
682
|
};
|
|
@@ -671,13 +687,13 @@ function buildArrowheads(defs, palette, arrowW = ARROWHEAD_W, arrowH = ARROWHEAD
|
|
|
671
687
|
mk("pert-arrow-green", palette.colors.green);
|
|
672
688
|
mk("pert-arrow-blue", palette.colors.blue);
|
|
673
689
|
}
|
|
674
|
-
function renderGroups(root, resolved, layout, palette, isDark, collapsedSet, sizing, sc = {}) {
|
|
690
|
+
function renderGroups(root, resolved, layout, palette, isDark, collapsedSet, sizing, sc = {}, activeTagGroup = null) {
|
|
675
691
|
if (layout.groups.length === 0) return;
|
|
676
692
|
const layer = root.append("g").attr("class", "pert-groups");
|
|
677
693
|
const unit = resolved.options.timeUnit;
|
|
678
694
|
const fillMode = resolved.options.fillMode;
|
|
679
|
-
const
|
|
680
|
-
const
|
|
695
|
+
const neutralContainerFill = mix(palette.surface, palette.bg, 40);
|
|
696
|
+
const neutralContainerStroke = palette.textMuted;
|
|
681
697
|
const mcOn = resolved.monteCarloResult !== null;
|
|
682
698
|
const groupHasCritical = (groupId) => resolved.activities.some(
|
|
683
699
|
(a) => a.activity.groupId === groupId && a.isCriticalPath
|
|
@@ -690,6 +706,13 @@ function renderGroups(root, resolved, layout, palette, isDark, collapsedSet, siz
|
|
|
690
706
|
const isCollapsed = collapsedSet.has(grp.id);
|
|
691
707
|
const memberBand = groupBand(grp.id, resolvedGroup?.criticality ?? null);
|
|
692
708
|
const memberCritical = groupHasCritical(grp.id);
|
|
709
|
+
const grpTagColor = resolveGroupTagColor(
|
|
710
|
+
resolvedGroup?.group.tags,
|
|
711
|
+
resolved.tagGroups,
|
|
712
|
+
activeTagGroup
|
|
713
|
+
);
|
|
714
|
+
const containerFill = grpTagColor ? groupFill(palette, isDark, grpTagColor) : neutralContainerFill;
|
|
715
|
+
const containerStroke = grpTagColor ?? neutralContainerStroke;
|
|
693
716
|
const g = layer.append("g").attr(
|
|
694
717
|
"class",
|
|
695
718
|
isCollapsed ? "pert-group pert-group-collapsed" : "pert-group"
|
|
@@ -736,7 +759,7 @@ function renderGroups(root, resolved, layout, palette, isDark, collapsedSet, siz
|
|
|
736
759
|
palette.textOnFillLight,
|
|
737
760
|
palette.textOnFillDark
|
|
738
761
|
);
|
|
739
|
-
const sNR = sc.nodeRadius ??
|
|
762
|
+
const sNR = sc.nodeRadius ?? CARD_RADIUS;
|
|
740
763
|
const sCBH = sc.collapseBarHeight ?? COLLAPSE_BAR_HEIGHT;
|
|
741
764
|
drawTextbookCard(g, {
|
|
742
765
|
width: grp.width,
|
|
@@ -775,7 +798,7 @@ function renderGroups(root, resolved, layout, palette, isDark, collapsedSet, siz
|
|
|
775
798
|
const sCLFS = sc.containerLabelFontSize ?? CONTAINER_LABEL_FONT_SIZE;
|
|
776
799
|
const sCHH = sc.containerHeaderHeight ?? CONTAINER_HEADER_HEIGHT;
|
|
777
800
|
const sNSW = sc.nodeStrokeWidth ?? NODE_STROKE_WIDTH;
|
|
778
|
-
g.append("rect").attr("x", grp.x).attr("y", grp.y).attr("width", grp.width).attr("height", grp.height).attr("rx", sCR).attr("ry", sCR).attr("fill", containerFill).attr("stroke", containerStroke).attr("stroke-opacity", 0.35).attr("stroke-width", sNSW);
|
|
801
|
+
g.append("rect").attr("x", grp.x).attr("y", grp.y).attr("width", grp.width).attr("height", grp.height).attr("rx", sCR).attr("ry", sCR).attr("fill", containerFill).attr("stroke", containerStroke).attr("stroke-opacity", grpTagColor ? 1 : 0.35).attr("stroke-width", sNSW);
|
|
779
802
|
g.append("text").attr("x", grp.x + grp.width / 2).attr("y", grp.y + sCHH / 2 + sCLFS / 2 - 2).attr("text-anchor", "middle").attr("font-family", FONT_FAMILY).attr("fill", palette.text).attr("font-size", sCLFS).attr("font-weight", "bold").text(label);
|
|
780
803
|
}
|
|
781
804
|
}
|
|
@@ -884,7 +907,7 @@ function renderNodes(root, _defs, resolved, layout, palette, isDark, sizing, onC
|
|
|
884
907
|
if (r.activity.groupId && collapsedSet.has(r.activity.groupId)) continue;
|
|
885
908
|
const isCritical = r.isCriticalPath;
|
|
886
909
|
const isTbd = tbdSet.has(node.id);
|
|
887
|
-
const dashArray = isTbd ?
|
|
910
|
+
const dashArray = isTbd ? EDGE_DASH : "none";
|
|
888
911
|
const isTopMu = topMuIds.has(node.id);
|
|
889
912
|
const isBottomMu = bottomMuIds.has(node.id);
|
|
890
913
|
let band;
|
|
@@ -924,7 +947,7 @@ function renderNodes(root, _defs, resolved, layout, palette, isDark, sizing, onC
|
|
|
924
947
|
resolved.tagGroups,
|
|
925
948
|
activeTagGroup
|
|
926
949
|
);
|
|
927
|
-
const hasTagColor = tagColor !== void 0 && tagColor !==
|
|
950
|
+
const hasTagColor = tagColor !== void 0 && tagColor !== UNTAGGED_TAG_COLOR;
|
|
928
951
|
const tagBandFill = hasTagColor ? shapeFill(palette, tagColor, isDark, { mode: fillMode }) : void 0;
|
|
929
952
|
const tagLabelColor = hasTagColor ? contrastText(
|
|
930
953
|
tagBandFill,
|
|
@@ -1009,12 +1032,12 @@ function computeDurationEmphasis(activities) {
|
|
|
1009
1032
|
}
|
|
1010
1033
|
function drawTextbookCard(g, a) {
|
|
1011
1034
|
const { width: w, height: h, x, y } = a;
|
|
1012
|
-
const sNR = a.sNodeRadius ??
|
|
1035
|
+
const sNR = a.sNodeRadius ?? CARD_RADIUS;
|
|
1013
1036
|
const sNSW = a.sNodeStrokeWidth ?? NODE_STROKE_WIDTH;
|
|
1014
1037
|
const sTRH = a.sNodeTopRowHeight ?? NODE_TOP_ROW_HEIGHT;
|
|
1015
1038
|
const sBRH = a.sNodeBottomRowHeight ?? NODE_BOTTOM_ROW_HEIGHT;
|
|
1016
|
-
const sNFS = a.sNodeFontSize ??
|
|
1017
|
-
const sNCFS = a.sNodeCellFontSize ??
|
|
1039
|
+
const sNFS = a.sNodeFontSize ?? LABEL_FONT_SIZE;
|
|
1040
|
+
const sNCFS = a.sNodeCellFontSize ?? META_FONT_SIZE;
|
|
1018
1041
|
const sPIW = a.sPinIconW ?? PIN_ICON_W;
|
|
1019
1042
|
const sPIH = a.sPinIconH ?? PIN_ICON_H;
|
|
1020
1043
|
const outerColW = a.outerColW;
|
|
@@ -1108,11 +1131,11 @@ function drawTextbookCard(g, a) {
|
|
|
1108
1131
|
}
|
|
1109
1132
|
function drawMilestonePill(g, a) {
|
|
1110
1133
|
const { width: w, height: h, x, y } = a;
|
|
1111
|
-
const sNR = a.sNodeRadius ??
|
|
1134
|
+
const sNR = a.sNodeRadius ?? CARD_RADIUS;
|
|
1112
1135
|
const sNSW = a.sNodeStrokeWidth ?? NODE_STROKE_WIDTH;
|
|
1113
1136
|
const topRowH = a.sNodeTopRowHeight ?? NODE_TOP_ROW_HEIGHT;
|
|
1114
1137
|
const botRowH = a.sNodeBottomRowHeight ?? NODE_BOTTOM_ROW_HEIGHT;
|
|
1115
|
-
const sNCFS = a.sNodeCellFontSize ??
|
|
1138
|
+
const sNCFS = a.sNodeCellFontSize ?? META_FONT_SIZE;
|
|
1116
1139
|
const sPIW = a.sPinIconW ?? PIN_ICON_W;
|
|
1117
1140
|
const sPIH = a.sPinIconH ?? PIN_ICON_H;
|
|
1118
1141
|
const topY = y + topRowH;
|
|
@@ -1258,8 +1281,8 @@ function renderFieldLegendBlock(svg, args) {
|
|
|
1258
1281
|
const gridBottom = y + height;
|
|
1259
1282
|
const rowH = (gridBottom - gridTop) / 2;
|
|
1260
1283
|
const block = svg.append("g").attr("class", "pert-field-legend").attr("data-pert-field-legend", "");
|
|
1261
|
-
block.append("rect").attr("class", "pert-field-legend-rect").attr("x", x).attr("y", y).attr("width", width).attr("height", height).attr("rx",
|
|
1262
|
-
block.append("text").attr("class", "pert-field-legend-header").attr("x", x + width / 2).attr("y", headerY).attr("text-anchor", "middle").attr("fill", labelColor).attr("font-size", CAPTION_FONT_SIZE).attr("font-weight", "
|
|
1284
|
+
block.append("rect").attr("class", "pert-field-legend-rect").attr("x", x).attr("y", y).attr("width", width).attr("height", height).attr("rx", CARD_RADIUS).attr("ry", CARD_RADIUS).attr("fill", "none").attr("stroke", baseColor).attr("stroke-opacity", 0.4).attr("stroke-width", 1);
|
|
1285
|
+
block.append("text").attr("class", "pert-field-legend-header").attr("x", x + width / 2).attr("y", headerY).attr("text-anchor", "middle").attr("fill", labelColor).attr("font-size", CAPTION_FONT_SIZE).attr("font-weight", "bold").text("Field labels");
|
|
1263
1286
|
const grid = (x1, y1, x2, y2) => {
|
|
1264
1287
|
block.append("line").attr("x1", x1).attr("y1", y1).attr("x2", x2).attr("y2", y2).attr("stroke", baseColor).attr("stroke-opacity", 0.3).attr("stroke-width", 1);
|
|
1265
1288
|
};
|
|
@@ -1285,7 +1308,7 @@ function renderFieldLegendBlock(svg, args) {
|
|
|
1285
1308
|
const stackTop = cellTop + Math.max((rowH - stackHeight) / 2, 0);
|
|
1286
1309
|
const labelY = stackTop + FIELD_LEGEND_LABEL_FONT_SIZE;
|
|
1287
1310
|
const firstDescY = labelY + FIELD_LEGEND_LABEL_DESC_GAP + FIELD_LEGEND_DESC_FONT_SIZE;
|
|
1288
|
-
cellG.append("text").attr("class", "pert-field-legend-label").attr("x", cx).attr("y", labelY).attr("text-anchor", "middle").attr("font-family", FONT_FAMILY).attr("font-size", FIELD_LEGEND_LABEL_FONT_SIZE).attr("font-weight",
|
|
1311
|
+
cellG.append("text").attr("class", "pert-field-legend-label").attr("x", cx).attr("y", labelY).attr("text-anchor", "middle").attr("font-family", FONT_FAMILY).attr("font-size", FIELD_LEGEND_LABEL_FONT_SIZE).attr("font-weight", "bold").attr("fill", labelColor).text(cell.label);
|
|
1289
1312
|
const descText = cellG.append("text").attr("class", "pert-field-legend-desc").attr("x", cx).attr("y", firstDescY).attr("text-anchor", "middle").attr("font-family", FONT_FAMILY).attr("font-size", FIELD_LEGEND_DESC_FONT_SIZE).attr("fill", labelColor).attr("opacity", 0.85);
|
|
1290
1313
|
descLines.forEach((line2, idx) => {
|
|
1291
1314
|
const tspan = descText.append("tspan").attr("x", cx).text(line2);
|
|
@@ -1343,8 +1366,8 @@ function renderTornadoBlock(svg, rows, args) {
|
|
|
1343
1366
|
palette.textOnFillDark
|
|
1344
1367
|
);
|
|
1345
1368
|
const block = svg.append("g").attr("class", "pert-tornado-block").attr("data-pert-tornado", "");
|
|
1346
|
-
block.append("rect").attr("class", "pert-tornado-rect").attr("x", x).attr("y", y).attr("width", width).attr("height", height).attr("rx",
|
|
1347
|
-
block.append("text").attr("class", "pert-tornado-header").attr("x", x + width / 2).attr("y", y + CAPTION_BOX_PADDING_Y + CAPTION_FONT_SIZE).attr("text-anchor", "middle").attr("fill", labelColor).attr("font-size", CAPTION_FONT_SIZE).attr("font-weight", "
|
|
1369
|
+
block.append("rect").attr("class", "pert-tornado-rect").attr("x", x).attr("y", y).attr("width", width).attr("height", height).attr("rx", CARD_RADIUS).attr("ry", CARD_RADIUS).attr("fill", fill).attr("stroke", chromeStroke).attr("stroke-width", NODE_STROKE_WIDTH);
|
|
1370
|
+
block.append("text").attr("class", "pert-tornado-header").attr("x", x + width / 2).attr("y", y + CAPTION_BOX_PADDING_Y + CAPTION_FONT_SIZE).attr("text-anchor", "middle").attr("fill", labelColor).attr("font-size", CAPTION_FONT_SIZE).attr("font-weight", "bold").text("Activity Risk");
|
|
1348
1371
|
const fmt = (v) => {
|
|
1349
1372
|
const r = Math.round(v * 100) / 100;
|
|
1350
1373
|
return r.toFixed(2).replace(/\.?0+$/, "");
|
|
@@ -1497,7 +1520,7 @@ function renderScurveBlock(svg, data, args) {
|
|
|
1497
1520
|
palette.textOnFillDark
|
|
1498
1521
|
);
|
|
1499
1522
|
const block = svg.append("g").attr("class", "pert-scurve-block").attr("data-pert-scurve", "");
|
|
1500
|
-
block.append("rect").attr("class", "pert-scurve-rect").attr("x", x).attr("y", y).attr("width", width).attr("height", height).attr("rx",
|
|
1523
|
+
block.append("rect").attr("class", "pert-scurve-rect").attr("x", x).attr("y", y).attr("width", width).attr("height", height).attr("rx", CARD_RADIUS).attr("ry", CARD_RADIUS).attr("fill", fill).attr("stroke", chromeStroke).attr("stroke-width", NODE_STROKE_WIDTH);
|
|
1501
1524
|
const SCURVE_DEADLINE_LABEL_HEIGHT = 16;
|
|
1502
1525
|
const hasDeadline = data.deadlineDays !== null;
|
|
1503
1526
|
const plotLeft = x + SCURVE_PLOT_PADDING_X;
|
|
@@ -1527,7 +1550,7 @@ function renderScurveBlock(svg, data, args) {
|
|
|
1527
1550
|
block.append("text").attr("class", "pert-scurve-y-axis-title").attr(
|
|
1528
1551
|
"transform",
|
|
1529
1552
|
`translate(${yAxisLabelCx}, ${yAxisLabelCy}) rotate(-90)`
|
|
1530
|
-
).attr("text-anchor", "middle").attr("fill", labelColor).attr("font-size", SCURVE_TICK_FONT_SIZE - 1).attr("font-weight", "
|
|
1553
|
+
).attr("text-anchor", "middle").attr("fill", labelColor).attr("font-size", SCURVE_TICK_FONT_SIZE - 1).attr("font-weight", "bold").attr("opacity", 0.85).text(data.yAxisLabel);
|
|
1531
1554
|
if (data.p84Days > data.p16Days) {
|
|
1532
1555
|
const bandLeftRaw = xScale(data.p16Days);
|
|
1533
1556
|
const bandRightRaw = xScale(data.p84Days);
|
|
@@ -1545,7 +1568,7 @@ function renderScurveBlock(svg, data, args) {
|
|
|
1545
1568
|
let anchor = "middle";
|
|
1546
1569
|
if (dx <= plotLeft + edgePad) anchor = "start";
|
|
1547
1570
|
else if (dx >= plotRight - edgePad) anchor = "end";
|
|
1548
|
-
block.append("text").attr("class", "pert-scurve-deadline-label").attr("x", dx).attr("y", plotTop - 4).attr("text-anchor", anchor).attr("fill", deadlineColor).attr("font-size", SCURVE_TICK_FONT_SIZE).attr("font-weight", "
|
|
1571
|
+
block.append("text").attr("class", "pert-scurve-deadline-label").attr("x", dx).attr("y", plotTop - 4).attr("text-anchor", anchor).attr("fill", deadlineColor).attr("font-size", SCURVE_TICK_FONT_SIZE).attr("font-weight", "bold").text(`Deadline \xB7 ${formatScurveDate(data.deadlineDate)}`);
|
|
1549
1572
|
block.append("line").attr("class", "pert-scurve-deadline-line").attr("x1", dx).attr("x2", dx).attr("y1", plotTop).attr("y2", plotBottom).attr("stroke", deadlineColor).attr("stroke-width", 1.5).attr("opacity", 0.9);
|
|
1550
1573
|
}
|
|
1551
1574
|
}
|
|
@@ -1619,11 +1642,11 @@ function renderScurveBlock(svg, data, args) {
|
|
|
1619
1642
|
}
|
|
1620
1643
|
const labelFill = mix(color, palette.text, 25);
|
|
1621
1644
|
const dotGroup = block.append("g").attr("class", "pert-scurve-percentile").attr("data-percentile", d.label);
|
|
1622
|
-
dotGroup.append("line").attr("class", "pert-scurve-percentile-tick").attr("x1", cx).attr("x2", cx).attr("y1", cy).attr("y2", plotBottom).attr("stroke", color).attr("stroke-width", 1).attr("stroke-dasharray", d.isPast ?
|
|
1645
|
+
dotGroup.append("line").attr("class", "pert-scurve-percentile-tick").attr("x1", cx).attr("x2", cx).attr("y1", cy).attr("y2", plotBottom).attr("stroke", color).attr("stroke-width", 1).attr("stroke-dasharray", d.isPast ? PAST_PERCENTILE_DASH : HAIRLINE_DASH).attr("opacity", 0.7);
|
|
1623
1646
|
dotGroup.append("circle").attr("class", "pert-scurve-percentile-dot").attr("cx", cx).attr("cy", cy).attr("r", SCURVE_PERCENTILE_RADIUS).attr("fill", color).attr("stroke", fill).attr("stroke-width", 1.5).attr("data-percentile", d.label);
|
|
1624
1647
|
dotGroup.append("circle").attr("class", "pert-scurve-percentile-hit").attr("cx", cx).attr("cy", cy).attr("r", 14).attr("fill", "transparent").attr("pointer-events", "all");
|
|
1625
|
-
dotGroup.append("text").attr("class", "pert-scurve-percentile-label").attr("x", labelX).attr("y", cy + SCURVE_TICK_FONT_SIZE / 3).attr("text-anchor", labelAnchor).attr("fill", labelFill).attr("font-size", SCURVE_TICK_FONT_SIZE).attr("font-weight", "
|
|
1626
|
-
dotGroup.append("text").attr("class", "pert-scurve-percentile-verbose").attr("x", labelX).attr("y", cy + SCURVE_TICK_FONT_SIZE / 3).attr("text-anchor", labelAnchor).attr("fill", labelFill).attr("font-size", SCURVE_TICK_FONT_SIZE).attr("font-weight", "
|
|
1648
|
+
dotGroup.append("text").attr("class", "pert-scurve-percentile-label").attr("x", labelX).attr("y", cy + SCURVE_TICK_FONT_SIZE / 3).attr("text-anchor", labelAnchor).attr("fill", labelFill).attr("font-size", SCURVE_TICK_FONT_SIZE).attr("font-weight", "bold").attr("paint-order", "stroke fill").attr("stroke", fill).attr("stroke-width", 3).attr("stroke-linejoin", "round").attr("stroke-opacity", 0.95).text(inlineText);
|
|
1649
|
+
dotGroup.append("text").attr("class", "pert-scurve-percentile-verbose").attr("x", labelX).attr("y", cy + SCURVE_TICK_FONT_SIZE / 3).attr("text-anchor", labelAnchor).attr("fill", labelFill).attr("font-size", SCURVE_TICK_FONT_SIZE).attr("font-weight", "bold").attr("paint-order", "stroke fill").attr("stroke", fill).attr("stroke-width", 3).attr("stroke-linejoin", "round").attr("stroke-opacity", 0.95).text(verboseText);
|
|
1627
1650
|
}
|
|
1628
1651
|
const N_X_TICKS = isAnchored ? 5 : 6;
|
|
1629
1652
|
const LABEL_W_EST = isAnchored ? 48 : 36;
|
|
@@ -1708,4 +1731,4 @@ export {
|
|
|
1708
1731
|
measurePertAnalysisBlock,
|
|
1709
1732
|
renderPertAnalysisBlock
|
|
1710
1733
|
};
|
|
1711
|
-
//# sourceMappingURL=chunk-
|
|
1734
|
+
//# sourceMappingURL=chunk-Y2KFQX5K.js.map
|
|
@@ -3,52 +3,55 @@ import {
|
|
|
3
3
|
layoutJourneyMap,
|
|
4
4
|
scoreToColor,
|
|
5
5
|
scoreToCurveY
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-6JIMYPXR.js";
|
|
7
7
|
import {
|
|
8
8
|
wrapNoteBody
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-W6DBWWPC.js";
|
|
10
10
|
import {
|
|
11
11
|
NOTE_BULLET_INDENT
|
|
12
12
|
} from "./chunk-5DH3KYFH.js";
|
|
13
13
|
import {
|
|
14
14
|
renderInlineText
|
|
15
|
-
} from "./chunk-
|
|
16
|
-
import {
|
|
17
|
-
CARD_RADIUS
|
|
18
|
-
} from "./chunk-FJ57274M.js";
|
|
15
|
+
} from "./chunk-FWNJDD4U.js";
|
|
19
16
|
import {
|
|
20
17
|
ScaleContext
|
|
21
18
|
} from "./chunk-24YPR5EH.js";
|
|
19
|
+
import {
|
|
20
|
+
CARD_RADIUS,
|
|
21
|
+
CONTAINER_RADIUS,
|
|
22
|
+
GRID_DASH,
|
|
23
|
+
NODE_STROKE_WIDTH
|
|
24
|
+
} from "./chunk-IIEI7VK5.js";
|
|
22
25
|
import {
|
|
23
26
|
serializeSvg
|
|
24
|
-
} from "./chunk-
|
|
27
|
+
} from "./chunk-LD2JSKU3.js";
|
|
25
28
|
import {
|
|
26
29
|
renderIntegratedLegend
|
|
27
|
-
} from "./chunk-
|
|
30
|
+
} from "./chunk-253E5ISJ.js";
|
|
28
31
|
import {
|
|
29
32
|
FONT_FAMILY
|
|
30
|
-
} from "./chunk-
|
|
33
|
+
} from "./chunk-ICLB27PZ.js";
|
|
31
34
|
import {
|
|
32
35
|
measureText,
|
|
33
36
|
truncateText,
|
|
34
37
|
wrapTextToWidth
|
|
35
|
-
} from "./chunk-
|
|
38
|
+
} from "./chunk-YC6GVLTI.js";
|
|
36
39
|
import {
|
|
37
40
|
parseJourneyMap
|
|
38
|
-
} from "./chunk-
|
|
41
|
+
} from "./chunk-6EMJRAEY.js";
|
|
39
42
|
import {
|
|
40
43
|
resolveActiveTagGroup,
|
|
41
44
|
tagAttrKey
|
|
42
|
-
} from "./chunk-
|
|
45
|
+
} from "./chunk-O2HU4AQN.js";
|
|
43
46
|
import {
|
|
44
47
|
fillModeFromOptions
|
|
45
|
-
} from "./chunk-
|
|
48
|
+
} from "./chunk-4CA7TJ44.js";
|
|
46
49
|
import {
|
|
47
50
|
contrastText,
|
|
48
51
|
mix,
|
|
49
52
|
shapeFill,
|
|
50
53
|
themeBaseBg
|
|
51
|
-
} from "./chunk-
|
|
54
|
+
} from "./chunk-AMQFJ7P7.js";
|
|
52
55
|
|
|
53
56
|
// src/journey-map/renderer.ts
|
|
54
57
|
import * as d3 from "d3-selection";
|
|
@@ -58,10 +61,8 @@ var PADDING = DIAGRAM_PADDING;
|
|
|
58
61
|
var CARD_PADDING_X = 10;
|
|
59
62
|
var CARD_PADDING_Y = 6;
|
|
60
63
|
var CARD_HEADER_HEIGHT = 24;
|
|
61
|
-
var CARD_STROKE_WIDTH = 1.5;
|
|
62
64
|
var CARD_META_LINE_HEIGHT = 14;
|
|
63
65
|
var CARD_GAP_INTERNAL = 8;
|
|
64
|
-
var COLUMN_RADIUS = 8;
|
|
65
66
|
var COLUMN_HEADER_HEIGHT = 36;
|
|
66
67
|
var COLUMN_PADDING = 12;
|
|
67
68
|
var FONT_SIZE_TITLE = 18;
|
|
@@ -173,8 +174,8 @@ function renderJourneyMap(container, parsed, palette, isDark, options) {
|
|
|
173
174
|
1.2,
|
|
174
175
|
fillMode
|
|
175
176
|
);
|
|
176
|
-
personaG.append("rect").attr("x", panelX).attr("y", panelY).attr("width", panelWidth).attr("height", panelHeight).attr("rx", CARD_RADIUS).attr("fill", "none").attr("stroke", personaColor).attr("stroke-width",
|
|
177
|
-
personaG.append("text").attr("x", textX).attr("y", panelY + CARD_PADDING_Y + FONT_SIZE_STEP).attr("font-size", FONT_SIZE_STEP).attr("font-weight", "
|
|
177
|
+
personaG.append("rect").attr("x", panelX).attr("y", panelY).attr("width", panelWidth).attr("height", panelHeight).attr("rx", CARD_RADIUS).attr("fill", "none").attr("stroke", personaColor).attr("stroke-width", NODE_STROKE_WIDTH);
|
|
178
|
+
personaG.append("text").attr("x", textX).attr("y", panelY + CARD_PADDING_Y + FONT_SIZE_STEP).attr("font-size", FONT_SIZE_STEP).attr("font-weight", "normal").attr("fill", onPersonaText).text(
|
|
178
179
|
truncateText(parsed.persona.name, FONT_SIZE_STEP, textAreaWidth)
|
|
179
180
|
);
|
|
180
181
|
for (let li = 0; li < descLines.length; li++) {
|
|
@@ -270,7 +271,7 @@ function renderJourneyMap(container, parsed, palette, isDark, options) {
|
|
|
270
271
|
const curveG = svg.append("g").attr("class", "journey-curve-area");
|
|
271
272
|
for (let score = 1; score <= 5; score++) {
|
|
272
273
|
const y = scoreToCurveY(score, layout.curveAreaBottom);
|
|
273
|
-
curveG.append("line").attr("x1", PADDING).attr("x2", layout.totalWidth - PADDING).attr("y1", y).attr("y2", y).attr("stroke", palette.textMuted).attr("stroke-opacity", GRID_LINE_OPACITY).attr("stroke-dasharray",
|
|
274
|
+
curveG.append("line").attr("x1", PADDING).attr("x2", layout.totalWidth - PADDING).attr("y1", y).attr("y2", y).attr("stroke", palette.textMuted).attr("stroke-opacity", GRID_LINE_OPACITY).attr("stroke-dasharray", GRID_DASH);
|
|
274
275
|
}
|
|
275
276
|
if (layout.curvePoints.length >= 2) {
|
|
276
277
|
const first = layout.curvePoints[0];
|
|
@@ -376,9 +377,9 @@ function renderJourneyMap(container, parsed, palette, isDark, options) {
|
|
|
376
377
|
const isCollapsed = collapsedPhases.has(pl.phase.name);
|
|
377
378
|
const phaseG = phasesG.append("g").attr("class", "journey-phase").attr("data-line-number", pl.phase.lineNumber);
|
|
378
379
|
const colBg = isDark ? mix(palette.surface, palette.bg, 50) : mix(palette.surface, palette.bg, 30);
|
|
379
|
-
phaseG.append("rect").attr("x", pl.x).attr("y", pl.y).attr("width", pl.width).attr("height", pl.height).attr("rx",
|
|
380
|
-
phaseG.append("rect").attr("x", pl.x).attr("y", pl.y).attr("width", pl.width).attr("height", COLUMN_HEADER_HEIGHT).attr("rx",
|
|
381
|
-
phaseG.append("rect").attr("x", pl.x).attr("y", pl.y + COLUMN_HEADER_HEIGHT -
|
|
380
|
+
phaseG.append("rect").attr("x", pl.x).attr("y", pl.y).attr("width", pl.width).attr("height", pl.height).attr("rx", CONTAINER_RADIUS).attr("fill", colBg);
|
|
381
|
+
phaseG.append("rect").attr("x", pl.x).attr("y", pl.y).attr("width", pl.width).attr("height", COLUMN_HEADER_HEIGHT).attr("rx", CONTAINER_RADIUS).attr("fill", pl.headerColor);
|
|
382
|
+
phaseG.append("rect").attr("x", pl.x).attr("y", pl.y + COLUMN_HEADER_HEIGHT - CONTAINER_RADIUS).attr("width", pl.width).attr("height", CONTAINER_RADIUS).attr("fill", pl.headerColor);
|
|
382
383
|
const onHeaderText = contrastText(
|
|
383
384
|
pl.headerColor,
|
|
384
385
|
palette.textOnFillLight,
|
|
@@ -435,7 +436,7 @@ function renderJourneyMap(container, parsed, palette, isDark, options) {
|
|
|
435
436
|
{ mode: fillMode }
|
|
436
437
|
);
|
|
437
438
|
const rowStroke = stepColor ?? palette.textMuted;
|
|
438
|
-
itemG.append("rect").attr("x", listX).attr("y", itemY).attr("width", cardW).attr("height", COLLAPSED_CARD_H).attr("rx", CARD_RADIUS).attr("fill", rowFill).attr("stroke", rowStroke).attr("stroke-width",
|
|
439
|
+
itemG.append("rect").attr("x", listX).attr("y", itemY).attr("width", cardW).attr("height", COLLAPSED_CARD_H).attr("rx", CARD_RADIUS).attr("fill", rowFill).attr("stroke", rowStroke).attr("stroke-width", NODE_STROKE_WIDTH);
|
|
439
440
|
const faceCx = listX + CARD_PADDING_X + COLLAPSED_FACE_R;
|
|
440
441
|
const faceCy = itemY + COLLAPSED_CARD_H / 2;
|
|
441
442
|
if (step.score !== void 0) {
|
|
@@ -567,8 +568,8 @@ function renderJourneyMap(container, parsed, palette, isDark, options) {
|
|
|
567
568
|
const scoreColor = scoreToColor(score, palette);
|
|
568
569
|
const tintedBg = fillMode === "outline" ? themeBaseBg(palette, isDark) : mix(scoreColor, palette.surface, 20);
|
|
569
570
|
const g = overlayG.append("g").attr("class", "journey-thought-hover");
|
|
570
|
-
g.append("rect").attr("x", bx).attr("y", by).attr("width", bw).attr("height", bh).attr("rx", CARD_RADIUS).attr("fill", tintedBg).attr("stroke", scoreColor).attr("stroke-width",
|
|
571
|
-
g.append("line").attr("x1", fcx).attr("y1", by + bh).attr("x2", fcx).attr("y2", fcy - FACE_HOVER_R - 1).attr("stroke", scoreColor).attr("stroke-width",
|
|
571
|
+
g.append("rect").attr("x", bx).attr("y", by).attr("width", bw).attr("height", bh).attr("rx", CARD_RADIUS).attr("fill", tintedBg).attr("stroke", scoreColor).attr("stroke-width", NODE_STROKE_WIDTH);
|
|
572
|
+
g.append("line").attr("x1", fcx).attr("y1", by + bh).attr("x2", fcx).attr("y2", fcy - FACE_HOVER_R - 1).attr("stroke", scoreColor).attr("stroke-width", NODE_STROKE_WIDTH);
|
|
572
573
|
const centerX = bx + bw / 2;
|
|
573
574
|
for (let i = 0; i < lines.length; i++) {
|
|
574
575
|
g.append("text").attr("x", centerX).attr("y", by + THOUGHT_PAD_Y + (i + 1) * THOUGHT_LINE_H - 2).attr("text-anchor", "middle").attr("font-size", THOUGHT_FONT).attr("font-style", "italic").attr("fill", palette.textMuted).text(lines[i]);
|
|
@@ -688,11 +689,11 @@ function renderStepCard(parent, sl, palette, isDark, activeGroup, tagGroups, onN
|
|
|
688
689
|
palette.textOnFillLight,
|
|
689
690
|
palette.textOnFillDark
|
|
690
691
|
);
|
|
691
|
-
stepG.append("rect").attr("x", cx).attr("y", cy).attr("width", sl.width).attr("height", sl.height).attr("rx", CARD_RADIUS).attr("fill", cardFill).attr("stroke", cardStroke).attr("stroke-width",
|
|
692
|
+
stepG.append("rect").attr("x", cx).attr("y", cy).attr("width", sl.width).attr("height", sl.height).attr("rx", CARD_RADIUS).attr("fill", cardFill).attr("stroke", cardStroke).attr("stroke-width", NODE_STROKE_WIDTH);
|
|
692
693
|
const titleMaxW = sl.width - CARD_PADDING_X * 2;
|
|
693
694
|
const titleLines = wrapTextToWidth(sl.step.title, FONT_SIZE_STEP, titleMaxW);
|
|
694
695
|
for (let i = 0; i < titleLines.length; i++) {
|
|
695
|
-
stepG.append("text").attr("x", cx + CARD_PADDING_X).attr("y", cy + CARD_PADDING_Y + FONT_SIZE_STEP + i * TITLE_LINE_HEIGHT).attr("font-size", FONT_SIZE_STEP).attr("font-weight", "
|
|
696
|
+
stepG.append("text").attr("x", cx + CARD_PADDING_X).attr("y", cy + CARD_PADDING_Y + FONT_SIZE_STEP + i * TITLE_LINE_HEIGHT).attr("font-size", FONT_SIZE_STEP).attr("font-weight", "normal").attr("fill", onCardText).text(titleLines[i]);
|
|
696
697
|
}
|
|
697
698
|
const titleBlockH = CARD_PADDING_Y + titleLines.length * TITLE_LINE_HEIGHT + CARD_PADDING_Y;
|
|
698
699
|
const cardAnnotations = sl.step.annotations;
|
|
@@ -747,7 +748,7 @@ function renderStepCard(parent, sl, palette, isDark, activeGroup, tagGroups, onN
|
|
|
747
748
|
const stripFill = shapeFill(palette, stripColor, isDark, {
|
|
748
749
|
mode: fillMode
|
|
749
750
|
});
|
|
750
|
-
stepG.append("rect").attr("x", cx).attr("y", stripY).attr("width", sl.width).attr("height", TAG_STRIP_HEIGHT).attr("rx", CARD_RADIUS).attr("fill", stripFill).attr("stroke", stripColor).attr("stroke-width",
|
|
751
|
+
stepG.append("rect").attr("x", cx).attr("y", stripY).attr("width", sl.width).attr("height", TAG_STRIP_HEIGHT).attr("rx", CARD_RADIUS).attr("fill", stripFill).attr("stroke", stripColor).attr("stroke-width", NODE_STROKE_WIDTH);
|
|
751
752
|
const stripTextColor = contrastText(
|
|
752
753
|
stripFill,
|
|
753
754
|
palette.textOnFillLight,
|
|
@@ -809,7 +810,7 @@ function addEmotionLabel(faceG, pt, palette) {
|
|
|
809
810
|
EMOTION_LABEL_MAX_WIDTH
|
|
810
811
|
);
|
|
811
812
|
const y = pt.y + FACE_RADIUS + 5 + EMOTION_LABEL_FONT_SIZE;
|
|
812
|
-
faceG.append("text").attr("class", "journey-emotion-label").attr("x", pt.x).attr("y", y).attr("text-anchor", "middle").attr("font-family", FONT_FAMILY).attr("font-size", EMOTION_LABEL_FONT_SIZE).attr("font-weight",
|
|
813
|
+
faceG.append("text").attr("class", "journey-emotion-label").attr("x", pt.x).attr("y", y).attr("text-anchor", "middle").attr("font-family", FONT_FAMILY).attr("font-size", EMOTION_LABEL_FONT_SIZE).attr("font-weight", "normal").attr("fill", palette.text).attr("stroke", palette.bg).attr("stroke-width", 3).attr("stroke-linejoin", "round").attr("stroke-opacity", 0.8).attr("paint-order", "stroke").attr("pointer-events", "none").text(text);
|
|
813
814
|
}
|
|
814
815
|
function annotationColor(type, palette) {
|
|
815
816
|
switch (type) {
|
|
@@ -877,4 +878,4 @@ export {
|
|
|
877
878
|
renderJourneyMap,
|
|
878
879
|
renderJourneyMapForExport
|
|
879
880
|
};
|
|
880
|
-
//# sourceMappingURL=chunk-
|
|
881
|
+
//# sourceMappingURL=chunk-Y3OLUMJH.js.map
|