@tamagui/focus-scope 1.132.12 → 1.132.14

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.
@@ -137,10 +137,13 @@ function useFocusScope(props, forwardedRef) {
137
137
  max: 200,
138
138
  min: typeof focusOnIdle == "number" ? focusOnIdle : 16
139
139
  }));
140
- const candidates = removeLinks(getTabbableCandidates(container));
141
- focusFirst(candidates, {
140
+ const allCandidates = getTabbableCandidates(container),
141
+ visibleCandidates = removeLinks(allCandidates).filter(candidate => !isHidden(candidate, {
142
+ upTo: container
143
+ }));
144
+ focusFirst(visibleCandidates, {
142
145
  select: !0
143
- }), document.activeElement === previouslyFocusedElement && focus(container);
146
+ }), visibleCandidates.length > 0 ? lastFocusedElementRef.current = visibleCandidates[0] : lastFocusedElementRef.current = container, document.activeElement === previouslyFocusedElement && visibleCandidates.length === 0 && focus(container);
144
147
  }
145
148
  }
146
149
  return () => {
@@ -152,24 +155,35 @@ function useFocusScope(props, forwardedRef) {
152
155
  };
153
156
  }, [enabled, container, forceUnmount, onMountAutoFocus, onUnmountAutoFocus, focusScope, focusOnIdle]);
154
157
  const handleKeyDown = React.useCallback(event => {
155
- if (!trapped || !loop || focusScope.paused || !enabled) return;
158
+ if (!trapped || !loop || focusScope.paused || !enabled || !container) return;
156
159
  const isTabKey = event.key === "Tab" && !event.altKey && !event.ctrlKey && !event.metaKey,
157
160
  focusedElement = document.activeElement;
158
161
  if (isTabKey && focusedElement) {
159
- const container2 = event.currentTarget,
160
- [first, last] = getTabbableEdges(container2);
162
+ const [first, last] = getTabbableEdges(container);
161
163
  first && last ? !event.shiftKey && focusedElement === last ? (event.preventDefault(), loop && focus(first, {
162
164
  select: !0
163
165
  })) : event.shiftKey && focusedElement === first && (event.preventDefault(), loop && focus(last, {
164
166
  select: !0
165
- })) : focusedElement === container2 && event.preventDefault();
167
+ })) : focusedElement === container && event.preventDefault();
166
168
  }
167
- }, [loop, trapped, focusScope.paused]);
169
+ }, [loop, trapped, focusScope.paused, enabled, container]);
170
+ React.useEffect(() => {
171
+ if (!container || !trapped || !loop || !enabled) return;
172
+ const handleKeyDownCapture = event => {
173
+ event.key === "Tab" && handleKeyDown(event);
174
+ };
175
+ return container.addEventListener("keydown", handleKeyDownCapture, !0), () => {
176
+ container.removeEventListener("keydown", handleKeyDownCapture, !0);
177
+ };
178
+ }, [container, trapped, loop, enabled, handleKeyDown]);
179
+ const existingOnKeyDown = scopeProps.onKeyDown,
180
+ composedOnKeyDown = React.useCallback(event => {
181
+ existingOnKeyDown?.(event);
182
+ }, [existingOnKeyDown]);
168
183
  return {
169
- tabIndex: -1,
170
184
  ...scopeProps,
171
185
  ref: composedRefs,
172
- onKeyDown: handleKeyDown
186
+ onKeyDown: composedOnKeyDown
173
187
  };
174
188
  }
175
189
  function focusFirst(candidates, {
@@ -221,9 +235,11 @@ function focus(element, {
221
235
  } = {}) {
222
236
  if (element?.focus) {
223
237
  const previouslyFocusedElement = document.activeElement;
224
- element.focus({
225
- preventScroll: !0
226
- }), element !== previouslyFocusedElement && isSelectableInput(element) && select && element.select();
238
+ try {
239
+ element.focus({
240
+ preventScroll: !0
241
+ }), element !== previouslyFocusedElement && isSelectableInput(element) && select && element.select();
242
+ } catch {}
227
243
  }
228
244
  }
229
245
  const focusScopesStack = createFocusScopesStack();
@@ -108,8 +108,10 @@ function useFocusScope(props, forwardedRef) {
108
108
  min: typeof focusOnIdle == "number" ? focusOnIdle : 16
109
109
  }
110
110
  );
111
- const candidates = removeLinks(getTabbableCandidates(container));
112
- focusFirst(candidates, { select: !0 }), document.activeElement === previouslyFocusedElement && focus(container);
111
+ const allCandidates = getTabbableCandidates(container), visibleCandidates = removeLinks(allCandidates).filter(
112
+ (candidate) => !isHidden(candidate, { upTo: container })
113
+ );
114
+ focusFirst(visibleCandidates, { select: !0 }), visibleCandidates.length > 0 ? lastFocusedElementRef.current = visibleCandidates[0] : lastFocusedElementRef.current = container, document.activeElement === previouslyFocusedElement && visibleCandidates.length === 0 && focus(container);
113
115
  }
114
116
  }
115
117
  return () => {
@@ -130,20 +132,34 @@ function useFocusScope(props, forwardedRef) {
130
132
  );
131
133
  const handleKeyDown = React.useCallback(
132
134
  (event) => {
133
- if (!trapped || !loop || focusScope.paused || !enabled) return;
135
+ if (!trapped || !loop || focusScope.paused || !enabled || !container) return;
134
136
  const isTabKey = event.key === "Tab" && !event.altKey && !event.ctrlKey && !event.metaKey, focusedElement = document.activeElement;
135
137
  if (isTabKey && focusedElement) {
136
- const container2 = event.currentTarget, [first, last] = getTabbableEdges(container2);
137
- first && last ? !event.shiftKey && focusedElement === last ? (event.preventDefault(), loop && focus(first, { select: !0 })) : event.shiftKey && focusedElement === first && (event.preventDefault(), loop && focus(last, { select: !0 })) : focusedElement === container2 && event.preventDefault();
138
+ const [first, last] = getTabbableEdges(container);
139
+ first && last ? !event.shiftKey && focusedElement === last ? (event.preventDefault(), loop && focus(first, { select: !0 })) : event.shiftKey && focusedElement === first && (event.preventDefault(), loop && focus(last, { select: !0 })) : focusedElement === container && event.preventDefault();
138
140
  }
139
141
  },
140
- [loop, trapped, focusScope.paused]
142
+ [loop, trapped, focusScope.paused, enabled, container]
143
+ );
144
+ React.useEffect(() => {
145
+ if (!container || !trapped || !loop || !enabled) return;
146
+ const handleKeyDownCapture = (event) => {
147
+ event.key === "Tab" && handleKeyDown(event);
148
+ };
149
+ return container.addEventListener("keydown", handleKeyDownCapture, !0), () => {
150
+ container.removeEventListener("keydown", handleKeyDownCapture, !0);
151
+ };
152
+ }, [container, trapped, loop, enabled, handleKeyDown]);
153
+ const existingOnKeyDown = scopeProps.onKeyDown, composedOnKeyDown = React.useCallback(
154
+ (event) => {
155
+ existingOnKeyDown?.(event);
156
+ },
157
+ [existingOnKeyDown]
141
158
  );
142
159
  return {
143
- tabIndex: -1,
144
160
  ...scopeProps,
145
161
  ref: composedRefs,
146
- onKeyDown: handleKeyDown
162
+ onKeyDown: composedOnKeyDown
147
163
  };
148
164
  }
149
165
  function focusFirst(candidates, { select = !1 } = {}) {
@@ -184,7 +200,10 @@ function isSelectableInput(element) {
184
200
  function focus(element, { select = !1 } = {}) {
185
201
  if (element?.focus) {
186
202
  const previouslyFocusedElement = document.activeElement;
187
- element.focus({ preventScroll: !0 }), element !== previouslyFocusedElement && isSelectableInput(element) && select && element.select();
203
+ try {
204
+ element.focus({ preventScroll: !0 }), element !== previouslyFocusedElement && isSelectableInput(element) && select && element.select();
205
+ } catch {
206
+ }
188
207
  }
189
208
  }
190
209
  const focusScopesStack = createFocusScopesStack();
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/FocusScope.tsx"],
4
- "mappings": "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",
5
- "names": ["container"]
4
+ "mappings": "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",
5
+ "names": []
6
6
  }
@@ -86,8 +86,10 @@ function useFocusScope(props, forwardedRef) {
86
86
  min: typeof focusOnIdle == "number" ? focusOnIdle : 16
87
87
  }
88
88
  );
