@xyflow/system 0.0.12 → 0.0.14

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 (70) hide show
  1. package/dist/esm/index.d.ts +1 -0
  2. package/dist/esm/index.d.ts.map +1 -1
  3. package/dist/esm/index.js +2393 -0
  4. package/dist/esm/index.mjs +483 -146
  5. package/dist/esm/types/edges.d.ts +2 -2
  6. package/dist/esm/types/edges.d.ts.map +1 -1
  7. package/dist/esm/types/general.d.ts +7 -0
  8. package/dist/esm/types/general.d.ts.map +1 -1
  9. package/dist/esm/types/nodes.d.ts +7 -2
  10. package/dist/esm/types/nodes.d.ts.map +1 -1
  11. package/dist/esm/types/utils.d.ts.map +1 -1
  12. package/dist/esm/utils/edges/bezier-edge.d.ts +23 -0
  13. package/dist/esm/utils/edges/bezier-edge.d.ts.map +1 -1
  14. package/dist/esm/utils/edges/general.d.ts +23 -5
  15. package/dist/esm/utils/edges/general.d.ts.map +1 -1
  16. package/dist/esm/utils/edges/positions.d.ts.map +1 -1
  17. package/dist/esm/utils/edges/smoothstep-edge.d.ts +22 -0
  18. package/dist/esm/utils/edges/smoothstep-edge.d.ts.map +1 -1
  19. package/dist/esm/utils/edges/straight-edge.d.ts +20 -0
  20. package/dist/esm/utils/edges/straight-edge.d.ts.map +1 -1
  21. package/dist/esm/utils/general.d.ts +19 -2
  22. package/dist/esm/utils/general.d.ts.map +1 -1
  23. package/dist/esm/utils/graph.d.ts +61 -6
  24. package/dist/esm/utils/graph.d.ts.map +1 -1
  25. package/dist/esm/utils/store.d.ts +4 -4
  26. package/dist/esm/utils/store.d.ts.map +1 -1
  27. package/dist/esm/xyminimap/index.d.ts.map +1 -1
  28. package/dist/esm/xyresizer/XYResizer.d.ts +46 -0
  29. package/dist/esm/xyresizer/XYResizer.d.ts.map +1 -0
  30. package/dist/esm/xyresizer/index.d.ts +3 -0
  31. package/dist/esm/xyresizer/index.d.ts.map +1 -0
  32. package/dist/esm/xyresizer/types.d.ts +26 -0
  33. package/dist/esm/xyresizer/types.d.ts.map +1 -0
  34. package/dist/esm/xyresizer/utils.d.ts +75 -0
  35. package/dist/esm/xyresizer/utils.d.ts.map +1 -0
  36. package/dist/umd/index.d.ts +1 -0
  37. package/dist/umd/index.d.ts.map +1 -1
  38. package/dist/umd/index.js +1 -1
  39. package/dist/umd/types/edges.d.ts +2 -2
  40. package/dist/umd/types/edges.d.ts.map +1 -1
  41. package/dist/umd/types/general.d.ts +7 -0
  42. package/dist/umd/types/general.d.ts.map +1 -1
  43. package/dist/umd/types/nodes.d.ts +7 -2
  44. package/dist/umd/types/nodes.d.ts.map +1 -1
  45. package/dist/umd/types/utils.d.ts.map +1 -1
  46. package/dist/umd/utils/edges/bezier-edge.d.ts +23 -0
  47. package/dist/umd/utils/edges/bezier-edge.d.ts.map +1 -1
  48. package/dist/umd/utils/edges/general.d.ts +23 -5
  49. package/dist/umd/utils/edges/general.d.ts.map +1 -1
  50. package/dist/umd/utils/edges/positions.d.ts.map +1 -1
  51. package/dist/umd/utils/edges/smoothstep-edge.d.ts +22 -0
  52. package/dist/umd/utils/edges/smoothstep-edge.d.ts.map +1 -1
  53. package/dist/umd/utils/edges/straight-edge.d.ts +20 -0
  54. package/dist/umd/utils/edges/straight-edge.d.ts.map +1 -1
  55. package/dist/umd/utils/general.d.ts +19 -2
  56. package/dist/umd/utils/general.d.ts.map +1 -1
  57. package/dist/umd/utils/graph.d.ts +61 -6
  58. package/dist/umd/utils/graph.d.ts.map +1 -1
  59. package/dist/umd/utils/store.d.ts +4 -4
  60. package/dist/umd/utils/store.d.ts.map +1 -1
  61. package/dist/umd/xyminimap/index.d.ts.map +1 -1
  62. package/dist/umd/xyresizer/XYResizer.d.ts +46 -0
  63. package/dist/umd/xyresizer/XYResizer.d.ts.map +1 -0
  64. package/dist/umd/xyresizer/index.d.ts +3 -0
  65. package/dist/umd/xyresizer/index.d.ts.map +1 -0
  66. package/dist/umd/xyresizer/types.d.ts +26 -0
  67. package/dist/umd/xyresizer/types.d.ts.map +1 -0
  68. package/dist/umd/xyresizer/utils.d.ts +75 -0
  69. package/dist/umd/xyresizer/utils.d.ts.map +1 -0
  70. package/package.json +4 -4
@@ -23,7 +23,6 @@ export type NodeBase<T = any, U extends string | undefined = string | undefined>
23
23
  extent?: 'parent' | CoordinateExtent;
24
24
  expandParent?: boolean;
25
25
  ariaLabel?: string;
26
- focusable?: boolean;
27
26
  origin?: NodeOrigin;
28
27
  handles?: NodeHandle[];
29
28
  computed?: {
@@ -35,6 +34,10 @@ export type NodeBase<T = any, U extends string | undefined = string | undefined>
35
34
  z?: number;
36
35
  handleBounds?: NodeHandleBounds;
37
36
  isParent?: boolean;
37
+ /** Holds a reference to the original node object provided by the user
38
+ * (which may lack some fields, like `computed` or `[internalSymbol]`. Used
39
+ * as an optimization to avoid certain operations. */
40
+ userProvidedNode: NodeBase<T, U>;
38
41
  };
39
42
  };
