@lincle/react-web-interactive 0.4.0-next.16 → 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.
Files changed (99) hide show
  1. package/dist/cjs/base.js +2 -0
  2. package/dist/cjs/base.js.map +1 -0
  3. package/dist/cjs/components/Edge/Path/index.js +2 -0
  4. package/dist/cjs/components/Edge/Path/index.js.map +1 -0
  5. package/dist/cjs/components/Edge/index.js +3 -0
  6. package/dist/cjs/components/Edge/index.js.map +1 -0
  7. package/dist/cjs/components/Edges/Connections/index.js +44 -0
  8. package/dist/cjs/components/Edges/Connections/index.js.map +1 -0
  9. package/dist/cjs/components/Edges/index.js +12 -0
  10. package/dist/cjs/components/Edges/index.js.map +1 -0
  11. package/dist/cjs/components/Graph/Grid/index.js +56 -0
  12. package/dist/cjs/components/Graph/Grid/index.js.map +1 -0
  13. package/dist/cjs/components/Graph/index.js +18 -0
  14. package/dist/cjs/components/Graph/index.js.map +1 -0
  15. package/dist/{components → cjs/components}/Interaction/Controls/index.js +21 -23
  16. package/dist/cjs/components/Interaction/Controls/index.js.map +1 -0
  17. package/dist/cjs/components/Interaction/index.js +95 -0
  18. package/dist/cjs/components/Interaction/index.js.map +1 -0
  19. package/dist/{components → cjs/components}/Node/MoveNode/index.js +34 -29
  20. package/dist/cjs/components/Node/MoveNode/index.js.map +1 -0
  21. package/dist/{components → cjs/components}/Node/PullNode/index.js +31 -25
  22. package/dist/cjs/components/Node/PullNode/index.js.map +1 -0
  23. package/dist/cjs/components/Node/index.js +135 -0
  24. package/dist/cjs/components/Node/index.js.map +1 -0
  25. package/dist/{components → cjs/components}/Nodes/Interaction/index.js +16 -16
  26. package/dist/cjs/components/Nodes/Interaction/index.js.map +1 -0
  27. package/dist/cjs/components/Nodes/index.js +9 -0
  28. package/dist/cjs/components/Nodes/index.js.map +1 -0
  29. package/dist/cjs/components/index.js +6 -0
  30. package/dist/cjs/components/index.js.map +1 -0
  31. package/dist/cjs/index.js +3 -0
  32. package/dist/cjs/index.js.map +1 -0
  33. package/dist/cjs/shared.js +3 -0
  34. package/dist/cjs/shared.js.map +1 -0
  35. package/dist/esm/base.js +2 -0
  36. package/dist/esm/base.js.map +1 -0
  37. package/dist/esm/components/Edge/Path/index.js +2 -0
  38. package/dist/esm/components/Edge/Path/index.js.map +1 -0
  39. package/dist/esm/components/Edge/index.js +3 -0
  40. package/dist/esm/components/Edge/index.js.map +1 -0
  41. package/dist/esm/components/Edges/Connections/index.js +44 -0
  42. package/dist/esm/components/Edges/Connections/index.js.map +1 -0
  43. package/dist/esm/components/Edges/index.js +12 -0
  44. package/dist/esm/components/Edges/index.js.map +1 -0
  45. package/dist/esm/components/Graph/Grid/index.js +56 -0
  46. package/dist/esm/components/Graph/Grid/index.js.map +1 -0
  47. package/dist/esm/components/Graph/index.js +18 -0
  48. package/dist/esm/components/Graph/index.js.map +1 -0
  49. package/dist/esm/components/Interaction/Controls/index.js +126 -0
  50. package/dist/esm/components/Interaction/Controls/index.js.map +1 -0
  51. package/dist/esm/components/Interaction/index.js +95 -0
  52. package/dist/esm/components/Interaction/index.js.map +1 -0
  53. package/dist/esm/components/Node/MoveNode/index.js +188 -0
  54. package/dist/esm/components/Node/MoveNode/index.js.map +1 -0
  55. package/dist/esm/components/Node/PullNode/index.js +114 -0
  56. package/dist/esm/components/Node/PullNode/index.js.map +1 -0
  57. package/dist/esm/components/Node/index.js +135 -0
  58. package/dist/esm/components/Node/index.js.map +1 -0
  59. package/dist/esm/components/Nodes/Interaction/index.js +65 -0
  60. package/dist/esm/components/Nodes/Interaction/index.js.map +1 -0
  61. package/dist/esm/components/Nodes/index.js +9 -0
  62. package/dist/esm/components/Nodes/index.js.map +1 -0
  63. package/dist/esm/components/index.js +6 -0
  64. package/dist/esm/components/index.js.map +1 -0
  65. package/dist/esm/index.js +3 -0
  66. package/dist/esm/index.js.map +1 -0
  67. package/dist/esm/shared.js +3 -0
  68. package/dist/esm/shared.js.map +1 -0
  69. package/package.json +30 -27
  70. package/dist/base.js +0 -11
  71. package/dist/components/Edge/Path/index.js +0 -5
  72. package/dist/components/Edge/index.js +0 -10
  73. package/dist/components/Edges/Connections/index.js +0 -37
  74. package/dist/components/Edges/index.js +0 -29
  75. package/dist/components/Graph/Grid/index.js +0 -57
  76. package/dist/components/Graph/index.js +0 -24
  77. package/dist/components/Interaction/index.js +0 -99
  78. package/dist/components/Node/index.js +0 -143
  79. package/dist/components/Nodes/index.js +0 -26
  80. package/dist/components/index.js +0 -21
  81. package/dist/index.js +0 -18
  82. package/dist/shared.js +0 -34
  83. /package/dist/{base.d.ts → esm/base.d.ts} +0 -0
  84. /package/dist/{components → esm/components}/Edge/Path/index.d.ts +0 -0
  85. /package/dist/{components → esm/components}/Edge/index.d.ts +0 -0
  86. /package/dist/{components → esm/components}/Edges/Connections/index.d.ts +0 -0
  87. /package/dist/{components → esm/components}/Edges/index.d.ts +0 -0
  88. /package/dist/{components → esm/components}/Graph/Grid/index.d.ts +0 -0
  89. /package/dist/{components → esm/components}/Graph/index.d.ts +0 -0
  90. /package/dist/{components → esm/components}/Interaction/Controls/index.d.ts +0 -0
  91. /package/dist/{components → esm/components}/Interaction/index.d.ts +0 -0
  92. /package/dist/{components → esm/components}/Node/MoveNode/index.d.ts +0 -0
  93. /package/dist/{components → esm/components}/Node/PullNode/index.d.ts +0 -0
  94. /package/dist/{components → esm/components}/Node/index.d.ts +0 -0
  95. /package/dist/{components → esm/components}/Nodes/Interaction/index.d.ts +0 -0
  96. /package/dist/{components → esm/components}/Nodes/index.d.ts +0 -0
  97. /package/dist/{components → esm/components}/index.d.ts +0 -0
  98. /package/dist/{index.d.ts → esm/index.d.ts} +0 -0
  99. /package/dist/{shared.d.ts → esm/shared.d.ts} +0 -0
