{"version":3,"sources":["webpack:///./src/client/default/js/components/loginComponent.js","webpack:///./src/client/default/js/base/baseComponent.js","webpack:///./src/client/default/js/libs/Axios.js","webpack:///./node_modules/@babel/runtime/helpers/get.js","webpack:///./node_modules/@babel/runtime/helpers/superPropBase.js","webpack:///./src/client/default/js/utilities/SerializeForm.js","webpack:///./src/client/default/js/utilities/formErrors.js","webpack:///./src/client/default/js/base/baseFormComponent.js","webpack:///./node_modules/js-cookie/src/js.cookie.js"],"names":["LoginComponent","element","bindSubmit","checkFormValidity","sendClickEvent","formSubmitBtn","errorFieldMessage","errorFormMessage","this","CUSTOM_MESSAGES","DROPDOWN_EVENTS","toclear","clearForm","redirect","window","location","$options","$el","querySelectorAll","forEach","input","getAttribute","value","parentElement","classList","remove","querySelector","SELECTORS","validate","validateForm","isValid","btnSubmit","disabled","elements","addEventListener","event","onSubmit","e","action","formButton","a","loading","formData","serializeForm","currentTarget","getData","post","data","error","endLoading","sendLoginErrorEvent","errorStatus","dataCookieStore","setCookie","timeslotFlow","cartPayload","JSON","parse","endpointAddToCart","res","quantityTotal","appPostMessage","qtyInCart","reorder","EMIT","REORDER_EVENTS","updated","redirectAfterAddProduct","href","customerId","customerNo","dataLayer","push","event_category","event_action","method","user_id","error_type","error_name","error_location","event_detail","Cookies","set","storeId","shippingMethodId","cap","city","expires","$on","area","type","text","BaseFormComponent","BaseComponent","_componentElement","setAttribute","_checkMessages","compOptions","options","dataset","Object","keys","filter","entry","includes","optionValue","cleanEntry","cleanOptionKey","replace","convertType","deepFreeze","events","cb","Bean","on","stopPropagation","one","off","fire","container","message","_loading","LOADER_EVENTS","show","document","body","icon","setTimeout","hide","option","optionReturn","key","str","charAt","toLocaleLowerCase","slice","BaseGiaComponent","axios","Axios","create","transformRequest","headers","skiptransform","entries","FormData","append","recaptchaToken","googleRecaptchaAction","googleRecaptchaClientSide","Promise","resolve","reject","grecaptcha","ready","execute","then","token","defaults","common","interceptors","request","use","config","googleRecaptchaToken","response","commonInterface","CommonInterface","pushState","replaceState","history","redirectUrl","hrefUrl","paybackParam","isPaybackPopupActive","indexOf","trialParam","subscriptionTrialModalNotEligibleAfterLogin","fromEntries","notificationPush","showNotification","pushPromoPre","length","orderedPush","sort","promoA","promoB","rank","notifications","pushPromoPost","CancelToken","get","all","spread","superPropBase","_get","Reflect","module","exports","__esModule","target","property","receiver","base","desc","getOwnPropertyDescriptor","call","arguments","apply","getPrototypeOf","object","prototype","hasOwnProperty","SerializeForm","form","serialize","dataType","getFormDataArray","getFormDataObject","join","map","tempData","split","name","fieldKey","fieldVale","encodeURIComponent","newArrayString","decodeURIComponent","nodeName","el","BLACK_LIST","isValidForm","isvalidElement","opt","selected","checked","scrollConfig","behavior","block","inline","formErrorsConfig","CLASSES","HAS_ERRORS","GROUP_ERROR","ERROR_MESSAGE","JS_ERROR_MESSAGE","JS_FORM_WARNING","FORM_GROUP_FEEDBACK","BTN_SUBMIT","MODAL_ACTIONS","showFieldsErrors","errors","parent","closest","add","appendChild","messageEl","createElement","innerHTML","scrollIntoView","showGlobalError","button","parentNode","modalActions","modalParent","errorEl","insertBefore","setState","valid","preventDefault","stopImmediatePropagation","cleanCustomError","handleRes","errorFields","errorMessage","globaError","err","removeChild","removeAttribute","Serialize","factory","OldCookies","api","noConflict","extend","i","result","attributes","decode","s","init","converter","path","Date","toUTCString","stringify","test","write","String","escape","stringifiedAttributes","attributeName","cookie","json","jar","cookies","parts","read","getJSON","withConverter"],"mappings":"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","file":"js/component-loginComponent-js.chunks.js","sourcesContent":["import BaseFormComponent from '../base/baseFormComponent';\nimport { post } from '../libs/Axios';\nimport { validateForm } from '../utilities/formValidator';\nimport Cookies from 'js-cookie';\nimport { appPostMessage } from '../utilities/postMessage';\n\nexport default class LoginComponent extends BaseFormComponent {\n get SELECTORS() {\n return {\n formSubmitBtn: 'button[type=submit]',\n errorFieldMessage: '.error-message',\n errorFormMessage: '.js-form-warning'\n };\n }\n\n get Messages() {\n return {\n [this.CUSTOM_MESSAGES.DROPDOWN_EVENTS.toclear]: this.clearForm,\n [`error.PASSWORD_ORCKESTRA_MISMATCH`]: this.redirect\n };\n }\n\n constructor(element) {\n super(element);\n this.bindSubmit(); // non serve chiamare l'init a meno che non crei delle funzioni di lifecycle tipo mount dismount\n this.checkFormValidity();\n this.sendClickEvent();\n }\n redirect() {\n window.location = this.$options.redirect;\n }\n\n clearForm() {\n [...this.$el.querySelectorAll('.form-group-input')].forEach((input) => {\n if (input) {\n input.getAttribute('value', '');\n input.value = '';\n input.parentElement.classList.remove('floatl--active');\n input.classList.remove('error');\n input.parentElement.querySelector(this.SELECTORS.errorFieldMessage)?.remove();\n input.parentElement.querySelector('.clear-btn')?.classList.remove('show');\n this.$el.querySelector(this.SELECTORS.errorFormMessage)?.remove();\n }\n });\n }\n\n checkFormValidity() {\n const validate = validateForm();\n const isValid = validate(this.$el);\n const btnSubmit = /** @type {HTMLButtonElement}*/ (this.$el.querySelector(this.SELECTORS.formSubmitBtn));\n btnSubmit.disabled = !isValid;\n [...this.$el.elements].forEach((input) => {\n if (input) {\n input.addEventListener('keyup', (event) => {\n const isValid = validate(this.$el);\n btnSubmit.disabled = !isValid;\n });\n input.addEventListener('blur', (event) => {\n const isValid = validate(this.$el);\n btnSubmit.disabled = !isValid;\n });\n\n input.addEventListener('keydown', (event) => {\n this.$el.querySelector(this.SELECTORS.errorFormMessage)?.remove();\n });\n }\n });\n }\n\n bindSubmit() {\n this.onSubmit(async (e, action, formButton) => {\n try {\n this.loading();\n const formData = this.serializeForm(e.currentTarget).getData('object');\n const { data } = await post(action, { ...formData });\n if (data.error && data.error != 'PASSWORD_ORCKESTRA_MISMATCH') {\n this.endLoading();\n this.sendLoginErrorEvent(data.errorStatus);\n } else {\n if (data.dataCookieStore) {\n this.setCookie(data.dataCookieStore);\n }\n if (data.timeslotFlow && data.cartPayload) {\n let cartPayload = JSON.parse(data.cartPayload);\n if (cartPayload) {\n const res = await post(this.$options.endpointAddToCart, { ...cartPayload });\n if (res.data && res.data.quantityTotal) {\n appPostMessage({ qtyInCart: res.data.quantityTotal });\n }\n if (res.data.reorder) {\n this.EMIT(this.CUSTOM_MESSAGES.REORDER_EVENTS.updated, res.data);\n }\n // redirect manuale dopo l'add product perchè su safari da problemi\n if (data.redirectAfterAddProduct) {\n window.location.href = data.redirectAfterAddProduct;\n }\n }\n }\n let customerId = data.customerNo;\n window.dataLayer = window.dataLayer || [];\n window.dataLayer.push({\n event: 'Authentification',\n event_category: 'Authentification',\n event_action: 'SignIn'\n });\n window.dataLayer.push({\n event: 'login',\n method: 'email',\n user_id: customerId\n });\n }\n return data;\n } catch (err) {\n this.endLoading();\n }\n });\n }\n\n sendLoginErrorEvent(errorStatus) {\n if (window.dataLayer) {\n window.dataLayer.push({\n event: 'error',\n error_type: errorStatus,\n error_name: errorStatus,\n error_location: 'login',\n event_detail: errorStatus\n });\n }\n }\n\n async setCookie(data) {\n Cookies.set('c4_store_info', data.storeId + '|' + data.shippingMethodId + '|' + data.cap + '|' + data.city, { expires: 30 });\n }\n\n sendClickEvent() {\n this.$on(\n 'click',\n (e) => {\n if (window.dataLayer) {\n window.dataLayer.push({\n event: 'button_click',\n area: 'login',\n type: 'sign_in',\n action: 'button_click',\n text: 'Accedi'\n });\n }\n },\n this.$el.querySelector(this.SELECTORS.formSubmitBtn)\n );\n }\n}\n","/* eslint-disable new-cap */\n/* eslint-disable valid-jsdoc */\n/* eslint-disable no-underscore-dangle */\n\nimport Bean from 'bean';\nimport deepFreeze from '../utilities/freeze';\nimport BaseGiaComponent from './baseGiaComponent';\n\nexport default class BaseComponent extends BaseGiaComponent {\n /**\n * @returns {HTMLElement}\n */\n get $el() {\n return /** @type {HTMLElement} */ (this._componentElement);\n }\n\n get $options() {\n const compOptions = {};\n const options = { ...this.$el.dataset };\n const optionsEntires = Object.keys(options).filter((entry) => entry.includes('option'));\n optionsEntires.forEach((entry) => {\n const cleanEntry = BaseComponent.cleanOptionKey(entry);\n let optionValue;\n if (options[entry].includes('{') && options[entry].includes('}')) {\n optionValue = JSON.parse(options[entry].replace(/'/g, '\"'));\n } else {\n optionValue = BaseComponent.convertType(options[entry]);\n }\n compOptions[cleanEntry] = optionValue;\n });\n return deepFreeze(compOptions);\n }\n\n get COMPONENT_NAME() {\n return this.$el.getAttribute('data-component');\n }\n\n /**\n *\n * constructor\n *\n * @param {Element} element\n */\n constructor(element) {\n super(element);\n this._componentElement = element;\n this._componentElement.setAttribute('data-component-init', 'true');\n this._checkMessages();\n }\n\n static convertType(option) {\n let optionReturn;\n switch (option) {\n case 'false':\n optionReturn = false;\n break;\n case 'true':\n optionReturn = true;\n break;\n case 'null':\n optionReturn = null;\n break;\n default:\n optionReturn = option;\n break;\n }\n\n return optionReturn;\n }\n\n static cleanOptionKey(key) {\n const str = key.replace('option', '');\n return `${str.charAt(0).toLocaleLowerCase()}${str.slice(1)}`;\n }\n\n /**\n *\n * $on\n *\n * @param {String} events\n * @param {Function} cb\n * @param {Element} [element = this.$el]\n * @param {Array|String|Element} [elements = null]\n */\n $on(events, cb, element = this.$el, elements = null) {\n if (!element || !events || !cb) return;\n if (!elements) {\n Bean.on(element, events, (e) => {\n if (e) e.stopPropagation();\n cb(e);\n });\n } else {\n Bean.on(element, events, elements, (e) => {\n if (e) e.stopPropagation();\n cb(e);\n });\n }\n }\n\n /**\n *\n * $one\n *\n * @param {String} events\n * @param {Function} cb\n * @param {Element} [element = this.$el]\n */\n $one(events, cb, element = this.$el) {\n Bean.one(element, events, cb);\n }\n\n /**\n *\n * $off\n *\n * @param {String} events\n * @param {Element} [element = this.$el]\n */\n $off(events, element = this.$el) {\n Bean.off(element, events);\n }\n\n /**\n *\n * $fire\n *\n * @param {String} events\n * @param {Element} [element = this.$el]\n */\n $fire(events, element = this.$el) {\n Bean.fire(element, events);\n }\n\n /**\n *\n * Activate loader\n *\n * @param {HTMLElement} [container]\n * @param {String} [message]\n */\n loading(container, message) {\n this._loading = true;\n this.EMIT(this.CUSTOM_MESSAGES.LOADER_EVENTS.show, {\n container: container || document.body,\n message: message ?? null\n });\n }\n\n /**\n *\n * Deactivate loader\n *\n * @param {HTMLElement} [container]\n * @param {String} [message]\n * @param {Boolean} [error=false]\n * @param {String} [icon]\n */\n endLoading(container, message, error = false, icon) {\n this._loading = false;\n setTimeout(() => {\n if (!this._loading) {\n this.EMIT(this.CUSTOM_MESSAGES.LOADER_EVENTS.hide, {\n container: container || document.body,\n message,\n error,\n icon\n });\n }\n }, 400);\n }\n}\n","import Axios from 'axios';\nimport CommonInterface from '../base/commonInterface';\nimport CustomMessages from '../constants/customMessages';\n\n\nconst axios = Axios.create({\n transformRequest: [function (data, headers) {\n if (headers && headers.skiptransform) {\n delete headers.skiptransform;\n return data;\n }\n if (data && Object.entries(data)) {\n const formData = new FormData();\n for (const [key, value] of Object.entries(data)) {\n formData.append(key, value);\n }\n return formData;\n }\n }],\n});\n\nconst recaptchaToken = async ({ googleRecaptchaAction, googleRecaptchaClientSide }) => new Promise((resolve, reject) => {\n window.grecaptcha.ready(() => {\n window.grecaptcha.execute(googleRecaptchaClientSide, { action: googleRecaptchaAction }).then((token) => {\n resolve(token);\n });\n });\n});\n\naxios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest';\n\n// Add a request interceptor\naxios.interceptors.request.use(async (config) => {\n // Do something before request is sent\n if (config.data && config.data.googleRecaptchaAction && config.data.googleRecaptchaClientSide && window.grecaptcha) {\n const token = await recaptchaToken(config.data);\n config.data.googleRecaptchaToken = token;\n return config;\n }\n return config;\n}, function (error) {\n // Do something with request error\n return Promise.reject(error);\n});\n\n// Add a response interceptor\naxios.interceptors.response.use(function (response) {\n let commonInterface = new CommonInterface();\n if (response.data && response.data.pushState || response.data.replaceState) {\n response.data.pushState && history.pushState({}, '', response.data.pushState);\n response.data.replaceState && history.replaceState({}, '', response.data.replaceState);\n if (response.data.redirectUrl) {\n setTimeout(() => {\n location.href = response.data.redirectUrl;\n }, 500);\n }\n }\n else if (response.data && response.data.redirectUrl) {\n let hrefUrl=response.data.redirectUrl;\n let paybackParam = '';\n if (response.data.isPaybackPopupActive) {\n paybackParam = hrefUrl.indexOf('?') > -1 ? '&isPaybackPopupActive=true' : '?isPaybackPopupActive=true';\n }\n hrefUrl =hrefUrl+paybackParam;\n let trialParam = '';\n if (response.data.subscriptionTrialModalNotEligibleAfterLogin) {\n trialParam = hrefUrl.indexOf('?') > -1 ? '&subscriptionTrialModalNotEligibleAfterLogin=true' : '?subscriptionTrialModalNotEligibleAfterLogin=true';\n } \n location.href = hrefUrl+trialParam;\n }\n if (response.data && response.data.error) {\n if(response.config.data instanceof FormData) {\n response.config.data = Object.fromEntries(response.config.data);\n response.config.headers['Content-Type'] = \"application/json\"\n }\n commonInterface.EMIT(`error.${response.data.error}`, {res: response});\n }\n\n if (response.data && response.data.notificationPush && response.data.notificationPush.showNotification) {\n commonInterface.EMIT(`notification:push`, response.data.notificationPush);\n }\n\n if (response.data && response.data.pushPromoPre && response.data.pushPromoPre.length > 0) {\n const orderedPush = response.data.pushPromoPre.sort(function(promoA, promoB) {\n return promoA.rank > promoB.rank ? -1 : promoB.rank > promoA.rank ? 1 : 0;\n });\n commonInterface.EMIT(`notification:pushFirstAvailable`, { notifications: orderedPush });\n }\n \n if (response.data && response.data.pushPromoPost) {\n commonInterface.EMIT(`notification:pushall`, response.data.pushPromoPost);\n }\n\n\n // Any status code that lie within the range of 2xx cause this function to trigger\n // Do something with response data\n return response;\n}, function (error) {\n if (error.response?.data && error.response?.data?.redirectUrl) {\n location.href = error.response.data.redirectUrl;\n }\n\n // Any status codes that falls outside the range of 2xx cause this function to trigger\n // Do something with response error\n return Promise.reject(error);\n});\n\nexport const { CancelToken } = Axios;\n\nexport const {\n get, post, all, spread, request\n} = axios;\n","var superPropBase = require(\"./superPropBase.js\");\n\nfunction _get() {\n if (typeof Reflect !== \"undefined\" && Reflect.get) {\n module.exports = _get = Reflect.get, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n } else {\n module.exports = _get = function _get(target, property, receiver) {\n var base = superPropBase(target, property);\n if (!base) return;\n var desc = Object.getOwnPropertyDescriptor(base, property);\n\n if (desc.get) {\n return desc.get.call(arguments.length < 3 ? target : receiver);\n }\n\n return desc.value;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n }\n\n return _get.apply(this, arguments);\n}\n\nmodule.exports = _get, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var getPrototypeOf = require(\"./getPrototypeOf.js\");\n\nfunction _superPropBase(object, property) {\n while (!Object.prototype.hasOwnProperty.call(object, property)) {\n object = getPrototypeOf(object);\n if (object === null) break;\n }\n\n return object;\n}\n\nmodule.exports = _superPropBase, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","class SerializeForm {\n static get BLACK_LIST() {\n return {\n elements: ['button', 'file', 'reset', 'submit']\n };\n }\n\n /**\n *\n * @param {HTMLFormElement} form\n */\n constructor(form) {\n this.form = SerializeForm.serialize(form);\n }\n\n /**\n * Get the form serialization data by format\n *\n * @param {String} [dataType] The data type to return ('array', 'object' or empty to return string)\n * @returns {*}\n */\n getData(dataType) {\n switch (dataType) {\n case 'array':\n return SerializeForm.getFormDataArray(this.form);\n case 'object':\n return SerializeForm.getFormDataObject(this.form);\n default:\n return this.form.join('&').replace(/%20/g, '+');\n }\n }\n\n /**\n * Get the form serialization data string\n *\n * @returns {String}\n */\n toString() {\n return this.form.join('&').replace(/%20/g, '+');\n }\n\n /**\n * Get the form serialization data array\n *\n * @returns {Array}\n */\n toArray() {\n return SerializeForm.getFormDataArray(this.form);\n }\n\n /**\n * Get the form serialization data object\n *\n * @returns {Object}\n */\n toObject() {\n return SerializeForm.getFormDataObject(this.form);\n }\n\n /**\n *\n * @param {HTMLFormElement} form\n * @return {Array}\n */\n static getFormDataArray(form) {\n return [\n ...form.map((data) => {\n const tempData = data.split('=');\n return {\n name: tempData[0],\n value: tempData.slice(1).join('=')\n };\n })\n ];\n }\n\n /**\n *\n * @param {HTMLFormElement} form\n */\n static getFormDataObject(form) {\n const formData = {};\n form.forEach((data) => {\n const tempData = data.split('=');\n let fieldKey = tempData[0];\n let fieldVale = tempData.slice(1).join('=');\n if (formData[fieldKey]) {\n fieldVale = encodeURIComponent(fieldVale);\n const newArrayString = `${\n typeof formData[fieldKey] === 'object' ? formData[fieldKey].map(encodeURIComponent).join('&') : encodeURIComponent(formData[fieldKey])\n }&${fieldVale}`;\n formData[fieldKey] = newArrayString.split('&').map(decodeURIComponent);\n } else {\n formData[fieldKey] = fieldVale;\n }\n });\n\n return formData;\n }\n\n /**\n *\n * @param {HTMLFormElement} form\n * @return {boolean}\n */\n static isValidForm(form) {\n return typeof form === 'object' && form.nodeName === 'FORM';\n }\n\n /**\n *\n * @param {HTMLElement} el\n * @return {boolean}\n */\n static isvalidElement(el) {\n return el.name && !el.disabled && !SerializeForm.BLACK_LIST.elements.includes(el.type);\n }\n\n /**\n *\n * @param {HTMLFormElement} form\n * @return {Array}\n */\n static serialize(form) {\n const data = [];\n if (SerializeForm.isValidForm(form)) {\n [...form.elements].forEach((el) => {\n if (SerializeForm.isvalidElement(el)) {\n if (el.type === 'select-multiple') {\n el.options.forEach((opt) => {\n if (opt.selected) data.push(`${el.name}=${opt.value}`);\n });\n } else if ((el.type !== 'checkbox' && el.type !== 'radio') || el.checked) {\n data.push(`${el.name}=${el.value}`);\n }\n }\n });\n }\n return data;\n }\n}\n\nexport default SerializeForm;\n","/**\n * @type {ScrollIntoViewOptions}\n */\nconst scrollConfig = {\n behavior: 'smooth',\n block: 'center',\n inline: 'center'\n};\n\nexport const formErrorsConfig = {\n CLASSES: {\n HAS_ERRORS: 'error',\n GROUP_ERROR: 'form-group-error',\n ERROR_MESSAGE: 'error-message',\n JS_ERROR_MESSAGE: 'js-error-message',\n JS_FORM_WARNING: 'js-form-warning'\n },\n SELECTORS: {\n ERROR_MESSAGE: '.error-message',\n FORM_GROUP_FEEDBACK: '.form-group',\n JS_ERROR_MESSAGE: '.js-error-message',\n JS_FORM_WARNING: '.js-form-warning',\n BTN_SUBMIT: 'button[type=\"submit\"]',\n MODAL_ACTIONS: '.modal-actions'\n }\n};\n\n/**\n * @param {string} message\n * @returns {HTMLDivElement}\n */\nconst inputErrorMsg = (message) => {\n const messageEl = document.createElement('div');\n messageEl.classList.add(formErrorsConfig.CLASSES.ERROR_MESSAGE, formErrorsConfig.CLASSES.JS_ERROR_MESSAGE);\n messageEl.innerHTML = message;\n messageEl.closest(formErrorsConfig.SELECTORS.FORM_GROUP_FEEDBACK)?.classList.add(formErrorsConfig.CLASSES.GROUP_ERROR);\n return messageEl;\n};\n\n/**\n * @param {string} message\n * @returns {HTMLSpanElement}\n */\nconst formErroMessage = (message) => {\n const messageEl = document.createElement('span');\n messageEl.classList.add(formErrorsConfig.CLASSES.HAS_ERRORS, formErrorsConfig.CLASSES.JS_FORM_WARNING);\n messageEl.innerHTML += message;\n return messageEl;\n};\n\n/**\n * @param {HTMLFormElement} form\n * @param {Function} cb\n */\nexport const cleanInputs = (form, cb) => {\n const inputs = form.querySelectorAll('input, select');\n [...inputs].forEach(\n /**\n * @param {HTMLInputElement | HTMLSelectElement} el\n */\n (el) => {\n const error = el.parentElement.querySelector(formErrorsConfig.SELECTORS.ERROR_MESSAGE);\n const parent = error.parentElement;\n el.closest(formErrorsConfig.SELECTORS.FORM_GROUP_FEEDBACK)?.classList.add(formErrorsConfig.CLASSES.GROUP_ERROR);\n el.classList.remove(formErrorsConfig.CLASSES.HAS_ERRORS);\n el.removeAttribute('aria-invalid');\n parent.removeChild(error);\n }\n );\n};\n\n/**\n * @param {HTMLFormElement} form\n * @param {Object} errors\n */\nexport const showFieldsErrors = (form, errors) => {\n for (const [key, value] of Object.entries(errors)) {\n const el = form.querySelector(`[name=\"${key}\"]`);\n const parent = el.closest(formErrorsConfig.SELECTORS.FORM_GROUP_FEEDBACK);\n el.classList.add(formErrorsConfig.CLASSES.HAS_ERRORS);\n el.setAttribute('aria-invalid', 'true');\n parent.appendChild(inputErrorMsg(value));\n }\n const error = form.querySelector(formErrorsConfig.SELECTORS.ERROR_MESSAGE);\n if (error) {\n error.scrollIntoView(scrollConfig);\n }\n};\n\n/**\n * @param {HTMLFormElement} form\n * @param {string} error\n */\nexport const showGlobalError = (form, error) => {\n const button = form.querySelector(formErrorsConfig.SELECTORS.BTN_SUBMIT);\n const parent = button.parentNode;\n const modalActions = form.querySelector(formErrorsConfig.SELECTORS.MODAL_ACTIONS);\n const modalParent = modalActions ? modalActions.parentNode : '';\n const errorEl = formErroMessage(error);\n modalActions ? modalParent.appendChild(errorEl, button) : parent.insertBefore(errorEl, button);\n};\n","/* eslint-disable sonarjs/no-redundant-boolean */\n// import SerializeAll from 'form-serialize-all';\nimport Serialize from '../utilities/SerializeForm';\nimport BaseComponent from './baseComponent';\nimport { showFieldsErrors, showGlobalError, formErrorsConfig } from '../utilities/formErrors';\n\nexport default class BaseFormComponent extends BaseComponent {\n /**\n * @param {Element} element\n */\n constructor(element) {\n super(element);\n this.setState({ valid: false });\n }\n\n /**\n * @returns {HTMLFormElement}\n */\n get $el() {\n return /** @type {HTMLFormElement} */ (super.$el);\n }\n\n /**\n * @param {CallableFunction} cb - The callback function\n */\n onSubmit(cb) {\n this.$on('bouncerFormValid', async (e) => {\n e.preventDefault();\n e.stopImmediatePropagation();\n const formButton = e.currentTarget.querySelector(formErrorsConfig.SELECTORS.BTN_SUBMIT);\n const action = e.currentTarget.getAttribute('action');\n this.cleanCustomError();\n const res = await cb(e, action, formButton);\n if (res) this.handleRes(res);\n });\n }\n\n /**\n * @param {{ error: any; errorFields: any; errorMessage: any; }} res\n */\n handleRes(res) {\n const { error, errorFields, errorMessage } = res;\n if (error == 'PASSWORD_ORCKESTRA_MISMATCH') {\n return;\n }\n if (errorFields) {\n showFieldsErrors(this.$el, errorFields);\n }\n if (errorMessage) {\n showGlobalError(this.$el, errorMessage);\n } else if (error && error != true) {\n showGlobalError(this.$el, error);\n }\n }\n\n cleanCustomError() {\n const errorFields = this.$el.querySelectorAll(formErrorsConfig.SELECTORS.JS_ERROR_MESSAGE); //.js-input-error-message\n const globaError = this.$el.querySelectorAll(formErrorsConfig.SELECTORS.JS_FORM_WARNING); // .js-form-error-message\n\n if (globaError.length > 0) {\n [...globaError].forEach((err) => {\n const parent = err.parentElement;\n parent.removeChild(err);\n });\n }\n if (errorFields.length > 0) {\n [...errorFields].forEach((err) => {\n try {\n const parent = err.parentElement;\n parent.removeChild(err);\n // TODO: use a clean function to do this\n parent.querySelector('input').classList.remove(formErrorsConfig.CLASSES.HAS_ERRORS);\n err.classList.remove(formErrorsConfig.CLASSES.HAS_ERRORS);\n err.removeAttribute('aria-describedby');\n err.removeAttribute('aria-invalid');\n } catch (e) {\n // TODO: error...\n }\n });\n }\n }\n\n /**\n *\n * @param {HTMLFormElement} form\n * @return {Object} form data in json format\n */\n serializeForm(form) {\n return new Serialize(form);\n }\n}\n","/*!\n * JavaScript Cookie v2.2.1\n * https://github.com/js-cookie/js-cookie\n *\n * Copyright 2006, 2015 Klaus Hartl & Fagner Brack\n * Released under the MIT license\n */\n;(function (factory) {\n\tvar registeredInModuleLoader;\n\tif (typeof define === 'function' && define.amd) {\n\t\tdefine(factory);\n\t\tregisteredInModuleLoader = true;\n\t}\n\tif (typeof exports === 'object') {\n\t\tmodule.exports = factory();\n\t\tregisteredInModuleLoader = true;\n\t}\n\tif (!registeredInModuleLoader) {\n\t\tvar OldCookies = window.Cookies;\n\t\tvar api = window.Cookies = factory();\n\t\tapi.noConflict = function () {\n\t\t\twindow.Cookies = OldCookies;\n\t\t\treturn api;\n\t\t};\n\t}\n}(function () {\n\tfunction extend () {\n\t\tvar i = 0;\n\t\tvar result = {};\n\t\tfor (; i < arguments.length; i++) {\n\t\t\tvar attributes = arguments[ i ];\n\t\t\tfor (var key in attributes) {\n\t\t\t\tresult[key] = attributes[key];\n\t\t\t}\n\t\t}\n\t\treturn result;\n\t}\n\n\tfunction decode (s) {\n\t\treturn s.replace(/(%[0-9A-Z]{2})+/g, decodeURIComponent);\n\t}\n\n\tfunction init (converter) {\n\t\tfunction api() {}\n\n\t\tfunction set (key, value, attributes) {\n\t\t\tif (typeof document === 'undefined') {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tattributes = extend({\n\t\t\t\tpath: '/'\n\t\t\t}, api.defaults, attributes);\n\n\t\t\tif (typeof attributes.expires === 'number') {\n\t\t\t\tattributes.expires = new Date(new Date() * 1 + attributes.expires * 864e+5);\n\t\t\t}\n\n\t\t\t// We're using \"expires\" because \"max-age\" is not supported by IE\n\t\t\tattributes.expires = attributes.expires ? attributes.expires.toUTCString() : '';\n\n\t\t\ttry {\n\t\t\t\tvar result = JSON.stringify(value);\n\t\t\t\tif (/^[\\{\\[]/.test(result)) {\n\t\t\t\t\tvalue = result;\n\t\t\t\t}\n\t\t\t} catch (e) {}\n\n\t\t\tvalue = converter.write ?\n\t\t\t\tconverter.write(value, key) :\n\t\t\t\tencodeURIComponent(String(value))\n\t\t\t\t\t.replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g, decodeURIComponent);\n\n\t\t\tkey = encodeURIComponent(String(key))\n\t\t\t\t.replace(/%(23|24|26|2B|5E|60|7C)/g, decodeURIComponent)\n\t\t\t\t.replace(/[\\(\\)]/g, escape);\n\n\t\t\tvar stringifiedAttributes = '';\n\t\t\tfor (var attributeName in attributes) {\n\t\t\t\tif (!attributes[attributeName]) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tstringifiedAttributes += '; ' + attributeName;\n\t\t\t\tif (attributes[attributeName] === true) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\t// Considers RFC 6265 section 5.2:\n\t\t\t\t// ...\n\t\t\t\t// 3. If the remaining unparsed-attributes contains a %x3B (\";\")\n\t\t\t\t// character:\n\t\t\t\t// Consume the characters of the unparsed-attributes up to,\n\t\t\t\t// not including, the first %x3B (\";\") character.\n\t\t\t\t// ...\n\t\t\t\tstringifiedAttributes += '=' + attributes[attributeName].split(';')[0];\n\t\t\t}\n\n\t\t\treturn (document.cookie = key + '=' + value + stringifiedAttributes);\n\t\t}\n\n\t\tfunction get (key, json) {\n\t\t\tif (typeof document === 'undefined') {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tvar jar = {};\n\t\t\t// To prevent the for loop in the first place assign an empty array\n\t\t\t// in case there are no cookies at all.\n\t\t\tvar cookies = document.cookie ? document.cookie.split('; ') : [];\n\t\t\tvar i = 0;\n\n\t\t\tfor (; i < cookies.length; i++) {\n\t\t\t\tvar parts = cookies[i].split('=');\n\t\t\t\tvar cookie = parts.slice(1).join('=');\n\n\t\t\t\tif (!json && cookie.charAt(0) === '\"') {\n\t\t\t\t\tcookie = cookie.slice(1, -1);\n\t\t\t\t}\n\n\t\t\t\ttry {\n\t\t\t\t\tvar name = decode(parts[0]);\n\t\t\t\t\tcookie = (converter.read || converter)(cookie, name) ||\n\t\t\t\t\t\tdecode(cookie);\n\n\t\t\t\t\tif (json) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tcookie = JSON.parse(cookie);\n\t\t\t\t\t\t} catch (e) {}\n\t\t\t\t\t}\n\n\t\t\t\t\tjar[name] = cookie;\n\n\t\t\t\t\tif (key === name) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t} catch (e) {}\n\t\t\t}\n\n\t\t\treturn key ? jar[key] : jar;\n\t\t}\n\n\t\tapi.set = set;\n\t\tapi.get = function (key) {\n\t\t\treturn get(key, false /* read as raw */);\n\t\t};\n\t\tapi.getJSON = function (key) {\n\t\t\treturn get(key, true /* read as json */);\n\t\t};\n\t\tapi.remove = function (key, attributes) {\n\t\t\tset(key, '', extend(attributes, {\n\t\t\t\texpires: -1\n\t\t\t}));\n\t\t};\n\n\t\tapi.defaults = {};\n\n\t\tapi.withConverter = init;\n\n\t\treturn api;\n\t}\n\n\treturn init(function () {});\n}));\n"],"sourceRoot":""}