@uipath/apollo-react 4.17.0 → 4.18.1
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/canvas/components/AddNodePanel/AddNodeManager.cjs +35 -21
- package/dist/canvas/components/AddNodePanel/AddNodeManager.d.ts.map +1 -1
- package/dist/canvas/components/AddNodePanel/AddNodeManager.helpers.cjs +208 -0
- package/dist/canvas/components/AddNodePanel/AddNodeManager.helpers.d.ts +20 -0
- package/dist/canvas/components/AddNodePanel/AddNodeManager.helpers.d.ts.map +1 -0
- package/dist/canvas/components/AddNodePanel/AddNodeManager.helpers.js +168 -0
- package/dist/canvas/components/AddNodePanel/AddNodeManager.js +35 -21
- package/dist/canvas/components/AddNodePanel/createAddNodePreview.cjs +34 -4
- package/dist/canvas/components/AddNodePanel/createAddNodePreview.d.ts +5 -1
- package/dist/canvas/components/AddNodePanel/createAddNodePreview.d.ts.map +1 -1
- package/dist/canvas/components/AddNodePanel/createAddNodePreview.js +34 -4
- package/dist/canvas/components/AddNodePanel/index.d.ts +1 -1
- package/dist/canvas/components/AddNodePanel/index.d.ts.map +1 -1
- package/dist/canvas/components/HierarchicalCanvas/HierarchicalCanvas.cjs +23 -1
- package/dist/canvas/components/HierarchicalCanvas/HierarchicalCanvas.d.ts.map +1 -1
- package/dist/canvas/components/HierarchicalCanvas/HierarchicalCanvas.js +23 -1
- package/dist/canvas/components/HierarchicalCanvas/HierarchicalCanvasWithControls.cjs +0 -14
- package/dist/canvas/components/HierarchicalCanvas/HierarchicalCanvasWithControls.d.ts.map +1 -1
- package/dist/canvas/components/HierarchicalCanvas/HierarchicalCanvasWithControls.js +2 -16
- package/dist/canvas/components/LoopNode/LoopNode.cjs +38 -32
- package/dist/canvas/components/LoopNode/LoopNode.d.ts.map +1 -1
- package/dist/canvas/components/LoopNode/LoopNode.helpers.cjs +33 -42
- package/dist/canvas/components/LoopNode/LoopNode.helpers.d.ts +9 -10
- package/dist/canvas/components/LoopNode/LoopNode.helpers.d.ts.map +1 -1
- package/dist/canvas/components/LoopNode/LoopNode.helpers.js +25 -31
- package/dist/canvas/components/LoopNode/LoopNode.js +30 -24
- package/dist/canvas/components/LoopNode/LoopNodePreview.cjs +20 -5
- package/dist/canvas/components/LoopNode/LoopNodePreview.d.ts.map +1 -1
- package/dist/canvas/components/LoopNode/LoopNodePreview.js +20 -5
- package/dist/canvas/components/Toolbar/EdgeToolbar/useEdgeToolbarState.cjs +26 -14
- package/dist/canvas/components/Toolbar/EdgeToolbar/useEdgeToolbarState.d.ts.map +1 -1
- package/dist/canvas/components/Toolbar/EdgeToolbar/useEdgeToolbarState.js +26 -14
- package/dist/canvas/constants.cjs +0 -8
- package/dist/canvas/constants.d.ts +0 -2
- package/dist/canvas/constants.d.ts.map +1 -1
- package/dist/canvas/constants.js +1 -3
- package/dist/canvas/hooks/useAddNodeOnConnectEnd.cjs +4 -2
- package/dist/canvas/hooks/useAddNodeOnConnectEnd.d.ts.map +1 -1
- package/dist/canvas/hooks/useAddNodeOnConnectEnd.js +4 -2
- package/dist/canvas/storybook-utils/hooks/useCanvasStory.d.ts.map +1 -1
- package/dist/canvas/storybook-utils/manifests/node-definitions.d.ts.map +1 -1
- package/dist/canvas/storybook-utils/mocks/nodes.d.ts +6 -6
- package/dist/canvas/storybook-utils/mocks/nodes.d.ts.map +1 -1
- package/dist/canvas/utils/NodeUtils.cjs +41 -13
- package/dist/canvas/utils/NodeUtils.d.ts +12 -1
- package/dist/canvas/utils/NodeUtils.d.ts.map +1 -1
- package/dist/canvas/utils/NodeUtils.js +28 -9
- package/dist/canvas/utils/collapse.cjs +3 -3
- package/dist/canvas/utils/collapse.d.ts.map +1 -1
- package/dist/canvas/utils/collapse.js +1 -1
- package/dist/canvas/utils/container.cjs +670 -0
- package/dist/canvas/utils/container.d.ts +110 -0
- package/dist/canvas/utils/container.d.ts.map +1 -0
- package/dist/canvas/utils/container.js +591 -0
- package/dist/canvas/utils/createPreviewGraph.cjs +25 -15
- package/dist/canvas/utils/createPreviewGraph.d.ts +11 -7
- package/dist/canvas/utils/createPreviewGraph.d.ts.map +1 -1
- package/dist/canvas/utils/createPreviewGraph.js +25 -15
- package/dist/canvas/utils/createPreviewNode.cjs +24 -15
- package/dist/canvas/utils/createPreviewNode.d.ts +21 -7
- package/dist/canvas/utils/createPreviewNode.d.ts.map +1 -1
- package/dist/canvas/utils/createPreviewNode.js +24 -15
- package/dist/canvas/utils/index.cjs +29 -22
- package/dist/canvas/utils/index.d.ts +1 -0
- package/dist/canvas/utils/index.d.ts.map +1 -1
- package/dist/canvas/utils/index.js +1 -0
- package/package.json +3 -3
- package/dist/canvas/components/LoopNode/LoopNode.constants.cjs +0 -56
- package/dist/canvas/components/LoopNode/LoopNode.constants.d.ts +0 -7
- package/dist/canvas/components/LoopNode/LoopNode.constants.d.ts.map +0 -1
- package/dist/canvas/components/LoopNode/LoopNode.constants.js +0 -7
|
@@ -25,8 +25,6 @@ var __webpack_exports__ = {};
|
|
|
25
25
|
__webpack_require__.r(__webpack_exports__);
|
|
26
26
|
__webpack_require__.d(__webpack_exports__, {
|
|
27
27
|
CANVAS_COMPACT_BREAKPOINT: ()=>CANVAS_COMPACT_BREAKPOINT,
|
|
28
|
-
DEFAULT_CONTAINER_HEIGHT: ()=>DEFAULT_CONTAINER_HEIGHT,
|
|
29
|
-
DEFAULT_CONTAINER_WIDTH: ()=>DEFAULT_CONTAINER_WIDTH,
|
|
30
28
|
DEFAULT_NODE_SIZE: ()=>DEFAULT_NODE_SIZE,
|
|
31
29
|
DEFAULT_RECTANGLE_NODE_WIDTH: ()=>DEFAULT_RECTANGLE_NODE_WIDTH,
|
|
32
30
|
DEFAULT_SOURCE_HANDLE_ID: ()=>DEFAULT_SOURCE_HANDLE_ID,
|
|
@@ -60,8 +58,6 @@ const PREVIEW_EDGE_ID = 'preview-edge-id';
|
|
|
60
58
|
const DEFAULT_SOURCE_HANDLE_ID = 'output';
|
|
61
59
|
const DEFAULT_NODE_SIZE = 96;
|
|
62
60
|
const GRID_SPACING = 16;
|
|
63
|
-
const DEFAULT_CONTAINER_WIDTH = 35 * GRID_SPACING;
|
|
64
|
-
const DEFAULT_CONTAINER_HEIGHT = 20 * GRID_SPACING;
|
|
65
61
|
const CANVAS_COMPACT_BREAKPOINT = 600;
|
|
66
62
|
const TOOLBOX_WIDTH = 320;
|
|
67
63
|
const TOOLBOX_HEIGHT = 440;
|
|
@@ -86,8 +82,6 @@ const NODE_BADGE_SIZE = 20;
|
|
|
86
82
|
const NODE_BADGE_INSET_SQUARE = 6;
|
|
87
83
|
const NODE_BADGE_INSET_CIRCLE = 12;
|
|
88
84
|
exports.CANVAS_COMPACT_BREAKPOINT = __webpack_exports__.CANVAS_COMPACT_BREAKPOINT;
|
|
89
|
-
exports.DEFAULT_CONTAINER_HEIGHT = __webpack_exports__.DEFAULT_CONTAINER_HEIGHT;
|
|
90
|
-
exports.DEFAULT_CONTAINER_WIDTH = __webpack_exports__.DEFAULT_CONTAINER_WIDTH;
|
|
91
85
|
exports.DEFAULT_NODE_SIZE = __webpack_exports__.DEFAULT_NODE_SIZE;
|
|
92
86
|
exports.DEFAULT_RECTANGLE_NODE_WIDTH = __webpack_exports__.DEFAULT_RECTANGLE_NODE_WIDTH;
|
|
93
87
|
exports.DEFAULT_SOURCE_HANDLE_ID = __webpack_exports__.DEFAULT_SOURCE_HANDLE_ID;
|
|
@@ -117,8 +111,6 @@ exports.TOOLBOX_PADDING_Y = __webpack_exports__.TOOLBOX_PADDING_Y;
|
|
|
117
111
|
exports.TOOLBOX_WIDTH = __webpack_exports__.TOOLBOX_WIDTH;
|
|
118
112
|
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
119
113
|
"CANVAS_COMPACT_BREAKPOINT",
|
|
120
|
-
"DEFAULT_CONTAINER_HEIGHT",
|
|
121
|
-
"DEFAULT_CONTAINER_WIDTH",
|
|
122
114
|
"DEFAULT_NODE_SIZE",
|
|
123
115
|
"DEFAULT_RECTANGLE_NODE_WIDTH",
|
|
124
116
|
"DEFAULT_SOURCE_HANDLE_ID",
|
|
@@ -3,8 +3,6 @@ export declare const PREVIEW_EDGE_ID = "preview-edge-id";
|
|
|
3
3
|
export declare const DEFAULT_SOURCE_HANDLE_ID = "output";
|
|
4
4
|
export declare const DEFAULT_NODE_SIZE = 96;
|
|
5
5
|
export declare const GRID_SPACING = 16;
|
|
6
|
-
export declare const DEFAULT_CONTAINER_WIDTH: number;
|
|
7
|
-
export declare const DEFAULT_CONTAINER_HEIGHT: number;
|
|
8
6
|
export declare const CANVAS_COMPACT_BREAKPOINT = 600;
|
|
9
7
|
export declare const TOOLBOX_WIDTH = 320;
|
|
10
8
|
export declare const TOOLBOX_HEIGHT = 440;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/canvas/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe,oBAAoB,CAAC;AACjD,eAAO,MAAM,eAAe,oBAAoB,CAAC;AACjD,eAAO,MAAM,wBAAwB,WAAW,CAAC;AACjD,eAAO,MAAM,iBAAiB,KAAK,CAAC;AAEpC,eAAO,MAAM,YAAY,KAAK,CAAC;AAG/B,eAAO,MAAM,
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/canvas/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe,oBAAoB,CAAC;AACjD,eAAO,MAAM,eAAe,oBAAoB,CAAC;AACjD,eAAO,MAAM,wBAAwB,WAAW,CAAC;AACjD,eAAO,MAAM,iBAAiB,KAAK,CAAC;AAEpC,eAAO,MAAM,YAAY,KAAK,CAAC;AAG/B,eAAO,MAAM,yBAAyB,MAAM,CAAC;AAG7C,eAAO,MAAM,aAAa,MAAM,CAAC;AAEjC,eAAO,MAAM,cAAc,MAAM,CAAC;AAElC,eAAO,MAAM,iBAAiB,KAAK,CAAC;AAEpC,eAAO,MAAM,iBAAiB,KAAK,CAAC;AAEpC,eAAO,MAAM,WAAW,KAAK,CAAC;AAU9B,eAAO,MAAM,4BAA4B,KAAK,CAAC;AAG/C,eAAO,MAAM,4BAA4B,MAAM,CAAC;AAGhD,eAAO,MAAM,mBAAmB,QAAmB,CAAC;AACpD,eAAO,MAAM,yBAAyB,QAAmB,CAAC;AAC1D,eAAO,MAAM,yBAAyB,QAAoB,CAAC;AAC3D,eAAO,MAAM,yBAAyB,QAAoB,CAAC;AAO3D,eAAO,MAAM,2BAA2B,QAAyB,CAAC;AAClE,eAAO,MAAM,sBAAsB,QAAyB,CAAC;AAC7D,eAAO,MAAM,qBAAqB,QAAyB,CAAC;AAC5D,eAAO,MAAM,uBAAuB,QAAyB,CAAC;AAC9D,eAAO,MAAM,gBAAgB,IAAI,CAAC;AAGlC,eAAO,MAAM,oBAAoB,KAAK,CAAC;AAGvC,eAAO,MAAM,uBAAuB,KAAK,CAAC;AAC1C,eAAO,MAAM,oCAAoC,MAAM,CAAC;AAGxD,eAAO,MAAM,eAAe,KAAK,CAAC;AAClC,eAAO,MAAM,uBAAuB,IAAI,CAAC;AACzC,eAAO,MAAM,uBAAuB,KAAK,CAAC"}
|
package/dist/canvas/constants.js
CHANGED
|
@@ -3,8 +3,6 @@ const PREVIEW_EDGE_ID = 'preview-edge-id';
|
|
|
3
3
|
const DEFAULT_SOURCE_HANDLE_ID = 'output';
|
|
4
4
|
const DEFAULT_NODE_SIZE = 96;
|
|
5
5
|
const GRID_SPACING = 16;
|
|
6
|
-
const DEFAULT_CONTAINER_WIDTH = 35 * GRID_SPACING;
|
|
7
|
-
const DEFAULT_CONTAINER_HEIGHT = 20 * GRID_SPACING;
|
|
8
6
|
const CANVAS_COMPACT_BREAKPOINT = 600;
|
|
9
7
|
const TOOLBOX_WIDTH = 320;
|
|
10
8
|
const TOOLBOX_HEIGHT = 440;
|
|
@@ -28,4 +26,4 @@ const NODE_TEXT_BOTTOM_OFFSET_WITH_HANDLES = -40;
|
|
|
28
26
|
const NODE_BADGE_SIZE = 20;
|
|
29
27
|
const NODE_BADGE_INSET_SQUARE = 6;
|
|
30
28
|
const NODE_BADGE_INSET_CIRCLE = 12;
|
|
31
|
-
export { CANVAS_COMPACT_BREAKPOINT,
|
|
29
|
+
export { CANVAS_COMPACT_BREAKPOINT, DEFAULT_NODE_SIZE, DEFAULT_RECTANGLE_NODE_WIDTH, DEFAULT_SOURCE_HANDLE_ID, FLOATING_CANVAS_PANEL_OFFSET, GRID_SPACING, NODE_BADGE_INSET_CIRCLE, NODE_BADGE_INSET_SQUARE, NODE_BADGE_SIZE, NODE_BORDER_SIZE, NODE_CONTAINER_RADIUS_RATIO, NODE_ERROR_ICON_SIZE, NODE_HEIGHT_DEFAULT, NODE_HEIGHT_FOOTER_BUTTON, NODE_HEIGHT_FOOTER_DOUBLE, NODE_HEIGHT_FOOTER_SINGLE, NODE_INNER_ICON_RATIO, NODE_INNER_RADIUS_RATIO, NODE_INNER_SHAPE_RATIO, NODE_TEXT_BOTTOM_OFFSET, NODE_TEXT_BOTTOM_OFFSET_WITH_HANDLES, PREVIEW_EDGE_ID, PREVIEW_NODE_ID, TOOLBOX_GAP, TOOLBOX_HEIGHT, TOOLBOX_PADDING_X, TOOLBOX_PADDING_Y, TOOLBOX_WIDTH };
|
|
@@ -49,8 +49,10 @@ function useAddNodeOnConnectEnd(ignoredNodeTypes = EMPTY_IGNORED_NODE_TYPES) {
|
|
|
49
49
|
if (!clientPosition) return;
|
|
50
50
|
const flowDropPosition = reactFlowInstance.screenToFlowPosition(clientPosition);
|
|
51
51
|
(0, index_cjs_namespaceObject.showPreviewGraph)({
|
|
52
|
-
|
|
53
|
-
|
|
52
|
+
source: {
|
|
53
|
+
nodeId: connectionState.fromNode.id,
|
|
54
|
+
handleId: connectionState.fromHandle.id ?? 'output'
|
|
55
|
+
},
|
|
54
56
|
reactFlowInstance,
|
|
55
57
|
position: flowDropPosition,
|
|
56
58
|
sourceHandleType: connectionState.fromHandle.type,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useAddNodeOnConnectEnd.d.ts","sourceRoot":"","sources":["../../../src/canvas/hooks/useAddNodeOnConnectEnd.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAgB,MAAM,0CAA0C,CAAC;AAoB3F,wBAAgB,sBAAsB,CAAC,gBAAgB,GAAE,MAAM,EAA6B,
|
|
1
|
+
{"version":3,"file":"useAddNodeOnConnectEnd.d.ts","sourceRoot":"","sources":["../../../src/canvas/hooks/useAddNodeOnConnectEnd.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAgB,MAAM,0CAA0C,CAAC;AAoB3F,wBAAgB,sBAAsB,CAAC,gBAAgB,GAAE,MAAM,EAA6B,gBAiC3F"}
|
|
@@ -21,8 +21,10 @@ function useAddNodeOnConnectEnd(ignoredNodeTypes = EMPTY_IGNORED_NODE_TYPES) {
|
|
|
21
21
|
if (!clientPosition) return;
|
|
22
22
|
const flowDropPosition = reactFlowInstance.screenToFlowPosition(clientPosition);
|
|
23
23
|
showPreviewGraph({
|
|
24
|
-
|
|
25
|
-
|
|
24
|
+
source: {
|
|
25
|
+
nodeId: connectionState.fromNode.id,
|
|
26
|
+
handleId: connectionState.fromHandle.id ?? 'output'
|
|
27
|
+
},
|
|
26
28
|
reactFlowInstance,
|
|
27
29
|
position: flowDropPosition,
|
|
28
30
|
sourceHandleType: connectionState.fromHandle.type,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useCanvasStory.d.ts","sourceRoot":"","sources":["../../../../src/canvas/storybook-utils/hooks/useCanvasStory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EACV,IAAI,EACJ,SAAS,EACT,IAAI,EACJ,SAAS,EACV,MAAM,0CAA0C,CAAC;AAClD,OAAO,EAAW,aAAa,EAAE,aAAa,EAAE,MAAM,0CAA0C,CAAC;AAMjG,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"useCanvasStory.d.ts","sourceRoot":"","sources":["../../../../src/canvas/storybook-utils/hooks/useCanvasStory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EACV,IAAI,EACJ,SAAS,EACT,IAAI,EACJ,SAAS,EACV,MAAM,0CAA0C,CAAC;AAClD,OAAO,EAAW,aAAa,EAAE,aAAa,EAAE,MAAM,0CAA0C,CAAC;AAMjG,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAMjD,MAAM,WAAW,qBAAqB;IAIpC,YAAY,EAAE,IAAI,EAAE,CAAC;IAMrB,YAAY,CAAC,EAAE,IAAI,EAAE,CAAC;IAMtB,aAAa,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IAKlC,mBAAmB,CAAC,EAAE,SAAS,CAAC;CACjC;AAKD,MAAM,WAAW,oBAAoB;IAEnC,KAAK,EAAE,IAAI,EAAE,CAAC;IAEd,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAEvD,aAAa,EAAE,UAAU,CAAC,OAAO,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;IAGnD,KAAK,EAAE,IAAI,EAAE,CAAC;IAEd,SAAS,EAAE,SAAS,CAAC;IAErB,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAEvD,aAAa,EAAE,UAAU,CAAC,OAAO,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;IAGnD,SAAS,EAAE,CAAC,UAAU,EAAE,UAAU,KAAK,IAAI,CAAC;IAG5C,gBAAgB,EAAE,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAAC;IAEzD,SAAS,EAAE,SAAS,CAAC;IAMrB,WAAW,EAAE;QACX,KAAK,EAAE,IAAI,EAAE,CAAC;QACd,KAAK,EAAE,IAAI,EAAE,CAAC;QACd,aAAa,EAAE,UAAU,CAAC,OAAO,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;QACnD,aAAa,EAAE,UAAU,CAAC,OAAO,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;QACnD,SAAS,EAAE,CAAC,UAAU,EAAE,UAAU,KAAK,IAAI,CAAC;QAC5C,SAAS,EAAE,SAAS,CAAC;QACrB,SAAS,EAAE,SAAS,CAAC;KACtB,CAAC;CACH;AA8BD,wBAAgB,cAAc,CAAC,OAAO,EAAE,qBAAqB,GAAG,oBAAoB,CA8DnF;AAYD,wBAAgB,wBAAwB,CAAC,aAAa,GAAE,SAAS,CAAC,MAAM,CAAY,GAAG,SAAS,CAY/F"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node-definitions.d.ts","sourceRoot":"","sources":["../../../../src/canvas/storybook-utils/manifests/node-definitions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAEjE,eAAO,MAAM,gBAAgB,EAAE,YAAY,
|
|
1
|
+
{"version":3,"file":"node-definitions.d.ts","sourceRoot":"","sources":["../../../../src/canvas/storybook-utils/manifests/node-definitions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAEjE,eAAO,MAAM,gBAAgB,EAAE,YAAY,EAq4B1C,CAAC"}
|
|
@@ -17,27 +17,27 @@ export declare const NodePositions: {
|
|
|
17
17
|
};
|
|
18
18
|
readonly row2col1: {
|
|
19
19
|
readonly x: 96;
|
|
20
|
-
readonly y:
|
|
20
|
+
readonly y: 256;
|
|
21
21
|
};
|
|
22
22
|
readonly row2col2: {
|
|
23
23
|
readonly x: 288;
|
|
24
|
-
readonly y:
|
|
24
|
+
readonly y: 256;
|
|
25
25
|
};
|
|
26
26
|
readonly row2col3: {
|
|
27
27
|
readonly x: 480;
|
|
28
|
-
readonly y:
|
|
28
|
+
readonly y: 256;
|
|
29
29
|
};
|
|
30
30
|
readonly row3col1: {
|
|
31
31
|
readonly x: 96;
|
|
32
|
-
readonly y:
|
|
32
|
+
readonly y: 416;
|
|
33
33
|
};
|
|
34
34
|
readonly row3col2: {
|
|
35
35
|
readonly x: 288;
|
|
36
|
-
readonly y:
|
|
36
|
+
readonly y: 416;
|
|
37
37
|
};
|
|
38
38
|
readonly row3col3: {
|
|
39
39
|
readonly x: 480;
|
|
40
|
-
readonly y:
|
|
40
|
+
readonly y: 416;
|
|
41
41
|
};
|
|
42
42
|
};
|
|
43
43
|
export interface CreateNodeOptions<T = Record<string, unknown>> {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nodes.d.ts","sourceRoot":"","sources":["../../../../src/canvas/storybook-utils/mocks/nodes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,0CAA0C,CAAC;AACrE,OAAO,EAAE,QAAQ,EAAE,MAAM,0CAA0C,CAAC;AACpE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0CAA0C,CAAC;AAC7E,OAAO,KAAK,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"nodes.d.ts","sourceRoot":"","sources":["../../../../src/canvas/storybook-utils/mocks/nodes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,0CAA0C,CAAC;AACrE,OAAO,EAAE,QAAQ,EAAE,MAAM,0CAA0C,CAAC;AACpE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0CAA0C,CAAC;AAC7E,OAAO,KAAK,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAWnF,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmBhB,CAAC;AAKX,MAAM,WAAW,iBAAiB,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAE5D,EAAE,EAAE,MAAM,CAAC;IAEX,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,QAAQ,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAEpC,IAAI,CAAC,EAAE,OAAO,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;IAEjC,OAAO,CAAC,EAAE;QACR,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,KAAK,CAAC,EAAE,SAAS,CAAC;QAClB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,UAAU,CAAC,EAAE,MAAM,CAAC;QAEpB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,cAAc,CAAC,EAAE,MAAM,CAAC;KACzB,CAAC;IAEF,oBAAoB,CAAC,EAAE,mBAAmB,EAAE,CAAC;IAE7C,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B,eAAe,CAAC,EACZ,aAAa,GACb,YAAY,GACZ,WAAW,GACX,QAAQ,GACR,QAAQ,GACR,WAAW,GACX,eAAe,GACf,YAAY,CAAC;CAClB;AAsBD,wBAAgB,UAAU,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACpD,OAAO,EAAE,iBAAiB,CAAC,CAAC,CAAC,GAC5B,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,CAsCxB;AAiBD,wBAAgB,cAAc,CAAC,OAAO,EAAE;IAEtC,MAAM,EAAE,MAAM,CAAC;IAEf,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,IAAI,EAAE,KAAK,CACT,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,SAAS,CAAC;QAAC,eAAe,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CACzF,CAAC;IAEF,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,GAAG,IAAI,CAAC,YAAY,CAAC,EAAE,CAuCvB;AAKD,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uCAsCE,MAAM,EAAE;;;;;;;;;CAW1B,CAAC;AAkBX,wBAAgB,sBAAsB,CACpC,UAAU,EAAE,IAAI,CAAC,iBAAiB,EAAE,IAAI,GAAG,iBAAiB,CAAC,GAC5D,IAAI,CAAC,YAAY,CAAC,EAAE,CA6BtB"}
|
|
@@ -26,11 +26,14 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
26
26
|
__webpack_require__.d(__webpack_exports__, {
|
|
27
27
|
getAbsolutePosition: ()=>getAbsolutePosition,
|
|
28
28
|
getNonOverlappingPositionForDirection: ()=>getNonOverlappingPositionForDirection,
|
|
29
|
-
resolveCollisions: ()=>resolveCollisions,
|
|
30
|
-
resolveHandleContext: ()=>resolveHandleContext,
|
|
31
|
-
getHandleIndex: ()=>getHandleIndex,
|
|
32
29
|
selectIsConnecting: ()=>selectIsConnecting,
|
|
33
|
-
|
|
30
|
+
clamp: ()=>clamp,
|
|
31
|
+
getHandleIndex: ()=>getHandleIndex,
|
|
32
|
+
snapToGrid: ()=>snapToGrid,
|
|
33
|
+
snapUpToGrid: ()=>snapUpToGrid,
|
|
34
|
+
resolveHandleContext: ()=>resolveHandleContext,
|
|
35
|
+
resolveCollisions: ()=>resolveCollisions,
|
|
36
|
+
snapDownToGrid: ()=>snapDownToGrid
|
|
34
37
|
});
|
|
35
38
|
const react_cjs_namespaceObject = require("../xyflow/react.cjs");
|
|
36
39
|
const external_constants_cjs_namespaceObject = require("../constants.cjs");
|
|
@@ -63,25 +66,32 @@ function getNonOverlappingPositionForDirection(nodes, newNodePosition, newNodeSt
|
|
|
63
66
|
return newNodePosition;
|
|
64
67
|
}
|
|
65
68
|
const snapToGrid = (value)=>Math.round(value / external_constants_cjs_namespaceObject.GRID_SPACING) * external_constants_cjs_namespaceObject.GRID_SPACING;
|
|
66
|
-
|
|
69
|
+
const snapUpToGrid = (value)=>Math.ceil(value / external_constants_cjs_namespaceObject.GRID_SPACING) * external_constants_cjs_namespaceObject.GRID_SPACING;
|
|
70
|
+
const snapDownToGrid = (value)=>Math.floor(value / external_constants_cjs_namespaceObject.GRID_SPACING) * external_constants_cjs_namespaceObject.GRID_SPACING;
|
|
71
|
+
const clamp = (value, min, max)=>Math.min(Math.max(value, min), max);
|
|
72
|
+
function getBoxesFromNodes(nodes, margin = 0, getNodeSize) {
|
|
67
73
|
const boxes = new Array(nodes.length);
|
|
68
74
|
for(let i = 0; i < nodes.length; i++){
|
|
69
75
|
const node = nodes[i];
|
|
76
|
+
const nodeSize = getNodeSize?.(node) ?? {
|
|
77
|
+
width: node.width ?? node.measured?.width ?? external_constants_cjs_namespaceObject.DEFAULT_NODE_SIZE,
|
|
78
|
+
height: node.height ?? node.measured?.height ?? external_constants_cjs_namespaceObject.DEFAULT_NODE_SIZE
|
|
79
|
+
};
|
|
70
80
|
boxes[i] = {
|
|
71
81
|
x: node.position.x - margin,
|
|
72
82
|
y: node.position.y - margin,
|
|
73
|
-
width:
|
|
74
|
-
height:
|
|
83
|
+
width: nodeSize.width + 2 * margin,
|
|
84
|
+
height: nodeSize.height + 2 * margin,
|
|
75
85
|
node,
|
|
76
86
|
moved: false
|
|
77
87
|
};
|
|
78
88
|
}
|
|
79
89
|
return boxes;
|
|
80
90
|
}
|
|
81
|
-
const resolveCollisions = (nodes, { maxIterations = 50, overlapThreshold = 0, margin = 2 * external_constants_cjs_namespaceObject.GRID_SPACING, ignoredNodeTypes } = {})=>{
|
|
91
|
+
const resolveCollisions = (nodes, { maxIterations = 50, overlapThreshold = 0, margin = 2 * external_constants_cjs_namespaceObject.GRID_SPACING, ignoredNodeTypes, getNodeSize } = {})=>{
|
|
82
92
|
const ignoredSet = new Set(ignoredNodeTypes);
|
|
83
93
|
const collisionNodes = ignoredSet.size > 0 ? nodes.filter((n)=>!ignoredSet.has(n.type ?? '')) : nodes;
|
|
84
|
-
const boxes = getBoxesFromNodes(collisionNodes, margin);
|
|
94
|
+
const boxes = getBoxesFromNodes(collisionNodes, margin, getNodeSize);
|
|
85
95
|
for(let iter = 0; iter < maxIterations; iter++){
|
|
86
96
|
let moved = false;
|
|
87
97
|
for(let i = 0; i < boxes.length; i++)for(let j = i + 1; j < boxes.length; j++){
|
|
@@ -122,42 +132,60 @@ const resolveCollisions = (nodes, { maxIterations = 50, overlapThreshold = 0, ma
|
|
|
122
132
|
});
|
|
123
133
|
return nodes.map((n)=>resolvedMap.get(n.id) ?? n);
|
|
124
134
|
};
|
|
125
|
-
function resolveHandleContext(internalNode, handleId, handlePosition) {
|
|
135
|
+
function resolveHandleContext(internalNode, handleId, handlePosition, options) {
|
|
126
136
|
const allHandles = [
|
|
127
137
|
...internalNode.internals.handleBounds?.source ?? [],
|
|
128
138
|
...internalNode.internals.handleBounds?.target ?? []
|
|
129
139
|
];
|
|
130
140
|
const matchedHandle = allHandles.find((h)=>h.id === handleId);
|
|
131
141
|
if (!matchedHandle) return;
|
|
142
|
+
const peers = filterRailPeers(allHandles, handleId, handlePosition, options?.boundaryOf);
|
|
132
143
|
return {
|
|
133
144
|
anchor: {
|
|
134
145
|
x: internalNode.internals.positionAbsolute.x + matchedHandle.x + matchedHandle.width / 2,
|
|
135
146
|
y: internalNode.internals.positionAbsolute.y + matchedHandle.y + matchedHandle.height / 2
|
|
136
147
|
},
|
|
137
|
-
index: getHandleIndex(handleId, handlePosition,
|
|
138
|
-
count:
|
|
148
|
+
index: getHandleIndex(handleId, handlePosition, peers),
|
|
149
|
+
count: peers.length
|
|
139
150
|
};
|
|
140
151
|
}
|
|
152
|
+
function filterRailPeers(allHandles, handleId, handlePosition, boundaryOf) {
|
|
153
|
+
const samePosition = allHandles.filter((h)=>h.position === handlePosition);
|
|
154
|
+
if (!boundaryOf) return samePosition;
|
|
155
|
+
const targetBoundary = boundaryOf(handleId);
|
|
156
|
+
if (void 0 === targetBoundary) return samePosition;
|
|
157
|
+
return samePosition.filter((h)=>{
|
|
158
|
+
if (!h.id) return false;
|
|
159
|
+
const peerBoundary = boundaryOf(h.id);
|
|
160
|
+
return void 0 === peerBoundary || peerBoundary === targetBoundary;
|
|
161
|
+
});
|
|
162
|
+
}
|
|
141
163
|
function getHandleIndex(handleId, position, allHandles) {
|
|
142
164
|
const peers = allHandles.filter((h)=>h.position === position).sort((a, b)=>position === react_cjs_namespaceObject.Position.Left || position === react_cjs_namespaceObject.Position.Right ? a.y - b.y : a.x - b.x);
|
|
143
165
|
const index = peers.findIndex((h)=>h.id === handleId);
|
|
144
166
|
return -1 === index ? null : index;
|
|
145
167
|
}
|
|
168
|
+
exports.clamp = __webpack_exports__.clamp;
|
|
146
169
|
exports.getAbsolutePosition = __webpack_exports__.getAbsolutePosition;
|
|
147
170
|
exports.getHandleIndex = __webpack_exports__.getHandleIndex;
|
|
148
171
|
exports.getNonOverlappingPositionForDirection = __webpack_exports__.getNonOverlappingPositionForDirection;
|
|
149
172
|
exports.resolveCollisions = __webpack_exports__.resolveCollisions;
|
|
150
173
|
exports.resolveHandleContext = __webpack_exports__.resolveHandleContext;
|
|
151
174
|
exports.selectIsConnecting = __webpack_exports__.selectIsConnecting;
|
|
175
|
+
exports.snapDownToGrid = __webpack_exports__.snapDownToGrid;
|
|
152
176
|
exports.snapToGrid = __webpack_exports__.snapToGrid;
|
|
177
|
+
exports.snapUpToGrid = __webpack_exports__.snapUpToGrid;
|
|
153
178
|
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
179
|
+
"clamp",
|
|
154
180
|
"getAbsolutePosition",
|
|
155
181
|
"getHandleIndex",
|
|
156
182
|
"getNonOverlappingPositionForDirection",
|
|
157
183
|
"resolveCollisions",
|
|
158
184
|
"resolveHandleContext",
|
|
159
185
|
"selectIsConnecting",
|
|
160
|
-
"
|
|
186
|
+
"snapDownToGrid",
|
|
187
|
+
"snapToGrid",
|
|
188
|
+
"snapUpToGrid"
|
|
161
189
|
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
162
190
|
Object.defineProperty(exports, '__esModule', {
|
|
163
191
|
value: true
|
|
@@ -12,11 +12,18 @@ export declare function getNonOverlappingPositionForDirection(nodes: Node[], new
|
|
|
12
12
|
y: 'up' | 'down';
|
|
13
13
|
}): XYPosition;
|
|
14
14
|
export declare const snapToGrid: (value: number) => number;
|
|
15
|
+
export declare const snapUpToGrid: (value: number) => number;
|
|
16
|
+
export declare const snapDownToGrid: (value: number) => number;
|
|
17
|
+
export declare const clamp: (value: number, min: number, max: number) => number;
|
|
15
18
|
export type CollisionAlgorithmOptions = {
|
|
16
19
|
maxIterations?: number;
|
|
17
20
|
overlapThreshold?: number;
|
|
18
21
|
margin?: number;
|
|
19
22
|
ignoredNodeTypes?: string[];
|
|
23
|
+
getNodeSize?: (node: Node) => {
|
|
24
|
+
width: number;
|
|
25
|
+
height: number;
|
|
26
|
+
};
|
|
20
27
|
};
|
|
21
28
|
export type CollisionAlgorithm = (nodes: Node[], options?: CollisionAlgorithmOptions) => Node[];
|
|
22
29
|
export declare const resolveCollisions: CollisionAlgorithm;
|
|
@@ -28,6 +35,10 @@ export type HandleContext = {
|
|
|
28
35
|
index: number | null;
|
|
29
36
|
count: number;
|
|
30
37
|
};
|
|
31
|
-
export
|
|
38
|
+
export type HandleBoundaryResolver = (handleId: string) => 'outer' | 'inner' | undefined;
|
|
39
|
+
export interface ResolveHandleContextOptions {
|
|
40
|
+
boundaryOf?: HandleBoundaryResolver;
|
|
41
|
+
}
|
|
42
|
+
export declare function resolveHandleContext(internalNode: InternalNode, handleId: string, handlePosition: Position, options?: ResolveHandleContextOptions): HandleContext | undefined;
|
|
32
43
|
export declare function getHandleIndex(handleId: string, position: Position, allHandles: Handle[]): number | null;
|
|
33
44
|
//# sourceMappingURL=NodeUtils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NodeUtils.d.ts","sourceRoot":"","sources":["../../../src/canvas/utils/NodeUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,MAAM,EACX,KAAK,YAAY,EACjB,KAAK,IAAI,EACT,QAAQ,EACR,KAAK,cAAc,EACnB,KAAK,UAAU,EAChB,MAAM,0CAA0C,CAAC;AAQlD,eAAO,MAAM,kBAAkB,GAAI,OAAO,cAAc,YAAkC,CAAC;AAS3F,eAAO,MAAM,mBAAmB,GAAI,MAAM,IAAI,EAAE,OAAO,IAAI,EAAE,KAAG;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAWrF,CAAC;AAeF,wBAAgB,qCAAqC,CACnD,KAAK,EAAE,IAAI,EAAE,EACb,eAAe,EAAE,UAAU,EAC3B,YAAY,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,EAC/C,SAAS,EAAE,MAAM,GAAG,OAAO,GAAG,KAAK,GAAG,QAAQ,EAC9C,MAAM,SAAmB,EACzB,gBAAgB,GAAE,MAAM,EAAO,EAC/B,iBAAiB,GAAE;IAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAAC,CAAC,EAAE,IAAI,GAAG,MAAM,CAAA;CAA8B,GACvF,UAAU,CAgCZ;AAED,eAAO,MAAM,UAAU,GAAI,OAAO,MAAM,KAAG,MAE1C,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"NodeUtils.d.ts","sourceRoot":"","sources":["../../../src/canvas/utils/NodeUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,MAAM,EACX,KAAK,YAAY,EACjB,KAAK,IAAI,EACT,QAAQ,EACR,KAAK,cAAc,EACnB,KAAK,UAAU,EAChB,MAAM,0CAA0C,CAAC;AAQlD,eAAO,MAAM,kBAAkB,GAAI,OAAO,cAAc,YAAkC,CAAC;AAS3F,eAAO,MAAM,mBAAmB,GAAI,MAAM,IAAI,EAAE,OAAO,IAAI,EAAE,KAAG;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAWrF,CAAC;AAeF,wBAAgB,qCAAqC,CACnD,KAAK,EAAE,IAAI,EAAE,EACb,eAAe,EAAE,UAAU,EAC3B,YAAY,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,EAC/C,SAAS,EAAE,MAAM,GAAG,OAAO,GAAG,KAAK,GAAG,QAAQ,EAC9C,MAAM,SAAmB,EACzB,gBAAgB,GAAE,MAAM,EAAO,EAC/B,iBAAiB,GAAE;IAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAAC,CAAC,EAAE,IAAI,GAAG,MAAM,CAAA;CAA8B,GACvF,UAAU,CAgCZ;AAED,eAAO,MAAM,UAAU,GAAI,OAAO,MAAM,KAAG,MAE1C,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI,OAAO,MAAM,KAAG,MAE5C,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,OAAO,MAAM,KAAG,MAE9C,CAAC;AAEF,eAAO,MAAM,KAAK,GAAI,OAAO,MAAM,EAAE,KAAK,MAAM,EAAE,KAAK,MAAM,KAAG,MAE/D,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAE5B,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CACjE,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,OAAO,CAAC,EAAE,yBAAyB,KAAK,IAAI,EAAE,CAAC;AAyChG,eAAO,MAAM,iBAAiB,EAAE,kBA8E/B,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,MAAM,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACjC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AASF,MAAM,MAAM,sBAAsB,GAAG,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,GAAG,OAAO,GAAG,SAAS,CAAC;AAEzF,MAAM,WAAW,2BAA2B;IAC1C,UAAU,CAAC,EAAE,sBAAsB,CAAC;CACrC;AAMD,wBAAgB,oBAAoB,CAClC,YAAY,EAAE,YAAY,EAC1B,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,QAAQ,EACxB,OAAO,CAAC,EAAE,2BAA2B,GACpC,aAAa,GAAG,SAAS,CAkB3B;AAoCD,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,QAAQ,EAClB,UAAU,EAAE,MAAM,EAAE,GACnB,MAAM,GAAG,IAAI,CAQf"}
|
|
@@ -29,25 +29,32 @@ function getNonOverlappingPositionForDirection(nodes, newNodePosition, newNodeSt
|
|
|
29
29
|
return newNodePosition;
|
|
30
30
|
}
|
|
31
31
|
const snapToGrid = (value)=>Math.round(value / GRID_SPACING) * GRID_SPACING;
|
|
32
|
-
|
|
32
|
+
const snapUpToGrid = (value)=>Math.ceil(value / GRID_SPACING) * GRID_SPACING;
|
|
33
|
+
const snapDownToGrid = (value)=>Math.floor(value / GRID_SPACING) * GRID_SPACING;
|
|
34
|
+
const clamp = (value, min, max)=>Math.min(Math.max(value, min), max);
|
|
35
|
+
function getBoxesFromNodes(nodes, margin = 0, getNodeSize) {
|
|
33
36
|
const boxes = new Array(nodes.length);
|
|
34
37
|
for(let i = 0; i < nodes.length; i++){
|
|
35
38
|
const node = nodes[i];
|
|
39
|
+
const nodeSize = getNodeSize?.(node) ?? {
|
|
40
|
+
width: node.width ?? node.measured?.width ?? DEFAULT_NODE_SIZE,
|
|
41
|
+
height: node.height ?? node.measured?.height ?? DEFAULT_NODE_SIZE
|
|
42
|
+
};
|
|
36
43
|
boxes[i] = {
|
|
37
44
|
x: node.position.x - margin,
|
|
38
45
|
y: node.position.y - margin,
|
|
39
|
-
width:
|
|
40
|
-
height:
|
|
46
|
+
width: nodeSize.width + 2 * margin,
|
|
47
|
+
height: nodeSize.height + 2 * margin,
|
|
41
48
|
node,
|
|
42
49
|
moved: false
|
|
43
50
|
};
|
|
44
51
|
}
|
|
45
52
|
return boxes;
|
|
46
53
|
}
|
|
47
|
-
const resolveCollisions = (nodes, { maxIterations = 50, overlapThreshold = 0, margin = 2 * GRID_SPACING, ignoredNodeTypes } = {})=>{
|
|
54
|
+
const resolveCollisions = (nodes, { maxIterations = 50, overlapThreshold = 0, margin = 2 * GRID_SPACING, ignoredNodeTypes, getNodeSize } = {})=>{
|
|
48
55
|
const ignoredSet = new Set(ignoredNodeTypes);
|
|
49
56
|
const collisionNodes = ignoredSet.size > 0 ? nodes.filter((n)=>!ignoredSet.has(n.type ?? '')) : nodes;
|
|
50
|
-
const boxes = getBoxesFromNodes(collisionNodes, margin);
|
|
57
|
+
const boxes = getBoxesFromNodes(collisionNodes, margin, getNodeSize);
|
|
51
58
|
for(let iter = 0; iter < maxIterations; iter++){
|
|
52
59
|
let moved = false;
|
|
53
60
|
for(let i = 0; i < boxes.length; i++)for(let j = i + 1; j < boxes.length; j++){
|
|
@@ -88,25 +95,37 @@ const resolveCollisions = (nodes, { maxIterations = 50, overlapThreshold = 0, ma
|
|
|
88
95
|
});
|
|
89
96
|
return nodes.map((n)=>resolvedMap.get(n.id) ?? n);
|
|
90
97
|
};
|
|
91
|
-
function resolveHandleContext(internalNode, handleId, handlePosition) {
|
|
98
|
+
function resolveHandleContext(internalNode, handleId, handlePosition, options) {
|
|
92
99
|
const allHandles = [
|
|
93
100
|
...internalNode.internals.handleBounds?.source ?? [],
|
|
94
101
|
...internalNode.internals.handleBounds?.target ?? []
|
|
95
102
|
];
|
|
96
103
|
const matchedHandle = allHandles.find((h)=>h.id === handleId);
|
|
97
104
|
if (!matchedHandle) return;
|
|
105
|
+
const peers = filterRailPeers(allHandles, handleId, handlePosition, options?.boundaryOf);
|
|
98
106
|
return {
|
|
99
107
|
anchor: {
|
|
100
108
|
x: internalNode.internals.positionAbsolute.x + matchedHandle.x + matchedHandle.width / 2,
|
|
101
109
|
y: internalNode.internals.positionAbsolute.y + matchedHandle.y + matchedHandle.height / 2
|
|
102
110
|
},
|
|
103
|
-
index: getHandleIndex(handleId, handlePosition,
|
|
104
|
-
count:
|
|
111
|
+
index: getHandleIndex(handleId, handlePosition, peers),
|
|
112
|
+
count: peers.length
|
|
105
113
|
};
|
|
106
114
|
}
|
|
115
|
+
function filterRailPeers(allHandles, handleId, handlePosition, boundaryOf) {
|
|
116
|
+
const samePosition = allHandles.filter((h)=>h.position === handlePosition);
|
|
117
|
+
if (!boundaryOf) return samePosition;
|
|
118
|
+
const targetBoundary = boundaryOf(handleId);
|
|
119
|
+
if (void 0 === targetBoundary) return samePosition;
|
|
120
|
+
return samePosition.filter((h)=>{
|
|
121
|
+
if (!h.id) return false;
|
|
122
|
+
const peerBoundary = boundaryOf(h.id);
|
|
123
|
+
return void 0 === peerBoundary || peerBoundary === targetBoundary;
|
|
124
|
+
});
|
|
125
|
+
}
|
|
107
126
|
function getHandleIndex(handleId, position, allHandles) {
|
|
108
127
|
const peers = allHandles.filter((h)=>h.position === position).sort((a, b)=>position === Position.Left || position === Position.Right ? a.y - b.y : a.x - b.x);
|
|
109
128
|
const index = peers.findIndex((h)=>h.id === handleId);
|
|
110
129
|
return -1 === index ? null : index;
|
|
111
130
|
}
|
|
112
|
-
export { getAbsolutePosition, getHandleIndex, getNonOverlappingPositionForDirection, resolveCollisions, resolveHandleContext, selectIsConnecting, snapToGrid };
|
|
131
|
+
export { clamp, getAbsolutePosition, getHandleIndex, getNonOverlappingPositionForDirection, resolveCollisions, resolveHandleContext, selectIsConnecting, snapDownToGrid, snapToGrid, snapUpToGrid };
|
|
@@ -31,7 +31,7 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
31
31
|
COLLAPSED_NODE_SIZE: ()=>COLLAPSED_NODE_SIZE,
|
|
32
32
|
getCollapsedSize: ()=>getCollapsedSize
|
|
33
33
|
});
|
|
34
|
-
const
|
|
34
|
+
const external_container_cjs_namespaceObject = require("./container.cjs");
|
|
35
35
|
const COLLAPSED_NODE_SIZE = 96;
|
|
36
36
|
const EXPANDED_RECTANGLE_WIDTH = 288;
|
|
37
37
|
const getCollapsedShape = (originalShape)=>'rectangle' === originalShape ? 'square' : originalShape;
|
|
@@ -42,8 +42,8 @@ const getCollapsedSize = ()=>({
|
|
|
42
42
|
});
|
|
43
43
|
const getExpandedSize = (shape)=>{
|
|
44
44
|
if ('container' === shape) return {
|
|
45
|
-
width:
|
|
46
|
-
height:
|
|
45
|
+
width: external_container_cjs_namespaceObject.DEFAULT_CONTAINER_WIDTH,
|
|
46
|
+
height: external_container_cjs_namespaceObject.DEFAULT_CONTAINER_HEIGHT
|
|
47
47
|
};
|
|
48
48
|
return {
|
|
49
49
|
width: 'rectangle' === shape ? EXPANDED_RECTANGLE_WIDTH : COLLAPSED_NODE_SIZE,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"collapse.d.ts","sourceRoot":"","sources":["../../../src/canvas/utils/collapse.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"collapse.d.ts","sourceRoot":"","sources":["../../../src/canvas/utils/collapse.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAM3D,eAAO,MAAM,mBAAmB,KAAK,CAAC;AAKtC,eAAO,MAAM,wBAAwB,MAAM,CAAC;AAM5C,eAAO,MAAM,iBAAiB,GAAI,gBAAgB,SAAS,KAAG,SAAS,GAAG,SAEzE,CAAC;AAOF,eAAO,MAAM,gBAAgB,GAAI,iBAAiB,SAAS,KAAG,SAAS,GAAG,SAEzE,CAAC;AAMF,eAAO,MAAM,gBAAgB,QAAO;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAKlE,CAAC;AAOF,eAAO,MAAM,eAAe,GAAI,QAAQ,SAAS,KAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAYlF,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { DEFAULT_CONTAINER_HEIGHT, DEFAULT_CONTAINER_WIDTH } from "
|
|
1
|
+
import { DEFAULT_CONTAINER_HEIGHT, DEFAULT_CONTAINER_WIDTH } from "./container.js";
|
|
2
2
|
const COLLAPSED_NODE_SIZE = 96;
|
|
3
3
|
const EXPANDED_RECTANGLE_WIDTH = 288;
|
|
4
4
|
const getCollapsedShape = (originalShape)=>'rectangle' === originalShape ? 'square' : originalShape;
|