playwriter 0.0.103 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (74) hide show
  1. package/dist/bippy.js +1 -1
  2. package/dist/cdp-relay.d.ts.map +1 -1
  3. package/dist/cdp-relay.js +5 -0
  4. package/dist/cdp-relay.js.map +1 -1
  5. package/dist/cli-help.test.d.ts +2 -0
  6. package/dist/cli-help.test.d.ts.map +1 -0
  7. package/dist/cli-help.test.js +31 -0
  8. package/dist/cli-help.test.js.map +1 -0
  9. package/dist/cli.js +13 -5
  10. package/dist/cli.js.map +1 -1
  11. package/dist/executor.d.ts +2 -1
  12. package/dist/executor.d.ts.map +1 -1
  13. package/dist/executor.js +32 -22
  14. package/dist/executor.js.map +1 -1
  15. package/dist/extension/background.js +516 -22
  16. package/dist/extension/manifest.json +4 -2
  17. package/dist/extension-connection.test.d.ts.map +1 -1
  18. package/dist/extension-connection.test.js +79 -0
  19. package/dist/extension-connection.test.js.map +1 -1
  20. package/dist/ghost-cursor-client.js +170 -83
  21. package/dist/{recording-ghost-cursor.d.ts → ghost-cursor-controller.d.ts} +15 -10
  22. package/dist/ghost-cursor-controller.d.ts.map +1 -0
  23. package/dist/ghost-cursor-controller.js +98 -0
  24. package/dist/ghost-cursor-controller.js.map +1 -0
  25. package/dist/ghost-cursor.d.ts.map +1 -1
  26. package/dist/ghost-cursor.js +42 -26
  27. package/dist/ghost-cursor.js.map +1 -1
  28. package/dist/on-mouse-action.test.js +25 -0
  29. package/dist/on-mouse-action.test.js.map +1 -1
  30. package/dist/popup-relocation.test.d.ts +7 -0
  31. package/dist/popup-relocation.test.d.ts.map +1 -0
  32. package/dist/popup-relocation.test.js +139 -0
  33. package/dist/popup-relocation.test.js.map +1 -0
  34. package/dist/prompt.md +13 -12
  35. package/dist/readability.js +1 -1
  36. package/dist/relay-core.test.d.ts.map +1 -1
  37. package/dist/relay-core.test.js +101 -1
  38. package/dist/relay-core.test.js.map +1 -1
  39. package/dist/relay-state.d.ts +1 -0
  40. package/dist/relay-state.d.ts.map +1 -1
  41. package/dist/relay-state.js.map +1 -1
  42. package/dist/screen-recording.d.ts +2 -2
  43. package/dist/screen-recording.d.ts.map +1 -1
  44. package/dist/screen-recording.js +0 -3
  45. package/dist/screen-recording.js.map +1 -1
  46. package/dist/selector-generator.js +1 -1
  47. package/package.json +6 -6
  48. package/src/aria-snapshots/github-interactive.txt +5 -3
  49. package/src/aria-snapshots/github-raw.txt +8 -5
  50. package/src/aria-snapshots/hackernews-interactive.txt +241 -242
  51. package/src/aria-snapshots/hackernews-raw.txt +267 -268
  52. package/src/aria-snapshots/prosemirror-interactive.txt +3 -1
  53. package/src/aria-snapshots/prosemirror-raw.txt +4 -1
  54. package/src/assets/aria-labels-hacker-news.png +0 -0
  55. package/src/assets/aria-labels-old-reddit.png +0 -0
  56. package/src/cdp-relay.ts +5 -0
  57. package/src/cli-help.test.ts +41 -0
  58. package/src/cli.ts +14 -9
  59. package/src/executor.ts +33 -22
  60. package/src/extension-connection.test.ts +88 -0
  61. package/src/ghost-cursor-client.ts +221 -96
  62. package/src/{recording-ghost-cursor.ts → ghost-cursor-controller.ts} +50 -34
  63. package/src/ghost-cursor.ts +54 -41
  64. package/src/on-mouse-action.test.ts +30 -0
  65. package/src/popup-relocation.test.ts +163 -0
  66. package/src/relay-core.test.ts +117 -0
  67. package/src/relay-state.ts +1 -1
  68. package/src/screen-recording.ts +3 -6
  69. package/src/skill.md +13 -12
  70. package/src/snapshots/shadcn-ui-accessibility-full.md +174 -181
  71. package/src/snapshots/shadcn-ui-accessibility-interactive.md +6 -14
  72. package/dist/recording-ghost-cursor.d.ts.map +0 -1
  73. package/dist/recording-ghost-cursor.js +0 -79
  74. package/dist/recording-ghost-cursor.js.map +0 -1
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "manifest_version": 3,
3
3
  "name": "Playwriter",
