@principal-ai/subsystems-react 0.56.1 → 0.56.3

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.
@@ -1,23 +1,23 @@
1
1
  /**
2
- * FileDrawer — bottom panel that slides up from the bottom of the graph area
3
- * to show file / trail code. Opened by sidebar file-tree clicks,
2
+ * FileDrawer — bottom or left panel in the graph area
3
+ * showing file / trail code. Opened by sidebar file-tree clicks,
4
4
  * declaration links, and trail step focus; content is injected as
5
5
  * children by the graph component.
6
6
  */
7
7
  import type { ReactNode } from "react";
8
- /** Matches `transition: height …` below — callers that fitView after open
9
- * should wait at least this long so the canvas has its reduced height. */
8
+ /** Matches the drawer's size transition; wait this long before fitting the canvas. */
10
9
  export declare const FILE_DRAWER_HEIGHT_MS = 200;
11
- /** Bottom panel that slides up from the bottom of the graph area.
12
- * Bottom-anchored with an animated height; an in-flow spacer reserves its
13
- * footprint so the canvas shrinks while open (nothing covered). Stays mounted
14
- * so open/close/maximize animate. The header's maximize button (or a
15
- * double-click) grows it over the whole graph column for whole-file reading. */
16
- export declare function FileDrawer({ title, onClose, fillHeight, suppressEscape, hidden, progress, subheader, children, }: {
10
+ /** An in-flow spacer reserves the panel's footprint so it never covers the
11
+ * canvas. Stays mounted across open/close, maximize, and docking changes. */
12
+ export declare function FileDrawer({ title, onClose, placement, onResizeEnd, fillHeight, suppressEscape, hidden, progress, subheader, children, }: {
17
13
  /** Drawer chrome title; `null` closes the drawer. */
18
14
  title: string | null;
19
15
  onClose: () => void;
20
- /** When true and open, fill the graph column instead of ~45% height. */
16
+ /** Left docking requires a row container; bottom docking requires a column. */
17
+ placement?: "bottom" | "left";
18
+ /** Fired when the user finishes dragging the side-docked code view's width. */
19
+ onResizeEnd?: () => void;
20
+ /** When true and open, fill the graph area instead of ~45% of its dock axis. */
21
21
  fillHeight?: boolean;
22
22
  /** Skip Escape handling (e.g. while a full-file overlay is on top). */
23
23
  suppressEscape?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"FileDrawer.d.ts","sourceRoot":"","sources":["../../src/subsystem/FileDrawer.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIvC;2EAC2E;AAC3E,eAAO,MAAM,qBAAqB,MAAM,CAAC;AAEzC;;;;iFAIiF;AACjF,wBAAgB,UAAU,CAAC,EACzB,KAAK,EACL,OAAO,EACP,UAAkB,EAClB,cAAsB,EACtB,MAAc,EACd,QAAe,EACf,SAAgB,EAChB,QAAQ,GACT,EAAE;IACD,qDAAqD;IACrD,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,wEAAwE;IACxE,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,uEAAuE;IACvE,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,mEAAmE;IACnE,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;;OAIG;IACH,QAAQ,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACnD,uEAAuE;IACvE,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB,+BA4LA"}
1
+ {"version":3,"file":"FileDrawer.d.ts","sourceRoot":"","sources":["../../src/subsystem/FileDrawer.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAiC,SAAS,EAAE,MAAM,OAAO,CAAC;AAItE,sFAAsF;AACtF,eAAO,MAAM,qBAAqB,MAAM,CAAC;AAEzC;8EAC8E;AAC9E,wBAAgB,UAAU,CAAC,EACzB,KAAK,EACL,OAAO,EACP,SAAoB,EACpB,WAAW,EACX,UAAkB,EAClB,cAAsB,EACtB,MAAc,EACd,QAAe,EACf,SAAgB,EAChB,QAAQ,GACT,EAAE;IACD,qDAAqD;IACrD,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,+EAA+E;IAC/E,SAAS,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC;IAC9B,+EAA+E;IAC/E,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,gFAAgF;IAChF,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,uEAAuE;IACvE,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,mEAAmE;IACnE,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;;OAIG;IACH,QAAQ,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACnD,uEAAuE;IACvE,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB,+BAwQA"}
@@ -1,41 +1,92 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
2
  /**
3
- * FileDrawer — bottom panel that slides up from the bottom of the graph area
4
- * to show file / trail code. Opened by sidebar file-tree clicks,
3
+ * FileDrawer — bottom or left panel in the graph area
4
+ * showing file / trail code. Opened by sidebar file-tree clicks,
5
5
  * declaration links, and trail step focus; content is injected as
6
6
  * children by the graph component.
7
7
  */
8
- import { useEffect, useState } from "react";
8
+ import { useEffect, useRef, useState } from "react";
9
9
  import { useTheme } from "@principal-ade/industry-theme";
10
10
  import { Minimize2, Maximize2, X } from "lucide-react";
11
- /** Matches `transition: height …` below — callers that fitView after open
12
- * should wait at least this long so the canvas has its reduced height. */
11
+ /** Matches the drawer's size transition; wait this long before fitting the canvas. */
13
12
  export const FILE_DRAWER_HEIGHT_MS = 200;
14
- /** Bottom panel that slides up from the bottom of the graph area.
15
- * Bottom-anchored with an animated height; an in-flow spacer reserves its
16
- * footprint so the canvas shrinks while open (nothing covered). Stays mounted
17
- * so open/close/maximize animate. The header's maximize button (or a
18
- * double-click) grows it over the whole graph column for whole-file reading. */
19
- export function FileDrawer({ title, onClose, fillHeight = false, suppressEscape = false, hidden = false, progress = null, subheader = null, children, }) {
13
+ /** An in-flow spacer reserves the panel's footprint so it never covers the
14
+ * canvas. Stays mounted across open/close, maximize, and docking changes. */
15
+ export function FileDrawer({ title, onClose, placement = "bottom", onResizeEnd, fillHeight = false, suppressEscape = false, hidden = false, progress = null, subheader = null, children, }) {
20
16
  const { theme } = useTheme();
21
17
  const muted = theme.colors.textMuted ?? theme.colors.textSecondary;
22
18
  const open = title !== null && !hidden;
23
19
  const showProgress = progress != null && progress.total > 1;
24
20
  const [closeHover, setCloseHover] = useState(false);
25
21
  const [maxHover, setMaxHover] = useState(false);
26
- // Full-height mode: the maximize button or double-clicking the header.
27
- // The panel is always bottom-anchored with an animated height, and a spacer
28
- // in normal flow reserves its footprint, so maximizing grows it upward over
29
- // the still-mounted graph instead of snapping to full.
22
+ // Maximize grows over the still-mounted graph along the current dock axis.
30
23
  const [maximized, setMaximized] = useState(false);
31
- // A closed drawer reopens at the default height, not maximized.
24
+ // A closed drawer reopens at the default size, not maximized.
32
25
  useEffect(() => {
33
26
  if (!open)
34
27
  setMaximized(false);
35
28
  }, [open]);
36
- const fullHeight = open && (maximized || fillHeight);
29
+ const fullSize = open && (maximized || fillHeight);
30
+ const sideDocked = placement === "left";
31
+ const sizeAxis = sideDocked ? "width" : "height";
32
+ const panelRef = useRef(null);
33
+ const [widthPercent, setWidthPercent] = useState(45);
34
+ const [resizing, setResizing] = useState(false);
35
+ const dragStart = useRef({ x: 0, width: 0, containerWidth: 0 });
36
+ const canResize = open && sideDocked && !fullSize;
37
+ const dockSize = sideDocked ? `${widthPercent}%` : "45%";
37
38
  // Space the panel takes out of the canvas's flow (0 when it overlays fully).
38
- const reservedHeight = fullHeight ? 0 : open ? "45%" : 0;
39
+ const reservedSize = fullSize ? 0 : open ? dockSize : 0;
40
+ const sizeTransition = resizing ? "none" : `${sizeAxis} ${FILE_DRAWER_HEIGHT_MS}ms ease`;
41
+ const onResizeStart = (event) => {
42
+ if (!canResize || event.button !== 0)
43
+ return;
44
+ const panel = panelRef.current;
45
+ const containerWidth = panel?.parentElement?.getBoundingClientRect().width ?? 0;
46
+ if (panel == null || containerWidth <= 0)
47
+ return;
48
+ event.preventDefault();
49
+ dragStart.current = {
50
+ x: event.clientX,
51
+ width: panel.getBoundingClientRect().width,
52
+ containerWidth,
53
+ };
54
+ setResizing(true);
55
+ };
56
+ useEffect(() => {
57
+ if (!canResize)
58
+ setResizing(false);
59
+ }, [canResize]);
60
+ useEffect(() => {
61
+ if (!resizing || !canResize)
62
+ return;
63
+ const { x, width, containerWidth } = dragStart.current;
64
+ // Keep 240px for both code and graph when space permits; split narrow
65
+ // containers evenly rather than giving either pane a negative width.
66
+ const minWidth = Math.min(240, containerWidth / 2);
67
+ const maxWidth = containerWidth - minWidth;
68
+ const onMove = (event) => {
69
+ const next = Math.min(Math.max(width + event.clientX - x, minWidth), maxWidth);
70
+ setWidthPercent(next / containerWidth * 100);
71
+ };
72
+ const onUp = () => {
73
+ setResizing(false);
74
+ onResizeEnd?.();
75
+ };
76
+ const { userSelect, cursor } = document.body.style;
77
+ document.body.style.userSelect = "none";
78
+ document.body.style.cursor = "col-resize";
79
+ document.addEventListener("mousemove", onMove);
80
+ document.addEventListener("mouseup", onUp);
81
+ window.addEventListener("blur", onUp);
82
+ return () => {
83
+ document.body.style.userSelect = userSelect;
84
+ document.body.style.cursor = cursor;
85
+ document.removeEventListener("mousemove", onMove);
86
+ document.removeEventListener("mouseup", onUp);
87
+ window.removeEventListener("blur", onUp);
88
+ };
89
+ }, [resizing, canResize, onResizeEnd]);
39
90
  useEffect(() => {
40
91
  if (!open || suppressEscape)
41
92
  return;
@@ -48,24 +99,30 @@ export function FileDrawer({ title, onClose, fillHeight = false, suppressEscape
48
99
  }, [open, onClose, suppressEscape]);
49
100
  return (_jsxs(_Fragment, { children: [_jsx("div", { "aria-hidden": "true", style: {
50
101
  flexShrink: 0,
51
- height: reservedHeight,
52
- transition: `height ${FILE_DRAWER_HEIGHT_MS}ms ease`,
53
- } }), _jsxs("div", { style: {
102
+ order: sideDocked ? -1 : undefined,
103
+ [sizeAxis]: reservedSize,
104
+ transition: sizeTransition,
105
+ } }), _jsxs("div", { ref: panelRef, style: {
54
106
  position: "absolute",
55
107
  left: 0,
56
- right: 0,
108
+ top: sideDocked ? 0 : undefined,
109
+ right: sideDocked ? undefined : 0,
57
110
  bottom: 0,
58
111
  // Above the edge-label overlay (zIndex 5), React Flow, and overlays
59
112
  // (zIndex 6–8); 30 lifts it over the whole graph area when maximized.
60
113
  zIndex: maximized ? 30 : 6,
61
- height: open ? (fullHeight ? "100%" : "45%") : 0,
114
+ width: sideDocked ? (open ? (fullSize ? "100%" : dockSize) : 0) : undefined,
115
+ height: sideDocked ? "100%" : open ? (fullSize ? "100%" : "45%") : 0,
116
+ minWidth: 0,
62
117
  minHeight: 0,
118
+ boxSizing: "border-box",
63
119
  overflow: "hidden",
64
120
  display: "flex",
65
121
  flexDirection: "column",
66
122
  background: theme.colors.background,
67
- borderTop: open ? `1px solid ${theme.colors.border}` : "none",
68
- transition: `height ${FILE_DRAWER_HEIGHT_MS}ms ease`,
123
+ borderTop: open && !sideDocked ? `1px solid ${theme.colors.border}` : "none",
124
+ borderRight: open && sideDocked ? `1px solid ${theme.colors.border}` : "none",
125
+ transition: sizeTransition,
69
126
  }, children: [_jsxs("div", { onDoubleClick: () => setMaximized((v) => !v), style: {
70
127
  display: "flex",
71
128
  flexDirection: "column",
@@ -129,6 +186,15 @@ export function FileDrawer({ title, onClose, fillHeight = false, suppressEscape
129
186
  color: closeHover ? theme.colors.text : muted,
130
187
  cursor: "pointer",
131
188
  transition: "background 120ms ease, color 120ms ease",
132
- }, children: _jsx(X, { size: 14 }) })] })] }), subheader != null && open && (_jsx("div", { style: { flexShrink: 0, minHeight: 0 }, children: subheader })), _jsx("div", { style: { flex: 1, minHeight: 0, overflow: "auto" }, children: children })] })] }));
189
+ }, children: _jsx(X, { size: 14 }) })] })] }), subheader != null && open && (_jsx("div", { style: { flexShrink: 0, minHeight: 0 }, children: subheader })), _jsx("div", { style: { flex: 1, minHeight: 0, overflow: "auto" }, children: children }), canResize && (_jsx("div", { role: "separator", "aria-orientation": "vertical", "aria-label": "Resize code view", title: "Drag to resize code view", onMouseDown: onResizeStart, style: {
190
+ position: "absolute",
191
+ top: 0,
192
+ right: 0,
193
+ bottom: 0,
194
+ width: 5,
195
+ cursor: "col-resize",
196
+ background: theme.colors.border,
197
+ zIndex: 2,
198
+ } }))] })] }));
133
199
  }
