{"version":3,"file":"app.js","mappings":";;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAGO,SAASA,cAAcA,CAACC,QAAQ,EAAEC,OAAO,EAAE;EAChD,IAAMC,QAAQ,GAAGC,QAAQ,CAACC,aAAa,CAACJ,QAAQ,CAAC;EACjD,IAAMK,OAAO,GAAGH,QAAQ,CAACE,aAAa,CAACJ,QAAQ,GAAG,WAAW,CAAC;EAC9D,IAAMM,KAAK,GAAGJ,QAAQ,CAACK,gBAAgB,CAACP,QAAQ,GAAG,QAAQ,CAAC;EAC5D,IAAMQ,UAAU,GAAGN,QAAQ,CAACE,aAAa,CAACJ,QAAQ,GAAG,gBAAgB,CAAC;EACtE,IAAMS,UAAU,GAAGP,QAAQ,CAACE,aAAa,CAACJ,QAAQ,GAAG,gBAAgB,CAAC;EACtE,IAAIU,YAAY,GAAG,CAAC;EACpB,IAAIC,WAAW,GAAGV,OAAO,CAACK,KAAK,IAAI,CAAC;EACpC,IAAIM,MAAM,GAAG,CAAC;EACd,IAAIC,IAAI,GAAG,CAAC;EACZ,IAAIC,UAAU,GAAG,KAAK;EAEtB,SAASC,iBAAiBA,CAAA,EAAG;IAC3B,IAAMC,WAAW,GAAGC,MAAM,CAACC,UAAU;IACrCP,WAAW,GAAGV,OAAO,CAACK,KAAK,IAAI,CAAC,CAAC,CAAC;;IAElC,IAAIL,OAAO,CAACkB,UAAU,EAAE;MACtB,KAAK,IAAMC,UAAU,IAAInB,OAAO,CAACkB,UAAU,EAAE;QAC3C,IAAIH,WAAW,IAAII,UAAU,EAAE;UAC7BT,WAAW,GAAGV,OAAO,CAACkB,UAAU,CAACC,UAAU,CAAC,CAACd,KAAK;QACpD;MACF;IACF;IAGA,IAAMe,SAAS,GAAI,GAAG,GAAGV,WAAW,GAAK,CAACV,OAAO,CAACqB,MAAM,IAAI,CAAC,IAAIN,WAAW,GAAG,GAAI;IACnFV,KAAK,CAACiB,OAAO,CAAC,UAAAC,IAAI,EAAI;MACpBA,IAAI,CAACC,KAAK,CAACC,SAAS,MAAAC,MAAA,CAAMN,SAAS,MAAG;MACtCG,IAAI,CAACC,KAAK,CAACG,WAAW,MAAAD,MAAA,CAAM1B,OAAO,CAACqB,MAAM,IAAI,CAAC,OAAI;IACrD,CAAC,CAAC;IAEFO,cAAc,CAAC,CAAC;EAClB;EAEA,SAASA,cAAcA,CAAA,EAAG;IACxBxB,OAAO,CAACoB,KAAK,CAACK,UAAU,GAAG,qBAAqB;IAChDzB,OAAO,CAACoB,KAAK,CAACM,SAAS,kBAAAJ,MAAA,CAAkBjB,YAAY,IAAI,GAAG,GAAGC,WAAW,CAAC,OAAI;IAC/EH,UAAU,CAACwB,QAAQ,GAAGtB,YAAY,KAAK,CAAC;IACxCD,UAAU,CAACuB,QAAQ,GAAGtB,YAAY,IAAIJ,KAAK,CAAC2B,MAAM,GAAGtB,WAAW;EAClE;EAEAH,UAAU,CAAC0B,gBAAgB,CAAC,OAAO,EAAE,YAAY;IAC/C,IAAIxB,YAAY,GAAG,CAAC,EAAE;MACpBA,YAAY,EAAE;MACdmB,cAAc,CAAC,CAAC;IAClB;EACF,CAAC,CAAC;EAEFpB,UAAU,CAACyB,gBAAgB,CAAC,OAAO,EAAE,YAAY;IAC/C,IAAIxB,YAAY,GAAGJ,KAAK,CAAC2B,MAAM,GAAGtB,WAAW,EAAE;MAC7CD,YAAY,EAAE;MACdmB,cAAc,CAAC,CAAC;IAClB;EACF,CAAC,CAAC;EAEF,IAAI5B,OAAO,CAACkC,KAAK,EAAE;IACjB9B,OAAO,CAAC6B,gBAAgB,CAAC,YAAY,EAAE,UAAUE,KAAK,EAAE;MACtDxB,MAAM,GAAGwB,KAAK,CAACC,OAAO,CAAC,CAAC,CAAC,CAACC,OAAO;MACjCxB,UAAU,GAAG,IAAI;MACjBT,OAAO,CAACoB,KAAK,CAACK,UAAU,GAAG,MAAM;IACnC,CAAC,CAAC;IAEFzB,OAAO,CAAC6B,gBAAgB,CAAC,WAAW,EAAE,UAAUE,KAAK,EAAE;MACrD,IAAI,CAACtB,UAAU,EAAE;MACjBD,IAAI,GAAGuB,KAAK,CAACC,OAAO,CAAC,CAAC,CAAC,CAACC,OAAO;MAC/B,IAAMC,KAAK,GAAG3B,MAAM,GAAGC,IAAI;MAC3BR,OAAO,CAACoB,KAAK,CAACM,SAAS,uBAAAJ,MAAA,CAAuBjB,YAAY,IAAI,GAAG,GAAGC,WAAW,CAAC,UAAAgB,MAAA,CAAOY,KAAK,SAAM;IACpG,CAAC,CAAC;IAEFlC,OAAO,CAAC6B,gBAAgB,CAAC,UAAU,EAAE,YAAY;MAC/CpB,UAAU,GAAG,KAAK;MAClB,IAAMyB,KAAK,GAAG3B,MAAM,GAAGC,IAAI;MAC3BR,OAAO,CAACmC,SAAS,CAACC,MAAM,CAAC,OAAO,CAAC;MACjC,IAAIF,KAAK,GAAG,EAAE,IAAI7B,YAAY,GAAGJ,KAAK,CAAC2B,MAAM,GAAGtB,WAAW,EAAE;QAC3DD,YAAY,EAAE;QACdL,OAAO,CAACmC,SAAS,CAACE,GAAG,CAAC,OAAO,CAAC;MAChC,CAAC,MAAM,IAAIH,KAAK,GAAG,CAAC,EAAE,IAAI7B,YAAY,GAAG,CAAC,EAAE;QAC1CA,YAAY,EAAE;QACdL,OAAO,CAACmC,SAAS,CAACE,GAAG,CAAC,OAAO,CAAC;MAChC;MACAb,cAAc,CAAC,CAAC;IAClB,CAAC,CAAC;EACJ;EAEAZ,MAAM,CAACiB,gBAAgB,CAAC,QAAQ,EAAEnB,iBAAiB,CAAC;EAEpDA,iBAAiB,CAAC,CAAC;AACrB;;AC9HA,SAAS4B,WAAWA,CAACC,MAAM,EAAE;EAC3B,IAAIA,MAAM,CAACJ,SAAS,CAACK,QAAQ,CAAC,QAAQ,CAAC,EAAE;IACvC1C,QAAQ,CAAC2C,IAAI,CAACN,SAAS,CAACE,GAAG,CAAC,WAAW,CAAC;EAC1C,CAAC,MAAM;IACLvC,QAAQ,CAAC2C,IAAI,CAACN,SAAS,CAACC,MAAM,CAAC,WAAW,CAAC;EAC7C;AACF;AAEO,SAASM,UAAUA,CAAC/C,QAAQ,EAAE;EACnC,IAAM4C,MAAM,GAAGzC,QAAQ,CAACC,aAAa,CAACJ,QAAQ,CAAC;EAE/C,IAAI,CAAC4C,MAAM,EAAE;EAEbA,MAAM,CAACV,gBAAgB,CAAC,OAAO,EAAE,YAAM;IACrCU,MAAM,CAACJ,SAAS,CAACI,MAAM,CAAC,QAAQ,CAAC;IACjCD,WAAW,CAACC,MAAM,CAAC;EACrB,CAAC,CAAC;EAEFD,WAAW,CAACC,MAAM,CAAC;AACrB;;ACjBuB;AAGF;AAErBzC,QAAQ,CAAC+B,gBAAgB,CAAC,kBAAkB,EAAE,YAAM;EAClDa,UAAU,CAAC,YAAY,CAAC;EAExB,IAAMC,SAAS,GAAG7C,QAAQ,CAACI,gBAAgB,CAAC,cAAc,CAAC;EAE3DyC,SAAS,CAACzB,OAAO,CAAC,UAACrB,QAAQ,EAAK;IAC9BH,cAAc,CAAC,cAAc,EAAE;MAC7BO,KAAK,EAAE,CAAC;MACRgB,MAAM,EAAE,CAAC;MACTa,KAAK,EAAE,IAAI;MACXhB,UAAU,EAAE;QACV,CAAC,EAAE;UACDb,KAAK,EAAE;QACT,CAAC;QACD,GAAG,EAAE;UACHA,KAAK,EAAE;QACT;MACF;IACF,CAAC,CAAC;EACJ,CAAC,CAAC;EAEFH,QAAQ,CAACI,gBAAgB,CAAC,sBAAsB,CAAC,CAACgB,OAAO,CAAC,UAAC0B,KAAK,EAAK;IACnE,IAAIA,KAAK,CAACC,SAAS,CAACC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE;MACjCF,KAAK,CAACxB,KAAK,CAAC2B,OAAO,GAAG,MAAM;IAC9B;EACF,CAAC,CAAC;AACJ,CAAC,CAAC,C","sources":["webpack://newsportal/./src/js/carousel.js","webpack://newsportal/./src/js/toggle.js","webpack://newsportal/./src/app.js"],"sourcesContent":["// export function createCarousel(carousel, options) {\r\n// const className = '.np-carousel';\r\n// const wrapper = carousel.querySelector(className + \"__wrapper\");\r\n// const items = wrapper.querySelectorAll(className + \"__item\");\r\n// const navigation = carousel.querySelector(className + \"__navigation\");\r\n// const prevButton = navigation.querySelector(className + '__button--prev');\r\n// const nextButton = navigation.querySelector(className + '__button--next');\r\n\r\n// let currentIndex = 0;\r\n// let visibleItems = wrapper.getAttribute('data-visible-items');\r\n// let itemsToShow = parseInt(visibleItems, 10);\r\n\r\n// function updateCarousel() {\r\n// wrapper.style.transition = 'transform 0.3s ease';\r\n// wrapper.style.transform = `translateX(-${currentIndex * (100 / itemsToShow)}%)`;\r\n// prevButton.disabled = currentIndex === 0;\r\n// nextButton.disabled = currentIndex >= items.length - itemsToShow;\r\n// }\r\n\r\n// prevButton.addEventListener('click', function () {\r\n// console.log('test');\r\n// if (currentIndex > 0) {\r\n// currentIndex--;\r\n// updateCarousel();\r\n// }\r\n// });\r\n\r\n// nextButton.addEventListener('click', function () {\r\n// console.log('test', currentIndex);\r\n// if (currentIndex < items.length - itemsToShow) {\r\n// currentIndex++;\r\n// updateCarousel();\r\n// }\r\n// });\r\n\r\n// updateCarousel();\r\n// }\r\n\r\n\r\nexport function createCarousel(selector, options) {\r\n const carousel = document.querySelector(selector);\r\n const wrapper = carousel.querySelector(selector + '__wrapper');\r\n const items = carousel.querySelectorAll(selector + '__item');\r\n const prevButton = carousel.querySelector(selector + '__button--prev');\r\n const nextButton = carousel.querySelector(selector + '__button--next');\r\n let currentIndex = 0;\r\n let itemsToShow = options.items || 1;\r\n let startX = 0;\r\n let endX = 0;\r\n let isDragging = false;\r\n\r\n function updateItemsToShow() {\r\n const windowWidth = window.innerWidth;\r\n itemsToShow = options.items || 1; // Default value\r\n\r\n if (options.responsive) {\r\n for (const breakpoint in options.responsive) {\r\n if (windowWidth >= breakpoint) {\r\n itemsToShow = options.responsive[breakpoint].items;\r\n }\r\n }\r\n }\r\n\r\n\r\n const itemWidth = (100 / itemsToShow) - ((options.margin || 0) / windowWidth * 100);\r\n items.forEach(item => {\r\n item.style.flexBasis = `${itemWidth}%`;\r\n item.style.marginRight = `${options.margin || 0}px`;\r\n });\r\n\r\n updateCarousel();\r\n }\r\n\r\n function updateCarousel() {\r\n wrapper.style.transition = 'transform 0.3s ease';\r\n wrapper.style.transform = `translateX(-${currentIndex * (100 / itemsToShow)}%)`;\r\n prevButton.disabled = currentIndex === 0;\r\n nextButton.disabled = currentIndex >= items.length - itemsToShow;\r\n }\r\n\r\n prevButton.addEventListener('click', function () {\r\n if (currentIndex > 0) {\r\n currentIndex--;\r\n updateCarousel();\r\n }\r\n });\r\n\r\n nextButton.addEventListener('click', function () {\r\n if (currentIndex < items.length - itemsToShow) {\r\n currentIndex++;\r\n updateCarousel();\r\n }\r\n });\r\n\r\n if (options.swipe) {\r\n wrapper.addEventListener('touchstart', function (event) {\r\n startX = event.touches[0].clientX;\r\n isDragging = true;\r\n wrapper.style.transition = 'none';\r\n });\r\n\r\n wrapper.addEventListener('touchmove', function (event) {\r\n if (!isDragging) return;\r\n endX = event.touches[0].clientX;\r\n const moveX = startX - endX;\r\n wrapper.style.transform = `translateX(calc(-${currentIndex * (100 / itemsToShow)}% - ${moveX}px))`;\r\n });\r\n\r\n wrapper.addEventListener('touchend', function () {\r\n isDragging = false;\r\n const moveX = startX - endX;\r\n wrapper.classList.remove('swipe');\r\n if (moveX > 50 && currentIndex < items.length - itemsToShow) {\r\n currentIndex++;\r\n wrapper.classList.add('swipe');\r\n } else if (moveX < -50 && currentIndex > 0) {\r\n currentIndex--;\r\n wrapper.classList.add('swipe');\r\n }\r\n updateCarousel();\r\n });\r\n }\r\n\r\n window.addEventListener('resize', updateItemsToShow);\r\n\r\n updateItemsToShow();\r\n}","function checkScroll(toggle) {\r\n if (toggle.classList.contains('active')) {\r\n document.body.classList.add('no-scroll');\r\n } else {\r\n document.body.classList.remove('no-scroll');\r\n }\r\n}\r\n\r\nexport function toggleInit(selector) {\r\n const toggle = document.querySelector(selector);\r\n\r\n if (!toggle) return;\r\n\r\n toggle.addEventListener('click', () => {\r\n toggle.classList.toggle('active');\r\n checkScroll(toggle);\r\n });\r\n\r\n checkScroll(toggle);\r\n}","import {\r\n createCarousel\r\n} from \"./js/carousel\";\r\nimport {\r\n toggleInit\r\n} from \"./js/toggle\";\r\n\r\ndocument.addEventListener('DOMContentLoaded', () => {\r\n toggleInit('.np-toggle');\r\n\r\n const carousels = document.querySelectorAll('.np-carousel');\r\n\r\n carousels.forEach((carousel) => {\r\n createCarousel('.np-carousel', {\r\n items: 2,\r\n margin: 0,\r\n swipe: true,\r\n responsive: {\r\n 0: {\r\n items: 1\r\n },\r\n 768: {\r\n items: 2\r\n },\r\n },\r\n });\r\n });\r\n\r\n document.querySelectorAll('.np-post-item__image').forEach((image) => {\r\n if (image.innerHTML.trim() === '') {\r\n image.style.display = 'none';\r\n }\r\n });\r\n});"],"names":["createCarousel","selector","options","carousel","document","querySelector","wrapper","items","querySelectorAll","prevButton","nextButton","currentIndex","itemsToShow","startX","endX","isDragging","updateItemsToShow","windowWidth","window","innerWidth","responsive","breakpoint","itemWidth","margin","forEach","item","style","flexBasis","concat","marginRight","updateCarousel","transition","transform","disabled","length","addEventListener","swipe","event","touches","clientX","moveX","classList","remove","add","checkScroll","toggle","contains","body","toggleInit","carousels","image","innerHTML","trim","display"],"sourceRoot":""}