@principal-ai/principal-view-react 0.16.33 → 0.16.35

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 (36) hide show
  1. package/dist/index.d.ts +1 -1
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +1 -1
  4. package/dist/index.js.map +1 -1
  5. package/dist/subsystem/ComponentDetail.d.ts +12 -0
  6. package/dist/subsystem/ComponentDetail.d.ts.map +1 -0
  7. package/dist/subsystem/ComponentDetail.js +95 -0
  8. package/dist/subsystem/ComponentDetail.js.map +1 -0
  9. package/dist/subsystem/EdgeLegendModal.d.ts +18 -0
  10. package/dist/subsystem/EdgeLegendModal.d.ts.map +1 -0
  11. package/dist/subsystem/EdgeLegendModal.js +98 -0
  12. package/dist/subsystem/EdgeLegendModal.js.map +1 -0
  13. package/dist/subsystem/FileDrawer.d.ts +16 -0
  14. package/dist/subsystem/FileDrawer.d.ts.map +1 -0
  15. package/dist/subsystem/FileDrawer.js +72 -0
  16. package/dist/subsystem/FileDrawer.js.map +1 -0
  17. package/dist/subsystem/SubsystemComponentGraph.d.ts.map +1 -1
  18. package/dist/subsystem/SubsystemComponentGraph.js +34 -182
  19. package/dist/subsystem/SubsystemComponentGraph.js.map +1 -1
  20. package/dist/subsystem/SubsystemFileTree.d.ts +10 -15
  21. package/dist/subsystem/SubsystemFileTree.d.ts.map +1 -1
  22. package/dist/subsystem/SubsystemFileTree.js +96 -93
  23. package/dist/subsystem/SubsystemFileTree.js.map +1 -1
  24. package/dist/subsystem/nodes.d.ts +4 -2
  25. package/dist/subsystem/nodes.d.ts.map +1 -1
  26. package/dist/subsystem/nodes.js +13 -26
  27. package/dist/subsystem/nodes.js.map +1 -1
  28. package/package.json +2 -1
  29. package/src/index.ts +1 -1
  30. package/src/stories/SubsystemComponentGraph.stories.tsx +8 -0
  31. package/src/subsystem/ComponentDetail.tsx +187 -0
  32. package/src/subsystem/EdgeLegendModal.tsx +146 -0
  33. package/src/subsystem/FileDrawer.tsx +105 -0
  34. package/src/subsystem/SubsystemComponentGraph.tsx +49 -316
  35. package/src/subsystem/SubsystemFileTree.tsx +102 -141
  36. package/src/subsystem/nodes.tsx +17 -35
