1 | "use strict";
|
2 |
|
3 | var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
4 |
|
5 | exports.__esModule = true;
|
6 | exports.default = transitionEndListener;
|
7 |
|
8 | var _css = _interopRequireDefault(require("dom-helpers/css"));
|
9 |
|
10 | var _transitionEnd = _interopRequireDefault(require("dom-helpers/transitionEnd"));
|
11 |
|
12 | function 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 |
|
18 | function 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 |
|
29 | module.exports = exports["default"]; |
\ | No newline at end of file |