@qontinui/ui-bridge 0.8.3 → 0.8.5

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 (87) hide show
  1. package/dist/ai/index.d.mts +5 -5
  2. package/dist/ai/index.d.ts +5 -5
  3. package/dist/artifacts/index.d.mts +6 -6
  4. package/dist/artifacts/index.d.ts +6 -6
  5. package/dist/{assertions-DZFxmWqR.d.ts → assertions-9y_goPX8.d.ts} +1 -1
  6. package/dist/{assertions-DWBEmaTc.d.mts → assertions-BkFdgS11.d.mts} +1 -1
  7. package/dist/{browser-capture-7970YWEJ.d.mts → browser-capture-BFY4Ai_b.d.mts} +1 -1
  8. package/dist/{browser-capture-Dsc1ghBH.d.ts → browser-capture-DQIZJK8u.d.ts} +1 -1
  9. package/dist/{change-observer-QqBw54NG.d.ts → change-observer-BCFsf_3w.d.ts} +1 -1
  10. package/dist/{change-observer-Bj0ij6eZ.d.mts → change-observer-DMV48Rsi.d.mts} +1 -1
  11. package/dist/contracts/index.d.mts +5 -5
  12. package/dist/contracts/index.d.ts +5 -5
  13. package/dist/control/index.d.mts +3 -3
  14. package/dist/control/index.d.ts +3 -3
  15. package/dist/core/index.d.mts +8 -8
  16. package/dist/core/index.d.ts +8 -8
  17. package/dist/ctr/index.d.mts +4 -4
  18. package/dist/ctr/index.d.ts +4 -4
  19. package/dist/ctr/migrate.d.mts +3 -3
  20. package/dist/ctr/migrate.d.ts +3 -3
  21. package/dist/debug/index.d.mts +6 -6
  22. package/dist/debug/index.d.ts +6 -6
  23. package/dist/{drag-drop-detector-DZtkbaBK.d.mts → drag-drop-detector-B42P2r0E.d.mts} +1 -1
  24. package/dist/{drag-drop-detector-eWUPfj6J.d.ts → drag-drop-detector-Cryu0UJ4.d.ts} +1 -1
  25. package/dist/{error-snapshot-Bevw5R3b.d.mts → error-snapshot--J267oBc.d.mts} +1 -1
  26. package/dist/{error-snapshot-CeivHpv3.d.ts → error-snapshot-loiODvPI.d.ts} +1 -1
  27. package/dist/{find-B9bMv3Ym.d.mts → find-B3PZpTYx.d.mts} +1 -1
  28. package/dist/{find-CWg7f7ej.d.ts → find-BxBh1Vaz.d.ts} +1 -1
  29. package/dist/index.d.mts +19 -19
  30. package/dist/index.d.ts +19 -19
  31. package/dist/index.js +75 -14
  32. package/dist/index.js.map +1 -1
  33. package/dist/index.mjs +75 -14
  34. package/dist/index.mjs.map +1 -1
  35. package/dist/{metrics-C1vyvEnE.d.mts → metrics-CptGGSyd.d.mts} +1 -1
  36. package/dist/{metrics-CyfiJzRI.d.ts → metrics-djC7QIe4.d.ts} +1 -1
  37. package/dist/{migrate-specs-to-ctr-DJbRDrAj.d.ts → migrate-specs-to-ctr-DI66X0o1.d.ts} +2 -2
  38. package/dist/{migrate-specs-to-ctr-RBbUuYsq.d.mts → migrate-specs-to-ctr-VKlW-C3q.d.mts} +2 -2
  39. package/dist/{nextjs-B4TCPAfS.d.mts → nextjs-BLz9SI7m.d.mts} +2 -2
  40. package/dist/{nextjs-BnIOtNt6.d.ts → nextjs-C4JKs35V.d.ts} +2 -2
  41. package/dist/react/index.d.mts +4 -4
  42. package/dist/react/index.d.ts +4 -4
  43. package/dist/react/index.js +75 -14
  44. package/dist/react/index.js.map +1 -1
  45. package/dist/react/index.mjs +75 -14
  46. package/dist/react/index.mjs.map +1 -1
  47. package/dist/render-log/index.d.mts +1 -1
  48. package/dist/render-log/index.d.ts +1 -1
  49. package/dist/server/express.d.mts +6 -6
  50. package/dist/server/express.d.ts +6 -6
  51. package/dist/server/handlers.d.mts +8 -8
  52. package/dist/server/handlers.d.ts +8 -8
  53. package/dist/server/index.d.mts +16 -16
  54. package/dist/server/index.d.ts +16 -16
  55. package/dist/server/nextjs.d.mts +7 -7
  56. package/dist/server/nextjs.d.ts +7 -7
  57. package/dist/server/standalone.d.mts +8 -8
  58. package/dist/server/standalone.d.ts +8 -8
  59. package/dist/specs/index.d.mts +10 -10
  60. package/dist/specs/index.d.ts +10 -10
  61. package/dist/{sse-handler-Ck6QgKIV.d.ts → sse-handler-Cowd3Zwy.d.ts} +1 -1
  62. package/dist/{sse-handler-BygF1ZRx.d.mts → sse-handler-z28jXpCY.d.mts} +1 -1
  63. package/dist/{standalone-BUCA1URn.d.ts → standalone-CTnUKDxL.d.ts} +4 -4
  64. package/dist/{standalone-B6QFUHF_.d.mts → standalone-Defu4jNT.d.mts} +4 -4
  65. package/dist/{store-xvmPv43F.d.mts → store-D8m5aeL-.d.mts} +1 -1
  66. package/dist/{store-D-30BOJP.d.ts → store-Dr-TpWW8.d.ts} +1 -1
  67. package/dist/{style-types-C24doi8T.d.ts → style-types-B0hdmwUq.d.ts} +1 -1
  68. package/dist/{style-types-B7dWqyuR.d.mts → style-types-BSLL9Jcs.d.mts} +1 -1
  69. package/dist/{types-BNQe-q_K.d.mts → types-0sp8HcIS.d.mts} +1 -1
  70. package/dist/{types-DTeaTrmK.d.mts → types-Bb5MsD5H.d.mts} +4 -4
  71. package/dist/{types-DuUJTWXo.d.ts → types-Bh8GMnD9.d.ts} +6 -0
  72. package/dist/{types-C8pdSnnK.d.mts → types-BkNCY6t1.d.mts} +1 -1
  73. package/dist/{types-C7s_LDdD.d.ts → types-Br-GPusu.d.ts} +4 -4
  74. package/dist/{types-CzK_r8H4.d.mts → types-Bue5gWo6.d.mts} +6 -0
  75. package/dist/{types-BdO-09O2.d.mts → types-CkH1wKcK.d.mts} +3 -3
  76. package/dist/{types-CrOuvKu2.d.mts → types-Dr_hw724.d.mts} +1 -1
  77. package/dist/{types-BhfLqg6l.d.ts → types-DrppiBPa.d.ts} +1 -1
  78. package/dist/{types-BOUIY27W.d.ts → types-W3MqPYCq.d.ts} +3 -3
  79. package/dist/{types-CbA7tgIc.d.ts → types-oJBZEuse.d.ts} +1 -1
  80. package/dist/{types-VP101wBw.d.ts → types-ySMpVt-F.d.ts} +1 -1
  81. package/dist/verification-layers/index.d.mts +5 -5
  82. package/dist/verification-layers/index.d.ts +5 -5
  83. package/dist/{websocket-client-DhuSBD2g.d.mts → websocket-client-BBhjsJ3h.d.mts} +1 -1
  84. package/dist/{websocket-client-Drao-vSQ.d.ts → websocket-client-gcofyYd7.d.ts} +1 -1
  85. package/dist/{ws-streaming-DkEM6oR3.d.ts → ws-streaming-B_3_d29k.d.ts} +1 -1
  86. package/dist/{ws-streaming-DNKqrGhh.d.mts → ws-streaming-CPXT_jYk.d.mts} +1 -1
  87. package/package.json +1 -1
