@octaviaflow/core 3.0.18-beta.6 → 3.0.18-beta.8

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 (76) hide show
  1. package/dist/chunk-2NGC7AI3.js +2637 -0
  2. package/dist/chunk-2NGC7AI3.js.map +1 -0
  3. package/dist/chunk-2O6K5PLY.js +2637 -0
  4. package/dist/chunk-2O6K5PLY.js.map +1 -0
  5. package/dist/chunk-C3UD2AZ5.js +2637 -0
  6. package/dist/chunk-C3UD2AZ5.js.map +1 -0
  7. package/dist/chunk-IOKUV7FD.js +2658 -0
  8. package/dist/chunk-IOKUV7FD.js.map +1 -0
  9. package/dist/chunk-KYMYNYFV.js +2656 -0
  10. package/dist/chunk-KYMYNYFV.js.map +1 -0
  11. package/dist/chunk-PVJXX6GP.js +2640 -0
  12. package/dist/chunk-PVJXX6GP.js.map +1 -0
  13. package/dist/components/CsvViewer/CsvViewer.d.ts +51 -0
  14. package/dist/components/CsvViewer/CsvViewer.d.ts.map +1 -0
  15. package/dist/components/CsvViewer/index.d.ts +2 -0
  16. package/dist/components/CsvViewer/index.d.ts.map +1 -0
  17. package/dist/components/DropdownMenu/DropdownMenu.d.ts +4 -1
  18. package/dist/components/DropdownMenu/DropdownMenu.d.ts.map +1 -1
  19. package/dist/components/ExecutionConsole/ExecutionConsole.d.ts +8 -2
  20. package/dist/components/ExecutionConsole/ExecutionConsole.d.ts.map +1 -1
  21. package/dist/components/FlowMinimap/FlowMinimap.d.ts +17 -1
  22. package/dist/components/FlowMinimap/FlowMinimap.d.ts.map +1 -1
  23. package/dist/components/FlowToolbar/FlowToolbar.d.ts +16 -10
  24. package/dist/components/FlowToolbar/FlowToolbar.d.ts.map +1 -1
  25. package/dist/components/JsonViewer/JsonViewer.d.ts +42 -7
  26. package/dist/components/JsonViewer/JsonViewer.d.ts.map +1 -1
  27. package/dist/components/JsonViewer/index.d.ts +1 -1
  28. package/dist/components/JsonViewer/index.d.ts.map +1 -1
  29. package/dist/components/WorkflowHeader/WorkflowHeader.d.ts +130 -0
  30. package/dist/components/WorkflowHeader/WorkflowHeader.d.ts.map +1 -0
  31. package/dist/components/WorkflowHeader/WorkflowHeaderExpanded.d.ts +69 -0
  32. package/dist/components/WorkflowHeader/WorkflowHeaderExpanded.d.ts.map +1 -0
  33. package/dist/components/WorkflowHeader/index.d.ts +3 -0
  34. package/dist/components/WorkflowHeader/index.d.ts.map +1 -0
  35. package/dist/components/WorkflowHeader/misc/WorkflowHeaderCentered.d.ts +40 -0
  36. package/dist/components/WorkflowHeader/misc/WorkflowHeaderCentered.d.ts.map +1 -0
  37. package/dist/components/WorkflowHeader/misc/WorkflowHeaderCommand.d.ts +39 -0
  38. package/dist/components/WorkflowHeader/misc/WorkflowHeaderCommand.d.ts.map +1 -0
  39. package/dist/components/WorkflowHeader/misc/WorkflowHeaderMinimal.d.ts +44 -0
  40. package/dist/components/WorkflowHeader/misc/WorkflowHeaderMinimal.d.ts.map +1 -0
  41. package/dist/components/WorkflowHeader/misc/WorkflowHeaderRail.d.ts +45 -0
  42. package/dist/components/WorkflowHeader/misc/WorkflowHeaderRail.d.ts.map +1 -0
  43. package/dist/components/WorkflowHeader/misc/WorkflowHeaderStudio.d.ts +48 -0
  44. package/dist/components/WorkflowHeader/misc/WorkflowHeaderStudio.d.ts.map +1 -0
  45. package/dist/components/WorkflowHeader/misc/WorkflowHeaderTiered.d.ts +52 -0
  46. package/dist/components/WorkflowHeader/misc/WorkflowHeaderTiered.d.ts.map +1 -0
  47. package/dist/components/XmlViewer/XmlViewer.d.ts +26 -1
  48. package/dist/components/XmlViewer/XmlViewer.d.ts.map +1 -1
  49. package/dist/components/XmlViewer/index.d.ts +1 -1
  50. package/dist/components/XmlViewer/index.d.ts.map +1 -1
  51. package/dist/components/YamlViewer/YamlViewer.d.ts +26 -1
  52. package/dist/components/YamlViewer/YamlViewer.d.ts.map +1 -1
  53. package/dist/components/YamlViewer/index.d.ts +1 -1
  54. package/dist/components/YamlViewer/index.d.ts.map +1 -1
  55. package/dist/hooks/useRelativeTime.d.ts +28 -0
  56. package/dist/hooks/useRelativeTime.d.ts.map +1 -0
  57. package/dist/hooks/useWorkflowRuntime.d.ts +20 -0
  58. package/dist/hooks/useWorkflowRuntime.d.ts.map +1 -0
  59. package/dist/index.cjs +4423 -3411
  60. package/dist/index.cjs.map +1 -1
  61. package/dist/index.d.ts +7 -3
  62. package/dist/index.d.ts.map +1 -1
  63. package/dist/index.js +4243 -3230
  64. package/dist/index.js.map +1 -1
  65. package/dist/styles.css +1 -1
  66. package/dist/workflow/components/FlowCanvas/FlowCanvas.d.ts +14 -1
  67. package/dist/workflow/components/FlowCanvas/FlowCanvas.d.ts.map +1 -1
  68. package/dist/workflow/index.d.ts +1 -1
  69. package/dist/workflow/index.d.ts.map +1 -1
  70. package/dist/workflow/store/selectors.d.ts +12 -0
  71. package/dist/workflow/store/selectors.d.ts.map +1 -1
  72. package/dist/workflow.cjs +84 -46
  73. package/dist/workflow.cjs.map +1 -1
  74. package/dist/workflow.js +15 -57
  75. package/dist/workflow.js.map +1 -1
  76. package/package.json +7 -3
