testplane 9.0.0-rc.4 → 9.0.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 (315) hide show
  1. package/build/package.json +15 -15
  2. package/build/src/base-testplane.d.ts +6 -2
  3. package/build/src/base-testplane.js +18 -5
  4. package/build/src/base-testplane.js.map +1 -1
  5. package/build/src/browser/browser.d.ts +2 -0
  6. package/build/src/browser/browser.js +8 -4
  7. package/build/src/browser/browser.js.map +1 -1
  8. package/build/src/browser/calibrator.js +19 -17
  9. package/build/src/browser/calibrator.js.map +1 -1
  10. package/build/src/browser/camera/index.d.ts +6 -2
  11. package/build/src/browser/camera/index.js +18 -14
  12. package/build/src/browser/camera/index.js.map +1 -1
  13. package/build/src/browser/camera/utils.d.ts +11 -1
  14. package/build/src/browser/camera/utils.js +27 -1
  15. package/build/src/browser/camera/utils.js.map +1 -1
  16. package/build/src/browser/cdp/connection.d.ts +2 -39
  17. package/build/src/browser/cdp/connection.js +73 -353
  18. package/build/src/browser/cdp/connection.js.map +1 -1
  19. package/build/src/browser/cdp/constants.d.ts +0 -10
  20. package/build/src/browser/cdp/constants.js +1 -11
  21. package/build/src/browser/cdp/constants.js.map +1 -1
  22. package/build/src/browser/cdp/domains/css.d.ts +14 -6
  23. package/build/src/browser/cdp/domains/css.js +4 -0
  24. package/build/src/browser/cdp/domains/css.js.map +1 -1
  25. package/build/src/browser/cdp/domains/debugger.d.ts +1 -1
  26. package/build/src/browser/cdp/domains/fetch.d.ts +163 -0
  27. package/build/src/browser/cdp/domains/fetch.js +51 -0
  28. package/build/src/browser/cdp/domains/fetch.js.map +1 -0
  29. package/build/src/browser/cdp/domains/network.d.ts +290 -0
  30. package/build/src/browser/cdp/domains/network.js +75 -0
  31. package/build/src/browser/cdp/domains/network.js.map +1 -0
  32. package/build/src/browser/cdp/domains/page.d.ts +378 -0
  33. package/build/src/browser/cdp/domains/page.js +114 -0
  34. package/build/src/browser/cdp/domains/page.js.map +1 -0
  35. package/build/src/browser/cdp/emitter.d.ts +2 -1
  36. package/build/src/browser/cdp/emitter.js +2 -2
  37. package/build/src/browser/cdp/emitter.js.map +1 -1
  38. package/build/src/browser/cdp/error.d.ts +14 -20
  39. package/build/src/browser/cdp/error.js +29 -32
  40. package/build/src/browser/cdp/error.js.map +1 -1
  41. package/build/src/browser/cdp/index.d.ts +6 -0
  42. package/build/src/browser/cdp/index.js +21 -6
  43. package/build/src/browser/cdp/index.js.map +1 -1
  44. package/build/src/browser/cdp/selectivity/constants.d.ts +2 -0
  45. package/build/src/browser/cdp/selectivity/constants.js +3 -1
  46. package/build/src/browser/cdp/selectivity/constants.js.map +1 -1
  47. package/build/src/browser/cdp/selectivity/css-selectivity.d.ts +13 -3
  48. package/build/src/browser/cdp/selectivity/css-selectivity.js +211 -62
  49. package/build/src/browser/cdp/selectivity/css-selectivity.js.map +1 -1
  50. package/build/src/browser/cdp/selectivity/fs-cache.d.ts +12 -0
  51. package/build/src/browser/cdp/selectivity/fs-cache.js +122 -0
  52. package/build/src/browser/cdp/selectivity/fs-cache.js.map +1 -0
  53. package/build/src/browser/cdp/selectivity/hash-provider.d.ts +1 -0
  54. package/build/src/browser/cdp/selectivity/hash-provider.js +5 -3
  55. package/build/src/browser/cdp/selectivity/hash-provider.js.map +1 -1
  56. package/build/src/browser/cdp/selectivity/hash-reader.d.ts +2 -3
  57. package/build/src/browser/cdp/selectivity/hash-reader.js +39 -26
  58. package/build/src/browser/cdp/selectivity/hash-reader.js.map +1 -1
  59. package/build/src/browser/cdp/selectivity/hash-writer.d.ts +2 -2
  60. package/build/src/browser/cdp/selectivity/hash-writer.js +16 -62
  61. package/build/src/browser/cdp/selectivity/hash-writer.js.map +1 -1
  62. package/build/src/browser/cdp/selectivity/index.d.ts +6 -2
  63. package/build/src/browser/cdp/selectivity/index.js +147 -24
  64. package/build/src/browser/cdp/selectivity/index.js.map +1 -1
  65. package/build/src/browser/cdp/selectivity/js-selectivity.d.ts +11 -4
  66. package/build/src/browser/cdp/selectivity/js-selectivity.js +200 -87
  67. package/build/src/browser/cdp/selectivity/js-selectivity.js.map +1 -1
  68. package/build/src/browser/cdp/selectivity/json-utils.d.ts +5 -0
  69. package/build/src/browser/cdp/selectivity/json-utils.js +19 -9
  70. package/build/src/browser/cdp/selectivity/json-utils.js.map +1 -1
  71. package/build/src/browser/cdp/selectivity/merge-dumps/index.d.ts +2 -0
  72. package/build/src/browser/cdp/selectivity/merge-dumps/index.js +28 -0
  73. package/build/src/browser/cdp/selectivity/merge-dumps/index.js.map +1 -0
  74. package/build/src/browser/cdp/selectivity/merge-dumps/merge-hashes.d.ts +2 -0
  75. package/build/src/browser/cdp/selectivity/merge-dumps/merge-hashes.js +39 -0
  76. package/build/src/browser/cdp/selectivity/merge-dumps/merge-hashes.js.map +1 -0
  77. package/build/src/browser/cdp/selectivity/merge-dumps/merge-tests.d.ts +2 -0
  78. package/build/src/browser/cdp/selectivity/merge-dumps/merge-tests.js +129 -0
  79. package/build/src/browser/cdp/selectivity/merge-dumps/merge-tests.js.map +1 -0
  80. package/build/src/browser/cdp/selectivity/modes.d.ts +4 -0
  81. package/build/src/browser/cdp/selectivity/modes.js +11 -0
  82. package/build/src/browser/cdp/selectivity/modes.js.map +1 -0
  83. package/build/src/browser/cdp/selectivity/runner.d.ts +5 -0
  84. package/build/src/browser/cdp/selectivity/runner.js +114 -22
  85. package/build/src/browser/cdp/selectivity/runner.js.map +1 -1
  86. package/build/src/browser/cdp/selectivity/test-dependencies-reader.js +1 -1
  87. package/build/src/browser/cdp/selectivity/test-dependencies-reader.js.map +1 -1
  88. package/build/src/browser/cdp/selectivity/test-dependencies-writer.js +1 -1
  89. package/build/src/browser/cdp/selectivity/test-dependencies-writer.js.map +1 -1
  90. package/build/src/browser/cdp/selectivity/testplane-selectivity.d.ts +3 -1
  91. package/build/src/browser/cdp/selectivity/testplane-selectivity.js +64 -13
  92. package/build/src/browser/cdp/selectivity/testplane-selectivity.js.map +1 -1
  93. package/build/src/browser/cdp/selectivity/types.d.ts +6 -0
  94. package/build/src/browser/cdp/selectivity/types.js.map +1 -1
  95. package/build/src/browser/cdp/selectivity/used-dumps-tracker.d.ts +7 -0
  96. package/build/src/browser/cdp/selectivity/used-dumps-tracker.js +25 -0
  97. package/build/src/browser/cdp/selectivity/used-dumps-tracker.js.map +1 -0
  98. package/build/src/browser/cdp/selectivity/utils.d.ts +18 -9
  99. package/build/src/browser/cdp/selectivity/utils.js +111 -34
  100. package/build/src/browser/cdp/selectivity/utils.js.map +1 -1
  101. package/build/src/browser/cdp/types.d.ts +214 -0
  102. package/build/src/browser/cdp/utils.d.ts +0 -6
  103. package/build/src/browser/cdp/utils.js +1 -6
  104. package/build/src/browser/cdp/utils.js.map +1 -1
  105. package/build/src/browser/client-bridge/index.js +7 -4
  106. package/build/src/browser/client-bridge/index.js.map +1 -1
  107. package/build/src/browser/client-scripts/browser-utils/build/bundle.compat.js +1 -1
  108. package/build/src/browser/client-scripts/browser-utils/build/bundle.native.js +1 -1
  109. package/build/src/browser/client-scripts/browser-utils/tsc-out/client-scripts/shared/lib.compat.js +9 -1
  110. package/build/src/browser/client-scripts/browser-utils/tsc-out/client-scripts/shared/lib.native.js +5 -1
  111. package/build/src/browser/client-scripts/calibrate.js +10 -3
  112. package/build/src/browser/client-scripts/rrweb-record.min.js +2 -2
  113. package/build/src/browser/client-scripts/screen-shooter/build/bundle.compat.js +35 -23
  114. package/build/src/browser/client-scripts/screen-shooter/build/bundle.native.js +20 -16
  115. package/build/src/browser/client-scripts/screen-shooter/tsc-out/client-scripts/screen-shooter/implementation.js +21 -8
  116. package/build/src/browser/client-scripts/screen-shooter/tsc-out/client-scripts/screen-shooter/operations.js +57 -29
  117. package/build/src/browser/client-scripts/screen-shooter/tsc-out/client-scripts/screen-shooter/utils/dom.js +25 -1
  118. package/build/src/browser/client-scripts/screen-shooter/tsc-out/client-scripts/shared/lib.compat.js +9 -1
  119. package/build/src/browser/client-scripts/screen-shooter/tsc-out/client-scripts/shared/lib.native.js +5 -1
  120. package/build/src/browser/commands/assert-view/errors/image-diff-error.d.ts +1 -0
  121. package/build/src/browser/commands/assert-view/index.js +41 -15
  122. package/build/src/browser/commands/assert-view/index.js.map +1 -1
  123. package/build/src/browser/commands/openAndWait.js +23 -26
  124. package/build/src/browser/commands/openAndWait.js.map +1 -1
  125. package/build/src/browser/commands/restoreState/index.js +19 -8
  126. package/build/src/browser/commands/restoreState/index.js.map +1 -1
  127. package/build/src/browser/commands/saveState/index.d.ts +1 -2
  128. package/build/src/browser/commands/saveState/index.js +8 -12
  129. package/build/src/browser/commands/saveState/index.js.map +1 -1
  130. package/build/src/browser/commands/switchToRepl.js +27 -9
  131. package/build/src/browser/commands/switchToRepl.js.map +1 -1
  132. package/build/src/browser/existing-browser.d.ts +2 -0
  133. package/build/src/browser/existing-browser.js +15 -0
  134. package/build/src/browser/existing-browser.js.map +1 -1
  135. package/build/src/browser/history/index.d.ts +8 -1
  136. package/build/src/browser/history/index.js +46 -17
  137. package/build/src/browser/history/index.js.map +1 -1
  138. package/build/src/browser/history/rrweb.d.ts +3 -1
  139. package/build/src/browser/history/rrweb.js +158 -29
  140. package/build/src/browser/history/rrweb.js.map +1 -1
  141. package/build/src/browser/isomorphic/tsconfig.tsbuildinfo +1 -1
  142. package/build/src/browser/new-browser.d.ts +2 -1
  143. package/build/src/browser/new-browser.js +9 -12
  144. package/build/src/browser/new-browser.js.map +1 -1
  145. package/build/src/browser/screen-shooter/composite-image/index.d.ts +23 -0
  146. package/build/src/browser/screen-shooter/composite-image/index.js +161 -14
  147. package/build/src/browser/screen-shooter/composite-image/index.js.map +1 -1
  148. package/build/src/browser/screen-shooter/debug.d.ts +3 -0
  149. package/build/src/browser/screen-shooter/debug.js +25 -0
  150. package/build/src/browser/screen-shooter/debug.js.map +1 -0
  151. package/build/src/browser/screen-shooter/elements-screen-shooter.d.ts +0 -1
  152. package/build/src/browser/screen-shooter/elements-screen-shooter.js +120 -61
  153. package/build/src/browser/screen-shooter/elements-screen-shooter.js.map +1 -1
  154. package/build/src/browser/screen-shooter/full-page-screen-shooter.d.ts +3 -2
  155. package/build/src/browser/screen-shooter/full-page-screen-shooter.js +19 -15
  156. package/build/src/browser/screen-shooter/full-page-screen-shooter.js.map +1 -1
  157. package/build/src/browser/screen-shooter/operations/index.d.ts +1 -0
  158. package/build/src/browser/screen-shooter/operations/index.js +3 -1
  159. package/build/src/browser/screen-shooter/operations/index.js.map +1 -1
  160. package/build/src/browser/screen-shooter/operations/pointer-events.js +7 -0
  161. package/build/src/browser/screen-shooter/operations/pointer-events.js.map +1 -1
  162. package/build/src/browser/screen-shooter/operations/wait-for-selectors-to-settle.d.ts +6 -0
  163. package/build/src/browser/screen-shooter/operations/wait-for-selectors-to-settle.js +147 -0
  164. package/build/src/browser/screen-shooter/operations/wait-for-selectors-to-settle.js.map +1 -0
  165. package/build/src/browser/screen-shooter/viewport-screen-shooter.d.ts +2 -1
  166. package/build/src/browser/screen-shooter/viewport-screen-shooter.js +3 -5
  167. package/build/src/browser/screen-shooter/viewport-screen-shooter.js.map +1 -1
  168. package/build/src/browser/types.d.ts +6 -4
  169. package/build/src/browser/wsdriver/compression.d.ts +5 -0
  170. package/build/src/browser/wsdriver/compression.js +79 -0
  171. package/build/src/browser/wsdriver/compression.js.map +1 -0
  172. package/build/src/browser/wsdriver/constants.d.ts +11 -0
  173. package/build/src/browser/wsdriver/constants.js +15 -0
  174. package/build/src/browser/wsdriver/constants.js.map +1 -0
  175. package/build/src/browser/wsdriver/debug.d.ts +2 -0
  176. package/build/src/browser/wsdriver/debug.js +9 -0
  177. package/build/src/browser/wsdriver/debug.js.map +1 -0
  178. package/build/src/browser/wsdriver/error.d.ts +18 -0
  179. package/build/src/browser/wsdriver/error.js +36 -0
  180. package/build/src/browser/wsdriver/error.js.map +1 -0
  181. package/build/src/browser/wsdriver/index.d.ts +23 -0
  182. package/build/src/browser/wsdriver/index.js +261 -0
  183. package/build/src/browser/wsdriver/index.js.map +1 -0
  184. package/build/src/browser/wsdriver/request.d.ts +10 -0
  185. package/build/src/browser/wsdriver/request.js +58 -0
  186. package/build/src/browser/wsdriver/request.js.map +1 -0
  187. package/build/src/browser/wsdriver/response.d.ts +3 -0
  188. package/build/src/browser/wsdriver/response.js +111 -0
  189. package/build/src/browser/wsdriver/response.js.map +1 -0
  190. package/build/src/browser/wsdriver/types.d.ts +71 -0
  191. package/build/src/browser/wsdriver/types.js +27 -0
  192. package/build/src/browser/wsdriver/types.js.map +1 -0
  193. package/build/src/browser-installer/chromium/utils.js +1 -0
  194. package/build/src/browser-installer/chromium/utils.js.map +1 -1
  195. package/build/src/browser-installer/utils.js +50 -3
  196. package/build/src/browser-installer/utils.js.map +1 -1
  197. package/build/src/browser-pool/basic-pool.js +3 -1
  198. package/build/src/browser-pool/basic-pool.js.map +1 -1
  199. package/build/src/cli/commands/selectivity-merge-dumps/index.d.ts +2 -0
  200. package/build/src/cli/commands/selectivity-merge-dumps/index.js +50 -0
  201. package/build/src/cli/commands/selectivity-merge-dumps/index.js.map +1 -0
  202. package/build/src/cli/constants.d.ts +1 -0
  203. package/build/src/cli/constants.js +1 -0
  204. package/build/src/cli/constants.js.map +1 -1
  205. package/build/src/cli/index.js +13 -19
  206. package/build/src/cli/index.js.map +1 -1
  207. package/build/src/cli/repl-options.d.ts +3 -0
  208. package/build/src/cli/repl-options.js +16 -0
  209. package/build/src/cli/repl-options.js.map +1 -0
  210. package/build/src/config/browser-options.js +11 -3
  211. package/build/src/config/browser-options.js.map +1 -1
  212. package/build/src/config/defaults.d.ts +7 -2
  213. package/build/src/config/defaults.js +10 -5
  214. package/build/src/config/defaults.js.map +1 -1
  215. package/build/src/config/index.d.ts +10 -6
  216. package/build/src/config/index.js +67 -42
  217. package/build/src/config/index.js.map +1 -1
  218. package/build/src/config/types.d.ts +59 -14
  219. package/build/src/config/types.js +15 -5
  220. package/build/src/config/types.js.map +1 -1
  221. package/build/src/config/utils.d.ts +2 -2
  222. package/build/src/config/utils.js +11 -6
  223. package/build/src/config/utils.js.map +1 -1
  224. package/build/src/constants/config.d.ts +0 -1
  225. package/build/src/constants/config.js +1 -2
  226. package/build/src/constants/config.js.map +1 -1
  227. package/build/src/constants/png.d.ts +1 -0
  228. package/build/src/constants/repl.d.ts +2 -0
  229. package/build/src/constants/repl.js +6 -0
  230. package/build/src/constants/repl.js.map +1 -0
  231. package/build/src/dev-server/index.d.ts +1 -1
  232. package/build/src/dev-server/index.js +1 -1
  233. package/build/src/dev-server/index.js.map +1 -1
  234. package/build/src/globals.d.ts +7 -0
  235. package/build/src/globals.js +10 -0
  236. package/build/src/globals.js.map +1 -0
  237. package/build/src/image.d.ts +6 -1
  238. package/build/src/image.js +56 -2
  239. package/build/src/image.js.map +1 -1
  240. package/build/src/index.d.ts +3 -13
  241. package/build/src/index.js +5 -1
  242. package/build/src/index.js.map +1 -1
  243. package/build/src/runner/browser-env/vite/browser-modules/driver.js +6 -8
  244. package/build/src/runner/browser-env/vite/browser-modules/driver.js.map +1 -1
  245. package/build/src/runner/browser-env/vite/browser-modules/tsconfig.tsbuildinfo +1 -1
  246. package/build/src/runner/browser-env/vite/browser-modules/types.d.ts +1 -1
  247. package/build/src/runner/index.js +1 -0
  248. package/build/src/runner/index.js.map +1 -1
  249. package/build/src/runner/suite-monitor.d.ts +1 -1
  250. package/build/src/runner/test-runner/regular-test-runner.js +2 -2
  251. package/build/src/runner/test-runner/regular-test-runner.js.map +1 -1
  252. package/build/src/signal-handler.d.ts +2 -2
  253. package/build/src/signal-handler.js +24 -11
  254. package/build/src/signal-handler.js.map +1 -1
  255. package/build/src/test-reader/mocha-reader/mocha-event-bus.d.ts +1 -1
  256. package/build/src/test-reader/test-parser.js +3 -3
  257. package/build/src/test-reader/test-parser.js.map +1 -1
  258. package/build/src/testplane.d.ts +4 -5
  259. package/build/src/testplane.js +20 -10
  260. package/build/src/testplane.js.map +1 -1
  261. package/build/src/types/globals.d.ts +16 -0
  262. package/build/src/types/globals.js +3 -0
  263. package/build/src/types/globals.js.map +1 -0
  264. package/build/src/types/index.d.ts +2 -3
  265. package/build/src/utils/crypto.d.ts +1 -0
  266. package/build/src/utils/crypto.js +2 -1
  267. package/build/src/utils/crypto.js.map +1 -1
  268. package/build/src/utils/eight-bit-rgba-to-png.d.ts +1 -0
  269. package/build/src/utils/repl-instrumentation/index.d.ts +1 -0
  270. package/build/src/utils/repl-instrumentation/index.js +46 -0
  271. package/build/src/utils/repl-instrumentation/index.js.map +1 -0
  272. package/build/src/utils/repl-instrumentation/typescript.d.ts +7 -0
  273. package/build/src/utils/repl-instrumentation/typescript.js +307 -0
  274. package/build/src/utils/repl-instrumentation/typescript.js.map +1 -0
  275. package/build/src/utils/repl-module-hooks.d.ts +1 -0
  276. package/build/src/utils/repl-module-hooks.js +181 -0
  277. package/build/src/utils/repl-module-hooks.js.map +1 -0
  278. package/build/src/utils/workers-registry.d.ts +2 -2
  279. package/build/src/utils/workers-registry.js +1 -0
  280. package/build/src/utils/workers-registry.js.map +1 -1
  281. package/build/src/vendors/expect-webdriverio/matchers-overrides.d.ts +49 -0
  282. package/build/src/vendors/expect-webdriverio/matchers-overrides.js +3 -0
  283. package/build/src/vendors/expect-webdriverio/matchers-overrides.js.map +1 -0
  284. package/build/src/worker/runner/browser-pool.js +4 -1
  285. package/build/src/worker/runner/browser-pool.js.map +1 -1
  286. package/build/src/worker/runner/index.js +6 -3
  287. package/build/src/worker/runner/index.js.map +1 -1
  288. package/build/src/worker/runner/sequence-test-parser.js +5 -7
  289. package/build/src/worker/runner/sequence-test-parser.js.map +1 -1
  290. package/build/src/worker/runner/test-runner/capture-fail-screenshot.js +2 -3
  291. package/build/src/worker/runner/test-runner/capture-fail-screenshot.js.map +1 -1
  292. package/build/src/worker/runner/test-runner/execution-thread.d.ts +0 -1
  293. package/build/src/worker/runner/test-runner/execution-thread.js +0 -5
  294. package/build/src/worker/runner/test-runner/execution-thread.js.map +1 -1
  295. package/build/src/worker/runner/test-runner/index.d.ts +1 -0
  296. package/build/src/worker/runner/test-runner/index.js +47 -2
  297. package/build/src/worker/runner/test-runner/index.js.map +1 -1
  298. package/build/src/worker/testplane-facade.js +5 -3
  299. package/build/src/worker/testplane-facade.js.map +1 -1
  300. package/build/src/worker/testplane.d.ts +1 -0
  301. package/build/src/worker/testplane.js +4 -1
  302. package/build/src/worker/testplane.js.map +1 -1
  303. package/build/src/ws-connection/constants.d.ts +13 -0
  304. package/build/src/ws-connection/constants.js +17 -0
  305. package/build/src/ws-connection/constants.js.map +1 -0
  306. package/build/src/ws-connection/error.d.ts +52 -0
  307. package/build/src/ws-connection/error.js +84 -0
  308. package/build/src/ws-connection/error.js.map +1 -0
  309. package/build/src/ws-connection/index.d.ts +83 -0
  310. package/build/src/ws-connection/index.js +397 -0
  311. package/build/src/ws-connection/index.js.map +1 -0
  312. package/build/src/ws-connection/utils.d.ts +6 -0
  313. package/build/src/ws-connection/utils.js +9 -0
  314. package/build/src/ws-connection/utils.js.map +1 -0
  315. package/package.json +15 -15
