accented 0.0.2 → 1.0.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.
Files changed (217) hide show
  1. package/NOTICE +14 -0
  2. package/README.md +44 -187
  3. package/dist/accented.d.ts +8 -8
  4. package/dist/accented.d.ts.map +1 -1
  5. package/dist/accented.js +37 -30
  6. package/dist/accented.js.map +1 -1
  7. package/dist/common/strings.d.ts +2 -0
  8. package/dist/common/strings.d.ts.map +1 -0
  9. package/dist/common/strings.js +2 -0
  10. package/dist/common/strings.js.map +1 -0
  11. package/dist/common/tokens.d.ts +7 -0
  12. package/dist/common/tokens.d.ts.map +1 -0
  13. package/dist/common/tokens.js +8 -0
  14. package/dist/common/tokens.js.map +1 -0
  15. package/dist/constants.d.ts +2 -1
  16. package/dist/constants.d.ts.map +1 -1
  17. package/dist/constants.js +2 -1
  18. package/dist/constants.js.map +1 -1
  19. package/dist/dom-updater.d.ts +1 -1
  20. package/dist/dom-updater.d.ts.map +1 -1
  21. package/dist/dom-updater.js +73 -31
  22. package/dist/dom-updater.js.map +1 -1
  23. package/dist/elements/accented-dialog.d.ts +18 -10
  24. package/dist/elements/accented-dialog.d.ts.map +1 -1
  25. package/dist/elements/accented-dialog.js +116 -95
  26. package/dist/elements/accented-dialog.js.map +1 -1
  27. package/dist/elements/accented-trigger.d.ts +14 -9
  28. package/dist/elements/accented-trigger.d.ts.map +1 -1
  29. package/dist/elements/accented-trigger.js +83 -24
  30. package/dist/elements/accented-trigger.js.map +1 -1
  31. package/dist/fullscreen-listener.d.ts +2 -0
  32. package/dist/fullscreen-listener.d.ts.map +1 -0
  33. package/dist/fullscreen-listener.js +17 -0
  34. package/dist/fullscreen-listener.js.map +1 -0
  35. package/dist/intersection-observer.d.ts +1 -1
  36. package/dist/intersection-observer.d.ts.map +1 -1
  37. package/dist/intersection-observer.js +12 -6
  38. package/dist/intersection-observer.js.map +1 -1
  39. package/dist/log-and-rethrow.d.ts +1 -1
  40. package/dist/log-and-rethrow.d.ts.map +1 -1
  41. package/dist/log-and-rethrow.js +2 -3
  42. package/dist/log-and-rethrow.js.map +1 -1
  43. package/dist/logger.d.ts +4 -1
  44. package/dist/logger.d.ts.map +1 -1
  45. package/dist/logger.js +6 -3
  46. package/dist/logger.js.map +1 -1
  47. package/dist/register-elements.d.ts +1 -1
  48. package/dist/register-elements.d.ts.map +1 -1
  49. package/dist/register-elements.js +6 -7
  50. package/dist/register-elements.js.map +1 -1
  51. package/dist/resize-listener.d.ts +1 -1
  52. package/dist/resize-listener.d.ts.map +1 -1
  53. package/dist/resize-listener.js +3 -4
  54. package/dist/resize-listener.js.map +1 -1
  55. package/dist/scanner.d.ts +2 -2
  56. package/dist/scanner.d.ts.map +1 -1
  57. package/dist/scanner.js +76 -43
  58. package/dist/scanner.js.map +1 -1
  59. package/dist/scroll-listeners.d.ts +1 -1
  60. package/dist/scroll-listeners.d.ts.map +1 -1
  61. package/dist/scroll-listeners.js +3 -4
  62. package/dist/scroll-listeners.js.map +1 -1
  63. package/dist/state.d.ts +3 -2
  64. package/dist/state.d.ts.map +1 -1
  65. package/dist/state.js +5 -3
  66. package/dist/state.js.map +1 -1
  67. package/dist/task-queue.d.ts +4 -4
  68. package/dist/task-queue.d.ts.map +1 -1
  69. package/dist/task-queue.js +3 -2
  70. package/dist/task-queue.js.map +1 -1
  71. package/dist/types.d.ts +140 -49
  72. package/dist/types.d.ts.map +1 -1
  73. package/dist/types.js.map +1 -1
  74. package/dist/utils/are-elements-with-issues-equal.d.ts +3 -0
  75. package/dist/utils/are-elements-with-issues-equal.d.ts.map +1 -0
  76. package/dist/utils/are-elements-with-issues-equal.js +5 -0
  77. package/dist/utils/are-elements-with-issues-equal.js.map +1 -0
  78. package/dist/utils/are-issue-sets-equal.d.ts +2 -2
  79. package/dist/utils/are-issue-sets-equal.d.ts.map +1 -1
  80. package/dist/utils/are-issue-sets-equal.js +3 -3
  81. package/dist/utils/are-issue-sets-equal.js.map +1 -1
  82. package/dist/utils/containing-blocks.d.ts +3 -0
  83. package/dist/utils/containing-blocks.d.ts.map +1 -0
  84. package/dist/utils/containing-blocks.js +46 -0
  85. package/dist/utils/containing-blocks.js.map +1 -0
  86. package/dist/utils/contains.d.ts +2 -0
  87. package/dist/utils/contains.d.ts.map +1 -0
  88. package/dist/utils/contains.js +19 -0
  89. package/dist/utils/contains.js.map +1 -0
  90. package/dist/utils/deduplicate-nodes.d.ts +2 -0
  91. package/dist/utils/deduplicate-nodes.d.ts.map +1 -0
  92. package/dist/utils/deduplicate-nodes.js +4 -0
  93. package/dist/utils/deduplicate-nodes.js.map +1 -0
  94. package/dist/utils/deep-merge.d.ts +1 -1
  95. package/dist/utils/deep-merge.d.ts.map +1 -1
  96. package/dist/utils/deep-merge.js +8 -5
  97. package/dist/utils/deep-merge.js.map +1 -1
  98. package/dist/utils/dom-helpers.d.ts +9 -0
  99. package/dist/utils/dom-helpers.d.ts.map +1 -0
  100. package/dist/utils/dom-helpers.js +34 -0
  101. package/dist/utils/dom-helpers.js.map +1 -0
  102. package/dist/utils/ensure-non-empty.d.ts +2 -0
  103. package/dist/utils/ensure-non-empty.d.ts.map +1 -0
  104. package/dist/utils/ensure-non-empty.js +7 -0
  105. package/dist/utils/ensure-non-empty.js.map +1 -0
  106. package/dist/utils/get-element-html.d.ts +1 -1
  107. package/dist/utils/get-element-html.d.ts.map +1 -1
  108. package/dist/utils/get-element-html.js +4 -2
  109. package/dist/utils/get-element-html.js.map +1 -1
  110. package/dist/utils/get-element-position.d.ts +10 -2
  111. package/dist/utils/get-element-position.d.ts.map +1 -1
  112. package/dist/utils/get-element-position.js +64 -16
  113. package/dist/utils/get-element-position.js.map +1 -1
  114. package/dist/utils/get-parent.d.ts +2 -0
  115. package/dist/utils/get-parent.d.ts.map +1 -0
  116. package/dist/utils/get-parent.js +12 -0
  117. package/dist/utils/get-parent.js.map +1 -0
  118. package/dist/utils/get-scan-context.d.ts +3 -0
  119. package/dist/utils/get-scan-context.d.ts.map +1 -0
  120. package/dist/utils/get-scan-context.js +28 -0
  121. package/dist/utils/get-scan-context.js.map +1 -0
  122. package/dist/utils/get-scrollable-ancestors.d.ts +1 -1
  123. package/dist/utils/get-scrollable-ancestors.d.ts.map +1 -1
  124. package/dist/utils/get-scrollable-ancestors.js +10 -6
  125. package/dist/utils/get-scrollable-ancestors.js.map +1 -1
  126. package/dist/utils/is-node-in-scan-context.d.ts +3 -0
  127. package/dist/utils/is-node-in-scan-context.d.ts.map +1 -0
  128. package/dist/utils/is-node-in-scan-context.js +26 -0
  129. package/dist/utils/is-node-in-scan-context.js.map +1 -0
  130. package/dist/utils/is-non-empty.d.ts +2 -0
  131. package/dist/utils/is-non-empty.d.ts.map +1 -0
  132. package/dist/utils/is-non-empty.js +4 -0
  133. package/dist/utils/is-non-empty.js.map +1 -0
  134. package/dist/utils/normalize-context.d.ts +3 -0
  135. package/dist/utils/normalize-context.d.ts.map +1 -0
  136. package/dist/utils/normalize-context.js +59 -0
  137. package/dist/utils/normalize-context.js.map +1 -0
  138. package/dist/utils/recalculate-positions.d.ts +1 -1
  139. package/dist/utils/recalculate-positions.d.ts.map +1 -1
  140. package/dist/utils/recalculate-positions.js +5 -5
  141. package/dist/utils/recalculate-positions.js.map +1 -1
  142. package/dist/utils/recalculate-scrollable-ancestors.d.ts +1 -1
  143. package/dist/utils/recalculate-scrollable-ancestors.d.ts.map +1 -1
  144. package/dist/utils/recalculate-scrollable-ancestors.js +4 -4
  145. package/dist/utils/recalculate-scrollable-ancestors.js.map +1 -1
  146. package/dist/utils/shadow-dom-aware-mutation-observer.d.ts +10 -0
  147. package/dist/utils/shadow-dom-aware-mutation-observer.d.ts.map +1 -0
  148. package/dist/utils/shadow-dom-aware-mutation-observer.js +61 -0
  149. package/dist/utils/shadow-dom-aware-mutation-observer.js.map +1 -0
  150. package/dist/utils/supports-anchor-positioning.d.ts +1 -1
  151. package/dist/utils/supports-anchor-positioning.d.ts.map +1 -1
  152. package/dist/utils/supports-anchor-positioning.js +15 -2
  153. package/dist/utils/supports-anchor-positioning.js.map +1 -1
  154. package/dist/utils/transform-violations.d.ts +2 -2
  155. package/dist/utils/transform-violations.d.ts.map +1 -1
  156. package/dist/utils/transform-violations.js +25 -10
  157. package/dist/utils/transform-violations.js.map +1 -1
  158. package/dist/utils/update-elements-with-issues.d.ts +11 -5
  159. package/dist/utils/update-elements-with-issues.d.ts.map +1 -1
  160. package/dist/utils/update-elements-with-issues.js +56 -24
  161. package/dist/utils/update-elements-with-issues.js.map +1 -1
  162. package/dist/validate-options.d.ts +2 -2
  163. package/dist/validate-options.d.ts.map +1 -1
  164. package/dist/validate-options.js +91 -4
  165. package/dist/validate-options.js.map +1 -1
  166. package/package.json +16 -8
  167. package/src/accented.test.ts +2 -2
  168. package/src/accented.ts +45 -34
  169. package/src/common/strings.ts +2 -0
  170. package/src/common/tokens.ts +10 -0
  171. package/src/constants.ts +2 -1
  172. package/src/dom-updater.ts +87 -34
  173. package/src/elements/accented-dialog.ts +163 -123
  174. package/src/elements/accented-trigger.ts +128 -50
  175. package/src/fullscreen-listener.ts +21 -0
  176. package/src/intersection-observer.ts +27 -16
  177. package/src/log-and-rethrow.ts +2 -3
  178. package/src/logger.ts +14 -4
  179. package/src/register-elements.ts +7 -7
  180. package/src/resize-listener.ts +15 -11
  181. package/src/scanner.ts +113 -57
  182. package/src/scroll-listeners.ts +27 -19
  183. package/src/state.ts +27 -16
  184. package/src/task-queue.test.ts +5 -4
  185. package/src/task-queue.ts +8 -6
  186. package/src/types.ts +179 -76
  187. package/src/utils/are-elements-with-issues-equal.ts +11 -0
  188. package/src/utils/are-issue-sets-equal.test.ts +6 -7
  189. package/src/utils/are-issue-sets-equal.ts +8 -6
  190. package/src/utils/containing-blocks.ts +60 -0
  191. package/src/utils/contains.test.ts +54 -0
  192. package/src/utils/contains.ts +19 -0
  193. package/src/utils/deduplicate-nodes.ts +3 -0
  194. package/src/utils/deep-merge.test.ts +8 -1
  195. package/src/utils/deep-merge.ts +14 -8
  196. package/src/utils/dom-helpers.ts +42 -0
  197. package/src/utils/ensure-non-empty.ts +6 -0
  198. package/src/utils/get-element-html.ts +4 -2
  199. package/src/utils/get-element-position.ts +84 -16
  200. package/src/utils/get-parent.ts +14 -0
  201. package/src/utils/get-scan-context.test.ts +85 -0
  202. package/src/utils/get-scan-context.ts +36 -0
  203. package/src/utils/get-scrollable-ancestors.ts +15 -7
  204. package/src/utils/is-node-in-scan-context.test.ts +70 -0
  205. package/src/utils/is-node-in-scan-context.ts +29 -0
  206. package/src/utils/is-non-empty.ts +3 -0
  207. package/src/utils/normalize-context.test.ts +105 -0
  208. package/src/utils/normalize-context.ts +65 -0
  209. package/src/utils/recalculate-positions.ts +5 -5
  210. package/src/utils/recalculate-scrollable-ancestors.ts +4 -4
  211. package/src/utils/shadow-dom-aware-mutation-observer.ts +75 -0
  212. package/src/utils/supports-anchor-positioning.ts +19 -3
  213. package/src/utils/transform-violations.test.ts +29 -25
  214. package/src/utils/transform-violations.ts +32 -12
  215. package/src/utils/update-elements-with-issues.test.ts +145 -53
  216. package/src/utils/update-elements-with-issues.ts +123 -54
  217. package/src/validate-options.ts +154 -14
