@remotion/renderer 4.0.0-lambda.3 → 4.0.0-newpathfunctions.13

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 (615) hide show
  1. package/LICENSE.md +8 -8
  2. package/README.md +47 -0
  3. package/dist/assets/calculate-asset-positions.d.ts +2 -2
  4. package/dist/assets/calculate-asset-positions.js +1 -0
  5. package/dist/assets/calculate-atempo.d.ts +0 -0
  6. package/dist/assets/calculate-atempo.js +0 -0
  7. package/dist/assets/convert-assets-to-file-urls.d.ts +5 -4
  8. package/dist/assets/convert-assets-to-file-urls.js +2 -2
  9. package/dist/assets/download-and-map-assets-to-file.d.ts +16 -12
  10. package/dist/assets/download-and-map-assets-to-file.js +145 -65
  11. package/dist/assets/download-file.d.ts +13 -6
  12. package/dist/assets/download-file.js +64 -8
  13. package/dist/assets/download-map.d.ts +69 -0
  14. package/dist/assets/download-map.js +77 -0
  15. package/dist/assets/ffmpeg-volume-expression.d.ts +3 -3
  16. package/dist/assets/ffmpeg-volume-expression.js +6 -5
  17. package/dist/assets/flatten-volume-array.d.ts +1 -1
  18. package/dist/assets/flatten-volume-array.js +0 -0
  19. package/dist/assets/get-audio-channels.d.ts +3 -7
  20. package/dist/assets/get-audio-channels.js +8 -8
  21. package/dist/assets/get-video-stream-duration.d.ts +9 -0
  22. package/dist/assets/get-video-stream-duration.js +71 -0
  23. package/dist/assets/read-file.d.ts +0 -0
  24. package/dist/assets/read-file.js +2 -1
  25. package/dist/assets/round-volume-to-avoid-stack-overflow.d.ts +0 -0
  26. package/dist/assets/round-volume-to-avoid-stack-overflow.js +0 -0
  27. package/dist/assets/sanitize-filename.d.ts +0 -0
  28. package/dist/assets/sanitize-filename.js +0 -0
  29. package/dist/assets/sanitize-filepath.d.ts +0 -0
  30. package/dist/assets/sanitize-filepath.js +0 -0
  31. package/dist/assets/truncate-utf8-bytes.d.ts +0 -0
  32. package/dist/assets/truncate-utf8-bytes.js +0 -0
  33. package/dist/assets/types.d.ts +2 -1
  34. package/dist/assets/types.js +0 -0
  35. package/dist/browser/Browser.d.ts +13 -160
  36. package/dist/browser/Browser.js +19 -200
  37. package/dist/browser/BrowserConnector.d.ts +1 -8
  38. package/dist/browser/BrowserConnector.js +0 -32
  39. package/dist/browser/BrowserFetcher.d.ts +2 -1
  40. package/dist/browser/BrowserFetcher.js +27 -26
  41. package/dist/browser/{page.d.ts → BrowserPage.d.ts} +16 -14
  42. package/dist/browser/{page.js → BrowserPage.js} +24 -21
  43. package/dist/browser/BrowserRunner.d.ts +2 -5
  44. package/dist/browser/BrowserRunner.js +29 -72
  45. package/dist/browser/Connection.d.ts +7 -14
  46. package/dist/browser/Connection.js +6 -26
  47. package/dist/browser/ConsoleMessage.d.ts +4 -28
  48. package/dist/browser/ConsoleMessage.js +5 -32
  49. package/dist/browser/DOMWorld.d.ts +11 -8
  50. package/dist/browser/DOMWorld.js +20 -21
  51. package/dist/browser/Errors.d.ts +0 -0
  52. package/dist/browser/Errors.js +0 -0
  53. package/dist/browser/EvalTypes.d.ts +1 -1
  54. package/dist/browser/EvalTypes.js +0 -0
  55. package/dist/browser/EventEmitter.d.ts +1 -48
  56. package/dist/browser/EventEmitter.js +0 -49
  57. package/dist/browser/ExecutionContext.d.ts +8 -9
  58. package/dist/browser/ExecutionContext.js +0 -16
  59. package/dist/browser/FrameManager.d.ts +11 -16
  60. package/dist/browser/FrameManager.js +3 -22
  61. package/dist/browser/HTTPRequest.d.ts +4 -18
  62. package/dist/browser/HTTPRequest.js +3 -48
  63. package/dist/browser/HTTPResponse.d.ts +2 -81
  64. package/dist/browser/HTTPResponse.js +18 -173
  65. package/dist/browser/JSHandle.d.ts +7 -8
  66. package/dist/browser/JSHandle.js +0 -3
  67. package/dist/browser/LaunchOptions.d.ts +2 -86
  68. package/dist/browser/LaunchOptions.js +0 -0
  69. package/dist/browser/Launcher.d.ts +9 -3
  70. package/dist/browser/Launcher.js +13 -471
  71. package/dist/browser/LifecycleWatcher.d.ts +4 -4
  72. package/dist/browser/LifecycleWatcher.js +4 -17
  73. package/dist/browser/NetworkEventManager.d.ts +10 -12
  74. package/dist/browser/NetworkEventManager.js +0 -47
  75. package/dist/browser/NetworkManager.d.ts +3 -5
  76. package/dist/browser/NetworkManager.js +6 -59
  77. package/dist/browser/NodeWebSocketTransport.d.ts +10 -4
  78. package/dist/browser/NodeWebSocketTransport.js +4 -7
  79. package/dist/browser/Product.d.ts +0 -0
  80. package/dist/browser/Product.js +0 -0
  81. package/dist/browser/PuppeteerNode.d.ts +7 -59
  82. package/dist/browser/PuppeteerNode.js +5 -74
  83. package/dist/browser/PuppeteerViewport.d.ts +0 -0
  84. package/dist/browser/PuppeteerViewport.js +0 -0
  85. package/dist/browser/ScreenshotOptions.d.ts +0 -14
  86. package/dist/browser/ScreenshotOptions.js +0 -1
  87. package/dist/browser/Target.d.ts +8 -8
  88. package/dist/browser/Target.js +2 -2
  89. package/dist/browser/TaskQueue.d.ts +0 -0
  90. package/dist/browser/TaskQueue.js +0 -0
  91. package/dist/browser/TimeoutSettings.d.ts +1 -0
  92. package/dist/browser/TimeoutSettings.js +4 -4
  93. package/dist/browser/assert.d.ts +0 -20
  94. package/dist/browser/assert.js +0 -20
  95. package/dist/browser/create-browser-fetcher.d.ts +1 -1
  96. package/dist/browser/create-browser-fetcher.js +5 -68
  97. package/dist/browser/devtools-commands.d.ts +270 -0
  98. package/dist/browser/devtools-commands.js +2 -0
  99. package/dist/browser/devtools-types.d.ts +1126 -0
  100. package/dist/browser/devtools-types.js +2 -0
  101. package/dist/browser/get-download-destination.d.ts +0 -0
  102. package/dist/browser/get-download-destination.js +0 -0
  103. package/dist/browser/is-target-closed-err.d.ts +1 -0
  104. package/dist/browser/is-target-closed-err.js +9 -0
  105. package/dist/browser/mitt/index.d.ts +0 -0
  106. package/dist/browser/mitt/index.js +0 -0
  107. package/dist/browser/node.d.ts +0 -0
  108. package/dist/browser/node.js +0 -0
  109. package/dist/browser/revisions.d.ts +0 -1
  110. package/dist/browser/revisions.js +0 -1
  111. package/dist/browser/util.d.ts +8 -7
  112. package/dist/browser/util.js +11 -3
  113. package/dist/browser-executable.d.ts +1 -0
  114. package/dist/{assets/cleanup-assets.js → browser-executable.js} +0 -0
  115. package/dist/browser-log.d.ts +1 -1
  116. package/dist/browser-log.js +0 -0
  117. package/dist/browser.d.ts +2 -0
  118. package/dist/browser.js +4 -0
  119. package/dist/calculate-ffmpeg-filters.d.ts +1 -1
  120. package/dist/calculate-ffmpeg-filters.js +1 -0
  121. package/dist/calculate-sar-dar-pixels.d.ts +9 -0
  122. package/dist/calculate-sar-dar-pixels.js +19 -0
  123. package/dist/can-use-parallel-encoding.d.ts +1 -1
  124. package/dist/can-use-parallel-encoding.js +2 -2
  125. package/dist/check-apple-silicon.d.ts +1 -0
  126. package/dist/check-apple-silicon.js +55 -0
  127. package/dist/chunk.d.ts +0 -0
  128. package/dist/chunk.js +0 -0
  129. package/dist/client.d.ts +3 -0
  130. package/dist/client.js +7 -0
  131. package/dist/codec-supports-media.d.ts +8 -0
  132. package/dist/codec-supports-media.js +56 -0
  133. package/dist/codec.d.ts +4 -0
  134. package/dist/codec.js +16 -0
  135. package/dist/combine-videos.d.ts +9 -3
  136. package/dist/combine-videos.js +18 -10
  137. package/dist/compositor/compose.d.ts +13 -0
  138. package/dist/compositor/compose.js +47 -0
  139. package/dist/compositor/compositor.d.ts +12 -0
  140. package/dist/compositor/compositor.js +96 -0
  141. package/dist/compositor/get-executable-path.d.ts +1 -0
  142. package/dist/compositor/get-executable-path.js +47 -0
  143. package/dist/compositor/payloads.d.ts +41 -0
  144. package/dist/compositor/payloads.js +2 -0
  145. package/dist/compress-assets.d.ts +7 -0
  146. package/dist/compress-assets.js +25 -0
  147. package/dist/convert-number-of-gif-loops-to-ffmpeg.d.ts +1 -0
  148. package/dist/convert-number-of-gif-loops-to-ffmpeg.js +17 -0
  149. package/dist/convert-to-pcm.d.ts +3 -2
  150. package/dist/convert-to-pcm.js +3 -2
  151. package/dist/convert-to-positive-frame-index.d.ts +4 -0
  152. package/dist/convert-to-positive-frame-index.js +8 -0
  153. package/dist/create-ffmpeg-complex-filter.d.ts +2 -1
  154. package/dist/create-ffmpeg-complex-filter.js +2 -11
  155. package/dist/create-ffmpeg-merge-filter.d.ts +0 -0
  156. package/dist/create-ffmpeg-merge-filter.js +3 -3
  157. package/dist/create-silent-audio.d.ts +3 -2
  158. package/dist/create-silent-audio.js +3 -2
  159. package/dist/crf.d.ts +9 -0
  160. package/dist/crf.js +91 -0
  161. package/dist/cycle-browser-tabs.d.ts +2 -5
  162. package/dist/cycle-browser-tabs.js +5 -5
  163. package/dist/delay-render-embedded-stack.d.ts +1 -1
  164. package/dist/delay-render-embedded-stack.js +0 -0
  165. package/dist/delete-directory.d.ts +0 -0
  166. package/dist/delete-directory.js +0 -0
  167. package/dist/determine-resize-params.d.ts +4 -0
  168. package/dist/determine-resize-params.js +10 -0
  169. package/dist/determine-vcodec-ffmpeg-flags.d.ts +2 -0
  170. package/dist/determine-vcodec-ffmpeg-flags.js +13 -0
  171. package/dist/ensure-ffmpeg.d.ts +10 -0
  172. package/dist/ensure-ffmpeg.js +50 -0
  173. package/dist/ensure-frames-in-order.d.ts +1 -1
  174. package/dist/ensure-frames-in-order.js +3 -2
  175. package/dist/ensure-output-directory.d.ts +0 -0
  176. package/dist/ensure-output-directory.js +0 -0
  177. package/dist/ensure-presentation-timestamp.d.ts +15 -1
  178. package/dist/ensure-presentation-timestamp.js +54 -23
  179. package/dist/error-handling/handle-javascript-exception.d.ts +2 -2
  180. package/dist/error-handling/handle-javascript-exception.js +3 -4
  181. package/dist/error-handling/symbolicate-error.d.ts +1 -1
  182. package/dist/error-handling/symbolicate-error.js +0 -0
  183. package/dist/error-handling/symbolicateable-error.d.ts +1 -1
  184. package/dist/error-handling/symbolicateable-error.js +0 -0
  185. package/dist/extract-frame-from-video.d.ts +7 -2
  186. package/dist/extract-frame-from-video.js +85 -91
  187. package/dist/ffmpeg-executable.d.ts +1 -0
  188. package/dist/ffmpeg-executable.js +2 -0
  189. package/dist/ffmpeg-filter-file.d.ts +2 -1
  190. package/dist/ffmpeg-filter-file.js +4 -6
  191. package/dist/ffmpeg-flags.d.ts +20 -2
  192. package/dist/ffmpeg-flags.js +205 -9
  193. package/dist/ffmpeg-override.d.ts +4 -0
  194. package/dist/ffmpeg-override.js +2 -0
  195. package/dist/find-closest-package-json.d.ts +2 -0
  196. package/dist/find-closest-package-json.js +31 -0
  197. package/dist/frame-range.d.ts +2 -0
  198. package/dist/frame-range.js +49 -0
  199. package/dist/frame-to-ffmpeg-timestamp.d.ts +0 -0
  200. package/dist/frame-to-ffmpeg-timestamp.js +0 -0
  201. package/dist/get-audio-codec-name.d.ts +1 -1
  202. package/dist/get-audio-codec-name.js +2 -2
  203. package/dist/get-browser-instance.d.ts +4 -3
  204. package/dist/get-browser-instance.js +3 -3
  205. package/dist/get-can-extract-frames-fast.d.ts +10 -0
  206. package/dist/get-can-extract-frames-fast.js +67 -0
  207. package/dist/get-codec-name.d.ts +1 -1
  208. package/dist/get-codec-name.js +5 -2
  209. package/dist/get-compositions-from-bundle.d.ts +7 -0
  210. package/dist/get-compositions-from-bundle.js +55 -0
  211. package/dist/get-compositions.d.ts +11 -4
  212. package/dist/get-compositions.js +30 -11
  213. package/dist/get-concurrency.d.ts +1 -1
  214. package/dist/get-concurrency.js +8 -1
  215. package/dist/get-duration-from-frame-range.d.ts +1 -2
  216. package/dist/get-duration-from-frame-range.js +13 -9
  217. package/dist/get-extension-from-codec.d.ts +2 -2
  218. package/dist/get-extension-from-codec.js +8 -5
  219. package/dist/get-extension-of-filename.d.ts +1 -1
  220. package/dist/get-extension-of-filename.js +8 -1
  221. package/dist/get-frame-of-video-slow.d.ts +17 -0
  222. package/dist/get-frame-of-video-slow.js +72 -0
  223. package/dist/get-frame-padded-index.d.ts +14 -0
  224. package/dist/get-frame-padded-index.js +34 -0
  225. package/dist/get-frame-to-render.d.ts +1 -1
  226. package/dist/get-frame-to-render.js +0 -0
  227. package/dist/get-local-browser-executable.d.ts +2 -1
  228. package/dist/get-local-browser-executable.js +8 -8
  229. package/dist/get-port.d.ts +4 -1
  230. package/dist/get-port.js +13 -22
  231. package/dist/get-prores-profile-name.d.ts +2 -1
  232. package/dist/get-prores-profile-name.js +0 -0
  233. package/dist/get-video-info.d.ts +8 -0
  234. package/dist/get-video-info.js +59 -0
  235. package/dist/get-video-signals.d.ts +2 -0
  236. package/dist/get-video-signals.js +28 -0
  237. package/dist/get-video-threads-flag.d.ts +1 -0
  238. package/dist/get-video-threads-flag.js +18 -0
  239. package/dist/guess-extension-for-media.d.ts +5 -0
  240. package/dist/guess-extension-for-media.js +28 -0
  241. package/dist/image-format.d.ts +6 -1
  242. package/dist/image-format.js +28 -1
  243. package/dist/index.d.ts +96 -37
  244. package/dist/index.js +92 -17
  245. package/dist/is-audio-codec.d.ts +2 -0
  246. package/dist/is-audio-codec.js +7 -0
  247. package/dist/is-beyond-last-frame.d.ts +3 -2
  248. package/dist/is-beyond-last-frame.js +5 -5
  249. package/dist/is-serve-url.d.ts +0 -0
  250. package/dist/is-serve-url.js +0 -0
  251. package/dist/last-frame-from-video-cache.d.ts +9 -2
  252. package/dist/last-frame-from-video-cache.js +23 -18
  253. package/dist/legacy-webpack-config.d.ts +0 -0
  254. package/dist/legacy-webpack-config.js +0 -0
  255. package/dist/locks.d.ts +7 -0
  256. package/dist/locks.js +44 -0
  257. package/dist/log-level.d.ts +4 -0
  258. package/dist/log-level.js +15 -0
  259. package/dist/make-cancel-signal.d.ts +7 -0
  260. package/dist/make-cancel-signal.js +20 -1
  261. package/dist/make-comp-manager-context.d.ts +2 -0
  262. package/dist/make-comp-manager-context.js +45 -0
  263. package/dist/make-timeline-context-value.d.ts +2 -0
  264. package/dist/make-timeline-context-value.js +20 -0
  265. package/dist/merge-audio-track.d.ts +4 -1
  266. package/dist/merge-audio-track.js +18 -7
  267. package/dist/mime-db.d.ts +6 -0
  268. package/dist/mime-db.js +8636 -0
  269. package/dist/mime-types.d.ts +3 -0
  270. package/dist/mime-types.js +94 -0
  271. package/dist/normalize-serve-url.d.ts +0 -0
  272. package/dist/normalize-serve-url.js +0 -0
  273. package/dist/offthread-video-server.d.ts +9 -5
  274. package/dist/offthread-video-server.js +30 -10
  275. package/dist/open-browser.d.ts +5 -3
  276. package/dist/open-browser.js +17 -26
  277. package/dist/overwrite.d.ts +1 -0
  278. package/dist/overwrite.js +4 -0
  279. package/dist/p-limit.d.ts +0 -0
  280. package/dist/p-limit.js +0 -0
  281. package/dist/parse-browser-error-stack.d.ts +0 -0
  282. package/dist/parse-browser-error-stack.js +0 -0
  283. package/dist/parse-ffmpeg-progress.d.ts +0 -0
  284. package/dist/parse-ffmpeg-progress.js +0 -0
  285. package/dist/perf.d.ts +5 -0
  286. package/dist/perf.js +35 -0
  287. package/dist/pixel-format.d.ts +5 -0
  288. package/dist/pixel-format.js +29 -0
  289. package/dist/pool.d.ts +0 -0
  290. package/dist/pool.js +0 -0
  291. package/dist/prepare-server.d.ts +7 -5
  292. package/dist/prepare-server.js +13 -5
  293. package/dist/preprocess-audio-track.d.ts +5 -2
  294. package/dist/preprocess-audio-track.js +5 -4
  295. package/dist/prespawn-ffmpeg.d.ts +10 -3
  296. package/dist/prespawn-ffmpeg.js +24 -16
  297. package/dist/prestitcher-memory-usage.d.ts +12 -0
  298. package/dist/prestitcher-memory-usage.js +30 -0
  299. package/dist/prores-profile.d.ts +8 -0
  300. package/dist/prores-profile.js +23 -0
  301. package/dist/provide-screenshot.d.ts +9 -5
  302. package/dist/provide-screenshot.js +4 -2
  303. package/dist/puppeteer-evaluate.d.ts +1 -1
  304. package/dist/puppeteer-evaluate.js +22 -15
  305. package/dist/puppeteer-screenshot.d.ts +12 -2
  306. package/dist/puppeteer-screenshot.js +11 -16
  307. package/dist/quality.d.ts +1 -0
  308. package/dist/quality.js +21 -0
  309. package/dist/redirect-status-codes.d.ts +1 -0
  310. package/dist/redirect-status-codes.js +6 -0
  311. package/dist/render-frames.d.ts +30 -12
  312. package/dist/render-frames.js +232 -138
  313. package/dist/render-media.d.ts +48 -12
  314. package/dist/render-media.js +152 -30
  315. package/dist/render-on-server.d.ts +3 -0
  316. package/dist/render-on-server.js +90 -0
  317. package/dist/render-still.d.ts +21 -9
  318. package/dist/render-still.js +75 -37
  319. package/dist/render-svg.d.ts +8 -0
  320. package/dist/render-svg.js +13 -0
  321. package/dist/render-video-layer.d.ts +9 -0
  322. package/dist/render-video-layer.js +23 -0
  323. package/dist/render-web-frame.d.ts +73 -0
  324. package/dist/render-web-frame.js +260 -0
  325. package/dist/replace-browser.d.ts +6 -0
  326. package/dist/replace-browser.js +47 -0
  327. package/dist/resolve-asset-src.d.ts +0 -0
  328. package/dist/resolve-asset-src.js +0 -0
  329. package/dist/sample-rate.d.ts +0 -0
  330. package/dist/sample-rate.js +0 -0
  331. package/dist/screenshot-dom-element.d.ts +11 -8
  332. package/dist/screenshot-dom-element.js +12 -7
  333. package/dist/screenshot-task.d.ts +13 -3
  334. package/dist/screenshot-task.js +55 -27
  335. package/dist/seek-to-frame.d.ts +3 -2
  336. package/dist/seek-to-frame.js +24 -3
  337. package/dist/serve-handler/index.d.ts +1 -1
  338. package/dist/serve-handler/index.js +6 -7
  339. package/dist/serve-handler/is-path-inside.d.ts +0 -0
  340. package/dist/serve-handler/is-path-inside.js +0 -0
  341. package/dist/serve-handler/range-parser.d.ts +0 -0
  342. package/dist/serve-handler/range-parser.js +0 -0
  343. package/dist/serve-static.d.ts +5 -3
  344. package/dist/serve-static.js +20 -4
  345. package/dist/set-props-and-env.d.ts +4 -2
  346. package/dist/set-props-and-env.js +41 -15
  347. package/dist/stitch-frames-to-video.d.ts +20 -7
  348. package/dist/stitch-frames-to-video.js +175 -59
  349. package/dist/stringify-ffmpeg-filter.d.ts +4 -3
  350. package/dist/stringify-ffmpeg-filter.js +15 -11
  351. package/dist/symbolicate-stacktrace.d.ts +1 -1
  352. package/dist/symbolicate-stacktrace.js +3 -3
  353. package/dist/take-frame-and-compose.d.ts +19 -0
  354. package/dist/take-frame-and-compose.js +96 -0
  355. package/dist/tmp-dir.d.ts +0 -0
  356. package/dist/tmp-dir.js +0 -0
  357. package/dist/truthy.d.ts +3 -0
  358. package/dist/truthy.js +7 -0
  359. package/dist/try-to-extract-frame-of-video-fast.d.ts +12 -0
  360. package/dist/try-to-extract-frame-of-video-fast.js +55 -0
  361. package/dist/types.d.ts +1 -1
  362. package/dist/types.js +0 -0
  363. package/dist/validate-concurrency.d.ts +1 -0
  364. package/dist/validate-concurrency.js +29 -0
  365. package/dist/validate-even-dimensions-with-codec.d.ts +1 -1
  366. package/dist/validate-even-dimensions-with-codec.js +2 -2
  367. package/dist/validate-every-nth-frame.d.ts +2 -0
  368. package/dist/validate-every-nth-frame.js +28 -0
  369. package/dist/validate-ffmpeg-override.d.ts +2 -0
  370. package/dist/validate-ffmpeg-override.js +12 -0
  371. package/dist/validate-ffmpeg.d.ts +7 -2
  372. package/dist/validate-ffmpeg.js +48 -44
  373. package/dist/validate-frame.d.ts +1 -0
  374. package/dist/validate-frame.js +24 -0
  375. package/dist/validate-number-of-gif-loops.d.ts +2 -0
  376. package/dist/validate-number-of-gif-loops.js +24 -0
  377. package/dist/validate-opengl-renderer.d.ts +5 -0
  378. package/dist/validate-opengl-renderer.js +15 -0
  379. package/dist/validate-output-filename.d.ts +1 -1
  380. package/dist/validate-output-filename.js +5 -0
  381. package/dist/validate-puppeteer-timeout.d.ts +0 -0
  382. package/dist/validate-puppeteer-timeout.js +1 -1
  383. package/dist/validate-scale.d.ts +0 -0
  384. package/dist/validate-scale.js +0 -0
  385. package/dist/validate-videobitrate.d.ts +1 -0
  386. package/dist/validate-videobitrate.js +20 -0
  387. package/dist/wait-for-symbolication-error-to-be-done.d.ts +3 -0
  388. package/dist/wait-for-symbolication-error-to-be-done.js +8 -0
  389. package/dist/warn-about-ffmpeg-version.d.ts +5 -0
  390. package/dist/warn-about-ffmpeg-version.js +37 -0
  391. package/dist/ws/ws-types.d.ts +14 -0
  392. package/dist/ws/ws-types.js +11 -0
  393. package/package.json +30 -22
  394. package/types/ws/index.d.ts +509 -0
  395. package/.prettierrc.js +0 -14
  396. package/dist/assets/calculate-asset-positions.d.ts.map +0 -1
  397. package/dist/assets/calculate-asset-positions.js.map +0 -1
  398. package/dist/assets/calculate-atempo.d.ts.map +0 -1
  399. package/dist/assets/calculate-atempo.js.map +0 -1
  400. package/dist/assets/cleanup-assets.d.ts +0 -2
  401. package/dist/assets/convert-assets-to-file-urls.d.ts.map +0 -1
  402. package/dist/assets/convert-assets-to-file-urls.js.map +0 -1
  403. package/dist/assets/download-and-map-assets-to-file.d.ts.map +0 -1
  404. package/dist/assets/download-and-map-assets-to-file.js.map +0 -1
  405. package/dist/assets/download-file.d.ts.map +0 -1
  406. package/dist/assets/download-file.js.map +0 -1
  407. package/dist/assets/ffmpeg-volume-expression.d.ts.map +0 -1
  408. package/dist/assets/ffmpeg-volume-expression.js.map +0 -1
  409. package/dist/assets/flatten-volume-array.d.ts.map +0 -1
  410. package/dist/assets/flatten-volume-array.js.map +0 -1
  411. package/dist/assets/get-audio-channels.d.ts.map +0 -1
  412. package/dist/assets/get-audio-channels.js.map +0 -1
  413. package/dist/assets/read-file.d.ts.map +0 -1
  414. package/dist/assets/read-file.js.map +0 -1
  415. package/dist/assets/round-volume-to-avoid-stack-overflow.d.ts.map +0 -1
  416. package/dist/assets/round-volume-to-avoid-stack-overflow.js.map +0 -1
  417. package/dist/assets/sanitize-filename.d.ts.map +0 -1
  418. package/dist/assets/sanitize-filename.js.map +0 -1
  419. package/dist/assets/sanitize-filepath.d.ts.map +0 -1
  420. package/dist/assets/sanitize-filepath.js.map +0 -1
  421. package/dist/assets/truncate-utf8-bytes.d.ts.map +0 -1
  422. package/dist/assets/truncate-utf8-bytes.js.map +0 -1
  423. package/dist/assets/types.d.ts.map +0 -1
  424. package/dist/assets/types.js.map +0 -1
  425. package/dist/browser/Accessibility.d.ts +0 -175
  426. package/dist/browser/Accessibility.js +0 -423
  427. package/dist/browser/AriaQueryHandler.d.ts +0 -20
  428. package/dist/browser/AriaQueryHandler.js +0 -108
  429. package/dist/browser/ConnectionTransport.d.ts +0 -21
  430. package/dist/browser/ConnectionTransport.js +0 -17
  431. package/dist/browser/Coverage.d.ts +0 -180
  432. package/dist/browser/Coverage.js +0 -371
  433. package/dist/browser/Debug.d.ts +0 -19
  434. package/dist/browser/Debug.js +0 -42
  435. package/dist/browser/DeviceDescriptors.d.ts +0 -40
  436. package/dist/browser/DeviceDescriptors.js +0 -1407
  437. package/dist/browser/EmulationManager.d.ts +0 -7
  438. package/dist/browser/EmulationManager.js +0 -40
  439. package/dist/browser/FileChooser.d.ts +0 -56
  440. package/dist/browser/FileChooser.js +0 -86
  441. package/dist/browser/Input.d.ts +0 -355
  442. package/dist/browser/Input.js +0 -592
  443. package/dist/browser/NetworkConditions.d.ts +0 -26
  444. package/dist/browser/NetworkConditions.js +0 -33
  445. package/dist/browser/PDFOptions.d.ts +0 -165
  446. package/dist/browser/PDFOptions.js +0 -34
  447. package/dist/browser/PipeTransport.d.ts +0 -10
  448. package/dist/browser/PipeTransport.js +0 -86
  449. package/dist/browser/Puppeteer.d.ts +0 -35
  450. package/dist/browser/Puppeteer.js +0 -17
  451. package/dist/browser/QueryHandler.d.ts +0 -64
  452. package/dist/browser/QueryHandler.js +0 -183
  453. package/dist/browser/SecurityDetails.d.ts +0 -55
  454. package/dist/browser/SecurityDetails.js +0 -95
  455. package/dist/browser/Tracing.d.ts +0 -45
  456. package/dist/browser/Tracing.js +0 -136
  457. package/dist/browser/USKeyboardLayout.d.ts +0 -39
  458. package/dist/browser/USKeyboardLayout.js +0 -406
  459. package/dist/browser/WebWorker.d.ts +0 -96
  460. package/dist/browser/WebWorker.js +0 -122
  461. package/dist/browser/compat.d.ts +0 -2
  462. package/dist/browser/compat.js +0 -17
  463. package/dist/browser/dialog.d.ts +0 -70
  464. package/dist/browser/dialog.js +0 -114
  465. package/dist/browser/environment.d.ts +0 -16
  466. package/dist/browser/environment.js +0 -19
  467. package/dist/browser/fetch.d.ts +0 -16
  468. package/dist/browser/fetch.js +0 -46
  469. package/dist/browser/find-up.d.ts +0 -4
  470. package/dist/browser/find-up.js +0 -85
  471. package/dist/browser/pkg-dir.d.ts +0 -3
  472. package/dist/browser/pkg-dir.js +0 -13
  473. package/dist/browser-log.d.ts.map +0 -1
  474. package/dist/browser-log.js.map +0 -1
  475. package/dist/calculate-ffmpeg-filters.d.ts.map +0 -1
  476. package/dist/calculate-ffmpeg-filters.js.map +0 -1
  477. package/dist/can-use-parallel-encoding.d.ts.map +0 -1
  478. package/dist/can-use-parallel-encoding.js.map +0 -1
  479. package/dist/chunk.d.ts.map +0 -1
  480. package/dist/chunk.js.map +0 -1
  481. package/dist/combine-videos.d.ts.map +0 -1
  482. package/dist/combine-videos.js.map +0 -1
  483. package/dist/convert-to-pcm.d.ts.map +0 -1
  484. package/dist/convert-to-pcm.js.map +0 -1
  485. package/dist/create-ffmpeg-complex-filter.d.ts.map +0 -1
  486. package/dist/create-ffmpeg-complex-filter.js.map +0 -1
  487. package/dist/create-ffmpeg-merge-filter.d.ts.map +0 -1
  488. package/dist/create-ffmpeg-merge-filter.js.map +0 -1
  489. package/dist/create-silent-audio.d.ts.map +0 -1
  490. package/dist/create-silent-audio.js.map +0 -1
  491. package/dist/cycle-browser-tabs.d.ts.map +0 -1
  492. package/dist/cycle-browser-tabs.js.map +0 -1
  493. package/dist/delay-render-embedded-stack.d.ts.map +0 -1
  494. package/dist/delay-render-embedded-stack.js.map +0 -1
  495. package/dist/delete-directory.d.ts.map +0 -1
  496. package/dist/delete-directory.js.map +0 -1
  497. package/dist/ensure-frames-in-order.d.ts.map +0 -1
  498. package/dist/ensure-frames-in-order.js.map +0 -1
  499. package/dist/ensure-output-directory.d.ts.map +0 -1
  500. package/dist/ensure-output-directory.js.map +0 -1
  501. package/dist/error-handling/handle-javascript-exception.d.ts.map +0 -1
  502. package/dist/error-handling/handle-javascript-exception.js.map +0 -1
  503. package/dist/error-handling/symbolicate-error.d.ts.map +0 -1
  504. package/dist/error-handling/symbolicate-error.js.map +0 -1
  505. package/dist/error-handling/symbolicateable-error.d.ts.map +0 -1
  506. package/dist/error-handling/symbolicateable-error.js.map +0 -1
  507. package/dist/ffmpeg-filter-file.d.ts.map +0 -1
  508. package/dist/ffmpeg-filter-file.js.map +0 -1
  509. package/dist/ffmpeg-flags.d.ts.map +0 -1
  510. package/dist/ffmpeg-flags.js.map +0 -1
  511. package/dist/get-audio-codec-name.d.ts.map +0 -1
  512. package/dist/get-audio-codec-name.js.map +0 -1
  513. package/dist/get-browser-instance.d.ts.map +0 -1
  514. package/dist/get-browser-instance.js.map +0 -1
  515. package/dist/get-codec-name.d.ts.map +0 -1
  516. package/dist/get-codec-name.js.map +0 -1
  517. package/dist/get-compositions.d.ts.map +0 -1
  518. package/dist/get-compositions.js.map +0 -1
  519. package/dist/get-concurrency.d.ts.map +0 -1
  520. package/dist/get-concurrency.js.map +0 -1
  521. package/dist/get-duration-from-frame-range.d.ts.map +0 -1
  522. package/dist/get-duration-from-frame-range.js.map +0 -1
  523. package/dist/get-duration-of-asset.d.ts +0 -7
  524. package/dist/get-duration-of-asset.js +0 -36
  525. package/dist/get-extension-from-codec.d.ts.map +0 -1
  526. package/dist/get-extension-from-codec.js.map +0 -1
  527. package/dist/get-frame-to-render.d.ts.map +0 -1
  528. package/dist/get-frame-to-render.js.map +0 -1
  529. package/dist/get-local-browser-executable.d.ts.map +0 -1
  530. package/dist/get-local-browser-executable.js.map +0 -1
  531. package/dist/get-port.d.ts.map +0 -1
  532. package/dist/get-port.js.map +0 -1
  533. package/dist/get-prores-profile-name.d.ts.map +0 -1
  534. package/dist/get-prores-profile-name.js.map +0 -1
  535. package/dist/image-format.d.ts.map +0 -1
  536. package/dist/image-format.js.map +0 -1
  537. package/dist/index.d.ts.map +0 -1
  538. package/dist/index.js.map +0 -1
  539. package/dist/is-serve-url.d.ts.map +0 -1
  540. package/dist/is-serve-url.js.map +0 -1
  541. package/dist/legacy-webpack-config.d.ts.map +0 -1
  542. package/dist/legacy-webpack-config.js.map +0 -1
  543. package/dist/make-assets-download-dir.d.ts +0 -1
  544. package/dist/make-assets-download-dir.d.ts.map +0 -1
  545. package/dist/make-assets-download-dir.js +0 -13
  546. package/dist/make-assets-download-dir.js.map +0 -1
  547. package/dist/merge-audio-track.d.ts.map +0 -1
  548. package/dist/merge-audio-track.js.map +0 -1
  549. package/dist/normalize-serve-url.d.ts.map +0 -1
  550. package/dist/normalize-serve-url.js.map +0 -1
  551. package/dist/open-browser.d.ts.map +0 -1
  552. package/dist/open-browser.js.map +0 -1
  553. package/dist/p-limit.d.ts.map +0 -1
  554. package/dist/p-limit.js.map +0 -1
  555. package/dist/parse-browser-error-stack.d.ts.map +0 -1
  556. package/dist/parse-browser-error-stack.js.map +0 -1
  557. package/dist/parse-ffmpeg-progress.d.ts.map +0 -1
  558. package/dist/parse-ffmpeg-progress.js.map +0 -1
  559. package/dist/pool.d.ts.map +0 -1
  560. package/dist/pool.js.map +0 -1
  561. package/dist/prepare-server.d.ts.map +0 -1
  562. package/dist/prepare-server.js.map +0 -1
  563. package/dist/preprocess-audio-track.d.ts.map +0 -1
  564. package/dist/preprocess-audio-track.js.map +0 -1
  565. package/dist/prespawn-ffmpeg.d.ts.map +0 -1
  566. package/dist/prespawn-ffmpeg.js.map +0 -1
  567. package/dist/provide-screenshot.d.ts.map +0 -1
  568. package/dist/provide-screenshot.js.map +0 -1
  569. package/dist/puppeteer-evaluate.d.ts.map +0 -1
  570. package/dist/puppeteer-evaluate.js.map +0 -1
  571. package/dist/puppeteer-screenshot.d.ts.map +0 -1
  572. package/dist/puppeteer-screenshot.js.map +0 -1
  573. package/dist/render-frames.d.ts.map +0 -1
  574. package/dist/render-frames.js.map +0 -1
  575. package/dist/render-media.d.ts.map +0 -1
  576. package/dist/render-media.js.map +0 -1
  577. package/dist/render-still.d.ts.map +0 -1
  578. package/dist/render-still.js.map +0 -1
  579. package/dist/resolve-asset-src.d.ts.map +0 -1
  580. package/dist/resolve-asset-src.js.map +0 -1
  581. package/dist/sample-rate.d.ts.map +0 -1
  582. package/dist/sample-rate.js.map +0 -1
  583. package/dist/screenshot-dom-element.d.ts.map +0 -1
  584. package/dist/screenshot-dom-element.js.map +0 -1
  585. package/dist/screenshot-task.d.ts.map +0 -1
  586. package/dist/screenshot-task.js.map +0 -1
  587. package/dist/seek-to-frame.d.ts.map +0 -1
  588. package/dist/seek-to-frame.js.map +0 -1
  589. package/dist/serve-handler/glob-slash.d.ts +0 -1
  590. package/dist/serve-handler/glob-slash.js +0 -12
  591. package/dist/serve-static.d.ts.map +0 -1
  592. package/dist/serve-static.js.map +0 -1
  593. package/dist/set-props-and-env.d.ts.map +0 -1
  594. package/dist/set-props-and-env.js.map +0 -1
  595. package/dist/stitch-frames-to-video.d.ts.map +0 -1
  596. package/dist/stitch-frames-to-video.js.map +0 -1
  597. package/dist/stringify-ffmpeg-filter.d.ts.map +0 -1
  598. package/dist/stringify-ffmpeg-filter.js.map +0 -1
  599. package/dist/symbolicate-stacktrace.d.ts.map +0 -1
  600. package/dist/symbolicate-stacktrace.js.map +0 -1
  601. package/dist/tmp-dir.d.ts.map +0 -1
  602. package/dist/tmp-dir.js.map +0 -1
  603. package/dist/types.d.ts.map +0 -1
  604. package/dist/types.js.map +0 -1
  605. package/dist/validate-even-dimensions-with-codec.d.ts.map +0 -1
  606. package/dist/validate-even-dimensions-with-codec.js.map +0 -1
  607. package/dist/validate-ffmpeg.d.ts.map +0 -1
  608. package/dist/validate-ffmpeg.js.map +0 -1
  609. package/dist/validate-fps-for-gif.d.ts +0 -2
  610. package/dist/validate-fps-for-gif.js +0 -9
  611. package/dist/validate-puppeteer-timeout.d.ts.map +0 -1
  612. package/dist/validate-puppeteer-timeout.js.map +0 -1
  613. package/dist/validate-scale.d.ts.map +0 -1
  614. package/dist/validate-scale.js.map +0 -1
  615. package/tsconfig.json +0 -10
