happy-dom 5.0.0 → 5.3.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.

Files changed (77) hide show
  1. package/lib/config/ElementTag.d.ts +6 -3
  2. package/lib/config/ElementTag.js +6 -3
  3. package/lib/config/ElementTag.js.map +1 -1
  4. package/lib/config/NonImplemenetedElementClasses.js +0 -3
  5. package/lib/config/NonImplemenetedElementClasses.js.map +1 -1
  6. package/lib/dom-token-list/DOMTokenList.d.ts +4 -0
  7. package/lib/dom-token-list/DOMTokenList.js +6 -0
  8. package/lib/dom-token-list/DOMTokenList.js.map +1 -1
  9. package/lib/dom-token-list/IDOMTokenList.d.ts +1 -0
  10. package/lib/exception/DOMExceptionNameEnum.d.ts +2 -1
  11. package/lib/exception/DOMExceptionNameEnum.js +1 -0
  12. package/lib/exception/DOMExceptionNameEnum.js.map +1 -1
  13. package/lib/nodes/html-input-element/HTMLInputElement.d.ts +1 -1
  14. package/lib/nodes/html-input-element/HTMLInputElement.js +1 -1
  15. package/lib/nodes/html-input-element/HTMLInputElement.js.map +1 -1
  16. package/lib/nodes/html-input-element/IHTMLInputElement.d.ts +1 -1
  17. package/lib/nodes/html-opt-group-element/HTMLOptGroupElement.d.ts +34 -0
  18. package/lib/nodes/html-opt-group-element/HTMLOptGroupElement.js +58 -0
  19. package/lib/nodes/html-opt-group-element/HTMLOptGroupElement.js.map +1 -0
  20. package/lib/nodes/html-opt-group-element/IHTMLOptGroupElement.d.ts +11 -0
  21. package/lib/nodes/html-opt-group-element/IHTMLOptGroupElement.js +3 -0
  22. package/lib/nodes/html-opt-group-element/IHTMLOptGroupElement.js.map +1 -0
  23. package/lib/nodes/html-option-element/HTMLOptionElement.d.ts +72 -0
  24. package/lib/nodes/html-option-element/HTMLOptionElement.js +111 -0
  25. package/lib/nodes/html-option-element/HTMLOptionElement.js.map +1 -0
  26. package/lib/nodes/html-option-element/HTMLOptionElementValueSanitizer.d.ts +11 -0
  27. package/lib/nodes/html-option-element/HTMLOptionElementValueSanitizer.js +18 -0
  28. package/lib/nodes/html-option-element/HTMLOptionElementValueSanitizer.js.map +1 -0
  29. package/lib/nodes/html-option-element/HTMLOptionsCollection.d.ts +43 -0
  30. package/lib/nodes/html-option-element/HTMLOptionsCollection.js +80 -0
  31. package/lib/nodes/html-option-element/HTMLOptionsCollection.js.map +1 -0
  32. package/lib/nodes/html-option-element/IHTMLOptionElement.d.ts +16 -0
  33. package/lib/nodes/html-option-element/IHTMLOptionElement.js +3 -0
  34. package/lib/nodes/html-option-element/IHTMLOptionElement.js.map +1 -0
  35. package/lib/nodes/html-option-element/IHTMLOptionsCollection.d.ts +26 -0
  36. package/lib/nodes/html-option-element/IHTMLOptionsCollection.js +3 -0
  37. package/lib/nodes/html-option-element/IHTMLOptionsCollection.js.map +1 -0
  38. package/lib/nodes/html-select-element/HTMLSelectElement.d.ts +128 -0
  39. package/lib/nodes/html-select-element/HTMLSelectElement.js +215 -0
  40. package/lib/nodes/html-select-element/HTMLSelectElement.js.map +1 -0
  41. package/lib/nodes/html-select-element/HTMLSelectElementValueSanitizer.d.ts +11 -0
  42. package/lib/nodes/html-select-element/HTMLSelectElementValueSanitizer.js +18 -0
  43. package/lib/nodes/html-select-element/HTMLSelectElementValueSanitizer.js.map +1 -0
  44. package/lib/nodes/html-select-element/IHTMLSelectElement.d.ts +26 -0
  45. package/lib/nodes/html-select-element/IHTMLSelectElement.js +3 -0
  46. package/lib/nodes/html-select-element/IHTMLSelectElement.js.map +1 -0
  47. package/lib/nodes/{html-input-element → validity-state}/ValidityState.d.ts +3 -2
  48. package/lib/nodes/{html-input-element → validity-state}/ValidityState.js +12 -2
  49. package/lib/nodes/validity-state/ValidityState.js.map +1 -0
  50. package/lib/window/Window.d.ts +2 -0
  51. package/lib/window/Window.js +4 -0
  52. package/lib/window/Window.js.map +1 -1
  53. package/lib/window/WindowBase64.d.ts +19 -0
  54. package/lib/window/WindowBase64.js +88 -0
  55. package/lib/window/WindowBase64.js.map +1 -0
  56. package/package.json +2 -2
  57. package/src/config/ElementTag.ts +6 -3
  58. package/src/config/NonImplemenetedElementClasses.ts +0 -3
  59. package/src/dom-token-list/DOMTokenList.ts +7 -0
  60. package/src/dom-token-list/IDOMTokenList.ts +1 -0
  61. package/src/exception/DOMExceptionNameEnum.ts +2 -1
  62. package/src/nodes/html-input-element/HTMLInputElement.ts +1 -1
  63. package/src/nodes/html-input-element/IHTMLInputElement.ts +1 -1
  64. package/src/nodes/html-opt-group-element/HTMLOptGroupElement.ts +54 -0
  65. package/src/nodes/html-opt-group-element/IHTMLOptGroupElement.ts +12 -0
  66. package/src/nodes/html-option-element/HTMLOptionElement.ts +117 -0
  67. package/src/nodes/html-option-element/HTMLOptionElementValueSanitizer.ts +15 -0
  68. package/src/nodes/html-option-element/HTMLOptionsCollection.ts +94 -0
  69. package/src/nodes/html-option-element/IHTMLOptionElement.ts +17 -0
  70. package/src/nodes/html-option-element/IHTMLOptionsCollection.ts +33 -0
  71. package/src/nodes/html-select-element/HTMLSelectElement.ts +239 -0
  72. package/src/nodes/html-select-element/HTMLSelectElementValueSanitizer.ts +15 -0
  73. package/src/nodes/html-select-element/IHTMLSelectElement.ts +27 -0
  74. package/src/nodes/{html-input-element → validity-state}/ValidityState.ts +13 -5
  75. package/src/window/Window.ts +5 -0
  76. package/src/window/WindowBase64.ts +95 -0
  77. package/lib/nodes/html-input-element/ValidityState.js.map +0 -1