40
43
  export type NodeProps<T = any> = {
@@ -45,7 +48,8 @@ export type NodeProps<T = any> = {
45
48
  selected: NodeBase['selected'];
46
49
  isConnectable: NodeBase['connectable'];
47
50
  zIndex: NodeBase['zIndex'];
48
- positionAbsolute: XYPosition;
51
+ positionAbsoluteX: number;
52
+ positionAbsoluteY: number;
49
53
  width?: number;
50
54
  height?: number;
51
55
  dragging: boolean;
@@ -85,4 +89,5 @@ export type OnNodeDrag = (event: MouseEvent, node: NodeBase, nodes: NodeBase[])
85
89
  export type OnSelectionDrag = (event: MouseEvent, nodes: NodeBase[]) => void;
86
90
  export type NodeHandle = Optional<HandleElement, 'width' | 'height'>;
87
91
  export type Align = 'center' | 'start' | 'end';
92
+ export type NodeLookup<NodeType extends NodeBase = NodeBase> = Map<string, NodeType>;
88
93
  //# sourceMappingURL=nodes.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"nodes.d.ts","sourceRoot":"","sources":["../../src/types/nodes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"nodes.d.ts","sourceRoot":"","sources":["../../src/types/nodes.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/types/utils.ts"],"names":[],"mappings":"AAEA,oBAAY,QAAQ;IAClB,IAAI,SAAS;IACb,GAAG,QAAQ;IACX,KAAK,UAAU;IACf,MAAM,WAAW;CAClB;AAED,MAAM,MAAM,UAAU,GAAG;IACvB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,UAAU,GAAG;IAAE,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAErD,MAAM,MAAM,UAAU,GAAG;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,IAAI,GAAG,UAAU,GAAG,UAAU,CAAC;AAE3C,MAAM,MAAM,GAAG,GAAG,UAAU,GAAG;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;CACZ,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAEjD,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/types/utils.ts"],"names":[],"mappings":"AAAA,oBAAY,QAAQ;IAClB,IAAI,SAAS;IACb,GAAG,QAAQ;IACX,KAAK,UAAU;IACf,MAAM,WAAW;CAClB;AAED,MAAM,MAAM,UAAU,GAAG;IACvB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,UAAU,GAAG;IAAE,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAErD,MAAM,MAAM,UAAU,GAAG;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,IAAI,GAAG,UAAU,GAAG,UAAU,CAAC;AAE3C,MAAM,MAAM,GAAG,GAAG,UAAU,GAAG;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;CACZ,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAEjD,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC"}
@@ -26,5 +26,28 @@ export declare function getBezierEdgeCenter({ sourceX, sourceY, targetX, targetY
26
26
  targetControlX: number;
27
27
  targetControlY: number;
28
28
  }): [number, number, number, number];
29
+ /**
30
+ * Get a bezier path from source to target handle
31
+ * @param params.sourceX - The x position of the source handle
32
+ * @param params.sourceY - The y position of the source handle
33
+ * @param params.sourcePosition - The position of the source handle (default: Position.Bottom)
34
+ * @param params.targetX - The x position of the target handle
35
+ * @param params.targetY - The y position of the target handle
36
+ * @param params.targetPosition - The position of the target handle (default: Position.Top)
37
+ * @param params.curvature - The curvature of the bezier edge
38
+ * @returns A path string you can use in an SVG, the labelX and labelY position (center of path) and offsetX, offsetY between source handle and label
39
+ * @example
40
+ * const source = { x: 0, y: 20 };
41
+ const target = { x: 150, y: 100 };
42
+
43
+ const [path, labelX, labelY, offsetX, offsetY] = getBezierPath({
44
+ sourceX: source.x,
45
+ sourceY: source.y,
46
+ sourcePosition: Position.Right,
47
+ targetX: target.x,
48
+ targetY: target.y,
49
+ targetPosition: Position.Left,
50
+ });
51
+ */
29
52
  export declare function getBezierPath({ sourceX, sourceY, sourcePosition, targetX, targetY, targetPosition, curvature, }: GetBezierPathParams): [path: string, labelX: number, labelY: number, offsetX: number, offsetY: number];
30
53
  //# sourceMappingURL=bezier-edge.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"bezier-edge.d.ts","sourceRoot":"","sources":["../../../src/utils/edges/bezier-edge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,MAAM,MAAM,mBAAmB,GAAG;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,QAAQ,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,QAAQ,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,6BAA6B,GAAG;IAC1C,GAAG,EAAE,QAAQ,CAAC;IACd,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,CAAC,EAAE,MAAM,CAAC;CACX,CAAC;AAEF,wBAAgB,mBAAmB,CAAC,EAClC,OAAO,EACP,OAAO,EACP,OAAO,EACP,OAAO,EACP,cAAc,EACd,cAAc,EACd,cAAc,EACd,cAAc,GACf,EAAE;IACD,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;CACxB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CASnC;AAuBD,wBAAgB,aAAa,CAAC,EAC5B,OAAO,EACP,OAAO,EACP,cAAgC,EAChC,OAAO,EACP,OAAO,EACP,cAA6B,EAC7B,SAAgB,GACjB,EAAE,mBAAmB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAmCxG"}
1
+ {"version":3,"file":"bezier-edge.d.ts","sourceRoot":"","sources":["../../../src/utils/edges/bezier-edge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,MAAM,MAAM,mBAAmB,GAAG;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,QAAQ,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,QAAQ,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,6BAA6B,GAAG;IAC1C,GAAG,EAAE,QAAQ,CAAC;IACd,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,CAAC,EAAE,MAAM,CAAC;CACX,CAAC;AAEF,wBAAgB,mBAAmB,CAAC,EAClC,OAAO,EACP,OAAO,EACP,OAAO,EACP,OAAO,EACP,cAAc,EACd,cAAc,EACd,cAAc,EACd,cAAc,GACf,EAAE;IACD,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;CACxB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CASnC;AAuBD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,aAAa,CAAC,EAC5B,OAAO,EACP,OAAO,EACP,cAAgC,EAChC,OAAO,EACP,OAAO,EACP,cAA6B,EAC7B,SAAgB,GACjB,EAAE,mBAAmB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAmCxG"}
@@ -6,12 +6,14 @@ export declare function getEdgeCenter({ sourceX, sourceY, targetX, targetY, }: {
6
6
  targetX: number;
7
7
  targetY: number;
8
8
  }): [number, number, number, number];
9
- export type GroupedEdges<EdgeType extends EdgeBase> = {
10
- edges: EdgeType[];
11
- level: number;
12
- isMaxLevel: boolean;
9
+ export type GetEdgeZIndexParams = {
10
+ sourceNode: NodeBase;
11
+ targetNode: NodeBase;
12
+ selected?: boolean;
13
+ zIndex?: number;
14
+ elevateOnSelect?: boolean;
13
15
  };
14
- export declare function groupEdgesByZLevel<EdgeType extends EdgeBase>(edges: EdgeType[], nodeLookup: Map<string, NodeBase>, elevateEdgesOnSelect?: boolean): GroupedEdges<EdgeType>[];
16
+ export declare function getElevatedEdgeZIndex({ sourceNode, targetNode, selected, zIndex, elevateOnSelect, }: GetEdgeZIndexParams): number;
15
17
  type IsEdgeVisibleParams = {
16
18
  sourceNode: NodeBase;
17
19
  targetNode: NodeBase;
@@ -20,10 +22,26 @@ type IsEdgeVisibleParams = {
20
22
  transform: Transform;
21
23
  };
22
24
  export declare function isEdgeVisible({ sourceNode, targetNode, width, height, transform }: IsEdgeVisibleParams): boolean;
25
+ /**
26
+ * This util is a convenience function to add a new Edge to an array of edges
27
+ * @remarks It also performs some validation to make sure you don't add an invalid edge or duplicate an existing one.
28
+ * @public
29
+ * @param edgeParams - Either an Edge or a Connection you want to add
30
+ * @param edges - The array of all current edges
31
+ * @returns A new array of edges with the new edge added
32
+ */
23
33
  export declare const addEdgeBase: <EdgeType extends EdgeBase<any>>(edgeParams: Connection | EdgeType, edges: EdgeType[]) => EdgeType[];
24
34
  export type UpdateEdgeOptions = {
25
35
  shouldReplaceId?: boolean;
26
36
  };
37
+ /**
38
+ * A handy utility to update an existing Edge with new properties
39
+ * @param oldEdge - The edge you want to update
40
+ * @param newConnection - The new connection you want to update the edge with
41
+ * @param edges - The array of all current edges
42
+ * @param options.shouldReplaceId - should the id of the old edge be replaced with the new connection id
43
+ * @returns the updated edges array
44
+ */
27
45
  export declare const updateEdgeBase: <EdgeType extends EdgeBase<any>>(oldEdge: EdgeType, newConnection: Connection, edges: EdgeType[], options?: UpdateEdgeOptions) => EdgeType[];
28
46
  export {};
29
47
  //# sourceMappingURL=general.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"general.d.ts","sourceRoot":"","sources":["../../../src/utils/edges/general.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAA8C,MAAM,OAAO,CAAC;AAC1F,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAIjD,wBAAgB,aAAa,CAAC,EAC5B,OAAO,EACP,OAAO,EACP,OAAO,EACP,OAAO,GACR,EAAE;IACD,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAQnC;AAID,MAAM,MAAM,YAAY,CAAC,QAAQ,SAAS,QAAQ,IAAI;IACpD,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,wBAAgB,kBAAkB,CAAC,QAAQ,SAAS,QAAQ,EAC1D,KAAK,EAAE,QAAQ,EAAE,EACjB,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,EACjC,oBAAoB,UAAQ,GAC3B,YAAY,CAAC,QAAQ,CAAC,EAAE,CA6C1B;AAED,KAAK,mBAAmB,GAAG;IACzB,UAAU,EAAE,QAAQ,CAAC;IACrB,UAAU,EAAE,QAAQ,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,SAAS,CAAC;CACtB,CAAC;AAEF,wBAAgB,aAAa,CAAC,EAAE,UAAU,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,mBAAmB,GAAG,OAAO,CAmBhH;AAeD,eAAO,MAAM,WAAW,sGAiCvB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B,CAAC;AAEF,eAAO,MAAM,cAAc,qEAEV,UAAU,+BAEhB,iBAAiB,eA6B3B,CAAC"}
1
+ {"version":3,"file":"general.d.ts","sourceRoot":"","sources":["../../../src/utils/edges/general.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAA8C,MAAM,OAAO,CAAC;AAC1F,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAIjD,wBAAgB,aAAa,CAAC,EAC5B,OAAO,EACP,OAAO,EACP,OAAO,EACP,OAAO,GACR,EAAE;IACD,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAQnC;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,UAAU,EAAE,QAAQ,CAAC;IACrB,UAAU,EAAE,QAAQ,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B,CAAC;AAEF,wBAAgB,qBAAqB,CAAC,EACpC,UAAU,EACV,UAAU,EACV,QAAgB,EAChB,MAAU,EACV,eAAuB,GACxB,EAAE,mBAAmB,GAAG,MAAM,CAS9B;AAED,KAAK,mBAAmB,GAAG;IACzB,UAAU,EAAE,QAAQ,CAAC;IACrB,UAAU,EAAE,QAAQ,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,SAAS,CAAC;CACtB,CAAC;AAEF,wBAAgB,aAAa,CAAC,EAAE,UAAU,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,mBAAmB,GAAG,OAAO,CAmBhH;AAeD;;;;;;;GAOG;AACH,eAAO,MAAM,WAAW,sGAiCvB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,cAAc,qEAEV,UAAU,+BAEhB,iBAAiB,eA6B3B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"positions.d.ts","sourceRoot":"","sources":["../../../src/utils/edges/positions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAAgC,MAAM,mBAAmB,CAAC;AAK3E,MAAM,MAAM,qBAAqB,GAAG;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,QAAQ,CAAC;IACrB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,UAAU,EAAE,QAAQ,CAAC;IACrB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,cAAc,EAAE,cAAc,CAAC;IAC/B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,wBAAgB,eAAe,CAAC,MAAM,EAAE,qBAAqB,GAAG,YAAY,GAAG,IAAI,CA0ClF"}
1
+ {"version":3,"file":"positions.d.ts","sourceRoot":"","sources":["../../../src/utils/edges/positions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAAc,MAAM,mBAAmB,CAAC;AAKzD,MAAM,MAAM,qBAAqB,GAAG;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,QAAQ,CAAC;IACrB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,UAAU,EAAE,QAAQ,CAAC;IACrB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,cAAc,EAAE,cAAc,CAAC;IAC/B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAMF,wBAAgB,eAAe,CAAC,MAAM,EAAE,qBAAqB,GAAG,YAAY,GAAG,IAAI,CA6ClF"}
@@ -11,5 +11,27 @@ export interface GetSmoothStepPathParams {
11
11
  centerY?: number;
12
12
  offset?: number;
13
13
  }
14
+ /**
15
+ * Get a smooth step path from source to target handle
16
+ * @param params.sourceX - The x position of the source handle
17
+ * @param params.sourceY - The y position of the source handle
18
+ * @param params.sourcePosition - The position of the source handle (default: Position.Bottom)
19
+ * @param params.targetX - The x position of the target handle
20
+ * @param params.targetY - The y position of the target handle
21
+ * @param params.targetPosition - The position of the target handle (default: Position.Top)
22
+ * @returns A path string you can use in an SVG, the labelX and labelY position (center of path) and offsetX, offsetY between source handle and label
23
+ * @example
24
+ * const source = { x: 0, y: 20 };
25
+ const target = { x: 150, y: 100 };
26
+
27
+ const [path, labelX, labelY, offsetX, offsetY] = getSmoothStepPath({
28
+ sourceX: source.x,
29
+ sourceY: source.y,
30
+ sourcePosition: Position.Right,
31
+ targetX: target.x,
32
+ targetY: target.y,
33
+ targetPosition: Position.Left,
34
+ });
35
+ */
14
36
  export declare function getSmoothStepPath({ sourceX, sourceY, sourcePosition, targetX, targetY, targetPosition, borderRadius, centerX, centerY, offset, }: GetSmoothStepPathParams): [path: string, labelX: number, labelY: number, offsetX: number, offsetY: number];
15
37
  //# sourceMappingURL=smoothstep-edge.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"smoothstep-edge.d.ts","sourceRoot":"","sources":["../../../src/utils/edges/smoothstep-edge.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAmB,MAAM,aAAa,CAAC;AAExD,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,QAAQ,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,QAAQ,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAkLD,wBAAgB,iBAAiB,CAAC,EAChC,OAAO,EACP,OAAO,EACP,cAAgC,EAChC,OAAO,EACP,OAAO,EACP,cAA6B,EAC7B,YAAgB,EAChB,OAAO,EACP,OAAO,EACP,MAAW,GACZ,EAAE,uBAAuB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAyB5G"}
1
+ {"version":3,"file":"smoothstep-edge.d.ts","sourceRoot":"","sources":["../../../src/utils/edges/smoothstep-edge.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAmB,MAAM,aAAa,CAAC;AAExD,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,QAAQ,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,QAAQ,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAkLD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,iBAAiB,CAAC,EAChC,OAAO,EACP,OAAO,EACP,cAAgC,EAChC,OAAO,EACP,OAAO,EACP,cAA6B,EAC7B,YAAgB,EAChB,OAAO,EACP,OAAO,EACP,MAAW,GACZ,EAAE,uBAAuB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAyB5G"}
@@ -4,5 +4,25 @@ export type GetStraightPathParams = {
4
4
  targetX: number;
5
5
  targetY: number;
6
6
  };
7
+ /**
8
+ * Get a straight path from source to target handle
9
+ * @param params.sourceX - The x position of the source handle
10
+ * @param params.sourceY - The y position of the source handle
11
+ * @param params.targetX - The x position of the target handle
12
+ * @param params.targetY - The y position of the target handle
13
+ * @returns A path string you can use in an SVG, the labelX and labelY position (center of path) and offsetX, offsetY between source handle and label
14
+ * @example
15
+ * const source = { x: 0, y: 20 };
16
+ const target = { x: 150, y: 100 };
17
+
18
+ const [path, labelX, labelY, offsetX, offsetY] = getStraightPath({
19
+ sourceX: source.x,
20
+ sourceY: source.y,
21
+ sourcePosition: Position.Right,
22
+ targetX: target.x,
23
+ targetY: target.y,
24
+ targetPosition: Position.Left,
25
+ });
26
+ */
7
27
  export declare function getStraightPath({ sourceX, sourceY, targetX, targetY, }: GetStraightPathParams): [path: string, labelX: number, labelY: number, offsetX: number, offsetY: number];
8
28
  //# sourceMappingURL=straight-edge.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"straight-edge.d.ts","sourceRoot":"","sources":["../../../src/utils/edges/straight-edge.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,qBAAqB,GAAG;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,wBAAgB,eAAe,CAAC,EAC9B,OAAO,EACP,OAAO,EACP,OAAO,EACP,OAAO,GACR,EAAE,qBAAqB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAS1G"}
1
+ {"version":3,"file":"straight-edge.d.ts","sourceRoot":"","sources":["../../../src/utils/edges/straight-edge.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,qBAAqB,GAAG;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,eAAe,CAAC,EAC9B,OAAO,EACP,OAAO,EACP,OAAO,EACP,OAAO,GACR,EAAE,qBAAqB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAS1G"}
@@ -1,4 +1,5 @@
1
- import type { Dimensions, XYPosition, CoordinateExtent, Box, Rect, NodeBase, NodeOrigin, SnapGrid, Transform, Viewport } from '../types';
1
+ import type { Dimensions, XYPosition, CoordinateExtent, Box, Rect, NodeBase, NodeOrigin, SnapGrid, Transform } from '../types';
2
+ import { type Viewport } from '../types';
2
3
  export declare const clamp: (val: number, min?: number, max?: number) => number;
3
4
  export declare const clampPosition: (position: XYPosition | undefined, extent: CoordinateExtent) => {
4
5
  x: number;
@@ -22,9 +23,25 @@ export declare const getPositionWithOrigin: ({ x, y, width, height, origin, }: {
22
23
  height: number;
23
24
  origin?: NodeOrigin | undefined;
24
25
  }) => XYPosition;
25
- export declare function snapPosition(position: XYPosition, snapGrid?: SnapGrid): XYPosition;
26
+ export declare const snapPosition: (position: XYPosition, snapGrid?: SnapGrid) => XYPosition;
26
27
  export declare const pointToRendererPoint: ({ x, y }: XYPosition, [tx, ty, tScale]: Transform, snapToGrid?: boolean, snapGrid?: SnapGrid) => XYPosition;
27
28
  export declare const rendererPointToPoint: ({ x, y }: XYPosition, [tx, ty, tScale]: Transform) => XYPosition;
29
+ /**
30
+ * Returns a viewport that encloses the given bounds with optional padding.
31
+ * @public
32
+ * @remarks You can determine bounds of nodes with {@link getNodesBounds} and {@link getBoundsOfRects}
33
+ * @param bounds - Bounds to fit inside viewport
34
+ * @param width - Width of the viewport
35
+ * @param height - Height of the viewport
36
+ * @param minZoom - Minimum zoom level of the resulting viewport
37
+ * @param maxZoom - Maximum zoom level of the resulting viewport
38
+ * @param padding - Optional padding around the bounds
39
+ * @returns A transforned {@link Viewport} that encloses the given bounds which you can pass to e.g. {@link setViewport}
40
+ * @example
41
+ * const { x, y, zoom } = getViewportForBounds(
42
+ { x: 0, y: 0, width: 100, height: 100},
43
+ 1200, 800, 0.5, 2);
44
+ */
28
45
  export declare const getViewportForBounds: (bounds: Rect, width: number, height: number, minZoom: number, maxZoom: number, padding: number) => Viewport;
29
46
  export declare const isMacOs: () => boolean;
30
47
  //# sourceMappingURL=general.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"general.d.ts","sourceRoot":"","sources":["../../src/utils/general.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EACV,UAAU,EACV,gBAAgB,EAChB,GAAG,EACH,IAAI,EACJ,QAAQ,EACR,UAAU,EACV,QAAQ,EACR,SAAS,EACT,QAAQ,EACT,MAAM,UAAU,CAAC;AAGlB,eAAO,MAAM,KAAK,QAAS,MAAM,iCAAqB,MAA2C,CAAC;AAElG,eAAO,MAAM,aAAa;;;CAGxB,CAAC;AAcH,eAAO,MAAM,WAAW,QAAS,UAAU,UAAU,UAAU,KAAG,MAAM,EAKvE,CAAC;AAEF,eAAO,MAAM,gBAAgB,SAAU,GAAG,QAAQ,GAAG,KAAG,GAKtD,CAAC;AAEH,eAAO,MAAM,SAAS,4BAA6B,IAAI,KAAG,GAKxD,CAAC;AAEH,eAAO,MAAM,SAAS,qBAAsB,GAAG,KAAG,IAKhD,CAAC;AAEH,eAAO,MAAM,UAAU,SAAU,QAAQ,8BAAoC,IAQ5E,CAAC;AAEF,eAAO,MAAM,SAAS,SAAU,QAAQ,8BAAoC,GAQ3E,CAAC;AAEF,eAAO,MAAM,gBAAgB,UAAW,IAAI,SAAS,IAAI,KAAG,IACK,CAAC;AAElE,eAAO,MAAM,kBAAkB,UAAW,IAAI,SAAS,IAAI,KAAG,MAK7D,CAAC;AAGF,eAAO,MAAM,YAAY,QAAS,GAAG,gBACkD,CAAC;AAGxF,eAAO,MAAM,SAAS,MAAO,GAAG,gBAA0C,CAAC;AAI3E,eAAO,MAAM,OAAO,OAAQ,MAAM,WAAW,MAAM,SAIlD,CAAC;AAEF,eAAO,MAAM,qBAAqB;OAO7B,MAAM;OACN,MAAM;WACF,MAAM;YACL,MAAM;;MAEZ,UASH,CAAC;AAEF,wBAAgB,YAAY,CAAC,QAAQ,EAAE,UAAU,EAAE,QAAQ,GAAE,QAAiB,GAAG,UAAU,CAK1F;AAED,eAAO,MAAM,oBAAoB,aACrB,UAAU,6EAInB,UAOF,CAAC;AAEF,eAAO,MAAM,oBAAoB,aAAc,UAAU,kCAAgC,UAKxF,CAAC;AAEF,eAAO,MAAM,oBAAoB,WACvB,IAAI,SACL,MAAM,UACL,MAAM,WACL,MAAM,WACN,MAAM,WACN,MAAM,KACd,QAWF,CAAC;AAEF,eAAO,MAAM,OAAO,eAAsF,CAAC"}
1
+ {"version":3,"file":"general.d.ts","sourceRoot":"","sources":["../../src/utils/general.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EACV,UAAU,EACV,gBAAgB,EAChB,GAAG,EACH,IAAI,EACJ,QAAQ,EACR,UAAU,EACV,QAAQ,EACR,SAAS,EACV,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,UAAU,CAAC;AAGzC,eAAO,MAAM,KAAK,QAAS,MAAM,iCAAqB,MAA2C,CAAC;AAElG,eAAO,MAAM,aAAa;;;CAGxB,CAAC;AAoBH,eAAO,MAAM,WAAW,QAAS,UAAU,UAAU,UAAU,KAAG,MAAM,EAKvE,CAAC;AAEF,eAAO,MAAM,gBAAgB,SAAU,GAAG,QAAQ,GAAG,KAAG,GAKtD,CAAC;AAEH,eAAO,MAAM,SAAS,4BAA6B,IAAI,KAAG,GAKxD,CAAC;AAEH,eAAO,MAAM,SAAS,qBAAsB,GAAG,KAAG,IAKhD,CAAC;AAEH,eAAO,MAAM,UAAU,SAAU,QAAQ,8BAAoC,IAQ5E,CAAC;AAEF,eAAO,MAAM,SAAS,SAAU,QAAQ,8BAAoC,GAQ3E,CAAC;AAEF,eAAO,MAAM,gBAAgB,UAAW,IAAI,SAAS,IAAI,KAAG,IACK,CAAC;AAElE,eAAO,MAAM,kBAAkB,UAAW,IAAI,SAAS,IAAI,KAAG,MAK7D,CAAC;AAGF,eAAO,MAAM,YAAY,QAAS,GAAG,gBACkD,CAAC;AAGxF,eAAO,MAAM,SAAS,MAAO,GAAG,gBAA0C,CAAC;AAI3E,eAAO,MAAM,OAAO,OAAQ,MAAM,WAAW,MAAM,SAIlD,CAAC;AAEF,eAAO,MAAM,qBAAqB;OAO7B,MAAM;OACN,MAAM;WACF,MAAM;YACL,MAAM;;MAEZ,UASH,CAAC;AAEF,eAAO,MAAM,YAAY,aAAc,UAAU,0BAAgC,UAKhF,CAAC;AAEF,eAAO,MAAM,oBAAoB,aACrB,UAAU,6EAInB,UAOF,CAAC;AAEF,eAAO,MAAM,oBAAoB,aAAc,UAAU,kCAAgC,UAKxF,CAAC;AAEF;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,oBAAoB,WACvB,IAAI,SACL,MAAM,UACL,MAAM,WACL,MAAM,WACN,MAAM,WACN,MAAM,KACd,QAWF,CAAC;AAEF,eAAO,MAAM,OAAO,eAAsF,CAAC"}
@@ -1,30 +1,85 @@
1
- import { type Transform, type XYPosition, type Rect, type NodeOrigin, type NodeBase, type EdgeBase, type FitViewParamsBase, type FitViewOptionsBase, NodeDragItem, CoordinateExtent, OnError } from '../types';
1
+ import { type Transform, type XYPosition, type Rect, type NodeOrigin, type NodeBase, type EdgeBase, type FitViewParamsBase, type FitViewOptionsBase, NodeDragItem, CoordinateExtent, OnError, OnBeforeDelete } from '../types';
2
+ /**
3
+ * Test whether an object is useable as an Edge
4
+ * @public
5
+ * @remarks In TypeScript this is a type guard that will narrow the type of whatever you pass in to Edge if it returns true
6
+ * @param element - The element to test
7
+ * @returns A boolean indicating whether the element is an Edge
8
+ */
2
9
  export declare const isEdgeBase: <EdgeType extends EdgeBase<any> = EdgeBase<any>>(element: any) => element is EdgeType;
10
+ /**
11
+ * Test whether an object is useable as a Node
12
+ * @public
13
+ * @remarks In TypeScript this is a type guard that will narrow the type of whatever you pass in to Node if it returns true
14
+ * @param element - The element to test
15
+ * @returns A boolean indicating whether the element is an Node
16
+ */
3
17
  export declare const isNodeBase: <NodeType extends NodeBase<any, string | undefined> = NodeBase<any, string | undefined>>(element: any) => element is NodeType;
18
+ /**
19
+ * Pass in a node, and get connected nodes where edge.source === node.id
20
+ * @public
21
+ * @param node - The node to get the connected nodes from
22
+ * @param nodes - The array of all nodes
23
+ * @param edges - The array of all edges
24
+ * @returns An array of nodes that are connected over eges where the source is the given node
25
+ */
4
26
  export declare const getOutgoersBase: <NodeType extends NodeBase<any, string | undefined> = NodeBase<any, string | undefined>, EdgeType extends EdgeBase<any> = EdgeBase<any>>(node: NodeType | {
5
27
  id: string;
6
28
  }, nodes: NodeType[], edges: EdgeType[]) => NodeType[];
29
+ /**
30
+ * Pass in a node, and get connected nodes where edge.target === node.id
31
+ * @public
32
+ * @param node - The node to get the connected nodes from
33
+ * @param nodes - The array of all nodes
34
+ * @param edges - The array of all edges
35
+ * @returns An array of nodes that are connected over eges where the target is the given node
36
+ */
7
37
  export declare const getIncomersBase: <NodeType extends NodeBase<any, string | undefined> = NodeBase<any, string | undefined>, EdgeType extends EdgeBase<any> = EdgeBase<any>>(node: NodeType | {
8
38
  id: string;
9
39
  }, nodes: NodeType[], edges: EdgeType[]) => NodeType[];
10
40
  export declare const getNodePositionWithOrigin: (node: NodeBase | undefined, nodeOrigin?: NodeOrigin) => XYPosition & {
11
41
  positionAbsolute: XYPosition;
12
42
  };
43
+ /**
44
+ * Determines a bounding box that contains all given nodes in an array
45
+ * @public
46
+ * @remarks Useful when combined with {@link getViewportForBounds} to calculate the correct transform to fit the given nodes in a viewport.
47
+ * @param nodes - Nodes to calculate the bounds for
48
+ * @param nodeOrigin - Origin of the nodes: [0, 0] - top left, [0.5, 0.5] - center
49
+ * @returns Bounding box enclosing all nodes
50
+ */
13
51
  export declare const getNodesBounds: (nodes: NodeBase[], nodeOrigin?: NodeOrigin) => Rect;
14
52
  export declare const getNodesInside: <NodeType extends NodeBase<any, string | undefined>>(nodes: NodeType[], rect: Rect, [tx, ty, tScale]?: Transform, partially?: boolean, excludeNonSelectableNodes?: boolean, nodeOrigin?: NodeOrigin) => NodeType[];
53
+ /**
54
+ * Get all connecting edges for a given set of nodes
55
+ * @param nodes - Nodes you want to get the connected edges for
56
+ * @param edges - All edges
57
+ * @returns Array of edges that connect any of the given nodes with each other
58
+ */
15
59
  export declare const getConnectedEdgesBase: <NodeType extends NodeBase<any, string | undefined> = NodeBase<any, string | undefined>, EdgeType extends EdgeBase<any> = EdgeBase<any>>(nodes: NodeType[], edges: EdgeType[]) => EdgeType[];
16
60
  export declare function fitView<Params extends FitViewParamsBase<NodeBase>, Options extends FitViewOptionsBase<NodeBase>>({ nodes, width, height, panZoom, minZoom, maxZoom, nodeOrigin }: Params, options?: Options): boolean;
17
61
  export declare function calcNextPosition<NodeType extends NodeBase>(node: NodeDragItem | NodeType, nextPosition: XYPosition, nodes: NodeType[], nodeExtent?: CoordinateExtent, nodeOrigin?: NodeOrigin, onError?: OnError): {
18
62
  position: XYPosition;
19
63
  positionAbsolute: XYPosition;
20
64
  };
21
- export declare function getElementsToRemove<NodeType extends NodeBase = NodeBase, EdgeType extends EdgeBase = EdgeBase>({ nodesToRemove, edgesToRemove, nodes, edges, }: {
65
+ /**
66
+ * Pass in nodes & edges to delete, get arrays of nodes and edges that actually can be deleted
67
+ * @internal
68
+ * @param param.nodesToRemove - The nodes to remove
69
+ * @param param.edgesToRemove - The edges to remove
70
+ * @param param.nodes - All nodes
71
+ * @param param.edges - All edges
72
+ * @param param.onBeforeDelete - Callback to check which nodes and edges can be deleted
73
+ * @returns nodes: nodes that can be deleted, edges: edges that can be deleted
74
+ */
75
+ export declare function getElementsToRemove<NodeType extends NodeBase = NodeBase, EdgeType extends EdgeBase = EdgeBase>({ nodesToRemove, edgesToRemove, nodes, edges, onBeforeDelete, }: {
22
76
  nodesToRemove: Partial<NodeType>[];
23
77
  edgesToRemove: Partial<EdgeType>[];
24
78
  nodes: NodeType[];
25
79
  edges: EdgeType[];
26
- }): {
27
- matchingNodes: NodeType[];
28
- matchingEdges: EdgeType[];
29
- };
80
+ onBeforeDelete?: OnBeforeDelete;
81
+ }): Promise<{
82
+ nodes: NodeType[];
83
+ edges: EdgeType[];
84
+ }>;
30
85
  //# sourceMappingURL=graph.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"graph.d.ts","sourceRoot":"","sources":["../../src/utils/graph.ts"],"names":[],"mappings":"AAYA,OAAO,EACL,KAAK,SAAS,EACd,KAAK,UAAU,EACf,KAAK,IAAI,EACT,KAAK,UAAU,EACf,KAAK,QAAQ,EACb,KAAK,QAAQ,EACb,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,YAAY,EACZ,gBAAgB,EAChB,OAAO,EACR,MAAM,UAAU,CAAC;AAGlB,eAAO,MAAM,UAAU,4DAAmD,GAAG,wBACd,CAAC;AAEhE,eAAO,MAAM,UAAU,oGAAmD,GAAG,wBACR,CAAC;AAEtE,eAAO,MAAM,eAAe;QACH,MAAM;sDAgB9B,CAAC;AAEF,eAAO,MAAM,eAAe;QACH,MAAM;sDAe9B,CAAC;AAEF,eAAO,MAAM,yBAAyB,SAC9B,QAAQ,GAAG,SAAS,8BAEzB,UAAU,GAAG;IAAE,gBAAgB,EAAE,UAAU,CAAA;CA6B7C,CAAC;AAEF,eAAO,MAAM,cAAc,UAAW,QAAQ,EAAE,8BAAoC,IAsBnF,CAAC;AAEF,eAAO,MAAM,cAAc,gFAEnB,IAAI,gIAqCX,CAAC;AAEF,eAAO,MAAM,qBAAqB,8LAUjC,CAAC;AAEF,wBAAgB,OAAO,CAAC,MAAM,SAAS,iBAAiB,CAAC,QAAQ,CAAC,EAAE,OAAO,SAAS,kBAAkB,CAAC,QAAQ,CAAC,EAC9G,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,UAAmB,EAAE,EAAE,MAAM,EAChF,OAAO,CAAC,EAAE,OAAO,WA8BlB;AASD,wBAAgB,gBAAgB,CAAC,QAAQ,SAAS,QAAQ,EACxD,IAAI,EAAE,YAAY,GAAG,QAAQ,EAC7B,YAAY,EAAE,UAAU,EACxB,KAAK,EAAE,QAAQ,EAAE,EACjB,UAAU,CAAC,EAAE,gBAAgB,EAC7B,UAAU,GAAE,UAAmB,EAC/B,OAAO,CAAC,EAAE,OAAO,GAChB;IAAE,QAAQ,EAAE,UAAU,CAAC;IAAC,gBAAgB,EAAE,UAAU,CAAA;CAAE,CAoDxD;AAKD,wBAAgB,mBAAmB,CAAC,QAAQ,SAAS,QAAQ,GAAG,QAAQ,EAAE,QAAQ,SAAS,QAAQ,GAAG,QAAQ,EAAE,EAC9G,aAAa,EACb,aAAa,EACb,KAAK,EACL,KAAK,GACN,EAAE;IACD,aAAa,EAAE,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;IACnC,aAAa,EAAE,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;IACnC,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,KAAK,EAAE,QAAQ,EAAE,CAAC;CACnB,GAAG;IACF,aAAa,EAAE,QAAQ,EAAE,CAAC;IAC1B,aAAa,EAAE,QAAQ,EAAE,CAAC;CAC3B,CA4BA"}
1
+ {"version":3,"file":"graph.d.ts","sourceRoot":"","sources":["../../src/utils/graph.ts"],"names":[],"mappings":"AAYA,OAAO,EACL,KAAK,SAAS,EACd,KAAK,UAAU,EACf,KAAK,IAAI,EACT,KAAK,UAAU,EACf,KAAK,QAAQ,EACb,KAAK,QAAQ,EACb,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,YAAY,EACZ,gBAAgB,EAChB,OAAO,EACP,cAAc,EACf,MAAM,UAAU,CAAC;AAGlB;;;;;;GAMG;AACH,eAAO,MAAM,UAAU,4DAAmD,GAAG,wBACd,CAAC;AAEhE;;;;;;GAMG;AACH,eAAO,MAAM,UAAU,oGAAmD,GAAG,wBACR,CAAC;AAEtE;;;;;;;GAOG;AACH,eAAO,MAAM,eAAe;QACH,MAAM;sDAgB9B,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,eAAe;QACH,MAAM;sDAe9B,CAAC;AAEF,eAAO,MAAM,yBAAyB,SAC9B,QAAQ,GAAG,SAAS,8BAEzB,UAAU,GAAG;IAAE,gBAAgB,EAAE,UAAU,CAAA;CA6B7C,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,cAAc,UAAW,QAAQ,EAAE,8BAAoC,IAsBnF,CAAC;AAEF,eAAO,MAAM,cAAc,gFAEnB,IAAI,gIAqCX,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,8LAUjC,CAAC;AAEF,wBAAgB,OAAO,CAAC,MAAM,SAAS,iBAAiB,CAAC,QAAQ,CAAC,EAAE,OAAO,SAAS,kBAAkB,CAAC,QAAQ,CAAC,EAC9G,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,UAAmB,EAAE,EAAE,MAAM,EAChF,OAAO,CAAC,EAAE,OAAO,WA8BlB;AASD,wBAAgB,gBAAgB,CAAC,QAAQ,SAAS,QAAQ,EACxD,IAAI,EAAE,YAAY,GAAG,QAAQ,EAC7B,YAAY,EAAE,UAAU,EACxB,KAAK,EAAE,QAAQ,EAAE,EACjB,UAAU,CAAC,EAAE,gBAAgB,EAC7B,UAAU,GAAE,UAAmB,EAC/B,OAAO,CAAC,EAAE,OAAO,GAChB;IAAE,QAAQ,EAAE,UAAU,CAAC;IAAC,gBAAgB,EAAE,UAAU,CAAA;CAAE,CAoDxD;AAED;;;;;;;;;GASG;AACH,wBAAsB,mBAAmB,CAAC,QAAQ,SAAS,QAAQ,GAAG,QAAQ,EAAE,QAAQ,SAAS,QAAQ,GAAG,QAAQ,EAAE,EACpH,aAAkB,EAClB,aAAkB,EAClB,KAAK,EACL,KAAK,EACL,cAAc,GACf,EAAE;IACD,aAAa,EAAE,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;IACnC,aAAa,EAAE,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;IACnC,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC,GAAG,OAAO,CAAC;IACV,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,KAAK,EAAE,QAAQ,EAAE,CAAC;CACnB,CAAC,CA+CD"}
@@ -1,4 +1,4 @@
1
- import { NodeBase, CoordinateExtent, Dimensions, NodeDimensionUpdate, NodeOrigin, PanZoomInstance, Transform, XYPosition, ConnectionLookup, EdgeBase } from '../types';
1
+ import { NodeBase, CoordinateExtent, Dimensions, NodeDimensionUpdate, NodeOrigin, PanZoomInstance, Transform, XYPosition, ConnectionLookup, EdgeBase, EdgeLookup } from '../types';
2
2
  type ParentNodes = Record<string, boolean>;
3
3
  export declare function updateAbsolutePositions<NodeType extends NodeBase>(nodes: NodeType[], nodeLookup: Map<string, NodeType>, nodeOrigin?: NodeOrigin, parentNodes?: ParentNodes): NodeType[];
4
4
  type UpdateNodesOptions<NodeType extends NodeBase> = {
@@ -6,8 +6,8 @@ type UpdateNodesOptions<NodeType extends NodeBase> = {
6
6
  elevateNodesOnSelect?: boolean;
7
7
  defaults?: Partial<NodeType>;
8
8
  };
9
- export declare function updateNodes<NodeType extends NodeBase>(nodes: NodeType[], nodeLookup: Map<string, NodeType>, options?: UpdateNodesOptions<NodeType>): NodeType[];
10
- export declare function updateNodeDimensions(updates: Map<string, NodeDimensionUpdate>, nodes: NodeBase[], nodeLookup: Map<string, NodeBase>, domNode: HTMLElement | null, nodeOrigin?: NodeOrigin, onUpdate?: (id: string, dimensions: Dimensions) => void): NodeBase[] | null;
9
+ export declare function adoptUserProvidedNodes<NodeType extends NodeBase>(nodes: NodeType[], nodeLookup: Map<string, NodeType>, options?: UpdateNodesOptions<NodeType>): NodeType[];
10
+ export declare function updateNodeDimensions<NodeType extends NodeBase>(updates: Map<string, NodeDimensionUpdate>, nodes: NodeType[], nodeLookup: Map<string, NodeType>, domNode: HTMLElement | null, nodeOrigin?: NodeOrigin, onUpdate?: (id: string, dimensions: Dimensions) => void): NodeType[] | null;
11
11
  export declare function panBy({ delta, panZoom, transform, translateExtent, width, height, }: {
12
12
  delta: XYPosition;
13
13
  panZoom: PanZoomInstance | null;
@@ -16,6 +16,6 @@ export declare function panBy({ delta, panZoom, transform, translateExtent, widt
16
16
  width: number;
17
17
  height: number;
18
18
  }): boolean;
19
- export declare function updateConnectionLookup(lookup: ConnectionLookup, edges: EdgeBase[]): ConnectionLookup;
19
+ export declare function updateConnectionLookup(connectionLookup: ConnectionLookup, edgeLookup: EdgeLookup, edges: EdgeBase[]): void;
20
20
  export {};
21
21
  //# sourceMappingURL=store.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/utils/store.ts"],"names":[],"mappings":"AACA,OAAO,EACL,QAAQ,EACR,gBAAgB,EAChB,UAAU,EACV,mBAAmB,EACnB,UAAU,EACV,eAAe,EACf,SAAS,EACT,UAAU,EAEV,gBAAgB,EAChB,QAAQ,EACT,MAAM,UAAU,CAAC;AAKlB,KAAK,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAE3C,wBAAgB,uBAAuB,CAAC,QAAQ,SAAS,QAAQ,EAC/D,KAAK,EAAE,QAAQ,EAAE,EACjB,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,EACjC,UAAU,GAAE,UAAmB,EAC/B,WAAW,CAAC,EAAE,WAAW,cAkC1B;AAED,KAAK,kBAAkB,CAAC,QAAQ,SAAS,QAAQ,IAAI;IACnD,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;CAC9B,CAAC;AAEF,wBAAgB,WAAW,CAAC,QAAQ,SAAS,QAAQ,EACnD,KAAK,EAAE,QAAQ,EAAE,EACjB,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,EACjC,OAAO,GAAE,kBAAkB,CAAC,QAAQ,CAInC,GACA,QAAQ,EAAE,CAwCZ;AA6BD,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,mBAAmB,CAAC,EACzC,KAAK,EAAE,QAAQ,EAAE,EACjB,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,EACjC,OAAO,EAAE,WAAW,GAAG,IAAI,EAC3B,UAAU,CAAC,EAAE,UAAU,EACvB,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,KAAK,IAAI,GACtD,QAAQ,EAAE,GAAG,IAAI,CAiDnB;AAED,wBAAgB,KAAK,CAAC,EACpB,KAAK,EACL,OAAO,EACP,SAAS,EACT,eAAe,EACf,KAAK,EACL,MAAM,GACP,EAAE;IACD,KAAK,EAAE,UAAU,CAAC;IAClB,OAAO,EAAE,eAAe,GAAG,IAAI,CAAC;IAChC,SAAS,EAAE,SAAS,CAAC;IACrB,eAAe,EAAE,gBAAgB,CAAC;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB,WAuBA;AAED,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,gBAAgB,EAAE,KAAK,EAAE,QAAQ,EAAE,oBAkBjF"}
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/utils/store.ts"],"names":[],"mappings":"AACA,OAAO,EACL,QAAQ,EACR,gBAAgB,EAChB,UAAU,EACV,mBAAmB,EACnB,UAAU,EACV,eAAe,EACf,SAAS,EACT,UAAU,EAEV,gBAAgB,EAChB,QAAQ,EACR,UAAU,EACX,MAAM,UAAU,CAAC;AAKlB,KAAK,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAE3C,wBAAgB,uBAAuB,CAAC,QAAQ,SAAS,QAAQ,EAC/D,KAAK,EAAE,QAAQ,EAAE,EACjB,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,EACjC,UAAU,GAAE,UAAmB,EAC/B,WAAW,CAAC,EAAE,WAAW,cAqC1B;AAED,KAAK,kBAAkB,CAAC,QAAQ,SAAS,QAAQ,IAAI;IACnD,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;CAC9B,CAAC;AAEF,wBAAgB,sBAAsB,CAAC,QAAQ,SAAS,QAAQ,EAC9D,KAAK,EAAE,QAAQ,EAAE,EACjB,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,EACjC,OAAO,GAAE,kBAAkB,CAAC,QAAQ,CAInC,GACA,QAAQ,EAAE,CA8CZ;AA6BD,wBAAgB,oBAAoB,CAAC,QAAQ,SAAS,QAAQ,EAC5D,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,mBAAmB,CAAC,EACzC,KAAK,EAAE,QAAQ,EAAE,EACjB,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,EACjC,OAAO,EAAE,WAAW,GAAG,IAAI,EAC3B,UAAU,CAAC,EAAE,UAAU,EACvB,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,KAAK,IAAI,GACtD,QAAQ,EAAE,GAAG,IAAI,CAiDnB;AAED,wBAAgB,KAAK,CAAC,EACpB,KAAK,EACL,OAAO,EACP,SAAS,EACT,eAAe,EACf,KAAK,EACL,MAAM,GACP,EAAE;IACD,KAAK,EAAE,UAAU,CAAC;IAClB,OAAO,EAAE,eAAe,GAAG,IAAI,CAAC;IAChC,SAAS,EAAE,SAAS,CAAC;IACrB,eAAe,EAAE,gBAAgB,CAAC;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB,WAuBA;AAED,wBAAgB,sBAAsB,CAAC,gBAAgB,EAAE,gBAAgB,EAAE,UAAU,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,QAkBnH"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/xyminimap/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAU,OAAO,EAAE,MAAM,cAAc,CAAC;AAE/C,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAE7E,MAAM,MAAM,iBAAiB,GAAG;IAC9B,MAAM,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,IAAI,CAAC;IAC1C,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,OAAO,EAAE,OAAO,OAAO,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,OAAO,EAAE,eAAe,CAAC;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,EAAE,MAAM,SAAS,CAAC;IAC9B,YAAY,EAAE,MAAM,MAAM,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,eAAe,EAAE,gBAAgB,CAAC;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,wBAAgB,SAAS,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,EAAE,eAAe;4FAWtF,eAAe;;;EAgEnB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/xyminimap/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAU,OAAO,EAAE,MAAM,cAAc,CAAC;AAE/C,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAE7E,MAAM,MAAM,iBAAiB,GAAG;IAC9B,MAAM,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,IAAI,CAAC;IAC1C,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,OAAO,EAAE,OAAO,OAAO,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,OAAO,EAAE,eAAe,CAAC;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,EAAE,MAAM,SAAS,CAAC;IAC9B,YAAY,EAAE,MAAM,MAAM,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,eAAe,EAAE,gBAAgB,CAAC;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,wBAAgB,SAAS,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,EAAE,eAAe;4FAWtF,eAAe;;;EA+DnB"}
@@ -0,0 +1,46 @@
1
+ import type { NodeLookup, Transform } from '../types';
2
+ import type { OnResize, OnResizeEnd, OnResizeStart, ShouldResize, ControlPosition } from './types';
3
+ declare const initChange: {
4
+ x: number;
5
+ y: number;
6
+ width: number;
7
+ height: number;
8
+ isXPosChange: boolean;
9
+ isYPosChange: boolean;
10
+ isWidthChange: boolean;
11
+ isHeightChange: boolean;
12
+ };
13
+ export type XYResizerChange = typeof initChange;
14
+ type XYResizerParams = {
15
+ domNode: HTMLDivElement;
16
+ nodeId: string;
17
+ getStoreItems: () => {
18
+ nodeLookup: NodeLookup;
19
+ transform: Transform;
20
+ snapGrid?: [number, number];
21
+ snapToGrid: boolean;
22
+ };
23
+ onChange: (changes: XYResizerChange) => void;
24
+ onEnd?: () => void;
25
+ };
26
+ type XYResizerUpdateParams = {
27
+ controlPosition: ControlPosition;
28
+ boundaries: {
29
+ minWidth: number;
30
+ minHeight: number;
31
+ maxWidth: number;
32
+ maxHeight: number;
33
+ };
34
+ keepAspectRatio: boolean;
35
+ onResizeStart: OnResizeStart | undefined;
36
+ onResize: OnResize | undefined;
37
+ onResizeEnd: OnResizeEnd | undefined;
38
+ shouldResize: ShouldResize | undefined;
39
+ };
40
+ export type XYResizerInstance = {
41
+ update: (params: XYResizerUpdateParams) => void;
42
+ destroy: () => void;
43
+ };
44
+ export declare function XYResizer({ domNode, nodeId, getStoreItems, onChange }: XYResizerParams): XYResizerInstance;
45
+ export {};
46
+ //# sourceMappingURL=XYResizer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"XYResizer.d.ts","sourceRoot":"","sources":["../../src/xyresizer/XYResizer.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACtD,OAAO,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,aAAa,EAAmB,YAAY,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAWpH,QAAA,MAAM,UAAU;;;;;;;;;CASf,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,OAAO,UAAU,CAAC;AAEhD,KAAK,eAAe,GAAG;IACrB,OAAO,EAAE,cAAc,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM;QACnB,UAAU,EAAE,UAAU,CAAC;QACvB,SAAS,EAAE,SAAS,CAAC;QACrB,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC5B,UAAU,EAAE,OAAO,CAAC;KACrB,CAAC;IACF,QAAQ,EAAE,CAAC,OAAO,EAAE,eAAe,KAAK,IAAI,CAAC;IAC7C,KAAK,CAAC,EAAE,MAAM,IAAI,CAAC;CACpB,CAAC;AAEF,KAAK,qBAAqB,GAAG;IAC3B,eAAe,EAAE,eAAe,CAAC;IACjC,UAAU,EAAE;QACV,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,eAAe,EAAE,OAAO,CAAC;IACzB,aAAa,EAAE,aAAa,GAAG,SAAS,CAAC;IACzC,QAAQ,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC/B,WAAW,EAAE,WAAW,GAAG,SAAS,CAAC;IACrC,YAAY,EAAE,YAAY,GAAG,SAAS,CAAC;CACxC,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,MAAM,EAAE,CAAC,MAAM,EAAE,qBAAqB,KAAK,IAAI,CAAC;IAChD,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB,CAAC;AAEF,wBAAgB,SAAS,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,EAAE,eAAe,GAAG,iBAAiB,CA6H1G"}
@@ -0,0 +1,3 @@
1
+ export * from './types';
2
+ export * from './XYResizer';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/xyresizer/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC"}
@@ -0,0 +1,26 @@
1
+ import type { D3DragEvent, SubjectPosition } from 'd3-drag';
2
+ export type XYResizerParams = {
3
+ x: number;
4
+ y: number;
5
+ width: number;
6
+ height: number;
7
+ };
8
+ export type XYResizerParamsWithDirection = XYResizerParams & {
9
+ direction: number[];
10
+ };
11
+ export type ControlLinePosition = 'top' | 'bottom' | 'left' | 'right';
12
+ export type ControlPosition = ControlLinePosition | 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right';
13
+ export declare enum ResizeControlVariant {
14
+ Line = "line",
15
+ Handle = "handle"
16
+ }
17
+ export declare const XY_RESIZER_HANDLE_POSITIONS: ControlPosition[];
18
+ export declare const XY_RESIZER_LINE_POSITIONS: ControlLinePosition[];
19
+ type OnResizeHandler<Params = XYResizerParams, Result = void> = (event: ResizeDragEvent, params: Params) => Result;
20
+ export type ResizeDragEvent = D3DragEvent<HTMLDivElement, null, SubjectPosition>;
21
+ export type ShouldResize = OnResizeHandler<XYResizerParamsWithDirection, boolean>;
22
+ export type OnResizeStart = OnResizeHandler;
23
+ export type OnResize = OnResizeHandler<XYResizerParamsWithDirection>;
24
+ export type OnResizeEnd = OnResizeHandler;
25
+ export {};
26
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/xyresizer/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE5D,MAAM,MAAM,eAAe,GAAG;IAC5B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG,eAAe,GAAG;IAC3D,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;AAEtE,MAAM,MAAM,eAAe,GAAG,mBAAmB,GAAG,UAAU,GAAG,WAAW,GAAG,aAAa,GAAG,cAAc,CAAC;AAE9G,oBAAY,oBAAoB;IAC9B,IAAI,SAAS;IACb,MAAM,WAAW;CAClB;AAED,eAAO,MAAM,2BAA2B,EAAE,eAAe,EAA6D,CAAC;AACvH,eAAO,MAAM,yBAAyB,EAAE,mBAAmB,EAAuC,CAAC;AAEnG,KAAK,eAAe,CAAC,MAAM,GAAG,eAAe,EAAE,MAAM,GAAG,IAAI,IAAI,CAAC,KAAK,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC;AACnH,MAAM,MAAM,eAAe,GAAG,WAAW,CAAC,cAAc,EAAE,IAAI,EAAE,eAAe,CAAC,CAAC;AAEjF,MAAM,MAAM,YAAY,GAAG,eAAe,CAAC,4BAA4B,EAAE,OAAO,CAAC,CAAC;AAClF,MAAM,MAAM,aAAa,GAAG,eAAe,CAAC;AAC5C,MAAM,MAAM,QAAQ,GAAG,eAAe,CAAC,4BAA4B,CAAC,CAAC;AACrE,MAAM,MAAM,WAAW,GAAG,eAAe,CAAC"}
@@ -0,0 +1,75 @@
1
+ import { getPointerPosition } from '../utils';
2
+ import { ControlPosition } from './types';
3
+ type GetResizeDirectionParams = {
4
+ width: number;
5
+ prevWidth: number;
6
+ height: number;
7
+ prevHeight: number;
8
+ affectsX: boolean;
9
+ affectsY: boolean;
10
+ };
11
+ /**
12
+ * Get all connecting edges for a given set of nodes
13
+ * @param width - new width of the node
14
+ * @param prevWidth - previous width of the node
15
+ * @param height - new height of the node
16
+ * @param prevHeight - previous height of the node
17
+ * @param affectsX - whether to invert the resize direction for the x axis
18
+ * @param affectsY - whether to invert the resize direction for the y axis
19
+ * @returns array of two numbers representing the direction of the resize for each axis, 0 = no change, 1 = increase, -1 = decrease
20
+ */
21
+ export declare function getResizeDirection({ width, prevWidth, height, prevHeight, affectsX, affectsY, }: GetResizeDirectionParams): number[];
22
+ /**
23
+ * Parses the control position that is being dragged to dimensions that are being resized
24
+ * @param controlPosition - position of the control that is being dragged
25
+ * @returns isHorizontal, isVertical, affectsX, affectsY,
26
+ */
27
+ export declare function getControlDirection(controlPosition: ControlPosition): {
28
+ isHorizontal: boolean;
29
+ isVertical: boolean;
30
+ affectsX: boolean;
31
+ affectsY: boolean;
32
+ };
33
+ type PrevValues = {
34
+ width: number;
35
+ height: number;
36
+ x: number;
37
+ y: number;
38
+ };
39
+ type StartValues = PrevValues & {
40
+ pointerX: number;
41
+ pointerY: number;
42
+ aspectRatio: number;
43
+ };
44
+ /**
45
+ * Calculates new width & height of node after resize based on pointer position
46
+ * @param startValues - starting values of resize
47
+ * @param controlDirection - dimensions affected by the resize
48
+ * @param pointerPosition - the current pointer position corrected for snapping
49
+ * @param boundaries - minimum and maximum dimensions of the node
50
+ * @param keepAspectRatio - prevent changes of asprect ratio
51
+ * @returns width: new width of node, height: new height of node
52
+ */
53
+ export declare function getDimensionsAfterResize(startValues: StartValues, controlDirection: ReturnType<typeof getControlDirection>, pointerPosition: ReturnType<typeof getPointerPosition>, boundaries: {
54
+ minWidth: number;
55
+ maxWidth: number;
56
+ minHeight: number;
57
+ maxHeight: number;
58
+ }, keepAspectRatio: boolean): {
59
+ width: number;
60
+ height: number;
61
+ };
62
+ /**
63
+ * Determines new x & y position of node after resize based on new width & height
64
+ * @param startValues - starting values of resize
65
+ * @param controlDirection - dimensions affected by the resize
66
+ * @param width - new width of node
67
+ * @param height - new height of node
68
+ * @returns x: new x position of node, y: new y position of node
69
+ */
70
+ export declare function getPositionAfterResize(startValues: StartValues, controlDirection: ReturnType<typeof getControlDirection>, width: number, height: number): {
71
+ x: number;
72
+ y: number;
73
+ };
74
+ export {};
75
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/xyresizer/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,kBAAkB,EAAE,MAAM,UAAU,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE1C,KAAK,wBAAwB,GAAG;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAAC,EACjC,KAAK,EACL,SAAS,EACT,MAAM,EACN,UAAU,EACV,QAAQ,EACR,QAAQ,GACT,EAAE,wBAAwB,YAc1B;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,eAAe,EAAE,eAAe;;;;;EAYnE;AAED,KAAK,UAAU,GAAG;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX,CAAC;AAEF,KAAK,WAAW,GAAG,UAAU,GAAG;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,CACtC,WAAW,EAAE,WAAW,EACxB,gBAAgB,EAAE,UAAU,CAAC,OAAO,mBAAmB,CAAC,EACxD,eAAe,EAAE,UAAU,CAAC,OAAO,kBAAkB,CAAC,EACtD,UAAU,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,EACxF,eAAe,EAAE,OAAO;;;EA2CzB;AAED;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CACpC,WAAW,EAAE,WAAW,EACxB,gBAAgB,EAAE,UAAU,CAAC,OAAO,mBAAmB,CAAC,EACxD,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM;;;EAMf"}