@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.
- package/dist/{chunk-QAA4CA22.js → chunk-ATQXZEVD.js} +117 -6
- package/dist/chunk-ATQXZEVD.js.map +1 -0
- package/dist/{chunk-OHVSEHDC.js → chunk-N5ICD2WZ.js} +3 -3
- package/dist/{chunk-OHVSEHDC.js.map → chunk-N5ICD2WZ.js.map} +1 -1
- package/dist/{chunk-ZS6DVGB3.js → chunk-OFW7GN3Y.js} +4 -4
- package/dist/{chunk-ZS6DVGB3.js.map → chunk-OFW7GN3Y.js.map} +1 -1
- package/dist/{chunk-YXRLIV7A.js → chunk-Q6IPK64P.js} +4 -2
- package/dist/chunk-Q6IPK64P.js.map +1 -0
- package/dist/{chunk-KDHLKBL2.js → chunk-U2VJB7HR.js} +7 -5
- package/dist/chunk-U2VJB7HR.js.map +1 -0
- package/dist/engine.cjs +4 -2
- package/dist/engine.cjs.map +1 -1
- package/dist/engine.js +3 -3
- package/dist/index.cjs +119 -23
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +3 -8
- package/dist/index.d.ts +3 -8
- package/dist/index.js +13 -32
- package/dist/index.js.map +1 -1
- package/dist/registry/index.d.cts +2 -2
- package/dist/registry/index.d.ts +2 -2
- package/dist/registry.cjs +110 -2
- package/dist/registry.cjs.map +1 -1
- package/dist/registry.js +3 -3
- package/dist/runtime.cjs +4 -2
- package/dist/runtime.cjs.map +1 -1
- package/dist/runtime.js +3 -3
- package/dist/schema.cjs.map +1 -1
- package/dist/schema.js +2 -2
- package/dist/styles.css +60 -0
- package/dist/styles.css.map +1 -1
- package/dist/{types-DwRpXXNy.d.ts → types-BGtR3k9J.d.ts} +1 -1
- package/dist/{types-BekE5JTG.d.cts → types-B_pxRqfw.d.cts} +1 -1
- package/dist/ux.cjs.map +1 -1
- package/dist/ux.d.cts +1 -1
- package/dist/ux.d.ts +1 -1
- package/dist/ux.js +1 -1
- package/package.json +1 -1
- package/dist/chunk-KDHLKBL2.js.map +0 -1
- package/dist/chunk-QAA4CA22.js.map +0 -1
- 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-
|
|
13
|
-
export { D as DocumentConfigField, K as KeyValueConfigField, P as PortSpec, R as RenderBodyContext, d as RepeaterConfigField, e as RepeaterRowField } from './types-
|
|
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-
|
|
13
|
-
export { D as DocumentConfigField, K as KeyValueConfigField, P as PortSpec, R as RenderBodyContext, d as RepeaterConfigField, e as RepeaterRowField } from './types-
|
|
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-
|
|
2
|
-
export { applyOutputsToNodes, applyStatusesToNodes, createHistory, useFlowHistory, useFlowRun, useFlowState } from './chunk-
|
|
3
|
-
import { buildNodeTypes, registerBuiltinKinds, createConnectionValidator } from './chunk-
|
|
4
|
-
export { ANY_PORT_TYPE, BUILTIN_KINDS, LaneNode, RegistryNode, buildNodeTypes, createConnectionValidator, defaultPortCompatibility, registerBuiltinKinds } from './chunk-
|
|
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-
|
|
9
|
-
import { workflowToBlob, importWorkflow, exportWorkflow } from './chunk-
|
|
10
|
-
export { WORKFLOW_SCHEMA_URL, WORKFLOW_SCHEMA_VERSION, exportWorkflow, importWorkflow, migrateSchema, workflowToBlob } from './chunk-
|
|
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-
|
|
13
|
-
export { categoryAccent, defaultConfigFor, getNodeKind, listNodeKinds, onNodeKindsChanged, registerNodeKind, validateConfig } from './chunk-
|
|
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,
|
|
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,
|
|
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
|