@dooboostore/dom-parser 1.0.2 → 1.0.3
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.
- package/dist/cjs/DomParser.js +10 -1
- package/dist/cjs/DomParser.js.map +2 -2
- package/dist/cjs/factory/ElementFactory.js +27 -6
- package/dist/cjs/factory/ElementFactory.js.map +2 -2
- package/dist/cjs/index.js +4 -0
- package/dist/cjs/index.js.map +2 -2
- package/dist/cjs/node/CharacterData.js.map +1 -1
- package/dist/cjs/node/ChildNode.js +0 -15
- package/dist/cjs/node/ChildNode.js.map +3 -3
- package/dist/cjs/node/ChildNodeBase.js +20 -0
- package/dist/cjs/node/ChildNodeBase.js.map +2 -2
- package/dist/cjs/node/Comment.js.map +2 -2
- package/dist/cjs/node/Document.js +0 -27
- package/dist/cjs/node/Document.js.map +4 -4
- package/dist/cjs/node/DocumentBase.js +168 -205
- package/dist/cjs/node/DocumentBase.js.map +2 -2
- package/dist/cjs/node/DocumentFragment.js +0 -15
- package/dist/cjs/node/DocumentFragment.js.map +3 -3
- package/dist/cjs/node/DocumentFragmentBase.js.map +2 -2
- package/dist/cjs/node/Node.js.map +1 -1
- package/dist/cjs/node/NodeBase.js +44 -2
- package/dist/cjs/node/NodeBase.js.map +2 -2
- package/dist/cjs/node/NodeFilter.js +43 -0
- package/dist/cjs/node/NodeFilter.js.map +7 -0
- package/dist/cjs/node/NodeIterator.js +1 -28
- package/dist/cjs/node/NodeIterator.js.map +2 -2
- package/dist/cjs/node/ParentNode.js +0 -15
- package/dist/cjs/node/ParentNode.js.map +3 -3
- package/dist/cjs/node/ParentNodeBase.js +10 -10
- package/dist/cjs/node/ParentNodeBase.js.map +3 -3
- package/dist/cjs/node/ShadowRootBase.js +79 -0
- package/dist/cjs/node/ShadowRootBase.js.map +7 -0
- package/dist/cjs/node/Text.js +0 -15
- package/dist/cjs/node/Text.js.map +3 -3
- package/dist/cjs/node/TextBase.js +0 -3
- package/dist/cjs/node/TextBase.js.map +2 -2
- package/dist/cjs/node/TreeWalker.js +272 -0
- package/dist/cjs/node/TreeWalker.js.map +7 -0
- package/dist/cjs/node/collection/{HTMLCollection.js → HTMLCollectionImp.js} +7 -6
- package/dist/cjs/node/collection/HTMLCollectionImp.js.map +7 -0
- package/dist/cjs/node/collection/HTMLCollectionOfImp.js +26 -0
- package/dist/cjs/node/collection/HTMLCollectionOfImp.js.map +7 -0
- package/dist/cjs/node/collection/NodeList.js.map +1 -1
- package/dist/cjs/node/collection/{NodeListOf.js → NodeListOfImp.js} +6 -6
- package/dist/cjs/node/collection/NodeListOfImp.js.map +7 -0
- package/dist/cjs/node/collection/StylePropertyMapImpl.js +65 -0
- package/dist/cjs/node/collection/StylePropertyMapImpl.js.map +7 -0
- package/dist/cjs/node/collection/index.js +6 -6
- package/dist/cjs/node/collection/index.js.map +2 -2
- package/dist/cjs/node/elements/Element.js +0 -15
- package/dist/cjs/node/elements/Element.js.map +3 -3
- package/dist/cjs/node/elements/ElementBase.js +163 -331
- package/dist/cjs/node/elements/ElementBase.js.map +3 -3
- package/dist/cjs/node/elements/HTMLAreaElement.js.map +2 -2
- package/dist/cjs/node/{collection/HTMLCollectionOf.js → elements/HTMLAudioElement.js} +9 -16
- package/dist/cjs/node/elements/HTMLAudioElement.js.map +7 -0
- package/dist/cjs/node/elements/HTMLButtonElement.js +1 -1
- package/dist/cjs/node/elements/HTMLButtonElement.js.map +2 -2
- package/dist/cjs/node/elements/HTMLDListElement.js +29 -0
- package/dist/cjs/node/elements/HTMLDListElement.js.map +7 -0
- package/dist/cjs/node/elements/HTMLDataElement.js +29 -0
- package/dist/cjs/node/elements/HTMLDataElement.js.map +7 -0
- package/dist/cjs/node/elements/HTMLDataListElement.js +29 -0
- package/dist/cjs/node/elements/HTMLDataListElement.js.map +7 -0
- package/dist/cjs/node/elements/HTMLDetailsElement.js +29 -0
- package/dist/cjs/node/elements/HTMLDetailsElement.js.map +7 -0
- package/dist/cjs/node/elements/HTMLDialogElement.js +29 -0
- package/dist/cjs/node/elements/HTMLDialogElement.js.map +7 -0
- package/dist/cjs/node/elements/HTMLElement.js +10 -0
- package/dist/cjs/node/elements/HTMLElement.js.map +2 -2
- package/dist/cjs/node/elements/HTMLElementBase.js +41 -43
- package/dist/cjs/node/elements/HTMLElementBase.js.map +2 -2
- package/dist/cjs/node/elements/HTMLEmbedElement.js.map +2 -2
- package/dist/cjs/node/elements/HTMLFieldSetElement.js +29 -0
- package/dist/cjs/node/elements/HTMLFieldSetElement.js.map +7 -0
- package/dist/cjs/node/elements/HTMLHRElement.js +29 -0
- package/dist/cjs/node/elements/HTMLHRElement.js.map +7 -0
- package/dist/cjs/node/elements/HTMLIFrameElement.js +29 -0
- package/dist/cjs/node/elements/HTMLIFrameElement.js.map +7 -0
- package/dist/cjs/node/elements/HTMLLabelElement.js +29 -0
- package/dist/cjs/node/elements/HTMLLabelElement.js.map +7 -0
- package/dist/cjs/node/elements/HTMLLegendElement.js +29 -0
- package/dist/cjs/node/elements/HTMLLegendElement.js.map +7 -0
- package/dist/cjs/node/elements/HTMLMapElement.js +29 -0
- package/dist/cjs/node/elements/HTMLMapElement.js.map +7 -0
- package/dist/cjs/node/elements/HTMLMeterElement.js +29 -0
- package/dist/cjs/node/elements/HTMLMeterElement.js.map +7 -0
- package/dist/cjs/node/elements/HTMLModElement.js +29 -0
- package/dist/cjs/node/elements/HTMLModElement.js.map +7 -0
- package/dist/cjs/node/elements/HTMLObjectElement.js +29 -0
- package/dist/cjs/node/elements/HTMLObjectElement.js.map +7 -0
- package/dist/cjs/node/elements/HTMLOptGroupElement.js +29 -0
- package/dist/cjs/node/elements/HTMLOptGroupElement.js.map +7 -0
- package/dist/cjs/node/elements/HTMLOptionElement.js +29 -0
- package/dist/cjs/node/elements/HTMLOptionElement.js.map +7 -0
- package/dist/cjs/node/elements/HTMLOutputElement.js +29 -0
- package/dist/cjs/node/elements/HTMLOutputElement.js.map +7 -0
- package/dist/cjs/node/elements/HTMLParamElement.js +29 -0
- package/dist/cjs/node/elements/HTMLParamElement.js.map +7 -0
- package/dist/cjs/node/elements/HTMLPictureElement.js +29 -0
- package/dist/cjs/node/elements/HTMLPictureElement.js.map +7 -0
- package/dist/cjs/node/elements/HTMLPreElement.js +29 -0
- package/dist/cjs/node/elements/HTMLPreElement.js.map +7 -0
- package/dist/cjs/node/elements/HTMLProgressElement.js +29 -0
- package/dist/cjs/node/elements/HTMLProgressElement.js.map +7 -0
- package/dist/cjs/node/elements/HTMLQuoteElement.js +29 -0
- package/dist/cjs/node/elements/HTMLQuoteElement.js.map +7 -0
- package/dist/cjs/node/elements/HTMLSelectElement.js +29 -0
- package/dist/cjs/node/elements/HTMLSelectElement.js.map +7 -0
- package/dist/cjs/node/elements/HTMLSlotElement.js +29 -0
- package/dist/cjs/node/elements/HTMLSlotElement.js.map +7 -0
- package/dist/cjs/node/elements/HTMLSourceElement.js +29 -0
- package/dist/cjs/node/elements/HTMLSourceElement.js.map +7 -0
- package/dist/cjs/node/elements/HTMLTableElement.js.map +2 -2
- package/dist/cjs/node/elements/HTMLTbodyElement.js.map +2 -2
- package/dist/cjs/node/elements/HTMLTdElement.js.map +2 -2
- package/dist/cjs/node/elements/HTMLTemplateElement.js.map +2 -2
- package/dist/cjs/node/elements/HTMLTextAreaElement.js +29 -0
- package/dist/cjs/node/elements/HTMLTextAreaElement.js.map +7 -0
- package/dist/cjs/node/elements/HTMLTfootElement.js.map +2 -2
- package/dist/cjs/node/elements/HTMLTheadElement.js.map +2 -2
- package/dist/cjs/node/elements/HTMLTimeElement.js +29 -0
- package/dist/cjs/node/elements/HTMLTimeElement.js.map +7 -0
- package/dist/cjs/node/elements/HTMLTrElement.js.map +2 -2
- package/dist/cjs/node/elements/HTMLTrackElement.js +29 -0
- package/dist/cjs/node/elements/HTMLTrackElement.js.map +7 -0
- package/dist/cjs/node/elements/HTMLVideoElement.js +29 -0
- package/dist/cjs/node/elements/HTMLVideoElement.js.map +7 -0
- package/dist/cjs/node/elements/index.js +181 -92
- package/dist/cjs/node/elements/index.js.map +2 -2
- package/dist/cjs/node/index.js +6 -16
- package/dist/cjs/node/index.js.map +2 -2
- package/dist/cjs/utils/CSSSelector.js.map +2 -2
- package/dist/cjs/window/CustomElementRegistryImp.js +105 -0
- package/dist/cjs/window/CustomElementRegistryImp.js.map +7 -0
- package/dist/cjs/window/Window.js +0 -15
- package/dist/cjs/window/Window.js.map +3 -3
- package/dist/cjs/window/WindowBase.js +210 -613
- package/dist/cjs/window/WindowBase.js.map +2 -2
- package/dist/cjs/window/index.js +0 -5
- package/dist/cjs/window/index.js.map +2 -2
- package/dist/esm/DomParser.js +10 -1
- package/dist/esm/DomParser.js.map +2 -2
- package/dist/esm/factory/ElementFactory.js +27 -6
- package/dist/esm/factory/ElementFactory.js.map +2 -2
- package/dist/esm/index.js +4 -0
- package/dist/esm/index.js.map +2 -2
- package/dist/esm/node/ChildNodeBase.js +20 -0
- package/dist/esm/node/ChildNodeBase.js.map +2 -2
- package/dist/esm/node/Comment.js.map +2 -2
- package/dist/esm/node/Document.js +0 -8
- package/dist/esm/node/Document.js.map +4 -4
- package/dist/esm/node/DocumentBase.js +165 -202
- package/dist/esm/node/DocumentBase.js.map +2 -2
- package/dist/esm/node/DocumentFragmentBase.js.map +2 -2
- package/dist/esm/node/Node.js.map +1 -1
- package/dist/esm/node/NodeBase.js +45 -22
- package/dist/esm/node/NodeBase.js.map +2 -2
- package/dist/esm/node/NodeFilter.js +24 -0
- package/dist/esm/node/NodeFilter.js.map +7 -0
- package/dist/esm/node/NodeIterator.js +1 -28
- package/dist/esm/node/NodeIterator.js.map +2 -2
- package/dist/esm/node/ParentNodeBase.js +4 -4
- package/dist/esm/node/ParentNodeBase.js.map +2 -2
- package/dist/esm/node/ShadowRootBase.js +60 -0
- package/dist/esm/node/ShadowRootBase.js.map +7 -0
- package/dist/esm/node/TextBase.js +0 -3
- package/dist/esm/node/TextBase.js.map +2 -2
- package/dist/esm/node/TreeWalker.js +253 -0
- package/dist/esm/node/TreeWalker.js.map +7 -0
- package/dist/esm/node/collection/{HTMLCollection.js → HTMLCollectionImp.js} +4 -3
- package/dist/esm/node/collection/HTMLCollectionImp.js.map +7 -0
- package/dist/esm/node/collection/HTMLCollectionOfImp.js +7 -0
- package/dist/esm/node/collection/HTMLCollectionOfImp.js.map +7 -0
- package/dist/esm/node/collection/NodeList.js.map +1 -1
- package/dist/esm/node/collection/{NodeListOf.js → NodeListOfImp.js} +3 -3
- package/dist/esm/node/collection/NodeListOfImp.js.map +7 -0
- package/dist/esm/node/collection/StylePropertyMapImpl.js +46 -0
- package/dist/esm/node/collection/StylePropertyMapImpl.js.map +7 -0
- package/dist/esm/node/collection/index.js +6 -6
- package/dist/esm/node/collection/index.js.map +2 -2
- package/dist/esm/node/elements/ElementBase.js +163 -331
- package/dist/esm/node/elements/ElementBase.js.map +3 -3
- package/dist/esm/node/elements/HTMLAreaElement.js.map +2 -2
- package/dist/esm/node/elements/HTMLAudioElement.js +10 -0
- package/dist/esm/node/elements/HTMLAudioElement.js.map +7 -0
- package/dist/esm/node/elements/HTMLButtonElement.js +1 -1
- package/dist/esm/node/elements/HTMLButtonElement.js.map +2 -2
- package/dist/esm/node/elements/HTMLDListElement.js +10 -0
- package/dist/esm/node/elements/HTMLDListElement.js.map +7 -0
- package/dist/esm/node/elements/HTMLDataElement.js +10 -0
- package/dist/esm/node/elements/HTMLDataElement.js.map +7 -0
- package/dist/esm/node/elements/HTMLDataListElement.js +10 -0
- package/dist/esm/node/elements/HTMLDataListElement.js.map +7 -0
- package/dist/esm/node/elements/HTMLDetailsElement.js +10 -0
- package/dist/esm/node/elements/HTMLDetailsElement.js.map +7 -0
- package/dist/esm/node/elements/HTMLDialogElement.js +10 -0
- package/dist/esm/node/elements/HTMLDialogElement.js.map +7 -0
- package/dist/esm/node/elements/HTMLElement.js +6 -0
- package/dist/esm/node/elements/HTMLElement.js.map +3 -3
- package/dist/esm/node/elements/HTMLElementBase.js +40 -42
- package/dist/esm/node/elements/HTMLElementBase.js.map +2 -2
- package/dist/esm/node/elements/HTMLEmbedElement.js.map +2 -2
- package/dist/esm/node/elements/HTMLFieldSetElement.js +10 -0
- package/dist/esm/node/elements/HTMLFieldSetElement.js.map +7 -0
- package/dist/esm/node/elements/HTMLHRElement.js +10 -0
- package/dist/esm/node/elements/HTMLHRElement.js.map +7 -0
- package/dist/esm/node/elements/HTMLIFrameElement.js +10 -0
- package/dist/esm/node/elements/HTMLIFrameElement.js.map +7 -0
- package/dist/esm/node/elements/HTMLLabelElement.js +10 -0
- package/dist/esm/node/elements/HTMLLabelElement.js.map +7 -0
- package/dist/esm/node/elements/HTMLLegendElement.js +10 -0
- package/dist/esm/node/elements/HTMLLegendElement.js.map +7 -0
- package/dist/esm/node/elements/HTMLMapElement.js +10 -0
- package/dist/esm/node/elements/HTMLMapElement.js.map +7 -0
- package/dist/esm/node/elements/HTMLMeterElement.js +10 -0
- package/dist/esm/node/elements/HTMLMeterElement.js.map +7 -0
- package/dist/esm/node/elements/HTMLModElement.js +10 -0
- package/dist/esm/node/elements/HTMLModElement.js.map +7 -0
- package/dist/esm/node/elements/HTMLObjectElement.js +10 -0
- package/dist/esm/node/elements/HTMLObjectElement.js.map +7 -0
- package/dist/esm/node/elements/HTMLOptGroupElement.js +10 -0
- package/dist/esm/node/elements/HTMLOptGroupElement.js.map +7 -0
- package/dist/esm/node/elements/HTMLOptionElement.js +10 -0
- package/dist/esm/node/elements/HTMLOptionElement.js.map +7 -0
- package/dist/esm/node/elements/HTMLOutputElement.js +10 -0
- package/dist/esm/node/elements/HTMLOutputElement.js.map +7 -0
- package/dist/esm/node/elements/HTMLParamElement.js +10 -0
- package/dist/esm/node/elements/HTMLParamElement.js.map +7 -0
- package/dist/esm/node/elements/HTMLPictureElement.js +10 -0
- package/dist/esm/node/elements/HTMLPictureElement.js.map +7 -0
- package/dist/esm/node/elements/HTMLPreElement.js +10 -0
- package/dist/esm/node/elements/HTMLPreElement.js.map +7 -0
- package/dist/esm/node/elements/HTMLProgressElement.js +10 -0
- package/dist/esm/node/elements/HTMLProgressElement.js.map +7 -0
- package/dist/esm/node/elements/HTMLQuoteElement.js +10 -0
- package/dist/esm/node/elements/HTMLQuoteElement.js.map +7 -0
- package/dist/esm/node/elements/HTMLSelectElement.js +10 -0
- package/dist/esm/node/elements/HTMLSelectElement.js.map +7 -0
- package/dist/esm/node/elements/HTMLSlotElement.js +10 -0
- package/dist/esm/node/elements/HTMLSlotElement.js.map +7 -0
- package/dist/esm/node/elements/HTMLSourceElement.js +10 -0
- package/dist/esm/node/elements/HTMLSourceElement.js.map +7 -0
- package/dist/esm/node/elements/HTMLTableElement.js.map +2 -2
- package/dist/esm/node/elements/HTMLTbodyElement.js.map +2 -2
- package/dist/esm/node/elements/HTMLTdElement.js.map +2 -2
- package/dist/esm/node/elements/HTMLTemplateElement.js.map +2 -2
- package/dist/esm/node/elements/HTMLTextAreaElement.js +10 -0
- package/dist/esm/node/elements/HTMLTextAreaElement.js.map +7 -0
- package/dist/esm/node/elements/HTMLTfootElement.js.map +2 -2
- package/dist/esm/node/elements/HTMLTheadElement.js.map +2 -2
- package/dist/esm/node/elements/HTMLTimeElement.js +10 -0
- package/dist/esm/node/elements/HTMLTimeElement.js.map +7 -0
- package/dist/esm/node/elements/HTMLTrElement.js.map +2 -2
- package/dist/esm/node/elements/HTMLTrackElement.js +10 -0
- package/dist/esm/node/elements/HTMLTrackElement.js.map +7 -0
- package/dist/esm/node/elements/HTMLVideoElement.js +10 -0
- package/dist/esm/node/elements/HTMLVideoElement.js.map +7 -0
- package/dist/esm/node/elements/index.js +182 -93
- package/dist/esm/node/elements/index.js.map +2 -2
- package/dist/esm/node/index.js +7 -17
- package/dist/esm/node/index.js.map +2 -2
- package/dist/esm/utils/CSSSelector.js.map +2 -2
- package/dist/esm/window/CustomElementRegistryImp.js +86 -0
- package/dist/esm/window/CustomElementRegistryImp.js.map +7 -0
- package/dist/esm/window/WindowBase.js +259 -597
- package/dist/esm/window/WindowBase.js.map +2 -2
- package/dist/esm/window/index.js +0 -5
- package/dist/esm/window/index.js.map +2 -2
- package/dist/esm-bundle/dooboostore-dom-parser.esm.js +3449 -3551
- package/dist/esm-bundle/dooboostore-dom-parser.esm.js.map +4 -4
- package/dist/types/DomParser.d.ts.map +1 -1
- package/dist/types/factory/ElementFactory.d.ts +1 -1
- package/dist/types/factory/ElementFactory.d.ts.map +1 -1
- package/dist/types/index.d.ts +3 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/node/CharacterData.d.ts +0 -2
- package/dist/types/node/CharacterData.d.ts.map +1 -1
- package/dist/types/node/ChildNode.d.ts +0 -38
- package/dist/types/node/ChildNode.d.ts.map +1 -1
- package/dist/types/node/ChildNodeBase.d.ts +6 -4
- package/dist/types/node/ChildNodeBase.d.ts.map +1 -1
- package/dist/types/node/Comment.d.ts +1 -1
- package/dist/types/node/Comment.d.ts.map +1 -1
- package/dist/types/node/Document.d.ts +0 -856
- package/dist/types/node/Document.d.ts.map +1 -1
- package/dist/types/node/DocumentBase.d.ts +68 -110
- package/dist/types/node/DocumentBase.d.ts.map +1 -1
- package/dist/types/node/DocumentFragment.d.ts +0 -38
- package/dist/types/node/DocumentFragment.d.ts.map +1 -1
- package/dist/types/node/DocumentFragmentBase.d.ts +1 -8
- package/dist/types/node/DocumentFragmentBase.d.ts.map +1 -1
- package/dist/types/node/Node.d.ts +0 -213
- package/dist/types/node/Node.d.ts.map +1 -1
- package/dist/types/node/NodeBase.d.ts +11 -8
- package/dist/types/node/NodeBase.d.ts.map +1 -1
- package/dist/types/node/NodeFilter.d.ts +25 -0
- package/dist/types/node/NodeFilter.d.ts.map +1 -0
- package/dist/types/node/NodeIterator.d.ts +0 -34
- package/dist/types/node/NodeIterator.d.ts.map +1 -1
- package/dist/types/node/ParentNode.d.ts +0 -84
- package/dist/types/node/ParentNode.d.ts.map +1 -1
- package/dist/types/node/ParentNodeBase.d.ts +0 -5
- package/dist/types/node/ParentNodeBase.d.ts.map +1 -1
- package/dist/types/node/ShadowRootBase.d.ts +36 -0
- package/dist/types/node/ShadowRootBase.d.ts.map +1 -0
- package/dist/types/node/Text.d.ts +0 -24
- package/dist/types/node/Text.d.ts.map +1 -1
- package/dist/types/node/TextBase.d.ts +2 -3
- package/dist/types/node/TextBase.d.ts.map +1 -1
- package/dist/types/node/TreeWalker.d.ts +48 -0
- package/dist/types/node/TreeWalker.d.ts.map +1 -0
- package/dist/types/node/collection/{HTMLCollection.d.ts → HTMLCollectionImp.d.ts} +2 -3
- package/dist/types/node/collection/HTMLCollectionImp.d.ts.map +1 -0
- package/dist/types/node/collection/HTMLCollectionOfImp.d.ts +9 -0
- package/dist/types/node/collection/HTMLCollectionOfImp.d.ts.map +1 -0
- package/dist/types/node/collection/NodeList.d.ts +0 -1
- package/dist/types/node/collection/NodeList.d.ts.map +1 -1
- package/dist/types/node/collection/{NodeListOf.d.ts → NodeListOfImp.d.ts} +3 -4
- package/dist/types/node/collection/NodeListOfImp.d.ts.map +1 -0
- package/dist/types/node/collection/StylePropertyMapImpl.d.ts +20 -0
- package/dist/types/node/collection/StylePropertyMapImpl.d.ts.map +1 -0
- package/dist/types/node/collection/index.d.ts +3 -3
- package/dist/types/node/collection/index.d.ts.map +1 -1
- package/dist/types/node/elements/Element.d.ts +0 -687
- package/dist/types/node/elements/Element.d.ts.map +1 -1
- package/dist/types/node/elements/ElementBase.d.ts +98 -74
- package/dist/types/node/elements/ElementBase.d.ts.map +1 -1
- package/dist/types/node/elements/HTMLAreaElement.d.ts +0 -1
- package/dist/types/node/elements/HTMLAreaElement.d.ts.map +1 -1
- package/dist/types/node/elements/HTMLAudioElement.d.ts +8 -0
- package/dist/types/node/elements/HTMLAudioElement.d.ts.map +1 -0
- package/dist/types/node/elements/HTMLButtonElement.d.ts +1 -1
- package/dist/types/node/elements/HTMLButtonElement.d.ts.map +1 -1
- package/dist/types/node/elements/HTMLDListElement.d.ts +5 -0
- package/dist/types/node/elements/HTMLDListElement.d.ts.map +1 -0
- package/dist/types/node/elements/HTMLDataElement.d.ts +5 -0
- package/dist/types/node/elements/HTMLDataElement.d.ts.map +1 -0
- package/dist/types/node/elements/HTMLDataListElement.d.ts +5 -0
- package/dist/types/node/elements/HTMLDataListElement.d.ts.map +1 -0
- package/dist/types/node/elements/HTMLDetailsElement.d.ts +5 -0
- package/dist/types/node/elements/HTMLDetailsElement.d.ts.map +1 -0
- package/dist/types/node/elements/HTMLDialogElement.d.ts +5 -0
- package/dist/types/node/elements/HTMLDialogElement.d.ts.map +1 -0
- package/dist/types/node/elements/HTMLElement.d.ts +2 -119
- package/dist/types/node/elements/HTMLElement.d.ts.map +1 -1
- package/dist/types/node/elements/HTMLElementBase.d.ts +126 -5
- package/dist/types/node/elements/HTMLElementBase.d.ts.map +1 -1
- package/dist/types/node/elements/HTMLEmbedElement.d.ts +0 -1
- package/dist/types/node/elements/HTMLEmbedElement.d.ts.map +1 -1
- package/dist/types/node/elements/HTMLFieldSetElement.d.ts +5 -0
- package/dist/types/node/elements/HTMLFieldSetElement.d.ts.map +1 -0
- package/dist/types/node/elements/HTMLHRElement.d.ts +5 -0
- package/dist/types/node/elements/HTMLHRElement.d.ts.map +1 -0
- package/dist/types/node/elements/HTMLIFrameElement.d.ts +5 -0
- package/dist/types/node/elements/HTMLIFrameElement.d.ts.map +1 -0
- package/dist/types/node/elements/HTMLLabelElement.d.ts +5 -0
- package/dist/types/node/elements/HTMLLabelElement.d.ts.map +1 -0
- package/dist/types/node/elements/HTMLLegendElement.d.ts +5 -0
- package/dist/types/node/elements/HTMLLegendElement.d.ts.map +1 -0
- package/dist/types/node/elements/HTMLMapElement.d.ts +5 -0
- package/dist/types/node/elements/HTMLMapElement.d.ts.map +1 -0
- package/dist/types/node/elements/HTMLMeterElement.d.ts +5 -0
- package/dist/types/node/elements/HTMLMeterElement.d.ts.map +1 -0
- package/dist/types/node/elements/HTMLModElement.d.ts +5 -0
- package/dist/types/node/elements/HTMLModElement.d.ts.map +1 -0
- package/dist/types/node/elements/HTMLObjectElement.d.ts +5 -0
- package/dist/types/node/elements/HTMLObjectElement.d.ts.map +1 -0
- package/dist/types/node/elements/HTMLOptGroupElement.d.ts +5 -0
- package/dist/types/node/elements/HTMLOptGroupElement.d.ts.map +1 -0
- package/dist/types/node/elements/HTMLOptionElement.d.ts +5 -0
- package/dist/types/node/elements/HTMLOptionElement.d.ts.map +1 -0
- package/dist/types/node/elements/HTMLOutputElement.d.ts +5 -0
- package/dist/types/node/elements/HTMLOutputElement.d.ts.map +1 -0
- package/dist/types/node/elements/HTMLParamElement.d.ts +5 -0
- package/dist/types/node/elements/HTMLParamElement.d.ts.map +1 -0
- package/dist/types/node/elements/HTMLPictureElement.d.ts +5 -0
- package/dist/types/node/elements/HTMLPictureElement.d.ts.map +1 -0
- package/dist/types/node/elements/HTMLPreElement.d.ts +5 -0
- package/dist/types/node/elements/HTMLPreElement.d.ts.map +1 -0
- package/dist/types/node/elements/HTMLProgressElement.d.ts +5 -0
- package/dist/types/node/elements/HTMLProgressElement.d.ts.map +1 -0
- package/dist/types/node/elements/HTMLQuoteElement.d.ts +5 -0
- package/dist/types/node/elements/HTMLQuoteElement.d.ts.map +1 -0
- package/dist/types/node/elements/HTMLSelectElement.d.ts +5 -0
- package/dist/types/node/elements/HTMLSelectElement.d.ts.map +1 -0
- package/dist/types/node/elements/HTMLSlotElement.d.ts +5 -0
- package/dist/types/node/elements/HTMLSlotElement.d.ts.map +1 -0
- package/dist/types/node/elements/HTMLSourceElement.d.ts +5 -0
- package/dist/types/node/elements/HTMLSourceElement.d.ts.map +1 -0
- package/dist/types/node/elements/HTMLTableElement.d.ts +3 -4
- package/dist/types/node/elements/HTMLTableElement.d.ts.map +1 -1
- package/dist/types/node/elements/HTMLTbodyElement.d.ts +2 -3
- package/dist/types/node/elements/HTMLTbodyElement.d.ts.map +1 -1
- package/dist/types/node/elements/HTMLTemplateElement.d.ts +0 -1
- package/dist/types/node/elements/HTMLTemplateElement.d.ts.map +1 -1
- package/dist/types/node/elements/HTMLTextAreaElement.d.ts +5 -0
- package/dist/types/node/elements/HTMLTextAreaElement.d.ts.map +1 -0
- package/dist/types/node/elements/HTMLTfootElement.d.ts +2 -3
- package/dist/types/node/elements/HTMLTfootElement.d.ts.map +1 -1
- package/dist/types/node/elements/HTMLTheadElement.d.ts +2 -3
- package/dist/types/node/elements/HTMLTheadElement.d.ts.map +1 -1
- package/dist/types/node/elements/HTMLTimeElement.d.ts +5 -0
- package/dist/types/node/elements/HTMLTimeElement.d.ts.map +1 -0
- package/dist/types/node/elements/HTMLTrElement.d.ts +2 -3
- package/dist/types/node/elements/HTMLTrElement.d.ts.map +1 -1
- package/dist/types/node/elements/HTMLTrackElement.d.ts +5 -0
- package/dist/types/node/elements/HTMLTrackElement.d.ts.map +1 -0
- package/dist/types/node/elements/HTMLVideoElement.d.ts +8 -0
- package/dist/types/node/elements/HTMLVideoElement.d.ts.map +1 -0
- package/dist/types/node/elements/index.d.ts +106 -52
- package/dist/types/node/elements/index.d.ts.map +1 -1
- package/dist/types/node/index.d.ts +4 -7
- package/dist/types/node/index.d.ts.map +1 -1
- package/dist/types/utils/CSSSelector.d.ts +0 -1
- package/dist/types/utils/CSSSelector.d.ts.map +1 -1
- package/dist/types/window/CustomElementRegistryImp.d.ts +18 -0
- package/dist/types/window/CustomElementRegistryImp.d.ts.map +1 -0
- package/dist/types/window/Window.d.ts +0 -619
- package/dist/types/window/Window.d.ts.map +1 -1
- package/dist/types/window/WindowBase.d.ts +253 -286
- package/dist/types/window/WindowBase.d.ts.map +1 -1
- package/dist/types/window/index.d.ts +0 -1
- package/dist/types/window/index.d.ts.map +1 -1
- package/dist/umd-bundle/dooboostore-dom-parser.umd.js +3460 -3562
- package/dist/umd-bundle/dooboostore-dom-parser.umd.js.map +4 -4
- package/package.json +1 -1
- package/src/DomParser.ts +28 -20
- package/src/factory/ElementFactory.ts +79 -53
- package/src/index.ts +11 -10
- package/src/node/CharacterData.ts +0 -2
- package/src/node/ChildNode.ts +42 -42
- package/src/node/ChildNodeBase.ts +60 -39
- package/src/node/Comment.ts +60 -60
- package/src/node/Document.ts +129 -882
- package/src/node/DocumentBase.ts +371 -467
- package/src/node/DocumentFragment.ts +38 -44
- package/src/node/DocumentFragmentBase.ts +4 -9
- package/src/node/Node.ts +231 -224
- package/src/node/NodeBase.ts +469 -443
- package/src/node/NodeFilter.ts +50 -0
- package/src/node/NodeIterator.ts +117 -172
- package/src/node/ParentNode.ts +93 -93
- package/src/node/ParentNodeBase.ts +7 -10
- package/src/node/ShadowRootBase.ts +87 -0
- package/src/node/Text.ts +30 -30
- package/src/node/TextBase.ts +92 -94
- package/src/node/TreeWalker.ts +280 -0
- package/src/node/collection/{HTMLCollection.ts → HTMLCollectionImp.ts} +3 -2
- package/src/node/collection/HTMLCollectionOfImp.ts +12 -0
- package/src/node/collection/NodeList.ts +1 -1
- package/src/node/collection/{NodeListOf.ts → NodeListOfImp.ts} +3 -3
- package/src/node/collection/StylePropertyMapImpl.ts +60 -0
- package/src/node/collection/index.ts +3 -3
- package/src/node/elements/Element.ts +212 -772
- package/src/node/elements/ElementBase.ts +840 -1204
- package/src/node/elements/HTMLAreaElement.ts +0 -1
- package/src/node/elements/HTMLAudioElement.ts +10 -0
- package/src/node/elements/HTMLButtonElement.ts +63 -63
- package/src/node/elements/HTMLDListElement.ts +2 -0
- package/src/node/elements/HTMLDataElement.ts +6 -0
- package/src/node/elements/HTMLDataListElement.ts +2 -0
- package/src/node/elements/HTMLDetailsElement.ts +2 -0
- package/src/node/elements/HTMLDialogElement.ts +2 -0
- package/src/node/elements/HTMLElement.ts +2 -137
- package/src/node/elements/HTMLElementBase.ts +466 -355
- package/src/node/elements/HTMLEmbedElement.ts +0 -1
- package/src/node/elements/HTMLFieldSetElement.ts +2 -0
- package/src/node/elements/HTMLHRElement.ts +2 -0
- package/src/node/elements/HTMLIFrameElement.ts +2 -0
- package/src/node/elements/HTMLLabelElement.ts +2 -0
- package/src/node/elements/HTMLLegendElement.ts +2 -0
- package/src/node/elements/HTMLMapElement.ts +2 -0
- package/src/node/elements/HTMLMeterElement.ts +2 -0
- package/src/node/elements/HTMLModElement.ts +2 -0
- package/src/node/elements/HTMLObjectElement.ts +2 -0
- package/src/node/elements/HTMLOptGroupElement.ts +2 -0
- package/src/node/elements/HTMLOptionElement.ts +2 -0
- package/src/node/elements/HTMLOutputElement.ts +2 -0
- package/src/node/elements/HTMLParamElement.ts +2 -0
- package/src/node/elements/HTMLPictureElement.ts +2 -0
- package/src/node/elements/HTMLPreElement.ts +2 -0
- package/src/node/elements/HTMLProgressElement.ts +2 -0
- package/src/node/elements/HTMLQuoteElement.ts +2 -0
- package/src/node/elements/HTMLSelectElement.ts +2 -0
- package/src/node/elements/HTMLSlotElement.ts +2 -0
- package/src/node/elements/HTMLSourceElement.ts +2 -0
- package/src/node/elements/HTMLTableElement.ts +3 -7
- package/src/node/elements/HTMLTbodyElement.ts +2 -3
- package/src/node/elements/HTMLTdElement.ts +1 -1
- package/src/node/elements/HTMLTemplateElement.ts +3 -6
- package/src/node/elements/HTMLTextAreaElement.ts +2 -0
- package/src/node/elements/HTMLTfootElement.ts +2 -3
- package/src/node/elements/HTMLTheadElement.ts +2 -3
- package/src/node/elements/HTMLTimeElement.ts +2 -0
- package/src/node/elements/HTMLTrElement.ts +3 -4
- package/src/node/elements/HTMLTrackElement.ts +2 -0
- package/src/node/elements/HTMLVideoElement.ts +10 -0
- package/src/node/elements/index.ts +226 -149
- package/src/node/index.ts +8 -8
- package/src/utils/CSSSelector.ts +0 -1
- package/src/window/CustomElementRegistryImp.ts +120 -0
- package/src/window/Window.ts +716 -715
- package/src/window/WindowBase.ts +482 -847
- package/src/window/index.ts +0 -1
- package/tsconfig.json +1 -0
- package/dist/cjs/node/collection/HTMLCollection.js.map +0 -7
- package/dist/cjs/node/collection/HTMLCollectionOf.js.map +0 -7
- package/dist/cjs/node/collection/NodeListOf.js.map +0 -7
- package/dist/esm/node/collection/HTMLCollection.js.map +0 -7
- package/dist/esm/node/collection/HTMLCollectionOf.js +0 -17
- package/dist/esm/node/collection/HTMLCollectionOf.js.map +0 -7
- package/dist/esm/node/collection/NodeListOf.js.map +0 -7
- package/dist/types/node/collection/HTMLCollection.d.ts.map +0 -1
- package/dist/types/node/collection/HTMLCollectionOf.d.ts +0 -14
- package/dist/types/node/collection/HTMLCollectionOf.d.ts.map +0 -1
- package/dist/types/node/collection/NodeListOf.d.ts.map +0 -1
- package/src/node/collection/HTMLCollectionOf.ts +0 -26
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/node/Comment.ts"],
|
|
4
|
-
"sourcesContent": ["import { ChildNodeBase } from './ChildNodeBase';\nimport { COMMENT_NODE } from './Node';\n\n/**\n * The **`Comment`** interface represents textual notations within markup; although it is generally not visually shown, such comments are available to be read in the source view.\n
|
|
5
|
-
"mappings": "AAAA,SAAS,qBAAqB;AAC9B,SAAS,oBAAoB;AAsBtB,MAAM,gBAAgB,
|
|
4
|
+
"sourcesContent": ["import { ChildNodeBase } from './ChildNodeBase';\nimport { COMMENT_NODE } from './Node';\n\n/**\n * The **`Comment`** interface represents textual notations within markup; although it is generally not visually shown, such comments are available to be read in the source view.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Comment)\n */\n// export interface Comment {\n// readonly nodeType: typeof COMMENT_NODE;\n// readonly nodeName: '#comment';\n// data: string;\n// readonly length: number;\n// appendData(data: string): void;\n// deleteData(offset: number, count: number): void;\n// insertData(offset: number, data: string): void;\n// replaceData(offset: number, count: number, data: string): void;\n// substringData(offset: number, count: number): string;\n// }\n\n/**\n * The **`CommentNode`** class represents a comment node in the DOM.\n */\nexport class Comment extends ChildNodeBase {\n private _data: string;\n\n constructor(data: string, ownerDocument?: any) {\n super(COMMENT_NODE, '#comment', ownerDocument);\n this._data = data;\n this._nodeValue = data;\n }\n\n get data(): string {\n return this._data;\n }\n\n set data(value: string) {\n this._data = value;\n this._nodeValue = value;\n }\n\n get length(): number {\n return this._data.length;\n }\n\n get textContent(): string | null {\n return this._data;\n }\n\n set textContent(value: string | null) {\n this._data = value || '';\n this._nodeValue = this._data;\n }\n\n // CharacterData methods\n appendData(data: string): void {\n this._data += data;\n this._nodeValue = this._data;\n }\n\n deleteData(offset: number, count: number): void {\n if (offset < 0 || offset > this._data.length) {\n throw new Error('Index out of bounds');\n }\n const endOffset = Math.min(offset + count, this._data.length);\n this._data = this._data.slice(0, offset) + this._data.slice(endOffset);\n this._nodeValue = this._data;\n }\n\n insertData(offset: number, data: string): void {\n if (offset < 0 || offset > this._data.length) {\n throw new Error('Index out of bounds');\n }\n this._data = this._data.slice(0, offset) + data + this._data.slice(offset);\n this._nodeValue = this._data;\n }\n\n replaceData(offset: number, count: number, data: string): void {\n this.deleteData(offset, count);\n this.insertData(offset, data);\n }\n\n substringData(offset: number, count: number): string {\n if (offset < 0 || offset > this._data.length) {\n throw new Error('Index out of bounds');\n }\n const endOffset = Math.min(offset + count, this._data.length);\n return this._data.slice(offset, endOffset);\n }\n\n cloneNode(deep?: boolean): Node {\n return new Comment(this._data, this._ownerDocument) as unknown as Node;\n }\n\n toString(): string {\n return `<!--${this._data}-->`;\n }\n}\n"],
|
|
5
|
+
"mappings": "AAAA,SAAS,qBAAqB;AAC9B,SAAS,oBAAoB;AAsBtB,MAAM,gBAAgB,cAAc;AAAA,EAGzC,YAAY,MAAc,eAAqB;AAC7C,UAAM,cAAc,YAAY,aAAa;AAC7C,SAAK,QAAQ;AACb,SAAK,aAAa;AAAA,EACpB;AAAA,EAEA,IAAI,OAAe;AACjB,WAAO,KAAK;AAAA,EACd;AAAA,EAEA,IAAI,KAAK,OAAe;AACtB,SAAK,QAAQ;AACb,SAAK,aAAa;AAAA,EACpB;AAAA,EAEA,IAAI,SAAiB;AACnB,WAAO,KAAK,MAAM;AAAA,EACpB;AAAA,EAEA,IAAI,cAA6B;AAC/B,WAAO,KAAK;AAAA,EACd;AAAA,EAEA,IAAI,YAAY,OAAsB;AACpC,SAAK,QAAQ,SAAS;AACtB,SAAK,aAAa,KAAK;AAAA,EACzB;AAAA;AAAA,EAGA,WAAW,MAAoB;AAC7B,SAAK,SAAS;AACd,SAAK,aAAa,KAAK;AAAA,EACzB;AAAA,EAEA,WAAW,QAAgB,OAAqB;AAC9C,QAAI,SAAS,KAAK,SAAS,KAAK,MAAM,QAAQ;AAC5C,YAAM,IAAI,MAAM,qBAAqB;AAAA,IACvC;AACA,UAAM,YAAY,KAAK,IAAI,SAAS,OAAO,KAAK,MAAM,MAAM;AAC5D,SAAK,QAAQ,KAAK,MAAM,MAAM,GAAG,MAAM,IAAI,KAAK,MAAM,MAAM,SAAS;AACrE,SAAK,aAAa,KAAK;AAAA,EACzB;AAAA,EAEA,WAAW,QAAgB,MAAoB;AAC7C,QAAI,SAAS,KAAK,SAAS,KAAK,MAAM,QAAQ;AAC5C,YAAM,IAAI,MAAM,qBAAqB;AAAA,IACvC;AACA,SAAK,QAAQ,KAAK,MAAM,MAAM,GAAG,MAAM,IAAI,OAAO,KAAK,MAAM,MAAM,MAAM;AACzE,SAAK,aAAa,KAAK;AAAA,EACzB;AAAA,EAEA,YAAY,QAAgB,OAAe,MAAoB;AAC7D,SAAK,WAAW,QAAQ,KAAK;AAC7B,SAAK,WAAW,QAAQ,IAAI;AAAA,EAC9B;AAAA,EAEA,cAAc,QAAgB,OAAuB;AACnD,QAAI,SAAS,KAAK,SAAS,KAAK,MAAM,QAAQ;AAC5C,YAAM,IAAI,MAAM,qBAAqB;AAAA,IACvC;AACA,UAAM,YAAY,KAAK,IAAI,SAAS,OAAO,KAAK,MAAM,MAAM;AAC5D,WAAO,KAAK,MAAM,MAAM,QAAQ,SAAS;AAAA,EAC3C;AAAA,EAEA,UAAU,MAAsB;AAC9B,WAAO,IAAI,QAAQ,KAAK,OAAO,KAAK,cAAc;AAAA,EACpD;AAAA,EAEA,WAAmB;AACjB,WAAO,OAAO,KAAK,KAAK;AAAA,EAC1B;AACF;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,9 +1 @@
|
|
|
1
|
-
import { Text as Text2 } from "./Text.js";
|
|
2
|
-
import { Comment as Comment2 } from "./Comment.js";
|
|
3
|
-
import { DocumentFragment as DocumentFragment2 } from "./DocumentFragment.js";
|
|
4
|
-
export {
|
|
5
|
-
Comment2 as Comment,
|
|
6
|
-
DocumentFragment2 as DocumentFragment,
|
|
7
|
-
Text2 as Text
|
|
8
|
-
};
|
|
9
1
|
//# sourceMappingURL=Document.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": [
|
|
4
|
-
"sourcesContent": ["import { Node } from './Node';\nimport { ParentNode } from './ParentNode';\nimport { Element } from './elements/Element';\nimport { HTMLElement } from './elements/HTMLElement';\nimport { HTMLCollection, HTMLCollectionOf } from './collection';\nimport {Comment} from \"./Comment\";\nimport {Text} from \"./Text\";\nimport { DocumentFragment } from './DocumentFragment';\nimport { HTMLElementTagNameMap, SVGElementTagNameMap, MathMLElementTagNameMap, HTMLElementDeprecatedTagNameMap, HTMLImageElement, HTMLAnchorElement, HTMLAreaElement, HTMLEmbedElement, HTMLFormElement, HTMLScriptElement, HTMLHeadElement, SVGElement, MathMLElement } from './elements';\nimport { NodeListOf } from './collection/NodeListOf';\n\n// \uCD94\uAC00 \uD0C0\uC785\uB4E4 \uC815\uC758\nexport interface ElementCreationOptions {\n is?: string;\n}\n\nexport interface ImportNodeOptions {\n deep?: boolean;\n}\n\nexport interface CaretPositionFromPointOptions {\n shadowRoots?: ShadowRoot[];\n}\n\nexport interface StartViewTransitionOptions {\n update?: ViewTransitionUpdateCallback;\n}\n\nexport type DocumentReadyState = 'loading' | 'interactive' | 'complete';\nexport type DocumentVisibilityState = 'visible' | 'hidden' | 'prerender';\nexport type ViewTransitionUpdateCallback = () => void | Promise<void>;\n\n// Import interfaces from separate files\nexport { Text } from './Text';\nexport { Comment } from './Comment';\nexport { DocumentFragment } from './DocumentFragment';\n\n// Document \uAD00\uB828 \uC778\uD130\uD398\uC774\uC2A4\uB4E4 (\uAC04\uC18C\uD654\uB41C \uBC84\uC804)\nexport interface DocumentOrShadowRoot { }\nexport interface FontFaceSource { }\nexport interface GlobalEventHandlers { }\nexport interface NonElementParentNode { }\nexport interface XPathEvaluatorBase { }\nexport interface DocumentAndElementEventHandlers { }\nexport interface HTMLAllCollection extends HTMLCollection { }\nexport interface DocumentType extends Node { }\nexport interface DOMImplementation { }\nexport interface FragmentDirective { }\nexport interface DocumentTimeline { }\nexport interface Location { href: string; }\nexport interface Selection { }\nexport interface Range { }\nexport interface NodeIterator { }\nexport interface TreeWalker { }\nexport interface ViewTransition { }\nexport interface CaretPosition { }\nexport interface NodeFilter { }\nexport interface ProcessingInstruction extends Node { }\nexport interface CDATASection extends Text { }\nexport interface Attr extends Node { }\nexport interface HTMLOrSVGScriptElement extends HTMLElement { }\nexport interface WindowProxy { }\nexport interface ShadowRoot { }\n\n// Event interfaces\nexport interface Event { }\nexport interface AnimationEvent extends Event { }\nexport interface AnimationPlaybackEvent extends Event { }\nexport interface AudioProcessingEvent extends Event { }\nexport interface BeforeUnloadEvent extends Event { }\nexport interface BlobEvent extends Event { }\nexport interface ClipboardEvent extends Event { }\nexport interface CloseEvent extends Event { }\nexport interface CompositionEvent extends Event { }\nexport interface ContentVisibilityAutoStateChangeEvent extends Event { }\nexport interface CookieChangeEvent extends Event { }\nexport interface CustomEvent extends Event { }\nexport interface DeviceMotionEvent extends Event { }\nexport interface DeviceOrientationEvent extends Event { }\nexport interface DragEvent extends Event { }\nexport interface ErrorEvent extends Event { }\nexport interface FocusEvent extends Event { }\nexport interface FontFaceSetLoadEvent extends Event { }\nexport interface FormDataEvent extends Event { }\nexport interface GamepadEvent extends Event { }\nexport interface HashChangeEvent extends Event { }\nexport interface IDBVersionChangeEvent extends Event { }\nexport interface InputEvent extends Event { }\nexport interface KeyboardEvent extends Event { }\nexport interface MIDIConnectionEvent extends Event { }\nexport interface MIDIMessageEvent extends Event { }\nexport interface MediaEncryptedEvent extends Event { }\nexport interface MediaKeyMessageEvent extends Event { }\nexport interface MediaQueryListEvent extends Event { }\nexport interface MediaStreamTrackEvent extends Event { }\nexport interface MessageEvent extends Event { }\nexport interface MouseEvent extends Event { }\nexport interface OfflineAudioCompletionEvent extends Event { }\nexport interface PageRevealEvent extends Event { }\nexport interface PageSwapEvent extends Event { }\nexport interface PageTransitionEvent extends Event { }\nexport interface PaymentMethodChangeEvent extends Event { }\nexport interface PaymentRequestUpdateEvent extends Event { }\nexport interface PictureInPictureEvent extends Event { }\nexport interface PointerEvent extends Event { }\nexport interface PopStateEvent extends Event { }\nexport interface ProgressEvent extends Event { }\nexport interface PromiseRejectionEvent extends Event { }\nexport interface RTCDTMFToneChangeEvent extends Event { }\nexport interface RTCDataChannelEvent extends Event { }\nexport interface RTCErrorEvent extends Event { }\nexport interface RTCPeerConnectionIceErrorEvent extends Event { }\nexport interface RTCPeerConnectionIceEvent extends Event { }\nexport interface RTCTrackEvent extends Event { }\nexport interface SecurityPolicyViolationEvent extends Event { }\nexport interface SpeechSynthesisErrorEvent extends Event { }\nexport interface SpeechSynthesisEvent extends Event { }\nexport interface StorageEvent extends Event { }\nexport interface SubmitEvent extends Event { }\nexport interface TextEvent extends Event { }\nexport interface ToggleEvent extends Event { }\nexport interface TouchEvent extends Event { }\nexport interface TrackEvent extends Event { }\nexport interface TransitionEvent extends Event { }\nexport interface UIEvent extends Event { }\nexport interface WebGLContextEvent extends Event { }\nexport interface WheelEvent extends Event { }\n\nexport interface EventListenerOptions {\n capture?: boolean;\n}\n\nexport interface AddEventListenerOptions extends EventListenerOptions {\n once?: boolean;\n passive?: boolean;\n signal?: AbortSignal;\n}\n\nexport interface EventListenerOrEventListenerObject {\n (evt: Event): void;\n}\n\nexport interface DocumentEventMap {\n [key: string]: Event;\n}\n\nexport interface AbortSignal { }\n\n/**\n * The **`Document`** interface represents any web page loaded in the browser and serves as an entry point into the web page's content, which is the DOM tree.\n * \n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document)\n */\nexport interface Document extends Node, NonElementParentNode, DocumentOrShadowRoot, ParentNode, XPathEvaluatorBase, GlobalEventHandlers, DocumentAndElementEventHandlers {\n /**\n * The **`URL`** read-only property of the Document interface returns the document location as a string.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/URL)\n */\n readonly URL: string;\n\n /**\n * Returns or sets the color of an active link in the document body.\n * @deprecated\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/alinkColor)\n */\n alinkColor: string;\n\n /**\n * The Document interface's read-only **`all`** property returns an HTMLAllCollection rooted at the document node.\n * @deprecated\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/all)\n */\n readonly all: HTMLAllCollection;\n\n /**\n * The **`anchors`** read-only property of the An HTMLCollection.\n * @deprecated\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/anchors)\n */\n readonly anchors: HTMLCollectionOf<HTMLAnchorElement>;\n\n /**\n * The **`applets`** property of the Document returns an empty HTMLCollection.\n * @deprecated\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/applets)\n */\n readonly applets: HTMLCollection;\n\n /**\n * The deprecated `bgColor` property gets or sets the background color of the current document.\n * @deprecated\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/bgColor)\n */\n bgColor: string;\n\n /**\n * The **`Document.body`** property represents the `null` if no such element exists.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/body)\n */\n body: HTMLElement;\n\n /**\n * The **`Document.characterSet`** read-only property returns the character encoding of the document that it's currently rendered with.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/characterSet)\n */\n readonly characterSet: string;\n\n /**\n * @deprecated This is a legacy alias of `characterSet`.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/characterSet)\n */\n readonly charset: string;\n\n /**\n * The **`Document.compatMode`** read-only property indicates whether the document is rendered in Quirks mode or Standards mode.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/compatMode)\n */\n readonly compatMode: string;\n\n /**\n * The **`Document.contentType`** read-only property returns the MIME type that the document is being rendered as.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/contentType)\n */\n readonly contentType: string;\n\n /**\n * The Document property `cookie` lets you read and write cookies associated with the document.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/cookie)\n */\n cookie: string;\n\n /**\n * The **`Document.currentScript`** property returns the script element whose script is currently being processed and isn't a JavaScript module.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/currentScript)\n */\n readonly currentScript: HTMLOrSVGScriptElement | null;\n\n /**\n * In browsers, **`document.defaultView`** returns the This property is read-only.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/defaultView)\n */\n readonly defaultView: (WindowProxy & typeof globalThis) | null;\n\n /**\n * **`document.designMode`** controls whether the entire document is editable.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/designMode)\n */\n designMode: string;\n\n /**\n * The **`Document.dir`** property is a string representing the directionality of the text of the document, whether left to right (default) or right to left.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/dir)\n */\n dir: string;\n\n /**\n * The **`doctype`** read-only property of the Document interface is a DocumentType object representing the Doctype associated with the current document.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/doctype)\n */\n readonly doctype: DocumentType | null;\n\n /**\n * The **`documentElement`** read-only property of the Document interface returns the example, the html element for HTML documents).\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/documentElement)\n */\n readonly documentElement: HTMLElement;\n\n /**\n * The **`documentURI`** read-only property of the A string.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/documentURI)\n */\n readonly documentURI: string;\n\n /**\n * The **`domain`** property of the Document interface gets/sets the domain portion of the origin of the current document, as used by the same-origin policy.\n * @deprecated\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/domain)\n */\n domain: string;\n\n /**\n * The **`embeds`** read-only property of the An HTMLCollection.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/embeds)\n */\n readonly embeds: HTMLCollectionOf<HTMLEmbedElement>;\n\n /**\n * **`fgColor`** gets/sets the foreground color, or text color, of the current document.\n * @deprecated\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/fgColor)\n */\n fgColor: string;\n\n /**\n * The **`forms`** read-only property of the Document interface returns an HTMLCollection listing all the form elements contained in the document.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/forms)\n */\n readonly forms: HTMLCollectionOf<HTMLFormElement>;\n\n /**\n * The **`fragmentDirective`** read-only property of the Document interface returns the FragmentDirective for the current document.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/fragmentDirective)\n */\n readonly fragmentDirective: FragmentDirective;\n\n /**\n * The obsolete Document interface's **`fullscreen`** read-only property reports whether or not the document is currently displaying content in fullscreen mode.\n * @deprecated\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/fullscreen)\n */\n readonly fullscreen: boolean;\n\n /**\n * The read-only **`fullscreenEnabled`** property on the Document interface indicates whether or not fullscreen mode is available.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/fullscreenEnabled)\n */\n readonly fullscreenEnabled: boolean;\n\n /**\n * The **`head`** read-only property of the Document interface returns the head element of the current document.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/head)\n */\n readonly head: HTMLHeadElement;\n\n /**\n * The **`Document.hidden`** read-only property returns a Boolean value indicating if the page is considered hidden or not.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/hidden)\n */\n readonly hidden: boolean;\n\n /**\n * The **`images`** read-only property of the Document interface returns a collection of the images in the current HTML document.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/images)\n */\n readonly images: HTMLCollectionOf<HTMLImageElement>;\n\n /**\n * The **`Document.implementation`** property returns a A DOMImplementation object.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/implementation)\n */\n readonly implementation: DOMImplementation;\n\n /**\n * @deprecated This is a legacy alias of `characterSet`.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/characterSet)\n */\n readonly inputEncoding: string;\n\n /**\n * The **`lastModified`** property of the Document interface returns a string containing the date and local time on which the current document was last modified.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/lastModified)\n */\n readonly lastModified: string;\n\n /**\n * The **`Document.linkColor`** property gets/sets the color of links within the document.\n * @deprecated\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/linkColor)\n */\n linkColor: string;\n\n /**\n * The **`links`** read-only property of the Document interface returns a collection of all area elements and a elements in a document with a value for the href attribute.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/links)\n */\n readonly links: HTMLCollectionOf<HTMLAnchorElement | HTMLAreaElement>;\n\n /**\n * The **`Document.location`** read-only property returns a and provides methods for changing that URL and loading another URL.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/location)\n */\n get location(): Location;\n set location(href: string);\n\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/fullscreenchange_event) */\n onfullscreenchange: ((this: Document, ev: Event) => any) | null;\n\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/fullscreenerror_event) */\n onfullscreenerror: ((this: Document, ev: Event) => any) | null;\n\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/pointerlockchange_event) */\n onpointerlockchange: ((this: Document, ev: Event) => any) | null;\n\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/pointerlockerror_event) */\n onpointerlockerror: ((this: Document, ev: Event) => any) | null;\n\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/readystatechange_event) */\n onreadystatechange: ((this: Document, ev: Event) => any) | null;\n\n /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/visibilitychange_event) */\n onvisibilitychange: ((this: Document, ev: Event) => any) | null;\n\n readonly ownerDocument: null;\n\n /**\n * The read-only **`pictureInPictureEnabled`** property of the available.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/pictureInPictureEnabled)\n */\n readonly pictureInPictureEnabled: boolean;\n\n /**\n * The **`plugins`** read-only property of the containing one or more HTMLEmbedElements representing the An HTMLCollection.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/plugins)\n */\n readonly plugins: HTMLCollectionOf<HTMLEmbedElement>;\n\n /**\n * The **`Document.readyState`** property describes the loading state of the document.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/readyState)\n */\n readonly readyState: DocumentReadyState;\n\n /**\n * The **`Document.referrer`** property returns the URI of the page that linked to this page.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/referrer)\n */\n readonly referrer: string;\n\n /**\n * **`Document.rootElement`** returns the Element that is the root element of the document if it is an documents.\n * @deprecated\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/rootElement)\n */\n readonly rootElement: SVGElement | null;\n\n /**\n * The **`scripts`** property of the Document interface returns a list of the script elements in the document.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/scripts)\n */\n readonly scripts: HTMLCollectionOf<HTMLScriptElement>;\n\n /**\n * The **`scrollingElement`** read-only property of the scrolls the document.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/scrollingElement)\n */\n readonly scrollingElement: Element | null;\n\n /**\n * The `timeline` readonly property of the Document interface represents the default timeline of the current document.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/timeline)\n */\n readonly timeline: DocumentTimeline;\n\n /**\n * The **`document.title`** property gets or sets the current title of the document.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/title)\n */\n title: string;\n\n /**\n * The **`Document.visibilityState`** read-only property returns the visibility of the document.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/visibilityState)\n */\n readonly visibilityState: DocumentVisibilityState;\n\n /**\n * The **`Document.vlinkColor`** property gets/sets the color of links that the user has visited in the document.\n * @deprecated\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/vlinkColor)\n */\n vlinkColor: string;\n\n /**\n * **`Document.adoptNode()`** transfers a node/dom from another Document into the method's document.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/adoptNode)\n */\n adoptNode<T extends Node>(node: T): T;\n\n /** @deprecated */\n captureEvents(): void;\n\n /**\n * The **`caretPositionFromPoint()`** method of the Document interface returns a CaretPosition object, containing the DOM node, along with the caret and caret's character offset within that node.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/caretPositionFromPoint)\n */\n caretPositionFromPoint(x: number, y: number, options?: CaretPositionFromPointOptions): CaretPosition | null;\n\n /** @deprecated */\n caretRangeFromPoint(x: number, y: number): Range | null;\n\n /**\n * The **`Document.clear()`** method does nothing, but doesn't raise any error.\n * @deprecated\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/clear)\n */\n clear(): void;\n\n /**\n * The **`Document.close()`** method finishes writing to a document, opened with Document.open().\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/close)\n */\n close(): void;\n\n /**\n * The **`Document.createAttribute()`** method creates a new attribute node, and returns it.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/createAttribute)\n */\n createAttribute(localName: string): Attr;\n\n /**\n * The **`Document.createAttributeNS()`** method creates a new attribute node with the specified namespace URI and qualified name, and returns it.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/createAttributeNS)\n */\n createAttributeNS(namespace: string | null, qualifiedName: string): Attr;\n\n /**\n * **`createCDATASection()`** creates a new CDATA section node, and returns it.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/createCDATASection)\n */\n createCDATASection(data: string): CDATASection;\n\n /**\n * **`createComment()`** creates a new comment node, and returns it.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/createComment)\n */\n createComment(data: string): Comment;\n\n /**\n * Creates a new empty DocumentFragment into which DOM nodes can be added to build an offscreen DOM tree.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/createDocumentFragment)\n */\n createDocumentFragment(): DocumentFragment;\n\n /**\n * In an HTML document, the **`document.createElement()`** method creates the HTML element specified by `localName`, or an HTMLUnknownElement if `localName` isn't recognized.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/createElement)\n */\n createElement<K extends keyof HTMLElementTagNameMap>(tagName: K, options?: ElementCreationOptions): HTMLElementTagNameMap[K];\n /** @deprecated */\n createElement<K extends keyof HTMLElementDeprecatedTagNameMap>(tagName: K, options?: ElementCreationOptions): HTMLElementDeprecatedTagNameMap[K];\n createElement(tagName: string, options?: ElementCreationOptions): HTMLElement;\n\n /**\n * Creates an element with the specified namespace URI and qualified name.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/createElementNS)\n */\n createElementNS(namespaceURI: \"http://www.w3.org/1999/xhtml\", qualifiedName: string): HTMLElement;\n createElementNS<K extends keyof SVGElementTagNameMap>(namespaceURI: \"http://www.w3.org/2000/svg\", qualifiedName: K): SVGElementTagNameMap[K];\n createElementNS(namespaceURI: \"http://www.w3.org/2000/svg\", qualifiedName: string): SVGElement;\n createElementNS<K extends keyof MathMLElementTagNameMap>(namespaceURI: \"http://www.w3.org/1998/Math/MathML\", qualifiedName: K): MathMLElementTagNameMap[K];\n createElementNS(namespaceURI: \"http://www.w3.org/1998/Math/MathML\", qualifiedName: string): MathMLElement;\n createElementNS(namespaceURI: string | null, qualifiedName: string, options?: ElementCreationOptions): Element;\n createElementNS(namespace: string | null, qualifiedName: string, options?: string | ElementCreationOptions): Element;\n\n /**\n * Creates an event of the type specified.\n * @deprecated\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/createEvent)\n */\n createEvent(eventInterface: \"AnimationEvent\"): AnimationEvent;\n createEvent(eventInterface: \"AnimationPlaybackEvent\"): AnimationPlaybackEvent;\n createEvent(eventInterface: \"AudioProcessingEvent\"): AudioProcessingEvent;\n createEvent(eventInterface: \"BeforeUnloadEvent\"): BeforeUnloadEvent;\n createEvent(eventInterface: \"BlobEvent\"): BlobEvent;\n createEvent(eventInterface: \"ClipboardEvent\"): ClipboardEvent;\n createEvent(eventInterface: \"CloseEvent\"): CloseEvent;\n createEvent(eventInterface: \"CompositionEvent\"): CompositionEvent;\n createEvent(eventInterface: \"ContentVisibilityAutoStateChangeEvent\"): ContentVisibilityAutoStateChangeEvent;\n createEvent(eventInterface: \"CookieChangeEvent\"): CookieChangeEvent;\n createEvent(eventInterface: \"CustomEvent\"): CustomEvent;\n createEvent(eventInterface: \"DeviceMotionEvent\"): DeviceMotionEvent;\n createEvent(eventInterface: \"DeviceOrientationEvent\"): DeviceOrientationEvent;\n createEvent(eventInterface: \"DragEvent\"): DragEvent;\n createEvent(eventInterface: \"ErrorEvent\"): ErrorEvent;\n createEvent(eventInterface: \"Event\"): Event;\n createEvent(eventInterface: \"Events\"): Event;\n createEvent(eventInterface: \"FocusEvent\"): FocusEvent;\n createEvent(eventInterface: \"FontFaceSetLoadEvent\"): FontFaceSetLoadEvent;\n createEvent(eventInterface: \"FormDataEvent\"): FormDataEvent;\n createEvent(eventInterface: \"GamepadEvent\"): GamepadEvent;\n createEvent(eventInterface: \"HashChangeEvent\"): HashChangeEvent;\n createEvent(eventInterface: \"IDBVersionChangeEvent\"): IDBVersionChangeEvent;\n createEvent(eventInterface: \"InputEvent\"): InputEvent;\n createEvent(eventInterface: \"KeyboardEvent\"): KeyboardEvent;\n createEvent(eventInterface: \"MIDIConnectionEvent\"): MIDIConnectionEvent;\n createEvent(eventInterface: \"MIDIMessageEvent\"): MIDIMessageEvent;\n createEvent(eventInterface: \"MediaEncryptedEvent\"): MediaEncryptedEvent;\n createEvent(eventInterface: \"MediaKeyMessageEvent\"): MediaKeyMessageEvent;\n createEvent(eventInterface: \"MediaQueryListEvent\"): MediaQueryListEvent;\n createEvent(eventInterface: \"MediaStreamTrackEvent\"): MediaStreamTrackEvent;\n createEvent(eventInterface: \"MessageEvent\"): MessageEvent;\n createEvent(eventInterface: \"MouseEvent\"): MouseEvent;\n createEvent(eventInterface: \"MouseEvents\"): MouseEvent;\n createEvent(eventInterface: \"OfflineAudioCompletionEvent\"): OfflineAudioCompletionEvent;\n createEvent(eventInterface: \"PageRevealEvent\"): PageRevealEvent;\n createEvent(eventInterface: \"PageSwapEvent\"): PageSwapEvent;\n createEvent(eventInterface: \"PageTransitionEvent\"): PageTransitionEvent;\n createEvent(eventInterface: \"PaymentMethodChangeEvent\"): PaymentMethodChangeEvent;\n createEvent(eventInterface: \"PaymentRequestUpdateEvent\"): PaymentRequestUpdateEvent;\n createEvent(eventInterface: \"PictureInPictureEvent\"): PictureInPictureEvent;\n createEvent(eventInterface: \"PointerEvent\"): PointerEvent;\n createEvent(eventInterface: \"PopStateEvent\"): PopStateEvent;\n createEvent(eventInterface: \"ProgressEvent\"): ProgressEvent;\n createEvent(eventInterface: \"PromiseRejectionEvent\"): PromiseRejectionEvent;\n createEvent(eventInterface: \"RTCDTMFToneChangeEvent\"): RTCDTMFToneChangeEvent;\n createEvent(eventInterface: \"RTCDataChannelEvent\"): RTCDataChannelEvent;\n createEvent(eventInterface: \"RTCErrorEvent\"): RTCErrorEvent;\n createEvent(eventInterface: \"RTCPeerConnectionIceErrorEvent\"): RTCPeerConnectionIceErrorEvent;\n createEvent(eventInterface: \"RTCPeerConnectionIceEvent\"): RTCPeerConnectionIceEvent;\n createEvent(eventInterface: \"RTCTrackEvent\"): RTCTrackEvent;\n createEvent(eventInterface: \"SecurityPolicyViolationEvent\"): SecurityPolicyViolationEvent;\n createEvent(eventInterface: \"SpeechSynthesisErrorEvent\"): SpeechSynthesisErrorEvent;\n createEvent(eventInterface: \"SpeechSynthesisEvent\"): SpeechSynthesisEvent;\n createEvent(eventInterface: \"StorageEvent\"): StorageEvent;\n createEvent(eventInterface: \"SubmitEvent\"): SubmitEvent;\n createEvent(eventInterface: \"TextEvent\"): TextEvent;\n createEvent(eventInterface: \"ToggleEvent\"): ToggleEvent;\n createEvent(eventInterface: \"TouchEvent\"): TouchEvent;\n createEvent(eventInterface: \"TrackEvent\"): TrackEvent;\n createEvent(eventInterface: \"TransitionEvent\"): TransitionEvent;\n createEvent(eventInterface: \"UIEvent\"): UIEvent;\n createEvent(eventInterface: \"UIEvents\"): UIEvent;\n createEvent(eventInterface: \"WebGLContextEvent\"): WebGLContextEvent;\n createEvent(eventInterface: \"WheelEvent\"): WheelEvent;\n createEvent(eventInterface: string): Event;\n\n /**\n * The **`Document.createNodeIterator()`** method returns a new `NodeIterator` object.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/createNodeIterator)\n */\n createNodeIterator(root: Node, whatToShow?: number, filter?: NodeFilter | null): NodeIterator;\n\n /**\n * `createProcessingInstruction()` generates a new processing instruction node and returns it.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/createProcessingInstruction)\n */\n createProcessingInstruction(target: string, data: string): ProcessingInstruction;\n\n /**\n * The **`Document.createRange()`** method returns a new ```js-nolint createRange() ``` None.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/createRange)\n */\n createRange(): Range;\n\n /**\n * Creates a new Text node.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/createTextNode)\n */\n createTextNode(data: string): Text;\n\n /**\n * The **`Document.createTreeWalker()`** creator method returns a newly created TreeWalker object.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/createTreeWalker)\n */\n createTreeWalker(root: Node, whatToShow?: number, filter?: NodeFilter | null): TreeWalker;\n\n /**\n * The **`execCommand`** method implements multiple different commands.\n * @deprecated\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/execCommand)\n */\n execCommand(commandId: string, showUI?: boolean, value?: string): boolean;\n\n /**\n * The Document method **`exitFullscreen()`** requests that the element on this document which is currently being presented in fullscreen mode be taken out of fullscreen mode, restoring the previous state of the screen.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/exitFullscreen)\n */\n exitFullscreen(): Promise<void>;\n\n /**\n * The **`exitPictureInPicture()`** method of the Document interface requests that a video contained in this document, which is currently floating, be taken out of picture-in-picture mode, restoring the previous state of the screen.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/exitPictureInPicture)\n */\n exitPictureInPicture(): Promise<void>;\n\n /**\n * The **`exitPointerLock()`** method of the Document interface asynchronously releases a pointer lock previously requested through Element.requestPointerLock.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/exitPointerLock)\n */\n exitPointerLock(): void;\n\n getElementById(elementId: string): HTMLElement | null;\n\n /**\n * The **`getElementsByClassName`** method of of all child elements which have all of the given class name(s).\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/getElementsByClassName)\n */\n getElementsByClassName(classNames: string): HTMLCollectionOf<Element>;\n\n /**\n * The **`getElementsByName()`** method of the Document object returns a NodeList Collection of elements with a given `name` attribute in the document.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/getElementsByName)\n */\n getElementsByName(elementName: string): NodeListOf<HTMLElement>;\n\n /**\n * The **`getElementsByTagName`** method of The complete document is searched, including the root node.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/getElementsByTagName)\n */\n getElementsByTagName<K extends keyof HTMLElementTagNameMap>(qualifiedName: K): HTMLCollectionOf<HTMLElementTagNameMap[K]>;\n getElementsByTagName<K extends keyof SVGElementTagNameMap>(qualifiedName: K): HTMLCollectionOf<SVGElementTagNameMap[K]>;\n getElementsByTagName<K extends keyof MathMLElementTagNameMap>(qualifiedName: K): HTMLCollectionOf<MathMLElementTagNameMap[K]>;\n /** @deprecated */\n getElementsByTagName<K extends keyof HTMLElementDeprecatedTagNameMap>(qualifiedName: K): HTMLCollectionOf<HTMLElementDeprecatedTagNameMap[K]>;\n getElementsByTagName(qualifiedName: string): HTMLCollectionOf<Element>;\n\n /**\n * Returns a list of elements with the given tag name belonging to the given namespace.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/getElementsByTagNameNS)\n */\n getElementsByTagNameNS(namespaceURI: \"http://www.w3.org/1999/xhtml\", localName: string): HTMLCollectionOf<HTMLElement>;\n getElementsByTagNameNS(namespaceURI: \"http://www.w3.org/2000/svg\", localName: string): HTMLCollectionOf<SVGElement>;\n getElementsByTagNameNS(namespaceURI: \"http://www.w3.org/1998/Math/MathML\", localName: string): HTMLCollectionOf<MathMLElement>;\n getElementsByTagNameNS(namespace: string | null, localName: string): HTMLCollectionOf<Element>;\n\n /**\n * The **`getSelection()`** method of the Document interface returns the Selection object associated with this document, representing the range of text selected by the user, or the current position of the caret.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/getSelection)\n */\n getSelection(): Selection | null;\n\n /**\n * The **`hasFocus()`** method of the Document interface returns a boolean value indicating whether the document or any element inside the document has focus.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/hasFocus)\n */\n hasFocus(): boolean;\n\n /**\n * The **`hasStorageAccess()`** method of the Document interface returns a Promise that resolves with a boolean value indicating whether the document has access to third-party, unpartitioned cookies.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/hasStorageAccess)\n */\n hasStorageAccess(): Promise<boolean>;\n\n /**\n * The Document object's **`importNode()`** method creates a copy of a inserted into the current document later.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/importNode)\n */\n importNode<T extends Node>(node: T, options?: boolean | ImportNodeOptions): T;\n\n /**\n * The **`Document.open()`** method opens a document for This does come with some side effects.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/open)\n */\n open(unused1?: string, unused2?: string): Document;\n open(url: string | URL, name: string, features: string): WindowProxy | null;\n\n /**\n * The **`Document.queryCommandEnabled()`** method reports whether or not the specified editor command is enabled by the browser.\n * @deprecated\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/queryCommandEnabled)\n */\n queryCommandEnabled(commandId: string): boolean;\n\n /** @deprecated */\n queryCommandIndeterm(commandId: string): boolean;\n\n /**\n * The **`queryCommandState()`** method will tell you if the current selection has a certain Document.execCommand() command applied.\n * @deprecated\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/queryCommandState)\n */\n queryCommandState(commandId: string): boolean;\n\n /**\n * The **`Document.queryCommandSupported()`** method reports whether or not the specified editor command is supported by the browser.\n * @deprecated\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/queryCommandSupported)\n */\n queryCommandSupported(commandId: string): boolean;\n\n /** @deprecated */\n queryCommandValue(commandId: string): string;\n\n /** @deprecated */\n releaseEvents(): void;\n\n /**\n * The **`requestStorageAccess()`** method of the Document interface allows content loaded in a third-party context (i.e., embedded in an iframe) to request access to third-party cookies and unpartitioned state.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/requestStorageAccess)\n */\n requestStorageAccess(): Promise<void>;\n\n /**\n * The **`startViewTransition()`** method of the Document interface starts a new same-document (SPA) view transition and returns a ViewTransition object to represent it.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/startViewTransition)\n */\n startViewTransition(callbackOptions?: ViewTransitionUpdateCallback | StartViewTransitionOptions): ViewTransition;\n\n /**\n * The **`write()`** method of the Document interface writes text in one or more TrustedHTML or string parameters to a document stream opened by document.open().\n * @deprecated\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/write)\n */\n write(...text: string[]): void;\n\n /**\n * The **`writeln()`** method of the Document interface writes text in one or more TrustedHTML or string parameters to a document stream opened by document.open(), followed by a newline character.\n *\n * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/writeln)\n */\n writeln(...text: string[]): void;\n\n /** [MDN Reference](https://developer.mozilla.org/en-US/docs/Web/API/Node/textContent) */\n get textContent(): null;\n\n addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;\n addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;\n removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;\n removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;\n}"],
|
|
5
|
-
"mappings": "
|
|
6
|
-
"names": [
|
|
3
|
+
"sources": [],
|
|
4
|
+
"sourcesContent": [],
|
|
5
|
+
"mappings": "",
|
|
6
|
+
"names": []
|
|
7
7
|
}
|
|
@@ -1,149 +1,160 @@
|
|
|
1
1
|
import { ParentNodeBase } from "./ParentNodeBase.js";
|
|
2
2
|
import { DOCUMENT_NODE } from "./Node.js";
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import { NodeListOf } from "./collection/NodeListOf.js";
|
|
7
|
-
import { ElementFactory } from "../factory/index.js";
|
|
8
|
-
import { NodeIterator, NodeFilter } from "./NodeIterator.js";
|
|
3
|
+
import { HTMLCollectionOfImp } from "./collection/HTMLCollectionOfImp.js";
|
|
4
|
+
import { NodeListOfImp } from "./collection/NodeListOfImp.js";
|
|
5
|
+
import { ElementFactory } from "../factory/ElementFactory.js";
|
|
9
6
|
class DocumentBase extends ParentNodeBase {
|
|
10
7
|
constructor() {
|
|
11
8
|
super(DOCUMENT_NODE, "#document");
|
|
12
|
-
|
|
13
|
-
this._eventListeners = [];
|
|
14
|
-
this._readyState = "uninitialized";
|
|
9
|
+
this._readyState = "loading";
|
|
15
10
|
this._window = null;
|
|
16
|
-
|
|
17
|
-
// Properties
|
|
18
|
-
this.URL = "about:blank";
|
|
19
|
-
this.alinkColor = "";
|
|
20
|
-
this.all = null;
|
|
21
|
-
this.anchors = new HTMLCollectionOf([]);
|
|
22
|
-
this.applets = new HTMLCollection([]);
|
|
23
|
-
this.bgColor = "";
|
|
24
|
-
this.body = null;
|
|
25
|
-
this.characterSet = "UTF-8";
|
|
26
|
-
this.charset = "UTF-8";
|
|
27
|
-
this.compatMode = "CSS1Compat";
|
|
28
|
-
this.contentType = "text/html";
|
|
11
|
+
this._title = "";
|
|
29
12
|
this.cookie = "";
|
|
30
|
-
this.currentScript = null;
|
|
31
|
-
this.defaultView = null;
|
|
32
13
|
this.designMode = "off";
|
|
33
|
-
this.dir = "";
|
|
34
|
-
this.doctype = null;
|
|
35
|
-
this.documentElement = null;
|
|
36
|
-
this.documentURI = "about:blank";
|
|
14
|
+
this.dir = "ltr";
|
|
37
15
|
this.domain = "";
|
|
38
|
-
this.embeds = new HTMLCollectionOf([]);
|
|
39
|
-
this.fgColor = "";
|
|
40
|
-
this.forms = new HTMLCollectionOf([]);
|
|
41
|
-
this.fragmentDirective = null;
|
|
42
|
-
this.fullscreen = false;
|
|
43
|
-
this.fullscreenEnabled = false;
|
|
44
|
-
this.head = null;
|
|
45
|
-
this.hidden = false;
|
|
46
|
-
this.images = new HTMLCollectionOf([]);
|
|
47
|
-
this.implementation = null;
|
|
48
|
-
this.inputEncoding = "UTF-8";
|
|
49
|
-
this.lastModified = (/* @__PURE__ */ new Date()).toString();
|
|
50
|
-
this.linkColor = "";
|
|
51
|
-
this.links = new HTMLCollectionOf([]);
|
|
52
|
-
// Location property - simple implementation for Document
|
|
53
|
-
this._location = {
|
|
54
|
-
href: "about:blank",
|
|
55
|
-
protocol: "about:",
|
|
56
|
-
host: "",
|
|
57
|
-
hostname: "",
|
|
58
|
-
port: "",
|
|
59
|
-
pathname: "blank",
|
|
60
|
-
search: "",
|
|
61
|
-
hash: "",
|
|
62
|
-
origin: "null",
|
|
63
|
-
assign: (url) => {
|
|
64
|
-
this._location.href = url;
|
|
65
|
-
},
|
|
66
|
-
replace: (url) => {
|
|
67
|
-
this._location.href = url;
|
|
68
|
-
},
|
|
69
|
-
reload: () => {
|
|
70
|
-
},
|
|
71
|
-
// @ts-ignore
|
|
72
|
-
toString: () => this._location.href
|
|
73
|
-
};
|
|
74
|
-
// Event handlers
|
|
75
|
-
this.onfullscreenchange = null;
|
|
76
|
-
this.onfullscreenerror = null;
|
|
77
|
-
this.onpointerlockchange = null;
|
|
78
|
-
this.onpointerlockerror = null;
|
|
79
|
-
this.onreadystatechange = null;
|
|
80
|
-
this.onvisibilitychange = null;
|
|
81
|
-
this.pictureInPictureEnabled = false;
|
|
82
|
-
this.plugins = new HTMLCollectionOf([]);
|
|
83
16
|
this.referrer = "";
|
|
84
|
-
this.
|
|
85
|
-
this.scripts = new HTMLCollectionOf([]);
|
|
86
|
-
this.scrollingElement = null;
|
|
87
|
-
this.timeline = null;
|
|
88
|
-
this.visibilityState = "visible";
|
|
89
|
-
this.vlinkColor = "";
|
|
90
|
-
this._ownerDocument = null;
|
|
91
|
-
const documentElement = this.createElement("html");
|
|
92
|
-
const head = this.createElement("head");
|
|
93
|
-
const body = this.createElement("body");
|
|
94
|
-
documentElement.appendChild(head);
|
|
95
|
-
documentElement.appendChild(body);
|
|
96
|
-
this.appendChild(documentElement);
|
|
97
|
-
this.documentElement = documentElement;
|
|
98
|
-
this.head = head;
|
|
99
|
-
this.body = body;
|
|
17
|
+
this._ownerDocument = this;
|
|
100
18
|
}
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
this.
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
this._location.port = url.port;
|
|
115
|
-
this._location.pathname = url.pathname;
|
|
116
|
-
this._location.search = url.search;
|
|
117
|
-
this._location.hash = url.hash;
|
|
118
|
-
this._location.origin = url.origin;
|
|
119
|
-
} catch (e) {
|
|
19
|
+
get title() {
|
|
20
|
+
const titleEl = this.querySelector("title");
|
|
21
|
+
return titleEl ? titleEl.textContent || "" : this._title || "";
|
|
22
|
+
}
|
|
23
|
+
set title(value) {
|
|
24
|
+
this._title = value;
|
|
25
|
+
let titleEl = this.querySelector("title");
|
|
26
|
+
if (!titleEl && this.head) {
|
|
27
|
+
titleEl = this.createElement("title");
|
|
28
|
+
this.head.appendChild(titleEl);
|
|
29
|
+
}
|
|
30
|
+
if (titleEl) {
|
|
31
|
+
titleEl.textContent = value;
|
|
120
32
|
}
|
|
121
33
|
}
|
|
34
|
+
get URL() {
|
|
35
|
+
return this.location?.href || "";
|
|
36
|
+
}
|
|
37
|
+
get alinkColor() {
|
|
38
|
+
return "";
|
|
39
|
+
}
|
|
40
|
+
set alinkColor(_) {
|
|
41
|
+
}
|
|
42
|
+
get all() {
|
|
43
|
+
return [];
|
|
44
|
+
}
|
|
45
|
+
get anchors() {
|
|
46
|
+
return [];
|
|
47
|
+
}
|
|
48
|
+
get applets() {
|
|
49
|
+
return [];
|
|
50
|
+
}
|
|
51
|
+
get bgColor() {
|
|
52
|
+
return "";
|
|
53
|
+
}
|
|
54
|
+
set bgColor(_) {
|
|
55
|
+
}
|
|
56
|
+
get characterSet() {
|
|
57
|
+
return "UTF-8";
|
|
58
|
+
}
|
|
59
|
+
get charset() {
|
|
60
|
+
return "UTF-8";
|
|
61
|
+
}
|
|
62
|
+
get compatMode() {
|
|
63
|
+
return "CSS1Compat";
|
|
64
|
+
}
|
|
65
|
+
get contentType() {
|
|
66
|
+
return "text/html";
|
|
67
|
+
}
|
|
68
|
+
get currentScript() {
|
|
69
|
+
return null;
|
|
70
|
+
}
|
|
71
|
+
get defaultView() {
|
|
72
|
+
return this._window;
|
|
73
|
+
}
|
|
74
|
+
get doctype() {
|
|
75
|
+
return null;
|
|
76
|
+
}
|
|
77
|
+
get documentURI() {
|
|
78
|
+
return this.URL;
|
|
79
|
+
}
|
|
80
|
+
get embeds() {
|
|
81
|
+
return [];
|
|
82
|
+
}
|
|
83
|
+
get fgColor() {
|
|
84
|
+
return "";
|
|
85
|
+
}
|
|
86
|
+
set fgColor(_) {
|
|
87
|
+
}
|
|
88
|
+
get forms() {
|
|
89
|
+
return [];
|
|
90
|
+
}
|
|
91
|
+
get fragmentDirective() {
|
|
92
|
+
return {};
|
|
93
|
+
}
|
|
94
|
+
get fullscreen() {
|
|
95
|
+
return false;
|
|
96
|
+
}
|
|
97
|
+
get fullscreenEnabled() {
|
|
98
|
+
return false;
|
|
99
|
+
}
|
|
100
|
+
get hidden() {
|
|
101
|
+
return false;
|
|
102
|
+
}
|
|
103
|
+
get images() {
|
|
104
|
+
return [];
|
|
105
|
+
}
|
|
106
|
+
get implementation() {
|
|
107
|
+
return {};
|
|
108
|
+
}
|
|
109
|
+
get inputEncoding() {
|
|
110
|
+
return "UTF-8";
|
|
111
|
+
}
|
|
112
|
+
get lastModified() {
|
|
113
|
+
return (/* @__PURE__ */ new Date()).toISOString();
|
|
114
|
+
}
|
|
115
|
+
get linkColor() {
|
|
116
|
+
return "";
|
|
117
|
+
}
|
|
118
|
+
set linkColor(_) {
|
|
119
|
+
}
|
|
120
|
+
get links() {
|
|
121
|
+
return [];
|
|
122
|
+
}
|
|
122
123
|
get ownerDocument() {
|
|
123
124
|
return null;
|
|
124
125
|
}
|
|
126
|
+
get pictureInPictureEnabled() {
|
|
127
|
+
return false;
|
|
128
|
+
}
|
|
129
|
+
get plugins() {
|
|
130
|
+
return [];
|
|
131
|
+
}
|
|
125
132
|
get readyState() {
|
|
126
133
|
return this._readyState;
|
|
127
134
|
}
|
|
128
|
-
get
|
|
129
|
-
|
|
130
|
-
return titleElement ? titleElement.textContent || "" : "";
|
|
135
|
+
get rootElement() {
|
|
136
|
+
return null;
|
|
131
137
|
}
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
138
|
+
get scripts() {
|
|
139
|
+
return [];
|
|
140
|
+
}
|
|
141
|
+
get scrollingElement() {
|
|
142
|
+
return this.body;
|
|
143
|
+
}
|
|
144
|
+
get timeline() {
|
|
145
|
+
return {};
|
|
146
|
+
}
|
|
147
|
+
get visibilityState() {
|
|
148
|
+
return "visible";
|
|
149
|
+
}
|
|
150
|
+
get vlinkColor() {
|
|
151
|
+
return "";
|
|
152
|
+
}
|
|
153
|
+
set vlinkColor(_) {
|
|
142
154
|
}
|
|
143
155
|
get textContent() {
|
|
144
156
|
return null;
|
|
145
157
|
}
|
|
146
|
-
// Methods
|
|
147
158
|
adoptNode(node) {
|
|
148
159
|
node._ownerDocument = this;
|
|
149
160
|
return node;
|
|
@@ -161,30 +172,33 @@ class DocumentBase extends ParentNodeBase {
|
|
|
161
172
|
close() {
|
|
162
173
|
}
|
|
163
174
|
createAttribute(localName) {
|
|
164
|
-
return { name: localName, value: "" };
|
|
175
|
+
return { name: localName, value: "", nodeType: 2 };
|
|
165
176
|
}
|
|
166
|
-
createAttributeNS(
|
|
167
|
-
return
|
|
177
|
+
createAttributeNS(_ns, qualifiedName) {
|
|
178
|
+
return this.createAttribute(qualifiedName);
|
|
168
179
|
}
|
|
169
180
|
createCDATASection(data) {
|
|
170
181
|
return { data, nodeType: 4 };
|
|
171
182
|
}
|
|
172
183
|
createComment(data) {
|
|
184
|
+
const { Comment } = require("./Comment");
|
|
173
185
|
return new Comment(data, this);
|
|
174
186
|
}
|
|
175
187
|
createDocumentFragment() {
|
|
188
|
+
const { DocumentFragmentBase } = require("./DocumentFragmentBase");
|
|
176
189
|
return new DocumentFragmentBase(this);
|
|
177
190
|
}
|
|
178
|
-
createElement(tagName,
|
|
179
|
-
return ElementFactory.createElement(tagName, this);
|
|
191
|
+
createElement(tagName, options) {
|
|
192
|
+
return ElementFactory.createElement(tagName, this, options);
|
|
180
193
|
}
|
|
181
|
-
createElementNS(
|
|
182
|
-
return
|
|
194
|
+
createElementNS(_ns, qualifiedName, options) {
|
|
195
|
+
return this.createElement(qualifiedName, options);
|
|
183
196
|
}
|
|
184
197
|
createEvent(_eventInterface) {
|
|
185
|
-
return {};
|
|
198
|
+
return { type: _eventInterface };
|
|
186
199
|
}
|
|
187
|
-
createNodeIterator(root, whatToShow =
|
|
200
|
+
createNodeIterator(root, whatToShow = 4294967295, filter = null) {
|
|
201
|
+
const { NodeIterator } = require("./NodeIterator");
|
|
188
202
|
return new NodeIterator(root, whatToShow, filter);
|
|
189
203
|
}
|
|
190
204
|
createProcessingInstruction(target, data) {
|
|
@@ -197,8 +211,9 @@ class DocumentBase extends ParentNodeBase {
|
|
|
197
211
|
const { TextBase } = require("./TextBase");
|
|
198
212
|
return new TextBase(data, this);
|
|
199
213
|
}
|
|
200
|
-
createTreeWalker(
|
|
201
|
-
|
|
214
|
+
createTreeWalker(root, whatToShow = 4294967295, filter = null) {
|
|
215
|
+
const { TreeWalker } = require("./TreeWalker");
|
|
216
|
+
return new TreeWalker(root, whatToShow, filter);
|
|
202
217
|
}
|
|
203
218
|
execCommand(_commandId, _showUI, _value) {
|
|
204
219
|
return false;
|
|
@@ -217,17 +232,19 @@ class DocumentBase extends ParentNodeBase {
|
|
|
217
232
|
}
|
|
218
233
|
getElementsByClassName(classNames) {
|
|
219
234
|
const elements = this.querySelectorAll(`.${classNames.split(" ").join(".")}`);
|
|
220
|
-
return new
|
|
235
|
+
return new HTMLCollectionOfImp(Array.from(elements));
|
|
221
236
|
}
|
|
237
|
+
// @ts-ignore
|
|
222
238
|
getElementsByName(elementName) {
|
|
223
239
|
const elements = this.querySelectorAll(`[name="${elementName}"]`);
|
|
224
|
-
return new
|
|
240
|
+
return new NodeListOfImp(Array.from(elements));
|
|
225
241
|
}
|
|
226
242
|
getElementsByTagName(qualifiedName) {
|
|
227
243
|
const elements = this.querySelectorAll(qualifiedName);
|
|
228
|
-
return new
|
|
244
|
+
return new HTMLCollectionOfImp(Array.from(elements));
|
|
229
245
|
}
|
|
230
|
-
|
|
246
|
+
// @ts-ignore
|
|
247
|
+
getElementsByTagNameNS(_ns, localName) {
|
|
231
248
|
return this.getElementsByTagName(localName);
|
|
232
249
|
}
|
|
233
250
|
getSelection() {
|
|
@@ -244,27 +261,15 @@ class DocumentBase extends ParentNodeBase {
|
|
|
244
261
|
cloned._ownerDocument = this;
|
|
245
262
|
return cloned;
|
|
246
263
|
}
|
|
247
|
-
open(
|
|
248
|
-
|
|
249
|
-
return this;
|
|
250
|
-
}
|
|
251
|
-
return null;
|
|
264
|
+
open(_unused1, _unused2) {
|
|
265
|
+
return this;
|
|
252
266
|
}
|
|
253
267
|
queryCommandEnabled(_commandId) {
|
|
254
268
|
return false;
|
|
255
269
|
}
|
|
256
|
-
queryCommandIndeterm(_commandId) {
|
|
257
|
-
return false;
|
|
258
|
-
}
|
|
259
|
-
queryCommandState(_commandId) {
|
|
260
|
-
return false;
|
|
261
|
-
}
|
|
262
270
|
queryCommandSupported(_commandId) {
|
|
263
271
|
return false;
|
|
264
272
|
}
|
|
265
|
-
queryCommandValue(_commandId) {
|
|
266
|
-
return "";
|
|
267
|
-
}
|
|
268
273
|
releaseEvents() {
|
|
269
274
|
}
|
|
270
275
|
requestStorageAccess() {
|
|
@@ -280,81 +285,39 @@ class DocumentBase extends ParentNodeBase {
|
|
|
280
285
|
this.write(...text, "\n");
|
|
281
286
|
}
|
|
282
287
|
addEventListener(type, listener, options) {
|
|
283
|
-
|
|
284
|
-
this._eventListeners.push({
|
|
285
|
-
type,
|
|
286
|
-
listener: typeof listener === "function" ? listener : listener.handleEvent,
|
|
287
|
-
options
|
|
288
|
-
});
|
|
289
|
-
}
|
|
288
|
+
this._eventListeners.push({ type, listener, options });
|
|
290
289
|
}
|
|
291
290
|
removeEventListener(type, listener, options) {
|
|
292
|
-
|
|
293
|
-
const targetListener = typeof listener === "function" ? listener : listener.handleEvent;
|
|
294
|
-
this._eventListeners = this._eventListeners.filter(
|
|
295
|
-
(eventListener) => !(eventListener.type === type && eventListener.listener === targetListener)
|
|
296
|
-
);
|
|
297
|
-
}
|
|
291
|
+
this._eventListeners = this._eventListeners.filter((l) => !(l.type === type && l.listener === listener));
|
|
298
292
|
}
|
|
299
|
-
dispatchEvent(event) {
|
|
300
|
-
const eventListeners = this._eventListeners.filter((listener) => listener.type === event.type);
|
|
301
|
-
for (const eventListener of eventListeners) {
|
|
302
|
-
try {
|
|
303
|
-
eventListener.listener.call(this, event);
|
|
304
|
-
if (eventListener.options && typeof eventListener.options === "object" && eventListener.options.once) {
|
|
305
|
-
this.removeEventListener(event.type, eventListener.listener);
|
|
306
|
-
}
|
|
307
|
-
} catch (error) {
|
|
308
|
-
console.error("Error in document event listener:", error);
|
|
309
|
-
}
|
|
310
|
-
}
|
|
311
|
-
return true;
|
|
312
|
-
}
|
|
313
|
-
/**
|
|
314
|
-
* Set window reference for load event dispatching
|
|
315
|
-
*/
|
|
316
293
|
setWindow(window) {
|
|
317
294
|
this._window = window;
|
|
318
295
|
}
|
|
319
|
-
/**
|
|
320
|
-
* Change document ready state and dispatch events
|
|
321
|
-
*/
|
|
322
296
|
setReadyState(state) {
|
|
323
297
|
if (this._readyState === state) return;
|
|
324
298
|
this._readyState = state;
|
|
325
|
-
this.dispatchEvent({
|
|
326
|
-
type: "readystatechange",
|
|
327
|
-
target: this,
|
|
328
|
-
readyState: state
|
|
329
|
-
});
|
|
299
|
+
this.dispatchEvent({ type: "readystatechange", target: this });
|
|
330
300
|
if (state === "interactive") {
|
|
331
|
-
this.dispatchEvent({
|
|
332
|
-
type: "DOMContentLoaded",
|
|
333
|
-
target: this
|
|
334
|
-
});
|
|
301
|
+
this.dispatchEvent({ type: "DOMContentLoaded", target: this });
|
|
335
302
|
}
|
|
336
303
|
if (state === "complete" && this._window) {
|
|
337
304
|
setTimeout(() => {
|
|
338
305
|
if (this._window && this._window.dispatchEvent) {
|
|
339
|
-
this._window.dispatchEvent({
|
|
340
|
-
type: "load",
|
|
341
|
-
target: this._window
|
|
342
|
-
});
|
|
306
|
+
this._window.dispatchEvent({ type: "load", target: this._window });
|
|
343
307
|
}
|
|
344
308
|
}, 0);
|
|
345
309
|
}
|
|
346
310
|
}
|
|
347
|
-
/**
|
|
348
|
-
* Simulate document loading process
|
|
349
|
-
*/
|
|
350
311
|
simulateLoading() {
|
|
351
|
-
this.setReadyState("loading");
|
|
352
312
|
setTimeout(() => {
|
|
353
313
|
this.setReadyState("interactive");
|
|
354
314
|
setTimeout(() => {
|
|
355
315
|
this.setReadyState("complete");
|
|
356
316
|
}, 10);
|
|
357
|
-
},
|
|
317
|
+
}, 10);
|
|
318
|
+
}
|
|
319
|
+
setLocation(location) {
|
|
320
|
+
this.location = location;
|
|
358
321
|
}
|
|
359
322
|
}
|
|
360
323
|
export {
|