89
- const candidates = removeLinks(getTabbableCandidates(container));
90
- focusFirst(candidates, { select: !0 }), document.activeElement === previouslyFocusedElement && focus(container);
89
+ const allCandidates = getTabbableCandidates(container), visibleCandidates = removeLinks(allCandidates).filter(
90
+ (candidate) => !isHidden(candidate, { upTo: container })
91
+ );
92
+ focusFirst(visibleCandidates, { select: !0 }), visibleCandidates.length > 0 ? lastFocusedElementRef.current = visibleCandidates[0] : lastFocusedElementRef.current = container, document.activeElement === previouslyFocusedElement && visibleCandidates.length === 0 && focus(container);
91
93
  }
92
94
  }
93
95
  return () => {
@@ -108,20 +110,34 @@ function useFocusScope(props, forwardedRef) {
108
110
  );
109
111
  const handleKeyDown = React.useCallback(
110
112
  (event) => {
111
- if (!trapped || !loop || focusScope.paused || !enabled) return;
113
+ if (!trapped || !loop || focusScope.paused || !enabled || !container) return;
112
114
  const isTabKey = event.key === "Tab" && !event.altKey && !event.ctrlKey && !event.metaKey, focusedElement = document.activeElement;
113
115
  if (isTabKey && focusedElement) {
114
- const container2 = event.currentTarget, [first, last] = getTabbableEdges(container2);
115
- first && last ? !event.shiftKey && focusedElement === last ? (event.preventDefault(), loop && focus(first, { select: !0 })) : event.shiftKey && focusedElement === first && (event.preventDefault(), loop && focus(last, { select: !0 })) : focusedElement === container2 && event.preventDefault();
116
+ const [first, last] = getTabbableEdges(container);
117
+ first && last ? !event.shiftKey && focusedElement === last ? (event.preventDefault(), loop && focus(first, { select: !0 })) : event.shiftKey && focusedElement === first && (event.preventDefault(), loop && focus(last, { select: !0 })) : focusedElement === container && event.preventDefault();
116
118
  }
117
119
  },
118
- [loop, trapped, focusScope.paused]
120
+ [loop, trapped, focusScope.paused, enabled, container]
121
+ );
122
+ React.useEffect(() => {
123
+ if (!container || !trapped || !loop || !enabled) return;
124
+ const handleKeyDownCapture = (event) => {
125
+ event.key === "Tab" && handleKeyDown(event);
126
+ };
127
+ return container.addEventListener("keydown", handleKeyDownCapture, !0), () => {
128
+ container.removeEventListener("keydown", handleKeyDownCapture, !0);
129
+ };
130
+ }, [container, trapped, loop, enabled, handleKeyDown]);
131
+ const existingOnKeyDown = scopeProps.onKeyDown, composedOnKeyDown = React.useCallback(
132
+ (event) => {
133
+ existingOnKeyDown?.(event);
134
+ },
135
+ [existingOnKeyDown]
119
136
  );
120
137
  return {
121
- tabIndex: -1,
122
138
  ...scopeProps,
123
139
  ref: composedRefs,
124
- onKeyDown: handleKeyDown
140
+ onKeyDown: composedOnKeyDown
125
141
  };
126
142
  }
127
143
  function focusFirst(candidates, { select = !1 } = {}) {
@@ -162,7 +178,10 @@ function isSelectableInput(element) {
162
178
  function focus(element, { select = !1 } = {}) {
163
179
  if (element?.focus) {
164
180
  const previouslyFocusedElement = document.activeElement;
165
- element.focus({ preventScroll: !0 }), element !== previouslyFocusedElement && isSelectableInput(element) && select && element.select();
181
+ try {
182
+ element.focus({ preventScroll: !0 }), element !== previouslyFocusedElement && isSelectableInput(element) && select && element.select();
183
+ } catch {
184
+ }
166
185
  }
167
186
  }
168
187
  const focusScopesStack = createFocusScopesStack();
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/FocusScope.tsx"],
4
- "mappings": "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",
5
- "names": ["container"]
4
+ "mappings": "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",
5
+ "names": []
6
6
  }
@@ -100,10 +100,13 @@ function useFocusScope(props, forwardedRef) {
100
100
  max: 200,
101
101
  min: typeof focusOnIdle == "number" ? focusOnIdle : 16
102
102
  }));
103
- const candidates = removeLinks(getTabbableCandidates(container));
104
- focusFirst(candidates, {
103
+ const allCandidates = getTabbableCandidates(container),
104
+ visibleCandidates = removeLinks(allCandidates).filter(candidate => !isHidden(candidate, {
105
+ upTo: container
106
+ }));
107
+ focusFirst(visibleCandidates, {
105
108
  select: !0
106
- }), document.activeElement === previouslyFocusedElement && focus(container);
109
+ }), visibleCandidates.length > 0 ? lastFocusedElementRef.current = visibleCandidates[0] : lastFocusedElementRef.current = container, document.activeElement === previouslyFocusedElement && visibleCandidates.length === 0 && focus(container);
107
110
  }
108
111
  }
109
112
  return () => {
@@ -115,24 +118,35 @@ function useFocusScope(props, forwardedRef) {
115
118
  };
116
119
  }, [enabled, container, forceUnmount, onMountAutoFocus, onUnmountAutoFocus, focusScope, focusOnIdle]);
117
120
  const handleKeyDown = React.useCallback(event => {
118
- if (!trapped || !loop || focusScope.paused || !enabled) return;
121
+ if (!trapped || !loop || focusScope.paused || !enabled || !container) return;
119
122
  const isTabKey = event.key === "Tab" && !event.altKey && !event.ctrlKey && !event.metaKey,
120
123
  focusedElement = document.activeElement;
121
124
  if (isTabKey && focusedElement) {
122
- const container2 = event.currentTarget,
123
- [first, last] = getTabbableEdges(container2);
125
+ const [first, last] = getTabbableEdges(container);
124
126
  first && last ? !event.shiftKey && focusedElement === last ? (event.preventDefault(), loop && focus(first, {
125
127
  select: !0
126
128
  })) : event.shiftKey && focusedElement === first && (event.preventDefault(), loop && focus(last, {
127
129
  select: !0
128
- })) : focusedElement === container2 && event.preventDefault();
130
+ })) : focusedElement === container && event.preventDefault();
129
131
  }
130
- }, [loop, trapped, focusScope.paused]);
132
+ }, [loop, trapped, focusScope.paused, enabled, container]);
133
+ React.useEffect(() => {
134
+ if (!container || !trapped || !loop || !enabled) return;
135
+ const handleKeyDownCapture = event => {
136
+ event.key === "Tab" && handleKeyDown(event);
137
+ };
138
+ return container.addEventListener("keydown", handleKeyDownCapture, !0), () => {
139
+ container.removeEventListener("keydown", handleKeyDownCapture, !0);
140
+ };
141
+ }, [container, trapped, loop, enabled, handleKeyDown]);
142
+ const existingOnKeyDown = scopeProps.onKeyDown,
143
+ composedOnKeyDown = React.useCallback(event => {
144
+ existingOnKeyDown?.(event);
145
+ }, [existingOnKeyDown]);
131
146
  return {
132
- tabIndex: -1,
133
147
  ...scopeProps,
134
148
  ref: composedRefs,
135
- onKeyDown: handleKeyDown
149
+ onKeyDown: composedOnKeyDown
136
150
  };
137
151
  }
