accented 0.0.0-20250124142030 → 0.0.0-20250303013509

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 (129) hide show
  1. package/README.md +55 -3
  2. package/dist/accented.d.ts +3 -1
  3. package/dist/accented.d.ts.map +1 -1
  4. package/dist/accented.js +69 -50
  5. package/dist/accented.js.map +1 -1
  6. package/dist/constants.d.ts +3 -0
  7. package/dist/constants.d.ts.map +1 -0
  8. package/dist/constants.js +3 -0
  9. package/dist/constants.js.map +1 -0
  10. package/dist/dom-updater.d.ts +1 -1
  11. package/dist/dom-updater.d.ts.map +1 -1
  12. package/dist/dom-updater.js +26 -19
  13. package/dist/dom-updater.js.map +1 -1
  14. package/dist/elements/{accented-container.d.ts → accented-dialog.d.ts} +10 -4
  15. package/dist/elements/accented-dialog.d.ts.map +1 -0
  16. package/dist/elements/accented-dialog.js +371 -0
  17. package/dist/elements/accented-dialog.js.map +1 -0
  18. package/dist/elements/accented-trigger.d.ts +361 -0
  19. package/dist/elements/accented-trigger.d.ts.map +1 -0
  20. package/dist/elements/accented-trigger.js +188 -0
  21. package/dist/elements/accented-trigger.js.map +1 -0
  22. package/dist/intersection-observer.d.ts +5 -0
  23. package/dist/intersection-observer.d.ts.map +1 -0
  24. package/dist/intersection-observer.js +28 -0
  25. package/dist/intersection-observer.js.map +1 -0
  26. package/dist/log-and-rethrow.d.ts +2 -0
  27. package/dist/log-and-rethrow.d.ts.map +1 -0
  28. package/dist/log-and-rethrow.js +7 -0
  29. package/dist/log-and-rethrow.js.map +1 -0
  30. package/dist/logger.d.ts.map +1 -1
  31. package/dist/logger.js +10 -5
  32. package/dist/logger.js.map +1 -1
  33. package/dist/register-elements.d.ts +2 -0
  34. package/dist/register-elements.d.ts.map +1 -0
  35. package/dist/register-elements.js +21 -0
  36. package/dist/register-elements.js.map +1 -0
  37. package/dist/resize-listener.d.ts +2 -0
  38. package/dist/resize-listener.d.ts.map +1 -0
  39. package/dist/resize-listener.js +18 -0
  40. package/dist/resize-listener.js.map +1 -0
  41. package/dist/scanner.d.ts +2 -2
  42. package/dist/scanner.d.ts.map +1 -1
  43. package/dist/scanner.js +97 -33
  44. package/dist/scanner.js.map +1 -1
  45. package/dist/scroll-listeners.d.ts +2 -0
  46. package/dist/scroll-listeners.d.ts.map +1 -0
  47. package/dist/scroll-listeners.js +38 -0
  48. package/dist/scroll-listeners.js.map +1 -0
  49. package/dist/state.d.ts +1 -0
  50. package/dist/state.d.ts.map +1 -1
  51. package/dist/state.js +6 -0
  52. package/dist/state.js.map +1 -1
  53. package/dist/types.d.ts +71 -18
  54. package/dist/types.d.ts.map +1 -1
  55. package/dist/types.js +1 -0
  56. package/dist/types.js.map +1 -1
  57. package/dist/utils/deep-merge.js +1 -1
  58. package/dist/utils/deep-merge.js.map +1 -1
  59. package/dist/utils/get-element-html.d.ts +2 -0
  60. package/dist/utils/get-element-html.d.ts.map +1 -0
  61. package/dist/utils/get-element-html.js +14 -0
  62. package/dist/utils/get-element-html.js.map +1 -0
  63. package/dist/utils/get-element-position.d.ts +3 -0
  64. package/dist/utils/get-element-position.d.ts.map +1 -0
  65. package/dist/utils/get-element-position.js +58 -0
  66. package/dist/utils/get-element-position.js.map +1 -0
  67. package/dist/utils/get-scrollable-ancestors.d.ts +2 -0
  68. package/dist/utils/get-scrollable-ancestors.d.ts.map +1 -0
  69. package/dist/utils/get-scrollable-ancestors.js +15 -0
  70. package/dist/utils/get-scrollable-ancestors.js.map +1 -0
  71. package/dist/utils/is-html-element.d.ts +2 -0
  72. package/dist/utils/is-html-element.d.ts.map +1 -0
  73. package/dist/utils/is-html-element.js +7 -0
  74. package/dist/utils/is-html-element.js.map +1 -0
  75. package/dist/utils/recalculate-positions.d.ts +2 -0
  76. package/dist/utils/recalculate-positions.d.ts.map +1 -0
  77. package/dist/utils/recalculate-positions.js +27 -0
  78. package/dist/utils/recalculate-positions.js.map +1 -0
  79. package/dist/utils/recalculate-scrollable-ancestors.d.ts +2 -0
  80. package/dist/utils/recalculate-scrollable-ancestors.d.ts.map +1 -0
  81. package/dist/utils/recalculate-scrollable-ancestors.js +13 -0
  82. package/dist/utils/recalculate-scrollable-ancestors.js.map +1 -0
  83. package/dist/utils/supports-anchor-positioning.d.ts +6 -0
  84. package/dist/utils/supports-anchor-positioning.d.ts.map +1 -0
  85. package/dist/utils/supports-anchor-positioning.js +4 -0
  86. package/dist/utils/supports-anchor-positioning.js.map +1 -0
  87. package/dist/utils/transform-violations.d.ts.map +1 -1
  88. package/dist/utils/transform-violations.js +9 -0
  89. package/dist/utils/transform-violations.js.map +1 -1
  90. package/dist/utils/update-elements-with-issues.d.ts +3 -1
  91. package/dist/utils/update-elements-with-issues.d.ts.map +1 -1
  92. package/dist/utils/update-elements-with-issues.js +25 -7
  93. package/dist/utils/update-elements-with-issues.js.map +1 -1
  94. package/dist/validate-options.d.ts +3 -0
  95. package/dist/validate-options.d.ts.map +1 -0
  96. package/dist/validate-options.js +42 -0
  97. package/dist/validate-options.js.map +1 -0
  98. package/package.json +2 -1
  99. package/src/accented.ts +78 -58
  100. package/src/constants.ts +2 -0
  101. package/src/dom-updater.ts +26 -18
  102. package/src/elements/accented-dialog.ts +394 -0
  103. package/src/elements/accented-trigger.ts +214 -0
  104. package/src/intersection-observer.ts +28 -0
  105. package/src/log-and-rethrow.ts +9 -0
  106. package/src/logger.ts +11 -6
  107. package/src/register-elements.ts +21 -0
  108. package/src/resize-listener.ts +17 -0
  109. package/src/scanner.ts +108 -37
  110. package/src/scroll-listeners.ts +37 -0
  111. package/src/state.ts +12 -0
  112. package/src/types.ts +78 -19
  113. package/src/utils/deep-merge.test.ts +7 -0
  114. package/src/utils/deep-merge.ts +1 -1
  115. package/src/utils/get-element-html.ts +13 -0
  116. package/src/utils/get-element-position.ts +59 -0
  117. package/src/utils/get-scrollable-ancestors.ts +14 -0
  118. package/src/utils/is-html-element.ts +6 -0
  119. package/src/utils/recalculate-positions.ts +27 -0
  120. package/src/utils/recalculate-scrollable-ancestors.ts +13 -0
  121. package/src/utils/supports-anchor-positioning.ts +7 -0
  122. package/src/utils/transform-violations.ts +12 -1
  123. package/src/utils/update-elements-with-issues.test.ts +91 -16
  124. package/src/utils/update-elements-with-issues.ts +40 -20
  125. package/src/validate-options.ts +44 -0
  126. package/dist/elements/accented-container.d.ts.map +0 -1
  127. package/dist/elements/accented-container.js +0 -131
  128. package/dist/elements/accented-container.js.map +0 -1
  129. package/src/elements/accented-container.ts +0 -147
