nautogui 0.3.1

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 (101) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +212 -0
  3. package/README.zh-CN.md +212 -0
  4. package/bin/mouseinfo.mjs +8 -0
  5. package/dist/backend.d.ts +59 -0
  6. package/dist/backend.d.ts.map +1 -0
  7. package/dist/backend.js +210 -0
  8. package/dist/backend.js.map +1 -0
  9. package/dist/config.d.ts +38 -0
  10. package/dist/config.d.ts.map +1 -0
  11. package/dist/config.js +60 -0
  12. package/dist/config.js.map +1 -0
  13. package/dist/constants.d.ts +16 -0
  14. package/dist/constants.d.ts.map +1 -0
  15. package/dist/constants.js +209 -0
  16. package/dist/constants.js.map +1 -0
  17. package/dist/coords.d.ts +12 -0
  18. package/dist/coords.d.ts.map +1 -0
  19. package/dist/coords.js +46 -0
  20. package/dist/coords.js.map +1 -0
  21. package/dist/display-mouse.d.ts +3 -0
  22. package/dist/display-mouse.d.ts.map +1 -0
  23. package/dist/display-mouse.js +25 -0
  24. package/dist/display-mouse.js.map +1 -0
  25. package/dist/easing-all.d.ts +77 -0
  26. package/dist/easing-all.d.ts.map +1 -0
  27. package/dist/easing-all.js +231 -0
  28. package/dist/easing-all.js.map +1 -0
  29. package/dist/easing-base.d.ts +8 -0
  30. package/dist/easing-base.d.ts.map +1 -0
  31. package/dist/easing-base.js +3 -0
  32. package/dist/easing-base.js.map +1 -0
  33. package/dist/easing.d.ts +9 -0
  34. package/dist/easing.d.ts.map +1 -0
  35. package/dist/easing.js +15 -0
  36. package/dist/easing.js.map +1 -0
  37. package/dist/exceptions.d.ts +18 -0
  38. package/dist/exceptions.d.ts.map +1 -0
  39. package/dist/exceptions.js +30 -0
  40. package/dist/exceptions.js.map +1 -0
  41. package/dist/hold-context.d.ts +10 -0
  42. package/dist/hold-context.d.ts.map +1 -0
  43. package/dist/hold-context.js +31 -0
  44. package/dist/hold-context.js.map +1 -0
  45. package/dist/index.d.ts +104 -0
  46. package/dist/index.d.ts.map +1 -0
  47. package/dist/index.js +362 -0
  48. package/dist/index.js.map +1 -0
  49. package/dist/keyboard-utils.d.ts +7 -0
  50. package/dist/keyboard-utils.d.ts.map +1 -0
  51. package/dist/keyboard-utils.js +33 -0
  52. package/dist/keyboard-utils.js.map +1 -0
  53. package/dist/locate-haystack.d.ts +14 -0
  54. package/dist/locate-haystack.d.ts.map +1 -0
  55. package/dist/locate-haystack.js +90 -0
  56. package/dist/locate-haystack.js.map +1 -0
  57. package/dist/locate-window.d.ts +12 -0
  58. package/dist/locate-window.d.ts.map +1 -0
  59. package/dist/locate-window.js +78 -0
  60. package/dist/locate-window.js.map +1 -0
  61. package/dist/log-screenshots.d.ts +3 -0
  62. package/dist/log-screenshots.d.ts.map +1 -0
  63. package/dist/log-screenshots.js +32 -0
  64. package/dist/log-screenshots.js.map +1 -0
  65. package/dist/mouseinfo.d.ts +8 -0
  66. package/dist/mouseinfo.d.ts.map +1 -0
  67. package/dist/mouseinfo.js +83 -0
  68. package/dist/mouseinfo.js.map +1 -0
  69. package/dist/msgbox.d.ts +17 -0
  70. package/dist/msgbox.d.ts.map +1 -0
  71. package/dist/msgbox.js +77 -0
  72. package/dist/msgbox.js.map +1 -0
  73. package/dist/native-msgbox.d.ts +13 -0
  74. package/dist/native-msgbox.d.ts.map +1 -0
  75. package/dist/native-msgbox.js +222 -0
  76. package/dist/native-msgbox.js.map +1 -0
  77. package/dist/native-utils.d.ts +8 -0
  78. package/dist/native-utils.d.ts.map +1 -0
  79. package/dist/native-utils.js +24 -0
  80. package/dist/native-utils.js.map +1 -0
  81. package/dist/pixel.d.ts +9 -0
  82. package/dist/pixel.d.ts.map +1 -0
  83. package/dist/pixel.js +14 -0
  84. package/dist/pixel.js.map +1 -0
  85. package/dist/region.d.ts +14 -0
  86. package/dist/region.d.ts.map +1 -0
  87. package/dist/region.js +13 -0
  88. package/dist/region.js.map +1 -0
  89. package/dist/run.d.ts +9 -0
  90. package/dist/run.d.ts.map +1 -0
  91. package/dist/run.js +189 -0
  92. package/dist/run.js.map +1 -0
  93. package/dist/runtime.d.ts +12 -0
  94. package/dist/runtime.d.ts.map +1 -0
  95. package/dist/runtime.js +53 -0
  96. package/dist/runtime.js.map +1 -0
  97. package/dist/windows.d.ts +30 -0
  98. package/dist/windows.d.ts.map +1 -0
  99. package/dist/windows.js +62 -0
  100. package/dist/windows.js.map +1 -0
  101. package/package.json +63 -0