138
152
  function focusFirst(candidates, {
@@ -184,9 +198,11 @@ function focus(element, {
184
198
  } = {}) {
185
199
  if (element?.focus) {
186
200
  const previouslyFocusedElement = document.activeElement;
187
- element.focus({
188
- preventScroll: !0
189
- }), element !== previouslyFocusedElement && isSelectableInput(element) && select && element.select();
201
+ try {
202
+ element.focus({
203
+ preventScroll: !0
204
+ }), element !== previouslyFocusedElement && isSelectableInput(element) && select && element.select();
205
+ } catch {}
190
206
  }
191
207
  }
192
208
  const focusScopesStack = createFocusScopesStack();
@@ -1 +1 @@
1
- {"version":3,"names":["useComposedRefs","startTransition","idle","useAsyncEffect","useEvent","React","useFocusScopeControllerContext","Fragment","jsx","AUTOFOCUS_ON_MOUNT","AUTOFOCUS_ON_UNMOUNT","EVENT_OPTIONS","bubbles","cancelable","FocusScope","forwardRef","__scopeFocusScope","props","forwardedRef","context","warn","fallback","mergedProps","enabled","loop","trapped","onMountAutoFocus","onUnmountAutoFocus","forceUnmount","focusOnIdle","childProps","useFocusScope","children","cloneElement","Children","only","onMountAutoFocusProp","onUnmountAutoFocusProp","scopeProps","container","setContainer","useState","lastFocusedElementRef","useRef","setContainerTransition","useCallback","node","composedRefs","focusScope","paused","pause","resume","current","useEffect","controller","AbortController","handleFocusIn","event","target","contains","addEventListener","handleBlur","signal","focus","select","handleFocusOut","abort","relatedTarget","document","removeEventListener","focusScopesStack","add","previouslyFocusedElement","activeElement","mountEvent","CustomEvent","dispatchEvent","defaultPrevented","max","min","candidates","removeLinks","getTabbableCandidates","focusFirst","unmountEvent","body","remove","handleKeyDown","isTabKey","key","altKey","ctrlKey","metaKey","focusedElement","container2","currentTarget","first","last","getTabbableEdges","shiftKey","preventDefault","tabIndex","ref","onKeyDown","candidate","findVisible","reverse","nodes","walker","createTreeWalker","NodeFilter","SHOW_ELEMENT","acceptNode","isHiddenInput","tagName","type","disabled","hidden","FILTER_SKIP","FILTER_ACCEPT","nextNode","push","currentNode","elements","element","isHidden","upTo","getComputedStyle","visibility","display","parentElement","isSelectableInput","HTMLInputElement","preventScroll","createFocusScopesStack","stack","activeFocusScope","arrayRemove","unshift","array","item","updatedArray","index","indexOf","splice","items","filter"],"sources":["../../src/FocusScope.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useComposedRefs","startTransition","idle","useAsyncEffect","useEvent","React","useFocusScopeControllerContext","Fragment","jsx","AUTOFOCUS_ON_MOUNT","AUTOFOCUS_ON_UNMOUNT","EVENT_OPTIONS","bubbles","cancelable","FocusScope","forwardRef","__scopeFocusScope","props","forwardedRef","context","warn","fallback","mergedProps","enabled","loop","trapped","onMountAutoFocus","onUnmountAutoFocus","forceUnmount","focusOnIdle","childProps","useFocusScope","children","cloneElement","Children","only","onMountAutoFocusProp","onUnmountAutoFocusProp","scopeProps","container","setContainer","useState","lastFocusedElementRef","useRef","setContainerTransition","useCallback","node","composedRefs","focusScope","paused","pause","resume","current","useEffect","controller","AbortController","handleFocusIn","event","target","contains","addEventListener","handleBlur","signal","focus","select","handleFocusOut","abort","relatedTarget","document","removeEventListener","focusScopesStack","add","previouslyFocusedElement","activeElement","mountEvent","CustomEvent","dispatchEvent","defaultPrevented","max","min","allCandidates","getTabbableCandidates","visibleCandidates","removeLinks","filter","candidate","isHidden","upTo","focusFirst","length","unmountEvent","body","remove","handleKeyDown","isTabKey","key","altKey","ctrlKey","metaKey","focusedElement","first","last","getTabbableEdges","shiftKey","preventDefault","handleKeyDownCapture","existingOnKeyDown","onKeyDown","composedOnKeyDown","ref","candidates","findVisible","reverse","nodes","walker","createTreeWalker","NodeFilter","SHOW_ELEMENT","acceptNode","isHiddenInput","tagName","type","disabled","hidden","FILTER_SKIP","tabIndex","FILTER_ACCEPT","nextNode","push","currentNode","elements","element","getComputedStyle","visibility","display","parentElement","isSelectableInput","HTMLInputElement","preventScroll","createFocusScopesStack","stack","activeFocusScope","arrayRemove","unshift","array","item","updatedArray","index","indexOf","splice","items"],"sources":["../../src/FocusScope.tsx"],"sourcesContent":[null],"mappings":"AAAA,SAASA,eAAA,QAAuB;AAChC,SAASC,eAAA,QAAuB;AAChC,SAASC,IAAA,EAAMC,cAAA,QAAsB;AACrC,SAASC,QAAA,QAAgB;AACzB,YAAYC,KAAA,MAAW;AACvB,SAASC,8BAAA,QAAsC;AA2ClC,SAAAC,QAAA,EAAAC,GAAA;AArCb,MAAMC,kBAAA,GAAqB;EACrBC,oBAAA,GAAuB;EACvBC,aAAA,GAAgB;IAAEC,OAAA,EAAS;IAAOC,UAAA,EAAY;EAAK;EAUnDC,UAAA,GAAaT,KAAA,CAAMU,UAAA,CACvB,UACE;IAAEC,iBAAA;IAAmB,GAAGC;EAAM,GAC9BC,YAAA,EACA;IAEA,MAAMC,OAAA,GAAUb,8BAAA,CAA+B,cAAcU,iBAAA,EAAmB;QAC9EI,IAAA,EAAM;QACNC,QAAA,EAAU,CAAC;MACb,CAAC;MAEKC,WAAA,GAA+B;QACnC,GAAGL,KAAA;QACHM,OAAA,EAASJ,OAAA,CAAQI,OAAA,IAAWN,KAAA,CAAMM,OAAA;QAClCC,IAAA,EAAML,OAAA,CAAQK,IAAA,IAAQP,KAAA,CAAMO,IAAA;QAC5BC,OAAA,EAASN,OAAA,CAAQM,OAAA,IAAWR,KAAA,CAAMQ,OAAA;QAClCC,gBAAA,EAAkBP,OAAA,CAAQO,gBAAA,IAAoBT,KAAA,CAAMS,gBAAA;QACpDC,kBAAA,EAAoBR,OAAA,CAAQQ,kBAAA,IAAsBV,KAAA,CAAMU,kBAAA;QACxDC,YAAA,EAAcT,OAAA,CAAQS,YAAA,IAAgBX,KAAA,CAAMW,YAAA;QAC5CC,WAAA,EAAaV,OAAA,CAAQU,WAAA,IAAeZ,KAAA,CAAMY;MAC5C;MAEMC,UAAA,GAAaC,aAAA,CAAcT,WAAA,EAAaJ,YAAY;IAE1D,OAAI,OAAOI,WAAA,CAAYU,QAAA,IAAa,aAC3B,eAAAxB,GAAA,CAAAD,QAAA;MAAGyB,QAAA,EAAAV,WAAA,CAAYU,QAAA,CAASF,UAAU;IAAA,CAAE,IAGtCzB,KAAA,CAAM4B,YAAA,CACX5B,KAAA,CAAM6B,QAAA,CAASC,IAAA,CAAKb,WAAA,CAAYU,QAAQ,GACxCF,UACF;EACF,CACF;AAMO,SAASC,cACdd,KAAA,EACAC,YAAA,EACA;EACA,MAAM;MACJM,IAAA,GAAO;MACPD,OAAA,GAAU;MACVE,OAAA,GAAU;MACVC,gBAAA,EAAkBU,oBAAA;MAClBT,kBAAA,EAAoBU,sBAAA;MACpBT,YAAA;MACAC,WAAA,GAAc;MACdG,QAAA;MACA,GAAGM;IACL,IAAIrB,KAAA;IACE,CAACsB,SAAA,EAAWC,YAAY,IAAInC,KAAA,CAAMoC,QAAA,CAA6B,IAAI;IACnEf,gBAAA,GAAmBtB,QAAA,CAASgC,oBAAoB;IAChDT,kBAAA,GAAqBvB,QAAA,CAASiC,sBAAsB;IACpDK,qBAAA,GAAwBrC,KAAA,CAAMsC,MAAA,CAA2B,IAAI;IAC7DC,sBAAA,GAAyBvC,KAAA,CAAMwC,WAAA,CAClCC,IAAA,IAAS;MACR7C,eAAA,CAAgB,MAAM;QACpBuC,YAAA,CAAaM,IAAI;MACnB,CAAC;IACH,GACA,CAACN,YAAY,CACf;IACMO,YAAA,GAAe/C,eAAA,CAAgBkB,YAAA,EAAc0B,sBAAsB;IAEnEI,UAAA,GAAa3C,KAAA,CAAMsC,MAAA,CAAO;MAC9BM,MAAA,EAAQ;MACRC,MAAA,EAAQ;QACN,KAAKD,MAAA,GAAS;MAChB;MACAE,OAAA,EAAS;QACP,KAAKF,MAAA,GAAS;MAChB;IACF,CAAC,EAAEG,OAAA;EAGH/C,KAAA,CAAMgD,SAAA,CAAU,MAAM;IAEpB,IADI,CAAC9B,OAAA,IACD,CAACE,OAAA,EAAS;IACd,MAAM6B,UAAA,GAAa,IAAIC,eAAA,CAAgB;IAEvC,SAASC,cAAcC,KAAA,EAAmB;MACxC,IAAIT,UAAA,CAAWC,MAAA,IAAU,CAACV,SAAA,EAAW;MACrC,MAAMmB,MAAA,GAASD,KAAA,CAAMC,MAAA;MAEjBnB,SAAA,CAAUoB,QAAA,CAASD,MAAM,KAG3BA,MAAA,EAAQE,gBAAA,CAAiB,QAAQC,UAAA,EAAY;QAAEC,MAAA,EAAQR,UAAA,CAAWQ;MAAO,CAAC,GAC1EpB,qBAAA,CAAsBU,OAAA,GAAUM,MAAA,IAEhCK,KAAA,CAAMrB,qBAAA,CAAsBU,OAAA,EAAS;QAAEY,MAAA,EAAQ;MAAK,CAAC;IAEzD;IAEA,SAASC,eAAeR,KAAA,EAAmB;MACzCH,UAAA,CAAWY,KAAA,CAAM,GACb,EAAAlB,UAAA,CAAWC,MAAA,IAAU,CAACV,SAAA,MACrBA,SAAA,CAAUoB,QAAA,CAASF,KAAA,CAAMU,aAAmC,KAC/DJ,KAAA,CAAMrB,qBAAA,CAAsBU,OAAA,EAAS;QAAEY,MAAA,EAAQ;MAAK,CAAC;IAEzD;IAEA,SAASH,WAAA,EAAa;MACpBnB,qBAAA,CAAsBU,OAAA,GAAUb,SAAA;IAClC;IAEA,OAAA6B,QAAA,CAASR,gBAAA,CAAiB,WAAWJ,aAAa,GAClDY,QAAA,CAASR,gBAAA,CAAiB,YAAYK,cAAc,GAC7C,MAAM;MACXX,UAAA,CAAWY,KAAA,CAAM,GACjBE,QAAA,CAASC,mBAAA,CAAoB,WAAWb,aAAa,GACrDY,QAAA,CAASC,mBAAA,CAAoB,YAAYJ,cAAc;IACzD;EACF,GAAG,CAACxC,OAAA,EAASG,YAAA,EAAcW,SAAA,EAAWS,UAAA,CAAWC,MAAM,CAAC,GAExD9C,cAAA,CACE,MAAO2D,MAAA,IAAW;IAGhB,IAFI,CAACvC,OAAA,IACD,CAACgB,SAAA,IACDX,YAAA,EAAc;IAElB0C,gBAAA,CAAiBC,GAAA,CAAIvB,UAAU;IAC/B,MAAMwB,wBAAA,GAA2BJ,QAAA,CAASK,aAAA;IAG1C,IAAI,CAFwBlC,SAAA,CAAUoB,QAAA,CAASa,wBAAwB,GAE7C;MACxB,MAAME,UAAA,GAAa,IAAIC,WAAA,CAAYlE,kBAAA,EAAoBE,aAAa;MAIpE,IAHA4B,SAAA,CAAUqB,gBAAA,CAAiBnD,kBAAA,EAAoBiB,gBAAgB,GAC/Da,SAAA,CAAUqC,aAAA,CAAcF,UAAU,GAE9B,CAACA,UAAA,CAAWG,gBAAA,EAAkB;QAE5BhD,WAAA,KACF,MAAM3B,IAAA,CACJ4D,MAAA,EACA,OAAOjC,WAAA,IAAe,WAClBA,WAAA,GACA;UAAA;UAEEiD,GAAA,EAAK;UACLC,GAAA,EAAK,OAAOlD,WAAA,IAAe,WAAWA,WAAA,GAAc;QACtD,CACN;QAGF,MAAMmD,aAAA,GAAgBC,qBAAA,CAAsB1C,SAAS;UAE/C2C,iBAAA,GADgBC,WAAA,CAAYH,aAAa,EACPI,MAAA,CACrCC,SAAA,IAAc,CAACC,QAAA,CAASD,SAAA,EAAW;YAAEE,IAAA,EAAMhD;UAAU,CAAC,CACzD;QAEAiD,UAAA,CAAWN,iBAAA,EAAmB;UAAElB,MAAA,EAAQ;QAAK,CAAC,GAG1CkB,iBAAA,CAAkBO,MAAA,GAAS,IAC7B/C,qBAAA,CAAsBU,OAAA,GAAU8B,iBAAA,CAAkB,CAAC,IAEnDxC,qBAAA,CAAsBU,OAAA,GAAUb,SAAA,EAKhC6B,QAAA,CAASK,aAAA,KAAkBD,wBAAA,IAC3BU,iBAAA,CAAkBO,MAAA,KAAW,KAE7B1B,KAAA,CAAMxB,SAAS;MAEnB;IACF;IAEA,OAAO,MAAM;MACXA,SAAA,CAAU8B,mBAAA,CAAoB5D,kBAAA,EAAoBiB,gBAAgB;MAElE,MAAMgE,YAAA,GAAe,IAAIf,WAAA,CAAYjE,oBAAA,EAAsBC,aAAa;MACxE4B,SAAA,CAAUqB,gBAAA,CAAiBlD,oBAAA,EAAsBiB,kBAAkB,GACnEY,SAAA,CAAUqC,aAAA,CAAcc,YAAY,GAC/BA,YAAA,CAAab,gBAAA,IAChBd,KAAA,CAAMS,wBAAA,IAA4BJ,QAAA,CAASuB,IAAA,EAAM;QAAE3B,MAAA,EAAQ;MAAK,CAAC,GAGnEzB,SAAA,CAAU8B,mBAAA,CAAoB3D,oBAAA,EAAsBiB,kBAAkB,GAEtE2C,gBAAA,CAAiBsB,MAAA,CAAO5C,UAAU;IACpC;EACF,GACA,CACEzB,OAAA,EACAgB,SAAA,EACAX,YAAA,EACAF,gBAAA,EACAC,kBAAA,EACAqB,UAAA,EACAnB,WAAA,CAEJ;EAGA,MAAMgE,aAAA,GAAgBxF,KAAA,CAAMwC,WAAA,CACzBY,KAAA,IAA+C;IAK9C,IAJI,CAAChC,OAAA,IACD,CAACD,IAAA,IACDwB,UAAA,CAAWC,MAAA,IACX,CAAC1B,OAAA,IACD,CAACgB,SAAA,EAAW;IAEhB,MAAMuD,QAAA,GACJrC,KAAA,CAAMsC,GAAA,KAAQ,SAAS,CAACtC,KAAA,CAAMuC,MAAA,IAAU,CAACvC,KAAA,CAAMwC,OAAA,IAAW,CAACxC,KAAA,CAAMyC,OAAA;MAC7DC,cAAA,GAAiB/B,QAAA,CAASK,aAAA;IAEhC,IAAIqB,QAAA,IAAYK,cAAA,EAAgB;MAC9B,MAAM,CAACC,KAAA,EAAOC,IAAI,IAAIC,gBAAA,CAAiB/D,SAAS;MACd6D,KAAA,IAASC,IAAA,GAMrC,CAAC5C,KAAA,CAAM8C,QAAA,IAAYJ,cAAA,KAAmBE,IAAA,IACxC5C,KAAA,CAAM+C,cAAA,CAAe,GACjBhF,IAAA,IAAMuC,KAAA,CAAMqC,KAAA,EAAO;QAAEpC,MAAA,EAAQ;MAAK,CAAC,KAC9BP,KAAA,CAAM8C,QAAA,IAAYJ,cAAA,KAAmBC,KAAA,KAC9C3C,KAAA,CAAM+C,cAAA,CAAe,GACjBhF,IAAA,IAAMuC,KAAA,CAAMsC,IAAA,EAAM;QAAErC,MAAA,EAAQ;MAAK,CAAC,KAPpCmC,cAAA,KAAmB5D,SAAA,IAAWkB,KAAA,CAAM+C,cAAA,CAAe;IAU3D;EACF,GACA,CAAChF,IAAA,EAAMC,OAAA,EAASuB,UAAA,CAAWC,MAAA,EAAQ1B,OAAA,EAASgB,SAAS,CACvD;EAGAlC,KAAA,CAAMgD,SAAA,CAAU,MAAM;IAIpB,IAHI,CAACd,SAAA,IACD,CAACd,OAAA,IACD,CAACD,IAAA,IACD,CAACD,OAAA,EAAS;IAEd,MAAMkF,oBAAA,GAAwBhD,KAAA,IAAyB;MAEjDA,KAAA,CAAMsC,GAAA,KAAQ,SAChBF,aAAA,CAAcpC,KAAK;IAEvB;IAGA,OAAAlB,SAAA,CAAUqB,gBAAA,CAAiB,WAAW6C,oBAAA,EAAsB,EAAI,GAEzD,MAAM;MACXlE,SAAA,CAAU8B,mBAAA,CAAoB,WAAWoC,oBAAA,EAAsB,EAAI;IACrE;EACF,GAAG,CAAClE,SAAA,EAAWd,OAAA,EAASD,IAAA,EAAMD,OAAA,EAASsE,aAAa,CAAC;EAErD,MAAMa,iBAAA,GAAqBpE,UAAA,CAAmBqE,SAAA;IAExCC,iBAAA,GAAoBvG,KAAA,CAAMwC,WAAA,CAC7BY,KAAA,IAA+B;MAC9BiD,iBAAA,GAAoBjD,KAAK;IAE3B,GACA,CAACiD,iBAAiB,CACpB;EAEA,OAAO;IACL,GAAGpE,UAAA;IACHuE,GAAA,EAAK9D,YAAA;IACL4D,SAAA,EAAWC;EACb;AACF;AAUA,SAASpB,WAAWsB,UAAA,EAA2B;EAAE9C,MAAA,GAAS;AAAM,IAAI,CAAC,GAAG;EACtE,MAAMQ,wBAAA,GAA2BJ,QAAA,CAASK,aAAA;EAC1C,WAAWY,SAAA,IAAayB,UAAA,EAEtB,IADA/C,KAAA,CAAMsB,SAAA,EAAW;IAAErB;EAAO,CAAC,GACvBI,QAAA,CAASK,aAAA,KAAkBD,wBAAA,EAA0B;AAE7D;AAKA,SAAS8B,iBAAiB/D,SAAA,EAAwB;EAChD,MAAMuE,UAAA,GAAa7B,qBAAA,CAAsB1C,SAAS;IAC5C6D,KAAA,GAAQW,WAAA,CAAYD,UAAA,EAAYvE,SAAS;IACzC8D,IAAA,GAAOU,WAAA,CAAYD,UAAA,CAAWE,OAAA,CAAQ,GAAGzE,SAAS;EAExD,OAAO,CAAC6D,KAAA,EAAOC,IAAI;AACrB;AAYA,SAASpB,sBAAsB1C,SAAA,EAAwB;EACrD,MAAM0E,KAAA,GAAuB,EAAC;IACxBC,MAAA,GAAS9C,QAAA,CAAS+C,gBAAA,CAAiB5E,SAAA,EAAW6E,UAAA,CAAWC,YAAA,EAAc;MAC3EC,UAAA,EAAaxE,IAAA,IAAc;QACzB,MAAMyE,aAAA,GAAgBzE,IAAA,CAAK0E,OAAA,KAAY,WAAW1E,IAAA,CAAK2E,IAAA,KAAS;QAChE,OAAI3E,IAAA,CAAK4E,QAAA,IAAY5E,IAAA,CAAK6E,MAAA,IAAUJ,aAAA,GAAsBH,UAAA,CAAWQ,WAAA,GAI9D9E,IAAA,CAAK+E,QAAA,IAAY,IAAIT,UAAA,CAAWU,aAAA,GAAgBV,UAAA,CAAWQ,WAAA;MACpE;IACF,CAAC;EACD,OAAOV,MAAA,CAAOa,QAAA,CAAS,IAAGd,KAAA,CAAMe,IAAA,CAAKd,MAAA,CAAOe,WAA0B;EAGtE,OAAOhB,KAAA;AACT;AAMA,SAASF,YAAYmB,QAAA,EAAyB3F,SAAA,EAAwB;EACpE,WAAW4F,OAAA,IAAWD,QAAA,EAEpB,IAAI,CAAC5C,QAAA,CAAS6C,OAAA,EAAS;IAAE5C,IAAA,EAAMhD;EAAU,CAAC,GAAG,OAAO4F,OAAA;AAExD;AAEA,SAAS7C,SAASxC,IAAA,EAAmB;EAAEyC;AAAK,GAA2B;EACrE,IAAI6C,gBAAA,CAAiBtF,IAAI,EAAEuF,UAAA,KAAe,UAAU,OAAO;EAC3D,OAAOvF,IAAA,GAAM;IAEX,IAAIyC,IAAA,KAAS,UAAazC,IAAA,KAASyC,IAAA,EAAM,OAAO;IAChD,IAAI6C,gBAAA,CAAiBtF,IAAI,EAAEwF,OAAA,KAAY,QAAQ,OAAO;IACtDxF,IAAA,GAAOA,IAAA,CAAKyF,aAAA;EACd;EACA,OAAO;AACT;AAEA,SAASC,kBACPL,OAAA,EACqD;EACrD,OAAOA,OAAA,YAAmBM,gBAAA,IAAoB,YAAYN,OAAA;AAC5D;AAEA,SAASpE,MAAMoE,OAAA,EAAkC;EAAEnE,MAAA,GAAS;AAAM,IAAI,CAAC,GAAG;EAExE,IAAImE,OAAA,EAASpE,KAAA,EAAO;IAClB,MAAMS,wBAAA,GAA2BJ,QAAA,CAASK,aAAA;IAE1C,IAAI;MACF0D,OAAA,CAAQpE,KAAA,CAAM;QAAE2E,aAAA,EAAe;MAAK,CAAC,GAEjCP,OAAA,KAAY3D,wBAAA,IAA4BgE,iBAAA,CAAkBL,OAAO,KAAKnE,MAAA,IACxEmE,OAAA,CAAQnE,MAAA,CAAO;IACnB,QAAgB,CAEhB;EACF;AACF;AAOA,MAAMM,gBAAA,GAAmBqE,sBAAA,CAAuB;AAEhD,SAASA,uBAAA,EAAyB;EAEhC,IAAIC,KAAA,GAAyB,EAAC;EAE9B,OAAO;IACLrE,IAAIvB,UAAA,EAA2B;MAE7B,MAAM6F,gBAAA,GAAmBD,KAAA,CAAM,CAAC;MAC5B5F,UAAA,KAAe6F,gBAAA,IACjBA,gBAAA,EAAkB3F,KAAA,CAAM,GAG1B0F,KAAA,GAAQE,WAAA,CAAYF,KAAA,EAAO5F,UAAU,GACrC4F,KAAA,CAAMG,OAAA,CAAQ/F,UAAU;IAC1B;IAEA4C,OAAO5C,UAAA,EAA2B;MAChC4F,KAAA,GAAQE,WAAA,CAAYF,KAAA,EAAO5F,UAAU,GACrC4F,KAAA,CAAM,CAAC,GAAGzF,MAAA,CAAO;IACnB;EACF;AACF;AAEA,SAAS2F,YAAeE,KAAA,EAAYC,IAAA,EAAS;EAC3C,MAAMC,YAAA,GAAe,CAAC,GAAGF,KAAK;IACxBG,KAAA,GAAQD,YAAA,CAAaE,OAAA,CAAQH,IAAI;EACvC,OAAIE,KAAA,KAAU,MACZD,YAAA,CAAaG,MAAA,CAAOF,KAAA,EAAO,CAAC,GAEvBD,YAAA;AACT;AAEA,SAAS/D,YAAYmE,KAAA,EAAsB;EACzC,OAAOA,KAAA,CAAMlE,MAAA,CAAQ6D,IAAA,IAASA,IAAA,CAAKzB,OAAA,KAAY,GAAG;AACpD","ignoreList":[]}
@@ -86,8 +86,10 @@ function useFocusScope(props, forwardedRef) {
86
86
  min: typeof focusOnIdle == "number" ? focusOnIdle : 16
87
87
  }
88
88
  );
89
- const candidates = removeLinks(getTabbableCandidates(container));
90
- focusFirst(candidates, { select: !0 }), document.activeElement === previouslyFocusedElement && focus(container);
89
+ const allCandidates = getTabbableCandidates(container), visibleCandidates = removeLinks(allCandidates).filter(
90
+ (candidate) => !isHidden(candidate, { upTo: container })
91
+ );
92
+ focusFirst(visibleCandidates, { select: !0 }), visibleCandidates.length > 0 ? lastFocusedElementRef.current = visibleCandidates[0] : lastFocusedElementRef.current = container, document.activeElement === previouslyFocusedElement && visibleCandidates.length === 0 && focus(container);
91
93
  }
