"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var react_1 = require("react"); var util_1 = require("./misc/util"); var usePageLeave = function (onPageLeave, args) { if (args === void 0) { args = []; } react_1.useEffect(function () { if (!onPageLeave) { return; } var handler = function (event) { event = event ? event : window.event; var from = event.relatedTarget || event.toElement; if (!from || from.nodeName === 'HTML') { onPageLeave(); } }; util_1.on(document, 'mouseout', handler); return function () { util_1.off(document, 'mouseout', handler); }; }, args); }; exports.default = usePageLeave;