@zag-js/rect-utils 1.41.0 → 2.0.0-next.0

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 (45) hide show
  1. package/dist/align.mjs +0 -2
  2. package/dist/angle.mjs +0 -2
  3. package/dist/clamp.mjs +0 -2
  4. package/dist/closest.mjs +0 -2
  5. package/dist/compass.d.mts +1 -5
  6. package/dist/compass.d.ts +1 -5
  7. package/dist/compass.js +0 -33
  8. package/dist/compass.mjs +0 -27
  9. package/dist/constrain.mjs +0 -2
  10. package/dist/contains.mjs +0 -2
  11. package/dist/distance.mjs +0 -2
  12. package/dist/equality.mjs +0 -2
  13. package/dist/from-element.mjs +0 -2
  14. package/dist/from-points.mjs +0 -2
  15. package/dist/from-range.mjs +0 -2
  16. package/dist/from-rotation.mjs +0 -2
  17. package/dist/from-window.mjs +0 -2
  18. package/dist/index.d.mts +3 -4
  19. package/dist/index.d.ts +3 -4
  20. package/dist/index.js +2 -4
  21. package/dist/index.mjs +1 -2
  22. package/dist/interact.d.mts +71 -0
  23. package/dist/interact.d.ts +71 -0
  24. package/dist/interact.js +377 -0
  25. package/dist/interact.mjs +338 -0
  26. package/dist/intersection.mjs +0 -2
  27. package/dist/operations.mjs +0 -2
  28. package/dist/polygon.mjs +0 -2
  29. package/dist/rect.d.mts +9 -2
  30. package/dist/rect.d.ts +9 -2
  31. package/dist/rect.js +40 -0
  32. package/dist/rect.mjs +33 -2
  33. package/dist/types.d.mts +1 -5
  34. package/dist/types.d.ts +1 -5
  35. package/dist/union.mjs +0 -2
  36. package/package.json +1 -1
  37. package/dist/affine-transform.d.mts +0 -39
  38. package/dist/affine-transform.d.ts +0 -39
  39. package/dist/affine-transform.js +0 -189
  40. package/dist/affine-transform.mjs +0 -166
  41. package/dist/chunk-QZ7TP4HQ.mjs +0 -7
  42. package/dist/resize.d.mts +0 -6
  43. package/dist/resize.d.ts +0 -6
  44. package/dist/resize.js +0 -113
  45. package/dist/resize.mjs +0 -90
package/dist/align.mjs CHANGED
@@ -1,5 +1,3 @@
1
- import "./chunk-QZ7TP4HQ.mjs";
2
-
3
1
  // src/align.ts
