{"version":3,"file":"js/component-footerComponent.chunk.js","mappings":"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","sources":["webpack:///./assets/common/src/scripts/base/baseComponent.ts","webpack:///./assets/common/src/scripts/components/accordionComponent.ts","webpack:///./assets/common/src/scripts/components/footerComponent.ts"],"sourcesContent":["import Bean from 'bean';\nimport deepFreeze from '../utilities/freeze';\nimport CommonInterface from './commonInterface';\nexport default class BaseComponent extends CommonInterface {\n /**\n *\n * constructor\n *\n * @param {Element} element\n */\n constructor(element) {\n super();\n this._componentElement = element;\n this._componentElement.setAttribute('data-component-init', 'true');\n this._checkMessages();\n }\n /**\n * @returns {HTMLElement}\n */\n get $el() {\n return this._componentElement;\n }\n get $options() {\n const compOptions = {};\n const options = Object.assign({}, 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 }\n else {\n optionValue = BaseComponent.convertType(options[entry]);\n }\n compOptions[cleanEntry] = optionValue;\n });\n return deepFreeze(compOptions);\n }\n get COMPONENT_NAME() {\n return this.__proto__.constructor.name;\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 return optionReturn;\n }\n static cleanOptionKey(key) {\n const str = key.replace('option', '');\n return `${str.charAt(0).toLocaleLowerCase()}${str.slice(1)}`;\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)\n return;\n if (!elements) {\n Bean.on(element, events, (e) => {\n if (e)\n e.stopPropagation();\n cb(e);\n });\n }\n else {\n Bean.on(element, events, elements, (e) => {\n if (e)\n e.stopPropagation();\n cb(e);\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 * $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 * $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","import analytics from '@utils/analytics';\nimport BaseComponent from '../base/baseComponent';\nexport default class AccordionComponent extends BaseComponent {\n constructor(element) {\n super(element);\n // this.$log(this.$el);\n this.accordionHeaders = this.$el.querySelectorAll(this.SELECTORS.accordionHeader);\n // handle init if data attribute is present\n }\n // get Messages() {\n // return {\n // [this.CUSTOM_MESSAGES.BREAKPOINTER.BREAKPOINT_CHANGE]: this.onBreakpointChange,\n // };\n // }\n get SELECTORS() {\n return {\n accordionHeader: '[aria-expanded]',\n };\n }\n get ATTRIBUTES() {\n return {\n isExpanded: 'aria-expanded',\n };\n }\n // setPanelsHeight() {\n // this.accordionHeaders.forEach((el) => {\n // const accordionPanel = el.nextElementSibling as HTMLElement;\n // accordionPanel.style.height = `${(accordionPanel.children[0] as HTMLElement)?.scrollHeight}px`;\n // });\n // }\n disableScroll() {\n if (this.timeout) {\n clearTimeout(this.timeout);\n }\n document.documentElement.classList.add('initial-scroll');\n const scrollTop = window.pageYOffset || document.documentElement.scrollTop;\n const scrollLeft = window.pageXOffset || document.documentElement.scrollLeft;\n window.onscroll = () => {\n window.scrollTo(scrollLeft, scrollTop);\n };\n }\n enableScroll() {\n document.documentElement.classList.remove('initial-scroll');\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n window.onscroll = () => { };\n }\n initAccordion(isFooter) {\n this.accordionHeaders.forEach((el) => {\n this.$on('click', (e) => this.toggleAccordion(e, el, isFooter), el);\n this.$on('keydown', (e) => {\n if (e.key == ' ' || e.key == 'Enter') {\n this.toggleAccordion(e, el, isFooter);\n }\n }, el);\n });\n }\n toggleAccordion(e, el, isFooter) {\n var _a;\n e.preventDefault();\n if (el.getAttribute(this.ATTRIBUTES.isExpanded) == 'true') {\n el.setAttribute(this.ATTRIBUTES.isExpanded, 'false');\n }\n else {\n const dataAnalytics = el.getAttribute('data-analytics');\n if (dataAnalytics) {\n (_a = window.dataLayer) === null || _a === void 0 ? void 0 : _a.push(JSON.parse(dataAnalytics));\n }\n isFooter ? analytics.footerOpen(el.dataset.titleAnalytics || el.innerText) : null;\n // this.setPanelsHeight();\n this.accordionHeaders.forEach((el) => el.setAttribute(this.ATTRIBUTES.isExpanded, 'false'));\n el.setAttribute(this.ATTRIBUTES.isExpanded, 'true');\n }\n }\n}\n","import analytics from '@utils/analytics';\nimport AccordionComponent from './accordionComponent';\nexport default class FooterComponent extends AccordionComponent {\n constructor(element) {\n super(element);\n this.accessibilityScroll();\n this.trackingFooter();\n this.isMobile = window.isMobile();\n if (this.isMobile) {\n this.initAccordion(true);\n }\n }\n get Messages() {\n return {\n [this.CUSTOM_MESSAGES.BREAKPOINTER.BREAKPOINT_CHANGE]: this.onBreakpointChange,\n };\n }\n accessibilityScroll() {\n this.$on('keydown', (e) => {\n if (e.key == 'Tab') {\n window.scrollTo(0, document.body.scrollHeight);\n }\n });\n }\n trackingFooter() {\n const secondLevel = this.$el.querySelectorAll('.footer-menu__section .footer-menu__section__menuitem');\n if (secondLevel.length > 0) {\n secondLevel.forEach((el) => {\n this.$on('keydown', (e) => {\n var _a, _b, _c, _d, _e, _f, _g;\n if (document.documentElement.getAttribute('data-whatintent') === 'keyboard' && e.key === 'Enter') {\n analytics.footerSection(((_c = (_b = (_a = e.currentTarget) === null || _a === void 0 ? void 0 : _a.closest('.footer-menu > li')) === null || _b === void 0 ? void 0 : _b.querySelector('.accordion__header')) === null || _c === void 0 ? void 0 : _c.dataset.titleAnalytics) || ((_f = (_e = (_d = e.currentTarget) === null || _d === void 0 ? void 0 : _d.closest('.footer-right-column > div')) === null || _e === void 0 ? void 0 : _e.querySelector('.accordion__header')) === null || _f === void 0 ? void 0 : _f.dataset.titleAnalytics), (_g = e.currentTarget) === null || _g === void 0 ? void 0 : _g.dataset.titleAnalytics);\n }\n }, el);\n this.$on('click', (e) => {\n var _a, _b, _c, _d, _e, _f, _g;\n if (document.documentElement.getAttribute('data-whatintent') != 'keyboard') {\n analytics.footerSection(((_c = (_b = (_a = e.currentTarget) === null || _a === void 0 ? void 0 : _a.closest('.footer-menu > li')) === null || _b === void 0 ? void 0 : _b.querySelector('.accordion__header')) === null || _c === void 0 ? void 0 : _c.dataset.titleAnalytics) || ((_f = (_e = (_d = e.currentTarget) === null || _d === void 0 ? void 0 : _d.closest('.footer-right-column > div')) === null || _e === void 0 ? void 0 : _e.querySelector('.accordion__header')) === null || _f === void 0 ? void 0 : _f.dataset.titleAnalytics), (_g = e.currentTarget) === null || _g === void 0 ? void 0 : _g.dataset.titleAnalytics);\n }\n }, el);\n });\n }\n }\n onBreakpointChange(br) {\n // this.$log(br);\n if (br.value >= window.mqObj['md'] && !this.isMobile) {\n this.isMobile = false;\n this.accordionHeaders.forEach((el) => {\n this.$off('click', el);\n this.$off('keydown', el);\n });\n this.accordionHeaders.forEach((el) => {\n const accordionPanel = el.nextElementSibling;\n accordionPanel.removeAttribute('style');\n });\n }\n else if (br.value < window.mqObj['md'] && this.isMobile) {\n this.isMobile = true;\n // this.setPanelsHeight();\n this.initAccordion(true);\n }\n }\n}\n"],"names":["BaseComponent","constructor","element","super","this","_componentElement","setAttribute","_checkMessages","$el","$options","compOptions","options","Object","assign","dataset","keys","filter","entry","includes","forEach","cleanEntry","cleanOptionKey","optionValue","JSON","parse","replace","convertType","COMPONENT_NAME","__proto__","name","static","option","optionReturn","key","str","charAt","toLocaleLowerCase","slice","$on","events","cb","elements","e","stopPropagation","$one","$off","$fire","AccordionComponent","accordionHeaders","querySelectorAll","SELECTORS","accordionHeader","ATTRIBUTES","isExpanded","disableScroll","timeout","clearTimeout","document","documentElement","classList","add","scrollTop","window","pageYOffset","scrollLeft","pageXOffset","onscroll","scrollTo","enableScroll","remove","initAccordion","isFooter","el","toggleAccordion","_a","preventDefault","getAttribute","dataAnalytics","dataLayer","push","titleAnalytics","innerText","FooterComponent","accessibilityScroll","trackingFooter","isMobile","Messages","CUSTOM_MESSAGES","BREAKPOINTER","BREAKPOINT_CHANGE","onBreakpointChange","body","scrollHeight","secondLevel","length","_b","_c","_d","_e","_f","_g","currentTarget","closest","querySelector","br","value","mqObj","nextElementSibling","removeAttribute"],"sourceRoot":""}