@browserless.io/browserless 2.2.0-beta-8 → 2.2.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 (1316) hide show
  1. package/CHANGELOG.md +21 -2
  2. package/bin/browserless.js +1 -1
  3. package/bin/scaffold/README.md +8 -7
  4. package/build/browserless.js +7 -6
  5. package/build/browsers/chrome.cdp.d.ts +6 -0
  6. package/build/browsers/chrome.cdp.js +6 -0
  7. package/build/browsers/chrome.playwright.d.ts +6 -0
  8. package/build/browsers/chrome.playwright.js +6 -0
  9. package/build/browsers/{cdp-chromium.d.ts → chromium.cdp.d.ts} +3 -2
  10. package/build/browsers/{cdp-chromium.js → chromium.cdp.js} +16 -10
  11. package/build/browsers/{playwright-chromium.d.ts → chromium.playwright.d.ts} +3 -2
  12. package/build/browsers/{playwright-chromium.js → chromium.playwright.js} +6 -5
  13. package/build/browsers/{playwright-firefox.d.ts → firefox.playwright.d.ts} +2 -2
  14. package/build/browsers/{playwright-firefox.js → firefox.playwright.js} +4 -4
  15. package/build/browsers/index.d.ts +20 -10
  16. package/build/browsers/index.js +110 -11
  17. package/build/browsers/{playwright-webkit.d.ts → webkit.playwright.d.ts} +2 -2
  18. package/build/browsers/{playwright-webkit.js → webkit.playwright.js} +4 -4
  19. package/build/data/selectors.json +1 -1
  20. package/build/exports.d.ts +6 -4
  21. package/build/exports.js +6 -4
  22. package/build/hooks.d.ts +4 -5
  23. package/build/hooks.js +4 -6
  24. package/build/http.d.ts +22 -1
  25. package/build/http.js +21 -0
  26. package/build/router.js +19 -3
  27. package/build/routes/{chromium/http/content-post.body.json → chrome/http/content.post.body.json} +8 -8
  28. package/build/routes/chrome/http/content.post.d.ts +7 -0
  29. package/build/routes/chrome/http/content.post.js +6 -0
  30. package/build/routes/chrome/http/download.post.d.ts +7 -0
  31. package/build/routes/chrome/http/download.post.js +6 -0
  32. package/build/routes/chrome/http/function.post.d.ts +7 -0
  33. package/build/routes/chrome/http/function.post.js +6 -0
  34. package/build/routes/chrome/http/json-list.get.d.ts +1 -0
  35. package/build/routes/chrome/http/json-list.get.js +1 -0
  36. package/build/routes/chrome/http/json-new.put.d.ts +1 -0
  37. package/build/routes/chrome/http/json-new.put.js +1 -0
  38. package/build/routes/chrome/http/json-protocol.get.d.ts +1 -0
  39. package/build/routes/chrome/http/json-protocol.get.js +1 -0
  40. package/build/routes/chrome/http/json-version.get.d.ts +1 -0
  41. package/build/routes/chrome/http/json-version.get.js +1 -0
  42. package/build/routes/chrome/http/json-version.get.response.json +44 -0
  43. package/build/routes/{chromium/http/pdf-post.body.json → chrome/http/pdf.post.body.json} +8 -8
  44. package/build/routes/chrome/http/pdf.post.d.ts +7 -0
  45. package/build/routes/chrome/http/pdf.post.js +6 -0
  46. package/build/routes/chrome/http/performance.post.d.ts +7 -0
  47. package/build/routes/chrome/http/performance.post.js +6 -0
  48. package/build/routes/{chromium/http/scrape-post.body.json → chrome/http/scrape.post.body.json} +8 -8
  49. package/build/routes/chrome/http/scrape.post.d.ts +7 -0
  50. package/build/routes/chrome/http/scrape.post.js +6 -0
  51. package/build/routes/{chromium/http/screenshot-post.body.json → chrome/http/screenshot.post.body.json} +8 -8
  52. package/build/routes/chrome/http/screenshot.post.d.ts +7 -0
  53. package/build/routes/chrome/http/screenshot.post.js +6 -0
  54. package/build/routes/chrome/tests/content.spec.js +311 -0
  55. package/build/routes/chrome/tests/download.spec.js +67 -0
  56. package/build/routes/chrome/tests/function.spec.d.ts +1 -0
  57. package/build/routes/chrome/tests/function.spec.js +245 -0
  58. package/build/routes/chrome/tests/json-version.spec.d.ts +1 -0
  59. package/build/routes/chrome/tests/json-version.spec.js +37 -0
  60. package/build/routes/chrome/tests/page-websocket.spec.d.ts +1 -0
  61. package/build/routes/chrome/tests/page-websocket.spec.js +97 -0
  62. package/build/routes/chrome/tests/pdf.spec.d.ts +1 -0
  63. package/build/routes/chrome/tests/pdf.spec.js +333 -0
  64. package/build/routes/chrome/tests/performance.spec.d.ts +1 -0
  65. package/build/routes/chrome/tests/performance.spec.js +124 -0
  66. package/build/routes/chrome/tests/scrape.spec.d.ts +1 -0
  67. package/build/routes/chrome/tests/scrape.spec.js +354 -0
  68. package/build/routes/chrome/tests/screenshot.spec.d.ts +1 -0
  69. package/build/routes/chrome/tests/screenshot.spec.js +339 -0
  70. package/build/routes/chrome/tests/websocket.spec.d.ts +1 -0
  71. package/build/routes/chrome/tests/websocket.spec.js +371 -0
  72. package/build/routes/chrome/ws/browser.d.ts +6 -0
  73. package/build/routes/chrome/ws/browser.js +5 -0
  74. package/build/routes/chrome/ws/cdp.d.ts +7 -0
  75. package/build/routes/chrome/ws/cdp.js +6 -0
  76. package/build/routes/chrome/ws/cdp.query.json +120 -0
  77. package/build/routes/chrome/ws/page.d.ts +6 -0
  78. package/build/routes/chrome/ws/page.js +5 -0
  79. package/build/routes/chrome/ws/page.query.json +120 -0
  80. package/build/routes/chrome/ws/playwright.d.ts +7 -0
  81. package/build/routes/chrome/ws/playwright.js +6 -0
  82. package/build/routes/chromium/http/content.post.body.json +510 -0
  83. package/build/routes/chromium/http/content.post.d.ts +1 -0
  84. package/build/routes/chromium/http/content.post.js +1 -0
  85. package/build/routes/chromium/http/content.post.query.json +183 -0
  86. package/build/routes/chromium/http/content.post.response.json +5 -0
  87. package/build/routes/chromium/http/download.post.body.json +32 -0
  88. package/build/routes/chromium/http/download.post.d.ts +1 -0
  89. package/build/routes/chromium/http/download.post.js +1 -0
  90. package/build/routes/chromium/http/download.post.query.json +120 -0
  91. package/build/routes/chromium/http/download.post.response.json +4 -0
  92. package/build/routes/chromium/http/function.post.body.json +32 -0
  93. package/build/routes/chromium/http/function.post.d.ts +1 -0
  94. package/build/routes/chromium/http/function.post.js +1 -0
  95. package/build/routes/chromium/http/function.post.query.json +120 -0
  96. package/build/routes/chromium/http/function.post.response.json +4 -0
  97. package/build/routes/chromium/http/json-list.get.d.ts +1 -0
  98. package/build/routes/chromium/http/json-list.get.js +1 -0
  99. package/build/routes/chromium/http/json-list.get.response.json +52 -0
  100. package/build/routes/chromium/http/json-new.put.d.ts +1 -0
  101. package/build/routes/chromium/http/json-new.put.js +1 -0
  102. package/build/routes/chromium/http/json-new.put.response.json +44 -0
  103. package/build/routes/chromium/http/json-protocol.get.d.ts +1 -0
  104. package/build/routes/chromium/http/json-protocol.get.js +1 -0
  105. package/build/routes/chromium/http/json-protocol.get.response.json +6 -0
  106. package/build/routes/chromium/http/json-version.get.d.ts +1 -0
  107. package/build/routes/chromium/http/json-version.get.js +1 -0
  108. package/build/routes/chromium/http/json-version.get.response.json +44 -0
  109. package/build/routes/chromium/http/pdf.post.body.json +654 -0
  110. package/build/routes/chromium/http/pdf.post.d.ts +1 -0
  111. package/build/routes/chromium/http/pdf.post.js +1 -0
  112. package/build/routes/chromium/http/pdf.post.query.json +120 -0
  113. package/build/routes/chromium/http/pdf.post.response.json +5 -0
  114. package/build/routes/chromium/http/performance.post.body.json +26 -0
  115. package/build/routes/chromium/http/performance.post.d.ts +1 -0
  116. package/build/routes/chromium/http/performance.post.js +1 -0
  117. package/build/routes/chromium/http/performance.post.query.json +120 -0
  118. package/build/routes/chromium/http/performance.post.response.json +7 -0
  119. package/build/routes/chromium/http/scrape.post.body.json +557 -0
  120. package/build/routes/chromium/http/scrape.post.d.ts +1 -0
  121. package/build/routes/chromium/http/scrape.post.js +1 -0
  122. package/build/routes/chromium/http/scrape.post.query.json +183 -0
  123. package/build/routes/chromium/http/scrape.post.response.json +309 -0
  124. package/build/routes/chromium/http/screenshot.post.body.json +600 -0
  125. package/build/routes/chromium/http/screenshot.post.d.ts +1 -0
  126. package/build/routes/chromium/http/screenshot.post.js +1 -0
  127. package/build/routes/chromium/http/screenshot.post.query.json +120 -0
  128. package/build/routes/chromium/http/screenshot.post.response.json +5 -0
  129. package/build/routes/chromium/tests/content.spec.js +16 -16
  130. package/build/routes/chromium/tests/download.spec.js +3 -3
  131. package/build/routes/chromium/tests/function.spec.js +10 -10
  132. package/build/routes/chromium/tests/page-websocket.spec.d.ts +1 -0
  133. package/build/routes/chromium/tests/page-websocket.spec.js +97 -0
  134. package/build/routes/chromium/tests/pdf.spec.js +16 -16
  135. package/build/routes/chromium/tests/performance.spec.js +7 -7
  136. package/build/routes/chromium/tests/scrape.spec.js +15 -15
  137. package/build/routes/chromium/tests/screenshot.spec.js +17 -17
  138. package/build/routes/chromium/tests/websocket.spec.js +31 -37
  139. package/build/routes/chromium/ws/browser.d.ts +1 -16
  140. package/build/routes/chromium/ws/browser.js +1 -10
  141. package/build/routes/chromium/ws/cdp.d.ts +1 -0
  142. package/build/routes/chromium/ws/cdp.js +1 -0
  143. package/build/routes/chromium/ws/cdp.query.json +120 -0
  144. package/build/routes/chromium/ws/page.d.ts +1 -16
  145. package/build/routes/chromium/ws/page.js +1 -10
  146. package/build/routes/chromium/ws/playwright.d.ts +1 -0
  147. package/build/routes/chromium/ws/playwright.js +1 -0
  148. package/build/routes/firefox/ws/{playwright-firefox.d.ts → playwright.d.ts} +5 -5
  149. package/build/routes/firefox/ws/{playwright-firefox.js → playwright.js} +4 -4
  150. package/build/routes/management/http/{sessions-get.response.json → sessions.get.response.json} +11 -1
  151. package/build/routes/management/http/{static-get.js → static.get.js} +2 -2
  152. package/build/routes/webkit/ws/{playwright-webkit.d.ts → playwright.d.ts} +5 -5
  153. package/build/routes/webkit/ws/{playwright-webkit.js → playwright.js} +4 -4
  154. package/build/routes/webkit/ws/playwright.query.json +100 -0
  155. package/build/{routes/chromium/ws/cdp-chromium.d.ts → shared/browser.ws.d.ts} +4 -4
  156. package/build/shared/browser.ws.js +12 -0
  157. package/build/{routes/chromium/ws/playwright-chromium.d.ts → shared/chromium.playwright.ws.d.ts} +4 -4
  158. package/build/{routes/chromium/ws/playwright-chromium.js → shared/chromium.playwright.ws.js} +6 -3
  159. package/build/shared/chromium.ws.d.ts +16 -0
  160. package/build/shared/chromium.ws.js +10 -0
  161. package/build/{routes/chromium/http/content-post.d.ts → shared/content.http.d.ts} +3 -3
  162. package/build/{routes/chromium/http/content-post.js → shared/content.http.js} +3 -3
  163. package/build/{routes/chromium/http/download-post.d.ts → shared/download.http.d.ts} +3 -3
  164. package/build/{routes/chromium/http/download-post.js → shared/download.http.js} +4 -4
  165. package/build/{routes/chromium/http/function-post.d.ts → shared/function.http.d.ts} +3 -3
  166. package/build/{routes/chromium/http/function-post.js → shared/function.http.js} +4 -4
  167. package/build/{routes/chromium/http/json-new.d.ts → shared/json-list.http.d.ts} +2 -3
  168. package/build/{routes/chromium/http/json-list.js → shared/json-list.http.js} +5 -8
  169. package/build/{routes/chromium/http/json-list.d.ts → shared/json-new.http.d.ts} +2 -3
  170. package/build/shared/json-new.http.js +34 -0
  171. package/build/{routes/chromium/http/json-protocol-get.js → shared/json-protocol.http.js} +2 -2
  172. package/build/{routes/chromium/http/json-version-get.js → shared/json-version.http.js} +3 -3
  173. package/build/shared/page.ws.d.ts +16 -0
  174. package/build/shared/page.ws.js +13 -0
  175. package/build/{routes/chromium/http/pdf-post.d.ts → shared/pdf.http.d.ts} +3 -3
  176. package/build/{routes/chromium/http/pdf-post.js → shared/pdf.http.js} +3 -3
  177. package/build/{routes/chromium/http/performance.d.ts → shared/performance.http.d.ts} +3 -3
  178. package/build/{routes/chromium/http/performance.js → shared/performance.http.js} +4 -4
  179. package/build/{routes/chromium/http/scrape-post.d.ts → shared/scrape.http.d.ts} +3 -3
  180. package/build/{routes/chromium/http/scrape-post.js → shared/scrape.http.js} +3 -3
  181. package/build/{routes/chromium/http/screenshot-post.d.ts → shared/screenshot.http.d.ts} +3 -3
  182. package/build/{routes/chromium/http/screenshot-post.js → shared/screenshot.http.js} +3 -3
  183. package/build/shared/utils/performance/child.d.ts +1 -0
  184. package/build/{routes/chromium → shared}/utils/performance/main.js +1 -1
  185. package/build/shared/utils/performance/types.js +1 -0
  186. package/build/shim.js +2 -1
  187. package/build/types.d.ts +10 -8
  188. package/build/utils.d.ts +8 -3
  189. package/build/utils.js +24 -11
  190. package/docker/base/Dockerfile +1 -1
  191. package/docker/chrome/Dockerfile +4 -4
  192. package/docker/chromium/.dockerignore +16 -0
  193. package/docker/chromium/Dockerfile +40 -0
  194. package/docker/firefox/Dockerfile +1 -1
  195. package/docker/multi/Dockerfile +13 -1
  196. package/docker/webkit/Dockerfile +1 -1
  197. package/extensions/ublock/3p-filters.html +1 -1
  198. package/extensions/ublock/_locales/ar/messages.json +4 -0
  199. package/extensions/ublock/_locales/az/messages.json +4 -0
  200. package/extensions/ublock/_locales/be/messages.json +4 -0
  201. package/extensions/ublock/_locales/bg/messages.json +5 -1
  202. package/extensions/ublock/_locales/bn/messages.json +4 -0
  203. package/extensions/ublock/_locales/br_FR/messages.json +6 -2
  204. package/extensions/ublock/_locales/bs/messages.json +4 -0
  205. package/extensions/ublock/_locales/ca/messages.json +4 -0
  206. package/extensions/ublock/_locales/cs/messages.json +4 -0
  207. package/extensions/ublock/_locales/cv/messages.json +4 -0
  208. package/extensions/ublock/_locales/cy/messages.json +1294 -0
  209. package/extensions/ublock/_locales/da/messages.json +4 -0
  210. package/extensions/ublock/_locales/de/messages.json +5 -1
  211. package/extensions/ublock/_locales/el/messages.json +4 -0
  212. package/extensions/ublock/_locales/en/messages.json +4 -0
  213. package/extensions/ublock/_locales/en_GB/messages.json +4 -0
  214. package/extensions/ublock/_locales/eo/messages.json +9 -5
  215. package/extensions/ublock/_locales/es/messages.json +4 -0
  216. package/extensions/ublock/_locales/et/messages.json +4 -0
  217. package/extensions/ublock/_locales/eu/messages.json +8 -4
  218. package/extensions/ublock/_locales/fa/messages.json +4 -0
  219. package/extensions/ublock/_locales/fi/messages.json +4 -0
  220. package/extensions/ublock/_locales/fil/messages.json +4 -0
  221. package/extensions/ublock/_locales/fr/messages.json +4 -0
  222. package/extensions/ublock/_locales/fy/messages.json +4 -0
  223. package/extensions/ublock/_locales/gl/messages.json +4 -0
  224. package/extensions/ublock/_locales/gu/messages.json +4 -0
  225. package/extensions/ublock/_locales/he/messages.json +4 -0
  226. package/extensions/ublock/_locales/hi/messages.json +4 -0
  227. package/extensions/ublock/_locales/hr/messages.json +4 -0
  228. package/extensions/ublock/_locales/hu/messages.json +4 -0
  229. package/extensions/ublock/_locales/hy/messages.json +4 -0
  230. package/extensions/ublock/_locales/id/messages.json +5 -1
  231. package/extensions/ublock/_locales/it/messages.json +4 -0
  232. package/extensions/ublock/_locales/ja/messages.json +4 -0
  233. package/extensions/ublock/_locales/ka/messages.json +34 -30
  234. package/extensions/ublock/_locales/kk/messages.json +4 -0
  235. package/extensions/ublock/_locales/kn/messages.json +4 -0
  236. package/extensions/ublock/_locales/ko/messages.json +4 -0
  237. package/extensions/ublock/_locales/ku/messages.json +4 -0
  238. package/extensions/ublock/_locales/lt/messages.json +4 -0
  239. package/extensions/ublock/_locales/lv/messages.json +4 -0
  240. package/extensions/ublock/_locales/mk/messages.json +4 -0
  241. package/extensions/ublock/_locales/ml/messages.json +4 -0
  242. package/extensions/ublock/_locales/mr/messages.json +4 -0
  243. package/extensions/ublock/_locales/ms/messages.json +13 -9
  244. package/extensions/ublock/_locales/nb/messages.json +4 -0
  245. package/extensions/ublock/_locales/nl/messages.json +4 -0
  246. package/extensions/ublock/_locales/no/messages.json +4 -0
  247. package/extensions/ublock/_locales/oc/messages.json +4 -0
  248. package/extensions/ublock/_locales/pa/messages.json +4 -0
  249. package/extensions/ublock/_locales/pl/messages.json +5 -1
  250. package/extensions/ublock/_locales/pt_BR/messages.json +4 -0
  251. package/extensions/ublock/_locales/pt_PT/messages.json +4 -0
  252. package/extensions/ublock/_locales/ro/messages.json +5 -1
  253. package/extensions/ublock/_locales/ru/messages.json +4 -0
  254. package/extensions/ublock/_locales/si/messages.json +4 -0
  255. package/extensions/ublock/_locales/sk/messages.json +4 -0
  256. package/extensions/ublock/_locales/sl/messages.json +4 -0
  257. package/extensions/ublock/_locales/so/messages.json +4 -0
  258. package/extensions/ublock/_locales/sq/messages.json +4 -0
  259. package/extensions/ublock/_locales/sr/messages.json +4 -0
  260. package/extensions/ublock/_locales/sv/messages.json +4 -0
  261. package/extensions/ublock/_locales/sw/messages.json +4 -0
  262. package/extensions/ublock/_locales/ta/messages.json +4 -0
  263. package/extensions/ublock/_locales/te/messages.json +4 -0
  264. package/extensions/ublock/_locales/th/messages.json +12 -8
  265. package/extensions/ublock/_locales/tr/messages.json +4 -0
  266. package/extensions/ublock/_locales/uk/messages.json +4 -0
  267. package/extensions/ublock/_locales/ur/messages.json +4 -0
  268. package/extensions/ublock/_locales/vi/messages.json +4 -0
  269. package/extensions/ublock/_locales/zh_CN/messages.json +6 -2
  270. package/extensions/ublock/_locales/zh_TW/messages.json +6 -2
  271. package/extensions/ublock/assets/assets.json +11 -11
  272. package/extensions/ublock/assets/resources/scriptlets.js +660 -378
  273. package/extensions/ublock/assets/thirdparties/easylist/easylist.txt +7173 -3455
  274. package/extensions/ublock/assets/thirdparties/easylist/easyprivacy.txt +18829 -1918
  275. package/extensions/ublock/assets/thirdparties/pgl.yoyo.org/as/serverlist +21 -26
  276. package/extensions/ublock/assets/thirdparties/publicsuffix.org/list/effective_tld_names.dat +118 -46
  277. package/extensions/ublock/assets/thirdparties/urlhaus-filter/urlhaus-filter-online.txt +710 -1117
  278. package/extensions/ublock/assets/ublock/badlists.txt +0 -4
  279. package/extensions/ublock/assets/ublock/badware.min.txt +116 -105
  280. package/extensions/ublock/assets/ublock/filters.min.txt +1443 -1097
  281. package/extensions/ublock/assets/ublock/privacy.min.txt +50 -31
  282. package/extensions/ublock/assets/ublock/quick-fixes.min.txt +97 -108
  283. package/extensions/ublock/assets/ublock/unbreak.min.txt +64 -21
  284. package/extensions/ublock/css/1p-filters.css +4 -0
  285. package/extensions/ublock/css/3p-filters.css +6 -4
  286. package/extensions/ublock/css/common.css +1 -1
  287. package/extensions/ublock/css/fa-icons.css +1 -0
  288. package/extensions/ublock/css/logger-ui.css +72 -52
  289. package/extensions/ublock/css/popup-fenix.css +1 -1
  290. package/extensions/ublock/img/fontawesome/fontawesome-defs.svg +1 -0
  291. package/extensions/ublock/js/3p-filters.js +3 -3
  292. package/extensions/ublock/js/assets.js +7 -4
  293. package/extensions/ublock/js/background.js +1 -3
  294. package/extensions/ublock/js/benchmarks.js +1 -0
  295. package/extensions/ublock/js/broadcast.js +12 -0
  296. package/extensions/ublock/js/click2load.js +2 -3
  297. package/extensions/ublock/js/codemirror/ubo-static-filtering.js +1 -0
  298. package/extensions/ublock/js/commands.js +10 -0
  299. package/extensions/ublock/js/contentscript-extra.js +13 -11
  300. package/extensions/ublock/js/contentscript.js +0 -31
  301. package/extensions/ublock/js/contextmenu.js +5 -1
  302. package/extensions/ublock/js/dyna-rules.js +83 -52
  303. package/extensions/ublock/js/fa-icons.js +1 -0
  304. package/extensions/ublock/js/filtering-context.js +0 -2
  305. package/extensions/ublock/js/i18n.js +1 -5
  306. package/extensions/ublock/js/logger-ui.js +71 -38
  307. package/extensions/ublock/js/logger.js +18 -14
  308. package/extensions/ublock/js/messaging.js +17 -5
  309. package/extensions/ublock/js/popup-fenix.js +6 -6
  310. package/extensions/ublock/js/scriptlet-filtering-core.js +14 -12
  311. package/extensions/ublock/js/scriptlet-filtering.js +149 -53
  312. package/extensions/ublock/js/scriptlets/scriptlet-loglevel-1.js +49 -0
  313. package/extensions/ublock/js/scriptlets/scriptlet-loglevel-2.js +49 -0
  314. package/extensions/ublock/js/scriptlets/should-inject-contentscript.js +1 -1
  315. package/extensions/ublock/js/static-dnr-filtering.js +4 -2
  316. package/extensions/ublock/js/static-filtering-parser.js +14 -8
  317. package/extensions/ublock/js/static-net-filtering.js +32 -30
  318. package/extensions/ublock/js/storage.js +18 -4
  319. package/extensions/ublock/js/traffic.js +3 -3
  320. package/extensions/ublock/js/ublock.js +1 -1
  321. package/extensions/ublock/js/vapi-background.js +15 -7
  322. package/extensions/ublock/logger-ui.html +18 -10
  323. package/extensions/ublock/manifest.json +4 -1
  324. package/extensions/ublock/web_accessible_resources/chartbeat.js +3 -0
  325. package/package.json +12 -11
  326. package/scripts/build-function.js +1 -1
  327. package/scripts/build-open-api.js +3 -2
  328. package/scripts/clean.js +6 -1
  329. package/scripts/install-debugger.js +20 -0
  330. package/scripts/install-devtools.js +40 -0
  331. package/src/browserless.ts +11 -9
  332. package/src/browsers/chrome.cdp.ts +10 -0
  333. package/src/browsers/chrome.playwright.ts +10 -0
  334. package/src/browsers/{cdp-chromium.ts → chromium.cdp.ts} +20 -13
  335. package/src/browsers/{playwright-chromium.ts → chromium.playwright.ts} +7 -6
  336. package/src/browsers/{playwright-firefox.ts → firefox.playwright.ts} +5 -5
  337. package/src/browsers/index.ts +160 -23
  338. package/src/browsers/{playwright-webkit.ts → webkit.playwright.ts} +5 -5
  339. package/src/exports.ts +6 -4
  340. package/src/hooks.ts +4 -12
  341. package/src/http.ts +21 -0
  342. package/src/router.ts +21 -5
  343. package/src/routes/chrome/http/content.post.ts +14 -0
  344. package/src/routes/chrome/http/download.post.ts +14 -0
  345. package/src/routes/chrome/http/function.post.ts +14 -0
  346. package/src/routes/chrome/http/json-list.get.ts +1 -0
  347. package/src/routes/chrome/http/json-new.put.ts +1 -0
  348. package/src/routes/chrome/http/json-protocol.get.ts +1 -0
  349. package/src/routes/chrome/http/json-version.get.ts +1 -0
  350. package/src/routes/chrome/http/pdf.post.ts +14 -0
  351. package/src/routes/chrome/http/performance.post.ts +14 -0
  352. package/src/routes/chrome/http/scrape.post.ts +14 -0
  353. package/src/routes/chrome/http/screenshot.post.ts +14 -0
  354. package/src/routes/chrome/tests/content.spec.ts +375 -0
  355. package/src/routes/chrome/tests/download.spec.ts +77 -0
  356. package/src/routes/chrome/tests/function.spec.ts +282 -0
  357. package/src/routes/chrome/tests/json-version.spec.ts +52 -0
  358. package/src/routes/chrome/tests/page-websocket.spec.ts +129 -0
  359. package/src/routes/chrome/tests/pdf.spec.ts +380 -0
  360. package/src/routes/chrome/tests/performance.spec.ts +155 -0
  361. package/src/routes/chrome/tests/scrape.spec.ts +417 -0
  362. package/src/routes/chrome/tests/screenshot.spec.ts +387 -0
  363. package/src/routes/chrome/tests/websocket.spec.ts +491 -0
  364. package/src/routes/chrome/ws/browser.ts +8 -0
  365. package/src/routes/chrome/ws/cdp.ts +12 -0
  366. package/src/routes/chrome/ws/page.ts +8 -0
  367. package/src/routes/chrome/ws/playwright.ts +12 -0
  368. package/src/routes/chromium/http/content.post.ts +6 -0
  369. package/src/routes/chromium/http/download.post.ts +6 -0
  370. package/src/routes/chromium/http/function.post.ts +6 -0
  371. package/src/routes/chromium/http/json-list.get.ts +1 -0
  372. package/src/routes/chromium/http/json-new.put.ts +1 -0
  373. package/src/routes/chromium/http/json-protocol.get.ts +1 -0
  374. package/src/routes/chromium/http/json-version.get.ts +1 -0
  375. package/src/routes/chromium/http/pdf.post.ts +6 -0
  376. package/src/routes/chromium/http/performance.post.ts +6 -0
  377. package/src/routes/chromium/http/scrape.post.ts +6 -0
  378. package/src/routes/chromium/http/screenshot.post.ts +6 -0
  379. package/src/routes/chromium/tests/content.spec.ts +36 -28
  380. package/src/routes/chromium/tests/download.spec.ts +3 -3
  381. package/src/routes/chromium/tests/function.spec.ts +18 -15
  382. package/src/routes/chromium/tests/page-websocket.spec.ts +129 -0
  383. package/src/routes/chromium/tests/pdf.spec.ts +31 -26
  384. package/src/routes/chromium/tests/performance.spec.ts +46 -34
  385. package/src/routes/chromium/tests/scrape.spec.ts +23 -20
  386. package/src/routes/chromium/tests/screenshot.spec.ts +24 -24
  387. package/src/routes/chromium/tests/websocket.spec.ts +31 -40
  388. package/src/routes/chromium/ws/browser.ts +1 -29
  389. package/src/routes/chromium/ws/cdp.ts +1 -0
  390. package/src/routes/chromium/ws/page.ts +1 -29
  391. package/src/routes/chromium/ws/playwright.ts +4 -0
  392. package/src/routes/firefox/ws/{playwright-firefox.ts → playwright.ts} +5 -5
  393. package/src/routes/management/http/{static-get.ts → static.get.ts} +2 -2
  394. package/src/routes/webkit/ws/{playwright-webkit.ts → playwright.ts} +5 -5
  395. package/src/shared/browser.ws.ts +34 -0
  396. package/src/{routes/chromium/ws/playwright-chromium.ts → shared/chromium.playwright.ws.ts} +7 -4
  397. package/src/{routes/chromium/ws/cdp-chromium.ts → shared/chromium.ws.ts} +6 -6
  398. package/src/{routes/chromium/http/content-post.ts → shared/content.http.ts} +4 -4
  399. package/src/{routes/chromium/http/download-post.ts → shared/download.http.ts} +4 -4
  400. package/src/{routes/chromium/http/function-post.ts → shared/function.http.ts} +4 -4
  401. package/src/shared/json-list.http.ts +35 -0
  402. package/src/{routes/chromium/http/json-new.ts → shared/json-new.http.ts} +23 -7
  403. package/src/{routes/chromium/http/json-protocol-get.ts → shared/json-protocol.http.ts} +3 -5
  404. package/src/{routes/chromium/http/json-version-get.ts → shared/json-version.http.ts} +4 -5
  405. package/src/shared/page.ws.ts +35 -0
  406. package/src/{routes/chromium/http/pdf-post.ts → shared/pdf.http.ts} +4 -4
  407. package/src/{routes/chromium/http/performance.ts → shared/performance.http.ts} +4 -4
  408. package/src/{routes/chromium/http/scrape-post.ts → shared/scrape.http.ts} +4 -4
  409. package/src/{routes/chromium/http/screenshot-post.ts → shared/screenshot.http.ts} +4 -4
  410. package/src/{routes/chromium → shared}/utils/function/handler.ts +2 -2
  411. package/src/{routes/chromium → shared}/utils/performance/main.ts +1 -2
  412. package/src/shim.ts +2 -1
  413. package/src/types.ts +27 -20
  414. package/src/utils.ts +32 -14
  415. package/static/devtools/Images/accelerometer-back.svg +1 -0
  416. package/static/devtools/Images/accelerometer-bottom.png +0 -0
  417. package/static/devtools/Images/accelerometer-front.svg +1 -0
  418. package/static/devtools/Images/accelerometer-left.png +0 -0
  419. package/static/devtools/Images/accelerometer-right.png +0 -0
  420. package/static/devtools/Images/accelerometer-top.png +0 -0
  421. package/static/devtools/Images/baseline-icon.svg +1 -0
  422. package/static/devtools/Images/breaking_change_icon.svg +1 -0
  423. package/static/devtools/Images/checkboxCheckmark.svg +1 -0
  424. package/static/devtools/Images/checker.png +0 -0
  425. package/static/devtools/Images/chevrons.svg +1 -0
  426. package/static/devtools/Images/chromeDisabledSelect.png +0 -0
  427. package/static/devtools/Images/chromeDisabledSelect_2x.png +0 -0
  428. package/static/devtools/Images/chromeLeft.avif +0 -0
  429. package/static/devtools/Images/chromeMiddle.avif +0 -0
  430. package/static/devtools/Images/chromeRight.avif +0 -0
  431. package/static/devtools/Images/chromeSelect.svg +1 -0
  432. package/static/devtools/Images/chromeSelectDark.svg +1 -0
  433. package/static/devtools/Images/cssoverview_icons_2x.avif +0 -0
  434. package/static/devtools/Images/dropdown_7x6_icon.svg +1 -0
  435. package/static/devtools/Images/elements_panel_icon.svg +1 -0
  436. package/static/devtools/Images/errorWave.svg +1 -0
  437. package/static/devtools/Images/error_icon.svg +1 -0
  438. package/static/devtools/Images/feedback_thin_16x16_icon.svg +1 -0
  439. package/static/devtools/Images/flex-align-content-center-icon.svg +1 -0
  440. package/static/devtools/Images/flex-align-content-end-icon.svg +1 -0
  441. package/static/devtools/Images/flex-align-content-space-around-icon.svg +1 -0
  442. package/static/devtools/Images/flex-align-content-space-between-icon.svg +1 -0
  443. package/static/devtools/Images/flex-align-content-space-evenly-icon.svg +1 -0
  444. package/static/devtools/Images/flex-align-content-start-icon.svg +1 -0
  445. package/static/devtools/Images/flex-align-content-stretch-icon.svg +1 -0
  446. package/static/devtools/Images/flex-align-items-center-icon.svg +1 -0
  447. package/static/devtools/Images/flex-align-items-flex-end-icon.svg +1 -0
  448. package/static/devtools/Images/flex-align-items-flex-start-icon.svg +1 -0
  449. package/static/devtools/Images/flex-align-items-stretch-icon.svg +1 -0
  450. package/static/devtools/Images/flex-align-self-center-icon.svg +1 -0
  451. package/static/devtools/Images/flex-align-self-flex-end-icon.svg +1 -0
  452. package/static/devtools/Images/flex-align-self-flex-start-icon.svg +1 -0
  453. package/static/devtools/Images/flex-align-self-stretch-icon.svg +1 -0
  454. package/static/devtools/Images/flex-direction-icon.svg +1 -0
  455. package/static/devtools/Images/flex-justify-content-center-icon.svg +1 -0
  456. package/static/devtools/Images/flex-justify-content-flex-end-icon.svg +1 -0
  457. package/static/devtools/Images/flex-justify-content-flex-start-icon.svg +1 -0
  458. package/static/devtools/Images/flex-justify-content-space-around-icon.svg +1 -0
  459. package/static/devtools/Images/flex-justify-content-space-between-icon.svg +1 -0
  460. package/static/devtools/Images/flex-justify-content-space-evenly-icon.svg +1 -0
  461. package/static/devtools/Images/ic_checkmark_16x16.svg +3 -0
  462. package/static/devtools/Images/ic_delete_filter.svg +1 -0
  463. package/static/devtools/Images/ic_delete_list.svg +1 -0
  464. package/static/devtools/Images/ic_info_black_18dp.svg +1 -0
  465. package/static/devtools/Images/ic_page_next_16x16_icon.svg +1 -0
  466. package/static/devtools/Images/ic_page_prev_16x16_icon.svg +1 -0
  467. package/static/devtools/Images/ic_redo_16x16_icon.svg +1 -0
  468. package/static/devtools/Images/ic_show_node_16x16.svg +4 -0
  469. package/static/devtools/Images/ic_suggest_color.svg +6 -0
  470. package/static/devtools/Images/ic_undo_16x16_icon.svg +1 -0
  471. package/static/devtools/Images/ic_warning_black_18dp.svg +1 -0
  472. package/static/devtools/Images/issue-text-icon.svg +1 -0
  473. package/static/devtools/Images/largeIcons.svg +1 -0
  474. package/static/devtools/Images/lighthouse_logo.svg +1 -0
  475. package/static/devtools/Images/link_icon.svg +1 -0
  476. package/static/devtools/Images/mediumIcons.svg +1 -0
  477. package/static/devtools/Images/navigationControls.png +0 -0
  478. package/static/devtools/Images/navigationControls_2x.png +0 -0
  479. package/static/devtools/Images/network_panel_icon.svg +1 -0
  480. package/static/devtools/Images/nodeIcon.avif +0 -0
  481. package/static/devtools/Images/node_search_icon.svg +1 -0
  482. package/static/devtools/Images/popoverArrows.png +0 -0
  483. package/static/devtools/Images/profileGroupIcon.png +0 -0
  484. package/static/devtools/Images/profileIcon.png +0 -0
  485. package/static/devtools/Images/profileSmallIcon.png +0 -0
  486. package/static/devtools/Images/radioDot-dark-theme.png +0 -0
  487. package/static/devtools/Images/radioDot.png +0 -0
  488. package/static/devtools/Images/refresh_12x12_icon.svg +1 -0
  489. package/static/devtools/Images/resizeDiagonal.svg +1 -0
  490. package/static/devtools/Images/resizeHorizontal.svg +1 -0
  491. package/static/devtools/Images/resizeVertical.svg +1 -0
  492. package/static/devtools/Images/resourceCSSIcon.png +0 -0
  493. package/static/devtools/Images/resourceDocumentIcon.png +0 -0
  494. package/static/devtools/Images/resourceDocumentIconSmall.png +0 -0
  495. package/static/devtools/Images/resourceJSIcon.png +0 -0
  496. package/static/devtools/Images/resourcePlainIcon.png +0 -0
  497. package/static/devtools/Images/resourcePlainIconSmall.png +0 -0
  498. package/static/devtools/Images/resourcesTimeGraphIcon.avif +0 -0
  499. package/static/devtools/Images/searchNext.png +0 -0
  500. package/static/devtools/Images/searchPrev.png +0 -0
  501. package/static/devtools/Images/securityIcons.svg +1 -0
  502. package/static/devtools/Images/settings_14x14_icon.svg +1 -0
  503. package/static/devtools/Images/smallIcons.svg +1 -0
  504. package/static/devtools/Images/sources_panel_icon.svg +1 -0
  505. package/static/devtools/Images/speech.png +0 -0
  506. package/static/devtools/Images/toolbarResizerVertical.png +0 -0
  507. package/static/devtools/Images/touchCursor.png +0 -0
  508. package/static/devtools/Images/touchCursor_2x.png +0 -0
  509. package/static/devtools/Images/treeoutlineTriangles.svg +1 -0
  510. package/static/devtools/Images/warning_icon.svg +1 -0
  511. package/static/devtools/Images/whatsnew.avif +0 -0
  512. package/static/devtools/Tests.js +1654 -0
  513. package/static/devtools/accessibility/accessibility-legacy.js +1 -0
  514. package/static/devtools/accessibility/accessibility-meta.js +1 -0
  515. package/static/devtools/accessibility/accessibility.js +1 -0
  516. package/static/devtools/accessibility/accessibility_module.js +1 -0
  517. package/static/devtools/accessibility_test_runner/accessibility_test_runner.js +77 -0
  518. package/static/devtools/accessibility_test_runner/accessibility_test_runner_module.js +0 -0
  519. package/static/devtools/animation/animation-legacy.js +1 -0
  520. package/static/devtools/animation/animation-meta.js +1 -0
  521. package/static/devtools/animation/animation.js +1 -0
  522. package/static/devtools/animation/animation_module.js +1 -0
  523. package/static/devtools/application_test_runner/AppcacheTestRunner.js +220 -0
  524. package/static/devtools/application_test_runner/CacheStorageTestRunner.js +286 -0
  525. package/static/devtools/application_test_runner/IndexedDBTestRunner.js +476 -0
  526. package/static/devtools/application_test_runner/ResourceTreeTestRunner.js +99 -0
  527. package/static/devtools/application_test_runner/ResourcesTestRunner.js +167 -0
  528. package/static/devtools/application_test_runner/ServiceWorkersTestRunner.js +131 -0
  529. package/static/devtools/application_test_runner/application_test_runner.js +10 -0
  530. package/static/devtools/application_test_runner/application_test_runner_module.js +0 -0
  531. package/static/devtools/axe_core_test_runner/axe_core_test_runner.js +174 -0
  532. package/static/devtools/axe_core_test_runner/axe_core_test_runner_module.js +0 -0
  533. package/static/devtools/bindings/bindings-legacy.js +1 -0
  534. package/static/devtools/bindings/bindings.js +1 -0
  535. package/static/devtools/bindings_test_runner/AutomappingTestRunner.js +130 -0
  536. package/static/devtools/bindings_test_runner/BindingsTestRunner.js +238 -0
  537. package/static/devtools/bindings_test_runner/IsolatedFilesystemTestRunner.js +287 -0
  538. package/static/devtools/bindings_test_runner/OverridesTestRunner.js +26 -0
  539. package/static/devtools/bindings_test_runner/PersistenceTestRunner.js +109 -0
  540. package/static/devtools/bindings_test_runner/bindings_test_runner.js +9 -0
  541. package/static/devtools/bindings_test_runner/bindings_test_runner_module.js +0 -0
  542. package/static/devtools/browser_debugger/browser_debugger-legacy.js +1 -0
  543. package/static/devtools/browser_debugger/browser_debugger-meta.js +1 -0
  544. package/static/devtools/browser_debugger/browser_debugger.js +1 -0
  545. package/static/devtools/browser_debugger/browser_debugger_module.js +1 -0
  546. package/static/devtools/browser_sdk/browser_sdk-meta.js +1 -0
  547. package/static/devtools/browser_sdk/browser_sdk.js +1 -0
  548. package/static/devtools/changes/changes-legacy.js +1 -0
  549. package/static/devtools/changes/changes-meta.js +1 -0
  550. package/static/devtools/changes/changes.js +1 -0
  551. package/static/devtools/changes/changes_module.js +1 -0
  552. package/static/devtools/client_variations/client_variations.js +1 -0
  553. package/static/devtools/client_variations/client_variations_module.js +0 -0
  554. package/static/devtools/cm/cm.js +1 -0
  555. package/static/devtools/cm/cm_module.js +1 -0
  556. package/static/devtools/cm_headless/cm_headless.js +1 -0
  557. package/static/devtools/color_picker/color_picker-legacy.js +1 -0
  558. package/static/devtools/color_picker/color_picker.js +1 -0
  559. package/static/devtools/color_picker/color_picker_module.js +1 -0
  560. package/static/devtools/common/common-legacy.js +1 -0
  561. package/static/devtools/common/common.js +1 -0
  562. package/static/devtools/component_helpers/component_helpers.js +1 -0
  563. package/static/devtools/components/components-legacy.js +1 -0
  564. package/static/devtools/components/components.js +1 -0
  565. package/static/devtools/console/console-legacy.js +1 -0
  566. package/static/devtools/console/console-meta.js +1 -0
  567. package/static/devtools/console/console.js +6 -0
  568. package/static/devtools/console/console_module.js +1 -0
  569. package/static/devtools/console_counters/console_counters-legacy.js +1 -0
  570. package/static/devtools/console_counters/console_counters.js +1 -0
  571. package/static/devtools/console_test_runner/console_test_runner.js +696 -0
  572. package/static/devtools/console_test_runner/console_test_runner_module.js +0 -0
  573. package/static/devtools/cookie_table/cookie_table-legacy.js +1 -0
  574. package/static/devtools/cookie_table/cookie_table.js +1 -0
  575. package/static/devtools/cookie_table/cookie_table_module.js +1 -0
  576. package/static/devtools/coverage/coverage-legacy.js +1 -0
  577. package/static/devtools/coverage/coverage-meta.js +1 -0
  578. package/static/devtools/coverage/coverage.js +1 -0
  579. package/static/devtools/coverage/coverage_module.js +1 -0
  580. package/static/devtools/coverage_test_runner/coverage_test_runner.js +151 -0
  581. package/static/devtools/coverage_test_runner/coverage_test_runner_module.js +0 -0
  582. package/static/devtools/cpu_profiler_test_runner/cpu_profiler_test_runner.js +72 -0
  583. package/static/devtools/cpu_profiler_test_runner/cpu_profiler_test_runner_module.js +0 -0
  584. package/static/devtools/css_overview/css_overview-meta.js +1 -0
  585. package/static/devtools/css_overview/css_overview.js +146 -0
  586. package/static/devtools/css_overview/css_overview_module.js +1 -0
  587. package/static/devtools/data_grid/data_grid-legacy.js +1 -0
  588. package/static/devtools/data_grid/data_grid.js +1 -0
  589. package/static/devtools/data_grid/data_grid_module.js +1 -0
  590. package/static/devtools/data_grid_test_runner/data_grid_test_runner.js +78 -0
  591. package/static/devtools/data_grid_test_runner/data_grid_test_runner_module.js +0 -0
  592. package/static/devtools/developer_resources/developer_resources-legacy.js +1 -0
  593. package/static/devtools/developer_resources/developer_resources-meta.js +1 -0
  594. package/static/devtools/developer_resources/developer_resources.js +1 -0
  595. package/static/devtools/developer_resources/developer_resources_module.js +1 -0
  596. package/static/devtools/device_mode_test_runner/device_mode_test_runner.js +45 -0
  597. package/static/devtools/device_mode_test_runner/device_mode_test_runner_module.js +0 -0
  598. package/static/devtools/devtools_app.html +20 -0
  599. package/static/devtools/devtools_app.js +1 -0
  600. package/static/devtools/devtools_compatibility.js +1546 -0
  601. package/static/devtools/diff/diff-legacy.js +1 -0
  602. package/static/devtools/diff/diff.js +1 -0
  603. package/static/devtools/diff/diff_module.js +0 -0
  604. package/static/devtools/dom_extension/dom_extension.js +1 -0
  605. package/static/devtools/elements/elements-legacy.js +1 -0
  606. package/static/devtools/elements/elements-meta.js +1 -0
  607. package/static/devtools/elements/elements.js +469 -0
  608. package/static/devtools/elements/elements_module.js +1 -0
  609. package/static/devtools/elements_test_runner/EditDOMTestRunner.js +78 -0
  610. package/static/devtools/elements_test_runner/ElementsPanelShadowSelectionOnRefreshTestRunner.js +39 -0
  611. package/static/devtools/elements_test_runner/ElementsTestRunner.js +1280 -0
  612. package/static/devtools/elements_test_runner/SetOuterHTMLTestRunner.js +115 -0
  613. package/static/devtools/elements_test_runner/StylesUpdateLinksTestRunner.js +134 -0
  614. package/static/devtools/elements_test_runner/elements_test_runner.js +9 -0
  615. package/static/devtools/elements_test_runner/elements_test_runner_module.js +0 -0
  616. package/static/devtools/emulated_devices/emulated_devices_module.js +0 -0
  617. package/static/devtools/emulated_devices/optimized/MotoG4-landscape.avif +0 -0
  618. package/static/devtools/emulated_devices/optimized/MotoG4-portrait.avif +0 -0
  619. package/static/devtools/emulated_devices/optimized/Nexus5X-landscape.avif +0 -0
  620. package/static/devtools/emulated_devices/optimized/Nexus5X-portrait.avif +0 -0
  621. package/static/devtools/emulated_devices/optimized/Nexus6P-landscape.avif +0 -0
  622. package/static/devtools/emulated_devices/optimized/Nexus6P-portrait.avif +0 -0
  623. package/static/devtools/emulated_devices/optimized/google-nexus-5-horizontal-default-1x.avif +0 -0
  624. package/static/devtools/emulated_devices/optimized/google-nexus-5-horizontal-default-2x.avif +0 -0
  625. package/static/devtools/emulated_devices/optimized/google-nexus-5-horizontal-keyboard-1x.avif +0 -0
  626. package/static/devtools/emulated_devices/optimized/google-nexus-5-horizontal-keyboard-2x.avif +0 -0
  627. package/static/devtools/emulated_devices/optimized/google-nexus-5-horizontal-navigation-1x.avif +0 -0
  628. package/static/devtools/emulated_devices/optimized/google-nexus-5-horizontal-navigation-2x.avif +0 -0
  629. package/static/devtools/emulated_devices/optimized/google-nexus-5-vertical-default-1x.avif +0 -0
  630. package/static/devtools/emulated_devices/optimized/google-nexus-5-vertical-default-2x.avif +0 -0
  631. package/static/devtools/emulated_devices/optimized/google-nexus-5-vertical-keyboard-1x.avif +0 -0
  632. package/static/devtools/emulated_devices/optimized/google-nexus-5-vertical-keyboard-2x.avif +0 -0
  633. package/static/devtools/emulated_devices/optimized/google-nexus-5-vertical-navigation-1x.avif +0 -0
  634. package/static/devtools/emulated_devices/optimized/google-nexus-5-vertical-navigation-2x.avif +0 -0
  635. package/static/devtools/emulated_devices/optimized/google-nexus-5x-horizontal-default-1x.avif +0 -0
  636. package/static/devtools/emulated_devices/optimized/google-nexus-5x-horizontal-default-2x.avif +0 -0
  637. package/static/devtools/emulated_devices/optimized/google-nexus-5x-horizontal-keyboard-1x.avif +0 -0
  638. package/static/devtools/emulated_devices/optimized/google-nexus-5x-horizontal-keyboard-2x.avif +0 -0
  639. package/static/devtools/emulated_devices/optimized/google-nexus-5x-horizontal-navigation-1x.avif +0 -0
  640. package/static/devtools/emulated_devices/optimized/google-nexus-5x-horizontal-navigation-2x.avif +0 -0
  641. package/static/devtools/emulated_devices/optimized/google-nexus-5x-vertical-default-1x.avif +0 -0
  642. package/static/devtools/emulated_devices/optimized/google-nexus-5x-vertical-default-2x.avif +0 -0
  643. package/static/devtools/emulated_devices/optimized/google-nexus-5x-vertical-keyboard-1x.avif +0 -0
  644. package/static/devtools/emulated_devices/optimized/google-nexus-5x-vertical-keyboard-2x.avif +0 -0
  645. package/static/devtools/emulated_devices/optimized/google-nexus-5x-vertical-navigation-1x.avif +0 -0
  646. package/static/devtools/emulated_devices/optimized/google-nexus-5x-vertical-navigation-2x.avif +0 -0
  647. package/static/devtools/emulated_devices/optimized/iPad-landscape.avif +0 -0
  648. package/static/devtools/emulated_devices/optimized/iPad-portrait.avif +0 -0
  649. package/static/devtools/emulated_devices/optimized/iPhone5-landscape.avif +0 -0
  650. package/static/devtools/emulated_devices/optimized/iPhone5-portrait.avif +0 -0
  651. package/static/devtools/emulated_devices/optimized/iPhone6-landscape.avif +0 -0
  652. package/static/devtools/emulated_devices/optimized/iPhone6-portrait.avif +0 -0
  653. package/static/devtools/emulated_devices/optimized/iPhone6Plus-landscape.avif +0 -0
  654. package/static/devtools/emulated_devices/optimized/iPhone6Plus-portrait.avif +0 -0
  655. package/static/devtools/emulation/emulation-legacy.js +1 -0
  656. package/static/devtools/emulation/emulation-meta.js +1 -0
  657. package/static/devtools/emulation/emulation.js +1 -0
  658. package/static/devtools/event_listeners/event_listeners-legacy.js +1 -0
  659. package/static/devtools/event_listeners/event_listeners.js +1 -0
  660. package/static/devtools/event_listeners/event_listeners_module.js +1 -0
  661. package/static/devtools/extensions/extensions-legacy.js +1 -0
  662. package/static/devtools/extensions/extensions.js +1 -0
  663. package/static/devtools/extensions_test_runner/ExtensionsNetworkTestRunner.js +27 -0
  664. package/static/devtools/extensions_test_runner/ExtensionsTestRunner.js +68 -0
  665. package/static/devtools/extensions_test_runner/extensions_test_runner.js +6 -0
  666. package/static/devtools/extensions_test_runner/extensions_test_runner_module.js +0 -0
  667. package/static/devtools/formatter/formatter-legacy.js +1 -0
  668. package/static/devtools/formatter/formatter.js +1 -0
  669. package/static/devtools/formatter/formatter_module.js +0 -0
  670. package/static/devtools/formatter_worker/FormatterActions.js +1 -0
  671. package/static/devtools/formatter_worker/formatter_worker-entrypoint.js +1 -0
  672. package/static/devtools/formatter_worker/formatter_worker.js +1 -0
  673. package/static/devtools/har_importer/har_importer-legacy.js +1 -0
  674. package/static/devtools/har_importer/har_importer.js +1 -0
  675. package/static/devtools/har_importer/har_importer_module.js +0 -0
  676. package/static/devtools/heap_profiler_test_runner/heap_profiler_test_runner.js +740 -0
  677. package/static/devtools/heap_profiler_test_runner/heap_profiler_test_runner_module.js +0 -0
  678. package/static/devtools/heap_snapshot_model/heap_snapshot_model-legacy.js +1 -0
  679. package/static/devtools/heap_snapshot_model/heap_snapshot_model.js +1 -0
  680. package/static/devtools/heap_snapshot_model/heap_snapshot_model_module.js +0 -0
  681. package/static/devtools/heap_snapshot_worker/heap_snapshot_worker-entrypoint.js +1 -0
  682. package/static/devtools/heap_snapshot_worker/heap_snapshot_worker-legacy.js +1 -0
  683. package/static/devtools/heap_snapshot_worker/heap_snapshot_worker.js +1 -0
  684. package/static/devtools/heap_snapshot_worker/heap_snapshot_worker_module.js +0 -0
  685. package/static/devtools/help/help-legacy.js +1 -0
  686. package/static/devtools/help/help-meta.js +1 -0
  687. package/static/devtools/help/help.js +1 -0
  688. package/static/devtools/help/help_module.js +1 -0
  689. package/static/devtools/host/host-legacy.js +1 -0
  690. package/static/devtools/host/host.js +1 -0
  691. package/static/devtools/i18n/i18n.js +1 -0
  692. package/static/devtools/i18n/i18n_locales-tsconfig.json +8 -0
  693. package/static/devtools/i18n/locales/en-US.json +3566 -0
  694. package/static/devtools/inline_editor/inline_editor-legacy.js +1 -0
  695. package/static/devtools/inline_editor/inline_editor.js +203 -0
  696. package/static/devtools/inline_editor/inline_editor_module.js +1 -0
  697. package/static/devtools/input/input-legacy.js +1 -0
  698. package/static/devtools/input/input-meta.js +1 -0
  699. package/static/devtools/input/input.js +1 -0
  700. package/static/devtools/input/input_module.js +1 -0
  701. package/static/devtools/inspector.html +20 -0
  702. package/static/devtools/inspector.js +1 -0
  703. package/static/devtools/inspector_main/inspector_main-legacy.js +1 -0
  704. package/static/devtools/inspector_main/inspector_main-meta.js +1 -0
  705. package/static/devtools/inspector_main/inspector_main.js +1 -0
  706. package/static/devtools/integration_test_runner.html +14 -0
  707. package/static/devtools/integration_test_runner.js +2 -0
  708. package/static/devtools/issues/issues-legacy.js +1 -0
  709. package/static/devtools/issues/issues-meta.js +1 -0
  710. package/static/devtools/issues/issues.js +67 -0
  711. package/static/devtools/issues/issues_module.js +1 -0
  712. package/static/devtools/javascript_metadata/javascript_metadata-legacy.js +1 -0
  713. package/static/devtools/javascript_metadata/javascript_metadata.js +1 -0
  714. package/static/devtools/javascript_metadata/javascript_metadata_module.js +0 -0
  715. package/static/devtools/js_app.html +20 -0
  716. package/static/devtools/js_app.js +1 -0
  717. package/static/devtools/js_main/js_main-legacy.js +1 -0
  718. package/static/devtools/js_main/js_main.js +1 -0
  719. package/static/devtools/js_profiler/js_profiler-meta.js +1 -0
  720. package/static/devtools/js_profiler/js_profiler.js +1 -0
  721. package/static/devtools/js_profiler/js_profiler_module.js +0 -0
  722. package/static/devtools/layer_viewer/layer_viewer-legacy.js +1 -0
  723. package/static/devtools/layer_viewer/layer_viewer.js +1 -0
  724. package/static/devtools/layer_viewer/layer_viewer_module.js +1 -0
  725. package/static/devtools/layers/layers-legacy.js +1 -0
  726. package/static/devtools/layers/layers-meta.js +1 -0
  727. package/static/devtools/layers/layers.js +1 -0
  728. package/static/devtools/layers/layers_module.js +0 -0
  729. package/static/devtools/layers_test_runner/layers_test_runner.js +156 -0
  730. package/static/devtools/layers_test_runner/layers_test_runner_module.js +0 -0
  731. package/static/devtools/lighthouse/lighthouse-legacy.js +1 -0
  732. package/static/devtools/lighthouse/lighthouse-meta.js +1 -0
  733. package/static/devtools/lighthouse/lighthouse.js +70 -0
  734. package/static/devtools/lighthouse/lighthouse_module.js +1 -0
  735. package/static/devtools/lighthouse_test_runner/lighthouse_test_runner.js +136 -0
  736. package/static/devtools/lighthouse_test_runner/lighthouse_test_runner_module.js +0 -0
  737. package/static/devtools/lighthouse_worker/LighthouseService.js +195 -0
  738. package/static/devtools/lighthouse_worker/lighthouse_worker.js +6 -0
  739. package/static/devtools/lighthouse_worker.js +1 -0
  740. package/static/devtools/linear_memory_inspector/linear_memory_inspector-legacy.js +1 -0
  741. package/static/devtools/linear_memory_inspector/linear_memory_inspector-meta.js +1 -0
  742. package/static/devtools/linear_memory_inspector/linear_memory_inspector.js +399 -0
  743. package/static/devtools/linear_memory_inspector/linear_memory_inspector_module.js +0 -0
  744. package/static/devtools/main/main-legacy.js +1 -0
  745. package/static/devtools/main/main.js +1 -0
  746. package/static/devtools/media/media-legacy.js +1 -0
  747. package/static/devtools/media/media-meta.js +1 -0
  748. package/static/devtools/media/media.js +1 -0
  749. package/static/devtools/media/media_module.js +1 -0
  750. package/static/devtools/mobile_throttling/mobile_throttling-legacy.js +1 -0
  751. package/static/devtools/mobile_throttling/mobile_throttling-meta.js +1 -0
  752. package/static/devtools/mobile_throttling/mobile_throttling.js +1 -0
  753. package/static/devtools/ndb_app.html +20 -0
  754. package/static/devtools/ndb_app.js +1 -0
  755. package/static/devtools/network/network-legacy.js +1 -0
  756. package/static/devtools/network/network-meta.js +1 -0
  757. package/static/devtools/network/network.js +72 -0
  758. package/static/devtools/network/network_module.js +1 -0
  759. package/static/devtools/network_test_runner/network_test_runner.js +280 -0
  760. package/static/devtools/network_test_runner/network_test_runner_module.js +0 -0
  761. package/static/devtools/node_app.html +20 -0
  762. package/static/devtools/node_app.js +1 -0
  763. package/static/devtools/node_debugger/node_debugger-meta.js +1 -0
  764. package/static/devtools/node_debugger/node_debugger.js +1 -0
  765. package/static/devtools/node_debugger/node_debugger_module.js +0 -0
  766. package/static/devtools/node_main/node_main-legacy.js +1 -0
  767. package/static/devtools/node_main/node_main-meta.js +1 -0
  768. package/static/devtools/node_main/node_main.js +1 -0
  769. package/static/devtools/object_ui/object_ui-legacy.js +1 -0
  770. package/static/devtools/object_ui/object_ui.js +3 -0
  771. package/static/devtools/object_ui/object_ui_module.js +1 -0
  772. package/static/devtools/perf_ui/perf_ui-legacy.js +1 -0
  773. package/static/devtools/perf_ui/perf_ui.js +152 -0
  774. package/static/devtools/perf_ui/perf_ui_module.js +1 -0
  775. package/static/devtools/performance_monitor/performance_monitor-legacy.js +1 -0
  776. package/static/devtools/performance_monitor/performance_monitor-meta.js +1 -0
  777. package/static/devtools/performance_monitor/performance_monitor.js +1 -0
  778. package/static/devtools/performance_monitor/performance_monitor_module.js +1 -0
  779. package/static/devtools/performance_test_runner/TimelineDataTestRunner.js +5375 -0
  780. package/static/devtools/performance_test_runner/TimelineTestRunner.js +446 -0
  781. package/static/devtools/performance_test_runner/performance_test_runner.js +6 -0
  782. package/static/devtools/performance_test_runner/performance_test_runner_module.js +0 -0
  783. package/static/devtools/persistence/persistence-legacy.js +1 -0
  784. package/static/devtools/persistence/persistence-meta.js +1 -0
  785. package/static/devtools/persistence/persistence.js +1 -0
  786. package/static/devtools/platform/platform.js +1 -0
  787. package/static/devtools/profiler/profiler-legacy.js +1 -0
  788. package/static/devtools/profiler/profiler-meta.js +1 -0
  789. package/static/devtools/profiler/profiler.js +8 -0
  790. package/static/devtools/profiler/profiler_module.js +1 -0
  791. package/static/devtools/protocol_client/protocol_client-legacy.js +1 -0
  792. package/static/devtools/protocol_client/protocol_client.js +1 -0
  793. package/static/devtools/protocol_monitor/protocol_monitor-legacy.js +1 -0
  794. package/static/devtools/protocol_monitor/protocol_monitor-meta.js +1 -0
  795. package/static/devtools/protocol_monitor/protocol_monitor.js +1 -0
  796. package/static/devtools/protocol_monitor/protocol_monitor_module.js +1 -0
  797. package/static/devtools/quick_open/quick_open-legacy.js +1 -0
  798. package/static/devtools/quick_open/quick_open.js +1 -0
  799. package/static/devtools/quick_open/quick_open_module.js +1 -0
  800. package/static/devtools/recorder/recorder.js +1 -0
  801. package/static/devtools/resources/resources-legacy.js +1 -0
  802. package/static/devtools/resources/resources-meta.js +1 -0
  803. package/static/devtools/resources/resources.js +28 -0
  804. package/static/devtools/resources/resources_module.js +1 -0
  805. package/static/devtools/root/root-legacy.js +1 -0
  806. package/static/devtools/root/root.js +1 -0
  807. package/static/devtools/screencast/screencast-legacy.js +1 -0
  808. package/static/devtools/screencast/screencast.js +1 -0
  809. package/static/devtools/sdk/sdk-legacy.js +1 -0
  810. package/static/devtools/sdk/sdk.js +2 -0
  811. package/static/devtools/sdk_test_runner/sdk_test_runner.js +297 -0
  812. package/static/devtools/sdk_test_runner/sdk_test_runner_module.js +0 -0
  813. package/static/devtools/search/search-legacy.js +1 -0
  814. package/static/devtools/search/search.js +1 -0
  815. package/static/devtools/search/search_module.js +1 -0
  816. package/static/devtools/security/security-legacy.js +1 -0
  817. package/static/devtools/security/security-meta.js +1 -0
  818. package/static/devtools/security/security.js +1 -0
  819. package/static/devtools/security/security_module.js +1 -0
  820. package/static/devtools/security_test_runner/security_test_runner.js +32 -0
  821. package/static/devtools/security_test_runner/security_test_runner_module.js +0 -0
  822. package/static/devtools/services/services-legacy.js +1 -0
  823. package/static/devtools/services/services.js +1 -0
  824. package/static/devtools/settings/settings-legacy.js +1 -0
  825. package/static/devtools/settings/settings-meta.js +1 -0
  826. package/static/devtools/settings/settings.js +1 -0
  827. package/static/devtools/settings/settings_module.js +1 -0
  828. package/static/devtools/shell.js +1 -0
  829. package/static/devtools/snippets/snippets-legacy.js +1 -0
  830. package/static/devtools/snippets/snippets.js +1 -0
  831. package/static/devtools/snippets/snippets_module.js +0 -0
  832. package/static/devtools/source_frame/source_frame-legacy.js +1 -0
  833. package/static/devtools/source_frame/source_frame.js +1 -0
  834. package/static/devtools/source_frame/source_frame_module.js +1 -0
  835. package/static/devtools/sources/sources-legacy.js +1 -0
  836. package/static/devtools/sources/sources-meta.js +1 -0
  837. package/static/devtools/sources/sources.js +13 -0
  838. package/static/devtools/sources/sources_module.js +1 -0
  839. package/static/devtools/sources_test_runner/AutocompleteTestRunner.js +46 -0
  840. package/static/devtools/sources_test_runner/DebuggerTestRunner.js +895 -0
  841. package/static/devtools/sources_test_runner/EditorTestRunner.js +237 -0
  842. package/static/devtools/sources_test_runner/LiveEditTestRunner.js +33 -0
  843. package/static/devtools/sources_test_runner/SearchTestRunner.js +158 -0
  844. package/static/devtools/sources_test_runner/SourcesTestRunner.js +173 -0
  845. package/static/devtools/sources_test_runner/sources_test_runner.js +10 -0
  846. package/static/devtools/sources_test_runner/sources_test_runner_module.js +0 -0
  847. package/static/devtools/startup/startup.js +1 -0
  848. package/static/devtools/test_runner/test_runner.js +1 -0
  849. package/static/devtools/text_editor/text_editor-legacy.js +1 -0
  850. package/static/devtools/text_editor/text_editor.js +1 -0
  851. package/static/devtools/text_editor/text_editor_module.js +1 -0
  852. package/static/devtools/text_utils/text_utils-legacy.js +1 -0
  853. package/static/devtools/text_utils/text_utils.js +1 -0
  854. package/static/devtools/theme_support/theme_support.js +1 -0
  855. package/static/devtools/third_party/acorn/acorn-tsconfig.json +8 -0
  856. package/static/devtools/third_party/acorn/acorn.js +1 -0
  857. package/static/devtools/third_party/acorn/package/dist/acorn.d.ts +209 -0
  858. package/static/devtools/third_party/acorn/package/dist/acorn.mjs +5261 -0
  859. package/static/devtools/third_party/acorn/package/dist/acorn.mjs.d.ts +2 -0
  860. package/static/devtools/third_party/acorn/package/dist/acorn.mjs.map +1 -0
  861. package/static/devtools/third_party/acorn-loose/acorn-loose-tsconfig.json +8 -0
  862. package/static/devtools/third_party/acorn-loose/package/dist/acorn-loose.d.ts +16 -0
  863. package/static/devtools/third_party/acorn-loose/package/dist/acorn-loose.mjs +1418 -0
  864. package/static/devtools/third_party/axe-core/axe.js +16423 -0
  865. package/static/devtools/third_party/chromium/chromium-tsconfig.json +8 -0
  866. package/static/devtools/third_party/chromium/client-variations/ClientVariations.d.ts +13 -0
  867. package/static/devtools/third_party/chromium/client-variations/ClientVariations.js +27 -0
  868. package/static/devtools/third_party/codemirror/codemirror-tsconfig.json +72 -0
  869. package/static/devtools/third_party/codemirror/package/addon/comment/comment.d.ts +4 -0
  870. package/static/devtools/third_party/codemirror/package/addon/comment/comment.js +211 -0
  871. package/static/devtools/third_party/codemirror/package/addon/edit/closebrackets.d.ts +1 -0
  872. package/static/devtools/third_party/codemirror/package/addon/edit/closebrackets.js +201 -0
  873. package/static/devtools/third_party/codemirror/package/addon/edit/matchbrackets.d.ts +1 -0
  874. package/static/devtools/third_party/codemirror/package/addon/edit/matchbrackets.js +158 -0
  875. package/static/devtools/third_party/codemirror/package/addon/fold/brace-fold.d.ts +1 -0
  876. package/static/devtools/third_party/codemirror/package/addon/fold/brace-fold.js +105 -0
  877. package/static/devtools/third_party/codemirror/package/addon/fold/foldcode.d.ts +1 -0
  878. package/static/devtools/third_party/codemirror/package/addon/fold/foldcode.js +157 -0
  879. package/static/devtools/third_party/codemirror/package/addon/fold/foldgutter.d.ts +1 -0
  880. package/static/devtools/third_party/codemirror/package/addon/fold/foldgutter.js +163 -0
  881. package/static/devtools/third_party/codemirror/package/addon/mode/multiplex.d.ts +1 -0
  882. package/static/devtools/third_party/codemirror/package/addon/mode/multiplex.js +131 -0
  883. package/static/devtools/third_party/codemirror/package/addon/mode/overlay.d.ts +1 -0
  884. package/static/devtools/third_party/codemirror/package/addon/mode/overlay.js +90 -0
  885. package/static/devtools/third_party/codemirror/package/addon/mode/simple.d.ts +1 -0
  886. package/static/devtools/third_party/codemirror/package/addon/mode/simple.js +216 -0
  887. package/static/devtools/third_party/codemirror/package/addon/runmode/runmode-standalone.d.ts +1 -0
  888. package/static/devtools/third_party/codemirror/package/addon/runmode/runmode-standalone.js +333 -0
  889. package/static/devtools/third_party/codemirror/package/addon/selection/active-line.d.ts +1 -0
  890. package/static/devtools/third_party/codemirror/package/addon/selection/active-line.js +72 -0
  891. package/static/devtools/third_party/codemirror/package/addon/selection/mark-selection.d.ts +1 -0
  892. package/static/devtools/third_party/codemirror/package/addon/selection/mark-selection.js +119 -0
  893. package/static/devtools/third_party/codemirror/package/lib/codemirror.d.ts +1 -0
  894. package/static/devtools/third_party/codemirror/package/lib/codemirror.js +9800 -0
  895. package/static/devtools/third_party/codemirror/package/mode/clike/clike.d.ts +4 -0
  896. package/static/devtools/third_party/codemirror/package/mode/clike/clike.js +935 -0
  897. package/static/devtools/third_party/codemirror/package/mode/clojure/clojure.d.ts +4 -0
  898. package/static/devtools/third_party/codemirror/package/mode/clojure/clojure.js +292 -0
  899. package/static/devtools/third_party/codemirror/package/mode/coffeescript/coffeescript.d.ts +4 -0
  900. package/static/devtools/third_party/codemirror/package/mode/coffeescript/coffeescript.js +359 -0
  901. package/static/devtools/third_party/codemirror/package/mode/css/css.d.ts +1 -0
  902. package/static/devtools/third_party/codemirror/package/mode/css/css.js +864 -0
  903. package/static/devtools/third_party/codemirror/package/mode/htmlembedded/htmlembedded.d.ts +1 -0
  904. package/static/devtools/third_party/codemirror/package/mode/htmlembedded/htmlembedded.js +37 -0
  905. package/static/devtools/third_party/codemirror/package/mode/htmlmixed/htmlmixed.d.ts +1 -0
  906. package/static/devtools/third_party/codemirror/package/mode/htmlmixed/htmlmixed.js +153 -0
  907. package/static/devtools/third_party/codemirror/package/mode/javascript/javascript.d.ts +1 -0
  908. package/static/devtools/third_party/codemirror/package/mode/javascript/javascript.js +942 -0
  909. package/static/devtools/third_party/codemirror/package/mode/jsx/jsx.d.ts +4 -0
  910. package/static/devtools/third_party/codemirror/package/mode/jsx/jsx.js +148 -0
  911. package/static/devtools/third_party/codemirror/package/mode/livescript/livescript.d.ts +4 -0
  912. package/static/devtools/third_party/codemirror/package/mode/livescript/livescript.js +280 -0
  913. package/static/devtools/third_party/codemirror/package/mode/markdown/markdown.d.ts +1 -0
  914. package/static/devtools/third_party/codemirror/package/mode/markdown/markdown.js +886 -0
  915. package/static/devtools/third_party/codemirror/package/mode/php/php.d.ts +1 -0
  916. package/static/devtools/third_party/codemirror/package/mode/php/php.js +234 -0
  917. package/static/devtools/third_party/codemirror/package/mode/python/python.d.ts +1 -0
  918. package/static/devtools/third_party/codemirror/package/mode/python/python.js +399 -0
  919. package/static/devtools/third_party/codemirror/package/mode/shell/shell.d.ts +1 -0
  920. package/static/devtools/third_party/codemirror/package/mode/shell/shell.js +168 -0
  921. package/static/devtools/third_party/codemirror/package/mode/wast/wast.d.ts +1 -0
  922. package/static/devtools/third_party/codemirror/package/mode/wast/wast.js +41 -0
  923. package/static/devtools/third_party/codemirror/package/mode/xml/xml.d.ts +1 -0
  924. package/static/devtools/third_party/codemirror/package/mode/xml/xml.js +413 -0
  925. package/static/devtools/third_party/i18n/bundle-tsconfig.json +8 -0
  926. package/static/devtools/third_party/i18n/i18n.d.ts +108 -0
  927. package/static/devtools/third_party/i18n/i18n.js +4336 -0
  928. package/static/devtools/third_party/lighthouse/lighthouse-dt-bundle.d.ts +1 -0
  929. package/static/devtools/third_party/lighthouse/lighthouse-dt-bundle.js +1140 -0
  930. package/static/devtools/third_party/lighthouse/lighthouse-tsconfig.json +10 -0
  931. package/static/devtools/third_party/lighthouse/locales/ar-XB.json +2066 -0
  932. package/static/devtools/third_party/lighthouse/locales/ar.json +2066 -0
  933. package/static/devtools/third_party/lighthouse/locales/bg.json +2066 -0
  934. package/static/devtools/third_party/lighthouse/locales/ca.json +2066 -0
  935. package/static/devtools/third_party/lighthouse/locales/cs.json +2066 -0
  936. package/static/devtools/third_party/lighthouse/locales/da.json +2066 -0
  937. package/static/devtools/third_party/lighthouse/locales/de.json +2066 -0
  938. package/static/devtools/third_party/lighthouse/locales/el.json +2066 -0
  939. package/static/devtools/third_party/lighthouse/locales/en-GB.json +2066 -0
  940. package/static/devtools/third_party/lighthouse/locales/en-US.json +2297 -0
  941. package/static/devtools/third_party/lighthouse/locales/en-XA.json +2066 -0
  942. package/static/devtools/third_party/lighthouse/locales/en-XL.json +2297 -0
  943. package/static/devtools/third_party/lighthouse/locales/es-419.json +2066 -0
  944. package/static/devtools/third_party/lighthouse/locales/es.json +2066 -0
  945. package/static/devtools/third_party/lighthouse/locales/fi.json +2066 -0
  946. package/static/devtools/third_party/lighthouse/locales/fil.json +2066 -0
  947. package/static/devtools/third_party/lighthouse/locales/fr.json +2066 -0
  948. package/static/devtools/third_party/lighthouse/locales/he.json +2066 -0
  949. package/static/devtools/third_party/lighthouse/locales/hi.json +2066 -0
  950. package/static/devtools/third_party/lighthouse/locales/hr.json +2066 -0
  951. package/static/devtools/third_party/lighthouse/locales/hu.json +2066 -0
  952. package/static/devtools/third_party/lighthouse/locales/id.json +2066 -0
  953. package/static/devtools/third_party/lighthouse/locales/it.json +2066 -0
  954. package/static/devtools/third_party/lighthouse/locales/ja.json +2066 -0
  955. package/static/devtools/third_party/lighthouse/locales/ko.json +2066 -0
  956. package/static/devtools/third_party/lighthouse/locales/lt.json +2066 -0
  957. package/static/devtools/third_party/lighthouse/locales/lv.json +2066 -0
  958. package/static/devtools/third_party/lighthouse/locales/nl.json +2066 -0
  959. package/static/devtools/third_party/lighthouse/locales/no.json +2066 -0
  960. package/static/devtools/third_party/lighthouse/locales/pl.json +2066 -0
  961. package/static/devtools/third_party/lighthouse/locales/pt-PT.json +2066 -0
  962. package/static/devtools/third_party/lighthouse/locales/pt.json +2066 -0
  963. package/static/devtools/third_party/lighthouse/locales/ro.json +2066 -0
  964. package/static/devtools/third_party/lighthouse/locales/ru.json +2066 -0
  965. package/static/devtools/third_party/lighthouse/locales/sk.json +2066 -0
  966. package/static/devtools/third_party/lighthouse/locales/sl.json +2066 -0
  967. package/static/devtools/third_party/lighthouse/locales/sr-Latn.json +2066 -0
  968. package/static/devtools/third_party/lighthouse/locales/sr.json +2066 -0
  969. package/static/devtools/third_party/lighthouse/locales/sv.json +2066 -0
  970. package/static/devtools/third_party/lighthouse/locales/ta.json +2066 -0
  971. package/static/devtools/third_party/lighthouse/locales/te.json +2066 -0
  972. package/static/devtools/third_party/lighthouse/locales/th.json +2066 -0
  973. package/static/devtools/third_party/lighthouse/locales/tr.json +2066 -0
  974. package/static/devtools/third_party/lighthouse/locales/uk.json +2066 -0
  975. package/static/devtools/third_party/lighthouse/locales/vi.json +2066 -0
  976. package/static/devtools/third_party/lighthouse/locales/zh-HK.json +2066 -0
  977. package/static/devtools/third_party/lighthouse/locales/zh-TW.json +2066 -0
  978. package/static/devtools/third_party/lighthouse/locales/zh.json +2066 -0
  979. package/static/devtools/third_party/lighthouse/report-assets/report-generator.d.ts +1 -0
  980. package/static/devtools/third_party/lighthouse/report-assets/report-generator.js +167 -0
  981. package/static/devtools/third_party/lighthouse/report-assets/report.d.ts +1 -0
  982. package/static/devtools/third_party/lighthouse/report-assets/report.js +5032 -0
  983. package/static/devtools/third_party/lit-html/lit-html-tsconfig.json +22 -0
  984. package/static/devtools/third_party/lit-html/lit-html.js +120 -0
  985. package/static/devtools/third_party/lit-html/package/directives/class-map.d.ts +28 -0
  986. package/static/devtools/third_party/lit-html/package/directives/class-map.js +101 -0
  987. package/static/devtools/third_party/lit-html/package/directives/class-map.js.map +1 -0
  988. package/static/devtools/third_party/lit-html/package/directives/if-defined.d.ts +22 -0
  989. package/static/devtools/third_party/lit-html/package/directives/if-defined.js +37 -0
  990. package/static/devtools/third_party/lit-html/package/directives/if-defined.js.map +1 -0
  991. package/static/devtools/third_party/lit-html/package/directives/live.d.ts +38 -0
  992. package/static/devtools/third_party/lit-html/package/directives/live.js +73 -0
  993. package/static/devtools/third_party/lit-html/package/directives/live.js.map +1 -0
  994. package/static/devtools/third_party/lit-html/package/directives/repeat.d.ts +37 -0
  995. package/static/devtools/third_party/lit-html/package/directives/repeat.js +415 -0
  996. package/static/devtools/third_party/lit-html/package/directives/repeat.js.map +1 -0
  997. package/static/devtools/third_party/lit-html/package/directives/style-map.d.ts +36 -0
  998. package/static/devtools/third_party/lit-html/package/directives/style-map.js +78 -0
  999. package/static/devtools/third_party/lit-html/package/directives/style-map.js.map +1 -0
  1000. package/static/devtools/third_party/lit-html/package/lib/default-template-processor.d.ts +39 -0
  1001. package/static/devtools/third_party/lit-html/package/lib/default-template-processor.js +52 -0
  1002. package/static/devtools/third_party/lit-html/package/lib/default-template-processor.js.map +1 -0
  1003. package/static/devtools/third_party/lit-html/package/lib/directive.d.ts +59 -0
  1004. package/static/devtools/third_party/lit-html/package/lib/directive.js +63 -0
  1005. package/static/devtools/third_party/lit-html/package/lib/directive.js.map +1 -0
  1006. package/static/devtools/third_party/lit-html/package/lib/dom.d.ts +29 -0
  1007. package/static/devtools/third_party/lit-html/package/lib/dom.js +44 -0
  1008. package/static/devtools/third_party/lit-html/package/lib/dom.js.map +1 -0
  1009. package/static/devtools/third_party/lit-html/package/lib/part.d.ts +46 -0
  1010. package/static/devtools/third_party/lit-html/package/lib/part.js +23 -0
  1011. package/static/devtools/third_party/lit-html/package/lib/part.js.map +1 -0
  1012. package/static/devtools/third_party/lit-html/package/lib/parts.d.ts +148 -0
  1013. package/static/devtools/third_party/lit-html/package/lib/parts.js +476 -0
  1014. package/static/devtools/third_party/lit-html/package/lib/parts.js.map +1 -0
  1015. package/static/devtools/third_party/lit-html/package/lib/render.d.ts +33 -0
  1016. package/static/devtools/third_party/lit-html/package/lib/render.js +43 -0
  1017. package/static/devtools/third_party/lit-html/package/lib/render.js.map +1 -0
  1018. package/static/devtools/third_party/lit-html/package/lib/template-factory.d.ts +57 -0
  1019. package/static/devtools/third_party/lit-html/package/lib/template-factory.js +48 -0
  1020. package/static/devtools/third_party/lit-html/package/lib/template-factory.js.map +1 -0
  1021. package/static/devtools/third_party/lit-html/package/lib/template-instance.d.ts +30 -0
  1022. package/static/devtools/third_party/lit-html/package/lib/template-instance.js +134 -0
  1023. package/static/devtools/third_party/lit-html/package/lib/template-instance.js.map +1 -0
  1024. package/static/devtools/third_party/lit-html/package/lib/template-result.d.ts +42 -0
  1025. package/static/devtools/third_party/lit-html/package/lib/template-result.js +131 -0
  1026. package/static/devtools/third_party/lit-html/package/lib/template-result.js.map +1 -0
  1027. package/static/devtools/third_party/lit-html/package/lib/template.d.ts +92 -0
  1028. package/static/devtools/third_party/lit-html/package/lib/template.js +215 -0
  1029. package/static/devtools/third_party/lit-html/package/lib/template.js.map +1 -0
  1030. package/static/devtools/third_party/lit-html/package/lit-html.d.ts +42 -0
  1031. package/static/devtools/third_party/lit-html/package/lit-html.js +59 -0
  1032. package/static/devtools/third_party/lit-html/package/lit-html.js.map +1 -0
  1033. package/static/devtools/third_party/marked/marked-tsconfig.json +8 -0
  1034. package/static/devtools/third_party/marked/marked.js +1 -0
  1035. package/static/devtools/third_party/marked/package/lib/marked.esm.d.ts +1 -0
  1036. package/static/devtools/third_party/marked/package/lib/marked.esm.js +2584 -0
  1037. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/api-docs-entry.d.ts +53 -0
  1038. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/api-docs-entry.d.ts.map +1 -0
  1039. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/api-docs-entry.js +64 -0
  1040. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Accessibility.d.ts +176 -0
  1041. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Accessibility.d.ts.map +1 -0
  1042. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Accessibility.js +356 -0
  1043. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/AriaQueryHandler.d.ts +21 -0
  1044. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/AriaQueryHandler.d.ts.map +1 -0
  1045. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/AriaQueryHandler.js +81 -0
  1046. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Browser.d.ts +423 -0
  1047. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Browser.d.ts.map +1 -0
  1048. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Browser.js +516 -0
  1049. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/BrowserConnector.d.ts +39 -0
  1050. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/BrowserConnector.d.ts.map +1 -0
  1051. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/BrowserConnector.js +76 -0
  1052. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/BrowserWebSocketTransport.d.ts +26 -0
  1053. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/BrowserWebSocketTransport.d.ts.map +1 -0
  1054. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/BrowserWebSocketTransport.js +30 -0
  1055. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Connection.d.ts +120 -0
  1056. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Connection.d.ts.map +1 -0
  1057. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Connection.js +266 -0
  1058. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/ConnectionTransport.d.ts +22 -0
  1059. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/ConnectionTransport.d.ts.map +1 -0
  1060. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/ConnectionTransport.js +15 -0
  1061. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/ConsoleMessage.d.ts +72 -0
  1062. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/ConsoleMessage.d.ts.map +1 -0
  1063. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/ConsoleMessage.js +60 -0
  1064. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Coverage.d.ts +181 -0
  1065. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Coverage.d.ts.map +1 -0
  1066. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Coverage.js +316 -0
  1067. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/DOMWorld.d.ts +174 -0
  1068. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/DOMWorld.d.ts.map +1 -0
  1069. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/DOMWorld.js +647 -0
  1070. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Debug.d.ts +53 -0
  1071. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Debug.d.ts.map +1 -0
  1072. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Debug.js +77 -0
  1073. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/DeviceDescriptors.d.ts +33 -0
  1074. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/DeviceDescriptors.d.ts.map +1 -0
  1075. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/DeviceDescriptors.js +873 -0
  1076. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Dialog.d.ts +76 -0
  1077. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Dialog.d.ts.map +1 -0
  1078. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Dialog.js +92 -0
  1079. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/EmulationManager.d.ts +25 -0
  1080. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/EmulationManager.d.ts.map +1 -0
  1081. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/EmulationManager.js +33 -0
  1082. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Errors.d.ts +34 -0
  1083. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Errors.d.ts.map +1 -0
  1084. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Errors.js +37 -0
  1085. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/EvalTypes.d.ts +59 -0
  1086. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/EvalTypes.d.ts.map +1 -0
  1087. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/EvalTypes.js +15 -0
  1088. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/EventEmitter.d.ts +89 -0
  1089. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/EventEmitter.d.ts.map +1 -0
  1090. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/EventEmitter.js +109 -0
  1091. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Events.d.ts +82 -0
  1092. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Events.d.ts.map +1 -0
  1093. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Events.js +83 -0
  1094. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/ExecutionContext.d.ts +189 -0
  1095. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/ExecutionContext.d.ts.map +1 -0
  1096. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/ExecutionContext.js +313 -0
  1097. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/FileChooser.d.ts +60 -0
  1098. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/FileChooser.d.ts.map +1 -0
  1099. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/FileChooser.js +66 -0
  1100. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/FrameManager.d.ts +735 -0
  1101. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/FrameManager.d.ts.map +1 -0
  1102. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/FrameManager.js +962 -0
  1103. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/HTTPRequest.d.ts +276 -0
  1104. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/HTTPRequest.d.ts.map +1 -0
  1105. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/HTTPRequest.js +421 -0
  1106. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/HTTPResponse.d.ts +128 -0
  1107. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/HTTPResponse.d.ts.map +1 -0
  1108. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/HTTPResponse.js +150 -0
  1109. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Input.d.ts +322 -0
  1110. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Input.d.ts.map +1 -0
  1111. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Input.js +463 -0
  1112. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/JSHandle.d.ts +439 -0
  1113. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/JSHandle.d.ts.map +1 -0
  1114. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/JSHandle.js +724 -0
  1115. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/LifecycleWatcher.d.ts +62 -0
  1116. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/LifecycleWatcher.d.ts.map +1 -0
  1117. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/LifecycleWatcher.js +145 -0
  1118. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/NetworkManager.d.ts +80 -0
  1119. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/NetworkManager.d.ts.map +1 -0
  1120. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/NetworkManager.js +262 -0
  1121. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/PDFOptions.d.ts +152 -0
  1122. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/PDFOptions.d.ts.map +1 -0
  1123. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/PDFOptions.js +31 -0
  1124. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Page.d.ts +910 -0
  1125. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Page.d.ts.map +1 -0
  1126. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Page.js +1343 -0
  1127. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Product.d.ts +21 -0
  1128. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Product.d.ts.map +1 -0
  1129. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Product.js +15 -0
  1130. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Puppeteer.d.ts +135 -0
  1131. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Puppeteer.d.ts.map +1 -0
  1132. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Puppeteer.js +133 -0
  1133. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/PuppeteerViewport.d.ts +24 -0
  1134. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/PuppeteerViewport.d.ts.map +1 -0
  1135. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/PuppeteerViewport.js +0 -0
  1136. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/QueryHandler.d.ts +66 -0
  1137. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/QueryHandler.d.ts.map +1 -0
  1138. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/QueryHandler.js +157 -0
  1139. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/SecurityDetails.d.ts +61 -0
  1140. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/SecurityDetails.d.ts.map +1 -0
  1141. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/SecurityDetails.js +72 -0
  1142. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Target.d.ts +98 -0
  1143. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Target.d.ts.map +1 -0
  1144. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Target.js +137 -0
  1145. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/TimeoutSettings.d.ts +28 -0
  1146. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/TimeoutSettings.d.ts.map +1 -0
  1147. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/TimeoutSettings.js +43 -0
  1148. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Tracing.d.ts +47 -0
  1149. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Tracing.d.ts.map +1 -0
  1150. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/Tracing.js +94 -0
  1151. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/USKeyboardLayout.d.ts +40 -0
  1152. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/USKeyboardLayout.d.ts.map +1 -0
  1153. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/USKeyboardLayout.js +403 -0
  1154. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/WebWorker.d.ts +102 -0
  1155. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/WebWorker.d.ts.map +1 -0
  1156. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/WebWorker.js +109 -0
  1157. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/assert.d.ts +22 -0
  1158. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/assert.d.ts.map +1 -0
  1159. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/assert.js +24 -0
  1160. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/fetch.d.ts +17 -0
  1161. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/fetch.d.ts.map +1 -0
  1162. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/fetch.js +20 -0
  1163. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/helper.d.ts +66 -0
  1164. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/helper.d.ts.map +1 -0
  1165. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/common/helper.js +288 -0
  1166. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/environment.d.ts +17 -0
  1167. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/environment.d.ts.map +1 -0
  1168. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/environment.js +16 -0
  1169. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/initialize-node.d.ts +18 -0
  1170. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/initialize-node.d.ts.map +1 -0
  1171. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/initialize-node.js +39 -0
  1172. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/initialize-web.d.ts +18 -0
  1173. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/initialize-web.d.ts.map +1 -0
  1174. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/initialize-web.js +22 -0
  1175. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserFetcher.d.ts +132 -0
  1176. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserFetcher.d.ts.map +1 -0
  1177. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserFetcher.js +468 -0
  1178. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserRunner.d.ts +40 -0
  1179. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserRunner.d.ts.map +1 -0
  1180. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserRunner.js +197 -0
  1181. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node/LaunchOptions.d.ts +42 -0
  1182. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node/LaunchOptions.d.ts.map +1 -0
  1183. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node/LaunchOptions.js +0 -0
  1184. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node/Launcher.d.ts +16 -0
  1185. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node/Launcher.d.ts.map +1 -0
  1186. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node/Launcher.js +469 -0
  1187. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node/NodeWebSocketTransport.d.ts +29 -0
  1188. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node/NodeWebSocketTransport.d.ts.map +1 -0
  1189. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node/NodeWebSocketTransport.js +34 -0
  1190. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node/PipeTransport.d.ts +31 -0
  1191. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node/PipeTransport.d.ts.map +1 -0
  1192. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node/PipeTransport.js +61 -0
  1193. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node/Puppeteer.d.ts +156 -0
  1194. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node/Puppeteer.d.ts.map +1 -0
  1195. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node/Puppeteer.js +183 -0
  1196. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node/install.d.ts +18 -0
  1197. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node/install.d.ts.map +1 -0
  1198. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node/install.js +151 -0
  1199. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node-puppeteer-core.d.ts +18 -0
  1200. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node-puppeteer-core.d.ts.map +1 -0
  1201. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node-puppeteer-core.js +23 -0
  1202. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node.d.ts +18 -0
  1203. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node.d.ts.map +1 -0
  1204. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/node.js +22 -0
  1205. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/revisions.d.ts +22 -0
  1206. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/revisions.d.ts.map +1 -0
  1207. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/revisions.js +19 -0
  1208. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/web.d.ts +18 -0
  1209. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/web.d.ts.map +1 -0
  1210. package/static/devtools/third_party/puppeteer/package/lib/esm/puppeteer/web.js +22 -0
  1211. package/static/devtools/third_party/puppeteer/package/lib/esm/vendor/mitt/src/index.d.ts +22 -0
  1212. package/static/devtools/third_party/puppeteer/package/lib/esm/vendor/mitt/src/index.d.ts.map +1 -0
  1213. package/static/devtools/third_party/puppeteer/package/lib/esm/vendor/mitt/src/index.js +53 -0
  1214. package/static/devtools/third_party/puppeteer/puppeteer-tsconfig.json +58 -0
  1215. package/static/devtools/third_party/puppeteer/puppeteer.js +1 -0
  1216. package/static/devtools/third_party/wasmparser/package/dist/esm/WasmDis.js +1595 -0
  1217. package/static/devtools/third_party/wasmparser/package/dist/esm/WasmParser.js +3120 -0
  1218. package/static/devtools/third_party/wasmparser/wasmparser-tsconfig.json +9 -0
  1219. package/static/devtools/timeline/timeline-legacy.js +1 -0
  1220. package/static/devtools/timeline/timeline-meta.js +1 -0
  1221. package/static/devtools/timeline/timeline.js +1 -0
  1222. package/static/devtools/timeline/timeline_module.js +1 -0
  1223. package/static/devtools/timeline_model/timeline_model-legacy.js +1 -0
  1224. package/static/devtools/timeline_model/timeline_model.js +1 -0
  1225. package/static/devtools/timeline_model/timeline_model_module.js +0 -0
  1226. package/static/devtools/toolbox.html +20 -0
  1227. package/static/devtools/toolbox.js +1 -0
  1228. package/static/devtools/toolbox_bootstrap/toolbox_bootstrap.js +1 -0
  1229. package/static/devtools/ui/components/components.js +378 -0
  1230. package/static/devtools/ui/ui-legacy.js +1 -0
  1231. package/static/devtools/ui/ui.js +3 -0
  1232. package/static/devtools/ui/utils/utils.js +1 -0
  1233. package/static/devtools/wasmparser_worker/wasmparser_worker-entrypoint.js +1 -0
  1234. package/static/devtools/wasmparser_worker/wasmparser_worker.js +1 -0
  1235. package/static/devtools/web_audio/graph_visualizer/graph_visualizer.js +1 -0
  1236. package/static/devtools/web_audio/web_audio-legacy.js +1 -0
  1237. package/static/devtools/web_audio/web_audio-meta.js +1 -0
  1238. package/static/devtools/web_audio/web_audio.js +23 -0
  1239. package/static/devtools/web_audio/web_audio_module.js +1 -0
  1240. package/static/devtools/webauthn/webauthn-legacy.js +1 -0
  1241. package/static/devtools/webauthn/webauthn-meta.js +1 -0
  1242. package/static/devtools/webauthn/webauthn.js +6 -0
  1243. package/static/devtools/webauthn/webauthn_module.js +1 -0
  1244. package/static/devtools/worker_app.html +20 -0
  1245. package/static/devtools/worker_app.js +1 -0
  1246. package/static/devtools/worker_main/worker_main-legacy.js +1 -0
  1247. package/static/devtools/worker_main/worker_main.js +1 -0
  1248. package/static/devtools/worker_service/worker_service.js +1 -0
  1249. package/static/devtools/workspace/workspace-legacy.js +1 -0
  1250. package/static/devtools/workspace/workspace.js +1 -0
  1251. package/static/devtools/workspace_diff/workspace_diff-legacy.js +1 -0
  1252. package/static/devtools/workspace_diff/workspace_diff.js +1 -0
  1253. package/static/devtools/workspace_diff/workspace_diff_module.js +0 -0
  1254. package/static/docs/swagger.json +2337 -279
  1255. package/static/function/client.js +1037 -992
  1256. package/build/routes/chromium/http/json-new.js +0 -23
  1257. package/build/routes/chromium/http/json-version-get.response.json +0 -37
  1258. package/build/routes/chromium/utils/cdp.d.ts +0 -2
  1259. package/build/routes/chromium/utils/cdp.js +0 -14
  1260. package/build/routes/chromium/ws/cdp-chromium.js +0 -10
  1261. package/src/routes/chromium/http/json-list.ts +0 -50
  1262. package/src/routes/chromium/utils/cdp.ts +0 -19
  1263. package/build/routes/{chromium/http/content-post.query.json → chrome/http/content.post.query.json} +0 -0
  1264. package/build/routes/{chromium/http/content-post.response.json → chrome/http/content.post.response.json} +0 -0
  1265. package/build/routes/{chromium/http/download-post.body.json → chrome/http/download.post.body.json} +0 -0
  1266. package/build/routes/{chromium/http/download-post.query.json → chrome/http/download.post.query.json} +0 -0
  1267. package/build/routes/{chromium/http/download-post.response.json → chrome/http/download.post.response.json} +0 -0
  1268. package/build/routes/{chromium/http/function-post.body.json → chrome/http/function.post.body.json} +0 -0
  1269. package/build/routes/{chromium/http/function-post.query.json → chrome/http/function.post.query.json} +0 -0
  1270. package/build/routes/{chromium/http/function-post.response.json → chrome/http/function.post.response.json} +0 -0
  1271. package/build/routes/{chromium/http/json-list.response.json → chrome/http/json-list.get.response.json} +0 -0
  1272. package/build/routes/{chromium/http/json-new.response.json → chrome/http/json-new.put.response.json} +0 -0
  1273. package/build/routes/{chromium/http/json-protocol-get.response.json → chrome/http/json-protocol.get.response.json} +0 -0
  1274. package/build/routes/{chromium/http/pdf-post.query.json → chrome/http/pdf.post.query.json} +0 -0
  1275. package/build/routes/{chromium/http/pdf-post.response.json → chrome/http/pdf.post.response.json} +0 -0
  1276. package/build/routes/{chromium/http/performance.body.json → chrome/http/performance.post.body.json} +0 -0
  1277. package/build/routes/{chromium/http/performance.query.json → chrome/http/performance.post.query.json} +0 -0
  1278. package/build/routes/{chromium/http/performance.response.json → chrome/http/performance.post.response.json} +0 -0
  1279. package/build/routes/{chromium/http/scrape-post.query.json → chrome/http/scrape.post.query.json} +0 -0
  1280. package/build/routes/{chromium/http/scrape-post.response.json → chrome/http/scrape.post.response.json} +0 -0
  1281. package/build/routes/{chromium/http/screenshot-post.query.json → chrome/http/screenshot.post.query.json} +0 -0
  1282. package/build/routes/{chromium/http/screenshot-post.response.json → chrome/http/screenshot.post.response.json} +0 -0
  1283. package/build/routes/{chromium/utils/performance/child.d.ts → chrome/tests/content.spec.d.ts} +0 -0
  1284. package/build/routes/{chromium/utils/performance/types.js → chrome/tests/download.spec.d.ts} +0 -0
  1285. package/build/routes/{chromium/ws/cdp-chromium.query.json → chrome/ws/browser.query.json} +0 -0
  1286. package/build/routes/{chromium/ws/playwright-chromium.query.json → chrome/ws/playwright.query.json} +0 -0
  1287. package/build/routes/{firefox/ws/playwright-firefox.query.json → chromium/ws/playwright.query.json} +0 -0
  1288. package/build/routes/{webkit/ws/playwright-webkit.query.json → firefox/ws/playwright.query.json} +0 -0
  1289. package/build/routes/management/http/{config-get.d.ts → config.get.d.ts} +0 -0
  1290. package/build/routes/management/http/{config-get.js → config.get.js} +0 -0
  1291. package/build/routes/management/http/{config-get.response.json → config.get.response.json} +0 -0
  1292. package/build/routes/management/http/{metrics-total-get.d.ts → metrics-total.get.d.ts} +0 -0
  1293. package/build/routes/management/http/{metrics-total-get.js → metrics-total.get.js} +0 -0
  1294. package/build/routes/management/http/{metrics-total-get.response.json → metrics-total.get.response.json} +0 -0
  1295. package/build/routes/management/http/{metrics-get.d.ts → metrics.get.d.ts} +0 -0
  1296. package/build/routes/management/http/{metrics-get.js → metrics.get.js} +0 -0
  1297. package/build/routes/management/http/{metrics-get.response.json → metrics.get.response.json} +0 -0
  1298. package/build/routes/management/http/{sessions-get.d.ts → sessions.get.d.ts} +0 -0
  1299. package/build/routes/management/http/{sessions-get.js → sessions.get.js} +0 -0
  1300. package/build/routes/management/http/{static-get.d.ts → static.get.d.ts} +0 -0
  1301. package/build/{routes/chromium/http/json-protocol-get.d.ts → shared/json-protocol.http.d.ts} +1 -1
  1302. package/build/{routes/chromium/http/json-version-get.d.ts → shared/json-version.http.d.ts} +1 -1
  1303. /package/build/{routes/chromium → shared}/utils/function/client.d.ts +0 -0
  1304. /package/build/{routes/chromium → shared}/utils/function/client.js +0 -0
  1305. /package/build/{routes/chromium → shared}/utils/function/handler.d.ts +0 -0
  1306. /package/build/{routes/chromium → shared}/utils/function/handler.js +0 -0
  1307. /package/build/{routes/chromium → shared}/utils/performance/child.js +0 -0
  1308. /package/build/{routes/chromium → shared}/utils/performance/main.d.ts +0 -0
  1309. /package/build/{routes/chromium → shared}/utils/performance/types.d.ts +0 -0
  1310. /package/src/routes/management/http/{config-get.ts → config.get.ts} +0 -0
  1311. /package/src/routes/management/http/{metrics-total-get.ts → metrics-total.get.ts} +0 -0
  1312. /package/src/routes/management/http/{metrics-get.ts → metrics.get.ts} +0 -0
  1313. /package/src/routes/management/http/{sessions-get.ts → sessions.get.ts} +0 -0
  1314. /package/src/{routes/chromium → shared}/utils/function/client.ts +0 -0
  1315. /package/src/{routes/chromium → shared}/utils/performance/child.ts +0 -0
  1316. /package/src/{routes/chromium → shared}/utils/performance/types.ts +0 -0
