code: function ModalDialog(player, options) {
      _classCallCheck(this, ModalDialog);
  
      var _this = _possibleConstructorReturn(this, _Component.call(this, player, options));
  
      _this.opened_ = _this.hasBeenOpened_ = _this.hasBeenFilled_ = false;
  
      _this.closeable(!_this.options_.uncloseable);
      _this.content(_this.options_.content);
  
      // Make sure the contentEl is defined AFTER any children are initialized
      // because we only want the contents of the modal in the contentEl
      // (not the UI elements like the close button).
      _this.contentEl_ = Dom.createEl('div', {
        className: MODAL_CLASS_NAME + '-content'
      }, {
        role: 'document'
      });
  
      _this.descEl_ = Dom.createEl('p', {
        className: MODAL_CLASS_NAME + '-description vjs-offscreen',
        id: _this.el().getAttribute('aria-describedby')
      });
  
      Dom.textContent(_this.descEl_, _this.description());
      _this.el_.appendChild(_this.descEl_);
      _this.el_.appendChild(_this.contentEl_);
      return _this;
    }
docs: Constructor for modals.
  
  @param  {Player} player
  @param  {Object} [options]
  @param  {Mixed} [options.content=undefined]
  Provide customized content for this modal.
  
  @param  {String} [options.description]
  A text description for the modal, primarily for accessibility.
  
  @param  {Boolean} [options.fillAlways=false]
  Normally, modals are automatically filled only the first time
  they open. This tells the modal to refresh its content
  every time it opens.
  
  @param  {String} [options.label]
  A text label for the modal, primarily for accessibility.
  
  @param  {Boolean} [options.temporary=true]
  If `true`, the modal can only be opened once; it will be
  disposed as soon as it's closed.
  
  @param  {Boolean} [options.uncloseable=false]
  If `true`, the user will not be able to close the modal
  through the UI in the normal ways. Programmatic closing is
  still possible.