@pipelex/mthds-ui 0.5.1 → 0.6.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.
- package/dist/{chunk-DDAAVRWG.js → chunk-2NMEKWO5.js} +15 -2
- package/dist/chunk-IZ4FH2WM.js +1 -0
- package/dist/{chunk-OMJ6DRXM.js → chunk-NISDJYQJ.js} +283 -33
- package/dist/chunk-NISDJYQJ.js.map +1 -0
- package/dist/graph/index.d.ts +52 -4
- package/dist/graph/index.js +15 -3
- package/dist/graph/react/graph-core.css +60 -0
- package/dist/graph/react/index.css +12 -0
- package/dist/graph/react/index.css.map +1 -1
- package/dist/graph/react/index.d.ts +15 -3
- package/dist/graph/react/index.js +320 -35
- package/dist/graph/react/index.js.map +1 -1
- package/dist/graph/react/viewer/GraphToolbar.css +14 -0
- package/dist/index.d.ts +2 -2
- package/dist/index.js +15 -3
- package/dist/shiki/index.js +1 -1
- package/dist/{types--1tl-afL.d.ts → types-C7rr1Egj.d.ts} +23 -3
- package/package.json +1 -1
- package/dist/chunk-IX35IG2I.js +0 -1
- package/dist/chunk-OMJ6DRXM.js.map +0 -1
- /package/dist/{chunk-DDAAVRWG.js.map → chunk-2NMEKWO5.js.map} +0 -0
- /package/dist/{chunk-IX35IG2I.js.map → chunk-IZ4FH2WM.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/graph/react/stuff/StuffViewer.css","../../../src/graph/react/detail/DetailPanel.css","../../../src/graph/react/viewer/GraphToolbar.css"],"sourcesContent":["/* ─── StuffViewer component styles ────────────────────────────────────────── */\n/* Uses CSS custom properties for consumer theming. Defaults match graph-core.css. */\n\n.stuff-viewer {\n --sv-bg: var(--color-bg, #0a0a0a);\n --sv-surface: var(--color-surface, #16213e);\n --sv-surface-hover: var(--color-surface-hover, #1f2b47);\n --sv-border: var(--color-border, #2a3a5a);\n --sv-text: var(--color-text, #e2e8f0);\n --sv-text-muted: var(--color-text-muted, #94a3b8);\n --sv-accent: var(--color-accent, #3b82f6);\n --sv-success: #10b981;\n --sv-success-bg: rgba(16, 185, 129, 0.2);\n --sv-radius: 4px;\n --sv-font-sans: var(\n --font-sans,\n \"Inter\",\n -apple-system,\n BlinkMacSystemFont,\n \"Segoe UI\",\n sans-serif\n );\n --sv-font-mono: var(--font-mono, \"JetBrains Mono\", \"Monaco\", \"Menlo\", monospace);\n\n font-family: var(--sv-font-sans);\n color: var(--sv-text);\n display: flex;\n flex-direction: column;\n height: 100%;\n}\n\n/* ─── Header ─────────────────────────────────────────────────────────────── */\n\n.stuff-viewer-header {\n display: flex;\n flex-direction: column;\n gap: 2px;\n padding: 12px 16px 8px;\n border-bottom: 1px solid var(--sv-border);\n flex-shrink: 0;\n}\n\n.stuff-viewer-title {\n font-size: 14px;\n font-weight: 600;\n color: var(--sv-text);\n margin: 0;\n}\n\n.stuff-viewer-subtitle {\n font-size: 12px;\n color: var(--sv-text-muted);\n margin: 0;\n}\n\n/* ─── Toolbar: tabs + action buttons ─────────────────────────────────────── */\n\n.stuff-viewer-toolbar {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 8px 16px;\n gap: 8px;\n flex-shrink: 0;\n}\n\n.stuff-viewer-tabs {\n display: flex;\n gap: 4px;\n}\n\n.stuff-viewer-tab {\n padding: 5px 10px;\n border-radius: var(--sv-radius);\n cursor: pointer;\n font-size: 12px;\n font-weight: 500;\n background: var(--sv-surface-hover);\n color: var(--sv-text-muted);\n border: none;\n transition:\n background 0.15s,\n color 0.15s;\n}\n\n.stuff-viewer-tab:hover {\n background: var(--sv-border);\n color: var(--sv-text);\n}\n\n.stuff-viewer-tab--active {\n background: var(--sv-accent);\n color: #fff;\n}\n\n/* ─── Action buttons ─────────────────────────────────────────────────────── */\n\n.stuff-viewer-actions {\n display: flex;\n gap: 4px;\n}\n\n.stuff-viewer-action-btn {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 28px;\n height: 28px;\n border-radius: var(--sv-radius);\n cursor: pointer;\n background: var(--sv-surface-hover);\n color: var(--sv-text-muted);\n border: none;\n transition:\n background 0.15s,\n color 0.15s;\n}\n\n.stuff-viewer-action-btn:hover {\n background: var(--sv-border);\n color: var(--sv-text);\n}\n\n.stuff-viewer-action-btn--copied {\n background: var(--sv-success-bg);\n color: var(--sv-success);\n}\n\n.stuff-viewer-action-btn svg {\n width: 14px;\n height: 14px;\n fill: currentColor;\n}\n\n/* ─── Content area ───────────────────────────────────────────────────────── */\n\n.stuff-viewer-content {\n flex: 1;\n overflow: auto;\n padding: 12px 16px 16px;\n min-height: 0;\n}\n\n/* Pre-formatted text (JSON and Pretty tabs) */\n.stuff-viewer-pre {\n font-family: var(--sv-font-mono);\n font-size: 11px;\n line-height: 1.5;\n white-space: pre-wrap;\n word-wrap: break-word;\n margin: 0;\n color: var(--sv-text-muted);\n}\n\n.stuff-viewer-pre--nowrap {\n white-space: pre;\n word-wrap: normal;\n line-height: 1;\n overflow-x: auto;\n padding-right: 20px;\n}\n\n/* HTML content */\n.stuff-viewer-html {\n font-family: var(--sv-font-sans);\n font-size: 11px;\n color: var(--sv-text-muted);\n line-height: 1.5;\n}\n\n.stuff-viewer-html table {\n border-collapse: collapse;\n width: 100%;\n}\n\n.stuff-viewer-html th,\n.stuff-viewer-html td {\n border: 1px solid var(--sv-border);\n padding: 8px 12px;\n text-align: left;\n}\n\n.stuff-viewer-html th {\n background: var(--sv-surface-hover);\n color: var(--sv-text);\n font-weight: 600;\n}\n\n.stuff-viewer-html tr:hover {\n background: var(--sv-surface-hover);\n}\n\n.stuff-viewer-html a {\n color: var(--sv-accent);\n text-decoration: none;\n}\n\n.stuff-viewer-html a:hover {\n text-decoration: underline;\n}\n\n.stuff-viewer-html ul {\n list-style: none;\n padding-left: 0;\n margin: 0;\n}\n\n/* PDF embed */\n.stuff-viewer-pdf {\n min-height: 400px;\n height: 100%;\n}\n\n.stuff-viewer-pdf embed {\n width: 100%;\n height: 100%;\n min-height: 500px;\n border: none;\n}\n\n/* Image content */\n.stuff-viewer-image {\n display: flex;\n justify-content: center;\n align-items: center;\n min-height: 200px;\n}\n\n.stuff-viewer-image img {\n max-width: 100%;\n max-height: 70vh;\n object-fit: contain;\n}\n\n/* Local file fallback (file:// URLs that can't render inline) */\n.stuff-viewer-local-file {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 16px;\n border-radius: 6px;\n background: var(--sv-surface);\n border: 1px solid var(--sv-border);\n}\n\n/* Clickable variant — used when an open-externally action is bound (e.g. PDF\n fallback in hosts that can't render <embed type=\"application/pdf\">). */\nbutton.stuff-viewer-local-file--button {\n width: 100%;\n text-align: left;\n font: inherit;\n color: inherit;\n cursor: pointer;\n transition:\n background 0.15s ease,\n border-color 0.15s ease;\n}\n\nbutton.stuff-viewer-local-file--button:hover {\n background: var(--sv-surface-hover, var(--sv-surface));\n border-color: var(--sv-accent, var(--sv-border));\n}\n\nbutton.stuff-viewer-local-file--button:focus-visible {\n outline: 2px solid var(--sv-accent, var(--sv-border));\n outline-offset: 2px;\n}\n\n.stuff-viewer-local-file-icon {\n flex-shrink: 0;\n width: 32px;\n height: 32px;\n color: var(--sv-text-muted);\n}\n\n.stuff-viewer-local-file-icon svg {\n width: 100%;\n height: 100%;\n fill: currentColor;\n}\n\n.stuff-viewer-local-file-info {\n flex: 1;\n min-width: 0;\n}\n\n.stuff-viewer-local-file-name {\n font-family: var(--sv-font-mono);\n font-size: 12px;\n color: var(--sv-text);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.stuff-viewer-local-file-hint {\n font-size: 11px;\n color: var(--sv-text-muted);\n margin-top: 2px;\n}\n\n/* Placeholder for missing data */\n.stuff-viewer-placeholder {\n color: var(--sv-text-muted);\n font-style: italic;\n font-size: 13px;\n}\n","/* ─── Detail Panel — sliding side panel for node inspection ─────────────── */\n\n.detail-panel {\n position: absolute;\n top: 0;\n right: 0;\n width: 380px;\n height: 100%;\n background: #111118;\n border-left: 1px solid rgba(255, 255, 255, 0.1);\n z-index: 10;\n display: flex;\n flex-direction: column;\n font-family: \"Inter\", -apple-system, sans-serif;\n color: #e2e8f0;\n overflow: hidden;\n transition: transform 0.2s ease;\n}\n\n.detail-panel--closed {\n transform: translateX(100%);\n pointer-events: none;\n}\n\n/* ─── Resize handle — left edge drag target ────────────────────────────── */\n\n.detail-panel-resize-handle {\n position: absolute;\n top: 0;\n left: -6px;\n width: 12px;\n height: 100%;\n cursor: col-resize;\n z-index: 2;\n background: transparent;\n}\n\n/* Visible bar — narrower than the hit area */\n.detail-panel-resize-handle::before {\n content: \"\";\n position: absolute;\n top: 0;\n left: 5px;\n width: 2px;\n height: 100%;\n background: transparent;\n transition: background 0.15s;\n}\n\n.detail-panel-resize-handle:hover::before,\n.detail-panel--dragging .detail-panel-resize-handle::before {\n background: rgba(59, 130, 246, 0.5);\n}\n\n/* Grip indicator — visible on hover */\n.detail-panel-resize-handle::after {\n content: \"\";\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n width: 2px;\n height: 24px;\n border-radius: 1px;\n background: transparent;\n transition: background 0.15s;\n}\n\n.detail-panel-resize-handle:hover::after,\n.detail-panel--dragging .detail-panel-resize-handle::after {\n background: rgba(59, 130, 246, 0.8);\n}\n\n/* Disable transition during drag for smooth resizing */\n.detail-panel--dragging {\n transition: none;\n}\n\n.detail-panel--dragging .detail-panel-content {\n pointer-events: none;\n}\n\n.detail-panel-close {\n all: unset;\n cursor: pointer;\n position: absolute;\n top: 12px;\n right: 12px;\n width: 24px;\n height: 24px;\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 4px;\n color: #64748b;\n font-size: 18px;\n line-height: 1;\n z-index: 3;\n}\n\n.detail-panel-close:hover {\n color: #94a3b8;\n background: rgba(255, 255, 255, 0.06);\n}\n\n.detail-panel-content {\n flex: 1;\n overflow-y: auto;\n padding: 20px 16px;\n display: flex;\n flex-direction: column;\n gap: 16px;\n}\n\n/* ─── Sticky header (pipe info + IO stays pinned at top) ───────────────── */\n\n.detail-sticky-header {\n position: sticky;\n top: -20px;\n z-index: 1;\n background: #111118;\n padding-top: 20px;\n margin-top: -20px;\n display: flex;\n flex-direction: column;\n gap: 16px;\n}\n\n/* ─── Shared detail components ──────────────────────────────────────────── */\n\n.detail-section-label {\n font-size: 9px;\n font-weight: 700;\n text-transform: uppercase;\n letter-spacing: 0.06em;\n color: #64748b;\n margin-bottom: 6px;\n}\n\n.detail-header {\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.detail-badge {\n font-size: 10px;\n font-weight: 700;\n text-transform: uppercase;\n letter-spacing: 0.04em;\n padding: 2px 7px;\n border-radius: 4px;\n white-space: nowrap;\n}\n\n.detail-badge--operator {\n background: #ff6b6b;\n color: #0e0e0e;\n}\n\n.detail-badge--controller {\n background: #bd93f9;\n color: #0e0e0e;\n}\n\n.detail-pipe-code {\n font-family: \"JetBrains Mono\", \"Monaco\", monospace;\n font-size: 14px;\n font-weight: 600;\n color: #ff6b6b;\n}\n\n.detail-pipe-code--controller {\n color: #bd93f9;\n}\n\n.detail-status {\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.detail-status-dot {\n width: 8px;\n height: 8px;\n border-radius: 50%;\n display: inline-block;\n}\n\n.detail-status-label {\n font-size: 12px;\n font-weight: 600;\n text-transform: capitalize;\n}\n\n.detail-duration {\n font-size: 11px;\n color: #64748b;\n font-family: \"JetBrains Mono\", \"Monaco\", monospace;\n}\n\n.detail-description {\n font-size: 12px;\n color: #94a3b8;\n line-height: 1.5;\n}\n\n/* ─── IO Pills ──────────────────────────────────────────────────────────── */\n\n.detail-io-pill {\n display: flex;\n align-items: center;\n gap: 6px;\n font-size: 11px;\n padding: 3px 8px;\n border-radius: 4px;\n background: rgba(255, 255, 255, 0.04);\n border: 1px solid rgba(255, 255, 255, 0.06);\n}\n\n.detail-io-name {\n font-family: \"JetBrains Mono\", \"Monaco\", monospace;\n color: #e2e8f0;\n}\n\n.detail-io-concept {\n color: #64748b;\n font-size: 10px;\n}\n\n.detail-io-list {\n display: flex;\n flex-direction: column;\n gap: 4px;\n}\n\n/* ─── Blueprint-specific sections ───────────────────────────────────────── */\n\n.detail-prompt-block {\n font-family: \"JetBrains Mono\", \"Monaco\", monospace;\n font-size: 11px;\n color: #94a3b8;\n background: rgba(255, 255, 255, 0.03);\n border: 1px solid rgba(255, 255, 255, 0.06);\n border-radius: 6px;\n padding: 10px 12px;\n white-space: pre-wrap;\n word-break: break-word;\n overflow-y: auto;\n line-height: 1.5;\n}\n\n.detail-prompt-block--collapsed {\n max-height: 300px;\n}\n\n.detail-prompt-block--expanded {\n max-height: none;\n overflow-y: visible;\n}\n\n.detail-prompt-expand-btn {\n all: unset;\n cursor: pointer;\n display: flex;\n align-items: center;\n gap: 4px;\n font-size: 9px;\n color: #64748b;\n padding: 2px 6px;\n border-radius: 3px;\n background: rgba(255, 255, 255, 0.04);\n border: 1px solid rgba(255, 255, 255, 0.06);\n transition: color 0.15s;\n}\n\n.detail-prompt-expand-btn:hover {\n color: #94a3b8;\n}\n\n.detail-kv-row {\n display: flex;\n justify-content: space-between;\n align-items: flex-start; /* top-align so the label stays next to the first line of a wrapped value */\n gap: 12px;\n font-size: 11px;\n padding: 3px 0;\n}\n\n.detail-kv-key {\n color: #64748b;\n flex-shrink: 0; /* label stays at its natural width */\n}\n\n.detail-kv-value {\n font-family: \"JetBrains Mono\", \"Monaco\", monospace;\n color: #e2e8f0;\n flex: 1 1 0;\n min-width: 0;\n text-align: right;\n word-break: break-word;\n overflow-wrap: anywhere;\n}\n\n/* ─── Field block: labeled multi-line text (for long resolved values) ─── */\n\n.detail-field-block {\n display: flex;\n flex-direction: column;\n gap: 4px;\n}\n\n.detail-field-block-label {\n font-family: \"JetBrains Mono\", \"Monaco\", monospace;\n font-size: 10px;\n color: #64748b;\n}\n\n.detail-field-block-value {\n font-family: \"JetBrains Mono\", \"Monaco\", monospace;\n font-size: 11px;\n color: #e2e8f0;\n background: rgba(255, 255, 255, 0.03);\n border: 1px solid rgba(255, 255, 255, 0.06);\n border-radius: 6px;\n padding: 8px 10px;\n white-space: pre-wrap;\n word-break: break-word;\n overflow-wrap: anywhere;\n line-height: 1.5;\n max-height: 240px;\n overflow-y: auto;\n}\n\n/* ─── Nested construct sub-section header ───────────────────────────────── */\n/* Rendered before each nested sub-construct's recursive contents. The left\n * border + indent provides a visual \"branch\" cue so the tree structure is\n * obvious without needing collapse state. */\n\n.detail-nested-header {\n display: flex;\n align-items: baseline;\n justify-content: space-between;\n gap: 8px;\n margin-top: 6px;\n margin-bottom: 4px;\n padding: 4px 0 4px 8px;\n border-left: 2px solid rgba(80, 250, 123, 0.35);\n}\n\n.detail-nested-header-name {\n font-family: \"JetBrains Mono\", \"Monaco\", monospace;\n font-size: 11px;\n font-weight: 600;\n color: #e2e8f0;\n}\n\n.detail-nested-header-meta {\n font-family: \"JetBrains Mono\", \"Monaco\", monospace;\n font-size: 9px;\n color: #64748b;\n text-transform: uppercase;\n letter-spacing: 0.04em;\n}\n\n/* ─── Concept schema table ──────────────────────────────────────────────── */\n\n.detail-schema-table {\n width: 100%;\n font-size: 11px;\n border-collapse: collapse;\n}\n\n.detail-schema-table th {\n text-align: left;\n font-weight: 700;\n color: #64748b;\n font-size: 9px;\n text-transform: uppercase;\n letter-spacing: 0.06em;\n padding: 4px 6px;\n border-bottom: 1px solid rgba(255, 255, 255, 0.08);\n}\n\n.detail-schema-table td {\n padding: 4px 6px;\n border-bottom: 1px solid rgba(255, 255, 255, 0.04);\n color: #94a3b8;\n}\n\n.detail-schema-field {\n font-family: \"JetBrains Mono\", \"Monaco\", monospace;\n color: #e2e8f0;\n}\n\n.detail-schema-type {\n color: #8be9fd;\n}\n\n.detail-schema-required {\n color: #ff6b6b;\n font-size: 9px;\n}\n\n/* ─── Error section ─────────────────────────────────────────────────────── */\n\n.detail-error {\n background: rgba(255, 85, 85, 0.08);\n border: 1px solid rgba(255, 85, 85, 0.2);\n border-radius: 6px;\n padding: 10px 12px;\n}\n\n.detail-error-type {\n font-size: 12px;\n font-weight: 600;\n color: #ff5555;\n margin-bottom: 4px;\n}\n\n.detail-error-message {\n font-size: 11px;\n color: #94a3b8;\n line-height: 1.5;\n}\n\n.detail-error-stack {\n font-family: \"JetBrains Mono\", \"Monaco\", monospace;\n font-size: 10px;\n color: #64748b;\n margin-top: 8px;\n max-height: 150px;\n overflow-y: auto;\n white-space: pre-wrap;\n word-break: break-word;\n}\n\n/* ─── Steps list (PipeSequence, PipeCondition outcomes) ─────────────────── */\n\n.detail-steps-list {\n display: flex;\n flex-direction: column;\n gap: 4px;\n}\n\n.detail-step-item {\n display: flex;\n align-items: center;\n gap: 8px;\n font-size: 11px;\n padding: 4px 8px;\n border-radius: 4px;\n background: rgba(255, 255, 255, 0.03);\n border: 1px solid rgba(255, 255, 255, 0.06);\n}\n\n.detail-step-index {\n color: #64748b;\n font-size: 10px;\n font-weight: 700;\n min-width: 16px;\n}\n\n.detail-step-code {\n font-family: \"JetBrains Mono\", \"Monaco\", monospace;\n color: #e2e8f0;\n}\n\n/* ─── Tags/Metrics ──────────────────────────────────────────────────────── */\n\n.detail-tags {\n display: flex;\n flex-wrap: wrap;\n gap: 4px;\n}\n\n.detail-tag {\n font-size: 10px;\n padding: 2px 6px;\n border-radius: 3px;\n background: rgba(255, 255, 255, 0.04);\n border: 1px solid rgba(255, 255, 255, 0.06);\n}\n\n.detail-tag-key {\n color: #64748b;\n}\n\n.detail-tag-value {\n color: #e2e8f0;\n font-family: \"JetBrains Mono\", \"Monaco\", monospace;\n}\n\n/* ─── Concept panel header ──────────────────────────────────────────────── */\n\n.detail-concept-code {\n font-family: \"JetBrains Mono\", \"Monaco\", monospace;\n font-size: 14px;\n font-weight: 600;\n color: #50fa7b;\n}\n\n.detail-concept-domain {\n font-size: 11px;\n color: #64748b;\n}\n\n.detail-refines {\n font-size: 11px;\n color: #94a3b8;\n}\n\n.detail-refines-code {\n font-family: \"JetBrains Mono\", \"Monaco\", monospace;\n color: #8be9fd;\n}\n\n/* ─── Not available fallback ────────────────────────────────────────────── */\n\n.detail-not-available {\n font-size: 12px;\n color: #64748b;\n font-style: italic;\n padding: 8px 0;\n}\n","/* ─── Graph Toolbar — floating controls over the graph background ─────── */\n\n.graph-toolbar {\n position: absolute;\n top: 8px;\n display: flex;\n align-items: center;\n gap: 4px;\n z-index: 11;\n pointer-events: auto;\n}\n\n.graph-toolbar-btn {\n all: unset;\n box-sizing: border-box;\n cursor: pointer;\n width: 28px;\n height: 28px;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n border-radius: 6px;\n background: rgba(17, 17, 24, 0.8);\n border: 1px solid rgba(255, 255, 255, 0.1);\n color: #cbd5e1;\n backdrop-filter: blur(6px);\n transition:\n background 0.15s,\n color 0.15s,\n border-color 0.15s;\n}\n\n.graph-toolbar-btn:hover {\n background: rgba(30, 30, 40, 0.9);\n color: #f1f5f9;\n border-color: rgba(255, 255, 255, 0.18);\n}\n\n.graph-toolbar-btn:focus-visible {\n outline: 2px solid rgba(59, 130, 246, 0.6);\n outline-offset: 1px;\n}\n\n.graph-toolbar-btn--active {\n background: #3b82f6;\n border-color: #3b82f6;\n color: #ffffff;\n}\n\n.graph-toolbar-btn--active:hover {\n background: #2563eb;\n border-color: #2563eb;\n color: #ffffff;\n}\n\n.graph-toolbar-separator {\n width: 1px;\n height: 18px;\n background: rgba(255, 255, 255, 0.12);\n margin: 0 2px;\n}\n"],"mappings":"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","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../../src/graph/react/stuff/StuffViewer.css","../../../src/graph/react/detail/DetailPanel.css","../../../src/graph/react/viewer/GraphToolbar.css"],"sourcesContent":["/* ─── StuffViewer component styles ────────────────────────────────────────── */\n/* Uses CSS custom properties for consumer theming. Defaults match graph-core.css. */\n\n.stuff-viewer {\n --sv-bg: var(--color-bg, #0a0a0a);\n --sv-surface: var(--color-surface, #16213e);\n --sv-surface-hover: var(--color-surface-hover, #1f2b47);\n --sv-border: var(--color-border, #2a3a5a);\n --sv-text: var(--color-text, #e2e8f0);\n --sv-text-muted: var(--color-text-muted, #94a3b8);\n --sv-accent: var(--color-accent, #3b82f6);\n --sv-success: #10b981;\n --sv-success-bg: rgba(16, 185, 129, 0.2);\n --sv-radius: 4px;\n --sv-font-sans: var(\n --font-sans,\n \"Inter\",\n -apple-system,\n BlinkMacSystemFont,\n \"Segoe UI\",\n sans-serif\n );\n --sv-font-mono: var(--font-mono, \"JetBrains Mono\", \"Monaco\", \"Menlo\", monospace);\n\n font-family: var(--sv-font-sans);\n color: var(--sv-text);\n display: flex;\n flex-direction: column;\n height: 100%;\n}\n\n/* ─── Header ─────────────────────────────────────────────────────────────── */\n\n.stuff-viewer-header {\n display: flex;\n flex-direction: column;\n gap: 2px;\n padding: 12px 16px 8px;\n border-bottom: 1px solid var(--sv-border);\n flex-shrink: 0;\n}\n\n.stuff-viewer-title {\n font-size: 14px;\n font-weight: 600;\n color: var(--sv-text);\n margin: 0;\n}\n\n.stuff-viewer-subtitle {\n font-size: 12px;\n color: var(--sv-text-muted);\n margin: 0;\n}\n\n/* ─── Toolbar: tabs + action buttons ─────────────────────────────────────── */\n\n.stuff-viewer-toolbar {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 8px 16px;\n gap: 8px;\n flex-shrink: 0;\n}\n\n.stuff-viewer-tabs {\n display: flex;\n gap: 4px;\n}\n\n.stuff-viewer-tab {\n padding: 5px 10px;\n border-radius: var(--sv-radius);\n cursor: pointer;\n font-size: 12px;\n font-weight: 500;\n background: var(--sv-surface-hover);\n color: var(--sv-text-muted);\n border: none;\n transition:\n background 0.15s,\n color 0.15s;\n}\n\n.stuff-viewer-tab:hover {\n background: var(--sv-border);\n color: var(--sv-text);\n}\n\n.stuff-viewer-tab--active {\n background: var(--sv-accent);\n color: #fff;\n}\n\n/* ─── Action buttons ─────────────────────────────────────────────────────── */\n\n.stuff-viewer-actions {\n display: flex;\n gap: 4px;\n}\n\n.stuff-viewer-action-btn {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 28px;\n height: 28px;\n border-radius: var(--sv-radius);\n cursor: pointer;\n background: var(--sv-surface-hover);\n color: var(--sv-text-muted);\n border: none;\n transition:\n background 0.15s,\n color 0.15s;\n}\n\n.stuff-viewer-action-btn:hover {\n background: var(--sv-border);\n color: var(--sv-text);\n}\n\n.stuff-viewer-action-btn--copied {\n background: var(--sv-success-bg);\n color: var(--sv-success);\n}\n\n.stuff-viewer-action-btn svg {\n width: 14px;\n height: 14px;\n fill: currentColor;\n}\n\n/* ─── Content area ───────────────────────────────────────────────────────── */\n\n.stuff-viewer-content {\n flex: 1;\n overflow: auto;\n padding: 12px 16px 16px;\n min-height: 0;\n}\n\n/* Pre-formatted text (JSON and Pretty tabs) */\n.stuff-viewer-pre {\n font-family: var(--sv-font-mono);\n font-size: 11px;\n line-height: 1.5;\n white-space: pre-wrap;\n word-wrap: break-word;\n margin: 0;\n color: var(--sv-text-muted);\n}\n\n.stuff-viewer-pre--nowrap {\n white-space: pre;\n word-wrap: normal;\n line-height: 1;\n overflow-x: auto;\n padding-right: 20px;\n}\n\n/* HTML content */\n.stuff-viewer-html {\n font-family: var(--sv-font-sans);\n font-size: 11px;\n color: var(--sv-text-muted);\n line-height: 1.5;\n}\n\n.stuff-viewer-html table {\n border-collapse: collapse;\n width: 100%;\n}\n\n.stuff-viewer-html th,\n.stuff-viewer-html td {\n border: 1px solid var(--sv-border);\n padding: 8px 12px;\n text-align: left;\n}\n\n.stuff-viewer-html th {\n background: var(--sv-surface-hover);\n color: var(--sv-text);\n font-weight: 600;\n}\n\n.stuff-viewer-html tr:hover {\n background: var(--sv-surface-hover);\n}\n\n.stuff-viewer-html a {\n color: var(--sv-accent);\n text-decoration: none;\n}\n\n.stuff-viewer-html a:hover {\n text-decoration: underline;\n}\n\n.stuff-viewer-html ul {\n list-style: none;\n padding-left: 0;\n margin: 0;\n}\n\n/* PDF embed */\n.stuff-viewer-pdf {\n min-height: 400px;\n height: 100%;\n}\n\n.stuff-viewer-pdf embed {\n width: 100%;\n height: 100%;\n min-height: 500px;\n border: none;\n}\n\n/* Image content */\n.stuff-viewer-image {\n display: flex;\n justify-content: center;\n align-items: center;\n min-height: 200px;\n}\n\n.stuff-viewer-image img {\n max-width: 100%;\n max-height: 70vh;\n object-fit: contain;\n}\n\n/* Local file fallback (file:// URLs that can't render inline) */\n.stuff-viewer-local-file {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 16px;\n border-radius: 6px;\n background: var(--sv-surface);\n border: 1px solid var(--sv-border);\n}\n\n/* Clickable variant — used when an open-externally action is bound (e.g. PDF\n fallback in hosts that can't render <embed type=\"application/pdf\">). */\nbutton.stuff-viewer-local-file--button {\n width: 100%;\n text-align: left;\n font: inherit;\n color: inherit;\n cursor: pointer;\n transition:\n background 0.15s ease,\n border-color 0.15s ease;\n}\n\nbutton.stuff-viewer-local-file--button:hover {\n background: var(--sv-surface-hover, var(--sv-surface));\n border-color: var(--sv-accent, var(--sv-border));\n}\n\nbutton.stuff-viewer-local-file--button:focus-visible {\n outline: 2px solid var(--sv-accent, var(--sv-border));\n outline-offset: 2px;\n}\n\n.stuff-viewer-local-file-icon {\n flex-shrink: 0;\n width: 32px;\n height: 32px;\n color: var(--sv-text-muted);\n}\n\n.stuff-viewer-local-file-icon svg {\n width: 100%;\n height: 100%;\n fill: currentColor;\n}\n\n.stuff-viewer-local-file-info {\n flex: 1;\n min-width: 0;\n}\n\n.stuff-viewer-local-file-name {\n font-family: var(--sv-font-mono);\n font-size: 12px;\n color: var(--sv-text);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.stuff-viewer-local-file-hint {\n font-size: 11px;\n color: var(--sv-text-muted);\n margin-top: 2px;\n}\n\n/* Placeholder for missing data */\n.stuff-viewer-placeholder {\n color: var(--sv-text-muted);\n font-style: italic;\n font-size: 13px;\n}\n","/* ─── Detail Panel — sliding side panel for node inspection ─────────────── */\n\n.detail-panel {\n position: absolute;\n top: 0;\n right: 0;\n width: 380px;\n height: 100%;\n background: #111118;\n border-left: 1px solid rgba(255, 255, 255, 0.1);\n z-index: 10;\n display: flex;\n flex-direction: column;\n font-family: \"Inter\", -apple-system, sans-serif;\n color: #e2e8f0;\n overflow: hidden;\n transition: transform 0.2s ease;\n}\n\n.detail-panel--closed {\n transform: translateX(100%);\n pointer-events: none;\n}\n\n/* ─── Resize handle — left edge drag target ────────────────────────────── */\n\n.detail-panel-resize-handle {\n position: absolute;\n top: 0;\n left: -6px;\n width: 12px;\n height: 100%;\n cursor: col-resize;\n z-index: 2;\n background: transparent;\n}\n\n/* Visible bar — narrower than the hit area */\n.detail-panel-resize-handle::before {\n content: \"\";\n position: absolute;\n top: 0;\n left: 5px;\n width: 2px;\n height: 100%;\n background: transparent;\n transition: background 0.15s;\n}\n\n.detail-panel-resize-handle:hover::before,\n.detail-panel--dragging .detail-panel-resize-handle::before {\n background: rgba(59, 130, 246, 0.5);\n}\n\n/* Grip indicator — visible on hover */\n.detail-panel-resize-handle::after {\n content: \"\";\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n width: 2px;\n height: 24px;\n border-radius: 1px;\n background: transparent;\n transition: background 0.15s;\n}\n\n.detail-panel-resize-handle:hover::after,\n.detail-panel--dragging .detail-panel-resize-handle::after {\n background: rgba(59, 130, 246, 0.8);\n}\n\n/* Disable transition during drag for smooth resizing */\n.detail-panel--dragging {\n transition: none;\n}\n\n.detail-panel--dragging .detail-panel-content {\n pointer-events: none;\n}\n\n.detail-panel-close {\n all: unset;\n cursor: pointer;\n position: absolute;\n top: 12px;\n right: 12px;\n width: 24px;\n height: 24px;\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 4px;\n color: #64748b;\n font-size: 18px;\n line-height: 1;\n z-index: 3;\n}\n\n.detail-panel-close:hover {\n color: #94a3b8;\n background: rgba(255, 255, 255, 0.06);\n}\n\n.detail-panel-content {\n flex: 1;\n overflow-y: auto;\n padding: 20px 16px;\n display: flex;\n flex-direction: column;\n gap: 16px;\n}\n\n/* ─── Sticky header (pipe info + IO stays pinned at top) ───────────────── */\n\n.detail-sticky-header {\n position: sticky;\n top: -20px;\n z-index: 1;\n background: #111118;\n padding-top: 20px;\n margin-top: -20px;\n display: flex;\n flex-direction: column;\n gap: 16px;\n}\n\n/* ─── Shared detail components ──────────────────────────────────────────── */\n\n.detail-section-label {\n font-size: 9px;\n font-weight: 700;\n text-transform: uppercase;\n letter-spacing: 0.06em;\n color: #64748b;\n margin-bottom: 6px;\n}\n\n.detail-header {\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.detail-badge {\n font-size: 10px;\n font-weight: 700;\n text-transform: uppercase;\n letter-spacing: 0.04em;\n padding: 2px 7px;\n border-radius: 4px;\n white-space: nowrap;\n}\n\n.detail-badge--operator {\n background: #ff6b6b;\n color: #0e0e0e;\n}\n\n.detail-badge--controller {\n background: #bd93f9;\n color: #0e0e0e;\n}\n\n.detail-pipe-code {\n font-family: \"JetBrains Mono\", \"Monaco\", monospace;\n font-size: 14px;\n font-weight: 600;\n color: #ff6b6b;\n}\n\n.detail-pipe-code--controller {\n color: #bd93f9;\n}\n\n.detail-status {\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.detail-status-dot {\n width: 8px;\n height: 8px;\n border-radius: 50%;\n display: inline-block;\n}\n\n.detail-status-label {\n font-size: 12px;\n font-weight: 600;\n text-transform: capitalize;\n}\n\n.detail-duration {\n font-size: 11px;\n color: #64748b;\n font-family: \"JetBrains Mono\", \"Monaco\", monospace;\n}\n\n.detail-description {\n font-size: 12px;\n color: #94a3b8;\n line-height: 1.5;\n}\n\n/* ─── IO Pills ──────────────────────────────────────────────────────────── */\n\n.detail-io-pill {\n display: flex;\n align-items: center;\n gap: 6px;\n font-size: 11px;\n padding: 3px 8px;\n border-radius: 4px;\n background: rgba(255, 255, 255, 0.04);\n border: 1px solid rgba(255, 255, 255, 0.06);\n}\n\n.detail-io-name {\n font-family: \"JetBrains Mono\", \"Monaco\", monospace;\n color: #e2e8f0;\n}\n\n.detail-io-concept {\n color: #64748b;\n font-size: 10px;\n}\n\n.detail-io-list {\n display: flex;\n flex-direction: column;\n gap: 4px;\n}\n\n/* ─── Blueprint-specific sections ───────────────────────────────────────── */\n\n.detail-prompt-block {\n font-family: \"JetBrains Mono\", \"Monaco\", monospace;\n font-size: 11px;\n color: #94a3b8;\n background: rgba(255, 255, 255, 0.03);\n border: 1px solid rgba(255, 255, 255, 0.06);\n border-radius: 6px;\n padding: 10px 12px;\n white-space: pre-wrap;\n word-break: break-word;\n overflow-y: auto;\n line-height: 1.5;\n}\n\n.detail-prompt-block--collapsed {\n max-height: 300px;\n}\n\n.detail-prompt-block--expanded {\n max-height: none;\n overflow-y: visible;\n}\n\n.detail-prompt-expand-btn {\n all: unset;\n cursor: pointer;\n display: flex;\n align-items: center;\n gap: 4px;\n font-size: 9px;\n color: #64748b;\n padding: 2px 6px;\n border-radius: 3px;\n background: rgba(255, 255, 255, 0.04);\n border: 1px solid rgba(255, 255, 255, 0.06);\n transition: color 0.15s;\n}\n\n.detail-prompt-expand-btn:hover {\n color: #94a3b8;\n}\n\n.detail-kv-row {\n display: flex;\n justify-content: space-between;\n align-items: flex-start; /* top-align so the label stays next to the first line of a wrapped value */\n gap: 12px;\n font-size: 11px;\n padding: 3px 0;\n}\n\n.detail-kv-key {\n color: #64748b;\n flex-shrink: 0; /* label stays at its natural width */\n}\n\n.detail-kv-value {\n font-family: \"JetBrains Mono\", \"Monaco\", monospace;\n color: #e2e8f0;\n flex: 1 1 0;\n min-width: 0;\n text-align: right;\n word-break: break-word;\n overflow-wrap: anywhere;\n}\n\n/* ─── Field block: labeled multi-line text (for long resolved values) ─── */\n\n.detail-field-block {\n display: flex;\n flex-direction: column;\n gap: 4px;\n}\n\n.detail-field-block-label {\n font-family: \"JetBrains Mono\", \"Monaco\", monospace;\n font-size: 10px;\n color: #64748b;\n}\n\n.detail-field-block-value {\n font-family: \"JetBrains Mono\", \"Monaco\", monospace;\n font-size: 11px;\n color: #e2e8f0;\n background: rgba(255, 255, 255, 0.03);\n border: 1px solid rgba(255, 255, 255, 0.06);\n border-radius: 6px;\n padding: 8px 10px;\n white-space: pre-wrap;\n word-break: break-word;\n overflow-wrap: anywhere;\n line-height: 1.5;\n max-height: 240px;\n overflow-y: auto;\n}\n\n/* ─── Nested construct sub-section header ───────────────────────────────── */\n/* Rendered before each nested sub-construct's recursive contents. The left\n * border + indent provides a visual \"branch\" cue so the tree structure is\n * obvious without needing collapse state. */\n\n.detail-nested-header {\n display: flex;\n align-items: baseline;\n justify-content: space-between;\n gap: 8px;\n margin-top: 6px;\n margin-bottom: 4px;\n padding: 4px 0 4px 8px;\n border-left: 2px solid rgba(80, 250, 123, 0.35);\n}\n\n.detail-nested-header-name {\n font-family: \"JetBrains Mono\", \"Monaco\", monospace;\n font-size: 11px;\n font-weight: 600;\n color: #e2e8f0;\n}\n\n.detail-nested-header-meta {\n font-family: \"JetBrains Mono\", \"Monaco\", monospace;\n font-size: 9px;\n color: #64748b;\n text-transform: uppercase;\n letter-spacing: 0.04em;\n}\n\n/* ─── Concept schema table ──────────────────────────────────────────────── */\n\n.detail-schema-table {\n width: 100%;\n font-size: 11px;\n border-collapse: collapse;\n}\n\n.detail-schema-table th {\n text-align: left;\n font-weight: 700;\n color: #64748b;\n font-size: 9px;\n text-transform: uppercase;\n letter-spacing: 0.06em;\n padding: 4px 6px;\n border-bottom: 1px solid rgba(255, 255, 255, 0.08);\n}\n\n.detail-schema-table td {\n padding: 4px 6px;\n border-bottom: 1px solid rgba(255, 255, 255, 0.04);\n color: #94a3b8;\n}\n\n.detail-schema-field {\n font-family: \"JetBrains Mono\", \"Monaco\", monospace;\n color: #e2e8f0;\n}\n\n.detail-schema-type {\n color: #8be9fd;\n}\n\n.detail-schema-required {\n color: #ff6b6b;\n font-size: 9px;\n}\n\n/* ─── Error section ─────────────────────────────────────────────────────── */\n\n.detail-error {\n background: rgba(255, 85, 85, 0.08);\n border: 1px solid rgba(255, 85, 85, 0.2);\n border-radius: 6px;\n padding: 10px 12px;\n}\n\n.detail-error-type {\n font-size: 12px;\n font-weight: 600;\n color: #ff5555;\n margin-bottom: 4px;\n}\n\n.detail-error-message {\n font-size: 11px;\n color: #94a3b8;\n line-height: 1.5;\n}\n\n.detail-error-stack {\n font-family: \"JetBrains Mono\", \"Monaco\", monospace;\n font-size: 10px;\n color: #64748b;\n margin-top: 8px;\n max-height: 150px;\n overflow-y: auto;\n white-space: pre-wrap;\n word-break: break-word;\n}\n\n/* ─── Steps list (PipeSequence, PipeCondition outcomes) ─────────────────── */\n\n.detail-steps-list {\n display: flex;\n flex-direction: column;\n gap: 4px;\n}\n\n.detail-step-item {\n display: flex;\n align-items: center;\n gap: 8px;\n font-size: 11px;\n padding: 4px 8px;\n border-radius: 4px;\n background: rgba(255, 255, 255, 0.03);\n border: 1px solid rgba(255, 255, 255, 0.06);\n}\n\n.detail-step-index {\n color: #64748b;\n font-size: 10px;\n font-weight: 700;\n min-width: 16px;\n}\n\n.detail-step-code {\n font-family: \"JetBrains Mono\", \"Monaco\", monospace;\n color: #e2e8f0;\n}\n\n/* ─── Tags/Metrics ──────────────────────────────────────────────────────── */\n\n.detail-tags {\n display: flex;\n flex-wrap: wrap;\n gap: 4px;\n}\n\n.detail-tag {\n font-size: 10px;\n padding: 2px 6px;\n border-radius: 3px;\n background: rgba(255, 255, 255, 0.04);\n border: 1px solid rgba(255, 255, 255, 0.06);\n}\n\n.detail-tag-key {\n color: #64748b;\n}\n\n.detail-tag-value {\n color: #e2e8f0;\n font-family: \"JetBrains Mono\", \"Monaco\", monospace;\n}\n\n/* ─── Concept panel header ──────────────────────────────────────────────── */\n\n.detail-concept-code {\n font-family: \"JetBrains Mono\", \"Monaco\", monospace;\n font-size: 14px;\n font-weight: 600;\n color: #50fa7b;\n}\n\n.detail-concept-domain {\n font-size: 11px;\n color: #64748b;\n}\n\n.detail-refines {\n font-size: 11px;\n color: #94a3b8;\n}\n\n.detail-refines-code {\n font-family: \"JetBrains Mono\", \"Monaco\", monospace;\n color: #8be9fd;\n}\n\n/* ─── Not available fallback ────────────────────────────────────────────── */\n\n.detail-not-available {\n font-size: 12px;\n color: #64748b;\n font-style: italic;\n padding: 8px 0;\n}\n","/* ─── Graph Toolbar — floating controls over the graph background ─────── */\n\n.graph-toolbar {\n position: absolute;\n top: 8px;\n display: flex;\n align-items: center;\n gap: 4px;\n z-index: 11;\n pointer-events: auto;\n}\n\n.graph-toolbar-btn {\n all: unset;\n box-sizing: border-box;\n cursor: pointer;\n width: 28px;\n height: 28px;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n border-radius: 6px;\n background: rgba(17, 17, 24, 0.8);\n border: 1px solid rgba(255, 255, 255, 0.1);\n color: #cbd5e1;\n backdrop-filter: blur(6px);\n transition:\n background 0.15s,\n color 0.15s,\n border-color 0.15s;\n}\n\n.graph-toolbar-btn:hover {\n background: rgba(30, 30, 40, 0.9);\n color: #f1f5f9;\n border-color: rgba(255, 255, 255, 0.18);\n}\n\n.graph-toolbar-btn:focus-visible {\n outline: 2px solid rgba(59, 130, 246, 0.6);\n outline-offset: 1px;\n}\n\n.graph-toolbar-btn--active {\n background: #3b82f6;\n border-color: #3b82f6;\n color: #ffffff;\n}\n\n.graph-toolbar-btn--active:hover {\n background: #2563eb;\n border-color: #2563eb;\n color: #ffffff;\n}\n\n.graph-toolbar-btn:disabled {\n opacity: 0.4;\n cursor: not-allowed;\n background: rgba(17, 17, 24, 0.6);\n color: #64748b;\n border-color: rgba(255, 255, 255, 0.06);\n}\n\n.graph-toolbar-btn:disabled:hover {\n background: rgba(17, 17, 24, 0.6);\n color: #64748b;\n border-color: rgba(255, 255, 255, 0.06);\n}\n\n.graph-toolbar-separator {\n width: 1px;\n height: 18px;\n background: rgba(255, 255, 255, 0.12);\n margin: 0 2px;\n}\n"],"mappings":"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","names":[]}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
2
|
import React from 'react';
|
|
3
|
-
import { G as GraphNodeData, a as GraphEdge, b as GraphNode, c as GraphSpec, d as GraphConfig, e as GraphDirection, P as PipeStatus, L as LabelDescriptor, f as PipeControllerType, g as
|
|
3
|
+
import { G as GraphNodeData, a as GraphEdge, b as GraphNode, c as GraphSpec, d as GraphConfig, e as GraphDirection, F as FoldMode, P as PipeStatus, L as LabelDescriptor, f as PipeControllerType, g as FoldToggleOptions, h as PipeType, i as GraphSpecNode, C as ConceptInfo, j as GraphSpecNodeIoItem } from '../../types-C7rr1Egj.js';
|
|
4
|
+
export { k as PipeOperatorType } from '../../types-C7rr1Egj.js';
|
|
4
5
|
import { Edge, Node, ReactFlowInstance } from '@xyflow/react';
|
|
5
6
|
|
|
6
7
|
/** Data for rendering a stuff (data item) in the StuffViewer component. */
|
|
@@ -62,6 +63,14 @@ interface GraphViewerProps {
|
|
|
62
63
|
initialDirection?: GraphDirection;
|
|
63
64
|
/** Initial controller-grouping state. Users can toggle this via the built-in toolbar. */
|
|
64
65
|
initialShowControllers?: boolean;
|
|
66
|
+
/**
|
|
67
|
+
* Initial fold state applied once per graphspec. `"folded"` collapses every
|
|
68
|
+
* controller into a pipe card on first render; `"expanded"` leaves them all
|
|
69
|
+
* as group wrappers; `"auto"` is reserved for future heuristics and currently
|
|
70
|
+
* behaves like `"expanded"`. Users can still fold/unfold individually via the
|
|
71
|
+
* built-in toolbar afterwards.
|
|
72
|
+
*/
|
|
73
|
+
initialFoldMode?: FoldMode;
|
|
65
74
|
/** Hide the built-in floating toolbar (direction + controllers toggle). */
|
|
66
75
|
hideToolbar?: boolean;
|
|
67
76
|
onNavigateToPipe?: (pipeCode: string, status?: PipeStatus) => void;
|
|
@@ -109,6 +118,7 @@ interface ControllerGroupData {
|
|
|
109
118
|
childCount?: number;
|
|
110
119
|
isCollapsed?: boolean;
|
|
111
120
|
onToggleCollapse?: () => void;
|
|
121
|
+
onToggleFold?: (options?: FoldToggleOptions) => void;
|
|
112
122
|
}
|
|
113
123
|
declare function ControllerGroupNode({ data }: {
|
|
114
124
|
data: ControllerGroupData;
|
|
@@ -120,7 +130,7 @@ declare const controllerNodeTypes: {
|
|
|
120
130
|
type PipeCardDirection = "LR" | "TB";
|
|
121
131
|
interface PipeCardData {
|
|
122
132
|
pipeCode: string;
|
|
123
|
-
pipeType:
|
|
133
|
+
pipeType: PipeType;
|
|
124
134
|
description?: string;
|
|
125
135
|
status: PipeStatus;
|
|
126
136
|
inputs: {
|
|
@@ -135,6 +145,8 @@ interface PipeCardData {
|
|
|
135
145
|
tags?: Record<string, string>;
|
|
136
146
|
/** Layout direction — controls card orientation (narrow+tall in LR, wide+short in TB) */
|
|
137
147
|
direction?: PipeCardDirection;
|
|
148
|
+
/** When set, the card renders an unfold button that invokes this callback. */
|
|
149
|
+
onExpand?: (options?: FoldToggleOptions) => void;
|
|
138
150
|
}
|
|
139
151
|
|
|
140
152
|
interface PipeCardNodeProps {
|
|
@@ -284,4 +296,4 @@ interface UseResizableResult {
|
|
|
284
296
|
}
|
|
285
297
|
declare function useResizable({ defaultWidth, minWidth, maxWidth, containerRef, }: UseResizableOptions): UseResizableResult;
|
|
286
298
|
|
|
287
|
-
export { type AppEdge, type AppNode, type AppRFInstance, ConceptDetailPanel, type ConceptDetailPanelProps, ControllerGroupNode, DetailPanel, type DetailPanelProps, GraphViewer, type GraphViewerProps, PipeCardBase, type PipeCardBaseProps, type PipeCardData, PipeCardNode, PipeDetailPanel, type PipeDetailPanelProps,
|
|
299
|
+
export { type AppEdge, type AppNode, type AppRFInstance, ConceptDetailPanel, type ConceptDetailPanelProps, ControllerGroupNode, DetailPanel, type DetailPanelProps, GraphViewer, type GraphViewerProps, PipeCardBase, type PipeCardBaseProps, type PipeCardData, PipeCardNode, PipeDetailPanel, type PipeDetailPanelProps, PipeStatus, type ResolveStorageUrl, StuffViewer, type StuffViewerData, type StuffViewerProps, type UseResizableOptions, type UseResizableResult, applyStatusOverrides, controllerNodeTypes, extractFilename, extractInlineUrl, extractStorageUri, extractUrl, findStuffDataByDigest, getHtmlTabLabel, hydrateLabels, isInlineRenderableUrl, isSafeDisplayUrl, renderLabel, resolveMimeType, toAppEdges, toAppNodes, useResizable };
|