@principal-ai/principal-view-react 0.16.34 → 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 (31) hide show
  1. package/dist/subsystem/ComponentDetail.d.ts +12 -0
  2. package/dist/subsystem/ComponentDetail.d.ts.map +1 -0
  3. package/dist/subsystem/ComponentDetail.js +95 -0
  4. package/dist/subsystem/ComponentDetail.js.map +1 -0
  5. package/dist/subsystem/EdgeLegendModal.d.ts +18 -0
  6. package/dist/subsystem/EdgeLegendModal.d.ts.map +1 -0
  7. package/dist/subsystem/EdgeLegendModal.js +98 -0
  8. package/dist/subsystem/EdgeLegendModal.js.map +1 -0
  9. package/dist/subsystem/FileDrawer.d.ts +16 -0
  10. package/dist/subsystem/FileDrawer.d.ts.map +1 -0
  11. package/dist/subsystem/FileDrawer.js +72 -0
  12. package/dist/subsystem/FileDrawer.js.map +1 -0
  13. package/dist/subsystem/SubsystemComponentGraph.d.ts +0 -3
  14. package/dist/subsystem/SubsystemComponentGraph.d.ts.map +1 -1
  15. package/dist/subsystem/SubsystemComponentGraph.js +28 -190
  16. package/dist/subsystem/SubsystemComponentGraph.js.map +1 -1
  17. package/dist/subsystem/model.d.ts +0 -3
  18. package/dist/subsystem/model.d.ts.map +1 -1
  19. package/dist/subsystem/model.js.map +1 -1
  20. package/dist/subsystem/nodes.d.ts +2 -2
  21. package/dist/subsystem/nodes.d.ts.map +1 -1
  22. package/dist/subsystem/nodes.js +3 -21
  23. package/dist/subsystem/nodes.js.map +1 -1
  24. package/package.json +1 -1
  25. package/src/stories/SubsystemComponentGraph.stories.tsx +10 -10
  26. package/src/subsystem/ComponentDetail.tsx +187 -0
  27. package/src/subsystem/EdgeLegendModal.tsx +146 -0
  28. package/src/subsystem/FileDrawer.tsx +105 -0
  29. package/src/subsystem/SubsystemComponentGraph.tsx +42 -327
  30. package/src/subsystem/model.ts +0 -3
  31. package/src/subsystem/nodes.tsx +2 -29