4
- "version": "0.0.79",
4
+ "version": "0.0.89",
5
5
  "description": "Automate your Browser using Cursor, Claude, VS Code. More capable and context efficient than Playwright MCP.",
6
6
  "permissions": [
7
7
  "debugger",
@@ -11,8 +11,10 @@
11
11
  "tabs",
12
12
  "tabCapture",
13
13
  "offscreen",
14
+ "storage",
14
15
  "identity",
15
- "identity.email"
16
+ "identity.email",
17
+ "webNavigation"
16
18
  ],
17
19
  "host_permissions": [
18
20
  "<all_urls>"
@@ -1 +1 @@
1
- {"version":3,"file":"extension-connection.test.d.ts","sourceRoot":"","sources":["../src/extension-connection.test.ts"],"names":[],"mappings":"AAKA,OAAO,wBAAwB,CAAA"}
1
+ {"version":3,"file":"extension-connection.test.d.ts","sourceRoot":"","sources":["../src/extension-connection.test.ts"],"names":[],"mappings":"AASA,OAAO,wBAAwB,CAAA"}
@@ -1,8 +1,12 @@
1
+ import fs from 'node:fs';
2
+ import os from 'node:os';
3
+ import path from 'node:path';
1
4
  import { createMCPClient } from './mcp-client.js';
2
5
  import { describe, it, expect, beforeAll, afterAll } from 'vitest';
3
6
  import { chromium } from '@xmorse/playwright-core';
4
7
  import { getCdpUrl } from './utils.js';
5
8
  import { setupTestContext, cleanupTestContext, getExtensionServiceWorker, js } from './test-utils.js';
9
+ import { getExtensionsStatus } from './relay-client.js';
6
10
  import './test-declarations.js';
7
11
  const TEST_PORT = 19990;
8
12
  describe('Extension Connection Tests', () => {
@@ -548,6 +552,81 @@ describe('Extension Connection Tests', () => {
548
552
  // Clean up
549
553
  await page.goto('about:blank');
550
554
  });
555
+ it('should keep an active browser connected when another Chromium context starts', async () => {
556
+ const browserContext = getBrowserContext();
557
+ const serviceWorker = await getExtensionServiceWorker(browserContext);
558
+ await serviceWorker.evaluate(async () => {
559
+ await globalThis.disconnectEverything();
560
+ });
561
+ const page = await browserContext.newPage();
562
+ const targetUrl = 'https://example.com/multi-context-stability';
563
+ await page.goto(targetUrl);
564
+ await page.waitForLoadState('domcontentloaded');
565
+ await page.bringToFront();
566
+ const enableResult = await serviceWorker.evaluate(async () => {
567
+ return await globalThis.toggleExtensionForActiveTab();
568
+ });
569
+ expect(enableResult.isConnected).toBe(true);
570
+ const secondUserDataDir = fs.mkdtempSync(path.join(os.tmpdir(), 'pw-conn-second-'));
571
+ const extensionPath = path.resolve(process.cwd(), '../extension', `dist-${TEST_PORT}`);
572
+ const secondContext = await chromium.launchPersistentContext(secondUserDataDir, {
573
+ channel: 'chromium',
574
+ headless: !process.env.HEADFUL,
575
+ colorScheme: 'dark',
576
+ args: [`--disable-extensions-except=${extensionPath}`, `--load-extension=${extensionPath}`],
577
+ });
578
+ try {
579
+ await getExtensionServiceWorker(secondContext);
580
+ const statusSnapshots = [];
581
+ for (let i = 0; i < 4; i++) {
582
+ await new Promise((resolve) => {
583
+ setTimeout(resolve, 1000);
584
+ });
585
+ const statuses = await getExtensionsStatus(TEST_PORT);
586
+ statusSnapshots.push({
587
+ keys: statuses.map((status) => {
588
+ return status.stableKey || status.extensionId;
589
+ }),
590
+ activeTargets: statuses.map((status) => {
591
+ return status.activeTargets;
592
+ }),
593
+ });
594
+ }
595
+ expect(statusSnapshots.every((snapshot) => {
596
+ return snapshot.keys.length >= 2;
597
+ })).toBe(true);
598
+ expect(statusSnapshots.every((snapshot) => {
599
+ return new Set(snapshot.keys).size === snapshot.keys.length;
600
+ })).toBe(true);
601
+ expect(statusSnapshots.every((snapshot) => {
602
+ return snapshot.activeTargets.some((count) => count > 0);
603
+ })).toBe(true);
604
+ const executeResult = await client.callTool({
605
+ name: 'execute',
606
+ arguments: {
607
+ code: js `
608
+ const pages = context.pages();
609
+ const testPage = pages.find((p) => p.url().includes('multi-context-stability'));
610
+ return { pagesCount: pages.length, found: !!testPage, url: testPage?.url() };
611
+ `,
612
+ },
613
+ });
614
+ const executeOutput = executeResult.content[0].text;
615
+ expect(executeOutput).toContain('found: true');
616
+ expect(executeOutput).toContain(targetUrl);
617
+ expect(executeResult.isError).not.toBe(true);
618
+ }
619
+ finally {
620
+ await secondContext.close();
621
+ fs.rmSync(secondUserDataDir, { recursive: true, force: true });
622
+ if (!page.isClosed()) {
623
+ await page.close();
624
+ }
625
+ await serviceWorker.evaluate(async () => {
626
+ await globalThis.disconnectEverything();
627
+ });
628
+ }
629
+ }, 120000);
551
630
  it('should maintain correct page.url() with service worker pages', async () => {
552
631
  const browserContext = getBrowserContext();
553
632
  const serviceWorker = await getExtensionServiceWorker(browserContext);
@@ -1 +1 @@
1
- {"version":3,"file":"extension-connection.test.js","sourceRoot":"","sources":["../src/extension-connection.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"extension-connection.test.js","sourceRoot":"","sources":["../src/extension-connection.test.ts"],"names":[],"mappings":"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"}
@@ -31,31 +31,46 @@
31
31
  var SCREENSTUDIO_POINTER_MACOS_TAHOE_DATA_URL = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNjE4IiBoZWlnaHQ9Ijk1OCIgdmlld0JveD0iMCAwIDYxOCA5NTgiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxnIGZpbHRlcj0idXJsKCNmaWx0ZXIwX2RfMzg0XzI3KSI+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMTI3LjA2MiAzNy4wMzMxTDU0MC42OTYgNDUxLjU1NUM1OTIuNjUzIDUwMy42NiA1NTUuNzk0IDU5Mi41NzQgNDgyLjIyNiA1OTIuNTc0TDQyMS44MzEgNTkyLjU2OUw0ODEuODIxIDczNS4wNTRDNDkyLjMzMSA3NjAuMDIxIDQ5Mi40NzkgNzg3LjY1MiA0ODIuMjY1IDgxMi43NjdDNDcyLjAwMiA4MzcuOTMyIDQ1Mi41NjEgODU3LjU3IDQyNy40OTYgODY4LjA4QzQxNC44NjQgODczLjM1OSA0MDEuNjQgODc2LjAyNCAzODguMTIxIDg3Ni4wMjRDMzQ3LjExNyA4NzYuMDI0IDMxMC4zNTggODUxLjYgMjk0LjQ3IDgxMy44MDRMMjMxLjQyIDY2My45MThMMTkwLjM2OCA3MDAuMzM3QzEzNy4wMjkgNzQ3LjUwOCA1MyA3MDkuNjYzIDUzIDYzOC40MTNWNjcuNjc0NEM1MyAyOC45OTAzIDk5LjcyNjggOS42NDgyOCAxMjcuMDYyIDM3LjAzMzFaIiBmaWxsPSJ3aGl0ZSIvPgo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTEwMi4zMTYgOTkuNjUyQzEwMi4zMTYgOTMuMTg4MiAxMTAuMTYyIDg5LjkzMTYgMTE0LjcwMSA5NC41MjA0TDUwNC44OTcgNDg1LjU1NUM1MjYuMTY0IDUwNi44NzEgNTExLjA2NSA1NDMuMjM2IDQ4MC45NjcgNTQzLjIzNkwzNDcuNTQ2IDU0My4xNjFMNDM2LjM0MiA3NTQuMTQzQzQ0Ny41NDIgNzgwLjc4OCA0MzUuMDA5IDgxMS40MjkgNDA4LjQxNCA4MjIuNTgxQzM4MS43MiA4MzMuNzgxIDM1MS4xMjggODIxLjI5OCAzMzkuOTc3IDc5NC43MDJMMjUwLjI5MyA1ODEuMzUyTDE1OC41MTcgNjYyLjY0NEMxMzcuOTkxIDY4MC44MDEgMTA2LjMxOSA2NjguMTQ1IDEwMi42NjQgNjQyLjMyM0wxMDIuMzE2IDYzNy4zMzFWOTkuNjUyWiIgZmlsbD0iYmxhY2siLz4KPC9nPgo8ZGVmcz4KPGZpbHRlciBpZD0iZmlsdGVyMF9kXzM4NF8yNyIgeD0iMC4zNCIgeT0iMC43OTkyMTkiIHdpZHRoPSI2MTcuMzIiIGhlaWdodD0iOTU3LjE0NCIgZmlsdGVyVW5pdHM9InVzZXJTcGFjZU9uVXNlIiBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM9InNSR0IiPgo8ZmVGbG9vZCBmbG9vZC1vcGFjaXR5PSIwIiByZXN1bHQ9IkJhY2tncm91bmRJbWFnZUZpeCIvPgo8ZmVDb2xvck1hdHJpeCBpbj0iU291cmNlQWxwaGEiIHR5cGU9Im1hdHJpeCIgdmFsdWVzPSIwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAxMjcgMCIgcmVzdWx0PSJoYXJkQWxwaGEiLz4KPGZlT2Zmc2V0IGR5PSIyOS4yNiIvPgo8ZmVHYXVzc2lhbkJsdXIgc3RkRGV2aWF0aW9uPSIyNi4zMyIvPgo8ZmVDb21wb3NpdGUgaW4yPSJoYXJkQWxwaGEiIG9wZXJhdG9yPSJvdXQiLz4KPGZlQ29sb3JNYXRyaXggdHlwZT0ibWF0cml4IiB2YWx1ZXM9IjAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAuNjUgMCIvPgo8ZmVCbGVuZCBtb2RlPSJub3JtYWwiIGluMj0iQmFja2dyb3VuZEltYWdlRml4IiByZXN1bHQ9ImVmZmVjdDFfZHJvcFNoYWRvd18zODRfMjciLz4KPGZlQmxlbmQgbW9kZT0ibm9ybWFsIiBpbj0iU291cmNlR3JhcGhpYyIgaW4yPSJlZmZlY3QxX2Ryb3BTaGFkb3dfMzg0XzI3IiByZXN1bHQ9InNoYXBlIi8+CjwvZmlsdGVyPgo8L2RlZnM+Cjwvc3ZnPg==";
32
32
 
33
33
  // src/ghost-cursor-client.ts
34
+ var isTopFrame = (() => {
35
+ try {
36
+ return window === window.top;
37
+ } catch {
38
+ return false;
39
+ }
40
+ })();
34
41
  var CURSOR_ID = "__playwriter_ghost_cursor__";
35
42
  var SCREENSTUDIO_POINTER_ASPECT_RATIO = 618 / 958;
36
43
  var SCREENSTUDIO_HOTSPOT_X_RATIO = 0.14;
37
44
  var SCREENSTUDIO_HOTSPOT_Y_RATIO = 0.06;
38
45
  var MINIMAL_TRIANGLE_HOTSPOT_X_RATIO = 0.07;
39
46
  var MINIMAL_TRIANGLE_HOTSPOT_Y_RATIO = 0.06;
47
+ var MOVE_EASING = "cubic-bezier(0.65, 0, 0.35, 1)";
48
+ var PRESS_EASING = "cubic-bezier(0.23, 1, 0.32, 1)";
49
+ var PRESS_DURATION_MS = 140;
50
+ var IDLE_HIDE_DELAY_MS = 5000;
51
+ var IDLE_FADE_OUT_MS = 600;
40
52
  var DEFAULT_OPTIONS = {
41
53
  style: "minimal",
42
54
  color: "#111827",
43
55
  size: 22,
44
56
  zIndex: 2147483647,
45
- easing: "cubic-bezier(0.16, 1, 0.3, 1)",
46
- minDurationMs: 24,
47
- maxDurationMs: 320,
48
- speedPxPerMs: 4
57
+ easing: MOVE_EASING,
58
+ minDurationMs: 220,
59
+ maxDurationMs: 1500,
60
+ speedPxPerMs: 1.2
49
61
  };
50
62
  var runtime = {
51
- cursorElement: null,
63
+ outerElement: null,
64
+ innerElement: null,
52
65
  options: DEFAULT_OPTIONS,
53
66
  x: 0,
54
67
  y: 0,
55
68
  scale: 1,
56
69
  hasPosition: false,
57
- enabled: false
70
+ enabled: false,
71
+ idleHidden: false
58
72
  };
73
+ var idleHideTimer = null;
59
74
  function clamp(options) {
60
75
  const { value, min, max } = options;
61
76
  return Math.min(max, Math.max(min, value));
@@ -115,12 +130,18 @@
115
130
  }
116
131
  return "0.72";
117
132
  }
118
- function applyTransform() {
119
- if (!runtime.cursorElement) {
133
+ function applyTranslate() {
134
+ if (!runtime.outerElement) {
120
135
  return;
121
136
  }
122
137
  const hotspot = getHotspotOffsetPx();
123
- runtime.cursorElement.style.transform = `translate3d(${runtime.x - hotspot.x}px, ${runtime.y - hotspot.y}px, 0) scale(${runtime.scale})`;
138
+ runtime.outerElement.style.transform = `translate3d(${runtime.x - hotspot.x}px, ${runtime.y - hotspot.y}px, 0)`;
139
+ }
140
+ function applyScale() {
141
+ if (!runtime.innerElement) {
142
+ return;
143
+ }
144
+ runtime.innerElement.style.transform = `scale(${runtime.scale})`;
124
145
  }
125
146
  function computeDurationMs(options) {
126
147
  if (!runtime.hasPosition) {
@@ -137,103 +158,146 @@
137
158
  });
138
159
  }
139
160
  function createCursorElement() {
140
- const element = document.createElement("div");
141
- element.id = CURSOR_ID;
142
- element.setAttribute("aria-hidden", "true");
143
- element.style.position = "fixed";
144
- element.style.left = "0";
145
- element.style.top = "0";
146
- element.style.pointerEvents = "none";
147
- element.style.zIndex = `${runtime.options.zIndex}`;
148
- element.style.opacity = getBaseOpacity();
149
- element.style.transitionProperty = "transform, opacity";
150
- element.style.transitionTimingFunction = runtime.options.easing;
151
- element.style.transitionDuration = "0ms";
152
- element.style.willChange = "transform";
153
- runtime.cursorElement = element;
161
+ const outer = document.createElement("div");
162
+ outer.id = CURSOR_ID;
163
+ outer.setAttribute("aria-hidden", "true");
164
+ outer.style.position = "fixed";
165
+ outer.style.left = "0";
166
+ outer.style.top = "0";
167
+ outer.style.pointerEvents = "none";
168
+ outer.style.zIndex = `${runtime.options.zIndex}`;
169
+ outer.style.transitionProperty = "transform";
170
+ outer.style.transitionTimingFunction = runtime.options.easing;
171
+ outer.style.transitionDuration = "0ms";
172
+ outer.style.willChange = "transform";
173
+ const inner = document.createElement("div");
174
+ inner.style.transitionProperty = "transform, opacity";
175
+ inner.style.transitionTimingFunction = PRESS_EASING;
176
+ inner.style.transitionDuration = `${PRESS_DURATION_MS}ms`;
177
+ inner.style.opacity = getBaseOpacity();
178
+ outer.appendChild(inner);
179
+ runtime.outerElement = outer;
180
+ runtime.innerElement = inner;
154
181
  applyRuntimeVisualOptions();
155
- return element;
182
+ return outer;
156
183
  }
157
184
  function ensureCursorElement() {
158
185
  const existing = document.getElementById(CURSOR_ID);
159
186
  if (existing) {
160
- runtime.cursorElement = existing;
187
+ runtime.outerElement = existing;
188
+ runtime.innerElement = existing.firstElementChild || null;
161
189
  return existing;
162
190
  }
163
- const element = createCursorElement();
164
- runtime.cursorElement = element;
191
+ const outer = createCursorElement();
165
192
  const root = document.documentElement || document.body;
166
- root.appendChild(element);
167
- return element;
193
+ root.appendChild(outer);
194
+ return outer;
168
195
  }
169
196
  function applyRuntimeVisualOptions() {
170
- if (!runtime.cursorElement) {
197
+ if (!runtime.innerElement) {
171
198
  return;
172
199
  }
173
200
  const dimensions = getCursorDimensions();
174
- runtime.cursorElement.style.width = `${dimensions.width}px`;
175
- runtime.cursorElement.style.height = `${dimensions.height}px`;
176
- runtime.cursorElement.style.zIndex = `${runtime.options.zIndex}`;
177
- runtime.cursorElement.style.transitionTimingFunction = runtime.options.easing;
201
+ runtime.innerElement.style.width = `${dimensions.width}px`;
202
+ runtime.innerElement.style.height = `${dimensions.height}px`;
203
+ if (runtime.outerElement) {
204
+ runtime.outerElement.style.zIndex = `${runtime.options.zIndex}`;
205
+ runtime.outerElement.style.transitionTimingFunction = runtime.options.easing;
206
+ }
207
+ const hotspot = getHotspotOffsetPx();
208
+ runtime.innerElement.style.transformOrigin = `${hotspot.x}px ${hotspot.y}px`;
178
209
  if (runtime.options.style === "screenstudio") {
179
- runtime.cursorElement.style.borderRadius = "0";
180
- runtime.cursorElement.style.border = "none";
181
- runtime.cursorElement.style.backgroundColor = "transparent";
182
- runtime.cursorElement.style.backgroundImage = `url("${SCREENSTUDIO_POINTER_MACOS_TAHOE_DATA_URL}")`;
183
- runtime.cursorElement.style.backgroundRepeat = "no-repeat";
184
- runtime.cursorElement.style.backgroundPosition = "left top";
185
- runtime.cursorElement.style.backgroundSize = "contain";
186
- runtime.cursorElement.style.backdropFilter = "none";
187
- runtime.cursorElement.style.filter = "none";
188
- runtime.cursorElement.style.boxShadow = "none";
189
- runtime.cursorElement.style.opacity = getBaseOpacity();
210
+ runtime.innerElement.style.borderRadius = "0";
211
+ runtime.innerElement.style.border = "none";
212
+ runtime.innerElement.style.backgroundColor = "transparent";
213
+ runtime.innerElement.style.backgroundImage = `url("${SCREENSTUDIO_POINTER_MACOS_TAHOE_DATA_URL}")`;
214
+ runtime.innerElement.style.backgroundRepeat = "no-repeat";
215
+ runtime.innerElement.style.backgroundPosition = "left top";
216
+ runtime.innerElement.style.backgroundSize = "contain";
217
+ runtime.innerElement.style.backdropFilter = "none";
218
+ runtime.innerElement.style.filter = "none";
219
+ runtime.innerElement.style.boxShadow = "none";
220
+ runtime.innerElement.style.opacity = getBaseOpacity();
190
221
  return;
191
222
  }
192
223
  if (runtime.options.style === "minimal") {
193
224
  const triangleSvg = `<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="-1 -1 26 26"><path fill="white" stroke="${runtime.options.color}" stroke-width="1.5" stroke-linejoin="round" d="m23.284 19.124l-6.866-6.895a.4.4 0 0 1-.118-.296a.43.43 0 0 1 .163-.282l4.439-3.077a1.48 1.48 0 0 0 .621-1.48a1.48 1.48 0 0 0-1.036-1.198L1.623.302a1.14 1.14 0 0 0-1.11.282A1.13 1.13 0 0 0 .29 1.649L5.928 20.44a1.48 1.48 0 0 0 1.183 1.035a1.48 1.48 0 0 0 1.48-.621l3.078-4.44a.37.37 0 0 1 .31-.118a.43.43 0 0 1 .296.104l6.91 6.91a1.48 1.48 0 0 0 2.087 0l2.086-2.086a1.48 1.48 0 0 0-.074-2.101"/></svg>`;
194
225
  const triangleDataUrl = `url("data:image/svg+xml,${encodeURIComponent(triangleSvg)}")`;
195
- runtime.cursorElement.style.borderRadius = "0";
196
- runtime.cursorElement.style.border = "none";
197
- runtime.cursorElement.style.backgroundColor = "transparent";
198
- runtime.cursorElement.style.backgroundImage = triangleDataUrl;
199
- runtime.cursorElement.style.backgroundRepeat = "no-repeat";
200
- runtime.cursorElement.style.backgroundSize = "contain";
201
- runtime.cursorElement.style.backgroundPosition = "left top";
202
- runtime.cursorElement.style.backdropFilter = "none";
203
- runtime.cursorElement.style.boxShadow = "none";
204
- runtime.cursorElement.style.filter = "drop-shadow(0 1px 2px rgba(0, 0, 0, 0.4))";
205
- runtime.cursorElement.style.opacity = getBaseOpacity();
226
+ runtime.innerElement.style.borderRadius = "0";
227
+ runtime.innerElement.style.border = "none";
228
+ runtime.innerElement.style.backgroundColor = "transparent";
229
+ runtime.innerElement.style.backgroundImage = triangleDataUrl;
230
+ runtime.innerElement.style.backgroundRepeat = "no-repeat";
231
+ runtime.innerElement.style.backgroundSize = "contain";
232
+ runtime.innerElement.style.backgroundPosition = "left top";
233
+ runtime.innerElement.style.backdropFilter = "none";
234
+ runtime.innerElement.style.boxShadow = "none";
235
+ runtime.innerElement.style.filter = "drop-shadow(0 1px 2px rgba(0, 0, 0, 0.4))";
236
+ runtime.innerElement.style.opacity = getBaseOpacity();
206
237
  return;
207
238
  }
208
- runtime.cursorElement.style.borderRadius = "999px";
209
- runtime.cursorElement.style.border = "none";
210
- runtime.cursorElement.style.backgroundColor = runtime.options.color;
211
- runtime.cursorElement.style.backgroundImage = "none";
212
- runtime.cursorElement.style.backdropFilter = "none";
213
- runtime.cursorElement.style.filter = "none";
214
- runtime.cursorElement.style.boxShadow = "0 2px 10px rgba(0, 0, 0, 0.18), inset 0 0 0 2px rgba(255, 255, 255, 0.55)";
215
- runtime.cursorElement.style.opacity = getBaseOpacity();
239
+ runtime.innerElement.style.borderRadius = "999px";
240
+ runtime.innerElement.style.border = "none";
241
+ runtime.innerElement.style.backgroundColor = runtime.options.color;
242
+ runtime.innerElement.style.backgroundImage = "none";
243
+ runtime.innerElement.style.backdropFilter = "none";
244
+ runtime.innerElement.style.filter = "none";
245
+ runtime.innerElement.style.boxShadow = "0 2px 10px rgba(0, 0, 0, 0.18), inset 0 0 0 2px rgba(255, 255, 255, 0.55)";
246
+ runtime.innerElement.style.opacity = getBaseOpacity();
247
+ }
248
+ function clearIdleHideTimer() {
249
+ if (idleHideTimer !== null) {
250
+ clearTimeout(idleHideTimer);
251
+ idleHideTimer = null;
252
+ }
253
+ }
254
+ function scheduleIdleHide() {
255
+ clearIdleHideTimer();
256
+ idleHideTimer = setTimeout(() => {
257
+ idleHideTimer = null;
258
+ if (!runtime.enabled || !runtime.innerElement) {
259
+ return;
260
+ }
261
+ runtime.idleHidden = true;
262
+ runtime.innerElement.style.transitionDuration = `${IDLE_FADE_OUT_MS}ms`;
263
+ runtime.innerElement.style.transitionTimingFunction = PRESS_EASING;
264
+ runtime.innerElement.style.opacity = "0";
265
+ }, IDLE_HIDE_DELAY_MS);
266
+ }
267
+ function wakeFromIdle(options) {
268
+ runtime.x = options.x;
269
+ runtime.y = options.y;
270
+ runtime.hasPosition = true;
271
+ if (runtime.innerElement) {
272
+ runtime.innerElement.style.transitionDuration = `${PRESS_DURATION_MS}ms`;
273
+ runtime.innerElement.style.transitionTimingFunction = PRESS_EASING;
274
+ runtime.innerElement.style.opacity = getBaseOpacity();
275
+ }
216
276
  }
217
277
  function moveCursor(options) {
218
278
  if (!runtime.enabled) {
219
279
  return;
220
280
  }
221
- const element = ensureCursorElement();
281
+ ensureCursorElement();
222
282
  const durationMs = computeDurationMs({ targetX: options.x, targetY: options.y });
223
- element.style.transitionDuration = `${Math.round(durationMs)}ms`;
283
+ if (runtime.outerElement) {
284
+ runtime.outerElement.style.transitionDuration = `${Math.round(durationMs)}ms`;
285
+ runtime.outerElement.style.transitionTimingFunction = runtime.options.easing;
286
+ }
224
287
  runtime.x = options.x;
225
288
  runtime.y = options.y;
226
289
  runtime.hasPosition = true;
227
- applyTransform();
290
+ applyTranslate();
228
291
  }
229
292
  function setPressed(options) {
230
- if (!runtime.enabled) {
293
+ if (!runtime.enabled || !runtime.innerElement) {
231
294
  return;
232
295
  }
233
- const element = ensureCursorElement();
234
- runtime.scale = options.pressed ? runtime.options.style === "screenstudio" ? 0.94 : runtime.options.style === "minimal" ? 0.93 : 0.82 : 1;
235
- element.style.opacity = options.pressed ? "1" : getBaseOpacity();
236
- applyTransform();
296
+ runtime.scale = options.pressed ? runtime.options.style === "dot" ? 0.92 : 0.95 : 1;
297
+ runtime.innerElement.style.transitionDuration = `${PRESS_DURATION_MS}ms`;
298
+ runtime.innerElement.style.transitionTimingFunction = PRESS_EASING;
299
+ runtime.innerElement.style.opacity = options.pressed ? "1" : getBaseOpacity();
300
+ applyScale();
237
301
  }
238
302
  function enable(options) {
239
303
  runtime.options = mergeOptions(options);
@@ -246,34 +310,44 @@
246
310
  runtime.scale = 1;
247
311
  runtime.hasPosition = true;
248
312
  }
249
- applyTransform();
313
+ runtime.idleHidden = false;
314
+ if (runtime.innerElement) {
315
+ runtime.innerElement.style.opacity = getBaseOpacity();
316
+ }
317
+ applyTranslate();
318
+ applyScale();
319
+ scheduleIdleHide();
250
320
  }
251
321
  function disable() {
252
322
  runtime.enabled = false;
253
323
  runtime.scale = 1;
254
324
  runtime.hasPosition = false;
255
- if (runtime.cursorElement) {
256
- runtime.cursorElement.remove();
257
- runtime.cursorElement = null;
325
+ runtime.idleHidden = false;
326
+ clearIdleHideTimer();
327
+ if (runtime.outerElement) {
328
+ runtime.outerElement.remove();
329
+ runtime.outerElement = null;
330
+ runtime.innerElement = null;
258
331
  }
259
332
  }
260
333
  function applyMouseAction(action) {
261
334
  if (!runtime.enabled) {
262
335
  return;
263
336
  }
337
+ if (runtime.idleHidden) {
338
+ runtime.idleHidden = false;
339
+ wakeFromIdle({ x: action.x, y: action.y });
340
+ }
264
341
  if (action.type === "move" || action.type === "wheel") {
265
342
  moveCursor({ x: action.x, y: action.y });
266
- return;
267
- }
268
- if (action.type === "down") {
343
+ } else if (action.type === "down") {
269
344
  moveCursor({ x: action.x, y: action.y });
270
345
  setPressed({ pressed: true });
271
- return;
272
- }
273
- if (action.type === "up") {
346
+ } else if (action.type === "up") {
274
347
  moveCursor({ x: action.x, y: action.y });
275
348
  setPressed({ pressed: false });
276
349
  }
350
+ scheduleIdleHide();
277
351
  }
278
352
  var api = {
279
353
  enable,
@@ -283,5 +357,18 @@
283
357
  return runtime.enabled;
284
358
  }
285
359
  };
286
- globalThis.__playwriterGhostCursor = api;
360
+ if (isTopFrame) {
361
+ globalThis.__playwriterGhostCursor = api;
362
+ try {
363
+ if (document.readyState === "loading") {
364
+ document.addEventListener("DOMContentLoaded", () => {
365
+ try {
366
+ api.enable();
367
+ } catch {}
368
+ }, { once: true });
369
+ } else {
370
+ api.enable();
371
+ }
372
+ } catch {}
373
+ }
287
374
  })();