{"version":3,"file":"js/datepickerFactory.4cf2c335891d6611df6a.min.js","mappings":"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","sources":["webpack:///./scripts/common/utilities.js","webpack:///./scripts/config/locale.config.js","webpack:///./scripts/datepicker/Datepicker.js","webpack:///../node_modules/@babel/runtime/helpers/esm/defineProperty.js"],"sourcesContent":["\"user strict\"\r\nexport const utilities = {\r\n options: {\r\n scrollTop: 0,\r\n scrollLeft: 0\r\n },\r\n\r\n debounce(func, wait, immediate) {\r\n var timeout;\r\n return function () {\r\n var context = this,\r\n args = arguments;\r\n var later = function () {\r\n timeout = null;\r\n if (!immediate) func.apply(context, args);\r\n };\r\n var callNow = immediate && !timeout;\r\n clearTimeout(timeout);\r\n timeout = setTimeout(later, wait);\r\n if (callNow) func.apply(context, args);\r\n }\r\n },\r\n\r\n isIE() {\r\n\r\n var ua = window.navigator.userAgent;\r\n\r\n var msie = ua.indexOf('MSIE ');\r\n if (msie > 0) {\r\n // IE 10 or older => return version number\r\n return parseInt(ua.substring(msie + 5, ua.indexOf('.', msie)), 10);\r\n }\r\n\r\n var trident = ua.indexOf('Trident/');\r\n if (trident > 0) {\r\n // IE 11 => return version number\r\n var rv = ua.indexOf('rv:');\r\n return parseInt(ua.substring(rv + 3, ua.indexOf('.', rv)), 10);\r\n }\r\n\r\n var edge = ua.indexOf('Edge/');\r\n if (edge > 0) {\r\n // Edge (IE 12+) => return version number\r\n return parseInt(ua.substring(edge + 5, ua.indexOf('.', edge)), 10);\r\n }\r\n\r\n\r\n\r\n // other browser\r\n return false;\r\n\r\n },\r\n\r\n isFuIOS() {\r\n var iosQuirkPresent = function () {\r\n var audio = new Audio();\r\n \r\n audio.volume = 0.5;\r\n return audio.volume === 1; // volume cannot be changed from \"1\" on iOS 12 and below\r\n };\r\n \r\n var isIOS = /iPad|iPhone|iPod/.test(navigator.userAgent);\r\n var isAppleDevice = navigator.userAgent.includes('Macintosh');\r\n var isTouchScreen = navigator.maxTouchPoints >= 1; // true for iOS 13 (and hopefully beyond)\r\n \r\n return isIOS || (isAppleDevice && (isTouchScreen || iosQuirkPresent()));\r\n },\r\n\r\n isMobile() {\r\n return /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent) ? true : false\r\n },\r\n\r\n async loadImage(src) {\r\n const img = new Image()\r\n img.src = src\r\n const imgLoadPromise = await new Promise((resolve, reject) => {\r\n img.onload = function () {\r\n resolve('loaded')\r\n }\r\n img.onerror = function (err) {\r\n reject(err)\r\n }\r\n })\r\n\r\n return imgLoadPromise\r\n },\r\n\r\n loadScript(src, id) {\r\n let scriptTag = document.querySelector(`[id*=\"${id}\"]`)\r\n \r\n return new Promise((resolve, reject) => {\r\n if(window[`${id}ScriptLoaded`]) {\r\n resolve()\r\n return\r\n }\r\n\r\n if(!scriptTag) {\r\n scriptTag = document.createElement('script')\r\n scriptTag.setAttribute('id', `${id}`)\r\n scriptTag.src = `${src}`\r\n document.body.append(scriptTag)\r\n }\r\n\r\n scriptTag?.addEventListener('load', () => {\r\n window[`${id}ScriptLoaded`] = true\r\n resolve()\r\n })\r\n scriptTag?.addEventListener('error', reject)\r\n })\r\n },\r\n\r\n getStyle(e, styleName) {\r\n var styleValue = \"\";\r\n if (document.defaultView && document.defaultView.getComputedStyle) {\r\n styleValue = document.defaultView.getComputedStyle(e, \"\").getPropertyValue(styleName);\r\n } else if (e.currentStyle) {\r\n styleName = styleName.replace(/\\-(\\w)/g, function (strMatch, p1) {\r\n return p1.toUpperCase();\r\n });\r\n styleValue = e.currentStyle[styleName];\r\n }\r\n return styleValue;\r\n },\r\n\r\n triggerFocus(element) {\r\n var eventType = \"onfocusin\" in element ? \"focusin\" : \"focus\",\r\n bubbles = \"onfocusin\" in element,\r\n event;\r\n\r\n if (\"createEvent\" in document) {\r\n event = document.createEvent(\"Event\");\r\n event.initEvent(eventType, bubbles, true);\r\n }\r\n else if (\"Event\" in window) {\r\n event = new Event(eventType, { bubbles: bubbles, cancelable: true });\r\n }\r\n\r\n element.focus();\r\n element.dispatchEvent(event);\r\n },\r\n\r\n toggleWindowScroll(scroll) {\r\n if (!scroll) {\r\n utilities.options.scrollTop = window.pageYOffset || document.documentElement.scrollTop\r\n utilities.options.scrollLeft = window.pageXOffset || document.documentElement.scrollLeft\r\n window.addEventListener('scroll', utilities.disableScroll)\r\n } else {\r\n utilities.options.scrollTop = 0\r\n utilities.options.scrollLeft = 0\r\n window.removeEventListener('scroll', utilities.disableScroll)\r\n }\r\n },\r\n\r\n disableScroll(e) {\r\n window.scrollTo(utilities.options.scrollLeft, utilities.options.scrollTop)\r\n },\r\n\r\n\r\n createNodeParsing(s) {\r\n return new DOMParser().parseFromString(s, 'text/html').body.firstElementChild\r\n },\r\n\r\n rootCssVariables() {\r\n document.documentElement.style\r\n .setProperty('--mobile-breakpoint', `${site.settings.breakpoints.mobile}px`);\r\n },\r\n\r\n isJson(data) {\r\n try {\r\n JSON.parse(data);\r\n } catch (e) {\r\n return false;\r\n }\r\n return true;\r\n },\r\n\r\n getGsapTargets(timeline) {\r\n\r\n function addTargets(list, target) {\r\n\r\n if (Array.isArray(target)) target.forEach(checkTarget);\r\n else if (target.nodeType === 1) list.push(target);\r\n else if (target.jquery) target.each(function () { list.push(this); });\r\n\r\n function checkTarget(el) {\r\n if (el.jquery) list.push(el[0]);\r\n else if (el.nodeType === 1) list.push(el);\r\n else if (typeof el === \"string\") list.push(document.querySelector(el));\r\n }\r\n return list;\r\n }\r\n\r\n return timeline\r\n .getChildren(true, true, false)\r\n .map(function (tween) { return tween.target; })\r\n .reduce(addTargets, [])\r\n .filter(function (target, i, list) { return list.indexOf(target) === i; });\r\n },\r\n\r\n formatDateForApi(dateString) {\r\n return moment(dateString, site.settings.dateDisplayFormat).format(site.settings.dateAPIFormat)\r\n },\r\n\r\n noOfDays(startDate, endDate) {\r\n if (!startDate || !endDate) return null\r\n return (new Date(utilities.formatDateForApi(endDate)).getTime() -\r\n new Date(utilities.formatDateForApi(startDate)).getTime()) / (1000 * 3600 * 24)\r\n },\r\n\r\n formatTimeForSlots(dateTimeString) {\r\n const formatedTime = dateTimeString.split('+')[0]\r\n return moment(formatedTime).format('hh:mm')\r\n },\r\n\r\n windowPanel(href, windowName, { width = 400, height = 400 }) {\r\n var myWindow = window.open(`${href}`, `${windowName}`, `width=${width},height=${height}`)\r\n if (!myWindow || myWindow.closed || typeof myWindow.closed == 'undefined') {\r\n alert('Pop-up Blocker is enabled! Please add this site to your exception list.')\r\n }\r\n return myWindow\r\n },\r\n\r\n resizePlayer(container, aspectRatio) {\r\n const iframe = container.querySelector('iframe')\r\n\r\n if (!iframe) return\r\n\r\n let win = container,\r\n width = win.clientWidth,\r\n playerWidth,\r\n height = win.clientHeight,\r\n playerHeight,\r\n ratio = aspectRatio || 16 / 9\r\n\r\n if (width / ratio < height) {\r\n playerWidth = Math.ceil(height * ratio)\r\n Object.assign(\r\n iframe.style,\r\n {\r\n width: `${playerWidth}px`,\r\n height: `${height}px`,\r\n left: `${(width - playerWidth) / 2}px`,\r\n top: 0\r\n }\r\n )\r\n\r\n\r\n } else {\r\n playerHeight = Math.ceil(width / ratio)\r\n\r\n Object.assign(\r\n iframe.style,\r\n {\r\n width: `${width}px`,\r\n height: `${playerHeight}px`,\r\n left: 0,\r\n top: `${(height - playerHeight) / 2}px`\r\n }\r\n )\r\n }\r\n },\r\n\r\n isNodeEle(ele) {\r\n return ele instanceof Element || ele instanceof HTMLDocument\r\n }\r\n}\r\n\r\nexport const formUtils = {\r\n isEmpty(val) {\r\n return !val && /^\\s*$/.test(val)\r\n },\r\n\r\n isEmail(mail) {\r\n return /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\\.[a-zA-Z0-9-]+)+$/.test(mail)\r\n },\r\n\r\n isPhone(phone) {\r\n return /^(\\d){1}(-|\\s)?(\\d){3}(-|\\s)?(\\d){3}(-|\\s)?(\\d){4}$/.test(phone)\r\n },\r\n\r\n sanitizeString(val) {\r\n let str = val\r\n str = str.replace(/\\s+[^a-zA-Z0-9]/g, \"\")\r\n return str\r\n }\r\n}\r\n\r\n\r\n\r\nclass WM {\r\n constructor(init) {\r\n this._wm = new WeakMap(init);\r\n }\r\n clear() {\r\n this._wm = new WeakMap();\r\n }\r\n delete(k) {\r\n return this._wm.delete(k);\r\n }\r\n get(k) {\r\n return this._wm.get(k);\r\n }\r\n has(k) {\r\n return this._wm.has(k);\r\n }\r\n set(k, v) {\r\n this._wm.set(k, v);\r\n return this;\r\n }\r\n}\r\n\r\nexport { WM }\r\n\r\nexport default utilities","export const DATE_TIME_LOCAL = {\r\n \"format\": \"MM/DD/YYYY\",\r\n \"separator\": \" - \",\r\n \"applyLabel\": \"Apply\",\r\n \"cancelLabel\": \"Cancel\",\r\n \"fromLabel\": \"From\",\r\n \"toLabel\": \"To\",\r\n \"customRangeLabel\": \"Custom\",\r\n \"weekLabel\": \"W\",\r\n \"firstDay\": 1\r\n}\r\n\r\nexport const MONTH_NAMES = [\r\n \"January\",\r\n \"February\",\r\n \"March\",\r\n \"April\",\r\n \"May\",\r\n \"June\",\r\n \"July\",\r\n \"August\",\r\n \"September\",\r\n \"October\",\r\n \"November\",\r\n \"December\"\r\n]\r\n\r\nexport const DAYS_SHORT = [\r\n \"Su\",\r\n \"Mo\",\r\n \"Tu\",\r\n \"We\",\r\n \"Th\",\r\n \"Fr\",\r\n \"Sa\"\r\n]","import { utilities, formUtils } from '@/scripts/common/utilities'\r\nimport {\r\n DATE_TIME_LOCAL,\r\n MONTH_NAMES,\r\n DAYS_SHORT\r\n} from '@/scripts/config/locale.config'\r\n\r\n\r\n\r\nexport class Datepicker {\r\n constructor(container, options) {\r\n if(typeof $ === 'undefined' || typeof jQuery === 'undefined') {\r\n console.log('Please Add jQuery for daterange picker')\r\n return\r\n }\r\n this.container = container\r\n this.input = container.querySelector('[data-picker-input]') || null\r\n this.labelLinkInput = document.querySelector(`${this.input.dataset.labelLink}`) || null\r\n this.singleDatepicker = this.input.dataset.dateSingle || false\r\n this.totalSpan = this.input.dataset.maxSpan || 120;\r\n\r\n this.today = new Date()\r\n this.tomorrow = new Date(new Date().setDate(new Date().getDate() + 1))\r\n this.minEndDate = new Date(new Date().setDate(new Date().getDate() + 4))\r\n\r\n this.startDate = this.input.dataset.startDate || this.input.value || this.tomorrow\r\n this.endDate = this.input.dataset.endDate || this.minEndDate\r\n this.minDate = this.input.dataset.minDate || false\r\n\r\n this.options = Object.assign({\r\n pickerOptions: {\r\n \"autoApply\": true,\r\n \"locale\": {\r\n ...DATE_TIME_LOCAL,\r\n \"monthNames\": MONTH_NAMES,\r\n \"daysOfWeek\": DAYS_SHORT\r\n },\r\n \"maxSpan\": false,\r\n \"linkedCalendars\": false,\r\n \"parentEl\": this.container,\r\n \"startDate\": this.startDate,\r\n \"endDate\": this.endDate,\r\n \"minDate\": this.minDate,\r\n \"singleDatePicker\": !!this.singleDatepicker\r\n }\r\n }, {\r\n ...options\r\n })\r\n\r\n\r\n this.init()\r\n }\r\n\r\n async init() {\r\n await import(/* webpackChunkName: \"daterangepicker\" */'@/scss/vendors/_daterange.scss')\r\n await utilities.loadScript(`https://cdn.jsdelivr.net/momentjs/latest/moment.min.js`, 'momentJs')\r\n await utilities.loadScript(`/js/daterangepicker.js`, 'daterangeJs')\r\n \r\n this.container && this.buildPicker()\r\n }\r\n \r\n buildPicker() {\r\n $(this.input).daterangepicker(this.options.pickerOptions)\r\n this.syncVal()\r\n this._addingEventListeners()\r\n this.pickerShow()\r\n }\r\n\r\n syncVal() {\r\n const labelLinkInput = this.labelLinkInput\r\n let dates = this.input.value.split(' - ')\r\n const selectedStartDate = dates[0] ? moment(new Date(dates[0])).format(site.settings.dateDisplayFormat) : null\r\n const selectedEndDate = dates[1] ? moment(new Date(dates[1])).format(site.settings.dateDisplayFormat) : null\r\n\r\n if(labelLinkInput && this.labelLinkInput.nodeName === 'INPUT') {\r\n labelLinkInput.value = !selectedEndDate ? `${selectedStartDate}` : `${selectedStartDate} - ${selectedEndDate}`\r\n return\r\n }\r\n\r\n labelLinkInput.innerHTML = !selectedEndDate ? `${selectedStartDate}` : `${selectedStartDate} - ${selectedEndDate}`\r\n }\r\n\r\n // Utility functions\r\n pickerShow() {\r\n $(this.input).data('daterangepicker').show()\r\n }\r\n \r\n _setStartDate (startDate) {\r\n const pickerInput = this.input\r\n $(pickerInput).data('daterangepicker').setStartDate(startDate)\r\n $(pickerInput).data('daterangepicker').updateView()\r\n return this\r\n }\r\n\r\n _setEndDate (endDate) {\r\n const pickerInput = this.input\r\n $(pickerInput).data('daterangepicker').setEndDate(endDate)\r\n $(pickerInput).data('daterangepicker').updateView()\r\n return this\r\n }\r\n\r\n _setMinDate(minDate) {\r\n const pickerInput = this.input\r\n $(pickerInput).data('daterangepicker').setMinDate(minDate)\r\n $(pickerInput).data('daterangepicker').updateView()\r\n return this\r\n }\r\n\r\n // Callbacks\r\n onInputChange(e) {\r\n this.syncVal()\r\n }\r\n\r\n // Listeners\r\n _addingEventListeners() {\r\n $(this.input).on('change', (e) => this.onInputChange(e))\r\n }\r\n}","export default function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}"],"names":["utilities","options","scrollTop","scrollLeft","debounce","func","wait","immediate","timeout","context","this","args","arguments","later","apply","callNow","clearTimeout","setTimeout","isIE","ua","window","navigator","userAgent","msie","indexOf","parseInt","substring","rv","edge","isFuIOS","audio","isIOS","test","isAppleDevice","includes","isTouchScreen","maxTouchPoints","Audio","volume","isMobile","loadImage","src","img","Image","Promise","resolve","reject","onload","onerror","err","imgLoadPromise","loadScript","id","scriptTag","document","querySelector","createElement","setAttribute","body","append","addEventListener","getStyle","e","styleName","styleValue","defaultView","getComputedStyle","getPropertyValue","currentStyle","replace","strMatch","p1","toUpperCase","triggerFocus","element","event","eventType","bubbles","createEvent","initEvent","Event","cancelable","focus","dispatchEvent","toggleWindowScroll","scroll","removeEventListener","disableScroll","pageYOffset","documentElement","pageXOffset","scrollTo","createNodeParsing","s","DOMParser","parseFromString","firstElementChild","rootCssVariables","style","setProperty","site","settings","breakpoints","mobile","isJson","data","JSON","parse","getGsapTargets","timeline","getChildren","map","tween","target","reduce","list","Array","isArray","forEach","el","jquery","push","nodeType","each","filter","i","formatDateForApi","dateString","moment","dateDisplayFormat","format","dateAPIFormat","noOfDays","startDate","endDate","Date","getTime","formatTimeForSlots","dateTimeString","formatedTime","split","windowPanel","href","windowName","width","height","myWindow","open","closed","alert","resizePlayer","container","aspectRatio","iframe","playerWidth","playerHeight","win","clientWidth","clientHeight","ratio","Math","ceil","Object","assign","left","top","isNodeEle","ele","Element","HTMLDocument","DATE_TIME_LOCAL","MONTH_NAMES","DAYS_SHORT","Datepicker","$","jQuery","input","labelLinkInput","dataset","labelLink","singleDatepicker","dateSingle","totalSpan","maxSpan","today","tomorrow","setDate","getDate","minEndDate","value","minDate","pickerOptions","init","console","log","buildPicker","daterangepicker","syncVal","_addingEventListeners","pickerShow","dates","selectedStartDate","selectedEndDate","nodeName","innerHTML","show","pickerInput","setStartDate","updateView","setEndDate","setMinDate","on","onInputChange","_defineProperty","obj","key","defineProperty","enumerable","configurable","writable"],"sourceRoot":""}