vasuzex 2.0.13 → 2.0.15

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 (611) hide show
  1. package/NPM_LINK_TEST_RESULTS.md +215 -0
  2. package/PRODUCTION_FIXES_V2.0.15.md +357 -0
  3. package/bin/create-vasuzex.js +44 -5
  4. package/database/index.js +5 -5
  5. package/database/models/User.js +15 -0
  6. package/database/package.json +10 -0
  7. package/framework/Console/Commands/generate-app.js +17 -19
  8. package/framework/Console/Commands/utils/databasePackageTemplate.js +20 -0
  9. package/framework/Console/Commands/utils/fileOperations.js +14 -0
  10. package/framework/Console/Commands/utils/index.js +4 -7
  11. package/framework/Console/Commands/utils/packageManager.js +20 -6
  12. package/framework/Console/Commands/utils/plopGenerator.js +113 -0
  13. package/framework/Console/Commands/utils/templateGenerator.js +0 -8
  14. package/framework/Console/config/generator.config.js +142 -0
  15. package/framework/Console/plopfile.js +142 -0
  16. package/{apps/pilot-test/api → framework/Console}/src/app.js +5 -13
  17. package/framework/Console/src/config/database.js +53 -0
  18. package/framework/Console/src/helpers/env.js +8 -0
  19. package/{apps/pilot-test/api → framework/Console}/src/index.js +11 -11
  20. package/{apps/pilot-test/api → framework/Console}/src/middleware/authMiddleware.js +1 -1
  21. package/framework/Console/src/routes/index.js +16 -0
  22. package/{apps/pilot-test/api → framework/Console}/src/services/AuthService.js +1 -1
  23. package/framework/Console/templates/api/app.js.hbs +59 -0
  24. package/framework/Console/templates/api/config/database.js.hbs +53 -0
  25. package/framework/Console/templates/api/controllers/AuthController.js.hbs +90 -0
  26. package/framework/Console/templates/api/controllers/BaseController.js.hbs +25 -0
  27. package/framework/Console/templates/api/helpers/env.js.hbs +8 -0
  28. package/framework/Console/templates/api/middleware/authMiddleware.js.hbs +48 -0
  29. package/framework/Console/templates/api/middleware/errorHandler.js.hbs +30 -0
  30. package/framework/Console/templates/api/requests/AuthRequests.js.hbs +16 -0
  31. package/framework/Console/templates/api/routes/auth.js.hbs +20 -0
  32. package/framework/Console/templates/api/routes/index.js.hbs +16 -0
  33. package/framework/Console/templates/api/server.js.hbs +127 -0
  34. package/framework/Console/templates/api/services/AuthService.js.hbs +95 -0
  35. package/framework/Database/Model.js +58 -4
  36. package/framework/Foundation/BaseApp.js +42 -1
  37. package/framework/package.json +3 -0
  38. package/framework/vasuzex-framework-core-1.0.0.tgz +0 -0
  39. package/frontend/react-ui/node_modules/@esbuild/darwin-x64/README.md +3 -0
  40. package/frontend/react-ui/node_modules/@esbuild/darwin-x64/bin/esbuild +0 -0
  41. package/frontend/react-ui/node_modules/@esbuild/darwin-x64/package.json +20 -0
  42. package/frontend/react-ui/node_modules/esbuild/LICENSE.md +21 -0
  43. package/frontend/react-ui/node_modules/esbuild/README.md +3 -0
  44. package/frontend/react-ui/node_modules/esbuild/bin/esbuild +223 -0
  45. package/frontend/react-ui/node_modules/esbuild/install.js +289 -0
  46. package/frontend/react-ui/node_modules/esbuild/lib/main.d.ts +716 -0
  47. package/frontend/react-ui/node_modules/esbuild/lib/main.js +2242 -0
  48. package/frontend/react-ui/node_modules/esbuild/package.json +49 -0
  49. package/frontend/react-ui/node_modules/jsdom/LICENSE.txt +22 -0
  50. package/frontend/react-ui/node_modules/jsdom/README.md +521 -0
  51. package/frontend/react-ui/node_modules/jsdom/lib/api.js +334 -0
  52. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/browser/Window.js +1012 -0
  53. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/browser/default-stylesheet.js +789 -0
  54. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/browser/js-globals.json +312 -0
  55. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/browser/not-implemented.js +13 -0
  56. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/browser/parser/html.js +208 -0
  57. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/browser/parser/index.js +37 -0
  58. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/browser/parser/xml.js +202 -0
  59. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/browser/resources/async-resource-queue.js +114 -0
  60. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/browser/resources/no-op-resource-loader.js +8 -0
  61. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/browser/resources/per-document-resource-loader.js +98 -0
  62. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/browser/resources/request-manager.js +33 -0
  63. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/browser/resources/resource-loader.js +142 -0
  64. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/browser/resources/resource-queue.js +142 -0
  65. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/level2/style.js +57 -0
  66. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/level3/xpath.js +1875 -0
  67. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/aborting/AbortController-impl.js +17 -0
  68. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/aborting/AbortSignal-impl.js +84 -0
  69. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/attributes/Attr-impl.js +60 -0
  70. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/attributes/NamedNodeMap-impl.js +78 -0
  71. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/attributes.js +312 -0
  72. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/constraint-validation/DefaultConstraintValidation-impl.js +75 -0
  73. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/constraint-validation/ValidityState-impl.js +66 -0
  74. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/crypto/Crypto-impl.js +68 -0
  75. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/cssom/StyleSheetList-impl.js +38 -0
  76. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/custom-elements/CustomElementRegistry-impl.js +268 -0
  77. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/custom-elements/ElementInternals-impl.js +38 -0
  78. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/documents.js +15 -0
  79. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/domparsing/DOMParser-impl.js +59 -0
  80. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/domparsing/InnerHTML-impl.js +30 -0
  81. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/domparsing/XMLSerializer-impl.js +18 -0
  82. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/domparsing/parse5-adapter-serialization.js +63 -0
  83. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/domparsing/serialization.js +36 -0
  84. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/events/CloseEvent-impl.js +10 -0
  85. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/events/CompositionEvent-impl.js +20 -0
  86. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/events/CustomEvent-impl.js +21 -0
  87. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/events/ErrorEvent-impl.js +14 -0
  88. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/events/Event-impl.js +197 -0
  89. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/events/EventModifierMixin-impl.js +24 -0
  90. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js +419 -0
  91. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/events/FocusEvent-impl.js +9 -0
  92. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/events/HashChangeEvent-impl.js +14 -0
  93. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/events/InputEvent-impl.js +11 -0
  94. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/events/KeyboardEvent-impl.js +29 -0
  95. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/events/MessageEvent-impl.js +25 -0
  96. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/events/MouseEvent-impl.js +72 -0
  97. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/events/PageTransitionEvent-impl.js +20 -0
  98. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/events/PopStateEvent-impl.js +9 -0
  99. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/events/ProgressEvent-impl.js +14 -0
  100. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/events/StorageEvent-impl.js +26 -0
  101. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/events/SubmitEvent-impl.js +13 -0
  102. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/events/TouchEvent-impl.js +14 -0
  103. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/events/UIEvent-impl.js +59 -0
  104. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/events/WheelEvent-impl.js +12 -0
  105. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/fetch/Headers-impl.js +172 -0
  106. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/fetch/header-list.js +65 -0
  107. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/fetch/header-types.js +103 -0
  108. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/file-api/Blob-impl.js +93 -0
  109. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/file-api/File-impl.js +12 -0
  110. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/file-api/FileList-impl.js +15 -0
  111. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/file-api/FileReader-impl.js +130 -0
  112. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/AbortController.js +143 -0
  113. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/AbortSignal.js +215 -0
  114. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/AbstractRange.js +171 -0
  115. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/AddEventListenerOptions.js +55 -0
  116. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/AssignedNodesOptions.js +28 -0
  117. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/Attr.js +217 -0
  118. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/BarProp.js +117 -0
  119. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/BinaryType.js +12 -0
  120. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/Blob.js +203 -0
  121. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/BlobCallback.js +30 -0
  122. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/BlobPropertyBag.js +42 -0
  123. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/CDATASection.js +109 -0
  124. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/CanPlayTypeResult.js +12 -0
  125. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/CharacterData.js +453 -0
  126. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/CloseEvent.js +168 -0
  127. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/CloseEventInit.js +65 -0
  128. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/Comment.js +120 -0
  129. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/CompositionEvent.js +219 -0
  130. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/CompositionEventInit.js +32 -0
  131. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/Crypto.js +144 -0
  132. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/CustomElementConstructor.js +34 -0
  133. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/CustomElementRegistry.js +242 -0
  134. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/CustomEvent.js +206 -0
  135. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/CustomEventInit.js +32 -0
  136. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/DOMException.js +222 -0
  137. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/DOMImplementation.js +237 -0
  138. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/DOMParser.js +140 -0
  139. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/DOMRect.js +276 -0
  140. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/DOMRectInit.js +76 -0
  141. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/DOMRectReadOnly.js +285 -0
  142. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/DOMStringMap.js +323 -0
  143. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/DOMTokenList.js +563 -0
  144. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/Document.js +4157 -0
  145. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/DocumentFragment.js +334 -0
  146. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/DocumentReadyState.js +12 -0
  147. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/DocumentType.js +252 -0
  148. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/Element.js +3718 -0
  149. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/ElementCreationOptions.js +26 -0
  150. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/ElementDefinitionOptions.js +29 -0
  151. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/ElementInternals.js +2137 -0
  152. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/EndingType.js +12 -0
  153. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/ErrorEvent.js +192 -0
  154. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/ErrorEventInit.js +92 -0
  155. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/Event.js +430 -0
  156. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/EventHandlerNonNull.js +36 -0
  157. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/EventInit.js +58 -0
  158. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/EventListener.js +35 -0
  159. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/EventListenerOptions.js +28 -0
  160. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/EventModifierInit.js +221 -0
  161. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js +259 -0
  162. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/External.js +130 -0
  163. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/File.js +177 -0
  164. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/FileList.js +324 -0
  165. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/FilePropertyBag.js +33 -0
  166. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/FileReader.js +468 -0
  167. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/FocusEvent.js +144 -0
  168. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/FocusEventInit.js +36 -0
  169. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/FormData.js +468 -0
  170. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/Function.js +42 -0
  171. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/GetRootNodeOptions.js +31 -0
  172. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLAnchorElement.js +1023 -0
  173. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLAreaElement.js +822 -0
  174. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLAudioElement.js +110 -0
  175. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLBRElement.js +153 -0
  176. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLBaseElement.js +193 -0
  177. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLBodyElement.js +877 -0
  178. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLButtonElement.js +522 -0
  179. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLCanvasElement.js +304 -0
  180. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLCollection.js +378 -0
  181. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLDListElement.js +156 -0
  182. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLDataElement.js +153 -0
  183. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLDataListElement.js +125 -0
  184. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLDetailsElement.js +156 -0
  185. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLDialogElement.js +156 -0
  186. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLDirectoryElement.js +156 -0
  187. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLDivElement.js +153 -0
  188. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLElement.js +3137 -0
  189. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLEmbedElement.js +371 -0
  190. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLFieldSetElement.js +329 -0
  191. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLFontElement.js +236 -0
  192. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLFormControlsCollection.js +344 -0
  193. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLFormElement.js +501 -0
  194. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLFrameElement.js +494 -0
  195. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLFrameSetElement.js +708 -0
  196. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLHRElement.js +320 -0
  197. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLHeadElement.js +110 -0
  198. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLHeadingElement.js +153 -0
  199. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLHtmlElement.js +153 -0
  200. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLIFrameElement.js +670 -0
  201. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLImageElement.js +877 -0
  202. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLInputElement.js +1920 -0
  203. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLLIElement.js +201 -0
  204. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLLabelElement.js +179 -0
  205. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLLegendElement.js +166 -0
  206. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLLinkElement.js +545 -0
  207. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLMapElement.js +168 -0
  208. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLMarqueeElement.js +554 -0
  209. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLMediaElement.js +891 -0
  210. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLMenuElement.js +156 -0
  211. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLMetaElement.js +276 -0
  212. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLMeterElement.js +365 -0
  213. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLModElement.js +207 -0
  214. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLOListElement.js +281 -0
  215. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLObjectElement.js +925 -0
  216. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLOptGroupElement.js +197 -0
  217. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLOptionElement.js +376 -0
  218. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLOptionsCollection.js +537 -0
  219. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLOutputElement.js +392 -0
  220. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLParagraphElement.js +153 -0
  221. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLParamElement.js +276 -0
  222. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLPictureElement.js +110 -0
  223. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLPreElement.js +160 -0
  224. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLProgressElement.js +228 -0
  225. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLQuoteElement.js +166 -0
  226. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLScriptElement.js +462 -0
  227. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLSelectElement.js +1015 -0
  228. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLSlotElement.js +192 -0
  229. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLSourceElement.js +330 -0
  230. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLSpanElement.js +110 -0
  231. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLStyleElement.js +207 -0
  232. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLTableCaptionElement.js +153 -0
  233. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLTableCellElement.js +729 -0
  234. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLTableColElement.js +372 -0
  235. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLTableElement.js +799 -0
  236. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLTableRowElement.js +414 -0
  237. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLTableSectionElement.js +346 -0
  238. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLTemplateElement.js +123 -0
  239. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLTextAreaElement.js +1206 -0
  240. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLTimeElement.js +153 -0
  241. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLTitleElement.js +152 -0
  242. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLTrackElement.js +356 -0
  243. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLUListElement.js +197 -0
  244. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLUnknownElement.js +109 -0
  245. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HTMLVideoElement.js +333 -0
  246. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HashChangeEvent.js +157 -0
  247. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/HashChangeEventInit.js +50 -0
  248. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/Headers.js +418 -0
  249. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/History.js +266 -0
  250. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/InputEvent.js +168 -0
  251. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/InputEventInit.js +68 -0
  252. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/KeyboardEvent.js +445 -0
  253. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/KeyboardEventInit.js +116 -0
  254. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/Location.js +404 -0
  255. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/MessageEvent.js +317 -0
  256. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/MessageEventInit.js +100 -0
  257. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/MimeType.js +156 -0
  258. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/MimeTypeArray.js +352 -0
  259. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/MouseEvent.js +569 -0
  260. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/MouseEventInit.js +159 -0
  261. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/MutationCallback.js +34 -0
  262. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/MutationObserver.js +178 -0
  263. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/MutationObserverInit.js +121 -0
  264. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/MutationRecord.js +229 -0
  265. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/NamedNodeMap.js +553 -0
  266. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/Navigator.js +326 -0
  267. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/Node.js +763 -0
  268. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/NodeFilter.js +75 -0
  269. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/NodeIterator.js +207 -0
  270. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/NodeList.js +328 -0
  271. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/OnBeforeUnloadEventHandlerNonNull.js +42 -0
  272. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/OnErrorEventHandlerNonNull.js +56 -0
  273. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/PageTransitionEvent.js +144 -0
  274. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/PageTransitionEventInit.js +35 -0
  275. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/Performance.js +142 -0
  276. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/Plugin.js +385 -0
  277. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/PluginArray.js +362 -0
  278. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/PopStateEvent.js +144 -0
  279. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/PopStateEventInit.js +32 -0
  280. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/ProcessingInstruction.js +122 -0
  281. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/ProgressEvent.js +170 -0
  282. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/ProgressEventInit.js +65 -0
  283. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/RadioNodeList.js +322 -0
  284. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/Range.js +641 -0
  285. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/SVGAnimatedString.js +149 -0
  286. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/SVGBoundingBoxOptions.js +64 -0
  287. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/SVGElement.js +2799 -0
  288. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/SVGGraphicsElement.js +139 -0
  289. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/SVGNumber.js +132 -0
  290. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/SVGSVGElement.js +737 -0
  291. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/SVGStringList.js +537 -0
  292. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/SVGTitleElement.js +109 -0
  293. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/Screen.js +180 -0
  294. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/ScrollBehavior.js +12 -0
  295. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/ScrollIntoViewOptions.js +45 -0
  296. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/ScrollLogicalPosition.js +14 -0
  297. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/ScrollOptions.js +30 -0
  298. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/ScrollRestoration.js +12 -0
  299. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/Selection.js +569 -0
  300. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/SelectionMode.js +12 -0
  301. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/ShadowRoot.js +187 -0
  302. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/ShadowRootInit.js +30 -0
  303. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/ShadowRootMode.js +12 -0
  304. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/StaticRange.js +123 -0
  305. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/StaticRangeInit.js +72 -0
  306. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/Storage.js +423 -0
  307. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/StorageEvent.js +318 -0
  308. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/StorageEventInit.js +99 -0
  309. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/StyleSheetList.js +326 -0
  310. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/SubmitEvent.js +144 -0
  311. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/SubmitEventInit.js +36 -0
  312. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/SupportedType.js +18 -0
  313. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/Text.js +170 -0
  314. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/TextTrackKind.js +12 -0
  315. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/TouchEvent.js +222 -0
  316. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/TouchEventInit.js +89 -0
  317. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/TreeWalker.js +255 -0
  318. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/UIEvent.js +235 -0
  319. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/UIEventInit.js +62 -0
  320. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/ValidityState.js +249 -0
  321. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/VisibilityState.js +12 -0
  322. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/VoidFunction.js +26 -0
  323. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/WebSocket.js +476 -0
  324. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/WheelEvent.js +191 -0
  325. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/WheelEventInit.js +71 -0
  326. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/XMLDocument.js +109 -0
  327. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/XMLHttpRequest.js +655 -0
  328. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/XMLHttpRequestEventTarget.js +334 -0
  329. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/XMLHttpRequestResponseType.js +14 -0
  330. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/XMLHttpRequestUpload.js +109 -0
  331. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/XMLSerializer.js +132 -0
  332. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/generated/utils.js +190 -0
  333. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/geometry/DOMRect-impl.js +39 -0
  334. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/geometry/DOMRectReadOnly-impl.js +72 -0
  335. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/helpers/agent-factory.js +13 -0
  336. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/helpers/binary-data.js +9 -0
  337. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/helpers/colors.js +245 -0
  338. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/helpers/create-element.js +323 -0
  339. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/helpers/create-event-accessor.js +188 -0
  340. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/helpers/custom-elements.js +272 -0
  341. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/helpers/dates-and-times.js +270 -0
  342. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/helpers/details.js +15 -0
  343. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/helpers/document-base-url.js +54 -0
  344. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/helpers/events.js +24 -0
  345. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/helpers/focusing.js +104 -0
  346. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/helpers/form-controls.js +306 -0
  347. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/helpers/html-constructor.js +78 -0
  348. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/helpers/http-request.js +261 -0
  349. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/helpers/internal-constants.js +12 -0
  350. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/helpers/iterable-weak-set.js +48 -0
  351. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/helpers/json.js +12 -0
  352. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/helpers/mutation-observers.js +198 -0
  353. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/helpers/namespaces.js +15 -0
  354. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/helpers/node.js +68 -0
  355. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/helpers/number-and-date-inputs.js +195 -0
  356. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/helpers/ordered-set.js +104 -0
  357. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/helpers/page-transition-event.js +9 -0
  358. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js +76 -0
  359. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/helpers/selectors.js +47 -0
  360. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/helpers/shadow-dom.js +285 -0
  361. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/helpers/strings.js +148 -0
  362. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/helpers/style-rules.js +243 -0
  363. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/helpers/stylesheets.js +123 -0
  364. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/helpers/svg/basic-types.js +41 -0
  365. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/helpers/svg/render.js +46 -0
  366. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/helpers/text.js +19 -0
  367. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/helpers/traversal.js +72 -0
  368. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/helpers/validate-names.js +65 -0
  369. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/hr-time/Performance-impl.js +22 -0
  370. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/interfaces.js +228 -0
  371. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/mutation-observer/MutationObserver-impl.js +95 -0
  372. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/mutation-observer/MutationRecord-impl.js +37 -0
  373. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/named-properties-window.js +141 -0
  374. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/navigator/MimeType-impl.js +3 -0
  375. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/navigator/MimeTypeArray-impl.js +21 -0
  376. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/navigator/Navigator-impl.js +29 -0
  377. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/navigator/NavigatorConcurrentHardware-impl.js +8 -0
  378. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/navigator/NavigatorCookies-impl.js +7 -0
  379. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/navigator/NavigatorID-impl.js +37 -0
  380. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/navigator/NavigatorLanguage-impl.js +9 -0
  381. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/navigator/NavigatorOnLine-impl.js +7 -0
  382. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/navigator/NavigatorPlugins-impl.js +8 -0
  383. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/navigator/Plugin-impl.js +3 -0
  384. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/navigator/PluginArray-impl.js +23 -0
  385. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/node-document-position.js +10 -0
  386. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/node-type.js +16 -0
  387. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/node.js +331 -0
  388. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/CDATASection-impl.js +16 -0
  389. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/CharacterData-impl.js +118 -0
  390. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/ChildNode-impl.js +80 -0
  391. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/Comment-impl.js +20 -0
  392. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/DOMImplementation-impl.js +120 -0
  393. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/DOMStringMap-impl.js +64 -0
  394. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/DOMTokenList-impl.js +171 -0
  395. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/Document-impl.js +935 -0
  396. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/DocumentFragment-impl.js +44 -0
  397. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/DocumentOrShadowRoot-impl.js +28 -0
  398. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/DocumentType-impl.js +24 -0
  399. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/Element-impl.js +599 -0
  400. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/ElementCSSInlineStyle-impl.js +22 -0
  401. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/ElementContentEditable-impl.js +7 -0
  402. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/GlobalEventHandlers-impl.js +145 -0
  403. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLAnchorElement-impl.js +50 -0
  404. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLAreaElement-impl.js +43 -0
  405. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLAudioElement-impl.js +9 -0
  406. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLBRElement-impl.js +9 -0
  407. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLBaseElement-impl.js +27 -0
  408. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLBodyElement-impl.js +17 -0
  409. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLButtonElement-impl.js +79 -0
  410. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLCanvasElement-impl.js +130 -0
  411. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLCollection-impl.js +96 -0
  412. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLDListElement-impl.js +9 -0
  413. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLDataElement-impl.js +9 -0
  414. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLDataListElement-impl.js +20 -0
  415. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLDetailsElement-impl.js +35 -0
  416. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLDialogElement-impl.js +9 -0
  417. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLDirectoryElement-impl.js +9 -0
  418. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLDivElement-impl.js +9 -0
  419. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLElement-impl.js +210 -0
  420. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLEmbedElement-impl.js +8 -0
  421. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLFieldSetElement-impl.js +43 -0
  422. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLFontElement-impl.js +9 -0
  423. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLFormControlsCollection-impl.js +33 -0
  424. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLFormElement-impl.js +240 -0
  425. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLFrameElement-impl.js +261 -0
  426. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLFrameSetElement-impl.js +17 -0
  427. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLHRElement-impl.js +9 -0
  428. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLHeadElement-impl.js +9 -0
  429. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLHeadingElement-impl.js +9 -0
  430. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLHtmlElement-impl.js +9 -0
  431. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLHyperlinkElementUtils-impl.js +367 -0
  432. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLIFrameElement-impl.js +9 -0
  433. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLImageElement-impl.js +132 -0
  434. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLInputElement-impl.js +1097 -0
  435. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLLIElement-impl.js +9 -0
  436. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLLabelElement-impl.js +94 -0
  437. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLLegendElement-impl.js +18 -0
  438. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLLinkElement-impl.js +108 -0
  439. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLMapElement-impl.js +13 -0
  440. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLMarqueeElement-impl.js +9 -0
  441. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLMediaElement-impl.js +138 -0
  442. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLMenuElement-impl.js +9 -0
  443. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLMetaElement-impl.js +9 -0
  444. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLMeterElement-impl.js +180 -0
  445. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLModElement-impl.js +9 -0
  446. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLOListElement-impl.js +22 -0
  447. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLObjectElement-impl.js +26 -0
  448. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLOptGroupElement-impl.js +9 -0
  449. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLOptionElement-impl.js +146 -0
  450. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLOptionsCollection-impl.js +110 -0
  451. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLOrSVGElement-impl.js +85 -0
  452. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLOutputElement-impl.js +88 -0
  453. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLParagraphElement-impl.js +9 -0
  454. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLParamElement-impl.js +9 -0
  455. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLPictureElement-impl.js +9 -0
  456. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLPreElement-impl.js +9 -0
  457. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLProgressElement-impl.js +72 -0
  458. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLQuoteElement-impl.js +9 -0
  459. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLScriptElement-impl.js +262 -0
  460. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLSelectElement-impl.js +283 -0
  461. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLSlotElement-impl.js +59 -0
  462. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLSourceElement-impl.js +8 -0
  463. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLSpanElement-impl.js +9 -0
  464. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLStyleElement-impl.js +74 -0
  465. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLTableCaptionElement-impl.js +9 -0
  466. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLTableCellElement-impl.js +73 -0
  467. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLTableColElement-impl.js +9 -0
  468. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLTableElement-impl.js +236 -0
  469. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLTableRowElement-impl.js +88 -0
  470. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLTableSectionElement-impl.js +61 -0
  471. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLTemplateElement-impl.js +67 -0
  472. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLTextAreaElement-impl.js +244 -0
  473. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLTimeElement-impl.js +9 -0
  474. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLTitleElement-impl.js +18 -0
  475. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLTrackElement-impl.js +13 -0
  476. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLUListElement-impl.js +9 -0
  477. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLUnknownElement-impl.js +9 -0
  478. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/HTMLVideoElement-impl.js +17 -0
  479. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/LinkStyle-impl.js +2 -0
  480. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/Node-impl.js +1161 -0
  481. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/NodeList-impl.js +43 -0
  482. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/NonDocumentTypeChildNode-impl.js +28 -0
  483. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/NonElementParentNode-impl.js +11 -0
  484. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/ParentNode-impl.js +91 -0
  485. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/ProcessingInstruction-impl.js +22 -0
  486. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/RadioNodeList-impl.js +49 -0
  487. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/SVGElement-impl.js +64 -0
  488. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/SVGGraphicsElement-impl.js +16 -0
  489. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/SVGSVGElement-impl.js +42 -0
  490. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/SVGTests-impl.js +42 -0
  491. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/SVGTitleElement-impl.js +9 -0
  492. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/ShadowRoot-impl.js +41 -0
  493. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/Slotable-impl.js +48 -0
  494. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/Text-impl.js +96 -0
  495. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/WindowEventHandlers-impl.js +52 -0
  496. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/nodes/XMLDocument-impl.js +4 -0
  497. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/range/AbstractRange-impl.js +43 -0
  498. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/range/Range-impl.js +897 -0
  499. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/range/StaticRange-impl.js +39 -0
  500. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/range/boundary-point.js +47 -0
  501. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/selection/Selection-impl.js +358 -0
  502. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/svg/SVGAnimatedString-impl.js +38 -0
  503. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/svg/SVGListBase.js +195 -0
  504. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/svg/SVGNumber-impl.js +48 -0
  505. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/svg/SVGStringList-impl.js +16 -0
  506. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/traversal/NodeIterator-impl.js +107 -0
  507. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/traversal/TreeWalker-impl.js +217 -0
  508. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/traversal/helpers.js +44 -0
  509. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/webidl/DOMException-impl.js +46 -0
  510. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/websockets/WebSocket-impl.js +328 -0
  511. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/webstorage/Storage-impl.js +102 -0
  512. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/window/BarProp-impl.js +10 -0
  513. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/window/External-impl.js +9 -0
  514. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/window/History-impl.js +148 -0
  515. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/window/Location-impl.js +228 -0
  516. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/window/Screen-impl.js +13 -0
  517. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/window/SessionHistory.js +163 -0
  518. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/window/navigation.js +85 -0
  519. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/xhr/FormData-impl.js +191 -0
  520. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/xhr/XMLHttpRequest-impl.js +1023 -0
  521. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/xhr/XMLHttpRequestEventTarget-impl.js +17 -0
  522. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/xhr/XMLHttpRequestUpload-impl.js +4 -0
  523. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/xhr/xhr-sync-worker.js +59 -0
  524. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/living/xhr/xhr-utils.js +441 -0
  525. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/named-properties-tracker.js +158 -0
  526. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/utils.js +105 -0
  527. package/frontend/react-ui/node_modules/jsdom/lib/jsdom/virtual-console.js +34 -0
  528. package/frontend/react-ui/node_modules/jsdom/package.json +92 -0
  529. package/frontend/react-ui/node_modules/rrweb-cssom/LICENSE.txt +20 -0
  530. package/frontend/react-ui/node_modules/rrweb-cssom/README.mdown +74 -0
  531. package/frontend/react-ui/node_modules/rrweb-cssom/build/CSSOM.js +1932 -0
  532. package/frontend/react-ui/node_modules/rrweb-cssom/lib/CSSConditionRule.js +25 -0
  533. package/frontend/react-ui/node_modules/rrweb-cssom/lib/CSSContainerRule.js +50 -0
  534. package/frontend/react-ui/node_modules/rrweb-cssom/lib/CSSDocumentRule.js +39 -0
  535. package/frontend/react-ui/node_modules/rrweb-cssom/lib/CSSFontFaceRule.js +36 -0
  536. package/frontend/react-ui/node_modules/rrweb-cssom/lib/CSSGroupingRule.js +69 -0
  537. package/frontend/react-ui/node_modules/rrweb-cssom/lib/CSSHostRule.js +37 -0
  538. package/frontend/react-ui/node_modules/rrweb-cssom/lib/CSSImportRule.js +132 -0
  539. package/frontend/react-ui/node_modules/rrweb-cssom/lib/CSSKeyframeRule.js +37 -0
  540. package/frontend/react-ui/node_modules/rrweb-cssom/lib/CSSKeyframesRule.js +39 -0
  541. package/frontend/react-ui/node_modules/rrweb-cssom/lib/CSSMediaRule.js +53 -0
  542. package/frontend/react-ui/node_modules/rrweb-cssom/lib/CSSOM.js +3 -0
  543. package/frontend/react-ui/node_modules/rrweb-cssom/lib/CSSRule.js +45 -0
  544. package/frontend/react-ui/node_modules/rrweb-cssom/lib/CSSStartingStyleRule.js +37 -0
  545. package/frontend/react-ui/node_modules/rrweb-cssom/lib/CSSStyleDeclaration.js +148 -0
  546. package/frontend/react-ui/node_modules/rrweb-cssom/lib/CSSStyleRule.js +190 -0
  547. package/frontend/react-ui/node_modules/rrweb-cssom/lib/CSSStyleSheet.js +88 -0
  548. package/frontend/react-ui/node_modules/rrweb-cssom/lib/CSSSupportsRule.js +36 -0
  549. package/frontend/react-ui/node_modules/rrweb-cssom/lib/CSSValue.js +43 -0
  550. package/frontend/react-ui/node_modules/rrweb-cssom/lib/CSSValueExpression.js +344 -0
  551. package/frontend/react-ui/node_modules/rrweb-cssom/lib/MatcherList.js +62 -0
  552. package/frontend/react-ui/node_modules/rrweb-cssom/lib/MediaList.js +61 -0
  553. package/frontend/react-ui/node_modules/rrweb-cssom/lib/StyleSheet.js +17 -0
  554. package/frontend/react-ui/node_modules/rrweb-cssom/lib/clone.js +75 -0
  555. package/frontend/react-ui/node_modules/rrweb-cssom/lib/index.js +25 -0
  556. package/frontend/react-ui/node_modules/rrweb-cssom/lib/parse.js +504 -0
  557. package/frontend/react-ui/node_modules/rrweb-cssom/package.json +27 -0
  558. package/frontend/react-ui/node_modules/vite/LICENSE.md +2406 -0
  559. package/frontend/react-ui/node_modules/vite/README.md +20 -0
  560. package/frontend/react-ui/node_modules/vite/bin/openChrome.applescript +95 -0
  561. package/frontend/react-ui/node_modules/vite/bin/vite.js +79 -0
  562. package/frontend/react-ui/node_modules/vite/client.d.ts +279 -0
  563. package/frontend/react-ui/node_modules/vite/dist/client/client.mjs +1134 -0
  564. package/frontend/react-ui/node_modules/vite/dist/client/env.mjs +24 -0
  565. package/frontend/react-ui/node_modules/vite/dist/node/chunks/dep-3RmXg9uo.js +553 -0
  566. package/frontend/react-ui/node_modules/vite/dist/node/chunks/dep-C9BXG1mU.js +822 -0
  567. package/frontend/react-ui/node_modules/vite/dist/node/chunks/dep-CvfTChi5.js +8218 -0
  568. package/frontend/react-ui/node_modules/vite/dist/node/chunks/dep-D4NMHUTW.js +49531 -0
  569. package/frontend/react-ui/node_modules/vite/dist/node/chunks/dep-DWMUTS1A.js +7113 -0
  570. package/frontend/react-ui/node_modules/vite/dist/node/cli.js +949 -0
  571. package/frontend/react-ui/node_modules/vite/dist/node/constants.js +149 -0
  572. package/frontend/react-ui/node_modules/vite/dist/node/index.d.ts +4222 -0
  573. package/frontend/react-ui/node_modules/vite/dist/node/index.js +194 -0
  574. package/frontend/react-ui/node_modules/vite/dist/node/module-runner.d.ts +290 -0
  575. package/frontend/react-ui/node_modules/vite/dist/node/module-runner.js +1311 -0
  576. package/frontend/react-ui/node_modules/vite/dist/node/moduleRunnerTransport.d-DJ_mE5sf.d.ts +87 -0
  577. package/frontend/react-ui/node_modules/vite/dist/node-cjs/publicUtils.cjs +3987 -0
  578. package/frontend/react-ui/node_modules/vite/index.cjs +96 -0
  579. package/frontend/react-ui/node_modules/vite/index.d.cts +6 -0
  580. package/frontend/react-ui/node_modules/vite/misc/false.js +1 -0
  581. package/frontend/react-ui/node_modules/vite/misc/true.js +1 -0
  582. package/frontend/react-ui/node_modules/vite/package.json +204 -0
  583. package/frontend/react-ui/node_modules/vite/types/customEvent.d.ts +45 -0
  584. package/frontend/react-ui/node_modules/vite/types/hmrPayload.d.ts +74 -0
  585. package/frontend/react-ui/node_modules/vite/types/hot.d.ts +39 -0
  586. package/frontend/react-ui/node_modules/vite/types/import-meta.d.ts +5 -0
  587. package/frontend/react-ui/node_modules/vite/types/importGlob.d.ts +75 -0
  588. package/frontend/react-ui/node_modules/vite/types/importMeta.d.ts +31 -0
  589. package/frontend/react-ui/node_modules/vite/types/internal/cssPreprocessorOptions.d.ts +63 -0
  590. package/frontend/react-ui/node_modules/vite/types/internal/lightningcssOptions.d.ts +18 -0
  591. package/frontend/react-ui/node_modules/vite/types/metadata.d.ts +35 -0
  592. package/frontend/react-ui/node_modules/vite/types/package.json +4 -0
  593. package/package.json +35 -29
  594. package/apps/pilot-test/api/.env.example +0 -8
  595. package/apps/pilot-test/api/README.md +0 -105
  596. package/apps/pilot-test/api/config/database.js +0 -27
  597. package/apps/pilot-test/api/database/migrations/2025_12_06_19_20_57_create_users_table.js +0 -21
  598. package/apps/pilot-test/api/database/seeders/UserSeeder.js +0 -30
  599. package/apps/pilot-test/api/package.json +0 -26
  600. package/apps/pilot-test/api/src/helpers/env.js +0 -8
  601. package/apps/pilot-test/api/src/models/User.js +0 -76
  602. package/apps/pilot-test/api/src/routes/index.js +0 -33
  603. package/apps/pilot-test/api/src/routes/post.routes.js +0 -25
  604. package/bin/create-vasuzex.js.backup +0 -699
  605. package/framework/Console/Commands/utils/apiStructure.js +0 -167
  606. package/framework/Console/Commands/utils/apiTemplates.js +0 -933
  607. /package/{apps/pilot-test/api → framework/Console}/src/controllers/AuthController.js +0 -0
  608. /package/{apps/pilot-test/api → framework/Console}/src/controllers/BaseController.js +0 -0
  609. /package/{apps/pilot-test/api → framework/Console}/src/middleware/errorHandler.js +0 -0
  610. /package/{apps/pilot-test/api → framework/Console}/src/requests/AuthRequests.js +0 -0
  611. /package/{apps/pilot-test/api/src/routes/auth.routes.js → framework/Console/src/routes/auth.js} +0 -0
