{"version":3,"file":"./modules/GallerySlider.xxxxxxxx.js","mappings":"+JAQMA,EAAoBC,SAASC,IACnC,aAYI,WAAmBC,GAAnB,WAAmB,KAAAA,QAAAA,EATnB,KAAAC,gBAA0B,EAUtBC,KAAKF,QAAUA,EACXE,KAAKC,YAAa,EAClBD,KAAKE,iBAAmBF,KAAKF,QAAQK,cAAc,yBAEvD,IAAMC,EAAiBJ,KAAKF,QAAQK,cAAc,sBAC9CE,EAAcD,EAAeE,iBAAiB,mBAElDD,EAAYE,QAAQ,SAACC,EAAIC,GACrB,IAAIC,EAAMF,EAAGL,cAAc,OAEvBM,GAAK,IACL,QAAcC,GAGdD,GAAKJ,EAAYM,OAAS,KAC1B,QAAcD,GACdF,EAAGI,UAAUC,IAAI,aAEzB,GAEA,IAAIC,EAAS,WAAaV,EAAgB,CACtCW,SAAQ,YAGZ,SAAWC,GAAGF,EAAOG,IAAK,WAAY,SAACC,GACnC,IAAMC,EAAsBD,EAAEC,OAE1BT,EAAMS,EAAOhB,cAAc,OAC3BiB,EAAWD,EAAOE,QAAQ,sBAC1BC,EAA6BF,EAASjB,cAAc,yBACpDoB,EAAiCH,EAASjB,cAAc,gBAG5D,EAAKqB,mBAAmBL,GACxB,EAAKM,mBAAmBN,IAEnB,aACD,QAAYA,EAAQ,cACpB,QAAYA,EAAQ,aAEpB,EAAKO,oBAAoBP,GACzB,EAAKQ,oBAAoBR,IAG7B,IAAMS,EAAkB,SAAUlB,GAC9B,IACImB,EAAeV,EAAOhB,cAAc,UAAU2B,aADxB,GAEtBC,EAAoBF,EAAe,GAEvCP,EAAcU,MAAMC,IAAMvB,EAAIwB,OAJJ,GAI2B,KACrDX,EAAkBS,MAAMC,IAAMvB,EAAIwB,OAAS,EAAIC,GAAkB,KAEjEhB,EAAOa,MAAME,OAASL,EAAe,KACrCV,EAAOiB,aAAa,qBAAsBL,EAAe,IAGzD,SAAWM,IAAIvB,EAAOG,IAAK,CACvBiB,OAAQH,EAAe,KACvBO,WAAY,2BAEpB,EAEI5B,EAAI6B,UAAkC,IAAtB7B,EAAI8B,cACpBZ,EAAgBlB,GAEhBA,EAAI+B,OAAS,WACTb,EAAgBlB,EACpB,EAGJ,EAAKgC,qBAAqBvB,EAC9B,EACJ,CAsGJ,OAtLW,EAAAwB,MAAP,SAAaC,QAAA,IAAAA,IAAAA,EAZM,iCAafC,MAAMC,KAAKlD,SAASU,iBAAiBsC,IAAWG,OAAO,SAACC,GAAsB,OAACA,EAAKC,QAAQC,iBAAd,GAAiC3C,QAAQ,SAACT,GACpH,IAAIqD,EAAcrD,GAClBA,EAAQmD,QAAQC,kBAAoB,MACxC,EACJ,EA6EA,YAAAzB,mBAAA,SAAmBN,GACf,IAAMiC,EAA2BjC,EAAOkC,uBAEpCD,IAAe,QAAuBA,EAAYjD,cAAc,UAChE,QAAciD,EAAYjD,cAAc,OAEhD,EAEA,YAAAqB,mBAAA,SAAmBL,GACf,IAAMmC,EAA2BnC,EAAOoC,mBAEpCD,IAAe,QAAuBA,EAAYnD,cAAc,UAChE,QAAcmD,EAAYnD,cAAc,OAEhD,EAEA,YAAAqD,eAAA,SAAerC,GACX,OAAO0B,MAAMC,KAAK3B,EAAOsC,WAAWC,UAAUC,QAAQxC,EAC1D,EAEA,YAAAO,oBAAA,SAAoBP,GAChB,IAAMmC,EAA2BnC,EAAOoC,mBACpCnC,EAAwBD,EAAOsC,WAC/BC,EAAWtC,EAASsC,SAEpBA,EAAS/C,OAAS,IACd2C,GACAT,MAAMC,KAAKY,GAAUnD,QAAQ,SAAAT,GACzBA,EAAQc,UAAUgD,OAAO,YAC7B,GACAN,EAAY1C,UAAUC,IAAI,cAGL,OAAhByC,GAAwBI,EAAS/C,OAAS,GAC/CS,EAASyC,kBAAkBjD,UAAUC,IAAI,aAGrD,EAEA,YAAAc,oBAAA,SAAoBR,GAChB,IAAMiC,EAA2BjC,EAAOkC,uBAClCjC,EAAwBD,EAAOsC,WACjCC,EAAWtC,EAASsC,SAEpBtC,EAASsC,SAAS/C,OAAS,IACvByC,GACAP,MAAMC,KAAKY,GAAUnD,QAAQ,SAAAT,GACzBA,EAAQc,UAAUgD,OAAO,YAC7B,GACAR,EAAYxC,UAAUC,IAAI,cAEL,OAAhBuC,GAAwBM,EAAS/C,OAAS,GAC/CS,EAAS0C,iBAAiBlD,UAAUC,IAAI,aAGpD,EAEA,YAAAkD,kBAAA,SAAkB5C,GAEd,OAD8BA,EAAOsC,WAAWC,SAAS/C,MAE7D,EAEA,YAAA+B,qBAAA,SAAqBvB,GACjB,IAAMG,EAA6BtB,KAAKE,iBAAiBC,cAAc,kBAGnE6D,EAAuBhE,KAAKwD,eAAerC,GAC3C8C,EAHsB,IAGID,EAFD,GAGzBE,EAA8BrB,MAAMC,KAAKxB,EAAcoC,UACvDS,EAAgBD,EAAavD,OAC7ByD,EAAoBC,KAAKC,IAAI,EAAGH,GAEhCI,EAAsB,IACtBC,EAAeN,EAAaO,MAAM,EAAG,GAAG9D,OACxC+D,EAAgBR,EAAavD,OATJ,EAYzBgE,EAAWX,GAAgBQ,GAAgBR,EAAeU,EAC1DE,EAAUZ,GAAgBU,EAEb,OAAb/E,IAAsB4E,EAAsB,IAJjCP,EAAeQ,KAO1B,QAAoBN,EAAc,oBAClC,QAAe,CAACA,EAAaE,EAAoB,IAAK,mBACtD9C,EAAcU,MAAM6C,UAAY,qBAAcN,GAAmB,OAAG,EAAC,QAGrEI,KACA,QAAoBT,EAAc,oBAClC,QAAe,CAACA,EAAaF,EAzBJ,GAyBoCE,EAAaF,EAzBjD,IAyBkF,mBAC3G1C,EAAcU,MAAM6C,UAAY,qBAAcN,GAAmB,OAAGN,EAAc,QAGlFW,KACA,QAAoBV,EAAc,oBAClC,QAAe,CAACA,EAAaC,EAAgBC,IAAqB,mBAClE9C,EAAcU,MAAM6C,UAAY,qBAAcN,GAAmB,OAAGG,EAAiC,GAAjB,EAAmB,OAE/G,EACJ,EA3LA,G,UA6LA,IAAIvB,EAAcR,K","sources":["webpack:///./modules/GallerySlider.ts"],"sourcesContent":["import UIkit from 'uikit';\r\n\r\nconst moduleSelector = '[data-module=\"GallerySlider\"]';\r\n\r\nimport { isMobile } from '../helpers/helperFunctions';\r\n\r\nimport { setSourceAttr, hasSliderImageToBeLoad, removeClass, removeClassFromList, addClassToList } from '../helpers/DOMHelpers';\r\n\r\nconst direction: string = document.dir;\r\nexport default class GallerySlider {\r\n isExecuted: boolean;\r\n sliderUl: HTMLElement;\r\n lastActiveSlide: number = 0;\r\n customPagination: HTMLElement;\r\n static setup(selector: string = moduleSelector): void {\r\n Array.from(document.querySelectorAll(selector)).filter((node: HTMLElement) => !node.dataset.moduleInitialized).forEach((element: HTMLElement) => {\r\n new GallerySlider(element);\r\n element.dataset.moduleInitialized = 'true';\r\n });\r\n }\r\n\r\n constructor(public element: HTMLElement) {\r\n this.element = element,\r\n this.isExecuted = false,\r\n this.customPagination = this.element.querySelector('.cw-custom_pagination');\r\n\r\n const sliderSelector = this.element.querySelector('.cw-gallery-slider'),\r\n sliderItems = sliderSelector.querySelectorAll('.cw-slider-item');\r\n\r\n sliderItems.forEach((el, i) => {\r\n let img = el.querySelector('img');\r\n\r\n if (i <= 1) {\r\n setSourceAttr(img);\r\n }\r\n\r\n if (i == sliderItems.length - 1) {\r\n setSourceAttr(img);\r\n el.classList.add('prev-item');\r\n }\r\n });\r\n\r\n var slider = UIkit.slider(sliderSelector, {\r\n center: isMobile() ? false : true,\r\n });\r\n\r\n UIkit.util.on(slider.$el, 'itemshow', (e) => {\r\n const target = e.target,\r\n // img = UIkit.util.find('img', e.srcElement),\r\n img = target.querySelector('img'),\r\n sliderUl = target.closest('.cw-gallery-slider'),\r\n naviationDots = sliderUl.querySelector('.cw-custom_pagination'),\r\n naviationChevrons = sliderUl.querySelector('.cw-controls');\r\n\r\n\r\n this.loadNextSlideImage(target);\r\n this.loadPrevSlideImage(target);\r\n\r\n if (!isMobile()) {\r\n removeClass(target, 'prev-item');\r\n removeClass(target, 'next-item');\r\n\r\n this.updateNextSlideItem(target);\r\n this.updatePrevSlideItem(target);\r\n }\r\n\r\n const setSliderHeight = function (img) {\r\n let itemPadding: number = 2 * 30,\r\n figureHeight = target.querySelector('figure').offsetHeight + itemPadding,\r\n sliderHeight: any = figureHeight + 30;\r\n\r\n naviationDots.style.top = img.height + itemPadding + 'px';\r\n naviationChevrons.style.top = img.height / 2 + itemPadding / 2 + 'px';\r\n\r\n target.style.height = figureHeight + 'px';\r\n target.setAttribute('data-slider-height', sliderHeight + '');\r\n\r\n\r\n UIkit.util.css(slider.$el, {\r\n height: sliderHeight + 'px',\r\n transition: \"height 0.3s ease-in-out\"\r\n });\r\n }\r\n\r\n if (img.complete && img.naturalHeight !== 0) {\r\n setSliderHeight(img);\r\n } else {\r\n img.onload = () => {\r\n setSliderHeight(img);\r\n };\r\n }\r\n\r\n this.animateCustomNavDots(target);\r\n });\r\n }\r\n\r\n loadPrevSlideImage(target) {\r\n const prevElement = target.previousElementSibling;\r\n\r\n if (prevElement && hasSliderImageToBeLoad(prevElement.querySelector('img'))) {\r\n setSourceAttr(prevElement.querySelector('img'));\r\n }\r\n }\r\n\r\n loadNextSlideImage(target) {\r\n const nextElement = target.nextElementSibling;\r\n\r\n if (nextElement && hasSliderImageToBeLoad(nextElement.querySelector('img'))) {\r\n setSourceAttr(nextElement.querySelector('img'));\r\n }\r\n }\r\n\r\n getSliderIndex(target): number {\r\n return Array.from(target.parentNode.children).indexOf(target);\r\n }\r\n\r\n updateNextSlideItem(target) {\r\n const nextElement = target.nextElementSibling,\r\n sliderUl = target.parentNode,\r\n children = sliderUl.children;\r\n\r\n if (children.length > 1) {\r\n if (nextElement) {\r\n Array.from(children).forEach(element => {\r\n element.classList.remove('next-item');\r\n });\r\n nextElement.classList.add('next-item');\r\n }\r\n\r\n else if (nextElement === null && children.length > 2) { //nextElelemnt= null, last item is reached.\r\n sliderUl.firstElementChild.classList.add('next-item');\r\n }\r\n }\r\n }\r\n\r\n updatePrevSlideItem(target) {\r\n const prevElement = target.previousElementSibling;\r\n const sliderUl = target.parentNode,\r\n children = sliderUl.children;\r\n\r\n if (sliderUl.children.length > 1) {\r\n if (prevElement) {\r\n Array.from(children).forEach(element => {\r\n element.classList.remove('prev-item');\r\n });\r\n prevElement.classList.add('prev-item');\r\n }\r\n else if (prevElement === null && children.length > 2) { // prevElement = null, first item is reached.\r\n sliderUl.lastElementChild.classList.add('prev-item');\r\n }\r\n }\r\n }\r\n\r\n getSliderChildren(target) {\r\n const children = target.parentNode.children.length;\r\n return children;\r\n }\r\n\r\n animateCustomNavDots(target) {\r\n const naviationDots = this.customPagination.querySelector('.uk-slider-nav'),\r\n dotDistance: number = 18,\r\n leftCorrection: number = 3,\r\n currentIndex: number = this.getSliderIndex(target),\r\n transformValue: number = (currentIndex - leftCorrection) * dotDistance,\r\n navItemsList = Array.from(naviationDots.children),\r\n navItemLength = navItemsList.length,\r\n visibleDotsToShow = Math.min(7, navItemLength);\r\n\r\n let directionCorrection = \"-\",\r\n leftPosition = navItemsList.slice(0, 4).length,\r\n rightPosition = navItemsList.length - leftCorrection;\r\n\r\n const isLeft = currentIndex < leftPosition,\r\n isCenter = currentIndex >= leftPosition && currentIndex < rightPosition,\r\n isRight = currentIndex >= rightPosition;\r\n\r\n if (direction == 'rtl') { directionCorrection = '' };\r\n\r\n if (isLeft) {\r\n removeClassFromList(navItemsList, 'uk-dotnav_small');\r\n addClassToList([navItemsList[visibleDotsToShow - 1]], 'uk-dotnav_small');\r\n naviationDots.style.transform = `translateX(${directionCorrection}${0}px)`;\r\n }\r\n\r\n if (isCenter) {\r\n removeClassFromList(navItemsList, 'uk-dotnav_small');\r\n addClassToList([navItemsList[currentIndex + leftCorrection], navItemsList[currentIndex - leftCorrection]], 'uk-dotnav_small');\r\n naviationDots.style.transform = `translateX(${directionCorrection}${transformValue}px)`;\r\n }\r\n\r\n if (isRight) {\r\n removeClassFromList(navItemsList, 'uk-dotnav_small');\r\n addClassToList([navItemsList[navItemLength - visibleDotsToShow]], 'uk-dotnav_small');\r\n naviationDots.style.transform = `translateX(${directionCorrection}${rightPosition - (leftPosition) * 18}px)`;\r\n }\r\n }\r\n}\r\n\r\nnew GallerySlider.setup();"],"names":["direction","document","dir","element","lastActiveSlide","this","isExecuted","customPagination","querySelector","sliderSelector","sliderItems","querySelectorAll","forEach","el","i","img","length","classList","add","slider","center","on","$el","e","target","sliderUl","closest","naviationDots","naviationChevrons","loadNextSlideImage","loadPrevSlideImage","updateNextSlideItem","updatePrevSlideItem","setSliderHeight","figureHeight","offsetHeight","sliderHeight","style","top","height","itemPadding","setAttribute","css","transition","complete","naturalHeight","onload","animateCustomNavDots","setup","selector","Array","from","filter","node","dataset","moduleInitialized","GallerySlider","prevElement","previousElementSibling","nextElement","nextElementSibling","getSliderIndex","parentNode","children","indexOf","remove","firstElementChild","lastElementChild","getSliderChildren","currentIndex","transformValue","navItemsList","navItemLength","visibleDotsToShow","Math","min","directionCorrection","leftPosition","slice","rightPosition","isCenter","isRight","transform"],"sourceRoot":""}