@react-aria/focus
Advanced tools
Comparing version 3.0.0-nightly-641446f65-240905 to 3.0.0-nightly-65e3a52a3-241120
@@ -325,3 +325,2 @@ var $1c7f9157d722357d$exports = require("./focusSafely.main.js"); | ||
// This is a useLayoutEffect so it is guaranteed to run before our async synthetic blur | ||
// eslint-disable-next-line arrow-body-style | ||
(0, $euGna$reactariautils.useLayoutEffect)(()=>{ | ||
@@ -368,3 +367,3 @@ return ()=>{ | ||
(0, $1c7f9157d722357d$exports.focusSafely)(element); | ||
} catch (err) { | ||
} catch { | ||
// ignore | ||
@@ -374,3 +373,3 @@ } | ||
element.focus(); | ||
} catch (err) { | ||
} catch { | ||
// ignore | ||
@@ -482,3 +481,3 @@ } | ||
let focusedElement = ownerDocument.activeElement; | ||
if (!$a7a032acae3ddda9$var$isElementInScope(focusedElement, scopeRef.current)) return; | ||
if (!$a7a032acae3ddda9$var$isElementInChildScope(focusedElement, scopeRef) || !$a7a032acae3ddda9$var$shouldRestoreFocus(scopeRef)) return; | ||
let treeNode = $a7a032acae3ddda9$export$d06fae2ee68b101e.getTreeNode(scopeRef); | ||
@@ -500,7 +499,7 @@ if (!treeNode) return; | ||
// next element after the node to restore to instead. | ||
if ((!nextElement || !$a7a032acae3ddda9$var$isElementInScope(nextElement, scopeRef.current)) && nodeToRestore) { | ||
if ((!nextElement || !$a7a032acae3ddda9$var$isElementInChildScope(nextElement, scopeRef)) && nodeToRestore) { | ||
walker.currentNode = nodeToRestore; | ||
// Skip over elements within the scope, in case the scope immediately follows the node to restore. | ||
do nextElement = e.shiftKey ? walker.previousNode() : walker.nextNode(); | ||
while ($a7a032acae3ddda9$var$isElementInScope(nextElement, scopeRef.current)); | ||
while ($a7a032acae3ddda9$var$isElementInChildScope(nextElement, scopeRef)); | ||
e.preventDefault(); | ||
@@ -539,3 +538,3 @@ e.stopPropagation(); | ||
if (restoreFocus && nodeToRestore && // eslint-disable-next-line react-hooks/exhaustive-deps | ||
($a7a032acae3ddda9$var$isElementInScope(ownerDocument.activeElement, scopeRef.current) || ownerDocument.activeElement === ownerDocument.body && $a7a032acae3ddda9$var$shouldRestoreFocus(scopeRef))) { | ||
(ownerDocument.activeElement && $a7a032acae3ddda9$var$isElementInChildScope(ownerDocument.activeElement, scopeRef) || ownerDocument.activeElement === ownerDocument.body && $a7a032acae3ddda9$var$shouldRestoreFocus(scopeRef))) { | ||
// freeze the focusScopeTree so it persists after the raf, otherwise during unmount nodes are removed from it | ||
@@ -542,0 +541,0 @@ let clonedTree = $a7a032acae3ddda9$export$d06fae2ee68b101e.clone(); |
@@ -310,3 +310,2 @@ import {focusSafely as $6a99195332edec8b$export$80f3e147d781571c} from "./focusSafely.module.js"; | ||
// This is a useLayoutEffect so it is guaranteed to run before our async synthetic blur | ||
// eslint-disable-next-line arrow-body-style | ||
(0, $cgawC$useLayoutEffect)(()=>{ | ||
@@ -353,3 +352,3 @@ return ()=>{ | ||
(0, $6a99195332edec8b$export$80f3e147d781571c)(element); | ||
} catch (err) { | ||
} catch { | ||
// ignore | ||
@@ -359,3 +358,3 @@ } | ||
element.focus(); | ||
} catch (err) { | ||
} catch { | ||
// ignore | ||
@@ -467,3 +466,3 @@ } | ||
let focusedElement = ownerDocument.activeElement; | ||
if (!$9bf71ea28793e738$var$isElementInScope(focusedElement, scopeRef.current)) return; | ||
if (!$9bf71ea28793e738$var$isElementInChildScope(focusedElement, scopeRef) || !$9bf71ea28793e738$var$shouldRestoreFocus(scopeRef)) return; | ||
let treeNode = $9bf71ea28793e738$export$d06fae2ee68b101e.getTreeNode(scopeRef); | ||
@@ -485,7 +484,7 @@ if (!treeNode) return; | ||
// next element after the node to restore to instead. | ||
if ((!nextElement || !$9bf71ea28793e738$var$isElementInScope(nextElement, scopeRef.current)) && nodeToRestore) { | ||
if ((!nextElement || !$9bf71ea28793e738$var$isElementInChildScope(nextElement, scopeRef)) && nodeToRestore) { | ||
walker.currentNode = nodeToRestore; | ||
// Skip over elements within the scope, in case the scope immediately follows the node to restore. | ||
do nextElement = e.shiftKey ? walker.previousNode() : walker.nextNode(); | ||
while ($9bf71ea28793e738$var$isElementInScope(nextElement, scopeRef.current)); | ||
while ($9bf71ea28793e738$var$isElementInChildScope(nextElement, scopeRef)); | ||
e.preventDefault(); | ||
@@ -524,3 +523,3 @@ e.stopPropagation(); | ||
if (restoreFocus && nodeToRestore && // eslint-disable-next-line react-hooks/exhaustive-deps | ||
($9bf71ea28793e738$var$isElementInScope(ownerDocument.activeElement, scopeRef.current) || ownerDocument.activeElement === ownerDocument.body && $9bf71ea28793e738$var$shouldRestoreFocus(scopeRef))) { | ||
(ownerDocument.activeElement && $9bf71ea28793e738$var$isElementInChildScope(ownerDocument.activeElement, scopeRef) || ownerDocument.activeElement === ownerDocument.body && $9bf71ea28793e738$var$shouldRestoreFocus(scopeRef))) { | ||
// freeze the focusScopeTree so it persists after the raf, otherwise during unmount nodes are removed from it | ||
@@ -527,0 +526,0 @@ let clonedTree = $9bf71ea28793e738$export$d06fae2ee68b101e.clone(); |
@@ -122,3 +122,3 @@ import { FocusableElement, RefObject, DOMAttributes, FocusableDOMProps, FocusableProps } from "@react-types/shared"; | ||
export function FocusRing(props: FocusRingProps): React.ReactElement<unknown, string | React.JSXElementConstructor<any>>; | ||
export interface FocusableOptions extends FocusableProps, FocusableDOMProps { | ||
export interface FocusableOptions<T = FocusableElement> extends FocusableProps<T>, FocusableDOMProps { | ||
/** Whether focus should be disabled. */ | ||
@@ -139,3 +139,3 @@ isDisabled?: boolean; | ||
*/ | ||
export function useFocusable(props: FocusableOptions, domRef: RefObject<FocusableElement | null>): FocusableAria; | ||
export function useFocusable<T extends FocusableElement = FocusableElement>(props: FocusableOptions<T>, domRef: RefObject<FocusableElement | null>): FocusableAria; | ||
interface AriaHasTabbableChildOptions { | ||
@@ -142,0 +142,0 @@ isDisabled?: boolean; |
{ | ||
"name": "@react-aria/focus", | ||
"version": "3.0.0-nightly-641446f65-240905", | ||
"version": "3.0.0-nightly-65e3a52a3-241120", | ||
"description": "Spectrum UI components in React", | ||
@@ -25,5 +25,5 @@ "license": "Apache-2.0", | ||
"dependencies": { | ||
"@react-aria/interactions": "^3.0.0-nightly-641446f65-240905", | ||
"@react-aria/utils": "^3.0.0-nightly-641446f65-240905", | ||
"@react-types/shared": "^3.0.0-nightly-641446f65-240905", | ||
"@react-aria/interactions": "^3.0.0-nightly-65e3a52a3-241120", | ||
"@react-aria/utils": "^3.0.0-nightly-65e3a52a3-241120", | ||
"@react-types/shared": "^3.0.0-nightly-65e3a52a3-241120", | ||
"@swc/helpers": "^0.5.0", | ||
@@ -33,3 +33,3 @@ "clsx": "^2.0.0" | ||
"peerDependencies": { | ||
"react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0" | ||
"react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1" | ||
}, | ||
@@ -39,3 +39,3 @@ "publishConfig": { | ||
}, | ||
"stableVersion": "3.18.2" | ||
"stableVersion": "3.18.4" | ||
} |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
384033
4431