UNPKG

react-bootstrap

Version:

Bootstrap 5 components built with React

19 lines (17 loc) 595 B
import css from 'dom-helpers/css'; import transitionEnd from 'dom-helpers/transitionEnd'; function parseDuration(node, property) { const str = css(node, property) || ''; const mult = str.indexOf('ms') === -1 ? 1000 : 1; return parseFloat(str) * mult; } export default function transitionEndListener(element, handler) { const duration = parseDuration(element, 'transitionDuration'); const delay = parseDuration(element, 'transitionDelay'); const remove = transitionEnd(element, e => { if (e.target === element) { remove(); handler(e); } }, duration + delay); }