@principal-ai/subsystems-react 0.56.12 → 0.56.14
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/index.d.ts +6 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/subsystem/C4Graph.d.ts.map +1 -1
- package/dist/subsystem/C4Graph.js +10 -4
- package/dist/subsystem/C4Graph.js.map +1 -1
- package/dist/subsystem/C4ProjectionView.d.ts +60 -0
- package/dist/subsystem/C4ProjectionView.d.ts.map +1 -0
- package/dist/subsystem/C4ProjectionView.js +336 -0
- package/dist/subsystem/C4ProjectionView.js.map +1 -0
- package/dist/subsystem/C4SketchView.d.ts +23 -0
- package/dist/subsystem/C4SketchView.d.ts.map +1 -0
- package/dist/subsystem/C4SketchView.js +119 -0
- package/dist/subsystem/C4SketchView.js.map +1 -0
- package/dist/subsystem/DescriptionOverlay.d.ts +6 -0
- package/dist/subsystem/DescriptionOverlay.d.ts.map +1 -0
- package/dist/subsystem/DescriptionOverlay.js +58 -0
- package/dist/subsystem/DescriptionOverlay.js.map +1 -0
- package/dist/subsystem/SubsystemComponentGraph.d.ts.map +1 -1
- package/dist/subsystem/SubsystemComponentGraph.js +289 -271
- package/dist/subsystem/SubsystemComponentGraph.js.map +1 -1
- package/dist/subsystem/__fixtures__/c4Drilldown.d.ts +4 -27
- package/dist/subsystem/__fixtures__/c4Drilldown.d.ts.map +1 -1
- package/dist/subsystem/__fixtures__/c4Drilldown.js +4 -56
- package/dist/subsystem/__fixtures__/c4Drilldown.js.map +1 -1
- package/dist/subsystem/__fixtures__/c4Sketch.d.ts +9 -0
- package/dist/subsystem/__fixtures__/c4Sketch.d.ts.map +1 -0
- package/dist/subsystem/__fixtures__/c4Sketch.js +89 -0
- package/dist/subsystem/__fixtures__/c4Sketch.js.map +1 -0
- package/dist/subsystem/c4Sketch.d.ts +74 -0
- package/dist/subsystem/c4Sketch.d.ts.map +1 -0
- package/dist/subsystem/c4Sketch.js +9 -0
- package/dist/subsystem/c4Sketch.js.map +1 -0
- package/dist/subsystem/c4TrailFocus.d.ts +30 -0
- package/dist/subsystem/c4TrailFocus.d.ts.map +1 -0
- package/dist/subsystem/c4TrailFocus.js +57 -0
- package/dist/subsystem/c4TrailFocus.js.map +1 -0
- package/package.json +1 -1
- package/src/index.ts +14 -0
- package/src/stories/Canvases/C4/C4Draft.stories.tsx +238 -0
- package/src/stories/Canvases/C4/C4Sketch.stories.tsx +36 -0
- package/src/stories/Canvases/C4/C4ToComponentDrill.stories.tsx +18 -429
- package/src/subsystem/C4Graph.tsx +10 -4
- package/src/subsystem/C4ProjectionView.tsx +595 -0
- package/src/subsystem/C4SketchView.tsx +241 -0
- package/src/subsystem/DescriptionOverlay.test.tsx +76 -0
- package/src/subsystem/DescriptionOverlay.tsx +101 -0
- package/src/subsystem/SubsystemComponentGraph.sidebar.test.tsx +10 -3
- package/src/subsystem/SubsystemComponentGraph.tsx +44 -12
- package/src/subsystem/__fixtures__/c4Drilldown.ts +7 -58
- package/src/subsystem/__fixtures__/c4Sketch.ts +94 -0
- package/src/subsystem/c4Sketch.ts +78 -0
- package/src/subsystem/c4TrailFocus.ts +62 -0
|
@@ -0,0 +1,336 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
/**
|
|
3
|
+
* C4ProjectionView — a model-derived C4 diagram with its trails in a left
|
|
4
|
+
* sidebar.
|
|
5
|
+
*
|
|
6
|
+
* The host supplies the authored/composed `C4Model`, the subsystem components
|
|
7
|
+
* and trails it was projected from, and the element → member-alias map. This
|
|
8
|
+
* component owns the trail focus, the resulting emphasis, the construct-level
|
|
9
|
+
* drill-down, and the open-container state (controlled or uncontrolled).
|
|
10
|
+
*
|
|
11
|
+
* It is deliberately data-only: no RPC, no store reads. Studio passes a
|
|
12
|
+
* projection built from a stored model; Storybook passes a fixture.
|
|
13
|
+
*/
|
|
14
|
+
import { useCallback, useMemo, useRef, useState } from 'react';
|
|
15
|
+
import { useTheme } from '@principal-ade/industry-theme';
|
|
16
|
+
import { IndustryMarkdownSlide } from 'themed-markdown';
|
|
17
|
+
import { C4Graph } from './C4Graph';
|
|
18
|
+
import { GraphWithSidebar } from './GraphWithSidebar';
|
|
19
|
+
import { TrailStepsNav } from './TrailStepsNav';
|
|
20
|
+
import { deriveLitC4Edges, deriveTrailPlayerElements, } from './c4TrailFocus';
|
|
21
|
+
import { deriveGraphEdges, trailStepGraphEdgeId } from './model';
|
|
22
|
+
function parentIdsOf(model) {
|
|
23
|
+
const parents = new Map();
|
|
24
|
+
for (const node of model.nodes) {
|
|
25
|
+
const parent = node.kind === 'component' ? (node.container ?? node.parentId) : node.parentId;
|
|
26
|
+
if (parent)
|
|
27
|
+
parents.set(node.id, parent);
|
|
28
|
+
}
|
|
29
|
+
return parents;
|
|
30
|
+
}
|
|
31
|
+
/** Include every ancestor of a player, so a filtered model never orphans a child. */
|
|
32
|
+
function withAncestors(players, parents) {
|
|
33
|
+
const out = new Set(players);
|
|
34
|
+
for (const id of players) {
|
|
35
|
+
let parent = parents.get(id);
|
|
36
|
+
while (parent && !out.has(parent)) {
|
|
37
|
+
out.add(parent);
|
|
38
|
+
parent = parents.get(parent);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
return out;
|
|
42
|
+
}
|
|
43
|
+
function containersForTrail(trail, model, memberships) {
|
|
44
|
+
if (!trail)
|
|
45
|
+
return [];
|
|
46
|
+
const aliases = new Set();
|
|
47
|
+
for (const step of trail.steps) {
|
|
48
|
+
aliases.add(step.from);
|
|
49
|
+
aliases.add(step.to);
|
|
50
|
+
}
|
|
51
|
+
return model.nodes
|
|
52
|
+
.filter((node) => node.kind === 'container' &&
|
|
53
|
+
(memberships[node.id] ?? []).some((alias) => aliases.has(alias)))
|
|
54
|
+
.map((node) => node.id);
|
|
55
|
+
}
|
|
56
|
+
function buildConstructGraphs(opts) {
|
|
57
|
+
if (!opts.focusedTrailId)
|
|
58
|
+
return undefined;
|
|
59
|
+
const trail = opts.trails.find((t) => t.id === opts.focusedTrailId);
|
|
60
|
+
if (!trail)
|
|
61
|
+
return undefined;
|
|
62
|
+
const byAlias = new Map(opts.components.map((c) => [c.alias, c]));
|
|
63
|
+
const referenced = new Set();
|
|
64
|
+
for (const step of trail.steps) {
|
|
65
|
+
referenced.add(step.from);
|
|
66
|
+
referenced.add(step.to);
|
|
67
|
+
}
|
|
68
|
+
const componentOf = new Map();
|
|
69
|
+
for (const element of opts.model.nodes) {
|
|
70
|
+
if (element.kind !== 'component')
|
|
71
|
+
continue;
|
|
72
|
+
for (const alias of element.members ?? [])
|
|
73
|
+
componentOf.set(alias, element.id);
|
|
74
|
+
}
|
|
75
|
+
const out = new Map();
|
|
76
|
+
for (const element of opts.model.nodes) {
|
|
77
|
+
if (element.kind !== 'container')
|
|
78
|
+
continue;
|
|
79
|
+
const aliases = (opts.memberships[element.id] ?? []).filter((alias) => referenced.has(alias) && byAlias.has(alias));
|
|
80
|
+
if (aliases.length === 0)
|
|
81
|
+
continue;
|
|
82
|
+
out.set(element.id, {
|
|
83
|
+
components: aliases.map((alias) => byAlias.get(alias)),
|
|
84
|
+
trails: [trail],
|
|
85
|
+
componentOf,
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
return out.size > 0 ? out : undefined;
|
|
89
|
+
}
|
|
90
|
+
function constructEmphasis(activeStep, trails, constructGraphs) {
|
|
91
|
+
if (!activeStep)
|
|
92
|
+
return { ids: null, edgeIds: null };
|
|
93
|
+
const trail = trails.find((t) => t.id === activeStep.trailId);
|
|
94
|
+
if (!trail)
|
|
95
|
+
return { ids: null, edgeIds: null };
|
|
96
|
+
const step = trail.steps[activeStep.stepIndex];
|
|
97
|
+
if (!step)
|
|
98
|
+
return { ids: null, edgeIds: null };
|
|
99
|
+
const steps = [step];
|
|
100
|
+
const spotlight = new Set();
|
|
101
|
+
const litEdges = new Set();
|
|
102
|
+
for (const step of steps) {
|
|
103
|
+
spotlight.add(step.from);
|
|
104
|
+
spotlight.add(step.to);
|
|
105
|
+
litEdges.add(trailStepGraphEdgeId(step));
|
|
106
|
+
}
|
|
107
|
+
if (!constructGraphs)
|
|
108
|
+
return { ids: null, edgeIds: null };
|
|
109
|
+
const allAliases = new Set();
|
|
110
|
+
const allEdgeIds = new Set();
|
|
111
|
+
for (const graph of constructGraphs.values()) {
|
|
112
|
+
for (const component of graph.components)
|
|
113
|
+
allAliases.add(component.alias);
|
|
114
|
+
for (const edge of deriveGraphEdges({ trails: [...graph.trails] })) {
|
|
115
|
+
allEdgeIds.add(edge.id);
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
return {
|
|
119
|
+
ids: new Set([...allAliases].filter((alias) => !spotlight.has(alias))),
|
|
120
|
+
edgeIds: new Set([...allEdgeIds].filter((id) => !litEdges.has(id))),
|
|
121
|
+
};
|
|
122
|
+
}
|
|
123
|
+
export function C4ProjectionView({ model, components, trails, memberships, title, description, headerActions, openContainerIds, onOpenContainerIdsChange, onTrailSelect, onTrailStepHover, renderFileViewer, renderTrailViewer, hideDrawer = false, persistKey, style, }) {
|
|
124
|
+
const { theme } = useTheme();
|
|
125
|
+
const [internalOpenIds, setInternalOpenIds] = useState(() => [...(openContainerIds ?? model.openContainerIds ?? [])].sort());
|
|
126
|
+
const resolvedOpenIds = openContainerIds
|
|
127
|
+
? [...openContainerIds]
|
|
128
|
+
: internalOpenIds;
|
|
129
|
+
const setOpenIds = useCallback((next) => {
|
|
130
|
+
if (!openContainerIds)
|
|
131
|
+
setInternalOpenIds(next);
|
|
132
|
+
onOpenContainerIdsChange?.(next);
|
|
133
|
+
}, [onOpenContainerIdsChange, openContainerIds]);
|
|
134
|
+
const [focusedTrailId, setFocusedTrailId] = useState(null);
|
|
135
|
+
const [hoveredStep, setHoveredStep] = useState(null);
|
|
136
|
+
const [focusedStep, setFocusedStep] = useState(null);
|
|
137
|
+
const trailOpenedRef = useRef(new Set());
|
|
138
|
+
const parents = useMemo(() => parentIdsOf(model), [model]);
|
|
139
|
+
const allElementIds = useMemo(() => model.nodes.map((node) => node.id), [model]);
|
|
140
|
+
const allEdgeIds = useMemo(() => model.edges.map((edge) => edge.id), [model]);
|
|
141
|
+
const componentByAlias = useMemo(() => new Map(components.map((component) => [component.alias, component])), [components]);
|
|
142
|
+
const focusedTrail = focusedTrailId
|
|
143
|
+
? trails.find((trail) => trail.id === focusedTrailId)
|
|
144
|
+
: undefined;
|
|
145
|
+
const trailPlayers = useMemo(() => focusedTrail
|
|
146
|
+
? withAncestors(deriveTrailPlayerElements(focusedTrail.steps, memberships), parents)
|
|
147
|
+
: null, [focusedTrail, memberships, parents]);
|
|
148
|
+
const renderedModel = useMemo(() => {
|
|
149
|
+
if (!trailPlayers) {
|
|
150
|
+
return { ...model, openContainerIds: resolvedOpenIds };
|
|
151
|
+
}
|
|
152
|
+
const nodes = model.nodes.filter((node) => trailPlayers.has(node.id));
|
|
153
|
+
const ids = new Set(nodes.map((node) => node.id));
|
|
154
|
+
const edges = model.edges.filter((edge) => ids.has(edge.source) && ids.has(edge.target));
|
|
155
|
+
return { ...model, nodes, edges, openContainerIds: resolvedOpenIds };
|
|
156
|
+
}, [model, resolvedOpenIds, trailPlayers]);
|
|
157
|
+
const containers = useCallback((trailId) => {
|
|
158
|
+
const trail = trails.find((t) => t.id === trailId);
|
|
159
|
+
return containersForTrail(trail, model, memberships);
|
|
160
|
+
}, [memberships, model, trails]);
|
|
161
|
+
const focusTrail = useCallback((trailId) => {
|
|
162
|
+
const previouslyOpened = trailOpenedRef.current;
|
|
163
|
+
const nextTrailContainers = containers(trailId);
|
|
164
|
+
trailOpenedRef.current = new Set(nextTrailContainers);
|
|
165
|
+
const next = [
|
|
166
|
+
...new Set([
|
|
167
|
+
...resolvedOpenIds.filter((id) => !previouslyOpened.has(id)),
|
|
168
|
+
...nextTrailContainers,
|
|
169
|
+
]),
|
|
170
|
+
].sort();
|
|
171
|
+
setFocusedTrailId(trailId);
|
|
172
|
+
setHoveredStep(null);
|
|
173
|
+
setOpenIds(next);
|
|
174
|
+
onTrailSelect?.({ trailId });
|
|
175
|
+
}, [containers, onTrailSelect, resolvedOpenIds, setOpenIds]);
|
|
176
|
+
const clearFocus = useCallback(() => {
|
|
177
|
+
const opened = trailOpenedRef.current;
|
|
178
|
+
trailOpenedRef.current = new Set();
|
|
179
|
+
setFocusedTrailId(null);
|
|
180
|
+
setHoveredStep(null);
|
|
181
|
+
if (opened.size > 0) {
|
|
182
|
+
setOpenIds(resolvedOpenIds.filter((id) => !opened.has(id)));
|
|
183
|
+
}
|
|
184
|
+
onTrailSelect?.(null);
|
|
185
|
+
}, [onTrailSelect, resolvedOpenIds, setOpenIds]);
|
|
186
|
+
const toggleContainer = useCallback((id) => {
|
|
187
|
+
setOpenIds(resolvedOpenIds.includes(id)
|
|
188
|
+
? resolvedOpenIds.filter((openId) => openId !== id)
|
|
189
|
+
: [...resolvedOpenIds, id].sort());
|
|
190
|
+
}, [resolvedOpenIds, setOpenIds]);
|
|
191
|
+
const activeStep = focusedStep ?? hoveredStep;
|
|
192
|
+
const emphasis = useMemo(() => {
|
|
193
|
+
let hiddenElementIds = null;
|
|
194
|
+
let hiddenEdgeIds = null;
|
|
195
|
+
if (focusedTrail) {
|
|
196
|
+
const players = trailPlayers ?? new Set();
|
|
197
|
+
hiddenElementIds = new Set(allElementIds.filter((id) => !players.has(id)));
|
|
198
|
+
const lit = deriveLitC4Edges({ trailId: focusedTrail.id }, model.edges);
|
|
199
|
+
hiddenEdgeIds = new Set(allEdgeIds.filter((id) => !lit.has(id)));
|
|
200
|
+
}
|
|
201
|
+
let dimmedElementIds = null;
|
|
202
|
+
let dimmedEdgeIds = null;
|
|
203
|
+
if (activeStep) {
|
|
204
|
+
const trail = trails.find((t) => t.id === activeStep.trailId);
|
|
205
|
+
const steps = !trail
|
|
206
|
+
? []
|
|
207
|
+
: activeStep.stepIndex != null
|
|
208
|
+
? trail.steps.slice(activeStep.stepIndex, activeStep.stepIndex + 1)
|
|
209
|
+
: trail.steps;
|
|
210
|
+
const spotlight = deriveTrailPlayerElements(steps, memberships);
|
|
211
|
+
dimmedElementIds = new Set(allElementIds.filter((id) => !spotlight.has(id)));
|
|
212
|
+
const lit = deriveLitC4Edges({
|
|
213
|
+
trailId: activeStep.trailId,
|
|
214
|
+
...(activeStep.stepIndex != null
|
|
215
|
+
? { stepIndex: activeStep.stepIndex }
|
|
216
|
+
: {}),
|
|
217
|
+
}, model.edges);
|
|
218
|
+
dimmedEdgeIds = new Set(allEdgeIds.filter((id) => !lit.has(id)));
|
|
219
|
+
}
|
|
220
|
+
return {
|
|
221
|
+
hiddenElementIds,
|
|
222
|
+
hiddenEdgeIds,
|
|
223
|
+
dimmedElementIds,
|
|
224
|
+
dimmedEdgeIds,
|
|
225
|
+
};
|
|
226
|
+
}, [
|
|
227
|
+
activeStep,
|
|
228
|
+
allEdgeIds,
|
|
229
|
+
allElementIds,
|
|
230
|
+
focusedTrail,
|
|
231
|
+
memberships,
|
|
232
|
+
model.edges,
|
|
233
|
+
trailPlayers,
|
|
234
|
+
trails,
|
|
235
|
+
]);
|
|
236
|
+
const constructGraphs = useMemo(() => buildConstructGraphs({
|
|
237
|
+
model,
|
|
238
|
+
components,
|
|
239
|
+
trails,
|
|
240
|
+
memberships,
|
|
241
|
+
focusedTrailId,
|
|
242
|
+
}), [components, focusedTrailId, memberships, model, trails]);
|
|
243
|
+
const constructStage = useMemo(() => constructEmphasis(activeStep && activeStep.stepIndex != null
|
|
244
|
+
? { trailId: activeStep.trailId, stepIndex: activeStep.stepIndex }
|
|
245
|
+
: null, trails, constructGraphs), [activeStep, constructGraphs, trails]);
|
|
246
|
+
const openAll = useCallback(() => {
|
|
247
|
+
setOpenIds(model.nodes
|
|
248
|
+
.filter((node) => node.kind === 'container')
|
|
249
|
+
.map((node) => node.id)
|
|
250
|
+
.sort());
|
|
251
|
+
}, [model, setOpenIds]);
|
|
252
|
+
const collapseAll = useCallback(() => {
|
|
253
|
+
setOpenIds([]);
|
|
254
|
+
}, [setOpenIds]);
|
|
255
|
+
const sidebarHeader = description ? (_jsx("div", { style: { fontSize: theme.fontSizes[0], lineHeight: 1.5 }, children: _jsx(IndustryMarkdownSlide, { content: description, slideIdPrefix: "c4-projection-desc", slideIndex: 0, isVisible: true, theme: theme, disableScroll: true, disableBasePadding: true, enableKeyboardScrolling: false, autoFocusOnVisible: false }) })) : null;
|
|
256
|
+
return (_jsxs("div", { style: {
|
|
257
|
+
width: '100%',
|
|
258
|
+
height: '100%',
|
|
259
|
+
display: 'flex',
|
|
260
|
+
flexDirection: 'column',
|
|
261
|
+
background: theme.colors.background,
|
|
262
|
+
...style,
|
|
263
|
+
}, children: [_jsxs("header", { style: {
|
|
264
|
+
flexShrink: 0,
|
|
265
|
+
display: 'flex',
|
|
266
|
+
alignItems: 'center',
|
|
267
|
+
gap: 12,
|
|
268
|
+
padding: '12px 16px',
|
|
269
|
+
background: theme.colors.background,
|
|
270
|
+
borderBottom: `1px solid ${theme.colors.border}`,
|
|
271
|
+
}, children: [_jsx("h2", { style: {
|
|
272
|
+
margin: 0,
|
|
273
|
+
minWidth: 0,
|
|
274
|
+
flex: 1,
|
|
275
|
+
fontSize: theme.fontSizes[2],
|
|
276
|
+
fontWeight: 600,
|
|
277
|
+
color: theme.colors.text,
|
|
278
|
+
fontFamily: theme.fonts.monospace,
|
|
279
|
+
overflowWrap: 'anywhere',
|
|
280
|
+
}, children: title ?? model.system.label }), _jsxs("div", { style: {
|
|
281
|
+
marginLeft: 'auto',
|
|
282
|
+
flexShrink: 0,
|
|
283
|
+
display: 'flex',
|
|
284
|
+
alignItems: 'center',
|
|
285
|
+
gap: 6,
|
|
286
|
+
}, children: [headerActions, _jsx("button", { type: "button", onClick: openAll, style: smallButton(theme), children: "Open all" }), _jsx("button", { type: "button", onClick: collapseAll, style: smallButton(theme), children: "Collapse all" })] })] }), _jsx("div", { style: { flex: 1, minHeight: 0, display: 'flex', flexDirection: 'column' }, children: _jsx(GraphWithSidebar, { persistKey: persistKey, defaultWidth: 320, minWidth: 240, maxWidth: 480, headerMaxHeight: "30%", header: sidebarHeader, sidebarBody: _jsx(TrailStepsNav, { trails: [...trails], focusedTrailId: focusedTrailId, focusedStepIndex: focusedStep && focusedStep.trailId === focusedTrailId
|
|
287
|
+
? focusedStep.stepIndex
|
|
288
|
+
: null, hoveredTrailStep: hoveredStep, componentByAlias: componentByAlias, onFocusFlow: (trail) => {
|
|
289
|
+
setFocusedStep(null);
|
|
290
|
+
focusTrail(trail.id);
|
|
291
|
+
}, onClearFocus: () => {
|
|
292
|
+
setFocusedStep(null);
|
|
293
|
+
clearFocus();
|
|
294
|
+
}, onFocusStep: (trail, stepIndex) => {
|
|
295
|
+
setFocusedStep((prev) => prev &&
|
|
296
|
+
prev.trailId === trail.id &&
|
|
297
|
+
prev.stepIndex === stepIndex
|
|
298
|
+
? null
|
|
299
|
+
: { trailId: trail.id, stepIndex });
|
|
300
|
+
focusTrail(trail.id);
|
|
301
|
+
}, onHoverStep: (trail, stepIndex) => {
|
|
302
|
+
setHoveredStep({ trailId: trail.id, stepIndex });
|
|
303
|
+
onTrailStepHover?.({ trailId: trail.id, stepIndex });
|
|
304
|
+
}, onHoverFlow: (trail) => {
|
|
305
|
+
setHoveredStep({ trailId: trail.id, stepIndex: null });
|
|
306
|
+
onTrailStepHover?.(null);
|
|
307
|
+
}, onLeaveStep: () => {
|
|
308
|
+
setHoveredStep(null);
|
|
309
|
+
onTrailStepHover?.(null);
|
|
310
|
+
} }), children: _jsx(C4Graph, { model: renderedModel, onSelectEdge: (edge) => {
|
|
311
|
+
const refs = edge?.trailRefs ?? [];
|
|
312
|
+
if (refs.length > 0)
|
|
313
|
+
focusTrail(refs[0].trailId);
|
|
314
|
+
}, onTrailClick: (ref) => focusTrail(ref.trailId), onToggleContainer: toggleContainer, hiddenElementIds: emphasis.hiddenElementIds, hiddenEdgeIds: emphasis.hiddenEdgeIds, dimmedElementIds: emphasis.dimmedElementIds, dimmedEdgeIds: emphasis.dimmedEdgeIds, dimmedConstructIds: constructStage.ids, dimmedConstructEdgeIds: constructStage.edgeIds, constructGraphByContainer: constructGraphs, focusedStep: focusedStep, onCloseStep: () => setFocusedStep(null), renderFileViewer: renderFileViewer, renderTrailViewer: renderTrailViewer, hideDrawer: hideDrawer }) }) })] }));
|
|
315
|
+
}
|
|
316
|
+
function smallButton(theme) {
|
|
317
|
+
return {
|
|
318
|
+
flexShrink: 0,
|
|
319
|
+
display: 'inline-flex',
|
|
320
|
+
alignItems: 'center',
|
|
321
|
+
justifyContent: 'center',
|
|
322
|
+
width: 132,
|
|
323
|
+
height: 34,
|
|
324
|
+
padding: '0 12px',
|
|
325
|
+
boxSizing: 'border-box',
|
|
326
|
+
whiteSpace: 'nowrap',
|
|
327
|
+
borderRadius: 6,
|
|
328
|
+
border: `1px solid ${theme.colors.border}`,
|
|
329
|
+
background: 'transparent',
|
|
330
|
+
color: theme.colors.textSecondary,
|
|
331
|
+
fontFamily: theme.fonts.body,
|
|
332
|
+
fontSize: theme.fontSizes[1],
|
|
333
|
+
cursor: 'pointer',
|
|
334
|
+
};
|
|
335
|
+
}
|
|
336
|
+
//# sourceMappingURL=C4ProjectionView.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"C4ProjectionView.js","sourceRoot":"","sources":["../../src/subsystem/C4ProjectionView.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* C4SketchView — a standalone authored C4 hypothesis.
|
|
3
|
+
*
|
|
4
|
+
* Pure presentation: the host loads the sketch and passes it in. There is no
|
|
5
|
+
* model comparison, grounding, or promotion here; a sketch is a diagram in its
|
|
6
|
+
* own right.
|
|
7
|
+
*/
|
|
8
|
+
import type { CSSProperties, ReactNode } from 'react';
|
|
9
|
+
import type { C4Sketch } from './c4Sketch';
|
|
10
|
+
export interface C4SketchViewProps {
|
|
11
|
+
sketch: C4Sketch;
|
|
12
|
+
/** Controlled open-container ids. Omit to let the view own them. */
|
|
13
|
+
openContainerIds?: readonly string[];
|
|
14
|
+
onOpenContainerIdsChange?: (ids: string[]) => void;
|
|
15
|
+
/** Extra controls in the header. */
|
|
16
|
+
headerActions?: ReactNode;
|
|
17
|
+
/** Sidebar width persistence key. */
|
|
18
|
+
persistKey?: string;
|
|
19
|
+
/** Outer style for the flex fill. */
|
|
20
|
+
style?: CSSProperties;
|
|
21
|
+
}
|
|
22
|
+
export declare function C4SketchView({ sketch, openContainerIds, onOpenContainerIdsChange, headerActions, persistKey, style, }: C4SketchViewProps): import("react").JSX.Element;
|
|
23
|
+
//# sourceMappingURL=C4SketchView.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"C4SketchView.d.ts","sourceRoot":"","sources":["../../src/subsystem/C4SketchView.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAMtD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,QAAQ,CAAC;IACjB,oEAAoE;IACpE,gBAAgB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,wBAAwB,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IACnD,oCAAoC;IACpC,aAAa,CAAC,EAAE,SAAS,CAAC;IAC1B,qCAAqC;IACrC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,qCAAqC;IACrC,KAAK,CAAC,EAAE,aAAa,CAAC;CACvB;AAED,wBAAgB,YAAY,CAAC,EAC3B,MAAM,EACN,gBAAgB,EAChB,wBAAwB,EACxB,aAAa,EACb,UAAU,EACV,KAAK,GACN,EAAE,iBAAiB,+BAkLnB"}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
/**
|
|
3
|
+
* C4SketchView — a standalone authored C4 hypothesis.
|
|
4
|
+
*
|
|
5
|
+
* Pure presentation: the host loads the sketch and passes it in. There is no
|
|
6
|
+
* model comparison, grounding, or promotion here; a sketch is a diagram in its
|
|
7
|
+
* own right.
|
|
8
|
+
*/
|
|
9
|
+
import { useCallback, useMemo, useState } from 'react';
|
|
10
|
+
import { useTheme } from '@principal-ade/industry-theme';
|
|
11
|
+
import { PencilRuler } from 'lucide-react';
|
|
12
|
+
import { IndustryMarkdownSlide } from 'themed-markdown';
|
|
13
|
+
import { C4Graph } from './C4Graph';
|
|
14
|
+
import { GraphWithSidebar } from './GraphWithSidebar';
|
|
15
|
+
export function C4SketchView({ sketch, openContainerIds, onOpenContainerIdsChange, headerActions, persistKey, style, }) {
|
|
16
|
+
const { theme } = useTheme();
|
|
17
|
+
const [internalOpenIds, setInternalOpenIds] = useState(() => [...(openContainerIds ?? sketch.model.openContainerIds ?? [])].sort());
|
|
18
|
+
const resolvedOpenIds = openContainerIds
|
|
19
|
+
? [...openContainerIds]
|
|
20
|
+
: internalOpenIds;
|
|
21
|
+
const setOpenIds = useCallback((next) => {
|
|
22
|
+
if (!openContainerIds)
|
|
23
|
+
setInternalOpenIds(next);
|
|
24
|
+
onOpenContainerIdsChange?.(next);
|
|
25
|
+
}, [onOpenContainerIdsChange, openContainerIds]);
|
|
26
|
+
const model = useMemo(() => ({ ...sketch.model, openContainerIds: resolvedOpenIds }), [resolvedOpenIds, sketch.model]);
|
|
27
|
+
const toggleContainer = useCallback((id) => {
|
|
28
|
+
setOpenIds(resolvedOpenIds.includes(id)
|
|
29
|
+
? resolvedOpenIds.filter((openId) => openId !== id)
|
|
30
|
+
: [...resolvedOpenIds, id].sort());
|
|
31
|
+
}, [resolvedOpenIds, setOpenIds]);
|
|
32
|
+
const openAll = useCallback(() => {
|
|
33
|
+
setOpenIds(sketch.model.nodes
|
|
34
|
+
.filter((node) => node.kind === 'container')
|
|
35
|
+
.map((node) => node.id)
|
|
36
|
+
.sort());
|
|
37
|
+
}, [setOpenIds, sketch.model.nodes]);
|
|
38
|
+
const collapseAll = useCallback(() => setOpenIds([]), [setOpenIds]);
|
|
39
|
+
const notes = sketch.notes?.trim();
|
|
40
|
+
const notesPanel = notes ? (_jsxs("div", { style: { display: 'flex', flexDirection: 'column', gap: 8 }, children: [_jsx("div", { style: {
|
|
41
|
+
fontSize: 10,
|
|
42
|
+
fontFamily: theme.fonts.monospace,
|
|
43
|
+
letterSpacing: 0.4,
|
|
44
|
+
color: theme.colors.textSecondary,
|
|
45
|
+
}, children: "ABOUT" }), _jsx(IndustryMarkdownSlide, { content: notes, slideIdPrefix: `c4-sketch-notes-${sketch.id}`, slideIndex: 0, isVisible: true, theme: theme, disableScroll: true, disableBasePadding: true, enableKeyboardScrolling: false, autoFocusOnVisible: false })] })) : null;
|
|
46
|
+
return (_jsxs("div", { style: {
|
|
47
|
+
width: '100%',
|
|
48
|
+
height: '100%',
|
|
49
|
+
display: 'flex',
|
|
50
|
+
flexDirection: 'column',
|
|
51
|
+
background: theme.colors.background,
|
|
52
|
+
...style,
|
|
53
|
+
}, children: [_jsxs("header", { style: {
|
|
54
|
+
flexShrink: 0,
|
|
55
|
+
display: 'flex',
|
|
56
|
+
alignItems: 'center',
|
|
57
|
+
gap: 12,
|
|
58
|
+
flexWrap: 'wrap',
|
|
59
|
+
padding: '12px 16px',
|
|
60
|
+
background: theme.colors.background,
|
|
61
|
+
borderBottom: `1px solid ${theme.colors.border}`,
|
|
62
|
+
}, children: [_jsxs("div", { style: {
|
|
63
|
+
minWidth: 240,
|
|
64
|
+
flex: 1,
|
|
65
|
+
display: 'flex',
|
|
66
|
+
alignItems: 'center',
|
|
67
|
+
gap: 8,
|
|
68
|
+
flexWrap: 'wrap',
|
|
69
|
+
}, children: [_jsx("h2", { style: {
|
|
70
|
+
margin: 0,
|
|
71
|
+
minWidth: 0,
|
|
72
|
+
fontSize: theme.fontSizes[2],
|
|
73
|
+
fontWeight: 600,
|
|
74
|
+
color: theme.colors.text,
|
|
75
|
+
fontFamily: theme.fonts.monospace,
|
|
76
|
+
overflowWrap: 'anywhere',
|
|
77
|
+
}, children: sketch.title }), _jsxs("span", { style: {
|
|
78
|
+
display: 'inline-flex',
|
|
79
|
+
alignItems: 'center',
|
|
80
|
+
gap: 4,
|
|
81
|
+
padding: '1px 7px',
|
|
82
|
+
borderRadius: 4,
|
|
83
|
+
border: '1px solid #e3b341',
|
|
84
|
+
color: '#e3b341',
|
|
85
|
+
fontFamily: theme.fonts.monospace,
|
|
86
|
+
fontSize: 10,
|
|
87
|
+
letterSpacing: 0.4,
|
|
88
|
+
flexShrink: 0,
|
|
89
|
+
}, children: [_jsx(PencilRuler, { size: 10, "aria-hidden": "true" }), "SKETCH"] })] }), _jsxs("div", { style: {
|
|
90
|
+
marginLeft: 'auto',
|
|
91
|
+
flexShrink: 0,
|
|
92
|
+
display: 'flex',
|
|
93
|
+
alignItems: 'center',
|
|
94
|
+
gap: 6,
|
|
95
|
+
flexWrap: 'wrap',
|
|
96
|
+
}, children: [headerActions, _jsx("button", { type: "button", onClick: openAll, style: smallButton(theme, { width: 132 }), children: "Open all" }), _jsx("button", { type: "button", onClick: collapseAll, style: smallButton(theme, { width: 132 }), children: "Collapse all" })] })] }), _jsx("div", { style: { flex: 1, minHeight: 0 }, children: _jsx(GraphWithSidebar, { hidden: !notes, stretchHeader: true, defaultWidth: 320, minWidth: 240, maxWidth: 480, persistKey: persistKey ?? `c4-sketch-notes-${sketch.id}`, header: notesPanel, children: _jsx(C4Graph, { model: model, onToggleContainer: toggleContainer }) }) })] }));
|
|
97
|
+
}
|
|
98
|
+
function smallButton(theme, opts = {}) {
|
|
99
|
+
return {
|
|
100
|
+
flexShrink: 0,
|
|
101
|
+
display: 'inline-flex',
|
|
102
|
+
alignItems: 'center',
|
|
103
|
+
justifyContent: 'center',
|
|
104
|
+
gap: 5,
|
|
105
|
+
...(opts.width ? { width: opts.width } : {}),
|
|
106
|
+
height: 34,
|
|
107
|
+
padding: '0 10px',
|
|
108
|
+
boxSizing: 'border-box',
|
|
109
|
+
whiteSpace: 'nowrap',
|
|
110
|
+
borderRadius: 6,
|
|
111
|
+
border: `1px solid ${theme.colors.border}`,
|
|
112
|
+
background: 'transparent',
|
|
113
|
+
color: theme.colors.textSecondary,
|
|
114
|
+
fontFamily: theme.fonts.body,
|
|
115
|
+
fontSize: theme.fontSizes[1],
|
|
116
|
+
cursor: 'pointer',
|
|
117
|
+
};
|
|
118
|
+
}
|
|
119
|
+
//# sourceMappingURL=C4SketchView.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"C4SketchView.js","sourceRoot":"","sources":["../../src/subsystem/C4SketchView.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DescriptionOverlay.d.ts","sourceRoot":"","sources":["../../src/subsystem/DescriptionOverlay.tsx"],"names":[],"mappings":";AAKA,wBAAgB,kBAAkB,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE;IAC3D,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB,+BA4FA"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useEffect, useRef } from 'react';
|
|
3
|
+
import { useTheme } from '@principal-ade/industry-theme';
|
|
4
|
+
import { X } from 'lucide-react';
|
|
5
|
+
import { IndustryMarkdownSlide } from 'themed-markdown';
|
|
6
|
+
export function DescriptionOverlay({ description, onClose }) {
|
|
7
|
+
const { theme } = useTheme();
|
|
8
|
+
const closeRef = useRef(null);
|
|
9
|
+
useEffect(() => {
|
|
10
|
+
const previousFocus = document.activeElement;
|
|
11
|
+
closeRef.current?.focus();
|
|
12
|
+
return () => {
|
|
13
|
+
if (previousFocus instanceof HTMLElement && previousFocus.isConnected)
|
|
14
|
+
previousFocus.focus();
|
|
15
|
+
};
|
|
16
|
+
}, []);
|
|
17
|
+
return (_jsxs("div", { role: "dialog", "aria-label": "Subsystem description", onKeyDown: (event) => {
|
|
18
|
+
if (event.key === 'Escape') {
|
|
19
|
+
event.stopPropagation();
|
|
20
|
+
onClose();
|
|
21
|
+
}
|
|
22
|
+
}, style: {
|
|
23
|
+
position: 'absolute',
|
|
24
|
+
inset: 0,
|
|
25
|
+
zIndex: 10,
|
|
26
|
+
display: 'flex',
|
|
27
|
+
flexDirection: 'column',
|
|
28
|
+
background: theme.colors.background,
|
|
29
|
+
color: theme.colors.text,
|
|
30
|
+
}, children: [_jsxs("div", { style: {
|
|
31
|
+
display: 'flex',
|
|
32
|
+
alignItems: 'center',
|
|
33
|
+
gap: 8,
|
|
34
|
+
flexShrink: 0,
|
|
35
|
+
padding: '12px 16px',
|
|
36
|
+
borderBottom: `1px solid ${theme.colors.border}`,
|
|
37
|
+
}, children: [_jsx("h3", { style: {
|
|
38
|
+
flex: 1,
|
|
39
|
+
margin: 0,
|
|
40
|
+
fontSize: theme.fontSizes[1],
|
|
41
|
+
fontFamily: theme.fonts.monospace,
|
|
42
|
+
textTransform: 'uppercase',
|
|
43
|
+
color: theme.colors.textSecondary,
|
|
44
|
+
}, children: "Overview" }), _jsx("button", { ref: closeRef, type: "button", "aria-label": "Close description", onClick: onClose, style: {
|
|
45
|
+
display: 'inline-flex',
|
|
46
|
+
alignItems: 'center',
|
|
47
|
+
justifyContent: 'center',
|
|
48
|
+
width: 24,
|
|
49
|
+
height: 24,
|
|
50
|
+
padding: 0,
|
|
51
|
+
border: 'none',
|
|
52
|
+
borderRadius: 4,
|
|
53
|
+
background: 'transparent',
|
|
54
|
+
color: theme.colors.textSecondary,
|
|
55
|
+
cursor: 'pointer',
|
|
56
|
+
}, children: _jsx(X, { size: 14 }) })] }), _jsx("div", { style: { flex: 1, minHeight: 0, overflow: 'auto', padding: '20px 0 32px' }, children: _jsx("div", { style: { lineHeight: 1.7 }, children: _jsx(IndustryMarkdownSlide, { content: description, slideIdPrefix: "subsystem-desc-overlay", slideIndex: 0, isVisible: true, theme: theme, disableScroll: true, disableBasePadding: true, transparentBackground: true, additionalPadding: { left: '24px', right: '24px' }, fontSizeScale: 1.05, enableKeyboardScrolling: false, autoFocusOnVisible: false }) }) })] }));
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=DescriptionOverlay.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DescriptionOverlay.js","sourceRoot":"","sources":["../../src/subsystem/DescriptionOverlay.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SubsystemComponentGraph.d.ts","sourceRoot":"","sources":["../../src/subsystem/SubsystemComponentGraph.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,OAAO,KAAK,EAAgD,SAAS,EAAE,MAAM,OAAO,CAAC;AAkBrF,OAAO,EAYL,KAAK,sBAAsB,EAC3B,KAAK,kBAAkB,EAEvB,KAAK,iBAAiB,EACtB,KAAK,wBAAwB,EAC7B,KAAK,yBAAyB,EAG9B,KAAK,cAAc,EACpB,MAAM,SAAS,CAAC;AAEjB,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AAC7D,OAAO,EAEL,KAAK,yBAAyB,EAC/B,MAAM,eAAe,CAAC;AACvB,OAAO,EAEL,KAAK,sBAAsB,EAC5B,MAAM,iDAAiD,CAAC;AACzD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAEtE,OAAO,EAA6B,KAAK,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzF,OAAO,EAOL,KAAK,uBAAuB,EAC5B,KAAK,cAAc,EACnB,KAAK,sBAAsB,EAC5B,MAAM,aAAa,CAAC;AAMrB,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AACzE,OAAO,KAAK,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"SubsystemComponentGraph.d.ts","sourceRoot":"","sources":["../../src/subsystem/SubsystemComponentGraph.tsx"],"names":[],"mappings":"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"}
|