{"version":3,"sources":["webpack:///./assets/src/js/parts/card-grid.js"],"names":["document","querySelectorAll","forEach","filter","cardGrid","querySelector","fullCardGridItems","Array","from","tabItems","moreLinkContainer","currentLength","getCardGridLength","setGridClass","itemsLength","classList","add","concat","gridItems","length","onTabClick","event","stopPropagation","cleanTabClass","item","appendChild","remove","currentTabType","target","dataset","type","currentTabLink","link","currentTabText","text","parentElement","href","innerHTML","tab","addEventListener"],"mappings":";;;;;;;;;;;;;;;;;mHAAA,OAAe,qBACKA,SAASC,iBAAiB,mBAClCC,SAAQ,SAAAC,GAClB,IAAMC,EAAWD,EAAOE,cAAc,iBAChCC,EAAoBC,MAAMC,KAAKJ,EAASH,iBAAiB,OACzDQ,EAAWN,EAAOF,iBAAiB,kCACnCS,EAAoBP,EAAOE,cAAc,gBAC3CM,EAAgBC,IAGpB,SAASC,EAAaC,GACrBV,EAASW,UAAUC,IAAI,gBAADC,OAAiBH,IACvCH,EAAgBG,EAKjB,SAASF,IAER,IAAMM,EAAYd,EAASH,iBAAiB,MAC5C,OAAOiB,EAAYA,EAAUC,OAAS,EAQvC,GApBAN,EAAaF,GAoBVF,EAASU,OAAQ,CAAC,IACXC,EAAT,SAAoBC,GAfrB,IAAyBP,EAgBvBO,EAAMC,kBACNC,IAPDjB,EAAkBJ,SAAQ,SAAAsB,GACzBpB,EAASqB,YAAYD,MAXEV,EAmBPH,EAlBjBP,EAASW,UAAUW,OAAO,gBAADT,OAAiBH,IAoBzC,IAAMa,EAAiBN,EAAMO,OAAOC,QAAQC,KACtCC,EAAiBV,EAAMO,OAAOC,QAAQG,KACtCC,EAAiBZ,EAAMO,OAAOC,QAAQK,KACzBb,EAAMO,OAAOO,cACrBpB,UAAUC,IAAI,aAEF,aAAnBW,GACHrB,EAAkBJ,SAAQ,SAAAsB,GAErBA,EAAKK,QAAQC,OAASH,GACzBH,EAAKE,YAKLhB,IACEqB,GACHrB,EAAkBK,UAAUW,OAAO,aACnChB,EAAkBL,cAAc,qBAAqB+B,KAAOL,EAC5DrB,EAAkBL,cAAc,qBAAqBgC,UAAYJ,GAAkBN,GAEnFjB,EAAkBK,UAAUC,IAAI,cAIlCH,EAAaD,MAELW,EAAT,WACCd,EAASP,SAAQ,SAAAoC,GAChBA,EAAIvB,UAAUW,OAAO,iBAGvBjB,EAASP,SAAQ,SAAAoC,GAChBA,EAAIC,iBAAiB,SAAS,SAAClB,GAAK,OAAKD,EAAWC","file":"main/parts/card-grid-10e109db.js","sourcesContent":["export default function () {\n\tconst cardFilter = document.querySelectorAll('.js-card-filter');\n\tcardFilter.forEach(filter => {\n\t\tconst cardGrid = filter.querySelector('.js-card-grid');\n\t\tconst fullCardGridItems = Array.from(cardGrid.querySelectorAll('li'));\n\t\tconst tabItems = filter.querySelectorAll('.js-nav-side-tabs .js-tab-item');\n\t\tconst moreLinkContainer = filter.querySelector('.js-see-more');\n\t\tlet currentLength = getCardGridLength();\n\t\tsetGridClass(currentLength)\n\n\t\tfunction setGridClass(itemsLength) {\n\t\t\tcardGrid.classList.add(`dr-card-grid-${itemsLength}`);\n\t\t\tcurrentLength = itemsLength;\n\t\t}\n\t\tfunction removeGridClass(itemsLength) {\n\t\t\tcardGrid.classList.remove(`dr-card-grid-${itemsLength}`)\n\t\t}\n\t\tfunction getCardGridLength() {\n\t\t\t//return current number of items\n\t\t\tconst gridItems = cardGrid.querySelectorAll('li');\n\t\t\treturn gridItems ? gridItems.length : 0\n\t\t}\n\t\tfunction setDefaultGrid() {\n\t\t\t//set default number of items\n\t\t\tfullCardGridItems.forEach(item => {\n\t\t\t\tcardGrid.appendChild(item)\n\t\t\t})\n\t\t}\n\t\tif(tabItems.length) {\n\t\t\tfunction onTabClick(event) {\n\t\t\t\tevent.stopPropagation();\n\t\t\t\tcleanTabClass(); //remove current tab class\n\t\t\t\tsetDefaultGrid(); //add default number of items\n\t\t\t\tremoveGridClass(currentLength); //set the class value based on the number of elements\n\n\t\t\t\tconst currentTabType = event.target.dataset.type;\n\t\t\t\tconst currentTabLink = event.target.dataset.link;\n\t\t\t\tconst currentTabText = event.target.dataset.text;\n\t\t\t\tconst currentTab = event.target.parentElement;\n\t\t\t\tcurrentTab.classList.add('uk-active');\n\n\t\t\t\tif (currentTabType !== 'Featured') {\n\t\t\t\t\tfullCardGridItems.forEach(item => {\n\t\t\t\t\t\t//removing items that do not match the current tab\n\t\t\t\t\t\tif (item.dataset.type !== currentTabType) {\n\t\t\t\t\t\t\titem.remove();\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t}\n\n\t\t\t\tif(moreLinkContainer) {\n\t\t\t\t\tif (currentTabLink) {\n\t\t\t\t\t\tmoreLinkContainer.classList.remove('uk-hidden');\n\t\t\t\t\t\tmoreLinkContainer.querySelector('.js-see-more-link').href = currentTabLink\n\t\t\t\t\t\tmoreLinkContainer.querySelector('.js-see-more-name').innerHTML = currentTabText || currentTabType;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tmoreLinkContainer.classList.add('uk-hidden');\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tsetGridClass(getCardGridLength())\n\t\t\t}\n\t\t\tfunction cleanTabClass() {\n\t\t\t\ttabItems.forEach(tab => {\n\t\t\t\t\ttab.classList.remove('uk-active');\n\t\t\t\t});\n\t\t\t}\n\t\t\ttabItems.forEach(tab => {\n\t\t\t\ttab.addEventListener('click', (event) => onTabClick(event));\n\t\t\t});\n\t\t}\n\t})\n}\n"],"sourceRoot":""}