{"version":3,"sources":["webpack:///./scripts/accordion/Accordion.js","webpack:///./scripts/common/templates/banner-card.template.js","webpack:///./scripts/accordion/index.js","webpack:///./scripts/carousels/SlickCarousel.js","webpack:///./scripts/carousels/card-carousel.js","webpack:///../node_modules/gsap/ScrollToPlugin.js"],"names":["gsap","ScrollToPlugin","Accordion","AccordionToggler","container","options","this","$accordion","$accordionTrigger","querySelector","$accordionPanel","document","getAttribute","$accordionIconOpen","$accordionIconClose","accordionPanelPersistent","dataset","triggerCloseText","accordionCloseText","triggerActiveText","innerHTML","isMobile","window","innerWidth","settings","Object","assign","ease","active","events","tl","init","createEvents","updateUI","addListener","getAccordion","toggleClasses","toggleTriggerHtml","togglePanelAnim","classList","add","setAttribute","remove","removeAttribute","to","duration","overwrite","height","autoAlpha","display","dispatchEvent","refreshAllControllers","$target","closest","eventCallback","scrollTo","y","offsetY","CustomEvent","bubbles","detail","isActive","e","preventDefault","panelClose","panelOpen","scrollToPanel","addEventListener","event","contains","target","triggerClickHandler","AccordionGroup","$accordionGroup","$accordionBody","$accordionMedia","$accordionItems","querySelectorAll","$featuredCarousel","activeAccordion","findIndex","$item","hasAttribute","carouselItems","persistent","getAccordionData","_createIndividualAccordionCarousels","_createFeaturedCarousel","addListeners","forEach","index","carouselImages","carousel","JSON","parse","push","item","pagination","carouselPagination","data","length","$panelMedia","createElement","appendChild","buildCarousel","append","CardCarousel","items","$carousel","buildCarouselItem","$carouselItem","title","$carouselBanner","utilities","$carouselBannerBg","img","onComplete","val","closeOtherPanels","switchFeaturedCarousel","open","$itemsPassive","filter","perspective","transformStyle","scale","stagger","selectActive","selectedToggleAnimation","$a","Carousels","SlickCarousel","$slider","$slides","$pagination","arrowModifiers","asNavFor","asNav","goToPanel","gotoPanel","syncLocation","infinite","slidesToShow","slidesToScroll","dots","arrows","prevArrow","nextArrow","controlsAppendTo","initCallback","addClassModifiers","sliderEventsCallback","setSync","makePagination","syncSlideWithLocation","makeCarousel","paginationUpdate","addlisteners","getSlick","updateOptions","windowHref","location","href","slides","$slide","$link","match","responsive","reverse","every","screen","breakpoint","initialSlide","focusOnSelect","$","on","slick","image","imageSource","parents","removeClass","parent","hasClass","addClass","currentSlide","nextSlide","lazyLoad","$s","unslick","paginationItem","parentNode","appendArrows","label","paginationLabel","$paginationItem","String","padStart","currentIndex","$paginationItems","find","$paginationList","$activePaginationItem","eq","x","offsetX","$bannerVideo","getVideo","_pauseVideo","_playVideo","pauseSlideVideo","playSlideVideo","resizeFunc","resizeCallback","carouselType","lazyload","offsetClassUpdater","centerMode","centerPadding","setTimeout","updateCardWidth","itemsToShow","variableWidth","largeBlogArticleFigureHeight","responsiveWidths","$blogArticleFigure","style","minHeight","figureHeight","getBoundingClientRect","viewPortWidth","width","lgCardWidth","xlCardWidth","smCardWidth","flex","maxWidth","_coreInitted","_window","_docEl","_body","_toArray","_config","_windowExists","_getGSAP","registerPlugin","_isString","value","_isFunction","_max","element","axis","dim","scroll","client","Math","max","_buildGetter","p","pageXOffset","toUpperCase","_getOffset","console","warn","rect","isRoot","cRect","top","clientTop","pageYOffset","scrollTop","left","clientLeft","scrollLeft","offsets","_parseVal","currentVal","offset","isNaN","charAt","parseFloat","substr","min","_initCore","body","documentElement","utils","toArray","config","autoKillThreshold","version","name","rawVars","register","core","tween","targets","isWin","nodeType","result","_clean","vars","autoKill","getX","getY","xPrev","yPrev","_props","skipX","skipY","render","ratio","yDif","xDif","threshold","pt","_pt","r","d","_next","kill","onAutoKill","apply","onAutoKillParams","property","both","getOffset","buildGetter"],"mappings":"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","file":"js/accordion.724b8031bfd574c2d96f.bundle.js","sourcesContent":["import { gsap } from \"gsap\"\nimport { ScrollToPlugin } from \"gsap/ScrollToPlugin\"\nimport { utilities } from \"@/scripts/common/utilities\"\nimport bannerCardTpl from \"@/scripts/common/templates/banner-card.template\"\nimport CardCarousel from \"@/scripts/carousels/card-carousel\"\nimport settings from \"@/scripts/common/settings\"\nimport {refreshAllControllers} from \"@/scripts/common/api/scrolltrigger.services\"\n\ngsap.registerPlugin(ScrollToPlugin)\n\nexport const Accordion = (() => {\n // Accordion Toggler\n class AccordionToggler {\n constructor(container, options) {\n this.$accordion = container\n this.$accordionTrigger = this.$accordion.querySelector('.accordion__trigger') || this.$accordion\n this.$accordionPanel = this.$accordion.querySelector('.accordion__panel') || document.querySelector(this.$accordionTrigger.getAttribute('href'))\n this.$accordionIconOpen = this.$accordion.querySelector('.accordion__icon--open')\n this.$accordionIconClose = this.$accordion.querySelector('.accordion__icon--close')\n this.accordionPanelPersistent = !!this.$accordionPanel.dataset.accordionPanelPersistent || false\n this.triggerCloseText = this.$accordionTrigger.dataset.accordionCloseText || ''\n this.triggerActiveText = this.triggerCloseText ? this.$accordionTrigger.innerHTML : ''\n this.isMobile = window.innerWidth < settings.breakpoints.mobile\n this.options = Object.assign({\n ease: 'power2.inOut'\n }, options)\n this.active = !!this.$accordion.dataset.active || false\n this.events = []\n this.tl = null\n this.init()\n\n }\n\n init() {\n this.createEvents()\n this.updateUI()\n this.addListener()\n this.$accordion.getAccordion = () => this\n this.$accordionPanel.getAccordion = () => this\n }\n\n updateUI() {\n this.toggleClasses()\n if (this.triggerCloseText) this.toggleTriggerHtml()\n this.togglePanelAnim()\n }\n\n toggleClasses() {\n if (this.active) {\n this.$accordion.classList.add('accordion--active')\n this.$accordion.setAttribute('data-active', '')\n } else {\n this.$accordion.classList.remove('accordion--active')\n this.$accordion.removeAttribute('data-active', '')\n }\n }\n\n toggleTriggerHtml() {\n this.$accordionTrigger.innerHTML = this.active ? this.triggerCloseText : this.triggerActiveText\n }\n\n togglePanelAnim() {\n this.tl = null\n this.tl = new gsap.timeline()\n .to(this.$accordionPanel, {\n duration: 0.4,\n overwrite: 'all',\n ease: this.options.ease,\n height: this.active ? 'auto' : 0\n })\n if (this.$accordionIconOpen)\n this.tl.to(this.$accordionIconOpen, {\n duration: 0.2,\n overwrite: 'all',\n ease: this.options.ease,\n autoAlpha: this.active ? 0 : 1,\n display: this.active ? 'none' : 'block',\n }, this.active ? 0 : 0.2)\n if (this.$accordionIconClose)\n this.tl.to(this.$accordionIconClose, {\n duration: 0.2,\n overwrite: 'all',\n ease: this.options.ease,\n autoAlpha: this.active ? 1 : 0,\n display: this.active ? 'block' : 'none',\n }, !this.active ? 0 : 0.2)\n \n this.tl.add(() => {\n this.$accordion.dispatchEvent(this.active ? this.events['panelOpen'] : this.events['panelClose'])\n refreshAllControllers() // Scroll Trigger controller refresh after open\n })\n }\n\n scrollToPanel() {\n if (!this.tl || !this.active) return\n let $target = this.$accordionTrigger\n if(this.$accordionTrigger.closest(\".accordion-group\") && !this.isMobile) {\n $target = this.$accordionTrigger.closest(\".accordion-group\")\n }\n this.tl.eventCallback('onComplete', () => {\n gsap.to(window, {\n duration: 0.4,\n scrollTo: {\n y: $target,\n offsetY: 100\n },\n ease: 'power2.inOut'\n })\n })\n }\n\n getPanel() {\n return this.$accordionPanel\n }\n\n panelOpen() {\n if(this.active) return\n this.active = true\n this.updateUI()\n //this.$accordion.dispatchEvent(this.events['panelOpen'])\n }\n\n panelClose() {\n if(!this.active) return\n this.active = false\n this.updateUI()\n //this.$accordion.dispatchEvent(this.events['panelClose'])\n }\n\n createEvents() {\n this.events['panelOpen'] = new CustomEvent('panelOpen', {\n bubbles: true,\n detail: {\n isActive: () => this.active\n }\n })\n\n this.events['panelClose'] = new CustomEvent('panelClose', {\n bubbles: true,\n detail: {\n isActive: () => this.active\n }\n })\n }\n\n triggerClickHandler(e) {\n e.preventDefault()\n !this.active ? this.panelOpen() : this.panelClose()\n this.scrollToPanel() // only for click\n }\n\n addListener() {\n if(!this.accordionPanelPersistent)\n document.addEventListener('click', (event) => {\n const isClickInside = this.$accordion.contains(event.target) || this.$accordionPanel.contains(event.target) || (this.$accordion === event.target)\n if (!isClickInside) this.active && this.panelClose()\n })\n\n this.$accordionTrigger.addEventListener('click', (e) => this.triggerClickHandler(e))\n }\n }\n\n // Accordion group\n class AccordionGroup {\n constructor(container, options) {\n this.$accordionGroup = container\n this.$accordionBody = this.$accordionGroup.querySelector('.accordion-group__body')\n this.$accordionMedia = this.$accordionGroup.querySelector('.accordion-group__media')\n this.$accordionItems = gsap.utils.toArray(this.$accordionGroup.querySelectorAll('.accordion'))\n this.$featuredCarousel = null\n this.isMobile = window.innerWidth < settings.breakpoints.mobile\n this.activeAccordion = this.$accordionItems.findIndex($item => $item.hasAttribute(\"data-active\")) !== -1 ? this.$accordionItems.findIndex($item => $item.hasAttribute(\"data-active\")) : 0\n this.carouselItems = []\n\n this.options = Object.assign({\n persistent: true\n }, options)\n\n this.init()\n }\n\n init() {\n this.getAccordionData()\n if(this.isMobile) this._createIndividualAccordionCarousels()\n if(!this.isMobile) this._createFeaturedCarousel()\n this.addListeners()\n }\n\n getAccordionData() {\n this.$accordionItems.forEach(($item, index) => {\n const carouselImages = $item.dataset.carousel ? JSON.parse($item.dataset.carousel) : []\n\n this.carouselItems.push({\n item: index,\n carouselImages,\n pagination: !!$item.dataset.carouselPagination || false\n })\n })\n }\n\n // Carousels\n // Single accordion carousels - mobile\n _createIndividualAccordionCarousels() {\n this.$accordionItems.forEach(($item, index) => {\n const data = $item.dataset.carousel ? JSON.parse($item.dataset.carousel) : []\n if (data.length) {\n const $panelMedia = document.createElement('div')\n $panelMedia.classList.add('accordion__panel-media')\n $panelMedia.appendChild(this.buildCarousel(data))\n $item.querySelector('.accordion__panel').append($panelMedia)\n new CardCarousel($item.querySelector('.card-carousel__list'), {\n pagination: this.carouselItems[index].pagination,\n //adaptiveHeight: true\n })\n }\n })\n }\n\n // Featured carousels - desktop\n _createFeaturedCarousel() {\n const items = this.carouselItems[this.activeAccordion]\n if (!this.$accordionMedia) {\n const $panelMedia = document.createElement('div')\n $panelMedia.classList.add('accordion-group__media')\n this.$accordionGroup.appendChild($panelMedia)\n this.$accordionMedia = $panelMedia\n }\n\n this.$featuredCarousel = this.buildCarousel(items.carouselImages)\n this.$accordionMedia.appendChild(this.$featuredCarousel)\n gsap.from(this.$featuredCarousel, { autoAlpha: 0 })\n\n new CardCarousel(this.$featuredCarousel.querySelector('.card-carousel__list'), {\n pagination: this.carouselItems[this.activeAccordion].pagination,\n //adaptiveHeight: true\n })\n\n\n }\n\n buildCarousel(carouselItems) {\n\n const $carousel = document.createElement('div')\n $carousel.classList.add('card-carousel', 'card-carousel--gutter', 'card-carousel--overlay-controls')\n $carousel.innerHTML = ``\n\n carouselItems.forEach((item) => {\n const $carouselList = $carousel.querySelector('.card-carousel__list')\n $carouselList.appendChild(this.buildCarouselItem(item))\n })\n\n return $carousel\n }\n\n buildCarouselItem(item) {\n\n const $carouselItem = document.createElement('div')\n $carouselItem.classList.add('card-carousel__item')\n $carouselItem.setAttribute('data-pagination-label', item.title)\n const $carouselBanner = utilities.createNodeParsing(bannerCardTpl())\n $carouselBanner.classList.add('banner--native')\n const $carouselBannerBg = $carouselBanner.querySelector('.bg-img')\n $carouselBannerBg.setAttribute('data-img', true)\n $carouselBannerBg.innerHTML = `\"\"`\n\n $carouselItem.innerHTML = ``\n const $carouselCell = $carouselItem.querySelector('.card-carousel__cell')\n $carouselCell.appendChild($carouselBanner)\n\n return $carouselItem\n }\n\n // FEatured carousel switching\n switchFeaturedCarousel() {\n if (this.$featuredCarousel) {\n this.$accordionGroup.classList.add('accordion-group--featured-tweening')\n gsap.to(this.$featuredCarousel, {\n autoAlpha: 0,\n display: 'none',\n overwrite: 'all',\n onComplete: () => {\n this.$featuredCarousel.remove()\n this._createFeaturedCarousel()\n this.$accordionGroup.classList.remove('accordion-group--featured-tweening')\n }\n })\n }\n\n }\n // Callbacks\n selectActive(val) {\n if (this.activeAccordion === val) return\n this.activeAccordion = val\n this.closeOtherPanels()\n \n this.switchFeaturedCarousel()\n }\n\n closeOtherPanels() {\n this.$accordionItems.forEach(($item, index) => index !== this.activeAccordion && $item.getAccordion().panelClose())\n }\n\n // Toggle others animation\n\n selectedToggleAnimation(open) {\n const $itemsPassive = gsap.utils.toArray(this.$accordionItems).filter((item, index) => index !== this.activeAccordion)\n const $itemActive = this.$accordionItems[this.activeAccordion]\n const tl = gsap.timeline()\n \n gsap.set(this.$accordionGroup, {\n perspective: 300\n })\n\n gsap.set(this.$accordionItems, {\n transformStyle:\"preserve-3d\"\n })\n\n if(open) {\n tl.to($itemsPassive, {\n height: 0,\n autoAlpha: 0,\n scale: 0,\n duration: 0.6,\n stagger: 0.1,\n ease: \"power2.inOut\"\n })\n\n return\n }\n\n tl.to($itemsPassive, {\n height: 'auto',\n autoAlpha: 1,\n scale: 1,\n duration: 0.6,\n stagger: 0.1,\n ease: \"power2.inOut\"\n })\n }\n\n addListeners() {\n this.$accordionItems.forEach(($item, index) => {\n $item.querySelector(`.accordion__trigger`).addEventListener('click', () => {\n this.selectActive(index)\n this.selectedToggleAnimation($item.getAccordion().active)\n })\n //$item.addEventListener('panelOpen', () => this.selectActive(index))\n \n })\n }\n }\n\n return {\n AccordionToggler,\n AccordionGroup\n }\n})()\n\nexport default Accordion","export default () => {\n return `
\n
\n
\n
\n
`\n}","import {Accordion} from './Accordion'\n(function() {\n const $accordions = document.querySelectorAll('.accordion')\n $accordions.forEach($a => new Accordion.AccordionToggler($a))\n\n const $accordionTriggers = document.querySelectorAll('.accordion-trigger')\n $accordionTriggers.forEach($a => new Accordion.AccordionToggler($a))\n\n const $accordionGrps = document.querySelectorAll('.accordion-group--carousel')\n $accordionGrps.forEach($a => new Accordion.AccordionGroup($a))\n})()","import { gsap } from \"gsap\"\r\nimport { ScrollToPlugin } from \"gsap/ScrollToPlugin\"\r\nimport utilities from '@/scripts/common/utilities'\r\nimport settings from \"@/scripts/common/settings\"\r\ngsap.registerPlugin(ScrollToPlugin)\r\nimport { refreshAllControllers } from \"@/scripts/common/api/scrolltrigger.services\"\r\n\r\nexport const Carousels = (() => {\r\n class SlickCarousel {\r\n constructor(container, options) {\r\n this.$slider = container\r\n this.$slides = this.$slider.querySelectorAll('[class*=\"__item\"]')\r\n this.$pagination = null\r\n this.arrowModifiers = null\r\n this.asNavFor = container.dataset.asNav || null\r\n this.goToPanel = !!container.dataset.gotoPanel || false\r\n this.isMobile = window.innerWidth < settings.breakpoints.mobile\r\n this.syncLocation = !!container.dataset.syncLocation || false\r\n this.options = Object.assign({\r\n infinite: true,\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n dots: true,\r\n arrows: true,\r\n prevArrow: ``,\r\n nextArrow: ``,\r\n pagination: !!this.$slider.dataset.pagination || false,\r\n controlsAppendTo: this.$slider.dataset.controlsAppendTo || null\r\n }, options)\r\n }\r\n\r\n init() {\r\n this.initCallback()\r\n this.addClassModifiers()\r\n this.sliderEventsCallback()\r\n this.setSync()\r\n this.scrollToPanel()\r\n if (this.options.pagination) this.makePagination()\r\n if(this.syncLocation) this.syncSlideWithLocation()\r\n this.makeCarousel()\r\n if (this.options.pagination) this.paginationUpdate()\r\n this.addlisteners()\r\n\r\n this.$slider.getSlick = () => this\r\n }\r\n\r\n addClassModifiers() {\r\n if (this.arrowModifiers)\r\n this.updateOptions({\r\n prevArrow: ``,\r\n nextArrow: ``,\r\n })\r\n }\r\n\r\n syncSlideWithLocation() {\r\n const windowHref = window.location.href\r\n const slides = gsap.utils.toArray(this.$slides)\r\n const index = slides.findIndex($slide => {\r\n const $link = $slide.querySelector('a[href]')\r\n if(!$link) return 0\r\n return windowHref.match($link.getAttribute('href'))\r\n })\r\n\r\n if(index !== -1) slides[index].classList.add('active-link')\r\n\r\n let slidesToShow = this.options.slidesToShow\r\n\r\n this.options.responsive.reverse().every(screen => {\r\n if(window.innerWidth < screen.breakpoint) {\r\n slidesToShow = screen.settings.slidesToShow\r\n return false\r\n }\r\n return true\r\n })\r\n\r\n if(this.$slides.length > slidesToShow) {\r\n this.updateOptions({\r\n initialSlide: index === -1 ? 0 : index,\r\n focusOnSelect: false\r\n })\r\n }\r\n }\r\n\r\n\r\n setSync() {\r\n if (this.asNavFor) {\r\n this.updateOptions({\r\n asNavFor: this.asNavFor\r\n })\r\n }\r\n }\r\n\r\n updateOptions(options) {\r\n Object.assign(this.options, {\r\n ...options\r\n })\r\n }\r\n\r\n\r\n\r\n scrollToPanel() {\r\n\r\n if (this.goToPanel) {\r\n const $items = gsap.utils.toArray(this.$slides)\r\n $items.forEach($item => {\r\n $item.addEventListener('click', () => {\r\n gsap.to(window, {\r\n duration: 1,\r\n scrollTo: {\r\n y: this.asNavFor,\r\n offsetY: 100\r\n },\r\n ease: 'power2.inOut'\r\n })\r\n })\r\n })\r\n }\r\n }\r\n\r\n sliderEventsCallback() {\r\n // Lazyloading\r\n $(this.$slider).on('lazyLoaded', function (event, slick, image, imageSource) {\r\n image.parents('.slick-slide--lazyloading').removeClass('slick-slide--lazyloading')\r\n if (image.parent().hasClass('bg-img')) image.parent().addClass('bg-img--loaded')\r\n })\r\n\r\n // after change\r\n $(this.$slider).on('afterChange', (event, slick, currentSlide, nextSlide) => {\r\n if(this.options.pagination) this.paginationUpdate()\r\n })\r\n }\r\n\r\n initCallback() {\r\n return false\r\n }\r\n\r\n resizeCallback() {\r\n return false\r\n }\r\n\r\n unslick() {\r\n $(this.$slider).slick('unslick')\r\n }\r\n\r\n makeCarousel() {\r\n if (this.options.lazyLoad) {\r\n this.$slides.forEach($s => $s.classList.add('slick-slide--lazyloading'))\r\n }\r\n if (this.$slider.getSlick) this.unslick()\r\n $(this.$slider).slick(this.options)\r\n \r\n }\r\n\r\n makePagination() {\r\n this.$pagination = document.createElement('div')\r\n this.$pagination.classList.add('card-carousel__pagination')\r\n this.$pagination.innerHTML = ``\r\n\r\n this.$slides.forEach(($s, index) => {\r\n this.$pagination.querySelector('.card-carousel__pagination-list').appendChild(this.paginationItem($s, index))\r\n })\r\n\r\n this.$slider.parentNode.appendChild(this.$pagination)\r\n\r\n if(this.options.controlsAppendTo === 'pagination') {\r\n this.updateOptions({\r\n appendArrows: this.$pagination\r\n })\r\n }\r\n }\r\n\r\n paginationItem($slide, index) {\r\n const label = $slide.dataset.paginationLabel\r\n const $paginationItem = document.createElement('div')\r\n $paginationItem.classList.add('card-carousel__pagination-item')\r\n\r\n $paginationItem.innerHTML = `${String(index+1).padStart(2, '0')}. ${label}`\r\n\r\n $paginationItem.addEventListener('click', () => $(this.$slider).slick('slickGoTo', index))\r\n\r\n return $paginationItem\r\n }\r\n\r\n paginationUpdate() {\r\n const currentIndex = $(this.$slider).slick('slickCurrentSlide')\r\n const $paginationItems = $(this.$pagination).find('.card-carousel__pagination-item')\r\n const $paginationList = $(this.$pagination).find('.card-carousel__pagination-list')\r\n $paginationItems.removeClass('card-carousel__pagination-item--active')\r\n const $activePaginationItem = $paginationItems.eq(currentIndex)\r\n\r\n $activePaginationItem.addClass('card-carousel__pagination-item--active')\r\n\r\n gsap.to($paginationList, {duration: 0.4, scrollTo: {\r\n x: $activePaginationItem,\r\n offsetX: 15\r\n }})\r\n }\r\n\r\n // Video utilities\r\n pauseSlideVideo(currentSlide) {\r\n const $slide = this.$slides[currentSlide]\r\n if (!$($slide).find('.banner-video').length) return\r\n \r\n const $bannerVideo = $($slide).find('.banner-video')\r\n if($bannerVideo.length) $bannerVideo[0].getVideo()._pauseVideo()\r\n }\r\n\r\n playSlideVideo(currentSlide) {\r\n const $slide = this.$slides[currentSlide]\r\n if (!$($slide).find('.banner-video').length) return\r\n const $bannerVideo = $slide.querySelector('.banner-video[data-autoplay=\"1\"]')\r\n $bannerVideo?.getVideo()._playVideo()\r\n }\r\n\r\n\r\n\r\n addlisteners() {\r\n\r\n $(this.$slider).on(\"beforeChange\", (event, slick, currentSlide, nextSlide) => {\r\n this.pauseSlideVideo(currentSlide)\r\n })\r\n\r\n $(this.$slider).on(\"afterChange\", (event, slick, currentSlide, nextSlide) => {\r\n this.playSlideVideo(currentSlide)\r\n })\r\n // Resize listener\r\n const resizeFunc = utilities.debounce(() => {\r\n this.isMobile = window.innerWidth < settings.breakpoints.mobile\r\n this.resizeCallback()\r\n }, 250)\r\n window.addEventListener('resize', resizeFunc)\r\n }\r\n }\r\n\r\n return {\r\n SlickCarousel\r\n }\r\n})()","import { Carousels } from './SlickCarousel'\r\nimport settings from \"@/scripts/common/settings\"\r\n\r\nexport class CardCarousel extends Carousels.SlickCarousel {\r\n constructor(container, options) {\r\n super(container, options)\r\n this.carouselType = this.$slider.dataset.carouselType || ''\r\n \r\n this.updateOptions({\r\n infinite: false,\r\n slidesToShow: 5,\r\n slidesToScroll: 1,\r\n lazyLoad: this.$slider.dataset.lazyload || false,\r\n dots: false,\r\n responsive: [\r\n {\r\n breakpoint: 1024,\r\n settings: {\r\n slidesToShow: 2,\r\n }\r\n },\r\n {\r\n breakpoint: 460,\r\n settings: {\r\n slidesToShow: 1,\r\n }\r\n }\r\n ]\r\n })\r\n\r\n this.arrowModifiers = `card-carousel__arrow-btn`\r\n\r\n this.init()\r\n }\r\n\r\n\r\n initCallback() {\r\n\r\n switch (this.carouselType) {\r\n case 'multiple-3':\r\n this.offsetClassUpdater()\r\n this.updateOptions({\r\n slidesToShow: 3,\r\n responsive: [\r\n {\r\n breakpoint: 1024,\r\n settings: {\r\n centerMode: true,\r\n slidesToShow: 2,\r\n infinite: true\r\n }\r\n },\r\n {\r\n breakpoint: 768,\r\n settings: {\r\n centerMode: true,\r\n slidesToShow: 1,\r\n infinite: true\r\n }\r\n },\r\n {\r\n breakpoint: 375,\r\n settings: {\r\n centerMode: true,\r\n slidesToShow: 1,\r\n infinite: true,\r\n centerPadding: '30px'\r\n }\r\n }\r\n ]\r\n })\r\n break\r\n case 'multiple-2':\r\n this.updateOptions({\r\n slidesToShow: 2\r\n })\r\n break\r\n case 'single':\r\n \r\n this.updateOptions({\r\n slidesToShow: 1,\r\n responsive: [\r\n {\r\n breakpoint: 1024,\r\n settings: {\r\n slidesToShow: 1,\r\n }\r\n }\r\n ]\r\n })\r\n $(this.$slider).on(\"init\", () => {\r\n window.setTimeout(() => this.playSlideVideo(0), 3000) // Play video if auto play on first init or slide\r\n })\r\n break\r\n case 'variable':\r\n this.updateCardWidth()\r\n this.updateOptions({\r\n slidesToShow: this.$slider.dataset.itemsToShow || 2,\r\n variableWidth: true,\r\n responsive: [\r\n {\r\n breakpoint: 768,\r\n settings: {\r\n slidesToShow: 1,\r\n variableWidth: true,\r\n infinite: true,\r\n centerMode: false\r\n }\r\n }, {\r\n breakpoint: 375,\r\n settings: {\r\n slidesToShow: 1,\r\n variableWidth: true,\r\n centerMode: false,\r\n infinite: true,\r\n //centerPadding: '30px'\r\n }\r\n }\r\n ]\r\n })\r\n break\r\n }\r\n }\r\n\r\n offsetClassUpdater() {\r\n if(this.$slides.length <= 3) {\r\n if(this.$slider.closest('.card-carousel--off-centered')) this.$slider.closest('.card-carousel--off-centered').classList.remove('card-carousel--off-centered')\r\n }\r\n }\r\n\r\n resizeCallback() {\r\n if(this.carouselType === 'variable') this.updateCardWidth()\r\n }\r\n\r\n updateCardWidth() {\r\n let largeBlogArticleFigureHeight = 0\r\n this.$slides.forEach($slide => {\r\n this.responsiveWidths($slide)\r\n const $blogArticleFigure = $slide.querySelector('.blog-article__image')\r\n if(!$blogArticleFigure) return\r\n if(window.innerWidth < 768) {\r\n $blogArticleFigure.style.minHeight = 0\r\n return\r\n }\r\n $blogArticleFigure.style.minHeight = 0\r\n const figureHeight = $blogArticleFigure?.getBoundingClientRect().height\r\n if(figureHeight > largeBlogArticleFigureHeight) largeBlogArticleFigureHeight = figureHeight\r\n })\r\n\r\n if(largeBlogArticleFigureHeight)\r\n this.$slides.forEach($slide => $slide.querySelector('.blog-article__image').style.minHeight = `${largeBlogArticleFigureHeight}px`)\r\n }\r\n\r\n responsiveWidths($slide) {\r\n const viewPortWidth = this.$slider.getBoundingClientRect().width \r\n const lgCardWidth = viewPortWidth * (settings.carouselWidth.lg / 100)\r\n const xlCardWidth = viewPortWidth * (settings.carouselWidth.xl / 100)\r\n const smCardWidth = viewPortWidth * (settings.carouselWidth.sm / 100)\r\n\r\n if(window.innerWidth < 768 && this.carouselType !== 'variable') {\r\n $slide.style.flex = 1;\r\n $slide.style.maxWidth = '100%';\r\n return\r\n }\r\n\r\n if ($slide.classList.contains('card-carousel__item--l')) {\r\n $slide.style.flex = `0 0 ${lgCardWidth}px`\r\n $slide.style.width = `${lgCardWidth}px`\r\n $slide.style.maxWidth = `${lgCardWidth}px`\r\n } else if ($slide.classList.contains('card-carousel__item--s')) {\r\n $slide.style.flex = `0 0 ${smCardWidth}px`\r\n $slide.style.width = `${smCardWidth}px`\r\n $slide.style.maxWidth = `${smCardWidth}px`\r\n } else if ($slide.classList.contains('card-carousel__item--xl')) {\r\n $slide.style.flex = `0 0 ${xlCardWidth}px`\r\n $slide.style.width = `${xlCardWidth}px`\r\n $slide.style.maxWidth = `${xlCardWidth}px`\r\n } else {\r\n $slide.style.flex = `0 0 ${viewPortWidth}px`\r\n $slide.style.width = `${viewPortWidth}px`\r\n $slide.style.maxWidth = `${viewPortWidth}px`\r\n }\r\n }\r\n}\r\n\r\nexport default CardCarousel","/*!\n * ScrollToPlugin 3.6.1\n * https://greensock.com\n *\n * @license Copyright 2008-2021, GreenSock. All rights reserved.\n * Subject to the terms at https://greensock.com/standard-license or for\n * Club GreenSock members, the agreement issued with that membership.\n * @author: Jack Doyle, jack@greensock.com\n*/\n\n/* eslint-disable */\nvar gsap,\n _coreInitted,\n _window,\n _docEl,\n _body,\n _toArray,\n _config,\n _windowExists = function _windowExists() {\n return typeof window !== \"undefined\";\n},\n _getGSAP = function _getGSAP() {\n return gsap || _windowExists() && (gsap = window.gsap) && gsap.registerPlugin && gsap;\n},\n _isString = function _isString(value) {\n return typeof value === \"string\";\n},\n _isFunction = function _isFunction(value) {\n return typeof value === \"function\";\n},\n _max = function _max(element, axis) {\n var dim = axis === \"x\" ? \"Width\" : \"Height\",\n scroll = \"scroll\" + dim,\n client = \"client\" + dim;\n return element === _window || element === _docEl || element === _body ? Math.max(_docEl[scroll], _body[scroll]) - (_window[\"inner\" + dim] || _docEl[client] || _body[client]) : element[scroll] - element[\"offset\" + dim];\n},\n _buildGetter = function _buildGetter(e, axis) {\n //pass in an element and an axis (\"x\" or \"y\") and it'll return a getter function for the scroll position of that element (like scrollTop or scrollLeft, although if the element is the window, it'll use the pageXOffset/pageYOffset or the documentElement's scrollTop/scrollLeft or document.body's. Basically this streamlines things and makes a very fast getter across browsers.\n var p = \"scroll\" + (axis === \"x\" ? \"Left\" : \"Top\");\n\n if (e === _window) {\n if (e.pageXOffset != null) {\n p = \"page\" + axis.toUpperCase() + \"Offset\";\n } else {\n e = _docEl[p] != null ? _docEl : _body;\n }\n }\n\n return function () {\n return e[p];\n };\n},\n _clean = function _clean(value, index, target, targets) {\n _isFunction(value) && (value = value(index, target, targets));\n\n if (typeof value !== \"object\") {\n return _isString(value) && value !== \"max\" && value.charAt(1) !== \"=\" ? {\n x: value,\n y: value\n } : {\n y: value\n }; //if we don't receive an object as the parameter, assume the user intends \"y\".\n } else if (value.nodeType) {\n return {\n y: value,\n x: value\n };\n } else {\n var result = {},\n p;\n\n for (p in value) {\n result[p] = p !== \"onAutoKill\" && _isFunction(value[p]) ? value[p](index, target, targets) : value[p];\n }\n\n return result;\n }\n},\n _getOffset = function _getOffset(element, container) {\n element = _toArray(element)[0];\n\n if (!element || !element.getBoundingClientRect) {\n return console.warn(\"scrollTo target doesn't exist. Using 0\") || {\n x: 0,\n y: 0\n };\n }\n\n var rect = element.getBoundingClientRect(),\n isRoot = !container || container === _window || container === _body,\n cRect = isRoot ? {\n top: _docEl.clientTop - (_window.pageYOffset || _docEl.scrollTop || _body.scrollTop || 0),\n left: _docEl.clientLeft - (_window.pageXOffset || _docEl.scrollLeft || _body.scrollLeft || 0)\n } : container.getBoundingClientRect(),\n offsets = {\n x: rect.left - cRect.left,\n y: rect.top - cRect.top\n };\n\n if (!isRoot && container) {\n //only add the current scroll position if it's not the window/body.\n offsets.x += _buildGetter(container, \"x\")();\n offsets.y += _buildGetter(container, \"y\")();\n }\n\n return offsets;\n},\n _parseVal = function _parseVal(value, target, axis, currentVal, offset) {\n return !isNaN(value) && typeof value !== \"object\" ? parseFloat(value) - offset : _isString(value) && value.charAt(1) === \"=\" ? parseFloat(value.substr(2)) * (value.charAt(0) === \"-\" ? -1 : 1) + currentVal - offset : value === \"max\" ? _max(target, axis) - offset : Math.min(_max(target, axis), _getOffset(value, target)[axis] - offset);\n},\n _initCore = function _initCore() {\n gsap = _getGSAP();\n\n if (_windowExists() && gsap && document.body) {\n _window = window;\n _body = document.body;\n _docEl = document.documentElement;\n _toArray = gsap.utils.toArray;\n gsap.config({\n autoKillThreshold: 7\n });\n _config = gsap.config();\n _coreInitted = 1;\n }\n};\n\nexport var ScrollToPlugin = {\n version: \"3.6.1\",\n name: \"scrollTo\",\n rawVars: 1,\n register: function register(core) {\n gsap = core;\n\n _initCore();\n },\n init: function init(target, value, tween, index, targets) {\n _coreInitted || _initCore();\n var data = this;\n data.isWin = target === _window;\n data.target = target;\n data.tween = tween;\n value = _clean(value, index, target, targets);\n data.vars = value;\n data.autoKill = !!value.autoKill;\n data.getX = _buildGetter(target, \"x\");\n data.getY = _buildGetter(target, \"y\");\n data.x = data.xPrev = data.getX();\n data.y = data.yPrev = data.getY();\n\n if (value.x != null) {\n data.add(data, \"x\", data.x, _parseVal(value.x, target, \"x\", data.x, value.offsetX || 0), index, targets);\n\n data._props.push(\"scrollTo_x\");\n } else {\n data.skipX = 1;\n }\n\n if (value.y != null) {\n data.add(data, \"y\", data.y, _parseVal(value.y, target, \"y\", data.y, value.offsetY || 0), index, targets);\n\n data._props.push(\"scrollTo_y\");\n } else {\n data.skipY = 1;\n }\n },\n render: function render(ratio, data) {\n var pt = data._pt,\n target = data.target,\n tween = data.tween,\n autoKill = data.autoKill,\n xPrev = data.xPrev,\n yPrev = data.yPrev,\n isWin = data.isWin,\n x,\n y,\n yDif,\n xDif,\n threshold;\n\n while (pt) {\n pt.r(ratio, pt.d);\n pt = pt._next;\n }\n\n x = isWin || !data.skipX ? data.getX() : xPrev;\n y = isWin || !data.skipY ? data.getY() : yPrev;\n yDif = y - yPrev;\n xDif = x - xPrev;\n threshold = _config.autoKillThreshold;\n\n if (data.x < 0) {\n //can't scroll to a position less than 0! Might happen if someone uses a Back.easeOut or Elastic.easeOut when scrolling back to the top of the page (for example)\n data.x = 0;\n }\n\n if (data.y < 0) {\n data.y = 0;\n }\n\n if (autoKill) {\n //note: iOS has a bug that throws off the scroll by several pixels, so we need to check if it's within 7 pixels of the previous one that we set instead of just looking for an exact match.\n if (!data.skipX && (xDif > threshold || xDif < -threshold) && x < _max(target, \"x\")) {\n data.skipX = 1; //if the user scrolls separately, we should stop tweening!\n }\n\n if (!data.skipY && (yDif > threshold || yDif < -threshold) && y < _max(target, \"y\")) {\n data.skipY = 1; //if the user scrolls separately, we should stop tweening!\n }\n\n if (data.skipX && data.skipY) {\n tween.kill();\n data.vars.onAutoKill && data.vars.onAutoKill.apply(tween, data.vars.onAutoKillParams || []);\n }\n }\n\n if (isWin) {\n _window.scrollTo(!data.skipX ? data.x : x, !data.skipY ? data.y : y);\n } else {\n data.skipY || (target.scrollTop = data.y);\n data.skipX || (target.scrollLeft = data.x);\n }\n\n data.xPrev = data.x;\n data.yPrev = data.y;\n },\n kill: function kill(property) {\n var both = property === \"scrollTo\";\n\n if (both || property === \"scrollTo_x\") {\n this.skipX = 1;\n }\n\n if (both || property === \"scrollTo_y\") {\n this.skipY = 1;\n }\n }\n};\nScrollToPlugin.max = _max;\nScrollToPlugin.getOffset = _getOffset;\nScrollToPlugin.buildGetter = _buildGetter;\n_getGSAP() && gsap.registerPlugin(ScrollToPlugin);\nexport { ScrollToPlugin as default };"],"sourceRoot":""}