{"version":3,"sources":["faqs.js"],"names":["viewport","Viewport","AndrewMartin","breakpoints","navbarItems","document","querySelectorAll","selectField","querySelector","faqSections","resetSections","forEach","section","classList","remove","openSelectedCategory","device","comparisonElement","sectionTitle","conditional","getAttribute","add","clearCurrentlyOpenCategory","activeCategoryClass","currentlyOpenCategory","value","navbarItem","checkForDeliveryAndReturns","matches","addEventListener","selectedValue"],"mappings":"CAAC,WACG,IAAMA,EAAW,IAAIC,SAASC,aAAaC,aACrCC,EAAcC,SAASC,iBAAiB,oBACxCC,EAAcF,SAASG,cAAc,4BACrCC,EAAcJ,SAASC,iBAAiB,oBAGxCI,EAAgB,WAClBD,EAAYE,QAAQ,SAASC,GACzBA,EAAQC,UAAUC,OAAO,wBAAyB,sBACtD,EACJ,EAGMC,EAAuB,SAACC,EAAQC,GAClCR,EAAYE,QAAQ,SAASC,GACzB,IAAMM,EAAeN,EAAQJ,cAAc,0BAC3C,GAAc,UAAVQ,EACA,IAAIG,EAAcD,EAAaE,aAAa,kBAAoBH,MAC7D,CACCE,EAAcD,EAAaE,aAAa,kBAAoBH,EAAkBG,aAAa,iBAC/FH,EAAkBJ,UAAUQ,IAAI,yBACpC,CACIF,EACAP,EAAQC,UAAUQ,IAAI,yBAEtBT,EAAQC,UAAUQ,IAAI,sBAE9B,EACJ,EAGMC,EAA6B,SAACC,GAChC,IAAIC,EAAwBnB,SAASG,cAAce,GAE/CC,IACAd,IACAc,EAAsBX,UAAUC,OAAO,0BAE/C,GAImC,WACXT,SAASG,cAAc,UAAUiB,MACrDrB,EAAYO,QAAQ,SAASe,GACrBA,EAAWN,aAAa,gBACxBX,EAAYE,QAAQ,SAASC,GACzB,IAAIM,EAAeN,EAAQJ,cAAc,0BACpBU,EAAaE,aAAa,kBACvBM,EAAWN,aAAa,kBAE5CR,EAAQC,UAAUQ,IAAI,yBACNH,EAAaE,aAAa,kBAE1CR,EAAQC,UAAUQ,IAAI,sBAE9B,EAER,EACJ,CA0CAM,GAvCS3B,EAAS4B,QAAQ,WAGtBrB,EAAYsB,iBAAiB,SAAU,WACnCP,EAA2B,0BAG3B,IAAIQ,EAAgBzB,SAASG,cAAc,UAAUiB,MAChC,YAAjBK,EAKJf,EAAqB,SAAUe,GAJ3BpB,GAKR,GAIIV,EAAS4B,QAAQ,WAGrBxB,EAAYO,QAAQ,SAASe,GACzBA,EAAWG,iBAAiB,QAAS,WAKjC,GAHAP,EAA2B,2BAGqB,YAA5CI,EAAWN,aAAa,iBAGxB,OAFAV,SACAgB,EAAWb,UAAUQ,IAAI,0BAK7BN,EAAqB,UAAWW,EACpC,EACJ,EAMP,CAzGA","file":"../../javascript/faqs.js","sourcesContent":["(function () {\n    const viewport = new Viewport(AndrewMartin.breakpoints);\n    const navbarItems = document.querySelectorAll('.js-faq-nav-item');\n    const selectField = document.querySelector('.js-faqs-category-select');\n    const faqSections = document.querySelectorAll('.js-faqs-section');\n\n    // reset open sections\n    const resetSections = () => {\n        faqSections.forEach(function(section) {\n            section.classList.remove(\"faqs__section--active\", \"faqs__section--hide\");\n        })\n    }\n\n    // Open the selected category\n    const openSelectedCategory = (device, comparisonElement) => {\n        faqSections.forEach(function(section) {\n            const sectionTitle = section.querySelector('.js-faqs-section-title');\n            if (device == 'laptop') {\n                var conditional = sectionTitle.getAttribute('data-url-name') == comparisonElement;\n            } else {\n                var conditional = sectionTitle.getAttribute('data-url-name') == comparisonElement.getAttribute('data-url-name');\n                comparisonElement.classList.add(\"faqs-nav__item--active\")\n            }\n            if (conditional) {\n                section.classList.add(\"faqs__section--active\")\n            } else {\n                section.classList.add(\"faqs__section--hide\");\n            }\n        })\n    }\n\n    // If a different category is currently open, remove it\n    const clearCurrentlyOpenCategory = (activeCategoryClass) => {\n        let currentlyOpenCategory = document.querySelector(activeCategoryClass);\n\n        if (currentlyOpenCategory) {\n            resetSections();\n            currentlyOpenCategory.classList.remove(\"faqs-nav__item--active\");\n        }\n    }\n\n\n    // if directed by 'delivery and returns' link in the footer, show only that section\n    const checkForDeliveryAndReturns = () => {\n        let selectedValue = document.querySelector('select').value;\n        navbarItems.forEach(function(navbarItem) {\n            if (navbarItem.getAttribute('data-params')) {\n                faqSections.forEach(function(section) {\n                    let sectionTitle = section.querySelector('.js-faqs-section-title');\n                    let sectionUrlName = sectionTitle.getAttribute('data-url-name');\n                    let navBarItemUrlName = navbarItem.getAttribute('data-url-name');\n                    if (sectionUrlName == navBarItemUrlName) {\n                        section.classList.add(\"faqs__section--active\")\n                        selectedValue = sectionTitle.getAttribute('data-url-name');\n                    } else {\n                        section.classList.add(\"faqs__section--hide\");\n                    }\n                })\n            }\n        })\n    }\n\n    const handleSelectChange = () => {\n        if (!viewport.matches('laptop')) {\n            return\n        }\n        selectField.addEventListener('change', function() {\n            clearCurrentlyOpenCategory(\".faqs__section--active\")\n\n            // if 'all faqs' is selected, show all sections\n            let selectedValue = document.querySelector('select').value;\n            if (selectedValue == 'all-faqs') {\n                resetSections();\n                return;\n            }\n\n            openSelectedCategory('laptop', selectedValue);\n        })\n    }\n\n    const handleNavbarClick = () => {\n        if (viewport.matches('laptop')) {\n            return\n        }\n        navbarItems.forEach(function(navbarItem) {\n            navbarItem.addEventListener(\"click\", function () {\n\n                clearCurrentlyOpenCategory(\".faqs-nav__item--active\");\n\n                // if 'all faqs' is selected, show all sections\n                if (navbarItem.getAttribute('data-url-name') == 'all-faqs') {\n                    resetSections();\n                    navbarItem.classList.add(\"faqs-nav__item--active\")\n                    return;\n                }\n\n\n                openSelectedCategory('desktop', navbarItem);\n            })\n        })\n    }\n\n    checkForDeliveryAndReturns()\n    handleSelectChange()\n    handleNavbarClick()\n}());\n"],"sourceRoot":"../../../../resources/javascript"}