@aloudata/ink-flow 1.0.26 → 1.0.28

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (245) hide show
  1. package/dist/components/A11yDescriptions/index.js +29 -0
  2. package/dist/components/A11yDescriptions/index.js.map +1 -0
  3. package/dist/components/BatchProvider/index.js +86 -0
  4. package/dist/components/BatchProvider/index.js.map +1 -0
  5. package/dist/components/BatchProvider/types.js +2 -0
  6. package/dist/components/BatchProvider/types.js.map +1 -0
  7. package/dist/components/BatchProvider/useQueue.js +56 -0
  8. package/dist/components/BatchProvider/useQueue.js.map +1 -0
  9. package/dist/components/ConnectionLine/index.js +62 -0
  10. package/dist/components/ConnectionLine/index.js.map +1 -0
  11. package/dist/components/EdgeLabelRenderer/index.js +12 -0
  12. package/dist/components/EdgeLabelRenderer/index.js.map +1 -0
  13. package/dist/components/EdgeWrapper/EdgeUpdateAnchors.js +68 -0
  14. package/dist/components/EdgeWrapper/EdgeUpdateAnchors.js.map +1 -0
  15. package/dist/components/EdgeWrapper/index.js +159 -0
  16. package/dist/components/EdgeWrapper/index.js.map +1 -0
  17. package/dist/components/EdgeWrapper/utils.js +17 -0
  18. package/dist/components/EdgeWrapper/utils.js.map +1 -0
  19. package/dist/components/Edges/BaseEdge.js +9 -0
  20. package/dist/components/Edges/BaseEdge.js.map +1 -0
  21. package/dist/components/Edges/BezierEdge.js +28 -0
  22. package/dist/components/Edges/BezierEdge.js.map +1 -0
  23. package/dist/components/Edges/EdgeAnchor.js +23 -0
  24. package/dist/components/Edges/EdgeAnchor.js.map +1 -0
  25. package/dist/components/Edges/EdgeText.js +31 -0
  26. package/dist/components/Edges/EdgeText.js.map +1 -0
  27. package/dist/components/Edges/SimpleBezierEdge.js +68 -0
  28. package/dist/components/Edges/SimpleBezierEdge.js.map +1 -0
  29. package/dist/components/Edges/SmoothStepEdge.js +29 -0
  30. package/dist/components/Edges/SmoothStepEdge.js.map +1 -0
  31. package/dist/components/Edges/StepEdge.js +18 -0
  32. package/dist/components/Edges/StepEdge.js.map +1 -0
  33. package/dist/components/Edges/StraightEdge.js +24 -0
  34. package/dist/components/Edges/StraightEdge.js.map +1 -0
  35. package/dist/components/Edges/index.js +9 -0
  36. package/dist/components/Edges/index.js.map +1 -0
  37. package/dist/components/Handle/index.d.ts.map +1 -1
  38. package/dist/components/Handle/index.js +179 -0
  39. package/dist/components/Handle/index.js.map +1 -0
  40. package/dist/components/InkFlowProvider/index.js +21 -0
  41. package/dist/components/InkFlowProvider/index.js.map +1 -0
  42. package/dist/components/NodeWrapper/index.js +150 -0
  43. package/dist/components/NodeWrapper/index.js.map +1 -0
  44. package/dist/components/NodeWrapper/useNodeObserver.js +54 -0
  45. package/dist/components/NodeWrapper/useNodeObserver.js.map +1 -0
  46. package/dist/components/NodeWrapper/utils.js +30 -0
  47. package/dist/components/NodeWrapper/utils.js.map +1 -0
  48. package/dist/components/Nodes/DefaultNode.js +8 -0
  49. package/dist/components/Nodes/DefaultNode.js.map +1 -0
  50. package/dist/components/Nodes/GroupNode.js +4 -0
  51. package/dist/components/Nodes/GroupNode.js.map +1 -0
  52. package/dist/components/Nodes/InputNode.js +8 -0
  53. package/dist/components/Nodes/InputNode.js.map +1 -0
  54. package/dist/components/Nodes/OutputNode.js +8 -0
  55. package/dist/components/Nodes/OutputNode.js.map +1 -0
  56. package/dist/components/Nodes/utils.js +23 -0
  57. package/dist/components/Nodes/utils.js.map +1 -0
  58. package/dist/components/Panel/index.js +11 -0
  59. package/dist/components/Panel/index.js.map +1 -0
  60. package/dist/components/StoreUpdater/index.js +169 -0
  61. package/dist/components/StoreUpdater/index.js.map +1 -0
  62. package/dist/components/UserSelection/index.js +20 -0
  63. package/dist/components/UserSelection/index.js.map +1 -0
  64. package/dist/constants/layout.js +5 -0
  65. package/dist/constants/layout.js.map +1 -0
  66. package/dist/container/EdgeRenderer/MarkerDefinitions.js +37 -0
  67. package/dist/container/EdgeRenderer/MarkerDefinitions.js.map +1 -0
  68. package/dist/container/EdgeRenderer/MarkerSymbols.js +38 -0
  69. package/dist/container/EdgeRenderer/MarkerSymbols.js.map +1 -0
  70. package/dist/container/EdgeRenderer/index.js +25 -0
  71. package/dist/container/EdgeRenderer/index.js.map +1 -0
  72. package/dist/container/FlowRenderer/index.js +29 -0
  73. package/dist/container/FlowRenderer/index.js.map +1 -0
  74. package/dist/container/GraphView/index.js +14 -0
  75. package/dist/container/GraphView/index.js.map +1 -0
  76. package/dist/container/InkFlow/Wrapper.js +13 -0
  77. package/dist/container/InkFlow/Wrapper.js.map +1 -0
  78. package/dist/container/InkFlow/index.d.ts.map +1 -1
  79. package/dist/container/InkFlow/index.js +22 -0
  80. package/dist/container/InkFlow/index.js.map +1 -0
  81. package/dist/container/InkFlow/init-values.js +11 -0
  82. package/dist/container/InkFlow/init-values.js.map +1 -0
  83. package/dist/container/NodeRenderer/index.js +29 -0
  84. package/dist/container/NodeRenderer/index.js.map +1 -0
  85. package/dist/container/NodeRenderer/useResizeObserver.js +29 -0
  86. package/dist/container/NodeRenderer/useResizeObserver.js.map +1 -0
  87. package/dist/container/Pane/index.js +207 -0
  88. package/dist/container/Pane/index.js.map +1 -0
  89. package/dist/container/Viewport/index.d.ts.map +1 -1
  90. package/dist/container/Viewport/index.js +11 -0
  91. package/dist/container/Viewport/index.js.map +1 -0
  92. package/dist/container/ZoomPane/index.js +108 -0
  93. package/dist/container/ZoomPane/index.js.map +1 -0
  94. package/dist/contexts/NodeIdContext.js +10 -0
  95. package/dist/contexts/NodeIdContext.js.map +1 -0
  96. package/dist/contexts/StoreContext.js +5 -0
  97. package/dist/contexts/StoreContext.js.map +1 -0
  98. package/dist/hooks/index.d.ts +2 -0
  99. package/dist/hooks/index.d.ts.map +1 -1
  100. package/dist/hooks/index.js +7 -0
  101. package/dist/hooks/index.js.map +1 -0
  102. package/dist/hooks/useConnection.js +47 -0
  103. package/dist/hooks/useConnection.js.map +1 -0
  104. package/dist/hooks/useDrag.js +56 -0
  105. package/dist/hooks/useDrag.js.map +1 -0
  106. package/dist/hooks/useEdgesState.js +6 -0
  107. package/dist/hooks/useEdgesState.js.map +1 -0
  108. package/dist/hooks/useGlobalKeyHandler.js +34 -0
  109. package/dist/hooks/useGlobalKeyHandler.js.map +1 -0
  110. package/dist/hooks/useInkFlow.js +185 -0
  111. package/dist/hooks/useInkFlow.js.map +1 -0
  112. package/dist/hooks/useIsomorphicLayoutEffect.d.ts +2 -2
  113. package/dist/hooks/useIsomorphicLayoutEffect.d.ts.map +1 -1
  114. package/dist/hooks/useIsomorphicLayoutEffect.js +4 -0
  115. package/dist/hooks/useIsomorphicLayoutEffect.js.map +1 -0
  116. package/dist/hooks/useKeyPress.js +117 -0
  117. package/dist/hooks/useKeyPress.js.map +1 -0
  118. package/dist/hooks/useMoveSelectedNodes.js +65 -0
  119. package/dist/hooks/useMoveSelectedNodes.js.map +1 -0
  120. package/dist/hooks/useNodeInView.d.ts +10 -0
  121. package/dist/hooks/useNodeInView.d.ts.map +1 -0
  122. package/dist/hooks/useNodeInView.js +41 -0
  123. package/dist/hooks/useNodeInView.js.map +1 -0
  124. package/dist/hooks/useNodesInView.d.ts +12 -0
  125. package/dist/hooks/useNodesInView.d.ts.map +1 -0
  126. package/dist/hooks/useNodesInView.js +52 -0
  127. package/dist/hooks/useNodesInView.js.map +1 -0
  128. package/dist/hooks/useNodesState.js +6 -0
  129. package/dist/hooks/useNodesState.js.map +1 -0
  130. package/dist/hooks/useResizeHandler.js +38 -0
  131. package/dist/hooks/useResizeHandler.js.map +1 -0
  132. package/dist/hooks/useStore.js +37 -0
  133. package/dist/hooks/useStore.js.map +1 -0
  134. package/dist/hooks/useViewportHelper.js +149 -0
  135. package/dist/hooks/useViewportHelper.js.map +1 -0
  136. package/dist/hooks/useVisibleEdgeIds.js +50 -0
  137. package/dist/hooks/useVisibleEdgeIds.js.map +1 -0
  138. package/dist/hooks/useVisibleNodeIds.js +21 -0
  139. package/dist/hooks/useVisibleNodeIds.js.map +1 -0
  140. package/dist/index.js +18 -0
  141. package/dist/index.js.map +1 -0
  142. package/dist/plugins/Background/Background.js +49 -0
  143. package/dist/plugins/Background/Background.js.map +1 -0
  144. package/dist/plugins/Background/Patterns.js +11 -0
  145. package/dist/plugins/Background/Patterns.js.map +1 -0
  146. package/dist/plugins/Background/index.js +3 -0
  147. package/dist/plugins/Background/index.js.map +1 -0
  148. package/dist/plugins/Background/types.js +7 -0
  149. package/dist/plugins/Background/types.js.map +1 -0
  150. package/dist/plugins/Controls/ControlButton.js +7 -0
  151. package/dist/plugins/Controls/ControlButton.js.map +1 -0
  152. package/dist/plugins/Controls/Controls.js +49 -0
  153. package/dist/plugins/Controls/Controls.js.map +1 -0
  154. package/dist/plugins/Controls/Icons/FitView.js +5 -0
  155. package/dist/plugins/Controls/Icons/FitView.js.map +1 -0
  156. package/dist/plugins/Controls/Icons/Lock.js +5 -0
  157. package/dist/plugins/Controls/Icons/Lock.js.map +1 -0
  158. package/dist/plugins/Controls/Icons/Minus.js +5 -0
  159. package/dist/plugins/Controls/Icons/Minus.js.map +1 -0
  160. package/dist/plugins/Controls/Icons/Plus.js +5 -0
  161. package/dist/plugins/Controls/Icons/Plus.js.map +1 -0
  162. package/dist/plugins/Controls/Icons/Unlock.js +5 -0
  163. package/dist/plugins/Controls/Icons/Unlock.js.map +1 -0
  164. package/dist/plugins/Controls/index.js +3 -0
  165. package/dist/plugins/Controls/index.js.map +1 -0
  166. package/dist/plugins/Controls/types.js +2 -0
  167. package/dist/plugins/Controls/types.js.map +1 -0
  168. package/dist/plugins/NodeResizer/NodeResizeControl.js +166 -0
  169. package/dist/plugins/NodeResizer/NodeResizeControl.js.map +1 -0
  170. package/dist/plugins/NodeResizer/NodeResizer.js +35 -0
  171. package/dist/plugins/NodeResizer/NodeResizer.js.map +1 -0
  172. package/dist/plugins/NodeResizer/index.js +4 -0
  173. package/dist/plugins/NodeResizer/index.js.map +1 -0
  174. package/dist/plugins/NodeResizer/types.js +2 -0
  175. package/dist/plugins/NodeResizer/types.js.map +1 -0
  176. package/dist/plugins/index.js +4 -0
  177. package/dist/plugins/index.js.map +1 -0
  178. package/dist/store/index.d.ts.map +1 -1
  179. package/dist/store/index.js +384 -0
  180. package/dist/store/index.js.map +1 -0
  181. package/dist/store/initialState.d.ts.map +1 -1
  182. package/dist/store/initialState.js +84 -0
  183. package/dist/store/initialState.js.map +1 -0
  184. package/dist/styles/utils.js +8 -0
  185. package/dist/styles/utils.js.map +1 -0
  186. package/dist/types/edges.js +2 -0
  187. package/dist/types/edges.js.map +1 -0
  188. package/dist/types/general.js +2 -0
  189. package/dist/types/general.js.map +1 -0
  190. package/dist/types/index.js +7 -0
  191. package/dist/types/index.js.map +1 -0
  192. package/dist/types/instance.js +2 -0
  193. package/dist/types/instance.js.map +1 -0
  194. package/dist/types/layout.js +2 -0
  195. package/dist/types/layout.js.map +1 -0
  196. package/dist/types/nodes.js +2 -0
  197. package/dist/types/nodes.js.map +1 -0
  198. package/dist/types/props.js +2 -0
  199. package/dist/types/props.js.map +1 -0
  200. package/dist/types/store.js +2 -0
  201. package/dist/types/store.js.map +1 -0
  202. package/dist/types/utils/types.js +2 -0
  203. package/dist/types/utils/types.js.map +1 -0
  204. package/dist/utils/changes.js +213 -0
  205. package/dist/utils/changes.js.map +1 -0
  206. package/dist/utils/dom.d.ts.map +1 -1
  207. package/dist/utils/dom.js +38 -0
  208. package/dist/utils/dom.js.map +1 -0
  209. package/dist/utils/edges/bezier-edge.js +96 -0
  210. package/dist/utils/edges/bezier-edge.js.map +1 -0
  211. package/dist/utils/edges/general.d.ts.map +1 -1
  212. package/dist/utils/edges/general.js +108 -0
  213. package/dist/utils/edges/general.js.map +1 -0
  214. package/dist/utils/edges/index.js +6 -0
  215. package/dist/utils/edges/index.js.map +1 -0
  216. package/dist/utils/edges/positions.js +101 -0
  217. package/dist/utils/edges/positions.js.map +1 -0
  218. package/dist/utils/edges/smoothstep-edge.js +222 -0
  219. package/dist/utils/edges/smoothstep-edge.js.map +1 -0
  220. package/dist/utils/edges/straight-edge.js +32 -0
  221. package/dist/utils/edges/straight-edge.js.map +1 -0
  222. package/dist/utils/general.d.ts +7 -0
  223. package/dist/utils/general.d.ts.map +1 -1
  224. package/dist/utils/general.js +228 -0
  225. package/dist/utils/general.js.map +1 -0
  226. package/dist/utils/graph.d.ts.map +1 -1
  227. package/dist/utils/graph.js +368 -0
  228. package/dist/utils/graph.js.map +1 -0
  229. package/dist/utils/layout.js +142 -0
  230. package/dist/utils/layout.js.map +1 -0
  231. package/dist/utils/marker.js +35 -0
  232. package/dist/utils/marker.js.map +1 -0
  233. package/dist/utils/node.js +42 -0
  234. package/dist/utils/node.js.map +1 -0
  235. package/dist/utils/positions.js +101 -0
  236. package/dist/utils/positions.js.map +1 -0
  237. package/dist/utils/store.d.ts.map +1 -1
  238. package/dist/utils/store.js +162 -0
  239. package/dist/utils/store.js.map +1 -0
  240. package/package.json +2 -2
  241. package/dist/index.cjs.js +0 -25
  242. package/dist/index.cjs.js.map +0 -1
  243. package/dist/index.esm.js +0 -25
  244. package/dist/index.esm.js.map +0 -1
  245. package/dist/style.css +0 -814
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useVisibleEdgeIds.js","sourceRoot":"","sources":["../../src/hooks/useVisibleEdgeIds.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAE1C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAE/C;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB,CAAC,iBAA0B;IAC1D,IAAM,OAAO,GAAG,QAAQ,CACtB,WAAW,CACT,UAAC,CAAe;;QACd,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACvB,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,UAAC,IAAI,IAAK,OAAA,IAAI,CAAC,EAAE,EAAP,CAAO,CAAC,CAAC;QACxC,CAAC;QAED,IAAM,cAAc,GAAG,EAAE,CAAC;QAE1B,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;;gBACxB,KAAmB,IAAA,KAAA,SAAA,CAAC,CAAC,KAAK,CAAA,gBAAA,4BAAE,CAAC;oBAAxB,IAAM,IAAI,WAAA;oBACb,IAAM,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBACjD,IAAM,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBAEjD,IACE,UAAU;wBACV,UAAU;wBACV,aAAa,CAAC;4BACZ,UAAU,YAAA;4BACV,UAAU,YAAA;4BACV,KAAK,EAAE,CAAC,CAAC,KAAK;4BACd,MAAM,EAAE,CAAC,CAAC,MAAM;4BAChB,SAAS,EAAE,CAAC,CAAC,SAAS;yBACvB,CAAC,EACF,CAAC;wBACD,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBAC/B,CAAC;gBACH,CAAC;;;;;;;;;QACH,CAAC;QAED,OAAO,cAAc,CAAC;IACxB,CAAC,EACD,CAAC,iBAAiB,CAAC,CACpB,EACD,OAAO,CACR,CAAC;IAEF,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -0,0 +1,21 @@
1
+ import { useCallback } from 'react';
2
+ import { shallow } from 'zustand/shallow';
3
+ import { useStore } from './useStore';
4
+ import { getNodesInside } from '../utils/graph';
5
+ var selector = function (onlyRenderVisible) { return function (s) {
6
+ return onlyRenderVisible
7
+ ? getNodesInside(s.nodeLookup, { x: 0, y: 0, width: s.width, height: s.height }, s.transform, true).map(function (node) { return node.id; })
8
+ : Array.from(s.nodeLookup.keys());
9
+ }; };
10
+ /**
11
+ * Hook for getting the visible node ids from the store.
12
+ *
13
+ * @internal
14
+ * @param onlyRenderVisible
15
+ * @returns array with visible node ids
16
+ */
17
+ export function useVisibleNodeIds(onlyRenderVisible) {
18
+ var nodeIds = useStore(useCallback(selector(onlyRenderVisible), [onlyRenderVisible]), shallow);
19
+ return nodeIds;
20
+ }
21
+ //# sourceMappingURL=useVisibleNodeIds.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useVisibleNodeIds.js","sourceRoot":"","sources":["../../src/hooks/useVisibleNodeIds.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAE1C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhD,IAAM,QAAQ,GAAG,UAAC,iBAA0B,IAAK,OAAA,UAAC,CAAe;IAC/D,OAAO,iBAAiB;QACtB,CAAC,CAAC,cAAc,CACZ,CAAC,CAAC,UAAU,EACZ,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,EAChD,CAAC,CAAC,SAAS,EACX,IAAI,CACL,CAAC,GAAG,CAAC,UAAC,IAAI,IAAK,OAAA,IAAI,CAAC,EAAE,EAAP,CAAO,CAAC;QAC1B,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;AACtC,CAAC,EATgD,CAShD,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB,CAAC,iBAA0B;IAC1D,IAAM,OAAO,GAAG,QAAQ,CACtB,WAAW,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC,EAC7D,OAAO,CACR,CAAC;IAEF,OAAO,OAAO,CAAC;AACjB,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,18 @@
1
+ import InkFlow from './container/InkFlow';
2
+ export { InkFlow as default };
3
+ export * from './hooks';
4
+ export * from './components/Handle';
5
+ export * from './plugins';
6
+ export * from './components/InkFlowProvider';
7
+ export * from './types';
8
+ export { BaseEdge } from './components/Edges/BaseEdge';
9
+ export { StepEdge } from './components/Edges/StepEdge';
10
+ export { SmoothStepEdge } from './components/Edges/SmoothStepEdge';
11
+ export { EdgeLabelRenderer } from './components/EdgeLabelRenderer';
12
+ // core types
13
+ export { ConnectionLineType, MarkerType, ConnectionMode, PanOnScrollMode, SelectionMode, Position, } from '@aloudata/ink-core';
14
+ // core utils
15
+ export { getBezierEdgeCenter, getBezierPath, getEdgeCenter, getSmoothStepPath, getStraightPath, getViewportForBounds, getNodesBounds, getIncomers, getOutgoers, addEdge, updateEdge, getConnectedEdges, } from '@aloudata/ink-core';
16
+ // core layout
17
+ export { dagreLayout } from '@aloudata/ink-core';
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,qBAAqB,CAAC;AAE1C,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,CAAC;AAE9B,cAAc,SAAS,CAAC;AACxB,cAAc,qBAAqB,CAAC;AACpC,cAAc,WAAW,CAAC;AAE1B,cAAc,8BAA8B,CAAC;AAE7C,cAAc,SAAS,CAAC;AAExB,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAEnE,aAAa;AACb,OAAO,EAIL,kBAAkB,EAGlB,UAAU,EAKV,cAAc,EAOd,eAAe,EAMf,aAAa,EAKb,QAAQ,GA+BT,MAAM,oBAAoB,CAAC;AAE5B,aAAa;AACb,OAAO,EAEL,mBAAmB,EACnB,aAAa,EACb,aAAa,EAEb,iBAAiB,EAEjB,eAAe,EACf,oBAAoB,EACpB,cAAc,EACd,WAAW,EACX,WAAW,EACX,OAAO,EACP,UAAU,EACV,iBAAiB,GAClB,MAAM,oBAAoB,CAAC;AAE5B,cAAc;AACd,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,49 @@
1
+ var _a;
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { memo, useRef } from 'react';
4
+ import cc from 'classnames';
5
+ import { shallow } from 'zustand/shallow';
6
+ import { useStore } from '../../hooks/useStore';
7
+ import { DotPattern, LinePattern } from './Patterns';
8
+ import { containerStyle } from '../../styles/utils';
9
+ import { BackgroundVariant } from './types';
10
+ var defaultSize = (_a = {},
11
+ _a[BackgroundVariant.Dots] = 1,
12
+ _a[BackgroundVariant.Lines] = 1,
13
+ _a[BackgroundVariant.Cross] = 6,
14
+ _a);
15
+ var selector = function (s) { return ({
16
+ transform: s.transform,
17
+ patternId: "pattern-".concat(s.rfId),
18
+ }); };
19
+ function BackgroundComponent(_a) {
20
+ var id = _a.id, _b = _a.variant, variant = _b === void 0 ? BackgroundVariant.Dots : _b,
21
+ // only used for dots and cross
22
+ _c = _a.gap,
23
+ // only used for dots and cross
24
+ gap = _c === void 0 ? 20 : _c,
25
+ // only used for lines and cross
26
+ size = _a.size, _d = _a.lineWidth, lineWidth = _d === void 0 ? 1 : _d, _e = _a.offset, offset = _e === void 0 ? 2 : _e, color = _a.color, bgColor = _a.bgColor, style = _a.style, className = _a.className, patternClassName = _a.patternClassName;
27
+ var ref = useRef(null);
28
+ var _f = useStore(selector, shallow), transform = _f.transform, patternId = _f.patternId;
29
+ var patternSize = size || defaultSize[variant];
30
+ var isDots = variant === BackgroundVariant.Dots;
31
+ var isCross = variant === BackgroundVariant.Cross;
32
+ var gapXY = Array.isArray(gap) ? gap : [gap, gap];
33
+ var scaledGap = [
34
+ gapXY[0] * transform[2] || 1,
35
+ gapXY[1] * transform[2] || 1,
36
+ ];
37
+ var scaledSize = patternSize * transform[2];
38
+ var patternDimensions = isCross
39
+ ? [scaledSize, scaledSize]
40
+ : scaledGap;
41
+ var patternOffset = isDots
42
+ ? [scaledSize / offset, scaledSize / offset]
43
+ : [patternDimensions[0] / offset, patternDimensions[1] / offset];
44
+ var _patternId = "".concat(patternId).concat(id ? id : '');
45
+ return (_jsxs("svg", { className: cc(['ink-flow__background', className]), style: __assign(__assign(__assign({}, style), containerStyle), { '--xy-background-color-props': bgColor, '--xy-background-pattern-color-props': color }), ref: ref, "data-testid": "rf__background", children: [_jsx("pattern", { id: _patternId, x: transform[0] % scaledGap[0], y: transform[1] % scaledGap[1], width: scaledGap[0], height: scaledGap[1], patternUnits: "userSpaceOnUse", patternTransform: "translate(-".concat(patternOffset[0], ",-").concat(patternOffset[1], ")"), children: isDots ? (_jsx(DotPattern, { radius: scaledSize / offset, className: patternClassName })) : (_jsx(LinePattern, { dimensions: patternDimensions, lineWidth: lineWidth, variant: variant, className: patternClassName })) }), _jsx("rect", { x: "0", y: "0", width: "100%", height: "100%", fill: "url(#".concat(_patternId, ")") })] }));
46
+ }
47
+ BackgroundComponent.displayName = 'Background';
48
+ export var Background = memo(BackgroundComponent);
49
+ //# sourceMappingURL=Background.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Background.js","sourceRoot":"","sources":["../../../src/plugins/Background/Background.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import cc from 'classnames';
3
+ export function LinePattern(_a) {
4
+ var dimensions = _a.dimensions, lineWidth = _a.lineWidth, variant = _a.variant, className = _a.className;
5
+ return (_jsx("path", { strokeWidth: lineWidth, d: "M".concat(dimensions[0] / 2, " 0 V").concat(dimensions[1], " M0 ").concat(dimensions[1] / 2, " H").concat(dimensions[0]), className: cc(['ink-flow__background-pattern', variant, className]) }));
6
+ }
7
+ export function DotPattern(_a) {
8
+ var radius = _a.radius, className = _a.className;
9
+ return (_jsx("circle", { cx: radius, cy: radius, r: radius, className: cc(['ink-flow__background-pattern', 'dots', className]) }));
10
+ }
11
+ //# sourceMappingURL=Patterns.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Patterns.js","sourceRoot":"","sources":["../../../src/plugins/Background/Patterns.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,YAAY,CAAC;AAW5B,MAAM,UAAU,WAAW,CAAC,EAKT;QAJjB,UAAU,gBAAA,EACV,SAAS,eAAA,EACT,OAAO,aAAA,EACP,SAAS,eAAA;IAET,OAAO,CACL,eACE,WAAW,EAAE,SAAS,EACtB,CAAC,EAAE,WAAI,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,iBAAO,UAAU,CAAC,CAAC,CAAC,iBAAO,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,eAClE,UAAU,CAAC,CAAC,CAAC,CACb,EACF,SAAS,EAAE,EAAE,CAAC,CAAC,8BAA8B,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,GACnE,CACH,CAAC;AACJ,CAAC;AAOD,MAAM,UAAU,UAAU,CAAC,EAAsC;QAApC,MAAM,YAAA,EAAE,SAAS,eAAA;IAC5C,OAAO,CACL,iBACE,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,CAAC,EAAE,MAAM,EACT,SAAS,EAAE,EAAE,CAAC,CAAC,8BAA8B,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,GAClE,CACH,CAAC;AACJ,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { Background } from './Background';
2
+ export { BackgroundVariant } from './types';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/Background/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAwB,MAAM,SAAS,CAAC"}
@@ -0,0 +1,7 @@
1
+ export var BackgroundVariant;
2
+ (function (BackgroundVariant) {
3
+ BackgroundVariant["Lines"] = "lines";
4
+ BackgroundVariant["Dots"] = "dots";
5
+ BackgroundVariant["Cross"] = "cross";
6
+ })(BackgroundVariant || (BackgroundVariant = {}));
7
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/plugins/Background/types.ts"],"names":[],"mappings":"AAEA,MAAM,CAAN,IAAY,iBAIX;AAJD,WAAY,iBAAiB;IAC3B,oCAAe,CAAA;IACf,kCAAa,CAAA;IACb,oCAAe,CAAA;AACjB,CAAC,EAJW,iBAAiB,KAAjB,iBAAiB,QAI5B"}
@@ -0,0 +1,7 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import cc from 'classnames';
3
+ export function ControlButton(_a) {
4
+ var children = _a.children, className = _a.className, rest = __rest(_a, ["children", "className"]);
5
+ return (_jsx("button", __assign({ type: "button", className: cc(['ink-flow__controls-button', className]) }, rest, { children: children })));
6
+ }
7
+ //# sourceMappingURL=ControlButton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ControlButton.js","sourceRoot":"","sources":["../../../src/plugins/Controls/ControlButton.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,YAAY,CAAC;AAI5B,MAAM,UAAU,aAAa,CAAC,EAIT;IAHnB,IAAA,QAAQ,cAAA,EACR,SAAS,eAAA,EACN,IAAI,cAHqB,yBAI7B,CADQ;IAEP,OAAO,CACL,0BACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAE,EAAE,CAAC,CAAC,2BAA2B,EAAE,SAAS,CAAC,CAAC,IACnD,IAAI,cAEP,QAAQ,IACF,CACV,CAAC;AACJ,CAAC"}
@@ -0,0 +1,49 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { memo } from 'react';
3
+ import cc from 'classnames';
4
+ import { shallow } from 'zustand/shallow';
5
+ import { useStore, useStoreApi } from '../../hooks/useStore';
6
+ import { PlusIcon } from './Icons/Plus';
7
+ import { MinusIcon } from './Icons/Minus';
8
+ import { FitViewIcon } from './Icons/FitView';
9
+ import { LockIcon } from './Icons/Lock';
10
+ import { UnlockIcon } from './Icons/Unlock';
11
+ import { ControlButton } from './ControlButton';
12
+ import { useInkFlow } from '../../hooks/useInkFlow';
13
+ import { Panel } from '../../components/Panel';
14
+ var selector = function (s) { return ({
15
+ isInteractive: s.nodesDraggable || s.nodesConnectable || s.elementsSelectable,
16
+ minZoomReached: s.transform[2] <= s.minZoom,
17
+ maxZoomReached: s.transform[2] >= s.maxZoom,
18
+ }); };
19
+ function ControlsComponent(_a) {
20
+ var style = _a.style, _b = _a.showZoom, showZoom = _b === void 0 ? true : _b, _c = _a.showFitView, showFitView = _c === void 0 ? true : _c, _d = _a.showInteractive, showInteractive = _d === void 0 ? true : _d, fitViewOptions = _a.fitViewOptions, onZoomIn = _a.onZoomIn, onZoomOut = _a.onZoomOut, onFitView = _a.onFitView, onInteractiveChange = _a.onInteractiveChange, className = _a.className, children = _a.children, _e = _a.position, position = _e === void 0 ? 'bottom-left' : _e, _f = _a.orientation, orientation = _f === void 0 ? 'vertical' : _f, _g = _a["aria-label"], ariaLabel = _g === void 0 ? 'Ink Flow controls' : _g;
21
+ var store = useStoreApi();
22
+ var _h = useStore(selector, shallow), isInteractive = _h.isInteractive, minZoomReached = _h.minZoomReached, maxZoomReached = _h.maxZoomReached;
23
+ var _j = useInkFlow(), zoomIn = _j.zoomIn, zoomOut = _j.zoomOut, fitView = _j.fitView;
24
+ var onZoomInHandler = function () {
25
+ zoomIn();
26
+ onZoomIn === null || onZoomIn === void 0 ? void 0 : onZoomIn();
27
+ };
28
+ var onZoomOutHandler = function () {
29
+ zoomOut();
30
+ onZoomOut === null || onZoomOut === void 0 ? void 0 : onZoomOut();
31
+ };
32
+ var onFitViewHandler = function () {
33
+ fitView(fitViewOptions);
34
+ onFitView === null || onFitView === void 0 ? void 0 : onFitView();
35
+ };
36
+ var onToggleInteractivity = function () {
37
+ store.setState({
38
+ nodesDraggable: !isInteractive,
39
+ nodesConnectable: !isInteractive,
40
+ elementsSelectable: !isInteractive,
41
+ });
42
+ onInteractiveChange === null || onInteractiveChange === void 0 ? void 0 : onInteractiveChange(!isInteractive);
43
+ };
44
+ var orientationClass = orientation === 'horizontal' ? 'horizontal' : 'vertical';
45
+ return (_jsxs(Panel, { className: cc(['ink-flow__controls', orientationClass, className]), position: position, style: style, "data-testid": "rf__controls", "aria-label": ariaLabel, children: [showFitView && (_jsx(ControlButton, { className: "ink-flow__controls-fitview", onClick: onFitViewHandler, "aria-label": "fit view", children: _jsx(FitViewIcon, {}) })), showZoom && (_jsxs("div", { className: "ink-flow__controls-zoom", children: [_jsx(ControlButton, { onClick: onZoomInHandler, className: "ink-flow__controls-zoomin", "aria-label": "zoom in", disabled: maxZoomReached, children: _jsx(PlusIcon, {}) }), _jsx(ControlButton, { onClick: onZoomOutHandler, className: "ink-flow__controls-zoomout", "aria-label": "zoom out", disabled: minZoomReached, children: _jsx(MinusIcon, {}) })] })), showInteractive && (_jsx(ControlButton, { className: "ink-flow__controls-interactive", onClick: onToggleInteractivity, title: "toggle interactivity", "aria-label": "toggle interactivity", children: isInteractive ? _jsx(UnlockIcon, {}) : _jsx(LockIcon, {}) })), children] }));
46
+ }
47
+ ControlsComponent.displayName = 'Controls';
48
+ export var Controls = memo(ControlsComponent);
49
+ //# sourceMappingURL=Controls.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Controls.js","sourceRoot":"","sources":["../../../src/plugins/Controls/Controls.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ export function FitViewIcon() {
3
+ return (_jsx("svg", { width: "20", height: "20", viewBox: "0 0 20 20", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: _jsx("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M10 1.875C10.3452 1.875 10.625 2.15482 10.625 2.5V3.57152C13.6929 3.86613 16.1339 6.30708 16.4285 9.375H17.5C17.8452 9.375 18.125 9.65482 18.125 10C18.125 10.3452 17.8452 10.625 17.5 10.625H16.4285C16.1339 13.6929 13.6929 16.1339 10.625 16.4285V17.5C10.625 17.8452 10.3452 18.125 10 18.125C9.65482 18.125 9.375 17.8452 9.375 17.5V16.4285C6.30708 16.1339 3.86613 13.6929 3.57152 10.625H2.5C2.15482 10.625 1.875 10.3452 1.875 10C1.875 9.65482 2.15482 9.375 2.5 9.375H3.57152C3.86613 6.30708 6.30708 3.86613 9.375 3.57152V2.5C9.375 2.15482 9.65482 1.875 10 1.875ZM4.82878 10.625H5.83333C6.17851 10.625 6.45833 10.3452 6.45833 10C6.45833 9.65482 6.17851 9.375 5.83333 9.375H4.82878C5.11304 6.99811 6.99811 5.11304 9.375 4.82878V5.83333C9.375 6.17851 9.65482 6.45833 10 6.45833C10.3452 6.45833 10.625 6.17851 10.625 5.83333V4.82878C13.0019 5.11304 14.887 6.99811 15.1712 9.375H14.1667C13.8215 9.375 13.5417 9.65482 13.5417 10C13.5417 10.3452 13.8215 10.625 14.1667 10.625H15.1712C14.887 13.0019 13.0019 14.887 10.625 15.1712V14.1667C10.625 13.8215 10.3452 13.5417 10 13.5417C9.65482 13.5417 9.375 13.8215 9.375 14.1667V15.1712C6.99811 14.887 5.11304 13.0019 4.82878 10.625Z", fill: "#6B7280" }) }));
4
+ }
5
+ //# sourceMappingURL=FitView.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FitView.js","sourceRoot":"","sources":["../../../../src/plugins/Controls/Icons/FitView.tsx"],"names":[],"mappings":";AAAA,MAAM,UAAU,WAAW;IACzB,OAAO,CACL,cACE,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,MAAM,EACX,KAAK,EAAC,4BAA4B,YAElC,eACE,QAAQ,EAAC,SAAS,EAClB,QAAQ,EAAC,SAAS,EAClB,CAAC,EAAC,kpCAAkpC,EACppC,IAAI,EAAC,SAAS,GACd,GACE,CACP,CAAC;AACJ,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ export function LockIcon() {
3
+ return (_jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 25 32", children: _jsx("path", { d: "M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0 8 0 4.571 3.429 4.571 7.619v3.048H3.048A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047zm4.724-13.866H7.467V7.619c0-2.59 2.133-4.724 4.723-4.724 2.591 0 4.724 2.133 4.724 4.724v3.048z" }) }));
4
+ }
5
+ //# sourceMappingURL=Lock.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Lock.js","sourceRoot":"","sources":["../../../../src/plugins/Controls/Icons/Lock.tsx"],"names":[],"mappings":";AAAA,MAAM,UAAU,QAAQ;IACtB,OAAO,CACL,cAAK,KAAK,EAAC,4BAA4B,EAAC,OAAO,EAAC,WAAW,YACzD,eAAM,CAAC,EAAC,gcAAgc,GAAG,GACvc,CACP,CAAC;AACJ,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ export function MinusIcon() {
3
+ return (_jsx("svg", { width: "20", height: "20", viewBox: "0 0 20 20", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: _jsx("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M4.375 10C4.375 9.65482 4.65482 9.375 5 9.375H15C15.3452 9.375 15.625 9.65482 15.625 10C15.625 10.3452 15.3452 10.625 15 10.625H5C4.65482 10.625 4.375 10.3452 4.375 10Z", fill: "#6B7280" }) }));
4
+ }
5
+ //# sourceMappingURL=Minus.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Minus.js","sourceRoot":"","sources":["../../../../src/plugins/Controls/Icons/Minus.tsx"],"names":[],"mappings":";AAAA,MAAM,UAAU,SAAS;IACvB,OAAO,CACL,cACE,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,MAAM,EACX,KAAK,EAAC,4BAA4B,YAElC,eACE,QAAQ,EAAC,SAAS,EAClB,QAAQ,EAAC,SAAS,EAClB,CAAC,EAAC,0KAA0K,EAC5K,IAAI,EAAC,SAAS,GACd,GACE,CACP,CAAC;AACJ,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ export function PlusIcon() {
3
+ return (_jsx("svg", { width: "20", height: "20", viewBox: "0 0 20 20", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: _jsx("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M10 4.375C10.3452 4.375 10.625 4.65482 10.625 5V9.375H15C15.3452 9.375 15.625 9.65482 15.625 10C15.625 10.3452 15.3452 10.625 15 10.625H10.625V15C10.625 15.3452 10.3452 15.625 10 15.625C9.65482 15.625 9.375 15.3452 9.375 15V10.625H5C4.65482 10.625 4.375 10.3452 4.375 10C4.375 9.65482 4.65482 9.375 5 9.375H9.375V5C9.375 4.65482 9.65482 4.375 10 4.375Z", fill: "#6B7280" }) }));
4
+ }
5
+ //# sourceMappingURL=Plus.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Plus.js","sourceRoot":"","sources":["../../../../src/plugins/Controls/Icons/Plus.tsx"],"names":[],"mappings":";AAAA,MAAM,UAAU,QAAQ;IACtB,OAAO,CACL,cACE,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,MAAM,EACX,KAAK,EAAC,4BAA4B,YAElC,eACE,QAAQ,EAAC,SAAS,EAClB,QAAQ,EAAC,SAAS,EAClB,CAAC,EAAC,kWAAkW,EACpW,IAAI,EAAC,SAAS,GACd,GACE,CACP,CAAC;AACJ,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ export function UnlockIcon() {
3
+ return (_jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 25 32", children: _jsx("path", { d: "M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0c-4.114 1.828-1.37 2.133.305 2.438 1.676.305 4.42 2.59 4.42 5.181v3.048H3.047A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047z" }) }));
4
+ }
5
+ //# sourceMappingURL=Unlock.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Unlock.js","sourceRoot":"","sources":["../../../../src/plugins/Controls/Icons/Unlock.tsx"],"names":[],"mappings":";AAAA,MAAM,UAAU,UAAU;IACxB,OAAO,CACL,cAAK,KAAK,EAAC,4BAA4B,EAAC,OAAO,EAAC,WAAW,YACzD,eAAM,CAAC,EAAC,sYAAsY,GAAG,GAC7Y,CACP,CAAC;AACJ,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { Controls } from './Controls';
2
+ export { ControlButton } from './ControlButton';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/Controls/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/plugins/Controls/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,166 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { useRef, useEffect, memo } from 'react';
3
+ import cc from 'classnames';
4
+ import { useStoreApi } from '../../hooks/useStore';
5
+ import { useNodeId } from '../../contexts/NodeIdContext';
6
+ import { handleExpandParent, ResizeControlVariant, XYResizer, } from '@aloudata/ink-core';
7
+ import { evaluateAbsolutePosition } from '../../utils/general';
8
+ function ResizeControl(_a) {
9
+ var _b;
10
+ var nodeId = _a.nodeId, position = _a.position, _c = _a.variant, variant = _c === void 0 ? ResizeControlVariant.Handle : _c, className = _a.className, _d = _a.style, style = _d === void 0 ? {} : _d, children = _a.children, color = _a.color, _e = _a.minWidth, minWidth = _e === void 0 ? 10 : _e, _f = _a.minHeight, minHeight = _f === void 0 ? 10 : _f, _g = _a.maxWidth, maxWidth = _g === void 0 ? Number.MAX_VALUE : _g, _h = _a.maxHeight, maxHeight = _h === void 0 ? Number.MAX_VALUE : _h, _j = _a.keepAspectRatio, keepAspectRatio = _j === void 0 ? false : _j, shouldResize = _a.shouldResize, onResizeStart = _a.onResizeStart, onResize = _a.onResize, onResizeEnd = _a.onResizeEnd;
11
+ var contextNodeId = useNodeId();
12
+ var id = typeof nodeId === 'string' ? nodeId : contextNodeId;
13
+ var store = useStoreApi();
14
+ var resizeControlRef = useRef(null);
15
+ var defaultPosition = variant === ResizeControlVariant.Line ? 'right' : 'bottom-right';
16
+ var controlPosition = position !== null && position !== void 0 ? position : defaultPosition;
17
+ var resizer = useRef(null);
18
+ useEffect(function () {
19
+ if (!resizeControlRef.current || !id) {
20
+ return;
21
+ }
22
+ if (!resizer.current) {
23
+ resizer.current = XYResizer({
24
+ domNode: resizeControlRef.current,
25
+ nodeId: id,
26
+ getStoreItems: function () {
27
+ var _a = store.getState(), nodeLookup = _a.nodeLookup, transform = _a.transform, snapGrid = _a.snapGrid, snapToGrid = _a.snapToGrid, nodeOrigin = _a.nodeOrigin, domNode = _a.domNode;
28
+ return {
29
+ nodeLookup: nodeLookup,
30
+ transform: transform,
31
+ snapGrid: snapGrid,
32
+ snapToGrid: snapToGrid,
33
+ nodeOrigin: nodeOrigin,
34
+ paneDomNode: domNode,
35
+ };
36
+ },
37
+ onChange: function (change, childChanges) {
38
+ var e_1, _a;
39
+ var _b, _c, _d, _e, _f, _g, _h;
40
+ var _j = store.getState(), triggerNodeChanges = _j.triggerNodeChanges, nodeLookup = _j.nodeLookup, parentLookup = _j.parentLookup, nodeOrigin = _j.nodeOrigin;
41
+ var changes = [];
42
+ var nextPosition = { x: change.x, y: change.y };
43
+ var node = nodeLookup.get(id);
44
+ if (node && node.expandParent && node.parentId) {
45
+ var origin_1 = (_b = node.origin) !== null && _b !== void 0 ? _b : nodeOrigin;
46
+ var width = (_d = (_c = change.width) !== null && _c !== void 0 ? _c : node.measured.width) !== null && _d !== void 0 ? _d : 0;
47
+ var height = (_f = (_e = change.height) !== null && _e !== void 0 ? _e : node.measured.height) !== null && _f !== void 0 ? _f : 0;
48
+ var child = {
49
+ id: node.id,
50
+ parentId: node.parentId,
51
+ rect: __assign({ width: width, height: height }, evaluateAbsolutePosition({
52
+ x: (_g = change.x) !== null && _g !== void 0 ? _g : node.position.x,
53
+ y: (_h = change.y) !== null && _h !== void 0 ? _h : node.position.y,
54
+ }, node.parentId, nodeLookup, origin_1, { width: width, height: height })),
55
+ };
56
+ var parentExpandChanges = handleExpandParent([child], nodeLookup, parentLookup, nodeOrigin);
57
+ changes.push.apply(changes, __spreadArray([], __read(parentExpandChanges), false));
58
+ /*
59
+ * when the parent was expanded by the child node, its position will be clamped at
60
+ * 0,0 when node origin is 0,0 and to width, height if it's 1,1
61
+ */
62
+ nextPosition.x = change.x
63
+ ? Math.max(origin_1[0] * width, change.x)
64
+ : undefined;
65
+ nextPosition.y = change.y
66
+ ? Math.max(origin_1[1] * height, change.y)
67
+ : undefined;
68
+ }
69
+ if (nextPosition.x !== undefined && nextPosition.y !== undefined) {
70
+ var positionChange = {
71
+ id: id,
72
+ type: 'position',
73
+ position: __assign({}, nextPosition),
74
+ };
75
+ changes.push(positionChange);
76
+ }
77
+ if (change.width !== undefined && change.height !== undefined) {
78
+ var dimensionChange = {
79
+ id: id,
80
+ type: 'dimensions',
81
+ resizing: true,
82
+ setAttributes: true,
83
+ dimensions: {
84
+ width: change.width,
85
+ height: change.height,
86
+ },
87
+ };
88
+ changes.push(dimensionChange);
89
+ }
90
+ try {
91
+ for (var childChanges_1 = __values(childChanges), childChanges_1_1 = childChanges_1.next(); !childChanges_1_1.done; childChanges_1_1 = childChanges_1.next()) {
92
+ var childChange = childChanges_1_1.value;
93
+ var positionChange = __assign(__assign({}, childChange), { type: 'position' });
94
+ changes.push(positionChange);
95
+ }
96
+ }
97
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
98
+ finally {
99
+ try {
100
+ if (childChanges_1_1 && !childChanges_1_1.done && (_a = childChanges_1.return)) _a.call(childChanges_1);
101
+ }
102
+ finally { if (e_1) throw e_1.error; }
103
+ }
104
+ triggerNodeChanges(changes);
105
+ },
106
+ onEnd: function () {
107
+ var dimensionChange = {
108
+ id: id,
109
+ type: 'dimensions',
110
+ resizing: false,
111
+ };
112
+ store.getState().triggerNodeChanges([dimensionChange]);
113
+ },
114
+ });
115
+ }
116
+ resizer.current.update({
117
+ controlPosition: controlPosition,
118
+ boundaries: {
119
+ minWidth: minWidth,
120
+ minHeight: minHeight,
121
+ maxWidth: maxWidth,
122
+ maxHeight: maxHeight,
123
+ },
124
+ keepAspectRatio: keepAspectRatio,
125
+ onResizeStart: onResizeStart,
126
+ onResize: onResize,
127
+ onResizeEnd: onResizeEnd,
128
+ shouldResize: shouldResize,
129
+ });
130
+ return function () {
131
+ var _a;
132
+ (_a = resizer.current) === null || _a === void 0 ? void 0 : _a.destroy();
133
+ };
134
+ }, [
135
+ controlPosition,
136
+ minWidth,
137
+ minHeight,
138
+ maxWidth,
139
+ maxHeight,
140
+ keepAspectRatio,
141
+ onResizeStart,
142
+ onResize,
143
+ onResizeEnd,
144
+ shouldResize,
145
+ ]);
146
+ var positionClassNames = controlPosition.split('-');
147
+ var colorStyleProp = variant === ResizeControlVariant.Line ? 'borderColor' : 'backgroundColor';
148
+ var controlStyle = color ? __assign(__assign({}, style), (_b = {}, _b[colorStyleProp] = color, _b)) : style;
149
+ return (_jsx("div", { className: cc(__spreadArray(__spreadArray([
150
+ 'ink-flow__resize-control',
151
+ 'nodrag'
152
+ ], __read(positionClassNames), false), [
153
+ variant,
154
+ className,
155
+ ], false)), ref: resizeControlRef, style: controlStyle, children: children }));
156
+ }
157
+ export function ResizeControlLine(props) {
158
+ return _jsx(ResizeControl, __assign({}, props, { variant: ResizeControlVariant.Line }));
159
+ }
160
+ /**
161
+ * To create your own resizing UI, you can use the `NodeResizeControl` component where you can pass children (such as icons).
162
+ * @public
163
+ *
164
+ */
165
+ export var NodeResizeControl = memo(ResizeControl);
166
+ //# sourceMappingURL=NodeResizeControl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NodeResizeControl.js","sourceRoot":"","sources":["../../../src/plugins/NodeResizer/NodeResizeControl.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AAChD,OAAO,EAAE,MAAM,YAAY,CAAC;AAE5B,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAEzD,OAAO,EACL,kBAAkB,EAKlB,oBAAoB,EAEpB,SAAS,GAIV,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAE/D,SAAS,aAAa,CAAC,EAiBF;;QAhBnB,MAAM,YAAA,EACN,QAAQ,cAAA,EACR,eAAqC,EAArC,OAAO,mBAAG,oBAAoB,CAAC,MAAM,KAAA,EACrC,SAAS,eAAA,EACT,aAAU,EAAV,KAAK,mBAAG,EAAE,KAAA,EACV,QAAQ,cAAA,EACR,KAAK,WAAA,EACL,gBAAa,EAAb,QAAQ,mBAAG,EAAE,KAAA,EACb,iBAAc,EAAd,SAAS,mBAAG,EAAE,KAAA,EACd,gBAA2B,EAA3B,QAAQ,mBAAG,MAAM,CAAC,SAAS,KAAA,EAC3B,iBAA4B,EAA5B,SAAS,mBAAG,MAAM,CAAC,SAAS,KAAA,EAC5B,uBAAuB,EAAvB,eAAe,mBAAG,KAAK,KAAA,EACvB,YAAY,kBAAA,EACZ,aAAa,mBAAA,EACb,QAAQ,cAAA,EACR,WAAW,iBAAA;IAEX,IAAM,aAAa,GAAG,SAAS,EAAE,CAAC;IAClC,IAAM,EAAE,GAAG,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC;IAC/D,IAAM,KAAK,GAAG,WAAW,EAAE,CAAC;IAC5B,IAAM,gBAAgB,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IACtD,IAAM,eAAe,GACnB,OAAO,KAAK,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC;IACnE,IAAM,eAAe,GAAG,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,eAAe,CAAC;IAEpD,IAAM,OAAO,GAAG,MAAM,CAA2B,IAAI,CAAC,CAAC;IAEvD,SAAS,CAAC;QACR,IAAI,CAAC,gBAAgB,CAAC,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC;YACrC,OAAO;QACT,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YACrB,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC;gBAC1B,OAAO,EAAE,gBAAgB,CAAC,OAAO;gBACjC,MAAM,EAAE,EAAE;gBACV,aAAa,EAAE;oBACP,IAAA,KAOF,KAAK,CAAC,QAAQ,EAAE,EANlB,UAAU,gBAAA,EACV,SAAS,eAAA,EACT,QAAQ,cAAA,EACR,UAAU,gBAAA,EACV,UAAU,gBAAA,EACV,OAAO,aACW,CAAC;oBACrB,OAAO;wBACL,UAAU,YAAA;wBACV,SAAS,WAAA;wBACT,QAAQ,UAAA;wBACR,UAAU,YAAA;wBACV,UAAU,YAAA;wBACV,WAAW,EAAE,OAAO;qBACrB,CAAC;gBACJ,CAAC;gBACD,QAAQ,EAAE,UACR,MAAuB,EACvB,YAAoC;;;oBAE9B,IAAA,KACJ,KAAK,CAAC,QAAQ,EAAE,EADV,kBAAkB,wBAAA,EAAE,UAAU,gBAAA,EAAE,YAAY,kBAAA,EAAE,UAAU,gBAC9C,CAAC;oBACnB,IAAM,OAAO,GAAiB,EAAE,CAAC;oBACjC,IAAM,YAAY,GAAG,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC;oBAClD,IAAM,IAAI,GAAG,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;oBAEhC,IAAI,IAAI,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;wBAC/C,IAAM,QAAM,GAAG,MAAA,IAAI,CAAC,MAAM,mCAAI,UAAU,CAAC;wBACzC,IAAM,KAAK,GAAG,MAAA,MAAA,MAAM,CAAC,KAAK,mCAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,mCAAI,CAAC,CAAC;wBACvD,IAAM,MAAM,GAAG,MAAA,MAAA,MAAM,CAAC,MAAM,mCAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,mCAAI,CAAC,CAAC;wBAE1D,IAAM,KAAK,GAAsB;4BAC/B,EAAE,EAAE,IAAI,CAAC,EAAE;4BACX,QAAQ,EAAE,IAAI,CAAC,QAAQ;4BACvB,IAAI,aACF,KAAK,OAAA,EACL,MAAM,QAAA,IACH,wBAAwB,CACzB;gCACE,CAAC,EAAE,MAAA,MAAM,CAAC,CAAC,mCAAI,IAAI,CAAC,QAAQ,CAAC,CAAC;gCAC9B,CAAC,EAAE,MAAA,MAAM,CAAC,CAAC,mCAAI,IAAI,CAAC,QAAQ,CAAC,CAAC;6BAC/B,EACD,IAAI,CAAC,QAAQ,EACb,UAAU,EACV,QAAM,EACN,EAAE,KAAK,OAAA,EAAE,MAAM,QAAA,EAAE,CAClB,CACF;yBACF,CAAC;wBAEF,IAAM,mBAAmB,GAAG,kBAAkB,CAC5C,CAAC,KAAK,CAAC,EACP,UAAU,EACV,YAAY,EACZ,UAAU,CACX,CAAC;wBACF,OAAO,CAAC,IAAI,OAAZ,OAAO,2BAAS,mBAAmB,WAAE;wBAErC;;;2BAGG;wBACH,YAAY,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC;4BACvB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,QAAM,CAAC,CAAC,CAAC,GAAG,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;4BACvC,CAAC,CAAC,SAAS,CAAC;wBACd,YAAY,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC;4BACvB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,QAAM,CAAC,CAAC,CAAC,GAAG,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;4BACxC,CAAC,CAAC,SAAS,CAAC;oBAChB,CAAC;oBAED,IAAI,YAAY,CAAC,CAAC,KAAK,SAAS,IAAI,YAAY,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;wBACjE,IAAM,cAAc,GAAuB;4BACzC,EAAE,IAAA;4BACF,IAAI,EAAE,UAAU;4BAChB,QAAQ,eAAQ,YAA2B,CAAE;yBAC9C,CAAC;wBACF,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;oBAC/B,CAAC;oBAED,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;wBAC9D,IAAM,eAAe,GAAwB;4BAC3C,EAAE,IAAA;4BACF,IAAI,EAAE,YAAY;4BAClB,QAAQ,EAAE,IAAI;4BACd,aAAa,EAAE,IAAI;4BACnB,UAAU,EAAE;gCACV,KAAK,EAAE,MAAM,CAAC,KAAK;gCACnB,MAAM,EAAE,MAAM,CAAC,MAAM;6BACtB;yBACF,CAAC;wBAEF,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;oBAChC,CAAC;;wBAED,KAA0B,IAAA,iBAAA,SAAA,YAAY,CAAA,0CAAA,oEAAE,CAAC;4BAApC,IAAM,WAAW,yBAAA;4BACpB,IAAM,cAAc,yBACf,WAAW,KACd,IAAI,EAAE,UAAU,GACjB,CAAC;4BAEF,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;wBAC/B,CAAC;;;;;;;;;oBACD,kBAAkB,CAAC,OAAO,CAAC,CAAC;gBAC9B,CAAC;gBACD,KAAK,EAAE;oBACL,IAAM,eAAe,GAAwB;wBAC3C,EAAE,EAAE,EAAE;wBACN,IAAI,EAAE,YAAY;wBAClB,QAAQ,EAAE,KAAK;qBAChB,CAAC;oBACF,KAAK,CAAC,QAAQ,EAAE,CAAC,kBAAkB,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC;gBACzD,CAAC;aACF,CAAC,CAAC;QACL,CAAC;QAED,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC;YACrB,eAAe,iBAAA;YACf,UAAU,EAAE;gBACV,QAAQ,UAAA;gBACR,SAAS,WAAA;gBACT,QAAQ,UAAA;gBACR,SAAS,WAAA;aACV;YACD,eAAe,iBAAA;YACf,aAAa,eAAA;YACb,QAAQ,UAAA;YACR,WAAW,aAAA;YACX,YAAY,cAAA;SACb,CAAC,CAAC;QAEH,OAAO;;YACL,MAAA,OAAO,CAAC,OAAO,0CAAE,OAAO,EAAE,CAAC;QAC7B,CAAC,CAAC;IACJ,CAAC,EAAE;QACD,eAAe;QACf,QAAQ;QACR,SAAS;QACT,QAAQ;QACR,SAAS;QACT,eAAe;QACf,aAAa;QACb,QAAQ;QACR,WAAW;QACX,YAAY;KACb,CAAC,CAAC;IAEH,IAAM,kBAAkB,GAAG,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACtD,IAAM,cAAc,GAClB,OAAO,KAAK,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,iBAAiB,CAAC;IAC5E,IAAM,YAAY,GAAG,KAAK,CAAC,CAAC,uBAAM,KAAK,gBAAG,cAAc,IAAG,KAAK,OAAG,CAAC,CAAC,KAAK,CAAC;IAE3E,OAAO,CACL,cACE,SAAS,EAAE,EAAE;YACX,0BAA0B;YAC1B,QAAQ;kBACL,kBAAkB;YACrB,OAAO;YACP,SAAS;kBACT,EACF,GAAG,EAAE,gBAAgB,EACrB,KAAK,EAAE,YAAY,YAElB,QAAQ,GACL,CACP,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,KAA6B;IAC7D,OAAO,KAAC,aAAa,eAAK,KAAK,IAAE,OAAO,EAAE,oBAAoB,CAAC,IAAI,IAAI,CAAC;AAC1E,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,IAAM,iBAAiB,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC"}
@@ -0,0 +1,35 @@
1
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { ResizeControlVariant, XY_RESIZER_HANDLE_POSITIONS, XY_RESIZER_LINE_POSITIONS } from '@aloudata/ink-core';
3
+ import { NodeResizeControl } from './NodeResizeControl';
4
+ /**
5
+ * The `<NodeResizer />` component can be used to add a resize functionality to your
6
+ * nodes. It renders draggable controls around the node to resize in all directions.
7
+ * @public
8
+ *
9
+ * @example
10
+ *```jsx
11
+ *import { memo } from 'react';
12
+ *import { Handle, Position, NodeResizer } from '@aloudata/ink-flow';
13
+ *
14
+ *function ResizableNode({ data }) {
15
+ * return (
16
+ * <>
17
+ * <NodeResizer minWidth={100} minHeight={30} />
18
+ * <Handle type="target" position={Position.Left} />
19
+ * <div style={{ padding: 10 }}>{data.label}</div>
20
+ * <Handle type="source" position={Position.Right} />
21
+ * </>
22
+ * );
23
+ *};
24
+ *
25
+ *export default memo(ResizableNode);
26
+ *```
27
+ */
28
+ export function NodeResizer(_a) {
29
+ var nodeId = _a.nodeId, _b = _a.isVisible, isVisible = _b === void 0 ? true : _b, handleClassName = _a.handleClassName, handleStyle = _a.handleStyle, lineClassName = _a.lineClassName, lineStyle = _a.lineStyle, color = _a.color, _c = _a.minWidth, minWidth = _c === void 0 ? 10 : _c, _d = _a.minHeight, minHeight = _d === void 0 ? 10 : _d, _e = _a.maxWidth, maxWidth = _e === void 0 ? Number.MAX_VALUE : _e, _f = _a.maxHeight, maxHeight = _f === void 0 ? Number.MAX_VALUE : _f, _g = _a.keepAspectRatio, keepAspectRatio = _g === void 0 ? false : _g, shouldResize = _a.shouldResize, onResizeStart = _a.onResizeStart, onResize = _a.onResize, onResizeEnd = _a.onResizeEnd;
30
+ if (!isVisible) {
31
+ return null;
32
+ }
33
+ return (_jsxs(_Fragment, { children: [XY_RESIZER_LINE_POSITIONS.map(function (position) { return (_jsx(NodeResizeControl, { className: lineClassName, style: lineStyle, nodeId: nodeId, position: position, variant: ResizeControlVariant.Line, color: color, minWidth: minWidth, minHeight: minHeight, maxWidth: maxWidth, maxHeight: maxHeight, onResizeStart: onResizeStart, keepAspectRatio: keepAspectRatio, shouldResize: shouldResize, onResize: onResize, onResizeEnd: onResizeEnd }, position)); }), XY_RESIZER_HANDLE_POSITIONS.map(function (position) { return (_jsx(NodeResizeControl, { className: handleClassName, style: handleStyle, nodeId: nodeId, position: position, color: color, minWidth: minWidth, minHeight: minHeight, maxWidth: maxWidth, maxHeight: maxHeight, onResizeStart: onResizeStart, keepAspectRatio: keepAspectRatio, shouldResize: shouldResize, onResize: onResize, onResizeEnd: onResizeEnd }, position)); })] }));
34
+ }
35
+ //# sourceMappingURL=NodeResizer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NodeResizer.js","sourceRoot":"","sources":["../../../src/plugins/NodeResizer/NodeResizer.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,oBAAoB,EAAE,2BAA2B,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAClH,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAGxD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,UAAU,WAAW,CAAC,EAiBT;QAhBjB,MAAM,YAAA,EACN,iBAAgB,EAAhB,SAAS,mBAAG,IAAI,KAAA,EAChB,eAAe,qBAAA,EACf,WAAW,iBAAA,EACX,aAAa,mBAAA,EACb,SAAS,eAAA,EACT,KAAK,WAAA,EACL,gBAAa,EAAb,QAAQ,mBAAG,EAAE,KAAA,EACb,iBAAc,EAAd,SAAS,mBAAG,EAAE,KAAA,EACd,gBAA2B,EAA3B,QAAQ,mBAAG,MAAM,CAAC,SAAS,KAAA,EAC3B,iBAA4B,EAA5B,SAAS,mBAAG,MAAM,CAAC,SAAS,KAAA,EAC5B,uBAAuB,EAAvB,eAAe,mBAAG,KAAK,KAAA,EACvB,YAAY,kBAAA,EACZ,aAAa,mBAAA,EACb,QAAQ,cAAA,EACR,WAAW,iBAAA;IAEX,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,CACL,8BACG,yBAAyB,CAAC,GAAG,CAAC,UAAC,QAAQ,IAAK,OAAA,CAC3C,KAAC,iBAAiB,IAEhB,SAAS,EAAE,aAAa,EACxB,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,oBAAoB,CAAC,IAAI,EAClC,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,SAAS,EACpB,aAAa,EAAE,aAAa,EAC5B,eAAe,EAAE,eAAe,EAChC,YAAY,EAAE,YAAY,EAC1B,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,WAAW,IAfnB,QAAQ,CAgBb,CACH,EAnB4C,CAmB5C,CAAC,EACD,2BAA2B,CAAC,GAAG,CAAC,UAAC,QAAQ,IAAK,OAAA,CAC7C,KAAC,iBAAiB,IAEhB,SAAS,EAAE,eAAe,EAC1B,KAAK,EAAE,WAAW,EAClB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,SAAS,EACpB,aAAa,EAAE,aAAa,EAC5B,eAAe,EAAE,eAAe,EAChC,YAAY,EAAE,YAAY,EAC1B,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,WAAW,IAdnB,QAAQ,CAeb,CACH,EAlB8C,CAkB9C,CAAC,IACD,CACJ,CAAC;AACJ,CAAC"}
@@ -0,0 +1,4 @@
1
+ export { NodeResizer } from './NodeResizer';
2
+ export { NodeResizeControl } from './NodeResizeControl';
3
+ export * from './types';
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/NodeResizer/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,cAAc,SAAS,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/plugins/NodeResizer/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ export * from './Controls';
2
+ export * from './Background';
3
+ export * from './NodeResizer';
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/plugins/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/store/index.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EACV,IAAI,EACJ,IAAI,EACJ,YAAY,EAGb,MAAM,UAAU,CAAC;AA8BlB,QAAA,MAAM,WAAW,0EAQd;IACD,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC;IACf,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC;IACf,YAAY,CAAC,EAAE,IAAI,EAAE,CAAC;IACtB,YAAY,CAAC,EAAE,IAAI,EAAE,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,wGA4gBE,CAAC;AAEJ,OAAO,EAAE,WAAW,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/store/index.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EACV,IAAI,EACJ,IAAI,EACJ,YAAY,EAGb,MAAM,UAAU,CAAC;AA8BlB,QAAA,MAAM,WAAW,GAAI,uEAQlB;IACD,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC;IACf,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC;IACf,YAAY,CAAC,EAAE,IAAI,EAAE,CAAC;IACtB,YAAY,CAAC,EAAE,IAAI,EAAE,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,wGA4gBE,CAAC;AAEJ,OAAO,EAAE,WAAW,EAAE,CAAC"}