@@ -0,0 +1 @@
1
+ import{BezierEditor as e,BezierUI as i,CSSShadowEditor as t,CSSShadowModel as n,Swatches as o,FontEditor as r,SwatchPopoverHelper as d}from"./inline_editor.js";self.InlineEditor=self.InlineEditor||{},InlineEditor=InlineEditor||{},InlineEditor.BezierEditor=e.BezierEditor,InlineEditor.BezierEditor.Events=e.Events,InlineEditor.BezierEditor.Presets=e.Presets,InlineEditor.BezierUI=i.BezierUI,InlineEditor.BezierUI.Height=i.Height,InlineEditor.CSSShadowEditor=t.CSSShadowEditor,InlineEditor.CSSShadowEditor.Events=t.Events,InlineEditor.CSSShadowModel=n.CSSShadowModel,InlineEditor.CSSLength=n.CSSLength,InlineEditor.BezierSwatch=o.BezierSwatch,InlineEditor.FontEditor=r.FontEditor,InlineEditor.FontEditor.Events=r.Events,InlineEditor.CSSShadowSwatch=o.CSSShadowSwatch,InlineEditor.SwatchPopoverHelper=d.SwatchPopoverHelper;
@@ -0,0 +1,203 @@
1
+ import{NumberUtilities as t,assertNever as e}from"../platform/platform.js";import{UIUtils as i,Geometry as s,Widget as n,KeyboardShortcut as o,Context as r,ARIAUtils as a,Toolbar as l,Utils as h,Icon as d,GlassPane as c}from"../ui/ui.js";import{Color as u,Settings as p,Throttler as _,ObjectWrapper as m}from"../common/common.js";import{GetStylesheet as g,SetCSSProperty as f}from"../component_helpers/component_helpers.js";import{i18n as v}from"../i18n/i18n.js";import*as x from"../third_party/lit-html/lit-html.js";import{render as S,html as w,Directives as b}from"../third_party/lit-html/lit-html.js";import{TextUtils as y}from"../text_utils/text_utils.js";import{DOMModel as C,SDKModel as I,RuntimeModel as E}from"../sdk/sdk.js";import{CSSOverviewModel as P}from"../css_overview/css_overview.js";class T{constructor(t,e,i,s,n){this.width=t,this.height=e,this.marginTop=i,this.radius=s,this.linearLine=n}static drawVelocityChart(t,e,i){const s=k;let n=["M",0,s];const o=1/40;let r=t.evaluateAt(0);for(let e=o;e<1.025;e+=o){const o=t.evaluateAt(e);let a=(o.y-r.y)/(o.x-r.x);const l=r.x*(1-e)+o.x*e;a=Math.tanh(a/1.5),n=n.concat(["L",(l*i).toFixed(2),(s-a*s).toFixed(2)]),r=o}n=n.concat(["L",i.toFixed(2),s,"Z"]),e.setAttribute("d",n.join(" "))}curveWidth(){return this.width-2*this.radius}curveHeight(){return this.height-2*this.radius-2*this.marginTop}_drawLine(t,e,s,n,o,r){const a=i.createSVGChild(t,"line",e);a.setAttribute("x1",String(s+this.radius)),a.setAttribute("y1",String(n+this.radius+this.marginTop)),a.setAttribute("x2",String(o+this.radius)),a.setAttribute("y2",String(r+this.radius+this.marginTop))}_drawControlPoints(t,e,s,n,o){this._drawLine(t,"bezier-control-line",e,s,n,o);const r=i.createSVGChild(t,"circle","bezier-control-circle");r.setAttribute("cx",String(n+this.radius)),r.setAttribute("cy",String(o+this.radius+this.marginTop)),r.setAttribute("r",String(this.radius))}drawCurve(t,e){if(!t)return;const n=this.curveWidth(),o=this.curveHeight();e.setAttribute("width",String(this.width)),e.setAttribute("height",String(this.height)),e.removeChildren();const r=i.createSVGChild(e,"g");this.linearLine&&this._drawLine(r,"linear-line",0,o,n,0);const a=i.createSVGChild(r,"path","bezier-path"),l=[new s.Point(t.controlPoints[0].x*n+this.radius,(1-t.controlPoints[0].y)*o+this.radius+this.marginTop),new s.Point(t.controlPoints[1].x*n+this.radius,(1-t.controlPoints[1].y)*o+this.radius+this.marginTop),new s.Point(n+this.radius,this.marginTop+this.radius)];a.setAttribute("d","M"+this.radius+","+(o+this.radius+this.marginTop)+" C"+l.join(" ")),this._drawControlPoints(r,0,o,t.controlPoints[0].x*n,(1-t.controlPoints[0].y)*o),this._drawControlPoints(r,n,0,t.controlPoints[1].x*n,(1-t.controlPoints[1].y)*o)}}const k=26;var z=Object.freeze({__proto__:null,BezierUI:T,Height:k});class L extends n.VBox{constructor(t){super(!0),this._bezier=t,this.registerRequiredCSS("inline_editor/bezierEditor.css",{enableLegacyPatching:!0}),this.contentElement.tabIndex=0,this.setDefaultFocusedElement(this.contentElement),this._previewElement=this.contentElement.createChild("div","bezier-preview-container"),this._previewElement.createChild("div","bezier-preview-animation"),this._previewElement.addEventListener("click",this._startPreviewAnimation.bind(this)),this._previewOnion=this.contentElement.createChild("div","bezier-preview-onion"),this._previewOnion.addEventListener("click",this._startPreviewAnimation.bind(this)),this._outerContainer=this.contentElement.createChild("div","bezier-container"),this._selectedCategory=null,this._presetsContainer=this._outerContainer.createChild("div","bezier-presets"),this._presetUI=new T(40,40,0,2,!1),this._presetCategories=[];for(let t=0;t<A.length;t++)this._presetCategories[t]=this._createCategory(A[t]),this._presetsContainer.appendChild(this._presetCategories[t].icon);this._curveUI=new T(150,250,50,7,!0),this._curve=i.createSVGChild(this._outerContainer,"svg","bezier-curve"),i.installDragHandle(this._curve,this._dragStart.bind(this),this._dragMove.bind(this),this._dragEnd.bind(this),"default"),this._header=this.contentElement.createChild("div","bezier-header");const e=this._createPresetModifyIcon(this._header,"bezier-preset-minus","M 12 6 L 8 10 L 12 14"),s=this._createPresetModifyIcon(this._header,"bezier-preset-plus","M 8 6 L 12 10 L 8 14");e.addEventListener("click",this._presetModifyClicked.bind(this,!1)),s.addEventListener("click",this._presetModifyClicked.bind(this,!0)),this._label=this._header.createChild("span","source-code bezier-display-value")}setBezier(t){t&&(this._bezier=t,this._updateUI())}bezier(){return this._bezier}wasShown(){this._unselectPresets();for(const t of this._presetCategories)for(let e=0;e<t.presets.length;e++)this._bezier.asCSSText()===t.presets[e].value&&(t.presetIndex=e,this._presetCategorySelected(t));this._updateUI(),this._startPreviewAnimation()}_onchange(){this._updateUI(),this.dispatchEventToListeners(M.BezierChanged,this._bezier.asCSSText())}_updateUI(){const t=this._selectedCategory?this._selectedCategory.presets[this._selectedCategory.presetIndex].name:this._bezier.asCSSText().replace(/\s(-\d\.\d)/g,"$1");this._label.textContent=t,this._curveUI.drawCurve(this._bezier,this._curve),this._previewOnion.removeChildren()}_dragStart(e){this._mouseDownPosition=new s.Point(e.x,e.y);const i=this._curveUI;this._controlPosition=new s.Point(t.clamp((e.offsetX-i.radius)/i.curveWidth(),0,1),(i.curveHeight()+i.marginTop+i.radius-e.offsetY)/i.curveHeight());const n=this._controlPosition.distanceTo(this._bezier.controlPoints[0])<this._controlPosition.distanceTo(this._bezier.controlPoints[1]);return this._selectedPoint=n?0:1,this._bezier.controlPoints[this._selectedPoint]=this._controlPosition,this._unselectPresets(),this._onchange(),e.consume(!0),!0}_updateControlPosition(e,i){if(void 0===this._mouseDownPosition||void 0===this._controlPosition||void 0===this._selectedPoint)return;const n=(e-this._mouseDownPosition.x)/this._curveUI.curveWidth(),o=(i-this._mouseDownPosition.y)/this._curveUI.curveHeight(),r=new s.Point(t.clamp(this._controlPosition.x+n,0,1),this._controlPosition.y-o);this._bezier.controlPoints[this._selectedPoint]=r}_dragMove(t){this._updateControlPosition(t.x,t.y),this._onchange()}_dragEnd(t){this._updateControlPosition(t.x,t.y),this._onchange(),this._startPreviewAnimation()}_createCategory(t){const e=document.createElement("div");e.classList.add("bezier-preset-category");const n=i.createSVGChild(e,"svg","bezier-preset monospace"),o={presets:t,presetIndex:0,icon:e};return this._presetUI.drawCurve(s.CubicBezier.parse(o.presets[0].value),n),n.addEventListener("click",this._presetCategorySelected.bind(this,o)),o}_createPresetModifyIcon(t,e,s){const n=i.createSVGChild(t,"svg","bezier-preset-modify "+e);n.setAttribute("width","20"),n.setAttribute("height","20");return i.createSVGChild(n,"path").setAttribute("d",s),n}_unselectPresets(){for(const t of this._presetCategories)t.icon.classList.remove("bezier-preset-selected");this._selectedCategory=null,this._header.classList.remove("bezier-header-active")}_presetCategorySelected(t,e){if(this._selectedCategory===t)return;this._unselectPresets(),this._header.classList.add("bezier-header-active"),this._selectedCategory=t,this._selectedCategory.icon.classList.add("bezier-preset-selected");const i=s.CubicBezier.parse(t.presets[t.presetIndex].value);i&&(this.setBezier(i),this._onchange(),this._startPreviewAnimation()),e&&e.consume(!0)}_presetModifyClicked(t,e){if(null===this._selectedCategory)return;const i=this._selectedCategory.presets.length;this._selectedCategory.presetIndex=(this._selectedCategory.presetIndex+(t?1:-1)+i)%i;const n=s.CubicBezier.parse(this._selectedCategory.presets[this._selectedCategory.presetIndex].value);n&&(this.setBezier(n),this._onchange(),this._startPreviewAnimation())}_startPreviewAnimation(){this._previewAnimation&&this._previewAnimation.cancel();const t=1600,e=[{offset:0,transform:"translateX(0px)",easing:this._bezier.asCSSText(),opacity:1},{offset:.9,transform:"translateX(218px)",opacity:1},{offset:1,transform:"translateX(218px)",opacity:0}];this._previewAnimation=this._previewElement.animate(e,t),this._previewOnion.removeChildren();for(let e=0;e<=20;e++){const i=this._previewOnion.createChild("div","bezier-preview-animation").animate([{transform:"translateX(0px)",easing:this._bezier.asCSSText()},{transform:"translateX(218px)"}],{duration:t,fill:"forwards"});i.pause(),i.currentTime=t*e/20}}}const M={BezierChanged:Symbol("BezierChanged")},A=[[{name:"ease-in-out",value:"ease-in-out"},{name:"In Out · Sine",value:"cubic-bezier(0.45, 0.05, 0.55, 0.95)"},{name:"In Out · Quadratic",value:"cubic-bezier(0.46, 0.03, 0.52, 0.96)"},{name:"In Out · Cubic",value:"cubic-bezier(0.65, 0.05, 0.36, 1)"},{name:"Fast Out, Slow In",value:"cubic-bezier(0.4, 0, 0.2, 1)"},{name:"In Out · Back",value:"cubic-bezier(0.68, -0.55, 0.27, 1.55)"}],[{name:"Fast Out, Linear In",value:"cubic-bezier(0.4, 0, 1, 1)"},{name:"ease-in",value:"ease-in"},{name:"In · Sine",value:"cubic-bezier(0.47, 0, 0.75, 0.72)"},{name:"In · Quadratic",value:"cubic-bezier(0.55, 0.09, 0.68, 0.53)"},{name:"In · Cubic",value:"cubic-bezier(0.55, 0.06, 0.68, 0.19)"},{name:"In · Back",value:"cubic-bezier(0.6, -0.28, 0.74, 0.05)"}],[{name:"ease-out",value:"ease-out"},{name:"Out · Sine",value:"cubic-bezier(0.39, 0.58, 0.57, 1)"},{name:"Out · Quadratic",value:"cubic-bezier(0.25, 0.46, 0.45, 0.94)"},{name:"Out · Cubic",value:"cubic-bezier(0.22, 0.61, 0.36, 1)"},{name:"Linear Out, Slow In",value:"cubic-bezier(0, 0, 0.2, 1)"},{name:"Out · Back",value:"cubic-bezier(0.18, 0.89, 0.32, 1.28)"}]];var F=Object.freeze({__proto__:null,BezierEditor:L,Events:M,Presets:A,PresetCategory:undefined});const B={shiftclickToChangeColorFormat:"Shift-click to change color format"},O=v.registerUIStrings("inline_editor/ColorSwatch.ts",B),R=v.getLocalizedString.bind(void 0,O),U=g.getStyleSheets;class V extends Event{constructor(t,e){super("format-changed",{}),this.data={format:t,text:e}}}class H extends HTMLElement{constructor(){super(),this.shadow=this.attachShadow({mode:"open"}),this.tooltip=R(B.shiftclickToChangeColorFormat),this.text=null,this._color=null,this._format=null,this.shadow.adoptedStyleSheets=[...U("inline_editor/colorSwatch.css",{enableLegacyPatching:!1})]}static isColorSwatch(t){return"devtools-color-swatch"===t.localName}get color(){return this._color}get format(){return this._format}get anchorBox(){const t=this.shadow.querySelector(".color-swatch");return t?t.boxInWindow():null}renderColor(t,e,i){if("string"==typeof t){if(this._color=u.Color.parse(t),this.text=t,!this._color)return void this.renderTextOnly()}else this._color=t;this._format="boolean"==typeof e&&e?p.detectColorFormat(this._color):"string"==typeof e?e:this._color.format(),this.text=this._color.asString(this._format),i&&(this.tooltip=i),this.render()}renderTextOnly(){S(this.text,this.shadow,{eventContext:this})}render(){S(w`<span class="color-swatch" title="${this.tooltip}"><span class="color-swatch-inner"
2
+ style="background-color: ${this.text};"
3
+ @click=${this.onClick}
4
+ @mousedown=${this.consume}
5
+ @dblclick=${this.consume}></span></span><slot><span>${this.text}</span></slot>`,this.shadow,{eventContext:this})}onClick(t){t.stopPropagation(),t.shiftKey?this.toggleNextFormat():this.dispatchEvent(new Event("swatch-click"))}consume(t){t.stopPropagation()}toggleNextFormat(){if(!this._color||!this._format)return;let t;do{this._format=N(this._color,this._format),t=this._color.asString(this._format)}while(t===this.text);t&&(this.text=t,this.render(),this.dispatchEvent(new V(this._format,this.text)))}}function N(t,e){const i=u.Format;switch(e){case i.Original:return t.hasAlpha()?i.RGBA:i.RGB;case i.RGB:case i.RGBA:return t.hasAlpha()?i.HSLA:i.HSL;case i.HSL:case i.HSLA:return t.nickname()?i.Nickname:t.detectHEXFormat();case i.ShortHEX:return i.HEX;case i.ShortHEXA:return i.HEXA;case i.HEXA:case i.HEX:return i.Original;case i.Nickname:return t.detectHEXFormat();default:return i.RGBA}}customElements.get("devtools-color-swatch")||customElements.define("devtools-color-swatch",H);var X=Object.freeze({__proto__:null,UIStrings:B,FormatChangedEvent:V,ColorSwatch:H});const D=/(?<value>[+-]?\d*\.?\d+)(?<unit>deg|grad|rad|turn)/,$=t=>{const e=t.match(D);return e&&e.groups?{value:Number(e.groups.value),unit:e.groups.unit}:null},j=(t,e)=>{let i=t;switch(e){case"grad":i=s.radiansToGradians(t);break;case"deg":i=s.radiansToDegrees(t);break;case"turn":i=s.radiansToTurns(t)}return{value:i,unit:e}},Y=t=>{switch(t.unit){case"deg":return s.degreesToRadians(t.value);case"grad":return s.gradiansToRadians(t.value);case"turn":return s.turnsToRadians(t.value)}return t.value},G=(t,e)=>{const i=Y(t);return{translateX:Math.sin(i)*e,translateY:-Math.cos(i)*e}},K=t=>{let i=t.value;switch(t.unit){case"deg":case"grad":i=Math.round(t.value);break;case"rad":i=Math.round(1e4*t.value)/1e4;break;case"turn":i=Math.round(100*t.value)/100;break;default:e(t.unit,"Unknown angle unit: "+t.unit)}return{value:i,unit:t.unit}},W=t=>{switch(t){case"deg":return"grad";case"grad":return"rad";case"rad":return"turn";default:return"deg"}},q=(t,e)=>{if(t.unit===e)return t;const i=Y(t);return j(i,e)},Z=(t,e)=>{const s=i.getValueModificationDirection(e);if(null===s)return;let n="Up"===s?Math.PI/180:-Math.PI/180;e.shiftKey&&(n*=10);const o=Y(t);return j(o+n,t.unit)};var Q=Object.freeze({__proto__:null,CSSAngleRegex:D,parseText:$,getAngleFromRadians:j,getRadiansFromAngle:Y,get2DTranslationsForAngle:G,roundAngleByUnit:K,getNextUnit:W,convertAngleUnit:q,getNewAngleFromEvent:Z});const{render:J,html:tt}=x,et=b.styleMap;class it extends HTMLElement{constructor(){super(...arguments),this.shadow=this.attachShadow({mode:"open"}),this.angle={value:0,unit:"rad"},this.background="",this.clockRadius=38.5,this.mousemoveThrottler=new _.Throttler(16.67)}connectedCallback(){f.set(this,"--clock-dial-length","6px")}set data(t){this.angle=t.angle,this.onAngleUpdate=t.onAngleUpdate,this.background=t.background,this.render()}updateAngleFromMousePosition(t,e,i){const s=this.shadow.querySelector(".clock");if(!s||!this.onAngleUpdate)return;const{top:n,right:o,bottom:r,left:a}=s.getBoundingClientRect();this.clockRadius=(o-a)/2;const l=(a+o)/2,h=(r+n)/2,d=-Math.atan2(t-l,e-h)+Math.PI;if(i){const t=Y({value:15,unit:"deg"}),e=Math.round(d/t)*t;this.onAngleUpdate(j(e,this.angle.unit))}else this.onAngleUpdate(j(d,this.angle.unit))}onEditorMousedown(t){t.stopPropagation(),this.updateAngleFromMousePosition(t.pageX,t.pageY,t.shiftKey)}onEditorMousemove(t){1===t.buttons&&this.mousemoveThrottler.schedule((()=>(this.updateAngleFromMousePosition(t.pageX,t.pageY,t.shiftKey),Promise.resolve())))}onEditorWheel(t){if(!this.onAngleUpdate)return;const e=Z(this.angle,t);e&&this.onAngleUpdate(e),t.preventDefault()}render(){const t={background:this.background},{translateX:e,translateY:i}=G(this.angle,this.clockRadius/2),s={transform:`translate(${e}px, ${i}px) rotate(${this.angle.value}${this.angle.unit})`};J(tt`
6
+ <style>
7
+ .clock,
8
+ .pointer,
9
+ .center,
10
+ .hand,
11
+ .dial {
12
+ position: absolute;
13
+ }
14
+
15
+ .clock {
16
+ top: 6px;
17
+ width: 6em;
18
+ height: 6em;
19
+ background-color: var(--color-background);
20
+ border: 0.5em solid var(--border-color);
21
+ border-radius: 9em;
22
+ box-shadow: var(--drop-shadow), inset 0 0 15px hsl(0deg 0% 0% / 25%);
23
+ transform: translateX(-3em);
24
+ }
25
+
26
+ .center,
27
+ .hand {
28
+ box-shadow: 0 0 2px hsl(0deg 0% 0% / 20%);
29
+ }
30
+
31
+ .pointer {
32
+ margin: auto;
33
+ top: 0;
34
+ left: -0.4em;
35
+ right: 0;
36
+ width: 0;
37
+ height: 0;
38
+ border-style: solid;
39
+ border-width: 0 0.9em 0.9em 0.9em;
40
+ border-color: transparent transparent var(--border-color) transparent;
41
+ }
42
+
43
+ .center,
44
+ .hand,
45
+ .dial {
46
+ margin: auto;
47
+ top: 0;
48
+ left: 0;
49
+ right: 0;
50
+ bottom: 0;
51
+ }
52
+
53
+ .center {
54
+ width: 0.7em;
55
+ height: 0.7em;
56
+ border-radius: 10px;
57
+ }
58
+
59
+ .dial {
60
+ width: 2px;
61
+ height: var(--clock-dial-length);
62
+ background-color: var(--dial-color);
63
+ border-radius: 1px;
64
+ }
65
+
66
+ .hand {
67
+ height: 50%;
68
+ width: 0.3em;
69
+ background: var(--accent-fg-color);
70
+ }
71
+
72
+ .hand::before {
73
+ content: '';
74
+ display: inline-block;
75
+ position: absolute;
76
+ top: -0.6em;
77
+ left: -0.35em;
78
+ width: 1em;
79
+ height: 1em;
80
+ border-radius: 1em;
81
+ cursor: pointer;
82
+ box-shadow: 0 0 5px hsl(0deg 0% 0% / 30%);
83
+ }
84
+
85
+ .hand::before,
86
+ .center {
87
+ background-color: var(--accent-fg-color);
88
+ }
89
+
90
+ :host-context(.-theme-with-dark-background) .hand::before {
91
+ box-shadow: 0 0 5px hsl(0deg 0% 0% / 80%);
92
+ }
93
+
94
+ :host-context(.-theme-with-dark-background) .center,
95
+ :host-context(.-theme-with-dark-background) .hand {
96
+ box-shadow: 0 0 2px hsl(0deg 0% 0% / 60%);
97
+ }
98
+
99
+ :host-context(.-theme-with-dark-background) .clock {
100
+ background-color: hsl(225deg 5% 27%);
101
+ }
102
+ </style>
103
+
104
+ <div class="editor">
105
+ <span class="pointer"></span>
106
+ <div
107
+ class="clock"
108
+ style=${et(t)}
109
+ @mousedown=${this.onEditorMousedown}
110
+ @mousemove=${this.onEditorMousemove}
111
+ @wheel=${this.onEditorWheel}>
112
+ ${this.renderDials()}
113
+ <div class="hand" style=${et(s)}></div>
114
+ <span class="center"></span>
115
+ </div>
116
+ </div>
117
+ `,this.shadow,{eventContext:this})}renderDials(){return this.dialTemplates||(this.dialTemplates=[0,45,90,135,180,225,270,315].map((t=>{const e=this.clockRadius-6-3,{translateX:i,translateY:s}=G({value:t,unit:"deg"},e);return tt`<span class="dial" style=${et({transform:`translate(${i}px, ${s}px) rotate(${t}deg)`})}></span>`}))),this.dialTemplates}}customElements.get("devtools-css-angle-editor")||customElements.define("devtools-css-angle-editor",it);const{render:st,html:nt}=x,ot=b.styleMap;class rt extends HTMLElement{constructor(){super(...arguments),this.shadow=this.attachShadow({mode:"open"}),this.angle={value:0,unit:"rad"}}set data(t){this.angle=t.angle,this.render()}render(){const{translateX:t,translateY:e}=G(this.angle,2.75),i={transform:`translate(${t}px, ${e}px) rotate(${this.angle.value}${this.angle.unit})`};st(nt`
118
+ <style>
119
+ .swatch {
120
+ position: relative;
121
+ display: inline-block;
122
+ margin-bottom: -2px;
123
+ width: 1em;
124
+ height: 1em;
125
+ border: 1px solid var(--selection-inactive-fg-color);
126
+ border-radius: 1em;
127
+ overflow: hidden;
128
+ cursor: pointer;
129
+ background-color: var(--toolbar-bg-color);
130
+ }
131
+
132
+ .mini-hand {
133
+ position: absolute;
134
+ margin: auto;
135
+ top: 0;
136
+ left: 0;
137
+ right: 0;
138
+ bottom: 0;
139
+ height: 55%;
140
+ width: 2px;
141
+ background-color: var(--accent-fg-color);
142
+ border-radius: 5px;
143
+ }
144
+ </style>
145
+
146
+ <div class="swatch">
147
+ <span class="mini-hand" style=${ot(i)}></span>
148
+ </div>
149
+ `,this.shadow,{eventContext:this})}}customElements.get("devtools-css-angle-swatch")||customElements.define("devtools-css-angle-swatch",rt);const{render:at,html:lt}=x,ht=b.styleMap,dt=new Set(["color","background","background-color"]);class ct extends Event{constructor(t){super("popover-toggled",{}),this.data={open:t}}}class ut extends Event{constructor(t){super("value-changed",{}),this.data={value:t}}}class pt extends Event{constructor(t){super("unit-changed",{}),this.data={value:t}}}const _t={value:0,unit:"rad"};class mt extends HTMLElement{constructor(){super(...arguments),this.shadow=this.attachShadow({mode:"open"}),this.angle=_t,this.displayedAngle=_t,this.propertyName="",this.propertyValue="",this.angleElement=null,this.swatchElement=null,this.popoverOpen=!1,this.popoverStyleTop="",this.onMinifyingAction=this.minify.bind(this),this.onAngleUpdate=this.updateAngle.bind(this)}set data(t){const e=$(t.angleText);e&&(this.angle=e,this.displayedAngle={...e},this.propertyName=t.propertyName,this.propertyValue=t.propertyValue,this.containingPane=t.containingPane,this.render())}disconnectedCallback(){this.unbindMinifyingAction()}popover(){if(!this.containingPane)return;if(this.angleElement||(this.angleElement=this.shadow.querySelector(".css-angle")),this.swatchElement||(this.swatchElement=this.shadow.querySelector("devtools-css-angle-swatch")),!this.angleElement||!this.swatchElement)return;this.dispatchEvent(new ct(!0)),this.bindMinifyingAction();const t=this.swatchElement.getBoundingClientRect().bottom;if(t){const e=this.containingPane.getBoundingClientRect().top;this.popoverStyleTop=t-e+"px"}this.popoverOpen=!0,this.render(),this.angleElement.focus()}minify(){!1!==this.popoverOpen&&(this.popoverOpen=!1,this.dispatchEvent(new ct(!1)),this.unbindMinifyingAction(),this.render())}updateProperty(t,e){this.propertyName=t,this.propertyValue=e,this.render()}updateAngle(t){this.displayedAngle=K(q(t,this.displayedAngle.unit)),this.angle=this.displayedAngle,this.dispatchEvent(new ut(`${this.angle.value}${this.angle.unit}`))}displayNextUnit(){const t=W(this.displayedAngle.unit);this.displayedAngle=K(q(this.angle,t)),this.dispatchEvent(new pt(`${this.displayedAngle.value}${this.displayedAngle.unit}`))}bindMinifyingAction(){document.addEventListener("mousedown",this.onMinifyingAction),this.containingPane&&this.containingPane.addEventListener("scroll",this.onMinifyingAction)}unbindMinifyingAction(){document.removeEventListener("mousedown",this.onMinifyingAction),this.containingPane&&this.containingPane.removeEventListener("scroll",this.onMinifyingAction)}onMiniIconClick(t){t.stopPropagation(),!t.shiftKey||this.popoverOpen?this.popoverOpen?this.minify():this.popover():this.displayNextUnit()}consume(t){t.stopPropagation()}onKeydown(t){if(this.popoverOpen)switch(t.key){case"Escape":t.stopPropagation(),this.minify(),this.blur();break;case"ArrowUp":case"ArrowDown":{const e=Z(this.angle,t);e&&this.updateAngle(e),t.preventDefault();break}}}render(){at(lt`
150
+ <style>
151
+ .css-angle {
152
+ display: inline-block;
153
+ position: relative;
154
+ outline: none;
155
+ }
156
+
157
+ devtools-css-angle-swatch {
158
+ display: inline-block;
159
+ margin-right: 2px;
160
+ user-select: none;
161
+ }
162
+
163
+ devtools-css-angle-editor {
164
+ --dial-color: #a3a3a3;
165
+ --border-color: var(--toolbar-bg-color);
166
+
167
+ position: fixed;
168
+ z-index: 2;
169
+ }
170
+ </style>
171
+
172
+ <div class="css-angle" @keydown=${this.onKeydown} tabindex="-1">
173
+ <div class="preview">
174
+ <devtools-css-angle-swatch
175
+ @click=${this.onMiniIconClick}
176
+ @mousedown=${this.consume}
177
+ @dblclick=${this.consume}
178
+ .data=${{angle:this.angle}}>
179
+ </devtools-css-angle-swatch><slot></slot>
180
+ </div>
181
+ ${this.popoverOpen?this.renderPopover():null}
182
+ </div>
183
+ `,this.shadow,{eventContext:this})}renderPopover(){let t="";return dt.has(this.propertyName)&&!this.propertyValue.match(/url\(.*\)/i)&&(t=this.propertyValue),lt`
184
+ <devtools-css-angle-editor
185
+ class="popover popover-css-angle"
186
+ style=${ht({top:this.popoverStyleTop})}
187
+ .data=${{angle:this.angle,onAngleUpdate:this.onAngleUpdate,background:t}}
188
+ ></devtools-css-angle-editor>
189
+ `}}customElements.get("devtools-css-angle")||customElements.define("devtools-css-angle",mt);var gt=Object.freeze({__proto__:null,PopoverToggledEvent:ct,ValueChangedEvent:ut,UnitChangedEvent:pt,CSSAngle:mt});class ft{constructor(t){this._isBoxShadow=t,this._inset=!1,this._offsetX=xt.zero(),this._offsetY=xt.zero(),this._blurRadius=xt.zero(),this._spreadRadius=xt.zero(),this._color=u.Color.parse("black"),this._format=[vt.OffsetX,vt.OffsetY],this._important=!1}static parseTextShadow(t){return ft._parseShadow(t,!1)}static parseBoxShadow(t){return ft._parseShadow(t,!0)}static _parseShadow(t,e){const i=[],s=y.Utils.splitStringByRegexes(t,[u.Regex,/,/g]);let n=0;for(let e=0;e<s.length;e++)if(1===s[e].regexIndex){const o=s[e];i.push(t.substring(n,o.position)),n=o.position+1}i.push(t.substring(n,t.length));const o=[];for(let t=0;t<i.length;t++){const s=new ft(e);s._format=[];let n=!0;const a=[/!important/gi,/inset/gi,u.Regex,xt.Regex],l=y.Utils.splitStringByRegexes(i[t],a);for(let t=0;t<l.length;t++){const e=l[t];if(-1===e.regexIndex){if(/\S/.test(e.value))return[];n=!0}else{if(!n)return[];if(n=!1,0===e.regexIndex)s._important=!0,s._format.push(vt.Important);else if(1===e.regexIndex)s._inset=!0,s._format.push(vt.Inset);else if(2===e.regexIndex){const t=u.Color.parse(e.value);if(!t)return[];s._color=t,s._format.push(vt.Color)}else if(3===e.regexIndex){const t=xt.parse(e.value);if(!t)return[];const i=s._format.length>0?s._format[s._format.length-1]:"";i===vt.OffsetX?(s._offsetY=t,s._format.push(vt.OffsetY)):i===vt.OffsetY?(s._blurRadius=t,s._format.push(vt.BlurRadius)):i===vt.BlurRadius?(s._spreadRadius=t,s._format.push(vt.SpreadRadius)):(s._offsetX=t,s._format.push(vt.OffsetX))}}}if(r(s,vt.OffsetX,1,1)||r(s,vt.OffsetY,1,1)||r(s,vt.Color,0,1)||r(s,vt.BlurRadius,0,1)||r(s,vt.Inset,0,e?1:0)||r(s,vt.SpreadRadius,0,e?1:0)||r(s,vt.Important,0,1))return[];o.push(s)}return o;function r(t,e,i,s){let n=0;for(let i=0;i<t._format.length;i++)t._format[i]===e&&n++;return n<i||n>s}}setInset(t){this._inset=t,-1===this._format.indexOf(vt.Inset)&&this._format.unshift(vt.Inset)}setOffsetX(t){this._offsetX=t}setOffsetY(t){this._offsetY=t}setBlurRadius(t){if(this._blurRadius=t,-1===this._format.indexOf(vt.BlurRadius)){const t=this._format.indexOf(vt.OffsetY);this._format.splice(t+1,0,vt.BlurRadius)}}setSpreadRadius(t){if(this._spreadRadius=t,-1===this._format.indexOf(vt.SpreadRadius)){this.setBlurRadius(this._blurRadius);const t=this._format.indexOf(vt.BlurRadius);this._format.splice(t+1,0,vt.SpreadRadius)}}setColor(t){this._color=t,-1===this._format.indexOf(vt.Color)&&this._format.push(vt.Color)}isBoxShadow(){return this._isBoxShadow}inset(){return this._inset}offsetX(){return this._offsetX}offsetY(){return this._offsetY}blurRadius(){return this._blurRadius}spreadRadius(){return this._spreadRadius}color(){return this._color}asCSSText(){const t=[];for(let e=0;e<this._format.length;e++){const i=this._format[e];i===vt.Inset&&this._inset?t.push("inset"):i===vt.OffsetX?t.push(this._offsetX.asCSSText()):i===vt.OffsetY?t.push(this._offsetY.asCSSText()):i===vt.BlurRadius?t.push(this._blurRadius.asCSSText()):i===vt.SpreadRadius?t.push(this._spreadRadius.asCSSText()):i===vt.Color?t.push(this._color.asString(this._color.format())):i===vt.Important&&this._important&&t.push("!important")}return t.join(" ")}}const vt={Inset:"I",OffsetX:"X",OffsetY:"Y",BlurRadius:"B",SpreadRadius:"S",Color:"C",Important:"M"};class xt{constructor(t,e){this.amount=t,this.unit=e}static parse(t){const e=new RegExp("^(?:"+xt.Regex.source+")$","i"),i=t.match(e);return i?i.length>2&&i[2]?new xt(parseFloat(i[1]),i[2]):xt.zero():null}static zero(){return new xt(0,"")}asCSSText(){return this.amount+this.unit}}xt.Regex=new RegExp("([+-]?(?:[0-9]*[.])?[0-9]+(?:[eE][+-]?[0-9]+)?)(ch|cm|em|ex|in|mm|pc|pt|px|rem|vh|vmax|vmin|vw)|[+-]?(?:0*[.])?0+(?:[eE][+-]?[0-9]+)?","gi");var St=Object.freeze({__proto__:null,CSSShadowModel:ft,_Part:vt,CSSLength:xt});const wt={type:"Type",outset:"Outset",inset:"Inset",xOffset:"X offset",yOffset:"Y offset",blur:"Blur",spread:"Spread"},bt=v.registerUIStrings("inline_editor/CSSShadowEditor.js",wt),yt=v.getLocalizedString.bind(void 0,bt);class Ct extends n.VBox{constructor(){super(!0),this.registerRequiredCSS("inline_editor/cssShadowEditor.css",{enableLegacyPatching:!0}),this.contentElement.tabIndex=0,this.setDefaultFocusedElement(this.contentElement),this._typeField=this.contentElement.createChild("div","shadow-editor-field shadow-editor-flex-field"),this._typeField.createChild("label","shadow-editor-label").textContent=yt(wt.type),this._outsetButton=this._typeField.createChild("button","shadow-editor-button-left"),this._outsetButton.textContent=yt(wt.outset),this._outsetButton.addEventListener("click",this._onButtonClick.bind(this),!1),this._insetButton=this._typeField.createChild("button","shadow-editor-button-right"),this._insetButton.textContent=yt(wt.inset),this._insetButton.addEventListener("click",this._onButtonClick.bind(this),!1);const t=this.contentElement.createChild("div","shadow-editor-field");this._xInput=this._createTextInput(t,yt(wt.xOffset));const e=this.contentElement.createChild("div","shadow-editor-field");this._yInput=this._createTextInput(e,yt(wt.yOffset)),this._xySlider=t.createChild("canvas","shadow-editor-2D-slider"),this._xySlider.width=88,this._xySlider.height=88,this._xySlider.tabIndex=-1,this._halfCanvasSize=44,this._innerCanvasSize=this._halfCanvasSize-6,i.installDragHandle(this._xySlider,this._dragStart.bind(this),this._dragMove.bind(this),null,"default"),this._xySlider.addEventListener("keydown",this._onCanvasArrowKey.bind(this),!1),this._xySlider.addEventListener("blur",this._onCanvasBlur.bind(this),!1);const s=this.contentElement.createChild("div","shadow-editor-field shadow-editor-flex-field shadow-editor-blur-field");this._blurInput=this._createTextInput(s,yt(wt.blur)),this._blurSlider=this._createSlider(s),this._spreadField=this.contentElement.createChild("div","shadow-editor-field shadow-editor-flex-field"),this._spreadInput=this._createTextInput(this._spreadField,yt(wt.spread)),this._spreadSlider=this._createSlider(this._spreadField),this._model,this._canvasOrigin}_createTextInput(t,e){const s=t.createChild("label","shadow-editor-label");s.textContent=e,s.setAttribute("for",e);const n=i.createInput("shadow-editor-text-input","text");return t.appendChild(n),n.id=e,n.addEventListener("keydown",this._handleValueModification.bind(this),!1),n.addEventListener("mousewheel",this._handleValueModification.bind(this),!1),n.addEventListener("input",this._onTextInput.bind(this),!1),n.addEventListener("blur",this._onTextBlur.bind(this),!1),n}_createSlider(t){const e=i.createSlider(0,20,-1);return e.addEventListener("input",this._onSliderInput.bind(this),!1),t.appendChild(e),e}wasShown(){this._updateUI()}setModel(t){this._model=t,this._typeField.classList.toggle("hidden",!t.isBoxShadow()),this._spreadField.classList.toggle("hidden",!t.isBoxShadow()),this._updateUI()}_updateUI(){this._updateButtons(),this._xInput.value=this._model.offsetX().asCSSText(),this._yInput.value=this._model.offsetY().asCSSText(),this._blurInput.value=this._model.blurRadius().asCSSText(),this._spreadInput.value=this._model.spreadRadius().asCSSText(),this._blurSlider.value=this._model.blurRadius().amount.toString(),this._spreadSlider.value=this._model.spreadRadius().amount.toString(),this._updateCanvas(!1)}_updateButtons(){this._insetButton.classList.toggle("enabled",this._model.inset()),this._outsetButton.classList.toggle("enabled",!this._model.inset())}_updateCanvas(t){const e=this._xySlider.getContext("2d");if(!e)throw new Error("Unable to obtain canvas context");e.clearRect(0,0,this._xySlider.width,this._xySlider.height),e.save(),e.setLineDash([1,1]),e.strokeStyle="rgba(210, 210, 210, 0.8)",e.beginPath(),e.moveTo(this._halfCanvasSize,0),e.lineTo(this._halfCanvasSize,88),e.moveTo(0,this._halfCanvasSize),e.lineTo(88,this._halfCanvasSize),e.stroke(),e.restore();const i=this._sliderThumbPosition();e.save(),e.translate(this._halfCanvasSize,this._halfCanvasSize),e.lineWidth=2,e.strokeStyle="rgba(130, 130, 130, 0.75)",e.beginPath(),e.moveTo(0,0),e.lineTo(i.x,i.y),e.stroke(),t&&(e.beginPath(),e.fillStyle="rgba(66, 133, 244, 0.4)",e.arc(i.x,i.y,8,0,2*Math.PI),e.fill()),e.beginPath(),e.fillStyle="#4285F4",e.arc(i.x,i.y,6,0,2*Math.PI),e.fill(),e.restore()}_onButtonClick(t){const e=t.currentTarget===this._insetButton;e&&this._model.inset()||!e&&!this._model.inset()||(this._model.setInset(e),this._updateButtons(),this.dispatchEventToListeners(It.ShadowChanged,this._model))}_handleValueModification(t){const e=t.currentTarget,s=i.createReplacementString(e.value,t,(function(t,e,i){i.length||(i="px");return t+e+i}));if(!s)return;const n=xt.parse(s);n&&(t.currentTarget===this._blurInput&&n.amount<0&&(n.amount=0),e.value=n.asCSSText(),e.selectionStart=0,e.selectionEnd=e.value.length,this._onTextInput(t),t.consume(!0))}_onTextInput(t){const e=t.currentTarget;this._changedElement=e,this._changedElement.classList.remove("invalid");const i=xt.parse(e.value);!i||e===this._blurInput&&i.amount<0||(e===this._xInput?(this._model.setOffsetX(i),this._updateCanvas(!1)):e===this._yInput?(this._model.setOffsetY(i),this._updateCanvas(!1)):e===this._blurInput?(this._model.setBlurRadius(i),this._blurSlider.value=i.amount.toString()):e===this._spreadInput&&(this._model.setSpreadRadius(i),this._spreadSlider.value=i.amount.toString()),this.dispatchEventToListeners(It.ShadowChanged,this._model))}_onTextBlur(){if(!this._changedElement)return;let t=this._changedElement.value.trim()?xt.parse(this._changedElement.value):xt.zero();if(t||(t=xt.parse(this._changedElement.value+"px")),!t)return this._changedElement.classList.add("invalid"),void(this._changedElement=null);this._changedElement===this._xInput?(this._model.setOffsetX(t),this._xInput.value=t.asCSSText(),this._updateCanvas(!1)):this._changedElement===this._yInput?(this._model.setOffsetY(t),this._yInput.value=t.asCSSText(),this._updateCanvas(!1)):this._changedElement===this._blurInput?(t.amount<0&&(t=xt.zero()),this._model.setBlurRadius(t),this._blurInput.value=t.asCSSText(),this._blurSlider.value=t.amount.toString()):this._changedElement===this._spreadInput&&(this._model.setSpreadRadius(t),this._spreadInput.value=t.asCSSText(),this._spreadSlider.value=t.amount.toString()),this._changedElement=null,this.dispatchEventToListeners(It.ShadowChanged,this._model)}_onSliderInput(t){t.currentTarget===this._blurSlider?(this._model.setBlurRadius(new xt(Number(this._blurSlider.value),this._model.blurRadius().unit||"px")),this._blurInput.value=this._model.blurRadius().asCSSText(),this._blurInput.classList.remove("invalid")):t.currentTarget===this._spreadSlider&&(this._model.setSpreadRadius(new xt(Number(this._spreadSlider.value),this._model.spreadRadius().unit||"px")),this._spreadInput.value=this._model.spreadRadius().asCSSText(),this._spreadInput.classList.remove("invalid")),this.dispatchEventToListeners(It.ShadowChanged,this._model)}_dragStart(t){this._xySlider.focus(),this._updateCanvas(!0),this._canvasOrigin=new s.Point(this._xySlider.totalOffsetLeft()+this._halfCanvasSize,this._xySlider.totalOffsetTop()+this._halfCanvasSize);const e=new s.Point(t.x-this._canvasOrigin.x,t.y-this._canvasOrigin.y),i=this._sliderThumbPosition();return e.distanceTo(i)>=6&&this._dragMove(t),!0}_dragMove(t){let e=new s.Point(t.x-this._canvasOrigin.x,t.y-this._canvasOrigin.y);t.shiftKey&&(e=this._snapToClosestDirection(e));const i=this._constrainPoint(e,this._innerCanvasSize),n=Math.round(i.x/this._innerCanvasSize*20),r=Math.round(i.y/this._innerCanvasSize*20);t.shiftKey?(this._model.setOffsetX(new xt(n,this._model.offsetX().unit||"px")),this._model.setOffsetY(new xt(r,this._model.offsetY().unit||"px"))):(t.altKey||this._model.setOffsetX(new xt(n,this._model.offsetX().unit||"px")),o.KeyboardShortcut.eventHasCtrlOrMeta(t)||this._model.setOffsetY(new xt(r,this._model.offsetY().unit||"px"))),this._xInput.value=this._model.offsetX().asCSSText(),this._yInput.value=this._model.offsetY().asCSSText(),this._xInput.classList.remove("invalid"),this._yInput.classList.remove("invalid"),this._updateCanvas(!0),this.dispatchEventToListeners(It.ShadowChanged,this._model)}_onCanvasBlur(){this._updateCanvas(!1)}_onCanvasArrowKey(e){const i=e;let s=0,n=0;if("ArrowRight"===i.key?s=1:"ArrowLeft"===i.key?s=-1:"ArrowUp"===i.key?n=-1:"ArrowDown"===i.key&&(n=1),s||n){if(e.consume(!0),s){const e=this._model.offsetX(),i=t.clamp(e.amount+s,-20,20);if(i===e.amount)return;this._model.setOffsetX(new xt(i,e.unit||"px")),this._xInput.value=this._model.offsetX().asCSSText(),this._xInput.classList.remove("invalid")}if(n){const e=this._model.offsetY(),i=t.clamp(e.amount+n,-20,20);if(i===e.amount)return;this._model.setOffsetY(new xt(i,e.unit||"px")),this._yInput.value=this._model.offsetY().asCSSText(),this._yInput.classList.remove("invalid")}this._updateCanvas(!0),this.dispatchEventToListeners(It.ShadowChanged,this._model)}}_constrainPoint(t,e){return Math.abs(t.x)<=e&&Math.abs(t.y)<=e?new s.Point(t.x,t.y):t.scale(e/Math.max(Math.abs(t.x),Math.abs(t.y)))}_snapToClosestDirection(t){let e=Number.MAX_VALUE,i=t;const n=[new s.Point(0,-1),new s.Point(1,-1),new s.Point(1,0),new s.Point(1,1)];for(const s of n){const n=t.projectOn(s),o=t.distanceTo(n);o<e&&(e=o,i=n)}return i}_sliderThumbPosition(){const t=this._model.offsetX().amount/20*this._innerCanvasSize,e=this._model.offsetY().amount/20*this._innerCanvasSize;return this._constrainPoint(new s.Point(t,e),this._innerCanvasSize)}}const It={ShadowChanged:Symbol("ShadowChanged")};var Et=Object.freeze({__proto__:null,UIStrings:wt,CSSShadowEditor:Ct,Events:It});const Pt={jumpToDefinition:"Jump to definition",sIsNotDefined:"{PH1} is not defined"},Tt=v.registerUIStrings("inline_editor/CSSVarSwatch.ts",Pt),kt=v.getLocalizedString.bind(void 0,Tt),{render:zt,html:Lt,Directives:Mt}=x,At=/(var\()(\s*--[^,)]+)(.*)/;class Ft extends HTMLElement{constructor(){super(...arguments),this.shadow=this.attachShadow({mode:"open"}),this.text="",this.computedValue=null,this.fromFallback=!1,this.onLinkClick=()=>{}}set data(t){this.text=t.text,this.computedValue=t.computedValue,this.fromFallback=t.fromFallback,this.onLinkClick=t.onLinkClick,this.render()}parseVariableFunctionParts(){const t=this.text.replace(/\s{2,}/g," ").match(At);return t?{pre:t[1],name:t[2],post:t[3]}:null}get variableName(){const t=this.text.match(/--[^,)]+/);return t?t[0]:""}renderLink(t){const e=this.computedValue&&!this.fromFallback,i=Mt.classMap({"css-var-link":!0,undefined:!e}),s=e?kt(Pt.jumpToDefinition):kt(Pt.sIsNotDefined,{PH1:t}),n=e?this.onLinkClick.bind(this,this.variableName.trim()):null;return Lt`<span class="${i}" title="${s}" @mousedown=${n} role="link" tabindex="-1">${t}</span>`}render(){const t=this.parseVariableFunctionParts();if(!t)return void zt("",this.shadow,{eventContext:this});const e=this.renderLink(t.name);zt(Lt`<style>
190
+ .css-var-link:not(.undefined) {
191
+ cursor: pointer;
192
+ text-underline-position: under;
193
+ color: var(--link-color);
194
+ }
195
+
196
+ .css-var-link:hover:not(.undefined) {
197
+ text-decoration: underline;
198
+ }
199
+
200
+ .css-var-link:focus:not(:focus-visible) {
201
+ outline: none;
202
+ }
203
+ </style><span title="${this.computedValue||""}">${t.pre}${e}${t.post}</span>`,this.shadow,{eventContext:this})}}customElements.get("devtools-css-var-swatch")||customElements.define("devtools-css-var-swatch",Ft);var Bt=Object.freeze({__proto__:null,UIStrings:Pt,CSSVarSwatch:Ft});async function Ot(t){const e=r.Context.instance().flavor(C.DOMNode);let i;if(e&&e.parentNode&&"HTML"!==e.nodeName()){const[s]=I.TargetManager.instance().models(P.CSSOverviewModel),n=t?e.parentNode.id:e.id,o=(await s.getComputedStyleForNode(n).then(Rt)).replace(/[a-z]/g,"");i=parseFloat(o)}else i=16;return i}function Rt(t){const e=t.computedStyle;let i=6;if(e[i].name&&"font-size"!==e[i].name)for(let t=0;t<e.length;t++)if("font-size"===e[t].name){i=t;break}return e[i].value}const Ut={expression:"window.innerWidth",objectGroup:void 0,includeCommandLineAPI:!1,silent:!0,contextId:void 0,returnByValue:!1,generatePreview:!1,userGesture:!1,awaitPromise:!0,throwOnSideEffect:!1,timeout:void 0,disableBreaks:!0,replMode:!1,allowUnsafeEvalBlockedByCSP:!1},Vt={expression:"window.innerHeight",objectGroup:void 0,includeCommandLineAPI:!1,silent:!0,contextId:void 0,returnByValue:!1,generatePreview:!1,userGesture:!1,awaitPromise:!0,throwOnSideEffect:!1,timeout:void 0,disableBreaks:!0,replMode:!1,allowUnsafeEvalBlockedByCSP:!1};async function Ht(){const t=r.Context.instance().flavor(E.ExecutionContext);let e,i;if(t){const s=await t.evaluate(Ut,!1,!1),n=await t.evaluate(Vt,!1,!1);if("error"in s||"error"in n)return null;s.object&&(e=s.object.value),n.object&&(i=n.object.value)}if(void 0===e||void 0===i){const t=r.Context.instance().flavor(C.DOMNode);if(!t)return null;const s=await t.domModel().target().pageAgent().invoke_getLayoutMetrics(),n=s.visualViewport.zoom?s.visualViewport.zoom:1;i=s.visualViewport.clientHeight/n,e=s.visualViewport.clientWidth/n}return{width:e,height:i}}const Nt=new Map;async function Xt(t,e,i){let s,n;""===t&&(t="em"),""===e&&(e="em");const o=Nt.get(t),r=Nt.get(e);return o&&r?(s="em"===t||"%"===t?await o(i):await o(),n="em"===e||"%"===e?await r(i):await r(),s/n):1}Nt.set("px",(function(){return 1})),Nt.set("em",Ot),Nt.set("rem",(async function(){const t=function(t){let e=t;for(;e&&"HTML"!==e.nodeName()&&e.parentNode;)e=e.parentNode;return e}(r.Context.instance().flavor(C.DOMNode));if(!t||!t.id)return 16;const[e]=I.TargetManager.instance().models(P.CSSOverviewModel),i=(await e.getComputedStyleForNode(t.id).then(Rt)).replace(/[a-z]/g,"");return parseFloat(i)})),Nt.set("%",(async function(t){return await Ot(t)/100})),Nt.set("vh",(async function(){const t=await Ht();return t?t.height/100:1})),Nt.set("vw",(async function(){const t=await Ht();return t?t.width/100:1})),Nt.set("vmin",(async function(){const t=await Ht();if(!t)return 1;const e=t.width,i=t.height;return Math.min(e,i)/100})),Nt.set("vmax",(async function(){const t=await Ht();if(!t)return 1;const e=t.width,i=t.height;return Math.max(e,i)/100})),Nt.set("cm",(function(){return 37.795})),Nt.set("mm",(function(){return 3.7795})),Nt.set("in",(function(){return 96})),Nt.set("pt",(function(){return 4/3})),Nt.set("pc",(function(){return 16}));var Dt=Object.freeze({__proto__:null,getUnitConversionMultiplier:Xt});const $t=new Set(["px","em","rem","%","vh","vw"]),jt=new Set(["","px","em","%"]),Yt=new Set(["em","rem","px"]),Gt=["","xx-small","x-small","smaller","small","medium","large","larger","x-large","xx-large"],Kt=["","normal"],Wt=["","lighter","normal","bold","bolder"],qt=["","normal"],Zt=["inherit","initial","unset"];Gt.push(...Zt),Kt.push(...Zt),Wt.push(...Zt),qt.push(...Zt);const Qt=new Set(Gt),Jt=new Set(Kt),te=new Set(Wt),ee=new Set(qt),ie=new Map([["px",{min:0,max:72,step:1}],["em",{min:0,max:4.5,step:.1}],["rem",{min:0,max:4.5,step:.1}],["%",{min:0,max:450,step:1}],["vh",{min:0,max:10,step:.1}],["vw",{min:0,max:10,step:.1}],["vmin",{min:0,max:10,step:.1}],["vmax",{min:0,max:10,step:.1}],["cm",{min:0,max:2,step:.1}],["mm",{min:0,max:20,step:.1}],["in",{min:0,max:1,step:.01}],["pt",{min:0,max:54,step:1}],["pc",{min:0,max:4.5,step:.1}]]),se=new Map([["",{min:0,max:2,step:.1}],["em",{min:0,max:2,step:.1}],["%",{min:0,max:200,step:1}],["px",{min:0,max:32,step:1}],["rem",{min:0,max:2,step:.1}],["vh",{min:0,max:4.5,step:.1}],["vw",{min:0,max:4.5,step:.1}],["vmin",{min:0,max:4.5,step:.1}],["vmax",{min:0,max:4.5,step:.1}],["cm",{min:0,max:1,step:.1}],["mm",{min:0,max:8.5,step:.1}],["in",{min:0,max:.5,step:.1}],["pt",{min:0,max:24,step:1}],["pc",{min:0,max:2,step:.1}]]),ne=new Map([["",{min:100,max:700,step:100}]]),oe=new Map([["px",{min:-10,max:10,step:.01}],["em",{min:-.625,max:.625,step:.001}],["rem",{min:-.625,max:.625,step:.001}],["%",{min:-62.5,max:62.5,step:.1}],["vh",{min:-1.5,max:1.5,step:.01}],["vw",{min:-1.5,max:1.5,step:.01}],["vmin",{min:-1.5,max:1.5,step:.01}],["vmax",{min:-1.5,max:1.5,step:.01}],["cm",{min:-.25,max:.025,step:.001}],["mm",{min:-2.5,max:2.5,step:.01}],["in",{min:-.1,max:.1,step:.001}],["pt",{min:-7.5,max:7.5,step:.01}],["pc",{min:-.625,max:.625,step:.001}]]),re={regex:/(^[\+\d\.]+)([a-zA-Z%]+)/,units:$t,keyValues:Qt,rangeMap:ie,defaultUnit:"px"},ae={regex:/(^[\+\d\.]+)([a-zA-Z%]*)/,units:jt,keyValues:Jt,rangeMap:se,defaultUnit:""},le={regex:/(^[\+\d\.]+)/,units:null,keyValues:te,rangeMap:ne,defaultUnit:null},he={regex:/([\+-0-9\.]+)([a-zA-Z%]+)/,units:Yt,keyValues:ee,rangeMap:oe,defaultUnit:"em"},de=["Arial","Bookman","Candara","Comic Sans MS","Courier New","Garamond","Georgia","Helvetica","Impact","Palatino","Roboto","Times New Roman","Verdana"],ce=["serif","sans-serif","monspace","cursive","fantasy","system-ui","ui-serif","ui-sans-serif","ui-monospace","ui-rounded","emoji","math","fangsong"];async function ue(){const t=I.TargetManager.instance().models(P.CSSOverviewModel);if(t){const e=t[0];if(e){const{fontInfo:t}=await Promise.resolve(e.getNodeStyleStats());return Array.from(t.keys())}}return[]}function pe(t){switch(t){case 1:return 0;case.1:return 1;case.01:return 2;case.001:return 3;default:return 0}}var _e=Object.freeze({__proto__:null,FontPropertiesRegex:/^[^- ][a-zA-Z-]+|-?\+?(?:[0-9]+\.[0-9]+|\.[0-9]+|[0-9]+)[a-zA-Z%]{0,4}/,FontFamilyRegex:/(?:"[\w \,-]+",? ?|'[\w \,-]+',? ?|[\w \,-]+,? ?)+/,GlobalValues:Zt,FontSizeStaticParams:re,LineHeightStaticParams:ae,FontWeightStaticParams:le,LetterSpacingStaticParams:he,SystemFonts:de,GenericFonts:ce,generateComputedFontArray:ue,getRoundingPrecision:pe});const me={fontFamily:"Font Family",cssProperties:"CSS Properties",fontSize:"Font Size",lineHeight:"Line Height",fontWeight:"Font Weight",spacing:"Spacing",fallbackS:"Fallback {PH1}",thereIsNoValueToDeleteAtIndexS:"There is no value to delete at index: {PH1}",fontSelectorDeletedAtIndexS:"Font Selector deleted at index: {PH1}",deleteS:"Delete {PH1}",PleaseEnterAValidValueForSText:"* Please enter a valid value for {PH1} text input",thisPropertyIsSetToContainUnits:"This property is set to contain units but does not have a defined corresponding unitsArray: {PH1}",sSliderInput:"{PH1} Slider Input",sTextInput:"{PH1} Text Input",units:"Units",sUnitInput:"{PH1} Unit Input",sKeyValueSelector:"{PH1} Key Value Selector",sToggleInputType:"{PH1} toggle input type",selectorInputMode:"Selector Input Mode",sliderInputMode:"Slider Input Mode"},ge=v.registerUIStrings("inline_editor/FontEditor.js",me),fe=v.getLocalizedString.bind(void 0,ge);class ve extends n.VBox{constructor(t){super(!0),this.registerRequiredCSS("inline_editor/fontEditor.css",{enableLegacyPatching:!0}),this._selectedNode=r.Context.instance().flavor(C.DOMNode),this._propertyMap=t,this.contentElement.tabIndex=0,this.setDefaultFocusedElement(this.contentElement),this._fontSelectorSection=this.contentElement.createChild("div","font-selector-section"),this._fontSelectorSection.createChild("h2","font-section-header").textContent=fe(me.fontFamily),this._fontSelectors=[],this._fontsList=null;const e=this._propertyMap.get("font-family");this._createFontSelectorSection(e);const i=this.contentElement.createChild("div","font-section");i.createChild("h2","font-section-header").textContent=fe(me.cssProperties);const s=this._getPropertyInfo("font-size",re.regex),n=this._getPropertyInfo("line-height",ae.regex),o=this._getPropertyInfo("font-weight",le.regex),a=this._getPropertyInfo("letter-spacing",he.regex);new Se("font-size",fe(me.fontSize),i,s,re,this._updatePropertyValue.bind(this),this._resizePopout.bind(this),!0),new Se("line-height",fe(me.lineHeight),i,n,ae,this._updatePropertyValue.bind(this),this._resizePopout.bind(this),!0),new Se("font-weight",fe(me.fontWeight),i,o,le,this._updatePropertyValue.bind(this),this._resizePopout.bind(this),!1),new Se("letter-spacing",fe(me.spacing),i,a,he,this._updatePropertyValue.bind(this),this._resizePopout.bind(this),!0)}async _createFontSelectorSection(t){if(t){const e=t.split(",");if(await this._createFontSelector(e[0],!0),!Zt.includes(e[0]))for(let t=1;t<e.length+1;t++)this._createFontSelector(e[t])}else this._createFontSelector("",!0);this._resizePopout()}async _createFontsList(){const t=await ue(),e=new Map,i=this._splitComputedFontArray(t);e.set("Computed Fonts",i);const s=new Map;s.set("System Fonts",de),s.set("Generic Families",ce);const n=[];return n.push(e),n.push(s),n}_splitComputedFontArray(t){const e=[];for(const i of t)if(i.includes(",")){i.split(",").forEach((t=>{-1===e.findIndex((e=>e.toLowerCase()===t.trim().toLowerCase().replace(/"/g,"'")))&&e.push(t.trim().replace(/"/g,""))}))}else-1===e.findIndex((t=>t.toLowerCase()===i.toLowerCase().replace('"',"'")))&&e.push(i.replace(/"/g,""));return e}async _createFontSelector(t,e){if(t=t?t.trim():""){const e=t.charAt(0);"'"===e?t=t.replace(/'/g,""):'"'===e&&(t=t.replace(/"/g,""))}const i=this._fontSelectorSection.createChild("div","shadow-editor-field shadow-editor-flex-field");let s;if(this._fontsList||(this._fontsList=await this._createFontsList()),e){s=fe(me.fontFamily);const e=new Map([["Global Values",Zt]]),n=[...this._fontsList];n.push(e),this._createSelector(i,s,n,t.trim())}else s=fe(me.fallbackS,{PH1:this._fontSelectors.length}),this._createSelector(i,s,this._fontsList,t.trim())}_deleteFontSelector(t,e){let i=this._fontSelectors[t];const s=0===t;if(""===i.input.value&&!e)return void a.alert(fe(me.thereIsNoValueToDeleteAtIndexS,{PH1:t}),this.contentElement);if(s){const e=this._fontSelectors[1];let s="";e&&(s=e.input.value,i=e);this._fontSelectors[0].input.value=s,t=1}if(i.input.parentNode){const e=this._fontSelectors.length>1;if(!s||e){const e=i.input.parentElement;e&&(e.remove(),this._fontSelectors.splice(t,1),this._updateFontSelectorList())}a.alert(fe(me.fontSelectorDeletedAtIndexS,{PH1:t}),this.contentElement)}this._onFontSelectorChanged(),this._resizePopout();const n=s?0:t-1;this._fontSelectors[n].input.focus()}_updateFontSelectorList(){for(let t=0;t<this._fontSelectors.length;t++){const e=this._fontSelectors[t];let i;i=0===t?fe(me.fontFamily):fe(me.fallbackS,{PH1:t}),e.label.textContent=i,a.setAccessibleName(e.input,i),e.deleteButton.setTitle(fe(me.deleteS,{PH1:i})),e.index=t}}_getPropertyInfo(t,e){const i=this._propertyMap.get(t);if(i){const t=i,s=t.match(e);if(s){return{value:"+"===s[1].charAt(0)?s[1].substr(1):s[1],units:s[2]?s[2]:""}}return{value:t,units:null}}return{value:null,units:null}}_createSelector(t,e,s,n){const o=this._fontSelectors.length,r=i.createSelect(e,s);r.value=n;const a=i.createLabel(e,"shadow-editor-label",r);r.addEventListener("input",this._onFontSelectorChanged.bind(this),!1),r.addEventListener("keydown",(t=>{"Enter"===t.key&&t.consume()}),!1),t.appendChild(a),t.appendChild(r);const h=new l.Toolbar("",t),d=new l.ToolbarButton(fe(me.deleteS,{PH1:e}),"largeicon-trash-bin");h.appendToolbarItem(d);const c={label:a,input:r,deleteButton:d,index:o};d.addEventListener(l.ToolbarButton.Events.Click,(()=>{this._deleteFontSelector(c.index)})),d.element.addEventListener("keydown",(t=>{isEnterOrSpaceKey(t)&&(this._deleteFontSelector(c.index),t.consume())}),!1),this._fontSelectors.push(c)}_onFontSelectorChanged(){let t="";const e=Zt.includes(this._fontSelectors[0].input.value);if(e)for(let t=1;t<this._fontSelectors.length;t++)this._deleteFontSelector(t,!0);for(const e of this._fontSelectors){const i=e.input;""!==i.value&&(""===t?t=this._fontSelectors[0].input.value:t+=", "+i.value)}""!==this._fontSelectors[this._fontSelectors.length-1].input.value&&!e&&this._fontSelectors.length<10&&(this._createFontSelector(""),this._resizePopout()),this._updatePropertyValue("font-family",t)}_updatePropertyValue(t,e){this.dispatchEventToListeners(xe.FontChanged,{propertyName:t,value:e})}_resizePopout(){this.dispatchEventToListeners(xe.FontEditorResized)}}const xe={FontChanged:Symbol("FontChanged"),FontEditorResized:Symbol("FontEditorResized")};class Se{constructor(t,e,i,s,n,o,l,h){this._showSliderMode=!0;const d=i.createChild("div","shadow-editor-field shadow-editor-flex-field");if(this._errorText=i.createChild("div","error-text"),this._errorText.textContent=fe(me.PleaseEnterAValidValueForSText,{PH1:t}),this._errorText.hidden=!0,a.markAsAlert(this._errorText),this._propertyInfo=s,this._propertyName=t,this._staticParams=n,this._hasUnits=h,this._hasUnits&&this._staticParams.units&&null!==this._staticParams.defaultUnit){const t=this._staticParams.defaultUnit;this._units=null!==s.units?s.units:t,this._addedUnit=!this._staticParams.units.has(this._units)}else{if(this._hasUnits)throw new Error(fe(me.thisPropertyIsSetToContainUnits,{PH1:t}));this._units=""}this._initialRange=this._getUnitRange(),this._boundUpdateCallback=o,this._boundResizeCallback=l,this._selectedNode=r.Context.instance().flavor(C.DOMNode),this._sliderInput=this._createSliderInput(d,e),this._textBoxInput=this._createTextBoxInput(d),this._unitInput=this._createUnitInput(d),this._selectorInput=this._createSelectorInput(d),this._createTypeToggle(d),this._checkSelectorValueAndToggle(),this._applyNextInput=!1}_setInvalidTextBoxInput(t){t?this._errorText.hidden&&(this._errorText.hidden=!1,this._textBoxInput.classList.add("error-input"),this._boundResizeCallback()):this._errorText.hidden||(this._errorText.hidden=!0,this._textBoxInput.classList.remove("error-input"),this._boundResizeCallback())}_checkSelectorValueAndToggle(){return!(!this._staticParams.keyValues||null===this._propertyInfo.value||!this._staticParams.keyValues.has(this._propertyInfo.value))&&(this._toggleInputType(),!0)}_getUnitRange(){let t=0,e=100,i=1;if(null!==this._propertyInfo.value&&/\d/.test(this._propertyInfo.value))if(this._staticParams.rangeMap.get(this._units)){const s=this._staticParams.rangeMap.get(this._units);s&&(t=Math.min(s.min,parseFloat(this._propertyInfo.value)),e=Math.max(s.max,parseFloat(this._propertyInfo.value)),i=s.step)}else{const s=this._staticParams.rangeMap.get("px");s&&(t=Math.min(s.min,parseFloat(this._propertyInfo.value)),e=Math.max(s.max,parseFloat(this._propertyInfo.value)),i=s.step)}else{const s=this._staticParams.rangeMap.get(this._units);s&&(t=s.min,e=s.max,i=s.step)}return{min:t,max:e,step:i}}_createSliderInput(t,e){const s=this._initialRange.min,n=this._initialRange.max,o=this._initialRange.step,r=i.createSlider(s,n,-1);r.sliderElement.step=o.toString(),r.sliderElement.tabIndex=0;const l=i.createLabel(e,"shadow-editor-label",r);if(this._propertyInfo.value)r.value=parseFloat(this._propertyInfo.value);else{const t=(s+n)/2;r.value=t}return r.addEventListener("input",(t=>{this._onSliderInput(t,!1)})),r.addEventListener("mouseup",(t=>{this._onSliderInput(t,!0)})),r.addEventListener("keydown",(t=>{"ArrowUp"!==t.key&&"ArrowDown"!==t.key&&"ArrowLeft"!==t.key&&"ArrowRight"!==t.key||(this._applyNextInput=!0)})),t.appendChild(l),t.appendChild(r),a.setAccessibleName(r.sliderElement,fe(me.sSliderInput,{PH1:this._propertyName})),r}_createTextBoxInput(t){const e=i.createInput("shadow-editor-text-input","number");return e.step=this._initialRange.step.toString(),e.classList.add("font-editor-text-input"),null!==this._propertyInfo.value&&("+"===this._propertyInfo.value.charAt(0)&&(this._propertyInfo.value=this._propertyInfo.value.substr(1)),e.value=this._propertyInfo.value),e.step="any",e.addEventListener("input",this._onTextBoxInput.bind(this),!1),t.appendChild(e),a.setAccessibleName(e,fe(me.sTextInput,{PH1:this._propertyName})),e}_createUnitInput(t){let e;if(this._hasUnits&&this._staticParams.units){const t=this._propertyInfo.units,s=this._staticParams.units;e=i.createSelect(fe(me.units),s),e.classList.add("font-editor-select"),this._addedUnit&&t&&e.add(new Option(t,t)),t&&(e.value=t),e.addEventListener("change",this._onUnitInput.bind(this),!1)}else e=i.createSelect(fe(me.units),[]),e.classList.add("font-editor-select"),e.disabled=!0;return e.addEventListener("keydown",(t=>{"Enter"===t.key&&t.consume()}),!1),t.appendChild(e),a.setAccessibleName(e,fe(me.sUnitInput,{PH1:this._propertyName})),e}_createSelectorInput(t){const e=i.createSelect(fe(me.sKeyValueSelector,{PH1:this._propertyName}),this._staticParams.keyValues);return e.classList.add("font-selector-input"),this._propertyInfo.value&&(e.value=this._propertyInfo.value),e.addEventListener("input",this._onSelectorInput.bind(this),!1),e.addEventListener("keydown",(t=>{"Enter"===t.key&&t.consume()}),!1),t.appendChild(e),e.hidden=!0,e}_onSelectorInput(t){if(t.currentTarget){const e=t.currentTarget.value;this._textBoxInput.value="";const i=(parseFloat(this._sliderInput.sliderElement.min)+parseFloat(this._sliderInput.sliderElement.max))/2;this._sliderInput.value=i,this._setInvalidTextBoxInput(!1),this._boundUpdateCallback(this._propertyName,e)}}_onSliderInput(t,e){const i=t.currentTarget;if(i){const t=i.value;this._textBoxInput.value=t,this._selectorInput.value="";const s=this._hasUnits?t+this._unitInput.value:t.toString();this._setInvalidTextBoxInput(!1),(e||this._applyNextInput)&&(this._boundUpdateCallback(this._propertyName,s),this._applyNextInput=!1)}}_onTextBoxInput(t){const e=t.currentTarget;if(e){const t=e.value,i=t+(""===t?"":this._unitInput.value);this._staticParams.regex.test(i)||""===t&&!e.validationMessage.length?(parseFloat(t)>parseFloat(this._sliderInput.sliderElement.max)?this._sliderInput.sliderElement.max=t:parseFloat(t)<parseFloat(this._sliderInput.sliderElement.min)&&(this._sliderInput.sliderElement.min=t),this._sliderInput.value=parseFloat(t),this._selectorInput.value="",this._setInvalidTextBoxInput(!1),this._boundUpdateCallback(this._propertyName,i)):this._setInvalidTextBoxInput(!0)}}async _onUnitInput(t){const e=t.currentTarget,i=e.hasFocus(),s=e.value;e.disabled=!0;const n=this._units,o=await Xt(n,s,"font-size"===this._propertyName);this._setInputUnits(o,s),this._textBoxInput.value&&this._boundUpdateCallback(this._propertyName,this._textBoxInput.value+s),this._units=s,e.disabled=!1,i&&e.focus()}_createTypeToggle(t){const e=t.createChild("div","spectrum-switcher");!function(t){const e=i.createSVGChild(t,"svg");e.setAttribute("height","16"),e.setAttribute("width","16");i.createSVGChild(e,"path").setAttribute("d","M5,6 L11,6 L8,2 Z M5,10 L11,10 L8,14 Z")}(e),i.setTitle(e,fe(me.sToggleInputType,{PH1:this._propertyName})),e.tabIndex=0,self.onInvokeElement(e,this._toggleInputType.bind(this)),a.markAsButton(e)}_toggleInputType(t){t&&"Enter"===t.key&&t.consume(),this._showSliderMode?(this._sliderInput.hidden=!0,this._textBoxInput.hidden=!0,this._unitInput.hidden=!0,this._selectorInput.hidden=!1,this._showSliderMode=!1,a.alert(fe(me.selectorInputMode),this._textBoxInput)):(this._sliderInput.hidden=!1,this._textBoxInput.hidden=!1,this._unitInput.hidden=!1,this._selectorInput.hidden=!0,this._showSliderMode=!0,a.alert(fe(me.sliderInputMode),this._textBoxInput))}_setInputUnits(t,e){const i=this._staticParams.rangeMap.get(e);let s,n,o;i?(s=i.min,n=i.max,o=i.step):(s=0,n=100,o=1);let r=!1;const a=pe(o);let l=(s+n)/2;this._textBoxInput.value&&(r=!0,l=parseFloat((parseFloat(this._textBoxInput.value)*t).toFixed(a))),this._sliderInput.sliderElement.min=Math.min(l,s).toString(),this._sliderInput.sliderElement.max=Math.max(l,n).toString(),this._sliderInput.sliderElement.step=o.toString(),this._textBoxInput.step=o.toString(),r&&(this._textBoxInput.value=l.toString()),this._sliderInput.value=l}}var we=Object.freeze({__proto__:null,UIStrings:me,FontEditor:ve,Events:xe});class be extends HTMLSpanElement{constructor(){super();const t=h.createShadowRootWithCoreStyles(this,{cssFile:"inline_editor/bezierSwatch.css",enableLegacyPatching:!0,delegatesFocus:void 0});this._iconElement=d.Icon.create("smallicon-bezier","bezier-swatch-icon"),t.appendChild(this._iconElement),this._textElement=this.createChild("span"),t.createChild("slot")}static create(){let t=be._constructor;return t||(t=h.registerCustomElement("span","bezier-swatch",be),be._constructor=t),t()}bezierText(){return this._textElement.textContent||""}setBezierText(t){this._textElement.textContent=t}hideText(t){this._textElement.hidden=t}iconElement(){return this._iconElement}}be._constructor=null;class ye extends HTMLSpanElement{constructor(){super();const t=h.createShadowRootWithCoreStyles(this,{cssFile:"inline_editor/cssShadowSwatch.css",enableLegacyPatching:!0,delegatesFocus:void 0});this._iconElement=d.Icon.create("smallicon-shadow","shadow-swatch-icon"),t.appendChild(this._iconElement),t.createChild("slot"),this._contentElement=this.createChild("span"),this._colorSwatch}static create(){let t=ye._constructor;return t||(t=h.registerCustomElement("span","css-shadow-swatch",ye),ye._constructor=t),t()}model(){return this._model}setCSSShadow(t){this._model=t,this._contentElement.removeChildren();const e=y.Utils.splitStringByRegexes(t.asCSSText(),[/!important/g,/inset/g,u.Regex]);for(let i=0;i<e.length;i++){const s=e[i];if(2===s.regexIndex){if(!this._colorSwatch){this._colorSwatch=new H;const t=this._colorSwatch.createChild("span");this._colorSwatch.addEventListener("format-changed",(e=>{t.textContent=e.data.text}))}this._colorSwatch.renderColor(t.color());const e=this._colorSwatch.querySelector("span");e&&(e.textContent=t.color().asString()),this._contentElement.appendChild(this._colorSwatch)}else this._contentElement.appendChild(document.createTextNode(s.value))}}hideText(t){this._contentElement.hidden=t}iconElement(){return this._iconElement}colorSwatch(){return this._colorSwatch}}ye._constructor=null;var Ce=Object.freeze({__proto__:null,BezierSwatch:be,CSSShadowSwatch:ye});class Ie extends m.ObjectWrapper{constructor(){super(),this._popover=new c.GlassPane,this._popover.registerRequiredCSS("inline_editor/swatchPopover.css",{enableLegacyPatching:!1}),this._popover.setSizeBehavior(c.SizeBehavior.MeasureContent),this._popover.setMarginBehavior(c.MarginBehavior.Arrow),this._popover.element.addEventListener("mousedown",(t=>t.consume()),!1),this._hideProxy=this.hide.bind(this,!0),this._boundOnKeyDown=this._onKeyDown.bind(this),this._boundFocusOut=this._onFocusOut.bind(this),this._isHidden=!0,this._anchorElement=null}_onFocusOut(t){const e=t.relatedTarget;!this._isHidden&&e&&this._view&&!e.isSelfOrDescendant(this._view.contentElement)&&this._hideProxy()}isShowing(){return this._popover.isShowing()}show(t,e,i){if(this._popover.isShowing()){if(this._anchorElement===e)return;this.hide(!0)}this.dispatchEventToListeners(Ee.WillShowPopover),this._isHidden=!1,this._anchorElement=e,this._view=t,this._hiddenCallback=i,this.reposition(),t.focus();const s=this._popover.element.ownerDocument;s.addEventListener("mousedown",this._hideProxy,!1),s.defaultView&&s.defaultView.addEventListener("resize",this._hideProxy,!1),this._view.contentElement.addEventListener("keydown",this._boundOnKeyDown,!1)}reposition(){if(!this._isHidden&&this._view){if(this._view.contentElement.removeEventListener("focusout",this._boundFocusOut,!1),this._view.show(this._popover.contentElement),this._anchorElement){let t=this._anchorElement.boxInWindow();if(H.isColorSwatch(this._anchorElement)){const e=this._anchorElement;if(!e.anchorBox)return;t=e.anchorBox}this._popover.setContentAnchorBox(t),this._popover.show(this._anchorElement.ownerDocument)}this._view.contentElement.addEventListener("focusout",this._boundFocusOut,!1),this._focusRestorer||(this._focusRestorer=new n.WidgetFocusRestorer(this._view))}}hide(t){if(this._isHidden)return;const e=this._popover.element.ownerDocument;this._isHidden=!0,this._popover.hide(),e.removeEventListener("mousedown",this._hideProxy,!1),e.defaultView&&e.defaultView.removeEventListener("resize",this._hideProxy,!1),this._hiddenCallback&&this._hiddenCallback.call(null,Boolean(t)),this._focusRestorer&&this._focusRestorer.restore(),this._anchorElement=null,this._view&&(this._view.detach(),this._view.contentElement.removeEventListener("keydown",this._boundOnKeyDown,!1),this._view.contentElement.removeEventListener("focusout",this._boundFocusOut,!1),delete this._view)}_onKeyDown(t){const e=t;if("Enter"===e.key)return this.hide(!0),void e.consume(!0);"Escape"===e.key&&(this.hide(!1),e.consume(!0))}}const Ee={WillShowPopover:Symbol("WillShowPopover")};var Pe=Object.freeze({__proto__:null,SwatchPopoverHelper:Ie,Events:Ee});export{F as BezierEditor,z as BezierUI,gt as CSSAngle,gt as CSSAngleImpl,Q as CSSAngleUtils,Et as CSSShadowEditor,St as CSSShadowModel,Bt as CSSVarSwatch,Bt as CSSVarSwatchImpl,X as ColorSwatch,X as ColorSwatchImpl,we as FontEditor,Dt as FontEditorUnitConverter,_e as FontEditorUtils,Pe as SwatchPopoverHelper,Ce as Swatches};
@@ -0,0 +1 @@
1
+ import*as RootModule from'../root/root.js';RootModule.Runtime.cachedResources.set("inline_editor/bezierEditor.css","/*\n * Copyright (c) 2015 The Chromium Authors. All rights reserved.\n * Use of this source code is governed by a BSD-style license that can be\n * found in the LICENSE file.\n */\n\n:host {\n width: 270px;\n height: 350px;\n user-select: none;\n padding: 16px;\n overflow: hidden;\n}\n\n.bezier-preset-selected > svg {\n background-color: var(--selection-bg-color);\n}\n\n.bezier-preset {\n width: 50px;\n height: 50px;\n padding: 5px;\n margin: auto;\n background-color: #f5f5f5;\n border-radius: 3px;\n}\n\n.bezier-preset line.bezier-control-line {\n stroke: #666;\n stroke-width: 1;\n stroke-linecap: round;\n fill: none;\n}\n\n.bezier-preset circle.bezier-control-circle {\n fill: #666;\n}\n\n.bezier-preset path.bezier-path {\n stroke: black;\n stroke-width: 2;\n stroke-linecap: round;\n fill: none;\n}\n\n.bezier-preset-selected path.bezier-path,\n.bezier-preset-selected line.bezier-control-line {\n stroke: white;\n}\n\n.bezier-preset-selected circle.bezier-control-circle {\n fill: white;\n}\n\n.bezier-curve line.linear-line {\n stroke: rgb(238 238 238);\n stroke-width: 2;\n stroke-linecap: round;\n fill: none;\n}\n\n:host-context(.-theme-with-dark-background) .bezier-curve line.linear-line {\n stroke: rgb(138 138 138);\n}\n\n.bezier-curve line.bezier-control-line {\n stroke: #9c27b0;\n stroke-width: 2;\n stroke-linecap: round;\n fill: none;\n opacity: 60%;\n}\n\n.bezier-curve circle.bezier-control-circle {\n fill: #9c27b0;\n cursor: pointer;\n}\n\n.bezier-curve path.bezier-path {\n stroke: black;\n stroke-width: 3;\n stroke-linecap: round;\n fill: none;\n}\n\n.bezier-preview-container {\n position: relative;\n background-color: var(--color-background);\n overflow: hidden;\n border-radius: 20px;\n width: 200%;\n height: 20px;\n z-index: 2;\n flex-shrink: 0;\n opacity: 0%;\n}\n\n.bezier-preview-animation {\n background-color: #9c27b0;\n width: 20px;\n height: 20px;\n border-radius: 20px;\n position: absolute;\n}\n\n.bezier-preview-onion {\n margin-top: -20px;\n position: relative;\n z-index: 1;\n}\n\n.bezier-preview-onion > .bezier-preview-animation {\n opacity: 10%;\n}\n\nsvg.bezier-preset-modify {\n background-color: #f5f5f5;\n border-radius: 35px;\n display: inline-block;\n visibility: hidden;\n transition: transform 100ms cubic-bezier(0.4, 0, 0.2, 1);\n cursor: pointer;\n position: absolute;\n}\n\nsvg.bezier-preset-modify:hover,\n.bezier-preset:hover {\n background-color: #999;\n}\n\n.bezier-preset-selected .bezier-preset:hover {\n background-color: var(--selection-bg-color);\n}\n\n.bezier-preset-modify path {\n stroke-width: 2;\n stroke: black;\n fill: none;\n}\n\n.bezier-preset-selected .bezier-preset-modify {\n opacity: 100%;\n}\n\n.bezier-preset-category {\n width: 50px;\n margin: 20px 0;\n cursor: pointer;\n transition: transform 100ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n\nspan.bezier-display-value {\n width: 100%;\n user-select: text;\n display: block;\n text-align: center;\n line-height: 20px;\n height: 20px;\n cursor: text;\n white-space: nowrap !important;\n}\n\n.bezier-container {\n display: flex;\n margin-top: 38px;\n}\n\nsvg.bezier-curve {\n margin-left: 32px;\n margin-top: -8px;\n}\n\nsvg.bezier-preset-modify.bezier-preset-plus {\n right: 0;\n}\n\n.bezier-header {\n margin-top: 16px;\n}\n\nsvg.bezier-preset-modify:active {\n transform: scale(1.1);\n background-color: var(--selection-bg-color);\n}\n\n.bezier-preset-category:active {\n transform: scale(1.05);\n}\n\n.bezier-header-active > svg.bezier-preset-modify {\n visibility: visible;\n}\n\n.bezier-preset-modify:active path {\n stroke: white;\n}\n\n/*# sourceURL=inline_editor/bezierEditor.css */");RootModule.Runtime.cachedResources.set("inline_editor/colorSwatch.css","/*\n * Copyright (c) 2015 The Chromium Authors. All rights reserved.\n * Use of this source code is governed by a BSD-style license that can be\n * found in the LICENSE file.\n */\n\n:host {\n white-space: nowrap;\n}\n\n.color-swatch {\n position: relative;\n margin-left: 1px;\n margin-right: 2px;\n width: 10px;\n height: 10px;\n top: 1px;\n display: inline-block;\n user-select: none;\n background-image: url(Images/checker.png);\n line-height: 10px;\n}\n\n.color-swatch-inner {\n width: 100%;\n height: 100%;\n display: inline-block;\n border: 1px solid rgb(128 128 128 / 60%);\n box-sizing: border-box;\n cursor: pointer;\n}\n\n.color-swatch:not(.read-only) .color-swatch-inner:hover {\n border: 1px solid rgb(64 64 64 / 80%);\n}\n\n@media (forced-colors: active) {\n .color-swatch {\n forced-color-adjust: none;\n }\n}\n\n/*# sourceURL=inline_editor/colorSwatch.css */");RootModule.Runtime.cachedResources.set("inline_editor/bezierSwatch.css","/*\n * Copyright 2016 The Chromium Authors. All rights reserved.\n * Use of this source code is governed by a BSD-style license that can be\n * found in the LICENSE file.\n */\n\n:host {\n white-space: nowrap;\n}\n\n.bezier-swatch-icon {\n position: relative;\n margin-left: 1px;\n margin-right: 2px;\n top: 1px;\n user-select: none;\n line-height: 10px;\n background-color: #9c27b0;\n cursor: default;\n}\n\n.bezier-swatch-icon:hover {\n background-color: #800080;\n}\n\n/*# sourceURL=inline_editor/bezierSwatch.css */");RootModule.Runtime.cachedResources.set("inline_editor/cssShadowSwatch.css","/*\n * Copyright 2016 The Chromium Authors. All rights reserved.\n * Use of this source code is governed by a BSD-style license that can be\n * found in the LICENSE file.\n */\n\n:host {\n white-space: nowrap;\n}\n\n.shadow-swatch-icon {\n position: relative;\n margin-left: 1px;\n margin-right: 2px;\n top: 1px;\n user-select: none;\n line-height: 10px;\n background-color: #9c27b0;\n}\n\n.shadow-swatch-icon:hover {\n background-color: #800080;\n}\n\n/*# sourceURL=inline_editor/cssShadowSwatch.css */");RootModule.Runtime.cachedResources.set("inline_editor/cssShadowEditor.css","/*\n * Copyright 2016 The Chromium Authors. All rights reserved.\n * Use of this source code is governed by a BSD-style license that can be\n * found in the LICENSE file.\n */\n\n:host {\n user-select: none;\n padding: 4px 12px 12px 12px;\n border: 1px solid transparent;\n}\n\n.shadow-editor-field {\n height: 24px;\n margin-top: 8px;\n font-size: 12px;\n flex-shrink: 0;\n}\n\n.shadow-editor-field:last-of-type {\n margin-bottom: 8px;\n}\n\n.shadow-editor-flex-field {\n display: flex;\n align-items: center;\n flex-direction: row;\n}\n\n.shadow-editor-field.shadow-editor-blur-field {\n margin-top: 40px;\n}\n\n.shadow-editor-2D-slider {\n position: absolute;\n height: 88px;\n width: 88px;\n border: 1px solid rgb(0 0 0 / 14.000000000000002%);\n border-radius: 2px;\n}\n\n.shadow-editor-label {\n display: inline-block;\n width: 52px;\n height: 24px;\n line-height: 24px;\n margin-right: 8px;\n text-align: right;\n}\n\n.shadow-editor-button-left,\n.shadow-editor-button-right {\n width: 74px;\n height: 24px;\n padding: 3px 7px;\n line-height: 16px;\n border: 1px solid rgb(0 0 0 / 14.000000000000002%);\n color: #333;\n background-color: var(--color-background);\n text-align: center;\n font-weight: 500;\n}\n\n.shadow-editor-button-left {\n border-radius: 2px 0 0 2px;\n}\n\n.shadow-editor-button-right {\n border-radius: 0 2px 2px 0;\n border-left-width: 0;\n}\n\n.shadow-editor-button-left:hover,\n.shadow-editor-button-right:hover {\n box-shadow: 0 1px 1px rgb(0 0 0 / 10%);\n}\n\n.shadow-editor-button-left:focus,\n.shadow-editor-button-right:focus {\n background-color: #eee;\n}\n\n.shadow-editor-button-left.enabled,\n.shadow-editor-button-right.enabled,\n.-theme-preserve {\n background-color: #4285f4;\n color: #fff;\n}\n\n.shadow-editor-button-left.enabled:focus,\n.shadow-editor-button-right.enabled:focus,\n.-theme-preserve {\n background-color: #3b78e7;\n}\n\n.shadow-editor-text-input {\n width: 52px;\n margin-right: 8px;\n text-align: right;\n box-shadow: var(--focus-ring-inactive-shadow);\n}\n\n@media (forced-colors: active) {\n .shadow-editor-button-left:hover,\n .shadow-editor-button-left.enabled:focus,\n .shadow-editor-button-right:hover .shadow-editor-button-left.enabled,\n .shadow-editor-button-right.enabled,\n .shadow-editor-button-right.enabled:focus {\n forced-color-adjust: none;\n background-color: Highlight;\n color: HighlightText;\n }\n}\n\n/*# sourceURL=inline_editor/cssShadowEditor.css */");RootModule.Runtime.cachedResources.set("inline_editor/fontEditor.css","/*\n * Copyright 2020 The Chromium Authors. All rights reserved.\n * Use of this source code is governed by a BSD-style license that can be\n * found in the LICENSE file.\n */\n\n:host {\n user-select: none;\n padding: 4px 12px 12px 12px;\n}\n\n.error-input {\n box-shadow: 0 0 0 1px #ff1a00;\n}\n\n.error-text {\n color: #ff1a00;\n padding: 6px 0;\n}\n\n.warning-input {\n box-shadow: 0 0 0 1px #ffdd9e;\n}\n\n.hide-warning {\n display: none;\n}\n\n.font-section-header {\n font-weight: normal;\n font-size: 17px;\n text-align: left;\n}\n\n.font-section-subheader {\n font-size: 12px;\n text-align: left;\n font-weight: bold;\n}\n\n.font-selector-section {\n overflow-y: auto;\n padding-bottom: 10px;\n}\n\n.font-selector-input {\n width: 204px;\n text-align-last: center;\n}\n\n.font-reset-button {\n width: 100%;\n margin-top: 10px;\n}\n\n.font-section {\n border-top: 1px solid var(--divider-color);\n}\n\n.chrome-select.font-editor-select {\n min-width: 50px;\n min-height: 27px;\n}\n\ninput::-webkit-outer-spin-button,\ninput::-webkit-inner-spin-button {\n display: none;\n margin: 0;\n}\n\n.preview-text {\n max-width: 300px;\n word-break: break-word;\n display: block;\n}\n\n.rendered-font-list-label {\n font-weight: bold;\n font-size: 12px;\n}\n\n.rendered-font-list {\n padding: 5px 0;\n}\n\n.shadow-editor-field {\n height: 24px;\n margin-top: 8px;\n font-size: 12px;\n flex-shrink: 0;\n}\n\n.shadow-editor-field:last-of-type {\n margin-bottom: 8px;\n}\n\n.shadow-editor-flex-field {\n display: flex;\n align-items: center;\n flex-direction: row;\n}\n\n.shadow-editor-field.shadow-editor-blur-field {\n margin-top: 40px;\n}\n\n.shadow-editor-2D-slider {\n position: absolute;\n height: 88px;\n width: 88px;\n border: 1px solid rgb(0 0 0 / 14.000000000000002%);\n border-radius: 2px;\n}\n\n.shadow-editor-label {\n display: inline-block;\n width: 70px;\n height: 24px;\n line-height: 24px;\n margin-right: 8px;\n text-align: left;\n}\n\n.shadow-editor-button-left,\n.shadow-editor-button-right {\n width: 74px;\n height: 24px;\n padding: 3px 7px;\n line-height: 16px;\n border: 1px solid rgb(0 0 0 / 14.000000000000002%);\n color: #333;\n background-color: var(--color-background);\n text-align: center;\n font-weight: 500;\n}\n\n.shadow-editor-button-left {\n border-radius: 2px 0 0 2px;\n}\n\n.shadow-editor-button-right {\n border-radius: 0 2px 2px 0;\n border-left-width: 0;\n}\n\n.shadow-editor-button-left:hover,\n.shadow-editor-button-right:hover {\n box-shadow: 0 1px 1px rgb(0 0 0 / 10%);\n}\n\n.shadow-editor-button-left:focus,\n.shadow-editor-button-right:focus {\n background-color: #eee;\n}\n\n.shadow-editor-text-input {\n width: 50px;\n margin: 8px;\n text-align: center;\n box-shadow: var(--focus-ring-inactive-shadow);\n}\n\n.spectrum-switcher {\n border-radius: 2px;\n height: 20px;\n width: 20px;\n padding: 2px;\n margin-left: 5px;\n}\n\n.spectrum-switcher:hover {\n background-color: #ddd;\n}\n\n.spectrum-switcher:focus-visible {\n background-color: var(--focus-bg-color);\n}\n\n/*# sourceURL=inline_editor/fontEditor.css */");RootModule.Runtime.cachedResources.set("inline_editor/swatchPopover.css","/*\n * Copyright 2017 The Chromium Authors. All rights reserved.\n * Use of this source code is governed by a BSD-style license that can be\n * found in the LICENSE file.\n */\n\n.widget {\n display: flex;\n background: var(--color-background);\n box-shadow: var(--drop-shadow);\n border-radius: 2px;\n overflow: auto;\n user-select: text;\n line-height: 11px;\n}\n\n/*# sourceURL=inline_editor/swatchPopover.css */");
@@ -0,0 +1 @@
1
+ import{InputModel as n,InputTimeline as t}from"./input.js";self.Input=self.Input||{},Input=Input||{},Input.InputModel=n.InputModel,Input.InputTimeline=t.InputTimeline,Input.InputTimeline.State=t.State,Input.InputTimeline.TracingClient=t.TracingClient,Input.InputTimeline.ActionDelegate=t.ActionDelegate;
@@ -0,0 +1 @@
1
+ import{ls as t}from"../platform/platform.js";import{Runtime as e}from"../root/root.js";import{ViewManager as i}from"../ui/ui.js";let n;i.registerViewExtension({location:"drawer-view",id:"Inputs",title:()=>t`Inputs`,commandPrompt:()=>t`Show Inputs`,persistence:"closeable",order:7,loadView:async()=>(await async function(){return n||(await e.Runtime.instance().loadModulePromise("input"),n=await import("./input.js")),n}()).InputTimeline.InputTimeline.instance(),experiment:e.ExperimentName.TIMELINE_REPLAY_EVENT});
@@ -0,0 +1 @@
1
+ import{SDKModel as t,TracingManager as e,TracingModel as i}from"../sdk/sdk.js";import{FileUtils as s,TempFile as a}from"../bindings/bindings.js";import{i18n as n}from"../i18n/i18n.js";import{DateUtilities as o}from"../platform/platform.js";import{InspectorBackend as l}from"../protocol_client/protocol_client.js";import{TimelineLoader as r}from"../timeline/timeline.js";import{Widget as c,ActionRegistry as h,Toolbar as p,UIUtils as d,ViewManager as _}from"../ui/ui.js";class u extends t.SDKModel{constructor(t){super(t),this._inputAgent=t.inputAgent(),this._eventDispatchTimer=0,this._dispatchEventDataList=[],this._finishCallback=null,this._reset()}_reset(){this._lastEventTime=null,this._replayPaused=!1,this._dispatchingIndex=0,window.clearTimeout(this._eventDispatchTimer)}setEvents(t){this._dispatchEventDataList=[];for(const e of t.sortedProcesses())for(const i of e.sortedThreads())this._processThreadEvents(t,i);this._dispatchEventDataList.sort((function(t,e){return t.timestamp-e.timestamp}))}startReplay(t){this._reset(),this._finishCallback=t,this._dispatchEventDataList.length?this._dispatchNextEvent():this._replayStopped()}pause(){window.clearTimeout(this._eventDispatchTimer),this._dispatchingIndex>=this._dispatchEventDataList.length?this._replayStopped():this._replayPaused=!0}resume(){this._replayPaused=!1,this._dispatchingIndex<this._dispatchEventDataList.length&&this._dispatchNextEvent()}_processThreadEvents(t,e){for(const t of e.events())"EventDispatch"===t.name&&this._isValidInputEvent(t.args.data)&&this._dispatchEventDataList.push(t.args.data)}_isValidInputEvent(t){return this._isMouseEvent(t)||this._isKeyboardEvent(t)}_isMouseEvent(t){return!!g.has(t.type)&&("x"in t&&"y"in t)}_isKeyboardEvent(t){return!!m.has(t.type)&&("code"in t&&"key"in t)}_dispatchNextEvent(){const t=this._dispatchEventDataList[this._dispatchingIndex];if(this._lastEventTime=t.timestamp,g.has(t.type)?this._dispatchMouseEvent(t):m.has(t.type)&&this._dispatchKeyEvent(t),++this._dispatchingIndex,this._dispatchingIndex<this._dispatchEventDataList.length){const t=(this._dispatchEventDataList[this._dispatchingIndex].timestamp-this._lastEventTime)/1e3;this._eventDispatchTimer=window.setTimeout(this._dispatchNextEvent.bind(this),t)}else this._replayStopped()}async _dispatchMouseEvent(t){const e=g.get(t.type);if(!e)throw new Error("Could not find mouse event type for eventData "+t.type);const i=v.get(t.button),s={type:e,x:t.x,y:t.y,modifiers:t.modifiers,button:"mousedown"===t.type||"mouseup"===t.type?i:Protocol.Input.MouseButton.None,buttons:t.buttons,clickCount:t.clickCount,deltaX:t.deltaX,deltaY:t.deltaY};await this._inputAgent.invoke_dispatchMouseEvent(s)}async _dispatchKeyEvent(t){const e=m.get(t.type);if(!e)throw new Error("Could not find key event type for eventData "+t.type);const i="keypress"===t.type?t.key[0]:void 0,s={type:e,modifiers:t.modifiers,text:i,unmodifiedText:i?i.toLowerCase():void 0,code:t.code,key:t.key};await this._inputAgent.invoke_dispatchKeyEvent(s)}_replayStopped(){window.clearTimeout(this._eventDispatchTimer),this._reset(),this._finishCallback&&this._finishCallback()}}const g=new Map([["mousedown",Protocol.Input.DispatchMouseEventRequestType.MousePressed],["mouseup",Protocol.Input.DispatchMouseEventRequestType.MouseReleased],["mousemove",Protocol.Input.DispatchMouseEventRequestType.MouseMoved],["wheel",Protocol.Input.DispatchMouseEventRequestType.MouseWheel]]),m=new Map([["keydown",Protocol.Input.DispatchKeyEventRequestType.KeyDown],["keyup",Protocol.Input.DispatchKeyEventRequestType.KeyUp],["keypress",Protocol.Input.DispatchKeyEventRequestType.Char]]),v=new Map([[0,Protocol.Input.MouseButton.Left],[1,Protocol.Input.MouseButton.Middle],[2,Protocol.Input.MouseButton.Right],[3,Protocol.Input.MouseButton.Back],[4,Protocol.Input.MouseButton.Forward]]);t.SDKModel.register(u,t.Capability.Input,!1);var y=Object.freeze({__proto__:null,InputModel:u});const T={clearAll:"Clear all",loadProfile:"Load profile…",saveProfile:"Save profile…"},b=n.registerUIStrings("input/InputTimeline.ts",T),E=n.getLocalizedString.bind(void 0,b);let w;class M extends c.VBox{constructor(){super(!0),this.registerRequiredCSS("input/inputTimeline.css",{enableLegacyPatching:!0}),this.element.classList.add("inputs-timeline"),this._tracingClient=null,this._tracingModel=null,this._inputModel=null,this._state="Idle",this._toggleRecordAction=h.ActionRegistry.instance().action("input.toggle-recording"),this._startReplayAction=h.ActionRegistry.instance().action("input.start-replaying"),this._togglePauseAction=h.ActionRegistry.instance().action("input.toggle-pause");const t=this.contentElement.createChild("div","input-timeline-toolbar-container");this._panelToolbar=new p.Toolbar("input-timeline-toolbar",t),this._panelToolbar.appendToolbarItem(p.Toolbar.createActionButton(this._toggleRecordAction)),this._panelToolbar.appendToolbarItem(p.Toolbar.createActionButton(this._startReplayAction)),this._panelToolbar.appendToolbarItem(p.Toolbar.createActionButton(this._togglePauseAction)),this._clearButton=new p.ToolbarButton(E(T.clearAll),"largeicon-clear"),this._clearButton.addEventListener(p.ToolbarButton.Events.Click,this._reset.bind(this)),this._panelToolbar.appendToolbarItem(this._clearButton),this._panelToolbar.appendSeparator(),this._loadButton=new p.ToolbarButton(E(T.loadProfile),"largeicon-load"),this._loadButton.addEventListener(p.ToolbarButton.Events.Click,(()=>this._selectFileToLoad())),this._saveButton=new p.ToolbarButton(E(T.saveProfile),"largeicon-download"),this._saveButton.addEventListener(p.ToolbarButton.Events.Click,(t=>{this._saveToFile()})),this._panelToolbar.appendSeparator(),this._panelToolbar.appendToolbarItem(this._loadButton),this._panelToolbar.appendToolbarItem(this._saveButton),this._panelToolbar.appendSeparator(),this._createFileSelector(),this._updateControls()}static instance(t={forceNew:!1}){const{forceNew:e}=t;return w&&!e||(w=new M),w}_reset(){this._tracingClient=null,this._tracingModel=null,this._inputModel=null,this._setState("Idle")}_createFileSelector(){this._fileSelectorElement&&this._fileSelectorElement.remove(),this._fileSelectorElement=d.createFileSelectorElement(this._loadFromFile.bind(this)),this.element.appendChild(this._fileSelectorElement)}wasShown(){}willHide(){}_setState(t){this._state=t,this._updateControls()}_isAvailableState(){return"Idle"===this._state||"ReplayPaused"===this._state}_updateControls(){this._toggleRecordAction.setToggled("Recording"===this._state),this._toggleRecordAction.setEnabled(this._isAvailableState()||"Recording"===this._state),this._startReplayAction.setEnabled(this._isAvailableState()&&Boolean(this._tracingModel)),this._togglePauseAction.setEnabled("Replaying"===this._state||"ReplayPaused"===this._state),this._togglePauseAction.setToggled("ReplayPaused"===this._state),this._clearButton.setEnabled(this._isAvailableState()),this._loadButton.setEnabled(this._isAvailableState()),this._saveButton.setEnabled(this._isAvailableState()&&Boolean(this._tracingModel))}_toggleRecording(){switch(this._state){case"Recording":this._stopRecording();break;case"Idle":this._startRecording()}}_startReplay(){this._replayEvents()}_toggleReplayPause(){switch(this._state){case"Replaying":this._pauseReplay();break;case"ReplayPaused":this._resumeReplay()}}async _saveToFile(){if(console.assert("Idle"===this._state),!this._tracingModel)return;const t=`InputProfile-${o.toISO8601Compact(new Date)}.json`,e=new s.FileOutputStream;if(!await e.open(t))return;const i=this._tracingModel.backingStorage();await i.writeToStream(e),e.close()}_selectFileToLoad(){this._fileSelectorElement&&this._fileSelectorElement.click()}_loadFromFile(t){console.assert(this._isAvailableState()),this._setState("Loading"),this._loader=r.TimelineLoader.loadFromFile(t,this),this._createFileSelector()}async _startRecording(){this._setState("StartPending"),this._tracingClient=new S(t.TargetManager.instance().mainTarget(),this);(await this._tracingClient.startRecording())[l.ProtocolError]?this._recordingFailed():this._setState("Recording")}async _stopRecording(){this._tracingClient&&(this._setState("StopPending"),await this._tracingClient.stopRecording(),this._tracingClient=null)}async _replayEvents(){this._inputModel&&(this._setState("Replaying"),await this._inputModel.startReplay(this.replayStopped.bind(this)))}_pauseReplay(){this._inputModel&&(this._inputModel.pause(),this._setState("ReplayPaused"))}_resumeReplay(){this._inputModel&&(this._inputModel.resume(),this._setState("Replaying"))}loadingStarted(){}loadingProgress(t){}processingStarted(){}loadingComplete(e){e?(this._inputModel=new u(t.TargetManager.instance().mainTarget()),this._tracingModel=e,this._inputModel.setEvents(e),this._setState("Idle")):this._reset()}_recordingFailed(){this._tracingClient=null,this._setState("Idle")}replayStopped(){this._setState("Idle")}}class S{constructor(t,s){this._target=t,this._tracingManager=t.model(e.TracingManager),this._client=s;const n=new a.TempFileBackingStorage;this._tracingModel=new i.TracingModel(n),this._tracingCompleteCallback=null}async startRecording(){if(!this._tracingManager)return{};const t=["devtools.timeline","disabled-by-default-devtools.timeline.inputs"].join(","),e=await this._tracingManager.start(this,t,"");return e["Protocol.Error"]&&await this._waitForTracingToStop(!1),e}async stopRecording(){this._tracingManager&&this._tracingManager.stop(),await this._waitForTracingToStop(!0),await t.TargetManager.instance().resumeAllTargets(),this._tracingModel.tracingComplete(),this._client.loadingComplete(this._tracingModel)}traceEventsCollected(t){this._tracingModel.addEvents(t)}tracingComplete(){this._tracingCompleteCallback&&this._tracingCompleteCallback(),this._tracingCompleteCallback=null}tracingBufferUsage(t){}eventsRetrievalProgress(t){}_waitForTracingToStop(t){return new Promise((e=>{this._tracingManager&&t?this._tracingCompleteCallback=e:e()}))}}var f=Object.freeze({__proto__:null,UIStrings:T,InputTimeline:M,ActionDelegate:class{handleAction(t,e){const i="Inputs";return _.ViewManager.instance().showView(i).then((()=>_.ViewManager.instance().view(i).widget())).then((t=>this._innerHandleAction(t,e))),!0}_innerHandleAction(t,e){switch(e){case"input.toggle-recording":t._toggleRecording();break;case"input.start-replaying":t._startReplay();break;case"input.toggle-pause":t._toggleReplayPause();break;default:console.assert(!1,"Unknown action: "+e)}}},TracingClient:S});export{y as InputModel,f as InputTimeline};
@@ -0,0 +1 @@
1
+ import*as RootModule from'../root/root.js';RootModule.Runtime.cachedResources.set("input/inputTimeline.css","/*\n * Copyright (c) 2019 The Chromium Authors. All rights reserved.\n * Use of this source code is governed by a BSD-style license that can be\n * found in the LICENSE file.\n */\n\n.input-timeline-toolbar-container {\n display: flex;\n background-color: var(--toolbar-bg-color);\n border-bottom: var(--divider-border);\n flex: 0 0 auto;\n}\n\n.input-timeline-toolbar {\n display: inline-block;\n}\n\n/*# sourceURL=input/inputTimeline.css */");
@@ -0,0 +1,20 @@
1
+ <!--
2
+ * Copyright 2018 The Chromium Authors. All rights reserved.
3
+ * Use of this source code is governed by a BSD-style license that can be
4
+ * found in the LICENSE file.
5
+ -->
6
+ <!DOCTYPE html>
7
+ <html lang="en">
8
+ <meta charset="utf-8">
9
+ <title>DevTools</title>
10
+ <style>
11
+ @media (prefers-color-scheme: dark) {
12
+ body {
13
+ background-color: rgb(41 42 45);
14
+ }
15
+ }
16
+ </style>
17
+ <meta http-equiv="Content-Security-Policy" content="object-src 'none'; script-src 'self' 'unsafe-eval' 'unsafe-inline' https://chrome-devtools-frontend.appspot.com">
18
+ <meta name="referrer" content="no-referrer">
19
+ <script type="module" src="inspector.js"></script>
20
+ <body class="undocked" id="-blink-dev-tools">
@@ -0,0 +1 @@
1
+ Root.allDescriptors.push(...[{"extensions":[{"className":"Screencast.ScreencastAppProvider","type":"@Common.AppProvider","order":1},{"className":"Screencast.ScreencastApp.ToolbarButtonProvider","type":"@UI.ToolbarItem.Provider","order":1,"location":"main-toolbar-left"},{"actionId":"components.request-app-banner","type":"context-menu-item","location":"mainMenu","order":10}],"dependencies":["components","emulation","i18n"],"modules":["screencast-legacy.js"],"name":"screencast"}]);Root.applicationDescriptor.modules.push(...[{"type":"autostart","name":"screencast"}]);import*as RootModule from'./root/root.js';RootModule.Runtime.cachedResources.set("screencast/screencastView.css","/*\n * Copyright (C) 2013 Google Inc. All rights reserved.\n *\n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are\n * met:\n *\n * * Redistributions of source code must retain the above copyright\n * notice, this list of conditions and the following disclaimer.\n * * Redistributions in binary form must reproduce the above\n * copyright notice, this list of conditions and the following disclaimer\n * in the documentation and/or other materials provided with the\n * distribution.\n * * Neither the name of Google Inc. nor the names of its\n * contributors may be used to endorse or promote products derived from\n * this software without specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n * \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n */\n\n.screencast {\n overflow: hidden;\n}\n\n.screencast-navigation {\n flex-direction: row;\n display: flex;\n flex: 24px 0 0;\n position: relative;\n padding-left: 1px;\n border-bottom: 1px solid rgb(64% 64% 64%);\n background-origin: padding-box;\n background-clip: padding-box;\n}\n\n.screencast-navigation button {\n border-radius: 2px;\n background-color: transparent;\n background-image:\n -webkit-image-set(\n url(Images/navigationControls.png) 1x,\n url(Images/navigationControls_2x.png) 2x\n );\n background-clip: content-box;\n background-origin: content-box;\n background-repeat: no-repeat;\n border: 1px solid transparent;\n height: 23px;\n padding: 2px;\n width: 23px;\n}\n\n.screencast-navigation button:hover,\n.screencast-navigation button:focus {\n border-color: var(--accent-color-hover);\n}\n\n.screencast-navigation button:active {\n border-color: #aaa;\n}\n\n.screencast-navigation button[disabled] {\n opacity: 50%;\n}\n\n.screencast-navigation button.back {\n background-position-x: -1px;\n}\n\n.screencast-navigation button.forward {\n background-position-x: -18px;\n}\n\n.screencast-navigation button.reload {\n background-position-x: -37px;\n}\n\n.screencast-navigation input {\n flex: 1;\n margin: 2px;\n max-height: 19px;\n}\n\n.screencast-navigation .progress {\n background-color: rgb(66 129 235);\n height: 3px;\n left: 0;\n position: absolute;\n top: 100%; /* Align with the bottom edge of the parent. */\n width: 0;\n z-index: 2; /* Above .screencast-glasspane. */\n}\n\n.screencast-viewport {\n display: flex;\n border: 1px solid #999;\n border-radius: 20px;\n flex: none;\n padding: 20px;\n margin: 10px;\n background-color: #eee;\n}\n\n.screencast-canvas-container {\n flex: auto;\n display: flex;\n border: 1px solid #999;\n position: relative;\n cursor: -webkit-image-set(url(Images/touchCursor.png) 1x, url(Images/touchCursor_2x.png) 2x), default;\n}\n\n.screencast canvas {\n flex: auto;\n position: relative;\n}\n\n.-theme-not-patched.screencast-element-title {\n position: absolute;\n z-index: 10;\n}\n\n.-theme-not-patched .screencast-tag-name {\n /* Keep this in sync with inspectorSyntaxHighlight.css (--dom-tag-name-color) */\n color: rgb(136 18 128);\n}\n\n.-theme-not-patched .screencast-attribute {\n /* Keep this in sync with inspectorSyntaxHighlight.css (.webkit-html-attribute-value) */\n color: rgb(26 26 166);\n}\n\n.-theme-not-patched .screencast-dimension {\n /* Keep this in sync with tool_highlight.css (.dimensions) */\n color: hsl(0deg 0% 45%);\n}\n\n.screencast-glasspane {\n background-color: rgb(255 255 255 / 80%);\n font-size: 30px;\n z-index: 100;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n/*# sourceURL=screencast/screencastView.css */");import'./devtools_app.js';import*as Startup from'./startup/startup.js';Startup.RuntimeInstantiator.startApplication('inspector');
@@ -0,0 +1 @@
1
+ import{InspectorMain as e,RenderingOptions as n}from"./inspector_main.js";self.InspectorMain=self.InspectorMain||{},InspectorMain=InspectorMain||{},InspectorMain.InspectorMain=e.InspectorMainImpl,InspectorMain.ReloadActionDelegate=e.ReloadActionDelegate,InspectorMain.FocusDebuggeeActionDelegate=e.FocusDebuggeeActionDelegate,InspectorMain.NodeIndicator=e.NodeIndicator,InspectorMain.SourcesPanelIndicator=e.SourcesPanelIndicator,InspectorMain.BackendSettingsSync=e.BackendSettingsSync,InspectorMain.RenderingOptionsView=n.RenderingOptionsView;
@@ -0,0 +1 @@
1
+ import{ls as i}from"../platform/platform.js";import{Runtime as e}from"../root/root.js";import{ViewManager as n}from"../ui/ui.js";let o;n.registerViewExtension({location:"drawer-view",id:"rendering",title:()=>i`Rendering`,commandPrompt:()=>i`Show Rendering`,persistence:"closeable",order:50,loadView:async()=>(await async function(){return o||(await e.Runtime.instance().loadModulePromise("inspector_main"),o=await import("./inspector_main.js")),o}()).RenderingOptions.RenderingOptionsView.instance(),tags:[()=>i`paint`,()=>i`layout`,()=>i`fps`,()=>i`CSS media type`,()=>i`CSS media feature`,()=>i`vision deficiency`,()=>i`color vision deficiency`]});
@@ -0,0 +1 @@
1
+ import{Settings as e,ObjectWrapper as t,UIString as n}from"../common/common.js";import{ls as a}from"../platform/platform.js";import{Widget as s,UIUtils as i,SettingsUI as o,Utils as r,Toolbar as d,Icon as c,Tooltip as l,InspectorView as g}from"../ui/ui.js";import{TargetDetachedDialog as u}from"../components/components.js";import{InspectorFrontendHost as p,InspectorFrontendHostAPI as h}from"../host/host.js";import{NetworkPanelIndicator as m}from"../mobile_throttling/mobile_throttling.js";import{Runtime as S}from"../root/root.js";import{Connections as b,SDKModel as _,DebuggerModel as f,ResourceTreeModel as C,ChildTargetManager as w}from"../sdk/sdk.js";let v;class F extends s.VBox{constructor(){super(!0),this.registerRequiredCSS("inspector_main/renderingOptions.css",{enableLegacyPatching:!1}),this._appendCheckbox(a`Paint flashing`,a`Highlights areas of the page (green) that need to be repainted. May not be suitable for people prone to photosensitive epilepsy.`,e.Settings.instance().moduleSetting("showPaintRects")),this._appendCheckbox(a`Layout Shift Regions`,a`Highlights areas of the page (blue) that were shifted. May not be suitable for people prone to photosensitive epilepsy.`,e.Settings.instance().moduleSetting("showLayoutShiftRegions")),this._appendCheckbox(a`Layer borders`,a`Shows layer borders (orange/olive) and tiles (cyan).`,e.Settings.instance().moduleSetting("showDebugBorders")),this._appendCheckbox(a`Frame Rendering Stats`,a`Plots frame throughput, dropped frames distribution, and GPU memory.`,e.Settings.instance().moduleSetting("showFPSCounter")),this._appendCheckbox(a`Scrolling performance issues`,a`Highlights elements (teal) that can slow down scrolling, including touch & wheel event handlers and other main-thread scrolling situations.`,e.Settings.instance().moduleSetting("showScrollBottleneckRects")),this._appendCheckbox(a`Highlight ad frames`,a`Highlights frames (red) detected to be ads.`,e.Settings.instance().moduleSetting("showAdHighlights")),this._appendCheckbox(a`Hit-test borders`,a`Shows borders around hit-test regions.`,e.Settings.instance().moduleSetting("showHitTestBorders")),this._appendCheckbox(a`Core Web Vitals`,a`Shows an overlay with Core Web Vitals.`,e.Settings.instance().moduleSetting("showWebVitals")),this._appendCheckbox(a`Disable local fonts`,a`Disables local() sources in @font-face rules. Requires a page reload to apply.`,e.Settings.instance().moduleSetting("localFontsDisabled")),this._appendCheckbox(a`Emulate a focused page`,a`Emulates a focused page.`,e.Settings.instance().moduleSetting("emulatePageFocus")),this.contentElement.createChild("div").classList.add("panel-section-separator"),this._appendSelect(a`Forces media type for testing print and screen styles`,e.Settings.instance().moduleSetting("emulatedCSSMedia")),this._appendSelect(a`Forces CSS prefers-color-scheme media feature`,e.Settings.instance().moduleSetting("emulatedCSSMediaFeaturePrefersColorScheme")),this._appendSelect(a`Forces CSS prefers-reduced-motion media feature`,e.Settings.instance().moduleSetting("emulatedCSSMediaFeaturePrefersReducedMotion")),(()=>{const e="(prefers-reduced-data: reduce)";return window.matchMedia(e).media===e})()&&this._appendSelect(a`Forces CSS prefers-reduced-data media feature`,e.Settings.instance().moduleSetting("emulatedCSSMediaFeaturePrefersReducedData")),this._appendSelect(a`Forces CSS color-gamut media feature`,e.Settings.instance().moduleSetting("emulatedCSSMediaFeatureColorGamut")),this.contentElement.createChild("div").classList.add("panel-section-separator"),this._appendSelect(a`Forces vision deficiency emulation`,e.Settings.instance().moduleSetting("emulatedVisionDeficiency")),this.contentElement.createChild("div").classList.add("panel-section-separator"),this._appendCheckbox(a`Disable AVIF image format`,a`Requires a page reload to apply and disables caching for image requests.`,e.Settings.instance().moduleSetting("avifFormatDisabled")),this._appendCheckbox(a`Disable WebP image format`,a`Requires a page reload to apply and disables caching for image requests.`,e.Settings.instance().moduleSetting("webpFormatDisabled")),this.contentElement.createChild("div").classList.add("panel-section-separator")}static instance(e={forceNew:null}){const{forceNew:t}=e;return v&&!t||(v=new F),v}_appendCheckbox(e,t,n){const a=i.CheckboxLabel.create(e,!1,t);o.bindCheckbox(a.checkboxElement,n),this.contentElement.appendChild(a)}_appendSelect(e,t){const n=o.createControlForSetting(t,e);n&&this.contentElement.appendChild(n)}}var y=Object.freeze({__proto__:null,RenderingOptionsView:F});class k extends t.ObjectWrapper{async run(){let e=!0;await b.initMainConnection((async()=>{const t=S.Runtime.queryParam("v8only")?_.Type.Node:_.Type.Frame,a=t===_.Type.Frame&&"sources"===S.Runtime.queryParam("panel"),s=_.TargetManager.instance().createTarget("main",n.UIString("Main"),t,null,void 0,a);if(e){if(e=!1,a){const e=s.model(f.DebuggerModel);e&&(e.isReadyToPause()||await e.once(f.Events.DebuggerIsReadyToPause),e.pause())}s.runtimeAgent().invoke_runIfWaitingForDebugger()}}),u.TargetDetachedDialog.webSocketConnectionLost),new T,new P,new m.NetworkPanelIndicator,p.InspectorFrontendHostInstance.events.addEventListener(h.Events.ReloadInspectedPage,(e=>{const t=e.data;C.ResourceTreeModel.reloadAllPages(t)}))}}class T{constructor(){function t(){let t=null;e.Settings.instance().moduleSetting("javaScriptDisabled").get()&&(t=c.Icon.create("smallicon-warning"),l.Tooltip.install(t,n.UIString("JavaScript is disabled"))),g.InspectorView.instance().setPanelIcon("sources",t)}e.Settings.instance().moduleSetting("javaScriptDisabled").addChangeListener(t),t()}}class P{constructor(){this._autoAttachSetting=e.Settings.instance().moduleSetting("autoAttachToCreatedPages"),this._autoAttachSetting.addChangeListener(this._updateAutoAttach,this),this._updateAutoAttach(),this._adBlockEnabledSetting=e.Settings.instance().moduleSetting("network.adBlockingEnabled"),this._adBlockEnabledSetting.addChangeListener(this._update,this),this._emulatePageFocusSetting=e.Settings.instance().moduleSetting("emulatePageFocus"),this._emulatePageFocusSetting.addChangeListener(this._update,this),_.TargetManager.instance().observeTargets(this)}_updateTarget(e){e.type()!==_.Type.Frame||e.parentTarget()||(e.pageAgent().invoke_setAdBlockingEnabled({enabled:this._adBlockEnabledSetting.get()}),e.emulationAgent().invoke_setFocusEmulationEnabled({enabled:this._emulatePageFocusSetting.get()}))}_updateAutoAttach(){p.InspectorFrontendHostInstance.setOpenNewWindowForPopups(this._autoAttachSetting.get())}_update(){for(const e of _.TargetManager.instance().targets())this._updateTarget(e)}targetAdded(e){this._updateTarget(e)}targetRemoved(e){}}w.ChildTargetManager.install();var A=Object.freeze({__proto__:null,InspectorMainImpl:k,ReloadActionDelegate:class{handleAction(e,t){switch(t){case"inspector_main.reload":return C.ResourceTreeModel.reloadAllPages(!1),!0;case"inspector_main.hard-reload":return C.ResourceTreeModel.reloadAllPages(!0),!0}return!1}},FocusDebuggeeActionDelegate:class{handleAction(e,t){const n=_.TargetManager.instance().mainTarget();return!!n&&(n.pageAgent().invoke_bringToFront(),!0)}},NodeIndicator:class{constructor(){const e=document.createElement("div"),t=r.createShadowRootWithCoreStyles(e,{cssFile:"inspector_main/nodeIcon.css",enableLegacyPatching:!1,delegatesFocus:void 0});this._element=t.createChild("div","node-icon"),e.addEventListener("click",(()=>p.InspectorFrontendHostInstance.openNodeFrontend()),!1),this._button=new d.ToolbarItem(e),this._button.setTitle(n.UIString("Open dedicated DevTools for Node.js")),_.TargetManager.instance().addEventListener(_.Events.AvailableTargetsChanged,(e=>this._update(e.data))),this._button.setVisible(!1),this._update([])}_update(e){const t=Boolean(e.find((e=>"node"===e.type&&!e.attached)));this._element.classList.toggle("inactive",!t),t&&this._button.setVisible(!0)}item(){return this._button}},SourcesPanelIndicator:T,BackendSettingsSync:P});export{A as InspectorMain,y as RenderingOptions};
@@ -0,0 +1,14 @@
1
+ <!--
2
+ * Copyright 2017 The Chromium Authors. All rights reserved.
3
+ * Use of this source code is governed by a BSD-style license that can be
4
+ * found in the LICENSE file.
5
+ -->
6
+ <!doctype html>
7
+ <html lang="en">
8
+ <head>
9
+ <meta charset="utf-8">
10
+ <!-- <meta http-equiv="Content-Security-Policy" content="object-src 'none'; script-src 'self' 'unsafe-eval' 'unsafe-inline' https://chrome-devtools-frontend.appspot.com"> -->
11
+ <script type="module" src="integration_test_runner.js"></script>
12
+ </head>
13
+ <body id="-blink-dev-tools"></body>
14
+ </html>
@@ -0,0 +1,2 @@
1
+ Root.allDescriptors.push(...[{"dependencies":["test_runner","resources","console_test_runner","sources","sources_test_runner"],"modules":["application_test_runner.js","AppcacheTestRunner.js","CacheStorageTestRunner.js","IndexedDBTestRunner.js","ResourceTreeTestRunner.js","ResourcesTestRunner.js","ServiceWorkersTestRunner.js"],"name":"application_test_runner"},{"dependencies":["heap_snapshot_model","i18n","platform","common"],"modules":["heap_snapshot_worker-legacy.js"],"name":"heap_snapshot_worker"},{"dependencies":["test_runner","elements","event_listeners","animation"],"modules":["elements_test_runner.js","ElementsTestRunner.js","EditDOMTestRunner.js","SetOuterHTMLTestRunner.js","ElementsPanelShadowSelectionOnRefreshTestRunner.js","StylesUpdateLinksTestRunner.js"],"name":"elements_test_runner"},{"dependencies":["test_runner","extensions"],"modules":["extensions_test_runner.js","ExtensionsNetworkTestRunner.js","ExtensionsTestRunner.js"],"name":"extensions_test_runner"},{"dependencies":["test_runner","coverage","sources_test_runner"],"modules":["coverage_test_runner.js"],"name":"coverage_test_runner"},{"dependencies":["sdk","workspace","ui","host","main"],"modules":["test_runner.js","TestRunner.js"],"name":"test_runner"},{"dependencies":["test_runner","layers","elements","components"],"modules":["layers_test_runner.js"],"name":"layers_test_runner"},{"dependencies":["test_runner","accessibility","elements_test_runner"],"modules":["accessibility_test_runner.js"],"name":"accessibility_test_runner"},{"dependencies":["test_runner","console_test_runner"],"modules":["network_test_runner.js"],"name":"network_test_runner"},{"dependencies":["test_runner"],"modules":["../third_party/axe-core/axe.js","axe_core_test_runner.js"],"name":"axe_core_test_runner"},{"dependencies":["test_runner","emulation"],"modules":["device_mode_test_runner.js"],"name":"device_mode_test_runner"},{"dependencies":["test_runner","data_grid"],"modules":["data_grid_test_runner.js"],"name":"data_grid_test_runner"},{"dependencies":["heap_snapshot_worker","test_runner","profiler","data_grid"],"modules":["heap_profiler_test_runner.js"],"name":"heap_profiler_test_runner"},{"dependencies":["profiler","test_runner"],"modules":["cpu_profiler_test_runner.js"],"name":"cpu_profiler_test_runner"},{"dependencies":["test_runner","timeline_model","timeline"],"modules":["performance_test_runner.js","TimelineTestRunner.js","TimelineDataTestRunner.js"],"name":"performance_test_runner"},{"dependencies":["test_runner","sources","workspace","source_frame","text_utils","text_editor","browser_debugger"],"modules":["sources_test_runner.js","SourcesTestRunner.js","DebuggerTestRunner.js","LiveEditTestRunner.js","SearchTestRunner.js","EditorTestRunner.js","AutocompleteTestRunner.js"],"name":"sources_test_runner"},{"dependencies":["test_runner","workspace","diff","bindings","persistence"],"modules":["bindings_test_runner.js","BindingsTestRunner.js","IsolatedFilesystemTestRunner.js","AutomappingTestRunner.js","PersistenceTestRunner.js","OverridesTestRunner.js"],"name":"bindings_test_runner"},{"dependencies":["sdk","test_runner"],"modules":["sdk_test_runner.js"],"name":"sdk_test_runner"},{"dependencies":["test_runner","console","object_ui","console_counters"],"modules":["console_test_runner.js"],"name":"console_test_runner"},{"dependencies":["test_runner","security"],"modules":["security_test_runner.js"],"name":"security_test_runner"},{"dependencies":["test_runner","lighthouse"],"modules":["lighthouse_test_runner.js"],"name":"lighthouse_test_runner"}]);Root.applicationDescriptor.modules.push(...[{"name":"application_test_runner"},{"name":"heap_snapshot_worker"},{"name":"elements_test_runner"},{"name":"extensions_test_runner"},{"name":"coverage_test_runner"},{"type":"autostart","name":"test_runner"},{"name":"layers_test_runner"},{"name":"network_test_runner"},{"name":"axe_core_test_runner"},{"name":"device_mode_test_runner"},{"name":"sources_test_runner"},{"name":"data_grid_test_runner"},{"name":"heap_profiler_test_runner"},{"name":"cpu_profiler_test_runner"},{"name":"performance_test_runner"},{"name":"accessibility_test_runner"},{"name":"bindings_test_runner"},{"name":"sdk_test_runner"},{"name":"console_test_runner"},{"name":"security_test_runner"},{"name":"lighthouse_test_runner"}]);import*as RootModule from'./root/root.js';import'./devtools_app.js';import'./accessibility/accessibility-legacy.js';import'./animation/animation-legacy.js';import'./bindings/bindings-legacy.js';import'./color_picker/color_picker-legacy.js';import'./common/common-legacy.js';import'./data_grid/data_grid-legacy.js';import'./developer_resources/developer_resources-legacy.js';import'./diff/diff-legacy.js';import'./event_listeners/event_listeners-legacy.js';import'./extensions/extensions-legacy.js';import'./formatter/formatter-legacy.js';import'./har_importer/har_importer-legacy.js';import'./host/host-legacy.js';import'./inline_editor/inline_editor-legacy.js';import*as Startup from'./startup/startup.js';if(self.testRunner){testRunner.dumpAsText();testRunner.waitUntilDone();}
2
+ Startup.RuntimeInstantiator.startApplication('integration_test_runner');
@@ -0,0 +1 @@
1
+ import{IssuesPane as s,IssueRevealer as e,CSPViolationsView as u}from"./issues.js";self.Issues=self.Issues||{},Issues=Issues||{},Issues.IssuesPane=s.IssuesPaneImpl,Issues.IssueRevealer=e.IssueRevealer,Issues.CSPViolationsView=u.CSPViolationsView;
@@ -0,0 +1 @@
1
+ import{ls as e}from"../platform/platform.js";import{Runtime as i}from"../root/root.js";import{ViewManager as s}from"../ui/ui.js";let o;async function t(){return o||(await i.Runtime.instance().loadModulePromise("issues"),o=await import("./issues.js")),o}s.registerViewExtension({location:"drawer-view",id:"issues-pane",title:()=>e`Issues`,commandPrompt:()=>e`Show Issues`,order:100,persistence:"closeable",loadView:async()=>(await t()).IssuesPane.IssuesPaneImpl.instance()}),s.registerViewExtension({location:"drawer-view",id:"csp-violations-pane",title:()=>e`CSP Violations`,commandPrompt:()=>e`Show CSP Violations`,order:100,persistence:"closeable",loadView:async()=>(await t()).CSPViolationsView.CSPViolationsView.instance(),experiment:i.ExperimentName.CSP_VIOLATIONS_VIEW});