@realflow/compat 0.1.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.
@@ -0,0 +1,233 @@
1
+ import type { ComponentType, CSSProperties, ReactNode } from 'react';
2
+ import type { Edge as CoreEdge, Node as CoreNode, EdgeMarker } from '@realflow/core';
3
+ import type { Position } from './enums.js';
4
+ export interface XYPosition {
5
+ x: number;
6
+ y: number;
7
+ }
8
+ export interface Viewport {
9
+ x: number;
10
+ y: number;
11
+ zoom: number;
12
+ }
13
+ /** React Flow node shape. Superset-compatible with ReFlow's Node. */
14
+ export interface RFNode<T = any> {
15
+ id: string;
16
+ position: XYPosition;
17
+ data: T;
18
+ type?: string;
19
+ sourcePosition?: Position;
20
+ targetPosition?: Position;
21
+ hidden?: boolean;
22
+ selected?: boolean;
23
+ draggable?: boolean;
24
+ selectable?: boolean;
25
+ connectable?: boolean;
26
+ deletable?: boolean;
27
+ width?: number;
28
+ height?: number;
29
+ parentId?: string;
30
+ extent?: 'parent';
31
+ zIndex?: number;
32
+ style?: CSSProperties;
33
+ className?: string;
34
+ [key: string]: unknown;
35
+ }
36
+ export interface RFEdge<T = any> {
37
+ id: string;
38
+ source: string;
39
+ target: string;
40
+ sourceHandle?: string | null;
41
+ targetHandle?: string | null;
42
+ type?: string;
43
+ label?: string;
44
+ animated?: boolean;
45
+ selected?: boolean;
46
+ hidden?: boolean;
47
+ deletable?: boolean;
48
+ data?: T;
49
+ markerStart?: EdgeMarker;
50
+ markerEnd?: EdgeMarker;
51
+ style?: CSSProperties;
52
+ className?: string;
53
+ [key: string]: unknown;
54
+ }
55
+ /** A would-be connection (React Flow's onConnect argument). */
56
+ export interface Connection {
57
+ source: string | null;
58
+ target: string | null;
59
+ sourceHandle: string | null;
60
+ targetHandle: string | null;
61
+ }
62
+ export type NodeChange<T = any> = {
63
+ type: 'position';
64
+ id: string;
65
+ position?: XYPosition;
66
+ dragging?: boolean;
67
+ } | {
68
+ type: 'dimensions';
69
+ id: string;
70
+ dimensions?: {
71
+ width: number;
72
+ height: number;
73
+ };
74
+ resizing?: boolean;
75
+ } | {
76
+ type: 'select';
77
+ id: string;
78
+ selected: boolean;
79
+ } | {
80
+ type: 'remove';
81
+ id: string;
82
+ } | {
83
+ type: 'add';
84
+ item: RFNode<T>;
85
+ index?: number;
86
+ } | {
87
+ type: 'replace';
88
+ id: string;
89
+ item: RFNode<T>;
90
+ };
91
+ export type EdgeChange<T = any> = {
92
+ type: 'select';
93
+ id: string;
94
+ selected: boolean;
95
+ } | {
96
+ type: 'remove';
97
+ id: string;
98
+ } | {
99
+ type: 'add';
100
+ item: RFEdge<T>;
101
+ index?: number;
102
+ } | {
103
+ type: 'replace';
104
+ id: string;
105
+ item: RFEdge<T>;
106
+ };
107
+ export type OnNodesChange<T = any> = (changes: NodeChange<T>[]) => void;
108
+ export type OnEdgesChange<T = any> = (changes: EdgeChange<T>[]) => void;
109
+ export type OnConnect = (connection: Connection) => void;
110
+ /** React Flow's NodeProps passed to custom node components. */
111
+ export interface NodeProps<T = any> {
112
+ id: string;
113
+ data: T;
114
+ type?: string;
115
+ selected: boolean;
116
+ dragging: boolean;
117
+ isConnectable: boolean;
118
+ positionAbsoluteX: number;
119
+ positionAbsoluteY: number;
120
+ sourcePosition?: Position;
121
+ targetPosition?: Position;
122
+ width?: number;
123
+ height?: number;
124
+ }
125
+ export interface EdgeProps<T = any> {
126
+ id: string;
127
+ source: string;
128
+ target: string;
129
+ sourceX: number;
130
+ sourceY: number;
131
+ targetX: number;
132
+ targetY: number;
133
+ sourcePosition: Position;
134
+ targetPosition: Position;
135
+ data?: T;
136
+ label?: string;
137
+ selected: boolean;
138
+ markerEnd?: string;
139
+ markerStart?: string;
140
+ }
141
+ export interface ReactFlowInstance {
142
+ getNode: (id: string) => RFNode | undefined;
143
+ getNodes: () => RFNode[];
144
+ getEdge: (id: string) => RFEdge | undefined;
145
+ getEdges: () => RFEdge[];
146
+ setNodes: (payload: RFNode[] | ((nds: RFNode[]) => RFNode[])) => void;
147
+ setEdges: (payload: RFEdge[] | ((eds: RFEdge[]) => RFEdge[])) => void;
148
+ addNodes: (payload: RFNode | RFNode[]) => void;
149
+ addEdges: (payload: RFEdge | RFEdge[]) => void;
150
+ deleteElements: (payload: {
151
+ nodes?: {
152
+ id: string;
153
+ }[];
154
+ edges?: {
155
+ id: string;
156
+ }[];
157
+ }) => void;
158
+ fitView: (opts?: {
159
+ padding?: number;
160
+ duration?: number;
161
+ nodes?: {
162
+ id: string;
163
+ }[];
164
+ }) => void;
165
+ zoomIn: () => void;
166
+ zoomOut: () => void;
167
+ zoomTo: (zoom: number, opts?: {
168
+ duration?: number;
169
+ }) => void;
170
+ getZoom: () => number;
171
+ setViewport: (vp: Viewport, opts?: {
172
+ duration?: number;
173
+ }) => void;
174
+ getViewport: () => Viewport;
175
+ setCenter: (x: number, y: number, opts?: {
176
+ zoom?: number;
177
+ duration?: number;
178
+ }) => void;
179
+ screenToFlowPosition: (p: XYPosition) => XYPosition;
180
+ flowToScreenPosition: (p: XYPosition) => XYPosition;
181
+ toObject: () => {
182
+ nodes: RFNode[];
183
+ edges: RFEdge[];
184
+ viewport: Viewport;
185
+ };
186
+ }
187
+ export interface ReactFlowProps {
188
+ nodes?: RFNode[];
189
+ edges?: RFEdge[];
190
+ defaultNodes?: RFNode[];
191
+ defaultEdges?: RFEdge[];
192
+ onNodesChange?: OnNodesChange;
193
+ onEdgesChange?: OnEdgesChange;
194
+ onConnect?: OnConnect;
195
+ onNodeClick?: (event: React.MouseEvent, node: RFNode) => void;
196
+ onNodeDragStop?: (event: React.MouseEvent, node: RFNode) => void;
197
+ onEdgeClick?: (event: React.MouseEvent, edge: RFEdge) => void;
198
+ onPaneClick?: (event: React.MouseEvent) => void;
199
+ onInit?: (instance: ReactFlowInstance) => void;
200
+ onSelectionChange?: (params: {
201
+ nodes: RFNode[];
202
+ edges: RFEdge[];
203
+ }) => void;
204
+ nodeTypes?: Record<string, ComponentType<NodeProps<any>>>;
205
+ edgeTypes?: Record<string, ComponentType<any>>;
206
+ fitView?: boolean;
207
+ fitViewOptions?: {
208
+ padding?: number;
209
+ };
210
+ minZoom?: number;
211
+ maxZoom?: number;
212
+ defaultViewport?: Viewport;
213
+ snapToGrid?: boolean;
214
+ snapGrid?: [number, number];
215
+ nodesDraggable?: boolean;
216
+ nodesConnectable?: boolean;
217
+ elementsSelectable?: boolean;
218
+ panOnDrag?: boolean | number[];
219
+ panOnScroll?: boolean;
220
+ zoomOnScroll?: boolean;
221
+ zoomOnDoubleClick?: boolean;
222
+ selectionOnDrag?: boolean;
223
+ deleteKeyCode?: string | string[] | null;
224
+ connectionMode?: string;
225
+ colorMode?: 'light' | 'dark' | 'system';
226
+ proOptions?: unknown;
227
+ defaultEdgeOptions?: Partial<RFEdge>;
228
+ className?: string;
229
+ style?: CSSProperties;
230
+ children?: ReactNode;
231
+ }
232
+ export type { CoreNode, CoreEdge };
233
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js ADDED
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,6 @@
1
+ import type { EdgeChange, NodeChange, RFEdge, RFNode } from './types.js';
2
+ /** React Flow's useNodesState: [nodes, setNodes, onNodesChange]. */
3
+ export declare function useNodesState<T = any>(initial: RFNode<T>[]): [RFNode<T>[], (payload: RFNode<T>[] | ((n: RFNode<T>[]) => RFNode<T>[])) => void, (changes: NodeChange<T>[]) => void];
4
+ /** React Flow's useEdgesState: [edges, setEdges, onEdgesChange]. */
5
+ export declare function useEdgesState<T = any>(initial: RFEdge<T>[]): [RFEdge<T>[], (payload: RFEdge<T>[] | ((e: RFEdge<T>[]) => RFEdge<T>[])) => void, (changes: EdgeChange<T>[]) => void];
6
+ //# sourceMappingURL=useNodesState.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useNodesState.d.ts","sourceRoot":"","sources":["../src/useNodesState.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAEtE,oEAAoE;AACpE,wBAAgB,aAAa,CAAC,CAAC,GAAG,GAAG,EACnC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,GACnB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,CAOvH;AAED,oEAAoE;AACpE,wBAAgB,aAAa,CAAC,CAAC,GAAG,GAAG,EACnC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,GACnB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,CAOvH"}
@@ -0,0 +1,15 @@
1
+ import { useCallback, useState } from 'react';
2
+ import { applyNodeChanges, applyEdgeChanges } from './changes.js';
3
+ /** React Flow's useNodesState: [nodes, setNodes, onNodesChange]. */
4
+ export function useNodesState(initial) {
5
+ const [nodes, setNodes] = useState(initial);
6
+ const onNodesChange = useCallback((changes) => setNodes((nds) => applyNodeChanges(changes, nds)), []);
7
+ return [nodes, setNodes, onNodesChange];
8
+ }
9
+ /** React Flow's useEdgesState: [edges, setEdges, onEdgesChange]. */
10
+ export function useEdgesState(initial) {
11
+ const [edges, setEdges] = useState(initial);
12
+ const onEdgesChange = useCallback((changes) => setEdges((eds) => applyEdgeChanges(changes, eds)), []);
13
+ return [edges, setEdges, onEdgesChange];
14
+ }
15
+ //# sourceMappingURL=useNodesState.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useNodesState.js","sourceRoot":"","sources":["../src/useNodesState.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAG/D,oEAAoE;AACpE,MAAM,UAAU,aAAa,CAC3B,OAAoB;IAEpB,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC5C,MAAM,aAAa,GAAG,WAAW,CAC/B,CAAC,OAAwB,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,EAC/E,EAAE,CACH,CAAC;IACF,OAAO,CAAC,KAAK,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;AAC1C,CAAC;AAED,oEAAoE;AACpE,MAAM,UAAU,aAAa,CAC3B,OAAoB;IAEpB,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC5C,MAAM,aAAa,GAAG,WAAW,CAC/B,CAAC,OAAwB,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,EAC/E,EAAE,CACH,CAAC;IACF,OAAO,CAAC,KAAK,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;AAC1C,CAAC"}
package/package.json ADDED
@@ -0,0 +1,48 @@
1
+ {
2
+ "name": "@realflow/compat",
3
+ "version": "0.1.0",
4
+ "description": "Drop-in React Flow (xyflow) API compatibility layer for ReFlow. Migrate an existing React Flow app by changing one import.",
5
+ "license": "MIT",
6
+ "publishConfig": {
7
+ "access": "public"
8
+ },
9
+ "type": "module",
10
+ "main": "./dist/index.js",
11
+ "types": "./dist/index.d.ts",
12
+ "exports": {
13
+ ".": {
14
+ "types": "./dist/index.d.ts",
15
+ "import": "./dist/index.js"
16
+ },
17
+ "./style.css": "./dist/style.css"
18
+ },
19
+ "files": [
20
+ "dist"
21
+ ],
22
+ "sideEffects": [
23
+ "*.css"
24
+ ],
25
+ "scripts": {
26
+ "build": "tsc -p tsconfig.build.json && node ../../scripts/append-js-extensions.mjs dist && cp ../react/src/styles.css dist/style.css"
27
+ },
28
+ "dependencies": {
29
+ "@realflow/core": "0.1.0",
30
+ "@realflow/react": "0.1.0"
31
+ },
32
+ "peerDependencies": {
33
+ "react": ">=18",
34
+ "react-dom": ">=18"
35
+ },
36
+ "keywords": [
37
+ "react-flow",
38
+ "xyflow",
39
+ "migration",
40
+ "compat",
41
+ "node-based-ui"
42
+ ],
43
+ "repository": {
44
+ "type": "git",
45
+ "url": "git+https://github.com/olbboy/reflow.git",
46
+ "directory": "packages/compat"
47
+ }
48
+ }