@@ -1,20 +1,20 @@
1
1
  (function (__geminiNamespace) { (function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i<t.length;i++)o(t[i]);return o}return r})()({1:[function(require,module,exports){
2
- "use strict";var __extends=this&&this.__extends||function(){var r=function(t,e){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,t){r.__proto__=t}||function(r,t){for(var e in t)Object.prototype.hasOwnProperty.call(t,e)&&(r[e]=t[e])})(t,e)};return function(t,e){function o(){this.constructor=t}if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");r(t,e),t.prototype=null===e?Object.create(e):(o.prototype=e.prototype,new o)}}();exports.__esModule=!0,exports.OutsideOfViewportError=void 0;var _isomorphic_1=require("/Users/shadowusr/dev/testplane/wt/testplane-9-fixes/src/browser/client-scripts/screen-shooter/tsc-out/isomorphic/index.js"),OutsideOfViewportError=function(r){function t(t){var e=r.call(this,'Can not capture element, because it is completely outside of viewport with no intersection. Try to set "captureElementFromTop=true" assertView option to scroll to it before capture.')||this;return e.name="OutsideOfViewportError",e.errorCode=_isomorphic_1.BrowserSideErrorCode.OUTSIDE_OF_VIEWPORT,e.debugLog=t,e}return __extends(t,r),t}(Error);exports.OutsideOfViewportError=OutsideOfViewportError;
3
- },{"/Users/shadowusr/dev/testplane/wt/testplane-9-fixes/src/browser/client-scripts/screen-shooter/tsc-out/isomorphic/index.js":17}],2:[function(require,module,exports){
4
- "use strict";function sampleRandom(e,o){if(e.length<=o)return e.slice();for(var r=e.slice(),t=0;t<o;t++){var i=t+Math.floor(Math.random()*(r.length-t)),s=r[t];r[t]=r[i],r[i]=s}return r.slice(0,o)}function computeShiftMode(e,o){if(0===e.length)return null;for(var r=e.slice().sort(function(e,o){return e-o}),t=0,i=0,s=0,n=0;s<r.length;s++){for(;n+1<r.length&&r[n+1]-r[s]<=o;)n++;n-s+1>i-t+1&&(t=s,i=n)}var c=r.slice(t,i+1),a=Math.floor(c.length/2);return c.length%2==1?c[a]:(c[a-1]+c[a])/2}function computeActualShift(){var e=(0,dom_1.getScreenshooterNamespaceData)().trackedElementsData;if(!e||0===e.length)return null;for(var o=[],r=0,t=e;r<t.length;r++){var i=t[r];if(i.element.isConnected){var s=i.element.getBoundingClientRect(),n=i.rect;s.width<=0||s.height<=0||Math.abs(s.width-n.width)>1||Math.abs(s.height-n.height)>1||o.push(s.top-n.top)}}if(o.length<MIN_ANCHOR_SAMPLE_SIZE)return null;var c=computeShiftMode(o,ANCHOR_SHIFT_TOLERANCE_CSS);return null===c?null:c}function safeCall(e){for(var o=[],r=1;r<arguments.length;r++)o[r-1]=arguments[r];try{return e.apply(void 0,o)}catch(t){return t instanceof Error?{errorCode:_isomorphic_1.BrowserSideErrorCode.JS,message:t.stack||t.message}:{errorCode:_isomorphic_1.BrowserSideErrorCode.JS,message:"Unknown error: "+String(t)}}}function prepareElementsScreenshot(e,o){return safeCall(prepareElementsScreenshotUnsafe,e,o)}function scrollBy(e,o,r,t){return safeCall(function(){var i=(0,logger_1.createDebugLogger)({debug:t},"scrollBy"),s=(0,operations_1.computePixelRatio)(),n=r?document.querySelector(r):null,c=null!==n&&void 0!==n?n:(0,scroll_1.getCommonScrollParent)(e),a=(0,descriptions_1.getReadableElementDescriptor)(c),l=r?n?"".concat(r," (").concat(a,")"):"".concat(r," (not found, auto-detected ").concat(a,")"):"auto-detected ".concat(a),p=(0,_isomorphic_1.fromDeviceToCssNumber)(o,s)-1;return(0,scroll_1.scrollElementBy)(c,p),{readableSelectorToScrollDescr:l,debugLog:i()}})}function scrollTo(e,o,r,t){return safeCall(function(){var i=(0,logger_1.createDebugLogger)({debug:t},"scrollTo");i("Asked to scroll to with params: selectorsToCapture:",e,"scrollOffset:",o,"selectorToScroll:",r);var s=(0,operations_1.computePixelRatio)(),n=r?document.querySelector(r):null,c=null!==n&&void 0!==n?n:(0,scroll_1.getCommonScrollParent)(e),a=(0,descriptions_1.getReadableElementDescriptor)(c),l=r?n?"".concat(r," (").concat(a,")"):"".concat(r," (not found, auto-detected ").concat(a,")"):"auto-detected ".concat(a),p=(0,_isomorphic_1.fromDeviceToCssNumber)(o,s);return(0,scroll_1.scrollElementToOffset)(c,p),{readableSelectorToScrollDescr:l,debugLog:i()}})}function getCaptureState(e,o,r,t){return safeCall(function(){var i=(0,logger_1.createDebugLogger)({debug:t},"getCaptureState"),s=(0,operations_1.computePixelRatio)(),n=r?document.querySelector(r):null,c=null!==n&&void 0!==n?n:(0,scroll_1.getCommonScrollParent)(e),a=(0,descriptions_1.getReadableElementDescriptor)(c),l=r?n?"".concat(r," (").concat(a,")"):"".concat(r," (not found, auto-detected ").concat(a,")"):"auto-detected ".concat(a),p=(0,operations_1.computeIgnoreAreas)(o),u=(0,operations_1.computeSafeArea)(e,c,i),m=(0,operations_1.computeCaptureSpecs)(e,i),_=m.map(function(e){return{full:(0,_isomorphic_1.fromCssToDevice)((0,_isomorphic_1.roundCoords)(e.full),s),visible:(0,_isomorphic_1.fromCssToDevice)((0,_isomorphic_1.roundCoords)(e.visible),s)}}),d=(0,operations_1.computeScrollOffset)(c),f=(0,operations_1.computeViewportOffset)(),h=computeActualShift(),v=null===h?null:(0,_isomorphic_1.fromCssToDeviceNumber)(h,s);return i("scrollOffset:",d),{captureSpecs:_,ignoreAreas:p.map(function(e){return(0,_isomorphic_1.fromCssToDevice)((0,_isomorphic_1.roundCoords)(e),s)}),safeArea:(0,_isomorphic_1.fromCssToDevice)((0,_isomorphic_1.roundCoords)(u),s),scrollOffset:(0,_isomorphic_1.fromCssToDeviceNumber)(d,s),viewportOffset:(0,_isomorphic_1.fromCssToDevice)((0,_isomorphic_1.floorCoords)(f),s),anchorShift:v,readableSelectorToScrollDescr:l,debugLog:i()}})}function prepareFullPageScreenshot(e){return void 0===e&&(e={}),safeCall(function(){(0,operations_1.prepareFullPageScrollCleanup)();var o=(0,operations_1.computePixelRatio)(e.usePixelRatio);window.scrollTo(0,0);var r=(0,operations_1.computeDocumentSize)(),t=(0,operations_1.computeViewportSize)(),i=(0,operations_1.computeViewportOffset)(),s=(0,operations_1.computeSafeArea)(["body"],document.documentElement);e.disableAnimation&&(0,operations_1.disableAnimations)();var n=!1;if(e.disableHover===_isomorphic_1.DisableHoverMode.Always)(0,operations_1.disablePointerEvents)(),n=!0;else if(e.disableHover===_isomorphic_1.DisableHoverMode.WhenScrollingNeeded){var c=r.height>t.height;c&&((0,operations_1.disablePointerEvents)(),n=!0)}var a=(0,operations_1.computeElementPositionsProbe)().map(function(e){return e?(0,_isomorphic_1.fromCssToDevice)((0,_isomorphic_1.roundCoords)(e),o):null});return{documentSize:(0,_isomorphic_1.ceilCoords)((0,_isomorphic_1.fromCssToDevice)(r,o)),viewportSize:(0,_isomorphic_1.fromCssToDevice)(t,o),viewportOffset:(0,_isomorphic_1.fromCssToDevice)((0,_isomorphic_1.floorCoords)(i),o),safeArea:(0,_isomorphic_1.fromCssToDevice)((0,_isomorphic_1.roundCoords)(s),o),elementPositionsProbe:a,pixelRatio:o,pointerEventsDisabled:n}})}function scrollFullPage(e,o){return void 0===o&&(o={}),safeCall(function(){var r=(0,operations_1.computePixelRatio)(o.usePixelRatio),t=(0,_isomorphic_1.fromDeviceToCssNumber)(e,r)-1;(0,scroll_1.scrollElementBy)(document.documentElement,t);var i=(0,operations_1.computeViewportOffset)(),s=(0,operations_1.computeElementPositionsProbe)().map(function(e){return e?(0,_isomorphic_1.fromCssToDevice)((0,_isomorphic_1.roundCoords)(e),r):null});return{viewportOffset:(0,_isomorphic_1.fromCssToDevice)((0,_isomorphic_1.floorCoords)(i),r),elementPositionsProbe:s}})}function prepareViewportScreenshot(e){return void 0===e&&(e={}),safeCall(function(){var o=(0,operations_1.computePixelRatio)(e.usePixelRatio),r=(0,operations_1.computeViewportSize)(),t=(0,operations_1.computeViewportOffset)(),i=(0,operations_1.computeDocumentSize)(),s=(0,operations_1.computeCanHaveCaret)();e.disableAnimation&&(0,operations_1.disableAnimations)();var n=!1;return e.disableHover===_isomorphic_1.DisableHoverMode.Always&&((0,operations_1.disablePointerEvents)(),n=!0),{viewportSize:(0,_isomorphic_1.fromCssToDevice)(r,o),viewportOffset:(0,_isomorphic_1.fromCssToDevice)((0,_isomorphic_1.floorCoords)(t),o),documentSize:(0,_isomorphic_1.ceilCoords)((0,_isomorphic_1.fromCssToDevice)(i,o)),canHaveCaret:s,pixelRatio:o,pointerEventsDisabled:n}})}function disableFrameAnimations(){return safeCall(operations_1.disableAnimations)}function cleanupFrameAnimations(){window.__cleanupAnimation&&window.__cleanupAnimation()}function disablePointerEvents(){return safeCall(operations_1.disablePointerEvents)}function cleanupPointerEvents(){var e=(0,dom_1.getScreenshooterNamespaceData)();e.cleanupPointerEventsCb&&e.cleanupPointerEventsCb()}function cleanupScrolls(){(0,dom_1.getScreenshooterNamespaceData)().trackedElementsData=[],(0,operations_1.cleanupSavedScrolls)()}function captureAnchorBaseline(e,o){return safeCall(function(){for(var o=(0,operations_1.computeCaptureSpecs)(e),r=o.length>0?(0,_isomorphic_1.getCoveringRect)(o.map(function(e){return e.full})):null,t=[],i=0;i<e.length;i++){var s=document.querySelector(e[i]);if(s){t.push(s);for(var n=s.querySelectorAll("*"),c=0;c<n.length;c++)t.push(n[c])}}var a=t.filter(function(e){var o=e.getBoundingClientRect();if(o.width<=0||o.height<=0)return!1;if(!r)return!0;var t=(0,_isomorphic_1.fromBcrToRect)(o);return Boolean((0,_isomorphic_1.getIntersection)(r,t))}),l=sampleRandom(a,MAX_ANCHOR_TRACKED_ELEMENTS);(0,dom_1.getScreenshooterNamespaceData)().trackedElementsData=l.map(function(e){var o=e.getBoundingClientRect();return{element:e,rect:(0,_isomorphic_1.fromBcrToRect)(o)}})})}function prepareElementsScreenshotUnsafe(e,o){var r=(0,logger_1.createDebugLogger)(o,"prepareElementsScreenshot");(0,operations_1.saveScrollPositions)(e,o.selectorToScroll);var t=(0,operations_1.scrollToCaptureAreaIfNeeded)(e,o.captureElementFromTop,o.allowViewportOverflow,o.selectorToScroll,r).readableSelectorToScrollDescr;o.disableAnimation&&(0,operations_1.disableAnimations)();var i=(0,operations_1.computePixelRatio)(o.usePixelRatio),s=o.selectorToScroll?document.querySelector(o.selectorToScroll):null,n=null!==s&&void 0!==s?s:(0,scroll_1.getCommonScrollParent)(e),c=(0,operations_1.computeIgnoreAreas)(o.ignoreSelectors),a=(0,operations_1.computeCaptureSpecs)(e,r),l=(0,operations_1.computeViewportSize)(),p=(0,operations_1.computeViewportOffset)(),u=(0,operations_1.computeSafeArea)(e,n,r),m=(0,operations_1.computeScrollOffset)(n),_=(0,operations_1.computeDocumentSize)(),d=(0,operations_1.computeCanHaveCaret)(),f=!1;if(o.disableHover===_isomorphic_1.DisableHoverMode.Always)(0,operations_1.disablePointerEvents)(),f=!0;else if(o.disableHover===_isomorphic_1.DisableHoverMode.WhenScrollingNeeded&&o.compositeImage){var h=(0,_isomorphic_1.getCoveringRect)(a.map(function(e){return e.full})),v=(0,_isomorphic_1.getBottom)(h)>(0,_isomorphic_1.getBottom)(u);v&&(r("adding stylesheet with pointer-events: none on all elements (composite capture needs scrolling). captureArea:",h,"safeArea:",u),(0,operations_1.disablePointerEvents)(),f=!0)}return r("scrollOffset:",m),{ignoreAreas:c.map(function(e){return(0,_isomorphic_1.fromCssToDevice)((0,_isomorphic_1.roundCoords)(e),i)}),captureSpecs:a.map(function(e){return{full:(0,_isomorphic_1.fromCssToDevice)((0,_isomorphic_1.roundCoords)(e.full),i),visible:(0,_isomorphic_1.fromCssToDevice)((0,_isomorphic_1.roundCoords)(e.visible),i)}}),viewportSize:(0,_isomorphic_1.fromCssToDevice)(l,i),viewportOffset:(0,_isomorphic_1.fromCssToDevice)((0,_isomorphic_1.floorCoords)(p),i),safeArea:(0,_isomorphic_1.fromCssToDevice)((0,_isomorphic_1.roundCoords)(u),i),documentSize:(0,_isomorphic_1.ceilCoords)((0,_isomorphic_1.fromCssToDevice)(_,i)),canHaveCaret:d,pixelRatio:i,pointerEventsDisabled:f,debugLog:r(),readableSelectorToScrollDescr:t,scrollOffset:(0,_isomorphic_1.fromCssToDeviceNumber)(m,i)}}exports.__esModule=!0,exports.captureAnchorBaseline=exports.cleanupScrolls=exports.cleanupPointerEvents=exports.disablePointerEvents=exports.cleanupFrameAnimations=exports.disableFrameAnimations=exports.prepareViewportScreenshot=exports.scrollFullPage=exports.prepareFullPageScreenshot=exports.getCaptureState=exports.scrollTo=exports.scrollBy=exports.prepareElementsScreenshot=void 0;var _isomorphic_1=require("/Users/shadowusr/dev/testplane/wt/testplane-9-fixes/src/browser/client-scripts/screen-shooter/tsc-out/isomorphic/index.js"),logger_1=require("../shared/logger"),operations_1=require("./operations"),descriptions_1=require("./utils/descriptions"),dom_1=require("./utils/dom"),scroll_1=require("./utils/scroll"),MIN_ANCHOR_SAMPLE_SIZE=3,MAX_ANCHOR_TRACKED_ELEMENTS=500,ANCHOR_SHIFT_TOLERANCE_CSS=1.5;exports.prepareElementsScreenshot=prepareElementsScreenshot,exports.scrollBy=scrollBy,exports.scrollTo=scrollTo,exports.getCaptureState=getCaptureState,exports.prepareFullPageScreenshot=prepareFullPageScreenshot,exports.scrollFullPage=scrollFullPage,exports.prepareViewportScreenshot=prepareViewportScreenshot,exports.disableFrameAnimations=disableFrameAnimations,exports.cleanupFrameAnimations=cleanupFrameAnimations,exports.disablePointerEvents=disablePointerEvents,exports.cleanupPointerEvents=cleanupPointerEvents,exports.cleanupScrolls=cleanupScrolls,exports.captureAnchorBaseline=captureAnchorBaseline;
5
- },{"../shared/logger":14,"./operations":4,"./utils/descriptions":6,"./utils/dom":7,"./utils/scroll":10,"/Users/shadowusr/dev/testplane/wt/testplane-9-fixes/src/browser/client-scripts/screen-shooter/tsc-out/isomorphic/index.js":17}],3:[function(require,module,exports){
2
+ "use strict";var __extends=this&&this.__extends||function(){var r=function(t,e){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,t){r.__proto__=t}||function(r,t){for(var e in t)Object.prototype.hasOwnProperty.call(t,e)&&(r[e]=t[e])})(t,e)};return function(t,e){function o(){this.constructor=t}if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");r(t,e),t.prototype=null===e?Object.create(e):(o.prototype=e.prototype,new o)}}();exports.__esModule=!0,exports.OutsideOfViewportError=void 0;var _isomorphic_1=require("/home/runner/work/testplane/testplane/src/browser/client-scripts/screen-shooter/tsc-out/isomorphic/index.js"),OutsideOfViewportError=function(r){function t(t){var e=r.call(this,'Can not capture element, because it is completely outside of viewport with no intersection. Try to set "captureElementFromTop=true" assertView option to scroll to it before capture.')||this;return e.name="OutsideOfViewportError",e.errorCode=_isomorphic_1.BrowserSideErrorCode.OUTSIDE_OF_VIEWPORT,e.debugLog=t,e}return __extends(t,r),t}(Error);exports.OutsideOfViewportError=OutsideOfViewportError;
3
+ },{"/home/runner/work/testplane/testplane/src/browser/client-scripts/screen-shooter/tsc-out/isomorphic/index.js":19}],2:[function(require,module,exports){
4
+ "use strict";function sampleRandom(e,o){if(e.length<=o)return e.slice();for(var r=e.slice(),t=0;t<o;t++){var i=t+Math.floor(Math.random()*(r.length-t)),s=r[t];r[t]=r[i],r[i]=s}return r.slice(0,o)}function computeShiftMode(e,o){if(0===e.length)return null;for(var r=e.slice().sort(function(e,o){return e-o}),t=0,i=0,s=0,n=0;s<r.length;s++){for(;n+1<r.length&&r[n+1]-r[s]<=o;)n++;n-s+1>i-t+1&&(t=s,i=n)}var c=r.slice(t,i+1),a=Math.floor(c.length/2);return c.length%2==1?c[a]:(c[a-1]+c[a])/2}function computeActualShift(){var e=(0,dom_1.getScreenshooterNamespaceData)().trackedElementsData;if(!e||0===e.length)return null;for(var o=[],r=0,t=e;r<t.length;r++){var i=t[r];if(i.element.isConnected){var s=i.element.getBoundingClientRect(),n=i.rect;s.width<=0||s.height<=0||Math.abs(s.width-n.width)>1||Math.abs(s.height-n.height)>1||o.push(s.top-n.top)}}if(o.length<MIN_ANCHOR_SAMPLE_SIZE)return null;var c=computeShiftMode(o,ANCHOR_SHIFT_TOLERANCE_CSS);return null===c?null:c}function safeCall(e){for(var o=[],r=1;r<arguments.length;r++)o[r-1]=arguments[r];try{return e.apply(void 0,o)}catch(t){return t instanceof Error?{errorCode:_isomorphic_1.BrowserSideErrorCode.JS,message:t.stack||t.message}:{errorCode:_isomorphic_1.BrowserSideErrorCode.JS,message:"Unknown error: "+String(t)}}}function prepareElementsScreenshot(e,o){return safeCall(prepareElementsScreenshotUnsafe,e,o)}function scrollBy(e,o,r,t){return safeCall(function(){var i=(0,logger_1.createDebugLogger)({debug:t},"scrollBy"),s=(0,operations_1.computePixelRatio)(),n=r?document.querySelector(r):null,c=null!==n&&void 0!==n?n:(0,scroll_1.getCommonScrollParent)(e),a=(0,descriptions_1.getReadableElementDescriptor)(c),l=r?n?"".concat(r," (").concat(a,")"):"".concat(r," (not found, auto-detected ").concat(a,")"):"auto-detected ".concat(a),p=(0,_isomorphic_1.fromDeviceToCssNumber)(o,s);return(0,scroll_1.scrollElementBy)(c,p),{readableSelectorToScrollDescr:l,debugLog:i()}})}function scrollTo(e,o,r,t){return safeCall(function(){var i=(0,logger_1.createDebugLogger)({debug:t},"scrollTo");i("Asked to scroll to with params: selectorsToCapture:",e,"scrollOffset:",o,"selectorToScroll:",r);var s=(0,operations_1.computePixelRatio)(),n=r?document.querySelector(r):null,c=null!==n&&void 0!==n?n:(0,scroll_1.getCommonScrollParent)(e),a=(0,descriptions_1.getReadableElementDescriptor)(c),l=r?n?"".concat(r," (").concat(a,")"):"".concat(r," (not found, auto-detected ").concat(a,")"):"auto-detected ".concat(a),p=(0,_isomorphic_1.fromDeviceToCssNumber)(o,s);return(0,scroll_1.scrollElementToOffset)(c,p),{readableSelectorToScrollDescr:l,debugLog:i()}})}function getCaptureState(e,o,r,t){return safeCall(function(){var i=(0,logger_1.createDebugLogger)({debug:t},"getCaptureState"),s=(0,operations_1.computePixelRatio)(),n=r?document.querySelector(r):null,c=null!==n&&void 0!==n?n:(0,scroll_1.getCommonScrollParent)(e),a=(0,descriptions_1.getReadableElementDescriptor)(c),l=r?n?"".concat(r," (").concat(a,")"):"".concat(r," (not found, auto-detected ").concat(a,")"):"auto-detected ".concat(a),p=(0,operations_1.computeIgnoreAreas)(o),u=(0,operations_1.computeSafeArea)(e,c,i),m=(0,operations_1.computeCaptureSpecs)(e,i),_=m.map(function(e){return{full:(0,_isomorphic_1.fromCssToDevice)((0,_isomorphic_1.roundCoords)(e.full),s),clip:(0,_isomorphic_1.fromCssToDevice)((0,_isomorphic_1.roundCoords)(e.clip),s),visible:(0,_isomorphic_1.fromCssToDevice)((0,_isomorphic_1.roundCoords)(e.visible),s)}}),f=(0,operations_1.computeScrollOffset)(c),d=(0,operations_1.computeViewportOffset)(),h=computeActualShift(),v=null===h?null:(0,_isomorphic_1.fromCssToDeviceNumber)(h,s);return i("scrollOffset:",f),{captureSpecs:_,ignoreAreas:p.map(function(e){return(0,_isomorphic_1.fromCssToDevice)((0,_isomorphic_1.roundCoords)(e),s)}),safeArea:(0,_isomorphic_1.fromCssToDevice)((0,_isomorphic_1.roundCoords)(u),s),scrollOffset:(0,_isomorphic_1.fromCssToDeviceNumber)(f,s),viewportOffset:(0,_isomorphic_1.fromCssToDevice)((0,_isomorphic_1.floorCoords)(d),s),anchorShift:v,readableSelectorToScrollDescr:l,debugLog:i()}})}function prepareFullPageScreenshot(e){return void 0===e&&(e={}),safeCall(function(){(0,operations_1.prepareFullPageScrollCleanup)();var o=(0,operations_1.computePixelRatio)(e.usePixelRatio);window.scrollTo(0,0);var r=(0,operations_1.computeDocumentSize)(),t=(0,operations_1.computeViewportSize)(),i=(0,operations_1.computeViewportOffset)(),s=(0,operations_1.computeSafeArea)(["body"],document.documentElement);e.disableAnimation&&(0,operations_1.disableAnimations)();var n=!1;if(e.disableHover===_isomorphic_1.DisableHoverMode.Always)(0,operations_1.disablePointerEvents)(),n=!0;else if(e.disableHover===_isomorphic_1.DisableHoverMode.WhenScrollingNeeded){var c=r.height>t.height;c&&((0,operations_1.disablePointerEvents)(),n=!0)}var a=(0,operations_1.computeElementPositionsProbe)().map(function(e){return e?__assign(__assign({},(0,_isomorphic_1.fromCssToDevice)((0,_isomorphic_1.roundCoords)(e),o)),{elementDescr:e.elementDescr}):null});return{documentSize:(0,_isomorphic_1.ceilCoords)((0,_isomorphic_1.fromCssToDevice)(r,o)),viewportSize:(0,_isomorphic_1.fromCssToDevice)(t,o),viewportOffset:(0,_isomorphic_1.fromCssToDevice)((0,_isomorphic_1.floorCoords)(i),o),safeArea:(0,_isomorphic_1.fromCssToDevice)((0,_isomorphic_1.roundCoords)(s),o),elementPositionsProbe:a,pixelRatio:o,pointerEventsDisabled:n}})}function scrollFullPage(e,o){return void 0===o&&(o={}),safeCall(function(){var r=(0,operations_1.computePixelRatio)(o.usePixelRatio),t=(0,_isomorphic_1.fromDeviceToCssNumber)(e,r)-1;(0,scroll_1.scrollElementBy)(document.documentElement,t);var i=(0,operations_1.computeViewportOffset)(),s=(0,operations_1.computeElementPositionsProbe)().map(function(e){return e?__assign(__assign({},(0,_isomorphic_1.fromCssToDevice)((0,_isomorphic_1.roundCoords)(e),r)),{elementDescr:e.elementDescr}):null});return{viewportOffset:(0,_isomorphic_1.fromCssToDevice)((0,_isomorphic_1.floorCoords)(i),r),elementPositionsProbe:s}})}function prepareViewportScreenshot(e){return void 0===e&&(e={}),safeCall(function(){var o=(0,operations_1.computePixelRatio)(e.usePixelRatio),r=(0,operations_1.computeViewportSize)(),t=(0,operations_1.computeViewportOffset)(),i=(0,operations_1.computeDocumentSize)(),s=(0,operations_1.computeCanHaveCaret)();e.disableAnimation&&(0,operations_1.disableAnimations)();var n=!1;return e.disableHover===_isomorphic_1.DisableHoverMode.Always&&((0,operations_1.disablePointerEvents)(),n=!0),{viewportSize:(0,_isomorphic_1.fromCssToDevice)(r,o),viewportOffset:(0,_isomorphic_1.fromCssToDevice)((0,_isomorphic_1.floorCoords)(t),o),documentSize:(0,_isomorphic_1.ceilCoords)((0,_isomorphic_1.fromCssToDevice)(i,o)),canHaveCaret:s,pixelRatio:o,pointerEventsDisabled:n}})}function disableFrameAnimations(){return safeCall(operations_1.disableAnimations)}function cleanupFrameAnimations(){window.__cleanupAnimation&&window.__cleanupAnimation()}function disablePointerEvents(){return safeCall(operations_1.disablePointerEvents)}function cleanupPointerEvents(){var e=(0,dom_1.getScreenshooterNamespaceData)();e.cleanupPointerEventsCb&&e.cleanupPointerEventsCb()}function cleanupScrolls(){(0,dom_1.getScreenshooterNamespaceData)().trackedElementsData=[],(0,operations_1.cleanupSavedScrolls)()}function captureAnchorBaseline(e){return safeCall(function(){for(var o=(0,operations_1.computeCaptureSpecs)(e),r=o.length>0?(0,_isomorphic_1.getCoveringRect)(o.map(function(e){return e.full})):null,t=[],i=0;i<e.length;i++){var s=document.querySelector(e[i]);if(s){t.push(s);for(var n=s.querySelectorAll("*"),c=0;c<n.length;c++)t.push(n[c])}}var a=t.filter(function(e){var o=e.getBoundingClientRect();if(o.width<=0||o.height<=0)return!1;if(!r)return!0;var t=(0,_isomorphic_1.fromBcrToRect)(o);return Boolean((0,_isomorphic_1.getIntersection)(r,t))}),l=sampleRandom(a,MAX_ANCHOR_TRACKED_ELEMENTS);(0,dom_1.getScreenshooterNamespaceData)().trackedElementsData=l.map(function(e){var o=e.getBoundingClientRect();return{element:e,rect:(0,_isomorphic_1.fromBcrToRect)(o)}})})}function prepareElementsScreenshotUnsafe(e,o){var r=(0,logger_1.createDebugLogger)(o,"prepareElementsScreenshot");(0,operations_1.saveScrollPositions)(e,o.selectorToScroll);var t=(0,operations_1.scrollToCaptureAreaIfNeeded)(e,o.captureElementFromTop,o.allowViewportOverflow,o.selectorToScroll,r).readableSelectorToScrollDescr;o.disableAnimation&&(0,operations_1.disableAnimations)();var i=(0,operations_1.computePixelRatio)(o.usePixelRatio),s=o.selectorToScroll?document.querySelector(o.selectorToScroll):null,n=null!==s&&void 0!==s?s:(0,scroll_1.getCommonScrollParent)(e),c=(0,operations_1.computeIgnoreAreas)(o.ignoreSelectors),a=(0,operations_1.computeCaptureSpecs)(e,r),l=(0,operations_1.computeViewportSize)(),p=(0,operations_1.computeViewportOffset)(),u=(0,operations_1.computeSafeArea)(e,n,r),m=(0,operations_1.computeScrollOffset)(n),_=(0,operations_1.computeDocumentSize)(),f=(0,operations_1.computeCanHaveCaret)(),d=!1;if(o.disableHover===_isomorphic_1.DisableHoverMode.Always)(0,operations_1.disablePointerEvents)(),d=!0;else if(o.disableHover===_isomorphic_1.DisableHoverMode.WhenScrollingNeeded&&o.compositeImage){var h=(0,_isomorphic_1.getCoveringRect)(a.map(function(e){return e.full})),v=(0,_isomorphic_1.getBottom)(h)>(0,_isomorphic_1.getBottom)(u);v&&(r("adding stylesheet with pointer-events: none on all elements (composite capture needs scrolling). captureArea:",h,"safeArea:",u),(0,operations_1.disablePointerEvents)(),d=!0)}return r("scrollOffset:",m),{ignoreAreas:c.map(function(e){return(0,_isomorphic_1.fromCssToDevice)((0,_isomorphic_1.roundCoords)(e),i)}),captureSpecs:a.map(function(e){return{full:(0,_isomorphic_1.fromCssToDevice)((0,_isomorphic_1.roundCoords)(e.full),i),clip:(0,_isomorphic_1.fromCssToDevice)((0,_isomorphic_1.roundCoords)(e.clip),i),visible:(0,_isomorphic_1.fromCssToDevice)((0,_isomorphic_1.roundCoords)(e.visible),i)}}),viewportSize:(0,_isomorphic_1.fromCssToDevice)(l,i),viewportOffset:(0,_isomorphic_1.fromCssToDevice)((0,_isomorphic_1.floorCoords)(p),i),safeArea:(0,_isomorphic_1.fromCssToDevice)((0,_isomorphic_1.roundCoords)(u),i),documentSize:(0,_isomorphic_1.ceilCoords)((0,_isomorphic_1.fromCssToDevice)(_,i)),canHaveCaret:f,pixelRatio:i,pointerEventsDisabled:d,debugLog:r(),readableSelectorToScrollDescr:t,scrollOffset:(0,_isomorphic_1.fromCssToDeviceNumber)(m,i)}}var __assign=this&&this.__assign||function(){return __assign=Object.assign||function(e){for(var o,r=1,t=arguments.length;r<t;r++){o=arguments[r];for(var i in o)Object.prototype.hasOwnProperty.call(o,i)&&(e[i]=o[i])}return e},__assign.apply(this,arguments)};exports.__esModule=!0,exports.captureAnchorBaseline=exports.cleanupScrolls=exports.cleanupPointerEvents=exports.disablePointerEvents=exports.cleanupFrameAnimations=exports.disableFrameAnimations=exports.prepareViewportScreenshot=exports.scrollFullPage=exports.prepareFullPageScreenshot=exports.getCaptureState=exports.scrollTo=exports.scrollBy=exports.prepareElementsScreenshot=void 0;var _isomorphic_1=require("/home/runner/work/testplane/testplane/src/browser/client-scripts/screen-shooter/tsc-out/isomorphic/index.js"),logger_1=require("../shared/logger"),operations_1=require("./operations"),descriptions_1=require("./utils/descriptions"),dom_1=require("./utils/dom"),scroll_1=require("./utils/scroll"),MIN_ANCHOR_SAMPLE_SIZE=3,MAX_ANCHOR_TRACKED_ELEMENTS=500,ANCHOR_SHIFT_TOLERANCE_CSS=1.5;exports.prepareElementsScreenshot=prepareElementsScreenshot,exports.scrollBy=scrollBy,exports.scrollTo=scrollTo,exports.getCaptureState=getCaptureState,exports.prepareFullPageScreenshot=prepareFullPageScreenshot,exports.scrollFullPage=scrollFullPage,exports.prepareViewportScreenshot=prepareViewportScreenshot,exports.disableFrameAnimations=disableFrameAnimations,exports.cleanupFrameAnimations=cleanupFrameAnimations,exports.disablePointerEvents=disablePointerEvents,exports.cleanupPointerEvents=cleanupPointerEvents,exports.cleanupScrolls=cleanupScrolls,exports.captureAnchorBaseline=captureAnchorBaseline;
5
+ },{"../shared/logger":15,"./operations":4,"./utils/descriptions":6,"./utils/dom":7,"./utils/scroll":10,"/home/runner/work/testplane/testplane/src/browser/client-scripts/screen-shooter/tsc-out/isomorphic/index.js":19}],3:[function(require,module,exports){
6
6
  "use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,i,n){n===undefined&&(n=i);var r=Object.getOwnPropertyDescriptor(t,i);r&&("get"in r?t.__esModule:!r.writable&&!r.configurable)||(r={enumerable:!0,get:function(){return t[i]}}),Object.defineProperty(e,n,r)}:function(e,t,i,n){n===undefined&&(n=i),e[n]=t[i]}),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e["default"]=t}),__importStar=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var i in e)"default"!==i&&Object.prototype.hasOwnProperty.call(e,i)&&__createBinding(t,e,i);return __setModuleDefault(t,e),t};exports.__esModule=!0;var implementation=__importStar(require("./implementation")),globalObj="undefined"==typeof window?globalThis:window;globalObj.__geminiCore||(globalObj.__geminiCore={}),globalObj.__geminiCore[__geminiNamespace]=implementation;
7
7
  },{"./implementation":2}],4:[function(require,module,exports){
8
- "use strict";function computeScrollOffset(e){return(0,scroll_1.isRootLikeElement)(e)?window.scrollY:e.scrollTop}function computeViewportSize(){return{width:window.innerWidth,height:window.innerHeight}}function computeViewportOffset(){return{left:window.scrollX,top:window.scrollY}}function getProbeAxisCoordinates(e,t){var o=Math.max(1,Math.floor(e));if(t<=1)return[0];for(var r=o-1,n=o/(t-1),i=[],l=0;l<t;l++)i.push(Math.min(r,Math.round(l*n)));return i}function computeElementPositionsProbe(e){var t,o;void 0===e&&(e=ELEMENT_POSITIONS_PROBE_GRID_SIZE);for(var r=computeViewportSize(),n=getProbeAxisCoordinates(r.width,e),i=getProbeAxisCoordinates(r.height,e),l=[],s=0;s<i.length;s++)for(var a=0;a<n.length;a++){var c=n[a],u=i[s],p=null!==(o=null===(t=document.elementFromPoint(c,u))||void 0===t?void 0:t.getBoundingClientRect())&&void 0!==o?o:null;l.push(p?(0,_isomorphic_1.fromBcrToRect)(p):null)}return l}function computeCaptureSpecs(e,t){if(0===e.length)throw new Error("No selectors to compute capture area");null===t||void 0===t||t("========== <computeCaptureSpecs> =========="),null===t||void 0===t||t("selectors:",e);for(var o=performance.now(),r=[],n=0;n<e.length;n++){var i=(0,pseudo_element_rect_1.parseCaptureSelector)(e[n]),l=document.querySelector(i.elementSelector);l&&r.push({element:l,pseudoElement:i.pseudoElement})}var s=r.map(function(e){var o,r=e.element,n=e.pseudoElement,i=n?(0,element_rect_1.getPseudoElementCaptureRect)(r,n):(0,element_rect_1.getElementCaptureRect)(r,t);if(!i)return null;var l=(0,clip_rect_1.getClipRect)(r,t);return{full:i,visible:null!==(o=(0,_isomorphic_1.getIntersection)(i,l))&&void 0!==o?o:{top:i.top,left:i.left,width:0,height:0}}}).filter(function(e){return null!==e});return null===t||void 0===t||t("captureSpecs:",s),null===t||void 0===t||t("computeCaptureSpecs time taken:",(performance.now()-o).toFixed(1)+"ms"),null===t||void 0===t||t("========== </computeCaptureSpecs> =========="),s}function computeIgnoreAreas(e){void 0===e&&(e=[]);for(var t=[],o=0;o<e.length;o++)for(var r=(0,pseudo_element_rect_1.parseCaptureSelector)(e[o]),n=document.querySelectorAll(r.elementSelector),i=0;i<n.length;i++){var l=r.pseudoElement?(0,element_rect_1.getPseudoElementCaptureRect)(n[i],r.pseudoElement):(0,element_rect_1.getElementCaptureRect)(n[i]);null!==l&&t.push(l)}return t}function computeSafeArea(e,t,o){var r,n;null===o||void 0===o||o("========== <computeSafeArea> ==========");var i=performance.now(),l=computeViewportSize(),s={left:0,top:0,width:l.width,height:l.height},a=e.map(function(e){return document.querySelector((0,pseudo_element_rect_1.parseCaptureSelector)(e).elementSelector)}).filter(function(e){return null!==e}),c=computeCaptureSpecs(e).map(function(e){return e.full});if(0===c.length)return{top:s.top,height:s.height};var u,p=(0,_isomorphic_1.getCoveringRect)(c),m=null!==t&&void 0!==t?t:document.documentElement;if(m===document.documentElement)null===o||void 0===o||o("setting base safe area to viewport rect"),u=__assign({},s);else{var d=(0,element_rect_1.getBoundingClientContentRect)(m);null===o||void 0===o||o("setting base safe area to visible part of scroll container:",(0,descriptions_1.getReadableElementDescriptor)(m),"contentRect:",d),u=null!==(r=(0,_isomorphic_1.getIntersection)(d,s))&&void 0!==r?r:__assign({},s);var f=(0,element_rect_1.getVerticalRadiusInsets)(m),h=f.top,_=f.bottom;if(h>0||_>0){var v=u.height,g=Math.min(h,v),S=Math.min(_,v-g);null===o||void 0===o||o("applying radius insets to safe area:",{topInset:g,bottomInset:S}),u=__assign(__assign({},u),{top:u.top+g,height:v-g-S})}}for(var w=__assign({},u),C=a.map(function(e){return(0,z_index_1.buildZChain)(e)}),E=p.left,P=E+p.width,x=[],b=document.documentElement.querySelectorAll("*"),y=0;y<b.length;y++)!function(e){var t=b[e];if(a.some(function(e){return t!==e&&t.contains(e)}))return"continue";var r=getComputedStyle(t),i=r.position,l=t.getBoundingClientRect();if(l.width<1||l.height<1||1===l.width&&1===l.height||"hidden"===r.visibility||"none"===r.display||parseFloat(r.opacity)<1e-4)return"continue";if(l.right<=E||l.left>=P)return"continue";if(null===(0,_isomorphic_1.getIntersection)((0,_isomorphic_1.fromBcrToRect)(l),s))return"continue";var c=!1,p=(0,element_rect_1.domRectToViewportCss)(l),d=(0,dom_1.findFixedPositionedParent)(t);if("fixed"===i||d&&!a.some(function(e){return d.contains(e)}))c=!0;else if("absolute"===i){if(a.some(function(e){return e.contains(t)}))return"continue";var f=(0,dom_1.findContainingBlock)(t);m===document.documentElement||m.contains(f)||(c=!0)}else if("sticky"===i){var h=parseFloat(r.top),_=parseFloat(r.bottom),v=null!==(n=(0,scroll_1.getScrollParent)(t))&&void 0!==n?n:document.documentElement;null===o||void 0===o||o("scrollParent:",(0,descriptions_1.getReadableElementDescriptor)(v));var g=v.getBoundingClientRect();if(h+=(0,scroll_1.isRootLikeElement)(v)?0:g.top,isNaN(h)){if(!isNaN(_)){var S=m===document.documentElement,w=S?s.height:u.top+u.height;p={left:l.left,top:w-_-l.height,width:l.width,height:l.height},c=!0}}else p={left:l.left,top:h,width:l.width,height:l.height},c=!0}if(!c)return"continue";var y=(0,z_index_1.buildZChain)(t);if(!C.every(function(e){return(0,z_index_1.isChainBehind)(y,e)})){var A=(0,element_rect_1.getExtRect)(r,p),T=A.left;if(T+A.width<=E||T>=P)return"continue";x.push({element:t,rect:A})}}(y);for(var A=u.top,T=u.height,R=w.height,I=0,N=x;I<N.length;I++){var D=N[I];null===o||void 0===o||o("processing interference:",{element:(0,descriptions_1.getReadableElementDescriptor)(D.element),rect:D.rect});var O=D.rect,q=(0,_isomorphic_1.getBottom)({top:A,height:T}),B=(0,_isomorphic_1.getBottom)(O),M=B-A,F=q-O.top,V=A,z=T;M<F?(V=Math.max(B,A),z=(0,_isomorphic_1.getHeight)(q,V),null===o||void 0===o||o("decided to shrink top")):F&&(z=Math.min(T,O.top-A),null===o||void 0===o||o("decided to shrink bottom")),z<R/2?null===o||void 0===o||o("decided to skip, because shrinking is too large"):(null===o||void 0===o||o("resulting safe area top:",V,"resulting safe area height:",z),A=V,T=z)}T<R/2&&(A=w.top,T=w.height),(0,user_agent_1.isSafariMobile)()&&l.height-(A+T)<40&&(T-=40);var k={top:A,height:T};return null===o||void 0===o||o("final safe area:",k),null===o||void 0===o||o("computeSafeArea time taken:",(performance.now()-i).toFixed(1)+"ms"),null===o||void 0===o||o("========== </computeSafeArea> =========="),k}function computeDocumentSize(){var e=(0,dom_1.getMainDocumentElem)();return{width:e.scrollWidth,height:e.scrollHeight}}function computeCanHaveCaret(){var e=document.activeElement;return e instanceof HTMLElement&&(/^(input|textarea)$/i.test(e.tagName)||e.isContentEditable)}function computePixelRatio(e){return void 0===e&&(e=!0),!1===e?1:window.devicePixelRatio?window.devicePixelRatio:window.screen.deviceXDPI/window.screen.logicalXDPI||1}function scrollToCaptureAreaIfNeeded(e,t,o,r,n){var i=computeViewportSize(),l=__assign({top:0,left:0},i),s=computeCaptureSpecs(e);if(!s)return{};var a=(0,_isomorphic_1.getCoveringRect)(s.map(function(e){return e.full})),c=computeSafeArea(e),u=(0,_isomorphic_1.getIntersection)(a,c),p=(0,_isomorphic_1.getIntersection)(a,l),m=!u||u.height<a.height/2,d=a.top>=c.top;if(null===n||void 0===n||n("scrollToCaptureAreaIfNeeded: intersection check",{captureArea:a,safeArea:c,viewport:l,hasViewportIntersection:Boolean(p),hasSafeAreaIntersection:Boolean(u),isIntersectionWithSafeAreaTooSmall:m,captureElementFromTop:Boolean(t)}),!t&&!p)throw null===n||void 0===n||n("scrollToCaptureAreaIfNeeded: throwing OutsideOfViewportError because captureElementFromTop is disabled and target is outside viewport"),new outside_of_viewport_1.OutsideOfViewportError;if((!t||!m)&&d)return null===n||void 0===n||n("scrollToCaptureAreaIfNeeded: skipping scroll",{reason:t?"target already has enough safe area visibility":"captureElementFromTop is disabled"}),{};if(!t&&o)return null===n||void 0===n||n("scrollToCaptureAreaIfNeeded: skipping scroll because allowViewportOverflow is true and captureElementFromTop is false"),{};var f=r?document.querySelector(r):null,h=e.map(function(e){return(0,pseudo_element_rect_1.parseCaptureSelector)(e).elementSelector}),_=null!==f&&void 0!==f?f:(0,scroll_1.getCommonScrollParent)(h),v=null!==r&&void 0!==r?r:(0,descriptions_1.getReadableElementDescriptor)(_);null===n||void 0===n||n("scrollToCaptureAreaIfNeeded: scrolling is required",{scrollElement:v,requestedSelectorToScroll:null!==r&&void 0!==r?r:null,selectorMatched:Boolean(f)});var g=__spreadArray([],(0,scroll_1.getScrollParentsChain)(_),!0);g[g.length-1]!==_&&g.push(_);for(var S=1;S<g.length;S++){var w=computeSafeArea(e,g[S-1]),C=g[S].getBoundingClientRect().top,E=C-w.top;null===n||void 0===n||n("scrollToCaptureAreaIfNeeded: scrolling chain element",{scrollElement:(0,descriptions_1.getReadableElementDescriptor)(g[S-1]),childElement:(0,descriptions_1.getReadableElementDescriptor)(g[S]),scrollDelta:E}),(0,scroll_1.scrollElementBy)(g[S-1],E,n)}var P=(0,_isomorphic_1.getCoveringRect)(computeCaptureSpecs(e).map(function(e){return e.full}));if(!P)return{};var x=computeSafeArea(e,_),b=P.top-x.top;return null===n||void 0===n||n("scrollToCaptureAreaIfNeeded: final alignment scroll",{scrollElement:v,finalScrollDelta:b}),(0,scroll_1.scrollElementBy)(_,b,n),{readableSelectorToScrollDescr:v}}function saveElementScrollPosition(e){var t=(0,dom_1.getScreenshooterNamespaceData)();if(t.savedScrollPositions||(t.savedScrollPositions=[]),!t.savedScrollPositions.some(function(t){return t.element===e})){var o=(0,scroll_1.isRootLikeElement)(e)?{element:e,left:window.scrollX,top:window.scrollY}:{element:e,left:e.scrollLeft,top:e.scrollTop};t.savedScrollPositions.push(o)}}function saveScrollPositions(e,t){(0,dom_1.getScreenshooterNamespaceData)().savedScrollPositions=[];var o=t?document.querySelector(t):null,r=e.map(function(e){return(0,pseudo_element_rect_1.parseCaptureSelector)(e).elementSelector}),n=null!==o&&void 0!==o?o:(0,scroll_1.getCommonScrollParent)(r),i=__spreadArray([],(0,scroll_1.getScrollParentsChain)(n),!0);i[i.length-1]!==n&&i.push(n);for(var l=0,s=i;l<s.length;l++){saveElementScrollPosition(s[l])}}function prepareFullPageScrollCleanup(){(0,dom_1.getScreenshooterNamespaceData)().savedScrollPositions=[],saveElementScrollPosition(document.documentElement)}function restoreScrollPosition(e){if((0,scroll_1.isRootLikeElement)(e.element))return(0,scroll_1.performScrollFixForSafariIfNeeded)(e.top),void window.scrollTo(e.left,e.top);var t=e.element;if("function"==typeof t.scrollTo)return void t.scrollTo(e.left,e.top);"number"==typeof t.scrollLeft&&(t.scrollLeft=e.left),"number"==typeof t.scrollTop&&(t.scrollTop=e.top)}function cleanupSavedScrolls(){var e;try{var t=(0,dom_1.getScreenshooterNamespaceData)(),o=null!==(e=t.savedScrollPositions)&&void 0!==e?e:[];t.savedScrollPositions=[];for(var r=0,n=o;r<n.length;r++){var i=n[r];try{restoreScrollPosition(i)}catch(l){}}}catch(l){}}function disableAnimations(){function e(e){var r=document.createElement("style");r.innerHTML=t+["{"," animation-delay: 0ms !important;"," animation-duration: 0ms !important;"," animation-timing-function: step-start !important;"," transition-timing-function: step-start !important;"," scroll-behavior: auto !important;"," transition: none !important;","}"].join("\n"),e.appendChild(r),o.push(r)}var t=["","::before","::after"].map(function(e){return"*:not(#testplane-q.testplane-w.testplane-e.testplane-r.testplane-t.testplane-y)"+e}).join(", "),o=[];(0,dom_1.forEachRoot)(function(t){try{e(t)}catch(o){if(!o||!o.message||-1===o.message.indexOf("This document requires 'TrustedHTML' assignment"))throw o;(0,trusted_types_1.createDefaultTrustedTypesPolicy)(),e(t)}}),window.__cleanupAnimation=function(){for(var e=0;e<o.length;e++)o[e].parentNode.removeChild(o[e]);delete window.__cleanupAnimation}}function disablePointerEvents(){function e(e){var r=document.createElement("style");r.innerHTML=t+["{"," pointer-events: none !important;","}"].join("\n"),e.appendChild(r),o.push(r)}var t=["","::before","::after"].map(function(e){return"*:not(#testplane-q.testplane-w.testplane-e.testplane-r.testplane-t.testplane-y)"+e}).join(", "),o=[];(0,dom_1.forEachRoot)(function(t){try{e(t)}catch(o){if(!o||!o.message||-1===o.message.indexOf("This document requires 'TrustedHTML' assignment"))throw o;(0,trusted_types_1.createDefaultTrustedTypesPolicy)(),e(t)}}),(0,dom_1.getScreenshooterNamespaceData)().cleanupPointerEventsCb=function(){for(var e=0;e<o.length;e++)o[e].parentNode.removeChild(o[e])}}var __assign=this&&this.__assign||function(){return __assign=Object.assign||function(e){for(var t,o=1,r=arguments.length;o<r;o++){t=arguments[o];for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])}return e},__assign.apply(this,arguments)},__spreadArray=this&&this.__spreadArray||function(e,t,o){if(o||2===arguments.length)for(var r,n=0,i=t.length;n<i;n++)!r&&n in t||(r||(r=Array.prototype.slice.call(t,0,n)),r[n]=t[n]);return e.concat(r||Array.prototype.slice.call(t))};exports.__esModule=!0,exports.disablePointerEvents=exports.disableAnimations=exports.cleanupSavedScrolls=exports.prepareFullPageScrollCleanup=exports.saveScrollPositions=exports.scrollToCaptureAreaIfNeeded=exports.computePixelRatio=exports.computeCanHaveCaret=exports.computeDocumentSize=exports.computeSafeArea=exports.computeIgnoreAreas=exports.computeCaptureSpecs=exports.computeElementPositionsProbe=exports.computeViewportOffset=exports.computeViewportSize=exports.computeScrollOffset=void 0;var _isomorphic_1=require("/Users/shadowusr/dev/testplane/wt/testplane-9-fixes/src/browser/client-scripts/screen-shooter/tsc-out/isomorphic/index.js"),outside_of_viewport_1=require("./errors/outside-of-viewport"),descriptions_1=require("./utils/descriptions"),dom_1=require("./utils/dom"),element_rect_1=require("./utils/element-rect"),clip_rect_1=require("./utils/clip-rect"),scroll_1=require("./utils/scroll"),trusted_types_1=require("./utils/trusted-types"),z_index_1=require("./utils/z-index"),pseudo_element_rect_1=require("./utils/pseudo-element-rect"),user_agent_1=require("./utils/user-agent");exports.computeScrollOffset=computeScrollOffset,exports.computeViewportSize=computeViewportSize,exports.computeViewportOffset=computeViewportOffset;var ELEMENT_POSITIONS_PROBE_GRID_SIZE=5;exports.computeElementPositionsProbe=computeElementPositionsProbe,exports.computeCaptureSpecs=computeCaptureSpecs,exports.computeIgnoreAreas=computeIgnoreAreas,exports.computeSafeArea=computeSafeArea,exports.computeDocumentSize=computeDocumentSize,exports.computeCanHaveCaret=computeCanHaveCaret,exports.computePixelRatio=computePixelRatio,exports.scrollToCaptureAreaIfNeeded=scrollToCaptureAreaIfNeeded,exports.saveScrollPositions=saveScrollPositions,exports.prepareFullPageScrollCleanup=prepareFullPageScrollCleanup,exports.cleanupSavedScrolls=cleanupSavedScrolls,exports.disableAnimations=disableAnimations,exports.disablePointerEvents=disablePointerEvents;
9
- },{"./errors/outside-of-viewport":1,"./utils/clip-rect":5,"./utils/descriptions":6,"./utils/dom":7,"./utils/element-rect":8,"./utils/pseudo-element-rect":9,"./utils/scroll":10,"./utils/trusted-types":11,"./utils/user-agent":12,"./utils/z-index":13,"/Users/shadowusr/dev/testplane/wt/testplane-9-fixes/src/browser/client-scripts/screen-shooter/tsc-out/isomorphic/index.js":17}],5:[function(require,module,exports){
10
- "use strict";function getViewportRect(){return{top:0,left:0,width:window.innerWidth,height:window.innerHeight}}function hasOverflowClipping(e){return"visible"!==e.overflow||"visible"!==e.overflowX||"visible"!==e.overflowY}function getAbsoluteContainingBlocks(e){for(var t=[],i=e;i&&!(0,scroll_1.isRootLikeElement)(i);){if("absolute"===getComputedStyle(i).position){var n=(0,dom_1.findContainingBlock)(i);t.push({absoluteAncestor:i,containingBlock:n})}i=i.parentElement}return t}function getFixedAncestors(e){for(var t=[],i=e;i&&!(0,scroll_1.isRootLikeElement)(i);)"fixed"===getComputedStyle(i).position&&t.push(i),i=i.parentElement;return t}function escapesOverflowClippingViaAbsoluteContainingBlocks(e,t){return t.some(function(t){var i=t.absoluteAncestor,n=t.containingBlock;return!(i===e||!e.contains(i))&&(n!==e&&n.contains(e))})}function escapesOverflowClippingViaFixedAncestors(e,t){return t.some(function(t){return t!==e&&e.contains(t)})}function getClipRect(e,t){for(var i=getViewportRect(),n=getAbsoluteContainingBlocks(e),o=getFixedAncestors(e),r=i,s=e.parentElement;s&&!(0,scroll_1.isRootLikeElement)(s);){if(hasOverflowClipping(getComputedStyle(s))){if(escapesOverflowClippingViaAbsoluteContainingBlocks(s,n)||escapesOverflowClippingViaFixedAncestors(s,o)){s=s.parentElement;continue}var l=(0,element_rect_1.getBoundingClientContentRect)(s);null===t||void 0===t||t("intersecting with:",(0,descriptions_1.getReadableElementDescriptor)(s),"contentBox:",l);var c=(0,_isomorphic_1.getIntersection)(r,l);if(!c)return null===t||void 0===t||t("no intersection found for:",(0,descriptions_1.getReadableElementDescriptor)(s)),{top:r.top,left:r.left,width:0,height:0};r=c}s=s.parentElement}return r}exports.__esModule=!0,exports.getClipRect=void 0;var _isomorphic_1=require("/Users/shadowusr/dev/testplane/wt/testplane-9-fixes/src/browser/client-scripts/screen-shooter/tsc-out/isomorphic/index.js"),element_rect_1=require("./element-rect"),scroll_1=require("./scroll"),dom_1=require("./dom"),descriptions_1=require("./descriptions");exports.getClipRect=getClipRect;
11
- },{"./descriptions":6,"./dom":7,"./element-rect":8,"./scroll":10,"/Users/shadowusr/dev/testplane/wt/testplane-9-fixes/src/browser/client-scripts/screen-shooter/tsc-out/isomorphic/index.js":17}],6:[function(require,module,exports){
8
+ "use strict";function computeScrollOffset(e){return(0,scroll_1.isRootLikeElement)(e)?window.scrollY:e.scrollTop}function computeViewportSize(){return{width:window.innerWidth,height:window.innerHeight}}function computeViewportOffset(){return{left:window.scrollX,top:window.scrollY}}function getProbeAxisCoordinates(e,t){var o=Math.max(1,Math.floor(e));if(t<=1)return[0];for(var r=o-1,n=o/(t-1),i=[],l=0;l<t;l++)i.push(Math.min(r,Math.round(l*n)));return i}function computeElementPositionsProbe(e){void 0===e&&(e=ELEMENT_POSITIONS_PROBE_GRID_SIZE);for(var t=computeViewportSize(),o=getProbeAxisCoordinates(t.width,e),r=getProbeAxisCoordinates(t.height,e),n=[],i=0;i<r.length;i++)for(var l=0;l<o.length;l++){var s=o[l],a=r[i],c=document.elementFromPoint(s,a);c?n.push(__assign(__assign({},(0,_isomorphic_1.fromBcrToRect)(c.getBoundingClientRect())),{elementDescr:(0,descriptions_1.getReadableElementDescriptor)(c)})):n.push(null)}return n}function computeCaptureSpecs(e,t){if(0===e.length)throw new Error("No selectors to compute capture area");null===t||void 0===t||t("========== <computeCaptureSpecs> =========="),null===t||void 0===t||t("selectors:",e);for(var o=performance.now(),r=[],n=0;n<e.length;n++){var i=(0,pseudo_element_rect_1.parseCaptureSelector)(e[n]),l=document.querySelector(i.elementSelector);l&&r.push({element:l,pseudoElement:i.pseudoElement})}for(var s=[],a=0,c=r;a<c.length;a++){var u=c[a],l=u.element,p=u.pseudoElement,m=function(e,o){var r,n=o?(0,element_rect_1.getPseudoElementCaptureRect)(e,o):(0,element_rect_1.getElementCaptureRect)(e,t);if(!n)return null;var i=(0,clip_rect_1.getClipRect)(e,t);return{full:n,visible:null!==(r=(0,_isomorphic_1.getIntersection)(n,i))&&void 0!==r?r:{top:n.top,left:n.left,width:0,height:0},clip:i}}(l,p);m&&s.push(m)}return null===t||void 0===t||t("captureSpecs:",s),null===t||void 0===t||t("computeCaptureSpecs time taken:",(performance.now()-o).toFixed(1)+"ms"),null===t||void 0===t||t("========== </computeCaptureSpecs> =========="),s}function computeIgnoreAreas(e){void 0===e&&(e=[]);for(var t=[],o=0;o<e.length;o++)for(var r=(0,pseudo_element_rect_1.parseCaptureSelector)(e[o]),n=document.querySelectorAll(r.elementSelector),i=0;i<n.length;i++){var l=r.pseudoElement?(0,element_rect_1.getPseudoElementCaptureRect)(n[i],r.pseudoElement):(0,element_rect_1.getElementCaptureRect)(n[i]);null!==l&&t.push(l)}return t}function computeSafeArea(e,t,o){var r,n;null===o||void 0===o||o("========== <computeSafeArea> ==========");var i=performance.now(),l=computeViewportSize(),s={left:0,top:0,width:l.width,height:l.height},a=e.map(function(e){return document.querySelector((0,pseudo_element_rect_1.parseCaptureSelector)(e).elementSelector)}).filter(function(e){return null!==e}),c=computeCaptureSpecs(e).map(function(e){return e.full});if(0===c.length)return{top:s.top,height:s.height};var u,p=null!==t&&void 0!==t?t:document.documentElement;if(p===document.documentElement)null===o||void 0===o||o("setting base safe area to viewport rect"),u=__assign({},s);else{var m=(0,element_rect_1.getBoundingClientContentRect)(p);null===o||void 0===o||o("setting base safe area to visible part of scroll container:",(0,descriptions_1.getReadableElementDescriptor)(p),"contentRect:",m),u=null!==(r=(0,_isomorphic_1.getIntersection)(m,s))&&void 0!==r?r:__assign({},s);var d=(0,element_rect_1.getVerticalRadiusInsets)(p),f=d.top,h=d.bottom;if(f>0||h>0){var _=u.height,g=Math.min(f,_),v=Math.min(h,_-g);null===o||void 0===o||o("applying radius insets to safe area:",{topInset:g,bottomInset:v}),u=__assign(__assign({},u),{top:u.top+g,height:_-g-v})}}var S=__assign({},u);if(a.every(function(e){return"fixed"===getComputedStyle(e).position||null!==(0,dom_1.findFixedPositionedParent)(e)&&null===(0,scroll_1.getScrollParent)(e)}))return null===o||void 0===o||o("all capture elements are fixed or inside non-scrollable fixed subtree, skipping interferences"),{top:S.top,height:S.height};for(var w=(0,_isomorphic_1.getCoveringRect)(c),E=a.map(function(e){return(0,z_index_1.buildZChain)(e)}),C=w.left,P=C+w.width,x=[],b=document.documentElement.querySelectorAll("*"),y=1===a.length?a[0]:null,A=0;A<b.length;A++)!function(e){var t=b[e];if(p===t||t.contains(p))return"continue";if(y&&(t===y||t.contains(y)))return"continue";var r=getComputedStyle(t),i=r.position,l=t.getBoundingClientRect();if(l.width<1||l.height<1||1===l.width&&1===l.height||"hidden"===r.visibility||"none"===r.display||parseFloat(r.opacity)<1e-4||/opacity\(\s*0(?:\.0+)?%?\s*\)/.test(r.filter))return"continue";if(l.right<=C||l.left>=P)return"continue";if(null===(0,_isomorphic_1.getIntersection)((0,_isomorphic_1.fromBcrToRect)(l),s))return"continue";var c=!1,m=!1,d=(0,element_rect_1.domRectToViewportCss)(l),f=(0,dom_1.findFixedPositionedParent)(t),h=null!==f&&(f===p||f.contains(p));if("fixed"===i||f&&!h)c=!0,m=a.some(function(e){return e.contains(t)});else if("absolute"===i){if(a.some(function(e){return e.contains(t)}))return"continue";var _=(0,dom_1.findContainingBlock)(t);p===document.documentElement||p.contains(_)||(c=!0)}else if("sticky"===i){var g=parseFloat(r.top),v=parseFloat(r.bottom),S=null!==(n=(0,scroll_1.getScrollParent)(t))&&void 0!==n?n:document.documentElement;null===o||void 0===o||o("scrollParent:",(0,descriptions_1.getReadableElementDescriptor)(S));var w=S.getBoundingClientRect();if(g+=(0,scroll_1.isRootLikeElement)(S)?0:w.top,m=S===p||(0,scroll_1.isRootLikeElement)(S)&&(0,scroll_1.isRootLikeElement)(p),isNaN(g)){if(!isNaN(v)){var A=p===document.documentElement,T=A?s.height:u.top+u.height;d={left:l.left,top:T-v-l.height,width:l.width,height:l.height},c=!0}}else d={left:l.left,top:g,width:l.width,height:l.height},c=!0}if(!c)return"continue";var R=(0,z_index_1.buildZChain)(t);if(m||!E.every(function(e){return(0,z_index_1.isChainBehind)(R,e)})){var I=(0,element_rect_1.getExtRect)(r,d),N=I.left;if(N+I.width<=C||N>=P)return"continue";x.push({element:t,rect:I})}}(A);for(var T=u.top,R=u.height,I=S.height,N=0,D=x;N<D.length;N++){var O=D[N];null===o||void 0===o||o("processing interference:",{element:(0,descriptions_1.getReadableElementDescriptor)(O.element),rect:O.rect});var q=O.rect,M=(0,_isomorphic_1.getBottom)({top:T,height:R}),k=(0,_isomorphic_1.getBottom)(q),B=k-T,F=M-q.top,V=T,z=R;B<F?(V=Math.max(k,T),z=(0,_isomorphic_1.getHeight)(M,V),null===o||void 0===o||o("decided to shrink top")):F&&(z=Math.min(R,q.top-T),null===o||void 0===o||o("decided to shrink bottom")),z<.3*I?null===o||void 0===o||o("decided to skip, because shrinking is too large"):(null===o||void 0===o||o("resulting safe area top:",V,"resulting safe area height:",z),T=V,R=z)}R<.3*I&&(T=S.top,R=S.height),(0,user_agent_1.isSafariMobile)()&&l.height-(T+R)<40&&(R-=40);var L={top:T,height:R};return null===o||void 0===o||o("final safe area:",L),null===o||void 0===o||o("computeSafeArea time taken:",(performance.now()-i).toFixed(1)+"ms"),null===o||void 0===o||o("========== </computeSafeArea> =========="),L}function computeDocumentSize(){var e=(0,dom_1.getMainDocumentElem)();return{width:e.scrollWidth,height:e.scrollHeight}}function computeCanHaveCaret(){var e=document.activeElement;return e instanceof HTMLElement&&(/^(input|textarea)$/i.test(e.tagName)||e.isContentEditable)}function computePixelRatio(e){return void 0===e&&(e=!0),!1===e?1:window.devicePixelRatio?window.devicePixelRatio:window.screen.deviceXDPI/window.screen.logicalXDPI||1}function scrollToCaptureAreaIfNeeded(e,t,o,r,n){var i=computeViewportSize(),l=__assign({top:0,left:0},i),s=computeCaptureSpecs(e);if(!s)return{};var a=r?document.querySelector(r):null,c=e.map(function(e){return(0,pseudo_element_rect_1.parseCaptureSelector)(e).elementSelector}),u=null!==a&&void 0!==a?a:(0,scroll_1.getCommonScrollParent)(c),p=null!==r&&void 0!==r?r:(0,descriptions_1.getReadableElementDescriptor)(u),m=(0,_isomorphic_1.getCoveringRect)(s.map(function(e){return e.full})),d=computeSafeArea(e,u,n),f=(0,_isomorphic_1.getIntersection)(m,d),h=(0,_isomorphic_1.getIntersection)(m,l),_=Math.min(m.height,d.height),g=!f||f.height<_/2,v=m.top>=d.top;if(null===n||void 0===n||n("scrollToCaptureAreaIfNeeded: intersection check",{captureArea:m,safeArea:d,viewport:l,hasViewportIntersection:Boolean(h),hasSafeAreaIntersection:Boolean(f),isIntersectionWithSafeAreaTooSmall:g,captureElementFromTop:Boolean(t)}),!t&&!h)throw null===n||void 0===n||n("scrollToCaptureAreaIfNeeded: throwing OutsideOfViewportError because captureElementFromTop is disabled and target is outside viewport"),new outside_of_viewport_1.OutsideOfViewportError;if((!t||!g)&&v)return null===n||void 0===n||n("scrollToCaptureAreaIfNeeded: skipping scroll",{reason:t?"target already has enough safe area visibility":"captureElementFromTop is disabled"}),{};if(!t&&o)return null===n||void 0===n||n("scrollToCaptureAreaIfNeeded: skipping scroll because allowViewportOverflow is true and captureElementFromTop is false"),{};null===n||void 0===n||n("scrollToCaptureAreaIfNeeded: scrolling is required",{scrollElement:p,requestedSelectorToScroll:null!==r&&void 0!==r?r:null,selectorMatched:Boolean(a)});var S=__spreadArray([],(0,scroll_1.getScrollParentsChain)(u),!0);S[S.length-1]!==u&&S.push(u);for(var w=1;w<S.length;w++){var E=computeSafeArea(e,S[w-1]),C=S[w].getBoundingClientRect().top,P=C-E.top;null===n||void 0===n||n("scrollToCaptureAreaIfNeeded: scrolling chain element",{scrollElement:(0,descriptions_1.getReadableElementDescriptor)(S[w-1]),childElement:(0,descriptions_1.getReadableElementDescriptor)(S[w]),scrollDelta:P}),(0,scroll_1.scrollElementBy)(S[w-1],P,n)}var x=(0,_isomorphic_1.getCoveringRect)(computeCaptureSpecs(e).map(function(e){return e.full}));if(!x)return{};var b=computeSafeArea(e,u),y=x.top-b.top;return null===n||void 0===n||n("scrollToCaptureAreaIfNeeded: final alignment scroll",{scrollElement:p,finalScrollDelta:y}),(0,scroll_1.scrollElementBy)(u,y,n),{readableSelectorToScrollDescr:p}}function saveElementScrollPosition(e){var t=(0,dom_1.getScreenshooterNamespaceData)();if(t.savedScrollPositions||(t.savedScrollPositions=[]),!t.savedScrollPositions.some(function(t){return t.element===e})){var o=(0,scroll_1.isRootLikeElement)(e)?{element:e,left:window.scrollX,top:window.scrollY}:{element:e,left:e.scrollLeft,top:e.scrollTop};t.savedScrollPositions.push(o)}}function saveScrollPositions(e,t){(0,dom_1.getScreenshooterNamespaceData)().savedScrollPositions=[];var o=t?document.querySelector(t):null,r=e.map(function(e){return(0,pseudo_element_rect_1.parseCaptureSelector)(e).elementSelector}),n=null!==o&&void 0!==o?o:(0,scroll_1.getCommonScrollParent)(r),i=__spreadArray([],(0,scroll_1.getScrollParentsChain)(n),!0);i[i.length-1]!==n&&i.push(n);for(var l=0,s=i;l<s.length;l++){saveElementScrollPosition(s[l])}}function prepareFullPageScrollCleanup(){(0,dom_1.getScreenshooterNamespaceData)().savedScrollPositions=[],saveElementScrollPosition(document.documentElement)}function restoreScrollPosition(e){if((0,scroll_1.isRootLikeElement)(e.element))return(0,scroll_1.performScrollFixForSafariIfNeeded)(e.top),void window.scrollTo(e.left,e.top);var t=e.element;if("function"==typeof t.scrollTo)return void t.scrollTo(e.left,e.top);"number"==typeof t.scrollLeft&&(t.scrollLeft=e.left),"number"==typeof t.scrollTop&&(t.scrollTop=e.top)}function cleanupSavedScrolls(){var e;try{var t=(0,dom_1.getScreenshooterNamespaceData)(),o=null!==(e=t.savedScrollPositions)&&void 0!==e?e:[];t.savedScrollPositions=[];for(var r=0,n=o;r<n.length;r++){var i=n[r];try{restoreScrollPosition(i)}catch(l){}}}catch(l){}}function disableAnimations(){function e(e){var r=document.createElement("style");r.innerHTML=t+["{"," animation-delay: 0ms !important;"," animation-duration: 0ms !important;"," animation-timing-function: step-start !important;"," transition-timing-function: step-start !important;"," scroll-behavior: auto !important;"," transition: none !important;","}"].join("\n"),e.appendChild(r),o.push(r)}var t=["","::before","::after"].map(function(e){return"*:not(#testplane-q.testplane-w.testplane-e.testplane-r.testplane-t.testplane-y)"+e}).join(", "),o=[];(0,dom_1.forEachRoot)(function(t){try{e(t)}catch(o){if(!o||!o.message||-1===o.message.indexOf("This document requires 'TrustedHTML' assignment"))throw o;(0,trusted_types_1.createDefaultTrustedTypesPolicy)(),e(t)}}),window.__cleanupAnimation=function(){for(var e=0;e<o.length;e++)o[e].parentNode.removeChild(o[e]);delete window.__cleanupAnimation}}function disablePointerEvents(){function e(e){var r=document.createElement("style");r.innerHTML=t+["{"," pointer-events: none !important;","}"].join("\n"),e.appendChild(r),o.push(r)}var t=["","::before","::after"].map(function(e){return"*:not(#testplane-q.testplane-w.testplane-e.testplane-r.testplane-t.testplane-y)"+e}).join(", "),o=[];(0,dom_1.forEachRoot)(function(t){try{e(t)}catch(o){if(!o||!o.message||-1===o.message.indexOf("This document requires 'TrustedHTML' assignment"))throw o;(0,trusted_types_1.createDefaultTrustedTypesPolicy)(),e(t)}}),(0,dom_1.getScreenshooterNamespaceData)().cleanupPointerEventsCb=function(){for(var e=0;e<o.length;e++)o[e].parentNode.removeChild(o[e])}}var __assign=this&&this.__assign||function(){return __assign=Object.assign||function(e){for(var t,o=1,r=arguments.length;o<r;o++){t=arguments[o];for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])}return e},__assign.apply(this,arguments)},__spreadArray=this&&this.__spreadArray||function(e,t,o){if(o||2===arguments.length)for(var r,n=0,i=t.length;n<i;n++)!r&&n in t||(r||(r=Array.prototype.slice.call(t,0,n)),r[n]=t[n]);return e.concat(r||Array.prototype.slice.call(t))};exports.__esModule=!0,exports.disablePointerEvents=exports.disableAnimations=exports.cleanupSavedScrolls=exports.prepareFullPageScrollCleanup=exports.saveScrollPositions=exports.scrollToCaptureAreaIfNeeded=exports.computePixelRatio=exports.computeCanHaveCaret=exports.computeDocumentSize=exports.computeSafeArea=exports.computeIgnoreAreas=exports.computeCaptureSpecs=exports.computeElementPositionsProbe=exports.computeViewportOffset=exports.computeViewportSize=exports.computeScrollOffset=void 0;var _isomorphic_1=require("/home/runner/work/testplane/testplane/src/browser/client-scripts/screen-shooter/tsc-out/isomorphic/index.js"),outside_of_viewport_1=require("./errors/outside-of-viewport"),descriptions_1=require("./utils/descriptions"),dom_1=require("./utils/dom"),element_rect_1=require("./utils/element-rect"),clip_rect_1=require("./utils/clip-rect"),scroll_1=require("./utils/scroll"),trusted_types_1=require("./utils/trusted-types"),z_index_1=require("./utils/z-index"),pseudo_element_rect_1=require("./utils/pseudo-element-rect"),user_agent_1=require("./utils/user-agent");exports.computeScrollOffset=computeScrollOffset,exports.computeViewportSize=computeViewportSize,exports.computeViewportOffset=computeViewportOffset;var ELEMENT_POSITIONS_PROBE_GRID_SIZE=5;exports.computeElementPositionsProbe=computeElementPositionsProbe,exports.computeCaptureSpecs=computeCaptureSpecs,exports.computeIgnoreAreas=computeIgnoreAreas,exports.computeSafeArea=computeSafeArea,exports.computeDocumentSize=computeDocumentSize,exports.computeCanHaveCaret=computeCanHaveCaret,exports.computePixelRatio=computePixelRatio,exports.scrollToCaptureAreaIfNeeded=scrollToCaptureAreaIfNeeded,exports.saveScrollPositions=saveScrollPositions,exports.prepareFullPageScrollCleanup=prepareFullPageScrollCleanup,exports.cleanupSavedScrolls=cleanupSavedScrolls,exports.disableAnimations=disableAnimations,exports.disablePointerEvents=disablePointerEvents;
9
+ },{"./errors/outside-of-viewport":1,"./utils/clip-rect":5,"./utils/descriptions":6,"./utils/dom":7,"./utils/element-rect":8,"./utils/pseudo-element-rect":9,"./utils/scroll":10,"./utils/trusted-types":11,"./utils/user-agent":12,"./utils/z-index":13,"/home/runner/work/testplane/testplane/src/browser/client-scripts/screen-shooter/tsc-out/isomorphic/index.js":19}],5:[function(require,module,exports){
10
+ "use strict";function getViewportRect(){return{top:0,left:0,width:window.innerWidth,height:window.innerHeight}}function hasOverflowClipping(e){return"visible"!==e.overflow||"visible"!==e.overflowX||"visible"!==e.overflowY}function getAbsoluteContainingBlocks(e){for(var t=[],n=e;n&&!(0,scroll_1.isRootLikeElement)(n);){if("absolute"===getComputedStyle(n).position){var i=(0,dom_1.findContainingBlock)(n);t.push({absoluteAncestor:n,containingBlock:i})}n=n.parentElement}return t}function getFixedAncestors(e){for(var t=[],n=e;n&&!(0,scroll_1.isRootLikeElement)(n);)"fixed"===getComputedStyle(n).position&&t.push(n),n=n.parentElement;return t}function escapesOverflowClippingViaAbsoluteContainingBlocks(e,t){return t.some(function(t){var n=t.absoluteAncestor,i=t.containingBlock;return!(n===e||!e.contains(n))&&(i!==e&&i.contains(e))})}function escapesOverflowClippingViaFixedAncestors(e,t){return t.some(function(t){return t!==e&&e.contains(t)})}function getClipRect(e,t){for(var n=getViewportRect(),i=getAbsoluteContainingBlocks(e),o=getFixedAncestors(e),r=n,s=e.parentElement;s&&!(0,scroll_1.isRootLikeElement)(s);){if(hasOverflowClipping(getComputedStyle(s))){if(escapesOverflowClippingViaAbsoluteContainingBlocks(s,i)||escapesOverflowClippingViaFixedAncestors(s,o)){s=s.parentElement;continue}var l=(0,element_rect_1.getBoundingClientContentRect)(s);null===t||void 0===t||t("intersecting with:",(0,descriptions_1.getReadableElementDescriptor)(s),"contentBox:",l);var c=(0,_isomorphic_1.getIntersection)(r,l);if(!c)return null===t||void 0===t||t("no intersection found for:",(0,descriptions_1.getReadableElementDescriptor)(s)),{top:r.top,left:r.left,width:0,height:0};r=c}s=s.parentElement}return r}exports.__esModule=!0,exports.getClipRect=void 0;var _isomorphic_1=require("/home/runner/work/testplane/testplane/src/browser/client-scripts/screen-shooter/tsc-out/isomorphic/index.js"),element_rect_1=require("./element-rect"),scroll_1=require("./scroll"),dom_1=require("./dom"),descriptions_1=require("./descriptions");exports.getClipRect=getClipRect;
11
+ },{"./descriptions":6,"./dom":7,"./element-rect":8,"./scroll":10,"/home/runner/work/testplane/testplane/src/browser/client-scripts/screen-shooter/tsc-out/isomorphic/index.js":19}],6:[function(require,module,exports){
12
12
  "use strict";function getReadableElementDescriptor(e){if(e===document.documentElement)return"html";var t=e.tagName.toLowerCase();if(e.id)return"".concat(t,"#").concat(e.id);if(e.classList.length){for(var r=[],s=0;s<e.classList.length;s++)r.push(e.classList[s]);return t+"."+r.join(".")}return t}exports.__esModule=!0,exports.getReadableElementDescriptor=void 0,exports.getReadableElementDescriptor=getReadableElementDescriptor;
13
13
  },{}],7:[function(require,module,exports){
14
- "use strict";function getOwnerWindow(e){return e.ownerDocument?e.ownerDocument.defaultView:null}function getOwnerIframe(e){var n=getOwnerWindow(e);return n?n.frameElement:null}function getMainDocumentElem(e){e||(e=document.documentElement);var n=getOwnerIframe(e);if(!n)return e;var t=getOwnerWindow(n);return t?getMainDocumentElem(t.document.documentElement):e}function forEachRoot(e){function n(t){e(t);for(var o=document.createTreeWalker(t,NodeFilter.SHOW_ELEMENT,null,!1),r=o.currentNode;null!==r;r=o.nextNode())r instanceof Element&&r.shadowRoot&&n(r.shadowRoot)}n(document.documentElement)}function getParentElement(e){if(e instanceof ShadowRoot)return e.host;if(e instanceof Element){var n=e.getRootNode();return e.parentElement||(n instanceof ShadowRoot?n.host:null)}return e.parentNode instanceof Element?e.parentNode:null}function findFixedPositionedParent(e){for(var n=e.parentElement;n;){if("fixed"===getComputedStyle(n).position)return n;n=n.parentElement}return null}function findContainingBlock(e){for(var n=e.parentElement;n;){var t=getComputedStyle(n);if("relative"===t.position||"absolute"===t.position||"fixed"===t.position||"sticky"===t.position||"none"!==t.transform||"none"!==t.perspective)return n;n=n.parentElement}return document.documentElement}function getScreenshooterNamespaceData(){window.__geminiCore||(window.__geminiCore={});var e="string"==typeof __geminiNamespace&&__geminiNamespace?__geminiNamespace:FALLBACK_SCREENSHOOTER_NAMESPACE;return window.__geminiCore[e]||(window.__geminiCore[e]={}),window.__geminiCore[e]}exports.__esModule=!0,exports.getScreenshooterNamespaceData=exports.findContainingBlock=exports.findFixedPositionedParent=exports.getParentElement=exports.forEachRoot=exports.getMainDocumentElem=exports.getOwnerIframe=exports.getOwnerWindow=void 0;var FALLBACK_SCREENSHOOTER_NAMESPACE="__testplane_screenshooter__";exports.getOwnerWindow=getOwnerWindow,exports.getOwnerIframe=getOwnerIframe,exports.getMainDocumentElem=getMainDocumentElem,exports.forEachRoot=forEachRoot,exports.getParentElement=getParentElement,exports.findFixedPositionedParent=findFixedPositionedParent,exports.findContainingBlock=findContainingBlock,exports.getScreenshooterNamespaceData=getScreenshooterNamespaceData;
15
- },{}],8:[function(require,module,exports){
16
- "use strict";function domRectToViewportCss(t){return{top:t.top,left:t.left,width:t.width,height:t.height}}function getElementBorderWidths(t){var e=(0,dom_1.getOwnerWindow)(t)||window,o=e.getComputedStyle(t);return{top:parseFloat(o.borderTopWidth),left:parseFloat(o.borderLeftWidth)}}function getIframeContentOrigin(t){var e=getElementBorderWidths(t),o=t.getBoundingClientRect();return{top:o.top+e.top,left:o.left+e.left,width:o.width,height:o.height}}function getNestedBoundingClientRect(t,e){var o=(0,dom_1.getOwnerIframe)(t);if(null===o||(0,dom_1.getOwnerWindow)(o)===window)return null===e||void 0===e||e("getNestedBoundingClientRect ownerIframe is null or window, returning bounding rect untouched"),domRectToViewportCss(t.getBoundingClientRect());null===e||void 0===e||e("getNestedBoundingClientRect ownerIframe is not null or window, returning bounding rect with iframe origin");for(var r=domRectToViewportCss(t.getBoundingClientRect()),n=r.top,i=r.left,d=o;d;){var a=getIframeContentOrigin(d);if(n+=a.top,i+=a.left,(d=(0,dom_1.getOwnerIframe)(d))&&(0,dom_1.getOwnerWindow)(d)===window){var s=getIframeContentOrigin(d);n+=s.top,i+=s.left;break}}return{top:n,left:i,width:r.width,height:r.height}}function parseBoxShadow(t){for(var e=/[-+]?\d*\.?\d+px/g,o=[],r=0,n=(t||"").split(",");r<n.length;r++){var i=n[r],d=i.match(e);d&&o.push({offsetX:parseFloat(d[0]),offsetY:parseFloat(d[1])||0,blurRadius:parseFloat(d[2])||0,spreadRadius:parseFloat(d[3])||0,inset:-1!==i.indexOf("inset")})}return o}function calculateShadowExtent(t){for(var e={top:0,left:0,right:0,bottom:0},o=0,r=t;o<r.length;o++){var n=r[o];if(!n.inset){var i=n.spreadRadius+n.blurRadius;e.left=Math.min(n.offsetX-i,e.left),e.right=Math.max(n.offsetX+i,e.right),e.top=Math.min(n.offsetY-i,e.top),e.bottom=Math.max(n.offsetY+i,e.bottom)}}return e}function calculateShadowRect(t,e){var o=calculateShadowExtent(e);return{left:t.left+o.left,top:t.top+o.top,width:t.width-o.left+o.right,height:t.height-o.top+o.bottom}}function calculateOutlineRect(t,e){return{top:t.top-e,left:t.left-e,width:t.width+2*e,height:t.height+2*e}}function getExtRect(t,e){var o=parseBoxShadow(t.boxShadow),r=parseInt(t.outlineWidth,10),n=isNaN(r)||"none"===t.outlineStyle?0:r;return(0,_isomorphic_1.getCoveringRect)([calculateShadowRect(e,o),calculateOutlineRect(e,n)])}function isHidden(t,e){return"none"===t.display||"hidden"===t.visibility||parseFloat(t.opacity)<1e-4||e.width<1e-4||e.height<1e-4}function getBoundingClientContentRect(t){var e=getComputedStyle(t),o=t.getBoundingClientRect(),r=parseFloat(e.borderLeftWidth)||0,n=parseFloat(e.borderTopWidth)||0,i=parseFloat(e.borderRightWidth)||0,d=parseFloat(e.borderBottomWidth)||0;return{left:o.left+r,top:o.top+n,width:o.width-r-i,height:o.height-n-d}}function getElementCaptureRect(t,e){var o=getComputedStyle(t),r=getNestedBoundingClientRect(t,e);if(null===e||void 0===e||e("getElementCaptureRect clientRect:",r),isHidden(o,r))return null;for(var n=getExtRect(o,r),i=0,d=pseudo_element_rect_1.PSEUDO_ELEMENTS;i<d.length;i++){var a=d[i],s=getComputedStyle(t,a);n=(0,_isomorphic_1.getCoveringRect)([n,getExtRect(s,r)])}return n}function getPseudoElementCaptureRect(t,e){var o=getComputedStyle(t),r=getNestedBoundingClientRect(t);if(isHidden(o,r))return null;var n=(0,pseudo_element_rect_1.getPseudoElementRect)(t,e,r);return n?getExtRect(getComputedStyle(t,e),n):null}function parseBorderRadius(t){var e=t.trim().split(/\s+/),o=e[0],r=e[1],n=parseFloat(null!==r&&void 0!==r?r:o);return isNaN(n)?0:n}function getVerticalRadiusInsets(t){var e=getComputedStyle(t);return{top:Math.max(parseBorderRadius(e.borderTopLeftRadius),parseBorderRadius(e.borderTopRightRadius)),bottom:Math.max(parseBorderRadius(e.borderBottomLeftRadius),parseBorderRadius(e.borderBottomRightRadius))}}exports.__esModule=!0,exports.getVerticalRadiusInsets=exports.getPseudoElementCaptureRect=exports.getElementCaptureRect=exports.getBoundingClientContentRect=exports.getExtRect=exports.domRectToViewportCss=void 0;var _isomorphic_1=require("/Users/shadowusr/dev/testplane/wt/testplane-9-fixes/src/browser/client-scripts/screen-shooter/tsc-out/isomorphic/index.js"),dom_1=require("./dom"),pseudo_element_rect_1=require("./pseudo-element-rect");exports.domRectToViewportCss=domRectToViewportCss,exports.getExtRect=getExtRect,exports.getBoundingClientContentRect=getBoundingClientContentRect,exports.getElementCaptureRect=getElementCaptureRect,exports.getPseudoElementCaptureRect=getPseudoElementCaptureRect,exports.getVerticalRadiusInsets=getVerticalRadiusInsets;
17
- },{"./dom":7,"./pseudo-element-rect":9,"/Users/shadowusr/dev/testplane/wt/testplane-9-fixes/src/browser/client-scripts/screen-shooter/tsc-out/isomorphic/index.js":17}],9:[function(require,module,exports){
14
+ "use strict";function getOwnerWindow(e){return e.ownerDocument?e.ownerDocument.defaultView:null}function getOwnerIframe(e){var t=getOwnerWindow(e);return t?t.frameElement:null}function getMainDocumentElem(e){e||(e=document.documentElement);var t=getOwnerIframe(e);if(!t)return e;var n=getOwnerWindow(t);return n?getMainDocumentElem(n.document.documentElement):e}function forEachRoot(e){function t(n){e(n);for(var o=document.createTreeWalker(n,NodeFilter.SHOW_ELEMENT,null,!1),r=o.currentNode;null!==r;r=o.nextNode())r instanceof Element&&r.shadowRoot&&t(r.shadowRoot)}t(document.documentElement)}function getParentElement(e){if(e instanceof ShadowRoot)return e.host;if(e instanceof Element){var t=lib.getRootNode(e);return e.parentElement||(t instanceof ShadowRoot?t.host:null)}return e.parentNode instanceof Element?e.parentNode:null}function findFixedPositionedParent(e){for(var t=e.parentElement;t;){if("fixed"===getComputedStyle(t).position)return t;t=t.parentElement}return null}function findContainingBlock(e){for(var t=e.parentElement;t;){var n=getComputedStyle(t);if("relative"===n.position||"absolute"===n.position||"fixed"===n.position||"sticky"===n.position||"none"!==n.transform||"none"!==n.perspective)return t;t=t.parentElement}return document.documentElement}function getScreenshooterNamespaceData(){window.__geminiCore||(window.__geminiCore={});var e="string"==typeof __geminiNamespace&&__geminiNamespace?__geminiNamespace:FALLBACK_SCREENSHOOTER_NAMESPACE;return window.__geminiCore[e]||(window.__geminiCore[e]={}),window.__geminiCore[e]}var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,n,o){o===undefined&&(o=n);var r=Object.getOwnPropertyDescriptor(t,n);r&&("get"in r?t.__esModule:!r.writable&&!r.configurable)||(r={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,o,r)}:function(e,t,n,o){o===undefined&&(o=n),e[o]=t[n]}),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e["default"]=t}),__importStar=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&__createBinding(t,e,n);return __setModuleDefault(t,e),t};exports.__esModule=!0,exports.getScreenshooterNamespaceData=exports.findContainingBlock=exports.findFixedPositionedParent=exports.getParentElement=exports.forEachRoot=exports.getMainDocumentElem=exports.getOwnerIframe=exports.getOwnerWindow=void 0;var lib=__importStar(require("./../../shared/lib.native.js")),FALLBACK_SCREENSHOOTER_NAMESPACE="__testplane_screenshooter__";exports.getOwnerWindow=getOwnerWindow,exports.getOwnerIframe=getOwnerIframe,exports.getMainDocumentElem=getMainDocumentElem,exports.forEachRoot=forEachRoot,exports.getParentElement=getParentElement,exports.findFixedPositionedParent=findFixedPositionedParent,exports.findContainingBlock=findContainingBlock,exports.getScreenshooterNamespaceData=getScreenshooterNamespaceData;
15
+ },{"./../../shared/lib.native.js":14}],8:[function(require,module,exports){
16
+ "use strict";function domRectToViewportCss(t){return{top:t.top,left:t.left,width:t.width,height:t.height}}function getElementBorderWidths(t){var e=(0,dom_1.getOwnerWindow)(t)||window,o=e.getComputedStyle(t);return{top:parseFloat(o.borderTopWidth),left:parseFloat(o.borderLeftWidth)}}function getIframeContentOrigin(t){var e=getElementBorderWidths(t),o=t.getBoundingClientRect();return{top:o.top+e.top,left:o.left+e.left,width:o.width,height:o.height}}function getNestedBoundingClientRect(t,e){var o=(0,dom_1.getOwnerIframe)(t);if(null===o||(0,dom_1.getOwnerWindow)(o)===window)return null===e||void 0===e||e("getNestedBoundingClientRect ownerIframe is null or window, returning bounding rect untouched"),domRectToViewportCss(t.getBoundingClientRect());null===e||void 0===e||e("getNestedBoundingClientRect ownerIframe is not null or window, returning bounding rect with iframe origin");for(var r=domRectToViewportCss(t.getBoundingClientRect()),n=r.top,i=r.left,d=o;d;){var a=getIframeContentOrigin(d);if(n+=a.top,i+=a.left,(d=(0,dom_1.getOwnerIframe)(d))&&(0,dom_1.getOwnerWindow)(d)===window){var s=getIframeContentOrigin(d);n+=s.top,i+=s.left;break}}return{top:n,left:i,width:r.width,height:r.height}}function parseBoxShadow(t){for(var e=/[-+]?\d*\.?\d+px/g,o=[],r=0,n=(t||"").split(",");r<n.length;r++){var i=n[r],d=i.match(e);d&&o.push({offsetX:parseFloat(d[0]),offsetY:parseFloat(d[1])||0,blurRadius:parseFloat(d[2])||0,spreadRadius:parseFloat(d[3])||0,inset:-1!==i.indexOf("inset")})}return o}function calculateShadowExtent(t){for(var e={top:0,left:0,right:0,bottom:0},o=0,r=t;o<r.length;o++){var n=r[o];if(!n.inset){var i=n.spreadRadius+n.blurRadius;e.left=Math.min(n.offsetX-i,e.left),e.right=Math.max(n.offsetX+i,e.right),e.top=Math.min(n.offsetY-i,e.top),e.bottom=Math.max(n.offsetY+i,e.bottom)}}return e}function calculateShadowRect(t,e){var o=calculateShadowExtent(e);return{left:t.left+o.left,top:t.top+o.top,width:t.width-o.left+o.right,height:t.height-o.top+o.bottom}}function calculateOutlineRect(t,e){return{top:t.top-e,left:t.left-e,width:t.width+2*e,height:t.height+2*e}}function getExtRect(t,e){var o=parseBoxShadow(t.boxShadow),r=parseInt(t.outlineWidth,10),n=isNaN(r)||"none"===t.outlineStyle?0:r;return(0,_isomorphic_1.getCoveringRect)([calculateShadowRect(e,o),calculateOutlineRect(e,n)])}function isHidden(t,e){return"none"===t.display||"hidden"===t.visibility||parseFloat(t.opacity)<1e-4||e.width<1e-4||e.height<1e-4}function getBoundingClientContentRect(t){var e=getComputedStyle(t),o=t.getBoundingClientRect(),r=parseFloat(e.borderLeftWidth)||0,n=parseFloat(e.borderTopWidth)||0,i=parseFloat(e.borderRightWidth)||0,d=parseFloat(e.borderBottomWidth)||0;return{left:o.left+r,top:o.top+n,width:o.width-r-i,height:o.height-n-d}}function getElementCaptureRect(t,e){var o=getComputedStyle(t),r=getNestedBoundingClientRect(t,e);if(null===e||void 0===e||e("getElementCaptureRect clientRect:",r),isHidden(o,r))return null;for(var n=getExtRect(o,r),i=0,d=pseudo_element_rect_1.PSEUDO_ELEMENTS;i<d.length;i++){var a=d[i],s=getComputedStyle(t,a);n=(0,_isomorphic_1.getCoveringRect)([n,getExtRect(s,r)])}return n}function getPseudoElementCaptureRect(t,e){var o=getComputedStyle(t),r=getNestedBoundingClientRect(t);if(isHidden(o,r))return null;var n=(0,pseudo_element_rect_1.getPseudoElementRect)(t,e,r);return n?getExtRect(getComputedStyle(t,e),n):null}function parseBorderRadius(t){var e=t.trim().split(/\s+/),o=e[0],r=e[1],n=parseFloat(null!==r&&void 0!==r?r:o);return isNaN(n)?0:n}function getVerticalRadiusInsets(t){var e=getComputedStyle(t);return{top:Math.max(parseBorderRadius(e.borderTopLeftRadius),parseBorderRadius(e.borderTopRightRadius)),bottom:Math.max(parseBorderRadius(e.borderBottomLeftRadius),parseBorderRadius(e.borderBottomRightRadius))}}exports.__esModule=!0,exports.getVerticalRadiusInsets=exports.getPseudoElementCaptureRect=exports.getElementCaptureRect=exports.getBoundingClientContentRect=exports.getExtRect=exports.domRectToViewportCss=void 0;var _isomorphic_1=require("/home/runner/work/testplane/testplane/src/browser/client-scripts/screen-shooter/tsc-out/isomorphic/index.js"),dom_1=require("./dom"),pseudo_element_rect_1=require("./pseudo-element-rect");exports.domRectToViewportCss=domRectToViewportCss,exports.getExtRect=getExtRect,exports.getBoundingClientContentRect=getBoundingClientContentRect,exports.getElementCaptureRect=getElementCaptureRect,exports.getPseudoElementCaptureRect=getPseudoElementCaptureRect,exports.getVerticalRadiusInsets=getVerticalRadiusInsets;
17
+ },{"./dom":7,"./pseudo-element-rect":9,"/home/runner/work/testplane/testplane/src/browser/client-scripts/screen-shooter/tsc-out/isomorphic/index.js":19}],9:[function(require,module,exports){
18
18
  "use strict";function parseCaptureSelector(t){var e=t.match(PSEUDO_SELECTOR_REGEXP);if(!e)return{elementSelector:t,pseudoElement:null};var r=e[1].trim();return r?{elementSelector:r,pseudoElement:e[2].toLowerCase()}:{elementSelector:t,pseudoElement:null}}function getElementBorderWidths(t){var e=getComputedStyle(t);return{top:parseFloat(e.borderTopWidth),left:parseFloat(e.borderLeftWidth)}}function parseLengthOrZero(t){var e=parseFloat(t);return isNaN(e)?0:e}function getElementContentBottom(t){var e=document.createRange();try{e.selectNodeContents(t);for(var r=e.getClientRects(),n=-Infinity,o=0;o<r.length;o++){var a=r[o];a.width<1e-4&&a.height<1e-4||(n=Math.max(n,a.bottom))}return n!==-Infinity?n:null}catch(i){return null}finally{"function"==typeof e.detach&&e.detach()}}function getContainingBlockPaddingEdge(t){for(var e=t.parentElement;e;){if("static"!==getComputedStyle(e).position){var r=e.getBoundingClientRect(),n=getElementBorderWidths(e);return{top:r.top+n.top,left:r.left+n.left}}e=e.parentElement}return null}function parseTransformMatrix(t){if(!t||"none"===t)return null;var e=t.match(/matrix\(([^)]+)\)/);if(e){var r=e[1].split(",").map(function(t){return parseFloat(t.trim())});return{a:r[0],b:r[1],c:r[2],d:r[3],tx:r[4],ty:r[5]}}var n=t.match(/matrix3d\(([^)]+)\)/);if(n){var r=n[1].split(",").map(function(t){return parseFloat(t.trim())});return{a:r[0],b:r[1],c:r[4],d:r[5],tx:r[12],ty:r[13]}}return null}function resolveTransformOrigin(t,e,r){function n(t,e){return"%"===t.slice(-1)?parseFloat(t)/100*e:parseFloat(t)||0}var o=t.split(/\s+/);return{x:n(o[0],e),y:n(o[1]||o[0],r)}}function applyTransformToRect(t,e){var r=parseTransformMatrix(e.transform);if(!r)return t;for(var n=resolveTransformOrigin(e.transformOrigin,t.width,t.height),o=t.left+n.x,a=t.top+n.y,i=[[t.left,t.top],[t.left+t.width,t.top],[t.left,t.top+t.height],[t.left+t.width,t.top+t.height]],l=Infinity,p=Infinity,s=-Infinity,f=-Infinity,u=0,d=i;u<d.length;u++){var h=d[u],c=h[0],m=h[1],g=c-o,v=m-a,E=r.a*g+r.c*v+r.tx+o,y=r.b*g+r.d*v+r.ty+a;l=Math.min(l,E),s=Math.max(s,E),p=Math.min(p,y),f=Math.max(f,y)}return{left:l,top:p,width:s-l,height:f-p}}function computeBaseRect(t,e,r,n){var o=parseFloat(r.width),a=parseFloat(r.height);if(isNaN(o)||isNaN(a)||o<1e-4||a<1e-4)return null;var i=r.position;if("fixed"===i){var l=parseFloat(r.top),p=parseFloat(r.left);return{top:isNaN(l)?0:l,left:isNaN(p)?0:p,width:o,height:a}}if("absolute"===i){var s=getComputedStyle(t),f=void 0,u=void 0;if("static"!==s.position){var d=getElementBorderWidths(t);f=n.top+d.top,u=n.left+d.left}else{var h=getContainingBlockPaddingEdge(t);f=h?h.top:0,u=h?h.left:0}var c=parseFloat(r.top),p=parseFloat(r.left);return{top:f+(isNaN(c)?0:c),left:u+(isNaN(p)?0:p),width:o,height:a}}var m=getComputedStyle(t),g=parseLengthOrZero(m.borderTopWidth),v=parseLengthOrZero(m.borderLeftWidth),E=parseLengthOrZero(m.paddingTop),y=parseLengthOrZero(m.paddingLeft),x=parseLengthOrZero(r.marginTop),S=parseLengthOrZero(r.marginLeft),C="relative"===i?parseLengthOrZero(r.top):0,L="relative"===i?parseLengthOrZero(r.left):0,O=n.top+g+E;if("::after"===e&&"block"===r.display){var N=getElementContentBottom(t);null!==N&&(O=Math.max(O,N))}return{top:O+x+C,left:n.left+v+y+S+L,width:o,height:a}}function getPseudoElementRect(t,e,r){var n=getComputedStyle(t,e);if("none"===n.content||"none"===n.display||"hidden"===n.visibility)return null;var o=computeBaseRect(t,e,n,r);return o?applyTransformToRect(o,n):null}exports.__esModule=!0,exports.getPseudoElementRect=exports.parseCaptureSelector=exports.PSEUDO_ELEMENTS=void 0,exports.PSEUDO_ELEMENTS=["::before","::after"];var PSEUDO_SELECTOR_REGEXP=/(.*?)(::before|::after)\s*$/i;exports.parseCaptureSelector=parseCaptureSelector,exports.getPseudoElementRect=getPseudoElementRect;
