UNPKG

@exadel/esl

Version:

Exadel Smart Library (ESL) is the lightweight custom elements library that provide a set of super-flexible components

17 lines (16 loc) 664 B
/** Utility to promisify transition observation */ export function promisifyTransition($el, props) { return new Promise((resolve) => { function transitionCallback(e) { if (e.target !== $el) return; if (typeof props === 'string' && props !== e.propertyName) return; $el.removeEventListener('transitionend', transitionCallback); $el.removeEventListener('transitioncancel', transitionCallback); resolve(); } $el.addEventListener('transitionend', transitionCallback); $el.addEventListener('transitioncancel', transitionCallback); }); }