@principal-ai/subsystems-react 0.56.3 → 0.56.4

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 (50) 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/DecorationPanel.d.ts +37 -0
  6. package/dist/subsystem/DecorationPanel.d.ts.map +1 -0
  7. package/dist/subsystem/DecorationPanel.js +147 -0
  8. package/dist/subsystem/DecorationPanel.js.map +1 -0
  9. package/dist/subsystem/DiagnosticToggle.d.ts +7 -1
  10. package/dist/subsystem/DiagnosticToggle.d.ts.map +1 -1
  11. package/dist/subsystem/DiagnosticToggle.js +8 -7
  12. package/dist/subsystem/DiagnosticToggle.js.map +1 -1
  13. package/dist/subsystem/GraphSidebar.d.ts +4 -2
  14. package/dist/subsystem/GraphSidebar.d.ts.map +1 -1
  15. package/dist/subsystem/GraphSidebar.js +3 -1
  16. package/dist/subsystem/GraphSidebar.js.map +1 -1
  17. package/dist/subsystem/SubsystemComponentGraph.d.ts +10 -13
  18. package/dist/subsystem/SubsystemComponentGraph.d.ts.map +1 -1
  19. package/dist/subsystem/SubsystemComponentGraph.js +112 -272
  20. package/dist/subsystem/SubsystemComponentGraph.js.map +1 -1
  21. package/dist/subsystem/TrailStepsNav.d.ts.map +1 -1
  22. package/dist/subsystem/TrailStepsNav.js +6 -4
  23. package/dist/subsystem/TrailStepsNav.js.map +1 -1
  24. package/dist/subsystem/TrailsPanel.d.ts.map +1 -1
  25. package/dist/subsystem/TrailsPanel.js +14 -10
  26. package/dist/subsystem/TrailsPanel.js.map +1 -1
  27. package/dist/subsystem/decoration.d.ts +112 -0
  28. package/dist/subsystem/decoration.d.ts.map +1 -0
  29. package/dist/subsystem/decoration.js +54 -0
  30. package/dist/subsystem/decoration.js.map +1 -0
  31. package/package.json +3 -3
  32. package/src/index.ts +37 -0
  33. package/src/stories/Canvases/C4/C4ToComponentDrill.stories.tsx +38 -71
  34. package/src/stories/Canvases/Subsystem/GraphTitle.stories.tsx +1 -2
  35. package/src/stories/Canvases/Subsystem/StepEmphasis.stories.tsx +528 -0
  36. package/src/stories/Components/DecorationPanel.stories.tsx +160 -0
  37. package/src/subsystem/DecorationPanel.test.tsx +128 -0
  38. package/src/subsystem/DecorationPanel.tsx +334 -0
  39. package/src/subsystem/DiagnosticToggle.tsx +20 -5
  40. package/src/subsystem/GraphSidebar.test.tsx +18 -0
  41. package/src/subsystem/GraphSidebar.tsx +6 -1
  42. package/src/subsystem/SubsystemComponentGraph.sidebar.test.tsx +210 -0
  43. package/src/subsystem/SubsystemComponentGraph.tsx +184 -414
  44. package/src/subsystem/TrailStepsNav.test.tsx +32 -0
  45. package/src/subsystem/TrailStepsNav.tsx +6 -4
  46. package/src/subsystem/TrailsPanel.test.tsx +20 -0
  47. package/src/subsystem/TrailsPanel.tsx +11 -1
  48. package/src/subsystem/decoration.test.ts +72 -0
  49. package/src/subsystem/decoration.ts +151 -0
  50. package/src/subsystem/stepEmphasis.test.ts +110 -0
@@ -12,7 +12,7 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
12
12
  */
13
13
  import { useCallback, useEffect, useRef, useState } from 'react';
14
14
  import { useTheme } from '@principal-ade/industry-theme';
15
- import { Check, ChevronDown, Copy, Focus, GripVertical, Minimize2, Pause, Play, Star } from 'lucide-react';
15
+ import { Check, ChevronDown, Copy, Focus, GripVertical, Minimize2, Pause, Play, Route, Star } from 'lucide-react';
16
16
  import { IndustryMarkdownSlide } from 'themed-markdown';
17
17
  import { reorderTargetIndex, reorderTrails, trailStepGraphEdgeId, } from './model';
18
18
  import { buildStepBrief } from './trailBrief';
