{"version":3,"sources":["modules/animation.js","modules/cookie.js","modules/navigation.js","modules/search-box.js","modules/show-hide.js","scripts/scripts.js"],"names":["ageGateElement","document","getElementById","isNearTop","element","offset","getBoundingClientRect","top","window","innerHeight","documentElement","clientHeight","handleLayoutItems","layoutItems","querySelectorAll","forEach","el","classList","add","productContainers","productContainer","addEventListener","querySelector","isScrolling","header","lastScroll","clearTimeout","currentScroll","scrollY","remove","setTimeout","productDetailHero","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","expires","Date","now","toUTCString","encodeURIComponent","replace","decodeURIComponent","escape","stringifiedAttributes","attributeName","split","cookie","write","Object","create","get","cookies","jar","parts","slice","join","foundKey","read","e","withAttributes","withConverter","freeze","path","menu_trigger","nav","body","nav_icon","sub_icon","initTrapFocusNav","openNavItem","style","removeProperty","removeEventListener","setAttribute","trapFocus","contains","toggle","getAttribute","navDropdowns","navList","clickedDropdown","activeDropdowns","dropdown","closest","previousElementSibling","mainContent","search_trigger","search_box","focus","showHideButtons","button","handleShowHide","dataset","showByDefault","targetElement","targetId","currentButton","scrollIntoView","textContent","expandedButtonText","contentElementTypeAlias","loginSection","cultureCode","src","buttonText","nextElement","nextElementSibling","scrollToAnchorOffSet","LocaleSet","newLanguage","AgeGateSet","country","agCookie","date","toString","JSON","stringify","scrollToAnchor","aName","aTag","$","animate","scrollTop","scrollToAnchorID","aId","scrollToAnchorOffset","scrollToAnchorIDOffset","isEmptyOrSpaces","str","undefined","match","nodeListToIds","list","nodeIds","itm","checked","push","modalId","keyCode","focusableContent","getKeyboardFocusableElements","firstFocusableElement","lastFocusableElement","shiftKey","activeElement","preventDefault","name","filter","hasAttribute","checkVisibility"],"mappings":"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","file":"../compiled.min.js","sourcesContent":["// Add loaded class to body\r\nvar ageGateElement = document.getElementById(\"ageGate\");\r\n\r\nif (!ageGateElement) {\r\n window.addEventListener('load', function () {\r\n document.querySelector('body').classList.add('body--loaded')\r\n });\r\n\r\n}\r\n\r\n// Header\r\ndocument.addEventListener('DOMContentLoaded', function () {\r\n let header = document.querySelector('.header');\r\n let isScrolling;\r\n let lastScroll = 0;\r\n\r\n window.addEventListener('scroll', function () {\r\n window.clearTimeout(isScrolling);\r\n const currentScroll = window.scrollY;\r\n\r\n if (window.scrollY < 120) {\r\n header.classList.remove('header--hide');\r\n } else {\r\n isScrolling = setTimeout(function () {\r\n if (currentScroll > lastScroll) {\r\n // show if scroll down\r\n header.classList.add('header--hide');\r\n } else {\r\n // hide if scroll up\r\n header.classList.remove('header--hide');\r\n }\r\n lastScroll = currentScroll;\r\n }, 25);\r\n }\r\n\r\n });\r\n\r\n\r\n var productDetailHero = document.querySelector('.productDetail');\r\n if (productDetailHero) {\r\n productDetailHero.classList.add('section--visible');\r\n }\r\n\r\n});\r\n\r\n\r\n// Sections\r\nfunction isNearTop(element, offset = 200) {\r\n var rect = element.getBoundingClientRect();\r\n return rect.top <= (window.innerHeight || document.documentElement.clientHeight) - offset;\r\n}\r\n\r\nfunction handleLayoutItems() {\r\n var layoutItems = document.querySelectorAll('.umb-block-grid__layout-item, .divider--products, .divider--template');\r\n if (layoutItems) {\r\n layoutItems.forEach(function (el) {\r\n if (isNearTop(el, 200)) {\r\n el.classList.add('section--visible');\r\n }\r\n });\r\n }\r\n\r\n var productContainers = document.querySelectorAll('.container--products');\r\n if (productContainers) {\r\n productContainers.forEach((productContainer) => {\r\n var items = productContainer.querySelectorAll('.products__item');\r\n items.forEach(function (el) {\r\n if (isNearTop(el, 200)) {\r\n el.classList.add('item--visible');\r\n }\r\n });\r\n });\r\n }\r\n\r\n}\r\n\r\nwindow.addEventListener(\"scroll\", handleLayoutItems);\r\nwindow.addEventListener(\"load\", handleLayoutItems);\r\n\r\n\r\n","/*! \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","var 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', function () {\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 //const documentWidth = document.documentElement.clientWidth;\r\n //const scrollbarWidth = Math.abs(window.innerWidth - documentWidth);\r\n //document.body.style.paddingRight = `${scrollbarWidth}px`;\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\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 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 } else {\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__list').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 header = document.querySelector(\".header\");\r\n\r\nheader.addEventListener(\"click\", (e) => {\r\n if (document.body.classList.contains(\"nav--open\") && !e.target.classList.contains(\"nav__toggle\") && !document.querySelector(\".nav\").contains(e.target)) {\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});","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 cultureCode = document.getElementById(\"loginCulture\").value;\r\n loginSection.querySelector('.js-loginIframe').src = '/api/azureb2c/beginlogin?culture=' + cultureCode;\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};","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\r\n\r\n /**\r\n * Get all focusable elements in the modal.\r\n */\r\n const focusableContent = getKeyboardFocusableElements(modal);\r\n\r\n const firstFocusableElement = focusableContent[0];\r\n const lastFocusableElement = focusableContent[focusableContent.length - 1];\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 || (document.activeElement.name && lastFocusableElement.name && document.activeElement.name === lastFocusableElement.name)) {\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}"]}