4
2
  function hAlign(a, ref, h) {
5
3
  let x = ref.minX;
package/dist/angle.mjs CHANGED
@@ -1,5 +1,3 @@
1
- import "./chunk-QZ7TP4HQ.mjs";
2
-
3
1
  // src/angle.ts
4
2
  function getPointAngle(rect, point, reference = rect.center) {
5
3
  const x = point.x - reference.x;
package/dist/clamp.mjs CHANGED
@@ -1,5 +1,3 @@
1
- import "./chunk-QZ7TP4HQ.mjs";
2
-
3
1
  // src/clamp.ts
4
2
  var clamp = (value, min, max) => Math.min(Math.max(value, min), max);
5
3
  var clampPoint = (position, size, boundaryRect) => {
package/dist/closest.mjs CHANGED
@@ -1,5 +1,3 @@
1
- import "./chunk-QZ7TP4HQ.mjs";
2
-
3
1
  // src/closest.ts
4
2
  import { distance } from "./distance.mjs";
5
3
  function closest(...pts) {
@@ -1,7 +1,3 @@
1
- import { Point } from './types.mjs';
2
-
3
1
  type CompassDirection = "n" | "ne" | "e" | "se" | "s" | "sw" | "w" | "nw";
4
- declare const compassDirectionMap: Record<CompassDirection, Point>;
5
- declare const oppositeDirectionMap: Record<CompassDirection, CompassDirection>;
6
2
 
7
- export { type CompassDirection, compassDirectionMap, oppositeDirectionMap };
3
+ export type { CompassDirection };
package/dist/compass.d.ts CHANGED
@@ -1,7 +1,3 @@
1
- import { Point } from './types.js';
2
-
3
1
  type CompassDirection = "n" | "ne" | "e" | "se" | "s" | "sw" | "w" | "nw";
4
- declare const compassDirectionMap: Record<CompassDirection, Point>;
5
- declare const oppositeDirectionMap: Record<CompassDirection, CompassDirection>;
6
2
 
7
- export { type CompassDirection, compassDirectionMap, oppositeDirectionMap };
3
+ export type { CompassDirection };
package/dist/compass.js CHANGED
@@ -3,10 +3,6 @@ var __defProp = Object.defineProperty;
3
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
4
  var __getOwnPropNames = Object.getOwnPropertyNames;
5
5
  var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
6
  var __copyProps = (to, from, except, desc) => {
11
7
  if (from && typeof from === "object" || typeof from === "function") {
12
8
  for (let key of __getOwnPropNames(from))
@@ -19,33 +15,4 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
19
15
 
20
16
  // src/compass.ts
21
17
  var compass_exports = {};
22
- __export(compass_exports, {
23
- compassDirectionMap: () => compassDirectionMap,
24
- oppositeDirectionMap: () => oppositeDirectionMap
25
- });
26
18
  module.exports = __toCommonJS(compass_exports);
27
- var compassDirectionMap = {
28
- n: { x: 0.5, y: 0 },
29
- ne: { x: 1, y: 0 },
30
- e: { x: 1, y: 0.5 },
31
- se: { x: 1, y: 1 },
32
- s: { x: 0.5, y: 1 },
33
- sw: { x: 0, y: 1 },
34
- w: { x: 0, y: 0.5 },
35
- nw: { x: 0, y: 0 }
36
- };
37
- var oppositeDirectionMap = {
38
- n: "s",
39
- ne: "sw",
40
- e: "w",
41
- se: "nw",
42
- s: "n",
43
- sw: "ne",
44
- w: "e",
45
- nw: "se"
46
- };
47
- // Annotate the CommonJS export names for ESM import in node:
48
- 0 && (module.exports = {
49
- compassDirectionMap,
50
- oppositeDirectionMap
51
- });
package/dist/compass.mjs CHANGED
@@ -1,27 +0,0 @@
1
- import "./chunk-QZ7TP4HQ.mjs";
2
-
3
- // src/compass.ts
4
- var compassDirectionMap = {
5
- n: { x: 0.5, y: 0 },
6
- ne: { x: 1, y: 0 },
7
- e: { x: 1, y: 0.5 },
8
- se: { x: 1, y: 1 },
9
- s: { x: 0.5, y: 1 },
10
- sw: { x: 0, y: 1 },
11
- w: { x: 0, y: 0.5 },
12
- nw: { x: 0, y: 0 }
13
- };
14
- var oppositeDirectionMap = {
15
- n: "s",
16
- ne: "sw",
17
- e: "w",
18
- se: "nw",
19
- s: "n",
20
- sw: "ne",
21
- w: "e",
22
- nw: "se"
23
- };
24
- export {
25
- compassDirectionMap,
26
- oppositeDirectionMap
27
- };
@@ -1,5 +1,3 @@
1
- import "./chunk-QZ7TP4HQ.mjs";
2
-
3
1
  // src/constrain.ts
4
2
  var constrainRect = (rect, boundary) => {
5
3
  const left = Math.max(boundary.x, Math.min(rect.x, boundary.x + boundary.width - rect.width));
package/dist/contains.mjs CHANGED
@@ -1,5 +1,3 @@
1
- import "./chunk-QZ7TP4HQ.mjs";
2
-
3
1
  // src/contains.ts
4
2
  import { getRectCorners, isRect } from "./rect.mjs";
5
3
  function containsPoint(r, p) {
package/dist/distance.mjs CHANGED
@@ -1,5 +1,3 @@
1
- import "./chunk-QZ7TP4HQ.mjs";
2
-
3
1
  // src/distance.ts
4
2
  import { intersects } from "./intersection.mjs";
5
3
  function distance(a, b = { x: 0, y: 0 }) {
package/dist/equality.mjs CHANGED
@@ -1,5 +1,3 @@
1
- import "./chunk-QZ7TP4HQ.mjs";
2
-
3
1
  // src/equality.ts
4
2
  var isSizeEqual = (a, b) => {
5
3
  return a.width === b?.width && a.height === b?.height;
@@ -1,5 +1,3 @@
1
- import "./chunk-QZ7TP4HQ.mjs";
2
-
3
1
  // src/from-element.ts
4
2
  import { createRect } from "./rect.mjs";
5
3
  var styleCache = /* @__PURE__ */ new WeakMap();
@@ -1,5 +1,3 @@
1
- import "./chunk-QZ7TP4HQ.mjs";
2
-
3
1
  // src/from-points.ts
4
2
  import { createRect } from "./rect.mjs";
5
3
  function getRectFromPoints(...pts) {
@@ -1,5 +1,3 @@
1
- import "./chunk-QZ7TP4HQ.mjs";
2
-
3
1
  // src/from-range.ts
4
2
  import { createRect } from "./rect.mjs";
5
3
  import { getElementRect } from "./from-element.mjs";
@@ -1,5 +1,3 @@
1
- import "./chunk-QZ7TP4HQ.mjs";
2
-
3
1
  // src/from-rotation.ts
4
2
  import { createRect, getRectCorners } from "./rect.mjs";
5
3
  function toRad(d) {
@@ -1,5 +1,3 @@
1
- import "./chunk-QZ7TP4HQ.mjs";
2
-
3
1
  // src/from-window.ts
4
2
  import { createRect } from "./rect.mjs";
5
3
  function getWindowRect(win, opts = {}) {
package/dist/index.d.mts CHANGED
@@ -1,4 +1,3 @@
1
- export { AffineTransform } from './affine-transform.mjs';
2
1
  export { alignRect } from './align.mjs';
3
2
  export { getPointAngle } from './angle.mjs';
4
3
  export { clampPoint, clampSize } from './clamp.mjs';
@@ -15,8 +14,8 @@ export { WindowRectOptions, getViewportRect, getWindowRect } from './from-window
15
14
  export { collisions, intersection, intersects } from './intersection.mjs';
16
15
  export { expand, inset, isSymmetric, shift, shrink } from './operations.mjs';
17
16
  export { debugPolygon, getElementPolygon, isPointInPolygon } from './polygon.mjs';
18
- export { addPoints, createPoint, createRect, getRectCenters, getRectCorners, getRectEdges, isPoint, isRect, subtractPoints } from './rect.mjs';
19
- export { resizeRect } from './resize.mjs';
20
- export { AlignOptions, Bounds, CenterPoint, HAlign, Point, Rect, RectCenter, RectCenters, RectCorner, RectCorners, RectEdge, RectEdges, RectInit, RectInset, RectPoint, RectPoints, RectSide, ScalingOptions, Size, SymmetricRectInset, VAlign } from './types.mjs';
17
+ export { ZERO_POINT, addPoints, createPoint, createRect, getCenterPoint, getMidpoint, getRectCenters, getRectCorners, getRectEdges, isPoint, isRect, isVisibleSize, roundRect, scaleRect, scaleSize, subtractPoints } from './rect.mjs';
18
+ export { AlignOptions, Bounds, CenterPoint, HAlign, Point, Rect, RectCenter, RectCenters, RectCorner, RectCorners, RectEdge, RectEdges, RectInit, RectInset, RectPoint, RectPoints, RectSide, Size, SymmetricRectInset, VAlign } from './types.mjs';
19
+ export { HandlePosition, MoveOptions, ResizeOptions, applyMove, applyResize, centerInRect, centerOnPoint, clampPointInRange, getArrowKeyDelta, getDirectionDelta, getKeyboardResizeDelta, isBottomHandle, isCornerHandle, isHorizontalHandle, isLeftHandle, isRightHandle, isTopHandle, isVerticalHandle } from './interact.mjs';
21
20
  export { union } from './union.mjs';
22
21
  import './compass.mjs';
package/dist/index.d.ts CHANGED
@@ -1,4 +1,3 @@
1
- export { AffineTransform } from './affine-transform.js';
2
1
  export { alignRect } from './align.js';
3
2
  export { getPointAngle } from './angle.js';
4
3
  export { clampPoint, clampSize } from './clamp.js';
@@ -15,8 +14,8 @@ export { WindowRectOptions, getViewportRect, getWindowRect } from './from-window
15
14
  export { collisions, intersection, intersects } from './intersection.js';
16
15
  export { expand, inset, isSymmetric, shift, shrink } from './operations.js';
17
16
  export { debugPolygon, getElementPolygon, isPointInPolygon } from './polygon.js';
18
- export { addPoints, createPoint, createRect, getRectCenters, getRectCorners, getRectEdges, isPoint, isRect, subtractPoints } from './rect.js';
19
- export { resizeRect } from './resize.js';
20
- export { AlignOptions, Bounds, CenterPoint, HAlign, Point, Rect, RectCenter, RectCenters, RectCorner, RectCorners, RectEdge, RectEdges, RectInit, RectInset, RectPoint, RectPoints, RectSide, ScalingOptions, Size, SymmetricRectInset, VAlign } from './types.js';
17
+ export { ZERO_POINT, addPoints, createPoint, createRect, getCenterPoint, getMidpoint, getRectCenters, getRectCorners, getRectEdges, isPoint, isRect, isVisibleSize, roundRect, scaleRect, scaleSize, subtractPoints } from './rect.js';
18
+ export { AlignOptions, Bounds, CenterPoint, HAlign, Point, Rect, RectCenter, RectCenters, RectCorner, RectCorners, RectEdge, RectEdges, RectInit, RectInset, RectPoint, RectPoints, RectSide, Size, SymmetricRectInset, VAlign } from './types.js';
19
+ export { HandlePosition, MoveOptions, ResizeOptions, applyMove, applyResize, centerInRect, centerOnPoint, clampPointInRange, getArrowKeyDelta, getDirectionDelta, getKeyboardResizeDelta, isBottomHandle, isCornerHandle, isHorizontalHandle, isLeftHandle, isRightHandle, isTopHandle, isVerticalHandle } from './interact.js';
21
20
  export { union } from './union.js';
22
21
  import './compass.js';
package/dist/index.js CHANGED
@@ -17,7 +17,6 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
17
17
  // src/index.ts
18
18
  var index_exports = {};
19
19
  module.exports = __toCommonJS(index_exports);
20
- __reExport(index_exports, require("./affine-transform.js"), module.exports);
21
20
  __reExport(index_exports, require("./align.js"), module.exports);
22
21
  __reExport(index_exports, require("./angle.js"), module.exports);
23
22
  __reExport(index_exports, require("./clamp.js"), module.exports);
@@ -35,12 +34,11 @@ __reExport(index_exports, require("./intersection.js"), module.exports);
35
34
  __reExport(index_exports, require("./operations.js"), module.exports);
36
35
  __reExport(index_exports, require("./polygon.js"), module.exports);
37
36
  __reExport(index_exports, require("./rect.js"), module.exports);
38
- __reExport(index_exports, require("./resize.js"), module.exports);
39
37
  __reExport(index_exports, require("./types.js"), module.exports);
38
+ __reExport(index_exports, require("./interact.js"), module.exports);
40
39
  __reExport(index_exports, require("./union.js"), module.exports);
41
40
  // Annotate the CommonJS export names for ESM import in node:
42
41
  0 && (module.exports = {
43
- ...require("./affine-transform.js"),
44
42
  ...require("./align.js"),
45
43
  ...require("./angle.js"),
46
44
  ...require("./clamp.js"),
@@ -58,7 +56,7 @@ __reExport(index_exports, require("./union.js"), module.exports);
58
56
  ...require("./operations.js"),
59
57
  ...require("./polygon.js"),
60
58
  ...require("./rect.js"),
61
- ...require("./resize.js"),
62
59
  ...require("./types.js"),
60
+ ...require("./interact.js"),
63
61
  ...require("./union.js")
64
62
  });
package/dist/index.mjs CHANGED
@@ -1,5 +1,4 @@
1
1
  // src/index.ts
2
- export * from "./affine-transform.mjs";
3
2
  export * from "./align.mjs";
4
3
  export * from "./angle.mjs";
5
4
  export * from "./clamp.mjs";
@@ -17,6 +16,6 @@ export * from "./intersection.mjs";
17
16
  export * from "./operations.mjs";
18
17
  export * from "./polygon.mjs";
19
18
  export * from "./rect.mjs";
20
- export * from "./resize.mjs";
21
19
  export * from "./types.mjs";
20
+ export * from "./interact.mjs";
22
21
  export * from "./union.mjs";
@@ -0,0 +1,71 @@
1
+ import { CompassDirection } from './compass.mjs';
2
+ import { RectInit, Size, Point } from './types.mjs';
3
+
4
+ type HandlePosition = CompassDirection;
5
+ declare const isLeftHandle: (h: HandlePosition) => boolean;
6
+ declare const isRightHandle: (h: HandlePosition) => boolean;
7
+ declare const isTopHandle: (h: HandlePosition) => boolean;
8
+ declare const isBottomHandle: (h: HandlePosition) => boolean;
9
+ declare const isCornerHandle: (h: HandlePosition) => boolean;
10
+ declare const isHorizontalHandle: (h: HandlePosition) => boolean;
11
+ declare const isVerticalHandle: (h: HandlePosition) => boolean;
12
+ interface MoveOptions {
13
+ /** Containing boundary rect. Move is unconstrained if omitted. */
14
+ boundary?: RectInit | undefined;
15
+ /** Snap-to-grid step size. Default: 1 (no snapping). */
16
+ gridSize?: number | undefined;
17
+ }
18
+ interface ResizeOptions {
19
+ /** Containing boundary rect. Resize is unconstrained if omitted. */
20
+ boundary?: RectInit | undefined;
21
+ /** Minimum allowed size. */
22
+ minSize?: Size | undefined;
23
+ /** Maximum allowed size. */
24
+ maxSize?: Size | undefined;
25
+ /** Fixed width/height ratio. Omit for free resize. */
26
+ aspectRatio?: number | undefined;
27
+ /** Scale from the opposite corner ("extent") or center ("center"). Default: "extent". */
28
+ origin?: "extent" | "center" | undefined;
29
+ }
30
+ /**
31
+ * Compute the position that centers a `size` within a boundary rect.
32
+ */
33
+ declare function centerInRect(size: Size, boundary: RectInit): Point;
34
+ /**
35
+ * Center a rect (given by size) on a point, then clamp within a boundary.
36
+ */
37
+ declare function centerOnPoint(size: Size, center: Point, boundary: RectInit): Point;
38
+ /**
39
+ * Clamp a point's x/y independently between a min and max point.
40
+ * Useful for constraining offsets, positions, or pan values.
41
+ */
42
+ declare function clampPointInRange(point: Point, minPoint: Point, maxPoint: Point): Point;
43
+ /**
44
+ * Compute a new rect after moving by a pointer delta.
45
+ * Grid-snaps the delta and clamps within the boundary.
46
+ */
47
+ declare function applyMove(rect: RectInit, delta: Point, options?: MoveOptions): RectInit;
48
+ /**
49
+ * Compute a new rect after resizing via a handle drag.
50
+ * Handles size limits, boundary containment, aspect ratio, and scaling origin.
51
+ */
52
+ declare function applyResize(rect: RectInit, delta: Point, handle: HandlePosition, options?: ResizeOptions): RectInit;
53
+ /**
54
+ * Convert an arrow-key direction and step into a Point delta.
55
+ * Useful for keyboard-driven move/resize.
56
+ */
57
+ declare function getDirectionDelta(direction: "left" | "right" | "up" | "down", step: number): Point;
58
+ /**
59
+ * Convert an ArrowKey event key and step into a Point delta.
60
+ * Like `getDirectionDelta` but accepts `"ArrowLeft"` / `"ArrowRight"` / etc.
61
+ */
62
+ declare function getArrowKeyDelta(key: string, step: number): Point;
63
+ /**
64
+ * Compute the delta for a keyboard-driven resize given an arrow key and handle.
65
+ *
66
+ * The convention: pressing an arrow key in the handle's "outward" direction
67
+ * expands the rect; pressing inward shrinks it. For corners, both axes move.
68
+ */
69
+ declare function getKeyboardResizeDelta(key: string, handle: HandlePosition, step: number): Point;
70
+
71
+ export { type HandlePosition, type MoveOptions, type ResizeOptions, applyMove, applyResize, centerInRect, centerOnPoint, clampPointInRange, getArrowKeyDelta, getDirectionDelta, getKeyboardResizeDelta, isBottomHandle, isCornerHandle, isHorizontalHandle, isLeftHandle, isRightHandle, isTopHandle, isVerticalHandle };
@@ -0,0 +1,71 @@
1
+ import { CompassDirection } from './compass.js';
2
+ import { RectInit, Size, Point } from './types.js';
3
+
4
+ type HandlePosition = CompassDirection;
5
+ declare const isLeftHandle: (h: HandlePosition) => boolean;
6
+ declare const isRightHandle: (h: HandlePosition) => boolean;
7
+ declare const isTopHandle: (h: HandlePosition) => boolean;
8
+ declare const isBottomHandle: (h: HandlePosition) => boolean;
9
+ declare const isCornerHandle: (h: HandlePosition) => boolean;
10
+ declare const isHorizontalHandle: (h: HandlePosition) => boolean;
11
+ declare const isVerticalHandle: (h: HandlePosition) => boolean;
12
+ interface MoveOptions {
13
+ /** Containing boundary rect. Move is unconstrained if omitted. */
14
+ boundary?: RectInit | undefined;
15
+ /** Snap-to-grid step size. Default: 1 (no snapping). */
16
+ gridSize?: number | undefined;
17
+ }
18
+ interface ResizeOptions {
19
+ /** Containing boundary rect. Resize is unconstrained if omitted. */
20
+ boundary?: RectInit | undefined;
21
+ /** Minimum allowed size. */
22
+ minSize?: Size | undefined;
23
+ /** Maximum allowed size. */
24
+ maxSize?: Size | undefined;
25
+ /** Fixed width/height ratio. Omit for free resize. */
26
+ aspectRatio?: number | undefined;
27
+ /** Scale from the opposite corner ("extent") or center ("center"). Default: "extent". */
28
+ origin?: "extent" | "center" | undefined;
29
+ }
30
+ /**
31
+ * Compute the position that centers a `size` within a boundary rect.
32
+ */
33
+ declare function centerInRect(size: Size, boundary: RectInit): Point;
34
+ /**
35
+ * Center a rect (given by size) on a point, then clamp within a boundary.
36
+ */
37
+ declare function centerOnPoint(size: Size, center: Point, boundary: RectInit): Point;
38
+ /**
39
+ * Clamp a point's x/y independently between a min and max point.
40
+ * Useful for constraining offsets, positions, or pan values.
41
+ */
42
+ declare function clampPointInRange(point: Point, minPoint: Point, maxPoint: Point): Point;
43
+ /**
44
+ * Compute a new rect after moving by a pointer delta.
45
+ * Grid-snaps the delta and clamps within the boundary.
46
+ */
47
+ declare function applyMove(rect: RectInit, delta: Point, options?: MoveOptions): RectInit;
48
+ /**
49
+ * Compute a new rect after resizing via a handle drag.
50
+ * Handles size limits, boundary containment, aspect ratio, and scaling origin.
51
+ */
52
+ declare function applyResize(rect: RectInit, delta: Point, handle: HandlePosition, options?: ResizeOptions): RectInit;
53
+ /**
54
+ * Convert an arrow-key direction and step into a Point delta.
55
+ * Useful for keyboard-driven move/resize.
56
+ */
57
+ declare function getDirectionDelta(direction: "left" | "right" | "up" | "down", step: number): Point;
58
+ /**
59
+ * Convert an ArrowKey event key and step into a Point delta.
60
+ * Like `getDirectionDelta` but accepts `"ArrowLeft"` / `"ArrowRight"` / etc.
61
+ */
62
+ declare function getArrowKeyDelta(key: string, step: number): Point;
63
+ /**
64
+ * Compute the delta for a keyboard-driven resize given an arrow key and handle.
65
+ *
66
+ * The convention: pressing an arrow key in the handle's "outward" direction
67
+ * expands the rect; pressing inward shrinks it. For corners, both axes move.
68
+ */
69
+ declare function getKeyboardResizeDelta(key: string, handle: HandlePosition, step: number): Point;
70
+
71
+ export { type HandlePosition, type MoveOptions, type ResizeOptions, applyMove, applyResize, centerInRect, centerOnPoint, clampPointInRange, getArrowKeyDelta, getDirectionDelta, getKeyboardResizeDelta, isBottomHandle, isCornerHandle, isHorizontalHandle, isLeftHandle, isRightHandle, isTopHandle, isVerticalHandle };