92
94
  }
93
95
  return () => {
@@ -108,20 +110,34 @@ function useFocusScope(props, forwardedRef) {
108
110
  );
109
111
  const handleKeyDown = React.useCallback(
110
112
  (event) => {
111
- if (!trapped || !loop || focusScope.paused || !enabled) return;
113
+ if (!trapped || !loop || focusScope.paused || !enabled || !container) return;
112
114
  const isTabKey = event.key === "Tab" && !event.altKey && !event.ctrlKey && !event.metaKey, focusedElement = document.activeElement;
113
115
  if (isTabKey && focusedElement) {
114
- const container2 = event.currentTarget, [first, last] = getTabbableEdges(container2);
115
- first && last ? !event.shiftKey && focusedElement === last ? (event.preventDefault(), loop && focus(first, { select: !0 })) : event.shiftKey && focusedElement === first && (event.preventDefault(), loop && focus(last, { select: !0 })) : focusedElement === container2 && event.preventDefault();
116
+ const [first, last] = getTabbableEdges(container);
117
+ first && last ? !event.shiftKey && focusedElement === last ? (event.preventDefault(), loop && focus(first, { select: !0 })) : event.shiftKey && focusedElement === first && (event.preventDefault(), loop && focus(last, { select: !0 })) : focusedElement === container && event.preventDefault();
116
118
  }
117
119
  },
118
- [loop, trapped, focusScope.paused]
120
+ [loop, trapped, focusScope.paused, enabled, container]
121
+ );
122
+ React.useEffect(() => {
123
+ if (!container || !trapped || !loop || !enabled) return;
124
+ const handleKeyDownCapture = (event) => {
125
+ event.key === "Tab" && handleKeyDown(event);
126
+ };
127
+ return container.addEventListener("keydown", handleKeyDownCapture, !0), () => {
128
+ container.removeEventListener("keydown", handleKeyDownCapture, !0);
129
+ };
130
+ }, [container, trapped, loop, enabled, handleKeyDown]);
131
+ const existingOnKeyDown = scopeProps.onKeyDown, composedOnKeyDown = React.useCallback(
132
+ (event) => {
133
+ existingOnKeyDown?.(event);
134
+ },
135
+ [existingOnKeyDown]
119
136
  );
120
137
  return {
121
- tabIndex: -1,
122
138
  ...scopeProps,
123
139
  ref: composedRefs,
124
- onKeyDown: handleKeyDown
140
+ onKeyDown: composedOnKeyDown
125
141
  };
126
142
  }
