UNPKG

@coreui/react-pro

Version:

UI Components Library for React.js

41 lines (36 loc) 1.25 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var getTransitionDurationFromElement = require('./getTransitionDurationFromElement.js'); const execute = (callback) => { if (typeof callback === 'function') { callback(); } }; const triggerTransitionEnd = (element) => { element.dispatchEvent(new Event('transitionend')); }; const executeAfterTransition = (callback, transitionElement, waitForTransition = true) => { if (!waitForTransition) { execute(callback); return; } const durationPadding = 5; const emulatedDuration = getTransitionDurationFromElement.default(transitionElement) + durationPadding; let called = false; const handler = ({ target }) => { if (target !== transitionElement) { return; } called = true; transitionElement.removeEventListener('transitionend', handler); execute(callback); }; transitionElement.addEventListener('transitionend', handler); setTimeout(() => { if (!called) { triggerTransitionEnd(transitionElement); } }, emulatedDuration); }; exports.default = executeAfterTransition; //# sourceMappingURL=executeAfterTransition.js.map