accented 0.0.0-20250223121749 → 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.
@@ -1 +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;;;;qCAgJhC,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAhWpC,wBAgXE"}
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"}
@@ -242,6 +242,16 @@ export default () => {
242
242
  logAndRethrow(error);
243
243
  }
244
244
  }, { signal: this.#abortController.signal });
245
+ dialog?.addEventListener('keydown', (event) => {
246
+ try {
247
+ if (event.key === 'Escape') {
248
+ event.stopPropagation();
249
+ }
250
+ }
251
+ catch (error) {
252
+ logAndRethrow(error);
253
+ }
254
+ }, { signal: this.#abortController.signal });
245
255
  this.#disposeOfEffect = effect(() => {
246
256
  if (this.issues) {
247
257
  const issues = this.issues.value;
@@ -1 +1 @@
1
- {"version":3,"file":"accented-dialog.js","sourceRoot":"","sources":["../../src/elements/accented-dialog.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"accented-dialog.js","sourceRoot":"","sources":["../../src/elements/accented-dialog.ts"],"names":[],"mappings":"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"}
@@ -13,12 +13,14 @@ declare const _default: (name: string) => {
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;
@@ -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,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;;iCA4DN,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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA5ExC,wBAmME"}
@@ -15,16 +15,25 @@ export default (name) => {
15
15
  <style>
16
16
  :host {
17
17
  position: fixed !important;
18
+ inset-inline-start: anchor(self-start) !important;
18
19
  inset-inline-end: anchor(self-end) !important;
19
20
  inset-block-start: anchor(self-start) !important;
21
+ inset-block-end: anchor(self-end) !important;
20
22
 
21
23
  position-visibility: anchors-visible !important;
22
24
 
23
25
  /* Revert potential effects of white-space: pre; set on a trigger's ancestor. */
24
26
  white-space: normal !important;
27
+
28
+ pointer-events: none !important;
25
29
  }
26
30
 
27
31
  #trigger {
32
+ pointer-events: auto;
33
+
34
+ position: absolute;
35
+ inset-inline-end: 0;
36
+
28
37
  box-sizing: border-box;
29
38
  font-size: 1rem;
30
39
  inline-size: ${triggerSize};
@@ -57,6 +66,7 @@ export default (name) => {
57
66
  #dialogCloseAbortController;
58
67
  #disposeOfPositionEffect;
59
68
  #disposeOfVisibilityEffect;
69
+ #elementMutationObserver;
60
70
  element;
61
71
  dialog;
62
72
  position;
@@ -82,6 +92,20 @@ export default (name) => {
82
92
  if (trigger && this.element) {
83
93
  trigger.ariaLabel = `Accessibility issues in ${this.element.nodeName.toLowerCase()}`;
84
94
  }
95
+ this.#setTransform();
96
+ this.#elementMutationObserver = new MutationObserver(() => {
97
+ try {
98
+ this.#setTransform();
99
+ }
100
+ catch (error) {
101
+ logAndRethrow(error);
102
+ }
103
+ });
104
+ if (this.element) {
105
+ this.#elementMutationObserver.observe(this.element, {
106
+ attributes: true
107
+ });
108
+ }
85
109
  this.#abortController = new AbortController();
86
110
  trigger?.addEventListener('click', (event) => {
87
111
  try {
@@ -113,13 +137,10 @@ export default (name) => {
113
137
  this.#disposeOfPositionEffect = effect(() => {
114
138
  if (this.position && trigger) {
115
139
  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
- }
140
+ this.style.setProperty('top', `${position.top}px`, 'important');
141
+ this.style.setProperty('left', `${position.left}px`, 'important');
142
+ this.style.setProperty('width', `${position.width}px`, 'important');
143
+ this.style.setProperty('height', `${position.height}px`, 'important');
123
144
  }
124
145
  });
125
146
  this.#disposeOfVisibilityEffect = effect(() => {
@@ -149,11 +170,19 @@ export default (name) => {
149
170
  this.#disposeOfVisibilityEffect();
150
171
  this.#disposeOfVisibilityEffect = undefined;
151
172
  }
173
+ if (this.#elementMutationObserver) {
174
+ this.#elementMutationObserver.disconnect();
175
+ }
152
176
  }
153
177
  catch (error) {
154
178
  logAndRethrow(error);
155
179
  }
156
180
  }
181
+ #setTransform() {
182
+ if (this.element) {
183
+ this.style.setProperty('transform', window.getComputedStyle(this.element).getPropertyValue('transform'), 'important');
184
+ }
185
+ }
157
186
  };
158
187
  };
159
188
  //# 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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"}
package/dist/types.d.ts CHANGED
@@ -109,9 +109,10 @@ export type AccentedOptions = {
109
109
  */
110
110
  export type DisableAccented = () => void;
111
111
  export type Position = {
112
- inlineEndLeft: number;
113
- blockStartTop: number;
114
- direction: 'ltr' | 'rtl';
112
+ left: number;
113
+ top: number;
114
+ width: number;
115
+ height: number;
115
116
  };
116
117
  export type Issue = {
117
118
  id: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,UAAU,CAAC;AAChC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAEnE,MAAM,MAAM,QAAQ,GAAG;IACrB;;;;SAIK;IACL,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;;;;;SAMK;IACL,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,MAAM,GAAG;IACnB;;;;SAIK;IACL,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,UAAU,GAAG,GAAG,CAAC,cAAc,CAAC;AAE5C,eAAO,MAAM,iBAAiB,+BAAgC,CAAC;AAE/D,MAAM,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC;AAEhF,KAAK,cAAc,GAAG;IACpB;;SAEK;IACL,kBAAkB,EAAE,KAAK,CAAC,iBAAiB,CAAC,CAAC;IAE7C;;SAEK;IACL,YAAY,EAAE,MAAM,CAAA;CACrB,CAAA;AAED,MAAM,MAAM,QAAQ,GAAG,CAAC,MAAM,EAAE,cAAc,KAAK,IAAI,CAAC;AAExD,MAAM,MAAM,eAAe,GAAG;IAE5B;;;;;;;;;;;;;;;OAeG;IACH,UAAU,CAAC,EAAE,UAAU,CAAC;IAExB;;;;;;;;;;;;;OAaG;IACH,UAAU,CAAC,EAAE,UAAU,CAAC;IAExB;;;;;;;;;;;;;;OAcG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;SAEK;IACL,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;SAEK;IACL,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAEpB;;;;SAIK;IACL,QAAQ,CAAC,EAAE,QAAQ,CAAA;CACpB,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC;AAEzC,MAAM,MAAM,QAAQ,GAAG;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,KAAK,GAAG,KAAK,CAAA;CACzB,CAAC;AAEF,MAAM,MAAM,KAAK,GAAG;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,GAAG,CAAC,WAAW,CAAA;CACxB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,OAAO,EAAE,WAAW,CAAC;IACrB,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,CAAA;CACrB,CAAA;AAED,MAAM,MAAM,yBAAyB,GAAG,IAAI,CAAC,iBAAiB,EAAE,QAAQ,CAAC,GAAG;IAC1E,MAAM,EAAE,MAAM,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC5C,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IACzB,OAAO,EAAE,eAAe,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC3B,mBAAmB,EAAE,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAA;IAC7C,EAAE,EAAE,MAAM,CAAA;CACX,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,UAAU,CAAC;AAChC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAEnE,MAAM,MAAM,QAAQ,GAAG;IACrB;;;;SAIK;IACL,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;;;;;SAMK;IACL,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,MAAM,GAAG;IACnB;;;;SAIK;IACL,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,UAAU,GAAG,GAAG,CAAC,cAAc,CAAC;AAE5C,eAAO,MAAM,iBAAiB,+BAAgC,CAAC;AAE/D,MAAM,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC;AAEhF,KAAK,cAAc,GAAG;IACpB;;SAEK;IACL,kBAAkB,EAAE,KAAK,CAAC,iBAAiB,CAAC,CAAC;IAE7C;;SAEK;IACL,YAAY,EAAE,MAAM,CAAA;CACrB,CAAA;AAED,MAAM,MAAM,QAAQ,GAAG,CAAC,MAAM,EAAE,cAAc,KAAK,IAAI,CAAC;AAExD,MAAM,MAAM,eAAe,GAAG;IAE5B;;;;;;;;;;;;;;;OAeG;IACH,UAAU,CAAC,EAAE,UAAU,CAAC;IAExB;;;;;;;;;;;;;OAaG;IACH,UAAU,CAAC,EAAE,UAAU,CAAC;IAExB;;;;;;;;;;;;;;OAcG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;SAEK;IACL,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;SAEK;IACL,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAEpB;;;;SAIK;IACL,QAAQ,CAAC,EAAE,QAAQ,CAAA;CACpB,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC;AAEzC,MAAM,MAAM,QAAQ,GAAG;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAA;CACf,CAAC;AAEF,MAAM,MAAM,KAAK,GAAG;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,GAAG,CAAC,WAAW,CAAA;CACxB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,OAAO,EAAE,WAAW,CAAC;IACrB,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,CAAA;CACrB,CAAA;AAED,MAAM,MAAM,yBAAyB,GAAG,IAAI,CAAC,iBAAiB,EAAE,QAAQ,CAAC,GAAG;IAC1E,MAAM,EAAE,MAAM,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC5C,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IACzB,OAAO,EAAE,eAAe,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC3B,mBAAmB,EAAE,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAA;IAC7C,EAAE,EAAE,MAAM,CAAA;CACX,CAAC"}
@@ -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;AAEzC,MAAM,CAAC,OAAO,UAAU,kBAAkB,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,GAAG,QAAQ,CAkBlF"}
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;AAwBzC,MAAM,CAAC,OAAO,UAAU,kBAAkB,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,GAAG,QAAQ,CAkClF"}
@@ -1,22 +1,58 @@
1
- export default function getElementPosition(element, win) {
2
- const rect = element.getBoundingClientRect();
3
- const direction = win.getComputedStyle(element).direction;
4
- if (direction === 'ltr') {
5
- return {
6
- inlineEndLeft: rect.right,
7
- blockStartTop: rect.top,
8
- direction
9
- };
1
+ import isHtmlElement from './is-html-element.js';
2
+ // https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_display/Containing_block#identifying_the_containing_block
3
+ function isContainingBlock(element, win) {
4
+ const style = win.getComputedStyle(element);
5
+ const { transform, perspective } = style;
6
+ // TODO: https://github.com/pomerantsev/accented/issues/119
7
+ // Support other types of containing blocks
8
+ return transform !== 'none'
9
+ || perspective !== 'none';
10
+ }
11
+ function getNonInitialContainingBlock(element, win) {
12
+ let currentElement = element;
13
+ while (currentElement?.parentElement) {
14
+ currentElement = currentElement.parentElement;
15
+ if (isContainingBlock(currentElement, win)) {
16
+ return currentElement;
17
+ }
10
18
  }
11
- else if (direction === 'rtl') {
12
- return {
13
- inlineEndLeft: rect.left,
14
- blockStartTop: rect.top,
15
- direction
16
- };
19
+ return null;
20
+ }
21
+ export default function getElementPosition(element, win) {
22
+ const nonInitialContainingBlock = getNonInitialContainingBlock(element, win);
23
+ // If an element has an ancestor whose transform is not 'none',
24
+ // fixed positioning works differently.
25
+ // https://achrafkassioui.com/blog/position-fixed-and-CSS-transforms/
26
+ if (nonInitialContainingBlock) {
27
+ if (isHtmlElement(element)) {
28
+ const width = element.offsetWidth;
29
+ const height = element.offsetHeight;
30
+ let left = element.offsetLeft;
31
+ let top = element.offsetTop;
32
+ let currentElement = element.offsetParent;
33
+ // Non-initial containing block may not be an offset parent, we have to account for that as well.
34
+ while (currentElement && currentElement !== nonInitialContainingBlock) {
35
+ left += currentElement.offsetLeft;
36
+ top += currentElement.offsetTop;
37
+ currentElement = currentElement.offsetParent;
38
+ }
39
+ return { top, left, width, height };
40
+ }
41
+ else {
42
+ // TODO: https://github.com/pomerantsev/accented/issues/116
43
+ // This is half-baked. It works incorrectly with scaled / rotated elements with issues.
44
+ const elementRect = element.getBoundingClientRect();
45
+ const nonInitialContainingBlockRect = nonInitialContainingBlock.getBoundingClientRect();
46
+ return {
47
+ top: elementRect.top - nonInitialContainingBlockRect.top,
48
+ height: elementRect.height,
49
+ left: elementRect.left - nonInitialContainingBlockRect.left,
50
+ width: elementRect.width
51
+ };
52
+ }
17
53
  }
18
54
  else {
19
- throw new Error(`The element ${element} has a direction "${direction}", which is not supported.`);
55
+ return element.getBoundingClientRect();
20
56
  }
21
57
  }
22
58
  //# 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":"AAEA,MAAM,CAAC,OAAO,UAAU,kBAAkB,CAAC,OAAgB,EAAE,GAAW;IACtE,MAAM,IAAI,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC;IAC7C,MAAM,SAAS,GAAG,GAAG,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC;IAC1D,IAAI,SAAS,KAAK,KAAK,EAAE,CAAC;QACxB,OAAO;YACL,aAAa,EAAE,IAAI,CAAC,KAAK;YACzB,aAAa,EAAE,IAAI,CAAC,GAAG;YACvB,SAAS;SACV,CAAC;IACJ,CAAC;SAAM,IAAI,SAAS,KAAK,KAAK,EAAE,CAAC;QAC/B,OAAO;YACL,aAAa,EAAE,IAAI,CAAC,IAAI;YACxB,aAAa,EAAE,IAAI,CAAC,GAAG;YACvB,SAAS;SACV,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,KAAK,CAAC,eAAe,OAAO,qBAAqB,SAAS,4BAA4B,CAAC,CAAC;IACpG,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"get-element-position.js","sourceRoot":"","sources":["../../src/utils/get-element-position.ts"],"names":[],"mappings":"AACA,OAAO,aAAa,MAAM,sBAAsB,CAAC;AAEjD,iHAAiH;AACjH,SAAS,iBAAiB,CAAC,OAAgB,EAAE,GAAW;IACtD,MAAM,KAAK,GAAG,GAAG,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAC5C,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,KAAK,CAAC;IACzC,2DAA2D;IAC3D,2CAA2C;IAC3C,OAAO,SAAS,KAAK,MAAM;WACtB,WAAW,KAAK,MAAM,CAAC;AAC9B,CAAC;AAED,SAAS,4BAA4B,CAAC,OAAgB,EAAE,GAAW;IACjE,IAAI,cAAc,GAAmB,OAAO,CAAC;IAC7C,OAAO,cAAc,EAAE,aAAa,EAAE,CAAC;QACrC,cAAc,GAAG,cAAc,CAAC,aAAa,CAAC;QAC9C,IAAI,iBAAiB,CAAC,cAAc,EAAE,GAAG,CAAC,EAAE,CAAC;YAC3C,OAAO,cAAc,CAAC;QACxB,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,CAAC,OAAO,UAAU,kBAAkB,CAAC,OAAgB,EAAE,GAAW;IACtE,MAAM,yBAAyB,GAAG,4BAA4B,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IAC7E,+DAA+D;IAC/D,uCAAuC;IACvC,qEAAqE;IACrE,IAAI,yBAAyB,EAAE,CAAC;QAC9B,IAAI,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3B,MAAM,KAAK,GAAG,OAAO,CAAC,WAAW,CAAC;YAClC,MAAM,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;YACpC,IAAI,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC;YAC9B,IAAI,GAAG,GAAG,OAAO,CAAC,SAAS,CAAC;YAC5B,IAAI,cAAc,GAAG,OAAO,CAAC,YAAkC,CAAC;YAChE,iGAAiG;YACjG,OAAO,cAAc,IAAI,cAAc,KAAK,yBAAyB,EAAE,CAAC;gBACtE,IAAI,IAAI,cAAc,CAAC,UAAU,CAAC;gBAClC,GAAG,IAAI,cAAc,CAAC,SAAS,CAAC;gBAChC,cAAc,GAAG,cAAc,CAAC,YAAkC,CAAC;YACrE,CAAC;YACD,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QACtC,CAAC;aAAM,CAAC;YACN,2DAA2D;YAC3D,uFAAuF;YACvF,MAAM,WAAW,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC;YACpD,MAAM,6BAA6B,GAAG,yBAAyB,CAAC,qBAAqB,EAAE,CAAC;YACxF,OAAO;gBACL,GAAG,EAAE,WAAW,CAAC,GAAG,GAAG,6BAA6B,CAAC,GAAG;gBACxD,MAAM,EAAE,WAAW,CAAC,MAAM;gBAC1B,IAAI,EAAE,WAAW,CAAC,IAAI,GAAG,6BAA6B,CAAC,IAAI;gBAC3D,KAAK,EAAE,WAAW,CAAC,KAAK;aACzB,CAAC;QACJ,CAAC;IACH,CAAC;SAAM,CAAC;QACN,OAAO,OAAO,CAAC,qBAAqB,EAAE,CAAC;IACzC,CAAC;AACH,CAAC"}
@@ -0,0 +1,2 @@
1
+ export default function isHtmlElement(element: Element): element is HTMLElement;
2
+ //# sourceMappingURL=is-html-element.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"is-html-element.d.ts","sourceRoot":"","sources":["../../src/utils/is-html-element.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,IAAI,WAAW,CAK9E"}
@@ -0,0 +1,7 @@
1
+ export default function isHtmlElement(element) {
2
+ // We can't use instanceof because it may not work across contexts
3
+ // (such as when an element is moved from an iframe).
4
+ // This heuristic seems to be the most robust and fastest that I could think of.
5
+ return element.constructor.name.startsWith('HTML');
6
+ }
7
+ //# sourceMappingURL=is-html-element.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"is-html-element.js","sourceRoot":"","sources":["../../src/utils/is-html-element.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,OAAgB;IACpD,kEAAkE;IAClE,qDAAqD;IACrD,gFAAgF;IAChF,OAAO,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;AACrD,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "accented",
3
- "version": "0.0.0-20250223121749",
3
+ "version": "0.0.0-20250303013509",
4
4
  "description": "Continuous accessibility testing and issue highlighting for web development",
5
5
  "type": "module",
6
6
  "main": "dist/accented.js",
@@ -260,6 +260,16 @@ export default () => {
260
260
  }
261
261
  }, { signal: this.#abortController.signal });
262
262
 
263
+ dialog?.addEventListener('keydown', (event) => {
264
+ try {
265
+ if (event.key === 'Escape') {
266
+ event.stopPropagation();
267
+ }
268
+ } catch (error) {
269
+ logAndRethrow(error);
270
+ }
271
+ }, { signal: this.#abortController.signal });
272
+
263
273
  this.#disposeOfEffect = effect(() => {
264
274
  if (this.issues) {
265
275
  const issues = this.issues.value;
@@ -28,16 +28,25 @@ export default (name: string) => {
28
28
  <style>
29
29
  :host {
30
30
  position: fixed !important;
31
+ inset-inline-start: anchor(self-start) !important;
31
32
  inset-inline-end: anchor(self-end) !important;
32
33
  inset-block-start: anchor(self-start) !important;
34
+ inset-block-end: anchor(self-end) !important;
33
35
 
34
36
  position-visibility: anchors-visible !important;
35
37
 
36
38
  /* Revert potential effects of white-space: pre; set on a trigger's ancestor. */
37
39
  white-space: normal !important;
40
+
41
+ pointer-events: none !important;
38
42
  }
39
43
 
40
44
  #trigger {
45
+ pointer-events: auto;
46
+
47
+ position: absolute;
48
+ inset-inline-end: 0;
49
+
41
50
  box-sizing: border-box;
42
51
  font-size: 1rem;
43
52
  inline-size: ${triggerSize};
@@ -75,6 +84,8 @@ export default (name: string) => {
75
84
 
76
85
  #disposeOfVisibilityEffect: (() => void) | undefined;
77
86
 
87
+ #elementMutationObserver: MutationObserver | undefined;
88
+
78
89
  element: Element | undefined;
79
90
 
80
91
  dialog: AccentedDialog | undefined;
@@ -104,6 +115,23 @@ export default (name: string) => {
104
115
  if (trigger && this.element) {
105
116
  trigger.ariaLabel = `Accessibility issues in ${this.element.nodeName.toLowerCase()}`;
106
117
  }
118
+
119
+ this.#setTransform();
120
+
121
+ this.#elementMutationObserver = new MutationObserver(() => {
122
+ try {
123
+ this.#setTransform();
124
+ } catch (error) {
125
+ logAndRethrow(error);
126
+ }
127
+ });
128
+
129
+ if (this.element) {
130
+ this.#elementMutationObserver.observe(this.element, {
131
+ attributes: true
132
+ });
133
+ }
134
+
107
135
  this.#abortController = new AbortController();
108
136
  trigger?.addEventListener('click', (event) => {
109
137
  try {
@@ -135,12 +163,10 @@ export default (name: string) => {
135
163
  this.#disposeOfPositionEffect = effect(() => {
136
164
  if (this.position && trigger) {
137
165
  const position = this.position.value;
138
- this.style.setProperty('top', `${position.blockStartTop}px`, 'important');
139
- if (position.direction === 'ltr') {
140
- this.style.setProperty('left', `calc(${position.inlineEndLeft}px - ${triggerSize})`, 'important');
141
- } else if (this.position.value.direction === 'rtl') {
142
- this.style.setProperty('left', `${position.inlineEndLeft}px`, 'important');
143
- }
166
+ this.style.setProperty('top', `${position.top}px`, 'important');
167
+ this.style.setProperty('left', `${position.left}px`, 'important');
168
+ this.style.setProperty('width', `${position.width}px`, 'important');
169
+ this.style.setProperty('height', `${position.height}px`, 'important');
144
170
  }
145
171
  });
146
172
 
@@ -171,9 +197,18 @@ export default (name: string) => {
171
197
  this.#disposeOfVisibilityEffect();
172
198
  this.#disposeOfVisibilityEffect = undefined;
173
199
  }
200
+ if (this.#elementMutationObserver) {
201
+ this.#elementMutationObserver.disconnect();
202
+ }
174
203
  } catch (error) {
175
204
  logAndRethrow(error);
176
205
  }
177
206
  }
207
+
208
+ #setTransform() {
209
+ if (this.element) {
210
+ this.style.setProperty('transform', window.getComputedStyle(this.element).getPropertyValue('transform'), 'important');
211
+ }
212
+ }
178
213
  };
179
214
  };
package/src/types.ts CHANGED
@@ -127,9 +127,10 @@ export type AccentedOptions = {
127
127
  export type DisableAccented = () => void;
128
128
 
129
129
  export type Position = {
130
- inlineEndLeft: number,
131
- blockStartTop: number,
132
- direction: 'ltr' | 'rtl'
130
+ left: number,
131
+ top: number,
132
+ width: number,
133
+ height: number
133
134
  };
134
135
 
135
136
  export type Issue = {
@@ -1,21 +1,59 @@
1
1
  import type { Position } from '../types';
2
+ import isHtmlElement from './is-html-element.js';
3
+
4
+ // https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_display/Containing_block#identifying_the_containing_block
5
+ function isContainingBlock(element: Element, win: Window): boolean {
6
+ const style = win.getComputedStyle(element);
7
+ const { transform, perspective } = style;
8
+ // TODO: https://github.com/pomerantsev/accented/issues/119
9
+ // Support other types of containing blocks
10
+ return transform !== 'none'
11
+ || perspective !== 'none';
12
+ }
13
+
14
+ function getNonInitialContainingBlock(element: Element, win: Window): Element | null {
15
+ let currentElement: Element | null = element;
16
+ while (currentElement?.parentElement) {
17
+ currentElement = currentElement.parentElement;
18
+ if (isContainingBlock(currentElement, win)) {
19
+ return currentElement;
20
+ }
21
+ }
22
+ return null;
23
+ }
2
24
 
3
25
  export default function getElementPosition(element: Element, win: Window): Position {
4
- const rect = element.getBoundingClientRect();
5
- const direction = win.getComputedStyle(element).direction;
6
- if (direction === 'ltr') {
7
- return {
8
- inlineEndLeft: rect.right,
9
- blockStartTop: rect.top,
10
- direction
11
- };
12
- } else if (direction === 'rtl') {
13
- return {
14
- inlineEndLeft: rect.left,
15
- blockStartTop: rect.top,
16
- direction
17
- };
26
+ const nonInitialContainingBlock = getNonInitialContainingBlock(element, win);
27
+ // If an element has an ancestor whose transform is not 'none',
28
+ // fixed positioning works differently.
29
+ // https://achrafkassioui.com/blog/position-fixed-and-CSS-transforms/
30
+ if (nonInitialContainingBlock) {
31
+ if (isHtmlElement(element)) {
32
+ const width = element.offsetWidth;
33
+ const height = element.offsetHeight;
34
+ let left = element.offsetLeft;
35
+ let top = element.offsetTop;
36
+ let currentElement = element.offsetParent as HTMLElement | null;
37
+ // Non-initial containing block may not be an offset parent, we have to account for that as well.
38
+ while (currentElement && currentElement !== nonInitialContainingBlock) {
39
+ left += currentElement.offsetLeft;
40
+ top += currentElement.offsetTop;
41
+ currentElement = currentElement.offsetParent as HTMLElement | null;
42
+ }
43
+ return { top, left, width, height };
44
+ } else {
45
+ // TODO: https://github.com/pomerantsev/accented/issues/116
46
+ // This is half-baked. It works incorrectly with scaled / rotated elements with issues.
47
+ const elementRect = element.getBoundingClientRect();
48
+ const nonInitialContainingBlockRect = nonInitialContainingBlock.getBoundingClientRect();
49
+ return {
50
+ top: elementRect.top - nonInitialContainingBlockRect.top,
51
+ height: elementRect.height,
52
+ left: elementRect.left - nonInitialContainingBlockRect.left,
53
+ width: elementRect.width
54
+ };
55
+ }
18
56
  } else {
19
- throw new Error(`The element ${element} has a direction "${direction}", which is not supported.`);
57
+ return element.getBoundingClientRect();
20
58
  }
21
59
  }
@@ -0,0 +1,6 @@
1
+ export default function isHtmlElement(element: Element): element is HTMLElement {
2
+ // We can't use instanceof because it may not work across contexts
3
+ // (such as when an element is moved from an iframe).
4
+ // This heuristic seems to be the most robust and fastest that I could think of.
5
+ return element.constructor.name.startsWith('HTML');
6
+ }
@@ -43,9 +43,10 @@ const element3: HTMLElement = {getBoundingClientRect, isConnected: false};
43
43
  const trigger = win.document.createElement('accented-trigger') as AccentedTrigger;
44
44
 
45
45
  const position = signal({
46
- inlineEndLeft: 0,
47
- blockStartTop: 0,
48
- direction: 'ltr' as const
46
+ left: 0,
47
+ width: 100,
48
+ top: 0,
49
+ height: 100
49
50
  });
50
51
 
51
52
  const visible = signal(true);