@zag-js/rect-utils 1.41.1 → 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.
- package/dist/align.mjs +0 -2
- package/dist/angle.mjs +0 -2
- package/dist/clamp.mjs +0 -2
- package/dist/closest.mjs +0 -2
- package/dist/compass.d.mts +1 -5
- package/dist/compass.d.ts +1 -5
- package/dist/compass.js +0 -33
- package/dist/compass.mjs +0 -27
- package/dist/constrain.mjs +0 -2
- package/dist/contains.mjs +0 -2
- package/dist/distance.mjs +0 -2
- package/dist/equality.mjs +0 -2
- package/dist/from-element.mjs +0 -2
- package/dist/from-points.mjs +0 -2
- package/dist/from-range.mjs +0 -2
- package/dist/from-rotation.mjs +0 -2
- package/dist/from-window.mjs +0 -2
- package/dist/index.d.mts +3 -4
- package/dist/index.d.ts +3 -4
- package/dist/index.js +2 -4
- package/dist/index.mjs +1 -2
- package/dist/interact.d.mts +71 -0
- package/dist/interact.d.ts +71 -0
- package/dist/interact.js +377 -0
- package/dist/interact.mjs +338 -0
- package/dist/intersection.mjs +0 -2
- package/dist/operations.mjs +0 -2
- package/dist/polygon.mjs +0 -2
- package/dist/rect.d.mts +9 -2
- package/dist/rect.d.ts +9 -2
- package/dist/rect.js +40 -0
- package/dist/rect.mjs +33 -2
- package/dist/types.d.mts +1 -5
- package/dist/types.d.ts +1 -5
- package/dist/union.mjs +0 -2
- package/package.json +1 -1
- package/dist/affine-transform.d.mts +0 -39
- package/dist/affine-transform.d.ts +0 -39
- package/dist/affine-transform.js +0 -189
- package/dist/affine-transform.mjs +0 -166
- package/dist/chunk-QZ7TP4HQ.mjs +0 -7
- package/dist/resize.d.mts +0 -6
- package/dist/resize.d.ts +0 -6
- package/dist/resize.js +0 -113
- package/dist/resize.mjs +0 -90
package/dist/align.mjs
CHANGED
package/dist/angle.mjs
CHANGED
package/dist/clamp.mjs
CHANGED
package/dist/closest.mjs
CHANGED
package/dist/compass.d.mts
CHANGED
|
@@ -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 {
|
|
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 {
|
|
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
|
-
};
|
package/dist/constrain.mjs
CHANGED
package/dist/contains.mjs
CHANGED
package/dist/distance.mjs
CHANGED
package/dist/equality.mjs
CHANGED
package/dist/from-element.mjs
CHANGED
package/dist/from-points.mjs
CHANGED
package/dist/from-range.mjs
CHANGED
package/dist/from-rotation.mjs
CHANGED
package/dist/from-window.mjs
CHANGED
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 {
|
|
20
|
-
export {
|
|
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 {
|
|
20
|
-
export {
|
|
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 };
|