happy-dom 15.5.0 → 15.6.1

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 (73) hide show
  1. package/cjs/browser/utilities/BrowserFrameNavigator.cjs +13 -9
  2. package/cjs/browser/utilities/BrowserFrameNavigator.cjs.map +1 -1
  3. package/cjs/browser/utilities/BrowserFrameNavigator.d.ts.map +1 -1
  4. package/cjs/fetch/Fetch.cjs +19 -10
  5. package/cjs/fetch/Fetch.cjs.map +1 -1
  6. package/cjs/fetch/Fetch.d.ts +3 -0
  7. package/cjs/fetch/Fetch.d.ts.map +1 -1
  8. package/cjs/fetch/SyncFetch.cjs +19 -10
  9. package/cjs/fetch/SyncFetch.cjs.map +1 -1
  10. package/cjs/fetch/SyncFetch.d.ts +3 -0
  11. package/cjs/fetch/SyncFetch.d.ts.map +1 -1
  12. package/cjs/fetch/utilities/FetchRequestHeaderUtility.cjs +8 -1
  13. package/cjs/fetch/utilities/FetchRequestHeaderUtility.cjs.map +1 -1
  14. package/cjs/fetch/utilities/FetchRequestHeaderUtility.d.ts +2 -0
  15. package/cjs/fetch/utilities/FetchRequestHeaderUtility.d.ts.map +1 -1
  16. package/cjs/nodes/html-element/HTMLElementUtility.cjs +14 -10
  17. package/cjs/nodes/html-element/HTMLElementUtility.cjs.map +1 -1
  18. package/cjs/nodes/html-element/HTMLElementUtility.d.ts.map +1 -1
  19. package/cjs/nodes/html-input-element/HTMLInputElement.cjs +2 -2
  20. package/cjs/nodes/html-input-element/HTMLInputElement.d.ts +2 -2
  21. package/cjs/nodes/html-text-area-element/HTMLTextAreaElement.cjs +2 -2
  22. package/cjs/nodes/html-text-area-element/HTMLTextAreaElement.d.ts +2 -2
  23. package/cjs/nodes/node/Node.cjs +1 -0
  24. package/cjs/nodes/node/Node.cjs.map +1 -1
  25. package/cjs/nodes/node/Node.d.ts.map +1 -1
  26. package/cjs/query-selector/QuerySelector.cjs +4 -0
  27. package/cjs/query-selector/QuerySelector.cjs.map +1 -1
  28. package/cjs/query-selector/QuerySelector.d.ts.map +1 -1
  29. package/cjs/query-selector/SelectorItem.cjs +5 -0
  30. package/cjs/query-selector/SelectorItem.cjs.map +1 -1
  31. package/cjs/query-selector/SelectorItem.d.ts.map +1 -1
  32. package/lib/browser/utilities/BrowserFrameNavigator.d.ts.map +1 -1
  33. package/lib/browser/utilities/BrowserFrameNavigator.js +13 -9
  34. package/lib/browser/utilities/BrowserFrameNavigator.js.map +1 -1
  35. package/lib/fetch/Fetch.d.ts +3 -0
  36. package/lib/fetch/Fetch.d.ts.map +1 -1
  37. package/lib/fetch/Fetch.js +19 -10
  38. package/lib/fetch/Fetch.js.map +1 -1
  39. package/lib/fetch/SyncFetch.d.ts +3 -0
  40. package/lib/fetch/SyncFetch.d.ts.map +1 -1
  41. package/lib/fetch/SyncFetch.js +19 -10
  42. package/lib/fetch/SyncFetch.js.map +1 -1
  43. package/lib/fetch/utilities/FetchRequestHeaderUtility.d.ts +2 -0
  44. package/lib/fetch/utilities/FetchRequestHeaderUtility.d.ts.map +1 -1
  45. package/lib/fetch/utilities/FetchRequestHeaderUtility.js +8 -1
  46. package/lib/fetch/utilities/FetchRequestHeaderUtility.js.map +1 -1
  47. package/lib/nodes/html-element/HTMLElementUtility.d.ts.map +1 -1
  48. package/lib/nodes/html-element/HTMLElementUtility.js +14 -10
  49. package/lib/nodes/html-element/HTMLElementUtility.js.map +1 -1
  50. package/lib/nodes/html-input-element/HTMLInputElement.d.ts +2 -2
  51. package/lib/nodes/html-input-element/HTMLInputElement.js +2 -2
  52. package/lib/nodes/html-text-area-element/HTMLTextAreaElement.d.ts +2 -2
  53. package/lib/nodes/html-text-area-element/HTMLTextAreaElement.js +2 -2
  54. package/lib/nodes/node/Node.d.ts.map +1 -1
  55. package/lib/nodes/node/Node.js +1 -0
  56. package/lib/nodes/node/Node.js.map +1 -1
  57. package/lib/query-selector/QuerySelector.d.ts.map +1 -1
  58. package/lib/query-selector/QuerySelector.js +4 -0
  59. package/lib/query-selector/QuerySelector.js.map +1 -1
  60. package/lib/query-selector/SelectorItem.d.ts.map +1 -1
  61. package/lib/query-selector/SelectorItem.js +5 -0
  62. package/lib/query-selector/SelectorItem.js.map +1 -1
  63. package/package.json +4 -4
  64. package/src/browser/utilities/BrowserFrameNavigator.ts +14 -13
  65. package/src/fetch/Fetch.ts +22 -11
  66. package/src/fetch/SyncFetch.ts +22 -10
  67. package/src/fetch/utilities/FetchRequestHeaderUtility.ts +11 -1
  68. package/src/nodes/html-element/HTMLElementUtility.ts +18 -11
  69. package/src/nodes/html-input-element/HTMLInputElement.ts +2 -2
  70. package/src/nodes/html-text-area-element/HTMLTextAreaElement.ts +2 -2
  71. package/src/nodes/node/Node.ts +1 -0
  72. package/src/query-selector/QuerySelector.ts +7 -0
  73. package/src/query-selector/SelectorItem.ts +5 -0