@@ -112,6 +112,7 @@ const VMGlobalPropertyScript_1 = __importDefault(require("./VMGlobalPropertyScri
112
112
  const PerfHooks = __importStar(require("perf_hooks"));
113
113
  const vm_1 = __importDefault(require("vm"));
114
114
  const buffer_1 = require("buffer");
115
+ const WindowBase64_1 = require("./WindowBase64");
115
116
  /**
116
117
  * Browser window.
117
118
  *
@@ -232,6 +233,9 @@ class Window extends EventTarget_1.default {
232
233
  this.sessionStorage = new Storage_1.default();
233
234
  this.localStorage = new Storage_1.default();
234
235
  this.performance = PerfHooks.performance;
236
+ // Atob & btoa
237
+ this.atob = WindowBase64_1.atob;
238
+ this.btoa = WindowBase64_1.btoa;
235
239
  this.Buffer = buffer_1.Buffer;
236
240
  // Private properties
237
241
  this._setTimeout = setTimeout;
@@ -1 +1 @@
1
- {"version":3,"file":"Window.js","sourceRoot":"","sources":["../../src/window/Window.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Window.js","sourceRoot":"","sources":["../../src/window/Window.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Btoa.
3
+ *
4
+ * Reference:
5
+ * https://developer.mozilla.org/en-US/docs/Web/API/btoa.
6
+ *
7
+ * @param data
8
+ */
9
+ export declare const btoa: (data: unknown) => string;
10
+ /**
11
+ * Atob.
12
+ *
13
+ * Reference:
14
+ * https://infra.spec.whatwg.org/#forgiving-base64-encode.
15
+ * Https://html.spec.whatwg.org/multipage/webappapis.html#btoa.
16
+ *
17
+ * @param data
18
+ */
19
+ export declare const atob: (data: unknown) => string;
@@ -0,0 +1,88 @@
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
+ exports.atob = exports.btoa = void 0;
7
+ const DOMException_1 = __importDefault(require("../exception/DOMException"));
8
+ const DOMExceptionNameEnum_1 = __importDefault(require("../exception/DOMExceptionNameEnum"));
9
+ const base64list = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';
10
+ /**
11
+ * Btoa.
12
+ *
13
+ * Reference:
14
+ * https://developer.mozilla.org/en-US/docs/Web/API/btoa.
15
+ *
16
+ * @param data
17
+ */
18
+ const btoa = (data) => {
19
+ const str = data.toString();
20
+ if (/[^\u0000-\u00ff]/.test(str)) {
21
+ throw new DOMException_1.default("Failed to execute 'btoa' on 'Window': The string to be encoded contains characters outside of the Latin1 range.", DOMExceptionNameEnum_1.default.invalidCharacterError);
22
+ }
23
+ let t = '';
24
+ let p = -6;
25
+ let a = 0;
26
+ let i = 0;
27
+ let v = 0;
28
+ let c;
29
+ while (i < str.length || p > -6) {
30
+ if (p < 0) {
31
+ if (i < str.length) {
32
+ c = str.charCodeAt(i++);
33
+ v += 8;
34
+ }
35
+ else {
36
+ c = 0;
37
+ }
38
+ a = ((a & 255) << 8) | (c & 255);
39
+ p += 8;
40
+ }
41
+ t += base64list.charAt(v > 0 ? (a >> p) & 63 : 64);
42
+ p -= 6;
43
+ v -= 6;
44
+ }
45
+ return t;
46
+ };
47
+ exports.btoa = btoa;
48
+ /**
49
+ * Atob.
50
+ *
51
+ * Reference:
52
+ * https://infra.spec.whatwg.org/#forgiving-base64-encode.
53
+ * Https://html.spec.whatwg.org/multipage/webappapis.html#btoa.
54
+ *
55
+ * @param data
56
+ */
57
+ const atob = (data) => {
58
+ const str = data.toString();
59
+ if (/[^\u0000-\u00ff]/.test(str)) {
60
+ throw new DOMException_1.default("Failed to execute 'atob' on 'Window': The string to be decoded contains characters outside of the Latin1 range.", DOMExceptionNameEnum_1.default.invalidCharacterError);
61
+ }
62
+ if (/[^A-Za-z\d+/=]/.test(str) || str.length % 4 == 1) {
63
+ throw new DOMException_1.default("Failed to execute 'atob' on 'Window': The string to be decoded is not correctly encoded.", DOMExceptionNameEnum_1.default.invalidCharacterError);
64
+ }
65
+ let t = '';
66
+ let p = -8;
67
+ let a = 0;
68
+ let c;
69
+ let d;
70
+ for (let i = 0; i < str.length; i++) {
71
+ if ((c = base64list.indexOf(str.charAt(i))) < 0) {
72
+ continue;
73
+ }
74
+ a = (a << 6) | (c & 63);
75
+ if ((p += 6) >= 0) {
76
+ d = (a >> p) & 255;
77
+ if (c !== 64) {
78
+ t += String.fromCharCode(d);
79
+ }
80
+ a &= 63;
81
+ p -= 8;
82
+ }
83
+ }
84
+ return t;
85
+ };
86
+ exports.atob = atob;
87
+ exports = { btoa: exports.btoa, atob: exports.atob };
88
+ //# sourceMappingURL=WindowBase64.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WindowBase64.js","sourceRoot":"","sources":["../../src/window/WindowBase64.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "happy-dom",
3
- "version": "5.0.0",
3
+ "version": "5.3.0",
4
4
  "license": "MIT",
5
5
  "homepage": "https://github.com/capricorn86/happy-dom",
6
6
  "repository": "https://github.com/capricorn86/happy-dom",
@@ -75,5 +75,5 @@
75
75
  "ts-jest": "^27.1.3",
76
76
  "typescript": "^4.6.2"
77
77
  },
78
- "gitHead": "e03f0cc583353f99f0341127dac364ea6ba01297"
78
+ "gitHead": "bea5ee66d4bdeb806c6f452690fef1aa744039d9"
79
79
  }
