@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.
Files changed (34) hide show
  1. package/dist/base.d.ts +1 -1
  2. package/dist/base.js +1 -2
  3. package/dist/components/Edge/Path/index.d.ts +1 -0
  4. package/dist/components/{Path → Edge/Path}/index.js +1 -1
  5. package/dist/components/Edge/index.d.ts +2 -1
  6. package/dist/components/Edge/index.js +7 -2
  7. package/dist/components/Edges/Connections/index.d.ts +4 -0
  8. package/dist/components/Edges/Connections/index.js +37 -0
  9. package/dist/components/Edges/index.d.ts +4 -1
  10. package/dist/components/Edges/index.js +27 -3
  11. package/dist/components/{Grid → Graph/Grid}/index.d.ts +1 -1
  12. package/dist/components/Graph/Grid/index.js +57 -0
  13. package/dist/components/Graph/index.d.ts +2 -1
  14. package/dist/components/Graph/index.js +11 -6
  15. package/dist/components/Node/MoveNode/index.js +22 -3
  16. package/dist/components/Node/PullNode/index.js +60 -42
  17. package/dist/components/Node/index.d.ts +3 -1
  18. package/dist/components/Node/index.js +33 -19
  19. package/dist/components/{Interaction → Nodes/Interaction}/index.d.ts +1 -1
  20. package/dist/components/{Interaction → Nodes/Interaction}/index.js +78 -81
  21. package/dist/components/Nodes/index.d.ts +4 -1
  22. package/dist/components/Nodes/index.js +24 -3
  23. package/dist/components/index.d.ts +5 -9
  24. package/dist/components/index.js +18 -21
  25. package/dist/shared.d.ts +8 -12
  26. package/dist/shared.js +31 -15
  27. package/dist/styles.g.css +0 -105
  28. package/package.json +18 -20
  29. package/dist/components/GraphContexts/index.d.ts +0 -4
  30. package/dist/components/GraphContexts/index.js +0 -167
  31. package/dist/components/Grid/index.js +0 -13
  32. package/dist/components/Path/index.d.ts +0 -1
  33. package/dist/components/Pull/index.d.ts +0 -4
  34. 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,4 +0,0 @@
1
- /// <reference types="react" />
2
- import { type PullProps } from '../../shared';
3
- declare const _default: import("react").ForwardRefExoticComponent<Omit<PullProps, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
4
- export default _default;
@@ -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);