happy-dom 8.9.0 → 9.0.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 (360) hide show
  1. package/README.md +2 -2
  2. package/lib/cookie/CookieJar.js +1 -1
  3. package/lib/cookie/CookieJar.js.map +1 -1
  4. package/lib/dom-token-list/DOMTokenList.js +24 -20
  5. package/lib/dom-token-list/DOMTokenList.js.map +1 -1
  6. package/lib/event/EventTarget.js +6 -3
  7. package/lib/event/EventTarget.js.map +1 -1
  8. package/lib/exception/DOMExceptionNameEnum.d.ts +5 -1
  9. package/lib/exception/DOMExceptionNameEnum.js +4 -0
  10. package/lib/exception/DOMExceptionNameEnum.js.map +1 -1
  11. package/lib/fetch/AbortController.d.ts +19 -0
  12. package/lib/fetch/AbortController.js +30 -0
  13. package/lib/fetch/AbortController.js.map +1 -0
  14. package/lib/fetch/AbortSignal.d.ts +25 -0
  15. package/lib/fetch/AbortSignal.js +51 -0
  16. package/lib/fetch/AbortSignal.js.map +1 -0
  17. package/lib/fetch/Fetch.d.ts +117 -0
  18. package/lib/fetch/Fetch.js +530 -0
  19. package/lib/fetch/Fetch.js.map +1 -0
  20. package/lib/fetch/Headers.d.ts +81 -3
  21. package/lib/fetch/Headers.js +139 -24
  22. package/lib/fetch/Headers.js.map +1 -1
  23. package/lib/fetch/Request.d.ts +56 -32
  24. package/lib/fetch/Request.js +165 -110
  25. package/lib/fetch/Request.js.map +1 -1
  26. package/lib/fetch/{ResourceFetchHandler.d.ts → ResourceFetch.d.ts} +1 -1
  27. package/lib/fetch/{ResourceFetchHandler.js → ResourceFetch.js} +5 -5
  28. package/lib/fetch/ResourceFetch.js.map +1 -0
  29. package/lib/fetch/Response.d.ts +60 -26
  30. package/lib/fetch/Response.js +196 -104
  31. package/lib/fetch/Response.js.map +1 -1
  32. package/lib/fetch/data-uri/DataURIParser.d.ts +20 -0
  33. package/lib/fetch/data-uri/DataURIParser.js +60 -0
  34. package/lib/fetch/data-uri/DataURIParser.js.map +1 -0
  35. package/lib/fetch/multipart/MultipartFormDataParser.d.ts +40 -0
  36. package/lib/fetch/multipart/MultipartFormDataParser.js +81 -0
  37. package/lib/fetch/multipart/MultipartFormDataParser.js.map +1 -0
  38. package/lib/fetch/multipart/MultipartReader.d.ts +49 -0
  39. package/lib/fetch/multipart/MultipartReader.js +178 -0
  40. package/lib/fetch/multipart/MultipartReader.js.map +1 -0
  41. package/lib/fetch/types/IHeaders.d.ts +71 -0
  42. package/lib/fetch/{IHeaders.js.map → types/IHeaders.js.map} +1 -1
  43. package/lib/fetch/types/IHeadersInit.js.map +1 -0
  44. package/lib/fetch/types/IRequest.d.ts +60 -0
  45. package/lib/fetch/{IRequest.js.map → types/IRequest.js.map} +1 -1
  46. package/lib/fetch/types/IRequestBody.d.ts +7 -0
  47. package/lib/fetch/{IBody.js → types/IRequestBody.js} +1 -1
  48. package/lib/fetch/types/IRequestBody.js.map +1 -0
  49. package/lib/fetch/types/IRequestCredentials.d.ts +2 -0
  50. package/lib/fetch/types/IRequestCredentials.js +3 -0
  51. package/lib/fetch/types/IRequestCredentials.js.map +1 -0
  52. package/lib/fetch/{RequestInfo.d.ts → types/IRequestInfo.d.ts} +2 -2
  53. package/lib/fetch/types/IRequestInfo.js +3 -0
  54. package/lib/fetch/types/IRequestInfo.js.map +1 -0
  55. package/lib/fetch/types/IRequestInit.d.ts +21 -0
  56. package/lib/fetch/types/IRequestInit.js.map +1 -0
  57. package/lib/fetch/types/IRequestRedirect.d.ts +2 -0
  58. package/lib/fetch/types/IRequestRedirect.js +3 -0
  59. package/lib/fetch/types/IRequestRedirect.js.map +1 -0
  60. package/lib/fetch/types/IRequestReferrerPolicy.d.ts +2 -0
  61. package/lib/fetch/types/IRequestReferrerPolicy.js +3 -0
  62. package/lib/fetch/types/IRequestReferrerPolicy.js.map +1 -0
  63. package/lib/fetch/types/IResponse.d.ts +27 -0
  64. package/lib/fetch/{IResponse.js.map → types/IResponse.js.map} +1 -1
  65. package/lib/fetch/types/IResponseBody.d.ts +7 -0
  66. package/lib/fetch/types/IResponseBody.js +3 -0
  67. package/lib/fetch/types/IResponseBody.js.map +1 -0
  68. package/lib/fetch/types/IResponseInit.d.ts +9 -0
  69. package/lib/fetch/types/IResponseInit.js.map +1 -0
  70. package/lib/fetch/utilities/FetchBodyUtility.d.ts +44 -0
  71. package/lib/fetch/utilities/FetchBodyUtility.js +156 -0
  72. package/lib/fetch/utilities/FetchBodyUtility.js.map +1 -0
  73. package/lib/fetch/utilities/FetchCORSUtility.d.ts +12 -0
  74. package/lib/fetch/utilities/FetchCORSUtility.js +20 -0
  75. package/lib/fetch/utilities/FetchCORSUtility.js.map +1 -0
  76. package/lib/fetch/utilities/FetchRequestHeaderUtility.d.ts +12 -0
  77. package/lib/fetch/utilities/FetchRequestHeaderUtility.js +45 -0
  78. package/lib/fetch/utilities/FetchRequestHeaderUtility.js.map +1 -0
  79. package/lib/fetch/utilities/FetchRequestReferrerUtility.d.ts +55 -0
  80. package/lib/fetch/utilities/FetchRequestReferrerUtility.js +194 -0
  81. package/lib/fetch/utilities/FetchRequestReferrerUtility.js.map +1 -0
  82. package/lib/fetch/utilities/FetchRequestValidationUtility.d.ts +38 -0
  83. package/lib/fetch/utilities/FetchRequestValidationUtility.js +70 -0
  84. package/lib/fetch/utilities/FetchRequestValidationUtility.js.map +1 -0
  85. package/lib/file/Blob.d.ts +2 -2
  86. package/lib/file/Blob.js +1 -1
  87. package/lib/file/Blob.js.map +1 -1
  88. package/lib/file/File.d.ts +2 -1
  89. package/lib/file/File.js.map +1 -1
  90. package/lib/form-data/FormData.d.ts +98 -0
  91. package/lib/form-data/FormData.js +212 -0
  92. package/lib/form-data/FormData.js.map +1 -0
  93. package/lib/index.d.ts +14 -1
  94. package/lib/index.js +20 -2
  95. package/lib/index.js.map +1 -1
  96. package/lib/nodes/document/Document.d.ts +5 -17
  97. package/lib/nodes/document/Document.js +11 -54
  98. package/lib/nodes/document/Document.js.map +1 -1
  99. package/lib/nodes/document/IDocument.d.ts +1 -1
  100. package/lib/nodes/document-fragment/DocumentFragment.d.ts +3 -14
  101. package/lib/nodes/document-fragment/DocumentFragment.js +7 -51
  102. package/lib/nodes/document-fragment/DocumentFragment.js.map +1 -1
  103. package/lib/nodes/document-fragment/IDocumentFragment.d.ts +2 -1
  104. package/lib/nodes/element/Element.d.ts +8 -8
  105. package/lib/nodes/element/Element.js +28 -45
  106. package/lib/nodes/element/Element.js.map +1 -1
  107. package/lib/nodes/element/ElementUtility.d.ts +32 -0
  108. package/lib/nodes/element/ElementUtility.js +105 -0
  109. package/lib/nodes/element/ElementUtility.js.map +1 -0
  110. package/lib/nodes/element/HTMLCollection.d.ts +26 -3
  111. package/lib/nodes/element/HTMLCollection.js +51 -0
  112. package/lib/nodes/element/HTMLCollection.js.map +1 -1
  113. package/lib/nodes/element/IHTMLCollection.d.ts +9 -2
  114. package/lib/nodes/html-anchor-element/HTMLAnchorElement.js +24 -24
  115. package/lib/nodes/html-anchor-element/HTMLAnchorElement.js.map +1 -1
  116. package/lib/nodes/html-base-element/HTMLBaseElement.js +4 -4
  117. package/lib/nodes/html-base-element/HTMLBaseElement.js.map +1 -1
  118. package/lib/nodes/html-button-element/HTMLButtonElement.d.ts +79 -3
  119. package/lib/nodes/html-button-element/HTMLButtonElement.js +158 -10
  120. package/lib/nodes/html-button-element/HTMLButtonElement.js.map +1 -1
  121. package/lib/nodes/html-button-element/IHTMLButtonElement.d.ts +28 -2
  122. package/lib/nodes/html-dialog-element/HTMLDialogElement.js +3 -3
  123. package/lib/nodes/html-dialog-element/HTMLDialogElement.js.map +1 -1
  124. package/lib/nodes/html-element/HTMLElement.js +12 -12
  125. package/lib/nodes/html-element/HTMLElement.js.map +1 -1
  126. package/lib/nodes/html-form-element/HTMLFormControlsCollection.d.ts +32 -0
  127. package/lib/nodes/html-form-element/HTMLFormControlsCollection.js +58 -0
  128. package/lib/nodes/html-form-element/HTMLFormControlsCollection.js.map +1 -0
  129. package/lib/nodes/html-form-element/HTMLFormElement.d.ts +37 -17
  130. package/lib/nodes/html-form-element/HTMLFormElement.js +128 -37
  131. package/lib/nodes/html-form-element/HTMLFormElement.js.map +1 -1
  132. package/lib/nodes/html-form-element/IHTMLFormControlsCollection.d.ts +25 -0
  133. package/lib/nodes/html-form-element/IHTMLFormControlsCollection.js +3 -0
  134. package/lib/nodes/html-form-element/IHTMLFormControlsCollection.js.map +1 -0
  135. package/lib/nodes/html-form-element/IHTMLFormElement.d.ts +16 -6
  136. package/lib/nodes/html-form-element/IRadioNodeList.d.ts +15 -0
  137. package/lib/nodes/html-form-element/IRadioNodeList.js +3 -0
  138. package/lib/nodes/html-form-element/IRadioNodeList.js.map +1 -0
  139. package/lib/nodes/html-form-element/RadioNodeList.d.ts +16 -0
  140. package/lib/nodes/html-form-element/RadioNodeList.js +28 -0
  141. package/lib/nodes/html-form-element/RadioNodeList.js.map +1 -0
  142. package/lib/nodes/html-image-element/HTMLImageElement.js +19 -19
  143. package/lib/nodes/html-image-element/HTMLImageElement.js.map +1 -1
  144. package/lib/nodes/html-input-element/HTMLInputElement.d.ts +43 -19
  145. package/lib/nodes/html-input-element/HTMLInputElement.js +206 -111
  146. package/lib/nodes/html-input-element/HTMLInputElement.js.map +1 -1
  147. package/lib/nodes/html-input-element/IHTMLInputElement.d.ts +14 -1
  148. package/lib/nodes/html-label-element/HTMLLabelElement.js +3 -7
  149. package/lib/nodes/html-label-element/HTMLLabelElement.js.map +1 -1
  150. package/lib/nodes/html-link-element/HTMLLinkElement.js +21 -21
  151. package/lib/nodes/html-link-element/HTMLLinkElement.js.map +1 -1
  152. package/lib/nodes/html-media-element/HTMLMediaElement.js +21 -21
  153. package/lib/nodes/html-media-element/HTMLMediaElement.js.map +1 -1
  154. package/lib/nodes/html-meta-element/HTMLMetaElement.js +8 -8
  155. package/lib/nodes/html-meta-element/HTMLMetaElement.js.map +1 -1
  156. package/lib/nodes/html-opt-group-element/HTMLOptGroupElement.js +6 -6
  157. package/lib/nodes/html-opt-group-element/HTMLOptGroupElement.js.map +1 -1
  158. package/lib/nodes/html-option-element/HTMLOptionElement.d.ts +3 -4
  159. package/lib/nodes/html-option-element/HTMLOptionElement.js +26 -29
  160. package/lib/nodes/html-option-element/HTMLOptionElement.js.map +1 -1
  161. package/lib/nodes/html-script-element/HTMLScriptElement.js +16 -16
  162. package/lib/nodes/html-script-element/HTMLScriptElement.js.map +1 -1
  163. package/lib/nodes/html-script-element/ScriptUtility.js +5 -5
  164. package/lib/nodes/html-script-element/ScriptUtility.js.map +1 -1
  165. package/lib/nodes/{html-option-element → html-select-element}/HTMLOptionsCollection.d.ts +5 -6
  166. package/lib/nodes/{html-option-element → html-select-element}/HTMLOptionsCollection.js.map +1 -1
  167. package/lib/nodes/html-select-element/HTMLSelectElement.d.ts +42 -41
  168. package/lib/nodes/html-select-element/HTMLSelectElement.js +134 -138
  169. package/lib/nodes/html-select-element/HTMLSelectElement.js.map +1 -1
  170. package/lib/nodes/{html-option-element → html-select-element}/IHTMLOptionsCollection.d.ts +4 -5
  171. package/lib/nodes/html-select-element/IHTMLOptionsCollection.js.map +1 -0
  172. package/lib/nodes/html-select-element/IHTMLSelectElement.d.ts +22 -2
  173. package/lib/nodes/html-slot-element/HTMLSlotElement.js +2 -2
  174. package/lib/nodes/html-slot-element/HTMLSlotElement.js.map +1 -1
  175. package/lib/nodes/html-style-element/HTMLStyleElement.js +7 -7
  176. package/lib/nodes/html-style-element/HTMLStyleElement.js.map +1 -1
  177. package/lib/nodes/html-text-area-element/HTMLTextAreaElement.d.ts +55 -2
  178. package/lib/nodes/html-text-area-element/HTMLTextAreaElement.js +150 -40
  179. package/lib/nodes/html-text-area-element/HTMLTextAreaElement.js.map +1 -1
  180. package/lib/nodes/html-text-area-element/IHTMLTextAreaElement.d.ts +16 -0
  181. package/lib/nodes/node/Node.d.ts +12 -1
  182. package/lib/nodes/node/Node.js +50 -4
  183. package/lib/nodes/node/Node.js.map +1 -1
  184. package/lib/nodes/node/NodeList.d.ts +2 -3
  185. package/lib/nodes/node/NodeList.js.map +1 -1
  186. package/lib/nodes/parent-node/IParentNode.d.ts +4 -4
  187. package/lib/nodes/parent-node/ParentNodeUtility.d.ts +3 -3
  188. package/lib/nodes/parent-node/ParentNodeUtility.js +13 -11
  189. package/lib/nodes/parent-node/ParentNodeUtility.js.map +1 -1
  190. package/lib/nodes/text/Text.d.ts +13 -0
  191. package/lib/nodes/text/Text.js +30 -0
  192. package/lib/nodes/text/Text.js.map +1 -1
  193. package/lib/query-selector/QuerySelector.js +2 -2
  194. package/lib/query-selector/QuerySelector.js.map +1 -1
  195. package/lib/query-selector/SelectorItem.js +2 -0
  196. package/lib/query-selector/SelectorItem.js.map +1 -1
  197. package/lib/validity-state/ValidityState.d.ts +87 -0
  198. package/lib/validity-state/ValidityState.js +171 -0
  199. package/lib/validity-state/ValidityState.js.map +1 -0
  200. package/lib/window/GlobalWindow.d.ts +0 -8
  201. package/lib/window/GlobalWindow.js +0 -2
  202. package/lib/window/GlobalWindow.js.map +1 -1
  203. package/lib/window/INodeJSGlobal.d.ts +71 -0
  204. package/lib/window/INodeJSGlobal.js +2 -0
  205. package/lib/window/INodeJSGlobal.js.map +1 -0
  206. package/lib/window/IWindow.d.ts +30 -10
  207. package/lib/window/Window.d.ts +36 -20
  208. package/lib/window/Window.js +16 -9
  209. package/lib/window/Window.js.map +1 -1
  210. package/lib/xml-http-request/XMLHttpRequest.js +20 -12
  211. package/lib/xml-http-request/XMLHttpRequest.js.map +1 -1
  212. package/lib/xml-parser/XMLParser.js +1 -1
  213. package/lib/xml-parser/XMLParser.js.map +1 -1
  214. package/package.json +2 -3
  215. package/src/cookie/CookieJar.ts +1 -1
  216. package/src/dom-token-list/DOMTokenList.ts +24 -20
  217. package/src/event/EventTarget.ts +7 -3
  218. package/src/exception/DOMExceptionNameEnum.ts +5 -1
  219. package/src/fetch/AbortController.ts +26 -0
  220. package/src/fetch/AbortSignal.ts +44 -0
  221. package/src/fetch/Fetch.ts +666 -0
  222. package/src/fetch/Headers.ts +151 -3
  223. package/src/fetch/Request.ts +226 -94
  224. package/src/fetch/{ResourceFetchHandler.ts → ResourceFetch.ts} +3 -3
  225. package/src/fetch/Response.ts +252 -89
  226. package/src/fetch/data-uri/DataURIParser.ts +66 -0
  227. package/src/fetch/multipart/MultipartFormDataParser.ts +113 -0
  228. package/src/fetch/multipart/MultipartReader.ts +217 -0
  229. package/src/fetch/types/IHeaders.ts +80 -0
  230. package/src/fetch/types/IRequest.ts +65 -0
  231. package/src/fetch/types/IRequestBody.ts +15 -0
  232. package/src/fetch/types/IRequestCredentials.ts +2 -0
  233. package/src/fetch/types/IRequestInfo.ts +6 -0
  234. package/src/fetch/types/IRequestInit.ts +21 -0
  235. package/src/fetch/types/IRequestRedirect.ts +3 -0
  236. package/src/fetch/types/IRequestReferrerPolicy.ts +11 -0
  237. package/src/fetch/types/IResponse.ts +27 -0
  238. package/src/fetch/types/IResponseBody.ts +15 -0
  239. package/src/fetch/types/IResponseInit.ts +10 -0
  240. package/src/fetch/utilities/FetchBodyUtility.ts +175 -0
  241. package/src/fetch/utilities/FetchCORSUtility.ts +18 -0
  242. package/src/fetch/utilities/FetchRequestHeaderUtility.ts +47 -0
  243. package/src/fetch/utilities/FetchRequestReferrerUtility.ts +241 -0
  244. package/src/fetch/utilities/FetchRequestValidationUtility.ts +82 -0
  245. package/src/file/Blob.ts +2 -2
  246. package/src/file/File.ts +5 -1
  247. package/src/form-data/FormData.ts +237 -0
  248. package/src/index.ts +27 -1
  249. package/src/nodes/document/Document.ts +23 -64
  250. package/src/nodes/document/IDocument.ts +1 -1
  251. package/src/nodes/document-fragment/DocumentFragment.ts +9 -59
  252. package/src/nodes/document-fragment/IDocumentFragment.ts +2 -1
  253. package/src/nodes/element/Element.ts +43 -56
  254. package/src/nodes/element/ElementUtility.ts +137 -0
  255. package/src/nodes/element/HTMLCollection.ts +60 -3
  256. package/src/nodes/element/IHTMLCollection.ts +10 -2
  257. package/src/nodes/html-anchor-element/HTMLAnchorElement.ts +24 -24
  258. package/src/nodes/html-base-element/HTMLBaseElement.ts +4 -4
  259. package/src/nodes/html-button-element/HTMLButtonElement.ts +184 -10
  260. package/src/nodes/html-button-element/IHTMLButtonElement.ts +31 -2
  261. package/src/nodes/html-dialog-element/HTMLDialogElement.ts +3 -3
  262. package/src/nodes/html-element/HTMLElement.ts +12 -12
  263. package/src/nodes/html-form-element/HTMLFormControlsCollection.ts +76 -0
  264. package/src/nodes/html-form-element/HTMLFormElement.ts +147 -41
  265. package/src/nodes/html-form-element/IHTMLFormControlsCollection.ts +45 -0
  266. package/src/nodes/html-form-element/IHTMLFormElement.ts +17 -6
  267. package/src/nodes/html-form-element/IRadioNodeList.ts +16 -0
  268. package/src/nodes/html-form-element/RadioNodeList.ts +24 -0
  269. package/src/nodes/html-image-element/HTMLImageElement.ts +19 -19
  270. package/src/nodes/html-input-element/HTMLInputElement.ts +232 -113
  271. package/src/nodes/html-input-element/IHTMLInputElement.ts +20 -1
  272. package/src/nodes/html-label-element/HTMLLabelElement.ts +3 -7
  273. package/src/nodes/html-link-element/HTMLLinkElement.ts +21 -21
  274. package/src/nodes/html-media-element/HTMLMediaElement.ts +21 -21
  275. package/src/nodes/html-meta-element/HTMLMetaElement.ts +8 -8
  276. package/src/nodes/html-opt-group-element/HTMLOptGroupElement.ts +6 -6
  277. package/src/nodes/html-option-element/HTMLOptionElement.ts +29 -30
  278. package/src/nodes/html-script-element/HTMLScriptElement.ts +16 -16
  279. package/src/nodes/html-script-element/ScriptUtility.ts +5 -5
  280. package/src/nodes/{html-option-element → html-select-element}/HTMLOptionsCollection.ts +5 -9
  281. package/src/nodes/html-select-element/HTMLSelectElement.ts +159 -170
  282. package/src/nodes/{html-option-element → html-select-element}/IHTMLOptionsCollection.ts +4 -8
  283. package/src/nodes/html-select-element/IHTMLSelectElement.ts +25 -2
  284. package/src/nodes/html-slot-element/HTMLSlotElement.ts +2 -2
  285. package/src/nodes/html-style-element/HTMLStyleElement.ts +7 -7
  286. package/src/nodes/html-text-area-element/HTMLTextAreaElement.ts +174 -41
  287. package/src/nodes/html-text-area-element/IHTMLTextAreaElement.ts +18 -0
  288. package/src/nodes/node/Node.ts +61 -6
  289. package/src/nodes/node/NodeList.ts +2 -3
  290. package/src/nodes/parent-node/IParentNode.ts +7 -4
  291. package/src/nodes/parent-node/ParentNodeUtility.ts +25 -15
  292. package/src/nodes/text/Text.ts +38 -0
  293. package/src/query-selector/QuerySelector.ts +2 -2
  294. package/src/query-selector/SelectorItem.ts +3 -0
  295. package/src/validity-state/ValidityState.ts +211 -0
  296. package/src/window/GlobalWindow.ts +0 -2
  297. package/src/window/INodeJSGlobal.ts +70 -0
  298. package/src/window/IWindow.ts +32 -10
  299. package/src/window/Window.ts +37 -20
  300. package/src/xml-http-request/XMLHttpRequest.ts +27 -26
  301. package/src/xml-parser/XMLParser.ts +1 -1
  302. package/lib/fetch/FetchHandler.d.ts +0 -18
  303. package/lib/fetch/FetchHandler.js +0 -83
  304. package/lib/fetch/FetchHandler.js.map +0 -1
  305. package/lib/fetch/IAbortSignal.d.ts +0 -16
  306. package/lib/fetch/IAbortSignal.js +0 -4
  307. package/lib/fetch/IAbortSignal.js.map +0 -1
  308. package/lib/fetch/IBody.d.ts +0 -17
  309. package/lib/fetch/IBody.js.map +0 -1
  310. package/lib/fetch/IHeaders.d.ts +0 -18
  311. package/lib/fetch/IHeadersInit.js.map +0 -1
  312. package/lib/fetch/IRequest.d.ts +0 -18
  313. package/lib/fetch/IRequestInit.d.ts +0 -16
  314. package/lib/fetch/IRequestInit.js.map +0 -1
  315. package/lib/fetch/IResponse.d.ts +0 -20
  316. package/lib/fetch/IResponseInit.d.ts +0 -9
  317. package/lib/fetch/IResponseInit.js.map +0 -1
  318. package/lib/fetch/RequestInfo.js +0 -3
  319. package/lib/fetch/RequestInfo.js.map +0 -1
  320. package/lib/fetch/ResourceFetchHandler.js.map +0 -1
  321. package/lib/form-data/IFormData.d.ts +0 -32
  322. package/lib/form-data/IFormData.js +0 -3
  323. package/lib/form-data/IFormData.js.map +0 -1
  324. package/lib/location/RelativeURL.d.ts +0 -15
  325. package/lib/location/RelativeURL.js +0 -19
  326. package/lib/location/RelativeURL.js.map +0 -1
  327. package/lib/nodes/element/HTMLCollectionFactory.d.ts +0 -21
  328. package/lib/nodes/element/HTMLCollectionFactory.js +0 -31
  329. package/lib/nodes/element/HTMLCollectionFactory.js.map +0 -1
  330. package/lib/nodes/html-option-element/IHTMLOptionsCollection.js.map +0 -1
  331. package/lib/nodes/node/NodeListFactory.d.ts +0 -21
  332. package/lib/nodes/node/NodeListFactory.js +0 -31
  333. package/lib/nodes/node/NodeListFactory.js.map +0 -1
  334. package/lib/nodes/validity-state/ValidityState.d.ts +0 -52
  335. package/lib/nodes/validity-state/ValidityState.js +0 -81
  336. package/lib/nodes/validity-state/ValidityState.js.map +0 -1
  337. package/src/fetch/FetchHandler.ts +0 -90
  338. package/src/fetch/IAbortSignal.ts +0 -34
  339. package/src/fetch/IBody.ts +0 -18
  340. package/src/fetch/IHeaders.ts +0 -18
  341. package/src/fetch/IRequest.ts +0 -59
  342. package/src/fetch/IRequestInit.ts +0 -41
  343. package/src/fetch/IResponse.ts +0 -22
  344. package/src/fetch/IResponseInit.ts +0 -10
  345. package/src/fetch/RequestInfo.ts +0 -6
  346. package/src/form-data/IFormData.ts +0 -33
  347. package/src/location/RelativeURL.ts +0 -17
  348. package/src/nodes/element/HTMLCollectionFactory.ts +0 -31
  349. package/src/nodes/node/NodeListFactory.ts +0 -31
  350. package/src/nodes/validity-state/ValidityState.ts +0 -84
  351. /package/lib/fetch/{IHeaders.js → types/IHeaders.js} +0 -0
  352. /package/lib/fetch/{IHeadersInit.d.ts → types/IHeadersInit.d.ts} +0 -0
  353. /package/lib/fetch/{IHeadersInit.js → types/IHeadersInit.js} +0 -0
  354. /package/lib/fetch/{IRequest.js → types/IRequest.js} +0 -0
  355. /package/lib/fetch/{IRequestInit.js → types/IRequestInit.js} +0 -0
  356. /package/lib/fetch/{IResponse.js → types/IResponse.js} +0 -0
  357. /package/lib/fetch/{IResponseInit.js → types/IResponseInit.js} +0 -0
  358. /package/lib/nodes/{html-option-element → html-select-element}/HTMLOptionsCollection.js +0 -0
  359. /package/lib/nodes/{html-option-element → html-select-element}/IHTMLOptionsCollection.js +0 -0
  360. /package/src/fetch/{IHeadersInit.ts → types/IHeadersInit.ts} +0 -0
