{"version":3,"file":"colorschemesjs.js","sources":["../../../ClientApp/src/js/components/ColorSchemeCompareSlider.ts","../../../ClientApp/src/js/components/ColorSchemeOverviewPhotoSlideshow.ts","../../../ClientApp/src/js/page/colorschemes.ts"],"sourcesContent":["import Swiper from 'swiper';\r\nimport { SwiperOptions } from 'swiper/types';\r\nexport interface SliderInstance {\r\n init: () => void;\r\n goToSlide: (slideIndex: number) => void;\r\n}\r\n\r\nconst ColorSchemeCompareSlider = (\r\n sliderId: string,\r\n): SliderInstance | undefined => {\r\n const sliderEl = document.getElementById(sliderId);\r\n\r\n if (!sliderEl) {\r\n console.warn(`${sliderId} - compare slider not found`);\r\n return;\r\n }\r\n\r\n let swiperInstance: Swiper | undefined;\r\n\r\n const goToSlide = (slideIndex: number) => {\r\n if (swiperInstance) {\r\n swiperInstance.slideTo(slideIndex);\r\n } else {\r\n console.warn(`Swiper instance not initialized for ${sliderId}`);\r\n }\r\n };\r\n\r\n const init = () => {\r\n const options: SwiperOptions = {\r\n slidesPerView: 1,\r\n spaceBetween: 0,\r\n };\r\n\r\n // Initialize the Swiper instance and store it in the swiperInstance variable\r\n swiperInstance = new Swiper(sliderEl, options);\r\n };\r\n\r\n return {\r\n init,\r\n goToSlide,\r\n };\r\n};\r\n\r\nexport default ColorSchemeCompareSlider;\r\n","import Swiper from 'swiper';\r\nimport { Navigation } from 'swiper/modules';\r\nimport { SwiperOptions } from 'swiper/types';\r\n\r\nSwiper.use([Navigation]);\r\nexport function initColorSchemePhotoSlideShows() {\r\n const slideshowEls = document.querySelectorAll('.js-slideshows');\r\n\r\n slideshowEls.forEach(swiperElement => {\r\n const parentElement = swiperElement.closest('.color-scheme-overview-tile')!;\r\n const options: SwiperOptions = {\r\n slidesPerView: 1,\r\n spaceBetween: 0,\r\n loop: true,\r\n navigation: {\r\n nextEl: parentElement.querySelector(\r\n '.js-btn-slideshow-next',\r\n ) as HTMLElement,\r\n prevEl: parentElement.querySelector(\r\n '.js-btn-slideshow-prev',\r\n ) as HTMLElement,\r\n },\r\n };\r\n\r\n new Swiper(swiperElement, options);\r\n });\r\n}\r\n","import ColorSchemeCompareSlider, {\r\n SliderInstance,\r\n} from '../components/ColorSchemeCompareSlider';\r\nimport { initColorSchemePhotoSlideShows } from '../components/ColorSchemeOverviewPhotoSlideshow';\r\nimport QuickViewModal from '../components/QuickViewModal';\r\n\r\ndocument.addEventListener('DOMContentLoaded', () => {\r\n //quick view init\r\n const quickviewModal = QuickViewModal('js-quickview-modal');\r\n\r\n initColorSchemePhotoSlideShows();\r\n\r\n const compareSlideshows = document.querySelectorAll(\r\n '.js-compare-slideshows',\r\n );\r\n\r\n const sliderInstances: SliderInstance[] = []; // Array with the type\r\n\r\n const goToSlideOnAllSliders = (slideIndex: number) => {\r\n sliderInstances.forEach(sliderInstance => {\r\n sliderInstance.goToSlide(slideIndex);\r\n });\r\n };\r\n\r\n compareSlideshows.forEach(cs => {\r\n const slideshow = ColorSchemeCompareSlider(cs.id);\r\n if (slideshow) {\r\n slideshow.init();\r\n sliderInstances.push(slideshow);\r\n }\r\n });\r\n\r\n const compareNavBtns =\r\n document.querySelectorAll('.js-btn-cs-compare');\r\n\r\n compareNavBtns.forEach(btn => {\r\n btn.addEventListener('click', (event: Event) => {\r\n event.preventDefault();\r\n const filterBtn = event.target as HTMLButtonElement;\r\n\r\n if (filterBtn.classList.contains('active')) {\r\n return; // Exit if the clicked button is already active\r\n }\r\n\r\n const indexValue: number = parseInt(filterBtn.dataset.index || '0');\r\n\r\n compareNavBtns.forEach(button => {\r\n button.classList.remove('active'); // Remove the active class from all buttons\r\n });\r\n\r\n filterBtn.classList.add('active');\r\n\r\n goToSlideOnAllSliders(indexValue);\r\n });\r\n });\r\n});\r\n"],"names":["ColorSchemeCompareSlider","sliderId","sliderEl","swiperInstance","options","Swiper","slideIndex","Navigation","initColorSchemePhotoSlideShows","swiperElement","parentElement","QuickViewModal","compareSlideshows","sliderInstances","goToSlideOnAllSliders","sliderInstance","cs","slideshow","compareNavBtns","btn","event","filterBtn","indexValue","button"],"mappings":"+LAOA,MAAMA,EACJC,GAC+B,CACzB,MAAAC,EAAW,SAAS,eAAeD,CAAQ,EAEjD,GAAI,CAACC,EAAU,CACL,QAAA,KAAK,GAAGD,CAAQ,6BAA6B,EACrD,MACF,CAEI,IAAAE,EAoBG,MAAA,CACL,KAXW,IAAM,CACjB,MAAMC,EAAyB,CAC7B,cAAe,EACf,aAAc,CAAA,EAICD,EAAA,IAAIE,EAAOH,EAAUE,CAAO,CAAA,EAK7C,UApBiBE,GAAuB,CACpCH,EACFA,EAAe,QAAQG,CAAU,EAEzB,QAAA,KAAK,uCAAuCL,CAAQ,EAAE,CAChE,CAeA,CAEJ,ECrCAI,EAAO,IAAI,CAACE,CAAU,CAAC,EAChB,SAASC,GAAiC,CAC1B,SAAS,iBAA8B,gBAAgB,EAE/D,QAAyBC,GAAA,CAC9B,MAAAC,EAAgBD,EAAc,QAAQ,6BAA6B,EACnEL,EAAyB,CAC7B,cAAe,EACf,aAAc,EACd,KAAM,GACN,WAAY,CACV,OAAQM,EAAc,cACpB,wBACF,EACA,OAAQA,EAAc,cACpB,wBACF,CACF,CAAA,EAGE,IAAAL,EAAOI,EAAeL,CAAO,CAAA,CAClC,CACH,CCpBA,SAAS,iBAAiB,mBAAoB,IAAM,CAEzBO,EAAe,oBAAoB,EAE3BH,IAE/B,MAAMI,EAAoB,SAAS,iBAC/B,wBAAA,EAGEC,EAAoC,CAAA,EAEpCC,EAAyBR,GAAuB,CAClDO,EAAgB,QAA0BE,GAAA,CACtCA,EAAe,UAAUT,CAAU,CAAA,CACtC,CAAA,EAGLM,EAAkB,QAAcI,GAAA,CACtB,MAAAC,EAAYjB,EAAyBgB,EAAG,EAAE,EAC5CC,IACAA,EAAU,KAAK,EACfJ,EAAgB,KAAKI,CAAS,EAClC,CACH,EAEK,MAAAC,EACF,SAAS,iBAAoC,oBAAoB,EAErEA,EAAe,QAAeC,GAAA,CACtBA,EAAA,iBAAiB,QAAUC,GAAiB,CAC5CA,EAAM,eAAe,EACrB,MAAMC,EAAYD,EAAM,OAExB,GAAIC,EAAU,UAAU,SAAS,QAAQ,EACrC,OAGJ,MAAMC,EAAqB,SAASD,EAAU,QAAQ,OAAS,GAAG,EAElEH,EAAe,QAAkBK,GAAA,CACtBA,EAAA,UAAU,OAAO,QAAQ,CAAA,CACnC,EAESF,EAAA,UAAU,IAAI,QAAQ,EAEhCP,EAAsBQ,CAAU,CAAA,CACnC,CAAA,CACJ,CACL,CAAC"}