@@ -0,0 +1,2 @@
1
+ export { Edge, Edges, Graph, Grid, Node, Nodes, Path } from '@lincle/react-web-base';
2
+ //# sourceMappingURL=base.js.map
@@ -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,2 @@
1
+ export { Path as default } from '../../../base';
2
+ //# sourceMappingURL=index.js.map
@@ -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,3 @@
1
+ export { Edge } from '../../base';
2
+ export { default as Path } from './Path';
3
+ //# sourceMappingURL=index.js.map
@@ -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"}
@@ -1,12 +1,10 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const jsx_runtime_1 = require("react/jsx-runtime");
4
- const shared_1 = require("../../../shared");
5
- const react_1 = require("react");
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { useMode, useOnMode } from '../../../shared';
3
+ import { useCallback, useEffect, useRef } from 'react';
6
4
  const CLICK_TIME = 500;
7
5
  const useDoubleTap = () => {
8
- const timer = (0, react_1.useRef)(undefined);
9
- (0, react_1.useEffect)(() => {
6
+ const timer = useRef(undefined);
7
+ useEffect(() => {
10
8
  return () => {
11
9
  if (timer.current) {
12
10
  clearTimeout(timer.current);
@@ -14,7 +12,7 @@ const useDoubleTap = () => {
14
12
  }
15
13
  };
16
14
  }, []);
17
- return (0, react_1.useCallback)((callback, threshold = CLICK_TIME) => {
15
+ return useCallback((callback, threshold = CLICK_TIME) => {
18
16
  if (timer.current) {
19
17
  clearTimeout(timer.current);
20
18
  timer.current = undefined;
@@ -29,17 +27,16 @@ const useDoubleTap = () => {
29
27
  }, []);
30
28
  };
31
29
  const Controls = ({ onMouseDown, onMouseUp, onTouchEnd, onTouchStart }) => {
32
- var _a;
33
- const graphMode = (_a = (0, shared_1.useMode)()) !== null && _a !== void 0 ? _a : 'move';
34
- const onMode = (0, shared_1.useOnMode)();
35
- const pointerPosition = (0, react_1.useRef)({
30
+ const graphMode = useMode() ?? 'move';
31
+ const onMode = useOnMode();
32
+ const pointerPosition = useRef({
36
33
  mouse: {
37
34
  x: 0,
38
35
  y: 0
39
36
  }
40
37
  });
41
38
  const handleDoubleTap = useDoubleTap();
42
- const handleTapEnd = (0, react_1.useCallback)(() => {
39
+ const handleTapEnd = useCallback(() => {
43
40
  if (onMode) {
44
41
  switch (graphMode) {
45
42
  case 'move': {
@@ -66,7 +63,7 @@ const Controls = ({ onMouseDown, onMouseUp, onTouchEnd, onTouchStart }) => {
66
63
  handleDoubleTap,
67
64
  onMode
68
65
  ]);
69
- const handleMouseDown = (0, react_1.useCallback)((event) => {
66
+ const handleMouseDown = useCallback((event) => {
70
67
  pointerPosition.current = {
71
68
  mouse: {
72
69
  x: event.clientX,
@@ -79,9 +76,9 @@ const Controls = ({ onMouseDown, onMouseUp, onTouchEnd, onTouchStart }) => {
79
76
  }, [
80
77
  onMouseDown
81
78
  ]);
82
- const handleMouseUp = (0, react_1.useCallback)((event) => {
83
- if (pointerPosition.current.mouse.x === Math.round(event.clientX) &&
84
- pointerPosition.current.mouse.y === Math.round(event.clientY)) {
79
+ const handleMouseUp = useCallback((event) => {
80
+ if (pointerPosition.current['mouse']?.x === Math.round(event.clientX) &&
81
+ pointerPosition.current['mouse']?.y === Math.round(event.clientY)) {
85
82
  handleTapEnd();
86
83
  }
87
84
  if (onMouseUp) {
@@ -91,7 +88,7 @@ const Controls = ({ onMouseDown, onMouseUp, onTouchEnd, onTouchStart }) => {
91
88
  handleTapEnd,
92
89
  onMouseUp
93
90
  ]);
94
- const handleTouchStart = (0, react_1.useCallback)((event) => {
91
+ const handleTouchStart = useCallback((event) => {
95
92
  for (const [index, touch] of Object.entries(event.changedTouches)) {
96
93
  pointerPosition.current[touch.identifier] = {
97
94
  x: touch.clientX,
@@ -104,11 +101,11 @@ const Controls = ({ onMouseDown, onMouseUp, onTouchEnd, onTouchStart }) => {
104
101
  }, [
105
102
  onTouchStart
106
103
  ]);
107
- const handleTouchEnd = (0, react_1.useCallback)((event) => {
104
+ const handleTouchEnd = useCallback((event) => {
108
105
  let shouldHandleTapEnd = false;
109
106
  for (const [index, touch] of Object.entries(event.changedTouches)) {
110
- if (pointerPosition.current[touch.identifier].x === touch.clientX &&
111
- pointerPosition.current[touch.identifier].y === touch.clientY) {
107
+ if (pointerPosition.current[touch.identifier]?.x === touch.clientX &&
108
+ pointerPosition.current[touch.identifier]?.y === touch.clientY) {
112
109
  shouldHandleTapEnd = true;
113
110
  }
114
111
  }
@@ -122,7 +119,8 @@ const Controls = ({ onMouseDown, onMouseUp, onTouchEnd, onTouchStart }) => {
122
119
  handleTapEnd,
123
120
  onTouchEnd
124
121
  ]);
125
- return ((0, jsx_runtime_1.jsx)("div", { className: 'lincle-interactive-container', onMouseDown: handleMouseDown, onMouseUp: handleMouseUp, onTouchEnd: handleTouchEnd, onTouchStart: handleTouchStart, role: 'none' }));
122
+ return (_jsx("div", { className: 'lincle-interactive-container', onMouseDown: handleMouseDown, onMouseUp: handleMouseUp, onTouchEnd: handleTouchEnd, onTouchStart: handleTouchStart, role: 'none' }));
126
123
  };
127
124
  Controls.displayName = 'LincleInteractiveControls';
128
- exports.default = Controls;
125
+ export default Controls;
126
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/components/Interaction/Controls/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAEL,OAAO,EACP,SAAS,EACV,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAIL,WAAW,EACX,SAAS,EACT,MAAM,EACP,MAAM,OAAO,CAAC;AAEf,MAAM,UAAU,GAAG,GAAG,CAAC;AAEvB,MAAM,YAAY,GAAG,GAAG,EAAE;IACxB,MAAM,KAAK,GAAG,MAAM,CAAS,SAAS,CAAC,CAAC;IAExC,SAAS,CACP,GAAG,EAAE;QACH,OAAO,GAAG,EAAE;YACV,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;gBAClB,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBAC5B,KAAK,CAAC,OAAO,GAAG,SAAS,CAAC;YAC5B,CAAC;QACH,CAAC,CAAC;IACJ,CAAC,EACD,EAAE,CACH,CAAC;IAEF,OAAO,WAAW,CAChB,CACE,QAAoB,EAEpB,SAAS,GAAG,UAAU,EACtB,EAAE;QACF,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YAClB,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC5B,KAAK,CAAC,OAAO,GAAG,SAAS,CAAC;YAG1B,QAAQ,EAAE,CAAC;QACb,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,OAAO,GAAG,UAAU,CACxB,GAAG,EAAE;gBACH,KAAK,CAAC,OAAO,GAAG,SAAS,CAAC;YAC5B,CAAC,EACD,SAAS,CACV,CAAC;YAGF,OAAO;QACT,CAAC;IACH,CAAC,EACD,EAAE,CACH,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,QAAQ,GAA+C,CAAC,EAC5D,WAAW,EACX,SAAS,EACT,UAAU,EACV,YAAY,EACb,EAAE,EAAE;IACH,MAAM,SAAS,GAAG,OAAO,EAAE,IAAI,MAAM,CAAC;IACtC,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAE3B,MAAM,eAAe,GAAG,MAAM,CAM5B;QACE,KAAK,EAAE;YACL,CAAC,EAAE,CAAC;YACJ,CAAC,EAAE,CAAC;SACL;KACF,CACF,CAAC;IAEF,MAAM,eAAe,GAAG,YAAY,EAAE,CAAC;IAEvC,MAAM,YAAY,GAAG,WAAW,CAC9B,GAAG,EAAE;QACH,IAAI,MAAM,EAAE,CAAC;YACX,QAAQ,SAAS,EAAE,CAAC;gBAClB,KAAK,MAAM,CAAC,CAAC,CAAC;oBACZ,eAAe,CACb,GAAG,EAAE;wBACH,MAAM,CAAC,MAAM,CAAC,CAAC;oBACjB,CAAC,CACF,CAAC;oBAEF,OAAO;gBACT,CAAC;gBAED,KAAK,MAAM,CAAC,CAAC,CAAC;oBACZ,eAAe,CACb,GAAG,EAAE;wBACH,MAAM,CAAC,QAAQ,CAAC,CAAC;oBACnB,CAAC,CACF,CAAC;oBAEF,OAAO;gBACT,CAAC;gBAED,KAAK,QAAQ,CAAC,CAAC,CAAC;oBACd,eAAe,CACb,GAAG,EAAE;wBACH,MAAM,CAAC,MAAM,CAAC,CAAC;oBACjB,CAAC,CACF,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC,EACD;QACE,SAAS;QACT,eAAe;QACf,MAAM;KACP,CACF,CAAC;IAEF,MAAM,eAAe,GAAG,WAAW,CACjC,CACE,KAAiC,EACjC,EAAE;QACF,eAAe,CAAC,OAAO,GAAG;YACxB,KAAK,EAAE;gBACL,CAAC,EAAE,KAAK,CAAC,OAAO;gBAChB,CAAC,EAAE,KAAK,CAAC,OAAO;aACjB;SACF,CAAC;QAEF,IAAI,WAAW,EAAE,CAAC;YAChB,WAAW,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC;IACH,CAAC,EACD;QACE,WAAW;KACZ,CACF,CAAC;IAEF,MAAM,aAAa,GAAG,WAAW,CAC/B,CACE,KAAiC,EACjC,EAAE;QACF,IACE,eAAe,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC;YACjE,eAAe,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,EACjE,CAAC;YACD,YAAY,EAAE,CAAC;QACjB,CAAC;QAED,IAAI,SAAS,EAAE,CAAC;YACd,SAAS,CAAC,KAAK,CAAC,CAAC;QACnB,CAAC;IACH,CAAC,EACD;QACE,YAAY;QACZ,SAAS;KACV,CACF,CAAC;IAEF,MAAM,gBAAgB,GAAG,WAAW,CAClC,CACE,KAAiC,EACjC,EAAE;QACF,KACE,MAAM,CAIJ,KAAK,EACL,KAAK,CACN,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,EACzC,CAAC;YACD,eAAe,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG;gBAC1C,CAAC,EAAE,KAAK,CAAC,OAAO;gBAChB,CAAC,EAAE,KAAK,CAAC,OAAO;aACjB,CAAC;QACJ,CAAC;QAED,IAAI,YAAY,EAAE,CAAC;YACjB,YAAY,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;IACH,CAAC,EACD;QACE,YAAY;KACb,CACF,CAAC;IAEF,MAAM,cAAc,GAAG,WAAW,CAChC,CACE,KAAiC,EACjC,EAAE;QACF,IAAI,kBAAkB,GAAG,KAAK,CAAC;QAE/B,KACE,MAAM,CAIJ,KAAK,EACL,KAAK,CACN,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,EACzC,CAAC;YACD,IACE,eAAe,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC,KAAK,KAAK,CAAC,OAAO;gBAC9D,eAAe,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC,KAAK,KAAK,CAAC,OAAO,EAC9D,CAAC;gBACD,kBAAkB,GAAG,IAAI,CAAC;YAC5B,CAAC;QACH,CAAC;QAED,IACE,kBAAkB,EAClB,CAAC;YACD,YAAY,EAAE,CAAC;QACjB,CAAC;QAED,IAAI,UAAU,EAAE,CAAC;YACf,UAAU,CAAC,KAAK,CAAC,CAAC;QACpB,CAAC;IACH,CAAC,EACD;QACE,YAAY;QACZ,UAAU;KACX,CACF,CAAC;IAEF,OAAO,CACL,cACE,SAAS,EAAC,8BAA8B,EACxC,WAAW,EAAE,eAAe,EAC5B,SAAS,EAAE,aAAa,EACxB,UAAU,EAAE,cAAc,EAC1B,YAAY,EAAE,gBAAgB,EAC9B,IAAI,EAAC,MAAM,GACX,CACH,CAAC;AACJ,CAAC,CAAC;AAEF,QAAQ,CAAC,WAAW,GAAG,2BAA2B,CAAC;AAEnD,eAAe,QAAQ,CAAC"}
@@ -0,0 +1,95 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { useMaxScale, useMinScale, useModeGiven, useOnMode, useOnScale, useOnTranslate, usePan, useScale, useTranslate, useZoom } from '../../shared';
3
+ import Controls from './Controls';
4
+ import { useCallback, useEffect, useMemo, useRef } from 'react';
5
+ import { MapInteraction } from 'react-map-interaction';
6
+ const controls = () => {
7
+ return _jsx(Controls, {});
8
+ };
9
+ const Interaction = () => {
10
+ const scale = useScale();
11
+ const onScale = useOnScale();
12
+ const translate = useTranslate();
13
+ const onTranslate = useOnTranslate();
14
+ const givenMode = useModeGiven();
15
+ const onMode = useOnMode();
16
+ const maxScale = useMaxScale();
17
+ const minScale = useMinScale();
18
+ const pan = usePan();
19
+ const zoom = useZoom();
20
+ const keypress = useRef(false);
21
+ const handleMode = useCallback((changedMode) => {
22
+ if (onMode) {
23
+ onMode(changedMode);
24
+ }
25
+ }, [
26
+ onMode
27
+ ]);
28
+ useEffect(() => {
29
+ if (givenMode) {
30
+ return () => {
31
+ };
32
+ }
33
+ const onKeyDown = (event) => {
34
+ keypress.current = true;
35
+ if (event.shiftKey) {
36
+ handleMode('pull');
37
+ }
38
+ else if (event.ctrlKey) {
39
+ handleMode('select');
40
+ }
41
+ };
42
+ const onKeyUp = (event) => {
43
+ keypress.current = false;
44
+ if (!event.shiftKey) {
45
+ handleMode('move');
46
+ }
47
+ else if (!event.ctrlKey) {
48
+ handleMode('move');
49
+ }
50
+ };
51
+ window.addEventListener('keydown', onKeyDown);
52
+ window.addEventListener('keyup', onKeyUp);
53
+ return () => {
54
+ keypress.current = false;
55
+ window.removeEventListener('keydown', onKeyDown);
56
+ window.removeEventListener('keyup', onKeyUp);
57
+ };
58
+ }, [
59
+ givenMode,
60
+ handleMode
61
+ ]);
62
+ const defaultTranslation = useMemo(() => {
63
+ return {
64
+ x: Math.round(translate.x),
65
+ y: Math.round(translate.y)
66
+ };
67
+ }, []);
68
+ const handleChange = useCallback(({ scale: z, translation: { x, y } }) => {
69
+ if (onTranslate) {
70
+ onTranslate({
71
+ x,
72
+ y
73
+ });
74
+ }
75
+ if (onScale) {
76
+ onScale(z);
77
+ }
78
+ }, [
79
+ onScale,
80
+ onTranslate
81
+ ]);
82
+ const transform = useMemo(() => {
83
+ return {
84
+ scale,
85
+ translation: translate
86
+ };
87
+ }, [
88
+ scale,
89
+ translate
90
+ ]);
91
+ return (_jsx("div", { className: 'lincle-interactive-container', children: _jsx(MapInteraction, { defaultScale: scale, defaultTranslation: defaultTranslation, disablePan: !pan, disableZoom: !zoom, maxScale: maxScale, minScale: minScale, onChange: handleChange, value: transform, children: controls }) }));
92
+ };
93
+ Interaction.displayName = 'LincleInteractiveInteraction';
94
+ export default Interaction;
95
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/Interaction/index.tsx"],"names":[],"mappings":"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"}
@@ -1,19 +1,17 @@
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 react_draggable_1 = require("react-draggable");
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { Node } from '../../../base';
3
+ import { useScale, useSnap } from '../../../shared';
4
+ import { useCallback, useEffect, useMemo, useRef, useState } from 'react';
5
+ import { DraggableCore } from 'react-draggable';
8
6
  const PRESS_TIME = 500;
9
7
  const emptySnap = [
10
8
  1,
11
9
  1
12
10
  ];
13
11
  const MoveNode = ({ children, className, disabled, height, id, mode, onDrag, onSelect, onStart, onStop, shape, snap: givenSnap, style, width, x, y }) => {
14
- const scale = (0, shared_1.useScale)();
15
- const snap = (0, shared_1.useSnap)();
16
- const [snapX, snapY] = (0, react_1.useMemo)(() => {
12
+ const scale = useScale();
13
+ const snap = useSnap();
14
+ const [snapX = 1, snapY = 1] = useMemo(() => {
17
15
  if (givenSnap === undefined) {
18
16
  if (Array.isArray(snap)) {
19
17
  return snap;
@@ -32,12 +30,12 @@ const MoveNode = ({ children, className, disabled, height, id, mode, onDrag, onS
32
30
  givenSnap,
33
31
  snap
34
32
  ]);
35
- const [position, setPosition] = (0, react_1.useState)({
33
+ const [position, setPosition] = useState({
36
34
  x,
37
35
  y
38
36
  });
39
- const mouseDown = (0, react_1.useRef)(false);
40
- const initialPos = (0, react_1.useRef)(position);
37
+ const mouseDown = useRef(false);
38
+ const initialPos = useRef(position);
41
39
  if (!mouseDown.current && (x !== initialPos.current.x ||
42
40
  y !== initialPos.current.y) && (x !== position.x ||
43
41
  y !== position.y)) {
@@ -46,19 +44,19 @@ const MoveNode = ({ children, className, disabled, height, id, mode, onDrag, onS
46
44
  y
47
45
  });
48
46
  }
49
- const pos = (0, react_1.useRef)(position);
50
- const snapped = (0, react_1.useRef)(position);
47
+ const pos = useRef(position);
48
+ const snapped = useRef(position);
51
49
  snapped.current = position;
52
- const moved = (0, react_1.useRef)(false);
53
- const press = (0, react_1.useRef)(undefined);
54
- (0, react_1.useEffect)(() => {
50
+ const moved = useRef(false);
51
+ const press = useRef(undefined);
52
+ useEffect(() => {
55
53
  return () => {
56
54
  if (press.current) {
57
55
  clearTimeout(press.current);
58
56
  }
59
57
  };
60
58
  }, []);
61
- const handleOnSelect = (0, react_1.useCallback)(() => {
59
+ const handleOnSelect = useCallback(() => {
62
60
  if (onSelect) {
63
61
  onSelect(id);
64
62
  }
@@ -66,7 +64,7 @@ const MoveNode = ({ children, className, disabled, height, id, mode, onDrag, onS
66
64
  id,
67
65
  onSelect
68
66
  ]);
69
- const handlePressStart = (0, react_1.useCallback)(() => {
67
+ const handlePressStart = useCallback(() => {
70
68
  if (mode !== 'select' &&
71
69
  !press.current) {
72
70
  press.current = setTimeout(() => {
@@ -78,13 +76,13 @@ const MoveNode = ({ children, className, disabled, height, id, mode, onDrag, onS
78
76
  handleOnSelect,
79
77
  mode
80
78
  ]);
81
- const handlePressStop = (0, react_1.useCallback)(() => {
79
+ const handlePressStop = useCallback(() => {
82
80
  if (press.current) {
83
81
  clearTimeout(press.current);
84
82
  press.current = undefined;
85
83
  }
86
84
  }, []);
87
- const handleStart = (0, react_1.useCallback)((event) => {
85
+ const handleStart = useCallback((event) => {
88
86
  event.stopPropagation();
89
87
  mouseDown.current = true;
90
88
  if (onSelect) {
@@ -98,7 +96,7 @@ const MoveNode = ({ children, className, disabled, height, id, mode, onDrag, onS
98
96
  onSelect,
99
97
  onStart
100
98
  ]);
101
- const handleDrag = (0, react_1.useCallback)((event, data) => {
99
+ const handleDrag = useCallback((event, data) => {
102
100
  event.stopPropagation();
103
101
  const currentX = pos.current.x;
104
102
  const currentY = pos.current.y;
@@ -118,7 +116,10 @@ const MoveNode = ({ children, className, disabled, height, id, mode, onDrag, onS
118
116
  };
119
117
  setPosition(adjustedPosition);
120
118
  if (onDrag) {
121
- onDrag(event, Object.assign(Object.assign({}, data), adjustedPosition), snapped.current);
119
+ onDrag(event, {
120
+ ...data,
121
+ ...adjustedPosition
122
+ }, snapped.current);
122
123
  }
123
124
  if (moved.current === false) {
124
125
  moved.current = true;
@@ -132,7 +133,7 @@ const MoveNode = ({ children, className, disabled, height, id, mode, onDrag, onS
132
133
  snapX,
133
134
  snapY
134
135
  ]);
135
- const handleStop = (0, react_1.useCallback)((event, data) => {
136
+ const handleStop = useCallback((event, data) => {
136
137
  mouseDown.current = false;
137
138
  if (onSelect && !press.current ||
138
139
  mode === 'select' ||
@@ -162,7 +163,10 @@ const MoveNode = ({ children, className, disabled, height, id, mode, onDrag, onS
162
163
  y: adjustedPosition.y
163
164
  });
164
165
  if (onStop) {
165
- onStop(event, Object.assign(Object.assign({}, data), adjustedPosition));
166
+ onStop(event, {
167
+ ...data,
168
+ ...adjustedPosition
169
+ });
166
170
  }
167
171
  moved.current = false;
168
172
  }
@@ -176,8 +180,9 @@ const MoveNode = ({ children, className, disabled, height, id, mode, onDrag, onS
176
180
  snapX,
177
181
  snapY
178
182
  ]);
179
- const nodeRef = (0, react_1.useRef)(null);
180
- return ((0, jsx_runtime_1.jsx)(react_draggable_1.DraggableCore, { disabled: disabled, nodeRef: nodeRef, onDrag: handleDrag, onStart: handleStart, onStop: handleStop, scale: scale, children: (0, jsx_runtime_1.jsx)(base_1.Node, { className: className, height: height, id: id, ref: nodeRef, shape: shape, style: style, width: width, x: position.x, y: position.y, children: children }) }));
183
+ const nodeRef = useRef(null);
184
+ return (_jsx(DraggableCore, { disabled: disabled, nodeRef: nodeRef, onDrag: handleDrag, onStart: handleStart, onStop: handleStop, scale: scale, children: _jsx(Node, { className: className, height: height, id: id, ref: nodeRef, shape: shape, style: style, width: width, x: position.x, y: position.y, children: children }) }));
181
185
  };
182
186
  MoveNode.displayName = 'LincleInteractiveMoveNode';
183
- exports.default = MoveNode;
187
+ export default MoveNode;
188
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/components/Node/MoveNode/index.tsx"],"names":[],"mappings":"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"}