@@ -1,14 +1,32 @@
1
+ import ValidityState from '../../validity-state/ValidityState';
2
+ import IAttr from '../attr/IAttr';
1
3
  import HTMLElement from '../html-element/HTMLElement';
4
+ import IHTMLFormElement from '../html-form-element/IHTMLFormElement';
5
+ import IHTMLLabelElement from '../html-label-element/IHTMLLabelElement';
6
+ import INode from '../node/INode';
7
+ import INodeList from '../node/INodeList';
2
8
  import IHTMLButtonElement from './IHTMLButtonElement';
3
9
  /**
4
-
5
- We can improve performance a bit if we make the types as a constant.
6
10
  * HTML Button Element.
7
11
  *
8
12
  * Reference:
9
13
  * https://developer.mozilla.org/en-US/docs/Web/API/HTMLButtonElement.
10
14
  */
11
15
  export default class HTMLButtonElement extends HTMLElement implements IHTMLButtonElement {
16
+ readonly validationMessage = "";
17
+ readonly validity: ValidityState;
18
+ /**
19
+ * Returns name.
20
+ *
21
+ * @returns Name.
22
+ */
23
+ get name(): string;
24
+ /**
25
+ * Sets name.
26
+ *
27
+ * @param name Name.
28
+ */
29
+ set name(name: string);
12
30
  /**
13
31
  * Returns value.
14
32
  *
@@ -46,8 +64,66 @@ export default class HTMLButtonElement extends HTMLElement implements IHTMLButto
46
64
  */
47
65
  set type(v: string);
48
66
  /**
67
+ * Returns no validate.
68
+ *
69
+ * @returns No validate.
70
+ */
71
+ get formNoValidate(): boolean;
72
+ /**
73
+ * Sets no validate.
74
+ *
75
+ * @param formNoValidate No validate.
76
+ */
77
+ set formNoValidate(formNoValidate: boolean);
78
+ /**
79
+ * Returns the parent form element.
80
+ *
81
+ * @returns Form.
82
+ */
83
+ get form(): IHTMLFormElement;
84
+ /**
85
+ * Returns the associated label elements.
86
+ *
87
+ * @returns Label elements.
88
+ */
89
+ get labels(): INodeList<IHTMLLabelElement>;
90
+ /**
91
+ * Checks validity.
49
92
  *
50
- * @param type
93
+ * @returns "true" if the field is valid.
94
+ */
95
+ checkValidity(): boolean;
96
+ /**
97
+ * Reports validity.
98
+ *
99
+ * @returns Validity.
100
+ */
101
+ reportValidity(): boolean;
102
+ /**
103
+ * Sets validation message.
104
+ *
105
+ * @param message Message.
106
+ */
107
+ setCustomValidity(message: string): void;
108
+ /**
109
+ * Sanitizes type.
110
+ *
111
+ * TODO: We can improve performance a bit if we make the types as a constant.
112
+ *
113
+ * @param type Type.
114
+ * @returns Type sanitized.
51
115
  */
52
116
  protected _sanitizeType(type: string): string;
117
+ /**
118
+ * @override
119
+ */
120
+ setAttributeNode(attribute: IAttr): IAttr;
121
+ /**
122
+ * @override
123
+ */
124
+ removeAttributeNode(attribute: IAttr): IAttr;
125
+ /**
126
+ * @override
127
+ */
128
+ _connectToNode(parentNode?: INode): void;
53
129
  }