@@ -1,1407 +0,0 @@
1
- "use strict";
2
- /**
3
- * Copyright 2017 Google Inc. All rights reserved.
4
- *
5
- * Licensed under the Apache License, Version 2.0 (the "License");
6
- * you may not use this file except in compliance with the License.
7
- * You may obtain a copy of the License at
8
- *
9
- * http://www.apache.org/licenses/LICENSE-2.0
10
- *
11
- * Unless required by applicable law or agreed to in writing, software
12
- * distributed under the License is distributed on an "AS IS" BASIS,
13
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
- * See the License for the specific language governing permissions and
15
- * limitations under the License.
16
- */
17
- Object.defineProperty(exports, "__esModule", { value: true });
18
- exports._devicesMap = void 0;
19
- const devices = [
20
- {
21
- name: 'Blackberry PlayBook',
22
- userAgent: 'Mozilla/5.0 (PlayBook; U; RIM Tablet OS 2.1.0; en-US) AppleWebKit/536.2+ (KHTML like Gecko) Version/7.2.1.0 Safari/536.2+',
23
- viewport: {
24
- width: 600,
25
- height: 1024,
26
- deviceScaleFactor: 1,
27
- isMobile: true,
28
- hasTouch: true,
29
- isLandscape: false,
30
- },
31
- },
32
- {
33
- name: 'Blackberry PlayBook landscape',
34
- userAgent: 'Mozilla/5.0 (PlayBook; U; RIM Tablet OS 2.1.0; en-US) AppleWebKit/536.2+ (KHTML like Gecko) Version/7.2.1.0 Safari/536.2+',
35
- viewport: {
36
- width: 1024,
37
- height: 600,
38
- deviceScaleFactor: 1,
39
- isMobile: true,
40
- hasTouch: true,
41
- isLandscape: true,
42
- },
43
- },
44
- {
45
- name: 'BlackBerry Z30',
46
- userAgent: 'Mozilla/5.0 (BB10; Touch) AppleWebKit/537.10+ (KHTML, like Gecko) Version/10.0.9.2372 Mobile Safari/537.10+',
47
- viewport: {
48
- width: 360,
49
- height: 640,
50
- deviceScaleFactor: 2,
51
- isMobile: true,
52
- hasTouch: true,
53
- isLandscape: false,
54
- },
55
- },
56
- {
57
- name: 'BlackBerry Z30 landscape',
58
- userAgent: 'Mozilla/5.0 (BB10; Touch) AppleWebKit/537.10+ (KHTML, like Gecko) Version/10.0.9.2372 Mobile Safari/537.10+',
59
- viewport: {
60
- width: 640,
61
- height: 360,
62
- deviceScaleFactor: 2,
63
- isMobile: true,
64
- hasTouch: true,
65
- isLandscape: true,
66
- },
67
- },
68
- {
69
- name: 'Galaxy Note 3',
70
- userAgent: 'Mozilla/5.0 (Linux; U; Android 4.3; en-us; SM-N900T Build/JSS15J) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30',
71
- viewport: {
72
- width: 360,
73
- height: 640,
74
- deviceScaleFactor: 3,
75
- isMobile: true,
76
- hasTouch: true,
77
- isLandscape: false,
78
- },
79
- },
80
- {
81
- name: 'Galaxy Note 3 landscape',
82
- userAgent: 'Mozilla/5.0 (Linux; U; Android 4.3; en-us; SM-N900T Build/JSS15J) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30',
83
- viewport: {
84
- width: 640,
85
- height: 360,
86
- deviceScaleFactor: 3,
87
- isMobile: true,
88
- hasTouch: true,
89
- isLandscape: true,
90
- },
91
- },
92
- {
93
- name: 'Galaxy Note II',
94
- userAgent: 'Mozilla/5.0 (Linux; U; Android 4.1; en-us; GT-N7100 Build/JRO03C) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30',
95
- viewport: {
96
- width: 360,
97
- height: 640,
98
- deviceScaleFactor: 2,
99
- isMobile: true,
100
- hasTouch: true,
101
- isLandscape: false,
102
- },
103
- },
104
- {
105
- name: 'Galaxy Note II landscape',
106
- userAgent: 'Mozilla/5.0 (Linux; U; Android 4.1; en-us; GT-N7100 Build/JRO03C) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30',
107
- viewport: {
108
- width: 640,
109
- height: 360,
110
- deviceScaleFactor: 2,
111
- isMobile: true,
112
- hasTouch: true,
113
- isLandscape: true,
114
- },
115
- },
116
- {
117
- name: 'Galaxy S III',
118
- userAgent: 'Mozilla/5.0 (Linux; U; Android 4.0; en-us; GT-I9300 Build/IMM76D) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30',
119
- viewport: {
120
- width: 360,
121
- height: 640,
122
- deviceScaleFactor: 2,
123
- isMobile: true,
124
- hasTouch: true,
125
- isLandscape: false,
126
- },
127
- },
128
- {
129
- name: 'Galaxy S III landscape',
130
- userAgent: 'Mozilla/5.0 (Linux; U; Android 4.0; en-us; GT-I9300 Build/IMM76D) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30',
131
- viewport: {
132
- width: 640,
133
- height: 360,
134
- deviceScaleFactor: 2,
135
- isMobile: true,
136
- hasTouch: true,
137
- isLandscape: true,
138
- },
139
- },
140
- {
141
- name: 'Galaxy S5',
142
- userAgent: 'Mozilla/5.0 (Linux; Android 5.0; SM-G900P Build/LRX21T) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3765.0 Mobile Safari/537.36',
143
- viewport: {
144
- width: 360,
145
- height: 640,
146
- deviceScaleFactor: 3,
147
- isMobile: true,
148
- hasTouch: true,
149
- isLandscape: false,
150
- },
151
- },
152
- {
153
- name: 'Galaxy S5 landscape',
154
- userAgent: 'Mozilla/5.0 (Linux; Android 5.0; SM-G900P Build/LRX21T) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3765.0 Mobile Safari/537.36',
155
- viewport: {
156
- width: 640,
157
- height: 360,
158
- deviceScaleFactor: 3,
159
- isMobile: true,
160
- hasTouch: true,
161
- isLandscape: true,
162
- },
163
- },
164
- {
165
- name: 'Galaxy S8',
166
- userAgent: 'Mozilla/5.0 (Linux; Android 7.0; SM-G950U Build/NRD90M) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.84 Mobile Safari/537.36',
167
- viewport: {
168
- width: 360,
169
- height: 740,
170
- deviceScaleFactor: 3,
171
- isMobile: true,
172
- hasTouch: true,
173
- isLandscape: false,
174
- },
175
- },
176
- {
177
- name: 'Galaxy S8 landscape',
178
- userAgent: 'Mozilla/5.0 (Linux; Android 7.0; SM-G950U Build/NRD90M) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.84 Mobile Safari/537.36',
179
- viewport: {
180
- width: 740,
181
- height: 360,
182
- deviceScaleFactor: 3,
183
- isMobile: true,
184
- hasTouch: true,
185
- isLandscape: true,
186
- },
187
- },
188
- {
189
- name: 'Galaxy S9+',
190
- userAgent: 'Mozilla/5.0 (Linux; Android 8.0.0; SM-G965U Build/R16NW) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.111 Mobile Safari/537.36',
191
- viewport: {
192
- width: 320,
193
- height: 658,
194
- deviceScaleFactor: 4.5,
195
- isMobile: true,
196
- hasTouch: true,
197
- isLandscape: false,
198
- },
199
- },
200
- {
201
- name: 'Galaxy S9+ landscape',
202
- userAgent: 'Mozilla/5.0 (Linux; Android 8.0.0; SM-G965U Build/R16NW) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.111 Mobile Safari/537.36',
203
- viewport: {
204
- width: 658,
205
- height: 320,
206
- deviceScaleFactor: 4.5,
207
- isMobile: true,
208
- hasTouch: true,
209
- isLandscape: true,
210
- },
211
- },
212
- {
213
- name: 'Galaxy Tab S4',
214
- userAgent: 'Mozilla/5.0 (Linux; Android 8.1.0; SM-T837A) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.80 Safari/537.36',
215
- viewport: {
216
- width: 712,
217
- height: 1138,
218
- deviceScaleFactor: 2.25,
219
- isMobile: true,
220
- hasTouch: true,
221
- isLandscape: false,
222
- },
223
- },
224
- {
225
- name: 'Galaxy Tab S4 landscape',
226
- userAgent: 'Mozilla/5.0 (Linux; Android 8.1.0; SM-T837A) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.80 Safari/537.36',
227
- viewport: {
228
- width: 1138,
229
- height: 712,
230
- deviceScaleFactor: 2.25,
231
- isMobile: true,
232
- hasTouch: true,
233
- isLandscape: true,
234
- },
235
- },
236
- {
237
- name: 'iPad',
238
- userAgent: 'Mozilla/5.0 (iPad; CPU OS 11_0 like Mac OS X) AppleWebKit/604.1.34 (KHTML, like Gecko) Version/11.0 Mobile/15A5341f Safari/604.1',
239
- viewport: {
240
- width: 768,
241
- height: 1024,
242
- deviceScaleFactor: 2,
243
- isMobile: true,
244
- hasTouch: true,
245
- isLandscape: false,
246
- },
247
- },
248
- {
249
- name: 'iPad landscape',
250
- userAgent: 'Mozilla/5.0 (iPad; CPU OS 11_0 like Mac OS X) AppleWebKit/604.1.34 (KHTML, like Gecko) Version/11.0 Mobile/15A5341f Safari/604.1',
251
- viewport: {
252
- width: 1024,
253
- height: 768,
254
- deviceScaleFactor: 2,
255
- isMobile: true,
256
- hasTouch: true,
257
- isLandscape: true,
258
- },
259
- },
260
- {
261
- name: 'iPad (gen 6)',
262
- userAgent: 'Mozilla/5.0 (iPad; CPU OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.4 Mobile/15E148 Safari/604.1',
263
- viewport: {
264
- width: 768,
265
- height: 1024,
266
- deviceScaleFactor: 2,
267
- isMobile: true,
268
- hasTouch: true,
269
- isLandscape: false,
270
- },
271
- },
272
- {
273
- name: 'iPad (gen 6) landscape',
274
- userAgent: 'Mozilla/5.0 (iPad; CPU OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.4 Mobile/15E148 Safari/604.1',
275
- viewport: {
276
- width: 1024,
277
- height: 768,
278
- deviceScaleFactor: 2,
279
- isMobile: true,
280
- hasTouch: true,
281
- isLandscape: true,
282
- },
283
- },
284
- {
285
- name: 'iPad (gen 7)',
286
- userAgent: 'Mozilla/5.0 (iPad; CPU OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.4 Mobile/15E148 Safari/604.1',
287
- viewport: {
288
- width: 810,
289
- height: 1080,
290
- deviceScaleFactor: 2,
291
- isMobile: true,
292
- hasTouch: true,
293
- isLandscape: false,
294
- },
295
- },
296
- {
297
- name: 'iPad (gen 7) landscape',
298
- userAgent: 'Mozilla/5.0 (iPad; CPU OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.4 Mobile/15E148 Safari/604.1',
299
- viewport: {
300
- width: 1080,
301
- height: 810,
302
- deviceScaleFactor: 2,
303
- isMobile: true,
304
- hasTouch: true,
305
- isLandscape: true,
306
- },
307
- },
308
- {
309
- name: 'iPad Mini',
310
- userAgent: 'Mozilla/5.0 (iPad; CPU OS 11_0 like Mac OS X) AppleWebKit/604.1.34 (KHTML, like Gecko) Version/11.0 Mobile/15A5341f Safari/604.1',
311
- viewport: {
312
- width: 768,
313
- height: 1024,
314
- deviceScaleFactor: 2,
315
- isMobile: true,
316
- hasTouch: true,
317
- isLandscape: false,
318
- },
319
- },
320
- {
321
- name: 'iPad Mini landscape',
322
- userAgent: 'Mozilla/5.0 (iPad; CPU OS 11_0 like Mac OS X) AppleWebKit/604.1.34 (KHTML, like Gecko) Version/11.0 Mobile/15A5341f Safari/604.1',
323
- viewport: {
324
- width: 1024,
325
- height: 768,
326
- deviceScaleFactor: 2,
327
- isMobile: true,
328
- hasTouch: true,
329
- isLandscape: true,
330
- },
331
- },
332
- {
333
- name: 'iPad Pro',
334
- userAgent: 'Mozilla/5.0 (iPad; CPU OS 11_0 like Mac OS X) AppleWebKit/604.1.34 (KHTML, like Gecko) Version/11.0 Mobile/15A5341f Safari/604.1',
335
- viewport: {
336
- width: 1024,
337
- height: 1366,
338
- deviceScaleFactor: 2,
339
- isMobile: true,
340
- hasTouch: true,
341
- isLandscape: false,
342
- },
343
- },
344
- {
345
- name: 'iPad Pro landscape',
346
- userAgent: 'Mozilla/5.0 (iPad; CPU OS 11_0 like Mac OS X) AppleWebKit/604.1.34 (KHTML, like Gecko) Version/11.0 Mobile/15A5341f Safari/604.1',
347
- viewport: {
348
- width: 1366,
349
- height: 1024,
350
- deviceScaleFactor: 2,
351
- isMobile: true,
352
- hasTouch: true,
353
- isLandscape: true,
354
- },
355
- },
356
- {
357
- name: 'iPad Pro 11',
358
- userAgent: 'Mozilla/5.0 (iPad; CPU OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.4 Mobile/15E148 Safari/604.1',
359
- viewport: {
360
- width: 834,
361
- height: 1194,
362
- deviceScaleFactor: 2,
363
- isMobile: true,
364
- hasTouch: true,
365
- isLandscape: false,
366
- },
367
- },
368
- {
369
- name: 'iPad Pro 11 landscape',
370
- userAgent: 'Mozilla/5.0 (iPad; CPU OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.4 Mobile/15E148 Safari/604.1',
371
- viewport: {
372
- width: 1194,
373
- height: 834,
374
- deviceScaleFactor: 2,
375
- isMobile: true,
376
- hasTouch: true,
377
- isLandscape: true,
378
- },
379
- },
380
- {
381
- name: 'iPhone 4',
382
- userAgent: 'Mozilla/5.0 (iPhone; CPU iPhone OS 7_1_2 like Mac OS X) AppleWebKit/537.51.2 (KHTML, like Gecko) Version/7.0 Mobile/11D257 Safari/9537.53',
383
- viewport: {
384
- width: 320,
385
- height: 480,
386
- deviceScaleFactor: 2,
387
- isMobile: true,
388
- hasTouch: true,
389
- isLandscape: false,
390
- },
391
- },
392
- {
393
- name: 'iPhone 4 landscape',
394
- userAgent: 'Mozilla/5.0 (iPhone; CPU iPhone OS 7_1_2 like Mac OS X) AppleWebKit/537.51.2 (KHTML, like Gecko) Version/7.0 Mobile/11D257 Safari/9537.53',
395
- viewport: {
396
- width: 480,
397
- height: 320,
398
- deviceScaleFactor: 2,
399
- isMobile: true,
400
- hasTouch: true,
401
- isLandscape: true,
402
- },
403
- },
404
- {
405
- name: 'iPhone 5',
406
- userAgent: 'Mozilla/5.0 (iPhone; CPU iPhone OS 10_3_1 like Mac OS X) AppleWebKit/603.1.30 (KHTML, like Gecko) Version/10.0 Mobile/14E304 Safari/602.1',
407
- viewport: {
408
- width: 320,
409
- height: 568,
410
- deviceScaleFactor: 2,
411
- isMobile: true,
412
- hasTouch: true,
413
- isLandscape: false,
414
- },
415
- },
416
- {
417
- name: 'iPhone 5 landscape',
418
- userAgent: 'Mozilla/5.0 (iPhone; CPU iPhone OS 10_3_1 like Mac OS X) AppleWebKit/603.1.30 (KHTML, like Gecko) Version/10.0 Mobile/14E304 Safari/602.1',
419
- viewport: {
420
- width: 568,
421
- height: 320,
422
- deviceScaleFactor: 2,
423
- isMobile: true,
424
- hasTouch: true,
425
- isLandscape: true,
426
- },
427
- },
428
- {
429
- name: 'iPhone 6',
430
- userAgent: 'Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1',
431
- viewport: {
432
- width: 375,
433
- height: 667,
434
- deviceScaleFactor: 2,
435
- isMobile: true,
436
- hasTouch: true,
437
- isLandscape: false,
438
- },
439
- },
440
- {
441
- name: 'iPhone 6 landscape',
442
- userAgent: 'Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1',
443
- viewport: {
444
- width: 667,
445
- height: 375,
446
- deviceScaleFactor: 2,
447
- isMobile: true,
448
- hasTouch: true,
449
- isLandscape: true,
450
- },
451
- },
452
- {
453
- name: 'iPhone 6 Plus',
454
- userAgent: 'Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1',
455
- viewport: {
456
- width: 414,
457
- height: 736,
458
- deviceScaleFactor: 3,
459
- isMobile: true,
460
- hasTouch: true,
461
- isLandscape: false,
462
- },
463
- },
464
- {
465
- name: 'iPhone 6 Plus landscape',
466
- userAgent: 'Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1',
467
- viewport: {
468
- width: 736,
469
- height: 414,
470
- deviceScaleFactor: 3,
471
- isMobile: true,
472
- hasTouch: true,
473
- isLandscape: true,
474
- },
475
- },
476
- {
477
- name: 'iPhone 7',
478
- userAgent: 'Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1',
479
- viewport: {
480
- width: 375,
481
- height: 667,
482
- deviceScaleFactor: 2,
483
- isMobile: true,
484
- hasTouch: true,
485
- isLandscape: false,
486
- },
487
- },
488
- {
489
- name: 'iPhone 7 landscape',
490
- userAgent: 'Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1',
491
- viewport: {
492
- width: 667,
493
- height: 375,
494
- deviceScaleFactor: 2,
495
- isMobile: true,
496
- hasTouch: true,
497
- isLandscape: true,
498
- },
499
- },
500
- {
501
- name: 'iPhone 7 Plus',
502
- userAgent: 'Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1',
503
- viewport: {
504
- width: 414,
505
- height: 736,
506
- deviceScaleFactor: 3,
507
- isMobile: true,
508
- hasTouch: true,
509
- isLandscape: false,
510
- },
511
- },
512
- {
513
- name: 'iPhone 7 Plus landscape',
514
- userAgent: 'Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1',
515
- viewport: {
516
- width: 736,
517
- height: 414,
518
- deviceScaleFactor: 3,
519
- isMobile: true,
520
- hasTouch: true,
521
- isLandscape: true,
522
- },
523
- },
524
- {
525
- name: 'iPhone 8',
526
- userAgent: 'Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1',
527
- viewport: {
528
- width: 375,
529
- height: 667,
530
- deviceScaleFactor: 2,
531
- isMobile: true,
532
- hasTouch: true,
533
- isLandscape: false,
534
- },
535
- },
536
- {
537
- name: 'iPhone 8 landscape',
538
- userAgent: 'Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1',
539
- viewport: {
540
- width: 667,
541
- height: 375,
542
- deviceScaleFactor: 2,
543
- isMobile: true,
544
- hasTouch: true,
545
- isLandscape: true,
546
- },
547
- },
548
- {
549
- name: 'iPhone 8 Plus',
550
- userAgent: 'Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1',
551
- viewport: {
552
- width: 414,
553
- height: 736,
554
- deviceScaleFactor: 3,
555
- isMobile: true,
556
- hasTouch: true,
557
- isLandscape: false,
558
- },
559
- },
560
- {
561
- name: 'iPhone 8 Plus landscape',
562
- userAgent: 'Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1',
563
- viewport: {
564
- width: 736,
565
- height: 414,
566
- deviceScaleFactor: 3,
567
- isMobile: true,
568
- hasTouch: true,
569
- isLandscape: true,
570
- },
571
- },
572
- {
573
- name: 'iPhone SE',
574
- userAgent: 'Mozilla/5.0 (iPhone; CPU iPhone OS 10_3_1 like Mac OS X) AppleWebKit/603.1.30 (KHTML, like Gecko) Version/10.0 Mobile/14E304 Safari/602.1',
575
- viewport: {
576
- width: 320,
577
- height: 568,
578
- deviceScaleFactor: 2,
579
- isMobile: true,
580
- hasTouch: true,
581
- isLandscape: false,
582
- },
583
- },
584
- {
585
- name: 'iPhone SE landscape',
586
- userAgent: 'Mozilla/5.0 (iPhone; CPU iPhone OS 10_3_1 like Mac OS X) AppleWebKit/603.1.30 (KHTML, like Gecko) Version/10.0 Mobile/14E304 Safari/602.1',
587
- viewport: {
588
- width: 568,
589
- height: 320,
590
- deviceScaleFactor: 2,
591
- isMobile: true,
592
- hasTouch: true,
593
- isLandscape: true,
594
- },
595
- },
596
- {
597
- name: 'iPhone X',
598
- userAgent: 'Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1',
599
- viewport: {
600
- width: 375,
601
- height: 812,
602
- deviceScaleFactor: 3,
603
- isMobile: true,
604
- hasTouch: true,
605
- isLandscape: false,
606
- },
607
- },
608
- {
609
- name: 'iPhone X landscape',
610
- userAgent: 'Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1',
611
- viewport: {
612
- width: 812,
613
- height: 375,
614
- deviceScaleFactor: 3,
615
- isMobile: true,
616
- hasTouch: true,
617
- isLandscape: true,
618
- },
619
- },
620
- {
621
- name: 'iPhone XR',
622
- userAgent: 'Mozilla/5.0 (iPhone; CPU iPhone OS 12_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.0 Mobile/15E148 Safari/604.1',
623
- viewport: {
624
- width: 414,
625
- height: 896,
626
- deviceScaleFactor: 3,
627
- isMobile: true,
628
- hasTouch: true,
629
- isLandscape: false,
630
- },
631
- },
632
- {
633
- name: 'iPhone XR landscape',
634
- userAgent: 'Mozilla/5.0 (iPhone; CPU iPhone OS 12_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.0 Mobile/15E148 Safari/604.1',
635
- viewport: {
636
- width: 896,
637
- height: 414,
638
- deviceScaleFactor: 3,
639
- isMobile: true,
640
- hasTouch: true,
641
- isLandscape: true,
642
- },
643
- },
644
- {
645
- name: 'iPhone 11',
646
- userAgent: 'Mozilla/5.0 (iPhone; CPU iPhone OS 13_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.1 Mobile/15E148 Safari/604.1',
647
- viewport: {
648
- width: 414,
649
- height: 828,
650
- deviceScaleFactor: 2,
651
- isMobile: true,
652
- hasTouch: true,
653
- isLandscape: false,
654
- },
655
- },
656
- {
657
- name: 'iPhone 11 landscape',
658
- userAgent: 'Mozilla/5.0 (iPhone; CPU iPhone OS 13_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.1 Mobile/15E148 Safari/604.1',
659
- viewport: {
660
- width: 828,
661
- height: 414,
662
- deviceScaleFactor: 2,
663
- isMobile: true,
664
- hasTouch: true,
665
- isLandscape: true,
666
- },
667
- },
668
- {
669
- name: 'iPhone 11 Pro',
670
- userAgent: 'Mozilla/5.0 (iPhone; CPU iPhone OS 13_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.1 Mobile/15E148 Safari/604.1',
671
- viewport: {
672
- width: 375,
673
- height: 812,
674
- deviceScaleFactor: 3,
675
- isMobile: true,
676
- hasTouch: true,
677
- isLandscape: false,
678
- },
679
- },
680
- {
681
- name: 'iPhone 11 Pro landscape',
682
- userAgent: 'Mozilla/5.0 (iPhone; CPU iPhone OS 13_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.1 Mobile/15E148 Safari/604.1',
683
- viewport: {
684
- width: 812,
685
- height: 375,
686
- deviceScaleFactor: 3,
687
- isMobile: true,
688
- hasTouch: true,
689
- isLandscape: true,
690
- },
691
- },
692
- {
693
- name: 'iPhone 11 Pro Max',
694
- userAgent: 'Mozilla/5.0 (iPhone; CPU iPhone OS 13_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.1 Mobile/15E148 Safari/604.1',
695
- viewport: {
696
- width: 414,
697
- height: 896,
698
- deviceScaleFactor: 3,
699
- isMobile: true,
700
- hasTouch: true,
701
- isLandscape: false,
702
- },
703
- },
704
- {
705
- name: 'iPhone 11 Pro Max landscape',
706
- userAgent: 'Mozilla/5.0 (iPhone; CPU iPhone OS 13_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.1 Mobile/15E148 Safari/604.1',
707
- viewport: {
708
- width: 896,
709
- height: 414,
710
- deviceScaleFactor: 3,
711
- isMobile: true,
712
- hasTouch: true,
713
- isLandscape: true,
714
- },
715
- },
716
- {
717
- name: 'iPhone 12',
718
- userAgent: 'Mozilla/5.0 (iPhone; CPU iPhone OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.4 Mobile/15E148 Safari/604.1',
719
- viewport: {
720
- width: 390,
721
- height: 844,
722
- deviceScaleFactor: 3,
723
- isMobile: true,
724
- hasTouch: true,
725
- isLandscape: false,
726
- },
727
- },
728
- {
729
- name: 'iPhone 12 landscape',
730
- userAgent: 'Mozilla/5.0 (iPhone; CPU iPhone OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.4 Mobile/15E148 Safari/604.1',
731
- viewport: {
732
- width: 844,
733
- height: 390,
734
- deviceScaleFactor: 3,
735
- isMobile: true,
736
- hasTouch: true,
737
- isLandscape: true,
738
- },
739
- },
740
- {
741
- name: 'iPhone 12 Pro',
742
- userAgent: 'Mozilla/5.0 (iPhone; CPU iPhone OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.4 Mobile/15E148 Safari/604.1',
743
- viewport: {
744
- width: 390,
745
- height: 844,
746
- deviceScaleFactor: 3,
747
- isMobile: true,
748
- hasTouch: true,
749
- isLandscape: false,
750
- },
751
- },
752
- {
753
- name: 'iPhone 12 Pro landscape',
754
- userAgent: 'Mozilla/5.0 (iPhone; CPU iPhone OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.4 Mobile/15E148 Safari/604.1',
755
- viewport: {
756
- width: 844,
757
- height: 390,
758
- deviceScaleFactor: 3,
759
- isMobile: true,
760
- hasTouch: true,
761
- isLandscape: true,
762
- },
763
- },
764
- {
765
- name: 'iPhone 12 Pro Max',
766
- userAgent: 'Mozilla/5.0 (iPhone; CPU iPhone OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.4 Mobile/15E148 Safari/604.1',
767
- viewport: {
768
- width: 428,
769
- height: 926,
770
- deviceScaleFactor: 3,
771
- isMobile: true,
772
- hasTouch: true,
773
- isLandscape: false,
774
- },
775
- },
776
- {
777
- name: 'iPhone 12 Pro Max landscape',
778
- userAgent: 'Mozilla/5.0 (iPhone; CPU iPhone OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.4 Mobile/15E148 Safari/604.1',
779
- viewport: {
780
- width: 926,
781
- height: 428,
782
- deviceScaleFactor: 3,
783
- isMobile: true,
784
- hasTouch: true,
785
- isLandscape: true,
786
- },
787
- },
788
- {
789
- name: 'iPhone 12 Mini',
790
- userAgent: 'Mozilla/5.0 (iPhone; CPU iPhone OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.4 Mobile/15E148 Safari/604.1',
791
- viewport: {
792
- width: 375,
793
- height: 812,
794
- deviceScaleFactor: 3,
795
- isMobile: true,
796
- hasTouch: true,
797
- isLandscape: false,
798
- },
799
- },
800
- {
801
- name: 'iPhone 12 Mini landscape',
802
- userAgent: 'Mozilla/5.0 (iPhone; CPU iPhone OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.4 Mobile/15E148 Safari/604.1',
803
- viewport: {
804
- width: 812,
805
- height: 375,
806
- deviceScaleFactor: 3,
807
- isMobile: true,
808
- hasTouch: true,
809
- isLandscape: true,
810
- },
811
- },
812
- {
813
- name: 'iPhone 13',
814
- userAgent: 'Mozilla/5.0 (iPhone; CPU iPhone OS 15_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.4 Mobile/15E148 Safari/604.1',
815
- viewport: {
816
- width: 390,
817
- height: 844,
818
- deviceScaleFactor: 3,
819
- isMobile: true,
820
- hasTouch: true,
821
- isLandscape: false,
822
- },
823
- },
824
- {
825
- name: 'iPhone 13 landscape',
826
- userAgent: 'Mozilla/5.0 (iPhone; CPU iPhone OS 15_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.4 Mobile/15E148 Safari/604.1',
827
- viewport: {
828
- width: 844,
829
- height: 390,
830
- deviceScaleFactor: 3,
831
- isMobile: true,
832
- hasTouch: true,
833
- isLandscape: true,
834
- },
835
- },
836
- {
837
- name: 'iPhone 13 Pro',
838
- userAgent: 'Mozilla/5.0 (iPhone; CPU iPhone OS 15_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.4 Mobile/15E148 Safari/604.1',
839
- viewport: {
840
- width: 390,
841
- height: 844,
842
- deviceScaleFactor: 3,
843
- isMobile: true,
844
- hasTouch: true,
845
- isLandscape: false,
846
- },
847
- },
848
- {
849
- name: 'iPhone 13 Pro landscape',
850
- userAgent: 'Mozilla/5.0 (iPhone; CPU iPhone OS 15_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.4 Mobile/15E148 Safari/604.1',
851
- viewport: {
852
- width: 844,
853
- height: 390,
854
- deviceScaleFactor: 3,
855
- isMobile: true,
856
- hasTouch: true,
857
- isLandscape: true,
858
- },
859
- },
860
- {
861
- name: 'iPhone 13 Pro Max',
862
- userAgent: 'Mozilla/5.0 (iPhone; CPU iPhone OS 15_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.4 Mobile/15E148 Safari/604.1',
863
- viewport: {
864
- width: 428,
865
- height: 926,
866
- deviceScaleFactor: 3,
867
- isMobile: true,
868
- hasTouch: true,
869
- isLandscape: false,
870
- },
871
- },
872
- {
873
- name: 'iPhone 13 Pro Max landscape',
874
- userAgent: 'Mozilla/5.0 (iPhone; CPU iPhone OS 15_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.4 Mobile/15E148 Safari/604.1',
875
- viewport: {
876
- width: 926,
877
- height: 428,
878
- deviceScaleFactor: 3,
879
- isMobile: true,
880
- hasTouch: true,
881
- isLandscape: true,
882
- },
883
- },
884
- {
885
- name: 'iPhone 13 Mini',
886
- userAgent: 'Mozilla/5.0 (iPhone; CPU iPhone OS 15_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.4 Mobile/15E148 Safari/604.1',
887
- viewport: {
888
- width: 375,
889
- height: 812,
890
- deviceScaleFactor: 3,
891
- isMobile: true,
892
- hasTouch: true,
893
- isLandscape: false,
894
- },
895
- },
896
- {
897
- name: 'iPhone 13 Mini landscape',
898
- userAgent: 'Mozilla/5.0 (iPhone; CPU iPhone OS 15_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.4 Mobile/15E148 Safari/604.1',
899
- viewport: {
900
- width: 812,
901
- height: 375,
902
- deviceScaleFactor: 3,
903
- isMobile: true,
904
- hasTouch: true,
905
- isLandscape: true,
906
- },
907
- },
908
- {
909
- name: 'JioPhone 2',
910
- userAgent: 'Mozilla/5.0 (Mobile; LYF/F300B/LYF-F300B-001-01-15-130718-i;Android; rv:48.0) Gecko/48.0 Firefox/48.0 KAIOS/2.5',
911
- viewport: {
912
- width: 240,
913
- height: 320,
914
- deviceScaleFactor: 1,
915
- isMobile: true,
916
- hasTouch: true,
917
- isLandscape: false,
918
- },
919
- },
920
- {
921
- name: 'JioPhone 2 landscape',
922
- userAgent: 'Mozilla/5.0 (Mobile; LYF/F300B/LYF-F300B-001-01-15-130718-i;Android; rv:48.0) Gecko/48.0 Firefox/48.0 KAIOS/2.5',
923
- viewport: {
924
- width: 320,
925
- height: 240,
926
- deviceScaleFactor: 1,
927
- isMobile: true,
928
- hasTouch: true,
929
- isLandscape: true,
930
- },
931
- },
932
- {
933
- name: 'Kindle Fire HDX',
934
- userAgent: 'Mozilla/5.0 (Linux; U; en-us; KFAPWI Build/JDQ39) AppleWebKit/535.19 (KHTML, like Gecko) Silk/3.13 Safari/535.19 Silk-Accelerated=true',
935
- viewport: {
936
- width: 800,
937
- height: 1280,
938
- deviceScaleFactor: 2,
939
- isMobile: true,
940
- hasTouch: true,
941
- isLandscape: false,
942
- },
943
- },
944
- {
945
- name: 'Kindle Fire HDX landscape',
946
- userAgent: 'Mozilla/5.0 (Linux; U; en-us; KFAPWI Build/JDQ39) AppleWebKit/535.19 (KHTML, like Gecko) Silk/3.13 Safari/535.19 Silk-Accelerated=true',
947
- viewport: {
948
- width: 1280,
949
- height: 800,
950
- deviceScaleFactor: 2,
951
- isMobile: true,
952
- hasTouch: true,
953
- isLandscape: true,
954
- },
955
- },
956
- {
957
- name: 'LG Optimus L70',
958
- userAgent: 'Mozilla/5.0 (Linux; U; Android 4.4.2; en-us; LGMS323 Build/KOT49I.MS32310c) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/75.0.3765.0 Mobile Safari/537.36',
959
- viewport: {
960
- width: 384,
961
- height: 640,
962
- deviceScaleFactor: 1.25,
963
- isMobile: true,
964
- hasTouch: true,
965
- isLandscape: false,
966
- },
967
- },
968
- {
969
- name: 'LG Optimus L70 landscape',
970
- userAgent: 'Mozilla/5.0 (Linux; U; Android 4.4.2; en-us; LGMS323 Build/KOT49I.MS32310c) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/75.0.3765.0 Mobile Safari/537.36',
971
- viewport: {
972
- width: 640,
973
- height: 384,
974
- deviceScaleFactor: 1.25,
975
- isMobile: true,
976
- hasTouch: true,
977
- isLandscape: true,
978
- },
979
- },
980
- {
981
- name: 'Microsoft Lumia 550',
982
- userAgent: 'Mozilla/5.0 (Windows Phone 10.0; Android 4.2.1; Microsoft; Lumia 550) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2486.0 Mobile Safari/537.36 Edge/14.14263',
983
- viewport: {
984
- width: 640,
985
- height: 360,
986
- deviceScaleFactor: 2,
987
- isMobile: true,
988
- hasTouch: true,
989
- isLandscape: false,
990
- },
991
- },
992
- {
993
- name: 'Microsoft Lumia 950',
994
- userAgent: 'Mozilla/5.0 (Windows Phone 10.0; Android 4.2.1; Microsoft; Lumia 950) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2486.0 Mobile Safari/537.36 Edge/14.14263',
995
- viewport: {
996
- width: 360,
997
- height: 640,
998
- deviceScaleFactor: 4,
999
- isMobile: true,
1000
- hasTouch: true,
1001
- isLandscape: false,
1002
- },
1003
- },
1004
- {
1005
- name: 'Microsoft Lumia 950 landscape',
1006
- userAgent: 'Mozilla/5.0 (Windows Phone 10.0; Android 4.2.1; Microsoft; Lumia 950) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2486.0 Mobile Safari/537.36 Edge/14.14263',
1007
- viewport: {
1008
- width: 640,
1009
- height: 360,
1010
- deviceScaleFactor: 4,
1011
- isMobile: true,
1012
- hasTouch: true,
1013
- isLandscape: true,
1014
- },
1015
- },
1016
- {
1017
- name: 'Nexus 10',
1018
- userAgent: 'Mozilla/5.0 (Linux; Android 6.0.1; Nexus 10 Build/MOB31T) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3765.0 Safari/537.36',
1019
- viewport: {
1020
- width: 800,
1021
- height: 1280,
1022
- deviceScaleFactor: 2,
1023
- isMobile: true,
1024
- hasTouch: true,
1025
- isLandscape: false,
1026
- },
1027
- },
1028
- {
1029
- name: 'Nexus 10 landscape',
1030
- userAgent: 'Mozilla/5.0 (Linux; Android 6.0.1; Nexus 10 Build/MOB31T) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3765.0 Safari/537.36',
1031
- viewport: {
1032
- width: 1280,
1033
- height: 800,
1034
- deviceScaleFactor: 2,
1035
- isMobile: true,
1036
- hasTouch: true,
1037
- isLandscape: true,
1038
- },
1039
- },
1040
- {
1041
- name: 'Nexus 4',
1042
- userAgent: 'Mozilla/5.0 (Linux; Android 4.4.2; Nexus 4 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3765.0 Mobile Safari/537.36',
1043
- viewport: {
1044
- width: 384,
1045
- height: 640,
1046
- deviceScaleFactor: 2,
1047
- isMobile: true,
1048
- hasTouch: true,
1049
- isLandscape: false,
1050
- },
1051
- },
1052
- {
1053
- name: 'Nexus 4 landscape',
1054
- userAgent: 'Mozilla/5.0 (Linux; Android 4.4.2; Nexus 4 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3765.0 Mobile Safari/537.36',
1055
- viewport: {
1056
- width: 640,
1057
- height: 384,
1058
- deviceScaleFactor: 2,
1059
- isMobile: true,
1060
- hasTouch: true,
1061
- isLandscape: true,
1062
- },
1063
- },
1064
- {
1065
- name: 'Nexus 5',
1066
- userAgent: 'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3765.0 Mobile Safari/537.36',
1067
- viewport: {
1068
- width: 360,
1069
- height: 640,
1070
- deviceScaleFactor: 3,
1071
- isMobile: true,
1072
- hasTouch: true,
1073
- isLandscape: false,
1074
- },
1075
- },
1076
- {
1077
- name: 'Nexus 5 landscape',
1078
- userAgent: 'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3765.0 Mobile Safari/537.36',
1079
- viewport: {
1080
- width: 640,
1081
- height: 360,
1082
- deviceScaleFactor: 3,
1083
- isMobile: true,
1084
- hasTouch: true,
1085
- isLandscape: true,
1086
- },
1087
- },
1088
- {
1089
- name: 'Nexus 5X',
1090
- userAgent: 'Mozilla/5.0 (Linux; Android 8.0.0; Nexus 5X Build/OPR4.170623.006) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3765.0 Mobile Safari/537.36',
1091
- viewport: {
1092
- width: 412,
1093
- height: 732,
1094
- deviceScaleFactor: 2.625,
1095
- isMobile: true,
1096
- hasTouch: true,
1097
- isLandscape: false,
1098
- },
1099
- },
1100
- {
1101
- name: 'Nexus 5X landscape',
1102
- userAgent: 'Mozilla/5.0 (Linux; Android 8.0.0; Nexus 5X Build/OPR4.170623.006) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3765.0 Mobile Safari/537.36',
1103
- viewport: {
1104
- width: 732,
1105
- height: 412,
1106
- deviceScaleFactor: 2.625,
1107
- isMobile: true,
1108
- hasTouch: true,
1109
- isLandscape: true,
1110
- },
1111
- },
1112
- {
1113
- name: 'Nexus 6',
1114
- userAgent: 'Mozilla/5.0 (Linux; Android 7.1.1; Nexus 6 Build/N6F26U) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3765.0 Mobile Safari/537.36',
1115
- viewport: {
1116
- width: 412,
1117
- height: 732,
1118
- deviceScaleFactor: 3.5,
1119
- isMobile: true,
1120
- hasTouch: true,
1121
- isLandscape: false,
1122
- },
1123
- },
1124
- {
1125
- name: 'Nexus 6 landscape',
1126
- userAgent: 'Mozilla/5.0 (Linux; Android 7.1.1; Nexus 6 Build/N6F26U) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3765.0 Mobile Safari/537.36',
1127
- viewport: {
1128
- width: 732,
1129
- height: 412,
1130
- deviceScaleFactor: 3.5,
1131
- isMobile: true,
1132
- hasTouch: true,
1133
- isLandscape: true,
1134
- },
1135
- },
1136
- {
1137
- name: 'Nexus 6P',
1138
- userAgent: 'Mozilla/5.0 (Linux; Android 8.0.0; Nexus 6P Build/OPP3.170518.006) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3765.0 Mobile Safari/537.36',
1139
- viewport: {
1140
- width: 412,
1141
- height: 732,
1142
- deviceScaleFactor: 3.5,
1143
- isMobile: true,
1144
- hasTouch: true,
1145
- isLandscape: false,
1146
- },
1147
- },
1148
- {
1149
- name: 'Nexus 6P landscape',
1150
- userAgent: 'Mozilla/5.0 (Linux; Android 8.0.0; Nexus 6P Build/OPP3.170518.006) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3765.0 Mobile Safari/537.36',
1151
- viewport: {
1152
- width: 732,
1153
- height: 412,
1154
- deviceScaleFactor: 3.5,
1155
- isMobile: true,
1156
- hasTouch: true,
1157
- isLandscape: true,
1158
- },
1159
- },
1160
- {
1161
- name: 'Nexus 7',
1162
- userAgent: 'Mozilla/5.0 (Linux; Android 6.0.1; Nexus 7 Build/MOB30X) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3765.0 Safari/537.36',
1163
- viewport: {
1164
- width: 600,
1165
- height: 960,
1166
- deviceScaleFactor: 2,
1167
- isMobile: true,
1168
- hasTouch: true,
1169
- isLandscape: false,
1170
- },
1171
- },
1172
- {
1173
- name: 'Nexus 7 landscape',
1174
- userAgent: 'Mozilla/5.0 (Linux; Android 6.0.1; Nexus 7 Build/MOB30X) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3765.0 Safari/537.36',
1175
- viewport: {
1176
- width: 960,
1177
- height: 600,
1178
- deviceScaleFactor: 2,
1179
- isMobile: true,
1180
- hasTouch: true,
1181
- isLandscape: true,
1182
- },
1183
- },
1184
- {
1185
- name: 'Nokia Lumia 520',
1186
- userAgent: 'Mozilla/5.0 (compatible; MSIE 10.0; Windows Phone 8.0; Trident/6.0; IEMobile/10.0; ARM; Touch; NOKIA; Lumia 520)',
1187
- viewport: {
1188
- width: 320,
1189
- height: 533,
1190
- deviceScaleFactor: 1.5,
1191
- isMobile: true,
1192
- hasTouch: true,
1193
- isLandscape: false,
1194
- },
1195
- },
1196
- {
1197
- name: 'Nokia Lumia 520 landscape',
1198
- userAgent: 'Mozilla/5.0 (compatible; MSIE 10.0; Windows Phone 8.0; Trident/6.0; IEMobile/10.0; ARM; Touch; NOKIA; Lumia 520)',
1199
- viewport: {
1200
- width: 533,
1201
- height: 320,
1202
- deviceScaleFactor: 1.5,
1203
- isMobile: true,
1204
- hasTouch: true,
1205
- isLandscape: true,
1206
- },
1207
- },
1208
- {
1209
- name: 'Nokia N9',
1210
- userAgent: 'Mozilla/5.0 (MeeGo; NokiaN9) AppleWebKit/534.13 (KHTML, like Gecko) NokiaBrowser/8.5.0 Mobile Safari/534.13',
1211
- viewport: {
1212
- width: 480,
1213
- height: 854,
1214
- deviceScaleFactor: 1,
1215
- isMobile: true,
1216
- hasTouch: true,
1217
- isLandscape: false,
1218
- },
1219
- },
1220
- {
1221
- name: 'Nokia N9 landscape',
1222
- userAgent: 'Mozilla/5.0 (MeeGo; NokiaN9) AppleWebKit/534.13 (KHTML, like Gecko) NokiaBrowser/8.5.0 Mobile Safari/534.13',
1223
- viewport: {
1224
- width: 854,
1225
- height: 480,
1226
- deviceScaleFactor: 1,
1227
- isMobile: true,
1228
- hasTouch: true,
1229
- isLandscape: true,
1230
- },
1231
- },
1232
- {
1233
- name: 'Pixel 2',
1234
- userAgent: 'Mozilla/5.0 (Linux; Android 8.0; Pixel 2 Build/OPD3.170816.012) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3765.0 Mobile Safari/537.36',
1235
- viewport: {
1236
- width: 411,
1237
- height: 731,
1238
- deviceScaleFactor: 2.625,
1239
- isMobile: true,
1240
- hasTouch: true,
1241
- isLandscape: false,
1242
- },
1243
- },
1244
- {
1245
- name: 'Pixel 2 landscape',
1246
- userAgent: 'Mozilla/5.0 (Linux; Android 8.0; Pixel 2 Build/OPD3.170816.012) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3765.0 Mobile Safari/537.36',
1247
- viewport: {
1248
- width: 731,
1249
- height: 411,
1250
- deviceScaleFactor: 2.625,
1251
- isMobile: true,
1252
- hasTouch: true,
1253
- isLandscape: true,
1254
- },
1255
- },
1256
- {
1257
- name: 'Pixel 2 XL',
1258
- userAgent: 'Mozilla/5.0 (Linux; Android 8.0.0; Pixel 2 XL Build/OPD1.170816.004) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3765.0 Mobile Safari/537.36',
1259
- viewport: {
1260
- width: 411,
1261
- height: 823,
1262
- deviceScaleFactor: 3.5,
1263
- isMobile: true,
1264
- hasTouch: true,
1265
- isLandscape: false,
1266
- },
1267
- },
1268
- {
1269
- name: 'Pixel 2 XL landscape',
1270
- userAgent: 'Mozilla/5.0 (Linux; Android 8.0.0; Pixel 2 XL Build/OPD1.170816.004) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3765.0 Mobile Safari/537.36',
1271
- viewport: {
1272
- width: 823,
1273
- height: 411,
1274
- deviceScaleFactor: 3.5,
1275
- isMobile: true,
1276
- hasTouch: true,
1277
- isLandscape: true,
1278
- },
1279
- },
1280
- {
1281
- name: 'Pixel 3',
1282
- userAgent: 'Mozilla/5.0 (Linux; Android 9; Pixel 3 Build/PQ1A.181105.017.A1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.158 Mobile Safari/537.36',
1283
- viewport: {
1284
- width: 393,
1285
- height: 786,
1286
- deviceScaleFactor: 2.75,
1287
- isMobile: true,
1288
- hasTouch: true,
1289
- isLandscape: false,
1290
- },
1291
- },
1292
- {
1293
- name: 'Pixel 3 landscape',
1294
- userAgent: 'Mozilla/5.0 (Linux; Android 9; Pixel 3 Build/PQ1A.181105.017.A1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.158 Mobile Safari/537.36',
1295
- viewport: {
1296
- width: 786,
1297
- height: 393,
1298
- deviceScaleFactor: 2.75,
1299
- isMobile: true,
1300
- hasTouch: true,
1301
- isLandscape: true,
1302
- },
1303
- },
1304
- {
1305
- name: 'Pixel 4',
1306
- userAgent: 'Mozilla/5.0 (Linux; Android 10; Pixel 4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Mobile Safari/537.36',
1307
- viewport: {
1308
- width: 353,
1309
- height: 745,
1310
- deviceScaleFactor: 3,
1311
- isMobile: true,
1312
- hasTouch: true,
1313
- isLandscape: false,
1314
- },
1315
- },
1316
- {
1317
- name: 'Pixel 4 landscape',
1318
- userAgent: 'Mozilla/5.0 (Linux; Android 10; Pixel 4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Mobile Safari/537.36',
1319
- viewport: {
1320
- width: 745,
1321
- height: 353,
1322
- deviceScaleFactor: 3,
1323
- isMobile: true,
1324
- hasTouch: true,
1325
- isLandscape: true,
1326
- },
1327
- },
1328
- {
1329
- name: 'Pixel 4a (5G)',
1330
- userAgent: 'Mozilla/5.0 (Linux; Android 11; Pixel 4a (5G)) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4812.0 Mobile Safari/537.36',
1331
- viewport: {
1332
- width: 353,
1333
- height: 745,
1334
- deviceScaleFactor: 3,
1335
- isMobile: true,
1336
- hasTouch: true,
1337
- isLandscape: false,
1338
- },
1339
- },
1340
- {
1341
- name: 'Pixel 4a (5G) landscape',
1342
- userAgent: 'Mozilla/5.0 (Linux; Android 11; Pixel 4a (5G)) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4812.0 Mobile Safari/537.36',
1343
- viewport: {
1344
- width: 745,
1345
- height: 353,
1346
- deviceScaleFactor: 3,
1347
- isMobile: true,
1348
- hasTouch: true,
1349
- isLandscape: true,
1350
- },
1351
- },
1352
- {
1353
- name: 'Pixel 5',
1354
- userAgent: 'Mozilla/5.0 (Linux; Android 11; Pixel 5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4812.0 Mobile Safari/537.36',
1355
- viewport: {
1356
- width: 393,
1357
- height: 851,
1358
- deviceScaleFactor: 3,
1359
- isMobile: true,
1360
- hasTouch: true,
1361
- isLandscape: false,
1362
- },
1363
- },
1364
- {
1365
- name: 'Pixel 5 landscape',
1366
- userAgent: 'Mozilla/5.0 (Linux; Android 11; Pixel 5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4812.0 Mobile Safari/537.36',
1367
- viewport: {
1368
- width: 851,
1369
- height: 393,
1370
- deviceScaleFactor: 3,
1371
- isMobile: true,
1372
- hasTouch: true,
1373
- isLandscape: true,
1374
- },
1375
- },
1376
- {
1377
- name: 'Moto G4',
1378
- userAgent: 'Mozilla/5.0 (Linux; Android 7.0; Moto G (4)) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4812.0 Mobile Safari/537.36',
1379
- viewport: {
1380
- width: 360,
1381
- height: 640,
1382
- deviceScaleFactor: 3,
1383
- isMobile: true,
1384
- hasTouch: true,
1385
- isLandscape: false,
1386
- },
1387
- },
1388
- {
1389
- name: 'Moto G4 landscape',
1390
- userAgent: 'Mozilla/5.0 (Linux; Android 7.0; Moto G (4)) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4812.0 Mobile Safari/537.36',
1391
- viewport: {
1392
- width: 640,
1393
- height: 360,
1394
- deviceScaleFactor: 3,
1395
- isMobile: true,
1396
- hasTouch: true,
1397
- isLandscape: true,
1398
- },
1399
- },
1400
- ];
1401
- /**
1402
- * @internal
1403
- */
1404
- exports._devicesMap = {};
1405
- for (const device of devices) {
1406
- exports._devicesMap[device.name] = device;
1407
- }