testplane 9.0.0-rc.4 → 9.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (299) hide show
  1. package/build/package.json +11 -11
  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-scripts/calibrate.js +2 -2
  106. package/build/src/browser/client-scripts/rrweb-record.min.js +2 -2
  107. package/build/src/browser/client-scripts/screen-shooter/build/bundle.compat.js +10 -10
  108. package/build/src/browser/client-scripts/screen-shooter/build/bundle.native.js +10 -10
  109. package/build/src/browser/client-scripts/screen-shooter/tsc-out/client-scripts/screen-shooter/implementation.js +21 -8
  110. package/build/src/browser/client-scripts/screen-shooter/tsc-out/client-scripts/screen-shooter/operations.js +57 -29
  111. package/build/src/browser/commands/assert-view/errors/image-diff-error.d.ts +1 -0
  112. package/build/src/browser/commands/assert-view/index.js +23 -3
  113. package/build/src/browser/commands/assert-view/index.js.map +1 -1
  114. package/build/src/browser/commands/openAndWait.js +23 -26
  115. package/build/src/browser/commands/openAndWait.js.map +1 -1
  116. package/build/src/browser/commands/restoreState/index.js +19 -8
  117. package/build/src/browser/commands/restoreState/index.js.map +1 -1
  118. package/build/src/browser/commands/saveState/index.d.ts +1 -2
  119. package/build/src/browser/commands/saveState/index.js +8 -12
  120. package/build/src/browser/commands/saveState/index.js.map +1 -1
  121. package/build/src/browser/commands/switchToRepl.js +27 -9
  122. package/build/src/browser/commands/switchToRepl.js.map +1 -1
  123. package/build/src/browser/existing-browser.d.ts +2 -0
  124. package/build/src/browser/existing-browser.js +15 -0
  125. package/build/src/browser/existing-browser.js.map +1 -1
  126. package/build/src/browser/history/index.d.ts +8 -1
  127. package/build/src/browser/history/index.js +41 -17
  128. package/build/src/browser/history/index.js.map +1 -1
  129. package/build/src/browser/history/rrweb.d.ts +3 -1
  130. package/build/src/browser/history/rrweb.js +122 -27
  131. package/build/src/browser/history/rrweb.js.map +1 -1
  132. package/build/src/browser/isomorphic/tsconfig.tsbuildinfo +1 -1
  133. package/build/src/browser/new-browser.d.ts +1 -1
  134. package/build/src/browser/new-browser.js +6 -12
  135. package/build/src/browser/new-browser.js.map +1 -1
  136. package/build/src/browser/screen-shooter/composite-image/index.d.ts +23 -0
  137. package/build/src/browser/screen-shooter/composite-image/index.js +161 -14
  138. package/build/src/browser/screen-shooter/composite-image/index.js.map +1 -1
  139. package/build/src/browser/screen-shooter/debug.d.ts +3 -0
  140. package/build/src/browser/screen-shooter/debug.js +25 -0
  141. package/build/src/browser/screen-shooter/debug.js.map +1 -0
  142. package/build/src/browser/screen-shooter/elements-screen-shooter.d.ts +0 -1
  143. package/build/src/browser/screen-shooter/elements-screen-shooter.js +127 -75
  144. package/build/src/browser/screen-shooter/elements-screen-shooter.js.map +1 -1
  145. package/build/src/browser/screen-shooter/full-page-screen-shooter.d.ts +3 -2
  146. package/build/src/browser/screen-shooter/full-page-screen-shooter.js +19 -15
  147. package/build/src/browser/screen-shooter/full-page-screen-shooter.js.map +1 -1
  148. package/build/src/browser/screen-shooter/operations/index.d.ts +1 -0
  149. package/build/src/browser/screen-shooter/operations/index.js +3 -1
  150. package/build/src/browser/screen-shooter/operations/index.js.map +1 -1
  151. package/build/src/browser/screen-shooter/operations/pointer-events.js +7 -0
  152. package/build/src/browser/screen-shooter/operations/pointer-events.js.map +1 -1
  153. package/build/src/browser/screen-shooter/operations/wait-for-selectors-to-settle.d.ts +2 -0
  154. package/build/src/browser/screen-shooter/operations/wait-for-selectors-to-settle.js +133 -0
  155. package/build/src/browser/screen-shooter/operations/wait-for-selectors-to-settle.js.map +1 -0
  156. package/build/src/browser/screen-shooter/viewport-screen-shooter.d.ts +2 -1
  157. package/build/src/browser/screen-shooter/viewport-screen-shooter.js +3 -5
  158. package/build/src/browser/screen-shooter/viewport-screen-shooter.js.map +1 -1
  159. package/build/src/browser/types.d.ts +6 -4
  160. package/build/src/browser/wsdriver/compression.d.ts +5 -0
  161. package/build/src/browser/wsdriver/compression.js +79 -0
  162. package/build/src/browser/wsdriver/compression.js.map +1 -0
  163. package/build/src/browser/wsdriver/constants.d.ts +11 -0
  164. package/build/src/browser/wsdriver/constants.js +15 -0
  165. package/build/src/browser/wsdriver/constants.js.map +1 -0
  166. package/build/src/browser/wsdriver/debug.d.ts +2 -0
  167. package/build/src/browser/wsdriver/debug.js +9 -0
  168. package/build/src/browser/wsdriver/debug.js.map +1 -0
  169. package/build/src/browser/wsdriver/error.d.ts +18 -0
  170. package/build/src/browser/wsdriver/error.js +36 -0
  171. package/build/src/browser/wsdriver/error.js.map +1 -0
  172. package/build/src/browser/wsdriver/index.d.ts +23 -0
  173. package/build/src/browser/wsdriver/index.js +261 -0
  174. package/build/src/browser/wsdriver/index.js.map +1 -0
  175. package/build/src/browser/wsdriver/request.d.ts +10 -0
  176. package/build/src/browser/wsdriver/request.js +58 -0
  177. package/build/src/browser/wsdriver/request.js.map +1 -0
  178. package/build/src/browser/wsdriver/response.d.ts +3 -0
  179. package/build/src/browser/wsdriver/response.js +111 -0
  180. package/build/src/browser/wsdriver/response.js.map +1 -0
  181. package/build/src/browser/wsdriver/types.d.ts +71 -0
  182. package/build/src/browser/wsdriver/types.js +27 -0
  183. package/build/src/browser/wsdriver/types.js.map +1 -0
  184. package/build/src/browser-pool/basic-pool.js +3 -1
  185. package/build/src/browser-pool/basic-pool.js.map +1 -1
  186. package/build/src/cli/commands/selectivity-merge-dumps/index.d.ts +2 -0
  187. package/build/src/cli/commands/selectivity-merge-dumps/index.js +50 -0
  188. package/build/src/cli/commands/selectivity-merge-dumps/index.js.map +1 -0
  189. package/build/src/cli/constants.d.ts +1 -0
  190. package/build/src/cli/constants.js +1 -0
  191. package/build/src/cli/constants.js.map +1 -1
  192. package/build/src/cli/index.js +3 -5
  193. package/build/src/cli/index.js.map +1 -1
  194. package/build/src/config/browser-options.js +11 -3
  195. package/build/src/config/browser-options.js.map +1 -1
  196. package/build/src/config/defaults.d.ts +7 -2
  197. package/build/src/config/defaults.js +10 -5
  198. package/build/src/config/defaults.js.map +1 -1
  199. package/build/src/config/index.d.ts +10 -6
  200. package/build/src/config/index.js +67 -42
  201. package/build/src/config/index.js.map +1 -1
  202. package/build/src/config/types.d.ts +59 -14
  203. package/build/src/config/types.js +15 -5
  204. package/build/src/config/types.js.map +1 -1
  205. package/build/src/config/utils.d.ts +2 -2
  206. package/build/src/config/utils.js +11 -6
  207. package/build/src/config/utils.js.map +1 -1
  208. package/build/src/constants/config.d.ts +0 -1
  209. package/build/src/constants/config.js +1 -2
  210. package/build/src/constants/config.js.map +1 -1
  211. package/build/src/constants/png.d.ts +1 -0
  212. package/build/src/constants/repl.d.ts +2 -0
  213. package/build/src/constants/repl.js +6 -0
  214. package/build/src/constants/repl.js.map +1 -0
  215. package/build/src/dev-server/index.d.ts +1 -1
  216. package/build/src/dev-server/index.js +1 -1
  217. package/build/src/dev-server/index.js.map +1 -1
  218. package/build/src/globals.d.ts +7 -0
  219. package/build/src/globals.js +10 -0
  220. package/build/src/globals.js.map +1 -0
  221. package/build/src/image.d.ts +6 -1
  222. package/build/src/image.js +56 -2
  223. package/build/src/image.js.map +1 -1
  224. package/build/src/index.d.ts +3 -13
  225. package/build/src/index.js +5 -1
  226. package/build/src/index.js.map +1 -1
  227. package/build/src/runner/browser-env/vite/browser-modules/driver.js +6 -8
  228. package/build/src/runner/browser-env/vite/browser-modules/driver.js.map +1 -1
  229. package/build/src/runner/browser-env/vite/browser-modules/tsconfig.tsbuildinfo +1 -1
  230. package/build/src/runner/browser-env/vite/browser-modules/types.d.ts +1 -1
  231. package/build/src/runner/index.js +1 -0
  232. package/build/src/runner/index.js.map +1 -1
  233. package/build/src/runner/suite-monitor.d.ts +1 -1
  234. package/build/src/runner/test-runner/regular-test-runner.js +2 -2
  235. package/build/src/runner/test-runner/regular-test-runner.js.map +1 -1
  236. package/build/src/signal-handler.d.ts +2 -2
  237. package/build/src/signal-handler.js +24 -11
  238. package/build/src/signal-handler.js.map +1 -1
  239. package/build/src/test-reader/mocha-reader/mocha-event-bus.d.ts +1 -1
  240. package/build/src/test-reader/test-parser.js +3 -3
  241. package/build/src/test-reader/test-parser.js.map +1 -1
  242. package/build/src/testplane.d.ts +4 -5
  243. package/build/src/testplane.js +20 -10
  244. package/build/src/testplane.js.map +1 -1
  245. package/build/src/types/globals.d.ts +16 -0
  246. package/build/src/types/globals.js +3 -0
  247. package/build/src/types/globals.js.map +1 -0
  248. package/build/src/types/index.d.ts +2 -3
  249. package/build/src/utils/crypto.d.ts +1 -0
  250. package/build/src/utils/crypto.js +2 -1
  251. package/build/src/utils/crypto.js.map +1 -1
  252. package/build/src/utils/eight-bit-rgba-to-png.d.ts +1 -0
  253. package/build/src/utils/repl-instrumentation/index.d.ts +1 -0
  254. package/build/src/utils/repl-instrumentation/index.js +46 -0
  255. package/build/src/utils/repl-instrumentation/index.js.map +1 -0
  256. package/build/src/utils/repl-instrumentation/typescript.d.ts +7 -0
  257. package/build/src/utils/repl-instrumentation/typescript.js +307 -0
  258. package/build/src/utils/repl-instrumentation/typescript.js.map +1 -0
  259. package/build/src/utils/repl-module-hooks.d.ts +1 -0
  260. package/build/src/utils/repl-module-hooks.js +111 -0
  261. package/build/src/utils/repl-module-hooks.js.map +1 -0
  262. package/build/src/utils/workers-registry.d.ts +2 -2
  263. package/build/src/utils/workers-registry.js +1 -0
  264. package/build/src/utils/workers-registry.js.map +1 -1
  265. package/build/src/vendors/expect-webdriverio/matchers-overrides.d.ts +49 -0
  266. package/build/src/vendors/expect-webdriverio/matchers-overrides.js +3 -0
  267. package/build/src/vendors/expect-webdriverio/matchers-overrides.js.map +1 -0
  268. package/build/src/worker/runner/browser-pool.js +4 -1
  269. package/build/src/worker/runner/browser-pool.js.map +1 -1
  270. package/build/src/worker/runner/index.js +6 -3
  271. package/build/src/worker/runner/index.js.map +1 -1
  272. package/build/src/worker/runner/sequence-test-parser.js +5 -7
  273. package/build/src/worker/runner/sequence-test-parser.js.map +1 -1
  274. package/build/src/worker/runner/test-runner/capture-fail-screenshot.js +2 -3
  275. package/build/src/worker/runner/test-runner/capture-fail-screenshot.js.map +1 -1
  276. package/build/src/worker/runner/test-runner/execution-thread.d.ts +0 -1
  277. package/build/src/worker/runner/test-runner/execution-thread.js +0 -5
  278. package/build/src/worker/runner/test-runner/execution-thread.js.map +1 -1
  279. package/build/src/worker/runner/test-runner/index.d.ts +1 -0
  280. package/build/src/worker/runner/test-runner/index.js +47 -2
  281. package/build/src/worker/runner/test-runner/index.js.map +1 -1
  282. package/build/src/worker/testplane-facade.js +5 -3
  283. package/build/src/worker/testplane-facade.js.map +1 -1
  284. package/build/src/worker/testplane.d.ts +1 -0
  285. package/build/src/worker/testplane.js +4 -1
  286. package/build/src/worker/testplane.js.map +1 -1
  287. package/build/src/ws-connection/constants.d.ts +13 -0
  288. package/build/src/ws-connection/constants.js +17 -0
  289. package/build/src/ws-connection/constants.js.map +1 -0
  290. package/build/src/ws-connection/error.d.ts +52 -0
  291. package/build/src/ws-connection/error.js +84 -0
  292. package/build/src/ws-connection/error.js.map +1 -0
  293. package/build/src/ws-connection/index.d.ts +83 -0
  294. package/build/src/ws-connection/index.js +397 -0
  295. package/build/src/ws-connection/index.js.map +1 -0
  296. package/build/src/ws-connection/utils.d.ts +6 -0
  297. package/build/src/ws-connection/utils.js +9 -0
  298. package/build/src/ws-connection/utils.js.map +1 -0
  299. package/package.json +11 -11
