happy-dom 2.24.4 → 2.25.2
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/lib/event/EventTarget.d.ts +9 -0
- package/lib/event/EventTarget.js +11 -0
- package/lib/event/EventTarget.js.map +1 -1
- package/lib/event/NonImplementedEventTypes.js +0 -1
- package/lib/event/NonImplementedEventTypes.js.map +1 -1
- package/lib/event/events/IPointerEventInit.d.ts +13 -0
- package/lib/event/events/IPointerEventInit.js +3 -0
- package/lib/event/events/IPointerEventInit.js.map +1 -0
- package/lib/event/events/PointerEvent.d.ts +24 -0
- package/lib/event/events/PointerEvent.js +64 -0
- package/lib/event/events/PointerEvent.js.map +1 -0
- package/lib/nodes/document/Document.d.ts +8 -1
- package/lib/nodes/document/Document.js +14 -1
- package/lib/nodes/document/Document.js.map +1 -1
- package/lib/nodes/document/IDocument.d.ts +1 -0
- package/lib/nodes/document-fragment/DocumentFragment.d.ts +1 -0
- package/lib/nodes/document-fragment/DocumentFragment.js +4 -1
- package/lib/nodes/document-fragment/DocumentFragment.js.map +1 -1
- package/lib/nodes/element/Element.d.ts +7 -0
- package/lib/nodes/element/Element.js +45 -4
- package/lib/nodes/element/Element.js.map +1 -1
- package/lib/nodes/element/IElement.d.ts +7 -0
- package/lib/nodes/html-element/HTMLElement.js +16 -4
- package/lib/nodes/html-element/HTMLElement.js.map +1 -1
- package/lib/nodes/html-input-element/HTMLInputElement.d.ts +9 -6
- package/lib/nodes/html-input-element/HTMLInputElement.js +18 -8
- package/lib/nodes/html-input-element/HTMLInputElement.js.map +1 -1
- package/lib/nodes/html-input-element/IHTMLInputElement.d.ts +0 -1
- package/lib/nodes/html-link-element/HTMLLinkElement.d.ts +5 -12
- package/lib/nodes/html-link-element/HTMLLinkElement.js +39 -68
- package/lib/nodes/html-link-element/HTMLLinkElement.js.map +1 -1
- package/lib/nodes/html-script-element/HTMLScriptElement.d.ts +5 -12
- package/lib/nodes/html-script-element/HTMLScriptElement.js +21 -49
- package/lib/nodes/html-script-element/HTMLScriptElement.js.map +1 -1
- package/lib/nodes/html-style-element/HTMLStyleElement.js +1 -1
- package/lib/nodes/html-style-element/HTMLStyleElement.js.map +1 -1
- package/lib/nodes/node/INode.d.ts +1 -1
- package/lib/nodes/node/Node.d.ts +8 -13
- package/lib/nodes/node/Node.js +58 -64
- package/lib/nodes/node/Node.js.map +1 -1
- package/lib/nodes/shadow-root/ShadowRoot.d.ts +7 -0
- package/lib/nodes/shadow-root/ShadowRoot.js +16 -0
- package/lib/nodes/shadow-root/ShadowRoot.js.map +1 -1
- package/lib/nodes/svg-element/ISVGElement.d.ts +2 -0
- package/lib/nodes/svg-element/SVGElement.d.ts +24 -0
- package/lib/nodes/svg-element/SVGElement.js +45 -1
- package/lib/nodes/svg-element/SVGElement.js.map +1 -1
- package/lib/query-selector/SelectorItem.d.ts +8 -0
- package/lib/query-selector/SelectorItem.js +29 -11
- package/lib/query-selector/SelectorItem.js.map +1 -1
- package/lib/window/Window.d.ts +2 -0
- package/lib/window/Window.js +2 -0
- package/lib/window/Window.js.map +1 -1
- package/lib/xml-parser/XMLParser.js +1 -1
- package/lib/xml-parser/XMLParser.js.map +1 -1
- package/package.json +2 -2
- package/src/event/EventTarget.ts +12 -0
- package/src/event/NonImplementedEventTypes.ts +0 -1
- package/src/event/events/IPointerEventInit.ts +14 -0
- package/src/event/events/PointerEvent.ts +42 -0
- package/src/nodes/document/Document.ts +11 -1
- package/src/nodes/document/IDocument.ts +1 -0
- package/src/nodes/document-fragment/DocumentFragment.ts +4 -1
- package/src/nodes/element/Element.ts +48 -4
- package/src/nodes/element/IElement.ts +8 -0
- package/src/nodes/html-element/HTMLElement.ts +21 -4
- package/src/nodes/html-input-element/HTMLInputElement.ts +21 -9
- package/src/nodes/html-input-element/IHTMLInputElement.ts +0 -1
- package/src/nodes/html-link-element/HTMLLinkElement.ts +46 -73
- package/src/nodes/html-script-element/HTMLScriptElement.ts +24 -49
- package/src/nodes/html-style-element/HTMLStyleElement.ts +1 -1
- package/src/nodes/node/INode.ts +1 -1
- package/src/nodes/node/Node.ts +61 -63
- package/src/nodes/shadow-root/ShadowRoot.ts +14 -0
- package/src/nodes/svg-element/ISVGElement.ts +2 -0
- package/src/nodes/svg-element/SVGElement.ts +47 -0
- package/src/query-selector/SelectorItem.ts +38 -19
- package/src/window/Window.ts +2 -0
- package/src/xml-parser/XMLParser.ts +1 -1
package/lib/nodes/node/Node.js
CHANGED
@@ -36,50 +36,13 @@ var Node = /** @class */ (function (_super) {
|
|
36
36
|
_this.ownerDocument = null;
|
37
37
|
_this.parentNode = null;
|
38
38
|
_this.childNodes = NodeListFactory_1.default.create();
|
39
|
-
|
40
|
-
_this.
|
39
|
+
_this.isConnected = false;
|
40
|
+
_this._rootNode = null;
|
41
41
|
// Custom Properties (not part of HTML standard)
|
42
42
|
_this._observers = [];
|
43
43
|
_this.ownerDocument = _this.constructor.ownerDocument;
|
44
44
|
return _this;
|
45
45
|
}
|
46
|
-
Object.defineProperty(Node.prototype, "isConnected", {
|
47
|
-
/**
|
48
|
-
* Returns "true" if connected to DOM.
|
49
|
-
*
|
50
|
-
* @returns "true" if connected.
|
51
|
-
*/
|
52
|
-
get: function () {
|
53
|
-
return this._isConnected;
|
54
|
-
},
|
55
|
-
/**
|
56
|
-
* Sets the connected state.
|
57
|
-
*
|
58
|
-
* @param isConnected "true" if connected.
|
59
|
-
*/
|
60
|
-
set: function (isConnected) {
|
61
|
-
if (this._isConnected !== isConnected) {
|
62
|
-
this._isConnected = isConnected;
|
63
|
-
if (isConnected && this.connectedCallback) {
|
64
|
-
this.connectedCallback();
|
65
|
-
}
|
66
|
-
else if (!isConnected && this.disconnectedCallback) {
|
67
|
-
this.disconnectedCallback();
|
68
|
-
}
|
69
|
-
for (var _i = 0, _a = this.childNodes; _i < _a.length; _i++) {
|
70
|
-
var child = _a[_i];
|
71
|
-
child.isConnected = isConnected;
|
72
|
-
}
|
73
|
-
// eslint-disable-next-line
|
74
|
-
if (this.shadowRoot) {
|
75
|
-
// eslint-disable-next-line
|
76
|
-
this.shadowRoot.isConnected = isConnected;
|
77
|
-
}
|
78
|
-
}
|
79
|
-
},
|
80
|
-
enumerable: false,
|
81
|
-
configurable: true
|
82
|
-
});
|
83
46
|
Object.defineProperty(Node.prototype, "textContent", {
|
84
47
|
/**
|
85
48
|
* Get text value of children.
|
@@ -199,7 +162,7 @@ var Node = /** @class */ (function (_super) {
|
|
199
162
|
get: function () {
|
200
163
|
var parent = this.parentNode;
|
201
164
|
while (parent && parent.nodeType !== Node.ELEMENT_NODE) {
|
202
|
-
parent =
|
165
|
+
parent = parent.parentNode;
|
203
166
|
}
|
204
167
|
return parent;
|
205
168
|
},
|
@@ -222,20 +185,13 @@ var Node = /** @class */ (function (_super) {
|
|
222
185
|
* @returns Node.
|
223
186
|
*/
|
224
187
|
Node.prototype.getRootNode = function (options) {
|
225
|
-
|
226
|
-
|
227
|
-
|
228
|
-
|
229
|
-
|
230
|
-
return parent;
|
231
|
-
}
|
232
|
-
parent = parent.host;
|
233
|
-
}
|
234
|
-
else {
|
235
|
-
parent = parent.parentNode;
|
236
|
-
}
|
188
|
+
if (!this.isConnected) {
|
189
|
+
return this;
|
190
|
+
}
|
191
|
+
if (this._rootNode && !(options === null || options === void 0 ? void 0 : options.composed)) {
|
192
|
+
return this._rootNode;
|
237
193
|
}
|
238
|
-
return
|
194
|
+
return this.ownerDocument;
|
239
195
|
};
|
240
196
|
/**
|
241
197
|
* Clones a node.
|
@@ -246,9 +202,12 @@ var Node = /** @class */ (function (_super) {
|
|
246
202
|
Node.prototype.cloneNode = function (deep) {
|
247
203
|
if (deep === void 0) { deep = false; }
|
248
204
|
var clone = new this.constructor();
|
249
|
-
|
250
|
-
|
251
|
-
|
205
|
+
// Document has childNodes directly when it is created
|
206
|
+
if (clone.childNodes.length) {
|
207
|
+
for (var _i = 0, _a = clone.childNodes.slice(); _i < _a.length; _i++) {
|
208
|
+
var node = _a[_i];
|
209
|
+
node.parentNode.removeChild(node);
|
210
|
+
}
|
252
211
|
}
|
253
212
|
if (deep) {
|
254
213
|
for (var _b = 0, _c = this.childNodes; _b < _c.length; _b++) {
|
@@ -288,8 +247,7 @@ var Node = /** @class */ (function (_super) {
|
|
288
247
|
}
|
289
248
|
}
|
290
249
|
this.childNodes.push(node);
|
291
|
-
node.
|
292
|
-
node.isConnected = this.isConnected;
|
250
|
+
node._connectToNode(this);
|
293
251
|
// MutationObserver
|
294
252
|
if (this._observers.length > 0) {
|
295
253
|
var record = new MutationRecord_1.default();
|
@@ -319,8 +277,7 @@ var Node = /** @class */ (function (_super) {
|
|
319
277
|
throw new DOMException_1.default('Failed to remove node. Node is not child of parent.');
|
320
278
|
}
|
321
279
|
this.childNodes.splice(index, 1);
|
322
|
-
node.
|
323
|
-
node.isConnected = false;
|
280
|
+
node._connectToNode(null);
|
324
281
|
// MutationObserver
|
325
282
|
if (this._observers.length > 0) {
|
326
283
|
var record = new MutationRecord_1.default();
|
@@ -371,8 +328,7 @@ var Node = /** @class */ (function (_super) {
|
|
371
328
|
}
|
372
329
|
}
|
373
330
|
this.childNodes.splice(index, 0, newNode);
|
374
|
-
newNode.
|
375
|
-
newNode.isConnected = this.isConnected;
|
331
|
+
newNode._connectToNode(this);
|
376
332
|
// MutationObserver
|
377
333
|
if (this._observers.length > 0) {
|
378
334
|
var record = new MutationRecord_1.default();
|
@@ -411,8 +367,15 @@ var Node = /** @class */ (function (_super) {
|
|
411
367
|
this[onEventName].call(this, event);
|
412
368
|
}
|
413
369
|
var returnValue = _super.prototype.dispatchEvent.call(this, event);
|
414
|
-
if (event.bubbles &&
|
415
|
-
|
370
|
+
if (event.bubbles && !event._propagationStopped) {
|
371
|
+
if (this.parentNode) {
|
372
|
+
return this.parentNode.dispatchEvent(event);
|
373
|
+
}
|
374
|
+
// eslint-disable-next-line
|
375
|
+
if (event.composed && this.host) {
|
376
|
+
// eslint-disable-next-line
|
377
|
+
return this.host.dispatchEvent(event);
|
378
|
+
}
|
416
379
|
}
|
417
380
|
return returnValue;
|
418
381
|
};
|
@@ -457,6 +420,37 @@ var Node = /** @class */ (function (_super) {
|
|
457
420
|
}
|
458
421
|
}
|
459
422
|
};
|
423
|
+
/**
|
424
|
+
* Connects this element to another element.
|
425
|
+
*
|
426
|
+
* @param parentNode Parent node.
|
427
|
+
*/
|
428
|
+
Node.prototype._connectToNode = function (parentNode) {
|
429
|
+
if (parentNode === void 0) { parentNode = null; }
|
430
|
+
var isConnected = !!parentNode && parentNode.isConnected;
|
431
|
+
if (this.nodeType !== Node.DOCUMENT_FRAGMENT_NODE) {
|
432
|
+
this.parentNode = parentNode;
|
433
|
+
this._rootNode = isConnected && parentNode ? parentNode._rootNode : null;
|
434
|
+
}
|
435
|
+
if (this.isConnected !== isConnected) {
|
436
|
+
this.isConnected = isConnected;
|
437
|
+
if (isConnected && this.connectedCallback) {
|
438
|
+
this.connectedCallback();
|
439
|
+
}
|
440
|
+
else if (!isConnected && this.disconnectedCallback) {
|
441
|
+
this.disconnectedCallback();
|
442
|
+
}
|
443
|
+
for (var _i = 0, _a = this.childNodes; _i < _a.length; _i++) {
|
444
|
+
var child = _a[_i];
|
445
|
+
child._connectToNode(this);
|
446
|
+
}
|
447
|
+
// eslint-disable-next-line
|
448
|
+
if (this.shadowRoot) {
|
449
|
+
// eslint-disable-next-line
|
450
|
+
this.shadowRoot._connectToNode(this);
|
451
|
+
}
|
452
|
+
}
|
453
|
+
};
|
460
454
|
// Public properties
|
461
455
|
Node.ELEMENT_NODE = 1;
|
462
456
|
Node.TEXT_NODE = 3;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Node.js","sourceRoot":"","sources":["../../../src/nodes/node/Node.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,wEAAkD;AAClD,0FAAoE;AACpE,8FAAwE;AAIxE,8EAAwD;AAIxD,sEAAgD;
|
1
|
+
{"version":3,"file":"Node.js","sourceRoot":"","sources":["../../../src/nodes/node/Node.ts"],"names":[],"mappings":"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"}
|
@@ -2,6 +2,7 @@ import DocumentFragment from '../document-fragment/DocumentFragment';
|
|
2
2
|
import IElement from '../element/IElement';
|
3
3
|
import CSSStyleSheet from '../../css/CSSStyleSheet';
|
4
4
|
import IShadowRoot from './IShadowRoot';
|
5
|
+
import IHTMLElement from '../../nodes/html-element/IHTMLElement';
|
5
6
|
/**
|
6
7
|
* ShadowRoot.
|
7
8
|
*/
|
@@ -21,6 +22,12 @@ export default class ShadowRoot extends DocumentFragment implements IShadowRoot
|
|
21
22
|
* @param html HTML.
|
22
23
|
*/
|
23
24
|
set innerHTML(html: string);
|
25
|
+
/**
|
26
|
+
* Returns active element.
|
27
|
+
*
|
28
|
+
* @returns Active element.
|
29
|
+
*/
|
30
|
+
get activeElement(): IHTMLElement;
|
24
31
|
/**
|
25
32
|
* Converts to string.
|
26
33
|
*
|
@@ -66,6 +66,22 @@ var ShadowRoot = /** @class */ (function (_super) {
|
|
66
66
|
enumerable: false,
|
67
67
|
configurable: true
|
68
68
|
});
|
69
|
+
Object.defineProperty(ShadowRoot.prototype, "activeElement", {
|
70
|
+
/**
|
71
|
+
* Returns active element.
|
72
|
+
*
|
73
|
+
* @returns Active element.
|
74
|
+
*/
|
75
|
+
get: function () {
|
76
|
+
var activeElement = this.ownerDocument['_activeElement'];
|
77
|
+
if (activeElement && activeElement.getRootNode() === this) {
|
78
|
+
return activeElement;
|
79
|
+
}
|
80
|
+
return null;
|
81
|
+
},
|
82
|
+
enumerable: false,
|
83
|
+
configurable: true
|
84
|
+
});
|
69
85
|
/**
|
70
86
|
* Converts to string.
|
71
87
|
*
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ShadowRoot.js","sourceRoot":"","sources":["../../../src/nodes/shadow-root/ShadowRoot.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,2FAAqE;AACrE,yEAAmD;AACnD,qFAA+D;
|
1
|
+
{"version":3,"file":"ShadowRoot.js","sourceRoot":"","sources":["../../../src/nodes/shadow-root/ShadowRoot.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,2FAAqE;AACrE,yEAAmD;AACnD,qFAA+D;AAM/D;;GAEG;AACH;IAAwC,8BAAgB;IAAxD;QAAA,qEAoEC;QAnEgB,UAAI,GAAG,MAAM,CAAC;QACd,UAAI,GAAa,IAAI,CAAC;QAC/B,wBAAkB,GAAoB,EAAE,CAAC;;IAiEjD,CAAC;IA1DA,sBAAW,iCAAS;QALpB;;;;WAIG;aACH;YACC,IAAM,aAAa,GAAG,IAAI,uBAAa,EAAE,CAAC;YAC1C,IAAI,GAAG,GAAG,EAAE,CAAC;YACb,KAAmB,UAAe,EAAf,KAAA,IAAI,CAAC,UAAU,EAAf,cAAe,EAAf,IAAe,EAAE;gBAA/B,IAAM,IAAI,SAAA;gBACd,GAAG,IAAI,aAAa,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;aAC7C;YACD,OAAO,GAAG,CAAC;QACZ,CAAC;QAED;;;;WAIG;aACH,UAAqB,IAAY;YAChC,KAAoB,UAAuB,EAAvB,KAAA,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,EAAvB,cAAuB,EAAvB,IAAuB,EAAE;gBAAxC,IAAM,KAAK,SAAA;gBACf,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;aACxB;YAED,KAAmB,UAA4D,EAA5D,KAAA,mBAAS,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC,UAAU,CAAC,KAAK,EAAE,EAA5D,cAA4D,EAA5D,IAA4D,EAAE;gBAA5E,IAAM,IAAI,SAAA;gBACd,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;aACvB;QACF,CAAC;;;OAfA;IAsBD,sBAAW,qCAAa;QALxB;;;;WAIG;aACH;YACC,IAAM,aAAa,GAAiB,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC;YACzE,IAAI,aAAa,IAAI,aAAa,CAAC,WAAW,EAAE,KAAK,IAAI,EAAE;gBAC1D,OAAO,aAAa,CAAC;aACrB;YACD,OAAO,IAAI,CAAC;QACb,CAAC;;;OAAA;IAED;;;;OAIG;IACI,6BAAQ,GAAf;QACC,OAAO,IAAI,CAAC,SAAS,CAAC;IACvB,CAAC;IAED;;;;;;OAMG;IACI,8BAAS,GAAhB,UAAiB,IAAY;QAAZ,qBAAA,EAAA,YAAY;QAC5B,IAAM,KAAK,GAAe,iBAAM,SAAS,YAAC,IAAI,CAAC,CAAC;QACvC,KAAK,CAAC,IAAK,GAAG,IAAI,CAAC,IAAI,CAAC;QACjC,OAAO,KAAK,CAAC;IACd,CAAC;IACF,iBAAC;AAAD,CAAC,AApED,CAAwC,0BAAgB,GAoEvD"}
|
@@ -1,3 +1,4 @@
|
|
1
|
+
import CSSStyleDeclaration from '../../css/CSSStyleDeclaration';
|
1
2
|
import IElement from '../element/IElement';
|
2
3
|
import ISVGSVGElement from './ISVGSVGElement';
|
3
4
|
/**
|
@@ -11,4 +12,5 @@ export default interface ISVGElement extends IElement {
|
|
11
12
|
readonly dataset: {
|
12
13
|
[key: string]: string;
|
13
14
|
};
|
15
|
+
readonly style: CSSStyleDeclaration;
|
14
16
|
}
|
@@ -1,6 +1,8 @@
|
|
1
|
+
import CSSStyleDeclaration from '../../css/CSSStyleDeclaration';
|
1
2
|
import Element from '../element/Element';
|
2
3
|
import ISVGElement from './ISVGElement';
|
3
4
|
import ISVGSVGElement from './ISVGSVGElement';
|
5
|
+
import Attr from '../../attribute/Attr';
|
4
6
|
/**
|
5
7
|
* SVG Element.
|
6
8
|
*
|
@@ -8,6 +10,7 @@ import ISVGSVGElement from './ISVGSVGElement';
|
|
8
10
|
* https://developer.mozilla.org/en-US/docs/Web/API/SVGElement.
|
9
11
|
*/
|
10
12
|
export default class SVGElement extends Element implements ISVGElement {
|
13
|
+
private _style;
|
11
14
|
/**
|
12
15
|
* Returns viewport.
|
13
16
|
*
|
@@ -28,4 +31,25 @@ export default class SVGElement extends Element implements ISVGElement {
|
|
28
31
|
get dataset(): {
|
29
32
|
[key: string]: string;
|
30
33
|
};
|
34
|
+
/**
|
35
|
+
* Returns style.
|
36
|
+
*
|
37
|
+
* @returns Style.
|
38
|
+
*/
|
39
|
+
get style(): CSSStyleDeclaration;
|
40
|
+
/**
|
41
|
+
* The setAttributeNode() method adds a new Attr node to the specified element.
|
42
|
+
*
|
43
|
+
* @override
|
44
|
+
* @param attribute Attribute.
|
45
|
+
* @returns Replaced attribute.
|
46
|
+
*/
|
47
|
+
setAttributeNode(attribute: Attr): Attr;
|
48
|
+
/**
|
49
|
+
* Removes an Attr node.
|
50
|
+
*
|
51
|
+
* @override
|
52
|
+
* @param attribute Attribute.
|
53
|
+
*/
|
54
|
+
removeAttributeNode(attribute: Attr): void;
|
31
55
|
}
|
@@ -18,6 +18,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
18
18
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
19
19
|
};
|
20
20
|
Object.defineProperty(exports, "__esModule", { value: true });
|
21
|
+
var CSSStyleDeclaration_1 = __importDefault(require("../../css/CSSStyleDeclaration"));
|
21
22
|
var Element_1 = __importDefault(require("../element/Element"));
|
22
23
|
/**
|
23
24
|
* SVG Element.
|
@@ -28,7 +29,9 @@ var Element_1 = __importDefault(require("../element/Element"));
|
|
28
29
|
var SVGElement = /** @class */ (function (_super) {
|
29
30
|
__extends(SVGElement, _super);
|
30
31
|
function SVGElement() {
|
31
|
-
|
32
|
+
var _this = _super !== null && _super.apply(this, arguments) || this;
|
33
|
+
_this._style = null;
|
34
|
+
return _this;
|
32
35
|
}
|
33
36
|
Object.defineProperty(SVGElement.prototype, "viewportElement", {
|
34
37
|
/**
|
@@ -79,6 +82,47 @@ var SVGElement = /** @class */ (function (_super) {
|
|
79
82
|
enumerable: false,
|
80
83
|
configurable: true
|
81
84
|
});
|
85
|
+
Object.defineProperty(SVGElement.prototype, "style", {
|
86
|
+
/**
|
87
|
+
* Returns style.
|
88
|
+
*
|
89
|
+
* @returns Style.
|
90
|
+
*/
|
91
|
+
get: function () {
|
92
|
+
if (!this._style) {
|
93
|
+
this._style = new CSSStyleDeclaration_1.default(this._attributes);
|
94
|
+
}
|
95
|
+
return this._style;
|
96
|
+
},
|
97
|
+
enumerable: false,
|
98
|
+
configurable: true
|
99
|
+
});
|
100
|
+
/**
|
101
|
+
* The setAttributeNode() method adds a new Attr node to the specified element.
|
102
|
+
*
|
103
|
+
* @override
|
104
|
+
* @param attribute Attribute.
|
105
|
+
* @returns Replaced attribute.
|
106
|
+
*/
|
107
|
+
SVGElement.prototype.setAttributeNode = function (attribute) {
|
108
|
+
var replacedAttribute = _super.prototype.setAttributeNode.call(this, attribute);
|
109
|
+
if (attribute.name === 'style' && this._style) {
|
110
|
+
this._style.cssText = attribute.value;
|
111
|
+
}
|
112
|
+
return replacedAttribute;
|
113
|
+
};
|
114
|
+
/**
|
115
|
+
* Removes an Attr node.
|
116
|
+
*
|
117
|
+
* @override
|
118
|
+
* @param attribute Attribute.
|
119
|
+
*/
|
120
|
+
SVGElement.prototype.removeAttributeNode = function (attribute) {
|
121
|
+
_super.prototype.removeAttributeNode.call(this, attribute);
|
122
|
+
if (attribute.name === 'style' && this._style) {
|
123
|
+
this._style.cssText = '';
|
124
|
+
}
|
125
|
+
};
|
82
126
|
return SVGElement;
|
83
127
|
}(Element_1.default));
|
84
128
|
exports.default = SVGElement;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"SVGElement.js","sourceRoot":"","sources":["../../../src/nodes/svg-element/SVGElement.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,+DAAyC;
|
1
|
+
{"version":3,"file":"SVGElement.js","sourceRoot":"","sources":["../../../src/nodes/svg-element/SVGElement.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,sFAAgE;AAChE,+DAAyC;AAKzC;;;;;GAKG;AACH;IAAwC,8BAAO;IAA/C;QAAA,qEAoFC;QAnFQ,YAAM,GAAwB,IAAI,CAAC;;IAmF5C,CAAC;IA5EA,sBAAW,uCAAe;QAL1B;;;;WAIG;aACH;YACC,OAAO,IAAI,CAAC;QACb,CAAC;;;OAAA;IAOD,sBAAW,uCAAe;QAL1B;;;;WAIG;aACH;YACC,IAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC;YAC/B,OAAO,MAAM,EAAE;gBACd,IAAI,MAAM,CAAC,SAAS,CAAC,KAAK,KAAK,EAAE;oBAChC,OAAuB,MAAM,CAAC;iBAC9B;aACD;YACD,OAAO,IAAI,CAAC;QACb,CAAC;;;OAAA;IAOD,sBAAW,+BAAO;QALlB;;;;WAIG;aACH;YACC,IAAM,OAAO,GAAG,EAAE,CAAC;YACnB,KAAmB,UAA6B,EAA7B,KAAA,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,EAA7B,cAA6B,EAA7B,IAA6B,EAAE;gBAA7C,IAAM,IAAI,SAAA;gBACd,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE;oBAC7B,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC;iBAClE;aACD;YACD,OAAO,OAAO,CAAC;QAChB,CAAC;;;OAAA;IAOD,sBAAW,6BAAK;QALhB;;;;WAIG;aACH;YACC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;gBACjB,IAAI,CAAC,MAAM,GAAG,IAAI,6BAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;aACxD;YACD,OAAO,IAAI,CAAC,MAAM,CAAC;QACpB,CAAC;;;OAAA;IAED;;;;;;OAMG;IACI,qCAAgB,GAAvB,UAAwB,SAAe;QACtC,IAAM,iBAAiB,GAAG,iBAAM,gBAAgB,YAAC,SAAS,CAAC,CAAC;QAE5D,IAAI,SAAS,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,MAAM,EAAE;YAC9C,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC;SACtC;QAED,OAAO,iBAAiB,CAAC;IAC1B,CAAC;IAED;;;;;OAKG;IACI,wCAAmB,GAA1B,UAA2B,SAAe;QACzC,iBAAM,mBAAmB,YAAC,SAAS,CAAC,CAAC;QAErC,IAAI,SAAS,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,MAAM,EAAE;YAC9C,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,EAAE,CAAC;SACzB;IACF,CAAC;IACF,iBAAC;AAAD,CAAC,AApFD,CAAwC,iBAAO,GAoF9C"}
|
@@ -42,6 +42,14 @@ export default class SelectorItem {
|
|
42
42
|
* @returns True if it is a match.
|
43
43
|
*/
|
44
44
|
private matchesPsuedo;
|
45
|
+
/**
|
46
|
+
* Matches attribute.
|
47
|
+
*
|
48
|
+
* @param element Element.
|
49
|
+
* @param selector Selector.
|
50
|
+
* @returns True if it is a match.
|
51
|
+
*/
|
52
|
+
private matchesAttribute;
|
45
53
|
/**
|
46
54
|
* Matches attribute name only.
|
47
55
|
*
|
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
var DOMException_1 = __importDefault(require("../exception/DOMException"));
|
7
7
|
var ATTRIBUTE_REGEXP = /\[([a-zA-Z0-9-_]+)\]|\[([a-zA-Z0-9-_]+)([~|^$*]{0,1})[ ]*=[ ]*["']{0,1}([^"']+)["']{0,1}\]/g;
|
8
8
|
var ATTRIBUTE_NAME_REGEXP = /[^a-zA-Z0-9-_$]/;
|
9
|
-
var PSUEDO_REGEXP = /:([a-zA-Z-]+)\(([0-9n+-]+|odd|even)\)|:([a-zA-Z-]+)/g;
|
9
|
+
var PSUEDO_REGEXP = /:([a-zA-Z-]+)\(([0-9n+-]+|odd|even)\)|:not\(([^)]+)\)|:([a-zA-Z-]+)/g;
|
10
10
|
var CLASS_REGEXP = /\.([a-zA-Z0-9-_$]+)/g;
|
11
11
|
var TAG_NAME_REGEXP = /^[a-zA-Z0-9-]+/;
|
12
12
|
/**
|
@@ -22,7 +22,8 @@ var SelectorItem = /** @class */ (function () {
|
|
22
22
|
this.tagName = null;
|
23
23
|
this.isAll = selector === '*';
|
24
24
|
this.isID = !this.isAll ? selector.startsWith('#') : false;
|
25
|
-
this.isAttribute =
|
25
|
+
this.isAttribute =
|
26
|
+
!this.isAll && !this.isID && selector.includes('[') && !selector.includes(':not(');
|
26
27
|
this.isPseudo = !this.isAll && !this.isID && selector.includes(':');
|
27
28
|
this.isClass = !this.isAll && !this.isID && new RegExp(CLASS_REGEXP, 'g').test(selector);
|
28
29
|
this.tagName = !this.isAll && !this.isID ? selector.match(TAG_NAME_REGEXP) : null;
|
@@ -70,21 +71,18 @@ var SelectorItem = /** @class */ (function () {
|
|
70
71
|
if (match[1] && !this.matchesNthChild(element, match[1], match[2])) {
|
71
72
|
return false;
|
72
73
|
}
|
73
|
-
else if (match[3] &&
|
74
|
+
else if (match[3] && this.matchesAttribute(element, match[3])) {
|
74
75
|
return false;
|
75
76
|
}
|
76
|
-
|
77
|
-
}
|
78
|
-
// Attribute match
|
79
|
-
if (this.isAttribute) {
|
80
|
-
var regexp = new RegExp(ATTRIBUTE_REGEXP, 'g');
|
81
|
-
while ((match = regexp.exec(selector))) {
|
82
|
-
if ((match[1] && !this.matchesAttributeName(element, match[1])) ||
|
83
|
-
(match[2] && !this.matchesAttributeNameAndValue(element, match[2], match[4], match[3]))) {
|
77
|
+
else if (match[4] && !this.matchesPsuedo(element, match[4])) {
|
84
78
|
return false;
|
85
79
|
}
|
86
80
|
}
|
87
81
|
}
|
82
|
+
// Attribute match
|
83
|
+
if (this.isAttribute && !this.matchesAttribute(element, selector)) {
|
84
|
+
return false;
|
85
|
+
}
|
88
86
|
return true;
|
89
87
|
};
|
90
88
|
/**
|
@@ -189,6 +187,26 @@ var SelectorItem = /** @class */ (function () {
|
|
189
187
|
}
|
190
188
|
return false;
|
191
189
|
};
|
190
|
+
/**
|
191
|
+
* Matches attribute.
|
192
|
+
*
|
193
|
+
* @param element Element.
|
194
|
+
* @param selector Selector.
|
195
|
+
* @returns True if it is a match.
|
196
|
+
*/
|
197
|
+
SelectorItem.prototype.matchesAttribute = function (element, selector) {
|
198
|
+
var regexp = new RegExp(ATTRIBUTE_REGEXP, 'g');
|
199
|
+
var match;
|
200
|
+
while ((match = regexp.exec(selector))) {
|
201
|
+
var isPsuedo = match.index > 0 && selector[match.index] === '(';
|
202
|
+
if (!isPsuedo &&
|
203
|
+
((match[1] && !this.matchesAttributeName(element, match[1])) ||
|
204
|
+
(match[2] && !this.matchesAttributeNameAndValue(element, match[2], match[4], match[3])))) {
|
205
|
+
return false;
|
206
|
+
}
|
207
|
+
}
|
208
|
+
return true;
|
209
|
+
};
|
192
210
|
/**
|
193
211
|
* Matches attribute name only.
|
194
212
|
*
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"SelectorItem.js","sourceRoot":"","sources":["../../src/query-selector/SelectorItem.ts"],"names":[],"mappings":";;;;;AAAA,2EAAqD;AAGrD,IAAM,gBAAgB,GAAG,6FAA6F,CAAC;AACvH,IAAM,qBAAqB,GAAG,iBAAiB,CAAC;AAChD,IAAM,aAAa,GAAG,
|
1
|
+
{"version":3,"file":"SelectorItem.js","sourceRoot":"","sources":["../../src/query-selector/SelectorItem.ts"],"names":[],"mappings":"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"}
|
package/lib/window/Window.d.ts
CHANGED
@@ -40,6 +40,7 @@ import FileReader from '../file/FileReader';
|
|
40
40
|
import History from '../history/History';
|
41
41
|
import CSSStyleDeclaration from '../css/CSSStyleDeclaration';
|
42
42
|
import MouseEvent from '../event/events/MouseEvent';
|
43
|
+
import PointerEvent from '../event/events/PointerEvent';
|
43
44
|
import FocusEvent from '../event/events/FocusEvent';
|
44
45
|
import WheelEvent from '../event/events/WheelEvent';
|
45
46
|
import DataTransfer from '../event/DataTransfer';
|
@@ -114,6 +115,7 @@ export default class Window extends EventTarget implements IWindow, NodeJS.Globa
|
|
114
115
|
readonly AnimationEvent: typeof AnimationEvent;
|
115
116
|
readonly KeyboardEvent: typeof KeyboardEvent;
|
116
117
|
readonly MouseEvent: typeof MouseEvent;
|
118
|
+
readonly PointerEvent: typeof PointerEvent;
|
117
119
|
readonly FocusEvent: typeof FocusEvent;
|
118
120
|
readonly WheelEvent: typeof WheelEvent;
|
119
121
|
readonly InputEvent: typeof InputEvent;
|
package/lib/window/Window.js
CHANGED
@@ -98,6 +98,7 @@ var FileReader_1 = __importDefault(require("../file/FileReader"));
|
|
98
98
|
var History_1 = __importDefault(require("../history/History"));
|
99
99
|
var CSSStyleDeclaration_1 = __importDefault(require("../css/CSSStyleDeclaration"));
|
100
100
|
var MouseEvent_1 = __importDefault(require("../event/events/MouseEvent"));
|
101
|
+
var PointerEvent_1 = __importDefault(require("../event/events/PointerEvent"));
|
101
102
|
var FocusEvent_1 = __importDefault(require("../event/events/FocusEvent"));
|
102
103
|
var WheelEvent_1 = __importDefault(require("../event/events/WheelEvent"));
|
103
104
|
var DataTransfer_1 = __importDefault(require("../event/DataTransfer"));
|
@@ -172,6 +173,7 @@ var Window = /** @class */ (function (_super) {
|
|
172
173
|
_this.AnimationEvent = AnimationEvent_1.default;
|
173
174
|
_this.KeyboardEvent = KeyboardEvent_1.default;
|
174
175
|
_this.MouseEvent = MouseEvent_1.default;
|
176
|
+
_this.PointerEvent = PointerEvent_1.default;
|
175
177
|
_this.FocusEvent = FocusEvent_1.default;
|
176
178
|
_this.WheelEvent = WheelEvent_1.default;
|
177
179
|
_this.InputEvent = InputEvent_1.default;
|