happy-dom 13.6.2 → 13.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of happy-dom might be problematic. Click here for more details.

Files changed (339) hide show
  1. package/cjs/browser/BrowserFrame.cjs +12 -2
  2. package/cjs/browser/BrowserFrame.cjs.map +1 -1
  3. package/cjs/browser/BrowserFrame.d.ts.map +1 -1
  4. package/cjs/browser/detached-browser/DetachedBrowserFrame.cjs +12 -2
  5. package/cjs/browser/detached-browser/DetachedBrowserFrame.cjs.map +1 -1
  6. package/cjs/browser/detached-browser/DetachedBrowserFrame.d.ts.map +1 -1
  7. package/cjs/browser/utilities/BrowserFrameFactory.cjs +5 -0
  8. package/cjs/browser/utilities/BrowserFrameFactory.cjs.map +1 -1
  9. package/cjs/browser/utilities/BrowserFrameFactory.d.ts.map +1 -1
  10. package/cjs/browser/utilities/BrowserFrameNavigator.cjs +20 -13
  11. package/cjs/browser/utilities/BrowserFrameNavigator.cjs.map +1 -1
  12. package/cjs/browser/utilities/BrowserFrameNavigator.d.ts +21 -10
  13. package/cjs/browser/utilities/BrowserFrameNavigator.d.ts.map +1 -1
  14. package/cjs/browser/utilities/BrowserFrameURL.cjs +2 -2
  15. package/cjs/browser/utilities/BrowserFrameURL.cjs.map +1 -1
  16. package/cjs/browser/utilities/BrowserFrameURL.d.ts.map +1 -1
  17. package/cjs/config/IHTMLElementTagNameMap.cjs +3 -0
  18. package/cjs/config/IHTMLElementTagNameMap.cjs.map +1 -0
  19. package/cjs/config/IHTMLElementTagNameMap.d.ts +146 -0
  20. package/cjs/config/IHTMLElementTagNameMap.d.ts.map +1 -0
  21. package/cjs/config/ISVGElementTagNameMap.cjs +3 -0
  22. package/cjs/config/ISVGElementTagNameMap.cjs.map +1 -0
  23. package/cjs/config/ISVGElementTagNameMap.d.ts +67 -0
  24. package/cjs/config/ISVGElementTagNameMap.d.ts.map +1 -0
  25. package/cjs/event/events/HashChangeEvent.cjs +26 -0
  26. package/cjs/event/events/HashChangeEvent.cjs.map +1 -0
  27. package/cjs/event/events/HashChangeEvent.d.ts +19 -0
  28. package/cjs/event/events/HashChangeEvent.d.ts.map +1 -0
  29. package/cjs/event/events/IHashChangeEventInit.cjs +3 -0
  30. package/cjs/event/events/IHashChangeEventInit.cjs.map +1 -0
  31. package/cjs/event/events/IHashChangeEventInit.d.ts +6 -0
  32. package/cjs/event/events/IHashChangeEventInit.d.ts.map +1 -0
  33. package/cjs/fetch/Fetch.cjs +3 -3
  34. package/cjs/fetch/Fetch.cjs.map +1 -1
  35. package/cjs/fetch/Request.cjs +2 -2
  36. package/cjs/fetch/Request.cjs.map +1 -1
  37. package/cjs/fetch/SyncFetch.cjs +3 -3
  38. package/cjs/fetch/SyncFetch.cjs.map +1 -1
  39. package/cjs/fetch/utilities/FetchRequestHeaderUtility.cjs +5 -3
  40. package/cjs/fetch/utilities/FetchRequestHeaderUtility.cjs.map +1 -1
  41. package/cjs/fetch/utilities/FetchRequestHeaderUtility.d.ts.map +1 -1
  42. package/cjs/fetch/utilities/FetchRequestReferrerUtility.cjs +1 -1
  43. package/cjs/fetch/utilities/FetchRequestReferrerUtility.cjs.map +1 -1
  44. package/cjs/fetch/utilities/FetchRequestReferrerUtility.d.ts.map +1 -1
  45. package/cjs/form-data/FormData.cjs +1 -1
  46. package/cjs/form-data/FormData.cjs.map +1 -1
  47. package/cjs/form-data/FormData.d.ts +1 -1
  48. package/cjs/form-data/FormData.d.ts.map +1 -1
  49. package/cjs/index.cjs +7 -3
  50. package/cjs/index.cjs.map +1 -1
  51. package/cjs/index.d.ts +7 -3
  52. package/cjs/index.d.ts.map +1 -1
  53. package/cjs/location/Location.cjs +270 -0
  54. package/cjs/location/Location.cjs.map +1 -0
  55. package/cjs/location/Location.d.ts +144 -0
  56. package/cjs/location/Location.d.ts.map +1 -0
  57. package/cjs/named-node-map/NamedNodeMap.cjs +2 -1
  58. package/cjs/named-node-map/NamedNodeMap.cjs.map +1 -1
  59. package/cjs/named-node-map/NamedNodeMap.d.ts.map +1 -1
  60. package/cjs/nodes/document/Document.cjs +4 -4
  61. package/cjs/nodes/document/Document.cjs.map +1 -1
  62. package/cjs/nodes/document/Document.d.ts +114 -6
  63. package/cjs/nodes/document/Document.d.ts.map +1 -1
  64. package/cjs/nodes/document/IDocument.d.ts +28 -12
  65. package/cjs/nodes/document/IDocument.d.ts.map +1 -1
  66. package/cjs/nodes/document-fragment/DocumentFragment.cjs +2 -2
  67. package/cjs/nodes/document-fragment/DocumentFragment.cjs.map +1 -1
  68. package/cjs/nodes/document-fragment/DocumentFragment.d.ts +31 -1
  69. package/cjs/nodes/document-fragment/DocumentFragment.d.ts.map +1 -1
  70. package/cjs/nodes/document-fragment/IDocumentFragment.d.ts +6 -0
  71. package/cjs/nodes/document-fragment/IDocumentFragment.d.ts.map +1 -1
  72. package/cjs/nodes/element/Element.cjs +1 -1
  73. package/cjs/nodes/element/Element.cjs.map +1 -1
  74. package/cjs/nodes/element/Element.d.ts +61 -1
  75. package/cjs/nodes/element/Element.d.ts.map +1 -1
  76. package/cjs/nodes/element/HTMLCollection.cjs +2 -1
  77. package/cjs/nodes/element/HTMLCollection.cjs.map +1 -1
  78. package/cjs/nodes/element/HTMLCollection.d.ts.map +1 -1
  79. package/cjs/nodes/html-anchor-element/HTMLAnchorElement.cjs +2 -0
  80. package/cjs/nodes/html-anchor-element/HTMLAnchorElement.cjs.map +1 -1
  81. package/cjs/nodes/html-anchor-element/HTMLAnchorElement.d.ts.map +1 -1
  82. package/cjs/nodes/html-button-element/HTMLButtonElement.cjs +93 -4
  83. package/cjs/nodes/html-button-element/HTMLButtonElement.cjs.map +1 -1
  84. package/cjs/nodes/html-button-element/HTMLButtonElement.d.ts +49 -1
  85. package/cjs/nodes/html-button-element/HTMLButtonElement.d.ts.map +1 -1
  86. package/cjs/nodes/html-button-element/IHTMLButtonElement.d.ts +5 -1
  87. package/cjs/nodes/html-button-element/IHTMLButtonElement.d.ts.map +1 -1
  88. package/cjs/nodes/html-form-element/HTMLFormControlsCollection.cjs +2 -1
  89. package/cjs/nodes/html-form-element/HTMLFormControlsCollection.cjs.map +1 -1
  90. package/cjs/nodes/html-form-element/HTMLFormControlsCollection.d.ts.map +1 -1
  91. package/cjs/nodes/html-form-element/HTMLFormElement.cjs +104 -9
  92. package/cjs/nodes/html-form-element/HTMLFormElement.cjs.map +1 -1
  93. package/cjs/nodes/html-form-element/HTMLFormElement.d.ts +8 -2
  94. package/cjs/nodes/html-form-element/HTMLFormElement.d.ts.map +1 -1
  95. package/cjs/nodes/html-iframe-element/HTMLIFrameElement.cjs +14 -0
  96. package/cjs/nodes/html-iframe-element/HTMLIFrameElement.cjs.map +1 -1
  97. package/cjs/nodes/html-iframe-element/HTMLIFrameElement.d.ts +10 -0
  98. package/cjs/nodes/html-iframe-element/HTMLIFrameElement.d.ts.map +1 -1
  99. package/cjs/nodes/html-iframe-element/HTMLIFrameElementPageLoader.cjs +4 -1
  100. package/cjs/nodes/html-iframe-element/HTMLIFrameElementPageLoader.cjs.map +1 -1
  101. package/cjs/nodes/html-iframe-element/HTMLIFrameElementPageLoader.d.ts.map +1 -1
  102. package/cjs/nodes/html-iframe-element/IHTMLIFrameElement.d.ts +1 -0
  103. package/cjs/nodes/html-iframe-element/IHTMLIFrameElement.d.ts.map +1 -1
  104. package/cjs/nodes/html-input-element/HTMLInputElement.cjs +100 -52
  105. package/cjs/nodes/html-input-element/HTMLInputElement.cjs.map +1 -1
  106. package/cjs/nodes/html-input-element/HTMLInputElement.d.ts +49 -23
  107. package/cjs/nodes/html-input-element/HTMLInputElement.d.ts.map +1 -1
  108. package/cjs/nodes/html-input-element/IHTMLInputElement.d.ts +2 -0
  109. package/cjs/nodes/html-input-element/IHTMLInputElement.d.ts.map +1 -1
  110. package/cjs/nodes/html-label-element/HTMLLabelElement.cjs +1 -0
  111. package/cjs/nodes/html-label-element/HTMLLabelElement.cjs.map +1 -1
  112. package/cjs/nodes/html-label-element/HTMLLabelElement.d.ts.map +1 -1
  113. package/cjs/nodes/html-link-element/HTMLLinkElementStyleSheetLoader.cjs +1 -1
  114. package/cjs/nodes/html-link-element/HTMLLinkElementStyleSheetLoader.cjs.map +1 -1
  115. package/cjs/nodes/html-script-element/HTMLScriptElementScriptLoader.cjs +1 -1
  116. package/cjs/nodes/html-script-element/HTMLScriptElementScriptLoader.cjs.map +1 -1
  117. package/cjs/nodes/html-select-element/HTMLSelectElement.cjs.map +1 -1
  118. package/cjs/nodes/html-select-element/HTMLSelectElement.d.ts.map +1 -1
  119. package/cjs/nodes/node/Node.cjs.map +1 -1
  120. package/cjs/nodes/node/Node.d.ts.map +1 -1
  121. package/cjs/nodes/parent-node/IParentNode.d.ts +17 -0
  122. package/cjs/nodes/parent-node/IParentNode.d.ts.map +1 -1
  123. package/cjs/nodes/parent-node/ParentNodeUtility.cjs.map +1 -1
  124. package/cjs/nodes/parent-node/ParentNodeUtility.d.ts.map +1 -1
  125. package/cjs/query-selector/QuerySelector.cjs.map +1 -1
  126. package/cjs/query-selector/QuerySelector.d.ts +34 -0
  127. package/cjs/query-selector/QuerySelector.d.ts.map +1 -1
  128. package/cjs/version.cjs +1 -1
  129. package/cjs/window/BrowserWindow.cjs +9 -3
  130. package/cjs/window/BrowserWindow.cjs.map +1 -1
  131. package/cjs/window/BrowserWindow.d.ts +5 -4
  132. package/cjs/window/BrowserWindow.d.ts.map +1 -1
  133. package/cjs/window/CrossOriginBrowserWindow.d.ts +1 -1
  134. package/cjs/window/CrossOriginBrowserWindow.d.ts.map +1 -1
  135. package/cjs/window/IBrowserWindow.d.ts +3 -2
  136. package/cjs/window/IBrowserWindow.d.ts.map +1 -1
  137. package/cjs/window/ICrossOriginBrowserWindow.d.ts +1 -1
  138. package/cjs/window/ICrossOriginBrowserWindow.d.ts.map +1 -1
  139. package/cjs/window/WindowPageOpenUtility.cjs +4 -2
  140. package/cjs/window/WindowPageOpenUtility.cjs.map +1 -1
  141. package/cjs/window/WindowPageOpenUtility.d.ts.map +1 -1
  142. package/lib/browser/BrowserFrame.d.ts.map +1 -1
  143. package/lib/browser/BrowserFrame.js +12 -2
  144. package/lib/browser/BrowserFrame.js.map +1 -1
  145. package/lib/browser/detached-browser/DetachedBrowserFrame.d.ts.map +1 -1
  146. package/lib/browser/detached-browser/DetachedBrowserFrame.js +12 -2
  147. package/lib/browser/detached-browser/DetachedBrowserFrame.js.map +1 -1
  148. package/lib/browser/utilities/BrowserFrameFactory.d.ts.map +1 -1
  149. package/lib/browser/utilities/BrowserFrameFactory.js +5 -0
  150. package/lib/browser/utilities/BrowserFrameFactory.js.map +1 -1
  151. package/lib/browser/utilities/BrowserFrameNavigator.d.ts +21 -10
  152. package/lib/browser/utilities/BrowserFrameNavigator.d.ts.map +1 -1
  153. package/lib/browser/utilities/BrowserFrameNavigator.js +20 -13
  154. package/lib/browser/utilities/BrowserFrameNavigator.js.map +1 -1
  155. package/lib/browser/utilities/BrowserFrameURL.d.ts.map +1 -1
  156. package/lib/browser/utilities/BrowserFrameURL.js +2 -2
  157. package/lib/browser/utilities/BrowserFrameURL.js.map +1 -1
  158. package/lib/config/IHTMLElementTagNameMap.d.ts +146 -0
  159. package/lib/config/IHTMLElementTagNameMap.d.ts.map +1 -0
  160. package/lib/config/IHTMLElementTagNameMap.js +2 -0
  161. package/lib/config/IHTMLElementTagNameMap.js.map +1 -0
  162. package/lib/config/ISVGElementTagNameMap.d.ts +67 -0
  163. package/lib/config/ISVGElementTagNameMap.d.ts.map +1 -0
  164. package/lib/config/ISVGElementTagNameMap.js +2 -0
  165. package/lib/config/ISVGElementTagNameMap.js.map +1 -0
  166. package/lib/event/events/HashChangeEvent.d.ts +19 -0
  167. package/lib/event/events/HashChangeEvent.d.ts.map +1 -0
  168. package/lib/event/events/HashChangeEvent.js +20 -0
  169. package/lib/event/events/HashChangeEvent.js.map +1 -0
  170. package/lib/event/events/IHashChangeEventInit.d.ts +6 -0
  171. package/lib/event/events/IHashChangeEventInit.d.ts.map +1 -0
  172. package/lib/event/events/IHashChangeEventInit.js +2 -0
  173. package/lib/event/events/IHashChangeEventInit.js.map +1 -0
  174. package/lib/fetch/Fetch.js +3 -3
  175. package/lib/fetch/Fetch.js.map +1 -1
  176. package/lib/fetch/Request.js +2 -2
  177. package/lib/fetch/Request.js.map +1 -1
  178. package/lib/fetch/SyncFetch.js +3 -3
  179. package/lib/fetch/SyncFetch.js.map +1 -1
  180. package/lib/fetch/utilities/FetchRequestHeaderUtility.d.ts.map +1 -1
  181. package/lib/fetch/utilities/FetchRequestHeaderUtility.js +4 -2
  182. package/lib/fetch/utilities/FetchRequestHeaderUtility.js.map +1 -1
  183. package/lib/fetch/utilities/FetchRequestReferrerUtility.d.ts.map +1 -1
  184. package/lib/fetch/utilities/FetchRequestReferrerUtility.js +1 -1
  185. package/lib/fetch/utilities/FetchRequestReferrerUtility.js.map +1 -1
  186. package/lib/form-data/FormData.d.ts +1 -1
  187. package/lib/form-data/FormData.d.ts.map +1 -1
  188. package/lib/form-data/FormData.js +1 -1
  189. package/lib/form-data/FormData.js.map +1 -1
  190. package/lib/index.d.ts +7 -3
  191. package/lib/index.d.ts.map +1 -1
  192. package/lib/index.js +4 -2
  193. package/lib/index.js.map +1 -1
  194. package/lib/location/Location.d.ts +144 -0
  195. package/lib/location/Location.d.ts.map +1 -0
  196. package/lib/location/Location.js +241 -0
  197. package/lib/location/Location.js.map +1 -0
  198. package/lib/named-node-map/NamedNodeMap.d.ts.map +1 -1
  199. package/lib/named-node-map/NamedNodeMap.js +2 -1
  200. package/lib/named-node-map/NamedNodeMap.js.map +1 -1
  201. package/lib/nodes/document/Document.d.ts +114 -6
  202. package/lib/nodes/document/Document.d.ts.map +1 -1
  203. package/lib/nodes/document/Document.js +4 -4
  204. package/lib/nodes/document/Document.js.map +1 -1
  205. package/lib/nodes/document/IDocument.d.ts +28 -12
  206. package/lib/nodes/document/IDocument.d.ts.map +1 -1
  207. package/lib/nodes/document-fragment/DocumentFragment.d.ts +31 -1
  208. package/lib/nodes/document-fragment/DocumentFragment.d.ts.map +1 -1
  209. package/lib/nodes/document-fragment/DocumentFragment.js +2 -2
  210. package/lib/nodes/document-fragment/DocumentFragment.js.map +1 -1
  211. package/lib/nodes/document-fragment/IDocumentFragment.d.ts +6 -0
  212. package/lib/nodes/document-fragment/IDocumentFragment.d.ts.map +1 -1
  213. package/lib/nodes/element/Element.d.ts +61 -1
  214. package/lib/nodes/element/Element.d.ts.map +1 -1
  215. package/lib/nodes/element/Element.js +1 -1
  216. package/lib/nodes/element/Element.js.map +1 -1
  217. package/lib/nodes/element/HTMLCollection.d.ts.map +1 -1
  218. package/lib/nodes/element/HTMLCollection.js +2 -1
  219. package/lib/nodes/element/HTMLCollection.js.map +1 -1
  220. package/lib/nodes/html-anchor-element/HTMLAnchorElement.d.ts.map +1 -1
  221. package/lib/nodes/html-anchor-element/HTMLAnchorElement.js +2 -0
  222. package/lib/nodes/html-anchor-element/HTMLAnchorElement.js.map +1 -1
  223. package/lib/nodes/html-button-element/HTMLButtonElement.d.ts +49 -1
  224. package/lib/nodes/html-button-element/HTMLButtonElement.d.ts.map +1 -1
  225. package/lib/nodes/html-button-element/HTMLButtonElement.js +93 -4
  226. package/lib/nodes/html-button-element/HTMLButtonElement.js.map +1 -1
  227. package/lib/nodes/html-button-element/IHTMLButtonElement.d.ts +5 -1
  228. package/lib/nodes/html-button-element/IHTMLButtonElement.d.ts.map +1 -1
  229. package/lib/nodes/html-form-element/HTMLFormControlsCollection.d.ts.map +1 -1
  230. package/lib/nodes/html-form-element/HTMLFormControlsCollection.js +2 -1
  231. package/lib/nodes/html-form-element/HTMLFormControlsCollection.js.map +1 -1
  232. package/lib/nodes/html-form-element/HTMLFormElement.d.ts +8 -2
  233. package/lib/nodes/html-form-element/HTMLFormElement.d.ts.map +1 -1
  234. package/lib/nodes/html-form-element/HTMLFormElement.js +106 -10
  235. package/lib/nodes/html-form-element/HTMLFormElement.js.map +1 -1
  236. package/lib/nodes/html-iframe-element/HTMLIFrameElement.d.ts +10 -0
  237. package/lib/nodes/html-iframe-element/HTMLIFrameElement.d.ts.map +1 -1
  238. package/lib/nodes/html-iframe-element/HTMLIFrameElement.js +14 -0
  239. package/lib/nodes/html-iframe-element/HTMLIFrameElement.js.map +1 -1
  240. package/lib/nodes/html-iframe-element/HTMLIFrameElementPageLoader.d.ts.map +1 -1
  241. package/lib/nodes/html-iframe-element/HTMLIFrameElementPageLoader.js +4 -1
  242. package/lib/nodes/html-iframe-element/HTMLIFrameElementPageLoader.js.map +1 -1
  243. package/lib/nodes/html-iframe-element/IHTMLIFrameElement.d.ts +1 -0
  244. package/lib/nodes/html-iframe-element/IHTMLIFrameElement.d.ts.map +1 -1
  245. package/lib/nodes/html-input-element/HTMLInputElement.d.ts +49 -23
  246. package/lib/nodes/html-input-element/HTMLInputElement.d.ts.map +1 -1
  247. package/lib/nodes/html-input-element/HTMLInputElement.js +100 -52
  248. package/lib/nodes/html-input-element/HTMLInputElement.js.map +1 -1
  249. package/lib/nodes/html-input-element/IHTMLInputElement.d.ts +2 -0
  250. package/lib/nodes/html-input-element/IHTMLInputElement.d.ts.map +1 -1
  251. package/lib/nodes/html-label-element/HTMLLabelElement.d.ts.map +1 -1
  252. package/lib/nodes/html-label-element/HTMLLabelElement.js +1 -0
  253. package/lib/nodes/html-label-element/HTMLLabelElement.js.map +1 -1
  254. package/lib/nodes/html-link-element/HTMLLinkElementStyleSheetLoader.js +1 -1
  255. package/lib/nodes/html-link-element/HTMLLinkElementStyleSheetLoader.js.map +1 -1
  256. package/lib/nodes/html-script-element/HTMLScriptElementScriptLoader.js +1 -1
  257. package/lib/nodes/html-script-element/HTMLScriptElementScriptLoader.js.map +1 -1
  258. package/lib/nodes/html-select-element/HTMLSelectElement.d.ts.map +1 -1
  259. package/lib/nodes/html-select-element/HTMLSelectElement.js.map +1 -1
  260. package/lib/nodes/node/Node.d.ts.map +1 -1
  261. package/lib/nodes/node/Node.js.map +1 -1
  262. package/lib/nodes/parent-node/IParentNode.d.ts +17 -0
  263. package/lib/nodes/parent-node/IParentNode.d.ts.map +1 -1
  264. package/lib/nodes/parent-node/ParentNodeUtility.d.ts.map +1 -1
  265. package/lib/nodes/parent-node/ParentNodeUtility.js.map +1 -1
  266. package/lib/query-selector/QuerySelector.d.ts +34 -0
  267. package/lib/query-selector/QuerySelector.d.ts.map +1 -1
  268. package/lib/query-selector/QuerySelector.js.map +1 -1
  269. package/lib/version.js +1 -1
  270. package/lib/window/BrowserWindow.d.ts +5 -4
  271. package/lib/window/BrowserWindow.d.ts.map +1 -1
  272. package/lib/window/BrowserWindow.js +10 -4
  273. package/lib/window/BrowserWindow.js.map +1 -1
  274. package/lib/window/CrossOriginBrowserWindow.d.ts +1 -1
  275. package/lib/window/CrossOriginBrowserWindow.d.ts.map +1 -1
  276. package/lib/window/IBrowserWindow.d.ts +3 -2
  277. package/lib/window/IBrowserWindow.d.ts.map +1 -1
  278. package/lib/window/ICrossOriginBrowserWindow.d.ts +1 -1
  279. package/lib/window/ICrossOriginBrowserWindow.d.ts.map +1 -1
  280. package/lib/window/WindowPageOpenUtility.d.ts.map +1 -1
  281. package/lib/window/WindowPageOpenUtility.js +4 -2
  282. package/lib/window/WindowPageOpenUtility.js.map +1 -1
  283. package/package.json +1 -1
  284. package/src/browser/BrowserFrame.ts +12 -2
  285. package/src/browser/detached-browser/DetachedBrowserFrame.ts +12 -7
  286. package/src/browser/utilities/BrowserFrameFactory.ts +7 -0
  287. package/src/browser/utilities/BrowserFrameNavigator.ts +28 -18
  288. package/src/browser/utilities/BrowserFrameURL.ts +2 -2
  289. package/src/config/IHTMLElementTagNameMap.ts +148 -0
  290. package/src/config/ISVGElementTagNameMap.ts +67 -0
  291. package/src/event/events/HashChangeEvent.ts +25 -0
  292. package/src/event/events/IHashChangeEventInit.ts +6 -0
  293. package/src/fetch/Fetch.ts +3 -3
  294. package/src/fetch/Request.ts +2 -2
  295. package/src/fetch/SyncFetch.ts +3 -3
  296. package/src/fetch/utilities/FetchRequestHeaderUtility.ts +4 -5
  297. package/src/fetch/utilities/FetchRequestReferrerUtility.ts +2 -1
  298. package/src/form-data/FormData.ts +2 -2
  299. package/src/index.ts +9 -1
  300. package/src/location/Location.ts +257 -0
  301. package/src/named-node-map/NamedNodeMap.ts +1 -0
  302. package/src/nodes/document/Document.ts +224 -17
  303. package/src/nodes/document/IDocument.ts +33 -11
  304. package/src/nodes/document-fragment/DocumentFragment.ts +59 -1
  305. package/src/nodes/document-fragment/IDocumentFragment.ts +14 -0
  306. package/src/nodes/element/Element.ts +120 -1
  307. package/src/nodes/element/HTMLCollection.ts +1 -0
  308. package/src/nodes/html-anchor-element/HTMLAnchorElement.ts +2 -0
  309. package/src/nodes/html-button-element/HTMLButtonElement.ts +107 -5
  310. package/src/nodes/html-button-element/IHTMLButtonElement.ts +5 -1
  311. package/src/nodes/html-form-element/HTMLFormControlsCollection.ts +1 -0
  312. package/src/nodes/html-form-element/HTMLFormElement.ts +111 -5
  313. package/src/nodes/html-iframe-element/HTMLIFrameElement.ts +16 -0
  314. package/src/nodes/html-iframe-element/HTMLIFrameElementPageLoader.ts +5 -1
  315. package/src/nodes/html-iframe-element/IHTMLIFrameElement.ts +1 -0
  316. package/src/nodes/html-input-element/HTMLInputElement.ts +111 -57
  317. package/src/nodes/html-input-element/IHTMLInputElement.ts +2 -0
  318. package/src/nodes/html-label-element/HTMLLabelElement.ts +1 -0
  319. package/src/nodes/html-link-element/HTMLLinkElementStyleSheetLoader.ts +1 -1
  320. package/src/nodes/html-script-element/HTMLScriptElementScriptLoader.ts +1 -1
  321. package/src/nodes/html-select-element/HTMLSelectElement.ts +1 -2
  322. package/src/nodes/node/Node.ts +1 -2
  323. package/src/nodes/parent-node/IParentNode.ts +36 -0
  324. package/src/nodes/parent-node/ParentNodeUtility.ts +1 -0
  325. package/src/query-selector/QuerySelector.ts +76 -2
  326. package/src/window/BrowserWindow.ts +11 -4
  327. package/src/window/CrossOriginBrowserWindow.ts +1 -1
  328. package/src/window/IBrowserWindow.ts +3 -2
  329. package/src/window/ICrossOriginBrowserWindow.ts +1 -1
  330. package/src/window/WindowPageOpenUtility.ts +4 -2
  331. package/cjs/url/Location.cjs +0 -111
  332. package/cjs/url/Location.cjs.map +0 -1
  333. package/cjs/url/Location.d.ts +0 -48
  334. package/cjs/url/Location.d.ts.map +0 -1
  335. package/lib/url/Location.d.ts +0 -48
  336. package/lib/url/Location.d.ts.map +0 -1
  337. package/lib/url/Location.js +0 -82
  338. package/lib/url/Location.js.map +0 -1
  339. package/src/url/Location.ts +0 -79
