mui-nav-menu
Version:
Navigation menu component based on material ui
33 lines (32 loc) • 1.22 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.useTransitionState = void 0;
const material_1 = require("@mui/material");
const react_1 = require("react");
const useTransitionState = () => {
const [transitioning, setTransitioning] = (0, react_1.useState)(false);
const onTransitionStart = (0, react_1.useCallback)((originalFunc) => {
return (0, material_1.createChainedFunction)(originalFunc, () => {
setTransitioning(true);
});
}, []);
const onTransitionEnd = (0, react_1.useCallback)((originalFunc) => {
return (0, material_1.createChainedFunction)(originalFunc, () => {
setTransitioning(false);
});
}, []);
const transitionHandlers = (0, react_1.useCallback)((original) => {
return {
...original,
onEnter: onTransitionStart(original?.onEnter),
onEntered: onTransitionEnd(original?.onEntered),
onExit: onTransitionStart(original?.onExit),
onExited: onTransitionEnd(original?.onExited),
};
}, []);
return {
transitioning,
transitionHandlers,
};
};
exports.useTransitionState = useTransitionState;