{"version":3,"sources":["webpack:///./cartridges/app_designholding/cartridge/client/default/js/components/accordion/accordion-item.js","webpack:///./cartridges/app_designholding/cartridge/client/default/js/components/accordion/accordion.js","webpack:///./cartridges/app_designholding/cartridge/client/default/js/components/accordion/index.js","webpack:///./cartridges/app_designholding/cartridge/client/default/js/utilities/screen-dimensions/screen-dimensions.js","webpack:///./cartridges/app_designholding/cartridge/client/default/js/utilities/screen-dimensions/index.js"],"names":["ACCORDION_OPEN_CLASS","ACCORDION_ANIMATING_CLASS","AccordionItem","constructor","element","item","button","querySelector","content","id","isOpen","className","indexOf","isAnimating","bindEvents","offsetHeight","setTabIndex","_setAriaState","_isOpen","boolean","accordionItem","value","querySelectorAll","forEach","tabIndex","toggle","close","open","_triggerAnimatingEvent","classList","add","_setHeight","remove","state","setAttribute","height","getElementHeight","heightTransitionEvent","e","_heightTransitionEnd","style","addEventListener","event","propertyName","removeEventListener","Events","$trigger","data","bool","animating","RafThrottle","set","window","namespace","fn","setTabIndexOnResize","delay","old","visibility","getBoundingClientRect","REFINEMENT_ID","ACCORDION_ITEM_HOOK","JS_HOOK_SHOW_MORE_STORES","JS_HOOK_SHOW_LESS_STORES","SHOW_MORE_BTN_VISIBLE","SHOW_LESS_BTN_VISIBLE","STORE_ACCORDION_ITEM","STORE_ACCORDION_ITEM_HIDDEN","stores","document","getElementsByClassName","Accordion","items","showMoreButton","showLessButton","refinementItems","autoClose","dataset","autoclose","accordionItems","_initItems","_initStores","_bindAccordionEvents","$on","Object","keys","i","_closeAllChildren","closeAllRefinements","currentId","ScreenDimensions","isTabletPortraitAndBigger","itemId","getAttribute","Array","from","el","undefined","length","index","skipId","installMediaQueryWatcher","mediaQuery","layoutChangedCallback","mql","matchMedia","addListener","matches","media","MEDIA_QUERIES","reference","breakpoint","screenHeight","screenWidth","width","updateWidth","mqObject","innerWidth","innerHeight"],"mappings":"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","file":"js/Accordion.js","sourcesContent":["/**\n * Accordion item class\n * Will be created for each item inside an accordion\n */\nimport Events from '@utilities/events'\nimport RafThrottle from '@utilities/raf-throttle'\n\nconst ACCORDION_OPEN_CLASS = 'accordion__item--is-active'\nconst ACCORDION_ANIMATING_CLASS = 'accordion__item--is-animating'\n\nclass AccordionItem {\n constructor(element) {\n this.item = element\n\n this.button = this.item.querySelector('[js-hook-accordion-button]')\n this.content = this.item.querySelector('[js-hook-accordion-content]')\n\n this.id = this.content.id\n\n this.isOpen = this.item.className.indexOf(ACCORDION_OPEN_CLASS) !== -1\n this.isAnimating = false\n\n this.bindEvents()\n\n if (this.content.offsetHeight > 0) {\n AccordionItem.setTabIndex(this.content, 0)\n this._setAriaState()\n } else {\n AccordionItem.setTabIndex(this.content, -1)\n this._setAriaState()\n }\n }\n\n get isOpen() {\n return this._isOpen\n }\n\n set isOpen(boolean) {\n this._isOpen = boolean\n }\n\n static setTabIndex(accordionItem, value) {\n ;[\n ...accordionItem.querySelectorAll(\n 'a, area, input:not([disabled]), select:not([disabled]), textarea:not([disabled]), button:not([disabled]):not([js-hook-accordion-button]), iframe, video',\n ),\n ].forEach((element) => {\n element.tabIndex = value\n })\n }\n\n /**\n * Toggles the accordion item\n */\n toggle() {\n if (this.isOpen) {\n this.close()\n } else {\n this.open()\n }\n }\n\n /**\n * Opens the accordion item\n */\n open() {\n if (this.isOpen || this.isAnimating) {\n return\n }\n this.isOpen = true\n this._triggerAnimatingEvent(true)\n\n this.item.classList.add(ACCORDION_OPEN_CLASS)\n\n this._setHeight()\n this._setAriaState()\n\n AccordionItem.setTabIndex(this.item, 0)\n }\n\n /**\n * Closes the accordion item\n */\n close() {\n if (!this.isOpen || this.isAnimating) {\n return\n }\n this.isOpen = false\n this._triggerAnimatingEvent(true)\n\n this.item.classList.remove(ACCORDION_OPEN_CLASS)\n\n this._setHeight()\n this._setAriaState()\n\n AccordionItem.setTabIndex(this.item, -1)\n }\n\n /**\n * Sets correct aria-* values\n */\n _setAriaState() {\n const state = this.content.offsetHeight > 0\n this.button.setAttribute('aria-expanded', state)\n /** REMOVED due to ACCESSIBILITY ERRORS */\n // this.content.setAttribute('aria-hidden', !state);\n }\n\n /**\n * Sets the height based on the this.isOpen\n */\n _setHeight() {\n const height = getElementHeight(this.content)\n this.heightTransitionEvent = (e) => this._heightTransitionEnd(e)\n\n this.content.style.height = this.isOpen ? '0' : height\n\n // The line below triggers a repaint and is necessary for the accordion to work.\n // https://stackoverflow.com/questions/3485365/how-can-i-force-webkit-to-redraw-repaint-to-propagate-style-changes\n this.content.offsetHeight // eslint-disable-line\n\n this.content.style.height = this.isOpen ? height : '0'\n\n this.content.addEventListener('transitionend', this.heightTransitionEvent, false)\n }\n\n /**\n * Triggers when transitionend is fired\n * @param {Event} event\n */\n _heightTransitionEnd(event) {\n if (event.propertyName === 'height') {\n if (this.isOpen) {\n this.content.style.height = 'auto'\n }\n\n this.content.removeEventListener('transitionend', this.heightTransitionEvent, false)\n this._triggerAnimatingEvent(false)\n\n Events.$trigger(`accordion::${this.isOpen ? 'opened' : 'closed'}`, {\n data: {\n element: this.item,\n id: this.id,\n },\n })\n\n Events.$trigger(`accordion[${this.id}]::${this.isOpen ? `opened` : `closed`}`)\n }\n }\n\n /**\n * Triggers the animating event for the accordion holder\n * @param {Boolean} bool\n */\n _triggerAnimatingEvent(bool) {\n this.isAnimating = bool\n\n if (this.isAnimating) {\n this.item.classList.add(ACCORDION_ANIMATING_CLASS)\n } else {\n this.item.classList.remove(ACCORDION_ANIMATING_CLASS)\n }\n\n Events.$trigger(`accordion[${this.id}]::animating`, {\n data: {\n id: this.id,\n animating: this.isAnimating,\n },\n })\n }\n\n /**\n * Bind all events\n */\n bindEvents() {\n RafThrottle.set([\n {\n element: window,\n event: 'resize',\n namespace: `accordionDesktopOpenCheck${this.id}`,\n fn: () => this.setTabIndexOnResize(),\n delay: 250,\n },\n ])\n }\n\n /**\n * Checks if tabIndex needs to be set the window is resized based of a property that is passed from its accordion parent.\n */\n setTabIndexOnResize() {\n if (this.content.offsetHeight > 0) {\n AccordionItem.setTabIndex(this.item, 0)\n this._setAriaState()\n } else {\n AccordionItem.setTabIndex(this.item, -1)\n this._setAriaState()\n }\n }\n}\n\n/**\n * Get height of given element\n * @param {HTMLElement} element\n * @returns {String} height in pixels\n */\nfunction getElementHeight(element) {\n const old = {}\n old.height = element.style.height\n old.visibility = element.style.visibility\n\n element.style.height = 'auto'\n element.style.visibility = 'visible'\n\n const { height } = element.getBoundingClientRect()\n\n element.style.height = old.height\n element.style.visibility = old.visibility\n\n return `${height}px`\n}\n\nexport default AccordionItem\n","import Events from '@utilities/events'\nimport ScreenDimensions from '@utilities/screen-dimensions'\nimport AccordionItem from './accordion-item'\n\nconst REFINEMENT_ID = 'refinement'\nconst ACCORDION_ITEM_HOOK = 'js-hook-accordion-item'\nconst JS_HOOK_SHOW_MORE_STORES = 'js-hook-show-more-stores'\nconst JS_HOOK_SHOW_LESS_STORES = 'js-hook-show-less-stores'\nconst SHOW_MORE_BTN_VISIBLE = 'store__show-more--visible'\nconst SHOW_LESS_BTN_VISIBLE = 'store__show-less--visible'\nconst STORE_ACCORDION_ITEM = 'store__accordion-item'\nconst STORE_ACCORDION_ITEM_HIDDEN = 'store__accordion-item--hidden'\nconst stores = document.getElementsByClassName(STORE_ACCORDION_ITEM)\n\nclass Accordion {\n constructor(element) {\n this.element = element\n this.items = this.element.querySelectorAll(`[${ACCORDION_ITEM_HOOK}]`)\n this.showMoreButton = document.querySelector(`[${JS_HOOK_SHOW_MORE_STORES}]`)\n this.showLessButton = document.querySelector(`[${JS_HOOK_SHOW_LESS_STORES}]`)\n\n this.refinementItems = [\n ...document.querySelectorAll(`[${ACCORDION_ITEM_HOOK}^=${REFINEMENT_ID}]`),\n ]\n\n if (!this.items) {\n return\n }\n\n this.autoClose = this.element.dataset.autoclose !== 'false'\n this.accordionItems = {}\n this._initItems()\n\n if (this.showMoreButton && this.showLessButton) {\n this._initStores();\n this.bindEvents();\n }\n }\n\n /**\n * Bind all accordion specific events\n * @param {HTMLElement} item | accordion item\n */\n _bindAccordionEvents({ id }) {\n Events.$on(`accordion[${id}]::close`, () => {\n if (id && this.accordionItems[id] && !this.isAnimating) {\n this.accordionItems[id].close()\n }\n\n if (!id && !this.isAnimating) {\n Object.keys(this.accordionItems).forEach((i) => {\n this.accordionItems[i].close()\n })\n }\n })\n\n Events.$on(`accordion[${id}]::open`, () => {\n if (id && this.accordionItems[id] && !this.isAnimating) {\n this._closeAllChildren(id)\n this.accordionItems[id].open()\n }\n })\n\n Events.$on(`accordion[${id}]::toggle`, () => {\n if (id && this.accordionItems[id] && !this.isAnimating) {\n this._closeAllChildren(id)\n this.accordionItems[id].toggle()\n }\n })\n\n Events.$on(`accordion[${id}]::animating`, (event, data) => {\n if (this.accordionItems[data.id]) {\n this.isAnimating = data.animating\n }\n })\n }\n\n closeAllRefinements(currentId) {\n if (!ScreenDimensions.isTabletPortraitAndBigger) return\n this.refinementItems.forEach((item) => {\n const itemId = item.getAttribute(ACCORDION_ITEM_HOOK)\n if (itemId !== currentId) Events.$trigger(`accordion[${itemId}]::close`)\n })\n }\n\n /**\n * Iterate over each item inside the accordion and check if there is more then 4 stores.\n * If it is more then it will hide every next and will make visible show more button.\n * Else is used for removing button's visibility classes in case that we don't have\n * store's near new searched location.\n */\n _initItems() {\n Array.from(this.items).forEach((el) => {\n const item = new AccordionItem(el)\n this.accordionItems[item.id] = item\n this._bindAccordionEvents(this.accordionItems[item.id])\n })\n }\n\n _initStores() {\n if (stores !== undefined && stores.length > 0) {\n Array.from(stores).forEach((el, index) => {\n const item = el\n\n if (index > 4) {\n item.classList.add(STORE_ACCORDION_ITEM_HIDDEN)\n this.showMoreButton.classList.add(SHOW_MORE_BTN_VISIBLE)\n }\n })\n } else {\n this.showLessButton.classList.remove(SHOW_LESS_BTN_VISIBLE)\n this.showMoreButton.classList.remove(SHOW_MORE_BTN_VISIBLE)\n }\n }\n\n /**\n * Get height of given element\n * @param {String} skipId Identifier which should be skipped\n */\n _closeAllChildren(skipId) {\n if (!this.autoClose) {\n return\n }\n\n Object.keys(this.accordionItems).forEach((id) => {\n if (skipId === id) {\n return\n }\n this.accordionItems[id].close()\n })\n }\n\n\n /**\n * 2 button listeners\n * First is for show more stores, basically remove hidden classes from store's that were hidden.\n * Second is opposite, add hidden classes to every other after 5.\n */\n bindEvents() {\n if (stores !== undefined) {\n this.showMoreButton.addEventListener('click', () => {\n\n Array.from(stores).forEach((el) => {\n el.classList.remove(STORE_ACCORDION_ITEM_HIDDEN);\n })\n\n this.showMoreButton.classList.remove(SHOW_MORE_BTN_VISIBLE)\n this.showLessButton.classList.add(SHOW_LESS_BTN_VISIBLE)\n\n }, false);\n\n this.showLessButton.addEventListener('click', () => {\n this._initStores()\n\n this.showLessButton.classList.remove(SHOW_LESS_BTN_VISIBLE)\n\n }, false);\n }\n }\n}\n\nexport default Accordion\n","/**\n * @shelf-version: 1.0.0\n */\n\nimport Accordion from './accordion';\n\nexport default Accordion;","import RafThrottle from '@utilities/raf-throttle'\n\nconst installMediaQueryWatcher = (mediaQuery, layoutChangedCallback) => {\n const mql = window.matchMedia(mediaQuery)\n mql.addListener((event) => layoutChangedCallback(event.matches, event.media))\n layoutChangedCallback(mql.matches, mql.media)\n}\n\nconst MEDIA_QUERIES = [\n {\n reference: 'isMobile',\n breakpoint: 320,\n },\n {\n reference: 'isMobilePlus',\n breakpoint: 480,\n },\n {\n reference: 'isTabletPortrait',\n breakpoint: 768,\n },\n {\n reference: 'isTabletLandscape',\n breakpoint: 1024,\n },\n {\n reference: 'isLaptop',\n breakpoint: 1240,\n },\n {\n reference: 'isDesktop',\n breakpoint: 1600,\n },\n {\n reference: 'isWidescreen',\n breakpoint: 1920,\n },\n]\n\nclass ScreenDimensions {\n get screenHeight() {\n return this.height\n }\n\n get screenWidth() {\n return this.width\n }\n\n constructor() {\n RafThrottle.set([\n {\n element: window,\n event: 'resize',\n namespace: 'ScreenDimensionsWidthChange',\n fn: () => this.updateWidth(),\n },\n ])\n\n MEDIA_QUERIES.forEach((mqObject, index) => {\n const { breakpoint } = mqObject\n\n installMediaQueryWatcher(`(min-width: ${breakpoint}px)`, (matches) => {\n this[`${mqObject.reference}AndBigger`] = matches\n })\n\n if (!index) {\n installMediaQueryWatcher(`(max-width: ${breakpoint}px)`, (matches) => {\n this[mqObject.reference] = matches\n })\n } else if (MEDIA_QUERIES[index + 1]) {\n installMediaQueryWatcher(\n `(min-width: ${breakpoint}px) and (max-width: ${\n MEDIA_QUERIES[index + 1].breakpoint - 1\n }px)`,\n (matches) => {\n this[mqObject.reference] = matches\n },\n )\n } else {\n installMediaQueryWatcher(`(min-width: ${breakpoint}px)`, (matches) => {\n this[mqObject.reference] = matches\n })\n }\n })\n\n this.updateWidth()\n }\n\n updateWidth() {\n // eslint-disable-next-line\n ;(this.width = window.innerWidth), (this.height = window.innerHeight)\n }\n}\n\nexport default new ScreenDimensions()\n","/**\n * @shelf-version: 1.1.0\n */\n\nimport ScreenDimensions from './screen-dimensions'\n\nexport default ScreenDimensions\n"],"sourceRoot":""}