@principal-ai/subsystems-react 0.33.0 → 0.35.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. package/dist/index.d.ts +4 -0
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +2 -0
  4. package/dist/index.js.map +1 -1
  5. package/dist/subsystem/ComponentDeclaration.d.ts +7 -1
  6. package/dist/subsystem/ComponentDeclaration.d.ts.map +1 -1
  7. package/dist/subsystem/ComponentDeclaration.js +169 -5
  8. package/dist/subsystem/ComponentDeclaration.js.map +1 -1
  9. package/dist/subsystem/ConstructsCatalog.d.ts +9 -1
  10. package/dist/subsystem/ConstructsCatalog.d.ts.map +1 -1
  11. package/dist/subsystem/ConstructsCatalog.js +9 -2
  12. package/dist/subsystem/ConstructsCatalog.js.map +1 -1
  13. package/dist/subsystem/IssueList.d.ts +4 -2
  14. package/dist/subsystem/IssueList.d.ts.map +1 -1
  15. package/dist/subsystem/IssueList.js +6 -6
  16. package/dist/subsystem/IssueList.js.map +1 -1
  17. package/dist/subsystem/SubsystemComponentGraph.d.ts +13 -0
  18. package/dist/subsystem/SubsystemComponentGraph.d.ts.map +1 -1
  19. package/dist/subsystem/SubsystemComponentGraph.js +10 -3
  20. package/dist/subsystem/SubsystemComponentGraph.js.map +1 -1
  21. package/dist/subsystem/SymbolInspectionCard.d.ts +31 -0
  22. package/dist/subsystem/SymbolInspectionCard.d.ts.map +1 -0
  23. package/dist/subsystem/SymbolInspectionCard.js +247 -0
  24. package/dist/subsystem/SymbolInspectionCard.js.map +1 -0
  25. package/dist/subsystem/symbolRefs.d.ts +95 -0
  26. package/dist/subsystem/symbolRefs.d.ts.map +1 -0
  27. package/dist/subsystem/symbolRefs.js +167 -0
  28. package/dist/subsystem/symbolRefs.js.map +1 -0
  29. package/package.json +1 -1
  30. package/src/index.ts +14 -0
  31. package/src/stories/Subsystem/ComponentDeclarationSymbols.stories.tsx +269 -0
  32. package/src/subsystem/ComponentDeclaration.tsx +239 -9
  33. package/src/subsystem/ConstructsCatalog.tsx +20 -0
  34. package/src/subsystem/IssueList.tsx +10 -8
  35. package/src/subsystem/SubsystemComponentGraph.tsx +26 -1
  36. package/src/subsystem/SymbolInspectionCard.tsx +433 -0
  37. package/src/subsystem/symbolRefs.test.ts +127 -0
  38. package/src/subsystem/symbolRefs.ts +256 -0
package/dist/index.d.ts CHANGED
@@ -23,6 +23,10 @@ export { ConstructsCatalog } from './subsystem/ConstructsCatalog';
23
23
  export type { ConstructsCatalogProps } from './subsystem/ConstructsCatalog';
24
24
  export type { ComponentVerificationState, ComponentVerificationPhase, ComponentDeclarationProps, } from './subsystem/ComponentDeclaration';
25
25
  export { ComponentDeclaration } from './subsystem/ComponentDeclaration';
26
+ export { SymbolInspectionCard } from './subsystem/SymbolInspectionCard';
27
+ export type { SymbolInspectionCardProps } from './subsystem/SymbolInspectionCard';
28
+ export { extractDeclarationSymbolRefs, isLimitedInspection, } from './subsystem/symbolRefs';
29
+ export type { DeclarationSymbolRef, SymbolInspection, SymbolInspectionResolution, SymbolInspectionNode, SymbolInspectionSource, SymbolInspectionCandidate, } from './subsystem/symbolRefs';
26
30
  export { SubsystemDiagnosticToggle, diagnosticStatusColor, diagnosticTitle, } from './subsystem/DiagnosticToggle';
