@aloudata/ink-flow 1.0.27 → 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 (237) 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.js +11 -0
  90. package/dist/container/Viewport/index.js.map +1 -0
  91. package/dist/container/ZoomPane/index.js +108 -0
  92. package/dist/container/ZoomPane/index.js.map +1 -0
  93. package/dist/contexts/NodeIdContext.js +10 -0
  94. package/dist/contexts/NodeIdContext.js.map +1 -0
  95. package/dist/contexts/StoreContext.js +5 -0
  96. package/dist/contexts/StoreContext.js.map +1 -0
  97. package/dist/hooks/index.js +7 -0
  98. package/dist/hooks/index.js.map +1 -0
  99. package/dist/hooks/useConnection.js +47 -0
  100. package/dist/hooks/useConnection.js.map +1 -0
  101. package/dist/hooks/useDrag.js +56 -0
  102. package/dist/hooks/useDrag.js.map +1 -0
  103. package/dist/hooks/useEdgesState.js +6 -0
  104. package/dist/hooks/useEdgesState.js.map +1 -0
  105. package/dist/hooks/useGlobalKeyHandler.js +34 -0
  106. package/dist/hooks/useGlobalKeyHandler.js.map +1 -0
  107. package/dist/hooks/useInkFlow.js +185 -0
  108. package/dist/hooks/useInkFlow.js.map +1 -0
  109. package/dist/hooks/useIsomorphicLayoutEffect.d.ts +2 -2
  110. package/dist/hooks/useIsomorphicLayoutEffect.d.ts.map +1 -1
  111. package/dist/hooks/useIsomorphicLayoutEffect.js +4 -0
  112. package/dist/hooks/useIsomorphicLayoutEffect.js.map +1 -0
  113. package/dist/hooks/useKeyPress.js +117 -0
  114. package/dist/hooks/useKeyPress.js.map +1 -0
  115. package/dist/hooks/useMoveSelectedNodes.js +65 -0
  116. package/dist/hooks/useMoveSelectedNodes.js.map +1 -0
  117. package/dist/hooks/useNodeInView.js +41 -0
  118. package/dist/hooks/useNodeInView.js.map +1 -0
  119. package/dist/hooks/useNodesInView.js +52 -0
  120. package/dist/hooks/useNodesInView.js.map +1 -0
  121. package/dist/hooks/useNodesState.js +6 -0
  122. package/dist/hooks/useNodesState.js.map +1 -0
  123. package/dist/hooks/useResizeHandler.js +38 -0
  124. package/dist/hooks/useResizeHandler.js.map +1 -0
  125. package/dist/hooks/useStore.js +37 -0
  126. package/dist/hooks/useStore.js.map +1 -0
  127. package/dist/hooks/useViewportHelper.js +149 -0
  128. package/dist/hooks/useViewportHelper.js.map +1 -0
  129. package/dist/hooks/useVisibleEdgeIds.js +50 -0
  130. package/dist/hooks/useVisibleEdgeIds.js.map +1 -0
  131. package/dist/hooks/useVisibleNodeIds.js +21 -0
  132. package/dist/hooks/useVisibleNodeIds.js.map +1 -0
  133. package/dist/index.js +18 -0
  134. package/dist/index.js.map +1 -0
  135. package/dist/plugins/Background/Background.js +49 -0
  136. package/dist/plugins/Background/Background.js.map +1 -0
  137. package/dist/plugins/Background/Patterns.js +11 -0
  138. package/dist/plugins/Background/Patterns.js.map +1 -0
  139. package/dist/plugins/Background/index.js +3 -0
  140. package/dist/plugins/Background/index.js.map +1 -0
  141. package/dist/plugins/Background/types.js +7 -0
  142. package/dist/plugins/Background/types.js.map +1 -0
  143. package/dist/plugins/Controls/ControlButton.js +7 -0
  144. package/dist/plugins/Controls/ControlButton.js.map +1 -0
  145. package/dist/plugins/Controls/Controls.js +49 -0
  146. package/dist/plugins/Controls/Controls.js.map +1 -0
  147. package/dist/plugins/Controls/Icons/FitView.js +5 -0
  148. package/dist/plugins/Controls/Icons/FitView.js.map +1 -0
  149. package/dist/plugins/Controls/Icons/Lock.js +5 -0
  150. package/dist/plugins/Controls/Icons/Lock.js.map +1 -0
  151. package/dist/plugins/Controls/Icons/Minus.js +5 -0
  152. package/dist/plugins/Controls/Icons/Minus.js.map +1 -0
  153. package/dist/plugins/Controls/Icons/Plus.js +5 -0
  154. package/dist/plugins/Controls/Icons/Plus.js.map +1 -0
  155. package/dist/plugins/Controls/Icons/Unlock.js +5 -0
  156. package/dist/plugins/Controls/Icons/Unlock.js.map +1 -0
  157. package/dist/plugins/Controls/index.js +3 -0
  158. package/dist/plugins/Controls/index.js.map +1 -0
  159. package/dist/plugins/Controls/types.js +2 -0
  160. package/dist/plugins/Controls/types.js.map +1 -0
  161. package/dist/plugins/NodeResizer/NodeResizeControl.js +166 -0
  162. package/dist/plugins/NodeResizer/NodeResizeControl.js.map +1 -0
  163. package/dist/plugins/NodeResizer/NodeResizer.js +35 -0
  164. package/dist/plugins/NodeResizer/NodeResizer.js.map +1 -0
  165. package/dist/plugins/NodeResizer/index.js +4 -0
  166. package/dist/plugins/NodeResizer/index.js.map +1 -0
  167. package/dist/plugins/NodeResizer/types.js +2 -0
  168. package/dist/plugins/NodeResizer/types.js.map +1 -0
  169. package/dist/plugins/index.js +4 -0
  170. package/dist/plugins/index.js.map +1 -0
  171. package/dist/store/index.d.ts.map +1 -1
  172. package/dist/store/index.js +384 -0
  173. package/dist/store/index.js.map +1 -0
  174. package/dist/store/initialState.d.ts.map +1 -1
  175. package/dist/store/initialState.js +84 -0
  176. package/dist/store/initialState.js.map +1 -0
  177. package/dist/styles/utils.js +8 -0
  178. package/dist/styles/utils.js.map +1 -0
  179. package/dist/types/edges.js +2 -0
  180. package/dist/types/edges.js.map +1 -0
  181. package/dist/types/general.js +2 -0
  182. package/dist/types/general.js.map +1 -0
  183. package/dist/types/index.js +7 -0
  184. package/dist/types/index.js.map +1 -0
  185. package/dist/types/instance.js +2 -0
  186. package/dist/types/instance.js.map +1 -0
  187. package/dist/types/layout.js +2 -0
  188. package/dist/types/layout.js.map +1 -0
  189. package/dist/types/nodes.js +2 -0
  190. package/dist/types/nodes.js.map +1 -0
  191. package/dist/types/props.js +2 -0
  192. package/dist/types/props.js.map +1 -0
  193. package/dist/types/store.js +2 -0
  194. package/dist/types/store.js.map +1 -0
  195. package/dist/types/utils/types.js +2 -0
  196. package/dist/types/utils/types.js.map +1 -0
  197. package/dist/utils/changes.js +213 -0
  198. package/dist/utils/changes.js.map +1 -0
  199. package/dist/utils/dom.d.ts.map +1 -1
  200. package/dist/utils/dom.js +38 -0
  201. package/dist/utils/dom.js.map +1 -0
  202. package/dist/utils/edges/bezier-edge.js +96 -0
  203. package/dist/utils/edges/bezier-edge.js.map +1 -0
  204. package/dist/utils/edges/general.d.ts.map +1 -1
  205. package/dist/utils/edges/general.js +108 -0
  206. package/dist/utils/edges/general.js.map +1 -0
  207. package/dist/utils/edges/index.js +6 -0
  208. package/dist/utils/edges/index.js.map +1 -0
  209. package/dist/utils/edges/positions.js +101 -0
  210. package/dist/utils/edges/positions.js.map +1 -0
  211. package/dist/utils/edges/smoothstep-edge.js +222 -0
  212. package/dist/utils/edges/smoothstep-edge.js.map +1 -0
  213. package/dist/utils/edges/straight-edge.js +32 -0
  214. package/dist/utils/edges/straight-edge.js.map +1 -0
  215. package/dist/utils/general.d.ts.map +1 -1
  216. package/dist/utils/general.js +228 -0
  217. package/dist/utils/general.js.map +1 -0
  218. package/dist/utils/graph.d.ts.map +1 -1
  219. package/dist/utils/graph.js +368 -0
  220. package/dist/utils/graph.js.map +1 -0
  221. package/dist/utils/layout.js +142 -0
  222. package/dist/utils/layout.js.map +1 -0
  223. package/dist/utils/marker.js +35 -0
  224. package/dist/utils/marker.js.map +1 -0
  225. package/dist/utils/node.js +42 -0
  226. package/dist/utils/node.js.map +1 -0
  227. package/dist/utils/positions.js +101 -0
  228. package/dist/utils/positions.js.map +1 -0
  229. package/dist/utils/store.d.ts.map +1 -1
  230. package/dist/utils/store.js +162 -0
  231. package/dist/utils/store.js.map +1 -0
  232. package/package.json +2 -2
  233. package/dist/index.cjs.js +0 -25
  234. package/dist/index.cjs.js.map +0 -1
  235. package/dist/index.esm.js +0 -25
  236. package/dist/index.esm.js.map +0 -1
  237. package/dist/style.css +0 -814
