buninu-browser 0.0.2

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 (830) hide show
  1. package/AGENTS.md +13 -0
  2. package/Architecture.md +601 -0
  3. package/LICENSE +21 -0
  4. package/LICENSES/Apache-2.0.txt +202 -0
  5. package/LICENSES/BSD-3-Clause-Skia.txt +29 -0
  6. package/LICENSES/Bitstream-Vera.txt +44 -0
  7. package/LICENSES/CC-BY-4.0.txt +396 -0
  8. package/LICENSES/OFL-1.1.txt +91 -0
  9. package/LICENSES/README.md +9 -0
  10. package/LICENSES/acorn.txt +21 -0
  11. package/LICENSES/chromium.txt +27 -0
  12. package/LICENSES/dropflow.txt +19 -0
  13. package/LICENSES/emscripten.txt +102 -0
  14. package/LICENSES/freetype.txt +169 -0
  15. package/LICENSES/happy-dom.txt +22 -0
  16. package/LICENSES/harfbuzz.txt +42 -0
  17. package/LICENSES/icu.txt +512 -0
  18. package/LICENSES/libjpeg-ijg.txt +260 -0
  19. package/LICENSES/libjpeg-turbo.txt +147 -0
  20. package/LICENSES/libpng.txt +134 -0
  21. package/LICENSES/libwebp.txt +30 -0
  22. package/LICENSES/ses-aura.txt +16 -0
  23. package/LICENSES/ses-caja.txt +13 -0
  24. package/LICENSES/ses-corejs.txt +19 -0
  25. package/LICENSES/ses-v8.txt +9 -0
  26. package/LICENSES/ses.txt +201 -0
  27. package/LICENSES/termdom.txt +21 -0
  28. package/LICENSES/wasmpeg.txt +501 -0
  29. package/LICENSES/woff2.txt +19 -0
  30. package/LICENSES/wuffs.txt +211 -0
  31. package/LICENSES/zlib.txt +22 -0
  32. package/Linux +0 -0
  33. package/PORTING.md +825 -0
  34. package/README.md +283 -0
  35. package/THIRD_PARTY_NOTICES.md +224 -0
  36. package/bunfig.toml +2 -0
  37. package/buninu-browser.js +65 -0
  38. package/index.js +149 -0
  39. package/lib/cdp-server.js +1424 -0
  40. package/lib/cdp.js +203 -0
  41. package/lib/happy-dom/entities-adapter.js +51 -0
  42. package/lib/happy-dom/image-size-adapter.js +8 -0
  43. package/lib/happy-dom/mime-type-adapter.js +27 -0
  44. package/lib/happy-dom/parser.js +53 -0
  45. package/lib/happy-dom/websocket-adapter.js +62 -0
  46. package/lib/headless-shell.js +362 -0
  47. package/lib/input/hit-test.js +78 -0
  48. package/lib/layout/scroll-viewport.js +53 -0
  49. package/lib/layout/text-layout.js +2236 -0
  50. package/lib/log.js +85 -0
  51. package/lib/network/cookie-jar.js +178 -0
  52. package/lib/network/network-service.js +268 -0
  53. package/lib/network/resolver.js +97 -0
  54. package/lib/paint/display-list.js +359 -0
  55. package/lib/paint/frame.js +88 -0
  56. package/lib/paint/gradient.js +207 -0
  57. package/lib/render-tree/index.js +263 -0
  58. package/lib/render-tree/svg.js +210 -0
  59. package/lib/renderer/bindings.js +1291 -0
  60. package/lib/renderer/compositor.js +123 -0
  61. package/lib/renderer/flags.js +20 -0
  62. package/lib/renderer/host.js +503 -0
  63. package/lib/renderer/main.js +234 -0
  64. package/lib/renderer/module-transform.js +399 -0
  65. package/lib/renderer/page-realm.js +1471 -0
  66. package/lib/renderer/page-renderer.js +1691 -0
  67. package/lib/renderer/script-rewrite.js +232 -0
  68. package/lib/renderer/seccomp.js +215 -0
  69. package/lib/renderer/syscall-numbers.js +139 -0
  70. package/lib/style/computed-style.js +2053 -0
  71. package/package.json +39 -0
  72. package/patches/happy-dom/0001-use-bun-entity-adapter.patch +15 -0
  73. package/patches/happy-dom/0002-use-bun-platform-adapters.patch +69 -0
  74. package/patches/happy-dom/README.md +38 -0
  75. package/test/chromium-headless-shell +5 -0
  76. package/test/compositor.test.js +154 -0
  77. package/test/computed-style.test.js +434 -0
  78. package/test/display-list.test.js +128 -0
  79. package/test/entities-adapter.test.js +43 -0
  80. package/test/fixtures/fake-renderer.js +26 -0
  81. package/test/fixtures/seccomp-child.js +32 -0
  82. package/test/fixtures/video.mp4 +0 -0
  83. package/test/flex.test.js +150 -0
  84. package/test/gradient.test.js +56 -0
  85. package/test/grid.test.js +253 -0
  86. package/test/happy-dom-platform-adapters.test.js +18 -0
  87. package/test/headless-shell.test.js +318 -0
  88. package/test/hit-test.test.js +49 -0
  89. package/test/html-parser.test.js +40 -0
  90. package/test/index.test.js +29 -0
  91. package/test/log.test.js +40 -0
  92. package/test/mobile.test.js +85 -0
  93. package/test/network-service.test.js +214 -0
  94. package/test/page-scripts.test.js +552 -0
  95. package/test/poc-backend.js +189 -0
  96. package/test/poc-backend.test.js +154 -0
  97. package/test/positioning.test.js +112 -0
  98. package/test/render-tree.test.js +103 -0
  99. package/test/renderer-host.test.js +69 -0
  100. package/test/resolver.test.js +51 -0
  101. package/test/script-rewrite.test.js +31 -0
  102. package/test/scroll-viewport.test.js +25 -0
  103. package/test/seccomp.test.js +71 -0
  104. package/test/site-isolation.test.js +74 -0
  105. package/test/svg.test.js +61 -0
  106. package/test/text-layout.test.js +419 -0
  107. package/usr/README.md +20 -0
  108. package/usr/lib/canvaskit/LICENSE +29 -0
  109. package/usr/lib/canvaskit/canvaskit.js +264 -0
  110. package/usr/lib/canvaskit/canvaskit.wasm +0 -0
  111. package/usr/share/fonts/DejaVuSansMono-Bold.ttf +0 -0
  112. package/usr/share/fonts/DejaVuSansMono.ttf +0 -0
  113. package/usr/share/fonts/LICENSE-Apache-2.0.txt +202 -0
  114. package/usr/share/fonts/LICENSE-DejaVu.txt +44 -0
  115. package/usr/share/fonts/LICENSE-OFL-1.1.txt +91 -0
  116. package/usr/share/fonts/NotoColorEmoji.ttf +0 -0
  117. package/usr/share/fonts/NotoColorEmojiFlags.ttf +0 -0
  118. package/usr/share/fonts/NotoSansCJK-Regular.ttc +0 -0
  119. package/usr/share/fonts/NotoSansSymbols-Regular-Subsetted.ttf +0 -0
  120. package/usr/share/fonts/NotoSansSymbols-Regular-Subsetted2.ttf +0 -0
  121. package/usr/share/fonts/Roboto-Regular.ttf +0 -0
  122. package/usr/share/fonts/fonts.json +28 -0
  123. package/vendor/acorn/LICENSE +21 -0
  124. package/vendor/acorn/README.md +309 -0
  125. package/vendor/acorn/dist/acorn.mjs +6313 -0
  126. package/vendor/acorn/package.json +50 -0
  127. package/vendor/happy-dom/.editorconfig +8 -0
  128. package/vendor/happy-dom/.eslintignore +6 -0
  129. package/vendor/happy-dom/.eslintrc.cjs +188 -0
  130. package/vendor/happy-dom/.github/CODEOWNERS +2 -0
  131. package/vendor/happy-dom/.github/FUNDING.yml +1 -0
  132. package/vendor/happy-dom/.github/ISSUE_TEMPLATE/bug_report.md +32 -0
  133. package/vendor/happy-dom/.github/ISSUE_TEMPLATE/custom.md +10 -0
  134. package/vendor/happy-dom/.github/ISSUE_TEMPLATE/feature_request.md +19 -0
  135. package/vendor/happy-dom/.github/PULL_REQUEST_TEMPLATE.md +27 -0
  136. package/vendor/happy-dom/.github/workflows/auto-assign.yml +23 -0
  137. package/vendor/happy-dom/.github/workflows/pull_request.yml +53 -0
  138. package/vendor/happy-dom/.github/workflows/release.yml +143 -0
  139. package/vendor/happy-dom/.husky/pre-commit +1 -0
  140. package/vendor/happy-dom/.prettierignore +1 -0
  141. package/vendor/happy-dom/.prettierrc.cjs +6 -0
  142. package/vendor/happy-dom/.vscode/extensions.json +3 -0
  143. package/vendor/happy-dom/CODE_OF_CONDUCT.md +128 -0
  144. package/vendor/happy-dom/CONTRIBUTING.md +147 -0
  145. package/vendor/happy-dom/LICENSE +21 -0
  146. package/vendor/happy-dom/README.md +62 -0
  147. package/vendor/happy-dom/SECURITY.md +12 -0
  148. package/vendor/happy-dom/cspell.json +34 -0
  149. package/vendor/happy-dom/docs/happy-dom-logo.jpg +0 -0
  150. package/vendor/happy-dom/integration-test/.editorconfig +8 -0
  151. package/vendor/happy-dom/integration-test/LICENSE +21 -0
  152. package/vendor/happy-dom/integration-test/README.md +1 -0
  153. package/vendor/happy-dom/integration-test/package.json +24 -0
  154. package/vendor/happy-dom/package-lock.json +15520 -0
  155. package/vendor/happy-dom/package.json +55 -0
  156. package/vendor/happy-dom/packages/@happy-dom/global-registrator/LICENSE +21 -0
  157. package/vendor/happy-dom/packages/@happy-dom/global-registrator/README.md +60 -0
  158. package/vendor/happy-dom/packages/@happy-dom/global-registrator/package.json +52 -0
  159. package/vendor/happy-dom/packages/@happy-dom/global-registrator/register.js +2 -0
  160. package/vendor/happy-dom/packages/@happy-dom/global-registrator/src/GlobalRegistrator.ts +121 -0
  161. package/vendor/happy-dom/packages/@happy-dom/global-registrator/src/index.ts +3 -0
  162. package/vendor/happy-dom/packages/@happy-dom/global-registrator/tsconfig.json +30 -0
  163. package/vendor/happy-dom/packages/@happy-dom/jest-environment/LICENSE +21 -0
  164. package/vendor/happy-dom/packages/@happy-dom/jest-environment/README.md +71 -0
  165. package/vendor/happy-dom/packages/@happy-dom/jest-environment/package.json +93 -0
  166. package/vendor/happy-dom/packages/@happy-dom/jest-environment/src/index.ts +192 -0
  167. package/vendor/happy-dom/packages/@happy-dom/jest-environment/tsconfig.json +30 -0
  168. package/vendor/happy-dom/packages/@happy-dom/node-canvas-adapter/README.md +48 -0
  169. package/vendor/happy-dom/packages/@happy-dom/node-canvas-adapter/package.json +41 -0
  170. package/vendor/happy-dom/packages/@happy-dom/node-canvas-adapter/src/CanvasAdapter.ts +275 -0
  171. package/vendor/happy-dom/packages/@happy-dom/node-canvas-adapter/src/index.ts +1 -0
  172. package/vendor/happy-dom/packages/@happy-dom/server-renderer/LICENSE +21 -0
  173. package/vendor/happy-dom/packages/@happy-dom/server-renderer/README.md +100 -0
  174. package/vendor/happy-dom/packages/@happy-dom/server-renderer/bin/src/happy-dom-sr.ts +30 -0
  175. package/vendor/happy-dom/packages/@happy-dom/server-renderer/package.json +62 -0
  176. package/vendor/happy-dom/packages/@happy-dom/server-renderer/src/ServerRenderer.ts +368 -0
  177. package/vendor/happy-dom/packages/@happy-dom/server-renderer/src/ServerRendererBrowser.ts +142 -0
  178. package/vendor/happy-dom/packages/@happy-dom/server-renderer/src/ServerRendererBrowserWorker.ts +29 -0
  179. package/vendor/happy-dom/packages/@happy-dom/server-renderer/src/ServerRendererPage.ts +305 -0
  180. package/vendor/happy-dom/packages/@happy-dom/server-renderer/src/ServerRendererPageWorker.ts +55 -0
  181. package/vendor/happy-dom/packages/@happy-dom/server-renderer/src/ServerRendererServer.ts +332 -0
  182. package/vendor/happy-dom/packages/@happy-dom/server-renderer/src/config/DefaultServerRendererConfiguration.ts +47 -0
  183. package/vendor/happy-dom/packages/@happy-dom/server-renderer/src/enums/ServerRendererLogLevelEnum.ts +9 -0
  184. package/vendor/happy-dom/packages/@happy-dom/server-renderer/src/enums/ServerRendererModeEnum.ts +8 -0
  185. package/vendor/happy-dom/packages/@happy-dom/server-renderer/src/index.ts +19 -0
  186. package/vendor/happy-dom/packages/@happy-dom/server-renderer/src/types/IOptionalServerRendererConfiguration.ts +127 -0
  187. package/vendor/happy-dom/packages/@happy-dom/server-renderer/src/types/IServerRendererConfiguration.ts +126 -0
  188. package/vendor/happy-dom/packages/@happy-dom/server-renderer/src/types/IServerRendererItem.ts +6 -0
  189. package/vendor/happy-dom/packages/@happy-dom/server-renderer/src/types/IServerRendererResult.ts +11 -0
  190. package/vendor/happy-dom/packages/@happy-dom/server-renderer/src/utilities/BrowserWindowPolyfill.ts +138 -0
  191. package/vendor/happy-dom/packages/@happy-dom/server-renderer/src/utilities/HelpPrinter.ts +36 -0
  192. package/vendor/happy-dom/packages/@happy-dom/server-renderer/src/utilities/HelpPrinterRows.ts +288 -0
  193. package/vendor/happy-dom/packages/@happy-dom/server-renderer/src/utilities/PackageVersion.ts +12 -0
  194. package/vendor/happy-dom/packages/@happy-dom/server-renderer/src/utilities/ProcessArgumentsParser.ts +387 -0
  195. package/vendor/happy-dom/packages/@happy-dom/server-renderer/src/utilities/ServerRendererConfigurationFactory.ts +91 -0
  196. package/vendor/happy-dom/packages/happy-dom/LICENSE +21 -0
  197. package/vendor/happy-dom/packages/happy-dom/README.md +42 -0
  198. package/vendor/happy-dom/packages/happy-dom/package.json +58 -0
  199. package/vendor/happy-dom/packages/happy-dom/src/PropertySymbol.ts +431 -0
  200. package/vendor/happy-dom/packages/happy-dom/src/animation/Animation.ts +273 -0
  201. package/vendor/happy-dom/packages/happy-dom/src/animation/AnimationTimeline.ts +15 -0
  202. package/vendor/happy-dom/packages/happy-dom/src/animation/DocumentTimeline.ts +33 -0
  203. package/vendor/happy-dom/packages/happy-dom/src/animation/KeyframeEffect.ts +295 -0
  204. package/vendor/happy-dom/packages/happy-dom/src/async-task-manager/AsyncTaskManager.ts +340 -0
  205. package/vendor/happy-dom/packages/happy-dom/src/async-task-manager/AsyncTaskManagerDebugError.ts +14 -0
  206. package/vendor/happy-dom/packages/happy-dom/src/base64/Base64.ts +97 -0
  207. package/vendor/happy-dom/packages/happy-dom/src/browser/Browser.ts +123 -0
  208. package/vendor/happy-dom/packages/happy-dom/src/browser/BrowserContext.ts +100 -0
  209. package/vendor/happy-dom/packages/happy-dom/src/browser/BrowserFrame.ts +232 -0
  210. package/vendor/happy-dom/packages/happy-dom/src/browser/BrowserPage.ts +205 -0
  211. package/vendor/happy-dom/packages/happy-dom/src/browser/BrowserSettingsFactory.ts +96 -0
  212. package/vendor/happy-dom/packages/happy-dom/src/browser/DefaultBrowserSettings.ts +67 -0
  213. package/vendor/happy-dom/packages/happy-dom/src/browser/detached-browser/DetachedBrowser.ts +129 -0
  214. package/vendor/happy-dom/packages/happy-dom/src/browser/detached-browser/DetachedBrowserContext.ts +103 -0
  215. package/vendor/happy-dom/packages/happy-dom/src/browser/detached-browser/DetachedBrowserFrame.ts +250 -0
  216. package/vendor/happy-dom/packages/happy-dom/src/browser/detached-browser/DetachedBrowserPage.ts +218 -0
  217. package/vendor/happy-dom/packages/happy-dom/src/browser/enums/BrowserErrorCaptureEnum.ts +10 -0
  218. package/vendor/happy-dom/packages/happy-dom/src/browser/enums/BrowserNavigationCrossOriginPolicyEnum.ts +10 -0
  219. package/vendor/happy-dom/packages/happy-dom/src/browser/types/IBrowser.ts +51 -0
  220. package/vendor/happy-dom/packages/happy-dom/src/browser/types/IBrowserContext.ts +44 -0
  221. package/vendor/happy-dom/packages/happy-dom/src/browser/types/IBrowserFrame.ts +112 -0
  222. package/vendor/happy-dom/packages/happy-dom/src/browser/types/IBrowserPage.ts +110 -0
  223. package/vendor/happy-dom/packages/happy-dom/src/browser/types/IBrowserPageViewport.ts +5 -0
  224. package/vendor/happy-dom/packages/happy-dom/src/browser/types/IBrowserSettings.ts +194 -0
  225. package/vendor/happy-dom/packages/happy-dom/src/browser/types/IGoToOptions.ts +17 -0
  226. package/vendor/happy-dom/packages/happy-dom/src/browser/types/IOptionalBrowserPageViewport.ts +5 -0
  227. package/vendor/happy-dom/packages/happy-dom/src/browser/types/IOptionalBrowserSettings.ts +190 -0
  228. package/vendor/happy-dom/packages/happy-dom/src/browser/types/IReloadOptions.ts +27 -0
  229. package/vendor/happy-dom/packages/happy-dom/src/browser/utilities/BrowserExceptionObserver.ts +123 -0
  230. package/vendor/happy-dom/packages/happy-dom/src/browser/utilities/BrowserFrameFactory.ts +106 -0
  231. package/vendor/happy-dom/packages/happy-dom/src/browser/utilities/BrowserFrameNavigator.ts +574 -0
  232. package/vendor/happy-dom/packages/happy-dom/src/browser/utilities/BrowserFrameScriptEvaluator.ts +71 -0
  233. package/vendor/happy-dom/packages/happy-dom/src/browser/utilities/BrowserFrameURL.ts +30 -0
  234. package/vendor/happy-dom/packages/happy-dom/src/browser/utilities/BrowserFrameValidator.ts +84 -0
  235. package/vendor/happy-dom/packages/happy-dom/src/browser/utilities/BrowserPageUtility.ts +56 -0
  236. package/vendor/happy-dom/packages/happy-dom/src/canvas/ICanvasAdapter.ts +63 -0
  237. package/vendor/happy-dom/packages/happy-dom/src/canvas/ICanvasAdapterCaller.ts +9 -0
  238. package/vendor/happy-dom/packages/happy-dom/src/canvas/ICanvasGradient.ts +8 -0
  239. package/vendor/happy-dom/packages/happy-dom/src/canvas/ICanvasPattern.ts +10 -0
  240. package/vendor/happy-dom/packages/happy-dom/src/canvas/ICanvasRenderingContext2D.ts +162 -0
  241. package/vendor/happy-dom/packages/happy-dom/src/canvas/ICanvasShape.ts +7 -0
  242. package/vendor/happy-dom/packages/happy-dom/src/canvas/IImageBitmapOptions.ts +8 -0
  243. package/vendor/happy-dom/packages/happy-dom/src/canvas/ITextMetrics.ts +12 -0
  244. package/vendor/happy-dom/packages/happy-dom/src/canvas/ImageBitmap.ts +162 -0
  245. package/vendor/happy-dom/packages/happy-dom/src/canvas/ImageData.ts +83 -0
  246. package/vendor/happy-dom/packages/happy-dom/src/canvas/OffscreenCanvas.ts +162 -0
  247. package/vendor/happy-dom/packages/happy-dom/src/canvas/TCanvasImage.ts +14 -0
  248. package/vendor/happy-dom/packages/happy-dom/src/canvas/TImageBitmapSource.ts +12 -0
  249. package/vendor/happy-dom/packages/happy-dom/src/clipboard/Clipboard.ts +108 -0
  250. package/vendor/happy-dom/packages/happy-dom/src/clipboard/ClipboardItem.ts +57 -0
  251. package/vendor/happy-dom/packages/happy-dom/src/config/HTMLElementConfig.ts +536 -0
  252. package/vendor/happy-dom/packages/happy-dom/src/config/HTMLElementConfigContentModelEnum.ts +12 -0
  253. package/vendor/happy-dom/packages/happy-dom/src/config/IHTMLElementTagNameMap.ts +181 -0
  254. package/vendor/happy-dom/packages/happy-dom/src/config/ISVGElementTagNameMap.ts +127 -0
  255. package/vendor/happy-dom/packages/happy-dom/src/config/NamespaceURI.ts +8 -0
  256. package/vendor/happy-dom/packages/happy-dom/src/config/SVGElementConfig.ts +70 -0
  257. package/vendor/happy-dom/packages/happy-dom/src/console/IConsole.ts +161 -0
  258. package/vendor/happy-dom/packages/happy-dom/src/console/IVirtualConsoleLogEntry.ts +10 -0
  259. package/vendor/happy-dom/packages/happy-dom/src/console/IVirtualConsoleLogGroup.ts +6 -0
  260. package/vendor/happy-dom/packages/happy-dom/src/console/IVirtualConsolePrinter.ts +58 -0
  261. package/vendor/happy-dom/packages/happy-dom/src/console/VirtualConsole.ts +363 -0
  262. package/vendor/happy-dom/packages/happy-dom/src/console/VirtualConsolePrinter.ts +148 -0
  263. package/vendor/happy-dom/packages/happy-dom/src/console/enums/VirtualConsoleLogLevelEnum.ts +12 -0
  264. package/vendor/happy-dom/packages/happy-dom/src/console/enums/VirtualConsoleLogTypeEnum.ts +29 -0
  265. package/vendor/happy-dom/packages/happy-dom/src/console/utilities/VirtualConsoleLogEntryStringifier.ts +100 -0
  266. package/vendor/happy-dom/packages/happy-dom/src/cookie/CookieContainer.ts +91 -0
  267. package/vendor/happy-dom/packages/happy-dom/src/cookie/DefaultCookie.ts +17 -0
  268. package/vendor/happy-dom/packages/happy-dom/src/cookie/ICookie.ts +14 -0
  269. package/vendor/happy-dom/packages/happy-dom/src/cookie/ICookieContainer.ts +33 -0
  270. package/vendor/happy-dom/packages/happy-dom/src/cookie/IOptionalCookie.ts +16 -0
  271. package/vendor/happy-dom/packages/happy-dom/src/cookie/enums/CookieSameSiteEnum.ts +6 -0
  272. package/vendor/happy-dom/packages/happy-dom/src/cookie/urilities/CookieExpireUtility.ts +16 -0
  273. package/vendor/happy-dom/packages/happy-dom/src/cookie/urilities/CookieStringUtility.ts +119 -0
  274. package/vendor/happy-dom/packages/happy-dom/src/cookie/urilities/CookieURLUtility.ts +27 -0
  275. package/vendor/happy-dom/packages/happy-dom/src/cookie-store/CookieStore.ts +226 -0
  276. package/vendor/happy-dom/packages/happy-dom/src/cookie-store/ICookieStoreDeleteOptions.ts +9 -0
  277. package/vendor/happy-dom/packages/happy-dom/src/cookie-store/ICookieStoreGetOptions.ts +7 -0
  278. package/vendor/happy-dom/packages/happy-dom/src/cookie-store/ICookieStoreItem.ts +13 -0
  279. package/vendor/happy-dom/packages/happy-dom/src/cookie-store/ICookieStoreSetOptions.ts +12 -0
  280. package/vendor/happy-dom/packages/happy-dom/src/css/CSS.ts +63 -0
  281. package/vendor/happy-dom/packages/happy-dom/src/css/CSSRule.ts +84 -0
  282. package/vendor/happy-dom/packages/happy-dom/src/css/CSSRuleTypeEnum.ts +18 -0
  283. package/vendor/happy-dom/packages/happy-dom/src/css/CSSStyleSheet.ts +141 -0
  284. package/vendor/happy-dom/packages/happy-dom/src/css/CSSUnitValue.ts +26 -0
  285. package/vendor/happy-dom/packages/happy-dom/src/css/CSSUnits.ts +31 -0
  286. package/vendor/happy-dom/packages/happy-dom/src/css/MediaList.ts +177 -0
  287. package/vendor/happy-dom/packages/happy-dom/src/css/declaration/CSSPropertyList.ts +1273 -0
  288. package/vendor/happy-dom/packages/happy-dom/src/css/declaration/CSSStyleDeclaration.ts +355 -0
  289. package/vendor/happy-dom/packages/happy-dom/src/css/declaration/ICSSStyleDeclaration.ts +1178 -0
  290. package/vendor/happy-dom/packages/happy-dom/src/css/declaration/computed-style/CSSComputedStyle.ts +502 -0
  291. package/vendor/happy-dom/packages/happy-dom/src/css/declaration/computed-style/config/CSSComputedStyleElementDefault.ts +133 -0
  292. package/vendor/happy-dom/packages/happy-dom/src/css/declaration/computed-style/config/CSSComputedStyleInheritedProperties.ts +39 -0
  293. package/vendor/happy-dom/packages/happy-dom/src/css/declaration/computed-style/config/CSSComputedStyleMeasurementProperties.ts +41 -0
  294. package/vendor/happy-dom/packages/happy-dom/src/css/declaration/property-manager/CSSPropertyManager.ts +641 -0
  295. package/vendor/happy-dom/packages/happy-dom/src/css/declaration/property-manager/parsers/CSSPropertyGetParser.ts +741 -0
  296. package/vendor/happy-dom/packages/happy-dom/src/css/declaration/property-manager/parsers/CSSPropertySetParser.ts +2955 -0
  297. package/vendor/happy-dom/packages/happy-dom/src/css/declaration/property-manager/types/ICSSPropertyMap.ts +5 -0
  298. package/vendor/happy-dom/packages/happy-dom/src/css/declaration/property-manager/types/ICSSPropertyValue.ts +4 -0
  299. package/vendor/happy-dom/packages/happy-dom/src/css/declaration/property-manager/utilities/CSSStringUtility.ts +90 -0
  300. package/vendor/happy-dom/packages/happy-dom/src/css/declaration/property-manager/utilities/CSSValueFormatter.ts +447 -0
  301. package/vendor/happy-dom/packages/happy-dom/src/css/declaration/property-manager/utilities/CSSVariableFormatter.ts +76 -0
  302. package/vendor/happy-dom/packages/happy-dom/src/css/declaration/utilities/CSSMeasurementConverter.ts +79 -0
  303. package/vendor/happy-dom/packages/happy-dom/src/css/declaration/utilities/CSSTextParser.ts +44 -0
  304. package/vendor/happy-dom/packages/happy-dom/src/css/rules/CSSConditionRule.ts +20 -0
  305. package/vendor/happy-dom/packages/happy-dom/src/css/rules/CSSContainerRule.ts +34 -0
  306. package/vendor/happy-dom/packages/happy-dom/src/css/rules/CSSFontFaceRule.ts +45 -0
  307. package/vendor/happy-dom/packages/happy-dom/src/css/rules/CSSGroupingRule.ts +84 -0
  308. package/vendor/happy-dom/packages/happy-dom/src/css/rules/CSSKeyframeRule.ts +53 -0
  309. package/vendor/happy-dom/packages/happy-dom/src/css/rules/CSSKeyframesRule.ts +147 -0
  310. package/vendor/happy-dom/packages/happy-dom/src/css/rules/CSSMediaRule.ts +50 -0
  311. package/vendor/happy-dom/packages/happy-dom/src/css/rules/CSSScopeRule.ts +53 -0
  312. package/vendor/happy-dom/packages/happy-dom/src/css/rules/CSSStyleRule.ts +73 -0
  313. package/vendor/happy-dom/packages/happy-dom/src/css/rules/CSSSupportsRule.ts +30 -0
  314. package/vendor/happy-dom/packages/happy-dom/src/css/style-property-map/CSSKeywordValue.ts +35 -0
  315. package/vendor/happy-dom/packages/happy-dom/src/css/style-property-map/CSSStyleValue.ts +37 -0
  316. package/vendor/happy-dom/packages/happy-dom/src/css/style-property-map/StylePropertyMap.ts +45 -0
  317. package/vendor/happy-dom/packages/happy-dom/src/css/style-property-map/StylePropertyMapReadOnly.ts +128 -0
  318. package/vendor/happy-dom/packages/happy-dom/src/css/utilities/CSSEscaper.ts +87 -0
  319. package/vendor/happy-dom/packages/happy-dom/src/css/utilities/CSSRuleParser.ts +315 -0
  320. package/vendor/happy-dom/packages/happy-dom/src/custom-element/CustomElementReactionStack.ts +91 -0
  321. package/vendor/happy-dom/packages/happy-dom/src/custom-element/CustomElementRegistry.ts +186 -0
  322. package/vendor/happy-dom/packages/happy-dom/src/custom-element/CustomElementUtility.ts +34 -0
  323. package/vendor/happy-dom/packages/happy-dom/src/custom-element/ICustomElementDefinition.ts +16 -0
  324. package/vendor/happy-dom/packages/happy-dom/src/dom/DOMPoint.ts +84 -0
  325. package/vendor/happy-dom/packages/happy-dom/src/dom/DOMPointReadOnly.ts +117 -0
  326. package/vendor/happy-dom/packages/happy-dom/src/dom/DOMRect.ts +92 -0
  327. package/vendor/happy-dom/packages/happy-dom/src/dom/DOMRectList.ts +34 -0
  328. package/vendor/happy-dom/packages/happy-dom/src/dom/DOMRectReadOnly.ts +129 -0
  329. package/vendor/happy-dom/packages/happy-dom/src/dom/DOMStringMap.ts +93 -0
  330. package/vendor/happy-dom/packages/happy-dom/src/dom/DOMStringMapUtility.ts +33 -0
  331. package/vendor/happy-dom/packages/happy-dom/src/dom/DOMTokenList.ts +363 -0
  332. package/vendor/happy-dom/packages/happy-dom/src/dom/IDOMPointInit.ts +6 -0
  333. package/vendor/happy-dom/packages/happy-dom/src/dom/IDOMRectInit.ts +6 -0
  334. package/vendor/happy-dom/packages/happy-dom/src/dom/dom-matrix/DOMMatrix.ts +526 -0
  335. package/vendor/happy-dom/packages/happy-dom/src/dom/dom-matrix/DOMMatrixReadOnly.ts +1608 -0
  336. package/vendor/happy-dom/packages/happy-dom/src/dom/dom-matrix/IDOMMatrixCompatibleObject.ts +24 -0
  337. package/vendor/happy-dom/packages/happy-dom/src/dom/dom-matrix/IDOMMatrixJSON.ts +26 -0
  338. package/vendor/happy-dom/packages/happy-dom/src/dom/dom-matrix/TDOMMatrix2DArray.ts +3 -0
  339. package/vendor/happy-dom/packages/happy-dom/src/dom/dom-matrix/TDOMMatrix3DArray.ts +20 -0
  340. package/vendor/happy-dom/packages/happy-dom/src/dom/dom-matrix/TDOMMatrixInit.ts +8 -0
  341. package/vendor/happy-dom/packages/happy-dom/src/dom-implementation/DOMImplementation.ts +81 -0
  342. package/vendor/happy-dom/packages/happy-dom/src/dom-parser/DOMParser.ts +47 -0
  343. package/vendor/happy-dom/packages/happy-dom/src/event/DataTransfer.ts +128 -0
  344. package/vendor/happy-dom/packages/happy-dom/src/event/DataTransferItem.ts +47 -0
  345. package/vendor/happy-dom/packages/happy-dom/src/event/DataTransferItemList.ts +44 -0
  346. package/vendor/happy-dom/packages/happy-dom/src/event/Event.ts +222 -0
  347. package/vendor/happy-dom/packages/happy-dom/src/event/EventPhaseEnum.ts +7 -0
  348. package/vendor/happy-dom/packages/happy-dom/src/event/EventTarget.ts +396 -0
  349. package/vendor/happy-dom/packages/happy-dom/src/event/IEventInit.ts +5 -0
  350. package/vendor/happy-dom/packages/happy-dom/src/event/IEventListenerOptions.ts +10 -0
  351. package/vendor/happy-dom/packages/happy-dom/src/event/ITouchInit.ts +16 -0
  352. package/vendor/happy-dom/packages/happy-dom/src/event/IUIEventInit.ts +7 -0
  353. package/vendor/happy-dom/packages/happy-dom/src/event/MessagePort.ts +32 -0
  354. package/vendor/happy-dom/packages/happy-dom/src/event/TEventListener.ts +4 -0
  355. package/vendor/happy-dom/packages/happy-dom/src/event/TEventListenerFunction.ts +3 -0
  356. package/vendor/happy-dom/packages/happy-dom/src/event/TEventListenerObject.ts +5 -0
  357. package/vendor/happy-dom/packages/happy-dom/src/event/Touch.ts +40 -0
  358. package/vendor/happy-dom/packages/happy-dom/src/event/UIEvent.ts +32 -0
  359. package/vendor/happy-dom/packages/happy-dom/src/event/events/AnimationEvent.ts +25 -0
  360. package/vendor/happy-dom/packages/happy-dom/src/event/events/ClipboardEvent.ts +22 -0
  361. package/vendor/happy-dom/packages/happy-dom/src/event/events/CloseEvent.ts +25 -0
  362. package/vendor/happy-dom/packages/happy-dom/src/event/events/CookieChangeEvent.ts +25 -0
  363. package/vendor/happy-dom/packages/happy-dom/src/event/events/CustomEvent.ts +53 -0
  364. package/vendor/happy-dom/packages/happy-dom/src/event/events/ErrorEvent.ts +29 -0
  365. package/vendor/happy-dom/packages/happy-dom/src/event/events/FocusEvent.ts +22 -0
  366. package/vendor/happy-dom/packages/happy-dom/src/event/events/HashChangeEvent.ts +25 -0
  367. package/vendor/happy-dom/packages/happy-dom/src/event/events/IAnimationEventInit.ts +7 -0
  368. package/vendor/happy-dom/packages/happy-dom/src/event/events/IClipboardEventInit.ts +6 -0
  369. package/vendor/happy-dom/packages/happy-dom/src/event/events/ICloseEventInit.ts +7 -0
  370. package/vendor/happy-dom/packages/happy-dom/src/event/events/ICookieChangeEventInit.ts +10 -0
  371. package/vendor/happy-dom/packages/happy-dom/src/event/events/ICustomEventInit.ts +5 -0
  372. package/vendor/happy-dom/packages/happy-dom/src/event/events/IErrorEventInit.ts +8 -0
  373. package/vendor/happy-dom/packages/happy-dom/src/event/events/IFocusEventInit.ts +6 -0
  374. package/vendor/happy-dom/packages/happy-dom/src/event/events/IHashChangeEventInit.ts +6 -0
  375. package/vendor/happy-dom/packages/happy-dom/src/event/events/IInputEventInit.ts +9 -0
  376. package/vendor/happy-dom/packages/happy-dom/src/event/events/IKeyboardEventInit.ts +23 -0
  377. package/vendor/happy-dom/packages/happy-dom/src/event/events/IMediaQueryListEventInit.ts +6 -0
  378. package/vendor/happy-dom/packages/happy-dom/src/event/events/IMediaQueryListInit.ts +6 -0
  379. package/vendor/happy-dom/packages/happy-dom/src/event/events/IMessageEventInit.ts +11 -0
  380. package/vendor/happy-dom/packages/happy-dom/src/event/events/IMouseEventInit.ts +21 -0
  381. package/vendor/happy-dom/packages/happy-dom/src/event/events/IPointerEventInit.ts +19 -0
  382. package/vendor/happy-dom/packages/happy-dom/src/event/events/IPopStateEventInit.ts +6 -0
  383. package/vendor/happy-dom/packages/happy-dom/src/event/events/IProgressEventInit.ts +7 -0
  384. package/vendor/happy-dom/packages/happy-dom/src/event/events/IStorageEventInit.ts +10 -0
  385. package/vendor/happy-dom/packages/happy-dom/src/event/events/ISubmitEventInit.ts +6 -0
  386. package/vendor/happy-dom/packages/happy-dom/src/event/events/ITouchEventInit.ts +12 -0
  387. package/vendor/happy-dom/packages/happy-dom/src/event/events/IWheelEventInit.ts +8 -0
  388. package/vendor/happy-dom/packages/happy-dom/src/event/events/InputEvent.ts +28 -0
  389. package/vendor/happy-dom/packages/happy-dom/src/event/events/KeyboardEvent.ts +80 -0
  390. package/vendor/happy-dom/packages/happy-dom/src/event/events/MediaQueryListEvent.ts +23 -0
  391. package/vendor/happy-dom/packages/happy-dom/src/event/events/MediaStreamTrackEvent.ts +22 -0
  392. package/vendor/happy-dom/packages/happy-dom/src/event/events/MessageEvent.ts +33 -0
  393. package/vendor/happy-dom/packages/happy-dom/src/event/events/MouseEvent.ts +52 -0
  394. package/vendor/happy-dom/packages/happy-dom/src/event/events/PointerEvent.ts +51 -0
  395. package/vendor/happy-dom/packages/happy-dom/src/event/events/PopStateEvent.ts +23 -0
  396. package/vendor/happy-dom/packages/happy-dom/src/event/events/ProgressEvent.ts +25 -0
  397. package/vendor/happy-dom/packages/happy-dom/src/event/events/StorageEvent.ts +30 -0
  398. package/vendor/happy-dom/packages/happy-dom/src/event/events/SubmitEvent.ts +22 -0
  399. package/vendor/happy-dom/packages/happy-dom/src/event/events/TouchEvent.ts +34 -0
  400. package/vendor/happy-dom/packages/happy-dom/src/event/events/WheelEvent.ts +30 -0
  401. package/vendor/happy-dom/packages/happy-dom/src/exception/DOMException.ts +21 -0
  402. package/vendor/happy-dom/packages/happy-dom/src/exception/DOMExceptionNameEnum.ts +23 -0
  403. package/vendor/happy-dom/packages/happy-dom/src/fetch/AbortController.ts +25 -0
  404. package/vendor/happy-dom/packages/happy-dom/src/fetch/AbortSignal.ts +182 -0
  405. package/vendor/happy-dom/packages/happy-dom/src/fetch/Fetch.ts +1072 -0
  406. package/vendor/happy-dom/packages/happy-dom/src/fetch/Headers.ts +177 -0
  407. package/vendor/happy-dom/packages/happy-dom/src/fetch/ReadableStreamWrapper.ts +30 -0
  408. package/vendor/happy-dom/packages/happy-dom/src/fetch/Request.ts +492 -0
  409. package/vendor/happy-dom/packages/happy-dom/src/fetch/ResourceFetch.ts +190 -0
  410. package/vendor/happy-dom/packages/happy-dom/src/fetch/Response.ts +439 -0
  411. package/vendor/happy-dom/packages/happy-dom/src/fetch/SyncFetch.ts +717 -0
  412. package/vendor/happy-dom/packages/happy-dom/src/fetch/cache/preflight/ICacheablePreflightRequest.ts +7 -0
  413. package/vendor/happy-dom/packages/happy-dom/src/fetch/cache/preflight/ICacheablePreflightResponse.ts +7 -0
  414. package/vendor/happy-dom/packages/happy-dom/src/fetch/cache/preflight/ICachedPreflightResponse.ts +5 -0
  415. package/vendor/happy-dom/packages/happy-dom/src/fetch/cache/preflight/IPreflightResponseCache.ts +33 -0
  416. package/vendor/happy-dom/packages/happy-dom/src/fetch/cache/preflight/PreflightResponseCache.ts +94 -0
  417. package/vendor/happy-dom/packages/happy-dom/src/fetch/cache/response/CachedResponseStateEnum.ts +5 -0
  418. package/vendor/happy-dom/packages/happy-dom/src/fetch/cache/response/ICacheableRequest.ts +7 -0
  419. package/vendor/happy-dom/packages/happy-dom/src/fetch/cache/response/ICacheableResponse.ts +11 -0
  420. package/vendor/happy-dom/packages/happy-dom/src/fetch/cache/response/ICachedResponse.ts +40 -0
  421. package/vendor/happy-dom/packages/happy-dom/src/fetch/cache/response/IResponseCache.ts +37 -0
  422. package/vendor/happy-dom/packages/happy-dom/src/fetch/cache/response/IResponseCacheFileSystem.ts +18 -0
  423. package/vendor/happy-dom/packages/happy-dom/src/fetch/cache/response/ResponseCache.ts +248 -0
  424. package/vendor/happy-dom/packages/happy-dom/src/fetch/cache/response/ResponseCacheFileSystem.ts +175 -0
  425. package/vendor/happy-dom/packages/happy-dom/src/fetch/certificate/FetchHTTPSCertificate.ts +52 -0
  426. package/vendor/happy-dom/packages/happy-dom/src/fetch/data-uri/DataURIParser.ts +66 -0
  427. package/vendor/happy-dom/packages/happy-dom/src/fetch/multipart/MultipartFormDataParser.ts +174 -0
  428. package/vendor/happy-dom/packages/happy-dom/src/fetch/multipart/MultipartReader.ts +216 -0
  429. package/vendor/happy-dom/packages/happy-dom/src/fetch/preload/PreloadEntry.ts +50 -0
  430. package/vendor/happy-dom/packages/happy-dom/src/fetch/preload/PreloadUtility.ts +33 -0
  431. package/vendor/happy-dom/packages/happy-dom/src/fetch/types/IFetchInterceptor.ts +60 -0
  432. package/vendor/happy-dom/packages/happy-dom/src/fetch/types/IFetchRequestHeaders.ts +9 -0
  433. package/vendor/happy-dom/packages/happy-dom/src/fetch/types/IRequestInit.ts +23 -0
  434. package/vendor/happy-dom/packages/happy-dom/src/fetch/types/IResourceFetchResponse.ts +4 -0
  435. package/vendor/happy-dom/packages/happy-dom/src/fetch/types/IResponseInit.ts +10 -0
  436. package/vendor/happy-dom/packages/happy-dom/src/fetch/types/ISyncResponse.ts +18 -0
  437. package/vendor/happy-dom/packages/happy-dom/src/fetch/types/IVirtualServer.ts +7 -0
  438. package/vendor/happy-dom/packages/happy-dom/src/fetch/types/THeadersInit.ts +3 -0
  439. package/vendor/happy-dom/packages/happy-dom/src/fetch/types/TRequestBody.ts +14 -0
  440. package/vendor/happy-dom/packages/happy-dom/src/fetch/types/TRequestCredentials.ts +1 -0
  441. package/vendor/happy-dom/packages/happy-dom/src/fetch/types/TRequestInfo.ts +4 -0
  442. package/vendor/happy-dom/packages/happy-dom/src/fetch/types/TRequestMode.ts +1 -0
  443. package/vendor/happy-dom/packages/happy-dom/src/fetch/types/TRequestRedirect.ts +1 -0
  444. package/vendor/happy-dom/packages/happy-dom/src/fetch/types/TRequestReferrerPolicy.ts +10 -0
  445. package/vendor/happy-dom/packages/happy-dom/src/fetch/types/TResponseBody.ts +14 -0
  446. package/vendor/happy-dom/packages/happy-dom/src/fetch/utilities/FetchBodyUtility.ts +284 -0
  447. package/vendor/happy-dom/packages/happy-dom/src/fetch/utilities/FetchCORSUtility.ts +23 -0
  448. package/vendor/happy-dom/packages/happy-dom/src/fetch/utilities/FetchRequestHeaderUtility.ts +141 -0
  449. package/vendor/happy-dom/packages/happy-dom/src/fetch/utilities/FetchRequestReferrerUtility.ts +259 -0
  450. package/vendor/happy-dom/packages/happy-dom/src/fetch/utilities/FetchRequestValidationUtility.ts +128 -0
  451. package/vendor/happy-dom/packages/happy-dom/src/fetch/utilities/FetchResponseHeaderUtility.ts +48 -0
  452. package/vendor/happy-dom/packages/happy-dom/src/fetch/utilities/FetchResponseRedirectUtility.ts +27 -0
  453. package/vendor/happy-dom/packages/happy-dom/src/fetch/utilities/SyncFetchScriptBuilder.ts +77 -0
  454. package/vendor/happy-dom/packages/happy-dom/src/fetch/utilities/VirtualServerUtility.ts +114 -0
  455. package/vendor/happy-dom/packages/happy-dom/src/file/Blob.ts +163 -0
  456. package/vendor/happy-dom/packages/happy-dom/src/file/File.ts +43 -0
  457. package/vendor/happy-dom/packages/happy-dom/src/file/FileReader.ts +211 -0
  458. package/vendor/happy-dom/packages/happy-dom/src/file/FileReaderEventTypeEnum.ts +9 -0
  459. package/vendor/happy-dom/packages/happy-dom/src/file/FileReaderFormatEnum.ts +7 -0
  460. package/vendor/happy-dom/packages/happy-dom/src/file/FileReaderReadyStateEnum.ts +6 -0
  461. package/vendor/happy-dom/packages/happy-dom/src/form-data/FormData.ts +291 -0
  462. package/vendor/happy-dom/packages/happy-dom/src/history/History.ts +220 -0
  463. package/vendor/happy-dom/packages/happy-dom/src/history/HistoryItemList.ts +72 -0
  464. package/vendor/happy-dom/packages/happy-dom/src/history/HistoryScrollRestorationEnum.ts +5 -0
  465. package/vendor/happy-dom/packages/happy-dom/src/history/IHistoryItem.ts +12 -0
  466. package/vendor/happy-dom/packages/happy-dom/src/html-parser/HTMLParser.ts +920 -0
  467. package/vendor/happy-dom/packages/happy-dom/src/html-serializer/HTMLSerializer.ts +172 -0
  468. package/vendor/happy-dom/packages/happy-dom/src/index.ts +495 -0
  469. package/vendor/happy-dom/packages/happy-dom/src/intersection-observer/IIntersectionObserverInit.ts +16 -0
  470. package/vendor/happy-dom/packages/happy-dom/src/intersection-observer/IntersectionObserver.ts +64 -0
  471. package/vendor/happy-dom/packages/happy-dom/src/intersection-observer/IntersectionObserverEntry.ts +26 -0
  472. package/vendor/happy-dom/packages/happy-dom/src/javascript/IJavaScriptCompiledResult.ts +9 -0
  473. package/vendor/happy-dom/packages/happy-dom/src/javascript/JavaScriptCompiler.ts +381 -0
  474. package/vendor/happy-dom/packages/happy-dom/src/location/Location.ts +319 -0
  475. package/vendor/happy-dom/packages/happy-dom/src/match-media/IMediaQueryRange.ts +5 -0
  476. package/vendor/happy-dom/packages/happy-dom/src/match-media/IMediaQueryRule.ts +4 -0
  477. package/vendor/happy-dom/packages/happy-dom/src/match-media/MediaQueryItem.ts +354 -0
  478. package/vendor/happy-dom/packages/happy-dom/src/match-media/MediaQueryList.ts +133 -0
  479. package/vendor/happy-dom/packages/happy-dom/src/match-media/MediaQueryParser.ts +113 -0
  480. package/vendor/happy-dom/packages/happy-dom/src/match-media/MediaQueryTypeEnum.ts +7 -0
  481. package/vendor/happy-dom/packages/happy-dom/src/module/CSSModule.ts +53 -0
  482. package/vendor/happy-dom/packages/happy-dom/src/module/ECMAScriptModule.ts +194 -0
  483. package/vendor/happy-dom/packages/happy-dom/src/module/ECMAScriptModuleCompiler.ts +961 -0
  484. package/vendor/happy-dom/packages/happy-dom/src/module/JSONModule.ts +58 -0
  485. package/vendor/happy-dom/packages/happy-dom/src/module/ModuleFactory.ts +148 -0
  486. package/vendor/happy-dom/packages/happy-dom/src/module/ModuleURLUtility.ts +199 -0
  487. package/vendor/happy-dom/packages/happy-dom/src/module/UnresolvedModule.ts +81 -0
  488. package/vendor/happy-dom/packages/happy-dom/src/module/enums/ECMAScriptModuleEvaluateStateEnum.ts +7 -0
  489. package/vendor/happy-dom/packages/happy-dom/src/module/types/IECMAScriptModuleCachedResult.ts +9 -0
  490. package/vendor/happy-dom/packages/happy-dom/src/module/types/IECMAScriptModuleCompiledResult.ts +19 -0
  491. package/vendor/happy-dom/packages/happy-dom/src/module/types/IECMAScriptModuleImport.ts +4 -0
  492. package/vendor/happy-dom/packages/happy-dom/src/module/types/IECMAScriptModuleInit.ts +10 -0
  493. package/vendor/happy-dom/packages/happy-dom/src/module/types/IModule.ts +20 -0
  494. package/vendor/happy-dom/packages/happy-dom/src/module/types/IModuleImportMap.ts +10 -0
  495. package/vendor/happy-dom/packages/happy-dom/src/module/types/IModuleImportMapRule.ts +4 -0
  496. package/vendor/happy-dom/packages/happy-dom/src/module/types/IModuleImportMapScope.ts +6 -0
  497. package/vendor/happy-dom/packages/happy-dom/src/module/types/IModuleInit.ts +12 -0
  498. package/vendor/happy-dom/packages/happy-dom/src/module/types/IResolveNodeModules.ts +8 -0
  499. package/vendor/happy-dom/packages/happy-dom/src/mutation-observer/IMutationListener.ts +7 -0
  500. package/vendor/happy-dom/packages/happy-dom/src/mutation-observer/IMutationObserverInit.ts +14 -0
  501. package/vendor/happy-dom/packages/happy-dom/src/mutation-observer/MutationObserver.ts +175 -0
  502. package/vendor/happy-dom/packages/happy-dom/src/mutation-observer/MutationObserverListener.ts +115 -0
  503. package/vendor/happy-dom/packages/happy-dom/src/mutation-observer/MutationRecord.ts +55 -0
  504. package/vendor/happy-dom/packages/happy-dom/src/mutation-observer/MutationTypeEnum.ts +7 -0
  505. package/vendor/happy-dom/packages/happy-dom/src/navigator/MimeType.ts +35 -0
  506. package/vendor/happy-dom/packages/happy-dom/src/navigator/MimeTypeArray.ts +48 -0
  507. package/vendor/happy-dom/packages/happy-dom/src/navigator/Navigator.ts +247 -0
  508. package/vendor/happy-dom/packages/happy-dom/src/navigator/Plugin.ts +61 -0
  509. package/vendor/happy-dom/packages/happy-dom/src/navigator/PluginArray.ts +58 -0
  510. package/vendor/happy-dom/packages/happy-dom/src/nodes/NodeFactory.ts +38 -0
  511. package/vendor/happy-dom/packages/happy-dom/src/nodes/attr/Attr.ts +119 -0
  512. package/vendor/happy-dom/packages/happy-dom/src/nodes/character-data/CharacterData.ts +218 -0
  513. package/vendor/happy-dom/packages/happy-dom/src/nodes/character-data/CharacterDataUtility.ts +68 -0
  514. package/vendor/happy-dom/packages/happy-dom/src/nodes/child-node/ChildNodeUtility.ts +100 -0
  515. package/vendor/happy-dom/packages/happy-dom/src/nodes/child-node/IChildNode.ts +29 -0
  516. package/vendor/happy-dom/packages/happy-dom/src/nodes/child-node/INonDocumentTypeChildNode.ts +7 -0
  517. package/vendor/happy-dom/packages/happy-dom/src/nodes/child-node/NonDocumentChildNodeUtility.ts +37 -0
  518. package/vendor/happy-dom/packages/happy-dom/src/nodes/comment/Comment.ts +36 -0
  519. package/vendor/happy-dom/packages/happy-dom/src/nodes/document/Document.ts +2310 -0
  520. package/vendor/happy-dom/packages/happy-dom/src/nodes/document/DocumentReadyStateEnum.ts +6 -0
  521. package/vendor/happy-dom/packages/happy-dom/src/nodes/document/DocumentReadyStateManager.ts +52 -0
  522. package/vendor/happy-dom/packages/happy-dom/src/nodes/document/VisibilityStateEnum.ts +6 -0
  523. package/vendor/happy-dom/packages/happy-dom/src/nodes/document-fragment/DocumentFragment.ts +208 -0
  524. package/vendor/happy-dom/packages/happy-dom/src/nodes/document-type/DocumentType.ts +70 -0
  525. package/vendor/happy-dom/packages/happy-dom/src/nodes/element/Element.ts +1842 -0
  526. package/vendor/happy-dom/packages/happy-dom/src/nodes/element/ElementEventAttributeUtility.ts +96 -0
  527. package/vendor/happy-dom/packages/happy-dom/src/nodes/element/HTMLCollection.ts +228 -0
  528. package/vendor/happy-dom/packages/happy-dom/src/nodes/element/NamedNodeMap.ts +274 -0
  529. package/vendor/happy-dom/packages/happy-dom/src/nodes/element/NamedNodeMapProxyFactory.ts +127 -0
  530. package/vendor/happy-dom/packages/happy-dom/src/nodes/element/THTMLCollectionListener.ts +6 -0
  531. package/vendor/happy-dom/packages/happy-dom/src/nodes/element/TNamedNodeMapListener.ts +3 -0
  532. package/vendor/happy-dom/packages/happy-dom/src/nodes/html-anchor-element/HTMLAnchorElement.ts +439 -0
  533. package/vendor/happy-dom/packages/happy-dom/src/nodes/html-area-element/HTMLAreaElement.ts +426 -0
  534. package/vendor/happy-dom/packages/happy-dom/src/nodes/html-audio-element/Audio.ts +28 -0
  535. package/vendor/happy-dom/packages/happy-dom/src/nodes/html-audio-element/HTMLAudioElement.ts +10 -0
  536. package/vendor/happy-dom/packages/happy-dom/src/nodes/html-base-element/HTMLBaseElement.ts +64 -0
  537. package/vendor/happy-dom/packages/happy-dom/src/nodes/html-body-element/HTMLBodyElement.ts +161 -0
  538. package/vendor/happy-dom/packages/happy-dom/src/nodes/html-br-element/HTMLBRElement.ts +7 -0
  539. package/vendor/happy-dom/packages/happy-dom/src/nodes/html-button-element/HTMLButtonElement.ts +406 -0
  540. package/vendor/happy-dom/packages/happy-dom/src/nodes/html-canvas-element/CanvasCaptureMediaStreamTrack.ts +51 -0
  541. package/vendor/happy-dom/packages/happy-dom/src/nodes/html-canvas-element/HTMLCanvasElement.ts +304 -0
  542. package/vendor/happy-dom/packages/happy-dom/src/nodes/html-d-list-element/HTMLDListElement.ts +7 -0
  543. package/vendor/happy-dom/packages/happy-dom/src/nodes/html-data-element/HTMLDataElement.ts +25 -0
  544. package/vendor/happy-dom/packages/happy-dom/src/nodes/html-data-list-element/HTMLDataListElement.ts +28 -0
  545. package/vendor/happy-dom/packages/happy-dom/src/nodes/html-details-element/HTMLDetailsElement.ts +112 -0
  546. package/vendor/happy-dom/packages/happy-dom/src/nodes/html-dialog-element/HTMLDialogElement.ts +104 -0
  547. package/vendor/happy-dom/packages/happy-dom/src/nodes/html-div-element/HTMLDivElement.ts +7 -0
  548. package/vendor/happy-dom/packages/happy-dom/src/nodes/html-document/HTMLDocument.ts +82 -0
  549. package/vendor/happy-dom/packages/happy-dom/src/nodes/html-element/HTMLElement.ts +1149 -0
  550. package/vendor/happy-dom/packages/happy-dom/src/nodes/html-element/HTMLElementUtility.ts +119 -0
  551. package/vendor/happy-dom/packages/happy-dom/src/nodes/html-embed-element/HTMLEmbedElement.ts +90 -0
  552. package/vendor/happy-dom/packages/happy-dom/src/nodes/html-field-set-element/HTMLFieldSetElement.ts +165 -0
  553. package/vendor/happy-dom/packages/happy-dom/src/nodes/html-form-element/HTMLFormControlsCollection.ts +35 -0
  554. package/vendor/happy-dom/packages/happy-dom/src/nodes/html-form-element/HTMLFormElement.ts +675 -0
  555. package/vendor/happy-dom/packages/happy-dom/src/nodes/html-form-element/RadioNodeList.ts +25 -0
  556. package/vendor/happy-dom/packages/happy-dom/src/nodes/html-form-element/THTMLFormControlElement.ts +16 -0
  557. package/vendor/happy-dom/packages/happy-dom/src/nodes/html-head-element/HTMLHeadElement.ts +7 -0
  558. package/vendor/happy-dom/packages/happy-dom/src/nodes/html-heading-element/HTMLHeadingElement.ts +7 -0
  559. package/vendor/happy-dom/packages/happy-dom/src/nodes/html-hr-element/HTMLHRElement.ts +7 -0
  560. package/vendor/happy-dom/packages/happy-dom/src/nodes/html-html-element/HTMLHtmlElement.ts +7 -0
  561. package/vendor/happy-dom/packages/happy-dom/src/nodes/html-hyperlink-element/HTMLHyperlinkElementUtility.ts +329 -0
  562. package/vendor/happy-dom/packages/happy-dom/src/nodes/html-hyperlink-element/IHTMLHyperlinkElement.ts +19 -0
  563. package/vendor/happy-dom/packages/happy-dom/src/nodes/html-iframe-element/HTMLIFrameElement.ts +460 -0
  564. package/vendor/happy-dom/packages/happy-dom/src/nodes/html-image-element/HTMLImageElement.ts +500 -0
  565. package/vendor/happy-dom/packages/happy-dom/src/nodes/html-image-element/Image.ts +33 -0
  566. package/vendor/happy-dom/packages/happy-dom/src/nodes/html-input-element/FileList.ts +34 -0
  567. package/vendor/happy-dom/packages/happy-dom/src/nodes/html-input-element/HTMLInputElement.ts +1550 -0
  568. package/vendor/happy-dom/packages/happy-dom/src/nodes/html-input-element/HTMLInputElementDateUtility.ts +50 -0
  569. package/vendor/happy-dom/packages/happy-dom/src/nodes/html-input-element/HTMLInputElementSelectionDirectionEnum.ts +6 -0
  570. package/vendor/happy-dom/packages/happy-dom/src/nodes/html-input-element/HTMLInputElementSelectionModeEnum.ts +7 -0
  571. package/vendor/happy-dom/packages/happy-dom/src/nodes/html-input-element/HTMLInputElementValueSanitizer.ts +211 -0
  572. package/vendor/happy-dom/packages/happy-dom/src/nodes/html-input-element/HTMLInputElementValueStepping.ts +92 -0
  573. package/vendor/happy-dom/packages/happy-dom/src/nodes/html-label-element/HTMLLabelElement.ts +128 -0
  574. package/vendor/happy-dom/packages/happy-dom/src/nodes/html-label-element/HTMLLabelElementUtility.ts +45 -0
  575. package/vendor/happy-dom/packages/happy-dom/src/nodes/html-legend-element/HTMLLegendElement.ts +27 -0
  576. package/vendor/happy-dom/packages/happy-dom/src/nodes/html-li-element/HTMLLIElement.ts +31 -0
  577. package/vendor/happy-dom/packages/happy-dom/src/nodes/html-link-element/HTMLLinkElement.ts +501 -0
  578. package/vendor/happy-dom/packages/happy-dom/src/nodes/html-map-element/HTMLMapElement.ts +47 -0
  579. package/vendor/happy-dom/packages/happy-dom/src/nodes/html-media-element/HTMLMediaElement.ts +906 -0
  580. package/vendor/happy-dom/packages/happy-dom/src/nodes/html-media-element/IMediaTrackCapabilities.ts +21 -0
  581. package/vendor/happy-dom/packages/happy-dom/src/nodes/html-media-element/IMediaTrackSettings.ts +5 -0
  582. package/vendor/happy-dom/packages/happy-dom/src/nodes/html-media-element/MediaStream.ts +114 -0
  583. package/vendor/happy-dom/packages/happy-dom/src/nodes/html-media-element/MediaStreamTrack.ts +182 -0
  584. package/vendor/happy-dom/packages/happy-dom/src/nodes/html-media-element/RemotePlayback.ts +47 -0
  585. package/vendor/happy-dom/packages/happy-dom/src/nodes/html-media-element/TextTrack.ts +156 -0
  586. package/vendor/happy-dom/packages/happy-dom/src/nodes/html-media-element/TextTrackCue.ts +51 -0
  587. package/vendor/happy-dom/packages/happy-dom/src/nodes/html-media-element/TextTrackCueList.ts +37 -0
  588. package/vendor/happy-dom/packages/happy-dom/src/nodes/html-media-element/TextTrackKindEnum.ts +9 -0
  589. package/vendor/happy-dom/packages/happy-dom/src/nodes/html-media-element/TextTrackList.ts +182 -0
  590. package/vendor/happy-dom/packages/happy-dom/src/nodes/html-media-element/TimeRanges.ts +73 -0
  591. package/vendor/happy-dom/packages/happy-dom/src/nodes/html-media-element/VTTCue.ts +80 -0
  592. package/vendor/happy-dom/packages/happy-dom/src/nodes/html-media-element/VTTRegion.ts +15 -0
  593. package/vendor/happy-dom/packages/happy-dom/src/nodes/html-menu-element/HTMLMenuElement.ts +7 -0
  594. package/vendor/happy-dom/packages/happy-dom/src/nodes/html-meta-element/HTMLMetaElement.ts +80 -0
  595. package/vendor/happy-dom/packages/happy-dom/src/nodes/html-meter-element/HTMLMeterElement.ts +216 -0
  596. package/vendor/happy-dom/packages/happy-dom/src/nodes/html-mod-element/HTMLModElement.ts +54 -0
  597. package/vendor/happy-dom/packages/happy-dom/src/nodes/html-o-list-element/HTMLOListElement.ts +83 -0
  598. package/vendor/happy-dom/packages/happy-dom/src/nodes/html-object-element/HTMLObjectElement.ts +223 -0
  599. package/vendor/happy-dom/packages/happy-dom/src/nodes/html-opt-group-element/HTMLOptGroupElement.ts +53 -0
  600. package/vendor/happy-dom/packages/happy-dom/src/nodes/html-option-element/HTMLOptionElement.ts +192 -0
  601. package/vendor/happy-dom/packages/happy-dom/src/nodes/html-output-element/HTMLOutputElement.ts +179 -0
  602. package/vendor/happy-dom/packages/happy-dom/src/nodes/html-paragraph-element/HTMLParagraphElement.ts +7 -0
  603. package/vendor/happy-dom/packages/happy-dom/src/nodes/html-param-element/HTMLParamElement.ts +7 -0
  604. package/vendor/happy-dom/packages/happy-dom/src/nodes/html-picture-element/HTMLPictureElement.ts +7 -0
  605. package/vendor/happy-dom/packages/happy-dom/src/nodes/html-pre-element/HTMLPreElement.ts +7 -0
  606. package/vendor/happy-dom/packages/happy-dom/src/nodes/html-progress-element/HTMLProgressElement.ts +100 -0
  607. package/vendor/happy-dom/packages/happy-dom/src/nodes/html-quote-element/HTMLQuoteElement.ts +36 -0
  608. package/vendor/happy-dom/packages/happy-dom/src/nodes/html-script-element/HTMLScriptElement.ts +735 -0
  609. package/vendor/happy-dom/packages/happy-dom/src/nodes/html-select-element/HTMLOptionsCollection.ts +69 -0
  610. package/vendor/happy-dom/packages/happy-dom/src/nodes/html-select-element/HTMLSelectElement.ts +779 -0
  611. package/vendor/happy-dom/packages/happy-dom/src/nodes/html-slot-element/HTMLSlotElement.ts +249 -0
  612. package/vendor/happy-dom/packages/happy-dom/src/nodes/html-source-element/HTMLSourceElement.ts +148 -0
  613. package/vendor/happy-dom/packages/happy-dom/src/nodes/html-span-element/HTMLSpanElement.ts +7 -0
  614. package/vendor/happy-dom/packages/happy-dom/src/nodes/html-style-element/HTMLStyleElement.ts +125 -0
  615. package/vendor/happy-dom/packages/happy-dom/src/nodes/html-table-caption-element/HTMLTableCaptionElement.ts +7 -0
  616. package/vendor/happy-dom/packages/happy-dom/src/nodes/html-table-cell-element/HTMLTableCellElement.ts +125 -0
  617. package/vendor/happy-dom/packages/happy-dom/src/nodes/html-table-col-element/HTMLTableColElement.ts +7 -0
  618. package/vendor/happy-dom/packages/happy-dom/src/nodes/html-table-element/HTMLTableElement.ts +343 -0
  619. package/vendor/happy-dom/packages/happy-dom/src/nodes/html-table-row-element/HTMLTableRowElement.ts +149 -0
  620. package/vendor/happy-dom/packages/happy-dom/src/nodes/html-table-section-element/HTMLTableSectionElement.ts +88 -0
  621. package/vendor/happy-dom/packages/happy-dom/src/nodes/html-template-element/HTMLTemplateElement.ts +154 -0
  622. package/vendor/happy-dom/packages/happy-dom/src/nodes/html-text-area-element/HTMLTextAreaElement.ts +649 -0
  623. package/vendor/happy-dom/packages/happy-dom/src/nodes/html-time-element/HTMLTimeElement.ts +27 -0
  624. package/vendor/happy-dom/packages/happy-dom/src/nodes/html-title-element/HTMLTitleElement.ts +48 -0
  625. package/vendor/happy-dom/packages/happy-dom/src/nodes/html-track-element/HTMLTrackElement.ts +164 -0
  626. package/vendor/happy-dom/packages/happy-dom/src/nodes/html-u-list-element/HTMLUListElement.ts +7 -0
  627. package/vendor/happy-dom/packages/happy-dom/src/nodes/html-unknown-element/HTMLUnknownElement.ts +9 -0
  628. package/vendor/happy-dom/packages/happy-dom/src/nodes/html-video-element/HTMLVideoElement.ts +10 -0
  629. package/vendor/happy-dom/packages/happy-dom/src/nodes/node/ICachedComputedStyleResult.ts +6 -0
  630. package/vendor/happy-dom/packages/happy-dom/src/nodes/node/ICachedElementByIdResult.ts +6 -0
  631. package/vendor/happy-dom/packages/happy-dom/src/nodes/node/ICachedElementByTagNameResult.ts +6 -0
  632. package/vendor/happy-dom/packages/happy-dom/src/nodes/node/ICachedElementsByTagNameResult.ts +6 -0
  633. package/vendor/happy-dom/packages/happy-dom/src/nodes/node/ICachedMatchesResult.ts +6 -0
  634. package/vendor/happy-dom/packages/happy-dom/src/nodes/node/ICachedQuerySelectorAllResult.ts +7 -0
  635. package/vendor/happy-dom/packages/happy-dom/src/nodes/node/ICachedQuerySelectorResult.ts +6 -0
  636. package/vendor/happy-dom/packages/happy-dom/src/nodes/node/ICachedResult.ts +3 -0
  637. package/vendor/happy-dom/packages/happy-dom/src/nodes/node/ICachedStyleResult.ts +6 -0
  638. package/vendor/happy-dom/packages/happy-dom/src/nodes/node/Node.ts +1373 -0
  639. package/vendor/happy-dom/packages/happy-dom/src/nodes/node/NodeDocumentPositionEnum.ts +10 -0
  640. package/vendor/happy-dom/packages/happy-dom/src/nodes/node/NodeList.ts +224 -0
  641. package/vendor/happy-dom/packages/happy-dom/src/nodes/node/NodeTypeEnum.ts +13 -0
  642. package/vendor/happy-dom/packages/happy-dom/src/nodes/node/NodeUtility.ts +330 -0
  643. package/vendor/happy-dom/packages/happy-dom/src/nodes/node/TNodeListListener.ts +1 -0
  644. package/vendor/happy-dom/packages/happy-dom/src/nodes/parent-node/IParentNode.ts +109 -0
  645. package/vendor/happy-dom/packages/happy-dom/src/nodes/parent-node/ParentNodeUtility.ts +334 -0
  646. package/vendor/happy-dom/packages/happy-dom/src/nodes/processing-instruction/ProcessingInstruction.ts +22 -0
  647. package/vendor/happy-dom/packages/happy-dom/src/nodes/shadow-root/ShadowRoot.ts +290 -0
  648. package/vendor/happy-dom/packages/happy-dom/src/nodes/svg-animate-element/SVGAnimateElement.ts +8 -0
  649. package/vendor/happy-dom/packages/happy-dom/src/nodes/svg-animate-motion-element/SVGAnimateMotionElement.ts +8 -0
  650. package/vendor/happy-dom/packages/happy-dom/src/nodes/svg-animate-transform-element/SVGAnimateTransformElement.ts +8 -0
  651. package/vendor/happy-dom/packages/happy-dom/src/nodes/svg-animation-element/SVGAnimationElement.ts +94 -0
  652. package/vendor/happy-dom/packages/happy-dom/src/nodes/svg-circle-element/SVGCircleElement.ts +72 -0
  653. package/vendor/happy-dom/packages/happy-dom/src/nodes/svg-clip-path-element/SVGClipPathElement.ts +34 -0
  654. package/vendor/happy-dom/packages/happy-dom/src/nodes/svg-component-transfer-function-element/SVGComponentTransferFunctionElement.ts +167 -0
  655. package/vendor/happy-dom/packages/happy-dom/src/nodes/svg-defs-element/SVGDefsElement.ts +8 -0
  656. package/vendor/happy-dom/packages/happy-dom/src/nodes/svg-desc-element/SVGDescElement.ts +8 -0
  657. package/vendor/happy-dom/packages/happy-dom/src/nodes/svg-element/SVGElement.ts +828 -0
  658. package/vendor/happy-dom/packages/happy-dom/src/nodes/svg-ellipse-element/SVGEllipseElement.ts +92 -0
  659. package/vendor/happy-dom/packages/happy-dom/src/nodes/svg-fe-blend-element/SVGFEBlendElement.ts +192 -0
  660. package/vendor/happy-dom/packages/happy-dom/src/nodes/svg-fe-color-matrix-element/SVGFEColorMatrixElement.ts +204 -0
  661. package/vendor/happy-dom/packages/happy-dom/src/nodes/svg-fe-component-transfer-element/SVGFEComponentTransferElement.ts +133 -0
  662. package/vendor/happy-dom/packages/happy-dom/src/nodes/svg-fe-composite-element/SVGFECompositeElement.ts +186 -0
  663. package/vendor/happy-dom/packages/happy-dom/src/nodes/svg-fe-convolve-matrix-element/SVGFEConvolveMatrixElement.ts +366 -0
  664. package/vendor/happy-dom/packages/happy-dom/src/nodes/svg-fe-diffuse-lighting-element/SVGFEDiffuseLightingElement.ts +214 -0
  665. package/vendor/happy-dom/packages/happy-dom/src/nodes/svg-fe-displacement-map-element/SVGFEDisplacementMapElement.ts +226 -0
  666. package/vendor/happy-dom/packages/happy-dom/src/nodes/svg-fe-distant-light-element/SVGFEDistantLightElement.ts +52 -0
  667. package/vendor/happy-dom/packages/happy-dom/src/nodes/svg-fe-drop-shadow-element/SVGFEDropShadowElement.ts +227 -0
  668. package/vendor/happy-dom/packages/happy-dom/src/nodes/svg-fe-flood-element/SVGFEFloodElement.ts +113 -0
  669. package/vendor/happy-dom/packages/happy-dom/src/nodes/svg-fe-func-a-element/SVGFEFuncAElement.ts +8 -0
  670. package/vendor/happy-dom/packages/happy-dom/src/nodes/svg-fe-func-b-element/SVGFEFuncBElement.ts +8 -0
  671. package/vendor/happy-dom/packages/happy-dom/src/nodes/svg-fe-func-g-element/SVGFEFuncGElement.ts +8 -0
  672. package/vendor/happy-dom/packages/happy-dom/src/nodes/svg-fe-func-r-element/SVGFEFuncRElement.ts +8 -0
  673. package/vendor/happy-dom/packages/happy-dom/src/nodes/svg-fe-gaussian-blur-element/SVGFEGaussianBlurElement.ts +214 -0
  674. package/vendor/happy-dom/packages/happy-dom/src/nodes/svg-fe-image-element/SVGFEImageElement.ts +173 -0
  675. package/vendor/happy-dom/packages/happy-dom/src/nodes/svg-fe-merge-element/SVGFEMergeElement.ts +113 -0
  676. package/vendor/happy-dom/packages/happy-dom/src/nodes/svg-fe-merge-node-element/SVGFEMergeNodeElement.ts +32 -0
  677. package/vendor/happy-dom/packages/happy-dom/src/nodes/svg-fe-morphology-element/SVGFEMorphologyElement.ts +202 -0
  678. package/vendor/happy-dom/packages/happy-dom/src/nodes/svg-fe-offset-element/SVGFEOffsetElement.ts +174 -0
  679. package/vendor/happy-dom/packages/happy-dom/src/nodes/svg-fe-point-light-element/SVGFEPointLightElement.ts +72 -0
  680. package/vendor/happy-dom/packages/happy-dom/src/nodes/svg-fe-specular-lighting-element/SVGFESpecularLightingElement.ts +237 -0
  681. package/vendor/happy-dom/packages/happy-dom/src/nodes/svg-fe-spot-light-element/SVGFESpotLightElement.ts +173 -0
  682. package/vendor/happy-dom/packages/happy-dom/src/nodes/svg-fe-tile-element/SVGFETileElement.ts +133 -0
  683. package/vendor/happy-dom/packages/happy-dom/src/nodes/svg-fe-turbulence-element/SVGFETurbulenceElement.ts +249 -0
  684. package/vendor/happy-dom/packages/happy-dom/src/nodes/svg-filter-element/SVGFilterElement.ts +158 -0
  685. package/vendor/happy-dom/packages/happy-dom/src/nodes/svg-foreign-object-element/SVGForeignObjectElement.ts +92 -0
  686. package/vendor/happy-dom/packages/happy-dom/src/nodes/svg-g-element/SVGGElement.ts +8 -0
  687. package/vendor/happy-dom/packages/happy-dom/src/nodes/svg-geometry-element/SVGGeometryElement.ts +94 -0
  688. package/vendor/happy-dom/packages/happy-dom/src/nodes/svg-gradient-element/SVGGradientElement.ts +104 -0
  689. package/vendor/happy-dom/packages/happy-dom/src/nodes/svg-graphics-element/SVGGraphicsElement.ts +134 -0
  690. package/vendor/happy-dom/packages/happy-dom/src/nodes/svg-image-element/SVGImageElement.ts +188 -0
  691. package/vendor/happy-dom/packages/happy-dom/src/nodes/svg-line-element/SVGLineElement.ts +92 -0
  692. package/vendor/happy-dom/packages/happy-dom/src/nodes/svg-linear-gradient-element/SVGLinearGradientElement.ts +92 -0
  693. package/vendor/happy-dom/packages/happy-dom/src/nodes/svg-m-path-element/SVGMPathElement.ts +32 -0
  694. package/vendor/happy-dom/packages/happy-dom/src/nodes/svg-marker-element/SVGMarkerElement.ts +230 -0
  695. package/vendor/happy-dom/packages/happy-dom/src/nodes/svg-mask-element/SVGMaskElement.ts +137 -0
  696. package/vendor/happy-dom/packages/happy-dom/src/nodes/svg-metadata-element/SVGMetadataElement.ts +8 -0
  697. package/vendor/happy-dom/packages/happy-dom/src/nodes/svg-path-element/SVGPathElement.ts +8 -0
  698. package/vendor/happy-dom/packages/happy-dom/src/nodes/svg-pattern-element/SVGPatternElement.ts +179 -0
  699. package/vendor/happy-dom/packages/happy-dom/src/nodes/svg-polygon-element/SVGPolygonElement.ts +53 -0
  700. package/vendor/happy-dom/packages/happy-dom/src/nodes/svg-polyline-element/SVGPolylineElement.ts +53 -0
  701. package/vendor/happy-dom/packages/happy-dom/src/nodes/svg-radial-gradient-element/SVGRadialGradientElement.ts +112 -0
  702. package/vendor/happy-dom/packages/happy-dom/src/nodes/svg-rect-element/SVGRectElement.ts +132 -0
  703. package/vendor/happy-dom/packages/happy-dom/src/nodes/svg-script-element/SVGScriptElement.ts +50 -0
  704. package/vendor/happy-dom/packages/happy-dom/src/nodes/svg-set-element/SVGSetElement.ts +8 -0
  705. package/vendor/happy-dom/packages/happy-dom/src/nodes/svg-stop-element/SVGStopElement.ts +32 -0
  706. package/vendor/happy-dom/packages/happy-dom/src/nodes/svg-style-element/SVGStyleElement.ts +143 -0
  707. package/vendor/happy-dom/packages/happy-dom/src/nodes/svg-svg-element/SVGSVGElement.ts +601 -0
  708. package/vendor/happy-dom/packages/happy-dom/src/nodes/svg-switch-element/SVGSwitchElement.ts +8 -0
  709. package/vendor/happy-dom/packages/happy-dom/src/nodes/svg-symbol-element/SVGSymbolElement.ts +8 -0
  710. package/vendor/happy-dom/packages/happy-dom/src/nodes/svg-t-span-element/SVGTSpanElement.ts +8 -0
  711. package/vendor/happy-dom/packages/happy-dom/src/nodes/svg-text-content-element/SVGTextContentElement.ts +143 -0
  712. package/vendor/happy-dom/packages/happy-dom/src/nodes/svg-text-element/SVGTextElement.ts +8 -0
  713. package/vendor/happy-dom/packages/happy-dom/src/nodes/svg-text-path-element/SVGTextPathElement.ts +106 -0
  714. package/vendor/happy-dom/packages/happy-dom/src/nodes/svg-text-positioning-element/SVGTextPositioningElement.ts +113 -0
  715. package/vendor/happy-dom/packages/happy-dom/src/nodes/svg-title-element/SVGTitleElement.ts +8 -0
  716. package/vendor/happy-dom/packages/happy-dom/src/nodes/svg-use-element/SVGUseElement.ts +113 -0
  717. package/vendor/happy-dom/packages/happy-dom/src/nodes/svg-view-element/SVGViewElement.ts +8 -0
  718. package/vendor/happy-dom/packages/happy-dom/src/nodes/text/Text.ts +154 -0
  719. package/vendor/happy-dom/packages/happy-dom/src/nodes/xml-document/XMLDocument.ts +10 -0
  720. package/vendor/happy-dom/packages/happy-dom/src/permissions/PermissionNameEnum.ts +32 -0
  721. package/vendor/happy-dom/packages/happy-dom/src/permissions/PermissionStatus.ts +23 -0
  722. package/vendor/happy-dom/packages/happy-dom/src/permissions/Permissions.ts +59 -0
  723. package/vendor/happy-dom/packages/happy-dom/src/query-selector/ISelectorAttribute.ts +7 -0
  724. package/vendor/happy-dom/packages/happy-dom/src/query-selector/ISelectorMatch.ts +3 -0
  725. package/vendor/happy-dom/packages/happy-dom/src/query-selector/ISelectorPseudo.ts +8 -0
  726. package/vendor/happy-dom/packages/happy-dom/src/query-selector/QuerySelector.ts +849 -0
  727. package/vendor/happy-dom/packages/happy-dom/src/query-selector/SelectorCombinatorEnum.ts +9 -0
  728. package/vendor/happy-dom/packages/happy-dom/src/query-selector/SelectorItem.ts +575 -0
  729. package/vendor/happy-dom/packages/happy-dom/src/query-selector/SelectorParser.ts +699 -0
  730. package/vendor/happy-dom/packages/happy-dom/src/query-selector/TGlobalMatchFunction.ts +12 -0
  731. package/vendor/happy-dom/packages/happy-dom/src/range/IRangeBoundaryPoint.ts +9 -0
  732. package/vendor/happy-dom/packages/happy-dom/src/range/Range.ts +1161 -0
  733. package/vendor/happy-dom/packages/happy-dom/src/range/RangeHowEnum.ts +8 -0
  734. package/vendor/happy-dom/packages/happy-dom/src/range/RangeUtility.ts +118 -0
  735. package/vendor/happy-dom/packages/happy-dom/src/resize-observer/ResizeObserver.ts +33 -0
  736. package/vendor/happy-dom/packages/happy-dom/src/screen/Screen.ts +19 -0
  737. package/vendor/happy-dom/packages/happy-dom/src/screen/ScreenDetailed.ts +17 -0
  738. package/vendor/happy-dom/packages/happy-dom/src/screen/ScreenDetails.ts +27 -0
  739. package/vendor/happy-dom/packages/happy-dom/src/selection/Selection.ts +556 -0
  740. package/vendor/happy-dom/packages/happy-dom/src/selection/SelectionDirectionEnum.ts +7 -0
  741. package/vendor/happy-dom/packages/happy-dom/src/storage/Storage.ts +149 -0
  742. package/vendor/happy-dom/packages/happy-dom/src/svg/SVGAngle.ts +310 -0
  743. package/vendor/happy-dom/packages/happy-dom/src/svg/SVGAngleTypeEnum.ts +9 -0
  744. package/vendor/happy-dom/packages/happy-dom/src/svg/SVGAnimatedAngle.ts +100 -0
  745. package/vendor/happy-dom/packages/happy-dom/src/svg/SVGAnimatedBoolean.ts +80 -0
  746. package/vendor/happy-dom/packages/happy-dom/src/svg/SVGAnimatedEnumeration.ts +119 -0
  747. package/vendor/happy-dom/packages/happy-dom/src/svg/SVGAnimatedInteger.ts +97 -0
  748. package/vendor/happy-dom/packages/happy-dom/src/svg/SVGAnimatedLength.ts +100 -0
  749. package/vendor/happy-dom/packages/happy-dom/src/svg/SVGAnimatedLengthList.ts +101 -0
  750. package/vendor/happy-dom/packages/happy-dom/src/svg/SVGAnimatedNumber.ts +101 -0
  751. package/vendor/happy-dom/packages/happy-dom/src/svg/SVGAnimatedNumberList.ts +101 -0
  752. package/vendor/happy-dom/packages/happy-dom/src/svg/SVGAnimatedPreserveAspectRatio.ts +100 -0
  753. package/vendor/happy-dom/packages/happy-dom/src/svg/SVGAnimatedRect.ts +100 -0
  754. package/vendor/happy-dom/packages/happy-dom/src/svg/SVGAnimatedString.ts +83 -0
  755. package/vendor/happy-dom/packages/happy-dom/src/svg/SVGAnimatedTransformList.ts +101 -0
  756. package/vendor/happy-dom/packages/happy-dom/src/svg/SVGLength.ts +375 -0
  757. package/vendor/happy-dom/packages/happy-dom/src/svg/SVGLengthList.ts +489 -0
  758. package/vendor/happy-dom/packages/happy-dom/src/svg/SVGLengthTypeEnum.ts +15 -0
  759. package/vendor/happy-dom/packages/happy-dom/src/svg/SVGMatrix.ts +429 -0
  760. package/vendor/happy-dom/packages/happy-dom/src/svg/SVGNumber.ts +83 -0
  761. package/vendor/happy-dom/packages/happy-dom/src/svg/SVGNumberList.ts +522 -0
  762. package/vendor/happy-dom/packages/happy-dom/src/svg/SVGPoint.ts +114 -0
  763. package/vendor/happy-dom/packages/happy-dom/src/svg/SVGPointList.ts +526 -0
  764. package/vendor/happy-dom/packages/happy-dom/src/svg/SVGPreserveAspectRatio.ts +176 -0
  765. package/vendor/happy-dom/packages/happy-dom/src/svg/SVGPreserveAspectRatioAlignEnum.ts +15 -0
  766. package/vendor/happy-dom/packages/happy-dom/src/svg/SVGPreserveAspectRatioMeetOrSliceEnum.ts +7 -0
  767. package/vendor/happy-dom/packages/happy-dom/src/svg/SVGRect.ts +200 -0
  768. package/vendor/happy-dom/packages/happy-dom/src/svg/SVGStringList.ts +422 -0
  769. package/vendor/happy-dom/packages/happy-dom/src/svg/SVGTransform.ts +369 -0
  770. package/vendor/happy-dom/packages/happy-dom/src/svg/SVGTransformList.ts +531 -0
  771. package/vendor/happy-dom/packages/happy-dom/src/svg/SVGTransformTypeEnum.ts +11 -0
  772. package/vendor/happy-dom/packages/happy-dom/src/svg/SVGUnitTypes.ts +26 -0
  773. package/vendor/happy-dom/packages/happy-dom/src/tree-walker/NodeFilter.ts +18 -0
  774. package/vendor/happy-dom/packages/happy-dom/src/tree-walker/NodeFilterMask.ts +28 -0
  775. package/vendor/happy-dom/packages/happy-dom/src/tree-walker/NodeIterator.ts +85 -0
  776. package/vendor/happy-dom/packages/happy-dom/src/tree-walker/TNodeFilter.ts +3 -0
  777. package/vendor/happy-dom/packages/happy-dom/src/tree-walker/TreeWalker.ts +339 -0
  778. package/vendor/happy-dom/packages/happy-dom/src/url/URL.ts +45 -0
  779. package/vendor/happy-dom/packages/happy-dom/src/utilities/AttributeUtility.ts +43 -0
  780. package/vendor/happy-dom/packages/happy-dom/src/utilities/ClassMethodBinder.ts +71 -0
  781. package/vendor/happy-dom/packages/happy-dom/src/utilities/StringUtility.ts +47 -0
  782. package/vendor/happy-dom/packages/happy-dom/src/utilities/XMLEncodeUtility.ts +166 -0
  783. package/vendor/happy-dom/packages/happy-dom/src/validity-state/ValidityState.ts +234 -0
  784. package/vendor/happy-dom/packages/happy-dom/src/version.ts +1 -0
  785. package/vendor/happy-dom/packages/happy-dom/src/web-socket/WebSocket.ts +408 -0
  786. package/vendor/happy-dom/packages/happy-dom/src/web-socket/WebSocketReadyStateEnum.ts +8 -0
  787. package/vendor/happy-dom/packages/happy-dom/src/window/BrowserWindow.ts +3074 -0
  788. package/vendor/happy-dom/packages/happy-dom/src/window/CrossOriginBrowserWindow.ts +152 -0
  789. package/vendor/happy-dom/packages/happy-dom/src/window/DetachedWindowAPI.ts +133 -0
  790. package/vendor/happy-dom/packages/happy-dom/src/window/GlobalWindow.ts +90 -0
  791. package/vendor/happy-dom/packages/happy-dom/src/window/INodeJSGlobal.ts +76 -0
  792. package/vendor/happy-dom/packages/happy-dom/src/window/IOptionalTimerLoopsLimit.ts +4 -0
  793. package/vendor/happy-dom/packages/happy-dom/src/window/IScrollToOptions.ts +5 -0
  794. package/vendor/happy-dom/packages/happy-dom/src/window/ITimerLoopsLimit.ts +4 -0
  795. package/vendor/happy-dom/packages/happy-dom/src/window/VMGlobalPropertyScript.ts +59 -0
  796. package/vendor/happy-dom/packages/happy-dom/src/window/Window.ts +67 -0
  797. package/vendor/happy-dom/packages/happy-dom/src/window/WindowBrowserContext.ts +117 -0
  798. package/vendor/happy-dom/packages/happy-dom/src/window/WindowContextClassExtender.ts +288 -0
  799. package/vendor/happy-dom/packages/happy-dom/src/window/WindowPageOpenUtility.ts +200 -0
  800. package/vendor/happy-dom/packages/happy-dom/src/xml-http-request/XMLHttpRequest.ts +577 -0
  801. package/vendor/happy-dom/packages/happy-dom/src/xml-http-request/XMLHttpRequestEventTarget.ts +88 -0
  802. package/vendor/happy-dom/packages/happy-dom/src/xml-http-request/XMLHttpRequestReadyStateEnum.ts +9 -0
  803. package/vendor/happy-dom/packages/happy-dom/src/xml-http-request/XMLHttpRequestResponseDataParser.ts +70 -0
  804. package/vendor/happy-dom/packages/happy-dom/src/xml-http-request/XMLHttpRequestUpload.ts +6 -0
  805. package/vendor/happy-dom/packages/happy-dom/src/xml-http-request/XMLHttpResponseTypeEnum.ts +9 -0
  806. package/vendor/happy-dom/packages/happy-dom/src/xml-parser/XMLParser.ts +744 -0
  807. package/vendor/happy-dom/packages/happy-dom/src/xml-serializer/XMLSerializer.ts +280 -0
  808. package/vendor/happy-dom/turbo.json +52 -0
  809. package/vendor/ses/LICENSE +201 -0
  810. package/vendor/ses/LICENSE-aura +16 -0
  811. package/vendor/ses/LICENSE-caja +13 -0
  812. package/vendor/ses/LICENSE-corejs +19 -0
  813. package/vendor/ses/LICENSE-v8 +9 -0
  814. package/vendor/ses/README.md +968 -0
  815. package/vendor/ses/dist/ses.mjs +15219 -0
  816. package/vendor/ses/package.json +142 -0
  817. package/vendor/wasmpeg/LICENSE +501 -0
  818. package/vendor/wasmpeg/NOTICE +30 -0
  819. package/vendor/wasmpeg/VENDORING.md +35 -0
  820. package/vendor/wasmpeg/dist/cpu.js +2 -0
  821. package/vendor/wasmpeg/dist/cpu.wasm +0 -0
  822. package/vendor/wasmpeg/package.json +45 -0
  823. package/vendor/wasmpeg/source-v1.0.1.tar.gz +0 -0
  824. package/vendor/wasmpeg/src/js/exec.mjs +478 -0
  825. package/vendor/wasmpeg/src/js/ffmpeg.js +94 -0
  826. package/vendor/wasmpeg/src/js/formats.js +84 -0
  827. package/vendor/wasmpeg/src/js/gpu.js +480 -0
  828. package/vendor/wasmpeg/src/js/index.d.ts +154 -0
  829. package/vendor/wasmpeg/src/js/index.js +7 -0
  830. package/vendor/wasmpeg/src/js/wasmpeg.mjs +221 -0
