happy-dom 7.6.6 → 7.7.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 (35) hide show
  1. package/lib/config/ElementTag.d.ts +2 -1
  2. package/lib/config/ElementTag.js +2 -1
  3. package/lib/config/ElementTag.js.map +1 -1
  4. package/lib/dom-token-list/DOMTokenList.js +1 -1
  5. package/lib/dom-token-list/DOMTokenList.js.map +1 -1
  6. package/lib/nodes/element/Element.d.ts +0 -4
  7. package/lib/nodes/element/Element.js +6 -10
  8. package/lib/nodes/element/Element.js.map +1 -1
  9. package/lib/nodes/html-anchor-element/HTMLAnchorElement.d.ts +250 -0
  10. package/lib/nodes/html-anchor-element/HTMLAnchorElement.js +395 -0
  11. package/lib/nodes/html-anchor-element/HTMLAnchorElement.js.map +1 -0
  12. package/lib/nodes/html-anchor-element/HTMLAnchorElementUtility.d.ts +29 -0
  13. package/lib/nodes/html-anchor-element/HTMLAnchorElementUtility.js +45 -0
  14. package/lib/nodes/html-anchor-element/HTMLAnchorElementUtility.js.map +1 -0
  15. package/lib/nodes/html-anchor-element/IHTMLAnchorElement.d.ts +20 -0
  16. package/lib/nodes/html-anchor-element/IHTMLAnchorElement.js +3 -0
  17. package/lib/nodes/html-anchor-element/IHTMLAnchorElement.js.map +1 -0
  18. package/lib/nodes/html-anchor-element/IHTMLHyperlinkElementUtils.d.ts +19 -0
  19. package/lib/nodes/html-anchor-element/IHTMLHyperlinkElementUtils.js +3 -0
  20. package/lib/nodes/html-anchor-element/IHTMLHyperlinkElementUtils.js.map +1 -0
  21. package/lib/nodes/html-link-element/HTMLLinkElement.d.ts +3 -7
  22. package/lib/nodes/html-link-element/HTMLLinkElement.js +13 -13
  23. package/lib/nodes/html-link-element/HTMLLinkElement.js.map +1 -1
  24. package/lib/nodes/html-option-element/HTMLOptionElement.js +1 -1
  25. package/lib/nodes/html-option-element/HTMLOptionElement.js.map +1 -1
  26. package/package.json +2 -2
  27. package/src/config/ElementTag.ts +2 -1
  28. package/src/dom-token-list/DOMTokenList.ts +1 -1
  29. package/src/nodes/element/Element.ts +6 -11
  30. package/src/nodes/html-anchor-element/HTMLAnchorElement.ts +439 -0
  31. package/src/nodes/html-anchor-element/HTMLAnchorElementUtility.ts +48 -0
  32. package/src/nodes/html-anchor-element/IHTMLAnchorElement.ts +21 -0
  33. package/src/nodes/html-anchor-element/IHTMLHyperlinkElementUtils.ts +19 -0
  34. package/src/nodes/html-link-element/HTMLLinkElement.ts +18 -16
  35. package/src/nodes/html-option-element/HTMLOptionElement.ts +1 -1
