constructor() {
      super();
      this._resizeHandler = this._resize.bind(this);
    }
@class
<h3 class="comment-api-title">Overview</h3>
Base class for all popup Web Components.

If you need to create your own popup-like custom UI5 Web Components, it is highly recommended that you extend
at least Popup in order to have consistency with other popups in terms of modal behavior and z-index management.

1. The Popup class handles modality:
 - The "isModal" getter can be overridden by derivatives to provide their own conditions when they are modal or not
 - Derivatives may call the "blockPageScrolling" and "unblockPageScrolling" static methods to temporarily remove scrollbars on the html element
 - Derivatives may call the "open" and "close" methods which handle focus, manage the popup registry and for modal popups, manage the blocking layer

 2. Provides blocking layer (relevant for modal popups only):
  - It is in the static area
  - Controlled by the "open" and "close" methods

3. The Popup class "traps" focus:
 - Derivatives may call the "applyInitialFocus" method (usually when opening, to transfer focus inside the popup)

4. The Popup class automatically assigns "z-index"
 - Each time a popup is opened, it gets a higher than the previously opened popup z-index

5. The template of this component exposes two inline partials you can override in derivatives:
 - beforeContent (upper part of the box, useful for header/title/close button)
 - afterContent (lower part, useful for footer/action buttons)

@constructor
@author SAP SE
@alias sap.ui.webc.main.Popup
@extends sap.ui.webc.base.UI5Element
@public