@particle-academy/fancy-flow 0.24.0 → 0.25.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 (41) hide show
  1. package/dist/{chunk-QAA4CA22.js → chunk-ATQXZEVD.js} +117 -6
  2. package/dist/chunk-ATQXZEVD.js.map +1 -0
  3. package/dist/{chunk-OHVSEHDC.js → chunk-N5ICD2WZ.js} +3 -3
  4. package/dist/{chunk-OHVSEHDC.js.map → chunk-N5ICD2WZ.js.map} +1 -1
  5. package/dist/{chunk-ZS6DVGB3.js → chunk-OFW7GN3Y.js} +4 -4
  6. package/dist/{chunk-ZS6DVGB3.js.map → chunk-OFW7GN3Y.js.map} +1 -1
  7. package/dist/{chunk-YXRLIV7A.js → chunk-Q6IPK64P.js} +4 -2
  8. package/dist/chunk-Q6IPK64P.js.map +1 -0
  9. package/dist/{chunk-KDHLKBL2.js → chunk-U2VJB7HR.js} +7 -5
  10. package/dist/chunk-U2VJB7HR.js.map +1 -0
  11. package/dist/engine.cjs +4 -2
  12. package/dist/engine.cjs.map +1 -1
  13. package/dist/engine.js +3 -3
  14. package/dist/index.cjs +119 -23
  15. package/dist/index.cjs.map +1 -1
  16. package/dist/index.d.cts +3 -8
  17. package/dist/index.d.ts +3 -8
  18. package/dist/index.js +13 -32
  19. package/dist/index.js.map +1 -1
  20. package/dist/registry/index.d.cts +2 -2
  21. package/dist/registry/index.d.ts +2 -2
  22. package/dist/registry.cjs +110 -2
  23. package/dist/registry.cjs.map +1 -1
  24. package/dist/registry.js +3 -3
  25. package/dist/runtime.cjs +4 -2
  26. package/dist/runtime.cjs.map +1 -1
  27. package/dist/runtime.js +3 -3
  28. package/dist/schema.cjs.map +1 -1
  29. package/dist/schema.js +2 -2
  30. package/dist/styles.css +60 -0
  31. package/dist/styles.css.map +1 -1
  32. package/dist/{types-DwRpXXNy.d.ts → types-BGtR3k9J.d.ts} +1 -1
  33. package/dist/{types-BekE5JTG.d.cts → types-B_pxRqfw.d.cts} +1 -1
  34. package/dist/ux.cjs.map +1 -1
  35. package/dist/ux.d.cts +1 -1
  36. package/dist/ux.d.ts +1 -1
  37. package/dist/ux.js +1 -1
  38. package/package.json +1 -1
  39. package/dist/chunk-KDHLKBL2.js.map +0 -1
  40. package/dist/chunk-QAA4CA22.js.map +0 -1
  41. package/dist/chunk-YXRLIV7A.js.map +0 -1
package/dist/index.d.cts CHANGED
@@ -9,8 +9,8 @@ import { WorkflowSchema, WorkflowMetadata } from './schema/index.cjs';
9
9
  export { ImportIssue, ImportOptions, ImportResult, WORKFLOW_SCHEMA_URL, WORKFLOW_SCHEMA_VERSION, WorkflowSchemaEdge, WorkflowSchemaNode, exportWorkflow, importWorkflow, migrateSchema, workflowToBlob } from './schema/index.cjs';
10
10
  import { AutoLayoutOptions } from './layout/index.cjs';
11
11
  export { AutoLayoutDirection } from './layout/index.cjs';
12
- import { N as NodeCategory, a as NodeKindDefinition, C as ConfigField } from './types-BekE5JTG.cjs';
13
- export { D as DocumentConfigField, K as KeyValueConfigField, P as PortSpec, R as RenderBodyContext, d as RepeaterConfigField, e as RepeaterRowField } from './types-BekE5JTG.cjs';
12
+ import { N as NodeCategory, a as NodeKindDefinition, C as ConfigField } from './types-B_pxRqfw.cjs';
13
+ export { D as DocumentConfigField, K as KeyValueConfigField, P as PortSpec, R as RenderBodyContext, d as RepeaterConfigField, e as RepeaterRowField } from './types-B_pxRqfw.cjs';
14
14
  import { FlowRunFeedEntry } from './runtime/index.cjs';