@@ -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("/Users/shadowusr/dev/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
+ },{"/Users/shadowusr/dev/testplane/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 s=t+Math.floor(Math.random()*(r.length-t)),i=r[t];r[t]=r[s],r[s]=i}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,s=0,i=0,n=0;i<r.length;i++){for(;n+1<r.length&&r[n+1]-r[i]<=o;)n++;n-i+1>s-t+1&&(t=i,s=n)}var c=r.slice(t,s+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 s=t[r];if(s.element.isConnected){var i=s.element.getBoundingClientRect(),n=s.rect;i.width<=0||i.height<=0||Math.abs(i.width-n.width)>1||Math.abs(i.height-n.height)>1||o.push(i.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 s=(0,logger_1.createDebugLogger)({debug:t},"scrollBy"),i=(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,i);return(0,scroll_1.scrollElementBy)(c,p),{readableSelectorToScrollDescr:l,debugLog:s()}})}function scrollTo(e,o,r,t){return safeCall(function(){var s=(0,logger_1.createDebugLogger)({debug:t},"scrollTo");s("Asked to scroll to with params: selectorsToCapture:",e,"scrollOffset:",o,"selectorToScroll:",r);var i=(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,i);return(0,scroll_1.scrollElementToOffset)(c,p),{readableSelectorToScrollDescr:l,debugLog:s()}})}function getCaptureState(e,o,r,t){return safeCall(function(){var s=(0,logger_1.createDebugLogger)({debug:t},"getCaptureState"),i=(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,s),m=(0,operations_1.computeCaptureSpecs)(e,s),_=m.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)}}),d=(0,operations_1.computeScrollOffset)(c),f=(0,operations_1.computeViewportOffset)(),h=computeActualShift(),v=null===h?null:(0,_isomorphic_1.fromCssToDeviceNumber)(h,i);return s("scrollOffset:",d),{captureSpecs:_,ignoreAreas:p.map(function(e){return(0,_isomorphic_1.fromCssToDevice)((0,_isomorphic_1.roundCoords)(e),i)}),safeArea:(0,_isomorphic_1.fromCssToDevice)((0,_isomorphic_1.roundCoords)(u),i),scrollOffset:(0,_isomorphic_1.fromCssToDeviceNumber)(d,i),viewportOffset:(0,_isomorphic_1.fromCssToDevice)((0,_isomorphic_1.floorCoords)(f),i),anchorShift:v,readableSelectorToScrollDescr:l,debugLog:s()}})}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)(),s=(0,operations_1.computeViewportOffset)(),i=(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)(s),o),safeArea:(0,_isomorphic_1.fromCssToDevice)((0,_isomorphic_1.roundCoords)(i),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 s=(0,operations_1.computeViewportOffset)(),i=(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)(s),r),elementPositionsProbe:i}})}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)(),s=(0,operations_1.computeDocumentSize)(),i=(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)(s,o)),canHaveCaret:i,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=[],s=0;s<e.length;s++){var i=document.querySelector(e[s]);if(i){t.push(i);for(var n=i.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 s=(0,operations_1.computePixelRatio)(o.usePixelRatio),i=o.selectorToScroll?document.querySelector(o.selectorToScroll):null,n=null!==i&&void 0!==i?i:(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),s)}),captureSpecs:a.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)}}),viewportSize:(0,_isomorphic_1.fromCssToDevice)(l,s),viewportOffset:(0,_isomorphic_1.fromCssToDevice)((0,_isomorphic_1.floorCoords)(p),s),safeArea:(0,_isomorphic_1.fromCssToDevice)((0,_isomorphic_1.roundCoords)(u),s),documentSize:(0,_isomorphic_1.ceilCoords)((0,_isomorphic_1.fromCssToDevice)(_,s)),canHaveCaret:d,pixelRatio:s,pointerEventsDisabled:f,debugLog:r(),readableSelectorToScrollDescr:t,scrollOffset:(0,_isomorphic_1.fromCssToDeviceNumber)(m,s)}}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 s in o)Object.prototype.hasOwnProperty.call(o,s)&&(e[s]=o[s])}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("/Users/shadowusr/dev/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":14,"./operations":4,"./utils/descriptions":6,"./utils/dom":7,"./utils/scroll":10,"/Users/shadowusr/dev/testplane/src/browser/client-scripts/screen-shooter/tsc-out/isomorphic/index.js":17}],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}),B=(0,_isomorphic_1.getBottom)(q),k=B-T,F=M-q.top,V=T,z=R;k<F?(V=Math.max(B,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("/Users/shadowusr/dev/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,"/Users/shadowusr/dev/testplane/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/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/src/browser/client-scripts/screen-shooter/tsc-out/isomorphic/index.js":17}],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
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
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){
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/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/src/browser/client-scripts/screen-shooter/tsc-out/isomorphic/index.js":17}],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;
@@ -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("/Users/shadowusr/dev/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
+ },{"/Users/shadowusr/dev/testplane/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 s=t+Math.floor(Math.random()*(r.length-t)),i=r[t];r[t]=r[s],r[s]=i}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,s=0,i=0,n=0;i<r.length;i++){for(;n+1<r.length&&r[n+1]-r[i]<=o;)n++;n-i+1>s-t+1&&(t=i,s=n)}var c=r.slice(t,s+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 s=t[r];if(s.element.isConnected){var i=s.element.getBoundingClientRect(),n=s.rect;i.width<=0||i.height<=0||Math.abs(i.width-n.width)>1||Math.abs(i.height-n.height)>1||o.push(i.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 s=(0,logger_1.createDebugLogger)({debug:t},"scrollBy"),i=(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,i);return(0,scroll_1.scrollElementBy)(c,p),{readableSelectorToScrollDescr:l,debugLog:s()}})}function scrollTo(e,o,r,t){return safeCall(function(){var s=(0,logger_1.createDebugLogger)({debug:t},"scrollTo");s("Asked to scroll to with params: selectorsToCapture:",e,"scrollOffset:",o,"selectorToScroll:",r);var i=(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,i);return(0,scroll_1.scrollElementToOffset)(c,p),{readableSelectorToScrollDescr:l,debugLog:s()}})}function getCaptureState(e,o,r,t){return safeCall(function(){var s=(0,logger_1.createDebugLogger)({debug:t},"getCaptureState"),i=(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,s),m=(0,operations_1.computeCaptureSpecs)(e,s),_=m.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)}}),d=(0,operations_1.computeScrollOffset)(c),f=(0,operations_1.computeViewportOffset)(),h=computeActualShift(),v=null===h?null:(0,_isomorphic_1.fromCssToDeviceNumber)(h,i);return s("scrollOffset:",d),{captureSpecs:_,ignoreAreas:p.map(function(e){return(0,_isomorphic_1.fromCssToDevice)((0,_isomorphic_1.roundCoords)(e),i)}),safeArea:(0,_isomorphic_1.fromCssToDevice)((0,_isomorphic_1.roundCoords)(u),i),scrollOffset:(0,_isomorphic_1.fromCssToDeviceNumber)(d,i),viewportOffset:(0,_isomorphic_1.fromCssToDevice)((0,_isomorphic_1.floorCoords)(f),i),anchorShift:v,readableSelectorToScrollDescr:l,debugLog:s()}})}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)(),s=(0,operations_1.computeViewportOffset)(),i=(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)(s),o),safeArea:(0,_isomorphic_1.fromCssToDevice)((0,_isomorphic_1.roundCoords)(i),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 s=(0,operations_1.computeViewportOffset)(),i=(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)(s),r),elementPositionsProbe:i}})}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)(),s=(0,operations_1.computeDocumentSize)(),i=(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)(s,o)),canHaveCaret:i,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=[],s=0;s<e.length;s++){var i=document.querySelector(e[s]);if(i){t.push(i);for(var n=i.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 s=(0,operations_1.computePixelRatio)(o.usePixelRatio),i=o.selectorToScroll?document.querySelector(o.selectorToScroll):null,n=null!==i&&void 0!==i?i:(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),s)}),captureSpecs:a.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)}}),viewportSize:(0,_isomorphic_1.fromCssToDevice)(l,s),viewportOffset:(0,_isomorphic_1.fromCssToDevice)((0,_isomorphic_1.floorCoords)(p),s),safeArea:(0,_isomorphic_1.fromCssToDevice)((0,_isomorphic_1.roundCoords)(u),s),documentSize:(0,_isomorphic_1.ceilCoords)((0,_isomorphic_1.fromCssToDevice)(_,s)),canHaveCaret:d,pixelRatio:s,pointerEventsDisabled:f,debugLog:r(),readableSelectorToScrollDescr:t,scrollOffset:(0,_isomorphic_1.fromCssToDeviceNumber)(m,s)}}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 s in o)Object.prototype.hasOwnProperty.call(o,s)&&(e[s]=o[s])}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("/Users/shadowusr/dev/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":14,"./operations":4,"./utils/descriptions":6,"./utils/dom":7,"./utils/scroll":10,"/Users/shadowusr/dev/testplane/src/browser/client-scripts/screen-shooter/tsc-out/isomorphic/index.js":17}],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}),B=(0,_isomorphic_1.getBottom)(q),k=B-T,F=M-q.top,V=T,z=R;k<F?(V=Math.max(B,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("/Users/shadowusr/dev/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,"/Users/shadowusr/dev/testplane/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/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/src/browser/client-scripts/screen-shooter/tsc-out/isomorphic/index.js":17}],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
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
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){
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/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/src/browser/client-scripts/screen-shooter/tsc-out/isomorphic/index.js":17}],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;
@@ -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),