{"version":3,"sources":["webpack:///./src/components/pmicom/widgets/banner-widget/controller.js"],"names":["trackGtm","trackGtm4","require","asyncImport","default","CLASS_BOX_LINK","CLASS_BOX_TITLE","CLASS_DOWNLOAD_LINK","CLASS_DOWLAD_LABEL","CLASS_WARNING","CLASS_CLOSE","CLASS_HIGHLIGHT","CLASS_TOPIC_HIGHLIGHT","module","exports","init","root","querySelector","addEventListener","hideWarning","bind","highlights","querySelectorAll","forEach","element","isDownloadable","dataset","downloadable","determineTrackedObject","isMobileVideo","mobileVideo","isDesktopVideo","desktopVideo","updateVideoSource","currentVideoUrl","window","innerWidth","debounce","link","gtm4","trackedObject","trackedObjectGtm4","downloadButtonStyleChange","downloadStyleChange","linkHref","href","widgetTitle","textContent","trim","elementLinkText","downloadLink","titleText","label","eventCategory","eventAction","eventLabel","event","file_name","split","pop","widget_name","getParentWidgetName","widget_title","link_url","link_text","title","gtmObject","dataSelector","getAttribute","style","display","isWideScreen","video","videoSource","videoUrl","src","load"],"mappings":"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","file":"components--banner-widgetd91775db6ac0caf70696.js","sourcesContent":["const { trackGtm, trackGtm4 } = require('util/functions');\nconst asyncImport = require('util/asyncImport').default;\n\nconst CLASS_BOX_LINK = '.box-article-content--link';\nconst CLASS_BOX_TITLE = '.box-article-content--title';\nconst CLASS_DOWNLOAD_LINK = '.topic-highlight--download-link';\nconst CLASS_DOWLAD_LABEL = '.topic-highlight--download-label';\nconst CLASS_WARNING = '.banner-widget--warning';\nconst CLASS_CLOSE = '.banner-widget--close';\nconst CLASS_HIGHLIGHT = '.highlight';\nconst CLASS_TOPIC_HIGHLIGHT = '.topic-highlight';\n\nmodule.exports = {\n\tasync init() {\n\t\tawait asyncImport(this, 'debounce');\n\t\tthis.root\n\t\t\t.querySelector(CLASS_CLOSE)\n\t\t\t?.addEventListener('click', this.hideWarning.bind(this));\n\t\tconst highlights = this.root.querySelectorAll(CLASS_HIGHLIGHT);\n\n\t\thighlights.forEach(element => {\n\t\t\telement.addEventListener('click', () => {\n\t\t\t\t// type casting to get boolean\n\n\t\t\t\tconst isDownloadable = element.dataset.downloadable === 'true';\n\t\t\t\ttrackGtm(this.determineTrackedObject(element, isDownloadable, false));\n\t\t\t\ttrackGtm4(this.determineTrackedObject(element, isDownloadable, true));\n\t\t\t});\n\t\t});\n\n\t\tthis.isMobileVideo = !!this.root.dataset.mobileVideo;\n\t\tthis.isDesktopVideo = !!this.root.dataset.desktopVideo;\n\t\tthis.updateVideoSource();\n\n\t\tif (this.isDesktopVideo || this.isMobileVideo) {\n\t\t\tthis.currentVideoUrl =\n\t\t\t\twindow.innerWidth < 768\n\t\t\t\t\t? this.root.dataset.mobileVideo\n\t\t\t\t\t: this.root.dataset.desktopVideo;\n\t\t\twindow.addEventListener(\n\t\t\t\t'resize',\n\t\t\t\tthis.debounce(this.updateVideoSource.bind(this), 100),\n\t\t\t);\n\t\t}\n\t},\n\tdetermineTrackedObject(link, isDownloadable, gtm4) {\n\t\tlet trackedObject = {};\n\t\tlet trackedObjectGtm4 = {};\n\t\tconst downloadButtonStyleChange = !!this.root.dataset.downloadStyleChange;\n\t\tconst linkHref = link.querySelector(CLASS_BOX_LINK)?.href;\n\n\t\tif (isDownloadable) {\n\t\t\tconst widgetTitle = this.root\n\t\t\t\t.querySelector(CLASS_BOX_TITLE)\n\t\t\t\t.textContent.trim();\n\t\t\tconst elementLinkText =\n\t\t\t\tlink.querySelector(CLASS_DOWLAD_LABEL).textContent;\n\t\t\tconst downloadLink = downloadButtonStyleChange\n\t\t\t\t? link.querySelector(CLASS_DOWNLOAD_LINK).href\n\t\t\t\t: linkHref;\n\t\t\tconst titleText = link\n\t\t\t\t.querySelector(\n\t\t\t\t\tdownloadButtonStyleChange ? CLASS_DOWNLOAD_LINK : CLASS_BOX_TITLE,\n\t\t\t\t)\n\t\t\t\t.textContent.trim();\n\t\t\tconst label = `${titleText} / ${downloadLink}`;\n\n\t\t\ttrackedObject = {\n\t\t\t\teventCategory: 'outgoing tracking',\n\t\t\t\teventAction: 'download',\n\t\t\t\teventLabel: label,\n\t\t\t};\n\t\t\ttrackedObjectGtm4 = {\n\t\t\t\tevent: 'GA4_event_c_file_download',\n\t\t\t\tfile_name: downloadLink.split('/').pop(),\n\t\t\t\twidget_name: this.getParentWidgetName(),\n\t\t\t\twidget_title: widgetTitle,\n\t\t\t\tlink_url: downloadLink,\n\t\t\t\tlink_text: elementLinkText,\n\t\t\t\ttitle: titleText,\n\t\t\t};\n\n\t\t\tconst gtmObject = gtm4 ? trackedObjectGtm4 : trackedObject;\n\t\t\ttrackedObject = gtmObject;\n\t\t} else {\n\t\t\ttrackedObject = {\n\t\t\t\teventCategory: 'cta',\n\t\t\t\teventAction: 'image',\n\t\t\t\teventLabel: linkHref,\n\t\t\t};\n\t\t}\n\n\t\treturn trackedObject;\n\t},\n\tgetParentWidgetName() {\n\t\tconst dataSelector = this.root\n\t\t\t.querySelector(CLASS_TOPIC_HIGHLIGHT)\n\t\t\t.getAttribute('data-parent');\n\t\treturn dataSelector ? dataSelector : '';\n\t},\n\thideWarning() {\n\t\tthis.root.querySelector(CLASS_WARNING).style.display = 'none';\n\t},\n\n\tupdateVideoSource() {\n\t\tconst isWideScreen = window.innerWidth >= 768;\n\t\tconst video = this.root.querySelector('video');\n\t\tconst videoSource = video?.querySelector('source');\n\t\tconst videoUrl =\n\t\t\t!isWideScreen && videoSource\n\t\t\t\t? this.root.dataset.mobileVideo\n\t\t\t\t: this.root.dataset.desktopVideo;\n\n\t\tif (video) {\n\t\t\tvideo.style.display =\n\t\t\t\t(this.isMobileVideo && !this.isDesktopVideo && isWideScreen) ||\n\t\t\t\t(!this.isMobileVideo && this.isDesktopVideo && !isWideScreen)\n\t\t\t\t\t? 'none'\n\t\t\t\t\t: 'block';\n\t\t}\n\n\t\tif (videoUrl !== this.currentVideoUrl && videoSource) {\n\t\t\tvideoSource.src = videoUrl;\n\t\t\tthis.currentVideoUrl = videoUrl;\n\t\t\tvideo?.load();\n\t\t}\n\t},\n};\n"],"sourceRoot":""}