15
15
  export { HistoryController, UseFlowHistoryReturn, UseFlowRunOptions, UseFlowRunReturn, UseFlowStateReturn, applyOutputsToNodes, applyStatusesToNodes, createHistory, useFlowHistory, useFlowRun, useFlowState } from './runtime/index.cjs';
16
16
  export { R as RunOptions, a as RunResult, r as runFlow } from './run-flow-AXzOR-Wq.cjs';
@@ -423,12 +423,7 @@ declare const DecisionNode: react.MemoExoticComponent<typeof DecisionNodeInner>;
423
423
  declare function OutputNodeInner(props: NodeProps<FlowNode>): react.JSX.Element;
424
424
  declare const OutputNode: react.MemoExoticComponent<typeof OutputNodeInner>;
425
425
 
426
- /**
427
- * NoteNode — annotation card with no ports. Useful for documenting graphs.
428
- * Body is plain text; hosts can wire onChange via the editor's onNodesChange
429
- * if they want it editable.
430
- */
431
- declare function NoteNodeInner({ data, selected }: NodeProps<FlowNode>): react.JSX.Element;
426
+ declare function NoteNodeInner(props: NodeProps<FlowNode>): react.JSX.Element;
432
427
  declare const NoteNode: react.MemoExoticComponent<typeof NoteNodeInner>;
433
428
 
434
429
  /**
package/dist/index.d.ts CHANGED
@@ -9,8 +9,8 @@ import { WorkflowSchema, WorkflowMetadata } from './schema/index.js';
9
9
  export { ImportIssue, ImportOptions, ImportResult, WORKFLOW_SCHEMA_URL, WORKFLOW_SCHEMA_VERSION, WorkflowSchemaEdge, WorkflowSchemaNode, exportWorkflow, importWorkflow, migrateSchema, workflowToBlob } from './schema/index.js';
10
10
  import { AutoLayoutOptions } from './layout/index.js';
11
11
  export { AutoLayoutDirection } from './layout/index.js';
12
- import { N as NodeCategory, a as NodeKindDefinition, C as ConfigField } from './types-DwRpXXNy.js';
13
- export { D as DocumentConfigField, K as KeyValueConfigField, P as PortSpec, R as RenderBodyContext, d as RepeaterConfigField, e as RepeaterRowField } from './types-DwRpXXNy.js';
12
+ import { N as NodeCategory, a as NodeKindDefinition, C as ConfigField } from './types-BGtR3k9J.js';
13
+ export { D as DocumentConfigField, K as KeyValueConfigField, P as PortSpec, R as RenderBodyContext, d as RepeaterConfigField, e as RepeaterRowField } from './types-BGtR3k9J.js';
14
14
  import { FlowRunFeedEntry } from './runtime/index.js';
15
15
  export { HistoryController, UseFlowHistoryReturn, UseFlowRunOptions, UseFlowRunReturn, UseFlowStateReturn, applyOutputsToNodes, applyStatusesToNodes, createHistory, useFlowHistory, useFlowRun, useFlowState } from './runtime/index.js';
16
16
  export { R as RunOptions, a as RunResult, r as runFlow } from './run-flow-9U-gaYVF.js';
@@ -423,12 +423,7 @@ declare const DecisionNode: react.MemoExoticComponent<typeof DecisionNodeInner>;
423
423
  declare function OutputNodeInner(props: NodeProps<FlowNode>): react.JSX.Element;
424
424
  declare const OutputNode: react.MemoExoticComponent<typeof OutputNodeInner>;
425
425
 
426
- /**
427
- * NoteNode — annotation card with no ports. Useful for documenting graphs.
428
- * Body is plain text; hosts can wire onChange via the editor's onNodesChange
429
- * if they want it editable.
430
- */
431
- declare function NoteNodeInner({ data, selected }: NodeProps<FlowNode>): react.JSX.Element;
426
+ declare function NoteNodeInner(props: NodeProps<FlowNode>): react.JSX.Element;
432
427
  declare const NoteNode: react.MemoExoticComponent<typeof NoteNodeInner>;
433
428
 
