@principal-ai/subsystems-react 0.56.13 → 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.
Files changed (38) hide show
  1. package/dist/index.d.ts +6 -0
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +3 -0
  4. package/dist/index.js.map +1 -1
  5. package/dist/subsystem/C4ProjectionView.d.ts +60 -0
  6. package/dist/subsystem/C4ProjectionView.d.ts.map +1 -0
  7. package/dist/subsystem/C4ProjectionView.js +336 -0
  8. package/dist/subsystem/C4ProjectionView.js.map +1 -0
  9. package/dist/subsystem/C4SketchView.d.ts +23 -0
  10. package/dist/subsystem/C4SketchView.d.ts.map +1 -0
  11. package/dist/subsystem/C4SketchView.js +119 -0
  12. package/dist/subsystem/C4SketchView.js.map +1 -0
  13. package/dist/subsystem/__fixtures__/c4Drilldown.d.ts +4 -27
  14. package/dist/subsystem/__fixtures__/c4Drilldown.d.ts.map +1 -1
  15. package/dist/subsystem/__fixtures__/c4Drilldown.js +4 -56
  16. package/dist/subsystem/__fixtures__/c4Drilldown.js.map +1 -1
  17. package/dist/subsystem/__fixtures__/c4Sketch.d.ts +9 -0
  18. package/dist/subsystem/__fixtures__/c4Sketch.d.ts.map +1 -0
  19. package/dist/subsystem/__fixtures__/c4Sketch.js +89 -0
  20. package/dist/subsystem/__fixtures__/c4Sketch.js.map +1 -0
  21. package/dist/subsystem/c4Sketch.d.ts +74 -0
  22. package/dist/subsystem/c4Sketch.d.ts.map +1 -0
  23. package/dist/subsystem/c4Sketch.js +9 -0
  24. package/dist/subsystem/c4Sketch.js.map +1 -0
  25. package/dist/subsystem/c4TrailFocus.d.ts +30 -0
  26. package/dist/subsystem/c4TrailFocus.d.ts.map +1 -0
  27. package/dist/subsystem/c4TrailFocus.js +57 -0
  28. package/dist/subsystem/c4TrailFocus.js.map +1 -0
  29. package/package.json +1 -1
  30. package/src/index.ts +14 -0
  31. package/src/stories/Canvases/C4/C4Sketch.stories.tsx +36 -0
  32. package/src/stories/Canvases/C4/C4ToComponentDrill.stories.tsx +18 -429
  33. package/src/subsystem/C4ProjectionView.tsx +595 -0
  34. package/src/subsystem/C4SketchView.tsx +241 -0
  35. package/src/subsystem/__fixtures__/c4Drilldown.ts +7 -58
  36. package/src/subsystem/__fixtures__/c4Sketch.ts +94 -0
  37. package/src/subsystem/c4Sketch.ts +78 -0
  38. package/src/subsystem/c4TrailFocus.ts +62 -0
package/dist/index.d.ts CHANGED
@@ -69,6 +69,12 @@ export type { SubsystemGraphCallbacks } from './subsystem/nodes';
69
69
  export type { SubsystemComponent, SubsystemGraphNodeData, SubsystemComponentEdge, SubsystemTrail, SubsystemTrailStep, SubsystemSiteConstruct, SubsystemTargetConstruct, SubsystemTrailMechanism, SubsystemModelDocument, SubsystemComponentConstruct, SubsystemComponentRole, SubsystemFramework, SubsystemStereotype, SubsystemEdgeMechanism, SubsystemEdgeView, SubsystemEdgeProvenance, SubsystemLayoutDirection, SubsystemGraphifyRelation, SubsystemConstructDeclaration, SubsystemDeclarationProvenance, SubsystemSignatureClaim, SubsystemSignatureParameter, } from './subsystem/model';
70
70
  export { C4Graph } from './subsystem/C4Graph';
71
71
  export type { C4GraphProps } from './subsystem/C4Graph';
72
+ export { C4ProjectionView } from './subsystem/C4ProjectionView';
73
+ export type { C4ProjectionViewProps } from './subsystem/C4ProjectionView';
74
+ export { C4SketchView } from './subsystem/C4SketchView';
75
+ export type { C4SketchViewProps } from './subsystem/C4SketchView';
76
+ export type { C4Sketch, C4SketchSummary, SubsystemC4Source, SubsystemC4Projection, } from './subsystem/c4Sketch';
77
+ export { deriveLitC4Edges, deriveTrailPlayerElements, } from './subsystem/c4TrailFocus';
72
78
  export { GraphSidebar } from './subsystem/GraphSidebar';
73
79
  export type { GraphSidebarProps, GraphSidebarTab } from './subsystem/GraphSidebar';
74
80
  export { GraphWithSidebar } from './subsystem/GraphWithSidebar';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -43,6 +43,9 @@ export { GraphLayoutCover } from './subsystem/GraphLayoutCover';
43
43
  export { SubsystemComponentNode, SubsystemCallbacksProvider, } from './subsystem/nodes';
44
44
  // --- C4 projection -----------------------------------------------------
45
45
  export { C4Graph } from './subsystem/C4Graph';
46
+ export { C4ProjectionView } from './subsystem/C4ProjectionView';
47
+ export { C4SketchView } from './subsystem/C4SketchView';
48
+ export { deriveLitC4Edges, deriveTrailPlayerElements, } from './subsystem/c4TrailFocus';
46
49
  export { GraphSidebar } from './subsystem/GraphSidebar';
47
50
  export { GraphWithSidebar } from './subsystem/GraphWithSidebar';
48
51
  export { C4NodeCard, nodeStyle, nodeSubtitle, nodeTag, nodeKindIcon, nodeTopLabel, nodeShape, nodeSize, nodeMissing, NODE_W, NODE_H, COMPONENT_SIZE, COMPONENT_W, COMPONENT_H, COMPONENT_ASPECT } from './subsystem/C4NodeCard';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,60 @@
