@lincle/react-web-interactive 0.4.0-next.17 → 0.4.0-next.18
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/cjs/base.js +2 -0
- package/dist/cjs/base.js.map +1 -0
- package/dist/cjs/components/Edge/Path/index.js +2 -0
- package/dist/cjs/components/Edge/Path/index.js.map +1 -0
- package/dist/cjs/components/Edge/index.js +3 -0
- package/dist/cjs/components/Edge/index.js.map +1 -0
- package/dist/{components → cjs/components}/Edges/Connections/index.js +16 -13
- package/dist/cjs/components/Edges/Connections/index.js.map +1 -0
- package/dist/cjs/components/Edges/index.js +12 -0
- package/dist/cjs/components/Edges/index.js.map +1 -0
- package/dist/cjs/components/Graph/Grid/index.js +56 -0
- package/dist/cjs/components/Graph/Grid/index.js.map +1 -0
- package/dist/cjs/components/Graph/index.js +18 -0
- package/dist/cjs/components/Graph/index.js.map +1 -0
- package/dist/{components → cjs/components}/Interaction/Controls/index.js +21 -23
- package/dist/cjs/components/Interaction/Controls/index.js.map +1 -0
- package/dist/cjs/components/Interaction/index.js +95 -0
- package/dist/cjs/components/Interaction/index.js.map +1 -0
- package/dist/{components → cjs/components}/Node/MoveNode/index.js +34 -29
- package/dist/cjs/components/Node/MoveNode/index.js.map +1 -0
- package/dist/{components → cjs/components}/Node/PullNode/index.js +31 -25
- package/dist/cjs/components/Node/PullNode/index.js.map +1 -0
- package/dist/cjs/components/Node/index.js +135 -0
- package/dist/cjs/components/Node/index.js.map +1 -0
- package/dist/{components → cjs/components}/Nodes/Interaction/index.js +14 -15
- package/dist/cjs/components/Nodes/Interaction/index.js.map +1 -0
- package/dist/cjs/components/Nodes/index.js +9 -0
- package/dist/cjs/components/Nodes/index.js.map +1 -0
- package/dist/cjs/components/index.js +6 -0
- package/dist/cjs/components/index.js.map +1 -0
- package/dist/cjs/index.js +3 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/shared.js +3 -0
- package/dist/cjs/shared.js.map +1 -0
- package/dist/esm/base.js +2 -0
- package/dist/esm/base.js.map +1 -0
- package/dist/esm/components/Edge/Path/index.js +2 -0
- package/dist/esm/components/Edge/Path/index.js.map +1 -0
- package/dist/esm/components/Edge/index.js +3 -0
- package/dist/esm/components/Edge/index.js.map +1 -0
- package/dist/esm/components/Edges/Connections/index.js +44 -0
- package/dist/esm/components/Edges/Connections/index.js.map +1 -0
- package/dist/esm/components/Edges/index.js +12 -0
- package/dist/esm/components/Edges/index.js.map +1 -0
- package/dist/esm/components/Graph/Grid/index.js +56 -0
- package/dist/esm/components/Graph/Grid/index.js.map +1 -0
- package/dist/esm/components/Graph/index.js +18 -0
- package/dist/esm/components/Graph/index.js.map +1 -0
- package/dist/esm/components/Interaction/Controls/index.js +126 -0
- package/dist/esm/components/Interaction/Controls/index.js.map +1 -0
- package/dist/esm/components/Interaction/index.js +95 -0
- package/dist/esm/components/Interaction/index.js.map +1 -0
- package/dist/esm/components/Node/MoveNode/index.js +188 -0
- package/dist/esm/components/Node/MoveNode/index.js.map +1 -0
- package/dist/esm/components/Node/PullNode/index.js +114 -0
- package/dist/esm/components/Node/PullNode/index.js.map +1 -0
- package/dist/esm/components/Node/index.js +135 -0
- package/dist/esm/components/Node/index.js.map +1 -0
- package/dist/esm/components/Nodes/Interaction/index.js +65 -0
- package/dist/esm/components/Nodes/Interaction/index.js.map +1 -0
- package/dist/esm/components/Nodes/index.js +9 -0
- package/dist/esm/components/Nodes/index.js.map +1 -0
- package/dist/esm/components/index.js +6 -0
- package/dist/esm/components/index.js.map +1 -0
- package/dist/esm/index.js +3 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/shared.js +3 -0
- package/dist/esm/shared.js.map +1 -0
- package/package.json +24 -21
- package/dist/base.js +0 -11
- package/dist/components/Edge/Path/index.js +0 -5
- package/dist/components/Edge/index.js +0 -10
- package/dist/components/Edges/index.js +0 -29
- package/dist/components/Graph/Grid/index.js +0 -57
- package/dist/components/Graph/index.js +0 -24
- package/dist/components/Interaction/index.js +0 -99
- package/dist/components/Node/index.js +0 -143
- package/dist/components/Nodes/index.js +0 -26
- package/dist/components/index.js +0 -21
- package/dist/index.js +0 -18
- package/dist/shared.js +0 -34
- /package/dist/{base.d.ts → esm/base.d.ts} +0 -0
- /package/dist/{components → esm/components}/Edge/Path/index.d.ts +0 -0
- /package/dist/{components → esm/components}/Edge/index.d.ts +0 -0
- /package/dist/{components → esm/components}/Edges/Connections/index.d.ts +0 -0
- /package/dist/{components → esm/components}/Edges/index.d.ts +0 -0
- /package/dist/{components → esm/components}/Graph/Grid/index.d.ts +0 -0
- /package/dist/{components → esm/components}/Graph/index.d.ts +0 -0
- /package/dist/{components → esm/components}/Interaction/Controls/index.d.ts +0 -0
- /package/dist/{components → esm/components}/Interaction/index.d.ts +0 -0
- /package/dist/{components → esm/components}/Node/MoveNode/index.d.ts +0 -0
- /package/dist/{components → esm/components}/Node/PullNode/index.d.ts +0 -0
- /package/dist/{components → esm/components}/Node/index.d.ts +0 -0
- /package/dist/{components → esm/components}/Nodes/Interaction/index.d.ts +0 -0
- /package/dist/{components → esm/components}/Nodes/index.d.ts +0 -0
- /package/dist/{components → esm/components}/index.d.ts +0 -0
- /package/dist/{index.d.ts → esm/index.d.ts} +0 -0
- /package/dist/{shared.d.ts → esm/shared.d.ts} +0 -0
|
@@ -1,22 +1,20 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
const react_1 = require("react");
|
|
6
|
-
const react_draggable_1 = require("react-draggable");
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { useDiagramId, useNodePositions, useOnNodeEdgeDrop, useScale, useSetConnection } from '../../../shared';
|
|
3
|
+
import { useCallback, useEffect, useMemo, useRef } from 'react';
|
|
4
|
+
import { DraggableCore } from 'react-draggable';
|
|
7
5
|
const PullNode = ({ className, disabled, height = 0, line = 'direct', onDrag, onEdgeDrop: givenOnEdgeDrop, onStart, onStop, shape = 'oval', sourceId, style, width = 0, x = 0, y = 0 }) => {
|
|
8
|
-
const diagramId =
|
|
9
|
-
const nodePositions =
|
|
10
|
-
const setConnection =
|
|
11
|
-
const onNodeEdgeDrop =
|
|
12
|
-
const onEdgeDrop = givenOnEdgeDrop
|
|
13
|
-
const scale =
|
|
14
|
-
|
|
6
|
+
const diagramId = useDiagramId();
|
|
7
|
+
const nodePositions = useNodePositions();
|
|
8
|
+
const setConnection = useSetConnection(sourceId);
|
|
9
|
+
const onNodeEdgeDrop = useOnNodeEdgeDrop();
|
|
10
|
+
const onEdgeDrop = givenOnEdgeDrop ?? onNodeEdgeDrop;
|
|
11
|
+
const scale = useScale();
|
|
12
|
+
useEffect(() => {
|
|
15
13
|
return () => {
|
|
16
14
|
setConnection();
|
|
17
15
|
};
|
|
18
16
|
}, []);
|
|
19
|
-
const handleStart =
|
|
17
|
+
const handleStart = useCallback((event) => {
|
|
20
18
|
event.stopPropagation();
|
|
21
19
|
if (!disabled &&
|
|
22
20
|
onStart) {
|
|
@@ -26,8 +24,7 @@ const PullNode = ({ className, disabled, height = 0, line = 'direct', onDrag, on
|
|
|
26
24
|
disabled,
|
|
27
25
|
onStart
|
|
28
26
|
]);
|
|
29
|
-
const handleDrag =
|
|
30
|
-
var _a, _b;
|
|
27
|
+
const handleDrag = useCallback((event, data) => {
|
|
31
28
|
event.stopPropagation();
|
|
32
29
|
if (!disabled) {
|
|
33
30
|
setConnection({
|
|
@@ -45,8 +42,8 @@ const PullNode = ({ className, disabled, height = 0, line = 'direct', onDrag, on
|
|
|
45
42
|
id: sourceId,
|
|
46
43
|
shape,
|
|
47
44
|
width: 0,
|
|
48
|
-
x:
|
|
49
|
-
y:
|
|
45
|
+
x: data.x ?? 0,
|
|
46
|
+
y: data.y ?? 0
|
|
50
47
|
}
|
|
51
48
|
});
|
|
52
49
|
if (onDrag) {
|
|
@@ -65,7 +62,7 @@ const PullNode = ({ className, disabled, height = 0, line = 'direct', onDrag, on
|
|
|
65
62
|
x,
|
|
66
63
|
y
|
|
67
64
|
]);
|
|
68
|
-
const handleStop =
|
|
65
|
+
const handleStop = useCallback((event, data) => {
|
|
69
66
|
event.stopPropagation();
|
|
70
67
|
setConnection();
|
|
71
68
|
if (onStop) {
|
|
@@ -87,10 +84,18 @@ const PullNode = ({ className, disabled, height = 0, line = 'direct', onDrag, on
|
|
|
87
84
|
setConnection,
|
|
88
85
|
sourceId
|
|
89
86
|
]);
|
|
90
|
-
const viewStyle =
|
|
91
|
-
return
|
|
87
|
+
const viewStyle = useMemo(() => {
|
|
88
|
+
return {
|
|
89
|
+
borderRadius: shape === 'oval' ?
|
|
92
90
|
50 :
|
|
93
|
-
undefined,
|
|
91
|
+
undefined,
|
|
92
|
+
height,
|
|
93
|
+
left: x,
|
|
94
|
+
position: 'absolute',
|
|
95
|
+
top: y,
|
|
96
|
+
width,
|
|
97
|
+
...style
|
|
98
|
+
};
|
|
94
99
|
}, [
|
|
95
100
|
height,
|
|
96
101
|
shape,
|
|
@@ -99,10 +104,11 @@ const PullNode = ({ className, disabled, height = 0, line = 'direct', onDrag, on
|
|
|
99
104
|
x,
|
|
100
105
|
y
|
|
101
106
|
]);
|
|
102
|
-
const nodeRef =
|
|
107
|
+
const nodeRef = useRef(null);
|
|
103
108
|
return diagramId ?
|
|
104
|
-
(
|
|
109
|
+
_jsx(DraggableCore, { disabled: disabled, nodeRef: nodeRef, onDrag: handleDrag, onStart: handleStart, onStop: handleStop, scale: scale, children: _jsx("div", { className: className, ref: nodeRef, style: viewStyle }) }) :
|
|
105
110
|
null;
|
|
106
111
|
};
|
|
107
112
|
PullNode.displayName = 'LincleInteractivePullNode';
|
|
108
|
-
|
|
113
|
+
export default PullNode;
|
|
114
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/components/Node/PullNode/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useDefaultLine, useDefaultNodeHeight, useDefaultNodeWidth, useDefaultShape, useMode, useModeGiven, useMove, useOnNodeDrag, useOnNodeEdgeDrop, useOnNodeSelect, useOnNodeStart, useOnNodeStop, usePull, useSnap } from '../../shared';
|
|
3
|
+
import MoveNode from './MoveNode';
|
|
4
|
+
import PullNode from './PullNode';
|
|
5
|
+
import { useCallback, useMemo, useRef } from 'react';
|
|
6
|
+
const emptySnap = [
|
|
7
|
+
1,
|
|
8
|
+
1
|
|
9
|
+
];
|
|
10
|
+
const Node = ({ children, height: givenHeight, id, line: givenLine, mode: givenMode, move: givenMove, onDrag, onEdgeDrop: givenOnEdgeDrop, onSelect: givenOnSelect, onStart, onStop, pull: givenPull, shape: givenShape, style, width: givenWidth, x, y }) => {
|
|
11
|
+
const defaultHeight = useDefaultNodeHeight();
|
|
12
|
+
const defaultLine = useDefaultLine();
|
|
13
|
+
const defaultShape = useDefaultShape();
|
|
14
|
+
const defaultWidth = useDefaultNodeWidth();
|
|
15
|
+
const snap = useSnap();
|
|
16
|
+
const [snapX = 1, snapY = 1] = snap && Array.isArray(snap) ?
|
|
17
|
+
snap :
|
|
18
|
+
emptySnap;
|
|
19
|
+
const graphMode = useMode();
|
|
20
|
+
const graphGivenMode = useModeGiven();
|
|
21
|
+
const mode = givenMode ?? graphGivenMode ?? graphMode;
|
|
22
|
+
const graphMove = useMove();
|
|
23
|
+
const graphPull = usePull();
|
|
24
|
+
const onNodeDrag = useOnNodeDrag();
|
|
25
|
+
const onNodeEdgeDrop = useOnNodeEdgeDrop();
|
|
26
|
+
const onNodeSelect = useOnNodeSelect();
|
|
27
|
+
const onNodeStart = useOnNodeStart();
|
|
28
|
+
const onNodeStop = useOnNodeStop();
|
|
29
|
+
const move = givenMove ?? graphMove;
|
|
30
|
+
const pull = givenPull ?? graphPull;
|
|
31
|
+
const onEdgeDrop = givenOnEdgeDrop ?? onNodeEdgeDrop;
|
|
32
|
+
const onSelect = givenOnSelect ?? onNodeSelect;
|
|
33
|
+
const pullPosition = useRef({
|
|
34
|
+
x,
|
|
35
|
+
y
|
|
36
|
+
});
|
|
37
|
+
const { height, line, shape, width } = useMemo(() => {
|
|
38
|
+
return {
|
|
39
|
+
height: givenHeight ?? defaultHeight,
|
|
40
|
+
line: givenLine ?? defaultLine,
|
|
41
|
+
shape: givenShape ?? defaultShape,
|
|
42
|
+
width: givenWidth ?? defaultWidth
|
|
43
|
+
};
|
|
44
|
+
}, [
|
|
45
|
+
defaultHeight,
|
|
46
|
+
defaultLine,
|
|
47
|
+
defaultShape,
|
|
48
|
+
defaultWidth,
|
|
49
|
+
givenHeight,
|
|
50
|
+
givenLine,
|
|
51
|
+
givenShape,
|
|
52
|
+
givenWidth
|
|
53
|
+
]);
|
|
54
|
+
const handleOnStart = useCallback((event) => {
|
|
55
|
+
if (onStart) {
|
|
56
|
+
onStart(event);
|
|
57
|
+
}
|
|
58
|
+
else if (onNodeStart) {
|
|
59
|
+
onNodeStart(event, id);
|
|
60
|
+
}
|
|
61
|
+
}, [
|
|
62
|
+
id,
|
|
63
|
+
onNodeStart,
|
|
64
|
+
onStart
|
|
65
|
+
]);
|
|
66
|
+
const handleOnDrag = useCallback((event, data) => {
|
|
67
|
+
if (onDrag) {
|
|
68
|
+
onDrag(event, data);
|
|
69
|
+
}
|
|
70
|
+
else if (onNodeDrag) {
|
|
71
|
+
onNodeDrag(event, id, data);
|
|
72
|
+
}
|
|
73
|
+
}, [
|
|
74
|
+
id,
|
|
75
|
+
onDrag,
|
|
76
|
+
onNodeDrag
|
|
77
|
+
]);
|
|
78
|
+
const handleOnStop = useCallback((event, data) => {
|
|
79
|
+
if (onStop) {
|
|
80
|
+
onStop(event, data);
|
|
81
|
+
}
|
|
82
|
+
else if (onNodeStop) {
|
|
83
|
+
onNodeStop(event, id, data);
|
|
84
|
+
}
|
|
85
|
+
}, [
|
|
86
|
+
id,
|
|
87
|
+
onNodeStop,
|
|
88
|
+
onStop
|
|
89
|
+
]);
|
|
90
|
+
const handleMoveStart = useCallback((event) => {
|
|
91
|
+
handleOnStart(event);
|
|
92
|
+
}, [
|
|
93
|
+
handleOnStart
|
|
94
|
+
]);
|
|
95
|
+
const handleMoveDrag = useCallback((event, data, position) => {
|
|
96
|
+
pullPosition.current = {
|
|
97
|
+
x: position.x,
|
|
98
|
+
y: position.y
|
|
99
|
+
};
|
|
100
|
+
handleOnDrag(event, data);
|
|
101
|
+
}, [
|
|
102
|
+
handleOnDrag
|
|
103
|
+
]);
|
|
104
|
+
const handleMoveStop = useCallback((event, data) => {
|
|
105
|
+
handleOnStop(event, data);
|
|
106
|
+
}, [
|
|
107
|
+
handleOnStop
|
|
108
|
+
]);
|
|
109
|
+
const pullNode = useMemo(() => {
|
|
110
|
+
return mode === 'pull' && pull ?
|
|
111
|
+
_jsx(PullNode, { height: height, line: line, mode: mode, onEdgeDrop: onEdgeDrop, shape: shape, sourceId: id, style: style, width: width, x: pullPosition.current.x, y: pullPosition.current.y }) :
|
|
112
|
+
null;
|
|
113
|
+
}, [
|
|
114
|
+
mode
|
|
115
|
+
]);
|
|
116
|
+
const snapper = useMemo(() => {
|
|
117
|
+
return {
|
|
118
|
+
x: Math.ceil((x ?? 0) / snapX) * snapX,
|
|
119
|
+
y: Math.ceil((y ?? 0) / snapY) * snapY
|
|
120
|
+
};
|
|
121
|
+
}, [
|
|
122
|
+
snapX,
|
|
123
|
+
snapY,
|
|
124
|
+
x,
|
|
125
|
+
y
|
|
126
|
+
]);
|
|
127
|
+
return (_jsxs(_Fragment, { children: [_jsx(MoveNode, { disabled: mode === 'pull' ?
|
|
128
|
+
true :
|
|
129
|
+
!move, height: height, id: id, mode: mode, onDrag: handleMoveDrag, onSelect: onSelect, onStart: handleMoveStart, onStop: handleMoveStop, shape: shape, snap: snap, style: style, width: width, x: snapper.x, y: snapper.y, children: children }), pullNode] }));
|
|
130
|
+
};
|
|
131
|
+
Node.displayName = 'LincleInteractiveNode';
|
|
132
|
+
export { Node };
|
|
133
|
+
export { default as MoveNode } from './MoveNode';
|
|
134
|
+
export { default as PullNode } from './PullNode';
|
|
135
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/Node/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,22 +1,20 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
const shared_1 = require("../../../shared");
|
|
5
|
-
const react_1 = require("react");
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { useModeGiven, useOnMode, useScale, useTranslate } from '../../../shared';
|
|
3
|
+
import { useCallback, useEffect, useMemo, useRef } from 'react';
|
|
6
4
|
const Interaction = ({ children }) => {
|
|
7
|
-
const scale =
|
|
8
|
-
const translate =
|
|
9
|
-
const givenMode =
|
|
10
|
-
const onMode =
|
|
11
|
-
const keypress =
|
|
12
|
-
const handleMode =
|
|
5
|
+
const scale = useScale();
|
|
6
|
+
const translate = useTranslate();
|
|
7
|
+
const givenMode = useModeGiven();
|
|
8
|
+
const onMode = useOnMode();
|
|
9
|
+
const keypress = useRef(false);
|
|
10
|
+
const handleMode = useCallback((changedMode) => {
|
|
13
11
|
if (onMode) {
|
|
14
12
|
onMode(changedMode);
|
|
15
13
|
}
|
|
16
14
|
}, [
|
|
17
15
|
onMode
|
|
18
16
|
]);
|
|
19
|
-
|
|
17
|
+
useEffect(() => {
|
|
20
18
|
if (givenMode) {
|
|
21
19
|
return () => {
|
|
22
20
|
};
|
|
@@ -50,7 +48,7 @@ const Interaction = ({ children }) => {
|
|
|
50
48
|
givenMode,
|
|
51
49
|
handleMode
|
|
52
50
|
]);
|
|
53
|
-
const style =
|
|
51
|
+
const style = useMemo(() => {
|
|
54
52
|
const { x, y } = translate;
|
|
55
53
|
return {
|
|
56
54
|
transform: `translateX(${x / scale}px) translateY(${y / scale}px)`,
|
|
@@ -60,7 +58,8 @@ const Interaction = ({ children }) => {
|
|
|
60
58
|
scale,
|
|
61
59
|
translate
|
|
62
60
|
]);
|
|
63
|
-
return ((
|
|
61
|
+
return (_jsx("div", { className: 'lincle-interactive-graph', children: _jsx("div", { className: 'lincle-interactive-transform', style: style, children: children }) }));
|
|
64
62
|
};
|
|
65
63
|
Interaction.displayName = 'LincleInteractiveInteraction';
|
|
66
|
-
|
|
64
|
+
export default Interaction;
|
|
65
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/components/Nodes/Interaction/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAEL,YAAY,EACZ,SAAS,EACT,QAAQ,EACR,YAAY,EACb,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAGL,WAAW,EACX,SAAS,EACT,OAAO,EACP,MAAM,EACP,MAAM,OAAO,CAAC;AAEf,MAAM,WAAW,GAAiD,CAAC,EACjE,QAAQ,EACT,EAAE,EAAE;IACH,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;IACzB,MAAM,SAAS,GAAG,YAAY,EAAE,CAAC;IACjC,MAAM,SAAS,GAAG,YAAY,EAAE,CAAC;IACjC,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAE3B,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAE/B,MAAM,UAAU,GAAG,WAAW,CAC5B,CAAC,WAAqB,EAAE,EAAE;QACxB,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,CAAC,WAAW,CAAC,CAAC;QACtB,CAAC;IACH,CAAC,EACD;QACE,MAAM;KACP,CACF,CAAC;IAEF,SAAS,CACP,GAAG,EAAE;QACH,IAAI,SAAS,EAAE,CAAC;YACd,OAAO,GAAS,EAAE;YAElB,CAAC,CAAC;QACJ,CAAC;QAED,MAAM,SAAS,GAAG,CAChB,KAAoB,EACd,EAAE;YACR,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC;YAExB,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;gBACnB,UAAU,CAAC,MAAM,CAAC,CAAC;YACrB,CAAC;iBAAM,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;gBACzB,UAAU,CAAC,QAAQ,CAAC,CAAC;YACvB,CAAC;QACH,CAAC,CAAC;QAEF,MAAM,OAAO,GAAG,CACd,KAAoB,EACd,EAAE;YACR,QAAQ,CAAC,OAAO,GAAG,KAAK,CAAC;YAEzB,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;gBACpB,UAAU,CAAC,MAAM,CAAC,CAAC;YACrB,CAAC;iBAAM,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;gBAC1B,UAAU,CAAC,MAAM,CAAC,CAAC;YACrB,CAAC;QACH,CAAC,CAAC;QAEF,MAAM,CAAC,gBAAgB,CACrB,SAAS,EACT,SAAS,CACV,CAAC;QAEF,MAAM,CAAC,gBAAgB,CACrB,OAAO,EACP,OAAO,CACR,CAAC;QAEF,OAAO,GAAS,EAAE;YAChB,QAAQ,CAAC,OAAO,GAAG,KAAK,CAAC;YAEzB,MAAM,CAAC,mBAAmB,CACxB,SAAS,EACT,SAAS,CACV,CAAC;YAEF,MAAM,CAAC,mBAAmB,CACxB,OAAO,EACP,OAAO,CACR,CAAC;QACJ,CAAC,CAAC;IACJ,CAAC,EACD;QACE,SAAS;QACT,UAAU;KACX,CACF,CAAC;IAEF,MAAM,KAAK,GAAG,OAAO,CACnB,GAAG,EAAE;QACH,MAAM,EACJ,CAAC,EACD,CAAC,EACF,GAAG,SAAS,CAAC;QAEd,OAAO;YAEL,SAAS,EAAE,cAAc,CAAC,GAAG,KAAK,kBAAkB,CAAC,GAAG,KAAK,KAAK;YAElE,IAAI,EAAE,KAAK;SACZ,CAAC;IACJ,CAAC,EACD;QACE,KAAK;QACL,SAAS;KACV,CACF,CAAC;IAEF,OAAO,CACL,cACE,SAAS,EAAC,0BAA0B,YAEpC,cACE,SAAS,EAAC,8BAA8B,EACxC,KAAK,EAAE,KAAK,YAEX,QAAQ,GACL,GACF,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,WAAW,CAAC,WAAW,GAAG,8BAA8B,CAAC;AAEzD,eAAe,WAAW,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { Nodes as BaseNodes } from '../../base';
|
|
3
|
+
import Interaction from './Interaction';
|
|
4
|
+
const Nodes = ({ children, ...props }) => {
|
|
5
|
+
return (_jsx(Interaction, { children: _jsx(BaseNodes, { ...props, children: children }) }));
|
|
6
|
+
};
|
|
7
|
+
Nodes.displayName = 'LincleInteractiveNodes';
|
|
8
|
+
export { Nodes };
|
|
9
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/Nodes/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EACL,KAAK,IAAI,SAAS,EACnB,MAAM,YAAY,CAAC;AAIpB,OAAO,WAAW,MAAM,eAAe,CAAC;AAKxC,MAAM,KAAK,GAAkC,CAAC,EAC5C,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,EAAE;IACH,OAAO,CACL,KAAC,WAAW,cACV,KAAC,SAAS,OACJ,KAAK,YAER,QAAQ,GACC,GACA,CACf,CAAC;AACJ,CAAC,CAAC;AAEF,KAAK,CAAC,WAAW,GAAG,wBAAwB,CAAC;AAE7C,OAAO,EACL,KAAK,EACN,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export { Providers, useConnections, useDefaultLine, useDefaultNodeHeight, useDefaultNodeWidth, useDefaultShape, useDiagramId, useMaxScale, useMinScale, useMode, useModeGiven, useMove, useNodePositions, useOnMode, useOnNodeDrag, useOnNodeEdgeDrop, useOnNodeSelect, useOnNodeStart, useOnNodeStop, useOnScale, useOnTranslate, usePan, usePull, useScale, useSetConnection, useSnap, useTranslate, useZoom } from '@lincle/react-interactive-shared';
|
|
2
|
+
export { Graph as GraphBase } from '@lincle/react-web-base';
|
|
3
|
+
//# sourceMappingURL=shared.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shared.js","sourceRoot":"","sources":["../../src/shared.ts"],"names":[],"mappings":"AAmHA,OAAO,EASL,SAAS,EACT,cAAc,EACd,cAAc,EACd,oBAAoB,EACpB,mBAAmB,EACnB,eAAe,EACf,YAAY,EACZ,WAAW,EACX,WAAW,EACX,OAAO,EACP,YAAY,EACZ,OAAO,EACP,gBAAgB,EAChB,SAAS,EACT,aAAa,EACb,iBAAiB,EACjB,eAAe,EACf,cAAc,EACd,aAAa,EACb,UAAU,EACV,cAAc,EACd,MAAM,EACN,OAAO,EACP,QAAQ,EACR,gBAAgB,EAChB,OAAO,EACP,YAAY,EACZ,OAAO,EACR,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACL,KAAK,IAAI,SAAS,EACnB,MAAM,wBAAwB,CAAC"}
|
package/dist/esm/base.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/base.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,IAAI,EACJ,KAAK,EACL,KAAK,EACL,IAAI,EACJ,IAAI,EACJ,KAAK,EACL,IAAI,EACL,MAAM,wBAAwB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/components/Edge/Path/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,IAAI,IAAI,OAAO,EAChB,MAAM,eAAe,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/Edge/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,IAAI,EACL,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,OAAO,IAAI,IAAI,EAChB,MAAM,QAAQ,CAAC"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { useConnections } from '../../../shared';
|
|
3
|
+
import { Path } from '../../Edge';
|
|
4
|
+
import { useMemo } from 'react';
|
|
5
|
+
const Connections = ({ scale = 1, translate = {
|
|
6
|
+
x: 0,
|
|
7
|
+
y: 0
|
|
8
|
+
} }) => {
|
|
9
|
+
const connections = useConnections();
|
|
10
|
+
const paths = useMemo(() => {
|
|
11
|
+
return Object.keys(connections).map((sourceId) => {
|
|
12
|
+
const { line, source, target } = connections[sourceId] ?? {};
|
|
13
|
+
if (!source ||
|
|
14
|
+
!target) {
|
|
15
|
+
return null;
|
|
16
|
+
}
|
|
17
|
+
return (_jsx(Path, { edgeId: sourceId + 'temp', isConnecting: {
|
|
18
|
+
x: target.x,
|
|
19
|
+
y: target.y
|
|
20
|
+
}, line: line, source: source, target: target }, sourceId));
|
|
21
|
+
});
|
|
22
|
+
}, [
|
|
23
|
+
connections
|
|
24
|
+
]);
|
|
25
|
+
const style = useMemo(() => {
|
|
26
|
+
const tx = translate.x;
|
|
27
|
+
const ty = translate.y;
|
|
28
|
+
const tz = scale;
|
|
29
|
+
const transform = `translateX(${tx}px) translateY(${ty}px) scale(${tz})`;
|
|
30
|
+
return {
|
|
31
|
+
transform,
|
|
32
|
+
transformOrigin: 'top left',
|
|
33
|
+
zIndex: 1
|
|
34
|
+
};
|
|
35
|
+
}, [
|
|
36
|
+
translate.x,
|
|
37
|
+
translate.y,
|
|
38
|
+
scale
|
|
39
|
+
]);
|
|
40
|
+
return (_jsx("svg", { className: 'lincle-base-edges', style: style, children: paths }));
|
|
41
|
+
};
|
|
42
|
+
Connections.displayName = 'LincleInteractiveConnections';
|
|
43
|
+
export default Connections;
|
|
44
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/components/Edges/Connections/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAEL,cAAc,EACf,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,IAAI,EACL,MAAM,YAAY,CAAC;AACpB,OAAO,EAEL,OAAO,EACR,MAAM,OAAO,CAAC;AAEf,MAAM,WAAW,GAAwC,CAAC,EACxD,KAAK,GAAG,CAAC,EACT,SAAS,GAAG;IACV,CAAC,EAAE,CAAC;IACJ,CAAC,EAAE,CAAC;CACL,EACF,EAAE,EAAE;IACH,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;IAErC,MAAM,KAAK,GAAG,OAAO,CACnB,GAAG,EAAE;QACH,OAAO,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,GAAG,CACjC,CACE,QAAQ,EACR,EAAE;YACF,MAAM,EACJ,IAAI,EACJ,MAAM,EACN,MAAM,EACP,GAAG,WAAW,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YAEhC,IACE,CAAC,MAAM;gBACP,CAAC,MAAM,EACP,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC;YAED,OAAO,CACL,KAAC,IAAI,IACH,MAAM,EAAE,QAAQ,GAAG,MAAM,EACzB,YAAY,EAAE;oBACZ,CAAC,EAAE,MAAM,CAAC,CAAC;oBACX,CAAC,EAAE,MAAM,CAAC,CAAC;iBACZ,EAED,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,IAHT,QAAQ,CAIb,CACH,CAAC;QACJ,CAAC,CACF,CAAC;IACJ,CAAC,EACD;QACE,WAAW;KACZ,CACF,CAAC;IAEF,MAAM,KAAK,GAAG,OAAO,CACnB,GAAG,EAAE;QACH,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC;QACvB,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC;QACvB,MAAM,EAAE,GAAG,KAAK,CAAC;QAEjB,MAAM,SAAS,GAAG,cAAc,EAAE,kBAAkB,EAAE,aAAa,EAAE,GAAG,CAAC;QAEzE,OAAO;YACL,SAAS;YACT,eAAe,EAAE,UAAU;YAC3B,MAAM,EAAE,CAAC;SACV,CAAC;IACJ,CAAC,EACD;QACE,SAAS,CAAC,CAAC;QACX,SAAS,CAAC,CAAC;QACX,KAAK;KACN,CACF,CAAC;IAEF,OAAO,CACL,cACE,SAAS,EAAC,mBAAmB,EAC7B,KAAK,EAAE,KAAK,YAEX,KAAK,GACF,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,WAAW,CAAC,WAAW,GAAG,8BAA8B,CAAC;AAEzD,eAAe,WAAW,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Edges as BaseEdges } from '../../base';
|
|
3
|
+
import { useScale, useTranslate } from '../../shared';
|
|
4
|
+
import Connections from './Connections';
|
|
5
|
+
const Edges = ({ children, ...props }) => {
|
|
6
|
+
const scale = useScale();
|
|
7
|
+
const translate = useTranslate();
|
|
8
|
+
return (_jsxs(_Fragment, { children: [_jsx(BaseEdges, { scale: scale, translate: translate, ...props, children: children }), _jsx(Connections, { scale: scale, translate: translate })] }));
|
|
9
|
+
};
|
|
10
|
+
Edges.displayName = 'LincleInteractiveEdges';
|
|
11
|
+
export { Edges };
|
|
12
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/Edges/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EACL,KAAK,IAAI,SAAS,EACnB,MAAM,YAAY,CAAC;AACpB,OAAO,EAEL,QAAQ,EACR,YAAY,EACb,MAAM,cAAc,CAAC;AACtB,OAAO,WAAW,MAAM,eAAe,CAAC;AAKxC,MAAM,KAAK,GAAkC,CAAC,EAC5C,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,EAAE;IACH,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;IACzB,MAAM,SAAS,GAAG,YAAY,EAAE,CAAC;IAEjC,OAAO,CACL,8BACE,KAAC,SAAS,IACR,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,SAAS,KAChB,KAAK,YAER,QAAQ,GACC,EACZ,KAAC,WAAW,IACV,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,SAAS,GACpB,IACD,CACJ,CAAC;AACJ,CAAC,CAAC;AAEF,KAAK,CAAC,WAAW,GAAG,wBAAwB,CAAC;AAE7C,OAAO,EACL,KAAK,EACN,CAAC"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Grid as GridBase } from '../../../base';
|
|
3
|
+
import { useMode, useScale, useTranslate } from '../../../shared';
|
|
4
|
+
import { useMemo } from 'react';
|
|
5
|
+
const WIDTH = 0.4;
|
|
6
|
+
const Grid = ({ children }) => {
|
|
7
|
+
const scale = useScale();
|
|
8
|
+
const translate = useTranslate();
|
|
9
|
+
const mode = useMode();
|
|
10
|
+
const line = useMemo(() => {
|
|
11
|
+
const t1 = 1 + scale;
|
|
12
|
+
const t2 = 4 * scale;
|
|
13
|
+
return (_jsx("line", { stroke: 'black', strokeWidth: WIDTH, x1: t1, x2: t2, y1: t1, y2: t2 }));
|
|
14
|
+
}, [
|
|
15
|
+
scale
|
|
16
|
+
]);
|
|
17
|
+
const plus = useMemo(() => {
|
|
18
|
+
const t1 = scale;
|
|
19
|
+
const t2 = 4 * scale;
|
|
20
|
+
return (_jsxs(_Fragment, { children: [_jsx("line", { stroke: 'black', strokeWidth: WIDTH, x1: t1, x2: t2, y1: t2, y2: t2 }), _jsx("line", { stroke: 'black', strokeWidth: WIDTH, x1: t2, x2: t2, y1: t1, y2: t2 })] }));
|
|
21
|
+
}, [
|
|
22
|
+
scale
|
|
23
|
+
]);
|
|
24
|
+
const circle = useMemo(() => {
|
|
25
|
+
const t2 = 4 * scale;
|
|
26
|
+
return (_jsx("circle", { cx: t2, cy: t2, fill: 'black', r: WIDTH }));
|
|
27
|
+
}, [
|
|
28
|
+
scale
|
|
29
|
+
]);
|
|
30
|
+
const child = useMemo(() => {
|
|
31
|
+
if (!children) {
|
|
32
|
+
switch (mode) {
|
|
33
|
+
case 'move': {
|
|
34
|
+
return circle;
|
|
35
|
+
}
|
|
36
|
+
case 'pull': {
|
|
37
|
+
return line;
|
|
38
|
+
}
|
|
39
|
+
case 'select': {
|
|
40
|
+
return plus;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
return children;
|
|
45
|
+
}, [
|
|
46
|
+
children,
|
|
47
|
+
circle,
|
|
48
|
+
line,
|
|
49
|
+
mode,
|
|
50
|
+
plus
|
|
51
|
+
]);
|
|
52
|
+
return (_jsx(GridBase, { scale: scale, xOffset: translate.x, yOffset: translate.y, children: child }));
|
|
53
|
+
};
|
|
54
|
+
Grid.displayName = 'LincleInteractiveGrid';
|
|
55
|
+
export default Grid;
|
|
56
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/components/Graph/Grid/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EACL,IAAI,IAAI,QAAQ,EACjB,MAAM,eAAe,CAAC;AACvB,OAAO,EAEL,OAAO,EACP,QAAQ,EACR,YAAY,EACb,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAEL,OAAO,EACR,MAAM,OAAO,CAAC;AAEf,MAAM,KAAK,GAAG,GAAG,CAAC;AAElB,MAAM,IAAI,GAAiC,CAAC,EAC1C,QAAQ,EACT,EAAE,EAAE;IACH,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;IACzB,MAAM,SAAS,GAAG,YAAY,EAAE,CAAC;IACjC,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;IAEvB,MAAM,IAAI,GAAG,OAAO,CAClB,GAAG,EAAE;QACH,MAAM,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC;QACrB,MAAM,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC;QAErB,OAAO,CACL,eACE,MAAM,EAAC,OAAO,EACd,WAAW,EAAE,KAAK,EAClB,EAAE,EAAE,EAAE,EACN,EAAE,EAAE,EAAE,EACN,EAAE,EAAE,EAAE,EACN,EAAE,EAAE,EAAE,GACN,CACH,CAAC;IACJ,CAAC,EACD;QACE,KAAK;KACN,CACF,CAAC;IAEF,MAAM,IAAI,GAAG,OAAO,CAClB,GAAG,EAAE;QACH,MAAM,EAAE,GAAG,KAAK,CAAC;QACjB,MAAM,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC;QAErB,OAAO,CACL,8BACE,eACE,MAAM,EAAC,OAAO,EACd,WAAW,EAAE,KAAK,EAClB,EAAE,EAAE,EAAE,EACN,EAAE,EAAE,EAAE,EACN,EAAE,EAAE,EAAE,EACN,EAAE,EAAE,EAAE,GACN,EACF,eACE,MAAM,EAAC,OAAO,EACd,WAAW,EAAE,KAAK,EAClB,EAAE,EAAE,EAAE,EACN,EAAE,EAAE,EAAE,EACN,EAAE,EAAE,EAAE,EACN,EAAE,EAAE,EAAE,GACN,IACD,CACJ,CAAC;IACJ,CAAC,EACD;QACE,KAAK;KACN,CACF,CAAC;IAEF,MAAM,MAAM,GAAG,OAAO,CACpB,GAAG,EAAE;QACH,MAAM,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC;QAErB,OAAO,CACL,iBACE,EAAE,EAAE,EAAE,EACN,EAAE,EAAE,EAAE,EACN,IAAI,EAAC,OAAO,EACZ,CAAC,EAAE,KAAK,GACR,CACH,CAAC;IACJ,CAAC,EACD;QACE,KAAK;KACN,CACF,CAAC;IAEF,MAAM,KAAK,GAAG,OAAO,CAEnB,GAAG,EAAE;QACH,IAAI,CAAC,QAAQ,EAAE,CAAC;YAEd,QAAQ,IAAI,EAAE,CAAC;gBACb,KAAK,MAAM,CAAC,CAAC,CAAC;oBACZ,OAAO,MAAM,CAAC;gBAChB,CAAC;gBAED,KAAK,MAAM,CAAC,CAAC,CAAC;oBACZ,OAAO,IAAI,CAAC;gBACd,CAAC;gBAED,KAAK,QAAQ,CAAC,CAAC,CAAC;oBACd,OAAO,IAAI,CAAC;gBACd,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC,EACD;QACE,QAAQ;QACR,MAAM;QACN,IAAI;QACJ,IAAI;QACJ,IAAI;KACL,CACF,CAAC;IAEF,OAAO,CACL,KAAC,QAAQ,IACP,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,SAAS,CAAC,CAAC,EACpB,OAAO,EAAE,SAAS,CAAC,CAAC,YAEnB,KAAK,GACG,CACZ,CAAC;AACJ,CAAC,CAAC;AAEF,IAAI,CAAC,WAAW,GAAG,uBAAuB,CAAC;AAE3C,eAAe,IAAI,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { GraphBase, Providers } from '../../shared';
|
|
3
|
+
import Interaction from '../Interaction';
|
|
4
|
+
import Grid from './Grid';
|
|
5
|
+
const Graph = ({ children, edgeFrequency, grid, id, line, maxScale, minScale, mode, move, nodeFrequency, nodeHeight, nodeWidth, onNodeDrag, onNodeEdgeDrop, onNodeSelect, onNodeStart, onNodeStop, onScale, onTranslate, pan, pull, scale, shape, showGrid, snap, translate, zoom }) => {
|
|
6
|
+
if (!id) {
|
|
7
|
+
console.error('No ID provided to @lincle/interactive Graph!');
|
|
8
|
+
return null;
|
|
9
|
+
}
|
|
10
|
+
const gird = showGrid === false ?
|
|
11
|
+
null :
|
|
12
|
+
_jsx(Grid, {});
|
|
13
|
+
return (_jsx(GraphBase, { edgeFrequency: edgeFrequency, grid: grid, id: id, line: line, nodeFrequency: nodeFrequency, nodeHeight: nodeHeight, nodeWidth: nodeWidth, shape: shape, showGrid: false, children: _jsxs(Providers, { maxScale: maxScale, minScale: minScale, mode: mode, move: move, onNodeDrag: onNodeDrag, onNodeEdgeDrop: onNodeEdgeDrop, onNodeSelect: onNodeSelect, onNodeStart: onNodeStart, onNodeStop: onNodeStop, onScale: onScale, onTranslate: onTranslate, pan: pan, pull: pull, scale: scale, snap: snap, translate: translate, zoom: zoom, children: [gird, _jsx(Interaction, {}), children] }) }));
|
|
14
|
+
};
|
|
15
|
+
Graph.displayName = 'LincleInteractiveGraph';
|
|
16
|
+
export { Graph };
|
|
17
|
+
export { default as Grid } from './Grid';
|
|
18
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/Graph/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EACL,SAAS,EAET,SAAS,EACV,MAAM,cAAc,CAAC;AACtB,OAAO,WAAW,MAAM,gBAAgB,CAAC;AACzC,OAAO,IAAI,MAAM,QAAQ,CAAC;AAK1B,MAAM,KAAK,GAAkC,CAAC,EAC5C,QAAQ,EACR,aAAa,EACb,IAAI,EACJ,EAAE,EACF,IAAI,EACJ,QAAQ,EACR,QAAQ,EACR,IAAI,EACJ,IAAI,EACJ,aAAa,EACb,UAAU,EACV,SAAS,EACT,UAAU,EACV,cAAc,EACd,YAAY,EACZ,WAAW,EACX,UAAU,EACV,OAAO,EACP,WAAW,EACX,GAAG,EACH,IAAI,EACJ,KAAK,EACL,KAAK,EACL,QAAQ,EACR,IAAI,EACJ,SAAS,EACT,IAAI,EACL,EAAE,EAAE;IACH,IACE,CAAC,EAAE,EACH,CAAC;QAED,OAAO,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;QAE9D,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,IAAI,GAAG,QAAQ,KAAK,KAAK,CAAC,CAAC;QAC/B,IAAI,CAAC,CAAC;QACN,KAAC,IAAI,KAAG,CAAC;IAEX,OAAO,CACL,KAAC,SAAS,IACR,aAAa,EAAE,aAAa,EAC5B,IAAI,EAAE,IAAI,EACV,EAAE,EAAE,EAAE,EACN,IAAI,EAAE,IAAI,EACV,aAAa,EAAE,aAAa,EAC5B,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,KAAK,YAEf,MAAC,SAAS,IACR,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,IAAI,EACV,UAAU,EAAE,UAAU,EACtB,cAAc,EAAE,cAAc,EAC9B,YAAY,EAAE,YAAY,EAC1B,WAAW,EAAE,WAAW,EACxB,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,WAAW,EACxB,GAAG,EAAE,GAAG,EACR,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,SAAS,EACpB,IAAI,EAAE,IAAI,aAET,IAAI,EACL,KAAC,WAAW,KAAG,EACd,QAAQ,IACC,GACF,CACb,CAAC;AACJ,CAAC,CAAC;AAEF,KAAK,CAAC,WAAW,GAAG,wBAAwB,CAAC;AAE7C,OAAO,EACL,KAAK,EACN,CAAC;AAEF,OAAO,EACL,OAAO,IAAI,IAAI,EAChB,MAAM,QAAQ,CAAC"}
|