@@ -0,0 +1,12 @@
1
+ /**
2
+ * ComponentDetail — selection detail panel for a subsystem component: the
3
+ * verifiable identity (symbol/file/purpose/purl) plus graphify drill-down
4
+ * sections. File content lives in the bottom FileDrawer, not here.
5
+ */
6
+ import { type SubsystemComponent } from './model';
7
+ /** Detail panel for the selected component — the verifiable identity + sources
8
+ * moved off the canvas so nodes stay minimal. */
9
+ export declare function ComponentDetail({ component }: {
10
+ component: SubsystemComponent;
11
+ }): import("react/jsx-runtime").JSX.Element;
12
+ //# sourceMappingURL=ComponentDetail.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ComponentDetail.d.ts","sourceRoot":"","sources":["../../src/subsystem/ComponentDetail.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAGL,KAAK,kBAAkB,EACxB,MAAM,SAAS,CAAC;AAGjB;kDACkD;AAClD,wBAAgB,eAAe,CAAC,EAAE,SAAS,EAAE,EAAE;IAAE,SAAS,EAAE,kBAAkB,CAAA;CAAE,2CAmE/E"}
@@ -0,0 +1,95 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { useTheme } from '@principal-ade/industry-theme';
3
+ import { KIND_COLOR, deriveNameFromSymbol, } from './model';
4
+ /** Detail panel for the selected component — the verifiable identity + sources
5
+ * moved off the canvas so nodes stay minimal. */
6
+ export function ComponentDetail({ component }) {
7
+ const { theme } = useTheme();
8
+ const muted = theme.colors.textMuted ?? theme.colors.textSecondary;
9
+ const color = KIND_COLOR[component.kind] ?? '#888';
10
+ const displayName = deriveNameFromSymbol(component.symbol, component.kind, component.name, component.file);
11
+ const rows = [];
12
+ if (component.symbol)
13
+ rows.push(['Symbol', component.symbol]);
14
+ if (component.file)
15
+ rows.push(['File', component.file]);
16
+ if (component.purpose)
17
+ rows.push(['Purpose', component.purpose]);
18
+ rows.push(['PURL', component.purl]);
19
+ return (_jsxs("div", { style: {
20
+ borderTop: `1px solid ${theme.colors.border}`,
21
+ background: theme.colors.background,
22
+ padding: '10px 12px',
23
+ fontFamily: theme.fonts.body,
24
+ }, children: [_jsxs("div", { style: {
25
+ display: 'flex',
26
+ alignItems: 'center',
27
+ gap: 8,
28
+ fontSize: theme.fontSizes[1],
29
+ fontWeight: 600,
30
+ marginBottom: 6,
31
+ }, children: [_jsx("span", { style: { color }, children: displayName }), _jsx("span", { style: {
32
+ fontSize: theme.fontSizes[0] * 0.8,
33
+ fontFamily: theme.fonts.monospace,
34
+ textTransform: 'uppercase',
35
+ color,
36
+ }, 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: {
37
+ width: 64,
38
+ flexShrink: 0,
39
+ color: muted,
40
+ fontFamily: theme.fonts.monospace,
41
+ textTransform: 'uppercase',
42
+ fontSize: theme.fontSizes[0] * 0.8,
43
+ }, children: k }), _jsx("span", { style: { color: theme.colors.text, fontFamily: theme.fonts.monospace }, children: v })] }, k))), component.detail && _jsx(GraphifyDetailSections, { detail: component.detail })] }));
44
+ }
45
+ /** Renders the graphify drill-down payload for a component. */
46
+ function GraphifyDetailSections({ detail }) {
47
+ const { theme } = useTheme();
48
+ const muted = theme.colors.textMuted ?? theme.colors.textSecondary;
49
+ const label = (k) => (_jsx("span", { style: {
50
+ width: 64,
51
+ flexShrink: 0,
52
+ color: muted,
53
+ fontFamily: theme.fonts.monospace,
54
+ textTransform: 'uppercase',
55
+ fontSize: theme.fontSizes[0] * 0.8,
56
+ }, children: k }));
57
+ const chip = (name, meta, key) => (_jsxs("span", { style: {
58
+ fontFamily: theme.fonts.monospace,
59
+ fontSize: theme.fontSizes[0],
60
+ color: theme.colors.text,
61
+ border: `1px solid ${theme.colors.border}`,
62
+ borderRadius: 4,
63
+ padding: '1px 6px',
64
+ marginRight: 6,
65
+ marginBottom: 4,
66
+ display: 'inline-block',
67
+ }, children: [name, meta ? _jsxs("span", { style: { color: muted }, children: [" ", meta] }) : ''] }, key));
68
+ 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 })] }));
69
+ switch (detail.kind) {
70
+ case 'class':
71
+ return (_jsxs(_Fragment, { children: [detail.methods.length > 0 &&
72
+ row('methods', detail.methods.map((m, i) => chip(m.name, m.returnType, i))), detail.properties.length > 0 &&
73
+ 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 &&
74
+ row('insts', detail.instantiations.map((i, idx) => chip(i.name, undefined, idx))), detail.references.length > 0 &&
75
+ row('refs', detail.references.map((r, idx) => chip(r.name, undefined, idx)))] }));
76
+ case 'function':
77
+ return (_jsxs(_Fragment, { children: [detail.parameters.length > 0 &&
78
+ 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 &&
79
+ row('callers', detail.callers.map((c, i) => chip(c.name, undefined, i))), detail.callees.length > 0 &&
80
+ row('callees', detail.callees.map((c, i) => chip(c.name, undefined, i)))] }));
81
+ case 'type':
82
+ return (_jsxs(_Fragment, { children: [detail.properties.length > 0 &&
83
+ row('props', detail.properties.map((p, i) => chip(p.name, p.type, i))), detail.usedBy.length > 0 &&
84
+ row('used by', detail.usedBy.map((u, i) => chip(u.name, undefined, i))), detail.implementors.length > 0 &&
85
+ row('impl', detail.implementors.map((e, i) => chip(e, undefined, i)))] }));
86
+ case 'module':
87
+ return (_jsxs(_Fragment, { children: [detail.exports.length > 0 &&
88
+ row('exports', detail.exports.map((e, i) => chip(e, undefined, i))), detail.imports.length > 0 &&
89
+ row('imports', detail.imports.map((i, idx) => chip(i.name, undefined, idx))), detail.symbols.length > 0 &&
90
+ row('symbols', detail.symbols.map((s, i) => chip(s, undefined, i)))] }));
91
+ case 'external':
92
+ return row('source', _jsx("span", { children: detail.label }));
93
+ }
94
+ }
95
+ //# sourceMappingURL=ComponentDetail.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ComponentDetail.js","sourceRoot":"","sources":["../../src/subsystem/ComponentDetail.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * EdgeLegendModal — modal over the graph area showing the edge-mechanism
3
+ * legend (moved out of the sidebar), plus the canonical mechanism
4
+ * descriptions table shared with the canvas's edge-label overlay.
5
+ */
6
+ import { type SubsystemEdgeMechanism } from './model';
7
+ /** Mechanism → [description, verifiable-with-graphify]. Drives the legend
8
+ * modal and the "not directly verifiable" styling of edge labels. */
9
+ export declare const MECHANISM_DESCRIPTIONS: [SubsystemEdgeMechanism, string, boolean][];
10
+ /** Modal over the graph area showing the edge-mechanism legend (moved out of
11
+ * the sidebar). Closes on backdrop click or Escape; renders nothing when
12
+ * closed. */
13
+ export declare function EdgeLegendModal({ open, mechanisms, onClose, }: {
14
+ open: boolean;
15
+ mechanisms: Set<string>;
16
+ onClose: () => void;
17
+ }): import("react/jsx-runtime").JSX.Element | null;
18
+ //# sourceMappingURL=EdgeLegendModal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EdgeLegendModal.d.ts","sourceRoot":"","sources":["../../src/subsystem/EdgeLegendModal.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,EAAmB,KAAK,sBAAsB,EAAE,MAAM,SAAS,CAAC;AAEvE;sEACsE;AACtE,eAAO,MAAM,sBAAsB,EAAE,CAAC,sBAAsB,EAAE,MAAM,EAAE,OAAO,CAAC,EAiB7E,CAAC;AAEF;;cAEc;AACd,wBAAgB,eAAe,CAAC,EAC9B,IAAI,EACJ,UAAU,EACV,OAAO,GACR,EAAE;IACD,IAAI,EAAE,OAAO,CAAC;IACd,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACxB,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB,kDAsGA"}
@@ -0,0 +1,98 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ /**
3
+ * EdgeLegendModal — modal over the graph area showing the edge-mechanism
4
+ * legend (moved out of the sidebar), plus the canonical mechanism
5
+ * descriptions table shared with the canvas's edge-label overlay.
6
+ */
7
+ import { useEffect } from 'react';
8
+ import { useTheme } from '@principal-ade/industry-theme';
9
+ import { X } from 'lucide-react';
10
+ import { MECHANISM_COLOR } from './model';
11
+ /** Mechanism → [description, verifiable-with-graphify]. Drives the legend
12
+ * modal and the "not directly verifiable" styling of edge labels. */
13
+ export const MECHANISM_DESCRIPTIONS = [
14
+ ['imports', 'import statement (code-level dependency)', true],
15
+ ['imports_from', 'imported by (reverse dependency)', true],
16
+ ['re_exports', 're-exports symbols from', true],
17
+ ['defines', 'defines / declares symbol', true],
18
+ ['calls', 'function/method call (call graph edge)', true],
19
+ ['extends', 'class inheritance', true],
20
+ ['inherits', 'class inheritance', true],
21
+ ['implements', 'implements interface / protocol', true],
22
+ ['mixes_in', 'applies mixin', true],
23
+ ['uses', 'general dependency (import, call, or reference)', false],
24
+ ['method', 'structural: has method / member', true],
25
+ ['references', 'type / symbol reference (not a call)', true],
26
+ ['contains', 'structural: contains / encapsulates', true],
27
+ ['feeds', 'data flow: output feeds into input', false],
28
+ ['produces', 'data flow: produces / outputs', false],
29
+ ['registers-into', 'registration pattern', false],
30
+ ];
31
+ /** Modal over the graph area showing the edge-mechanism legend (moved out of
32
+ * the sidebar). Closes on backdrop click or Escape; renders nothing when
33
+ * closed. */
34
+ export function EdgeLegendModal({ open, mechanisms, onClose, }) {
35
+ const { theme } = useTheme();
36
+ const muted = theme.colors.textMuted ?? theme.colors.textSecondary;
37
+ useEffect(() => {
38
+ if (!open)
39
+ return;
40
+ const onKey = (e) => {
41
+ if (e.key === 'Escape')
42
+ onClose();
43
+ };
44
+ window.addEventListener('keydown', onKey);
45
+ return () => window.removeEventListener('keydown', onKey);
46
+ }, [open, onClose]);
47
+ if (!open)
48
+ return null;
49
+ return (_jsx("div", { onClick: onClose, style: {
50
+ position: 'absolute',
51
+ inset: 0,
52
+ zIndex: 20,
53
+ display: 'flex',
54
+ alignItems: 'center',
55
+ justifyContent: 'center',
56
+ background: 'rgba(0,0,0,0.5)',
57
+ }, children: _jsxs("div", { onClick: (e) => e.stopPropagation(), style: {
58
+ background: theme.colors.background,
59
+ border: `1px solid ${theme.colors.border}`,
60
+ borderRadius: 8,
61
+ boxShadow: '0 8px 32px rgba(0,0,0,0.4)',
62
+ padding: '16px',
63
+ width: 420,
64
+ maxWidth: '90%',
65
+ maxHeight: '80%',
66
+ overflowY: 'auto',
67
+ fontFamily: theme.fonts.body,
68
+ }, children: [_jsxs("div", { style: {
69
+ display: 'flex',
70
+ alignItems: 'center',
71
+ justifyContent: 'space-between',
72
+ marginBottom: 12,
73
+ }, children: [_jsx("span", { style: {
74
+ fontSize: theme.fontSizes[1],
75
+ fontWeight: 600,
76
+ color: theme.colors.text,
77
+ }, children: "Edge Legend" }), _jsx("button", { type: "button", onClick: onClose, "aria-label": "Close legend", style: {
78
+ display: 'inline-flex',
79
+ alignItems: 'center',
80
+ justifyContent: 'center',
81
+ width: 22,
82
+ height: 22,
83
+ padding: 0,
84
+ border: 'none',
85
+ borderRadius: 4,
86
+ background: 'transparent',
87
+ color: theme.colors.text,
88
+ cursor: 'pointer',
89
+ }, children: _jsx(X, { size: 14 }) })] }), _jsx("div", { style: { display: 'flex', flexDirection: 'column', gap: 8 }, children: MECHANISM_DESCRIPTIONS.filter(([m]) => mechanisms.has(m)).map(([mechanism, desc, verifiable]) => (_jsxs("div", { style: { display: 'flex', alignItems: 'center', gap: 8, fontSize: theme.fontSizes[0] }, children: [_jsx("span", { style: {
90
+ width: 10,
91
+ height: 10,
92
+ borderRadius: verifiable ? '50%' : '30% 70% 70% 30% / 30% 30% 70% 70%',
93
+ background: MECHANISM_COLOR[mechanism],
94
+ border: verifiable ? 'none' : `1px dashed ${MECHANISM_COLOR[mechanism]}`,
95
+ flexShrink: 0,
96
+ } }), _jsx("span", { style: { fontFamily: theme.fonts.monospace, color: MECHANISM_COLOR[mechanism], fontWeight: 500 }, children: mechanism }), _jsx("span", { style: { color: muted }, children: desc })] }, mechanism))) })] }) }));
97
+ }
98
+ //# sourceMappingURL=EdgeLegendModal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EdgeLegendModal.js","sourceRoot":"","sources":["../../src/subsystem/EdgeLegendModal.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * FileDrawer — bottom panel that slides up from the bottom of the graph area
3
+ * to show a file's contents. Opened by sidebar file-tree clicks (and any host
4
+ * wiring); content is injected as children by the graph component.
5
+ */
6
+ import type { ReactNode } from 'react';
7
+ /** Bottom panel that slides up from the bottom of the graph area to show a
8
+ * file's contents — opened by node clicks and sidebar file-tree clicks
9
+ * alike. Sits in normal flow (canvas shrinks while open, nothing covered)
10
+ * and animates via height; stays mounted so open/close animates. */
11
+ export declare function FileDrawer({ file, onClose, children, }: {
12
+ file: string | null;
13
+ onClose: () => void;
14
+ children?: ReactNode;
15
+ }): import("react/jsx-runtime").JSX.Element;
16
+ //# sourceMappingURL=FileDrawer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FileDrawer.d.ts","sourceRoot":"","sources":["../../src/subsystem/FileDrawer.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIvC;;;qEAGqE;AACrE,wBAAgB,UAAU,CAAC,EACzB,IAAI,EACJ,OAAO,EACP,QAAQ,GACT,EAAE;IACD,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB,2CAiFA"}
@@ -0,0 +1,72 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ /**
3
+ * FileDrawer — bottom panel that slides up from the bottom of the graph area
4
+ * to show a file's contents. Opened by sidebar file-tree clicks (and any host
5
+ * wiring); content is injected as children by the graph component.
6
+ */
7
+ import { useEffect } from 'react';
8
+ import { useTheme } from '@principal-ade/industry-theme';
9
+ import { X } from 'lucide-react';
10
+ /** Bottom panel that slides up from the bottom of the graph area to show a
11
+ * file's contents — opened by node clicks and sidebar file-tree clicks
12
+ * alike. Sits in normal flow (canvas shrinks while open, nothing covered)
13
+ * and animates via height; stays mounted so open/close animates. */
14
+ export function FileDrawer({ file, onClose, children, }) {
15
+ const { theme } = useTheme();
16
+ const muted = theme.colors.textMuted ?? theme.colors.textSecondary;
17
+ const open = file !== null;
18
+ useEffect(() => {
19
+ if (!open)
20
+ return;
21
+ const onKey = (e) => {
22
+ if (e.key === 'Escape')
23
+ onClose();
24
+ };
25
+ window.addEventListener('keydown', onKey);
26
+ return () => window.removeEventListener('keydown', onKey);
27
+ }, [open, onClose]);
28
+ return (_jsxs("div", { style: {
29
+ position: 'relative',
30
+ // Above the absolute edge-label overlay (zIndex 5), which spans the
31
+ // whole graph-area container including this panel's slice.
32
+ zIndex: 6,
33
+ flexShrink: 0,
34
+ height: open ? '45%' : 0,
35
+ minHeight: 0,
36
+ overflow: 'hidden',
37
+ display: 'flex',
38
+ flexDirection: 'column',
39
+ background: theme.colors.background,
40
+ borderTop: open ? `1px solid ${theme.colors.border}` : 'none',
41
+ transition: 'height 200ms ease',
42
+ }, children: [_jsxs("div", { style: {
43
+ display: 'flex',
44
+ alignItems: 'center',
45
+ gap: 8,
46
+ padding: '6px 10px',
47
+ borderBottom: `1px solid ${theme.colors.border}`,
48
+ flexShrink: 0,
49
+ }, children: [_jsx("span", { title: file ?? undefined, style: {
50
+ flex: 1,
51
+ minWidth: 0,
52
+ overflow: 'hidden',
53
+ textOverflow: 'ellipsis',
54
+ whiteSpace: 'nowrap',
55
+ fontFamily: theme.fonts.monospace,
56
+ fontSize: theme.fontSizes[0],
57
+ color: muted,
58
+ }, children: file }), _jsx("button", { type: "button", onClick: onClose, "aria-label": "Close file", style: {
59
+ display: 'inline-flex',
60
+ alignItems: 'center',
61
+ justifyContent: 'center',
62
+ width: 22,
63
+ height: 22,
64
+ padding: 0,
65
+ border: 'none',
66
+ borderRadius: 4,
67
+ background: 'transparent',
68
+ color: theme.colors.text,
69
+ cursor: 'pointer',
70
+ }, children: _jsx(X, { size: 14 }) })] }), _jsx("div", { style: { flex: 1, minHeight: 0, overflow: 'auto' }, children: children })] }));
71
+ }
72
+ //# sourceMappingURL=FileDrawer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FileDrawer.js","sourceRoot":"","sources":["../../src/subsystem/FileDrawer.tsx"],"names":[],"mappings":"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"}
@@ -24,9 +24,6 @@ export interface SubsystemComponentGraphProps {
24
24
  maxNodeWidth?: number;
25
25
  /** Show edge labels (mechanism names) on the graph. @default true */
26
26
  showEdgeLabels?: boolean;
27
- /** Show the click-to-open file chip under each component name.
28
- * @default true */
29
- showFileBadges?: boolean;
30
27
  /** Subsystem title displayed in the sidebar. */
31
28
  title?: string;
32
29
  /** Markdown description rendered in the sidebar. */
@@ -1 +1 @@
1
- {"version":3,"file":"SubsystemComponentGraph.d.ts","sourceRoot":"","sources":["../../src/subsystem/SubsystemComponentGraph.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,OAAO,KAAK,EAAiC,SAAS,EAAE,MAAM,OAAO,CAAC;AAqBtE,OAAO,EAKL,KAAK,sBAAsB,EAC3B,KAAK,kBAAkB,EAExB,MAAM,SAAS,CAAC;AAyBjB,MAAM,WAAW,4BAA4B;IAC3C,UAAU,EAAE,kBAAkB,EAAE,CAAC;IACjC,KAAK,EAAE,sBAAsB,EAAE,CAAC;IAChC,QAAQ,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,6EAA6E;IAC7E,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,sBAAsB,KAAK,IAAI,CAAC;IACtD;kFAC8E;IAC9E,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,qEAAqE;IACrE,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;wBACoB;IACpB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,gDAAgD;IAChD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,oDAAoD;IACpD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,0EAA0E;IAC1E,aAAa,CAAC,EAAE,SAAS,CAAC;IAC1B,6DAA6D;IAC7D,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,gFAAgF;IAChF,uBAAuB,CAAC,EAAE,SAAS,CAAC;IACpC;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,SAAS,CAAC;IAC/C;;;;OAIG;IACH,cAAc,CAAC,EAAE,CAAC,SAAS,EAAE,kBAAkB,KAAK,SAAS,CAAC;IAC9D;;;OAGG;IACH,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACvC;AAgxBD,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,4BAA4B,2CAsC1E"}
1
+ {"version":3,"file":"SubsystemComponentGraph.d.ts","sourceRoot":"","sources":["../../src/subsystem/SubsystemComponentGraph.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,OAAO,KAAK,EAAiC,SAAS,EAAE,MAAM,OAAO,CAAC;AAqBtE,OAAO,EAGL,KAAK,sBAAsB,EAC3B,KAAK,kBAAkB,EAExB,MAAM,SAAS,CAAC;AAQjB,MAAM,WAAW,4BAA4B;IAC3C,UAAU,EAAE,kBAAkB,EAAE,CAAC;IACjC,KAAK,EAAE,sBAAsB,EAAE,CAAC;IAChC,QAAQ,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,6EAA6E;IAC7E,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,sBAAsB,KAAK,IAAI,CAAC;IACtD;kFAC8E;IAC9E,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,qEAAqE;IACrE,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,gDAAgD;IAChD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,oDAAoD;IACpD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,0EAA0E;IAC1E,aAAa,CAAC,EAAE,SAAS,CAAC;IAC1B,6DAA6D;IAC7D,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,gFAAgF;IAChF,uBAAuB,CAAC,EAAE,SAAS,CAAC;IACpC;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,SAAS,CAAC;IAC/C;;;;OAIG;IACH,cAAc,CAAC,EAAE,CAAC,SAAS,EAAE,kBAAkB,KAAK,SAAS,CAAC;IAC9D;;;OAGG;IACH,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACvC;AAygBD,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,4BAA4B,2CAsC1E"}