{"version":3,"file":"accordion.7a0fbcb4.js","mappings":"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","sources":["webpack://ucn/./src/components/accordion/accordion-item.js","webpack://ucn/./src/components/accordion/accordion-list.js","webpack://ucn/./src/components/accordion/accordion.js","webpack://ucn/./src/components/video-thumbs/video-thumbs.js"],"sourcesContent":["import {\n\tgetElementFromHash,\n\thasContent,\n\tresetHashUrl,\n\tsetAriaProp,\n\tsetHashUrl,\n} from \"@common/utilities.js\";\nimport { emitVideoPauseEvent } from \"@components/video-thumbs/video-thumbs.js\";\n\nexport class AccordionItem {\n\tconstructor(config) {\n\t\tthis.el = config.el;\n\t\tthis.toggleBtn = this.el.querySelector(config.triggerSelector);\n\t\tthis.contentEl = this.el.querySelector(config.contentSelector);\n\t\tthis.expandedClass = config.expandedClass || \"expanded\";\n\t\tthis.expandOnLoad =\n\t\t\tgetElementFromHash(this.el) !== null || !!config.expandOnLoad; // hash points to the accordionItem or an anchor within the content of this accordion item;\n\t\tthis.expandOnLoadWithoutHash =\n\t\t\tthis.el.dataset.startExpandedWithoutHash === \"true\";\n\t\tthis.setHash =\n\t\t\ttypeof config.setHash === \"boolean\" ? config.setHash : true;\n\t\tthis.expanded = false;\n\t\tthis.collapseEvent = new CustomEvent(\"collapse\", {\n\t\t\tbubbles: true,\n\t\t\tdetail: {\n\t\t\t\titem: this,\n\t\t\t},\n\t\t});\n\t\tthis.expandEvent = new CustomEvent(\"expand\", {\n\t\t\tbubbles: true,\n\t\t\tdetail: {\n\t\t\t\titem: this,\n\t\t\t},\n\t\t});\n\t\tthis.hasContent = hasContent(this.contentEl);\n\t\tthis.noContentClass = config.noContentClass || \"no-content\";\n\t\tthis.init();\n\t}\n\n\tinit() {\n\t\tif (!this.hasContent) {\n\t\t\tthis.el.classList.add(this.noContentClass);\n\t\t\treturn;\n\t\t}\n\n\t\tthis.attachEvents();\n\n\t\tif (this.expandOnLoad) {\n\t\t\tthis.expand();\n\t\t} else if (this.expandOnLoadWithoutHash) {\n\t\t\tthis.expand(true);\n\t\t}\n\t}\n\n\tattachEvents() {\n\t\tthis.toggleBtn.addEventListener(\"click\", (e) => {\n\t\t\tthis.expanded = !this.expanded;\n\n\t\t\tif (this.expanded) {\n\t\t\t\tthis.expand();\n\t\t\t} else {\n\t\t\t\tthis.collapse();\n\t\t\t}\n\t\t});\n\n\t\tthis.contentEl.addEventListener(\"transitionend\", (e) => {\n\t\t\tif (e.propertyName === \"height\") {\n\t\t\t\t// remove fixed height once accordion animation is done\n\t\t\t\tthis.contentEl.style.height = this.expanded ? \"auto\" : \"\";\n\t\t\t}\n\t\t});\n\t}\n\n\texpand(startExpandedWithoutHash) {\n\t\tthis.expanded = true;\n\t\tthis.el.classList.add(this.expandedClass);\n\t\tthis.contentEl.removeAttribute(\"inert\");\n\t\tsetAriaProp(this.contentEl, \"hidden\", false);\n\t\tsetAriaProp(this.toggleBtn, \"expanded\", true);\n\t\tthis.el.dispatchEvent(this.expandEvent);\n\t\tif (this.setHash && !startExpandedWithoutHash) {\n\t\t\tsetHashUrl(this.el.getAttribute(\"id\"));\n\t\t}\n\n\t\t// animate accordion style\n\t\tthis.contentEl.style.height = this.contentEl.scrollHeight + \"px\";\n\t}\n\n\tcollapse() {\n\t\tthis.expanded = false;\n\t\temitVideoPauseEvent(this.el);\n\t\tthis.el.classList.remove(this.expandedClass);\n\t\tthis.contentEl.setAttribute(\"inert\", \"\");\n\t\tsetAriaProp(this.contentEl, \"hidden\", true);\n\t\tsetAriaProp(this.toggleBtn, \"expanded\", false);\n\t\tthis.el.dispatchEvent(this.collapseEvent);\n\t\tif (this.setHash) {\n\t\t\tresetHashUrl();\n\t\t}\n\n\t\t// animate accordion style\n\t\tthis.contentEl.style.height = this.contentEl.scrollHeight + \"px\";\n\t\trequestAnimationFrame(() => {\n\t\t\tthis.contentEl.style.height = \"\";\n\t\t});\n\t}\n}\n","import { AccordionItem } from \"@components/accordion/accordion-item.js\";\n\nexport default class AccordionList {\n\tconstructor(config) {\n\t\tthis.el = config.el;\n\t\tthis.accordions = [];\n\t\tthis.accordionsConfig = config.accordionsConfig || {};\n\t\tthis.itemSelector =\n\t\t\tthis.accordionsConfig.itemSelector || \".accordion-item\";\n\t\tthis.allowMultipleOpen = config.allowMultipleOpen || false;\n\t\tthis.init();\n\t}\n\tinit() {\n\t\tthis.attachEvents();\n\n\t\tthis.accordions = Array.from(\n\t\t\tthis.el.querySelectorAll(this.itemSelector)\n\t\t).map((x) => new AccordionItem({ ...this.accordionsConfig, el: x }));\n\t}\n\tattachEvents() {\n\t\tif (!this.allowMultipleOpen) {\n\t\t\tthis.el.addEventListener(\"expand\", (e) => {\n\t\t\t\tthis.accordions\n\t\t\t\t\t.filter((x) => x !== e.detail.item) // take all the accordionItems that are the not one that just emitted the expand event\n\t\t\t\t\t.forEach((item) => {\n\t\t\t\t\t\tif (item.expanded) {\n\t\t\t\t\t\t\titem.collapse();\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t});\n\t\t}\n\t}\n\n\tallAreOpen() {\n\t\treturn (\n\t\t\t!!this.accordions.length && this.accordions.every((x) => x.expanded)\n\t\t);\n\t}\n\topenAll() {\n\t\tthis.accordions.forEach((accordion) => {\n\t\t\taccordion.expand();\n\t\t});\n\t}\n\tcloseAll() {\n\t\tthis.accordions.forEach((accordion) => {\n\t\t\taccordion.collapse();\n\t\t});\n\t}\n}\n","import AccordionList from \"@components/accordion/accordion-list.js\";\n\nexport default class Accordion {\n\tconstructor(config) {\n\t\tthis.el = config.el;\n\t\tthis.accordionList = new AccordionList({\n\t\t\tel: this.el,\n\t\t\taccordionsConfig: {\n\t\t\t\titemSelector: \".accordion__item\",\n\t\t\t\ttriggerSelector: \".accordion__trigger\",\n\t\t\t\tcontentSelector: \".accordion__content\",\n\t\t\t\texpandedClass: \"accordion__item--expanded\",\n\t\t\t},\n\t\t\tallowMultipleOpen: false,\n\t\t});\n\n\t\t//this.init();\n\t}\n\tinit() {}\n}\n","const IFRAME_HOSTS = {\n\tvimeo: \"player.vimeo.com\",\n\tyoutube: \"www.youtube-nocookie.com\",\n};\n\nexport const emitVideoPauseEvent = (el) => {\n\tconst video = el.querySelector(\"video\");\n\tconst iframe = el.querySelector(\"iframe\");\n\tconst event = new Event(\"js-video-pause\");\n\tif (video) {\n\t\tvideo.dispatchEvent(event);\n\t}\n\tif (iframe) {\n\t\tiframe.dispatchEvent(event);\n\t}\n};\n\nexport const emitVideoStopEvent = (el) => {\n\tconst video = el.querySelector(\"video\");\n\tconst iframe = el.querySelector(\"iframe\");\n\tconst event = new Event(\"js-video-stop\");\n\tif (video) {\n\t\tvideo.dispatchEvent(event);\n\t}\n\tif (iframe) {\n\t\tiframe.dispatchEvent(event);\n\t}\n};\n\nexport default class VideoThumbs {\n\tconstructor(config) {\n\t\tthis.el = config.el;\n\t\tthis.videoTopImage = this.el.querySelector(\".video-thumbs__container\");\n\t\tthis.playerEl = null;\n\t\tthis.YTPlayer = null;\n\t\tthis.vimeoPlayer = null;\n\t\tthis.videoType = \"\";\n\t\tthis.init();\n\t}\n\n\tinit() {\n\t\tthis.setVideoTypeAndPlayerEl();\n\t\tthis.addEventListeners();\n\t}\n\n\tsetVideoTypeAndPlayerEl() {\n\t\tconst videoTag = this.videoTopImage\n\t\t\t.closest(\".video-thumbs\")\n\t\t\t.querySelector(\".video-tag\");\n\t\tif (videoTag != null) {\n\t\t\tthis.videoType = \"local\";\n\t\t\tthis.playerEl = videoTag;\n\t\t} else {\n\t\t\tconst iframe = this.videoTopImage\n\t\t\t\t.closest(\".video-thumbs\")\n\t\t\t\t.querySelector(\".videoplayer__iframe\");\n\t\t\tconst iframeHost = new URL(iframe.src).host;\n\n\t\t\tthis.playerEl = iframe;\n\n\t\t\tswitch (iframeHost) {\n\t\t\t\tcase IFRAME_HOSTS.vimeo:\n\t\t\t\t\tthis.videoType = \"vimeo\";\n\t\t\t\t\tthis.loadVimeoSDK();\n\t\t\t\t\tbreak;\n\t\t\t\tcase IFRAME_HOSTS.youtube:\n\t\t\t\t\tthis.videoType = \"youtube\";\n\t\t\t\t\tthis.loadYoutubeSDK();\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\n\taddEventListeners() {\n\t\tconst self = this;\n\t\tthis.playerEl.addEventListener(\n\t\t\t\"js-video-pause\",\n\t\t\t() => {\n\t\t\t\tself.pauseVideo();\n\t\t\t},\n\t\t\tfalse\n\t\t);\n\t\tthis.playerEl.addEventListener(\n\t\t\t\"js-video-stop\",\n\t\t\t() => {\n\t\t\t\tself.stopVideo();\n\t\t\t},\n\t\t\tfalse\n\t\t);\n\t\tif (this.videoType === \"local\") {\n\t\t\tthis.videoTopImage.addEventListener(\"click\", () => {\n\t\t\t\tself.playLocalVideo();\n\t\t\t});\n\t\t}\n\t}\n\n\thideThumbnail() {\n\t\tthis.videoTopImage.classList.add(\"hidden\");\n\t\tthis.playerEl.tabIndex = 0;\n\t}\n\n\tpauseVideo() {\n\t\tswitch (this.videoType) {\n\t\t\tcase \"local\":\n\t\t\t\tthis.playerEl.pause();\n\t\t\t\tbreak;\n\t\t\tcase \"youtube\":\n\t\t\t\tif (this.YTPlayer) {\n\t\t\t\t\tthis.YTPlayer.pauseVideo();\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase \"vimeo\":\n\t\t\t\tif (this.vimeoPlayer) {\n\t\t\t\t\tthis.vimeoPlayer.pause();\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t}\n\t}\n\n\tstopVideo() {\n\t\tswitch (this.videoType) {\n\t\t\tcase \"local\":\n\t\t\t\tthis.playerEl.stop();\n\t\t\t\tbreak;\n\t\t\tcase \"youtube\":\n\t\t\t\tif (this.YTPlayer) {\n\t\t\t\t\tthis.YTPlayer.stopVideo();\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase \"vimeo\":\n\t\t\t\tif (this.vimeoPlayer) {\n\t\t\t\t\tthis.vimeoPlayer.stop();\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t}\n\t}\n\n\tplayLocalVideo() {\n\t\tthis.hideThumbnail();\n\t\tthis.playerEl.load();\n\t\tthis.playerEl.play();\n\t\tthis.emitPlayEvent();\n\t}\n\n\tloadYoutubeSDK() {\n\t\tconst youtubeSDKReadyCallback = () => {\n\t\t\tif (window.YT.loaded) {\n\t\t\t\tthis.playYoutubeVideo();\n\t\t\t} else {\n\t\t\t\twindow.YT.ready(() => {\n\t\t\t\t\tthis.playYoutubeVideo();\n\t\t\t\t});\n\t\t\t}\n\t\t};\n\n\t\tconst youtubeScriptEl = document.getElementById(\"youtube-iframe-api\");\n\t\tif (youtubeScriptEl) {\n\t\t\t// already loaded or in the process of loading youtube sdk\n\t\t\tif (window.YT) {\n\t\t\t\t// already loaded\n\t\t\t\tyoutubeSDKReadyCallback();\n\t\t\t} else {\n\t\t\t\t// another module initiated the loading of youtube sdk, so we just hook up to that element\n\t\t\t\tyoutubeScriptEl.addEventListener(\n\t\t\t\t\t\"load\",\n\t\t\t\t\tyoutubeSDKReadyCallback\n\t\t\t\t);\n\t\t\t}\n\t\t} else {\n\t\t\tconst tag = document.createElement(\"script\");\n\t\t\ttag.id = \"youtube-iframe-api\";\n\t\t\ttag.src = \"https://www.youtube.com/iframe_api\";\n\t\t\tconst firstScriptTag = document.getElementsByTagName(\"script\")[0];\n\t\t\tfirstScriptTag.parentNode.insertBefore(tag, firstScriptTag);\n\t\t\ttag.addEventListener(\"load\", youtubeSDKReadyCallback);\n\t\t}\n\t}\n\n\tloadVimeoSDK() {\n\t\tconst vimeoSDKReadyCallback = () => {\n\t\t\tthis.playVimeoVideo();\n\t\t};\n\n\t\tconst vimeoScriptEl = document.getElementById(\"vimeo-iframe-api\");\n\t\tif (vimeoScriptEl) {\n\t\t\t// already loaded or in the process of loading youtube sdk\n\t\t\tif (window.Vimeo) {\n\t\t\t\t// already loaded\n\t\t\t\tvimeoSDKReadyCallback();\n\t\t\t} else {\n\t\t\t\t// another module initiated the loading of youtube sdk, so we just hook up to that element\n\t\t\t\tvimeoScriptEl.addEventListener(\"load\", vimeoSDKReadyCallback);\n\t\t\t}\n\t\t} else {\n\t\t\tconst tag = document.createElement(\"script\");\n\t\t\ttag.id = \"vimeo-iframe-api\";\n\t\t\ttag.src = \"https://player.vimeo.com/api/player.js\";\n\t\t\tconst firstScriptTag = document.getElementsByTagName(\"script\")[0];\n\t\t\tfirstScriptTag.parentNode.insertBefore(tag, firstScriptTag);\n\t\t\ttag.addEventListener(\"load\", vimeoSDKReadyCallback);\n\t\t}\n\t}\n\n\tplayVimeoVideo() {\n\t\tconst self = this;\n\t\tthis.vimeoPlayer = new Vimeo.Player(this.playerEl);\n\t\tself.videoTopImage.addEventListener(\"click\", function () {\n\t\t\tself.hideThumbnail();\n\t\t\tself.vimeoPlayer.play();\n\t\t\tself.emitPlayEvent();\n\t\t});\n\t}\n\n\tplayYoutubeVideo() {\n\t\tconst self = this;\n\t\tthis.YTPlayer = new window.YT.Player(self.playerEl, {\n\t\t\tevents: {\n\t\t\t\tonReady: onPlayerReady,\n\t\t\t},\n\t\t});\n\t\tfunction onPlayerReady(event) {\n\t\t\tself.videoTopImage.addEventListener(\"click\", function () {\n\t\t\t\tself.hideThumbnail();\n\t\t\t\tevent.target.playVideo();\n\t\t\t\tself.emitPlayEvent();\n\t\t\t});\n\t\t}\n\t}\n\n\temitPlayEvent() {\n\t\tconst playEvent = new CustomEvent(\"playing\", {\n\t\t\tbubbles: true,\n\t\t\tdetail: {\n\t\t\t\ttype: this.videoType,\n\t\t\t},\n\t\t});\n\t\tthis.el.dispatchEvent(playEvent);\n\t}\n}\n"],"names":["AccordionItem","config","this","el","toggleBtn","querySelector","triggerSelector","contentEl","contentSelector","expandedClass","expandOnLoad","getElementFromHash","expandOnLoadWithoutHash","dataset","startExpandedWithoutHash","setHash","expanded","collapseEvent","CustomEvent","bubbles","detail","item","expandEvent","hasContent","noContentClass","init","attachEvents","expand","classList","add","addEventListener","e","collapse","propertyName","style","height","removeAttribute","setAriaProp","dispatchEvent","setHashUrl","getAttribute","scrollHeight","emitVideoPauseEvent","remove","setAttribute","resetHashUrl","requestAnimationFrame","AccordionList","accordions","accordionsConfig","itemSelector","allowMultipleOpen","Array","from","querySelectorAll","map","x","filter","forEach","length","every","accordion","Accordion","accordionList","IFRAME_HOSTS","video","iframe","event","Event","emitVideoStopEvent","VideoThumbs","videoTopImage","playerEl","YTPlayer","vimeoPlayer","videoType","setVideoTypeAndPlayerEl","addEventListeners","videoTag","closest","iframeHost","URL","src","host","loadVimeoSDK","loadYoutubeSDK","self","pauseVideo","stopVideo","playLocalVideo","tabIndex","pause","stop","hideThumbnail","load","play","emitPlayEvent","youtubeSDKReadyCallback","window","YT","loaded","playYoutubeVideo","ready","youtubeScriptEl","document","getElementById","tag","createElement","id","firstScriptTag","getElementsByTagName","parentNode","insertBefore","vimeoSDKReadyCallback","playVimeoVideo","vimeoScriptEl","Vimeo","Player","events","onReady","target","playVideo","playEvent","type"],"sourceRoot":""}