@compa11y/core 0.1.2 → 0.1.5

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 (55) hide show
  1. package/dist/announcer/index.cjs +1 -49
  2. package/dist/announcer/index.js +1 -4
  3. package/dist/aria/index.cjs +1 -24
  4. package/dist/aria/index.js +1 -3
  5. package/dist/chunk-7BL2ABLF.cjs +1 -0
  6. package/dist/chunk-AQ6HEUSD.cjs +1 -0
  7. package/dist/chunk-C3VZQUKG.js +1 -0
  8. package/dist/chunk-EM45V5TK.cjs +1 -0
  9. package/dist/chunk-KQUAJKTG.cjs +1 -0
  10. package/dist/chunk-QGEFH2VG.js +1 -0
  11. package/dist/chunk-RE4QIUWR.js +1 -0
  12. package/dist/chunk-TGXWODB3.js +1 -0
  13. package/dist/chunk-Y2RTDE4A.cjs +1 -0
  14. package/dist/chunk-ZAQMM5TA.js +1 -0
  15. package/dist/focus/index.cjs +1 -53
  16. package/dist/focus/index.d.cts +63 -1
  17. package/dist/focus/index.d.ts +63 -1
  18. package/dist/focus/index.js +1 -4
  19. package/dist/index.cjs +2 -567
  20. package/dist/index.d.cts +1 -1
  21. package/dist/index.d.ts +1 -1
  22. package/dist/index.js +2 -337
  23. package/dist/keyboard/index.cjs +1 -28
  24. package/dist/keyboard/index.js +1 -3
  25. package/package.json +1 -1
  26. package/dist/announcer/index.cjs.map +0 -1
  27. package/dist/announcer/index.js.map +0 -1
  28. package/dist/aria/index.cjs.map +0 -1
  29. package/dist/aria/index.js.map +0 -1
  30. package/dist/chunk-24U5HHMC.js +0 -309
  31. package/dist/chunk-24U5HHMC.js.map +0 -1
  32. package/dist/chunk-2CQOLVQH.js +0 -147
  33. package/dist/chunk-2CQOLVQH.js.map +0 -1
  34. package/dist/chunk-2PUYKF2E.js +0 -631
  35. package/dist/chunk-2PUYKF2E.js.map +0 -1
  36. package/dist/chunk-2WF5Y6D7.js +0 -175
  37. package/dist/chunk-2WF5Y6D7.js.map +0 -1
  38. package/dist/chunk-CQXMBRLD.cjs +0 -657
  39. package/dist/chunk-CQXMBRLD.cjs.map +0 -1
  40. package/dist/chunk-HQOFVJFO.cjs +0 -181
  41. package/dist/chunk-HQOFVJFO.cjs.map +0 -1
  42. package/dist/chunk-NBGFFCIJ.cjs +0 -314
  43. package/dist/chunk-NBGFFCIJ.cjs.map +0 -1
  44. package/dist/chunk-V6TZIZZ4.cjs +0 -158
  45. package/dist/chunk-V6TZIZZ4.cjs.map +0 -1
  46. package/dist/chunk-XEGB27QF.cjs +0 -78
  47. package/dist/chunk-XEGB27QF.cjs.map +0 -1
  48. package/dist/chunk-Z7K2G6FX.js +0 -66
  49. package/dist/chunk-Z7K2G6FX.js.map +0 -1
  50. package/dist/focus/index.cjs.map +0 -1
  51. package/dist/focus/index.js.map +0 -1
  52. package/dist/index.cjs.map +0 -1
  53. package/dist/index.js.map +0 -1
  54. package/dist/keyboard/index.cjs.map +0 -1
  55. package/dist/keyboard/index.js.map +0 -1
