happy-dom 9.8.3 → 9.9.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.

@@ -1 +1 @@
1
- {"version":3,"file":"EventTarget.d.ts","sourceRoot":"","sources":["../../src/event/EventTarget.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAC9C,OAAO,KAAK,MAAM,SAAS,CAAC;AAC5B,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAC1C,OAAO,qBAAqB,MAAM,yBAAyB,CAAC;AAI5D,OAAO,OAAO,MAAM,mBAAmB,CAAC;AAExC;;GAEG;AACH,MAAM,CAAC,OAAO,CAAC,QAAQ,OAAO,WAAY,YAAW,YAAY;IAChE,SAAgB,UAAU,EAAE;QAC3B,CAAC,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC,GAAG,cAAc,CAAC,EAAE,CAAC;KAC3D,CAAM;IACP,SAAgB,gBAAgB,EAAE;QACjC,CAAC,CAAC,EAAE,MAAM,GAAG,CAAC,qBAAqB,GAAG,IAAI,CAAC,EAAE,CAAC;KAC9C,CAAM;IAEP;;;;;;;OAOG;IACI,gBAAgB,CACtB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC,GAAG,cAAc,EACnD,OAAO,CAAC,EAAE,OAAO,GAAG,qBAAqB,GACvC,IAAI;IAoBP;;;;;OAKG;IACI,mBAAmB,CACzB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC,GAAG,cAAc,GACjD,IAAI;IAkBP;;;;;;;OAOG;IACI,aAAa,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO;IA+F3C;;;;;;;;;OASG;IACI,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC,GAAG,cAAc,GAAG,IAAI;IAI3F;;;;;;;;;OASG;IACI,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC,GAAG,cAAc,GAAG,IAAI;IAI3F;;;;OAIG;IACI,UAAU,IAAI,OAAO,GAAG,IAAI;CAYnC"}
1
+ {"version":3,"file":"EventTarget.d.ts","sourceRoot":"","sources":["../../src/event/EventTarget.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAC9C,OAAO,KAAK,MAAM,SAAS,CAAC;AAC5B,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAC1C,OAAO,qBAAqB,MAAM,yBAAyB,CAAC;AAI5D,OAAO,OAAO,MAAM,mBAAmB,CAAC;AAExC;;GAEG;AACH,MAAM,CAAC,OAAO,CAAC,QAAQ,OAAO,WAAY,YAAW,YAAY;IAChE,SAAgB,UAAU,EAAE;QAC3B,CAAC,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC,GAAG,cAAc,CAAC,EAAE,CAAC;KAC3D,CAAM;IACP,SAAgB,gBAAgB,EAAE;QACjC,CAAC,CAAC,EAAE,MAAM,GAAG,CAAC,qBAAqB,GAAG,IAAI,CAAC,EAAE,CAAC;KAC9C,CAAM;IAEP;;;;;;;OAOG;IACI,gBAAgB,CACtB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC,GAAG,cAAc,EACnD,OAAO,CAAC,EAAE,OAAO,GAAG,qBAAqB,GACvC,IAAI;IAsBP;;;;;OAKG;IACI,mBAAmB,CACzB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC,GAAG,cAAc,GACjD,IAAI;IAkBP;;;;;;;OAOG;IACI,aAAa,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO;IAqG3C;;;;;;;;;OASG;IACI,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC,GAAG,cAAc,GAAG,IAAI;IAI3F;;;;;;;;;OASG;IACI,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC,GAAG,cAAc,GAAG,IAAI;IAI3F;;;;OAIG;IACI,UAAU,IAAI,OAAO,GAAG,IAAI;CAYnC"}
@@ -24,6 +24,9 @@ class EventTarget {
24
24
  const listenerOptions = typeof options === 'boolean' ? { capture: options } : options || null;
25
25
  this._listeners[type] = this._listeners[type] || [];
26
26
  this._listenerOptions[type] = this._listenerOptions[type] || [];
27
+ if (this._listeners[type].includes(listener)) {
28
+ return;
29
+ }
27
30
  this._listeners[type].push(listener);
28
31
  this._listenerOptions[type].push(listenerOptions);
29
32
  // Tracks the amount of capture event listeners to improve performance when they are not used.
@@ -128,7 +131,13 @@ class EventTarget {
128
131
  }
129
132
  event._isInPassiveEventListener = false;
130
133
  if (options?.once) {
134
+ // At this time, listeners and listenersOptions are cloned arrays. When the original value is deleted,
135
+ // The value corresponding to the cloned array is not deleted. So we need to delete the value in the cloned array.
136
+ listeners.splice(i, 1);
137
+ listenerOptions.splice(i, 1);
131
138
  this.removeEventListener(event.type, listener);
139
+ i--;
140
+ max--;
132
141
  }
133
142
  if (event._immediatePropagationStopped) {
134
143
  return !(event.cancelable && event.defaultPrevented);
@@ -1 +1 @@
1
- {"version":3,"file":"EventTarget.js","sourceRoot":"","sources":["../../src/event/EventTarget.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EventTarget.js","sourceRoot":"","sources":["../../src/event/EventTarget.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"HTMLElement.d.ts","sourceRoot":"","sources":["../../../src/nodes/html-element/HTMLElement.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,oBAAoB,CAAC;AACzC,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAC1C,OAAO,mBAAmB,MAAM,2CAA2C,CAAC;AAC5E,OAAO,KAAK,MAAM,eAAe,CAAC;AAMlC,OAAO,KAAK,MAAM,mBAAmB,CAAC;AAEtC;;;;;GAKG;AACH,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,OAAQ,YAAW,YAAY;IACvE,SAAgB,SAAS,MAAM;IAC/B,SAAgB,cAAc,MAAM;IACpC,SAAgB,eAAe,aAAa;IAC5C,SAAgB,iBAAiB,SAAS;IAC1C,SAAgB,YAAY,KAAK;IACjC,SAAgB,WAAW,KAAK;IAChC,SAAgB,UAAU,KAAK;IAC/B,SAAgB,SAAS,KAAK;IAC9B,SAAgB,YAAY,KAAK;IACjC,SAAgB,WAAW,KAAK;IAEhC,OAAO,CAAC,MAAM,CAA6B;IAC3C,OAAO,CAAC,QAAQ,CAAiB;IAG1B,MAAM,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,IAAI,CAAQ;IAC7C,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,IAAI,CAAQ;IAC5C,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,IAAI,CAAQ;IAC9C,SAAS,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,IAAI,CAAQ;IAChD,iBAAiB,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,IAAI,CAAQ;IACxD,cAAc,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,IAAI,CAAQ;IACrD,oBAAoB,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,IAAI,CAAQ;IAC3D,gBAAgB,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,IAAI,CAAQ;IACvD,aAAa,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,IAAI,CAAQ;IACpD,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,IAAI,CAAQ;IAC9C,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,IAAI,CAAQ;IAC/C,mBAAmB,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,IAAI,CAAQ;IAC1D,oBAAoB,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,IAAI,CAAQ;IAC3D,eAAe,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,IAAI,CAAQ;IACtD,aAAa,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,IAAI,CAAQ;IACpD,cAAc,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,IAAI,CAAQ;IACrD,cAAc,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,IAAI,CAAQ;IACrD,aAAa,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,IAAI,CAAQ;IACpD,YAAY,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,IAAI,CAAQ;IACnD,aAAa,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,IAAI,CAAQ;IACpD,WAAW,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,IAAI,CAAQ;IAClD,kBAAkB,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,IAAI,CAAQ;IACzD,eAAe,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,IAAI,CAAQ;IACtD,eAAe,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,IAAI,CAAQ;IACtD,iBAAiB,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,IAAI,CAAQ;IAE/D;;;;OAIG;IACH,IAAW,QAAQ,IAAI,MAAM,CAG5B;IAED;;;;OAIG;IACH,IAAW,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAMnC;IAED;;;;;OAKG;IACH,IAAW,SAAS,IAAI,MAAM,CA4C7B;IAED;;;;;OAKG;IACH,IAAW,SAAS,CAAC,IAAI,EAAE,MAAM,EAahC;IAED;;;;;OAKG;IACH,IAAW,SAAS,IAAI,MAAM,CAE7B;IAED;;;;;OAKG;IACH,IAAW,SAAS,CAAC,IAAI,EAAE,MAAM,EAiBhC;IAED;;;;OAIG;IACH,IAAW,KAAK,IAAI,mBAAmB,CAKtC;IAED;;;;;OAKG;IACH,IAAW,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,mBAAmB,EAErD;IAED;;;;OAIG;IACH,IAAW,OAAO,IAAI;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAE9C;IAED;;;;OAIG;IACH,IAAW,GAAG,IAAI,MAAM,CAEvB;IAED;;;;OAIG;IACH,IAAW,GAAG,CAAC,SAAS,EAAE,MAAM,EAE/B;IAED;;;;OAIG;IACH,IAAW,MAAM,IAAI,OAAO,CAE3B;IAED;;;;OAIG;IACH,IAAW,MAAM,CAAC,MAAM,EAAE,OAAO,EAMhC;IAED;;;;OAIG;IACH,IAAW,IAAI,IAAI,MAAM,CAExB;IAED;;;;OAIG;IACH,IAAW,IAAI,CAAC,IAAI,EAAE,MAAM,EAE3B;IAED;;;;OAIG;IACH,IAAW,KAAK,IAAI,MAAM,CAEzB;IAED;;;;OAIG;IACH,IAAW,KAAK,CAAC,KAAK,EAAE,MAAM,EAE7B;IAED;;OAEG;IACI,KAAK,IAAI,IAAI;IAUpB;;OAEG;IACI,IAAI,IAAI,IAAI;IAqBnB;;OAEG;IACI,KAAK,IAAI,IAAI;IAyBpB;;OAEG;IACI,gBAAgB,CAAC,SAAS,EAAE,KAAK,GAAG,KAAK;IAUhD;;OAEG;IACI,mBAAmB,CAAC,SAAS,EAAE,KAAK,GAAG,KAAK;IAUnD;;OAEG;IACI,SAAS,CAAC,IAAI,UAAQ,GAAG,YAAY;CAc5C"}
1
+ {"version":3,"file":"HTMLElement.d.ts","sourceRoot":"","sources":["../../../src/nodes/html-element/HTMLElement.ts"],"names":[],"mappings":"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"}
@@ -5,11 +5,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const Element_1 = __importDefault(require("../element/Element"));
7
7
  const CSSStyleDeclaration_1 = __importDefault(require("../../css/declaration/CSSStyleDeclaration"));
8
- const FocusEvent_1 = __importDefault(require("../../event/events/FocusEvent"));
9
8
  const PointerEvent_1 = __importDefault(require("../../event/events/PointerEvent"));
10
9
  const Dataset_1 = __importDefault(require("../element/Dataset"));
11
10
  const NodeTypeEnum_1 = __importDefault(require("../node/NodeTypeEnum"));
12
11
  const DOMException_1 = __importDefault(require("../../exception/DOMException"));
12
+ const HTMLElementUtility_1 = __importDefault(require("./HTMLElementUtility"));
13
13
  /**
14
14
  * HTML Element.
15
15
  *
@@ -283,38 +283,13 @@ class HTMLElement extends Element_1.default {
283
283
  * Triggers a blur event.
284
284
  */
285
285
  blur() {
286
- if (this.ownerDocument['_activeElement'] !== this || !this.isConnected) {
287
- return;
288
- }
289
- this.ownerDocument['_activeElement'] = null;
290
- this.dispatchEvent(new FocusEvent_1.default('blur', {
291
- bubbles: false,
292
- composed: true
293
- }));
294
- this.dispatchEvent(new FocusEvent_1.default('focusout', {
295
- bubbles: true,
296
- composed: true
297
- }));
286
+ HTMLElementUtility_1.default.blur(this);
298
287
  }
299
288
  /**
300
289
  * Triggers a focus event.
301
290
  */
302
291
  focus() {
303
- if (this.ownerDocument['_activeElement'] === this || !this.isConnected) {
304
- return;
305
- }
306
- if (this.ownerDocument['_activeElement'] !== null) {
307
- this.ownerDocument['_activeElement'].blur();
308
- }
309
- this.ownerDocument['_activeElement'] = this;
310
- this.dispatchEvent(new FocusEvent_1.default('focus', {
311
- bubbles: false,
312
- composed: true
313
- }));
314
- this.dispatchEvent(new FocusEvent_1.default('focusin', {
315
- bubbles: true,
316
- composed: true
317
- }));
292
+ HTMLElementUtility_1.default.focus(this);
318
293
  }
319
294
  /**
320
295
  * @override
@@ -1 +1 @@
1
- {"version":3,"file":"HTMLElement.js","sourceRoot":"","sources":["../../../src/nodes/html-element/HTMLElement.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HTMLElement.js","sourceRoot":"","sources":["../../../src/nodes/html-element/HTMLElement.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import IHTMLElement from '../html-element/IHTMLElement';
2
+ import ISVGElement from '../svg-element/ISVGElement';
3
+ /**
4
+ * HTMLElement utility.
5
+ */
6
+ export default class HTMLElementUtility {
7
+ /**
8
+ * Triggers a blur event.
9
+ *
10
+ * @param element Element.
11
+ */
12
+ static blur(element: IHTMLElement | ISVGElement): void;
13
+ /**
14
+ * Triggers a focus event.
15
+ *
16
+ * @param element Element.
17
+ */
18
+ static focus(element: IHTMLElement | ISVGElement): void;
19
+ }
20
+ //# sourceMappingURL=HTMLElementUtility.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HTMLElementUtility.d.ts","sourceRoot":"","sources":["../../../src/nodes/html-element/HTMLElementUtility.ts"],"names":[],"mappings":"AACA,OAAO,YAAY,MAAM,8BAA8B,CAAC;AACxD,OAAO,WAAW,MAAM,4BAA4B,CAAC;AAErD;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,kBAAkB;IACtC;;;;OAIG;WACW,IAAI,CAAC,OAAO,EAAE,YAAY,GAAG,WAAW,GAAG,IAAI;IAqB7D;;;;OAIG;WACW,KAAK,CAAC,OAAO,EAAE,YAAY,GAAG,WAAW,GAAG,IAAI;CAwB9D"}
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const FocusEvent_1 = __importDefault(require("../../event/events/FocusEvent"));
7
+ /**
8
+ * HTMLElement utility.
9
+ */
10
+ class HTMLElementUtility {
11
+ /**
12
+ * Triggers a blur event.
13
+ *
14
+ * @param element Element.
15
+ */
16
+ static blur(element) {
17
+ if (element.ownerDocument['_activeElement'] !== element || !element.isConnected) {
18
+ return;
19
+ }
20
+ element.ownerDocument['_activeElement'] = null;
21
+ element.dispatchEvent(new FocusEvent_1.default('blur', {
22
+ bubbles: false,
23
+ composed: true
24
+ }));
25
+ element.dispatchEvent(new FocusEvent_1.default('focusout', {
26
+ bubbles: true,
27
+ composed: true
28
+ }));
29
+ }
30
+ /**
31
+ * Triggers a focus event.
32
+ *
33
+ * @param element Element.
34
+ */
35
+ static focus(element) {
36
+ if (element.ownerDocument['_activeElement'] === element || !element.isConnected) {
37
+ return;
38
+ }
39
+ if (element.ownerDocument['_activeElement'] !== null) {
40
+ element.ownerDocument['_activeElement'].blur();
41
+ }
42
+ element.ownerDocument['_activeElement'] = element;
43
+ element.dispatchEvent(new FocusEvent_1.default('focus', {
44
+ bubbles: false,
45
+ composed: true
46
+ }));
47
+ element.dispatchEvent(new FocusEvent_1.default('focusin', {
48
+ bubbles: true,
49
+ composed: true
50
+ }));
51
+ }
52
+ }
53
+ exports.default = HTMLElementUtility;
54
+ //# sourceMappingURL=HTMLElementUtility.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HTMLElementUtility.js","sourceRoot":"","sources":["../../../src/nodes/html-element/HTMLElementUtility.ts"],"names":[],"mappings":";;;;;AAAA,+EAAuD;AAIvD;;GAEG;AACH,MAAqB,kBAAkB;IACtC;;;;OAIG;IACI,MAAM,CAAC,IAAI,CAAC,OAAmC;QACrD,IAAI,OAAO,CAAC,aAAa,CAAC,gBAAgB,CAAC,KAAK,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE;YAChF,OAAO;SACP;QAED,OAAO,CAAC,aAAa,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC;QAE/C,OAAO,CAAC,aAAa,CACpB,IAAI,oBAAU,CAAC,MAAM,EAAE;YACtB,OAAO,EAAE,KAAK;YACd,QAAQ,EAAE,IAAI;SACd,CAAC,CACF,CAAC;QACF,OAAO,CAAC,aAAa,CACpB,IAAI,oBAAU,CAAC,UAAU,EAAE;YAC1B,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,IAAI;SACd,CAAC,CACF,CAAC;IACH,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,KAAK,CAAC,OAAmC;QACtD,IAAI,OAAO,CAAC,aAAa,CAAC,gBAAgB,CAAC,KAAK,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE;YAChF,OAAO;SACP;QAED,IAAI,OAAO,CAAC,aAAa,CAAC,gBAAgB,CAAC,KAAK,IAAI,EAAE;YACrD,OAAO,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC,IAAI,EAAE,CAAC;SAC/C;QAED,OAAO,CAAC,aAAa,CAAC,gBAAgB,CAAC,GAAG,OAAO,CAAC;QAElD,OAAO,CAAC,aAAa,CACpB,IAAI,oBAAU,CAAC,OAAO,EAAE;YACvB,OAAO,EAAE,KAAK;YACd,QAAQ,EAAE,IAAI;SACd,CAAC,CACF,CAAC;QACF,OAAO,CAAC,aAAa,CACpB,IAAI,oBAAU,CAAC,SAAS,EAAE;YACzB,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,IAAI;SACd,CAAC,CACF,CAAC;IACH,CAAC;CACD;AAxDD,qCAwDC"}
@@ -14,11 +14,20 @@ export default interface ISVGElement extends IElement {
14
14
  [key: string]: string;
15
15
  };
16
16
  readonly style: CSSStyleDeclaration;
17
+ tabIndex: number;
17
18
  onabort: (event: Event) => void | null;
18
19
  onerror: (event: Event) => void | null;
19
20
  onload: (event: Event) => void | null;
20
21
  onresize: (event: Event) => void | null;
21
22
  onscroll: (event: Event) => void | null;
22
23
  onunload: (event: Event) => void | null;
24
+ /**
25
+ * Triggers a blur event.
26
+ */
27
+ blur(): void;
28
+ /**
29
+ * Triggers a focus event.
30
+ */
31
+ focus(): void;
23
32
  }
24
33
  //# sourceMappingURL=ISVGElement.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ISVGElement.d.ts","sourceRoot":"","sources":["../../../src/nodes/svg-element/ISVGElement.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,mBAAmB,CAAC;AACtC,OAAO,mBAAmB,MAAM,2CAA2C,CAAC;AAC5E,OAAO,QAAQ,MAAM,qBAAqB,CAAC;AAC3C,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAE9C;;;;GAIG;AACH,MAAM,CAAC,OAAO,WAAW,WAAY,SAAQ,QAAQ;IACpD,QAAQ,CAAC,eAAe,EAAE,WAAW,CAAC;IACtC,QAAQ,CAAC,eAAe,EAAE,cAAc,CAAC;IACzC,QAAQ,CAAC,OAAO,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IAC5C,QAAQ,CAAC,KAAK,EAAE,mBAAmB,CAAC;IAGpC,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,IAAI,CAAC;IACvC,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,IAAI,CAAC;IACvC,MAAM,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,IAAI,CAAC;IACtC,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,IAAI,CAAC;IACxC,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,IAAI,CAAC;IACxC,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,IAAI,CAAC;CACxC"}
1
+ {"version":3,"file":"ISVGElement.d.ts","sourceRoot":"","sources":["../../../src/nodes/svg-element/ISVGElement.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,mBAAmB,CAAC;AACtC,OAAO,mBAAmB,MAAM,2CAA2C,CAAC;AAC5E,OAAO,QAAQ,MAAM,qBAAqB,CAAC;AAC3C,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAE9C;;;;GAIG;AACH,MAAM,CAAC,OAAO,WAAW,WAAY,SAAQ,QAAQ;IACpD,QAAQ,CAAC,eAAe,EAAE,WAAW,CAAC;IACtC,QAAQ,CAAC,eAAe,EAAE,cAAc,CAAC;IACzC,QAAQ,CAAC,OAAO,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IAC5C,QAAQ,CAAC,KAAK,EAAE,mBAAmB,CAAC;IACpC,QAAQ,EAAE,MAAM,CAAC;IAGjB,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,IAAI,CAAC;IACvC,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,IAAI,CAAC;IACvC,MAAM,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,IAAI,CAAC;IACtC,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,IAAI,CAAC;IACxC,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,IAAI,CAAC;IACxC,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,IAAI,CAAC;IAExC;;OAEG;IACH,IAAI,IAAI,IAAI,CAAC;IAEb;;OAEG;IACH,KAAK,IAAI,IAAI,CAAC;CACd"}
@@ -45,6 +45,26 @@ export default class SVGElement extends Element implements ISVGElement {
45
45
  * @returns Style.
46
46
  */
47
47
  get style(): CSSStyleDeclaration;
48
+ /**
49
+ * Returns tab index.
50
+ *
51
+ * @returns Tab index.
52
+ */
53
+ get tabIndex(): number;
54
+ /**
55
+ * Returns tab index.
56
+ *
57
+ * @param tabIndex Tab index.
58
+ */
59
+ set tabIndex(tabIndex: number);
60
+ /**
61
+ * Triggers a blur event.
62
+ */
63
+ blur(): void;
64
+ /**
65
+ * Triggers a focus event.
66
+ */
67
+ focus(): void;
48
68
  /**
49
69
  * @override
50
70
  */
@@ -1 +1 @@
1
- {"version":3,"file":"SVGElement.d.ts","sourceRoot":"","sources":["../../../src/nodes/svg-element/SVGElement.ts"],"names":[],"mappings":"AAAA,OAAO,mBAAmB,MAAM,2CAA2C,CAAC;AAC5E,OAAO,OAAO,MAAM,oBAAoB,CAAC;AACzC,OAAO,WAAW,MAAM,eAAe,CAAC;AACxC,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAC9C,OAAO,KAAK,MAAM,eAAe,CAAC;AAClC,OAAO,KAAK,MAAM,mBAAmB,CAAC;AAGtC;;;;;GAKG;AACH,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,OAAQ,YAAW,WAAW;IAE9D,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,IAAI,CAAQ;IAC9C,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,IAAI,CAAQ;IAC9C,MAAM,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,IAAI,CAAQ;IAC7C,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,IAAI,CAAQ;IAC/C,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,IAAI,CAAQ;IAC/C,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,IAAI,CAAQ;IAEtD,OAAO,CAAC,MAAM,CAA6B;IAC3C,OAAO,CAAC,QAAQ,CAAiB;IAEjC;;;;OAIG;IACH,IAAW,eAAe,IAAI,WAAW,CAExC;IAED;;;;OAIG;IACH,IAAW,eAAe,IAAI,cAAc,CAU3C;IAED;;;;OAIG;IACH,IAAW,OAAO,IAAI;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAE9C;IAED;;;;OAIG;IACH,IAAW,KAAK,IAAI,mBAAmB,CAKtC;IAED;;OAEG;IACI,gBAAgB,CAAC,SAAS,EAAE,KAAK,GAAG,KAAK;IAUhD;;OAEG;IACI,mBAAmB,CAAC,SAAS,EAAE,KAAK,GAAG,KAAK;CASnD"}
1
+ {"version":3,"file":"SVGElement.d.ts","sourceRoot":"","sources":["../../../src/nodes/svg-element/SVGElement.ts"],"names":[],"mappings":"AAAA,OAAO,mBAAmB,MAAM,2CAA2C,CAAC;AAC5E,OAAO,OAAO,MAAM,oBAAoB,CAAC;AACzC,OAAO,WAAW,MAAM,eAAe,CAAC;AACxC,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAC9C,OAAO,KAAK,MAAM,eAAe,CAAC;AAClC,OAAO,KAAK,MAAM,mBAAmB,CAAC;AAItC;;;;;GAKG;AACH,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,OAAQ,YAAW,WAAW;IAE9D,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,IAAI,CAAQ;IAC9C,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,IAAI,CAAQ;IAC9C,MAAM,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,IAAI,CAAQ;IAC7C,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,IAAI,CAAQ;IAC/C,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,IAAI,CAAQ;IAC/C,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,IAAI,CAAQ;IAGtD,OAAO,CAAC,MAAM,CAA6B;IAC3C,OAAO,CAAC,QAAQ,CAAiB;IAEjC;;;;OAIG;IACH,IAAW,eAAe,IAAI,WAAW,CAExC;IAED;;;;OAIG;IACH,IAAW,eAAe,IAAI,cAAc,CAU3C;IAED;;;;OAIG;IACH,IAAW,OAAO,IAAI;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAE9C;IAED;;;;OAIG;IACH,IAAW,KAAK,IAAI,mBAAmB,CAKtC;IAED;;;;OAIG;IACH,IAAW,QAAQ,IAAI,MAAM,CAG5B;IAED;;;;OAIG;IACH,IAAW,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAMnC;IAED;;OAEG;IACI,IAAI,IAAI,IAAI;IAInB;;OAEG;IACI,KAAK,IAAI,IAAI;IAIpB;;OAEG;IACI,gBAAgB,CAAC,SAAS,EAAE,KAAK,GAAG,KAAK;IAUhD;;OAEG;IACI,mBAAmB,CAAC,SAAS,EAAE,KAAK,GAAG,KAAK;CASnD"}
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const CSSStyleDeclaration_1 = __importDefault(require("../../css/declaration/CSSStyleDeclaration"));
7
7
  const Element_1 = __importDefault(require("../element/Element"));
8
8
  const Dataset_1 = __importDefault(require("../element/Dataset"));
9
+ const HTMLElementUtility_1 = __importDefault(require("../html-element/HTMLElementUtility"));
9
10
  /**
10
11
  * SVG Element.
11
12
  *
@@ -22,6 +23,7 @@ class SVGElement extends Element_1.default {
22
23
  this.onresize = null;
23
24
  this.onscroll = null;
24
25
  this.onunload = null;
26
+ // Private properties
25
27
  this._style = null;
26
28
  this._dataset = null;
27
29
  }
@@ -67,6 +69,40 @@ class SVGElement extends Element_1.default {
67
69
  }
68
70
  return this._style;
69
71
  }
72
+ /**
73
+ * Returns tab index.
74
+ *
75
+ * @returns Tab index.
76
+ */
77
+ get tabIndex() {
78
+ const tabIndex = this.getAttribute('tabindex');
79
+ return tabIndex !== null ? Number(tabIndex) : -1;
80
+ }
81
+ /**
82
+ * Returns tab index.
83
+ *
84
+ * @param tabIndex Tab index.
85
+ */
86
+ set tabIndex(tabIndex) {
87
+ if (tabIndex === -1) {
88
+ this.removeAttribute('tabindex');
89
+ }
90
+ else {
91
+ this.setAttribute('tabindex', String(tabIndex));
92
+ }
93
+ }
94
+ /**
95
+ * Triggers a blur event.
96
+ */
97
+ blur() {
98
+ HTMLElementUtility_1.default.blur(this);
99
+ }
100
+ /**
101
+ * Triggers a focus event.
102
+ */
103
+ focus() {
104
+ HTMLElementUtility_1.default.focus(this);
105
+ }
70
106
  /**
71
107
  * @override
72
108
  */
@@ -1 +1 @@
1
- {"version":3,"file":"SVGElement.js","sourceRoot":"","sources":["../../../src/nodes/svg-element/SVGElement.ts"],"names":[],"mappings":";;;;;AAAA,oGAA4E;AAC5E,iEAAyC;AAKzC,iEAAyC;AAEzC;;;;;GAKG;AACH,MAAqB,UAAW,SAAQ,iBAAO;IAA/C;;QACC,SAAS;QACF,YAAO,GAAkC,IAAI,CAAC;QAC9C,YAAO,GAAkC,IAAI,CAAC;QAC9C,WAAM,GAAkC,IAAI,CAAC;QAC7C,aAAQ,GAAkC,IAAI,CAAC;QAC/C,aAAQ,GAAkC,IAAI,CAAC;QAC/C,aAAQ,GAAkC,IAAI,CAAC;QAE9C,WAAM,GAAwB,IAAI,CAAC;QACnC,aAAQ,GAAY,IAAI,CAAC;IA0ElC,CAAC;IAxEA;;;;OAIG;IACH,IAAW,eAAe;QACzB,OAAO,IAAI,CAAC;IACb,CAAC;IAED;;;;OAIG;IACH,IAAW,eAAe;QACzB,IAAI,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC;QAC7B,OAAO,MAAM,EAAE;YACd,IAAI,MAAM,CAAC,SAAS,CAAC,KAAK,KAAK,EAAE;gBAChC,OAAuB,MAAM,CAAC;aAC9B;YAED,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC;SAC3B;QACD,OAAO,IAAI,CAAC;IACb,CAAC;IAED;;;;OAIG;IACH,IAAW,OAAO;QACjB,OAAO,CAAC,IAAI,CAAC,QAAQ,KAAb,IAAI,CAAC,QAAQ,GAAK,IAAI,iBAAO,CAAC,IAAI,CAAC,EAAC,CAAC,KAAK,CAAC;IACpD,CAAC;IAED;;;;OAIG;IACH,IAAW,KAAK;QACf,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YACjB,IAAI,CAAC,MAAM,GAAG,IAAI,6BAAmB,CAAC,IAAI,CAAC,CAAC;SAC5C;QACD,OAAO,IAAI,CAAC,MAAM,CAAC;IACpB,CAAC;IAED;;OAEG;IACI,gBAAgB,CAAC,SAAgB;QACvC,MAAM,iBAAiB,GAAG,KAAK,CAAC,gBAAgB,CAAC,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;;OAEG;IACI,mBAAmB,CAAC,SAAgB;QAC1C,KAAK,CAAC,mBAAmB,CAAC,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;QAED,OAAO,SAAS,CAAC;IAClB,CAAC;CACD;AApFD,6BAoFC"}
1
+ {"version":3,"file":"SVGElement.js","sourceRoot":"","sources":["../../../src/nodes/svg-element/SVGElement.ts"],"names":[],"mappings":";;;;;AAAA,oGAA4E;AAC5E,iEAAyC;AAKzC,iEAAyC;AACzC,4FAAoE;AAEpE;;;;;GAKG;AACH,MAAqB,UAAW,SAAQ,iBAAO;IAA/C;;QACC,SAAS;QACF,YAAO,GAAkC,IAAI,CAAC;QAC9C,YAAO,GAAkC,IAAI,CAAC;QAC9C,WAAM,GAAkC,IAAI,CAAC;QAC7C,aAAQ,GAAkC,IAAI,CAAC;QAC/C,aAAQ,GAAkC,IAAI,CAAC;QAC/C,aAAQ,GAAkC,IAAI,CAAC;QAEtD,qBAAqB;QACb,WAAM,GAAwB,IAAI,CAAC;QACnC,aAAQ,GAAY,IAAI,CAAC;IA+GlC,CAAC;IA7GA;;;;OAIG;IACH,IAAW,eAAe;QACzB,OAAO,IAAI,CAAC;IACb,CAAC;IAED;;;;OAIG;IACH,IAAW,eAAe;QACzB,IAAI,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC;QAC7B,OAAO,MAAM,EAAE;YACd,IAAI,MAAM,CAAC,SAAS,CAAC,KAAK,KAAK,EAAE;gBAChC,OAAuB,MAAM,CAAC;aAC9B;YAED,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC;SAC3B;QACD,OAAO,IAAI,CAAC;IACb,CAAC;IAED;;;;OAIG;IACH,IAAW,OAAO;QACjB,OAAO,CAAC,IAAI,CAAC,QAAQ,KAAb,IAAI,CAAC,QAAQ,GAAK,IAAI,iBAAO,CAAC,IAAI,CAAC,EAAC,CAAC,KAAK,CAAC;IACpD,CAAC;IAED;;;;OAIG;IACH,IAAW,KAAK;QACf,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YACjB,IAAI,CAAC,MAAM,GAAG,IAAI,6BAAmB,CAAC,IAAI,CAAC,CAAC;SAC5C;QACD,OAAO,IAAI,CAAC,MAAM,CAAC;IACpB,CAAC;IAED;;;;OAIG;IACH,IAAW,QAAQ;QAClB,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;QAC/C,OAAO,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAClD,CAAC;IAED;;;;OAIG;IACH,IAAW,QAAQ,CAAC,QAAgB;QACnC,IAAI,QAAQ,KAAK,CAAC,CAAC,EAAE;YACpB,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;SACjC;aAAM;YACN,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;SAChD;IACF,CAAC;IAED;;OAEG;IACI,IAAI;QACV,4BAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAED;;OAEG;IACI,KAAK;QACX,4BAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IAED;;OAEG;IACI,gBAAgB,CAAC,SAAgB;QACvC,MAAM,iBAAiB,GAAG,KAAK,CAAC,gBAAgB,CAAC,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;;OAEG;IACI,mBAAmB,CAAC,SAAgB;QAC1C,KAAK,CAAC,mBAAmB,CAAC,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;QAED,OAAO,SAAS,CAAC;IAClB,CAAC;CACD;AA1HD,6BA0HC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "happy-dom",
3
- "version": "9.8.3",
3
+ "version": "9.9.0",
4
4
  "license": "MIT",
5
5
  "homepage": "https://github.com/capricorn86/happy-dom",
6
6
  "repository": "https://github.com/capricorn86/happy-dom",
@@ -35,7 +35,9 @@ export default abstract class EventTarget implements IEventTarget {
35
35
 
36
36
  this._listeners[type] = this._listeners[type] || [];
37
37
  this._listenerOptions[type] = this._listenerOptions[type] || [];
38
-
38
+ if (this._listeners[type].includes(listener)) {
39
+ return;
40
+ }
39
41
  this._listeners[type].push(listener);
40
42
  this._listenerOptions[type].push(listenerOptions);
41
43
 
@@ -168,7 +170,13 @@ export default abstract class EventTarget implements IEventTarget {
168
170
  event._isInPassiveEventListener = false;
169
171
 
170
172
  if (options?.once) {
173
+ // At this time, listeners and listenersOptions are cloned arrays. When the original value is deleted,
174
+ // The value corresponding to the cloned array is not deleted. So we need to delete the value in the cloned array.
175
+ listeners.splice(i, 1);
176
+ listenerOptions.splice(i, 1);
171
177
  this.removeEventListener(event.type, listener);
178
+ i--;
179
+ max--;
172
180
  }
173
181
 
174
182
  if (event._immediatePropagationStopped) {
@@ -2,12 +2,12 @@ import Element from '../element/Element';
2
2
  import IHTMLElement from './IHTMLElement';
3
3
  import CSSStyleDeclaration from '../../css/declaration/CSSStyleDeclaration';
4
4
  import IAttr from '../attr/IAttr';
5
- import FocusEvent from '../../event/events/FocusEvent';
6
5
  import PointerEvent from '../../event/events/PointerEvent';
7
6
  import Dataset from '../element/Dataset';
8
7
  import NodeTypeEnum from '../node/NodeTypeEnum';
9
8
  import DOMException from '../../exception/DOMException';
10
9
  import Event from '../../event/Event';
10
+ import HTMLElementUtility from './HTMLElementUtility';
11
11
 
12
12
  /**
13
13
  * HTML Element.
@@ -312,52 +312,14 @@ export default class HTMLElement extends Element implements IHTMLElement {
312
312
  * Triggers a blur event.
313
313
  */
314
314
  public blur(): void {
315
- if (this.ownerDocument['_activeElement'] !== this || !this.isConnected) {
316
- return;
317
- }
318
-
319
- this.ownerDocument['_activeElement'] = null;
320
-
321
- this.dispatchEvent(
322
- new FocusEvent('blur', {
323
- bubbles: false,
324
- composed: true
325
- })
326
- );
327
- this.dispatchEvent(
328
- new FocusEvent('focusout', {
329
- bubbles: true,
330
- composed: true
331
- })
332
- );
315
+ HTMLElementUtility.blur(this);
333
316
  }
334
317
 
335
318
  /**
336
319
  * Triggers a focus event.
337
320
  */
338
321
  public focus(): void {
339
- if (this.ownerDocument['_activeElement'] === this || !this.isConnected) {
340
- return;
341
- }
342
-
343
- if (this.ownerDocument['_activeElement'] !== null) {
344
- this.ownerDocument['_activeElement'].blur();
345
- }
346
-
347
- this.ownerDocument['_activeElement'] = this;
348
-
349
- this.dispatchEvent(
350
- new FocusEvent('focus', {
351
- bubbles: false,
352
- composed: true
353
- })
354
- );
355
- this.dispatchEvent(
356
- new FocusEvent('focusin', {
357
- bubbles: true,
358
- composed: true
359
- })
360
- );
322
+ HTMLElementUtility.focus(this);
361
323
  }
362
324
 
363
325
  /**
@@ -0,0 +1,64 @@
1
+ import FocusEvent from '../../event/events/FocusEvent';
2
+ import IHTMLElement from '../html-element/IHTMLElement';
3
+ import ISVGElement from '../svg-element/ISVGElement';
4
+
5
+ /**
6
+ * HTMLElement utility.
7
+ */
8
+ export default class HTMLElementUtility {
9
+ /**
10
+ * Triggers a blur event.
11
+ *
12
+ * @param element Element.
13
+ */
14
+ public static blur(element: IHTMLElement | ISVGElement): void {
15
+ if (element.ownerDocument['_activeElement'] !== element || !element.isConnected) {
16
+ return;
17
+ }
18
+
19
+ element.ownerDocument['_activeElement'] = null;
20
+
21
+ element.dispatchEvent(
22
+ new FocusEvent('blur', {
23
+ bubbles: false,
24
+ composed: true
25
+ })
26
+ );
27
+ element.dispatchEvent(
28
+ new FocusEvent('focusout', {
29
+ bubbles: true,
30
+ composed: true
31
+ })
32
+ );
33
+ }
34
+
35
+ /**
36
+ * Triggers a focus event.
37
+ *
38
+ * @param element Element.
39
+ */
40
+ public static focus(element: IHTMLElement | ISVGElement): void {
41
+ if (element.ownerDocument['_activeElement'] === element || !element.isConnected) {
42
+ return;
43
+ }
44
+
45
+ if (element.ownerDocument['_activeElement'] !== null) {
46
+ element.ownerDocument['_activeElement'].blur();
47
+ }
48
+
49
+ element.ownerDocument['_activeElement'] = element;
50
+
51
+ element.dispatchEvent(
52
+ new FocusEvent('focus', {
53
+ bubbles: false,
54
+ composed: true
55
+ })
56
+ );
57
+ element.dispatchEvent(
58
+ new FocusEvent('focusin', {
59
+ bubbles: true,
60
+ composed: true
61
+ })
62
+ );
63
+ }
64
+ }
@@ -13,6 +13,7 @@ export default interface ISVGElement extends IElement {
13
13
  readonly ownerSVGElement: ISVGSVGElement;
14
14
  readonly dataset: { [key: string]: string };
15
15
  readonly style: CSSStyleDeclaration;
16
+ tabIndex: number;
16
17
 
17
18
  // Events
18
19
  onabort: (event: Event) => void | null;
@@ -21,4 +22,14 @@ export default interface ISVGElement extends IElement {
21
22
  onresize: (event: Event) => void | null;
22
23
  onscroll: (event: Event) => void | null;
23
24
  onunload: (event: Event) => void | null;
25
+
26
+ /**
27
+ * Triggers a blur event.
28
+ */
29
+ blur(): void;
30
+
31
+ /**
32
+ * Triggers a focus event.
33
+ */
34
+ focus(): void;
24
35
  }
@@ -5,6 +5,7 @@ import ISVGSVGElement from './ISVGSVGElement';
5
5
  import IAttr from '../attr/IAttr';
6
6
  import Event from '../../event/Event';
7
7
  import Dataset from '../element/Dataset';
8
+ import HTMLElementUtility from '../html-element/HTMLElementUtility';
8
9
 
9
10
  /**
10
11
  * SVG Element.
@@ -21,6 +22,7 @@ export default class SVGElement extends Element implements ISVGElement {
21
22
  public onscroll: (event: Event) => void | null = null;
22
23
  public onunload: (event: Event) => void | null = null;
23
24
 
25
+ // Private properties
24
26
  private _style: CSSStyleDeclaration = null;
25
27
  private _dataset: Dataset = null;
26
28
 
@@ -71,6 +73,43 @@ export default class SVGElement extends Element implements ISVGElement {
71
73
  return this._style;
72
74
  }
73
75
 
76
+ /**
77
+ * Returns tab index.
78
+ *
79
+ * @returns Tab index.
80
+ */
81
+ public get tabIndex(): number {
82
+ const tabIndex = this.getAttribute('tabindex');
83
+ return tabIndex !== null ? Number(tabIndex) : -1;
84
+ }
85
+
86
+ /**
87
+ * Returns tab index.
88
+ *
89
+ * @param tabIndex Tab index.
90
+ */
91
+ public set tabIndex(tabIndex: number) {
92
+ if (tabIndex === -1) {
93
+ this.removeAttribute('tabindex');
94
+ } else {
95
+ this.setAttribute('tabindex', String(tabIndex));
96
+ }
97
+ }
98
+
99
+ /**
100
+ * Triggers a blur event.
101
+ */
102
+ public blur(): void {
103
+ HTMLElementUtility.blur(this);
104
+ }
105
+
106
+ /**
107
+ * Triggers a focus event.
108
+ */
109
+ public focus(): void {
110
+ HTMLElementUtility.focus(this);
111
+ }
112
+
74
113
  /**
75
114
  * @override
76
115
  */