0 / 60 seg.

What are the HostListener decorators and the HostBinding decorator doing in this directive?

@Directive({
  selector: '[appCallout]',
})
export class CalloutDirective {
  @HostBinding('style.font-weight') fontWeight = 'normal';
  @HostListener('mouseenter')
  onMouseEnter() {
    this.fontWeight = 'bold';
  }
  @HostListener('mouseleave')
  onMouseLeave() {
    this.fontWeight = 'normal';
  }
}