schematex 0.5.2 → 0.6.1
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 +75 -1
- package/dist/ai/ai-sdk.cjs +23 -23
- package/dist/ai/ai-sdk.d.cts +4 -4
- package/dist/ai/ai-sdk.d.ts +4 -4
- package/dist/ai/ai-sdk.js +18 -18
- package/dist/ai/index.cjs +35 -27
- package/dist/ai/index.d.cts +4 -4
- package/dist/ai/index.d.ts +4 -4
- package/dist/ai/index.js +18 -18
- package/dist/{api-Cr_MxttI.d.ts → api-BEJTXyBA.d.cts} +3 -40
- package/dist/{api-C5SECOxZ.d.cts → api-DFrSR3lw.d.ts} +3 -40
- package/dist/browser.cjs +24 -24
- package/dist/browser.d.cts +3 -3
- package/dist/browser.d.ts +3 -3
- package/dist/browser.js +18 -18
- package/dist/{chunk-N7W5KZK7.cjs → chunk-2L4YXZAZ.cjs} +4 -4
- package/dist/{chunk-N7W5KZK7.cjs.map → chunk-2L4YXZAZ.cjs.map} +1 -1
- package/dist/{chunk-ZYRCPSBU.js → chunk-3IE7KZY4.js} +4 -4
- package/dist/{chunk-ZYRCPSBU.js.map → chunk-3IE7KZY4.js.map} +1 -1
- package/dist/{chunk-ZX74KJPM.js → chunk-3VB5AT4R.js} +3 -3
- package/dist/{chunk-ZX74KJPM.js.map → chunk-3VB5AT4R.js.map} +1 -1
- package/dist/{chunk-S2KJRHDZ.cjs → chunk-4UFR2LB6.cjs} +13 -13
- package/dist/{chunk-S2KJRHDZ.cjs.map → chunk-4UFR2LB6.cjs.map} +1 -1
- package/dist/{chunk-4QPDZJAL.cjs → chunk-4XR7X7XW.cjs} +11569 -9045
- package/dist/chunk-4XR7X7XW.cjs.map +1 -0
- package/dist/{chunk-6OSUNBZY.js → chunk-522WB2EH.js} +135 -7
- package/dist/chunk-522WB2EH.js.map +1 -0
- package/dist/{chunk-QTNPMIO2.cjs → chunk-6JI6FWLZ.cjs} +341 -35
- package/dist/chunk-6JI6FWLZ.cjs.map +1 -0
- package/dist/{chunk-UFTYX73U.js → chunk-7F76AWOI.js} +339 -35
- package/dist/chunk-7F76AWOI.js.map +1 -0
- package/dist/{chunk-BW4KGTV7.cjs → chunk-C5C5EF3W.cjs} +4 -4
- package/dist/{chunk-BW4KGTV7.cjs.map → chunk-C5C5EF3W.cjs.map} +1 -1
- package/dist/{chunk-VJGMEGMR.js → chunk-DOK7LKLO.js} +125 -13
- package/dist/chunk-DOK7LKLO.js.map +1 -0
- package/dist/{chunk-L3CTXXVZ.js → chunk-FBS3PACU.js} +3 -3
- package/dist/{chunk-L3CTXXVZ.js.map → chunk-FBS3PACU.js.map} +1 -1
- package/dist/{chunk-QUKVGHN4.cjs → chunk-FKJBXGWP.cjs} +4 -4
- package/dist/{chunk-QUKVGHN4.cjs.map → chunk-FKJBXGWP.cjs.map} +1 -1
- package/dist/{chunk-SZK376QB.js → chunk-H4MT5TJP.js} +3 -3
- package/dist/{chunk-SZK376QB.js.map → chunk-H4MT5TJP.js.map} +1 -1
- package/dist/{chunk-3M6T7KB4.js → chunk-HAZALB7U.js} +3 -3
- package/dist/{chunk-3M6T7KB4.js.map → chunk-HAZALB7U.js.map} +1 -1
- package/dist/{chunk-VFZOPRQP.cjs → chunk-HWVBHU3O.cjs} +5 -5
- package/dist/{chunk-VFZOPRQP.cjs.map → chunk-HWVBHU3O.cjs.map} +1 -1
- package/dist/{chunk-OK5ZS3LU.js → chunk-I2GQYOZ5.js} +11586 -9069
- package/dist/chunk-I2GQYOZ5.js.map +1 -0
- package/dist/{chunk-D7EHZFK4.cjs → chunk-L7POWM5B.cjs} +138 -2
- package/dist/chunk-L7POWM5B.cjs.map +1 -0
- package/dist/{chunk-2VNMKOUO.js → chunk-LRI4RH2N.js} +135 -3
- package/dist/chunk-LRI4RH2N.js.map +1 -0
- package/dist/{chunk-EPKIJEH7.js → chunk-MFAMNFPA.js} +63 -6
- package/dist/chunk-MFAMNFPA.js.map +1 -0
- package/dist/{chunk-VDSYMSUY.js → chunk-MVIEIKOI.js} +3 -3
- package/dist/{chunk-VDSYMSUY.js.map → chunk-MVIEIKOI.js.map} +1 -1
- package/dist/{chunk-ZL5RB4UV.js → chunk-N5B242WY.js} +3 -3
- package/dist/{chunk-ZL5RB4UV.js.map → chunk-N5B242WY.js.map} +1 -1
- package/dist/{chunk-VKPCR7BG.js → chunk-OTSVMKII.js} +883 -12
- package/dist/chunk-OTSVMKII.js.map +1 -0
- package/dist/{chunk-YLEVMOK2.cjs → chunk-R66QG3XT.cjs} +5 -4
- package/dist/{chunk-YLEVMOK2.cjs.map → chunk-R66QG3XT.cjs.map} +1 -1
- package/dist/{chunk-3M6WB62Y.cjs → chunk-R6VX5YTJ.cjs} +139 -7
- package/dist/chunk-R6VX5YTJ.cjs.map +1 -0
- package/dist/{chunk-I55HO32M.js → chunk-RJMCWT7Z.js} +3 -3
- package/dist/{chunk-I55HO32M.js.map → chunk-RJMCWT7Z.js.map} +1 -1
- package/dist/{chunk-TZTCIAYW.cjs → chunk-S3RMAXH5.cjs} +137 -25
- package/dist/chunk-S3RMAXH5.cjs.map +1 -0
- package/dist/{chunk-HK56GQQP.cjs → chunk-SSLNPHCL.cjs} +886 -13
- package/dist/chunk-SSLNPHCL.cjs.map +1 -0
- package/dist/{chunk-IBRW3UOA.js → chunk-TWLKXV2O.js} +3 -3
- package/dist/{chunk-IBRW3UOA.js.map → chunk-TWLKXV2O.js.map} +1 -1
- package/dist/{chunk-VCH7RI5H.js → chunk-UWA5MWCI.js} +4 -4
- package/dist/chunk-UWA5MWCI.js.map +1 -0
- package/dist/{chunk-RYVV5UVI.cjs → chunk-V4GILQR6.cjs} +4 -4
- package/dist/{chunk-RYVV5UVI.cjs.map → chunk-V4GILQR6.cjs.map} +1 -1
- package/dist/{chunk-QMTWG6JL.cjs → chunk-V4RO5KYY.cjs} +6 -4
- package/dist/chunk-V4RO5KYY.cjs.map +1 -0
- package/dist/{chunk-VZ5LDNHK.cjs → chunk-VTSH4YPT.cjs} +12 -12
- package/dist/{chunk-VZ5LDNHK.cjs.map → chunk-VTSH4YPT.cjs.map} +1 -1
- package/dist/{chunk-UUBNQV2T.cjs → chunk-WQDIZH2Z.cjs} +12 -12
- package/dist/{chunk-UUBNQV2T.cjs.map → chunk-WQDIZH2Z.cjs.map} +1 -1
- package/dist/{chunk-SUIDD2C5.cjs → chunk-XNCOSVNG.cjs} +63 -6
- package/dist/chunk-XNCOSVNG.cjs.map +1 -0
- package/dist/{chunk-EGSUMHCS.cjs → chunk-YB4XJY5L.cjs} +12 -12
- package/dist/{chunk-EGSUMHCS.cjs.map → chunk-YB4XJY5L.cjs.map} +1 -1
- package/dist/{chunk-JHDR56XO.js → chunk-YS6CGUNH.js} +3 -3
- package/dist/{chunk-JHDR56XO.js.map → chunk-YS6CGUNH.js.map} +1 -1
- package/dist/{types-WTr9W5Ud.d.ts → diagnostics-B-ffSEhl.d.cts} +82 -2
- package/dist/{types-WTr9W5Ud.d.cts → diagnostics-B-ffSEhl.d.ts} +82 -2
- package/dist/diagrams/blockdiagram/index.cjs +5 -5
- package/dist/diagrams/blockdiagram/index.d.cts +1 -1
- package/dist/diagrams/blockdiagram/index.d.ts +1 -1
- package/dist/diagrams/blockdiagram/index.js +1 -1
- package/dist/diagrams/circuit/index.cjs +8 -8
- package/dist/diagrams/circuit/index.d.cts +1 -1
- package/dist/diagrams/circuit/index.d.ts +1 -1
- package/dist/diagrams/circuit/index.js +2 -2
- package/dist/diagrams/ecomap/index.cjs +7 -7
- package/dist/diagrams/ecomap/index.d.cts +1 -1
- package/dist/diagrams/ecomap/index.d.ts +1 -1
- package/dist/diagrams/ecomap/index.js +2 -2
- package/dist/diagrams/entity/index.cjs +6 -6
- package/dist/diagrams/entity/index.d.cts +1 -1
- package/dist/diagrams/entity/index.d.ts +1 -1
- package/dist/diagrams/entity/index.js +2 -2
- package/dist/diagrams/fishbone/index.cjs +8 -8
- package/dist/diagrams/fishbone/index.d.cts +1 -1
- package/dist/diagrams/fishbone/index.d.ts +1 -1
- package/dist/diagrams/fishbone/index.js +2 -2
- package/dist/diagrams/flowchart/index.cjs +8 -8
- package/dist/diagrams/flowchart/index.d.cts +2 -2
- package/dist/diagrams/flowchart/index.d.ts +2 -2
- package/dist/diagrams/flowchart/index.js +2 -2
- package/dist/diagrams/genogram/index.cjs +9 -9
- package/dist/diagrams/genogram/index.d.cts +1 -1
- package/dist/diagrams/genogram/index.d.ts +1 -1
- package/dist/diagrams/genogram/index.js +2 -2
- package/dist/diagrams/ladder/index.cjs +6 -6
- package/dist/diagrams/ladder/index.d.cts +1 -1
- package/dist/diagrams/ladder/index.d.ts +1 -1
- package/dist/diagrams/ladder/index.js +2 -2
- package/dist/diagrams/logic/index.cjs +6 -6
- package/dist/diagrams/logic/index.d.cts +1 -1
- package/dist/diagrams/logic/index.d.ts +1 -1
- package/dist/diagrams/logic/index.js +2 -2
- package/dist/diagrams/orgchart/index.cjs +7 -7
- package/dist/diagrams/orgchart/index.d.cts +1 -1
- package/dist/diagrams/orgchart/index.d.ts +1 -1
- package/dist/diagrams/orgchart/index.js +2 -2
- package/dist/diagrams/pedigree/index.cjs +7 -7
- package/dist/diagrams/pedigree/index.d.cts +1 -1
- package/dist/diagrams/pedigree/index.d.ts +1 -1
- package/dist/diagrams/pedigree/index.js +2 -2
- package/dist/diagrams/phylo/index.cjs +7 -7
- package/dist/diagrams/phylo/index.d.cts +1 -1
- package/dist/diagrams/phylo/index.d.ts +1 -1
- package/dist/diagrams/phylo/index.js +2 -2
- package/dist/diagrams/sld/index.cjs +14 -6
- package/dist/diagrams/sld/index.d.cts +14 -2
- package/dist/diagrams/sld/index.d.ts +14 -2
- package/dist/diagrams/sld/index.js +2 -2
- package/dist/diagrams/sociogram/index.cjs +6 -6
- package/dist/diagrams/sociogram/index.d.cts +1 -1
- package/dist/diagrams/sociogram/index.d.ts +1 -1
- package/dist/diagrams/sociogram/index.js +2 -2
- package/dist/diagrams/timing/index.d.cts +1 -1
- package/dist/diagrams/timing/index.d.ts +1 -1
- package/dist/diagrams/venn/index.cjs +9 -9
- package/dist/diagrams/venn/index.d.cts +1 -1
- package/dist/diagrams/venn/index.d.ts +1 -1
- package/dist/diagrams/venn/index.js +2 -2
- package/dist/{index-BD2yDfQM.d.cts → index-DPWdYfNx.d.ts} +60 -2
- package/dist/{index-C30zQWZI.d.ts → index-S0njakQ2.d.cts} +60 -2
- package/dist/index.cjs +344 -56
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +38 -4
- package/dist/index.d.ts +38 -4
- package/dist/index.js +284 -17
- package/dist/index.js.map +1 -1
- package/dist/react.cjs +18 -18
- package/dist/react.d.cts +2 -2
- package/dist/react.d.ts +2 -2
- package/dist/react.js +17 -17
- package/dist/{tools-DlpuE76u.d.cts → tools-CeGGMCs7.d.cts} +12 -4
- package/dist/{tools-BHWaJPOl.d.ts → tools-kK_enDwb.d.ts} +12 -4
- package/package.json +1 -1
- package/dist/chunk-2VNMKOUO.js.map +0 -1
- package/dist/chunk-3M6WB62Y.cjs.map +0 -1
- package/dist/chunk-4QPDZJAL.cjs.map +0 -1
- package/dist/chunk-6OSUNBZY.js.map +0 -1
- package/dist/chunk-D7EHZFK4.cjs.map +0 -1
- package/dist/chunk-EPKIJEH7.js.map +0 -1
- package/dist/chunk-HK56GQQP.cjs.map +0 -1
- package/dist/chunk-OK5ZS3LU.js.map +0 -1
- package/dist/chunk-QMTWG6JL.cjs.map +0 -1
- package/dist/chunk-QTNPMIO2.cjs.map +0 -1
- package/dist/chunk-SUIDD2C5.cjs.map +0 -1
- package/dist/chunk-TZTCIAYW.cjs.map +0 -1
- package/dist/chunk-UFTYX73U.js.map +0 -1
- package/dist/chunk-VCH7RI5H.js.map +0 -1
- package/dist/chunk-VJGMEGMR.js.map +0 -1
- package/dist/chunk-VKPCR7BG.js.map +0 -1
|
@@ -367,6 +367,138 @@ function resolveTimelineTheme(name) {
|
|
|
367
367
|
const themeName = name in BASE_THEMES ? name : "default";
|
|
368
368
|
return { ...BASE_THEMES[themeName], ...TIMELINE_TOKENS[themeName] };
|
|
369
369
|
}
|
|
370
|
+
var DEFAULT_PETRI = {
|
|
371
|
+
placeFill: "#ffffff",
|
|
372
|
+
placeStroke: "#334155",
|
|
373
|
+
transitionBarFill: "#334155",
|
|
374
|
+
transitionBoxFill: "#ffffff",
|
|
375
|
+
transitionStroke: "#334155",
|
|
376
|
+
tokenFill: "#0f172a",
|
|
377
|
+
enabledStroke: "#059669",
|
|
378
|
+
enabledFill: "#ecfdf5",
|
|
379
|
+
deadStroke: "#94a3b8",
|
|
380
|
+
inhibitorStroke: "#dc2626",
|
|
381
|
+
arcStroke: "#334155",
|
|
382
|
+
weightLabel: "#2563eb",
|
|
383
|
+
tokenPalette: DEFAULT_PALETTE
|
|
384
|
+
};
|
|
385
|
+
var MONOCHROME_PETRI = {
|
|
386
|
+
placeFill: "#ffffff",
|
|
387
|
+
placeStroke: "#000000",
|
|
388
|
+
transitionBarFill: "#000000",
|
|
389
|
+
transitionBoxFill: "#ffffff",
|
|
390
|
+
transitionStroke: "#000000",
|
|
391
|
+
tokenFill: "#000000",
|
|
392
|
+
enabledStroke: "#000000",
|
|
393
|
+
enabledFill: "none",
|
|
394
|
+
deadStroke: "#888888",
|
|
395
|
+
inhibitorStroke: "#000000",
|
|
396
|
+
arcStroke: "#000000",
|
|
397
|
+
weightLabel: "#000000",
|
|
398
|
+
tokenPalette: MONOCHROME_PALETTE
|
|
399
|
+
};
|
|
400
|
+
var DARK_PETRI = {
|
|
401
|
+
placeFill: "#313244",
|
|
402
|
+
placeStroke: "#cdd6f4",
|
|
403
|
+
transitionBarFill: "#cdd6f4",
|
|
404
|
+
transitionBoxFill: "#313244",
|
|
405
|
+
transitionStroke: "#cdd6f4",
|
|
406
|
+
tokenFill: "#cdd6f4",
|
|
407
|
+
enabledStroke: "#a6e3a1",
|
|
408
|
+
enabledFill: "rgba(166,227,161,0.15)",
|
|
409
|
+
deadStroke: "#6c7086",
|
|
410
|
+
inhibitorStroke: "#f38ba8",
|
|
411
|
+
arcStroke: "#cdd6f4",
|
|
412
|
+
weightLabel: "#89b4fa",
|
|
413
|
+
tokenPalette: DARK_PALETTE
|
|
414
|
+
};
|
|
415
|
+
var PETRI_TOKENS = {
|
|
416
|
+
default: DEFAULT_PETRI,
|
|
417
|
+
monochrome: MONOCHROME_PETRI,
|
|
418
|
+
dark: DARK_PETRI
|
|
419
|
+
};
|
|
420
|
+
function resolvePetriTheme(name) {
|
|
421
|
+
const themeName = name in BASE_THEMES ? name : "default";
|
|
422
|
+
return { ...BASE_THEMES[themeName], ...PETRI_TOKENS[themeName] };
|
|
423
|
+
}
|
|
424
|
+
var DEFAULT_NETWORK = {
|
|
425
|
+
deviceFill: "#1d6fb8",
|
|
426
|
+
deviceStroke: "#0f3a5f",
|
|
427
|
+
deviceAccent: "#bfe0f7",
|
|
428
|
+
cloudFill: "#ffffff",
|
|
429
|
+
cloudStroke: "#334155",
|
|
430
|
+
label: "#0f172a",
|
|
431
|
+
subLabel: "#64748b",
|
|
432
|
+
linkCopper: "#334155",
|
|
433
|
+
linkFiber: "#ea7a17",
|
|
434
|
+
linkWireless: "#2563eb",
|
|
435
|
+
linkSerial: "#7c3aed",
|
|
436
|
+
linkPoe: "#059669",
|
|
437
|
+
linkVpn: "#0891b2",
|
|
438
|
+
linkLag: "#334155",
|
|
439
|
+
linkLabel: "#475569",
|
|
440
|
+
siteStroke: "#334155",
|
|
441
|
+
subnetStroke: "#2563eb",
|
|
442
|
+
subnetFill: "#eff6ff",
|
|
443
|
+
zoneStroke: "#dc2626",
|
|
444
|
+
vlanPalette: DEFAULT_PALETTE,
|
|
445
|
+
warn: "#d97706"
|
|
446
|
+
};
|
|
447
|
+
var MONOCHROME_NETWORK = {
|
|
448
|
+
deviceFill: "#ffffff",
|
|
449
|
+
deviceStroke: "#000000",
|
|
450
|
+
deviceAccent: "#000000",
|
|
451
|
+
cloudFill: "#ffffff",
|
|
452
|
+
cloudStroke: "#000000",
|
|
453
|
+
label: "#000000",
|
|
454
|
+
subLabel: "#444444",
|
|
455
|
+
linkCopper: "#000000",
|
|
456
|
+
linkFiber: "#000000",
|
|
457
|
+
linkWireless: "#000000",
|
|
458
|
+
linkSerial: "#000000",
|
|
459
|
+
linkPoe: "#000000",
|
|
460
|
+
linkVpn: "#000000",
|
|
461
|
+
linkLag: "#000000",
|
|
462
|
+
linkLabel: "#222222",
|
|
463
|
+
siteStroke: "#000000",
|
|
464
|
+
subnetStroke: "#000000",
|
|
465
|
+
subnetFill: "none",
|
|
466
|
+
zoneStroke: "#000000",
|
|
467
|
+
vlanPalette: MONOCHROME_PALETTE,
|
|
468
|
+
warn: "#000000"
|
|
469
|
+
};
|
|
470
|
+
var DARK_NETWORK = {
|
|
471
|
+
deviceFill: "#89b4fa",
|
|
472
|
+
deviceStroke: "#1e1e2e",
|
|
473
|
+
deviceAccent: "#1e1e2e",
|
|
474
|
+
cloudFill: "#313244",
|
|
475
|
+
cloudStroke: "#cdd6f4",
|
|
476
|
+
label: "#cdd6f4",
|
|
477
|
+
subLabel: "#a6adc8",
|
|
478
|
+
linkCopper: "#cdd6f4",
|
|
479
|
+
linkFiber: "#fab387",
|
|
480
|
+
linkWireless: "#89b4fa",
|
|
481
|
+
linkSerial: "#cba6f7",
|
|
482
|
+
linkPoe: "#a6e3a1",
|
|
483
|
+
linkVpn: "#94e2d5",
|
|
484
|
+
linkLag: "#cdd6f4",
|
|
485
|
+
linkLabel: "#a6adc8",
|
|
486
|
+
siteStroke: "#cdd6f4",
|
|
487
|
+
subnetStroke: "#89b4fa",
|
|
488
|
+
subnetFill: "rgba(137,180,250,0.12)",
|
|
489
|
+
zoneStroke: "#f38ba8",
|
|
490
|
+
vlanPalette: DARK_PALETTE,
|
|
491
|
+
warn: "#fab387"
|
|
492
|
+
};
|
|
493
|
+
var NETWORK_TOKENS = {
|
|
494
|
+
default: DEFAULT_NETWORK,
|
|
495
|
+
monochrome: MONOCHROME_NETWORK,
|
|
496
|
+
dark: DARK_NETWORK
|
|
497
|
+
};
|
|
498
|
+
function resolveNetworkTheme(name) {
|
|
499
|
+
const themeName = name in BASE_THEMES ? name : "default";
|
|
500
|
+
return { ...BASE_THEMES[themeName], ...NETWORK_TOKENS[themeName] };
|
|
501
|
+
}
|
|
370
502
|
function resolveBaseTheme(name) {
|
|
371
503
|
return BASE_THEMES[name] ?? BASE_THEMES["default"];
|
|
372
504
|
}
|
|
@@ -430,7 +562,9 @@ function cssCustomProperties(theme) {
|
|
|
430
562
|
exports.BASE_THEMES = BASE_THEMES;
|
|
431
563
|
exports.BIOLOGY_TOKENS = BIOLOGY_TOKENS;
|
|
432
564
|
exports.FONT_SIZE = FONT_SIZE;
|
|
565
|
+
exports.NETWORK_TOKENS = NETWORK_TOKENS;
|
|
433
566
|
exports.PERSON_TOKENS = PERSON_TOKENS;
|
|
567
|
+
exports.PETRI_TOKENS = PETRI_TOKENS;
|
|
434
568
|
exports.STROKE_WIDTH = STROKE_WIDTH;
|
|
435
569
|
exports.VENN_TOKENS = VENN_TOKENS;
|
|
436
570
|
exports.cssCustomProperties = cssCustomProperties;
|
|
@@ -441,8 +575,10 @@ exports.resolveFlowchartTheme = resolveFlowchartTheme;
|
|
|
441
575
|
exports.resolveGenogramTheme = resolveGenogramTheme;
|
|
442
576
|
exports.resolveIndustrialTheme = resolveIndustrialTheme;
|
|
443
577
|
exports.resolveMindmapTheme = resolveMindmapTheme;
|
|
578
|
+
exports.resolveNetworkTheme = resolveNetworkTheme;
|
|
444
579
|
exports.resolvePersonTheme = resolvePersonTheme;
|
|
580
|
+
exports.resolvePetriTheme = resolvePetriTheme;
|
|
445
581
|
exports.resolveTimelineTheme = resolveTimelineTheme;
|
|
446
582
|
exports.resolveVennTheme = resolveVennTheme;
|
|
447
|
-
//# sourceMappingURL=chunk-
|
|
448
|
-
//# sourceMappingURL=chunk-
|
|
583
|
+
//# sourceMappingURL=chunk-L7POWM5B.cjs.map
|
|
584
|
+
//# sourceMappingURL=chunk-L7POWM5B.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/core/theme.ts"],"names":[],"mappings":"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","file":"chunk-L7POWM5B.cjs","sourcesContent":["/**\n * Shared design-token system for all Schematex diagram renderers.\n *\n * Two-layer architecture:\n * 1. BaseTheme — universal tokens every diagram uses\n * 2. Semantic extensions — diagram-family tokens (PersonTokens, BiologyTokens, …)\n *\n * Three built-in presets: default, monochrome, dark.\n * All tokens are also exposed as CSS custom properties (--schematex-*)\n * so consumers can override them.\n */\n\n// ─── Theme Name ────────────────────────────────────────────\n\nexport type ThemeName = \"default\" | \"monochrome\" | \"dark\";\n\n// ─── Base Theme ────────────────────────────────────────────\n\nexport interface BaseTheme {\n bg: string;\n text: string;\n textMuted: string;\n stroke: string;\n fill: string;\n fillMuted: string;\n /** Emphasis / interactive / link color. Use for net labels, focus, selected. */\n accent: string;\n positive: string;\n negative: string;\n /** Mid-gray. Use for muted strokes, neutral-valence edges, dashed separators. */\n neutral: string;\n warn: string;\n /** Category palette — 8 distinguishable colors for ecomap systems, sociogram groups, etc. */\n palette: readonly string[];\n}\n\n// ─── Diagram-Family Semantic Extensions ────────────────────\n\nexport interface PersonTokens {\n maleFill: string;\n femaleFill: string;\n unknownFill: string;\n deceasedMark: string;\n conditionFill: string;\n}\n\nexport interface BiologyTokens {\n cladeColors: readonly string[];\n supportGood: string;\n supportMedium: string;\n supportWarn: string;\n supportBad: string;\n}\n\n/**\n * Tokens for set-theory diagrams (Venn / Euler). Paletteof set fills is\n * tuned slightly softer than BaseTheme to blend nicely under\n * `mix-blend-mode: multiply`.\n */\nexport interface VennTokens {\n vennSetColors: readonly string[];\n vennBlendMode: \"multiply\" | \"screen\" | \"none\";\n vennSetOpacity: number;\n vennSetStroke: string;\n vennLabelColor: string;\n vennCountColor: string;\n vennLeaderColor: string;\n}\n\n/**\n * Tokens for industrial / compliance diagrams (circuit, ladder, SLD, logic gate).\n * These diagrams must stay monochrome under IEEE 315 / IEC 61131-3 standards, so\n * `default` and `monochrome` resolve to pure black-on-white. `dark` is the only\n * variant that shifts — it inverts luminance (light-on-dark) for dark-mode UI.\n * No colorful variant is exposed by design.\n */\nexport interface IndustrialTokens {\n bg: string;\n stroke: string;\n strokeHeavy: string;\n text: string;\n textMuted: string;\n /** Reserved accent for net/bus labels (not for body lines). */\n accent: string;\n /** Fault/missing-symbol indicator. */\n error: string;\n}\n\n/**\n * Tokens for flowchart semantic node classes. Kept separate from BaseTheme so\n * the class-fill palette can be themed without touching structural tokens.\n */\nexport interface FlowchartClassPair {\n fill: string;\n stroke: string;\n text: string;\n}\n\nexport interface FlowchartTokens {\n stadiumFill: string;\n diamondFill: string;\n roundFill: string;\n classes: {\n start: FlowchartClassPair;\n process: FlowchartClassPair;\n decision: FlowchartClassPair;\n success: FlowchartClassPair;\n danger: FlowchartClassPair;\n neutral: FlowchartClassPair;\n };\n}\n\n/**\n * Tokens for knowledge / brainstorming diagrams (mindmap).\n * Pure color tokens — stroke widths live in mindmap-internal constants.\n */\nexport interface MindmapTokens {\n centralFill: string;\n branchPalette: readonly string[];\n /** Inline `code` foreground/background. */\n codeFg: string;\n codeBg: string;\n /** Link color (with underline). */\n linkColor: string;\n /** Checkbox stroke color (unchecked state). */\n checkboxStroke: string;\n /** Checkbox fill when checked. */\n checkboxFill: string;\n}\n\n/**\n * Tokens for timeline diagrams. Palette-driven so categories/tracks share\n * colors with the rest of the diagram family (ecomap/sociogram/phylo).\n * Era bands and card surfaces use theme-neutral tints so no magic hex codes\n * leak into the renderer.\n */\nexport interface TimelineTokens {\n axis: string;\n axisLabel: string;\n eraLabel: string;\n eraOpacity: number;\n eraPlotOpacity: number;\n /** Alternating lane stripe fill. */\n laneStripe: string;\n laneStripeOpacity: number;\n /** Category / task bar palette. Cycled by `category` (fallback to trackIdx). */\n categoryPalette: readonly string[];\n /** Point/milestone ring — defaults to accent but configurable. */\n markerRing: string;\n markerFill: string;\n milestoneFill: string;\n /** Gantt vertical pin shaft. */\n pinShaft: string;\n /** Lollipop card. */\n cardBg: string;\n cardStroke: string;\n cardText: string;\n cardShadow: string;\n /** Gantt legend chip background. */\n legendBg: string;\n legendStroke: string;\n}\n\n// ─── Resolved Theme ────────────────────────────────────────\n\nexport type ResolvedTheme<T = object> = BaseTheme & T;\n\n// ─── Built-in Presets ──────────────────────────────────────\n\n/**\n * Unified 8-color category palettes. Single source of truth for every\n * diagram family — ecomap systems, sociogram groups, phylo clades, fishbone\n * bones, Venn sets all cycle through the same colors per theme.\n * Default uses Tailwind 600; dark uses Catppuccin Mocha; mono uses greys.\n */\nconst DEFAULT_PALETTE = [\n \"#2563eb\", // blue-600\n \"#059669\", // emerald-600\n \"#d97706\", // amber-600\n \"#7c3aed\", // violet-600\n \"#dc2626\", // red-600\n \"#0891b2\", // cyan-600\n \"#db2777\", // pink-600\n \"#475569\", // slate-600\n] as const;\n\nconst MONOCHROME_PALETTE = [\n \"#1f2937\",\n \"#374151\",\n \"#4b5563\",\n \"#6b7280\",\n \"#9ca3af\",\n \"#7a7a7a\",\n \"#525252\",\n \"#262626\",\n] as const;\n\nconst DARK_PALETTE = [\n \"#89b4fa\", // blue\n \"#a6e3a1\", // green\n \"#fab387\", // peach\n \"#cba6f7\", // mauve\n \"#f38ba8\", // red\n \"#94e2d5\", // teal\n \"#f5c2e7\", // pink\n \"#89dceb\", // sky\n] as const;\n\nconst DEFAULT_THEME: BaseTheme = {\n bg: \"#ffffff\",\n text: \"#0f172a\",\n textMuted: \"#475569\",\n stroke: \"#334155\",\n fill: \"#ffffff\",\n fillMuted: \"#f1f5f9\",\n accent: \"#2563eb\",\n positive: \"#059669\",\n negative: \"#dc2626\",\n neutral: \"#94a3b8\",\n warn: \"#d97706\",\n palette: DEFAULT_PALETTE,\n};\n\nconst MONOCHROME_THEME: BaseTheme = {\n bg: \"#ffffff\",\n text: \"#000000\",\n textMuted: \"#555555\",\n stroke: \"#000000\",\n fill: \"#ffffff\",\n fillMuted: \"#f0f0f0\",\n accent: \"#000000\",\n positive: \"#000000\",\n negative: \"#000000\",\n neutral: \"#888888\",\n warn: \"#000000\",\n palette: MONOCHROME_PALETTE,\n};\n\nconst DARK_THEME: BaseTheme = {\n bg: \"#1e1e2e\",\n text: \"#cdd6f4\",\n textMuted: \"#7f849c\",\n stroke: \"#cdd6f4\",\n fill: \"#313244\",\n fillMuted: \"#45475a\",\n accent: \"#89b4fa\",\n positive: \"#a6e3a1\",\n negative: \"#f38ba8\",\n neutral: \"#6c7086\",\n warn: \"#fab387\",\n palette: DARK_PALETTE,\n};\n\nexport const BASE_THEMES: Record<ThemeName, BaseTheme> = {\n default: DEFAULT_THEME,\n monochrome: MONOCHROME_THEME,\n dark: DARK_THEME,\n};\n\n// ─── Person Tokens Per Theme ───────────────────────────────\n\nconst DEFAULT_PERSON: PersonTokens = {\n maleFill: \"#dbeafe\",\n femaleFill: \"#fce7f3\",\n unknownFill: \"#f5f5f5\",\n deceasedMark: \"#b71c1c\",\n conditionFill: \"#1565c0\",\n};\n\nconst MONOCHROME_PERSON: PersonTokens = {\n maleFill: \"#ffffff\",\n femaleFill: \"#ffffff\",\n unknownFill: \"#ffffff\",\n deceasedMark: \"#000000\",\n conditionFill: \"#000000\",\n};\n\nconst DARK_PERSON: PersonTokens = {\n maleFill: \"#1e3a5f\",\n femaleFill: \"#3e1f3e\",\n unknownFill: \"#45475a\",\n deceasedMark: \"#f38ba8\",\n conditionFill: \"#89b4fa\",\n};\n\nexport const PERSON_TOKENS: Record<ThemeName, PersonTokens> = {\n default: DEFAULT_PERSON,\n monochrome: MONOCHROME_PERSON,\n dark: DARK_PERSON,\n};\n\n// ─── Biology Tokens Per Theme ──────────────────────────────\n\nconst DEFAULT_BIOLOGY: BiologyTokens = {\n cladeColors: DEFAULT_PALETTE,\n supportGood: \"#059669\",\n supportMedium: \"#ca8a04\",\n supportWarn: \"#d97706\",\n supportBad: \"#dc2626\",\n};\n\nconst MONOCHROME_BIOLOGY: BiologyTokens = {\n cladeColors: MONOCHROME_PALETTE,\n supportGood: \"#000000\",\n supportMedium: \"#555555\",\n supportWarn: \"#888888\",\n supportBad: \"#aaaaaa\",\n};\n\nconst DARK_BIOLOGY: BiologyTokens = {\n cladeColors: DARK_PALETTE,\n supportGood: \"#a6e3a1\",\n supportMedium: \"#f9e2af\",\n supportWarn: \"#fab387\",\n supportBad: \"#f38ba8\",\n};\n\nexport const BIOLOGY_TOKENS: Record<ThemeName, BiologyTokens> = {\n default: DEFAULT_BIOLOGY,\n monochrome: MONOCHROME_BIOLOGY,\n dark: DARK_BIOLOGY,\n};\n\n// ─── Venn Tokens Per Theme ─────────────────────────────────\n\nconst DEFAULT_VENN: VennTokens = {\n vennSetColors: DEFAULT_PALETTE,\n vennBlendMode: \"multiply\",\n vennSetOpacity: 0.38,\n vennSetStroke: \"#94a3b8\",\n vennLabelColor: \"#0f172a\",\n vennCountColor: \"#0f172a\",\n vennLeaderColor: \"#64748b\",\n};\n\nconst MONOCHROME_VENN: VennTokens = {\n vennSetColors: [\"#999999\", \"#999999\", \"#999999\", \"#999999\", \"#999999\", \"#999999\", \"#999999\", \"#999999\"],\n vennBlendMode: \"none\",\n vennSetOpacity: 0.22,\n vennSetStroke: \"#000000\",\n vennLabelColor: \"#000000\",\n vennCountColor: \"#000000\",\n vennLeaderColor: \"#444444\",\n};\n\nconst DARK_VENN: VennTokens = {\n vennSetColors: DARK_PALETTE,\n vennBlendMode: \"screen\",\n vennSetOpacity: 0.55,\n vennSetStroke: \"#585b70\",\n vennLabelColor: \"#cdd6f4\",\n vennCountColor: \"#f9e2af\",\n vennLeaderColor: \"#7f849c\",\n};\n\nexport const VENN_TOKENS: Record<ThemeName, VennTokens> = {\n default: DEFAULT_VENN,\n monochrome: MONOCHROME_VENN,\n dark: DARK_VENN,\n};\n\n// ─── Mindmap Tokens Per Theme ──────────────────────────────\n\n// Kept as its own struct so the mindmap palette can diverge from BaseTheme\n// later if we want (e.g., a softer / more organic set of branch colors).\n// Today the values mirror BaseTheme.palette so mindmap visually belongs with\n// the rest of the diagram family.\n\nconst DEFAULT_MINDMAP: MindmapTokens = {\n centralFill: \"#0f172a\",\n branchPalette: DEFAULT_PALETTE,\n codeFg: \"#be185d\",\n codeBg: \"#fdf2f8\",\n linkColor: \"#2563eb\",\n checkboxStroke: \"#64748b\",\n checkboxFill: \"#10b981\",\n};\n\nconst MONOCHROME_MINDMAP: MindmapTokens = {\n centralFill: \"#000000\",\n branchPalette: [\"#000000\"],\n codeFg: \"#000000\",\n codeBg: \"#e5e5e5\",\n linkColor: \"#000000\",\n checkboxStroke: \"#000000\",\n checkboxFill: \"#000000\",\n};\n\nconst DARK_MINDMAP: MindmapTokens = {\n centralFill: \"#cdd6f4\",\n branchPalette: DARK_PALETTE,\n codeFg: \"#f5c2e7\",\n codeBg: \"#313244\",\n linkColor: \"#89b4fa\",\n checkboxStroke: \"#a6adc8\",\n checkboxFill: \"#a6e3a1\",\n};\n\nexport const MINDMAP_TOKENS: Record<ThemeName, MindmapTokens> = {\n default: DEFAULT_MINDMAP,\n monochrome: MONOCHROME_MINDMAP,\n dark: DARK_MINDMAP,\n};\n\n// ─── Industrial Tokens Per Theme ───────────────────────────\n\nconst DEFAULT_INDUSTRIAL: IndustrialTokens = {\n bg: \"#ffffff\",\n stroke: \"#222222\",\n strokeHeavy: \"#111111\",\n text: \"#111111\",\n textMuted: \"#555555\",\n accent: \"#1d4e89\",\n error: \"#cc0000\",\n};\n\nconst MONOCHROME_INDUSTRIAL: IndustrialTokens = {\n bg: \"#ffffff\",\n stroke: \"#000000\",\n strokeHeavy: \"#000000\",\n text: \"#000000\",\n textMuted: \"#333333\",\n accent: \"#000000\",\n error: \"#000000\",\n};\n\n// Dark = inverted luminance only. No colorful semantics — still compliance-grade.\nconst DARK_INDUSTRIAL: IndustrialTokens = {\n bg: \"#1e1e2e\",\n stroke: \"#cdd6f4\",\n strokeHeavy: \"#ffffff\",\n text: \"#cdd6f4\",\n textMuted: \"#9399b2\",\n accent: \"#89b4fa\",\n error: \"#f38ba8\",\n};\n\nexport const INDUSTRIAL_TOKENS: Record<ThemeName, IndustrialTokens> = {\n default: DEFAULT_INDUSTRIAL,\n monochrome: MONOCHROME_INDUSTRIAL,\n dark: DARK_INDUSTRIAL,\n};\n\nexport function resolveIndustrialTheme(name: string): ResolvedTheme<IndustrialTokens> {\n const themeName = (name in BASE_THEMES ? name : \"default\") as ThemeName;\n return { ...BASE_THEMES[themeName], ...INDUSTRIAL_TOKENS[themeName] };\n}\n\n// ─── Flowchart Tokens Per Theme ────────────────────────────\n\nconst DEFAULT_FLOWCHART: FlowchartTokens = {\n stadiumFill: \"#dbeafe\",\n diamondFill: \"#fef3c7\",\n roundFill: \"#dcfce7\",\n classes: {\n start: { fill: \"#f0ece0\", stroke: \"#9a8b6a\", text: \"#5c4e2e\" },\n process: { fill: \"#e8e4ff\", stroke: \"#8b7dd8\", text: \"#4c3a8f\" },\n decision: { fill: \"#fde8c8\", stroke: \"#d4985c\", text: \"#8a5a1f\" },\n success: { fill: \"#d4f0e0\", stroke: \"#7bc19a\", text: \"#1e5a3a\" },\n danger: { fill: \"#fbe0dc\", stroke: \"#d89181\", text: \"#8a3525\" },\n neutral: { fill: \"#ececec\", stroke: \"#a0a0a0\", text: \"#555555\" },\n },\n};\n\nconst MONOCHROME_FLOWCHART: FlowchartTokens = {\n stadiumFill: \"#ffffff\",\n diamondFill: \"#ffffff\",\n roundFill: \"#ffffff\",\n classes: {\n start: { fill: \"#ffffff\", stroke: \"#000000\", text: \"#000000\" },\n process: { fill: \"#ffffff\", stroke: \"#000000\", text: \"#000000\" },\n decision: { fill: \"#ffffff\", stroke: \"#000000\", text: \"#000000\" },\n success: { fill: \"#ffffff\", stroke: \"#000000\", text: \"#000000\" },\n danger: { fill: \"#ffffff\", stroke: \"#000000\", text: \"#000000\" },\n neutral: { fill: \"#ffffff\", stroke: \"#000000\", text: \"#000000\" },\n },\n};\n\nconst DARK_FLOWCHART: FlowchartTokens = {\n stadiumFill: \"#1e3a5f\",\n diamondFill: \"#3a3a2a\",\n roundFill: \"#1f3a2a\",\n classes: {\n start: { fill: \"#3a3326\", stroke: \"#c9b88a\", text: \"#f5e7c7\" },\n process: { fill: \"#2e2a52\", stroke: \"#a89ee0\", text: \"#d9d2ff\" },\n decision: { fill: \"#3a2d1a\", stroke: \"#d4985c\", text: \"#f2d5a8\" },\n success: { fill: \"#1e3a2a\", stroke: \"#7bc19a\", text: \"#cdefd8\" },\n danger: { fill: \"#3a231f\", stroke: \"#d89181\", text: \"#f2d0c8\" },\n neutral: { fill: \"#313244\", stroke: \"#7f849c\", text: \"#cdd6f4\" },\n },\n};\n\nexport const FLOWCHART_TOKENS: Record<ThemeName, FlowchartTokens> = {\n default: DEFAULT_FLOWCHART,\n monochrome: MONOCHROME_FLOWCHART,\n dark: DARK_FLOWCHART,\n};\n\nexport function resolveFlowchartTheme(name: string): ResolvedTheme<FlowchartTokens> {\n const themeName = (name in BASE_THEMES ? name : \"default\") as ThemeName;\n return { ...BASE_THEMES[themeName], ...FLOWCHART_TOKENS[themeName] };\n}\n\nexport function resolveMindmapTheme(name: string): ResolvedTheme<MindmapTokens> {\n const themeName = (name in BASE_THEMES ? name : \"default\") as ThemeName;\n return { ...BASE_THEMES[themeName], ...MINDMAP_TOKENS[themeName] };\n}\n\n// ─── Timeline Tokens Per Theme ─────────────────────────────\n\nconst DEFAULT_TIMELINE: TimelineTokens = {\n axis: \"#334155\",\n axisLabel: \"#475569\",\n eraLabel: \"#0f172a\",\n eraOpacity: 0.55,\n eraPlotOpacity: 0.14,\n laneStripe: \"#f1f5f9\",\n laneStripeOpacity: 0.6,\n categoryPalette: DEFAULT_PALETTE,\n markerRing: \"#2563eb\",\n markerFill: \"#ffffff\",\n milestoneFill: \"#d97706\",\n pinShaft: \"#94a3b8\",\n cardBg: \"#ffffff\",\n cardStroke: \"#cbd5e1\",\n cardText: \"#0f172a\",\n cardShadow: \"rgba(15,23,42,0.08)\",\n legendBg: \"#f8fafc\",\n legendStroke: \"#e2e8f0\",\n};\n\nconst MONOCHROME_TIMELINE: TimelineTokens = {\n axis: \"#000000\",\n axisLabel: \"#333333\",\n eraLabel: \"#000000\",\n eraOpacity: 0.2,\n eraPlotOpacity: 0.08,\n laneStripe: \"#f0f0f0\",\n laneStripeOpacity: 0.6,\n categoryPalette: MONOCHROME_PALETTE,\n markerRing: \"#000000\",\n markerFill: \"#ffffff\",\n milestoneFill: \"#000000\",\n pinShaft: \"#888888\",\n cardBg: \"#ffffff\",\n cardStroke: \"#000000\",\n cardText: \"#000000\",\n cardShadow: \"rgba(0,0,0,0.06)\",\n legendBg: \"#ffffff\",\n legendStroke: \"#000000\",\n};\n\nconst DARK_TIMELINE: TimelineTokens = {\n axis: \"#cdd6f4\",\n axisLabel: \"#9399b2\",\n eraLabel: \"#cdd6f4\",\n eraOpacity: 0.5,\n eraPlotOpacity: 0.18,\n laneStripe: \"#313244\",\n laneStripeOpacity: 0.5,\n categoryPalette: DARK_PALETTE,\n markerRing: \"#89b4fa\",\n markerFill: \"#1e1e2e\",\n milestoneFill: \"#fab387\",\n pinShaft: \"#6c7086\",\n cardBg: \"#313244\",\n cardStroke: \"#45475a\",\n cardText: \"#cdd6f4\",\n cardShadow: \"rgba(0,0,0,0.35)\",\n legendBg: \"#181825\",\n legendStroke: \"#45475a\",\n};\n\nexport const TIMELINE_TOKENS: Record<ThemeName, TimelineTokens> = {\n default: DEFAULT_TIMELINE,\n monochrome: MONOCHROME_TIMELINE,\n dark: DARK_TIMELINE,\n};\n\nexport function resolveTimelineTheme(name: string): ResolvedTheme<TimelineTokens> {\n const themeName = (name in BASE_THEMES ? name : \"default\") as ThemeName;\n return { ...BASE_THEMES[themeName], ...TIMELINE_TOKENS[themeName] };\n}\n\n// ─── Petri-net Tokens Per Theme ────────────────────────────\n\n/**\n * Tokens for Petri nets (place/transition nets). Petri net is a CS/maths\n * formalism, not an IEC/IEEE compliance drawing — so unlike IndustrialTokens it\n * gets a tasteful colour theme in `default`. The house rule (see\n * 34-PETRINET-STANDARD §6): body in neutral strokes; green (`positive`) reserved\n * for \"enabled\", red (`negative`) reserved for \"inhibitor / dead\", blue\n * (`accent`) only for weight/rate annotations. `monochrome` reproduces the\n * Murata-1989 textbook look faithfully — colour falls back to shape there.\n */\nexport interface PetriTokens {\n placeFill: string;\n placeStroke: string;\n /** Immediate transition: solid bar — the \"ink\" colour. */\n transitionBarFill: string;\n /** Timed transition: hollow box interior. */\n transitionBoxFill: string;\n transitionStroke: string;\n /** Marking dot colour. */\n tokenFill: string;\n /** Enabled (fireable) transition highlight. */\n enabledStroke: string;\n enabledFill: string;\n /** Dead / disabled transition. */\n deadStroke: string;\n /** Inhibitor + reset arcs. */\n inhibitorStroke: string;\n arcStroke: string;\n weightLabel: string;\n /** Coloured-token (CPN) palette. */\n tokenPalette: readonly string[];\n}\n\nconst DEFAULT_PETRI: PetriTokens = {\n placeFill: \"#ffffff\",\n placeStroke: \"#334155\",\n transitionBarFill: \"#334155\",\n transitionBoxFill: \"#ffffff\",\n transitionStroke: \"#334155\",\n tokenFill: \"#0f172a\",\n enabledStroke: \"#059669\",\n enabledFill: \"#ecfdf5\",\n deadStroke: \"#94a3b8\",\n inhibitorStroke: \"#dc2626\",\n arcStroke: \"#334155\",\n weightLabel: \"#2563eb\",\n tokenPalette: DEFAULT_PALETTE,\n};\n\n// Faithful Murata-1989 textbook: pure black/white. Enabled is shown by a bold\n// ring (not green); inhibitor by its hollow-circle head (not red).\nconst MONOCHROME_PETRI: PetriTokens = {\n placeFill: \"#ffffff\",\n placeStroke: \"#000000\",\n transitionBarFill: \"#000000\",\n transitionBoxFill: \"#ffffff\",\n transitionStroke: \"#000000\",\n tokenFill: \"#000000\",\n enabledStroke: \"#000000\",\n enabledFill: \"none\",\n deadStroke: \"#888888\",\n inhibitorStroke: \"#000000\",\n arcStroke: \"#000000\",\n weightLabel: \"#000000\",\n tokenPalette: MONOCHROME_PALETTE,\n};\n\nconst DARK_PETRI: PetriTokens = {\n placeFill: \"#313244\",\n placeStroke: \"#cdd6f4\",\n transitionBarFill: \"#cdd6f4\",\n transitionBoxFill: \"#313244\",\n transitionStroke: \"#cdd6f4\",\n tokenFill: \"#cdd6f4\",\n enabledStroke: \"#a6e3a1\",\n enabledFill: \"rgba(166,227,161,0.15)\",\n deadStroke: \"#6c7086\",\n inhibitorStroke: \"#f38ba8\",\n arcStroke: \"#cdd6f4\",\n weightLabel: \"#89b4fa\",\n tokenPalette: DARK_PALETTE,\n};\n\nexport const PETRI_TOKENS: Record<ThemeName, PetriTokens> = {\n default: DEFAULT_PETRI,\n monochrome: MONOCHROME_PETRI,\n dark: DARK_PETRI,\n};\n\nexport function resolvePetriTheme(name: string): ResolvedTheme<PetriTokens> {\n const themeName = (name in BASE_THEMES ? name : \"default\") as ThemeName;\n return { ...BASE_THEMES[themeName], ...PETRI_TOKENS[themeName] };\n}\n\n// ─── Network Tokens Per Theme ──────────────────────────────\n// 35-NETWORK-STANDARD §6. Coloured-house family (not forced-mono industrial):\n// device bodies in \"network blue\", link type by colour in default / line-style\n// + tag in monochrome, logical overlays dashed-tinted.\n\nexport interface NetworkTokens {\n deviceFill: string;\n deviceStroke: string;\n deviceAccent: string;\n cloudFill: string;\n cloudStroke: string;\n label: string;\n subLabel: string;\n linkCopper: string;\n linkFiber: string;\n linkWireless: string;\n linkSerial: string;\n linkPoe: string;\n linkVpn: string;\n linkLag: string;\n linkLabel: string;\n siteStroke: string;\n subnetStroke: string;\n subnetFill: string;\n zoneStroke: string;\n vlanPalette: readonly string[];\n warn: string;\n}\n\nconst DEFAULT_NETWORK: NetworkTokens = {\n deviceFill: \"#1d6fb8\",\n deviceStroke: \"#0f3a5f\",\n deviceAccent: \"#bfe0f7\",\n cloudFill: \"#ffffff\",\n cloudStroke: \"#334155\",\n label: \"#0f172a\",\n subLabel: \"#64748b\",\n linkCopper: \"#334155\",\n linkFiber: \"#ea7a17\",\n linkWireless: \"#2563eb\",\n linkSerial: \"#7c3aed\",\n linkPoe: \"#059669\",\n linkVpn: \"#0891b2\",\n linkLag: \"#334155\",\n linkLabel: \"#475569\",\n siteStroke: \"#334155\",\n subnetStroke: \"#2563eb\",\n subnetFill: \"#eff6ff\",\n zoneStroke: \"#dc2626\",\n vlanPalette: DEFAULT_PALETTE,\n warn: \"#d97706\",\n};\n\n// Clean line-art for print/audit: meaning rides on line-style + text tag, not colour.\nconst MONOCHROME_NETWORK: NetworkTokens = {\n deviceFill: \"#ffffff\",\n deviceStroke: \"#000000\",\n deviceAccent: \"#000000\",\n cloudFill: \"#ffffff\",\n cloudStroke: \"#000000\",\n label: \"#000000\",\n subLabel: \"#444444\",\n linkCopper: \"#000000\",\n linkFiber: \"#000000\",\n linkWireless: \"#000000\",\n linkSerial: \"#000000\",\n linkPoe: \"#000000\",\n linkVpn: \"#000000\",\n linkLag: \"#000000\",\n linkLabel: \"#222222\",\n siteStroke: \"#000000\",\n subnetStroke: \"#000000\",\n subnetFill: \"none\",\n zoneStroke: \"#000000\",\n vlanPalette: MONOCHROME_PALETTE,\n warn: \"#000000\",\n};\n\nconst DARK_NETWORK: NetworkTokens = {\n deviceFill: \"#89b4fa\",\n deviceStroke: \"#1e1e2e\",\n deviceAccent: \"#1e1e2e\",\n cloudFill: \"#313244\",\n cloudStroke: \"#cdd6f4\",\n label: \"#cdd6f4\",\n subLabel: \"#a6adc8\",\n linkCopper: \"#cdd6f4\",\n linkFiber: \"#fab387\",\n linkWireless: \"#89b4fa\",\n linkSerial: \"#cba6f7\",\n linkPoe: \"#a6e3a1\",\n linkVpn: \"#94e2d5\",\n linkLag: \"#cdd6f4\",\n linkLabel: \"#a6adc8\",\n siteStroke: \"#cdd6f4\",\n subnetStroke: \"#89b4fa\",\n subnetFill: \"rgba(137,180,250,0.12)\",\n zoneStroke: \"#f38ba8\",\n vlanPalette: DARK_PALETTE,\n warn: \"#fab387\",\n};\n\nexport const NETWORK_TOKENS: Record<ThemeName, NetworkTokens> = {\n default: DEFAULT_NETWORK,\n monochrome: MONOCHROME_NETWORK,\n dark: DARK_NETWORK,\n};\n\nexport function resolveNetworkTheme(name: string): ResolvedTheme<NetworkTokens> {\n const themeName = (name in BASE_THEMES ? name : \"default\") as ThemeName;\n return { ...BASE_THEMES[themeName], ...NETWORK_TOKENS[themeName] };\n}\n\n// ─── Theme Resolution ──────────────────────────────────────\n\nexport function resolveBaseTheme(name: string): BaseTheme {\n return BASE_THEMES[name as ThemeName] ?? BASE_THEMES[\"default\"];\n}\n\nexport function resolvePersonTheme(name: string): ResolvedTheme<PersonTokens> {\n const themeName = (name in BASE_THEMES ? name : \"default\") as ThemeName;\n return { ...BASE_THEMES[themeName], ...PERSON_TOKENS[themeName] };\n}\n\nexport function resolveBiologyTheme(name: string): ResolvedTheme<BiologyTokens> {\n const themeName = (name in BASE_THEMES ? name : \"default\") as ThemeName;\n return { ...BASE_THEMES[themeName], ...BIOLOGY_TOKENS[themeName] };\n}\n\n/**\n * Fishbone uses BaseTheme directly — its bone colors come from `theme.palette`.\n * Kept as a named resolver so callers don't have to know that.\n */\nexport function resolveFishboneTheme(name: string): BaseTheme {\n return resolveBaseTheme(name);\n}\n\nexport function resolveVennTheme(name: string): ResolvedTheme<VennTokens> {\n const themeName = (name in BASE_THEMES ? name : \"default\") as ThemeName;\n return { ...BASE_THEMES[themeName], ...VENN_TOKENS[themeName] };\n}\n\n// ─── Genogram Theme Aliases ────────────────────────────────\n\nconst GENOGRAM_ALIASES: Record<string, ThemeName> = {\n clinical: \"monochrome\",\n colorful: \"default\",\n mono: \"monochrome\",\n bw: \"monochrome\",\n};\n\nexport function resolveGenogramTheme(name: string): ResolvedTheme<PersonTokens> {\n const resolved = GENOGRAM_ALIASES[name] ?? name;\n return resolvePersonTheme(resolved);\n}\n\n// ─── Font Sizes ────────────────────────────────────────────\n\n/**\n * Three-tier typography scale. Diagram-specific font sizes (e.g., 14px section\n * labels, 20px hero titles) live as local constants inside their renderer.\n */\nexport const FONT_SIZE = {\n title: 16,\n label: 12,\n small: 9,\n} as const;\n\n// ─── Stroke Widths ─────────────────────────────────────────\n\n/**\n * Three-tier stroke scale. Anything in between is a local constant in the\n * diagram that needs it.\n * thin — hairlines, ticks, secondary gridlines\n * normal — default body strokes (shapes, edges)\n * thick — emphasis (proband index, star node, center shape)\n */\nexport const STROKE_WIDTH = {\n thin: 1,\n normal: 2,\n thick: 3,\n} as const;\n\n// ─── Spacing ───────────────────────────────────────────────\n\nexport const SPACING = {\n labelGap: 4,\n tipLabelGap: 6,\n titleOffset: 30,\n} as const;\n\n// ─── Font Family ───────────────────────────────────────────\n\nexport const DEFAULT_FONT_FAMILY = \"system-ui, -apple-system, sans-serif\";\n\n// ─── CSS Custom Properties ─────────────────────────────────\n\nexport function cssCustomProperties(theme?: BaseTheme): string {\n const t = theme ?? BASE_THEMES[\"default\"];\n return `\n --schematex-bg: ${t.bg};\n --schematex-text: ${t.text};\n --schematex-text-muted: ${t.textMuted};\n --schematex-stroke: ${t.stroke};\n --schematex-fill: ${t.fill};\n --schematex-fill-muted: ${t.fillMuted};\n --schematex-accent: ${t.accent};\n --schematex-positive: ${t.positive};\n --schematex-negative: ${t.negative};\n --schematex-neutral: ${t.neutral};\n --schematex-warn: ${t.warn};\n --schematex-font-title: ${FONT_SIZE.title}px;\n --schematex-font-label: ${FONT_SIZE.label}px;\n --schematex-font-small: ${FONT_SIZE.small}px;\n --schematex-stroke-thin: ${STROKE_WIDTH.thin};\n --schematex-stroke-normal: ${STROKE_WIDTH.normal};\n --schematex-stroke-thick: ${STROKE_WIDTH.thick};`;\n}\n"]}
|
|
@@ -365,6 +365,138 @@ function resolveTimelineTheme(name) {
|
|
|
365
365
|
const themeName = name in BASE_THEMES ? name : "default";
|
|
366
366
|
return { ...BASE_THEMES[themeName], ...TIMELINE_TOKENS[themeName] };
|
|
367
367
|
}
|
|
368
|
+
var DEFAULT_PETRI = {
|
|
369
|
+
placeFill: "#ffffff",
|
|
370
|
+
placeStroke: "#334155",
|
|
371
|
+
transitionBarFill: "#334155",
|
|
372
|
+
transitionBoxFill: "#ffffff",
|
|
373
|
+
transitionStroke: "#334155",
|
|
374
|
+
tokenFill: "#0f172a",
|
|
375
|
+
enabledStroke: "#059669",
|
|
376
|
+
enabledFill: "#ecfdf5",
|
|
377
|
+
deadStroke: "#94a3b8",
|
|
378
|
+
inhibitorStroke: "#dc2626",
|
|
379
|
+
arcStroke: "#334155",
|
|
380
|
+
weightLabel: "#2563eb",
|
|
381
|
+
tokenPalette: DEFAULT_PALETTE
|
|
382
|
+
};
|
|
383
|
+
var MONOCHROME_PETRI = {
|
|
384
|
+
placeFill: "#ffffff",
|
|
385
|
+
placeStroke: "#000000",
|
|
386
|
+
transitionBarFill: "#000000",
|
|
387
|
+
transitionBoxFill: "#ffffff",
|
|
388
|
+
transitionStroke: "#000000",
|
|
389
|
+
tokenFill: "#000000",
|
|
390
|
+
enabledStroke: "#000000",
|
|
391
|
+
enabledFill: "none",
|
|
392
|
+
deadStroke: "#888888",
|
|
393
|
+
inhibitorStroke: "#000000",
|
|
394
|
+
arcStroke: "#000000",
|
|
395
|
+
weightLabel: "#000000",
|
|
396
|
+
tokenPalette: MONOCHROME_PALETTE
|
|
397
|
+
};
|
|
398
|
+
var DARK_PETRI = {
|
|
399
|
+
placeFill: "#313244",
|
|
400
|
+
placeStroke: "#cdd6f4",
|
|
401
|
+
transitionBarFill: "#cdd6f4",
|
|
402
|
+
transitionBoxFill: "#313244",
|
|
403
|
+
transitionStroke: "#cdd6f4",
|
|
404
|
+
tokenFill: "#cdd6f4",
|
|
405
|
+
enabledStroke: "#a6e3a1",
|
|
406
|
+
enabledFill: "rgba(166,227,161,0.15)",
|
|
407
|
+
deadStroke: "#6c7086",
|
|
408
|
+
inhibitorStroke: "#f38ba8",
|
|
409
|
+
arcStroke: "#cdd6f4",
|
|
410
|
+
weightLabel: "#89b4fa",
|
|
411
|
+
tokenPalette: DARK_PALETTE
|
|
412
|
+
};
|
|
413
|
+
var PETRI_TOKENS = {
|
|
414
|
+
default: DEFAULT_PETRI,
|
|
415
|
+
monochrome: MONOCHROME_PETRI,
|
|
416
|
+
dark: DARK_PETRI
|
|
417
|
+
};
|
|
418
|
+
function resolvePetriTheme(name) {
|
|
419
|
+
const themeName = name in BASE_THEMES ? name : "default";
|
|
420
|
+
return { ...BASE_THEMES[themeName], ...PETRI_TOKENS[themeName] };
|
|
421
|
+
}
|
|
422
|
+
var DEFAULT_NETWORK = {
|
|
423
|
+
deviceFill: "#1d6fb8",
|
|
424
|
+
deviceStroke: "#0f3a5f",
|
|
425
|
+
deviceAccent: "#bfe0f7",
|
|
426
|
+
cloudFill: "#ffffff",
|
|
427
|
+
cloudStroke: "#334155",
|
|
428
|
+
label: "#0f172a",
|
|
429
|
+
subLabel: "#64748b",
|
|
430
|
+
linkCopper: "#334155",
|
|
431
|
+
linkFiber: "#ea7a17",
|
|
432
|
+
linkWireless: "#2563eb",
|
|
433
|
+
linkSerial: "#7c3aed",
|
|
434
|
+
linkPoe: "#059669",
|
|
435
|
+
linkVpn: "#0891b2",
|
|
436
|
+
linkLag: "#334155",
|
|
437
|
+
linkLabel: "#475569",
|
|
438
|
+
siteStroke: "#334155",
|
|
439
|
+
subnetStroke: "#2563eb",
|
|
440
|
+
subnetFill: "#eff6ff",
|
|
441
|
+
zoneStroke: "#dc2626",
|
|
442
|
+
vlanPalette: DEFAULT_PALETTE,
|
|
443
|
+
warn: "#d97706"
|
|
444
|
+
};
|
|
445
|
+
var MONOCHROME_NETWORK = {
|
|
446
|
+
deviceFill: "#ffffff",
|
|
447
|
+
deviceStroke: "#000000",
|
|
448
|
+
deviceAccent: "#000000",
|
|
449
|
+
cloudFill: "#ffffff",
|
|
450
|
+
cloudStroke: "#000000",
|
|
451
|
+
label: "#000000",
|
|
452
|
+
subLabel: "#444444",
|
|
453
|
+
linkCopper: "#000000",
|
|
454
|
+
linkFiber: "#000000",
|
|
455
|
+
linkWireless: "#000000",
|
|
456
|
+
linkSerial: "#000000",
|
|
457
|
+
linkPoe: "#000000",
|
|
458
|
+
linkVpn: "#000000",
|
|
459
|
+
linkLag: "#000000",
|
|
460
|
+
linkLabel: "#222222",
|
|
461
|
+
siteStroke: "#000000",
|
|
462
|
+
subnetStroke: "#000000",
|
|
463
|
+
subnetFill: "none",
|
|
464
|
+
zoneStroke: "#000000",
|
|
465
|
+
vlanPalette: MONOCHROME_PALETTE,
|
|
466
|
+
warn: "#000000"
|
|
467
|
+
};
|
|
468
|
+
var DARK_NETWORK = {
|
|
469
|
+
deviceFill: "#89b4fa",
|
|
470
|
+
deviceStroke: "#1e1e2e",
|
|
471
|
+
deviceAccent: "#1e1e2e",
|
|
472
|
+
cloudFill: "#313244",
|
|
473
|
+
cloudStroke: "#cdd6f4",
|
|
474
|
+
label: "#cdd6f4",
|
|
475
|
+
subLabel: "#a6adc8",
|
|
476
|
+
linkCopper: "#cdd6f4",
|
|
477
|
+
linkFiber: "#fab387",
|
|
478
|
+
linkWireless: "#89b4fa",
|
|
479
|
+
linkSerial: "#cba6f7",
|
|
480
|
+
linkPoe: "#a6e3a1",
|
|
481
|
+
linkVpn: "#94e2d5",
|
|
482
|
+
linkLag: "#cdd6f4",
|
|
483
|
+
linkLabel: "#a6adc8",
|
|
484
|
+
siteStroke: "#cdd6f4",
|
|
485
|
+
subnetStroke: "#89b4fa",
|
|
486
|
+
subnetFill: "rgba(137,180,250,0.12)",
|
|
487
|
+
zoneStroke: "#f38ba8",
|
|
488
|
+
vlanPalette: DARK_PALETTE,
|
|
489
|
+
warn: "#fab387"
|
|
490
|
+
};
|
|
491
|
+
var NETWORK_TOKENS = {
|
|
492
|
+
default: DEFAULT_NETWORK,
|
|
493
|
+
monochrome: MONOCHROME_NETWORK,
|
|
494
|
+
dark: DARK_NETWORK
|
|
495
|
+
};
|
|
496
|
+
function resolveNetworkTheme(name) {
|
|
497
|
+
const themeName = name in BASE_THEMES ? name : "default";
|
|
498
|
+
return { ...BASE_THEMES[themeName], ...NETWORK_TOKENS[themeName] };
|
|
499
|
+
}
|
|
368
500
|
function resolveBaseTheme(name) {
|
|
369
501
|
return BASE_THEMES[name] ?? BASE_THEMES["default"];
|
|
370
502
|
}
|
|
@@ -425,6 +557,6 @@ function cssCustomProperties(theme) {
|
|
|
425
557
|
--schematex-stroke-thick: ${STROKE_WIDTH.thick};`;
|
|
426
558
|
}
|
|
427
559
|
|
|
428
|
-
export { BASE_THEMES, BIOLOGY_TOKENS, FONT_SIZE, PERSON_TOKENS, STROKE_WIDTH, VENN_TOKENS, cssCustomProperties, resolveBaseTheme, resolveBiologyTheme, resolveFishboneTheme, resolveFlowchartTheme, resolveGenogramTheme, resolveIndustrialTheme, resolveMindmapTheme, resolvePersonTheme, resolveTimelineTheme, resolveVennTheme };
|
|
429
|
-
//# sourceMappingURL=chunk-
|
|
430
|
-
//# sourceMappingURL=chunk-
|
|
560
|
+
export { BASE_THEMES, BIOLOGY_TOKENS, FONT_SIZE, NETWORK_TOKENS, PERSON_TOKENS, PETRI_TOKENS, STROKE_WIDTH, VENN_TOKENS, cssCustomProperties, resolveBaseTheme, resolveBiologyTheme, resolveFishboneTheme, resolveFlowchartTheme, resolveGenogramTheme, resolveIndustrialTheme, resolveMindmapTheme, resolveNetworkTheme, resolvePersonTheme, resolvePetriTheme, resolveTimelineTheme, resolveVennTheme };
|
|
561
|
+
//# sourceMappingURL=chunk-LRI4RH2N.js.map
|
|
562
|
+
//# sourceMappingURL=chunk-LRI4RH2N.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/core/theme.ts"],"names":[],"mappings":"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","file":"chunk-LRI4RH2N.js","sourcesContent":["/**\n * Shared design-token system for all Schematex diagram renderers.\n *\n * Two-layer architecture:\n * 1. BaseTheme — universal tokens every diagram uses\n * 2. Semantic extensions — diagram-family tokens (PersonTokens, BiologyTokens, …)\n *\n * Three built-in presets: default, monochrome, dark.\n * All tokens are also exposed as CSS custom properties (--schematex-*)\n * so consumers can override them.\n */\n\n// ─── Theme Name ────────────────────────────────────────────\n\nexport type ThemeName = \"default\" | \"monochrome\" | \"dark\";\n\n// ─── Base Theme ────────────────────────────────────────────\n\nexport interface BaseTheme {\n bg: string;\n text: string;\n textMuted: string;\n stroke: string;\n fill: string;\n fillMuted: string;\n /** Emphasis / interactive / link color. Use for net labels, focus, selected. */\n accent: string;\n positive: string;\n negative: string;\n /** Mid-gray. Use for muted strokes, neutral-valence edges, dashed separators. */\n neutral: string;\n warn: string;\n /** Category palette — 8 distinguishable colors for ecomap systems, sociogram groups, etc. */\n palette: readonly string[];\n}\n\n// ─── Diagram-Family Semantic Extensions ────────────────────\n\nexport interface PersonTokens {\n maleFill: string;\n femaleFill: string;\n unknownFill: string;\n deceasedMark: string;\n conditionFill: string;\n}\n\nexport interface BiologyTokens {\n cladeColors: readonly string[];\n supportGood: string;\n supportMedium: string;\n supportWarn: string;\n supportBad: string;\n}\n\n/**\n * Tokens for set-theory diagrams (Venn / Euler). Paletteof set fills is\n * tuned slightly softer than BaseTheme to blend nicely under\n * `mix-blend-mode: multiply`.\n */\nexport interface VennTokens {\n vennSetColors: readonly string[];\n vennBlendMode: \"multiply\" | \"screen\" | \"none\";\n vennSetOpacity: number;\n vennSetStroke: string;\n vennLabelColor: string;\n vennCountColor: string;\n vennLeaderColor: string;\n}\n\n/**\n * Tokens for industrial / compliance diagrams (circuit, ladder, SLD, logic gate).\n * These diagrams must stay monochrome under IEEE 315 / IEC 61131-3 standards, so\n * `default` and `monochrome` resolve to pure black-on-white. `dark` is the only\n * variant that shifts — it inverts luminance (light-on-dark) for dark-mode UI.\n * No colorful variant is exposed by design.\n */\nexport interface IndustrialTokens {\n bg: string;\n stroke: string;\n strokeHeavy: string;\n text: string;\n textMuted: string;\n /** Reserved accent for net/bus labels (not for body lines). */\n accent: string;\n /** Fault/missing-symbol indicator. */\n error: string;\n}\n\n/**\n * Tokens for flowchart semantic node classes. Kept separate from BaseTheme so\n * the class-fill palette can be themed without touching structural tokens.\n */\nexport interface FlowchartClassPair {\n fill: string;\n stroke: string;\n text: string;\n}\n\nexport interface FlowchartTokens {\n stadiumFill: string;\n diamondFill: string;\n roundFill: string;\n classes: {\n start: FlowchartClassPair;\n process: FlowchartClassPair;\n decision: FlowchartClassPair;\n success: FlowchartClassPair;\n danger: FlowchartClassPair;\n neutral: FlowchartClassPair;\n };\n}\n\n/**\n * Tokens for knowledge / brainstorming diagrams (mindmap).\n * Pure color tokens — stroke widths live in mindmap-internal constants.\n */\nexport interface MindmapTokens {\n centralFill: string;\n branchPalette: readonly string[];\n /** Inline `code` foreground/background. */\n codeFg: string;\n codeBg: string;\n /** Link color (with underline). */\n linkColor: string;\n /** Checkbox stroke color (unchecked state). */\n checkboxStroke: string;\n /** Checkbox fill when checked. */\n checkboxFill: string;\n}\n\n/**\n * Tokens for timeline diagrams. Palette-driven so categories/tracks share\n * colors with the rest of the diagram family (ecomap/sociogram/phylo).\n * Era bands and card surfaces use theme-neutral tints so no magic hex codes\n * leak into the renderer.\n */\nexport interface TimelineTokens {\n axis: string;\n axisLabel: string;\n eraLabel: string;\n eraOpacity: number;\n eraPlotOpacity: number;\n /** Alternating lane stripe fill. */\n laneStripe: string;\n laneStripeOpacity: number;\n /** Category / task bar palette. Cycled by `category` (fallback to trackIdx). */\n categoryPalette: readonly string[];\n /** Point/milestone ring — defaults to accent but configurable. */\n markerRing: string;\n markerFill: string;\n milestoneFill: string;\n /** Gantt vertical pin shaft. */\n pinShaft: string;\n /** Lollipop card. */\n cardBg: string;\n cardStroke: string;\n cardText: string;\n cardShadow: string;\n /** Gantt legend chip background. */\n legendBg: string;\n legendStroke: string;\n}\n\n// ─── Resolved Theme ────────────────────────────────────────\n\nexport type ResolvedTheme<T = object> = BaseTheme & T;\n\n// ─── Built-in Presets ──────────────────────────────────────\n\n/**\n * Unified 8-color category palettes. Single source of truth for every\n * diagram family — ecomap systems, sociogram groups, phylo clades, fishbone\n * bones, Venn sets all cycle through the same colors per theme.\n * Default uses Tailwind 600; dark uses Catppuccin Mocha; mono uses greys.\n */\nconst DEFAULT_PALETTE = [\n \"#2563eb\", // blue-600\n \"#059669\", // emerald-600\n \"#d97706\", // amber-600\n \"#7c3aed\", // violet-600\n \"#dc2626\", // red-600\n \"#0891b2\", // cyan-600\n \"#db2777\", // pink-600\n \"#475569\", // slate-600\n] as const;\n\nconst MONOCHROME_PALETTE = [\n \"#1f2937\",\n \"#374151\",\n \"#4b5563\",\n \"#6b7280\",\n \"#9ca3af\",\n \"#7a7a7a\",\n \"#525252\",\n \"#262626\",\n] as const;\n\nconst DARK_PALETTE = [\n \"#89b4fa\", // blue\n \"#a6e3a1\", // green\n \"#fab387\", // peach\n \"#cba6f7\", // mauve\n \"#f38ba8\", // red\n \"#94e2d5\", // teal\n \"#f5c2e7\", // pink\n \"#89dceb\", // sky\n] as const;\n\nconst DEFAULT_THEME: BaseTheme = {\n bg: \"#ffffff\",\n text: \"#0f172a\",\n textMuted: \"#475569\",\n stroke: \"#334155\",\n fill: \"#ffffff\",\n fillMuted: \"#f1f5f9\",\n accent: \"#2563eb\",\n positive: \"#059669\",\n negative: \"#dc2626\",\n neutral: \"#94a3b8\",\n warn: \"#d97706\",\n palette: DEFAULT_PALETTE,\n};\n\nconst MONOCHROME_THEME: BaseTheme = {\n bg: \"#ffffff\",\n text: \"#000000\",\n textMuted: \"#555555\",\n stroke: \"#000000\",\n fill: \"#ffffff\",\n fillMuted: \"#f0f0f0\",\n accent: \"#000000\",\n positive: \"#000000\",\n negative: \"#000000\",\n neutral: \"#888888\",\n warn: \"#000000\",\n palette: MONOCHROME_PALETTE,\n};\n\nconst DARK_THEME: BaseTheme = {\n bg: \"#1e1e2e\",\n text: \"#cdd6f4\",\n textMuted: \"#7f849c\",\n stroke: \"#cdd6f4\",\n fill: \"#313244\",\n fillMuted: \"#45475a\",\n accent: \"#89b4fa\",\n positive: \"#a6e3a1\",\n negative: \"#f38ba8\",\n neutral: \"#6c7086\",\n warn: \"#fab387\",\n palette: DARK_PALETTE,\n};\n\nexport const BASE_THEMES: Record<ThemeName, BaseTheme> = {\n default: DEFAULT_THEME,\n monochrome: MONOCHROME_THEME,\n dark: DARK_THEME,\n};\n\n// ─── Person Tokens Per Theme ───────────────────────────────\n\nconst DEFAULT_PERSON: PersonTokens = {\n maleFill: \"#dbeafe\",\n femaleFill: \"#fce7f3\",\n unknownFill: \"#f5f5f5\",\n deceasedMark: \"#b71c1c\",\n conditionFill: \"#1565c0\",\n};\n\nconst MONOCHROME_PERSON: PersonTokens = {\n maleFill: \"#ffffff\",\n femaleFill: \"#ffffff\",\n unknownFill: \"#ffffff\",\n deceasedMark: \"#000000\",\n conditionFill: \"#000000\",\n};\n\nconst DARK_PERSON: PersonTokens = {\n maleFill: \"#1e3a5f\",\n femaleFill: \"#3e1f3e\",\n unknownFill: \"#45475a\",\n deceasedMark: \"#f38ba8\",\n conditionFill: \"#89b4fa\",\n};\n\nexport const PERSON_TOKENS: Record<ThemeName, PersonTokens> = {\n default: DEFAULT_PERSON,\n monochrome: MONOCHROME_PERSON,\n dark: DARK_PERSON,\n};\n\n// ─── Biology Tokens Per Theme ──────────────────────────────\n\nconst DEFAULT_BIOLOGY: BiologyTokens = {\n cladeColors: DEFAULT_PALETTE,\n supportGood: \"#059669\",\n supportMedium: \"#ca8a04\",\n supportWarn: \"#d97706\",\n supportBad: \"#dc2626\",\n};\n\nconst MONOCHROME_BIOLOGY: BiologyTokens = {\n cladeColors: MONOCHROME_PALETTE,\n supportGood: \"#000000\",\n supportMedium: \"#555555\",\n supportWarn: \"#888888\",\n supportBad: \"#aaaaaa\",\n};\n\nconst DARK_BIOLOGY: BiologyTokens = {\n cladeColors: DARK_PALETTE,\n supportGood: \"#a6e3a1\",\n supportMedium: \"#f9e2af\",\n supportWarn: \"#fab387\",\n supportBad: \"#f38ba8\",\n};\n\nexport const BIOLOGY_TOKENS: Record<ThemeName, BiologyTokens> = {\n default: DEFAULT_BIOLOGY,\n monochrome: MONOCHROME_BIOLOGY,\n dark: DARK_BIOLOGY,\n};\n\n// ─── Venn Tokens Per Theme ─────────────────────────────────\n\nconst DEFAULT_VENN: VennTokens = {\n vennSetColors: DEFAULT_PALETTE,\n vennBlendMode: \"multiply\",\n vennSetOpacity: 0.38,\n vennSetStroke: \"#94a3b8\",\n vennLabelColor: \"#0f172a\",\n vennCountColor: \"#0f172a\",\n vennLeaderColor: \"#64748b\",\n};\n\nconst MONOCHROME_VENN: VennTokens = {\n vennSetColors: [\"#999999\", \"#999999\", \"#999999\", \"#999999\", \"#999999\", \"#999999\", \"#999999\", \"#999999\"],\n vennBlendMode: \"none\",\n vennSetOpacity: 0.22,\n vennSetStroke: \"#000000\",\n vennLabelColor: \"#000000\",\n vennCountColor: \"#000000\",\n vennLeaderColor: \"#444444\",\n};\n\nconst DARK_VENN: VennTokens = {\n vennSetColors: DARK_PALETTE,\n vennBlendMode: \"screen\",\n vennSetOpacity: 0.55,\n vennSetStroke: \"#585b70\",\n vennLabelColor: \"#cdd6f4\",\n vennCountColor: \"#f9e2af\",\n vennLeaderColor: \"#7f849c\",\n};\n\nexport const VENN_TOKENS: Record<ThemeName, VennTokens> = {\n default: DEFAULT_VENN,\n monochrome: MONOCHROME_VENN,\n dark: DARK_VENN,\n};\n\n// ─── Mindmap Tokens Per Theme ──────────────────────────────\n\n// Kept as its own struct so the mindmap palette can diverge from BaseTheme\n// later if we want (e.g., a softer / more organic set of branch colors).\n// Today the values mirror BaseTheme.palette so mindmap visually belongs with\n// the rest of the diagram family.\n\nconst DEFAULT_MINDMAP: MindmapTokens = {\n centralFill: \"#0f172a\",\n branchPalette: DEFAULT_PALETTE,\n codeFg: \"#be185d\",\n codeBg: \"#fdf2f8\",\n linkColor: \"#2563eb\",\n checkboxStroke: \"#64748b\",\n checkboxFill: \"#10b981\",\n};\n\nconst MONOCHROME_MINDMAP: MindmapTokens = {\n centralFill: \"#000000\",\n branchPalette: [\"#000000\"],\n codeFg: \"#000000\",\n codeBg: \"#e5e5e5\",\n linkColor: \"#000000\",\n checkboxStroke: \"#000000\",\n checkboxFill: \"#000000\",\n};\n\nconst DARK_MINDMAP: MindmapTokens = {\n centralFill: \"#cdd6f4\",\n branchPalette: DARK_PALETTE,\n codeFg: \"#f5c2e7\",\n codeBg: \"#313244\",\n linkColor: \"#89b4fa\",\n checkboxStroke: \"#a6adc8\",\n checkboxFill: \"#a6e3a1\",\n};\n\nexport const MINDMAP_TOKENS: Record<ThemeName, MindmapTokens> = {\n default: DEFAULT_MINDMAP,\n monochrome: MONOCHROME_MINDMAP,\n dark: DARK_MINDMAP,\n};\n\n// ─── Industrial Tokens Per Theme ───────────────────────────\n\nconst DEFAULT_INDUSTRIAL: IndustrialTokens = {\n bg: \"#ffffff\",\n stroke: \"#222222\",\n strokeHeavy: \"#111111\",\n text: \"#111111\",\n textMuted: \"#555555\",\n accent: \"#1d4e89\",\n error: \"#cc0000\",\n};\n\nconst MONOCHROME_INDUSTRIAL: IndustrialTokens = {\n bg: \"#ffffff\",\n stroke: \"#000000\",\n strokeHeavy: \"#000000\",\n text: \"#000000\",\n textMuted: \"#333333\",\n accent: \"#000000\",\n error: \"#000000\",\n};\n\n// Dark = inverted luminance only. No colorful semantics — still compliance-grade.\nconst DARK_INDUSTRIAL: IndustrialTokens = {\n bg: \"#1e1e2e\",\n stroke: \"#cdd6f4\",\n strokeHeavy: \"#ffffff\",\n text: \"#cdd6f4\",\n textMuted: \"#9399b2\",\n accent: \"#89b4fa\",\n error: \"#f38ba8\",\n};\n\nexport const INDUSTRIAL_TOKENS: Record<ThemeName, IndustrialTokens> = {\n default: DEFAULT_INDUSTRIAL,\n monochrome: MONOCHROME_INDUSTRIAL,\n dark: DARK_INDUSTRIAL,\n};\n\nexport function resolveIndustrialTheme(name: string): ResolvedTheme<IndustrialTokens> {\n const themeName = (name in BASE_THEMES ? name : \"default\") as ThemeName;\n return { ...BASE_THEMES[themeName], ...INDUSTRIAL_TOKENS[themeName] };\n}\n\n// ─── Flowchart Tokens Per Theme ────────────────────────────\n\nconst DEFAULT_FLOWCHART: FlowchartTokens = {\n stadiumFill: \"#dbeafe\",\n diamondFill: \"#fef3c7\",\n roundFill: \"#dcfce7\",\n classes: {\n start: { fill: \"#f0ece0\", stroke: \"#9a8b6a\", text: \"#5c4e2e\" },\n process: { fill: \"#e8e4ff\", stroke: \"#8b7dd8\", text: \"#4c3a8f\" },\n decision: { fill: \"#fde8c8\", stroke: \"#d4985c\", text: \"#8a5a1f\" },\n success: { fill: \"#d4f0e0\", stroke: \"#7bc19a\", text: \"#1e5a3a\" },\n danger: { fill: \"#fbe0dc\", stroke: \"#d89181\", text: \"#8a3525\" },\n neutral: { fill: \"#ececec\", stroke: \"#a0a0a0\", text: \"#555555\" },\n },\n};\n\nconst MONOCHROME_FLOWCHART: FlowchartTokens = {\n stadiumFill: \"#ffffff\",\n diamondFill: \"#ffffff\",\n roundFill: \"#ffffff\",\n classes: {\n start: { fill: \"#ffffff\", stroke: \"#000000\", text: \"#000000\" },\n process: { fill: \"#ffffff\", stroke: \"#000000\", text: \"#000000\" },\n decision: { fill: \"#ffffff\", stroke: \"#000000\", text: \"#000000\" },\n success: { fill: \"#ffffff\", stroke: \"#000000\", text: \"#000000\" },\n danger: { fill: \"#ffffff\", stroke: \"#000000\", text: \"#000000\" },\n neutral: { fill: \"#ffffff\", stroke: \"#000000\", text: \"#000000\" },\n },\n};\n\nconst DARK_FLOWCHART: FlowchartTokens = {\n stadiumFill: \"#1e3a5f\",\n diamondFill: \"#3a3a2a\",\n roundFill: \"#1f3a2a\",\n classes: {\n start: { fill: \"#3a3326\", stroke: \"#c9b88a\", text: \"#f5e7c7\" },\n process: { fill: \"#2e2a52\", stroke: \"#a89ee0\", text: \"#d9d2ff\" },\n decision: { fill: \"#3a2d1a\", stroke: \"#d4985c\", text: \"#f2d5a8\" },\n success: { fill: \"#1e3a2a\", stroke: \"#7bc19a\", text: \"#cdefd8\" },\n danger: { fill: \"#3a231f\", stroke: \"#d89181\", text: \"#f2d0c8\" },\n neutral: { fill: \"#313244\", stroke: \"#7f849c\", text: \"#cdd6f4\" },\n },\n};\n\nexport const FLOWCHART_TOKENS: Record<ThemeName, FlowchartTokens> = {\n default: DEFAULT_FLOWCHART,\n monochrome: MONOCHROME_FLOWCHART,\n dark: DARK_FLOWCHART,\n};\n\nexport function resolveFlowchartTheme(name: string): ResolvedTheme<FlowchartTokens> {\n const themeName = (name in BASE_THEMES ? name : \"default\") as ThemeName;\n return { ...BASE_THEMES[themeName], ...FLOWCHART_TOKENS[themeName] };\n}\n\nexport function resolveMindmapTheme(name: string): ResolvedTheme<MindmapTokens> {\n const themeName = (name in BASE_THEMES ? name : \"default\") as ThemeName;\n return { ...BASE_THEMES[themeName], ...MINDMAP_TOKENS[themeName] };\n}\n\n// ─── Timeline Tokens Per Theme ─────────────────────────────\n\nconst DEFAULT_TIMELINE: TimelineTokens = {\n axis: \"#334155\",\n axisLabel: \"#475569\",\n eraLabel: \"#0f172a\",\n eraOpacity: 0.55,\n eraPlotOpacity: 0.14,\n laneStripe: \"#f1f5f9\",\n laneStripeOpacity: 0.6,\n categoryPalette: DEFAULT_PALETTE,\n markerRing: \"#2563eb\",\n markerFill: \"#ffffff\",\n milestoneFill: \"#d97706\",\n pinShaft: \"#94a3b8\",\n cardBg: \"#ffffff\",\n cardStroke: \"#cbd5e1\",\n cardText: \"#0f172a\",\n cardShadow: \"rgba(15,23,42,0.08)\",\n legendBg: \"#f8fafc\",\n legendStroke: \"#e2e8f0\",\n};\n\nconst MONOCHROME_TIMELINE: TimelineTokens = {\n axis: \"#000000\",\n axisLabel: \"#333333\",\n eraLabel: \"#000000\",\n eraOpacity: 0.2,\n eraPlotOpacity: 0.08,\n laneStripe: \"#f0f0f0\",\n laneStripeOpacity: 0.6,\n categoryPalette: MONOCHROME_PALETTE,\n markerRing: \"#000000\",\n markerFill: \"#ffffff\",\n milestoneFill: \"#000000\",\n pinShaft: \"#888888\",\n cardBg: \"#ffffff\",\n cardStroke: \"#000000\",\n cardText: \"#000000\",\n cardShadow: \"rgba(0,0,0,0.06)\",\n legendBg: \"#ffffff\",\n legendStroke: \"#000000\",\n};\n\nconst DARK_TIMELINE: TimelineTokens = {\n axis: \"#cdd6f4\",\n axisLabel: \"#9399b2\",\n eraLabel: \"#cdd6f4\",\n eraOpacity: 0.5,\n eraPlotOpacity: 0.18,\n laneStripe: \"#313244\",\n laneStripeOpacity: 0.5,\n categoryPalette: DARK_PALETTE,\n markerRing: \"#89b4fa\",\n markerFill: \"#1e1e2e\",\n milestoneFill: \"#fab387\",\n pinShaft: \"#6c7086\",\n cardBg: \"#313244\",\n cardStroke: \"#45475a\",\n cardText: \"#cdd6f4\",\n cardShadow: \"rgba(0,0,0,0.35)\",\n legendBg: \"#181825\",\n legendStroke: \"#45475a\",\n};\n\nexport const TIMELINE_TOKENS: Record<ThemeName, TimelineTokens> = {\n default: DEFAULT_TIMELINE,\n monochrome: MONOCHROME_TIMELINE,\n dark: DARK_TIMELINE,\n};\n\nexport function resolveTimelineTheme(name: string): ResolvedTheme<TimelineTokens> {\n const themeName = (name in BASE_THEMES ? name : \"default\") as ThemeName;\n return { ...BASE_THEMES[themeName], ...TIMELINE_TOKENS[themeName] };\n}\n\n// ─── Petri-net Tokens Per Theme ────────────────────────────\n\n/**\n * Tokens for Petri nets (place/transition nets). Petri net is a CS/maths\n * formalism, not an IEC/IEEE compliance drawing — so unlike IndustrialTokens it\n * gets a tasteful colour theme in `default`. The house rule (see\n * 34-PETRINET-STANDARD §6): body in neutral strokes; green (`positive`) reserved\n * for \"enabled\", red (`negative`) reserved for \"inhibitor / dead\", blue\n * (`accent`) only for weight/rate annotations. `monochrome` reproduces the\n * Murata-1989 textbook look faithfully — colour falls back to shape there.\n */\nexport interface PetriTokens {\n placeFill: string;\n placeStroke: string;\n /** Immediate transition: solid bar — the \"ink\" colour. */\n transitionBarFill: string;\n /** Timed transition: hollow box interior. */\n transitionBoxFill: string;\n transitionStroke: string;\n /** Marking dot colour. */\n tokenFill: string;\n /** Enabled (fireable) transition highlight. */\n enabledStroke: string;\n enabledFill: string;\n /** Dead / disabled transition. */\n deadStroke: string;\n /** Inhibitor + reset arcs. */\n inhibitorStroke: string;\n arcStroke: string;\n weightLabel: string;\n /** Coloured-token (CPN) palette. */\n tokenPalette: readonly string[];\n}\n\nconst DEFAULT_PETRI: PetriTokens = {\n placeFill: \"#ffffff\",\n placeStroke: \"#334155\",\n transitionBarFill: \"#334155\",\n transitionBoxFill: \"#ffffff\",\n transitionStroke: \"#334155\",\n tokenFill: \"#0f172a\",\n enabledStroke: \"#059669\",\n enabledFill: \"#ecfdf5\",\n deadStroke: \"#94a3b8\",\n inhibitorStroke: \"#dc2626\",\n arcStroke: \"#334155\",\n weightLabel: \"#2563eb\",\n tokenPalette: DEFAULT_PALETTE,\n};\n\n// Faithful Murata-1989 textbook: pure black/white. Enabled is shown by a bold\n// ring (not green); inhibitor by its hollow-circle head (not red).\nconst MONOCHROME_PETRI: PetriTokens = {\n placeFill: \"#ffffff\",\n placeStroke: \"#000000\",\n transitionBarFill: \"#000000\",\n transitionBoxFill: \"#ffffff\",\n transitionStroke: \"#000000\",\n tokenFill: \"#000000\",\n enabledStroke: \"#000000\",\n enabledFill: \"none\",\n deadStroke: \"#888888\",\n inhibitorStroke: \"#000000\",\n arcStroke: \"#000000\",\n weightLabel: \"#000000\",\n tokenPalette: MONOCHROME_PALETTE,\n};\n\nconst DARK_PETRI: PetriTokens = {\n placeFill: \"#313244\",\n placeStroke: \"#cdd6f4\",\n transitionBarFill: \"#cdd6f4\",\n transitionBoxFill: \"#313244\",\n transitionStroke: \"#cdd6f4\",\n tokenFill: \"#cdd6f4\",\n enabledStroke: \"#a6e3a1\",\n enabledFill: \"rgba(166,227,161,0.15)\",\n deadStroke: \"#6c7086\",\n inhibitorStroke: \"#f38ba8\",\n arcStroke: \"#cdd6f4\",\n weightLabel: \"#89b4fa\",\n tokenPalette: DARK_PALETTE,\n};\n\nexport const PETRI_TOKENS: Record<ThemeName, PetriTokens> = {\n default: DEFAULT_PETRI,\n monochrome: MONOCHROME_PETRI,\n dark: DARK_PETRI,\n};\n\nexport function resolvePetriTheme(name: string): ResolvedTheme<PetriTokens> {\n const themeName = (name in BASE_THEMES ? name : \"default\") as ThemeName;\n return { ...BASE_THEMES[themeName], ...PETRI_TOKENS[themeName] };\n}\n\n// ─── Network Tokens Per Theme ──────────────────────────────\n// 35-NETWORK-STANDARD §6. Coloured-house family (not forced-mono industrial):\n// device bodies in \"network blue\", link type by colour in default / line-style\n// + tag in monochrome, logical overlays dashed-tinted.\n\nexport interface NetworkTokens {\n deviceFill: string;\n deviceStroke: string;\n deviceAccent: string;\n cloudFill: string;\n cloudStroke: string;\n label: string;\n subLabel: string;\n linkCopper: string;\n linkFiber: string;\n linkWireless: string;\n linkSerial: string;\n linkPoe: string;\n linkVpn: string;\n linkLag: string;\n linkLabel: string;\n siteStroke: string;\n subnetStroke: string;\n subnetFill: string;\n zoneStroke: string;\n vlanPalette: readonly string[];\n warn: string;\n}\n\nconst DEFAULT_NETWORK: NetworkTokens = {\n deviceFill: \"#1d6fb8\",\n deviceStroke: \"#0f3a5f\",\n deviceAccent: \"#bfe0f7\",\n cloudFill: \"#ffffff\",\n cloudStroke: \"#334155\",\n label: \"#0f172a\",\n subLabel: \"#64748b\",\n linkCopper: \"#334155\",\n linkFiber: \"#ea7a17\",\n linkWireless: \"#2563eb\",\n linkSerial: \"#7c3aed\",\n linkPoe: \"#059669\",\n linkVpn: \"#0891b2\",\n linkLag: \"#334155\",\n linkLabel: \"#475569\",\n siteStroke: \"#334155\",\n subnetStroke: \"#2563eb\",\n subnetFill: \"#eff6ff\",\n zoneStroke: \"#dc2626\",\n vlanPalette: DEFAULT_PALETTE,\n warn: \"#d97706\",\n};\n\n// Clean line-art for print/audit: meaning rides on line-style + text tag, not colour.\nconst MONOCHROME_NETWORK: NetworkTokens = {\n deviceFill: \"#ffffff\",\n deviceStroke: \"#000000\",\n deviceAccent: \"#000000\",\n cloudFill: \"#ffffff\",\n cloudStroke: \"#000000\",\n label: \"#000000\",\n subLabel: \"#444444\",\n linkCopper: \"#000000\",\n linkFiber: \"#000000\",\n linkWireless: \"#000000\",\n linkSerial: \"#000000\",\n linkPoe: \"#000000\",\n linkVpn: \"#000000\",\n linkLag: \"#000000\",\n linkLabel: \"#222222\",\n siteStroke: \"#000000\",\n subnetStroke: \"#000000\",\n subnetFill: \"none\",\n zoneStroke: \"#000000\",\n vlanPalette: MONOCHROME_PALETTE,\n warn: \"#000000\",\n};\n\nconst DARK_NETWORK: NetworkTokens = {\n deviceFill: \"#89b4fa\",\n deviceStroke: \"#1e1e2e\",\n deviceAccent: \"#1e1e2e\",\n cloudFill: \"#313244\",\n cloudStroke: \"#cdd6f4\",\n label: \"#cdd6f4\",\n subLabel: \"#a6adc8\",\n linkCopper: \"#cdd6f4\",\n linkFiber: \"#fab387\",\n linkWireless: \"#89b4fa\",\n linkSerial: \"#cba6f7\",\n linkPoe: \"#a6e3a1\",\n linkVpn: \"#94e2d5\",\n linkLag: \"#cdd6f4\",\n linkLabel: \"#a6adc8\",\n siteStroke: \"#cdd6f4\",\n subnetStroke: \"#89b4fa\",\n subnetFill: \"rgba(137,180,250,0.12)\",\n zoneStroke: \"#f38ba8\",\n vlanPalette: DARK_PALETTE,\n warn: \"#fab387\",\n};\n\nexport const NETWORK_TOKENS: Record<ThemeName, NetworkTokens> = {\n default: DEFAULT_NETWORK,\n monochrome: MONOCHROME_NETWORK,\n dark: DARK_NETWORK,\n};\n\nexport function resolveNetworkTheme(name: string): ResolvedTheme<NetworkTokens> {\n const themeName = (name in BASE_THEMES ? name : \"default\") as ThemeName;\n return { ...BASE_THEMES[themeName], ...NETWORK_TOKENS[themeName] };\n}\n\n// ─── Theme Resolution ──────────────────────────────────────\n\nexport function resolveBaseTheme(name: string): BaseTheme {\n return BASE_THEMES[name as ThemeName] ?? BASE_THEMES[\"default\"];\n}\n\nexport function resolvePersonTheme(name: string): ResolvedTheme<PersonTokens> {\n const themeName = (name in BASE_THEMES ? name : \"default\") as ThemeName;\n return { ...BASE_THEMES[themeName], ...PERSON_TOKENS[themeName] };\n}\n\nexport function resolveBiologyTheme(name: string): ResolvedTheme<BiologyTokens> {\n const themeName = (name in BASE_THEMES ? name : \"default\") as ThemeName;\n return { ...BASE_THEMES[themeName], ...BIOLOGY_TOKENS[themeName] };\n}\n\n/**\n * Fishbone uses BaseTheme directly — its bone colors come from `theme.palette`.\n * Kept as a named resolver so callers don't have to know that.\n */\nexport function resolveFishboneTheme(name: string): BaseTheme {\n return resolveBaseTheme(name);\n}\n\nexport function resolveVennTheme(name: string): ResolvedTheme<VennTokens> {\n const themeName = (name in BASE_THEMES ? name : \"default\") as ThemeName;\n return { ...BASE_THEMES[themeName], ...VENN_TOKENS[themeName] };\n}\n\n// ─── Genogram Theme Aliases ────────────────────────────────\n\nconst GENOGRAM_ALIASES: Record<string, ThemeName> = {\n clinical: \"monochrome\",\n colorful: \"default\",\n mono: \"monochrome\",\n bw: \"monochrome\",\n};\n\nexport function resolveGenogramTheme(name: string): ResolvedTheme<PersonTokens> {\n const resolved = GENOGRAM_ALIASES[name] ?? name;\n return resolvePersonTheme(resolved);\n}\n\n// ─── Font Sizes ────────────────────────────────────────────\n\n/**\n * Three-tier typography scale. Diagram-specific font sizes (e.g., 14px section\n * labels, 20px hero titles) live as local constants inside their renderer.\n */\nexport const FONT_SIZE = {\n title: 16,\n label: 12,\n small: 9,\n} as const;\n\n// ─── Stroke Widths ─────────────────────────────────────────\n\n/**\n * Three-tier stroke scale. Anything in between is a local constant in the\n * diagram that needs it.\n * thin — hairlines, ticks, secondary gridlines\n * normal — default body strokes (shapes, edges)\n * thick — emphasis (proband index, star node, center shape)\n */\nexport const STROKE_WIDTH = {\n thin: 1,\n normal: 2,\n thick: 3,\n} as const;\n\n// ─── Spacing ───────────────────────────────────────────────\n\nexport const SPACING = {\n labelGap: 4,\n tipLabelGap: 6,\n titleOffset: 30,\n} as const;\n\n// ─── Font Family ───────────────────────────────────────────\n\nexport const DEFAULT_FONT_FAMILY = \"system-ui, -apple-system, sans-serif\";\n\n// ─── CSS Custom Properties ─────────────────────────────────\n\nexport function cssCustomProperties(theme?: BaseTheme): string {\n const t = theme ?? BASE_THEMES[\"default\"];\n return `\n --schematex-bg: ${t.bg};\n --schematex-text: ${t.text};\n --schematex-text-muted: ${t.textMuted};\n --schematex-stroke: ${t.stroke};\n --schematex-fill: ${t.fill};\n --schematex-fill-muted: ${t.fillMuted};\n --schematex-accent: ${t.accent};\n --schematex-positive: ${t.positive};\n --schematex-negative: ${t.negative};\n --schematex-neutral: ${t.neutral};\n --schematex-warn: ${t.warn};\n --schematex-font-title: ${FONT_SIZE.title}px;\n --schematex-font-label: ${FONT_SIZE.label}px;\n --schematex-font-small: ${FONT_SIZE.small}px;\n --schematex-stroke-thin: ${STROKE_WIDTH.thin};\n --schematex-stroke-normal: ${STROKE_WIDTH.normal};\n --schematex-stroke-thick: ${STROKE_WIDTH.thick};`;\n}\n"]}
|
|
@@ -216,6 +216,7 @@ function parseBlockDiagram(text2) {
|
|
|
216
216
|
title: title2,
|
|
217
217
|
blocks,
|
|
218
218
|
sums,
|
|
219
|
+
signals: Array.from(signals.values()),
|
|
219
220
|
connections
|
|
220
221
|
};
|
|
221
222
|
}
|
|
@@ -230,6 +231,45 @@ var FIRST_ROW_OFFSET = 110;
|
|
|
230
231
|
var COL_GAP = 60;
|
|
231
232
|
var LEFT_PAD = 30;
|
|
232
233
|
var RIGHT_PAD = 30;
|
|
234
|
+
function approxTextWidth(text2, pxPerChar = 7) {
|
|
235
|
+
return text2.length * pxPerChar;
|
|
236
|
+
}
|
|
237
|
+
function extendPathBounds(path2, bounds) {
|
|
238
|
+
const nums = path2.match(/-?\d+(?:\.\d+)?/g)?.map(Number) ?? [];
|
|
239
|
+
for (let i = 0; i < nums.length - 1; i += 2) {
|
|
240
|
+
bounds.maxX = Math.max(bounds.maxX, nums[i] ?? 0);
|
|
241
|
+
bounds.maxY = Math.max(bounds.maxY, nums[i + 1] ?? 0);
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
function estimateContentBounds(nodes, edges) {
|
|
245
|
+
const bounds = { maxX: 0, maxY: 0 };
|
|
246
|
+
for (const n of nodes) {
|
|
247
|
+
if (n.kind === "block") {
|
|
248
|
+
bounds.maxX = Math.max(bounds.maxX, n.x + n.width);
|
|
249
|
+
bounds.maxY = Math.max(bounds.maxY, n.y + n.height);
|
|
250
|
+
} else if (n.kind === "sum") {
|
|
251
|
+
bounds.maxX = Math.max(bounds.maxX, n.cx + n.r);
|
|
252
|
+
bounds.maxY = Math.max(bounds.maxY, n.cy + n.r);
|
|
253
|
+
} else {
|
|
254
|
+
const labelWidth = approxTextWidth(n.label);
|
|
255
|
+
bounds.maxX = Math.max(bounds.maxX, n.x + (n.isInput ? 20 : 6 + labelWidth));
|
|
256
|
+
bounds.maxY = Math.max(bounds.maxY, n.y + 12);
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
for (const e of edges) {
|
|
260
|
+
extendPathBounds(e.path, bounds);
|
|
261
|
+
if (e.label) {
|
|
262
|
+
const half = approxTextWidth(e.label, 6) / 2;
|
|
263
|
+
bounds.maxX = Math.max(bounds.maxX, e.midX + half);
|
|
264
|
+
bounds.maxY = Math.max(bounds.maxY, e.midY + 12);
|
|
265
|
+
}
|
|
266
|
+
if (e.polarity) {
|
|
267
|
+
bounds.maxX = Math.max(bounds.maxX, e.polarity.x + 10);
|
|
268
|
+
bounds.maxY = Math.max(bounds.maxY, e.polarity.y + 10);
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
return bounds;
|
|
272
|
+
}
|
|
233
273
|
function layoutBlockDiagram(ast) {
|
|
234
274
|
const nodeIds = /* @__PURE__ */ new Set();
|
|
235
275
|
for (const b of ast.blocks) nodeIds.add(b.id);
|
|
@@ -350,6 +390,7 @@ function layoutBlockDiagram(ast) {
|
|
|
350
390
|
const totalWidth = colX.length ? colX[colX.length - 1] + BLOCK_W / 2 + RIGHT_PAD : 400;
|
|
351
391
|
const fbById = /* @__PURE__ */ new Map();
|
|
352
392
|
for (const f of fbInfos) fbById.set(f.id, f);
|
|
393
|
+
const signalById = new Map((ast.signals ?? []).map((s) => [s.id, s]));
|
|
353
394
|
const nodes = [];
|
|
354
395
|
const branchCount = /* @__PURE__ */ new Map();
|
|
355
396
|
for (const e of ast.connections) {
|
|
@@ -412,6 +453,23 @@ function layoutBlockDiagram(ast) {
|
|
|
412
453
|
isInput: false
|
|
413
454
|
});
|
|
414
455
|
}
|
|
456
|
+
for (const [id, signal] of signalById) {
|
|
457
|
+
if (!nodeIds.has(id) || id === "in" || id === "out") continue;
|
|
458
|
+
if (nodes.some((n) => n.id === id)) continue;
|
|
459
|
+
const c = col.get(id) ?? 0;
|
|
460
|
+
const cx = colX[Math.min(c, colX.length - 1)];
|
|
461
|
+
const hasIncoming = (incoming.get(id) ?? []).length > 0;
|
|
462
|
+
const hasOutgoing = (outgoing.get(id) ?? []).length > 0;
|
|
463
|
+
nodes.push({
|
|
464
|
+
kind: "port",
|
|
465
|
+
id,
|
|
466
|
+
label: signal.label,
|
|
467
|
+
x: cx,
|
|
468
|
+
y: forwardY,
|
|
469
|
+
isInput: !hasIncoming || hasOutgoing,
|
|
470
|
+
hasBranch: hasBranchOf(id)
|
|
471
|
+
});
|
|
472
|
+
}
|
|
415
473
|
const anchors = /* @__PURE__ */ new Map();
|
|
416
474
|
for (const n of nodes) {
|
|
417
475
|
if (n.kind === "block") {
|
|
@@ -579,10 +637,9 @@ function layoutBlockDiagram(ast) {
|
|
|
579
637
|
}
|
|
580
638
|
const totalTopSpace = maxAboveRow > 0 ? FIRST_ROW_OFFSET + (maxAboveRow - 1) * ROW_GAP + 60 : 30;
|
|
581
639
|
const totalBottomSpace = maxBelowRow > 0 ? FIRST_ROW_OFFSET + (maxBelowRow - 1) * ROW_GAP + 60 : 100;
|
|
582
|
-
const
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
totalTopSpace + totalBottomSpace
|
|
640
|
+
const bounds = estimateContentBounds(nodes, edges);
|
|
641
|
+
const height = Math.ceil(
|
|
642
|
+
Math.max(bounds.maxY + 36, totalTopSpace + 40, maxBelowRow > 0 ? forwardY + totalBottomSpace : 160)
|
|
586
643
|
);
|
|
587
644
|
return {
|
|
588
645
|
width: totalWidth,
|
|
@@ -803,5 +860,5 @@ var blockdiagram = {
|
|
|
803
860
|
};
|
|
804
861
|
|
|
805
862
|
export { blockdiagram, layoutBlockDiagram, parseBlockDiagram, renderBlockDiagram };
|
|
806
|
-
//# sourceMappingURL=chunk-
|
|
807
|
-
//# sourceMappingURL=chunk-
|
|
863
|
+
//# sourceMappingURL=chunk-MFAMNFPA.js.map
|
|
864
|
+
//# sourceMappingURL=chunk-MFAMNFPA.js.map
|