@aloudata/ink-flow 1.0.28 → 1.0.29

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 (228) hide show
  1. package/dist/hooks/useIsomorphicLayoutEffect.d.ts +2 -2
  2. package/dist/hooks/useIsomorphicLayoutEffect.d.ts.map +1 -1
  3. package/dist/index.cjs.js +25 -0
  4. package/dist/index.cjs.js.map +1 -0
  5. package/dist/index.esm.js +25 -0
  6. package/dist/index.esm.js.map +1 -0
  7. package/dist/style.css +814 -0
  8. package/package.json +2 -2
  9. package/dist/components/A11yDescriptions/index.js +0 -29
  10. package/dist/components/A11yDescriptions/index.js.map +0 -1
  11. package/dist/components/BatchProvider/index.js +0 -86
  12. package/dist/components/BatchProvider/index.js.map +0 -1
  13. package/dist/components/BatchProvider/types.js +0 -2
  14. package/dist/components/BatchProvider/types.js.map +0 -1
  15. package/dist/components/BatchProvider/useQueue.js +0 -56
  16. package/dist/components/BatchProvider/useQueue.js.map +0 -1
  17. package/dist/components/ConnectionLine/index.js +0 -62
  18. package/dist/components/ConnectionLine/index.js.map +0 -1
  19. package/dist/components/EdgeLabelRenderer/index.js +0 -12
  20. package/dist/components/EdgeLabelRenderer/index.js.map +0 -1
  21. package/dist/components/EdgeWrapper/EdgeUpdateAnchors.js +0 -68
  22. package/dist/components/EdgeWrapper/EdgeUpdateAnchors.js.map +0 -1
  23. package/dist/components/EdgeWrapper/index.js +0 -159
  24. package/dist/components/EdgeWrapper/index.js.map +0 -1
  25. package/dist/components/EdgeWrapper/utils.js +0 -17
  26. package/dist/components/EdgeWrapper/utils.js.map +0 -1
  27. package/dist/components/Edges/BaseEdge.js +0 -9
  28. package/dist/components/Edges/BaseEdge.js.map +0 -1
  29. package/dist/components/Edges/BezierEdge.js +0 -28
  30. package/dist/components/Edges/BezierEdge.js.map +0 -1
  31. package/dist/components/Edges/EdgeAnchor.js +0 -23
  32. package/dist/components/Edges/EdgeAnchor.js.map +0 -1
  33. package/dist/components/Edges/EdgeText.js +0 -31
  34. package/dist/components/Edges/EdgeText.js.map +0 -1
  35. package/dist/components/Edges/SimpleBezierEdge.js +0 -68
  36. package/dist/components/Edges/SimpleBezierEdge.js.map +0 -1
  37. package/dist/components/Edges/SmoothStepEdge.js +0 -29
  38. package/dist/components/Edges/SmoothStepEdge.js.map +0 -1
  39. package/dist/components/Edges/StepEdge.js +0 -18
  40. package/dist/components/Edges/StepEdge.js.map +0 -1
  41. package/dist/components/Edges/StraightEdge.js +0 -24
  42. package/dist/components/Edges/StraightEdge.js.map +0 -1
  43. package/dist/components/Edges/index.js +0 -9
  44. package/dist/components/Edges/index.js.map +0 -1
  45. package/dist/components/Handle/index.js +0 -179
  46. package/dist/components/Handle/index.js.map +0 -1
  47. package/dist/components/InkFlowProvider/index.js +0 -21
  48. package/dist/components/InkFlowProvider/index.js.map +0 -1
  49. package/dist/components/NodeWrapper/index.js +0 -150
  50. package/dist/components/NodeWrapper/index.js.map +0 -1
  51. package/dist/components/NodeWrapper/useNodeObserver.js +0 -54
  52. package/dist/components/NodeWrapper/useNodeObserver.js.map +0 -1
  53. package/dist/components/NodeWrapper/utils.js +0 -30
  54. package/dist/components/NodeWrapper/utils.js.map +0 -1
  55. package/dist/components/Nodes/DefaultNode.js +0 -8
  56. package/dist/components/Nodes/DefaultNode.js.map +0 -1
  57. package/dist/components/Nodes/GroupNode.js +0 -4
  58. package/dist/components/Nodes/GroupNode.js.map +0 -1
  59. package/dist/components/Nodes/InputNode.js +0 -8
  60. package/dist/components/Nodes/InputNode.js.map +0 -1
  61. package/dist/components/Nodes/OutputNode.js +0 -8
  62. package/dist/components/Nodes/OutputNode.js.map +0 -1
  63. package/dist/components/Nodes/utils.js +0 -23
  64. package/dist/components/Nodes/utils.js.map +0 -1
  65. package/dist/components/Panel/index.js +0 -11
  66. package/dist/components/Panel/index.js.map +0 -1
  67. package/dist/components/StoreUpdater/index.js +0 -169
  68. package/dist/components/StoreUpdater/index.js.map +0 -1
  69. package/dist/components/UserSelection/index.js +0 -20
  70. package/dist/components/UserSelection/index.js.map +0 -1
  71. package/dist/constants/layout.js +0 -5
  72. package/dist/constants/layout.js.map +0 -1
  73. package/dist/container/EdgeRenderer/MarkerDefinitions.js +0 -37
  74. package/dist/container/EdgeRenderer/MarkerDefinitions.js.map +0 -1
  75. package/dist/container/EdgeRenderer/MarkerSymbols.js +0 -38
  76. package/dist/container/EdgeRenderer/MarkerSymbols.js.map +0 -1
  77. package/dist/container/EdgeRenderer/index.js +0 -25
  78. package/dist/container/EdgeRenderer/index.js.map +0 -1
  79. package/dist/container/FlowRenderer/index.js +0 -29
  80. package/dist/container/FlowRenderer/index.js.map +0 -1
  81. package/dist/container/GraphView/index.js +0 -14
  82. package/dist/container/GraphView/index.js.map +0 -1
  83. package/dist/container/InkFlow/Wrapper.js +0 -13
  84. package/dist/container/InkFlow/Wrapper.js.map +0 -1
  85. package/dist/container/InkFlow/index.js +0 -22
  86. package/dist/container/InkFlow/index.js.map +0 -1
  87. package/dist/container/InkFlow/init-values.js +0 -11
  88. package/dist/container/InkFlow/init-values.js.map +0 -1
  89. package/dist/container/NodeRenderer/index.js +0 -29
  90. package/dist/container/NodeRenderer/index.js.map +0 -1
  91. package/dist/container/NodeRenderer/useResizeObserver.js +0 -29
  92. package/dist/container/NodeRenderer/useResizeObserver.js.map +0 -1
  93. package/dist/container/Pane/index.js +0 -207
  94. package/dist/container/Pane/index.js.map +0 -1
  95. package/dist/container/Viewport/index.js +0 -11
  96. package/dist/container/Viewport/index.js.map +0 -1
  97. package/dist/container/ZoomPane/index.js +0 -108
  98. package/dist/container/ZoomPane/index.js.map +0 -1
  99. package/dist/contexts/NodeIdContext.js +0 -10
  100. package/dist/contexts/NodeIdContext.js.map +0 -1
  101. package/dist/contexts/StoreContext.js +0 -5
  102. package/dist/contexts/StoreContext.js.map +0 -1
  103. package/dist/hooks/index.js +0 -7
  104. package/dist/hooks/index.js.map +0 -1
  105. package/dist/hooks/useConnection.js +0 -47
  106. package/dist/hooks/useConnection.js.map +0 -1
  107. package/dist/hooks/useDrag.js +0 -56
  108. package/dist/hooks/useDrag.js.map +0 -1
  109. package/dist/hooks/useEdgesState.js +0 -6
  110. package/dist/hooks/useEdgesState.js.map +0 -1
  111. package/dist/hooks/useGlobalKeyHandler.js +0 -34
  112. package/dist/hooks/useGlobalKeyHandler.js.map +0 -1
  113. package/dist/hooks/useInkFlow.js +0 -185
  114. package/dist/hooks/useInkFlow.js.map +0 -1
  115. package/dist/hooks/useIsomorphicLayoutEffect.js +0 -4
  116. package/dist/hooks/useIsomorphicLayoutEffect.js.map +0 -1
  117. package/dist/hooks/useKeyPress.js +0 -117
  118. package/dist/hooks/useKeyPress.js.map +0 -1
  119. package/dist/hooks/useMoveSelectedNodes.js +0 -65
  120. package/dist/hooks/useMoveSelectedNodes.js.map +0 -1
  121. package/dist/hooks/useNodeInView.js +0 -41
  122. package/dist/hooks/useNodeInView.js.map +0 -1
  123. package/dist/hooks/useNodesInView.js +0 -52
  124. package/dist/hooks/useNodesInView.js.map +0 -1
  125. package/dist/hooks/useNodesState.js +0 -6
  126. package/dist/hooks/useNodesState.js.map +0 -1
  127. package/dist/hooks/useResizeHandler.js +0 -38
  128. package/dist/hooks/useResizeHandler.js.map +0 -1
  129. package/dist/hooks/useStore.js +0 -37
  130. package/dist/hooks/useStore.js.map +0 -1
  131. package/dist/hooks/useViewportHelper.js +0 -149
  132. package/dist/hooks/useViewportHelper.js.map +0 -1
  133. package/dist/hooks/useVisibleEdgeIds.js +0 -50
  134. package/dist/hooks/useVisibleEdgeIds.js.map +0 -1
  135. package/dist/hooks/useVisibleNodeIds.js +0 -21
  136. package/dist/hooks/useVisibleNodeIds.js.map +0 -1
  137. package/dist/index.js +0 -18
  138. package/dist/index.js.map +0 -1
  139. package/dist/plugins/Background/Background.js +0 -49
  140. package/dist/plugins/Background/Background.js.map +0 -1
  141. package/dist/plugins/Background/Patterns.js +0 -11
  142. package/dist/plugins/Background/Patterns.js.map +0 -1
  143. package/dist/plugins/Background/index.js +0 -3
  144. package/dist/plugins/Background/index.js.map +0 -1
  145. package/dist/plugins/Background/types.js +0 -7
  146. package/dist/plugins/Background/types.js.map +0 -1
  147. package/dist/plugins/Controls/ControlButton.js +0 -7
  148. package/dist/plugins/Controls/ControlButton.js.map +0 -1
  149. package/dist/plugins/Controls/Controls.js +0 -49
  150. package/dist/plugins/Controls/Controls.js.map +0 -1
  151. package/dist/plugins/Controls/Icons/FitView.js +0 -5
  152. package/dist/plugins/Controls/Icons/FitView.js.map +0 -1
  153. package/dist/plugins/Controls/Icons/Lock.js +0 -5
  154. package/dist/plugins/Controls/Icons/Lock.js.map +0 -1
  155. package/dist/plugins/Controls/Icons/Minus.js +0 -5
  156. package/dist/plugins/Controls/Icons/Minus.js.map +0 -1
  157. package/dist/plugins/Controls/Icons/Plus.js +0 -5
  158. package/dist/plugins/Controls/Icons/Plus.js.map +0 -1
  159. package/dist/plugins/Controls/Icons/Unlock.js +0 -5
  160. package/dist/plugins/Controls/Icons/Unlock.js.map +0 -1
  161. package/dist/plugins/Controls/index.js +0 -3
  162. package/dist/plugins/Controls/index.js.map +0 -1
  163. package/dist/plugins/Controls/types.js +0 -2
  164. package/dist/plugins/Controls/types.js.map +0 -1
  165. package/dist/plugins/NodeResizer/NodeResizeControl.js +0 -166
  166. package/dist/plugins/NodeResizer/NodeResizeControl.js.map +0 -1
  167. package/dist/plugins/NodeResizer/NodeResizer.js +0 -35
  168. package/dist/plugins/NodeResizer/NodeResizer.js.map +0 -1
  169. package/dist/plugins/NodeResizer/index.js +0 -4
  170. package/dist/plugins/NodeResizer/index.js.map +0 -1
  171. package/dist/plugins/NodeResizer/types.js +0 -2
  172. package/dist/plugins/NodeResizer/types.js.map +0 -1
  173. package/dist/plugins/index.js +0 -4
  174. package/dist/plugins/index.js.map +0 -1
  175. package/dist/store/index.js +0 -384
  176. package/dist/store/index.js.map +0 -1
  177. package/dist/store/initialState.js +0 -84
  178. package/dist/store/initialState.js.map +0 -1
  179. package/dist/styles/utils.js +0 -8
  180. package/dist/styles/utils.js.map +0 -1
  181. package/dist/types/edges.js +0 -2
  182. package/dist/types/edges.js.map +0 -1
  183. package/dist/types/general.js +0 -2
  184. package/dist/types/general.js.map +0 -1
  185. package/dist/types/index.js +0 -7
  186. package/dist/types/index.js.map +0 -1
  187. package/dist/types/instance.js +0 -2
  188. package/dist/types/instance.js.map +0 -1
  189. package/dist/types/layout.js +0 -2
  190. package/dist/types/layout.js.map +0 -1
  191. package/dist/types/nodes.js +0 -2
  192. package/dist/types/nodes.js.map +0 -1
  193. package/dist/types/props.js +0 -2
  194. package/dist/types/props.js.map +0 -1
  195. package/dist/types/store.js +0 -2
  196. package/dist/types/store.js.map +0 -1
  197. package/dist/types/utils/types.js +0 -2
  198. package/dist/types/utils/types.js.map +0 -1
  199. package/dist/utils/changes.js +0 -213
  200. package/dist/utils/changes.js.map +0 -1
  201. package/dist/utils/dom.js +0 -38
  202. package/dist/utils/dom.js.map +0 -1
  203. package/dist/utils/edges/bezier-edge.js +0 -96
  204. package/dist/utils/edges/bezier-edge.js.map +0 -1
  205. package/dist/utils/edges/general.js +0 -108
  206. package/dist/utils/edges/general.js.map +0 -1
  207. package/dist/utils/edges/index.js +0 -6
  208. package/dist/utils/edges/index.js.map +0 -1
  209. package/dist/utils/edges/positions.js +0 -101
  210. package/dist/utils/edges/positions.js.map +0 -1
  211. package/dist/utils/edges/smoothstep-edge.js +0 -222
  212. package/dist/utils/edges/smoothstep-edge.js.map +0 -1
  213. package/dist/utils/edges/straight-edge.js +0 -32
  214. package/dist/utils/edges/straight-edge.js.map +0 -1
  215. package/dist/utils/general.js +0 -228
  216. package/dist/utils/general.js.map +0 -1
  217. package/dist/utils/graph.js +0 -368
  218. package/dist/utils/graph.js.map +0 -1
  219. package/dist/utils/layout.js +0 -142
  220. package/dist/utils/layout.js.map +0 -1
  221. package/dist/utils/marker.js +0 -35
  222. package/dist/utils/marker.js.map +0 -1
  223. package/dist/utils/node.js +0 -42
  224. package/dist/utils/node.js.map +0 -1
  225. package/dist/utils/positions.js +0 -101
  226. package/dist/utils/positions.js.map +0 -1
  227. package/dist/utils/store.js +0 -162
  228. package/dist/utils/store.js.map +0 -1