@@ -192,7 +192,7 @@ function TrailFlow({ trail, collapsed, active, focusedStepIndex, onToggleCollaps
192
192
  padding: '0 0 0 16px',
193
193
  background: wholeFlowActive || headerHover ? hoverBg : 'transparent',
194
194
  transition: 'background 120ms ease',
195
- }, children: [_jsx("button", { type: "button", onClick: () => {
195
+ }, children: [_jsxs("button", { type: "button", onClick: () => {
196
196
  if (collapsed) {
197
197
  onToggleCollapsed(trail.id);
198
198
  onFocusFlow(trail);
@@ -212,6 +212,7 @@ function TrailFlow({ trail, collapsed, active, focusedStepIndex, onToggleCollaps
212
212
  display: 'flex',
213
213
  alignItems: 'center',
214
214
  minWidth: 0,
215
+ gap: 8,
215
216
  // Vertical padding, not just the row's min-height: a title that
216
217
  // wraps to two+ lines must grow the header past `minHeight`, and
217
218
  // without this the text sits flush against the row's top and bottom
@@ -223,14 +224,17 @@ function TrailFlow({ trail, collapsed, active, focusedStepIndex, onToggleCollaps
223
224
  background: 'transparent',
224
225
  textAlign: 'left',
225
226
  cursor: 'pointer',
226
- }, children: _jsx("span", { style: {
227
- minWidth: 0,
228
- overflowWrap: 'anywhere',
229
- fontSize: theme.fontSizes[1],
230
- fontFamily: theme.fonts.monospace,
231
- fontWeight: 600,
232
- color: theme.colors.text,
233
- }, children: trail.title }) }), emphasisCount > 0 && (_jsxs("span", { title: `${emphasisCount} emphasized step${emphasisCount === 1 ? '' : 's'}`, style: {
227
+ }, children: [_jsx(Route, { size: 14, strokeWidth: 2, "aria-hidden": true, style: {
228
+ flexShrink: 0,
229
+ color: theme.colors.textMuted ?? theme.colors.textSecondary,
230
+ } }), _jsx("span", { style: {
231
+ minWidth: 0,
232
+ overflowWrap: 'anywhere',
233
+ fontSize: theme.fontSizes[1],
234
+ fontFamily: theme.fonts.monospace,
235
+ fontWeight: 600,
236
+ color: theme.colors.text,
237
+ }, children: trail.title })] }), emphasisCount > 0 && (_jsxs("span", { title: `${emphasisCount} emphasized step${emphasisCount === 1 ? '' : 's'}`, style: {
234
238
  display: 'inline-flex',
235
239
  alignItems: 'center',
236
240
  gap: 2,
@@ -1 +1 @@
1
- {"version":3,"file":"TrailsPanel.js","sourceRoot":"","sources":["../../src/subsystem/TrailsPanel.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TrailsPanel.js","sourceRoot":"","sources":["../../src/subsystem/TrailsPanel.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,112 @@
1
+ /**
2
+ * Subsystem decoration — PROTOTYPE contract for the ephemeral, unverified layer.
3
+ *
4
+ * A decoration composes trails from one or more models, carries a markdown
5
+ * description, and may add draft structure. The base model stays verified-only;
6
+ * a decoration is never audited against source.
7
+ *
8
+ * **Each trail ref names its own model.** There is no decoration-level `base`
9
+ * field: a decoration can mix models by construction, and a single-model
10
+ * decoration is just the case where every ref happens to share a `modelId`.
11
+ *
12
+ * A trail can be either:
13
+ * - `base` — a reference to a trail that already exists in a model; or
14
+ * - `draft` — a trail that only exists in the decoration. This is what
15
+ * migration needs when a base trail depends on draft components: the whole
16
+ * trail moves into the decoration rather than dangling in the base.
17
+ *
18
+ * The contract is deliberately host-local and not part of the portable
19
+ * subsystem document. If decorations become shareable, `modelId` needs a
20
+ * portable identity key (the local `sg-...` ids are re-minted).
21
+ */
22
+ import type { SubsystemTrail, SubsystemTrailMechanism } from './model';
23
+ export interface DecorationStepAnchor {
24
+ /** Claim fingerprint of the anchored step (see `stepClaimKey`). */
25
+ stepKey: string;
26
+ /** Optional per-anchor note. The decoration description carries the prose. */
27
+ note?: string;
28
+ }
29
+ interface DecorationTrailRefBase {
30
+ /** Store-local model id. The trail id is only unique within this model. */
31
+ modelId: string;
32
+ /** Optional step-level anchors inside this trail. */
33
+ stepAnchors?: DecorationStepAnchor[];
34
+ }
35
+ /** A trail that already exists in the base model. */
36
+ export interface DecorationBaseTrailRef extends DecorationTrailRefBase {
37
+ kind: 'base';
38
+ trailId: string;
39
+ }
40
+ /** A speculative trail that exists only in the decoration. */
41
+ export interface DecorationDraftTrailRef extends DecorationTrailRefBase {
42
+ kind: 'draft';
43
+ trail: SubsystemTrail;
44
+ }
45
+ export type DecorationTrailRef = DecorationBaseTrailRef | DecorationDraftTrailRef;
46
+ /**
47
+ * Draft structure: a component that does not exist in source yet. No
48
+ * `file`/`symbol` — those are the verification coordinates the base model
49
+ * requires, and a draft component deliberately has none.
50
+ */
51
+ export interface DecorationDraftComponent {
52
+ alias: string;
53
+ name: string;
54
+ /** Intended construct shape (`class`, `function`, …). */
55
+ construct?: string;
56
+ purpose?: string;
57
+ module?: string;
58
+ process?: string;
59
+ }
60
+ /** A speculative edge between base or draft aliases. */
61
+ export interface DecorationDraftEdge {
62
+ from: string;
63
+ to: string;
64
+ mechanism: SubsystemTrailMechanism;
65
+ }
66
+ export interface DecorationDraft {
67
+ components?: DecorationDraftComponent[];
68
+ edges?: DecorationDraftEdge[];
69
+ }
70
+ export interface DecorationProvenance {
71
+ source: 'author' | 'agent';
72
+ author?: string;
73
+ /** ISO timestamp. */
74
+ at: string;
75
+ }
76
+ export interface SubsystemDecoration {
77
+ version: 1;
78
+ id: string;
79
+ title: string;
80
+ /** Markdown, rendered like the model description. */
81
+ description: string;
82
+ /**
83
+ * Ordered trails the decoration cares about. Order is the reading order;
84
+ * `modelId` may vary from ref to ref. A trail is either a base ref or a
85
+ * draft trail that lives only here.
86
+ */
87
+ trails: DecorationTrailRef[];
88
+ /** Optional draft delta. Absent = a pure reading path. */
89
+ draft?: DecorationDraft;
90
+ provenance: DecorationProvenance;
91
+ }
92
+ /** The trail id for either kind of ref. */
93
+ export declare function decorationTrailId(ref: DecorationTrailRef): string;
94
+ /** Stable key for a trail ref across models. `trailId` alone is not enough. */
95
+ export declare function decorationTrailKey(ref: Pick<DecorationTrailRef, 'modelId'> & {
96
+ trailId?: string;
97
+ trail?: SubsystemTrail;
98
+ }): string;
99
+ /**
100
+ * Group trail refs by their owning model, preserving first-seen model order
101
+ * and the authored trail order within each group. The UI uses this to render
102
+ * "which trails it cares about" without a separate model list.
103
+ */
104
+ export declare function groupDecorationTrailsByModel(refs: readonly DecorationTrailRef[]): Array<{
105
+ modelId: string;
106
+ trails: DecorationTrailRef[];
107
+ }>;
108
+ /** The distinct models a decoration touches, in first-seen order. */
109
+ export declare function decorationModelIds(refs: readonly DecorationTrailRef[]): string[];
110
+ export declare function findDecorationTrail(refs: readonly DecorationTrailRef[], modelId: string, trailId: string): DecorationTrailRef | undefined;
111
+ export {};
112
+ //# sourceMappingURL=decoration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decoration.d.ts","sourceRoot":"","sources":["../../src/subsystem/decoration.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,54 @@
1
+ /**
2
+ * Subsystem decoration — PROTOTYPE contract for the ephemeral, unverified layer.
3
+ *
4
+ * A decoration composes trails from one or more models, carries a markdown
5
+ * description, and may add draft structure. The base model stays verified-only;
6
+ * a decoration is never audited against source.
7
+ *
8
+ * **Each trail ref names its own model.** There is no decoration-level `base`
9
+ * field: a decoration can mix models by construction, and a single-model
10
+ * decoration is just the case where every ref happens to share a `modelId`.
11
+ *
12
+ * A trail can be either:
13
+ * - `base` — a reference to a trail that already exists in a model; or
14
+ * - `draft` — a trail that only exists in the decoration. This is what
15
+ * migration needs when a base trail depends on draft components: the whole
16
+ * trail moves into the decoration rather than dangling in the base.
17
+ *
18
+ * The contract is deliberately host-local and not part of the portable
19
+ * subsystem document. If decorations become shareable, `modelId` needs a
20
+ * portable identity key (the local `sg-...` ids are re-minted).
21
+ */
22
+ /** The trail id for either kind of ref. */
23
+ export function decorationTrailId(ref) {
24
+ return ref.kind === 'base' ? ref.trailId : ref.trail.id;
25
+ }
26
+ /** Stable key for a trail ref across models. `trailId` alone is not enough. */
27
+ export function decorationTrailKey(ref) {
28
+ const trailId = ref.trailId ?? ref.trail?.id ?? '';
29
+ return `${ref.modelId}:${trailId}`;
30
+ }
31
+ /**
32
+ * Group trail refs by their owning model, preserving first-seen model order
33
+ * and the authored trail order within each group. The UI uses this to render
34
+ * "which trails it cares about" without a separate model list.
35
+ */
36
+ export function groupDecorationTrailsByModel(refs) {
37
+ const groups = new Map();
38
+ for (const ref of refs) {
39
+ const existing = groups.get(ref.modelId);
40
+ if (existing)
41
+ existing.push(ref);
42
+ else
43
+ groups.set(ref.modelId, [ref]);
44
+ }
45
+ return [...groups].map(([modelId, trails]) => ({ modelId, trails }));
46
+ }
47
+ /** The distinct models a decoration touches, in first-seen order. */
48
+ export function decorationModelIds(refs) {
49
+ return [...new Set(refs.map((ref) => ref.modelId))];
50
+ }
51
+ export function findDecorationTrail(refs, modelId, trailId) {
52
+ return refs.find((ref) => ref.modelId === modelId && decorationTrailId(ref) === trailId);
53
+ }
54
+ //# sourceMappingURL=decoration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decoration.js","sourceRoot":"","sources":["../../src/subsystem/decoration.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAqFH,2CAA2C;AAC3C,MAAM,UAAU,iBAAiB,CAAC,GAAuB;IACvD,OAAO,GAAG,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;AAC1D,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,kBAAkB,CAChC,GAAuF;IAEvF,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC;IACnD,OAAO,GAAG,GAAG,CAAC,OAAO,IAAI,OAAO,EAAE,CAAC;AACrC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,4BAA4B,CAC1C,IAAmC;IAEnC,MAAM,MAAM,GAAG,IAAI,GAAG,EAAgC,CAAC;IACvD,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE;QACtB,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACzC,IAAI,QAAQ;YAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;;YAC5B,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;KACrC;IACD,OAAO,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;AACvE,CAAC;AAED,qEAAqE;AACrE,MAAM,UAAU,kBAAkB,CAChC,IAAmC;IAEnC,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AACtD,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,IAAmC,EACnC,OAAe,EACf,OAAe;IAEf,OAAO,IAAI,CAAC,IAAI,CACd,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,KAAK,OAAO,IAAI,iBAAiB,CAAC,GAAG,CAAC,KAAK,OAAO,CACvE,CAAC;AACJ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@principal-ai/subsystems-react",
3
- "version": "0.56.3",
3
+ "version": "0.56.4",
4
4
  "description": "React UI for Subsystem Models — graph, Pierre code views, and session-event feeds",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -38,7 +38,7 @@
38
38
  "peerDependencies": {
39
39
  "@pierre/diffs": ">=1.1.20",
40
40
  "@principal-ade/industry-theme": "^0.1.7",
41
- "@principal-ai/subsystems-core": "^0.50.0",
41
+ "@principal-ai/subsystems-core": "^0.51.0",
42
42
  "react": "^18.0.0 || ^19.0.0",
43
43
  "react-dom": "^18.0.0 || ^19.0.0"
44
44
  },
@@ -46,7 +46,7 @@
46
46
  "@pierre/diffs": "1.3.6",
47
47
  "@principal-ade/industry-theme": "0.1.7",
48
48
  "@principal-ai/agent-monitoring": "^0.3.38",
49
- "@principal-ai/subsystems-core": "^0.50.0",
49
+ "@principal-ai/subsystems-core": "^0.51.0",
50
50
  "@storybook/addon-docs": "10.1.2",
51
51
  "@storybook/addon-links": "10.1.2",
52
52
  "@storybook/addon-onboarding": "10.1.2",
package/src/index.ts CHANGED
@@ -227,6 +227,43 @@ export type {
227
227
  TrailStackView,
228
228
  } from './subsystem/trailStack';
229
229
  export { buildStepBrief } from './subsystem/trailBrief';
230
+ export {
231
+ buildStepEmphasisMap,
232
+ emphasisForTrail,
233
+ emphasisKey,
234
+ findStepEmphasis,
235
+ orphanedEmphasis,
236
+ stepClaimKey,
237
+ } from './subsystem/stepEmphasis';
238
+ export type {
239
+ StepEmphasisDocument,
240
+ StepEmphasisMap,
241
+ StepEmphasisProvenance,
242
+ StepEmphasisRecord,
243
+ } from './subsystem/stepEmphasis';
244
+ export {
245
+ decorationModelIds,
246
+ decorationTrailId,
247
+ decorationTrailKey,
248
+ findDecorationTrail,
249
+ groupDecorationTrailsByModel,
250
+ } from './subsystem/decoration';
251
+ export type {
252
+ DecorationBaseTrailRef,
253
+ DecorationDraft,
254
+ DecorationDraftComponent,
255
+ DecorationDraftEdge,
256
+ DecorationDraftTrailRef,
257
+ DecorationProvenance,
258
+ DecorationStepAnchor,
259
+ DecorationTrailRef,
260
+ SubsystemDecoration,
261
+ } from './subsystem/decoration';
262
+ export { DecorationPanel } from './subsystem/DecorationPanel';
263
+ export type {
264
+ DecorationPanelProps,
265
+ DecorationPanelTrailMeta,
266
+ } from './subsystem/DecorationPanel';
230
267
  export { GraphLayoutCover } from './subsystem/GraphLayoutCover';
231
268
  export type { GraphLayoutCoverProps } from './subsystem/GraphLayoutCover';
232
269
  export {
@@ -2,7 +2,6 @@ import { useCallback, useMemo, useRef, useState } from 'react';
2
2
  import '@xyflow/react/dist/style.css';
3
3
  import type { Meta, StoryObj } from '@storybook/react';
4
4
  import { ThemeProvider, defaultEditorTheme } from '@principal-ade/industry-theme';
5
- import { FileText, LayoutDashboard } from 'lucide-react';
6
5
  import { IndustryMarkdownSlide } from 'themed-markdown';
7
6
  import { C4Graph } from '../../../subsystem/C4Graph';
8
7
  import { GraphWithSidebar } from '../../../subsystem/GraphWithSidebar';
@@ -101,9 +100,6 @@ function Demo() {
101
100
  trailId: string;
102
101
  stepIndex: number;
103
102
  } | null>(null);
104
- // The header description, collapsible like the component graph's sidebar.
105
- const [descriptionVisible, setDescriptionVisible] = useState(true);
106
-
107
103
  /**
108
104
  * EXPERIMENT: when a trail is focused, remove the elements it does not touch
109
105
  * from the model outright, so ELK lays the diagram out to the cast alone
@@ -346,6 +342,31 @@ function Demo() {
346
342
  fontFamily: 'monospace',
347
343
  }}
348
344
  >
345
+ <header
346
+ style={{
347
+ flexShrink: 0,
348
+ display: 'flex',
349
+ alignItems: 'center',
350
+ gap: 12,
351
+ padding: '12px 16px',
352
+ background: defaultEditorTheme.colors.background,
353
+ borderBottom: `1px solid ${defaultEditorTheme.colors.border}`,
354
+ }}
355
+ >
356
+ <h2
357
+ style={{
358
+ margin: 0,
359
+ minWidth: 0,
360
+ fontSize: defaultEditorTheme.fontSizes[2],
361
+ fontWeight: 600,
362
+ color: defaultEditorTheme.colors.text,
363
+ fontFamily: defaultEditorTheme.fonts.monospace,
364
+ overflowWrap: 'anywhere',
365
+ }}
366
+ >
367
+ {DRILLDOWN_DOC.title}
368
+ </h2>
369
+ </header>
349
370
  {/* C4 — the summary and, on focus, the construct implementation. */}
350
371
  <div style={{ flex: 1, minHeight: 0, position: 'relative' }}>
351
372
  <GraphWithSidebar
@@ -353,76 +374,22 @@ function Demo() {
353
374
  defaultWidth={320}
354
375
  minWidth={240}
355
376
  maxWidth={480}
377
+ headerMaxHeight="50%"
356
378
  header={
357
379
  <>
358
- <div style={{ display: 'flex', alignItems: 'flex-start', gap: 8 }}>
359
- {/* Icon + title centred as a group, so the icon stays vertically
360
- centred when the title wraps. */}
361
- <div style={{ flex: 1, minWidth: 0, display: 'flex', alignItems: 'center', gap: 8 }}>
362
- <LayoutDashboard
363
- size={15}
364
- strokeWidth={2}
365
- aria-hidden
366
- style={{
367
- flexShrink: 0,
368
- color:
369
- defaultEditorTheme.colors.textMuted ??
370
- defaultEditorTheme.colors.textSecondary,
371
- }}
372
- />
373
- <h2
374
- style={{
375
- margin: 0,
376
- flex: 1,
377
- minWidth: 0,
378
- fontSize: defaultEditorTheme.fontSizes[2],
379
- fontWeight: 600,
380
- color: defaultEditorTheme.colors.primary,
381
- fontFamily: defaultEditorTheme.fonts.monospace,
382
- }}
383
- >
384
- {DRILLDOWN_DOC.title}
385
- </h2>
386
- </div>
387
- <button
388
- type="button"
389
- aria-expanded={descriptionVisible}
390
- aria-label={descriptionVisible ? 'Hide description' : 'Show description'}
391
- title={descriptionVisible ? 'Hide description' : 'Show description'}
392
- onClick={() => setDescriptionVisible((v) => !v)}
393
- style={{
394
- display: 'inline-flex',
395
- alignItems: 'center',
396
- justifyContent: 'center',
397
- flexShrink: 0,
398
- width: 22,
399
- height: 22,
400
- padding: 0,
401
- border: 'none',
402
- borderRadius: 4,
403
- background: descriptionVisible ? '#333' : 'transparent',
404
- color: descriptionVisible ? '#ddd' : '#999',
405
- cursor: 'pointer',
406
- }}
407
- >
408
- <FileText size={14} />
409
- </button>
380
+ <div style={{ fontSize: 12, lineHeight: 1.5 }}>
381
+ <IndustryMarkdownSlide
382
+ content={MODEL_DESCRIPTION}
383
+ slideIdPrefix="c4-desc"
384
+ slideIndex={0}
385
+ isVisible={true}
386
+ theme={defaultEditorTheme}
387
+ disableScroll={true}
388
+ disableBasePadding
389
+ enableKeyboardScrolling={false}
390
+ autoFocusOnVisible={false}
391
+ />
410
392
  </div>
411
- {descriptionVisible && (
412
- <div style={{ fontSize: 12, lineHeight: 1.5 }}>
413
- <IndustryMarkdownSlide
414
- content={MODEL_DESCRIPTION}
415
- slideIdPrefix="c4-desc"
416
- slideIndex={0}
417
- isVisible={true}
418
- theme={defaultEditorTheme}
419
- disableScroll={true}
420
- disableBasePadding
421
- enableKeyboardScrolling={false}
422
- autoFocusOnVisible={false}
423
- />
424
- </div>
425
- )}
426
393
  </>
427
394
  }
428
395
  sidebarBody={
@@ -54,7 +54,7 @@ export const GraphOnlyWithTitle: Story = {
54
54
  render: () => <GraphOnly />,
55
55
  };
56
56
 
57
- /** graphTitle also works alongside the full sidebar (chip + sidebar title). */
57
+ /** Full-width name header above the graph and its description/trails sidebar. */
58
58
  export const WithSidebar: Story = {
59
59
  render: () => (
60
60
  <div style={{ width: '100%', height: '100vh' }}>
@@ -63,7 +63,6 @@ export const WithSidebar: Story = {
63
63
  trails={graphOnlyEdges.trails}
64
64
  title="Checkout"
65
65
  description="A small e-commerce checkout subsystem: an HTTP entry point that writes to retained cart state and calls out to Stripe."
66
- graphTitle="Checkout"
67
66
  />
68
67
  </div>
69
68
  ),