@@ -1,24 +1,26 @@
1
- import type { AccentedDialog } from './accented-dialog';
2
- import type { Position } from '../types';
3
1
  import type { Signal } from '@preact/signals-core';
2
+ import type { Position } from '../types.ts';
3
+ import type { AccentedDialog } from './accented-dialog.ts';
4
4
  export interface AccentedTrigger extends HTMLElement {
5
5
  element: Element | undefined;
6
6
  dialog: AccentedDialog | undefined;
7
7
  position: Signal<Position> | undefined;
8
8
  visible: Signal<boolean> | undefined;
9
9
  }
10
- declare const _default: (name: string) => {
10
+ export declare const getAccentedTrigger: (name: string) => {
11
11
  new (): {
12
12
  "__#2@#abortController": AbortController | undefined;
13
13
  "__#2@#dialogCloseAbortController": AbortController | undefined;
14
14
  "__#2@#disposeOfPositionEffect": (() => void) | undefined;
15
15
  "__#2@#disposeOfVisibilityEffect": (() => void) | undefined;
16
+ "__#2@#elementMutationObserver": MutationObserver | undefined;
16
17
  element: Element | undefined;
17
18
  dialog: AccentedDialog | undefined;
18
19
  position: Signal<Position> | undefined;
19
20
  visible: Signal<boolean> | undefined;
20
21
  connectedCallback(): void;
21
22
  disconnectedCallback(): void;
23
+ "__#2@#setTransform"(): void;
22
24
  accessKey: string;
23
25
  readonly accessKeyLabel: string;
24
26
  autocapitalize: string;
@@ -43,13 +45,14 @@ declare const _default: (name: string) => {
43
45
  click(): void;
44
46
  hidePopover(): void;
45
47
  showPopover(): void;
46
- togglePopover(force?: boolean): boolean;
48
+ togglePopover(options?: boolean): boolean;
47
49
  addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
48
50
  addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
49
51
  removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
50
52
  removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
51
53
  readonly attributes: NamedNodeMap;
52
- readonly classList: DOMTokenList;
54
+ get classList(): DOMTokenList;
55
+ set classList(value: string);
53
56
  className: string;
54
57
  readonly clientHeight: number;
55
58
  readonly clientLeft: number;
@@ -64,7 +67,8 @@ declare const _default: (name: string) => {
64
67
  onfullscreenerror: ((this: Element, ev: Event) => any) | null;
65
68
  outerHTML: string;
66
69
  readonly ownerDocument: Document;
67
- readonly part: DOMTokenList;
70
+ get part(): DOMTokenList;
71
+ set part(value: string);
68
72
  readonly prefix: string | null;
69
73
  readonly scrollHeight: number;
70
74
  scrollLeft: number;
@@ -141,7 +145,7 @@ declare const _default: (name: string) => {
141
145
  readonly previousSibling: ChildNode | null;
142
146
  textContent: string | null;
143
147
  appendChild<T extends Node>(node: T): T;
144
- cloneNode(deep?: boolean): Node;
148
+ cloneNode(subtree?: boolean): Node;
145
149
  compareDocumentPosition(other: Node): number;
146
150
  contains(other: Node | null): boolean;
147
151
  getRootNode(options?: GetRootNodeOptions): Node;
@@ -203,6 +207,7 @@ declare const _default: (name: string) => {
203
207
  ariaPosInSet: string | null;
204
208
  ariaPressed: string | null;
205
209
  ariaReadOnly: string | null;
210
+ ariaRelevant: string | null;
206
211
  ariaRequired: string | null;
207
212
  ariaRoleDescription: string | null;
208
213
  ariaRowCount: string | null;
@@ -244,7 +249,8 @@ declare const _default: (name: string) => {
244
249
  replaceChildren(...nodes: (Node | string)[]): void;
245
250
  readonly assignedSlot: HTMLSlotElement | null;
246
251
  readonly attributeStyleMap: StylePropertyMap;
247
- readonly style: CSSStyleDeclaration;
252
+ get style(): CSSStyleDeclaration;
253
+ set style(cssText: string);
248
254
  contentEditable: string;
249
255
  enterKeyHint: string;
250
256
  inputMode: string;
@@ -355,5 +361,4 @@ declare const _default: (name: string) => {
355
361
  focus(options?: FocusOptions): void;
356
362
  };
357
363
  };
358
- export default _default;
359
364
  //# sourceMappingURL=accented-trigger.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"accented-trigger.d.ts","sourceRoot":"","sources":["../../src/elements/accented-trigger.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAInD,MAAM,WAAW,eAAgB,SAAQ,WAAW;IAClD,OAAO,EAAE,OAAO,GAAG,SAAS,CAAC;IAC7B,MAAM,EAAE,cAAc,GAAG,SAAS,CAAC;IACnC,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,GAAG,SAAS,CAAC;IACvC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC;CACtC;+BAMqB,MAAM;;iCAmDN,eAAe,GAAG,SAAS;4CAEhB,eAAe,GAAG,SAAS;yCAE9B,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS;2CAEtB,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS;iBAE3C,OAAO,GAAG,SAAS;gBAEpB,cAAc,GAAG,SAAS;kBAExB,MAAM,CAAC,QAAQ,CAAC,GAAG,SAAS;iBAE7B,MAAM,CAAC,OAAO,CAAC,GAAG,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAjExC,wBAgKE"}
1
+ {"version":3,"file":"accented-trigger.d.ts","sourceRoot":"","sources":["../../src/elements/accented-trigger.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAInD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE5C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D,MAAM,WAAW,eAAgB,SAAQ,WAAW;IAClD,OAAO,EAAE,OAAO,GAAG,SAAS,CAAC;IAC7B,MAAM,EAAE,cAAc,GAAG,SAAS,CAAC;IACnC,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,GAAG,SAAS,CAAC;IACvC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC;CACtC;AAID,eAAO,MAAM,kBAAkB,GAAI,MAAM,MAAM;;iCA+EzB,eAAe,GAAG,SAAS;4CAEhB,eAAe,GAAG,SAAS;yCAE9B,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS;2CAEtB,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS;yCAE1B,gBAAgB,GAAG,SAAS;iBAE7C,OAAO,GAAG,SAAS;gBAEpB,cAAc,GAAG,SAAS;kBAExB,MAAM,CAAC,QAAQ,CAAC,GAAG,SAAS;iBAE7B,MAAM,CAAC,OAAO,CAAC,GAAG,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgJvC,CAAC"}
@@ -1,10 +1,10 @@
1
1
  import { effect } from '@preact/signals-core';
2
- import supportsAnchorPositioning from '../utils/supports-anchor-positioning.js';
3
- import logAndRethrow from '../log-and-rethrow.js';
4
- const triggerSize = 'max(32px, 2rem)';
2
+ import { fontSystemSans } from '../common/tokens.js';
3
+ import { logAndRethrow } from '../log-and-rethrow.js';
4
+ import { supportsAnchorPositioning } from '../utils/supports-anchor-positioning.js';
5
5
  // We want Accented to not throw an error in Node, and use static imports,
6
6
  // so we can't export `class extends HTMLElement` because HTMLElement is not available in Node.
7
- export default (name) => {
7
+ export const getAccentedTrigger = (name) => {
8
8
  const template = document.createElement('template');
9
9
  // I initially tried creating a CSSStyelSheet object with styles instead of having a <style> element in the template,
10
10
  // but that led to a hard-to-catch layout bug in Safari in CI that caused a test to fail.
@@ -14,21 +14,42 @@ export default (name) => {
14
14
  template.innerHTML = `
15
15
  <style>
16
16
  :host {
17
+ --ratio: 1.2;
18
+ --base-size: max(1rem, 16px);
17
19
  position: fixed !important;
18
- inset-inline-end: anchor(self-end) !important;
19
- inset-block-start: anchor(self-start) !important;
20
-
21
- position-visibility: anchors-visible !important;
20
+ ${supportsAnchorPositioning(window)
21
+ ? `
22
+ inset-inline-start: anchor(self-start) !important;
23
+ inset-inline-end: anchor(self-end) !important;
24
+ inset-block-start: anchor(self-start) !important;
25
+ inset-block-end: anchor(self-end) !important;
26
+ `
27
+ : ''}
22
28
 
23
29
  /* Revert potential effects of white-space: pre; set on a trigger's ancestor. */
24
30
  white-space: normal !important;
31
+
32
+ pointer-events: none !important;
25
33
  }
26
34
 
27
35
  #trigger {
36
+ pointer-events: auto;
37
+
38
+ user-select: none;
39
+
40
+ margin-inline-start: auto;
41
+ margin-inline-end: 4px;
42
+ margin-block-start: 4px;
43
+
28
44
  box-sizing: border-box;
29
- font-size: 1rem;
30
- inline-size: ${triggerSize};
31
- block-size: ${triggerSize};
45
+ font-family: ${fontSystemSans};
46
+ font-size: calc(var(--ratio) * var(--ratio) * var(--base-size));
47
+ inline-size: calc(2 * var(--base-size));
48
+ block-size: calc(2 * var(--base-size));
49
+
50
+ display: flex;
51
+ align-items: center;
52
+ justify-content: center;
32
53
 
33
54
  /* Make it look better in forced-colors mode. */
34
55
  border: 2px solid transparent;
@@ -36,6 +57,10 @@ export default (name) => {
36
57
  background-color: var(--${name}-primary-color);
37
58
  color: var(--${name}-secondary-color);
38
59
 
60
+ padding: 0;
61
+
62
+ border-radius: calc(0.25 * var(--base-size));
63
+
39
64
  outline-offset: -4px;
40
65
  outline-color: currentColor;
41
66
  outline-width: 2px;
@@ -45,25 +70,27 @@ export default (name) => {
45
70
  outline-style: solid;
46
71
  }
47
72
 
73
+ /* We should probably be comfortable with showing these styles on non-hover devices. */
48
74
  &:hover:not(:focus-visible) {
49
75
  outline-style: dashed;
50
76
  }
51
77
  }
52
78
  </style>
53
- <button id="trigger" lang="en">⚠</button>
79
+ <button id="trigger" lang="en">á</button>
54
80
  `;
55
81
  return class extends HTMLElement {
56
82
  #abortController;
57
83
  #dialogCloseAbortController;
58
84
  #disposeOfPositionEffect;
59
85
  #disposeOfVisibilityEffect;
86
+ #elementMutationObserver;
60
87
  element;
61
88
  dialog;
62
89
  position;
63
90
  visible;
64
91
  constructor() {
92
+ super();
65
93
  try {
66
- super();
67
94
  this.attachShadow({ mode: 'open' });
68
95
  const content = template.content.cloneNode(true);
69
96
  if (this.shadowRoot) {
@@ -82,10 +109,29 @@ export default (name) => {
82
109
  if (trigger && this.element) {
83
110
  trigger.ariaLabel = `Accessibility issues in ${this.element.nodeName.toLowerCase()}`;
84
111
  }
112
+ this.#setTransform();
113
+ this.#elementMutationObserver = new MutationObserver(() => {
114
+ try {
115
+ this.#setTransform();
116
+ }
117
+ catch (error) {
118
+ logAndRethrow(error);
119
+ }
120
+ });
121
+ if (this.element) {
122
+ this.#elementMutationObserver.observe(this.element, {
123
+ attributes: true,
124
+ });
125
+ }
85
126
  this.#abortController = new AbortController();
86
127
  trigger?.addEventListener('click', (event) => {
87
128
  try {
129
+ // event.preventDefault() ensures that if the issue is within a link,
130
+ // the link's default behavior (following the URL) is prevented.
88
131
  event.preventDefault();
132
+ // event.stopPropagation() ensures that if there's a click handler on the trigger's ancestor
133
+ // (a link, or a button, or anything else), it doesn't get triggered.
134
+ event.stopPropagation();
89
135
  // We append the dialog when the button is clicked,
90
136
  // and remove it from the DOM when the dialog is closed.
91
137
  // This gives us a performance improvement since Axe
@@ -113,19 +159,16 @@ export default (name) => {
113
159
  this.#disposeOfPositionEffect = effect(() => {
114
160
  if (this.position && trigger) {
115
161
  const position = this.position.value;
116
- this.style.setProperty('top', `${position.blockStartTop}px`, 'important');
117
- if (position.direction === 'ltr') {
118
- this.style.setProperty('left', `calc(${position.inlineEndLeft}px - ${triggerSize})`, 'important');
119
- }
120
- else if (this.position.value.direction === 'rtl') {
121
- this.style.setProperty('left', `${position.inlineEndLeft}px`, 'important');
122
- }
162
+ this.style.setProperty('top', `${position.top}px`, 'important');
163
+ this.style.setProperty('left', `${position.left}px`, 'important');
164
+ this.style.setProperty('width', `${position.width}px`, 'important');
165
+ this.style.setProperty('height', `${position.height}px`, 'important');
123
166
  }
124
167
  });
125
- this.#disposeOfVisibilityEffect = effect(() => {
126
- this.style.setProperty('visibility', this.visible?.value ? 'visible' : 'hidden', 'important');
127
- });
128
168
  }
169
+ this.#disposeOfVisibilityEffect = effect(() => {
170
+ this.style.setProperty('visibility', this.visible?.value ? 'visible' : 'hidden', 'important');
171
+ });
129
172
  }
130
173
  }
131
174
  catch (error) {
@@ -137,7 +180,7 @@ export default (name) => {
137
180
  if (this.#abortController) {
138
181
  this.#abortController.abort();
139
182
  }
140
- if (this.#dialogCloseAbortController) {
183
+ if (this.#dialogCloseAbortController && !this.dialog?.open) {
141
184
  this.#dialogCloseAbortController.abort();
142
185
  this.dialog?.remove();
143
186
  }
@@ -149,11 +192,27 @@ export default (name) => {
149
192
  this.#disposeOfVisibilityEffect();
150
193
  this.#disposeOfVisibilityEffect = undefined;
151
194
  }
195
+ if (this.#elementMutationObserver) {
196
+ this.#elementMutationObserver.disconnect();
197
+ }
152
198
  }
153
199
  catch (error) {
154
200
  logAndRethrow(error);
155
201
  }
156
202
  }
203
+ #setTransform() {
204
+ // We read and write values in separate animation frames to avoid layout thrashing.
205
+ window.requestAnimationFrame(() => {
206
+ if (this.element) {
207
+ const transform = window.getComputedStyle(this.element).getPropertyValue('transform');
208
+ if (transform !== 'none') {
209
+ window.requestAnimationFrame(() => {
210
+ this.style.setProperty('transform', transform, 'important');
211
+ });
212
+ }
213
+ }
214
+ });
215
+ }
157
216
  };
158
217
  };
159
218
  //# sourceMappingURL=accented-trigger.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"accented-trigger.js","sourceRoot":"","sources":["../../src/elements/accented-trigger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"accented-trigger.js","sourceRoot":"","sources":["../../src/elements/accented-trigger.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function setupResizeListener(): () => void;
2
+ //# sourceMappingURL=fullscreen-listener.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fullscreen-listener.d.ts","sourceRoot":"","sources":["../src/fullscreen-listener.ts"],"names":[],"mappings":"AAGA,wBAAgB,mBAAmB,eAiBlC"}
@@ -0,0 +1,17 @@
1
+ import { logAndRethrow } from './log-and-rethrow.js';
2
+ import { recalculatePositions } from './utils/recalculate-positions.js';
3
+ export function setupResizeListener() {
4
+ const abortController = new AbortController();
5
+ window.addEventListener('fullscreenchange', () => {
6
+ try {
7
+ recalculatePositions();
8
+ }
9
+ catch (error) {
10
+ logAndRethrow(error);
11
+ }
12
+ }, { signal: abortController.signal });
13
+ return () => {
14
+ abortController.abort();
15
+ };
16
+ }
17
+ //# sourceMappingURL=fullscreen-listener.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fullscreen-listener.js","sourceRoot":"","sources":["../src/fullscreen-listener.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AAExE,MAAM,UAAU,mBAAmB;IACjC,MAAM,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;IAC9C,MAAM,CAAC,gBAAgB,CACrB,kBAAkB,EAClB,GAAG,EAAE;QACH,IAAI,CAAC;YACH,oBAAoB,EAAE,CAAC;QACzB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,aAAa,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC;IACH,CAAC,EACD,EAAE,MAAM,EAAE,eAAe,CAAC,MAAM,EAAE,CACnC,CAAC;IAEF,OAAO,GAAG,EAAE;QACV,eAAe,CAAC,KAAK,EAAE,CAAC;IAC1B,CAAC,CAAC;AACJ,CAAC"}
@@ -1,4 +1,4 @@
1
- export default function setupIntersectionObserver(): {
1
+ export declare function setupIntersectionObserver(): {
2
2
  intersectionObserver: IntersectionObserver;
3
3
  disconnect: () => void;
4
4
  };
@@ -1 +1 @@
1
- {"version":3,"file":"intersection-observer.d.ts","sourceRoot":"","sources":["../src/intersection-observer.ts"],"names":[],"mappings":"AAIA,MAAM,CAAC,OAAO,UAAU,yBAAyB;;;EAuBhD"}
1
+ {"version":3,"file":"intersection-observer.d.ts","sourceRoot":"","sources":["../src/intersection-observer.ts"],"names":[],"mappings":"AAKA,wBAAgB,yBAAyB;;;EAiCxC"}
@@ -1,14 +1,20 @@
1
- import logAndRethrow from './log-and-rethrow.js';
1
+ import { logAndRethrow } from './log-and-rethrow.js';
2
2
  import { extendedElementsWithIssues } from './state.js';
3
- import getElementPosition from './utils/get-element-position.js';
4
- export default function setupIntersectionObserver() {
3
+ import { getElementPosition } from './utils/get-element-position.js';
4
+ import { supportsAnchorPositioning } from './utils/supports-anchor-positioning.js';
5
+ export function setupIntersectionObserver() {
5
6
  const intersectionObserver = new IntersectionObserver((entries) => {
6
7
  try {
7
8
  for (const entry of entries) {
8
- const extendedElementWithIssues = extendedElementsWithIssues.value.find(el => el.element === entry.target);
9
+ const extendedElementWithIssues = extendedElementsWithIssues.value.find((el) => el.element === entry.target);
9
10
  if (extendedElementWithIssues) {
11
+ // We initially treated setting visibility in the intersection observer
12
+ // as a fallback option for browsers that don't support `position-visibility`,
13
+ // but then we realized that this `position-visibility` actually works
14
+ // in an unexpected way when the container has `overflow: visible`.
15
+ // So now we always set visibility in the intersection observer.
10
16
  extendedElementWithIssues.visible.value = entry.isIntersecting;
11
- if (entry.isIntersecting) {
17
+ if (entry.isIntersecting && !supportsAnchorPositioning(window)) {
12
18
  extendedElementWithIssues.position.value = getElementPosition(entry.target, window);
13
19
  }
14
20
  }
@@ -22,7 +28,7 @@ export default function setupIntersectionObserver() {
22
28
  intersectionObserver,
23
29
  disconnect: () => {
24
30
  intersectionObserver.disconnect();
25
- }
31
+ },
26
32
  };
27
33
  }
28
34
  //# sourceMappingURL=intersection-observer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"intersection-observer.js","sourceRoot":"","sources":["../src/intersection-observer.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,0BAA0B,EAAE,MAAM,YAAY,CAAC;AACxD,OAAO,kBAAkB,MAAM,iCAAiC,CAAC;AAEjE,MAAM,CAAC,OAAO,UAAU,yBAAyB;IAC/C,MAAM,oBAAoB,GAAG,IAAI,oBAAoB,CAAC,CAAC,OAAO,EAAE,EAAE;QAChE,IAAI,CAAC;YACH,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;gBAC5B,MAAM,yBAAyB,GAAG,0BAA0B,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,KAAK,KAAK,CAAC,MAAM,CAAC,CAAC;gBAC3G,IAAI,yBAAyB,EAAE,CAAC;oBAC9B,yBAAyB,CAAC,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC,cAAc,CAAC;oBAC/D,IAAI,KAAK,CAAC,cAAc,EAAE,CAAC;wBACzB,yBAAyB,CAAC,QAAQ,CAAC,KAAK,GAAG,kBAAkB,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;oBACtF,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,aAAa,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC;IACH,CAAC,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;IAErB,OAAO;QACL,oBAAoB;QACpB,UAAU,EAAE,GAAG,EAAE;YACf,oBAAoB,CAAC,UAAU,EAAE,CAAC;QACpC,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"intersection-observer.js","sourceRoot":"","sources":["../src/intersection-observer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,0BAA0B,EAAE,MAAM,YAAY,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,yBAAyB,EAAE,MAAM,wCAAwC,CAAC;AAEnF,MAAM,UAAU,yBAAyB;IACvC,MAAM,oBAAoB,GAAG,IAAI,oBAAoB,CACnD,CAAC,OAAO,EAAE,EAAE;QACV,IAAI,CAAC;YACH,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;gBAC5B,MAAM,yBAAyB,GAAG,0BAA0B,CAAC,KAAK,CAAC,IAAI,CACrE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO,KAAK,KAAK,CAAC,MAAM,CACpC,CAAC;gBACF,IAAI,yBAAyB,EAAE,CAAC;oBAC9B,uEAAuE;oBACvE,8EAA8E;oBAC9E,sEAAsE;oBACtE,mEAAmE;oBACnE,gEAAgE;oBAChE,yBAAyB,CAAC,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC,cAAc,CAAC;oBAC/D,IAAI,KAAK,CAAC,cAAc,IAAI,CAAC,yBAAyB,CAAC,MAAM,CAAC,EAAE,CAAC;wBAC/D,yBAAyB,CAAC,QAAQ,CAAC,KAAK,GAAG,kBAAkB,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;oBACtF,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,aAAa,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC;IACH,CAAC,EACD,EAAE,SAAS,EAAE,CAAC,EAAE,CACjB,CAAC;IAEF,OAAO;QACL,oBAAoB;QACpB,UAAU,EAAE,GAAG,EAAE;YACf,oBAAoB,CAAC,UAAU,EAAE,CAAC;QACpC,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -1,2 +1,2 @@
1
- export default function logAndRethrow(error: unknown): void;
1
+ export declare function logAndRethrow(error: unknown): void;
2
2
  //# sourceMappingURL=log-and-rethrow.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"log-and-rethrow.d.ts","sourceRoot":"","sources":["../src/log-and-rethrow.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,KAAK,EAAE,OAAO,QAMnD"}
1
+ {"version":3,"file":"log-and-rethrow.d.ts","sourceRoot":"","sources":["../src/log-and-rethrow.ts"],"names":[],"mappings":"AAEA,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,QAK3C"}
@@ -1,7 +1,6 @@
1
1
  import { issuesUrl } from './constants.js';
2
- export default function logAndRethrow(error) {
3
- console.error(`Accented threw an error (see below). Try updating your browser to the latest version. ` +
4
- `If you’re still seeing the error, file an issue at ${issuesUrl}.`);
2
+ export function logAndRethrow(error) {
3
+ console.error(`Accented threw an error (see below). Try updating your browser to the latest version. If you’re still seeing the error, file an issue at ${issuesUrl}.`);
5
4
  throw error;
6
5
  }
7
6
  //# sourceMappingURL=log-and-rethrow.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"log-and-rethrow.js","sourceRoot":"","sources":["../src/log-and-rethrow.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,KAAc;IAClD,OAAO,CAAC,KAAK,CACX,wFAAwF;QACtF,sDAAsD,SAAS,GAAG,CACrE,CAAC;IACF,MAAM,KAAK,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"log-and-rethrow.js","sourceRoot":"","sources":["../src/log-and-rethrow.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,MAAM,UAAU,aAAa,CAAC,KAAc;IAC1C,OAAO,CAAC,KAAK,CACX,4IAA4I,SAAS,GAAG,CACzJ,CAAC;IACF,MAAM,KAAK,CAAC;AACd,CAAC"}
package/dist/logger.d.ts CHANGED
@@ -1,2 +1,5 @@
1
- export default function createLogger(): () => void;
1
+ export declare function createLogger(): {
2
+ (): void;
3
+ [Symbol.dispose](): void;
4
+ };
2
5
  //# sourceMappingURL=logger.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAIA,MAAM,CAAC,OAAO,UAAU,YAAY,eAqBnC"}
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AASA,wBAAgB,YAAY;;;EA0B3B"}
package/dist/logger.js CHANGED
@@ -1,7 +1,10 @@
1
1
  import { effect } from '@preact/signals-core';
2
- import { elementsWithIssues, enabled } from './state.js';
3
2
  import { accentedUrl } from './constants.js';
4
- export default function createLogger() {
3
+ import { elementsWithIssues, enabled } from './state.js';
4
+ function filterPropsForOutput(elements) {
5
+ return elements.map(({ element, issues }) => ({ element, issues }));
6
+ }
7
+ export function createLogger() {
5
8
  let firstRun = true;
6
9
  return effect(() => {
7
10
  if (!enabled.value) {
@@ -10,7 +13,7 @@ export default function createLogger() {
10
13
  const elementCount = elementsWithIssues.value.length;
11
14
  if (elementCount > 0) {
12
15
  const issueCount = elementsWithIssues.value.reduce((acc, { issues }) => acc + issues.length, 0);
13
- console.log(`${issueCount} accessibility issue${issueCount === 1 ? '' : 's'} found in ${elementCount} element${issueCount === 1 ? '' : 's'} (Accented, ${accentedUrl}):\n`, elementsWithIssues.value);
16
+ console.log(`${issueCount} accessibility issue${issueCount === 1 ? '' : 's'} found in ${elementCount} element${issueCount === 1 ? '' : 's'} (Accented, ${accentedUrl}):\n`, filterPropsForOutput(elementsWithIssues.value));
14
17
  }
15
18
  else {
16
19
  if (firstRun) {
@@ -1 +1 @@
1
- {"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,MAAM,CAAC,OAAO,UAAU,YAAY;IAElC,IAAI,QAAQ,GAAG,IAAI,CAAC;IAEpB,OAAO,MAAM,CAAC,GAAG,EAAE;QACjB,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACnB,OAAO;QACT,CAAC;QAED,MAAM,YAAY,GAAG,kBAAkB,CAAC,KAAK,CAAC,MAAM,CAAC;QACrD,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;YACrB,MAAM,UAAU,GAAG,kBAAkB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YAChG,OAAO,CAAC,GAAG,CAAC,GAAG,UAAU,uBAAuB,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,aAAa,YAAY,WAAW,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,eAAe,WAAW,MAAM,EAAE,kBAAkB,CAAC,KAAK,CAAC,CAAC;QACxM,CAAC;aAAM,CAAC;YACN,IAAI,QAAQ,EAAE,CAAC;gBACb,QAAQ,GAAG,KAAK,CAAC;YACnB,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,4CAA4C,WAAW,IAAI,CAAC,CAAC;YAC3E,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAGzD,SAAS,oBAAoB,CAAC,QAAkC;IAC9D,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;AACtE,CAAC;AAED,MAAM,UAAU,YAAY;IAC1B,IAAI,QAAQ,GAAG,IAAI,CAAC;IAEpB,OAAO,MAAM,CAAC,GAAG,EAAE;QACjB,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACnB,OAAO;QACT,CAAC;QAED,MAAM,YAAY,GAAG,kBAAkB,CAAC,KAAK,CAAC,MAAM,CAAC;QACrD,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;YACrB,MAAM,UAAU,GAAG,kBAAkB,CAAC,KAAK,CAAC,MAAM,CAChD,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,GAAG,GAAG,MAAM,CAAC,MAAM,EACxC,CAAC,CACF,CAAC;YACF,OAAO,CAAC,GAAG,CACT,GAAG,UAAU,uBAAuB,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,aAAa,YAAY,WAAW,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,eAAe,WAAW,MAAM,EAC9J,oBAAoB,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAC/C,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,IAAI,QAAQ,EAAE,CAAC;gBACb,QAAQ,GAAG,KAAK,CAAC;YACnB,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,4CAA4C,WAAW,IAAI,CAAC,CAAC;YAC3E,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -1,2 +1,2 @@
1
- export default function registerElements(name: string): void;
1
+ export declare function registerElements(name: string): void;
2
2
  //# sourceMappingURL=register-elements.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"register-elements.d.ts","sourceRoot":"","sources":["../src/register-elements.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAiB3D"}
1
+ {"version":3,"file":"register-elements.d.ts","sourceRoot":"","sources":["../src/register-elements.ts"],"names":[],"mappings":"AAGA,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAiBnD"}
@@ -1,15 +1,15 @@
1
- import getAccentedTrigger from './elements/accented-trigger.js';
2
- import getAccentedDialog from './elements/accented-dialog.js';
3
- export default function registerElements(name) {
1
+ import { getAccentedDialog } from './elements/accented-dialog.js';
2
+ import { getAccentedTrigger } from './elements/accented-trigger.js';
3
+ export function registerElements(name) {
4
4
  const elements = [
5
5
  {
6
6
  elementName: `${name}-trigger`,
7
- Component: getAccentedTrigger(name)
7
+ Component: getAccentedTrigger(name),
8
8
  },
9
9
  {
10
10
  elementName: `${name}-dialog`,
11
- Component: getAccentedDialog()
12
- }
11
+ Component: getAccentedDialog(),
12
+ },
13
13
  ];
14
14
  for (const { elementName, Component } of elements) {
15
15
  if (!customElements.get(elementName)) {
@@ -17,5 +17,4 @@ export default function registerElements(name) {
17
17
  }
18
18
  }
19
19
  }
20
- ;
21
20
  //# sourceMappingURL=register-elements.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"register-elements.js","sourceRoot":"","sources":["../src/register-elements.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,MAAM,gCAAgC,CAAC;AAChE,OAAO,iBAAiB,MAAM,+BAA+B,CAAC;AAE9D,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,IAAY;IACnD,MAAM,QAAQ,GAAG;QACf;YACE,WAAW,EAAE,GAAG,IAAI,UAAU;YAC9B,SAAS,EAAE,kBAAkB,CAAC,IAAI,CAAC;SACpC;QACD;YACE,WAAW,EAAE,GAAG,IAAI,SAAS;YAC7B,SAAS,EAAE,iBAAiB,EAAE;SAC/B;KACF,CAAC;IAEF,KAAK,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,IAAI,QAAQ,EAAE,CAAC;QAClD,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;YACrC,cAAc,CAAC,MAAM,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;QAChD,CAAC;IACH,CAAC;AACH,CAAC;AAAA,CAAC"}
1
+ {"version":3,"file":"register-elements.js","sourceRoot":"","sources":["../src/register-elements.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAEpE,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC3C,MAAM,QAAQ,GAAG;QACf;YACE,WAAW,EAAE,GAAG,IAAI,UAAU;YAC9B,SAAS,EAAE,kBAAkB,CAAC,IAAI,CAAC;SACpC;QACD;YACE,WAAW,EAAE,GAAG,IAAI,SAAS;YAC7B,SAAS,EAAE,iBAAiB,EAAE;SAC/B;KACF,CAAC;IAEF,KAAK,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,IAAI,QAAQ,EAAE,CAAC;QAClD,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;YACrC,cAAc,CAAC,MAAM,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;QAChD,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -1,2 +1,2 @@
1
- export default function setupResizeListener(): () => void;
1
+ export declare function setupResizeListener(): () => void;
2
2
  //# sourceMappingURL=resize-listener.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"resize-listener.d.ts","sourceRoot":"","sources":["../src/resize-listener.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,OAAO,UAAU,mBAAmB,eAa1C"}
1
+ {"version":3,"file":"resize-listener.d.ts","sourceRoot":"","sources":["../src/resize-listener.ts"],"names":[],"mappings":"AAGA,wBAAgB,mBAAmB,eAiBlC"}
@@ -1,6 +1,6 @@
1
- import logAndRethrow from './log-and-rethrow.js';
2
- import recalculatePositions from './utils/recalculate-positions.js';
3
- export default function setupResizeListener() {
1
+ import { logAndRethrow } from './log-and-rethrow.js';
2
+ import { recalculatePositions } from './utils/recalculate-positions.js';
3
+ export function setupResizeListener() {
4
4
  const abortController = new AbortController();
5
5
  window.addEventListener('resize', () => {
6
6
  try {
@@ -14,5 +14,4 @@ export default function setupResizeListener() {
14
14
  abortController.abort();
15
15
  };
16
16
  }
17
- ;
18
17
  //# sourceMappingURL=resize-listener.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"resize-listener.js","sourceRoot":"","sources":["../src/resize-listener.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,sBAAsB,CAAC;AACjD,OAAO,oBAAoB,MAAM,kCAAkC,CAAC;AAEpE,MAAM,CAAC,OAAO,UAAU,mBAAmB;IACzC,MAAM,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;IAC9C,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,GAAG,EAAE;QACrC,IAAI,CAAC;YACH,oBAAoB,EAAE,CAAC;QACzB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,aAAa,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC;IACH,CAAC,EAAE,EAAE,MAAM,EAAE,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC;IAEvC,OAAO,GAAG,EAAE;QACV,eAAe,CAAC,KAAK,EAAE,CAAC;IAC1B,CAAC,CAAC;AACJ,CAAC;AAAA,CAAC"}
1
+ {"version":3,"file":"resize-listener.js","sourceRoot":"","sources":["../src/resize-listener.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AAExE,MAAM,UAAU,mBAAmB;IACjC,MAAM,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;IAC9C,MAAM,CAAC,gBAAgB,CACrB,QAAQ,EACR,GAAG,EAAE;QACH,IAAI,CAAC;YACH,oBAAoB,EAAE,CAAC;QACzB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,aAAa,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC;IACH,CAAC,EACD,EAAE,MAAM,EAAE,eAAe,CAAC,MAAM,EAAE,CACnC,CAAC;IAEF,OAAO,GAAG,EAAE;QACV,eAAe,CAAC,KAAK,EAAE,CAAC;IAC1B,CAAC,CAAC;AACJ,CAAC"}
package/dist/scanner.d.ts CHANGED
@@ -1,3 +1,3 @@
1
- import type { AxeOptions, Throttle, Callback, AxeContext } from './types';
2
- export default function createScanner(name: string, axeContext: AxeContext, axeOptions: AxeOptions, throttle: Required<Throttle>, callback: Callback): () => void;
1
+ import type { AxeOptions, Callback, Context, Throttle } from './types.ts';
2
+ export declare function createScanner(name: string, context: Context, axeOptions: AxeOptions, throttle: Required<Throttle>, callback: Callback): () => void;
3
3
  //# sourceMappingURL=scanner.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"scanner.d.ts","sourceRoot":"","sources":["../src/scanner.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAQ1E,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,QAAQ,cA+HnJ"}
1
+ {"version":3,"file":"scanner.d.ts","sourceRoot":"","sources":["../src/scanner.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAQ1E,wBAAgB,aAAa,CAC3B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAC5B,QAAQ,EAAE,QAAQ,cAgLnB"}