127
143
  function focusFirst(candidates, { select = !1 } = {}) {
@@ -162,7 +178,10 @@ function isSelectableInput(element) {
162
178
  function focus(element, { select = !1 } = {}) {
163
179
  if (element?.focus) {
164
180
  const previouslyFocusedElement = document.activeElement;
165
- element.focus({ preventScroll: !0 }), element !== previouslyFocusedElement && isSelectableInput(element) && select && element.select();
181
+ try {
182
+ element.focus({ preventScroll: !0 }), element !== previouslyFocusedElement && isSelectableInput(element) && select && element.select();
183
+ } catch {
184
+ }
166
185
  }
167
186
  }
168
187
  const focusScopesStack = createFocusScopesStack();
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/FocusScope.tsx"],
4
- "mappings": "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",
5
- "names": ["container"]
4
+ "mappings": "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",
5
+ "names": []
6
6
  }
@@ -100,10 +100,13 @@ function useFocusScope(props, forwardedRef) {
100
100
  max: 200,
101
101
  min: typeof focusOnIdle == "number" ? focusOnIdle : 16
102
102
  }));
103
- const candidates = removeLinks(getTabbableCandidates(container));
104
- focusFirst(candidates, {
103
+ const allCandidates = getTabbableCandidates(container),
104
+ visibleCandidates = removeLinks(allCandidates).filter(candidate => !isHidden(candidate, {
105
+ upTo: container
106
+ }));
107
+ focusFirst(visibleCandidates, {
105
108
  select: !0
106
- }), document.activeElement === previouslyFocusedElement && focus(container);
109
+ }), visibleCandidates.length > 0 ? lastFocusedElementRef.current = visibleCandidates[0] : lastFocusedElementRef.current = container, document.activeElement === previouslyFocusedElement && visibleCandidates.length === 0 && focus(container);
107
110
  }
