@aloudata/ink-flow 1.0.26 → 1.0.28

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 (245) hide show
  1. package/dist/components/A11yDescriptions/index.js +29 -0
  2. package/dist/components/A11yDescriptions/index.js.map +1 -0
  3. package/dist/components/BatchProvider/index.js +86 -0
  4. package/dist/components/BatchProvider/index.js.map +1 -0
  5. package/dist/components/BatchProvider/types.js +2 -0
  6. package/dist/components/BatchProvider/types.js.map +1 -0
  7. package/dist/components/BatchProvider/useQueue.js +56 -0
  8. package/dist/components/BatchProvider/useQueue.js.map +1 -0
  9. package/dist/components/ConnectionLine/index.js +62 -0
  10. package/dist/components/ConnectionLine/index.js.map +1 -0
  11. package/dist/components/EdgeLabelRenderer/index.js +12 -0
  12. package/dist/components/EdgeLabelRenderer/index.js.map +1 -0
  13. package/dist/components/EdgeWrapper/EdgeUpdateAnchors.js +68 -0
  14. package/dist/components/EdgeWrapper/EdgeUpdateAnchors.js.map +1 -0
  15. package/dist/components/EdgeWrapper/index.js +159 -0
  16. package/dist/components/EdgeWrapper/index.js.map +1 -0
  17. package/dist/components/EdgeWrapper/utils.js +17 -0
  18. package/dist/components/EdgeWrapper/utils.js.map +1 -0
  19. package/dist/components/Edges/BaseEdge.js +9 -0
  20. package/dist/components/Edges/BaseEdge.js.map +1 -0
  21. package/dist/components/Edges/BezierEdge.js +28 -0
  22. package/dist/components/Edges/BezierEdge.js.map +1 -0
  23. package/dist/components/Edges/EdgeAnchor.js +23 -0
  24. package/dist/components/Edges/EdgeAnchor.js.map +1 -0
  25. package/dist/components/Edges/EdgeText.js +31 -0
  26. package/dist/components/Edges/EdgeText.js.map +1 -0
  27. package/dist/components/Edges/SimpleBezierEdge.js +68 -0
  28. package/dist/components/Edges/SimpleBezierEdge.js.map +1 -0
  29. package/dist/components/Edges/SmoothStepEdge.js +29 -0
  30. package/dist/components/Edges/SmoothStepEdge.js.map +1 -0
  31. package/dist/components/Edges/StepEdge.js +18 -0
  32. package/dist/components/Edges/StepEdge.js.map +1 -0
  33. package/dist/components/Edges/StraightEdge.js +24 -0
  34. package/dist/components/Edges/StraightEdge.js.map +1 -0
  35. package/dist/components/Edges/index.js +9 -0
  36. package/dist/components/Edges/index.js.map +1 -0
  37. package/dist/components/Handle/index.d.ts.map +1 -1
  38. package/dist/components/Handle/index.js +179 -0
  39. package/dist/components/Handle/index.js.map +1 -0
  40. package/dist/components/InkFlowProvider/index.js +21 -0
  41. package/dist/components/InkFlowProvider/index.js.map +1 -0
  42. package/dist/components/NodeWrapper/index.js +150 -0
  43. package/dist/components/NodeWrapper/index.js.map +1 -0
  44. package/dist/components/NodeWrapper/useNodeObserver.js +54 -0
  45. package/dist/components/NodeWrapper/useNodeObserver.js.map +1 -0
  46. package/dist/components/NodeWrapper/utils.js +30 -0
  47. package/dist/components/NodeWrapper/utils.js.map +1 -0
  48. package/dist/components/Nodes/DefaultNode.js +8 -0
  49. package/dist/components/Nodes/DefaultNode.js.map +1 -0
  50. package/dist/components/Nodes/GroupNode.js +4 -0
  51. package/dist/components/Nodes/GroupNode.js.map +1 -0
  52. package/dist/components/Nodes/InputNode.js +8 -0
  53. package/dist/components/Nodes/InputNode.js.map +1 -0
  54. package/dist/components/Nodes/OutputNode.js +8 -0
  55. package/dist/components/Nodes/OutputNode.js.map +1 -0
  56. package/dist/components/Nodes/utils.js +23 -0
  57. package/dist/components/Nodes/utils.js.map +1 -0
  58. package/dist/components/Panel/index.js +11 -0
  59. package/dist/components/Panel/index.js.map +1 -0
  60. package/dist/components/StoreUpdater/index.js +169 -0
  61. package/dist/components/StoreUpdater/index.js.map +1 -0
  62. package/dist/components/UserSelection/index.js +20 -0
  63. package/dist/components/UserSelection/index.js.map +1 -0
  64. package/dist/constants/layout.js +5 -0
  65. package/dist/constants/layout.js.map +1 -0
  66. package/dist/container/EdgeRenderer/MarkerDefinitions.js +37 -0
  67. package/dist/container/EdgeRenderer/MarkerDefinitions.js.map +1 -0
  68. package/dist/container/EdgeRenderer/MarkerSymbols.js +38 -0
  69. package/dist/container/EdgeRenderer/MarkerSymbols.js.map +1 -0
  70. package/dist/container/EdgeRenderer/index.js +25 -0
  71. package/dist/container/EdgeRenderer/index.js.map +1 -0
  72. package/dist/container/FlowRenderer/index.js +29 -0
  73. package/dist/container/FlowRenderer/index.js.map +1 -0
  74. package/dist/container/GraphView/index.js +14 -0
  75. package/dist/container/GraphView/index.js.map +1 -0
  76. package/dist/container/InkFlow/Wrapper.js +13 -0
  77. package/dist/container/InkFlow/Wrapper.js.map +1 -0
  78. package/dist/container/InkFlow/index.d.ts.map +1 -1
  79. package/dist/container/InkFlow/index.js +22 -0
  80. package/dist/container/InkFlow/index.js.map +1 -0
  81. package/dist/container/InkFlow/init-values.js +11 -0
  82. package/dist/container/InkFlow/init-values.js.map +1 -0
  83. package/dist/container/NodeRenderer/index.js +29 -0
  84. package/dist/container/NodeRenderer/index.js.map +1 -0
  85. package/dist/container/NodeRenderer/useResizeObserver.js +29 -0
  86. package/dist/container/NodeRenderer/useResizeObserver.js.map +1 -0
  87. package/dist/container/Pane/index.js +207 -0
  88. package/dist/container/Pane/index.js.map +1 -0
  89. package/dist/container/Viewport/index.d.ts.map +1 -1
  90. package/dist/container/Viewport/index.js +11 -0
  91. package/dist/container/Viewport/index.js.map +1 -0
  92. package/dist/container/ZoomPane/index.js +108 -0
  93. package/dist/container/ZoomPane/index.js.map +1 -0
  94. package/dist/contexts/NodeIdContext.js +10 -0
  95. package/dist/contexts/NodeIdContext.js.map +1 -0
  96. package/dist/contexts/StoreContext.js +5 -0
  97. package/dist/contexts/StoreContext.js.map +1 -0
  98. package/dist/hooks/index.d.ts +2 -0
  99. package/dist/hooks/index.d.ts.map +1 -1
  100. package/dist/hooks/index.js +7 -0
  101. package/dist/hooks/index.js.map +1 -0
  102. package/dist/hooks/useConnection.js +47 -0
  103. package/dist/hooks/useConnection.js.map +1 -0
  104. package/dist/hooks/useDrag.js +56 -0
  105. package/dist/hooks/useDrag.js.map +1 -0
  106. package/dist/hooks/useEdgesState.js +6 -0
  107. package/dist/hooks/useEdgesState.js.map +1 -0
  108. package/dist/hooks/useGlobalKeyHandler.js +34 -0
  109. package/dist/hooks/useGlobalKeyHandler.js.map +1 -0
  110. package/dist/hooks/useInkFlow.js +185 -0
  111. package/dist/hooks/useInkFlow.js.map +1 -0
  112. package/dist/hooks/useIsomorphicLayoutEffect.d.ts +2 -2
  113. package/dist/hooks/useIsomorphicLayoutEffect.d.ts.map +1 -1
  114. package/dist/hooks/useIsomorphicLayoutEffect.js +4 -0
  115. package/dist/hooks/useIsomorphicLayoutEffect.js.map +1 -0
  116. package/dist/hooks/useKeyPress.js +117 -0
  117. package/dist/hooks/useKeyPress.js.map +1 -0
  118. package/dist/hooks/useMoveSelectedNodes.js +65 -0
  119. package/dist/hooks/useMoveSelectedNodes.js.map +1 -0
  120. package/dist/hooks/useNodeInView.d.ts +10 -0
  121. package/dist/hooks/useNodeInView.d.ts.map +1 -0
  122. package/dist/hooks/useNodeInView.js +41 -0
  123. package/dist/hooks/useNodeInView.js.map +1 -0
  124. package/dist/hooks/useNodesInView.d.ts +12 -0
  125. package/dist/hooks/useNodesInView.d.ts.map +1 -0
  126. package/dist/hooks/useNodesInView.js +52 -0
  127. package/dist/hooks/useNodesInView.js.map +1 -0
  128. package/dist/hooks/useNodesState.js +6 -0
  129. package/dist/hooks/useNodesState.js.map +1 -0
  130. package/dist/hooks/useResizeHandler.js +38 -0
  131. package/dist/hooks/useResizeHandler.js.map +1 -0
  132. package/dist/hooks/useStore.js +37 -0
  133. package/dist/hooks/useStore.js.map +1 -0
  134. package/dist/hooks/useViewportHelper.js +149 -0
  135. package/dist/hooks/useViewportHelper.js.map +1 -0
  136. package/dist/hooks/useVisibleEdgeIds.js +50 -0
  137. package/dist/hooks/useVisibleEdgeIds.js.map +1 -0
  138. package/dist/hooks/useVisibleNodeIds.js +21 -0
  139. package/dist/hooks/useVisibleNodeIds.js.map +1 -0
  140. package/dist/index.js +18 -0
  141. package/dist/index.js.map +1 -0
  142. package/dist/plugins/Background/Background.js +49 -0
  143. package/dist/plugins/Background/Background.js.map +1 -0
  144. package/dist/plugins/Background/Patterns.js +11 -0
  145. package/dist/plugins/Background/Patterns.js.map +1 -0
  146. package/dist/plugins/Background/index.js +3 -0
  147. package/dist/plugins/Background/index.js.map +1 -0
  148. package/dist/plugins/Background/types.js +7 -0
  149. package/dist/plugins/Background/types.js.map +1 -0
  150. package/dist/plugins/Controls/ControlButton.js +7 -0
  151. package/dist/plugins/Controls/ControlButton.js.map +1 -0
  152. package/dist/plugins/Controls/Controls.js +49 -0
  153. package/dist/plugins/Controls/Controls.js.map +1 -0
  154. package/dist/plugins/Controls/Icons/FitView.js +5 -0
  155. package/dist/plugins/Controls/Icons/FitView.js.map +1 -0
  156. package/dist/plugins/Controls/Icons/Lock.js +5 -0
  157. package/dist/plugins/Controls/Icons/Lock.js.map +1 -0
  158. package/dist/plugins/Controls/Icons/Minus.js +5 -0
  159. package/dist/plugins/Controls/Icons/Minus.js.map +1 -0
  160. package/dist/plugins/Controls/Icons/Plus.js +5 -0
  161. package/dist/plugins/Controls/Icons/Plus.js.map +1 -0
  162. package/dist/plugins/Controls/Icons/Unlock.js +5 -0
  163. package/dist/plugins/Controls/Icons/Unlock.js.map +1 -0
  164. package/dist/plugins/Controls/index.js +3 -0
  165. package/dist/plugins/Controls/index.js.map +1 -0
  166. package/dist/plugins/Controls/types.js +2 -0
  167. package/dist/plugins/Controls/types.js.map +1 -0
  168. package/dist/plugins/NodeResizer/NodeResizeControl.js +166 -0
  169. package/dist/plugins/NodeResizer/NodeResizeControl.js.map +1 -0
  170. package/dist/plugins/NodeResizer/NodeResizer.js +35 -0
  171. package/dist/plugins/NodeResizer/NodeResizer.js.map +1 -0
  172. package/dist/plugins/NodeResizer/index.js +4 -0
  173. package/dist/plugins/NodeResizer/index.js.map +1 -0
  174. package/dist/plugins/NodeResizer/types.js +2 -0
  175. package/dist/plugins/NodeResizer/types.js.map +1 -0
  176. package/dist/plugins/index.js +4 -0
  177. package/dist/plugins/index.js.map +1 -0
  178. package/dist/store/index.d.ts.map +1 -1
  179. package/dist/store/index.js +384 -0
  180. package/dist/store/index.js.map +1 -0
  181. package/dist/store/initialState.d.ts.map +1 -1
  182. package/dist/store/initialState.js +84 -0
  183. package/dist/store/initialState.js.map +1 -0
  184. package/dist/styles/utils.js +8 -0
  185. package/dist/styles/utils.js.map +1 -0
  186. package/dist/types/edges.js +2 -0
  187. package/dist/types/edges.js.map +1 -0
  188. package/dist/types/general.js +2 -0
  189. package/dist/types/general.js.map +1 -0
  190. package/dist/types/index.js +7 -0
  191. package/dist/types/index.js.map +1 -0
  192. package/dist/types/instance.js +2 -0
  193. package/dist/types/instance.js.map +1 -0
  194. package/dist/types/layout.js +2 -0
  195. package/dist/types/layout.js.map +1 -0
  196. package/dist/types/nodes.js +2 -0
  197. package/dist/types/nodes.js.map +1 -0
  198. package/dist/types/props.js +2 -0
  199. package/dist/types/props.js.map +1 -0
  200. package/dist/types/store.js +2 -0
  201. package/dist/types/store.js.map +1 -0
  202. package/dist/types/utils/types.js +2 -0
  203. package/dist/types/utils/types.js.map +1 -0
  204. package/dist/utils/changes.js +213 -0
  205. package/dist/utils/changes.js.map +1 -0
  206. package/dist/utils/dom.d.ts.map +1 -1
  207. package/dist/utils/dom.js +38 -0
  208. package/dist/utils/dom.js.map +1 -0
  209. package/dist/utils/edges/bezier-edge.js +96 -0
  210. package/dist/utils/edges/bezier-edge.js.map +1 -0
  211. package/dist/utils/edges/general.d.ts.map +1 -1
  212. package/dist/utils/edges/general.js +108 -0
  213. package/dist/utils/edges/general.js.map +1 -0
  214. package/dist/utils/edges/index.js +6 -0
  215. package/dist/utils/edges/index.js.map +1 -0
  216. package/dist/utils/edges/positions.js +101 -0
  217. package/dist/utils/edges/positions.js.map +1 -0
  218. package/dist/utils/edges/smoothstep-edge.js +222 -0
  219. package/dist/utils/edges/smoothstep-edge.js.map +1 -0
  220. package/dist/utils/edges/straight-edge.js +32 -0
  221. package/dist/utils/edges/straight-edge.js.map +1 -0
  222. package/dist/utils/general.d.ts +7 -0
  223. package/dist/utils/general.d.ts.map +1 -1
  224. package/dist/utils/general.js +228 -0
  225. package/dist/utils/general.js.map +1 -0
  226. package/dist/utils/graph.d.ts.map +1 -1
  227. package/dist/utils/graph.js +368 -0
  228. package/dist/utils/graph.js.map +1 -0
  229. package/dist/utils/layout.js +142 -0
  230. package/dist/utils/layout.js.map +1 -0
  231. package/dist/utils/marker.js +35 -0
  232. package/dist/utils/marker.js.map +1 -0
  233. package/dist/utils/node.js +42 -0
  234. package/dist/utils/node.js.map +1 -0
  235. package/dist/utils/positions.js +101 -0
  236. package/dist/utils/positions.js.map +1 -0
  237. package/dist/utils/store.d.ts.map +1 -1
  238. package/dist/utils/store.js +162 -0
  239. package/dist/utils/store.js.map +1 -0
  240. package/package.json +2 -2
  241. package/dist/index.cjs.js +0 -25
  242. package/dist/index.cjs.js.map +0 -1
  243. package/dist/index.esm.js +0 -25
  244. package/dist/index.esm.js.map +0 -1
  245. package/dist/style.css +0 -814