1
+ /**
2
+ * C4ProjectionView — a model-derived C4 diagram with its trails in a left
3
+ * sidebar.
4
+ *
5
+ * The host supplies the authored/composed `C4Model`, the subsystem components
6
+ * and trails it was projected from, and the element → member-alias map. This
7
+ * component owns the trail focus, the resulting emphasis, the construct-level
8
+ * drill-down, and the open-container state (controlled or uncontrolled).
9
+ *
10
+ * It is deliberately data-only: no RPC, no store reads. Studio passes a
11
+ * projection built from a stored model; Storybook passes a fixture.
12
+ */
13
+ import type { CSSProperties, ReactNode } from 'react';
14
+ import type { C4GraphProps } from './C4Graph';
15
+ import type { C4Model } from './c4';
16
+ import type { SubsystemComponent, SubsystemTrail } from './model';
17
+ export interface C4ProjectionViewProps {
18
+ /** The C4 projection to draw. */
19
+ model: C4Model;
20
+ /** Subsystem components behind the model, for the construct drill-down. */
21
+ components: readonly SubsystemComponent[];
22
+ /** Ordered trails shown in the left sidebar. */
23
+ trails: readonly SubsystemTrail[];
24
+ /** C4 element id → member aliases. Container membership comes from `process`. */
25
+ memberships: Readonly<Record<string, readonly string[]>>;
26
+ /** Sidebar heading. Falls back to the system label. */
27
+ title?: string;
28
+ /** Optional Markdown description under the heading. */
29
+ description?: string;
30
+ /** Extra controls in the sidebar header (source badge, refresh, …). */
31
+ headerActions?: ReactNode;
32
+ /**
33
+ * Controlled open-container ids. Omit to let the view own them. Pass an empty
34
+ * array to start collapsed.
35
+ */
36
+ openContainerIds?: readonly string[];
37
+ onOpenContainerIdsChange?: (ids: string[]) => void;
38
+ /** Fired when a trail is focused or cleared. */
39
+ onTrailSelect?: (ref: {
40
+ trailId: string;
41
+ stepIndices?: number[];
42
+ } | null) => void;
43
+ /** Fired when a trail step is hovered or unhovered. */
44
+ onTrailStepHover?: (ref: {
45
+ trailId: string;
46
+ stepIndex: number;
47
+ } | null) => void;
48
+ /** Host code viewer for a focused step. */
49
+ renderFileViewer?: C4GraphProps['renderFileViewer'];
50
+ /** Host trail viewer; replaces the file viewer when supplied. */
51
+ renderTrailViewer?: C4GraphProps['renderTrailViewer'];
52
+ /** Suppress the C4 step drawer entirely. */
53
+ hideDrawer?: boolean;
54
+ /** Sidebar width persistence key. */
55
+ persistKey?: string;
56
+ /** Outer style for the flex fill. */
57
+ style?: CSSProperties;
58
+ }
59
+ export declare function C4ProjectionView({ model, components, trails, memberships, title, description, headerActions, openContainerIds, onOpenContainerIdsChange, onTrailSelect, onTrailStepHover, renderFileViewer, renderTrailViewer, hideDrawer, persistKey, style, }: C4ProjectionViewProps): import("react").JSX.Element;
60
+ //# sourceMappingURL=C4ProjectionView.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"C4ProjectionView.d.ts","sourceRoot":"","sources":["../../src/subsystem/C4ProjectionView.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAItD,OAAO,KAAK,EAAoB,YAAY,EAAE,MAAM,WAAW,CAAC;AAQhE,OAAO,KAAK,EAAa,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/C,OAAO,KAAK,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAGlE,MAAM,WAAW,qBAAqB;IACpC,iCAAiC;IACjC,KAAK,EAAE,OAAO,CAAC;IACf,2EAA2E;IAC3E,UAAU,EAAE,SAAS,kBAAkB,EAAE,CAAC;IAC1C,gDAAgD;IAChD,MAAM,EAAE,SAAS,cAAc,EAAE,CAAC;IAClC,iFAAiF;IACjF,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAAC,CAAC;IACzD,uDAAuD;IACvD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,uDAAuD;IACvD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uEAAuE;IACvE,aAAa,CAAC,EAAE,SAAS,CAAC;IAC1B;;;OAGG;IACH,gBAAgB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,wBAAwB,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IACnD,gDAAgD;IAChD,aAAa,CAAC,EAAE,CACd,GAAG,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,GAAG,IAAI,KACpD,IAAI,CAAC;IACV,uDAAuD;IACvD,gBAAgB,CAAC,EAAE,CACjB,GAAG,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,KAC/C,IAAI,CAAC;IACV,2CAA2C;IAC3C,gBAAgB,CAAC,EAAE,YAAY,CAAC,kBAAkB,CAAC,CAAC;IACpD,iEAAiE;IACjE,iBAAiB,CAAC,EAAE,YAAY,CAAC,mBAAmB,CAAC,CAAC;IACtD,4CAA4C;IAC5C,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,qCAAqC;IACrC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,qCAAqC;IACrC,KAAK,CAAC,EAAE,aAAa,CAAC;CACvB;AA4HD,wBAAgB,gBAAgB,CAAC,EAC/B,KAAK,EACL,UAAU,EACV,MAAM,EACN,WAAW,EACX,KAAK,EACL,WAAW,EACX,aAAa,EACb,gBAAgB,EAChB,wBAAwB,EACxB,aAAa,EACb,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,UAAkB,EAClB,UAAU,EACV,KAAK,GACN,EAAE,qBAAqB,+BA2WvB"}
@@ -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"}