@@ -0,0 +1,395 @@
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 HTMLElement_1 = __importDefault(require("../html-element/HTMLElement"));
7
+ const DOMTokenList_1 = __importDefault(require("../../dom-token-list/DOMTokenList"));
8
+ const HTMLAnchorElementUtility_1 = __importDefault(require("./HTMLAnchorElementUtility"));
9
+ /**
10
+ * HTML Anchor Element.
11
+ *
12
+ * Reference:
13
+ * https://developer.mozilla.org/en-US/docs/Web/API/HTMLAnchorElement.
14
+ */
15
+ class HTMLAnchorElement extends HTMLElement_1.default {
16
+ constructor() {
17
+ super(...arguments);
18
+ this._relList = null;
19
+ this._url = null;
20
+ }
21
+ /**
22
+ * Returns download.
23
+ *
24
+ * @returns download.
25
+ */
26
+ get download() {
27
+ return this.getAttribute('download') || '';
28
+ }
29
+ /**
30
+ * Sets download.
31
+ *
32
+ * @param download Download.
33
+ */
34
+ set download(download) {
35
+ this.setAttributeNS(null, 'download', download);
36
+ }
37
+ /**
38
+ * Returns hash.
39
+ *
40
+ * @returns Hash.
41
+ */
42
+ get hash() {
43
+ return this._url?.hash ?? '';
44
+ }
45
+ /**
46
+ * Sets hash.
47
+ *
48
+ * @param hash Hash.
49
+ */
50
+ set hash(hash) {
51
+ if (this._url && !HTMLAnchorElementUtility_1.default.isBlobURL(this._url)) {
52
+ this._url.hash = hash;
53
+ this.setAttributeNS(null, 'href', this._url.toString());
54
+ }
55
+ }
56
+ /**
57
+ * Returns href.
58
+ *
59
+ * @returns Href.
60
+ */
61
+ get href() {
62
+ if (this._url) {
63
+ return this._url.toString();
64
+ }
65
+ return this.getAttributeNS(null, 'href') || '';
66
+ }
67
+ /**
68
+ * Sets href.
69
+ *
70
+ * @param href Href.
71
+ */
72
+ set href(href) {
73
+ this.setAttributeNS(null, 'href', href);
74
+ }
75
+ /**
76
+ * Returns hreflang.
77
+ *
78
+ * @returns Hreflang.
79
+ */
80
+ get hreflang() {
81
+ return this.getAttributeNS(null, 'hreflang') || '';
82
+ }
83
+ /**
84
+ * Sets hreflang.
85
+ *
86
+ * @param hreflang Hreflang.
87
+ */
88
+ set hreflang(hreflang) {
89
+ this.setAttributeNS(null, 'hreflang', hreflang);
90
+ }
91
+ /**
92
+ * Returns the hyperlink's URL's origin.
93
+ *
94
+ * @returns Origin.
95
+ */
96
+ get origin() {
97
+ return this._url?.origin ?? '';
98
+ }
99
+ /**
100
+ * Returns ping.
101
+ *
102
+ * @returns Ping.
103
+ */
104
+ get ping() {
105
+ return this.getAttributeNS(null, 'ping') || '';
106
+ }
107
+ /**
108
+ * Sets ping.
109
+ *
110
+ * @param ping Ping.
111
+ */
112
+ set ping(ping) {
113
+ this.setAttributeNS(null, 'ping', ping);
114
+ }
115
+ /**
116
+ * Returns protocol.
117
+ *
118
+ * @returns Protocol.
119
+ */
120
+ get protocol() {
121
+ return this._url?.protocol ?? '';
122
+ }
123
+ /**
124
+ * Sets protocol.
125
+ *
126
+ * @param protocol Protocol.
127
+ */
128
+ set protocol(protocol) {
129
+ if (this._url && !HTMLAnchorElementUtility_1.default.isBlobURL(this._url)) {
130
+ this._url.protocol = protocol;
131
+ this.setAttributeNS(null, 'href', this._url.toString());
132
+ }
133
+ }
134
+ /**
135
+ * Returns username.
136
+ *
137
+ * @returns Username.
138
+ */
139
+ get username() {
140
+ return this._url?.username ?? '';
141
+ }
142
+ /**
143
+ * Sets username.
144
+ *
145
+ * @param username Username.
146
+ */
147
+ set username(username) {
148
+ if (this._url &&
149
+ !HTMLAnchorElementUtility_1.default.isBlobURL(this._url) &&
150
+ this._url.host &&
151
+ this._url.protocol != 'file') {
152
+ this._url.username = username;
153
+ this.setAttributeNS(null, 'href', this._url.toString());
154
+ }
155
+ }
156
+ /**
157
+ * Returns password.
158
+ *
159
+ * @returns Password.
160
+ */
161
+ get password() {
162
+ return this._url?.password ?? '';
163
+ }
164
+ /**
165
+ * Sets password.
166
+ *
167
+ * @param password Password.
168
+ */
169
+ set password(password) {
170
+ if (this._url &&
171
+ !HTMLAnchorElementUtility_1.default.isBlobURL(this._url) &&
172
+ this._url.host &&
173
+ this._url.protocol != 'file') {
174
+ this._url.password = password;
175
+ this.setAttributeNS(null, 'href', this._url.toString());
176
+ }
177
+ }
178
+ /**
179
+ * Returns pathname.
180
+ *
181
+ * @returns Pathname.
182
+ */
183
+ get pathname() {
184
+ return this._url?.pathname ?? '';
185
+ }
186
+ /**
187
+ * Sets pathname.
188
+ *
189
+ * @param pathname Pathname.
190
+ */
191
+ set pathname(pathname) {
192
+ if (this._url && !HTMLAnchorElementUtility_1.default.isBlobURL(this._url)) {
193
+ this._url.pathname = pathname;
194
+ this.setAttributeNS(null, 'href', this._url.toString());
195
+ }
196
+ }
197
+ /**
198
+ * Returns port.
199
+ *
200
+ * @returns Port.
201
+ */
202
+ get port() {
203
+ return this._url?.port ?? '';
204
+ }
205
+ /**
206
+ * Sets port.
207
+ *
208
+ * @param port Port.
209
+ */
210
+ set port(port) {
211
+ if (this._url &&
212
+ !HTMLAnchorElementUtility_1.default.isBlobURL(this._url) &&
213
+ this._url.host &&
214
+ this._url.protocol != 'file') {
215
+ this._url.port = port;
216
+ this.setAttributeNS(null, 'href', this._url.toString());
217
+ }
218
+ }
219
+ /**
220
+ * Returns host.
221
+ *
222
+ * @returns Host.
223
+ */
224
+ get host() {
225
+ return this._url?.host ?? '';
226
+ }
227
+ /**
228
+ * Sets host.
229
+ *
230
+ * @param host Host.
231
+ */
232
+ set host(host) {
233
+ if (this._url && !HTMLAnchorElementUtility_1.default.isBlobURL(this._url)) {
234
+ this._url.host = host;
235
+ this.setAttributeNS(null, 'href', this._url.toString());
236
+ }
237
+ }
238
+ /**
239
+ * Returns hostname.
240
+ *
241
+ * @returns Hostname.
242
+ */
243
+ get hostname() {
244
+ return this._url?.hostname ?? '';
245
+ }
246
+ /**
247
+ * Sets hostname.
248
+ *
249
+ * @param hostname Hostname.
250
+ */
251
+ set hostname(hostname) {
252
+ if (this._url && !HTMLAnchorElementUtility_1.default.isBlobURL(this._url)) {
253
+ this._url.hostname = hostname;
254
+ this.setAttributeNS(null, 'href', this._url.toString());
255
+ }
256
+ }
257
+ /**
258
+ * Returns referrerPolicy.
259
+ *
260
+ * @returns Referrer Policy.
261
+ */
262
+ get referrerPolicy() {
263
+ return this.getAttributeNS(null, 'referrerPolicy') || '';
264
+ }
265
+ /**
266
+ * Sets referrerPolicy.
267
+ *
268
+ * @param referrerPolicy Referrer Policy.
269
+ */
270
+ set referrerPolicy(referrerPolicy) {
271
+ this.setAttributeNS(null, 'referrerPolicy', referrerPolicy);
272
+ }
273
+ /**
274
+ * Returns rel.
275
+ *
276
+ * @returns Rel.
277
+ */
278
+ get rel() {
279
+ return this.getAttributeNS(null, 'rel') || '';
280
+ }
281
+ /**
282
+ * Sets rel.
283
+ *
284
+ * @param rel Rel.
285
+ */
286
+ set rel(rel) {
287
+ this.setAttributeNS(null, 'rel', rel);
288
+ }
289
+ /**
290
+ * Returns rel list.
291
+ *
292
+ * @returns Rel list.
293
+ */
294
+ get relList() {
295
+ if (!this._relList) {
296
+ this._relList = new DOMTokenList_1.default(this, 'rel');
297
+ }
298
+ return this._relList;
299
+ }
300
+ /**
301
+ * Returns search.
302
+ *
303
+ * @returns Search.
304
+ */
305
+ get search() {
306
+ return this._url?.search ?? '';
307
+ }
308
+ /**
309
+ * Sets search.
310
+ *
311
+ * @param search Search.
312
+ */
313
+ set search(search) {
314
+ if (this._url && !HTMLAnchorElementUtility_1.default.isBlobURL(this._url)) {
315
+ this._url.search = search;
316
+ this.setAttributeNS(null, 'href', this._url.toString());
317
+ }
318
+ }
319
+ /**
320
+ * Returns target.
321
+ *
322
+ * @returns target.
323
+ */
324
+ get target() {
325
+ return this.getAttributeNS(null, 'target') || '';
326
+ }
327
+ /**
328
+ * Sets target.
329
+ *
330
+ * @param target Target.
331
+ */
332
+ set target(target) {
333
+ this.setAttributeNS(null, 'target', target);
334
+ }
335
+ /**
336
+ * Returns text.
337
+ *
338
+ * @returns text.
339
+ */
340
+ get text() {
341
+ return this.textContent;
342
+ }
343
+ /**
344
+ * Sets text.
345
+ *
346
+ * @param text Text.
347
+ */
348
+ set text(text) {
349
+ this.textContent = text;
350
+ }
351
+ /**
352
+ * Returns type.
353
+ *
354
+ * @returns Type.
355
+ */
356
+ get type() {
357
+ return this.getAttributeNS(null, 'type') || '';
358
+ }
359
+ /**
360
+ * Sets type.
361
+ *
362
+ * @param type Type.
363
+ */
364
+ set type(type) {
365
+ this.setAttributeNS(null, 'type', type);
366
+ }
367
+ /**
368
+ * @override
369
+ */
370
+ setAttributeNode(attribute) {
371
+ const replacedAttribute = super.setAttributeNode(attribute);
372
+ if (attribute.name === 'rel' && this._relList) {
373
+ this._relList._updateIndices();
374
+ }
375
+ else if (attribute.name === 'href') {
376
+ this._url = HTMLAnchorElementUtility_1.default.getUrl(this.ownerDocument, attribute.value);
377
+ }
378
+ return replacedAttribute;
379
+ }
380
+ /**
381
+ * @override
382
+ */
383
+ removeAttributeNode(attribute) {
384
+ super.removeAttributeNode(attribute);
385
+ if (attribute.name === 'rel' && this._relList) {
386
+ this._relList._updateIndices();
387
+ }
388
+ else if (attribute.name === 'href') {
389
+ this._url = null;
390
+ }
391
+ return attribute;
392
+ }
393
+ }
394
+ exports.default = HTMLAnchorElement;
395
+ //# sourceMappingURL=HTMLAnchorElement.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HTMLAnchorElement.js","sourceRoot":"","sources":["../../../src/nodes/html-anchor-element/HTMLAnchorElement.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ /// <reference types="node" />
2
+ import IDocument from '../document/IDocument';
3
+ import { URL } from 'url';
4
+ /**
5
+ * HTML Anchor Element utility.
6
+ */
7
+ export default class HTMLAnchorElementUtility {
8
+ /**
9
+ * Returns "true" if it is a blob URL.
10
+ *
11
+ * According to spec, if element's url is non-null, its scheme is "blob", and it has an opaque path, then the process of updating properties on the URL should be terminated.
12
+ *
13
+ * @see https://html.spec.whatwg.org/multipage/links.html#reinitialise-url
14
+ * @param url
15
+ * @param url URL.
16
+ * @returns "true" if blob URL.
17
+ */
18
+ static isBlobURL(url: URL): boolean;
19
+ /**
20
+ * Returns URL.
21
+ *
22
+ * @see https://html.spec.whatwg.org/multipage/links.html#dom-hyperlink-href
23
+ * @see https://html.spec.whatwg.org/multipage/links.html#hyperlink
24
+ * @param document Document.
25
+ * @param href Href.
26
+ * @returns URL.
27
+ */
28
+ static getUrl(document: IDocument, href: string | null): URL;
29
+ }
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const url_1 = require("url");
4
+ /**
5
+ * HTML Anchor Element utility.
6
+ */
7
+ class HTMLAnchorElementUtility {
8
+ /**
9
+ * Returns "true" if it is a blob URL.
10
+ *
11
+ * According to spec, if element's url is non-null, its scheme is "blob", and it has an opaque path, then the process of updating properties on the URL should be terminated.
12
+ *
13
+ * @see https://html.spec.whatwg.org/multipage/links.html#reinitialise-url
14
+ * @param url
15
+ * @param url URL.
16
+ * @returns "true" if blob URL.
17
+ */
18
+ static isBlobURL(url) {
19
+ return (url && url.protocol === 'blob:' && url.pathname.length > 1 && url.pathname.includes('://'));
20
+ }
21
+ /**
22
+ * Returns URL.
23
+ *
24
+ * @see https://html.spec.whatwg.org/multipage/links.html#dom-hyperlink-href
25
+ * @see https://html.spec.whatwg.org/multipage/links.html#hyperlink
26
+ * @param document Document.
27
+ * @param href Href.
28
+ * @returns URL.
29
+ */
30
+ static getUrl(document, href) {
31
+ if (!href) {
32
+ return null;
33
+ }
34
+ const documentUrl = document.location.href;
35
+ try {
36
+ return new url_1.URL(href.trim(), documentUrl);
37
+ }
38
+ catch (TypeError) {
39
+ // Ignore error
40
+ }
41
+ return null;
42
+ }
43
+ }
44
+ exports.default = HTMLAnchorElementUtility;
45
+ //# sourceMappingURL=HTMLAnchorElementUtility.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HTMLAnchorElementUtility.js","sourceRoot":"","sources":["../../../src/nodes/html-anchor-element/HTMLAnchorElementUtility.ts"],"names":[],"mappings":";;AACA,6BAA0B;AAE1B;;GAEG;AACH,MAAqB,wBAAwB;IAC5C;;;;;;;;;OASG;IACI,MAAM,CAAC,SAAS,CAAC,GAAQ;QAC/B,OAAO,CACN,GAAG,IAAI,GAAG,CAAC,QAAQ,KAAK,OAAO,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAC1F,CAAC;IACH,CAAC;IAED;;;;;;;;OAQG;IACI,MAAM,CAAC,MAAM,CAAC,QAAmB,EAAE,IAAmB;QAC5D,IAAI,CAAC,IAAI,EAAE;YACV,OAAO,IAAI,CAAC;SACZ;QAED,MAAM,WAAW,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC;QAE3C,IAAI;YACH,OAAO,IAAI,SAAG,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,WAAW,CAAC,CAAC;SACzC;QAAC,OAAO,SAAS,EAAE;YACnB,eAAe;SACf;QAED,OAAO,IAAI,CAAC;IACb,CAAC;CACD;AAzCD,2CAyCC"}
@@ -0,0 +1,20 @@
1
+ import IDOMTokenList from '../../dom-token-list/IDOMTokenList';
2
+ import IHTMLElement from '../html-element/IHTMLElement';
3
+ import IHTMLHyperlinkElementUtils from './IHTMLHyperlinkElementUtils';
4
+ /**
5
+ * HTML Anchor Element.
6
+ *
7
+ * Reference:
8
+ * https://developer.mozilla.org/en-US/docs/Web/API/HTMLAnchorElement.
9
+ */
10
+ export default interface IHTMLAnchorElement extends IHTMLElement, IHTMLHyperlinkElementUtils {
11
+ readonly relList: IDOMTokenList;
12
+ download: string;
13
+ ping: string;
14
+ hreflang: string;
15
+ referrerPolicy: string;
16
+ rel: string;
17
+ target: string;
18
+ text: string;
19
+ type: string;
20
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=IHTMLAnchorElement.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IHTMLAnchorElement.js","sourceRoot":"","sources":["../../../src/nodes/html-anchor-element/IHTMLAnchorElement.ts"],"names":[],"mappings":""}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * HTMLHyperlinkElementUtils.
3
+ *
4
+ * Reference:
5
+ * https://html.spec.whatwg.org/multipage/links.html#htmlhyperlinkelementutils.
6
+ */
7
+ export default interface IHTMLHyperlinkElementUtils {
8
+ readonly origin: string;
9
+ href: string;
10
+ protocol: string;
11
+ username: string;
12
+ password: string;
13
+ host: string;
14
+ hostname: string;
15
+ port: string;
16
+ pathname: string;
17
+ search: string;
18
+ hash: string;
19
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=IHTMLHyperlinkElementUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IHTMLHyperlinkElementUtils.js","sourceRoot":"","sources":["../../../src/nodes/html-anchor-element/IHTMLHyperlinkElementUtils.ts"],"names":[],"mappings":""}
@@ -121,19 +121,15 @@ export default class HTMLLinkElement extends HTMLElement implements IHTMLLinkEle
121
121
  */
122
122
  set type(type: string);
123
123
  /**
124
- * The setAttributeNode() method adds a new Attr node to the specified element.
125
- *
126
124
  * @override
127
- * @param attribute Attribute.
128
- * @returns Replaced attribute.
129
125
  */
130
126
  setAttributeNode(attribute: IAttr): IAttr;
131
127
  /**
132
128
  * @override
133
129
  */
134
- _connectToNode(parentNode?: INode): void;
130
+ removeAttributeNode(attribute: IAttr): IAttr;
135
131
  /**
136
- * Updates DOM list indices.
132
+ * @override
137
133
  */
138
- protected _updateDomListIndices(): void;
134
+ _connectToNode(parentNode?: INode): void;
139
135
  }
@@ -164,16 +164,15 @@ class HTMLLinkElement extends HTMLElement_1.default {
164
164
  this.setAttributeNS(null, 'type', type);
165
165
  }
166
166
  /**
167
- * The setAttributeNode() method adds a new Attr node to the specified element.
168
- *
169
167
  * @override
170
- * @param attribute Attribute.
171
- * @returns Replaced attribute.
172
168
  */
173
169
  setAttributeNode(attribute) {
174
170
  const replacedAttribute = super.setAttributeNode(attribute);
175
171
  const rel = this.getAttributeNS(null, 'rel');
176
172
  const href = this.getAttributeNS(null, 'href');
173
+ if (attribute.name === 'rel' && this._relList) {
174
+ this._relList._updateIndices();
175
+ }
177
176
  if ((attribute.name === 'rel' || attribute.name === 'href') &&
178
177
  href !== null &&
179
178
  rel &&
@@ -206,6 +205,16 @@ class HTMLLinkElement extends HTMLElement_1.default {
206
205
  }
207
206
  return replacedAttribute;
208
207
  }
208
+ /**
209
+ * @override
210
+ */
211
+ removeAttributeNode(attribute) {
212
+ super.removeAttributeNode(attribute);
213
+ if (attribute.name === 'rel' && this._relList) {
214
+ this._relList._updateIndices();
215
+ }
216
+ return attribute;
217
+ }
209
218
  /**
210
219
  * @override
211
220
  */
@@ -244,15 +253,6 @@ class HTMLLinkElement extends HTMLElement_1.default {
244
253
  }
245
254
  }
246
255
  }
