{"version":3,"file":"scripts/2789.js","mappings":"gFAAC,MAAMA,EAAmBC,SAASC,iBAAiB,8BAEpD,IAAK,MAAMC,KAAmBH,EAAkB,CAC5C,MAAMI,EAAYD,EAAgBE,cAAc,sBAC1CC,EAAoBH,EAAgBE,cAAc,2BAClDE,EAAYJ,EAAgBE,cAAc,8BAC1CG,EAAaL,EAAgBE,cAAc,+BAC3CI,EAAmBN,EAAgBE,cAAc,oCACjDK,EAAkBP,EAAgBE,cAAc,mCAChDM,EAAcC,SAAST,EAAgBU,aAAa,eAEpDC,EAAkBC,IAClBC,EAAiB,IACvB,IACIC,EACAC,EACAC,EACAC,EACAC,EACAC,EANAC,GAAuB,EA+C3B,SAASC,IACLf,EAAiBgB,UAAY,IAAIH,GACrC,CAEA,SAASI,IACDZ,EAAkB,GAClBR,EAAkBqB,MAAMC,QAAU,OAClClB,EAAgBe,UAAY,IAAIL,KAEhCd,EAAkBqB,MAAMC,QAAU,MAE1C,CAEA,SAASC,IACLZ,EAAwBa,KAAKC,IAAID,KAAKE,MAAM5B,EAAU6B,YAAad,GACnED,EAAqBd,EAAU8B,YAC/Bf,EAAiBD,EAAqBiB,OAAOC,WAC7ChB,EAAkBU,KAAKO,KAAKlB,EAAiBH,GAAkB,EAC/DK,EAAoBF,EAAiBC,EACrCE,EAAsBQ,KAAKO,KAAKpB,EAAwBI,IAAsB,CAClF,CAEA,SAASiB,IACL,QAAQ,GACJ,KAA+B,IAA1BrB,EACDsB,EAAahC,GACbiC,EAAYhC,GACZe,GAAuB,EACvB,MACJ,KAAMN,EAAwB,GAAME,EAChCoB,EAAa/B,GACbgC,EAAYjC,GACZgB,GAAuB,EACvB,MACJ,KAAMA,EACFiB,EAAYjC,GACZiC,EAAYhC,GACZe,GAAuB,EAGnC,CAEA,SAASkB,IACL,QAAQ,GACJ,KAAKN,OAAOC,YAAc,KAAOtB,EAAkB,EACnD,KAAKqB,OAAOC,YAAc,KAAOtB,EAAkB,EACnD,KAAKqB,OAAOC,YAAc,KAAOtB,EAAkB,EAC/CR,EAAkBqB,MAAMC,QAAU,OAClCxB,EAAUuB,MAAM,cAAgB,GAChC,MACJ,QACIrB,EAAkBqB,MAAMC,QAAU,OAClCxB,EAAUuB,MAAM,cAAgB,SAG5C,CAEA,SAASY,EAAaG,GAClBA,EAAMC,UAAUC,IAAI,sBACpBF,EAAMG,aAAa,WAAY,GACnC,CAEA,SAASL,EAAYE,GACjBA,EAAMC,UAAUG,OAAO,sBACvBJ,EAAMK,gBAAgB,WAC1B,CAEA,SAAShC,IACL,QAAQ,GACJ,KAAKJ,GAAe,EAAG,OAAO,EAC9B,KAAKA,GAAe,EAAG,OAAO,EAC9B,KAAKA,GAAe,EAAG,OAAO,EAC9B,KAAKA,GAAe,GAAI,OAAO,EAEvC,CAEA,SAASqC,EAAgBC,GACrB,MAAMC,EAAsB9C,EAAU6B,WACtC7B,EAAU+C,OAAO,CACbC,IAAK,EACLC,KAAMH,EAAsBD,EAC5BK,SAAU,UAElB,CA1HAC,YAAW,KACP1B,IACAH,IACAF,IACAiB,IACAnC,EAAkBqB,MAAM6B,QAAU,GAAG,GACtC,GAEHrB,OAAOsB,iBAAiB,oBAAoB,KACxC5B,IACAH,IACAF,IACAiB,IACAnC,EAAkBqB,MAAM6B,QAAU,GAAG,IAGzCrB,OAAOsB,iBAAiB,UAAU,KAC9B5B,IACAH,IACAF,IACAiB,GAAyB,IAG7BrC,EAAUqD,iBAAiB,UAAU,KACjC5B,IACAL,IACAc,GAAqB,IAGzB9B,EAAWiD,iBAAiB,SAAS,KAEjCT,EAAgB3B,EADUA,GAAqBD,EAAkB,GACX,IAG1Db,EAAUkD,iBAAiB,SAAS,KAEhCT,GAAiB3B,EADSA,GAAqBD,EAAkB,GACV,GAuF/D,C","sources":["webpack://wwwroot/./src/scripts/logoGridSlider.js"],"sourcesContent":["const logoGridSections = document.querySelectorAll(\".adm-section-c48-logo-grid\");\r\n\r\nfor (const logoGridSection of logoGridSections) { \r\n const logosArea = logoGridSection.querySelector(\".adm-div-c48-logos\");\r\n const paginationSection = logoGridSection.querySelector(\".adm-div-c48-pagination\");\r\n const arrowLeft = logoGridSection.querySelector(\".adm-button-c48-arrow-left\");\r\n const arrowRight = logoGridSection.querySelector(\".adm-button-c48-arrow-right\");\r\n const currentFrameSpan = logoGridSection.querySelector(\".adm-c48-logo-grid-current-frame\");\r\n const totalFramesSpan = logoGridSection.querySelector(\".adm-c48-logo-grid-total-frames\");\r\n const framesCount = parseInt(logoGridSection.getAttribute(\"data-count\"));\r\n\r\n const numberOfColumns = getTotalOfColumns();\r\n const logoFrameWidth = 241;\r\n let areBothArrowsEnabled = false;\r\n let amountAlreadyScrolled;\r\n let totalComponentSize;\r\n let scrollableArea;\r\n let numberOfScrolls;\r\n let scrollColumnWidth;\r\n let currentScrollNumber;\r\n\r\n setTimeout(() => {\r\n updateComponentState();\r\n updatePaginationTotal();\r\n updateCurrentPagination();\r\n handlePaginationDisplay();\r\n paginationSection.style.opacity = \"1\";\r\n }, 0);\r\n \r\n window.addEventListener(\"DOMContentLoaded\", () => {\r\n updateComponentState();\r\n updatePaginationTotal();\r\n updateCurrentPagination();\r\n handlePaginationDisplay();\r\n paginationSection.style.opacity = \"1\";\r\n });\r\n\r\n window.addEventListener(\"resize\", () => {\r\n updateComponentState();\r\n updatePaginationTotal();\r\n updateCurrentPagination();\r\n handlePaginationDisplay();\r\n })\r\n \r\n logosArea.addEventListener(\"scroll\", () => {\r\n updateComponentState();\r\n updateCurrentPagination();\r\n handleArrowsDisplay();\r\n })\r\n\r\n arrowRight.addEventListener(\"click\", () => {\r\n const fractionOfAScroll = scrollColumnWidth / (numberOfScrolls - 1);\r\n scrollComponent(scrollColumnWidth + fractionOfAScroll);\r\n })\r\n\r\n arrowLeft.addEventListener(\"click\", () => {\r\n const fractionOfAScroll = scrollColumnWidth / (numberOfScrolls - 1);\r\n scrollComponent(-scrollColumnWidth - fractionOfAScroll);\r\n })\r\n \r\n function updateCurrentPagination() {\r\n currentFrameSpan.innerText = `0${currentScrollNumber}`;\r\n }\r\n\r\n function updatePaginationTotal() {\r\n if (numberOfColumns > 1) {\r\n paginationSection.style.display = \"flex\";\r\n totalFramesSpan.innerText = `0${numberOfScrolls}`;\r\n } else {\r\n paginationSection.style.display = \"none\";\r\n }\r\n }\r\n\r\n function updateComponentState() {\r\n amountAlreadyScrolled = Math.min(Math.floor(logosArea.scrollLeft), scrollableArea);\r\n totalComponentSize = logosArea.scrollWidth;\r\n scrollableArea = totalComponentSize - window.innerWidth;\r\n numberOfScrolls = Math.ceil(scrollableArea / logoFrameWidth) + 1;\r\n scrollColumnWidth = scrollableArea / numberOfScrolls;\r\n currentScrollNumber = Math.ceil(amountAlreadyScrolled / scrollColumnWidth) || 1;\r\n }\r\n\r\n function handleArrowsDisplay() {\r\n switch (true) {\r\n case amountAlreadyScrolled === 0:\r\n disableArrow(arrowLeft);\r\n enableArrow(arrowRight);\r\n areBothArrowsEnabled = false;\r\n break;\r\n case (amountAlreadyScrolled + 1) >= scrollableArea:\r\n disableArrow(arrowRight);\r\n enableArrow(arrowLeft);\r\n areBothArrowsEnabled = false;\r\n break;\r\n case !areBothArrowsEnabled:\r\n enableArrow(arrowLeft);\r\n enableArrow(arrowRight);\r\n areBothArrowsEnabled = true;\r\n break;\r\n }\r\n }\r\n\r\n function handlePaginationDisplay() {\r\n switch (true) {\r\n case window.innerWidth <= 500 && numberOfColumns > 1:\r\n case window.innerWidth <= 740 && numberOfColumns > 2:\r\n case window.innerWidth <= 805 && numberOfColumns > 3:\r\n paginationSection.style.display = \"flex\";\r\n logosArea.style[\"overflow-x\"] = \"\";\r\n break;\r\n default:\r\n paginationSection.style.display = \"none\";\r\n logosArea.style[\"overflow-x\"] = \"hidden\";\r\n break;\r\n }\r\n }\r\n\r\n function disableArrow(arrow) {\r\n arrow.classList.add(\"adm-arrow-disabled\");\r\n arrow.setAttribute(\"disabled\", \"\");\r\n }\r\n \r\n function enableArrow(arrow) {\r\n arrow.classList.remove(\"adm-arrow-disabled\");\r\n arrow.removeAttribute(\"disabled\");\r\n }\r\n\r\n function getTotalOfColumns() {\r\n switch (true) {\r\n case framesCount <= 3: return 1;\r\n case framesCount <= 6: return 2;\r\n case framesCount <= 9: return 3;\r\n case framesCount <= 12: return 4;\r\n }\r\n }\r\n\r\n function scrollComponent(scrollAmount) {\r\n const logosAreaScrollLeft = logosArea.scrollLeft;\r\n logosArea.scroll({\r\n top: 0,\r\n left: logosAreaScrollLeft + scrollAmount,\r\n behavior: \"smooth\",\r\n })\r\n }\r\n};"],"names":["logoGridSections","document","querySelectorAll","logoGridSection","logosArea","querySelector","paginationSection","arrowLeft","arrowRight","currentFrameSpan","totalFramesSpan","framesCount","parseInt","getAttribute","numberOfColumns","getTotalOfColumns","logoFrameWidth","amountAlreadyScrolled","totalComponentSize","scrollableArea","numberOfScrolls","scrollColumnWidth","currentScrollNumber","areBothArrowsEnabled","updateCurrentPagination","innerText","updatePaginationTotal","style","display","updateComponentState","Math","min","floor","scrollLeft","scrollWidth","window","innerWidth","ceil","handleArrowsDisplay","disableArrow","enableArrow","handlePaginationDisplay","arrow","classList","add","setAttribute","remove","removeAttribute","scrollComponent","scrollAmount","logosAreaScrollLeft","scroll","top","left","behavior","setTimeout","opacity","addEventListener"],"sourceRoot":""}