{"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,MAAM,qCAAe,CACnB,UACA,SACA;IAEA,MAAM,aAAa,CACjB;QAMA,IAAI;QAEJ,MAAM,YAAY,CAAC;YACjB,IAAI,MAAM,SAAS,aAAa,CAAC;YACjC,IAAI,aAAa,UAAU,KAAK,CAAC;YACjC,WAAW,OAAO,CAAC,CAAC,OAAS,IAAI,SAAS,CAAC,GAAG,CAAC;YAC/C,OAAO;QACT;QAEA,MAAM,YAAY,CAAC;YACjB,IAAI,CAAC,SAAS;YACd,IAAI,QAAQ;gBACV,IAAI,QAAQ,KAAK,UAAU,EACzB,KAAK,UAAU,CAAC,WAAW,CAAC;gBAE9B;YACF;YACA,MAAM,gBAAgB,SAAS,aAAa,CAAC;YAC7C,OAAO,UAAU;YACjB,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI;gBACvC,IAAI,MAAM,UAAU;gBACpB,IAAI,gBAAgB,CAAC,SAAS,IAAM,OAAO,SAAS,CAAC;gBACrD,KAAK,WAAW,CAAC;YACnB;YAEA,eAAe,YAAY;QAC7B;QAEA,SAAS;YACP,IAAI,CAAC,SAAS;YACd,IAAI,QAAQ,OAAO,KAAK,CAAC,OAAO,CAAC,GAAG;YACpC,MAAM,IAAI,CAAC,KAAK,QAAQ,EAAE,OAAO,CAAC,SAAU,GAAG,EAAE,GAAG;gBAClD,QAAQ,QACJ,IAAI,SAAS,CAAC,GAAG,CAAC,wCAClB,IAAI,SAAS,CAAC,MAAM,CAAC;YAC3B;QACF;QAEA,OAAO,EAAE,CAAC,WAAW;YACnB;YACA;QACF;QACA,OAAO,EAAE,CAAC,kBAAkB;YAC1B,UAAU;YACV;YACA;QACF;QACA,OAAO,EAAE,CAAC,gBAAgB;YACxB;YACA,+BAA+B;YAC/B,IAAI,aACF,YAAY,SAAS,CAAC,OAAO,KAAK,CAAC,OAAO,CAAC,GAAG;QAElD;QACA,OAAO,EAAE,CAAC,aAAa;YACrB,UAAU;QACZ;IACF;IAEA,MAAM,SAAS,IAAI,CAAA,GAAA,cAAS,EAC1B,UACA;QACE,MAAM;IACR,GACA;QACE;QACA,CAAC;YACC,IAAI;YACJ,IAAI,YAAY;YAChB,SAAS;gBACP,aAAa;YACf;YACA,SAAS;gBACP,aAAa;gBACb,IAAI,WAAW;gBACf,UAAU,WAAW;oBACnB,OAAO,IAAI;gBACb,GAAG;YACL;YACA,OAAO,EAAE,CAAC,WAAW;gBACnB,OAAO,SAAS,CAAC,gBAAgB,CAAC,aAAa;oBAC7C,YAAY;oBACZ;gBACF;gBACA,OAAO,SAAS,CAAC,gBAAgB,CAAC,YAAY;oBAC5C,YAAY;oBACZ;gBACF;gBACA;YACF;YACA,OAAO,EAAE,CAAC,eAAe;YACzB,OAAO,EAAE,CAAC,kBAAkB;YAC5B,OAAO,EAAE,CAAC,WAAW;QACvB;KACD;IAGH,OAAO;AACT;AAEA,MAAM,mCAAa,mCAAa,gBAAgB;AAChD,MAAM,yCAAmB,mCAAa,uBAAuB,OAAO;AAEpE,iCAAW,EAAE,CAAC,gBAAgB;IAC5B,uCAAiB,SAAS,CAAC,iCAAW,KAAK,CAAC,OAAO,CAAC,GAAG;AACzD","sources":["src/ts/home/slider.ts"],"sourcesContent":["import KeenSlider, { KeenSliderHooks, KeenSliderInstance, KeenSliderOptions, SliderInstance } from 'keen-slider';\nimport 'keen-slider/keen-slider.min.css';\n\nconst createSlider = (\n sliderId: string,\n addDots: boolean,\n otherSlider?: KeenSliderInstance<{}, {}, KeenSliderHooks>,\n) => {\n const navigation = (\n slider: SliderInstance<\n KeenSliderOptions<{}, {}, KeenSliderHooks>,\n KeenSliderInstance<{}, {}, KeenSliderHooks>,\n KeenSliderHooks\n >,\n ) => {\n let dots: HTMLElement;\n\n const createDiv = (className: string) => {\n var div = document.createElement('div');\n var classNames = className.split(' ');\n classNames.forEach((name) => div.classList.add(name));\n return div;\n };\n\n const dotMarkup = (remove?: boolean) => {\n if (!addDots) return;\n if (remove) {\n if (dots && dots.parentNode) {\n dots.parentNode.removeChild(dots);\n }\n return;\n }\n const dotsContainer = document.querySelector('.slider-home__controls');\n dots = createDiv('dots');\n slider.track.details.slides.forEach((_e, idx) => {\n var dot = createDiv('slider-home__controls__btn');\n dot.addEventListener('click', () => slider.moveToIdx(idx));\n dots.appendChild(dot);\n });\n\n dotsContainer?.appendChild(dots);\n };\n\n function updateClasses() {\n if (!addDots) return;\n var slide = slider.track.details.rel;\n Array.from(dots.children).forEach(function (dot, idx) {\n idx === slide\n ? dot.classList.add('slider-home__controls__btn--active')\n : dot.classList.remove('slider-home__controls__btn--active');\n });\n }\n\n slider.on('created', () => {\n dotMarkup();\n updateClasses();\n });\n slider.on('optionsChanged', () => {\n dotMarkup(true);\n dotMarkup();\n updateClasses();\n });\n slider.on('slideChanged', () => {\n updateClasses();\n // Synchronize the other slider\n if (otherSlider) {\n otherSlider.moveToIdx(slider.track.details.rel);\n }\n });\n slider.on('destroyed', () => {\n dotMarkup(true);\n });\n };\n\n const slider = new KeenSlider(\n sliderId,\n {\n loop: true,\n },\n [\n navigation,\n (slider) => {\n let timeout: NodeJS.Timeout;\n let mouseOver = false;\n function clearNextTimeout() {\n clearTimeout(timeout);\n }\n function nextTimeout() {\n clearTimeout(timeout);\n if (mouseOver) return;\n timeout = setTimeout(() => {\n slider.next();\n }, 5000);\n }\n slider.on('created', () => {\n slider.container.addEventListener('mouseover', () => {\n mouseOver = true;\n clearNextTimeout();\n });\n slider.container.addEventListener('mouseout', () => {\n mouseOver = false;\n nextTimeout();\n });\n nextTimeout();\n });\n slider.on('dragStarted', clearNextTimeout);\n slider.on('animationEnded', nextTimeout);\n slider.on('updated', nextTimeout);\n },\n ],\n );\n\n return slider;\n};\n\nconst homeSlider = createSlider('#slider-home', true);\nconst homeMobileSlider = createSlider('#slider-home-mobile', false, homeSlider);\n\nhomeSlider.on('slideChanged', () => {\n homeMobileSlider.moveToIdx(homeSlider.track.details.rel);\n});\n"],"names":[],"version":3,"file":"index.8c3bee23.js.map"}