UNPKG

@coreui/react

Version:

UI Components Library for React.js

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