@lincle/react-web-interactive 0.4.0-next.17 → 0.4.0-next.19
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.js → cjs/base.js} +1 -0
- package/dist/cjs/base.js.map +1 -0
- package/dist/{components → cjs/components}/Edge/Path/index.js +1 -0
- package/dist/cjs/components/Edge/Path/index.js.map +1 -0
- package/dist/{components → cjs/components}/Edge/index.js +1 -0
- package/dist/cjs/components/Edge/index.js.map +1 -0
- package/dist/{components → cjs/components}/Edges/Connections/index.js +6 -1
- package/dist/cjs/components/Edges/Connections/index.js.map +1 -0
- package/dist/cjs/components/Edges/index.js +18 -0
- package/dist/cjs/components/Edges/index.js.map +1 -0
- package/dist/{components → cjs/components}/Graph/Grid/index.js +1 -0
- package/dist/cjs/components/Graph/Grid/index.js.map +1 -0
- package/dist/{components → cjs/components}/Graph/index.js +1 -0
- package/dist/cjs/components/Graph/index.js.map +1 -0
- package/dist/{components → cjs/components}/Interaction/Controls/index.js +6 -6
- package/dist/cjs/components/Interaction/Controls/index.js.map +1 -0
- package/dist/{components → cjs/components}/Interaction/index.js +1 -0
- package/dist/cjs/components/Interaction/index.js.map +1 -0
- package/dist/{components → cjs/components}/Node/MoveNode/index.js +10 -3
- package/dist/cjs/components/Node/MoveNode/index.js.map +1 -0
- package/dist/{components → cjs/components}/Node/PullNode/index.js +14 -6
- package/dist/cjs/components/Node/PullNode/index.js.map +1 -0
- package/dist/{components → cjs/components}/Node/index.js +13 -13
- package/dist/cjs/components/Node/index.js.map +1 -0
- package/dist/{components → cjs/components}/Nodes/Interaction/index.js +1 -0
- package/dist/cjs/components/Nodes/Interaction/index.js.map +1 -0
- package/dist/cjs/components/Nodes/index.js +15 -0
- package/dist/cjs/components/Nodes/index.js.map +1 -0
- package/dist/{components → cjs/components}/index.js +1 -0
- package/dist/cjs/components/index.js.map +1 -0
- package/dist/{index.js → cjs/index.js} +1 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/{shared.js → cjs/shared.js} +1 -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 +26 -23
- package/dist/components/Edges/index.js +0 -29
- package/dist/components/Nodes/index.js +0 -26
- /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
|
@@ -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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"}
|
|
@@ -0,0 +1,65 @@
|
|
|
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';
|
|
4
|
+
const Interaction = ({ children }) => {
|
|
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) => {
|
|
11
|
+
if (onMode) {
|
|
12
|
+
onMode(changedMode);
|
|
13
|
+
}
|
|
14
|
+
}, [
|
|
15
|
+
onMode
|
|
16
|
+
]);
|
|
17
|
+
useEffect(() => {
|
|
18
|
+
if (givenMode) {
|
|
19
|
+
return () => {
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
const onKeyDown = (event) => {
|
|
23
|
+
keypress.current = true;
|
|
24
|
+
if (event.shiftKey) {
|
|
25
|
+
handleMode('pull');
|
|
26
|
+
}
|
|
27
|
+
else if (event.ctrlKey) {
|
|
28
|
+
handleMode('select');
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
const onKeyUp = (event) => {
|
|
32
|
+
keypress.current = false;
|
|
33
|
+
if (!event.shiftKey) {
|
|
34
|
+
handleMode('move');
|
|
35
|
+
}
|
|
36
|
+
else if (!event.ctrlKey) {
|
|
37
|
+
handleMode('move');
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
window.addEventListener('keydown', onKeyDown);
|
|
41
|
+
window.addEventListener('keyup', onKeyUp);
|
|
42
|
+
return () => {
|
|
43
|
+
keypress.current = false;
|
|
44
|
+
window.removeEventListener('keydown', onKeyDown);
|
|
45
|
+
window.removeEventListener('keyup', onKeyUp);
|
|
46
|
+
};
|
|
47
|
+
}, [
|
|
48
|
+
givenMode,
|
|
49
|
+
handleMode
|
|
50
|
+
]);
|
|
51
|
+
const style = useMemo(() => {
|
|
52
|
+
const { x, y } = translate;
|
|
53
|
+
return {
|
|
54
|
+
transform: `translateX(${x / scale}px) translateY(${y / scale}px)`,
|
|
55
|
+
zoom: scale
|
|
56
|
+
};
|
|
57
|
+
}, [
|
|
58
|
+
scale,
|
|
59
|
+
translate
|
|
60
|
+
]);
|
|
61
|
+
return (_jsx("div", { className: 'lincle-interactive-graph', children: _jsx("div", { className: 'lincle-interactive-transform', style: style, children: children }) }));
|
|
62
|
+
};
|
|
63
|
+
Interaction.displayName = 'LincleInteractiveInteraction';
|
|
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/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@lincle/react-web-interactive",
|
|
3
3
|
"title": "lincle react web interactive",
|
|
4
4
|
"license": "LGPL-3.0-or-later",
|
|
5
|
-
"version": "0.4.0-next.
|
|
5
|
+
"version": "0.4.0-next.19",
|
|
6
6
|
"private": false,
|
|
7
7
|
"description": "A 'reactive' React node and edge generator",
|
|
8
8
|
"author": "wallzero @wallzeroblog (http://wallzero.com)",
|
|
@@ -13,8 +13,9 @@
|
|
|
13
13
|
"position": "Initial and Lead Developer"
|
|
14
14
|
}
|
|
15
15
|
],
|
|
16
|
-
"main": "dist/index.js",
|
|
17
|
-
"
|
|
16
|
+
"main": "dist/cjs/index.js",
|
|
17
|
+
"module": "dist/esm/index.js",
|
|
18
|
+
"types": "dist/esm/index.d.ts",
|
|
18
19
|
"files": [
|
|
19
20
|
"dist/",
|
|
20
21
|
"COPYING.md",
|
|
@@ -30,7 +31,9 @@
|
|
|
30
31
|
},
|
|
31
32
|
"scripts": {
|
|
32
33
|
"build": "run-s clean:dist build:prod build:styles",
|
|
33
|
-
"build:prod": "
|
|
34
|
+
"build:prod": "run-p build:cjs:prod build:esm:prod",
|
|
35
|
+
"build:cjs:prod": "tsc -p ./tsconfig.cjs.json",
|
|
36
|
+
"build:esm:prod": "tsc -p ./tsconfig.json",
|
|
34
37
|
"build:watch": "run-s clean:dist build:prod build:styles build:watch:tsc",
|
|
35
38
|
"build:watch:tsc": "tsc -p ./tsconfig.json --watch --pretty --preserveWatchOutput",
|
|
36
39
|
"build:styles": "ncp src/styles.g.css dist/styles.g.css",
|
|
@@ -44,33 +47,33 @@
|
|
|
44
47
|
"clean:dist": "rimraf dist"
|
|
45
48
|
},
|
|
46
49
|
"devDependencies": {
|
|
47
|
-
"@digest/eslint-config-jest": "^4.14.
|
|
48
|
-
"@digest/eslint-config-react": "^4.14.
|
|
49
|
-
"@digest/eslint-config-typescript": "^4.14.
|
|
50
|
-
"@digest/jest-junit": "^4.14.
|
|
51
|
-
"@digest/jest-react": "^4.14.
|
|
52
|
-
"@digest/jest-typescript": "^4.14.
|
|
53
|
-
"@digest/stylelint-config": "^4.14.
|
|
54
|
-
"@digest/typescript": "^4.14.
|
|
50
|
+
"@digest/eslint-config-jest": "^4.14.16",
|
|
51
|
+
"@digest/eslint-config-react": "^4.14.16",
|
|
52
|
+
"@digest/eslint-config-typescript": "^4.14.16",
|
|
53
|
+
"@digest/jest-junit": "^4.14.16",
|
|
54
|
+
"@digest/jest-react": "^4.14.16",
|
|
55
|
+
"@digest/jest-typescript": "^4.14.16",
|
|
56
|
+
"@digest/stylelint-config": "^4.14.16",
|
|
57
|
+
"@digest/typescript": "^4.14.16",
|
|
55
58
|
"@types/jest": "^30.0.0",
|
|
56
|
-
"@types/node": "^25.0
|
|
57
|
-
"@types/react": "^19.2.
|
|
59
|
+
"@types/node": "^25.5.0",
|
|
60
|
+
"@types/react": "^19.2.14",
|
|
58
61
|
"@types/react-dom": "^19.2.3",
|
|
59
62
|
"@types/react-test-renderer": "^19.1.0",
|
|
60
63
|
"cross-env": "^10.1.0",
|
|
61
|
-
"jest-environment-jsdom": "^30.
|
|
64
|
+
"jest-environment-jsdom": "^30.3.0",
|
|
62
65
|
"jest-environment-jsdom-global": "^4.0.0",
|
|
63
66
|
"ncp": "^2.0.0",
|
|
64
67
|
"npm-run-all": "^4.1.5",
|
|
65
|
-
"react": "^19.2.
|
|
66
|
-
"react-dom": "^19.2.
|
|
67
|
-
"react-test-renderer": "^19.2.
|
|
68
|
-
"rimraf": "^6.1.
|
|
68
|
+
"react": "^19.2.4",
|
|
69
|
+
"react-dom": "^19.2.4",
|
|
70
|
+
"react-test-renderer": "^19.2.4",
|
|
71
|
+
"rimraf": "^6.1.3"
|
|
69
72
|
},
|
|
70
73
|
"dependencies": {
|
|
71
|
-
"@lincle/react-interactive-shared": "^0.4.0-next.
|
|
72
|
-
"@lincle/react-shared": "^0.4.0-next.
|
|
73
|
-
"@lincle/react-web-base": "^0.4.0-next.
|
|
74
|
+
"@lincle/react-interactive-shared": "^0.4.0-next.19",
|
|
75
|
+
"@lincle/react-shared": "^0.4.0-next.19",
|
|
76
|
+
"@lincle/react-web-base": "^0.4.0-next.19",
|
|
74
77
|
"react-draggable": "^4.5.0",
|
|
75
78
|
"react-map-interaction": "^2.1.0"
|
|
76
79
|
},
|
|
@@ -97,5 +100,5 @@
|
|
|
97
100
|
"dragndrop",
|
|
98
101
|
"drag"
|
|
99
102
|
],
|
|
100
|
-
"gitHead": "
|
|
103
|
+
"gitHead": "2fad97998449b857938e3788b8f265532a182b54"
|
|
101
104
|
}
|
|
@@ -1,29 +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
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
14
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.Edges = void 0;
|
|
18
|
-
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
19
|
-
const base_1 = require("../../base");
|
|
20
|
-
const shared_1 = require("../../shared");
|
|
21
|
-
const Connections_1 = __importDefault(require("./Connections"));
|
|
22
|
-
const Edges = (_a) => {
|
|
23
|
-
var { children } = _a, props = __rest(_a, ["children"]);
|
|
24
|
-
const scale = (0, shared_1.useScale)();
|
|
25
|
-
const translate = (0, shared_1.useTranslate)();
|
|
26
|
-
return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(base_1.Edges, Object.assign({ scale: scale, translate: translate }, props, { children: children })), (0, jsx_runtime_1.jsx)(Connections_1.default, { scale: scale, translate: translate })] }));
|
|
27
|
-
};
|
|
28
|
-
exports.Edges = Edges;
|
|
29
|
-
Edges.displayName = 'LincleInteractiveEdges';
|
|
@@ -1,26 +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
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
14
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.Nodes = void 0;
|
|
18
|
-
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
19
|
-
const base_1 = require("../../base");
|
|
20
|
-
const Interaction_1 = __importDefault(require("./Interaction"));
|
|
21
|
-
const Nodes = (_a) => {
|
|
22
|
-
var { children } = _a, props = __rest(_a, ["children"]);
|
|
23
|
-
return ((0, jsx_runtime_1.jsx)(Interaction_1.default, { children: (0, jsx_runtime_1.jsx)(base_1.Nodes, Object.assign({}, props, { children: children })) }));
|
|
24
|
-
};
|
|
25
|
-
exports.Nodes = Nodes;
|
|
26
|
-
Nodes.displayName = 'LincleInteractiveNodes';
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|