434
429
  /**
package/dist/index.js CHANGED
@@ -1,19 +1,19 @@
1
- import { useFlowState, useFlowRun, useFlowHistory, applyOutputsToNodes, applyStatusesToNodes } from './chunk-ZS6DVGB3.js';
2
- export { applyOutputsToNodes, applyStatusesToNodes, createHistory, useFlowHistory, useFlowRun, useFlowState } from './chunk-ZS6DVGB3.js';
3
- import { buildNodeTypes, registerBuiltinKinds, createConnectionValidator } from './chunk-QAA4CA22.js';
4
- export { ANY_PORT_TYPE, BUILTIN_KINDS, LaneNode, RegistryNode, buildNodeTypes, createConnectionValidator, defaultPortCompatibility, registerBuiltinKinds } from './chunk-QAA4CA22.js';
1
+ import { useFlowState, useFlowRun, useFlowHistory, applyOutputsToNodes, applyStatusesToNodes } from './chunk-OFW7GN3Y.js';
2
+ export { applyOutputsToNodes, applyStatusesToNodes, createHistory, useFlowHistory, useFlowRun, useFlowState } from './chunk-OFW7GN3Y.js';
3
+ import { buildNodeTypes, FlowEditorProvider, registerBuiltinKinds, NoteNode, createConnectionValidator } from './chunk-ATQXZEVD.js';
4
+ export { ANY_PORT_TYPE, BUILTIN_KINDS, LaneNode, NoteNode, RegistryNode, buildNodeTypes, createConnectionValidator, defaultPortCompatibility, registerBuiltinKinds, useFlowEditor, useFlowEditorOptional } from './chunk-ATQXZEVD.js';
5
5
  import { ReactFlowProvider, useReactFlow, addEdge, applyEdgeChanges, applyNodeChanges, Position, Handle, reconnectEdge, index, BackgroundVariant, Background, Controls, MiniMap, ViewportPortal } from './chunk-OWENS2H5.js';
6
6
  export { LEGACY_PAUSE_PREFIXES, PAUSE_PREFIX, decodePause, encodePause, isPause, pauseForHuman } from './chunk-UEOE6B52.js';
7
7
  import './chunk-USL4FMFU.js';
8
- export { runFlow } from './chunk-KDHLKBL2.js';
9
- import { workflowToBlob, importWorkflow, exportWorkflow } from './chunk-OHVSEHDC.js';
10
- export { WORKFLOW_SCHEMA_URL, WORKFLOW_SCHEMA_VERSION, exportWorkflow, importWorkflow, migrateSchema, workflowToBlob } from './chunk-OHVSEHDC.js';
8
+ export { runFlow } from './chunk-U2VJB7HR.js';
9
+ import { workflowToBlob, importWorkflow, exportWorkflow } from './chunk-N5ICD2WZ.js';
10
+ export { WORKFLOW_SCHEMA_URL, WORKFLOW_SCHEMA_VERSION, exportWorkflow, importWorkflow, migrateSchema, workflowToBlob } from './chunk-N5ICD2WZ.js';
11
11
  export { resolveNodePorts, resolvePortSpec } from './chunk-TITD5W4Y.js';
12
- import { onNodeKindsChanged, listNodeKinds, getNodeKind, defaultConfigFor, validateConfig, categoryAccent } from './chunk-YXRLIV7A.js';
13
- export { categoryAccent, defaultConfigFor, getNodeKind, listNodeKinds, onNodeKindsChanged, registerNodeKind, validateConfig } from './chunk-YXRLIV7A.js';
12
+ import { onNodeKindsChanged, listNodeKinds, getNodeKind, defaultConfigFor, validateConfig, categoryAccent } from './chunk-Q6IPK64P.js';
13
+ export { categoryAccent, defaultConfigFor, getNodeKind, listNodeKinds, onNodeKindsChanged, registerNodeKind, validateConfig } from './chunk-Q6IPK64P.js';
14
14
  import { getRichInputAdapter } from './chunk-F5RPRB7A.js';
15
15
  export { RichInputPreview, getRichInputAdapter, isRichInputEnabled, onRichInputAdapterChanged, registerRichInputAdapter } from './chunk-F5RPRB7A.js';
16
- import { memo, createContext, forwardRef, useState, useEffect, useMemo, useCallback, useRef, useImperativeHandle, useContext } from 'react';
16
+ import { memo, forwardRef, useState, useEffect, useMemo, useCallback, useRef, useImperativeHandle } from 'react';
17
17
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
18
18
 
19
19
  function NodeShellInner({
@@ -108,14 +108,6 @@ function OutputNodeInner(props) {
108
108
  return /* @__PURE__ */ jsx(NodeShell, { node: props, accent: "#a855f7", tag: "OUTPUT", icon: "\u25CF", showOutputs: false });
