registerTransitionEnd(el: FromEventTarget, propName: string) { // Returns an Observable from DOM event fromEvent(el, 'transitionend') .pipe( filter(({ propertyName }: T) => propertyName === propName) // Will only emit value for the wanted css prop name e.g. height ) .subscribe((_) => { this.transitionEnd.emit(); }); }