@diagrammo/dgmo 0.47.0 → 0.48.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/auto.js +1 -1
- package/dist/auto.mjs +1 -1
- package/dist/element.js +1 -1
- package/dist/element.mjs +1 -1
- package/package.json +19 -70
- package/dist/advanced.cjs +0 -71648
- package/dist/advanced.d.cts +0 -5719
- package/dist/auto.cjs +0 -70648
- package/dist/auto.d.cts +0 -54
- package/dist/block.cjs +0 -70208
- package/dist/block.d.cts +0 -115
- package/dist/editor.cjs +0 -526
- package/dist/editor.d.cts +0 -26
- package/dist/element.cjs +0 -70530
- package/dist/element.d.cts +0 -62
- package/dist/highlight.cjs +0 -852
- package/dist/highlight.d.cts +0 -49
- package/dist/index.cjs +0 -70491
- package/dist/index.d.cts +0 -160
- package/dist/pert.cjs +0 -325
- package/dist/pert.d.cts +0 -559
- package/dist/themes-1-CuKpeH.d.cts +0 -908
- package/src/advanced.ts +0 -873
- package/src/arc/parser.ts +0 -15
- package/src/arc/renderer.ts +0 -633
- package/src/auto/index.ts +0 -621
- package/src/auto/shared.ts +0 -370
- package/src/auto/styles.ts +0 -73
- package/src/block/layout.ts +0 -198
- package/src/block/parser.ts +0 -427
- package/src/block/renderer.ts +0 -484
- package/src/block/types.ts +0 -67
- package/src/boxes-and-lines/collapse.ts +0 -96
- package/src/boxes-and-lines/focus.ts +0 -257
- package/src/boxes-and-lines/label-placement.ts +0 -339
- package/src/boxes-and-lines/layout-grouped.ts +0 -912
- package/src/boxes-and-lines/layout-layered.ts +0 -722
- package/src/boxes-and-lines/layout-search.ts +0 -1678
- package/src/boxes-and-lines/layout.ts +0 -398
- package/src/boxes-and-lines/parser.ts +0 -1181
- package/src/boxes-and-lines/renderer.ts +0 -1465
- package/src/boxes-and-lines/types.ts +0 -66
- package/src/c4/layout.ts +0 -2441
- package/src/c4/parser.ts +0 -1158
- package/src/c4/renderer.ts +0 -2008
- package/src/c4/types.ts +0 -89
- package/src/chart-type-registry.ts +0 -529
- package/src/chart-types.ts +0 -225
- package/src/chart.ts +0 -685
- package/src/charts-d3/bar.ts +0 -338
- package/src/charts-d3/chord.ts +0 -140
- package/src/charts-d3/function.ts +0 -147
- package/src/charts-d3/funnel.ts +0 -104
- package/src/charts-d3/heatmap.ts +0 -145
- package/src/charts-d3/index.ts +0 -337
- package/src/charts-d3/interactions.ts +0 -477
- package/src/charts-d3/line.ts +0 -344
- package/src/charts-d3/mount.ts +0 -151
- package/src/charts-d3/pie.ts +0 -117
- package/src/charts-d3/polar.ts +0 -89
- package/src/charts-d3/radar.ts +0 -0
- package/src/charts-d3/sankey.ts +0 -0
- package/src/charts-d3/scatter.ts +0 -185
- package/src/charts-d3/shared.ts +0 -208
- package/src/class/layout.ts +0 -326
- package/src/class/parser.ts +0 -635
- package/src/class/renderer.ts +0 -793
- package/src/class/types.ts +0 -58
- package/src/cli-banner.ts +0 -106
- package/src/cli.ts +0 -1080
- package/src/colors-diagnostics.ts +0 -35
- package/src/colors.ts +0 -379
- package/src/completion-types.ts +0 -27
- package/src/completion.ts +0 -2668
- package/src/cycle/layout.ts +0 -1026
- package/src/cycle/parser.ts +0 -387
- package/src/cycle/renderer.ts +0 -653
- package/src/cycle/types.ts +0 -101
- package/src/d3.ts +0 -1434
- package/src/data-chart-parser.ts +0 -1007
- package/src/dgmo-router.ts +0 -296
- package/src/diagnostics-registry.ts +0 -108
- package/src/diagnostics.ts +0 -0
- package/src/dimensions.ts +0 -20
- package/src/directives-registry.ts +0 -396
- package/src/editor/dgmo.grammar +0 -76
- package/src/editor/dgmo.grammar.d.ts +0 -2
- package/src/editor/dgmo.grammar.js +0 -18
- package/src/editor/dgmo.grammar.terms.d.ts +0 -5
- package/src/editor/dgmo.grammar.terms.js +0 -35
- package/src/editor/highlight-api.ts +0 -596
- package/src/editor/highlight.ts +0 -36
- package/src/editor/index.ts +0 -27
- package/src/editor/keywords.ts +0 -128
- package/src/editor/tokens.ts +0 -30
- package/src/element/index.ts +0 -432
- package/src/embed/css.ts +0 -312
- package/src/embed/escape.ts +0 -15
- package/src/embed/index.ts +0 -280
- package/src/er/classify.ts +0 -228
- package/src/er/layout.ts +0 -530
- package/src/er/parser.ts +0 -750
- package/src/er/renderer.ts +0 -725
- package/src/er/types.ts +0 -52
- package/src/error-card.ts +0 -269
- package/src/event-line/diagnostics.ts +0 -117
- package/src/event-line/parser.ts +0 -643
- package/src/event-line/renderer.ts +0 -1742
- package/src/event-line/types.ts +0 -74
- package/src/fonts.ts +0 -3
- package/src/gantt/calculator.ts +0 -979
- package/src/gantt/parser.ts +0 -1641
- package/src/gantt/renderer.ts +0 -3787
- package/src/gantt/resolver.ts +0 -172
- package/src/gantt/types.ts +0 -206
- package/src/graph/diagnostics.ts +0 -64
- package/src/graph/edge-spline.ts +0 -29
- package/src/graph/flowchart-parser.ts +0 -759
- package/src/graph/flowchart-renderer.ts +0 -817
- package/src/graph/layout.ts +0 -472
- package/src/graph/notes.ts +0 -21
- package/src/graph/state-collapse.ts +0 -78
- package/src/graph/state-parser.ts +0 -574
- package/src/graph/state-renderer.ts +0 -653
- package/src/graph/types.ts +0 -65
- package/src/index.ts +0 -261
- package/src/infra/compute.ts +0 -1385
- package/src/infra/layout.ts +0 -888
- package/src/infra/parser.ts +0 -1234
- package/src/infra/renderer.ts +0 -2534
- package/src/infra/roles.ts +0 -75
- package/src/infra/types.ts +0 -216
- package/src/infra/validation.ts +0 -201
- package/src/journey-map/layout.ts +0 -490
- package/src/journey-map/parser.ts +0 -557
- package/src/journey-map/renderer.ts +0 -1580
- package/src/journey-map/types.ts +0 -47
- package/src/kanban/mutations.ts +0 -175
- package/src/kanban/parser.ts +0 -509
- package/src/kanban/renderer.ts +0 -1449
- package/src/kanban/types.ts +0 -39
- package/src/label-layout.ts +0 -368
- package/src/map/colorize.ts +0 -54
- package/src/map/completion.ts +0 -316
- package/src/map/context-labels.ts +0 -609
- package/src/map/data/PROVENANCE.json +0 -1
- package/src/map/data/README.md +0 -40
- package/src/map/data/airport-collisions.json +0 -1
- package/src/map/data/airports.json +0 -1
- package/src/map/data/gazetteer.json +0 -1
- package/src/map/data/lakes.json +0 -1
- package/src/map/data/mountain-ranges.json +0 -1
- package/src/map/data/na-lakes.json +0 -1
- package/src/map/data/na-land.json +0 -1
- package/src/map/data/region-names.json +0 -1
- package/src/map/data/rivers.json +0 -1
- package/src/map/data/types.ts +0 -121
- package/src/map/data/us-states.json +0 -1
- package/src/map/data/water-bodies.json +0 -1
- package/src/map/data/world-coarse.json +0 -1
- package/src/map/data/world-detail.json +0 -1
- package/src/map/diagnostics.ts +0 -134
- package/src/map/dimensions.ts +0 -150
- package/src/map/geo-query.ts +0 -295
- package/src/map/geo.ts +0 -438
- package/src/map/invert.ts +0 -111
- package/src/map/layout.ts +0 -5069
- package/src/map/legend-band.ts +0 -127
- package/src/map/load-data.ts +0 -186
- package/src/map/parser.ts +0 -783
- package/src/map/renderer.ts +0 -1445
- package/src/map/resolved-types.ts +0 -160
- package/src/map/resolver.ts +0 -1146
- package/src/map/types.ts +0 -194
- package/src/mindmap/collapse.ts +0 -67
- package/src/mindmap/layout.ts +0 -649
- package/src/mindmap/parser.ts +0 -430
- package/src/mindmap/renderer.ts +0 -637
- package/src/mindmap/text-wrap.ts +0 -218
- package/src/mindmap/types.ts +0 -56
- package/src/org/collapse.ts +0 -151
- package/src/org/layout.ts +0 -1262
- package/src/org/parser.ts +0 -519
- package/src/org/renderer.ts +0 -866
- package/src/org/resolver.ts +0 -636
- package/src/palettes/atlas.ts +0 -77
- package/src/palettes/blueprint.ts +0 -73
- package/src/palettes/catppuccin.ts +0 -84
- package/src/palettes/color-utils.ts +0 -443
- package/src/palettes/index.ts +0 -67
- package/src/palettes/nord.ts +0 -67
- package/src/palettes/registry.ts +0 -114
- package/src/palettes/slate.ts +0 -73
- package/src/palettes/tidewater.ts +0 -73
- package/src/palettes/tokyo-night.ts +0 -86
- package/src/palettes/types.ts +0 -88
- package/src/pert/analyzer.ts +0 -1183
- package/src/pert/diagnostics.ts +0 -110
- package/src/pert/index.ts +0 -43
- package/src/pert/internal.ts +0 -252
- package/src/pert/layout.ts +0 -971
- package/src/pert/monte-carlo.ts +0 -446
- package/src/pert/parser.ts +0 -1606
- package/src/pert/renderer.ts +0 -4009
- package/src/pert/share-normalize.ts +0 -62
- package/src/pert/types.ts +0 -604
- package/src/pyramid/parser.ts +0 -185
- package/src/pyramid/renderer.ts +0 -768
- package/src/pyramid/types.ts +0 -28
- package/src/quadrant/parser.ts +0 -18
- package/src/quadrant/renderer.ts +0 -638
- package/src/raci/diagnostics.ts +0 -213
- package/src/raci/index.ts +0 -23
- package/src/raci/mutations.ts +0 -321
- package/src/raci/parser.ts +0 -699
- package/src/raci/renderer.ts +0 -1627
- package/src/raci/types.ts +0 -82
- package/src/raci/variants.ts +0 -320
- package/src/render.ts +0 -268
- package/src/ring/parser.ts +0 -212
- package/src/ring/renderer.ts +0 -490
- package/src/ring/types.ts +0 -27
- package/src/sequence/collapse.ts +0 -174
- package/src/sequence/parser.ts +0 -1596
- package/src/sequence/participant-inference.ts +0 -152
- package/src/sequence/renderer.ts +0 -3168
- package/src/sequence/tag-resolution.ts +0 -164
- package/src/sharing.ts +0 -211
- package/src/sitemap/collapse.ts +0 -100
- package/src/sitemap/layout.ts +0 -925
- package/src/sitemap/parser.ts +0 -755
- package/src/sitemap/renderer.ts +0 -828
- package/src/sitemap/types.ts +0 -42
- package/src/slope/parser.ts +0 -18
- package/src/slope/renderer.ts +0 -378
- package/src/swimlane/diagnostics.ts +0 -94
- package/src/swimlane/layout.ts +0 -597
- package/src/swimlane/parser.ts +0 -613
- package/src/swimlane/renderer.ts +0 -681
- package/src/swimlane/types.ts +0 -151
- package/src/tech-radar/interactive.ts +0 -1129
- package/src/tech-radar/layout.ts +0 -197
- package/src/tech-radar/parser.ts +0 -436
- package/src/tech-radar/renderer.ts +0 -1239
- package/src/tech-radar/shared.ts +0 -151
- package/src/tech-radar/types.ts +0 -86
- package/src/themes.ts +0 -22
- package/src/timeline/parser.ts +0 -472
- package/src/timeline/renderer.ts +0 -3024
- package/src/timeline/types.ts +0 -33
- package/src/timeline/viz-parser.ts +0 -21
- package/src/treemap/diagnostics.ts +0 -62
- package/src/treemap/layout-radial.ts +0 -233
- package/src/treemap/layout.ts +0 -189
- package/src/treemap/parser.ts +0 -463
- package/src/treemap/renderer-radial.ts +0 -438
- package/src/treemap/renderer.ts +0 -572
- package/src/treemap/treemap-shared.ts +0 -309
- package/src/treemap/types.ts +0 -60
- package/src/utils/arrow-markers.ts +0 -51
- package/src/utils/arrows-diagnostics.ts +0 -62
- package/src/utils/arrows.ts +0 -227
- package/src/utils/brand.ts +0 -61
- package/src/utils/card.ts +0 -183
- package/src/utils/collapse-engine/tree-edges.ts +0 -115
- package/src/utils/collapse-engine/tree.ts +0 -117
- package/src/utils/d3-helpers.ts +0 -219
- package/src/utils/d3-types.ts +0 -9
- package/src/utils/description-helpers.ts +0 -38
- package/src/utils/duration.ts +0 -312
- package/src/utils/export-container.ts +0 -41
- package/src/utils/expr-eval.ts +0 -27
- package/src/utils/fit-canvas.ts +0 -64
- package/src/utils/hover-styles.ts +0 -673
- package/src/utils/inline-markdown.ts +0 -96
- package/src/utils/legend-constants.ts +0 -48
- package/src/utils/legend-d3.ts +0 -618
- package/src/utils/legend-integration.ts +0 -107
- package/src/utils/legend-layout.ts +0 -776
- package/src/utils/legend-svg.ts +0 -214
- package/src/utils/legend-types.ts +0 -272
- package/src/utils/name-normalize.ts +0 -163
- package/src/utils/note-box/constants.ts +0 -25
- package/src/utils/note-box/index.ts +0 -11
- package/src/utils/note-box/metrics.ts +0 -90
- package/src/utils/note-box/svg.ts +0 -331
- package/src/utils/notes/bounds.ts +0 -30
- package/src/utils/notes/build.ts +0 -131
- package/src/utils/notes/index.ts +0 -18
- package/src/utils/notes/model.ts +0 -19
- package/src/utils/notes/parse.ts +0 -131
- package/src/utils/notes/place.ts +0 -177
- package/src/utils/notes/resolve.ts +0 -88
- package/src/utils/number-format.ts +0 -36
- package/src/utils/parsing.ts +0 -953
- package/src/utils/reserved-key-registry.ts +0 -239
- package/src/utils/safe-href.ts +0 -38
- package/src/utils/scaling.ts +0 -97
- package/src/utils/svg-embed.ts +0 -251
- package/src/utils/tag-groups.ts +0 -607
- package/src/utils/text-measure.ts +0 -122
- package/src/utils/time-ticks.ts +0 -253
- package/src/utils/title-constants.ts +0 -24
- package/src/utils/visual-conventions.ts +0 -61
- package/src/utils/wrapped-desc.ts +0 -87
- package/src/venn/parser.ts +0 -18
- package/src/venn/renderer.ts +0 -1047
- package/src/version-control/diagnostics.ts +0 -67
- package/src/version-control/parser.ts +0 -544
- package/src/version-control/renderer.ts +0 -724
- package/src/version-control/types.ts +0 -100
- package/src/visualizations/parse.ts +0 -1560
- package/src/visualizations/types.ts +0 -262
- package/src/wireframe/layout.ts +0 -479
- package/src/wireframe/parser.ts +0 -1114
- package/src/wireframe/renderer.ts +0 -1318
- package/src/wireframe/types.ts +0 -110
- package/src/wordcloud/parser.ts +0 -18
- package/src/wordcloud/renderer.ts +0 -357
package/src/tech-radar/shared.ts
DELETED
|
@@ -1,151 +0,0 @@
|
|
|
1
|
-
import type * as d3Selection from 'd3-selection';
|
|
2
|
-
import { FONT_FAMILY } from '../fonts';
|
|
3
|
-
import type { PaletteColors } from '../palettes';
|
|
4
|
-
import type { QuadrantPosition, BlipTrend } from './types';
|
|
5
|
-
|
|
6
|
-
/** Default quadrant colors by position when not overridden. */
|
|
7
|
-
const DEFAULT_QUADRANT_COLORS: Record<QuadrantPosition, string> = {
|
|
8
|
-
'top-left': 'blue',
|
|
9
|
-
'top-right': 'green',
|
|
10
|
-
'bottom-left': 'red',
|
|
11
|
-
'bottom-right': 'orange',
|
|
12
|
-
};
|
|
13
|
-
|
|
14
|
-
/** Resolve a quadrant's color from palette, falling back to palette.border. */
|
|
15
|
-
export function resolveQuadrantColor(
|
|
16
|
-
position: QuadrantPosition,
|
|
17
|
-
color: string | null,
|
|
18
|
-
palette: PaletteColors
|
|
19
|
-
): string {
|
|
20
|
-
const name = color ?? DEFAULT_QUADRANT_COLORS[position];
|
|
21
|
-
return (palette.colors as Record<string, string>)[name] ?? palette.border;
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
/**
|
|
25
|
-
* Render a trend indicator (blip circle + optional crescent/ring).
|
|
26
|
-
*
|
|
27
|
-
* @param angleToCenter — angle in radians from the blip toward the radar center.
|
|
28
|
-
* Used to orient the crescent for up/down trends (toward center = up, away = down).
|
|
29
|
-
*/
|
|
30
|
-
export function renderTrendIndicator(
|
|
31
|
-
g: d3Selection.Selection<SVGGElement, unknown, null, undefined>,
|
|
32
|
-
trend: BlipTrend | null,
|
|
33
|
-
color: string,
|
|
34
|
-
cx: number,
|
|
35
|
-
cy: number,
|
|
36
|
-
r: number,
|
|
37
|
-
angleToCenter: number
|
|
38
|
-
): void {
|
|
39
|
-
// Base filled circle (always present)
|
|
40
|
-
g.append('circle')
|
|
41
|
-
.attr('cx', cx)
|
|
42
|
-
.attr('cy', cy)
|
|
43
|
-
.attr('r', r * 0.65)
|
|
44
|
-
.attr('fill', color);
|
|
45
|
-
|
|
46
|
-
if (trend === 'new') {
|
|
47
|
-
// Double circle — outer ring
|
|
48
|
-
g.append('circle')
|
|
49
|
-
.attr('cx', cx)
|
|
50
|
-
.attr('cy', cy)
|
|
51
|
-
.attr('r', r)
|
|
52
|
-
.attr('fill', 'none')
|
|
53
|
-
.attr('stroke', color)
|
|
54
|
-
.attr('stroke-width', 1.5);
|
|
55
|
-
} else if (trend === 'up' || trend === 'down') {
|
|
56
|
-
// Semi-circle crescent (ThoughtWorks style)
|
|
57
|
-
// "up" = crescent on the center-facing side (moving inward)
|
|
58
|
-
// "down" = crescent on the outward-facing side (moving outward)
|
|
59
|
-
const crescentAngle =
|
|
60
|
-
trend === 'up' ? angleToCenter : angleToCenter + Math.PI;
|
|
61
|
-
renderCrescent(g, cx, cy, r, crescentAngle, color);
|
|
62
|
-
}
|
|
63
|
-
// 'stable' or null: plain filled circle only
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
/**
|
|
67
|
-
* Draw a crescent (semi-circle arc) on one side of the blip, oriented
|
|
68
|
-
* at `angle` radians (0 = right, π/2 = up in math coords / down in SVG).
|
|
69
|
-
*
|
|
70
|
-
* The crescent is a thick arc segment hugging the outer edge of the blip circle,
|
|
71
|
-
* spanning ~160° centered on `angle`.
|
|
72
|
-
*/
|
|
73
|
-
function renderCrescent(
|
|
74
|
-
g: d3Selection.Selection<SVGGElement, unknown, null, undefined>,
|
|
75
|
-
cx: number,
|
|
76
|
-
cy: number,
|
|
77
|
-
r: number,
|
|
78
|
-
angle: number,
|
|
79
|
-
color: string
|
|
80
|
-
): void {
|
|
81
|
-
const outerR = r;
|
|
82
|
-
const halfSpan = (Math.PI * 4) / 9; // ~80° each side = 160° total arc
|
|
83
|
-
|
|
84
|
-
const startAngle = angle - halfSpan;
|
|
85
|
-
const endAngle = angle + halfSpan;
|
|
86
|
-
|
|
87
|
-
// SVG arc: start and end points on the outer circle (SVG Y-down convention)
|
|
88
|
-
const x1 = cx + outerR * Math.cos(startAngle);
|
|
89
|
-
const y1 = cy + outerR * Math.sin(startAngle);
|
|
90
|
-
const x2 = cx + outerR * Math.cos(endAngle);
|
|
91
|
-
const y2 = cy + outerR * Math.sin(endAngle);
|
|
92
|
-
|
|
93
|
-
// Large arc flag: 0 since we span < 180°; sweep=1 for clockwise in SVG
|
|
94
|
-
const largeArc = halfSpan * 2 > Math.PI ? 1 : 0;
|
|
95
|
-
|
|
96
|
-
g.append('path')
|
|
97
|
-
.attr('d', `M${x1},${y1} A${outerR},${outerR} 0 ${largeArc},1 ${x2},${y2}`)
|
|
98
|
-
.attr('fill', 'none')
|
|
99
|
-
.attr('stroke', color)
|
|
100
|
-
.attr('stroke-width', 2.5)
|
|
101
|
-
.attr('stroke-linecap', 'round');
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
// ============================================================
|
|
105
|
-
// Shared Constants
|
|
106
|
-
// ============================================================
|
|
107
|
-
|
|
108
|
-
export const DIM_OPACITY = 0.25;
|
|
109
|
-
|
|
110
|
-
export const TREND_ITEMS: { trend: BlipTrend | null; label: string }[] = [
|
|
111
|
-
{ trend: 'new', label: 'New' },
|
|
112
|
-
{ trend: 'up', label: 'Moved in' },
|
|
113
|
-
{ trend: 'down', label: 'Moved out' },
|
|
114
|
-
{ trend: null, label: 'No change' },
|
|
115
|
-
];
|
|
116
|
-
|
|
117
|
-
// ============================================================
|
|
118
|
-
// Tooltip Helpers
|
|
119
|
-
// ============================================================
|
|
120
|
-
|
|
121
|
-
export function createTooltip(
|
|
122
|
-
container: HTMLElement,
|
|
123
|
-
palette: PaletteColors,
|
|
124
|
-
isDark: boolean
|
|
125
|
-
): HTMLDivElement {
|
|
126
|
-
container.style.position = 'relative';
|
|
127
|
-
const existing = container.querySelector<HTMLDivElement>('[data-d3-tooltip]');
|
|
128
|
-
if (existing) {
|
|
129
|
-
existing.style.display = 'none';
|
|
130
|
-
return existing;
|
|
131
|
-
}
|
|
132
|
-
const tip = document.createElement('div');
|
|
133
|
-
tip.setAttribute('data-d3-tooltip', '');
|
|
134
|
-
tip.style.position = 'absolute';
|
|
135
|
-
tip.style.display = 'none';
|
|
136
|
-
tip.style.pointerEvents = 'none';
|
|
137
|
-
tip.style.padding = '6px 10px';
|
|
138
|
-
tip.style.borderRadius = '4px';
|
|
139
|
-
tip.style.fontSize = '12px';
|
|
140
|
-
tip.style.fontFamily = FONT_FAMILY;
|
|
141
|
-
tip.style.lineHeight = '1.4';
|
|
142
|
-
tip.style.zIndex = '10';
|
|
143
|
-
tip.style.whiteSpace = 'nowrap';
|
|
144
|
-
tip.style.background = palette.surface;
|
|
145
|
-
tip.style.color = palette.text;
|
|
146
|
-
tip.style.boxShadow = isDark
|
|
147
|
-
? '0 2px 6px rgba(0,0,0,0.3)'
|
|
148
|
-
: '0 2px 6px rgba(0,0,0,0.12)';
|
|
149
|
-
container.appendChild(tip);
|
|
150
|
-
return tip;
|
|
151
|
-
}
|
package/src/tech-radar/types.ts
DELETED
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
import type { DgmoError } from '../diagnostics';
|
|
2
|
-
|
|
3
|
-
// ============================================================
|
|
4
|
-
// Tech Radar — Parsed Types
|
|
5
|
-
// ============================================================
|
|
6
|
-
|
|
7
|
-
export type QuadrantPosition =
|
|
8
|
-
| 'top-left'
|
|
9
|
-
| 'top-right'
|
|
10
|
-
| 'bottom-left'
|
|
11
|
-
| 'bottom-right';
|
|
12
|
-
|
|
13
|
-
export type BlipTrend = 'new' | 'up' | 'down' | 'stable';
|
|
14
|
-
|
|
15
|
-
export interface TechRadarRing {
|
|
16
|
-
readonly name: string;
|
|
17
|
-
readonly alias: string | null;
|
|
18
|
-
readonly lineNumber: number;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
export interface TechRadarBlip {
|
|
22
|
-
readonly name: string;
|
|
23
|
-
readonly ring: string;
|
|
24
|
-
readonly trend: BlipTrend | null;
|
|
25
|
-
readonly description: readonly string[];
|
|
26
|
-
readonly lineNumber: number;
|
|
27
|
-
/** Assigned after parsing — global numbering across all quadrants. */
|
|
28
|
-
readonly globalNumber: number;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
export interface TechRadarQuadrant {
|
|
32
|
-
readonly name: string;
|
|
33
|
-
readonly position: QuadrantPosition;
|
|
34
|
-
readonly color: string | null;
|
|
35
|
-
readonly lineNumber: number;
|
|
36
|
-
readonly blips: readonly TechRadarBlip[];
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
export interface ParsedTechRadar {
|
|
40
|
-
readonly type: 'tech-radar';
|
|
41
|
-
readonly title: string;
|
|
42
|
-
readonly titleLineNumber: number;
|
|
43
|
-
readonly rings: readonly TechRadarRing[];
|
|
44
|
-
readonly quadrants: readonly TechRadarQuadrant[];
|
|
45
|
-
readonly options: Readonly<Record<string, string>>;
|
|
46
|
-
readonly diagnostics: readonly DgmoError[];
|
|
47
|
-
readonly error: string | null;
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
// ============================================================
|
|
51
|
-
// Tech Radar — Layout Types
|
|
52
|
-
// ============================================================
|
|
53
|
-
|
|
54
|
-
export interface TechRadarLayoutPoint {
|
|
55
|
-
blip: TechRadarBlip;
|
|
56
|
-
x: number;
|
|
57
|
-
y: number;
|
|
58
|
-
quadrantIndex: number;
|
|
59
|
-
ringIndex: number;
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
// ============================================================
|
|
63
|
-
// Tech Radar — Render Options
|
|
64
|
-
// ============================================================
|
|
65
|
-
|
|
66
|
-
export interface TechRadarRenderOptions {
|
|
67
|
-
/** Whether the blip listing is visible. Default: true for export, false for interactive. */
|
|
68
|
-
showListing?: boolean;
|
|
69
|
-
/** Callback when the listing toggle is clicked. */
|
|
70
|
-
onToggleListing?: (show: boolean) => void;
|
|
71
|
-
/** Whether the controls legend capsule is expanded. */
|
|
72
|
-
controlsExpanded?: boolean;
|
|
73
|
-
/** Callback when the controls gear pill is clicked (expand/collapse). */
|
|
74
|
-
onToggleControlsExpand?: () => void;
|
|
75
|
-
/** Active legend group name (e.g. 'Trends'). */
|
|
76
|
-
activeLegendGroup?: string | null;
|
|
77
|
-
/** Callback when a legend group pill is toggled. */
|
|
78
|
-
onLegendGroupToggle?: (groupName: string) => void;
|
|
79
|
-
/** Active line from the editor cursor — triggers popover/expansion for that blip. */
|
|
80
|
-
activeLine?: number | null;
|
|
81
|
-
/** True when rendering for export (PNG/SVG/PDF) — controls whether collapsed legend pills and cog are stripped. */
|
|
82
|
-
exportMode?: boolean;
|
|
83
|
-
/** When 'app', the Blip Legend toggle is hosted by the app overlay strip
|
|
84
|
-
* (inline gear suppressed, controls row + anchor reserved). */
|
|
85
|
-
controlsHost?: 'app' | 'inline';
|
|
86
|
-
}
|
package/src/themes.ts
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Theme — render mode flag. Selects which palette variant the renderer uses
|
|
3
|
-
* for background and text:
|
|
4
|
-
* - 'light' → palette.light colors
|
|
5
|
-
* - 'dark' → palette.dark colors
|
|
6
|
-
* - 'transparent' → no background fill (for embedding in colored containers)
|
|
7
|
-
*/
|
|
8
|
-
export type Theme = 'light' | 'dark' | 'transparent';
|
|
9
|
-
|
|
10
|
-
/**
|
|
11
|
-
* `themes` namespace — use with render() options for a typed handle:
|
|
12
|
-
*
|
|
13
|
-
* await render(text, { theme: themes.dark });
|
|
14
|
-
*
|
|
15
|
-
* Passing the raw string `'dark'` also works (the underlying type is the
|
|
16
|
-
* string-literal union); the namespace is the conventional path.
|
|
17
|
-
*/
|
|
18
|
-
export const themes = {
|
|
19
|
-
light: 'light',
|
|
20
|
-
dark: 'dark',
|
|
21
|
-
transparent: 'transparent',
|
|
22
|
-
} as const satisfies Record<string, Theme>;
|