@@ -3,24 +3,46 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
+ const Event_1 = __importDefault(require("../../event/Event"));
7
+ const ValidityState_1 = __importDefault(require("../../validity-state/ValidityState"));
6
8
  const HTMLElement_1 = __importDefault(require("../html-element/HTMLElement"));
9
+ const NodeList_1 = __importDefault(require("../node/NodeList"));
7
10
  const BUTTON_TYPES = ['submit', 'reset', 'button', 'menu'];
8
11
  /**
9
-
10
- We can improve performance a bit if we make the types as a constant.
11
12
  * HTML Button Element.
12
13
  *
13
14
  * Reference:
14
15
  * https://developer.mozilla.org/en-US/docs/Web/API/HTMLButtonElement.
15
16
  */
16
17
  class HTMLButtonElement extends HTMLElement_1.default {
18
+ constructor() {
19
+ super(...arguments);
20
+ this.validationMessage = '';
21
+ this.validity = new ValidityState_1.default(this);
22
+ }
23
+ /**
24
+ * Returns name.
25
+ *
26
+ * @returns Name.
27
+ */
28
+ get name() {
29
+ return this.getAttribute('name') || '';
30
+ }
31
+ /**
32
+ * Sets name.
33
+ *
34
+ * @param name Name.
35
+ */
36
+ set name(name) {
37
+ this.setAttribute('name', name);
38
+ }
17
39
  /**
18
40
  * Returns value.
19
41
  *
20
42
  * @returns Value.
21
43
  */
22
44
  get value() {
23
- return this.getAttributeNS(null, 'value');
45
+ return this.getAttribute('value');
24
46
  }
25
47
  /**
26
48
  * Sets value.
@@ -28,7 +50,7 @@ class HTMLButtonElement extends HTMLElement_1.default {
28
50
  * @param value Value.
29
51
  */
30
52
  set value(value) {
31
- this.setAttributeNS(null, 'value', value);
53
+ this.setAttribute('value', value);
32
54
  }
33
55
  /**
34
56
  * Returns disabled.
@@ -36,7 +58,7 @@ class HTMLButtonElement extends HTMLElement_1.default {
36
58
  * @returns Disabled.
37
59
  */
38
60
  get disabled() {
39
- return this.getAttributeNS(null, 'disabled') !== null;
61
+ return this.getAttribute('disabled') !== null;
40
62
  }
41
63
  /**
42
64
  * Sets disabled.
@@ -45,10 +67,10 @@ class HTMLButtonElement extends HTMLElement_1.default {
45
67
  */
46
68
  set disabled(disabled) {
47
69
  if (!disabled) {
48
- this.removeAttributeNS(null, 'disabled');
70
+ this.removeAttribute('disabled');
49
71
  }
50
72
  else {
51
- this.setAttributeNS(null, 'disabled', '');
73
+ this.setAttribute('disabled', '');
52
74
  }
53
75
  }
54
76
  /**
@@ -57,7 +79,7 @@ class HTMLButtonElement extends HTMLElement_1.default {
57
79
  * @returns Type
58
80
  */
59
81
  get type() {
60
- return this._sanitizeType(this.getAttributeNS(null, 'type'));
82
+ return this._sanitizeType(this.getAttribute('type'));
61
83
  }
62
84
  /**
63
85
  * Sets type
@@ -65,11 +87,94 @@ class HTMLButtonElement extends HTMLElement_1.default {
65
87
  * @param v Type
66
88
  */
67
89
  set type(v) {
68
- this.setAttributeNS(null, 'type', this._sanitizeType(v));
90
+ this.setAttribute('type', this._sanitizeType(v));
91
+ }
92
+ /**
93
+ * Returns no validate.
94
+ *
95
+ * @returns No validate.
96
+ */
97
+ get formNoValidate() {
98
+ return this.getAttribute('formnovalidate') !== null;
99
+ }
100
+ /**
101
+ * Sets no validate.
102
+ *
103
+ * @param formNoValidate No validate.
104
+ */
105
+ set formNoValidate(formNoValidate) {
106
+ if (!formNoValidate) {
107
+ this.removeAttribute('formnovalidate');
108
+ }
109
+ else {
110
+ this.setAttribute('formnovalidate', '');
111
+ }
112
+ }
113
+ /**
114
+ * Returns the parent form element.
115
+ *
116
+ * @returns Form.
117
+ */
118
+ get form() {
119
+ return this._formNode;
69
120
  }
70
121
  /**
122
+ * Returns the associated label elements.
71
123
  *
72
- * @param type
124
+ * @returns Label elements.
125
+ */
126
+ get labels() {
127
+ const id = this.id;
128
+ if (id) {
129
+ const rootNode = this.getRootNode();
130
+ const labels = rootNode.querySelectorAll(`label[for="${id}"]`);
131
+ let parent = this.parentNode;
132
+ while (parent) {
133
+ if (parent['tagName'] === 'LABEL') {
134
+ labels.push(parent);
135
+ break;
136
+ }
137
+ parent = parent.parentNode;
138
+ }
139
+ return labels;
140
+ }
141
+ return new NodeList_1.default();
142
+ }
143
+ /**
144
+ * Checks validity.
145
+ *
146
+ * @returns "true" if the field is valid.
147
+ */
148
+ checkValidity() {
149
+ const valid = this.disabled || this.type === 'reset' || this.type === 'button' || this.validity.valid;
150
+ if (!valid) {
151
+ this.dispatchEvent(new Event_1.default('invalid', { bubbles: true, cancelable: true }));
152
+ }
153
+ return valid;
154
+ }
155
+ /**
156
+ * Reports validity.
157
+ *
158
+ * @returns Validity.
159
+ */
160
+ reportValidity() {
161
+ return this.checkValidity();
162
+ }
163
+ /**
164
+ * Sets validation message.
165
+ *
166
+ * @param message Message.
167
+ */
168
+ setCustomValidity(message) {
169
+ this.validationMessage = String(message);
170
+ }
171
+ /**
172
+ * Sanitizes type.
173
+ *
174
+ * TODO: We can improve performance a bit if we make the types as a constant.
175
+ *
176
+ * @param type Type.
177
+ * @returns Type sanitized.
73
178
  */
74
179
  _sanitizeType(type) {
75
180
  type = (type && type.toLowerCase()) || 'submit';
@@ -78,6 +183,49 @@ class HTMLButtonElement extends HTMLElement_1.default {
78
183
  }
79
184
  return type;
80
185
  }
186
+ /**
187
+ * @override
188
+ */
189
+ setAttributeNode(attribute) {
190
+ const replacedAttribute = super.setAttributeNode(attribute);
191
+ const oldValue = replacedAttribute ? replacedAttribute.value : null;
192
+ if ((attribute.name === 'id' || attribute.name === 'name') && this._formNode) {
193
+ if (oldValue) {
194
+ this._formNode._removeFormControlItem(this, oldValue);
195
+ }
196
+ if (attribute.value) {
197
+ this._formNode._appendFormControlItem(this, attribute.value);
198
+ }
199
+ }
200
+ return replacedAttribute;
201
+ }
202
+ /**
203
+ * @override
204
+ */
205
+ removeAttributeNode(attribute) {
206
+ super.removeAttributeNode(attribute);
207
+ if ((attribute.name === 'id' || attribute.name === 'name') && this._formNode) {
208
+ this._formNode._removeFormControlItem(this, attribute.value);
209
+ }
210
+ return attribute;
211
+ }
212
+ /**
213
+ * @override
214
+ */
215
+ _connectToNode(parentNode = null) {
216
+ const oldFormNode = this._formNode;
217
+ super._connectToNode(parentNode);
218
+ if (oldFormNode !== this._formNode) {
219
+ if (oldFormNode) {
220
+ oldFormNode._removeFormControlItem(this, this.name);
221
+ oldFormNode._removeFormControlItem(this, this.id);
222
+ }
223
+ if (this._formNode) {
224
+ this._formNode._appendFormControlItem(this, this.name);
225
+ this._formNode._appendFormControlItem(this, this.id);
226
+ }
227
+ }
228
+ }
81
229
  }
