{"version":3,"sources":["webpack:///./src/components/pmicom/widgets/key-figures-icon/controller.js"],"names":["asyncImport","require","default","breakMediumBefore","getNumber","trackGtm","fillWithDomElementsAll","fillWithDomElements","mediaQueryMin","stuttering","onWidthResize","mediumDelay","mediumDelayMs","CLASS_KEY_CONTROLS","CLASS_TNS_NAV","CLASS_PREV","CLASS_NO_SLIDER","CLASS_KEY_FIGURES","CLASS_ELEMENT","selectorAll","elements","selector","keyFigure","module","exports","init","desktop","forEach","element","querySelector","addEventListener","gtmTracking","bind","href","dataset","index","length","root","classList","remove","initTinySlider","moveNav","add","onResize","DEBOUNCE","loop","edgePadding","items","slider","TinySlider","tns","container","speed","slideBy","gutter","mouseDrag","navPosition","controlsContainer","preventScrollOnTouch","setTimeout","undefined","destroy","keyFigures","after","e","eventCategory","eventAction","eventLabel","parseInt"],"mappings":"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","file":"components--key-figures-iconde0a4cc370050ccff021.js","sourcesContent":["const asyncImport = require('util/asyncImport').default;\nconst {\n\tdefault: { breakMediumBefore },\n} = require('util/sass-variables');\nconst {\n\tgetNumber,\n\ttrackGtm,\n\tfillWithDomElementsAll,\n\tfillWithDomElements,\n} = require('util/functions');\nconst { mediaQueryMin } = require('util/functions');\nconst { stuttering, default: onWidthResize } = require('util/onWidthResize');\nconst {\n\tdefault: { mediumDelay },\n} = require('util/sass-variables');\nconst mediumDelayMs = getNumber(mediumDelay) * 1000;\nconst CLASS_KEY_CONTROLS = '.key-figure--controls';\nconst CLASS_TNS_NAV = '.tns-nav';\nconst CLASS_PREV = '.key-figure--previous';\nconst CLASS_NO_SLIDER = 'no-slider';\n\nconst CLASS_KEY_FIGURES = 'key-figure--icon';\nconst CLASS_ELEMENT = 'key-figure--element';\n\nconst selectorAll = {\n\telements: CLASS_ELEMENT,\n};\nconst selector = {\n\tkeyFigure: CLASS_KEY_FIGURES,\n};\nmodule.exports = {\n\tasync init() {\n\t\tthis.desktop = mediaQueryMin(breakMediumBefore);\n\t\tawait asyncImport(this, ['TinySlider', 'debounce']);\n\t\tfillWithDomElementsAll(this, selectorAll);\n\t\tfillWithDomElements(this, selector);\n\t\tthis.elements.forEach(element => {\n\t\t\tif (element.querySelector('a')) {\n\t\t\t\telement.addEventListener(\n\t\t\t\t\t'click',\n\t\t\t\t\tthis.gtmTracking.bind(\n\t\t\t\t\t\tthis,\n\t\t\t\t\t\telement.querySelector('a')?.href,\n\t\t\t\t\t\telement.dataset.index,\n\t\t\t\t\t),\n\t\t\t\t);\n\t\t\t}\n\t\t});\n\n\t\tif (\n\t\t\t(mediaQueryMin(breakMediumBefore) && this.elements.length > 5) ||\n\t\t\t!mediaQueryMin(breakMediumBefore)\n\t\t) {\n\t\t\tthis.root.classList.remove(CLASS_NO_SLIDER);\n\t\t\tthis.initTinySlider(this.keyFigure);\n\t\t\tthis.moveNav();\n\t\t} else {\n\t\t\tthis.root.classList.add(CLASS_NO_SLIDER);\n\t\t}\n\t\tonWidthResize(this.onResize.bind(this), stuttering.DEBOUNCE, 250);\n\t},\n\tasync initTinySlider(element) {\n\t\tlet loop = this.desktop ? false : true;\n\t\tlet edgePadding = this.desktop ? 0 : 60;\n\t\tlet items = this.desktop ? 5 : 1;\n\n\t\tthis.slider = await this.TinySlider.tns({\n\t\t\tcontainer: element,\n\t\t\titems: items,\n\t\t\tspeed: mediumDelayMs,\n\t\t\tslideBy: 'page',\n\t\t\tloop: loop,\n\t\t\tgutter: 20,\n\t\t\tmouseDrag: false,\n\t\t\tedgePadding: edgePadding,\n\t\t\tnavPosition: 'bottom',\n\t\t\tcontrolsContainer: this.root.querySelector(CLASS_KEY_CONTROLS),\n\t\t\tpreventScrollOnTouch: 'auto',\n\t\t});\n\t},\n\tonResize() {\n\t\tif (\n\t\t\t(mediaQueryMin(breakMediumBefore) && this.elements.length > 5) ||\n\t\t\t!mediaQueryMin(breakMediumBefore)\n\t\t) {\n\t\t\tsetTimeout(() => {\n\t\t\t\tif (this.slider !== undefined && this.slider?.destroy !== null) {\n\t\t\t\t\tthis.slider.destroy();\n\t\t\t\t}\n\t\t\t\tthis.root.classList.remove(CLASS_NO_SLIDER);\n\t\t\t\t//We have to reselect the key figures because TinySlider replaces the elements from DOM in the destory method\n\t\t\t\tlet keyFigures = this.root.querySelector(`.${CLASS_KEY_FIGURES}`);\n\t\t\t\tthis.desktop = mediaQueryMin(breakMediumBefore);\n\t\t\t\tthis.initTinySlider(keyFigures);\n\t\t\t\tthis.moveNav();\n\t\t\t}, 0);\n\t\t} else {\n\t\t\tsetTimeout(() => {\n\t\t\t\tthis.root.classList.add(CLASS_NO_SLIDER);\n\t\t\t\tif (this.slider !== undefined && this.slider?.destroy !== null) {\n\t\t\t\t\tthis.slider.destroy();\n\t\t\t\t}\n\t\t\t}, 0);\n\t\t}\n\t},\n\tmoveNav() {\n\t\tthis.root\n\t\t\t.querySelector(CLASS_PREV)\n\t\t\t.after(this.root.querySelector(CLASS_TNS_NAV));\n\t},\n\tgtmTracking(href, index, e) {\n\t\ttrackGtm({\n\t\t\teventCategory: 'cta',\n\t\t\teventAction: 'key figures',\n\t\t\teventLabel: `${parseInt(index) + 1} | ${href}`,\n\t\t});\n\t},\n};\n"],"sourceRoot":""}