27
31
  export type { SubsystemDiagnostic, SubsystemDiagnosticStatus, SubsystemDiagnosticToggleProps, } from './subsystem/DiagnosticToggle';
28
32
  export { SubsystemIssueList, SubsystemIssueCard, groupIssuesByTarget, groupIssuesByCategory, issueCategory, issueKindLabel, humanizeIssueKind, issueKindOrder, worstSeverity, severityRank, SUBSYSTEM_ISSUE_CATEGORIES, SUBSYSTEM_ISSUE_CATEGORY_LABEL, } from './subsystem/IssueList';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -15,6 +15,8 @@ export { SubsystemComponentGraph } from './subsystem/SubsystemComponentGraph';
15
15
  export { SubsystemAggregateGraph } from './subsystem/SubsystemAggregateGraph';
16
16
  export { ConstructsCatalog } from './subsystem/ConstructsCatalog';
17
17
  export { ComponentDeclaration } from './subsystem/ComponentDeclaration';
18
+ export { SymbolInspectionCard } from './subsystem/SymbolInspectionCard';
19
+ export { extractDeclarationSymbolRefs, isLimitedInspection, } from './subsystem/symbolRefs';
18
20
  export { SubsystemDiagnosticToggle, diagnosticStatusColor, diagnosticTitle, } from './subsystem/DiagnosticToggle';
19
21
  export { SubsystemIssueList, SubsystemIssueCard, groupIssuesByTarget, groupIssuesByCategory, issueCategory, issueKindLabel, humanizeIssueKind, issueKindOrder, worstSeverity, severityRank, SUBSYSTEM_ISSUE_CATEGORIES, SUBSYSTEM_ISSUE_CATEGORY_LABEL, } from './subsystem/IssueList';
