accented 0.0.0-20250303013509 → 0.0.0-20250424114613
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.
- package/NOTICE +14 -0
- package/README.md +10 -4
- package/dist/accented.d.ts +2 -2
- package/dist/accented.d.ts.map +1 -1
- package/dist/accented.js +10 -5
- package/dist/accented.js.map +1 -1
- package/dist/constants.d.ts +1 -0
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +1 -0
- package/dist/constants.js.map +1 -1
- package/dist/dom-updater.d.ts.map +1 -1
- package/dist/dom-updater.js +66 -25
- package/dist/dom-updater.js.map +1 -1
- package/dist/elements/accented-dialog.d.ts +11 -7
- package/dist/elements/accented-dialog.d.ts.map +1 -1
- package/dist/elements/accented-dialog.js +85 -86
- package/dist/elements/accented-dialog.js.map +1 -1
- package/dist/elements/accented-trigger.d.ts +9 -5
- package/dist/elements/accented-trigger.d.ts.map +1 -1
- package/dist/elements/accented-trigger.js +35 -11
- package/dist/elements/accented-trigger.js.map +1 -1
- package/dist/fullscreen-listener.d.ts +2 -0
- package/dist/fullscreen-listener.d.ts.map +1 -0
- package/dist/fullscreen-listener.js +18 -0
- package/dist/fullscreen-listener.js.map +1 -0
- package/dist/logger.d.ts.map +1 -1
- package/dist/logger.js +4 -1
- package/dist/logger.js.map +1 -1
- package/dist/scanner.d.ts +2 -2
- package/dist/scanner.d.ts.map +1 -1
- package/dist/scanner.js +33 -19
- package/dist/scanner.js.map +1 -1
- package/dist/state.d.ts +2 -1
- package/dist/state.d.ts.map +1 -1
- package/dist/state.js +3 -0
- package/dist/state.js.map +1 -1
- package/dist/task-queue.d.ts +2 -2
- package/dist/task-queue.d.ts.map +1 -1
- package/dist/task-queue.js +2 -1
- package/dist/task-queue.js.map +1 -1
- package/dist/types.d.ts +42 -8
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist/utils/are-elements-with-issues-equal.d.ts +3 -0
- package/dist/utils/are-elements-with-issues-equal.d.ts.map +1 -0
- package/dist/utils/are-elements-with-issues-equal.js +5 -0
- package/dist/utils/are-elements-with-issues-equal.js.map +1 -0
- package/dist/utils/containing-blocks.d.ts +3 -0
- package/dist/utils/containing-blocks.d.ts.map +1 -0
- package/dist/utils/containing-blocks.js +46 -0
- package/dist/utils/containing-blocks.js.map +1 -0
- package/dist/utils/contains.d.ts +2 -0
- package/dist/utils/contains.d.ts.map +1 -0
- package/dist/utils/contains.js +19 -0
- package/dist/utils/contains.js.map +1 -0
- package/dist/utils/deduplicate-nodes.d.ts +2 -0
- package/dist/utils/deduplicate-nodes.d.ts.map +1 -0
- package/dist/utils/deduplicate-nodes.js +5 -0
- package/dist/utils/deduplicate-nodes.js.map +1 -0
- package/dist/utils/dom-helpers.d.ts +9 -0
- package/dist/utils/dom-helpers.d.ts.map +1 -0
- package/dist/utils/dom-helpers.js +32 -0
- package/dist/utils/dom-helpers.js.map +1 -0
- package/dist/utils/ensure-non-empty.d.ts +2 -0
- package/dist/utils/ensure-non-empty.d.ts.map +1 -0
- package/dist/utils/ensure-non-empty.js +7 -0
- package/dist/utils/ensure-non-empty.js.map +1 -0
- package/dist/utils/get-element-position.d.ts +8 -0
- package/dist/utils/get-element-position.d.ts.map +1 -1
- package/dist/utils/get-element-position.js +27 -11
- package/dist/utils/get-element-position.js.map +1 -1
- package/dist/utils/get-parent.d.ts +2 -0
- package/dist/utils/get-parent.d.ts.map +1 -0
- package/dist/utils/get-parent.js +12 -0
- package/dist/utils/get-parent.js.map +1 -0
- package/dist/utils/get-scan-context.d.ts +3 -0
- package/dist/utils/get-scan-context.d.ts.map +1 -0
- package/dist/utils/get-scan-context.js +28 -0
- package/dist/utils/get-scan-context.js.map +1 -0
- package/dist/utils/get-scrollable-ancestors.d.ts +1 -1
- package/dist/utils/get-scrollable-ancestors.d.ts.map +1 -1
- package/dist/utils/get-scrollable-ancestors.js +6 -2
- package/dist/utils/get-scrollable-ancestors.js.map +1 -1
- package/dist/utils/is-node-in-scan-context.d.ts +3 -0
- package/dist/utils/is-node-in-scan-context.d.ts.map +1 -0
- package/dist/utils/is-node-in-scan-context.js +26 -0
- package/dist/utils/is-node-in-scan-context.js.map +1 -0
- package/dist/utils/normalize-context.d.ts +3 -0
- package/dist/utils/normalize-context.d.ts.map +1 -0
- package/dist/utils/normalize-context.js +57 -0
- package/dist/utils/normalize-context.js.map +1 -0
- package/dist/utils/shadow-dom-aware-mutation-observer.d.ts +10 -0
- package/dist/utils/shadow-dom-aware-mutation-observer.d.ts.map +1 -0
- package/dist/utils/shadow-dom-aware-mutation-observer.js +64 -0
- package/dist/utils/shadow-dom-aware-mutation-observer.js.map +1 -0
- package/dist/utils/transform-violations.d.ts +1 -1
- package/dist/utils/transform-violations.d.ts.map +1 -1
- package/dist/utils/transform-violations.js +18 -5
- package/dist/utils/transform-violations.js.map +1 -1
- package/dist/utils/update-elements-with-issues.d.ts +10 -4
- package/dist/utils/update-elements-with-issues.d.ts.map +1 -1
- package/dist/utils/update-elements-with-issues.js +33 -6
- package/dist/utils/update-elements-with-issues.js.map +1 -1
- package/dist/validate-options.d.ts.map +1 -1
- package/dist/validate-options.js +86 -0
- package/dist/validate-options.js.map +1 -1
- package/package.json +8 -3
- package/src/accented.ts +10 -5
- package/src/constants.ts +1 -0
- package/src/dom-updater.ts +70 -24
- package/src/elements/accented-dialog.ts +88 -90
- package/src/elements/accented-trigger.ts +36 -12
- package/src/fullscreen-listener.ts +17 -0
- package/src/logger.ts +9 -1
- package/src/scanner.ts +37 -20
- package/src/state.ts +10 -2
- package/src/task-queue.ts +6 -4
- package/src/types.ts +55 -9
- package/src/utils/are-elements-with-issues-equal.ts +9 -0
- package/src/utils/containing-blocks.ts +57 -0
- package/src/utils/contains.test.ts +55 -0
- package/src/utils/contains.ts +19 -0
- package/src/utils/deduplicate-nodes.ts +3 -0
- package/src/utils/dom-helpers.ts +38 -0
- package/src/utils/ensure-non-empty.ts +6 -0
- package/src/utils/get-element-position.ts +28 -11
- package/src/utils/get-parent.ts +14 -0
- package/src/utils/get-scan-context.test.ts +79 -0
- package/src/utils/get-scan-context.ts +39 -0
- package/src/utils/get-scrollable-ancestors.ts +10 -5
- package/src/utils/is-node-in-scan-context.test.ts +70 -0
- package/src/utils/is-node-in-scan-context.ts +29 -0
- package/src/utils/normalize-context.test.ts +105 -0
- package/src/utils/normalize-context.ts +58 -0
- package/src/utils/shadow-dom-aware-mutation-observer.ts +78 -0
- package/src/utils/transform-violations.test.ts +10 -8
- package/src/utils/transform-violations.ts +20 -6
- package/src/utils/update-elements-with-issues.test.ts +102 -15
- package/src/utils/update-elements-with-issues.ts +51 -7
- package/src/validate-options.ts +88 -1
- package/dist/utils/is-html-element.d.ts +0 -2
- package/dist/utils/is-html-element.d.ts.map +0 -1
- package/dist/utils/is-html-element.js +0 -7
- package/dist/utils/is-html-element.js.map +0 -1
- package/src/utils/is-html-element.ts +0 -6
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { effect } from '@preact/signals-core';
|
|
2
1
|
import getElementHtml from '../utils/get-element-html.js';
|
|
3
2
|
import { accentedUrl } from '../constants.js';
|
|
4
3
|
import logAndRethrow from '../log-and-rethrow.js';
|
|
@@ -44,20 +43,45 @@ export default () => {
|
|
|
44
43
|
:host {
|
|
45
44
|
all: initial !important;
|
|
46
45
|
|
|
47
|
-
|
|
48
|
-
--
|
|
49
|
-
--
|
|
46
|
+
/* OKLCH stuff: https://oklch.com/ */
|
|
47
|
+
--light-color: oklch(0.98 0 0);
|
|
48
|
+
--dark-color: oklch(0.22 0 0);
|
|
50
49
|
|
|
51
|
-
--
|
|
52
|
-
--
|
|
53
|
-
|
|
54
|
-
--impact-
|
|
50
|
+
--background-color: light-dark(var(--light-color), var(--dark-color));
|
|
51
|
+
--text-color: light-dark(var(--dark-color), var(--light-color));
|
|
52
|
+
|
|
53
|
+
--impact-lightness: 0.80;
|
|
54
|
+
--focus-lightness: 0.45;
|
|
55
|
+
@media (prefers-color-scheme: dark) {
|
|
56
|
+
--impact-lightness: 0.45;
|
|
57
|
+
--focus-lightness: 0.80;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
--blue-hue: 230;
|
|
61
|
+
--gold-hue: 90;
|
|
62
|
+
--red-hue: 0;
|
|
63
|
+
|
|
64
|
+
/* Contrasts with background. */
|
|
65
|
+
--focus-color: oklch(var(--focus-lightness) 0.25 var(--blue-hue));
|
|
66
|
+
|
|
67
|
+
--impact-chroma: 0.16;
|
|
68
|
+
|
|
69
|
+
--impact-moderate-hue: var(--blue-hue);
|
|
70
|
+
--impact-serious-hue: var(--gold-hue);
|
|
71
|
+
--impact-critical-hue: var(--red-hue);
|
|
72
|
+
|
|
73
|
+
--impact-minor-color: oklch(var(--impact-lightness) 0 0);
|
|
74
|
+
--impact-moderate-color: oklch(var(--impact-lightness) var(--impact-chroma) var(--impact-moderate-hue));
|
|
75
|
+
--impact-serious-color: oklch(var(--impact-lightness) var(--impact-chroma) var(--impact-serious-hue));
|
|
76
|
+
--impact-critical-color: oklch(var(--impact-lightness) var(--impact-chroma) var(--impact-critical-hue));
|
|
77
|
+
|
|
78
|
+
--base-size: max(1rem, 16px);
|
|
55
79
|
|
|
56
80
|
/* Spacing and typography custom props, inspired by https://utopia.fyi (simplified). */
|
|
57
81
|
|
|
58
82
|
/* @link https://utopia.fyi/type/calculator?c=320,16,1.2,1240,16,1.2,5,2,&s=0.75|0.5|0.25,1.5|2|3|4|6,s-l&g=s,l,xl,12 */
|
|
59
83
|
--ratio: 1.2;
|
|
60
|
-
--step-0:
|
|
84
|
+
--step-0: var(--base-size);
|
|
61
85
|
--step-1: calc(var(--step-0) * var(--ratio));
|
|
62
86
|
--step-2: calc(var(--step-1) * var(--ratio));
|
|
63
87
|
--step-3: calc(var(--step-2) * var(--ratio));
|
|
@@ -65,15 +89,15 @@ export default () => {
|
|
|
65
89
|
--step--1: calc(var(--step-0) / var(--ratio));
|
|
66
90
|
|
|
67
91
|
/* @link https://utopia.fyi/space/calculator?c=320,16,1.2,1240,16,1.2,5,2,&s=0.75|0.5|0.25,1.5|2|3|4|6,s-l&g=s,l,xl,12 */
|
|
68
|
-
--space-3xs: 0.
|
|
69
|
-
--space-2xs: 0.
|
|
70
|
-
--space-xs: 0.
|
|
71
|
-
--space-s:
|
|
72
|
-
--space-m: 1.
|
|
73
|
-
--space-l:
|
|
74
|
-
--space-xl:
|
|
75
|
-
--space-2xl:
|
|
76
|
-
--space-3xl:
|
|
92
|
+
--space-3xs: calc(0.25 * var(--base-size));
|
|
93
|
+
--space-2xs: calc(0.5 * var(--base-size));
|
|
94
|
+
--space-xs: calc(0.75 * var(--base-size));
|
|
95
|
+
--space-s: var(--base-size);
|
|
96
|
+
--space-m: calc(1.5 * var(--base-size));
|
|
97
|
+
--space-l: calc(2 * var(--base-size));
|
|
98
|
+
--space-xl: calc(3 * var(--base-size));
|
|
99
|
+
--space-2xl: calc(4 * var(--base-size));
|
|
100
|
+
--space-3xl: calc(6 * var(--base-size));
|
|
77
101
|
}
|
|
78
102
|
|
|
79
103
|
a[href], button {
|
|
@@ -104,12 +128,15 @@ export default () => {
|
|
|
104
128
|
overflow-wrap: break-word;
|
|
105
129
|
font-family: system-ui;
|
|
106
130
|
line-height: 1.5;
|
|
107
|
-
|
|
108
|
-
color: var(--
|
|
131
|
+
text-wrap: pretty;
|
|
132
|
+
background-color: var(--background-color);
|
|
133
|
+
color: var(--text-color);
|
|
109
134
|
border: 2px solid currentColor;
|
|
110
135
|
padding: var(--space-l);
|
|
111
136
|
inline-size: min(90ch, calc(100% - var(--space-s)* 2));
|
|
112
137
|
max-block-size: calc(100% - var(--space-s) * 2);
|
|
138
|
+
|
|
139
|
+
color-scheme: light dark;
|
|
113
140
|
}
|
|
114
141
|
|
|
115
142
|
#button-container {
|
|
@@ -117,8 +144,8 @@ export default () => {
|
|
|
117
144
|
}
|
|
118
145
|
|
|
119
146
|
#close {
|
|
120
|
-
background-color: var(--
|
|
121
|
-
color: var(--
|
|
147
|
+
background-color: var(--background-color);
|
|
148
|
+
color: var(--text-color);
|
|
122
149
|
border: 2px solid currentColor;
|
|
123
150
|
padding-inline: var(--space-2xs);
|
|
124
151
|
aspect-ratio: 1 / 1;
|
|
@@ -155,7 +182,7 @@ export default () => {
|
|
|
155
182
|
}
|
|
156
183
|
|
|
157
184
|
a {
|
|
158
|
-
font-weight:
|
|
185
|
+
font-weight: 500;
|
|
159
186
|
}
|
|
160
187
|
}
|
|
161
188
|
|
|
@@ -200,11 +227,10 @@ export default () => {
|
|
|
200
227
|
}
|
|
201
228
|
`);
|
|
202
229
|
return class extends HTMLElement {
|
|
203
|
-
#disposeOfEffect;
|
|
204
230
|
#abortController;
|
|
205
231
|
issues;
|
|
206
232
|
element;
|
|
207
|
-
|
|
233
|
+
open = false;
|
|
208
234
|
constructor() {
|
|
209
235
|
try {
|
|
210
236
|
super();
|
|
@@ -252,70 +278,48 @@ export default () => {
|
|
|
252
278
|
logAndRethrow(error);
|
|
253
279
|
}
|
|
254
280
|
}, { signal: this.#abortController.signal });
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
descriptionList.appendChild(li);
|
|
281
|
-
}
|
|
282
|
-
description.appendChild(descriptionContent);
|
|
281
|
+
if (this.issues) {
|
|
282
|
+
const issues = this.issues.value;
|
|
283
|
+
const issuesList = shadowRoot.getElementById('issues');
|
|
284
|
+
if (issuesList) {
|
|
285
|
+
issuesList.innerHTML = '';
|
|
286
|
+
for (const issue of issues) {
|
|
287
|
+
const issueContent = issueTemplate.content.cloneNode(true);
|
|
288
|
+
const title = issueContent.querySelector('a');
|
|
289
|
+
const impact = issueContent.querySelector('.impact');
|
|
290
|
+
const description = issueContent.querySelector('.description');
|
|
291
|
+
if (title && impact && description) {
|
|
292
|
+
title.textContent = issue.title + ' (' + issue.id + ')';
|
|
293
|
+
title.href = issue.url;
|
|
294
|
+
impact.textContent = 'User impact: ' + issue.impact;
|
|
295
|
+
impact.setAttribute('data-impact', String(issue.impact));
|
|
296
|
+
const descriptionItems = issue.description.split(/\n\s*/);
|
|
297
|
+
const descriptionContent = descriptionTemplate.content.cloneNode(true);
|
|
298
|
+
const descriptionTitle = descriptionContent.querySelector('span');
|
|
299
|
+
const descriptionList = descriptionContent.querySelector('ul');
|
|
300
|
+
if (descriptionTitle && descriptionList && descriptionItems.length > 1) {
|
|
301
|
+
descriptionTitle.textContent = descriptionItems[0];
|
|
302
|
+
for (const descriptionItem of descriptionItems.slice(1)) {
|
|
303
|
+
const li = document.createElement('li');
|
|
304
|
+
li.textContent = descriptionItem;
|
|
305
|
+
descriptionList.appendChild(li);
|
|
283
306
|
}
|
|
307
|
+
description.appendChild(descriptionContent);
|
|
284
308
|
}
|
|
285
|
-
issuesList.appendChild(issueContent);
|
|
286
309
|
}
|
|
310
|
+
issuesList.appendChild(issueContent);
|
|
287
311
|
}
|
|
288
312
|
}
|
|
289
|
-
}
|
|
290
|
-
const updateElementHtml = () => {
|
|
291
|
-
if (this.element) {
|
|
292
|
-
const elementHtmlContainer = shadowRoot.getElementById('element-html');
|
|
293
|
-
if (elementHtmlContainer) {
|
|
294
|
-
elementHtmlContainer.textContent = getElementHtml(this.element);
|
|
295
|
-
}
|
|
296
|
-
}
|
|
297
|
-
};
|
|
298
|
-
updateElementHtml();
|
|
299
|
-
this.#elementMutationObserver = new MutationObserver(() => {
|
|
300
|
-
try {
|
|
301
|
-
updateElementHtml();
|
|
302
|
-
}
|
|
303
|
-
catch (error) {
|
|
304
|
-
logAndRethrow(error);
|
|
305
|
-
}
|
|
306
|
-
});
|
|
313
|
+
}
|
|
307
314
|
if (this.element) {
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
this.#elementMutationObserver.observe(this.element, {
|
|
313
|
-
attributes: true,
|
|
314
|
-
childList: true
|
|
315
|
-
});
|
|
315
|
+
const elementHtmlContainer = shadowRoot.getElementById('element-html');
|
|
316
|
+
if (elementHtmlContainer) {
|
|
317
|
+
elementHtmlContainer.textContent = getElementHtml(this.element);
|
|
318
|
+
}
|
|
316
319
|
}
|
|
317
320
|
dialog?.addEventListener('close', () => {
|
|
318
321
|
try {
|
|
322
|
+
this.open = false;
|
|
319
323
|
this.dispatchEvent(new Event('close'));
|
|
320
324
|
}
|
|
321
325
|
catch (error) {
|
|
@@ -330,15 +334,9 @@ export default () => {
|
|
|
330
334
|
}
|
|
331
335
|
disconnectedCallback() {
|
|
332
336
|
try {
|
|
333
|
-
if (this.#disposeOfEffect) {
|
|
334
|
-
this.#disposeOfEffect();
|
|
335
|
-
}
|
|
336
337
|
if (this.#abortController) {
|
|
337
338
|
this.#abortController.abort();
|
|
338
339
|
}
|
|
339
|
-
if (this.#elementMutationObserver) {
|
|
340
|
-
this.#elementMutationObserver.disconnect();
|
|
341
|
-
}
|
|
342
340
|
}
|
|
343
341
|
catch (error) {
|
|
344
342
|
logAndRethrow(error);
|
|
@@ -349,6 +347,7 @@ export default () => {
|
|
|
349
347
|
const dialog = this.shadowRoot.querySelector('dialog');
|
|
350
348
|
if (dialog) {
|
|
351
349
|
dialog.showModal();
|
|
350
|
+
this.open = true;
|
|
352
351
|
}
|
|
353
352
|
}
|
|
354
353
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accented-dialog.js","sourceRoot":"","sources":["../../src/elements/accented-dialog.ts"],"names":[],"mappings":"AAEA,OAAO,
|
|
1
|
+
{"version":3,"file":"accented-dialog.js","sourceRoot":"","sources":["../../src/elements/accented-dialog.ts"],"names":[],"mappings":"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"}
|
|
@@ -45,13 +45,14 @@ declare const _default: (name: string) => {
|
|
|
45
45
|
click(): void;
|
|
46
46
|
hidePopover(): void;
|
|
47
47
|
showPopover(): void;
|
|
48
|
-
togglePopover(
|
|
48
|
+
togglePopover(options?: boolean): boolean;
|
|
49
49
|
addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
50
50
|
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
|
|
51
51
|
removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
52
52
|
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
|
|
53
53
|
readonly attributes: NamedNodeMap;
|
|
54
|
-
|
|
54
|
+
get classList(): DOMTokenList;
|
|
55
|
+
set classList(value: string);
|
|
55
56
|
className: string;
|
|
56
57
|
readonly clientHeight: number;
|
|
57
58
|
readonly clientLeft: number;
|
|
@@ -66,7 +67,8 @@ declare const _default: (name: string) => {
|
|
|
66
67
|
onfullscreenerror: ((this: Element, ev: Event) => any) | null;
|
|
67
68
|
outerHTML: string;
|
|
68
69
|
readonly ownerDocument: Document;
|
|
69
|
-
|
|
70
|
+
get part(): DOMTokenList;
|
|
71
|
+
set part(value: string);
|
|
70
72
|
readonly prefix: string | null;
|
|
71
73
|
readonly scrollHeight: number;
|
|
72
74
|
scrollLeft: number;
|
|
@@ -143,7 +145,7 @@ declare const _default: (name: string) => {
|
|
|
143
145
|
readonly previousSibling: ChildNode | null;
|
|
144
146
|
textContent: string | null;
|
|
145
147
|
appendChild<T extends Node>(node: T): T;
|
|
146
|
-
cloneNode(
|
|
148
|
+
cloneNode(subtree?: boolean): Node;
|
|
147
149
|
compareDocumentPosition(other: Node): number;
|
|
148
150
|
contains(other: Node | null): boolean;
|
|
149
151
|
getRootNode(options?: GetRootNodeOptions): Node;
|
|
@@ -205,6 +207,7 @@ declare const _default: (name: string) => {
|
|
|
205
207
|
ariaPosInSet: string | null;
|
|
206
208
|
ariaPressed: string | null;
|
|
207
209
|
ariaReadOnly: string | null;
|
|
210
|
+
ariaRelevant: string | null;
|
|
208
211
|
ariaRequired: string | null;
|
|
209
212
|
ariaRoleDescription: string | null;
|
|
210
213
|
ariaRowCount: string | null;
|
|
@@ -246,7 +249,8 @@ declare const _default: (name: string) => {
|
|
|
246
249
|
replaceChildren(...nodes: (Node | string)[]): void;
|
|
247
250
|
readonly assignedSlot: HTMLSlotElement | null;
|
|
248
251
|
readonly attributeStyleMap: StylePropertyMap;
|
|
249
|
-
|
|
252
|
+
get style(): CSSStyleDeclaration;
|
|
253
|
+
set style(cssText: string);
|
|
250
254
|
contentEditable: string;
|
|
251
255
|
enterKeyHint: string;
|
|
252
256
|
inputMode: 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
|
|
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;yBAIe,MAAM,MAAM;;iCAwEN,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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAxFxC,wBA6NE"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { effect } from '@preact/signals-core';
|
|
2
2
|
import supportsAnchorPositioning from '../utils/supports-anchor-positioning.js';
|
|
3
3
|
import logAndRethrow from '../log-and-rethrow.js';
|
|
4
|
-
const triggerSize = 'max(32px, 2rem)';
|
|
5
4
|
// We want Accented to not throw an error in Node, and use static imports,
|
|
6
5
|
// so we can't export `class extends HTMLElement` because HTMLElement is not available in Node.
|
|
7
6
|
export default (name) => {
|
|
@@ -14,6 +13,8 @@ export default (name) => {
|
|
|
14
13
|
template.innerHTML = `
|
|
15
14
|
<style>
|
|
16
15
|
:host {
|
|
16
|
+
--ratio: 1.2;
|
|
17
|
+
--base-size: max(1rem, 16px);
|
|
17
18
|
position: fixed !important;
|
|
18
19
|
inset-inline-start: anchor(self-start) !important;
|
|
19
20
|
inset-inline-end: anchor(self-end) !important;
|
|
@@ -31,13 +32,19 @@ export default (name) => {
|
|
|
31
32
|
#trigger {
|
|
32
33
|
pointer-events: auto;
|
|
33
34
|
|
|
34
|
-
|
|
35
|
-
|
|
35
|
+
margin-inline-start: auto;
|
|
36
|
+
margin-inline-end: 4px;
|
|
37
|
+
margin-block-start: 4px;
|
|
36
38
|
|
|
37
39
|
box-sizing: border-box;
|
|
38
|
-
font-
|
|
39
|
-
|
|
40
|
-
|
|
40
|
+
font-family: system-ui;
|
|
41
|
+
font-size: calc(var(--ratio) * var(--ratio) * var(--base-size));
|
|
42
|
+
inline-size: calc(2 * var(--base-size));
|
|
43
|
+
block-size: calc(2 * var(--base-size));
|
|
44
|
+
|
|
45
|
+
display: flex;
|
|
46
|
+
align-items: center;
|
|
47
|
+
justify-content: center;
|
|
41
48
|
|
|
42
49
|
/* Make it look better in forced-colors mode. */
|
|
43
50
|
border: 2px solid transparent;
|
|
@@ -45,6 +52,10 @@ export default (name) => {
|
|
|
45
52
|
background-color: var(--${name}-primary-color);
|
|
46
53
|
color: var(--${name}-secondary-color);
|
|
47
54
|
|
|
55
|
+
padding: 0;
|
|
56
|
+
|
|
57
|
+
border-radius: calc(0.25 * var(--base-size));
|
|
58
|
+
|
|
48
59
|
outline-offset: -4px;
|
|
49
60
|
outline-color: currentColor;
|
|
50
61
|
outline-width: 2px;
|
|
@@ -59,7 +70,7 @@ export default (name) => {
|
|
|
59
70
|
}
|
|
60
71
|
}
|
|
61
72
|
</style>
|
|
62
|
-
<button id="trigger" lang="en"
|
|
73
|
+
<button id="trigger" lang="en">á</button>
|
|
63
74
|
`;
|
|
64
75
|
return class extends HTMLElement {
|
|
65
76
|
#abortController;
|
|
@@ -109,7 +120,12 @@ export default (name) => {
|
|
|
109
120
|
this.#abortController = new AbortController();
|
|
110
121
|
trigger?.addEventListener('click', (event) => {
|
|
111
122
|
try {
|
|
123
|
+
// event.preventDefault() ensures that if the issue is within a link,
|
|
124
|
+
// the link's default behavior (following the URL) is prevented.
|
|
112
125
|
event.preventDefault();
|
|
126
|
+
// event.stopPropagation() ensures that if there's a click handler on the trigger's ancestor
|
|
127
|
+
// (a link, or a button, or anything else), it doesn't get triggered.
|
|
128
|
+
event.stopPropagation();
|
|
113
129
|
// We append the dialog when the button is clicked,
|
|
114
130
|
// and remove it from the DOM when the dialog is closed.
|
|
115
131
|
// This gives us a performance improvement since Axe
|
|
@@ -158,7 +174,7 @@ export default (name) => {
|
|
|
158
174
|
if (this.#abortController) {
|
|
159
175
|
this.#abortController.abort();
|
|
160
176
|
}
|
|
161
|
-
if (this.#dialogCloseAbortController) {
|
|
177
|
+
if (this.#dialogCloseAbortController && !this.dialog?.open) {
|
|
162
178
|
this.#dialogCloseAbortController.abort();
|
|
163
179
|
this.dialog?.remove();
|
|
164
180
|
}
|
|
@@ -179,9 +195,17 @@ export default (name) => {
|
|
|
179
195
|
}
|
|
180
196
|
}
|
|
181
197
|
#setTransform() {
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
198
|
+
// We read and write values in separate animation frames to avoid layout thrashing.
|
|
199
|
+
window.requestAnimationFrame(() => {
|
|
200
|
+
if (this.element) {
|
|
201
|
+
const transform = window.getComputedStyle(this.element).getPropertyValue('transform');
|
|
202
|
+
if (transform !== 'none') {
|
|
203
|
+
window.requestAnimationFrame(() => {
|
|
204
|
+
this.style.setProperty('transform', transform, 'important');
|
|
205
|
+
});
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
});
|
|
185
209
|
}
|
|
186
210
|
};
|
|
187
211
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accented-trigger.js","sourceRoot":"","sources":["../../src/elements/accented-trigger.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAE9C,OAAO,yBAAyB,MAAM,yCAAyC,CAAC;AAChF,OAAO,aAAa,MAAM,uBAAuB,CAAC;AASlD,
|
|
1
|
+
{"version":3,"file":"accented-trigger.js","sourceRoot":"","sources":["../../src/elements/accented-trigger.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAE9C,OAAO,yBAAyB,MAAM,yCAAyC,CAAC;AAChF,OAAO,aAAa,MAAM,uBAAuB,CAAC;AASlD,0EAA0E;AAC1E,+FAA+F;AAC/F,eAAe,CAAC,IAAY,EAAE,EAAE;IAC9B,MAAM,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;IAEpD,qHAAqH;IACrH,yFAAyF;IACzF,yFAAyF;IACzF,wCAAwC;IACxC,uGAAuG;IACvG,QAAQ,CAAC,SAAS,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kCAuCW,IAAI;uBACf,IAAI;;;;;;;;;;;;;;;;;;;;;GAqBxB,CAAC;IAEF,OAAO,KAAM,SAAQ,WAAW;QAC9B,gBAAgB,CAA8B;QAE9C,2BAA2B,CAA8B;QAEzD,wBAAwB,CAA2B;QAEnD,0BAA0B,CAA2B;QAErD,wBAAwB,CAA+B;QAEvD,OAAO,CAAsB;QAE7B,MAAM,CAA6B;QAEnC,QAAQ,CAA+B;QAEvC,OAAO,CAA8B;QAErC;YACE,IAAI,CAAC;gBACH,KAAK,EAAE,CAAC;gBACR,IAAI,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;gBACpC,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;gBACjD,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;oBACpB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBAClC,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,aAAa,CAAC,KAAK,CAAC,CAAC;YACvB,CAAC;QACH,CAAC;QAED,iBAAiB;YACf,IAAI,CAAC;gBACH,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;oBACpB,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC;oBAC5B,MAAM,OAAO,GAAG,UAAU,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;oBACrD,IAAI,OAAO,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;wBAC5B,OAAO,CAAC,SAAS,GAAG,2BAA2B,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,EAAE,CAAC;oBACvF,CAAC;oBAED,IAAI,CAAC,aAAa,EAAE,CAAC;oBAErB,IAAI,CAAC,wBAAwB,GAAG,IAAI,gBAAgB,CAAC,GAAG,EAAE;wBACxD,IAAI,CAAC;4BACH,IAAI,CAAC,aAAa,EAAE,CAAC;wBACvB,CAAC;wBAAC,OAAO,KAAK,EAAE,CAAC;4BACf,aAAa,CAAC,KAAK,CAAC,CAAC;wBACvB,CAAC;oBACH,CAAC,CAAC,CAAC;oBAEH,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;wBACjB,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE;4BAClD,UAAU,EAAE,IAAI;yBACjB,CAAC,CAAC;oBACL,CAAC;oBAED,IAAI,CAAC,gBAAgB,GAAG,IAAI,eAAe,EAAE,CAAC;oBAC9C,OAAO,EAAE,gBAAgB,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;wBAC3C,IAAI,CAAC;4BACH,qEAAqE;4BACrE,gEAAgE;4BAChE,KAAK,CAAC,cAAc,EAAE,CAAC;4BAEvB,4FAA4F;4BAC5F,qEAAqE;4BACrE,KAAK,CAAC,eAAe,EAAE,CAAC;4BAExB,mDAAmD;4BACnD,wDAAwD;4BACxD,oDAAoD;4BACpD,kEAAkE;4BAClE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gCAChB,IAAI,CAAC,2BAA2B,GAAG,IAAI,eAAe,EAAE,CAAC;gCACzD,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gCAClC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;gCACxB,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;oCACzC,IAAI,CAAC;wCACH,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;wCACtB,IAAI,CAAC,2BAA2B,EAAE,KAAK,EAAE,CAAC;oCAC5C,CAAC;oCAAC,OAAO,KAAK,EAAE,CAAC;wCACf,aAAa,CAAC,KAAK,CAAC,CAAC;oCACvB,CAAC;gCACH,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,2BAA2B,CAAC,MAAM,EAAE,CAAC,CAAC;4BAC1D,CAAC;wBACH,CAAC;wBAAC,OAAO,KAAK,EAAE,CAAC;4BACf,aAAa,CAAC,KAAK,CAAC,CAAC;wBACvB,CAAC;oBACH,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC,CAAC;oBAE7C,IAAI,CAAC,yBAAyB,CAAC,MAAM,CAAC,EAAE,CAAC;wBACvC,IAAI,CAAC,wBAAwB,GAAG,MAAM,CAAC,GAAG,EAAE;4BAC1C,IAAI,IAAI,CAAC,QAAQ,IAAI,OAAO,EAAE,CAAC;gCAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;gCACrC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,QAAQ,CAAC,GAAG,IAAI,EAAE,WAAW,CAAC,CAAC;gCAChE,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,EAAE,GAAG,QAAQ,CAAC,IAAI,IAAI,EAAE,WAAW,CAAC,CAAC;gCAClE,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,EAAE,GAAG,QAAQ,CAAC,KAAK,IAAI,EAAE,WAAW,CAAC,CAAC;gCACpE,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,QAAQ,EAAE,GAAG,QAAQ,CAAC,MAAM,IAAI,EAAE,WAAW,CAAC,CAAC;4BACxE,CAAC;wBACH,CAAC,CAAC,CAAC;wBAEH,IAAI,CAAC,0BAA0B,GAAG,MAAM,CAAC,GAAG,EAAE;4BAC5C,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,YAAY,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;wBAChG,CAAC,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,aAAa,CAAC,KAAK,CAAC,CAAC;YACvB,CAAC;QACH,CAAC;QAED,oBAAoB;YAClB,IAAI,CAAC;gBACH,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;oBAC1B,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;gBAChC,CAAC;gBACD,IAAI,IAAI,CAAC,2BAA2B,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC;oBAC3D,IAAI,CAAC,2BAA2B,CAAC,KAAK,EAAE,CAAC;oBACzC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;gBACxB,CAAC;gBACD,IAAI,IAAI,CAAC,wBAAwB,EAAE,CAAC;oBAClC,IAAI,CAAC,wBAAwB,EAAE,CAAC;oBAChC,IAAI,CAAC,wBAAwB,GAAG,SAAS,CAAC;gBAC5C,CAAC;gBACD,IAAI,IAAI,CAAC,0BAA0B,EAAE,CAAC;oBACpC,IAAI,CAAC,0BAA0B,EAAE,CAAC;oBAClC,IAAI,CAAC,0BAA0B,GAAG,SAAS,CAAC;gBAC9C,CAAC;gBACD,IAAI,IAAI,CAAC,wBAAwB,EAAE,CAAC;oBAClC,IAAI,CAAC,wBAAwB,CAAC,UAAU,EAAE,CAAC;gBAC7C,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,aAAa,CAAC,KAAK,CAAC,CAAC;YACvB,CAAC;QACH,CAAC;QAED,aAAa;YACX,mFAAmF;YACnF,MAAM,CAAC,qBAAqB,CAAC,GAAG,EAAE;gBAChC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;oBACjB,MAAM,SAAS,GAAG,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;oBACtF,IAAI,SAAS,KAAK,MAAM,EAAE,CAAC;wBACzB,MAAM,CAAC,qBAAqB,CAAC,GAAG,EAAE;4BAChC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,WAAW,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;wBAC9D,CAAC,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;KACF,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fullscreen-listener.d.ts","sourceRoot":"","sources":["../src/fullscreen-listener.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,OAAO,UAAU,mBAAmB,eAa1C"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import logAndRethrow from './log-and-rethrow.js';
|
|
2
|
+
import recalculatePositions from './utils/recalculate-positions.js';
|
|
3
|
+
export default 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
|
+
;
|
|
18
|
+
//# 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,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,kBAAkB,EAAE,GAAG,EAAE;QAC/C,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"}
|
package/dist/logger.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AASA,MAAM,CAAC,OAAO,UAAU,YAAY,eAwBnC"}
|
package/dist/logger.js
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import { effect } from '@preact/signals-core';
|
|
2
2
|
import { elementsWithIssues, enabled } from './state.js';
|
|
3
3
|
import { accentedUrl } from './constants.js';
|
|
4
|
+
function filterPropsForOutput(elements) {
|
|
5
|
+
return elements.map(({ element, issues }) => ({ element, issues }));
|
|
6
|
+
}
|
|
4
7
|
export default function createLogger() {
|
|
5
8
|
let firstRun = true;
|
|
6
9
|
return effect(() => {
|
|
@@ -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) {
|
package/dist/logger.js.map
CHANGED
|
@@ -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;
|
|
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;AAG7C,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,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,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"}
|
package/dist/scanner.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import type { AxeOptions, Throttle, Callback,
|
|
2
|
-
export default function createScanner(name: string,
|
|
1
|
+
import type { AxeOptions, Throttle, Callback, Context } from './types';
|
|
2
|
+
export default function createScanner(name: string, context: Context, axeOptions: AxeOptions, throttle: Required<Throttle>, callback: Callback): () => void;
|
|
3
3
|
//# sourceMappingURL=scanner.d.ts.map
|
package/dist/scanner.d.ts.map
CHANGED
|
@@ -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,
|
|
1
|
+
{"version":3,"file":"scanner.d.ts","sourceRoot":"","sources":["../src/scanner.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAUvE,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,QAAQ,cA8I7I"}
|