@diagrammo/dgmo 0.77.0 → 0.78.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 +19 -12
- package/dist/advanced.js +124 -120
- package/dist/block.css +1 -1
- package/dist/block.d.ts +2 -2
- package/dist/block.js +45 -41
- package/dist/{chart-meta-Cf_jkApJ.d.ts → chart-meta-BKN2ORkc.d.ts} +2 -2
- package/dist/chart-meta.d.ts +3 -3
- package/dist/chart-meta.js +30 -29
- package/dist/charts-d3-KEQ7XVSM.js +31 -0
- package/dist/{chunk-7IATMZSA.js → chunk-26EVL454.js} +1 -25
- package/dist/{chunk-3H4PDNP4.js → chunk-2NLBIZEW.js} +2 -2
- package/dist/{chunk-BH3BQICT.js → chunk-32VR65TL.js} +63 -36
- package/dist/{chunk-N5NQIZ56.js → chunk-36UQ77JV.js} +24 -24
- package/dist/chunk-3DPOIW3W.js +10 -0
- package/dist/{chunk-3SP6G4LN.js → chunk-3GLTQZKE.js} +2 -2
- package/dist/{chunk-DY7KDZUF.js → chunk-3OWIYK52.js} +2 -2
- package/dist/{chunk-3E4YB6TY.js → chunk-3XFOE3DQ.js} +12 -7
- package/dist/{chunk-W7UBPARG.js → chunk-3ZLQM6XN.js} +2 -2
- package/dist/{chunk-5GM6BZO7.js → chunk-4AWLEWSD.js} +5 -2
- package/dist/{chunk-SWUQJ5VR.js → chunk-4IGUEGD6.js} +80 -61
- package/dist/{chunk-QOVM5VRC.js → chunk-57GSSHBR.js} +2 -2
- package/dist/{chunk-5VMUVJO4.js → chunk-5G55TS3H.js} +2 -2
- package/dist/{chunk-U4DS2ODO.js → chunk-67I3HFSF.js} +9 -9
- package/dist/{chunk-WQXD3IIN.js → chunk-6B3M6LW6.js} +10 -8
- package/dist/{chunk-TKIPK5P6.js → chunk-6PHOZBW5.js} +4 -6
- package/dist/{chunk-5PFNUDXR.js → chunk-6VTLVU7D.js} +2 -2
- package/dist/{chunk-M5JT2AU7.js → chunk-6Z2NUJSX.js} +2 -2
- package/dist/{chunk-BWJLLNUX.js → chunk-7BNRHSSF.js} +2 -2
- package/dist/{chunk-JLODGGN2.js → chunk-7NNJXYXU.js} +2 -2
- package/dist/{chunk-FTTB64OJ.js → chunk-7SMVTA7I.js} +26 -26
- package/dist/{chunk-Z7KVOVE4.js → chunk-7WTFX6OA.js} +6 -3
- package/dist/{chunk-ZM27UI5O.js → chunk-A7Y32YD6.js} +2 -2
- package/dist/{chunk-FPRMP6YA.js → chunk-AHN2CVCH.js} +10 -7
- package/dist/{chunk-N6MZSBOL.js → chunk-AN7T6VP7.js} +2 -2
- package/dist/{chunk-F4X5NVKY.js → chunk-B6PVPAS5.js} +2 -2
- package/dist/{chunk-RV5A3EGI.js → chunk-BB2ORSTF.js} +19 -18
- package/dist/{chunk-SI3PYDL4.js → chunk-BJB4YDJP.js} +21 -21
- package/dist/{chunk-FR5EVD2X.js → chunk-BPM52K3Z.js} +38 -31
- package/dist/{chunk-TI4YUUW6.js → chunk-BSREARWG.js} +29 -28
- package/dist/{chunk-F4V67JXG.js → chunk-CTERZC4K.js} +2 -2
- package/dist/{chunk-WHWUVDYK.js → chunk-CYLSQO4L.js} +6 -6
- package/dist/{chunk-J76YDS4V.js → chunk-DCPD5SHV.js} +3 -3
- package/dist/{chunk-H7BYMIVK.js → chunk-ENDB5YSV.js} +67 -27
- package/dist/{chunk-RTTZIX34.js → chunk-EOB7XVYR.js} +2 -2
- package/dist/chunk-EPDBWATV.js +38 -0
- package/dist/{chunk-TPN7RJOM.js → chunk-FJADQOFQ.js} +3 -3
- package/dist/{chunk-MG3DE3VO.js → chunk-FLMXJMMY.js} +3 -3
- package/dist/{chunk-WGC42WJU.js → chunk-FWNJDD4U.js} +6 -2
- package/dist/{chunk-S5P5Z5Y5.js → chunk-GINNZHVN.js} +2 -2
- package/dist/{chunk-LYJ53DBK.js → chunk-GJH7ZEPH.js} +41 -36
- package/dist/{chunk-2MTM4E6M.js → chunk-GQEXY7XL.js} +68 -65
- package/dist/{chunk-XFXJXLK7.js → chunk-HHHYVTVS.js} +16 -16
- package/dist/chunk-ICLB27PZ.js +11 -0
- package/dist/{chunk-QMFIZQTB.js → chunk-IDGQB6XD.js} +6 -4
- package/dist/{chunk-R3XI2VC7.js → chunk-IDJGV6VM.js} +2 -1
- package/dist/{chunk-HDLRRY3N.js → chunk-IE47TYZT.js} +177 -118
- package/dist/{chunk-FJ57274M.js → chunk-IIEI7VK5.js} +15 -1
- package/dist/{chunk-XPBJVSRY.js → chunk-IMO46ROR.js} +38 -32
- package/dist/{chunk-VRPV6QXR.js → chunk-IZTU6WVR.js} +2 -2
- package/dist/{chunk-CIWFL2LM.js → chunk-JOD2CK2M.js} +16 -14
- package/dist/{chunk-XCFIAGT7.js → chunk-JUNTVLOU.js} +16 -15
- package/dist/{chunk-RWFMOVHG.js → chunk-KAZQX2EY.js} +2 -2
- package/dist/{chunk-NHQ7HUAS.js → chunk-KGX5LIUG.js} +10 -8
- package/dist/{chunk-Q74GP3GK.js → chunk-KO6DGOOB.js} +3 -3
- package/dist/{chunk-5ZD4DDG7.js → chunk-L26M3X7K.js} +16 -13
- package/dist/{chunk-RU2HHHYA.js → chunk-LD2JSKU3.js} +12 -2
- package/dist/{chunk-OO2L2LWV.js → chunk-LEBPWFVF.js} +50 -46
- package/dist/{chunk-MU3CJPJF.js → chunk-LGI735AJ.js} +2 -2
- package/dist/{chunk-OWVDD5EC.js → chunk-LMWXBFLA.js} +2 -2
- package/dist/{chunk-6IN4F4RH.js → chunk-M3LZCDB6.js} +40 -42
- package/dist/{chunk-YT5ICQ4R.js → chunk-MFK7LF66.js} +2 -2
- package/dist/{chunk-UH5YTZN7.js → chunk-MJYFPFZT.js} +110 -20
- package/dist/{chunk-2QRIMMIH.js → chunk-N56W4R66.js} +2 -2
- package/dist/{chunk-LXXVHLTH.js → chunk-NN5IDH2I.js} +2 -2
- package/dist/{chunk-46KVXDUJ.js → chunk-NS3KIRSW.js} +2 -2
- package/dist/{chunk-LM3HY3VG.js → chunk-P2DM7Q5U.js} +2 -2
- package/dist/{chunk-DJL5PO27.js → chunk-P4SQV3XD.js} +2 -2
- package/dist/{chunk-B52RL5VV.js → chunk-P54AX5XN.js} +9 -9
- package/dist/{chunk-MZEGUDTA.js → chunk-P64NBPSK.js} +14 -14
- package/dist/{chunk-FF7LRT5L.js → chunk-PIWUZFG7.js} +33 -25
- package/dist/{chunk-SWEKCK34.js → chunk-QAPFXLAC.js} +2 -2
- package/dist/chunk-QFIXL3OK.js +68 -0
- package/dist/{chunk-KRTLS3G6.js → chunk-QVMV4KCA.js} +2 -2
- package/dist/{chunk-76LHNLGX.js → chunk-R4YGH7DJ.js} +5 -3
- package/dist/{chunk-OZOHREFQ.js → chunk-RC3FM3FE.js} +12 -13
- package/dist/{chunk-UJBP57UJ.js → chunk-RC6GGF6X.js} +2 -2
- package/dist/{chunk-S6OXNZBM.js → chunk-RHZZVIGA.js} +3 -3
- package/dist/{chunk-MS5574I7.js → chunk-RIXWLFB4.js} +2 -2
- package/dist/{chunk-D3B6YEZK.js → chunk-RUNI4OXP.js} +18 -14
- package/dist/{chunk-ICVIJLBA.js → chunk-SFSJ6XWV.js} +2 -2
- package/dist/{chunk-QBM5BURJ.js → chunk-SNBEAO4Q.js} +8 -8
- package/dist/{chunk-DSXWJAOA.js → chunk-SXD6VY7D.js} +16 -14
- package/dist/{chunk-V4NHFY22.js → chunk-TLM3I4XF.js} +16 -16
- package/dist/{chunk-3O7ZYVJV.js → chunk-TO6TWNMF.js} +19 -15
- package/dist/{chunk-CYMYZYLI.js → chunk-U2JIFCJN.js} +18 -18
- package/dist/{chunk-SSEAULA5.js → chunk-U4ND3J6C.js} +18 -14
- package/dist/{chunk-QXMHBIQG.js → chunk-UCF6TKWV.js} +51 -48
- package/dist/{chunk-RGW26UAR.js → chunk-UDYJVX6Y.js} +9 -9
- package/dist/{chunk-7CXW6EGX.js → chunk-UQY2VLUK.js} +25 -23
- package/dist/{chunk-EUVUOPRC.js → chunk-VAA7QSZ7.js} +53 -32
- package/dist/{chunk-43AJKH2U.js → chunk-VQGQF7O7.js} +12 -10
- package/dist/{chunk-DEW62ON3.js → chunk-VSPNH7LC.js} +2 -2
- package/dist/{chunk-4YER7UCV.js → chunk-VUJQ6RU6.js} +2 -2
- package/dist/{chunk-CHOK7NCJ.js → chunk-VZD3ZV4Y.js} +26 -22
- package/dist/{chunk-NCT22MOD.js → chunk-WMIKC5XO.js} +2 -2
- package/dist/{chunk-C2WH3BMS.js → chunk-X326N4GN.js} +10 -7
- package/dist/chunk-XBJJP2HN.js +37 -0
- package/dist/{chunk-7NSNE52V.js → chunk-XCR3PDFF.js} +2 -2
- package/dist/{chunk-UBDVAHGK.js → chunk-XDPJMLOH.js} +30 -27
- package/dist/{chunk-CF3I5SOG.js → chunk-YKDZ3ZRI.js} +27 -25
- package/dist/{chunk-GLREDNBA.js → chunk-YVLTNNME.js} +12 -2
- package/dist/{chunk-6ZZKEYBS.js → chunk-ZGOBAMQ2.js} +15 -13
- package/dist/{chunk-6BVAW7KI.js → chunk-ZMCFUGKO.js} +49 -42
- package/dist/clock.js +11 -5
- package/dist/completion-registry.js +2 -2
- package/dist/countdown.js +26 -20
- package/dist/{d3-BiaJtaSw.d.ts → d3-CQT5bwpb.d.ts} +1 -1
- package/dist/{dgmo-router-BwXHZ_P3.d.ts → dgmo-router-C9CsswPZ.d.ts} +1 -1
- package/dist/{dgmo-router-A3LIHT6H.js → dgmo-router-XZNCLYTV.js} +30 -29
- package/dist/{dimensions-OFF4GRFL.js → dimensions-SIZMZ4DC.js} +8 -8
- package/dist/{flowchart-renderer-BBJUPORB.js → flowchart-renderer-FDJ4QQXE.js} +15 -14
- package/dist/index.d.ts +7 -7
- package/dist/index.js +58 -43
- package/dist/{layout-Y2V3LYV7.js → layout-5DZ2LI2R.js} +2 -2
- package/dist/{layout-ZAGUFT2G.js → layout-6I6LSBUR.js} +6 -5
- package/dist/{layout-2OJ25STS.js → layout-C2SCZV5M.js} +6 -5
- package/dist/{layout-6SKHNQYO.js → layout-CHWKNE3O.js} +3 -3
- package/dist/{layout-EM4DLMAX.js → layout-K4KML2DL.js} +3 -3
- package/dist/{layout-KQUSB45X.js → layout-S53FSD6R.js} +7 -6
- package/dist/{layout-ROORJQ4X.js → layout-TCFXB5XH.js} +7 -6
- package/dist/{layout-5ILNODTP.js → layout-XK6ZD7BU.js} +6 -5
- package/dist/{layout-B5GQVXXY.js → layout-YVY72CIG.js} +7 -6
- package/dist/{layout-VUZ3MLOI.js → layout-YY6VH5XH.js} +6 -5
- package/dist/{layout-RV2T2YTT.js → layout-ZDN252GR.js} +4 -3
- package/dist/{layout-search-UOKEMER5.js → layout-search-TSV4FURP.js} +7 -6
- package/dist/{legend-constants-PLN2YHGM.js → legend-constants-SB4PLHV5.js} +3 -3
- package/dist/{palettes-54YSI3IX.js → palettes-YIPSRYXP.js} +5 -3
- package/dist/{parser-GCVSRQPY.js → parser-2BX2EJUB.js} +3 -3
- package/dist/{parser-WVE6SKB7.js → parser-3UNIPVNY.js} +3 -3
- package/dist/{parser-5XFGK5C5.js → parser-4IHIVDJD.js} +5 -5
- package/dist/{parser-ZT3PU2HT.js → parser-62VNEQRT.js} +3 -3
- package/dist/{parser-PR3OR3LO.js → parser-6JNJHQAG.js} +3 -3
- package/dist/{parser-ZXQZZK6W.js → parser-6ZFQLLVE.js} +3 -2
- package/dist/{parser-WMJEPZDC.js → parser-BOPXE6RP.js} +3 -3
- package/dist/{parser-WWRRG2DV.js → parser-DFBQ2RID.js} +3 -3
- package/dist/{parser-2GMHFSTS.js → parser-EPKXJ2RL.js} +3 -3
- package/dist/{parser-ML3LVNDV.js → parser-G7E2BURB.js} +3 -3
- package/dist/{parser-QOIZGW7I.js → parser-GFGU5ZLQ.js} +3 -3
- package/dist/{parser-L7T7FY3H.js → parser-GKZWI5SZ.js} +3 -3
- package/dist/{parser-QYAIFXLP.js → parser-HSPODF4H.js} +3 -3
- package/dist/{parser-EQ4I3TSH.js → parser-IK3FXZ7D.js} +3 -3
- package/dist/{parser-LV7PQBUG.js → parser-LJWPKRDM.js} +3 -3
- package/dist/{parser-RDBXEVI4.js → parser-OYWUBQV4.js} +3 -3
- package/dist/{parser-6FUESG4N.js → parser-PD4TP6NM.js} +3 -3
- package/dist/{parser-E3OHNNTH.js → parser-R2JHC7LQ.js} +3 -3
- package/dist/{parser-CJNP7RKR.js → parser-RMZ6YI7H.js} +3 -3
- package/dist/{parser-TA5TYZNL.js → parser-RUJNN5PK.js} +3 -3
- package/dist/{parser-UTR5WE4O.js → parser-YWE7GHW6.js} +3 -3
- package/dist/{parser-3AOMUX5D.js → parser-Z5UK6ADF.js} +3 -3
- package/dist/{parser-YWQCC33R.js → parser-ZO5YT5SV.js} +3 -3
- package/dist/renderer-5TPUPMZ7.js +26 -0
- package/dist/{renderer-2NYQDW37.js → renderer-AIVALEQR.js} +7 -7
- package/dist/renderer-AMELXBNW.js +23 -0
- package/dist/renderer-BF7FYXG3.js +25 -0
- package/dist/renderer-CRRW7LTW.js +17 -0
- package/dist/renderer-CXU2MGSC.js +27 -0
- package/dist/renderer-DI66RLAG.js +30 -0
- package/dist/renderer-E2JTYQY5.js +39 -0
- package/dist/{renderer-Y3Y7PEUS.js → renderer-FA4BTAOL.js} +7 -7
- package/dist/{renderer-G2DPKJAN.js → renderer-FFGFTIT4.js} +15 -14
- package/dist/renderer-IVAM7Z3Y.js +27 -0
- package/dist/renderer-J6HK2KOW.js +23 -0
- package/dist/renderer-J7J3OVLQ.js +39 -0
- package/dist/{renderer-GHBF5PRH.js → renderer-JC7MK7SD.js} +6 -5
- package/dist/{renderer-VF7X66SL.js → renderer-JHQC5RGJ.js} +14 -14
- package/dist/renderer-JRITSZY3.js +28 -0
- package/dist/{renderer-ANJUDBOS.js → renderer-KD5X4RIS.js} +14 -13
- package/dist/{renderer-CVWQD442.js → renderer-KWNNWCGD.js} +6 -5
- package/dist/{renderer-FTX67CYZ.js → renderer-LGMIAG6N.js} +7 -6
- package/dist/{renderer-EDVCGIQO.js → renderer-LQN3FXAP.js} +33 -32
- package/dist/renderer-LRL4SU43.js +29 -0
- package/dist/{renderer-R5HIRN2M.js → renderer-MBL64AJI.js} +6 -6
- package/dist/renderer-NA3DTAWF.js +39 -0
- package/dist/renderer-OR5QHR7X.js +31 -0
- package/dist/renderer-SBVWHQVW.js +30 -0
- package/dist/{renderer-DNFV2IQI.js → renderer-TLOSBJKW.js} +13 -13
- package/dist/{renderer-EFQSMHID.js → renderer-UDWJRRIC.js} +11 -11
- package/dist/renderer-VHK6UAW2.js +20 -0
- package/dist/{renderer-2ANDPQWC.js → renderer-W5UG2HWT.js} +5 -5
- package/dist/renderer-WOOKJOBQ.js +25 -0
- package/dist/renderer-WYNLGZRF.js +25 -0
- package/dist/{renderer-RNFECJ5D.js → renderer-Y74Y54C3.js} +8 -8
- package/dist/renderer-ZUAXGHFC.js +28 -0
- package/dist/renderer-radial-YVUDGR7C.js +21 -0
- package/dist/{state-parser-TPA67IXM.js → state-parser-CT5HQQ7E.js} +3 -3
- package/dist/state-renderer-7O3QGNJ5.js +41 -0
- package/dist/{tag-groups-BAtkq0b_.d.ts → tag-groups-BoJg3lFV.d.ts} +0 -16
- package/dist/{themes-DpsyRSO7.d.ts → themes-CXYnNA4e.d.ts} +2 -2
- package/docs/architecture-report.md +3 -3
- package/docs/language-reference.md +122 -30
- package/docs/migration-sequence-color-to-tags.md +16 -8
- package/package.json +4 -4
- 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/renderer-2LDT4TUX.js +0 -25
- 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-D6GJ6EVK.js +0 -30
- 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-RPZVNCTF.js +0 -26
- package/dist/renderer-SDNWZDUY.js +0 -23
- package/dist/renderer-UKHH4UWV.js +0 -25
- package/dist/renderer-radial-QNGCGKZP.js +0 -21
- package/dist/state-renderer-ELWDRXD6.js +0 -40
|
@@ -1,19 +1,22 @@
|
|
|
1
1
|
import {
|
|
2
2
|
parseInlineMarkdown,
|
|
3
3
|
safeHref
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-FWNJDD4U.js";
|
|
5
5
|
import {
|
|
6
6
|
ScaleContext
|
|
7
7
|
} from "./chunk-24YPR5EH.js";
|
|
8
|
+
import {
|
|
9
|
+
TITLE_FONT_SIZE
|
|
10
|
+
} from "./chunk-VSPNH7LC.js";
|
|
8
11
|
import {
|
|
9
12
|
renderIntegratedLegend
|
|
10
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-67I3HFSF.js";
|
|
11
14
|
import {
|
|
12
15
|
getMaxLegendReservedHeight
|
|
13
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-IZTU6WVR.js";
|
|
14
17
|
import {
|
|
15
18
|
FONT_FAMILY
|
|
16
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-ICLB27PZ.js";
|
|
17
20
|
import {
|
|
18
21
|
measureText,
|
|
19
22
|
truncateText,
|
|
@@ -27,7 +30,7 @@ import {
|
|
|
27
30
|
contrastText,
|
|
28
31
|
mix,
|
|
29
32
|
shapeFill
|
|
30
|
-
} from "./chunk-
|
|
33
|
+
} from "./chunk-YVLTNNME.js";
|
|
31
34
|
|
|
32
35
|
// src/tech-radar/renderer.ts
|
|
33
36
|
import * as d3Selection2 from "d3-selection";
|
|
@@ -218,7 +221,7 @@ function createTooltip(container, palette, isDark) {
|
|
|
218
221
|
import * as d3Selection from "d3-selection";
|
|
219
222
|
var BLIP_RADIUS = 13;
|
|
220
223
|
var BLIP_FONT_SIZE = 10;
|
|
221
|
-
var
|
|
224
|
+
var TITLE_FONT_SIZE2 = 16;
|
|
222
225
|
var NARROW_BREAKPOINT = 600;
|
|
223
226
|
function renderQuadrantFocus(container, parsed, quadrantPosition, palette, isDark, onClickItem, exportDims, _options) {
|
|
224
227
|
const quadrant = parsed.quadrants.find(
|
|
@@ -239,7 +242,7 @@ function renderQuadrantFocus(container, parsed, quadrantPosition, palette, isDar
|
|
|
239
242
|
titleBar.style.cssText = `
|
|
240
243
|
display: flex; align-items: baseline; gap: 8px;
|
|
241
244
|
padding: 8px 12px; font-family: ${FONT_FAMILY};
|
|
242
|
-
font-size: ${
|
|
245
|
+
font-size: ${TITLE_FONT_SIZE2}px; background: ${palette.bg};
|
|
243
246
|
`;
|
|
244
247
|
const titleLink = document.createElement("span");
|
|
245
248
|
titleLink.textContent = parsed.title || "Tech Radar";
|
|
@@ -293,7 +296,6 @@ function renderQuadrantFocus(container, parsed, quadrantPosition, palette, isDar
|
|
|
293
296
|
quadrant,
|
|
294
297
|
qColor,
|
|
295
298
|
palette,
|
|
296
|
-
isDark,
|
|
297
299
|
svgWidth,
|
|
298
300
|
svgHeight,
|
|
299
301
|
palette.border,
|
|
@@ -316,7 +318,7 @@ function renderQuadrantFocus(container, parsed, quadrantPosition, palette, isDar
|
|
|
316
318
|
}
|
|
317
319
|
}
|
|
318
320
|
}
|
|
319
|
-
function renderQuarterCircle(svg, parsed, quadrant, qColor, palette,
|
|
321
|
+
function renderQuarterCircle(svg, parsed, quadrant, qColor, palette, width, height, mutedColor, _tooltip, rootContainer, onClickItem) {
|
|
320
322
|
const padding = 8;
|
|
321
323
|
const size = Math.min(width - padding, height - padding);
|
|
322
324
|
const maxRadius = size * 0.95;
|
|
@@ -399,7 +401,10 @@ function renderQuarterCircle(svg, parsed, quadrant, qColor, palette, isDark, wid
|
|
|
399
401
|
BLIP_RADIUS,
|
|
400
402
|
angleToCenter
|
|
401
403
|
);
|
|
402
|
-
blipGroup.append("text").attr("x", bx).attr("y", by + 3).attr("text-anchor", "middle").attr(
|
|
404
|
+
blipGroup.append("text").attr("x", bx).attr("y", by + 3).attr("text-anchor", "middle").attr(
|
|
405
|
+
"fill",
|
|
406
|
+
contrastText(qColor, palette.textOnFillLight, palette.textOnFillDark)
|
|
407
|
+
).attr("font-family", FONT_FAMILY).attr("font-size", BLIP_FONT_SIZE).attr("font-weight", "bold").text(blip.globalNumber);
|
|
403
408
|
const lineNum = String(blip.lineNumber);
|
|
404
409
|
blipGroup.on("mouseenter", () => {
|
|
405
410
|
blipGroup.attr(
|
|
@@ -463,7 +468,7 @@ function renderHtmlPanel(panel, parsed, quadrant, qColor, palette, isDark, rootC
|
|
|
463
468
|
`;
|
|
464
469
|
const header = document.createElement("div");
|
|
465
470
|
header.style.cssText = `
|
|
466
|
-
font-size: 13px; font-weight:
|
|
471
|
+
font-size: 13px; font-weight: bold; color: ${palette.textMuted};
|
|
467
472
|
margin-bottom: 8px;
|
|
468
473
|
`;
|
|
469
474
|
header.textContent = ringName;
|
|
@@ -505,12 +510,19 @@ function renderHtmlPanel(panel, parsed, quadrant, qColor, palette, isDark, rootC
|
|
|
505
510
|
10,
|
|
506
511
|
-Math.PI / 2
|
|
507
512
|
);
|
|
508
|
-
d3Selection.select(indicatorSvg).append("text").attr("x", 13).attr("y", 16).attr("text-anchor", "middle").attr(
|
|
513
|
+
d3Selection.select(indicatorSvg).append("text").attr("x", 13).attr("y", 16).attr("text-anchor", "middle").attr(
|
|
514
|
+
"fill",
|
|
515
|
+
contrastText(
|
|
516
|
+
qColor,
|
|
517
|
+
palette.textOnFillLight,
|
|
518
|
+
palette.textOnFillDark
|
|
519
|
+
)
|
|
520
|
+
).attr("font-family", FONT_FAMILY).attr("font-size", 9).attr("font-weight", "bold").text(blip.globalNumber);
|
|
509
521
|
titleRow.appendChild(indicatorSvg);
|
|
510
522
|
const name = document.createElement("span");
|
|
511
523
|
name.textContent = blip.name;
|
|
512
524
|
name.style.cssText = `
|
|
513
|
-
flex: 1; font-size: 12px; font-weight:
|
|
525
|
+
flex: 1; font-size: 12px; font-weight: bold;
|
|
514
526
|
color: ${palette.text}; white-space: nowrap;
|
|
515
527
|
overflow: hidden; text-overflow: ellipsis;
|
|
516
528
|
`;
|
|
@@ -695,7 +707,7 @@ function renderQuadrantFocusForExport(container, parsed, quadrantPosition, palet
|
|
|
695
707
|
titleBar.style.cssText = `
|
|
696
708
|
display: flex; align-items: baseline; gap: 8px;
|
|
697
709
|
padding: 12px 16px; font-family: ${FONT_FAMILY};
|
|
698
|
-
font-size: ${
|
|
710
|
+
font-size: ${TITLE_FONT_SIZE2 + 2}px; background: ${palette.bg};
|
|
699
711
|
`;
|
|
700
712
|
const titleText = document.createElement("span");
|
|
701
713
|
titleText.textContent = parsed.title || "Tech Radar";
|
|
@@ -735,13 +747,12 @@ function renderQuadrantFocusForExport(container, parsed, quadrantPosition, palet
|
|
|
735
747
|
quadrant,
|
|
736
748
|
qColor,
|
|
737
749
|
palette,
|
|
738
|
-
isDark,
|
|
739
750
|
svgWidth,
|
|
740
751
|
svgHeight,
|
|
741
752
|
palette.border
|
|
742
753
|
);
|
|
743
754
|
}
|
|
744
|
-
function renderQuarterCircleStatic(svg, parsed, quadrant, qColor, palette,
|
|
755
|
+
function renderQuarterCircleStatic(svg, parsed, quadrant, qColor, palette, width, height, mutedColor) {
|
|
745
756
|
const padding = 8;
|
|
746
757
|
const size = Math.min(width - padding, height - padding);
|
|
747
758
|
const maxRadius = size * 0.95;
|
|
@@ -779,7 +790,7 @@ function renderQuarterCircleStatic(svg, parsed, quadrant, qColor, palette, isDar
|
|
|
779
790
|
const midAngle = (startAngle + endAngle) / 2;
|
|
780
791
|
const labelX = cx + rCenter * Math.cos(midAngle);
|
|
781
792
|
const labelY = cy - rCenter * Math.sin(midAngle);
|
|
782
|
-
svg.append("text").attr("x", labelX).attr("y", labelY).attr("text-anchor", "middle").attr("dominant-baseline", "central").attr("fill", palette.textMuted).attr("font-family", FONT_FAMILY).attr("font-size", 11).attr("font-weight", "
|
|
793
|
+
svg.append("text").attr("x", labelX).attr("y", labelY).attr("text-anchor", "middle").attr("dominant-baseline", "central").attr("fill", palette.textMuted).attr("font-family", FONT_FAMILY).attr("font-size", 11).attr("font-weight", "bold").attr("opacity", 0.5).text(parsed.rings[ri].name);
|
|
783
794
|
}
|
|
784
795
|
const ringOrder = parsed.rings.map((r) => r.name);
|
|
785
796
|
const angularPadding = 0.08;
|
|
@@ -816,7 +827,10 @@ function renderQuarterCircleStatic(svg, parsed, quadrant, qColor, palette, isDar
|
|
|
816
827
|
BLIP_RADIUS,
|
|
817
828
|
angleToCenter
|
|
818
829
|
);
|
|
819
|
-
blipGroup.append("text").attr("x", bx).attr("y", by + 3).attr("text-anchor", "middle").attr(
|
|
830
|
+
blipGroup.append("text").attr("x", bx).attr("y", by + 3).attr("text-anchor", "middle").attr(
|
|
831
|
+
"fill",
|
|
832
|
+
contrastText(qColor, palette.textOnFillLight, palette.textOnFillDark)
|
|
833
|
+
).attr("font-family", FONT_FAMILY).attr("font-size", BLIP_FONT_SIZE).attr("font-weight", "bold").text(blip.globalNumber);
|
|
820
834
|
}
|
|
821
835
|
}
|
|
822
836
|
}
|
|
@@ -837,7 +851,7 @@ function renderStaticHtmlPanel(panel, parsed, quadrant, qColor, palette, isDark)
|
|
|
837
851
|
`;
|
|
838
852
|
const header = document.createElement("div");
|
|
839
853
|
header.style.cssText = `
|
|
840
|
-
font-size: 13px; font-weight:
|
|
854
|
+
font-size: 13px; font-weight: bold; color: ${palette.textMuted};
|
|
841
855
|
margin-bottom: 8px;
|
|
842
856
|
`;
|
|
843
857
|
header.textContent = ringName;
|
|
@@ -872,12 +886,15 @@ function renderStaticHtmlPanel(panel, parsed, quadrant, qColor, palette, isDark)
|
|
|
872
886
|
10,
|
|
873
887
|
-Math.PI / 2
|
|
874
888
|
);
|
|
875
|
-
d3Selection.select(indicatorSvg).append("text").attr("x", 13).attr("y", 16).attr("text-anchor", "middle").attr(
|
|
889
|
+
d3Selection.select(indicatorSvg).append("text").attr("x", 13).attr("y", 16).attr("text-anchor", "middle").attr(
|
|
890
|
+
"fill",
|
|
891
|
+
contrastText(qColor, palette.textOnFillLight, palette.textOnFillDark)
|
|
892
|
+
).attr("font-family", FONT_FAMILY).attr("font-size", 9).attr("font-weight", "bold").text(blip.globalNumber);
|
|
876
893
|
titleRow.appendChild(indicatorSvg);
|
|
877
894
|
const name = document.createElement("span");
|
|
878
895
|
name.textContent = blip.name;
|
|
879
896
|
name.style.cssText = `
|
|
880
|
-
flex: 1; font-size: 12px; font-weight:
|
|
897
|
+
flex: 1; font-size: 12px; font-weight: bold;
|
|
881
898
|
color: ${palette.text};
|
|
882
899
|
`;
|
|
883
900
|
titleRow.appendChild(name);
|
|
@@ -904,7 +921,6 @@ var BLIP_RADIUS2 = 12;
|
|
|
904
921
|
var BLIP_FONT_SIZE2 = 9;
|
|
905
922
|
var RING_LABEL_FONT_SIZE = 13;
|
|
906
923
|
var QUADRANT_LABEL_FONT_SIZE = 18;
|
|
907
|
-
var TITLE_FONT_SIZE2 = 18;
|
|
908
924
|
var LISTING_FONT_SIZE = 12;
|
|
909
925
|
var LISTING_HEADER_FONT_SIZE = 13;
|
|
910
926
|
var LISTING_TOP_MARGIN = 24;
|
|
@@ -950,7 +966,7 @@ function renderTechRadar(container, parsed, palette, isDark, onClickItem, export
|
|
|
950
966
|
const sBlipFontSize = ctx.text(BLIP_FONT_SIZE2);
|
|
951
967
|
const sRingLabelFontSize = ctx.text(RING_LABEL_FONT_SIZE);
|
|
952
968
|
const sQuadrantLabelFontSize = ctx.text(QUADRANT_LABEL_FONT_SIZE);
|
|
953
|
-
const sTitleFontSize = ctx.text(
|
|
969
|
+
const sTitleFontSize = ctx.text(TITLE_FONT_SIZE);
|
|
954
970
|
const sListingFontSize = ctx.text(LISTING_FONT_SIZE);
|
|
955
971
|
const sListingHeaderFontSize = ctx.text(LISTING_HEADER_FONT_SIZE);
|
|
956
972
|
const sListingTopMargin = ctx.aesthetic(LISTING_TOP_MARGIN);
|
|
@@ -1080,10 +1096,10 @@ function renderTechRadar(container, parsed, palette, isDark, onClickItem, export
|
|
|
1080
1096
|
for (let ri = 0; ri < parsed.rings.length; ri++) {
|
|
1081
1097
|
const rCenter = (ri + 0.5) * ringBandWidth;
|
|
1082
1098
|
if (ri === 0) {
|
|
1083
|
-
radarGroup.append("text").attr("x", cx).attr("y", cy).attr("text-anchor", "middle").attr("dominant-baseline", "central").attr("fill", textColor).attr("font-family", FONT_FAMILY).attr("font-size", sRingLabelFontSize).attr("font-weight", "
|
|
1099
|
+
radarGroup.append("text").attr("x", cx).attr("y", cy).attr("text-anchor", "middle").attr("dominant-baseline", "central").attr("fill", textColor).attr("font-family", FONT_FAMILY).attr("font-size", sRingLabelFontSize).attr("font-weight", "bold").attr("opacity", 0.5).text(parsed.rings[ri].name);
|
|
1084
1100
|
} else {
|
|
1085
|
-
radarGroup.append("text").attr("x", cx).attr("y", cy - rCenter).attr("text-anchor", "middle").attr("dominant-baseline", "central").attr("fill", textColor).attr("font-family", FONT_FAMILY).attr("font-size", sRingLabelFontSize).attr("font-weight", "
|
|
1086
|
-
radarGroup.append("text").attr("x", cx).attr("y", cy + rCenter).attr("text-anchor", "middle").attr("dominant-baseline", "central").attr("fill", textColor).attr("font-family", FONT_FAMILY).attr("font-size", sRingLabelFontSize).attr("font-weight", "
|
|
1101
|
+
radarGroup.append("text").attr("x", cx).attr("y", cy - rCenter).attr("text-anchor", "middle").attr("dominant-baseline", "central").attr("fill", textColor).attr("font-family", FONT_FAMILY).attr("font-size", sRingLabelFontSize).attr("font-weight", "bold").attr("opacity", 0.5).text(parsed.rings[ri].name);
|
|
1102
|
+
radarGroup.append("text").attr("x", cx).attr("y", cy + rCenter).attr("text-anchor", "middle").attr("dominant-baseline", "central").attr("fill", textColor).attr("font-family", FONT_FAMILY).attr("font-size", sRingLabelFontSize).attr("font-weight", "bold").attr("opacity", 0.5).text(parsed.rings[ri].name);
|
|
1087
1103
|
}
|
|
1088
1104
|
}
|
|
1089
1105
|
for (const quadrant of parsed.quadrants) {
|
|
@@ -1161,7 +1177,10 @@ function renderTechRadar(container, parsed, palette, isDark, onClickItem, export
|
|
|
1161
1177
|
sBlipRadius,
|
|
1162
1178
|
angleToCenter
|
|
1163
1179
|
);
|
|
1164
|
-
blipGroup.append("text").attr("x", point.x).attr("y", point.y + 3).attr("text-anchor", "middle").attr(
|
|
1180
|
+
blipGroup.append("text").attr("x", point.x).attr("y", point.y + 3).attr("text-anchor", "middle").attr(
|
|
1181
|
+
"fill",
|
|
1182
|
+
contrastText(qColor, palette.textOnFillLight, palette.textOnFillDark)
|
|
1183
|
+
).attr("font-family", FONT_FAMILY).attr("font-size", sBlipFontSize).attr("font-weight", "bold").text(point.blip.globalNumber);
|
|
1165
1184
|
const lineNum = String(point.blip.lineNumber);
|
|
1166
1185
|
const bx = point.x;
|
|
1167
1186
|
const by = point.y;
|
|
@@ -1273,7 +1292,6 @@ function renderTechRadar(container, parsed, palette, isDark, onClickItem, export
|
|
|
1273
1292
|
svg,
|
|
1274
1293
|
parsed,
|
|
1275
1294
|
palette,
|
|
1276
|
-
isDark,
|
|
1277
1295
|
textColor,
|
|
1278
1296
|
radarHeight + sListingTopMargin,
|
|
1279
1297
|
width,
|
|
@@ -1287,7 +1305,7 @@ function renderTechRadar(container, parsed, palette, isDark, onClickItem, export
|
|
|
1287
1305
|
}
|
|
1288
1306
|
}
|
|
1289
1307
|
var LISTING_BLIP_R = 11;
|
|
1290
|
-
function renderBlipListing(svg, parsed, palette,
|
|
1308
|
+
function renderBlipListing(svg, parsed, palette, textColor, startY, totalWidth, onClickItem, sListingFontSize = LISTING_FONT_SIZE, sListingHeaderFontSize = LISTING_HEADER_FONT_SIZE, sListingColGap = LISTING_COL_GAP, sListingLineHeight = LISTING_LINE_HEIGHT, sListingBlipR = LISTING_BLIP_R) {
|
|
1291
1309
|
const colCount = parsed.quadrants.length;
|
|
1292
1310
|
if (colCount === 0) return;
|
|
1293
1311
|
const colWidth = (totalWidth - sListingColGap * (colCount + 1)) / colCount;
|
|
@@ -1330,7 +1348,10 @@ function renderBlipListing(svg, parsed, palette, isDark, textColor, startY, tota
|
|
|
1330
1348
|
sListingBlipR,
|
|
1331
1349
|
trendAngle
|
|
1332
1350
|
);
|
|
1333
|
-
itemGroup.append("text").attr("x", blipCx).attr("y", blipCy + 3).attr("text-anchor", "middle").attr(
|
|
1351
|
+
itemGroup.append("text").attr("x", blipCx).attr("y", blipCy + 3).attr("text-anchor", "middle").attr(
|
|
1352
|
+
"fill",
|
|
1353
|
+
contrastText(qColor, palette.textOnFillLight, palette.textOnFillDark)
|
|
1354
|
+
).attr("font-family", FONT_FAMILY).attr("font-size", 9).attr("font-weight", "bold").text(blip.globalNumber);
|
|
1334
1355
|
const textX = colX + sListingBlipR * 2 + 6;
|
|
1335
1356
|
const availableWidth = colWidth - sListingBlipR * 2 - 8;
|
|
1336
1357
|
const fullLabel = `${blip.name} (${blip.ring})`;
|
|
@@ -1453,7 +1474,7 @@ function showBlipPopover(popover, blip, qColor, palette, isDark, event, fillMode
|
|
|
1453
1474
|
palette.textOnFillDark
|
|
1454
1475
|
);
|
|
1455
1476
|
let html = `<div style="background:${fillColor}; border: 1.5px solid ${qColor}; border-radius: 6px; overflow: hidden;">`;
|
|
1456
|
-
html += `<div style="padding: 8px 12px; font-weight:
|
|
1477
|
+
html += `<div style="padding: 8px 12px; font-weight: bold; color: ${onFillText};">${escapeHtml2(blip.name)}</div>`;
|
|
1457
1478
|
if (hasDesc) {
|
|
1458
1479
|
html += `<div style="border-top: 1px solid ${qColor}; opacity: 0.3;"></div>`;
|
|
1459
1480
|
html += `<div style="padding: 6px 12px 8px; color: ${palette.textMuted}; font-size: 11px; line-height: 1.6;">`;
|
|
@@ -1603,4 +1624,4 @@ export {
|
|
|
1603
1624
|
renderTechRadar,
|
|
1604
1625
|
renderTechRadarForExport
|
|
1605
1626
|
};
|
|
1606
|
-
//# sourceMappingURL=chunk-
|
|
1627
|
+
//# sourceMappingURL=chunk-VAA7QSZ7.js.map
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
renderIntegratedLegend
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-67I3HFSF.js";
|
|
4
4
|
import {
|
|
5
5
|
FONT_FAMILY
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-ICLB27PZ.js";
|
|
7
7
|
import {
|
|
8
8
|
getFigure,
|
|
9
9
|
getPartGeom,
|
|
@@ -13,12 +13,12 @@ import {
|
|
|
13
13
|
resolveActiveTagGroup,
|
|
14
14
|
resolveTagColor,
|
|
15
15
|
tagAttrKey
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-R4YGH7DJ.js";
|
|
17
17
|
import {
|
|
18
18
|
getSeriesColors,
|
|
19
19
|
mix,
|
|
20
20
|
themeBaseBg
|
|
21
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-YVLTNNME.js";
|
|
22
22
|
import {
|
|
23
23
|
resolveColor
|
|
24
24
|
} from "./chunk-XOGQY4EC.js";
|
|
@@ -171,7 +171,7 @@ function gutterLabels(r, palette) {
|
|
|
171
171
|
prevY = ly;
|
|
172
172
|
const note = a.part.notes.length ? a.part.notes[0] : "";
|
|
173
173
|
const dl = ` class="dgmo-body-part" data-line-number="${a.part.lineNumber}" data-emph-key="${esc(a.emph)}"`;
|
|
174
|
-
labels += `<path${dl} d="M${sx} ${ly} L${tgt.x} ${tgt.y}" stroke="${a.color}" stroke-width="2" stroke-linecap="round" vector-effect="non-scaling-stroke" fill="none" opacity="0.85"/><circle${dl} cx="${tgt.x}" cy="${tgt.y}" r="5.5" fill="${a.color}" stroke="${palette.bg}" stroke-width="2" vector-effect="non-scaling-stroke"/><text${dl} x="${gx}" y="${ly + (note ? -2 : 7)}" text-anchor="${anchorX}" font-size="${LABEL_FONT}" font-weight="
|
|
174
|
+
labels += `<path${dl} d="M${sx} ${ly} L${tgt.x} ${tgt.y}" stroke="${a.color}" stroke-width="2" stroke-linecap="round" vector-effect="non-scaling-stroke" fill="none" opacity="0.85"/><circle${dl} cx="${tgt.x}" cy="${tgt.y}" r="5.5" fill="${a.color}" stroke="${palette.bg}" stroke-width="2" vector-effect="non-scaling-stroke"/><text${dl} x="${gx}" y="${ly + (note ? -2 : 7)}" text-anchor="${anchorX}" font-size="${LABEL_FONT}" font-weight="bold" fill="${palette.text}">${esc(partLabel(a.part))}</text>`;
|
|
175
175
|
if (note) {
|
|
176
176
|
labels += `<text${dl} x="${gx}" y="${ly + 22}" text-anchor="${anchorX}" font-size="${NOTE_FONT}" fill="${palette.textMuted}">${esc(note)}</text>`;
|
|
177
177
|
}
|
|
@@ -280,7 +280,7 @@ function renderBody(container, parsed, palette, _isDark, _onClickItem, exportDim
|
|
|
280
280
|
if (it.right) {
|
|
281
281
|
labels += `<path${dl} d="M${(centerX + stub).toFixed(1)} ${it.y.toFixed(1)} L${it.right.x.toFixed(1)} ${it.right.y.toFixed(1)}" stroke="${it.color}" stroke-width="2" stroke-linecap="round" vector-effect="non-scaling-stroke" fill="none" opacity="0.85"/><circle${dl} cx="${it.right.x.toFixed(1)}" cy="${it.right.y.toFixed(1)}" r="5.5" fill="${it.color}" stroke="${palette.bg}" stroke-width="2" vector-effect="non-scaling-stroke"/>`;
|
|
282
282
|
}
|
|
283
|
-
labels += `<text${dl} x="${centerX}" y="${(it.y - 3).toFixed(1)}" text-anchor="middle" font-size="${LABEL_FONT}" font-weight="
|
|
283
|
+
labels += `<text${dl} x="${centerX}" y="${(it.y - 3).toFixed(1)}" text-anchor="middle" font-size="${LABEL_FONT}" font-weight="bold" fill="${palette.text}">${esc(it.name)}</text>`;
|
|
284
284
|
if (it.note) {
|
|
285
285
|
labels += `<text${dl} x="${centerX}" y="${(it.y + 20).toFixed(1)}" text-anchor="middle" font-size="${NOTE_FONT}" fill="${palette.textMuted}">${esc(it.note)}</text>`;
|
|
286
286
|
}
|
|
@@ -292,9 +292,11 @@ function renderBody(container, parsed, palette, _isDark, _onClickItem, exportDim
|
|
|
292
292
|
d3Selection.select(container).selectAll("svg").remove();
|
|
293
293
|
const width = exportDims?.width ?? container.clientWidth ?? 1200;
|
|
294
294
|
const height = exportDims?.height ?? container.clientHeight ?? 800;
|
|
295
|
-
const
|
|
295
|
+
const vbW = totalW + 2 * PAGE_MARGIN;
|
|
296
|
+
const vbH = totalH + 2 * PAGE_MARGIN;
|
|
297
|
+
const svg = d3Selection.select(container).append("svg").attr("width", width).attr("height", vbW > 0 ? Math.round(width * vbH / vbW) : height).attr(
|
|
296
298
|
"viewBox",
|
|
297
|
-
`${-PAGE_MARGIN} ${-PAGE_MARGIN} ${
|
|
299
|
+
`${-PAGE_MARGIN} ${-PAGE_MARGIN} ${vbW.toFixed(0)} ${vbH.toFixed(0)}`
|
|
298
300
|
).attr("preserveAspectRatio", "xMidYMin meet").attr("xmlns", "http://www.w3.org/2000/svg").style("font-family", FONT_FAMILY);
|
|
299
301
|
if (defs.length) {
|
|
300
302
|
const defsSel = svg.append("defs");
|
|
@@ -307,7 +309,7 @@ function renderBody(container, parsed, palette, _isDark, _onClickItem, exportDim
|
|
|
307
309
|
}
|
|
308
310
|
svg.append("g").html(body);
|
|
309
311
|
if (parsed.title && !parsed.options.noTitle) {
|
|
310
|
-
svg.append("text").attr("x", totalW / 2).attr("y", 40).attr("text-anchor", "middle").attr("font-size", 34).attr("font-weight",
|
|
312
|
+
svg.append("text").attr("x", totalW / 2).attr("y", 40).attr("text-anchor", "middle").attr("font-size", 34).attr("font-weight", "bold").attr("fill", palette.text).text(parsed.title);
|
|
311
313
|
}
|
|
312
314
|
if (!parsed.options.noLegend && parsed.tagGroups.length) {
|
|
313
315
|
const legendG = svg.append("g").attr("transform", `translate(0, ${TITLE_H}) scale(${LEGEND_SCALE})`);
|
|
@@ -346,4 +348,4 @@ export {
|
|
|
346
348
|
renderBody,
|
|
347
349
|
renderBodyForExport
|
|
348
350
|
};
|
|
349
|
-
//# sourceMappingURL=chunk-
|
|
351
|
+
//# sourceMappingURL=chunk-VQGQF7O7.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// src/utils/title-constants.ts
|
|
2
2
|
var TITLE_FONT_SIZE = 20;
|
|
3
|
-
var TITLE_FONT_WEIGHT = "
|
|
3
|
+
var TITLE_FONT_WEIGHT = "bold";
|
|
4
4
|
var TITLE_Y = 30;
|
|
5
5
|
var TITLE_OFFSET = 40;
|
|
6
6
|
var CAPTION_FONT_SIZE = 13;
|
|
@@ -20,4 +20,4 @@ export {
|
|
|
20
20
|
CAPTION_BOX_PADDING_X,
|
|
21
21
|
CAPTION_BOX_PADDING_Y
|
|
22
22
|
};
|
|
23
|
-
//# sourceMappingURL=chunk-
|
|
23
|
+
//# sourceMappingURL=chunk-VSPNH7LC.js.map
|
|
@@ -8,7 +8,7 @@ import {
|
|
|
8
8
|
tagAttrKey,
|
|
9
9
|
validateTagGroupNames,
|
|
10
10
|
validateTagValues
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-R4YGH7DJ.js";
|
|
12
12
|
import {
|
|
13
13
|
TREEMAP_REGISTRY,
|
|
14
14
|
extractColor,
|
|
@@ -445,4 +445,4 @@ export {
|
|
|
445
445
|
TREEMAP_DIAGNOSTICS,
|
|
446
446
|
parseTreemap
|
|
447
447
|
};
|
|
448
|
-
//# sourceMappingURL=chunk-
|
|
448
|
+
//# sourceMappingURL=chunk-VUJQ6RU6.js.map
|
|
@@ -1,44 +1,48 @@
|
|
|
1
1
|
import {
|
|
2
2
|
layoutClassDiagram
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-P2DM7Q5U.js";
|
|
4
4
|
import {
|
|
5
5
|
NOTE_BADGE_RADIUS,
|
|
6
6
|
noteConnectorPoints,
|
|
7
7
|
renderNoteBadge,
|
|
8
8
|
renderNoteBox,
|
|
9
9
|
renderNoteConnector
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-KO6DGOOB.js";
|
|
11
11
|
import {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
} from "./chunk-YM5RMLFO.js";
|
|
12
|
+
ScaleContext
|
|
13
|
+
} from "./chunk-24YPR5EH.js";
|
|
15
14
|
import {
|
|
15
|
+
ARROWHEAD_HEIGHT,
|
|
16
|
+
ARROWHEAD_WIDTH,
|
|
17
|
+
EDGE_DASH,
|
|
18
|
+
EDGE_LABEL_KNOCKOUT_OPACITY,
|
|
16
19
|
EDGE_STROKE_WIDTH,
|
|
17
20
|
NODE_STROKE_WIDTH
|
|
18
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-IIEI7VK5.js";
|
|
19
22
|
import {
|
|
20
|
-
|
|
21
|
-
|
|
23
|
+
extractExportSvg,
|
|
24
|
+
runInExportContainer
|
|
25
|
+
} from "./chunk-QFIXL3OK.js";
|
|
22
26
|
import {
|
|
23
27
|
layoutInlineHeader
|
|
24
|
-
} from "./chunk-
|
|
28
|
+
} from "./chunk-FLMXJMMY.js";
|
|
25
29
|
import {
|
|
26
30
|
TITLE_FONT_SIZE,
|
|
27
31
|
TITLE_FONT_WEIGHT,
|
|
28
32
|
TITLE_Y
|
|
29
|
-
} from "./chunk-
|
|
33
|
+
} from "./chunk-VSPNH7LC.js";
|
|
30
34
|
import {
|
|
31
35
|
renderIntegratedLegend
|
|
32
|
-
} from "./chunk-
|
|
36
|
+
} from "./chunk-67I3HFSF.js";
|
|
33
37
|
import {
|
|
34
38
|
getLegendExtent
|
|
35
|
-
} from "./chunk-
|
|
39
|
+
} from "./chunk-IZTU6WVR.js";
|
|
36
40
|
import {
|
|
37
41
|
FONT_FAMILY
|
|
38
|
-
} from "./chunk-
|
|
42
|
+
} from "./chunk-ICLB27PZ.js";
|
|
39
43
|
import {
|
|
40
44
|
LEGEND_HEIGHT
|
|
41
|
-
} from "./chunk-
|
|
45
|
+
} from "./chunk-MFK7LF66.js";
|
|
42
46
|
import {
|
|
43
47
|
measureText
|
|
44
48
|
} from "./chunk-MTGGOCND.js";
|
|
@@ -53,7 +57,7 @@ import {
|
|
|
53
57
|
import {
|
|
54
58
|
contrastText,
|
|
55
59
|
shapeFill
|
|
56
|
-
} from "./chunk-
|
|
60
|
+
} from "./chunk-YVLTNNME.js";
|
|
57
61
|
|
|
58
62
|
// src/class/renderer.ts
|
|
59
63
|
import * as d3Selection from "d3-selection";
|
|
@@ -215,12 +219,12 @@ function renderClassDiagram(container, parsed, layout, palette, isDark, onClickI
|
|
|
215
219
|
svg.attr("width", "100%");
|
|
216
220
|
}
|
|
217
221
|
const defs = svg.append("defs");
|
|
218
|
-
const AW =
|
|
219
|
-
const AH =
|
|
222
|
+
const AW = ARROWHEAD_WIDTH;
|
|
223
|
+
const AH = ARROWHEAD_HEIGHT;
|
|
220
224
|
defs.append("marker").attr("id", "cd-arrow-inherit").attr("viewBox", `0 0 ${AW} ${AH}`).attr("refX", AW).attr("refY", AH / 2).attr("markerWidth", AW).attr("markerHeight", AH).attr("orient", "auto").append("polygon").attr("points", `0,0 ${AW},${AH / 2} 0,${AH}`).attr("fill", palette.textMuted).attr("stroke", palette.textMuted).attr("stroke-width", 1);
|
|
221
225
|
defs.append("marker").attr("id", "cd-arrow-implement").attr("viewBox", `0 0 ${AW} ${AH}`).attr("refX", AW).attr("refY", AH / 2).attr("markerWidth", AW).attr("markerHeight", AH).attr("orient", "auto").append("polygon").attr("points", `0,0 ${AW},${AH / 2} 0,${AH}`).attr("fill", palette.bg).attr("stroke", palette.textMuted).attr("stroke-width", 1);
|
|
222
|
-
const DW =
|
|
223
|
-
const DH =
|
|
226
|
+
const DW = ARROWHEAD_WIDTH;
|
|
227
|
+
const DH = ARROWHEAD_HEIGHT;
|
|
224
228
|
defs.append("marker").attr("id", "cd-arrow-compose").attr("viewBox", `0 0 ${DW} ${DH}`).attr("refX", 0).attr("refY", DH / 2).attr("markerWidth", DW).attr("markerHeight", DH).attr("orient", "auto").append("polygon").attr("points", `${DW / 2},0 ${DW},${DH / 2} ${DW / 2},${DH} 0,${DH / 2}`).attr("fill", palette.textMuted).attr("stroke", palette.textMuted).attr("stroke-width", 1);
|
|
225
229
|
defs.append("marker").attr("id", "cd-arrow-aggregate").attr("viewBox", `0 0 ${DW} ${DH}`).attr("refX", 0).attr("refY", DH / 2).attr("markerWidth", DW).attr("markerHeight", DH).attr("orient", "auto").append("polygon").attr("points", `${DW / 2},0 ${DW},${DH / 2} ${DW / 2},${DH} 0,${DH / 2}`).attr("fill", palette.bg).attr("stroke", palette.textMuted).attr("stroke-width", 1);
|
|
226
230
|
defs.append("marker").attr("id", "cd-arrow-depend").attr("viewBox", `0 0 ${AW} ${AH}`).attr("refX", AW).attr("refY", AH / 2).attr("markerWidth", AW).attr("markerHeight", AH).attr("orient", "auto").append("polyline").attr("points", `0,0 ${AW},${AH / 2} 0,${AH}`).attr("fill", "none").attr("stroke", palette.textMuted).attr("stroke-width", 1.5);
|
|
@@ -271,7 +275,7 @@ function renderClassDiagram(container, parsed, layout, palette, isDark, onClickI
|
|
|
271
275
|
if (pathD) {
|
|
272
276
|
const pathEl = edgeG.append("path").attr("d", pathD).attr("fill", "none").attr("stroke", edgeColor).attr("stroke-width", sEdgeStrokeWidth).attr("class", "cd-edge");
|
|
273
277
|
if (dashed) {
|
|
274
|
-
pathEl.attr("stroke-dasharray",
|
|
278
|
+
pathEl.attr("stroke-dasharray", EDGE_DASH);
|
|
275
279
|
}
|
|
276
280
|
if (sourceMarker) {
|
|
277
281
|
pathEl.attr("marker-start", `url(#${markerId})`);
|
|
@@ -284,7 +288,7 @@ function renderClassDiagram(container, parsed, layout, palette, isDark, onClickI
|
|
|
284
288
|
const midPt = edge.points[midIdx];
|
|
285
289
|
const bgW = measureText(edge.label, sEdgeLabelFontSize) + 8;
|
|
286
290
|
const bgH = 16;
|
|
287
|
-
edgeG.append("rect").attr("x", midPt.x - bgW / 2).attr("y", midPt.y - bgH / 2 - 1).attr("width", bgW).attr("height", bgH).attr("rx", 3).attr("fill", palette.bg).attr("opacity",
|
|
291
|
+
edgeG.append("rect").attr("x", midPt.x - bgW / 2).attr("y", midPt.y - bgH / 2 - 1).attr("width", bgW).attr("height", bgH).attr("rx", 3).attr("fill", palette.bg).attr("opacity", EDGE_LABEL_KNOCKOUT_OPACITY).attr("class", "cd-edge-label-bg");
|
|
288
292
|
edgeG.append("text").attr("x", midPt.x).attr("y", midPt.y + 4).attr("text-anchor", "middle").attr("fill", edgeColor).attr("font-size", sEdgeLabelFontSize).attr("class", "cd-edge-label").text(edge.label);
|
|
289
293
|
}
|
|
290
294
|
}
|
|
@@ -448,4 +452,4 @@ export {
|
|
|
448
452
|
renderClassDiagram,
|
|
449
453
|
renderClassDiagramForExport
|
|
450
454
|
};
|
|
451
|
-
//# sourceMappingURL=chunk-
|
|
455
|
+
//# sourceMappingURL=chunk-VZD3ZV4Y.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
stripInlineMarkdown
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-FWNJDD4U.js";
|
|
4
4
|
|
|
5
5
|
// src/utils/wrapped-desc.ts
|
|
6
6
|
var BULLET_PREFIX = "\u2022 ";
|
|
@@ -90,4 +90,4 @@ function wrapPlainLine(line, charsPerLine, lengthFn) {
|
|
|
90
90
|
export {
|
|
91
91
|
wrapDescriptionLines
|
|
92
92
|
};
|
|
93
|
-
//# sourceMappingURL=chunk-
|
|
93
|
+
//# sourceMappingURL=chunk-WMIKC5XO.js.map
|
|
@@ -1,17 +1,19 @@
|
|
|
1
1
|
import {
|
|
2
2
|
resolveTagColor,
|
|
3
3
|
tagAttrKey
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-R4YGH7DJ.js";
|
|
5
5
|
import {
|
|
6
6
|
mix
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-YVLTNNME.js";
|
|
8
8
|
import {
|
|
9
9
|
resolveColor
|
|
10
10
|
} from "./chunk-XOGQY4EC.js";
|
|
11
11
|
|
|
12
12
|
// src/treemap/treemap-shared.ts
|
|
13
13
|
import { scaleLinear } from "d3-scale";
|
|
14
|
-
|
|
14
|
+
function mutedFill(palette) {
|
|
15
|
+
return mix(palette.colors.gray, palette.bg, 35);
|
|
16
|
+
}
|
|
15
17
|
function depthTint(hue, depth, bg) {
|
|
16
18
|
if (depth <= 1) return hue;
|
|
17
19
|
const keepPct = Math.max(55, 100 - (depth - 1) * 18);
|
|
@@ -38,15 +40,15 @@ function activeTagGroupOf(parsed) {
|
|
|
38
40
|
}
|
|
39
41
|
function resolveCellColor(cell, ctx) {
|
|
40
42
|
if (ctx.mode === "heat") {
|
|
41
|
-
return cell.heat !== void 0 && ctx.heat ? ctx.heat.scale(cell.heat) :
|
|
43
|
+
return cell.heat !== void 0 && ctx.heat ? ctx.heat.scale(cell.heat) : ctx.muted;
|
|
42
44
|
}
|
|
43
45
|
if (ctx.mode === "tag") {
|
|
44
|
-
if (!cell.node) return
|
|
46
|
+
if (!cell.node) return ctx.muted;
|
|
45
47
|
return resolveTagColor(
|
|
46
48
|
cell.node.metadata,
|
|
47
49
|
ctx.tagGroups,
|
|
48
50
|
ctx.activeGroup
|
|
49
|
-
) ??
|
|
51
|
+
) ?? ctx.muted;
|
|
50
52
|
}
|
|
51
53
|
const topLabel = cell.path[0] ?? cell.label;
|
|
52
54
|
const idx = (ctx.rootIndexByLabel.get(topLabel) ?? cell.topIndex) + ctx.colorOffset;
|
|
@@ -168,6 +170,7 @@ function buildLegend(activeMode, parsed, heat, seriesColors, colorOffset) {
|
|
|
168
170
|
}
|
|
169
171
|
|
|
170
172
|
export {
|
|
173
|
+
mutedFill,
|
|
171
174
|
resolveColorMode,
|
|
172
175
|
activeTagGroupOf,
|
|
173
176
|
resolveCellColor,
|
|
@@ -176,4 +179,4 @@ export {
|
|
|
176
179
|
formatPct,
|
|
177
180
|
buildLegend
|
|
178
181
|
};
|
|
179
|
-
//# sourceMappingURL=chunk-
|
|
182
|
+
//# sourceMappingURL=chunk-X326N4GN.js.map
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
// src/utils/arrow-markers.ts
|
|
2
|
+
function appendArrowheadMarkers(defs, opts) {
|
|
3
|
+
const { idPrefix, width, height, baseFill, colors } = opts;
|
|
4
|
+
const appendMarker = (id, fill) => {
|
|
5
|
+
defs.append("marker").attr("id", id).attr("viewBox", `0 0 ${width} ${height}`).attr("refX", width).attr("refY", height / 2).attr("markerWidth", width).attr("markerHeight", height).attr("orient", "auto").append("polygon").attr("points", `0,0 ${width},${height / 2} 0,${height}`).attr("fill", fill);
|
|
6
|
+
};
|
|
7
|
+
appendMarker(`${idPrefix}-arrow`, baseFill);
|
|
8
|
+
for (const color of colors ?? []) {
|
|
9
|
+
appendMarker(`${idPrefix}-arrow-${color.replace("#", "")}`, color);
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
function appendReverseArrowheadMarkers(defs, opts) {
|
|
13
|
+
const {
|
|
14
|
+
idPrefix,
|
|
15
|
+
width,
|
|
16
|
+
height,
|
|
17
|
+
baseFill,
|
|
18
|
+
colors,
|
|
19
|
+
reverseSuffix = "arrow-rev"
|
|
20
|
+
} = opts;
|
|
21
|
+
const appendMarker = (id, fill) => {
|
|
22
|
+
defs.append("marker").attr("id", id).attr("viewBox", `0 0 ${width} ${height}`).attr("refX", 0).attr("refY", height / 2).attr("markerWidth", width).attr("markerHeight", height).attr("orient", "auto").append("polygon").attr("points", `${width},0 0,${height / 2} ${width},${height}`).attr("fill", fill);
|
|
23
|
+
};
|
|
24
|
+
appendMarker(`${idPrefix}-${reverseSuffix}`, baseFill);
|
|
25
|
+
for (const color of colors ?? []) {
|
|
26
|
+
appendMarker(
|
|
27
|
+
`${idPrefix}-${reverseSuffix}-${color.replace("#", "")}`,
|
|
28
|
+
color
|
|
29
|
+
);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
export {
|
|
34
|
+
appendArrowheadMarkers,
|
|
35
|
+
appendReverseArrowheadMarkers
|
|
36
|
+
};
|
|
37
|
+
//# sourceMappingURL=chunk-XBJJP2HN.js.map
|
|
@@ -17,7 +17,7 @@ import {
|
|
|
17
17
|
stripDefaultModifier,
|
|
18
18
|
validateTagGroupNames,
|
|
19
19
|
validateTagValues
|
|
20
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-R4YGH7DJ.js";
|
|
21
21
|
import {
|
|
22
22
|
AliasRegistry,
|
|
23
23
|
FILL_FAMILY_TOKENS,
|
|
@@ -1072,4 +1072,4 @@ export {
|
|
|
1072
1072
|
parseSequenceDgmo,
|
|
1073
1073
|
looksLikeSequence
|
|
1074
1074
|
};
|
|
1075
|
-
//# sourceMappingURL=chunk-
|
|
1075
|
+
//# sourceMappingURL=chunk-XCR3PDFF.js.map
|