@aloudata/ink-flow 1.0.7 → 1.0.8

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 (191) hide show
  1. package/dist/components/A11yDescriptions/index.d.ts +8 -0
  2. package/dist/components/A11yDescriptions/index.d.ts.map +1 -0
  3. package/dist/components/BatchProvider/index.d.ts +17 -0
  4. package/dist/components/BatchProvider/index.d.ts.map +1 -0
  5. package/dist/components/BatchProvider/types.d.ts +7 -0
  6. package/dist/components/BatchProvider/types.d.ts.map +1 -0
  7. package/dist/components/BatchProvider/useQueue.d.ts +11 -0
  8. package/dist/components/BatchProvider/useQueue.d.ts.map +1 -0
  9. package/dist/components/EdgeWrapper/EdgeUpdateAnchors.d.ts +17 -0
  10. package/dist/components/EdgeWrapper/EdgeUpdateAnchors.d.ts.map +1 -0
  11. package/dist/components/EdgeWrapper/index.d.ts +3 -0
  12. package/dist/components/EdgeWrapper/index.d.ts.map +1 -0
  13. package/dist/components/EdgeWrapper/utils.d.ts +11 -0
  14. package/dist/components/EdgeWrapper/utils.d.ts.map +1 -0
  15. package/dist/components/Edges/BaseEdge.d.ts +3 -0
  16. package/dist/components/Edges/BaseEdge.d.ts.map +1 -0
  17. package/dist/components/Edges/BezierEdge.d.ts +5 -0
  18. package/dist/components/Edges/BezierEdge.d.ts.map +1 -0
  19. package/dist/components/Edges/EdgeAnchor.d.ts +14 -0
  20. package/dist/components/Edges/EdgeAnchor.d.ts.map +1 -0
  21. package/dist/components/Edges/EdgeText.d.ts +8 -0
  22. package/dist/components/Edges/EdgeText.d.ts.map +1 -0
  23. package/dist/components/Edges/SimpleBezierEdge.d.ts +21 -0
  24. package/dist/components/Edges/SimpleBezierEdge.d.ts.map +1 -0
  25. package/dist/components/Edges/SmoothStepEdge.d.ts +5 -0
  26. package/dist/components/Edges/SmoothStepEdge.d.ts.map +1 -0
  27. package/dist/components/Edges/StepEdge.d.ts +5 -0
  28. package/dist/components/Edges/StepEdge.d.ts.map +1 -0
  29. package/dist/components/Edges/StraightEdge.d.ts +5 -0
  30. package/dist/components/Edges/StraightEdge.d.ts.map +1 -0
  31. package/dist/components/Edges/index.d.ts +6 -0
  32. package/dist/components/Edges/index.d.ts.map +1 -0
  33. package/dist/components/Handle/index.d.ts +11 -0
  34. package/dist/components/Handle/index.d.ts.map +1 -0
  35. package/dist/components/InkFlowProvider/index.d.ts +14 -0
  36. package/dist/components/InkFlowProvider/index.d.ts.map +1 -0
  37. package/dist/components/NodeWrapper/index.d.ts +3 -0
  38. package/dist/components/NodeWrapper/index.d.ts.map +1 -0
  39. package/dist/components/NodeWrapper/useNodeObserver.d.ts +14 -0
  40. package/dist/components/NodeWrapper/useNodeObserver.d.ts.map +1 -0
  41. package/dist/components/NodeWrapper/utils.d.ts +9 -0
  42. package/dist/components/NodeWrapper/utils.d.ts.map +1 -0
  43. package/dist/components/Nodes/DefaultNode.d.ts +3 -0
  44. package/dist/components/Nodes/DefaultNode.d.ts.map +1 -0
  45. package/dist/components/Nodes/GroupNode.d.ts +2 -0
  46. package/dist/components/Nodes/GroupNode.d.ts.map +1 -0
  47. package/dist/components/Nodes/InputNode.d.ts +3 -0
  48. package/dist/components/Nodes/InputNode.d.ts.map +1 -0
  49. package/dist/components/Nodes/OutputNode.d.ts +3 -0
  50. package/dist/components/Nodes/OutputNode.d.ts.map +1 -0
  51. package/dist/components/Nodes/utils.d.ts +13 -0
  52. package/dist/components/Nodes/utils.d.ts.map +1 -0
  53. package/dist/components/Panel/index.d.ts +11 -0
  54. package/dist/components/Panel/index.d.ts.map +1 -0
  55. package/dist/components/StoreUpdater/index.d.ts +9 -0
  56. package/dist/components/StoreUpdater/index.d.ts.map +1 -0
  57. package/dist/components/UserSelection/index.d.ts +2 -0
  58. package/dist/components/UserSelection/index.d.ts.map +1 -0
  59. package/dist/container/EdgeRenderer/MarkerDefinitions.d.ts +10 -0
  60. package/dist/container/EdgeRenderer/MarkerDefinitions.d.ts.map +1 -0
  61. package/dist/container/EdgeRenderer/MarkerSymbols.d.ts +9 -0
  62. package/dist/container/EdgeRenderer/MarkerSymbols.d.ts.map +1 -0
  63. package/dist/container/EdgeRenderer/index.d.ts +13 -0
  64. package/dist/container/EdgeRenderer/index.d.ts.map +1 -0
  65. package/dist/container/FlowRenderer/index.d.ts +14 -0
  66. package/dist/container/FlowRenderer/index.d.ts.map +1 -0
  67. package/dist/container/GraphView/index.d.ts +11 -0
  68. package/dist/container/GraphView/index.d.ts.map +1 -0
  69. package/dist/container/InkFlow/Wrapper.d.ts +13 -0
  70. package/dist/container/InkFlow/Wrapper.d.ts.map +1 -0
  71. package/dist/container/InkFlow/index.d.ts +4 -0
  72. package/dist/container/InkFlow/index.d.ts.map +1 -0
  73. package/dist/container/InkFlow/init-values.d.ts +4 -0
  74. package/dist/container/InkFlow/init-values.d.ts.map +1 -0
  75. package/dist/container/NodeRenderer/index.d.ts +10 -0
  76. package/dist/container/NodeRenderer/index.d.ts.map +1 -0
  77. package/dist/container/NodeRenderer/useResizeObserver.d.ts +2 -0
  78. package/dist/container/NodeRenderer/useResizeObserver.d.ts.map +1 -0
  79. package/dist/container/Pane/index.d.ts +12 -0
  80. package/dist/container/Pane/index.d.ts.map +1 -0
  81. package/dist/container/Viewport/index.d.ts +7 -0
  82. package/dist/container/Viewport/index.d.ts.map +1 -0
  83. package/dist/container/ZoomPane/index.d.ts +7 -0
  84. package/dist/container/ZoomPane/index.d.ts.map +1 -0
  85. package/dist/contexts/NodeIdContext.d.ts +6 -0
  86. package/dist/contexts/NodeIdContext.d.ts.map +1 -0
  87. package/dist/contexts/StoreContext.d.ts +4 -0
  88. package/dist/contexts/StoreContext.d.ts.map +1 -0
  89. package/dist/hooks/index.d.ts +5 -0
  90. package/dist/hooks/index.d.ts.map +1 -0
  91. package/dist/hooks/useDrag.d.ts +12 -0
  92. package/dist/hooks/useDrag.d.ts.map +1 -0
  93. package/dist/hooks/useEdgesState.d.ts +4 -0
  94. package/dist/hooks/useEdgesState.d.ts.map +1 -0
  95. package/dist/hooks/useGlobalKeyHandler.d.ts +11 -0
  96. package/dist/hooks/useGlobalKeyHandler.d.ts.map +1 -0
  97. package/dist/hooks/useInkFlow.d.ts +10 -0
  98. package/dist/hooks/useInkFlow.d.ts.map +1 -0
  99. package/dist/hooks/useIsomorphicLayoutEffect.d.ts +3 -0
  100. package/dist/hooks/useIsomorphicLayoutEffect.d.ts.map +1 -0
  101. package/dist/hooks/useKeyPress.d.ts +15 -0
  102. package/dist/hooks/useKeyPress.d.ts.map +1 -0
  103. package/dist/hooks/useMoveSelectedNodes.d.ts +12 -0
  104. package/dist/hooks/useMoveSelectedNodes.d.ts.map +1 -0
  105. package/dist/hooks/useNodesState.d.ts +4 -0
  106. package/dist/hooks/useNodesState.d.ts.map +1 -0
  107. package/dist/hooks/useResizeHandler.d.ts +8 -0
  108. package/dist/hooks/useResizeHandler.d.ts.map +1 -0
  109. package/dist/hooks/useStore.d.ts +21 -0
  110. package/dist/hooks/useStore.d.ts.map +1 -0
  111. package/dist/hooks/useViewportHelper.d.ts +10 -0
  112. package/dist/hooks/useViewportHelper.d.ts.map +1 -0
  113. package/dist/hooks/useVisibleEdgeIds.d.ts +9 -0
  114. package/dist/hooks/useVisibleEdgeIds.d.ts.map +1 -0
  115. package/dist/hooks/useVisibleNodeIds.d.ts +9 -0
  116. package/dist/hooks/useVisibleNodeIds.d.ts.map +1 -0
  117. package/dist/index.cjs.js +17 -0
  118. package/dist/index.cjs.js.map +1 -0
  119. package/dist/index.d.ts +11 -0
  120. package/dist/index.d.ts.map +1 -0
  121. package/dist/index.esm.js +17 -0
  122. package/dist/index.esm.js.map +1 -0
  123. package/dist/plugins/Controls/ControlButton.d.ts +3 -0
  124. package/dist/plugins/Controls/ControlButton.d.ts.map +1 -0
  125. package/dist/plugins/Controls/Controls.d.ts +8 -0
  126. package/dist/plugins/Controls/Controls.d.ts.map +1 -0
  127. package/dist/plugins/Controls/Icons/FitView.d.ts +2 -0
  128. package/dist/plugins/Controls/Icons/FitView.d.ts.map +1 -0
  129. package/dist/plugins/Controls/Icons/Lock.d.ts +2 -0
  130. package/dist/plugins/Controls/Icons/Lock.d.ts.map +1 -0
  131. package/dist/plugins/Controls/Icons/Minus.d.ts +2 -0
  132. package/dist/plugins/Controls/Icons/Minus.d.ts.map +1 -0
  133. package/dist/plugins/Controls/Icons/Plus.d.ts +2 -0
  134. package/dist/plugins/Controls/Icons/Plus.d.ts.map +1 -0
  135. package/dist/plugins/Controls/Icons/Unlock.d.ts +2 -0
  136. package/dist/plugins/Controls/Icons/Unlock.d.ts.map +1 -0
  137. package/dist/plugins/Controls/index.d.ts +4 -0
  138. package/dist/plugins/Controls/index.d.ts.map +1 -0
  139. package/dist/plugins/Controls/types.d.ts +35 -0
  140. package/dist/plugins/Controls/types.d.ts.map +1 -0
  141. package/dist/plugins/index.d.ts +2 -0
  142. package/dist/plugins/index.d.ts.map +1 -0
  143. package/dist/store/index.d.ts +12 -0
  144. package/dist/store/index.d.ts.map +1 -0
  145. package/dist/store/initialState.d.ts +12 -0
  146. package/dist/store/initialState.d.ts.map +1 -0
  147. package/dist/styles/utils.d.ts +3 -0
  148. package/dist/styles/utils.d.ts.map +1 -0
  149. package/dist/types/edges.d.ts +114 -0
  150. package/dist/types/edges.d.ts.map +1 -0
  151. package/dist/types/general.d.ts +123 -0
  152. package/dist/types/general.d.ts.map +1 -0
  153. package/dist/types/index.d.ts +7 -0
  154. package/dist/types/index.d.ts.map +1 -0
  155. package/dist/types/instance.d.ts +149 -0
  156. package/dist/types/instance.d.ts.map +1 -0
  157. package/dist/types/nodes.d.ts +40 -0
  158. package/dist/types/nodes.d.ts.map +1 -0
  159. package/dist/types/props.d.ts +151 -0
  160. package/dist/types/props.d.ts.map +1 -0
  161. package/dist/types/store.d.ts +105 -0
  162. package/dist/types/store.d.ts.map +1 -0
  163. package/dist/types/utils/types.d.ts +8 -0
  164. package/dist/types/utils/types.d.ts.map +1 -0
  165. package/dist/utils/changes.d.ts +16 -0
  166. package/dist/utils/changes.d.ts.map +1 -0
  167. package/dist/utils/dom.d.ts +20 -0
  168. package/dist/utils/dom.d.ts.map +1 -0
  169. package/dist/utils/edges/bezier-edge.d.ts +59 -0
  170. package/dist/utils/edges/bezier-edge.d.ts.map +1 -0
  171. package/dist/utils/edges/general.d.ts +46 -0
  172. package/dist/utils/edges/general.d.ts.map +1 -0
  173. package/dist/utils/edges/index.d.ts +6 -0
  174. package/dist/utils/edges/index.d.ts.map +1 -0
  175. package/dist/utils/edges/positions.d.ts +12 -0
  176. package/dist/utils/edges/positions.d.ts.map +1 -0
  177. package/dist/utils/edges/smoothstep-edge.d.ts +43 -0
  178. package/dist/utils/edges/smoothstep-edge.d.ts.map +1 -0
  179. package/dist/utils/edges/straight-edge.d.ts +28 -0
  180. package/dist/utils/edges/straight-edge.d.ts.map +1 -0
  181. package/dist/utils/general.d.ts +61 -0
  182. package/dist/utils/general.d.ts.map +1 -0
  183. package/dist/utils/graph.d.ts +113 -0
  184. package/dist/utils/graph.d.ts.map +1 -0
  185. package/dist/utils/marker.d.ts +9 -0
  186. package/dist/utils/marker.d.ts.map +1 -0
  187. package/dist/utils/positions.d.ts +12 -0
  188. package/dist/utils/positions.d.ts.map +1 -0
  189. package/dist/utils/store.d.ts +30 -0
  190. package/dist/utils/store.d.ts.map +1 -0
  191. package/package.json +1 -1
