@angflow/system 0.0.76

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 (181) hide show
  1. package/README.md +62 -0
  2. package/dist/esm/constants.d.ts +43 -0
  3. package/dist/esm/constants.d.ts.map +1 -0
  4. package/dist/esm/index.d.ts +9 -0
  5. package/dist/esm/index.d.ts.map +1 -0
  6. package/dist/esm/index.js +3514 -0
  7. package/dist/esm/index.mjs +3514 -0
  8. package/dist/esm/types/changes.d.ts +64 -0
  9. package/dist/esm/types/changes.d.ts.map +1 -0
  10. package/dist/esm/types/edges.d.ts +140 -0
  11. package/dist/esm/types/edges.d.ts.map +1 -0
  12. package/dist/esm/types/general.d.ts +296 -0
  13. package/dist/esm/types/general.d.ts.map +1 -0
  14. package/dist/esm/types/handles.d.ts +58 -0
  15. package/dist/esm/types/handles.d.ts.map +1 -0
  16. package/dist/esm/types/index.d.ts +8 -0
  17. package/dist/esm/types/index.d.ts.map +1 -0
  18. package/dist/esm/types/nodes.d.ts +157 -0
  19. package/dist/esm/types/nodes.d.ts.map +1 -0
  20. package/dist/esm/types/panzoom.d.ts +55 -0
  21. package/dist/esm/types/panzoom.d.ts.map +1 -0
  22. package/dist/esm/types/utils.d.ts +61 -0
  23. package/dist/esm/types/utils.d.ts.map +1 -0
  24. package/dist/esm/utils/connections.d.ts +13 -0
  25. package/dist/esm/utils/connections.d.ts.map +1 -0
  26. package/dist/esm/utils/dom.d.ts +21 -0
  27. package/dist/esm/utils/dom.d.ts.map +1 -0
  28. package/dist/esm/utils/edge-toolbar.d.ts +2 -0
  29. package/dist/esm/utils/edge-toolbar.d.ts.map +1 -0
  30. package/dist/esm/utils/edges/bezier-edge.d.ts +77 -0
  31. package/dist/esm/utils/edges/bezier-edge.d.ts.map +1 -0
  32. package/dist/esm/utils/edges/general.d.ts +91 -0
  33. package/dist/esm/utils/edges/general.d.ts.map +1 -0
  34. package/dist/esm/utils/edges/index.d.ts +6 -0
  35. package/dist/esm/utils/edges/index.d.ts.map +1 -0
  36. package/dist/esm/utils/edges/positions.d.ts +17 -0
  37. package/dist/esm/utils/edges/positions.d.ts.map +1 -0
  38. package/dist/esm/utils/edges/smoothstep-edge.d.ts +66 -0
  39. package/dist/esm/utils/edges/smoothstep-edge.d.ts.map +1 -0
  40. package/dist/esm/utils/edges/straight-edge.d.ts +41 -0
  41. package/dist/esm/utils/edges/straight-edge.d.ts.map +1 -0
  42. package/dist/esm/utils/general.d.ts +85 -0
  43. package/dist/esm/utils/general.d.ts.map +1 -0
  44. package/dist/esm/utils/graph.d.ts +191 -0
  45. package/dist/esm/utils/graph.d.ts.map +1 -0
  46. package/dist/esm/utils/index.d.ts +12 -0
  47. package/dist/esm/utils/index.d.ts.map +1 -0
  48. package/dist/esm/utils/marker.d.ts +9 -0
  49. package/dist/esm/utils/marker.d.ts.map +1 -0
  50. package/dist/esm/utils/node-toolbar.d.ts +3 -0
  51. package/dist/esm/utils/node-toolbar.d.ts.map +1 -0
  52. package/dist/esm/utils/shallow-node-data.d.ts +5 -0
  53. package/dist/esm/utils/shallow-node-data.d.ts.map +1 -0
  54. package/dist/esm/utils/store.d.ts +34 -0
  55. package/dist/esm/utils/store.d.ts.map +1 -0
  56. package/dist/esm/utils/types.d.ts +8 -0
  57. package/dist/esm/utils/types.d.ts.map +1 -0
  58. package/dist/esm/xydrag/XYDrag.d.ts +55 -0
  59. package/dist/esm/xydrag/XYDrag.d.ts.map +1 -0
  60. package/dist/esm/xydrag/index.d.ts +2 -0
  61. package/dist/esm/xydrag/index.d.ts.map +1 -0
  62. package/dist/esm/xydrag/utils.d.ts +24 -0
  63. package/dist/esm/xydrag/utils.d.ts.map +1 -0
  64. package/dist/esm/xyhandle/XYHandle.d.ts +3 -0
  65. package/dist/esm/xyhandle/XYHandle.d.ts.map +1 -0
  66. package/dist/esm/xyhandle/index.d.ts +2 -0
  67. package/dist/esm/xyhandle/index.d.ts.map +1 -0
  68. package/dist/esm/xyhandle/types.d.ts +50 -0
  69. package/dist/esm/xyhandle/types.d.ts.map +1 -0
  70. package/dist/esm/xyhandle/utils.d.ts +10 -0
  71. package/dist/esm/xyhandle/utils.d.ts.map +1 -0
  72. package/dist/esm/xyminimap/index.d.ts +28 -0
  73. package/dist/esm/xyminimap/index.d.ts.map +1 -0
  74. package/dist/esm/xypanzoom/XYPanZoom.d.ts +12 -0
  75. package/dist/esm/xypanzoom/XYPanZoom.d.ts.map +1 -0
  76. package/dist/esm/xypanzoom/eventhandler.d.ts +46 -0
  77. package/dist/esm/xypanzoom/eventhandler.d.ts.map +1 -0
  78. package/dist/esm/xypanzoom/filter.d.ts +15 -0
  79. package/dist/esm/xypanzoom/filter.d.ts.map +1 -0
  80. package/dist/esm/xypanzoom/index.d.ts +2 -0
  81. package/dist/esm/xypanzoom/index.d.ts.map +1 -0
  82. package/dist/esm/xypanzoom/utils.d.ts +9 -0
  83. package/dist/esm/xypanzoom/utils.d.ts.map +1 -0
  84. package/dist/esm/xyresizer/XYResizer.d.ts +49 -0
  85. package/dist/esm/xyresizer/XYResizer.d.ts.map +1 -0
  86. package/dist/esm/xyresizer/index.d.ts +3 -0
  87. package/dist/esm/xyresizer/index.d.ts.map +1 -0
  88. package/dist/esm/xyresizer/types.d.ts +59 -0
  89. package/dist/esm/xyresizer/types.d.ts.map +1 -0
  90. package/dist/esm/xyresizer/utils.d.ts +76 -0
  91. package/dist/esm/xyresizer/utils.d.ts.map +1 -0
  92. package/dist/umd/constants.d.ts +43 -0
  93. package/dist/umd/constants.d.ts.map +1 -0
  94. package/dist/umd/index.d.ts +9 -0
  95. package/dist/umd/index.d.ts.map +1 -0
  96. package/dist/umd/index.js +1 -0
  97. package/dist/umd/types/changes.d.ts +64 -0
  98. package/dist/umd/types/changes.d.ts.map +1 -0
  99. package/dist/umd/types/edges.d.ts +140 -0
  100. package/dist/umd/types/edges.d.ts.map +1 -0
  101. package/dist/umd/types/general.d.ts +296 -0
  102. package/dist/umd/types/general.d.ts.map +1 -0
  103. package/dist/umd/types/handles.d.ts +58 -0
  104. package/dist/umd/types/handles.d.ts.map +1 -0
  105. package/dist/umd/types/index.d.ts +8 -0
  106. package/dist/umd/types/index.d.ts.map +1 -0
  107. package/dist/umd/types/nodes.d.ts +157 -0
  108. package/dist/umd/types/nodes.d.ts.map +1 -0
  109. package/dist/umd/types/panzoom.d.ts +55 -0
  110. package/dist/umd/types/panzoom.d.ts.map +1 -0
  111. package/dist/umd/types/utils.d.ts +61 -0
  112. package/dist/umd/types/utils.d.ts.map +1 -0
  113. package/dist/umd/utils/connections.d.ts +13 -0
  114. package/dist/umd/utils/connections.d.ts.map +1 -0
  115. package/dist/umd/utils/dom.d.ts +21 -0
  116. package/dist/umd/utils/dom.d.ts.map +1 -0
  117. package/dist/umd/utils/edge-toolbar.d.ts +2 -0
  118. package/dist/umd/utils/edge-toolbar.d.ts.map +1 -0
  119. package/dist/umd/utils/edges/bezier-edge.d.ts +77 -0
  120. package/dist/umd/utils/edges/bezier-edge.d.ts.map +1 -0
  121. package/dist/umd/utils/edges/general.d.ts +91 -0
  122. package/dist/umd/utils/edges/general.d.ts.map +1 -0
  123. package/dist/umd/utils/edges/index.d.ts +6 -0
  124. package/dist/umd/utils/edges/index.d.ts.map +1 -0
  125. package/dist/umd/utils/edges/positions.d.ts +17 -0
  126. package/dist/umd/utils/edges/positions.d.ts.map +1 -0
  127. package/dist/umd/utils/edges/smoothstep-edge.d.ts +66 -0
  128. package/dist/umd/utils/edges/smoothstep-edge.d.ts.map +1 -0
  129. package/dist/umd/utils/edges/straight-edge.d.ts +41 -0
  130. package/dist/umd/utils/edges/straight-edge.d.ts.map +1 -0
  131. package/dist/umd/utils/general.d.ts +85 -0
  132. package/dist/umd/utils/general.d.ts.map +1 -0
  133. package/dist/umd/utils/graph.d.ts +191 -0
  134. package/dist/umd/utils/graph.d.ts.map +1 -0
  135. package/dist/umd/utils/index.d.ts +12 -0
  136. package/dist/umd/utils/index.d.ts.map +1 -0
  137. package/dist/umd/utils/marker.d.ts +9 -0
  138. package/dist/umd/utils/marker.d.ts.map +1 -0
  139. package/dist/umd/utils/node-toolbar.d.ts +3 -0
  140. package/dist/umd/utils/node-toolbar.d.ts.map +1 -0
  141. package/dist/umd/utils/shallow-node-data.d.ts +5 -0
  142. package/dist/umd/utils/shallow-node-data.d.ts.map +1 -0
  143. package/dist/umd/utils/store.d.ts +34 -0
  144. package/dist/umd/utils/store.d.ts.map +1 -0
  145. package/dist/umd/utils/types.d.ts +8 -0
  146. package/dist/umd/utils/types.d.ts.map +1 -0
  147. package/dist/umd/xydrag/XYDrag.d.ts +55 -0
  148. package/dist/umd/xydrag/XYDrag.d.ts.map +1 -0
  149. package/dist/umd/xydrag/index.d.ts +2 -0
  150. package/dist/umd/xydrag/index.d.ts.map +1 -0
  151. package/dist/umd/xydrag/utils.d.ts +24 -0
  152. package/dist/umd/xydrag/utils.d.ts.map +1 -0
  153. package/dist/umd/xyhandle/XYHandle.d.ts +3 -0
  154. package/dist/umd/xyhandle/XYHandle.d.ts.map +1 -0
  155. package/dist/umd/xyhandle/index.d.ts +2 -0
  156. package/dist/umd/xyhandle/index.d.ts.map +1 -0
  157. package/dist/umd/xyhandle/types.d.ts +50 -0
  158. package/dist/umd/xyhandle/types.d.ts.map +1 -0
  159. package/dist/umd/xyhandle/utils.d.ts +10 -0
  160. package/dist/umd/xyhandle/utils.d.ts.map +1 -0
  161. package/dist/umd/xyminimap/index.d.ts +28 -0
  162. package/dist/umd/xyminimap/index.d.ts.map +1 -0
  163. package/dist/umd/xypanzoom/XYPanZoom.d.ts +12 -0
  164. package/dist/umd/xypanzoom/XYPanZoom.d.ts.map +1 -0
  165. package/dist/umd/xypanzoom/eventhandler.d.ts +46 -0
  166. package/dist/umd/xypanzoom/eventhandler.d.ts.map +1 -0
  167. package/dist/umd/xypanzoom/filter.d.ts +15 -0
  168. package/dist/umd/xypanzoom/filter.d.ts.map +1 -0
  169. package/dist/umd/xypanzoom/index.d.ts +2 -0
  170. package/dist/umd/xypanzoom/index.d.ts.map +1 -0
  171. package/dist/umd/xypanzoom/utils.d.ts +9 -0
  172. package/dist/umd/xypanzoom/utils.d.ts.map +1 -0
  173. package/dist/umd/xyresizer/XYResizer.d.ts +49 -0
  174. package/dist/umd/xyresizer/XYResizer.d.ts.map +1 -0
  175. package/dist/umd/xyresizer/index.d.ts +3 -0
  176. package/dist/umd/xyresizer/index.d.ts.map +1 -0
  177. package/dist/umd/xyresizer/types.d.ts +59 -0
  178. package/dist/umd/xyresizer/types.d.ts.map +1 -0
  179. package/dist/umd/xyresizer/utils.d.ts +76 -0
  180. package/dist/umd/xyresizer/utils.d.ts.map +1 -0
  181. package/package.json +79 -0
