happy-dom 8.8.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 (364) 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-audio-element/Audio.d.ts +15 -0
  117. package/lib/nodes/html-audio-element/Audio.js +27 -0
  118. package/lib/nodes/html-audio-element/Audio.js.map +1 -0
  119. package/lib/nodes/html-base-element/HTMLBaseElement.js +4 -4
  120. package/lib/nodes/html-base-element/HTMLBaseElement.js.map +1 -1
  121. package/lib/nodes/html-button-element/HTMLButtonElement.d.ts +79 -3
  122. package/lib/nodes/html-button-element/HTMLButtonElement.js +158 -10
  123. package/lib/nodes/html-button-element/HTMLButtonElement.js.map +1 -1
  124. package/lib/nodes/html-button-element/IHTMLButtonElement.d.ts +28 -2
  125. package/lib/nodes/html-dialog-element/HTMLDialogElement.js +3 -3
  126. package/lib/nodes/html-dialog-element/HTMLDialogElement.js.map +1 -1
  127. package/lib/nodes/html-element/HTMLElement.js +12 -12
  128. package/lib/nodes/html-element/HTMLElement.js.map +1 -1
  129. package/lib/nodes/html-form-element/HTMLFormControlsCollection.d.ts +32 -0
  130. package/lib/nodes/html-form-element/HTMLFormControlsCollection.js +58 -0
  131. package/lib/nodes/html-form-element/HTMLFormControlsCollection.js.map +1 -0
  132. package/lib/nodes/html-form-element/HTMLFormElement.d.ts +37 -17
  133. package/lib/nodes/html-form-element/HTMLFormElement.js +128 -37
  134. package/lib/nodes/html-form-element/HTMLFormElement.js.map +1 -1
  135. package/lib/nodes/html-form-element/IHTMLFormControlsCollection.d.ts +25 -0
  136. package/lib/nodes/html-form-element/IHTMLFormControlsCollection.js +3 -0
  137. package/lib/nodes/html-form-element/IHTMLFormControlsCollection.js.map +1 -0
  138. package/lib/nodes/html-form-element/IHTMLFormElement.d.ts +16 -6
  139. package/lib/nodes/html-form-element/IRadioNodeList.d.ts +15 -0
  140. package/lib/nodes/html-form-element/IRadioNodeList.js +3 -0
  141. package/lib/nodes/html-form-element/IRadioNodeList.js.map +1 -0
  142. package/lib/nodes/html-form-element/RadioNodeList.d.ts +16 -0
  143. package/lib/nodes/html-form-element/RadioNodeList.js +28 -0
  144. package/lib/nodes/html-form-element/RadioNodeList.js.map +1 -0
  145. package/lib/nodes/html-image-element/HTMLImageElement.js +19 -19
  146. package/lib/nodes/html-image-element/HTMLImageElement.js.map +1 -1
  147. package/lib/nodes/html-input-element/HTMLInputElement.d.ts +43 -19
  148. package/lib/nodes/html-input-element/HTMLInputElement.js +206 -111
  149. package/lib/nodes/html-input-element/HTMLInputElement.js.map +1 -1
  150. package/lib/nodes/html-input-element/IHTMLInputElement.d.ts +14 -1
  151. package/lib/nodes/html-label-element/HTMLLabelElement.js +3 -7
  152. package/lib/nodes/html-label-element/HTMLLabelElement.js.map +1 -1
  153. package/lib/nodes/html-link-element/HTMLLinkElement.js +21 -21
  154. package/lib/nodes/html-link-element/HTMLLinkElement.js.map +1 -1
  155. package/lib/nodes/html-media-element/HTMLMediaElement.js +21 -21
  156. package/lib/nodes/html-media-element/HTMLMediaElement.js.map +1 -1
  157. package/lib/nodes/html-meta-element/HTMLMetaElement.js +8 -8
  158. package/lib/nodes/html-meta-element/HTMLMetaElement.js.map +1 -1
  159. package/lib/nodes/html-opt-group-element/HTMLOptGroupElement.js +6 -6
  160. package/lib/nodes/html-opt-group-element/HTMLOptGroupElement.js.map +1 -1
  161. package/lib/nodes/html-option-element/HTMLOptionElement.d.ts +3 -4
  162. package/lib/nodes/html-option-element/HTMLOptionElement.js +26 -29
  163. package/lib/nodes/html-option-element/HTMLOptionElement.js.map +1 -1
  164. package/lib/nodes/html-script-element/HTMLScriptElement.js +16 -16
  165. package/lib/nodes/html-script-element/HTMLScriptElement.js.map +1 -1
  166. package/lib/nodes/html-script-element/ScriptUtility.js +5 -5
  167. package/lib/nodes/html-script-element/ScriptUtility.js.map +1 -1
  168. package/lib/nodes/{html-option-element → html-select-element}/HTMLOptionsCollection.d.ts +5 -6
  169. package/lib/nodes/{html-option-element → html-select-element}/HTMLOptionsCollection.js.map +1 -1
  170. package/lib/nodes/html-select-element/HTMLSelectElement.d.ts +42 -41
  171. package/lib/nodes/html-select-element/HTMLSelectElement.js +134 -138
  172. package/lib/nodes/html-select-element/HTMLSelectElement.js.map +1 -1
  173. package/lib/nodes/{html-option-element → html-select-element}/IHTMLOptionsCollection.d.ts +4 -5
  174. package/lib/nodes/html-select-element/IHTMLOptionsCollection.js.map +1 -0
  175. package/lib/nodes/html-select-element/IHTMLSelectElement.d.ts +22 -2
  176. package/lib/nodes/html-slot-element/HTMLSlotElement.js +2 -2
  177. package/lib/nodes/html-slot-element/HTMLSlotElement.js.map +1 -1
  178. package/lib/nodes/html-style-element/HTMLStyleElement.js +7 -7
  179. package/lib/nodes/html-style-element/HTMLStyleElement.js.map +1 -1
  180. package/lib/nodes/html-text-area-element/HTMLTextAreaElement.d.ts +55 -2
  181. package/lib/nodes/html-text-area-element/HTMLTextAreaElement.js +150 -40
  182. package/lib/nodes/html-text-area-element/HTMLTextAreaElement.js.map +1 -1
  183. package/lib/nodes/html-text-area-element/IHTMLTextAreaElement.d.ts +16 -0
  184. package/lib/nodes/node/Node.d.ts +12 -1
  185. package/lib/nodes/node/Node.js +50 -4
  186. package/lib/nodes/node/Node.js.map +1 -1
  187. package/lib/nodes/node/NodeList.d.ts +2 -3
  188. package/lib/nodes/node/NodeList.js.map +1 -1
  189. package/lib/nodes/parent-node/IParentNode.d.ts +4 -4
  190. package/lib/nodes/parent-node/ParentNodeUtility.d.ts +3 -3
  191. package/lib/nodes/parent-node/ParentNodeUtility.js +13 -11
  192. package/lib/nodes/parent-node/ParentNodeUtility.js.map +1 -1
  193. package/lib/nodes/text/Text.d.ts +13 -0
  194. package/lib/nodes/text/Text.js +30 -0
  195. package/lib/nodes/text/Text.js.map +1 -1
  196. package/lib/query-selector/QuerySelector.js +2 -2
  197. package/lib/query-selector/QuerySelector.js.map +1 -1
  198. package/lib/query-selector/SelectorItem.js +2 -0
  199. package/lib/query-selector/SelectorItem.js.map +1 -1
  200. package/lib/validity-state/ValidityState.d.ts +87 -0
  201. package/lib/validity-state/ValidityState.js +171 -0
  202. package/lib/validity-state/ValidityState.js.map +1 -0
  203. package/lib/window/GlobalWindow.d.ts +0 -8
  204. package/lib/window/GlobalWindow.js +0 -2
  205. package/lib/window/GlobalWindow.js.map +1 -1
  206. package/lib/window/INodeJSGlobal.d.ts +71 -0
  207. package/lib/window/INodeJSGlobal.js +2 -0
  208. package/lib/window/INodeJSGlobal.js.map +1 -0
  209. package/lib/window/IWindow.d.ts +30 -10
  210. package/lib/window/Window.d.ts +37 -20
  211. package/lib/window/Window.js +22 -10
  212. package/lib/window/Window.js.map +1 -1
  213. package/lib/xml-http-request/XMLHttpRequest.js +20 -12
  214. package/lib/xml-http-request/XMLHttpRequest.js.map +1 -1
  215. package/lib/xml-parser/XMLParser.js +1 -1
  216. package/lib/xml-parser/XMLParser.js.map +1 -1
  217. package/package.json +2 -3
  218. package/src/cookie/CookieJar.ts +1 -1
  219. package/src/dom-token-list/DOMTokenList.ts +24 -20
  220. package/src/event/EventTarget.ts +7 -3
  221. package/src/exception/DOMExceptionNameEnum.ts +5 -1
  222. package/src/fetch/AbortController.ts +26 -0
  223. package/src/fetch/AbortSignal.ts +44 -0
  224. package/src/fetch/Fetch.ts +666 -0
  225. package/src/fetch/Headers.ts +151 -3
  226. package/src/fetch/Request.ts +226 -94
  227. package/src/fetch/{ResourceFetchHandler.ts → ResourceFetch.ts} +3 -3
  228. package/src/fetch/Response.ts +252 -89
  229. package/src/fetch/data-uri/DataURIParser.ts +66 -0
  230. package/src/fetch/multipart/MultipartFormDataParser.ts +113 -0
  231. package/src/fetch/multipart/MultipartReader.ts +217 -0
  232. package/src/fetch/types/IHeaders.ts +80 -0
  233. package/src/fetch/types/IRequest.ts +65 -0
  234. package/src/fetch/types/IRequestBody.ts +15 -0
  235. package/src/fetch/types/IRequestCredentials.ts +2 -0
  236. package/src/fetch/types/IRequestInfo.ts +6 -0
  237. package/src/fetch/types/IRequestInit.ts +21 -0
  238. package/src/fetch/types/IRequestRedirect.ts +3 -0
  239. package/src/fetch/types/IRequestReferrerPolicy.ts +11 -0
  240. package/src/fetch/types/IResponse.ts +27 -0
  241. package/src/fetch/types/IResponseBody.ts +15 -0
  242. package/src/fetch/types/IResponseInit.ts +10 -0
  243. package/src/fetch/utilities/FetchBodyUtility.ts +175 -0
  244. package/src/fetch/utilities/FetchCORSUtility.ts +18 -0
  245. package/src/fetch/utilities/FetchRequestHeaderUtility.ts +47 -0
  246. package/src/fetch/utilities/FetchRequestReferrerUtility.ts +241 -0
  247. package/src/fetch/utilities/FetchRequestValidationUtility.ts +82 -0
  248. package/src/file/Blob.ts +2 -2
  249. package/src/file/File.ts +5 -1
  250. package/src/form-data/FormData.ts +237 -0
  251. package/src/index.ts +27 -1
  252. package/src/nodes/document/Document.ts +23 -64
  253. package/src/nodes/document/IDocument.ts +1 -1
  254. package/src/nodes/document-fragment/DocumentFragment.ts +9 -59
  255. package/src/nodes/document-fragment/IDocumentFragment.ts +2 -1
  256. package/src/nodes/element/Element.ts +43 -56
  257. package/src/nodes/element/ElementUtility.ts +137 -0
  258. package/src/nodes/element/HTMLCollection.ts +60 -3
  259. package/src/nodes/element/IHTMLCollection.ts +10 -2
  260. package/src/nodes/html-anchor-element/HTMLAnchorElement.ts +24 -24
  261. package/src/nodes/html-audio-element/Audio.ts +22 -0
  262. package/src/nodes/html-base-element/HTMLBaseElement.ts +4 -4
  263. package/src/nodes/html-button-element/HTMLButtonElement.ts +184 -10
  264. package/src/nodes/html-button-element/IHTMLButtonElement.ts +31 -2
  265. package/src/nodes/html-dialog-element/HTMLDialogElement.ts +3 -3
  266. package/src/nodes/html-element/HTMLElement.ts +12 -12
  267. package/src/nodes/html-form-element/HTMLFormControlsCollection.ts +76 -0
  268. package/src/nodes/html-form-element/HTMLFormElement.ts +147 -41
  269. package/src/nodes/html-form-element/IHTMLFormControlsCollection.ts +45 -0
  270. package/src/nodes/html-form-element/IHTMLFormElement.ts +17 -6
  271. package/src/nodes/html-form-element/IRadioNodeList.ts +16 -0
  272. package/src/nodes/html-form-element/RadioNodeList.ts +24 -0
  273. package/src/nodes/html-image-element/HTMLImageElement.ts +19 -19
  274. package/src/nodes/html-input-element/HTMLInputElement.ts +232 -113
  275. package/src/nodes/html-input-element/IHTMLInputElement.ts +20 -1
  276. package/src/nodes/html-label-element/HTMLLabelElement.ts +3 -7
  277. package/src/nodes/html-link-element/HTMLLinkElement.ts +21 -21
  278. package/src/nodes/html-media-element/HTMLMediaElement.ts +21 -21
  279. package/src/nodes/html-meta-element/HTMLMetaElement.ts +8 -8
  280. package/src/nodes/html-opt-group-element/HTMLOptGroupElement.ts +6 -6
  281. package/src/nodes/html-option-element/HTMLOptionElement.ts +29 -30
  282. package/src/nodes/html-script-element/HTMLScriptElement.ts +16 -16
  283. package/src/nodes/html-script-element/ScriptUtility.ts +5 -5
  284. package/src/nodes/{html-option-element → html-select-element}/HTMLOptionsCollection.ts +5 -9
  285. package/src/nodes/html-select-element/HTMLSelectElement.ts +159 -170
  286. package/src/nodes/{html-option-element → html-select-element}/IHTMLOptionsCollection.ts +4 -8
  287. package/src/nodes/html-select-element/IHTMLSelectElement.ts +25 -2
  288. package/src/nodes/html-slot-element/HTMLSlotElement.ts +2 -2
  289. package/src/nodes/html-style-element/HTMLStyleElement.ts +7 -7
  290. package/src/nodes/html-text-area-element/HTMLTextAreaElement.ts +174 -41
  291. package/src/nodes/html-text-area-element/IHTMLTextAreaElement.ts +18 -0
  292. package/src/nodes/node/Node.ts +61 -6
  293. package/src/nodes/node/NodeList.ts +2 -3
  294. package/src/nodes/parent-node/IParentNode.ts +7 -4
  295. package/src/nodes/parent-node/ParentNodeUtility.ts +25 -15
  296. package/src/nodes/text/Text.ts +38 -0
  297. package/src/query-selector/QuerySelector.ts +2 -2
  298. package/src/query-selector/SelectorItem.ts +3 -0
  299. package/src/validity-state/ValidityState.ts +211 -0
  300. package/src/window/GlobalWindow.ts +0 -2
  301. package/src/window/INodeJSGlobal.ts +70 -0
  302. package/src/window/IWindow.ts +32 -10
  303. package/src/window/Window.ts +43 -21
  304. package/src/xml-http-request/XMLHttpRequest.ts +27 -26
  305. package/src/xml-parser/XMLParser.ts +1 -1
  306. package/lib/fetch/FetchHandler.d.ts +0 -18
  307. package/lib/fetch/FetchHandler.js +0 -83
  308. package/lib/fetch/FetchHandler.js.map +0 -1
  309. package/lib/fetch/IAbortSignal.d.ts +0 -16
  310. package/lib/fetch/IAbortSignal.js +0 -4
  311. package/lib/fetch/IAbortSignal.js.map +0 -1
  312. package/lib/fetch/IBody.d.ts +0 -17
  313. package/lib/fetch/IBody.js.map +0 -1
  314. package/lib/fetch/IHeaders.d.ts +0 -18
  315. package/lib/fetch/IHeadersInit.js.map +0 -1
  316. package/lib/fetch/IRequest.d.ts +0 -18
  317. package/lib/fetch/IRequestInit.d.ts +0 -16
  318. package/lib/fetch/IRequestInit.js.map +0 -1
  319. package/lib/fetch/IResponse.d.ts +0 -20
  320. package/lib/fetch/IResponseInit.d.ts +0 -9
  321. package/lib/fetch/IResponseInit.js.map +0 -1
  322. package/lib/fetch/RequestInfo.js +0 -3
  323. package/lib/fetch/RequestInfo.js.map +0 -1
  324. package/lib/fetch/ResourceFetchHandler.js.map +0 -1
  325. package/lib/form-data/IFormData.d.ts +0 -32
  326. package/lib/form-data/IFormData.js +0 -3
  327. package/lib/form-data/IFormData.js.map +0 -1
  328. package/lib/location/RelativeURL.d.ts +0 -15
  329. package/lib/location/RelativeURL.js +0 -19
  330. package/lib/location/RelativeURL.js.map +0 -1
  331. package/lib/nodes/element/HTMLCollectionFactory.d.ts +0 -21
  332. package/lib/nodes/element/HTMLCollectionFactory.js +0 -31
  333. package/lib/nodes/element/HTMLCollectionFactory.js.map +0 -1
  334. package/lib/nodes/html-option-element/IHTMLOptionsCollection.js.map +0 -1
  335. package/lib/nodes/node/NodeListFactory.d.ts +0 -21
  336. package/lib/nodes/node/NodeListFactory.js +0 -31
  337. package/lib/nodes/node/NodeListFactory.js.map +0 -1
  338. package/lib/nodes/validity-state/ValidityState.d.ts +0 -52
  339. package/lib/nodes/validity-state/ValidityState.js +0 -81
  340. package/lib/nodes/validity-state/ValidityState.js.map +0 -1
  341. package/src/fetch/FetchHandler.ts +0 -90
  342. package/src/fetch/IAbortSignal.ts +0 -34
  343. package/src/fetch/IBody.ts +0 -18
  344. package/src/fetch/IHeaders.ts +0 -18
  345. package/src/fetch/IRequest.ts +0 -59
  346. package/src/fetch/IRequestInit.ts +0 -41
  347. package/src/fetch/IResponse.ts +0 -22
  348. package/src/fetch/IResponseInit.ts +0 -10
  349. package/src/fetch/RequestInfo.ts +0 -6
  350. package/src/form-data/IFormData.ts +0 -33
  351. package/src/location/RelativeURL.ts +0 -17
  352. package/src/nodes/element/HTMLCollectionFactory.ts +0 -31
  353. package/src/nodes/node/NodeListFactory.ts +0 -31
  354. package/src/nodes/validity-state/ValidityState.ts +0 -84
  355. /package/lib/fetch/{IHeaders.js → types/IHeaders.js} +0 -0
  356. /package/lib/fetch/{IHeadersInit.d.ts → types/IHeadersInit.d.ts} +0 -0
  357. /package/lib/fetch/{IHeadersInit.js → types/IHeadersInit.js} +0 -0
  358. /package/lib/fetch/{IRequest.js → types/IRequest.js} +0 -0
  359. /package/lib/fetch/{IRequestInit.js → types/IRequestInit.js} +0 -0
  360. /package/lib/fetch/{IResponse.js → types/IResponse.js} +0 -0
  361. /package/lib/fetch/{IResponseInit.js → types/IResponseInit.js} +0 -0
  362. /package/lib/nodes/{html-option-element → html-select-element}/HTMLOptionsCollection.js +0 -0
  363. /package/lib/nodes/{html-option-element → html-select-element}/IHTMLOptionsCollection.js +0 -0
  364. /package/src/fetch/{IHeadersInit.ts → types/IHeadersInit.ts} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"HTMLStyleElement.js","sourceRoot":"","sources":["../../../src/nodes/html-style-element/HTMLStyleElement.ts"],"names":[],"mappings":";;;;;AAAA,4EAAoD;AACpD,8EAAsD;AAGtD;;;;;GAKG;AACH,MAAqB,gBAAiB,SAAQ,qBAAW;IAAzD;;QACS,gBAAW,GAAyB,IAAI,CAAC;IA2ElD,CAAC;IAzEA;;;;OAIG;IACH,IAAW,KAAK;QACf,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YACtB,OAAO,IAAI,CAAC;SACZ;QACD,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YACtB,IAAI,CAAC,WAAW,GAAG,IAAI,uBAAa,EAAE,CAAC;SACvC;QACD,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC/C,OAAO,IAAI,CAAC,WAAW,CAAC;IACzB,CAAC;IAED;;;;OAIG;IACH,IAAW,KAAK;QACf,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;IACjD,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,IAAI;QACd,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;IAChD,CAAC;IAED;;;;OAIG;IACH,IAAW,IAAI,CAAC,IAAY;QAC3B,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IACzC,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;CACD;AA5ED,mCA4EC"}