19
19
  },{}],10:[function(require,module,exports){
20
20
  "use strict";function getElementSelector(e){var o=e.match(PSEUDO_SELECTOR_REGEXP);return o?o[1].trim()||e:e}function isScrollable(e){var o=getComputedStyle(e).overflowY;return e.scrollHeight>e.clientHeight&&("auto"===o||"scroll"===o||"overlay"===o)}function getScrollParent(e){if("fixed"===getComputedStyle(e).position)return null;for(var o=(0,dom_1.getParentElement)(e);o&&o!==document.documentElement;){if(isScrollable(o))return o;if("fixed"===getComputedStyle(o).position)return null;o=(0,dom_1.getParentElement)(o)}return o===document.documentElement?document.documentElement:null}function getScrollParentsChain(e){for(var o=[],t=getScrollParent(e);t&&t!==document.documentElement;)o.unshift(t),t=getScrollParent(t);return o.unshift(document.documentElement),o}function getCommonScrollParent(e){var o=e.map(function(e){return document.querySelector(getElementSelector(e))}).filter(function(e){return null!==e});if(0===o.length)return document.documentElement;if(1===o.length){var t=getScrollParent(o[0]);return t?normalizeRootLikeElement(t):document.documentElement}for(var r=o.map(function(e){return getScrollParentsChain(e)}),l=Math.min.apply(Math,r.map(function(e){return e.length})),n=document.documentElement,c=0;c<l;c++){if("break"===function(e){if(!r.every(function(o){return o[e]===r[0][e]}))return"break";n=r[0][e]}(c))break}return normalizeRootLikeElement(n)}function getElementScrollTop(e){return isRootLikeElement(e)?window.scrollY:e.scrollTop}function getPageScrollElement(){var e;return null!==(e=document.scrollingElement)&&void 0!==e?e:document.documentElement}function isRootLikeElement(e){var o=getPageScrollElement();return e===document.documentElement||e===document.body||e===o}function normalizeRootLikeElement(e){return isRootLikeElement(e)?document.documentElement:e}function performScrollFixForSafariIfNeeded(e){(0,user_agent_1.isSafariMobile)()&&window.scrollY<100&&e<100&&window.scrollTo(window.scrollX,100)}function scrollElementBy(e,o,t){var r=o,l=isRootLikeElement(e),n=l?getPageScrollElement():e,c=l?window.scrollY:e.scrollTop,i=n.scrollHeight-n.clientHeight,m=Math.max(0,Math.min(c+r,i));l?(null===t||void 0===t||t("scrollElementBy: scrolling window.scrollTo("+window.scrollX+", "+m+")"),performScrollFixForSafariIfNeeded(m),window.scrollTo(window.scrollX,m)):(null===t||void 0===t||t("scrollElementBy: scrolling element.scrollTo("+e.scrollLeft+", "+m+")"),e.scrollTo(e.scrollLeft,m));for(var a=performance.now(),u=0;performance.now()-a<SCROLL_APPLY_MAX_WAIT_MS&&u<SCROLL_APPLY_MAX_ITERATIONS;){if(getElementScrollTop(e)!==c)return;u++}}function scrollElementToOffset(e,o){var t=isRootLikeElement(e),r=t?getPageScrollElement():e,l=t?window.scrollY:e.scrollTop,n=r.scrollHeight-r.clientHeight,c=Math.max(0,Math.min(o,n));t?(performScrollFixForSafariIfNeeded(c),window.scrollTo(window.scrollX,c)):e.scrollTo(e.scrollLeft,c);for(var i=performance.now(),m=0;performance.now()-i<SCROLL_APPLY_MAX_WAIT_MS&&m<SCROLL_APPLY_MAX_ITERATIONS;){if(getElementScrollTop(e)===l)return;m++}}exports.__esModule=!0,exports.scrollElementToOffset=exports.scrollElementBy=exports.performScrollFixForSafariIfNeeded=exports.isRootLikeElement=exports.getCommonScrollParent=exports.getScrollParentsChain=exports.getScrollParent=void 0;var dom_1=require("./dom"),user_agent_1=require("./user-agent"),PSEUDO_SELECTOR_REGEXP=/(.*?)(::before|::after)\s*$/i;exports.getScrollParent=getScrollParent,exports.getScrollParentsChain=getScrollParentsChain,exports.getCommonScrollParent=getCommonScrollParent;var SCROLL_APPLY_MAX_WAIT_MS=50,SCROLL_APPLY_MAX_ITERATIONS=1e4;exports.isRootLikeElement=isRootLikeElement,exports.performScrollFixForSafariIfNeeded=performScrollFixForSafariIfNeeded,exports.scrollElementBy=scrollElementBy,exports.scrollElementToOffset=scrollElementToOffset;
@@ -25,14 +25,18 @@
25
25
  },{}],13:[function(require,module,exports){
26
26
  "use strict";function getCssProp(e,t){return e[t]}function hasCssProp(e,t,n){void 0===n&&(n="none");var r=getCssProp(e,t);return r!==undefined&&r!==n}function isFlexContainer(e){return"flex"===e.display||"inline-flex"===e.display}function isGridContainer(e){return-1!==(e.display||"").indexOf("grid")}function hasContainStackingContext(e){return"layout"===e||"paint"===e||"strict"===e||"content"===e||-1!==e.indexOf("paint")||-1!==e.indexOf("layout")}function createsStackingContext(e){var t=getComputedStyle(e),n=t.position,r=t.zIndex;if("fixed"===n||"sticky"===n)return!0;if("size"===getCssProp(t,"containerType")||"inline-size"===getCssProp(t,"containerType"))return!0;if("auto"!==r&&"static"!==n)return!0;if(parseFloat(t.opacity)<1)return!0;if("none"!==t.transform)return!0;if(hasCssProp(t,"scale"))return!0;if(hasCssProp(t,"rotate"))return!0;if(hasCssProp(t,"translate"))return!0;if("normal"!==t.mixBlendMode)return!0;if("none"!==t.filter)return!0;if(hasCssProp(t,"backdropFilter"))return!0;if(hasCssProp(t,"webkitBackdropFilter"))return!0;if("none"!==t.perspective)return!0;if(hasCssProp(t,"clipPath"))return!0;var i=getCssProp(t,"mask")||getCssProp(t,"webkitMask");if(i!==undefined&&"none"!==i)return!0;var o=getCssProp(t,"maskImage")||getCssProp(t,"webkitMaskImage");if(o!==undefined&&"none"!==o)return!0;var a=getCssProp(t,"maskBorder")||getCssProp(t,"webkitMaskBorder");if(a!==undefined&&"none"!==a)return!0;if("isolate"===t.isolation)return!0;var s=t.willChange||"";if(-1!==s.indexOf("transform")||-1!==s.indexOf("opacity"))return!0;if("touch"===getCssProp(t,"webkitOverflowScrolling"))return!0;if("auto"!==r){var u=(0,dom_1.getParentElement)(e);if(u){var f=getComputedStyle(u);if(isFlexContainer(f)||isGridContainer(f))return!0}}return!!hasContainStackingContext(t.contain||"")}function getClosestStackingContext(e){return e&&e!==document.documentElement?e instanceof ShadowRoot?getClosestStackingContext(e.host):e instanceof Element?createsStackingContext(e)?e:getClosestStackingContext((0,dom_1.getParentElement)(e)):getClosestStackingContext(e.parentNode):document.documentElement}function getStackingContextRoot(e){return getClosestStackingContext((0,dom_1.getParentElement)(e))}function getEffectiveZIndex(e){for(var t=e;t&&t!==document.documentElement;){var n=getComputedStyle(t);if("auto"!==n.zIndex){var r=parseFloat(n.zIndex);return isNaN(r)?0:r}if(createsStackingContext(t))return 0;t=t.parentElement}return 0}function buildZChain(e){for(var t=[],n=e;n&&n!==document.documentElement;){var r=getStackingContextRoot(n),i=getEffectiveZIndex(n);if(t.unshift({ctx:r,z:i}),r===document.documentElement)break;n=r}return t}function isChainBehind(e,t){for(var n=t.length-1;n>=0;n--)for(var r=e.length-1;r>=0;r--)if(e[r].ctx===t[n].ctx)return e[r].z<t[n].z;return!1}exports.__esModule=!0,exports.isChainBehind=exports.buildZChain=void 0;var dom_1=require("./dom");exports.buildZChain=buildZChain,exports.isChainBehind=isChainBehind;
27
27
  },{"./dom":7}],14:[function(require,module,exports){
28
+ "use strict";function queryFirst(e){return xpath.isXpathSelector(e)?xpath.queryFirst(e):document.querySelector(e)}function queryAll(e){return xpath.isXpathSelector(e)?xpath.queryAll(e):Array.from(document.querySelectorAll(e))}function getComputedStyle(e,t){return getComputedStyle(e,t)}function matchMedia(e){return matchMedia(e)}function trim(e){return e.trim()}function getRootNode(e){return e.getRootNode()}var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,r,o){o===undefined&&(o=r);var u=Object.getOwnPropertyDescriptor(t,r);u&&("get"in u?t.__esModule:!u.writable&&!u.configurable)||(u={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,o,u)}:function(e,t,r,o){o===undefined&&(o=r),e[o]=t[r]}),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e["default"]=t}),__importStar=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&__createBinding(t,e,r);return __setModuleDefault(t,e),t};exports.__esModule=!0,exports.getRootNode=exports.trim=exports.matchMedia=exports.getComputedStyle=exports.queryAll=exports.queryFirst=void 0;var xpath=__importStar(require("./xpath"));exports.queryFirst=queryFirst,exports.queryAll=queryAll,exports.getComputedStyle=getComputedStyle,exports.matchMedia=matchMedia,exports.trim=trim,exports.getRootNode=getRootNode;
29
+ },{"./xpath":16}],15:[function(require,module,exports){
28
30
  "use strict";function makeCreateDebugLogger(){return function(e,r){if(e.debug&&-1!==e.debug.indexOf(r)){var t=function(){for(var e=[],r=0;r<arguments.length;r++)e[r]=arguments[r];for(var o=0,g=e;o<g.length;o++){var n=g[o];if("object"==typeof n&&null!==n)try{t.log+=JSON.stringify(n,null,2)+"\n"}catch(u){t.log+="failed to log message due to an error: "+u}else t.log+=String(n)+"\n"}return t.log};return t.enabled=!0,t.log="",t}var o=function(){return""};return o.enabled=!1,o}}exports.__esModule=!0,exports.createDebugLogger=void 0,exports.createDebugLogger=makeCreateDebugLogger();
29
- },{}],15:[function(require,module,exports){
30
- "use strict";function assign(r){for(var s=[],t=1;t<arguments.length;t++)s[t-1]=arguments[t];for(var e=0;e<s.length;e++){var o=s[e];for(var n in o)Object.prototype.hasOwnProperty.call(o,n)&&(r[n]=o[n])}return r}exports.__esModule=!0,exports.assign=void 0,exports.assign=assign;
31
31
  },{}],16:[function(require,module,exports){
32
+ "use strict";function isXpathSelector(e){return XPATH_SELECTORS_START.some(function(t){return 0===e.indexOf(t)})}function queryFirst(e){return document.evaluate(e,document,null,XPathResult.FIRST_ORDERED_NODE_TYPE,null).singleNodeValue}function queryAll(e){var t,r=document.evaluate(e,document,null,XPathResult.ANY_TYPE,null),u=[];for(t=r.iterateNext();t;)u.push(t),t=r.iterateNext();return u}exports.__esModule=!0,exports.queryAll=exports.queryFirst=exports.isXpathSelector=void 0;var XPATH_SELECTORS_START=["/","(","../","./","*/"];exports.isXpathSelector=isXpathSelector,exports.queryFirst=queryFirst,exports.queryAll=queryAll;
33
+ },{}],17:[function(require,module,exports){
34
+ "use strict";function assign(r){for(var s=[],t=1;t<arguments.length;t++)s[t-1]=arguments[t];for(var e=0;e<s.length;e++){var o=s[e];for(var n in o)Object.prototype.hasOwnProperty.call(o,n)&&(r[n]=o[n])}return r}exports.__esModule=!0,exports.assign=void 0,exports.assign=assign;
35
+ },{}],18:[function(require,module,exports){
32
36
  "use strict";var __assign=this&&this.__assign||function(){return __assign=Object.assign||function(t){for(var e,r=1,o=arguments.length;r<o;r++){e=arguments[r];for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i])}return t},__assign.apply(this,arguments)};exports.__esModule=!0,exports.fromBcrToRect=exports.fromDeviceToCssNumber=exports.fromCssToDeviceNumber=exports.fromCssToDevice=exports.ceilCoords=exports.floorCoords=exports.roundCoords=exports.getCoveringRect=exports.fromViewportToCaptureArea=exports.fromCaptureAreaToViewport=exports.getMinCoord=exports.getMaxCoord=exports.getMaxLength=exports.getRight=exports.getBottom=exports.getWidth=exports.getHeight=exports.getIntersection=exports.intersectXBands=exports.intersectYBands=exports.prettyRect=exports.prettySize=exports.prettyPoint=exports.equalsSize=exports.subtractCoords=exports.addCoords=exports.getSize=void 0;var assign_1=require("./assign"),getSize=function(t){return{width:t.width,height:t.height}};exports.getSize=getSize;var addCoords=function(t,e){return t+e};exports.addCoords=addCoords;var subtractCoords=function(t,e){return t-e};exports.subtractCoords=subtractCoords;var equalsSize=function(t,e){return t.width===e.width&&t.height===e.height};exports.equalsSize=equalsSize;var prettyPoint=function(t){return"{ left: ".concat(t.left,", top: ").concat(t.top," }")};exports.prettyPoint=prettyPoint;var prettySize=function(t){return"{ width: ".concat(t.width,", height: ").concat(t.height," }")};exports.prettySize=prettySize;var prettyRect=function(t){return"{ left: ".concat(t.left,", top: ").concat(t.top,", width: ").concat(t.width,", height: ").concat(t.height," }")};exports.prettyRect=prettyRect;var intersectYBands=function(t,e){if(!t||!e)return null;var r=Math.max(t.top,e.top),o=Math.min(t.top+t.height,e.top+e.height);return o<=r?null:{top:r,height:o-r}};exports.intersectYBands=intersectYBands;var intersectXBands=function(t,e){if(!t||!e)return null;var r=Math.max(t.left,e.left),o=Math.min(t.left+t.width,e.left+e.width);return o<=r?null:{left:r,width:o-r}};exports.intersectXBands=intersectXBands;var getIntersection=function(t,e){if(!t||!e)return null;var r=__assign(__assign({},t),e);if("top"in t&&"top"in e){var o=(0,exports.intersectYBands)(t,e);if(!o)return null;(0,assign_1.assign)(r,o)}if("left"in t&&"left"in e){var i=(0,exports.intersectXBands)(t,e);if(!i)return null;(0,assign_1.assign)(r,i)}return r};exports.getIntersection=getIntersection;var getHeight=function(t,e){return Math.abs(t-e)};exports.getHeight=getHeight;var getWidth=function(t,e){return Math.abs(t-e)};exports.getWidth=getWidth;var getBottom=function(t){return t.top+t.height};exports.getBottom=getBottom;var getRight=function(t){return t.left+t.width};exports.getRight=getRight;var getMaxLength=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return Math.max.apply(Math,t)};exports.getMaxLength=getMaxLength;var getMaxCoord=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return Math.max.apply(Math,t)};exports.getMaxCoord=getMaxCoord;var getMinCoord=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return Math.min.apply(Math,t)};exports.getMinCoord=getMinCoord;var fromCaptureAreaToViewport=function(t,e){return t+e};exports.fromCaptureAreaToViewport=fromCaptureAreaToViewport;var fromViewportToCaptureArea=function(t,e){return t-e};exports.fromViewportToCaptureArea=fromViewportToCaptureArea;var getCoveringRect=function(t){if(0===t.length)throw new Error("No rectangles to cover");for(var e=t[0].left,r=t[0].top,o=(0,exports.getRight)(t[0]),i=(0,exports.getBottom)(t[0]),n=1;n<t.length;n++){var s=t[n],a=s.left,p=s.top;e=(0,exports.getMinCoord)(e,a),r=(0,exports.getMinCoord)(r,p),o=(0,exports.getMaxCoord)(o,(0,exports.getRight)(s)),i=(0,exports.getMaxCoord)(i,(0,exports.getBottom)(s))}return{left:e,top:r,width:(0,exports.getWidth)(e,o),height:(0,exports.getHeight)(r,i)}};exports.getCoveringRect=getCoveringRect;var roundCoords=function(t){var e=t,r={};if("top"in e){var o=e.top;r.top=Math.floor(o)}if("height"in e&&(r.height="top"in e?Math.ceil(e.top+e.height)-r.top:Math.ceil(e.height)),"left"in e){var i=e.left;r.left=Math.floor(i)}return"width"in e&&(r.width="left"in e?Math.ceil(e.left+e.width)-r.left:Math.ceil(e.width)),r};exports.roundCoords=roundCoords;var floorCoords=function(t){var e=t,r={};for(var o in e)r[o]=Math.floor(e[o]);return r};exports.floorCoords=floorCoords;var ceilCoords=function(t){var e=t,r={};for(var o in e)r[o]=Math.ceil(e[o]);return r};exports.ceilCoords=ceilCoords;var fromCssToDevice=function(t,e){var r=t,o={};for(var i in r)o[i]=r[i]*e;return e%1==0?o:(0,exports.roundCoords)(o)};exports.fromCssToDevice=fromCssToDevice;var fromCssToDeviceNumber=function(t,e){return t*e};exports.fromCssToDeviceNumber=fromCssToDeviceNumber;var fromDeviceToCssNumber=function(t,e){return t/e};exports.fromDeviceToCssNumber=fromDeviceToCssNumber;var fromBcrToRect=function(t){return{left:t.left,top:t.top,width:t.width,height:t.height}};exports.fromBcrToRect=fromBcrToRect;
