happy-dom 13.7.7 → 13.8.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/custom-element/CustomElementRegistry.cjs +48 -3
- package/cjs/custom-element/CustomElementRegistry.cjs.map +1 -1
- package/cjs/custom-element/CustomElementRegistry.d.ts +11 -0
- package/cjs/custom-element/CustomElementRegistry.d.ts.map +1 -1
- package/cjs/nodes/document/Document.cjs +1 -1
- package/cjs/nodes/document/Document.cjs.map +1 -1
- package/cjs/nodes/element/Element.cjs +8 -0
- package/cjs/nodes/element/Element.cjs.map +1 -1
- package/cjs/nodes/element/Element.d.ts +10 -0
- package/cjs/nodes/element/Element.d.ts.map +1 -1
- package/cjs/nodes/element/IElement.d.ts +10 -0
- package/cjs/nodes/element/IElement.d.ts.map +1 -1
- package/cjs/nodes/node/Node.cjs.map +1 -1
- package/cjs/nodes/node/Node.d.ts +1 -1
- package/cjs/nodes/node/Node.d.ts.map +1 -1
- package/cjs/version.cjs +1 -1
- package/cjs/window/BrowserWindow.cjs +4 -1
- package/cjs/window/BrowserWindow.cjs.map +1 -1
- package/cjs/window/BrowserWindow.d.ts.map +1 -1
- package/lib/custom-element/CustomElementRegistry.d.ts +11 -0
- package/lib/custom-element/CustomElementRegistry.d.ts.map +1 -1
- package/lib/custom-element/CustomElementRegistry.js +48 -3
- package/lib/custom-element/CustomElementRegistry.js.map +1 -1
- package/lib/nodes/document/Document.js +1 -1
- package/lib/nodes/document/Document.js.map +1 -1
- package/lib/nodes/element/Element.d.ts +10 -0
- package/lib/nodes/element/Element.d.ts.map +1 -1
- package/lib/nodes/element/Element.js +8 -0
- package/lib/nodes/element/Element.js.map +1 -1
- package/lib/nodes/element/IElement.d.ts +10 -0
- package/lib/nodes/element/IElement.d.ts.map +1 -1
- package/lib/nodes/node/Node.d.ts +1 -1
- package/lib/nodes/node/Node.d.ts.map +1 -1
- package/lib/nodes/node/Node.js.map +1 -1
- package/lib/version.js +1 -1
- package/lib/window/BrowserWindow.d.ts.map +1 -1
- package/lib/window/BrowserWindow.js +4 -1
- package/lib/window/BrowserWindow.js.map +1 -1
- package/package.json +1 -1
- package/src/custom-element/CustomElementRegistry.ts +49 -0
- package/src/nodes/document/Document.ts +1 -1
- package/src/nodes/element/Element.ts +17 -0
- package/src/nodes/element/IElement.ts +15 -0
- package/src/nodes/node/Node.ts +1 -1
- package/src/window/BrowserWindow.ts +5 -1
@@ -203,6 +203,21 @@ export default interface IElement extends IChildNode, INonDocumentTypeChildNode,
|
|
203
203
|
*/
|
204
204
|
scrollTo(x: { top?: number; left?: number; behavior?: string } | number, y: number): void;
|
205
205
|
|
206
|
+
/**
|
207
|
+
* Scrolls the element's ancestor containers such that the element on which scrollIntoView() is called is visible to the user.
|
208
|
+
*
|
209
|
+
* @param [options] Options.
|
210
|
+
*/
|
211
|
+
scrollIntoView(
|
212
|
+
options?:
|
213
|
+
| boolean
|
214
|
+
| {
|
215
|
+
behavior?: 'smooth' | 'instant' | 'auto';
|
216
|
+
block?: 'start' | 'center' | 'end' | 'nearest';
|
217
|
+
inline?: 'start' | 'center' | 'end' | 'nearest';
|
218
|
+
}
|
219
|
+
): void;
|
220
|
+
|
206
221
|
/**
|
207
222
|
* Returns the size of an element and its position relative to the viewport.
|
208
223
|
*
|
package/src/nodes/node/Node.ts
CHANGED
@@ -297,7 +297,7 @@ export default class Node extends EventTarget implements INode {
|
|
297
297
|
* @param otherNode Node to test with.
|
298
298
|
* @returns "true" if this node contains the other node.
|
299
299
|
*/
|
300
|
-
public contains(otherNode: INode
|
300
|
+
public contains(otherNode: INode): boolean {
|
301
301
|
if (otherNode === undefined) {
|
302
302
|
return false;
|
303
303
|
}
|
@@ -520,7 +520,7 @@ export default class BrowserWindow extends EventTarget implements IBrowserWindow
|
|
520
520
|
|
521
521
|
this.#browserFrame = browserFrame;
|
522
522
|
|
523
|
-
this.customElements = new CustomElementRegistry();
|
523
|
+
this.customElements = new CustomElementRegistry(this);
|
524
524
|
this.navigator = new Navigator(this);
|
525
525
|
this.history = new History();
|
526
526
|
this.screen = new Screen();
|
@@ -1274,6 +1274,10 @@ export default class BrowserWindow extends EventTarget implements IBrowserWindow
|
|
1274
1274
|
this.document.removeChild(node);
|
1275
1275
|
}
|
1276
1276
|
|
1277
|
+
if (this.customElements[PropertySymbol.destroy]) {
|
1278
|
+
this.customElements[PropertySymbol.destroy]();
|
1279
|
+
}
|
1280
|
+
|
1277
1281
|
this.document[PropertySymbol.activeElement] = null;
|
1278
1282
|
this.document[PropertySymbol.nextActiveElement] = null;
|
1279
1283
|
this.document[PropertySymbol.currentScript] = null;
|