108
111
  }
109
112
  return () => {
@@ -115,24 +118,35 @@ function useFocusScope(props, forwardedRef) {
115
118
  };
116
119
  }, [enabled, container, forceUnmount, onMountAutoFocus, onUnmountAutoFocus, focusScope, focusOnIdle]);
117
120
  const handleKeyDown = React.useCallback(event => {
118
- if (!trapped || !loop || focusScope.paused || !enabled) return;
121
+ if (!trapped || !loop || focusScope.paused || !enabled || !container) return;
119
122
  const isTabKey = event.key === "Tab" && !event.altKey && !event.ctrlKey && !event.metaKey,
120
123
  focusedElement = document.activeElement;
121
124
  if (isTabKey && focusedElement) {
122
- const container2 = event.currentTarget,
123
- [first, last] = getTabbableEdges(container2);
125
+ const [first, last] = getTabbableEdges(container);
124
126
  first && last ? !event.shiftKey && focusedElement === last ? (event.preventDefault(), loop && focus(first, {
125
127
  select: !0
126
128
  })) : event.shiftKey && focusedElement === first && (event.preventDefault(), loop && focus(last, {
127
129
  select: !0
128
- })) : focusedElement === container2 && event.preventDefault();
130
+ })) : focusedElement === container && event.preventDefault();
129
131
  }
130
- }, [loop, trapped, focusScope.paused]);
132
+ }, [loop, trapped, focusScope.paused, enabled, container]);
133
+ React.useEffect(() => {
134
+ if (!container || !trapped || !loop || !enabled) return;
135
+ const handleKeyDownCapture = event => {
136
+ event.key === "Tab" && handleKeyDown(event);
137
+ };
138
+ return container.addEventListener("keydown", handleKeyDownCapture, !0), () => {
139
+ container.removeEventListener("keydown", handleKeyDownCapture, !0);
140
+ };
141
+ }, [container, trapped, loop, enabled, handleKeyDown]);
142
+ const existingOnKeyDown = scopeProps.onKeyDown,
143
+ composedOnKeyDown = React.useCallback(event => {
144
+ existingOnKeyDown?.(event);
145
+ }, [existingOnKeyDown]);
131
146
  return {
132
- tabIndex: -1,
133
147
  ...scopeProps,
134
148
  ref: composedRefs,
135
- onKeyDown: handleKeyDown
149
+ onKeyDown: composedOnKeyDown
136
150
  };
137
151
  }