33
- },{"./assign":15}],17:[function(require,module,exports){
37
+ },{"./assign":17}],19:[function(require,module,exports){
34
38
  "use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(e,t,r,i){i===undefined&&(i=r);var n=Object.getOwnPropertyDescriptor(t,r);n&&("get"in n?t.__esModule:!n.writable&&!n.configurable)||(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,i,n)}:function(e,t,r,i){i===undefined&&(i=r),e[i]=t[r]}),__exportStar=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||__createBinding(t,e,r)};exports.__esModule=!0,__exportStar(require("./assign"),exports),__exportStar(require("./geometry"),exports),__exportStar(require("./types"),exports);
35
- },{"./assign":15,"./geometry":16,"./types":18}],18:[function(require,module,exports){
39
+ },{"./assign":17,"./geometry":18,"./types":20}],20:[function(require,module,exports){
36
40
  "use strict";exports.__esModule=!0,exports.isBrowserSideError=exports.BrowserSideErrorCode=exports.DisableHoverMode=void 0;var DisableHoverMode;!function(r){r.Always="always",r.WhenScrollingNeeded="when-scrolling-needed",r.Never="never"}(DisableHoverMode||(exports.DisableHoverMode=DisableHoverMode={}));var BrowserSideErrorCode;!function(r){r.JS="JS",r.OUTSIDE_OF_VIEWPORT="OUTSIDE_OF_VIEWPORT"}(BrowserSideErrorCode||(exports.BrowserSideErrorCode=BrowserSideErrorCode={}));var isBrowserSideError=function(r){return Boolean(r&&r.errorCode&&r.message)};exports.isBrowserSideError=isBrowserSideError;
37
41
  },{}]},{},[3]);