109
109
  }
110
110
  var OutputNode = memo(OutputNodeInner);
111
- function NoteNodeInner({ data, selected }) {
112
- const noteData = data;
113
- return /* @__PURE__ */ jsxs("div", { className: `ff-note ${selected ? "ff-note--selected" : ""}`, children: [
114
- noteData.label && /* @__PURE__ */ jsx("div", { className: "ff-note__title", children: noteData.label }),
115
- noteData.body && /* @__PURE__ */ jsx("p", { className: "ff-note__body", children: noteData.body })
116
- ] });
117
- }
118
- var NoteNode = memo(NoteNodeInner);
119
111
  function SubgraphNodeInner(props) {
120
112
  const data = props.data;
121
113
  const childCount = data.childIds?.length ?? 0;
@@ -468,7 +460,7 @@ function FlowCanvas({
468
460
  }
469
461
  );
470
462
  }
471
- var CATEGORY_ORDER = ["trigger", "logic", "data", "ai", "io", "human", "output", "layout", "custom"];
463
+ var CATEGORY_ORDER = ["trigger", "logic", "data", "ai", "io", "human", "output", "layout", "annotation", "custom"];
472
464
  var CATEGORY_LABELS = {
473
465
  trigger: "Triggers",
474
466
  logic: "Logic",
@@ -478,6 +470,7 @@ var CATEGORY_LABELS = {
478
470
  human: "Human",
479
471
  output: "Output",
480
472
  layout: "Layout",
473
+ annotation: "Notes",
481
474
  custom: "Custom"
482
475
  };
483
476
  function NodePalette({ categories, onPick, className, style }) {
@@ -1069,18 +1062,6 @@ function formatTime(at) {
1069
1062
  const d = new Date(at);
1070
1063
  return `${d.getMinutes().toString().padStart(2, "0")}:${d.getSeconds().toString().padStart(2, "0")}.${Math.floor(d.getMilliseconds() / 100)}`;
1071
1064
  }
1072
- var FlowEditorContext = createContext(null);
1073
- var FlowEditorProvider = FlowEditorContext.Provider;
1074
- function useFlowEditor() {
1075
- const api = useContext(FlowEditorContext);
1076
- if (api === null) {
1077
- throw new Error("useFlowEditor() must be called inside <FlowEditor>.");
1078
- }
1079
- return api;
1080
- }
1081
- function useFlowEditorOptional() {
1082
- return useContext(FlowEditorContext);
1083
- }
1084
1065
  var FlowEditor = forwardRef(function FlowEditor2(props, ref) {
1085
1066
  return /* @__PURE__ */ jsx(ReactFlowProvider, { children: /* @__PURE__ */ jsx(
1086
1067
  "div",
@@ -1769,6 +1750,6 @@ function NodePort({ side, type, id, style, title, className }) {
1769
1750
  // src/index.ts
1770
1751
  registerBuiltinKinds();
1771
1752
 
1772
- export { ActionNode, ConfigFieldRenderer, DecisionNode, FlowCanvas, FlowEditor, FlowRunControls, FlowRunFeed, NodeConfigPanel, NodePalette, NodePort, NodeShell, NoteNode, OutputNode, SubgraphNode, TriggerNode, alignNodes, cloneSubgraph, defaultNodeTypes, defineNode, distributeNodes, paletteDropHandlers, reconnectEdge2 as reconnectEdge, useFlowEditor, useFlowEditorOptional };
1753
+ export { ActionNode, ConfigFieldRenderer, DecisionNode, FlowCanvas, FlowEditor, FlowRunControls, FlowRunFeed, NodeConfigPanel, NodePalette, NodePort, NodeShell, OutputNode, SubgraphNode, TriggerNode, alignNodes, cloneSubgraph, defaultNodeTypes, defineNode, distributeNodes, paletteDropHandlers, reconnectEdge2 as reconnectEdge };
1773
1754
  //# sourceMappingURL=index.js.map
1774
1755
  //# sourceMappingURL=index.js.map