anchor.diff:    @override
     void onClose() {
       super.onClose();
  +    hideTooltip(immediate: true);
  +  }
  +
  +  @HostListener('blur')
  +  void onBlur(FocusEvent event) {
  +    // Don't hide the tooltip if the user clicked an empty area on the page.
  +    if (event.relatedTarget == null) return;
  +
  +    // Don't hide the tooltip if focus went to an element inside the tooltip.
  +    HtmlElement el;
  +    for (el = event.relatedTarget; el.parent != null; el = el.parent) {
  +      if (el.className == overlayContainerClassName) return;
  +    }
  +
       hideTooltip(immediate: true);
     }
   }
  
positive.code:     });
    }
  
    @HostListener('blur')
    void onBlur(FocusEvent event) {
      // Don't hide the tooltip if the user clicked an empty area on the page.
      if (event.relatedTarget == null) return;
  
      // Don't hide the tooltip if focus went to an element inside the tooltip.
      HtmlElement el;
      for (el = event.relatedTarget; el.parent != null; el = el.parent) {
        if (el.className == overlayContainerClassName) return;
      }
  
      hideTooltip(immediate: true);
    }
  
    @HostListener('click')
    void onClick() {
      _toggleVisibility();
  
negative.code:     _tooltip?.activate();
    }
  
    @HostListener('click')
    void onBlurOrClick() => hideTooltip();
  
  