@@ -1,4 +1,4 @@
1
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  /**
3
3
  * SubsystemComponentGraph — a clickable, read-only React Flow component graph
4
4
  * for a subsystem snapshot.
@@ -15,30 +15,15 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
15
15
  import { useCallback, useEffect, useMemo, useRef, useState } from 'react';
16
16
  import { ReactFlow, ReactFlowProvider, Background, BackgroundVariant, Controls, useReactFlow, useViewport, applyNodeChanges, } from '@xyflow/react';
17
17
  import { useTheme } from '@principal-ade/industry-theme';
18
- import { X } from 'lucide-react';
18
+ import { Map as MapIcon } from 'lucide-react';
19
19
  import { IndustryMarkdownSlide } from 'themed-markdown';
20
- import { buildSubsystemGraph, KIND_COLOR, MECHANISM_COLOR, deriveNameFromSymbol, } from './model';
20
+ import { buildSubsystemGraph, MECHANISM_COLOR, } from './model';
21
21
  import { SubsystemComponentNode, SubsystemEdge, SUBSYSTEM_CALLBACKS } from './nodes';
22
22
  import { SubsystemFileTree } from './SubsystemFileTree';
23
23
  import { GraphLayoutCover } from './GraphLayoutCover';
24
- const MECHANISM_DESCRIPTIONS = [
25
- ['imports', 'import statement (code-level dependency)', true],
26
- ['imports_from', 'imported by (reverse dependency)', true],
27
- ['re_exports', 're-exports symbols from', true],
28
- ['defines', 'defines / declares symbol', true],
29
- ['calls', 'function/method call (call graph edge)', true],
30
- ['extends', 'class inheritance', true],
31
- ['inherits', 'class inheritance', true],
32
- ['implements', 'implements interface / protocol', true],
33
- ['mixes_in', 'applies mixin', true],
34
- ['uses', 'general dependency (import, call, or reference)', false],
35
- ['method', 'structural: has method / member', true],
36
- ['references', 'type / symbol reference (not a call)', true],
37
- ['contains', 'structural: contains / encapsulates', true],
38
- ['feeds', 'data flow: output feeds into input', false],
39
- ['produces', 'data flow: produces / outputs', false],
40
- ['registers-into', 'registration pattern', false],
41
- ];
24
+ import { ComponentDetail } from './ComponentDetail';
25
+ import { FileDrawer } from './FileDrawer';
26
+ import { EdgeLegendModal, MECHANISM_DESCRIPTIONS } from './EdgeLegendModal';
42
27
  const nodeTypes = {
43
28
  'subsystem-component': SubsystemComponentNode,
44
29
  };
@@ -57,6 +42,10 @@ function Inner({ components, edges, onSelect, onEdgeSelect, measured: _measured,
57
42
  const [selected, setSelected] = useState(null);
58
43
  // File currently shown in the bottom drawer (repo-root-relative path).
59
44
  const [openFile, setOpenFile] = useState(null);
45
+ // Edge-legend modal visibility (opened from the canvas's top-left button).
46
+ const [legendOpen, setLegendOpen] = useState(false);
47
+ // Component the pointer is over (null on leave) → transient tree highlight.
48
+ const [hoveredComponentId, setHoveredComponentId] = useState(null);
60
49
  // Ref mirror of `selected` so the SUBSYSTEM_CALLBACKS click handler (a
61
50
  // closure over the effect deps) can toggle without a stale value.
62
51
  const selectedRef = useRef(null);
@@ -145,10 +134,12 @@ function Inner({ components, edges, onSelect, onEdgeSelect, measured: _measured,
145
134
  };
146
135
  SUBSYSTEM_CALLBACKS.onEdgeSelect = selectEdge;
147
136
  SUBSYSTEM_CALLBACKS.maxNodeWidth = maxNodeWidth;
137
+ SUBSYSTEM_CALLBACKS.onHover = setHoveredComponentId;
148
138
  return () => {
149
139
  SUBSYSTEM_CALLBACKS.onSelect = undefined;
150
140
  SUBSYSTEM_CALLBACKS.onEdgeSelect = undefined;
151
141
  SUBSYSTEM_CALLBACKS.maxNodeWidth = undefined;
142
+ SUBSYSTEM_CALLBACKS.onHover = undefined;
152
143
  };
153
144
  }, [components, onSelect, maxNodeWidth, selectEdge]);
154
145
  const { nodes, edges: convertedEdges } = built;
@@ -285,9 +276,14 @@ function Inner({ components, edges, onSelect, onEdgeSelect, measured: _measured,
285
276
  const usedMechanisms = useMemo(() => {
286
277
  return new Set(edgeLabels.map((l) => l.mechanism));
287
278
  }, [edgeLabels]);
288
- const muted = theme.colors.textMuted ?? theme.colors.textSecondary;
289
279
  // Unique source files across components → sidebar file tree.
290
280
  const files = useMemo(() => Array.from(new Set(components.map((c) => c.file).filter(Boolean))).sort(), [components]);
281
+ // The hovered node's file (null when not hovering / file-less component).
282
+ const hoveredFile = useMemo(() => {
283
+ if (!hoveredComponentId)
284
+ return null;
285
+ return components.find((c) => c.id === hoveredComponentId)?.file ?? null;
286
+ }, [components, hoveredComponentId]);
291
287
  // Drawer content renderer: prefer the path-keyed viewer; fall back to the
292
288
  // legacy component-keyed one via a file → first-component lookup.
293
289
  const fileViewer = useMemo(() => {
@@ -302,7 +298,7 @@ function Inner({ components, edges, onSelect, onEdgeSelect, measured: _measured,
302
298
  }
303
299
  return undefined;
304
300
  }, [renderFileViewer, renderFileView, components]);
305
- return (_jsxs("div", { style: { width: '100%', height: '100%', display: 'flex', flexDirection: 'row' }, children: [(title || description || usedMechanisms.size > 0 || sidebarExtra || sidebarAfterDescription || files.length > 0) && (_jsxs("div", { style: {
301
+ return (_jsxs("div", { style: { width: '100%', height: '100%', display: 'flex', flexDirection: 'row' }, children: [(title || description || sidebarExtra || sidebarAfterDescription || files.length > 0) && (_jsxs("div", { style: {
306
302
  width: 340,
307
303
  minWidth: 340,
308
304
  borderRight: `1px solid ${theme.colors.border}`,
@@ -324,14 +320,7 @@ function Inner({ components, edges, onSelect, onEdgeSelect, measured: _measured,
324
320
  fontWeight: 600,
325
321
  color: theme.colors.text,
326
322
  fontFamily: theme.fonts.heading,
327
- }, children: title })), description && (_jsx("div", { style: { fontSize: theme.fontSizes[0], lineHeight: 1.5 }, children: _jsx(IndustryMarkdownSlide, { content: description, slideIdPrefix: "subsystem-desc", slideIndex: 0, isVisible: true, theme: theme, disableScroll: true, fontSizeScale: 0.9, enableKeyboardScrolling: false, autoFocusOnVisible: false }) })), sidebarAfterDescription, usedMechanisms.size > 0 && (_jsxs("div", { style: { display: 'flex', flexDirection: 'column', gap: 4 }, children: [_jsx("span", { style: { fontSize: theme.fontSizes[0] * 0.8, fontFamily: theme.fonts.monospace, textTransform: 'uppercase', color: muted, fontWeight: 600 }, children: "Edge Legend" }), MECHANISM_DESCRIPTIONS.filter(([m]) => usedMechanisms.has(m)).map(([mechanism, desc, verifiable]) => (_jsxs("div", { style: { display: 'flex', alignItems: 'center', gap: 6, fontSize: theme.fontSizes[0] }, children: [_jsx("span", { style: {
328
- width: 8,
329
- height: 8,
330
- borderRadius: verifiable ? '50%' : '30% 70% 70% 30% / 30% 30% 70% 70%',
331
- background: MECHANISM_COLOR[mechanism],
332
- border: verifiable ? 'none' : `1px dashed ${MECHANISM_COLOR[mechanism]}`,
333
- flexShrink: 0,
334
- } }), _jsx("span", { style: { fontFamily: theme.fonts.monospace, color: MECHANISM_COLOR[mechanism], fontWeight: 500 }, children: mechanism }), _jsx("span", { style: { color: muted }, children: desc })] }, mechanism)))] }))] }), files.length > 0 && (_jsx(SubsystemFileTree, { files: files, selectedFile: selected?.file ?? openFile, onSelectFile: onTreeSelectFile }))] })), _jsxs("div", { style: { flex: 1, position: 'relative', display: 'flex', flexDirection: 'column', minHeight: 0 }, children: [showEdgeLabels !== false && (_jsx("div", { style: {
323
+ }, children: title })), description && (_jsx("div", { style: { fontSize: theme.fontSizes[0], lineHeight: 1.5 }, children: _jsx(IndustryMarkdownSlide, { content: description, slideIdPrefix: "subsystem-desc", slideIndex: 0, isVisible: true, theme: theme, disableScroll: true, fontSizeScale: 0.9, enableKeyboardScrolling: false, autoFocusOnVisible: false }) })), sidebarAfterDescription] }), files.length > 0 && (_jsx(SubsystemFileTree, { files: files, selectedFile: selected?.file ?? openFile, hoveredFile: hoveredFile, onSelectFile: onTreeSelectFile }))] })), _jsxs("div", { style: { flex: 1, position: 'relative', display: 'flex', flexDirection: 'column', minHeight: 0 }, children: [showEdgeLabels !== false && (_jsx("div", { style: {
335
324
  position: 'absolute',
336
325
  inset: 0,
337
326
  overflow: 'hidden',
@@ -369,161 +358,24 @@ function Inner({ components, edges, onSelect, onEdgeSelect, measured: _measured,
369
358
  flex: 1,
370
359
  minHeight: 0,
371
360
  background: theme.colors.background,
372
- }, children: [_jsx(Background, { variant: BackgroundVariant.Dots, gap: 16, size: 1 }), _jsx(Controls, { showZoom: true, showFitView: true, showInteractive: true })] }, `${baseNodesKey}-${baseEdgesKey}`), selected && _jsx(ComponentDetail, { component: selected }), _jsx(FileDrawer, { file: openFile, onClose: () => setOpenFile(null), children: fileViewer && openFile ? fileViewer(openFile) : null }), _jsx(GraphLayoutCover, { revealed: layoutReady }), canvasOverlay] })] }));
373
- }
374
- /** Detail panel for the selected component — the verifiable identity + sources
375
- * moved off the canvas so nodes stay minimal. File content lives in the
376
- * bottom FileDrawer, not here. */
377
- function ComponentDetail({ component }) {
378
- const { theme } = useTheme();
379
- const muted = theme.colors.textMuted ?? theme.colors.textSecondary;
380
- const color = KIND_COLOR[component.kind] ?? '#888';
381
- const displayName = deriveNameFromSymbol(component.symbol, component.kind, component.name, component.file);
382
- const rows = [];
383
- if (component.symbol)
384
- rows.push(['Symbol', component.symbol]);
385
- if (component.file)
386
- rows.push(['File', component.file]);
387
- if (component.purpose)
388
- rows.push(['Purpose', component.purpose]);
389
- rows.push(['PURL', component.purl]);
390
- return (_jsxs("div", { style: {
391
- borderTop: `1px solid ${theme.colors.border}`,
392
- background: theme.colors.background,
393
- padding: '10px 12px',
394
- fontFamily: theme.fonts.body,
395
- }, children: [_jsxs("div", { style: {
396
- display: 'flex',
397
- alignItems: 'center',
398
- gap: 8,
399
- fontSize: theme.fontSizes[1],
400
- fontWeight: 600,
401
- marginBottom: 6,
402
- }, children: [_jsx("span", { style: { color }, children: displayName }), _jsx("span", { style: {
403
- fontSize: theme.fontSizes[0] * 0.8,
404
- fontFamily: theme.fonts.monospace,
405
- textTransform: 'uppercase',
406
- color,
407
- }, children: component.kind })] }), rows.map(([k, v]) => (_jsxs("div", { style: { display: 'flex', gap: 8, fontSize: theme.fontSizes[0], lineHeight: 1.5 }, children: [_jsx("span", { style: {
408
- width: 64,
409
- flexShrink: 0,
410
- color: muted,
411
- fontFamily: theme.fonts.monospace,
412
- textTransform: 'uppercase',
413
- fontSize: theme.fontSizes[0] * 0.8,
414
- }, children: k }), _jsx("span", { style: { color: theme.colors.text, fontFamily: theme.fonts.monospace }, children: v })] }, k))), component.detail && _jsx(GraphifyDetailSections, { detail: component.detail })] }));
415
- }
416
- /** Bottom panel that slides up from the bottom of the graph area to show a
417
- * file's contents — opened by node clicks and sidebar file-tree clicks
418
- * alike. Sits in normal flow (canvas shrinks while open, nothing covered)
419
- * and animates via height; stays mounted so open/close animates. */
420
- function FileDrawer({ file, onClose, children, }) {
421
- const { theme } = useTheme();
422
- const muted = theme.colors.textMuted ?? theme.colors.textSecondary;
423
- const open = file !== null;
424
- useEffect(() => {
425
- if (!open)
426
- return;
427
- const onKey = (e) => {
428
- if (e.key === 'Escape')
429
- onClose();
430
- };
431
- window.addEventListener('keydown', onKey);
432
- return () => window.removeEventListener('keydown', onKey);
433
- }, [open, onClose]);
434
- return (_jsxs("div", { style: {
435
- position: 'relative',
436
- // Above the absolute edge-label overlay (zIndex 5), which spans the
437
- // whole graph-area container including this panel's slice.
438
- zIndex: 6,
439
- flexShrink: 0,
440
- height: open ? '45%' : 0,
441
- minHeight: 0,
442
- overflow: 'hidden',
443
- display: 'flex',
444
- flexDirection: 'column',
445
- background: theme.colors.background,
446
- borderTop: open ? `1px solid ${theme.colors.border}` : 'none',
447
- transition: 'height 200ms ease',
448
- }, children: [_jsxs("div", { style: {
449
- display: 'flex',
450
- alignItems: 'center',
451
- gap: 8,
452
- padding: '6px 10px',
453
- borderBottom: `1px solid ${theme.colors.border}`,
454
- flexShrink: 0,
455
- }, children: [_jsx("span", { title: file ?? undefined, style: {
456
- flex: 1,
457
- minWidth: 0,
458
- overflow: 'hidden',
459
- textOverflow: 'ellipsis',
460
- whiteSpace: 'nowrap',
461
- fontFamily: theme.fonts.monospace,
462
- fontSize: theme.fontSizes[0],
463
- color: muted,
464
- }, children: file }), _jsx("button", { type: "button", onClick: onClose, "aria-label": "Close file", style: {
361
+ }, children: [_jsx(Background, { variant: BackgroundVariant.Dots, gap: 16, size: 1 }), _jsx(Controls, { showZoom: true, showFitView: true, showInteractive: true })] }, `${baseNodesKey}-${baseEdgesKey}`), usedMechanisms.size > 0 && (_jsxs("button", { type: "button", onClick: () => setLegendOpen(true), style: {
362
+ position: 'absolute',
363
+ top: 10,
364
+ left: 10,
365
+ zIndex: 7,
465
366
  display: 'inline-flex',
466
367
  alignItems: 'center',
467
- justifyContent: 'center',
468
- width: 22,
469
- height: 22,
470
- padding: 0,
471
- border: 'none',
472
- borderRadius: 4,
473
- background: 'transparent',
368
+ gap: 6,
369
+ padding: '4px 10px',
370
+ fontSize: theme.fontSizes[0],
371
+ fontFamily: theme.fonts.body,
474
372
  color: theme.colors.text,
373
+ background: theme.colors.backgroundSecondary ?? theme.colors.background,
374
+ border: `1px solid ${theme.colors.border}`,
375
+ borderRadius: 6,
475
376
  cursor: 'pointer',
476
- }, children: _jsx(X, { size: 14 }) })] }), _jsx("div", { style: { flex: 1, minHeight: 0, overflow: 'auto' }, children: children })] }));
477
- }
478
- /** Renders the graphify drill-down payload for a component. */
479
- function GraphifyDetailSections({ detail }) {
480
- const { theme } = useTheme();
481
- const muted = theme.colors.textMuted ?? theme.colors.textSecondary;
482
- const label = (k) => (_jsx("span", { style: {
483
- width: 64,
484
- flexShrink: 0,
485
- color: muted,
486
- fontFamily: theme.fonts.monospace,
487
- textTransform: 'uppercase',
488
- fontSize: theme.fontSizes[0] * 0.8,
489
- }, children: k }));
490
- const chip = (name, meta, key) => (_jsxs("span", { style: {
491
- fontFamily: theme.fonts.monospace,
492
- fontSize: theme.fontSizes[0],
493
- color: theme.colors.text,
494
- border: `1px solid ${theme.colors.border}`,
495
- borderRadius: 4,
496
- padding: '1px 6px',
497
- marginRight: 6,
498
- marginBottom: 4,
499
- display: 'inline-block',
500
- }, children: [name, meta ? _jsxs("span", { style: { color: muted }, children: [" ", meta] }) : ''] }, key));
501
- const row = (k, children) => (_jsxs("div", { style: { display: 'flex', gap: 8, fontSize: theme.fontSizes[0], lineHeight: 1.5, marginBottom: 4 }, children: [label(k), _jsx("div", { style: { minWidth: 0 }, children: children })] }));
502
- switch (detail.kind) {
503
- case 'class':
504
- return (_jsxs(_Fragment, { children: [detail.methods.length > 0 &&
505
- row('methods', detail.methods.map((m, i) => chip(m.name, m.returnType, i))), detail.properties.length > 0 &&
506
- row('props', detail.properties.map((p, i) => chip(p.name, p.type, i))), detail.extends.length > 0 && row('extends', detail.extends.map((e, i) => chip(e, undefined, i))), detail.implements.length > 0 && row('impl', detail.implements.map((e, i) => chip(e, undefined, i))), detail.instantiations.length > 0 &&
507
- row('insts', detail.instantiations.map((i, idx) => chip(i.name, undefined, idx))), detail.references.length > 0 &&
508
- row('refs', detail.references.map((r, idx) => chip(r.name, undefined, idx)))] }));
509
- case 'function':
510
- return (_jsxs(_Fragment, { children: [detail.parameters.length > 0 &&
511
- row('params', detail.parameters.map((p, i) => chip(p.type, undefined, i))), detail.returnType && row('return', _jsx("span", { children: detail.returnType })), detail.callers.length > 0 &&
512
- row('callers', detail.callers.map((c, i) => chip(c.name, undefined, i))), detail.callees.length > 0 &&
513
- row('callees', detail.callees.map((c, i) => chip(c.name, undefined, i)))] }));
514
- case 'type':
515
- return (_jsxs(_Fragment, { children: [detail.properties.length > 0 &&
516
- row('props', detail.properties.map((p, i) => chip(p.name, p.type, i))), detail.usedBy.length > 0 &&
517
- row('used by', detail.usedBy.map((u, i) => chip(u.name, undefined, i))), detail.implementors.length > 0 &&
518
- row('impl', detail.implementors.map((e, i) => chip(e, undefined, i)))] }));
519
- case 'module':
520
- return (_jsxs(_Fragment, { children: [detail.exports.length > 0 &&
521
- row('exports', detail.exports.map((e, i) => chip(e, undefined, i))), detail.imports.length > 0 &&
522
- row('imports', detail.imports.map((i, idx) => chip(i.name, undefined, idx))), detail.symbols.length > 0 &&
523
- row('symbols', detail.symbols.map((s, i) => chip(s, undefined, i)))] }));
524
- case 'external':
525
- return row('source', _jsx("span", { children: detail.label }));
526
- }
377
+ boxShadow: '0 1px 4px rgba(0,0,0,0.25)',
378
+ }, children: [_jsx(MapIcon, { size: 13 }), "Legend"] })), _jsx(EdgeLegendModal, { open: legendOpen, mechanisms: usedMechanisms, onClose: () => setLegendOpen(false) }), selected && _jsx(ComponentDetail, { component: selected }), _jsx(FileDrawer, { file: openFile, onClose: () => setOpenFile(null), children: fileViewer && openFile ? fileViewer(openFile) : null }), _jsx(GraphLayoutCover, { revealed: layoutReady }), canvasOverlay] })] }));
527
379
  }
