{"version":3,"sources":["webpack:///./assets/javascripts/modules/utils/InputUtil.js","webpack:///./assets/javascripts/modules/components/InputComponent.js","webpack:///./node_modules/@pacote/computus/lib/esm/index.js","webpack:///./assets/javascripts/modules/components/DateInputComponent.js"],"names":["disabledEvent","event","preventDefault","console","log","type","validatePostalCodeJp","key","length","target","value","includes","InputComponent","elem","_classCallCheck","this","_this","_possibleConstructorReturn","__proto__","Object","getPrototypeOf","call","setError","bind","resetState","showPassword","hidePassword","Component","input","label","error","togglePassword","postalCodeJp","edited","success","$component","querySelector","SELECTORS","Array","from","querySelectorAll","_this2","dom","readDOM","setTimeout","matches","classList","add","CSS","addEventListener","toggle","forEach","e","contains","document","dataset","id","detail","required","setLabel","bindEvents","postalCodeJpEvents","msg","undefined","innerText","remove","innerHTML","integerDivision","dividend","divider","Math","floor","gregorian","year","a","b","c","h","l","m","n","Date","__webpack_require__","d","__webpack_exports__","DateInputComponent","inputComponent","assign","fakeInput","locale","dateFormat","body","website","Promise","resolve","reject","moduleLoader","loadFlatpickr","module","lang","_this3","loadFlatpickrLocale","_this4","toString","str","def","toBoolean","ds","defaultDate","disabledDatesDelim","disabledDates","delimiter","arguments","t","s","split","map","fromArray","dateFormatCustom","$","find","data","disableweekends","isGLSOrder","getElementById","country","isCountryIT","toLowerCase","currentEasterDate","getFullYear","currentEasterMondayDate","setDate","getDate","currentEasterMonday","getMonth","opts","allowInput","altFormat","dateFormatByCountry","minDate","maxDate","disable","date","exclude","dayExclude","getDay","inArray","parsedLocale","disableMobile","ctx","flatpickr","static","altInput","altInputClass","prevArrow","nextArrow","onReady","parseDate","datestr","format","test","substring","parsedValue","replaceAll","isNaN","errorMsg","style","opacity","_this5","render","importLibrary","then","importLocale","initDatepicker","setMaxLengthBirthDatePicker","_this6","parsedDate","_flatpickr","onkeydown","isNumeric","replace","formattedValue","keyCode","isShift","attr"],"mappings":"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","file":"component-DateInputComponent.chunks.js","sourcesContent":["export const disabledEvent = (event) => {\n event.preventDefault();\n console.log(\"The \" + event.type + \" event is disabled\");\n}\n\nexport const validatePostalCodeJp = (event) => {\n const key = event.key;\n const length = event.target.value.length;\n if(key >= '0' && key <= '9') {\n if(length === 3) {\n event.target.value += \"-\";\n }\n console.log(\"The key typed \" + key + \" is allowed\");\n }\n else if((key == '-' && length === 3) || ['Delete','Backspace'].includes(key)) {\n console.log(\"The key typed \" + key + \" is allowed\");\n }\n else {\n disabledEvent(event);\n }\n}\n","import Component from '../abstracts/Component';\nimport {disabledEvent, validatePostalCodeJp} from '../utils/InputUtil';\n\nexport default class InputComponent extends Component {\n get COMPONENTNAME() {\n return 'InputComponent';\n }\n\n get SELECTORS() {\n return {\n input: '[data-input]',\n label: '[data-label]',\n error: '[data-error]',\n togglePassword: '[data-toggle-password]',\n postalCodeJp: '[data-postal-code-jp]',\n }\n }\n\n get CSS() {\n return {\n edited: '--edited',\n error: '--error',\n showPassword: '--show-password',\n success: '--success',\n }\n }\n\n constructor(elem) {\n super(elem);\n this.setError = this.setError.bind(this);\n this.resetState = this.resetState.bind(this);\n this.showPassword = this.showPassword.bind(this);\n this.hidePassword = this.hidePassword.bind(this);\n }\n\n readDOM() {\n return {\n input: this.$component.querySelector(this.SELECTORS.input),\n label: this.$component.querySelector(this.SELECTORS.label),\n error: this.$component.querySelector(this.SELECTORS.error),\n postalCodeJp: this.$component.querySelector(this.SELECTORS.postalCodeJp),\n togglePassword: Array.from(this.$component.querySelectorAll(this.SELECTORS.togglePassword)),\n }\n }\n\n bindEvents() {\n this.dom = this.readDOM();\n setTimeout(() => {\n if (this.dom.input.matches(':-internal-autofill-selected')) {\n this.$component.classList.add(this.CSS.edited);\n }\n }, 1000);\n this.dom.input.addEventListener('change', () => {\n this.$component.classList.toggle(this.CSS.edited, this.dom.input.value.length>0);\n });\n this.dom.input.addEventListener('input', () => {\n this.$component.classList.toggle(this.CSS.edited, this.dom.input.value.length>0);\n });\n this.dom.input.addEventListener('focus', () => {\n this.$component.classList.add(this.CSS.edited);\n });\n this.dom.input.addEventListener('blur', () => {\n this.$component.classList.toggle(this.CSS.edited, this.dom.input.value.length>0);\n });\n this.dom.togglePassword.forEach(e => {\n e.addEventListener('click', () => {\n const isShown = this.$component.classList.contains(this.CSS.showPassword);\n const toggle = isShown ? this.hidePassword : this.showPassword;\n const input = this.$component.querySelector(this.SELECTORS.input);\n if(input.value) {\n toggle();\n } else {\n return;\n }\n });\n });\n document.addEventListener('changeLabel', (e) => {\n if(this.$component.dataset.id == e.detail.id) {\n e.detail.required ? this.setLabel(e.detail.label+\"*\") : this.setLabel(e.detail.label);\n }\n });\n }\n\n postalCodeJpEvents() {\n this.dom.postalCodeJp.addEventListener('keydown', validatePostalCodeJp);\n this.dom.postalCodeJp.addEventListener('paste', disabledEvent);\n }\n\n render() {\n this.dom = this.readDOM();\n if (this.dom.input && this.dom.input.value.length > 0) {\n this.$component.classList.add(this.CSS.edited);\n }\n this.bindEvents();\n if(this.dom.postalCodeJp !== null) {\n this.postalCodeJpEvents();\n }\n }\n\n // EXTERNAL API\n setError(msg) {\n this.dom = this.readDOM();\n if (msg !== undefined) {\n this.dom.error.innerText = msg;\n }\n this.$component.classList.add(this.CSS.error);\n }\n\n setSuccess() {\n this.dom = this.readDOM();\n this.$component.classList.add(this.CSS.success);\n }\n\n resetState() {\n this.dom = this.readDOM();\n this.dom.error.innerText = '';\n this.$component.classList.remove(this.CSS.error);\n }\n\n get value() {\n this.dom = this.readDOM();\n return this.dom.input.value;\n }\n\n resetInput() {\n this.dom = this.readDOM();\n this.dom.input.value=\"\";\n this.$component.classList.remove(this.CSS.error);\n this.$component.classList.remove(this.CSS.success);\n this.$component.classList.remove(this.CSS.edited);\n }\n\n showPassword() {\n this.dom = this.readDOM();\n this.$component.classList.add(this.CSS.showPassword);\n this.dom.input.type = 'text';\n }\n\n hidePassword() {\n this.dom = this.readDOM();\n this.$component.classList.remove(this.CSS.showPassword);\n this.dom.input.type = 'password';\n }\n\n setLabel(label) {\n this.dom = this.readDOM();\n label = this.dom.input.required ? label+=\"*\" : label;\n this.dom.label.innerHTML = label;\n }\n}\n","function integerDivision(dividend, divider) {\n return Math.floor(dividend / divider);\n}\nexport function gregorian(year) {\n const a = year % 19;\n const b = integerDivision(year, 100);\n const c = year % 100;\n const d = integerDivision(b, 4);\n const e = b % 4;\n const g = integerDivision(8 * b + c, 25);\n const h = (19 * a + b - d - g + 15) % 30;\n const i = integerDivision(c, 4);\n const k = c % 4;\n const l = (2 * e + 2 * i - h - k + 32) % 7;\n const m = integerDivision(a + 11 * h + 19 * l, 433);\n const n = integerDivision(h + l - 7 * m + 90, 25);\n const p = (h + l - 7 * m + 33 * n + 19) % 32;\n return new Date(year, n - 1, p);\n}\nexport function julian(year) {\n const a = year % 4;\n const b = year % 7;\n const c = year % 19;\n const d = (19 * c + 15) % 30;\n const e = (2 * a + 4 * b - d + 34) % 7;\n const month = integerDivision(d + e + 114, 31);\n const day = ((d + e + 114) % 31) + 1;\n return new Date(year, month - 1, day + 13);\n}\n","import Component from '../abstracts/Component';\nimport InputComponent from './InputComponent';\nimport { gregorian } from '@pacote/computus';\n\nconst DEFAULT_LOCALE = 'default'; //default = english,\n\nconst FAKE_INPUT_CLASS = 'b-input__fake-input';\n\n/**\n Date picker component\n */\nexport default class DateInputComponent extends Component {\n get COMPONENTNAME() {\n return 'DateInputComponent';\n }\n\n get SELECTORS() {\n return {\n fakeInput: `input.${FAKE_INPUT_CLASS}`,\n }\n }\n\n get CSS() {\n return {\n error: '--error',\n }\n }\n\n readDOM() {\n return Object.assign({},\n this.inputComponent.readDOM(),\n {\n fakeInput: this.$component.querySelector(this.SELECTORS.fakeInput),\n }\n );\n }\n\n parsedLocale(dataset) {\n const locale = dataset.locale !== 'undefined' ? dataset.locale : DEFAULT_LOCALE;\n return locale === 'en' ? DEFAULT_LOCALE : locale;\n }\n\n dateFormatByCountry() {\n let currentCountry = document.body.dataset.website;\n let dateFormat = '';\n\n switch(currentCountry) {\n case 'us':\n dateFormat= \"m-d-Y\";\n break;\n case 'jp':\n case 'kr':\n case 'ca':\n dateFormat= \"Y-m-d\";\n break;\n default:\n dateFormat= \"d-m-Y\";\n }\n return dateFormat\n }\n\n importLibrary() {\n return new Promise((resolve, reject) => {\n this.moduleLoader.loadFlatpickr(\n module => { resolve(module) },\n error => { reject(error) }\n );\n });\n }\n\n importLocale(lang) {\n return new Promise((resolve, reject) => {\n this.moduleLoader.loadFlatpickrLocale(\n lang,\n module => { resolve(module) },\n error => { reject(error) }\n );\n });\n }\n\n initDatepicker() {\n const fromArray = (str, def, delimiter = ',', t = s => s) => {\n return str !== undefined ? str.split(delimiter).map(t) : def\n };\n\n const toString = (str, def) => str !== undefined ? str : def;\n const toBoolean = (str, def) => str !== undefined ? str === 'true' : def;\n\n const ds = this.dom.input.dataset;\n\n const defaultDate = toString(ds.defaultDate, null);\n\n const disabledDatesDelim = toString(ds.disabledDatesDelim, ',');\n const disabledDates = fromArray(ds.disabledDates, [], disabledDatesDelim);\n\n if (defaultDate !== null && !disabledDates.includes(defaultDate)) {\n this.$component.classList.add(this.inputComponent.CSS.edited);\n }\n\n let dateFormatCustom = null;\n dateFormatCustom = $(this.$component).find('input').data(\"dateFormat\");\n\n if(ds.disableweekends) {\n const isGLSOrder = document.getElementById(\"isGLSOrder\");\n const country = $(\"body\").data(\"website\");\n const isCountryIT = country != null && country.toLowerCase() === 'it';\n if ((typeof(isGLSOrder) != 'undefined' && isGLSOrder != null && isGLSOrder.value === 'true') || isCountryIT) {\n const currentEasterDate = gregorian(new Date().getFullYear());\n const currentEasterMondayDate = new Date(currentEasterDate);\n currentEasterMondayDate.setDate(currentEasterDate.getDate() + 1);\n var currentEasterMonday = (currentEasterMondayDate.getDate()) + '/' + (currentEasterMondayDate.getMonth() + 1);\n }\n var opts = {\n allowInput: toBoolean(ds.allowInput, true),\n altFormat: this.dateFormatByCountry(),\n defaultDate,\n minDate: toString(ds.minDate, null),\n maxDate: toString(ds.maxDate, null),\n disable: [\n function(date) {\n const exclude = ['1/1', '6/1', '25/4', '1/5', '2/6', '15/8', '1/11', '8/12', '25/12', '26/12', currentEasterMonday];\n const d = date.getDate();\n const m = date.getMonth();\n const dayExclude = d + '/' + (m+1);\n return (date.getDay() === 6 || date.getDay() === 0 || ~$.inArray(dayExclude, exclude));\n }\n ],\n locale: this.parsedLocale(ds),\n disableMobile: toBoolean(ds.disableMobile, true),\n }\n } else {\n var opts = {\n allowInput: toBoolean(ds.allowInput, true),\n altFormat: this.dateFormatByCountry(),\n defaultDate,\n disable: disabledDates,\n locale: this.parsedLocale(ds),\n disableMobile: toBoolean(ds.disableMobile, true),\n }\n }\n\n return new Promise(resolve => {\n const ctx = this;\n $(this.dom.input).flatpickr(Object.assign({}, opts, {\n static: true,\n altInput: true,\n altInputClass: FAKE_INPUT_CLASS,\n dateFormat: dateFormatCustom == null ? 'Y-m-d' : dateFormatCustom,//output format\n altFormat: this.dateFormatByCountry(),//display format\n prevArrow: '',\n nextArrow: '',\n onReady: resolve,\n parseDate: function(datestr, format) {\n var regex = /^\\d{4}[-]\\d{2}[-]\\d{2}$/;//xxxx-xx-xx\n if(regex.test(datestr) && format == ''){//value coming from BE\n return new Date(datestr.substring(0, 4), datestr.substring(5, 7) - 1, datestr.substring(8, 10));\n }\n let date = null;\n const parsedValue = datestr.replaceAll(\"-\",\"\").replaceAll(\"/\",\"\").replaceAll(\".\",\"\");\n if (parsedValue.length === 8) {\n switch (format) {\n case 'm-d-Y':\n date = new Date(parsedValue.substring(4, 8), parsedValue.substring(0, 2) - 1, parsedValue.substring(2, 4));\n break;\n case 'Y-m-d':\n date = new Date(parsedValue.substring(0, 4), parsedValue.substring(4, 6) - 1, parsedValue.substring(6, 8));\n break;\n case 'd-m-Y':\n default:\n date = new Date(parsedValue.substring(4, 8), parsedValue.substring(2, 4) - 1, parsedValue.substring(0, 2));\n break;\n }\n }\n if (!(date instanceof Date) || isNaN(date) || date < new Date(1700,1,1) || date > new Date(4000,12,31)) {\n ctx.setError(ctx.dom.input.dataset.errorMsg);\n } else {\n ctx.resetState();\n }\n return date;\n }\n }));\n this.dom.input.style.opacity = 1;\n })\n }\n\n constructor(elem) {\n super(elem);\n this.inputComponent = new InputComponent(elem);\n }\n\n render() {\n this.inputComponent.render();\n\n this.dom = this.readDOM();\n\n const locale = this.parsedLocale(this.dom.input.dataset);\n\n this.importLibrary()\n .then(() => this.importLocale(locale))\n .then(() => this.initDatepicker())\n .then(() => {\n this.bindEvents();\n this.setMaxLengthBirthDatePicker();\n })\n }\n\n bindEvents() {\n this.dom = this.readDOM();\n const ctx = this;\n\n this.dom.fakeInput.addEventListener('focus', () => {\n this.$component.classList.add(this.inputComponent.CSS.edited);\n });\n this.dom.fakeInput.addEventListener('blur', (e) => {\n this.$component.classList.toggle(this.inputComponent.CSS.edited, this.dom.fakeInput.value.length);\n const value = e.target.value;\n const format = ctx.dateFormatByCountry();\n if (value.length == 10) {\n let parsedDate = this.dom.input._flatpickr.parseDate(value, format);\n this.dom.input._flatpickr.setDate(parsedDate);\n }\n });\n\n $(this.dom.fakeInput).onkeydown = function(e) {\n return ctx.isNumeric(this, e.key, /* isShift */ false);\n }\n\n this.dom.fakeInput.addEventListener('keyup', (e) => {\n this.$component.classList.toggle(this.inputComponent.CSS.edited, this.dom.fakeInput.value.length);\n\n const format = ctx.dateFormatByCountry();\n let value = e.target.value.replace(/\\D/g, '');\n let formattedValue = '';\n\n if (format === 'Y-m-d') {\n if (value.length > 4) {\n formattedValue = value.substring(0, 4) + '-';\n if (value.length > 6) {\n formattedValue += value.substring(4, 6) + '-';\n formattedValue += value.substring(6, 8);\n } else {\n formattedValue += value.substring(4);\n }\n } else {\n formattedValue = value;\n }\n } else { // 'd-m-Y' e 'm-d-Y'\n if (value.length > 2) {\n formattedValue = value.substring(0, 2) + '-';\n if (value.length > 4) {\n formattedValue += value.substring(2, 4) + '-';\n formattedValue += value.substring(4, 8);\n } else {\n formattedValue += value.substring(2);\n }\n } else {\n formattedValue = value;\n }\n }\n\n e.target.value = formattedValue;\n if (e.target.value.length == 10 || e.target.value.length == 0) {\n let parsedDate = this.dom.input._flatpickr.parseDate(value, format);\n this.dom.input._flatpickr.setDate(parsedDate);\n }\n });\n\n }\n\n isNumeric(input, keyCode, isShift) {\n let acceptableKeys = ['0','1', '2', '3', '4', '5', '6', '7', '8', '9', 'Backspace', 'ArrowRight', 'ArrowLeft'];\n isShift = false;\n let seperator = '-'\n if (keyCode == 'ShiftLeft'|| keyCode == 'ShiftRight') {\n isShift = true;\n }\n //Allow only numeric keys\n if (acceptableKeys.includes(keyCode) && isShift == false) {\n if ((input.value.length == 2 || input.value.length == 5) && keyCode != 'Backspace') {\n input.value += seperator;\n }\n return true;\n }\n else {\n return false;\n }\n }\n\n setMaxLengthBirthDatePicker() {\n $(this.dom.fakeInput).attr('maxlength', '10');\n }\n\n setError(msg) {\n this.dom = this.readDOM();\n if (msg !== undefined) {\n this.dom.error.innerText = msg;\n }\n this.$component.classList.add(this.CSS.error);\n }\n\n resetState() {\n this.dom = this.readDOM();\n this.dom.error.innerText = '';\n this.$component.classList.remove(this.CSS.error);\n }\n}\n"],"sourceRoot":""}