82
230
  exports.default = HTMLButtonElement;
83
231
  //# sourceMappingURL=HTMLButtonElement.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"HTMLButtonElement.js","sourceRoot":"","sources":["../../../src/nodes/html-button-element/HTMLButtonElement.ts"],"names":[],"mappings":";;;;;AAAA,8EAAsD;AAGtD,MAAM,YAAY,GAAG,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;AAE3D;;;;;;;GAOG;AACH,MAAqB,iBAAkB,SAAQ,qBAAW;IACzD;;;;OAIG;IACH,IAAW,KAAK;QACf,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC3C,CAAC;IAED;;;;OAIG;IACH,IAAW,KAAK,CAAC,KAAa;QAC7B,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;IAC3C,CAAC;IAED;;;;OAIG;IACH,IAAW,QAAQ;QAClB,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,UAAU,CAAC,KAAK,IAAI,CAAC;IACvD,CAAC;IAED;;;;OAIG;IACH,IAAW,QAAQ,CAAC,QAAiB;QACpC,IAAI,CAAC,QAAQ,EAAE;YACd,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;SACzC;aAAM;YACN,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC;SAC1C;IACF,CAAC;IAED;;;;OAIG;IACH,IAAW,IAAI;QACd,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;IAC9D,CAAC;IAED;;;;OAIG;IACH,IAAW,IAAI,CAAC,CAAS;QACxB,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1D,CAAC;IAED;;;OAGG;IACO,aAAa,CAAC,IAAY;QACnC,IAAI,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI,QAAQ,CAAC;QAEhD,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;YACjC,IAAI,GAAG,QAAQ,CAAC;SAChB;QAED,OAAO,IAAI,CAAC;IACb,CAAC;CACD;AAxED,oCAwEC"}
