anchor.diff:      selector: "bs-alert",
       styles: const [':host { display:block; }'],
       template: '''
  -    <button *ngIf="dismissible" type="button" class="close" (click)="onClose()">
  +    <button *ngIf="dismissible" type="button" class="close" (click)="close()">
           <span aria-hidden="true">&times;</span>
           <span class="sr-only">Close</span>
       </button>
  
positive.code: 
    ngOnInit() {
      if (hasTimeout) {
        new Timer(new Duration(milliseconds: timeout), onClose);
      }
    }
  
    onClose() {
      // todo: mouse event + touch + pointer
      close.add(this);
      _elementRef.nativeElement.remove();
    }
  }
  
negative.code: 
    /// fired when `alert` closed with inline button or by timeout,
    /// `$event` is an instance of `Alert` component
    @Output('close')
    EventEmitter onClose = new EventEmitter ();
  
    /// number of milliseconds, if specified sets a timeout duration,
    /// after which the alert will be closed
  