@majidh1/jalalidatepicker
Advanced tools
Comparing version 0.2.4 to 0.2.5
@@ -49,3 +49,3 @@ /* | ||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./utils */ \"./src/utils.js\");\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./constants */ \"./src/constants.js\");\n/* harmony import */ var _draw__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./draw */ \"./src/draw.js\");\n/* harmony import */ var _defaults__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./defaults */ \"./src/defaults.js\");\n\n\n\n\nvar jalaliDatepicker = {\n init: function init(options) {\n this.options = (0,_utils__WEBPACK_IMPORTED_MODULE_0__.extend)(_defaults__WEBPACK_IMPORTED_MODULE_3__.default, options);\n this.options = normalizeOptions(this.options);\n window.onresize = windowResize;\n if (this.options.autoHide) document.body.onclick = documentClick;\n if (this.options.autoShow) addEventListenerOnInputs(this.options.selector);\n },\n options: _defaults__WEBPACK_IMPORTED_MODULE_3__.default,\n input: null,\n\n get dpContainer() {\n this._dpContainer = this._dpContainer || (0,_utils__WEBPACK_IMPORTED_MODULE_0__.createElement)(_constants__WEBPACK_IMPORTED_MODULE_1__.CONTAINER_ELM_QUERY, this.options.container);\n return this._dpContainer;\n },\n\n get today() {\n this._today = this._today || (0,_utils__WEBPACK_IMPORTED_MODULE_0__.jalaliToday)();\n return this._today;\n },\n\n get valueDate() {\n this._valueDate = (0,_utils__WEBPACK_IMPORTED_MODULE_0__.clon)(this.input.value);\n\n if ((0,_utils__WEBPACK_IMPORTED_MODULE_0__.isString)(this._valueDate)) {\n if ((0,_utils__WEBPACK_IMPORTED_MODULE_0__.isValidDateString)(this._valueDate, this.options.separatorChar)) {\n this._valueDate = (0,_utils__WEBPACK_IMPORTED_MODULE_0__.getDateFromString)(this._valueDate, this.options.separatorChar);\n } else {\n this._valueDate = {};\n }\n }\n\n return this._valueDate;\n },\n\n get initDate() {\n this._initDate = this._initDate || (0,_utils__WEBPACK_IMPORTED_MODULE_0__.clon)(this.valueDate);\n\n if ((0,_utils__WEBPACK_IMPORTED_MODULE_0__.isPlainObject)(this._initDate)) {\n this._initDate = this.options.initDate || (0,_utils__WEBPACK_IMPORTED_MODULE_0__.clon)(this.today);\n }\n\n if ((0,_utils__WEBPACK_IMPORTED_MODULE_0__.isString)(this._initDate) && (0,_utils__WEBPACK_IMPORTED_MODULE_0__.isValidDateString)(this._initDate, this.options.separatorChar)) {\n this._initDate = (0,_utils__WEBPACK_IMPORTED_MODULE_0__.getDateFromString)(this._initDate, this.options.separatorChar);\n }\n\n return (0,_utils__WEBPACK_IMPORTED_MODULE_0__.normalizeMinMaxDate)(this._initDate.year, this._initDate.month, this._initDate.day, this._initDate, this.options.minDate, this.options.maxDate);\n },\n\n _draw: _draw__WEBPACK_IMPORTED_MODULE_2__.default,\n show: function show(input) {\n this._initDate = null;\n this._valueDate = null;\n this.input = input;\n\n this._draw();\n\n this.dpContainer.style.visibility = _constants__WEBPACK_IMPORTED_MODULE_1__.STYLE_VISIBILITY_VISIBLE;\n this.dpContainer.style.display = _constants__WEBPACK_IMPORTED_MODULE_1__.STYLE_DISPLAY_BLOCK;\n this.dpContainer.style.zIndex = this.options.zIndex;\n this.setPosition();\n setScrollOnParent(input);\n },\n hide: function hide() {\n this.dpContainer.style.visibility = _constants__WEBPACK_IMPORTED_MODULE_1__.STYLE_VISIBILITY_HIDDEN;\n this.dpContainer.style.display = _constants__WEBPACK_IMPORTED_MODULE_1__.STYLE_DISPLAY_HIDDEN;\n },\n setPosition: function setPosition() {\n if (this.dpContainer.style.visibility !== _constants__WEBPACK_IMPORTED_MODULE_1__.STYLE_VISIBILITY_VISIBLE) {\n return;\n }\n\n var inputBounds = this.input.getBoundingClientRect();\n var left = inputBounds.left;\n var top = inputBounds.top;\n\n if (left + this.dpContainer.offsetWidth >= window.document.body.offsetWidth) {\n left -= left + this.dpContainer.offsetWidth - (window.document.body.offsetWidth + 10);\n }\n\n this.dpContainer.style.position = (0,_utils__WEBPACK_IMPORTED_MODULE_0__.hasPositionFixedParent)(this.input) ? _constants__WEBPACK_IMPORTED_MODULE_1__.STYLE_POSITION_FIXED : _constants__WEBPACK_IMPORTED_MODULE_1__.STYLE_POSITION_ABSOLUTE;\n this.dpContainer.style.left = left + \"px\";\n this.dpContainer.style.top = top + this.input.offsetHeight + \"px\";\n },\n setValue: function setValue(year, month, day) {\n this._valueDate.year = year;\n this._valueDate.month = month;\n this._valueDate.day = day;\n this.hide();\n\n if (isNaN(year + month + day)) {\n this.input.value = \"\";\n } else {\n this.input.value = (0,_utils__WEBPACK_IMPORTED_MODULE_0__.getDateToString)(year, month, day, this.options.separatorChar);\n }\n\n (0,_utils__WEBPACK_IMPORTED_MODULE_0__.triggerEvent)(this.input, _constants__WEBPACK_IMPORTED_MODULE_1__.EVENT_CHANGE_INPUT_STR);\n },\n increaseMonth: function increaseMonth() {\n if (this.options.changeMonthRotateYear && this._initDate.month === 12) {\n this.increaseYear();\n }\n\n this.monthChange(this._initDate.month === 12 ? 1 : this._initDate.month + 1);\n },\n decreaseMonth: function decreaseMonth() {\n if (this.options.changeMonthRotateYear && this._initDate.month === 1) {\n this.decreaseYear();\n }\n\n this.monthChange(this._initDate.month === 1 ? 12 : this._initDate.month - 1);\n },\n monthChange: function monthChange(month) {\n this._initDate = (0,_utils__WEBPACK_IMPORTED_MODULE_0__.normalizeMinMaxDate)(this._initDate.year, month, this._initDate.day, this._initDate, this.options.minDate, this.options.maxDate);\n\n this._draw();\n },\n increaseYear: function increaseYear() {\n this.yearChange(this._initDate.year + 1);\n },\n decreaseYear: function decreaseYear() {\n this.yearChange(this._initDate.year - 1);\n },\n yearChange: function yearChange(year) {\n this._initDate = (0,_utils__WEBPACK_IMPORTED_MODULE_0__.normalizeMinMaxDate)(year, this._initDate.month, this._initDate.day, this._initDate, this.options.minDate, this.options.maxDate);\n\n this._draw();\n }\n};\n\nvar getDefaultFromAttr = function getDefaultFromAttr(attrName, sepChar) {\n var dateAttrVal = jalaliDatepicker.input.getAttribute(attrName);\n\n if (dateAttrVal === _constants__WEBPACK_IMPORTED_MODULE_1__.MIN_MAX_TODAY_SETTING) {\n dateAttrVal = (0,_utils__WEBPACK_IMPORTED_MODULE_0__.clon)(jalaliDatepicker.today);\n } else if ((0,_utils__WEBPACK_IMPORTED_MODULE_0__.isString)(dateAttrVal) && (0,_utils__WEBPACK_IMPORTED_MODULE_0__.isValidDateString)(dateAttrVal, sepChar)) {\n dateAttrVal = (0,_utils__WEBPACK_IMPORTED_MODULE_0__.getDateFromString)(dateAttrVal, sepChar);\n } else {\n dateAttrVal = {};\n }\n\n return dateAttrVal;\n};\n\nvar normalizeOptions = function normalizeOptions(options) {\n if (options.minDate === _constants__WEBPACK_IMPORTED_MODULE_1__.MIN_MAX_TODAY_SETTING) options.minDate = (0,_utils__WEBPACK_IMPORTED_MODULE_0__.clon)(jalaliDatepicker.today);\n if (options.maxDate === _constants__WEBPACK_IMPORTED_MODULE_1__.MIN_MAX_TODAY_SETTING) options.maxDate = (0,_utils__WEBPACK_IMPORTED_MODULE_0__.clon)(jalaliDatepicker.today);\n\n if (options.minDate === _constants__WEBPACK_IMPORTED_MODULE_1__.MIN_MAX_ATTR_SETTING) {\n delete options.minDate;\n window.Object.defineProperty(options, \"minDate\", {\n get: function get() {\n return getDefaultFromAttr(_constants__WEBPACK_IMPORTED_MODULE_1__.MIN_MAX_ATTR_SETTING_MIN_ATTR_NAME, options.separatorChar);\n }\n });\n }\n\n if (options.maxDate === _constants__WEBPACK_IMPORTED_MODULE_1__.MIN_MAX_ATTR_SETTING) {\n delete options.maxDate;\n window.Object.defineProperty(options, \"maxDate\", {\n get: function get() {\n return getDefaultFromAttr(_constants__WEBPACK_IMPORTED_MODULE_1__.MIN_MAX_ATTR_SETTING_MAX_ATTR_NAME, options.separatorChar);\n }\n });\n }\n\n return options;\n};\n\nfunction documentClick(e) {\n if (jalaliDatepicker.dpContainer.style.visibility !== _constants__WEBPACK_IMPORTED_MODULE_1__.STYLE_VISIBILITY_VISIBLE || (0,_utils__WEBPACK_IMPORTED_MODULE_0__.containsDom)(jalaliDatepicker.dpContainer, e) || (0,_utils__WEBPACK_IMPORTED_MODULE_0__.getEventTarget)(e) === jalaliDatepicker.input) {\n return;\n }\n\n jalaliDatepicker.hide();\n}\n\nfunction windowResize() {\n jalaliDatepicker.setPosition();\n}\n\nfunction setScrollOnParent(input) {\n (0,_utils__WEBPACK_IMPORTED_MODULE_0__.getScrollParent)(input).addEventListener(\"scroll\", function () {\n jalaliDatepicker.setPosition();\n }, {\n passive: true\n });\n}\n\nfunction addEventListenerOnInputs(querySelector) {\n Element.prototype.matches = Element.prototype.matchesSelector || Element.prototype.mozMatchesSelector || Element.prototype.msMatchesSelector || Element.prototype.oMatchesSelector || Element.prototype.webkitMatchesSelector;\n document.body.addEventListener(_constants__WEBPACK_IMPORTED_MODULE_1__.EVENT_FOCUS_STR, function (e) {\n if (e.target && e.target.matches(querySelector)) {\n jalaliDatepicker.show(e.target);\n }\n });\n}\n\nwindow.jalaliDatepicker = {\n startWatch: function startWatch() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n jalaliDatepicker.init(options);\n },\n show: function show(input) {\n jalaliDatepicker.show(input);\n },\n hide: function hide() {\n jalaliDatepicker.hide();\n }\n};\n\n//# sourceURL=webpack://@majidh1/jalalidatepicker/./src/index.js?"); | ||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./utils */ \"./src/utils.js\");\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./constants */ \"./src/constants.js\");\n/* harmony import */ var _draw__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./draw */ \"./src/draw.js\");\n/* harmony import */ var _defaults__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./defaults */ \"./src/defaults.js\");\n\n\n\n\nvar jalaliDatepicker = {\n init: function init(options) {\n this.options = (0,_utils__WEBPACK_IMPORTED_MODULE_0__.extend)(_defaults__WEBPACK_IMPORTED_MODULE_3__.default, options);\n this.options = normalizeOptions(this.options);\n window.onresize = windowResize;\n if (this.options.autoHide) document.body.onclick = documentClick;\n if (this.options.autoShow) addEventListenerOnInputs(this.options.selector);\n },\n options: _defaults__WEBPACK_IMPORTED_MODULE_3__.default,\n input: null,\n\n get dpContainer() {\n this._dpContainer = this._dpContainer || (0,_utils__WEBPACK_IMPORTED_MODULE_0__.createElement)(_constants__WEBPACK_IMPORTED_MODULE_1__.CONTAINER_ELM_QUERY, this.options.container);\n return this._dpContainer;\n },\n\n get today() {\n this._today = this._today || (0,_utils__WEBPACK_IMPORTED_MODULE_0__.jalaliToday)();\n return this._today;\n },\n\n get valueDate() {\n this._valueDate = (0,_utils__WEBPACK_IMPORTED_MODULE_0__.clon)(this.input.value);\n\n if ((0,_utils__WEBPACK_IMPORTED_MODULE_0__.isString)(this._valueDate)) {\n if ((0,_utils__WEBPACK_IMPORTED_MODULE_0__.isValidDateString)(this._valueDate, this.options.separatorChar)) {\n this._valueDate = (0,_utils__WEBPACK_IMPORTED_MODULE_0__.getDateFromString)(this._valueDate, this.options.separatorChar);\n } else {\n this._valueDate = {};\n }\n }\n\n return this._valueDate;\n },\n\n get initDate() {\n this._initDate = this._initDate || (0,_utils__WEBPACK_IMPORTED_MODULE_0__.clon)(this.valueDate);\n\n if ((0,_utils__WEBPACK_IMPORTED_MODULE_0__.isPlainObject)(this._initDate)) {\n this._initDate = this.options.initDate || (0,_utils__WEBPACK_IMPORTED_MODULE_0__.clon)(this.today);\n }\n\n if ((0,_utils__WEBPACK_IMPORTED_MODULE_0__.isString)(this._initDate) && (0,_utils__WEBPACK_IMPORTED_MODULE_0__.isValidDateString)(this._initDate, this.options.separatorChar)) {\n this._initDate = (0,_utils__WEBPACK_IMPORTED_MODULE_0__.getDateFromString)(this._initDate, this.options.separatorChar);\n }\n\n return (0,_utils__WEBPACK_IMPORTED_MODULE_0__.normalizeMinMaxDate)(this._initDate.year, this._initDate.month, this._initDate.day, this._initDate, this.options.minDate, this.options.maxDate);\n },\n\n _draw: _draw__WEBPACK_IMPORTED_MODULE_2__.default,\n show: function show(input) {\n this._initDate = null;\n this._valueDate = null;\n this.input = input;\n\n this._draw();\n\n this.dpContainer.style.visibility = _constants__WEBPACK_IMPORTED_MODULE_1__.STYLE_VISIBILITY_VISIBLE;\n this.dpContainer.style.display = _constants__WEBPACK_IMPORTED_MODULE_1__.STYLE_DISPLAY_BLOCK;\n this.dpContainer.style.zIndex = this.options.zIndex;\n this.setPosition();\n setScrollOnParent(input);\n },\n hide: function hide() {\n this.dpContainer.style.visibility = _constants__WEBPACK_IMPORTED_MODULE_1__.STYLE_VISIBILITY_HIDDEN;\n this.dpContainer.style.display = _constants__WEBPACK_IMPORTED_MODULE_1__.STYLE_DISPLAY_HIDDEN;\n },\n setPosition: function setPosition() {\n if (this.dpContainer.style.visibility !== _constants__WEBPACK_IMPORTED_MODULE_1__.STYLE_VISIBILITY_VISIBLE) {\n return;\n }\n\n var inputBounds = this.input.getBoundingClientRect();\n var left = inputBounds.left;\n var top = inputBounds.top;\n\n if (left + this.dpContainer.offsetWidth >= window.document.body.offsetWidth) {\n left -= left + this.dpContainer.offsetWidth - (window.document.body.offsetWidth + 10);\n }\n\n this.dpContainer.style.position = (0,_utils__WEBPACK_IMPORTED_MODULE_0__.hasPositionFixedParent)(this.input) ? _constants__WEBPACK_IMPORTED_MODULE_1__.STYLE_POSITION_FIXED : _constants__WEBPACK_IMPORTED_MODULE_1__.STYLE_POSITION_ABSOLUTE;\n this.dpContainer.style.left = left + \"px\";\n this.dpContainer.style.top = top + this.input.offsetHeight + \"px\";\n },\n setValue: function setValue(year, month, day) {\n this._valueDate.year = year;\n this._valueDate.month = month;\n this._valueDate.day = day;\n this.hide();\n\n if (isNaN(year + month + day)) {\n this.input.value = \"\";\n } else {\n this.input.value = (0,_utils__WEBPACK_IMPORTED_MODULE_0__.getDateToString)(year, month, day, this.options.separatorChar);\n }\n\n (0,_utils__WEBPACK_IMPORTED_MODULE_0__.triggerEvent)(this.input, _constants__WEBPACK_IMPORTED_MODULE_1__.EVENT_CHANGE_INPUT_STR);\n },\n increaseMonth: function increaseMonth() {\n var isLastMonth = this._initDate.month === 12;\n\n if (this.options.changeMonthRotateYear && isLastMonth) {\n this.increaseYear();\n }\n\n this.monthChange(isLastMonth ? 1 : this._initDate.month + 1);\n },\n decreaseMonth: function decreaseMonth() {\n var isFirstMonth = this._initDate.month === 1;\n\n if (this.options.changeMonthRotateYear && isFirstMonth) {\n this.decreaseYear();\n }\n\n this.monthChange(isFirstMonth ? 12 : this._initDate.month - 1);\n },\n monthChange: function monthChange(month) {\n this._initDate = (0,_utils__WEBPACK_IMPORTED_MODULE_0__.normalizeMinMaxDate)(this._initDate.year, month, this._initDate.day, this._initDate, this.options.minDate, this.options.maxDate);\n\n this._draw();\n },\n increaseYear: function increaseYear() {\n this.yearChange(this._initDate.year + 1);\n },\n decreaseYear: function decreaseYear() {\n this.yearChange(this._initDate.year - 1);\n },\n yearChange: function yearChange(year) {\n this._initDate = (0,_utils__WEBPACK_IMPORTED_MODULE_0__.normalizeMinMaxDate)(year, this._initDate.month, this._initDate.day, this._initDate, this.options.minDate, this.options.maxDate);\n\n this._draw();\n }\n};\n\nvar getDefaultFromAttr = function getDefaultFromAttr(attrName, sepChar) {\n var dateAttrVal = jalaliDatepicker.input.getAttribute(attrName);\n\n if (dateAttrVal === _constants__WEBPACK_IMPORTED_MODULE_1__.MIN_MAX_TODAY_SETTING) {\n dateAttrVal = (0,_utils__WEBPACK_IMPORTED_MODULE_0__.clon)(jalaliDatepicker.today);\n } else if ((0,_utils__WEBPACK_IMPORTED_MODULE_0__.isString)(dateAttrVal) && (0,_utils__WEBPACK_IMPORTED_MODULE_0__.isValidDateString)(dateAttrVal, sepChar)) {\n dateAttrVal = (0,_utils__WEBPACK_IMPORTED_MODULE_0__.getDateFromString)(dateAttrVal, sepChar);\n } else {\n dateAttrVal = {};\n }\n\n return dateAttrVal;\n};\n\nvar normalizeOptions = function normalizeOptions(options) {\n if (options.minDate === _constants__WEBPACK_IMPORTED_MODULE_1__.MIN_MAX_TODAY_SETTING) options.minDate = (0,_utils__WEBPACK_IMPORTED_MODULE_0__.clon)(jalaliDatepicker.today);\n if (options.maxDate === _constants__WEBPACK_IMPORTED_MODULE_1__.MIN_MAX_TODAY_SETTING) options.maxDate = (0,_utils__WEBPACK_IMPORTED_MODULE_0__.clon)(jalaliDatepicker.today);\n\n if (options.minDate === _constants__WEBPACK_IMPORTED_MODULE_1__.MIN_MAX_ATTR_SETTING) {\n delete options.minDate;\n window.Object.defineProperty(options, \"minDate\", {\n get: function get() {\n return getDefaultFromAttr(_constants__WEBPACK_IMPORTED_MODULE_1__.MIN_MAX_ATTR_SETTING_MIN_ATTR_NAME, options.separatorChar);\n }\n });\n }\n\n if (options.maxDate === _constants__WEBPACK_IMPORTED_MODULE_1__.MIN_MAX_ATTR_SETTING) {\n delete options.maxDate;\n window.Object.defineProperty(options, \"maxDate\", {\n get: function get() {\n return getDefaultFromAttr(_constants__WEBPACK_IMPORTED_MODULE_1__.MIN_MAX_ATTR_SETTING_MAX_ATTR_NAME, options.separatorChar);\n }\n });\n }\n\n return options;\n};\n\nfunction documentClick(e) {\n if (jalaliDatepicker.dpContainer.style.visibility !== _constants__WEBPACK_IMPORTED_MODULE_1__.STYLE_VISIBILITY_VISIBLE || (0,_utils__WEBPACK_IMPORTED_MODULE_0__.containsDom)(jalaliDatepicker.dpContainer, e) || (0,_utils__WEBPACK_IMPORTED_MODULE_0__.getEventTarget)(e) === jalaliDatepicker.input) {\n return;\n }\n\n jalaliDatepicker.hide();\n}\n\nfunction windowResize() {\n jalaliDatepicker.setPosition();\n}\n\nfunction setScrollOnParent(input) {\n (0,_utils__WEBPACK_IMPORTED_MODULE_0__.getScrollParent)(input).addEventListener(\"scroll\", function () {\n jalaliDatepicker.setPosition();\n }, {\n passive: true\n });\n}\n\nfunction addEventListenerOnInputs(querySelector) {\n Element.prototype.matches = Element.prototype.matchesSelector || Element.prototype.mozMatchesSelector || Element.prototype.msMatchesSelector || Element.prototype.oMatchesSelector || Element.prototype.webkitMatchesSelector;\n document.body.addEventListener(_constants__WEBPACK_IMPORTED_MODULE_1__.EVENT_FOCUS_STR, function (e) {\n if (e.target && e.target.matches(querySelector)) {\n jalaliDatepicker.show(e.target);\n }\n });\n}\n\nwindow.jalaliDatepicker = {\n startWatch: function startWatch() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n jalaliDatepicker.init(options);\n },\n show: function show(input) {\n jalaliDatepicker.show(input);\n },\n hide: function hide() {\n jalaliDatepicker.hide();\n }\n};\n\n//# sourceURL=webpack://@majidh1/jalalidatepicker/./src/index.js?"); | ||
@@ -60,3 +60,3 @@ /***/ }), | ||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"isNaN\": function() { return /* binding */ isNaN; },\n/* harmony export */ \"isNumber\": function() { return /* binding */ isNumber; },\n/* harmony export */ \"isUndefined\": function() { return /* binding */ isUndefined; },\n/* harmony export */ \"isFunction\": function() { return /* binding */ isFunction; },\n/* harmony export */ \"isString\": function() { return /* binding */ isString; },\n/* harmony export */ \"clon\": function() { return /* binding */ clon; },\n/* harmony export */ \"isLeapYear\": function() { return /* binding */ isLeapYear; },\n/* harmony export */ \"getDaysInMonth\": function() { return /* binding */ getDaysInMonth; },\n/* harmony export */ \"mod\": function() { return /* binding */ mod; },\n/* harmony export */ \"getDays\": function() { return /* binding */ getDays; },\n/* harmony export */ \"getDiffDays\": function() { return /* binding */ getDiffDays; },\n/* harmony export */ \"getWeekDay\": function() { return /* binding */ getWeekDay; },\n/* harmony export */ \"getYears\": function() { return /* binding */ getYears; },\n/* harmony export */ \"addLeadingZero\": function() { return /* binding */ addLeadingZero; },\n/* harmony export */ \"isPlainObject\": function() { return /* binding */ isPlainObject; },\n/* harmony export */ \"extend\": function() { return /* binding */ extend; },\n/* harmony export */ \"createElement\": function() { return /* binding */ createElement; },\n/* harmony export */ \"addListenerMulti\": function() { return /* binding */ addListenerMulti; },\n/* harmony export */ \"setInnerHTML\": function() { return /* binding */ setInnerHTML; },\n/* harmony export */ \"normalizeMinMaxDate\": function() { return /* binding */ normalizeMinMaxDate; },\n/* harmony export */ \"getValidMonths\": function() { return /* binding */ getValidMonths; },\n/* harmony export */ \"isValidDay\": function() { return /* binding */ isValidDay; },\n/* harmony export */ \"setClassName\": function() { return /* binding */ setClassName; },\n/* harmony export */ \"isValidDateString\": function() { return /* binding */ isValidDateString; },\n/* harmony export */ \"getDateFromString\": function() { return /* binding */ getDateFromString; },\n/* harmony export */ \"getDateToString\": function() { return /* binding */ getDateToString; },\n/* harmony export */ \"jalaliToday\": function() { return /* binding */ jalaliToday; },\n/* harmony export */ \"getScrollParent\": function() { return /* binding */ getScrollParent; },\n/* harmony export */ \"getEventTarget\": function() { return /* binding */ getEventTarget; },\n/* harmony export */ \"containsDom\": function() { return /* binding */ containsDom; },\n/* harmony export */ \"createEvent\": function() { return /* binding */ createEvent; },\n/* harmony export */ \"triggerEvent\": function() { return /* binding */ triggerEvent; },\n/* harmony export */ \"hasPositionFixedParent\": function() { return /* binding */ hasPositionFixedParent; }\n/* harmony export */ });\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./constants */ \"./src/constants.js\");\nvar _this = undefined;\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n\nvar isNaN = Number.isNaN || window.isNaN;\nvar isNumber = function isNumber(value) {\n return typeof value === \"number\" && !isNaN(value);\n};\nvar isUndefined = function isUndefined(value) {\n return typeof value === \"undefined\";\n};\nvar isFunction = function isFunction(value) {\n return typeof value === \"function\";\n};\nvar isString = function isString(value) {\n return typeof value === \"string\";\n};\nvar clon = function clon(a) {\n return JSON.parse(JSON.stringify(a));\n};\nvar isLeapYear = function isLeapYear(year) {\n return ((year - 474) % 2820 + 512) * 682 % 2816 < 682;\n};\nvar getDaysInMonth = function getDaysInMonth(year, month) {\n return [0, 31, 31, 31, 31, 31, 31, 30, 30, 30, 30, 30, isLeapYear(year) ? 30 : 29][month];\n};\nvar mod = function mod(a, b) {\n return window.Math.abs(a - b * window.Math.floor(a / b));\n};\nvar getDays = function getDays(month, day) {\n if (month < 8) return (month - 1) * 31 + day;\n return 6 * 31 + (month - 7) * 30 + day;\n};\nvar getDiffDays = function getDiffDays(year1, month1, day1, year2, month2, day2) {\n var diffDays = getDays(month2, day2) - getDays(month1, day1);\n var y1 = year1 < year2 ? year1 : year2;\n var y2 = year1 < year2 ? year2 : year1;\n\n for (var y = y1; y < y2; y++) {\n if (isLeapYear(y)) diffDays += year1 < year2 ? 366 : -366;else diffDays += year1 < year2 ? 365 : -365;\n }\n\n return diffDays;\n};\nvar getWeekDay = function getWeekDay(year, month, day) {\n return mod(getDiffDays(1392, 3, 25, year, month, day), 7);\n};\nvar getYears = function getYears(month, day) {\n return 6 * 31 + (month - 7) * 30 + day;\n};\nvar addLeadingZero = function addLeadingZero(value) {\n var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 2;\n var str = String(Math.abs(value));\n var i = str.length;\n var result = \"\";\n\n if (value < 0) {\n result += \"-\";\n }\n\n while (i < length) {\n i += 1;\n result += \"0\";\n }\n\n return result + str;\n};\nvar isPlainObject = function isPlainObject(obj) {\n if (!obj || !obj.constructor || obj.nodeType) {\n return false;\n }\n\n try {\n return JSON.stringify(obj) === \"{}\";\n } catch (e) {\n return true;\n }\n};\nvar extend = function extend() {\n var options;\n var src;\n var copy;\n var copyIsArray;\n var clone;\n\n for (var _len = arguments.length, params = new Array(_len), _key = 0; _key < _len; _key++) {\n params[_key] = arguments[_key];\n }\n\n var target = params[0] || {};\n var i = 1;\n var length = params.length;\n var deep = false; // Handle a deep copy situation\n\n if (typeof target === \"boolean\") {\n deep = target; // Skip the boolean and the target\n\n target = params[i] || {};\n i += 1;\n } // Handle case when target is a string or something (possible in deep copy)\n\n\n if (_typeof(target) !== \"object\" && isFunction(target)) {\n target = {};\n } // Extend jQuery itself if only one argument is passed\n\n\n if (i === length) {\n target = _this;\n i -= 1;\n }\n\n for (; i < length; i++) {\n options = params[i]; // Only deal with non-null/undefined values\n\n if (!isUndefined(options) && options !== null) {\n // Extend the base object\n for (var j = 0; j < window.Object.keys(options).length; j++) {\n var name = window.Object.keys(options)[j];\n\n if (Object.prototype.hasOwnProperty.call(options, name)) {\n copy = options[name]; // Prevent Object.prototype pollution\n // Prevent never-ending loop\n\n if (name === \"__proto__\" || target === copy) {\n return true;\n }\n\n copyIsArray = Array.isArray(copy); // Recurse if we're merging plain objects or arrays\n\n if (deep && copy && (isPlainObject(copy) || copyIsArray)) {\n src = target[name]; // Ensure proper type for the source value\n\n if (copyIsArray && !Array.isArray(src)) {\n clone = [];\n } else if (!copyIsArray && !isPlainObject(src)) {\n clone = {};\n } else {\n clone = src;\n } // Never move original objects, clone them\n\n\n target[name] = extend(deep, clone, copy); // Don't bring in undefined values\n } else if (!isUndefined(copy)) {\n target[name] = copy;\n }\n }\n }\n }\n } // Return the modified object\n\n\n return target;\n};\nvar createElement = function createElement(tag, parent, eventNames, event, content) {\n var splits = tag.split(\".\");\n tag = splits.shift() || \"div\";\n var className = splits;\n var element = window.document.createElement(tag);\n\n if (isString(parent)) {\n window.document.querySelector(parent).appendChild(element);\n } else {\n parent.appendChild(element);\n }\n\n if (className.length) {\n element.className = className.join(\" \");\n }\n\n if (eventNames && event) {\n addListenerMulti(element, eventNames, event);\n }\n\n if (!isUndefined(content)) {\n setInnerHTML(element, content);\n }\n\n return element;\n};\nvar addListenerMulti = function addListenerMulti(element, eventNames, listener) {\n var events = eventNames.split(\" \");\n\n for (var i = 0, iLen = events.length; i < iLen; i++) {\n element.addEventListener(events[i], listener, false);\n }\n};\nvar setInnerHTML = function setInnerHTML(element, html) {\n element.innerHTML = html;\n};\nvar normalizeMinMaxDate = function normalizeMinMaxDate(year, month, day, initDate, minDate, maxDate) {\n if (isNaN(year) || year < 1000 || year > 10000) {\n year = initDate.year;\n } else {\n if (year < minDate.year) {\n year = minDate.year;\n } else if (year > maxDate.year) {\n year = maxDate.year;\n }\n }\n\n if (isNaN(month) || month < 1 || month > 12) {\n month = initDate.month;\n } else {\n if (year <= minDate.year && month < minDate.month) {\n month = minDate.month;\n } else if (year >= maxDate.year && month > maxDate.month) {\n month = maxDate.month;\n }\n }\n\n if (isNaN(day) || day < 1) {\n day = initDate.day;\n } else {\n if (month <= minDate.month && day < minDate.day) {\n day = minDate.day;\n } else if (month >= maxDate.month && day > maxDate.day) {\n day = maxDate.day;\n }\n }\n\n return {\n year: parseInt(year),\n month: parseInt(month),\n day: parseInt(day)\n };\n};\nvar getValidMonths = function getValidMonths(initDate, minDate, maxDate) {\n var months = [];\n var start = 1;\n var finish = 12;\n\n if (initDate.year === minDate.year) {\n start = minDate.month;\n\n if (initDate.year === maxDate.year) {\n finish = maxDate.month;\n }\n } else if (initDate.year === maxDate.year) {\n start = 1;\n finish = maxDate.month;\n }\n\n for (var i = start; i <= finish; i++) {\n months.push(i);\n }\n\n return months;\n};\nvar isValidDay = function isValidDay(initDate, day, minDate, maxDate) {\n if (isPlainObject(minDate) && isPlainObject(maxDate)) {\n return true;\n }\n\n if (minDate.year === maxDate.year && minDate.month === maxDate.month) {\n return day >= minDate.day && day <= maxDate.day;\n }\n\n if (initDate.year === minDate.year && initDate.month === minDate.month) {\n return day >= minDate.day;\n }\n\n if (initDate.year === maxDate.year && initDate.month === maxDate.month) {\n return day <= maxDate.day;\n }\n\n return true;\n};\nvar setClassName = function setClassName(element, className) {\n element.className = className;\n};\nvar isValidDateString = function isValidDateString(str, sepChar) {\n if (!str) {\n return false;\n }\n\n var date = str.split(sepChar);\n return date.length === 3 && date[0].length === 4 && date[1].length === 2 && date[2].length === 2;\n};\nvar getDateFromString = function getDateFromString(str, sepChar) {\n var date = str.split(sepChar);\n return {\n year: parseInt(date[0]),\n month: parseInt(date[1]),\n day: parseInt(date[2])\n };\n};\nvar getDateToString = function getDateToString(y, m, d, sepChar) {\n return y + sepChar + addLeadingZero(m) + sepChar + addLeadingZero(d);\n};\nvar jalaliToday = function jalaliToday() {\n var date = new Date();\n var gy = parseInt(date.getFullYear());\n var gm = parseInt(date.getMonth()) + 1;\n var gd = parseInt(date.getDate());\n var jy, days;\n var gdm = [0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334];\n\n if (gy > 1600) {\n jy = 979;\n gy -= 1600;\n } else {\n jy = 0;\n gy -= 621;\n }\n\n var gy2 = gm > 2 ? gy + 1 : gy;\n days = 365 * gy + parseInt((gy2 + 3) / 4) - parseInt((gy2 + 99) / 100) + parseInt((gy2 + 399) / 400) - 80 + gd + gdm[gm - 1];\n jy += 33 * parseInt(days / 12053);\n days %= 12053;\n jy += 4 * parseInt(days / 1461);\n days %= 1461;\n\n if (days > 365) {\n jy += parseInt((days - 1) / 365);\n days = (days - 1) % 365;\n }\n\n var jm = days < 186 ? 1 + parseInt(days / 31) : 7 + parseInt((days - 186) / 30);\n var jd = 1 + (days < 186 ? days % 31 : (days - 186) % 30);\n return {\n year: jy,\n month: jm,\n day: jd\n };\n};\nvar getScrollParent = function getScrollParent(node) {\n if ([\"html\", \"body\", \"#document\"].indexOf((node.nodeName || \"\").toLowerCase()) >= 0) {\n return node.ownerDocument.body;\n }\n\n if (node instanceof HTMLElement) {\n var _window$getComputedSt = window.getComputedStyle(node),\n overflow = _window$getComputedSt.overflow,\n overflowX = _window$getComputedSt.overflowX,\n overflowY = _window$getComputedSt.overflowY;\n\n if (/auto|scroll|overlay/.test(overflow + overflowY + overflowX)) {\n return node;\n }\n }\n\n return getScrollParent(node.parentNode);\n};\nvar getEventTarget = function getEventTarget(event) {\n try {\n if (isFunction(event.composedPath)) {\n return event.composedPath()[0];\n }\n\n return event.target;\n } catch (error) {\n return event.target;\n }\n};\nvar containsDom = function containsDom(parent, event) {\n var path = event.path || event.composedPath && event.composedPath() || false;\n\n if (!path) {\n return parent.outerHTML.indexOf(event.target.outerHTML) > -1;\n }\n\n return path.indexOf(parent) !== -1;\n};\nvar createEvent = function createEvent(name) {\n var e = document.createEvent(\"Event\");\n e.initEvent(name, true, true);\n return e;\n};\nvar triggerEvent = function triggerEvent(elm, event) {\n if (!elm) return;\n elm.dispatchEvent(createEvent(event));\n\n if (event === _constants__WEBPACK_IMPORTED_MODULE_0__.EVENT_CHANGE_INPUT_STR) {\n elm.dispatchEvent(createEvent(\"change\"));\n elm.dispatchEvent(createEvent(\"input\"));\n }\n};\nvar hasPositionFixedParent = function hasPositionFixedParent(elm) {\n var parent = elm;\n var result = false;\n\n while (result === false && parent && parent.style) {\n result = window.getComputedStyle(parent).position === _constants__WEBPACK_IMPORTED_MODULE_0__.STYLE_POSITION_FIXED;\n parent = parent.parentElement;\n }\n\n return result;\n};\n\n//# sourceURL=webpack://@majidh1/jalalidatepicker/./src/utils.js?"); | ||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"isNaN\": function() { return /* binding */ isNaN; },\n/* harmony export */ \"isNumber\": function() { return /* binding */ isNumber; },\n/* harmony export */ \"isUndefined\": function() { return /* binding */ isUndefined; },\n/* harmony export */ \"isFunction\": function() { return /* binding */ isFunction; },\n/* harmony export */ \"isString\": function() { return /* binding */ isString; },\n/* harmony export */ \"clon\": function() { return /* binding */ clon; },\n/* harmony export */ \"isLeapYear\": function() { return /* binding */ isLeapYear; },\n/* harmony export */ \"getDaysInMonth\": function() { return /* binding */ getDaysInMonth; },\n/* harmony export */ \"mod\": function() { return /* binding */ mod; },\n/* harmony export */ \"getDays\": function() { return /* binding */ getDays; },\n/* harmony export */ \"getDiffDays\": function() { return /* binding */ getDiffDays; },\n/* harmony export */ \"getWeekDay\": function() { return /* binding */ getWeekDay; },\n/* harmony export */ \"getYears\": function() { return /* binding */ getYears; },\n/* harmony export */ \"addLeadingZero\": function() { return /* binding */ addLeadingZero; },\n/* harmony export */ \"isPlainObject\": function() { return /* binding */ isPlainObject; },\n/* harmony export */ \"extend\": function() { return /* binding */ extend; },\n/* harmony export */ \"createElement\": function() { return /* binding */ createElement; },\n/* harmony export */ \"addListenerMulti\": function() { return /* binding */ addListenerMulti; },\n/* harmony export */ \"setInnerHTML\": function() { return /* binding */ setInnerHTML; },\n/* harmony export */ \"normalizeMinMaxDate\": function() { return /* binding */ normalizeMinMaxDate; },\n/* harmony export */ \"getValidMonths\": function() { return /* binding */ getValidMonths; },\n/* harmony export */ \"isValidDay\": function() { return /* binding */ isValidDay; },\n/* harmony export */ \"setClassName\": function() { return /* binding */ setClassName; },\n/* harmony export */ \"isValidDateString\": function() { return /* binding */ isValidDateString; },\n/* harmony export */ \"getDateFromString\": function() { return /* binding */ getDateFromString; },\n/* harmony export */ \"getDateToString\": function() { return /* binding */ getDateToString; },\n/* harmony export */ \"jalaliToday\": function() { return /* binding */ jalaliToday; },\n/* harmony export */ \"getScrollParent\": function() { return /* binding */ getScrollParent; },\n/* harmony export */ \"getEventTarget\": function() { return /* binding */ getEventTarget; },\n/* harmony export */ \"containsDom\": function() { return /* binding */ containsDom; },\n/* harmony export */ \"createEvent\": function() { return /* binding */ createEvent; },\n/* harmony export */ \"triggerEvent\": function() { return /* binding */ triggerEvent; },\n/* harmony export */ \"hasPositionFixedParent\": function() { return /* binding */ hasPositionFixedParent; }\n/* harmony export */ });\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./constants */ \"./src/constants.js\");\nvar _this = undefined;\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n\nvar isNaN = Number.isNaN || window.isNaN;\nvar isNumber = function isNumber(value) {\n return typeof value === \"number\" && !isNaN(value);\n};\nvar isUndefined = function isUndefined(value) {\n return typeof value === \"undefined\";\n};\nvar isFunction = function isFunction(value) {\n return typeof value === \"function\";\n};\nvar isString = function isString(value) {\n return typeof value === \"string\";\n};\nvar clon = function clon(a) {\n return JSON.parse(JSON.stringify(a));\n};\nvar isLeapYear = function isLeapYear(year) {\n return ((year - 474) % 2820 + 512) * 682 % 2816 < 682;\n};\nvar getDaysInMonth = function getDaysInMonth(year, month) {\n return [0, 31, 31, 31, 31, 31, 31, 30, 30, 30, 30, 30, isLeapYear(year) ? 30 : 29][month];\n};\nvar mod = function mod(a, b) {\n return window.Math.abs(a - b * window.Math.floor(a / b));\n};\nvar getDays = function getDays(month, day) {\n if (month < 8) return (month - 1) * 31 + day;\n return 6 * 31 + (month - 7) * 30 + day;\n};\nvar getDiffDays = function getDiffDays(year1, month1, day1, year2, month2, day2) {\n var diffDays = getDays(month2, day2) - getDays(month1, day1);\n var y1 = year1 < year2 ? year1 : year2;\n var y2 = year1 < year2 ? year2 : year1;\n\n for (var y = y1; y < y2; y++) {\n if (isLeapYear(y)) diffDays += year1 < year2 ? 366 : -366;else diffDays += year1 < year2 ? 365 : -365;\n }\n\n return diffDays;\n};\nvar getWeekDay = function getWeekDay(year, month, day) {\n return mod(getDiffDays(1392, 3, 25, year, month, day), 7);\n};\nvar getYears = function getYears(month, day) {\n return 6 * 31 + (month - 7) * 30 + day;\n};\nvar addLeadingZero = function addLeadingZero(value) {\n var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 2;\n var str = String(Math.abs(value));\n var i = str.length;\n var result = \"\";\n\n if (value < 0) {\n result += \"-\";\n }\n\n while (i < length) {\n i += 1;\n result += \"0\";\n }\n\n return result + str;\n};\nvar isPlainObject = function isPlainObject(obj) {\n if (!obj || !obj.constructor || obj.nodeType) {\n return false;\n }\n\n try {\n return JSON.stringify(obj) === \"{}\";\n } catch (e) {\n return true;\n }\n};\nvar extend = function extend() {\n var options;\n var src;\n var copy;\n var copyIsArray;\n var clone;\n\n for (var _len = arguments.length, params = new Array(_len), _key = 0; _key < _len; _key++) {\n params[_key] = arguments[_key];\n }\n\n var target = params[0] || {};\n var i = 1;\n var length = params.length;\n var deep = false; // Handle a deep copy situation\n\n if (typeof target === \"boolean\") {\n deep = target; // Skip the boolean and the target\n\n target = params[i] || {};\n i += 1;\n } // Handle case when target is a string or something (possible in deep copy)\n\n\n if (_typeof(target) !== \"object\" && isFunction(target)) {\n target = {};\n } // Extend jQuery itself if only one argument is passed\n\n\n if (i === length) {\n target = _this;\n i -= 1;\n }\n\n for (; i < length; i++) {\n options = params[i]; // Only deal with non-null/undefined values\n\n if (!isUndefined(options) && options !== null) {\n // Extend the base object\n for (var j = 0; j < window.Object.keys(options).length; j++) {\n var name = window.Object.keys(options)[j];\n\n if (Object.prototype.hasOwnProperty.call(options, name)) {\n copy = options[name]; // Prevent Object.prototype pollution\n // Prevent never-ending loop\n\n if (name === \"__proto__\" || target === copy) {\n return true;\n }\n\n copyIsArray = Array.isArray(copy); // Recurse if we're merging plain objects or arrays\n\n if (deep && copy && (isPlainObject(copy) || copyIsArray)) {\n src = target[name]; // Ensure proper type for the source value\n\n if (copyIsArray && !Array.isArray(src)) {\n clone = [];\n } else if (!copyIsArray && !isPlainObject(src)) {\n clone = {};\n } else {\n clone = src;\n } // Never move original objects, clone them\n\n\n target[name] = extend(deep, clone, copy); // Don't bring in undefined values\n } else if (!isUndefined(copy)) {\n target[name] = copy;\n }\n }\n }\n }\n } // Return the modified object\n\n\n return target;\n};\nvar createElement = function createElement(tag, parent, eventNames, event, content) {\n var splits = tag.split(\".\");\n tag = splits.shift() || \"div\";\n var className = splits;\n var element = window.document.createElement(tag);\n\n if (isString(parent)) {\n window.document.querySelector(parent).appendChild(element);\n } else {\n parent.appendChild(element);\n }\n\n if (className.length) {\n element.className = className.join(\" \");\n }\n\n if (eventNames && event) {\n addListenerMulti(element, eventNames, event);\n }\n\n if (!isUndefined(content)) {\n setInnerHTML(element, content);\n }\n\n return element;\n};\nvar addListenerMulti = function addListenerMulti(element, eventNames, listener) {\n var events = eventNames.split(\" \");\n\n for (var i = 0, iLen = events.length; i < iLen; i++) {\n element.addEventListener(events[i], listener, false);\n }\n};\nvar setInnerHTML = function setInnerHTML(element, html) {\n element.innerHTML = html;\n};\nvar normalizeMinMaxDate = function normalizeMinMaxDate(year, month, day, initDate, minDate, maxDate) {\n if (isNaN(year) || year < 1000 || year > 1999) {\n year = initDate.year;\n } else {\n if (year < minDate.year) {\n year = minDate.year;\n } else if (year > maxDate.year) {\n year = maxDate.year;\n }\n }\n\n if (isNaN(month) || month < 1 || month > 12) {\n month = initDate.month;\n } else {\n if (year <= minDate.year && month < minDate.month) {\n month = minDate.month;\n } else if (year >= maxDate.year && month > maxDate.month) {\n month = maxDate.month;\n }\n }\n\n if (isNaN(day) || day < 1) {\n day = initDate.day;\n } else {\n if (month <= minDate.month && day < minDate.day) {\n day = minDate.day;\n } else if (month >= maxDate.month && day > maxDate.day) {\n day = maxDate.day;\n }\n }\n\n return {\n year: parseInt(year),\n month: parseInt(month),\n day: parseInt(day)\n };\n};\nvar getValidMonths = function getValidMonths(initDate, minDate, maxDate) {\n var months = [];\n var start = 1;\n var finish = 12;\n\n if (initDate.year === minDate.year) {\n start = minDate.month;\n\n if (initDate.year === maxDate.year) {\n finish = maxDate.month;\n }\n } else if (initDate.year === maxDate.year) {\n start = 1;\n finish = maxDate.month;\n }\n\n for (var i = start; i <= finish; i++) {\n months.push(i);\n }\n\n return months;\n};\nvar isValidDay = function isValidDay(initDate, day, minDate, maxDate) {\n if (isPlainObject(minDate) && isPlainObject(maxDate)) {\n return true;\n }\n\n if (minDate.year === maxDate.year && minDate.month === maxDate.month) {\n return day >= minDate.day && day <= maxDate.day;\n }\n\n if (initDate.year === minDate.year && initDate.month === minDate.month) {\n return day >= minDate.day;\n }\n\n if (initDate.year === maxDate.year && initDate.month === maxDate.month) {\n return day <= maxDate.day;\n }\n\n return true;\n};\nvar setClassName = function setClassName(element, className) {\n element.className = className;\n};\nvar isValidDateString = function isValidDateString(str, sepChar) {\n if (!str) {\n return false;\n }\n\n var date = str.split(sepChar);\n return date.length === 3 && date[0].length === 4 && date[1].length === 2 && date[2].length === 2;\n};\nvar getDateFromString = function getDateFromString(str, sepChar) {\n var date = str.split(sepChar);\n return {\n year: parseInt(date[0]),\n month: parseInt(date[1]),\n day: parseInt(date[2])\n };\n};\nvar getDateToString = function getDateToString(y, m, d, sepChar) {\n return y + sepChar + addLeadingZero(m) + sepChar + addLeadingZero(d);\n};\nvar jalaliToday = function jalaliToday() {\n var date = new Date();\n var gy = parseInt(date.getFullYear());\n var gm = parseInt(date.getMonth()) + 1;\n var gd = parseInt(date.getDate());\n var jy, days;\n var gdm = [0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334];\n\n if (gy > 1600) {\n jy = 979;\n gy -= 1600;\n } else {\n jy = 0;\n gy -= 621;\n }\n\n var gy2 = gm > 2 ? gy + 1 : gy;\n days = 365 * gy + parseInt((gy2 + 3) / 4) - parseInt((gy2 + 99) / 100) + parseInt((gy2 + 399) / 400) - 80 + gd + gdm[gm - 1];\n jy += 33 * parseInt(days / 12053);\n days %= 12053;\n jy += 4 * parseInt(days / 1461);\n days %= 1461;\n\n if (days > 365) {\n jy += parseInt((days - 1) / 365);\n days = (days - 1) % 365;\n }\n\n var jm = days < 186 ? 1 + parseInt(days / 31) : 7 + parseInt((days - 186) / 30);\n var jd = 1 + (days < 186 ? days % 31 : (days - 186) % 30);\n return {\n year: jy,\n month: jm,\n day: jd\n };\n};\nvar getScrollParent = function getScrollParent(node) {\n if ([\"html\", \"body\", \"#document\"].indexOf((node.nodeName || \"\").toLowerCase()) >= 0) {\n return node.ownerDocument.body;\n }\n\n if (node instanceof HTMLElement) {\n var _window$getComputedSt = window.getComputedStyle(node),\n overflow = _window$getComputedSt.overflow,\n overflowX = _window$getComputedSt.overflowX,\n overflowY = _window$getComputedSt.overflowY;\n\n if (/auto|scroll|overlay/.test(overflow + overflowY + overflowX)) {\n return node;\n }\n }\n\n return getScrollParent(node.parentNode);\n};\nvar getEventTarget = function getEventTarget(event) {\n try {\n if (isFunction(event.composedPath)) {\n return event.composedPath()[0];\n }\n\n return event.target;\n } catch (error) {\n return event.target;\n }\n};\nvar containsDom = function containsDom(parent, event) {\n var path = event.path || event.composedPath && event.composedPath() || false;\n\n if (!path) {\n return parent.outerHTML.indexOf(event.target.outerHTML) > -1;\n }\n\n return path.indexOf(parent) !== -1;\n};\nvar createEvent = function createEvent(name) {\n var e = document.createEvent(\"Event\");\n e.initEvent(name, true, true);\n return e;\n};\nvar triggerEvent = function triggerEvent(elm, event) {\n if (!elm) return;\n elm.dispatchEvent(createEvent(event));\n\n if (event === _constants__WEBPACK_IMPORTED_MODULE_0__.EVENT_CHANGE_INPUT_STR) {\n elm.dispatchEvent(createEvent(\"change\"));\n elm.dispatchEvent(createEvent(\"input\"));\n }\n};\nvar hasPositionFixedParent = function hasPositionFixedParent(elm) {\n var parent = elm;\n var result = false;\n\n while (result === false && parent && parent.style) {\n result = window.getComputedStyle(parent).position === _constants__WEBPACK_IMPORTED_MODULE_0__.STYLE_POSITION_FIXED;\n parent = parent.parentElement;\n }\n\n return result;\n};\n\n//# sourceURL=webpack://@majidh1/jalalidatepicker/./src/utils.js?"); | ||
@@ -63,0 +63,0 @@ /***/ }), |
@@ -1,1 +0,1 @@ | ||
!function(){"use strict";!function(){var t="jdp",n="".concat(t,"-container"),e="div.".concat(t,"-years"),i="div.".concat(t,"-year"),a="div.".concat(t,"-months"),o="div.".concat(t,"-month"),r="div.".concat(t,"-days"),s="div.".concat(t,"-day"),h="div.".concat(t,"-day-name"),c="div.".concat(t,"-icon-plus"),u="div.".concat(t,"-icon-minus"),d="div.".concat(t,"-footer"),p="div.".concat(t,"-btn-today"),y="div.".concat(t,"-btn-empty"),l="not-in-range",m="".concat(t,":change"),f="click",v="focusin",D="today",g="attr",w=("data-".concat(t),"visible"),_="fixed",C=void 0;function b(t){return(b="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}var x=Number.isNaN||window.isNaN,I=function(t){return void 0===t},M=function(t){return"function"==typeof t},E=function(t){return"string"==typeof t},S=function(t){return JSON.parse(JSON.stringify(t))},N=function(t){return 682*((t-474)%2820+512)%2816<682},j=function(t,n){return t<8?31*(t-1)+n:186+30*(t-7)+n},O=function(t,n,e){return i=function(t,n,e,i,a,o){for(var r=j(a,o)-j(n,e),s=t<i?i:t,h=t<i?t:i;h<s;h++)N(h)?r+=t<i?366:-366:r+=t<i?365:-365;return r}(1392,3,25,t,n,e),a=7,window.Math.abs(i-a*window.Math.floor(i/a));var i,a},H=function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:2,e=String(Math.abs(t)),i=e.length,a="";for(t<0&&(a+="-");i<n;)i+=1,a+="0";return a+e},P=function(t){if(!t||!t.constructor||t.nodeType)return!1;try{return"{}"===JSON.stringify(t)}catch(t){return!0}},Y=function t(){for(var n,e,i,a,o,r=arguments.length,s=new Array(r),h=0;h<r;h++)s[h]=arguments[h];var c=s[0]||{},u=1,d=s.length,p=!1;for("boolean"==typeof c&&(p=c,c=s[u]||{},u+=1),"object"!==b(c)&&M(c)&&(c={}),u===d&&(c=C,u-=1);u<d;u++)if(n=s[u],!I(n)&&null!==n)for(var y=0;y<window.Object.keys(n).length;y++){var l=window.Object.keys(n)[y];if(Object.prototype.hasOwnProperty.call(n,l)){if(i=n[l],"__proto__"===l||c===i)return!0;a=Array.isArray(i),p&&i&&(P(i)||a)?(e=c[l],o=a&&!Array.isArray(e)?[]:a||P(e)?e:{},c[l]=t(p,o,i)):I(i)||(c[l]=i)}}return c},k=function(t,n,e,i,a){var o=t.split(".");t=o.shift()||"div";var r=o,s=window.document.createElement(t);return E(n)?window.document.querySelector(n).appendChild(s):n.appendChild(s),r.length&&(s.className=r.join(" ")),e&&i&&L(s,e,i),I(a)||z(s,a),s},L=function(t,n,e){for(var i=n.split(" "),a=0,o=i.length;a<o;a++)t.addEventListener(i[a],e,!1)},z=function(t,n){t.innerHTML=n},B=function(t,n,e,i,a,o){return x(t)||t<1e3||t>1e4?t=i.year:t<a.year?t=a.year:t>o.year&&(t=o.year),x(n)||n<1||n>12?n=i.month:t<=a.year&&n<a.month?n=a.month:t>=o.year&&n>o.month&&(n=o.month),x(e)||e<1?e=i.day:n<=a.month&&e<a.day?e=a.day:n>=o.month&&e>o.day&&(e=o.day),{year:parseInt(t),month:parseInt(n),day:parseInt(e)}},T=function(t,n){if(!t)return!1;var e=t.split(n);return 3===e.length&&4===e[0].length&&2===e[1].length&&2===e[2].length},A=function(t,n){var e=t.split(n);return{year:parseInt(e[0]),month:parseInt(e[1]),day:parseInt(e[2])}},W=function t(n){if(["html","body","#document"].indexOf((n.nodeName||"").toLowerCase())>=0)return n.ownerDocument.body;if(n instanceof HTMLElement){var e=window.getComputedStyle(n),i=e.overflow,a=e.overflowX,o=e.overflowY;if(/auto|scroll|overlay/.test(i+o+a))return n}return t(n.parentNode)},R=function(t){var n=document.createEvent("Event");return n.initEvent(t,!0,!0),n},V=function(t){return 6===t?".".concat("last-week"):""},J=function(t,n){k(c+(n?Q.options.maxDate.year===Q.initDate.year?".".concat(l):"":Q.options.maxDate.year===Q.initDate.year&&Q.options.maxDate.month===Q.initDate.month?".".concat(l):""),t,f,n?function(){Q.increaseYear()}:function(){Q.increaseMonth()},Q.options.plusHtml)},q=function(t,n){k(u+(n?Q.options.minDate.year===Q.initDate.year?".".concat(l):"":Q.options.minDate.year===Q.initDate.year&&Q.options.minDate.month===Q.initDate.month?".".concat(l):""),t,f,n?function(){Q.decreaseYear()}:function(){Q.decreaseMonth()},Q.options.minusHtml)},F=function(){var t=k(e,Q.dpContainer);J(t,!0);var n=k(i,t);q(t,!0);var a=k("input",n,"keyup change",(function(t){Q.yearChange(t.target.value)}));a.tabIndex=-1,a.value=Q.initDate.year,a.type="number"},X=function(){var t=k(a,Q.dpContainer);J(t,!1);var n=k(o,t);q(t,!1);var e=k("select",n,"change",(function(t){Q.monthChange(t.target.value)}));e.tabIndex=-1;for(var i=function(t,n,e){var i=[],a=1,o=12;t.year===n.year?(a=n.month,t.year===e.year&&(o=e.month)):t.year===e.year&&(a=1,o=e.month);for(var r=a;r<=o;r++)i.push(r);return i}(Q.initDate,Q.options.minDate,Q.options.maxDate),r=Q.options.months,s=0;s<i.length;s++){var h=k("option",e);h.value=i[s],h.text=r[i[s]-1],h.selected=i[s]===Q.initDate.month}},G=function(){for(var t=k(r,Q.dpContainer),n=0;n<7;n++)k(h+V(n),t,null,null,Q.options.days[n]);for(var e,i,a=(e=Q.initDate.year,i=Q.initDate.month,[0,31,31,31,31,31,31,30,30,30,30,30,N(e)?30:29][i]),o=O(Q.initDate.year,Q.initDate.month,1),c=7*Math.ceil((o+a)/7)-1,u=1,d=function(n){var e,i,o,r,h=O(Q.initDate.year,Q.initDate.month,u),c=(e=Q.initDate,i=u,o=Q.options.minDate,r=Q.options.maxDate,!(!P(o)||!P(r))||(o.year===r.year&&o.month===r.month?i>=o.day&&i<=r.day:e.year===o.year&&e.month===o.month?i>=o.day:e.year!==r.year||e.month!==r.month||i<=r.day));if(u<=h&&n<h||u>a)return k(s,t),"continue";if(!c)return k(s,t),u+=1,"continue";var d=V(h);Q.valueDate.day===u&&Q.valueDate.year===Q.initDate.year&&Q.valueDate.month===Q.initDate.month&&(d+=".".concat("selected")),Q.today.day===u&&Q.today.year===Q.initDate.year&&Q.today.month===Q.initDate.month&&(d+=".".concat("today"));var p=k(s+d,t,null,null,u);p.day=u,p.addEventListener(f,(function(){Q.setValue(Q.initDate.year,Q.initDate.month,p.day)})),u+=1},p=0;p<=c;p++)d(p)},K=function(){var t=k(d,Q.dpContainer);Q.options.showTodayBtn&&k(p,t,f,(function(){Q.setValue(Q.today.year,Q.today.month,Q.today.day)}),"امروز"),Q.options.showEmptyBtn&&k(y,t,f,(function(){Q.setValue()}),"خالی")},Q=null;var U={days:["ش","ی","د","س","چ","پ","ج"],months:["فروردین","اردیبهشت","خرداد","تیر","مرداد","شهریور","مهر","آبان","آذر","دی","بهمن","اسفند"],initDate:null,minDate:{},maxDate:{},separatorChar:"/",zIndex:1e3,container:"body",dpContainer:null,selector:"input[data-jdp]",autoShow:!0,autoHide:!0,plusHtml:'<svg viewBox="0 0 1024 1024"><g><path d="M810 554h-256v256h-84v-256h-256v-84h256v-256h84v256h256v84z"></path></g></svg>',minusHtml:'<svg viewBox="0 0 1024 1024"><g><path d="M810 554h-596v-84h596v84z"></path></g></svg>',changeMonthRotateYear:!1,showTodayBtn:!0,showEmptyBtn:!0},Z={init:function(t){var n;this.options=Y(U,t),this.options=tt(this.options),window.onresize=et,this.options.autoHide&&(document.body.onclick=nt),this.options.autoShow&&(n=this.options.selector,Element.prototype.matches=Element.prototype.matchesSelector||Element.prototype.mozMatchesSelector||Element.prototype.msMatchesSelector||Element.prototype.oMatchesSelector||Element.prototype.webkitMatchesSelector,document.body.addEventListener(v,(function(t){t.target&&t.target.matches(n)&&Z.show(t.target)})))},options:U,input:null,get dpContainer(){return this._dpContainer=this._dpContainer||k(n,this.options.container),this._dpContainer},get today(){return this._today=this._today||function(){var t,n,e=new Date,i=parseInt(e.getFullYear()),a=parseInt(e.getMonth())+1,o=parseInt(e.getDate());i>1600?(t=979,i-=1600):(t=0,i-=621);var r=a>2?i+1:i;return n=365*i+parseInt((r+3)/4)-parseInt((r+99)/100)+parseInt((r+399)/400)-80+o+[0,31,59,90,120,151,181,212,243,273,304,334][a-1],t+=33*parseInt(n/12053),n%=12053,t+=4*parseInt(n/1461),(n%=1461)>365&&(t+=parseInt((n-1)/365),n=(n-1)%365),{year:t,month:n<186?1+parseInt(n/31):7+parseInt((n-186)/30),day:1+(n<186?n%31:(n-186)%30)}}(),this._today},get valueDate(){return this._valueDate=S(this.input.value),E(this._valueDate)&&(T(this._valueDate,this.options.separatorChar)?this._valueDate=A(this._valueDate,this.options.separatorChar):this._valueDate={}),this._valueDate},get initDate(){return this._initDate=this._initDate||S(this.valueDate),P(this._initDate)&&(this._initDate=this.options.initDate||S(this.today)),E(this._initDate)&&T(this._initDate,this.options.separatorChar)&&(this._initDate=A(this._initDate,this.options.separatorChar)),B(this._initDate.year,this._initDate.month,this._initDate.day,this._initDate,this.options.minDate,this.options.maxDate)},_draw:function(){z((Q=this).dpContainer,""),F(),X(),G(),K()},show:function(t){this._initDate=null,this._valueDate=null,this.input=t,this._draw(),this.dpContainer.style.visibility=w,this.dpContainer.style.display="block",this.dpContainer.style.zIndex=this.options.zIndex,this.setPosition(),function(t){W(t).addEventListener("scroll",(function(){Z.setPosition()}),{passive:!0})}(t)},hide:function(){this.dpContainer.style.visibility="hidden",this.dpContainer.style.display="none"},setPosition:function(){if(this.dpContainer.style.visibility===w){var t=this.input.getBoundingClientRect(),n=t.left,e=t.top;n+this.dpContainer.offsetWidth>=window.document.body.offsetWidth&&(n-=n+this.dpContainer.offsetWidth-(window.document.body.offsetWidth+10)),this.dpContainer.style.position=function(t){for(var n=t,e=!1;!1===e&&n&&n.style;)e=window.getComputedStyle(n).position===_,n=n.parentElement;return e}(this.input)?_:"absolute",this.dpContainer.style.left=n+"px",this.dpContainer.style.top=e+this.input.offsetHeight+"px"}},setValue:function(t,n,e){var i,a,o,r,s,h;this._valueDate.year=t,this._valueDate.month=n,this._valueDate.day=e,this.hide(),isNaN(t+n+e)?this.input.value="":this.input.value=(i=t,a=n,o=e,r=this.options.separatorChar,i+r+H(a)+r+H(o)),s=this.input,h=m,s&&(s.dispatchEvent(R(h)),h===m&&(s.dispatchEvent(R("change")),s.dispatchEvent(R("input"))))},increaseMonth:function(){this.options.changeMonthRotateYear&&12===this._initDate.month&&this.increaseYear(),this.monthChange(12===this._initDate.month?1:this._initDate.month+1)},decreaseMonth:function(){this.options.changeMonthRotateYear&&1===this._initDate.month&&this.decreaseYear(),this.monthChange(1===this._initDate.month?12:this._initDate.month-1)},monthChange:function(t){this._initDate=B(this._initDate.year,t,this._initDate.day,this._initDate,this.options.minDate,this.options.maxDate),this._draw()},increaseYear:function(){this.yearChange(this._initDate.year+1)},decreaseYear:function(){this.yearChange(this._initDate.year-1)},yearChange:function(t){this._initDate=B(t,this._initDate.month,this._initDate.day,this._initDate,this.options.minDate,this.options.maxDate),this._draw()}},$=function(t,n){var e=Z.input.getAttribute(t);return e=e===D?S(Z.today):E(e)&&T(e,n)?A(e,n):{}},tt=function(t){return t.minDate===D&&(t.minDate=S(Z.today)),t.maxDate===D&&(t.maxDate=S(Z.today)),t.minDate===g&&(delete t.minDate,window.Object.defineProperty(t,"minDate",{get:function(){return $("data-jdp-min-date",t.separatorChar)}})),t.maxDate===g&&(delete t.maxDate,window.Object.defineProperty(t,"maxDate",{get:function(){return $("data-jdp-max-date",t.separatorChar)}})),t};function nt(t){var n,e,i;Z.dpContainer.style.visibility!==w||(n=Z.dpContainer,(i=(e=t).path||e.composedPath&&e.composedPath()||!1)?-1!==i.indexOf(n):n.outerHTML.indexOf(e.target.outerHTML)>-1)||function(t){try{return M(t.composedPath)?t.composedPath()[0]:t.target}catch(n){return t.target}}(t)===Z.input||Z.hide()}function et(){Z.setPosition()}window.jalaliDatepicker={startWatch:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};Z.init(t)},show:function(t){Z.show(t)},hide:function(){Z.hide()}}}()}(); | ||
!function(){"use strict";!function(){var t="jdp",n="".concat(t,"-container"),e="div.".concat(t,"-years"),i="div.".concat(t,"-year"),a="div.".concat(t,"-months"),o="div.".concat(t,"-month"),r="div.".concat(t,"-days"),s="div.".concat(t,"-day"),h="div.".concat(t,"-day-name"),c="div.".concat(t,"-icon-plus"),u="div.".concat(t,"-icon-minus"),d="div.".concat(t,"-footer"),p="div.".concat(t,"-btn-today"),y="div.".concat(t,"-btn-empty"),l="not-in-range",f="".concat(t,":change"),m="click",v="focusin",D="today",g="attr",w=("data-".concat(t),"visible"),_="fixed",C=void 0;function b(t){return(b="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}var x=Number.isNaN||window.isNaN,I=function(t){return void 0===t},M=function(t){return"function"==typeof t},E=function(t){return"string"==typeof t},S=function(t){return JSON.parse(JSON.stringify(t))},N=function(t){return 682*((t-474)%2820+512)%2816<682},j=function(t,n){return t<8?31*(t-1)+n:186+30*(t-7)+n},O=function(t,n,e){return i=function(t,n,e,i,a,o){for(var r=j(a,o)-j(n,e),s=t<i?i:t,h=t<i?t:i;h<s;h++)N(h)?r+=t<i?366:-366:r+=t<i?365:-365;return r}(1392,3,25,t,n,e),a=7,window.Math.abs(i-a*window.Math.floor(i/a));var i,a},H=function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:2,e=String(Math.abs(t)),i=e.length,a="";for(t<0&&(a+="-");i<n;)i+=1,a+="0";return a+e},P=function(t){if(!t||!t.constructor||t.nodeType)return!1;try{return"{}"===JSON.stringify(t)}catch(t){return!0}},Y=function t(){for(var n,e,i,a,o,r=arguments.length,s=new Array(r),h=0;h<r;h++)s[h]=arguments[h];var c=s[0]||{},u=1,d=s.length,p=!1;for("boolean"==typeof c&&(p=c,c=s[u]||{},u+=1),"object"!==b(c)&&M(c)&&(c={}),u===d&&(c=C,u-=1);u<d;u++)if(n=s[u],!I(n)&&null!==n)for(var y=0;y<window.Object.keys(n).length;y++){var l=window.Object.keys(n)[y];if(Object.prototype.hasOwnProperty.call(n,l)){if(i=n[l],"__proto__"===l||c===i)return!0;a=Array.isArray(i),p&&i&&(P(i)||a)?(e=c[l],o=a&&!Array.isArray(e)?[]:a||P(e)?e:{},c[l]=t(p,o,i)):I(i)||(c[l]=i)}}return c},k=function(t,n,e,i,a){var o=t.split(".");t=o.shift()||"div";var r=o,s=window.document.createElement(t);return E(n)?window.document.querySelector(n).appendChild(s):n.appendChild(s),r.length&&(s.className=r.join(" ")),e&&i&&L(s,e,i),I(a)||z(s,a),s},L=function(t,n,e){for(var i=n.split(" "),a=0,o=i.length;a<o;a++)t.addEventListener(i[a],e,!1)},z=function(t,n){t.innerHTML=n},B=function(t,n,e,i,a,o){return x(t)||t<1e3||t>1999?t=i.year:t<a.year?t=a.year:t>o.year&&(t=o.year),x(n)||n<1||n>12?n=i.month:t<=a.year&&n<a.month?n=a.month:t>=o.year&&n>o.month&&(n=o.month),x(e)||e<1?e=i.day:n<=a.month&&e<a.day?e=a.day:n>=o.month&&e>o.day&&(e=o.day),{year:parseInt(t),month:parseInt(n),day:parseInt(e)}},T=function(t,n){if(!t)return!1;var e=t.split(n);return 3===e.length&&4===e[0].length&&2===e[1].length&&2===e[2].length},A=function(t,n){var e=t.split(n);return{year:parseInt(e[0]),month:parseInt(e[1]),day:parseInt(e[2])}},W=function t(n){if(["html","body","#document"].indexOf((n.nodeName||"").toLowerCase())>=0)return n.ownerDocument.body;if(n instanceof HTMLElement){var e=window.getComputedStyle(n),i=e.overflow,a=e.overflowX,o=e.overflowY;if(/auto|scroll|overlay/.test(i+o+a))return n}return t(n.parentNode)},R=function(t){var n=document.createEvent("Event");return n.initEvent(t,!0,!0),n},V=function(t){return 6===t?".".concat("last-week"):""},J=function(t,n){k(c+(n?Q.options.maxDate.year===Q.initDate.year?".".concat(l):"":Q.options.maxDate.year===Q.initDate.year&&Q.options.maxDate.month===Q.initDate.month?".".concat(l):""),t,m,n?function(){Q.increaseYear()}:function(){Q.increaseMonth()},Q.options.plusHtml)},q=function(t,n){k(u+(n?Q.options.minDate.year===Q.initDate.year?".".concat(l):"":Q.options.minDate.year===Q.initDate.year&&Q.options.minDate.month===Q.initDate.month?".".concat(l):""),t,m,n?function(){Q.decreaseYear()}:function(){Q.decreaseMonth()},Q.options.minusHtml)},F=function(){var t=k(e,Q.dpContainer);J(t,!0);var n=k(i,t);q(t,!0);var a=k("input",n,"keyup change",(function(t){Q.yearChange(t.target.value)}));a.tabIndex=-1,a.value=Q.initDate.year,a.type="number"},X=function(){var t=k(a,Q.dpContainer);J(t,!1);var n=k(o,t);q(t,!1);var e=k("select",n,"change",(function(t){Q.monthChange(t.target.value)}));e.tabIndex=-1;for(var i=function(t,n,e){var i=[],a=1,o=12;t.year===n.year?(a=n.month,t.year===e.year&&(o=e.month)):t.year===e.year&&(a=1,o=e.month);for(var r=a;r<=o;r++)i.push(r);return i}(Q.initDate,Q.options.minDate,Q.options.maxDate),r=Q.options.months,s=0;s<i.length;s++){var h=k("option",e);h.value=i[s],h.text=r[i[s]-1],h.selected=i[s]===Q.initDate.month}},G=function(){for(var t=k(r,Q.dpContainer),n=0;n<7;n++)k(h+V(n),t,null,null,Q.options.days[n]);for(var e,i,a=(e=Q.initDate.year,i=Q.initDate.month,[0,31,31,31,31,31,31,30,30,30,30,30,N(e)?30:29][i]),o=O(Q.initDate.year,Q.initDate.month,1),c=7*Math.ceil((o+a)/7)-1,u=1,d=function(n){var e,i,o,r,h=O(Q.initDate.year,Q.initDate.month,u),c=(e=Q.initDate,i=u,o=Q.options.minDate,r=Q.options.maxDate,!(!P(o)||!P(r))||(o.year===r.year&&o.month===r.month?i>=o.day&&i<=r.day:e.year===o.year&&e.month===o.month?i>=o.day:e.year!==r.year||e.month!==r.month||i<=r.day));if(u<=h&&n<h||u>a)return k(s,t),"continue";if(!c)return k(s,t),u+=1,"continue";var d=V(h);Q.valueDate.day===u&&Q.valueDate.year===Q.initDate.year&&Q.valueDate.month===Q.initDate.month&&(d+=".".concat("selected")),Q.today.day===u&&Q.today.year===Q.initDate.year&&Q.today.month===Q.initDate.month&&(d+=".".concat("today"));var p=k(s+d,t,null,null,u);p.day=u,p.addEventListener(m,(function(){Q.setValue(Q.initDate.year,Q.initDate.month,p.day)})),u+=1},p=0;p<=c;p++)d(p)},K=function(){var t=k(d,Q.dpContainer);Q.options.showTodayBtn&&k(p,t,m,(function(){Q.setValue(Q.today.year,Q.today.month,Q.today.day)}),"امروز"),Q.options.showEmptyBtn&&k(y,t,m,(function(){Q.setValue()}),"خالی")},Q=null;var U={days:["ش","ی","د","س","چ","پ","ج"],months:["فروردین","اردیبهشت","خرداد","تیر","مرداد","شهریور","مهر","آبان","آذر","دی","بهمن","اسفند"],initDate:null,minDate:{},maxDate:{},separatorChar:"/",zIndex:1e3,container:"body",dpContainer:null,selector:"input[data-jdp]",autoShow:!0,autoHide:!0,plusHtml:'<svg viewBox="0 0 1024 1024"><g><path d="M810 554h-256v256h-84v-256h-256v-84h256v-256h84v256h256v84z"></path></g></svg>',minusHtml:'<svg viewBox="0 0 1024 1024"><g><path d="M810 554h-596v-84h596v84z"></path></g></svg>',changeMonthRotateYear:!1,showTodayBtn:!0,showEmptyBtn:!0},Z={init:function(t){var n;this.options=Y(U,t),this.options=tt(this.options),window.onresize=et,this.options.autoHide&&(document.body.onclick=nt),this.options.autoShow&&(n=this.options.selector,Element.prototype.matches=Element.prototype.matchesSelector||Element.prototype.mozMatchesSelector||Element.prototype.msMatchesSelector||Element.prototype.oMatchesSelector||Element.prototype.webkitMatchesSelector,document.body.addEventListener(v,(function(t){t.target&&t.target.matches(n)&&Z.show(t.target)})))},options:U,input:null,get dpContainer(){return this._dpContainer=this._dpContainer||k(n,this.options.container),this._dpContainer},get today(){return this._today=this._today||function(){var t,n,e=new Date,i=parseInt(e.getFullYear()),a=parseInt(e.getMonth())+1,o=parseInt(e.getDate());i>1600?(t=979,i-=1600):(t=0,i-=621);var r=a>2?i+1:i;return n=365*i+parseInt((r+3)/4)-parseInt((r+99)/100)+parseInt((r+399)/400)-80+o+[0,31,59,90,120,151,181,212,243,273,304,334][a-1],t+=33*parseInt(n/12053),n%=12053,t+=4*parseInt(n/1461),(n%=1461)>365&&(t+=parseInt((n-1)/365),n=(n-1)%365),{year:t,month:n<186?1+parseInt(n/31):7+parseInt((n-186)/30),day:1+(n<186?n%31:(n-186)%30)}}(),this._today},get valueDate(){return this._valueDate=S(this.input.value),E(this._valueDate)&&(T(this._valueDate,this.options.separatorChar)?this._valueDate=A(this._valueDate,this.options.separatorChar):this._valueDate={}),this._valueDate},get initDate(){return this._initDate=this._initDate||S(this.valueDate),P(this._initDate)&&(this._initDate=this.options.initDate||S(this.today)),E(this._initDate)&&T(this._initDate,this.options.separatorChar)&&(this._initDate=A(this._initDate,this.options.separatorChar)),B(this._initDate.year,this._initDate.month,this._initDate.day,this._initDate,this.options.minDate,this.options.maxDate)},_draw:function(){z((Q=this).dpContainer,""),F(),X(),G(),K()},show:function(t){this._initDate=null,this._valueDate=null,this.input=t,this._draw(),this.dpContainer.style.visibility=w,this.dpContainer.style.display="block",this.dpContainer.style.zIndex=this.options.zIndex,this.setPosition(),function(t){W(t).addEventListener("scroll",(function(){Z.setPosition()}),{passive:!0})}(t)},hide:function(){this.dpContainer.style.visibility="hidden",this.dpContainer.style.display="none"},setPosition:function(){if(this.dpContainer.style.visibility===w){var t=this.input.getBoundingClientRect(),n=t.left,e=t.top;n+this.dpContainer.offsetWidth>=window.document.body.offsetWidth&&(n-=n+this.dpContainer.offsetWidth-(window.document.body.offsetWidth+10)),this.dpContainer.style.position=function(t){for(var n=t,e=!1;!1===e&&n&&n.style;)e=window.getComputedStyle(n).position===_,n=n.parentElement;return e}(this.input)?_:"absolute",this.dpContainer.style.left=n+"px",this.dpContainer.style.top=e+this.input.offsetHeight+"px"}},setValue:function(t,n,e){var i,a,o,r,s,h;this._valueDate.year=t,this._valueDate.month=n,this._valueDate.day=e,this.hide(),isNaN(t+n+e)?this.input.value="":this.input.value=(i=t,a=n,o=e,r=this.options.separatorChar,i+r+H(a)+r+H(o)),s=this.input,h=f,s&&(s.dispatchEvent(R(h)),h===f&&(s.dispatchEvent(R("change")),s.dispatchEvent(R("input"))))},increaseMonth:function(){var t=12===this._initDate.month;this.options.changeMonthRotateYear&&t&&this.increaseYear(),this.monthChange(t?1:this._initDate.month+1)},decreaseMonth:function(){var t=1===this._initDate.month;this.options.changeMonthRotateYear&&t&&this.decreaseYear(),this.monthChange(t?12:this._initDate.month-1)},monthChange:function(t){this._initDate=B(this._initDate.year,t,this._initDate.day,this._initDate,this.options.minDate,this.options.maxDate),this._draw()},increaseYear:function(){this.yearChange(this._initDate.year+1)},decreaseYear:function(){this.yearChange(this._initDate.year-1)},yearChange:function(t){this._initDate=B(t,this._initDate.month,this._initDate.day,this._initDate,this.options.minDate,this.options.maxDate),this._draw()}},$=function(t,n){var e=Z.input.getAttribute(t);return e=e===D?S(Z.today):E(e)&&T(e,n)?A(e,n):{}},tt=function(t){return t.minDate===D&&(t.minDate=S(Z.today)),t.maxDate===D&&(t.maxDate=S(Z.today)),t.minDate===g&&(delete t.minDate,window.Object.defineProperty(t,"minDate",{get:function(){return $("data-jdp-min-date",t.separatorChar)}})),t.maxDate===g&&(delete t.maxDate,window.Object.defineProperty(t,"maxDate",{get:function(){return $("data-jdp-max-date",t.separatorChar)}})),t};function nt(t){var n,e,i;Z.dpContainer.style.visibility!==w||(n=Z.dpContainer,(i=(e=t).path||e.composedPath&&e.composedPath()||!1)?-1!==i.indexOf(n):n.outerHTML.indexOf(e.target.outerHTML)>-1)||function(t){try{return M(t.composedPath)?t.composedPath()[0]:t.target}catch(n){return t.target}}(t)===Z.input||Z.hide()}function et(){Z.setPosition()}window.jalaliDatepicker={startWatch:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};Z.init(t)},show:function(t){Z.show(t)},hide:function(){Z.hide()}}}()}(); |
@@ -9,3 +9,3 @@ { | ||
"main": "dist/jalaliDatepicker.min.js", | ||
"version": "0.2.4", | ||
"version": "0.2.5", | ||
"keywords": [ | ||
@@ -12,0 +12,0 @@ "date", |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
73147
456