{"version":3,"sources":["modules/cookie.js","modules/navigation.js","modules/search-box.js","modules/show-hide.js","scripts/scripts.js"],"names":["global","factory","exports","module","define","amd","self","current","Cookies","noConflict","this","assign","target","i","arguments","length","source","key","api","init","converter","defaultAttributes","set","value","attributes","document","expires","Date","now","toUTCString","encodeURIComponent","replace","decodeURIComponent","escape","stringifiedAttributes","attributeName","split","cookie","write","Object","create","get","cookies","jar","parts","slice","join","foundKey","read","e","remove","withAttributes","withConverter","freeze","path","window","addEventListener","event","persisted","closeMenu","menu_trigger","querySelector","nav","body","nav_icon","querySelectorAll","sub_icon","handleMenuTrigger","classList","contains","openNavItem","style","removeProperty","removeEventListener","initTrapFocusNav","toggle","getAttribute","setAttribute","openMenu","add","trapFocus","navDropdowns","navList","isDesktop","matchMedia","matches","clickedDropdown","activeDropdowns","forEach","dropdown","closest","previousElementSibling","mainContent","getElementById","currentPageLinks","navLink","search_trigger","search_box","header","focus","showHideButtons","button","handleShowHide","dataset","showByDefault","targetElement","targetId","currentButton","scrollIntoView","textContent","expandedButtonText","contentElementTypeAlias","loginSection","src","buttonText","setTimeout","nextElement","nextElementSibling","handleLayoutItems","scrollToAnchorOffSet","LocaleSet","newLanguage","AgeGateSet","country","agCookie","date","toString","JSON","stringify","scrollToAnchor","aName","aTag","$","animate","scrollTop","offset","top","scrollToAnchorID","aId","scrollToAnchorOffset","scrollToAnchorIDOffset","isEmptyOrSpaces","str","undefined","match","nodeListToIds","list","nodeIds","itm","checked","push","modalId","keyCode","focusableContent","getKeyboardFocusableElements","firstFocusableElement","lastFocusableElement","shiftKey","activeElement","preventDefault","element","filter","el","hasAttribute","checkVisibility"],"mappings":"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","file":"../compiled.min.js","sourcesContent":["/*! \r\n * js-cookie v3.0.1 | MIT\r\n * https://github.com/js-cookie/js-cookie/releases\r\n */\r\n;\r\n(function (global, factory) {\r\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\r\n typeof define === 'function' && define.amd ? define(factory) :\r\n (global = global || self, (function () {\r\n var current = global.Cookies;\r\n var exports = global.Cookies = factory();\r\n exports.noConflict = function () { global.Cookies = current; return exports; };\r\n }()));\r\n}(this, (function () {\r\n 'use strict';\r\n\r\n /* eslint-disable no-var */\r\n function assign(target) {\r\n for (var i = 1; i < arguments.length; i++) {\r\n var source = arguments[i];\r\n for (var key in source) {\r\n target[key] = source[key];\r\n }\r\n }\r\n return target\r\n }\r\n /* eslint-enable no-var */\r\n\r\n /* eslint-disable no-var */\r\n var defaultConverter = {\r\n read: function (value) {\r\n if (value[0] === '\"') {\r\n value = value.slice(1, -1);\r\n }\r\n return value.replace(/(%[\\dA-F]{2})+/gi, decodeURIComponent)\r\n },\r\n write: function (value) {\r\n return encodeURIComponent(value).replace(\r\n /%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,\r\n decodeURIComponent\r\n )\r\n }\r\n };\r\n /* eslint-enable no-var */\r\n\r\n /* eslint-disable no-var */\r\n\r\n function init(converter, defaultAttributes) {\r\n function set(key, value, attributes) {\r\n if (typeof document === 'undefined') {\r\n return\r\n }\r\n\r\n attributes = assign({}, defaultAttributes, attributes);\r\n\r\n if (typeof attributes.expires === 'number') {\r\n attributes.expires = new Date(Date.now() + attributes.expires * 864e5);\r\n }\r\n if (attributes.expires) {\r\n attributes.expires = attributes.expires.toUTCString();\r\n }\r\n\r\n key = encodeURIComponent(key)\r\n .replace(/%(2[346B]|5E|60|7C)/g, decodeURIComponent)\r\n .replace(/[()]/g, escape);\r\n\r\n var stringifiedAttributes = '';\r\n for (var attributeName in attributes) {\r\n if (!attributes[attributeName]) {\r\n continue\r\n }\r\n\r\n stringifiedAttributes += '; ' + attributeName;\r\n\r\n if (attributes[attributeName] === true) {\r\n continue\r\n }\r\n\r\n // Considers RFC 6265 section 5.2:\r\n // ...\r\n // 3. If the remaining unparsed-attributes contains a %x3B (\";\")\r\n // character:\r\n // Consume the characters of the unparsed-attributes up to,\r\n // not including, the first %x3B (\";\") character.\r\n // ...\r\n stringifiedAttributes += '=' + attributes[attributeName].split(';')[0];\r\n }\r\n\r\n return (document.cookie =\r\n key + '=' + converter.write(value, key) + stringifiedAttributes)\r\n }\r\n\r\n function get(key) {\r\n if (typeof document === 'undefined' || (arguments.length && !key)) {\r\n return\r\n }\r\n\r\n // To prevent the for loop in the first place assign an empty array\r\n // in case there are no cookies at all.\r\n var cookies = document.cookie ? document.cookie.split('; ') : [];\r\n var jar = {};\r\n for (var i = 0; i < cookies.length; i++) {\r\n var parts = cookies[i].split('=');\r\n var value = parts.slice(1).join('=');\r\n\r\n try {\r\n var foundKey = decodeURIComponent(parts[0]);\r\n jar[foundKey] = converter.read(value, foundKey);\r\n\r\n if (key === foundKey) {\r\n break\r\n }\r\n } catch (e) { }\r\n }\r\n\r\n return key ? jar[key] : jar\r\n }\r\n\r\n return Object.create(\r\n {\r\n set: set,\r\n get: get,\r\n remove: function (key, attributes) {\r\n set(\r\n key,\r\n '',\r\n assign({}, attributes, {\r\n expires: -1\r\n })\r\n );\r\n },\r\n withAttributes: function (attributes) {\r\n return init(this.converter, assign({}, this.attributes, attributes))\r\n },\r\n withConverter: function (converter) {\r\n return init(assign({}, this.converter, converter), this.attributes)\r\n }\r\n },\r\n {\r\n attributes: { value: Object.freeze(defaultAttributes) },\r\n converter: { value: Object.freeze(converter) }\r\n }\r\n )\r\n }\r\n\r\n var api = init(defaultConverter, { path: '/' });\r\n /* eslint-enable no-var */\r\n\r\n return api;\r\n\r\n})));\r\n","window.addEventListener('pageshow', (event) => {\r\n if (event.persisted) {\r\n // when the page is loaded from bfcache, it can leave the dropdown menu open\r\n closeMenu();\r\n }\r\n});\r\n\r\n\r\nvar menu_trigger = document.querySelector('.nav__toggle'),\r\n nav = document.querySelector('.nav'),\r\n body = document.querySelector('body'),\r\n nav_icon = document.querySelectorAll('.mega-nav__trigger'),\r\n sub_icon = document.querySelectorAll('.nav__icon--sub');\r\n\r\nif (menu_trigger) {\r\n menu_trigger.addEventListener('click', handleMenuTrigger);\r\n}\r\n\r\nfunction handleMenuTrigger() {\r\n if (menu_trigger.classList.contains('nav__toggle--active')) {\r\n var openNavItem = nav.querySelector('.nav__link--active');\r\n if (openNavItem) {\r\n openNavItem.classList.remove('nav__link--active');\r\n }\r\n\r\n document.body.style.removeProperty(\"padding-right\");\r\n document.removeEventListener(`keydown`, initTrapFocusNav);\r\n } else {\r\n document.addEventListener('keydown', initTrapFocusNav);\r\n }\r\n\r\n // Toggle classes\r\n menu_trigger.classList.toggle('nav__toggle--active');\r\n nav.classList.toggle('nav--active');\r\n body.classList.toggle('nav--open');\r\n\r\n\r\n // Accessibility\r\n if (menu_trigger.getAttribute('aria-expanded') === 'true') {\r\n menu_trigger.setAttribute('aria-expanded', 'false');\r\n } else {\r\n menu_trigger.setAttribute('aria-expanded', 'true');\r\n }\r\n}\r\n\r\nfunction openMenu() {\r\n document.addEventListener('keydown', initTrapFocusNav);\r\n\r\n // Toggle classes\r\n menu_trigger.classList.add('nav__toggle--active');\r\n nav.classList.add('nav--active');\r\n body.classList.add('nav--open');\r\n\r\n // Accessibility\r\n menu_trigger.setAttribute('aria-expanded', 'true');\r\n}\r\n\r\nfunction closeMenu() {\r\n var openNavItem = nav.querySelector('.nav__link--active');\r\n if (openNavItem) {\r\n openNavItem.classList.remove('nav__link--active');\r\n }\r\n\r\n document.body.style.removeProperty(\"padding-right\");\r\n document.removeEventListener('keydown', initTrapFocusNav);\r\n\r\n\r\n // Toggle classes\r\n menu_trigger.classList.remove('nav__toggle--active');\r\n nav.classList.remove('nav--active');\r\n body.classList.remove('nav--open');\r\n\r\n\r\n // Accessibility\r\n menu_trigger.setAttribute('aria-expanded', 'false');\r\n}\r\n\r\nfunction initTrapFocusNav(e) {\r\n if (e.key === 'Escape') {\r\n var openNavItem = nav.querySelector('.nav__link--active')\r\n if (openNavItem) {\r\n openNavItem.classList.remove('nav__link--active');\r\n }\r\n\r\n document.body.style.removeProperty(\"padding-right\");\r\n document.removeEventListener(`keydown`, initTrapFocusNav);\r\n\r\n menu_trigger.classList.remove('nav__toggle--active');\r\n nav.classList.remove('nav--active');\r\n body.classList.remove('nav--open');\r\n menu_trigger.setAttribute('aria-expanded', 'false');\r\n }\r\n\r\n trapFocus(e, 'header');\r\n}\r\n\r\nvar navDropdowns = document.querySelectorAll('.nav__link--dropdown');\r\nvar navList = document.querySelector('.nav__list');\r\n\r\nif (navDropdowns && navList) {\r\n navList.addEventListener('click', (e) => {\r\n if (e.target.classList.contains('nav__link--dropdown')) {\r\n\r\n let isDesktop = window.matchMedia(\"(min-width: 1025px)\").matches;\r\n\r\n var clickedDropdown = e.target;\r\n\r\n if (clickedDropdown.classList.contains(\"nav__link--active\")) {\r\n // closing dropdown\r\n e.target.classList.remove('nav__link--active');\r\n\r\n if (isDesktop) {\r\n closeMenu();\r\n }\r\n } else {\r\n if (isDesktop) {\r\n openMenu();\r\n }\r\n // opening dropdown\r\n var activeDropdowns = document.querySelectorAll(\".nav__link--active\");\r\n // want to close others first\r\n if (activeDropdowns) {\r\n activeDropdowns.forEach((dropdown) => {\r\n dropdown.classList.remove(\"nav__link--active\");\r\n })\r\n }\r\n\r\n clickedDropdown.classList.add(\"nav__link--active\");\r\n }\r\n }\r\n if (e.target.classList.contains('nav__link--back')) {\r\n e.target.closest('.nav__dropdown').previousElementSibling.classList.remove('nav__link--active');\r\n }\r\n });\r\n}\r\n\r\n// TODO: clean up logic for show/hide nav and basket sidebar\r\nvar mainContent = document.getElementById(\"maincontent\");\r\n\r\nmainContent.addEventListener(\"click\", () => {\r\n if (document.body.classList.contains(\"nav--open\")) {\r\n document.body.style.removeProperty(\"padding-right\");\r\n if (menu_trigger.classList.contains('nav__toggle--active')) {\r\n var openNavItem = nav.querySelector('.nav__link--active')\r\n if (openNavItem) {\r\n openNavItem.classList.remove('nav__link--active');\r\n }\r\n }\r\n\r\n // Toggle classes\r\n menu_trigger.classList.toggle('nav__toggle--active');\r\n nav.classList.toggle('nav--active');\r\n body.classList.toggle('nav--open');\r\n\r\n\r\n // Accessibility\r\n if (menu_trigger.getAttribute('aria-expanded') === 'true') {\r\n menu_trigger.setAttribute('aria-expanded', 'false');\r\n } else {\r\n menu_trigger.setAttribute('aria-expanded', 'true');\r\n }\r\n }\r\n});\r\n\r\nvar currentPageLinks = document.querySelectorAll('a.nav__link--current');\r\nif (currentPageLinks) {\r\n currentPageLinks.forEach((navLink) => {\r\n navLink.addEventListener('click', closeMenu);\r\n });\r\n}","var search_trigger = document.querySelector('.search-box__icon'),\r\n search_box = document.querySelector('.search-box__form'),\r\n header = document.querySelector('.header');\r\n\r\nif (search_trigger) {\r\n search_trigger.addEventListener('click', function () {\r\n search_box.classList.toggle('search-box__form--active');\r\n document.getElementById('searchTerm').focus();\r\n header.classList.toggle('search-box--open');\r\n\r\n // Update aria tags\r\n if (search_box.getAttribute('aria-expanded') === 'true') {\r\n search_box.setAttribute('aria-expanded', 'false');\r\n } else {\r\n search_box.setAttribute('aria-expanded', 'true');\r\n }\r\n })\r\n\r\n}","document.addEventListener('DOMContentLoaded', function () {\r\n var showHideButtons = document.querySelectorAll('.js-show-hide-button');\r\n\r\n if (showHideButtons) {\r\n showHideButtons.forEach((button) => {\r\n button.addEventListener('click', handleShowHide);\r\n\r\n if (button.dataset.showByDefault === 'false') {\r\n var targetElement = document.getElementById(button.dataset.targetId);\r\n if (targetElement) {\r\n targetElement.classList.add('hidden');\r\n }\r\n }\r\n });\r\n }\r\n});\r\n\r\nconst handleShowHide = (e) => {\r\n var currentButton = e.target;\r\n\r\n var targetElement = document.getElementById(currentButton.dataset.targetId);\r\n\r\n if (targetElement) {\r\n if (targetElement.classList.contains('hidden')) {\r\n targetElement.classList.remove('hidden');\r\n targetElement.scrollIntoView();\r\n currentButton.setAttribute('aria-expanded', 'true');\r\n currentButton.textContent = currentButton.dataset.expandedButtonText;\r\n\r\n // to handle login iframe height issue\r\n if (targetElement.dataset.contentElementTypeAlias === \"registerBlock\") {\r\n var loginSection = targetElement.querySelector('.js-login-section');\r\n if (loginSection && !loginSection.classList.contains('hidden')) {\r\n loginSection.querySelector('.js-loginIframe').src = '/api/azureb2c/beginlogin'; \r\n }\r\n }\r\n\r\n } else {\r\n targetElement.classList.add('hiding');\r\n currentButton.setAttribute('aria-expanded', 'false');\r\n currentButton.textContent = currentButton.dataset.buttonText;\r\n\r\n setTimeout(() => {\r\n targetElement.classList.add('hidden');\r\n targetElement.classList.remove('hiding');\r\n // check if next element is visible, if not, remove section--visible\r\n var nextElement = targetElement.nextElementSibling;\r\n // may need to tweak logic to make the animations nicer here \r\n if (nextElement && nextElement.classList.contains('section--visible')) {\r\n nextElement.classList.remove('section--visible');\r\n }\r\n\r\n handleLayoutItems();\r\n }, 1000);\r\n }\r\n\r\n }\r\n};\r\n","var scrollToAnchorOffSet = 120;\r\nfunction LocaleSet(newLanguage) {\r\n\r\n var curCookie = Cookies.get('Locale');\r\n if (curCookie != newLanguage) {\r\n console.log('Switching lang to : %o ', newLanguage);\r\n // Set the cookie\r\n Cookies.set('Locale', newLanguage);\r\n } else {\r\n //console.log('Skipping cookie write as already set');\r\n }\r\n\r\n}\r\nfunction AgeGateSet(country) {\r\n var date = new Date();\r\n var agCookie = {\r\n date: date.toString(),\r\n country: country\r\n }\r\n Cookies.set('AgeGate', JSON.stringify(agCookie), { expires: 30 });\r\n}\r\n\r\nfunction scrollToAnchor(aName) {\r\n var aTag = $(\"a[name='\" + aName + \"']\");\r\n $('html,body').animate({ scrollTop: aTag.offset().top }, 'slow');\r\n}\r\nfunction scrollToAnchorID(aId) {\r\n var aTag = $(\"#\" + aId);\r\n $('html,body').animate({ scrollTop: aTag.offset().top }, 'slow');\r\n}\r\n\r\nfunction scrollToAnchorOffset(aName) {\r\n var aTag = $(\"a[name='\" + aName + \"']\");\r\n $('html,body').animate({ scrollTop: aTag.offset().top - scrollToAnchorOffSet }, 'slow');\r\n}\r\nfunction scrollToAnchorIDOffset(aId) {\r\n var aTag = $(\"#\" + aId);\r\n $('html,body').animate({ scrollTop: aTag.offset().top - scrollToAnchorOffSet }, 'slow');\r\n}\r\n\r\nfunction isEmptyOrSpaces(str) {\r\n if (str === undefined) { return true; }\r\n return str === null || str.match(/^ *$/) !== null;\r\n}\r\n\r\nfunction nodeListToIds(list) {\r\n //console.log(' node list : %o', list);\r\n let nodeIds = [];\r\n if (list.length > 0) {\r\n for (let i = 0; i < list.length; i++) {\r\n\r\n var itm = list[i];\r\n //console.log('%o - %o', itm, itm.checked);\r\n if (itm.checked) {\r\n nodeIds.push(itm.value);\r\n }\r\n }\r\n }\r\n //console.log('node ids : %o', nodeIds);\r\n return nodeIds;\r\n}\r\n\r\nfunction trapFocus(e, modalId) {\r\n const isTabPressed = e.key === 'Tab' || e.keyCode === 9;\r\n\r\n /**\r\n * If a key other than tab is pressed, ignore.\r\n */\r\n if (!isTabPressed) {\r\n return;\r\n }\r\n\r\n /**\r\n * Get the targeted modal.\r\n */\r\n const modal = document.getElementById(modalId);\r\n\r\n console.log(modal);\r\n\r\n /**\r\n * Get all focusable elements in the modal.\r\n */\r\n const focusableContent = getKeyboardFocusableElements(modal);\r\n console.log(focusableContent);\r\n const firstFocusableElement = focusableContent[0];\r\n const lastFocusableElement = focusableContent[focusableContent.length - 1];\r\n console.log(firstFocusableElement);\r\n console.log(lastFocusableElement);\r\n\r\n if (e.shiftKey) {\r\n if (document.activeElement === firstFocusableElement) {\r\n /**\r\n * If tabbing backward (shift-tab) and we're currently on the first element, focus on the last element.\r\n */\r\n lastFocusableElement.focus();\r\n e.preventDefault();\r\n }\r\n } else if (document.activeElement === lastFocusableElement) {\r\n /**\r\n * If tabbing forward and we're currently on the last element, focus on the first element.\r\n */\r\n firstFocusableElement.focus();\r\n e.preventDefault();\r\n }\r\n}\r\n\r\nfunction LocaleSet(newLanguage) {\r\n\r\n var curCookie = Cookies.get('Locale');\r\n if (curCookie != newLanguage) {\r\n console.log('Switching lang to : %o ', newLanguage);\r\n // Set the cookie\r\n Cookies.set('Locale', newLanguage);\r\n } else {\r\n //console.log('Skipping cookie write as already set');\r\n }\r\n\r\n}\r\n\r\nfunction getKeyboardFocusableElements(element = document) {\r\n return [\r\n ...element.querySelectorAll(\r\n 'a[href], button, input:not([type=\"hidden\"]), textarea, select, iframe, details, [tabindex]:not([tabindex=\"-1\"])',\r\n ),\r\n ].filter(\r\n el => !el.hasAttribute('disabled') && !el.getAttribute('aria-hidden') && el.checkVisibility(),\r\n )\r\n}"]}