@@ -0,0 +1,108 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ /* eslint-disable @typescript-eslint/no-explicit-any */
3
+ import { useEffect, useRef } from 'react';
4
+ import { shallow } from 'zustand/shallow';
5
+ import { useStore, useStoreApi } from '../../hooks/useStore';
6
+ import { containerStyle } from '../../styles/utils';
7
+ import { useKeyPress } from '../../hooks/useKeyPress';
8
+ import { useResizeHandler } from '../../hooks/useResizeHandler';
9
+ import { PanOnScrollMode, XYPanZoom, } from '@aloudata/ink-core';
10
+ var selector = function (s) { return ({
11
+ userSelectionActive: s.userSelectionActive,
12
+ lib: s.lib,
13
+ }); };
14
+ export function ZoomPane(_a) {
15
+ var onPaneContextMenu = _a.onPaneContextMenu, _b = _a.zoomOnScroll, zoomOnScroll = _b === void 0 ? true : _b, _c = _a.zoomOnPinch, zoomOnPinch = _c === void 0 ? true : _c, _d = _a.panOnScroll, panOnScroll = _d === void 0 ? false : _d, _e = _a.panOnScrollSpeed, panOnScrollSpeed = _e === void 0 ? 0.5 : _e, _f = _a.panOnScrollMode, panOnScrollMode = _f === void 0 ? PanOnScrollMode.Free : _f, _g = _a.zoomOnDoubleClick, zoomOnDoubleClick = _g === void 0 ? true : _g, _h = _a.panOnDrag, panOnDrag = _h === void 0 ? true : _h, defaultViewport = _a.defaultViewport, translateExtent = _a.translateExtent, zoomActivationKeyCode = _a.zoomActivationKeyCode, _j = _a.preventScrolling, preventScrolling = _j === void 0 ? true : _j, children = _a.children, noWheelClassName = _a.noWheelClassName, noPanClassName = _a.noPanClassName, onViewportChange = _a.onViewportChange, isControlledViewport = _a.isControlledViewport;
16
+ var store = useStoreApi();
17
+ var zoomPane = useRef(null);
18
+ var _k = useStore(selector, shallow), userSelectionActive = _k.userSelectionActive, lib = _k.lib;
19
+ var zoomActivationKeyPressed = useKeyPress(zoomActivationKeyCode);
20
+ var panZoom = useRef();
21
+ useResizeHandler(zoomPane);
22
+ useEffect(function () {
23
+ if (zoomPane.current) {
24
+ var state = store.getState();
25
+ panZoom.current = XYPanZoom({
26
+ domNode: zoomPane.current,
27
+ minZoom: state.minZoom,
28
+ maxZoom: state.maxZoom,
29
+ translateExtent: translateExtent,
30
+ viewport: defaultViewport,
31
+ onTransformChange: function (transform) {
32
+ onViewportChange === null || onViewportChange === void 0 ? void 0 : onViewportChange({
33
+ x: transform[0],
34
+ y: transform[1],
35
+ zoom: transform[2],
36
+ });
37
+ if (!isControlledViewport) {
38
+ store.setState({ transform: transform });
39
+ }
40
+ },
41
+ onDraggingChange: function (paneDragging) {
42
+ return store.setState({ paneDragging: paneDragging });
43
+ },
44
+ onPanZoomStart: function (event, vp) {
45
+ var _a = store.getState(), onViewportChangeStart = _a.onViewportChangeStart, onMoveStart = _a.onMoveStart;
46
+ onMoveStart === null || onMoveStart === void 0 ? void 0 : onMoveStart(event, vp);
47
+ onViewportChangeStart === null || onViewportChangeStart === void 0 ? void 0 : onViewportChangeStart(vp);
48
+ },
49
+ onPanZoom: function (event, vp) {
50
+ var _a = store.getState(), onViewportChange = _a.onViewportChange, onMove = _a.onMove;
51
+ onMove === null || onMove === void 0 ? void 0 : onMove(event, vp);
52
+ onViewportChange === null || onViewportChange === void 0 ? void 0 : onViewportChange(vp);
53
+ },
54
+ onPanZoomEnd: function (event, vp) {
55
+ var _a = store.getState(), onViewportChangeEnd = _a.onViewportChangeEnd, onMoveEnd = _a.onMoveEnd;
56
+ onMoveEnd === null || onMoveEnd === void 0 ? void 0 : onMoveEnd(event, vp);
57
+ onViewportChangeEnd === null || onViewportChangeEnd === void 0 ? void 0 : onViewportChangeEnd(vp);
58
+ },
59
+ });
60
+ var _a = panZoom.current.getViewport(), x = _a.x, y = _a.y, zoom = _a.zoom;
61
+ store.setState({
62
+ panZoom: panZoom.current,
63
+ transform: [x, y, zoom],
64
+ domNode: zoomPane.current.closest('.ink-flow'),
65
+ });
66
+ return function () {
67
+ var _a;
68
+ (_a = panZoom.current) === null || _a === void 0 ? void 0 : _a.destroy();
69
+ };
70
+ }
71
+ }, []);
72
+ useEffect(function () {
73
+ var _a;
74
+ (_a = panZoom.current) === null || _a === void 0 ? void 0 : _a.update({
75
+ onPaneContextMenu: onPaneContextMenu,
76
+ zoomOnScroll: zoomOnScroll,
77
+ zoomOnPinch: zoomOnPinch,
78
+ panOnScroll: panOnScroll,
79
+ panOnScrollSpeed: panOnScrollSpeed,
80
+ panOnScrollMode: panOnScrollMode,
81
+ zoomOnDoubleClick: zoomOnDoubleClick,
82
+ panOnDrag: panOnDrag,
83
+ zoomActivationKeyPressed: zoomActivationKeyPressed,
84
+ preventScrolling: preventScrolling,
85
+ noPanClassName: noPanClassName,
86
+ userSelectionActive: userSelectionActive,
87
+ noWheelClassName: noWheelClassName,
88
+ lib: lib,
89
+ });
90
+ }, [
91
+ onPaneContextMenu,
92
+ zoomOnScroll,
93
+ zoomOnPinch,
94
+ panOnScroll,
95
+ panOnScrollSpeed,
96
+ panOnScrollMode,
97
+ zoomOnDoubleClick,
98
+ panOnDrag,
99
+ zoomActivationKeyPressed,
100
+ preventScrolling,
101
+ noPanClassName,
102
+ userSelectionActive,
103
+ noWheelClassName,
104
+ lib,
105
+ ]);
106
+ return (_jsx("div", { className: "ink-flow__renderer", ref: zoomPane, style: containerStyle, children: children }));
107
+ }
108
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/container/ZoomPane/index.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import { createContext, useContext } from 'react';
2
+ export var NodeIdContext = createContext(null);
3
+ export var Provider = NodeIdContext.Provider;
4
+ export var Consumer = NodeIdContext.Consumer;
5
+ export var useNodeId = function () {
6
+ var nodeId = useContext(NodeIdContext);
7
+ return nodeId;
8
+ };
9
+ export default NodeIdContext;
10
+ //# sourceMappingURL=NodeIdContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NodeIdContext.js","sourceRoot":"","sources":["../../src/contexts/NodeIdContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAElD,MAAM,CAAC,IAAM,aAAa,GAAG,aAAa,CAAgB,IAAI,CAAC,CAAC;AAChE,MAAM,CAAC,IAAM,QAAQ,GAAG,aAAa,CAAC,QAAQ,CAAC;AAC/C,MAAM,CAAC,IAAM,QAAQ,GAAG,aAAa,CAAC,QAAQ,CAAC;AAE/C,MAAM,CAAC,IAAM,SAAS,GAAG;IACvB,IAAM,MAAM,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC;IACzC,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF,eAAe,aAAa,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { createContext } from 'react';
2
+ var StoreContext = createContext(null);
3
+ export var Provider = StoreContext.Provider;
4
+ export default StoreContext;
5
+ //# sourceMappingURL=StoreContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StoreContext.js","sourceRoot":"","sources":["../../src/contexts/StoreContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAItC,IAAM,YAAY,GAAG,aAAa,CAAwC,IAAI,CAAC,CAAC;AAEhF,MAAM,CAAC,IAAM,QAAQ,GAAG,YAAY,CAAC,QAAQ,CAAC;AAC9C,eAAe,YAAY,CAAC"}
@@ -0,0 +1,7 @@
1
+ export * from './useStore';
2
+ export * from './useEdgesState';
3
+ export * from './useNodesState';
4
+ export * from './useInkFlow';
5
+ export * from './useNodesInView';
6
+ export * from './useNodeInView';
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC"}
@@ -0,0 +1,47 @@
1
+ import { shallow } from 'zustand/shallow';
2
+ import { useStore } from './useStore';
3
+ import { pointToRendererPoint } from '@aloudata/ink-core';
4
+ function storeSelector(s) {
5
+ return s.connection.inProgress
6
+ ? __assign(__assign({}, s.connection), { to: pointToRendererPoint(s.connection.to, s.transform) }) : __assign({}, s.connection);
7
+ }
8
+ function getSelector(connectionSelector) {
9
+ if (connectionSelector) {
10
+ var combinedSelector = function (s) {
11
+ var connection = storeSelector(s);
12
+ return connectionSelector(connection);
13
+ };
14
+ return combinedSelector;
15
+ }
16
+ return storeSelector;
17
+ }
18
+ /**
19
+ * The `useConnection` hook returns the current connection when there is an active
20
+ * connection interaction. If no connection interaction is active, it returns null
21
+ * for every property. A typical use case for this hook is to colorize handles
22
+ * based on a certain condition (e.g. if the connection is valid or not).
23
+ *
24
+ * @public
25
+ * @example
26
+ *
27
+ * ```tsx
28
+ *import { useConnection } from '@xyflow/react';
29
+ *
30
+ *function App() {
31
+ * const connection = useConnection();
32
+ *
33
+ * return (
34
+ * <div> {connection ? `Someone is trying to make a connection from ${connection.fromNode} to this one.` : 'There are currently no incoming connections!'}
35
+ *
36
+ * </div>
37
+ * );
38
+ * }
39
+ * ```
40
+ *
41
+ * @returns ConnectionState
42
+ */
43
+ export function useConnection(connectionSelector) {
44
+ var combinedSelector = getSelector(connectionSelector);
45
+ return useStore(combinedSelector, shallow);
46
+ }
47
+ //# sourceMappingURL=useConnection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useConnection.js","sourceRoot":"","sources":["../../src/hooks/useConnection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAE1C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,OAAO,EAAmB,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE3E,SAAS,aAAa,CAAC,CAAe;IACpC,OAAO,CAAC,CAAC,UAAU,CAAC,UAAU;QAC5B,CAAC,uBACM,CAAC,CAAC,UAAU,KACf,EAAE,EAAE,oBAAoB,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,IAE1D,CAAC,cAAM,CAAC,CAAC,UAAU,CAAE,CAAC;AAC1B,CAAC;AAED,SAAS,WAAW,CAIlB,kBAEmB;IAEnB,IAAI,kBAAkB,EAAE,CAAC;QACvB,IAAM,gBAAgB,GAAG,UAAC,CAAe;YACvC,IAAM,UAAU,GAAG,aAAa,CAAC,CAAC,CAEjC,CAAC;YACF,OAAO,kBAAkB,CAAC,UAAU,CAAC,CAAC;QACxC,CAAC,CAAC;QACF,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IAED,OAAO,aAAa,CAAC;AACvB,CAAC;AACD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,UAAU,aAAa,CAI3B,kBAEmB;IAEnB,IAAM,gBAAgB,GAAG,WAAW,CAClC,kBAAkB,CACnB,CAAC;IACF,OAAO,QAAQ,CAAC,gBAAgB,EAAE,OAAO,CAAmB,CAAC;AAC/D,CAAC"}
@@ -0,0 +1,56 @@
1
+ import { useEffect, useRef, useState } from 'react';
2
+ import { useStoreApi } from './useStore';
3
+ import { handleNodeClick } from '../components/Nodes/utils';
4
+ import { XYDrag } from '@aloudata/ink-core';
5
+ export function useDrag(_a) {
6
+ var nodeRef = _a.nodeRef, _b = _a.disabled, disabled = _b === void 0 ? false : _b, noDragClassName = _a.noDragClassName, handleSelector = _a.handleSelector, nodeId = _a.nodeId, isSelectable = _a.isSelectable;
7
+ var store = useStoreApi();
8
+ var _c = __read(useState(false), 2), dragging = _c[0], setDragging = _c[1];
9
+ var xyDrag = useRef();
10
+ useEffect(function () {
11
+ xyDrag.current = XYDrag({
12
+ getStoreItems: function () { return store.getState(); },
13
+ onNodeMouseDown: function (id) {
14
+ handleNodeClick({
15
+ id: id,
16
+ store: store,
17
+ nodeRef: nodeRef,
18
+ });
19
+ },
20
+ onDragStart: function () {
21
+ setDragging(true);
22
+ },
23
+ onDragStop: function () {
24
+ setDragging(false);
25
+ },
26
+ });
27
+ }, []);
28
+ useEffect(function () {
29
+ var _a, _b;
30
+ if (disabled) {
31
+ (_a = xyDrag.current) === null || _a === void 0 ? void 0 : _a.destroy();
32
+ }
33
+ else if (nodeRef.current) {
34
+ (_b = xyDrag.current) === null || _b === void 0 ? void 0 : _b.update({
35
+ noDragClassName: noDragClassName,
36
+ handleSelector: handleSelector,
37
+ domNode: nodeRef.current,
38
+ isSelectable: isSelectable,
39
+ nodeId: nodeId,
40
+ });
41
+ return function () {
42
+ var _a;
43
+ (_a = xyDrag.current) === null || _a === void 0 ? void 0 : _a.destroy();
44
+ };
45
+ }
46
+ }, [
47
+ noDragClassName,
48
+ handleSelector,
49
+ disabled,
50
+ isSelectable,
51
+ nodeRef,
52
+ nodeId,
53
+ ]);
54
+ return dragging;
55
+ }
56
+ //# sourceMappingURL=useDrag.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDrag.js","sourceRoot":"","sources":["../../src/hooks/useDrag.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAkB,MAAM,OAAO,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,MAAM,EAAkB,MAAM,oBAAoB,CAAC;AAW5D,MAAM,UAAU,OAAO,CAAC,EAOR;QANd,OAAO,aAAA,EACP,gBAAgB,EAAhB,QAAQ,mBAAG,KAAK,KAAA,EAChB,eAAe,qBAAA,EACf,cAAc,oBAAA,EACd,MAAM,YAAA,EACN,YAAY,kBAAA;IAEZ,IAAM,KAAK,GAAG,WAAW,EAAE,CAAC;IACtB,IAAA,KAAA,OAA0B,QAAQ,CAAU,KAAK,CAAC,IAAA,EAAjD,QAAQ,QAAA,EAAE,WAAW,QAA4B,CAAC;IACzD,IAAM,MAAM,GAAG,MAAM,EAAkB,CAAC;IAExC,SAAS,CAAC;QACR,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC;YACtB,aAAa,EAAE,cAAM,OAAA,KAAK,CAAC,QAAQ,EAAE,EAAhB,CAAgB;YACrC,eAAe,EAAE,UAAC,EAAU;gBAC1B,eAAe,CAAC;oBACd,EAAE,IAAA;oBACF,KAAK,OAAA;oBACL,OAAO,SAAA;iBACR,CAAC,CAAC;YACL,CAAC;YACD,WAAW,EAAE;gBACX,WAAW,CAAC,IAAI,CAAC,CAAC;YACpB,CAAC;YACD,UAAU,EAAE;gBACV,WAAW,CAAC,KAAK,CAAC,CAAC;YACrB,CAAC;SACF,CAAC,CAAC;IACL,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,SAAS,CAAC;;QACR,IAAI,QAAQ,EAAE,CAAC;YACb,MAAA,MAAM,CAAC,OAAO,0CAAE,OAAO,EAAE,CAAC;QAC5B,CAAC;aAAM,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YAC3B,MAAA,MAAM,CAAC,OAAO,0CAAE,MAAM,CAAC;gBACrB,eAAe,iBAAA;gBACf,cAAc,gBAAA;gBACd,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,YAAY,cAAA;gBACZ,MAAM,QAAA;aACP,CAAC,CAAC;YACH,OAAO;;gBACL,MAAA,MAAM,CAAC,OAAO,0CAAE,OAAO,EAAE,CAAC;YAC5B,CAAC,CAAC;QACJ,CAAC;IACH,CAAC,EAAE;QACD,eAAe;QACf,cAAc;QACd,QAAQ;QACR,YAAY;QACZ,OAAO;QACP,MAAM;KACP,CAAC,CAAC;IAEH,OAAO,QAAQ,CAAC;AAClB,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { useState } from 'react';
2
+ export function useEdgesState(initialEdges) {
3
+ var _a = __read(useState(initialEdges), 2), edges = _a[0], setEdges = _a[1];
4
+ return [edges, setEdges];
5
+ }
6
+ //# sourceMappingURL=useEdgesState.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useEdgesState.js","sourceRoot":"","sources":["../../src/hooks/useEdgesState.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAsC,MAAM,OAAO,CAAC;AAGrE,MAAM,UAAU,aAAa,CAC3B,YAAwB;IAElB,IAAA,KAAA,OAAoB,QAAQ,CAAC,YAAY,CAAC,IAAA,EAAzC,KAAK,QAAA,EAAE,QAAQ,QAA0B,CAAC;IAEjD,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;AAC3B,CAAC"}
@@ -0,0 +1,34 @@
1
+ import { useEffect } from 'react';
2
+ import { useStoreApi } from '../hooks/useStore';
3
+ import { useKeyPress } from './useKeyPress';
4
+ import { useInkFlow } from './useInkFlow';
5
+ var selected = function (item) { return item.selected; };
6
+ var deleteKeyOptions = {
7
+ actInsideInputWithModifier: false,
8
+ };
9
+ /**
10
+ * Hook for handling global key events.
11
+ *
12
+ * @internal
13
+ */
14
+ export function useGlobalKeyHandler(_a) {
15
+ var deleteKeyCode = _a.deleteKeyCode, multiSelectionKeyCode = _a.multiSelectionKeyCode;
16
+ var store = useStoreApi();
17
+ var deleteElements = useInkFlow().deleteElements;
18
+ var deleteKeyPressed = useKeyPress(deleteKeyCode, deleteKeyOptions);
19
+ var multiSelectionKeyPressed = useKeyPress(multiSelectionKeyCode);
20
+ useEffect(function () {
21
+ if (deleteKeyPressed) {
22
+ var _a = store.getState(), edgeLookup = _a.edgeLookup, nodeLookup = _a.nodeLookup;
23
+ deleteElements({
24
+ nodes: Array.from(nodeLookup.values()).filter(selected),
25
+ edges: Array.from(edgeLookup.values()).filter(selected),
26
+ });
27
+ store.setState({ nodesSelectionActive: false });
28
+ }
29
+ }, [deleteKeyPressed]);
30
+ useEffect(function () {
31
+ store.setState({ multiSelectionActive: multiSelectionKeyPressed });
32
+ }, [multiSelectionKeyPressed]);
33
+ }
34
+ //# sourceMappingURL=useGlobalKeyHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useGlobalKeyHandler.js","sourceRoot":"","sources":["../../src/hooks/useGlobalKeyHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAsB,MAAM,eAAe,CAAC;AAGhE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,IAAM,QAAQ,GAAG,UAAC,IAAiB,IAAK,OAAA,IAAI,CAAC,QAAQ,EAAb,CAAa,CAAC;AAEtD,IAAM,gBAAgB,GAAuB;IAC3C,0BAA0B,EAAE,KAAK;CAClC,CAAC;AAEF;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,EAMnC;QALC,aAAa,mBAAA,EACb,qBAAqB,2BAAA;IAKrB,IAAM,KAAK,GAAG,WAAW,EAAE,CAAC;IACpB,IAAA,cAAc,GAAK,UAAU,EAAE,eAAjB,CAAkB;IAExC,IAAM,gBAAgB,GAAG,WAAW,CAAC,aAAa,EAAE,gBAAgB,CAAC,CAAC;IACtE,IAAM,wBAAwB,GAAG,WAAW,CAAC,qBAAqB,CAAC,CAAC;IAEpE,SAAS,CAAC;QACR,IAAI,gBAAgB,EAAE,CAAC;YACf,IAAA,KAA6B,KAAK,CAAC,QAAQ,EAAE,EAA3C,UAAU,gBAAA,EAAE,UAAU,gBAAqB,CAAC;YACpD,cAAc,CAAC;gBACb,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;gBACvD,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;aACxD,CAAC,CAAC;YACH,KAAK,CAAC,QAAQ,CAAC,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAAC,CAAC;QAClD,CAAC;IACH,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAEvB,SAAS,CAAC;QACR,KAAK,CAAC,QAAQ,CAAC,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,CAAC,CAAC;IACrE,CAAC,EAAE,CAAC,wBAAwB,CAAC,CAAC,CAAC;AACjC,CAAC"}
@@ -0,0 +1,185 @@
1
+ import { useEffect, useMemo } from 'react';
2
+ import { useStore, useStoreApi } from './useStore';
3
+ import { useBatchContext } from '../components/BatchProvider';
4
+ import useViewportHelper from './useViewportHelper';
5
+ import { nodeToRect, getOverlappingArea, isNode, evaluateAbsolutePosition, isRectObject, } from '../utils/general';
6
+ import { getElementsToRemove } from '../utils/graph';
7
+ var selector = function (s) { return !!s.panZoom; };
8
+ /**
9
+ * Hook for accessing the ReactFlow instance.
10
+ *
11
+ * @public
12
+ * @returns ReactFlowInstance
13
+ */
14
+ export function useInkFlow() {
15
+ var _this = this;
16
+ var viewportHelper = useViewportHelper();
17
+ var store = useStoreApi();
18
+ var batchContext = useBatchContext();
19
+ var viewportInitialized = useStore(selector);
20
+ useEffect(function () {
21
+ // @ts-ignore
22
+ window.inkFlowStoreState = store.getState();
23
+ }, [store]);
24
+ var generalHelper = useMemo(function () {
25
+ var getInternalNode = function (id) {
26
+ return store.getState().nodeLookup.get(id);
27
+ };
28
+ var setNodes = function (payload) {
29
+ batchContext.nodeQueue.push(payload);
30
+ };
31
+ var getNodeRect = function (node) {
32
+ var _a, _b, _c, _d;
33
+ var _e = store.getState(), nodeLookup = _e.nodeLookup, nodeOrigin = _e.nodeOrigin;
34
+ var nodeToUse = isNode(node)
35
+ ? node
36
+ : nodeLookup.get(node.id);
37
+ var position = nodeToUse.parentId
38
+ ? evaluateAbsolutePosition(nodeToUse.position, nodeToUse.parentId, nodeLookup, nodeOrigin)
39
+ : nodeToUse.position;
40
+ var nodeWithPosition = {
41
+ id: nodeToUse.id,
42
+ position: position,
43
+ width: (_b = (_a = nodeToUse.measured) === null || _a === void 0 ? void 0 : _a.width) !== null && _b !== void 0 ? _b : nodeToUse.width,
44
+ height: (_d = (_c = nodeToUse.measured) === null || _c === void 0 ? void 0 : _c.height) !== null && _d !== void 0 ? _d : nodeToUse.height,
45
+ data: nodeToUse.data,
46
+ };
47
+ return nodeToRect(nodeWithPosition);
48
+ };
49
+ var updateNode = function (id, nodeUpdate, options) {
50
+ if (options === void 0) { options = { replace: false }; }
51
+ setNodes(function (prevNodes) {
52
+ return prevNodes.map(function (node) {
53
+ if (node.id === id) {
54
+ var nextNode = typeof nodeUpdate === 'function'
55
+ ? nodeUpdate(node)
56
+ : nodeUpdate;
57
+ return options.replace && isNode(nextNode)
58
+ ? nextNode
59
+ : __assign(__assign({}, node), nextNode);
60
+ }
61
+ return node;
62
+ });
63
+ });
64
+ };
65
+ return {
66
+ getNodes: function () {
67
+ return store.getState().nodes.map(function (n) { return (__assign({}, n)); });
68
+ },
69
+ getNode: function (id) { var _a; return (_a = getInternalNode(id)) === null || _a === void 0 ? void 0 : _a.internals.userNode; },
70
+ getInternalNode: getInternalNode,
71
+ getEdges: function () {
72
+ var _a = store.getState().edges, edges = _a === void 0 ? [] : _a;
73
+ return edges.map(function (e) { return (__assign({}, e)); });
74
+ },
75
+ getEdge: function (id) { return store.getState().edgeLookup.get(id); },
76
+ setNodes: setNodes,
77
+ setEdges: function (payload) {
78
+ batchContext.edgeQueue.push(payload);
79
+ },
80
+ addNodes: function (payload) {
81
+ var newNodes = Array.isArray(payload) ? payload : [payload];
82
+ batchContext.nodeQueue.push(function (nodes) { return __spreadArray(__spreadArray([], __read(nodes), false), __read(newNodes), false); });
83
+ },
84
+ addEdges: function (payload) {
85
+ var newEdges = Array.isArray(payload) ? payload : [payload];
86
+ batchContext.edgeQueue.push(function (edges) { return __spreadArray(__spreadArray([], __read(edges), false), __read(newEdges), false); });
87
+ },
88
+ toObject: function () {
89
+ var _a = store.getState(), _b = _a.nodes, nodes = _b === void 0 ? [] : _b, _c = _a.edges, edges = _c === void 0 ? [] : _c, transform = _a.transform;
90
+ var _d = __read(transform, 3), x = _d[0], y = _d[1], zoom = _d[2];
91
+ return {
92
+ nodes: nodes.map(function (n) { return (__assign({}, n)); }),
93
+ edges: edges.map(function (e) { return (__assign({}, e)); }),
94
+ viewport: {
95
+ x: x,
96
+ y: y,
97
+ zoom: zoom,
98
+ },
99
+ };
100
+ },
101
+ deleteElements: function (_a) { return __awaiter(_this, [_a], void 0, function (_b) {
102
+ var _c, nodes, edges, onNodesDelete, onEdgesDelete, onDelete, onBeforeDelete, _d, matchingNodes, matchingEdges, hasMatchingEdges, hasMatchingNodes;
103
+ var _e = _b.nodes, nodesToRemove = _e === void 0 ? [] : _e, _f = _b.edges, edgesToRemove = _f === void 0 ? [] : _f;
104
+ return __generator(this, function (_g) {
105
+ switch (_g.label) {
106
+ case 0:
107
+ _c = store.getState(), nodes = _c.nodes, edges = _c.edges, onNodesDelete = _c.onNodesDelete, onEdgesDelete = _c.onEdgesDelete, onDelete = _c.onDelete, onBeforeDelete = _c.onBeforeDelete;
108
+ return [4 /*yield*/, getElementsToRemove({
109
+ nodesToRemove: nodesToRemove,
110
+ edgesToRemove: edgesToRemove,
111
+ nodes: nodes,
112
+ edges: edges,
113
+ onBeforeDelete: onBeforeDelete,
114
+ })];
115
+ case 1:
116
+ _d = _g.sent(), matchingNodes = _d.nodes, matchingEdges = _d.edges;
117
+ hasMatchingEdges = matchingEdges.length > 0;
118
+ hasMatchingNodes = matchingNodes.length > 0;
119
+ if (hasMatchingEdges) {
120
+ onEdgesDelete === null || onEdgesDelete === void 0 ? void 0 : onEdgesDelete(matchingEdges);
121
+ }
122
+ if (hasMatchingNodes) {
123
+ onNodesDelete === null || onNodesDelete === void 0 ? void 0 : onNodesDelete(matchingNodes);
124
+ }
125
+ if (hasMatchingNodes || hasMatchingEdges) {
126
+ onDelete === null || onDelete === void 0 ? void 0 : onDelete({ nodes: matchingNodes, edges: matchingEdges });
127
+ }
128
+ return [2 /*return*/, { deletedNodes: matchingNodes, deletedEdges: matchingEdges }];
129
+ }
130
+ });
131
+ }); },
132
+ getIntersectingNodes: function (nodeOrRect, partially, nodes) {
133
+ if (partially === void 0) { partially = true; }
134
+ var isRect = isRectObject(nodeOrRect);
135
+ var nodeRect = isRect ? nodeOrRect : getNodeRect(nodeOrRect);
136
+ var hasNodesOption = nodes !== undefined;
137
+ if (!nodeRect) {
138
+ return [];
139
+ }
140
+ return (nodes || store.getState().nodes).filter(function (n) {
141
+ var internalNode = store.getState().nodeLookup.get(n.id);
142
+ if (internalNode &&
143
+ !isRect &&
144
+ (n.id === nodeOrRect.id ||
145
+ !internalNode.internals.positionAbsolute)) {
146
+ return false;
147
+ }
148
+ var currNodeRect = nodeToRect(hasNodesOption ? n : internalNode);
149
+ var overlappingArea = getOverlappingArea(currNodeRect, nodeRect);
150
+ var partiallyVisible = partially && overlappingArea > 0;
151
+ return (partiallyVisible ||
152
+ overlappingArea >= nodeRect.width * nodeRect.height);
153
+ });
154
+ },
155
+ isNodeIntersecting: function (nodeOrRect, area, partially) {
156
+ if (partially === void 0) { partially = true; }
157
+ var isRect = isRectObject(nodeOrRect);
158
+ var nodeRect = isRect ? nodeOrRect : getNodeRect(nodeOrRect);
159
+ if (!nodeRect) {
160
+ return false;
161
+ }
162
+ var overlappingArea = getOverlappingArea(nodeRect, area);
163
+ var partiallyVisible = partially && overlappingArea > 0;
164
+ return (partiallyVisible ||
165
+ overlappingArea >= nodeRect.width * nodeRect.height);
166
+ },
167
+ updateNode: updateNode,
168
+ updateNodeData: function (id, dataUpdate, options) {
169
+ if (options === void 0) { options = { replace: false }; }
170
+ updateNode(id, function (node) {
171
+ var nextData = typeof dataUpdate === 'function' ? dataUpdate(node) : dataUpdate;
172
+ return options.replace
173
+ ? __assign(__assign({}, node), { data: nextData }) : __assign(__assign({}, node), { data: __assign(__assign({}, node.data), nextData) });
174
+ }, options);
175
+ },
176
+ setLayoutAnchorId: function (nodeId) {
177
+ store.getState().setLayoutAnchorId(nodeId);
178
+ },
179
+ };
180
+ }, []);
181
+ return useMemo(function () {
182
+ return __assign(__assign(__assign({}, generalHelper), viewportHelper), { viewportInitialized: viewportInitialized });
183
+ }, [viewportInitialized]);
184
+ }
185
+ //# sourceMappingURL=useInkFlow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useInkFlow.js","sourceRoot":"","sources":["../../src/hooks/useInkFlow.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- import { useLayoutEffect } from 'react';
2
- export declare const useIsomorphicLayoutEffect: typeof useLayoutEffect;
1
+ import { useEffect } from 'react';
2
+ export declare const useIsomorphicLayoutEffect: typeof useEffect;
3
3
  //# sourceMappingURL=useIsomorphicLayoutEffect.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useIsomorphicLayoutEffect.d.ts","sourceRoot":"","sources":["../../src/hooks/useIsomorphicLayoutEffect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,eAAe,EAAE,MAAM,OAAO,CAAC;AAGnD,eAAO,MAAM,yBAAyB,wBACuB,CAAC"}
1
+ {"version":3,"file":"useIsomorphicLayoutEffect.d.ts","sourceRoot":"","sources":["../../src/hooks/useIsomorphicLayoutEffect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAmB,MAAM,OAAO,CAAC;AAGnD,eAAO,MAAM,yBAAyB,kBACuB,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { useEffect, useLayoutEffect } from 'react';
2
+ // we need this hook to prevent a warning when using ink-flow in SSR
3
+ export var useIsomorphicLayoutEffect = typeof window !== 'undefined' ? useLayoutEffect : useEffect;
4
+ //# sourceMappingURL=useIsomorphicLayoutEffect.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useIsomorphicLayoutEffect.js","sourceRoot":"","sources":["../../src/hooks/useIsomorphicLayoutEffect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,OAAO,CAAC;AAEnD,oEAAoE;AACpE,MAAM,CAAC,IAAM,yBAAyB,GACpC,OAAO,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC"}