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