{"version":3,"sources":["webpack:///./src/client/default/js/constants/menuConstants.js","webpack:///./src/client/default/js/components/navigationCarouselComponent.js","webpack:///./src/client/default/js/utilities/URLDecoder.js","webpack:///./src/client/default/js/utilities/dataLayerUtils.js","webpack:///./node_modules/@babel/runtime/helpers/get.js","webpack:///./node_modules/@babel/runtime/helpers/superPropBase.js"],"names":["deepFreeze","isActiveInPages","isHomePage","isPLP","isPDP","NavigationCarouselComponent","_BaseCarousel","element","_document$querySelect","_document$querySelect2","_this","_classCallCheck","_callSuper","pageAction","document","querySelector","dataset","action","setState","isMount","lazyMount","handleClick","_inherits","_createClass","key","get","_objectSpread","secondLevelNavigation","selectedFirstLevelCategory","secondLevelCategoryCardLink","_defineProperty","this","CUSTOM_MESSAGES","BREAKPOINTER","BREAKPOINT_CHANGE","onBreakpointChange","_navigationContainer","SELECTORS","value","_this$navigationConta","navigationContainer","classList","contains","_ref2","breakPoint","isMountable","destroy","menuConstants","includes","isSubhome","window","isDesktop","mount","$el","$options","_this2","Array","from","getElementsByTagName","forEach","singleLink","$on","e","link","area","type","url","href","text","innerText","sendNavEventToDataLayer","BaseCarousel","getPathName","pathName","dontUseCustomPathName","list","urlPathNameTable","split","urlPathNameOrSandbox","length","str","toString","endsWith","slice","indexOf","replaceAll","parsePathName","getCustomPathName","console","log","sendAddOrRemoveProductToDataLayer","eventName","productImpressions","price","breadcrumbs","promotionInfo","dataLayer","dataLayerObj","event","ecommerce","items","item_id","id","item_name","name","item_brand","brand","promotion_name","quantity","item_type","dimension53","appendItemCategories","appendPriceAndDiscount","appendListIdAndName","cardSize","appendCardSize","push","sendProductClickEventToDataLayer","productToPush","currencycode","event_category","event_action","event_label","product_name","currencyCode","click","actionField","products","sendSelectItemEventToDataLayer","product","tileIndex","productName","qtyincart","index","itemType","item_list_id","sendSelectPromotionEventToDataLayer","promotion_id","creative_name","location_id","sales","sendAddShippingInfoToDataLayer","shippingMethod","shipping_tier","getSelectedShippingMethodID","map","isInternal","isPayback","depth","sendErrorEventToDataLayer","errorLocation","error","error_name","error_location","event_detail","sendFormInvalidEventToDataLayer","formValidityObj","formId","eventDetail","detail","errors","inputField","target","join","method","item_category","htmlValue","replace","item_category2","item_category3","item_category4","discount","toFixed","itemListName","location","pathname","item_list_name","size","superPropBase","_get","Reflect","module","exports","__esModule","property","receiver","base","desc","Object","getOwnPropertyDescriptor","call","arguments","apply","getPrototypeOf","object","prototype","hasOwnProperty"],"mappings":"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","file":"js/component-navigationCarouselComponent-js.chunks.js","sourcesContent":["import deepFreeze from '../utilities/freeze';\n\nexport default deepFreeze({\n  isActiveInPages: ['Home-Show', 'Search-Show', 'Product-Show', 'Search-ShowInternal'],\n  isHomePage: ['Home-Show'],\n  isPLP: ['Search-Show', 'Search-ShowInternal'],\n  isPDP: ['Product-Show']\n});\n","import BaseCarousel from '../base/baseGlideCarousel';\nimport menuConstants from '../constants/menuConstants';\nimport { sendNavEventToDataLayer } from '../utilities/dataLayerUtils';\n\nexport default class NavigationCarouselComponent extends BaseCarousel {\n  constructor(element) {\n    super(element);\n    this.pageAction = /** @type {HTMLElement} */ (document.querySelector('.page'))?.dataset?.action || '';\n    this.setState({ isMount: false });\n    this.lazyMount();\n    this.handleClick();\n  }\n\n  get SELECTORS() {\n    return { ...super.SELECTORS, secondLevelNavigation: '#secondLevelNavigation', selectedFirstLevelCategory: 'a.category.selected', secondLevelCategoryCardLink: '.card a' };\n  }\n\n  get Messages() {\n    return {\n      [this.CUSTOM_MESSAGES.BREAKPOINTER.BREAKPOINT_CHANGE]: this.onBreakpointChange\n    };\n  }\n\n  /**\n   * @returns {HTMLElement}\n   */\n  get navigationContainer() {\n    if (!this._navigationContainer) this._navigationContainer = /** @type {HTMLElement}*/ (document.querySelector(this.SELECTORS.secondLevelNavigation));\n    return this._navigationContainer;\n  }\n\n  isSubhome() {\n    return this.navigationContainer?.classList.contains('sub-home-navigation');\n  }\n\n  onBreakpointChange({ breakPoint }) {\n    if (!this.isMountable() && this.isMount) this.destroy();\n    else this.lazyMount();\n  }\n\n  isMountable() {\n    return (\n      ((menuConstants.isPDP.includes(this.pageAction) || this.isSubhome()) && window.isDesktop && window.isDesktop()) ||\n      (menuConstants.isPLP.includes(this.pageAction) && !this.isSubhome())\n    );\n  }\n\n  lazyMount() {\n    if (!this.isMountable()) return;\n    if (this.isMount) return;\n    this.mount(this.$el, this.$options);\n  }\n\n  handleClick() {\n    let allSingleLinks = Array.from(this.$el.getElementsByTagName('a'));\n    allSingleLinks.forEach((singleLink) => {\n      this.$on(\n        'click',\n        function(e) {\n          let link = {\n            area: 'header',\n            type: 'main_nav',\n            url: singleLink.href ? singleLink.href : '',\n            text: singleLink.innerText ? singleLink.innerText : ''\n          };\n          sendNavEventToDataLayer(link);\n        },\n        singleLink\n      );\n    });\n  }\n}\n","/**\n * @property {string} pathName\n * @property {boolean} dontUseCustomPathName\n *\n * @returns {string}\n */\nexport function getPathName(pathName, dontUseCustomPathName) {\n  let list = dontUseCustomPathName === 'true' ? dontUseCustomPathName : getCustomPathName(pathName);\n  console.log('URLDecoder list: ' + list);\n  return list;\n}\n\nfunction getCustomPathName(pathName) {\n  let urlPathNameTable = pathName.split('/');\n  let urlPathNameOrSandbox = urlPathNameTable[1] === 's' ? 'isSandbox' : urlPathNameTable;\n  return urlPathNameTable[1].length === 0\n    ? 'homepage'\n    : urlPathNameTable[1] === 'p' || urlPathNameTable[1] === 'dettaglio-prodotto'\n    ? 'product-page'\n    : parsePathName(urlPathNameOrSandbox);\n}\n\nfunction parsePathName(value) {\n  let str = value.toString();\n\n  if (str.endsWith(',')) {\n    str = str.slice('', -1);\n  }\n  if (str.endsWith('.html')) {\n    str = str.slice('', -5);\n  }\n  if (str.indexOf(',') == 0) {\n    str = str.slice(1);\n  }\n\n  return str.replaceAll(',', '/');\n}\n","import { getPathName } from '../utilities/URLDecoder';\n\nexport var sendAddOrRemoveProductToDataLayer = function(eventName, productImpressions, price, breadcrumbs, promotionInfo) {\n  if (!eventName || !productImpressions) {\n    return;\n  }\n  if (window.dataLayer) {\n    let dataLayerObj = {\n      event: eventName,\n      ecommerce: {\n        items: [\n          {\n            item_id: productImpressions.id,\n            item_name: productImpressions.name,\n            item_brand: productImpressions.brand,\n            promotion_name: promotionInfo && promotionInfo.name ? promotionInfo.name : '',\n            quantity: productImpressions.quantity || 1,\n            item_type: productImpressions.dimension53\n          }\n        ]\n      }\n    };\n    if (breadcrumbs) {\n      appendItemCategories(breadcrumbs, dataLayerObj.ecommerce.items[0]);\n    }\n    if (price) {\n      appendPriceAndDiscount(price, dataLayerObj.ecommerce.items[0]);\n    }\n    appendListIdAndName(dataLayerObj.ecommerce.items[0]);\n    if (productImpressions.cardSize) {\n      appendCardSize(productImpressions.cardSize, dataLayerObj.ecommerce.items[0]);\n    }\n    window.dataLayer.push(dataLayerObj);\n  }\n};\n\nexport var sendProductClickEventToDataLayer = function(productToPush, currencycode, list) {\n  if (!window.dataLayer) return;\n  window.dataLayer.push({\n    event: 'product click',\n    event_category: 'ecommerce',\n    event_action: 'Product Click',\n    event_label: productToPush.product_name,\n    ecommerce: {\n      currencyCode: currencycode,\n      click: {\n        actionField: {\n          list: list\n        },\n        products: [productToPush]\n      }\n    }\n  });\n};\n\nexport var sendSelectItemEventToDataLayer = function(product, breadcrumbs, tileIndex) {\n  if (!window.dataLayer) return;\n  let dataLayerObj = {\n    event: 'select_item',\n    ecommerce: {\n      items: [\n        {\n          item_id: product.id,\n          item_name: product.productName,\n          promotion_name: product.promotionInfo && product.promotionInfo.name ? product.promotionInfo.name : '',\n          item_brand: product.brand,\n          quantity: product.qtyincart,\n          index: tileIndex,\n          item_type: product.itemType\n        }\n      ]\n    }\n  };\n  if (product.cardSize) {\n    dataLayerObj.ecommerce.items[0].item_list_id = product.cardSize;\n  }\n  if (breadcrumbs) {\n    appendItemCategories(breadcrumbs, dataLayerObj.ecommerce.items[0]);\n  }\n  if (product.price) {\n    appendPriceAndDiscount(product.price, dataLayerObj.ecommerce.items[0]);\n  }\n  appendListIdAndName(dataLayerObj.ecommerce.items[0]);\n  window.dataLayer.push(dataLayerObj);\n};\n\nexport var sendSelectPromotionEventToDataLayer = function(product) {\n  if (!window.dataLayer) return;\n  if ((product.promotionInfo && product.promotionInfo.name) || (product.price && product.price.list && product.price.list)) {\n    let dataLayerObj = {\n      event: 'select_promotion',\n      ecommerce: {\n        items: [\n          {\n            item_id: product.id,\n            item_name: product.productName,\n            promotion_name: product.promotionInfo && product.promotionInfo.name ? product.promotionInfo.name : '',\n            promotion_id: product.promotionInfo && product.promotionInfo.id ? product.promotionInfo.id : product.promotionInfo.name ? product.promotionInfo.name : '',\n            creative_name: 'product card',\n            location_id: 'product listing',\n            price: product.price.sales.value,\n            item_type: product.itemType\n          }\n        ]\n      }\n    };\n    window.dataLayer.push(dataLayerObj);\n  }\n};\n\nexport var getItemListName = function(breadcrumbs) {\n  var itemListName = '';\n  for (let i = 0; i < breadcrumbs.length; i++) {\n    itemListName = itemListName + breadcrumbs[i].categoryId;\n    if (i + 1 !== breadcrumbs.length) {\n      itemListName = itemListName + '/';\n    }\n  }\n  return itemListName;\n};\n\nexport var sendAddShippingInfoToDataLayer = function(products, shippingMethod) {\n  if (window.dataLayer) {\n    window.dataLayer.push({\n      event: 'add_shipping_info',\n      ecommerce: {\n        shipping_tier: getSelectedShippingMethodID(shippingMethod),\n        items: products.map((product) => {\n          var breadcrumbs = product.breadcrumbs;\n          let dataLayerObj = {\n            item_id: product.id,\n            item_name: product.productName,\n            item_brand: product.brand,\n            quantity: product.qtyincart,\n            item_type: product.itemType\n          };\n          appendItemCategories(breadcrumbs, dataLayerObj);\n          appendPriceAndDiscount(product.price, dataLayerObj);\n          return dataLayerObj;\n        })\n      }\n    });\n  }\n};\n\nexport var sendNavEventToDataLayer = function(link) {\n  if (!window.dataLayer) return;\n  let isInternal = !link.url || link.url.includes('/s/carrefour-IT/') || link.url.includes('carrefour.it/');\n  window.dataLayer.push({\n    event: link.isPayback ? 'button_click' : 'nav_click',\n    area: link.area,\n    type: link.type,\n    action: isInternal ? 'redirect_internal' : 'outbound',\n    depth: 'level_0',\n    text: link.text\n  });\n};\nexport var sendErrorEventToDataLayer = function(errorLocation, error) {\n  if (window.dataLayer) {\n    window.dataLayer.push({\n      event: 'error',\n      error_name: error,\n      error_location: errorLocation,\n      event_detail: error\n    });\n  }\n};\n\nexport var sendFormInvalidEventToDataLayer = function(formValidityObj, formId) {\n  if (window.dataLayer) {\n    let eventDetail = [];\n    if (formValidityObj && formValidityObj.detail && formValidityObj.detail.errors) {\n      eventDetail = formValidityObj.detail.errors.map((inputField) => {\n        return inputField.id;\n      });\n    }\n    window.dataLayer.push({\n      event: 'error',\n      error_name: 'form_filed_error',\n      error_location: formId ? formId : formValidityObj && formValidityObj.target && formValidityObj.target.id ? formValidityObj.target.id : 'form',\n      event_detail: eventDetail.join('|')\n    });\n  }\n};\n\nvar getSelectedShippingMethodID = function(method) {\n  switch (method) {\n    case 'pickup_in_store':\n      return 'click_and_collect';\n    case 'drive':\n      return 'click_and_collect_drive';\n    case 'deliveryExpress':\n      return 'home_delivery_same_day';\n    case 'delivery':\n      return 'home_delivery_next_day';\n    case 'deliverySatellite':\n      return 'home_delivery_next_day';\n\n    default:\n      return null;\n  }\n};\n\nlet appendItemCategories = function(breadcrumbs, dataLayerObj) {\n  dataLayerObj.item_category = breadcrumbs && breadcrumbs.length > 1 ? breadcrumbs[1].htmlValue.replace(/`/g, \"'\") : '';\n  dataLayerObj.item_category2 = breadcrumbs && breadcrumbs.length > 2 ? breadcrumbs[2].htmlValue.replace(/`/g, \"'\") : '';\n  dataLayerObj.item_category3 = breadcrumbs && breadcrumbs.length > 3 ? breadcrumbs[3].htmlValue.replace(/`/g, \"'\") : '';\n  dataLayerObj.item_category4 = breadcrumbs && breadcrumbs.length > 4 ? breadcrumbs[4].htmlValue.replace(/`/g, \"'\") : '';\n};\n\nlet appendPriceAndDiscount = function(price, dataLayerObj) {\n  dataLayerObj.discount = price.list && price.list.value ? (price.list.value - price.sales.value).toFixed(2) : '';\n  dataLayerObj.price = price.sales.value;\n};\n\nlet appendListIdAndName = function(dataLayerObj) {\n  var itemListName;\n  if (document.location.pathname.indexOf('wishlist') > 0) {\n    itemListName = 'le_mie_liste';\n  } else if (dataLayerObj.item_list_id) {\n    itemListName = getPathName(document.location.pathname, false) + dataLayerObj.item_list_id;\n  } else {\n    itemListName = getPathName(document.location.pathname, false);\n  }\n  if (document.querySelector('.minicart-sidebar-wrapper.toggleActive')) {\n    dataLayerObj.item_list_id = 'mini-cart';\n    dataLayerObj.item_list_name = 'mini-cart';\n  } else if (document.querySelector('.zero-search-results')) {\n    dataLayerObj.item_list_id = 'searchresult_0';\n    dataLayerObj.item_list_name = 'searchresult_0';\n  } else {\n    dataLayerObj.item_list_id = itemListName;\n    dataLayerObj.item_list_name = itemListName;\n  }\n};\n\nexport var appendCardSize = function(size, dataLayerObj) {\n  var itemListName;\n  let pathName = getPathName(document.location.pathname, false);\n  if (size === 'Half Width') {\n    itemListName = pathName + '_card_single';\n  } else {\n    itemListName = pathName + '_card_double';\n  }\n  if (dataLayerObj) {\n    dataLayerObj.item_list_id = itemListName;\n    dataLayerObj.item_list_name = itemListName;\n  } else {\n    return itemListName;\n  }\n};\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;"],"sourceRoot":""}