package/README.md ADDED
@@ -0,0 +1,62 @@
1
+ # @xyflow/system
2
+
3
+ Core system utilities powering [React Flow](https://reactflow.dev) and [Svelte Flow](https://svelteflow.dev).
4
+
5
+ > **Note:** This package is designed as a shared vanilla utility layer for React Flow and Svelte Flow. It is not intended for use with unrelated libraries.
6
+
7
+ ## Installation
8
+
9
+ ```sh
10
+ pnpm add @xyflow/system
11
+ ```
12
+
13
+ ## What is this package?
14
+
15
+ `@xyflow/system` provides core, framework-agnostic helpers and types for building node-based editors and flow diagrams. It contains the logic and utilities that are shared between React Flow and Svelte Flow, such as edge path calculations, pan/zoom, node dragging, and more.
16
+
17
+ ## Features
18
+
19
+ - **Pan & Zoom (`XYPanZoom`)**: Utilities for adding interactive pan and zoom to your canvas.
20
+ - **Dragging (`XYDrag`)**: Helpers for node and selection dragging.
21
+ - **Handles/Connections (`XYHandle`)**: Logic for drawing and managing connection lines between nodes.
22
+ - **Minimap (`XYMiniMap`)**: Interactive minimap utilities for overview and navigation.
23
+ - **Edge Utilities**: Functions for SVG edge path creation (bezier, straight, step, smoothstep, etc.).
24
+ - **Store Utilities**: Helpers for managing and updating flow state.
25
+ - **DOM Utilities**: Functions for DOM measurements and interactions.
26
+ - **Marker Utilities**: Helpers for SVG markers on edges.
27
+ - **Graph Utilities**: Functions for working with nodes, edges, and graph structure.
28
+ - **General Utilities**: Miscellaneous helpers used throughout the system.
29
+ - **Types & Constants**: Shared types, enums, and constants for consistent data structures.
30
+
31
+ ## Usage
32
+
33
+ You can import any utility, type, or helper directly from the package:
34
+
35
+ ```ts
36
+ import { getBezierPath, getConnectedEdges, Position, XYPanZoom } from '@xyflow/system';
37
+ ```
38
+
39
+ ### Example: Bezier Edge Path Creation
40
+
41
+ ```ts
42
+ import { getBezierPath, Position } from '@xyflow/system';
43
+
44
+ const [path, labelX, labelY] = getBezierPath({
45
+ sourceX: 0,
46
+ sourceY: 20,
47
+ sourcePosition: Position.Right,
48
+ targetX: 150,
49
+ targetY: 100,
50
+ targetPosition: Position.Left,
51
+ });
52
+ ```
53
+
54
+ ## API Reference
55
+
56
+ There is currently no dedicated API documentation for this package. For details on available utilities, types, and helpers, please refer to the [source code](./src) or check out the [React Flow documentation](https://reactflow.dev/api-reference/) where we are documenting a lot of stuff from this package.
57
+
58
+ ## Contributing
59
+
60
+ See the main [xyflow repository](https://github.com/xyflow/xyflow) for contribution guidelines.
61
+
62
+
@@ -0,0 +1,43 @@
1
+ import { CoordinateExtent, HandleType } from './types';
2
+ export declare const errorMessages: {
3
+ error001: () => string;
4
+ error002: () => string;
5
+ error003: (nodeType: string) => string;
6
+ error004: () => string;
7
+ error005: () => string;
8
+ error006: () => string;
9
+ error007: (id: string) => string;
10
+ error009: (type: string) => string;
11
+ error008: (handleType: HandleType, { id, sourceHandle, targetHandle }: {
12
+ id: string;
13
+ sourceHandle: string | null;
14
+ targetHandle: string | null;
15
+ }) => string;
16
+ error010: () => string;
17
+ error011: (edgeType: string) => string;
18
+ error012: (id: string) => string;
19
+ error013: (lib?: string) => string;
20
+ error014: () => string;
21
+ error015: () => string;
22
+ };
23
+ export declare const infiniteExtent: CoordinateExtent;
24
+ export declare const elementSelectionKeys: string[];
25
+ export declare const defaultAriaLabelConfig: {
26
+ 'node.a11yDescription.default': string;
27
+ 'node.a11yDescription.keyboardDisabled': string;
28
+ 'node.a11yDescription.ariaLiveMessage': ({ direction, x, y }: {
29
+ direction: string;
30
+ x: number;
31
+ y: number;
32
+ }) => string;
33
+ 'edge.a11yDescription.default': string;
34
+ 'controls.ariaLabel': string;
35
+ 'controls.zoomIn.ariaLabel': string;
36
+ 'controls.zoomOut.ariaLabel': string;
37
+ 'controls.fitView.ariaLabel': string;
38
+ 'controls.interactive.ariaLabel': string;
39
+ 'minimap.ariaLabel': string;
40
+ 'handle.ariaLabel': string;
41
+ };
42
+ export type AriaLabelConfig = typeof defaultAriaLabelConfig;
43
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAEvD,eAAO,MAAM,aAAa;;;yBAKH,MAAM;;;;mBAIZ,MAAM;qBACJ,MAAM;2BAET,UAAU,sCACc;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE;;yBAMzF,MAAM;mBACZ,MAAM;qBAEL,MAAM;;;CAMvB,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,gBAG5B,CAAC;AAEF,eAAO,MAAM,oBAAoB,UAA2B,CAAC;AAE7D,eAAO,MAAM,sBAAsB;;;kEAK6B;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE;;;;;;;;;CAiB1G,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,OAAO,sBAAsB,CAAC"}
@@ -0,0 +1,9 @@
1
+ export * from './constants';
2
+ export * from './types';
3
+ export * from './utils';
4
+ export * from './xydrag';
5
+ export * from './xyhandle';
6
+ export * from './xyminimap';
7
+ export * from './xypanzoom';
8
+ export * from './xyresizer';
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC"}