1
+ {"version":3,"file":"HTMLStyleElement.js","sourceRoot":"","sources":["../../../src/nodes/html-style-element/HTMLStyleElement.ts"],"names":[],"mappings":";;;;;AAAA,4EAAoD;AACpD,8EAAsD;AAGtD;;;;;GAKG;AACH,MAAqB,gBAAiB,SAAQ,qBAAW;IAAzD;;QACS,gBAAW,GAAyB,IAAI,CAAC;IA2ElD,CAAC;IAzEA;;;;OAIG;IACH,IAAW,KAAK;QACf,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YACtB,OAAO,IAAI,CAAC;SACZ;QACD,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YACtB,IAAI,CAAC,WAAW,GAAG,IAAI,uBAAa,EAAE,CAAC;SACvC;QACD,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC/C,OAAO,IAAI,CAAC,WAAW,CAAC;IACzB,CAAC;IAED;;;;OAIG;IACH,IAAW,KAAK;QACf,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;IACzC,CAAC;IAED;;;;OAIG;IACH,IAAW,KAAK,CAAC,KAAa;QAC7B,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACnC,CAAC;IAED;;;;OAIG;IACH,IAAW,IAAI;QACd,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IACxC,CAAC;IAED;;;;OAIG;IACH,IAAW,IAAI,CAAC,IAAY;QAC3B,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACjC,CAAC;IAED;;;;OAIG;IACH,IAAW,QAAQ;QAClB,OAAO,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC;IAC/C,CAAC;IAED;;;;OAIG;IACH,IAAW,QAAQ,CAAC,QAAiB;QACpC,IAAI,CAAC,QAAQ,EAAE;YACd,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;SACjC;aAAM;YACN,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;SAClC;IACF,CAAC;CACD;AA5ED,mCA4EC"}
@@ -1,9 +1,14 @@
1
1
  import Event from '../../event/Event';
