@react-native-aria/interactions
Version:
26 lines (25 loc) • 1.12 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.useBackHandler = useBackHandler;
var _react = require("react");
function useBackHandler({
enabled,
callback
}) {
(0, _react.useEffect)(() => {
var _document, _document$addEventLis;
const handleEscape = e => {
if (e.key === 'Escape') {
callback();
}
};
(_document = document) === null || _document === void 0 || (_document = _document.body) === null || _document === void 0 || (_document$addEventLis = _document.addEventListener) === null || _document$addEventLis === void 0 || _document$addEventLis.call(_document, 'keyup', handleEscape);
return () => {
var _document2, _document2$removeEven;
(_document2 = document) === null || _document2 === void 0 || (_document2 = _document2.body) === null || _document2 === void 0 || (_document2$removeEven = _document2.removeEventListener) === null || _document2$removeEven === void 0 || _document2$removeEven.call(_document2, 'keyup', handleEscape);
};
}, [enabled, callback]);
}
//# sourceMappingURL=useBackHandler.web.js.map