@nex-ui/hooks
Version:
A collection of React Hooks for Nex UI components.
30 lines (26 loc) • 918 B
JavaScript
"use client";
;
var focus = require('@react-aria/focus');
/**
* Provides a hook to manage and determine focus ring visibility for accessibility.
*
* This hook wraps `@react-aria/focus`'s `useFocusRing` and returns focus state and props
* to apply to a container element for accessible focus styling.
*
* @param props - Configuration options for focus ring behavior.
* @returns An object containing focus state and props for the focus ring.
*
* @example
* ```tsx
* const { focusProps, focused, focusVisible } = useFocusRing({ within: true });
* return <div {...focusProps} className={focusVisible ? 'ring' : ''}>...</div>;
* ```
*/ const useFocusRing = (props)=>{
const { isFocusVisible, isFocused, focusProps } = focus.useFocusRing(props);
return {
focusProps,
focused: isFocused,
focusVisible: isFocusVisible
};
};
exports.useFocusRing = useFocusRing;