@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,150 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import cc from 'classnames';
3
+ import { shallow } from 'zustand/shallow';
4
+ import { useStore, useStoreApi } from '../../hooks/useStore';
5
+ import { Provider } from '../../contexts/NodeIdContext';
6
+ import { ARIA_NODE_DESC_KEY } from '../A11yDescriptions';
7
+ import { arrowKeyDiffs, builtinNodeTypes, getNodeInlineStyleDimensions, } from './utils';
8
+ import { useNodeObserver } from './useNodeObserver';
9
+ import { isInputDOMNode } from '../../utils/dom';
10
+ import { getNodeDimensions, clampPosition, nodeHasDimensions, getPositionWithOrigin, } from '../../utils/general';
11
+ import { useDrag } from '../../hooks/useDrag';
12
+ import { useMoveSelectedNodes } from '../../hooks/useMoveSelectedNodes';
13
+ import { handleNodeClick } from '../Nodes/utils';
14
+ import { errorMessages, elementSelectionKeys } from '@aloudata/ink-core';
15
+ export function NodeWrapper(_a) {
16
+ var _b;
17
+ var _c;
18
+ var id = _a.id, onClick = _a.onClick, onMouseEnter = _a.onMouseEnter, onMouseMove = _a.onMouseMove, onMouseLeave = _a.onMouseLeave, onContextMenu = _a.onContextMenu, onDoubleClick = _a.onDoubleClick, nodesDraggable = _a.nodesDraggable, elementsSelectable = _a.elementsSelectable, nodesConnectable = _a.nodesConnectable, nodesFocusable = _a.nodesFocusable, resizeObserver = _a.resizeObserver, noDragClassName = _a.noDragClassName, noPanClassName = _a.noPanClassName, disableKeyboardA11y = _a.disableKeyboardA11y, rfId = _a.rfId, nodeTypes = _a.nodeTypes, nodeExtent = _a.nodeExtent, nodeOrigin = _a.nodeOrigin, onError = _a.onError;
19
+ var _d = useStore(function (s) {
20
+ var node = s.nodeLookup.get(id);
21
+ var isParent = s.parentLookup.has(id);
22
+ return {
23
+ node: node,
24
+ internals: node.internals,
25
+ isParent: isParent,
26
+ };
27
+ }, shallow), node = _d.node, internals = _d.internals, isParent = _d.isParent;
28
+ var nodeType = node.type || 'default';
29
+ var NodeComponent = (nodeTypes === null || nodeTypes === void 0 ? void 0 : nodeTypes[nodeType]) || builtinNodeTypes[nodeType];
30
+ if (NodeComponent === undefined) {
31
+ onError === null || onError === void 0 ? void 0 : onError('003', errorMessages['error003'](nodeType));
32
+ nodeType = 'default';
33
+ NodeComponent = builtinNodeTypes.default;
34
+ }
35
+ var isDraggable = !!(node.draggable ||
36
+ (nodesDraggable && typeof node.draggable === 'undefined'));
37
+ var isSelectable = !!(node.selectable ||
38
+ (elementsSelectable && typeof node.selectable === 'undefined'));
39
+ var isConnectable = !!(node.connectable ||
40
+ (nodesConnectable && typeof node.connectable === 'undefined'));
41
+ var isFocusable = !!(node.focusable ||
42
+ (nodesFocusable && typeof node.focusable === 'undefined'));
43
+ var store = useStoreApi();
44
+ var hasDimensions = nodeHasDimensions(node);
45
+ var nodeRef = useNodeObserver({
46
+ node: node,
47
+ nodeType: nodeType,
48
+ hasDimensions: hasDimensions,
49
+ resizeObserver: resizeObserver,
50
+ });
51
+ var dragging = useDrag({
52
+ nodeRef: nodeRef,
53
+ disabled: node.hidden || !isDraggable,
54
+ noDragClassName: noDragClassName,
55
+ handleSelector: node.dragHandle,
56
+ nodeId: id,
57
+ isSelectable: isSelectable,
58
+ });
59
+ var moveSelectedNodes = useMoveSelectedNodes();
60
+ if (node.hidden) {
61
+ return null;
62
+ }
63
+ var nodeDimensions = getNodeDimensions(node);
64
+ var inlineDimensions = getNodeInlineStyleDimensions(node);
65
+ var clampedPosition = (nodeExtent
66
+ ? clampPosition(internals.positionAbsolute, nodeExtent)
67
+ : internals.positionAbsolute) || { x: 0, y: 0 };
68
+ var positionWithOrigin = getPositionWithOrigin(__assign(__assign(__assign({}, clampedPosition), nodeDimensions), { origin: node.origin || nodeOrigin }));
69
+ var hasPointerEvents = isSelectable ||
70
+ isDraggable ||
71
+ onClick ||
72
+ onMouseEnter ||
73
+ onMouseMove ||
74
+ onMouseLeave;
75
+ var onMouseEnterHandler = onMouseEnter
76
+ ? function (event) { return onMouseEnter(event, __assign({}, internals.userNode)); }
77
+ : undefined;
78
+ var onMouseMoveHandler = onMouseMove
79
+ ? function (event) { return onMouseMove(event, __assign({}, internals.userNode)); }
80
+ : undefined;
81
+ var onMouseLeaveHandler = onMouseLeave
82
+ ? function (event) { return onMouseLeave(event, __assign({}, internals.userNode)); }
83
+ : undefined;
84
+ var onContextMenuHandler = onContextMenu
85
+ ? function (event) { return onContextMenu(event, __assign({}, internals.userNode)); }
86
+ : undefined;
87
+ var onDoubleClickHandler = onDoubleClick
88
+ ? function (event) { return onDoubleClick(event, __assign({}, internals.userNode)); }
89
+ : undefined;
90
+ var onSelectNodeHandler = function (event) {
91
+ var _a = store.getState(), selectNodesOnDrag = _a.selectNodesOnDrag, nodeDragThreshold = _a.nodeDragThreshold;
92
+ if (isSelectable &&
93
+ (!selectNodesOnDrag || !isDraggable || nodeDragThreshold > 0)) {
94
+ // this handler gets called by XYDrag on drag start when selectNodesOnDrag=true
95
+ // here we only need to call it when selectNodesOnDrag=false
96
+ handleNodeClick({
97
+ id: id,
98
+ store: store,
99
+ nodeRef: nodeRef,
100
+ });
101
+ }
102
+ if (onClick) {
103
+ onClick(event, __assign({}, internals.userNode));
104
+ }
105
+ };
106
+ var onKeyDown = function (event) {
107
+ if (isInputDOMNode(event.nativeEvent) || disableKeyboardA11y) {
108
+ return;
109
+ }
110
+ if (elementSelectionKeys.includes(event.key) && isSelectable) {
111
+ var unselect = event.key === 'Escape';
112
+ handleNodeClick({
113
+ id: id,
114
+ store: store,
115
+ unselect: unselect,
116
+ nodeRef: nodeRef,
117
+ });
118
+ }
119
+ else if (isDraggable &&
120
+ node.selected &&
121
+ Object.prototype.hasOwnProperty.call(arrowKeyDiffs, event.key)) {
122
+ store.setState({
123
+ ariaLiveMessage: "Moved selected node ".concat(event.key
124
+ .replace('Arrow', '')
125
+ .toLowerCase(), ". New position, x: ").concat(~~clampedPosition.x, ", y: ").concat(~~clampedPosition.y),
126
+ });
127
+ moveSelectedNodes({
128
+ direction: arrowKeyDiffs[event.key],
129
+ factor: event.shiftKey ? 4 : 1,
130
+ });
131
+ }
132
+ };
133
+ return (_jsx("div", { className: cc([
134
+ 'ink-flow__node',
135
+ "ink-flow__node-".concat(nodeType),
136
+ (_b = {},
137
+ // this is overwritable by passing `nopan` as a class name
138
+ _b[noPanClassName] = isDraggable,
139
+ _b),
140
+ node.className,
141
+ {
142
+ selected: node.selected,
143
+ selectable: isSelectable,
144
+ parent: isParent,
145
+ draggable: isDraggable,
146
+ dragging: dragging,
147
+ },
148
+ ]), ref: nodeRef, style: __assign(__assign({ zIndex: internals.z, transform: "translate(".concat(positionWithOrigin.x, "px,").concat(positionWithOrigin.y, "px)"), pointerEvents: hasPointerEvents ? 'all' : 'none', visibility: hasDimensions ? 'visible' : 'hidden' }, node.style), inlineDimensions), "data-id": id, "data-testid": "rf__node-".concat(id), onMouseEnter: onMouseEnterHandler, onMouseMove: onMouseMoveHandler, onMouseLeave: onMouseLeaveHandler, onContextMenu: onContextMenuHandler, onClick: onSelectNodeHandler, onDoubleClick: onDoubleClickHandler, onKeyDown: isFocusable ? onKeyDown : undefined, tabIndex: isFocusable ? 0 : undefined, role: isFocusable ? 'button' : undefined, "aria-describedby": disableKeyboardA11y ? undefined : "".concat(ARIA_NODE_DESC_KEY, "-").concat(rfId), "aria-label": node.ariaLabel, children: _jsx(Provider, { value: id, children: _jsx(NodeComponent, __assign({ id: id, data: node.data, type: nodeType, positionAbsoluteX: clampedPosition.x, positionAbsoluteY: clampedPosition.y, selected: node.selected, isConnectable: isConnectable, sourcePosition: node.sourcePosition, targetPosition: node.targetPosition, dragging: dragging, draggable: isDraggable, dragHandle: node.dragHandle, zIndex: internals.z, selectable: isSelectable, deletable: (_c = node.deletable) !== null && _c !== void 0 ? _c : true }, nodeDimensions)) }) }));
149
+ }
150
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/NodeWrapper/index.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,54 @@
1
+ import { useEffect, useRef } from 'react';
2
+ import { useStoreApi } from '../../hooks/useStore';
3
+ /**
4
+ * Hook to handle the resize observation + internal updates for the passed node.
5
+ *
6
+ * @internal
7
+ * @returns nodeRef - reference to the node element
8
+ */
9
+ export function useNodeObserver(_a) {
10
+ var node = _a.node, nodeType = _a.nodeType, hasDimensions = _a.hasDimensions, resizeObserver = _a.resizeObserver;
11
+ var store = useStoreApi();
12
+ var nodeRef = useRef(null);
13
+ var observedNode = useRef(null);
14
+ var prevSourcePosition = useRef(node.sourcePosition);
15
+ var prevTargetPosition = useRef(node.targetPosition);
16
+ var prevType = useRef(nodeType);
17
+ var isInitialized = hasDimensions && !!node.internals.handleBounds && !node.hidden;
18
+ useEffect(function () {
19
+ if (nodeRef.current && (!isInitialized || observedNode.current !== nodeRef.current)) {
20
+ if (observedNode.current) {
21
+ resizeObserver === null || resizeObserver === void 0 ? void 0 : resizeObserver.unobserve(observedNode.current);
22
+ }
23
+ resizeObserver === null || resizeObserver === void 0 ? void 0 : resizeObserver.observe(nodeRef.current);
24
+ observedNode.current = nodeRef.current;
25
+ }
26
+ }, [isInitialized]);
27
+ useEffect(function () {
28
+ return function () {
29
+ if (observedNode.current) {
30
+ resizeObserver === null || resizeObserver === void 0 ? void 0 : resizeObserver.unobserve(observedNode.current);
31
+ observedNode.current = null;
32
+ }
33
+ };
34
+ }, []);
35
+ useEffect(function () {
36
+ if (nodeRef.current) {
37
+ // when the user programmatically changes the source or handle position, we need to update the internals
38
+ // to make sure the edges are updated correctly
39
+ var typeChanged = prevType.current !== nodeType;
40
+ var sourcePosChanged = prevSourcePosition.current !== node.sourcePosition;
41
+ var targetPosChanged = prevTargetPosition.current !== node.targetPosition;
42
+ if (typeChanged || sourcePosChanged || targetPosChanged) {
43
+ prevType.current = nodeType;
44
+ prevSourcePosition.current = node.sourcePosition;
45
+ prevTargetPosition.current = node.targetPosition;
46
+ store
47
+ .getState()
48
+ .updateNodeInternals(new Map([[node.id, { id: node.id, nodeElement: nodeRef.current, force: true }]]));
49
+ }
50
+ }
51
+ }, [node.id, nodeType, node.sourcePosition, node.targetPosition]);
52
+ return nodeRef;
53
+ }
54
+ //# sourceMappingURL=useNodeObserver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useNodeObserver.js","sourceRoot":"","sources":["../../../src/components/NodeWrapper/useNodeObserver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAG1C,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEnD;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,EAU/B;QATC,IAAI,UAAA,EACJ,QAAQ,cAAA,EACR,aAAa,mBAAA,EACb,cAAc,oBAAA;IAOd,IAAM,KAAK,GAAG,WAAW,EAAE,CAAC;IAC5B,IAAM,OAAO,GAAG,MAAM,CAAwB,IAAI,CAAC,CAAC;IACpD,IAAM,YAAY,GAAG,MAAM,CAAwB,IAAI,CAAC,CAAC;IACzD,IAAM,kBAAkB,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACvD,IAAM,kBAAkB,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACvD,IAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;IAClC,IAAM,aAAa,GAAG,aAAa,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;IAErF,SAAS,CAAC;QACR,IAAI,OAAO,CAAC,OAAO,IAAI,CAAC,CAAC,aAAa,IAAI,YAAY,CAAC,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YACpF,IAAI,YAAY,CAAC,OAAO,EAAE,CAAC;gBACzB,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,SAAS,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;YAClD,CAAC;YACD,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACzC,YAAY,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QACzC,CAAC;IACH,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC;IAEpB,SAAS,CAAC;QACR,OAAO;YACL,IAAI,YAAY,CAAC,OAAO,EAAE,CAAC;gBACzB,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,SAAS,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;gBAChD,YAAY,CAAC,OAAO,GAAG,IAAI,CAAC;YAC9B,CAAC;QACH,CAAC,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,SAAS,CAAC;QACR,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACpB,wGAAwG;YACxG,+CAA+C;YAC/C,IAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,KAAK,QAAQ,CAAC;YAClD,IAAM,gBAAgB,GAAG,kBAAkB,CAAC,OAAO,KAAK,IAAI,CAAC,cAAc,CAAC;YAC5E,IAAM,gBAAgB,GAAG,kBAAkB,CAAC,OAAO,KAAK,IAAI,CAAC,cAAc,CAAC;YAE5E,IAAI,WAAW,IAAI,gBAAgB,IAAI,gBAAgB,EAAE,CAAC;gBACxD,QAAQ,CAAC,OAAO,GAAG,QAAQ,CAAC;gBAC5B,kBAAkB,CAAC,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC;gBACjD,kBAAkB,CAAC,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC;gBAEjD,KAAK;qBACF,QAAQ,EAAE;qBACV,mBAAmB,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,WAAW,EAAE,OAAO,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3G,CAAC;QACH,CAAC;IACH,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;IAElE,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -0,0 +1,30 @@
1
+ import { InputNode } from '../Nodes/InputNode';
2
+ import { DefaultNode } from '../Nodes/DefaultNode';
3
+ import { GroupNode } from '../Nodes/GroupNode';
4
+ import { OutputNode } from '../Nodes/OutputNode';
5
+ export var arrowKeyDiffs = {
6
+ ArrowUp: { x: 0, y: -1 },
7
+ ArrowDown: { x: 0, y: 1 },
8
+ ArrowLeft: { x: -1, y: 0 },
9
+ ArrowRight: { x: 1, y: 0 },
10
+ };
11
+ export var builtinNodeTypes = {
12
+ input: InputNode,
13
+ default: DefaultNode,
14
+ output: OutputNode,
15
+ group: GroupNode,
16
+ };
17
+ export function getNodeInlineStyleDimensions(node) {
18
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
19
+ if (node.internals.handleBounds === undefined) {
20
+ return {
21
+ width: (_b = (_a = node.width) !== null && _a !== void 0 ? _a : node.initialWidth) !== null && _b !== void 0 ? _b : (_c = node.style) === null || _c === void 0 ? void 0 : _c.width,
22
+ height: (_e = (_d = node.height) !== null && _d !== void 0 ? _d : node.initialHeight) !== null && _e !== void 0 ? _e : (_f = node.style) === null || _f === void 0 ? void 0 : _f.height,
23
+ };
24
+ }
25
+ return {
26
+ width: (_g = node.width) !== null && _g !== void 0 ? _g : (_h = node.style) === null || _h === void 0 ? void 0 : _h.width,
27
+ height: (_j = node.height) !== null && _j !== void 0 ? _j : (_k = node.style) === null || _k === void 0 ? void 0 : _k.height,
28
+ };
29
+ }
30
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/components/NodeWrapper/utils.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAIjD,MAAM,CAAC,IAAM,aAAa,GAA+B;IACvD,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE;IACxB,SAAS,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;IACzB,SAAS,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;IAC1B,UAAU,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;CAC3B,CAAC;AAEF,MAAM,CAAC,IAAM,gBAAgB,GAAc;IACzC,KAAK,EAAE,SAAS;IAChB,OAAO,EAAE,WAAW;IACpB,MAAM,EAAE,UAAU;IAClB,KAAK,EAAE,SAAS;CACjB,CAAC;AAEF,MAAM,UAAU,4BAA4B,CAC1C,IAA4B;;IAK5B,IAAI,IAAI,CAAC,SAAS,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;QAC9C,OAAO;YACL,KAAK,EAAE,MAAA,MAAA,IAAI,CAAC,KAAK,mCAAI,IAAI,CAAC,YAAY,mCAAI,MAAA,IAAI,CAAC,KAAK,0CAAE,KAAK;YAC3D,MAAM,EAAE,MAAA,MAAA,IAAI,CAAC,MAAM,mCAAI,IAAI,CAAC,aAAa,mCAAI,MAAA,IAAI,CAAC,KAAK,0CAAE,MAAM;SAChE,CAAC;IACJ,CAAC;IAED,OAAO;QACL,KAAK,EAAE,MAAA,IAAI,CAAC,KAAK,mCAAI,MAAA,IAAI,CAAC,KAAK,0CAAE,KAAK;QACtC,MAAM,EAAE,MAAA,IAAI,CAAC,MAAM,mCAAI,MAAA,IAAI,CAAC,KAAK,0CAAE,MAAM;KAC1C,CAAC;AACJ,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Position } from '@aloudata/ink-core';
3
+ import { Handle } from '../Handle';
4
+ export function DefaultNode(_a) {
5
+ var data = _a.data, isConnectable = _a.isConnectable, _b = _a.targetPosition, targetPosition = _b === void 0 ? Position.Top : _b, _c = _a.sourcePosition, sourcePosition = _c === void 0 ? Position.Bottom : _c;
6
+ return (_jsxs(_Fragment, { children: [_jsx(Handle, { type: "target", position: targetPosition, isConnectable: isConnectable }), data === null || data === void 0 ? void 0 : data.label, _jsx(Handle, { type: "source", position: sourcePosition, isConnectable: isConnectable })] }));
7
+ }
8
+ //# sourceMappingURL=DefaultNode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DefaultNode.js","sourceRoot":"","sources":["../../../src/components/Nodes/DefaultNode.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAEnC,MAAM,UAAU,WAAW,CAAC,EAKH;QAJvB,IAAI,UAAA,EACJ,aAAa,mBAAA,EACb,sBAA6B,EAA7B,cAAc,mBAAG,QAAQ,CAAC,GAAG,KAAA,EAC7B,sBAAgC,EAAhC,cAAc,mBAAG,QAAQ,CAAC,MAAM,KAAA;IAEhC,OAAO,CACL,8BACE,KAAC,MAAM,IACL,IAAI,EAAC,QAAQ,EACb,QAAQ,EAAE,cAAc,EACxB,aAAa,EAAE,aAAa,GAC5B,EACD,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,EACZ,KAAC,MAAM,IACL,IAAI,EAAC,QAAQ,EACb,QAAQ,EAAE,cAAc,EACxB,aAAa,EAAE,aAAa,GAC5B,IACD,CACJ,CAAC;AACJ,CAAC"}
@@ -0,0 +1,4 @@
1
+ export function GroupNode() {
2
+ return null;
3
+ }
4
+ //# sourceMappingURL=GroupNode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GroupNode.js","sourceRoot":"","sources":["../../../src/components/Nodes/GroupNode.tsx"],"names":[],"mappings":"AAAA,MAAM,UAAU,SAAS;IACvB,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Position } from '@aloudata/ink-core';
3
+ import { Handle } from '../Handle';
4
+ export function InputNode(_a) {
5
+ var data = _a.data, isConnectable = _a.isConnectable, _b = _a.sourcePosition, sourcePosition = _b === void 0 ? Position.Bottom : _b;
6
+ return (_jsxs(_Fragment, { children: [data === null || data === void 0 ? void 0 : data.label, _jsx(Handle, { type: "source", position: sourcePosition, isConnectable: isConnectable })] }));
7
+ }
8
+ //# sourceMappingURL=InputNode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InputNode.js","sourceRoot":"","sources":["../../../src/components/Nodes/InputNode.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAEnC,MAAM,UAAU,SAAS,CAAC,EAID;QAHvB,IAAI,UAAA,EACJ,aAAa,mBAAA,EACb,sBAAgC,EAAhC,cAAc,mBAAG,QAAQ,CAAC,MAAM,KAAA;IAEhC,OAAO,CACL,8BACG,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,EACZ,KAAC,MAAM,IACL,IAAI,EAAC,QAAQ,EACb,QAAQ,EAAE,cAAc,EACxB,aAAa,EAAE,aAAa,GAC5B,IACD,CACJ,CAAC;AACJ,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Position } from '@aloudata/ink-core';
3
+ import { Handle } from '../Handle';
4
+ export function OutputNode(_a) {
5
+ var data = _a.data, isConnectable = _a.isConnectable, _b = _a.targetPosition, targetPosition = _b === void 0 ? Position.Top : _b;
6
+ return (_jsxs(_Fragment, { children: [_jsx(Handle, { type: "target", position: targetPosition, isConnectable: isConnectable }), data === null || data === void 0 ? void 0 : data.label] }));
7
+ }
8
+ //# sourceMappingURL=OutputNode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OutputNode.js","sourceRoot":"","sources":["../../../src/components/Nodes/OutputNode.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAEnC,MAAM,UAAU,UAAU,CAAC,EAIF;QAHvB,IAAI,UAAA,EACJ,aAAa,mBAAA,EACb,sBAA6B,EAA7B,cAAc,mBAAG,QAAQ,CAAC,GAAG,KAAA;IAE7B,OAAO,CACL,8BACE,KAAC,MAAM,IACL,IAAI,EAAC,QAAQ,EACb,QAAQ,EAAE,cAAc,EACxB,aAAa,EAAE,aAAa,GAC5B,EACD,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,IACX,CACJ,CAAC;AACJ,CAAC"}
@@ -0,0 +1,23 @@
1
+ import { errorMessages } from '@aloudata/ink-core';
2
+ // this handler is called by
3
+ // 1. the click handler when node is not draggable or selectNodesOnDrag = false
4
+ // or
5
+ // 2. the on drag start handler when node is draggable and selectNodesOnDrag = true
6
+ export function handleNodeClick(_a) {
7
+ var id = _a.id, store = _a.store, _b = _a.unselect, unselect = _b === void 0 ? false : _b, nodeRef = _a.nodeRef;
8
+ var _c = store.getState(), addSelectedNodes = _c.addSelectedNodes, unselectNodesAndEdges = _c.unselectNodesAndEdges, multiSelectionActive = _c.multiSelectionActive, nodeLookup = _c.nodeLookup, onError = _c.onError;
9
+ var node = nodeLookup.get(id);
10
+ if (!node) {
11
+ onError === null || onError === void 0 ? void 0 : onError('012', errorMessages['error012'](id));
12
+ return;
13
+ }
14
+ store.setState({ nodesSelectionActive: false });
15
+ if (!node.selected) {
16
+ addSelectedNodes([id]);
17
+ }
18
+ else if (unselect || (node.selected && multiSelectionActive)) {
19
+ unselectNodesAndEdges({ nodes: [node], edges: [] });
20
+ requestAnimationFrame(function () { var _a; return (_a = nodeRef === null || nodeRef === void 0 ? void 0 : nodeRef.current) === null || _a === void 0 ? void 0 : _a.blur(); });
21
+ }
22
+ }
23
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/components/Nodes/utils.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,4BAA4B;AAC5B,+EAA+E;AAC/E,KAAK;AACL,mFAAmF;AACnF,MAAM,UAAU,eAAe,CAAC,EAa/B;QAZC,EAAE,QAAA,EACF,KAAK,WAAA,EACL,gBAAgB,EAAhB,QAAQ,mBAAG,KAAK,KAAA,EAChB,OAAO,aAAA;IAUD,IAAA,KAMF,KAAK,CAAC,QAAQ,EAAE,EALlB,gBAAgB,sBAAA,EAChB,qBAAqB,2BAAA,EACrB,oBAAoB,0BAAA,EACpB,UAAU,gBAAA,EACV,OAAO,aACW,CAAC;IACrB,IAAM,IAAI,GAAG,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAEhC,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAG,KAAK,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAChD,OAAO;IACT,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAAC,CAAC;IAEhD,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACnB,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACzB,CAAC;SAAM,IAAI,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,oBAAoB,CAAC,EAAE,CAAC;QAC/D,qBAAqB,CAAC,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;QAEpD,qBAAqB,CAAC,sBAAM,OAAA,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,0CAAE,IAAI,EAAE,CAAA,EAAA,CAAC,CAAC;IACxD,CAAC;AACH,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import cc from 'classnames';
3
+ import { useStore } from '../../hooks/useStore';
4
+ var selector = function (s) { return (s.userSelectionActive ? 'none' : 'all'); };
5
+ export function Panel(_a) {
6
+ var _b = _a.position, position = _b === void 0 ? 'top-left' : _b, children = _a.children, className = _a.className, style = _a.style, rest = __rest(_a, ["position", "children", "className", "style"]);
7
+ var pointerEvents = useStore(selector);
8
+ var positionClasses = "".concat(position).split('-');
9
+ return (_jsx("div", __assign({ className: cc(__spreadArray(['ink-flow__panel', className], __read(positionClasses), false)), style: __assign(__assign({}, style), { pointerEvents: pointerEvents }) }, rest, { children: children })));
10
+ }
11
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/Panel/index.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,MAAM,YAAY,CAAC;AAE5B,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAYhD,IAAM,QAAQ,GAAG,UAAC,CAAe,IAAK,OAAA,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,EAAxC,CAAwC,CAAC;AAE/E,MAAM,UAAU,KAAK,CAAC,EAMT;IALX,IAAA,gBAAqB,EAArB,QAAQ,mBAAG,UAAU,KAAA,EACrB,QAAQ,cAAA,EACR,SAAS,eAAA,EACT,KAAK,WAAA,EACF,IAAI,cALa,8CAMrB,CADQ;IAEP,IAAM,aAAa,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACzC,IAAM,eAAe,GAAG,UAAG,QAAQ,CAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAEjD,OAAO,CACL,uBACE,SAAS,EAAE,EAAE,gBAAE,iBAAiB,EAAE,SAAS,UAAK,eAAe,UAAE,EACjE,KAAK,wBAAO,KAAK,KAAE,aAAa,eAAA,OAC5B,IAAI,cAEP,QAAQ,IACL,CACP,CAAC;AACJ,CAAC"}
@@ -0,0 +1,169 @@
1
+ /*
2
+ * This component helps us to update the store with the vlues coming from the user.
3
+ * We distinguish between values we can update directly with `useDirectStoreUpdater` (like `snapGrid`)
4
+ * and values that have a dedicated setter function in the store (like `setNodes`).
5
+ */
6
+ import { useEffect, useRef } from 'react';
7
+ import { shallow } from 'zustand/shallow';
8
+ import { useStore, useStoreApi } from '../../hooks/useStore';
9
+ import { defaultNodeOrigin } from '../../container/InkFlow/init-values';
10
+ import { infiniteExtent } from '@aloudata/ink-core';
11
+ // these fields exist in the global store and we need to keep them up to date
12
+ var InkFlowFieldsToTrack = [
13
+ 'layoutConfig',
14
+ 'edges',
15
+ 'nodes',
16
+ 'defaultNodes',
17
+ 'defaultEdges',
18
+ 'onConnect',
19
+ 'onConnectStart',
20
+ 'onConnectEnd',
21
+ 'onClickConnectStart',
22
+ 'onClickConnectEnd',
23
+ 'nodesDraggable',
24
+ 'nodesConnectable',
25
+ // 'nodesFocusable',
26
+ // 'edgesFocusable',
27
+ // 'edgesUpdatable',
28
+ // 'elevateNodesOnSelect',
29
+ // 'elevateEdgesOnSelect',
30
+ 'minZoom',
31
+ 'maxZoom',
32
+ 'nodeExtent',
33
+ 'elementsSelectable',
34
+ 'connectionMode',
35
+ // 'snapGrid',
36
+ // 'snapToGrid',
37
+ 'translateExtent',
38
+ 'connectOnClick',
39
+ 'defaultEdgeOptions',
40
+ 'fitView',
41
+ 'fitViewOptions',
42
+ 'onNodesDelete',
43
+ 'onEdgesDelete',
44
+ 'onDelete',
45
+ 'onNodeDrag',
46
+ 'onNodeDragStart',
47
+ 'onNodeDragStop',
48
+ // 'onSelectionDrag',
49
+ // 'onSelectionDragStart',
50
+ // 'onSelectionDragStop',
51
+ // 'onMoveStart',
52
+ // 'onMove',
53
+ // 'onMoveEnd',
54
+ // 'noPanClassName',
55
+ 'nodeOrigin',
56
+ // 'autoPanOnConnect',
57
+ // 'autoPanOnNodeDrag',
58
+ // 'onError',
59
+ // 'connectionRadius',
60
+ 'isValidConnection',
61
+ // 'selectNodesOnDrag',
62
+ // 'nodeDragThreshold',
63
+ // 'onBeforeDelete',
64
+ // 'debug',
65
+ 'autoLayout',
66
+ 'centerConfig',
67
+ 'layoutTypes',
68
+ 'autoPanSpeed',
69
+ ];
70
+ // rfId doesn't exist in InkFlowProps, but it's one of the fields we want to update
71
+ var fieldsToTrack = __spreadArray(__spreadArray([], __read(InkFlowFieldsToTrack), false), ['rfId'], false);
72
+ var selector = function (s) { return ({
73
+ setNodes: s.setNodes,
74
+ setEdges: s.setEdges,
75
+ setMinZoom: s.setMinZoom,
76
+ setMaxZoom: s.setMaxZoom,
77
+ setTranslateExtent: s.setTranslateExtent,
78
+ setNodeExtent: s.setNodeExtent,
79
+ reset: s.reset,
80
+ setDefaultNodesAndEdges: s.setDefaultNodesAndEdges,
81
+ onNodesChange: s.onNodesChange,
82
+ onEdgesChange: s.onEdgesChange,
83
+ updateLayoutConfig: s.updateLayoutConfig,
84
+ }); };
85
+ var initPrevValues = {
86
+ // these are values that are also passed directly to other components
87
+ // than the StoreUpdater. We can reduce the number of setStore calls
88
+ // by setting the same values here as prev fields.
89
+ translateExtent: infiniteExtent,
90
+ nodeOrigin: defaultNodeOrigin,
91
+ minZoom: 0.5,
92
+ maxZoom: 2,
93
+ elementsSelectable: true,
94
+ noPanClassName: 'nopan',
95
+ rfId: '1',
96
+ };
97
+ export function StoreUpdater(props) {
98
+ var _a = useStore(selector, shallow), setMinZoom = _a.setMinZoom, setMaxZoom = _a.setMaxZoom, setTranslateExtent = _a.setTranslateExtent, setNodeExtent = _a.setNodeExtent, reset = _a.reset, setDefaultNodesAndEdges = _a.setDefaultNodesAndEdges, onNodesChange = _a.onNodesChange, onEdgesChange = _a.onEdgesChange, updateLayoutConfig = _a.updateLayoutConfig;
99
+ var store = useStoreApi();
100
+ useEffect(function () {
101
+ setDefaultNodesAndEdges(props.defaultNodes, props.defaultEdges);
102
+ return function () {
103
+ // when we reset the store we also need to reset the previous fields
104
+ previousFields.current = initPrevValues;
105
+ reset();
106
+ };
107
+ }, []);
108
+ var previousFields = useRef(initPrevValues);
109
+ useEffect(function () {
110
+ var e_1, _a, _b;
111
+ var _c;
112
+ try {
113
+ for (var fieldsToTrack_1 = __values(fieldsToTrack), fieldsToTrack_1_1 = fieldsToTrack_1.next(); !fieldsToTrack_1_1.done; fieldsToTrack_1_1 = fieldsToTrack_1.next()) {
114
+ var fieldName = fieldsToTrack_1_1.value;
115
+ var fieldValue = props[fieldName];
116
+ var previousFieldValue = previousFields.current[fieldName];
117
+ if (fieldValue === previousFieldValue)
118
+ continue;
119
+ if (typeof props[fieldName] === 'undefined')
120
+ continue;
121
+ // Custom handling with dedicated setters for some fields
122
+ if (fieldName === 'nodes') {
123
+ onNodesChange({
124
+ userNodes: fieldValue,
125
+ });
126
+ }
127
+ else if (fieldName === 'edges') {
128
+ onEdgesChange({ userEdges: fieldValue });
129
+ }
130
+ else if (fieldName === 'minZoom')
131
+ setMinZoom(fieldValue);
132
+ else if (fieldName === 'maxZoom')
133
+ setMaxZoom(fieldValue);
134
+ else if (fieldName === 'translateExtent')
135
+ setTranslateExtent(fieldValue);
136
+ else if (fieldName === 'nodeExtent')
137
+ setNodeExtent(fieldValue);
138
+ // Renamed fields
139
+ else if (fieldName === 'fitView')
140
+ store.setState({ fitViewOnInit: fieldValue });
141
+ else if (fieldName === 'fitViewOptions')
142
+ store.setState({
143
+ fitViewOnInitOptions: fieldValue,
144
+ });
145
+ else if (fieldName === 'layoutConfig') {
146
+ var config = (fieldValue || {});
147
+ var value = __assign(__assign({}, config), { options: __assign(__assign({}, (config.options || {})), { rankdir: ((_c = config.options) === null || _c === void 0 ? void 0 : _c.rankdir) || 'TB' }) });
148
+ updateLayoutConfig(value);
149
+ }
150
+ // General case
151
+ else {
152
+ store.setState((_b = {}, _b[fieldName] = fieldValue, _b));
153
+ }
154
+ }
155
+ }
156
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
157
+ finally {
158
+ try {
159
+ if (fieldsToTrack_1_1 && !fieldsToTrack_1_1.done && (_a = fieldsToTrack_1.return)) _a.call(fieldsToTrack_1);
160
+ }
161
+ finally { if (e_1) throw e_1.error; }
162
+ }
163
+ previousFields.current = props;
164
+ },
165
+ // Only re-run the effect if one of the fields we track changes
166
+ fieldsToTrack.map(function (fieldName) { return props[fieldName]; }));
167
+ return null;
168
+ }
169
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/StoreUpdater/index.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { shallow } from 'zustand/shallow';
3
+ import { useStore } from '../../hooks/useStore';
4
+ var selector = function (s) { return ({
5
+ userSelectionActive: s.userSelectionActive,
6
+ userSelectionRect: s.userSelectionRect,
7
+ }); };
8
+ export function UserSelection() {
9
+ var _a = useStore(selector, shallow), userSelectionActive = _a.userSelectionActive, userSelectionRect = _a.userSelectionRect;
10
+ var isActive = userSelectionActive && userSelectionRect;
11
+ if (!isActive) {
12
+ return null;
13
+ }
14
+ return (_jsx("div", { className: "ink-flow__selection ink-flow__container", style: {
15
+ width: userSelectionRect.width,
16
+ height: userSelectionRect.height,
17
+ transform: "translate(".concat(userSelectionRect.x, "px, ").concat(userSelectionRect.y, "px)"),
18
+ } }));
19
+ }
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/UserSelection/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAE1C,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAGhD,IAAM,QAAQ,GAAG,UAAC,CAAe,IAAK,OAAA,CAAC;IACrC,mBAAmB,EAAE,CAAC,CAAC,mBAAmB;IAC1C,iBAAiB,EAAE,CAAC,CAAC,iBAAiB;CACvC,CAAC,EAHoC,CAGpC,CAAC;AAEH,MAAM,UAAU,aAAa;IACrB,IAAA,KAA6C,QAAQ,CACzD,QAAQ,EACR,OAAO,CACR,EAHO,mBAAmB,yBAAA,EAAE,iBAAiB,uBAG7C,CAAC;IACF,IAAM,QAAQ,GAAG,mBAAmB,IAAI,iBAAiB,CAAC;IAE1D,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,CACL,cACE,SAAS,EAAC,yCAAyC,EACnD,KAAK,EAAE;YACL,KAAK,EAAE,iBAAiB,CAAC,KAAK;YAC9B,MAAM,EAAE,iBAAiB,CAAC,MAAM;YAChC,SAAS,EAAE,oBAAa,iBAAiB,CAAC,CAAC,iBAAO,iBAAiB,CAAC,CAAC,QAAK;SAC3E,GACD,CACH,CAAC;AACJ,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { dagreLayout } from '@aloudata/ink-core';
2
+ export var builtinLayoutTypes = {
3
+ dagre: dagreLayout,
4
+ };
5
+ //# sourceMappingURL=layout.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"layout.js","sourceRoot":"","sources":["../../src/constants/layout.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,MAAM,CAAC,IAAM,kBAAkB,GAAG;IAChC,KAAK,EAAE,WAAW;CACnB,CAAC"}
@@ -0,0 +1,37 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { memo, useMemo } from 'react';
3
+ import { useMarkerSymbol } from './MarkerSymbols';
4
+ import { useStore } from '../../hooks';
5
+ import { createMarkerIds } from '../../utils/marker';
6
+ var Marker = function (_a) {
7
+ var id = _a.id, type = _a.type, color = _a.color, _b = _a.width, width = _b === void 0 ? 12.5 : _b, _c = _a.height, height = _c === void 0 ? 12.5 : _c, _d = _a.markerUnits, markerUnits = _d === void 0 ? 'strokeWidth' : _d, strokeWidth = _a.strokeWidth, _e = _a.orient, orient = _e === void 0 ? 'auto-start-reverse' : _e;
8
+ var Symbol = useMarkerSymbol(type);
9
+ if (!Symbol) {
10
+ return null;
11
+ }
12
+ return (_jsx("marker", { className: "ink-flow__arrowhead", id: id, markerWidth: "".concat(width), markerHeight: "".concat(height), viewBox: "-10 -10 20 20", markerUnits: markerUnits, orient: orient, refX: "0", refY: "0", children: _jsx(Symbol, { color: color, strokeWidth: strokeWidth }) }));
13
+ };
14
+ // when you have multiple flows on a page and you hide the first one, the other ones have no markers anymore
15
+ // when they do have markers with the same ids. To prevent this the user can pass a unique id to the Ink Flow wrapper
16
+ // that we can then use for creating our unique marker ids
17
+ var MarkerDefinitions = function (_a) {
18
+ var defaultColor = _a.defaultColor, rfId = _a.rfId;
19
+ var edges = useStore(function (s) { return s.edges; });
20
+ var defaultEdgeOptions = useStore(function (s) { return s.defaultEdgeOptions; }); // FIXME
21
+ var markers = useMemo(function () {
22
+ var markers = createMarkerIds(edges, {
23
+ id: rfId,
24
+ defaultColor: defaultColor,
25
+ defaultMarkerStart: defaultEdgeOptions === null || defaultEdgeOptions === void 0 ? void 0 : defaultEdgeOptions.markerStart,
26
+ defaultMarkerEnd: defaultEdgeOptions === null || defaultEdgeOptions === void 0 ? void 0 : defaultEdgeOptions.markerEnd,
27
+ });
28
+ return markers;
29
+ }, [edges, defaultEdgeOptions, rfId, defaultColor]);
30
+ if (!markers.length) {
31
+ return null;
32
+ }
33
+ return (_jsx("svg", { className: "ink-flow__marker", children: _jsx("defs", { children: markers.map(function (marker) { return (_jsx(Marker, { id: marker.id, type: marker.type, color: marker.color, width: marker.width, height: marker.height, markerUnits: marker.markerUnits, strokeWidth: marker.strokeWidth, orient: marker.orient }, marker.id)); }) }) }));
34
+ };
35
+ MarkerDefinitions.displayName = 'MarkerDefinitions';
36
+ export default memo(MarkerDefinitions);
37
+ //# sourceMappingURL=MarkerDefinitions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MarkerDefinitions.js","sourceRoot":"","sources":["../../../src/container/EdgeRenderer/MarkerDefinitions.tsx"],"names":[],"mappings":"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"}