@@ -1,657 +0,0 @@
1
- 'use strict';
2
-
3
- var chunkXEGB27QF_cjs = require('./chunk-XEGB27QF.cjs');
4
-
5
- // src/utils/dom.ts
6
- var FOCUSABLE_SELECTORS = [
7
- "a[href]",
8
- "area[href]",
9
- "button:not([disabled])",
10
- 'input:not([disabled]):not([type="hidden"])',
11
- "select:not([disabled])",
12
- "textarea:not([disabled])",
13
- '[tabindex]:not([tabindex="-1"])',
14
- '[contenteditable="true"]',
15
- "audio[controls]",
16
- "video[controls]",
17
- "details > summary:first-of-type",
18
- "iframe"
19
- ].join(",");
20
- var TABBABLE_SELECTORS = [
21
- 'a[href]:not([tabindex="-1"])',
22
- 'area[href]:not([tabindex="-1"])',
23
- 'button:not([disabled]):not([tabindex="-1"])',
24
- 'input:not([disabled]):not([type="hidden"]):not([tabindex="-1"])',
25
- 'select:not([disabled]):not([tabindex="-1"])',
26
- 'textarea:not([disabled]):not([tabindex="-1"])',
27
- '[tabindex]:not([tabindex="-1"])',
28
- '[contenteditable="true"]:not([tabindex="-1"])',
29
- 'audio[controls]:not([tabindex="-1"])',
30
- 'video[controls]:not([tabindex="-1"])',
31
- 'details > summary:first-of-type:not([tabindex="-1"])',
32
- 'iframe:not([tabindex="-1"])'
33
- ].join(",");
34
- function isVisible(element) {
35
- if (!(element instanceof HTMLElement)) {
36
- return false;
37
- }
38
- if (element.hidden) {
39
- return false;
40
- }
41
- if (element.style.display === "none") {
42
- return false;
43
- }
44
- if (element.style.visibility === "hidden") {
45
- return false;
46
- }
47
- const style = window.getComputedStyle(element);
48
- if (style.display === "none" || style.visibility === "hidden") {
49
- return false;
50
- }
51
- if (!element.isConnected) {
52
- return false;
53
- }
54
- return true;
55
- }
56
- function isFocusable(element) {
57
- if (!(element instanceof HTMLElement)) {
58
- return false;
59
- }
60
- if (!isVisible(element)) {
61
- return false;
62
- }
63
- if (!element.matches(FOCUSABLE_SELECTORS)) {
64
- return false;
65
- }
66
- if (element.closest("[inert]")) {
67
- return false;
68
- }
69
- return true;
70
- }
71
- function isTabbable(element) {
72
- if (!isFocusable(element)) {
73
- return false;
74
- }
75
- const tabIndex = element.tabIndex;
76
- if (tabIndex < 0) {
77
- return false;
78
- }
79
- return element.matches(TABBABLE_SELECTORS);
80
- }
81
- function getFocusableElements(container) {
82
- const elements = Array.from(
83
- container.querySelectorAll(FOCUSABLE_SELECTORS)
84
- );
85
- return elements.filter(isFocusable);
86
- }
87
- function getTabbableElements(container) {
88
- const elements = Array.from(
89
- container.querySelectorAll(TABBABLE_SELECTORS)
90
- );
91
- const tabbable = elements.filter(isTabbable);
92
- return tabbable.sort((a, b) => {
93
- const aIndex = Math.max(0, a.tabIndex);
94
- const bIndex = Math.max(0, b.tabIndex);
95
- if (aIndex === 0 && bIndex === 0) {
96
- return 0;
97
- }
98
- if (aIndex === 0) {
99
- return 1;
100
- }
101
- if (bIndex === 0) {
102
- return -1;
103
- }
104
- return aIndex - bIndex;
105
- });
106
- }
107
- function getFirstFocusable(container) {
108
- const elements = getTabbableElements(container);
109
- return elements[0] ?? null;
110
- }
111
- function getLastFocusable(container) {
112
- const elements = getTabbableElements(container);
113
- return elements[elements.length - 1] ?? null;
114
- }
115
- function containsFocus(container) {
116
- const activeElement = document.activeElement;
117
- return activeElement !== null && container.contains(activeElement);
118
- }
119
- function getNextFocusable(container, current, wrap = true) {
120
- const elements = getTabbableElements(container);
121
- const currentIndex = elements.indexOf(current);
122
- if (currentIndex === -1) {
123
- return elements[0] ?? null;
124
- }
125
- const nextIndex = currentIndex + 1;
126
- if (nextIndex < elements.length) {
127
- return elements[nextIndex];
128
- }
129
- return wrap ? elements[0] ?? null : null;
130
- }
131
- function getPreviousFocusable(container, current, wrap = true) {
132
- const elements = getTabbableElements(container);
133
- const currentIndex = elements.indexOf(current);
134
- if (currentIndex === -1) {
135
- return elements[elements.length - 1] ?? null;
136
- }
137
- const prevIndex = currentIndex - 1;
138
- if (prevIndex >= 0) {
139
- return elements[prevIndex];
140
- }
141
- return wrap ? elements[elements.length - 1] ?? null : null;
142
- }
143
- function isWithinContainer(element, container) {
144
- return container.contains(element);
145
- }
146
- function resolveElement(target, container = document.body) {
147
- if (!target) {
148
- return null;
149
- }
150
- if (typeof target === "string") {
151
- return container.querySelector(target);
152
- }
153
- if (typeof target === "function") {
154
- return target();
155
- }
156
- return target;
157
- }
158
-
159
- // src/focus/focus-trap.ts
160
- var focusTrapStack = [];
161
- function createFocusTrap(container, options = {}) {
162
- const {
163
- initialFocus,
164
- returnFocus = true,
165
- clickOutsideDeactivates = false,
166
- escapeDeactivates = true,
167
- onDeactivate,
168
- onEscapeFocus
169
- } = options;
170
- let active = false;
171
- let paused = false;
172
- let previouslyFocused = null;
173
- function handleKeyDown(event) {
174
- if (paused || !active) return;
175
- if (event.key === "Tab") {
176
- handleTabKey(event);
177
- } else if (event.key === "Escape" && escapeDeactivates) {
178
- event.preventDefault();
179
- event.stopPropagation();
180
- deactivate();
181
- }
182
- }
183
- function handleTabKey(event) {
184
- const tabbable = getTabbableElements(container);
185
- if (tabbable.length === 0) {
186
- event.preventDefault();
187
- return;
188
- }
189
- const first = tabbable[0];
190
- const last = tabbable[tabbable.length - 1];
191
- const activeElement = document.activeElement;
192
- if (event.shiftKey) {
193
- if (activeElement === first || !container.contains(activeElement)) {
194
- event.preventDefault();
195
- last.focus();
196
- }
197
- } else {
198
- if (activeElement === last || !container.contains(activeElement)) {
199
- event.preventDefault();
200
- first.focus();
201
- }
202
- }
203
- }
204
- function handleFocusIn(event) {
205
- if (paused || !active) return;
206
- const target = event.target;
207
- if (!container.contains(target)) {
208
- onEscapeFocus?.(target);
209
- const first = getFirstFocusable(container);
210
- first?.focus();
211
- }
212
- }
213
- function handleClick(event) {
214
- if (paused || !active) return;
215
- const target = event.target;
216
- if (clickOutsideDeactivates && !container.contains(target)) {
217
- deactivate();
218
- }
219
- }
220
- function activate() {
221
- if (active) return;
222
- previouslyFocused = document.activeElement;
223
- focusTrapStack.push(trap);
224
- for (let i = 0; i < focusTrapStack.length - 1; i++) {
225
- focusTrapStack[i].pause();
226
- }
227
- document.addEventListener("keydown", handleKeyDown, true);
228
- document.addEventListener("focusin", handleFocusIn, true);
229
- document.addEventListener("click", handleClick, true);
230
- active = true;
231
- requestAnimationFrame(() => {
232
- if (!active) return;
233
- const initialElement = resolveElement(initialFocus, container);
234
- if (initialElement) {
235
- initialElement.focus();
236
- } else {
237
- const first = getFirstFocusable(container);
238
- if (first) {
239
- first.focus();
240
- } else {
241
- container.setAttribute("tabindex", "-1");
242
- container.focus();
243
- }
244
- }
245
- });
246
- }
247
- function cleanupTrap(callOnDeactivate) {
248
- if (!active) return;
249
- document.removeEventListener("keydown", handleKeyDown, true);
250
- document.removeEventListener("focusin", handleFocusIn, true);
251
- document.removeEventListener("click", handleClick, true);
252
- active = false;
253
- paused = false;
254
- const index = focusTrapStack.indexOf(trap);
255
- if (index > -1) {
256
- focusTrapStack.splice(index, 1);
257
- }
258
- const previousTrap = focusTrapStack[focusTrapStack.length - 1];
259
- previousTrap?.unpause();
260
- if (returnFocus && previouslyFocused) {
261
- const target = typeof returnFocus === "boolean" ? previouslyFocused : returnFocus;
262
- requestAnimationFrame(() => {
263
- if (target && "focus" in target) {
264
- target.focus();
265
- }
266
- });
267
- }
268
- if (callOnDeactivate) {
269
- onDeactivate?.();
270
- }
271
- }
272
- function deactivate() {
273
- cleanupTrap(true);
274
- }
275
- function destroy() {
276
- cleanupTrap(false);
277
- }
278
- function pause() {
279
- if (!active || paused) return;
280
- paused = true;
281
- }
282
- function unpause() {
283
- if (!active || !paused) return;
284
- paused = false;
285
- if (!containsFocus(container)) {
286
- const first = getFirstFocusable(container);
287
- first?.focus();
288
- }
289
- }
290
- const trap = {
291
- activate,
292
- deactivate,
293
- destroy,
294
- pause,
295
- unpause,
296
- isActive: () => active,
297
- isPaused: () => paused
298
- };
299
- return trap;
300
- }
301
- function getActiveFocusTrap() {
302
- return focusTrapStack[focusTrapStack.length - 1] ?? null;
303
- }
304
- function hasFocusTrap() {
305
- return focusTrapStack.length > 0;
306
- }
307
-
308
- // src/focus/focus-visible.ts
309
- var state = {
310
- hadKeyboardEvent: true,
311
- // Assume keyboard initially (conservative)
312
- isPointerInput: false,
313
- lastFocusSource: "unknown"
314
- };
315
- var isInitialized = false;
316
- var NAVIGATION_KEYS = /* @__PURE__ */ new Set([
317
- "Tab",
318
- "ArrowUp",
319
- "ArrowDown",
320
- "ArrowLeft",
321
- "ArrowRight",
322
- "Enter",
323
- " ",
324
- "Home",
325
- "End",
326
- "PageUp",
327
- "PageDown",
328
- "Escape"
329
- ]);
330
- function initFocusVisible() {
331
- if (!chunkXEGB27QF_cjs.isBrowser() || isInitialized) {
332
- return () => {
333
- };
334
- }
335
- isInitialized = true;
336
- function handleKeyDown(event) {
337
- if (NAVIGATION_KEYS.has(event.key)) {
338
- state.hadKeyboardEvent = true;
339
- state.isPointerInput = false;
340
- state.lastFocusSource = "keyboard";
341
- }
342
- }
343
- function handlePointerDown(event) {
344
- state.isPointerInput = true;
345
- state.hadKeyboardEvent = false;
346
- state.lastFocusSource = "pointerType" in event ? event.pointerType === "touch" ? "touch" : "mouse" : "mouse";
347
- }
348
- function handleFocus(event) {
349
- const target = event.target;
350
- if (!(target instanceof HTMLElement)) return;
351
- if (state.hadKeyboardEvent || shouldShowFocusForElement(target)) {
352
- target.dataset.a11ykitFocusVisible = "true";
353
- }
354
- }
355
- function handleBlur(event) {
356
- const target = event.target;
357
- if (!(target instanceof HTMLElement)) return;
358
- delete target.dataset.a11ykitFocusVisible;
359
- }
360
- function handleVisibilityChange() {
361
- if (document.visibilityState === "hidden") {
362
- state.hadKeyboardEvent = true;
363
- }
364
- }
365
- document.addEventListener("keydown", handleKeyDown, true);
366
- document.addEventListener("mousedown", handlePointerDown, true);
367
- document.addEventListener("pointerdown", handlePointerDown, true);
368
- document.addEventListener("focus", handleFocus, true);
369
- document.addEventListener("blur", handleBlur, true);
370
- document.addEventListener("visibilitychange", handleVisibilityChange, true);
371
- return () => {
372
- document.removeEventListener("keydown", handleKeyDown, true);
373
- document.removeEventListener("mousedown", handlePointerDown, true);
374
- document.removeEventListener("pointerdown", handlePointerDown, true);
375
- document.removeEventListener("focus", handleFocus, true);
376
- document.removeEventListener("blur", handleBlur, true);
377
- document.removeEventListener(
378
- "visibilitychange",
379
- handleVisibilityChange,
380
- true
381
- );
382
- isInitialized = false;
383
- };
384
- }
385
- function shouldShowFocusForElement(element) {
386
- const tagName = element.tagName.toLowerCase();
387
- const type = element.getAttribute("type")?.toLowerCase();
388
- if (tagName === "input" && (!type || type === "text" || type === "email" || type === "password" || type === "search" || type === "tel" || type === "url" || type === "number")) {
389
- return true;
390
- }
391
- if (tagName === "textarea") {
392
- return true;
393
- }
394
- if (element.isContentEditable) {
395
- return true;
396
- }
397
- return false;
398
- }
399
- function isFocusVisible() {
400
- return state.hadKeyboardEvent;
401
- }
402
- function hasVisibleFocus(element) {
403
- return element.dataset.a11ykitFocusVisible === "true";
404
- }
405
- function getLastFocusSource() {
406
- return state.lastFocusSource;
407
- }
408
- function setFocusVisible(element, visible) {
409
- if (visible) {
410
- element.dataset.a11ykitFocusVisible = "true";
411
- } else {
412
- delete element.dataset.a11ykitFocusVisible;
413
- }
414
- }
415
- function focusWithVisibleRing(element, options) {
416
- state.hadKeyboardEvent = true;
417
- state.lastFocusSource = "keyboard";
418
- element.focus(options);
419
- }
420
-
421
- // src/focus/focus-scope.ts
422
- function createFocusScope(container, options = {}) {
423
- const { contain = false, restoreFocus = false, autoFocus = false } = options;
424
- let previouslyFocused = null;
425
- let isDestroyed = false;
426
- if (restoreFocus) {
427
- previouslyFocused = document.activeElement;
428
- }
429
- function getElements() {
430
- if (isDestroyed) return [];
431
- return getTabbableElements(container);
432
- }
433
- function getFocused() {
434
- const active = document.activeElement;
435
- if (active && container.contains(active)) {
436
- return active;
437
- }
438
- return null;
439
- }
440
- function focusFirst() {
441
- if (isDestroyed) return;
442
- const elements = getElements();
443
- elements[0]?.focus();
444
- }
445
- function focusLast() {
446
- if (isDestroyed) return;
447
- const elements = getElements();
448
- elements[elements.length - 1]?.focus();
449
- }
450
- function focusNext({ wrap = true } = {}) {
451
- if (isDestroyed) return;
452
- const current = getFocused();
453
- if (!current) {
454
- focusFirst();
455
- return;
456
- }
457
- const next = getNextFocusable(container, current, wrap);
458
- next?.focus();
459
- }
460
- function focusPrevious({ wrap = true } = {}) {
461
- if (isDestroyed) return;
462
- const current = getFocused();
463
- if (!current) {
464
- focusLast();
465
- return;
466
- }
467
- const prev = getPreviousFocusable(container, current, wrap);
468
- prev?.focus();
469
- }
470
- function focusAt(index) {
471
- if (isDestroyed) return;
472
- const elements = getElements();
473
- const element = elements[index];
474
- element?.focus();
475
- }
476
- function handleKeyDown(event) {
477
- if (isDestroyed || !contain) return;
478
- if (event.key === "Tab") {
479
- const elements = getElements();
480
- if (elements.length === 0) {
481
- event.preventDefault();
482
- return;
483
- }
484
- const first = elements[0];
485
- const last = elements[elements.length - 1];
486
- const current = getFocused();
487
- if (event.shiftKey && current === first) {
488
- event.preventDefault();
489
- last.focus();
490
- } else if (!event.shiftKey && current === last) {
491
- event.preventDefault();
492
- first.focus();
493
- }
494
- }
495
- }
496
- function destroy() {
497
- if (isDestroyed) return;
498
- isDestroyed = true;
499
- document.removeEventListener("keydown", handleKeyDown, true);
500
- if (restoreFocus && previouslyFocused) {
501
- previouslyFocused.focus();
502
- }
503
- }
504
- if (contain) {
505
- document.addEventListener("keydown", handleKeyDown, true);
506
- }
507
- if (autoFocus) {
508
- requestAnimationFrame(() => {
509
- if (!isDestroyed) focusFirst();
510
- });
511
- }
512
- return {
513
- focusFirst,
514
- focusLast,
515
- focusNext,
516
- focusPrevious,
517
- focusAt,
518
- getFocused,
519
- getElements,
520
- destroy
521
- };
522
- }
523
- function createRovingTabindex(container, selector, options = {}) {
524
- const {
525
- initialIndex = 0,
526
- orientation = "both",
527
- wrap = true,
528
- onSelectionChange
529
- } = options;
530
- let elements = [];
531
- let currentIndex = initialIndex;
532
- function update() {
533
- elements = Array.from(container.querySelectorAll(selector));
534
- elements.forEach((el, index) => {
535
- el.setAttribute("tabindex", index === currentIndex ? "0" : "-1");
536
- });
537
- }
538
- function moveTo(index) {
539
- if (elements.length === 0) return;
540
- let newIndex = index;
541
- if (newIndex < 0) {
542
- newIndex = wrap ? elements.length - 1 : 0;
543
- } else if (newIndex >= elements.length) {
544
- newIndex = wrap ? 0 : elements.length - 1;
545
- }
546
- const previousElement = elements[currentIndex];
547
- const nextElement = elements[newIndex];
548
- if (previousElement) {
549
- previousElement.setAttribute("tabindex", "-1");
550
- }
551
- if (nextElement) {
552
- nextElement.setAttribute("tabindex", "0");
553
- nextElement.focus();
554
- onSelectionChange?.(newIndex, nextElement);
555
- }
556
- currentIndex = newIndex;
557
- }
558
- function handleKeyDown(event) {
559
- const target = event.target;
560
- if (!elements.includes(target)) return;
561
- let handled = false;
562
- switch (event.key) {
563
- case "ArrowRight":
564
- if (orientation === "horizontal" || orientation === "both") {
565
- moveTo(currentIndex + 1);
566
- handled = true;
567
- }
568
- break;
569
- case "ArrowLeft":
570
- if (orientation === "horizontal" || orientation === "both") {
571
- moveTo(currentIndex - 1);
572
- handled = true;
573
- }
574
- break;
575
- case "ArrowDown":
576
- if (orientation === "vertical" || orientation === "both") {
577
- moveTo(currentIndex + 1);
578
- handled = true;
579
- }
580
- break;
581
- case "ArrowUp":
582
- if (orientation === "vertical" || orientation === "both") {
583
- moveTo(currentIndex - 1);
584
- handled = true;
585
- }
586
- break;
587
- case "Home":
588
- moveTo(0);
589
- handled = true;
590
- break;
591
- case "End":
592
- moveTo(elements.length - 1);
593
- handled = true;
594
- break;
595
- }
596
- if (handled) {
597
- event.preventDefault();
598
- event.stopPropagation();
599
- }
600
- }
601
- function handleFocus(event) {
602
- const target = event.target;
603
- const index = elements.indexOf(target);
604
- if (index !== -1 && index !== currentIndex) {
605
- const previousElement = elements[currentIndex];
606
- if (previousElement) {
607
- previousElement.setAttribute("tabindex", "-1");
608
- }
609
- target.setAttribute("tabindex", "0");
610
- currentIndex = index;
611
- }
612
- }
613
- update();
614
- container.addEventListener("keydown", handleKeyDown);
615
- container.addEventListener("focusin", handleFocus);
616
- return {
617
- next: () => moveTo(currentIndex + 1),
618
- previous: () => moveTo(currentIndex - 1),
619
- first: () => moveTo(0),
620
- last: () => moveTo(elements.length - 1),
621
- goto: moveTo,
622
- getIndex: () => currentIndex,
623
- update,
624
- destroy: () => {
625
- container.removeEventListener("keydown", handleKeyDown);
626
- container.removeEventListener("focusin", handleFocus);
627
- }
628
- };
629
- }
630
-
631
- exports.FOCUSABLE_SELECTORS = FOCUSABLE_SELECTORS;
632
- exports.TABBABLE_SELECTORS = TABBABLE_SELECTORS;
633
- exports.containsFocus = containsFocus;
634
- exports.createFocusScope = createFocusScope;
635
- exports.createFocusTrap = createFocusTrap;
636
- exports.createRovingTabindex = createRovingTabindex;
637
- exports.focusWithVisibleRing = focusWithVisibleRing;
638
- exports.getActiveFocusTrap = getActiveFocusTrap;
639
- exports.getFirstFocusable = getFirstFocusable;
640
- exports.getFocusableElements = getFocusableElements;
641
- exports.getLastFocusSource = getLastFocusSource;
642
- exports.getLastFocusable = getLastFocusable;
643
- exports.getNextFocusable = getNextFocusable;
644
- exports.getPreviousFocusable = getPreviousFocusable;
645
- exports.getTabbableElements = getTabbableElements;
646
- exports.hasFocusTrap = hasFocusTrap;
647
- exports.hasVisibleFocus = hasVisibleFocus;
648
- exports.initFocusVisible = initFocusVisible;
649
- exports.isFocusVisible = isFocusVisible;
650
- exports.isFocusable = isFocusable;
651
- exports.isTabbable = isTabbable;
652
- exports.isVisible = isVisible;
653
- exports.isWithinContainer = isWithinContainer;
654
- exports.resolveElement = resolveElement;
655
- exports.setFocusVisible = setFocusVisible;
656
- //# sourceMappingURL=chunk-CQXMBRLD.cjs.map
657
- //# sourceMappingURL=chunk-CQXMBRLD.cjs.map