@pipelex/mthds-ui 0.7.0 → 0.8.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.
@@ -16,7 +16,7 @@ import {
16
16
  resolveConceptRef,
17
17
  stuffDigestFromId,
18
18
  validateGraphSpec
19
- } from "../../chunk-ILX53OYM.js";
19
+ } from "../../chunk-7VQUZ35P.js";
20
20
  import {
21
21
  __spreadProps,
22
22
  __spreadValues
@@ -1133,6 +1133,7 @@ var PIPE_TYPE_BADGES = {
1133
1133
  PipeImgGen: "ImgGen",
1134
1134
  PipeSearch: "Search",
1135
1135
  PipeFunc: "Func",
1136
+ PipeSignature: "Signature",
1136
1137
  PipeSequence: "Seq",
1137
1138
  PipeParallel: "Par",
1138
1139
  PipeCondition: "Cond",
@@ -1287,6 +1288,10 @@ function BlueprintSection({
1287
1288
  return /* @__PURE__ */ jsx13(PipeBatchSection, { blueprint, executionData });
1288
1289
  case "PipeFunc":
1289
1290
  return null;
1291
+ case "PipeSignature":
1292
+ return /* @__PURE__ */ jsx13("div", { className: "detail-not-available", children: "Signature stub \u2014 declared but not yet implemented." });
1293
+ default:
1294
+ return null;
1290
1295
  }
1291
1296
  }
1292
1297
  function ExecutionDataSection({
@@ -2004,6 +2009,7 @@ var PIPE_TYPE_BADGES2 = {
2004
2009
  PipeImgGen: "ImgGen",
2005
2010
  PipeSearch: "Search",
2006
2011
  PipeFunc: "Func",
2012
+ PipeSignature: "Signature",
2007
2013
  PipeSequence: "Sequence",
2008
2014
  PipeParallel: "Parallel",
2009
2015
  PipeCondition: "Condition",
@@ -2035,14 +2041,16 @@ function PipeCardBase({ data, children }) {
2035
2041
  const statusConfig = STATUS_CONFIG[data.status];
2036
2042
  const isRunning = data.status === "running";
2037
2043
  const isController = isControllerType(data.pipeType);
2044
+ const isSignature = data.pipeType === "PipeSignature";
2038
2045
  const [inputsExpanded, setInputsExpanded] = useState2(false);
2039
2046
  const hasMany = data.inputs.length > MAX_VISIBLE_INPUTS;
2040
2047
  const visibleInputs = hasMany && !inputsExpanded ? data.inputs.slice(0, MAX_VISIBLE_INPUTS) : data.inputs;
2041
2048
  const hiddenCount = data.inputs.length - MAX_VISIBLE_INPUTS;
2042
2049
  const dirClass = data.direction === "TB" ? "pipe-card--tb" : "pipe-card--lr";
2043
2050
  const controllerClass = isController ? " pipe-card--controller" : "";
2044
- const badgeClass = isController ? "pipe-card-badge pipe-card-badge--controller" : "pipe-card-badge";
2045
- return /* @__PURE__ */ jsxs18("div", { className: `pipe-card ${dirClass}${controllerClass}`, children: [
2051
+ const signatureClass = isSignature ? " pipe-card--signature" : "";
2052
+ const badgeClass = isController ? "pipe-card-badge pipe-card-badge--controller" : isSignature ? "pipe-card-badge pipe-card-badge--signature" : "pipe-card-badge";
2053
+ return /* @__PURE__ */ jsxs18("div", { className: `pipe-card ${dirClass}${controllerClass}${signatureClass}`, children: [
2046
2054
  /* @__PURE__ */ jsxs18("div", { className: "pipe-card-header", children: [
2047
2055
  /* @__PURE__ */ jsx18("span", { className: badgeClass, children: badge }),
2048
2056
  /* @__PURE__ */ jsx18("span", { className: "pipe-card-code", title: data.pipeCode, children: data.pipeCode }),
@@ -2133,6 +2141,7 @@ var PIPE_CARD_REGISTRY = {
2133
2141
  PipeImgGen: PipeCardBase,
2134
2142
  PipeSearch: PipeCardBase,
2135
2143
  PipeFunc: PipeCardBase,
2144
+ PipeSignature: PipeCardBase,
2136
2145
  PipeSequence: PipeCardBase,
2137
2146
  PipeParallel: PipeCardBase,
2138
2147
  PipeCondition: PipeCardBase,
@@ -2733,103 +2742,96 @@ function GraphViewer(props) {
2733
2742
  expandAllDisabled: foldedControllers.size === 0
2734
2743
  };
2735
2744
  }, [showControllers, allControllerIds, foldedControllers]);
2736
- return /* @__PURE__ */ jsxs20(
2737
- "div",
2738
- {
2739
- ref: containerRef,
2740
- className: `react-flow-container react-flow-container--theme-${theme}`,
2741
- children: [
2742
- /* @__PURE__ */ jsx20(
2743
- ReactFlow,
2744
- {
2745
- nodes,
2746
- edges,
2747
- nodeTypes,
2748
- onNodesChange,
2749
- onEdgesChange,
2750
- onNodeClick,
2751
- onPaneClick: handlePaneClick,
2752
- onInit,
2753
- fitView: true,
2754
- fitViewOptions: { padding: 0.1 },
2755
- defaultEdgeOptions: { type: edgeType },
2756
- panOnScroll: true,
2757
- minZoom: 0.1,
2758
- proOptions: { hideAttribution: true },
2759
- panActivationKeyCode: null,
2760
- children: /* @__PURE__ */ jsx20(
2761
- Background,
2762
- {
2763
- variant: BackgroundVariant.Dots,
2764
- gap: 20,
2765
- size: 1,
2766
- color: "var(--color-bg-dots)"
2767
- }
2768
- )
2769
- }
2770
- ),
2771
- /* @__PURE__ */ jsxs20(
2772
- DetailPanel,
2773
- {
2774
- isOpen: detailOpen,
2775
- onClose: handlePaneClick,
2776
- width: panelWidth,
2777
- isDragging: isPanelDragging,
2778
- onResizeHandleMouseDown: onResizeMouseDown,
2779
- children: [
2780
- conceptOverride ? /* @__PURE__ */ jsx20(ConceptDetailPanel, { concept: conceptOverride }) : selectedSpecNode && graphspec ? /* @__PURE__ */ jsx20(
2781
- PipeDetailPanel,
2782
- {
2783
- node: selectedSpecNode,
2784
- spec: graphspec,
2785
- onConceptClick: handleConceptClick
2786
- }
2787
- ) : (detailSelection == null ? void 0 : detailSelection.stuffData) ? /* @__PURE__ */ jsx20(
2788
- StuffNodeDetail,
2789
- {
2790
- nodeId: detailSelection.nodeId,
2791
- stuffData: detailSelection.stuffData,
2792
- graphspec,
2793
- resolveStorageUrl,
2794
- canEmbedPdf,
2795
- onOpenExternally
2796
- }
2797
- ) : null,
2798
- renderDetailExtra && detailSelection && !conceptOverride && renderDetailExtra(detailSelection.nodeId, detailSelection.nodeData)
2799
- ]
2800
- }
2801
- ),
2802
- !hideToolbar && /* @__PURE__ */ jsx20(
2803
- GraphToolbar,
2745
+ return /* @__PURE__ */ jsxs20("div", { ref: containerRef, className: `react-flow-container react-flow-container--theme-${theme}`, children: [
2746
+ /* @__PURE__ */ jsx20(
2747
+ ReactFlow,
2748
+ {
2749
+ nodes,
2750
+ edges,
2751
+ nodeTypes,
2752
+ onNodesChange,
2753
+ onEdgesChange,
2754
+ onNodeClick,
2755
+ onPaneClick: handlePaneClick,
2756
+ onInit,
2757
+ fitView: true,
2758
+ fitViewOptions: { padding: 0.1 },
2759
+ defaultEdgeOptions: { type: edgeType },
2760
+ panOnScroll: true,
2761
+ minZoom: 0.1,
2762
+ proOptions: { hideAttribution: true },
2763
+ panActivationKeyCode: null,
2764
+ children: /* @__PURE__ */ jsx20(
2765
+ Background,
2804
2766
  {
2805
- direction,
2806
- onDirectionChange: setDirection,
2807
- showControllers,
2808
- onShowControllersChange: setShowControllers,
2809
- onZoomIn: () => {
2810
- var _a2;
2811
- return (_a2 = reactFlowRef.current) == null ? void 0 : _a2.zoomIn();
2812
- },
2813
- onZoomOut: () => {
2814
- var _a2;
2815
- return (_a2 = reactFlowRef.current) == null ? void 0 : _a2.zoomOut();
2816
- },
2817
- onFitView: () => {
2818
- var _a2;
2819
- return (_a2 = reactFlowRef.current) == null ? void 0 : _a2.fitView({ padding: 0.1 });
2820
- },
2821
- onFoldAll: foldAllProps.onFoldAll,
2822
- onExpandAll: foldAllProps.onExpandAll,
2823
- foldAllDisabled: foldAllProps.foldAllDisabled,
2824
- expandAllDisabled: foldAllProps.expandAllDisabled,
2825
- theme: showThemeToggle ? theme : void 0,
2826
- onThemeChange: showThemeToggle ? setTheme : void 0,
2827
- rightOffset: detailOpen ? panelWidth : 0
2767
+ variant: BackgroundVariant.Dots,
2768
+ gap: 20,
2769
+ size: 1,
2770
+ color: "var(--color-bg-dots)"
2828
2771
  }
2829
2772
  )
2830
- ]
2831
- }
2832
- );
2773
+ }
2774
+ ),
2775
+ /* @__PURE__ */ jsxs20(
2776
+ DetailPanel,
2777
+ {
2778
+ isOpen: detailOpen,
2779
+ onClose: handlePaneClick,
2780
+ width: panelWidth,
2781
+ isDragging: isPanelDragging,
2782
+ onResizeHandleMouseDown: onResizeMouseDown,
2783
+ children: [
2784
+ conceptOverride ? /* @__PURE__ */ jsx20(ConceptDetailPanel, { concept: conceptOverride }) : selectedSpecNode && graphspec ? /* @__PURE__ */ jsx20(
2785
+ PipeDetailPanel,
2786
+ {
2787
+ node: selectedSpecNode,
2788
+ spec: graphspec,
2789
+ onConceptClick: handleConceptClick
2790
+ }
2791
+ ) : (detailSelection == null ? void 0 : detailSelection.stuffData) ? /* @__PURE__ */ jsx20(
2792
+ StuffNodeDetail,
2793
+ {
2794
+ nodeId: detailSelection.nodeId,
2795
+ stuffData: detailSelection.stuffData,
2796
+ graphspec,
2797
+ resolveStorageUrl,
2798
+ canEmbedPdf,
2799
+ onOpenExternally
2800
+ }
2801
+ ) : null,
2802
+ renderDetailExtra && detailSelection && !conceptOverride && renderDetailExtra(detailSelection.nodeId, detailSelection.nodeData)
2803
+ ]
2804
+ }
2805
+ ),
2806
+ !hideToolbar && /* @__PURE__ */ jsx20(
2807
+ GraphToolbar,
2808
+ {
2809
+ direction,
2810
+ onDirectionChange: setDirection,
2811
+ showControllers,
2812
+ onShowControllersChange: setShowControllers,
2813
+ onZoomIn: () => {
2814
+ var _a2;
2815
+ return (_a2 = reactFlowRef.current) == null ? void 0 : _a2.zoomIn();
2816
+ },
2817
+ onZoomOut: () => {
2818
+ var _a2;
2819
+ return (_a2 = reactFlowRef.current) == null ? void 0 : _a2.zoomOut();
2820
+ },
2821
+ onFitView: () => {
2822
+ var _a2;
2823
+ return (_a2 = reactFlowRef.current) == null ? void 0 : _a2.fitView({ padding: 0.1 });
2824
+ },
2825
+ onFoldAll: foldAllProps.onFoldAll,
2826
+ onExpandAll: foldAllProps.onExpandAll,
2827
+ foldAllDisabled: foldAllProps.foldAllDisabled,
2828
+ expandAllDisabled: foldAllProps.expandAllDisabled,
2829
+ theme: showThemeToggle ? theme : void 0,
2830
+ onThemeChange: showThemeToggle ? setTheme : void 0,
2831
+ rightOffset: detailOpen ? panelWidth : 0
2832
+ }
2833
+ )
2834
+ ] });
2833
2835
  }
2834
2836
  export {
2835
2837
  ConceptDetailPanel,