@bian-womp/spark-workbench 0.2.55 → 0.2.57
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/lib/cjs/index.cjs +168 -67
- package/lib/cjs/index.cjs.map +1 -1
- package/lib/cjs/src/core/ui-extensions.d.ts +21 -6
- package/lib/cjs/src/core/ui-extensions.d.ts.map +1 -1
- package/lib/cjs/src/misc/NodeHandles.d.ts +1 -3
- package/lib/cjs/src/misc/NodeHandles.d.ts.map +1 -1
- package/lib/cjs/src/misc/WorkbenchCanvas.d.ts.map +1 -1
- package/lib/cjs/src/misc/constants.d.ts +2 -1
- package/lib/cjs/src/misc/constants.d.ts.map +1 -1
- package/lib/cjs/src/misc/layout.d.ts +89 -28
- package/lib/cjs/src/misc/layout.d.ts.map +1 -1
- package/lib/cjs/src/misc/mapping.d.ts +2 -0
- package/lib/cjs/src/misc/mapping.d.ts.map +1 -1
- package/lib/esm/index.js +164 -68
- package/lib/esm/index.js.map +1 -1
- package/lib/esm/src/core/ui-extensions.d.ts +21 -6
- package/lib/esm/src/core/ui-extensions.d.ts.map +1 -1
- package/lib/esm/src/misc/NodeHandles.d.ts +1 -3
- package/lib/esm/src/misc/NodeHandles.d.ts.map +1 -1
- package/lib/esm/src/misc/WorkbenchCanvas.d.ts.map +1 -1
- package/lib/esm/src/misc/constants.d.ts +2 -1
- package/lib/esm/src/misc/constants.d.ts.map +1 -1
- package/lib/esm/src/misc/layout.d.ts +89 -28
- package/lib/esm/src/misc/layout.d.ts.map +1 -1
- package/lib/esm/src/misc/mapping.d.ts +2 -0
- package/lib/esm/src/misc/mapping.d.ts.map +1 -1
- package/package.json +4 -4
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type React from "react";
|
|
2
|
+
import type { EstimateNodeSizeFunction, CreateHandleBoundsFunction, CreateHandleLayoutFunction, LayoutNodeFunction } from "../misc/layout";
|
|
2
3
|
export type NodeRenderer = React.ComponentType<any>;
|
|
3
|
-
export type IconProvider = (nodeTypeId: string) => unknown;
|
|
4
4
|
export type ConnectionLineRenderer = React.ComponentType<any>;
|
|
5
5
|
export type MinimapRenderer = React.ComponentType<any>;
|
|
6
6
|
export type ControlsRenderer = React.ComponentType<any>;
|
|
@@ -11,8 +11,6 @@ export interface UIExtensionRegistry {
|
|
|
11
11
|
registerNodeRenderer(nodeTypeId: string, renderer: NodeRenderer | undefined): this;
|
|
12
12
|
getNodeRenderer(nodeTypeId: string): NodeRenderer | undefined;
|
|
13
13
|
getAllNodeRenderers(): Record<string, NodeRenderer>;
|
|
14
|
-
registerIconProvider(provider: IconProvider | undefined): this;
|
|
15
|
-
getIconProvider(): IconProvider | undefined;
|
|
16
14
|
registerConnectionLineRenderer(renderer: ConnectionLineRenderer | undefined): this;
|
|
17
15
|
getConnectionLineRenderer(): ConnectionLineRenderer | undefined;
|
|
18
16
|
registerMinimapRenderer(renderer: MinimapRenderer | undefined): this;
|
|
@@ -25,21 +23,30 @@ export interface UIExtensionRegistry {
|
|
|
25
23
|
getDefaultContextMenuRenderer(): DefaultContextMenuRenderer | undefined;
|
|
26
24
|
registerNodeContextMenuRenderer(renderer: NodeContextMenuRenderer | undefined): this;
|
|
27
25
|
getNodeContextMenuRenderer(): NodeContextMenuRenderer | undefined;
|
|
26
|
+
registerEstimateNodeSize(override: EstimateNodeSizeFunction | undefined): this;
|
|
27
|
+
getEstimateNodeSize(): EstimateNodeSizeFunction | undefined;
|
|
28
|
+
registerCreateHandleBounds(override: CreateHandleBoundsFunction | undefined): this;
|
|
29
|
+
getCreateHandleBounds(): CreateHandleBoundsFunction | undefined;
|
|
30
|
+
registerCreateHandleLayout(override: CreateHandleLayoutFunction | undefined): this;
|
|
31
|
+
getCreateHandleLayout(): CreateHandleLayoutFunction | undefined;
|
|
32
|
+
registerLayoutNode(override: LayoutNodeFunction | undefined): this;
|
|
33
|
+
getLayoutNode(): LayoutNodeFunction | undefined;
|
|
28
34
|
}
|
|
29
35
|
export declare class DefaultUIExtensionRegistry implements UIExtensionRegistry {
|
|
30
36
|
private nodeRenderers;
|
|
31
|
-
private iconProvider?;
|
|
32
37
|
private connectionLineRenderer?;
|
|
33
38
|
private minimapRenderer?;
|
|
34
39
|
private controlsRenderer?;
|
|
35
40
|
private backgroundRenderer?;
|
|
36
41
|
private defaultContextMenuRenderer?;
|
|
37
42
|
private nodeContextMenuRenderer?;
|
|
43
|
+
private estimateNodeSizeOverride?;
|
|
44
|
+
private createHandleBoundsOverride?;
|
|
45
|
+
private createHandleLayoutOverride?;
|
|
46
|
+
private layoutNodeOverride?;
|
|
38
47
|
registerNodeRenderer(nodeTypeId: string, renderer: NodeRenderer | undefined): this;
|
|
39
48
|
getNodeRenderer(nodeTypeId: string): NodeRenderer | undefined;
|
|
40
49
|
getAllNodeRenderers(): Record<string, NodeRenderer>;
|
|
41
|
-
registerIconProvider(provider: IconProvider | undefined): this;
|
|
42
|
-
getIconProvider(): IconProvider | undefined;
|
|
43
50
|
registerConnectionLineRenderer(renderer: ConnectionLineRenderer | undefined): this;
|
|
44
51
|
getConnectionLineRenderer(): ConnectionLineRenderer | undefined;
|
|
45
52
|
registerMinimapRenderer(renderer: MinimapRenderer | undefined): this;
|
|
@@ -52,5 +59,13 @@ export declare class DefaultUIExtensionRegistry implements UIExtensionRegistry {
|
|
|
52
59
|
getDefaultContextMenuRenderer(): DefaultContextMenuRenderer | undefined;
|
|
53
60
|
registerNodeContextMenuRenderer(renderer: NodeContextMenuRenderer | undefined): this;
|
|
54
61
|
getNodeContextMenuRenderer(): NodeContextMenuRenderer | undefined;
|
|
62
|
+
registerEstimateNodeSize(override: EstimateNodeSizeFunction | undefined): this;
|
|
63
|
+
getEstimateNodeSize(): EstimateNodeSizeFunction | undefined;
|
|
64
|
+
registerCreateHandleBounds(override: CreateHandleBoundsFunction | undefined): this;
|
|
65
|
+
getCreateHandleBounds(): CreateHandleBoundsFunction | undefined;
|
|
66
|
+
registerCreateHandleLayout(override: CreateHandleLayoutFunction | undefined): this;
|
|
67
|
+
getCreateHandleLayout(): CreateHandleLayoutFunction | undefined;
|
|
68
|
+
registerLayoutNode(override: LayoutNodeFunction | undefined): this;
|
|
69
|
+
getLayoutNode(): LayoutNodeFunction | undefined;
|
|
55
70
|
}
|
|
56
71
|
//# sourceMappingURL=ui-extensions.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ui-extensions.d.ts","sourceRoot":"","sources":["../../../../src/core/ui-extensions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"ui-extensions.d.ts","sourceRoot":"","sources":["../../../../src/core/ui-extensions.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import type { RFNodeData } from "./mapping";
|
|
3
|
-
export declare function NodeHandles({ data, isConnectable,
|
|
3
|
+
export declare function NodeHandles({ data, isConnectable, getClassName, renderLabel, labelClassName, }: {
|
|
4
4
|
data: RFNodeData;
|
|
5
5
|
isConnectable: boolean;
|
|
6
|
-
inputClassName?: string;
|
|
7
|
-
outputClassName?: string;
|
|
8
6
|
getClassName?: (args: {
|
|
9
7
|
kind: "input" | "output";
|
|
10
8
|
id: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NodeHandles.d.ts","sourceRoot":"","sources":["../../../../src/misc/NodeHandles.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAyD5C,wBAAgB,WAAW,CAAC,EAC1B,IAAI,EACJ,aAAa,EACb,
|
|
1
|
+
{"version":3,"file":"NodeHandles.d.ts","sourceRoot":"","sources":["../../../../src/misc/NodeHandles.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAyD5C,wBAAgB,WAAW,CAAC,EAC1B,IAAI,EACJ,aAAa,EACb,YAAY,EACZ,WAAW,EACX,cAA4F,GAC7F,EAAE;IACD,IAAI,EAAE,UAAU,CAAC;IACjB,aAAa,EAAE,OAAO,CAAC;IACvB,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE;QACpB,IAAI,EAAE,OAAO,GAAG,QAAQ,CAAC;QACzB,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,QAAQ,GAAG,QAAQ,CAAC;KAC3B,KAAK,MAAM,GAAG,SAAS,CAAC;IACzB,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE;QACnB,IAAI,EAAE,OAAO,GAAG,QAAQ,CAAC;QACzB,EAAE,EAAE,MAAM,CAAC;KACZ,KAAK,KAAK,CAAC,SAAS,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,2CAgJA;AAED,eAAe,WAAW,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WorkbenchCanvas.d.ts","sourceRoot":"","sources":["../../../../src/misc/WorkbenchCanvas.tsx"],"names":[],"mappings":"AAAA,OAAO,KAON,MAAM,OAAO,CAAC;AAqBf,MAAM,MAAM,qBAAqB,GAAG;IAClC,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB,CAAC;AAEF,eAAO,MAAM,eAAe;iBAGX,OAAO;cACV,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,KAAK,MAAM;eAC3C,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,KAAK,GAAG,CAAC,OAAO;yBACvC,CACnB,MAAM,EAAE,MAAM,KACX;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS;+
|
|
1
|
+
{"version":3,"file":"WorkbenchCanvas.d.ts","sourceRoot":"","sources":["../../../../src/misc/WorkbenchCanvas.tsx"],"names":[],"mappings":"AAAA,OAAO,KAON,MAAM,OAAO,CAAC;AAqBf,MAAM,MAAM,qBAAqB,GAAG;IAClC,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB,CAAC;AAEF,eAAO,MAAM,eAAe;iBAGX,OAAO;cACV,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,KAAK,MAAM;eAC3C,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,KAAK,GAAG,CAAC,OAAO;yBACvC,CACnB,MAAM,EAAE,MAAM,KACX;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS;+CAiiBpD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../src/misc/constants.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,qBAAqB,KAAK,CAAC;AACxC,eAAO,MAAM,kBAAkB,KAAK,CAAC"}
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../src/misc/constants.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,qBAAqB,KAAK,CAAC;AACxC,eAAO,MAAM,kBAAkB,KAAK,CAAC;AACrC,eAAO,MAAM,cAAc,KAAK,CAAC"}
|
|
@@ -1,12 +1,7 @@
|
|
|
1
1
|
import type { ResolvedHandles, GraphNodeDefinition } from "@bian-womp/spark-protocol";
|
|
2
|
-
import { Registry } from "@bian-womp/spark-graph";
|
|
2
|
+
import type { Registry } from "@bian-womp/spark-graph";
|
|
3
3
|
import { Position } from "@xyflow/react";
|
|
4
|
-
export
|
|
5
|
-
export declare function countVisibleHandles(handles: Omit<ResolvedHandles, "inputDefaults">): {
|
|
6
|
-
inputsCount: number;
|
|
7
|
-
outputsCount: number;
|
|
8
|
-
};
|
|
9
|
-
export declare function estimateNodeSize(args: {
|
|
4
|
+
export type EstimateNodeSizeArgs = {
|
|
10
5
|
node: GraphNodeDefinition;
|
|
11
6
|
registry: Registry;
|
|
12
7
|
showValues?: boolean;
|
|
@@ -14,14 +9,43 @@ export declare function estimateNodeSize(args: {
|
|
|
14
9
|
width?: number;
|
|
15
10
|
height?: number;
|
|
16
11
|
};
|
|
17
|
-
}
|
|
12
|
+
};
|
|
13
|
+
export type EstimateNodeSizeResult = {
|
|
14
|
+
width: number;
|
|
15
|
+
height: number;
|
|
16
|
+
};
|
|
17
|
+
export type EstimateNodeSizeFunction = (args: EstimateNodeSizeArgs) => EstimateNodeSizeResult;
|
|
18
|
+
export type CreateHandleBoundsArgs = {
|
|
19
|
+
id: string;
|
|
20
|
+
type: "source" | "target";
|
|
21
|
+
position: Position;
|
|
22
|
+
rowIndex: number;
|
|
23
|
+
nodeWidth: number;
|
|
24
|
+
};
|
|
25
|
+
export type CreateHandleBoundsResult = {
|
|
26
|
+
id: string;
|
|
27
|
+
type: "source" | "target";
|
|
28
|
+
position: Position;
|
|
29
|
+
x: number;
|
|
30
|
+
y: number;
|
|
18
31
|
width: number;
|
|
19
32
|
height: number;
|
|
20
|
-
inputsCount: number;
|
|
21
|
-
outputsCount: number;
|
|
22
|
-
rowCount: number;
|
|
23
33
|
};
|
|
24
|
-
export
|
|
34
|
+
export type CreateHandleBoundsFunction = (args: CreateHandleBoundsArgs) => CreateHandleBoundsResult;
|
|
35
|
+
export type CreateHandleLayoutArgs = {
|
|
36
|
+
id: string;
|
|
37
|
+
type: "source" | "target";
|
|
38
|
+
position: Position;
|
|
39
|
+
rowIndex: number;
|
|
40
|
+
};
|
|
41
|
+
export type CreateHandleLayoutResult = {
|
|
42
|
+
id: string;
|
|
43
|
+
type: "source" | "target";
|
|
44
|
+
position: Position;
|
|
45
|
+
y: number;
|
|
46
|
+
};
|
|
47
|
+
export type CreateHandleLayoutFunction = (args: CreateHandleLayoutArgs) => CreateHandleLayoutResult;
|
|
48
|
+
export type LayoutNodeArgs = {
|
|
25
49
|
node: GraphNodeDefinition;
|
|
26
50
|
registry: Registry;
|
|
27
51
|
showValues?: boolean;
|
|
@@ -29,25 +53,62 @@ export declare function layoutNode(args: {
|
|
|
29
53
|
width?: number;
|
|
30
54
|
height?: number;
|
|
31
55
|
};
|
|
32
|
-
}
|
|
56
|
+
};
|
|
57
|
+
export type HandleBounds = {
|
|
58
|
+
id: string;
|
|
59
|
+
type: "source" | "target";
|
|
60
|
+
position: Position;
|
|
61
|
+
x: number;
|
|
62
|
+
y: number;
|
|
63
|
+
width?: number;
|
|
64
|
+
height?: number;
|
|
65
|
+
};
|
|
66
|
+
export type HandleLayout = {
|
|
67
|
+
id: string;
|
|
68
|
+
type: "source" | "target";
|
|
69
|
+
position: Position;
|
|
70
|
+
y: number;
|
|
71
|
+
};
|
|
72
|
+
export type LayoutNodeResult = {
|
|
33
73
|
width: number;
|
|
34
74
|
height: number;
|
|
35
75
|
inputOrder: string[];
|
|
36
76
|
outputOrder: string[];
|
|
37
|
-
handles:
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
}>;
|
|
46
|
-
handleLayout: Array<{
|
|
47
|
-
id: string;
|
|
48
|
-
type: "source" | "target";
|
|
49
|
-
position: Position;
|
|
50
|
-
y: number;
|
|
51
|
-
}>;
|
|
77
|
+
handles: HandleBounds[];
|
|
78
|
+
handleLayout: HandleLayout[];
|
|
79
|
+
};
|
|
80
|
+
export type LayoutNodeFunction = (args: LayoutNodeArgs) => LayoutNodeResult;
|
|
81
|
+
export declare function computeEffectiveHandles(node: GraphNodeDefinition, registry: Registry): ResolvedHandles;
|
|
82
|
+
export declare function countVisibleHandles(handles: Omit<ResolvedHandles, "inputDefaults">): {
|
|
83
|
+
inputsCount: number;
|
|
84
|
+
outputsCount: number;
|
|
52
85
|
};
|
|
86
|
+
export declare function estimateNodeSize(args: EstimateNodeSizeArgs): EstimateNodeSizeResult;
|
|
87
|
+
/**
|
|
88
|
+
* Calculate the Y position for handle layout (center of row).
|
|
89
|
+
* Used for positioning handles in React Flow.
|
|
90
|
+
*/
|
|
91
|
+
export declare function getHandleLayoutY(rowIndex: number): number;
|
|
92
|
+
/**
|
|
93
|
+
* Calculate the Y position for handle bounds (top + centering offset).
|
|
94
|
+
* Used for hit-testing and edge routing.
|
|
95
|
+
*/
|
|
96
|
+
export declare function getHandleBoundsY(rowIndex: number): number;
|
|
97
|
+
/**
|
|
98
|
+
* Calculate the X position for handle bounds based on position and node width.
|
|
99
|
+
*/
|
|
100
|
+
export declare function getHandleBoundsX(position: Position, nodeWidth: number): number;
|
|
101
|
+
/**
|
|
102
|
+
* Create handle bounds object for hit-testing/edge routing.
|
|
103
|
+
*/
|
|
104
|
+
export declare function createHandleBounds(args: CreateHandleBoundsArgs): CreateHandleBoundsResult;
|
|
105
|
+
/**
|
|
106
|
+
* Create handle layout object for React Flow rendering.
|
|
107
|
+
*/
|
|
108
|
+
export declare function createHandleLayout(args: CreateHandleLayoutArgs): CreateHandleLayoutResult;
|
|
109
|
+
export declare function layoutNode(args: LayoutNodeArgs, overrides?: {
|
|
110
|
+
estimateNodeSize?: EstimateNodeSizeFunction;
|
|
111
|
+
createHandleBounds?: CreateHandleBoundsFunction;
|
|
112
|
+
createHandleLayout?: CreateHandleLayoutFunction;
|
|
113
|
+
}): LayoutNodeResult;
|
|
53
114
|
//# sourceMappingURL=layout.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../../../../src/misc/layout.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,mBAAmB,EACpB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../../../../src/misc/layout.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,7 @@ import { Registry, ValidationIssue } from "@bian-womp/spark-graph";
|
|
|
3
3
|
import { Position } from "@xyflow/react";
|
|
4
4
|
import type { EdgeRunStatus, NodeRunStatus } from "../core/contracts";
|
|
5
5
|
import type { HandleIssue } from "../core/contracts";
|
|
6
|
+
import type { UIExtensionRegistry } from "../core/ui-extensions";
|
|
6
7
|
export interface RFNode {
|
|
7
8
|
id: string;
|
|
8
9
|
position: {
|
|
@@ -97,6 +98,7 @@ export declare function toReactFlow(def: GraphDefinition, positions: Record<stri
|
|
|
97
98
|
width: number;
|
|
98
99
|
height: number;
|
|
99
100
|
} | undefined;
|
|
101
|
+
ui?: UIExtensionRegistry;
|
|
100
102
|
}): {
|
|
101
103
|
nodes: RFNode[];
|
|
102
104
|
edges: RFEdge[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mapping.d.ts","sourceRoot":"","sources":["../../../../src/misc/mapping.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EACL,QAAQ,EACR,eAAe,EAGhB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACtE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"mapping.d.ts","sourceRoot":"","sources":["../../../../src/misc/mapping.ts"],"names":[],"mappings":"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"}
|