UNPKG

872 BJavaScriptView Raw
1"use strict";
2
3var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
5exports.__esModule = true;
6exports.default = transitionEndListener;
7
8var _css = _interopRequireDefault(require("dom-helpers/css"));
9
10var _transitionEnd = _interopRequireDefault(require("dom-helpers/transitionEnd"));
11
12function parseDuration(node, property) {
13 var str = (0, _css.default)(node, property) || '';
14 var mult = str.indexOf('ms') === -1 ? 1000 : 1;
15 return parseFloat(str) * mult;
16}
17
18function transitionEndListener(element, handler) {
19 var duration = parseDuration(element, 'transitionDuration');
20 var delay = parseDuration(element, 'transitionDelay');
21 var remove = (0, _transitionEnd.default)(element, function (e) {
22 if (e.target === element) {
23 remove();
24 handler(e);
25 }
26 }, duration + delay);
27}
28
29module.exports = exports["default"];
\No newline at end of file