{"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<Object>}\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":""}