docs: function Modal(el, options) {
        _classCallCheck(this, Modal);
  
        var _this13 = _possibleConstructorReturn(this, (Modal.__proto__ || Object.getPrototypeOf(Modal)).call(this, Modal, el, options));
  
        _this13.el.M_Modal = _this13;
  
        /**
         * Options for the modal
         * @member Modal#options
         * @prop {Number} [opacity=0.5] - Opacity of the modal overlay
         * @prop {Number} [inDuration=250] - Length in ms of enter transition
         * @prop {Number} [outDuration=250] - Length in ms of exit transition
         * @prop {Function} onOpenStart - Callback function called before modal is opened
         * @prop {Function} onOpenEnd - Callback function called after modal is opened
         * @prop {Function} onCloseStart - Callback function called before modal is closed
         * @prop {Function} onCloseEnd - Callback function called after modal is closed
         * @prop {Boolean} [dismissible=true] - Allow modal to be dismissed by keyboard or overlay click
         * @prop {String} [startingTop='4%'] - startingTop
         * @prop {String} [endingTop='10%'] - endingTop
         */
        _this13.options = $.extend({}, Modal.defaults, options);
  
        /**
         * Describes open/close state of modal
         * @type {Boolean}
         */
        _this13.isOpen = false;
  
        _this13.id = _this13.$el.attr('id');
        _this13._openingTrigger = undefined;
        _this13.$overlay = $('<div class="modal-overlay"></div>');
        _this13.el.tabIndex = 0;
        _this13._nthModalOpened = 0;
  
        Modal._count++;
        _this13._setupEventHandlers();
        return _this13;
      }