@@ -1,368 +0,0 @@
1
- /* eslint-disable @typescript-eslint/no-explicit-any */
2
- import { errorMessages, } from '@aloudata/ink-core';
3
- import { boxToRect, clampPosition, getBoundsOfBoxes, getOverlappingArea, nodeToRect, pointToRendererPoint, getViewportForBounds, isCoordinateExtent, getNodeDimensions, nodeToBox, } from './general';
4
- /**
5
- * Test whether an object is useable as an Edge
6
- * @public
7
- * @remarks In TypeScript this is a type guard that will narrow the type of whatever you pass in to Edge if it returns true
8
- * @param element - The element to test
9
- * @returns A boolean indicating whether the element is an Edge
10
- */
11
- export var isEdgeBase = function (element) {
12
- return 'id' in element && 'source' in element && 'target' in element;
13
- };
14
- /**
15
- * Test whether an object is useable as a Node
16
- * @public
17
- * @remarks In TypeScript this is a type guard that will narrow the type of whatever you pass in to Node if it returns true
18
- * @param element - The element to test
19
- * @returns A boolean indicating whether the element is an Node
20
- */
21
- export var isNodeBase = function (element) {
22
- return 'id' in element &&
23
- 'position' in element &&
24
- !('source' in element) &&
25
- !('target' in element);
26
- };
27
- export var isInternalNodeBase = function (element) {
28
- return 'id' in element &&
29
- 'internals' in element &&
30
- !('source' in element) &&
31
- !('target' in element);
32
- };
33
- /**
34
- * Pass in a node, and get connected nodes where edge.source === node.id
35
- * @public
36
- * @param node - The node to get the connected nodes from
37
- * @param nodes - The array of all nodes
38
- * @param edges - The array of all edges
39
- * @returns An array of nodes that are connected over eges where the source is the given node
40
- */
41
- export var getOutgoers = function (node, nodes, edges) {
42
- if (!node.id) {
43
- return [];
44
- }
45
- var outgoerIds = new Set();
46
- edges.forEach(function (edge) {
47
- if (edge.source === node.id) {
48
- outgoerIds.add(edge.target);
49
- }
50
- });
51
- return nodes.filter(function (n) { return outgoerIds.has(n.id); });
52
- };
53
- /**
54
- * Pass in a node, and get connected nodes where edge.target === node.id
55
- * @public
56
- * @param node - The node to get the connected nodes from
57
- * @param nodes - The array of all nodes
58
- * @param edges - The array of all edges
59
- * @returns An array of nodes that are connected over eges where the target is the given node
60
- */
61
- export var getIncomers = function (node, nodes, edges) {
62
- if (!node.id) {
63
- return [];
64
- }
65
- var incomersIds = new Set();
66
- edges.forEach(function (edge) {
67
- if (edge.target === node.id) {
68
- incomersIds.add(edge.source);
69
- }
70
- });
71
- return nodes.filter(function (n) { return incomersIds.has(n.id); });
72
- };
73
- export var getNodePositionWithOrigin = function (node, nodeOrigin) {
74
- if (nodeOrigin === void 0) { nodeOrigin = [0, 0]; }
75
- var _a = getNodeDimensions(node), width = _a.width, height = _a.height;
76
- var positionAbsolute = 'internals' in node ? node.internals.positionAbsolute : node.position;
77
- var origin = node.origin || nodeOrigin;
78
- var offsetX = width * origin[0];
79
- var offsetY = height * origin[1];
80
- return {
81
- position: {
82
- x: node.position.x - offsetX,
83
- y: node.position.y - offsetY,
84
- },
85
- positionAbsolute: {
86
- x: positionAbsolute.x - offsetX,
87
- y: positionAbsolute.y - offsetY,
88
- },
89
- };
90
- };
91
- /**
92
- * Determines a bounding box that contains all given nodes in an array
93
- * @public
94
- * @remarks Useful when combined with {@link getViewportForBounds} to calculate the correct transform to fit the given nodes in a viewport.
95
- * @param nodes - Nodes to calculate the bounds for
96
- * @param params.nodeOrigin - Origin of the nodes: [0, 0] - top left, [0.5, 0.5] - center
97
- * @returns Bounding box enclosing all nodes
98
- */
99
- export var getNodesBounds = function (nodes, params) {
100
- if (params === void 0) { params = { nodeOrigin: [0, 0] }; }
101
- if (nodes.length === 0) {
102
- return { x: 0, y: 0, width: 0, height: 0 };
103
- }
104
- var box = nodes.reduce(function (currBox, node) {
105
- var nodeBox = nodeToBox(node, params.nodeOrigin);
106
- return getBoundsOfBoxes(currBox, nodeBox);
107
- }, { x: Infinity, y: Infinity, x2: -Infinity, y2: -Infinity });
108
- return boxToRect(box);
109
- };
110
- /**
111
- * Determines a bounding box that contains all given nodes in an array
112
- * @internal
113
- */
114
- export var getInternalNodesBounds = function (nodeLookup, params) {
115
- if (params === void 0) { params = {
116
- nodeOrigin: [0, 0],
117
- }; }
118
- if (nodeLookup.size === 0) {
119
- return { x: 0, y: 0, width: 0, height: 0 };
120
- }
121
- var box = { x: Infinity, y: Infinity, x2: -Infinity, y2: -Infinity };
122
- nodeLookup.forEach(function (node) {
123
- if (params.filter == undefined || params.filter(node)) {
124
- var nodeBox = nodeToBox(node, params.nodeOrigin);
125
- box = getBoundsOfBoxes(box, nodeBox);
126
- }
127
- });
128
- return boxToRect(box);
129
- };
130
- export var getNodesInside = function (nodes, rect, _a, partially,
131
- // set excludeNonSelectableNodes if you want to pay attention to the nodes "selectable" attribute
132
- excludeNonSelectableNodes) {
133
- var e_1, _b;
134
- var _c, _d, _e, _f, _g, _h;
135
- var _j = _a === void 0 ? [0, 0, 1] : _a, _k = __read(_j, 3), tx = _k[0], ty = _k[1], tScale = _k[2];
136
- if (partially === void 0) { partially = false; }
137
- if (excludeNonSelectableNodes === void 0) { excludeNonSelectableNodes = false; }
138
- var paneRect = __assign(__assign({}, pointToRendererPoint(rect, [tx, ty, tScale])), { width: rect.width / tScale, height: rect.height / tScale });
139
- var visibleNodes = [];
140
- try {
141
- for (var _l = __values(nodes.values()), _m = _l.next(); !_m.done; _m = _l.next()) {
142
- var node = _m.value;
143
- var measured = node.measured, _o = node.selectable, selectable = _o === void 0 ? true : _o, _p = node.hidden, hidden = _p === void 0 ? false : _p;
144
- if ((excludeNonSelectableNodes && !selectable) || hidden) {
145
- continue;
146
- }
147
- var width = (_e = (_d = (_c = measured.width) !== null && _c !== void 0 ? _c : node.width) !== null && _d !== void 0 ? _d : node.initialWidth) !== null && _e !== void 0 ? _e : null;
148
- var height = (_h = (_g = (_f = measured.height) !== null && _f !== void 0 ? _f : node.height) !== null && _g !== void 0 ? _g : node.initialHeight) !== null && _h !== void 0 ? _h : null;
149
- var overlappingArea = getOverlappingArea(paneRect, nodeToRect(node));
150
- var area = (width !== null && width !== void 0 ? width : 0) * (height !== null && height !== void 0 ? height : 0);
151
- var partiallyVisible = partially && overlappingArea > 0;
152
- var forceInitialRender = !node.internals.handleBounds;
153
- var isVisible = forceInitialRender || partiallyVisible || overlappingArea >= area;
154
- if (isVisible || node.dragging) {
155
- visibleNodes.push(node);
156
- }
157
- }
158
- }
159
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
160
- finally {
161
- try {
162
- if (_m && !_m.done && (_b = _l.return)) _b.call(_l);
163
- }
164
- finally { if (e_1) throw e_1.error; }
165
- }
166
- return visibleNodes;
167
- };
168
- /**
169
- * Get all connecting edges for a given set of nodes
170
- * @param nodes - Nodes you want to get the connected edges for
171
- * @param edges - All edges
172
- * @returns Array of edges that connect any of the given nodes with each other
173
- */
174
- export var getConnectedEdges = function (nodes, edges) {
175
- var nodeIds = new Set();
176
- nodes.forEach(function (node) {
177
- nodeIds.add(node.id);
178
- });
179
- return edges.filter(function (edge) { return nodeIds.has(edge.source) || nodeIds.has(edge.target); });
180
- };
181
- export function fitView(_a, options_1) {
182
- return __awaiter(this, arguments, void 0, function (_b, options) {
183
- var bounds, viewport;
184
- var _c, _d, _e;
185
- var nodes = _b.nodes, width = _b.width, height = _b.height, panZoom = _b.panZoom, minZoom = _b.minZoom, maxZoom = _b.maxZoom;
186
- return __generator(this, function (_f) {
187
- switch (_f.label) {
188
- case 0:
189
- if (nodes.size === 0) {
190
- return [2 /*return*/, Promise.resolve(false)];
191
- }
192
- bounds = getInternalNodesBounds(nodes);
193
- viewport = getViewportForBounds(bounds, width, height, (_c = options === null || options === void 0 ? void 0 : options.minZoom) !== null && _c !== void 0 ? _c : minZoom, (_d = options === null || options === void 0 ? void 0 : options.maxZoom) !== null && _d !== void 0 ? _d : maxZoom, (_e = options === null || options === void 0 ? void 0 : options.padding) !== null && _e !== void 0 ? _e : 0.1);
194
- return [4 /*yield*/, panZoom.setViewport(viewport, { duration: options === null || options === void 0 ? void 0 : options.duration })];
195
- case 1:
196
- _f.sent();
197
- return [2 /*return*/, Promise.resolve(true)];
198
- }
199
- });
200
- });
201
- }
202
- /**
203
- * This function clamps the passed extend by the node's width and height.
204
- * This is needed to prevent the node from being dragged outside of its extent.
205
- *
206
- * @param node
207
- * @param extent
208
- * @returns
209
- */
210
- function clampNodeExtent(node, extent) {
211
- var _a, _b, _c, _d;
212
- if (!extent || extent === 'parent') {
213
- return extent;
214
- }
215
- return [
216
- extent[0],
217
- [
218
- extent[1][0] - ((_b = (_a = node.measured) === null || _a === void 0 ? void 0 : _a.width) !== null && _b !== void 0 ? _b : 0),
219
- extent[1][1] - ((_d = (_c = node.measured) === null || _c === void 0 ? void 0 : _c.height) !== null && _d !== void 0 ? _d : 0),
220
- ],
221
- ];
222
- }
223
- /**
224
- * This function calculates the next position of a node, taking into account the node's extent, parent node, and origin.
225
- *
226
- * @internal
227
- * @returns position, positionAbsolute
228
- */
229
- export function calculateNodePosition(_a) {
230
- var nodeId = _a.nodeId, nextPosition = _a.nextPosition, nodeLookup = _a.nodeLookup, _b = _a.nodeOrigin, nodeOrigin = _b === void 0 ? [0, 0] : _b, nodeExtent = _a.nodeExtent, onError = _a.onError;
231
- var node = nodeLookup.get(nodeId);
232
- var parentNode = node.parentId ? nodeLookup.get(node.parentId) : undefined;
233
- var _c = parentNode
234
- ? getNodePositionWithOrigin(parentNode, parentNode.origin || nodeOrigin)
235
- .positionAbsolute
236
- : { x: 0, y: 0 }, parentX = _c.x, parentY = _c.y;
237
- var currentExtent = clampNodeExtent(node, node.extent || nodeExtent);
238
- if (node.extent === 'parent' && !node.expandParent) {
239
- if (!parentNode) {
240
- onError === null || onError === void 0 ? void 0 : onError('005', errorMessages['error005']());
241
- }
242
- else {
243
- var nodeWidth = node.measured.width;
244
- var nodeHeight = node.measured.height;
245
- var parentWidth = parentNode.measured.width;
246
- var parentHeight = parentNode.measured.height;
247
- if (nodeWidth && nodeHeight && parentWidth && parentHeight) {
248
- var currNodeOrigin = node.origin || nodeOrigin;
249
- var extentX = parentX + nodeWidth * currNodeOrigin[0];
250
- var extentY = parentY + nodeHeight * currNodeOrigin[1];
251
- currentExtent = [
252
- [extentX, extentY],
253
- [
254
- extentX + parentWidth - nodeWidth,
255
- extentY + parentHeight - nodeHeight,
256
- ],
257
- ];
258
- }
259
- }
260
- }
261
- else if (parentNode && isCoordinateExtent(node.extent)) {
262
- currentExtent = [
263
- [node.extent[0][0] + parentX, node.extent[0][1] + parentY],
264
- [node.extent[1][0] + parentX, node.extent[1][1] + parentY],
265
- ];
266
- }
267
- var positionAbsolute = isCoordinateExtent(currentExtent)
268
- ? clampPosition(nextPosition, currentExtent)
269
- : nextPosition;
270
- return {
271
- position: {
272
- x: positionAbsolute.x - parentX,
273
- y: positionAbsolute.y - parentY,
274
- },
275
- positionAbsolute: positionAbsolute,
276
- };
277
- }
278
- /**
279
- * Pass in nodes & edges to delete, get arrays of nodes and edges that actually can be deleted
280
- * @internal
281
- * @param param.nodesToRemove - The nodes to remove
282
- * @param param.edgesToRemove - The edges to remove
283
- * @param param.nodes - All nodes
284
- * @param param.edges - All edges
285
- * @param param.onBeforeDelete - Callback to check which nodes and edges can be deleted
286
- * @returns nodes: nodes that can be deleted, edges: edges that can be deleted
287
- */
288
- export function getElementsToRemove(_a) {
289
- return __awaiter(this, arguments, void 0, function (_b) {
290
- var nodeIds, matchingNodes, _loop_1, nodes_1, nodes_1_1, node, edgeIds, deletableEdges, connectedEdges, matchingEdges, _loop_2, deletableEdges_1, deletableEdges_1_1, edge, onBeforeDeleteResult;
291
- var e_2, _c, e_3, _d;
292
- var _e = _b.nodesToRemove, nodesToRemove = _e === void 0 ? [] : _e, _f = _b.edgesToRemove, edgesToRemove = _f === void 0 ? [] : _f, nodes = _b.nodes, edges = _b.edges, onBeforeDelete = _b.onBeforeDelete;
293
- return __generator(this, function (_g) {
294
- switch (_g.label) {
295
- case 0:
296
- nodeIds = new Set(nodesToRemove.map(function (node) { return node.id; }));
297
- matchingNodes = [];
298
- _loop_1 = function (node) {
299
- if (node.deletable === false) {
300
- return "continue";
301
- }
302
- var isIncluded = nodeIds.has(node.id);
303
- var parentHit = !isIncluded &&
304
- node.parentId &&
305
- matchingNodes.find(function (n) { return n.id === node.parentId; });
306
- if (isIncluded || parentHit) {
307
- matchingNodes.push(node);
308
- }
309
- };
310
- try {
311
- for (nodes_1 = __values(nodes), nodes_1_1 = nodes_1.next(); !nodes_1_1.done; nodes_1_1 = nodes_1.next()) {
312
- node = nodes_1_1.value;
313
- _loop_1(node);
314
- }
315
- }
316
- catch (e_2_1) { e_2 = { error: e_2_1 }; }
317
- finally {
318
- try {
319
- if (nodes_1_1 && !nodes_1_1.done && (_c = nodes_1.return)) _c.call(nodes_1);
320
- }
321
- finally { if (e_2) throw e_2.error; }
322
- }
323
- edgeIds = new Set(edgesToRemove.map(function (edge) { return edge.id; }));
324
- deletableEdges = edges.filter(function (edge) { return edge.deletable !== false; });
325
- connectedEdges = getConnectedEdges(matchingNodes, deletableEdges);
326
- matchingEdges = connectedEdges;
327
- _loop_2 = function (edge) {
328
- var isIncluded = edgeIds.has(edge.id);
329
- if (isIncluded && !matchingEdges.find(function (e) { return e.id === edge.id; })) {
330
- matchingEdges.push(edge);
331
- }
332
- };
333
- try {
334
- for (deletableEdges_1 = __values(deletableEdges), deletableEdges_1_1 = deletableEdges_1.next(); !deletableEdges_1_1.done; deletableEdges_1_1 = deletableEdges_1.next()) {
335
- edge = deletableEdges_1_1.value;
336
- _loop_2(edge);
337
- }
338
- }
339
- catch (e_3_1) { e_3 = { error: e_3_1 }; }
340
- finally {
341
- try {
342
- if (deletableEdges_1_1 && !deletableEdges_1_1.done && (_d = deletableEdges_1.return)) _d.call(deletableEdges_1);
343
- }
344
- finally { if (e_3) throw e_3.error; }
345
- }
346
- if (!onBeforeDelete) {
347
- return [2 /*return*/, {
348
- edges: matchingEdges,
349
- nodes: matchingNodes,
350
- }];
351
- }
352
- return [4 /*yield*/, onBeforeDelete({
353
- nodes: matchingNodes,
354
- edges: matchingEdges,
355
- })];
356
- case 1:
357
- onBeforeDeleteResult = _g.sent();
358
- if (typeof onBeforeDeleteResult === 'boolean') {
359
- return [2 /*return*/, onBeforeDeleteResult
360
- ? { edges: matchingEdges, nodes: matchingNodes }
361
- : { edges: [], nodes: [] }];
362
- }
363
- return [2 /*return*/, onBeforeDeleteResult];
364
- }
365
- });
366
- });
367
- }
368
- //# sourceMappingURL=graph.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"graph.js","sourceRoot":"","sources":["../../src/utils/graph.ts"],"names":[],"mappings":"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"}
@@ -1,142 +0,0 @@
1
- import { builtinLayoutTypes } from '../constants/layout';
2
- import { setCenterByBBox, setCenterById } from './node';
3
- import _ from 'lodash';
4
- import { DEFAULT_LAYOUT_CONFIG } from '../container/InkFlow/init-values';
5
- import { getNodePositionWithOrigin } from './graph';
6
- import { getNodeDimensions } from './general';
7
- export function layout(_a) {
8
- var layoutTypes = _a.layoutTypes, _b = _a.layoutConfig, layoutConfig = _b === void 0 ? DEFAULT_LAYOUT_CONFIG : _b, edges = _a.edges, nodeOrigin = _a.nodeOrigin, nodes = _a.nodes, container = _a.container;
9
- var layoutFn = layoutTypes[layoutConfig === null || layoutConfig === void 0 ? void 0 : layoutConfig.type] || builtinLayoutTypes[layoutConfig === null || layoutConfig === void 0 ? void 0 : layoutConfig.type];
10
- if (!canLayout(nodes) || !layoutFn) {
11
- return { nodes: nodes, edges: edges, layoutComplete: false };
12
- }
13
- return execLayout({
14
- layoutConfig: layoutConfig,
15
- container: container,
16
- nodeOrigin: nodeOrigin,
17
- nodes: nodes,
18
- layoutFn: layoutFn,
19
- edges: edges,
20
- });
21
- }
22
- export function canLayout(nodes) {
23
- return nodes.every(function (item) { var _a, _b; return ((_a = item.measured) === null || _a === void 0 ? void 0 : _a.width) && ((_b = item.measured) === null || _b === void 0 ? void 0 : _b.height); });
24
- }
25
- export function getNeedLayout(changes) {
26
- return changes.some(function (change) {
27
- return ['dimensions', 'remove', 'add', 'replace'].includes(change.type);
28
- });
29
- }
30
- export function execLayout(_a) {
31
- var _b = _a.layoutConfig, layoutConfig = _b === void 0 ? DEFAULT_LAYOUT_CONFIG : _b, edges = _a.edges, nodeOrigin = _a.nodeOrigin, nodes = _a.nodes, container = _a.container, layoutFn = _a.layoutFn;
32
- var newNodes = _.cloneDeep(nodes);
33
- newNodes.forEach(function (node) {
34
- if (node.data) {
35
- node.data.width = node.measured.width;
36
- node.data.height = node.measured.height;
37
- }
38
- });
39
- var _c = layoutFn(newNodes, edges, __assign({ nodeOrigin: nodeOrigin, width: container.width, height: container.height }, layoutConfig === null || layoutConfig === void 0 ? void 0 : layoutConfig.options)), hasLayoutNodes = _c.nodes, hasLayoutEdges = _c.edges;
40
- return { nodes: hasLayoutNodes, edges: hasLayoutEdges, layoutComplete: true };
41
- }
42
- export function setCenter(_a) {
43
- var centerConfig = _a.centerConfig, width = _a.width, height = _a.height, transform = _a.transform, panZoom = _a.panZoom, nodeOrigin = _a.nodeOrigin, nodes = _a.nodes;
44
- if (!centerConfig || !panZoom) {
45
- return;
46
- }
47
- var centerNode = nodes.find(function (item) { return item.id === centerConfig.centerNodeId; });
48
- if (centerNode) {
49
- setCenterById({
50
- node: centerNode,
51
- width: width,
52
- height: height,
53
- panZoom: panZoom,
54
- nodeOrigin: nodeOrigin,
55
- zoom: transform[2],
56
- });
57
- return true;
58
- }
59
- if (centerConfig.centerByBBox) {
60
- setCenterByBBox({
61
- nodes: nodes,
62
- width: width,
63
- height: height,
64
- panZoom: panZoom,
65
- nodeOrigin: nodeOrigin,
66
- zoom: transform[2],
67
- });
68
- }
69
- return true;
70
- }
71
- /**
72
- * 根据布局方向和offset设置进行偏移
73
- * @param
74
- * @returns
75
- */
76
- export function setViewportOffsetByLayoutDir(_a) {
77
- var offsetConfig = _a.offsetConfig, width = _a.width, height = _a.height, panZoom = _a.panZoom, nodeOrigin = _a.nodeOrigin, nodes = _a.nodes, layoutDirection = _a.layoutDirection;
78
- var node = nodes.find(function (item) { return item.id === (offsetConfig === null || offsetConfig === void 0 ? void 0 : offsetConfig.nodeId); });
79
- if (!layoutDirection || !node)
80
- return false;
81
- var nodePosition = getNodePositionWithOrigin(node, nodeOrigin).positionAbsolute;
82
- var nodeSize = getNodeDimensions(node);
83
- var viewportCenter = {
84
- x: width / 2,
85
- y: height / 2,
86
- };
87
- var offset = {
88
- x: 0,
89
- y: 0,
90
- };
91
- switch (layoutDirection) {
92
- case 'BT': {
93
- offset = {
94
- x: viewportCenter.x - nodePosition.x - nodeSize.width / 2,
95
- y: height - nodePosition.y - offsetConfig.offset - nodeSize.height,
96
- };
97
- break;
98
- }
99
- case 'LR': {
100
- offset = {
101
- x: offsetConfig.offset - nodePosition.x,
102
- y: viewportCenter.y - nodePosition.y - nodeSize.height / 2,
103
- };
104
- break;
105
- }
106
- case 'RL': {
107
- offset = {
108
- x: width - nodePosition.x - offsetConfig.offset - nodeSize.width,
109
- y: viewportCenter.y - nodePosition.y - nodeSize.height / 2,
110
- };
111
- break;
112
- }
113
- default: {
114
- offset = {
115
- x: viewportCenter.x - nodePosition.x - nodeSize.width / 2,
116
- y: offsetConfig.offset - nodePosition.y,
117
- };
118
- break;
119
- }
120
- }
121
- panZoom.setViewport({
122
- x: offset.x,
123
- y: offset.y,
124
- zoom: 1,
125
- });
126
- return true;
127
- }
128
- /** 按照指定位置将画布进行偏移 */
129
- export function setViewportOffsetByNode(_a) {
130
- var position = _a.position, targetPosition = _a.targetPosition, panZoom = _a.panZoom, transform = _a.transform;
131
- var zoom = transform[2];
132
- var offset = {
133
- x: (targetPosition.x - position.x) * zoom,
134
- y: (targetPosition.y - position.y) * zoom,
135
- };
136
- panZoom.setViewport({
137
- x: transform[0] + offset.x,
138
- y: transform[1] + offset.y,
139
- zoom: zoom,
140
- });
141
- }
142
- //# sourceMappingURL=layout.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"layout.js","sourceRoot":"","sources":["../../src/utils/layout.ts"],"names":[],"mappings":"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"}
@@ -1,35 +0,0 @@
1
- export function getMarkerId(marker, id) {
2
- if (!marker) {
3
- return '';
4
- }
5
- if (typeof marker === 'string') {
6
- return marker;
7
- }
8
- var idPrefix = id ? "".concat(id, "__") : '';
9
- return "".concat(idPrefix).concat(Object.keys(marker)
10
- .sort()
11
- .map(function (key) { return "".concat(key, "=").concat(marker[key]); })
12
- .join('&'));
13
- }
14
- export function createMarkerIds(edges, _a) {
15
- var id = _a.id, defaultColor = _a.defaultColor, defaultMarkerStart = _a.defaultMarkerStart, defaultMarkerEnd = _a.defaultMarkerEnd;
16
- var ids = new Set();
17
- return edges
18
- .reduce(function (markers, edge) {
19
- [
20
- edge.markerStart || defaultMarkerStart,
21
- edge.markerEnd || defaultMarkerEnd,
22
- ].forEach(function (marker) {
23
- if (marker && typeof marker === 'object') {
24
- var markerId = getMarkerId(marker, id);
25
- if (!ids.has(markerId)) {
26
- markers.push(__assign({ id: markerId, color: marker.color || defaultColor }, marker));
27
- ids.add(markerId);
28
- }
29
- }
30
- });
31
- return markers;
32
- }, [])
33
- .sort(function (a, b) { return a.id.localeCompare(b.id); });
34
- }
35
- //# sourceMappingURL=marker.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"marker.js","sourceRoot":"","sources":["../../src/utils/marker.ts"],"names":[],"mappings":"AAOA,MAAM,UAAU,WAAW,CACzB,MAAkC,EAClC,EAAkB;IAElB,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC/B,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,IAAM,QAAQ,GAAG,EAAE,CAAC,CAAC,CAAC,UAAG,EAAE,OAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IAErC,OAAO,UAAG,QAAQ,SAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;SACrC,IAAI,EAAE;SACN,GAAG,CAAC,UAAC,GAAG,IAAK,OAAA,UAAG,GAAG,cAAI,MAAM,CAAC,GAAuB,CAAC,CAAE,EAA3C,CAA2C,CAAC;SACzD,IAAI,CAAC,GAAG,CAAC,CAAE,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,eAAe,CAC7B,KAAiB,EACjB,EAUC;QATC,EAAE,QAAA,EACF,YAAY,kBAAA,EACZ,kBAAkB,wBAAA,EAClB,gBAAgB,sBAAA;IAQlB,IAAM,GAAG,GAAG,IAAI,GAAG,EAAU,CAAC;IAE9B,OAAO,KAAK;SACT,MAAM,CAAgB,UAAC,OAAO,EAAE,IAAI;QACnC;YACE,IAAI,CAAC,WAAW,IAAI,kBAAkB;YACtC,IAAI,CAAC,SAAS,IAAI,gBAAgB;SACnC,CAAC,OAAO,CAAC,UAAC,MAAM;YACf,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;gBACzC,IAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;gBACzC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACvB,OAAO,CAAC,IAAI,YACV,EAAE,EAAE,QAAQ,EACZ,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,YAAY,IAChC,MAAM,EACT,CAAC;oBACH,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBACpB,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,OAAO,CAAC;IACjB,CAAC,EAAE,EAAE,CAAC;SACL,IAAI,CAAC,UAAC,CAAC,EAAE,CAAC,IAAK,OAAA,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,EAAxB,CAAwB,CAAC,CAAC;AAC9C,CAAC"}
@@ -1,42 +0,0 @@
1
- import { getNodeDimensions } from './general';
2
- import { getNodesBounds } from './graph';
3
- import { getNodePositionWithOrigin } from './store';
4
- export function setCenterByBBox(_a) {
5
- var nodes = _a.nodes, nodeOrigin = _a.nodeOrigin, height = _a.height, width = _a.width, _b = _a.zoom, zoom = _b === void 0 ? 1 : _b, panZoom = _a.panZoom;
6
- var bounds = getNodesBounds(nodes, { nodeOrigin: nodeOrigin });
7
- var offset = {
8
- x: bounds.x + bounds.width / 2,
9
- y: bounds.y + bounds.height / 2,
10
- };
11
- var center = {
12
- x: width / 2 - offset.x * zoom,
13
- y: height / 2 - offset.y * zoom,
14
- };
15
- panZoom.setViewport({
16
- x: center.x,
17
- y: center.y,
18
- zoom: zoom,
19
- });
20
- }
21
- export function setCenterById(_a) {
22
- var node = _a.node, height = _a.height, width = _a.width, _b = _a.zoom, zoom = _b === void 0 ? 1 : _b, panZoom = _a.panZoom, nodeOrigin = _a.nodeOrigin;
23
- var dimension = getNodeDimensions(node);
24
- var nodePosition = getNodePositionWithOrigin(node, nodeOrigin).positionAbsolute;
25
- var offset = {
26
- x: nodePosition.x + dimension.width / 2,
27
- y: nodePosition.y + dimension.height / 2,
28
- };
29
- var center = {
30
- x: width / 2 - offset.x * zoom,
31
- y: height / 2 - offset.y * zoom,
32
- };
33
- panZoom.setViewport({
34
- x: center.x,
35
- y: center.y,
36
- zoom: zoom,
37
- });
38
- }
39
- export function checkNodeHasPosition(nodes) {
40
- return nodes.every(function (node) { return !!node.position; });
41
- }
42
- //# sourceMappingURL=node.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"node.js","sourceRoot":"","sources":["../../src/utils/node.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAC;AAEpD,MAAM,UAAU,eAAe,CAAwB,EActD;QAbC,KAAK,WAAA,EACL,UAAU,gBAAA,EACV,MAAM,YAAA,EACN,KAAK,WAAA,EACL,YAAQ,EAAR,IAAI,mBAAG,CAAC,KAAA,EACR,OAAO,aAAA;IASP,IAAM,MAAM,GAAG,cAAc,CAAC,KAAK,EAAE,EAAE,UAAU,YAAA,EAAE,CAAC,CAAC;IACrD,IAAM,MAAM,GAAG;QACb,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,GAAG,CAAC;QAC9B,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC;KAChC,CAAC;IAEF,IAAM,MAAM,GAAG;QACb,CAAC,EAAE,KAAK,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,IAAI;QAC9B,CAAC,EAAE,MAAM,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,IAAI;KAChC,CAAC;IAEF,OAAO,CAAC,WAAW,CAAC;QAClB,CAAC,EAAE,MAAM,CAAC,CAAC;QACX,CAAC,EAAE,MAAM,CAAC,CAAC;QACX,IAAI,MAAA;KACL,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,aAAa,CAAwB,EAcpD;QAbC,IAAI,UAAA,EACJ,MAAM,YAAA,EACN,KAAK,WAAA,EACL,YAAQ,EAAR,IAAI,mBAAG,CAAC,KAAA,EACR,OAAO,aAAA,EACP,UAAU,gBAAA;IASV,IAAM,SAAS,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAC1C,IAAM,YAAY,GAAG,yBAAyB,CAC5C,IAAI,EACJ,UAAU,CACX,CAAC,gBAAgB,CAAC;IAEnB,IAAM,MAAM,GAAG;QACb,CAAC,EAAE,YAAY,CAAC,CAAC,GAAG,SAAS,CAAC,KAAK,GAAG,CAAC;QACvC,CAAC,EAAE,YAAY,CAAC,CAAC,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC;KACzC,CAAC;IAEF,IAAM,MAAM,GAAG;QACb,CAAC,EAAE,KAAK,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,IAAI;QAC9B,CAAC,EAAE,MAAM,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,IAAI;KAChC,CAAC;IAEF,OAAO,CAAC,WAAW,CAAC;QAClB,CAAC,EAAE,MAAM,CAAC,CAAC;QACX,CAAC,EAAE,MAAM,CAAC,CAAC;QACX,IAAI,MAAA;KACL,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAwB,KAAiB;IAC3E,OAAO,KAAK,CAAC,KAAK,CAAC,UAAC,IAAI,IAAK,OAAA,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAf,CAAe,CAAC,CAAC;AAChD,CAAC"}