{ "version": 3, "sources": ["../../javascript/entrypoints/stitch-your-photo-carousel.js"], "sourcesContent": ["import { tns } from \"tiny-slider/src/tiny-slider\"\n\nfunction imageCarousel() {\n const bigSlider = tns({\n loop: true,\n axis: \"horizontal\",\n container: \".example-images__big-slider\",\n navContainer: \".example-images__small-slider\",\n items: 2,\n navAsThumbnails: true,\n controls: false,\n preventScrollOnTouch: \"auto\",\n })\n\n const smallSlider = tns({\n container: \".example-images__small-slider\",\n loop: true,\n items: 5,\n mouseDrag: true,\n nav: false,\n controls: true,\n axis: \"vertical\",\n center: false,\n prevButton: \".example-images__prev\",\n nextButton: \".example-images__next\",\n arrowKeys: true,\n })\n\n const mobileSlider = tns({\n loop: false,\n container: \".example-images__mobile-slider\",\n items: 2,\n slideBy: 2,\n axis: \"horizontal\",\n controls: false,\n nav: !!document.querySelector(\".example-images__mobile-slider__dot\"),\n navPosition: \"bottom\",\n navContainer: \".example-images__mobile-slider__dots\",\n })\n\n document.querySelector(\".example-images__next\").onclick = function () {\n bigSlider.goTo(\"next\")\n }\n\n smallSlider.events.on(\"indexChanged\", () => {\n Array.from(document.querySelectorAll(\".tns-nav-active\")).forEach((el) =>\n el.classList.remove(\"tns-nav-active\")\n )\n const info = smallSlider.getInfo()\n info.slideItems[info.index].classList.add(\"tns-nav-active\")\n })\n\n Array.from(\n document.querySelectorAll(\".example-images__small-slider .tns-item\")\n ).forEach((slide) =>\n slide.addEventListener(\"click\", (e) =>\n smallSlider.goTo(e.currentTarget.dataset.nav)\n )\n )\n\n const radios = document.querySelectorAll(\n '#product-variants input[type=\"radio\"]'\n )\n\n radios.forEach((radio) => {\n radio.addEventListener(\"click\", () =>\n findSelectedImage(bigSlider, smallSlider, mobileSlider)\n )\n })\n}\n\nfunction findSelectedImage(bigSlider, smallSlider, mobileSlider) {\n const selectedImage = document.querySelector(\n '#product-variants input[type=\"radio\"]:checked'\n )\n\n if (selectedVariant !== null) {\n goToSelectedImage(selectedImage, bigSlider, smallSlider, mobileSlider)\n }\n}\n\nfunction goToSelectedImage(\n selectedVariant,\n bigSlider,\n smallSlider,\n mobileSlider\n) {\n const selectedImageId = selectedVariant.value\n let index = Array.from(smallSlider.getInfo().slideItems).find(\n (slide) => slide.getAttribute(\"data-image-id\") === selectedImageId\n )\n\n if (index) {\n index = index.dataset.nav\n mobileSlider.goTo(index)\n bigSlider.goTo(index)\n smallSlider.goTo(index)\n }\n}\n\nimageCarousel()\n"], "mappings": "sGAEA,SAASA,GAAgB,CACvB,IAAMC,EAAYC,EAAI,CACpB,KAAM,GACN,KAAM,aACN,UAAW,8BACX,aAAc,gCACd,MAAO,EACP,gBAAiB,GACjB,SAAU,GACV,qBAAsB,MACxB,CAAC,EAEKC,EAAcD,EAAI,CACtB,UAAW,gCACX,KAAM,GACN,MAAO,EACP,UAAW,GACX,IAAK,GACL,SAAU,GACV,KAAM,WACN,OAAQ,GACR,WAAY,wBACZ,WAAY,wBACZ,UAAW,EACb,CAAC,EAEKE,EAAeF,EAAI,CACvB,KAAM,GACN,UAAW,iCACX,MAAO,EACP,QAAS,EACT,KAAM,aACN,SAAU,GACV,IAAK,CAAC,CAAC,SAAS,cAAc,qCAAqC,EACnE,YAAa,SACb,aAAc,sCAChB,CAAC,EAED,SAAS,cAAc,uBAAuB,EAAE,QAAU,UAAY,CACpED,EAAU,KAAK,MAAM,CACvB,EAEAE,EAAY,OAAO,GAAG,eAAgB,IAAM,CAC1C,MAAM,KAAK,SAAS,iBAAiB,iBAAiB,CAAC,EAAE,QAASE,GAChEA,EAAG,UAAU,OAAO,gBAAgB,CACtC,EACA,IAAMC,EAAOH,EAAY,QAAQ,EACjCG,EAAK,WAAWA,EAAK,OAAO,UAAU,IAAI,gBAAgB,CAC5D,CAAC,EAED,MAAM,KACJ,SAAS,iBAAiB,yCAAyC,CACrE,EAAE,QAASC,GACTA,EAAM,iBAAiB,QAAU,GAC/BJ,EAAY,KAAK,EAAE,cAAc,QAAQ,GAAG,CAC9C,CACF,EAEe,SAAS,iBACtB,uCACF,EAEO,QAASK,GAAU,CACxBA,EAAM,iBAAiB,QAAS,IAC9BC,EAAkBR,EAAWE,EAAaC,CAAY,CACxD,CACF,CAAC,CACH,CAEA,SAASK,EAAkBR,EAAWE,EAAaC,EAAc,CAC/D,IAAMM,EAAgB,SAAS,cAC7B,+CACF,EAEI,kBAAoB,MACtBC,EAAkBD,EAAeT,EAAWE,EAAaC,CAAY,CAEzE,CAEA,SAASO,EACPC,EACAX,EACAE,EACAC,EACA,CACA,IAAMS,EAAkBD,EAAgB,MACpCE,EAAQ,MAAM,KAAKX,EAAY,QAAQ,EAAE,UAAU,EAAE,KACtDI,GAAUA,EAAM,aAAa,eAAe,IAAMM,CACrD,EAEIC,IACFA,EAAQA,EAAM,QAAQ,IACtBV,EAAa,KAAKU,CAAK,EACvBb,EAAU,KAAKa,CAAK,EACpBX,EAAY,KAAKW,CAAK,EAE1B,CAEAd,EAAc", "names": ["imageCarousel", "bigSlider", "tns", "smallSlider", "mobileSlider", "el", "info", "slide", "radio", "findSelectedImage", "selectedImage", "goToSelectedImage", "selectedVariant", "selectedImageId", "index"] }