@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.
Files changed (88) hide show
  1. package/dist/{base.js → cjs/base.js} +1 -0
  2. package/dist/cjs/base.js.map +1 -0
  3. package/dist/{components → cjs/components}/Edge/Path/index.js +1 -0
  4. package/dist/cjs/components/Edge/Path/index.js.map +1 -0
  5. package/dist/{components → cjs/components}/Edge/index.js +1 -0
  6. package/dist/cjs/components/Edge/index.js.map +1 -0
  7. package/dist/{components → cjs/components}/Edges/Connections/index.js +6 -1
  8. package/dist/cjs/components/Edges/Connections/index.js.map +1 -0
  9. package/dist/cjs/components/Edges/index.js +18 -0
  10. package/dist/cjs/components/Edges/index.js.map +1 -0
  11. package/dist/{components → cjs/components}/Graph/Grid/index.js +1 -0
  12. package/dist/cjs/components/Graph/Grid/index.js.map +1 -0
  13. package/dist/{components → cjs/components}/Graph/index.js +1 -0
  14. package/dist/cjs/components/Graph/index.js.map +1 -0
  15. package/dist/{components → cjs/components}/Interaction/Controls/index.js +6 -6
  16. package/dist/cjs/components/Interaction/Controls/index.js.map +1 -0
  17. package/dist/{components → cjs/components}/Interaction/index.js +1 -0
  18. package/dist/cjs/components/Interaction/index.js.map +1 -0
  19. package/dist/{components → cjs/components}/Node/MoveNode/index.js +10 -3
  20. package/dist/cjs/components/Node/MoveNode/index.js.map +1 -0
  21. package/dist/{components → cjs/components}/Node/PullNode/index.js +14 -6
  22. package/dist/cjs/components/Node/PullNode/index.js.map +1 -0
  23. package/dist/{components → cjs/components}/Node/index.js +13 -13
  24. package/dist/cjs/components/Node/index.js.map +1 -0
  25. package/dist/{components → cjs/components}/Nodes/Interaction/index.js +1 -0
  26. package/dist/cjs/components/Nodes/Interaction/index.js.map +1 -0
  27. package/dist/cjs/components/Nodes/index.js +15 -0
  28. package/dist/cjs/components/Nodes/index.js.map +1 -0
  29. package/dist/{components → cjs/components}/index.js +1 -0
  30. package/dist/cjs/components/index.js.map +1 -0
  31. package/dist/{index.js → cjs/index.js} +1 -0
  32. package/dist/cjs/index.js.map +1 -0
  33. package/dist/{shared.js → cjs/shared.js} +1 -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 +26 -23
  70. package/dist/components/Edges/index.js +0 -29
  71. package/dist/components/Nodes/index.js +0 -26
  72. /package/dist/{base.d.ts → esm/base.d.ts} +0 -0
  73. /package/dist/{components → esm/components}/Edge/Path/index.d.ts +0 -0
  74. /package/dist/{components → esm/components}/Edge/index.d.ts +0 -0
  75. /package/dist/{components → esm/components}/Edges/Connections/index.d.ts +0 -0
  76. /package/dist/{components → esm/components}/Edges/index.d.ts +0 -0
  77. /package/dist/{components → esm/components}/Graph/Grid/index.d.ts +0 -0
  78. /package/dist/{components → esm/components}/Graph/index.d.ts +0 -0
  79. /package/dist/{components → esm/components}/Interaction/Controls/index.d.ts +0 -0
  80. /package/dist/{components → esm/components}/Interaction/index.d.ts +0 -0
  81. /package/dist/{components → esm/components}/Node/MoveNode/index.d.ts +0 -0
  82. /package/dist/{components → esm/components}/Node/PullNode/index.d.ts +0 -0
  83. /package/dist/{components → esm/components}/Node/index.d.ts +0 -0
  84. /package/dist/{components → esm/components}/Nodes/Interaction/index.d.ts +0 -0
  85. /package/dist/{components → esm/components}/Nodes/index.d.ts +0 -0
  86. /package/dist/{components → esm/components}/index.d.ts +0 -0
  87. /package/dist/{index.d.ts → esm/index.d.ts} +0 -0
  88. /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,6 @@
1
+ export * from './Edge';
2
+ export * from './Edges';
3
+ export * from './Graph';
4
+ export * from './Node';
5
+ export * from './Nodes';
6
+ //# sourceMappingURL=index.js.map
@@ -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,3 @@
1
+ export * from './components';
2
+ export * from './shared';
3
+ //# sourceMappingURL=index.js.map
@@ -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.17",
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
- "types": "dist/index.d.ts",
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": "tsc -p ./tsconfig.json",
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.9",
48
- "@digest/eslint-config-react": "^4.14.9",
49
- "@digest/eslint-config-typescript": "^4.14.9",
50
- "@digest/jest-junit": "^4.14.9",
51
- "@digest/jest-react": "^4.14.9",
52
- "@digest/jest-typescript": "^4.14.9",
53
- "@digest/stylelint-config": "^4.14.9",
54
- "@digest/typescript": "^4.14.9",
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.3",
57
- "@types/react": "^19.2.7",
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.2.0",
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.3",
66
- "react-dom": "^19.2.3",
67
- "react-test-renderer": "^19.2.3",
68
- "rimraf": "^6.1.2"
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.17",
72
- "@lincle/react-shared": "^0.4.0-next.17",
73
- "@lincle/react-web-base": "^0.4.0-next.17",
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": "25bbe98ceef3b13ee0ee23ea3b261d8a115c0771"
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