{"version":3,"sources":["webpack:///./handlers/gallery.js"],"names":["$","jQuery","gallery","galleryWrapperEl","$wrapper","$mainImageContainer","find","$nextButton","$prevButton","imageData","JSON","parse","attr","currentImageIndex","getNextImageData","length","getPrevImageData","transitionToImage","imageAttrs","style","opacity","one","anime","targets","duration","easing","src","alt","on","nextImage","prevImage"],"mappings":";;;;;;;;;;AAAA;AAAA;AAAA;AAEA,IAAMA,CAAC,GAAGC,MAAV;;AAEA,IAAMC,OAAO,GAAG,SAAVA,OAAU,CAACC,gBAAD,EAAsB;EAClC,IAAMC,QAAQ,GAAGJ,CAAC,CAACG,gBAAD,CAAlB;EACA,IAAME,mBAAmB,GAAGD,QAAQ,CAACE,IAAT,CAAc,kCAAd,CAA5B;EAEA,IAAMC,WAAW,GAAGH,QAAQ,CAACE,IAAT,CAAc,yBAAd,CAApB;EACA,IAAME,WAAW,GAAGJ,QAAQ,CAACE,IAAT,CAAc,yBAAd,CAApB;EAEA,IAAIG,SAAS,GAAGC,IAAI,CAACC,KAAL,CAAWP,QAAQ,CAACQ,IAAT,CAAc,qBAAd,CAAX,CAAhB;EACA,IAAIC,iBAAiB,GAAG,CAAxB;;EAEA,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAmB,GAAM;IAC3BD,iBAAiB,GAAI,EAAEA,iBAAH,GAAwBJ,SAAS,CAACM,MAAtD;IACA,OAAON,SAAS,CAACI,iBAAD,CAAhB;EACH,CAHD;;EAKA,IAAMG,gBAAgB,GAAG,SAAnBA,gBAAmB,GAAM;IAC3BH,iBAAiB,GAAGA,iBAAiB,KAAK,CAAtB,GACdJ,SAAS,CAACM,MAAV,GAAmB,CADL,GAEd,EAAEF,iBAFR;IAGA,OAAOJ,SAAS,CAACI,iBAAD,CAAhB;EACH,CALD;;EAOA,IAAMI,iBAAiB,GAAG,SAApBA,iBAAoB,CAACC,UAAD,EAAgB;IACtCb,mBAAmB,CAAC,CAAD,CAAnB,CAAuBc,KAAvB,CAA6BC,OAA7B,GAAuC,CAAvC;IAEAf,mBAAmB,CAACgB,GAApB,CAAwB,MAAxB,EAAgC,YAAM;MAClCC,uEAAK,CAAC;QACFC,OAAO,EAAElB,mBAAmB,CAAC,CAAD,CAD1B;QAEFmB,QAAQ,EAAE,GAFR;QAGFJ,OAAO,EAAE,CAAC,CAAD,EAAI,CAAJ,CAHP;QAIFK,MAAM,EAAE;MAJN,CAAD,CAAL;IAMH,CAPD;IASApB,mBAAmB,CAACO,IAApB,CAAyB,KAAzB,EAAgCM,UAAU,CAACQ,GAA3C;IACArB,mBAAmB,CAACO,IAApB,CAAyB,KAAzB,EAAgCM,UAAU,CAACS,GAA3C;EACH,CAdD;;EAgBA3B,CAAC,CAACO,WAAD,CAAD,CAAeqB,EAAf,CAAkB,OAAlB,EAA2B,YAAM;IAC7B,IAAMC,SAAS,GAAGf,gBAAgB,EAAlC;IACAG,iBAAiB,CAACY,SAAD,CAAjB;EACH,CAHD;EAKA7B,CAAC,CAACQ,WAAD,CAAD,CAAeoB,EAAf,CAAkB,OAAlB,EAA2B,YAAM;IAC7B,IAAME,SAAS,GAAGd,gBAAgB,EAAlC;IACAC,iBAAiB,CAACa,SAAD,CAAjB;EACH,CAHD;AAIH,CA/CD;;AAiDe5B,sEAAf,E","file":"gallery.js","sourcesContent":["import anime from 'animejs/lib/anime.es.js';\n\nconst $ = jQuery;\n\nconst gallery = (galleryWrapperEl) => {\n const $wrapper = $(galleryWrapperEl);\n const $mainImageContainer = $wrapper.find('.js-gallery-main-image-container');\n\n const $nextButton = $wrapper.find('.js-gallery-button-next');\n const $prevButton = $wrapper.find('.js-gallery-button-prev');\n\n let imageData = JSON.parse($wrapper.attr('data-gallery-images'));\n let currentImageIndex = 0;\n\n const getNextImageData = () => {\n currentImageIndex = (++currentImageIndex) % imageData.length;\n return imageData[currentImageIndex];\n };\n\n const getPrevImageData = () => {\n currentImageIndex = currentImageIndex === 0\n ? imageData.length - 1\n : --currentImageIndex;\n return imageData[currentImageIndex];\n };\n\n const transitionToImage = (imageAttrs) => {\n $mainImageContainer[0].style.opacity = 0;\n\n $mainImageContainer.one('load', () => {\n anime({\n targets: $mainImageContainer[0],\n duration: 500,\n opacity: [0, 1],\n easing: 'easeInOutQuad'\n })\n });\n\n $mainImageContainer.attr('src', imageAttrs.src);\n $mainImageContainer.attr('alt', imageAttrs.alt);\n };\n\n $($nextButton).on('click', () => {\n const nextImage = getNextImageData();\n transitionToImage(nextImage);\n });\n\n $($prevButton).on('click', () => {\n const prevImage = getPrevImageData();\n transitionToImage(prevImage);\n });\n};\n\nexport default gallery;\n"],"sourceRoot":""}