{"version":3,"sources":["webpack:///./node_modules/core-js/internals/function-bind.js","webpack:///./src/js/modules/global/MobileHeader.js","webpack:///./node_modules/core-js/modules/es.object.get-prototype-of.js","webpack:///./node_modules/core-js/modules/es.reflect.construct.js"],"names":["aFunction","isObject","arraySlice","slice","factories","construct","C","argsLength","args","list","i","Function","join","module","exports","bind","that","fn","this","partArgs","call","arguments","boundFunction","concat","length","apply","prototype","MobileHeader","dom","navBtn","el","querySelector","navOpenIcon","navCloseIcon","navContainer","searchContainer","cartBtn","cartContainer","document","closeCartBtn","keepBrowsingBtn","subMenuBtns","querySelectorAll","mainMenu","allSubMenus","backBtns","accordionBtns","addEventListener","toggleNav","toggleCart","closeCartNav","forEach","btn","toggleSubMenu","toggleBack","toggleAccordion","body","style","overflow","position","overflowY","removeAttribute","setAttribute","classList","remove","unlockBody","button","target","closest","ariaControls","getAttribute","accordionContent","getElementById","minusIcon","plusIcon","hidden","subMenu","hideAllMenus","menu","hideMainNavs","toggle","lockBody","Component","toObject","nativeGetPrototypeOf","CORRECT_PROTOTYPE_GETTER","FAILS_ON_PRIMITIVES","stat","forced","sham","getPrototypeOf","it","create","anObject","fails","nativeConstruct","Reflect","NEW_TARGET_BUG","F","ARGS_BUG","FORCED","Target","newTarget","$args","push","proto","instance","Object","result"],"mappings":"2FACA,IAAIA,EAAY,EAAQ,GACpBC,EAAW,EAAQ,GACnBC,EAAa,GAAGC,MAChBC,EAAY,GAEZC,EAAY,SAAUC,EAAGC,EAAYC,GACvC,KAAMD,KAAcH,GAAY,CAC9B,IAAK,IAAIK,EAAO,GAAIC,EAAI,EAAGA,EAAIH,EAAYG,IAAKD,EAAKC,GAAK,KAAOA,EAAI,IAErEN,EAAUG,GAAcI,SAAS,MAAO,gBAAkBF,EAAKG,KAAK,KAAO,KAC3E,OAAOR,EAAUG,GAAYD,EAAGE,IAKpCK,EAAOC,QAAUH,SAASI,MAAQ,SAAcC,GAC9C,IAAIC,EAAKjB,EAAUkB,MACfC,EAAWjB,EAAWkB,KAAKC,UAAW,GACtCC,EAAgB,WAClB,IAAId,EAAOW,EAASI,OAAOrB,EAAWkB,KAAKC,YAC3C,OAAOH,gBAAgBI,EAAgBjB,EAAUY,EAAIT,EAAKgB,OAAQhB,GAAQS,EAAGQ,MAAMT,EAAMR,IAG3F,OADIP,EAASgB,EAAGS,aAAYJ,EAAcI,UAAYT,EAAGS,WAClDJ,I,86CCtBHK,E,iXAEFT,KAAKU,IAAM,CACTC,OAAQX,KAAKY,GAAGC,cAAc,yCAC9BC,YAAad,KAAKY,GAAGC,cACnB,0CAEFE,aAAcf,KAAKY,GAAGC,cACpB,2CAEFG,aAAchB,KAAKY,GAAGC,cAAc,iCACpCI,gBAAiBjB,KAAKY,GAAGC,cACvB,+DAEFK,QAASlB,KAAKY,GAAGC,cAAc,sCAC/BM,cAAeC,SAASP,cACtB,oBAEFQ,aAAcD,SAASP,cACrB,6BAEFS,gBAAiBF,SAASP,cAAc,4CACxCU,YAAavB,KAAKY,GAAGY,iBAAiB,gBACtCC,SAAUzB,KAAKY,GAAGC,cAAc,iCAChCa,YAAa1B,KAAKY,GAAGY,iBACnB,0CAEFG,SAAU3B,KAAKY,GAAGY,iBAAiB,oCACnCI,cAAe5B,KAAKY,GAAGY,iBACrB,0D,qCAKS,aASTxB,KAAKU,IAPPC,EAFW,EAEXA,OACAO,EAHW,EAGXA,QACAK,EAJW,EAIXA,YACAI,EALW,EAKXA,SACAC,EANW,EAMXA,cACAP,EAPW,EAOXA,aACAC,EARW,EAQXA,gBAGFX,EAAOkB,iBAAiB,QAAS7B,KAAK8B,UAAUjC,KAAKG,OACrDkB,EAAQW,iBAAiB,QAAS7B,KAAK+B,WAAWlC,KAAKG,OACvDqB,EAAaQ,iBAAiB,QAAS7B,KAAKgC,aAAanC,KAAKG,OAC1DsB,GACFA,EAAgBO,iBAAiB,QAAS7B,KAAKgC,aAAanC,KAAKG,OAGnEuB,EAAYU,SAAQ,SAAAC,GAClBA,EAAIL,iBAAiB,QAAS,EAAKM,cAActC,KAAK,OAGxD8B,EAASM,SAAQ,SAAAC,GACfA,EAAIL,iBAAiB,QAAS,EAAKO,WAAWvC,KAAK,OAGrD+B,EAAcK,SAAQ,SAAAC,GACpBA,EAAIL,iBAAiB,QAAS,EAAKQ,gBAAgBxC,KAAK,S,iCAK1DuB,SAASkB,KAAKC,MAAMC,SAAW,SAC/BpB,SAASkB,KAAKC,MAAME,SAAW,QAC/BrB,SAASkB,KAAKC,MAAMG,UAAY,W,mCAIhCtB,SAASkB,KAAKK,gBAAgB,W,qCAI9B3C,KAAKU,IAAIS,cAAcyB,aAAa,UAAU,GAC9C5C,KAAKU,IAAIQ,QAAQ2B,UAAUC,OAAO,aAClC9C,KAAK+C,e,sCAGSnC,GACd,IAAMoC,EAASpC,EAAGqC,OAAOC,QAAQ,UAC3BC,EAAeH,EAAOI,aAAa,iBACnCC,EAAmBjC,SAASkC,eAAeH,GAC3CI,EAAYP,EAAOnC,cAAc,eACjC2C,EAAWR,EAAOnC,cAAc,cAElCwC,EAAiBI,QACnBJ,EAAiBV,gBAAgB,UACjCY,EAAUZ,gBAAgB,UAC1Ba,EAASZ,aAAa,UAAU,KAEhCS,EAAiBT,aAAa,UAAU,GACxCW,EAAUX,aAAa,UAAU,GACjCY,EAASb,gBAAgB,a,iCAIlB/B,GACT,IACMuC,EADSvC,EAAGqC,OAAOC,QAAQ,UACLE,aAAa,iBACnCM,EAAUtC,SAASkC,eAAeH,GAExCnD,KAAK2D,eACDD,EAAQD,OACVC,EAAQf,gBAAgB,UAExBe,EAAQd,aAAa,UAAU,K,oCAIrBhC,GACZ,IACMuC,EADOvC,EAAGqC,OAAOC,QAAQ,KACLE,aAAa,iBACjCM,EAAUtC,SAASkC,eAAeH,GAExCnD,KAAK2D,eACDD,EAAQD,OACVC,EAAQf,gBAAgB,UAExBe,EAAQd,aAAa,UAAU,K,qCAKjC5C,KAAKU,IAAIe,SAASmB,aAAa,UAAU,GACzC5C,KAAKU,IAAIgB,YAAYO,SAAQ,SAAA2B,GAC3BA,EAAKhB,aAAa,UAAU,Q,gCAItBhC,GACR,IAAMoC,EAASpC,EAAGqC,OAAOC,QAAQ,UACjClD,KAAK6D,aAAab,GAClBhD,KAAKU,IAAIC,OAAOkC,UAAUiB,OAAO,aAC7B9D,KAAKU,IAAIM,aAAayC,QACxBzD,KAAKU,IAAII,YAAY8B,aAAa,UAAU,GAC5C5C,KAAKU,IAAIK,aAAa4B,gBAAgB,UACtC3C,KAAKU,IAAIM,aAAa2B,gBAAgB,UACtC3C,KAAK+D,aAEL/D,KAAKU,IAAII,YAAY6B,gBAAgB,UACrC3C,KAAKU,IAAIK,aAAa6B,aAAa,UAAU,GAC7C5C,KAAKU,IAAIM,aAAa4B,aAAa,UAAU,GAC7C5C,KAAK+C,gB,iCAIEnC,GACT,IAAMoC,EAASpC,EAAGqC,OAAOC,QAAQ,UACjClD,KAAK6D,aAAab,GAClBhD,KAAKU,IAAIQ,QAAQ2B,UAAUiB,OAAO,aAC9B9D,KAAKU,IAAIS,cAAcsC,QACzBzD,KAAKU,IAAIS,cAAcwB,gBAAgB,UACvC3C,KAAK+D,aAEL/D,KAAKU,IAAIS,cAAcyB,aAAa,UAAU,GAC9C5C,KAAK+C,gB,mCAIIC,GAEPA,IAAWhD,KAAKU,IAAIC,SACtBX,KAAKU,IAAIC,OAAOkC,UAAUC,OAAO,aACjC9C,KAAKU,IAAII,YAAY6B,gBAAgB,UACrC3C,KAAKU,IAAIK,aAAa6B,aAAa,UAAU,GAC7C5C,KAAKU,IAAIM,aAAa4B,aAAa,UAAU,IAG3CI,IAAWhD,KAAKU,IAAIQ,UACtBlB,KAAKU,IAAIQ,QAAQ2B,UAAUC,OAAO,aAClC9C,KAAKU,IAAIS,cAAcyB,aAAa,UAAU,S,8BA7KzBoB,aAkLZvD,a,mBCpLf,IAAIwD,EAAW,EAAQ,IACnBC,EAAuB,EAAQ,KAC/BC,EAA2B,EAAQ,KACnCC,EAAsB,EAAQ,EAAR,EAA8B,WAAcF,EAAqB,MAI3F,EAAQ,GAAR,CAA+B,CAC7BjB,OAAQ,SAAUoB,MAAM,EAAMC,OAAQF,EAAqBG,MAAOJ,GACjE,CACDK,eAAgB,SAAwBC,GACtC,OAAOP,EAAqBD,EAASQ,Q,mBCXzC,IAAIC,EAAS,EAAQ,KACjB5F,EAAY,EAAQ,GACpB6F,EAAW,EAAQ,GACnB5F,EAAW,EAAQ,GACnB6F,EAAQ,EAAQ,GAChB/E,EAAO,EAAQ,KACfgF,GAAmB,EAAQ,GAAuBC,SAAW,IAAI3F,UAMjE4F,EAAiBH,GAAM,WACzB,SAASI,KACT,QAASH,GAAgB,cAA6B,GAAIG,aAAcA,MAEtEC,GAAYL,GAAM,WACpBC,GAAgB,kBAEdK,EAASH,GAAkBE,EAE/B,EAAQ,GAAR,CAA+B,CAAEhC,OAAQ,UAAWoB,MAAM,EAAMC,OAAQY,EAAQX,KAAMW,GAAU,CAC9F/F,UAAW,SAAmBgG,EAAQ7F,GACpCR,EAAUqG,GACVR,EAASrF,GACT,IAAI8F,EAAYjF,UAAUG,OAAS,EAAI6E,EAASrG,EAAUqB,UAAU,IACpE,GAAI8E,IAAaF,EAAgB,OAAOF,EAAgBM,EAAQ7F,EAAM8F,GACtE,GAAID,GAAUC,EAAW,CAEvB,OAAQ9F,EAAKgB,QACX,KAAK,EAAG,OAAO,IAAI6E,EACnB,KAAK,EAAG,OAAO,IAAIA,EAAO7F,EAAK,IAC/B,KAAK,EAAG,OAAO,IAAI6F,EAAO7F,EAAK,GAAIA,EAAK,IACxC,KAAK,EAAG,OAAO,IAAI6F,EAAO7F,EAAK,GAAIA,EAAK,GAAIA,EAAK,IACjD,KAAK,EAAG,OAAO,IAAI6F,EAAO7F,EAAK,GAAIA,EAAK,GAAIA,EAAK,GAAIA,EAAK,IAG5D,IAAI+F,EAAQ,CAAC,MAEb,OADAA,EAAMC,KAAK/E,MAAM8E,EAAO/F,GACjB,IAAKO,EAAKU,MAAM4E,EAAQE,IAGjC,IAAIE,EAAQH,EAAU5E,UAClBgF,EAAWd,EAAO3F,EAASwG,GAASA,EAAQE,OAAOjF,WACnDkF,EAASjG,SAASc,MAAML,KAAKiF,EAAQK,EAAUlG,GACnD,OAAOP,EAAS2G,GAAUA,EAASF","file":"27.bundle.js","sourcesContent":["'use strict';\nvar aFunction = require('../internals/a-function');\nvar isObject = require('../internals/is-object');\nvar arraySlice = [].slice;\nvar factories = {};\n\nvar construct = function (C, argsLength, args) {\n if (!(argsLength in factories)) {\n for (var list = [], i = 0; i < argsLength; i++) list[i] = 'a[' + i + ']';\n // eslint-disable-next-line no-new-func\n factories[argsLength] = Function('C,a', 'return new C(' + list.join(',') + ')');\n } return factories[argsLength](C, args);\n};\n\n// `Function.prototype.bind` method implementation\n// https://tc39.github.io/ecma262/#sec-function.prototype.bind\nmodule.exports = Function.bind || function bind(that /* , ...args */) {\n var fn = aFunction(this);\n var partArgs = arraySlice.call(arguments, 1);\n var boundFunction = function bound(/* args... */) {\n var args = partArgs.concat(arraySlice.call(arguments));\n return this instanceof boundFunction ? construct(fn, args.length, args) : fn.apply(that, args);\n };\n if (isObject(fn.prototype)) boundFunction.prototype = fn.prototype;\n return boundFunction;\n};\n","import { Component } from '@verndale/core';\n\nclass MobileHeader extends Component {\n setupDefaults() {\n this.dom = {\n navBtn: this.el.querySelector('.mobile-header__menu-container button'),\n navOpenIcon: this.el.querySelector(\n '.mobile-header__menu-button__icon-open'\n ),\n navCloseIcon: this.el.querySelector(\n '.mobile-header__menu-button__icon-close'\n ),\n navContainer: this.el.querySelector('.mobile-header__nav-container'),\n searchContainer: this.el.querySelector(\n '.mobile-header__search-button .mobile-header__nav-container'\n ),\n cartBtn: this.el.querySelector('.mobile-header__cart-button button'),\n cartContainer: document.querySelector(\n '.cart__container'\n ),\n closeCartBtn: document.querySelector(\n '.cart__item__close-button'\n ),\n keepBrowsingBtn: document.querySelector('.cart__view-basket-button--keep-browsing'),\n subMenuBtns: this.el.querySelectorAll('.has-submenu'),\n mainMenu: this.el.querySelector('.mobile-header__nav__main-nav'),\n allSubMenus: this.el.querySelectorAll(\n '.mobile-header__nav__submenu-container'\n ),\n backBtns: this.el.querySelectorAll('.mobile-header__nav__back-button'),\n accordionBtns: this.el.querySelectorAll(\n '.mobile-header__nav__submenu-item__accordion-button'\n )\n };\n }\n\n addListeners() {\n const {\n navBtn,\n cartBtn,\n subMenuBtns,\n backBtns,\n accordionBtns,\n closeCartBtn,\n keepBrowsingBtn\n } = this.dom;\n\n navBtn.addEventListener('click', this.toggleNav.bind(this));\n cartBtn.addEventListener('click', this.toggleCart.bind(this));\n closeCartBtn.addEventListener('click', this.closeCartNav.bind(this));\n if (keepBrowsingBtn) {\n keepBrowsingBtn.addEventListener('click', this.closeCartNav.bind(this));\n }\n\n subMenuBtns.forEach(btn => {\n btn.addEventListener('click', this.toggleSubMenu.bind(this));\n });\n\n backBtns.forEach(btn => {\n btn.addEventListener('click', this.toggleBack.bind(this));\n });\n\n accordionBtns.forEach(btn => {\n btn.addEventListener('click', this.toggleAccordion.bind(this));\n });\n }\n\n lockBody() {\n document.body.style.overflow = 'hidden';\n document.body.style.position = 'fixed';\n document.body.style.overflowY = 'scroll';\n }\n\n unlockBody() {\n document.body.removeAttribute('style');\n }\n\n closeCartNav() {\n this.dom.cartContainer.setAttribute('hidden', true);\n this.dom.cartBtn.classList.remove('is-active');\n this.unlockBody();\n }\n\n toggleAccordion(el) {\n const button = el.target.closest('button');\n const ariaControls = button.getAttribute('aria-controls');\n const accordionContent = document.getElementById(ariaControls);\n const minusIcon = button.querySelector('.minus-icon');\n const plusIcon = button.querySelector('.plus-icon');\n\n if (accordionContent.hidden) {\n accordionContent.removeAttribute('hidden');\n minusIcon.removeAttribute('hidden');\n plusIcon.setAttribute('hidden', true);\n } else {\n accordionContent.setAttribute('hidden', true);\n minusIcon.setAttribute('hidden', true);\n plusIcon.removeAttribute('hidden');\n }\n }\n\n toggleBack(el) {\n const button = el.target.closest('button');\n const ariaControls = button.getAttribute('aria-controls');\n const subMenu = document.getElementById(ariaControls);\n\n this.hideAllMenus();\n if (subMenu.hidden) {\n subMenu.removeAttribute('hidden');\n } else {\n subMenu.setAttribute('hidden', true);\n }\n }\n\n toggleSubMenu(el) {\n const link = el.target.closest('a');\n const ariaControls = link.getAttribute('aria-controls');\n const subMenu = document.getElementById(ariaControls);\n\n this.hideAllMenus();\n if (subMenu.hidden) {\n subMenu.removeAttribute('hidden');\n } else {\n subMenu.setAttribute('hidden', true);\n }\n }\n\n hideAllMenus() {\n this.dom.mainMenu.setAttribute('hidden', true);\n this.dom.allSubMenus.forEach(menu => {\n menu.setAttribute('hidden', true);\n });\n }\n\n toggleNav(el) {\n const button = el.target.closest('button');\n this.hideMainNavs(button);\n this.dom.navBtn.classList.toggle('is-active');\n if (this.dom.navContainer.hidden) {\n this.dom.navOpenIcon.setAttribute('hidden', true);\n this.dom.navCloseIcon.removeAttribute('hidden');\n this.dom.navContainer.removeAttribute('hidden');\n this.lockBody();\n } else {\n this.dom.navOpenIcon.removeAttribute('hidden');\n this.dom.navCloseIcon.setAttribute('hidden', true);\n this.dom.navContainer.setAttribute('hidden', true);\n this.unlockBody();\n }\n }\n\n toggleCart(el) {\n const button = el.target.closest('button');\n this.hideMainNavs(button);\n this.dom.cartBtn.classList.toggle('is-active');\n if (this.dom.cartContainer.hidden) {\n this.dom.cartContainer.removeAttribute('hidden');\n this.lockBody();\n } else {\n this.dom.cartContainer.setAttribute('hidden', true);\n this.unlockBody();\n }\n }\n\n hideMainNavs(button) {\n // closing main nav\n if (button !== this.dom.navBtn) {\n this.dom.navBtn.classList.remove('is-active');\n this.dom.navOpenIcon.removeAttribute('hidden');\n this.dom.navCloseIcon.setAttribute('hidden', true);\n this.dom.navContainer.setAttribute('hidden', true);\n }\n // closing cart nav\n if (button !== this.dom.cartBtn) {\n this.dom.cartBtn.classList.remove('is-active');\n this.dom.cartContainer.setAttribute('hidden', true);\n }\n }\n}\n\nexport default MobileHeader;\n","var toObject = require('../internals/to-object');\nvar nativeGetPrototypeOf = require('../internals/object-get-prototype-of');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\nvar FAILS_ON_PRIMITIVES = require('../internals/fails')(function () { nativeGetPrototypeOf(1); });\n\n// `Object.getPrototypeOf` method\n// https://tc39.github.io/ecma262/#sec-object.getprototypeof\nrequire('../internals/export')({\n target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES, sham: !CORRECT_PROTOTYPE_GETTER\n}, {\n getPrototypeOf: function getPrototypeOf(it) {\n return nativeGetPrototypeOf(toObject(it));\n }\n});\n\n","var create = require('../internals/object-create');\nvar aFunction = require('../internals/a-function');\nvar anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar fails = require('../internals/fails');\nvar bind = require('../internals/function-bind');\nvar nativeConstruct = (require('../internals/global').Reflect || {}).construct;\n\n// `Reflect.construct` method\n// https://tc39.github.io/ecma262/#sec-reflect.construct\n// MS Edge supports only 2 arguments and argumentsList argument is optional\n// FF Nightly sets third argument as `new.target`, but does not create `this` from it\nvar NEW_TARGET_BUG = fails(function () {\n function F() { /* empty */ }\n return !(nativeConstruct(function () { /* empty */ }, [], F) instanceof F);\n});\nvar ARGS_BUG = !fails(function () {\n nativeConstruct(function () { /* empty */ });\n});\nvar FORCED = NEW_TARGET_BUG || ARGS_BUG;\n\nrequire('../internals/export')({ target: 'Reflect', stat: true, forced: FORCED, sham: FORCED }, {\n construct: function construct(Target, args /* , newTarget */) {\n aFunction(Target);\n anObject(args);\n var newTarget = arguments.length < 3 ? Target : aFunction(arguments[2]);\n if (ARGS_BUG && !NEW_TARGET_BUG) return nativeConstruct(Target, args, newTarget);\n if (Target == newTarget) {\n // w/o altered newTarget, optimization for 0-4 arguments\n switch (args.length) {\n case 0: return new Target();\n case 1: return new Target(args[0]);\n case 2: return new Target(args[0], args[1]);\n case 3: return new Target(args[0], args[1], args[2]);\n case 4: return new Target(args[0], args[1], args[2], args[3]);\n }\n // w/o altered newTarget, lot of arguments case\n var $args = [null];\n $args.push.apply($args, args);\n return new (bind.apply(Target, $args))();\n }\n // with altered newTarget, not support built-in constructors\n var proto = newTarget.prototype;\n var instance = create(isObject(proto) ? proto : Object.prototype);\n var result = Function.apply.call(Target, instance, args);\n return isObject(result) ? result : instance;\n }\n});\n"],"sourceRoot":""}