@lincle/react-web-interactive 0.4.0-next.2 → 0.4.0-next.4
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/base.d.ts +1 -1
- package/dist/base.js +1 -2
- package/dist/components/Edge/Path/index.d.ts +1 -0
- package/dist/components/{Path → Edge/Path}/index.js +1 -1
- package/dist/components/Edge/index.d.ts +2 -1
- package/dist/components/Edge/index.js +7 -2
- package/dist/components/Edges/Connections/index.d.ts +4 -0
- package/dist/components/Edges/Connections/index.js +37 -0
- package/dist/components/Edges/index.d.ts +4 -1
- package/dist/components/Edges/index.js +27 -3
- package/dist/components/{Grid → Graph/Grid}/index.d.ts +1 -1
- package/dist/components/Graph/Grid/index.js +57 -0
- package/dist/components/Graph/index.d.ts +2 -1
- package/dist/components/Graph/index.js +11 -6
- package/dist/components/Node/MoveNode/index.js +22 -3
- package/dist/components/Node/PullNode/index.js +60 -42
- package/dist/components/Node/index.d.ts +3 -1
- package/dist/components/Node/index.js +33 -19
- package/dist/components/{Interaction → Nodes/Interaction}/index.d.ts +1 -1
- package/dist/components/{Interaction → Nodes/Interaction}/index.js +78 -81
- package/dist/components/Nodes/index.d.ts +4 -1
- package/dist/components/Nodes/index.js +24 -3
- package/dist/components/index.d.ts +5 -9
- package/dist/components/index.js +18 -21
- package/dist/shared.d.ts +8 -12
- package/dist/shared.js +31 -15
- package/dist/styles.g.css +0 -105
- package/package.json +18 -20
- package/dist/components/GraphContexts/index.d.ts +0 -4
- package/dist/components/GraphContexts/index.js +0 -167
- package/dist/components/Grid/index.js +0 -13
- package/dist/components/Path/index.d.ts +0 -1
- package/dist/components/Pull/index.d.ts +0 -4
- package/dist/components/Pull/index.js +0 -153
|
@@ -1,167 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
7
|
-
const base_1 = require("../../base");
|
|
8
|
-
const shared_1 = require("../../shared");
|
|
9
|
-
const Grid_1 = __importDefault(require("../Grid"));
|
|
10
|
-
const react_1 = require("react");
|
|
11
|
-
const noGrid = [
|
|
12
|
-
1,
|
|
13
|
-
1
|
|
14
|
-
];
|
|
15
|
-
const GraphContexts = ({ children, disableMove = shared_1.disableMove, disablePan = shared_1.transformDefaults.disablePan, disablePull = shared_1.disablePull, disableScale = shared_1.transformDefaults.disableScale, edgeFrequency = shared_1.defaultSettings.edgeFrequency, grid: givenGrid, id, line = shared_1.defaultSettings.line, maxScale = shared_1.transformDefaults.maxScale, minScale = shared_1.transformDefaults.minScale, mode: givenMode, nodeFrequency = shared_1.defaultSettings.nodeFrequency, nodeHeight = shared_1.defaultSettings.height, nodeWidth = shared_1.defaultSettings.width, onEdgeDrop, onNodeDrag, onNodeSelect, onNodeStart, onNodeStop, onScale, onTranslate, scale: givenScale = shared_1.defaultScale, shape = shared_1.defaultSettings.shape, snap, xOffset = shared_1.translateDefaults.x, yOffset = shared_1.translateDefaults.y }) => {
|
|
16
|
-
const [nodeControls, setNodeControls] = (0, react_1.useState)({
|
|
17
|
-
onEdgeDrop,
|
|
18
|
-
onNodeDrag,
|
|
19
|
-
onNodeSelect,
|
|
20
|
-
onNodeStart,
|
|
21
|
-
onNodeStop
|
|
22
|
-
});
|
|
23
|
-
const NodeControls = (0, react_1.useMemo)(() => {
|
|
24
|
-
return {
|
|
25
|
-
onEdgeDrop,
|
|
26
|
-
onNodeDrag,
|
|
27
|
-
onNodeSelect,
|
|
28
|
-
onNodeStart,
|
|
29
|
-
onNodeStop,
|
|
30
|
-
setNodeControls
|
|
31
|
-
};
|
|
32
|
-
}, [
|
|
33
|
-
onEdgeDrop,
|
|
34
|
-
onNodeDrag,
|
|
35
|
-
onNodeSelect,
|
|
36
|
-
onNodeStart,
|
|
37
|
-
onNodeStop,
|
|
38
|
-
setNodeControls
|
|
39
|
-
]);
|
|
40
|
-
const transform = (0, react_1.useMemo)(() => {
|
|
41
|
-
return {
|
|
42
|
-
disablePan,
|
|
43
|
-
disableScale,
|
|
44
|
-
maxScale,
|
|
45
|
-
minScale
|
|
46
|
-
};
|
|
47
|
-
}, [
|
|
48
|
-
disablePan,
|
|
49
|
-
disableScale,
|
|
50
|
-
maxScale,
|
|
51
|
-
minScale
|
|
52
|
-
]);
|
|
53
|
-
const [mode, setMode] = (0, react_1.useState)(givenMode);
|
|
54
|
-
const handleMode = (0, react_1.useCallback)((newMode) => {
|
|
55
|
-
setMode(newMode);
|
|
56
|
-
}, []);
|
|
57
|
-
const Mode = (0, react_1.useMemo)(() => {
|
|
58
|
-
return {
|
|
59
|
-
disableMove,
|
|
60
|
-
disablePull,
|
|
61
|
-
givenMode,
|
|
62
|
-
mode,
|
|
63
|
-
onMode: handleMode
|
|
64
|
-
};
|
|
65
|
-
}, [
|
|
66
|
-
disableMove,
|
|
67
|
-
disablePull,
|
|
68
|
-
givenMode,
|
|
69
|
-
handleMode,
|
|
70
|
-
mode
|
|
71
|
-
]);
|
|
72
|
-
(0, react_1.useEffect)(() => {
|
|
73
|
-
handleMode(givenMode);
|
|
74
|
-
}, [
|
|
75
|
-
givenMode,
|
|
76
|
-
handleMode
|
|
77
|
-
]);
|
|
78
|
-
const [scale, setScale] = (0, react_1.useState)(givenScale);
|
|
79
|
-
const handleScale = (0, react_1.useCallback)((newScale) => {
|
|
80
|
-
if (onScale) {
|
|
81
|
-
onScale(newScale);
|
|
82
|
-
}
|
|
83
|
-
setScale(newScale);
|
|
84
|
-
}, [
|
|
85
|
-
onScale
|
|
86
|
-
]);
|
|
87
|
-
const Scale = (0, react_1.useMemo)(() => {
|
|
88
|
-
return {
|
|
89
|
-
onScale: handleScale,
|
|
90
|
-
scale
|
|
91
|
-
};
|
|
92
|
-
}, [
|
|
93
|
-
handleScale,
|
|
94
|
-
scale
|
|
95
|
-
]);
|
|
96
|
-
(0, react_1.useEffect)(() => {
|
|
97
|
-
setScale(givenScale);
|
|
98
|
-
}, [
|
|
99
|
-
givenScale
|
|
100
|
-
]);
|
|
101
|
-
const [translate, setTranslate] = (0, react_1.useState)({
|
|
102
|
-
x: xOffset,
|
|
103
|
-
y: yOffset
|
|
104
|
-
});
|
|
105
|
-
const handleTranslate = (0, react_1.useCallback)((newTranslate) => {
|
|
106
|
-
if (onTranslate) {
|
|
107
|
-
onTranslate(newTranslate);
|
|
108
|
-
}
|
|
109
|
-
setTranslate(newTranslate);
|
|
110
|
-
}, [
|
|
111
|
-
onTranslate
|
|
112
|
-
]);
|
|
113
|
-
const Translate = (0, react_1.useMemo)(() => {
|
|
114
|
-
return {
|
|
115
|
-
onTranslate: handleTranslate,
|
|
116
|
-
translate
|
|
117
|
-
};
|
|
118
|
-
}, [
|
|
119
|
-
handleTranslate,
|
|
120
|
-
translate
|
|
121
|
-
]);
|
|
122
|
-
(0, react_1.useEffect)(() => {
|
|
123
|
-
setTranslate({
|
|
124
|
-
x: xOffset,
|
|
125
|
-
y: yOffset
|
|
126
|
-
});
|
|
127
|
-
}, [
|
|
128
|
-
xOffset,
|
|
129
|
-
yOffset
|
|
130
|
-
]);
|
|
131
|
-
const grid = (0, react_1.useMemo)(() => {
|
|
132
|
-
var _a;
|
|
133
|
-
return (_a = (givenGrid === false ?
|
|
134
|
-
noGrid :
|
|
135
|
-
givenGrid)) !== null && _a !== void 0 ? _a : shared_1.defaultSettings.grid;
|
|
136
|
-
}, [
|
|
137
|
-
givenGrid
|
|
138
|
-
]);
|
|
139
|
-
const derivedSnap = (0, react_1.useMemo)(() => {
|
|
140
|
-
if (snap === undefined) {
|
|
141
|
-
return givenGrid === undefined ?
|
|
142
|
-
noGrid :
|
|
143
|
-
grid;
|
|
144
|
-
}
|
|
145
|
-
if (snap === false) {
|
|
146
|
-
return noGrid;
|
|
147
|
-
}
|
|
148
|
-
if (snap === true) {
|
|
149
|
-
return grid;
|
|
150
|
-
}
|
|
151
|
-
return snap;
|
|
152
|
-
}, [
|
|
153
|
-
givenGrid,
|
|
154
|
-
grid,
|
|
155
|
-
snap
|
|
156
|
-
]);
|
|
157
|
-
const hiddenGrid = givenGrid === false ?
|
|
158
|
-
null :
|
|
159
|
-
((0, jsx_runtime_1.jsx)(Grid_1.default, {}));
|
|
160
|
-
const staticContexts = ((0, jsx_runtime_1.jsx)(shared_1.NodeContext.Provider, { value: NodeControls, children: (0, jsx_runtime_1.jsx)(shared_1.SnapContext.Provider, { value: derivedSnap, children: (0, jsx_runtime_1.jsx)(shared_1.TransformContext.Provider, { value: transform, children: (0, jsx_runtime_1.jsx)(shared_1.ModeContext.Provider, { value: Mode, children: (0, jsx_runtime_1.jsx)(shared_1.ScaleContext.Provider, { value: Scale, children: (0, jsx_runtime_1.jsxs)(shared_1.TranslateContext.Provider, { value: Translate, children: [hiddenGrid, children] }) }) }) }) }) }));
|
|
161
|
-
const gridContext = givenGrid === false ?
|
|
162
|
-
staticContexts :
|
|
163
|
-
((0, jsx_runtime_1.jsx)(shared_1.GridContext.Provider, { value: givenGrid !== null && givenGrid !== void 0 ? givenGrid : shared_1.defaultSettings.grid, children: staticContexts }));
|
|
164
|
-
return ((0, jsx_runtime_1.jsx)(base_1.GraphContexts, { edgeFrequency: edgeFrequency, grid: false, id: id, line: line, nodeFrequency: nodeFrequency, nodeHeight: nodeHeight, nodeWidth: nodeWidth, shape: shape, children: gridContext }));
|
|
165
|
-
};
|
|
166
|
-
GraphContexts.displayName = 'LincleInteractiveGraphContexts';
|
|
167
|
-
exports.default = GraphContexts;
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
4
|
-
const base_1 = require("../../base");
|
|
5
|
-
const shared_1 = require("../../shared");
|
|
6
|
-
const react_1 = require("react");
|
|
7
|
-
const Grid = ({ children }) => {
|
|
8
|
-
const { scale } = (0, react_1.useContext)(shared_1.ScaleContext);
|
|
9
|
-
const { translate } = (0, react_1.useContext)(shared_1.TranslateContext);
|
|
10
|
-
return ((0, jsx_runtime_1.jsx)(base_1.Grid, { scale: scale, xOffset: translate.x, yOffset: translate.y, children: children }));
|
|
11
|
-
};
|
|
12
|
-
Grid.displayName = 'LincleInteractiveGrid';
|
|
13
|
-
exports.default = Grid;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { Path as default } from '../../base';
|
|
@@ -1,153 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __rest = (this && this.__rest) || function (s, e) {
|
|
3
|
-
var t = {};
|
|
4
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
5
|
-
t[p] = s[p];
|
|
6
|
-
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
7
|
-
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
8
|
-
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
9
|
-
t[p[i]] = s[p[i]];
|
|
10
|
-
}
|
|
11
|
-
return t;
|
|
12
|
-
};
|
|
13
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
-
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
15
|
-
const base_1 = require("../../base");
|
|
16
|
-
const shared_1 = require("../../shared");
|
|
17
|
-
const react_1 = require("react");
|
|
18
|
-
const emptyTranslation = [
|
|
19
|
-
undefined,
|
|
20
|
-
undefined
|
|
21
|
-
];
|
|
22
|
-
const Pull = (_a, ref) => {
|
|
23
|
-
var _b, _c, _d, _e, _f, _g;
|
|
24
|
-
var { className = '', diagramId, height = 0, line: givenLine, markerEnd, markerStart, onDrag, path, shape: givenShape, sourceId, style, width = 0, x: givenX, y: givenY } = _a, additionalProps = __rest(_a, ["className", "diagramId", "height", "line", "markerEnd", "markerStart", "onDrag", "path", "shape", "sourceId", "style", "width", "x", "y"]);
|
|
25
|
-
const defaultLine = (_c = (_b = (0, react_1.useContext)(shared_1.GraphContext)) === null || _b === void 0 ? void 0 : _b.defaultSettings) === null || _c === void 0 ? void 0 : _c.line;
|
|
26
|
-
const defaultShape = (_e = (_d = (0, react_1.useContext)(shared_1.GraphContext)) === null || _d === void 0 ? void 0 : _d.defaultSettings) === null || _e === void 0 ? void 0 : _e.shape;
|
|
27
|
-
const line = (_f = givenLine !== null && givenLine !== void 0 ? givenLine : defaultLine) !== null && _f !== void 0 ? _f : shared_1.defaultSettings.line;
|
|
28
|
-
const shape = (_g = givenShape !== null && givenShape !== void 0 ? givenShape : defaultShape) !== null && _g !== void 0 ? _g : shared_1.defaultSettings.shape;
|
|
29
|
-
const { x, y } = (0, react_1.useMemo)(() => {
|
|
30
|
-
var _a, _b, _c, _d;
|
|
31
|
-
if (!(givenX || givenY)) {
|
|
32
|
-
const getNumber = /(-?\d+(\.\d+)?)/ug;
|
|
33
|
-
const [translateX, translateY] = ((_a = style === null || style === void 0 ? void 0 : style.pull) === null || _a === void 0 ? void 0 : _a.transform) ?
|
|
34
|
-
(_b = style.pull.transform.match(getNumber)) !== null && _b !== void 0 ? _b : emptyTranslation :
|
|
35
|
-
emptyTranslation;
|
|
36
|
-
const left = ((_c = style === null || style === void 0 ? void 0 : style.pull) === null || _c === void 0 ? void 0 : _c.left) ?
|
|
37
|
-
style.pull.left :
|
|
38
|
-
undefined;
|
|
39
|
-
const top = ((_d = style === null || style === void 0 ? void 0 : style.pull) === null || _d === void 0 ? void 0 : _d.top) ?
|
|
40
|
-
style.pull.top :
|
|
41
|
-
undefined;
|
|
42
|
-
return {
|
|
43
|
-
x: Number(translateX) || Number(left) || 0,
|
|
44
|
-
y: Number(translateY) || Number(top) || 0
|
|
45
|
-
};
|
|
46
|
-
}
|
|
47
|
-
return {
|
|
48
|
-
x: givenX !== null && givenX !== void 0 ? givenX : 0,
|
|
49
|
-
y: givenY !== null && givenY !== void 0 ? givenY : 0
|
|
50
|
-
};
|
|
51
|
-
}, [
|
|
52
|
-
givenX,
|
|
53
|
-
givenY,
|
|
54
|
-
style
|
|
55
|
-
]);
|
|
56
|
-
const start = (0, react_1.useRef)({
|
|
57
|
-
x,
|
|
58
|
-
y
|
|
59
|
-
});
|
|
60
|
-
const position = (0, react_1.useRef)({
|
|
61
|
-
moved: false,
|
|
62
|
-
x,
|
|
63
|
-
y
|
|
64
|
-
});
|
|
65
|
-
position.current = {
|
|
66
|
-
moved: x !== start.current.x ||
|
|
67
|
-
y !== start.current.y,
|
|
68
|
-
x,
|
|
69
|
-
y
|
|
70
|
-
};
|
|
71
|
-
const adjustedStyle = (0, react_1.useMemo)(() => {
|
|
72
|
-
var _a;
|
|
73
|
-
const transform = ((_a = style === null || style === void 0 ? void 0 : style.pull) === null || _a === void 0 ? void 0 : _a.transform) ?
|
|
74
|
-
style.pull.transform :
|
|
75
|
-
`translate(${x}px, ${y}px)`;
|
|
76
|
-
return Object.assign(Object.assign(Object.assign({}, style), position.current.moved ?
|
|
77
|
-
undefined :
|
|
78
|
-
{
|
|
79
|
-
height,
|
|
80
|
-
width
|
|
81
|
-
}), { transform });
|
|
82
|
-
}, [
|
|
83
|
-
height,
|
|
84
|
-
style,
|
|
85
|
-
width,
|
|
86
|
-
x,
|
|
87
|
-
y
|
|
88
|
-
]);
|
|
89
|
-
const source = (0, react_1.useMemo)(() => {
|
|
90
|
-
return {
|
|
91
|
-
height,
|
|
92
|
-
id: sourceId,
|
|
93
|
-
shape,
|
|
94
|
-
width,
|
|
95
|
-
x: start.current.x,
|
|
96
|
-
y: start.current.y
|
|
97
|
-
};
|
|
98
|
-
}, [
|
|
99
|
-
height,
|
|
100
|
-
shape,
|
|
101
|
-
sourceId,
|
|
102
|
-
width
|
|
103
|
-
]);
|
|
104
|
-
const target = (0, react_1.useMemo)(() => {
|
|
105
|
-
return {
|
|
106
|
-
height: 0,
|
|
107
|
-
id: '',
|
|
108
|
-
shape: 'rectangle',
|
|
109
|
-
width: 0,
|
|
110
|
-
x,
|
|
111
|
-
y
|
|
112
|
-
};
|
|
113
|
-
}, [
|
|
114
|
-
x,
|
|
115
|
-
y
|
|
116
|
-
]);
|
|
117
|
-
const markerId = (0, react_1.useMemo)(() => {
|
|
118
|
-
return diagramId ?
|
|
119
|
-
`${diagramId}-` :
|
|
120
|
-
'';
|
|
121
|
-
}, [
|
|
122
|
-
diagramId
|
|
123
|
-
]);
|
|
124
|
-
const svg = (0, react_1.useMemo)(() => {
|
|
125
|
-
if (position.current.moved) {
|
|
126
|
-
if (path) {
|
|
127
|
-
return path('potential', source, target);
|
|
128
|
-
}
|
|
129
|
-
return ((0, jsx_runtime_1.jsx)(base_1.Path, { id: 'potential', line: line, markerEnd: markerEnd || diagramId ?
|
|
130
|
-
`url(#diagram-${markerId}marker-arrow)` :
|
|
131
|
-
undefined, markerStart: markerStart || diagramId ?
|
|
132
|
-
`url(#diagram-${markerId}marker-circle)` :
|
|
133
|
-
undefined, source: source, target: target }));
|
|
134
|
-
}
|
|
135
|
-
return null;
|
|
136
|
-
}, [
|
|
137
|
-
diagramId,
|
|
138
|
-
line,
|
|
139
|
-
markerEnd,
|
|
140
|
-
markerId,
|
|
141
|
-
markerStart,
|
|
142
|
-
path,
|
|
143
|
-
source,
|
|
144
|
-
target
|
|
145
|
-
]);
|
|
146
|
-
return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("div", Object.assign({ className: `${className} ${position.current.moved ?
|
|
147
|
-
'lincle-interactive-moved' :
|
|
148
|
-
'lincle-interactive-hidden'} lincle-interactive-drag`, onDrag: onDrag, ref: ref, style: adjustedStyle }, additionalProps)), (0, jsx_runtime_1.jsx)("svg", { className: position.current.moved ?
|
|
149
|
-
'' :
|
|
150
|
-
'lincle-interactive-hidden', children: svg })] }));
|
|
151
|
-
};
|
|
152
|
-
Pull.displayName = 'LincleInteractivePull';
|
|
153
|
-
exports.default = (0, react_1.forwardRef)(Pull);
|