@immense/vue-pom-generator 1.0.53 → 1.0.54

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.
@@ -1211,7 +1211,7 @@ function generateAggregatedCSharpFiles(
1211
1211
  " }",
1212
1212
  "",
1213
1213
  " // Minimal vue-select helper mirroring the TS BasePage.selectVSelectByTestId behavior.",
1214
- " // Note: annotationText is currently a no-op in C# output (we don't render a cursor overlay).",
1214
+ " // Note: annotationText is currently a no-op in C# output (we don't render a pointer overlay).",
1215
1215
  " protected async Task SelectVSelectByTestIdAsync(string testId, string value, int timeOut = 500)",
1216
1216
  " {",
1217
1217
  " var root = LocatorByTestId(testId);",
@@ -1,12 +1,12 @@
1
- import { Callout, type ElementTarget } from "./callout";
1
+ import { Callout, type CalloutOptions, type ElementTarget } from "./callout";
2
2
  import type { PwLocator, PwPage } from "./playwright-types";
3
3
 
4
- const __PW_CURSOR_ID__ = "__pw_cursor__";
4
+ const __PW_POINTER_ID__ = "__pw_pointer__";
5
5
  const __PW_EDITABLE_DESCENDANT_SELECTOR__
6
6
  = "input, textarea, select, [contenteditable=''], [contenteditable='true'], [contenteditable]:not([contenteditable='false'])";
7
7
 
8
- // A minimal 16×24 arrow cursor encoded as a base64 PNG.
9
- const __PW_CURSOR_PNG__ =
8
+ // A minimal 16×24 arrow pointer encoded as a base64 PNG.
9
+ const __PW_POINTER_PNG__ =
10
10
  "data:image/png;base64,"
11
11
  + "iVBORw0KGgoAAAANSUhEUgAAABQAAAAeCAQAAACGG/bgAAAAAmJLR0QA/4ePzL8AAAAJcEhZcwAA"
12
12
  + "HsYAAB7GAZEt8iwAAAAHdElNRQfgAwgMIwdxU/i7AAABZklEQVQ4y43TsU4UURSH8W+XmYwkS2I0"
@@ -18,41 +18,35 @@ const __PW_CURSOR_PNG__ =
18
18
  + "ONcpr3PrXy9VfS473M/D7H+TLmrqsXtOGctvxvMv2oVNP+Av0uHbzbxyJaywyUjx8TlnPY2YxqkD"
19
19
  + "dAAAAABJRU5ErkJggg==";
20
20
 
21
- const __pw_cursor_positions__ = new WeakMap<object, { x: number; y: number }>();
21
+ const __pw_pointer_positions__ = new WeakMap<object, { x: number; y: number }>();
22
22
 
23
- function __pw_get_cursor_pos__(page: PwPage): { x: number; y: number } {
24
- return __pw_cursor_positions__.get(page as object) ?? { x: 0, y: 0 };
23
+ function __pw_get_pointer_pos__(page: PwPage): { x: number; y: number } {
24
+ return __pw_pointer_positions__.get(page as object) ?? { x: 0, y: 0 };
25
25
  }
26
26
 
27
- function __pw_set_cursor_pos__(page: PwPage, x: number, y: number): void {
28
- __pw_cursor_positions__.set(page as object, { x, y });
27
+ function __pw_set_pointer_pos__(page: PwPage, x: number, y: number): void {
28
+ __pw_pointer_positions__.set(page as object, { x, y });
29
29
  }
30
30
 
31
- async function __pw_ensure_cursor__(page: PwPage): Promise<void> {
32
- const exists = await page.evaluate(
33
- ({ cursorId }: { cursorId: string }) => document.getElementById(cursorId) != null,
34
- { cursorId: __PW_CURSOR_ID__ },
35
- );
36
- if (exists) return;
37
-
38
- __pw_set_cursor_pos__(page, 0, 0);
39
-
40
- await page.evaluate(
41
- ({ id, src }: { id: string; src: string }) => {
42
- const img = document.createElement("img");
43
- img.setAttribute("src", src);
44
- img.setAttribute("id", id);
45
- img.setAttribute(
46
- "style",
47
- "position:fixed;z-index:2147483647;pointer-events:none;left:0;top:0;transform-origin:0 0;",
48
- );
49
- document.body.appendChild(img);
50
- },
51
- {
52
- id: __PW_CURSOR_ID__,
53
- src: __PW_CURSOR_PNG__,
54
- },
55
- );
31
+ export interface PointerMoveRequest {
32
+ animate: boolean;
33
+ durationMilliseconds: number;
34
+ endX: number;
35
+ endY: number;
36
+ startX: number;
37
+ startY: number;
38
+ transitionStyle: string;
39
+ }
40
+
41
+ export interface PointerPressRequest {
42
+ durationMilliseconds: number;
43
+ }
44
+
45
+ export interface PointerRenderer {
46
+ readonly overlayIds?: string[];
47
+ ensure: (page: PwPage) => Promise<void>;
48
+ move: (page: PwPage, request: PointerMoveRequest) => Promise<void>;
49
+ press: (page: PwPage, request: PointerPressRequest) => Promise<void>;
56
50
  }
57
51
 
58
52
  // ---------------------------------------------------------------------------
@@ -72,17 +66,17 @@ export interface PlaywrightAnimationOptions {
72
66
  */
73
67
  extraDelayMs?: number;
74
68
 
75
- /** Visual cursor / pointer-movement configuration. */
69
+ /** Visual pointer-movement configuration. */
76
70
  pointer?: {
77
71
  /**
78
- * Duration of the CSS-transition cursor glide in ms.
79
- * Set to 0 to teleport the cursor without animation.
72
+ * Duration of the CSS-transition pointer glide in ms.
73
+ * Set to 0 to teleport the pointer without animation.
80
74
  * Default: 250
81
75
  */
82
76
  durationMilliseconds?: number;
83
77
 
84
78
  /**
85
- * CSS transition timing function for the cursor glide.
79
+ * CSS transition timing function for the pointer glide.
86
80
  * Default: "ease-in-out"
87
81
  */
88
82
  transitionStyle?: "linear" | "ease" | "ease-in" | "ease-out" | "ease-in-out";
@@ -139,6 +133,102 @@ export interface AfterPointerClickInfo {
139
133
 
140
134
  export type AfterPointerClick = (info: AfterPointerClickInfo) => void | Promise<void>;
141
135
 
136
+ const __pw_default_pointer_renderer__: PointerRenderer = {
137
+ overlayIds: [__PW_POINTER_ID__],
138
+ async ensure(page) {
139
+ const exists = await page.evaluate(
140
+ ({ pointerId }: { pointerId: string }) => document.getElementById(pointerId) != null,
141
+ { pointerId: __PW_POINTER_ID__ },
142
+ );
143
+ if (exists) return;
144
+
145
+ __pw_set_pointer_pos__(page, 0, 0);
146
+
147
+ await page.evaluate(
148
+ ({ id, src }: { id: string; src: string }) => {
149
+ const img = document.createElement("img");
150
+ img.setAttribute("src", src);
151
+ img.setAttribute("id", id);
152
+ img.setAttribute(
153
+ "style",
154
+ "position:fixed;z-index:2147483647;pointer-events:none;left:0;top:0;transform-origin:0 0;",
155
+ );
156
+ document.body.appendChild(img);
157
+ },
158
+ {
159
+ id: __PW_POINTER_ID__,
160
+ src: __PW_POINTER_PNG__,
161
+ },
162
+ );
163
+ },
164
+ async move(page, request) {
165
+ await page.evaluate(
166
+ ({
167
+ animate,
168
+ dur,
169
+ ex,
170
+ ey,
171
+ id,
172
+ style,
173
+ sx,
174
+ sy,
175
+ }: {
176
+ animate: boolean;
177
+ dur: number;
178
+ ex: number;
179
+ ey: number;
180
+ id: string;
181
+ style: string;
182
+ sx: number;
183
+ sy: number;
184
+ }) => {
185
+ const el = document.getElementById(id);
186
+ if (!el) {
187
+ return;
188
+ }
189
+
190
+ el.style.transition = "";
191
+ el.style.willChange = "left, top";
192
+ el.style.left = `${animate ? sx : ex}px`;
193
+ el.style.top = `${animate ? sy : ey}px`;
194
+
195
+ if (animate) {
196
+ void el.offsetWidth;
197
+ el.style.transition = `left ${dur}ms ${style}, top ${dur}ms ${style}`;
198
+ el.style.left = `${ex}px`;
199
+ el.style.top = `${ey}px`;
200
+ }
201
+ },
202
+ {
203
+ animate: request.animate,
204
+ dur: request.durationMilliseconds,
205
+ ex: request.endX,
206
+ ey: request.endY,
207
+ id: __PW_POINTER_ID__,
208
+ style: request.transitionStyle,
209
+ sx: request.startX,
210
+ sy: request.startY,
211
+ },
212
+ );
213
+ },
214
+ async press(page, request) {
215
+ await page.evaluate(
216
+ ({ id, dur }: { id: string; dur: number }) => {
217
+ const el = document.getElementById(id);
218
+ if (el) {
219
+ el.style.transition = `transform ${dur}ms`;
220
+ el.style.transform = "scale(0.6)";
221
+ setTimeout(() => {
222
+ el.style.transition = `transform ${dur}ms`;
223
+ el.style.transform = "scale(1)";
224
+ }, dur);
225
+ }
226
+ },
227
+ { id: __PW_POINTER_ID__, dur: request.durationMilliseconds },
228
+ );
229
+ },
230
+ };
231
+
142
232
  // ---------------------------------------------------------------------------
143
233
  // Pointer class
144
234
  // ---------------------------------------------------------------------------
@@ -147,11 +237,16 @@ export class Pointer {
147
237
  private readonly page: PwPage;
148
238
  private readonly testIdAttribute: string;
149
239
  private readonly callout: Callout;
240
+ private readonly renderer: PointerRenderer;
150
241
 
151
- public constructor(page: PwPage, testIdAttribute: string, callout?: Callout) {
242
+ public constructor(page: PwPage, testIdAttribute: string, callout?: Callout, renderer?: PointerRenderer) {
152
243
  this.page = page;
153
244
  this.testIdAttribute = (testIdAttribute ?? "data-testid").trim() || "data-testid";
154
- this.callout = callout ?? new Callout(page);
245
+ this.renderer = renderer ?? __pw_default_pointer_renderer__;
246
+ const calloutOptions: CalloutOptions = {
247
+ extraOverlayIds: this.renderer.overlayIds,
248
+ };
249
+ this.callout = callout ?? new Callout(page, calloutOptions);
155
250
  }
156
251
 
157
252
  private toLocator(target: ElementTarget): PwLocator {
@@ -254,66 +349,27 @@ export class Pointer {
254
349
  const extraDelayMs = Math.max(0, opts.extraDelayMs ?? 0);
255
350
  const actionDelayMs = Math.max(0, delayMs);
256
351
 
257
- // Inject the visual cursor if it doesn't exist yet.
258
- await __pw_ensure_cursor__(this.page);
352
+ // Inject the visual pointer if it doesn't exist yet.
353
+ await this.renderer.ensure(this.page);
259
354
 
260
- // Move the cursor to the target element.
355
+ // Move the pointer to the target element.
261
356
  const box = await locator.first().boundingBox();
262
357
  if (box) {
263
358
  const endX = box.x + box.width / 2;
264
359
  const endY = box.y + box.height / 2;
265
- const { x: startX, y: startY } = __pw_get_cursor_pos__(this.page);
360
+ const { x: startX, y: startY } = __pw_get_pointer_pos__(this.page);
266
361
  const distance = Math.sqrt((endX - startX) ** 2 + (endY - startY) ** 2);
267
362
 
268
363
  const shouldAnimate = moveDurationMs > 0 && distance > 0;
269
- await this.page.evaluate(
270
- ({
271
- dur,
272
- ex,
273
- ey,
274
- id,
275
- style,
276
- sx,
277
- sy,
278
- animate,
279
- }: {
280
- dur: number;
281
- ex: number;
282
- ey: number;
283
- id: string;
284
- style: string;
285
- sx: number;
286
- sy: number;
287
- animate: boolean;
288
- }) => {
289
- const el = document.getElementById(id);
290
- if (!el) {
291
- return;
292
- }
293
-
294
- el.style.transition = "";
295
- el.style.willChange = "left, top";
296
- el.style.left = `${animate ? sx : ex}px`;
297
- el.style.top = `${animate ? sy : ey}px`;
298
-
299
- if (animate) {
300
- void el.offsetWidth;
301
- el.style.transition = `left ${dur}ms ${style}, top ${dur}ms ${style}`;
302
- el.style.left = `${ex}px`;
303
- el.style.top = `${ey}px`;
304
- }
305
- },
306
- {
307
- dur: moveDurationMs,
308
- ex: endX,
309
- ey: endY,
310
- id: __PW_CURSOR_ID__,
311
- style: transitionStyle,
312
- sx: startX,
313
- sy: startY,
314
- animate: shouldAnimate,
315
- },
316
- );
364
+ await this.renderer.move(this.page, {
365
+ animate: shouldAnimate,
366
+ durationMilliseconds: moveDurationMs,
367
+ endX,
368
+ endY,
369
+ startX,
370
+ startY,
371
+ transitionStyle,
372
+ });
317
373
 
318
374
  if (trimmedAnnotationText) {
319
375
  await this.callout.showForElement(locator, trimmedAnnotationText, {
@@ -330,7 +386,7 @@ export class Pointer {
330
386
  await this.page.waitForTimeout(moveDurationMs + 25);
331
387
  }
332
388
 
333
- __pw_set_cursor_pos__(this.page, endX, endY);
389
+ __pw_set_pointer_pos__(this.page, endX, endY);
334
390
  }
335
391
  else {
336
392
  await this.callout.hide();
@@ -342,23 +398,10 @@ export class Pointer {
342
398
 
343
399
  let clickedTestId: string | undefined;
344
400
  if (executeClick) {
345
- // Brief scale-down "press" animation on the cursor image.
401
+ // Brief scale-down "press" animation on the pointer image.
346
402
  if (moveDurationMs > 0) {
347
403
  const pressDur = Math.max(80, Math.round(moveDurationMs / 3));
348
- await this.page.evaluate(
349
- ({ id, dur }: { id: string; dur: number }) => {
350
- const el = document.getElementById(id);
351
- if (el) {
352
- el.style.transition = `transform ${dur}ms`;
353
- el.style.transform = "scale(0.6)";
354
- setTimeout(() => {
355
- el.style.transition = `transform ${dur}ms`;
356
- el.style.transform = "scale(1)";
357
- }, dur);
358
- }
359
- },
360
- { id: __PW_CURSOR_ID__, dur: pressDur },
361
- );
404
+ await this.renderer.press(this.page, { durationMilliseconds: pressDur });
362
405
  }
363
406
 
364
407
  try { clickedTestId = await this.getTestId(locator); } catch { /* noop */ }
@@ -380,7 +423,7 @@ export class Pointer {
380
423
  afterClick?: AfterPointerClick;
381
424
  },
382
425
  ): Promise<void> {
383
- // Animate cursor + click first.
426
+ // Animate the pointer + click first.
384
427
  await this.animateCursorToElement(target, executeClick, delayMs, annotationText, options);
385
428
 
386
429
  const locator = this.toLocator(target);
@@ -1,5 +1,6 @@
1
1
  import type { PwLocator, PwPage } from "./playwright-types";
2
- import type { AfterPointerClick } from "./pointer";
2
+ import type { CalloutRenderer } from "./callout";
3
+ import { type AfterPointerClick, type PointerRenderer } from "./pointer";
3
4
  /**
4
5
  * A chainable, thenable wrapper around a page object.
5
6
  *
@@ -21,6 +22,13 @@ type DeepValueFluent<T> = {
21
22
  };
22
23
  export type Fluent<T extends object> = DeepFluent<T, T> & PromiseLike<T>;
23
24
  export type ValueFluent<T> = DeepValueFluent<T> & PromiseLike<T>;
25
+ export interface BasePageOptions {
26
+ renderers?: {
27
+ callout?: CalloutRenderer;
28
+ pointer?: PointerRenderer;
29
+ };
30
+ testIdAttribute?: string;
31
+ }
24
32
  export declare class ObjectId {
25
33
  private readonly raw;
26
34
  constructor(raw: string);
@@ -40,9 +48,7 @@ export declare class BasePage {
40
48
  /**
41
49
  * @param {Page} page - Playwright page object
42
50
  */
43
- constructor(page: PwPage, options?: {
44
- testIdAttribute?: string;
45
- });
51
+ constructor(page: PwPage, options?: BasePageOptions);
46
52
  private waitForTestIdClickEventAfter;
47
53
  protected selectorForTestId(testId: string): string;
48
54
  protected locatorByTestId(testId: string): PwLocator;
@@ -50,7 +56,7 @@ export declare class BasePage {
50
56
  exact?: boolean;
51
57
  }): PwLocator;
52
58
  /**
53
- * Animates the cursor to an element.
59
+ * Animates the pointer to an element.
54
60
  */
55
61
  protected animateCursorToElement(target: string | PwLocator, executeClick?: boolean, delayMs?: number, annotationText?: string, options?: {
56
62
  afterClick?: AfterPointerClick;
@@ -1 +1 @@
1
- {"version":3,"file":"base-page.d.ts","sourceRoot":"","sources":["../../class-generation/base-page.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base-page.d.ts","sourceRoot":"","sources":["../../class-generation/base-page.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAI5D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EAAW,KAAK,iBAAiB,EAA8B,KAAK,eAAe,EAAE,MAAM,WAAW,CAAC;AAe9G;;;;;;;;GAQG;AACH;;;GAGG;AACH,KAAK,UAAU,CAAC,CAAC,EAAE,KAAK,SAAS,MAAM,IAAI;KACxC,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC,KAAK,MAAM,EAAE,GACzD,CAAC,SAAS,aAAa,GACvB,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,GACxC,CAAC,SAAS,kBAAkB,GAC5B,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,GACxC,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,MAAM,CAAC,KAAK,CAAC,GAC7B,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,GACnB,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,GACvB,CAAC,CAAC,CAAC,CAAC;CACP,CAAC;AAEF,KAAK,eAAe,CAAC,CAAC,IAAI;KACvB,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC,KAAK,MAAM,CAAC,GACxD,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GACvC,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,GACnB,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GACrB,CAAC,CAAC,CAAC,CAAC;CACP,CAAC;AAEF,MAAM,MAAM,MAAM,CAAC,CAAC,SAAS,MAAM,IAAI,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;AAEzE,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI,eAAe,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;AAEjE,MAAM,WAAW,eAAe;IAC9B,SAAS,CAAC,EAAE;QACV,OAAO,CAAC,EAAE,eAAe,CAAC;QAC1B,OAAO,CAAC,EAAE,eAAe,CAAC;KAC3B,CAAC;IACF,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,qBAAa,QAAQ;IACnB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;gBAEV,GAAG,EAAE,MAAM;IAOvB,QAAQ,IAAI,MAAM;IAIlB,KAAK,IAAI,MAAM;IAIf,KAAK,IAAI,MAAM;CAWvB;AAED;;;GAGG;AACH,qBAAa,QAAQ;IASA,SAAS,CAAC,IAAI,EAAE,MAAM;IARzC,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IAE3C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;IAClC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA+B;IAEvD;;OAEG;gBAC0B,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,eAAe;YAWtD,4BAA4B;IAsH1C,SAAS,CAAC,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAInD,SAAS,CAAC,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS;IAIpD,SAAS,CAAC,0BAA0B,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,SAAS;IAIjH;;OAEG;cACa,sBAAsB,CACpC,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,YAAY,GAAE,OAAc,EAC5B,OAAO,GAAE,MAAa,EACtB,cAAc,GAAE,MAAW,EAC3B,OAAO,CAAC,EAAE;QACR,UAAU,CAAC,EAAE,iBAAiB,CAAC;KAChC,GACA,OAAO,CAAC,IAAI,CAAC;IAIH,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI9E,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI1E,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAIzC;;;;OAIG;IACH,SAAS,CAAC,aAAa,CAAC,IAAI,SAAS,MAAM,EAAE,UAAU,EAAE,CAAC,GAAG,EAAE,IAAI,KAAK,SAAS,GAAG,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC;IAc9F,WAAW,CAAC,OAAO,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,QAAQ,CAAC;IAmBhE,gBAAgB,CAAC,OAAO,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAKhF;;;;;;;OAOG;IACH,SAAS,CAAC,MAAM,CAAC,CAAC,SAAS,MAAM,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;IAqKxE;;;OAGG;IACU,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,cAAc,GAAE,MAAW,EAAE,IAAI,GAAE,OAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAU/F,YAAY,CAAC,OAAO,EAAE,SAAS,EAAE,cAAc,GAAE,MAAW,EAAE,IAAI,GAAE,OAAc,GAAG,OAAO,CAAC,IAAI,CAAC;cAU/F,wBAAwB,CACtC,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,EACb,cAAc,GAAE,MAAW,EAC3B,IAAI,GAAE,OAAc,EACpB,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,GAC5B,OAAO,CAAC,IAAI,CAAC;cAKA,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,cAAc,GAAE,MAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAS3G;;;OAGG;cACa,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,MAAY,EAAE,cAAc,GAAE,MAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAoB1H,kBAAkB,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,cAAc,GAAE,MAAW,GAAG,OAAO,CAAC,IAAI,CAAC;cAS7F,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,cAAc,GAAE,MAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAS/F;;;;OAIG;cACa,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIzE;;;;OAIG;cACa,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAInE;;;;OAIG;cACa,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAIvE;;;;;;OAMG;cACa,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAI5F;;;OAGG;cACa,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAM5D;;;;OAIG;cACa,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAG7E"}
@@ -1,4 +1,25 @@
1
1
  import type { PwLocator, PwPage } from "./playwright-types";
2
+ export declare const POINTER_CALLOUT_IDS: {
3
+ readonly annotation: "__pw_pointer_callout__";
4
+ readonly arrow: "__pw_pointer_callout_arrow__";
5
+ readonly content: "__pw_pointer_callout_content__";
6
+ };
7
+ export declare const POINTER_CALLOUT_THEME: {
8
+ readonly arrowPadding: 10;
9
+ readonly arrowSize: 14;
10
+ readonly avoidPadding: 12;
11
+ readonly background: "#dc2626";
12
+ readonly border: "0px solid transparent";
13
+ readonly borderRadius: 0;
14
+ readonly boxShadow: "0 20px 44px rgba(127, 29, 29, 0.32)";
15
+ readonly charsPerLine: 28;
16
+ readonly gap: 18;
17
+ readonly margin: 18;
18
+ readonly maxWidth: 320;
19
+ readonly minHeight: 52;
20
+ readonly minWidth: 180;
21
+ readonly textColor: "#f8fafc";
22
+ };
2
23
  export type ElementTarget = string | PwLocator;
3
24
  export interface CalloutTargetBox {
4
25
  x: number;
@@ -10,9 +31,31 @@ export interface ShowCalloutOptions {
10
31
  skipScroll?: boolean;
11
32
  targetBox?: CalloutTargetBox;
12
33
  }
34
+ export interface CalloutRenderRequest {
35
+ overlayIds: string[];
36
+ target: ElementTarget;
37
+ targetBox: CalloutTargetBox;
38
+ text: string;
39
+ }
40
+ export interface CalloutRenderer {
41
+ readonly overlayIds?: string[];
42
+ hide: (page: PwPage) => Promise<void>;
43
+ show: (page: PwPage, request: CalloutRenderRequest) => Promise<void>;
44
+ }
45
+ export interface CalloutOptions {
46
+ extraOverlayIds?: string[];
47
+ renderer?: CalloutRenderer;
48
+ }
49
+ export declare function measureCalloutBubble(text: string): {
50
+ bubbleHeight: number;
51
+ bubbleWidth: number;
52
+ };
53
+ export declare const simpleCalloutRenderer: CalloutRenderer;
13
54
  export declare class Callout {
14
55
  private readonly page;
15
- constructor(page: PwPage);
56
+ private readonly extraOverlayIds;
57
+ private readonly renderer;
58
+ constructor(page: PwPage, options?: CalloutOptions);
16
59
  private toLocator;
17
60
  hide(): Promise<void>;
18
61
  showForElement(target: ElementTarget, annotationText: string, options?: ShowCalloutOptions): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"callout.d.ts","sourceRoot":"","sources":["../../class-generation/callout.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAiE5D,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,SAAS,CAAC;AAE/C,MAAM,WAAW,gBAAgB;IAChC,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CACf;AAsBD,MAAM,WAAW,kBAAkB;IAClC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,gBAAgB,CAAC;CAC7B;AA0ZD,qBAAa,OAAO;IACnB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAS;gBAEX,IAAI,EAAE,MAAM;IAI/B,OAAO,CAAC,SAAS;IAIJ,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAkCrB,cAAc,CAC1B,MAAM,EAAE,aAAa,EACrB,cAAc,EAAE,MAAM,EACtB,OAAO,CAAC,EAAE,kBAAkB,GAC1B,OAAO,CAAC,IAAI,CAAC;CA6QhB"}
1
+ {"version":3,"file":"callout.d.ts","sourceRoot":"","sources":["../../class-generation/callout.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5D,eAAO,MAAM,mBAAmB;;;;CAItB,CAAC;AAEX,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;CAexB,CAAC;AAEX,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,SAAS,CAAC;AAE/C,MAAM,WAAW,gBAAgB;IAChC,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,kBAAkB;IAClC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,gBAAgB,CAAC;CAC7B;AAED,MAAM,WAAW,oBAAoB;IACpC,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,MAAM,EAAE,aAAa,CAAC;IACtB,SAAS,EAAE,gBAAgB,CAAC;IAC5B,IAAI,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,eAAe;IAC/B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IAC/B,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,oBAAoB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACrE;AAED,MAAM,WAAW,cAAc;IAC9B,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,QAAQ,CAAC,EAAE,eAAe,CAAC;CAC3B;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG;IAAE,YAAY,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAchG;AAiPD,eAAO,MAAM,qBAAqB,iBAAkC,CAAC;AAErE,qBAAa,OAAO;IACnB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAS;IAC9B,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAW;IAC3C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAkB;gBAExB,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc;IAMzD,OAAO,CAAC,SAAS;IAIJ,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAIrB,cAAc,CAC1B,MAAM,EAAE,aAAa,EACrB,cAAc,EAAE,MAAM,EACtB,OAAO,CAAC,EAAE,kBAAkB,GAC1B,OAAO,CAAC,IAAI,CAAC;CAuChB"}
@@ -0,0 +1,4 @@
1
+ import { type CalloutRenderer } from "./callout";
2
+ export declare const floatingUiCalloutRenderer: CalloutRenderer;
3
+ export declare function createFloatingUiCalloutRenderer(): CalloutRenderer;
4
+ //# sourceMappingURL=floating-ui-callout.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"floating-ui-callout.d.ts","sourceRoot":"","sources":["../../class-generation/floating-ui-callout.ts"],"names":[],"mappings":"AACA,OAAO,EAGN,KAAK,eAAe,EAGpB,MAAM,WAAW,CAAC;AAsjBnB,eAAO,MAAM,yBAAyB,EAAE,eAuRvC,CAAC;AAEF,wBAAgB,+BAA+B,IAAI,eAAe,CAEjE"}
@@ -1,5 +1,23 @@
1
1
  import { Callout, type ElementTarget } from "./callout";
2
2
  import type { PwPage } from "./playwright-types";
3
+ export interface PointerMoveRequest {
4
+ animate: boolean;
5
+ durationMilliseconds: number;
6
+ endX: number;
7
+ endY: number;
8
+ startX: number;
9
+ startY: number;
10
+ transitionStyle: string;
11
+ }
12
+ export interface PointerPressRequest {
13
+ durationMilliseconds: number;
14
+ }
15
+ export interface PointerRenderer {
16
+ readonly overlayIds?: string[];
17
+ ensure: (page: PwPage) => Promise<void>;
18
+ move: (page: PwPage, request: PointerMoveRequest) => Promise<void>;
19
+ press: (page: PwPage, request: PointerPressRequest) => Promise<void>;
20
+ }
3
21
  export interface PlaywrightAnimationOptions {
4
22
  /**
5
23
  * Set to false to disable all animations and delays. Clicks/fills still happen.
@@ -11,16 +29,16 @@ export interface PlaywrightAnimationOptions {
11
29
  * Default: 0
12
30
  */
13
31
  extraDelayMs?: number;
14
- /** Visual cursor / pointer-movement configuration. */
32
+ /** Visual pointer-movement configuration. */
15
33
  pointer?: {
16
34
  /**
17
- * Duration of the CSS-transition cursor glide in ms.
18
- * Set to 0 to teleport the cursor without animation.
35
+ * Duration of the CSS-transition pointer glide in ms.
36
+ * Set to 0 to teleport the pointer without animation.
19
37
  * Default: 250
20
38
  */
21
39
  durationMilliseconds?: number;
22
40
  /**
23
- * CSS transition timing function for the cursor glide.
41
+ * CSS transition timing function for the pointer glide.
24
42
  * Default: "ease-in-out"
25
43
  */
26
44
  transitionStyle?: "linear" | "ease" | "ease-in" | "ease-out" | "ease-in-out";
@@ -54,7 +72,8 @@ export declare class Pointer {
54
72
  private readonly page;
55
73
  private readonly testIdAttribute;
56
74
  private readonly callout;
57
- constructor(page: PwPage, testIdAttribute: string, callout?: Callout);
75
+ private readonly renderer;
76
+ constructor(page: PwPage, testIdAttribute: string, callout?: Callout, renderer?: PointerRenderer);
58
77
  private toLocator;
59
78
  private getTestId;
60
79
  private isEditableElement;
@@ -1 +1 @@
1
- {"version":3,"file":"pointer.d.ts","sourceRoot":"","sources":["../../class-generation/pointer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,WAAW,CAAC;AACxD,OAAO,KAAK,EAAa,MAAM,EAAE,MAAM,oBAAoB,CAAC;AA4D5D,MAAM,WAAW,0BAA0B;IAC1C;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,sDAAsD;IACtD,OAAO,CAAC,EAAE;QACT;;;;WAIG;QACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAE9B;;;WAGG;QACH,eAAe,CAAC,EAAE,QAAQ,GAAG,MAAM,GAAG,SAAS,GAAG,UAAU,GAAG,aAAa,CAAC;QAE7E;;;WAGG;QACH,sBAAsB,CAAC,EAAE,MAAM,CAAC;KAChC,CAAC;IAEF,uCAAuC;IACvC,QAAQ,CAAC,EAAE;QACV;;;WAGG;QACH,qBAAqB,CAAC,EAAE,MAAM,CAAC;KAC/B,CAAC;CACF;AASD,wBAAgB,6BAA6B,CAAC,OAAO,EAAE,0BAA0B,GAAG,IAAI,CAavF;AAED,MAAM,WAAW,qBAAqB;IACrC,8DAA8D;IAC9D,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;OAGG;IACH,YAAY,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,MAAM,iBAAiB,GAAG,CAAC,IAAI,EAAE,qBAAqB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAMtF,qBAAa,OAAO;IACnB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAS;IAC9B,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAS;IACzC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;gBAEf,IAAI,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO;IAM3E,OAAO,CAAC,SAAS;YAIH,SAAS;YAMT,iBAAiB;YAmBjB,sBAAsB;IAmBvB,sBAAsB,CAClC,MAAM,EAAE,aAAa,EACrB,YAAY,GAAE,OAAc,EAC5B,OAAO,GAAE,MAAa,EACtB,cAAc,GAAE,MAAW,EAC3B,OAAO,CAAC,EAAE;QACT,UAAU,CAAC,EAAE,iBAAiB,CAAC;KAC/B,GACC,OAAO,CAAC,IAAI,CAAC;IAgKH,qCAAqC,CACjD,MAAM,EAAE,aAAa,EACrB,IAAI,EAAE,MAAM,EACZ,YAAY,GAAE,OAAc,EAC5B,OAAO,GAAE,MAAa,EACtB,cAAc,GAAE,MAAW,EAC3B,OAAO,CAAC,EAAE;QACT,UAAU,CAAC,EAAE,iBAAiB,CAAC;KAC/B,GACC,OAAO,CAAC,IAAI,CAAC;CAiBhB"}
1
+ {"version":3,"file":"pointer.d.ts","sourceRoot":"","sources":["../../class-generation/pointer.ts"],"names":[],"mappings":"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"}