@@ -0,0 +1,1161 @@
1
+ "use strict";
2
+
3
+ const DOMException = require("../generated/DOMException");
4
+
5
+ const EventTargetImpl = require("../events/EventTarget-impl").implementation;
6
+ const { simultaneousIterators } = require("../../utils");
7
+ const NODE_TYPE = require("../node-type");
8
+ const NODE_DOCUMENT_POSITION = require("../node-document-position");
9
+ const { clone, locateNamespacePrefix, locateNamespace } = require("../node");
10
+ const { setAnExistingAttributeValue } = require("../attributes");
11
+
12
+ const NodeList = require("../generated/NodeList");
13
+
14
+ const { nodeRoot, nodeLength, isInclusiveAncestor } = require("../helpers/node");
15
+ const { domSymbolTree } = require("../helpers/internal-constants");
16
+ const { documentBaseURLSerialized } = require("../helpers/document-base-url");
17
+ const { queueTreeMutationRecord } = require("../helpers/mutation-observers");
18
+ const { enqueueCECallbackReaction, tryUpgradeElement } = require("../helpers/custom-elements");
19
+ const {
20
+ isShadowRoot, shadowIncludingRoot, assignSlot, assignSlotableForTree, assignSlotable, signalSlotChange, isSlot,
21
+ shadowIncludingInclusiveDescendantsIterator, shadowIncludingDescendantsIterator
22
+ } = require("../helpers/shadow-dom");
23
+ const { invalidateStyleCache } = require("../helpers/style-rules");
24
+
25
+ function nodeEquals(a, b) {
26
+ if (a.nodeType !== b.nodeType) {
27
+ return false;
28
+ }
29
+
30
+ switch (a.nodeType) {
31
+ case NODE_TYPE.DOCUMENT_TYPE_NODE:
32
+ if (a.name !== b.name || a.publicId !== b.publicId ||
33
+ a.systemId !== b.systemId) {
34
+ return false;
35
+ }
36
+ break;
37
+ case NODE_TYPE.ELEMENT_NODE:
38
+ if (a._namespaceURI !== b._namespaceURI || a._prefix !== b._prefix || a._localName !== b._localName ||
39
+ a._attributes.length !== b._attributes.length) {
40
+ return false;
41
+ }
42
+ break;
43
+ case NODE_TYPE.ATTRIBUTE_NODE:
44
+ if (a._namespace !== b._namespace || a._localName !== b._localName || a._value !== b._value) {
45
+ return false;
46
+ }
47
+ break;
48
+ case NODE_TYPE.PROCESSING_INSTRUCTION_NODE:
49
+ if (a._target !== b._target || a._data !== b._data) {
50
+ return false;
51
+ }
52
+ break;
53
+ case NODE_TYPE.TEXT_NODE:
54
+ case NODE_TYPE.COMMENT_NODE:
55
+ if (a._data !== b._data) {
56
+ return false;
57
+ }
58
+ break;
59
+ }
60
+
61
+ if (a.nodeType === NODE_TYPE.ELEMENT_NODE && !attributeListsEqual(a, b)) {
62
+ return false;
63
+ }
64
+
65
+ for (const nodes of simultaneousIterators(domSymbolTree.childrenIterator(a), domSymbolTree.childrenIterator(b))) {
66
+ if (!nodes[0] || !nodes[1]) {
67
+ // mismatch in the amount of childNodes
68
+ return false;
69
+ }
70
+
71
+ if (!nodeEquals(nodes[0], nodes[1])) {
72
+ return false;
73
+ }
74
+ }
75
+
76
+ return true;
77
+ }
78
+
79
+ // Needed by https://dom.spec.whatwg.org/#concept-node-equals
80
+ function attributeListsEqual(elementA, elementB) {
81
+ const listA = elementA._attributeList;
82
+ const listB = elementB._attributeList;
83
+
84
+ const lengthA = listA.length;
85
+ const lengthB = listB.length;
86
+
87
+ if (lengthA !== lengthB) {
88
+ return false;
89
+ }
90
+
91
+ for (let i = 0; i < lengthA; ++i) {
92
+ const attrA = listA[i];
93
+
94
+ if (!listB.some(attrB => nodeEquals(attrA, attrB))) {
95
+ return false;
96
+ }
97
+ }
98
+
99
+ return true;
100
+ }
101
+
102
+ // https://dom.spec.whatwg.org/#concept-tree-host-including-inclusive-ancestor
103
+ function isHostInclusiveAncestor(nodeImplA, nodeImplB) {
104
+ for (const ancestor of domSymbolTree.ancestorsIterator(nodeImplB)) {
105
+ if (ancestor === nodeImplA) {
106
+ return true;
107
+ }
108
+ }
109
+
110
+ const rootImplB = nodeRoot(nodeImplB);
111
+ if (rootImplB._host) {
112
+ return isHostInclusiveAncestor(nodeImplA, rootImplB._host);
113
+ }
114
+
115
+ return false;
116
+ }
117
+
118
+ class NodeImpl extends EventTargetImpl {
119
+ constructor(globalObject, args, privateData) {
120
+ super(globalObject, args, privateData);
121
+
122
+ domSymbolTree.initialize(this);
123
+
124
+ this._ownerDocument = privateData.ownerDocument;
125
+
126
+ this._childNodesList = null;
127
+ this._childrenList = null;
128
+ this._version = 0;
129
+ this._memoizedQueries = {};
130
+ this._registeredObserverList = [];
131
+ this._referencedRanges = new Set();
132
+ }
133
+
134
+ _getTheParent() {
135
+ if (this._assignedSlot) {
136
+ return this._assignedSlot;
137
+ }
138
+
139
+ return domSymbolTree.parent(this);
140
+ }
141
+
142
+ get parentNode() {
143
+ return domSymbolTree.parent(this);
144
+ }
145
+
146
+ getRootNode(options) {
147
+ return options.composed ? shadowIncludingRoot(this) : nodeRoot(this);
148
+ }
149
+
150
+ get nodeName() {
151
+ switch (this.nodeType) {
152
+ case NODE_TYPE.ELEMENT_NODE:
153
+ return this.tagName;
154
+ case NODE_TYPE.ATTRIBUTE_NODE:
155
+ return this._qualifiedName;
156
+ case NODE_TYPE.TEXT_NODE:
157
+ return "#text";
158
+ case NODE_TYPE.CDATA_SECTION_NODE:
159
+ return "#cdata-section";
160
+ case NODE_TYPE.PROCESSING_INSTRUCTION_NODE:
161
+ return this.target;
162
+ case NODE_TYPE.COMMENT_NODE:
163
+ return "#comment";
164
+ case NODE_TYPE.DOCUMENT_NODE:
165
+ return "#document";
166
+ case NODE_TYPE.DOCUMENT_TYPE_NODE:
167
+ return this.name;
168
+ case NODE_TYPE.DOCUMENT_FRAGMENT_NODE:
169
+ return "#document-fragment";
170
+ }
171
+
172
+ // should never happen
173
+ return null;
174
+ }
175
+
176
+ get firstChild() {
177
+ return domSymbolTree.firstChild(this);
178
+ }
179
+
180
+ // https://dom.spec.whatwg.org/#connected
181
+ // https://dom.spec.whatwg.org/#dom-node-isconnected
182
+ get isConnected() {
183
+ const root = shadowIncludingRoot(this);
184
+ return root && root.nodeType === NODE_TYPE.DOCUMENT_NODE;
185
+ }
186
+
187
+ get ownerDocument() {
188
+ return this.nodeType === NODE_TYPE.DOCUMENT_NODE ? null : this._ownerDocument;
189
+ }
190
+
191
+ get lastChild() {
192
+ return domSymbolTree.lastChild(this);
193
+ }
194
+
195
+ get childNodes() {
196
+ if (!this._childNodesList) {
197
+ this._childNodesList = NodeList.createImpl(this._globalObject, [], {
198
+ element: this,
199
+ query: () => domSymbolTree.childrenToArray(this)
200
+ });
201
+ } else {
202
+ this._childNodesList._update();
203
+ }
204
+
205
+ return this._childNodesList;
206
+ }
207
+
208
+ get nextSibling() {
209
+ return domSymbolTree.nextSibling(this);
210
+ }
211
+
212
+ get previousSibling() {
213
+ return domSymbolTree.previousSibling(this);
214
+ }
215
+
216
+ _modified() {
217
+ this._version++;
218
+ for (const ancestor of domSymbolTree.ancestorsIterator(this)) {
219
+ ancestor._version++;
220
+ }
221
+
222
+ if (this._childrenList) {
223
+ this._childrenList._update();
224
+ }
225
+ if (this._childNodesList) {
226
+ this._childNodesList._update();
227
+ }
228
+ this._clearMemoizedQueries();
229
+ invalidateStyleCache(this);
230
+ }
231
+
232
+ _childTextContentChangeSteps() {
233
+ invalidateStyleCache(this);
234
+ }
235
+
236
+ _clearMemoizedQueries() {
237
+ this._memoizedQueries = {};
238
+ const myParent = domSymbolTree.parent(this);
239
+ if (myParent) {
240
+ myParent._clearMemoizedQueries();
241
+ }
242
+ }
243
+
244
+ _descendantRemoved(parent, child) {
245
+ const myParent = domSymbolTree.parent(this);
246
+ if (myParent) {
247
+ myParent._descendantRemoved(parent, child);
248
+ }
249
+ }
250
+
251
+ _descendantAdded(parent, child) {
252
+ const myParent = domSymbolTree.parent(this);
253
+ if (myParent) {
254
+ myParent._descendantAdded(parent, child);
255
+ }
256
+ }
257
+
258
+ _attach() {
259
+ this._attached = true;
260
+
261
+ for (const child of domSymbolTree.childrenIterator(this)) {
262
+ if (child._attach) {
263
+ child._attach();
264
+ }
265
+ }
266
+ }
267
+
268
+ _detach() {
269
+ this._attached = false;
270
+
271
+ if (this._ownerDocument && this._ownerDocument._lastFocusedElement === this) {
272
+ this._ownerDocument._lastFocusedElement = null;
273
+ }
274
+
275
+ for (const child of domSymbolTree.childrenIterator(this)) {
276
+ if (child._detach) {
277
+ child._detach();
278
+ }
279
+ }
280
+ }
281
+
282
+ hasChildNodes() {
283
+ return domSymbolTree.hasChildren(this);
284
+ }
285
+
286
+ // https://dom.spec.whatwg.org/#dom-node-normalize
287
+ normalize() {
288
+ // It is important to use a treeToArray instead of a treeToIterator here, because the
289
+ // treeToIterator doesn't support tree mutation in the middle of the traversal.
290
+ for (const node of domSymbolTree.treeToArray(this)) {
291
+ const parentNode = domSymbolTree.parent(node);
292
+ if (parentNode === null || node.nodeType !== NODE_TYPE.TEXT_NODE) {
293
+ continue;
294
+ }
295
+
296
+ let length = nodeLength(node);
297
+
298
+ if (length === 0) {
299
+ parentNode._remove(node);
300
+ continue;
301
+ }
302
+
303
+ const continuousExclusiveTextNodes = [];
304
+
305
+ for (const currentNode of domSymbolTree.previousSiblingsIterator(node)) {
306
+ if (currentNode.nodeType !== NODE_TYPE.TEXT_NODE) {
307
+ break;
308
+ }
309
+
310
+ continuousExclusiveTextNodes.unshift(currentNode);
311
+ }
312
+ for (const currentNode of domSymbolTree.nextSiblingsIterator(node)) {
313
+ if (currentNode.nodeType !== NODE_TYPE.TEXT_NODE) {
314
+ break;
315
+ }
316
+
317
+ continuousExclusiveTextNodes.push(currentNode);
318
+ }
319
+
320
+ const data = continuousExclusiveTextNodes.reduce((d, n) => d + n._data, "");
321
+ node.replaceData(length, 0, data);
322
+
323
+ let currentNode = domSymbolTree.nextSibling(node);
324
+ while (currentNode && currentNode.nodeType === NODE_TYPE.TEXT_NODE) {
325
+ const currentNodeIndex = domSymbolTree.index(currentNode);
326
+
327
+ for (const range of node._referencedRanges) {
328
+ const { _start, _end } = range;
329
+
330
+ if (_start.node === currentNode) {
331
+ range._setLiveRangeStart(node, _start.offset + length);
332
+ }
333
+ if (_end.node === currentNode) {
334
+ range._setLiveRangeEnd(node, _end.offset + length);
335
+ }
336
+ }
337
+
338
+ for (const range of parentNode._referencedRanges) {
339
+ const { _start, _end } = range;
340
+
341
+ if (_start.node === parentNode && _start.offset === currentNodeIndex) {
342
+ range._setLiveRangeStart(node, length);
343
+ }
344
+ if (_end.node === parentNode && _end.offset === currentNodeIndex) {
345
+ range._setLiveRangeEnd(node, length);
346
+ }
347
+ }
348
+
349
+ length += nodeLength(currentNode);
350
+ currentNode = domSymbolTree.nextSibling(currentNode);
351
+ }
352
+
353
+ for (const continuousExclusiveTextNode of continuousExclusiveTextNodes) {
354
+ parentNode._remove(continuousExclusiveTextNode);
355
+ }
356
+ }
357
+ }
358
+
359
+ get parentElement() {
360
+ const parentNode = domSymbolTree.parent(this);
361
+ return parentNode !== null && parentNode.nodeType === NODE_TYPE.ELEMENT_NODE ? parentNode : null;
362
+ }
363
+
364
+ get baseURI() {
365
+ return documentBaseURLSerialized(this._ownerDocument);
366
+ }
367
+
368
+ compareDocumentPosition(other) {
369
+ // Let node1 be other and node2 be the context object.
370
+ let node1 = other;
371
+ let node2 = this;
372
+
373
+ let attr1 = null;
374
+ let attr2 = null;
375
+
376
+ if (node1.nodeType === NODE_TYPE.ATTRIBUTE_NODE) {
377
+ attr1 = node1;
378
+ node1 = attr1._element;
379
+ }
380
+
381
+ if (node2.nodeType === NODE_TYPE.ATTRIBUTE_NODE) {
382
+ attr2 = node2;
383
+ node2 = attr2._element;
384
+
385
+ if (attr1 !== null && node1 !== null && node2 === node1) {
386
+ for (const attr of node2._attributeList) {
387
+ if (nodeEquals(attr, attr1)) {
388
+ return NODE_DOCUMENT_POSITION.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC |
389
+ NODE_DOCUMENT_POSITION.DOCUMENT_POSITION_PRECEDING;
390
+ }
391
+
392
+ if (nodeEquals(attr, attr2)) {
393
+ return NODE_DOCUMENT_POSITION.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC |
394
+ NODE_DOCUMENT_POSITION.DOCUMENT_POSITION_FOLLOWING;
395
+ }
396
+ }
397
+ }
398
+ }
399
+
400
+ const result = domSymbolTree.compareTreePosition(node2, node1);
401
+
402
+ // “If other and reference are not in the same tree, return the result of adding DOCUMENT_POSITION_DISCONNECTED,
403
+ // DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC, and either DOCUMENT_POSITION_PRECEDING or
404
+ // DOCUMENT_POSITION_FOLLOWING, with the constraint that this is to be consistent, together.”
405
+ if (result === NODE_DOCUMENT_POSITION.DOCUMENT_POSITION_DISCONNECTED) {
406
+ // symbol-tree does not add these bits required by the spec:
407
+ return NODE_DOCUMENT_POSITION.DOCUMENT_POSITION_DISCONNECTED |
408
+ NODE_DOCUMENT_POSITION.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC |
409
+ NODE_DOCUMENT_POSITION.DOCUMENT_POSITION_FOLLOWING;
410
+ }
411
+
412
+ return result;
413
+ }
414
+
415
+ lookupPrefix(namespace) {
416
+ if (namespace === null || namespace === "") {
417
+ return null;
418
+ }
419
+
420
+ switch (this.nodeType) {
421
+ case NODE_TYPE.ELEMENT_NODE: {
422
+ return locateNamespacePrefix(this, namespace);
423
+ }
424
+ case NODE_TYPE.DOCUMENT_NODE: {
425
+ return this.documentElement !== null ? locateNamespacePrefix(this.documentElement, namespace) : null;
426
+ }
427
+ case NODE_TYPE.DOCUMENT_TYPE_NODE:
428
+ case NODE_TYPE.DOCUMENT_FRAGMENT_NODE: {
429
+ return null;
430
+ }
431
+ case NODE_TYPE.ATTRIBUTE_NODE: {
432
+ return this._element !== null ? locateNamespacePrefix(this._element, namespace) : null;
433
+ }
434
+ default: {
435
+ return this.parentElement !== null ? locateNamespacePrefix(this.parentElement, namespace) : null;
436
+ }
437
+ }
438
+ }
439
+
440
+ lookupNamespaceURI(prefix) {
441
+ if (prefix === "") {
442
+ prefix = null;
443
+ }
444
+
445
+ return locateNamespace(this, prefix);
446
+ }
447
+
448
+ isDefaultNamespace(namespace) {
449
+ if (namespace === "") {
450
+ namespace = null;
451
+ }
452
+
453
+ const defaultNamespace = locateNamespace(this, null);
454
+ return defaultNamespace === namespace;
455
+ }
456
+
457
+ contains(other) {
458
+ return isInclusiveAncestor(this, other);
459
+ }
460
+
461
+ isEqualNode(node) {
462
+ if (node === null) {
463
+ return false;
464
+ }
465
+
466
+ // Fast-path, not in the spec
467
+ if (this === node) {
468
+ return true;
469
+ }
470
+
471
+ return nodeEquals(this, node);
472
+ }
473
+
474
+ isSameNode(node) {
475
+ if (this === node) {
476
+ return true;
477
+ }
478
+
479
+ return false;
480
+ }
481
+
482
+ cloneNode(deep) {
483
+ if (isShadowRoot(this)) {
484
+ throw DOMException.create(this._globalObject, ["ShadowRoot nodes are not clonable.", "NotSupportedError"]);
485
+ }
486
+
487
+ deep = Boolean(deep);
488
+
489
+ return clone(this, undefined, deep);
490
+ }
491
+
492
+ get nodeValue() {
493
+ switch (this.nodeType) {
494
+ case NODE_TYPE.ATTRIBUTE_NODE: {
495
+ return this._value;
496
+ }
497
+ case NODE_TYPE.TEXT_NODE:
498
+ case NODE_TYPE.CDATA_SECTION_NODE: // CDATASection is a subclass of Text
499
+ case NODE_TYPE.PROCESSING_INSTRUCTION_NODE:
500
+ case NODE_TYPE.COMMENT_NODE: {
501
+ return this._data;
502
+ }
503
+ default: {
504
+ return null;
505
+ }
506
+ }
507
+ }
508
+
509
+ set nodeValue(value) {
510
+ if (value === null) {
511
+ value = "";
512
+ }
513
+
514
+ switch (this.nodeType) {
515
+ case NODE_TYPE.ATTRIBUTE_NODE: {
516
+ setAnExistingAttributeValue(this, value);
517
+ break;
518
+ }
519
+ case NODE_TYPE.TEXT_NODE:
520
+ case NODE_TYPE.CDATA_SECTION_NODE: // CDATASection is a subclass of Text
521
+ case NODE_TYPE.PROCESSING_INSTRUCTION_NODE:
522
+ case NODE_TYPE.COMMENT_NODE: {
523
+ this.replaceData(0, this.length, value);
524
+ break;
525
+ }
526
+ }
527
+ }
528
+
529
+ // https://dom.spec.whatwg.org/#dom-node-textcontent
530
+ get textContent() {
531
+ switch (this.nodeType) {
532
+ case NODE_TYPE.DOCUMENT_FRAGMENT_NODE:
533
+ case NODE_TYPE.ELEMENT_NODE: {
534
+ let text = "";
535
+ for (const child of domSymbolTree.treeIterator(this)) {
536
+ if (child.nodeType === NODE_TYPE.TEXT_NODE || child.nodeType === NODE_TYPE.CDATA_SECTION_NODE) {
537
+ text += child.nodeValue;
538
+ }
539
+ }
540
+ return text;
541
+ }
542
+
543
+ case NODE_TYPE.ATTRIBUTE_NODE: {
544
+ return this._value;
545
+ }
546
+
547
+ case NODE_TYPE.TEXT_NODE:
548
+ case NODE_TYPE.CDATA_SECTION_NODE: // CDATASection is a subclass of Text
549
+ case NODE_TYPE.PROCESSING_INSTRUCTION_NODE:
550
+ case NODE_TYPE.COMMENT_NODE: {
551
+ return this._data;
552
+ }
553
+
554
+ default: {
555
+ return null;
556
+ }
557
+ }
558
+ }
559
+ set textContent(value) {
560
+ if (value === null) {
561
+ value = "";
562
+ }
563
+
564
+ switch (this.nodeType) {
565
+ case NODE_TYPE.DOCUMENT_FRAGMENT_NODE:
566
+ case NODE_TYPE.ELEMENT_NODE: {
567
+ // https://dom.spec.whatwg.org/#string-replace-all
568
+ let nodeImpl = null;
569
+
570
+ if (value !== "") {
571
+ nodeImpl = this._ownerDocument.createTextNode(value);
572
+ }
573
+
574
+ this._replaceAll(nodeImpl);
575
+ break;
576
+ }
577
+
578
+ case NODE_TYPE.ATTRIBUTE_NODE: {
579
+ setAnExistingAttributeValue(this, value);
580
+ break;
581
+ }
582
+
583
+ case NODE_TYPE.TEXT_NODE:
584
+ case NODE_TYPE.CDATA_SECTION_NODE: // CDATASection is a subclass of Text
585
+ case NODE_TYPE.PROCESSING_INSTRUCTION_NODE:
586
+ case NODE_TYPE.COMMENT_NODE: {
587
+ this.replaceData(0, this.length, value);
588
+ break;
589
+ }
590
+ }
591
+ }
592
+
593
+ // https://dom.spec.whatwg.org/#dom-node-insertbefore
594
+ insertBefore(nodeImpl, childImpl) {
595
+ return this._preInsert(nodeImpl, childImpl);
596
+ }
597
+
598
+ // https://dom.spec.whatwg.org/#dom-node-appendchild
599
+ appendChild(nodeImpl) {
600
+ return this._append(nodeImpl);
601
+ }
602
+
603
+ // https://dom.spec.whatwg.org/#dom-node-replacechild
604
+ replaceChild(nodeImpl, childImpl) {
605
+ return this._replace(nodeImpl, childImpl);
606
+ }
607
+
608
+ // https://dom.spec.whatwg.org/#dom-node-removechild
609
+ removeChild(oldChildImpl) {
610
+ return this._preRemove(oldChildImpl);
611
+ }
612
+
613
+ // https://dom.spec.whatwg.org/#concept-node-ensure-pre-insertion-validity
614
+ _preInsertValidity(nodeImpl, childImpl) {
615
+ const { nodeType, nodeName } = nodeImpl;
616
+ const { nodeType: parentType, nodeName: parentName } = this;
617
+
618
+ if (
619
+ parentType !== NODE_TYPE.DOCUMENT_NODE &&
620
+ parentType !== NODE_TYPE.DOCUMENT_FRAGMENT_NODE &&
621
+ parentType !== NODE_TYPE.ELEMENT_NODE
622
+ ) {
623
+ throw DOMException.create(this._globalObject, [
624
+ `Node can't be inserted in a ${parentName} parent.`,
625
+ "HierarchyRequestError"
626
+ ]);
627
+ }
628
+
629
+ if (isHostInclusiveAncestor(nodeImpl, this)) {
630
+ throw DOMException.create(this._globalObject, [
631
+ "The operation would yield an incorrect node tree.",
632
+ "HierarchyRequestError"
633
+ ]);
634
+ }
635
+
636
+ if (childImpl && domSymbolTree.parent(childImpl) !== this) {
637
+ throw DOMException.create(this._globalObject, [
638
+ "The child can not be found in the parent.",
639
+ "NotFoundError"
640
+ ]);
641
+ }
642
+
643
+ if (
644
+ nodeType !== NODE_TYPE.DOCUMENT_FRAGMENT_NODE &&
645
+ nodeType !== NODE_TYPE.DOCUMENT_TYPE_NODE &&
646
+ nodeType !== NODE_TYPE.ELEMENT_NODE &&
647
+ nodeType !== NODE_TYPE.TEXT_NODE &&
648
+ nodeType !== NODE_TYPE.CDATA_SECTION_NODE && // CData section extends from Text
649
+ nodeType !== NODE_TYPE.PROCESSING_INSTRUCTION_NODE &&
650
+ nodeType !== NODE_TYPE.COMMENT_NODE
651
+ ) {
652
+ throw DOMException.create(this._globalObject, [
653
+ `${nodeName} node can't be inserted in parent node.`,
654
+ "HierarchyRequestError"
655
+ ]);
656
+ }
657
+
658
+ if (
659
+ (nodeType === NODE_TYPE.TEXT_NODE && parentType === NODE_TYPE.DOCUMENT_NODE) ||
660
+ (nodeType === NODE_TYPE.DOCUMENT_TYPE_NODE && parentType !== NODE_TYPE.DOCUMENT_NODE)
661
+ ) {
662
+ throw DOMException.create(this._globalObject, [
663
+ `${nodeName} node can't be inserted in ${parentName} parent.`,
664
+ "HierarchyRequestError"
665
+ ]);
666
+ }
667
+
668
+ if (parentType === NODE_TYPE.DOCUMENT_NODE) {
669
+ const nodeChildren = domSymbolTree.childrenToArray(nodeImpl);
670
+ const parentChildren = domSymbolTree.childrenToArray(this);
671
+
672
+ switch (nodeType) {
673
+ case NODE_TYPE.DOCUMENT_FRAGMENT_NODE: {
674
+ const nodeChildrenElements = nodeChildren.filter(child => child.nodeType === NODE_TYPE.ELEMENT_NODE);
675
+ if (nodeChildrenElements.length > 1) {
676
+ throw DOMException.create(this._globalObject, [
677
+ `Invalid insertion of ${nodeName} node in ${parentName} node.`,
678
+ "HierarchyRequestError"
679
+ ]);
680
+ }
681
+
682
+ const hasNodeTextChildren = nodeChildren.some(child => child.nodeType === NODE_TYPE.TEXT_NODE);
683
+ if (hasNodeTextChildren) {
684
+ throw DOMException.create(this._globalObject, [
685
+ `Invalid insertion of ${nodeName} node in ${parentName} node.`,
686
+ "HierarchyRequestError"
687
+ ]);
688
+ }
689
+
690
+ if (
691
+ nodeChildrenElements.length === 1 &&
692
+ (
693
+ parentChildren.some(child => child.nodeType === NODE_TYPE.ELEMENT_NODE) ||
694
+ (childImpl && childImpl.nodeType === NODE_TYPE.DOCUMENT_TYPE_NODE) ||
695
+ (
696
+ childImpl &&
697
+ domSymbolTree.nextSibling(childImpl) &&
698
+ domSymbolTree.nextSibling(childImpl).nodeType === NODE_TYPE.DOCUMENT_TYPE_NODE
699
+ )
700
+ )
701
+ ) {
702
+ throw DOMException.create(this._globalObject, [
703
+ `Invalid insertion of ${nodeName} node in ${parentName} node.`,
704
+ "HierarchyRequestError"
705
+ ]);
706
+ }
707
+ break;
708
+ }
709
+
710
+ case NODE_TYPE.ELEMENT_NODE:
711
+ if (
712
+ parentChildren.some(child => child.nodeType === NODE_TYPE.ELEMENT_NODE) ||
713
+ (childImpl && childImpl.nodeType === NODE_TYPE.DOCUMENT_TYPE_NODE) ||
714
+ (
715
+ childImpl &&
716
+ domSymbolTree.nextSibling(childImpl) &&
717
+ domSymbolTree.nextSibling(childImpl).nodeType === NODE_TYPE.DOCUMENT_TYPE_NODE
718
+ )
719
+ ) {
720
+ throw DOMException.create(this._globalObject, [
721
+ `Invalid insertion of ${nodeName} node in ${parentName} node.`,
722
+ "HierarchyRequestError"
723
+ ]);
724
+ }
725
+ break;
726
+
727
+ case NODE_TYPE.DOCUMENT_TYPE_NODE:
728
+ if (
729
+ parentChildren.some(child => child.nodeType === NODE_TYPE.DOCUMENT_TYPE_NODE) ||
730
+ (
731
+ childImpl &&
732
+ domSymbolTree.previousSibling(childImpl) &&
733
+ domSymbolTree.previousSibling(childImpl).nodeType === NODE_TYPE.ELEMENT_NODE
734
+ ) ||
735
+ (!childImpl && parentChildren.some(child => child.nodeType === NODE_TYPE.ELEMENT_NODE))
736
+ ) {
737
+ throw DOMException.create(this._globalObject, [
738
+ `Invalid insertion of ${nodeName} node in ${parentName} node.`,
739
+ "HierarchyRequestError"
740
+ ]);
741
+ }
742
+ break;
743
+ }
744
+ }
745
+ }
746
+
747
+ // https://dom.spec.whatwg.org/#concept-node-pre-insert
748
+ _preInsert(nodeImpl, childImpl) {
749
+ this._preInsertValidity(nodeImpl, childImpl);
750
+
751
+ let referenceChildImpl = childImpl;
752
+ if (referenceChildImpl === nodeImpl) {
753
+ referenceChildImpl = domSymbolTree.nextSibling(nodeImpl);
754
+ }
755
+
756
+ this._ownerDocument._adoptNode(nodeImpl);
757
+
758
+ this._insert(nodeImpl, referenceChildImpl);
759
+
760
+ return nodeImpl;
761
+ }
762
+
763
+ // https://dom.spec.whatwg.org/#concept-node-insert
764
+ _insert(nodeImpl, childImpl, suppressObservers) {
765
+ const count = nodeImpl.nodeType === NODE_TYPE.DOCUMENT_FRAGMENT_NODE ?
766
+ domSymbolTree.childrenCount(nodeImpl) :
767
+ 1;
768
+
769
+ if (childImpl) {
770
+ const childIndex = domSymbolTree.index(childImpl);
771
+
772
+ for (const range of this._referencedRanges) {
773
+ const { _start, _end } = range;
774
+
775
+ if (_start.offset > childIndex) {
776
+ range._setLiveRangeStart(this, _start.offset + count);
777
+ }
778
+
779
+ if (_end.offset > childIndex) {
780
+ range._setLiveRangeEnd(this, _end.offset + count);
781
+ }
782
+ }
783
+ }
784
+
785
+ const nodesImpl = nodeImpl.nodeType === NODE_TYPE.DOCUMENT_FRAGMENT_NODE ?
786
+ domSymbolTree.childrenToArray(nodeImpl) :
787
+ [nodeImpl];
788
+
789
+ if (nodeImpl.nodeType === NODE_TYPE.DOCUMENT_FRAGMENT_NODE) {
790
+ let grandChildImpl;
791
+ while ((grandChildImpl = domSymbolTree.firstChild(nodeImpl))) {
792
+ nodeImpl._remove(grandChildImpl, true);
793
+ }
794
+ }
795
+
796
+ if (nodeImpl.nodeType === NODE_TYPE.DOCUMENT_FRAGMENT_NODE) {
797
+ queueTreeMutationRecord(nodeImpl, [], nodesImpl, null, null);
798
+ }
799
+
800
+ const previousChildImpl = childImpl ?
801
+ domSymbolTree.previousSibling(childImpl) :
802
+ domSymbolTree.lastChild(this);
803
+
804
+ let isConnected;
805
+
806
+ for (const node of nodesImpl) {
807
+ if (!childImpl) {
808
+ domSymbolTree.appendChild(this, node);
809
+ } else {
810
+ domSymbolTree.insertBefore(childImpl, node);
811
+ }
812
+
813
+ if (
814
+ (this.nodeType === NODE_TYPE.ELEMENT_NODE && this._shadowRoot !== null) &&
815
+ (node.nodeType === NODE_TYPE.ELEMENT_NODE || node.nodeType === NODE_TYPE.TEXT_NODE)
816
+ ) {
817
+ assignSlot(node);
818
+ }
819
+
820
+ this._modified();
821
+
822
+ if (node.nodeType === NODE_TYPE.TEXT_NODE ||
823
+ node.nodeType === NODE_TYPE.CDATA_SECTION_NODE) {
824
+ this._childTextContentChangeSteps();
825
+ }
826
+
827
+ if (isSlot(this) && this._assignedNodes.length === 0 && isShadowRoot(nodeRoot(this))) {
828
+ signalSlotChange(this);
829
+ }
830
+
831
+ const root = nodeRoot(node);
832
+ if (isShadowRoot(root)) {
833
+ assignSlotableForTree(root);
834
+ }
835
+
836
+ if (this._attached && nodeImpl._attach) {
837
+ node._attach();
838
+ }
839
+
840
+ this._descendantAdded(this, node);
841
+
842
+ if (isConnected === undefined) {
843
+ isConnected = node.isConnected;
844
+ }
845
+
846
+ if (isConnected) {
847
+ for (const inclusiveDescendant of shadowIncludingInclusiveDescendantsIterator(node)) {
848
+ if (inclusiveDescendant._ceState === "custom") {
849
+ enqueueCECallbackReaction(inclusiveDescendant, "connectedCallback", []);
850
+ } else {
851
+ tryUpgradeElement(inclusiveDescendant);
852
+ }
853
+ }
854
+ }
855
+ }
856
+
857
+ if (!suppressObservers) {
858
+ queueTreeMutationRecord(this, nodesImpl, [], previousChildImpl, childImpl);
859
+ }
860
+ }
861
+
862
+ // https://dom.spec.whatwg.org/#concept-node-append
863
+ _append(nodeImpl) {
864
+ return this._preInsert(nodeImpl, null);
865
+ }
866
+
867
+ // https://dom.spec.whatwg.org/#concept-node-replace
868
+ _replace(nodeImpl, childImpl) {
869
+ const { nodeType, nodeName } = nodeImpl;
870
+ const { nodeType: parentType, nodeName: parentName } = this;
871
+
872
+ // Note: This section differs from the pre-insert validation algorithm.
873
+ if (
874
+ parentType !== NODE_TYPE.DOCUMENT_NODE &&
875
+ parentType !== NODE_TYPE.DOCUMENT_FRAGMENT_NODE &&
876
+ parentType !== NODE_TYPE.ELEMENT_NODE
877
+ ) {
878
+ throw DOMException.create(this._globalObject, [
879
+ `Node can't be inserted in a ${parentName} parent.`,
880
+ "HierarchyRequestError"
881
+ ]);
882
+ }
883
+
884
+ if (isHostInclusiveAncestor(nodeImpl, this)) {
885
+ throw DOMException.create(this._globalObject, [
886
+ "The operation would yield an incorrect node tree.",
887
+ "HierarchyRequestError"
888
+ ]);
889
+ }
890
+
891
+ if (childImpl && domSymbolTree.parent(childImpl) !== this) {
892
+ throw DOMException.create(this._globalObject, [
893
+ "The child can not be found in the parent.",
894
+ "NotFoundError"
895
+ ]);
896
+ }
897
+
898
+ if (
899
+ nodeType !== NODE_TYPE.DOCUMENT_FRAGMENT_NODE &&
900
+ nodeType !== NODE_TYPE.DOCUMENT_TYPE_NODE &&
901
+ nodeType !== NODE_TYPE.ELEMENT_NODE &&
902
+ nodeType !== NODE_TYPE.TEXT_NODE &&
903
+ nodeType !== NODE_TYPE.CDATA_SECTION_NODE && // CData section extends from Text
904
+ nodeType !== NODE_TYPE.PROCESSING_INSTRUCTION_NODE &&
905
+ nodeType !== NODE_TYPE.COMMENT_NODE
906
+ ) {
907
+ throw DOMException.create(this._globalObject, [
908
+ `${nodeName} node can't be inserted in parent node.`,
909
+ "HierarchyRequestError"
910
+ ]);
911
+ }
912
+
913
+ if (
914
+ (nodeType === NODE_TYPE.TEXT_NODE && parentType === NODE_TYPE.DOCUMENT_NODE) ||
915
+ (nodeType === NODE_TYPE.DOCUMENT_TYPE_NODE && parentType !== NODE_TYPE.DOCUMENT_NODE)
916
+ ) {
917
+ throw DOMException.create(this._globalObject, [
918
+ `${nodeName} node can't be inserted in ${parentName} parent.`,
919
+ "HierarchyRequestError"
920
+ ]);
921
+ }
922
+
923
+ if (parentType === NODE_TYPE.DOCUMENT_NODE) {
924
+ const nodeChildren = domSymbolTree.childrenToArray(nodeImpl);
925
+ const parentChildren = domSymbolTree.childrenToArray(this);
926
+
927
+ switch (nodeType) {
928
+ case NODE_TYPE.DOCUMENT_FRAGMENT_NODE: {
929
+ const nodeChildrenElements = nodeChildren.filter(child => child.nodeType === NODE_TYPE.ELEMENT_NODE);
930
+ if (nodeChildrenElements.length > 1) {
931
+ throw DOMException.create(this._globalObject, [
932
+ `Invalid insertion of ${nodeName} node in ${parentName} node.`,
933
+ "HierarchyRequestError"
934
+ ]);
935
+ }
936
+
937
+ const hasNodeTextChildren = nodeChildren.some(child => child.nodeType === NODE_TYPE.TEXT_NODE);
938
+ if (hasNodeTextChildren) {
939
+ throw DOMException.create(this._globalObject, [
940
+ `Invalid insertion of ${nodeName} node in ${parentName} node.`,
941
+ "HierarchyRequestError"
942
+ ]);
943
+ }
944
+
945
+
946
+ const parentChildElements = parentChildren.filter(child => child.nodeType === NODE_TYPE.ELEMENT_NODE);
947
+ if (
948
+ nodeChildrenElements.length === 1 &&
949
+ (
950
+ (parentChildElements.length === 1 && parentChildElements[0] !== childImpl) ||
951
+ (
952
+ childImpl &&
953
+ domSymbolTree.nextSibling(childImpl) &&
954
+ domSymbolTree.nextSibling(childImpl).nodeType === NODE_TYPE.DOCUMENT_TYPE_NODE
955
+ )
956
+ )
957
+ ) {
958
+ throw DOMException.create(this._globalObject, [
959
+ `Invalid insertion of ${nodeName} node in ${parentName} node.`,
960
+ "HierarchyRequestError"
961
+ ]);
962
+ }
963
+ break;
964
+ }
965
+
966
+ case NODE_TYPE.ELEMENT_NODE:
967
+ if (
968
+ parentChildren.some(child => child.nodeType === NODE_TYPE.ELEMENT_NODE && child !== childImpl) ||
969
+ (
970
+ childImpl &&
971
+ domSymbolTree.nextSibling(childImpl) &&
972
+ domSymbolTree.nextSibling(childImpl).nodeType === NODE_TYPE.DOCUMENT_TYPE_NODE
973
+ )
974
+ ) {
975
+ throw DOMException.create(this._globalObject, [
976
+ `Invalid insertion of ${nodeName} node in ${parentName} node.`,
977
+ "HierarchyRequestError"
978
+ ]);
979
+ }
980
+ break;
981
+
982
+ case NODE_TYPE.DOCUMENT_TYPE_NODE:
983
+ if (
984
+ parentChildren.some(child => child.nodeType === NODE_TYPE.DOCUMENT_TYPE_NODE && child !== childImpl) ||
985
+ (
986
+ childImpl &&
987
+ domSymbolTree.previousSibling(childImpl) &&
988
+ domSymbolTree.previousSibling(childImpl).nodeType === NODE_TYPE.ELEMENT_NODE
989
+ )
990
+ ) {
991
+ throw DOMException.create(this._globalObject, [
992
+ `Invalid insertion of ${nodeName} node in ${parentName} node.`,
993
+ "HierarchyRequestError"
994
+ ]);
995
+ }
996
+ break;
997
+ }
998
+ }
999
+
1000
+ let referenceChildImpl = domSymbolTree.nextSibling(childImpl);
1001
+ if (referenceChildImpl === nodeImpl) {
1002
+ referenceChildImpl = domSymbolTree.nextSibling(nodeImpl);
1003
+ }
1004
+
1005
+ const previousSiblingImpl = domSymbolTree.previousSibling(childImpl);
1006
+
1007
+ this._ownerDocument._adoptNode(nodeImpl);
1008
+
1009
+ let removedNodesImpl = [];
1010
+
1011
+ if (domSymbolTree.parent(childImpl)) {
1012
+ removedNodesImpl = [childImpl];
1013
+ this._remove(childImpl, true);
1014
+ }
1015
+
1016
+ const nodesImpl = nodeImpl.nodeType === NODE_TYPE.DOCUMENT_FRAGMENT_NODE ?
1017
+ domSymbolTree.childrenToArray(nodeImpl) :
1018
+ [nodeImpl];
1019
+
1020
+ this._insert(nodeImpl, referenceChildImpl, true);
1021
+
1022
+ queueTreeMutationRecord(this, nodesImpl, removedNodesImpl, previousSiblingImpl, referenceChildImpl);
1023
+
1024
+ return childImpl;
1025
+ }
1026
+
1027
+ // https://dom.spec.whatwg.org/#concept-node-replace-all
1028
+ _replaceAll(nodeImpl) {
1029
+ if (nodeImpl !== null) {
1030
+ this._ownerDocument._adoptNode(nodeImpl);
1031
+ }
1032
+
1033
+ const removedNodesImpl = domSymbolTree.childrenToArray(this);
1034
+
1035
+ let addedNodesImpl;
1036
+ if (nodeImpl === null) {
1037
+ addedNodesImpl = [];
1038
+ } else if (nodeImpl.nodeType === NODE_TYPE.DOCUMENT_FRAGMENT_NODE) {
1039
+ addedNodesImpl = domSymbolTree.childrenToArray(nodeImpl);
1040
+ } else {
1041
+ addedNodesImpl = [nodeImpl];
1042
+ }
1043
+
1044
+ for (const childImpl of domSymbolTree.childrenIterator(this)) {
1045
+ this._remove(childImpl, true);
1046
+ }
1047
+
1048
+ if (nodeImpl !== null) {
1049
+ this._insert(nodeImpl, null, true);
1050
+ }
1051
+
1052
+ if (addedNodesImpl.length > 0 || removedNodesImpl.length > 0) {
1053
+ queueTreeMutationRecord(this, addedNodesImpl, removedNodesImpl, null, null);
1054
+ }
1055
+ }
1056
+
1057
+ // https://dom.spec.whatwg.org/#concept-node-pre-remove
1058
+ _preRemove(childImpl) {
1059
+ if (domSymbolTree.parent(childImpl) !== this) {
1060
+ throw DOMException.create(this._globalObject, [
1061
+ "The node to be removed is not a child of this node.",
1062
+ "NotFoundError"
1063
+ ]);
1064
+ }
1065
+
1066
+ this._remove(childImpl);
1067
+
1068
+ return childImpl;
1069
+ }
1070
+
1071
+ // https://dom.spec.whatwg.org/#concept-node-remove
1072
+ _remove(nodeImpl, suppressObservers) {
1073
+ const index = domSymbolTree.index(nodeImpl);
1074
+
1075
+ for (const descendant of domSymbolTree.treeIterator(nodeImpl)) {
1076
+ for (const range of descendant._referencedRanges) {
1077
+ const { _start, _end } = range;
1078
+
1079
+ if (_start.node === descendant) {
1080
+ range._setLiveRangeStart(this, index);
1081
+ }
1082
+
1083
+ if (_end.node === descendant) {
1084
+ range._setLiveRangeEnd(this, index);
1085
+ }
1086
+ }
1087
+ }
1088
+
1089
+ for (const range of this._referencedRanges) {
1090
+ const { _start, _end } = range;
1091
+
1092
+ if (_start.node === this && _start.offset > index) {
1093
+ range._setLiveRangeStart(this, _start.offset - 1);
1094
+ }
1095
+
1096
+ if (_end.node === this && _end.offset > index) {
1097
+ range._setLiveRangeEnd(this, _end.offset - 1);
1098
+ }
1099
+ }
1100
+
1101
+ if (this._ownerDocument) {
1102
+ this._ownerDocument._runPreRemovingSteps(nodeImpl);
1103
+ }
1104
+
1105
+ const oldPreviousSiblingImpl = domSymbolTree.previousSibling(nodeImpl);
1106
+ const oldNextSiblingImpl = domSymbolTree.nextSibling(nodeImpl);
1107
+
1108
+ domSymbolTree.remove(nodeImpl);
1109
+
1110
+ if (nodeImpl._assignedSlot) {
1111
+ assignSlotable(nodeImpl._assignedSlot);
1112
+ }
1113
+
1114
+ if (isSlot(this) && this._assignedNodes.length === 0 && isShadowRoot(nodeRoot(this))) {
1115
+ signalSlotChange(this);
1116
+ }
1117
+
1118
+ let hasSlotDescendant = isSlot(nodeImpl);
1119
+ if (!hasSlotDescendant) {
1120
+ for (const child of domSymbolTree.treeIterator(nodeImpl)) {
1121
+ if (isSlot(child)) {
1122
+ hasSlotDescendant = true;
1123
+ break;
1124
+ }
1125
+ }
1126
+ }
1127
+
1128
+ if (hasSlotDescendant) {
1129
+ assignSlotableForTree(nodeRoot(this));
1130
+ assignSlotableForTree(nodeImpl);
1131
+ }
1132
+
1133
+ this._modified();
1134
+ nodeImpl._detach();
1135
+ this._descendantRemoved(this, nodeImpl);
1136
+
1137
+ if (this.isConnected) {
1138
+ if (nodeImpl._ceState === "custom") {
1139
+ enqueueCECallbackReaction(nodeImpl, "disconnectedCallback", []);
1140
+ }
1141
+
1142
+ for (const descendantImpl of shadowIncludingDescendantsIterator(nodeImpl)) {
1143
+ if (descendantImpl._ceState === "custom") {
1144
+ enqueueCECallbackReaction(descendantImpl, "disconnectedCallback", []);
1145
+ }
1146
+ }
1147
+ }
1148
+
1149
+ if (!suppressObservers) {
1150
+ queueTreeMutationRecord(this, [], [nodeImpl], oldPreviousSiblingImpl, oldNextSiblingImpl);
1151
+ }
1152
+
1153
+ if (nodeImpl.nodeType === NODE_TYPE.TEXT_NODE) {
1154
+ this._childTextContentChangeSteps();
1155
+ }
1156
+ }
1157
+ }
1158
+
1159
+ module.exports = {
1160
+ implementation: NodeImpl
1161
+ };