20
22
  export { MECHANISM_COLOR, MECHANISM_STYLE } from './subsystem/model';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,sEAAsE;AACtE,OAAO,EACL,gBAAgB,EAChB,uBAAuB,GACxB,MAAM,6BAA6B,CAAC;AAyCrC,OAAO,EACL,sBAAsB,EACtB,0BAA0B,EAC1B,sBAAsB,EACtB,mBAAmB,EACnB,cAAc,EACd,gBAAgB,EAChB,mBAAmB,EACnB,sBAAsB,EACtB,mBAAmB,EACnB,0BAA0B,EAC1B,eAAe,EACf,iBAAiB,EACjB,wBAAwB,EACxB,iBAAiB,GAClB,MAAM,YAAY,CAAC;AAWpB,uBAAuB;AACvB,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAExE,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAG1E,4BAA4B;AAC5B,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAE9E,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAQ9E,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAOlE,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,EACL,yBAAyB,EACzB,qBAAqB,EACrB,eAAe,GAChB,MAAM,8BAA8B,CAAC;AAMtC,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACrB,aAAa,EACb,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,aAAa,EACb,YAAY,EACZ,0BAA0B,EAC1B,8BAA8B,GAC/B,MAAM,uBAAuB,CAAC;AAY/B,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,8BAA8B,EAAE,MAAM,0BAA0B,CAAC;AAC3G,OAAO,EACL,WAAW,EACX,aAAa,EACb,oBAAoB,EACpB,eAAe,EACf,aAAa,GACd,MAAM,mBAAmB,CAAC;AAM3B,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAElE,OAAO,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAE7F,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAsBhE,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,eAAe,EACf,eAAe,EACf,oBAAoB,EACpB,qBAAqB,EACrB,gBAAgB,EAChB,qBAAqB,EACrB,kBAAkB,EAClB,0BAA0B,EAC1B,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,EACnB,sBAAsB,EACtB,wBAAwB,EACxB,gCAAgC,EAChC,UAAU,EACV,UAAU,EACV,qBAAqB,EACrB,cAAc,GACf,MAAM,mBAAmB,CAAC;AAM3B,OAAO,EACL,mBAAmB,EACnB,wBAAwB,EACxB,sBAAsB,EACtB,qBAAqB,GACtB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,8BAA8B,CAAC;AAGtC,6CAA6C;AAC7C,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,kBAAkB,EAAE,4BAA4B,EAAE,MAAM,UAAU,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,sEAAsE;AACtE,OAAO,EACL,gBAAgB,EAChB,uBAAuB,GACxB,MAAM,6BAA6B,CAAC;AAyCrC,OAAO,EACL,sBAAsB,EACtB,0BAA0B,EAC1B,sBAAsB,EACtB,mBAAmB,EACnB,cAAc,EACd,gBAAgB,EAChB,mBAAmB,EACnB,sBAAsB,EACtB,mBAAmB,EACnB,0BAA0B,EAC1B,eAAe,EACf,iBAAiB,EACjB,wBAAwB,EACxB,iBAAiB,GAClB,MAAM,YAAY,CAAC;AAWpB,uBAAuB;AACvB,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAExE,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAG1E,4BAA4B;AAC5B,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAE9E,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAQ9E,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAOlE,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AAExE,OAAO,EACL,4BAA4B,EAC5B,mBAAmB,GACpB,MAAM,wBAAwB,CAAC;AAShC,OAAO,EACL,yBAAyB,EACzB,qBAAqB,EACrB,eAAe,GAChB,MAAM,8BAA8B,CAAC;AAMtC,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACrB,aAAa,EACb,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,aAAa,EACb,YAAY,EACZ,0BAA0B,EAC1B,8BAA8B,GAC/B,MAAM,uBAAuB,CAAC;AAY/B,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,8BAA8B,EAAE,MAAM,0BAA0B,CAAC;AAC3G,OAAO,EACL,WAAW,EACX,aAAa,EACb,oBAAoB,EACpB,eAAe,EACf,aAAa,GACd,MAAM,mBAAmB,CAAC;AAM3B,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAElE,OAAO,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAE7F,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAsBhE,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,eAAe,EACf,eAAe,EACf,oBAAoB,EACpB,qBAAqB,EACrB,gBAAgB,EAChB,qBAAqB,EACrB,kBAAkB,EAClB,0BAA0B,EAC1B,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,EACnB,sBAAsB,EACtB,wBAAwB,EACxB,gCAAgC,EAChC,UAAU,EACV,UAAU,EACV,qBAAqB,EACrB,cAAc,GACf,MAAM,mBAAmB,CAAC;AAM3B,OAAO,EACL,mBAAmB,EACnB,wBAAwB,EACxB,sBAAsB,EACtB,qBAAqB,GACtB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,8BAA8B,CAAC;AAGtC,6CAA6C;AAC7C,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,kBAAkB,EAAE,4BAA4B,EAAE,MAAM,UAAU,CAAC"}
@@ -8,6 +8,7 @@
8
8
  /// <reference types="react" />
9
9
  import { type SubsystemComponent } from './model';
10
10
  import type { SubsystemOpenFileOptions } from './declarationRef';
11
+ import type { DeclarationSymbolRef, SymbolInspection } from './symbolRefs';
11
12
  /** Live / result state for the declaration-panel Verify control. */
12
13
  export type ComponentVerificationPhase = 'idle' | 'checking' | 'done' | 'error';
