this.icon = 'pi pi-calendar';\n this.shortYearCutoff = '+10';\n this.hourFormat = '24';\n this.stepHour = 1;\n this.stepMinute = 1;\n this.stepSecond = 1;\n this.showSeconds = false;\n this.showOnFocus = true;\n this.showWeek = false;\n this.showClear = false;\n this.dataType = 'date';\n this.selectionMode = 'single';\n this.todayButtonStyleClass = 'p-button-text';\n this.clearButtonStyleClass = 'p-button-text';\n this.autoZIndex = true;\n this.baseZIndex = 0;\n this.keepInvalid = false;\n this.hideOnDateTimeSelect = true;\n this.timeSeparator = \":\";\n this.focusTrap = true;\n this.showTransitionOptions = '.12s cubic-bezier(0, 0, 0.2, 1)';\n this.hideTransitionOptions = '.1s linear';\n this.onFocus = new EventEmitter();\n this.onBlur = new EventEmitter();\n this.onClose = new EventEmitter();\n this.onSelect = new EventEmitter();\n this.onClear = new EventEmitter();\n this.onInput = new EventEmitter();\n this.onTodayClick = new EventEmitter();\n this.onClearClick = new EventEmitter();\n this.onMonthChange = new EventEmitter();\n this.onYearChange = new EventEmitter();\n this.onClickOutside = new EventEmitter();\n this.onShow = new EventEmitter();\n\n this.onModelChange = () => {};\n\n this.onModelTouched = () => {};\n\n this.inputFieldValue = null;\n this.navigationState = null;\n this._numberOfMonths = 1;\n this._view = 'date';\n\n this.convertTo24Hour = function (hours, pm) {\n if (this.hourFormat == '12') {\n if (hours === 12) {\n return pm ? 12 : 0;\n } else {\n return pm ? hours + 12 : hours;\n }\n }\n\n return hours;\n };\n }\n\n set content(content) {\n this.contentViewChild = content;\n\n if (this.contentViewChild) {\n if (this.isMonthNavigate) {\n Promise.resolve(null).then(() => this.updateFocus());\n this.isMonthNavigate = false;\n } else {\n if (!this.focus) {\n this.initFocusableCell();\n }\n }\n }\n }\n\n get view() {\n return this._view;\n }\n\n set view(view) {\n this._view = view;\n this.currentView = this._view;\n }\n\n get defaultDate() {\n return this._defaultDate;\n }\n\n set defaultDate(defaultDate) {\n this._defaultDate = defaultDate;\n\n if (this.initialized) {\n const date = defaultDate || new Date();\n this.currentMonth = date.getMonth();\n this.currentYear = date.getFullYear();\n this.initTime(date);\n this.createMonths(this.currentMonth, this.currentYear);\n }\n }\n\n get minDate() {\n return this._minDate;\n }\n\n set minDate(date) {\n this._minDate = date;\n\n if (this.currentMonth != undefined && this.currentMonth != null && this.currentYear) {\n this.createMonths(this.currentMonth, this.currentYear);\n }\n }\n\n get maxDate() {\n return this._maxDate;\n }\n\n set maxDate(date) {\n this._maxDate = date;\n\n if (this.currentMonth != undefined && this.currentMonth != null && this.currentYear) {\n this.createMonths(this.currentMonth, this.currentYear);\n }\n }\n\n get disabledDates() {\n return this._disabledDates;\n }\n\n set disabledDates(disabledDates) {\n this._disabledDates = disabledDates;\n\n if (this.currentMonth != undefined && this.currentMonth != null && this.currentYear) {\n this.createMonths(this.currentMonth, this.currentYear);\n }\n }\n\n get disabledDays() {\n return this._disabledDays;\n }\n\n set disabledDays(disabledDays) {\n this._disabledDays = disabledDays;\n\n if (this.currentMonth != undefined && this.currentMonth != null && this.currentYear) {\n this.createMonths(this.currentMonth, this.currentYear);\n }\n }\n\n get yearRange() {\n return this._yearRange;\n }\n\n set yearRange(yearRange) {\n this._yearRange = yearRange;\n\n if (yearRange) {\n const years = yearRange.split(':');\n const yearStart = parseInt(years[0]);\n const yearEnd = parseInt(years[1]);\n this.populateYearOptions(yearStart, yearEnd);\n }\n }\n\n get showTime() {\n return this._showTime;\n }\n\n set showTime(showTime) {\n this._showTime = showTime;\n\n if (this.currentHour === undefined) {\n this.initTime(this.value || new Date());\n }\n\n this.updateInputfield();\n }\n\n get locale() {\n return this._locale;\n }\n\n get responsiveOptions() {\n return this._responsiveOp