@principal-ai/subsystems-react 0.37.1 → 0.37.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.
- package/dist/subsystem/ComponentDeclaration.d.ts +4 -1
- package/dist/subsystem/ComponentDeclaration.d.ts.map +1 -1
- package/dist/subsystem/ComponentDeclaration.js +18 -1
- package/dist/subsystem/ComponentDeclaration.js.map +1 -1
- package/dist/subsystem/ConstructsCatalog.d.ts +17 -3
- package/dist/subsystem/ConstructsCatalog.d.ts.map +1 -1
- package/dist/subsystem/ConstructsCatalog.js +99 -30
- package/dist/subsystem/ConstructsCatalog.js.map +1 -1
- package/dist/subsystem/SubsystemComponentGraph.d.ts +6 -0
- package/dist/subsystem/SubsystemComponentGraph.d.ts.map +1 -1
- package/dist/subsystem/SubsystemComponentGraph.js +1 -1
- package/dist/subsystem/SubsystemComponentGraph.js.map +1 -1
- package/package.json +1 -1
- package/src/stories/Subsystem/ConstructsCatalog.stories.tsx +15 -1
- package/src/subsystem/ComponentDeclaration.tsx +30 -0
- package/src/subsystem/ConstructsCatalog.tsx +207 -71
- package/src/subsystem/SubsystemComponentGraph.tsx +8 -0
|
@@ -105,6 +105,9 @@ export interface ComponentDeclarationProps {
|
|
|
105
105
|
* label, description toggle). For hosts that surface those in a shared
|
|
106
106
|
* header instead. */
|
|
107
107
|
hideActions?: boolean;
|
|
108
|
+
/** For `external` constructs, render the construct name as the body instead
|
|
109
|
+
* of `external '…'` — the kind is named by the caller's header. */
|
|
110
|
+
externalName?: boolean;
|
|
108
111
|
/** Controlled purpose/description visibility. When provided it overrides the
|
|
109
112
|
* internal toggle, so a host can drive it from a shared header. */
|
|
110
113
|
showPurpose?: boolean;
|
|
@@ -115,5 +118,5 @@ export interface ComponentDeclarationProps {
|
|
|
115
118
|
lineNumbers?: boolean;
|
|
116
119
|
}
|
|
117
120
|
/** Declaration panel for the selected component — its definition, code-style. */
|
|
118
|
-
export declare function ComponentDeclaration({ component, onOpenFile, onRelatedSelect, onInspectSymbol, onAddToModel, maxWidth, verification, defaultShowFile, fileOpen, declarationOpen, showRepoIdentity, fileBadgeChrome, hideActions, showPurpose: showPurposeProp, lineNumbers, }: ComponentDeclarationProps): import("react").JSX.Element;
|
|
121
|
+
export declare function ComponentDeclaration({ component, onOpenFile, onRelatedSelect, onInspectSymbol, onAddToModel, maxWidth, verification, defaultShowFile, fileOpen, declarationOpen, showRepoIdentity, fileBadgeChrome, hideActions, externalName, showPurpose: showPurposeProp, lineNumbers, }: ComponentDeclarationProps): import("react").JSX.Element;
|
|
119
122
|
//# sourceMappingURL=ComponentDeclaration.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ComponentDeclaration.d.ts","sourceRoot":"","sources":["../../src/subsystem/ComponentDeclaration.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"ComponentDeclaration.d.ts","sourceRoot":"","sources":["../../src/subsystem/ComponentDeclaration.tsx"],"names":[],"mappings":"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"}
|
|
@@ -182,7 +182,7 @@ function verificationSummary(v, muted, ok, warn) {
|
|
|
182
182
|
return { text: bits.join(' · ') || 'done', color: muted };
|
|
183
183
|
}
|
|
184
184
|
/** Declaration panel for the selected component — its definition, code-style. */
|
|
185
|
-
export function ComponentDeclaration({ component, onOpenFile, onRelatedSelect: _onRelatedSelect, onInspectSymbol, onAddToModel, maxWidth, verification, defaultShowFile = false, fileOpen = false, declarationOpen = false, showRepoIdentity = true, fileBadgeChrome = false, hideActions = false, showPurpose: showPurposeProp, lineNumbers = false, }) {
|
|
185
|
+
export function ComponentDeclaration({ component, onOpenFile, onRelatedSelect: _onRelatedSelect, onInspectSymbol, onAddToModel, maxWidth, verification, defaultShowFile = false, fileOpen = false, declarationOpen = false, showRepoIdentity = true, fileBadgeChrome = false, hideActions = false, externalName = false, showPurpose: showPurposeProp, lineNumbers = false, }) {
|
|
186
186
|
const { theme, mode } = useTheme();
|
|
187
187
|
const pierreSyntaxTheme = resolvePierreSyntaxThemeName(mode);
|
|
188
188
|
const [hoverSeg, setHoverSeg] = useState(null);
|
|
@@ -246,6 +246,10 @@ export function ComponentDeclaration({ component, onOpenFile, onRelatedSelect: _
|
|
|
246
246
|
verification?.declaration?.ref?.startLine ??
|
|
247
247
|
parseSourceLocation(verification?.anchor?.source_location) ??
|
|
248
248
|
undefined;
|
|
249
|
+
const externalKind = (component.declaration?.kind ?? component.construct) === 'external';
|
|
250
|
+
const externalNameText = component.name?.trim() ||
|
|
251
|
+
(component.declaration?.kind === 'external' ? component.declaration.label : '') ||
|
|
252
|
+
component.alias;
|
|
249
253
|
const openDeclarationFile = () => {
|
|
250
254
|
if (!onOpenFile || !component.file)
|
|
251
255
|
return;
|
|
@@ -608,7 +612,20 @@ export function ComponentDeclaration({ component, onOpenFile, onRelatedSelect: _
|
|
|
608
612
|
if (labelDi === -1) {
|
|
609
613
|
labelDi = declLines.findIndex((l) => l.length > 0);
|
|
610
614
|
}
|
|
615
|
+
const externalNameLine = externalName && externalKind;
|
|
616
|
+
if (externalNameLine) {
|
|
617
|
+
// The caller's header names the kind, so the body just names the construct.
|
|
618
|
+
lines.push(_jsx("div", { style: {
|
|
619
|
+
display: 'block',
|
|
620
|
+
whiteSpace: 'pre-wrap',
|
|
621
|
+
overflowWrap: 'anywhere',
|
|
622
|
+
minWidth: 0,
|
|
623
|
+
minHeight: 18,
|
|
624
|
+
}, children: _jsx("span", { style: { color }, children: externalNameText }) }, "external-name"));
|
|
625
|
+
}
|
|
611
626
|
for (let li = 0; li < declLines.length; li++) {
|
|
627
|
+
if (externalNameLine)
|
|
628
|
+
break;
|
|
612
629
|
if (declLines[li].length === 0)
|
|
613
630
|
continue;
|
|
614
631
|
if (lineNumbers && declarationStartLine != null) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ComponentDeclaration.js","sourceRoot":"","sources":["../../src/subsystem/ComponentDeclaration.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ComponentDeclaration.js","sourceRoot":"","sources":["../../src/subsystem/ComponentDeclaration.tsx"],"names":[],"mappings":"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"}
|
|
@@ -6,8 +6,11 @@
|
|
|
6
6
|
* constructs. Right: signatures grouped by repo, and within a repo stacked
|
|
7
7
|
* per file under one combined file header carrying the path and a
|
|
8
8
|
* description toggle; a declaration with a known line labels just that
|
|
9
|
-
* construct's line in a file-like gutter
|
|
10
|
-
*
|
|
9
|
+
* construct's line in a file-like gutter, and `external` constructs get a
|
|
10
|
+
* header naming their kind with the body naming the construct. The model
|
|
11
|
+
* description's toggle sits in the left chrome and opens the markdown as an
|
|
12
|
+
* overlay over the construct area. File opens still use the bottom FileDrawer
|
|
13
|
+
* when the host injects a viewer.
|
|
11
14
|
*/
|
|
12
15
|
import type { ReactNode } from 'react';
|
|
13
16
|
import { type SubsystemComponent } from './model';
|
|
@@ -20,7 +23,18 @@ export interface ConstructsCatalogProps {
|
|
|
20
23
|
onSelect?: (componentAlias: string) => void;
|
|
21
24
|
title?: string;
|
|
22
25
|
hideSidebar?: boolean;
|
|
26
|
+
/**
|
|
27
|
+
* Model description. Its toggle lives in the left chrome; opening it shows
|
|
28
|
+
* the markdown as an overlay over the construct area.
|
|
29
|
+
*/
|
|
23
30
|
description?: string;
|
|
31
|
+
/**
|
|
32
|
+
* Controlled open state for the description overlay. When provided the host
|
|
33
|
+
* owns it (e.g. a button in its own header) and the built-in toggle just
|
|
34
|
+
* reports changes; otherwise the built-in toggle drives the state.
|
|
35
|
+
*/
|
|
36
|
+
descriptionOpen?: boolean;
|
|
37
|
+
onDescriptionOpenChange?: (open: boolean) => void;
|
|
24
38
|
diagnostic?: SubsystemDiagnostic;
|
|
25
39
|
sidebarExtra?: ReactNode;
|
|
26
40
|
sidebarAfterDescription?: ReactNode;
|
|
@@ -36,5 +50,5 @@ export interface ConstructsCatalogProps {
|
|
|
36
50
|
ref: DeclarationSymbolRef;
|
|
37
51
|
}) => Promise<SymbolInspection | null> | SymbolInspection | null;
|
|
38
52
|
}
|
|
39
|
-
export declare function ConstructsCatalog({ components, onSelect, title, hideSidebar, description, diagnostic, sidebarExtra, sidebarAfterDescription, renderFileViewer, renderFileView, onFileSelect, componentVerification, onInspectSymbol, }: ConstructsCatalogProps): import("react").JSX.Element;
|
|
53
|
+
export declare function ConstructsCatalog({ components, onSelect, title, hideSidebar, description, descriptionOpen: descriptionOpenProp, onDescriptionOpenChange, diagnostic, sidebarExtra, sidebarAfterDescription, renderFileViewer, renderFileView, onFileSelect, componentVerification, onInspectSymbol, }: ConstructsCatalogProps): import("react").JSX.Element;
|
|
40
54
|
//# sourceMappingURL=ConstructsCatalog.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConstructsCatalog.d.ts","sourceRoot":"","sources":["../../src/subsystem/ConstructsCatalog.tsx"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"ConstructsCatalog.d.ts","sourceRoot":"","sources":["../../src/subsystem/ConstructsCatalog.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAYvC,OAAO,EAEL,KAAK,kBAAkB,EACxB,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAEjE,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AACzE,OAAO,KAAK,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAC3E,OAAO,EAA6B,KAAK,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAKzF,MAAM,WAAW,sBAAsB;IACrC,UAAU,EAAE,kBAAkB,EAAE,CAAC;IACjC,QAAQ,CAAC,EAAE,CAAC,cAAc,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,uBAAuB,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IAClD,UAAU,CAAC,EAAE,mBAAmB,CAAC;IACjC,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,uBAAuB,CAAC,EAAE,SAAS,CAAC;IACpC,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,wBAAwB,KAAK,SAAS,CAAC;IAChF,cAAc,CAAC,EAAE,CAAC,SAAS,EAAE,kBAAkB,KAAK,SAAS,CAAC;IAC9D,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,qBAAqB,CAAC,EAAE,0BAA0B,GAAG,IAAI,CAAC;IAC1D,gFAAgF;IAChF,eAAe,CAAC,EAAE,CAAC,GAAG,EAAE;QACtB,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;QACf,GAAG,EAAE,oBAAoB,CAAC;KAC3B,KAAK,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,GAAG,gBAAgB,GAAG,IAAI,CAAC;CAClE;AA8GD,wBAAgB,iBAAiB,CAAC,EAChC,UAAU,EACV,QAAQ,EACR,KAAK,EACL,WAAW,EACX,WAAW,EACX,eAAe,EAAE,mBAAmB,EACpC,uBAAuB,EACvB,UAAU,EACV,YAAY,EACZ,uBAAuB,EACvB,gBAAgB,EAChB,cAAc,EACd,YAAY,EACZ,qBAAqB,EACrB,eAAe,GAChB,EAAE,sBAAsB,+BAw5BxB"}
|
|
@@ -7,13 +7,16 @@ import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-run
|
|
|
7
7
|
* constructs. Right: signatures grouped by repo, and within a repo stacked
|
|
8
8
|
* per file under one combined file header carrying the path and a
|
|
9
9
|
* description toggle; a declaration with a known line labels just that
|
|
10
|
-
* construct's line in a file-like gutter
|
|
11
|
-
*
|
|
10
|
+
* construct's line in a file-like gutter, and `external` constructs get a
|
|
11
|
+
* header naming their kind with the body naming the construct. The model
|
|
12
|
+
* description's toggle sits in the left chrome and opens the markdown as an
|
|
13
|
+
* overlay over the construct area. File opens still use the bottom FileDrawer
|
|
14
|
+
* when the host injects a viewer.
|
|
12
15
|
*/
|
|
13
16
|
import { memo, useCallback, useEffect, useMemo, useRef, useState } from 'react';
|
|
14
17
|
import { useTheme } from '@principal-ade/industry-theme';
|
|
15
18
|
import { IndustryMarkdownSlide } from 'themed-markdown';
|
|
16
|
-
import { AlignLeft, ChevronDown, ChevronRight, FileText, Folder } from 'lucide-react';
|
|
19
|
+
import { AlignLeft, Box, ChevronDown, ChevronRight, FileText, Folder, X, } from 'lucide-react';
|
|
17
20
|
import { formatPurl, } from './model';
|
|
18
21
|
import { ComponentDeclaration } from './ComponentDeclaration';
|
|
19
22
|
import { SubsystemDiagnosticToggle } from './DiagnosticToggle';
|
|
@@ -102,7 +105,7 @@ function splitByFileRun(items) {
|
|
|
102
105
|
}
|
|
103
106
|
return runs;
|
|
104
107
|
}
|
|
105
|
-
export function ConstructsCatalog({ components, onSelect, title, hideSidebar, description, diagnostic, sidebarExtra, sidebarAfterDescription, renderFileViewer, renderFileView, onFileSelect, componentVerification, onInspectSymbol, }) {
|
|
108
|
+
export function ConstructsCatalog({ components, onSelect, title, hideSidebar, description, descriptionOpen: descriptionOpenProp, onDescriptionOpenChange, diagnostic, sidebarExtra, sidebarAfterDescription, renderFileViewer, renderFileView, onFileSelect, componentVerification, onInspectSymbol, }) {
|
|
106
109
|
const { theme, mode } = useTheme();
|
|
107
110
|
const pierreTheme = resolvePierreSyntaxThemeName(mode);
|
|
108
111
|
const muted = theme.colors.textMuted ?? theme.colors.textSecondary;
|
|
@@ -129,11 +132,17 @@ export function ConstructsCatalog({ components, onSelect, title, hideSidebar, de
|
|
|
129
132
|
const [focusedAlias, setFocusedAlias] = useState(null);
|
|
130
133
|
const [searchQuery, setSearchQuery] = useState('');
|
|
131
134
|
const [descriptionVisible, setDescriptionVisible] = useState(false);
|
|
135
|
+
const descriptionOpen = descriptionOpenProp ?? descriptionVisible;
|
|
136
|
+
const setDescriptionOpen = (open) => {
|
|
137
|
+
setDescriptionVisible(open);
|
|
138
|
+
onDescriptionOpenChange?.(open);
|
|
139
|
+
};
|
|
132
140
|
const [descToggleHover, setDescToggleHover] = useState(false);
|
|
133
141
|
const [hoveredRow, setHoveredRow] = useState(null);
|
|
134
142
|
const [collapsedFolders, setCollapsedFolders] = useState(new Set());
|
|
135
|
-
//
|
|
136
|
-
|
|
143
|
+
// Explicit description toggles per file run. Unset falls back to the kind's
|
|
144
|
+
// default (externals open, files closed).
|
|
145
|
+
const [purposeOverrides, setPurposeOverrides] = useState({});
|
|
137
146
|
const [drawer, setDrawer] = useState(null);
|
|
138
147
|
const visibleSet = useMemo(() => new Set(visibleAliases), [visibleAliases]);
|
|
139
148
|
const visibleComponents = useMemo(() => orderedComponents.filter((c) => visibleSet.has(c.alias)), [orderedComponents, visibleSet]);
|
|
@@ -224,15 +233,8 @@ export function ConstructsCatalog({ components, onSelect, title, hideSidebar, de
|
|
|
224
233
|
return next;
|
|
225
234
|
});
|
|
226
235
|
}, []);
|
|
227
|
-
const
|
|
228
|
-
|
|
229
|
-
const next = new Set(prev);
|
|
230
|
-
if (next.has(key))
|
|
231
|
-
next.delete(key);
|
|
232
|
-
else
|
|
233
|
-
next.add(key);
|
|
234
|
-
return next;
|
|
235
|
-
});
|
|
236
|
+
const setPurposeOpen = useCallback((key, open) => {
|
|
237
|
+
setPurposeOverrides((prev) => ({ ...prev, [key]: open }));
|
|
236
238
|
}, []);
|
|
237
239
|
/** File-tree click: show every construct declared in the file, or hide them
|
|
238
240
|
* all when they're already shown — a bulk toggle of the file's constructs. */
|
|
@@ -375,8 +377,11 @@ export function ConstructsCatalog({ components, onSelect, title, hideSidebar, de
|
|
|
375
377
|
return () => window.removeEventListener('keydown', onKey);
|
|
376
378
|
}, [drawer]);
|
|
377
379
|
const showChrome = !hideSidebar &&
|
|
378
|
-
!!(title ||
|
|
379
|
-
|
|
380
|
+
!!(title ||
|
|
381
|
+
description ||
|
|
382
|
+
diagnostic ||
|
|
383
|
+
sidebarExtra ||
|
|
384
|
+
sidebarAfterDescription);
|
|
380
385
|
return (_jsxs("div", { "data-testid": "constructs-catalog", style: {
|
|
381
386
|
width: '100%',
|
|
382
387
|
height: '100%',
|
|
@@ -395,7 +400,6 @@ export function ConstructsCatalog({ components, onSelect, title, hideSidebar, de
|
|
|
395
400
|
flexDirection: 'column',
|
|
396
401
|
overflow: 'hidden',
|
|
397
402
|
}, children: [showChrome && (_jsxs("div", { style: {
|
|
398
|
-
flex: showDesc ? '0 0 auto' : undefined,
|
|
399
403
|
padding: '16px 16px 8px',
|
|
400
404
|
display: 'flex',
|
|
401
405
|
flexDirection: 'column',
|
|
@@ -414,7 +418,7 @@ export function ConstructsCatalog({ components, onSelect, title, hideSidebar, de
|
|
|
414
418
|
gap: 4,
|
|
415
419
|
flexShrink: 0,
|
|
416
420
|
marginLeft: title ? undefined : 'auto',
|
|
417
|
-
}, children: [diagnostic && _jsx(SubsystemDiagnosticToggle, { ...diagnostic }), description && (_jsx("button", { type: "button", "aria-expanded":
|
|
421
|
+
}, children: [diagnostic && _jsx(SubsystemDiagnosticToggle, { ...diagnostic }), description && (_jsx("button", { type: "button", "aria-expanded": descriptionOpen, "aria-label": descriptionOpen ? 'Hide description' : 'Show description', title: descriptionOpen ? 'Hide description' : 'Show description', onMouseEnter: () => setDescToggleHover(true), onMouseLeave: () => setDescToggleHover(false), onClick: () => setDescriptionOpen(!descriptionOpen), style: {
|
|
418
422
|
display: 'inline-flex',
|
|
419
423
|
alignItems: 'center',
|
|
420
424
|
justifyContent: 'center',
|
|
@@ -424,10 +428,10 @@ export function ConstructsCatalog({ components, onSelect, title, hideSidebar, de
|
|
|
424
428
|
padding: 0,
|
|
425
429
|
border: 'none',
|
|
426
430
|
borderRadius: 4,
|
|
427
|
-
background:
|
|
428
|
-
color:
|
|
431
|
+
background: descriptionOpen || descToggleHover ? theme.colors.border : 'transparent',
|
|
432
|
+
color: descriptionOpen || descToggleHover ? theme.colors.text : muted,
|
|
429
433
|
cursor: 'pointer',
|
|
430
|
-
}, children: _jsx(FileText, { size: 14 }) }))] })] })),
|
|
434
|
+
}, children: _jsx(FileText, { size: 14 }) }))] })] })), sidebarAfterDescription] })), hasFiles ? (_jsx("ul", { role: "tree", "aria-label": "Files", style: {
|
|
431
435
|
listStyle: 'none',
|
|
432
436
|
margin: 0,
|
|
433
437
|
padding: '6px 8px 12px',
|
|
@@ -447,7 +451,57 @@ export function ConstructsCatalog({ components, onSelect, title, hideSidebar, de
|
|
|
447
451
|
minHeight: 0,
|
|
448
452
|
display: 'flex',
|
|
449
453
|
flexDirection: 'column',
|
|
450
|
-
}, children: [
|
|
454
|
+
}, children: [description && descriptionOpen && (_jsxs(_Fragment, { children: [_jsx("div", { onClick: () => setDescriptionOpen(false), style: {
|
|
455
|
+
position: 'absolute',
|
|
456
|
+
inset: 0,
|
|
457
|
+
zIndex: 2,
|
|
458
|
+
background: 'rgba(0,0,0,0.45)',
|
|
459
|
+
} }), _jsxs("div", { style: {
|
|
460
|
+
position: 'absolute',
|
|
461
|
+
top: '50%',
|
|
462
|
+
left: '50%',
|
|
463
|
+
transform: 'translate(-50%, -50%)',
|
|
464
|
+
zIndex: 3,
|
|
465
|
+
width: 360,
|
|
466
|
+
maxWidth: 'calc(100% - 16px)',
|
|
467
|
+
maxHeight: '70%',
|
|
468
|
+
overflow: 'auto',
|
|
469
|
+
padding: 16,
|
|
470
|
+
border: `1px solid ${theme.colors.border}`,
|
|
471
|
+
borderRadius: 8,
|
|
472
|
+
background: theme.colors.background,
|
|
473
|
+
boxShadow: '0 8px 24px rgba(0,0,0,0.28)',
|
|
474
|
+
fontSize: theme.fontSizes[0],
|
|
475
|
+
lineHeight: 1.5,
|
|
476
|
+
}, children: [_jsxs("div", { style: {
|
|
477
|
+
display: 'flex',
|
|
478
|
+
alignItems: 'center',
|
|
479
|
+
gap: 8,
|
|
480
|
+
marginBottom: 12,
|
|
481
|
+
}, children: [_jsx("h3", { style: {
|
|
482
|
+
margin: 0,
|
|
483
|
+
flex: 1,
|
|
484
|
+
minWidth: 0,
|
|
485
|
+
fontSize: theme.fontSizes[1],
|
|
486
|
+
fontWeight: 600,
|
|
487
|
+
fontFamily: theme.fonts.monospace,
|
|
488
|
+
letterSpacing: 0.4,
|
|
489
|
+
textTransform: 'uppercase',
|
|
490
|
+
color: theme.colors.textSecondary ?? muted,
|
|
491
|
+
}, children: "Overview" }), _jsx("button", { type: "button", "aria-label": "Close description", title: "Close", onClick: () => setDescriptionOpen(false), style: {
|
|
492
|
+
display: 'inline-flex',
|
|
493
|
+
alignItems: 'center',
|
|
494
|
+
justifyContent: 'center',
|
|
495
|
+
flexShrink: 0,
|
|
496
|
+
width: 22,
|
|
497
|
+
height: 22,
|
|
498
|
+
padding: 0,
|
|
499
|
+
border: 'none',
|
|
500
|
+
borderRadius: 4,
|
|
501
|
+
background: 'transparent',
|
|
502
|
+
color: muted,
|
|
503
|
+
cursor: 'pointer',
|
|
504
|
+
}, children: _jsx(X, { size: 14 }) })] }), _jsx(IndustryMarkdownSlide, { content: description, slideIdPrefix: "constructs-desc-overlay", slideIndex: 0, isVisible: true, theme: theme, disableScroll: true, disableBasePadding: true, enableKeyboardScrolling: false, autoFocusOnVisible: false })] })] })), searchActive && (_jsx("div", { style: { flexShrink: 0, padding: '12px 16px 0' }, children: _jsx("input", { type: "search", value: searchQuery, onChange: (e) => setSearchQuery(e.target.value), placeholder: "Search constructs\u2026", "aria-label": "Search constructs", "data-testid": "construct-search", style: {
|
|
451
505
|
width: '100%',
|
|
452
506
|
boxSizing: 'border-box',
|
|
453
507
|
padding: '8px 10px',
|
|
@@ -480,12 +534,14 @@ export function ConstructsCatalog({ components, onSelect, title, hideSidebar, de
|
|
|
480
534
|
}, children: group.label })] }), splitByFileRun(group.items).map((run) => {
|
|
481
535
|
const lead = run[0];
|
|
482
536
|
const hasFile = !!lead.file;
|
|
483
|
-
|
|
484
|
-
//
|
|
485
|
-
|
|
537
|
+
const isExternal = lead.construct === 'external';
|
|
538
|
+
// File-backed runs and externals both get a header; externals
|
|
539
|
+
// name their kind instead of a path, so the body doesn't have
|
|
540
|
+
// to spell it out.
|
|
541
|
+
const showHeader = hasFile || isExternal;
|
|
486
542
|
const runKey = `${group.key}:${lead.file || lead.alias}`;
|
|
487
543
|
const runHasPurpose = run.some((c) => !!c.purpose?.trim());
|
|
488
|
-
const purposeOpen =
|
|
544
|
+
const purposeOpen = purposeOverrides[runKey] ?? isExternal;
|
|
489
545
|
const runFileOpen = drawer != null && hasFile && lead.file === drawer.file;
|
|
490
546
|
return (_jsxs("div", { style: {
|
|
491
547
|
display: 'flex',
|
|
@@ -511,7 +567,17 @@ export function ConstructsCatalog({ components, onSelect, title, hideSidebar, de
|
|
|
511
567
|
: theme.colors.textSecondary ?? muted,
|
|
512
568
|
fontFamily: theme.fonts.monospace,
|
|
513
569
|
fontSize: theme.fontSizes[0],
|
|
514
|
-
}, children: [_jsxs("
|
|
570
|
+
}, children: [isExternal ? (_jsxs("span", { style: {
|
|
571
|
+
display: 'flex',
|
|
572
|
+
alignItems: 'center',
|
|
573
|
+
gap: 6,
|
|
574
|
+
flex: 1,
|
|
575
|
+
minWidth: 0,
|
|
576
|
+
}, children: [_jsx(Box, { size: 12, style: { flexShrink: 0 } }), _jsx("span", { style: {
|
|
577
|
+
overflow: 'hidden',
|
|
578
|
+
textOverflow: 'ellipsis',
|
|
579
|
+
whiteSpace: 'nowrap',
|
|
580
|
+
}, children: "external" })] })) : (_jsxs("button", { type: "button", title: fileViewer ? `Open ${lead.file}` : lead.file, onClick: fileViewer
|
|
515
581
|
? () => onOpenFile(lead.file)
|
|
516
582
|
: undefined, style: {
|
|
517
583
|
display: 'flex',
|
|
@@ -531,7 +597,7 @@ export function ConstructsCatalog({ components, onSelect, title, hideSidebar, de
|
|
|
531
597
|
overflow: 'hidden',
|
|
532
598
|
textOverflow: 'ellipsis',
|
|
533
599
|
whiteSpace: 'nowrap',
|
|
534
|
-
}, children: lead.file })] }), runHasPurpose && (_jsx("button", { type: "button", title: purposeOpen ? 'Hide description' : 'Show description', "aria-label": purposeOpen ? 'Hide description' : 'Show description', "aria-expanded": purposeOpen, onClick: () =>
|
|
600
|
+
}, children: lead.file })] })), runHasPurpose && (_jsx("button", { type: "button", title: purposeOpen ? 'Hide description' : 'Show description', "aria-label": purposeOpen ? 'Hide description' : 'Show description', "aria-expanded": purposeOpen, onClick: () => setPurposeOpen(runKey, !purposeOpen), style: {
|
|
535
601
|
display: 'inline-flex',
|
|
536
602
|
alignItems: 'center',
|
|
537
603
|
justifyContent: 'center',
|
|
@@ -558,6 +624,9 @@ export function ConstructsCatalog({ components, onSelect, title, hideSidebar, de
|
|
|
558
624
|
// it drop their own badge; those with no known line just
|
|
559
625
|
// render unnumbered. Without a header, keep the badge.
|
|
560
626
|
const numbered = hasFile && c.declarationRef?.startLine != null;
|
|
627
|
+
// The header names the external kind, so the body just
|
|
628
|
+
// names the construct.
|
|
629
|
+
const isExt = c.construct === 'external';
|
|
561
630
|
return (_jsx("div", { id: `construct-signature-${c.alias}`, style: {
|
|
562
631
|
borderTop: i > 0
|
|
563
632
|
? `1px solid ${theme.colors.border}`
|
|
@@ -572,7 +641,7 @@ export function ConstructsCatalog({ components, onSelect, title, hideSidebar, de
|
|
|
572
641
|
symbol,
|
|
573
642
|
ref,
|
|
574
643
|
})
|
|
575
|
-
: undefined, fileOpen: fileOpen, declarationOpen: lineOpen, showRepoIdentity: false, fileBadgeChrome: showHeader ? false : !!fileViewer, hideActions: showHeader, showPurpose: showHeader ? purposeOpen : undefined, lineNumbers: numbered, verification: componentVerification && focusedAlias === c.alias
|
|
644
|
+
: undefined, fileOpen: fileOpen, declarationOpen: lineOpen, showRepoIdentity: false, fileBadgeChrome: showHeader ? false : !!fileViewer, hideActions: showHeader, externalName: isExt, showPurpose: showHeader ? purposeOpen : undefined, lineNumbers: numbered, verification: componentVerification && focusedAlias === c.alias
|
|
576
645
|
? componentVerification
|
|
577
646
|
: undefined }) }, c.alias));
|
|
578
647
|
})] }, runKey));
|