134
200
  //# sourceMappingURL=FileDrawer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FileDrawer.js","sourceRoot":"","sources":["../../src/subsystem/FileDrawer.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FileDrawer.js","sourceRoot":"","sources":["../../src/subsystem/FileDrawer.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"GraphSidebar.d.ts","sourceRoot":"","sources":["../../src/subsystem/GraphSidebar.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAiC,SAAS,EAAE,MAAM,OAAO,CAAC;AAGtE;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,iBAAiB;IAChC;4EACwE;IACxE,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB;8DAC0D;IAC1D,IAAI,CAAC,EAAE,aAAa,CAAC,eAAe,CAAC,CAAC;IACtC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,sEAAsE;IACtE,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,qEAAqE;IACrE,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,0EAA0E;IAC1E,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,qDAAqD;IACrD,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;4EACwE;IACxE,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,qCAAqC;IACrC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,yEAAyE;IACzE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,8EAA8E;IAC9E,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,yDAAyD;IACzD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oCAAoC;IACpC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;8CAC0C;IAC1C,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;CAChD;AAmBD,wBAAgB,YAAY,CAAC,EAC3B,MAAM,EACN,IAAI,EACJ,SAAS,EACT,WAAW,EACX,WAAW,EACX,MAAM,EACN,MAAc,EACd,UAAkB,EAClB,aAAqB,EACrB,KAAK,EACL,aAAa,EACb,YAA4B,EAC5B,QAA4B,EAC5B,QAA4B,EAC5B,WAAW,EACX,UAAU,EACV,YAAiC,EACjC,gBAAgB,GACjB,EAAE,iBAAiB,sCA4LnB"}
