{"version":3,"sources":["webpack:///./src/client/default/js/components/togglerComponent.js","webpack:///./src/client/default/js/base/baseComponent.js"],"names":["storeLayerTrap","TogglerComponent","_BaseComponent","element","_this","_classCallCheck","_callSuper","$storeSelectionLayer","document","querySelector","SELECTORS","storeSelectionModal","$storeSelectionButton","storeSelectionButton","$options","handler","$on","onClickHandler","bind","$el","role","addEventListener","e","actionButtonKeydownHandler","actionButtonKeyupHandler","expandible","ariaExpanded","filterbar","onFilterbarClickHandler","closeBtn","closeDropdownBtn","remove","_ref","key","_inherits","_createClass","get","infoStrip","mainHeader","filtersDropdownBtn","isApp","isCollapsedClass","this","_handlerName","name","_relatedEls","querySelectorAll","concat","_closeHandlerName","close","_closeRelatedEls","value","window","isMobile","desktopOnly","classList","contains","CLASSES","add","EMIT","CUSTOM_MESSAGES","UPDATE_CART_EVENTS","loadMinicart","eventSend","targetElement","trap","focusTrap","initialFocus","clickOutsideDeactivates","activate","_this2","refinementAccordion","target","closest","refinementBlocks","isDesktop","forEach","blockElement","titleElement","titleElementName","getAttribute","currentTitleElementName","ariaPressed","_this3","deactivate","ariaModal","removeAttribute","_uxa","push","location","pathname","hash","replace","appPostMessage","action","includes","tagName","ariaDisabled","closeMinicart","backdrop","BACKDROP_EVENTS","animate","delay","setTimeout","body","delayname","parseInt","componentsEls","compo","focus","toggleName","_this4","_toConsumableArray","toggle","_this5","setAttribute","closeOtherDeliveryToggles","gaeventcategory","gaeventaction","TRACKING_EVENTS","update","eventCategory","eventAction","eventLabel","gaeventlabel","trackingArea","trackingType","trackingAction","trackingText","area","type","text","open","moveInfostrip","scrollTo","match","insertBefore","firstChild","dataset","elfocus","closeComponentsEls","event","keyCode","preventDefault","BaseComponent","_BaseGiaComponent","_componentElement","_checkMessages","compOptions","options","_objectSpread","Object","keys","filter","entry","optionValue","cleanEntry","cleanOptionKey","JSON","parse","convertType","deepFreeze","events","cb","arguments","length","undefined","elements","Bean","on","stopPropagation","one","off","fire","container","message","_loading","LOADER_EVENTS","show","error","icon","hide","option","optionReturn","str","charAt","toLocaleLowerCase","slice","BaseGiaComponent"],"mappings":"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","file":"js/component-togglerComponent-js.chunks.js","sourcesContent":["import BaseComponent from '../base/baseComponent';\nimport { match } from '../utilities/resolutionHandler';\nimport { appPostMessage } from '../utilities/postMessage';\nimport * as focusTrap from 'focus-trap';\nlet storeLayerTrap = null;\n\nexport default class TogglerComponent extends BaseComponent {\n get SELECTORS() {\n return {\n infoStrip: '.information-strip.is-visible',\n mainHeader: 'header.header',\n closeDropdownBtn: '.js-toggle-close',\n filtersDropdownBtn: '.js-filter-toggle-close',\n storeSelectionModal: '#store-selection-bar',\n storeSelectionButton: '#store-selection-button',\n isApp: '.mobile-layout'\n };\n }\n\n get CLASSES() {\n return {\n isCollapsedClass: 'toggleActive'\n };\n }\n\n get componentsEls() {\n if (!this._handlerName) this._handlerName = this.$options.name;\n this._relatedEls = document.querySelectorAll(`[data-option-name=${this._handlerName}]`);\n return this._relatedEls;\n }\n\n get closeComponentsEls() {\n if (!this._closeHandlerName && this.$options.close) this._closeHandlerName = this.$options.close;\n this._closeRelatedEls = document.querySelectorAll(`[data-option-name=${this._closeHandlerName}]`);\n return this._closeRelatedEls;\n }\n\n onClickHandler(e) {\n if ((window.isMobile() && this.$options.desktopOnly) || (document.querySelector('body').classList.contains('cart') && this.$options.name == 'minicartLayer')) {\n return;\n } else {\n const isActive = this.$el.classList.contains(this.CLASSES.isCollapsedClass);\n if (isActive) {\n this.remove();\n } else {\n this.add();\n if (this.$options.name == 'minicartLayer') {\n this.EMIT(this.CUSTOM_MESSAGES.UPDATE_CART_EVENTS.loadMinicart, { eventSend: true });\n let targetElement = document.querySelector('.minicart-sidebar');\n this.trap = focusTrap.createFocusTrap(targetElement, { initialFocus: targetElement, clickOutsideDeactivates: true });\n this.trap.activate();\n }\n }\n }\n }\n\n onFilterbarClickHandler(e) {\n let refinementAccordion = e.target.closest('.refinements.accordion');\n let refinementBlocks = refinementAccordion ? refinementAccordion.querySelectorAll('.refinement-block') : null;\n if (refinementBlocks && window.isDesktop()) {\n refinementBlocks.forEach((blockElement) => {\n let titleElement = blockElement.querySelector('.refinement-title');\n let titleElementName = '';\n if (titleElement) titleElementName = titleElement.getAttribute('data-option-name') || '';\n let currentTitleElementName = e.target.getAttribute('data-option-name') || '';\n if (titleElementName && currentTitleElementName && titleElementName !== currentTitleElementName) {\n titleElement.classList.remove(this.CLASSES.isCollapsedClass);\n titleElement.ariaPressed = false;\n if (blockElement.querySelector('.refinement-list')) blockElement.querySelector('.refinement-list').classList.remove(this.CLASSES.isCollapsedClass);\n }\n });\n }\n }\n\n remove() {\n if (storeLayerTrap) {\n storeLayerTrap.deactivate();\n }\n if (this.$options.name == 'storeLayer') {\n if (this.$storeSelectionLayer) {\n this.$storeSelectionLayer.ariaModal = false;\n this.$storeSelectionLayer.removeAttribute('tabindex');\n }\n window._uxa = window._uxa || [];\n window._uxa.push(['trackPageview', window.location.pathname + window.location.hash.replace('#', '?__')]);\n appPostMessage({ action: 'CLOSE_STORELAYER' });\n }\n if (this.$options.name.includes('deliveryToggle') && (this.$el.tagName === 'BUTTON' || this.$el.role === 'button')) {\n this.$el.ariaPressed = false;\n this.$el.ariaDisabled = false;\n }\n if (this.$options.expandible) {\n this.$el.ariaExpanded = false;\n }\n if (this.$options.name == 'minicartLayer') {\n this.EMIT(this.CUSTOM_MESSAGES.UPDATE_CART_EVENTS.closeMinicart);\n }\n if (this.$options.name == 'sidebarLayer' && document.querySelector(this.SELECTORS.isApp)) {\n appPostMessage({ action: 'SHOW_HEADER' });\n }\n if (this.$options.backdrop) {\n this.EMIT(this.CUSTOM_MESSAGES.BACKDROP_EVENTS.animate, {\n action: close\n });\n }\n if (this.$options.delay) {\n setTimeout(() => {\n document.body.classList.remove(this.$options.delayname);\n }, parseInt(this.$options.delay));\n }\n document.body.classList.remove(this.$options.name);\n this.componentsEls.forEach((compo) => {\n compo.classList.remove(this.CLASSES.isCollapsedClass);\n if (compo.tagName === 'BUTTON') compo.ariaPressed = false;\n });\n\n if (this.$options.name == 'storeLayer' && this.$storeSelectionButton) {\n setTimeout(() => {\n this.$storeSelectionButton.focus();\n }, 200);\n }\n }\n\n closeOtherDeliveryToggles(toggleName) {\n let deliveryToggles = [...document.querySelectorAll(`[data-option-name^=deliveryToggle-]`)];\n\n deliveryToggles.forEach((toggle) => {\n if (toggle.getAttribute('data-option-name') != toggleName) {\n toggle.classList.remove(this.CLASSES.isCollapsedClass);\n if (toggle.tagName === 'BUTTON' || toggle.role === 'button') {\n toggle.ariaPressed = false;\n toggle.ariaDisabled = false;\n }\n }\n });\n }\n\n add() {\n if (this.$options.name == 'storeLayer') {\n if (this.$storeSelectionLayer) {\n this.$storeSelectionLayer.ariaModal = true;\n this.$storeSelectionLayer.setAttribute('tabindex', '-1');\n }\n window._uxa = window._uxa || [];\n window._uxa.push(['trackPageview', window.location.pathname + window.location.hash.replace('#', '?__') + '?cs-popin-metodo-di-consegna']);\n appPostMessage({ action: 'OPEN_STORELAYER' });\n }\n if (this.$options.name.includes('deliveryToggle')) {\n if ((this.$el.tagName === 'BUTTON' || this.$el.role === 'button') && !this.$el.closest('.franchise-service-card')) {\n this.$el.ariaPressed = true;\n this.$el.ariaDisabled = true;\n }\n this.closeOtherDeliveryToggles(this.$options.name);\n }\n if (this.$options.expandible) {\n this.$el.ariaExpanded = true;\n }\n if (this.$options.gaeventcategory && this.$options.gaeventaction)\n this.EMIT(this.CUSTOM_MESSAGES.TRACKING_EVENTS.update, {\n eventCategory: this.$options.gaeventcategory,\n eventAction: this.$options.gaeventaction,\n eventLabel: this.$options.gaeventlabel ? this.$options.gaeventlabel : ''\n });\n\n if (this.$options.trackingArea && this.$options.trackingType && this.$options.trackingAction && this.$options.trackingText) {\n this.EMIT(this.CUSTOM_MESSAGES.TRACKING_EVENTS.update, {\n area: this.$options.trackingArea,\n type: this.$options.trackingType,\n action: this.$options.trackingAction,\n text: this.$options.trackingText\n });\n }\n\n if (this.$options.backdrop && !(document.querySelector(this.SELECTORS.isApp) && this.$options.name == 'storeLayer')) {\n this.EMIT(this.CUSTOM_MESSAGES.BACKDROP_EVENTS.animate, {\n action: open\n });\n }\n if (this.$options.delay) {\n document.body.classList.add(this.$options.delayname);\n }\n document.body.classList.add(this.$options.name);\n if (this.$options.moveInfostrip && document.querySelector(this.SELECTORS.infoStrip)) {\n window.scrollTo(0, 0);\n document.querySelector(this.SELECTORS.mainHeader).classList.add('moveinfostrip');\n if (match(null, 'md')) {\n document.querySelector('.page').insertBefore(document.querySelector(this.SELECTORS.infoStrip), document.querySelector('.page').firstChild);\n }\n }\n\n if (!(document.querySelector(this.SELECTORS.isApp) && this.$options.name == 'storeLayer')) {\n this.componentsEls.forEach((compo) => {\n //if (!(document.querySelector(this.SELECTORS.isApp) && (compo.dataset.component == 'storeSelectionComponent' || compo.dataset.component == 'togglerComponent'))) {\n compo.classList.add(this.CLASSES.isCollapsedClass);\n if (compo.tagName === 'BUTTON' && !compo.classList.contains('minicart-close')) compo.ariaPressed = true;\n if (compo.dataset.elfocus) {\n const input = document.querySelector(compo.dataset.elfocus);\n input.focus();\n }\n });\n }\n\n if (this.$options.close) {\n document.body.classList.remove(this.$options.close);\n this.closeComponentsEls.forEach((compo) => {\n compo.classList.remove(this.CLASSES.isCollapsedClass);\n if (compo.tagName === 'BUTTON') compo.ariaPressed = false;\n });\n }\n //accessibilità REPLAT-7633\n if (this.$options.name == 'storeLayer' && this.$storeSelectionLayer)\n setTimeout(() => {\n this.$storeSelectionLayer.focus();\n storeLayerTrap = focusTrap.createFocusTrap(this.$storeSelectionLayer, { clickOutsideDeactivates: true });\n storeLayerTrap.activate();\n }, 200);\n }\n\n actionButtonKeydownHandler(event) {\n // The action button is activated by space on the keyup event, but the\n // default action for space is already triggered on keydown. It needs to be\n // prevented to stop scrolling the page before activating the button.\n if (event.keyCode === 32) {\n event.preventDefault();\n }\n // If enter is pressed, activate the button\n else if (event.keyCode === 13) {\n event.preventDefault();\n this.onClickHandler();\n }\n }\n actionButtonKeyupHandler(event) {\n if (event.keyCode === 32) {\n event.preventDefault();\n this.onClickHandler();\n }\n }\n\n constructor(element) {\n super(element);\n this.$storeSelectionLayer = document.querySelector(this.SELECTORS.storeSelectionModal);\n this.$storeSelectionButton = document.querySelector(this.SELECTORS.storeSelectionButton);\n if (this.$options.handler) {\n this.$on('click', this.onClickHandler.bind(this));\n if (this.$el.role === 'button') {\n this.$el.addEventListener('keydown', (e) => {\n this.actionButtonKeydownHandler(e);\n });\n\n this.$el.addEventListener('keyup', (e) => {\n this.actionButtonKeyupHandler(e);\n });\n }\n }\n if (this.$options.expandible) {\n this.$el.ariaExpanded = false;\n }\n if (this.$options.filterbar && document.querySelector('.nds')) {\n this.$on('click', this.onFilterbarClickHandler.bind(this));\n }\n this.closeBtn = this.$el.querySelector(this.SELECTORS.closeDropdownBtn);\n if (this.closeBtn) {\n this.closeBtn.addEventListener('click', () => {\n this.remove();\n });\n }\n this.$el.addEventListener('keydown', ({ key }) => {\n if (key === 'Escape') {\n this.remove();\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"],"sourceRoot":""}