1 | import css from 'dom-helpers/css';
|
2 | import transitionEnd from 'dom-helpers/transitionEnd';
|
3 |
|
4 | function parseDuration(node, property) {
|
5 | var str = css(node, property) || '';
|
6 | var mult = str.indexOf('ms') === -1 ? 1000 : 1;
|
7 | return parseFloat(str) * mult;
|
8 | }
|
9 |
|
10 | export default function transitionEndListener(element, handler) {
|
11 | var duration = parseDuration(element, 'transitionDuration');
|
12 | var delay = parseDuration(element, 'transitionDelay');
|
13 | var remove = transitionEnd(element, function (e) {
|
14 | if (e.target === element) {
|
15 | remove();
|
16 | handler(e);
|
17 | }
|
18 | }, duration + delay);
|
19 | } |
\ | No newline at end of file |