1
+ {"version":3,"file":"GraphSidebar.d.ts","sourceRoot":"","sources":["../../src/subsystem/GraphSidebar.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAiC,SAAS,EAAE,MAAM,OAAO,CAAC;AAGtE;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,iBAAiB;IAChC;4EACwE;IACxE,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB;8DAC0D;IAC1D,IAAI,CAAC,EAAE,aAAa,CAAC,eAAe,CAAC,CAAC;IACtC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,sEAAsE;IACtE,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,qEAAqE;IACrE,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,0EAA0E;IAC1E,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,qDAAqD;IACrD,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;4EACwE;IACxE,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,qCAAqC;IACrC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,yEAAyE;IACzE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,8EAA8E;IAC9E,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,yDAAyD;IACzD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oCAAoC;IACpC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;8CAC0C;IAC1C,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;CAChD;AAmBD,wBAAgB,YAAY,CAAC,EAC3B,MAAM,EACN,IAAI,EACJ,SAAS,EACT,WAAW,EACX,WAAW,EACX,MAAM,EACN,MAAc,EACd,UAAkB,EAClB,aAAqB,EACrB,KAAK,EACL,aAAa,EACb,YAA4B,EAC5B,QAA4B,EAC5B,QAA4B,EAC5B,WAAW,EACX,UAAU,EACV,YAAiC,EACjC,gBAAgB,GACjB,EAAE,iBAAiB,sCA8LnB"}
@@ -38,6 +38,7 @@ export function GraphSidebar({ header, tabs, activeTab, onTabChange, sidebarBody
38
38
  // persisting only then — not on every mousemove.
39
39
  const [dragging, setDragging] = useState(false);
40
40
  const dragStartX = useRef(0);
41
+ const dragStartWidth = useRef(0);
41
42
  // Mirror of the current width for the mouseup handler (a closure over the
42
43
  // drag-start render would persist the stale start width).
43
44
  const currentWidthRef = useRef(effectiveWidth);
@@ -45,6 +46,7 @@ export function GraphSidebar({ header, tabs, activeTab, onTabChange, sidebarBody
45
46
  const onResizeStart = useCallback((e) => {
46
47
  e.preventDefault();
47
48
  dragStartX.current = e.clientX;
49
+ dragStartWidth.current = effectiveWidth;
48
50
  currentWidthRef.current = effectiveWidth;
49
51
  setDragging(true);
50
52
  onDraggingChange?.(true);
@@ -53,7 +55,7 @@ export function GraphSidebar({ header, tabs, activeTab, onTabChange, sidebarBody
53
55
  if (!dragging)
54
56
  return;
55
57
  const onMove = (e) => {
56
- const next = Math.min(Math.max(currentWidthRef.current + (e.clientX - dragStartX.current), minWidth), maxWidth);
58
+ const next = Math.min(Math.max(dragStartWidth.current + (e.clientX - dragStartX.current), minWidth), maxWidth);
57
59
  if (controlled) {
58
60
  onWidthChange?.(next);
59
61
  }
@@ -1 +1 @@
1
- {"version":3,"file":"GraphSidebar.js","sourceRoot":"","sources":["../../src/subsystem/GraphSidebar.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GraphSidebar.js","sourceRoot":"","sources":["../../src/subsystem/GraphSidebar.tsx"],"names":[],"mappings":"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"}
@@ -55,7 +55,7 @@ export interface SubsystemComponentGraphProps {
55
55
  * sidebar's bottom half offers a Files/Trails toggle:
56
56
  * the flows panel lists each trail's steps (`symbol` or `file:line`);
57
57
  * clicking a flow row toggles its steps; clicking a step focuses that
58
- * step's edge and (when `renderTrailViewer` is set) opens the bottom
58
+ * step's edge and (when `renderTrailViewer` is set) opens the code
59
59
  * drawer on that flow's snippets. Opened flows stay on the canvas
60
60
  * (unselected ones dimmed); everything else is hidden.
61
61
  */
@@ -312,8 +312,9 @@ export interface SubsystemComponentGraphProps {
312
312
  renderFileViewer?: (file: string, opts?: SubsystemOpenFileOptions) => ReactNode;
313
313
  /**
314
314
  * Host-injected multi-snippet viewer for a focused trail. When set,
315
- * clicking a flow step opens the bottom drawer with this content and
316
- * updates it as the focused step changes.
315
+ * clicking a flow step opens the code drawer with this content and
316
+ * updates it as the focused step changes. Docks left for vertical layouts,
317
+ * below the canvas for horizontal layouts.
317
318
  */
318
319
  renderTrailViewer?: (ctx: TrailViewerContext) => ReactNode;
319
320
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"SubsystemComponentGraph.d.ts","sourceRoot":"","sources":["../../src/subsystem/SubsystemComponentGraph.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SubsystemComponentGraph.d.ts","sourceRoot":"","sources":["../../src/subsystem/SubsystemComponentGraph.tsx"],"names":[],"mappings":"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"}
@@ -405,9 +405,9 @@ function Inner({ components, trails, graphifyRelations, orderByLine, layoutDirec
405
405
  const showDesc = !!description && descriptionVisible;
406
406
  // Sidebar width lives in the shared GraphWithSidebar chrome — draggable and
407
407
  // persisted under `principal.subsystems.sidebarWidth.<persistKey>`. The graph
408
- // only bounds how wide the panel may get so the canvas keeps room to breathe;
408
+ // caps it at half the view width so the canvas keeps room to breathe;
409
409
  // a width saved under the old view-state key still seeds the panel once.
410
- const sidebarMaxWidth = useMemo(() => Math.max(Math.min((_measured?.w ?? 680) * 0.5, 600), 240), [_measured?.w]);
410
+ const sidebarMaxWidth = useMemo(() => Math.max((_measured?.w ?? 680) * 0.5, 240), [_measured?.w]);
411
411
  // Persist the trail working set per model. Each write merges into the
412
412
  // stored blob, so the three fields never clobber one another.
413
413
  useEffect(() => {
@@ -1472,7 +1472,7 @@ function Inner({ components, trails, graphifyRelations, orderByLine, layoutDirec
1472
1472
  }, []);
1473
1473
  const drawerFillHeight = drawerTarget?.kind === 'file' && drawerTarget.startLine == null;
1474
1474
  const fileOverlayOpen = fileOverlay != null;
1475
- const collapseCanvas = drawerFillHeight || fileOverlayOpen;
1475
+ const collapseCanvas = drawerFillHeight || (fileOverlayOpen && committedDirection !== 'vertical');
1476
1476
  // Drop the full-file overlay when the underlying trail drawer changes
1477
1477
  // or closes — open-file keeps the same drawerTarget so the snippets stay mounted.
1478
1478
  const trailDrawerKey = drawerTarget?.kind === 'trail'
@@ -2244,12 +2244,38 @@ function Inner({ components, trails, graphifyRelations, orderByLine, layoutDirec
2244
2244
  borderTop: i > 0 ? `1px solid ${theme.colors.border}` : undefined,
2245
2245
  }, children: [repoGroups.multiRepo && (_jsx(RepoGroupHeader, { group: group, collapsed: collapsed, onToggle: () => toggleRepoCollapsed(groupKey) })), !collapsed && (_jsx(SubsystemFileTree, { files: group.entries.map((e) => e.displayPath), selectedFile: selected?.file ?? openFile, hoveredFile: hoveredFile, onSelectFile: onTreeSelectFile, hoveredFolder: hoveredBoundaryPath, headerless: repoGroups.multiRepo }))] }, groupKey));
2246
2246
  }) })) : null;
2247
+ const fileOverlayView = fileOverlay && (_jsxs("div", { style: {
2248
+ position: 'absolute',
2249
+ inset: 0,
2250
+ zIndex: 8,
2251
+ display: 'flex',
2252
+ flexDirection: 'column',
2253
+ background: theme.colors.background,
2254
+ borderLeft: `1px solid ${theme.colors.border}`,
2255
+ }, children: [_jsxs("div", { style: {
2256
+ display: 'flex',
2257
+ alignItems: 'center',
2258
+ gap: 8,
2259
+ padding: '6px 10px',
2260
+ borderBottom: `1px solid ${theme.colors.border}`,
2261
+ flexShrink: 0,
2262
+ }, children: [_jsx("span", { title: fileOverlay.file, style: {
2263
+ flex: 1,
2264
+ minWidth: 0,
2265
+ overflow: 'hidden',
2266
+ textOverflow: 'ellipsis',
2267
+ whiteSpace: 'nowrap',
2268
+ fontFamily: theme.fonts.monospace,
2269
+ fontSize: theme.fontSizes[0],
2270
+ color: theme.colors.textMuted ?? theme.colors.textSecondary,
2271
+ }, children: fileOverlay.file }), _jsx(FileOverlayCloseButton, { onClose: closeFileOverlay })] }), _jsx("div", { style: { flex: 1, minHeight: 0, overflow: 'auto' }, children: _jsx(FileDrawerContent, { render: renderDrawerContent, file: fileOverlay.file, startLine: fileOverlay.startLine, endLine: fileOverlay.endLine, fullFile: true }) })] }));
2247
2272
  return (_jsx(GraphWithSidebar, { hidden: !sidebarVisible, bodyHidden: !sidebarBodyVisible, stretchHeader: showDesc, header: sidebarHeader, tabs: sidebarTabs, activeTab: activeSidebarTab, onTabChange: (id) => issuesActive
2248
2273
  ? setDiagnosticsTab(id)
2249
- : changeSidebarView(id), sidebarBody: sidebarBody, tabListLabel: issuesActive ? 'Diagnostics view' : 'Sidebar view', defaultWidth: persisted.sidebarWidth ?? 450, minWidth: 240, maxWidth: sidebarMaxWidth, persistKey: persistKey, onResizeEnd: () => requestAnimationFrame(() => fitView()), children: _jsxs("div", { style: { flex: 1, position: 'relative', display: 'flex', flexDirection: 'column', minHeight: 0 }, children: [_jsxs("div", { className: layoutFlipping ? LAYOUT_FLIP_CLASS : undefined, style: {
2274
+ : changeSidebarView(id), sidebarBody: sidebarBody, tabListLabel: issuesActive ? 'Diagnostics view' : 'Sidebar view', defaultWidth: persisted.sidebarWidth ?? 450, minWidth: 240, maxWidth: sidebarMaxWidth, persistKey: persistKey, onResizeEnd: () => requestAnimationFrame(() => fitView()), children: _jsxs("div", { style: { flex: 1, position: 'relative', display: 'flex', flexDirection: committedDirection === 'vertical' ? 'row' : 'column', minHeight: 0, minWidth: 0 }, children: [_jsxs("div", { className: layoutFlipping ? LAYOUT_FLIP_CLASS : undefined, style: {
2250
2275
  position: 'relative',
2251
2276
  flex: collapseCanvas ? 0 : 1,
2252
2277
  minHeight: 0,
2278
+ minWidth: 0,
2253
2279
  height: collapseCanvas ? 0 : undefined,
2254
2280
  overflow: 'hidden',
2255
2281
  display: 'flex',
@@ -2515,35 +2541,11 @@ function Inner({ components, trails, graphifyRelations, orderByLine, layoutDirec
2515
2541
  drawerTarget.startLine != null &&
2516
2542
  !!selected.file &&
2517
2543
  selected.file === drawerTarget.file &&
2518
- selected.declarationSpan?.startLine === drawerTarget.startLine }) }))] }), _jsx(FileDrawer, { title: drawerTitle, onClose: closeDrawer, fillHeight: drawerFillHeight, suppressEscape: fileOverlayOpen, hidden: hideDrawer, progress: drawerProgress, subheader: drawerTarget?.kind === 'trail' &&
2544
+ selected.declarationSpan?.startLine === drawerTarget.startLine }) })), committedDirection === 'vertical' && fileOverlayView] }), _jsx(FileDrawer, { title: drawerTitle, onClose: closeDrawer, placement: committedDirection === 'vertical' ? 'left' : 'bottom', onResizeEnd: () => requestAnimationFrame(() => fitView()), fillHeight: drawerFillHeight, suppressEscape: fileOverlayOpen, hidden: hideDrawer, progress: drawerProgress, subheader: drawerTarget?.kind === 'trail' &&
2519
2545
  focusedTrail &&
2520
2546
  drawerTarget.stepIndex != null ? (_jsx(TrailStackBreadcrumb, { trail: focusedTrail, stepIndex: drawerTarget.stepIndex, componentByAlias: componentByAlias, onFocusStep: (index) => focusTrailStep(focusedTrail, index) })) : null, children: drawerTarget?.kind === 'trail' &&
2521
2547
  focusedTrail &&
2522
- renderTrailViewer ? (_jsx(TrailDrawerContent, { render: renderTrailDrawerContent, trail: focusedTrail, stepIndex: drawerTarget.stepIndex, onOpenFile: onOpenFileFromTrail, resolveSymbol: resolveTrailSymbol, onSymbolClick: openConstructDeclaration, onVisibleStepChange: setVisibleStepIndex })) : drawerTarget?.kind === 'file' ? (_jsx(FileDrawerContent, { render: renderDrawerContent, file: drawerTarget.file, startLine: drawerTarget.startLine, endLine: drawerTarget.endLine })) : null }), fileOverlay && (_jsxs("div", { style: {
2523
- position: 'absolute',
2524
- inset: 0,
2525
- zIndex: 8,
2526
- display: 'flex',
2527
- flexDirection: 'column',
2528
- background: theme.colors.background,
2529
- borderLeft: `1px solid ${theme.colors.border}`,
2530
- }, children: [_jsxs("div", { style: {
2531
- display: 'flex',
2532
- alignItems: 'center',
2533
- gap: 8,
2534
- padding: '6px 10px',
2535
- borderBottom: `1px solid ${theme.colors.border}`,
2536
- flexShrink: 0,
2537
- }, children: [_jsx("span", { title: fileOverlay.file, style: {
2538
- flex: 1,
2539
- minWidth: 0,
2540
- overflow: 'hidden',
2541
- textOverflow: 'ellipsis',
2542
- whiteSpace: 'nowrap',
2543
- fontFamily: theme.fonts.monospace,
2544
- fontSize: theme.fontSizes[0],
2545
- color: theme.colors.textMuted ?? theme.colors.textSecondary,
2546
- }, children: fileOverlay.file }), _jsx(FileOverlayCloseButton, { onClose: closeFileOverlay })] }), _jsx("div", { style: { flex: 1, minHeight: 0, overflow: 'auto' }, children: _jsx(FileDrawerContent, { render: renderDrawerContent, file: fileOverlay.file, startLine: fileOverlay.startLine, endLine: fileOverlay.endLine, fullFile: true }) })] })), _jsx(GraphLayoutCover, { revealed: layoutReady || layoutFlipping }), canvasOverlay, liveEvents ? _jsx(MaintainLivePanel, { ...liveEvents }) : null] }) }));
2548
+ renderTrailViewer ? (_jsx(TrailDrawerContent, { render: renderTrailDrawerContent, trail: focusedTrail, stepIndex: drawerTarget.stepIndex, onOpenFile: onOpenFileFromTrail, resolveSymbol: resolveTrailSymbol, onSymbolClick: openConstructDeclaration, onVisibleStepChange: setVisibleStepIndex })) : drawerTarget?.kind === 'file' ? (_jsx(FileDrawerContent, { render: renderDrawerContent, file: drawerTarget.file, startLine: drawerTarget.startLine, endLine: drawerTarget.endLine })) : null }), committedDirection !== 'vertical' && fileOverlayView, _jsx(GraphLayoutCover, { revealed: layoutReady || layoutFlipping }), canvasOverlay, liveEvents ? _jsx(MaintainLivePanel, { ...liveEvents }) : null] }) }));
2547
2549
  }
2548
2550
  /** Sidebar header for one repo's tree: owner avatar + repo name + file count.
2549
2551
  * Clicking toggles the tree's visibility. */