happy-dom 9.8.4 → 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.
- package/lib/nodes/html-element/HTMLElement.d.ts.map +1 -1
- package/lib/nodes/html-element/HTMLElement.js +3 -28
- package/lib/nodes/html-element/HTMLElement.js.map +1 -1
- package/lib/nodes/html-element/HTMLElementUtility.d.ts +20 -0
- package/lib/nodes/html-element/HTMLElementUtility.d.ts.map +1 -0
- package/lib/nodes/html-element/HTMLElementUtility.js +54 -0
- package/lib/nodes/html-element/HTMLElementUtility.js.map +1 -0
- package/lib/nodes/svg-element/ISVGElement.d.ts +9 -0
- package/lib/nodes/svg-element/ISVGElement.d.ts.map +1 -1
- package/lib/nodes/svg-element/SVGElement.d.ts +20 -0
- package/lib/nodes/svg-element/SVGElement.d.ts.map +1 -1
- package/lib/nodes/svg-element/SVGElement.js +36 -0
- package/lib/nodes/svg-element/SVGElement.js.map +1 -1
- package/package.json +1 -1
- package/src/nodes/html-element/HTMLElement.ts +3 -41
- package/src/nodes/html-element/HTMLElementUtility.ts +64 -0
- package/src/nodes/svg-element/ISVGElement.ts +11 -0
- package/src/nodes/svg-element/SVGElement.ts +39 -0
@@ -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;
|
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
|
-
|
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
|
-
|
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":";;;;;AAAA,iEAAyC;AAEzC,oGAA4E;AAE5E
|
1
|
+
{"version":3,"file":"HTMLElement.js","sourceRoot":"","sources":["../../../src/nodes/html-element/HTMLElement.ts"],"names":[],"mappings":";;;;;AAAA,iEAAyC;AAEzC,oGAA4E;AAE5E,mFAA2D;AAC3D,iEAAyC;AACzC,wEAAgD;AAChD,gFAAwD;AAExD,8EAAsD;AAEtD;;;;;GAKG;AACH,MAAqB,WAAY,SAAQ,iBAAO;IAAhD;;QACiB,cAAS,GAAG,EAAE,CAAC;QACf,mBAAc,GAAG,EAAE,CAAC;QACpB,oBAAe,GAAG,SAAS,CAAC;QAC5B,sBAAiB,GAAG,KAAK,CAAC;QAC1B,iBAAY,GAAG,CAAC,CAAC;QACjB,gBAAW,GAAG,CAAC,CAAC;QAChB,eAAU,GAAG,CAAC,CAAC;QACf,cAAS,GAAG,CAAC,CAAC;QACd,iBAAY,GAAG,CAAC,CAAC;QACjB,gBAAW,GAAG,CAAC,CAAC;QAExB,WAAM,GAAwB,IAAI,CAAC;QACnC,aAAQ,GAAY,IAAI,CAAC;QAEjC,SAAS;QACF,WAAM,GAAkC,IAAI,CAAC;QAC7C,UAAK,GAAkC,IAAI,CAAC;QAC5C,YAAO,GAAkC,IAAI,CAAC;QAC9C,cAAS,GAAkC,IAAI,CAAC;QAChD,sBAAiB,GAAkC,IAAI,CAAC;QACxD,mBAAc,GAAkC,IAAI,CAAC;QACrD,yBAAoB,GAAkC,IAAI,CAAC;QAC3D,qBAAgB,GAAkC,IAAI,CAAC;QACvD,kBAAa,GAAkC,IAAI,CAAC;QACpD,YAAO,GAAkC,IAAI,CAAC;QAC9C,aAAQ,GAAkC,IAAI,CAAC;QAC/C,wBAAmB,GAAkC,IAAI,CAAC;QAC1D,yBAAoB,GAAkC,IAAI,CAAC;QAC3D,oBAAe,GAAkC,IAAI,CAAC;QACtD,kBAAa,GAAkC,IAAI,CAAC;QACpD,mBAAc,GAAkC,IAAI,CAAC;QACrD,mBAAc,GAAkC,IAAI,CAAC;QACrD,kBAAa,GAAkC,IAAI,CAAC;QACpD,iBAAY,GAAkC,IAAI,CAAC;QACnD,kBAAa,GAAkC,IAAI,CAAC;QACpD,gBAAW,GAAkC,IAAI,CAAC;QAClD,uBAAkB,GAAkC,IAAI,CAAC;QACzD,oBAAe,GAAkC,IAAI,CAAC;QACtD,oBAAe,GAAkC,IAAI,CAAC;QACtD,sBAAiB,GAAkC,IAAI,CAAC;IAsThE,CAAC;IApTA;;;;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;;;;;OAKG;IACH,IAAW,SAAS;QACnB,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YACtB,OAAO,IAAI,CAAC,WAAW,CAAC;SACxB;QAED,IAAI,MAAM,GAAG,EAAE,CAAC;QAEhB,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,UAAU,EAAE;YACxC,IAAI,SAAS,CAAC,QAAQ,KAAK,sBAAY,CAAC,WAAW,EAAE;gBACpD,MAAM,YAAY,GAAiB,SAAS,CAAC;gBAC7C,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC;gBAEpF,IAAI,YAAY,CAAC,OAAO,KAAK,QAAQ,IAAI,YAAY,CAAC,OAAO,KAAK,OAAO,EAAE;oBAC1E,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC;oBACtC,IAAI,OAAO,KAAK,MAAM,EAAE;wBACvB,MAAM,aAAa,GAAG,aAAa,CAAC,aAAa,CAAC;wBAElD,IAAI,CAAC,OAAO,KAAK,OAAO,IAAI,OAAO,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE;4BAC1D,MAAM,IAAI,IAAI,CAAC;yBACf;wBAED,IAAI,IAAI,GAAG,YAAY,CAAC,SAAS,CAAC;wBAElC,QAAQ,aAAa,EAAE;4BACtB,KAAK,WAAW;gCACf,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;gCAC1B,MAAM;4BACP,KAAK,WAAW;gCACf,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;gCAC1B,MAAM;4BACP,KAAK,YAAY;gCAChB,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;gCACzD,MAAM;yBACP;wBAED,MAAM,IAAI,IAAI,CAAC;qBACf;iBACD;aACD;iBAAM,IAAI,SAAS,CAAC,QAAQ,KAAK,sBAAY,CAAC,QAAQ,EAAE;gBACxD,MAAM,IAAI,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;aACtD;SACD;QAED,OAAO,MAAM,CAAC;IACf,CAAC;IAED;;;;;OAKG;IACH,IAAW,SAAS,CAAC,IAAY;QAChC,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE;YAC5C,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;SACxB;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAEnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;YACjD,IAAI,CAAC,KAAK,CAAC,EAAE;gBACZ,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;aACzD;YACD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SAC9D;IACF,CAAC;IAED;;;;;OAKG;IACH,IAAW,SAAS;QACnB,OAAO,IAAI,CAAC,SAAS,CAAC;IACvB,CAAC;IAED;;;;;OAKG;IACH,IAAW,SAAS,CAAC,IAAY;QAChC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YACrB,MAAM,IAAI,sBAAY,CACrB,uFAAuF,CACvF,CAAC;SACF;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAEnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;YACjD,IAAI,CAAC,KAAK,CAAC,EAAE;gBACZ,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;aAC3E;YACD,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;SAChF;QAED,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACnC,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;;;;;OAKG;IACH,IAAW,KAAK,CAAC,OAAqC;QACrD,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAS,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IACzE,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,GAAG;QACb,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;IACvC,CAAC;IAED;;;;OAIG;IACH,IAAW,GAAG,CAAC,SAAiB;QAC/B,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IACrC,CAAC;IAED;;;;OAIG;IACH,IAAW,MAAM;QAChB,OAAO,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC;IAC7C,CAAC;IAED;;;;OAIG;IACH,IAAW,MAAM,CAAC,MAAe;QAChC,IAAI,CAAC,MAAM,EAAE;YACZ,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;SAC/B;aAAM;YACN,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;SAChC;IACF,CAAC;IAED;;;;OAIG;IACH,IAAW,IAAI;QACd,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IACxC,CAAC;IAED;;;;OAIG;IACH,IAAW,IAAI,CAAC,IAAY;QAC3B,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACjC,CAAC;IAED;;;;OAIG;IACH,IAAW,KAAK;QACf,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;IACzC,CAAC;IAED;;;;OAIG;IACH,IAAW,KAAK,CAAC,KAAa;QAC7B,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACnC,CAAC;IAED;;OAEG;IACI,KAAK;QACX,MAAM,KAAK,GAAG,IAAI,sBAAY,CAAC,OAAO,EAAE;YACvC,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,IAAI;SACd,CAAC,CAAC;QACH,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC;QACrB,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC3B,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;IAED;;OAEG;IACI,SAAS,CAAC,IAAI,GAAG,KAAK;QAC5B,MAAM,KAAK,GAAgB,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAExC,KAAK,CAAC,SAAU,GAAG,IAAI,CAAC,SAAS,CAAC;QAClC,KAAK,CAAC,cAAe,GAAG,IAAI,CAAC,cAAc,CAAC;QAC5C,KAAK,CAAC,eAAgB,GAAG,IAAI,CAAC,eAAe,CAAC;QAC7C,KAAK,CAAC,iBAAkB,GAAG,IAAI,CAAC,iBAAiB,CAAC;QAE5D,IAAI,IAAI,CAAC,MAAM,EAAE;YAChB,KAAK,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;SAC1C;QAED,OAAO,KAAK,CAAC;IACd,CAAC;CACD;AA9VD,8BA8VC"}
|
@@ -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;
|
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;
|
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;
|
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
@@ -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
|
-
|
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
|
-
|
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
|
*/
|