@@ -0,0 +1,25 @@
1
+ /** displayMousePosition */
2
+ import { pixelColorAt, mousePosition, screenSize } from "./backend.js";
3
+ export async function displayMousePosition(xOffset = 0, yOffset = 0) {
4
+ console.log("Press Ctrl-C to quit.");
5
+ if (xOffset !== 0 || yOffset !== 0) {
6
+ console.log(`xOffset: ${xOffset} yOffset: ${yOffset}`);
7
+ }
8
+ const abort = new AbortController();
9
+ process.on("SIGINT", () => abort.abort());
10
+ while (!abort.signal.aborted) {
11
+ const { x, y } = await mousePosition();
12
+ const dx = x - xOffset;
13
+ const dy = y - yOffset;
14
+ const { width, height } = await screenSize();
15
+ let rgb = "NaN, NaN, NaN";
16
+ if (dx >= 0 && dy >= 0 && dx < width && dy < height) {
17
+ const c = await pixelColorAt(dx, dy);
18
+ rgb = `${c.r}, ${c.g}, ${c.b}`;
19
+ }
20
+ process.stdout.write(`X: ${String(dx).padStart(4)} Y: ${String(dy).padStart(4)} RGB: (${rgb}) \r`);
21
+ await new Promise((r) => setTimeout(r, 100));
22
+ }
23
+ process.stdout.write("\n");
24
+ }
25
+ //# sourceMappingURL=display-mouse.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"display-mouse.js","sourceRoot":"","sources":["../src/display-mouse.ts"],"names":[],"mappings":"AAAA,2BAA2B;AAE3B,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAEvE,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,OAAO,GAAG,CAAC,EACX,OAAO,GAAG,CAAC;IAEX,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;IACrC,IAAI,OAAO,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,EAAE,CAAC;QACnC,OAAO,CAAC,GAAG,CAAC,YAAY,OAAO,aAAa,OAAO,EAAE,CAAC,CAAC;IACzD,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,eAAe,EAAE,CAAC;IACpC,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;IAE1C,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QAC7B,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,MAAM,aAAa,EAAE,CAAC;QACvC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC;QACvB,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC;QACvB,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,UAAU,EAAE,CAAC;QAC7C,IAAI,GAAG,GAAG,eAAe,CAAC;QAC1B,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,EAAE,GAAG,MAAM,EAAE,CAAC;YACpD,MAAM,CAAC,GAAG,MAAM,YAAY,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YACrC,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QACjC,CAAC;QACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,MAAM,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,GAAG,QAAQ,CAAC,CAAC;QACrG,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IAC/C,CAAC;IACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AAC7B,CAAC"}
@@ -0,0 +1,77 @@
1
+ /**
2
+ * Scalar easing functions (linear, easeInOutQuad, …).
3
+ */
4
+ import type { EasingFn, ScalarTween } from "./easing-base.js";
5
+ export declare function linearScalar(t: number): number;
6
+ export declare function easeInQuad(t: number): number;
7
+ export declare function easeOutQuad(t: number): number;
8
+ export declare function easeInOutQuad(t: number): number;
9
+ export declare function easeInCubic(t: number): number;
10
+ export declare function easeOutCubic(t: number): number;
11
+ export declare function easeInOutCubic(t: number): number;
12
+ export declare function easeInQuart(t: number): number;
13
+ export declare function easeOutQuart(t: number): number;
14
+ export declare function easeInOutQuart(t: number): number;
15
+ export declare function easeInQuint(t: number): number;
16
+ export declare function easeOutQuint(t: number): number;
17
+ export declare function easeInOutQuint(t: number): number;
18
+ export declare function easeInSine(t: number): number;
19
+ export declare function easeOutSine(t: number): number;
20
+ export declare function easeInOutSine(t: number): number;
21
+ export declare function easeInExpo(t: number): number;
22
+ export declare function easeOutExpo(t: number): number;
23
+ export declare function easeInOutExpo(t: number): number;
24
+ export declare function easeInCirc(t: number): number;
25
+ export declare function easeOutCirc(t: number): number;
26
+ export declare function easeInOutCirc(t: number): number;
27
+ export declare function easeInElastic(t: number): number;
28
+ export declare function easeOutElastic(t: number): number;
29
+ export declare function easeInOutElastic(t: number): number;
30
+ export declare function easeInBack(t: number): number;
31
+ export declare function easeOutBack(t: number): number;
32
+ export declare function easeInOutBack(t: number): number;
33
+ export declare function easeInBounce(t: number): number;
34
+ export declare function easeOutBounce(t: number): number;
35
+ export declare function easeInOutBounce(t: number): number;
36
+ export declare function toPathEasing(scalar: ScalarTween): EasingFn;
37
+ export declare function getPointOnLine(x1: number, y1: number, x2: number, y2: number, n: number): {
38
+ x: number;
39
+ y: number;
40
+ };
41
+ export declare const linear: EasingFn;
42
+ export declare const easeInOutQuadPath: EasingFn;
43
+ export declare const scalarTweens: {
44
+ readonly linear: typeof linearScalar;
45
+ readonly easeInQuad: typeof easeInQuad;
46
+ readonly easeOutQuad: typeof easeOutQuad;
47
+ readonly easeInOutQuad: typeof easeInOutQuad;
48
+ readonly easeInCubic: typeof easeInCubic;
49
+ readonly easeOutCubic: typeof easeOutCubic;
50
+ readonly easeInOutCubic: typeof easeInOutCubic;
51
+ readonly easeInQuart: typeof easeInQuart;
52
+ readonly easeOutQuart: typeof easeOutQuart;
53
+ readonly easeInOutQuart: typeof easeInOutQuart;
54
+ readonly easeInQuint: typeof easeInQuint;
55
+ readonly easeOutQuint: typeof easeOutQuint;
56
+ readonly easeInOutQuint: typeof easeInOutQuint;
57
+ readonly easeInSine: typeof easeInSine;
58
+ readonly easeOutSine: typeof easeOutSine;
59
+ readonly easeInOutSine: typeof easeInOutSine;
60
+ readonly easeInExpo: typeof easeInExpo;
61
+ readonly easeOutExpo: typeof easeOutExpo;
62
+ readonly easeInOutExpo: typeof easeInOutExpo;
63
+ readonly easeInCirc: typeof easeInCirc;
64
+ readonly easeOutCirc: typeof easeOutCirc;
65
+ readonly easeInOutCirc: typeof easeInOutCirc;
66
+ readonly easeInElastic: typeof easeInElastic;
67
+ readonly easeOutElastic: typeof easeOutElastic;
68
+ readonly easeInOutElastic: typeof easeInOutElastic;
69
+ readonly easeInBack: typeof easeInBack;
70
+ readonly easeOutBack: typeof easeOutBack;
71
+ readonly easeInOutBack: typeof easeInOutBack;
72
+ readonly easeInBounce: typeof easeInBounce;
73
+ readonly easeOutBounce: typeof easeOutBounce;
74
+ readonly easeInOutBounce: typeof easeInOutBounce;
75
+ };
76
+ export declare const pathTweens: Record<keyof typeof scalarTweens, EasingFn>;
77
+ //# sourceMappingURL=easing-all.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"easing-all.d.ts","sourceRoot":"","sources":["../src/easing-all.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,231 @@
1
+ /**
2
+ * Scalar easing functions (linear, easeInOutQuad, …).
3
+ */
4
+ function clamp01(t) {
5
+ if (t < 0 || t > 1) {
6
+ throw new Error("Tween argument must be between 0.0 and 1.0.");
7
+ }
8
+ return t;
9
+ }
10
+ export function linearScalar(t) {
11
+ return clamp01(t);
12
+ }
13
+ export function easeInQuad(t) {
14
+ t = clamp01(t);
15
+ return t * t;
16
+ }
17
+ export function easeOutQuad(t) {
18
+ t = clamp01(t);
19
+ return t * (2 - t);
20
+ }
21
+ export function easeInOutQuad(t) {
22
+ t = clamp01(t);
23
+ return t < 0.5 ? 2 * t * t : 1 - Math.pow(-2 * t + 2, 2) / 2;
24
+ }
25
+ export function easeInCubic(t) {
26
+ t = clamp01(t);
27
+ return t * t * t;
28
+ }
29
+ export function easeOutCubic(t) {
30
+ t = clamp01(t);
31
+ return 1 - Math.pow(1 - t, 3);
32
+ }
33
+ export function easeInOutCubic(t) {
34
+ t = clamp01(t);
35
+ return t < 0.5 ? 4 * t * t * t : 1 - Math.pow(-2 * t + 2, 3) / 2;
36
+ }
37
+ export function easeInQuart(t) {
38
+ t = clamp01(t);
39
+ return t * t * t * t;
40
+ }
41
+ export function easeOutQuart(t) {
42
+ t = clamp01(t);
43
+ return 1 - Math.pow(1 - t, 4);
44
+ }
45
+ export function easeInOutQuart(t) {
46
+ t = clamp01(t);
47
+ return t < 0.5 ? 8 * t * t * t * t : 1 - Math.pow(-2 * t + 2, 4) / 2;
48
+ }
49
+ export function easeInQuint(t) {
50
+ t = clamp01(t);
51
+ return t * t * t * t * t;
52
+ }
53
+ export function easeOutQuint(t) {
54
+ t = clamp01(t);
55
+ return 1 - Math.pow(1 - t, 5);
56
+ }
57
+ export function easeInOutQuint(t) {
58
+ t = clamp01(t);
59
+ return t < 0.5 ? 16 * t ** 5 : 1 - Math.pow(-2 * t + 2, 5) / 2;
60
+ }
61
+ export function easeInSine(t) {
62
+ t = clamp01(t);
63
+ return 1 - Math.cos((t * Math.PI) / 2);
64
+ }
65
+ export function easeOutSine(t) {
66
+ t = clamp01(t);
67
+ return Math.sin((t * Math.PI) / 2);
68
+ }
69
+ export function easeInOutSine(t) {
70
+ t = clamp01(t);
71
+ return -(Math.cos(Math.PI * t) - 1) / 2;
72
+ }
73
+ export function easeInExpo(t) {
74
+ t = clamp01(t);
75
+ return t === 0 ? 0 : Math.pow(2, 10 * t - 10);
76
+ }
77
+ export function easeOutExpo(t) {
78
+ t = clamp01(t);
79
+ return t === 1 ? 1 : 1 - Math.pow(2, -10 * t);
80
+ }
81
+ export function easeInOutExpo(t) {
82
+ t = clamp01(t);
83
+ if (t === 0)
84
+ return 0;
85
+ if (t === 1)
86
+ return 1;
87
+ return t < 0.5
88
+ ? Math.pow(2, 20 * t - 10) / 2
89
+ : (2 - Math.pow(2, -20 * t + 10)) / 2;
90
+ }
91
+ export function easeInCirc(t) {
92
+ t = clamp01(t);
93
+ return 1 - Math.sqrt(1 - Math.pow(t, 2));
94
+ }
95
+ export function easeOutCirc(t) {
96
+ t = clamp01(t);
97
+ return Math.sqrt(1 - Math.pow(t - 1, 2));
98
+ }
99
+ export function easeInOutCirc(t) {
100
+ t = clamp01(t);
101
+ return t < 0.5
102
+ ? (1 - Math.sqrt(1 - Math.pow(2 * t, 2))) / 2
103
+ : (Math.sqrt(1 - Math.pow(-2 * t + 2, 2)) + 1) / 2;
104
+ }
105
+ export function easeInElastic(t) {
106
+ t = clamp01(t);
107
+ const c4 = (2 * Math.PI) / 3;
108
+ return t === 0
109
+ ? 0
110
+ : t === 1
111
+ ? 1
112
+ : -Math.pow(2, 10 * t - 10) * Math.sin((t * 10 - 10.75) * c4);
113
+ }
114
+ export function easeOutElastic(t) {
115
+ t = clamp01(t);
116
+ const c4 = (2 * Math.PI) / 3;
117
+ return t === 0
118
+ ? 0
119
+ : t === 1
120
+ ? 1
121
+ : Math.pow(2, -10 * t) * Math.sin((t * 10 - 0.75) * c4) + 1;
122
+ }
123
+ export function easeInOutElastic(t) {
124
+ t = clamp01(t);
125
+ const c5 = (2 * Math.PI) / 4.5;
126
+ if (t === 0)
127
+ return 0;
128
+ if (t === 1)
129
+ return 1;
130
+ return t < 0.5
131
+ ? -(Math.pow(2, 20 * t - 10) * Math.sin((20 * t - 11.125) * c5)) / 2
132
+ : (Math.pow(2, -20 * t + 10) * Math.sin((20 * t - 11.125) * c5)) / 2 + 1;
133
+ }
134
+ export function easeInBack(t) {
135
+ t = clamp01(t);
136
+ const c1 = 1.70158;
137
+ const c3 = c1 + 1;
138
+ return c3 * t * t * t - c1 * t * t;
139
+ }
140
+ export function easeOutBack(t) {
141
+ t = clamp01(t);
142
+ const c1 = 1.70158;
143
+ const c3 = c1 + 1;
144
+ return 1 + c3 * Math.pow(t - 1, 3) + c1 * Math.pow(t - 1, 2);
145
+ }
146
+ export function easeInOutBack(t) {
147
+ t = clamp01(t);
148
+ const c1 = 1.70158;
149
+ const c2 = c1 * 1.525;
150
+ return t < 0.5
151
+ ? (Math.pow(2 * t, 2) * ((c2 + 1) * 2 * t - c2)) / 2
152
+ : (Math.pow(2 * t - 2, 2) * ((c2 + 1) * (t * 2 - 2) + c2) + 2) / 2;
153
+ }
154
+ export function easeInBounce(t) {
155
+ return 1 - easeOutBounce(1 - clamp01(t));
156
+ }
157
+ export function easeOutBounce(t) {
158
+ t = clamp01(t);
159
+ const n1 = 7.5625;
160
+ const d1 = 2.75;
161
+ if (t < 1 / d1)
162
+ return n1 * t * t;
163
+ if (t < 2 / d1)
164
+ return n1 * (t -= 1.5 / d1) * t + 0.75;
165
+ if (t < 2.5 / d1)
166
+ return n1 * (t -= 2.25 / d1) * t + 0.9375;
167
+ return n1 * (t -= 2.625 / d1) * t + 0.984375;
168
+ }
169
+ export function easeInOutBounce(t) {
170
+ t = clamp01(t);
171
+ return t < 0.5
172
+ ? (1 - easeOutBounce(1 - 2 * t)) / 2
173
+ : (1 + easeOutBounce(2 * t - 1)) / 2;
174
+ }
175
+ export function toPathEasing(scalar) {
176
+ return (start, end, steps) => {
177
+ const n = Math.max(1, steps);
178
+ const out = [];
179
+ for (let i = 1; i <= n; i++) {
180
+ const t = scalar(i / n);
181
+ out.push({
182
+ x: start.x + (end.x - start.x) * t,
183
+ y: start.y + (end.y - start.y) * t,
184
+ });
185
+ }
186
+ return out;
187
+ };
188
+ }
189
+ export function getPointOnLine(x1, y1, x2, y2, n) {
190
+ return {
191
+ x: (x2 - x1) * n + x1,
192
+ y: (y2 - y1) * n + y1,
193
+ };
194
+ }
195
+ export const linear = toPathEasing(linearScalar);
196
+ export const easeInOutQuadPath = toPathEasing(easeInOutQuad);
197
+ export const scalarTweens = {
198
+ linear: linearScalar,
199
+ easeInQuad,
200
+ easeOutQuad,
201
+ easeInOutQuad,
202
+ easeInCubic,
203
+ easeOutCubic,
204
+ easeInOutCubic,
205
+ easeInQuart,
206
+ easeOutQuart,
207
+ easeInOutQuart,
208
+ easeInQuint,
209
+ easeOutQuint,
210
+ easeInOutQuint,
211
+ easeInSine,
212
+ easeOutSine,
213
+ easeInOutSine,
214
+ easeInExpo,
215
+ easeOutExpo,
216
+ easeInOutExpo,
217
+ easeInCirc,
218
+ easeOutCirc,
219
+ easeInOutCirc,
220
+ easeInElastic,
221
+ easeOutElastic,
222
+ easeInOutElastic,
223
+ easeInBack,
224
+ easeOutBack,
225
+ easeInOutBack,
226
+ easeInBounce,
227
+ easeOutBounce,
228
+ easeInOutBounce,
229
+ };
230
+ export const pathTweens = Object.fromEntries(Object.entries(scalarTweens).map(([k, v]) => [k, toPathEasing(v)]));
231
+ //# sourceMappingURL=easing-all.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"easing-all.js","sourceRoot":"","sources":["../src/easing-all.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,SAAS,OAAO,CAAC,CAAS;IACxB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;IACjE,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,CAAS;IACpC,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,CAAS;IAClC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACf,OAAO,CAAC,GAAG,CAAC,CAAC;AACf,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,CAAS;IACnC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACf,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AACrB,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,CAAS;IACrC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACf,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;AAC/D,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,CAAS;IACnC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACf,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,CAAS;IACpC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACf,OAAO,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,CAAS;IACtC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACf,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;AACnE,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,CAAS;IACnC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACf,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AACvB,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,CAAS;IACpC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACf,OAAO,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,CAAS;IACtC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACf,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;AACvE,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,CAAS;IACnC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACf,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,CAAS;IACpC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACf,OAAO,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,CAAS;IACtC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACf,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;AACjE,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,CAAS;IAClC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACf,OAAO,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;AACzC,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,CAAS;IACnC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACf,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;AACrC,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,CAAS;IACrC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACf,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;AAC1C,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,CAAS;IAClC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACf,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,CAAS;IACnC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACf,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,CAAS;IACrC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACf,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC;IACtB,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC;IACtB,OAAO,CAAC,GAAG,GAAG;QACZ,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC;QAC9B,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;AAC1C,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,CAAS;IAClC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACf,OAAO,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAC3C,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,CAAS;IACnC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACf,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAC3C,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,CAAS;IACrC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACf,OAAO,CAAC,GAAG,GAAG;QACZ,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;QAC7C,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;AACvD,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,CAAS;IACrC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACf,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IAC7B,OAAO,CAAC,KAAK,CAAC;QACZ,CAAC,CAAC,CAAC;QACH,CAAC,CAAC,CAAC,KAAK,CAAC;YACP,CAAC,CAAC,CAAC;YACH,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;AACpE,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,CAAS;IACtC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACf,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IAC7B,OAAO,CAAC,KAAK,CAAC;QACZ,CAAC,CAAC,CAAC;QACH,CAAC,CAAC,CAAC,KAAK,CAAC;YACP,CAAC,CAAC,CAAC;YACH,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;AAClE,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,CAAS;IACxC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACf,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC;IAC/B,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC;IACtB,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC;IACtB,OAAO,CAAC,GAAG,GAAG;QACZ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC;QACpE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAC7E,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,CAAS;IAClC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACf,MAAM,EAAE,GAAG,OAAO,CAAC;IACnB,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IAClB,OAAO,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;AACrC,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,CAAS;IACnC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACf,MAAM,EAAE,GAAG,OAAO,CAAC;IACnB,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IAClB,OAAO,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;AAC/D,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,CAAS;IACrC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACf,MAAM,EAAE,GAAG,OAAO,CAAC;IACnB,MAAM,EAAE,GAAG,EAAE,GAAG,KAAK,CAAC;IACtB,OAAO,CAAC,GAAG,GAAG;QACZ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC;QACpD,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;AACvE,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,CAAS;IACpC,OAAO,CAAC,GAAG,aAAa,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3C,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,CAAS;IACrC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACf,MAAM,EAAE,GAAG,MAAM,CAAC;IAClB,MAAM,EAAE,GAAG,IAAI,CAAC;IAChB,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE;QAAE,OAAO,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;IAClC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE;QAAE,OAAO,EAAE,GAAG,CAAC,CAAC,IAAI,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;IACvD,IAAI,CAAC,GAAG,GAAG,GAAG,EAAE;QAAE,OAAO,EAAE,GAAG,CAAC,CAAC,IAAI,IAAI,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC;IAC5D,OAAO,EAAE,GAAG,CAAC,CAAC,IAAI,KAAK,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC;AAC/C,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,CAAS;IACvC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACf,OAAO,CAAC,GAAG,GAAG;QACZ,CAAC,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;QACpC,CAAC,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AACzC,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,MAAmB;IAC9C,OAAO,CAAC,KAAY,EAAE,GAAU,EAAE,KAAa,EAAE,EAAE;QACjD,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAC7B,MAAM,GAAG,GAAY,EAAE,CAAC;QACxB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC5B,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACxB,GAAG,CAAC,IAAI,CAAC;gBACP,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC;gBAClC,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC;aACnC,CAAC,CAAC;QACL,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,cAAc,CAC5B,EAAU,EACV,EAAU,EACV,EAAU,EACV,EAAU,EACV,CAAS;IAET,OAAO;QACL,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE;QACrB,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE;KACtB,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,MAAM,GAAG,YAAY,CAAC,YAAY,CAAC,CAAC;AACjD,MAAM,CAAC,MAAM,iBAAiB,GAAG,YAAY,CAAC,aAAa,CAAC,CAAC;AAE7D,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,MAAM,EAAE,YAAY;IACpB,UAAU;IACV,WAAW;IACX,aAAa;IACb,WAAW;IACX,YAAY;IACZ,cAAc;IACd,WAAW;IACX,YAAY;IACZ,cAAc;IACd,WAAW;IACX,YAAY;IACZ,cAAc;IACd,UAAU;IACV,WAAW;IACX,aAAa;IACb,UAAU;IACV,WAAW;IACX,aAAa;IACb,UAAU;IACV,WAAW;IACX,aAAa;IACb,aAAa;IACb,cAAc;IACd,gBAAgB;IAChB,UAAU;IACV,WAAW;IACX,aAAa;IACb,YAAY;IACZ,aAAa;IACb,eAAe;CACP,CAAC;AAEX,MAAM,CAAC,MAAM,UAAU,GAAG,MAAM,CAAC,WAAW,CAC1C,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CACpB,CAAC"}
@@ -0,0 +1,8 @@
1
+ /** Easing / tween helpers for mouse paths. */
2
+ export type Point = {
3
+ x: number;
4
+ y: number;
5
+ };
6
+ export type EasingFn = (start: Point, end: Point, steps: number) => Point[];
7
+ export type ScalarTween = (t: number) => number;
8
+ //# sourceMappingURL=easing-base.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"easing-base.d.ts","sourceRoot":"","sources":["../src/easing-base.ts"],"names":[],"mappings":"AAAA,8CAA8C;AAE9C,MAAM,MAAM,KAAK,GAAG;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAC7C,MAAM,MAAM,QAAQ,GAAG,CACrB,KAAK,EAAE,KAAK,EACZ,GAAG,EAAE,KAAK,EACV,KAAK,EAAE,MAAM,KACV,KAAK,EAAE,CAAC;AACb,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC"}
@@ -0,0 +1,3 @@
1
+ /** Easing / tween helpers for mouse paths. */
2
+ export {};
3
+ //# sourceMappingURL=easing-base.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"easing-base.js","sourceRoot":"","sources":["../src/easing-base.ts"],"names":[],"mappings":"AAAA,8CAA8C"}
@@ -0,0 +1,9 @@
1
+ export type { Point, EasingFn, ScalarTween } from "./easing-base.js";
2
+ export { easeInBack, easeInBounce, easeInCirc, easeInCubic, easeInElastic, easeInExpo, easeInOutBack, easeInOutBounce, easeInOutCirc, easeInOutCubic, easeInOutQuart, easeInOutElastic, easeInOutExpo, easeInOutQuad, easeInOutQuint, easeInOutSine, easeInQuad, easeInQuart, easeInQuint, easeInSine, easeOutBack, easeOutBounce, easeOutCirc, easeOutCubic, easeOutElastic, easeOutExpo, easeOutQuad, easeOutQuart, easeOutQuint, easeOutSine, getPointOnLine, linearScalar, pathTweens, scalarTweens, toPathEasing, } from "./easing-all.js";
3
+ import { linearScalar } from "./easing-all.js";
4
+ /** Path linear tween for moveTo (linear as move tween). */
5
+ export declare const linear: import("./easing-base.js").EasingFn;
6
+ /** Scalar linear (linear(n) for 0..1). */
7
+ export { linearScalar as linearTween };
8
+ export declare function resolveTween(tween?: import("./easing-base.js").EasingFn | ((t: number) => number)): import("./easing-base.js").EasingFn;
9
+ //# sourceMappingURL=easing.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"easing.d.ts","sourceRoot":"","sources":["../src/easing.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAErE,OAAO,EACL,UAAU,EACV,YAAY,EACZ,UAAU,EACV,WAAW,EACX,aAAa,EACb,UAAU,EACV,aAAa,EACb,eAAe,EACf,aAAa,EACb,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,aAAa,EACb,aAAa,EACb,cAAc,EACd,aAAa,EACb,UAAU,EACV,WAAW,EACX,WAAW,EACX,UAAU,EACV,WAAW,EACX,aAAa,EACb,WAAW,EACX,YAAY,EACZ,cAAc,EACd,WAAW,EACX,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,cAAc,EACd,YAAY,EACZ,UAAU,EACV,YAAY,EACZ,YAAY,GACb,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAsC,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEnF,2DAA2D;AAC3D,eAAO,MAAM,MAAM,qCAAa,CAAC;AAEjC,0CAA0C;AAC1C,OAAO,EAAE,YAAY,IAAI,WAAW,EAAE,CAAC;AAEvC,wBAAgB,YAAY,CAC1B,KAAK,CAAC,EAAE,OAAO,kBAAkB,EAAE,QAAQ,GAAG,CAAC,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC,GACpE,OAAO,kBAAkB,EAAE,QAAQ,CAMrC"}
package/dist/easing.js ADDED
@@ -0,0 +1,15 @@
1
+ export { easeInBack, easeInBounce, easeInCirc, easeInCubic, easeInElastic, easeInExpo, easeInOutBack, easeInOutBounce, easeInOutCirc, easeInOutCubic, easeInOutQuart, easeInOutElastic, easeInOutExpo, easeInOutQuad, easeInOutQuint, easeInOutSine, easeInQuad, easeInQuart, easeInQuint, easeInSine, easeOutBack, easeOutBounce, easeOutCirc, easeOutCubic, easeOutElastic, easeOutExpo, easeOutQuad, easeOutQuart, easeOutQuint, easeOutSine, getPointOnLine, linearScalar, pathTweens, scalarTweens, toPathEasing, } from "./easing-all.js";
2
+ import { linear as linearPath, toPathEasing, linearScalar } from "./easing-all.js";
3
+ /** Path linear tween for moveTo (linear as move tween). */
4
+ export const linear = linearPath;
5
+ /** Scalar linear (linear(n) for 0..1). */
6
+ export { linearScalar as linearTween };
7
+ export function resolveTween(tween) {
8
+ if (!tween)
9
+ return linearPath;
10
+ if (tween.length >= 3) {
11
+ return tween;
12
+ }
13
+ return toPathEasing(tween);
14
+ }
15
+ //# sourceMappingURL=easing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"easing.js","sourceRoot":"","sources":["../src/easing.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,UAAU,EACV,YAAY,EACZ,UAAU,EACV,WAAW,EACX,aAAa,EACb,UAAU,EACV,aAAa,EACb,eAAe,EACf,aAAa,EACb,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,aAAa,EACb,aAAa,EACb,cAAc,EACd,aAAa,EACb,UAAU,EACV,WAAW,EACX,WAAW,EACX,UAAU,EACV,WAAW,EACX,aAAa,EACb,WAAW,EACX,YAAY,EACZ,cAAc,EACd,WAAW,EACX,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,cAAc,EACd,YAAY,EACZ,UAAU,EACV,YAAY,EACZ,YAAY,GACb,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEnF,2DAA2D;AAC3D,MAAM,CAAC,MAAM,MAAM,GAAG,UAAU,CAAC;AAEjC,0CAA0C;AAC1C,OAAO,EAAE,YAAY,IAAI,WAAW,EAAE,CAAC;AAEvC,MAAM,UAAU,YAAY,CAC1B,KAAqE;IAErE,IAAI,CAAC,KAAK;QAAE,OAAO,UAAU,CAAC;IAC9B,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QACtB,OAAO,KAA4C,CAAC;IACtD,CAAC;IACD,OAAO,YAAY,CAAC,KAA8B,CAAC,CAAC;AACtD,CAAC"}
@@ -0,0 +1,18 @@
1
+ /** nautogui error types. */
2
+ export declare class NautoguiException extends Error {
3
+ constructor(message: string);
4
+ }
5
+ export declare class FailSafeException extends Error {
6
+ constructor(message?: string);
7
+ }
8
+ export declare class ImageNotFoundException extends NautoguiException {
9
+ constructor(message?: string);
10
+ }
11
+ /** @deprecated use FailSafeException */
12
+ export declare class NautoguiFailSafeError extends FailSafeException {
13
+ }
14
+ /** @deprecated use NautoguiException */
15
+ export declare class NautoguiNotAvailableError extends NautoguiException {
16
+ constructor(message?: string);
17
+ }
18
+ //# sourceMappingURL=exceptions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exceptions.d.ts","sourceRoot":"","sources":["../src/exceptions.ts"],"names":[],"mappings":"AAAA,4BAA4B;AAE5B,qBAAa,iBAAkB,SAAQ,KAAK;gBAC9B,OAAO,EAAE,MAAM;CAI5B;AAED,qBAAa,iBAAkB,SAAQ,KAAK;gBAExC,OAAO,SAAqG;CAK/G;AAED,qBAAa,sBAAuB,SAAQ,iBAAiB;gBAC/C,OAAO,SAA8B;CAIlD;AAED,wCAAwC;AACxC,qBAAa,qBAAsB,SAAQ,iBAAiB;CAAG;AAE/D,wCAAwC;AACxC,qBAAa,yBAA0B,SAAQ,iBAAiB;gBAClD,OAAO,SAA+D;CAInF"}
@@ -0,0 +1,30 @@
1
+ /** nautogui error types. */
2
+ export class NautoguiException extends Error {
3
+ constructor(message) {
4
+ super(message);
5
+ this.name = "NautoguiException";
6
+ }
7
+ }
8
+ export class FailSafeException extends Error {
9
+ constructor(message = "Fail-safe triggered: mouse in screen corner. Set FAILSAFE to false to disable (not recommended).") {
10
+ super(message);
11
+ this.name = "FailSafeException";
12
+ }
13
+ }
14
+ export class ImageNotFoundException extends NautoguiException {
15
+ constructor(message = "Image not found on screen") {
16
+ super(message);
17
+ this.name = "ImageNotFoundException";
18
+ }
19
+ }
20
+ /** @deprecated use FailSafeException */
21
+ export class NautoguiFailSafeError extends FailSafeException {
22
+ }
23
+ /** @deprecated use NautoguiException */
24
+ export class NautoguiNotAvailableError extends NautoguiException {
25
+ constructor(message = "nautogui backend unavailable; npm install @nut-tree/nut-js") {
26
+ super(message);
27
+ this.name = "NautoguiNotAvailableError";
28
+ }
29
+ }
30
+ //# sourceMappingURL=exceptions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exceptions.js","sourceRoot":"","sources":["../src/exceptions.ts"],"names":[],"mappings":"AAAA,4BAA4B;AAE5B,MAAM,OAAO,iBAAkB,SAAQ,KAAK;IAC1C,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;IAClC,CAAC;CACF;AAED,MAAM,OAAO,iBAAkB,SAAQ,KAAK;IAC1C,YACE,OAAO,GAAG,kGAAkG;QAE5G,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;IAClC,CAAC;CACF;AAED,MAAM,OAAO,sBAAuB,SAAQ,iBAAiB;IAC3D,YAAY,OAAO,GAAG,2BAA2B;QAC/C,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,wBAAwB,CAAC;IACvC,CAAC;CACF;AAED,wCAAwC;AACxC,MAAM,OAAO,qBAAsB,SAAQ,iBAAiB;CAAG;AAE/D,wCAAwC;AACxC,MAAM,OAAO,yBAA0B,SAAQ,iBAAiB;IAC9D,YAAY,OAAO,GAAG,4DAA4D;QAChF,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,2BAA2B,CAAC;IAC1C,CAAC;CACF"}
@@ -0,0 +1,10 @@
1
+ /** hold() context manager equivalent. */
2
+ /** Hold keys down, run fn, release in reverse order. */
3
+ export declare function hold<T>(keys: string | string[], fn: () => Promise<T>): Promise<T>;
4
+ /** Manual enter/exit for hold scope (Python `with hold('shift'):`). */
5
+ export declare function holdContext(keys: string | string[]): {
6
+ enter: () => Promise<void>;
7
+ exit: () => Promise<void>;
8
+ run: <T>(fn: () => Promise<T>) => Promise<T>;
9
+ };
10
+ //# sourceMappingURL=hold-context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hold-context.d.ts","sourceRoot":"","sources":["../src/hold-context.ts"],"names":[],"mappings":"AAAA,yCAAyC;AAIzC,wDAAwD;AACxD,wBAAsB,IAAI,CAAC,CAAC,EAC1B,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,EACvB,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GACnB,OAAO,CAAC,CAAC,CAAC,CAUZ;AAED,uEAAuE;AACvE,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG;IACpD,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1B,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;CAC9C,CAaA"}
@@ -0,0 +1,31 @@
1
+ /** hold() context manager equivalent. */
2
+ import { keyboardKeyDown, keyboardKeyUp } from "./backend.js";
3
+ /** Hold keys down, run fn, release in reverse order. */
4
+ export async function hold(keys, fn) {
5
+ const list = (Array.isArray(keys) ? keys : [keys]).map((k) => k.length > 1 ? k.toLowerCase() : k);
6
+ for (const k of list)
7
+ await keyboardKeyDown(k);
8
+ try {
9
+ return await fn();
10
+ }
11
+ finally {
12
+ for (const k of [...list].reverse())
13
+ await keyboardKeyUp(k);
14
+ }
15
+ }
16
+ /** Manual enter/exit for hold scope (Python `with hold('shift'):`). */
17
+ export function holdContext(keys) {
18
+ const list = (Array.isArray(keys) ? keys : [keys]).map((k) => k.length > 1 ? k.toLowerCase() : k);
19
+ return {
20
+ enter: async () => {
21
+ for (const k of list)
22
+ await keyboardKeyDown(k);
23
+ },
24
+ exit: async () => {
25
+ for (const k of [...list].reverse())
26
+ await keyboardKeyUp(k);
27
+ },
28
+ run: (fn) => hold(list, fn),
29
+ };
30
+ }
31
+ //# sourceMappingURL=hold-context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hold-context.js","sourceRoot":"","sources":["../src/hold-context.ts"],"names":[],"mappings":"AAAA,yCAAyC;AAEzC,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE9D,wDAAwD;AACxD,MAAM,CAAC,KAAK,UAAU,IAAI,CACxB,IAAuB,EACvB,EAAoB;IAEpB,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAC3D,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,CACnC,CAAC;IACF,KAAK,MAAM,CAAC,IAAI,IAAI;QAAE,MAAM,eAAe,CAAC,CAAC,CAAC,CAAC;IAC/C,IAAI,CAAC;QACH,OAAO,MAAM,EAAE,EAAE,CAAC;IACpB,CAAC;YAAS,CAAC;QACT,KAAK,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,OAAO,EAAE;YAAE,MAAM,aAAa,CAAC,CAAC,CAAC,CAAC;IAC9D,CAAC;AACH,CAAC;AAED,uEAAuE;AACvE,MAAM,UAAU,WAAW,CAAC,IAAuB;IAKjD,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAC3D,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,CACnC,CAAC;IACF,OAAO;QACL,KAAK,EAAE,KAAK,IAAI,EAAE;YAChB,KAAK,MAAM,CAAC,IAAI,IAAI;gBAAE,MAAM,eAAe,CAAC,CAAC,CAAC,CAAC;QACjD,CAAC;QACD,IAAI,EAAE,KAAK,IAAI,EAAE;YACf,KAAK,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,OAAO,EAAE;gBAAE,MAAM,aAAa,CAAC,CAAC,CAAC,CAAC;QAC9D,CAAC;QACD,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;KAC5B,CAAC;AACJ,CAAC"}
@@ -0,0 +1,104 @@
1
+ /**
2
+ * **nautogui** — cross-platform GUI automation: mouse, keyboard, screenshot, image template locate.
3
+ */
4
+ import { KEYBOARD_KEYS, KEY_NAMES, LEFT, MIDDLE, PRIMARY, QWERTY, QWERTZ, RIGHT, SECONDARY, VERSION, type KeyboardKey } from "./constants.js";
5
+ import { configureNautogui, DARWIN_CATCH_UP_TIME, DARWIN_CATCH_UP_TIME_SEC, FAILSAFE, FAILSAFE_POINTS, G_LOG_SCREENSHOTS_FILENAMES, LOG_SCREENSHOTS, LOG_SCREENSHOTS_LIMIT, MINIMUM_DURATION, MINIMUM_DURATION_SEC, MINIMUM_SLEEP, MINIMUM_SLEEP_SEC, NautoguiFailSafeError, NautoguiNotAvailableError, PAUSE, PAUSE_SEC, USE_IMAGE_NOT_FOUND_EXCEPTION, useImageNotFoundException } from "./config.js";
6
+ import { displayMousePosition } from "./display-mouse.js";
7
+ import { locateAllOnWindow, locateCenterOnWindow, locateOnWindow } from "./locate-window.js";
8
+ import { mouseInfo, MouseInfoWindow } from "./mouseinfo.js";
9
+ import { detectNativeMsgboxSupport } from "./native-msgbox.js";
10
+ import { easeInBack, easeInBounce, easeInCirc, easeInCubic, easeInElastic, easeInExpo, easeInOutBack, easeInOutBounce, easeInOutCirc, easeInOutCubic, easeInOutQuart, easeInOutElastic, easeInOutExpo, easeInOutQuad, easeInOutQuint, easeInOutSine, easeInQuad, easeInQuart, easeInQuint, easeInSine, easeOutBack, easeOutBounce, easeOutCirc, easeOutCubic, easeOutElastic, easeOutExpo, easeOutQuad, easeOutQuart, easeOutQuint, easeOutSine, getPointOnLine, linear, linearScalar, pathTweens, scalarTweens, type EasingFn, type Point, type ScalarTween } from "./easing.js";
11
+ import { FailSafeException, ImageNotFoundException, NautoguiException } from "./exceptions.js";
12
+ import { hold, holdContext } from "./hold-context.js";
13
+ import { isShiftCharacter, isValidKey } from "./keyboard-utils.js";
14
+ import { locate, locateAll } from "./locate-haystack.js";
15
+ import { alert, confirm, password, prompt } from "./msgbox.js";
16
+ import { pixelMatchesColor } from "./pixel.js";
17
+ import { center, type Box } from "./region.js";
18
+ import { run } from "./run.js";
19
+ import { countdown, failSafeCheck, getInfo, printInfo, sleep } from "./runtime.js";
20
+ import { Window, getActiveWindow, getActiveWindowTitle, getAllTitles, getAllWindows, getWindowsAt, getWindowsWithTitle } from "./windows.js";
21
+ export { loadNutJs } from "./backend.js";
22
+ export { VERSION, LEFT, MIDDLE, RIGHT, PRIMARY, SECONDARY, KEY_NAMES, KEYBOARD_KEYS, QWERTY, QWERTZ, configureNautogui, useImageNotFoundException, PAUSE, PAUSE_SEC, FAILSAFE, FAILSAFE_POINTS, MINIMUM_DURATION, MINIMUM_DURATION_SEC, MINIMUM_SLEEP, MINIMUM_SLEEP_SEC, DARWIN_CATCH_UP_TIME, DARWIN_CATCH_UP_TIME_SEC, LOG_SCREENSHOTS, LOG_SCREENSHOTS_LIMIT, G_LOG_SCREENSHOTS_FILENAMES, USE_IMAGE_NOT_FOUND_EXCEPTION, NautoguiException, FailSafeException, ImageNotFoundException, NautoguiFailSafeError, NautoguiNotAvailableError, linear, linearScalar, easeInQuad, easeOutQuad, easeInOutQuad, easeInCubic, easeOutCubic, easeInOutCubic, easeInQuart, easeOutQuart, easeInOutQuart, easeInQuint, easeOutQuint, easeInOutQuint, easeInSine, easeOutSine, easeInOutSine, easeInExpo, easeOutExpo, easeInOutExpo, easeInCirc, easeOutCirc, easeInOutCirc, easeInElastic, easeOutElastic, easeInOutElastic, easeInBack, easeOutBack, easeInOutBack, easeInBounce, easeOutBounce, easeInOutBounce, scalarTweens, pathTweens, getPointOnLine, center, alert, confirm, prompt, password, hold, holdContext, locate, locateAll, pixelMatchesColor, run, sleep, countdown, failSafeCheck, getInfo, printInfo, displayMousePosition, mouseInfo, MouseInfoWindow, detectNativeMsgboxSupport, locateOnWindow, locateAllOnWindow, locateCenterOnWindow, Window, getActiveWindow, getActiveWindowTitle, getAllWindows, getAllTitles, getWindowsWithTitle, getWindowsAt, isValidKey, isShiftCharacter, type EasingFn, type Point, type ScalarTween, type Box, type KeyboardKey, };
23
+ export type Size = {
24
+ width: number;
25
+ height: number;
26
+ };
27
+ export type MoveOptions = {
28
+ duration?: number;
29
+ tween?: EasingFn | ScalarTween;
30
+ _pause?: boolean;
31
+ };
32
+ export type ClickOptions = MoveOptions & {
33
+ button?: string | number;
34
+ clicks?: number;
35
+ interval?: number;
36
+ screenshotPath?: string;
37
+ confidence?: number;
38
+ logScreenshot?: boolean;
39
+ };
40
+ export type WriteOptions = {
41
+ interval?: number;
42
+ logScreenshot?: boolean;
43
+ };
44
+ export type LocateOptions = {
45
+ confidence?: number;
46
+ region?: Box;
47
+ grayscale?: boolean;
48
+ };
49
+ export type PixelColor = {
50
+ r: number;
51
+ g: number;
52
+ b: number;
53
+ a: number;
54
+ };
55
+ export declare function isAvailable(): Promise<boolean>;
56
+ /** size / resolution() */
57
+ export declare function size(): Promise<Size>;
58
+ export declare const resolution: typeof size;
59
+ /** position — optional x/y override without moving. */
60
+ export declare function position(x?: number | null, y?: number | null): Promise<Point>;
61
+ /** onScreen */
62
+ export declare function onScreen(x: number, y?: number): Promise<boolean>;
63
+ /** moveTo — null keeps axis unchanged. */
64
+ export declare function moveTo(x?: number | null, y?: number | null, opts?: MoveOptions): Promise<void>;
65
+ /** move / moveRel */
66
+ export declare function move(xOffset?: number, yOffset?: number, opts?: MoveOptions): Promise<void>;
67
+ export declare const moveRel: typeof move;
68
+ /** Click — string arg must be an existing PNG/image template path. */
69
+ export declare function click(target?: number | string | null, yOrOpts?: number | ClickOptions | null, maybeOpts?: ClickOptions): Promise<void>;
70
+ export declare function leftClick(x?: number, y?: number, opts?: ClickOptions): Promise<void>;
71
+ export declare function doubleClick(x?: number, y?: number, opts?: ClickOptions): Promise<void>;
72
+ export declare function tripleClick(x?: number, y?: number, opts?: ClickOptions): Promise<void>;
73
+ export declare function rightClick(x?: number, y?: number, opts?: ClickOptions): Promise<void>;
74
+ export declare function middleClick(x?: number, y?: number, opts?: ClickOptions): Promise<void>;
75
+ export declare function mouseDown(x?: number | null, y?: number | null, button?: string | number, opts?: MoveOptions): Promise<void>;
76
+ export declare function mouseUp(x?: number | null, y?: number | null, button?: string | number, opts?: MoveOptions): Promise<void>;
77
+ export declare function drag(xOffset?: number, yOffset?: number, opts?: MoveOptions & {
78
+ button?: string | number;
79
+ }): Promise<void>;
80
+ export declare const dragRel: typeof drag;
81
+ export declare function dragTo(x?: number | null, y?: number | null, opts?: MoveOptions): Promise<void>;
82
+ export declare function scroll(amount: number, x?: number | null, y?: number | null): Promise<void>;
83
+ export declare function hscroll(amount: number, x?: number | null, y?: number | null): Promise<void>;
84
+ export declare const vscroll: typeof scroll;
85
+ /** Type text (`write` is an alias). */
86
+ export declare function typewrite(message: string | string[], opts?: WriteOptions): Promise<void>;
87
+ export declare const write: typeof typewrite;
88
+ export declare function press(keys: string | string[], presses?: number, interval?: number): Promise<void>;
89
+ export declare function hotkey(...keys: (string | {
90
+ interval?: number;
91
+ })[]): Promise<void>;
92
+ export declare const shortcut: typeof hotkey;
93
+ export declare function keyDown(key: string): Promise<void>;
94
+ export declare function keyUp(key: string): Promise<void>;
95
+ export declare function screenshot(filePath?: string, region?: Box): Promise<string>;
96
+ export declare function pixel(x: number, y: number): Promise<PixelColor>;
97
+ /** locateOnScreen — PNG/image template on screen (nut.js). */
98
+ export declare function locateOnScreen(imagePath: string, opts?: LocateOptions): Promise<Box | null>;
99
+ export declare function locateCenterOnScreen(imagePath: string, opts?: LocateOptions): Promise<Point | null>;
100
+ export declare function locateAllOnScreen(imagePath: string, opts?: LocateOptions): Promise<Box[]>;
101
+ /** locateCenterOnScreen + click (image template only). */
102
+ export declare function clickTarget(imagePath: string, opts?: ClickOptions): Promise<void>;
103
+ export declare function fillWindowsOpenDialog(absoluteFilePath: string): Promise<void>;
104
+ //# sourceMappingURL=index.d.ts.map