1
+ {"version":3,"file":"HTMLButtonElement.js","sourceRoot":"","sources":["../../../src/nodes/html-button-element/HTMLButtonElement.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,7 @@
1
1
  import IHTMLElement from '../html-element/IHTMLElement';
2
+ import IHTMLFormElement from '../html-form-element/IHTMLFormElement';
3
+ import IHTMLLabelElement from '../html-label-element/IHTMLLabelElement';
4
+ import INodeList from '../node/INodeList';
2
5
  /**
3
6
  * HTML Button Element.
4
7
  *
@@ -6,7 +9,30 @@ import IHTMLElement from '../html-element/IHTMLElement';
6
9
  * https://developer.mozilla.org/en-US/docs/Web/API/HTMLButtonElement.
7
10
  */
8
11
  export default interface IHTMLButtonElement extends IHTMLElement {
9
- type: string;
10
- disabled: boolean;
12
+ name: string;
11
13
  value: string;
14
+ disabled: boolean;
15
+ type: string;
16
+ formNoValidate: boolean;
17
+ readonly form: IHTMLFormElement;
18
+ readonly validationMessage: string;
19
+ readonly labels: INodeList<IHTMLLabelElement>;
20
+ /**
21
+ * Checks validity.
22
+ *
23
+ * @returns Validity.
24
+ */
25
+ checkValidity(): boolean;
26
+ /**
27
+ * Reports validity.
28
+ *
29
+ * @returns Validity.
30
+ */
31
+ reportValidity(): boolean;
32
+ /**
33
+ * Sets validation message.
34
+ *
35
+ * @param message Message.
36
+ */
37
+ setCustomValidity(message: string): void;
12
38
  }
@@ -33,7 +33,7 @@ class HTMLDialogElement extends HTMLElement_1.default {
33
33
  * @param [returnValue] ReturnValue.
34
34
  */
35
35
  close(returnValue = '') {
36
- this.removeAttributeNS(null, 'open');
36
+ this.removeAttribute('open');
37
37
  this.returnValue = returnValue;
38
38
  this.dispatchEvent(new Event_1.default('close'));
39
39
  }
@@ -41,13 +41,13 @@ class HTMLDialogElement extends HTMLElement_1.default {
41
41
  * Shows the modal.
42
42
  */
43
43
  showModal() {
44
- this.setAttributeNS(null, 'open', '');
44
+ this.setAttribute('open', '');
45
45
  }
46
46
  /**
47
47
  * Shows the dialog.
48
48
  */
49
49
  show() {
50
- this.setAttributeNS(null, 'open', '');
50
+ this.setAttribute('open', '');
51
51
  }
52
52
  }
53
53
  exports.default = HTMLDialogElement;
@@ -1 +1 @@
1
- {"version":3,"file":"HTMLDialogElement.js","sourceRoot":"","sources":["../../../src/nodes/html-dialog-element/HTMLDialogElement.ts"],"names":[],"mappings":";;;;;AAAA,8DAAsC;AACtC,8EAAsD;AAGtD;;;;;GAKG;AACH,MAAqB,iBAAkB,SAAQ,qBAAW;IAA1D;;QACQ,gBAAW,GAAG,EAAE,CAAC;QAExB,SAAS;QACF,aAAQ,GAAkC,IAAI,CAAC;QAC/C,YAAO,GAAkC,IAAI,CAAC;IAmCtD,CAAC;IAjCA;;;;OAIG;IACH,IAAW,IAAI;QACd,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC1C,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,WAAW,GAAG,EAAE;QAC5B,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACrC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,aAAa,CAAC,IAAI,eAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IACxC,CAAC;IAED;;OAEG;IACI,SAAS;QACf,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;IACvC,CAAC;IAED;;OAEG;IACI,IAAI;QACV,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;IACvC,CAAC;CACD;AAxCD,oCAwCC"}
1
+ {"version":3,"file":"HTMLDialogElement.js","sourceRoot":"","sources":["../../../src/nodes/html-dialog-element/HTMLDialogElement.ts"],"names":[],"mappings":";;;;;AAAA,8DAAsC;AACtC,8EAAsD;AAGtD;;;;;GAKG;AACH,MAAqB,iBAAkB,SAAQ,qBAAW;IAA1D;;QACQ,gBAAW,GAAG,EAAE,CAAC;QAExB,SAAS;QACF,aAAQ,GAAkC,IAAI,CAAC;QAC/C,YAAO,GAAkC,IAAI,CAAC;IAmCtD,CAAC;IAjCA;;;;OAIG;IACH,IAAW,IAAI;QACd,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC1C,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,WAAW,GAAG,EAAE;QAC5B,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QAC7B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,aAAa,CAAC,IAAI,eAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IACxC,CAAC;IAED;;OAEG;IACI,SAAS;QACf,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAC/B,CAAC;IAED;;OAEG;IACI,IAAI;QACV,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAC/B,CAAC;CACD;AAxCD,oCAwCC"}
@@ -64,7 +64,7 @@ class HTMLElement extends Element_1.default {
64
64
  * @returns Tab index.
65
65
  */
66
66
  get tabIndex() {
67
- const tabIndex = this.getAttributeNS(null, 'tabindex');
67
+ const tabIndex = this.getAttribute('tabindex');
68
68
  return tabIndex !== null ? Number(tabIndex) : -1;
69
69
  }
70
70
  /**
@@ -74,10 +74,10 @@ class HTMLElement extends Element_1.default {
74
74
  */
75
75
  set tabIndex(tabIndex) {
76
76
  if (tabIndex === -1) {
77
- this.removeAttributeNS(null, 'tabindex');
77
+ this.removeAttribute('tabindex');
78
78
  }
79
79
  else {
80
- this.setAttributeNS(null, 'tabindex', String(tabIndex));
80
+ this.setAttribute('tabindex', String(tabIndex));
81
81
  }
82
82
  }
83
83
  /**
@@ -265,7 +265,7 @@ class HTMLElement extends Element_1.default {
265
265
  * @returns Direction.
266
266
  */
267
267
  get dir() {
268
- return this.getAttributeNS(null, 'dir') || '';
268
+ return this.getAttribute('dir') || '';
269
269
  }
270
270
  /**
271
271
  * Returns direction.
@@ -273,7 +273,7 @@ class HTMLElement extends Element_1.default {
273
273
  * @param direction Direction.
274
274
  */
275
275
  set dir(direction) {
276
- this.setAttributeNS(null, 'dir', direction);
276
+ this.setAttribute('dir', direction);
277
277
  }
278
278
  /**
279
279
  * Returns hidden.
@@ -281,7 +281,7 @@ class HTMLElement extends Element_1.default {
281
281
  * @returns Hidden.
282
282
  */
283
283
  get hidden() {
284
- return this.getAttributeNS(null, 'hidden') !== null;
284
+ return this.getAttribute('hidden') !== null;
285
285
  }
286
286
  /**
287
287
  * Returns hidden.
@@ -290,10 +290,10 @@ class HTMLElement extends Element_1.default {
290
290
  */
291
291
  set hidden(hidden) {
292
292
  if (!hidden) {
293
- this.removeAttributeNS(null, 'hidden');
293
+ this.removeAttribute('hidden');
294
294
  }
295
295
  else {
296
- this.setAttributeNS(null, 'hidden', '');
296
+ this.setAttribute('hidden', '');
297
297
  }
298
298
  }
299
299
  /**
@@ -302,7 +302,7 @@ class HTMLElement extends Element_1.default {
302
302
  * @returns Language.
303
303
  */
304
304
  get lang() {
305
- return this.getAttributeNS(null, 'lang') || '';
305
+ return this.getAttribute('lang') || '';
306
306
  }
307
307
  /**
308
308
  * Returns language.
@@ -310,7 +310,7 @@ class HTMLElement extends Element_1.default {
310
310
  * @param language Language.
311
311
  */
312
312
  set lang(lang) {
313
- this.setAttributeNS(null, 'lang', lang);
313
+ this.setAttribute('lang', lang);
314
314
  }
315
315
  /**
316
316
  * Returns title.
@@ -318,7 +318,7 @@ class HTMLElement extends Element_1.default {
318
318
  * @returns Title.
319
319
  */
320
320
  get title() {
321
- return this.getAttributeNS(null, 'title') || '';
321
+ return this.getAttribute('title') || '';
322
322
  }
323
323
  /**
324
324
  * Returns title.
@@ -326,7 +326,7 @@ class HTMLElement extends Element_1.default {
326
326
  * @param title Title.
327
327
  */
328
328
  set title(title) {
329
- this.setAttributeNS(null, 'title', title);
329
+ this.setAttribute('title', title);
330
330
  }
331
331
  /**
332
332
  * Triggers a click event.
@@ -1 +1 @@
1
- {"version":3,"file":"HTMLElement.js","sourceRoot":"","sources":["../../../src/nodes/html-element/HTMLElement.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HTMLElement.js","sourceRoot":"","sources":["../../../src/nodes/html-element/HTMLElement.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ import IHTMLFormControlsCollection from './IHTMLFormControlsCollection';
2
+ import IHTMLInputElement from '../html-input-element/IHTMLInputElement';
3
+ import IHTMLTextAreaElement from '../html-text-area-element/IHTMLTextAreaElement';
4
+ import IHTMLSelectElement from '../html-select-element/IHTMLSelectElement';
5
+ import HTMLCollection from '../element/HTMLCollection';
6
+ import RadioNodeList from './RadioNodeList';
7
+ import IHTMLButtonElement from '../html-button-element/IHTMLButtonElement';
8
+ import IRadioNodeList from './IRadioNodeList';
9
+ /**
10
+ * HTMLFormControlsCollection.
11
+ *
12
+ * @see https://developer.mozilla.org/en-US/docs/Web/API/HTMLFormControlsCollection
13
+ */
14
+ export default class HTMLFormControlsCollection extends HTMLCollection<IHTMLInputElement | IHTMLTextAreaElement | IHTMLSelectElement | IHTMLButtonElement, IHTMLInputElement | IHTMLTextAreaElement | IHTMLSelectElement | IHTMLButtonElement | IRadioNodeList> implements IHTMLFormControlsCollection {
15
+ _namedItems: {
16
+ [k: string]: RadioNodeList;
17
+ };
18
+ /**
19
+ * Appends named item.
20
+ *
21
+ * @param node Node.
22
+ * @param name Name.
23
+ */
24
+ _appendNamedItem(node: IHTMLInputElement | IHTMLTextAreaElement | IHTMLSelectElement | IHTMLButtonElement, name: string): void;
25
+ /**
26
+ * Appends named item.
27
+ *
28
+ * @param node Node.
29
+ * @param name Name.
30
+ */
31
+ _removeNamedItem(node: IHTMLInputElement | IHTMLTextAreaElement | IHTMLSelectElement | IHTMLButtonElement, name: string): void;
32
+ }
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const HTMLCollection_1 = __importDefault(require("../element/HTMLCollection"));
7
+ const RadioNodeList_1 = __importDefault(require("./RadioNodeList"));
8
+ /**
9
+ * HTMLFormControlsCollection.
10
+ *
11
+ * @see https://developer.mozilla.org/en-US/docs/Web/API/HTMLFormControlsCollection
12
+ */
13
+ class HTMLFormControlsCollection extends HTMLCollection_1.default {
14
+ constructor() {
15
+ super(...arguments);
16
+ this._namedItems = {};
17
+ }
18
+ /**
19
+ * Appends named item.
20
+ *
21
+ * @param node Node.
22
+ * @param name Name.
23
+ */
24
+ _appendNamedItem(node, name) {
25
+ if (name) {
26
+ this._namedItems[name] = this._namedItems[name] || new RadioNodeList_1.default();
27
+ if (!this._namedItems[name].includes(node)) {
28
+ this._namedItems[name].push(node);
29
+ }
30
+ this[name] =
31
+ this._namedItems[name].length > 1 ? this._namedItems[name] : this._namedItems[name][0];
32
+ }
33
+ }
34
+ /**
35
+ * Appends named item.
36
+ *
37
+ * @param node Node.
38
+ * @param name Name.
39
+ */
40
+ _removeNamedItem(node, name) {
41
+ if (name && this._namedItems[name]) {
42
+ const index = this._namedItems[name].indexOf(node);
43
+ if (index > -1) {
44
+ this._namedItems[name].splice(index, 1);
45
+ if (this._namedItems[name].length === 0) {
46
+ delete this._namedItems[name];
47
+ delete this[name];
48
+ }
49
+ else {
50
+ this[name] =
51
+ this._namedItems[name].length > 1 ? this._namedItems[name] : this._namedItems[name][0];
52
+ }
53
+ }
54
+ }
55
+ }
56
+ }
57
+ exports.default = HTMLFormControlsCollection;
58
+ //# sourceMappingURL=HTMLFormControlsCollection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HTMLFormControlsCollection.js","sourceRoot":"","sources":["../../../src/nodes/html-form-element/HTMLFormControlsCollection.ts"],"names":[],"mappings":";;;;;AAIA,+EAAuD;AACvD,oEAA4C;AAI5C;;;;GAIG;AACH,MAAqB,0BACpB,SAAQ,wBAOP;IARF;;QAWQ,gBAAW,GAAmC,EAAE,CAAC;IAkDzD,CAAC;IAhDA;;;;;OAKG;IACI,gBAAgB,CACtB,IAAwF,EACxF,IAAY;QAEZ,IAAI,IAAI,EAAE;YACT,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,IAAI,uBAAa,EAAE,CAAC;YAEvE,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;gBAC3C,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAClC;YAED,IAAI,CAAC,IAAI,CAAC;gBACT,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;SACxF;IACF,CAAC;IAED;;;;;OAKG;IACI,gBAAgB,CACtB,IAAwF,EACxF,IAAY;QAEZ,IAAI,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE;YACnC,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAEnD,IAAI,KAAK,GAAG,CAAC,CAAC,EAAE;gBACf,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;gBAExC,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;oBACxC,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;oBAC9B,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC;iBAClB;qBAAM;oBACN,IAAI,CAAC,IAAI,CAAC;wBACT,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;iBACxF;aACD;SACD;IACF,CAAC;CACD;AA7DD,6CA6DC"}