@@ -13,6 +13,19 @@ export interface FlowCanvasProps {
13
13
  onViewportChange?: (viewport: Viewport) => void;
14
14
  minZoom?: number;
15
15
  maxZoom?: number;
16
+ /**
17
+ * Auto-frame the existing nodes on first mount so the canvas opens
18
+ * centered on content rather than at the {0,0,1} origin. Defaults to
19
+ * `true` when no explicit `viewport` or `defaultViewport` is supplied;
20
+ * when the consumer pins either prop the canvas honours that and skips
21
+ * the auto-fit. Pass `false` to opt out unconditionally. Pass
22
+ * `{ padding, minZoom, maxZoom }` to tune the framing.
23
+ */
24
+ fitViewOnInit?: boolean | {
25
+ padding?: number;
26
+ minZoom?: number;
27
+ maxZoom?: number;
28
+ };
16
29
  nodeKinds?: NodeKindRegistry;
17
30
  onConnect?: (connection: Connection) => void;
18
31
  onConnectStart?: (event: PointerEvent | globalThis.PointerEvent, params: ConnectStartParams) => void;
@@ -106,6 +119,6 @@ export interface FlowCanvasProps {
106
119
  children?: ReactNode;
107
120
  emptyState?: ReactNode;
108
121
  }
109
- export declare function FlowCanvas({ nodes, edges, onNodesChange, onEdgesChange, viewport: controlledViewport, defaultViewport, onViewportChange, minZoom, maxZoom, nodeKinds, onConnect, onConnectStart, onConnectEnd, isValidConnection, onSelectionChange, onPaneClick, onNodeClick, onEdgeClick, onEdgeLabelChange, onInit, onBeforeDelete, onNodeContextMenu, onEdgeContextMenu, onPaneContextMenu, nodesDraggable, nodesConnectable, panOnDrag: panOnDragProp, zoomOnScroll: zoomOnScrollProp, preset, paneClickDistance, paneClickClearsSelection, background, gridSize, snapToGrid, nodeCollisionGap, subflowCollisionGap, height, width, className, style, children, emptyState, }: FlowCanvasProps): import("react/jsx-runtime").JSX.Element;
122
+ export declare function FlowCanvas(props: FlowCanvasProps): import("react/jsx-runtime").JSX.Element;
110
123
  export type { BuiltInNodeData };
111
124
  //# sourceMappingURL=FlowCanvas.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"FlowCanvas.d.ts","sourceRoot":"","sources":["../../../../src/workflow/components/FlowCanvas/FlowCanvas.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FlowCanvas.d.ts","sourceRoot":"","sources":["../../../../src/workflow/components/FlowCanvas/FlowCanvas.tsx"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@ export { type CreateDagreEngineOptions, createDagreEngine } from "./layout/dagre
6
6
  export { type CreateElkEngineOptions, createElkEngine } from "./layout/elk";
7
7
  export type { DagreGraph, DagreLike, ElkEdge, ElkGraph, ElkLike, } from "./layout/types";
8
8
  export { applyEdgeChanges, applyNodeChanges, change } from "./store/changes";
9
- export { useConnection, useEdgeById, useEdges, useFlowSelector, useIsEdgeSelected, useIsNodeSelected, useNodeById, useNodeData, useNodes, useSelection, useViewport, } from "./store/selectors";
9
+ export { useConnection, useEdgeById, useEdges, useFlowSelector, useIsEdgeSelected, useIsNodeSelected, useNodeById, useNodeData, useNodes, useSelection, useViewport, useViewportOrNull, } from "./store/selectors";
10
10
  export { ConfigPanel, type ConfigPanelProps, type ConfigPanelSaveState, type ConfigPanelTab, } from "./components/ConfigPanel/ConfigPanel";
11
11
  export { FlowCanvas, type FlowCanvasProps } from "./components/FlowCanvas/FlowCanvas";
12
12
  export { FlowEdge, type FlowEdgeProps } from "./components/FlowEdge/FlowEdge";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/workflow/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/workflow/index.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,18 @@ export declare function useFlowSelector<T>(selector: (snapshot: FlowStoreSnapsho
11
11
  export declare function useNodes(): WorkflowNode[];
12
12
  export declare function useEdges(): WorkflowEdge[];
13
13
  export declare function useViewport(): Viewport;
14
+ /**
15
+ * Like `useViewport()` but returns `null` when called outside a
16
+ * `<FlowCanvas>`. Useful for shared chrome components (FlowToolbarZoom,
17
+ * minimap previews) that want to auto-subscribe when mounted inside the
18
+ * canvas, but still render correctly in isolation (Storybook, design
19
+ * docs) when no store is present.
20
+ *
21
+ * The subscribe/getSnapshot pair is memoised so React subscribes once per
22
+ * mounted `<FlowCanvas>` ancestor — flipping in/out is rare (only when a
23
+ * canvas is unmounted around the consumer).
24
+ */
25
+ export declare function useViewportOrNull(): Viewport | null;
14
26
  export declare function useNodeById(id: string): WorkflowNode | undefined;
15
27
  /**
16
28
  * Subscribe to the `data` slice of a single node by id. Re-renders only
@@ -1 +1 @@
1
- {"version":3,"file":"selectors.d.ts","sourceRoot":"","sources":["../../../src/workflow/store/selectors.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EACV,kBAAkB,EAClB,iBAAiB,EACjB,QAAQ,EACR,YAAY,EACZ,YAAY,EACb,MAAM,WAAW,CAAC;AAGnB;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAC/B,QAAQ,EAAE,CAAC,QAAQ,EAAE,iBAAiB,KAAK,CAAC,EAC5C,OAAO,GAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,OAAmB,GAC3C,CAAC,CAYH;AAID,wBAAgB,QAAQ,IAAI,YAAY,EAAE,CAEzC;AAED,wBAAgB,QAAQ,IAAI,YAAY,EAAE,CAEzC;AAED,wBAAgB,WAAW,IAAI,QAAQ,CAEtC;AAED,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAEhE;AAED;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAC,KAAK,GAAG,OAAO,EAAE,EAAE,EAAE,MAAM,GAAG,KAAK,GAAG,SAAS,CAI1E;AAED,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAEhE;AAED,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAErD;AAED,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAErD;AAED,wBAAgB,aAAa,IAAI,kBAAkB,GAAG,IAAI,CAEzD;AAED,wBAAgB,YAAY,IAAI;IAAE,KAAK,EAAE,YAAY,EAAE,CAAC;IAAC,KAAK,EAAE,YAAY,EAAE,CAAA;CAAE,CAe/E"}
1
+ {"version":3,"file":"selectors.d.ts","sourceRoot":"","sources":["../../../src/workflow/store/selectors.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EACV,kBAAkB,EAClB,iBAAiB,EACjB,QAAQ,EACR,YAAY,EACZ,YAAY,EACb,MAAM,WAAW,CAAC;AAGnB;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAC/B,QAAQ,EAAE,CAAC,QAAQ,EAAE,iBAAiB,KAAK,CAAC,EAC5C,OAAO,GAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,OAAmB,GAC3C,CAAC,CAYH;AAID,wBAAgB,QAAQ,IAAI,YAAY,EAAE,CAEzC;AAED,wBAAgB,QAAQ,IAAI,YAAY,EAAE,CAEzC;AAED,wBAAgB,WAAW,IAAI,QAAQ,CAEtC;AAKD;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,IAAI,QAAQ,GAAG,IAAI,CAgBnD;AAED,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAEhE;AAED;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAC,KAAK,GAAG,OAAO,EAAE,EAAE,EAAE,MAAM,GAAG,KAAK,GAAG,SAAS,CAI1E;AAED,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAEhE;AAED,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAErD;AAED,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAErD;AAED,wBAAgB,aAAa,IAAI,kBAAkB,GAAG,IAAI,CAEzD;AAED,wBAAgB,YAAY,IAAI;IAAE,KAAK,EAAE,YAAY,EAAE,CAAC;IAAC,KAAK,EAAE,YAAY,EAAE,CAAA;CAAE,CAe/E"}
package/dist/workflow.cjs CHANGED
@@ -77,7 +77,8 @@ __export(workflow_exports, {
77
77
  useNodeData: () => useNodeData,
78
78
  useNodes: () => useNodes,
79
79
  useSelection: () => useSelection,
80
- useViewport: () => useViewport
80
+ useViewport: () => useViewport,
81
+ useViewportOrNull: () => useViewportOrNull
81
82
  });
82
83
  module.exports = __toCommonJS(workflow_exports);
83
84
 
@@ -646,6 +647,23 @@ function useEdges() {
646
647
  function useViewport() {
647
648
  return useFlowSelector((s) => s.viewport);
648
649
  }
650
+ var VIEWPORT_OR_NULL_NO_STORE_SUBSCRIBE = (_cb) => () => {
651
+ };
652
+ var VIEWPORT_OR_NULL_NO_STORE_SNAPSHOT = () => null;
653
+ function useViewportOrNull() {
654
+ const store = (0, import_react5.useContext)(FlowStoreContext);
655
+ const { sub, snap } = (0, import_react5.useMemo)(
656
+ () => store ? {
657
+ sub: store.subscribe,
658
+ snap: () => store.getSnapshot().viewport
659
+ } : {
660
+ sub: VIEWPORT_OR_NULL_NO_STORE_SUBSCRIBE,
661
+ snap: VIEWPORT_OR_NULL_NO_STORE_SNAPSHOT
662
+ },
663
+ [store]
664
+ );
665
+ return (0, import_react5.useSyncExternalStore)(sub, snap, snap);
666
+ }
649
667
  function useNodeById(id) {
650
668
  return useFlowSelector((s) => s.nodes.find((n) => n.id === id));
651
669
  }
@@ -2231,50 +2249,53 @@ var DEFAULT_NODE_KINDS = {
2231
2249
  // src/workflow/components/FlowCanvas/FlowCanvas.tsx
2232
2250
  var import_jsx_runtime7 = require("react/jsx-runtime");
2233
2251
  var DEFAULT_VIEWPORT2 = { x: 0, y: 0, zoom: 1 };
2234
- function FlowCanvas({
2235
- nodes,
2236
- edges,
2237
- onNodesChange,
2238
- onEdgesChange,
2239
- viewport: controlledViewport,
2240
- defaultViewport = DEFAULT_VIEWPORT2,
2241
- onViewportChange,
2242
- minZoom = 0.25,
2243
- maxZoom = 2,
2244
- nodeKinds,
2245
- onConnect,
2246
- onConnectStart,
2247
- onConnectEnd,
2248
- isValidConnection,
2249
- onSelectionChange,
2250
- onPaneClick,
2251
- onNodeClick,
2252
- onEdgeClick,
2253
- onEdgeLabelChange,
2254
- onInit,
2255
- onBeforeDelete,
2256
- onNodeContextMenu,
2257
- onEdgeContextMenu,
2258
- onPaneContextMenu,
2259
- nodesDraggable = true,
2260
- nodesConnectable = true,
2261
- panOnDrag: panOnDragProp,
2262
- zoomOnScroll: zoomOnScrollProp,
2263
- preset = "mouse",
2264
- paneClickDistance = 4,
2265
- paneClickClearsSelection = true,
2266
- background = "dots",
2267
- gridSize = 20,
2268
- snapToGrid = false,
2269
- nodeCollisionGap = -1,
2270
- subflowCollisionGap,
2271
- height = "100%",
2272
- width = "100%",
2273
- className,
2274
- style,
2275
- children,
2276
- emptyState
2277
- }) {
2252
+ function FlowCanvas(props) {
2253
+ const viewportPropProvided = props.viewport !== void 0 || props.defaultViewport !== void 0;
2254
+ const {
2255
+ nodes,
2256
+ edges,
2257
+ onNodesChange,
2258
+ onEdgesChange,
2259
+ viewport: controlledViewport,
2260
+ defaultViewport = DEFAULT_VIEWPORT2,
2261
+ onViewportChange,
2262
+ minZoom = 0.25,
2263
+ maxZoom = 2,
2264
+ fitViewOnInit,
2265
+ nodeKinds,
2266
+ onConnect,
2267
+ onConnectStart,
2268
+ onConnectEnd,
2269
+ isValidConnection,
2270
+ onSelectionChange,
2271
+ onPaneClick,
2272
+ onNodeClick,
2273
+ onEdgeClick,
2274
+ onEdgeLabelChange,
2275
+ onInit,
2276
+ onBeforeDelete,
2277
+ onNodeContextMenu,
2278
+ onEdgeContextMenu,
2279
+ onPaneContextMenu,
2280
+ nodesDraggable = true,
2281
+ nodesConnectable = true,
2282
+ panOnDrag: panOnDragProp,
2283
+ zoomOnScroll: zoomOnScrollProp,
2284
+ preset = "mouse",
2285
+ paneClickDistance = 4,
2286
+ paneClickClearsSelection = true,
2287
+ background = "dots",
2288
+ gridSize = 20,
2289
+ snapToGrid = false,
2290
+ nodeCollisionGap = -1,
2291
+ subflowCollisionGap,
2292
+ height = "100%",
2293
+ width = "100%",
2294
+ className,
2295
+ style,
2296
+ children,
2297
+ emptyState
2298
+ } = props;
2278
2299
  const presetDefaults = {
2279
2300
  mouse: { panOnDrag: true, zoomOnScroll: true },
2280
2301
  trackpad: { panOnDrag: true, zoomOnScroll: true },
@@ -2969,6 +2990,22 @@ function FlowCanvas({
2969
2990
  initFiredRef.current = true;
2970
2991
  onInit?.(instance);
2971
2992
  }, [instance, onInit]);
2993
+ const fitOnInitFiredRef = (0, import_react14.useRef)(false);
2994
+ (0, import_react14.useEffect)(() => {
2995
+ if (fitOnInitFiredRef.current) return;
2996
+ const opt = fitViewOnInit;
2997
+ const shouldFit = opt === false ? false : opt !== void 0 ? true : !viewportPropProvided;
2998
+ if (!shouldFit) return;
2999
+ if (nodes.length === 0) return;
3000
+ const rect = containerRef.current?.getBoundingClientRect();
3001
+ if (!rect || rect.width === 0 || rect.height === 0) return;
3002
+ fitOnInitFiredRef.current = true;
3003
+ const fitOpts = typeof opt === "object" && opt !== null ? opt : void 0;
3004
+ const raf = requestAnimationFrame(() => {
3005
+ void instance.fitView(fitOpts);
3006
+ });
3007
+ return () => cancelAnimationFrame(raf);
3008
+ }, [fitViewOnInit, viewportPropProvided, nodes.length, instance]);
2972
3009
  (0, import_react14.useEffect)(() => {
2973
3010
  const onKey = (e) => {
2974
3011
  if (e.key !== "Backspace" && e.key !== "Delete") return;
@@ -3564,6 +3601,7 @@ function toggleGroupCollapse(groupId, nodes) {
3564
3601
  useNodeData,
3565
3602
  useNodes,
3566
3603
  useSelection,
3567
- useViewport
3604
+ useViewport,
3605
+ useViewportOrNull
3568
3606
  });
3569
3607
  //# sourceMappingURL=workflow.cjs.map