2
+ import IAttr from '../attr/IAttr';
2
3
  import HTMLElement from '../html-element/HTMLElement';
3
4
  import IHTMLFormElement from '../html-form-element/IHTMLFormElement';
4
5
  import HTMLInputElementSelectionDirectionEnum from '../html-input-element/HTMLInputElementSelectionDirectionEnum';
5
6
  import HTMLInputElementSelectionModeEnum from '../html-input-element/HTMLInputElementSelectionModeEnum';
7
+ import INode from '../node/INode';
8
+ import ValidityState from '../../validity-state/ValidityState';
6
9
  import IHTMLTextAreaElement from './IHTMLTextAreaElement';
10
+ import INodeList from '../node/INodeList';
11
+ import IHTMLLabelElement from '../html-label-element/IHTMLLabelElement';
7
12
  /**
8
13
  * HTML Text Area Element.
9
14
  *
@@ -12,13 +17,27 @@ import IHTMLTextAreaElement from './IHTMLTextAreaElement';
12
17
  */
13
18
  export default class HTMLTextAreaElement extends HTMLElement implements IHTMLTextAreaElement {
14
19
  readonly type = "textarea";
15
- defaultValue: string;
20
+ readonly validationMessage = "";
21
+ readonly validity: ValidityState;
16
22
  oninput: (event: Event) => void | null;
17
23
  onselectionchange: (event: Event) => void | null;
18
24
  _value: any;
19
25
  _selectionStart: any;
20
26
  _selectionEnd: any;
21
27
  _selectionDirection: HTMLInputElementSelectionDirectionEnum;
28
+ _textAreaNode: HTMLTextAreaElement;
29
+ /**
30
+ * Returns the default value.
31
+ *
32
+ * @returns Default value.
33
+ */
34
+ get defaultValue(): string;
35
+ /**
36
+ * Sets the default value.
37
+ *
38
+ * @param defaultValue Default value.
39
+ */
40
+ set defaultValue(defaultValue: string);
22
41
  /**
23
42
  * Returns minlength.
24
43
  *
@@ -223,6 +242,12 @@ export default class HTMLTextAreaElement extends HTMLElement implements IHTMLTex
223
242
  * @param Text Length.
224
243
  */
225
244
  get textLength(): number;
245
+ /**
246
+ * Returns the associated label elements.
247
+ *
248
+ * @returns Label elements.
249
+ */
250
+ get labels(): INodeList<IHTMLLabelElement>;
226
251
  /**
227
252
  * Set selection range.
228
253
  *
@@ -241,12 +266,24 @@ export default class HTMLTextAreaElement extends HTMLElement implements IHTMLTex
241
266
  * @param selectionMode
242
267
  */
243
268
  setRangeText(replacement: string, start?: number, end?: number, selectionMode?: HTMLInputElementSelectionModeEnum): void;
269
+ /**
270
+ * Sets validation message.
271
+ *
272
+ * @param message Message.
273
+ */
274
+ setCustomValidity(message: string): void;
244
275
  /**
245
276
  * Checks validity.
246
277
  *
247
- * @returns "true" if validation does'nt fail.
278
+ * @returns "true" if the field is valid.
248
279
  */
249
280
  checkValidity(): boolean;
281
+ /**
282
+ * Reports validity.
283
+ *
284
+ * @returns "true" if the field is valid.
285
+ */
286
+ reportValidity(): boolean;
250
287
  /**
251
288
  * Clones a node.
252
289
  *
@@ -255,4 +292,20 @@ export default class HTMLTextAreaElement extends HTMLElement implements IHTMLTex
255
292
  * @returns Cloned node.
256
293
  */
257
294
  cloneNode(deep?: boolean): IHTMLTextAreaElement;
295
+ /**
296
+ * Resets selection.
297
+ */
298
+ _resetSelection(): void;
299
+ /**
300
+ * @override
301
+ */
302
+ setAttributeNode(attribute: IAttr): IAttr;
303
+ /**
304
+ * @override
305
+ */
306
+ removeAttributeNode(attribute: IAttr): IAttr;
307
+ /**
308
+ * @override
309
+ */
310
+ _connectToNode(parentNode?: INode): void;
258
311
  }