528
380
  export function SubsystemComponentGraph(props) {
529
381
  const wrapRef = useRef(null);
@@ -1 +1 @@
1
- {"version":3,"file":"SubsystemComponentGraph.js","sourceRoot":"","sources":["../../src/subsystem/SubsystemComponentGraph.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SubsystemComponentGraph.js","sourceRoot":"","sources":["../../src/subsystem/SubsystemComponentGraph.tsx"],"names":[],"mappings":"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"}
@@ -1,25 +1,20 @@
1
1
  /**
2
- * SubsystemFileTree — read-only folder/file tree derived from the unique
3
- * source files of a subsystem's components. Rendered in the bottom half of
4
- * the SubsystemComponentGraph sidebar as a navigation aid.
2
+ * SubsystemFileTree — sidebar file tree for a subsystem's components, built
3
+ * on @pierre/trees following the panel repo's SessionFileTreePanel pattern:
4
+ * init-once options + latest-value refs, and a suppress flag around
5
+ * programmatic selection so `onSelectionChange` echoes don't re-open files.
5
6
  */
6
- interface TreeEntry {
7
- name: string;
8
- path: string;
9
- isFile: boolean;
10
- children: Map<string, TreeEntry>;
11
- }
12
- /** Build a nested tree from repo-root-relative file paths (deduped). */
13
- export declare function buildFileTree(files: string[]): TreeEntry;
14
7
  export interface SubsystemFileTreeProps {
15
8
  /** Repo-root-relative file paths; duplicates are deduped. */
16
9
  files: string[];
17
- /** File to highlight (e.g. the selected component's file). */
10
+ /** File to select/highlight (the drawer-open file). */
18
11
  selectedFile?: string | null;
19
- /** Called when a file row is clicked. */
12
+ /** File to transiently highlight while its node is hovered on the graph;
13
+ * falls back to `selectedFile` when null. */
14
+ hoveredFile?: string | null;
15
+ /** Called when a file row is clicked; upstream toggles the drawer. */
20
16
  onSelectFile?: (file: string) => void;
21
17
  }
22
18
  /** Fills its parent height by design — pin it with a sized flex container. */
23
- export declare function SubsystemFileTree({ files, selectedFile, onSelectFile }: SubsystemFileTreeProps): import("react/jsx-runtime").JSX.Element;
24
- export {};
19
+ export declare function SubsystemFileTree({ files, selectedFile, hoveredFile, onSelectFile }: SubsystemFileTreeProps): import("react/jsx-runtime").JSX.Element;
25
20
  //# sourceMappingURL=SubsystemFileTree.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SubsystemFileTree.d.ts","sourceRoot":"","sources":["../../src/subsystem/SubsystemFileTree.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAOH,UAAU,SAAS;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;CAClC;AAED,wEAAwE;AACxE,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,SAAS,CAiBxD;AASD,MAAM,WAAW,sBAAsB;IACrC,6DAA6D;IAC7D,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,8DAA8D;IAC9D,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,yCAAyC;IACzC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACvC;AAED,8EAA8E;AAC9E,wBAAgB,iBAAiB,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,EAAE,sBAAsB,2CA6I9F"}
1
+ {"version":3,"file":"SubsystemFileTree.d.ts","sourceRoot":"","sources":["../../src/subsystem/SubsystemFileTree.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH,MAAM,WAAW,sBAAsB;IACrC,6DAA6D;IAC7D,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,uDAAuD;IACvD,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B;kDAC8C;IAC9C,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,sEAAsE;IACtE,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACvC;AAED,8EAA8E;AAC9E,wBAAgB,iBAAiB,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,EAAE,sBAAsB,2CAoI3G"}