Files
powerpoint-toolbox/node_modules/@fluentui/react-tabster/lib-commonjs/hooks/useActivateModal.js
T
2025-03-07 19:22:02 +01:00

34 lines
1.4 KiB
JavaScript

"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "useActivateModal", {
enumerable: true,
get: function() {
return useActivateModal;
}
});
const _interop_require_wildcard = require("@swc/helpers/_/_interop_require_wildcard");
const _react = /*#__PURE__*/ _interop_require_wildcard._(require("react"));
const _tabster = require("tabster");
const _reactutilities = require("@fluentui/react-utilities");
const _useTabster = require("./useTabster");
function useActivateModal() {
const tabster = (0, _useTabster.useTabster)();
const modalizerAPI = tabster ? (0, _tabster.getModalizer)(tabster) : undefined;
const [setActivateModalTimeout] = (0, _reactutilities.useTimeout)();
const activateModal = _react.useCallback((elementFromModal)=>{
// We call the actual activation function on the next tick, because with the typical use case,
// the hook will be called on the same tick when other Tabster attributes are being applied,
// and on the current tick the element has just received the attributes, but Tabster has not
// instantiated the Modalizer yet.
setActivateModalTimeout(()=>{
modalizerAPI === null || modalizerAPI === void 0 ? void 0 : modalizerAPI.activate(elementFromModal);
}, 0);
}, [
modalizerAPI,
setActivateModalTimeout
]);
return activateModal;
}