accented 0.0.0-20250424114613 → 0.0.0-20250701143712

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.
Files changed (207) hide show
  1. package/README.md +44 -193
  2. package/dist/accented.d.ts +7 -7
  3. package/dist/accented.d.ts.map +1 -1
  4. package/dist/accented.js +30 -27
  5. package/dist/accented.js.map +1 -1
  6. package/dist/common/tokens.d.ts +2 -0
  7. package/dist/common/tokens.d.ts.map +1 -0
  8. package/dist/common/tokens.js +2 -0
  9. package/dist/common/tokens.js.map +1 -0
  10. package/dist/constants.d.ts +1 -1
  11. package/dist/constants.d.ts.map +1 -1
  12. package/dist/constants.js +1 -1
  13. package/dist/constants.js.map +1 -1
  14. package/dist/dom-updater.d.ts +1 -1
  15. package/dist/dom-updater.d.ts.map +1 -1
  16. package/dist/dom-updater.js +14 -13
  17. package/dist/dom-updater.js.map +1 -1
  18. package/dist/elements/accented-dialog.d.ts +2 -3
  19. package/dist/elements/accented-dialog.d.ts.map +1 -1
  20. package/dist/elements/accented-dialog.js +14 -8
  21. package/dist/elements/accented-dialog.js.map +1 -1
  22. package/dist/elements/accented-trigger.d.ts +3 -4
  23. package/dist/elements/accented-trigger.d.ts.map +1 -1
  24. package/dist/elements/accented-trigger.js +10 -10
  25. package/dist/elements/accented-trigger.js.map +1 -1
  26. package/dist/fullscreen-listener.d.ts +1 -1
  27. package/dist/fullscreen-listener.d.ts.map +1 -1
  28. package/dist/fullscreen-listener.js +3 -4
  29. package/dist/fullscreen-listener.js.map +1 -1
  30. package/dist/intersection-observer.d.ts +1 -1
  31. package/dist/intersection-observer.d.ts.map +1 -1
  32. package/dist/intersection-observer.js +12 -6
  33. package/dist/intersection-observer.js.map +1 -1
  34. package/dist/log-and-rethrow.d.ts +1 -1
  35. package/dist/log-and-rethrow.d.ts.map +1 -1
  36. package/dist/log-and-rethrow.js +2 -3
  37. package/dist/log-and-rethrow.js.map +1 -1
  38. package/dist/logger.d.ts +1 -1
  39. package/dist/logger.d.ts.map +1 -1
  40. package/dist/logger.js +2 -2
  41. package/dist/logger.js.map +1 -1
  42. package/dist/register-elements.d.ts +1 -1
  43. package/dist/register-elements.d.ts.map +1 -1
  44. package/dist/register-elements.js +6 -7
  45. package/dist/register-elements.js.map +1 -1
  46. package/dist/resize-listener.d.ts +1 -1
  47. package/dist/resize-listener.d.ts.map +1 -1
  48. package/dist/resize-listener.js +3 -4
  49. package/dist/resize-listener.js.map +1 -1
  50. package/dist/scanner.d.ts +2 -2
  51. package/dist/scanner.d.ts.map +1 -1
  52. package/dist/scanner.js +36 -36
  53. package/dist/scanner.js.map +1 -1
  54. package/dist/scroll-listeners.d.ts +1 -1
  55. package/dist/scroll-listeners.d.ts.map +1 -1
  56. package/dist/scroll-listeners.js +3 -4
  57. package/dist/scroll-listeners.js.map +1 -1
  58. package/dist/state.d.ts +1 -1
  59. package/dist/state.d.ts.map +1 -1
  60. package/dist/state.js +4 -5
  61. package/dist/state.js.map +1 -1
  62. package/dist/task-queue.d.ts +2 -2
  63. package/dist/task-queue.d.ts.map +1 -1
  64. package/dist/task-queue.js +1 -1
  65. package/dist/task-queue.js.map +1 -1
  66. package/dist/types.d.ts +102 -46
  67. package/dist/types.d.ts.map +1 -1
  68. package/dist/types.js.map +1 -1
  69. package/dist/utils/are-elements-with-issues-equal.d.ts +2 -2
  70. package/dist/utils/are-elements-with-issues-equal.d.ts.map +1 -1
  71. package/dist/utils/are-elements-with-issues-equal.js +3 -3
  72. package/dist/utils/are-elements-with-issues-equal.js.map +1 -1
  73. package/dist/utils/are-issue-sets-equal.d.ts +2 -2
  74. package/dist/utils/are-issue-sets-equal.d.ts.map +1 -1
  75. package/dist/utils/are-issue-sets-equal.js +3 -3
  76. package/dist/utils/are-issue-sets-equal.js.map +1 -1
  77. package/dist/utils/containing-blocks.d.ts.map +1 -1
  78. package/dist/utils/containing-blocks.js +1 -1
  79. package/dist/utils/containing-blocks.js.map +1 -1
  80. package/dist/utils/contains.d.ts +1 -1
  81. package/dist/utils/contains.d.ts.map +1 -1
  82. package/dist/utils/contains.js +1 -1
  83. package/dist/utils/contains.js.map +1 -1
  84. package/dist/utils/deduplicate-nodes.js +0 -1
  85. package/dist/utils/deduplicate-nodes.js.map +1 -1
  86. package/dist/utils/deep-merge.d.ts +1 -1
  87. package/dist/utils/deep-merge.d.ts.map +1 -1
  88. package/dist/utils/deep-merge.js +8 -5
  89. package/dist/utils/deep-merge.js.map +1 -1
  90. package/dist/utils/dom-helpers.d.ts.map +1 -1
  91. package/dist/utils/dom-helpers.js +4 -2
  92. package/dist/utils/dom-helpers.js.map +1 -1
  93. package/dist/utils/ensure-non-empty.d.ts +1 -1
  94. package/dist/utils/ensure-non-empty.d.ts.map +1 -1
  95. package/dist/utils/ensure-non-empty.js +2 -2
  96. package/dist/utils/ensure-non-empty.js.map +1 -1
  97. package/dist/utils/get-element-html.d.ts +1 -1
  98. package/dist/utils/get-element-html.d.ts.map +1 -1
  99. package/dist/utils/get-element-html.js +4 -2
  100. package/dist/utils/get-element-html.js.map +1 -1
  101. package/dist/utils/get-element-position.d.ts +2 -2
  102. package/dist/utils/get-element-position.d.ts.map +1 -1
  103. package/dist/utils/get-element-position.js +21 -25
  104. package/dist/utils/get-element-position.js.map +1 -1
  105. package/dist/utils/get-parent.d.ts +1 -1
  106. package/dist/utils/get-parent.d.ts.map +1 -1
  107. package/dist/utils/get-parent.js +1 -1
  108. package/dist/utils/get-parent.js.map +1 -1
  109. package/dist/utils/get-scan-context.d.ts +2 -2
  110. package/dist/utils/get-scan-context.d.ts.map +1 -1
  111. package/dist/utils/get-scan-context.js +9 -9
  112. package/dist/utils/get-scan-context.js.map +1 -1
  113. package/dist/utils/get-scrollable-ancestors.d.ts +1 -1
  114. package/dist/utils/get-scrollable-ancestors.d.ts.map +1 -1
  115. package/dist/utils/get-scrollable-ancestors.js +5 -5
  116. package/dist/utils/get-scrollable-ancestors.js.map +1 -1
  117. package/dist/utils/is-node-in-scan-context.d.ts +2 -2
  118. package/dist/utils/is-node-in-scan-context.d.ts.map +1 -1
  119. package/dist/utils/is-node-in-scan-context.js +5 -5
  120. package/dist/utils/is-node-in-scan-context.js.map +1 -1
  121. package/dist/utils/is-non-empty.d.ts +2 -0
  122. package/dist/utils/is-non-empty.d.ts.map +1 -0
  123. package/dist/utils/is-non-empty.js +4 -0
  124. package/dist/utils/is-non-empty.js.map +1 -0
  125. package/dist/utils/normalize-context.d.ts +2 -2
  126. package/dist/utils/normalize-context.d.ts.map +1 -1
  127. package/dist/utils/normalize-context.js +10 -8
  128. package/dist/utils/normalize-context.js.map +1 -1
  129. package/dist/utils/recalculate-positions.d.ts +1 -1
  130. package/dist/utils/recalculate-positions.d.ts.map +1 -1
  131. package/dist/utils/recalculate-positions.js +5 -5
  132. package/dist/utils/recalculate-positions.js.map +1 -1
  133. package/dist/utils/recalculate-scrollable-ancestors.d.ts +1 -1
  134. package/dist/utils/recalculate-scrollable-ancestors.d.ts.map +1 -1
  135. package/dist/utils/recalculate-scrollable-ancestors.js +4 -4
  136. package/dist/utils/recalculate-scrollable-ancestors.js.map +1 -1
  137. package/dist/utils/shadow-dom-aware-mutation-observer.d.ts +1 -1
  138. package/dist/utils/shadow-dom-aware-mutation-observer.d.ts.map +1 -1
  139. package/dist/utils/shadow-dom-aware-mutation-observer.js +19 -22
  140. package/dist/utils/shadow-dom-aware-mutation-observer.js.map +1 -1
  141. package/dist/utils/supports-anchor-positioning.d.ts +1 -1
  142. package/dist/utils/supports-anchor-positioning.d.ts.map +1 -1
  143. package/dist/utils/supports-anchor-positioning.js +1 -1
  144. package/dist/utils/supports-anchor-positioning.js.map +1 -1
  145. package/dist/utils/transform-violations.d.ts +2 -2
  146. package/dist/utils/transform-violations.d.ts.map +1 -1
  147. package/dist/utils/transform-violations.js +9 -9
  148. package/dist/utils/transform-violations.js.map +1 -1
  149. package/dist/utils/update-elements-with-issues.d.ts +3 -3
  150. package/dist/utils/update-elements-with-issues.d.ts.map +1 -1
  151. package/dist/utils/update-elements-with-issues.js +34 -29
  152. package/dist/utils/update-elements-with-issues.js.map +1 -1
  153. package/dist/validate-options.d.ts +2 -2
  154. package/dist/validate-options.d.ts.map +1 -1
  155. package/dist/validate-options.js +24 -23
  156. package/dist/validate-options.js.map +1 -1
  157. package/package.json +7 -4
  158. package/src/accented.test.ts +2 -2
  159. package/src/accented.ts +39 -32
  160. package/src/common/tokens.ts +1 -0
  161. package/src/constants.ts +1 -1
  162. package/src/dom-updater.ts +26 -19
  163. package/src/elements/accented-dialog.ts +69 -43
  164. package/src/elements/accented-trigger.ts +54 -43
  165. package/src/fullscreen-listener.ts +15 -11
  166. package/src/intersection-observer.ts +27 -16
  167. package/src/log-and-rethrow.ts +2 -3
  168. package/src/logger.ts +8 -6
  169. package/src/register-elements.ts +7 -7
  170. package/src/resize-listener.ts +15 -11
  171. package/src/scanner.ts +66 -50
  172. package/src/scroll-listeners.ts +27 -19
  173. package/src/state.ts +24 -21
  174. package/src/task-queue.test.ts +5 -4
  175. package/src/task-queue.ts +2 -2
  176. package/src/types.ts +151 -95
  177. package/src/utils/are-elements-with-issues-equal.ts +7 -5
  178. package/src/utils/are-issue-sets-equal.test.ts +10 -6
  179. package/src/utils/are-issue-sets-equal.ts +8 -6
  180. package/src/utils/containing-blocks.ts +6 -3
  181. package/src/utils/contains.test.ts +2 -2
  182. package/src/utils/contains.ts +1 -1
  183. package/src/utils/deduplicate-nodes.ts +1 -1
  184. package/src/utils/deep-merge.test.ts +8 -1
  185. package/src/utils/deep-merge.ts +14 -8
  186. package/src/utils/dom-helpers.ts +6 -2
  187. package/src/utils/ensure-non-empty.ts +2 -2
  188. package/src/utils/get-element-html.ts +4 -2
  189. package/src/utils/get-element-position.ts +37 -24
  190. package/src/utils/get-parent.ts +1 -1
  191. package/src/utils/get-scan-context.test.ts +14 -8
  192. package/src/utils/get-scan-context.ts +12 -15
  193. package/src/utils/get-scrollable-ancestors.ts +8 -5
  194. package/src/utils/is-node-in-scan-context.test.ts +3 -3
  195. package/src/utils/is-node-in-scan-context.ts +6 -6
  196. package/src/utils/is-non-empty.ts +3 -0
  197. package/src/utils/normalize-context.test.ts +9 -9
  198. package/src/utils/normalize-context.ts +17 -10
  199. package/src/utils/recalculate-positions.ts +5 -5
  200. package/src/utils/recalculate-scrollable-ancestors.ts +4 -4
  201. package/src/utils/shadow-dom-aware-mutation-observer.ts +21 -24
  202. package/src/utils/supports-anchor-positioning.ts +3 -3
  203. package/src/utils/transform-violations.test.ts +22 -20
  204. package/src/utils/transform-violations.ts +14 -10
  205. package/src/utils/update-elements-with-issues.test.ts +49 -49
  206. package/src/utils/update-elements-with-issues.ts +96 -71
  207. package/src/validate-options.ts +91 -38
