docs: function Datepicker(el, options) {
        _classCallCheck(this, Datepicker);
  
        var _this27 = _possibleConstructorReturn(this, (Datepicker.__proto__ || Object.getPrototypeOf(Datepicker)).call(this, Datepicker, el, options));
  
        _this27.el.M_Datepicker = _this27;
  
        _this27.options = $.extend({}, Datepicker.defaults, options);
  
        // Remove time component from minDate and maxDate options
        if (_this27.options.minDate) _this27.options.minDate.setHours(0, 0, 0, 0);
        if (_this27.options.maxDate) _this27.options.maxDate.setHours(0, 0, 0, 0);
  
        _this27.id = M.guid();
  
        _this27._setupVariables();
        _this27._insertHTMLIntoDOM();
        _this27._setupModal();
  
        _this27._setupEventHandlers();
  
        if (!_this27.options.defaultDate) {
          _this27.options.defaultDate = new Date(Date.parse(_this27.el.value));
          _this27.options.setDefaultDate = true;
        }
  
        var defDate = _this27.options.defaultDate;
  
        if (Datepicker._isDate(defDate)) {
          if (_this27.options.setDefaultDate) {
            _this27.setDate(defDate, true);
          } else {
            _this27.gotoDate(defDate);
          }
        } else {
          _this27.gotoDate(new Date());
        }
  
        /**
         * Describes open/close state of datepicker
         * @type {Boolean}
         */
        _this27.isOpen = false;
  
        return _this27;
      }