@@ -9,6 +9,8 @@ const DOMExceptionNameEnum_1 = __importDefault(require("../../exception/DOMExcep
9
9
  const HTMLElement_1 = __importDefault(require("../html-element/HTMLElement"));
10
10
  const HTMLInputElementSelectionDirectionEnum_1 = __importDefault(require("../html-input-element/HTMLInputElementSelectionDirectionEnum"));
11
11
  const HTMLInputElementSelectionModeEnum_1 = __importDefault(require("../html-input-element/HTMLInputElementSelectionModeEnum"));
12
+ const ValidityState_1 = __importDefault(require("../../validity-state/ValidityState"));
13
+ const NodeList_1 = __importDefault(require("../node/NodeList"));
12
14
  /**
13
15
  * HTML Text Area Element.
14
16
  *
@@ -19,7 +21,8 @@ class HTMLTextAreaElement extends HTMLElement_1.default {
19
21
  constructor() {
20
22
  super(...arguments);
21
23
  this.type = 'textarea';
22
- this.defaultValue = '';
24
+ this.validationMessage = '';
25
+ this.validity = new ValidityState_1.default(this);
23
26
  // Events
24
27
  this.oninput = null;
25
28
  this.onselectionchange = null;
@@ -27,6 +30,23 @@ class HTMLTextAreaElement extends HTMLElement_1.default {
27
30
  this._selectionStart = null;
28
31
  this._selectionEnd = null;
29
32
  this._selectionDirection = HTMLInputElementSelectionDirectionEnum_1.default.none;
33
+ this._textAreaNode = this;
34
+ }
35
+ /**
36
+ * Returns the default value.
37
+ *
38
+ * @returns Default value.
39
+ */
40
+ get defaultValue() {
41
+ return this.textContent;
42
+ }
43
+ /**
44
+ * Sets the default value.
45
+ *
46
+ * @param defaultValue Default value.
47
+ */
48
+ set defaultValue(defaultValue) {
49
+ this.textContent = defaultValue;
30
50
  }
31
51
  /**
32
52
  * Returns minlength.
@@ -34,7 +54,7 @@ class HTMLTextAreaElement extends HTMLElement_1.default {
34
54
  * @returns Min length.
35
55
  */
36
56
  get minLength() {
37
- const minLength = this.getAttributeNS(null, 'minlength');
57
+ const minLength = this.getAttribute('minlength');
38
58
  if (minLength !== null) {
39
59
  return parseInt(minLength);
40
60
  }
@@ -46,7 +66,7 @@ class HTMLTextAreaElement extends HTMLElement_1.default {
46
66
  * @param minLength Min length.
47
67
  */
48
68
  set minLength(minlength) {
49
- this.setAttributeNS(null, 'minlength', String(minlength));
69
+ this.setAttribute('minlength', String(minlength));
50
70
  }
51
71
  /**
52
72
  * Returns maxlength.
@@ -54,7 +74,7 @@ class HTMLTextAreaElement extends HTMLElement_1.default {
54
74
  * @returns Max length.
55
75
  */
56
76
  get maxLength() {
57
- const maxLength = this.getAttributeNS(null, 'maxlength');
77
+ const maxLength = this.getAttribute('maxlength');
58
78
  if (maxLength !== null) {
59
79
  return parseInt(maxLength);
60
80
  }
@@ -66,7 +86,7 @@ class HTMLTextAreaElement extends HTMLElement_1.default {
66
86
  * @param maxlength Max length.
67
87
  */
68
88
  set maxLength(maxLength) {
69
- this.setAttributeNS(null, 'maxlength', String(maxLength));
89
+ this.setAttribute('maxlength', String(maxLength));
70
90
  }
71
91
  /**
72
92
  * Returns name.
@@ -74,7 +94,7 @@ class HTMLTextAreaElement extends HTMLElement_1.default {
74
94
  * @returns Name.
75
95
  */
76
96
  get name() {
77
- return this.getAttributeNS(null, 'name') || '';
97
+ return this.getAttribute('name') || '';
78
98
  }
79
99
  /**
80
100
  * Sets name.
@@ -82,7 +102,7 @@ class HTMLTextAreaElement extends HTMLElement_1.default {
82
102
  * @param name Name.
83
103
  */
84
104
  set name(name) {
85
- this.setAttributeNS(null, 'name', name);
105
+ this.setAttribute('name', name);
86
106
  }
87
107
  /**
88
108
  * Returns placeholder.
@@ -90,7 +110,7 @@ class HTMLTextAreaElement extends HTMLElement_1.default {
90
110
  * @returns Placeholder.
91
111
  */
92
112
  get placeholder() {
93
- return this.getAttributeNS(null, 'placeholder') || '';
113
+ return this.getAttribute('placeholder') || '';
94
114
  }
95
115
  /**
96
116
  * Sets placeholder.
@@ -98,7 +118,7 @@ class HTMLTextAreaElement extends HTMLElement_1.default {
98
118
  * @param placeholder Placeholder.
99
119
  */
100
120
  set placeholder(placeholder) {
101
- this.setAttributeNS(null, 'placeholder', placeholder);
121
+ this.setAttribute('placeholder', placeholder);
102
122
  }
103
123
  /**
104
124
  * Returns inputmode.
@@ -106,7 +126,7 @@ class HTMLTextAreaElement extends HTMLElement_1.default {
106
126
  * @returns Inputmode.
107
127
  */
108
128
  get inputmode() {
109
- return this.getAttributeNS(null, 'inputmode') || '';
129
+ return this.getAttribute('inputmode') || '';
110
130
  }
111
131
  /**
112
132
  * Sets inputmode.
@@ -114,7 +134,7 @@ class HTMLTextAreaElement extends HTMLElement_1.default {
114
134
  * @param inputmode Inputmode.
115
135
  */
116
136
  set inputmode(inputmode) {
117
- this.setAttributeNS(null, 'inputmode', inputmode);
137
+ this.setAttribute('inputmode', inputmode);
118
138
  }
119
139
  /**
120
140
  * Returns cols.
@@ -122,7 +142,7 @@ class HTMLTextAreaElement extends HTMLElement_1.default {
122
142
  * @returns Cols.
123
143
  */
124
144
  get cols() {
125
- return this.getAttributeNS(null, 'cols') || '';
145
+ return this.getAttribute('cols') || '';
126
146
  }
127
147
  /**
128
148
  * Sets cols.
@@ -130,7 +150,7 @@ class HTMLTextAreaElement extends HTMLElement_1.default {
130
150
  * @param cols Cols.
131
151
  */
132
152
  set cols(cols) {
133
- this.setAttributeNS(null, 'cols', cols);
153
+ this.setAttribute('cols', cols);
134
154
  }
135
155
  /**
136
156
  * Returns rows.
@@ -138,7 +158,7 @@ class HTMLTextAreaElement extends HTMLElement_1.default {
138
158
  * @returns Rows.
139
159
  */
140
160
  get rows() {
141
- return this.getAttributeNS(null, 'rows') || '';
161
+ return this.getAttribute('rows') || '';
142
162
  }
143
163
  /**
144
164
  * Sets rows.
@@ -146,7 +166,7 @@ class HTMLTextAreaElement extends HTMLElement_1.default {
146
166
  * @param rows Rows.
147
167
  */
148
168
  set rows(rows) {
149
- this.setAttributeNS(null, 'rows', rows);
169
+ this.setAttribute('rows', rows);
150
170
  }
151
171
  /**
152
172
  * Returns autocomplete.
@@ -154,7 +174,7 @@ class HTMLTextAreaElement extends HTMLElement_1.default {
154
174
  * @returns Autocomplete.
155
175
  */
156
176
  get autocomplete() {
157
- return this.getAttributeNS(null, 'autocomplete') || '';
177
+ return this.getAttribute('autocomplete') || '';
158
178
  }
159
179
  /**
160
180
  * Sets autocomplete.
@@ -162,7 +182,7 @@ class HTMLTextAreaElement extends HTMLElement_1.default {
162
182
  * @param autocomplete Autocomplete.
163
183
  */
164
184
  set autocomplete(autocomplete) {
165
- this.setAttributeNS(null, 'autocomplete', autocomplete);
185
+ this.setAttribute('autocomplete', autocomplete);
166
186
  }
167
187
  /**
168
188
  * Returns readOnly.
@@ -170,7 +190,7 @@ class HTMLTextAreaElement extends HTMLElement_1.default {
170
190
  * @returns ReadOnly.
171
191
  */
172
192
  get readOnly() {
173
- return this.getAttributeNS(null, 'readonly') !== null;
193
+ return this.getAttribute('readonly') !== null;
174
194
  }
175
195
  /**
176
196
  * Sets readOnly.
@@ -179,10 +199,10 @@ class HTMLTextAreaElement extends HTMLElement_1.default {
179
199
  */
180
200
  set readOnly(readOnly) {
181
201
  if (!readOnly) {
182
- this.removeAttributeNS(null, 'readonly');
202
+ this.removeAttribute('readonly');
183
203
  }
184
204
  else {
185
- this.setAttributeNS(null, 'readonly', '');
205
+ this.setAttribute('readonly', '');
186
206
  }
187
207
  }
188
208
  /**
@@ -191,7 +211,7 @@ class HTMLTextAreaElement extends HTMLElement_1.default {
191
211
  * @returns Disabled.
192
212
  */
193
213
  get disabled() {
194
- return this.getAttributeNS(null, 'disabled') !== null;
214
+ return this.getAttribute('disabled') !== null;
195
215
  }
196
216
  /**
197
217
  * Sets disabled.
@@ -200,10 +220,10 @@ class HTMLTextAreaElement extends HTMLElement_1.default {
200
220
  */
201
221
  set disabled(disabled) {
202
222
  if (!disabled) {
203
- this.removeAttributeNS(null, 'disabled');
223
+ this.removeAttribute('disabled');
204
224
  }
205
225
  else {
206
- this.setAttributeNS(null, 'disabled', '');
226
+ this.setAttribute('disabled', '');
207
227
  }
208
228
  }
209
229
  /**
@@ -212,7 +232,7 @@ class HTMLTextAreaElement extends HTMLElement_1.default {
212
232
  * @returns Autofocus.
213
233
  */
214
234
  get autofocus() {
215
- return this.getAttributeNS(null, 'autofocus') !== null;
235
+ return this.getAttribute('autofocus') !== null;
216
236
  }
217
237
  /**
218
238
  * Sets autofocus.
@@ -221,10 +241,10 @@ class HTMLTextAreaElement extends HTMLElement_1.default {
221
241
  */
222
242
  set autofocus(autofocus) {
223
243
  if (!autofocus) {
224
- this.removeAttributeNS(null, 'autofocus');
244
+ this.removeAttribute('autofocus');
225
245
  }
226
246
  else {
227
- this.setAttributeNS(null, 'autofocus', '');
247
+ this.setAttribute('autofocus', '');
228
248
  }
229
249
  }
230
250
  /**
@@ -233,7 +253,7 @@ class HTMLTextAreaElement extends HTMLElement_1.default {
233
253
  * @returns Required.
234
254
  */
235
255
  get required() {
236
- return this.getAttributeNS(null, 'required') !== null;
256
+ return this.getAttribute('required') !== null;
237
257
  }
238
258
  /**
239
259
  * Sets required.
@@ -242,10 +262,10 @@ class HTMLTextAreaElement extends HTMLElement_1.default {
242
262
  */
243
263
  set required(required) {
244
264
  if (!required) {
245
- this.removeAttributeNS(null, 'required');
265
+ this.removeAttribute('required');
246
266
  }
247
267
  else {
248
- this.setAttributeNS(null, 'required', '');
268
+ this.setAttribute('required', '');
249
269
  }
250
270
  }
251
271
  /**
@@ -255,7 +275,7 @@ class HTMLTextAreaElement extends HTMLElement_1.default {
255
275
  */
256
276
  get value() {
257
277
  if (this._value === null) {
258
- return this.getAttributeNS(null, 'value') || '';
278
+ return this.textContent;
259
279
  }
260
280
  return this._value;
261
281
  }
@@ -325,7 +345,7 @@ class HTMLTextAreaElement extends HTMLElement_1.default {
325
345
  * @param direction Direction.
326
346
  */
327
347
  set selectionDirection(direction) {
328
- this.setSelectionRange(this._selectionStart, this._selectionEnd, direction);
348
+ this.setSelectionRange(this.selectionStart, this.selectionEnd, direction);
329
349
  }
330
350
  /**
331
351
  * Returns the parent form element.
@@ -333,11 +353,7 @@ class HTMLTextAreaElement extends HTMLElement_1.default {
333
353
  * @returns Form.
334
354
  */
335
355
  get form() {
336
- let parent = this.parentNode;
337
- while (parent && parent.tagName !== 'FORM') {
338
- parent = parent.parentNode;
339
- }
340
- return parent;
356
+ return this._formNode;
341
357
  }
342
358
  /**
343
359
  * Returns text length.
@@ -347,6 +363,28 @@ class HTMLTextAreaElement extends HTMLElement_1.default {
347
363
  get textLength() {
348
364
  return this.value.length;
349
365
  }
366
+ /**
367
+ * Returns the associated label elements.
368
+ *
369
+ * @returns Label elements.
370
+ */
371
+ get labels() {
372
+ const id = this.id;
373
+ if (id) {
374
+ const rootNode = this.getRootNode();
375
+ const labels = rootNode.querySelectorAll(`label[for="${id}"]`);
376
+ let parent = this.parentNode;
377
+ while (parent) {
378
+ if (parent['tagName'] === 'LABEL') {
379
+ labels.push(parent);
380
+ break;
381
+ }
382
+ parent = parent.parentNode;
383
+ }
384
+ return labels;
385
+ }
386
+ return new NodeList_1.default();
387
+ }
350
388
  /**
351
389
  * Set selection range.
352
390
  *
@@ -356,7 +394,7 @@ class HTMLTextAreaElement extends HTMLElement_1.default {
356
394
  */
357
395
  setSelectionRange(start, end, direction = 'none') {
358
396
  this._selectionEnd = Math.min(end, this.value.length);
359
- this._selectionStart = Math.min(start, this._selectionEnd);
397
+ this._selectionStart = Math.min(start, this.selectionEnd);
360
398
  this._selectionDirection =
361
399
  direction === HTMLInputElementSelectionDirectionEnum_1.default.forward ||
362
400
  direction === HTMLInputElementSelectionDirectionEnum_1.default.backward
@@ -418,13 +456,33 @@ class HTMLTextAreaElement extends HTMLElement_1.default {
418
456
  break;
419
457
  }
420
458
  }
459
+ /**
460
+ * Sets validation message.
461
+ *
462
+ * @param message Message.
463
+ */
464
+ setCustomValidity(message) {
465
+ this.validationMessage = String(message);
466
+ }
421
467
  /**
422
468
  * Checks validity.
423
469
  *
424
- * @returns "true" if validation does'nt fail.
470
+ * @returns "true" if the field is valid.
425
471
  */
426
472
  checkValidity() {
427
- return true;
473
+ const valid = this.disabled || this.readOnly || this.validity.valid;
474
+ if (!valid) {
475
+ this.dispatchEvent(new Event_1.default('invalid', { bubbles: true, cancelable: true }));
476
+ }
477
+ return valid;
478
+ }
479
+ /**
480
+ * Reports validity.
481
+ *
482
+ * @returns "true" if the field is valid.
483
+ */
484
+ reportValidity() {
485
+ return this.checkValidity();
428
486
  }
429
487
  /**
430
488
  * Clones a node.
@@ -439,9 +497,61 @@ class HTMLTextAreaElement extends HTMLElement_1.default {
439
497
  clone._selectionStart = this._selectionStart;
440
498
  clone._selectionEnd = this._selectionEnd;
441
499
  clone._selectionDirection = this._selectionDirection;
442
- clone.defaultValue = this.defaultValue;
443
500
  return clone;
444
501
  }
502
+ /**
503
+ * Resets selection.
504
+ */
505
+ _resetSelection() {
506
+ if (this._value === null) {
507
+ this._selectionStart = null;
508
+ this._selectionEnd = null;
509
+ this._selectionDirection = HTMLInputElementSelectionDirectionEnum_1.default.none;
510
+ }
511
+ }
512
+ /**
513
+ * @override
514
+ */
515
+ setAttributeNode(attribute) {
516
+ const replacedAttribute = super.setAttributeNode(attribute);
517
+ const oldValue = replacedAttribute ? replacedAttribute.value : null;
518
+ if ((attribute.name === 'id' || attribute.name === 'name') && this._formNode) {
519
+ if (oldValue) {
520
+ this._formNode._removeFormControlItem(this, oldValue);
521
+ }
522
+ if (attribute.value) {
523
+ this._formNode._appendFormControlItem(this, attribute.value);
524
+ }
525
+ }
526
+ return replacedAttribute;
527
+ }
528
+ /**
529
+ * @override
530
+ */
531
+ removeAttributeNode(attribute) {
532
+ super.removeAttributeNode(attribute);
533
+ if ((attribute.name === 'id' || attribute.name === 'name') && this._formNode) {
534
+ this._formNode._removeFormControlItem(this, attribute.value);
535
+ }
536
+ return attribute;
537
+ }
538
+ /**
539
+ * @override
540
+ */
541
+ _connectToNode(parentNode = null) {
542
+ const oldFormNode = this._formNode;
543
+ super._connectToNode(parentNode);
544
+ if (oldFormNode !== this._formNode) {
545
+ if (oldFormNode) {
546
+ oldFormNode._removeFormControlItem(this, this.name);
547
+ oldFormNode._removeFormControlItem(this, this.id);
548
+ }
549
+ if (this._formNode) {
550
+ this._formNode._appendFormControlItem(this, this.name);
551
+ this._formNode._appendFormControlItem(this, this.id);
552
+ }
553
+ }
554
+ }
445
555
  }
446
556
  exports.default = HTMLTextAreaElement;
447
557
  //# sourceMappingURL=HTMLTextAreaElement.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"HTMLTextAreaElement.js","sourceRoot":"","sources":["../../../src/nodes/html-text-area-element/HTMLTextAreaElement.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HTMLTextAreaElement.js","sourceRoot":"","sources":["../../../src/nodes/html-text-area-element/HTMLTextAreaElement.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,8 @@ import Event from '../../event/Event';
2
2
  import IHTMLElement from '../html-element/IHTMLElement';
3
3
  import IHTMLFormElement from '../html-form-element/IHTMLFormElement';
4
4
  import HTMLInputElementSelectionModeEnum from '../html-input-element/HTMLInputElementSelectionModeEnum';
5
+ import IHTMLLabelElement from '../html-label-element/IHTMLLabelElement';
6
+ import INodeList from '../node/INodeList';
5
7
  /**
6
8
  * HTML Text Area Element.
7
9
  *
@@ -11,6 +13,8 @@ import HTMLInputElementSelectionModeEnum from '../html-input-element/HTMLInputEl
11
13
  export default interface IHTMLTextAreaElement extends IHTMLElement {
12
14
  readonly type: string;
13
15
  readonly form: IHTMLFormElement;
16
+ readonly validationMessage: string;
17
+ readonly labels: INodeList<IHTMLLabelElement>;
14
18
  defaultValue: string;
15
19
  minLength: number;
16
20
  maxLength: number;
@@ -54,6 +58,18 @@ export default interface IHTMLTextAreaElement extends IHTMLElement {
54
58
  * @returns "true" if the field is valid.
55
59
  */
56
60
  checkValidity(): boolean;
61
+ /**
62
+ * Reports validity.
63
+ *
64
+ * @returns "true" if the field is valid.
65
+ */
66
+ reportValidity(): boolean;
67
+ /**
68
+ * Sets validation message.
69
+ *
70
+ * @param message Message.
71
+ */
72
+ setCustomValidity(message: string): void;
57
73
  /**
58
74
  * Clones a node.
59
75
  *
@@ -4,9 +4,9 @@ import Event from '../../event/Event';
4
4
  import INode from './INode';
5
5
  import IDocument from '../document/IDocument';
6
6
  import IElement from '../element/IElement';
7
- import INodeList from './INodeList';
8
7
  import NodeTypeEnum from './NodeTypeEnum';
9
8
  import NodeDocumentPositionEnum from './NodeDocumentPositionEnum';
9
+ import INodeList from './INodeList';
10
10
  /**
11
11
  * Node.
12
12
  */
@@ -48,6 +48,9 @@ export default class Node extends EventTarget implements INode {
48
48
  readonly childNodes: INodeList<INode>;
49
49
  readonly isConnected: boolean;
50
50
  _rootNode: INode;
51
+ _formNode: INode;
52
+ _selectNode: INode;
53
+ _textAreaNode: INode;
51
54
  _observers: MutationListener[];
52
55
  /**
53
56
  * Constructor.
@@ -228,4 +231,12 @@ export default class Node extends EventTarget implements INode {
228
231
  * @param otherNode Other node.
229
232
  */
230
233
  compareDocumentPosition(otherNode: INode): number;
234
+ /**
235
+ * This will be called by JSON.stringify() when serializing this node.
236
+ *
237
+ * @returns Object without circular references.
238
+ */
239
+ toJSON(): {
240
+ [key: string]: unknown;
241
+ };
231
242
  }