Files
shahrzadzandi09/public/assets/js/bs-datepicker.js
T

145 lines
46 KiB
JavaScript

/*
* ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development").
* This devtool is neither made for production nor for readable output files.
* It uses "eval()" calls to create a separate source file in the browser devtools.
* If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
* or disable the default devtool with "devtool: false".
* If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
*/
/******/ (function() { // webpackBootstrap
/******/ "use strict";
/******/ var __webpack_modules__ = ({
/***/ "./src/constants.js":
/*!**************************!*\
!*** ./src/constants.js ***!
\**************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"NAMESPACE\": function() { return /* binding */ NAMESPACE; },\n/* harmony export */ \"CONTAINER_ELM_QUERY\": function() { return /* binding */ CONTAINER_ELM_QUERY; },\n/* harmony export */ \"YEARS_ELM_QUERY\": function() { return /* binding */ YEARS_ELM_QUERY; },\n/* harmony export */ \"YEAR_ELM_QUERY\": function() { return /* binding */ YEAR_ELM_QUERY; },\n/* harmony export */ \"MONTHS_ELM_QUERY\": function() { return /* binding */ MONTHS_ELM_QUERY; },\n/* harmony export */ \"MONTH_ELM_QUERY\": function() { return /* binding */ MONTH_ELM_QUERY; },\n/* harmony export */ \"DAYS_ELM_QUERY\": function() { return /* binding */ DAYS_ELM_QUERY; },\n/* harmony export */ \"DAY_ELM_QUERY\": function() { return /* binding */ DAY_ELM_QUERY; },\n/* harmony export */ \"DAY_NAME_ELM_QUERY\": function() { return /* binding */ DAY_NAME_ELM_QUERY; },\n/* harmony export */ \"PLUS_ICON_ELM_QUERY\": function() { return /* binding */ PLUS_ICON_ELM_QUERY; },\n/* harmony export */ \"MINUS_ICON_ELM_QUERY\": function() { return /* binding */ MINUS_ICON_ELM_QUERY; },\n/* harmony export */ \"FOOTER_ELM_QUERY\": function() { return /* binding */ FOOTER_ELM_QUERY; },\n/* harmony export */ \"TODAY_BTN_ELM_QUERY\": function() { return /* binding */ TODAY_BTN_ELM_QUERY; },\n/* harmony export */ \"EMPTY_BTN_ELM_QUERY\": function() { return /* binding */ EMPTY_BTN_ELM_QUERY; },\n/* harmony export */ \"SELECTED_CLASS_NAME\": function() { return /* binding */ SELECTED_CLASS_NAME; },\n/* harmony export */ \"TODAY_CLASS_NAME\": function() { return /* binding */ TODAY_CLASS_NAME; },\n/* harmony export */ \"LAST_WEEK_CLASS_NAME\": function() { return /* binding */ LAST_WEEK_CLASS_NAME; },\n/* harmony export */ \"DISABLE_CLASS_NAME\": function() { return /* binding */ DISABLE_CLASS_NAME; },\n/* harmony export */ \"EVENT_CHANGE_INPUT_STR\": function() { return /* binding */ EVENT_CHANGE_INPUT_STR; },\n/* harmony export */ \"EVENT_CHANGE_MONTH_DROPDOWN_STR\": function() { return /* binding */ EVENT_CHANGE_MONTH_DROPDOWN_STR; },\n/* harmony export */ \"EVENT_CHANGE_YEAR_INPUT_STR\": function() { return /* binding */ EVENT_CHANGE_YEAR_INPUT_STR; },\n/* harmony export */ \"EVENT_CLICK_STR\": function() { return /* binding */ EVENT_CLICK_STR; },\n/* harmony export */ \"EVENT_FOCUS_STR\": function() { return /* binding */ EVENT_FOCUS_STR; },\n/* harmony export */ \"MIN_MAX_TODAY_SETTING\": function() { return /* binding */ MIN_MAX_TODAY_SETTING; },\n/* harmony export */ \"MIN_MAX_ATTR_SETTING\": function() { return /* binding */ MIN_MAX_ATTR_SETTING; },\n/* harmony export */ \"MIN_MAX_ATTR_SETTING_MAX_ATTR_NAME\": function() { return /* binding */ MIN_MAX_ATTR_SETTING_MAX_ATTR_NAME; },\n/* harmony export */ \"MIN_MAX_ATTR_SETTING_MIN_ATTR_NAME\": function() { return /* binding */ MIN_MAX_ATTR_SETTING_MIN_ATTR_NAME; },\n/* harmony export */ \"DATA_ATTR\": function() { return /* binding */ DATA_ATTR; },\n/* harmony export */ \"STYLE_VISIBILITY_VISIBLE\": function() { return /* binding */ STYLE_VISIBILITY_VISIBLE; },\n/* harmony export */ \"STYLE_VISIBILITY_HIDDEN\": function() { return /* binding */ STYLE_VISIBILITY_HIDDEN; },\n/* harmony export */ \"STYLE_DISPLAY_BLOCK\": function() { return /* binding */ STYLE_DISPLAY_BLOCK; },\n/* harmony export */ \"STYLE_DISPLAY_HIDDEN\": function() { return /* binding */ STYLE_DISPLAY_HIDDEN; },\n/* harmony export */ \"STYLE_POSITION_FIXED\": function() { return /* binding */ STYLE_POSITION_FIXED; }\n/* harmony export */ });\nvar NAMESPACE = \"jdp\";\nvar CONTAINER_ELM_QUERY = \"\".concat(NAMESPACE, \"-container\");\nvar YEARS_ELM_QUERY = \"div.\".concat(NAMESPACE, \"-years\");\nvar YEAR_ELM_QUERY = \"div.\".concat(NAMESPACE, \"-year\");\nvar MONTHS_ELM_QUERY = \"div.\".concat(NAMESPACE, \"-months\");\nvar MONTH_ELM_QUERY = \"div.\".concat(NAMESPACE, \"-month\");\nvar DAYS_ELM_QUERY = \"div.\".concat(NAMESPACE, \"-days\");\nvar DAY_ELM_QUERY = \"div.\".concat(NAMESPACE, \"-day\");\nvar DAY_NAME_ELM_QUERY = \"div.\".concat(NAMESPACE, \"-day-name\");\nvar PLUS_ICON_ELM_QUERY = \"div.\".concat(NAMESPACE, \"-icon-plus\");\nvar MINUS_ICON_ELM_QUERY = \"div.\".concat(NAMESPACE, \"-icon-minus\");\nvar FOOTER_ELM_QUERY = \"div.\".concat(NAMESPACE, \"-footer\");\nvar TODAY_BTN_ELM_QUERY = \"div.\".concat(NAMESPACE, \"-btn-today\");\nvar EMPTY_BTN_ELM_QUERY = \"div.\".concat(NAMESPACE, \"-btn-empty\");\nvar SELECTED_CLASS_NAME = \"selected\";\nvar TODAY_CLASS_NAME = \"today\";\nvar LAST_WEEK_CLASS_NAME = \"last-week\";\nvar DISABLE_CLASS_NAME = \"not-in-range\";\nvar EVENT_CHANGE_INPUT_STR = \"\".concat(NAMESPACE, \":change\");\nvar EVENT_CHANGE_MONTH_DROPDOWN_STR = \"change\";\nvar EVENT_CHANGE_YEAR_INPUT_STR = \"keyup change\";\nvar EVENT_CLICK_STR = \"click\";\nvar EVENT_FOCUS_STR = \"focusin\";\nvar MIN_MAX_TODAY_SETTING = \"today\";\nvar MIN_MAX_ATTR_SETTING = \"attr\";\nvar MIN_MAX_ATTR_SETTING_MAX_ATTR_NAME = \"data-jdp-max-date\";\nvar MIN_MAX_ATTR_SETTING_MIN_ATTR_NAME = \"data-jdp-min-date\";\nvar DATA_ATTR = \"data-\".concat(NAMESPACE);\nvar STYLE_VISIBILITY_VISIBLE = \"visible\";\nvar STYLE_VISIBILITY_HIDDEN = \"hidden\";\nvar STYLE_DISPLAY_BLOCK = \"block\";\nvar STYLE_DISPLAY_HIDDEN = \"none\";\nvar STYLE_POSITION_FIXED = \"fixed\";\n\n//# sourceURL=webpack://@majidh1/jalalidatepicker/./src/constants.js?");
/***/ }),
/***/ "./src/defaults.js":
/*!*************************!*\
!*** ./src/defaults.js ***!
\*************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
eval("__webpack_require__.r(__webpack_exports__);\nvar _window$navigator, _window$navigator$use;\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n days: [\"ش\", \"ی\", \"د\", \"س\", \"چ\", \"پ\", \"ج\"],\n months: [\"فروردین\", \"اردیبهشت\", \"خرداد\", \"تیر\", \"مرداد\", \"شهریور\", \"مهر\", \"آبان\", \"آذر\", \"دی\", \"بهمن\", \"اسفند\"],\n initDate: null,\n //sample {year:1399,month:11,day:29} || today || attr\n minDate: {},\n //sample {year:1400,month:11,day:29} || today || attr\n maxDate: {},\n separatorChar: \"/\",\n zIndex: 1000,\n container: \"body\",\n dpContainer: null,\n selector: \"input[data-jdp]\",\n autoShow: true,\n autoHide: true,\n plusHtml: \"<svg viewBox=\\\"0 0 1024 1024\\\"><g><path d=\\\"M810 554h-256v256h-84v-256h-256v-84h256v-256h84v256h256v84z\\\"></path></g></svg>\",\n minusHtml: \"<svg viewBox=\\\"0 0 1024 1024\\\"><g><path d=\\\"M810 554h-596v-84h596v84z\\\"></path></g></svg>\",\n changeMonthRotateYear: false,\n showTodayBtn: true,\n showEmptyBtn: true,\n autoReadOnlyInput: /iphone|ipod|android|ie|blackberry|fennec/.test((_window$navigator = window.navigator) === null || _window$navigator === void 0 ? void 0 : (_window$navigator$use = _window$navigator.userAgent) === null || _window$navigator$use === void 0 ? void 0 : _window$navigator$use.toLowerCase()),\n useDropDownYears: true\n});\n\n//# sourceURL=webpack://@majidh1/jalalidatepicker/./src/defaults.js?");
/***/ }),
/***/ "./src/draw.js":
/*!*********************!*\
!*** ./src/draw.js ***!
\*********************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": function() { return /* export default binding */ __WEBPACK_DEFAULT_EXPORT__; }\n/* harmony export */ });\n/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./constants */ \"./src/constants.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./utils */ \"./src/utils.js\");\n\n\n\nvar getLastWeekClassIfNessesary = function getLastWeekClassIfNessesary(dayOfWeek) {\n return dayOfWeek === 6 ? \".\".concat(_constants__WEBPACK_IMPORTED_MODULE_0__.LAST_WEEK_CLASS_NAME) : \"\";\n};\n\nvar createElementPlus = function createElementPlus(container, isYear) {\n (0,_utils__WEBPACK_IMPORTED_MODULE_1__.createElement)(_constants__WEBPACK_IMPORTED_MODULE_0__.PLUS_ICON_ELM_QUERY + (isYear ? jdp.options.maxDate.year === jdp.initDate.year ? \".\".concat(_constants__WEBPACK_IMPORTED_MODULE_0__.DISABLE_CLASS_NAME) : \"\" : jdp.options.maxDate.year === jdp.initDate.year && jdp.options.maxDate.month === jdp.initDate.month ? \".\".concat(_constants__WEBPACK_IMPORTED_MODULE_0__.DISABLE_CLASS_NAME) : \"\"), container, _constants__WEBPACK_IMPORTED_MODULE_0__.EVENT_CLICK_STR, isYear ? function () {\n jdp.increaseYear();\n } : function () {\n jdp.increaseMonth();\n }, jdp.options.plusHtml);\n};\n\nvar createElementMinus = function createElementMinus(container, isYear) {\n (0,_utils__WEBPACK_IMPORTED_MODULE_1__.createElement)(_constants__WEBPACK_IMPORTED_MODULE_0__.MINUS_ICON_ELM_QUERY + (isYear ? jdp.options.minDate.year === jdp.initDate.year ? \".\".concat(_constants__WEBPACK_IMPORTED_MODULE_0__.DISABLE_CLASS_NAME) : \"\" : jdp.options.minDate.year === jdp.initDate.year && jdp.options.minDate.month === jdp.initDate.month ? \".\".concat(_constants__WEBPACK_IMPORTED_MODULE_0__.DISABLE_CLASS_NAME) : \"\"), container, _constants__WEBPACK_IMPORTED_MODULE_0__.EVENT_CLICK_STR, isYear ? function () {\n jdp.decreaseYear();\n } : function () {\n jdp.decreaseMonth();\n }, jdp.options.minusHtml);\n};\n\nvar render = function render() {\n (0,_utils__WEBPACK_IMPORTED_MODULE_1__.setInnerHTML)(jdp.dpContainer, \"\");\n renderYear();\n renderMonths();\n renderDays();\n renderFooterBtns();\n};\n\nvar renderYear = function renderYear() {\n var yearsContainer = (0,_utils__WEBPACK_IMPORTED_MODULE_1__.createElement)(_constants__WEBPACK_IMPORTED_MODULE_0__.YEARS_ELM_QUERY, jdp.dpContainer);\n createElementPlus(yearsContainer, true);\n var yearContainer = (0,_utils__WEBPACK_IMPORTED_MODULE_1__.createElement)(_constants__WEBPACK_IMPORTED_MODULE_0__.YEAR_ELM_QUERY, yearsContainer);\n createElementMinus(yearsContainer, true);\n var useDropDownYears = jdp.options.useDropDownYears;\n var yearInputTagName = useDropDownYears ? \"select\" : \"input\";\n var yearInput = (0,_utils__WEBPACK_IMPORTED_MODULE_1__.createElement)(yearInputTagName, yearContainer, _constants__WEBPACK_IMPORTED_MODULE_0__.EVENT_CHANGE_YEAR_INPUT_STR, function (e) {\n if (e.target.value < 1000 || e.target.value > 2000) return;\n jdp.yearChange(e.target.value);\n });\n\n if (useDropDownYears) {\n var validYears = (0,_utils__WEBPACK_IMPORTED_MODULE_1__.getValidYears)(jdp);\n\n for (var i = validYears.min; i <= validYears.max; i++) {\n var optionElm = (0,_utils__WEBPACK_IMPORTED_MODULE_1__.createElement)(\"option\", yearInput);\n optionElm.value = i;\n optionElm.text = i;\n optionElm.selected = i === jdp.initDate.year;\n }\n } else {\n yearInput.tabIndex = -1;\n yearInput.value = jdp.initDate.year;\n yearInput.type = \"number\";\n }\n};\n\nvar renderMonths = function renderMonths() {\n var monthsContainer = (0,_utils__WEBPACK_IMPORTED_MODULE_1__.createElement)(_constants__WEBPACK_IMPORTED_MODULE_0__.MONTHS_ELM_QUERY, jdp.dpContainer);\n createElementPlus(monthsContainer, false);\n var monthContainer = (0,_utils__WEBPACK_IMPORTED_MODULE_1__.createElement)(_constants__WEBPACK_IMPORTED_MODULE_0__.MONTH_ELM_QUERY, monthsContainer);\n createElementMinus(monthsContainer, false);\n var monthDropDownContainer = (0,_utils__WEBPACK_IMPORTED_MODULE_1__.createElement)(\"select\", monthContainer, _constants__WEBPACK_IMPORTED_MODULE_0__.EVENT_CHANGE_MONTH_DROPDOWN_STR, function (e) {\n jdp.monthChange(e.target.value);\n });\n monthDropDownContainer.tabIndex = -1;\n var months = (0,_utils__WEBPACK_IMPORTED_MODULE_1__.getValidMonths)(jdp);\n var monthsName = jdp.options.months;\n\n for (var i = 0; i < months.length; i++) {\n var optionElm = (0,_utils__WEBPACK_IMPORTED_MODULE_1__.createElement)(\"option\", monthDropDownContainer);\n optionElm.value = months[i];\n optionElm.text = monthsName[months[i] - 1];\n optionElm.selected = months[i] === jdp.initDate.month;\n }\n};\n\nvar renderDays = function renderDays() {\n var daysContainer = (0,_utils__WEBPACK_IMPORTED_MODULE_1__.createElement)(_constants__WEBPACK_IMPORTED_MODULE_0__.DAYS_ELM_QUERY, jdp.dpContainer);\n\n for (var i = 0; i < 7; i++) {\n (0,_utils__WEBPACK_IMPORTED_MODULE_1__.createElement)(_constants__WEBPACK_IMPORTED_MODULE_0__.DAY_NAME_ELM_QUERY + getLastWeekClassIfNessesary(i), daysContainer, null, null, jdp.options.days[i]);\n }\n\n var daysInMonth = (0,_utils__WEBPACK_IMPORTED_MODULE_1__.getDaysInMonth)(jdp.initDate.year, jdp.initDate.month);\n var firstWeekDay = (0,_utils__WEBPACK_IMPORTED_MODULE_1__.getWeekDay)(jdp.initDate.year, jdp.initDate.month, 1);\n var maxDaysInCalendar = 7 * Math.ceil((firstWeekDay + daysInMonth) / 7) - 1;\n var dayInMonth = 1;\n\n var _loop = function _loop(_i) {\n var weekDay = (0,_utils__WEBPACK_IMPORTED_MODULE_1__.getWeekDay)(jdp.initDate.year, jdp.initDate.month, dayInMonth);\n var validDay = (0,_utils__WEBPACK_IMPORTED_MODULE_1__.isValidDay)(jdp, dayInMonth);\n\n if (dayInMonth <= weekDay && _i < weekDay || dayInMonth > daysInMonth) {\n (0,_utils__WEBPACK_IMPORTED_MODULE_1__.createElement)(_constants__WEBPACK_IMPORTED_MODULE_0__.DAY_ELM_QUERY, daysContainer);\n return \"continue\";\n }\n\n if (!validDay) {\n (0,_utils__WEBPACK_IMPORTED_MODULE_1__.createElement)(_constants__WEBPACK_IMPORTED_MODULE_0__.DAY_ELM_QUERY, daysContainer);\n dayInMonth += 1;\n return \"continue\";\n }\n\n var className = getLastWeekClassIfNessesary(weekDay);\n\n if (jdp.valueDate.day === dayInMonth && jdp.valueDate.year === jdp.initDate.year && jdp.valueDate.month === jdp.initDate.month) {\n className += \".\".concat(_constants__WEBPACK_IMPORTED_MODULE_0__.SELECTED_CLASS_NAME);\n }\n\n if (jdp.today.day === dayInMonth && jdp.today.year === jdp.initDate.year && jdp.today.month === jdp.initDate.month) {\n className += \".\".concat(_constants__WEBPACK_IMPORTED_MODULE_0__.TODAY_CLASS_NAME);\n }\n\n var dayContainer = (0,_utils__WEBPACK_IMPORTED_MODULE_1__.createElement)(_constants__WEBPACK_IMPORTED_MODULE_0__.DAY_ELM_QUERY + className, daysContainer, null, null, dayInMonth);\n dayContainer.day = dayInMonth;\n dayContainer.addEventListener(_constants__WEBPACK_IMPORTED_MODULE_0__.EVENT_CLICK_STR, function () {\n jdp.setValue(jdp.initDate.year, jdp.initDate.month, dayContainer.day);\n });\n dayInMonth += 1;\n };\n\n for (var _i = 0; _i <= maxDaysInCalendar; _i++) {\n var _ret = _loop(_i);\n\n if (_ret === \"continue\") continue;\n }\n};\n\nvar renderFooterBtns = function renderFooterBtns() {\n var footerContainer = (0,_utils__WEBPACK_IMPORTED_MODULE_1__.createElement)(_constants__WEBPACK_IMPORTED_MODULE_0__.FOOTER_ELM_QUERY, jdp.dpContainer);\n\n if (jdp.options.showTodayBtn) {\n (0,_utils__WEBPACK_IMPORTED_MODULE_1__.createElement)(_constants__WEBPACK_IMPORTED_MODULE_0__.TODAY_BTN_ELM_QUERY, footerContainer, _constants__WEBPACK_IMPORTED_MODULE_0__.EVENT_CLICK_STR, function () {\n jdp.setValue(jdp.today.year, jdp.today.month, jdp.today.day);\n }, \"امروز\");\n }\n\n if (jdp.options.showEmptyBtn) {\n (0,_utils__WEBPACK_IMPORTED_MODULE_1__.createElement)(_constants__WEBPACK_IMPORTED_MODULE_0__.EMPTY_BTN_ELM_QUERY, footerContainer, _constants__WEBPACK_IMPORTED_MODULE_0__.EVENT_CLICK_STR, function () {\n jdp.setValue();\n }, \"خالی\");\n }\n};\n\nvar jdp = null;\n/* harmony default export */ function __WEBPACK_DEFAULT_EXPORT__() {\n jdp = this;\n render();\n}\n\n//# sourceURL=webpack://@majidh1/jalalidatepicker/./src/draw.js?");
/***/ }),
/***/ "./src/index.js":
/*!**********************!*\
!*** ./src/index.js ***!
\**********************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
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 setReadOnly(input, this.options);\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 inputHeight = inputBounds.height;\n var left = inputBounds.left;\n var top = inputBounds.top + inputHeight;\n var windowWidth = window.document.body.offsetWidth;\n var dpContainerWidth = this.dpContainer.offsetWidth;\n var dpContainerHeight = this.dpContainer.offsetHeight;\n\n if (left + dpContainerWidth >= windowWidth) {\n left -= left + dpContainerWidth - (windowWidth + 10);\n }\n\n if (top - inputHeight >= dpContainerHeight && top + dpContainerHeight >= window.innerHeight) {\n top -= dpContainerHeight + inputHeight;\n }\n\n this.dpContainer.style.position = _constants__WEBPACK_IMPORTED_MODULE_1__.STYLE_POSITION_FIXED;\n this.dpContainer.style.left = left + \"px\";\n this.dpContainer.style.top = top + \"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 _jalaliDatepicker$inp;\n\n var dateAttrVal = (_jalaliDatepicker$inp = jalaliDatepicker.input) === null || _jalaliDatepicker$inp === void 0 ? void 0 : _jalaliDatepicker$inp.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 setReadOnly(input, options) {\n if (options.autoReadOnlyInput && !input.readOnly) input.readOnly = true;\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?");
/***/ }),
/***/ "./src/utils.js":
/*!**********************!*\
!*** ./src/utils.js ***!
\**********************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
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 */ \"getValidYears\": function() { return /* binding */ getValidYears; },\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 */ });\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(jy) {\n function div(a, b) {\n return ~~(a / b);\n }\n\n var breaks = [-61, 9, 38, 199, 426, 686, 756, 818, 1111, 1181, 1210, 1635, 2060, 2097, 2192, 2262, 2324, 2394, 2456, 3178],\n bl = breaks.length;\n var jump = 0,\n leapJ = -14,\n jp = breaks[0],\n leap;\n\n for (var i = 1; i < bl; i += 1) {\n var jm = breaks[i];\n jump = jm - jp;\n if (jy < jm) break;\n leapJ = leapJ + div(jump, 33) * 8 + div(mod(jump, 33), 4);\n jp = jm;\n }\n\n var n = jy - jp;\n if (jump - n < 6) n = n - jump + div(jump + 4, 33) * 33;\n leap = mod(mod(n + 1, 33) - 1, 4);\n if (leap === -1) leap = 4;\n return leap === 0;\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 getValidYears = function getValidYears(jdp) {\n function rnd(val) {\n return Math.round(val / 100) * 100;\n }\n\n var initYear = jdp.initDate.year;\n var min = jdp.options.minDate.year || rnd(initYear - 200);\n var max = jdp.options.maxDate.year || rnd(initYear + 200);\n return {\n min: min,\n max: max\n };\n};\nvar getValidMonths = function getValidMonths(jdp) {\n var initYear = jdp.initDate.year;\n var minDate = jdp.options.minDate;\n var maxDate = jdp.options.maxDate;\n var months = [];\n var start = 1;\n var finish = 12;\n\n if (initYear === minDate.year) {\n start = minDate.month;\n\n if (initYear === maxDate.year) {\n finish = maxDate.month;\n }\n } else if (initYear === 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(jdp, day) {\n var initDate = jdp.initDate;\n var minDate = jdp.options.minDate;\n var maxDate = jdp.options.maxDate;\n\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 window;\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};\n\n//# sourceURL=webpack://@majidh1/jalalidatepicker/./src/utils.js?");
/***/ }),
/***/ "./src/styles/index.scss":
/*!*******************************!*\
!*** ./src/styles/index.scss ***!
\*******************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
eval("__webpack_require__.r(__webpack_exports__);\n// extracted by mini-css-extract-plugin\n\n\n//# sourceURL=webpack://@majidh1/jalalidatepicker/./src/styles/index.scss?");
/***/ })
/******/ });
/************************************************************************/
/******/ // The module cache
/******/ var __webpack_module_cache__ = {};
/******/
/******/ // The require function
/******/ function __webpack_require__(moduleId) {
/******/ // Check if module is in cache
/******/ if(__webpack_module_cache__[moduleId]) {
/******/ return __webpack_module_cache__[moduleId].exports;
/******/ }
/******/ // Create a new module (and put it into the cache)
/******/ var module = __webpack_module_cache__[moduleId] = {
/******/ // no module.id needed
/******/ // no module.loaded needed
/******/ exports: {}
/******/ };
/******/
/******/ // Execute the module function
/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
/******/
/******/ // Return the exports of the module
/******/ return module.exports;
/******/ }
/******/
/************************************************************************/
/******/ /* webpack/runtime/define property getters */
/******/ !function() {
/******/ // define getter functions for harmony exports
/******/ __webpack_require__.d = function(exports, definition) {
/******/ for(var key in definition) {
/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
/******/ }
/******/ }
/******/ };
/******/ }();
/******/
/******/ /* webpack/runtime/hasOwnProperty shorthand */
/******/ !function() {
/******/ __webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }
/******/ }();
/******/
/******/ /* webpack/runtime/make namespace object */
/******/ !function() {
/******/ // define __esModule on exports
/******/ __webpack_require__.r = function(exports) {
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
/******/ }
/******/ Object.defineProperty(exports, '__esModule', { value: true });
/******/ };
/******/ }();
/******/
/************************************************************************/
/******/
/******/ // startup
/******/ // Load entry module and return exports
/******/ // This entry module can't be inlined because the eval devtool is used.
/******/ __webpack_require__("./src/index.js");
/******/ var __webpack_exports__ = __webpack_require__("./src/styles/index.scss");
/******/
/******/ })()
;
jalaliDatepicker.startWatch({
separatorChar: "/",
minDate: "attr",
maxDate: "attr",
changeMonthRotateYear: true,
showTodayBtn: true,
showEmptyBtn: true
});