happy-dom 13.0.6 → 13.1.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.
- package/cjs/PropertySymbol.cjs +69 -2
- package/cjs/PropertySymbol.cjs.map +1 -1
- package/cjs/PropertySymbol.d.ts +67 -1
- package/cjs/PropertySymbol.d.ts.map +1 -1
- package/cjs/async-task-manager/AsyncTaskManager.cjs +11 -5
- package/cjs/async-task-manager/AsyncTaskManager.cjs.map +1 -1
- package/cjs/async-task-manager/AsyncTaskManager.d.ts.map +1 -1
- package/cjs/browser/utilities/BrowserFrameNavigator.cjs +1 -1
- package/cjs/browser/utilities/BrowserFrameNavigator.cjs.map +1 -1
- package/cjs/css/declaration/AbstractCSSStyleDeclaration.cjs +17 -16
- package/cjs/css/declaration/AbstractCSSStyleDeclaration.cjs.map +1 -1
- package/cjs/css/declaration/AbstractCSSStyleDeclaration.d.ts.map +1 -1
- package/cjs/css/declaration/element-style/CSSStyleDeclarationElementStyle.cjs +43 -26
- package/cjs/css/declaration/element-style/CSSStyleDeclarationElementStyle.cjs.map +1 -1
- package/cjs/css/declaration/element-style/CSSStyleDeclarationElementStyle.d.ts.map +1 -1
- package/cjs/dom-implementation/DOMImplementation.cjs +6 -6
- package/cjs/dom-implementation/DOMImplementation.cjs.map +1 -1
- package/cjs/dom-parser/DOMParser.cjs +2 -2
- package/cjs/dom-parser/DOMParser.cjs.map +1 -1
- package/cjs/dom-parser/DOMParser.d.ts.map +1 -1
- package/cjs/event/Event.cjs +3 -3
- package/cjs/event/Event.cjs.map +1 -1
- package/cjs/event/EventTarget.cjs +4 -4
- package/cjs/event/EventTarget.cjs.map +1 -1
- package/cjs/fetch/Request.cjs +2 -1
- package/cjs/fetch/Request.cjs.map +1 -1
- package/cjs/fetch/Request.d.ts +4 -4
- package/cjs/fetch/Request.d.ts.map +1 -1
- package/cjs/form-data/FormData.cjs +7 -7
- package/cjs/form-data/FormData.cjs.map +1 -1
- package/cjs/mutation-observer/MutationObserver.cjs +3 -3
- package/cjs/mutation-observer/MutationObserver.cjs.map +1 -1
- package/cjs/named-node-map/NamedNodeMap.cjs +10 -8
- package/cjs/named-node-map/NamedNodeMap.cjs.map +1 -1
- package/cjs/named-node-map/NamedNodeMap.d.ts.map +1 -1
- package/cjs/nodes/attr/Attr.cjs +84 -15
- package/cjs/nodes/attr/Attr.cjs.map +1 -1
- package/cjs/nodes/attr/Attr.d.ts +40 -8
- package/cjs/nodes/attr/Attr.d.ts.map +1 -1
- package/cjs/nodes/character-data/CharacterData.cjs +2 -2
- package/cjs/nodes/character-data/CharacterData.cjs.map +1 -1
- package/cjs/nodes/child-node/ChildNodeUtility.cjs +8 -8
- package/cjs/nodes/child-node/ChildNodeUtility.cjs.map +1 -1
- package/cjs/nodes/child-node/NonDocumentChildNodeUtility.cjs +27 -3
- package/cjs/nodes/child-node/NonDocumentChildNodeUtility.cjs.map +1 -1
- package/cjs/nodes/child-node/NonDocumentChildNodeUtility.d.ts.map +1 -1
- package/cjs/nodes/comment/Comment.cjs +28 -2
- package/cjs/nodes/comment/Comment.cjs.map +1 -1
- package/cjs/nodes/comment/Comment.d.ts +3 -1
- package/cjs/nodes/comment/Comment.d.ts.map +1 -1
- package/cjs/nodes/document/Document.cjs +95 -41
- package/cjs/nodes/document/Document.cjs.map +1 -1
- package/cjs/nodes/document/Document.d.ts +45 -10
- package/cjs/nodes/document/Document.d.ts.map +1 -1
- package/cjs/nodes/document/IDocument.d.ts +2 -1
- package/cjs/nodes/document/IDocument.d.ts.map +1 -1
- package/cjs/nodes/document-fragment/DocumentFragment.cjs +8 -6
- package/cjs/nodes/document-fragment/DocumentFragment.cjs.map +1 -1
- package/cjs/nodes/document-fragment/DocumentFragment.d.ts +2 -1
- package/cjs/nodes/document-fragment/DocumentFragment.d.ts.map +1 -1
- package/cjs/nodes/document-type/DocumentType.cjs +58 -7
- package/cjs/nodes/document-type/DocumentType.cjs.map +1 -1
- package/cjs/nodes/document-type/DocumentType.d.ts +24 -4
- package/cjs/nodes/document-type/DocumentType.d.ts.map +1 -1
- package/cjs/nodes/element/Dataset.cjs +14 -14
- package/cjs/nodes/element/Dataset.cjs.map +1 -1
- package/cjs/nodes/element/Dataset.d.ts +1 -1
- package/cjs/nodes/element/Dataset.d.ts.map +1 -1
- package/cjs/nodes/element/Element.cjs +142 -55
- package/cjs/nodes/element/Element.cjs.map +1 -1
- package/cjs/nodes/element/Element.d.ts +77 -11
- package/cjs/nodes/element/Element.d.ts.map +1 -1
- package/cjs/nodes/element/ElementNamedNodeMap.cjs +33 -30
- package/cjs/nodes/element/ElementNamedNodeMap.cjs.map +1 -1
- package/cjs/nodes/element/ElementNamedNodeMap.d.ts.map +1 -1
- package/cjs/nodes/element/ElementUtility.cjs +19 -19
- package/cjs/nodes/element/ElementUtility.cjs.map +1 -1
- package/cjs/nodes/element/ElementUtility.d.ts.map +1 -1
- package/cjs/nodes/element/IElement.d.ts +3 -3
- package/cjs/nodes/element/IElement.d.ts.map +1 -1
- package/cjs/nodes/html-anchor-element/HTMLAnchorElement.cjs +6 -6
- package/cjs/nodes/html-anchor-element/HTMLAnchorElement.cjs.map +1 -1
- package/cjs/nodes/html-anchor-element/HTMLAnchorElement.d.ts +1 -1
- package/cjs/nodes/html-anchor-element/HTMLAnchorElement.d.ts.map +1 -1
- package/cjs/nodes/html-anchor-element/HTMLAnchorElementNamedNodeMap.cjs +7 -5
- package/cjs/nodes/html-anchor-element/HTMLAnchorElementNamedNodeMap.cjs.map +1 -1
- package/cjs/nodes/html-anchor-element/HTMLAnchorElementNamedNodeMap.d.ts.map +1 -1
- package/cjs/nodes/html-base-element/HTMLBaseElement.cjs +25 -1
- package/cjs/nodes/html-base-element/HTMLBaseElement.cjs.map +1 -1
- package/cjs/nodes/html-base-element/HTMLBaseElement.d.ts.map +1 -1
- package/cjs/nodes/html-button-element/HTMLButtonElement.cjs +27 -8
- package/cjs/nodes/html-button-element/HTMLButtonElement.cjs.map +1 -1
- package/cjs/nodes/html-button-element/HTMLButtonElement.d.ts +16 -3
- package/cjs/nodes/html-button-element/HTMLButtonElement.d.ts.map +1 -1
- package/cjs/nodes/html-button-element/HTMLButtonElementNamedNodeMap.cjs +7 -7
- package/cjs/nodes/html-button-element/HTMLButtonElementNamedNodeMap.cjs.map +1 -1
- package/cjs/nodes/html-dialog-element/HTMLDialogElement.cjs +44 -1
- package/cjs/nodes/html-dialog-element/HTMLDialogElement.cjs.map +1 -1
- package/cjs/nodes/html-dialog-element/HTMLDialogElement.d.ts +14 -1
- package/cjs/nodes/html-dialog-element/HTMLDialogElement.d.ts.map +1 -1
- package/cjs/nodes/html-document/HTMLDocument.cjs +25 -1
- package/cjs/nodes/html-document/HTMLDocument.cjs.map +1 -1
- package/cjs/nodes/html-document/HTMLDocument.d.ts.map +1 -1
- package/cjs/nodes/html-element/HTMLElement.cjs +137 -32
- package/cjs/nodes/html-element/HTMLElement.cjs.map +1 -1
- package/cjs/nodes/html-element/HTMLElement.d.ts +91 -14
- package/cjs/nodes/html-element/HTMLElement.d.ts.map +1 -1
- package/cjs/nodes/html-element/HTMLElementNamedNodeMap.cjs +4 -3
- package/cjs/nodes/html-element/HTMLElementNamedNodeMap.cjs.map +1 -1
- package/cjs/nodes/html-element/HTMLElementNamedNodeMap.d.ts.map +1 -1
- package/cjs/nodes/html-element/HTMLElementUtility.cjs +12 -10
- package/cjs/nodes/html-element/HTMLElementUtility.cjs.map +1 -1
- package/cjs/nodes/html-element/HTMLElementUtility.d.ts.map +1 -1
- package/cjs/nodes/html-element/IHTMLElement.d.ts +3 -0
- package/cjs/nodes/html-element/IHTMLElement.d.ts.map +1 -1
- package/cjs/nodes/html-form-element/HTMLFormElement.cjs +62 -30
- package/cjs/nodes/html-form-element/HTMLFormElement.cjs.map +1 -1
- package/cjs/nodes/html-form-element/HTMLFormElement.d.ts +22 -3
- package/cjs/nodes/html-form-element/HTMLFormElement.d.ts.map +1 -1
- package/cjs/nodes/html-iframe-element/HTMLIFrameElement.cjs +5 -5
- package/cjs/nodes/html-iframe-element/HTMLIFrameElement.cjs.map +1 -1
- package/cjs/nodes/html-iframe-element/HTMLIFrameElement.d.ts +1 -1
- package/cjs/nodes/html-iframe-element/HTMLIFrameElement.d.ts.map +1 -1
- package/cjs/nodes/html-iframe-element/HTMLIFrameElementNamedNodeMap.cjs +27 -1
- package/cjs/nodes/html-iframe-element/HTMLIFrameElementNamedNodeMap.cjs.map +1 -1
- package/cjs/nodes/html-iframe-element/HTMLIFrameElementNamedNodeMap.d.ts.map +1 -1
- package/cjs/nodes/html-iframe-element/HTMLIFrameElementPageLoader.cjs +2 -2
- package/cjs/nodes/html-iframe-element/HTMLIFrameElementPageLoader.cjs.map +1 -1
- package/cjs/nodes/html-image-element/HTMLImageElement.cjs +128 -26
- package/cjs/nodes/html-image-element/HTMLImageElement.cjs.map +1 -1
- package/cjs/nodes/html-image-element/HTMLImageElement.d.ts +76 -21
- package/cjs/nodes/html-image-element/HTMLImageElement.d.ts.map +1 -1
- package/cjs/nodes/html-input-element/HTMLInputElement.cjs +112 -27
- package/cjs/nodes/html-input-element/HTMLInputElement.cjs.map +1 -1
- package/cjs/nodes/html-input-element/HTMLInputElement.d.ts +67 -10
- package/cjs/nodes/html-input-element/HTMLInputElement.d.ts.map +1 -1
- package/cjs/nodes/html-input-element/HTMLInputElementNamedNodeMap.cjs +7 -7
- package/cjs/nodes/html-input-element/HTMLInputElementNamedNodeMap.cjs.map +1 -1
- package/cjs/nodes/html-label-element/HTMLLabelElement.cjs +1 -1
- package/cjs/nodes/html-label-element/HTMLLabelElement.cjs.map +1 -1
- package/cjs/nodes/html-label-element/HTMLLabelElementUtility.cjs +26 -2
- package/cjs/nodes/html-label-element/HTMLLabelElementUtility.cjs.map +1 -1
- package/cjs/nodes/html-label-element/HTMLLabelElementUtility.d.ts.map +1 -1
- package/cjs/nodes/html-link-element/HTMLLinkElement.cjs +15 -8
- package/cjs/nodes/html-link-element/HTMLLinkElement.cjs.map +1 -1
- package/cjs/nodes/html-link-element/HTMLLinkElement.d.ts +6 -2
- package/cjs/nodes/html-link-element/HTMLLinkElement.d.ts.map +1 -1
- package/cjs/nodes/html-link-element/HTMLLinkElementNamedNodeMap.cjs +7 -6
- package/cjs/nodes/html-link-element/HTMLLinkElementNamedNodeMap.cjs.map +1 -1
- package/cjs/nodes/html-link-element/HTMLLinkElementNamedNodeMap.d.ts.map +1 -1
- package/cjs/nodes/html-link-element/HTMLLinkElementStyleSheetLoader.cjs +8 -5
- package/cjs/nodes/html-link-element/HTMLLinkElementStyleSheetLoader.cjs.map +1 -1
- package/cjs/nodes/html-link-element/HTMLLinkElementStyleSheetLoader.d.ts.map +1 -1
- package/cjs/nodes/html-media-element/HTMLMediaElement.cjs +154 -53
- package/cjs/nodes/html-media-element/HTMLMediaElement.cjs.map +1 -1
- package/cjs/nodes/html-media-element/HTMLMediaElement.d.ts +86 -12
- package/cjs/nodes/html-media-element/HTMLMediaElement.d.ts.map +1 -1
- package/cjs/nodes/html-option-element/HTMLOptionElement.cjs +4 -4
- package/cjs/nodes/html-option-element/HTMLOptionElement.cjs.map +1 -1
- package/cjs/nodes/html-option-element/HTMLOptionElement.d.ts +1 -1
- package/cjs/nodes/html-option-element/HTMLOptionElement.d.ts.map +1 -1
- package/cjs/nodes/html-option-element/HTMLOptionElementNamedNodeMap.cjs +3 -3
- package/cjs/nodes/html-option-element/HTMLOptionElementNamedNodeMap.cjs.map +1 -1
- package/cjs/nodes/html-script-element/HTMLScriptElement.cjs +12 -11
- package/cjs/nodes/html-script-element/HTMLScriptElement.cjs.map +1 -1
- package/cjs/nodes/html-script-element/HTMLScriptElement.d.ts +1 -1
- package/cjs/nodes/html-script-element/HTMLScriptElement.d.ts.map +1 -1
- package/cjs/nodes/html-script-element/HTMLScriptElementNamedNodeMap.cjs +4 -4
- package/cjs/nodes/html-script-element/HTMLScriptElementNamedNodeMap.cjs.map +1 -1
- package/cjs/nodes/html-script-element/HTMLScriptElementScriptLoader.cjs +8 -8
- package/cjs/nodes/html-script-element/HTMLScriptElementScriptLoader.cjs.map +1 -1
- package/cjs/nodes/html-script-element/HTMLScriptElementScriptLoader.d.ts.map +1 -1
- package/cjs/nodes/html-select-element/HTMLSelectElement.cjs +63 -32
- package/cjs/nodes/html-select-element/HTMLSelectElement.cjs.map +1 -1
- package/cjs/nodes/html-select-element/HTMLSelectElement.d.ts +30 -5
- package/cjs/nodes/html-select-element/HTMLSelectElement.d.ts.map +1 -1
- package/cjs/nodes/html-select-element/HTMLSelectElementNamedNodeMap.cjs +7 -7
- package/cjs/nodes/html-select-element/HTMLSelectElementNamedNodeMap.cjs.map +1 -1
- package/cjs/nodes/html-style-element/HTMLStyleElement.cjs +6 -6
- package/cjs/nodes/html-style-element/HTMLStyleElement.cjs.map +1 -1
- package/cjs/nodes/html-style-element/HTMLStyleElement.d.ts +1 -1
- package/cjs/nodes/html-style-element/HTMLStyleElement.d.ts.map +1 -1
- package/cjs/nodes/html-template-element/HTMLTemplateElement.cjs +27 -12
- package/cjs/nodes/html-template-element/HTMLTemplateElement.cjs.map +1 -1
- package/cjs/nodes/html-template-element/HTMLTemplateElement.d.ts +8 -1
- package/cjs/nodes/html-template-element/HTMLTemplateElement.d.ts.map +1 -1
- package/cjs/nodes/html-template-element/IHTMLTemplateElement.d.ts +1 -1
- package/cjs/nodes/html-template-element/IHTMLTemplateElement.d.ts.map +1 -1
- package/cjs/nodes/html-text-area-element/HTMLTextAreaElement.cjs +27 -9
- package/cjs/nodes/html-text-area-element/HTMLTextAreaElement.cjs.map +1 -1
- package/cjs/nodes/html-text-area-element/HTMLTextAreaElement.d.ts +16 -3
- package/cjs/nodes/html-text-area-element/HTMLTextAreaElement.d.ts.map +1 -1
- package/cjs/nodes/html-text-area-element/HTMLTextAreaElementNamedNodeMap.cjs +7 -7
- package/cjs/nodes/html-text-area-element/HTMLTextAreaElementNamedNodeMap.cjs.map +1 -1
- package/cjs/nodes/html-unknown-element/HTMLUnknownElement.cjs +24 -17
- package/cjs/nodes/html-unknown-element/HTMLUnknownElement.cjs.map +1 -1
- package/cjs/nodes/html-unknown-element/HTMLUnknownElement.d.ts.map +1 -1
- package/cjs/nodes/node/INode.d.ts +2 -2
- package/cjs/nodes/node/INode.d.ts.map +1 -1
- package/cjs/nodes/node/Node.cjs +95 -56
- package/cjs/nodes/node/Node.cjs.map +1 -1
- package/cjs/nodes/node/Node.d.ts +44 -20
- package/cjs/nodes/node/Node.d.ts.map +1 -1
- package/cjs/nodes/node/NodeUtility.cjs +37 -37
- package/cjs/nodes/node/NodeUtility.cjs.map +1 -1
- package/cjs/nodes/node/NodeUtility.d.ts.map +1 -1
- package/cjs/nodes/parent-node/ParentNodeUtility.cjs +8 -5
- package/cjs/nodes/parent-node/ParentNodeUtility.cjs.map +1 -1
- package/cjs/nodes/parent-node/ParentNodeUtility.d.ts.map +1 -1
- package/cjs/nodes/processing-instruction/ProcessingInstruction.cjs +35 -1
- package/cjs/nodes/processing-instruction/ProcessingInstruction.cjs.map +1 -1
- package/cjs/nodes/processing-instruction/ProcessingInstruction.d.ts +9 -2
- package/cjs/nodes/processing-instruction/ProcessingInstruction.d.ts.map +1 -1
- package/cjs/nodes/shadow-root/IShadowRoot.d.ts +2 -0
- package/cjs/nodes/shadow-root/IShadowRoot.d.ts.map +1 -1
- package/cjs/nodes/shadow-root/ShadowRoot.cjs +44 -7
- package/cjs/nodes/shadow-root/ShadowRoot.cjs.map +1 -1
- package/cjs/nodes/shadow-root/ShadowRoot.d.ts +28 -3
- package/cjs/nodes/shadow-root/ShadowRoot.d.ts.map +1 -1
- package/cjs/nodes/svg-element/SVGElement.cjs +7 -6
- package/cjs/nodes/svg-element/SVGElement.cjs.map +1 -1
- package/cjs/nodes/svg-element/SVGElement.d.ts +2 -2
- package/cjs/nodes/svg-element/SVGElement.d.ts.map +1 -1
- package/cjs/nodes/svg-element/SVGElementNamedNodeMap.cjs +4 -3
- package/cjs/nodes/svg-element/SVGElementNamedNodeMap.cjs.map +1 -1
- package/cjs/nodes/svg-element/SVGElementNamedNodeMap.d.ts.map +1 -1
- package/cjs/nodes/text/Text.cjs +7 -6
- package/cjs/nodes/text/Text.cjs.map +1 -1
- package/cjs/nodes/text/Text.d.ts +2 -1
- package/cjs/nodes/text/Text.d.ts.map +1 -1
- package/cjs/query-selector/QuerySelector.cjs +2 -2
- package/cjs/query-selector/QuerySelector.cjs.map +1 -1
- package/cjs/query-selector/SelectorItem.cjs +16 -16
- package/cjs/query-selector/SelectorItem.cjs.map +1 -1
- package/cjs/query-selector/SelectorItem.d.ts.map +1 -1
- package/cjs/range/Range.cjs +91 -79
- package/cjs/range/Range.cjs.map +1 -1
- package/cjs/range/Range.d.ts.map +1 -1
- package/cjs/range/RangeUtility.cjs +5 -4
- package/cjs/range/RangeUtility.cjs.map +1 -1
- package/cjs/range/RangeUtility.d.ts.map +1 -1
- package/cjs/selection/Selection.cjs +15 -15
- package/cjs/selection/Selection.cjs.map +1 -1
- package/cjs/tree-walker/TreeWalker.cjs +12 -6
- package/cjs/tree-walker/TreeWalker.cjs.map +1 -1
- package/cjs/tree-walker/TreeWalker.d.ts.map +1 -1
- package/cjs/validity-state/ValidityState.cjs +1 -1
- package/cjs/validity-state/ValidityState.cjs.map +1 -1
- package/cjs/version.cjs +1 -1
- package/cjs/window/BrowserWindow.cjs +20 -26
- package/cjs/window/BrowserWindow.cjs.map +1 -1
- package/cjs/window/BrowserWindow.d.ts.map +1 -1
- package/cjs/window/WindowErrorUtility.cjs +1 -1
- package/cjs/window/WindowErrorUtility.cjs.map +1 -1
- package/cjs/window/WindowErrorUtility.d.ts.map +1 -1
- package/cjs/xml-http-request/XMLHttpRequest.cjs +1 -1
- package/cjs/xml-http-request/XMLHttpRequest.cjs.map +1 -1
- package/cjs/xml-parser/XMLParser.cjs +16 -12
- package/cjs/xml-parser/XMLParser.cjs.map +1 -1
- package/cjs/xml-parser/XMLParser.d.ts.map +1 -1
- package/cjs/xml-serializer/XMLSerializer.cjs +36 -35
- package/cjs/xml-serializer/XMLSerializer.cjs.map +1 -1
- package/cjs/xml-serializer/XMLSerializer.d.ts +8 -1
- package/cjs/xml-serializer/XMLSerializer.d.ts.map +1 -1
- package/lib/PropertySymbol.d.ts +67 -1
- package/lib/PropertySymbol.d.ts.map +1 -1
- package/lib/PropertySymbol.js +67 -1
- package/lib/PropertySymbol.js.map +1 -1
- package/lib/async-task-manager/AsyncTaskManager.d.ts.map +1 -1
- package/lib/async-task-manager/AsyncTaskManager.js +11 -5
- package/lib/async-task-manager/AsyncTaskManager.js.map +1 -1
- package/lib/browser/utilities/BrowserFrameNavigator.js +1 -1
- package/lib/browser/utilities/BrowserFrameNavigator.js.map +1 -1
- package/lib/css/declaration/AbstractCSSStyleDeclaration.d.ts.map +1 -1
- package/lib/css/declaration/AbstractCSSStyleDeclaration.js +17 -16
- package/lib/css/declaration/AbstractCSSStyleDeclaration.js.map +1 -1
- package/lib/css/declaration/element-style/CSSStyleDeclarationElementStyle.d.ts.map +1 -1
- package/lib/css/declaration/element-style/CSSStyleDeclarationElementStyle.js +43 -26
- package/lib/css/declaration/element-style/CSSStyleDeclarationElementStyle.js.map +1 -1
- package/lib/dom-implementation/DOMImplementation.js +6 -6
- package/lib/dom-implementation/DOMImplementation.js.map +1 -1
- package/lib/dom-parser/DOMParser.d.ts.map +1 -1
- package/lib/dom-parser/DOMParser.js +2 -2
- package/lib/dom-parser/DOMParser.js.map +1 -1
- package/lib/event/Event.js +3 -3
- package/lib/event/Event.js.map +1 -1
- package/lib/event/EventTarget.js +4 -4
- package/lib/event/EventTarget.js.map +1 -1
- package/lib/fetch/Request.d.ts +4 -4
- package/lib/fetch/Request.d.ts.map +1 -1
- package/lib/fetch/Request.js +2 -1
- package/lib/fetch/Request.js.map +1 -1
- package/lib/form-data/FormData.js +7 -7
- package/lib/form-data/FormData.js.map +1 -1
- package/lib/mutation-observer/MutationObserver.js +3 -3
- package/lib/mutation-observer/MutationObserver.js.map +1 -1
- package/lib/named-node-map/NamedNodeMap.d.ts.map +1 -1
- package/lib/named-node-map/NamedNodeMap.js +10 -8
- package/lib/named-node-map/NamedNodeMap.js.map +1 -1
- package/lib/nodes/attr/Attr.d.ts +40 -8
- package/lib/nodes/attr/Attr.d.ts.map +1 -1
- package/lib/nodes/attr/Attr.js +63 -16
- package/lib/nodes/attr/Attr.js.map +1 -1
- package/lib/nodes/character-data/CharacterData.js +2 -2
- package/lib/nodes/character-data/CharacterData.js.map +1 -1
- package/lib/nodes/child-node/ChildNodeUtility.js +8 -8
- package/lib/nodes/child-node/ChildNodeUtility.js.map +1 -1
- package/lib/nodes/child-node/NonDocumentChildNodeUtility.d.ts.map +1 -1
- package/lib/nodes/child-node/NonDocumentChildNodeUtility.js +4 -3
- package/lib/nodes/child-node/NonDocumentChildNodeUtility.js.map +1 -1
- package/lib/nodes/comment/Comment.d.ts +3 -1
- package/lib/nodes/comment/Comment.d.ts.map +1 -1
- package/lib/nodes/comment/Comment.js +7 -3
- package/lib/nodes/comment/Comment.js.map +1 -1
- package/lib/nodes/document/Document.d.ts +45 -10
- package/lib/nodes/document/Document.d.ts.map +1 -1
- package/lib/nodes/document/Document.js +95 -41
- package/lib/nodes/document/Document.js.map +1 -1
- package/lib/nodes/document/IDocument.d.ts +2 -1
- package/lib/nodes/document/IDocument.d.ts.map +1 -1
- package/lib/nodes/document-fragment/DocumentFragment.d.ts +2 -1
- package/lib/nodes/document-fragment/DocumentFragment.d.ts.map +1 -1
- package/lib/nodes/document-fragment/DocumentFragment.js +8 -6
- package/lib/nodes/document-fragment/DocumentFragment.js.map +1 -1
- package/lib/nodes/document-type/DocumentType.d.ts +24 -4
- package/lib/nodes/document-type/DocumentType.d.ts.map +1 -1
- package/lib/nodes/document-type/DocumentType.js +37 -8
- package/lib/nodes/document-type/DocumentType.js.map +1 -1
- package/lib/nodes/element/Dataset.d.ts +1 -1
- package/lib/nodes/element/Dataset.d.ts.map +1 -1
- package/lib/nodes/element/Dataset.js +14 -14
- package/lib/nodes/element/Dataset.js.map +1 -1
- package/lib/nodes/element/Element.d.ts +77 -11
- package/lib/nodes/element/Element.d.ts.map +1 -1
- package/lib/nodes/element/Element.js +142 -55
- package/lib/nodes/element/Element.js.map +1 -1
- package/lib/nodes/element/ElementNamedNodeMap.d.ts.map +1 -1
- package/lib/nodes/element/ElementNamedNodeMap.js +33 -30
- package/lib/nodes/element/ElementNamedNodeMap.js.map +1 -1
- package/lib/nodes/element/ElementUtility.d.ts.map +1 -1
- package/lib/nodes/element/ElementUtility.js +19 -19
- package/lib/nodes/element/ElementUtility.js.map +1 -1
- package/lib/nodes/element/IElement.d.ts +3 -3
- package/lib/nodes/element/IElement.d.ts.map +1 -1
- package/lib/nodes/html-anchor-element/HTMLAnchorElement.d.ts +1 -1
- package/lib/nodes/html-anchor-element/HTMLAnchorElement.d.ts.map +1 -1
- package/lib/nodes/html-anchor-element/HTMLAnchorElement.js +6 -6
- package/lib/nodes/html-anchor-element/HTMLAnchorElement.js.map +1 -1
- package/lib/nodes/html-anchor-element/HTMLAnchorElementNamedNodeMap.d.ts.map +1 -1
- package/lib/nodes/html-anchor-element/HTMLAnchorElementNamedNodeMap.js +7 -5
- package/lib/nodes/html-anchor-element/HTMLAnchorElementNamedNodeMap.js.map +1 -1
- package/lib/nodes/html-base-element/HTMLBaseElement.d.ts.map +1 -1
- package/lib/nodes/html-base-element/HTMLBaseElement.js +2 -1
- package/lib/nodes/html-base-element/HTMLBaseElement.js.map +1 -1
- package/lib/nodes/html-button-element/HTMLButtonElement.d.ts +16 -3
- package/lib/nodes/html-button-element/HTMLButtonElement.d.ts.map +1 -1
- package/lib/nodes/html-button-element/HTMLButtonElement.js +27 -8
- package/lib/nodes/html-button-element/HTMLButtonElement.js.map +1 -1
- package/lib/nodes/html-button-element/HTMLButtonElementNamedNodeMap.js +7 -7
- package/lib/nodes/html-button-element/HTMLButtonElementNamedNodeMap.js.map +1 -1
- package/lib/nodes/html-dialog-element/HTMLDialogElement.d.ts +14 -1
- package/lib/nodes/html-dialog-element/HTMLDialogElement.d.ts.map +1 -1
- package/lib/nodes/html-dialog-element/HTMLDialogElement.js +23 -2
- package/lib/nodes/html-dialog-element/HTMLDialogElement.js.map +1 -1
- package/lib/nodes/html-document/HTMLDocument.d.ts.map +1 -1
- package/lib/nodes/html-document/HTMLDocument.js +2 -1
- package/lib/nodes/html-document/HTMLDocument.js.map +1 -1
- package/lib/nodes/html-element/HTMLElement.d.ts +91 -14
- package/lib/nodes/html-element/HTMLElement.d.ts.map +1 -1
- package/lib/nodes/html-element/HTMLElement.js +137 -32
- package/lib/nodes/html-element/HTMLElement.js.map +1 -1
- package/lib/nodes/html-element/HTMLElementNamedNodeMap.d.ts.map +1 -1
- package/lib/nodes/html-element/HTMLElementNamedNodeMap.js +4 -3
- package/lib/nodes/html-element/HTMLElementNamedNodeMap.js.map +1 -1
- package/lib/nodes/html-element/HTMLElementUtility.d.ts.map +1 -1
- package/lib/nodes/html-element/HTMLElementUtility.js +12 -10
- package/lib/nodes/html-element/HTMLElementUtility.js.map +1 -1
- package/lib/nodes/html-element/IHTMLElement.d.ts +3 -0
- package/lib/nodes/html-element/IHTMLElement.d.ts.map +1 -1
- package/lib/nodes/html-form-element/HTMLFormElement.d.ts +22 -3
- package/lib/nodes/html-form-element/HTMLFormElement.d.ts.map +1 -1
- package/lib/nodes/html-form-element/HTMLFormElement.js +62 -30
- package/lib/nodes/html-form-element/HTMLFormElement.js.map +1 -1
- package/lib/nodes/html-iframe-element/HTMLIFrameElement.d.ts +1 -1
- package/lib/nodes/html-iframe-element/HTMLIFrameElement.d.ts.map +1 -1
- package/lib/nodes/html-iframe-element/HTMLIFrameElement.js +5 -5
- package/lib/nodes/html-iframe-element/HTMLIFrameElement.js.map +1 -1
- package/lib/nodes/html-iframe-element/HTMLIFrameElementNamedNodeMap.d.ts.map +1 -1
- package/lib/nodes/html-iframe-element/HTMLIFrameElementNamedNodeMap.js +4 -1
- package/lib/nodes/html-iframe-element/HTMLIFrameElementNamedNodeMap.js.map +1 -1
- package/lib/nodes/html-iframe-element/HTMLIFrameElementPageLoader.js +2 -2
- package/lib/nodes/html-iframe-element/HTMLIFrameElementPageLoader.js.map +1 -1
- package/lib/nodes/html-image-element/HTMLImageElement.d.ts +76 -21
- package/lib/nodes/html-image-element/HTMLImageElement.d.ts.map +1 -1
- package/lib/nodes/html-image-element/HTMLImageElement.js +107 -27
- package/lib/nodes/html-image-element/HTMLImageElement.js.map +1 -1
- package/lib/nodes/html-input-element/HTMLInputElement.d.ts +67 -10
- package/lib/nodes/html-input-element/HTMLInputElement.d.ts.map +1 -1
- package/lib/nodes/html-input-element/HTMLInputElement.js +112 -27
- package/lib/nodes/html-input-element/HTMLInputElement.js.map +1 -1
- package/lib/nodes/html-input-element/HTMLInputElementNamedNodeMap.js +7 -7
- package/lib/nodes/html-input-element/HTMLInputElementNamedNodeMap.js.map +1 -1
- package/lib/nodes/html-label-element/HTMLLabelElement.js +1 -1
- package/lib/nodes/html-label-element/HTMLLabelElement.js.map +1 -1
- package/lib/nodes/html-label-element/HTMLLabelElementUtility.d.ts.map +1 -1
- package/lib/nodes/html-label-element/HTMLLabelElementUtility.js +3 -2
- package/lib/nodes/html-label-element/HTMLLabelElementUtility.js.map +1 -1
- package/lib/nodes/html-link-element/HTMLLinkElement.d.ts +6 -2
- package/lib/nodes/html-link-element/HTMLLinkElement.d.ts.map +1 -1
- package/lib/nodes/html-link-element/HTMLLinkElement.js +15 -8
- package/lib/nodes/html-link-element/HTMLLinkElement.js.map +1 -1
- package/lib/nodes/html-link-element/HTMLLinkElementNamedNodeMap.d.ts.map +1 -1
- package/lib/nodes/html-link-element/HTMLLinkElementNamedNodeMap.js +7 -6
- package/lib/nodes/html-link-element/HTMLLinkElementNamedNodeMap.js.map +1 -1
- package/lib/nodes/html-link-element/HTMLLinkElementStyleSheetLoader.d.ts.map +1 -1
- package/lib/nodes/html-link-element/HTMLLinkElementStyleSheetLoader.js +8 -5
- package/lib/nodes/html-link-element/HTMLLinkElementStyleSheetLoader.js.map +1 -1
- package/lib/nodes/html-media-element/HTMLMediaElement.d.ts +86 -12
- package/lib/nodes/html-media-element/HTMLMediaElement.d.ts.map +1 -1
- package/lib/nodes/html-media-element/HTMLMediaElement.js +132 -54
- package/lib/nodes/html-media-element/HTMLMediaElement.js.map +1 -1
- package/lib/nodes/html-option-element/HTMLOptionElement.d.ts +1 -1
- package/lib/nodes/html-option-element/HTMLOptionElement.d.ts.map +1 -1
- package/lib/nodes/html-option-element/HTMLOptionElement.js +4 -4
- package/lib/nodes/html-option-element/HTMLOptionElement.js.map +1 -1
- package/lib/nodes/html-option-element/HTMLOptionElementNamedNodeMap.js +3 -3
- package/lib/nodes/html-option-element/HTMLOptionElementNamedNodeMap.js.map +1 -1
- package/lib/nodes/html-script-element/HTMLScriptElement.d.ts +1 -1
- package/lib/nodes/html-script-element/HTMLScriptElement.d.ts.map +1 -1
- package/lib/nodes/html-script-element/HTMLScriptElement.js +12 -11
- package/lib/nodes/html-script-element/HTMLScriptElement.js.map +1 -1
- package/lib/nodes/html-script-element/HTMLScriptElementNamedNodeMap.js +4 -4
- package/lib/nodes/html-script-element/HTMLScriptElementNamedNodeMap.js.map +1 -1
- package/lib/nodes/html-script-element/HTMLScriptElementScriptLoader.d.ts.map +1 -1
- package/lib/nodes/html-script-element/HTMLScriptElementScriptLoader.js +8 -8
- package/lib/nodes/html-script-element/HTMLScriptElementScriptLoader.js.map +1 -1
- package/lib/nodes/html-select-element/HTMLSelectElement.d.ts +30 -5
- package/lib/nodes/html-select-element/HTMLSelectElement.d.ts.map +1 -1
- package/lib/nodes/html-select-element/HTMLSelectElement.js +63 -32
- package/lib/nodes/html-select-element/HTMLSelectElement.js.map +1 -1
- package/lib/nodes/html-select-element/HTMLSelectElementNamedNodeMap.js +7 -7
- package/lib/nodes/html-select-element/HTMLSelectElementNamedNodeMap.js.map +1 -1
- package/lib/nodes/html-style-element/HTMLStyleElement.d.ts +1 -1
- package/lib/nodes/html-style-element/HTMLStyleElement.d.ts.map +1 -1
- package/lib/nodes/html-style-element/HTMLStyleElement.js +6 -6
- package/lib/nodes/html-style-element/HTMLStyleElement.js.map +1 -1
- package/lib/nodes/html-template-element/HTMLTemplateElement.d.ts +8 -1
- package/lib/nodes/html-template-element/HTMLTemplateElement.d.ts.map +1 -1
- package/lib/nodes/html-template-element/HTMLTemplateElement.js +29 -13
- package/lib/nodes/html-template-element/HTMLTemplateElement.js.map +1 -1
- package/lib/nodes/html-template-element/IHTMLTemplateElement.d.ts +1 -1
- package/lib/nodes/html-template-element/IHTMLTemplateElement.d.ts.map +1 -1
- package/lib/nodes/html-text-area-element/HTMLTextAreaElement.d.ts +16 -3
- package/lib/nodes/html-text-area-element/HTMLTextAreaElement.d.ts.map +1 -1
- package/lib/nodes/html-text-area-element/HTMLTextAreaElement.js +27 -9
- package/lib/nodes/html-text-area-element/HTMLTextAreaElement.js.map +1 -1
- package/lib/nodes/html-text-area-element/HTMLTextAreaElementNamedNodeMap.js +7 -7
- package/lib/nodes/html-text-area-element/HTMLTextAreaElementNamedNodeMap.js.map +1 -1
- package/lib/nodes/html-unknown-element/HTMLUnknownElement.d.ts.map +1 -1
- package/lib/nodes/html-unknown-element/HTMLUnknownElement.js +24 -17
- package/lib/nodes/html-unknown-element/HTMLUnknownElement.js.map +1 -1
- package/lib/nodes/node/INode.d.ts +2 -2
- package/lib/nodes/node/INode.d.ts.map +1 -1
- package/lib/nodes/node/Node.d.ts +44 -20
- package/lib/nodes/node/Node.d.ts.map +1 -1
- package/lib/nodes/node/Node.js +95 -56
- package/lib/nodes/node/Node.js.map +1 -1
- package/lib/nodes/node/NodeUtility.d.ts.map +1 -1
- package/lib/nodes/node/NodeUtility.js +37 -37
- package/lib/nodes/node/NodeUtility.js.map +1 -1
- package/lib/nodes/parent-node/ParentNodeUtility.d.ts.map +1 -1
- package/lib/nodes/parent-node/ParentNodeUtility.js +8 -5
- package/lib/nodes/parent-node/ParentNodeUtility.js.map +1 -1
- package/lib/nodes/processing-instruction/ProcessingInstruction.d.ts +9 -2
- package/lib/nodes/processing-instruction/ProcessingInstruction.d.ts.map +1 -1
- package/lib/nodes/processing-instruction/ProcessingInstruction.js +14 -2
- package/lib/nodes/processing-instruction/ProcessingInstruction.js.map +1 -1
- package/lib/nodes/shadow-root/IShadowRoot.d.ts +2 -0
- package/lib/nodes/shadow-root/IShadowRoot.d.ts.map +1 -1
- package/lib/nodes/shadow-root/ShadowRoot.d.ts +28 -3
- package/lib/nodes/shadow-root/ShadowRoot.d.ts.map +1 -1
- package/lib/nodes/shadow-root/ShadowRoot.js +46 -8
- package/lib/nodes/shadow-root/ShadowRoot.js.map +1 -1
- package/lib/nodes/svg-element/SVGElement.d.ts +2 -2
- package/lib/nodes/svg-element/SVGElement.d.ts.map +1 -1
- package/lib/nodes/svg-element/SVGElement.js +7 -6
- package/lib/nodes/svg-element/SVGElement.js.map +1 -1
- package/lib/nodes/svg-element/SVGElementNamedNodeMap.d.ts.map +1 -1
- package/lib/nodes/svg-element/SVGElementNamedNodeMap.js +4 -3
- package/lib/nodes/svg-element/SVGElementNamedNodeMap.js.map +1 -1
- package/lib/nodes/text/Text.d.ts +2 -1
- package/lib/nodes/text/Text.d.ts.map +1 -1
- package/lib/nodes/text/Text.js +7 -6
- package/lib/nodes/text/Text.js.map +1 -1
- package/lib/query-selector/QuerySelector.js +2 -2
- package/lib/query-selector/QuerySelector.js.map +1 -1
- package/lib/query-selector/SelectorItem.d.ts.map +1 -1
- package/lib/query-selector/SelectorItem.js +16 -16
- package/lib/query-selector/SelectorItem.js.map +1 -1
- package/lib/range/Range.d.ts.map +1 -1
- package/lib/range/Range.js +91 -79
- package/lib/range/Range.js.map +1 -1
- package/lib/range/RangeUtility.d.ts.map +1 -1
- package/lib/range/RangeUtility.js +5 -4
- package/lib/range/RangeUtility.js.map +1 -1
- package/lib/selection/Selection.js +15 -15
- package/lib/selection/Selection.js.map +1 -1
- package/lib/tree-walker/TreeWalker.d.ts.map +1 -1
- package/lib/tree-walker/TreeWalker.js +12 -6
- package/lib/tree-walker/TreeWalker.js.map +1 -1
- package/lib/validity-state/ValidityState.js +1 -1
- package/lib/validity-state/ValidityState.js.map +1 -1
- package/lib/version.js +1 -1
- package/lib/window/BrowserWindow.d.ts.map +1 -1
- package/lib/window/BrowserWindow.js +20 -26
- package/lib/window/BrowserWindow.js.map +1 -1
- package/lib/window/WindowErrorUtility.d.ts.map +1 -1
- package/lib/window/WindowErrorUtility.js +1 -1
- package/lib/window/WindowErrorUtility.js.map +1 -1
- package/lib/xml-http-request/XMLHttpRequest.js +1 -1
- package/lib/xml-http-request/XMLHttpRequest.js.map +1 -1
- package/lib/xml-parser/XMLParser.d.ts.map +1 -1
- package/lib/xml-parser/XMLParser.js +16 -12
- package/lib/xml-parser/XMLParser.js.map +1 -1
- package/lib/xml-serializer/XMLSerializer.d.ts +8 -1
- package/lib/xml-serializer/XMLSerializer.d.ts.map +1 -1
- package/lib/xml-serializer/XMLSerializer.js +37 -37
- package/lib/xml-serializer/XMLSerializer.js.map +1 -1
- package/package.json +1 -1
- package/src/PropertySymbol.ts +67 -1
- package/src/async-task-manager/AsyncTaskManager.ts +12 -5
- package/src/browser/utilities/BrowserFrameNavigator.ts +1 -1
- package/src/css/declaration/AbstractCSSStyleDeclaration.ts +17 -16
- package/src/css/declaration/element-style/CSSStyleDeclarationElementStyle.ts +64 -28
- package/src/dom-implementation/DOMImplementation.ts +6 -6
- package/src/dom-parser/DOMParser.ts +2 -2
- package/src/event/Event.ts +3 -3
- package/src/event/EventTarget.ts +4 -4
- package/src/fetch/Request.ts +7 -5
- package/src/form-data/FormData.ts +9 -9
- package/src/mutation-observer/MutationObserver.ts +3 -3
- package/src/named-node-map/NamedNodeMap.ts +12 -8
- package/src/nodes/attr/Attr.ts +59 -11
- package/src/nodes/character-data/CharacterData.ts +2 -2
- package/src/nodes/child-node/ChildNodeUtility.ts +8 -8
- package/src/nodes/child-node/NonDocumentChildNodeUtility.ts +4 -3
- package/src/nodes/comment/Comment.ts +3 -2
- package/src/nodes/document/Document.ts +106 -46
- package/src/nodes/document/IDocument.ts +2 -1
- package/src/nodes/document-fragment/DocumentFragment.ts +8 -4
- package/src/nodes/document-type/DocumentType.ts +36 -7
- package/src/nodes/element/Dataset.ts +23 -17
- package/src/nodes/element/Element.ts +166 -61
- package/src/nodes/element/ElementNamedNodeMap.ts +58 -33
- package/src/nodes/element/ElementUtility.ts +26 -19
- package/src/nodes/element/IElement.ts +3 -3
- package/src/nodes/html-anchor-element/HTMLAnchorElement.ts +5 -3
- package/src/nodes/html-anchor-element/HTMLAnchorElementNamedNodeMap.ts +11 -5
- package/src/nodes/html-base-element/HTMLBaseElement.ts +2 -1
- package/src/nodes/html-button-element/HTMLButtonElement.ts +29 -6
- package/src/nodes/html-button-element/HTMLButtonElementNamedNodeMap.ts +7 -7
- package/src/nodes/html-dialog-element/HTMLDialogElement.ts +21 -1
- package/src/nodes/html-document/HTMLDocument.ts +2 -1
- package/src/nodes/html-element/HTMLElement.ts +161 -33
- package/src/nodes/html-element/HTMLElementNamedNodeMap.ts +6 -3
- package/src/nodes/html-element/HTMLElementUtility.ts +17 -10
- package/src/nodes/html-element/IHTMLElement.ts +3 -0
- package/src/nodes/html-form-element/HTMLFormElement.ts +67 -27
- package/src/nodes/html-iframe-element/HTMLIFrameElement.ts +6 -5
- package/src/nodes/html-iframe-element/HTMLIFrameElementNamedNodeMap.ts +6 -1
- package/src/nodes/html-iframe-element/HTMLIFrameElementPageLoader.ts +2 -2
- package/src/nodes/html-image-element/HTMLImageElement.ts +115 -28
- package/src/nodes/html-input-element/HTMLInputElement.ts +125 -30
- package/src/nodes/html-input-element/HTMLInputElementNamedNodeMap.ts +7 -7
- package/src/nodes/html-label-element/HTMLLabelElement.ts +1 -1
- package/src/nodes/html-label-element/HTMLLabelElementUtility.ts +3 -2
- package/src/nodes/html-link-element/HTMLLinkElement.ts +15 -5
- package/src/nodes/html-link-element/HTMLLinkElementNamedNodeMap.ts +9 -6
- package/src/nodes/html-link-element/HTMLLinkElementStyleSheetLoader.ts +13 -5
- package/src/nodes/html-media-element/HTMLMediaElement.ts +142 -42
- package/src/nodes/html-option-element/HTMLOptionElement.ts +3 -1
- package/src/nodes/html-option-element/HTMLOptionElementNamedNodeMap.ts +3 -3
- package/src/nodes/html-script-element/HTMLScriptElement.ts +19 -12
- package/src/nodes/html-script-element/HTMLScriptElementNamedNodeMap.ts +4 -4
- package/src/nodes/html-script-element/HTMLScriptElementScriptLoader.ts +13 -9
- package/src/nodes/html-select-element/HTMLSelectElement.ts +69 -31
- package/src/nodes/html-select-element/HTMLSelectElementNamedNodeMap.ts +7 -7
- package/src/nodes/html-style-element/HTMLStyleElement.ts +6 -6
- package/src/nodes/html-template-element/HTMLTemplateElement.ts +28 -12
- package/src/nodes/html-template-element/IHTMLTemplateElement.ts +1 -1
- package/src/nodes/html-text-area-element/HTMLTextAreaElement.ts +29 -6
- package/src/nodes/html-text-area-element/HTMLTextAreaElementNamedNodeMap.ts +7 -7
- package/src/nodes/html-unknown-element/HTMLUnknownElement.ts +38 -17
- package/src/nodes/node/INode.ts +2 -2
- package/src/nodes/node/Node.ts +129 -56
- package/src/nodes/node/NodeUtility.ts +44 -37
- package/src/nodes/parent-node/ParentNodeUtility.ts +10 -5
- package/src/nodes/processing-instruction/ProcessingInstruction.ts +12 -2
- package/src/nodes/shadow-root/IShadowRoot.ts +2 -0
- package/src/nodes/shadow-root/ShadowRoot.ts +50 -8
- package/src/nodes/svg-element/SVGElement.ts +6 -5
- package/src/nodes/svg-element/SVGElementNamedNodeMap.ts +6 -3
- package/src/nodes/text/Text.ts +5 -5
- package/src/query-selector/QuerySelector.ts +2 -2
- package/src/query-selector/SelectorItem.ts +20 -16
- package/src/range/Range.ts +109 -82
- package/src/range/RangeUtility.ts +7 -4
- package/src/selection/Selection.ts +15 -15
- package/src/tree-walker/TreeWalker.ts +22 -6
- package/src/validity-state/ValidityState.ts +1 -1
- package/src/window/BrowserWindow.ts +18 -24
- package/src/window/WindowErrorUtility.ts +3 -1
- package/src/xml-http-request/XMLHttpRequest.ts +1 -1
- package/src/xml-parser/XMLParser.ts +18 -12
- package/src/xml-serializer/XMLSerializer.ts +22 -20
@@ -13,13 +13,17 @@ export default class HTMLElementUtility {
|
|
13
13
|
* @param element Element.
|
14
14
|
*/
|
15
15
|
public static blur(element: IHTMLElement | ISVGElement): void {
|
16
|
-
if (
|
16
|
+
if (
|
17
|
+
element[PropertySymbol.ownerDocument][PropertySymbol.activeElement] !== element ||
|
18
|
+
!element[PropertySymbol.isConnected]
|
19
|
+
) {
|
17
20
|
return;
|
18
21
|
}
|
19
22
|
|
20
|
-
const relatedTarget =
|
23
|
+
const relatedTarget =
|
24
|
+
element[PropertySymbol.ownerDocument][PropertySymbol.nextActiveElement] ?? null;
|
21
25
|
|
22
|
-
element.ownerDocument[PropertySymbol.activeElement] = null;
|
26
|
+
element[PropertySymbol.ownerDocument][PropertySymbol.activeElement] = null;
|
23
27
|
|
24
28
|
element.dispatchEvent(
|
25
29
|
new FocusEvent('blur', {
|
@@ -43,23 +47,26 @@ export default class HTMLElementUtility {
|
|
43
47
|
* @param element Element.
|
44
48
|
*/
|
45
49
|
public static focus(element: IHTMLElement | ISVGElement): void {
|
46
|
-
if (
|
50
|
+
if (
|
51
|
+
element[PropertySymbol.ownerDocument][PropertySymbol.activeElement] === element ||
|
52
|
+
!element[PropertySymbol.isConnected]
|
53
|
+
) {
|
47
54
|
return;
|
48
55
|
}
|
49
56
|
|
50
57
|
// Set the next active element so `blur` can use it for `relatedTarget`.
|
51
|
-
element.ownerDocument[PropertySymbol.nextActiveElement] = element;
|
58
|
+
element[PropertySymbol.ownerDocument][PropertySymbol.nextActiveElement] = element;
|
52
59
|
|
53
|
-
const relatedTarget = element.ownerDocument[PropertySymbol.activeElement];
|
60
|
+
const relatedTarget = element[PropertySymbol.ownerDocument][PropertySymbol.activeElement];
|
54
61
|
|
55
|
-
if (element.ownerDocument[PropertySymbol.activeElement] !== null) {
|
56
|
-
element.ownerDocument[PropertySymbol.activeElement].blur();
|
62
|
+
if (element[PropertySymbol.ownerDocument][PropertySymbol.activeElement] !== null) {
|
63
|
+
element[PropertySymbol.ownerDocument][PropertySymbol.activeElement].blur();
|
57
64
|
}
|
58
65
|
|
59
66
|
// Clean up after blur, so it does not affect next blur call.
|
60
|
-
element.ownerDocument[PropertySymbol.nextActiveElement] = null;
|
67
|
+
element[PropertySymbol.ownerDocument][PropertySymbol.nextActiveElement] = null;
|
61
68
|
|
62
|
-
element.ownerDocument[PropertySymbol.activeElement] = element;
|
69
|
+
element[PropertySymbol.ownerDocument][PropertySymbol.activeElement] = element;
|
63
70
|
|
64
71
|
element.dispatchEvent(
|
65
72
|
new FocusEvent('focus', {
|
@@ -9,6 +9,9 @@ import IElement from '../element/IElement.js';
|
|
9
9
|
* https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement.
|
10
10
|
*/
|
11
11
|
export default interface IHTMLElement extends IElement {
|
12
|
+
accessKey: string;
|
13
|
+
contentEditable: string;
|
14
|
+
isContentEditable: boolean;
|
12
15
|
dataset: { [key: string]: string };
|
13
16
|
tabIndex: number;
|
14
17
|
offsetHeight: number;
|
@@ -18,17 +18,33 @@ import IHTMLButtonElement from '../html-button-element/IHTMLButtonElement.js';
|
|
18
18
|
* https://developer.mozilla.org/en-US/docs/Web/API/HTMLFormElement.
|
19
19
|
*/
|
20
20
|
export default class HTMLFormElement extends HTMLElement implements IHTMLFormElement {
|
21
|
-
//
|
22
|
-
public
|
23
|
-
public
|
21
|
+
// Internal properties.
|
22
|
+
public [PropertySymbol.elements]: IHTMLFormControlsCollection = new HTMLFormControlsCollection();
|
23
|
+
public [PropertySymbol.length] = 0;
|
24
|
+
public [PropertySymbol.formNode]: INode = this;
|
24
25
|
|
25
26
|
// Events
|
26
27
|
public onformdata: (event: Event) => void | null = null;
|
27
28
|
public onreset: (event: Event) => void | null = null;
|
28
29
|
public onsubmit: (event: Event) => void | null = null;
|
29
30
|
|
30
|
-
|
31
|
-
|
31
|
+
/**
|
32
|
+
* Returns elements.
|
33
|
+
*
|
34
|
+
* @returns Elements.
|
35
|
+
*/
|
36
|
+
public get elements(): IHTMLFormControlsCollection {
|
37
|
+
return this[PropertySymbol.elements];
|
38
|
+
}
|
39
|
+
|
40
|
+
/**
|
41
|
+
* Returns length.
|
42
|
+
*
|
43
|
+
* @returns Length.
|
44
|
+
*/
|
45
|
+
public get length(): number {
|
46
|
+
return this[PropertySymbol.length];
|
47
|
+
}
|
32
48
|
|
33
49
|
/**
|
34
50
|
* Returns name.
|
@@ -221,13 +237,16 @@ export default class HTMLFormElement extends HTMLElement implements IHTMLFormEle
|
|
221
237
|
* Resets form.
|
222
238
|
*/
|
223
239
|
public reset(): void {
|
224
|
-
for (const element of this.elements) {
|
225
|
-
if (
|
240
|
+
for (const element of this[PropertySymbol.elements]) {
|
241
|
+
if (
|
242
|
+
element[PropertySymbol.tagName] === 'INPUT' ||
|
243
|
+
element[PropertySymbol.tagName] === 'TEXTAREA'
|
244
|
+
) {
|
226
245
|
element[PropertySymbol.value] = null;
|
227
246
|
element[PropertySymbol.checked] = null;
|
228
|
-
} else if (element.tagName === 'TEXTAREA') {
|
247
|
+
} else if (element[PropertySymbol.tagName] === 'TEXTAREA') {
|
229
248
|
element[PropertySymbol.value] = null;
|
230
|
-
} else if (element.tagName === 'SELECT') {
|
249
|
+
} else if (element[PropertySymbol.tagName] === 'SELECT') {
|
231
250
|
let hasSelectedAttribute = false;
|
232
251
|
for (const option of (<IHTMLSelectElement>element).options) {
|
233
252
|
if (option.hasAttribute('selected')) {
|
@@ -254,8 +273,8 @@ export default class HTMLFormElement extends HTMLElement implements IHTMLFormEle
|
|
254
273
|
const radioValidationState: { [k: string]: boolean } = {};
|
255
274
|
let isFormValid = true;
|
256
275
|
|
257
|
-
for (const element of this.elements) {
|
258
|
-
if (element.tagName === 'INPUT' && element.type === 'radio' && element.name) {
|
276
|
+
for (const element of this[PropertySymbol.elements]) {
|
277
|
+
if (element[PropertySymbol.tagName] === 'INPUT' && element.type === 'radio' && element.name) {
|
259
278
|
if (!radioValidationState[element.name]) {
|
260
279
|
radioValidationState[element.name] = true;
|
261
280
|
if (!element.checkValidity()) {
|
@@ -300,14 +319,19 @@ export default class HTMLFormElement extends HTMLElement implements IHTMLFormEle
|
|
300
319
|
node: IHTMLInputElement | IHTMLTextAreaElement | IHTMLSelectElement | IHTMLButtonElement,
|
301
320
|
name: string
|
302
321
|
): void {
|
303
|
-
|
304
|
-
|
305
|
-
|
306
|
-
|
322
|
+
const elements = this[PropertySymbol.elements];
|
323
|
+
|
324
|
+
if (!elements.includes(node)) {
|
325
|
+
this[elements.length] = node;
|
326
|
+
elements.push(node);
|
327
|
+
this[PropertySymbol.length] = elements.length;
|
307
328
|
}
|
308
329
|
|
309
|
-
(<HTMLFormControlsCollection>
|
310
|
-
|
330
|
+
(<HTMLFormControlsCollection>elements)[PropertySymbol.appendNamedItem](node, name);
|
331
|
+
|
332
|
+
if (this[PropertySymbol.isValidPropertyName](name)) {
|
333
|
+
this[name] = elements[name];
|
334
|
+
}
|
311
335
|
}
|
312
336
|
|
313
337
|
/**
|
@@ -320,23 +344,39 @@ export default class HTMLFormElement extends HTMLElement implements IHTMLFormEle
|
|
320
344
|
node: IHTMLInputElement | IHTMLTextAreaElement | IHTMLSelectElement | IHTMLButtonElement,
|
321
345
|
name: string
|
322
346
|
): void {
|
323
|
-
const
|
347
|
+
const elements = this[PropertySymbol.elements];
|
348
|
+
const index = elements.indexOf(node);
|
324
349
|
|
325
350
|
if (index !== -1) {
|
326
|
-
|
327
|
-
for (let i = index; i < this.length; i++) {
|
351
|
+
elements.splice(index, 1);
|
352
|
+
for (let i = index; i < this[PropertySymbol.length]; i++) {
|
328
353
|
this[i] = this[i + 1];
|
329
354
|
}
|
330
|
-
delete this[this.length - 1];
|
331
|
-
|
355
|
+
delete this[this[PropertySymbol.length] - 1];
|
356
|
+
this[PropertySymbol.length]--;
|
332
357
|
}
|
333
358
|
|
334
|
-
(<HTMLFormControlsCollection>
|
359
|
+
(<HTMLFormControlsCollection>elements)[PropertySymbol.removeNamedItem](node, name);
|
335
360
|
|
336
|
-
if (this.
|
337
|
-
|
338
|
-
|
339
|
-
|
361
|
+
if (this[PropertySymbol.isValidPropertyName](name)) {
|
362
|
+
if (elements[name]) {
|
363
|
+
this[name] = elements[name];
|
364
|
+
} else {
|
365
|
+
delete this[name];
|
366
|
+
}
|
340
367
|
}
|
341
368
|
}
|
369
|
+
|
370
|
+
/**
|
371
|
+
* Returns "true" if the property name is valid.
|
372
|
+
*
|
373
|
+
* @param name Name.
|
374
|
+
* @returns True if the property name is valid.
|
375
|
+
*/
|
376
|
+
protected [PropertySymbol.isValidPropertyName](name: string): boolean {
|
377
|
+
return (
|
378
|
+
!this.constructor.prototype.hasOwnProperty(name) &&
|
379
|
+
(isNaN(Number(name)) || name.includes('.'))
|
380
|
+
);
|
381
|
+
}
|
342
382
|
}
|
@@ -18,13 +18,14 @@ import HTMLIFrameElementPageLoader from './HTMLIFrameElementPageLoader.js';
|
|
18
18
|
* https://developer.mozilla.org/en-US/docs/Web/API/HTMLIFrameElement.
|
19
19
|
*/
|
20
20
|
export default class HTMLIFrameElement extends HTMLElement implements IHTMLIFrameElement {
|
21
|
-
public override readonly attributes: INamedNodeMap;
|
22
|
-
|
23
21
|
// Events
|
24
22
|
public onload: (event: Event) => void | null = null;
|
25
23
|
public onerror: (event: Event) => void | null = null;
|
26
24
|
|
27
25
|
// Internal properties
|
26
|
+
public override [PropertySymbol.attributes]: INamedNodeMap;
|
27
|
+
|
28
|
+
// Private properties
|
28
29
|
#contentWindowContainer: { window: IBrowserWindow | ICrossOriginBrowserWindow | null } = {
|
29
30
|
window: null
|
30
31
|
};
|
@@ -42,7 +43,7 @@ export default class HTMLIFrameElement extends HTMLElement implements IHTMLIFram
|
|
42
43
|
contentWindowContainer: this.#contentWindowContainer,
|
43
44
|
browserParentFrame: browserFrame
|
44
45
|
});
|
45
|
-
this.attributes = new HTMLIFrameElementNamedNodeMap(this, this.#pageLoader);
|
46
|
+
this[PropertySymbol.attributes] = new HTMLIFrameElementNamedNodeMap(this, this.#pageLoader);
|
46
47
|
}
|
47
48
|
|
48
49
|
/**
|
@@ -193,8 +194,8 @@ export default class HTMLIFrameElement extends HTMLElement implements IHTMLIFram
|
|
193
194
|
* @override
|
194
195
|
*/
|
195
196
|
public override [PropertySymbol.connectToNode](parentNode: INode = null): void {
|
196
|
-
const isConnected = this.isConnected;
|
197
|
-
const isParentConnected = parentNode ? parentNode.isConnected : false;
|
197
|
+
const isConnected = this[PropertySymbol.isConnected];
|
198
|
+
const isParentConnected = parentNode ? parentNode[PropertySymbol.isConnected] : false;
|
198
199
|
|
199
200
|
super[PropertySymbol.connectToNode](parentNode);
|
200
201
|
|
@@ -2,6 +2,7 @@ import IAttr from '../attr/IAttr.js';
|
|
2
2
|
import Element from '../element/Element.js';
|
3
3
|
import HTMLElementNamedNodeMap from '../html-element/HTMLElementNamedNodeMap.js';
|
4
4
|
import HTMLIFrameElementPageLoader from './HTMLIFrameElementPageLoader.js';
|
5
|
+
import * as PropertySymbol from '../../PropertySymbol.js';
|
5
6
|
|
6
7
|
/**
|
7
8
|
* Named Node Map.
|
@@ -28,7 +29,11 @@ export default class HTMLIFrameElementNamedNodeMap extends HTMLElementNamedNodeM
|
|
28
29
|
public override setNamedItem(item: IAttr): IAttr | null {
|
29
30
|
const replacedAttribute = super.setNamedItem(item);
|
30
31
|
|
31
|
-
if (
|
32
|
+
if (
|
33
|
+
item[PropertySymbol.name] === 'src' &&
|
34
|
+
item[PropertySymbol.value] &&
|
35
|
+
item[PropertySymbol.value] !== replacedAttribute?.[PropertySymbol.value]
|
36
|
+
) {
|
32
37
|
this.#pageLoader.loadPage();
|
33
38
|
}
|
34
39
|
|
@@ -43,7 +43,7 @@ export default class HTMLIFrameElementPageLoader {
|
|
43
43
|
* Loads an iframe page.
|
44
44
|
*/
|
45
45
|
public loadPage(): void {
|
46
|
-
if (!this.#element.isConnected) {
|
46
|
+
if (!this.#element[PropertySymbol.isConnected]) {
|
47
47
|
if (this.#browserIFrame) {
|
48
48
|
BrowserFrameFactory.destroyFrame(this.#browserIFrame);
|
49
49
|
this.#browserIFrame = null;
|
@@ -52,7 +52,7 @@ export default class HTMLIFrameElementPageLoader {
|
|
52
52
|
return;
|
53
53
|
}
|
54
54
|
|
55
|
-
const window = this.#element.ownerDocument[PropertySymbol.
|
55
|
+
const window = this.#element[PropertySymbol.ownerDocument][PropertySymbol.ownerWindow];
|
56
56
|
const originURL = this.#browserParentFrame.window.location;
|
57
57
|
const targetURL = BrowserFrameURL.getRelativeURL(this.#browserParentFrame, this.#element.src);
|
58
58
|
|
@@ -1,5 +1,6 @@
|
|
1
1
|
import HTMLElement from '../html-element/HTMLElement.js';
|
2
2
|
import IHTMLImageElement from './IHTMLImageElement.js';
|
3
|
+
import * as PropertySymbol from '../../PropertySymbol.js';
|
3
4
|
|
4
5
|
/**
|
5
6
|
* HTML Image Element.
|
@@ -8,15 +9,101 @@ import IHTMLImageElement from './IHTMLImageElement.js';
|
|
8
9
|
* https://developer.mozilla.org/en-US/docs/Web/API/HTMLImageElement.
|
9
10
|
*/
|
10
11
|
export default class HTMLImageElement extends HTMLElement implements IHTMLImageElement {
|
11
|
-
public
|
12
|
-
public
|
13
|
-
public
|
14
|
-
public
|
15
|
-
public
|
16
|
-
public
|
17
|
-
public
|
18
|
-
|
19
|
-
|
12
|
+
public [PropertySymbol.tagName] = 'IMG';
|
13
|
+
public [PropertySymbol.complete] = false;
|
14
|
+
public [PropertySymbol.naturalHeight] = 0;
|
15
|
+
public [PropertySymbol.naturalWidth] = 0;
|
16
|
+
public [PropertySymbol.loading] = 'auto';
|
17
|
+
public [PropertySymbol.x] = 0;
|
18
|
+
public [PropertySymbol.y] = 0;
|
19
|
+
|
20
|
+
/**
|
21
|
+
* Returns complete.
|
22
|
+
*
|
23
|
+
* @returns Complete.
|
24
|
+
*/
|
25
|
+
public get complete(): boolean {
|
26
|
+
return this[PropertySymbol.complete];
|
27
|
+
}
|
28
|
+
|
29
|
+
/**
|
30
|
+
* Returns natural height.
|
31
|
+
*
|
32
|
+
* @returns Natural height.
|
33
|
+
*/
|
34
|
+
public get naturalHeight(): number {
|
35
|
+
return this[PropertySymbol.naturalHeight];
|
36
|
+
}
|
37
|
+
|
38
|
+
/**
|
39
|
+
* Returns natural width.
|
40
|
+
*
|
41
|
+
* @returns Natural width.
|
42
|
+
*/
|
43
|
+
public get naturalWidth(): number {
|
44
|
+
return this[PropertySymbol.naturalWidth];
|
45
|
+
}
|
46
|
+
|
47
|
+
/**
|
48
|
+
* Returns loading.
|
49
|
+
*
|
50
|
+
* @returns Loading.
|
51
|
+
*/
|
52
|
+
public get loading(): string {
|
53
|
+
return this[PropertySymbol.loading];
|
54
|
+
}
|
55
|
+
|
56
|
+
/**
|
57
|
+
* Returns x.
|
58
|
+
*/
|
59
|
+
public get x(): number {
|
60
|
+
return this[PropertySymbol.x];
|
61
|
+
}
|
62
|
+
|
63
|
+
/**
|
64
|
+
* Returns y.
|
65
|
+
*/
|
66
|
+
public get y(): number {
|
67
|
+
return this[PropertySymbol.y];
|
68
|
+
}
|
69
|
+
|
70
|
+
/**
|
71
|
+
* Returns decoding.
|
72
|
+
*
|
73
|
+
* @returns Decoding.
|
74
|
+
*/
|
75
|
+
public get decoding(): string {
|
76
|
+
return this.getAttribute('decoding') || 'auto';
|
77
|
+
}
|
78
|
+
|
79
|
+
/**
|
80
|
+
* Sets decoding.
|
81
|
+
*
|
82
|
+
* @param decoding Decoding.
|
83
|
+
*/
|
84
|
+
public set decoding(decoding: string) {
|
85
|
+
this.setAttribute('decoding', decoding);
|
86
|
+
}
|
87
|
+
|
88
|
+
/**
|
89
|
+
* Returns cross origin.
|
90
|
+
*
|
91
|
+
* @returns Cross origin.
|
92
|
+
*/
|
93
|
+
public get crossOrigin(): string | null {
|
94
|
+
return this.getAttribute('crossOrigin');
|
95
|
+
}
|
96
|
+
|
97
|
+
/**
|
98
|
+
* Sets cross origin.
|
99
|
+
*
|
100
|
+
* @param crossOrigin Cross origin.
|
101
|
+
*/
|
102
|
+
public set crossOrigin(crossOrigin: string | null) {
|
103
|
+
if (crossOrigin === 'anonymous' || crossOrigin === 'use-credentials') {
|
104
|
+
this.setAttribute('crossOrigin', crossOrigin);
|
105
|
+
}
|
106
|
+
}
|
20
107
|
|
21
108
|
/**
|
22
109
|
* Returns alt.
|
@@ -45,6 +132,25 @@ export default class HTMLImageElement extends HTMLElement implements IHTMLImageE
|
|
45
132
|
return this.src;
|
46
133
|
}
|
47
134
|
|
135
|
+
/**
|
136
|
+
* Returns width.
|
137
|
+
*
|
138
|
+
* @returns Width.
|
139
|
+
*/
|
140
|
+
public get width(): number {
|
141
|
+
const width = this.getAttribute('width');
|
142
|
+
return width !== null ? Number(width) : 0;
|
143
|
+
}
|
144
|
+
|
145
|
+
/**
|
146
|
+
* Sets width.
|
147
|
+
*
|
148
|
+
* @param width Width.
|
149
|
+
*/
|
150
|
+
public set width(width: number) {
|
151
|
+
this.setAttribute('width', String(width));
|
152
|
+
}
|
153
|
+
|
48
154
|
/**
|
49
155
|
* Returns height.
|
50
156
|
*
|
@@ -176,25 +282,6 @@ export default class HTMLImageElement extends HTMLElement implements IHTMLImageE
|
|
176
282
|
this.setAttribute('usemap', useMap);
|
177
283
|
}
|
178
284
|
|
179
|
-
/**
|
180
|
-
* Returns width.
|
181
|
-
*
|
182
|
-
* @returns Width.
|
183
|
-
*/
|
184
|
-
public get width(): number {
|
185
|
-
const width = this.getAttribute('width');
|
186
|
-
return width !== null ? Number(width) : 0;
|
187
|
-
}
|
188
|
-
|
189
|
-
/**
|
190
|
-
* Sets width.
|
191
|
-
*
|
192
|
-
* @param width Width.
|
193
|
-
*/
|
194
|
-
public set width(width: number) {
|
195
|
-
this.setAttribute('width', String(width));
|
196
|
-
}
|
197
|
-
|
198
285
|
/**
|
199
286
|
* The decode() method of the HTMLImageElement interface returns a Promise that resolves when the image is decoded and it is safe to append the image to the DOM.
|
200
287
|
*
|
@@ -23,6 +23,7 @@ import HTMLInputElementDateUtility from './HTMLInputElementDateUtility.js';
|
|
23
23
|
import HTMLLabelElementUtility from '../html-label-element/HTMLLabelElementUtility.js';
|
24
24
|
import INamedNodeMap from '../../named-node-map/INamedNodeMap.js';
|
25
25
|
import HTMLInputElementNamedNodeMap from './HTMLInputElementNamedNodeMap.js';
|
26
|
+
import { URL } from 'url';
|
26
27
|
|
27
28
|
/**
|
28
29
|
* HTML Input Element.
|
@@ -34,39 +35,131 @@ import HTMLInputElementNamedNodeMap from './HTMLInputElementNamedNodeMap.js';
|
|
34
35
|
* https://github.com/jsdom/jsdom/blob/master/lib/jsdom/living/nodes/nodes/HTMLInputElement-impl.js (MIT licensed).
|
35
36
|
*/
|
36
37
|
export default class HTMLInputElement extends HTMLElement implements IHTMLInputElement {
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
public
|
41
|
-
public formMethod = '';
|
38
|
+
// Events
|
39
|
+
public oninput: (event: Event) => void | null = null;
|
40
|
+
public oninvalid: (event: Event) => void | null = null;
|
41
|
+
public onselectionchange: (event: Event) => void | null = null;
|
42
42
|
|
43
|
-
//
|
43
|
+
// Internal properties
|
44
|
+
public override [PropertySymbol.attributes]: INamedNodeMap = new HTMLInputElementNamedNodeMap(
|
45
|
+
this
|
46
|
+
);
|
44
47
|
public [PropertySymbol.value] = null;
|
45
48
|
public [PropertySymbol.height] = 0;
|
46
49
|
public [PropertySymbol.width] = 0;
|
47
|
-
|
48
|
-
// Type specific: checkbox/radio
|
49
|
-
public defaultChecked = false;
|
50
|
+
public [PropertySymbol.defaultChecked] = false;
|
50
51
|
public [PropertySymbol.checked]: boolean | null = null;
|
52
|
+
public [PropertySymbol.validationMessage] = '';
|
53
|
+
public [PropertySymbol.validity] = new ValidityState(this);
|
54
|
+
public [PropertySymbol.files]: IFileList<File> = new FileList();
|
51
55
|
|
52
|
-
//
|
53
|
-
public files: IFileList<File> = new FileList();
|
54
|
-
|
55
|
-
// All fields
|
56
|
-
public readonly validationMessage = '';
|
57
|
-
public readonly validity = new ValidityState(this);
|
58
|
-
|
59
|
-
// Events
|
60
|
-
public oninput: (event: Event) => void | null = null;
|
61
|
-
public oninvalid: (event: Event) => void | null = null;
|
62
|
-
public onselectionchange: (event: Event) => void | null = null;
|
63
|
-
|
64
|
-
// Type specific: text/password/search/tel/url/week/month
|
56
|
+
// Private properties
|
65
57
|
#selectionStart: number = null;
|
66
58
|
#selectionEnd: number = null;
|
67
59
|
#selectionDirection: HTMLInputElementSelectionDirectionEnum =
|
68
60
|
HTMLInputElementSelectionDirectionEnum.none;
|
69
61
|
|
62
|
+
/**
|
63
|
+
* Returns default checked.
|
64
|
+
*
|
65
|
+
* @returns Default checked.
|
66
|
+
*/
|
67
|
+
public get defaultChecked(): boolean {
|
68
|
+
return this[PropertySymbol.defaultChecked];
|
69
|
+
}
|
70
|
+
|
71
|
+
/**
|
72
|
+
* Sets default checked.
|
73
|
+
*
|
74
|
+
* @param defaultChecked Default checked.
|
75
|
+
*/
|
76
|
+
public set defaultChecked(defaultChecked: boolean) {
|
77
|
+
this[PropertySymbol.defaultChecked] = defaultChecked;
|
78
|
+
}
|
79
|
+
|
80
|
+
/**
|
81
|
+
* Returns files.
|
82
|
+
*
|
83
|
+
* @returns Files.
|
84
|
+
*/
|
85
|
+
public get files(): IFileList<File> {
|
86
|
+
return this[PropertySymbol.files];
|
87
|
+
}
|
88
|
+
|
89
|
+
/**
|
90
|
+
* Sets files.
|
91
|
+
*
|
92
|
+
* @param files Files.
|
93
|
+
*/
|
94
|
+
public set files(files: IFileList<File>) {
|
95
|
+
this[PropertySymbol.files] = files;
|
96
|
+
}
|
97
|
+
|
98
|
+
/**
|
99
|
+
* Returns form action.
|
100
|
+
*
|
101
|
+
* @returns URL.
|
102
|
+
*/
|
103
|
+
public get formAction(): string {
|
104
|
+
return (
|
105
|
+
this.getAttribute('formaction') ||
|
106
|
+
(<IHTMLFormElement>this[PropertySymbol.formNode])?.action ||
|
107
|
+
this[PropertySymbol.ownerDocument][PropertySymbol.ownerWindow].location.href
|
108
|
+
);
|
109
|
+
}
|
110
|
+
|
111
|
+
/**
|
112
|
+
* Sets form action.
|
113
|
+
*
|
114
|
+
* @param url URL.
|
115
|
+
*/
|
116
|
+
public set formAction(url: string) {
|
117
|
+
try {
|
118
|
+
new URL(url);
|
119
|
+
} catch (error) {
|
120
|
+
return;
|
121
|
+
}
|
122
|
+
this.setAttribute('formaction', url);
|
123
|
+
}
|
124
|
+
|
125
|
+
/**
|
126
|
+
* Returns form method.
|
127
|
+
*/
|
128
|
+
public get formMethod(): string {
|
129
|
+
return (
|
130
|
+
this.getAttribute('formmethod') ||
|
131
|
+
(<IHTMLFormElement>this[PropertySymbol.formNode])?.method ||
|
132
|
+
''
|
133
|
+
);
|
134
|
+
}
|
135
|
+
|
136
|
+
/**
|
137
|
+
* Sets form method.
|
138
|
+
*
|
139
|
+
* @param method Method.
|
140
|
+
*/
|
141
|
+
public set formMethod(method: string) {
|
142
|
+
this.setAttribute('formmethod', method);
|
143
|
+
}
|
144
|
+
|
145
|
+
/**
|
146
|
+
* Returns validation message.
|
147
|
+
*
|
148
|
+
* @returns Validation message.
|
149
|
+
*/
|
150
|
+
public get validationMessage(): string {
|
151
|
+
return this[PropertySymbol.validationMessage];
|
152
|
+
}
|
153
|
+
|
154
|
+
/**
|
155
|
+
* Returns validity.
|
156
|
+
*
|
157
|
+
* @returns Validity.
|
158
|
+
*/
|
159
|
+
public get validity(): ValidityState {
|
160
|
+
return this[PropertySymbol.validity];
|
161
|
+
}
|
162
|
+
|
70
163
|
/**
|
71
164
|
* Returns height.
|
72
165
|
*
|
@@ -594,7 +687,9 @@ export default class HTMLInputElement extends HTMLElement implements IHTMLInputE
|
|
594
687
|
const attritube = this.getAttribute('value');
|
595
688
|
return attritube !== null ? attritube : 'on';
|
596
689
|
case 'file':
|
597
|
-
return this.files.length > 0
|
690
|
+
return this[PropertySymbol.files].length > 0
|
691
|
+
? '/fake/path/' + this[PropertySymbol.files][0].name
|
692
|
+
: '';
|
598
693
|
}
|
599
694
|
|
600
695
|
if (this[PropertySymbol.value] === null) {
|
@@ -631,7 +726,7 @@ export default class HTMLInputElement extends HTMLElement implements IHTMLInputE
|
|
631
726
|
}
|
632
727
|
break;
|
633
728
|
default:
|
634
|
-
const oldValue = this
|
729
|
+
const oldValue = this.value;
|
635
730
|
this[PropertySymbol.value] = HTMLInputElementValueSanitizer.sanitize(this, value);
|
636
731
|
|
637
732
|
if (oldValue !== this[PropertySymbol.value]) {
|
@@ -970,7 +1065,7 @@ export default class HTMLInputElement extends HTMLElement implements IHTMLInputE
|
|
970
1065
|
* @param message Message.
|
971
1066
|
*/
|
972
1067
|
public setCustomValidity(message: string): void {
|
973
|
-
|
1068
|
+
this[PropertySymbol.validationMessage] = String(message);
|
974
1069
|
}
|
975
1070
|
|
976
1071
|
/**
|
@@ -1102,7 +1197,7 @@ export default class HTMLInputElement extends HTMLElement implements IHTMLInputE
|
|
1102
1197
|
this.type === 'hidden' ||
|
1103
1198
|
this.type === 'reset' ||
|
1104
1199
|
this.type === 'button' ||
|
1105
|
-
this.validity.valid;
|
1200
|
+
this[PropertySymbol.validity].valid;
|
1106
1201
|
if (!valid) {
|
1107
1202
|
this.dispatchEvent(new Event('invalid', { bubbles: true, cancelable: true }));
|
1108
1203
|
}
|
@@ -1156,8 +1251,8 @@ export default class HTMLInputElement extends HTMLElement implements IHTMLInputE
|
|
1156
1251
|
clone[PropertySymbol.value] = this[PropertySymbol.value];
|
1157
1252
|
clone[PropertySymbol.height] = this[PropertySymbol.height];
|
1158
1253
|
clone[PropertySymbol.width] = this[PropertySymbol.width];
|
1159
|
-
clone.defaultChecked = this.defaultChecked;
|
1160
|
-
clone.files = <FileList>this.files.slice();
|
1254
|
+
clone[PropertySymbol.defaultChecked] = this[PropertySymbol.defaultChecked];
|
1255
|
+
clone[PropertySymbol.files] = <FileList>this[PropertySymbol.files].slice();
|
1161
1256
|
clone.#selectionStart = this.#selectionStart;
|
1162
1257
|
clone.#selectionEnd = this.#selectionEnd;
|
1163
1258
|
clone.#selectionDirection = this.#selectionDirection;
|
@@ -1196,7 +1291,7 @@ export default class HTMLInputElement extends HTMLElement implements IHTMLInputE
|
|
1196
1291
|
(event.eventPhase === EventPhaseEnum.atTarget ||
|
1197
1292
|
event.eventPhase === EventPhaseEnum.bubbling) &&
|
1198
1293
|
event.type === 'click' &&
|
1199
|
-
this.isConnected
|
1294
|
+
this[PropertySymbol.isConnected]
|
1200
1295
|
) {
|
1201
1296
|
const inputType = this.type;
|
1202
1297
|
if (!this.readOnly || inputType === 'checkbox' || inputType === 'radio') {
|
@@ -1208,7 +1303,7 @@ export default class HTMLInputElement extends HTMLElement implements IHTMLInputE
|
|
1208
1303
|
if (form) {
|
1209
1304
|
form.requestSubmit();
|
1210
1305
|
}
|
1211
|
-
} else if (inputType === 'reset' && this.isConnected) {
|
1306
|
+
} else if (inputType === 'reset' && this[PropertySymbol.isConnected]) {
|
1212
1307
|
const form = <IHTMLFormElement>this[PropertySymbol.formNode];
|
1213
1308
|
if (form) {
|
1214
1309
|
form.reset();
|