UNPKG

@awsui/components-react

Version:

AWS UI is a collection of [React](https://reactjs.org/) components that help create intuitive, responsive, and accessible user experiences for web applications. It is developed by Amazon Web Services (AWS). This work is available under the terms of the [A

26 lines (25 loc) 902 B
import { useRef, useEffect } from 'react'; import { fireNonCancelableEvent } from '../events'; import FocusTracker from '../focus-tracker'; export var useFocusTracker = function (_a) { var rootRef = _a.rootRef, onBlur = _a.onBlur, onFocus = _a.onFocus; var focusTracker = useRef(null); useEffect(function () { if (!rootRef.current) { return; } focusTracker.current = new FocusTracker(rootRef.current, { onFocusLeave: function () { fireNonCancelableEvent(onBlur); }, onFocusEnter: function () { fireNonCancelableEvent(onFocus); } }); focusTracker.current.initialize(); return function () { var _a; (_a = focusTracker.current) === null || _a === void 0 ? void 0 : _a.destroy(); }; }, [rootRef, onBlur, onFocus]); };