UNPKG

@zohodesk/a11y

Version:

In this Package, We Provide Some Basic Components For Accessibility.

49 lines (47 loc) 1.24 kB
import React from "react"; import useFocusScope from "./FocusControl/useFocusScope"; import { clearFocusStorage } from "./utils/focusScopeUtil"; import propTypes from "./props/propTypes"; import defaultProps from "./props/defaultProps"; const onDocumentMouseDown = e => { clearFocusStorage(e); }; document.addEventListener('mousedown', onDocumentMouseDown); export default function FocusScope(props) { let { needRestoreFocus, needAutoFocus, needListNavigation, needFocusLoop, elementRef, onClose, onUpdateRestore, onClearRestore, onFocus, needEnterAction, loadNextOptions, searchValue, isFetchingOptions, children } = props; useFocusScope({ needRestoreFocus: needRestoreFocus, needAutoFocus: needAutoFocus, needListNavigation: needListNavigation, needFocusLoop: needFocusLoop, onClose: onClose, contentRef: () => { return elementRef.current; }, onUpdateRestore, onClearRestore, onFocus, needEnterAction, loadNextOptions, searchValue, isFetchingOptions }); return /*#__PURE__*/React.createElement(React.Fragment, null, children); } FocusScope.propTypes = propTypes; FocusScope.defaultProps = defaultProps;