@material-ui/lab
Version:
Material-UI Lab - Incubator for Material-UI React components.
39 lines (30 loc) • 1.07 kB
JavaScript
;
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.useAutoFocusControl = useAutoFocusControl;
exports.useCanAutoFocus = exports.CanAutoFocusContext = void 0;
var React = _interopRequireWildcard(require("react"));
const CanAutoFocusContext = /*#__PURE__*/React.createContext(true);
exports.CanAutoFocusContext = CanAutoFocusContext;
const useCanAutoFocus = () => React.useContext(CanAutoFocusContext);
exports.useCanAutoFocus = useCanAutoFocus;
function useAutoFocusControl(open) {
const [canAutoFocus, setCanAutoFocus] = React.useState(false);
React.useEffect(() => {
if (!open) {
setCanAutoFocus(false);
}
}, [open]); // TODO rething approach. It is a temporal fix to allow tests that are rendering Popper to update the state using
if (process.env.NODE_ENV === 'test') {
return {
canAutoFocus: true,
onOpen: () => {}
};
}
return {
canAutoFocus,
onOpen: () => setCanAutoFocus(true)
};
}