{"version":3,"sources":["webpack:///./src/client/default/js/components/miniCartComponent.js","webpack:///./src/client/default/js/base/baseComponent.js"],"names":["MiniCartComponent","_BaseComponent","element","_this2","_classCallCheck","_callSuper","initClickEvent","checkScrollTop","_inherits","_createClass","key","get","_defineProperty","this","CUSTOM_MESSAGES","UPDATE_CART_EVENTS","quantityUpdate","updateBadgeQty","totalPriceUpdate","updateTotalPrice","closeMinicart","resetLayer","maxLineItemsExceeded","BREAKPOINTER","BREAKPOINT_CHANGE","onBreakpointChange","infoStrip","mainHeader","badge","tooltip","priceBadge","totalPrice","button","closeButton","pushApp","floatingError","floatingErrorMessage","HIDE_BADGE","NO_HOVER","SHOW_TOOLTIP","SCROLL_TOP","SHOW_MINICART_TOOLTIP","value","cartQty","_this3","anchorButtonReplacer","parseInt","$el","dataset","appPostMessage","qtyInCart","error","console","_this","$on","EVENTS_ID","event","handleEmptyCartClick","e","preventDefault","miniCartTooltip","querySelector","SELECTORS","classList","contains","CLASSES","remove","add","setTimeout","_this4","$off","innerHTML","setAttribute","concat","total","replace","trim","_this5","lastScrollTop","window","addEventListener","st","pageYOffset","document","documentElement","scrollTop","$options","sidebar","initialStateButton","ariaLabel","getAttribute","isMobile","tagName","anchor","createElement","href","removeChild","appendChild","isDesktop","_this6","body","className","moveInfostrip","scrollTo","insertBefore","nextSibling","firstChild","message","timeout","closeBtn","innerText","style","display","clearTimeout","action","BaseComponent","_BaseGiaComponent","_componentElement","_checkMessages","compOptions","options","_objectSpread","Object","keys","filter","entry","includes","forEach","optionValue","cleanEntry","cleanOptionKey","JSON","parse","convertType","deepFreeze","events","cb","arguments","length","undefined","elements","Bean","on","stopPropagation","one","off","fire","container","_loading","EMIT","LOADER_EVENTS","show","icon","hide","option","optionReturn","str","charAt","toLocaleLowerCase","slice","BaseGiaComponent"],"mappings":"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","file":"js/component-miniCartComponent-js.chunks.js","sourcesContent":["import BaseComponent from '../base/baseComponent';\nimport { appPostMessage } from '../utilities/postMessage';\n\nexport default class MiniCartComponent extends BaseComponent {\n get Messages() {\n return {\n [this.CUSTOM_MESSAGES.UPDATE_CART_EVENTS.quantityUpdate]: this.updateBadgeQty,\n [this.CUSTOM_MESSAGES.UPDATE_CART_EVENTS.totalPriceUpdate]: this.updateTotalPrice,\n [this.CUSTOM_MESSAGES.UPDATE_CART_EVENTS.closeMinicart]: this.resetLayer,\n [this.CUSTOM_MESSAGES.UPDATE_CART_EVENTS.maxLineItemsExceeded]: this.maxLineItemsExceeded,\n [this.CUSTOM_MESSAGES.BREAKPOINTER.BREAKPOINT_CHANGE]: this.onBreakpointChange\n };\n }\n\n get SELECTORS() {\n return {\n infoStrip: '.information-strip.is-visible',\n mainHeader: 'header.header',\n badge: '.minicart__badge',\n tooltip: '.minicart__tooltip',\n priceBadge: '.minicart__pricebadge',\n totalPrice: '.minicart__totalprice',\n button: '.minicart__button',\n closeButton: '.minicart-close',\n pushApp: '.push-app-content-wrapper',\n floatingError: '.floating-error',\n floatingErrorMessage: '.floating-error-message'\n };\n }\n\n get CLASSES() {\n return {\n HIDE_BADGE: 'no-show',\n NO_HOVER: 'no-hover',\n SHOW_TOOLTIP: 'visible',\n SCROLL_TOP: 'scroll-top'\n };\n }\n\n get EVENTS_ID() {\n return {\n SHOW_MINICART_TOOLTIP: 'click.miniCart'\n };\n }\n\n constructor(element) {\n super(element);\n\n this.initClickEvent();\n this.checkScrollTop();\n }\n\n initClickEvent() {\n let cartQty;\n this.anchorButtonReplacer();\n try {\n cartQty = parseInt(this.$el.dataset.cartQty);\n appPostMessage({ qtyInCart: cartQty });\n } catch (error) {\n console.error(error);\n }\n if (cartQty == 0) {\n const _this = this;\n this.$on(this.EVENTS_ID.SHOW_MINICART_TOOLTIP, (event) => this.handleEmptyCartClick(event, _this));\n }\n }\n\n handleEmptyCartClick(e, _this) {\n e.preventDefault();\n const miniCartTooltip = _this.$el.querySelector(_this.SELECTORS.tooltip);\n if (miniCartTooltip) {\n if (miniCartTooltip.classList.contains(_this.CLASSES.SHOW_TOOLTIP)) {\n miniCartTooltip.classList.remove(_this.CLASSES.SHOW_TOOLTIP);\n } else {\n miniCartTooltip.classList.add(_this.CLASSES.SHOW_TOOLTIP);\n setTimeout(() => {\n miniCartTooltip.classList.remove(_this.CLASSES.SHOW_TOOLTIP);\n }, 2500);\n }\n }\n }\n\n updateBadgeQty(value) {\n const badge = this.$el.querySelector(this.SELECTORS.badge);\n this.$off(this.EVENTS_ID.SHOW_MINICART_TOOLTIP);\n if (parseInt(value.value) > 0) {\n badge.classList.remove(this.CLASSES.HIDE_BADGE);\n this.$el.classList.add(this.CLASSES.NO_HOVER);\n } else {\n const _this = this;\n this.$el.classList.remove(this.CLASSES.NO_HOVER);\n this.$on(this.EVENTS_ID.SHOW_MINICART_TOOLTIP, (event) => this.handleEmptyCartClick(event, _this));\n badge.classList.add(this.CLASSES.HIDE_BADGE);\n }\n badge.innerHTML = value.value;\n let button = this.$el.querySelector(this.SELECTORS.button);\n if (button) {\n button.setAttribute(\n 'aria-label',\n `Carrello${parseInt(value.value) > 0 ? ', ' + parseInt(value.value) + (parseInt(value.value) > 1 ? ' prodotti' : ' prodotto') : ''}${\n value.total && parseInt(value.value) > 0 ? ', totale ' + value.total.replace('€', '').trim() + '€' : ''\n }`\n );\n }\n appPostMessage({ qtyInCart: value.value });\n }\n\n updateTotalPrice(value) {\n const priceBadge = this.$el.querySelector(this.SELECTORS.priceBadge);\n const totalPrice = this.$el.querySelector(this.SELECTORS.totalPrice);\n if (value.value != 0) {\n priceBadge.classList.remove(this.CLASSES.HIDE_BADGE);\n } else {\n priceBadge.classList.add(this.CLASSES.HIDE_BADGE);\n }\n totalPrice.innerHTML = value.value.replace('€', '').trim() + '€';\n // appPostMessage({ priceInCart: value.value });\n }\n\n checkScrollTop() {\n var lastScrollTop = 0;\n window.addEventListener(\n 'scroll',\n () => {\n var st = window.pageYOffset || document.documentElement.scrollTop;\n if (st > lastScrollTop && this.$el.classList.contains(this.CLASSES.SCROLL_TOP)) {\n this.$el.classList.remove(this.CLASSES.SCROLL_TOP);\n } else if (st < lastScrollTop && !this.$el.classList.contains(this.CLASSES.SCROLL_TOP)) {\n this.$el.classList.add(this.CLASSES.SCROLL_TOP);\n }\n lastScrollTop = st <= 0 ? 0 : st;\n },\n false\n );\n }\n\n onBreakpointChange() {\n this.anchorButtonReplacer();\n }\n\n anchorButtonReplacer() {\n if (this.$options.sidebar && !document.querySelector('body').classList.contains('cart')) {\n let initialStateButton = this.$el.querySelector(this.SELECTORS.button);\n let ariaLabel = initialStateButton.getAttribute('aria-label');\n if (window.isMobile() && initialStateButton.tagName == 'BUTTON') {\n var anchor = document.createElement('a');\n anchor.setAttribute('href', this.$options.href);\n anchor.setAttribute('class', 'minicart__button');\n anchor.setAttribute('aria-label', ariaLabel);\n this.$el.removeChild(initialStateButton);\n this.$el.appendChild(anchor);\n } else if (window.isDesktop() && initialStateButton.tagName == 'A') {\n var button = document.createElement('button');\n button.setAttribute('class', 'minicart__button');\n button.setAttribute('aria-label', ariaLabel);\n button.setAttribute('aria-haspopup', 'dialog');\n button.setAttribute('aria-controls', 'carrello');\n this.$el.removeChild(initialStateButton);\n this.$el.appendChild(button);\n }\n }\n }\n\n resetLayer() {\n setTimeout(() => {\n document.body.className = document.body.className.replace(/\\bopenStoresList.*?\\b/g, '');\n if (this.$options.moveInfostrip && document.querySelector(this.SELECTORS.infoStrip)) {\n window.scrollTo(0, 0);\n document.querySelector(this.SELECTORS.mainHeader).classList.remove('moveinfostrip');\n document.querySelector(this.SELECTORS.mainHeader).classList.add('noanimation');\n document\n .querySelector(this.SELECTORS.mainHeader)\n .insertBefore(\n document.querySelector(this.SELECTORS.infoStrip),\n document.querySelector(this.SELECTORS.pushApp)\n ? document.querySelector(this.SELECTORS.pushApp).nextSibling\n : document.querySelector(this.SELECTORS.mainHeader).firstChild\n );\n }\n document.body.className = document.body.className.replace(/\\bopenExtraLayer.*?\\b/g, '');\n document.body.className = document.body.className.replace(/\\bopenStoresList.*?\\b/g, '');\n document.body.className = document.body.className.replace(/\\bopenSingleStoreDeliveryList.*?\\b/g, '');\n }, 400);\n }\n\n maxLineItemsExceeded(message) {\n var floatingError = document.querySelector(this.SELECTORS.floatingError);\n var floatingErrorMessage = document.querySelector(this.SELECTORS.floatingErrorMessage);\n var timeout;\n if (floatingError && floatingErrorMessage) {\n var closeBtn = floatingError.querySelector('.icon-close');\n floatingErrorMessage.innerText = message.message;\n floatingError.style.display = 'flex';\n closeBtn.addEventListener('click', function() {\n clearTimeout(timeout);\n floatingError.style.display = 'none';\n });\n clearTimeout(timeout);\n timeout = setTimeout(function() {\n floatingError.style.display = 'none';\n }, 6000);\n } else {\n appPostMessage({ action: 'MAX_ITEM_IN_CART', message: message.message });\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"],"sourceRoot":""}