{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./js/src/constants/_KEYCODE.es6.js","webpack:///./js/src/modules/_MobileMenu.es6.js","webpack:///./js/src/mobile-menu.es6.js"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","1","exports","module","l","m","c","d","name","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","p","jsonpArray","window","oldJsonpFunction","slice","KEYCODE","TAB","RETURN","ESC","SPACE","PAGEUP","PAGEDOWN","END","HOME","LEFT","UP","RIGHT","DOWN","_MobileMenu","toggleSubNav","navMenu","searchBlock","utilityMenu","header","toggleButton","container","menuItem","menuItemClass","menuLink","menuLinkClass","menuSubMenu","menuSubMenuClass","overlayClass","mobileMenuClass","mobileSearchClass","mobileUtilityMenuClass","buttonClass","menuButtonClass","closeButtonClass","arrowButtonClass","mobileMenuBreakpoint","this","options","document","querySelector","prevFocused","_handleKeyDown","_toggleMenuDisplay","close","_cleanString","string","toLowerCase","replace","_processLinks","elem","controlled","index","thisNode","createElement","firstLink","querySelectorAll","elemID","innerText","setAttribute","classList","add","innerHTML","addEventListener","e","getAttribute","currentTarget","focus","preventDefault","parentNode","insertBefore","_cloneBlock","block","blockClass","blockClone","cloneNode","_cloneMenu","menu","menuClass","menuClone","className","subNavClass","items","forEach","item","remove","menus","links","nextElement","nextElementSibling","tabIndex","contains","tagName","_setTabIndex","Array","isArray","event","focusable","overlay","numberFocusElements","firstFocusableElement","lastFocusableElement","keyCode","shiftKey","activeElement","matchMedia","matches","style","display","init","closeButton","appendChild","insertAdjacentElement","body","open","resizeTimeout","lastWindowWidth","innerWidth","currWindowWidth","clearTimeout","setTimeout","removeEventListener","removeAttribute","callback","MobileMenu","readyState","documentElement","doScroll"],"mappings":"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","file":"mobile-menu.min.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t1: 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([76,0]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","const KEYCODE = {\n TAB: 9,\n RETURN: 13,\n ESC: 27,\n SPACE: 32,\n PAGEUP: 33,\n PAGEDOWN: 34,\n END: 35,\n HOME: 36,\n LEFT: 37,\n UP: 38,\n RIGHT: 39,\n DOWN: 40,\n};\n\nexport default KEYCODE;\n","import KEYCODE from '../constants/_KEYCODE.es6.js';\n\nclass _MobileMenu {\n constructor({\n toggleSubNav = true, // Enable subnav toggle\n navMenu = '.menu--main', // Selector for primary menu to clone for mobile menu\n searchBlock = '', // Selector for search block\n utilityMenu = '', // Selector for utility menu to add to mobile menu\n header = '.l-header__right', // Selector for site header\n toggleButton = '.mobile-menu-button--menu', // Selector for Menu toggle\n container = '.mobile-menu-container', // Selector for destination container for mobile nav\n menuItem = '.menu__item', // Selector for individual menu items\n menuItemClass = 'mobile-menu__item', // Class name to add to individual menu items\n menuLink = '.menu__link', // Selector for individual menu links\n menuLinkClass = 'mobile-menu__link', // Class name to add to individual menu links\n menuSubMenu = '.menu__subnav', // Selector for submenus\n menuSubMenuClass = 'mobile-menu__subnav', // Class name to add to submenus\n overlayClass = 'mobile-menu', // Overlay class name\n mobileMenuClass = 'mobile-menu__menu', // Class name for main navigation section\n mobileSearchClass = 'mobile-menu__search', // Class name for search section\n mobileUtilityMenuClass = 'mobile-menu__menu', // Class name for utility section\n buttonClass = 'mobile-menu-button', // Class name for all menu buttons\n menuButtonClass = 'mobile-menu-button--menu', // Class name for generated menu button\n closeButtonClass = 'mobile-menu-button--close', // Class name for generated close button\n arrowButtonClass = 'mobile-menu__subnav-arrow', // Class name for the subnav toggle\n mobileMenuBreakpoint = '(max-width: 980px)', // Breakpoint to switch between mobile + original menu\n } = {}) {\n this.options = {\n toggleSubNav,\n menuItem,\n menuItemClass,\n menuLink,\n menuLinkClass,\n menuSubMenu,\n menuSubMenuClass,\n overlayClass,\n mobileMenuClass,\n mobileSearchClass,\n mobileUtilityMenuClass,\n buttonClass,\n menuButtonClass,\n closeButtonClass,\n arrowButtonClass,\n mobileMenuBreakpoint,\n };\n this.navMenu = navMenu ? document.querySelector(navMenu) : null;\n this.searchBlock = searchBlock ? document.querySelector(searchBlock) : null;\n this.utilityMenu = utilityMenu ? document.querySelector(utilityMenu) : null;\n this.header = header ? document.querySelector(header) : null;\n this.toggleButton = toggleButton\n ? document.querySelector(toggleButton)\n : null;\n this.container = container ? document.querySelector(container) : null;\n this.prevFocused = null;\n // Necessary so removeEventListener will work properly.\n this._handleKeyDown = this._handleKeyDown.bind(this);\n this._toggleMenuDisplay = this._toggleMenuDisplay.bind(this);\n this.close = this.close.bind(this);\n //const togglebutton = document.querySelector('.mobile-menu-button--menu');\n //togglebutton.setAttribute('style', 'display:none;');\n }\n\n _cleanString(string) {\n return string.toLowerCase().replace(' ', '-');\n }\n\n _processLinks(elem, controlled, index) {\n const thisNode = elem;\n const toggleButton = document.createElement('button');\n const firstLink = [...controlled.querySelectorAll(this.options.menuLink)];\n\n const elemID = this._cleanString(\n `mobile-menu-${elem.innerText}${index ? index : ''}`\n );\n\n controlled.setAttribute('id', elemID);\n\n toggleButton.classList.add(this.options.arrowButtonClass);\n toggleButton.setAttribute('aria-controls', elemID);\n toggleButton.setAttribute('aria-expanded', 'false');\n thisNode.setAttribute('aria-controls', elemID);\n thisNode.setAttribute('aria-expanded', 'false');\n toggleButton.innerHTML =\n 'Toggle SubNav';\n\n toggleButton.addEventListener('click', e => {\n if (toggleButton.getAttribute('aria-expanded') === 'false') {\n e.currentTarget.setAttribute('aria-expanded', 'true');\n controlled.setAttribute('style', 'display: block;');\n firstLink[0].focus();\n } else {\n e.currentTarget.setAttribute('aria-expanded', 'false');\n controlled.setAttribute('style', 'display: none;');\n }\n });\n\n thisNode.addEventListener('click', e => {\n e.preventDefault();\n if (thisNode.getAttribute('aria-expanded') === 'false') {\n e.currentTarget.setAttribute('aria-expanded', 'true');\n toggleButton.setAttribute('aria-expanded', 'true');\n controlled.setAttribute('style', 'display: block;');\n firstLink[0].focus();\n } else {\n e.currentTarget.setAttribute('aria-expanded', 'false');\n toggleButton.setAttribute('aria-expanded', 'false');\n controlled.setAttribute('style', 'display: none;');\n }\n });\n\n thisNode.parentNode.insertBefore(toggleButton, controlled);\n }\n\n _cloneBlock(block, blockClass = '') {\n let blockClone = null;\n if (block) {\n blockClone = block.cloneNode(true);\n if (blockClass) {\n blockClone.classList.add(blockClass);\n }\n }\n return blockClone;\n }\n\n _cloneMenu(menu, menuClass = '') {\n let menuClone = null;\n if (menu) {\n menuClone = menu.cloneNode(true);\n\n menuClone.className = '';\n const subNavClass = this.options.toggleSubNav\n ? 'mobile-menu__menu--toggle-subnav'\n : 'mobile-menu__menu--show-subnav';\n\n if (menuClass) {\n menuClone.classList.add(menuClass);\n }\n //menuClone.classList.add('mobile-menu__subnav');\n menuClone.classList.add(subNavClass);\n\n const items = menuClone.querySelectorAll(this.options.menuItem);\n if (items.length) {\n items.forEach(item => {\n item.classList.add(this.options.menuItemClass);\n item.classList.remove('menu__item');\n });\n }\n\n const menus = menuClone.querySelectorAll(this.options.menuSubMenu);\n if (menus.length) {\n menus.forEach(item => {\n item.classList.add(this.options.menuSubMenuClass);\n item.classList.remove('menu');\n item.classList.remove('menu__subnav');\n });\n }\n\n // Prep subnav menus, if there are any.\n const links = menuClone.querySelectorAll(this.options.menuLink);\n if (links.length) {\n links.forEach((item, index) => {\n const nextElement = item.nextElementSibling;\n item.tabIndex = -1;\n\n if (\n this.options.toggleSubNav &&\n item.classList.contains('has-subnav') &&\n nextElement &&\n nextElement.tagName === 'UL'\n ) {\n this._processLinks(item, nextElement, index);\n }\n item.classList.add(this.options.menuLinkClass);\n item.classList.remove('menu__link');\n });\n }\n }\n return menuClone;\n }\n\n _setTabIndex(elem, tabIndex) {\n if (Array.isArray(elem)) {\n elem.forEach(function(item) {\n item.tabIndex = tabIndex;\n });\n } else {\n elem.tabIndex = tabIndex;\n }\n }\n\n _handleKeyDown(event) {\n // Select all focusable items\n const focusable = this.overlay.querySelectorAll(\n 'button, [href], input, select, textarea,[tabindex]:not([tabindex=\"-1\"]'\n );\n\n const numberFocusElements = focusable.length;\n const firstFocusableElement = focusable[0];\n const lastFocusableElement = focusable[numberFocusElements - 1];\n\n // Close modal\n if (event.keyCode === KEYCODE.ESC) {\n this.close();\n }\n\n // Trap Tab\n if (event.keyCode === KEYCODE.TAB && event.shiftKey) {\n if (document.activeElement === firstFocusableElement) {\n event.preventDefault();\n lastFocusableElement.focus();\n }\n } else if (event.keyCode === KEYCODE.TAB) {\n if (document.activeElement === lastFocusableElement) {\n event.preventDefault();\n firstFocusableElement.focus();\n }\n }\n }\n\n _toggleMenuDisplay() {\n // Hide the original or cloned content, depending on screen size.\n if (window.matchMedia(this.options.mobileMenuBreakpoint).matches) {\n this.overlay.style.display = '';\n this.toggleButton.style.display = '';\n if (this.searchBlock) {\n this.searchBlock.style.display = 'none';\n }\n if (this.navMenu) {\n this.navMenu.style.display = 'none';\n }\n if (this.utilityMenu) {\n this.utilityMenu.style.display = 'none';\n }\n this.close();\n } else {\n this.overlay.style.display = 'none';\n this.toggleButton.style.display = 'none';\n if (this.searchBlock) {\n this.searchBlock.style.display = '';\n }\n if (this.navMenu) {\n this.navMenu.style.display = '';\n }\n if (this.utilityMenu) {\n this.utilityMenu.style.display = '';\n }\n }\n }\n\n init() {\n // Set up the overlay.\n this.overlay = document.createElement('nav');\n this.overlay.classList.add(this.options.overlayClass);\n this.overlay.setAttribute('aria-role', 'menu');\n this.overlay.setAttribute('aria-modal', 'true');\n\n // Create and set up the close button.\n // Multiple calls to classList.add() here because IE doesn't support multiple arguments. :(\n this.closeButton = document.createElement('button');\n this.closeButton.classList.add(this.options.buttonClass);\n this.closeButton.classList.add(this.options.closeButtonClass);\n this.closeButton.innerHTML =\n '';\n this.closeButton.addEventListener('click', () => this.close());\n this.closeButton.setAttribute('style', 'display:none;');\n const headerwrap = document.querySelector('.l-header__right');\n headerwrap.appendChild(this.closeButton);\n\n // Create a menu toggle button if we don't already have one.\n if (this.toggleButton === null) {\n this.toggleButton = document.createElement('button');\n this.toggleButton.classList.add(this.options.buttonClass);\n this.toggleButton.classList.add(this.options.menuButtonClass);\n this.toggleButton.innerHTML =\n '';\n this.toggleButton.setAttribute('aria-haspopup', 'menu');\n if (this.header) {\n this.header.insertAdjacentElement('beforeEnd', this.toggleButton);\n } else {\n document.body.insertAdjacentElement('afterBegin', this.toggleButton);\n }\n }\n this.toggleButton.addEventListener('click', () => this.open());\n\n // Set up the search block\n if (this.searchBlock) {\n this.overlay.appendChild(\n this._cloneBlock(this.searchBlock, this.options.mobileSearchClass)\n );\n }\n\n // Set up the main nav.\n if (this.navMenu) {\n this.overlay.appendChild(\n this._cloneMenu(this.navMenu, this.options.mobileMenuClass)\n );\n }\n // Set up the utility nav.\n if (this.utilityMenu) {\n this.overlay.appendChild(\n this._cloneMenu(this.utilityMenu, this.options.mobileUtilityMenuClass)\n );\n }\n\n // Add the overlay to the page.\n if (this.container) {\n this.container.appendChild(this.overlay);\n } else if (this.header) {\n this.header.insertAdjacentElement('afterEnd', this.overlay);\n } else {\n document.body.insertAdjacentElement('afterBegin', this.overlay);\n }\n\n this._toggleMenuDisplay();\n this.close();\n\n let resizeTimeout = false;\n let lastWindowWidth = window.innerWidth;\n window.addEventListener('resize', () => {\n const currWindowWidth = window.innerWidth;\n\n if (lastWindowWidth !== currWindowWidth) {\n if (resizeTimeout !== false) {\n clearTimeout(resizeTimeout);\n }\n\n resizeTimeout = setTimeout(this._toggleMenuDisplay, 200);\n lastWindowWidth = currWindowWidth;\n }\n });\n }\n\n open() {\n // Stash the element currently in focus.\n this.prevFocused = document.activeElement;\n\n this._setTabIndex(this.closeButton, 0);\n this.closeButton.addEventListener('click', this.close);\n\n const links = [...this.overlay.querySelectorAll('.mobile-menu__link')];\n this._setTabIndex(links, 0);\n\n document.body.classList.add('has-open-mobile-menu');\n const sitecontainer = document.querySelector('.l-site-container');\n sitecontainer.classList.add('has-open-mobile-menu');\n this.overlay.setAttribute('style', 'display: block;');\n\n this.toggleButton.setAttribute('aria-expanded', 'true');\n this.toggleButton.setAttribute('style', 'display:none;');\n this.closeButton.setAttribute('style', 'display:block;');\n\n document.addEventListener('keydown', this._handleKeyDown);\n }\n\n close() {\n // Remove menu items from the tab flow.\n this._setTabIndex(this.closeButton, -1);\n const links = [...this.overlay.querySelectorAll('.mobile-menu__link')];\n this._setTabIndex(links, -1);\n\n // Remove Event Listeners\n document.removeEventListener('keydown', this._handleKeyDown);\n this.closeButton.removeEventListener('click', this.close);\n\n document.body.classList.remove('has-open-mobile-menu');\n const sitecontainer = document.querySelector('.l-site-container');\n sitecontainer.classList.remove('has-open-mobile-menu');\n this.overlay.setAttribute('style', 'display: none;');\n\n this.toggleButton.removeAttribute('aria-expanded');\n this.closeButton.setAttribute('style', 'display:none;');\n if (window.matchMedia(this.options.mobileMenuBreakpoint).matches) {\n this.toggleButton.setAttribute('style', 'display:block;');\n }\n\n // Restore focus to the original item.\n if (this.prevFocused) {\n this.prevFocused.focus();\n }\n }\n}\n\nexport default _MobileMenu;\n","import MobileMenu from './modules/_MobileMenu.es6';\n\nconst callback = function() {\n 'use strict';\n\n // The styling for this mobile menu is located in source/_patterns/04-components/mobile-menu/_mobile-menu.scss.\n if (!document.body.classList.contains('mobile-menu-processed')) {\n const mobileMenu = new MobileMenu();\n mobileMenu.init();\n document.body.classList.add('mobile-menu-processed');\n }\n};\n\nif (\n document.readyState === 'complete' ||\n (document.readyState !== 'loading' && !document.documentElement.doScroll)\n) {\n callback();\n} else {\n document.addEventListener('DOMContentLoaded', callback);\n}\n"],"sourceRoot":""}