13
14
  export interface ComponentVerificationState {
@@ -76,6 +77,11 @@ export interface ComponentDeclarationProps {
76
77
  /** Related-name click (types, callers/callees, implementors, …) → select
77
78
  * that component if one matches; unmatched refs no-op. */
78
79
  onRelatedSelect?: (ref: string) => void;
80
+ /** Referenced-symbol click → resolve it against graphify. When absent,
81
+ * symbols are not clickable. Host-injected; stories pass a fixture. */
82
+ onInspectSymbol?: (symbol: string, ref: DeclarationSymbolRef) => Promise<SymbolInspection | null> | SymbolInspection | null;
83
+ /** "Add to references" from the inspection card. */
84
+ onAddToModel?: (ref: DeclarationSymbolRef, info?: SymbolInspection) => void;
79
85
  /** Max width of the declaration panel (CSS value). Defaults to none. */
80
86
  maxWidth?: string | number;
81
87
  /** Live verification status for the selected component. */
@@ -97,5 +103,5 @@ export interface ComponentDeclarationProps {
97
103
  fileBadgeChrome?: boolean;
98
104
  }
99
105
  /** Declaration panel for the selected component — its definition, code-style. */
100
- export declare function ComponentDeclaration({ component, onOpenFile, onRelatedSelect, maxWidth, verification, defaultShowFile, fileOpen, declarationOpen, showRepoIdentity, fileBadgeChrome, }: ComponentDeclarationProps): import("react").JSX.Element;
106
+ export declare function ComponentDeclaration({ component, onOpenFile, onRelatedSelect, onInspectSymbol, onAddToModel, maxWidth, verification, defaultShowFile, fileOpen, declarationOpen, showRepoIdentity, fileBadgeChrome, }: ComponentDeclarationProps): import("react").JSX.Element;
101
107
  //# 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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"}
@@ -6,7 +6,7 @@ import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-run
6
6
  * members as signatures. Graphify relationship drill-downs appear as trailing
7
7
  * comments. File content lives in the bottom FileDrawer, not here.
8
8
  */
9
- import { useEffect, useRef, useState } from 'react';
9
+ import { useCallback, useEffect, useMemo, useRef, useState } from 'react';
10
10
  import { AlignLeft, FileText } from 'lucide-react';
11
11
  import { useTheme } from '@principal-ade/industry-theme';
12
12
  import { resolvePierreSyntaxThemeName } from '../pierre/pierreSyntaxTheme';
@@ -14,6 +14,28 @@ import { formatPurl, } from './model';
14
14
  import { parseSourceLocation } from './declarationRef';
15
15
  import { tokenizeComponent } from './tokenizeComponent';
16
16
  import { componentColor } from '../pierre/constructColors';
17
+ import { extractDeclarationSymbolRefs } from './symbolRefs';
18
+ import { SymbolInspectionCard } from './SymbolInspectionCard';
19
+ /** Whole-word occurrences of `name` in `text` (identifier boundaries only). */
20
+ function findSymbolOccurrences(text, name) {
21
+ const out = [];
22
+ if (!name)
23
+ return out;
24
+ const isWordChar = (ch) => /[\w$]/.test(ch);
25
+ let from = 0;
26
+ for (;;) {
27
+ const idx = text.indexOf(name, from);
28
+ if (idx < 0)
29
+ break;
30
+ const before = idx > 0 ? text[idx - 1] : '';
31
+ const after = text[idx + name.length] ?? '';
32
+ if ((!before || !isWordChar(before)) && (!after || !isWordChar(after))) {
33
+ out.push({ start: idx, end: idx + name.length });
34
+ }
35
+ from = idx + name.length;
36
+ }
37
+ return out;
38
+ }
17
39
  /** Shared affordance for clickable text pieces. */
18
40
  const clickableStyle = {
19
41
  cursor: 'pointer',
@@ -155,7 +177,7 @@ function verificationSummary(v, muted, ok, warn) {
155
177
  return { text: bits.join(' · ') || 'done', color: muted };
156
178
  }
157
179
  /** Declaration panel for the selected component — its definition, code-style. */
158
- export function ComponentDeclaration({ component, onOpenFile, onRelatedSelect: _onRelatedSelect, maxWidth, verification, defaultShowFile = false, fileOpen = false, declarationOpen = false, showRepoIdentity = true, fileBadgeChrome = false, }) {
180
+ export function ComponentDeclaration({ component, onOpenFile, onRelatedSelect: _onRelatedSelect, onInspectSymbol, onAddToModel, maxWidth, verification, defaultShowFile = false, fileOpen = false, declarationOpen = false, showRepoIdentity = true, fileBadgeChrome = false, }) {
159
181
  const { theme, mode } = useTheme();
160
182
  const pierreSyntaxTheme = resolvePierreSyntaxThemeName(mode);
161
183
  const [hoverSeg, setHoverSeg] = useState(null);
@@ -177,6 +199,41 @@ export function ComponentDeclaration({ component, onOpenFile, onRelatedSelect: _
177
199
  };
178
200
  /** Fallback when wire tokens omit Shiki colors. */
179
201
  const declarationTextColor = muted;
202
+ // Symbols the declaration references — made clickable for a graphify lookup.
203
+ const symbolRefs = useMemo(() => extractDeclarationSymbolRefs(component.declaration), [component.declaration]);
204
+ const [inspection, setInspection] = useState(null);
205
+ // Symbol name currently hovered, so every occurrence of the same symbol can
206
+ // highlight together (and stay lit while its popover is open).
207
+ const [hoveredSymbol, setHoveredSymbol] = useState(null);
208
+ const activeSymbol = inspection?.ref.name ?? null;
209
+ // Dismiss the inspection card on outside click / Escape.
210
+ useEffect(() => {
211
+ if (!inspection)
212
+ return;
213
+ const onDown = (e) => {
214
+ const t = e.target;
215
+ // The popover, and the symbol spans themselves (they toggle on click),
216
+ // must not be treated as outside.
217
+ if (t?.closest('[data-symbol-inspection]'))
218
+ return;
219
+ if (t?.closest('[data-symbol-ref]'))
220
+ return;
221
+ setInspection(null);
222
+ };
223
+ const onKey = (e) => {
224
+ if (e.key === 'Escape') {
225
+ // Drop focus from the symbol span so no focus ring lingers after close.
226
+ document.activeElement?.blur?.();
227
+ setInspection(null);
228
+ }
229
+ };
230
+ document.addEventListener('mousedown', onDown);
231
+ document.addEventListener('keydown', onKey);
232
+ return () => {
233
+ document.removeEventListener('mousedown', onDown);
234
+ document.removeEventListener('keydown', onKey);
235
+ };
236
+ }, [inspection]);
180
237
  const declarationStartLine = component.declarationRef?.startLine ??
181
238
  verification?.declaration?.ref?.startLine ??
182
239
  parseSourceLocation(verification?.anchor?.source_location) ??
@@ -412,15 +469,118 @@ export function ComponentDeclaration({ component, onOpenFile, onRelatedSelect: _
412
469
  cancelled = true;
413
470
  };
414
471
  }, [component, printWidth, pierreSyntaxTheme]);
472
+ // Map character offsets in the concatenated token text to referenced symbols,
473
+ // so inline occurrences render as clickable spans. `-1` = not a symbol.
474
+ const clickIndex = useMemo(() => {
475
+ const full = tokens.map((t) => t.text).join('');
476
+ const rangeAt = new Int32Array(full.length).fill(-1);
477
+ if (!onInspectSymbol || symbolRefs.length === 0) {
478
+ return { ranges: [], rangeAt };
479
+ }
480
+ const ranges = [];
481
+ for (const ref of symbolRefs) {
482
+ for (const occ of findSymbolOccurrences(full, ref.name)) {
483
+ ranges.push({ start: occ.start, end: occ.end, ref });
484
+ }
485
+ }
486
+ ranges.sort((a, b) => a.start - b.start);
487
+ ranges.forEach((r, i) => {
488
+ for (let k = r.start; k < r.end && k < rangeAt.length; k++) {
489
+ if (rangeAt[k] === -1)
490
+ rangeAt[k] = i;
491
+ }
492
+ });
493
+ return { ranges, rangeAt };
494
+ }, [onInspectSymbol, symbolRefs, tokens]);
495
+ const handleInspect = useCallback(async (ref, el) => {
496
+ if (!onInspectSymbol)
497
+ return;
498
+ // Toggle: clicking the symbol whose popover is already open closes it.
499
+ if (inspection?.ref.name === ref.name) {
500
+ setInspection(null);
501
+ return;
502
+ }
503
+ let x = 0;
504
+ let y = 0;
505
+ const cont = containerRef.current;
506
+ if (cont) {
507
+ const crect = cont.getBoundingClientRect();
508
+ const r = el.getBoundingClientRect();
509
+ x = r.left - crect.left;
510
+ y = r.bottom - crect.top + 4;
511
+ }
512
+ setInspection({ ref, loading: true, x, y });
513
+ try {
514
+ const info = await onInspectSymbol(ref.name, ref);
515
+ setInspection((cur) => cur?.ref.name === ref.name
516
+ ? { ref, loading: false, info: info ?? undefined, x, y }
517
+ : cur);
518
+ }
519
+ catch (err) {
520
+ setInspection((cur) => cur?.ref.name === ref.name
521
+ ? {
522
+ ref,
523
+ loading: false,
524
+ error: err instanceof Error ? err.message : String(err),
525
+ x,
526
+ y,
527
+ }
528
+ : cur);
529
+ }
530
+ }, [onInspectSymbol, inspection]);
415
531
  const declLines = [[]];
416
532
  let di = 0;
533
+ let offset = 0;
417
534
  for (const tok of tokens) {
418
535
  if (tok.kind === 'newline') {
419
536
  declLines.push([]);
420
537
  di++;
421
538
  continue;
422
539
  }
423
- declLines[di].push(_jsx("span", { style: { color: tok.color ?? tokenColor[tok.kind] ?? declarationTextColor }, children: tok.text }, `${di}-${declLines[di].length}`));
540
+ const color = tok.color ?? tokenColor[tok.kind] ?? declarationTextColor;
541
+ let i = 0;
542
+ while (i < tok.text.length) {
543
+ const rIdx = clickIndex.rangeAt[offset + i] ?? -1;
544
+ let j = i + 1;
545
+ while (j < tok.text.length && (clickIndex.rangeAt[offset + j] ?? -1) === rIdx) {
546
+ j++;
547
+ }
548
+ const piece = tok.text.slice(i, j);
549
+ const key = `${di}-${declLines[di].length}`;
550
+ const range = rIdx >= 0 ? clickIndex.ranges[rIdx] : undefined;
551
+ if (range) {
552
+ const ref = range.ref;
553
+ const hovered = hoveredSymbol === ref.name;
554
+ // Active (popover open for this symbol) is the only state that gets a
555
+ // solid underline; hover just shifts the color.
556
+ const active = activeSymbol === ref.name;
557
+ const lit = hovered || active;
558
+ declLines[di].push(_jsx("span", { role: "button", tabIndex: 0, "data-symbol-ref": ref.name,
559
+ // Don't take focus on mouse click — otherwise closing the popover
560
+ // (Escape) leaves a focus ring around the clicked symbol.
561
+ onMouseDown: (e) => e.preventDefault(), onMouseEnter: () => setHoveredSymbol(ref.name), onMouseLeave: (e) => {
562
+ // Keep it lit when moving straight to another occurrence of the
563
+ // same symbol; otherwise clear on unhover.
564
+ const to = e.relatedTarget;
565
+ const next = to?.closest('[data-symbol-ref]')?.getAttribute('data-symbol-ref');
566
+ if (next === ref.name)
567
+ return;
568
+ setHoveredSymbol((s) => (s === ref.name ? null : s));
569
+ }, onClick: (e) => handleInspect(ref, e.currentTarget), style: {
570
+ // Lit occurrences shift to the accent color (no background fill).
571
+ color: lit ? theme.colors.accent ?? theme.colors.secondary : color,
572
+ cursor: 'pointer',
573
+ textDecorationLine: 'underline',
574
+ textDecorationStyle: active ? 'solid' : 'dotted',
575
+ textUnderlineOffset: 2,
576
+ }, children: piece }, key));
577
+ }
578
+ else {
579
+ declLines[di].push(_jsx("span", { style: { color }, children: piece }, key));
580
+ }
581
+ i = j;
582
+ }
583
+ offset += tok.text.length;
424
584
  }
425
585
  for (let li = 0; li < declLines.length; li++) {
426
586
  if (declLines[li].length === 0)
@@ -440,7 +600,11 @@ export function ComponentDeclaration({ component, onOpenFile, onRelatedSelect: _
440
600
  lines.push(line(_jsx("div", { style: { height: 6 } }), 'purpose-gap', false, 'normal'));
441
601
  component.purpose.split('\n').forEach((purposeLine, i) => lines.push(line(_jsx("span", { style: purposeStyle, children: purposeLine.trim() }, `purpose${i}`), `purpose${i}`, false, 'normal')));
442
602
  }
443
- return (_jsx("div", { ref: containerRef, style: {
603
+ const inspectionLeft = inspection
604
+ ? Math.max(0, Math.min(inspection.x, Math.max(0, (containerRef.current?.clientWidth ?? 320) - 320)))
605
+ : 0;
606
+ return (_jsxs("div", { ref: containerRef, onMouseLeave: () => setHoveredSymbol(null), style: {
607
+ position: 'relative',
444
608
  width: '100%',
445
609
  minWidth: 0,
446
610
  boxSizing: 'border-box',
@@ -451,6 +615,6 @@ export function ComponentDeclaration({ component, onOpenFile, onRelatedSelect: _
451
615
  lineHeight: 1.7,
452
616
  overflowWrap: 'anywhere',
453
617
  ...(maxWidth != null ? { maxWidth } : {}),
454
- }, children: lines }));
618
+ }, children: [lines, inspection && !inspection.loading && (_jsx(SymbolInspectionCard, { symbolRef: inspection.ref, inspection: inspection.info, error: inspection.error, onClose: () => setInspection(null), onAddToModel: onAddToModel, onOpenFile: onOpenFile, style: { left: inspectionLeft, top: inspection.y } }))] }));
455
619
  }
456
620
  //# sourceMappingURL=ComponentDeclaration.js.map
@@ -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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"}
@@ -10,6 +10,7 @@ import type { ReactNode } from 'react';
10
10
  import { type SubsystemComponent } from './model';
11
11
  import type { SubsystemOpenFileOptions } from './declarationRef';
12
12
  import type { ComponentVerificationState } from './ComponentDeclaration';
13
+ import type { DeclarationSymbolRef, SymbolInspection } from './symbolRefs';
13
14
  import { type SubsystemDiagnostic } from './DiagnosticToggle';
14
15
  export interface ConstructsCatalogProps {
15
16
  components: SubsystemComponent[];
@@ -24,6 +25,13 @@ export interface ConstructsCatalogProps {
24
25
  renderFileView?: (component: SubsystemComponent) => ReactNode;
25
26
  onFileSelect?: (file: string) => void;
26
27
  componentVerification?: ComponentVerificationState | null;
28
+ /** Referenced-symbol click → host graphify lookup (purl/file from the card). */
29
+ onInspectSymbol?: (req: {
30
+ purl: string;
31
+ file: string;
32
+ symbol: string;
33
+ ref: DeclarationSymbolRef;
34
+ }) => Promise<SymbolInspection | null> | SymbolInspection | null;
27
35
  }
28
- export declare function ConstructsCatalog({ components, onSelect, title, hideSidebar, description, diagnostic, sidebarExtra, sidebarAfterDescription, renderFileViewer, renderFileView, onFileSelect, componentVerification, }: ConstructsCatalogProps): import("react").JSX.Element;
36
+ export declare function ConstructsCatalog({ components, onSelect, title, hideSidebar, description, diagnostic, sidebarExtra, sidebarAfterDescription, renderFileViewer, renderFileView, onFileSelect, componentVerification, onInspectSymbol, }: ConstructsCatalogProps): import("react").JSX.Element;
29
37
  //# sourceMappingURL=ConstructsCatalog.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ConstructsCatalog.d.ts","sourceRoot":"","sources":["../../src/subsystem/ConstructsCatalog.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIvC,OAAO,EAKL,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,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,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,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;CAC3D;AA4FD,wBAAgB,iBAAiB,CAAC,EAChC,UAAU,EACV,QAAQ,EACR,KAAK,EACL,WAAW,EACX,WAAW,EACX,UAAU,EACV,YAAY,EACZ,uBAAuB,EACvB,gBAAgB,EAChB,cAAc,EACd,YAAY,EACZ,qBAAqB,GACtB,EAAE,sBAAsB,+BA+0BxB"}
1
+ {"version":3,"file":"ConstructsCatalog.d.ts","sourceRoot":"","sources":["../../src/subsystem/ConstructsCatalog.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIvC,OAAO,EAKL,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,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,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;AA4FD,wBAAgB,iBAAiB,CAAC,EAChC,UAAU,EACV,QAAQ,EACR,KAAK,EACL,WAAW,EACX,WAAW,EACX,UAAU,EACV,YAAY,EACZ,uBAAuB,EACvB,gBAAgB,EAChB,cAAc,EACd,YAAY,EACZ,qBAAqB,EACrB,eAAe,GAChB,EAAE,sBAAsB,+BA01BxB"}
@@ -81,7 +81,7 @@ function repoLogo(c) {
81
81
  return `https://github.com/${m[1]}.png?size=40`;
82
82
  return undefined;
83
83
  }
84
- export function ConstructsCatalog({ components, onSelect, title, hideSidebar, description, diagnostic, sidebarExtra, sidebarAfterDescription, renderFileViewer, renderFileView, onFileSelect, componentVerification, }) {
84
+ export function ConstructsCatalog({ components, onSelect, title, hideSidebar, description, diagnostic, sidebarExtra, sidebarAfterDescription, renderFileViewer, renderFileView, onFileSelect, componentVerification, onInspectSymbol, }) {
85
85
  const { theme, mode } = useTheme();
86
86
  const pierreTheme = resolvePierreSyntaxThemeName(mode);
87
87
  const muted = theme.colors.textMuted ?? theme.colors.textSecondary;
@@ -579,7 +579,14 @@ export function ConstructsCatalog({ components, onSelect, title, hideSidebar, de
579
579
  borderRadius: 8,
580
580
  overflow: 'hidden',
581
581
  flexShrink: 0,
582
- }, children: _jsx(ComponentDeclaration, { component: c, onOpenFile: fileViewer ? onOpenFile : undefined, defaultShowFile: !!fileViewer, onRelatedSelect: onRelatedSelect, fileOpen: fileOpen, declarationOpen: lineOpen, showRepoIdentity: false, fileBadgeChrome: !!fileViewer, verification: componentVerification && focusedAlias === c.alias
582
+ }, children: _jsx(ComponentDeclaration, { component: c, onOpenFile: fileViewer ? onOpenFile : undefined, defaultShowFile: !!fileViewer, onRelatedSelect: onRelatedSelect, onInspectSymbol: onInspectSymbol
583
+ ? (symbol, ref) => onInspectSymbol({
584
+ purl: c.purl,
585
+ file: c.file,
586
+ symbol,
587
+ ref,
588
+ })
589
+ : undefined, fileOpen: fileOpen, declarationOpen: lineOpen, showRepoIdentity: false, fileBadgeChrome: !!fileViewer, verification: componentVerification && focusedAlias === c.alias
583
590
  ? componentVerification
584
591
  : undefined }) }, c.alias));
585
592
  })] }, group.key)))) : (_jsx("p", { style: {