138
152
  function focusFirst(candidates, {
@@ -184,9 +198,11 @@ function focus(element, {
184
198
  } = {}) {
185
199
  if (element?.focus) {
186
200
  const previouslyFocusedElement = document.activeElement;
187
- element.focus({
188
- preventScroll: !0
189
- }), element !== previouslyFocusedElement && isSelectableInput(element) && select && element.select();
201
+ try {
202
+ element.focus({
203
+ preventScroll: !0
204
+ }), element !== previouslyFocusedElement && isSelectableInput(element) && select && element.select();
205
+ } catch {}
190
206
  }
191
207
  }
192
208
  const focusScopesStack = createFocusScopesStack();
@@ -1 +1 @@
1
- {"version":3,"names":["useComposedRefs","startTransition","idle","useAsyncEffect","useEvent","React","useFocusScopeControllerContext","Fragment","jsx","AUTOFOCUS_ON_MOUNT","AUTOFOCUS_ON_UNMOUNT","EVENT_OPTIONS","bubbles","cancelable","FocusScope","forwardRef","__scopeFocusScope","props","forwardedRef","context","warn","fallback","mergedProps","enabled","loop","trapped","onMountAutoFocus","onUnmountAutoFocus","forceUnmount","focusOnIdle","childProps","useFocusScope","children","cloneElement","Children","only","onMountAutoFocusProp","onUnmountAutoFocusProp","scopeProps","container","setContainer","useState","lastFocusedElementRef","useRef","setContainerTransition","useCallback","node","composedRefs","focusScope","paused","pause","resume","current","useEffect","controller","AbortController","handleFocusIn","event","target","contains","addEventListener","handleBlur","signal","focus","select","handleFocusOut","abort","relatedTarget","document","removeEventListener","focusScopesStack","add","previouslyFocusedElement","activeElement","mountEvent","CustomEvent","dispatchEvent","defaultPrevented","max","min","candidates","removeLinks","getTabbableCandidates","focusFirst","unmountEvent","body","remove","handleKeyDown","isTabKey","key","altKey","ctrlKey","metaKey","focusedElement","container2","currentTarget","first","last","getTabbableEdges","shiftKey","preventDefault","tabIndex","ref","onKeyDown","candidate","findVisible","reverse","nodes","walker","createTreeWalker","NodeFilter","SHOW_ELEMENT","acceptNode","isHiddenInput","tagName","type","disabled","hidden","FILTER_SKIP","FILTER_ACCEPT","nextNode","push","currentNode","elements","element","isHidden","upTo","getComputedStyle","visibility","display","parentElement","isSelectableInput","HTMLInputElement","preventScroll","createFocusScopesStack","stack","activeFocusScope","arrayRemove","unshift","array","item","updatedArray","index","indexOf","splice","items","filter"],"sources":["../../src/FocusScope.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useComposedRefs","startTransition","idle","useAsyncEffect","useEvent","React","useFocusScopeControllerContext","Fragment","jsx","AUTOFOCUS_ON_MOUNT","AUTOFOCUS_ON_UNMOUNT","EVENT_OPTIONS","bubbles","cancelable","FocusScope","forwardRef","__scopeFocusScope","props","forwardedRef","context","warn","fallback","mergedProps","enabled","loop","trapped","onMountAutoFocus","onUnmountAutoFocus","forceUnmount","focusOnIdle","childProps","useFocusScope","children","cloneElement","Children","only","onMountAutoFocusProp","onUnmountAutoFocusProp","scopeProps","container","setContainer","useState","lastFocusedElementRef","useRef","setContainerTransition","useCallback","node","composedRefs","focusScope","paused","pause","resume","current","useEffect","controller","AbortController","handleFocusIn","event","target","contains","addEventListener","handleBlur","signal","focus","select","handleFocusOut","abort","relatedTarget","document","removeEventListener","focusScopesStack","add","previouslyFocusedElement","activeElement","mountEvent","CustomEvent","dispatchEvent","defaultPrevented","max","min","allCandidates","getTabbableCandidates","visibleCandidates","removeLinks","filter","candidate","isHidden","upTo","focusFirst","length","unmountEvent","body","remove","handleKeyDown","isTabKey","key","altKey","ctrlKey","metaKey","focusedElement","first","last","getTabbableEdges","shiftKey","preventDefault","handleKeyDownCapture","existingOnKeyDown","onKeyDown","composedOnKeyDown","ref","candidates","findVisible","reverse","nodes","walker","createTreeWalker","NodeFilter","SHOW_ELEMENT","acceptNode","isHiddenInput","tagName","type","disabled","hidden","FILTER_SKIP","tabIndex","FILTER_ACCEPT","nextNode","push","currentNode","elements","element","getComputedStyle","visibility","display","parentElement","isSelectableInput","HTMLInputElement","preventScroll","createFocusScopesStack","stack","activeFocusScope","arrayRemove","unshift","array","item","updatedArray","index","indexOf","splice","items"],"sources":["../../src/FocusScope.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tamagui/focus-scope",
3
- "version": "1.132.12",
3
+ "version": "1.132.14",
4
4
  "sideEffects": true,
5
5
  "source": "src/index.ts",
6
6
  "types": "./types/index.d.ts",
@@ -34,14 +34,14 @@
34
34
  }
35
35
  },
36
36
  "dependencies": {
37
- "@tamagui/compose-refs": "1.132.12",
38
- "@tamagui/create-context": "1.132.12",
39
- "@tamagui/start-transition": "1.132.12",
40
- "@tamagui/use-async": "1.132.12",
41
- "@tamagui/use-event": "1.132.12"
37
+ "@tamagui/compose-refs": "1.132.14",
38
+ "@tamagui/create-context": "1.132.14",
39
+ "@tamagui/start-transition": "1.132.14",
40
+ "@tamagui/use-async": "1.132.14",
41
+ "@tamagui/use-event": "1.132.14"
42
42
  },
43
43
  "devDependencies": {
44
- "@tamagui/build": "1.132.12",
44
+ "@tamagui/build": "1.132.14",
45
45
  "react": "*"
46
46
  },
47
47
  "publishConfig": {
@@ -108,6 +108,7 @@ export function useFocusScope(
108
108
  function handleFocusIn(event: FocusEvent) {
109
109
  if (focusScope.paused || !container) return
110
110
  const target = event.target as HTMLElement | null
111
+
111
112
  if (container.contains(target)) {
112
113
  // Set container as lastFocusedElement to prevent inputs
113
114
  // to be refocused on blur events
@@ -153,6 +154,7 @@ export function useFocusScope(
153
154
  const mountEvent = new CustomEvent(AUTOFOCUS_ON_MOUNT, EVENT_OPTIONS)
154
155
  container.addEventListener(AUTOFOCUS_ON_MOUNT, onMountAutoFocus)
155
156
  container.dispatchEvent(mountEvent)
157
+
156
158
  if (!mountEvent.defaultPrevented) {
157
159
  // wait for idle before focusing to prevent reflows during animations
158
160
  if (focusOnIdle) {
@@ -168,11 +170,26 @@ export function useFocusScope(
168
170
  )
169
171
  }
170
172
 
171
- const candidates = removeLinks(getTabbableCandidates(container))
173
+ const allCandidates = getTabbableCandidates(container)
174
+ const linkedRemoved = removeLinks(allCandidates)
175
+ const visibleCandidates = linkedRemoved.filter(
176
+ (candidate) => !isHidden(candidate, { upTo: container })
177
+ )
178
+
179
+ focusFirst(visibleCandidates, { select: true })
172
180
 
173
- focusFirst(candidates, { select: true })
181
+ // Set the lastFocusedElement to the first visible candidate or container
182
+ if (visibleCandidates.length > 0) {
183
+ lastFocusedElementRef.current = visibleCandidates[0]
184
+ } else {
185
+ lastFocusedElementRef.current = container
186
+ }
174
187
 
175
- if (document.activeElement === previouslyFocusedElement) {
188
+ // Don't focus the container if no visible candidates were found
189
+ if (
190
+ document.activeElement === previouslyFocusedElement &&
191
+ visibleCandidates.length === 0
192
+ ) {
176
193
  focus(container)
177
194
  }
178
195
  }
@@ -206,18 +223,18 @@ export function useFocusScope(
206
223
 
207
224
  // Takes care of looping focus (when tabbing whilst at the edges)
208
225
  const handleKeyDown = React.useCallback(
209
- (event: React.KeyboardEvent) => {
226
+ (event: React.KeyboardEvent | KeyboardEvent) => {
210
227
  if (!trapped) return
211
228
  if (!loop) return
212
229
  if (focusScope.paused) return
213
230
  if (!enabled) return
231
+ if (!container) return
214
232
 
215
233
  const isTabKey =
216
234
  event.key === 'Tab' && !event.altKey && !event.ctrlKey && !event.metaKey
217
235
  const focusedElement = document.activeElement as HTMLElement | null
218
236
 
219
237
  if (isTabKey && focusedElement) {
220
- const container = event.currentTarget as HTMLElement
221
238
  const [first, last] = getTabbableEdges(container)
222
239
  const hasTabbableElementsInside = first && last
223
240
 
@@ -235,14 +252,45 @@ export function useFocusScope(
235
252
  }
236
253
  }
237
254
  },
238
- [loop, trapped, focusScope.paused]
255
+ [loop, trapped, focusScope.paused, enabled, container]
256
+ )
257
+
258
+ // Add keydown listener directly to the container for focus trap looping
259
+ React.useEffect(() => {
260
+ if (!container) return
261
+ if (!trapped) return
262
+ if (!loop) return
263
+ if (!enabled) return
264
+
265
+ const handleKeyDownCapture = (event: KeyboardEvent) => {
266
+ // Only handle Tab key events for focus trap looping
267
+ if (event.key === 'Tab') {
268
+ handleKeyDown(event)
269
+ }
270
+ }
271
+
272
+ // Use capture phase to ensure we handle it before other handlers
273
+ container.addEventListener('keydown', handleKeyDownCapture, true)
274
+
275
+ return () => {
276
+ container.removeEventListener('keydown', handleKeyDownCapture, true)
277
+ }
278
+ }, [container, trapped, loop, enabled, handleKeyDown])
279
+
280
+ const existingOnKeyDown = (scopeProps as any).onKeyDown
281
+
282
+ const composedOnKeyDown = React.useCallback(
283
+ (event: React.KeyboardEvent) => {
284
+ existingOnKeyDown?.(event)
285
+ // Don't call handleKeyDown here since we're handling it via addEventListener
286
+ },
287
+ [existingOnKeyDown]
239
288
  )
240
289
 
241
290
  return {
242
- tabIndex: -1,
243
291
  ...scopeProps,
244
292
  ref: composedRefs,
245
- onKeyDown: handleKeyDown,
293
+ onKeyDown: composedOnKeyDown,
246
294
  }
247
295
  }
248
296
 
@@ -269,6 +317,7 @@ function getTabbableEdges(container: HTMLElement) {
269
317
  const candidates = getTabbableCandidates(container)
270
318
  const first = findVisible(candidates, container)
271
319
  const last = findVisible(candidates.reverse(), container)
320
+
272
321
  return [first, last] as const
273
322
  }
274
323
 
@@ -333,10 +382,14 @@ function focus(element?: FocusableTarget | null, { select = false } = {}) {
333
382
  if (element?.focus) {
334
383
  const previouslyFocusedElement = document.activeElement
335
384
  // NOTE: we prevent scrolling on focus, to minimize jarring transitions for users
336
- element.focus({ preventScroll: true })
337
- // only select if its not the same element, it supports selection and we need to select
338
- if (element !== previouslyFocusedElement && isSelectableInput(element) && select)
339
- element.select()
385
+ try {
386
+ element.focus({ preventScroll: true })
387
+ // only select if its not the same element, it supports selection and we need to select
388
+ if (element !== previouslyFocusedElement && isSelectableInput(element) && select)
389
+ element.select()
390
+ } catch (error) {
391
+ // In some cases focus might fail, ignore silently
392
+ }
340
393
  }
341
394
  }
342
395
 
package/src/types.tsx CHANGED
@@ -51,7 +51,7 @@ export interface FocusScopeProps {
51
51
  | React.ReactNode
52
52
  | ((props: {
53
53
  onKeyDown: (event: React.KeyboardEvent) => void
54
- tabIndex: number
54
+ tabIndex?: number
55
55
  ref: React.ForwardedRef<any>
56
56
  }) => React.ReactNode)
57
57
  }
@@ -5,7 +5,6 @@ declare const FocusScope: React.ForwardRefExoticComponent<FocusScopeProps & Reac
5
5
  export declare function useFocusScope(props: FocusScopeProps, forwardedRef: React.ForwardedRef<FocusScopeElement>): {
6
6
  ref: (node: HTMLDivElement) => void;
7
7
  onKeyDown: (event: React.KeyboardEvent) => void;
8
- tabIndex: number;
9
8
  };
10
9
  export { FocusScope };
11
10
  export type { FocusScopeProps };
@@ -1 +1 @@
1
- {"version":3,"file":"FocusScope.d.ts","sourceRoot":"","sources":["../src/FocusScope.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,KAAK,EAAE,eAAe,EAAe,MAAM,SAAS,CAAA;AAe3D,KAAK,iBAAiB,GAAG,cAAc,CAAA;AAEvC,QAAA,MAAM,UAAU,wFAiCf,CAAA;AAMD,wBAAgB,aAAa,CAC3B,KAAK,EAAE,eAAe,EACtB,YAAY,EAAE,KAAK,CAAC,YAAY,CAAC,iBAAiB,CAAC;;uBAgJzC,KAAK,CAAC,aAAa;;EAsC9B;AA2ID,OAAO,EAAE,UAAU,EAAE,CAAA;AAErB,YAAY,EAAE,eAAe,EAAE,CAAA"}
1
+ {"version":3,"file":"FocusScope.d.ts","sourceRoot":"","sources":["../src/FocusScope.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,KAAK,EAAE,eAAe,EAAe,MAAM,SAAS,CAAA;AAe3D,KAAK,iBAAiB,GAAG,cAAc,CAAA;AAEvC,QAAA,MAAM,UAAU,wFAiCf,CAAA;AAMD,wBAAgB,aAAa,CAC3B,KAAK,EAAE,eAAe,EACtB,YAAY,EAAE,KAAK,CAAC,YAAY,CAAC,iBAAiB,CAAC;;uBA0NzC,KAAK,CAAC,aAAa;EAY9B;AAgJD,OAAO,EAAE,UAAU,EAAE,CAAA;AAErB,YAAY,EAAE,eAAe,EAAE,CAAA"}
package/types/types.d.ts CHANGED
@@ -45,7 +45,7 @@ export interface FocusScopeProps {
45
45
  };
46
46
  children?: React.ReactNode | ((props: {
47
47
  onKeyDown: (event: React.KeyboardEvent) => void;
48
- tabIndex: number;
48
+ tabIndex?: number;
49
49
  ref: React.ForwardedRef<any>;
50
50
  }) => React.ReactNode);
51
51
  }
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAA;AACpD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI,CAAC,GAAG;IAAE,iBAAiB,CAAC,EAAE,KAAK,CAAA;CAAE,CAAA;AAE9D,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAA;IAEjB;;;;OAIG;IACH,IAAI,CAAC,EAAE,OAAO,CAAA;IAEd;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAA;IAEjB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAA;IAEzC;;;OAGG;IACH,kBAAkB,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAA;IAE3C;;OAEG;IACH,YAAY,CAAC,EAAE,OAAO,CAAA;IAEtB;;;;OAIG;IACH,WAAW,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IAE/D,QAAQ,CAAC,EACL,KAAK,CAAC,SAAS,GACf,CAAC,CAAC,KAAK,EAAE;QACP,SAAS,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,aAAa,KAAK,IAAI,CAAA;QAC/C,QAAQ,EAAE,MAAM,CAAA;QAChB,GAAG,EAAE,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,CAAA;KAC7B,KAAK,KAAK,CAAC,SAAS,CAAC,CAAA;CAC3B"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAA;AACpD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI,CAAC,GAAG;IAAE,iBAAiB,CAAC,EAAE,KAAK,CAAA;CAAE,CAAA;AAE9D,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAA;IAEjB;;;;OAIG;IACH,IAAI,CAAC,EAAE,OAAO,CAAA;IAEd;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAA;IAEjB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAA;IAEzC;;;OAGG;IACH,kBAAkB,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAA;IAE3C;;OAEG;IACH,YAAY,CAAC,EAAE,OAAO,CAAA;IAEtB;;;;OAIG;IACH,WAAW,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IAE/D,QAAQ,CAAC,EACL,KAAK,CAAC,SAAS,GACf,CAAC,CAAC,KAAK,EAAE;QACP,SAAS,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,aAAa,KAAK,IAAI,CAAA;QAC/C,QAAQ,CAAC,EAAE,MAAM,CAAA;QACjB,GAAG,EAAE,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,CAAA;KAC7B,KAAK,KAAK,CAAC,SAAS,CAAC,CAAA;CAC3B"}