package/README.md CHANGED
@@ -37,7 +37,47 @@ The following types are exported for TypeScript consumers:
37
37
 
38
38
  ### Options
39
39
 
40
- #### `outputToConsole`
40
+ #### `axeContext`
41
+
42
+ **Type:** see [documentation](https://www.deque.com/axe/core-documentation/api-documentation/#context-parameter).
43
+
44
+ **Default:** `document`.
45
+
46
+ The `context` parameter for `axe.run()`.
47
+
48
+ Determines what element(s) to scan for accessibility issues.
49
+
50
+ Accepts a variety of shapes:
51
+ * an element reference;
52
+ * a selector;
53
+ * a `NodeList`;
54
+ * an include / exclude object;
55
+ * and more.
56
+
57
+ See documentation: https://www.deque.com/axe/core-documentation/api-documentation/#context-parameter
58
+
59
+ #### `axeOptions`
60
+
61
+ **Type:** object.
62
+
63
+ **Default:** `{}`.
64
+
65
+ The `options` parameter for `axe.run()`.
66
+
67
+ Accented only supports two keys of the `options` object:
68
+
69
+ * `rules`;
70
+ * `runOnly`.
71
+
72
+ Both properties are optional, and both control which accessibility rules your page is tested against.
73
+
74
+ See documentation: https://www.deque.com/axe/core-documentation/api-documentation/#options-parameter
75
+
76
+ #### `output`
77
+
78
+ An object controlling how the results of scans will be presented.
79
+
80
+ #### `output.console`
41
81
 
42
82
  **Type:** boolean.
43
83
 
@@ -79,9 +119,15 @@ The character sequence that’s used in various elements, attributes and stylesh
79
119
  You shouldn’t have to use this attribute unless some of the names on your page conflict with what Accented provides by default.
80
120
 
81
121
  * The data attribute that’s added to elements with issues (default: `data-accented`).
82
- * The custom element that encapsulates the button and dialog attached to each element with issues (default: `accented-container`).
122
+ * The custom elements for the button and the dialog that get created for each element with issues
123
+ (default: `accented-trigger`, `accented-dialog`).
83
124
  * The CSS cascade layer containing page-wide Accented-specific styles (default: `accented`).
84
125
  * The prefix for some of the CSS custom properties used by Accented (default: `--accented-`).
126
+ * The window property that’s used to prevent multiple axe-core scans from running simultaneously
127
+ (default: `__accented_axe_running__`).
128
+
129
+ Only lowercase alphanumeric characters and dashes (-) are allowed in the name,
130
+ and it must start with a lowercase letter.
85
131
 
86
132
  **Example:**
87
133
 
@@ -90,7 +136,7 @@ accented({name: 'my-name'});
90
136
  ```
91
137
 
92
138
  With the above option provided, the attribute set on elements with issues will be `data-my-name`,
93
- the custom element will be called `my-name-container`, and so on.
139
+ a custom element will be called `my-name-trigger`, and so on.
94
140
 
95
141
  #### `throttle`
96
142
 
@@ -130,6 +176,12 @@ This may be useful if you’re expecting bursts of mutations on your page.
130
176
 
131
177
  TODO: Create a separate doc with info on using `:root` and CSS layers to control some aspects of styling.
132
178
 
179
+ Documented CSS custom props:
180
+ * `--accented-primary-color`
181
+ * `--accented-secondary-color`
182
+ * `--accented-outline-width`
183
+ * `--accented-outline-style`
184
+
133
185
  ## Miscellaneous
134
186
 
135
187
  ### Shadow DOM
@@ -12,7 +12,9 @@ export type { AccentedOptions, DisableAccented };
12
12
  *
13
13
  * @example
14
14
  * const disableAccented = accented({
15
- * outputToConsole: false,
15
+ * output: {
16
+ * console: false
17
+ * },
16
18
  * throttle: {
17
19
  * wait: 500,
18
20
  * leading: false
@@ -1 +1 @@
1
- {"version":3,"file":"accented.d.ts","sourceRoot":"","sources":["../src/accented.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAgB,eAAe,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE9E,YAAY,EAAE,eAAe,EAAE,eAAe,EAAE,CAAC;AAiBjD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,OAAO,GAAE,eAAoB,GAAG,eAAe,CAiD/E"}
1
+ {"version":3,"file":"accented.d.ts","sourceRoot":"","sources":["../src/accented.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAKhE,YAAY,EAAE,eAAe,EAAE,eAAe,EAAE,CAAC;AAEjD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,OAAO,GAAE,eAAoB,GAAG,eAAe,CA4E/E"}
package/dist/accented.js CHANGED
@@ -1,23 +1,15 @@
1
+ import registerElements from './register-elements.js';
1
2
  import createDomUpdater from './dom-updater.js';
2
3
  import createLogger from './logger.js';
3
4
  import createScanner from './scanner.js';
5
+ import setupScrollListeners from './scroll-listeners.js';
6
+ import setupResizeListener from './resize-listener.js';
7
+ import setupIntersectionObserver from './intersection-observer.js';
4
8
  import { enabled, extendedElementsWithIssues } from './state.js';
5
9
  import deepMerge from './utils/deep-merge.js';
6
- import getAccentedContainer from './elements/accented-container.js';
7
- // IMPORTANT: when changing any of the properties or values, also do the following:
8
- // * update the default value in the type documentation accordingly;
9
- // * update validations and validation tests if necessary;
10
- // * update examples in the accented() function JSDoc;
11
- // * update examples in the Readme.
12
- const defaultOptions = {
13
- name: 'accented',
14
- outputToConsole: true,
15
- throttle: {
16
- wait: 1000,
17
- leading: true
18
- },
19
- callback: () => { }
20
- };
10
+ import validateOptions from './validate-options.js';
11
+ import supportsAnchorPositioning from './utils/supports-anchor-positioning.js';
12
+ import logAndRethrow from './log-and-rethrow.js';
21
13
  /**
22
14
  * Enables highlighting of elements with accessibility issues.
23
15
  *
@@ -30,7 +22,9 @@ const defaultOptions = {
30
22
  *
31
23
  * @example
32
24
  * const disableAccented = accented({
33
- * outputToConsole: false,
25
+ * output: {
26
+ * console: false
27
+ * },
34
28
  * throttle: {
35
29
  * wait: 500,
36
30
  * leading: false
@@ -42,44 +36,69 @@ const defaultOptions = {
42
36
  * });
43
37
  */
44
38
  export default function accented(options = {}) {
45
- // Argument validation
46
- if (options.throttle !== undefined) {
47
- if (typeof options.throttle !== 'object' || options.throttle === null) {
48
- throw new TypeError(`Invalid argument: \`throttle\` option must be an object if provided. It’s currently set to ${options.throttle}.`);
49
- }
50
- if (options.throttle.wait !== undefined && (typeof options.throttle.wait !== 'number' || options.throttle.wait < 0)) {
51
- throw new TypeError(`Invalid argument: \`throttle.wait\` option must be a non-negative number if provided. It’s currently set to ${options.throttle.wait}.`);
39
+ validateOptions(options);
40
+ try {
41
+ if (typeof window === 'undefined' || typeof document === 'undefined') {
42
+ console.warn('Accented: this script can only run in the browser, and it’s likely running on the server now. Exiting.');
43
+ console.trace();
44
+ return () => { };
52
45
  }
53
- if (options.callback !== undefined && typeof options.callback !== 'function') {
54
- throw new TypeError(`Invalid argument: \`callback\` option must be a function if provided. It’s currently set to ${options.callback}.`);
46
+ const defaultOutput = {
47
+ console: true
48
+ };
49
+ const defaultThrottle = {
50
+ wait: 1000,
51
+ leading: true
52
+ };
53
+ // IMPORTANT: when changing any of the properties or values, also do the following:
54
+ // * update the default value in the type documentation accordingly;
55
+ // * update validations and validation tests if necessary;
56
+ // * update examples in the accented() function JSDoc;
57
+ // * update examples in the Readme.
58
+ const defaultOptions = {
59
+ axeContext: document,
60
+ axeOptions: {},
61
+ name: 'accented',
62
+ output: defaultOutput,
63
+ throttle: defaultThrottle,
64
+ callback: () => { }
65
+ };
66
+ const { axeContext, axeOptions, name, output, throttle, callback } = deepMerge(defaultOptions, options);
67
+ if (enabled.value) {
68
+ // Add link to the recipes section of the docs (#56).
69
+ console.warn('You are trying to run the Accented library more than once. ' +
70
+ 'This will likely lead to errors.');
71
+ console.trace();
55
72
  }
73
+ enabled.value = true;
74
+ registerElements(name);
75
+ const { disconnect: cleanupIntersectionObserver, intersectionObserver } = supportsAnchorPositioning(window) ? {} : setupIntersectionObserver();
76
+ const cleanupScanner = createScanner(name, axeContext, axeOptions, throttle, callback);
77
+ const cleanupDomUpdater = createDomUpdater(name, intersectionObserver);
78
+ const cleanupLogger = output.console ? createLogger() : () => { };
79
+ const cleanupScrollListeners = supportsAnchorPositioning(window) ? () => { } : setupScrollListeners();
80
+ const cleanupResizeListener = supportsAnchorPositioning(window) ? () => { } : setupResizeListener();
81
+ return () => {
82
+ try {
83
+ enabled.value = false;
84
+ extendedElementsWithIssues.value = [];
85
+ cleanupScanner();
86
+ cleanupDomUpdater();
87
+ cleanupLogger();
88
+ cleanupScrollListeners();
89
+ cleanupResizeListener();
90
+ if (cleanupIntersectionObserver) {
91
+ cleanupIntersectionObserver();
92
+ }
93
+ }
94
+ catch (error) {
95
+ logAndRethrow(error);
96
+ }
97
+ };
56
98
  }
57
- if (typeof window === 'undefined' || typeof document === 'undefined') {
58
- console.warn('Accented: this script can only run in the browser, and it’s likely running on the server now. Exiting.');
59
- console.trace();
99
+ catch (error) {
100
+ logAndRethrow(error);
60
101
  return () => { };
61
102
  }
62
- const { name, outputToConsole, throttle, callback } = deepMerge(defaultOptions, options);
63
- const AccentedContainer = getAccentedContainer(name);
64
- if (!customElements.get(`${name}-container`)) {
65
- customElements.define(`${name}-container`, AccentedContainer);
66
- }
67
- if (enabled.value) {
68
- // TODO: add link to relevant docs
69
- console.warn('You are trying to run the Accented library more than once. ' +
70
- 'This will likely lead to errors.');
71
- console.trace();
72
- }
73
- enabled.value = true;
74
- const cleanupScanner = createScanner(name, throttle, callback);
75
- const cleanupDomUpdater = createDomUpdater(name);
76
- const cleanupLogger = outputToConsole ? createLogger() : () => { };
77
- return () => {
78
- enabled.value = false;
79
- extendedElementsWithIssues.value = [];
80
- cleanupScanner();
81
- cleanupDomUpdater();
82
- cleanupLogger();
83
- };
84
103
  }
85
104
  //# sourceMappingURL=accented.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"accented.js","sourceRoot":"","sources":["../src/accented.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"accented.js","sourceRoot":"","sources":["../src/accented.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export declare const accentedUrl = "https://www.npmjs.com/package/accented";
2
+ export declare const issuesUrl = "https://github.com/pomerantsev/accented/issues";
3
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW,2CAA2C,CAAC;AACpE,eAAO,MAAM,SAAS,mDAAmD,CAAC"}
@@ -0,0 +1,3 @@
1
+ export const accentedUrl = 'https://www.npmjs.com/package/accented';
2
+ export const issuesUrl = 'https://github.com/pomerantsev/accented/issues';
3
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,WAAW,GAAG,wCAAwC,CAAC;AACpE,MAAM,CAAC,MAAM,SAAS,GAAG,gDAAgD,CAAC"}
@@ -1,2 +1,2 @@
1
- export default function createDomUpdater(name: string): () => void;
1
+ export default function createDomUpdater(name: string, intersectionObserver?: IntersectionObserver): () => void;
2
2
  //# sourceMappingURL=dom-updater.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"dom-updater.d.ts","sourceRoot":"","sources":["../src/dom-updater.ts"],"names":[],"mappings":"AAIA,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,IAAI,EAAE,MAAM,cAmGpD"}
1
+ {"version":3,"file":"dom-updater.d.ts","sourceRoot":"","sources":["../src/dom-updater.ts"],"names":[],"mappings":"AAKA,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,oBAAoB,CAAC,EAAE,oBAAoB,cA0GjG"}
@@ -1,15 +1,17 @@
1
1
  import { effect } from '@preact/signals-core';
2
2
  import { extendedElementsWithIssues } from './state.js';
3
- export default function createDomUpdater(name) {
3
+ import supportsAnchorPositioning from './utils/supports-anchor-positioning.js';
4
+ export default function createDomUpdater(name, intersectionObserver) {
4
5
  const attrName = `data-${name}`;
5
- function supportsAnchorPositioning() {
6
- return CSS.supports('anchor-name: --foo') && CSS.supports('position-anchor: --foo');
6
+ function getAnchorNames(anchorNameValue) {
7
+ return anchorNameValue
8
+ .split(',')
9
+ .map(anchorName => anchorName.trim())
10
+ .filter(anchorName => anchorName.startsWith('--'));
7
11
  }
8
12
  function setAnchorName(element, id) {
9
13
  const anchorNameValue = element.style.getPropertyValue('anchor-name') || window.getComputedStyle(element).getPropertyValue('anchor-name');
10
- const anchorNames = anchorNameValue
11
- .split(/,\s*/)
12
- .filter(anchorName => anchorName.startsWith('--'));
14
+ const anchorNames = getAnchorNames(anchorNameValue);
13
15
  if (anchorNames.length > 0) {
14
16
  element.style.setProperty('anchor-name', `${anchorNameValue}, --${name}-anchor-${id}`);
15
17
  }
@@ -19,9 +21,7 @@ export default function createDomUpdater(name) {
19
21
  }
20
22
  function removeAnchorName(element, id) {
21
23
  const anchorNameValue = element.style.getPropertyValue('anchor-name');
22
- const anchorNames = anchorNameValue
23
- .split(/,\s*/)
24
- .filter(anchorName => anchorName.startsWith('--'));
24
+ const anchorNames = getAnchorNames(anchorNameValue);
25
25
  const index = anchorNames.indexOf(`--${name}-anchor-${id}`);
26
26
  if (anchorNames.length === 1 && index === 0) {
27
27
  element.style.removeProperty('anchor-name');
@@ -31,25 +31,32 @@ export default function createDomUpdater(name) {
31
31
  }
32
32
  }
33
33
  function setIssues(extendedElementsWithIssues) {
34
- const displayAccentedContainers = supportsAnchorPositioning();
35
34
  for (const elementWithIssues of extendedElementsWithIssues) {
36
35
  elementWithIssues.element.setAttribute(attrName, elementWithIssues.id.toString());
37
- if (displayAccentedContainers) {
36
+ if (supportsAnchorPositioning(window)) {
38
37
  setAnchorName(elementWithIssues.element, elementWithIssues.id);
39
- if (elementWithIssues.element.parentElement) {
40
- elementWithIssues.element.insertAdjacentElement('afterend', elementWithIssues.accentedContainer);
41
- }
42
- else {
43
- elementWithIssues.element.insertAdjacentElement('beforeend', elementWithIssues.accentedContainer);
44
- }
38
+ }
39
+ if (elementWithIssues.element.parentElement) {
40
+ elementWithIssues.element.insertAdjacentElement('afterend', elementWithIssues.trigger);
41
+ }
42
+ else {
43
+ elementWithIssues.element.insertAdjacentElement('beforeend', elementWithIssues.trigger);
44
+ }
45
+ if (intersectionObserver) {
46
+ intersectionObserver.observe(elementWithIssues.element);
45
47
  }
46
48
  }
47
49
  }
48
50
  function removeIssues(extendedElementsWithIssues) {
49
51
  for (const elementWithIssues of extendedElementsWithIssues) {
50
52
  elementWithIssues.element.removeAttribute(attrName);
51
- removeAnchorName(elementWithIssues.element, elementWithIssues.id);
52
- elementWithIssues.accentedContainer.remove();
53
+ if (supportsAnchorPositioning(window)) {
54
+ removeAnchorName(elementWithIssues.element, elementWithIssues.id);
55
+ }
56
+ elementWithIssues.trigger.remove();
57
+ if (intersectionObserver) {
58
+ intersectionObserver.unobserve(elementWithIssues.element);
59
+ }
53
60
  }
54
61
  }
55
62
  const stylesheet = new CSSStyleSheet();
@@ -1 +1 @@
1
- {"version":3,"file":"dom-updater.js","sourceRoot":"","sources":["../src/dom-updater.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dom-updater.js","sourceRoot":"","sources":["../src/dom-updater.ts"],"names":[],"mappings":"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"}
@@ -1,15 +1,21 @@
1
1
  import type { Issue } from '../types';
2
2
  import type { Signal } from '@preact/signals-core';
3
- export interface AccentedContainer extends HTMLElement {
3
+ export interface AccentedDialog extends HTMLElement {
4
4
  issues: Signal<Array<Issue>> | undefined;
5
+ element: Element | undefined;
6
+ showModal: () => void;
5
7
  }
6
- declare const _default: (name: string) => {
8
+ declare const _default: () => {
7
9
  new (): {
8
- "__#1@#abortController": AbortController | undefined;
9
10
  "__#1@#disposeOfEffect": (() => void) | undefined;
11
+ "__#1@#abortController": AbortController | undefined;
10
12
  issues: Signal<Array<Issue>> | undefined;
13
+ element: Element | undefined;
14
+ "__#1@#elementMutationObserver": MutationObserver | undefined;
11
15
  connectedCallback(): void;
12
16
  disconnectedCallback(): void;
17
+ showModal(): void;
18
+ "__#1@#onDialogClick"(event: MouseEvent): void;
13
19
  accessKey: string;
14
20
  readonly accessKeyLabel: string;
15
21
  autocapitalize: string;
@@ -347,4 +353,4 @@ declare const _default: (name: string) => {
347
353
  };
348
354
  };
349
355
  export default _default;
350
- //# sourceMappingURL=accented-container.d.ts.map
356
+ //# sourceMappingURL=accented-dialog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"accented-dialog.d.ts","sourceRoot":"","sources":["../../src/elements/accented-dialog.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAMnD,MAAM,WAAW,cAAe,SAAQ,WAAW;IACjD,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,SAAS,CAAC;IACzC,OAAO,EAAE,OAAO,GAAG,SAAS,CAAC;IAC7B,SAAS,EAAE,MAAM,IAAI,CAAC;CACvB;;;iCA4MqB,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS;iCAExB,eAAe,GAAG,SAAS;gBAErC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,SAAS;iBAE/B,OAAO,GAAG,SAAS;yCAEF,gBAAgB,GAAG,SAAS;;;;qCA0JhC,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA1WpC,wBA0XE"}