@sberdevices/plasma-temple
Version:
SberDevices CanvasApp Templates.
44 lines (36 loc) • 1.41 kB
JavaScript
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.useFocusOnMount = void 0;
var _react = /*#__PURE__*/_interopRequireDefault( /*#__PURE__*/require("react"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
var useFocusOnMount = function useFocusOnMount(ref) {
var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
var preventScroll = params.preventScroll,
_params$delay = params.delay,
delay = _params$delay === void 0 ? 150 : _params$delay,
_params$prevent = params.prevent,
prevent = _params$prevent === void 0 ? false : _params$prevent,
_params$callOnce = params.callOnce,
callOnce = _params$callOnce === void 0 ? false : _params$callOnce;
var calledOnce = _react["default"].useRef(false);
_react["default"].useEffect(function () {
if (callOnce && calledOnce.current) {
return;
}
var timer = setTimeout(function () {
if (!prevent && ref.current instanceof HTMLElement) {
ref.current.focus({
preventScroll: preventScroll
});
calledOnce.current = true;
}
}, delay);
return function () {
return clearTimeout(timer);
};
}, [ref, prevent, preventScroll, delay, callOnce]);
};
exports.useFocusOnMount = useFocusOnMount;
//# sourceMappingURL=useFocusOnMount.js.map
;