@@ -0,0 +1,222 @@
1
+ var _a;
2
+ import { Position } from '@aloudata/ink-core';
3
+ import { getEdgeCenter } from './general';
4
+ var handleDirections = (_a = {},
5
+ _a[Position.Left] = { x: -1, y: 0 },
6
+ _a[Position.Right] = { x: 1, y: 0 },
7
+ _a[Position.Top] = { x: 0, y: -1 },
8
+ _a[Position.Bottom] = { x: 0, y: 1 },
9
+ _a);
10
+ var getDirection = function (_a) {
11
+ var source = _a.source, _b = _a.sourcePosition, sourcePosition = _b === void 0 ? Position.Bottom : _b, target = _a.target;
12
+ if (sourcePosition === Position.Left || sourcePosition === Position.Right) {
13
+ return source.x < target.x ? { x: 1, y: 0 } : { x: -1, y: 0 };
14
+ }
15
+ return source.y < target.y ? { x: 0, y: 1 } : { x: 0, y: -1 };
16
+ };
17
+ var distance = function (a, b) {
18
+ return Math.sqrt(Math.pow(b.x - a.x, 2) + Math.pow(b.y - a.y, 2));
19
+ };
20
+ // ith this function we try to mimic a orthogonal edge routing behaviour
21
+ // It's not as good as a real orthogonal edge routing but it's faster and good enough as a default for step and smooth step edges
22
+ function getPoints(_a) {
23
+ var _b, _c;
24
+ var source = _a.source, _d = _a.sourcePosition, sourcePosition = _d === void 0 ? Position.Bottom : _d, target = _a.target, _e = _a.targetPosition, targetPosition = _e === void 0 ? Position.Top : _e, center = _a.center, offset = _a.offset;
25
+ var sourceDir = handleDirections[sourcePosition];
26
+ var targetDir = handleDirections[targetPosition];
27
+ var sourceGapped = {
28
+ x: source.x + sourceDir.x * offset,
29
+ y: source.y + sourceDir.y * offset,
30
+ };
31
+ var targetGapped = {
32
+ x: target.x + targetDir.x * offset,
33
+ y: target.y + targetDir.y * offset,
34
+ };
35
+ var dir = getDirection({
36
+ source: sourceGapped,
37
+ sourcePosition: sourcePosition,
38
+ target: targetGapped,
39
+ });
40
+ var dirAccessor = dir.x !== 0 ? 'x' : 'y';
41
+ var currDir = dir[dirAccessor];
42
+ var points = [];
43
+ var centerX, centerY;
44
+ var sourceGapOffset = { x: 0, y: 0 };
45
+ var targetGapOffset = { x: 0, y: 0 };
46
+ var _f = __read(getEdgeCenter({
47
+ sourceX: source.x,
48
+ sourceY: source.y,
49
+ targetX: target.x,
50
+ targetY: target.y,
51
+ }), 4), defaultCenterX = _f[0], defaultCenterY = _f[1], defaultOffsetX = _f[2], defaultOffsetY = _f[3];
52
+ // opposite handle positions, default case
53
+ if (sourceDir[dirAccessor] * targetDir[dirAccessor] === -1) {
54
+ centerX = (_b = center.x) !== null && _b !== void 0 ? _b : defaultCenterX;
55
+ centerY = (_c = center.y) !== null && _c !== void 0 ? _c : defaultCenterY;
56
+ // --->
57
+ // |
58
+ // >---
59
+ var verticalSplit = [
60
+ { x: centerX, y: sourceGapped.y },
61
+ { x: centerX, y: targetGapped.y },
62
+ ];
63
+ // |
64
+ // ---
65
+ // |
66
+ var horizontalSplit = [
67
+ { x: sourceGapped.x, y: centerY },
68
+ { x: targetGapped.x, y: centerY },
69
+ ];
70
+ if (sourceDir[dirAccessor] === currDir) {
71
+ points = dirAccessor === 'x' ? verticalSplit : horizontalSplit;
72
+ }
73
+ else {
74
+ points = dirAccessor === 'x' ? horizontalSplit : verticalSplit;
75
+ }
76
+ }
77
+ else {
78
+ // sourceTarget means we take x from source and y from target, targetSource is the opposite
79
+ var sourceTarget = [
80
+ { x: sourceGapped.x, y: targetGapped.y },
81
+ ];
82
+ var targetSource = [
83
+ { x: targetGapped.x, y: sourceGapped.y },
84
+ ];
85
+ // this handles edges with same handle positions
86
+ if (dirAccessor === 'x') {
87
+ points = sourceDir.x === currDir ? targetSource : sourceTarget;
88
+ }
89
+ else {
90
+ points = sourceDir.y === currDir ? sourceTarget : targetSource;
91
+ }
92
+ if (sourcePosition === targetPosition) {
93
+ var diff = Math.abs(source[dirAccessor] - target[dirAccessor]);
94
+ // if an edge goes from right to right for example (sourcePosition === targetPosition) and the distance between source.x and target.x is less than the offset, the added point and the gapped source/target will overlap. This leads to a weird edge path. To avoid this we add a gapOffset to the source/target
95
+ if (diff <= offset) {
96
+ var gapOffset = Math.min(offset - 1, offset - diff);
97
+ if (sourceDir[dirAccessor] === currDir) {
98
+ sourceGapOffset[dirAccessor] =
99
+ (sourceGapped[dirAccessor] > source[dirAccessor] ? -1 : 1) *
100
+ gapOffset;
101
+ }
102
+ else {
103
+ targetGapOffset[dirAccessor] =
104
+ (targetGapped[dirAccessor] > target[dirAccessor] ? -1 : 1) *
105
+ gapOffset;
106
+ }
107
+ }
108
+ }
109
+ // these are conditions for handling mixed handle positions like Right -> Bottom for example
110
+ if (sourcePosition !== targetPosition) {
111
+ var dirAccessorOpposite = dirAccessor === 'x' ? 'y' : 'x';
112
+ var isSameDir = sourceDir[dirAccessor] === targetDir[dirAccessorOpposite];
113
+ var sourceGtTargetOppo = sourceGapped[dirAccessorOpposite] > targetGapped[dirAccessorOpposite];
114
+ var sourceLtTargetOppo = sourceGapped[dirAccessorOpposite] < targetGapped[dirAccessorOpposite];
115
+ var flipSourceTarget = (sourceDir[dirAccessor] === 1 &&
116
+ ((!isSameDir && sourceGtTargetOppo) ||
117
+ (isSameDir && sourceLtTargetOppo))) ||
118
+ (sourceDir[dirAccessor] !== 1 &&
119
+ ((!isSameDir && sourceLtTargetOppo) ||
120
+ (isSameDir && sourceGtTargetOppo)));
121
+ if (flipSourceTarget) {
122
+ points = dirAccessor === 'x' ? sourceTarget : targetSource;
123
+ }
124
+ }
125
+ var sourceGapPoint = {
126
+ x: sourceGapped.x + sourceGapOffset.x,
127
+ y: sourceGapped.y + sourceGapOffset.y,
128
+ };
129
+ var targetGapPoint = {
130
+ x: targetGapped.x + targetGapOffset.x,
131
+ y: targetGapped.y + targetGapOffset.y,
132
+ };
133
+ var maxXDistance = Math.max(Math.abs(sourceGapPoint.x - points[0].x), Math.abs(targetGapPoint.x - points[0].x));
134
+ var maxYDistance = Math.max(Math.abs(sourceGapPoint.y - points[0].y), Math.abs(targetGapPoint.y - points[0].y));
135
+ // we want to place the label on the longest segment of the edge
136
+ if (maxXDistance >= maxYDistance) {
137
+ centerX = (sourceGapPoint.x + targetGapPoint.x) / 2;
138
+ centerY = points[0].y;
139
+ }
140
+ else {
141
+ centerX = points[0].x;
142
+ centerY = (sourceGapPoint.y + targetGapPoint.y) / 2;
143
+ }
144
+ }
145
+ var pathPoints = __spreadArray(__spreadArray([
146
+ source,
147
+ {
148
+ x: sourceGapped.x + sourceGapOffset.x,
149
+ y: sourceGapped.y + sourceGapOffset.y,
150
+ }
151
+ ], __read(points), false), [
152
+ {
153
+ x: targetGapped.x + targetGapOffset.x,
154
+ y: targetGapped.y + targetGapOffset.y,
155
+ },
156
+ target,
157
+ ], false);
158
+ return [pathPoints, centerX, centerY, defaultOffsetX, defaultOffsetY];
159
+ }
160
+ function getBend(a, b, c, size) {
161
+ var bendSize = Math.min(distance(a, b) / 2, distance(b, c) / 2, size);
162
+ var x = b.x, y = b.y;
163
+ // no bend
164
+ if ((a.x === x && x === c.x) || (a.y === y && y === c.y)) {
165
+ return "L".concat(x, " ").concat(y);
166
+ }
167
+ // first segment is horizontal
168
+ if (a.y === y) {
169
+ var xDir_1 = a.x < c.x ? -1 : 1;
170
+ var yDir_1 = a.y < c.y ? 1 : -1;
171
+ return "L ".concat(x + bendSize * xDir_1, ",").concat(y, "Q ").concat(x, ",").concat(y, " ").concat(x, ",").concat(y + bendSize * yDir_1);
172
+ }
173
+ var xDir = a.x < c.x ? 1 : -1;
174
+ var yDir = a.y < c.y ? -1 : 1;
175
+ return "L ".concat(x, ",").concat(y + bendSize * yDir, "Q ").concat(x, ",").concat(y, " ").concat(x + bendSize * xDir, ",").concat(y);
176
+ }
177
+ /**
178
+ * Get a smooth step path from source to target handle
179
+ * @param params.sourceX - The x position of the source handle
180
+ * @param params.sourceY - The y position of the source handle
181
+ * @param params.sourcePosition - The position of the source handle (default: Position.Bottom)
182
+ * @param params.targetX - The x position of the target handle
183
+ * @param params.targetY - The y position of the target handle
184
+ * @param params.targetPosition - The position of the target handle (default: Position.Top)
185
+ * @returns A path string you can use in an SVG, the labelX and labelY position (center of path) and offsetX, offsetY between source handle and label
186
+ * @example
187
+ * const source = { x: 0, y: 20 };
188
+ const target = { x: 150, y: 100 };
189
+
190
+ const [path, labelX, labelY, offsetX, offsetY] = getSmoothStepPath({
191
+ sourceX: source.x,
192
+ sourceY: source.y,
193
+ sourcePosition: Position.Right,
194
+ targetX: target.x,
195
+ targetY: target.y,
196
+ targetPosition: Position.Left,
197
+ });
198
+ */
199
+ export function getSmoothStepPath(_a) {
200
+ var sourceX = _a.sourceX, sourceY = _a.sourceY, _b = _a.sourcePosition, sourcePosition = _b === void 0 ? Position.Bottom : _b, targetX = _a.targetX, targetY = _a.targetY, _c = _a.targetPosition, targetPosition = _c === void 0 ? Position.Top : _c, _d = _a.borderRadius, borderRadius = _d === void 0 ? 5 : _d, centerX = _a.centerX, centerY = _a.centerY, _e = _a.offset, offset = _e === void 0 ? 20 : _e;
201
+ var _f = __read(getPoints({
202
+ source: { x: sourceX, y: sourceY },
203
+ sourcePosition: sourcePosition,
204
+ target: { x: targetX, y: targetY },
205
+ targetPosition: targetPosition,
206
+ center: { x: centerX, y: centerY },
207
+ offset: offset,
208
+ }), 5), points = _f[0], labelX = _f[1], labelY = _f[2], offsetX = _f[3], offsetY = _f[4];
209
+ var path = points.reduce(function (res, p, i) {
210
+ var segment = '';
211
+ if (i > 0 && i < points.length - 1) {
212
+ segment = getBend(points[i - 1], p, points[i + 1], borderRadius);
213
+ }
214
+ else {
215
+ segment = "".concat(i === 0 ? 'M' : 'L').concat(p.x, " ").concat(p.y);
216
+ }
217
+ res += segment;
218
+ return res;
219
+ }, '');
220
+ return [path, labelX, labelY, offsetX, offsetY];
221
+ }
222
+ //# sourceMappingURL=smoothstep-edge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"smoothstep-edge.js","sourceRoot":"","sources":["../../../src/utils/edges/smoothstep-edge.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ import { getEdgeCenter } from './general';
2
+ /**
3
+ * Get a straight path from source to target handle
4
+ * @param params.sourceX - The x position of the source handle
5
+ * @param params.sourceY - The y position of the source handle
6
+ * @param params.targetX - The x position of the target handle
7
+ * @param params.targetY - The y position of the target handle
8
+ * @returns A path string you can use in an SVG, the labelX and labelY position (center of path) and offsetX, offsetY between source handle and label
9
+ * @example
10
+ * const source = { x: 0, y: 20 };
11
+ const target = { x: 150, y: 100 };
12
+
13
+ const [path, labelX, labelY, offsetX, offsetY] = getStraightPath({
14
+ sourceX: source.x,
15
+ sourceY: source.y,
16
+ sourcePosition: Position.Right,
17
+ targetX: target.x,
18
+ targetY: target.y,
19
+ targetPosition: Position.Left,
20
+ });
21
+ */
22
+ export function getStraightPath(_a) {
23
+ var sourceX = _a.sourceX, sourceY = _a.sourceY, targetX = _a.targetX, targetY = _a.targetY;
24
+ var _b = __read(getEdgeCenter({
25
+ sourceX: sourceX,
26
+ sourceY: sourceY,
27
+ targetX: targetX,
28
+ targetY: targetY,
29
+ }), 4), labelX = _b[0], labelY = _b[1], offsetX = _b[2], offsetY = _b[3];
30
+ return ["M ".concat(sourceX, ",").concat(sourceY, "L ").concat(targetX, ",").concat(targetY), labelX, labelY, offsetX, offsetY];
31
+ }
32
+ //# sourceMappingURL=straight-edge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"straight-edge.js","sourceRoot":"","sources":["../../../src/utils/edges/straight-edge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAS1C;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,eAAe,CAAC,EAKR;QAJtB,OAAO,aAAA,EACP,OAAO,aAAA,EACP,OAAO,aAAA,EACP,OAAO,aAAA;IAED,IAAA,KAAA,OAAqC,aAAa,CAAC;QACvD,OAAO,SAAA;QACP,OAAO,SAAA;QACP,OAAO,SAAA;QACP,OAAO,SAAA;KACR,CAAC,IAAA,EALK,MAAM,QAAA,EAAE,MAAM,QAAA,EAAE,OAAO,QAAA,EAAE,OAAO,QAKrC,CAAC;IAEH,OAAO,CAAC,YAAK,OAAO,cAAI,OAAO,eAAK,OAAO,cAAI,OAAO,CAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;AAC9F,CAAC"}
@@ -30,6 +30,13 @@ export declare const nodeToBox: (node: InternalNodeBase | NodeBase, nodeOrigin?:
30
30
  export declare const getBoundsOfRects: (rect1: Rect, rect2: Rect) => Rect;
31
31
  export declare function fixedForwardRef<T, P = {}>(render: (props: P, ref: Ref<T>) => JSX.Element): (props: P & RefAttributes<T>) => JSX.Element;
32
32
  export declare const getOverlappingArea: (rectA: Rect, rectB: Rect) => number;
33
+ /**
34
+ * 检查单个节点是否在视口内可见
35
+ * @param node - 要检查的节点
36
+ * @param paneRect - 视口矩形区域
37
+ * @returns 节点是否可见
38
+ */
39
+ export declare function isNodeInViewport(node: InternalNodeBase, paneRect: Rect): boolean;
33
40
  export declare const getViewportForBounds: (bounds: Rect, width: number, height: number, minZoom: number, maxZoom: number, padding: number) => Viewport;
34
41
  export declare function isCoordinateExtent(extent?: CoordinateExtent | 'parent'): extent is CoordinateExtent;
35
42
  export declare function nodeHasDimensions<NodeType extends NodeBase = NodeBase>(node: NodeType): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"general.d.ts","sourceRoot":"","sources":["../../src/utils/general.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"general.d.ts","sourceRoot":"","sources":["../../src/utils/general.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,228 @@
1
+ import { forwardRef } from 'react';
2
+ import { getNodePositionWithOrigin } from './store';
3
+ export var clamp = function (val, min, max) {
4
+ if (min === void 0) { min = 0; }
5
+ if (max === void 0) { max = 1; }
6
+ return Math.min(Math.max(val, min), max);
7
+ };
8
+ export var clampPosition = function (position, extent) {
9
+ if (position === void 0) { position = { x: 0, y: 0 }; }
10
+ return ({
11
+ x: clamp(position.x, extent[0][0], extent[1][0]),
12
+ y: clamp(position.y, extent[0][1], extent[1][1]),
13
+ });
14
+ };
15
+ export function getNodeDimensions(node) {
16
+ var _a, _b, _c, _d, _e, _f, _g, _h;
17
+ return {
18
+ width: (_d = (_c = (_b = (_a = node.measured) === null || _a === void 0 ? void 0 : _a.width) !== null && _b !== void 0 ? _b : node.width) !== null && _c !== void 0 ? _c : node.initialWidth) !== null && _d !== void 0 ? _d : 0,
19
+ height: (_h = (_g = (_f = (_e = node.measured) === null || _e === void 0 ? void 0 : _e.height) !== null && _f !== void 0 ? _f : node.height) !== null && _g !== void 0 ? _g : node.initialHeight) !== null && _h !== void 0 ? _h : 0,
20
+ };
21
+ }
22
+ export var isNumeric = function (n) { return !isNaN(n) && isFinite(n); };
23
+ export var snapPosition = function (position, snapGrid) {
24
+ if (snapGrid === void 0) { snapGrid = [1, 1]; }
25
+ return {
26
+ x: snapGrid[0] * Math.round(position.x / snapGrid[0]),
27
+ y: snapGrid[1] * Math.round(position.y / snapGrid[1]),
28
+ };
29
+ };
30
+ export var pointToRendererPoint = function (_a, _b, snapToGrid, snapGrid) {
31
+ var x = _a.x, y = _a.y;
32
+ var _c = __read(_b, 3), tx = _c[0], ty = _c[1], tScale = _c[2];
33
+ if (snapToGrid === void 0) { snapToGrid = false; }
34
+ if (snapGrid === void 0) { snapGrid = [1, 1]; }
35
+ var position = {
36
+ x: (x - tx) / tScale,
37
+ y: (y - ty) / tScale,
38
+ };
39
+ return snapToGrid ? snapPosition(position, snapGrid) : position;
40
+ };
41
+ export var nodeToRect = function (node, nodeOrigin) {
42
+ var _a, _b, _c, _d, _e, _f;
43
+ if (nodeOrigin === void 0) { nodeOrigin = [0, 0]; }
44
+ var _g = getNodePositionWithOrigin(node, nodeOrigin).positionAbsolute, x = _g.x, y = _g.y;
45
+ return {
46
+ x: x,
47
+ y: y,
48
+ width: (_c = (_b = (_a = node.measured) === null || _a === void 0 ? void 0 : _a.width) !== null && _b !== void 0 ? _b : node.width) !== null && _c !== void 0 ? _c : 0,
49
+ height: (_f = (_e = (_d = node.measured) === null || _d === void 0 ? void 0 : _d.height) !== null && _e !== void 0 ? _e : node.height) !== null && _f !== void 0 ? _f : 0,
50
+ };
51
+ };
52
+ export var getBoundsOfBoxes = function (box1, box2) { return ({
53
+ x: Math.min(box1.x, box2.x),
54
+ y: Math.min(box1.y, box2.y),
55
+ x2: Math.max(box1.x2, box2.x2),
56
+ y2: Math.max(box1.y2, box2.y2),
57
+ }); };
58
+ export var rectToBox = function (_a) {
59
+ var x = _a.x, y = _a.y, width = _a.width, height = _a.height;
60
+ return ({
61
+ x: x,
62
+ y: y,
63
+ x2: x + width,
64
+ y2: y + height,
65
+ });
66
+ };
67
+ export var boxToRect = function (_a) {
68
+ var x = _a.x, y = _a.y, x2 = _a.x2, y2 = _a.y2;
69
+ return ({
70
+ x: x,
71
+ y: y,
72
+ width: x2 - x,
73
+ height: y2 - y,
74
+ });
75
+ };
76
+ export var nodeToBox = function (node, nodeOrigin) {
77
+ var _a, _b, _c, _d, _e, _f;
78
+ if (nodeOrigin === void 0) { nodeOrigin = [0, 0]; }
79
+ var _g = getNodePositionWithOrigin(node, nodeOrigin).positionAbsolute, x = _g.x, y = _g.y;
80
+ return {
81
+ x: x,
82
+ y: y,
83
+ x2: x + ((_c = (_b = (_a = node.measured) === null || _a === void 0 ? void 0 : _a.width) !== null && _b !== void 0 ? _b : node.width) !== null && _c !== void 0 ? _c : 0),
84
+ y2: y + ((_f = (_e = (_d = node.measured) === null || _d === void 0 ? void 0 : _d.height) !== null && _e !== void 0 ? _e : node.height) !== null && _f !== void 0 ? _f : 0),
85
+ };
86
+ };
87
+ export var getBoundsOfRects = function (rect1, rect2) {
88
+ return boxToRect(getBoundsOfBoxes(rectToBox(rect1), rectToBox(rect2)));
89
+ };
90
+ export function fixedForwardRef(render) {
91
+ // @ts-ignore
92
+ return forwardRef(render);
93
+ }
94
+ export var getOverlappingArea = function (rectA, rectB) {
95
+ var xOverlap = Math.max(0, Math.min(rectA.x + rectA.width, rectB.x + rectB.width) -
96
+ Math.max(rectA.x, rectB.x));
97
+ var yOverlap = Math.max(0, Math.min(rectA.y + rectA.height, rectB.y + rectB.height) -
98
+ Math.max(rectA.y, rectB.y));
99
+ return Math.ceil(xOverlap * yOverlap);
100
+ };
101
+ /**
102
+ * 检查单个节点是否在视口内可见
103
+ * @param node - 要检查的节点
104
+ * @param paneRect - 视口矩形区域
105
+ * @returns 节点是否可见
106
+ */
107
+ export function isNodeInViewport(node, paneRect) {
108
+ var _a, _b, _c, _d, _e, _f;
109
+ if (node.hidden) {
110
+ return false;
111
+ }
112
+ var measured = node.measured;
113
+ var width = (_c = (_b = (_a = measured.width) !== null && _a !== void 0 ? _a : node.width) !== null && _b !== void 0 ? _b : node.initialWidth) !== null && _c !== void 0 ? _c : 0;
114
+ var height = (_f = (_e = (_d = measured.height) !== null && _d !== void 0 ? _d : node.height) !== null && _e !== void 0 ? _e : node.initialHeight) !== null && _f !== void 0 ? _f : 0;
115
+ if (!measured.width || !measured.height) {
116
+ return false;
117
+ }
118
+ var nodeRect = nodeToRect(node);
119
+ var overlappingArea = getOverlappingArea(paneRect, nodeRect);
120
+ var area = width * height;
121
+ // 节点可见的条件:有重叠区域、完全可见或者正在被拖拽
122
+ var partiallyVisible = overlappingArea > 0;
123
+ return partiallyVisible || overlappingArea >= area || !!node.dragging;
124
+ }
125
+ export var getViewportForBounds = function (bounds, width, height, minZoom, maxZoom, padding) {
126
+ var xZoom = width / (bounds.width * (1 + padding));
127
+ var yZoom = height / (bounds.height * (1 + padding));
128
+ var zoom = Math.min(xZoom, yZoom);
129
+ var clampedZoom = clamp(zoom, minZoom, maxZoom);
130
+ var boundsCenterX = bounds.x + bounds.width / 2;
131
+ var boundsCenterY = bounds.y + bounds.height / 2;
132
+ var x = width / 2 - boundsCenterX * clampedZoom;
133
+ var y = height / 2 - boundsCenterY * clampedZoom;
134
+ return { x: x, y: y, zoom: clampedZoom };
135
+ };
136
+ export function isCoordinateExtent(extent) {
137
+ return extent !== undefined && extent !== 'parent';
138
+ }
139
+ export function nodeHasDimensions(node) {
140
+ var _a, _b, _c, _d, _e, _f;
141
+ return (((_c = (_b = (_a = node.measured) === null || _a === void 0 ? void 0 : _a.width) !== null && _b !== void 0 ? _b : node.width) !== null && _c !== void 0 ? _c : node.initialWidth) !== undefined &&
142
+ ((_f = (_e = (_d = node.measured) === null || _d === void 0 ? void 0 : _d.height) !== null && _e !== void 0 ? _e : node.height) !== null && _f !== void 0 ? _f : node.initialHeight) !== undefined);
143
+ }
144
+ var calcAutoPanVelocity = function (value, min, max) {
145
+ if (value < min) {
146
+ return clamp(Math.abs(value - min), 1, 50) / 50;
147
+ }
148
+ else if (value > max) {
149
+ return -clamp(Math.abs(value - max), 1, 50) / 50;
150
+ }
151
+ return 0;
152
+ };
153
+ export var calcAutoPan = function (pos, bounds) {
154
+ var xMovement = calcAutoPanVelocity(pos.x, 35, bounds.width - 35) * 20;
155
+ var yMovement = calcAutoPanVelocity(pos.y, 35, bounds.height - 35) * 20;
156
+ return [xMovement, yMovement];
157
+ };
158
+ export var getPositionWithOrigin = function (_a) {
159
+ var x = _a.x, y = _a.y, width = _a.width, height = _a.height, _b = _a.origin, origin = _b === void 0 ? [0, 0] : _b;
160
+ if (!width ||
161
+ !height ||
162
+ origin[0] < 0 ||
163
+ origin[1] < 0 ||
164
+ origin[0] > 1 ||
165
+ origin[1] > 1) {
166
+ return { x: x, y: y };
167
+ }
168
+ return {
169
+ x: x - width * origin[0],
170
+ y: y - height * origin[1],
171
+ };
172
+ };
173
+ export var rendererPointToPoint = function (_a, _b) {
174
+ var x = _a.x, y = _a.y;
175
+ var _c = __read(_b, 3), tx = _c[0], ty = _c[1], tScale = _c[2];
176
+ return {
177
+ x: x * tScale + tx,
178
+ y: y * tScale + ty,
179
+ };
180
+ };
181
+ export var isMacOs = function () { var _a; return typeof navigator !== 'undefined' && ((_a = navigator === null || navigator === void 0 ? void 0 : navigator.userAgent) === null || _a === void 0 ? void 0 : _a.indexOf('Mac')) >= 0; };
182
+ export var isNode = function (element) { return isNodeBase(element); };
183
+ export var isNodeBase = function (element) {
184
+ return 'id' in element &&
185
+ 'position' in element &&
186
+ !('source' in element) &&
187
+ !('target' in element);
188
+ };
189
+ /**
190
+ * Convert child position to aboslute position
191
+ *
192
+ * @internal
193
+ * @param position
194
+ * @param parentId
195
+ * @param nodeLookup
196
+ * @param nodeOrigin
197
+ * @returns an internal node with an absolute position
198
+ */
199
+ export function evaluateAbsolutePosition(position, parentId, nodeLookup, nodeOrigin, dimensions) {
200
+ var _a, _b;
201
+ if (nodeOrigin === void 0) { nodeOrigin = [0, 0]; }
202
+ if (dimensions === void 0) { dimensions = { width: 0, height: 0 }; }
203
+ var nextParentId = parentId;
204
+ var positionAbsolute = __assign({}, position);
205
+ while (nextParentId) {
206
+ var parent_1 = nodeLookup.get(parentId);
207
+ nextParentId = parent_1 === null || parent_1 === void 0 ? void 0 : parent_1.parentId;
208
+ if (parent_1) {
209
+ var origin_1 = parent_1.origin || nodeOrigin;
210
+ positionAbsolute.x += parent_1.internals.positionAbsolute.x - ((_a = dimensions.width) !== null && _a !== void 0 ? _a : 0) * origin_1[0];
211
+ positionAbsolute.y += parent_1.internals.positionAbsolute.y - ((_b = dimensions.height) !== null && _b !== void 0 ? _b : 0) * origin_1[1];
212
+ }
213
+ }
214
+ return positionAbsolute;
215
+ }
216
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
217
+ export var isRectObject = function (obj) {
218
+ return isNumeric(obj.width) &&
219
+ isNumeric(obj.height) &&
220
+ isNumeric(obj.x) &&
221
+ isNumeric(obj.y);
222
+ };
223
+ export var devWarn = function (id, message) {
224
+ if (process.env.NODE_ENV === 'development') {
225
+ console.warn("[Ink Flow]: ".concat(message));
226
+ }
227
+ };
228
+ //# sourceMappingURL=general.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"general.js","sourceRoot":"","sources":["../../src/utils/general.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"graph.d.ts","sourceRoot":"","sources":["../../src/utils/graph.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"graph.d.ts","sourceRoot":"","sources":["../../src/utils/graph.ts"],"names":[],"mappings":"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"}