@@ -0,0 +1,3 @@
1
+ import type { ControlButtonProps } from './types';
2
+ export declare function ControlButton({ children, className, ...rest }: ControlButtonProps): import("react/jsx-runtime").JSX.Element;
3
+ //# sourceMappingURL=ControlButton.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ControlButton.d.ts","sourceRoot":"","sources":["../../../src/plugins/Controls/ControlButton.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAElD,wBAAgB,aAAa,CAAC,EAC5B,QAAQ,EACR,SAAS,EACT,GAAG,IAAI,EACR,EAAE,kBAAkB,2CAUpB"}
@@ -0,0 +1,8 @@
1
+ import type { ControlProps } from './types';
2
+ declare function ControlsComponent({ style, showZoom, showFitView, showInteractive, fitViewOptions, onZoomIn, onZoomOut, onFitView, onInteractiveChange, className, children, position, orientation, 'aria-label': ariaLabel, }: ControlProps): import("react/jsx-runtime").JSX.Element;
3
+ declare namespace ControlsComponent {
4
+ var displayName: string;
5
+ }
6
+ export declare const Controls: import("react").MemoExoticComponent<typeof ControlsComponent>;
7
+ export {};
8
+ //# sourceMappingURL=Controls.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Controls.d.ts","sourceRoot":"","sources":["../../../src/plugins/Controls/Controls.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAW5C,iBAAS,iBAAiB,CAAC,EACzB,KAAK,EACL,QAAe,EACf,WAAkB,EAClB,eAAsB,EACtB,cAAc,EACd,QAAQ,EACR,SAAS,EACT,SAAS,EACT,mBAAmB,EACnB,SAAS,EACT,QAAQ,EACR,QAAwB,EACxB,WAAwB,EACxB,YAAY,EAAE,SAA+B,GAC9C,EAAE,YAAY,2CA2Fd;kBA1GQ,iBAAiB;;;AA8G1B,eAAO,MAAM,QAAQ,+DAA0B,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function FitViewIcon(): import("react/jsx-runtime").JSX.Element;
2
+ //# sourceMappingURL=FitView.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FitView.d.ts","sourceRoot":"","sources":["../../../../src/plugins/Controls/Icons/FitView.tsx"],"names":[],"mappings":"AAAA,wBAAgB,WAAW,4CAiB1B"}
@@ -0,0 +1,2 @@
1
+ export declare function LockIcon(): import("react/jsx-runtime").JSX.Element;
2
+ //# sourceMappingURL=Lock.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Lock.d.ts","sourceRoot":"","sources":["../../../../src/plugins/Controls/Icons/Lock.tsx"],"names":[],"mappings":"AAAA,wBAAgB,QAAQ,4CAMvB"}
@@ -0,0 +1,2 @@
1
+ export declare function MinusIcon(): import("react/jsx-runtime").JSX.Element;
2
+ //# sourceMappingURL=Minus.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Minus.d.ts","sourceRoot":"","sources":["../../../../src/plugins/Controls/Icons/Minus.tsx"],"names":[],"mappings":"AAAA,wBAAgB,SAAS,4CAiBxB"}
@@ -0,0 +1,2 @@
1
+ export declare function PlusIcon(): import("react/jsx-runtime").JSX.Element;
2
+ //# sourceMappingURL=Plus.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Plus.d.ts","sourceRoot":"","sources":["../../../../src/plugins/Controls/Icons/Plus.tsx"],"names":[],"mappings":"AAAA,wBAAgB,QAAQ,4CAiBvB"}
@@ -0,0 +1,2 @@
1
+ export declare function UnlockIcon(): import("react/jsx-runtime").JSX.Element;
2
+ //# sourceMappingURL=Unlock.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Unlock.d.ts","sourceRoot":"","sources":["../../../../src/plugins/Controls/Icons/Unlock.tsx"],"names":[],"mappings":"AAAA,wBAAgB,UAAU,4CAMzB"}
@@ -0,0 +1,4 @@
1
+ export { Controls } from './Controls';
2
+ export { ControlButton } from './ControlButton';
3
+ export type { ControlProps, ControlButtonProps } from './types';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","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;AAChD,YAAY,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC"}
@@ -0,0 +1,35 @@
1
+ import type { ButtonHTMLAttributes, ReactNode } from 'react';
2
+ import type { FitViewOptions } from '../../types';
3
+ import { PanelPosition } from '@aloudata/ink-core';
4
+ export type ControlProps = {
5
+ /** Show button for zoom in/out */
6
+ showZoom?: boolean;
7
+ /** Show button for fit view */
8
+ showFitView?: boolean;
9
+ /** Show button for toggling interactivity */
10
+ showInteractive?: boolean;
11
+ /** Options being used when fit view button is clicked */
12
+ fitViewOptions?: FitViewOptions;
13
+ /** Callback when zoom in button is clicked */
14
+ onZoomIn?: () => void;
15
+ /** Callback when zoom out button is clicked */
16
+ onZoomOut?: () => void;
17
+ /** Callback when fit view button is clicked */
18
+ onFitView?: () => void;
19
+ /** Callback when interactivity is toggled */
20
+ onInteractiveChange?: (interactiveStatus: boolean) => void;
21
+ /** Position of the controls on the pane
22
+ * @example PanelPosition.TopLeft, PanelPosition.TopRight,
23
+ * PanelPosition.BottomLeft, PanelPosition.BottomRight
24
+ */
25
+ position?: PanelPosition;
26
+ children?: ReactNode;
27
+ /** Style applied to container */
28
+ style?: React.CSSProperties;
29
+ /** ClassName applied to container */
30
+ className?: string;
31
+ 'aria-label'?: string;
32
+ orientation?: 'horizontal' | 'vertical';
33
+ };
34
+ export type ControlButtonProps = ButtonHTMLAttributes<HTMLButtonElement>;
35
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/plugins/Controls/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAE7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,MAAM,MAAM,YAAY,GAAG;IACzB,kCAAkC;IAClC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,+BAA+B;IAC/B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,6CAA6C;IAC7C,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,yDAAyD;IACzD,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,8CAA8C;IAC9C,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,+CAA+C;IAC/C,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,+CAA+C;IAC/C,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,6CAA6C;IAC7C,mBAAmB,CAAC,EAAE,CAAC,iBAAiB,EAAE,OAAO,KAAK,IAAI,CAAC;IAC3D;;;OAGG;IACH,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,iCAAiC;IACjC,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,qCAAqC;IACrC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC;CACzC,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,oBAAoB,CAAC,iBAAiB,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './Controls';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/plugins/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC"}
@@ -0,0 +1,12 @@
1
+ import type { Node, Edge, InkFlowState } from '../types';
2
+ declare const createStore: ({ nodes, edges, defaultNodes, defaultEdges, width, height, fitView, }: {
3
+ nodes?: Node[];
4
+ edges?: Edge[];
5
+ defaultNodes?: Node[];
6
+ defaultEdges?: Edge[];
7
+ width?: number;
8
+ height?: number;
9
+ fitView?: boolean;
10
+ }) => import("zustand/traditional").UseBoundStoreWithEqualityFn<import("zustand").StoreApi<InkFlowState>>;
11
+ export { createStore };
12
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/store/index.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EACV,IAAI,EACJ,IAAI,EACJ,YAAY,EAGb,MAAM,UAAU,CAAC;AAkBlB,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,wGAiXE,CAAC;AAEJ,OAAO,EAAE,WAAW,EAAE,CAAC"}
@@ -0,0 +1,12 @@
1
+ import type { Edge, Node, InkFlowStore } from '../types';
2
+ declare const getInitialState: ({ nodes, edges, defaultNodes, defaultEdges, width, height, fitView, }?: {
3
+ nodes?: Node[];
4
+ edges?: Edge[];
5
+ defaultNodes?: Node[];
6
+ defaultEdges?: Edge[];
7
+ width?: number;
8
+ height?: number;
9
+ fitView?: boolean;
10
+ }) => InkFlowStore;
11
+ export default getInitialState;
12
+ //# sourceMappingURL=initialState.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"initialState.d.ts","sourceRoot":"","sources":["../../src/store/initialState.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAgB,IAAI,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAGvE,QAAA,MAAM,eAAe,2EAQlB;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,KAAQ,YAuGR,CAAC;AAEF,eAAe,eAAe,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { CSSProperties } from 'react';
2
+ export declare const containerStyle: CSSProperties;
3
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/styles/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAE3C,eAAO,MAAM,cAAc,EAAE,aAM5B,CAAC"}
@@ -0,0 +1,114 @@
1
+ import { CSSProperties, ReactNode, MouseEvent as ReactMouseEvent, HTMLAttributes } from 'react';
2
+ import { BezierPathOptions, Connection, DefaultEdgeOptionsBase, EdgeBase, EdgePosition, HandleType, OnError, SmoothStepPathOptions, StepPathOptions } from '@aloudata/ink-core';
3
+ import { EdgeTypes } from './general';
4
+ export type Edge<EdgeData extends Record<string, unknown> = Record<string, unknown>, EdgeType extends string | undefined = string | undefined> = EdgeBase<EdgeData, EdgeType> & EdgeLabelOptions & {
5
+ style?: CSSProperties;
6
+ className?: string;
7
+ updatable?: EdgeUpdatable;
8
+ focusable?: boolean;
9
+ };
10
+ export type EdgeLabelOptions = {
11
+ label?: string | ReactNode;
12
+ labelStyle?: CSSProperties;
13
+ labelShowBg?: boolean;
14
+ labelBgStyle?: CSSProperties;
15
+ labelBgPadding?: [number, number];
16
+ labelBgBorderRadius?: number;
17
+ };
18
+ export type EdgeUpdatable = boolean | HandleType;
19
+ export type OnEdgeUpdateFunc<EdgeType extends Edge = Edge> = (oldEdge: EdgeType, newConnection: Connection) => void;
20
+ export type EdgeMouseHandler<EdgeType extends Edge = Edge> = (event: ReactMouseEvent, edge: EdgeType) => void;
21
+ export type EdgeWrapperProps<EdgeType extends Edge = Edge> = {
22
+ id: string;
23
+ edgesFocusable: boolean;
24
+ edgesUpdatable: boolean;
25
+ elementsSelectable: boolean;
26
+ noPanClassName: string;
27
+ onClick?: EdgeMouseHandler<EdgeType>;
28
+ onDoubleClick?: EdgeMouseHandler<EdgeType>;
29
+ onEdgeUpdate?: OnEdgeUpdateFunc<EdgeType>;
30
+ onContextMenu?: EdgeMouseHandler<EdgeType>;
31
+ onMouseEnter?: EdgeMouseHandler<EdgeType>;
32
+ onMouseMove?: EdgeMouseHandler<EdgeType>;
33
+ onMouseLeave?: EdgeMouseHandler<EdgeType>;
34
+ edgeUpdaterRadius?: number;
35
+ onEdgeUpdateStart?: (event: ReactMouseEvent, edge: EdgeType, handleType: HandleType) => void;
36
+ onEdgeUpdateEnd?: (event: MouseEvent | TouchEvent, edge: EdgeType, handleType: HandleType) => void;
37
+ rfId?: string;
38
+ edgeTypes?: EdgeTypes;
39
+ onError?: OnError;
40
+ disableKeyboardA11y?: boolean;
41
+ };
42
+ export type EdgeProps<EdgeType extends Edge = Edge> = Pick<EdgeType, 'id' | 'animated' | 'data' | 'style' | 'selected' | 'source' | 'target'> & EdgePosition & EdgeLabelOptions & {
43
+ sourceHandleId?: string | null;
44
+ targetHandleId?: string | null;
45
+ markerStart?: string;
46
+ markerEnd?: string;
47
+ pathOptions?: any;
48
+ interactionWidth?: number;
49
+ };
50
+ export type DefaultEdgeOptions = DefaultEdgeOptionsBase<Edge>;
51
+ export type BaseEdgeProps = EdgeLabelOptions & {
52
+ /** Unique id of edge */
53
+ id?: string;
54
+ /** Additional padding where interacting with an edge is still possible */
55
+ interactionWidth?: number;
56
+ className?: string;
57
+ /** The x position of edge label */
58
+ labelX?: number;
59
+ /** The y position of edge label */
60
+ labelY?: number;
61
+ /** Marker at start of edge
62
+ * @example 'url(#arrow)'
63
+ */
64
+ markerStart?: string;
65
+ /** Marker at end of edge
66
+ * @example 'url(#arrow)'
67
+ */
68
+ markerEnd?: string;
69
+ /** SVG path of the edge */
70
+ path: string;
71
+ style?: CSSProperties;
72
+ };
73
+ export type EdgeComponentProps = EdgePosition & EdgeLabelOptions & {
74
+ id?: EdgeProps['id'];
75
+ markerStart?: EdgeProps['markerStart'];
76
+ markerEnd?: EdgeProps['markerEnd'];
77
+ interactionWidth?: EdgeProps['interactionWidth'];
78
+ style?: EdgeProps['style'];
79
+ sourceHandleId?: EdgeProps['sourceHandleId'];
80
+ targetHandleId?: EdgeProps['targetHandleId'];
81
+ };
82
+ export type EdgeComponentWithPathOptions<PathOptions> = EdgeComponentProps & {
83
+ pathOptions?: PathOptions;
84
+ };
85
+ /**
86
+ * BezierEdge component props
87
+ * @public
88
+ */
89
+ export type BezierEdgeProps = EdgeComponentWithPathOptions<BezierPathOptions>;
90
+ /**
91
+ * SmoothStepEdge component props
92
+ * @public
93
+ */
94
+ export type SmoothStepEdgeProps = EdgeComponentWithPathOptions<SmoothStepPathOptions>;
95
+ /**
96
+ * StepEdge component props
97
+ * @public
98
+ */
99
+ export type StepEdgeProps = EdgeComponentWithPathOptions<StepPathOptions>;
100
+ /**
101
+ * StraightEdge component props
102
+ * @public
103
+ */
104
+ export type StraightEdgeProps = Omit<EdgeComponentProps, 'sourcePosition' | 'targetPosition'>;
105
+ /**
106
+ * SimpleBezier component props
107
+ * @public
108
+ */
109
+ export type SimpleBezierEdgeProps = EdgeComponentProps;
110
+ export type EdgeTextProps = HTMLAttributes<SVGElement> & EdgeLabelOptions & {
111
+ x: number;
112
+ y: number;
113
+ };
114
+ //# sourceMappingURL=edges.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"edges.d.ts","sourceRoot":"","sources":["../../src/types/edges.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,123 @@
1
+ import { ComponentType } from 'react';
2
+ import { Node, Edge, EdgeProps, NodeProps } from '.';
3
+ import { Connection, EdgeChange, FitBounds, FitViewOptionsBase, FitViewParamsBase, GetViewport, GetZoom, NodeChange, OnBeforeDeleteBase, SetCenter, SetViewport, XYPosition, ZoomInOut, ZoomTo } from '@aloudata/ink-core';
4
+ export type OnNodesChange<NodeType extends Node = Node> = (changes: NodeChange<NodeType>[]) => void;
5
+ export type OnEdgesChange<EdgeType extends Edge = Edge> = (changes: EdgeChange<EdgeType>[]) => void;
6
+ export type OnNodesDelete<NodeType extends Node = Node> = (nodes: NodeType[]) => void;
7
+ export type OnEdgesDelete<EdgeType extends Edge = Edge> = (edges: EdgeType[]) => void;
8
+ export type OnDelete<NodeType extends Node = Node, EdgeType extends Edge = Edge> = (params: {
9
+ nodes: NodeType[];
10
+ edges: EdgeType[];
11
+ }) => void;
12
+ export type FitViewParams<NodeType extends Node = Node> = FitViewParamsBase<NodeType>;
13
+ export type FitViewOptions<NodeType extends Node = Node> = FitViewOptionsBase<NodeType>;
14
+ export type FitView = (fitViewOptions?: FitViewOptions) => boolean;
15
+ export type ViewportHelperFunctions = {
16
+ /**
17
+ * Zooms viewport in by 1.2.
18
+ *
19
+ * @param options.duration - optional duration. If set, a transition will be applied
20
+ */
21
+ zoomIn: ZoomInOut;
22
+ /**
23
+ * Zooms viewport out by 1 / 1.2.
24
+ *
25
+ * @param options.duration - optional duration. If set, a transition will be applied
26
+ */
27
+ zoomOut: ZoomInOut;
28
+ /**
29
+ * Sets the current zoom level.
30
+ *
31
+ * @param zoomLevel - the zoom level to set
32
+ * @param options.duration - optional duration. If set, a transition will be applied
33
+ */
34
+ zoomTo: ZoomTo;
35
+ /**
36
+ * Returns the current zoom level.
37
+ *
38
+ * @returns current zoom as a number
39
+ */
40
+ getZoom: GetZoom;
41
+ /**
42
+ * Sets the current viewport.
43
+ *
44
+ * @param viewport - the viewport to set
45
+ * @param options.duration - optional duration. If set, a transition will be applied
46
+ */
47
+ setViewport: SetViewport;
48
+ /**
49
+ * Returns the current viewport.
50
+ *
51
+ * @returns Viewport
52
+ */
53
+ getViewport: GetViewport;
54
+ /**
55
+ * Fits the view.
56
+ *
57
+ * @param options.padding - optional padding
58
+ * @param options.includeHiddenNodes - optional includeHiddenNodes
59
+ * @param options.minZoom - optional minZoom
60
+ * @param options.maxZoom - optional maxZoom
61
+ * @param options.duration - optional duration. If set, a transition will be applied
62
+ * @param options.nodes - optional nodes to fit the view to
63
+ */
64
+ fitView: FitView;
65
+ /**
66
+ * Sets the center of the view to the given position.
67
+ *
68
+ * @param x - x position
69
+ * @param y - y position
70
+ * @param options.zoom - optional zoom
71
+ */
72
+ setCenter: SetCenter;
73
+ /**
74
+ * Fits the view to the given bounds .
75
+ *
76
+ * @param bounds - the bounds ({ x: number, y: number, width: number, height: number }) to fit the view to
77
+ * @param options.padding - optional padding
78
+ */
79
+ fitBounds: FitBounds;
80
+ /**
81
+ * Converts a screen / client position to a flow position.
82
+ *
83
+ * @param clientPosition - the screen / client position. When you are working with events you can use event.clientX and event.clientY
84
+ * @param options.snapToGrid - if true, the converted position will be snapped to the grid
85
+ * @returns position as { x: number, y: number }
86
+ *
87
+ * @example
88
+ * const flowPosition = screenToFlowPosition({ x: event.clientX, y: event.clientY })
89
+ */
90
+ screenToFlowPosition: (clientPosition: XYPosition, options?: {
91
+ snapToGrid: boolean;
92
+ }) => XYPosition;
93
+ /**
94
+ * Converts a flow position to a screen / client position.
95
+ *
96
+ * @param flowPosition - the screen / client position. When you are working with events you can use event.clientX and event.clientY
97
+ * @returns position as { x: number, y: number }
98
+ *
99
+ * @example
100
+ * const clientPosition = flowToScreenPosition({ x: node.position.x, y: node.position.y })
101
+ */
102
+ flowToScreenPosition: (flowPosition: XYPosition) => XYPosition;
103
+ };
104
+ export type IsValidConnection<EdgeType extends Edge = Edge> = (edge: EdgeType | Connection) => boolean;
105
+ export type OnSelectionChangeParams = {
106
+ nodes: Node[];
107
+ edges: Edge[];
108
+ };
109
+ export type OnSelectionChangeFunc = (params: OnSelectionChangeParams) => void;
110
+ export type NodeTypes = Record<string, ComponentType<NodeProps & {
111
+ data: any;
112
+ type: any;
113
+ }>>;
114
+ export type EdgeTypes = Record<string, ComponentType<EdgeProps & {
115
+ data: any;
116
+ type: any;
117
+ }>>;
118
+ export type UnselectNodesAndEdgesParams = {
119
+ nodes?: Node[];
120
+ edges?: Edge[];
121
+ };
122
+ export type OnBeforeDelete<NodeType extends Node = Node, EdgeType extends Edge = Edge> = OnBeforeDeleteBase<NodeType, EdgeType>;
123
+ //# sourceMappingURL=general.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"general.d.ts","sourceRoot":"","sources":["../../src/types/general.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ export * from './nodes';
2
+ export * from './edges';
3
+ export * from './props';
4
+ export * from './general';
5
+ export * from './store';
6
+ export * from './instance';
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC"}
@@ -0,0 +1,149 @@
1
+ import { Edge } from './edges';
2
+ import { ViewportHelperFunctions } from './general';
3
+ import { InternalNode } from './nodes';
4
+ import { Node } from '.';
5
+ import { Viewport, Rect } from '@aloudata/ink-core';
6
+ export type InkFlowJsonObject<NodeType extends Node = Node, EdgeType extends Edge = Edge> = {
7
+ nodes: NodeType[];
8
+ edges: EdgeType[];
9
+ viewport: Viewport;
10
+ };
11
+ export type DeleteElementsOptions = {
12
+ nodes?: (Node | {
13
+ id: Node['id'];
14
+ })[];
15
+ edges?: (Edge | {
16
+ id: Edge['id'];
17
+ })[];
18
+ };
19
+ export type GeneralHelpers<NodeType extends Node = Node, EdgeType extends Edge = Edge> = {
20
+ /**
21
+ * Returns nodes.
22
+ *
23
+ * @returns nodes array
24
+ */
25
+ getNodes: () => NodeType[];
26
+ /**
27
+ * Sets nodes.
28
+ *
29
+ * @param payload - the nodes to set or a function that receives the current nodes and returns the new nodes
30
+ */
31
+ setNodes: (payload: NodeType[] | ((nodes: NodeType[]) => NodeType[])) => void;
32
+ /**
33
+ * Adds nodes.
34
+ *
35
+ * @param payload - the nodes to add
36
+ */
37
+ addNodes: (payload: NodeType[] | NodeType) => void;
38
+ /**
39
+ * Returns a node by id.
40
+ *
41
+ * @param id - the node id
42
+ * @returns the node or undefined if no node was found
43
+ */
44
+ getNode: (id: string) => NodeType | undefined;
45
+ /**
46
+ * Returns an internal node by id.
47
+ *
48
+ * @param id - the node id
49
+ * @returns the internal node or undefined if no node was found
50
+ */
51
+ getInternalNode: (id: string) => InternalNode<NodeType> | undefined;
52
+ /**
53
+ * Returns edges.
54
+ *
55
+ * @returns edges array
56
+ */
57
+ getEdges: () => EdgeType[];
58
+ /**
59
+ * Sets edges.
60
+ *
61
+ * @param payload - the edges to set or a function that receives the current edges and returns the new edges
62
+ */
63
+ setEdges: (payload: EdgeType[] | ((edges: EdgeType[]) => EdgeType[])) => void;
64
+ /**
65
+ * Adds edges.
66
+ *
67
+ * @param payload - the edges to add
68
+ */
69
+ addEdges: (payload: EdgeType[] | EdgeType) => void;
70
+ /**
71
+ * Returns an edge by id.
72
+ *
73
+ * @param id - the edge id
74
+ * @returns the edge or undefined if no edge was found
75
+ */
76
+ getEdge: (id: string) => EdgeType | undefined;
77
+ /**
78
+ * Returns the nodes, edges and the viewport as a JSON object.
79
+ *
80
+ * @returns the nodes, edges and the viewport as a JSON object
81
+ */
82
+ toObject: () => InkFlowJsonObject<NodeType, EdgeType>;
83
+ /**
84
+ * Deletes nodes and edges.
85
+ *
86
+ * @param params.nodes - optional nodes array to delete
87
+ * @param params.edges - optional edges array to delete
88
+ *
89
+ * @returns a promise that resolves with the deleted nodes and edges
90
+ */
91
+ deleteElements: (params: DeleteElementsOptions) => Promise<{
92
+ deletedNodes: Node[];
93
+ deletedEdges: Edge[];
94
+ }>;
95
+ /**
96
+ * Returns all nodes that intersect with the given node or rect.
97
+ *
98
+ * @param node - the node or rect to check for intersections
99
+ * @param partially - if true, the node is considered to be intersecting if it partially overlaps with the passed node or rect
100
+ * @param nodes - optional nodes array to check for intersections
101
+ *
102
+ * @returns an array of intersecting nodes
103
+ */
104
+ getIntersectingNodes: (node: NodeType | {
105
+ id: Node['id'];
106
+ } | Rect, partially?: boolean, nodes?: NodeType[]) => NodeType[];
107
+ /**
108
+ * Checks if the given node or rect intersects with the passed rect.
109
+ *
110
+ * @param node - the node or rect to check for intersections
111
+ * @param area - the rect to check for intersections
112
+ * @param partially - if true, the node is considered to be intersecting if it partially overlaps with the passed react
113
+ *
114
+ * @returns true if the node or rect intersects with the given area
115
+ */
116
+ isNodeIntersecting: (node: NodeType | {
117
+ id: Node['id'];
118
+ } | Rect, area: Rect, partially?: boolean) => boolean;
119
+ /**
120
+ * Updates a node.
121
+ *
122
+ * @param id - id of the node to update
123
+ * @param nodeUpdate - the node update as an object or a function that receives the current node and returns the node update
124
+ * @param options.replace - if true, the node is replaced with the node update, otherwise the changes get merged
125
+ *
126
+ * @example
127
+ * updateNode('node-1', (node) => ({ position: { x: node.position.x + 10, y: node.position.y } }));
128
+ */
129
+ updateNode: (id: string, nodeUpdate: Partial<NodeType> | ((node: NodeType) => Partial<NodeType>), options?: {
130
+ replace: boolean;
131
+ }) => void;
132
+ /**
133
+ * Updates the data attribute of a node.
134
+ *
135
+ * @param id - id of the node to update
136
+ * @param dataUpdate - the data update as an object or a function that receives the current data and returns the data update
137
+ * @param options.replace - if true, the data is replaced with the data update, otherwise the changes get merged
138
+ *
139
+ * @example
140
+ * updateNodeData('node-1', { label: 'A new label' });
141
+ */
142
+ updateNodeData: (id: string, dataUpdate: object | ((node: NodeType) => object), options?: {
143
+ replace: boolean;
144
+ }) => void;
145
+ };
146
+ export type InkFlowInstance<NodeType extends Node = Node, EdgeType extends Edge = Edge> = GeneralHelpers<NodeType, EdgeType> & Omit<ViewportHelperFunctions, 'initialized'> & {
147
+ viewportInitialized: boolean;
148
+ };
149
+ //# sourceMappingURL=instance.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"instance.d.ts","sourceRoot":"","sources":["../../src/types/instance.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,40 @@
1
+ import { CSSProperties, MouseEvent as ReactMouseEvent } from 'react';
2
+ import { NodeTypes } from './general';
3
+ import { CoordinateExtent, InternalNodeBase, NodeBase, NodeOrigin, OnError, NodeProps as NodePropsBase } from '@aloudata/ink-core';
4
+ export type Node<NodeData extends any = any, NodeType extends string = string> = NodeBase<NodeData, NodeType> & {
5
+ style?: CSSProperties;
6
+ className?: string;
7
+ resizing?: boolean;
8
+ focusable?: boolean;
9
+ };
10
+ export type InternalNode<NodeType extends Node = Node> = InternalNodeBase<NodeType>;
11
+ export type NodeMouseHandler<NodeType extends Node = Node> = (event: ReactMouseEvent, node: NodeType) => void;
12
+ export type SelectionDragHandler<NodeType extends Node = Node> = (event: ReactMouseEvent, nodes: NodeType[]) => void;
13
+ export type OnNodeDrag<NodeType extends Node = Node> = (event: ReactMouseEvent, node: NodeType, nodes: NodeType[]) => void;
14
+ export type NodeWrapperProps<NodeType extends Node> = {
15
+ id: string;
16
+ nodesConnectable: boolean;
17
+ elementsSelectable: boolean;
18
+ nodesDraggable: boolean;
19
+ nodesFocusable: boolean;
20
+ onClick?: NodeMouseHandler<NodeType>;
21
+ onDoubleClick?: NodeMouseHandler<NodeType>;
22
+ onMouseEnter?: NodeMouseHandler<NodeType>;
23
+ onMouseMove?: NodeMouseHandler<NodeType>;
24
+ onMouseLeave?: NodeMouseHandler<NodeType>;
25
+ onContextMenu?: NodeMouseHandler<NodeType>;
26
+ resizeObserver: ResizeObserver | null;
27
+ noDragClassName: string;
28
+ noPanClassName: string;
29
+ rfId: string;
30
+ disableKeyboardA11y: boolean;
31
+ nodeTypes?: NodeTypes;
32
+ nodeExtent?: CoordinateExtent;
33
+ nodeOrigin: NodeOrigin;
34
+ onError?: OnError;
35
+ };
36
+ export type NodeProps<NodeType extends Node = Node> = NodePropsBase<NodeType>;
37
+ export type BuiltInNode = Node<{
38
+ label: string;
39
+ }, 'input' | 'output' | 'default'>;
40
+ //# sourceMappingURL=nodes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nodes.d.ts","sourceRoot":"","sources":["../../src/types/nodes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,UAAU,IAAI,eAAe,EAAE,MAAM,OAAO,CAAC;AAErE,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,QAAQ,EACR,UAAU,EACV,OAAO,EACP,SAAS,IAAI,aAAa,EAC3B,MAAM,oBAAoB,CAAC;AAE5B,MAAM,MAAM,IAAI,CACd,QAAQ,SAAS,GAAG,GAAG,GAAG,EAC1B,QAAQ,SAAS,MAAM,GAAG,MAAM,IAC9B,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,GAAG;IACjC,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,YAAY,CAAC,QAAQ,SAAS,IAAI,GAAG,IAAI,IACnD,gBAAgB,CAAC,QAAQ,CAAC,CAAC;AAE7B,MAAM,MAAM,gBAAgB,CAAC,QAAQ,SAAS,IAAI,GAAG,IAAI,IAAI,CAC3D,KAAK,EAAE,eAAe,EACtB,IAAI,EAAE,QAAQ,KACX,IAAI,CAAC;AACV,MAAM,MAAM,oBAAoB,CAAC,QAAQ,SAAS,IAAI,GAAG,IAAI,IAAI,CAC/D,KAAK,EAAE,eAAe,EACtB,KAAK,EAAE,QAAQ,EAAE,KACd,IAAI,CAAC;AACV,MAAM,MAAM,UAAU,CAAC,QAAQ,SAAS,IAAI,GAAG,IAAI,IAAI,CACrD,KAAK,EAAE,eAAe,EACtB,IAAI,EAAE,QAAQ,EACd,KAAK,EAAE,QAAQ,EAAE,KACd,IAAI,CAAC;AAEV,MAAM,MAAM,gBAAgB,CAAC,QAAQ,SAAS,IAAI,IAAI;IACpD,EAAE,EAAE,MAAM,CAAC;IACX,gBAAgB,EAAE,OAAO,CAAC;IAC1B,kBAAkB,EAAE,OAAO,CAAC;IAC5B,cAAc,EAAE,OAAO,CAAC;IACxB,cAAc,EAAE,OAAO,CAAC;IACxB,OAAO,CAAC,EAAE,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IACrC,aAAa,CAAC,EAAE,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAC3C,YAAY,CAAC,EAAE,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAC1C,WAAW,CAAC,EAAE,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IACzC,YAAY,CAAC,EAAE,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAC1C,aAAa,CAAC,EAAE,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAC3C,cAAc,EAAE,cAAc,GAAG,IAAI,CAAC;IACtC,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,mBAAmB,EAAE,OAAO,CAAC;IAC7B,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,UAAU,EAAE,UAAU,CAAC;IACvB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,SAAS,CAAC,QAAQ,SAAS,IAAI,GAAG,IAAI,IAAI,aAAa,CAAC,QAAQ,CAAC,CAAC;AAE9E,MAAM,MAAM,WAAW,GAAG,IAAI,CAC5B;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,EACjB,OAAO,GAAG,QAAQ,GAAG,SAAS,CAC/B,CAAC"}