@@ -1,7 +1,7 @@
1
1
  import IElement from '../nodes/element/IElement.js';
2
2
  import * as PropertySymbol from '../PropertySymbol.js';
3
- import INodeList from '../nodes/node/INodeList.js';
4
3
  import SelectorItem from './SelectorItem.js';
4
+ import INodeList from '../nodes/node/INodeList.js';
5
5
  import NodeList from '../nodes/node/NodeList.js';
6
6
  import NodeTypeEnum from '../nodes/node/NodeTypeEnum.js';
7
7
  import SelectorCombinatorEnum from './SelectorCombinatorEnum.js';
@@ -10,6 +10,8 @@ import IDocumentFragment from '../nodes/document-fragment/IDocumentFragment.js';
10
10
  import SelectorParser from './SelectorParser.js';
11
11
  import ISelectorMatch from './ISelectorMatch.js';
12
12
  import Element from '../nodes/element/Element.js';
13
+ import IHTMLElementTagNameMap from '../config/IHTMLElementTagNameMap.js';
14
+ import ISVGElementTagNameMap from '../config/ISVGElementTagNameMap.js';
13
15
 
14
16
  type IDocumentPositionAndElement = {
15
17
  documentPosition: string;
@@ -27,6 +29,42 @@ const INVALID_SELECTOR_REGEXP = /^[.#\[]?\d|[.#]$/;
27
29
  * @class QuerySelector
28
30
  */
29
31
  export default class QuerySelector {
32
+ /**
33
+ * Finds elements based on a query selector.
34
+ *
35
+ * @param node Node to search in.
36
+ * @param selector Selector.
37
+ * @returns HTML elements.
38
+ */
39
+ public static querySelectorAll<K extends keyof IHTMLElementTagNameMap>(
40
+ node: IElement | IDocument | IDocumentFragment,
41
+ selector: K
42
+ ): INodeList<IHTMLElementTagNameMap[K]>;
43
+
44
+ /**
45
+ * Finds elements based on a query selector.
46
+ *
47
+ * @param node Node to search in.
48
+ * @param selector Selector.
49
+ * @returns HTML elements.
50
+ */
51
+ public static querySelectorAll<K extends keyof ISVGElementTagNameMap>(
52
+ node: IElement | IDocument | IDocumentFragment,
53
+ selector: K
54
+ ): INodeList<ISVGElementTagNameMap[K]>;
55
+
56
+ /**
57
+ * Finds elements based on a query selector.
58
+ *
59
+ * @param node Node to search in.
60
+ * @param selector Selector.
61
+ * @returns HTML elements.
62
+ */
63
+ public static querySelectorAll(
64
+ node: IElement | IDocument | IDocumentFragment,
65
+ selector: string
66
+ ): INodeList<IElement>;
67
+
30
68
  /**
31
69
  * Finds elements based on a query selector.
32
70
  *
@@ -38,7 +76,7 @@ export default class QuerySelector {
38
76
  node: IElement | IDocument | IDocumentFragment,
39
77
  selector: string
40
78
  ): INodeList<IElement> {
41
- if (selector === '') {
79
+ if (<string>selector === '') {
42
80
  throw new Error(
43
81
  `Failed to execute 'querySelectorAll' on '${node.constructor.name}': The provided selector is empty.`
44
82
  );
@@ -80,6 +118,42 @@ export default class QuerySelector {
80
118
  return nodeList;
81
119
  }
82
120
 
121
+ /**
122
+ * Finds an element based on a query selector.
123
+ *
124
+ * @param node Node to search in.
125
+ * @param selector Selector.
126
+ * @returns HTML element.
127
+ */
128
+ public static querySelector<K extends keyof IHTMLElementTagNameMap>(
129
+ node: IElement | IDocument | IDocumentFragment,
130
+ selector: K
131
+ ): IHTMLElementTagNameMap[K] | null;
132
+
133
+ /**
134
+ * Finds an element based on a query selector.
135
+ *
136
+ * @param node Node to search in.
137
+ * @param selector Selector.
138
+ * @returns HTML element.
139
+ */
140
+ public static querySelector<K extends keyof ISVGElementTagNameMap>(
141
+ node: IElement | IDocument | IDocumentFragment,
142
+ selector: K
143
+ ): ISVGElementTagNameMap[K] | null;
144
+
145
+ /**
146
+ * Finds an element based on a query selector.
147
+ *
148
+ * @param node Node to search in.
149
+ * @param selector Selector.
150
+ * @returns HTML element.
151
+ */
152
+ public static querySelector(
153
+ node: IElement | IDocument | IDocumentFragment,
154
+ selector: string
155
+ ): IElement | null;
156
+
83
157
  /**
84
158
  * Finds an element based on a query selector.
85
159
  *
@@ -11,7 +11,7 @@ import Comment from '../nodes/comment/Comment.js';
11
11
  import ShadowRoot from '../nodes/shadow-root/ShadowRoot.js';
12
12
  import Element from '../nodes/element/Element.js';
13
13
  import HTMLTemplateElement from '../nodes/html-template-element/HTMLTemplateElement.js';
14
- import HTMLFormElement from '../nodes/html-form-element/HTMLFormElement.js';
14
+ import HTMLFormElementImplementation from '../nodes/html-form-element/HTMLFormElement.js';
15
15
  import HTMLElement from '../nodes/html-element/HTMLElement.js';
16
16
  import HTMLUnknownElement from '../nodes/html-unknown-element/HTMLUnknownElement.js';
17
17
  import HTMLInputElement from '../nodes/html-input-element/HTMLInputElement.js';
@@ -44,13 +44,14 @@ import KeyboardEvent from '../event/events/KeyboardEvent.js';
44
44
  import MessageEvent from '../event/events/MessageEvent.js';
45
45
  import ProgressEvent from '../event/events/ProgressEvent.js';
46
46
  import MediaQueryListEvent from '../event/events/MediaQueryListEvent.js';
47
+ import HashChangeEvent from '../event/events/HashChangeEvent.js';
47
48
  import TouchEvent from '../event/events/TouchEvent.js';
48
49
  import Touch from '../event/Touch.js';
49
50
  import EventTarget from '../event/EventTarget.js';
50
51
  import MessagePort from '../event/MessagePort.js';
51
52
  import { URLSearchParams } from 'url';
52
53
  import URL from '../url/URL.js';
53
- import Location from '../url/Location.js';
54
+ import Location from '../location/Location.js';
54
55
  import MutationObserver from '../mutation-observer/MutationObserver.js';
55
56
  import MutationRecord from '../mutation-observer/MutationRecord.js';
56
57
  import XMLSerializer from '../xml-serializer/XMLSerializer.js';
@@ -196,7 +197,6 @@ export default class BrowserWindow extends EventTarget implements IBrowserWindow
196
197
  public readonly HTMLElement: typeof HTMLElement = HTMLElement;
197
198
  public readonly HTMLUnknownElement: typeof HTMLUnknownElement = HTMLUnknownElement;
198
199
  public readonly HTMLTemplateElement: typeof HTMLTemplateElement = HTMLTemplateElement;
199
- public readonly HTMLFormElement: typeof HTMLFormElement = HTMLFormElement;
200
200
  public readonly HTMLInputElement: typeof HTMLInputElement = HTMLInputElement;
201
201
  public readonly HTMLSelectElement: typeof HTMLSelectElement = HTMLSelectElement;
202
202
  public readonly HTMLTextAreaElement: typeof HTMLTextAreaElement = HTMLTextAreaElement;
@@ -213,6 +213,7 @@ export default class BrowserWindow extends EventTarget implements IBrowserWindow
213
213
  public readonly HTMLScriptElement: typeof HTMLScriptElementImplementation;
214
214
  public readonly HTMLLinkElement: typeof HTMLLinkElementImplementation;
215
215
  public readonly HTMLIFrameElement: typeof HTMLIFrameElementImplementation;
216
+ public readonly HTMLFormElement: typeof HTMLFormElementImplementation;
216
217
 
217
218
  // Non-implemented element classes
218
219
  public readonly HTMLHeadElement: typeof HTMLElement = HTMLElement;
@@ -280,6 +281,7 @@ export default class BrowserWindow extends EventTarget implements IBrowserWindow
280
281
  public readonly SubmitEvent = SubmitEvent;
281
282
  public readonly ProgressEvent = ProgressEvent;
282
283
  public readonly MediaQueryListEvent = MediaQueryListEvent;
284
+ public readonly HashChangeEvent = HashChangeEvent;
283
285
  public readonly ClipboardEvent = ClipboardEvent;
284
286
  public readonly TouchEvent = TouchEvent;
285
287
  public readonly Touch = Touch;
@@ -301,7 +303,6 @@ export default class BrowserWindow extends EventTarget implements IBrowserWindow
301
303
  public readonly EditingBeforeInputEvent = Event;
302
304
  public readonly FetchEvent = Event;
303
305
  public readonly GamepadEvent = Event;
304
- public readonly HashChangeEvent = Event;
305
306
  public readonly IDBVersionChangeEvent = Event;
306
307
  public readonly MediaStreamEvent = Event;
307
308
  public readonly MutationEvent = Event;
@@ -601,6 +602,11 @@ export default class BrowserWindow extends EventTarget implements IBrowserWindow
601
602
  super(browserFrame);
602
603
  }
603
604
  }
605
+ class HTMLFormElement extends HTMLFormElementImplementation {
606
+ constructor() {
607
+ super(browserFrame);
608
+ }
609
+ }
604
610
  class Document extends DocumentImplementation {
605
611
  constructor() {
606
612
  super({ window, browserFrame });
@@ -640,6 +646,7 @@ export default class BrowserWindow extends EventTarget implements IBrowserWindow
640
646
  this.HTMLScriptElement = HTMLScriptElement;
641
647
  this.HTMLLinkElement = HTMLLinkElement;
642
648
  this.HTMLIFrameElement = HTMLIFrameElement;
649
+ this.HTMLFormElement = HTMLFormElement;
643
650
  this.Document = Document;
644
651
  this.HTMLDocument = HTMLDocument;
645
652
  this.XMLDocument = XMLDocument;
@@ -2,7 +2,7 @@ import EventTarget from '../event/EventTarget.js';
2
2
  import IBrowserWindow from './IBrowserWindow.js';
3
3
  import DOMException from '../exception/DOMException.js';
4
4
  import DOMExceptionNameEnum from '../exception/DOMExceptionNameEnum.js';
5
- import Location from '../url/Location.js';
5
+ import Location from '../location/Location.js';
6
6
  import ICrossOriginBrowserWindow from './ICrossOriginBrowserWindow.js';
7
7
 
8
8
  /**
@@ -45,12 +45,13 @@ import AnimationEvent from '../event/events/AnimationEvent.js';
45
45
  import KeyboardEvent from '../event/events/KeyboardEvent.js';
46
46
  import ProgressEvent from '../event/events/ProgressEvent.js';
47
47
  import MediaQueryListEvent from '../event/events/MediaQueryListEvent.js';
48
+ import HashChangeEvent from '../event/events/HashChangeEvent.js';
48
49
  import TouchEvent from '../event/events/TouchEvent.js';
49
50
  import Touch from '../event/Touch.js';
50
51
  import EventTarget from '../event/EventTarget.js';
51
52
  import { URLSearchParams } from 'url';
52
53
  import URL from '../url/URL.js';
53
- import Location from '../url/Location.js';
54
+ import Location from '../location/Location.js';
54
55
  import MutationObserver from '../mutation-observer/MutationObserver.js';
55
56
  import MutationRecord from '../mutation-observer/MutationRecord.js';
56
57
  import DOMParser from '../dom-parser/DOMParser.js';
@@ -259,6 +260,7 @@ export default interface IBrowserWindow extends IEventTarget, INodeJSGlobal {
259
260
  readonly MessagePort: typeof MessagePort;
260
261
  readonly ProgressEvent: typeof ProgressEvent;
261
262
  readonly MediaQueryListEvent: typeof MediaQueryListEvent;
263
+ readonly HashChangeEvent: typeof HashChangeEvent;
262
264
  readonly ClipboardEvent: typeof ClipboardEvent;
263
265
  readonly TouchEvent: typeof TouchEvent;
264
266
  readonly Touch: typeof Touch;
@@ -282,7 +284,6 @@ export default interface IBrowserWindow extends IEventTarget, INodeJSGlobal {
282
284
  readonly EditingBeforeInputEvent: typeof Event;
283
285
  readonly FetchEvent: typeof Event;
284
286
  readonly GamepadEvent: typeof Event;
285
- readonly HashChangeEvent: typeof Event;
286
287
  readonly IDBVersionChangeEvent: typeof Event;
287
288
  readonly MediaStreamEvent: typeof Event;
288
289
  readonly MutationEvent: typeof Event;
@@ -1,5 +1,5 @@
1
1
  import IBrowserWindow from './IBrowserWindow.js';
2
- import Location from '../url/Location.js';
2
+ import Location from '../location/Location.js';
3
3
  import IEventTarget from '../event/IEventTarget.js';
4
4
 
5
5
  /**
@@ -4,6 +4,7 @@ import IBrowserFrame from '../browser/types/IBrowserFrame.js';
4
4
  import FetchCORSUtility from '../fetch/utilities/FetchCORSUtility.js';
5
5
  import ICrossOriginBrowserWindow from './ICrossOriginBrowserWindow.js';
6
6
  import BrowserFrameURL from '../browser/utilities/BrowserFrameURL.js';
7
+ import { URL } from 'url';
7
8
  import * as PropertySymbol from '../PropertySymbol.js';
8
9
 
9
10
  /**
@@ -29,7 +30,7 @@ export default class WindowPageOpenUtility {
29
30
  ): IBrowserWindow | ICrossOriginBrowserWindow | null {
30
31
  const features = this.getWindowFeatures(options?.features || '');
31
32
  const target = options?.target !== undefined ? String(options.target) : null;
32
- const originURL = browserFrame.window.location;
33
+ const originURL = new URL(browserFrame.window.location.href);
33
34
  const targetURL = BrowserFrameURL.getRelativeURL(browserFrame, options.url);
34
35
  const oldWindow = browserFrame.window;
35
36
  let targetFrame: IBrowserFrame;
@@ -54,7 +55,8 @@ export default class WindowPageOpenUtility {
54
55
 
55
56
  targetFrame
56
57
  .goto(targetURL.href, {
57
- referrer: features.noreferrer ? 'no-referrer' : undefined
58
+ referrer: features.noreferrer ? undefined : browserFrame.window.location.origin,
59
+ referrerPolicy: features.noreferrer ? 'no-referrer' : undefined
58
60
  })
59
61
  .catch((error) => targetFrame.page.console.error(error));
60
62
 
@@ -1,111 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
26
- if (kind === "m") throw new TypeError("Private method is not writable");
27
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
28
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
29
- return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
30
- };
31
- var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
32
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
33
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
34
- return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
35
- };
36
- var __importDefault = (this && this.__importDefault) || function (mod) {
37
- return (mod && mod.__esModule) ? mod : { "default": mod };
38
- };
39
- var _Location_browserFrame;
40
- Object.defineProperty(exports, "__esModule", { value: true });
41
- const URL_js_1 = __importDefault(require("./URL.cjs"));
42
- const PropertySymbol = __importStar(require("../PropertySymbol.cjs"));
43
- /**
44
- * Location.
45
- */
46
- class Location extends URL_js_1.default {
47
- /**
48
- * Constructor.
49
- *
50
- * @param browserFrame Browser frame.
51
- * @param url URL.
52
- */
53
- constructor(browserFrame, url) {
54
- super(url);
55
- _Location_browserFrame.set(this, void 0);
56
- __classPrivateFieldSet(this, _Location_browserFrame, browserFrame, "f");
57
- }
58
- /**
59
- * Override set href.
60
- */
61
- // @ts-ignore
62
- set href(url) {
63
- __classPrivateFieldGet(this, _Location_browserFrame, "f").goto(url).catch((error) => __classPrivateFieldGet(this, _Location_browserFrame, "f").page.console.error(error));
64
- }
65
- /**
66
- * Override set href.
67
- */
68
- get href() {
69
- // @ts-ignore
70
- return super.href;
71
- }
72
- /**
73
- * Replaces the current resource with the one at the provided URL. The difference from the assign() method is that after using replace() the current page will not be saved in session History, meaning the user won't be able to use the back button to navigate to it.
74
- *
75
- * @param url URL.
76
- */
77
- replace(url) {
78
- this.href = url;
79
- }
80
- /**
81
- * Loads the resource at the URL provided in parameter.
82
- *
83
- * @param url URL.
84
- */
85
- assign(url) {
86
- this.href = url;
87
- }
88
- /**
89
- * Reloads the resource from the current URL.
90
- */
91
- reload() {
92
- __classPrivateFieldGet(this, _Location_browserFrame, "f")
93
- .goto(this.href)
94
- .catch((error) => __classPrivateFieldGet(this, _Location_browserFrame, "f").page.console.error(error));
95
- }
96
- /**
97
- * Replaces the current URL state with the provided one without navigating to the new URL.
98
- *
99
- * @param browserFrame Browser frame that must match the current one as validation.
100
- * @param url URL.
101
- */
102
- [(_Location_browserFrame = new WeakMap(), PropertySymbol.setURL)](browserFrame, url) {
103
- if (__classPrivateFieldGet(this, _Location_browserFrame, "f") !== browserFrame) {
104
- throw new Error('Failed to set URL. Browser frame mismatch.');
105
- }
106
- // @ts-ignore
107
- super.href = url;
108
- }
109
- }
110
- exports.default = Location;
111
- //# sourceMappingURL=Location.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Location.cjs","sourceRoot":"","sources":["../../src/url/Location.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,sDAA2B;AAE3B,qEAAuD;AAEvD;;GAEG;AACH,MAAqB,QAAS,SAAQ,gBAAG;IAGxC;;;;;OAKG;IACH,YAAY,YAA2B,EAAE,GAAW;QACnD,KAAK,CAAC,GAAG,CAAC,CAAC;QATZ,yCAA6B;QAU5B,uBAAA,IAAI,0BAAiB,YAAY,MAAA,CAAC;IACnC,CAAC;IAED;;OAEG;IACH,aAAa;IACb,IAAW,IAAI,CAAC,GAAW;QAC1B,uBAAA,IAAI,8BAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,uBAAA,IAAI,8BAAc,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;IAC7F,CAAC;IAED;;OAEG;IACH,IAAW,IAAI;QACd,aAAa;QACb,OAAO,KAAK,CAAC,IAAI,CAAC;IACnB,CAAC;IAED;;;;OAIG;IACI,OAAO,CAAC,GAAW;QACzB,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;IACjB,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,GAAW;QACxB,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;IACjB,CAAC;IAED;;OAEG;IACI,MAAM;QACZ,uBAAA,IAAI,8BAAc;aAChB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;aACf,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,uBAAA,IAAI,8BAAc,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;IAClE,CAAC;IAED;;;;;OAKG;IACI,0CAAC,cAAc,CAAC,MAAM,EAAC,CAAC,YAA2B,EAAE,GAAW;QACtE,IAAI,uBAAA,IAAI,8BAAc,KAAK,YAAY,EAAE,CAAC;YACzC,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAC/D,CAAC;QAED,aAAa;QACb,KAAK,CAAC,IAAI,GAAG,GAAG,CAAC;IAClB,CAAC;CACD;AAvED,2BAuEC"}
@@ -1,48 +0,0 @@
1
- import URL from './URL.cjs';
2
- import IBrowserFrame from '../browser/types/IBrowserFrame.cjs';
3
- import * as PropertySymbol from '../PropertySymbol.cjs';
4
- /**
5
- * Location.
6
- */
7
- export default class Location extends URL {
8
- #private;
9
- /**
10
- * Constructor.
11
- *
12
- * @param browserFrame Browser frame.
13
- * @param url URL.
14
- */
15
- constructor(browserFrame: IBrowserFrame, url: string);
16
- /**
17
- * Override set href.
18
- */
19
- set href(url: string);
20
- /**
21
- * Override set href.
22
- */
23
- get href(): string;
24
- /**
25
- * Replaces the current resource with the one at the provided URL. The difference from the assign() method is that after using replace() the current page will not be saved in session History, meaning the user won't be able to use the back button to navigate to it.
26
- *
27
- * @param url URL.
28
- */
29
- replace(url: string): void;
30
- /**
31
- * Loads the resource at the URL provided in parameter.
32
- *
33
- * @param url URL.
34
- */
35
- assign(url: string): void;
36
- /**
37
- * Reloads the resource from the current URL.
38
- */
39
- reload(): void;
40
- /**
41
- * Replaces the current URL state with the provided one without navigating to the new URL.
42
- *
43
- * @param browserFrame Browser frame that must match the current one as validation.
44
- * @param url URL.
45
- */
46
- [PropertySymbol.setURL](browserFrame: IBrowserFrame, url: string): void;
47
- }
48
- //# sourceMappingURL=Location.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Location.d.ts","sourceRoot":"","sources":["../../src/url/Location.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,UAAU,CAAC;AAC3B,OAAO,aAAa,MAAM,mCAAmC,CAAC;AAC9D,OAAO,KAAK,cAAc,MAAM,sBAAsB,CAAC;AAEvD;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,GAAG;;IAGxC;;;;;OAKG;gBACS,YAAY,EAAE,aAAa,EAAE,GAAG,EAAE,MAAM;IAKpD;;OAEG;IAEH,IAAW,IAAI,CAAC,GAAG,EAAE,MAAM,EAE1B;IAED;;OAEG;IACH,IAAW,IAAI,IAAI,MAAM,CAGxB;IAED;;;;OAIG;IACI,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAIjC;;;;OAIG;IACI,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAIhC;;OAEG;IACI,MAAM,IAAI,IAAI;IAMrB;;;;;OAKG;IACI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,YAAY,EAAE,aAAa,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI;CAQ9E"}
@@ -1,48 +0,0 @@
1
- import URL from './URL.js';
2
- import IBrowserFrame from '../browser/types/IBrowserFrame.js';
3
- import * as PropertySymbol from '../PropertySymbol.js';
4
- /**
5
- * Location.
6
- */
7
- export default class Location extends URL {
8
- #private;
9
- /**
10
- * Constructor.
11
- *
12
- * @param browserFrame Browser frame.
13
- * @param url URL.
14
- */
15
- constructor(browserFrame: IBrowserFrame, url: string);
16
- /**
17
- * Override set href.
18
- */
19
- set href(url: string);
20
- /**
21
- * Override set href.
22
- */
23
- get href(): string;
24
- /**
25
- * Replaces the current resource with the one at the provided URL. The difference from the assign() method is that after using replace() the current page will not be saved in session History, meaning the user won't be able to use the back button to navigate to it.
26
- *
27
- * @param url URL.
28
- */
29
- replace(url: string): void;
30
- /**
31
- * Loads the resource at the URL provided in parameter.
32
- *
33
- * @param url URL.
34
- */
35
- assign(url: string): void;
36
- /**
37
- * Reloads the resource from the current URL.
38
- */
39
- reload(): void;
40
- /**
41
- * Replaces the current URL state with the provided one without navigating to the new URL.
42
- *
43
- * @param browserFrame Browser frame that must match the current one as validation.
44
- * @param url URL.
45
- */
46
- [PropertySymbol.setURL](browserFrame: IBrowserFrame, url: string): void;
47
- }
48
- //# sourceMappingURL=Location.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Location.d.ts","sourceRoot":"","sources":["../../src/url/Location.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,UAAU,CAAC;AAC3B,OAAO,aAAa,MAAM,mCAAmC,CAAC;AAC9D,OAAO,KAAK,cAAc,MAAM,sBAAsB,CAAC;AAEvD;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,GAAG;;IAGxC;;;;;OAKG;gBACS,YAAY,EAAE,aAAa,EAAE,GAAG,EAAE,MAAM;IAKpD;;OAEG;IAEH,IAAW,IAAI,CAAC,GAAG,EAAE,MAAM,EAE1B;IAED;;OAEG;IACH,IAAW,IAAI,IAAI,MAAM,CAGxB;IAED;;;;OAIG;IACI,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAIjC;;;;OAIG;IACI,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAIhC;;OAEG;IACI,MAAM,IAAI,IAAI;IAMrB;;;;;OAKG;IACI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,YAAY,EAAE,aAAa,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI;CAQ9E"}
@@ -1,82 +0,0 @@
1
- var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
2
- if (kind === "m") throw new TypeError("Private method is not writable");
3
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
4
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
5
- return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
6
- };
7
- var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
8
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
9
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
10
- return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
11
- };
12
- var _Location_browserFrame;
13
- import URL from './URL.js';
14
- import * as PropertySymbol from '../PropertySymbol.js';
15
- /**
16
- * Location.
17
- */
18
- export default class Location extends URL {
19
- /**
20
- * Constructor.
21
- *
22
- * @param browserFrame Browser frame.
23
- * @param url URL.
24
- */
25
- constructor(browserFrame, url) {
26
- super(url);
27
- _Location_browserFrame.set(this, void 0);
28
- __classPrivateFieldSet(this, _Location_browserFrame, browserFrame, "f");
29
- }
30
- /**
31
- * Override set href.
32
- */
33
- // @ts-ignore
34
- set href(url) {
35
- __classPrivateFieldGet(this, _Location_browserFrame, "f").goto(url).catch((error) => __classPrivateFieldGet(this, _Location_browserFrame, "f").page.console.error(error));
36
- }
37
- /**
38
- * Override set href.
39
- */
40
- get href() {
41
- // @ts-ignore
42
- return super.href;
43
- }
44
- /**
45
- * Replaces the current resource with the one at the provided URL. The difference from the assign() method is that after using replace() the current page will not be saved in session History, meaning the user won't be able to use the back button to navigate to it.
46
- *
47
- * @param url URL.
48
- */
49
- replace(url) {
50
- this.href = url;
51
- }
52
- /**
53
- * Loads the resource at the URL provided in parameter.
54
- *
55
- * @param url URL.
56
- */
57
- assign(url) {
58
- this.href = url;
59
- }
60
- /**
61
- * Reloads the resource from the current URL.
62
- */
63
- reload() {
64
- __classPrivateFieldGet(this, _Location_browserFrame, "f")
65
- .goto(this.href)
66
- .catch((error) => __classPrivateFieldGet(this, _Location_browserFrame, "f").page.console.error(error));
67
- }
68
- /**
69
- * Replaces the current URL state with the provided one without navigating to the new URL.
70
- *
71
- * @param browserFrame Browser frame that must match the current one as validation.
72
- * @param url URL.
73
- */
74
- [(_Location_browserFrame = new WeakMap(), PropertySymbol.setURL)](browserFrame, url) {
75
- if (__classPrivateFieldGet(this, _Location_browserFrame, "f") !== browserFrame) {
76
- throw new Error('Failed to set URL. Browser frame mismatch.');
77
- }
78
- // @ts-ignore
79
- super.href = url;
80
- }
81
- }
82
- //# sourceMappingURL=Location.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Location.js","sourceRoot":"","sources":["../../src/url/Location.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,GAAG,MAAM,UAAU,CAAC;AAE3B,OAAO,KAAK,cAAc,MAAM,sBAAsB,CAAC;AAEvD;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,GAAG;IAGxC;;;;;OAKG;IACH,YAAY,YAA2B,EAAE,GAAW;QACnD,KAAK,CAAC,GAAG,CAAC,CAAC;QATZ,yCAA6B;QAU5B,uBAAA,IAAI,0BAAiB,YAAY,MAAA,CAAC;IACnC,CAAC;IAED;;OAEG;IACH,aAAa;IACb,IAAW,IAAI,CAAC,GAAW;QAC1B,uBAAA,IAAI,8BAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,uBAAA,IAAI,8BAAc,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;IAC7F,CAAC;IAED;;OAEG;IACH,IAAW,IAAI;QACd,aAAa;QACb,OAAO,KAAK,CAAC,IAAI,CAAC;IACnB,CAAC;IAED;;;;OAIG;IACI,OAAO,CAAC,GAAW;QACzB,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;IACjB,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,GAAW;QACxB,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;IACjB,CAAC;IAED;;OAEG;IACI,MAAM;QACZ,uBAAA,IAAI,8BAAc;aAChB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;aACf,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,uBAAA,IAAI,8BAAc,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;IAClE,CAAC;IAED;;;;;OAKG;IACI,0CAAC,cAAc,CAAC,MAAM,EAAC,CAAC,YAA2B,EAAE,GAAW;QACtE,IAAI,uBAAA,IAAI,8BAAc,KAAK,YAAY,EAAE,CAAC;YACzC,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAC/D,CAAC;QAED,aAAa;QACb,KAAK,CAAC,IAAI,GAAG,GAAG,CAAC;IAClB,CAAC;CACD"}
@@ -1,79 +0,0 @@
1
- import URL from './URL.js';
2
- import IBrowserFrame from '../browser/types/IBrowserFrame.js';
3
- import * as PropertySymbol from '../PropertySymbol.js';
4
-
5
- /**
6
- * Location.
7
- */
8
- export default class Location extends URL {
9
- #browserFrame: IBrowserFrame;
10
-
11
- /**
12
- * Constructor.
13
- *
14
- * @param browserFrame Browser frame.
15
- * @param url URL.
16
- */
17
- constructor(browserFrame: IBrowserFrame, url: string) {
18
- super(url);
19
- this.#browserFrame = browserFrame;
20
- }
21
-
22
- /**
23
- * Override set href.
24
- */
25
- // @ts-ignore
26
- public set href(url: string) {
27
- this.#browserFrame.goto(url).catch((error) => this.#browserFrame.page.console.error(error));
28
- }
29
-
30
- /**
31
- * Override set href.
32
- */
33
- public get href(): string {
34
- // @ts-ignore
35
- return super.href;
36
- }
37
-
38
- /**
39
- * Replaces the current resource with the one at the provided URL. The difference from the assign() method is that after using replace() the current page will not be saved in session History, meaning the user won't be able to use the back button to navigate to it.
40
- *
41
- * @param url URL.
42
- */
43
- public replace(url: string): void {
44
- this.href = url;
45
- }
46
-
47
- /**
48
- * Loads the resource at the URL provided in parameter.
49
- *
50
- * @param url URL.
51
- */
52
- public assign(url: string): void {
53
- this.href = url;
54
- }
55
-
56
- /**
57
- * Reloads the resource from the current URL.
58
- */
59
- public reload(): void {
60
- this.#browserFrame
61
- .goto(this.href)
62
- .catch((error) => this.#browserFrame.page.console.error(error));
63
- }
64
-
65
- /**
66
- * Replaces the current URL state with the provided one without navigating to the new URL.
67
- *
68
- * @param browserFrame Browser frame that must match the current one as validation.
69
- * @param url URL.
70
- */
71
- public [PropertySymbol.setURL](browserFrame: IBrowserFrame, url: string): void {
72
- if (this.#browserFrame !== browserFrame) {
73
- throw new Error('Failed to set URL. Browser frame mismatch.');
74
- }
75
-
76
- // @ts-ignore
77
- super.href = url;
78
- }
79
- }