{"version":3,"sources":["webpack:///./src/client/default/js/components/mainComponent.js","webpack:///./src/client/default/js/base/baseComponent.js","webpack:///./src/client/default/js/libs/Axios.js","webpack:///./src/client/default/js/utilities/postMessageHandler.js"],"names":["MainComponent","element","setupAppMessageListener","document","querySelector","SELECTORS","storeSelectorApp","getStoreSelection","$options","showAgeModal","getAgeModal","promoBundleId","openPromoBundleModal","ageModal","storeSelectionBar","storeSelection","promoBundleModalTemplate","a","get","this","storeSelectionUrl","params","timeslotEnabled","data","innerHTML","showSelection","classList","add","console","error","ageModalUrl","smid","endpointPromoBundle","EMIT","CUSTOM_MESSAGES","MODAL_EVENTS","show","selector","className","afterOpen","wrapper","BaseComponent","_componentElement","setAttribute","_checkMessages","compOptions","options","$el","dataset","Object","keys","filter","entry","includes","forEach","optionValue","cleanEntry","cleanOptionKey","JSON","parse","replace","convertType","deepFreeze","getAttribute","events","cb","elements","Bean","on","e","stopPropagation","one","off","fire","container","message","_loading","LOADER_EVENTS","body","icon","setTimeout","hide","option","optionReturn","key","str","charAt","toLocaleLowerCase","slice","BaseGiaComponent","axios","Axios","create","transformRequest","headers","skiptransform","entries","formData","FormData","value","append","recaptchaToken","googleRecaptchaAction","googleRecaptchaClientSide","Promise","resolve","reject","window","grecaptcha","ready","execute","action","then","token","defaults","common","interceptors","request","use","config","googleRecaptchaToken","response","commonInterface","CommonInterface","pushState","replaceState","history","redirectUrl","location","href","hrefUrl","paybackParam","isPaybackPopupActive","indexOf","trialParam","subscriptionTrialModalNotEligibleAfterLogin","fromEntries","res","notificationPush","showNotification","pushPromoPre","length","orderedPush","sort","promoA","promoB","rank","notifications","pushPromoPost","CancelToken","post","all","spread","handlers","registerMessageHandler","actionType","handler","addEventListener","event","payload"],"mappings":"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","file":"js/component-mainComponent-js.chunks.js","sourcesContent":["import BaseComponent from '../base/baseComponent';\nimport { setupAppMessageListener } from '../utilities/postMessageHandler';\n\nimport { get } from '../libs/Axios';\nexport default class MainComponent extends BaseComponent {\n get SELECTORS() {\n return {\n storeSelectorApp: '.store-selector-app',\n ageModal: '#age-modal-main',\n storeSelectionBar: '#store-selection-bar-main',\n storeSelection: '.store-selection-bar',\n promoBundleModalTemplate: '#jsPromoBundleModal'\n };\n }\n constructor(element) {\n super(element);\n setupAppMessageListener();\n\n const isNativeApp = document.querySelector(this.SELECTORS.storeSelectorApp);\n if (!isNativeApp) {\n this.getStoreSelection();\n }\n\n if (this.$options.showAgeModal) {\n this.getAgeModal();\n }\n if (this.$options.promoBundleId) {\n this.openPromoBundleModal();\n }\n }\n\n async getStoreSelection() {\n try {\n // this.loading();\n const { data } = await get(this.$options.storeSelectionUrl, {\n params: {\n timeslotEnabled: this.$options.timeslotEnabled\n }\n });\n if (data?.storeSelectionBar) {\n document.querySelector(this.SELECTORS.storeSelectionBar).innerHTML = data.storeSelectionBar;\n if (this.$options.showSelection) {\n document.querySelector(this.SELECTORS.storeSelection).classList.add('loaded');\n }\n }\n } catch (err) {\n console.error(err);\n }\n // this.endLoading();\n }\n async getAgeModal() {\n try {\n // this.loading();\n const { data } = await get(this.$options.ageModalUrl);\n if (data?.ageModal) document.querySelector(this.SELECTORS.ageModal).innerHTML = data.ageModal;\n } catch (err) {\n console.error(err);\n }\n // this.endLoading();\n }\n async openPromoBundleModal() {\n let promoBundleId = this.$options.promoBundleId;\n let smid = this.$options.smid;\n const { data } = await get(this.$options.endpointPromoBundle + `?pid=${promoBundleId}&smid=${smid}&fromweb=true`);\n if (promoBundleId && data) {\n this.EMIT(this.CUSTOM_MESSAGES.MODAL_EVENTS.show, {\n selector: this.SELECTORS.promoBundleModalTemplate,\n className: 'promoBundleModalTemplate full-height ios-scroll-modal',\n afterOpen: () => {\n let wrapper = document.querySelector('.js-promo-bundle-item-wrapper');\n if (wrapper) {\n wrapper.innerHTML = data;\n }\n }\n });\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","const handlers = {};\n\n// Funzione per registrare un handler per un tipo di messaggio specifico\nexport function registerMessageHandler(actionType, handler) {\n handlers[actionType] = handler;\n}\n\n// Funzione per rimuovere un handler per un tipo di messaggio specifico\nexport function unregisterMessageHandler(actionType) {\n delete handlers[actionType];\n}\n\n// Funzione di ascolto generica per gestire i messaggi in arrivo\nexport function setupAppMessageListener() {\n window.addEventListener('message', (event) => {\n try {\n const message = typeof event.data === 'string' ? JSON.parse(event.data) : event.data;\n\n const { action, payload } = message;\n // Verifica se esiste un handler registrato per questo tipo di azione\n if (handlers[action]) {\n handlers[action](payload);\n }\n } catch (error) {\n console.error('Error parsing message:', error);\n }\n });\n}\n"],"sourceRoot":""}