@@ -13,6 +13,9 @@ import HTMLLabelElement from '../nodes/html-label-element/HTMLLabelElement';
13
13
  import HTMLSlotElement from '../nodes/html-slot-element/HTMLSlotElement';
14
14
  import HTMLMetaElement from '../nodes/html-meta-element/HTMLMetaElement';
15
15
  import HTMLBaseElement from '../nodes/html-base-element/HTMLBaseElement';
16
+ import HTMLSelectElement from '../nodes/html-select-element/HTMLSelectElement';
17
+ import HTMLOptionElement from '../nodes/html-option-element/HTMLOptionElement';
18
+ import HTMLOptGroupElement from '../nodes/html-opt-group-element/HTMLOptGroupElement';
16
19
 
17
20
  export default {
18
21
  A: HTMLElement,
@@ -102,8 +105,8 @@ export default {
102
105
  NOSCRIPT: HTMLElement,
103
106
  OBJECT: HTMLElement,
104
107
  OL: HTMLElement,
105
- OPTGROUP: HTMLElement,
106
- OPTION: HTMLElement,
108
+ OPTGROUP: HTMLOptGroupElement,
109
+ OPTION: HTMLOptionElement,
107
110
  OUTPUT: HTMLElement,
108
111
  P: HTMLElement,
109
112
  PARAM: HTMLElement,
@@ -119,7 +122,7 @@ export default {
119
122
  S: HTMLElement,
120
123
  SAMP: HTMLElement,
121
124
  SECTION: HTMLElement,
122
- SELECT: HTMLElement,
125
+ SELECT: HTMLSelectElement,
123
126
  SMALL: HTMLElement,
124
127
  SOURCE: HTMLElement,
125
128
  SPAN: HTMLElement,
@@ -32,13 +32,10 @@ export default [
32
32
  'HTMLMediaElement',
33
33
  'HTMLMeterElement',
34
34
  'HTMLModElement',
35
- 'HTMLOptGroupElement',
36
- 'HTMLOptionElement',
37
35
  'HTMLOutputElement',
38
36
  'HTMLPictureElement',
39
37
  'HTMLProgressElement',
40
38
  'HTMLQuoteElement',
41
- 'HTMLSelectElement',
42
39
  'HTMLSourceElement',
43
40
  'HTMLSpanElement',
44
41
  'HTMLTableCaptionElement',
@@ -212,4 +212,11 @@ export default class DOMTokenList implements IDOMTokenList {
212
212
 
213
213
  (<number>this.length) = list.length;
214
214
  }
215
+
216
+ /**
217
+ * Returns DOMTokenList value.
218
+ */
219
+ public toString(): string {
220
+ return this.value || '';
221
+ }
215
222
  }
@@ -16,4 +16,5 @@ export default interface IDOMTokenList {
16
16
  entries(): IterableIterator<[number, string]>;
17
17
  forEach(callback: (currentValue, currentIndex, listObj) => void, thisArg?: this): void;
18
18
  keys(): IterableIterator<number>;
19
+ toString(): string;
19
20
  }
@@ -2,6 +2,7 @@ enum DOMExceptionNameEnum {
2
2
  invalidStateError = 'InvalidStateError',
3
3
  indexSizeError = 'IndexSizeError',
4
4
  syntaxError = 'SyntaxError',
5
- hierarchyRequestError = 'HierarchyRequestError'
5
+ hierarchyRequestError = 'HierarchyRequestError',
6
+ invalidCharacterError = 'InvalidCharacterError'
6
7
  }
7
8
  export default DOMExceptionNameEnum;
@@ -1,6 +1,6 @@
1
1
  import File from '../../file/File';
2
2
  import HTMLElement from '../html-element/HTMLElement';
3
- import ValidityState from './ValidityState';
3
+ import ValidityState from '../validity-state/ValidityState';
4
4
  import DOMException from '../../exception/DOMException';
5
5
  import DOMExceptionNameEnum from '../../exception/DOMExceptionNameEnum';
6
6
  import Event from '../../event/Event';
@@ -2,7 +2,7 @@ import File from '../../file/File';
2
2
  import IHTMLElement from '../html-element/IHTMLElement';
3
3
  import IHTMLFormElement from '../html-form-element/IHTMLFormElement';
4
4
  import HTMLInputElementSelectionModeEnum from './HTMLInputElementSelectionModeEnum';
5
- import ValidityState from './ValidityState';
5
+ import ValidityState from '../validity-state/ValidityState';
6
6
 
7
7
  /**
8
8
  * HTML Input Element.
@@ -0,0 +1,54 @@
1
+ import HTMLElement from '../html-element/HTMLElement';
2
+ import IHTMLOptGroupElement from './IHTMLOptGroupElement';
3
+
4
+ /**
5
+ * HTML Opt Group Element.
6
+ *
7
+ * Reference:
8
+ * https://developer.mozilla.org/en-US/docs/Web/API/HTMLOptGroupElement.
9
+ */
10
+ export default class HTMLOptGroupElement extends HTMLElement implements IHTMLOptGroupElement {
11
+ /**
12
+ * Returns label.
13
+ *
14
+ * @returns Label.
15
+ */
16
+ public get label(): string {
17
+ return this.getAttributeNS(null, 'label') || '';
18
+ }
19
+
20
+ /**
21
+ * Sets label.
22
+ *
23
+ * @param label Label.
24
+ */
25
+ public set label(label: string) {
26
+ if (!label) {
27
+ this.removeAttributeNS(null, 'label');
28
+ } else {
29
+ this.setAttributeNS(null, 'label', label);
30
+ }
31
+ }
32
+
33
+ /**
34
+ * Returns disabled.
35
+ *
36
+ * @returns Disabled.
37
+ */
38
+ public get disabled(): boolean {
39
+ return this.getAttributeNS(null, 'disabled') !== null;
40
+ }
41
+
42
+ /**
43
+ * Sets disabled.
44
+ *
45
+ * @param disabled Disabled.
46
+ */
47
+ public set disabled(disabled: boolean) {
48
+ if (!disabled) {
49
+ this.removeAttributeNS(null, 'disabled');
50
+ } else {
51
+ this.setAttributeNS(null, 'disabled', '');
52
+ }
53
+ }
54
+ }
@@ -0,0 +1,12 @@
1
+ import IHTMLElement from '../html-element/IHTMLElement';
2
+
3
+ /**
4
+ * HTML Opt Group Element.
5
+ *
6
+ * Reference:
7
+ * https://developer.mozilla.org/en-US/docs/Web/API/HTMLOptGroupElement.
8
+ */
9
+ export default interface IHTMLOptGroupElement extends IHTMLElement {
10
+ disabled: boolean;
11
+ label: string;
12
+ }
@@ -0,0 +1,117 @@
1
+ import HTMLElement from '../html-element/HTMLElement';
2
+ import IHTMLElement from '../html-element/IHTMLElement';
3
+ import IHTMLFormElement from '../html-form-element/IHTMLFormElement';
4
+ import HTMLOptionElementValueSanitizer from './HTMLOptionElementValueSanitizer';
5
+ import IHTMLOptionElement from './IHTMLOptionElement';
6
+
7
+ /**
8
+ * HTML Option Element.
9
+ *
10
+ * Reference:
11
+ * https://developer.mozilla.org/en-US/docs/Web/API/HTMLOptionElement.
12
+ */
13
+ export default class HTMLOptionElement extends HTMLElement implements IHTMLOptionElement {
14
+ public _index: number;
15
+
16
+ /**
17
+ * Returns inner text, which is the rendered appearance of text.
18
+ *
19
+ * @returns Inner text.
20
+ */
21
+ public get text(): string {
22
+ return this.innerText;
23
+ }
24
+
25
+ /**
26
+ * Sets the inner text, which is the rendered appearance of text.
27
+ *
28
+ * @param innerText Inner text.
29
+ */
30
+ public set text(text: string) {
31
+ this.innerText = text;
32
+ }
33
+
34
+ /**
35
+ * Returns index.
36
+ *
37
+ * @returns Index.
38
+ */
39
+ public get index(): number {
40
+ return this._index;
41
+ }
42
+
43
+ /**
44
+ * Returns the parent form element.
45
+ *
46
+ * @returns Form.
47
+ */
48
+ public get form(): IHTMLFormElement {
49
+ let parent = <IHTMLElement>this.parentNode;
50
+ while (parent && parent.tagName !== 'FORM') {
51
+ parent = <IHTMLElement>parent.parentNode;
52
+ }
53
+ return <IHTMLFormElement>parent;
54
+ }
55
+
56
+ /**
57
+ * Returns selected.
58
+ *
59
+ * @returns Selected.
60
+ */
61
+ public get selected(): boolean {
62
+ return this.getAttributeNS(null, 'selected') !== null;
63
+ }
64
+
65
+ /**
66
+ * Sets selected.
67
+ *
68
+ * @param selected Selected.
69
+ */
70
+ public set selected(selected: boolean) {
71
+ if (!selected) {
72
+ this.removeAttributeNS(null, 'selected');
73
+ } else {
74
+ this.setAttributeNS(null, 'selected', '');
75
+ }
76
+ }
77
+
78
+ /**
79
+ * Returns disabled.
80
+ *
81
+ * @returns Disabled.
82
+ */
83
+ public get disabled(): boolean {
84
+ return this.getAttributeNS(null, 'disabled') !== null;
85
+ }
86
+
87
+ /**
88
+ * Sets disabled.
89
+ *
90
+ * @param disabled Disabled.
91
+ */
92
+ public set disabled(disabled: boolean) {
93
+ if (!disabled) {
94
+ this.removeAttributeNS(null, 'disabled');
95
+ } else {
96
+ this.setAttributeNS(null, 'disabled', '');
97
+ }
98
+ }
99
+
100
+ /**
101
+ * Returns value.
102
+ *
103
+ * @returns Value.
104
+ */
105
+ public get value(): string {
106
+ return this.getAttributeNS(null, 'value') || '';
107
+ }
108
+
109
+ /**
110
+ * Sets value.
111
+ *
112
+ * @param value Value.
113
+ */
114
+ public set value(value: string) {
115
+ this.setAttributeNS(null, 'value', HTMLOptionElementValueSanitizer.sanitize(value));
116
+ }
117
+ }
@@ -0,0 +1,15 @@
1
+ const NEW_LINES_REGEXP = /[\n\r]/gm;
2
+
3
+ /**
4
+ * HTML select element value sanitizer.
5
+ */
6
+ export default class HTMLOptionElementValueSanitizer {
7
+ /**
8
+ * Sanitizes a value.
9
+ *
10
+ * @param value Value.
11
+ */
12
+ public static sanitize(value: string): string {
13
+ return value.trim().replace(NEW_LINES_REGEXP, '');
14
+ }
15
+ }
@@ -0,0 +1,94 @@
1
+ import DOMException from '../../exception/DOMException';
2
+ import HTMLCollection from '../element/HTMLCollection';
3
+ import HTMLOptGroupElement from '../html-opt-group-element/HTMLOptGroupElement';
4
+ import HTMLOptionElement from './HTMLOptionElement';
5
+ import IHTMLOptionsCollection from './IHTMLOptionsCollection';
6
+
7
+ /**
8
+ * HTML Options Collection.
9
+ *
10
+ * Reference:
11
+ * https://developer.mozilla.org/en-US/docs/Web/API/HTMLOptionsCollection.
12
+ */
13
+ export default class HTMLOptionsCollection
14
+ extends HTMLCollection
15
+ implements IHTMLOptionsCollection
16
+ {
17
+ public _selectedIndex: number;
18
+
19
+ /**
20
+ * Returns selectedIndex.
21
+ *
22
+ * @returns SelectedIndex.
23
+ */
24
+ public get selectedIndex(): number {
25
+ return this._selectedIndex;
26
+ }
27
+
28
+ /**
29
+ * Sets selectedIndex.
30
+ *
31
+ * @param selectedIndex SelectedIndex.
32
+ */
33
+ public set selectedIndex(selectedIndex: number) {
34
+ this._selectedIndex = selectedIndex;
35
+ }
36
+
37
+ /**
38
+ * Returns item by index.
39
+ *
40
+ * @param index Index.
41
+ */
42
+ public item(index: number): HTMLOptionElement | HTMLOptGroupElement {
43
+ return this[index];
44
+ }
45
+
46
+ /**
47
+ *
48
+ * @param element
49
+ * @param before
50
+ */
51
+ public add(
52
+ element: HTMLOptionElement | HTMLOptGroupElement,
53
+ before?: number | HTMLOptionElement | HTMLOptGroupElement
54
+ ): void {
55
+ if (!before && before !== 0) {
56
+ this.push(element);
57
+ return;
58
+ }
59
+
60
+ if (!Number.isNaN(Number(before))) {
61
+ if (before < 0) {
62
+ return;
63
+ }
64
+
65
+ this.splice(<number>before, 0, element);
66
+ return;
67
+ }
68
+
69
+ const idx = this.findIndex((element) => element === before);
70
+ if (idx === -1) {
71
+ throw new DOMException(
72
+ "Failed to execute 'add' on 'DOMException': The node before which the new node is to be inserted is not a child of this node."
73
+ );
74
+ }
75
+
76
+ this.splice(idx, 0, element);
77
+ }
78
+
79
+ /**
80
+ * Removes indexed element from collection.
81
+ *
82
+ * @param index Index.
83
+ */
84
+ public remove(index: number): void {
85
+ this.splice(index, 1);
86
+ if (index === this.selectedIndex) {
87
+ if (this.length) {
88
+ this.selectedIndex = 0;
89
+ } else {
90
+ this.selectedIndex = -1;
91
+ }
92
+ }
93
+ }
94
+ }
@@ -0,0 +1,17 @@
1
+ import IHTMLElement from '../html-element/IHTMLElement';
2
+ import IHTMLFormElement from '../html-form-element/IHTMLFormElement';
3
+
4
+ /**
5
+ * HTML Option Element.
6
+ *
7
+ * Reference:
8
+ * https://developer.mozilla.org/en-US/docs/Web/API/HTMLOptionElement.
9
+ */
10
+ export default interface IHTMLOptionElement extends IHTMLElement {
11
+ readonly form: IHTMLFormElement;
12
+ readonly index: number;
13
+ selected: boolean;
14
+ value: string;
15
+ text: string;
16
+ disabled: boolean;
17
+ }
@@ -0,0 +1,33 @@
1
+ import IHTMLCollection from '../element/IHTMLCollection';
2
+ import IHTMLOptGroupElement from '../html-opt-group-element/IHTMLOptGroupElement';
3
+ import IHTMLOptionElement from './IHTMLOptionElement';
4
+
5
+ /**
6
+ * HTML Options Collection.
7
+ *
8
+ * Reference:
9
+ * https://developer.mozilla.org/en-US/docs/Web/API/HTMLOptionsCollection.
10
+ */
11
+ export default interface IHTMLOptionsCollection
12
+ extends IHTMLCollection<IHTMLOptionElement | IHTMLOptGroupElement> {
13
+ selectedIndex: number;
14
+ length: number;
15
+
16
+ /**
17
+ * Adds new option to collection.
18
+ *
19
+ * @param element HTMLOptionElement or HTMLOptGroupElement to add.
20
+ * @param before HTMLOptionElement or index number.
21
+ */
22
+ add(
23
+ element: IHTMLOptionElement | IHTMLOptGroupElement,
24
+ before?: number | IHTMLOptionElement | IHTMLOptGroupElement
25
+ ): void;
26
+
27
+ /**
28
+ * Removes option element from the collection.
29
+ *
30
+ * @param index Index.
31
+ */
32
+ remove(index: number): void;
33
+ }