247
- /**
248
- * Updates DOM list indices.
249
- */
250
- _updateDomListIndices() {
251
- super._updateDomListIndices();
252
- if (this._relList) {
253
- this._relList._updateIndices();
254
- }
255
- }
256
256
  }
257
257
  exports.default = HTMLLinkElement;
258
258
  //# sourceMappingURL=HTMLLinkElement.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"HTMLLinkElement.js","sourceRoot":"","sources":["../../../src/nodes/html-link-element/HTMLLinkElement.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HTMLLinkElement.js","sourceRoot":"","sources":["../../../src/nodes/html-link-element/HTMLLinkElement.ts"],"names":[],"mappings":"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"}
@@ -100,7 +100,7 @@ class HTMLOptionElement extends HTMLElement_1.default {
100
100
  * @returns Value.
101
101
  */
102
102
  get value() {
103
- return this.getAttributeNS(null, 'value') || '';
103
+ return this.getAttributeNS(null, 'value') || this.textContent;
104
104
  }
105
105
  /**
106
106
  * Sets value.
@@ -1 +1 @@
1
- {"version":3,"file":"HTMLOptionElement.js","sourceRoot":"","sources":["../../../src/nodes/html-option-element/HTMLOptionElement.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HTMLOptionElement.js","sourceRoot":"","sources":["../../../src/nodes/html-option-element/HTMLOptionElement.ts"],"names":[],"mappings":"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"}