@@ -0,0 +1,1373 @@
1
+ import EventTarget from '../../event/EventTarget.js';
2
+ import * as PropertySymbol from '../../PropertySymbol.js';
3
+ import type Document from '../document/Document.js';
4
+ import type Element from '../element/Element.js';
5
+ import NodeTypeEnum from './NodeTypeEnum.js';
6
+ import NodeDocumentPositionEnum from './NodeDocumentPositionEnum.js';
7
+ import NodeUtility from './NodeUtility.js';
8
+ import type Attr from '../attr/Attr.js';
9
+ import NodeList from './NodeList.js';
10
+ import MutationRecord from '../../mutation-observer/MutationRecord.js';
11
+ import MutationTypeEnum from '../../mutation-observer/MutationTypeEnum.js';
12
+ import DOMExceptionNameEnum from '../../exception/DOMExceptionNameEnum.js';
13
+ import type IMutationListener from '../../mutation-observer/IMutationListener.js';
14
+ import type ICachedQuerySelectorAllResult from './ICachedQuerySelectorAllResult.js';
15
+ import type ICachedQuerySelectorResult from './ICachedQuerySelectorResult.js';
16
+ import type ICachedMatchesResult from './ICachedMatchesResult.js';
17
+ import type ICachedElementsByTagNameResult from './ICachedElementsByTagNameResult.js';
18
+ import type ICachedElementByTagNameResult from './ICachedElementByTagNameResult.js';
19
+ import type ICachedComputedStyleResult from './ICachedComputedStyleResult.js';
20
+ import type ICachedResult from './ICachedResult.js';
21
+ import type ICachedElementByIdResult from './ICachedElementByIdResult.js';
22
+ import type HTMLStyleElement from '../html-style-element/HTMLStyleElement.js';
23
+ import type HTMLFormElement from '../html-form-element/HTMLFormElement.js';
24
+ import type HTMLSelectElement from '../html-select-element/HTMLSelectElement.js';
25
+ import type HTMLTextAreaElement from '../html-text-area-element/HTMLTextAreaElement.js';
26
+ import type HTMLSlotElement from '../html-slot-element/HTMLSlotElement.js';
27
+ import NodeFactory from '../NodeFactory.js';
28
+ import type SVGStyleElement from '../svg-style-element/SVGStyleElement.js';
29
+
30
+ /**
31
+ * Node.
32
+ */
33
+ export default class Node extends EventTarget {
34
+ // Can be injected by CustomElementRegistry or a sub-class
35
+ public declare [PropertySymbol.ownerDocument]: Document;
36
+
37
+ // Public properties
38
+ public static readonly ELEMENT_NODE = NodeTypeEnum.elementNode;
39
+ public static readonly ATTRIBUTE_NODE = NodeTypeEnum.attributeNode;
40
+ public static readonly TEXT_NODE = NodeTypeEnum.textNode;
41
+ public static readonly CDATA_SECTION_NODE = NodeTypeEnum.cdataSectionNode;
42
+ public static readonly COMMENT_NODE = NodeTypeEnum.commentNode;
43
+ public static readonly DOCUMENT_NODE = NodeTypeEnum.documentNode;
44
+ public static readonly DOCUMENT_TYPE_NODE = NodeTypeEnum.documentTypeNode;
45
+ public static readonly DOCUMENT_FRAGMENT_NODE = NodeTypeEnum.documentFragmentNode;
46
+ public static readonly PROCESSING_INSTRUCTION_NODE = NodeTypeEnum.processingInstructionNode;
47
+ public static readonly DOCUMENT_POSITION_CONTAINED_BY = NodeDocumentPositionEnum.containedBy;
48
+ public static readonly DOCUMENT_POSITION_CONTAINS = NodeDocumentPositionEnum.contains;
49
+ public static readonly DOCUMENT_POSITION_DISCONNECTED = NodeDocumentPositionEnum.disconnect;
50
+ public static readonly DOCUMENT_POSITION_FOLLOWING = NodeDocumentPositionEnum.following;
51
+ public static readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC =
52
+ NodeDocumentPositionEnum.implementationSpecific;
53
+ public static readonly DOCUMENT_POSITION_PRECEDING = NodeDocumentPositionEnum.preceding;
54
+
55
+ // Defined on the prototype
56
+ public declare readonly ELEMENT_NODE: NodeTypeEnum;
57
+ public declare readonly ATTRIBUTE_NODE: NodeTypeEnum;
58
+ public declare readonly TEXT_NODE: NodeTypeEnum;
59
+ public declare readonly CDATA_SECTION_NODE: NodeTypeEnum;
60
+ public declare readonly COMMENT_NODE: NodeTypeEnum;
61
+ public declare readonly DOCUMENT_NODE: NodeTypeEnum;
62
+ public declare readonly DOCUMENT_TYPE_NODE: NodeTypeEnum;
63
+ public declare readonly DOCUMENT_FRAGMENT_NODE: NodeTypeEnum;
64
+ public declare readonly PROCESSING_INSTRUCTION_NODE: NodeTypeEnum;
65
+ public declare readonly DOCUMENT_POSITION_CONTAINED_BY: NodeDocumentPositionEnum;
66
+ public declare readonly DOCUMENT_POSITION_CONTAINS: NodeDocumentPositionEnum;
67
+ public declare readonly DOCUMENT_POSITION_DISCONNECTED: NodeDocumentPositionEnum;
68
+ public declare readonly DOCUMENT_POSITION_FOLLOWING: NodeDocumentPositionEnum;
69
+ public declare readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: NodeDocumentPositionEnum;
70
+ public declare readonly DOCUMENT_POSITION_PRECEDING: NodeDocumentPositionEnum;
71
+
72
+ // Internal properties
73
+ public declare [PropertySymbol.isConnected]: boolean;
74
+ public declare [PropertySymbol.parentNode]: Node | null;
75
+ public declare [PropertySymbol.rootNode]: Node | null;
76
+ public declare [PropertySymbol.styleNode]: HTMLStyleElement | SVGStyleElement | null;
77
+ public declare [PropertySymbol.textAreaNode]: HTMLTextAreaElement | null;
78
+ public declare [PropertySymbol.formNode]: HTMLFormElement | null;
79
+ public declare [PropertySymbol.selectNode]: HTMLSelectElement | null;
80
+ public declare [PropertySymbol.mutationListeners]: IMutationListener[];
81
+ public declare [PropertySymbol.nodeArray]: Node[];
82
+ public declare [PropertySymbol.elementArray]: Element[];
83
+ public declare [PropertySymbol.childNodes]: NodeList<Node> | null;
84
+ public declare [PropertySymbol.assignedToSlot]: HTMLSlotElement | null;
85
+ public declare [PropertySymbol.cache]: {
86
+ querySelector: Map<string, ICachedQuerySelectorResult>;
87
+ querySelectorAll: Map<string, ICachedQuerySelectorAllResult>;
88
+ matches: Map<string, ICachedMatchesResult>;
89
+ elementsByTagName: Map<string, ICachedElementsByTagNameResult>;
90
+ elementsByTagNameNS: Map<string, ICachedElementsByTagNameResult>;
91
+ elementByTagName: Map<string, ICachedElementByTagNameResult>;
92
+ elementById: Map<string, ICachedElementByIdResult>;
93
+ computedStyle: ICachedComputedStyleResult | null;
94
+ };
95
+ public declare [PropertySymbol.affectsCache]: ICachedResult[];
96
+
97
+ // Needs to be implemented by the sub-class
98
+ public declare [PropertySymbol.proxy]: Element | null;
99
+ public declare [PropertySymbol.nodeType]: NodeTypeEnum;
100
+
101
+ /**
102
+ * Constructor.
103
+ */
104
+ constructor() {
105
+ super();
106
+
107
+ // When upgrading a custom element in-place, constructor() returns the existing
108
+ // element. This propagates through the entire super() chain so the custom element's
109
+ // constructor runs with `this` = the existing element (same mechanism real browsers use)
110
+ //
111
+ // It's also important to not initialize properties
112
+ if ((<typeof Node>this.constructor)[PropertySymbol.customElementUpgradeTarget]) {
113
+ return <Node>(<typeof Node>this.constructor)[PropertySymbol.customElementUpgradeTarget];
114
+ }
115
+
116
+ // We only want to initialize properties when not upgrading a custom element
117
+ this[PropertySymbol.isConnected] = false;
118
+ this[PropertySymbol.parentNode] = null;
119
+ this[PropertySymbol.rootNode] = null;
120
+ this[PropertySymbol.styleNode] = null;
121
+ this[PropertySymbol.textAreaNode] = null;
122
+ this[PropertySymbol.formNode] = null;
123
+ this[PropertySymbol.selectNode] = null;
124
+ this[PropertySymbol.mutationListeners] = [];
125
+ this[PropertySymbol.nodeArray] = [];
126
+ this[PropertySymbol.elementArray] = [];
127
+ this[PropertySymbol.childNodes] = null;
128
+ this[PropertySymbol.assignedToSlot] = null;
129
+ this[PropertySymbol.cache] = {
130
+ querySelector: new Map(),
131
+ querySelectorAll: new Map(),
132
+ matches: new Map(),
133
+ elementsByTagName: new Map(),
134
+ elementsByTagNameNS: new Map(),
135
+ elementByTagName: new Map(),
136
+ elementById: new Map(),
137
+ computedStyle: null
138
+ };
139
+ this[PropertySymbol.affectsCache] = [];
140
+
141
+ // Window injected by WindowContextClassExtender (used when the Node can be created using "new" keyword)
142
+ if (this[PropertySymbol.window]) {
143
+ this[PropertySymbol.ownerDocument] = this[PropertySymbol.window].document;
144
+ } else {
145
+ const ownerDocument = NodeFactory.pullOwnerDocument();
146
+
147
+ if (!ownerDocument) {
148
+ throw new TypeError('Illegal constructor');
149
+ }
150
+
151
+ this[PropertySymbol.ownerDocument] = ownerDocument;
152
+ this[PropertySymbol.window] = ownerDocument[PropertySymbol.window];
153
+ }
154
+ }
155
+
156
+ /**
157
+ * Returns `Symbol.toStringTag`.
158
+ *
159
+ * @returns `Symbol.toStringTag`.
160
+ */
161
+ public get [Symbol.toStringTag](): string {
162
+ return this.constructor.name;
163
+ }
164
+
165
+ /**
166
+ * Returns connected state.
167
+ *
168
+ * @returns Connected state.
169
+ */
170
+ public get isConnected(): boolean {
171
+ return this[PropertySymbol.isConnected];
172
+ }
173
+
174
+ /**
175
+ * Returns owner document.
176
+ *
177
+ * @returns Owner document.
178
+ */
179
+ public get ownerDocument(): Document {
180
+ return this[PropertySymbol.ownerDocument];
181
+ }
182
+
183
+ /**
184
+ * Returns parent node.
185
+ *
186
+ * @returns Parent node.
187
+ */
188
+ public get parentNode(): Node | null {
189
+ return this[PropertySymbol.parentNode];
190
+ }
191
+
192
+ /**
193
+ * Returns node type.
194
+ *
195
+ * @returns Node type.
196
+ */
197
+ public get nodeType(): number {
198
+ return this[PropertySymbol.nodeType];
199
+ }
200
+
201
+ /**
202
+ * Get child nodes.
203
+ *
204
+ * @returns Child nodes list.
205
+ */
206
+ public get childNodes(): NodeList<Node> {
207
+ if (!this[PropertySymbol.childNodes]) {
208
+ this[PropertySymbol.childNodes] = new NodeList<Node>(
209
+ PropertySymbol.illegalConstructor,
210
+ this[PropertySymbol.nodeArray]
211
+ );
212
+ }
213
+ return this[PropertySymbol.childNodes];
214
+ }
215
+
216
+ /**
217
+ * Get text value of children.
218
+ *
219
+ * @returns Text content.
220
+ */
221
+ public get textContent(): string {
222
+ // Sub-classes should implement this method.
223
+ return '';
224
+ }
225
+
226
+ /**
227
+ * Sets text content.
228
+ *
229
+ * @param _textContent Text content.
230
+ */
231
+ public set textContent(_textContent) {
232
+ // Do nothing.
233
+ // Sub-classes should implement this method.
234
+ }
235
+
236
+ /**
237
+ * Node value.
238
+ *
239
+ * @returns Node value.
240
+ */
241
+ public get nodeValue(): string | null {
242
+ return null;
243
+ }
244
+
245
+ /**
246
+ * Sets node value.
247
+ */
248
+ public set nodeValue(_nodeValue: string) {
249
+ // Do nothing
250
+ }
251
+
252
+ /**
253
+ * Node name.
254
+ *
255
+ * @returns Node name.
256
+ */
257
+ public get nodeName(): string {
258
+ return '';
259
+ }
260
+
261
+ /**
262
+ * Previous sibling.
263
+ *
264
+ * @returns Node.
265
+ */
266
+ public get previousSibling(): Node | null {
267
+ if (this[PropertySymbol.parentNode]) {
268
+ const nodeArray = this[PropertySymbol.parentNode][PropertySymbol.nodeArray];
269
+ const index = nodeArray.indexOf(this[PropertySymbol.proxy] || this);
270
+ if (index > 0) {
271
+ return nodeArray[index - 1];
272
+ }
273
+ }
274
+ return null;
275
+ }
276
+
277
+ /**
278
+ * Next sibling.
279
+ *
280
+ * @returns Node.
281
+ */
282
+ public get nextSibling(): Node | null {
283
+ if (this[PropertySymbol.parentNode]) {
284
+ const nodeArray = this[PropertySymbol.parentNode][PropertySymbol.nodeArray];
285
+ const index = nodeArray.indexOf(this[PropertySymbol.proxy] || this);
286
+ if (index > -1 && index + 1 < nodeArray.length) {
287
+ return nodeArray[index + 1];
288
+ }
289
+ }
290
+ return null;
291
+ }
292
+
293
+ /**
294
+ * First child.
295
+ *
296
+ * @returns Node.
297
+ */
298
+ public get firstChild(): Node | null {
299
+ const nodeArray = this[PropertySymbol.nodeArray];
300
+ if (nodeArray.length > 0) {
301
+ return nodeArray[0];
302
+ }
303
+ return null;
304
+ }
305
+
306
+ /**
307
+ * Last child.
308
+ *
309
+ * @returns Node.
310
+ */
311
+ public get lastChild(): Node | null {
312
+ const nodeArray = this[PropertySymbol.nodeArray];
313
+ if (nodeArray.length > 0) {
314
+ return nodeArray[nodeArray.length - 1];
315
+ }
316
+ return null;
317
+ }
318
+
319
+ /**
320
+ * Returns parent element.
321
+ *
322
+ * @returns Element.
323
+ */
324
+ public get parentElement(): Element | null {
325
+ let parent = this[PropertySymbol.parentNode];
326
+ while (parent && parent[PropertySymbol.nodeType] !== NodeTypeEnum.elementNode) {
327
+ parent = parent[PropertySymbol.parentNode];
328
+ }
329
+ return <Element>parent;
330
+ }
331
+
332
+ /**
333
+ * Returns base URI.
334
+ *
335
+ * @returns Base URI.
336
+ */
337
+ public get baseURI(): string {
338
+ const base = this[PropertySymbol.ownerDocument].querySelector('base');
339
+ if (base) {
340
+ return base.href;
341
+ }
342
+ return this[PropertySymbol.window].location.href;
343
+ }
344
+
345
+ /**
346
+ * Returns "true" if the node has child nodes.
347
+ *
348
+ * @returns "true" if the node has child nodes.
349
+ */
350
+ public hasChildNodes(): boolean {
351
+ return this[PropertySymbol.nodeArray].length > 0;
352
+ }
353
+
354
+ /**
355
+ * Returns "true" if this node contains the other node.
356
+ *
357
+ * @param otherNode Node to test with.
358
+ * @returns "true" if this node contains the other node.
359
+ */
360
+ public contains(otherNode: Node): boolean {
361
+ if (otherNode === undefined) {
362
+ return false;
363
+ }
364
+ // HTMLFormElement and HTMLSelectElement return a Proxy from their constructor.
365
+ // We need to use the proxy for comparison to ensure correct behavior.
366
+ const self = this[PropertySymbol.proxy] || this;
367
+ return NodeUtility.isInclusiveAncestor(self, otherNode);
368
+ }
369
+
370
+ /**
371
+ * Returns closest root node (Document or ShadowRoot).
372
+ *
373
+ * @param options Options.
374
+ * @param options.composed A Boolean that indicates whether the shadow root should be returned (false, the default), or a root node beyond shadow root (true).
375
+ * @returns Node.
376
+ */
377
+ public getRootNode(options?: { composed: boolean }): Node {
378
+ if (this[PropertySymbol.isConnected]) {
379
+ if (this[PropertySymbol.rootNode] && !options?.composed) {
380
+ return this[PropertySymbol.rootNode];
381
+ }
382
+ return this[PropertySymbol.ownerDocument];
383
+ }
384
+
385
+ // For detached nodes, traverse up the parent chain to find the root
386
+ // eslint-disable-next-line @typescript-eslint/no-this-alias
387
+ let root: Node = this;
388
+ while (root[PropertySymbol.parentNode]) {
389
+ root = root[PropertySymbol.parentNode];
390
+ }
391
+ return root;
392
+ }
393
+
394
+ /**
395
+ * Clones a node.
396
+ *
397
+ * @param [deep=false] "true" to clone deep.
398
+ * @returns Cloned node.
399
+ */
400
+ public cloneNode(deep = false): Node {
401
+ return this[PropertySymbol.cloneNode](deep);
402
+ }
403
+
404
+ /**
405
+ * Append a child node to childNodes.
406
+ *
407
+ * @param node Node to append.
408
+ * @returns Appended node.
409
+ */
410
+ public appendChild(node: Node): Node {
411
+ if (arguments.length < 1) {
412
+ throw new this[PropertySymbol.window].TypeError(
413
+ `Failed to execute 'appendChild' on 'Node': 1 argument required, but only 0 present`
414
+ );
415
+ }
416
+ return this[PropertySymbol.appendChild](node);
417
+ }
418
+
419
+ /**
420
+ * Remove Child element from childNodes array.
421
+ *
422
+ * @param node Node to remove.
423
+ * @returns Removed node.
424
+ */
425
+ public removeChild(node: Node): Node {
426
+ if (arguments.length < 1) {
427
+ throw new this[PropertySymbol.window].TypeError(
428
+ `Failed to execute 'removeChild' on 'Node': 1 argument required, but only 0 present`
429
+ );
430
+ }
431
+ return this[PropertySymbol.removeChild](node);
432
+ }
433
+
434
+ /**
435
+ * Inserts a node before another.
436
+ *
437
+ * @param newNode Node to insert.
438
+ * @param referenceNode Node to insert before.
439
+ * @returns Inserted node.
440
+ */
441
+ public insertBefore(newNode: Node, referenceNode: Node | null): Node {
442
+ if (arguments.length < 2) {
443
+ throw new this[PropertySymbol.window].TypeError(
444
+ `Failed to execute 'insertBefore' on 'Node': 2 arguments required, but only ${arguments.length} present.`
445
+ );
446
+ }
447
+ return this[PropertySymbol.insertBefore](newNode, referenceNode);
448
+ }
449
+
450
+ /**
451
+ * Replaces a node with another.
452
+ *
453
+ * @param newChild New child.
454
+ * @param oldChild Old child.
455
+ * @returns Replaced node.
456
+ */
457
+ public replaceChild(newChild: Node, oldChild: Node): Node {
458
+ if (arguments.length < 2) {
459
+ throw new this[PropertySymbol.window].TypeError(
460
+ `Failed to execute 'replaceChild' on 'Node': 2 arguments required, but only ${arguments.length} present.`
461
+ );
462
+ }
463
+ return this[PropertySymbol.replaceChild](newChild, oldChild);
464
+ }
465
+
466
+ /**
467
+ * Clones a node.
468
+ *
469
+ * @param [deep=false] "true" to clone deep.
470
+ * @returns Cloned node.
471
+ */
472
+ public [PropertySymbol.cloneNode](deep = false): Node {
473
+ const clone = NodeFactory.createNode(
474
+ this[PropertySymbol.ownerDocument],
475
+ <typeof Node>this.constructor
476
+ );
477
+
478
+ // Document has childNodes directly when it is created
479
+ // We need to remove them
480
+ if (clone[PropertySymbol.nodeArray].length) {
481
+ const childNodes = clone[PropertySymbol.nodeArray];
482
+ while (childNodes.length) {
483
+ clone.removeChild(childNodes[0]);
484
+ }
485
+ }
486
+
487
+ if (deep) {
488
+ for (const childNode of this[PropertySymbol.nodeArray]) {
489
+ const childClone = childNode.cloneNode(true);
490
+ childClone[PropertySymbol.parentNode] = clone;
491
+ clone[PropertySymbol.nodeArray].push(childClone);
492
+
493
+ if (childClone[PropertySymbol.nodeType] === NodeTypeEnum.elementNode) {
494
+ clone[PropertySymbol.elementArray].push(<Element>childClone);
495
+ }
496
+ }
497
+ }
498
+
499
+ return clone;
500
+ }
501
+
502
+ /**
503
+ * Append a child node to childNodes.
504
+ *
505
+ * @param node Node to append.
506
+ * @param [disableValidations=false] "true" to disable validations.
507
+ * @returns Appended node.
508
+ */
509
+ public [PropertySymbol.appendChild](node: Node, disableValidations = false): Node {
510
+ if (node[PropertySymbol.proxy]) {
511
+ node = node[PropertySymbol.proxy];
512
+ }
513
+
514
+ const self = this[PropertySymbol.proxy] || this;
515
+
516
+ if (!disableValidations) {
517
+ if (node === self) {
518
+ throw new this[PropertySymbol.window].DOMException(
519
+ "Failed to execute 'appendChild' on 'Node': Not possible to append a node as a child of itself."
520
+ );
521
+ }
522
+
523
+ if (NodeUtility.isInclusiveAncestor(node, self, true)) {
524
+ throw new this[PropertySymbol.window].DOMException(
525
+ "Failed to execute 'appendChild' on 'Node': The new node is a parent of the node to insert to.",
526
+ DOMExceptionNameEnum.domException
527
+ );
528
+ }
529
+ }
530
+
531
+ // If the type is DocumentFragment, then the child nodes of if it should be moved instead of the actual node.
532
+ // See: https://developer.mozilla.org/en-US/docs/Web/API/DocumentFragment
533
+ if (node[PropertySymbol.nodeType] === NodeTypeEnum.documentFragmentNode) {
534
+ const childNodes = node[PropertySymbol.nodeArray];
535
+ while (childNodes.length) {
536
+ this.appendChild(childNodes[0]);
537
+ }
538
+ return node;
539
+ }
540
+
541
+ // Remove the node from its previous parent if it has any.
542
+ if (node[PropertySymbol.parentNode]) {
543
+ node[PropertySymbol.parentNode][PropertySymbol.removeChild](node);
544
+ }
545
+
546
+ node[PropertySymbol.parentNode] = self;
547
+
548
+ node[PropertySymbol.clearCache]();
549
+
550
+ this[PropertySymbol.nodeArray].push(node);
551
+
552
+ if (node[PropertySymbol.nodeType] === NodeTypeEnum.elementNode) {
553
+ this[PropertySymbol.elementArray].push(<Element>node);
554
+ }
555
+
556
+ node[PropertySymbol.connectedToNode]();
557
+
558
+ // Mutation listeners
559
+ for (const mutationListener of this[PropertySymbol.mutationListeners]) {
560
+ if (mutationListener.options?.subtree && mutationListener.callback.deref()) {
561
+ (<Node>node)[PropertySymbol.observeMutations](mutationListener);
562
+ }
563
+ }
564
+
565
+ this[PropertySymbol.reportMutation](
566
+ new MutationRecord({
567
+ target: self,
568
+ type: MutationTypeEnum.childList,
569
+ addedNodes: [node]
570
+ })
571
+ );
572
+
573
+ return node;
574
+ }
575
+
576
+ /**
577
+ * Remove Child element from childNodes array.
578
+ *
579
+ * @param node Node to remove.
580
+ * @returns Removed node.
581
+ */
582
+ public [PropertySymbol.removeChild](node: Node): Node {
583
+ if (node[PropertySymbol.proxy]) {
584
+ node = node[PropertySymbol.proxy];
585
+ }
586
+
587
+ const index = this[PropertySymbol.nodeArray].indexOf(node);
588
+
589
+ if (index === -1) {
590
+ throw new this[PropertySymbol.window].DOMException(
591
+ `Failed to execute 'removeChild' on 'Node': The node to be removed is not a child of this node.`
592
+ );
593
+ }
594
+
595
+ const previousSibling = node.previousSibling;
596
+ const nextSibling = node.nextSibling;
597
+
598
+ node[PropertySymbol.parentNode] = null;
599
+
600
+ node[PropertySymbol.clearCache]();
601
+
602
+ this[PropertySymbol.nodeArray].splice(index, 1);
603
+
604
+ if (node[PropertySymbol.nodeType] === NodeTypeEnum.elementNode) {
605
+ const index = this[PropertySymbol.elementArray].indexOf(<Element>node);
606
+ if (index !== -1) {
607
+ this[PropertySymbol.elementArray].splice(index, 1);
608
+ }
609
+ }
610
+
611
+ if (node[PropertySymbol.assignedToSlot]) {
612
+ const index = node[PropertySymbol.assignedToSlot][PropertySymbol.assignedNodes].indexOf(node);
613
+ if (index !== -1) {
614
+ node[PropertySymbol.assignedToSlot][PropertySymbol.assignedNodes].splice(index, 1);
615
+ }
616
+ node[PropertySymbol.assignedToSlot] = null;
617
+ }
618
+
619
+ node[PropertySymbol.disconnectedFromNode]();
620
+
621
+ // Mutation listeners
622
+ for (const mutationListener of this[PropertySymbol.mutationListeners]) {
623
+ if (mutationListener.options?.subtree && mutationListener.callback.deref()) {
624
+ (<Node>node)[PropertySymbol.unobserveMutations](mutationListener);
625
+ }
626
+ }
627
+
628
+ this[PropertySymbol.reportMutation](
629
+ new MutationRecord({
630
+ target: this[PropertySymbol.proxy] || this,
631
+ type: MutationTypeEnum.childList,
632
+ removedNodes: [node],
633
+ previousSibling,
634
+ nextSibling
635
+ })
636
+ );
637
+
638
+ return node;
639
+ }
640
+
641
+ /**
642
+ * Inserts a node before another.
643
+ *
644
+ * @param newNode Node to insert.
645
+ * @param referenceNode Node to insert before.
646
+ * @param [disableValidations=false] "true" to disable validations.
647
+ * @returns Inserted node.
648
+ */
649
+ public [PropertySymbol.insertBefore](
650
+ newNode: Node,
651
+ referenceNode: Node | null,
652
+ disableValidations = false
653
+ ): Node {
654
+ if (newNode[PropertySymbol.proxy]) {
655
+ newNode = newNode[PropertySymbol.proxy];
656
+ }
657
+
658
+ if (referenceNode && referenceNode[PropertySymbol.proxy]) {
659
+ referenceNode = referenceNode[PropertySymbol.proxy];
660
+ }
661
+
662
+ if (newNode === referenceNode) {
663
+ return newNode;
664
+ }
665
+
666
+ const self = this[PropertySymbol.proxy] || this;
667
+
668
+ if (!disableValidations) {
669
+ if (newNode === self) {
670
+ throw new this[PropertySymbol.window].DOMException(
671
+ "Failed to execute 'insertBefore' on 'Node': Not possible to insert a node as a child of itself."
672
+ );
673
+ }
674
+
675
+ if (NodeUtility.isInclusiveAncestor(newNode, self, true)) {
676
+ throw new this[PropertySymbol.window].DOMException(
677
+ "Failed to execute 'insertBefore' on 'Node': The new node is a parent of the node to insert to.",
678
+ DOMExceptionNameEnum.domException
679
+ );
680
+ }
681
+ }
682
+
683
+ // If the type is DocumentFragment, then the child nodes of if it should be moved instead of the actual node.
684
+ // See: https://developer.mozilla.org/en-US/docs/Web/API/DocumentFragment
685
+ if (newNode[PropertySymbol.nodeType] === NodeTypeEnum.documentFragmentNode) {
686
+ const childNodes = (<Node>newNode)[PropertySymbol.nodeArray];
687
+ while (childNodes.length > 0) {
688
+ this[PropertySymbol.insertBefore](childNodes[0], referenceNode, true);
689
+ }
690
+ return newNode;
691
+ }
692
+
693
+ // If the referenceNode is null or undefined, then the newNode should be appended to the ancestorNode.
694
+ // According to spec only null is valid, but browsers support undefined as well.
695
+ if (!referenceNode) {
696
+ this[PropertySymbol.appendChild](newNode, true);
697
+ return newNode;
698
+ }
699
+
700
+ const nodeArray = this[PropertySymbol.nodeArray];
701
+
702
+ // We need to check if the referenceNode is a child of this node before removing it from its parent, as the parent may be the same node and the index would be wrong.
703
+ if (!nodeArray.includes(referenceNode)) {
704
+ throw new this[PropertySymbol.window].DOMException(
705
+ "Failed to execute 'insertBefore' on 'Node': The node before which the new node is to be inserted is not a child of this node."
706
+ );
707
+ }
708
+
709
+ if (newNode[PropertySymbol.parentNode]) {
710
+ newNode[PropertySymbol.parentNode][PropertySymbol.removeChild](newNode);
711
+ }
712
+
713
+ newNode[PropertySymbol.parentNode] = self;
714
+
715
+ newNode[PropertySymbol.clearCache]();
716
+
717
+ const index = nodeArray.indexOf(referenceNode);
718
+
719
+ if (newNode[PropertySymbol.nodeType] === NodeTypeEnum.elementNode) {
720
+ const elementArray = this[PropertySymbol.elementArray];
721
+ if (referenceNode[PropertySymbol.nodeType] === NodeTypeEnum.elementNode) {
722
+ elementArray.splice(elementArray.indexOf(<Element>referenceNode), 0, <Element>newNode);
723
+ } else {
724
+ let isInserted = false;
725
+ for (let i = index, max = nodeArray.length; i < max; i++) {
726
+ if (nodeArray[i][PropertySymbol.nodeType] === NodeTypeEnum.elementNode) {
727
+ elementArray.splice(elementArray.indexOf(<Element>nodeArray[i]), 0, <Element>newNode);
728
+ isInserted = true;
729
+ break;
730
+ }
731
+ }
732
+ if (!isInserted) {
733
+ elementArray.push(<Element>newNode);
734
+ }
735
+ }
736
+ }
737
+
738
+ nodeArray.splice(index, 0, newNode);
739
+
740
+ newNode[PropertySymbol.connectedToNode]();
741
+
742
+ // Mutation listeners
743
+ for (const mutationListener of this[PropertySymbol.mutationListeners]) {
744
+ if (mutationListener.options?.subtree && mutationListener.callback.deref()) {
745
+ newNode[PropertySymbol.observeMutations](mutationListener);
746
+ }
747
+ }
748
+
749
+ this[PropertySymbol.reportMutation](
750
+ new MutationRecord({
751
+ target: self,
752
+ type: MutationTypeEnum.childList,
753
+ addedNodes: [newNode]
754
+ })
755
+ );
756
+
757
+ return newNode;
758
+ }
759
+
760
+ /**
761
+ * Replaces a node with another.
762
+ *
763
+ * @param newChild New child.
764
+ * @param oldChild Old child.
765
+ * @returns Replaced node.
766
+ */
767
+ public [PropertySymbol.replaceChild](newChild: Node, oldChild: Node): Node {
768
+ this.insertBefore(newChild, oldChild);
769
+ this.removeChild(oldChild);
770
+
771
+ return oldChild;
772
+ }
773
+
774
+ /**
775
+ * Compares two nodes.
776
+ * Two nodes are equal if they have the same type, defining the same attributes, and so on.
777
+ *
778
+ * @param node Node to compare.
779
+ * @returns boolean - `true` if two nodes are equal.
780
+ */
781
+ public isEqualNode(node: Node): boolean {
782
+ return NodeUtility.isEqualNode(this, node);
783
+ }
784
+
785
+ /**
786
+ * Converts the node to a string.
787
+ *
788
+ * @param listener Listener.
789
+ */
790
+ public toString(): string {
791
+ return `[object ${this.constructor.name}]`;
792
+ }
793
+
794
+ /**
795
+ * Observeres mutations on the node.
796
+ *
797
+ * Used by MutationObserver and internal logic.
798
+ *
799
+ * @param listener Listener.
800
+ */
801
+ public [PropertySymbol.observeMutations](listener: IMutationListener): void {
802
+ this[PropertySymbol.mutationListeners].push(listener);
803
+ if (listener.options.subtree) {
804
+ for (const node of this[PropertySymbol.nodeArray]) {
805
+ (<Node>node)[PropertySymbol.observeMutations](listener);
806
+ }
807
+ }
808
+ }
809
+
810
+ /**
811
+ * Stops observing mutations on the node.
812
+ *
813
+ * Used by MutationObserver and internal logic.
814
+ *
815
+ * @param listener Listener.
816
+ */
817
+ public [PropertySymbol.unobserveMutations](listener: IMutationListener): void {
818
+ const index = this[PropertySymbol.mutationListeners].indexOf(listener);
819
+ if (index !== -1) {
820
+ this[PropertySymbol.mutationListeners].splice(index, 1);
821
+ }
822
+ if (listener.options.subtree) {
823
+ for (const node of this[PropertySymbol.nodeArray]) {
824
+ node[PropertySymbol.unobserveMutations](listener);
825
+ }
826
+ }
827
+ }
828
+
829
+ /**
830
+ * Reports a mutation on the node.
831
+ *
832
+ * Used by MutationObserver and internal logic.
833
+ *
834
+ * @param record Mutation record.
835
+ */
836
+ public [PropertySymbol.reportMutation](record: MutationRecord): void {
837
+ this[PropertySymbol.clearCache]();
838
+
839
+ const mutationListeners = this[PropertySymbol.mutationListeners];
840
+
841
+ if (!mutationListeners.length) {
842
+ return;
843
+ }
844
+
845
+ for (let i = 0, max = mutationListeners.length; i < max; i++) {
846
+ const mutationListener = mutationListeners[i];
847
+ const callback = mutationListener.callback.deref();
848
+ if (callback) {
849
+ switch (record.type) {
850
+ case MutationTypeEnum.childList:
851
+ if (mutationListener.options.childList) {
852
+ callback(record);
853
+ }
854
+ break;
855
+ case MutationTypeEnum.attributes:
856
+ if (
857
+ mutationListener.options.attributes &&
858
+ (!mutationListener.options.attributeFilter ||
859
+ mutationListener.options.attributeFilter.includes(record.attributeName!))
860
+ ) {
861
+ callback(record);
862
+ }
863
+ break;
864
+ case MutationTypeEnum.characterData:
865
+ if (mutationListener.options?.characterData) {
866
+ callback(record);
867
+ }
868
+ break;
869
+ }
870
+ } else {
871
+ mutationListeners.splice(i, 1);
872
+ i--;
873
+ max--;
874
+ }
875
+ }
876
+ }
877
+
878
+ /**
879
+ * Clears query selector cache.
880
+ */
881
+ public [PropertySymbol.clearCache](): void {
882
+ const cache = this[PropertySymbol.cache];
883
+
884
+ if (cache.querySelector.size) {
885
+ for (const item of cache.querySelector.values()) {
886
+ if (item.result) {
887
+ item.result = null;
888
+ }
889
+ }
890
+ cache.querySelector = new Map();
891
+ }
892
+
893
+ if (cache.querySelectorAll.size) {
894
+ for (const item of cache.querySelectorAll.values()) {
895
+ if (item.result) {
896
+ item.result = null;
897
+ }
898
+ }
899
+ cache.querySelectorAll = new Map();
900
+ }
901
+
902
+ if (cache.matches.size) {
903
+ for (const item of cache.matches.values()) {
904
+ if (item.result) {
905
+ item.result = null;
906
+ }
907
+ }
908
+ cache.matches = new Map();
909
+ }
910
+
911
+ if (cache.elementsByTagName.size) {
912
+ for (const item of cache.elementsByTagName.values()) {
913
+ if (item.result) {
914
+ item.result = null;
915
+ }
916
+ }
917
+ cache.elementsByTagName = new Map();
918
+ }
919
+
920
+ if (cache.elementsByTagNameNS.size) {
921
+ for (const item of cache.elementsByTagNameNS.values()) {
922
+ if (item.result) {
923
+ item.result = null;
924
+ }
925
+ }
926
+ cache.elementsByTagNameNS = new Map();
927
+ }
928
+
929
+ if (cache.elementByTagName.size) {
930
+ for (const item of cache.elementByTagName.values()) {
931
+ if (item.result) {
932
+ item.result = null;
933
+ }
934
+ }
935
+ cache.elementByTagName = new Map();
936
+ }
937
+
938
+ if (cache.elementById.size) {
939
+ for (const item of cache.elementById.values()) {
940
+ if (item.result) {
941
+ item.result = null;
942
+ }
943
+ }
944
+ cache.elementById = new Map();
945
+ }
946
+
947
+ if (cache.computedStyle?.result) {
948
+ cache.computedStyle.result = null;
949
+ }
950
+
951
+ const affectsCache = this[PropertySymbol.affectsCache];
952
+
953
+ if (affectsCache.length) {
954
+ for (const item of affectsCache) {
955
+ item.result = null;
956
+ }
957
+ this[PropertySymbol.affectsCache] = [];
958
+ }
959
+ }
960
+
961
+ /**
962
+ * Called when connected to a node.
963
+ */
964
+ public [PropertySymbol.connectedToNode](): void {
965
+ const parentNode = this[PropertySymbol.parentNode];
966
+ const parent = parentNode || (<any>this)[PropertySymbol.host];
967
+ let isConnected = false;
968
+ let isDisconnected = false;
969
+
970
+ if (!this[PropertySymbol.isConnected] && parent[PropertySymbol.isConnected]) {
971
+ this[PropertySymbol.isConnected] = true;
972
+ isConnected = true;
973
+ } else if (this[PropertySymbol.isConnected] && !parent[PropertySymbol.isConnected]) {
974
+ this[PropertySymbol.isConnected] = false;
975
+ isDisconnected = true;
976
+ }
977
+
978
+ this[PropertySymbol.ownerDocument] = parent[PropertySymbol.ownerDocument] || <Document>parent;
979
+ this[PropertySymbol.window] =
980
+ parent[PropertySymbol.window] || parent[PropertySymbol.defaultView];
981
+
982
+ if (parentNode) {
983
+ if (this[PropertySymbol.nodeType] !== NodeTypeEnum.documentFragmentNode) {
984
+ this[PropertySymbol.rootNode] = parentNode[PropertySymbol.rootNode];
985
+ }
986
+
987
+ const tagName = (<any>this)[PropertySymbol.tagName];
988
+
989
+ if (parentNode[PropertySymbol.styleNode] && tagName !== 'STYLE') {
990
+ this[PropertySymbol.styleNode] = parentNode[PropertySymbol.styleNode];
991
+ }
992
+
993
+ if (parentNode[PropertySymbol.textAreaNode] && tagName !== 'TEXTAREA') {
994
+ this[PropertySymbol.textAreaNode] = parentNode[PropertySymbol.textAreaNode];
995
+ }
996
+
997
+ if (parentNode[PropertySymbol.formNode] && tagName !== 'FORM') {
998
+ this[PropertySymbol.formNode] = parentNode[PropertySymbol.formNode];
999
+ }
1000
+
1001
+ if (parentNode[PropertySymbol.selectNode] && tagName !== 'SELECT') {
1002
+ this[PropertySymbol.selectNode] = parentNode[PropertySymbol.selectNode];
1003
+ }
1004
+ }
1005
+
1006
+ // HTMLFormElement and HTMLSelectElement return a Proxy from their constructor.
1007
+ // The proxy is the identity handed out by the public API, so it has to be stored
1008
+ // as the parent of the child nodes, the same way as in appendChild() and insertBefore().
1009
+ const self = this[PropertySymbol.proxy] || this;
1010
+
1011
+ const childNodes = this[PropertySymbol.nodeArray].slice();
1012
+ for (let i = 0, max = childNodes.length; i < max; i++) {
1013
+ childNodes[i][PropertySymbol.parentNode] = self;
1014
+ childNodes[i][PropertySymbol.connectedToNode]();
1015
+ }
1016
+
1017
+ // eslint-disable-next-line
1018
+ if ((<any>this)[PropertySymbol.shadowRoot]) {
1019
+ // eslint-disable-next-line
1020
+ (<any>this)[PropertySymbol.shadowRoot][PropertySymbol.connectedToNode]();
1021
+ }
1022
+
1023
+ if (isConnected) {
1024
+ this[PropertySymbol.connectedToDocument]();
1025
+ } else if (isDisconnected) {
1026
+ this[PropertySymbol.disconnectedFromDocument]();
1027
+ }
1028
+ }
1029
+
1030
+ /**
1031
+ * Called when disconnected from a node.
1032
+ */
1033
+ public [PropertySymbol.disconnectedFromNode](): void {
1034
+ if (this[PropertySymbol.nodeType] !== NodeTypeEnum.documentFragmentNode) {
1035
+ this[PropertySymbol.rootNode] = null;
1036
+ }
1037
+
1038
+ const tagName = (<any>this)[PropertySymbol.tagName];
1039
+
1040
+ if (tagName !== 'STYLE') {
1041
+ this[PropertySymbol.styleNode] = null;
1042
+ }
1043
+
1044
+ if (tagName !== 'TEXTAREA') {
1045
+ this[PropertySymbol.textAreaNode] = null;
1046
+ }
1047
+
1048
+ if (tagName !== 'FORM') {
1049
+ this[PropertySymbol.formNode] = null;
1050
+ }
1051
+
1052
+ if (tagName !== 'SELECT') {
1053
+ this[PropertySymbol.selectNode] = null;
1054
+ }
1055
+
1056
+ if (this[PropertySymbol.isConnected]) {
1057
+ this[PropertySymbol.isConnected] = false;
1058
+ this[PropertySymbol.disconnectedFromDocument]();
1059
+ }
1060
+
1061
+ const childNodes = this[PropertySymbol.nodeArray].slice();
1062
+ const self = this[PropertySymbol.proxy] || this;
1063
+ for (let i = 0, max = childNodes.length; i < max; i++) {
1064
+ const child = childNodes[i];
1065
+ // Additional check to ensure that the child is still connected to this node before calling connectedToNode
1066
+ if (child[PropertySymbol.parentNode] === self) {
1067
+ // We call connectedToNode() to update the child's connection state and trigger any necessary callbacks
1068
+ child[PropertySymbol.connectedToNode]();
1069
+ }
1070
+ }
1071
+
1072
+ // eslint-disable-next-line
1073
+ if ((<any>this)[PropertySymbol.shadowRoot]) {
1074
+ // eslint-disable-next-line
1075
+ (<any>this)[PropertySymbol.shadowRoot][PropertySymbol.disconnectedFromNode]();
1076
+ }
1077
+ }
1078
+
1079
+ /**
1080
+ * Called when connected to document.
1081
+ */
1082
+ public [PropertySymbol.connectedToDocument](): void {
1083
+ // eslint-disable-next-line
1084
+ if ((<any>this)[PropertySymbol.shadowRoot]) {
1085
+ // eslint-disable-next-line
1086
+ (<any>this)[PropertySymbol.shadowRoot][PropertySymbol.connectedToDocument]();
1087
+ }
1088
+ }
1089
+
1090
+ /**
1091
+ * Called when disconnected from document.
1092
+ */
1093
+ public [PropertySymbol.disconnectedFromDocument](): void {
1094
+ if (this[PropertySymbol.ownerDocument][PropertySymbol.activeElement] === <unknown>this) {
1095
+ this[PropertySymbol.ownerDocument][PropertySymbol.clearCache]();
1096
+ this[PropertySymbol.ownerDocument][PropertySymbol.activeElement] = null;
1097
+ }
1098
+
1099
+ // eslint-disable-next-line
1100
+ if ((<any>this)[PropertySymbol.shadowRoot]) {
1101
+ // eslint-disable-next-line
1102
+ (<any>this)[PropertySymbol.shadowRoot][PropertySymbol.disconnectedFromDocument]();
1103
+ }
1104
+ }
1105
+
1106
+ /**
1107
+ * @override
1108
+ */
1109
+ public override [PropertySymbol.destroy](): void {
1110
+ super[PropertySymbol.destroy]();
1111
+
1112
+ this[PropertySymbol.isConnected] = false;
1113
+
1114
+ for (let i = 0, max = this[PropertySymbol.nodeArray].length; i < max; i++) {
1115
+ this[PropertySymbol.nodeArray][i][PropertySymbol.destroy]();
1116
+ }
1117
+
1118
+ this[PropertySymbol.mutationListeners] = [];
1119
+ this[PropertySymbol.parentNode] = null;
1120
+ this[PropertySymbol.rootNode] = null;
1121
+ this[PropertySymbol.styleNode] = null;
1122
+ this[PropertySymbol.textAreaNode] = null;
1123
+ this[PropertySymbol.formNode] = null;
1124
+ this[PropertySymbol.selectNode] = null;
1125
+ this[PropertySymbol.mutationListeners] = [];
1126
+ this[PropertySymbol.nodeArray] = [];
1127
+ this[PropertySymbol.elementArray] = [];
1128
+ this[PropertySymbol.childNodes] = null;
1129
+ this[PropertySymbol.assignedToSlot] = null;
1130
+
1131
+ this[PropertySymbol.clearCache]();
1132
+ }
1133
+
1134
+ /**
1135
+ * Reports the position of its argument node relative to the node on which it is called.
1136
+ *
1137
+ * @see https://dom.spec.whatwg.org/#dom-node-comparedocumentposition
1138
+ * @param otherNode Other node.
1139
+ */
1140
+ public compareDocumentPosition(otherNode: Node): number {
1141
+ /**
1142
+ * 1. If this is other, then return zero.
1143
+ */
1144
+ if (this === otherNode) {
1145
+ return 0;
1146
+ }
1147
+
1148
+ /**
1149
+ * 2. Let node1 be other and node2 be this.
1150
+ */
1151
+ let node1: Node = otherNode;
1152
+ let node2: Node = this[PropertySymbol.proxy] || this;
1153
+
1154
+ /**
1155
+ * 3. Let attr1 and attr2 be null.
1156
+ */
1157
+ let attr1 = null;
1158
+ let attr2 = null;
1159
+
1160
+ /**
1161
+ * 4. If node1 is an attribute, then set attr1 to node1 and node1 to attr1’s element.
1162
+ */
1163
+ if (node1[PropertySymbol.nodeType] === NodeTypeEnum.attributeNode) {
1164
+ attr1 = node1;
1165
+ node1 = (<Attr>attr1)[PropertySymbol.ownerElement]!;
1166
+ }
1167
+
1168
+ /**
1169
+ * 5. If node2 is an attribute, then:
1170
+ * 5.1. Set attr2 to node2 and node2 to attr2’s element.
1171
+ */
1172
+ if (node2[PropertySymbol.nodeType] === NodeTypeEnum.attributeNode) {
1173
+ attr2 = node2;
1174
+ node2 = (<Attr>attr2)[PropertySymbol.ownerElement]!;
1175
+
1176
+ /**
1177
+ * 5.2. If attr1 and node1 are non-null, and node2 is node1, then:
1178
+ */
1179
+ if (attr1 !== null && node1 !== null && node2 === node1) {
1180
+ /**
1181
+ * 5.2.1. For each attr in node2’s attribute list:
1182
+ */
1183
+ for (const attribute of (<Element>node2)[PropertySymbol.attributes][
1184
+ PropertySymbol.items
1185
+ ].values()) {
1186
+ /**
1187
+ * 5.2.1.1. If attr equals attr1, then return the result of adding DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC and DOCUMENT_POSITION_PRECEDING.
1188
+ */
1189
+ if (NodeUtility.isEqualNode(attribute, attr1)) {
1190
+ return (
1191
+ Node.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC | Node.DOCUMENT_POSITION_PRECEDING
1192
+ );
1193
+ }
1194
+
1195
+ /**
1196
+ * 5.2.1.2. If attr equals attr2, then return the result of adding DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC and DOCUMENT_POSITION_FOLLOWING.
1197
+ */
1198
+ if (NodeUtility.isEqualNode(attribute, attr2)) {
1199
+ return (
1200
+ Node.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC | Node.DOCUMENT_POSITION_FOLLOWING
1201
+ );
1202
+ }
1203
+ }
1204
+ }
1205
+ }
1206
+
1207
+ const node2Ancestors: Node[] = [];
1208
+ let node2Ancestor: Node = node2;
1209
+
1210
+ while (node2Ancestor) {
1211
+ /**
1212
+ * 7. If node1 is an ancestor of node2 […] then return the result of adding DOCUMENT_POSITION_CONTAINS to DOCUMENT_POSITION_PRECEDING.
1213
+ */
1214
+ if (node2Ancestor === node1) {
1215
+ return Node.DOCUMENT_POSITION_CONTAINS | Node.DOCUMENT_POSITION_PRECEDING;
1216
+ }
1217
+
1218
+ node2Ancestors.push(node2Ancestor);
1219
+ node2Ancestor = node2Ancestor[PropertySymbol.parentNode]!;
1220
+ }
1221
+
1222
+ const node1Ancestors: Node[] = [];
1223
+ let node1Ancestor: Node = node1;
1224
+
1225
+ while (node1Ancestor) {
1226
+ /**
1227
+ * 8. If node1 is a descendant of node2 […] then return the result of adding DOCUMENT_POSITION_CONTAINED_BY to DOCUMENT_POSITION_FOLLOWING.
1228
+ */
1229
+ if (node1Ancestor === node2) {
1230
+ return Node.DOCUMENT_POSITION_CONTAINED_BY | Node.DOCUMENT_POSITION_FOLLOWING;
1231
+ }
1232
+
1233
+ node1Ancestors.push(node1Ancestor);
1234
+ node1Ancestor = node1Ancestor[PropertySymbol.parentNode]!;
1235
+ }
1236
+
1237
+ const reverseArrayIndex = (array: Node[], reverseIndex: number): Node => {
1238
+ return array[array.length - 1 - reverseIndex];
1239
+ };
1240
+
1241
+ const root = reverseArrayIndex(node2Ancestors, 0);
1242
+
1243
+ /**
1244
+ * 6. If node1 or node2 is null, or node1’s root is not node2’s root, then return the result of adding
1245
+ * DOCUMENT_POSITION_DISCONNECTED, DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC, and either
1246
+ * DOCUMENT_POSITION_PRECEDING or DOCUMENT_POSITION_FOLLOWING, with the constraint that this is to be consistent, together.
1247
+ */
1248
+ if (!root || root !== reverseArrayIndex(node1Ancestors, 0)) {
1249
+ return (
1250
+ Node.DOCUMENT_POSITION_DISCONNECTED |
1251
+ Node.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC |
1252
+ Node.DOCUMENT_POSITION_FOLLOWING
1253
+ );
1254
+ }
1255
+
1256
+ // Find the lowest common ancestor
1257
+ let commonAncestorIndex = 0;
1258
+ const ancestorsMinLength = Math.min(node2Ancestors.length, node1Ancestors.length);
1259
+
1260
+ for (let i = 0; i < ancestorsMinLength; ++i) {
1261
+ const node2Ancestor = reverseArrayIndex(node2Ancestors, i);
1262
+ const node1Ancestor = reverseArrayIndex(node1Ancestors, i);
1263
+
1264
+ if (node2Ancestor !== node1Ancestor) {
1265
+ break;
1266
+ }
1267
+
1268
+ commonAncestorIndex = i;
1269
+ }
1270
+
1271
+ const commonAncestor = reverseArrayIndex(node2Ancestors, commonAncestorIndex);
1272
+
1273
+ // Indexes within the common ancestor
1274
+ let indexes = 0;
1275
+ let node2Index = -1;
1276
+ let node1Index = -1;
1277
+ const node2Node = reverseArrayIndex(node2Ancestors, commonAncestorIndex + 1);
1278
+ const node1Node = reverseArrayIndex(node1Ancestors, commonAncestorIndex + 1);
1279
+
1280
+ const computeNodeIndexes = (nodes: Node[]): void => {
1281
+ for (const childNode of nodes) {
1282
+ computeNodeIndexes(childNode[PropertySymbol.nodeArray]);
1283
+
1284
+ if (childNode === node2Node) {
1285
+ node2Index = indexes;
1286
+ } else if (childNode === node1Node) {
1287
+ node1Index = indexes;
1288
+ }
1289
+
1290
+ if (node2Index !== -1 && node1Index !== -1) {
1291
+ break;
1292
+ }
1293
+
1294
+ indexes++;
1295
+ }
1296
+ };
1297
+
1298
+ computeNodeIndexes(commonAncestor[PropertySymbol.nodeArray]);
1299
+
1300
+ /**
1301
+ * 9. If node1 is preceding node2, then return DOCUMENT_POSITION_PRECEDING.
1302
+ * 10. Return DOCUMENT_POSITION_FOLLOWING.
1303
+ */
1304
+ return node1Index < node2Index
1305
+ ? Node.DOCUMENT_POSITION_PRECEDING
1306
+ : Node.DOCUMENT_POSITION_FOLLOWING;
1307
+ }
1308
+
1309
+ /**
1310
+ * Normalizes the sub-tree of the node, i.e. joins adjacent text nodes, and
1311
+ * removes all empty text nodes.
1312
+ *
1313
+ * @see https://developer.mozilla.org/en-US/docs/Web/API/Node/normalize
1314
+ */
1315
+ public normalize(): void {
1316
+ let child = this.firstChild;
1317
+ while (child) {
1318
+ if (NodeUtility.isTextNode(child)) {
1319
+ // Append text of all following text nodes, and remove them.
1320
+ while (NodeUtility.isTextNode(child.nextSibling)) {
1321
+ child.data += child.nextSibling.data;
1322
+ child.nextSibling.remove();
1323
+ }
1324
+ // Remove text node if it is still empty.
1325
+ if (!child.data.length) {
1326
+ const node = child;
1327
+ child = child.nextSibling;
1328
+ node.remove();
1329
+ continue;
1330
+ }
1331
+ } else {
1332
+ // Normalize child nodes recursively.
1333
+ child.normalize();
1334
+ }
1335
+ child = child.nextSibling;
1336
+ }
1337
+ }
1338
+
1339
+ /**
1340
+ * Determines whether the given node is equal to the current node.
1341
+ *
1342
+ * @see https://developer.mozilla.org/en-US/docs/Web/API/Node/isSameNode
1343
+ * @param node Node to check.
1344
+ * @returns True if the given node is equal to the current node, otherwise false.
1345
+ */
1346
+ public isSameNode(node: Node): boolean {
1347
+ return this === node;
1348
+ }
1349
+ }
1350
+
1351
+ // According to the spec, these properties should be on the prototype.
1352
+ (<NodeTypeEnum>Node.prototype.ELEMENT_NODE) = NodeTypeEnum.elementNode;
1353
+ (<NodeTypeEnum>Node.prototype.ATTRIBUTE_NODE) = NodeTypeEnum.attributeNode;
1354
+
1355
+ (<NodeTypeEnum>Node.prototype.TEXT_NODE) = NodeTypeEnum.textNode;
1356
+ (<NodeTypeEnum>Node.prototype.CDATA_SECTION_NODE) = NodeTypeEnum.cdataSectionNode;
1357
+ (<NodeTypeEnum>Node.prototype.COMMENT_NODE) = NodeTypeEnum.commentNode;
1358
+ (<NodeTypeEnum>Node.prototype.DOCUMENT_NODE) = NodeTypeEnum.documentNode;
1359
+ (<NodeTypeEnum>Node.prototype.DOCUMENT_TYPE_NODE) = NodeTypeEnum.documentTypeNode;
1360
+ (<NodeTypeEnum>Node.prototype.DOCUMENT_FRAGMENT_NODE) = NodeTypeEnum.documentFragmentNode;
1361
+ (<NodeTypeEnum>Node.prototype.PROCESSING_INSTRUCTION_NODE) = NodeTypeEnum.processingInstructionNode;
1362
+ (<NodeDocumentPositionEnum>Node.prototype.DOCUMENT_POSITION_CONTAINED_BY) =
1363
+ NodeDocumentPositionEnum.containedBy;
1364
+ (<NodeDocumentPositionEnum>Node.prototype.DOCUMENT_POSITION_CONTAINS) =
1365
+ NodeDocumentPositionEnum.contains;
1366
+ (<NodeDocumentPositionEnum>Node.prototype.DOCUMENT_POSITION_DISCONNECTED) =
1367
+ NodeDocumentPositionEnum.disconnect;
1368
+ (<NodeDocumentPositionEnum>Node.prototype.DOCUMENT_POSITION_FOLLOWING) =
1369
+ NodeDocumentPositionEnum.following;
1370
+ (<NodeDocumentPositionEnum>Node.prototype.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC) =
1371
+ NodeDocumentPositionEnum.implementationSpecific;
1372
+ (<NodeDocumentPositionEnum>Node.prototype.DOCUMENT_POSITION_PRECEDING) =
1373
+ NodeDocumentPositionEnum.preceding;