@coreui/react
Version:
UI Components Library for React.js
43 lines (38 loc) • 1.35 kB
JavaScript
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
;