38
42
  })(arguments[0])
@@ -1,4 +1,15 @@
1
1
  "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
2
13
  exports.__esModule = true;
3
14
  exports.captureAnchorBaseline = exports.cleanupScrolls = exports.cleanupPointerEvents = exports.disablePointerEvents = exports.cleanupFrameAnimations = exports.disableFrameAnimations = exports.prepareViewportScreenshot = exports.scrollFullPage = exports.prepareFullPageScreenshot = exports.getCaptureState = exports.scrollTo = exports.scrollBy = exports.prepareElementsScreenshot = void 0;
4
15
  var _isomorphic_1 = require("@isomorphic");
@@ -32,7 +43,8 @@ function computeShiftMode(deltas, tolerance) {
32
43
  var bestWindowStartIndex = 0;
33
44
  var bestWindowEndIndex = 0;
34
45
  for (var startIndex = 0, endIndex = 0; startIndex < sortedDeltas.length; startIndex++) {
35
- while (endIndex + 1 < sortedDeltas.length && sortedDeltas[endIndex + 1] - sortedDeltas[startIndex] <= tolerance) {
46
+ while (endIndex + 1 < sortedDeltas.length &&
47
+ sortedDeltas[endIndex + 1] - sortedDeltas[startIndex] <= tolerance) {
36
48
  endIndex++;
37
49
  }
38
50
  var currentWindowSize = endIndex - startIndex + 1;
@@ -69,7 +81,8 @@ function computeActualShift() {
69
81
  if (currentRect.width <= 0 || currentRect.height <= 0) {
70
82
  continue;
71
83
  }
72
- if (Math.abs(currentRect.width - baselineRect.width) > 1 || Math.abs(currentRect.height - baselineRect.height) > 1) {
84
+ if (Math.abs(currentRect.width - baselineRect.width) > 1 ||
85
+ Math.abs(currentRect.height - baselineRect.height) > 1) {
73
86
  continue;
74
87
  }
75
88
  verticalDeltas.push(currentRect.top - baselineRect.top);
@@ -118,9 +131,7 @@ function scrollBy(selectorsToCapture, scrollDelta, selectorToScroll, debug) {
118
131
  ? "".concat(selectorToScroll, " (").concat(readableAutoScrollElementDescr, ")")
119
132
  : "".concat(selectorToScroll, " (not found, auto-detected ").concat(readableAutoScrollElementDescr, ")")
120
133
  : "auto-detected ".concat(readableAutoScrollElementDescr);
121
- // Subtracting 1px to avoid a case when element boundary gets rounded up and it appears during screenshots stitching
122
- var scrollHeightCss = ((0, _isomorphic_1.fromDeviceToCssNumber)(scrollDelta, pixelRatio) -
123
- 1);
134
+ var scrollHeightCss = (0, _isomorphic_1.fromDeviceToCssNumber)(scrollDelta, pixelRatio);
124
135
  (0, scroll_1.scrollElementBy)(scrollElement, scrollHeightCss);
125
136
  return {
126
137
  readableSelectorToScrollDescr: readableSelectorToScrollDescr,
@@ -169,6 +180,7 @@ function getCaptureState(selectorsToCapture, selectorsToIgnore, selectorToScroll
169
180
  var captureSpecsAfterCss = (0, operations_1.computeCaptureSpecs)(selectorsToCapture, logger);
170
181
  var captureSpecs = captureSpecsAfterCss.map(function (spec) { return ({
171
182
  full: (0, _isomorphic_1.fromCssToDevice)((0, _isomorphic_1.roundCoords)(spec.full), pixelRatio),
183
+ clip: (0, _isomorphic_1.fromCssToDevice)((0, _isomorphic_1.roundCoords)(spec.clip), pixelRatio),
172
184
  visible: (0, _isomorphic_1.fromCssToDevice)((0, _isomorphic_1.roundCoords)(spec.visible), pixelRatio)
173
185
  }); });
174
186
  var scrollOffset = (0, operations_1.computeScrollOffset)(scrollElement);
@@ -215,7 +227,7 @@ function prepareFullPageScreenshot(opts) {
215
227
  }
216
228
  }
217
229
  var elementPositionsProbe = (0, operations_1.computeElementPositionsProbe)().map(function (rect) {
218
- return rect ? (0, _isomorphic_1.fromCssToDevice)((0, _isomorphic_1.roundCoords)(rect), pixelRatio) : null;
230
+ return rect ? __assign(__assign({}, (0, _isomorphic_1.fromCssToDevice)((0, _isomorphic_1.roundCoords)(rect), pixelRatio)), { elementDescr: rect.elementDescr }) : null;
219
231
  });
220
232
  return {
221
233
  documentSize: (0, _isomorphic_1.ceilCoords)((0, _isomorphic_1.fromCssToDevice)(documentSize, pixelRatio)),
@@ -238,7 +250,7 @@ function scrollFullPage(scrollHeight, opts) {
238
250
  (0, scroll_1.scrollElementBy)(document.documentElement, scrollHeightCss);
239
251
  var viewportOffset = (0, operations_1.computeViewportOffset)();
240
252
  var elementPositionsProbe = (0, operations_1.computeElementPositionsProbe)().map(function (rect) {
241
- return rect ? (0, _isomorphic_1.fromCssToDevice)((0, _isomorphic_1.roundCoords)(rect), pixelRatio) : null;
253
+ return rect ? __assign(__assign({}, (0, _isomorphic_1.fromCssToDevice)((0, _isomorphic_1.roundCoords)(rect), pixelRatio)), { elementDescr: rect.elementDescr }) : null;
242
254
  });
243
255
  return {
244
256
  viewportOffset: (0, _isomorphic_1.fromCssToDevice)((0, _isomorphic_1.floorCoords)(viewportOffset), pixelRatio),
@@ -304,7 +316,7 @@ exports.cleanupScrolls = cleanupScrolls;
304
316
  * Records up to 500 random non-degenerate descendants of the capture elements as anchor baselines.
305
317
  * Must be called once before the best-effort capture pass; getCaptureState will then return anchorShift.
306
318
  */
307
- function captureAnchorBaseline(selectorsToCapture, _selectorToScroll) {
319
+ function captureAnchorBaseline(selectorsToCapture) {
308
320
  return safeCall(function () {
309
321
  var captureSpecs = (0, operations_1.computeCaptureSpecs)(selectorsToCapture);
310
322
  var captureArea = captureSpecs.length > 0 ? (0, _isomorphic_1.getCoveringRect)(captureSpecs.map(function (spec) { return spec.full; })) : null;
@@ -377,6 +389,7 @@ function prepareElementsScreenshotUnsafe(selectorsToCapture, opts) {
377
389
  ignoreAreas: ignoreAreas.map(function (area) { return (0, _isomorphic_1.fromCssToDevice)((0, _isomorphic_1.roundCoords)(area), pixelRatio); }),
378
390
  captureSpecs: captureSpecs.map(function (s) { return ({
379
391
  full: (0, _isomorphic_1.fromCssToDevice)((0, _isomorphic_1.roundCoords)(s.full), pixelRatio),
392
+ clip: (0, _isomorphic_1.fromCssToDevice)((0, _isomorphic_1.roundCoords)(s.clip), pixelRatio),
380
393
  visible: (0, _isomorphic_1.fromCssToDevice)((0, _isomorphic_1.roundCoords)(s.visible), pixelRatio)
381
394
  }); }),
382
395
  viewportSize: (0, _isomorphic_1.fromCssToDevice)(viewportSize, pixelRatio),
@@ -65,7 +65,6 @@ function getProbeAxisCoordinates(length, gridSize) {
65
65
  return coordinates;
66
66
  }
67
67
  function computeElementPositionsProbe(gridSize) {
68
- var _a, _b;
69
68
  if (gridSize === void 0) { gridSize = ELEMENT_POSITIONS_PROBE_GRID_SIZE; }
70
69
  var viewportSize = computeViewportSize();
71
70
  var xCoordinates = getProbeAxisCoordinates(viewportSize.width, gridSize);
@@ -75,8 +74,12 @@ function computeElementPositionsProbe(gridSize) {
75
74
  for (var xIndex = 0; xIndex < xCoordinates.length; xIndex++) {
76
75
  var x = xCoordinates[xIndex];
77
76
  var y = yCoordinates[yIndex];
78
- var bcr = (_b = (_a = document.elementFromPoint(x, y)) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect()) !== null && _b !== void 0 ? _b : null;
79
- probe.push(bcr ? (0, _isomorphic_1.fromBcrToRect)(bcr) : null);
77
+ var element = document.elementFromPoint(x, y);
78
+ if (!element) {
79
+ probe.push(null);
80
+ continue;
81
+ }
82
+ probe.push(__assign(__assign({}, (0, _isomorphic_1.fromBcrToRect)(element.getBoundingClientRect())), { elementDescr: (0, descriptions_1.getReadableElementDescriptor)(element) }));
80
83
  }
81
84
  }
82
85
  return probe;
@@ -97,27 +100,30 @@ function computeCaptureSpecs(selectors, logger) {
97
100
  elements.push({ element: element, pseudoElement: parsedSelector.pseudoElement });
98
101
  }
99
102
  }
100
- var captureSpecs = elements
101
- .map(function (_a) {
102
- var _b;
103
- var element = _a.element, pseudoElement = _a.pseudoElement;
103
+ function getCaptureSpec(element, pseudoElement) {
104
+ var _a;
104
105
  var full = pseudoElement
105
106
  ? (0, element_rect_1.getPseudoElementCaptureRect)(element, pseudoElement)
106
107
  : (0, element_rect_1.getElementCaptureRect)(element, logger);
107
108
  if (!full)
108
109
  return null;
109
110
  var clip = (0, clip_rect_1.getClipRect)(element, logger);
110
- var visible = (_b = (0, _isomorphic_1.getIntersection)(full, clip)) !== null && _b !== void 0 ? _b : {
111
+ var visible = (_a = (0, _isomorphic_1.getIntersection)(full, clip)) !== null && _a !== void 0 ? _a : {
111
112
  top: full.top,
112
113
  left: full.left,
113
114
  width: 0,
114
115
  height: 0
115
116
  };
116
- return { full: full, visible: visible };
117
- })
118
- .filter(function (r) {
119
- return r !== null;
120
- });
117
+ return { full: full, visible: visible, clip: clip };
118
+ }
119
+ var captureSpecs = [];
120
+ for (var _i = 0, elements_1 = elements; _i < elements_1.length; _i++) {
121
+ var _a = elements_1[_i], element = _a.element, pseudoElement = _a.pseudoElement;
122
+ var captureSpec = getCaptureSpec(element, pseudoElement);
123
+ if (captureSpec) {
124
+ captureSpecs.push(captureSpec);
125
+ }
126
+ }
121
127
  logger === null || logger === void 0 ? void 0 : logger("captureSpecs:", captureSpecs);
122
128
  logger === null || logger === void 0 ? void 0 : logger("computeCaptureSpecs time taken:", (performance.now() - startTime).toFixed(1) + "ms");
123
129
  logger === null || logger === void 0 ? void 0 : logger("========== </computeCaptureSpecs> ==========");
@@ -160,7 +166,6 @@ function computeSafeArea(selectorsToCapture, scrollElement, logger) {
160
166
  if (captureSpecs.length === 0) {
161
167
  return { top: viewportRect.top, height: viewportRect.height };
162
168
  }
163
- var captureArea = (0, _isomorphic_1.getCoveringRect)(captureSpecs);
164
169
  var scrollEl = scrollElement !== null && scrollElement !== void 0 ? scrollElement : document.documentElement;
165
170
  // 1. Base safe area equals the visible rectangle of the scroll container
166
171
  var safeArea;
@@ -182,6 +187,16 @@ function computeSafeArea(selectorsToCapture, scrollElement, logger) {
182
187
  }
183
188
  }
184
189
  var originalSafeArea = __assign({}, safeArea);
190
+ // 1.1 If all capture elements are fixed or inside non-scrollable fixed elements, scrolling will not move them,
191
+ // so no point in computing safe area
192
+ if (captureElements.every(function (el) {
193
+ return getComputedStyle(el).position === "fixed" ||
194
+ ((0, dom_1.findFixedPositionedParent)(el) !== null && (0, scroll_1.getScrollParent)(el) === null);
195
+ })) {
196
+ logger === null || logger === void 0 ? void 0 : logger("all capture elements are fixed or inside non-scrollable fixed subtree, skipping interferences");
197
+ return { top: originalSafeArea.top, height: originalSafeArea.height };
198
+ }
199
+ var captureArea = (0, _isomorphic_1.getCoveringRect)(captureSpecs);
185
200
  // 2. Build z-index chains for all capture elements
186
201
  // One z-chain is a list of objects: { stacking context, z-index } -> { stacking context, z-index } -> ...
187
202
  // It is used to determine which element is on top of the other
@@ -191,11 +206,15 @@ function computeSafeArea(selectorsToCapture, scrollElement, logger) {
191
206
  // 3. Detect interfering elements
192
207
  var interferences = [];
193
208
  var allElements = document.documentElement.querySelectorAll("*");
209
+ var singleCaptureElement = captureElements.length === 1 ? captureElements[0] : null;
194
210
  var _loop_1 = function (idx) {
195
211
  var el = allElements[idx];
196
- // Skip elements that contain capture elements
197
- if (captureElements.some(function (capEl) { return el !== capEl && el.contains(capEl); }))
212
+ if (scrollEl === el || el.contains(scrollEl)) {
213
+ return "continue";
214
+ }
215
+ if (singleCaptureElement && (el === singleCaptureElement || el.contains(singleCaptureElement))) {
198
216
  return "continue";
217
+ }
199
218
  var computedStyle = getComputedStyle(el);
200
219
  var position = computedStyle.position;
201
220
  var bcr = el.getBoundingClientRect();
@@ -205,7 +224,8 @@ function computeSafeArea(selectorsToCapture, scrollElement, logger) {
205
224
  (bcr.width === 1 && bcr.height === 1) ||
206
225
  computedStyle.visibility === "hidden" ||
207
226
  computedStyle.display === "none" ||
208
- parseFloat(computedStyle.opacity) < 0.0001)
227
+ parseFloat(computedStyle.opacity) < 0.0001 ||
228
+ /opacity\(\s*0(?:\.0+)?%?\s*\)/.test(computedStyle.filter))
209
229
  return "continue";
210
230
  // Skip elements that don't horizontally intersect with capture area
211
231
  if (bcr.right <= captureLeft || bcr.left >= captureRight)
@@ -214,11 +234,15 @@ function computeSafeArea(selectorsToCapture, scrollElement, logger) {
214
234
  if ((0, _isomorphic_1.getIntersection)((0, _isomorphic_1.fromBcrToRect)(bcr), viewportRect) === null)
215
235
  return "continue";
216
236
  var likelyInterferes = false;
237
+ var shouldSkipZIndexCheck = false;
217
238
  var adjustedRect = (0, element_rect_1.domRectToViewportCss)(bcr);
218
239
  var fixedPositionedParent = (0, dom_1.findFixedPositionedParent)(el);
219
- if (position === "fixed" ||
220
- (fixedPositionedParent && !captureElements.some(function (capEl) { return fixedPositionedParent.contains(capEl); }))) {
240
+ var isInsideScrollContextFixedParent = fixedPositionedParent !== null &&
241
+ (fixedPositionedParent === scrollEl || fixedPositionedParent.contains(scrollEl));
242
+ if (position === "fixed" || (fixedPositionedParent && !isInsideScrollContextFixedParent)) {
221
243
  likelyInterferes = true;
244
+ // If the fixed element is inside a capture element, it's almost certainly interfering
245
+ shouldSkipZIndexCheck = captureElements.some(function (capEl) { return capEl.contains(el); });
222
246
  }
223
247
  else if (position === "absolute") {
224
248
  // Skip absolutely positioned elements that are inside capture elements
@@ -239,6 +263,8 @@ function computeSafeArea(selectorsToCapture, scrollElement, logger) {
239
263
  logger === null || logger === void 0 ? void 0 : logger("scrollParent:", (0, descriptions_1.getReadableElementDescriptor)(scrollParent));
240
264
  var scrollParentBcr = scrollParent.getBoundingClientRect();
241
265
  topValue += (0, scroll_1.isRootLikeElement)(scrollParent) ? 0 : scrollParentBcr.top;
266
+ shouldSkipZIndexCheck =
267
+ scrollParent === scrollEl || ((0, scroll_1.isRootLikeElement)(scrollParent) && (0, scroll_1.isRootLikeElement)(scrollEl));
242
268
  if (!isNaN(topValue)) {
243
269
  adjustedRect = {
244
270
  left: bcr.left,
@@ -265,7 +291,7 @@ function computeSafeArea(selectorsToCapture, scrollElement, logger) {
265
291
  if (!likelyInterferes)
266
292
  return "continue";
267
293
  var candChain = (0, z_index_1.buildZChain)(el);
268
- var behindAll = targetChains.every(function (tChain) { return (0, z_index_1.isChainBehind)(candChain, tChain); });
294
+ var behindAll = !shouldSkipZIndexCheck && targetChains.every(function (tChain) { return (0, z_index_1.isChainBehind)(candChain, tChain); });
269
295
  if (!behindAll) {
270
296
  var extRect = (0, element_rect_1.getExtRect)(computedStyle, adjustedRect);
271
297
  var extLeft = extRect.left;
@@ -304,7 +330,8 @@ function computeSafeArea(selectorsToCapture, scrollElement, logger) {
304
330
  resultingHeight = Math.min(safeHeight, br.top - safeTop);
305
331
  logger === null || logger === void 0 ? void 0 : logger("decided to shrink bottom");
306
332
  }
307
- if (resultingHeight < origHeight / 2) {
333
+ // We don't want to shrink the safe area less than 30% of original height
334
+ if (resultingHeight < origHeight * 0.3) {
308
335
  logger === null || logger === void 0 ? void 0 : logger("decided to skip, because shrinking is too large");
309
336
  continue;
310
337
  }
@@ -312,8 +339,8 @@ function computeSafeArea(selectorsToCapture, scrollElement, logger) {
312
339
  safeTop = resultingTop;
313
340
  safeHeight = resultingHeight;
314
341
  }
315
- // 5. Ensure we didn't shrink more than 50% of original height
316
- if (safeHeight < origHeight / 2) {
342
+ // 5. Ensure we didn't shrink below 30% of original height
343
+ if (safeHeight < origHeight * 0.3) {
317
344
  safeTop = originalSafeArea.top;
318
345
  safeHeight = originalSafeArea.height;
319
346
  }
@@ -365,11 +392,16 @@ function scrollToCaptureAreaIfNeeded(selectorsToCapture, captureElementFromTop,
365
392
  var captureSpecsResult = computeCaptureSpecs(selectorsToCapture);
366
393
  if (!captureSpecsResult)
367
394
  return {};
395
+ var scrollTarget = selectorToScroll ? document.querySelector(selectorToScroll) : null;
396
+ var selectorsForScrollParentSearch = selectorsToCapture.map(function (selector) { return (0, pseudo_element_rect_1.parseCaptureSelector)(selector).elementSelector; });
397
+ var initialScrollElem = scrollTarget !== null && scrollTarget !== void 0 ? scrollTarget : (0, scroll_1.getCommonScrollParent)(selectorsForScrollParentSearch);
398
+ var readableSelectorToScrollDescr = selectorToScroll !== null && selectorToScroll !== void 0 ? selectorToScroll : (0, descriptions_1.getReadableElementDescriptor)(initialScrollElem);
368
399
  var captureArea = (0, _isomorphic_1.getCoveringRect)(captureSpecsResult.map(function (s) { return s.full; }));
369
- var safeArea = computeSafeArea(selectorsToCapture);
400
+ var safeArea = computeSafeArea(selectorsToCapture, initialScrollElem, logger);
370
401
  var captureAndSafeAreasIntersection = (0, _isomorphic_1.getIntersection)(captureArea, safeArea);
371
402
  var captureAndViewportIntersection = (0, _isomorphic_1.getIntersection)(captureArea, viewport);
372
- var isIntersectionWithSafeAreaTooSmall = !captureAndSafeAreasIntersection || captureAndSafeAreasIntersection.height < captureArea.height / 2;
403
+ var expectedVisibleHeight = Math.min(captureArea.height, safeArea.height);
404
+ var isIntersectionWithSafeAreaTooSmall = !captureAndSafeAreasIntersection || captureAndSafeAreasIntersection.height < expectedVisibleHeight / 2;
373
405
  var isCaptureAreaStartVisible = captureArea.top >= safeArea.top;
374
406
  logger === null || logger === void 0 ? void 0 : logger("scrollToCaptureAreaIfNeeded: intersection check", {
375
407
  captureArea: captureArea,
@@ -396,10 +428,6 @@ function scrollToCaptureAreaIfNeeded(selectorsToCapture, captureElementFromTop,
396
428
  logger === null || logger === void 0 ? void 0 : logger("scrollToCaptureAreaIfNeeded: skipping scroll because allowViewportOverflow is true and captureElementFromTop is false");
397
429
  return {};
398
430
  }
399
- var scrollTarget = selectorToScroll ? document.querySelector(selectorToScroll) : null;
400
- var selectorsForScrollParentSearch = selectorsToCapture.map(function (selector) { return (0, pseudo_element_rect_1.parseCaptureSelector)(selector).elementSelector; });
401
- var initialScrollElem = scrollTarget !== null && scrollTarget !== void 0 ? scrollTarget : (0, scroll_1.getCommonScrollParent)(selectorsForScrollParentSearch);
402
- var readableSelectorToScrollDescr = selectorToScroll !== null && selectorToScroll !== void 0 ? selectorToScroll : (0, descriptions_1.getReadableElementDescriptor)(initialScrollElem);
403
431
  logger === null || logger === void 0 ? void 0 : logger("scrollToCaptureAreaIfNeeded: scrolling is required", {
404
432
  scrollElement: readableSelectorToScrollDescr,
405
433
  requestedSelectorToScroll: selectorToScroll !== null && selectorToScroll !== void 0 ? selectorToScroll : null,