pixel-react 1.21.97 → 1.21.99
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/lib/components/AutoTruncateText/resizeObserverService.js +6 -4
- package/lib/components/AutoTruncateText/resizeObserverService.js.map +1 -1
- package/lib/components/HighlightText/HighlightText.d.ts +2 -2
- package/lib/components/HighlightText/HighlightText.js +137 -13
- package/lib/components/HighlightText/HighlightText.js.map +1 -1
- package/lib/components/HighlightText/index.d.ts +1 -0
- package/lib/components/HighlightText/types.d.ts +41 -0
- package/lib/components/Icon/iconList.js +10 -0
- package/lib/components/Icon/iconList.js.map +1 -1
- package/lib/components/SequentialConnectingBranch/components/Branches/Branches.js +9 -1
- package/lib/components/SequentialConnectingBranch/components/Branches/Branches.js.map +1 -1
- package/lib/components/SequentialConnectingBranch/types.d.ts +1 -0
- package/lib/components/TooltipService/TooltipService.js +201 -104
- package/lib/components/TooltipService/TooltipService.js.map +1 -1
- package/lib/hooks/useFocusTrap.d.ts +29 -0
- package/lib/hooks/useFocusTrap.js +97 -0
- package/lib/hooks/useFocusTrap.js.map +1 -0
- package/lib/hooks/useInteractiveAncestor.d.ts +7 -0
- package/lib/hooks/useInteractiveAncestor.js +18 -0
- package/lib/hooks/useInteractiveAncestor.js.map +1 -0
- package/lib/index.d.ts +44 -3
- package/lib/index.js +9 -9
- package/lib/index.js.map +1 -1
- package/lib/styles.css +1 -1
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/lib/utils/a11y/a11y.d.ts +28 -0
- package/lib/utils/a11y/a11y.js +62 -0
- package/lib/utils/a11y/a11y.js.map +1 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Branches.js","sourceRoot":"","sources":["../../../../../src/components/SequentialConnectingBranch/components/Branches/Branches.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Branches.js","sourceRoot":"","sources":["../../../../../src/components/SequentialConnectingBranch/components/Branches/Branches.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { useEffect } from 'react';
|
|
2
|
-
import {
|
|
2
|
+
import tippy, { hideAll } from 'tippy.js';
|
|
3
3
|
import 'tippy.js/dist/tippy.css';
|
|
4
4
|
import './TooltipService.scss';
|
|
5
|
+
const TOOLTIP_TARGET = '[data-tooltip], [data-tooltip-id], [data-tooltip-overflow]';
|
|
5
6
|
const VALID_PLACEMENTS = new Set([
|
|
6
7
|
'auto',
|
|
7
8
|
'auto-start',
|
|
@@ -19,6 +20,30 @@ const VALID_PLACEMENTS = new Set([
|
|
|
19
20
|
'left-start',
|
|
20
21
|
'left-end',
|
|
21
22
|
]);
|
|
23
|
+
const TOOLTIP_PROPS = {
|
|
24
|
+
arrow: false,
|
|
25
|
+
theme: 'ff-global-tooltip',
|
|
26
|
+
appendTo: () => document.body,
|
|
27
|
+
allowHTML: true,
|
|
28
|
+
popperOptions: {
|
|
29
|
+
modifiers: [
|
|
30
|
+
{
|
|
31
|
+
name: 'preventOverflow',
|
|
32
|
+
options: {
|
|
33
|
+
altAxis: true,
|
|
34
|
+
padding: 8,
|
|
35
|
+
},
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
name: 'flip',
|
|
39
|
+
options: {
|
|
40
|
+
padding: 8,
|
|
41
|
+
fallbackPlacements: ['top', 'right', 'left'],
|
|
42
|
+
},
|
|
43
|
+
},
|
|
44
|
+
],
|
|
45
|
+
},
|
|
46
|
+
};
|
|
22
47
|
const getTooltipContent = (reference) => {
|
|
23
48
|
const contentNode = document.createElement('div');
|
|
24
49
|
// Accept template content via id
|
|
@@ -45,7 +70,12 @@ const getTooltipContent = (reference) => {
|
|
|
45
70
|
return contentNode;
|
|
46
71
|
}
|
|
47
72
|
}
|
|
48
|
-
|
|
73
|
+
// An overflow-only element without its own text shows the text it cuts off
|
|
74
|
+
const rawText = reference.getAttribute('data-tooltip') ||
|
|
75
|
+
(reference.hasAttribute('data-tooltip-overflow')
|
|
76
|
+
? reference.textContent
|
|
77
|
+
: '') ||
|
|
78
|
+
'';
|
|
49
79
|
if (!rawText.trim())
|
|
50
80
|
return '';
|
|
51
81
|
const text = rawText
|
|
@@ -79,118 +109,185 @@ const getTooltipContent = (reference) => {
|
|
|
79
109
|
}
|
|
80
110
|
return contentNode;
|
|
81
111
|
};
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
112
|
+
// One-line ellipsis cut-off, read only when the element is hovered
|
|
113
|
+
const isClipped = (element) => element.scrollWidth > element.clientWidth + 0.5;
|
|
114
|
+
// The innermost element with something to show. A `data-tooltip-overflow`
|
|
115
|
+
// element counts only while its text is cut off; otherwise the next one out is tried.
|
|
116
|
+
const findTooltipTarget = (start) => {
|
|
117
|
+
let element = start.closest(TOOLTIP_TARGET);
|
|
118
|
+
while (element) {
|
|
119
|
+
const overflowOnly = element.hasAttribute('data-tooltip-overflow');
|
|
120
|
+
if ((!overflowOnly || isClipped(element)) &&
|
|
121
|
+
getTooltipContent(element) !== '') {
|
|
122
|
+
return element;
|
|
123
|
+
}
|
|
124
|
+
element = element.parentElement?.closest(TOOLTIP_TARGET) ?? null;
|
|
125
|
+
}
|
|
126
|
+
return null;
|
|
127
|
+
};
|
|
128
|
+
// Tippy's own ARIA, except where it would be wrong: a hoverable tooltip is not
|
|
129
|
+
// interactive, so it still describes its element and sets no aria-expanded;
|
|
130
|
+
// and text shown only because an ellipsis cuts it off repeats what the element
|
|
131
|
+
// already says, so it is not added as a description
|
|
132
|
+
const getAria = (reference) => {
|
|
133
|
+
if (reference.hasAttribute('data-tooltip-interactive'))
|
|
134
|
+
return {};
|
|
135
|
+
const repeatsOwnText = reference.hasAttribute('data-tooltip-overflow') &&
|
|
136
|
+
!reference.hasAttribute('data-tooltip') &&
|
|
137
|
+
!reference.hasAttribute('data-tooltip-id');
|
|
138
|
+
if (!repeatsOwnText && !reference.hasAttribute('data-tooltip-hoverable')) {
|
|
139
|
+
return {};
|
|
140
|
+
}
|
|
141
|
+
return {
|
|
142
|
+
aria: { expanded: false, content: repeatsOwnText ? null : 'describedby' },
|
|
143
|
+
};
|
|
144
|
+
};
|
|
145
|
+
const getPlacement = (reference) => {
|
|
146
|
+
// placement attribute for tooltip
|
|
147
|
+
const normalizedPlacement = reference
|
|
148
|
+
.getAttribute('data-tooltip-placement')
|
|
149
|
+
?.trim()
|
|
150
|
+
.toLowerCase();
|
|
151
|
+
return normalizedPlacement && VALID_PLACEMENTS.has(normalizedPlacement)
|
|
152
|
+
? normalizedPlacement
|
|
153
|
+
: 'bottom';
|
|
154
|
+
};
|
|
155
|
+
/**
|
|
156
|
+
* Shows at most one tooltip at a time. The instance is created when its element
|
|
157
|
+
* is hovered or focused and destroyed when it hides, so nothing is kept for
|
|
158
|
+
* elements that were hovered and later removed (e.g. virtualized rows).
|
|
159
|
+
*/
|
|
160
|
+
const startTooltips = () => {
|
|
161
|
+
let active = null;
|
|
162
|
+
// Closed with Escape: stays hidden until the pointer or focus leaves it
|
|
163
|
+
let dismissed = null;
|
|
164
|
+
// While a tooltip shows: refresh it when its attributes change, and drop it
|
|
165
|
+
// when its element leaves the page
|
|
166
|
+
const activeObserver = new MutationObserver((records) => {
|
|
167
|
+
if (!active)
|
|
168
|
+
return;
|
|
169
|
+
if (!active.reference.isConnected) {
|
|
170
|
+
destroyActive();
|
|
171
|
+
return;
|
|
172
|
+
}
|
|
173
|
+
if (records.some((record) => record.type === 'attributes')) {
|
|
174
|
+
const content = getTooltipContent(active.reference);
|
|
175
|
+
if (content === '') {
|
|
176
|
+
destroyActive();
|
|
88
177
|
}
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
},
|
|
117
|
-
content(reference) {
|
|
118
|
-
return getTooltipContent(reference);
|
|
119
|
-
},
|
|
120
|
-
onShow(tippyInstance) {
|
|
121
|
-
const { reference } = tippyInstance;
|
|
122
|
-
if (!document.body.contains(reference)) {
|
|
123
|
-
return false;
|
|
124
|
-
}
|
|
125
|
-
const latestContent = getTooltipContent(reference);
|
|
126
|
-
// If no tooltip content is currently available, prevent showing.
|
|
127
|
-
if (latestContent === '') {
|
|
178
|
+
else {
|
|
179
|
+
active.setContent(content);
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
});
|
|
183
|
+
const destroyActive = () => {
|
|
184
|
+
activeObserver.disconnect();
|
|
185
|
+
active?.destroy();
|
|
186
|
+
active = null;
|
|
187
|
+
};
|
|
188
|
+
const show = (reference) => {
|
|
189
|
+
destroyActive();
|
|
190
|
+
// Another copy of this service (e.g. from a second bundle) already handles it
|
|
191
|
+
if (reference._tippy)
|
|
192
|
+
return;
|
|
193
|
+
active = tippy(reference, {
|
|
194
|
+
...TOOLTIP_PROPS,
|
|
195
|
+
content: getTooltipContent(reference),
|
|
196
|
+
placement: getPlacement(reference),
|
|
197
|
+
// This is specific tooltip attributefor interactive. A hoverable
|
|
198
|
+
// tooltip uses it only so the pointer can move onto it (WCAG 1.4.13).
|
|
199
|
+
interactive: reference.hasAttribute('data-tooltip-interactive') ||
|
|
200
|
+
reference.hasAttribute('data-tooltip-hoverable'),
|
|
201
|
+
...getAria(reference),
|
|
202
|
+
showOnCreate: true,
|
|
203
|
+
onShow(instance) {
|
|
204
|
+
if (!instance.reference.isConnected)
|
|
128
205
|
return false;
|
|
129
|
-
}
|
|
130
|
-
// This is specific tooltip attributefor interactive
|
|
131
|
-
const isInteractive = tippyInstance.reference.hasAttribute('data-tooltip-interactive');
|
|
132
|
-
// placement attribute for tooltip
|
|
133
|
-
const rawPlacement = tippyInstance.reference.getAttribute('data-tooltip-placement');
|
|
134
|
-
const normalizedPlacement = rawPlacement?.trim().toLowerCase();
|
|
135
|
-
const placement = normalizedPlacement && VALID_PLACEMENTS.has(normalizedPlacement)
|
|
136
|
-
? normalizedPlacement
|
|
137
|
-
: 'bottom';
|
|
138
|
-
tippyInstance.setProps({
|
|
139
|
-
interactive: isInteractive,
|
|
140
|
-
placement,
|
|
141
|
-
content: latestContent,
|
|
142
|
-
});
|
|
143
206
|
},
|
|
144
|
-
|
|
145
|
-
const
|
|
146
|
-
if (tippyInstance.state.isVisible) {
|
|
147
|
-
const newContent = getTooltipContent(tippyInstance.reference);
|
|
148
|
-
if (newContent === '') {
|
|
149
|
-
tippyInstance.hide();
|
|
150
|
-
}
|
|
151
|
-
else {
|
|
152
|
-
tippyInstance.setContent(newContent);
|
|
153
|
-
}
|
|
154
|
-
}
|
|
155
|
-
});
|
|
156
|
-
attrObserver.observe(tippyInstance.reference, {
|
|
157
|
-
attributes: true,
|
|
158
|
-
attributeFilter: ['data-tooltip', 'data-tooltip-id'],
|
|
159
|
-
});
|
|
160
|
-
tippyInstance._attrObserver = attrObserver;
|
|
161
|
-
const parentEl = tippyInstance.reference.parentElement;
|
|
162
|
-
if (parentEl) {
|
|
163
|
-
const domObserver = new MutationObserver(() => {
|
|
164
|
-
if (!document.body.contains(tippyInstance.reference)) {
|
|
165
|
-
tippyInstance.hide();
|
|
166
|
-
tippyInstance.destroy();
|
|
167
|
-
}
|
|
168
|
-
});
|
|
169
|
-
domObserver.observe(parentEl, { childList: true });
|
|
170
|
-
tippyInstance._domObserver = domObserver;
|
|
171
|
-
}
|
|
172
|
-
},
|
|
173
|
-
onDestroy(tippyInstance) {
|
|
174
|
-
tippyInstance._attrObserver?.disconnect();
|
|
175
|
-
tippyInstance._domObserver?.disconnect();
|
|
176
|
-
},
|
|
177
|
-
onMount(tippyInstance) {
|
|
178
|
-
const isExplicitlyInteractive = tippyInstance.reference.hasAttribute('data-tooltip-interactive');
|
|
207
|
+
onMount(instance) {
|
|
208
|
+
const isExplicitlyInteractive = instance.reference.hasAttribute('data-tooltip-interactive');
|
|
179
209
|
if (!isExplicitlyInteractive) {
|
|
180
|
-
const tippyBox =
|
|
210
|
+
const tippyBox = instance.popper.querySelector('.tippy-box');
|
|
181
211
|
if (tippyBox && tippyBox.scrollHeight > tippyBox.clientHeight) {
|
|
182
|
-
|
|
212
|
+
instance.setProps({ interactive: true });
|
|
183
213
|
}
|
|
184
214
|
}
|
|
185
215
|
},
|
|
216
|
+
onHidden(instance) {
|
|
217
|
+
if (instance === active) {
|
|
218
|
+
destroyActive();
|
|
219
|
+
}
|
|
220
|
+
else {
|
|
221
|
+
instance.destroy();
|
|
222
|
+
}
|
|
223
|
+
},
|
|
224
|
+
});
|
|
225
|
+
activeObserver.observe(reference, {
|
|
226
|
+
attributes: true,
|
|
227
|
+
attributeFilter: ['data-tooltip', 'data-tooltip-id'],
|
|
186
228
|
});
|
|
229
|
+
activeObserver.observe(document.body, { childList: true, subtree: true });
|
|
230
|
+
};
|
|
231
|
+
const handlePointerOrFocus = (event) => {
|
|
232
|
+
const { target } = event;
|
|
233
|
+
if (!(target instanceof Element))
|
|
234
|
+
return;
|
|
235
|
+
// Moving into an interactive tooltip keeps it open
|
|
236
|
+
if (active?.popper.contains(target))
|
|
237
|
+
return;
|
|
238
|
+
if (dismissed && !dismissed.contains(target))
|
|
239
|
+
dismissed = null;
|
|
240
|
+
// Nothing new under the pointer: the shown tooltip hides itself on mouseleave
|
|
241
|
+
const closest = target.closest(TOOLTIP_TARGET);
|
|
242
|
+
if (!closest || closest === active?.reference)
|
|
243
|
+
return;
|
|
244
|
+
const reference = findTooltipTarget(closest);
|
|
245
|
+
if (reference &&
|
|
246
|
+
reference !== active?.reference &&
|
|
247
|
+
reference !== dismissed) {
|
|
248
|
+
show(reference);
|
|
249
|
+
}
|
|
250
|
+
};
|
|
251
|
+
// Escape hides the tooltip without moving the pointer or focus (WCAG 1.4.13)
|
|
252
|
+
const hideOnEscape = (event) => {
|
|
253
|
+
if (event.key !== 'Escape' || !active)
|
|
254
|
+
return;
|
|
255
|
+
dismissed = active.reference;
|
|
256
|
+
destroyActive();
|
|
257
|
+
};
|
|
258
|
+
const hideTooltipsOnScroll = (event) => {
|
|
259
|
+
const target = event.target;
|
|
260
|
+
if (target instanceof Element && target.closest('[data-tippy-root]')) {
|
|
261
|
+
return;
|
|
262
|
+
}
|
|
263
|
+
hideAll({ duration: 0 });
|
|
264
|
+
destroyActive();
|
|
265
|
+
};
|
|
266
|
+
document.addEventListener('mouseover', handlePointerOrFocus);
|
|
267
|
+
document.addEventListener('focusin', handlePointerOrFocus);
|
|
268
|
+
document.addEventListener('keydown', hideOnEscape);
|
|
269
|
+
window.addEventListener('scroll', hideTooltipsOnScroll, true);
|
|
270
|
+
return () => {
|
|
271
|
+
document.removeEventListener('mouseover', handlePointerOrFocus);
|
|
272
|
+
document.removeEventListener('focusin', handlePointerOrFocus);
|
|
273
|
+
document.removeEventListener('keydown', hideOnEscape);
|
|
274
|
+
window.removeEventListener('scroll', hideTooltipsOnScroll, true);
|
|
275
|
+
destroyActive();
|
|
276
|
+
};
|
|
277
|
+
};
|
|
278
|
+
// Every mounted TooltipService shares one set of listeners
|
|
279
|
+
let mountedServices = 0;
|
|
280
|
+
let stopTooltips = null;
|
|
281
|
+
const TooltipService = () => {
|
|
282
|
+
useEffect(() => {
|
|
283
|
+
mountedServices += 1;
|
|
284
|
+
if (mountedServices === 1)
|
|
285
|
+
stopTooltips = startTooltips();
|
|
187
286
|
return () => {
|
|
188
|
-
|
|
189
|
-
if (
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
else {
|
|
193
|
-
instance.destroy();
|
|
287
|
+
mountedServices -= 1;
|
|
288
|
+
if (mountedServices === 0) {
|
|
289
|
+
stopTooltips?.();
|
|
290
|
+
stopTooltips = null;
|
|
194
291
|
}
|
|
195
292
|
};
|
|
196
293
|
}, []);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TooltipService.js","sourceRoot":"","sources":["../../../src/components/TooltipService/TooltipService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"TooltipService.js","sourceRoot":"","sources":["../../../src/components/TooltipService/TooltipService.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { RefObject } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* Remembers the element that had focus when `isOpen` became true, read during
|
|
4
|
+
* render — before children with autoFocus take focus — so it can be restored.
|
|
5
|
+
*/
|
|
6
|
+
export declare const useOpenerElement: (isOpen: boolean) => import("react").MutableRefObject<HTMLElement | null>;
|
|
7
|
+
interface FocusTrapOptions {
|
|
8
|
+
active: boolean;
|
|
9
|
+
/** Element to focus on activation; defaults to the first focusable child. */
|
|
10
|
+
initialFocusRef?: RefObject<HTMLElement>;
|
|
11
|
+
/** Return focus to the element that was focused before activation. */
|
|
12
|
+
restoreFocus?: boolean;
|
|
13
|
+
/** Explicit element to return focus to (see useOpenerElement). */
|
|
14
|
+
returnFocusRef?: RefObject<HTMLElement | null>;
|
|
15
|
+
/**
|
|
16
|
+
* Keep Tab/Shift+Tab inside the container (modal). When false, focus only
|
|
17
|
+
* moves in on activation and back out afterwards (non-modal panel).
|
|
18
|
+
*/
|
|
19
|
+
trapTab?: boolean;
|
|
20
|
+
}
|
|
21
|
+
export declare const isTopMostFocusTrap: (container: HTMLElement | null) => boolean;
|
|
22
|
+
export declare const getTopMostFocusTrap: () => HTMLElement | null;
|
|
23
|
+
/**
|
|
24
|
+
* Moves keyboard focus into a dialog when it opens, optionally keeps it there
|
|
25
|
+
* while it is modal, and restores it to the trigger afterwards — WCAG 2.4.3
|
|
26
|
+
* Focus Order and 2.1.2 No Keyboard Trap (focus is released on close).
|
|
27
|
+
*/
|
|
28
|
+
declare const useFocusTrap: (containerRef: RefObject<HTMLElement>, { active, initialFocusRef, restoreFocus, trapTab, returnFocusRef, }: FocusTrapOptions) => void;
|
|
29
|
+
export default useFocusTrap;
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import { useEffect, useRef } from 'react';
|
|
2
|
+
import { getFocusableElements } from '../utils/a11y/a11y';
|
|
3
|
+
/**
|
|
4
|
+
* Remembers the element that had focus when `isOpen` became true, read during
|
|
5
|
+
* render — before children with autoFocus take focus — so it can be restored.
|
|
6
|
+
*/
|
|
7
|
+
export const useOpenerElement = (isOpen) => {
|
|
8
|
+
const openerRef = useRef(null);
|
|
9
|
+
const wasOpenRef = useRef(false);
|
|
10
|
+
if (isOpen && !wasOpenRef.current && typeof document !== 'undefined') {
|
|
11
|
+
const focused = document.activeElement;
|
|
12
|
+
openerRef.current =
|
|
13
|
+
focused instanceof HTMLElement && focused !== document.body
|
|
14
|
+
? focused
|
|
15
|
+
: null;
|
|
16
|
+
}
|
|
17
|
+
wasOpenRef.current = isOpen;
|
|
18
|
+
return openerRef;
|
|
19
|
+
};
|
|
20
|
+
// Traps are stacked so only the top-most dialog handles Tab and Escape.
|
|
21
|
+
const trapStack = [];
|
|
22
|
+
export const isTopMostFocusTrap = (container) => !!container && trapStack[trapStack.length - 1] === container;
|
|
23
|
+
export const getTopMostFocusTrap = () => trapStack[trapStack.length - 1] ?? null;
|
|
24
|
+
/**
|
|
25
|
+
* Moves keyboard focus into a dialog when it opens, optionally keeps it there
|
|
26
|
+
* while it is modal, and restores it to the trigger afterwards — WCAG 2.4.3
|
|
27
|
+
* Focus Order and 2.1.2 No Keyboard Trap (focus is released on close).
|
|
28
|
+
*/
|
|
29
|
+
const useFocusTrap = (containerRef, { active, initialFocusRef, restoreFocus = true, trapTab = true, returnFocusRef, }) => {
|
|
30
|
+
useEffect(() => {
|
|
31
|
+
const container = containerRef.current;
|
|
32
|
+
if (!active || !container)
|
|
33
|
+
return undefined;
|
|
34
|
+
const focusedNow = document.activeElement instanceof HTMLElement
|
|
35
|
+
? document.activeElement
|
|
36
|
+
: null;
|
|
37
|
+
// Prefer the opener captured at render; otherwise whatever had focus,
|
|
38
|
+
// unless that is already inside the container (e.g. an autoFocus field).
|
|
39
|
+
const previouslyFocused = returnFocusRef?.current ??
|
|
40
|
+
(focusedNow && !container.contains(focusedNow) ? focusedNow : null);
|
|
41
|
+
if (trapTab)
|
|
42
|
+
trapStack.push(container);
|
|
43
|
+
// Deferred so children using autoFocus win, and portal content is laid out.
|
|
44
|
+
const frame = requestAnimationFrame(() => {
|
|
45
|
+
if (container.contains(document.activeElement))
|
|
46
|
+
return;
|
|
47
|
+
const target = initialFocusRef?.current ??
|
|
48
|
+
getFocusableElements(container)[0] ??
|
|
49
|
+
container;
|
|
50
|
+
target.focus({ preventScroll: true });
|
|
51
|
+
});
|
|
52
|
+
const handleKeyDown = (event) => {
|
|
53
|
+
if (event.key !== 'Tab' ||
|
|
54
|
+
// Composite widgets (e.g. a spreadsheet) may use Tab internally.
|
|
55
|
+
event.defaultPrevented ||
|
|
56
|
+
!isTopMostFocusTrap(container)) {
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
59
|
+
const focusable = getFocusableElements(container);
|
|
60
|
+
const first = focusable[0];
|
|
61
|
+
const last = focusable[focusable.length - 1];
|
|
62
|
+
if (!first || !last) {
|
|
63
|
+
event.preventDefault();
|
|
64
|
+
container.focus({ preventScroll: true });
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
const activeElement = document.activeElement;
|
|
68
|
+
const focusIsOutside = !container.contains(activeElement);
|
|
69
|
+
if (event.shiftKey && (activeElement === first || focusIsOutside)) {
|
|
70
|
+
event.preventDefault();
|
|
71
|
+
last.focus();
|
|
72
|
+
}
|
|
73
|
+
else if (!event.shiftKey && (activeElement === last || focusIsOutside)) {
|
|
74
|
+
event.preventDefault();
|
|
75
|
+
first.focus();
|
|
76
|
+
}
|
|
77
|
+
};
|
|
78
|
+
if (trapTab)
|
|
79
|
+
document.addEventListener('keydown', handleKeyDown);
|
|
80
|
+
return () => {
|
|
81
|
+
cancelAnimationFrame(frame);
|
|
82
|
+
document.removeEventListener('keydown', handleKeyDown);
|
|
83
|
+
const index = trapStack.lastIndexOf(container);
|
|
84
|
+
if (index !== -1)
|
|
85
|
+
trapStack.splice(index, 1);
|
|
86
|
+
// Only restore when focus would otherwise be lost (inside the closing
|
|
87
|
+
// container or already on <body>), never steal it from elsewhere.
|
|
88
|
+
const focused = document.activeElement;
|
|
89
|
+
const focusWouldBeLost = !focused || focused === document.body || container.contains(focused);
|
|
90
|
+
if (restoreFocus && focusWouldBeLost && previouslyFocused?.isConnected) {
|
|
91
|
+
previouslyFocused.focus({ preventScroll: true });
|
|
92
|
+
}
|
|
93
|
+
};
|
|
94
|
+
}, [active, containerRef, initialFocusRef, restoreFocus, trapTab, returnFocusRef]);
|
|
95
|
+
};
|
|
96
|
+
export default useFocusTrap;
|
|
97
|
+
//# sourceMappingURL=useFocusTrap.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useFocusTrap.js","sourceRoot":"","sources":["../../src/hooks/useFocusTrap.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { RefObject } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* True when the element is rendered inside a control that already handles
|
|
4
|
+
* keyboard activation, so the element should not add its own tab stop.
|
|
5
|
+
*/
|
|
6
|
+
declare const useInteractiveAncestor: (ref: RefObject<HTMLElement>, enabled: boolean) => boolean;
|
|
7
|
+
export default useInteractiveAncestor;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { useLayoutEffect, useState } from 'react';
|
|
2
|
+
import { hasInteractiveAncestor } from '../utils/a11y/a11y';
|
|
3
|
+
/**
|
|
4
|
+
* True when the element is rendered inside a control that already handles
|
|
5
|
+
* keyboard activation, so the element should not add its own tab stop.
|
|
6
|
+
*/
|
|
7
|
+
const useInteractiveAncestor = (ref, enabled) => {
|
|
8
|
+
const [isNested, setIsNested] = useState(false);
|
|
9
|
+
useLayoutEffect(() => {
|
|
10
|
+
if (!enabled)
|
|
11
|
+
return;
|
|
12
|
+
const nested = hasInteractiveAncestor(ref.current);
|
|
13
|
+
setIsNested((previous) => (previous === nested ? previous : nested));
|
|
14
|
+
}, [enabled, ref]);
|
|
15
|
+
return enabled && isNested;
|
|
16
|
+
};
|
|
17
|
+
export default useInteractiveAncestor;
|
|
18
|
+
//# sourceMappingURL=useInteractiveAncestor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useInteractiveAncestor.js","sourceRoot":"","sources":["../../src/hooks/useInteractiveAncestor.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAa,eAAe,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAE5D;;;GAGG;AACH,MAAM,sBAAsB,GAAG,CAC7B,GAA2B,EAC3B,OAAgB,EAChB,EAAE;IACF,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAEhD,eAAe,CAAC,GAAG,EAAE;QACnB,IAAI,CAAC,OAAO;YAAE,OAAO;QACrB,MAAM,MAAM,GAAG,sBAAsB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACnD,WAAW,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IACvE,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;IAEnB,OAAO,OAAO,IAAI,QAAQ,CAAC;AAC7B,CAAC,CAAC;AAEF,eAAe,sBAAsB,CAAC"}
|