@@ -1,4 +1,4 @@
1
- import { C as ControlActionResponse, g as ComponentActionResponse, h as WorkflowStepResult, e as BridgeEvent } from './types-CzK_r8H4.mjs';
1
+ import { C as ControlActionResponse, g as ComponentActionResponse, h as WorkflowStepResult, e as BridgeEvent } from './types-Bue5gWo6.mjs';
2
2
 
3
3
  /**
4
4
  * Metrics Module
@@ -1,4 +1,4 @@
1
- import { C as ControlActionResponse, g as ComponentActionResponse, h as WorkflowStepResult, e as BridgeEvent } from './types-DuUJTWXo.js';
1
+ import { C as ControlActionResponse, g as ComponentActionResponse, h as WorkflowStepResult, e as BridgeEvent } from './types-Bh8GMnD9.js';
2
2
 
3
3
  /**
4
4
  * Metrics Module
@@ -1,5 +1,5 @@
1
- import { c as SpecConfig } from './types-BhfLqg6l.js';
2
- import { z as SearchCriteria } from './types-DuUJTWXo.js';
1
+ import { c as SpecConfig } from './types-DrppiBPa.js';
2
+ import { z as SearchCriteria } from './types-Bh8GMnD9.js';
3
3
 
4
4
  /**
5
5
  * Central Target Registry (CTR) Types
@@ -1,5 +1,5 @@
1
- import { c as SpecConfig } from './types-BNQe-q_K.mjs';
2
- import { z as SearchCriteria } from './types-CzK_r8H4.mjs';
1
+ import { c as SpecConfig } from './types-0sp8HcIS.mjs';
2
+ import { z as SearchCriteria } from './types-Bue5gWo6.mjs';
3
3
 
4
4
  /**
5
5
  * Central Target Registry (CTR) Types
@@ -1,5 +1,5 @@
1
- import { D as DOMChangeEvent, U as UIBridgeServerConfig, a as UIBridgeServerHandlers } from './types-DTeaTrmK.mjs';
2
- import { S as SSEManager } from './sse-handler-BygF1ZRx.mjs';
1
+ import { D as DOMChangeEvent, U as UIBridgeServerConfig, a as UIBridgeServerHandlers } from './types-Bb5MsD5H.mjs';
2
+ import { S as SSEManager } from './sse-handler-z28jXpCY.mjs';
3
3
 
4
4
  /**
5
5
  * CommandRelay — Server-side command relay for UI Bridge
@@ -1,5 +1,5 @@
1
- import { D as DOMChangeEvent, U as UIBridgeServerConfig, a as UIBridgeServerHandlers } from './types-C7s_LDdD.js';
2
- import { S as SSEManager } from './sse-handler-Ck6QgKIV.js';
1
+ import { D as DOMChangeEvent, U as UIBridgeServerConfig, a as UIBridgeServerHandlers } from './types-Br-GPusu.js';
2
+ import { S as SSEManager } from './sse-handler-Cowd3Zwy.js';
3
3
 
4
4
  /**
5
5
  * CommandRelay — Server-side command relay for UI Bridge
@@ -1,10 +1,10 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import React$1, { ReactNode, ReactElement } from 'react';
3
- import { dF as UIBridgeFeatures, J as UIBridgeConfig, I as UIBridgeRegistry, b8 as ActionExecutor, en as WorkflowEngine, a as WSConnectionState, as as RegisteredElement, d5 as RegisteredComponent, c as BridgeSnapshot, B as BridgeEventType, bh as BridgeEventListener, c2 as ElementEventLog, b as WSSubscriptionOptions, e as BridgeEvent, O as OnBrowserEventCallback, H as BrowserCaptureConfig, c9 as ElementType, ds as StandardAction, bK as CustomAction, at as ElementState, c7 as ElementLogLevel, aT as RelationshipType, c6 as ElementIdentifier, r as ElementHistoryOptions, s as ElementLogEntry, em as Workflow, K as ControlActionRequest, C as ControlActionResponse, L as ComponentActionRequest, g as ComponentActionResponse, M as FindRequest, Q as FindResponse, R as WorkflowRunRequest, V as WorkflowRunResponse, p as UIStateGroup, U as UIState, S as StateSnapshot, ep as WorkflowStep, T as TransitionResult, q as UITransition, N as NavigationResult, P as PathResult, bC as ContentRole, aF as DeveloperPageContext, aE as RouteInfo, aI as KeyboardShortcut, dO as UseUIRelationshipOptions, cy as InlineRelationship, dM as UseDragSourceOptions, dN as UseDropZoneOptions, ax as DeclaredUndoState } from '../types-CzK_r8H4.mjs';
4
- import { U as UIBridgeWSClient } from '../websocket-client-DhuSBD2g.mjs';
3
+ import { dF as UIBridgeFeatures, J as UIBridgeConfig, I as UIBridgeRegistry, b8 as ActionExecutor, en as WorkflowEngine, a as WSConnectionState, as as RegisteredElement, d5 as RegisteredComponent, c as BridgeSnapshot, B as BridgeEventType, bh as BridgeEventListener, c2 as ElementEventLog, b as WSSubscriptionOptions, e as BridgeEvent, O as OnBrowserEventCallback, H as BrowserCaptureConfig, c9 as ElementType, ds as StandardAction, bK as CustomAction, at as ElementState, c7 as ElementLogLevel, aT as RelationshipType, c6 as ElementIdentifier, r as ElementHistoryOptions, s as ElementLogEntry, em as Workflow, K as ControlActionRequest, C as ControlActionResponse, L as ComponentActionRequest, g as ComponentActionResponse, M as FindRequest, Q as FindResponse, R as WorkflowRunRequest, V as WorkflowRunResponse, p as UIStateGroup, U as UIState, S as StateSnapshot, ep as WorkflowStep, T as TransitionResult, q as UITransition, N as NavigationResult, P as PathResult, bC as ContentRole, aF as DeveloperPageContext, aE as RouteInfo, aI as KeyboardShortcut, dO as UseUIRelationshipOptions, cy as InlineRelationship, dM as UseDragSourceOptions, dN as UseDropZoneOptions, ax as DeclaredUndoState } from '../types-Bue5gWo6.mjs';
4
+ import { U as UIBridgeWSClient } from '../websocket-client-BBhjsJ3h.mjs';
5
5
  import { RenderLogManager } from '../render-log/index.mjs';
6
- import { M as MetricsCollector } from '../metrics-C1vyvEnE.mjs';
7
- import { N as NavigationTracker, S as ShortcutTracker, M as ModalDetector, T as ToastCapture, R as RelationshipTracker, D as DragDropDetector, U as UndoTracker } from '../drag-drop-detector-DZtkbaBK.mjs';
6
+ import { M as MetricsCollector } from '../metrics-CptGGSyd.mjs';
7
+ import { N as NavigationTracker, S as ShortcutTracker, M as ModalDetector, T as ToastCapture, R as RelationshipTracker, D as DragDropDetector, U as UndoTracker } from '../drag-drop-detector-B42P2r0E.mjs';
8
8
  import { E as ElementAnnotation } from '../types-C7D5seeQ.mjs';
9
9
  import '../codes.generated-CXeSH-M4.mjs';
10
10
 
@@ -1,10 +1,10 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import React$1, { ReactNode, ReactElement } from 'react';
3
- import { dF as UIBridgeFeatures, J as UIBridgeConfig, I as UIBridgeRegistry, b8 as ActionExecutor, en as WorkflowEngine, a as WSConnectionState, as as RegisteredElement, d5 as RegisteredComponent, c as BridgeSnapshot, B as BridgeEventType, bh as BridgeEventListener, c2 as ElementEventLog, b as WSSubscriptionOptions, e as BridgeEvent, O as OnBrowserEventCallback, H as BrowserCaptureConfig, c9 as ElementType, ds as StandardAction, bK as CustomAction, at as ElementState, c7 as ElementLogLevel, aT as RelationshipType, c6 as ElementIdentifier, r as ElementHistoryOptions, s as ElementLogEntry, em as Workflow, K as ControlActionRequest, C as ControlActionResponse, L as ComponentActionRequest, g as ComponentActionResponse, M as FindRequest, Q as FindResponse, R as WorkflowRunRequest, V as WorkflowRunResponse, p as UIStateGroup, U as UIState, S as StateSnapshot, ep as WorkflowStep, T as TransitionResult, q as UITransition, N as NavigationResult, P as PathResult, bC as ContentRole, aF as DeveloperPageContext, aE as RouteInfo, aI as KeyboardShortcut, dO as UseUIRelationshipOptions, cy as InlineRelationship, dM as UseDragSourceOptions, dN as UseDropZoneOptions, ax as DeclaredUndoState } from '../types-DuUJTWXo.js';
4
- import { U as UIBridgeWSClient } from '../websocket-client-Drao-vSQ.js';
3
+ import { dF as UIBridgeFeatures, J as UIBridgeConfig, I as UIBridgeRegistry, b8 as ActionExecutor, en as WorkflowEngine, a as WSConnectionState, as as RegisteredElement, d5 as RegisteredComponent, c as BridgeSnapshot, B as BridgeEventType, bh as BridgeEventListener, c2 as ElementEventLog, b as WSSubscriptionOptions, e as BridgeEvent, O as OnBrowserEventCallback, H as BrowserCaptureConfig, c9 as ElementType, ds as StandardAction, bK as CustomAction, at as ElementState, c7 as ElementLogLevel, aT as RelationshipType, c6 as ElementIdentifier, r as ElementHistoryOptions, s as ElementLogEntry, em as Workflow, K as ControlActionRequest, C as ControlActionResponse, L as ComponentActionRequest, g as ComponentActionResponse, M as FindRequest, Q as FindResponse, R as WorkflowRunRequest, V as WorkflowRunResponse, p as UIStateGroup, U as UIState, S as StateSnapshot, ep as WorkflowStep, T as TransitionResult, q as UITransition, N as NavigationResult, P as PathResult, bC as ContentRole, aF as DeveloperPageContext, aE as RouteInfo, aI as KeyboardShortcut, dO as UseUIRelationshipOptions, cy as InlineRelationship, dM as UseDragSourceOptions, dN as UseDropZoneOptions, ax as DeclaredUndoState } from '../types-Bh8GMnD9.js';
4
+ import { U as UIBridgeWSClient } from '../websocket-client-gcofyYd7.js';
5
5
  import { RenderLogManager } from '../render-log/index.js';
6
- import { M as MetricsCollector } from '../metrics-CyfiJzRI.js';
7
- import { N as NavigationTracker, S as ShortcutTracker, M as ModalDetector, T as ToastCapture, R as RelationshipTracker, D as DragDropDetector, U as UndoTracker } from '../drag-drop-detector-eWUPfj6J.js';
6
+ import { M as MetricsCollector } from '../metrics-djC7QIe4.js';
7
+ import { N as NavigationTracker, S as ShortcutTracker, M as ModalDetector, T as ToastCapture, R as RelationshipTracker, D as DragDropDetector, U as UndoTracker } from '../drag-drop-detector-Cryu0UJ4.js';
8
8
  import { E as ElementAnnotation } from '../types-C7D5seeQ.js';
9
9
  import '../codes.generated-CXeSH-M4.js';
10
10
 
@@ -23045,9 +23045,6 @@ var BUILT_IN_SELECTORS = [
23045
23045
  // ARIA roles
23046
23046
  '[role="alert"]',
23047
23047
  '[role="status"]',
23048
- // ARIA live regions
23049
- '[aria-live="polite"]',
23050
- '[aria-live="assertive"]',
23051
23048
  // Sonner
23052
23049
  "[data-sonner-toast]",
23053
23050
  // Radix (children of viewport)
@@ -23069,6 +23066,7 @@ var BUILT_IN_SELECTORS = [
23069
23066
  "[data-toast]",
23070
23067
  "[data-notification]"
23071
23068
  ];
23069
+ var MAX_TOAST_AGE_MS = 6e4;
23072
23070
  var CLASS_LEVEL_MAP = [
23073
23071
  [/\bsuccess\b/i, "success"],
23074
23072
  [/\berror\b/i, "error"],
@@ -23212,7 +23210,8 @@ var ToastCapture = class {
23212
23210
  maxRecent: config?.maxRecent ?? 20,
23213
23211
  customSelectors: config?.customSelectors ?? [],
23214
23212
  recentRetention: config?.recentRetention ?? 6e4,
23215
- pollInterval: config?.pollInterval ?? 500
23213
+ pollInterval: config?.pollInterval ?? 500,
23214
+ maxToastAgeMs: config?.maxToastAgeMs ?? MAX_TOAST_AGE_MS
23216
23215
  };
23217
23216
  this.allSelectors = [...BUILT_IN_SELECTORS, ...this.config.customSelectors];
23218
23217
  }
@@ -23349,8 +23348,12 @@ var ToastCapture = class {
23349
23348
  for (const [id, entry] of this.activeToasts) {
23350
23349
  if (!isElementVisible2(entry.element)) {
23351
23350
  toDismiss.push(id);
23352
- } else {
23353
- entry.toast.durationMs = now - entry.toast.appearedAt;
23351
+ continue;
23352
+ }
23353
+ const age = now - entry.toast.appearedAt;
23354
+ entry.toast.durationMs = age;
23355
+ if (age > this.config.maxToastAgeMs) {
23356
+ toDismiss.push(id);
23354
23357
  }
23355
23358
  }
23356
23359
  for (const id of toDismiss) {
@@ -24924,7 +24927,7 @@ function exposeProviderOnWindow(internals) {
24924
24927
  if (typeof window === "undefined") return;
24925
24928
  const w = window;
24926
24929
  const root = w.__UI_BRIDGE__ ?? (w.__UI_BRIDGE__ = {});
24927
- root.version = "0.8.3";
24930
+ root.version = "0.8.5";
24928
24931
  root.specs = { getGlobalSpecStore };
24929
24932
  root.registry = internals.registry;
24930
24933
  root.browserCapture = internals.browserCapture;
@@ -29361,6 +29364,64 @@ async function awaitDOMSettledRelay(timeout = 500) {
29361
29364
  } catch {
29362
29365
  }
29363
29366
  }
29367
+ function dispatchRealClick(el) {
29368
+ try {
29369
+ el.focus?.();
29370
+ } catch {
29371
+ }
29372
+ const rect = (() => {
29373
+ try {
29374
+ return el.getBoundingClientRect();
29375
+ } catch {
29376
+ return { left: 0, top: 0, width: 0, height: 0 };
29377
+ }
29378
+ })();
29379
+ const clientX = rect.left + rect.width / 2;
29380
+ const clientY = rect.top + rect.height / 2;
29381
+ const pointerInit = {
29382
+ bubbles: true,
29383
+ cancelable: true,
29384
+ composed: true,
29385
+ pointerId: 1,
29386
+ button: 0,
29387
+ buttons: 1,
29388
+ isPrimary: true,
29389
+ pointerType: "mouse",
29390
+ clientX,
29391
+ clientY
29392
+ };
29393
+ const mouseInit = {
29394
+ bubbles: true,
29395
+ cancelable: true,
29396
+ composed: true,
29397
+ button: 0,
29398
+ buttons: 1,
29399
+ clientX,
29400
+ clientY
29401
+ };
29402
+ const makePointer = (type) => {
29403
+ try {
29404
+ if (typeof PointerEvent === "function") {
29405
+ return new PointerEvent(type, pointerInit);
29406
+ }
29407
+ } catch {
29408
+ }
29409
+ return new MouseEvent(type, mouseInit);
29410
+ };
29411
+ const makeMouse = (type) => new MouseEvent(type, mouseInit);
29412
+ try {
29413
+ el.dispatchEvent(makePointer("pointerdown"));
29414
+ el.dispatchEvent(makeMouse("mousedown"));
29415
+ el.dispatchEvent(makePointer("pointerup"));
29416
+ el.dispatchEvent(makeMouse("mouseup"));
29417
+ el.dispatchEvent(makeMouse("click"));
29418
+ } catch {
29419
+ }
29420
+ try {
29421
+ el.click();
29422
+ } catch {
29423
+ }
29424
+ }
29364
29425
  async function getAnnotationStore() {
29365
29426
  try {
29366
29427
  const { getGlobalAnnotationStore: getGlobalAnnotationStore2 } = await Promise.resolve().then(() => (init_store(), store_exports));
@@ -29656,7 +29717,7 @@ async function executeCommand(action, payload, bridge) {
29656
29717
  try {
29657
29718
  switch (request.action) {
29658
29719
  case "click":
29659
- dom.click();
29720
+ dispatchRealClick(dom);
29660
29721
  break;
29661
29722
  case "focus":
29662
29723
  dom.focus();
@@ -29757,9 +29818,9 @@ async function executeCommand(action, payload, bridge) {
29757
29818
  dom.checked = !dom.checked;
29758
29819
  dom.dispatchEvent(new Event("change", { bubbles: true }));
29759
29820
  } else if (dom.getAttribute("role") === "switch") {
29760
- dom.click();
29821
+ dispatchRealClick(dom);
29761
29822
  } else {
29762
- dom.click();
29823
+ dispatchRealClick(dom);
29763
29824
  }
29764
29825
  break;
29765
29826
  }
@@ -29928,7 +29989,7 @@ async function executeCommand(action, payload, bridge) {
29928
29989
  case "submit": {
29929
29990
  const form = dom.closest("form");
29930
29991
  if (form) form.requestSubmit();
29931
- else dom.click();
29992
+ else dispatchRealClick(dom);
29932
29993
  break;
29933
29994
  }
29934
29995
  case "reset": {
@@ -30149,7 +30210,7 @@ async function executeCommand(action, payload, bridge) {
30149
30210
  return { success: false, error: `No element found with text "${text}"` };
30150
30211
  }
30151
30212
  const el = matches[0];
30152
- el.click();
30213
+ dispatchRealClick(el);
30153
30214
  return {
30154
30215
  clicked: true,
30155
30216
  element: {
@@ -30168,7 +30229,7 @@ async function executeCommand(action, payload, bridge) {
30168
30229
  if (!el) {
30169
30230
  return { success: false, error: `No element found for selector "${selector}"` };
30170
30231
  }
30171
- el.click();
30232
+ dispatchRealClick(el);
30172
30233
  return {
30173
30234
  clicked: true,
30174
30235
  element: {
@@ -30589,7 +30650,7 @@ async function executeCommand(action, payload, bridge) {
30589
30650
  try {
30590
30651
  switch (parsed.action) {
30591
30652
  case "click":
30592
- dom.click();
30653
+ dispatchRealClick(dom);
30593
30654
  break;
30594
30655
  case "type":
30595
30656
  if (dom instanceof HTMLInputElement || dom instanceof HTMLTextAreaElement) {