@@ -158,7 +158,7 @@ export default class HTMLTextAreaElement extends HTMLElement {
158
158
  *
159
159
  * @returns Inputmode.
160
160
  */
161
- public get inputmode(): string {
161
+ public get inputMode(): string {
162
162
  return this.getAttribute('inputmode') || '';
163
163
  }
164
164
 
@@ -167,7 +167,7 @@ export default class HTMLTextAreaElement extends HTMLElement {
167
167
  *
168
168
  * @param inputmode Inputmode.
169
169
  */
170
- public set inputmode(inputmode: string) {
170
+ public set inputMode(inputmode: string) {
171
171
  this.setAttribute('inputmode', inputmode);
172
172
  }
173
173
 
@@ -1030,6 +1030,7 @@ export default class Node extends EventTarget {
1030
1030
  this[PropertySymbol.rootNode] = null;
1031
1031
 
1032
1032
  if (this[PropertySymbol.ownerDocument][PropertySymbol.activeElement] === <unknown>this) {
1033
+ this[PropertySymbol.ownerDocument][PropertySymbol.clearCache]();
1033
1034
  this[PropertySymbol.ownerDocument][PropertySymbol.activeElement] = null;
1034
1035
  }
1035
1036
 
@@ -332,6 +332,13 @@ export default class QuerySelector {
332
332
 
333
333
  element[PropertySymbol.cache].matches.set(selector, cachedItem);
334
334
 
335
+ if (element[PropertySymbol.isConnected]) {
336
+ // Document is affected for the ":target" selector
337
+ (element[PropertySymbol.ownerDocument] || element)[PropertySymbol.affectsCache].push(
338
+ cachedItem
339
+ );
340
+ }
341
+
335
342
  for (const items of SelectorParser.getSelectorGroups(selector, options)) {
336
343
  const result = this.matchSelector(element, items.reverse(), cachedItem);
337
344
 
@@ -323,6 +323,11 @@ export default class SelectorItem {
323
323
  }
324
324
  }
325
325
  return null;
326
+ case 'focus':
327
+ case 'focus-visible':
328
+ return element[PropertySymbol.ownerDocument].activeElement === element
329
+ ? { priorityWeight: 10 }
330
+ : null;
326
331
  default:
327
332
  return null;
328
333
  }