@@ -1 +1 @@
1
- {"version":3,"file":"ensure-non-empty.js","sourceRoot":"","sources":["../../src/utils/ensure-non-empty.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,UAAU,cAAc,CAAI,GAAQ;IAChD,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IACD,OAAO,GAAkB,CAAC;AAC5B,CAAC"}
1
+ {"version":3,"file":"ensure-non-empty.js","sourceRoot":"","sources":["../../src/utils/ensure-non-empty.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,cAAc,CAAI,GAAQ;IACxC,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IACD,OAAO,GAAkB,CAAC;AAC5B,CAAC"}
@@ -1,2 +1,2 @@
1
- export default function getElementHtml(element: Element): string;
1
+ export declare function getElementHtml(element: Element): string;
2
2
  //# sourceMappingURL=get-element-html.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"get-element-html.d.ts","sourceRoot":"","sources":["../../src/utils/get-element-html.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,OAAO,EAAE,OAAO,UAYtD"}
1
+ {"version":3,"file":"get-element-html.d.ts","sourceRoot":"","sources":["../../src/utils/get-element-html.ts"],"names":[],"mappings":"AAAA,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,UAc9C"}
@@ -1,4 +1,4 @@
1
- export default function getElementHtml(element) {
1
+ export function getElementHtml(element) {
2
2
  const outerHtml = element.outerHTML;
3
3
  const innerHtml = element.innerHTML;
4
4
  if (!innerHtml) {
@@ -9,6 +9,8 @@ export default function getElementHtml(element) {
9
9
  // This shouldn't be happening, but if it does, we can just return the outer HTML.
10
10
  return outerHtml;
11
11
  }
12
- return outerHtml.slice(0, index) + '…' + outerHtml.slice(index + innerHtml.length);
12
+ const openingTag = outerHtml.slice(0, index);
13
+ const closingTag = outerHtml.slice(index + innerHtml.length);
14
+ return `${openingTag}…${closingTag}`;
13
15
  }
14
16
  //# sourceMappingURL=get-element-html.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"get-element-html.js","sourceRoot":"","sources":["../../src/utils/get-element-html.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,OAAgB;IACrD,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;IACpC,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;IACpC,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,KAAK,GAAG,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAC3C,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;QACjB,kFAAkF;QAClF,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,GAAG,GAAG,SAAS,CAAC,KAAK,CAAC,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;AACrF,CAAC"}
1
+ {"version":3,"file":"get-element-html.js","sourceRoot":"","sources":["../../src/utils/get-element-html.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,cAAc,CAAC,OAAgB;IAC7C,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;IACpC,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;IACpC,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,KAAK,GAAG,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAC3C,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;QACjB,kFAAkF;QAClF,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,UAAU,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IAC7C,MAAM,UAAU,GAAG,SAAS,CAAC,KAAK,CAAC,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;IAC7D,OAAO,GAAG,UAAU,IAAI,UAAU,EAAE,CAAC;AACvC,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { Position } from '../types';
1
+ import type { Position } from '../types.ts';
2
2
  /**
3
3
  * https://github.com/pomerantsev/accented/issues/116
4
4
  *
@@ -7,5 +7,5 @@ import type { Position } from '../types';
7
7
  * * The element itself, or one of the element's ancestors has a scale or rotate transform.
8
8
  * * The browser doesn't support anchor positioning.
9
9
  */
10
- export default function getElementPosition(element: Element, win: Window): Position;
10
+ export declare function getElementPosition(element: Element, win: Window): Position;
11
11
  //# sourceMappingURL=get-element-position.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"get-element-position.d.ts","sourceRoot":"","sources":["../../src/utils/get-element-position.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAiCzC;;;;;;;GAOG;AACH,MAAM,CAAC,OAAO,UAAU,kBAAkB,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,GAAG,QAAQ,CAkClF"}
1
+ {"version":3,"file":"get-element-position.d.ts","sourceRoot":"","sources":["../../src/utils/get-element-position.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AA8C5C;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,GAAG,QAAQ,CAkC1E"}
@@ -1,20 +1,20 @@
1
- import { isHtmlElement } from './dom-helpers.js';
2
- import getParent from './get-parent.js';
3
1
  import { createsContainingBlock } from './containing-blocks.js';
2
+ import { isHtmlElement } from './dom-helpers.js';
3
+ import { getParent } from './get-parent.js';
4
4
  // https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_display/Containing_block#identifying_the_containing_block
5
5
  function isContainingBlock(element, win) {
6
6
  const style = win.getComputedStyle(element);
7
- const { transform, perspective, contain, contentVisibility, containerType, filter, backdropFilter, willChange } = style;
7
+ const { transform, perspective, contain, contentVisibility, containerType, filter, backdropFilter, willChange, } = style;
8
8
  const containItems = contain.split(' ');
9
9
  const willChangeItems = willChange.split(/\s*,\s*/);
10
- return transform !== 'none'
11
- || perspective !== 'none'
12
- || containItems.some((item) => ['layout', 'paint', 'strict', 'content'].includes(item))
13
- || contentVisibility === 'auto'
14
- || (createsContainingBlock('containerType') && containerType !== 'normal')
15
- || (createsContainingBlock('filter') && filter !== 'none')
16
- || (createsContainingBlock('backdropFilter') && backdropFilter !== 'none')
17
- || willChangeItems.some((item) => ['transform', 'perspective', 'contain', 'filter', 'backdrop-filter'].includes(item));
10
+ return (transform !== 'none' ||
11
+ perspective !== 'none' ||
12
+ containItems.some((item) => ['layout', 'paint', 'strict', 'content'].includes(item)) ||
13
+ contentVisibility === 'auto' ||
14
+ (createsContainingBlock('containerType') && containerType !== 'normal') ||
15
+ (createsContainingBlock('filter') && filter !== 'none') ||
16
+ (createsContainingBlock('backdropFilter') && backdropFilter !== 'none') ||
17
+ willChangeItems.some((item) => ['transform', 'perspective', 'contain', 'filter', 'backdrop-filter'].includes(item)));
18
18
  }
19
19
  function getNonInitialContainingBlock(element, win) {
20
20
  let currentElement = element;
@@ -34,7 +34,7 @@ function getNonInitialContainingBlock(element, win) {
34
34
  * * The element itself, or one of the element's ancestors has a scale or rotate transform.
35
35
  * * The browser doesn't support anchor positioning.
36
36
  */
37
- export default function getElementPosition(element, win) {
37
+ export function getElementPosition(element, win) {
38
38
  const nonInitialContainingBlock = getNonInitialContainingBlock(element, win);
39
39
  // If an element has a containing block as an ancestor,
40
40
  // and that containing block is not the <html> element (the initial containing block),
@@ -56,19 +56,15 @@ export default function getElementPosition(element, win) {
56
56
  }
57
57
  return { top, left, width, height };
58
58
  }
59
- else {
60
- const elementRect = element.getBoundingClientRect();
61
- const nonInitialContainingBlockRect = nonInitialContainingBlock.getBoundingClientRect();
62
- return {
63
- top: elementRect.top - nonInitialContainingBlockRect.top,
64
- height: elementRect.height,
65
- left: elementRect.left - nonInitialContainingBlockRect.left,
66
- width: elementRect.width
67
- };
68
- }
69
- }
70
- else {
71
- return element.getBoundingClientRect();
59
+ const elementRect = element.getBoundingClientRect();
60
+ const nonInitialContainingBlockRect = nonInitialContainingBlock.getBoundingClientRect();
61
+ return {
62
+ top: elementRect.top - nonInitialContainingBlockRect.top,
63
+ height: elementRect.height,
64
+ left: elementRect.left - nonInitialContainingBlockRect.left,
65
+ width: elementRect.width,
66
+ };
72
67
  }
68
+ return element.getBoundingClientRect();
73
69
  }
74
70
  //# sourceMappingURL=get-element-position.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"get-element-position.js","sourceRoot":"","sources":["../../src/utils/get-element-position.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"get-element-position.js","sourceRoot":"","sources":["../../src/utils/get-element-position.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- export default function getParent(element: Element): Element | null;
1
+ export declare function getParent(element: Element): Element | null;
2
2
  //# sourceMappingURL=get-parent.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"get-parent.d.ts","sourceRoot":"","sources":["../../src/utils/get-parent.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,OAAO,UAAU,SAAS,CAAE,OAAO,EAAE,OAAO,GAAG,OAAO,GAAG,IAAI,CAWnE"}
1
+ {"version":3,"file":"get-parent.d.ts","sourceRoot":"","sources":["../../src/utils/get-parent.ts"],"names":[],"mappings":"AAEA,wBAAgB,SAAS,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,GAAG,IAAI,CAW1D"}
@@ -1,5 +1,5 @@
1
1
  import { isDocumentFragment, isShadowRoot } from './dom-helpers.js';
2
- export default function getParent(element) {
2
+ export function getParent(element) {
3
3
  if (element.parentElement) {
4
4
  return element.parentElement;
5
5
  }
@@ -1 +1 @@
1
- {"version":3,"file":"get-parent.js","sourceRoot":"","sources":["../../src/utils/get-parent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEpE,MAAM,CAAC,OAAO,UAAU,SAAS,CAAE,OAAgB;IACjD,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;QAC1B,OAAO,OAAO,CAAC,aAAa,CAAC;IAC/B,CAAC;IAED,MAAM,QAAQ,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IACvC,IAAI,kBAAkB,CAAC,QAAQ,CAAC,IAAI,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC3D,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"get-parent.js","sourceRoot":"","sources":["../../src/utils/get-parent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEpE,MAAM,UAAU,SAAS,CAAC,OAAgB;IACxC,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;QAC1B,OAAO,OAAO,CAAC,aAAa,CAAC;IAC/B,CAAC;IAED,MAAM,QAAQ,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IACvC,IAAI,kBAAkB,CAAC,QAAQ,CAAC,IAAI,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC3D,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -1,3 +1,3 @@
1
- import type { Context, ScanContext } from '../types';
2
- export default function getScanContext(nodes: Array<Node>, context: Context): ScanContext;
1
+ import type { Context, ScanContext } from '../types.ts';
2
+ export declare function getScanContext(nodes: Array<Node>, context: Context): ScanContext;
3
3
  //# sourceMappingURL=get-scan-context.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"get-scan-context.d.ts","sourceRoot":"","sources":["../../src/utils/get-scan-context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAMrD,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,GAAG,WAAW,CAgCxF"}
1
+ {"version":3,"file":"get-scan-context.d.ts","sourceRoot":"","sources":["../../src/utils/get-scan-context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAMxD,wBAAgB,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,GAAG,WAAW,CA6BhF"}
@@ -1,13 +1,13 @@
1
- import contains from './contains.js';
1
+ import { contains } from './contains.js';
2
2
  import { deduplicateNodes } from './deduplicate-nodes.js';
3
- import isNodeInScanContext from './is-node-in-scan-context.js';
4
- import normalizeContext from './normalize-context.js';
5
- export default function getScanContext(nodes, context) {
3
+ import { isNodeInScanContext } from './is-node-in-scan-context.js';
4
+ import { normalizeContext } from './normalize-context.js';
5
+ export function getScanContext(nodes, context) {
6
6
  const { include: contextInclude, exclude: contextExclude } = normalizeContext(context);
7
7
  // Filter only nodes that are included by context (see isNodeInContext above).
8
- const nodesInContext = nodes.filter(node => isNodeInScanContext(node, {
8
+ const nodesInContext = nodes.filter((node) => isNodeInScanContext(node, {
9
9
  include: contextInclude,
10
- exclude: contextExclude
10
+ exclude: contextExclude,
11
11
  }));
12
12
  const include = [];
13
13
  const exclude = [];
@@ -15,14 +15,14 @@ export default function getScanContext(nodes, context) {
15
15
  include.push(...nodesInContext);
16
16
  // Now add any included and excluded context nodes that are contained by any of the original nodes.
17
17
  for (const node of nodes) {
18
- const includeDescendants = contextInclude.filter(item => contains(node, item));
18
+ const includeDescendants = contextInclude.filter((item) => contains(node, item));
19
19
  include.push(...includeDescendants);
20
- const excludeDescendants = contextExclude.filter(item => contains(node, item));
20
+ const excludeDescendants = contextExclude.filter((item) => contains(node, item));
21
21
  exclude.push(...excludeDescendants);
22
22
  }
23
23
  return {
24
24
  include: deduplicateNodes(include),
25
- exclude: deduplicateNodes(exclude)
25
+ exclude: deduplicateNodes(exclude),
26
26
  };
27
27
  }
28
28
  //# sourceMappingURL=get-scan-context.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"get-scan-context.js","sourceRoot":"","sources":["../../src/utils/get-scan-context.ts"],"names":[],"mappings":"AACA,OAAO,QAAQ,MAAM,eAAe,CAAC;AACrC,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,mBAAmB,MAAM,8BAA8B,CAAC;AAC/D,OAAO,gBAAgB,MAAM,wBAAwB,CAAC;AAEtD,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,KAAkB,EAAE,OAAgB;IACzE,MAAM,EACJ,OAAO,EAAE,cAAc,EACvB,OAAO,EAAE,cAAc,EACxB,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAE9B,8EAA8E;IAC9E,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CACzC,mBAAmB,CAAC,IAAI,EAAE;QACxB,OAAO,EAAE,cAAc;QACvB,OAAO,EAAE,cAAc;KACxB,CAAC,CACH,CAAC;IAEF,MAAM,OAAO,GAAgB,EAAE,CAAC;IAChC,MAAM,OAAO,GAAgB,EAAE,CAAC;IAEhC,gDAAgD;IAChD,OAAO,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,CAAC;IAEhC,mGAAmG;IACnG,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,kBAAkB,GAAG,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;QAC/E,OAAO,CAAC,IAAI,CAAC,GAAG,kBAAkB,CAAC,CAAC;QACpC,MAAM,kBAAkB,GAAG,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;QAC/E,OAAO,CAAC,IAAI,CAAC,GAAG,kBAAkB,CAAC,CAAC;IACtC,CAAC;IAED,OAAO;QACL,OAAO,EAAE,gBAAgB,CAAC,OAAO,CAAC;QAClC,OAAO,EAAE,gBAAgB,CAAC,OAAO,CAAC;KACnC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"get-scan-context.js","sourceRoot":"","sources":["../../src/utils/get-scan-context.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE1D,MAAM,UAAU,cAAc,CAAC,KAAkB,EAAE,OAAgB;IACjE,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,cAAc,EAAE,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAEvF,8EAA8E;IAC9E,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAC3C,mBAAmB,CAAC,IAAI,EAAE;QACxB,OAAO,EAAE,cAAc;QACvB,OAAO,EAAE,cAAc;KACxB,CAAC,CACH,CAAC;IAEF,MAAM,OAAO,GAAgB,EAAE,CAAC;IAChC,MAAM,OAAO,GAAgB,EAAE,CAAC;IAEhC,gDAAgD;IAChD,OAAO,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,CAAC;IAEhC,mGAAmG;IACnG,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,kBAAkB,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;QACjF,OAAO,CAAC,IAAI,CAAC,GAAG,kBAAkB,CAAC,CAAC;QACpC,MAAM,kBAAkB,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;QACjF,OAAO,CAAC,IAAI,CAAC,GAAG,kBAAkB,CAAC,CAAC;IACtC,CAAC;IAED,OAAO;QACL,OAAO,EAAE,gBAAgB,CAAC,OAAO,CAAC;QAClC,OAAO,EAAE,gBAAgB,CAAC,OAAO,CAAC;KACnC,CAAC;AACJ,CAAC"}
@@ -1,2 +1,2 @@
1
- export default function getScrollableAncestors(element: Element, win: Window): Set<Element>;
1
+ export declare function getScrollableAncestors(element: Element, win: Window): Set<Element>;
2
2
  //# sourceMappingURL=get-scrollable-ancestors.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"get-scrollable-ancestors.d.ts","sourceRoot":"","sources":["../../src/utils/get-scrollable-ancestors.ts"],"names":[],"mappings":"AAIA,MAAM,CAAC,OAAO,UAAU,sBAAsB,CAAE,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,gBAc5E"}
1
+ {"version":3,"file":"get-scrollable-ancestors.d.ts","sourceRoot":"","sources":["../../src/utils/get-scrollable-ancestors.ts"],"names":[],"mappings":"AAIA,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,gBAiBnE"}
@@ -1,19 +1,19 @@
1
- import getParent from './get-parent.js';
1
+ import { getParent } from './get-parent.js';
2
2
  const scrollableOverflowValues = new Set(['auto', 'scroll', 'hidden']);
3
- export default function getScrollableAncestors(element, win) {
3
+ export function getScrollableAncestors(element, win) {
4
4
  let currentElement = element;
5
- let scrollableAncestors = new Set();
5
+ const scrollableAncestors = new Set();
6
6
  while (true) {
7
7
  currentElement = getParent(currentElement);
8
8
  if (!currentElement) {
9
9
  break;
10
10
  }
11
11
  const computedStyle = win.getComputedStyle(currentElement);
12
- if (scrollableOverflowValues.has(computedStyle.overflowX) || scrollableOverflowValues.has(computedStyle.overflowY)) {
12
+ if (scrollableOverflowValues.has(computedStyle.overflowX) ||
13
+ scrollableOverflowValues.has(computedStyle.overflowY)) {
13
14
  scrollableAncestors.add(currentElement);
14
15
  }
15
16
  }
16
17
  return scrollableAncestors;
17
18
  }
18
- ;
19
19
  //# sourceMappingURL=get-scrollable-ancestors.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"get-scrollable-ancestors.js","sourceRoot":"","sources":["../../src/utils/get-scrollable-ancestors.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,iBAAiB,CAAC;AAExC,MAAM,wBAAwB,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;AAEvE,MAAM,CAAC,OAAO,UAAU,sBAAsB,CAAE,OAAgB,EAAE,GAAW;IAC3E,IAAI,cAAc,GAAmB,OAAO,CAAC;IAC7C,IAAI,mBAAmB,GAAG,IAAI,GAAG,EAAW,CAAC;IAC7C,OAAO,IAAI,EAAE,CAAC;QACZ,cAAc,GAAG,SAAS,CAAC,cAAc,CAAC,CAAC;QAC3C,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,MAAM;QACR,CAAC;QACD,MAAM,aAAa,GAAG,GAAG,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC;QAC3D,IAAI,wBAAwB,CAAC,GAAG,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,wBAAwB,CAAC,GAAG,CAAC,aAAa,CAAC,SAAS,CAAC,EAAE,CAAC;YACnH,mBAAmB,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;IACD,OAAO,mBAAmB,CAAC;AAC7B,CAAC;AAAA,CAAC"}
1
+ {"version":3,"file":"get-scrollable-ancestors.js","sourceRoot":"","sources":["../../src/utils/get-scrollable-ancestors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,MAAM,wBAAwB,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;AAEvE,MAAM,UAAU,sBAAsB,CAAC,OAAgB,EAAE,GAAW;IAClE,IAAI,cAAc,GAAmB,OAAO,CAAC;IAC7C,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAW,CAAC;IAC/C,OAAO,IAAI,EAAE,CAAC;QACZ,cAAc,GAAG,SAAS,CAAC,cAAc,CAAC,CAAC;QAC3C,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,MAAM;QACR,CAAC;QACD,MAAM,aAAa,GAAG,GAAG,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC;QAC3D,IACE,wBAAwB,CAAC,GAAG,CAAC,aAAa,CAAC,SAAS,CAAC;YACrD,wBAAwB,CAAC,GAAG,CAAC,aAAa,CAAC,SAAS,CAAC,EACrD,CAAC;YACD,mBAAmB,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;IACD,OAAO,mBAAmB,CAAC;AAC7B,CAAC"}
@@ -1,3 +1,3 @@
1
- import type { ScanContext } from '../types';
2
- export default function isNodeInScanContext(node: Node, { include, exclude }: ScanContext): boolean;
1
+ import type { ScanContext } from '../types.ts';
2
+ export declare function isNodeInScanContext(node: Node, { include, exclude }: ScanContext): boolean;
3
3
  //# sourceMappingURL=is-node-in-scan-context.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"is-node-in-scan-context.d.ts","sourceRoot":"","sources":["../../src/utils/is-node-in-scan-context.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAc5C,MAAM,CAAC,OAAO,UAAU,mBAAmB,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,WAAW,GAAG,OAAO,CAYlG"}
1
+ {"version":3,"file":"is-node-in-scan-context.d.ts","sourceRoot":"","sources":["../../src/utils/is-node-in-scan-context.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAc/C,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,WAAW,GAAG,OAAO,CAY1F"}
@@ -1,6 +1,6 @@
1
1
  /* Adapted from https://github.com/dequelabs/axe-core/blob/fd6239bfc97ebc904044f93f68d7e49137f744ad/lib/core/utils/is-node-in-context.js */
2
- import contains from './contains.js';
3
- import ensureNonEmpty from './ensure-non-empty.js';
2
+ import { contains } from './contains.js';
3
+ import { ensureNonEmpty } from './ensure-non-empty.js';
4
4
  function getDeepest(nodes) {
5
5
  let deepest = nodes[0];
6
6
  for (const node of nodes.slice(1)) {
@@ -10,12 +10,12 @@ function getDeepest(nodes) {
10
10
  }
11
11
  return deepest;
12
12
  }
13
- export default function isNodeInScanContext(node, { include, exclude }) {
14
- const filteredInclude = include.filter(includeNode => contains(includeNode, node));
13
+ export function isNodeInScanContext(node, { include, exclude }) {
14
+ const filteredInclude = include.filter((includeNode) => contains(includeNode, node));
15
15
  if (filteredInclude.length === 0) {
16
16
  return false;
17
17
  }
18
- const filteredExclude = exclude.filter(excludeNode => contains(excludeNode, node));
18
+ const filteredExclude = exclude.filter((excludeNode) => contains(excludeNode, node));
19
19
  if (filteredExclude.length === 0) {
20
20
  return true;
21
21
  }
@@ -1 +1 @@
1
- {"version":3,"file":"is-node-in-scan-context.js","sourceRoot":"","sources":["../../src/utils/is-node-in-scan-context.ts"],"names":[],"mappings":"AAAA,2IAA2I;AAG3I,OAAO,QAAQ,MAAM,eAAe,CAAC;AACrC,OAAO,cAAc,MAAM,uBAAuB,CAAC;AAEnD,SAAS,UAAU,CAAC,KAAwB;IAC1C,IAAI,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IACvB,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QAClC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC;YAC7B,OAAO,GAAG,IAAI,CAAC;QACjB,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,CAAC,OAAO,UAAU,mBAAmB,CAAC,IAAU,EAAE,EAAE,OAAO,EAAE,OAAO,EAAe;IACvF,MAAM,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,QAAQ,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC;IACnF,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACjC,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,QAAQ,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC;IACnF,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACjC,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,cAAc,GAAG,UAAU,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC,CAAC;IACnE,MAAM,cAAc,GAAG,UAAU,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC,CAAC;IACnE,OAAO,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC;AAClD,CAAC"}
1
+ {"version":3,"file":"is-node-in-scan-context.js","sourceRoot":"","sources":["../../src/utils/is-node-in-scan-context.ts"],"names":[],"mappings":"AAAA,2IAA2I;AAG3I,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,SAAS,UAAU,CAAC,KAAwB;IAC1C,IAAI,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IACvB,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QAClC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC;YAC7B,OAAO,GAAG,IAAI,CAAC;QACjB,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,IAAU,EAAE,EAAE,OAAO,EAAE,OAAO,EAAe;IAC/E,MAAM,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,QAAQ,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC;IACrF,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACjC,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,QAAQ,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC;IACrF,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACjC,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,cAAc,GAAG,UAAU,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC,CAAC;IACnE,MAAM,cAAc,GAAG,UAAU,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC,CAAC;IACnE,OAAO,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC;AAClD,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function isNonEmpty<T>(arr: T[]): arr is [T, ...T[]];
2
+ //# sourceMappingURL=is-non-empty.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"is-non-empty.d.ts","sourceRoot":"","sources":["../../src/utils/is-non-empty.ts"],"names":[],"mappings":"AAAA,wBAAgB,UAAU,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAE1D"}
@@ -0,0 +1,4 @@
1
+ export function isNonEmpty(arr) {
2
+ return arr.length > 0;
3
+ }
4
+ //# sourceMappingURL=is-non-empty.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"is-non-empty.js","sourceRoot":"","sources":["../../src/utils/is-non-empty.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,UAAU,CAAI,GAAQ;IACpC,OAAO,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC;AACxB,CAAC"}
@@ -1,3 +1,3 @@
1
- import type { Context, ScanContext } from '../types';
2
- export default function normalizeContext(context: Context): ScanContext;
1
+ import type { Context, ScanContext } from '../types.ts';
2
+ export declare function normalizeContext(context: Context): ScanContext;
3
3
  //# sourceMappingURL=normalize-context.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"normalize-context.d.ts","sourceRoot":"","sources":["../../src/utils/normalize-context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAyB,WAAW,EAAE,MAAM,UAAU,CAAC;AAuC5E,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,WAAW,CAkBtE"}
1
+ {"version":3,"file":"normalize-context.d.ts","sourceRoot":"","sources":["../../src/utils/normalize-context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAe,WAAW,EAAY,MAAM,aAAa,CAAC;AA8C/E,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,WAAW,CAkB9D"}
@@ -1,11 +1,15 @@
1
- import { isNode, isNodeList } from './dom-helpers.js';
2
1
  import { deduplicateNodes } from './deduplicate-nodes.js';
2
+ import { isNode, isNodeList } from './dom-helpers.js';
3
+ import { isNonEmpty } from './is-non-empty.js';
3
4
  function recursiveSelectAll(selectors, root) {
4
5
  const nodesOnCurrentLevel = root.querySelectorAll(selectors[0]);
5
6
  if (selectors.length === 1) {
6
7
  return Array.from(nodesOnCurrentLevel);
7
8
  }
8
9
  const restSelectors = selectors.slice(1);
10
+ if (!isNonEmpty(restSelectors)) {
11
+ throw new Error('Error: the restSelectors array must not be empty.');
12
+ }
9
13
  const selected = [];
10
14
  for (const node of nodesOnCurrentLevel) {
11
15
  if (node.shadowRoot) {
@@ -18,24 +22,22 @@ function selectorToNodes(selector) {
18
22
  if (typeof selector === 'string') {
19
23
  return recursiveSelectAll([selector], document);
20
24
  }
21
- else if (isNode(selector)) {
25
+ if (isNode(selector)) {
22
26
  return [selector];
23
27
  }
24
- else {
25
- return recursiveSelectAll(selector.fromShadowDom, document);
26
- }
28
+ return recursiveSelectAll(selector.fromShadowDom, document);
27
29
  }
28
30
  function contextPropToNodes(contextProp) {
29
31
  let nodes = [];
30
32
  if (typeof contextProp === 'object' && (Array.isArray(contextProp) || isNodeList(contextProp))) {
31
- nodes = Array.from(contextProp).map(item => selectorToNodes(item)).flat();
33
+ nodes = Array.from(contextProp).flatMap((item) => selectorToNodes(item));
32
34
  }
33
35
  else {
34
36
  nodes = selectorToNodes(contextProp);
35
37
  }
36
38
  return deduplicateNodes(nodes);
37
39
  }
38
- export default function normalizeContext(context) {
40
+ export function normalizeContext(context) {
39
41
  let contextInclude = [];
40
42
  let contextExclude = [];
41
43
  if (typeof context === 'object' && ('include' in context || 'exclude' in context)) {
@@ -51,7 +53,7 @@ export default function normalizeContext(context) {
51
53
  }
52
54
  return {
53
55
  include: contextInclude,
54
- exclude: contextExclude
56
+ exclude: contextExclude,
55
57
  };
56
58
  }
57
59
  //# sourceMappingURL=normalize-context.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"normalize-context.js","sourceRoot":"","sources":["../../src/utils/normalize-context.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE1D,SAAS,kBAAkB,CAAC,SAAwB,EAAE,IAA2B;IAC/E,MAAM,mBAAmB,GAAG,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAE,CAAC,CAAC;IACjE,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IACzC,CAAC;IACD,MAAM,aAAa,GAAkB,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACxD,MAAM,QAAQ,GAAG,EAAE,CAAC;IACpB,KAAK,MAAM,IAAI,IAAI,mBAAmB,EAAE,CAAC;QACvC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,QAAQ,CAAC,IAAI,CAAC,GAAG,kBAAkB,CAAC,aAAa,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;QACvE,CAAC;IACH,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,eAAe,CAAC,QAAkB;IACzC,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACjC,OAAO,kBAAkB,CAAC,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC;IAClD,CAAC;SAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC5B,OAAO,CAAC,QAAQ,CAAC,CAAC;IACpB,CAAC;SAAM,CAAC;QACN,OAAO,kBAAkB,CAAC,QAAQ,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;IAC9D,CAAC;AACH,CAAC;AAED,SAAS,kBAAkB,CAAC,WAAwB;IAClD,IAAI,KAAK,GAAgB,EAAE,CAAC;IAC5B,IAAI,OAAO,WAAW,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,UAAU,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC;QAC/F,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC5E,CAAC;SAAM,CAAC;QACN,KAAK,GAAG,eAAe,CAAC,WAAW,CAAC,CAAC;IACvC,CAAC;IACD,OAAO,gBAAgB,CAAC,KAAK,CAAC,CAAC;AACjC,CAAC;AAED,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,OAAgB;IACvD,IAAI,cAAc,GAAgB,EAAE,CAAC;IACrC,IAAI,cAAc,GAAgB,EAAE,CAAC;IACrC,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,CAAC,SAAS,IAAI,OAAO,IAAI,SAAS,IAAI,OAAO,CAAC,EAAE,CAAC;QAClF,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YAClC,cAAc,GAAG,kBAAkB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACvD,CAAC;QACD,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YAClC,cAAc,GAAG,kBAAkB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACvD,CAAC;IACH,CAAC;SAAM,CAAC;QACN,cAAc,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAC/C,CAAC;IAED,OAAO;QACL,OAAO,EAAE,cAAc;QACvB,OAAO,EAAE,cAAc;KACxB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"normalize-context.js","sourceRoot":"","sources":["../../src/utils/normalize-context.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- export default function recalculatePositions(): void;
1
+ export declare function recalculatePositions(): void;
2
2
  //# sourceMappingURL=recalculate-positions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"recalculate-positions.d.ts","sourceRoot":"","sources":["../../src/utils/recalculate-positions.ts"],"names":[],"mappings":"AAOA,MAAM,CAAC,OAAO,UAAU,oBAAoB,SAmB3C"}
1
+ {"version":3,"file":"recalculate-positions.d.ts","sourceRoot":"","sources":["../../src/utils/recalculate-positions.ts"],"names":[],"mappings":"AAOA,wBAAgB,oBAAoB,SAmBnC"}
@@ -1,9 +1,9 @@
1
1
  import { batch } from '@preact/signals-core';
2
+ import { logAndRethrow } from '../log-and-rethrow.js';
2
3
  import { extendedElementsWithIssues } from '../state.js';
3
- import getElementPosition from './get-element-position.js';
4
- import logAndRethrow from '../log-and-rethrow.js';
4
+ import { getElementPosition } from './get-element-position.js';
5
5
  let frameRequested = false;
6
- export default function recalculatePositions() {
6
+ export function recalculatePositions() {
7
7
  if (frameRequested) {
8
8
  return;
9
9
  }
@@ -12,11 +12,11 @@ export default function recalculatePositions() {
12
12
  try {
13
13
  frameRequested = false;
14
14
  batch(() => {
15
- extendedElementsWithIssues.value.forEach(({ element, position, visible }) => {
15
+ for (const { element, position, visible } of extendedElementsWithIssues.value) {
16
16
  if (visible.value && element.isConnected) {
17
17
  position.value = getElementPosition(element, window);
18
18
  }
19
- });
19
+ }
20
20
  });
21
21
  }
22
22
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"recalculate-positions.js","sourceRoot":"","sources":["../../src/utils/recalculate-positions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAC7C,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,kBAAkB,MAAM,2BAA2B,CAAC;AAC3D,OAAO,aAAa,MAAM,uBAAuB,CAAC;AAElD,IAAI,cAAc,GAAG,KAAK,CAAC;AAE3B,MAAM,CAAC,OAAO,UAAU,oBAAoB;IAC1C,IAAI,cAAc,EAAE,CAAC;QACnB,OAAO;IACT,CAAC;IACD,cAAc,GAAG,IAAI,CAAC;IACtB,MAAM,CAAC,qBAAqB,CAAC,GAAG,EAAE;QAChC,IAAI,CAAC;YACH,cAAc,GAAG,KAAK,CAAC;YACvB,KAAK,CAAC,GAAG,EAAE;gBACT,0BAA0B,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE;oBAC1E,IAAI,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;wBACzC,QAAQ,CAAC,KAAK,GAAG,kBAAkB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;oBACvD,CAAC;gBACH,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,aAAa,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"recalculate-positions.js","sourceRoot":"","sources":["../../src/utils/recalculate-positions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAE/D,IAAI,cAAc,GAAG,KAAK,CAAC;AAE3B,MAAM,UAAU,oBAAoB;IAClC,IAAI,cAAc,EAAE,CAAC;QACnB,OAAO;IACT,CAAC;IACD,cAAc,GAAG,IAAI,CAAC;IACtB,MAAM,CAAC,qBAAqB,CAAC,GAAG,EAAE;QAChC,IAAI,CAAC;YACH,cAAc,GAAG,KAAK,CAAC;YACvB,KAAK,CAAC,GAAG,EAAE;gBACT,KAAK,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,0BAA0B,CAAC,KAAK,EAAE,CAAC;oBAC9E,IAAI,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;wBACzC,QAAQ,CAAC,KAAK,GAAG,kBAAkB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;oBACvD,CAAC;gBACH,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,aAAa,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -1,2 +1,2 @@
1
- export default function recalculateScrollableAncestors(): void;
1
+ export declare function recalculateScrollableAncestors(): void;
2
2
  //# sourceMappingURL=recalculate-scrollable-ancestors.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"recalculate-scrollable-ancestors.d.ts","sourceRoot":"","sources":["../../src/utils/recalculate-scrollable-ancestors.ts"],"names":[],"mappings":"AAIA,MAAM,CAAC,OAAO,UAAU,8BAA8B,SAQrD"}
1
+ {"version":3,"file":"recalculate-scrollable-ancestors.d.ts","sourceRoot":"","sources":["../../src/utils/recalculate-scrollable-ancestors.ts"],"names":[],"mappings":"AAIA,wBAAgB,8BAA8B,SAQ7C"}
@@ -1,13 +1,13 @@
1
1
  import { batch } from '@preact/signals-core';
2
2
  import { extendedElementsWithIssues } from '../state.js';
3
- import getScrollableAncestors from './get-scrollable-ancestors.js';
4
- export default function recalculateScrollableAncestors() {
3
+ import { getScrollableAncestors } from './get-scrollable-ancestors.js';
4
+ export function recalculateScrollableAncestors() {
5
5
  batch(() => {
6
- extendedElementsWithIssues.value.forEach(({ element, scrollableAncestors }) => {
6
+ for (const { element, scrollableAncestors } of extendedElementsWithIssues.value) {
7
7
  if (element.isConnected) {
8
8
  scrollableAncestors.value = getScrollableAncestors(element, window);
9
9
  }
10
- });
10
+ }
11
11
  });
12
12
  }
13
13
  //# sourceMappingURL=recalculate-scrollable-ancestors.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"recalculate-scrollable-ancestors.js","sourceRoot":"","sources":["../../src/utils/recalculate-scrollable-ancestors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAC7C,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,sBAAsB,MAAM,+BAA+B,CAAC;AAEnE,MAAM,CAAC,OAAO,UAAU,8BAA8B;IACpD,KAAK,CAAC,GAAG,EAAE;QACT,0BAA0B,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE,mBAAmB,EAAE,EAAE,EAAE;YAC5E,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;gBACxB,mBAAmB,CAAC,KAAK,GAAG,sBAAsB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YACtE,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"recalculate-scrollable-ancestors.js","sourceRoot":"","sources":["../../src/utils/recalculate-scrollable-ancestors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAC7C,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAEvE,MAAM,UAAU,8BAA8B;IAC5C,KAAK,CAAC,GAAG,EAAE;QACT,KAAK,MAAM,EAAE,OAAO,EAAE,mBAAmB,EAAE,IAAI,0BAA0B,CAAC,KAAK,EAAE,CAAC;YAChF,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;gBACxB,mBAAmB,CAAC,KAAK,GAAG,sBAAsB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YACtE,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -1,4 +1,4 @@
1
- export default function createShadowDOMAwareMutationObserver(name: string, callback: MutationCallback): {
1
+ export declare function createShadowDOMAwareMutationObserver(name: string, callback: MutationCallback): {
2
2
  "__#4@#shadowRoots": Set<unknown>;
3
3
  "__#4@#options": MutationObserverInit | undefined;
4
4
  observe(target: Node, options?: MutationObserverInit): void;
@@ -1 +1 @@
1
- {"version":3,"file":"shadow-dom-aware-mutation-observer.d.ts","sourceRoot":"","sources":["../../src/utils/shadow-dom-aware-mutation-observer.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,OAAO,UAAU,oCAAoC,CAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,gBAAgB;;qBAIxF,oBAAoB,GAAG,SAAS;oBA8BjB,IAAI,YAAY,oBAAoB,GAAG,IAAI;kBAQ7C,IAAI;iCAKJ,UAAU,KAAK,CAAC,OAAO,GAAG,QAAQ,GAAG,gBAAgB,CAAC;gCAavD,UAAU,KAAK,CAAC,OAAO,GAAG,QAAQ,GAAG,gBAAgB,CAAC;;EAc/E"}
1
+ {"version":3,"file":"shadow-dom-aware-mutation-observer.d.ts","sourceRoot":"","sources":["../../src/utils/shadow-dom-aware-mutation-observer.ts"],"names":[],"mappings":"AAGA,wBAAgB,oCAAoC,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,gBAAgB;;qBAI/E,oBAAoB,GAAG,SAAS;oBA2BjB,IAAI,YAAY,oBAAoB,GAAG,IAAI;kBAQ7C,IAAI;iCAKJ,UAAU,KAAK,CAAC,OAAO,GAAG,QAAQ,GAAG,gBAAgB,CAAC;gCAcvD,UAAU,KAAK,CAAC,OAAO,GAAG,QAAQ,GAAG,gBAAgB,CAAC;;EAa/E"}
@@ -1,25 +1,22 @@
1
- import { isElement, isDocument, isDocumentFragment } from './dom-helpers.js';
2
1
  import { getAccentedElementNames } from '../constants.js';
3
- export default function createShadowDOMAwareMutationObserver(name, callback) {
2
+ import { isDocument, isDocumentFragment, isElement } from './dom-helpers.js';
3
+ export function createShadowDOMAwareMutationObserver(name, callback) {
4
4
  class ShadowDOMAwareMutationObserver extends MutationObserver {
5
5
  #shadowRoots = new Set();
6
6
  #options;
7
7
  constructor(callback) {
8
8
  super((mutations, observer) => {
9
9
  const accentedElementNames = getAccentedElementNames(name);
10
- const childListMutations = mutations
11
- .filter(mutation => mutation.type === 'childList');
10
+ const childListMutations = mutations.filter((mutation) => mutation.type === 'childList');
12
11
  const newElements = childListMutations
13
- .map(mutation => [...mutation.addedNodes])
14
- .flat()
15
- .filter(node => isElement(node))
16
- .filter(node => !accentedElementNames.includes(node.nodeName.toLowerCase()));
12
+ .flatMap((mutation) => [...mutation.addedNodes])
13
+ .filter((node) => isElement(node))
14
+ .filter((node) => !accentedElementNames.includes(node.nodeName.toLowerCase()));
17
15
  this.#observeShadowRoots(newElements);
18
16
  const removedElements = childListMutations
19
- .map(mutation => [...mutation.removedNodes])
20
- .flat()
21
- .filter(node => isElement(node))
22
- .filter(node => !accentedElementNames.includes(node.nodeName.toLowerCase()));
17
+ .flatMap((mutation) => [...mutation.removedNodes])
18
+ .filter((node) => isElement(node))
19
+ .filter((node) => !accentedElementNames.includes(node.nodeName.toLowerCase()));
23
20
  // Mutation observer has no "unobserve" method, so we're simply deleting
24
21
  // the elements from the set of shadow roots.
25
22
  this.#deleteShadowRoots(removedElements);
@@ -39,21 +36,21 @@ export default function createShadowDOMAwareMutationObserver(name, callback) {
39
36
  }
40
37
  #observeShadowRoots = (elements) => {
41
38
  const shadowRoots = elements
42
- .map(element => [...element.querySelectorAll('*')])
43
- .flat()
44
- .filter(element => element.shadowRoot)
45
- .map(element => element.shadowRoot);
39
+ .flatMap((element) => [...element.querySelectorAll('*')])
40
+ .filter((element) => element.shadowRoot)
41
+ .map((element) => element.shadowRoot);
46
42
  for (const shadowRoot of shadowRoots) {
47
- this.#shadowRoots.add(shadowRoot);
48
- this.observe(shadowRoot, this.#options);
43
+ if (shadowRoot) {
44
+ this.#shadowRoots.add(shadowRoot);
45
+ this.observe(shadowRoot, this.#options);
46
+ }
49
47
  }
50
48
  };
51
49
  #deleteShadowRoots = (elements) => {
52
50
  const shadowRoots = elements
53
- .map(element => [...element.querySelectorAll('*')])
54
- .flat()
55
- .filter(element => element.shadowRoot)
56
- .map(element => element.shadowRoot);
51
+ .flatMap((element) => [...element.querySelectorAll('*')])
52
+ .filter((element) => element.shadowRoot)
53
+ .map((element) => element.shadowRoot);
57
54
  for (const shadowRoot of shadowRoots) {
58
55
  this.#shadowRoots.delete(shadowRoot);
59
56
  }