{"version":3,"file":"301.2ade43a8ba31b789fc2f.js","mappings":"sKAEO,MAAMA,EACXC,YAAaC,EAAUC,EAAWC,GAChCC,KAAKH,UAAW,QAAO,CACrBI,wBAAyB,GACxBJ,GAEHG,KAAKF,WAAY,QAAO,CACtBI,KAAM,QACNC,MAAO,eACPC,aAAc,8BACdC,MAAO,uBACNP,GAEHE,KAAKD,SAAU,QAAO,CACpBO,OAAQ,aACRC,KAAM,WACNC,OAAQ,aACRC,SAAU,6BACTV,GAEHC,KAAKU,OAAQ,IAAAC,GAAEX,KAAKF,UAAUI,MAC9BF,KAAKY,aAAc,IAAAD,GAAEX,KAAKF,UAAUK,OACpCH,KAAKa,QAAS,IAAAC,IAAGd,KAAKF,UAAUO,MAClC,CAEAU,OACEf,KAAKgB,SACLhB,KAAKiB,oBACLjB,KAAKkB,eACP,CAEAF,SACE,MAAMZ,GAAe,IAAAO,GAAEX,KAAKF,UAAUM,eAEtC,QAASA,EAAc,SAAS,KAC1BJ,KAAKY,YAAYO,UAAUC,SAASpB,KAAKD,QAAQQ,MACnDP,KAAKK,QAELL,KAAKO,MACP,IAGFP,KAAKa,OAAOQ,SAAShB,KACnB,QAASA,EAAO,SAAS,KACvBL,KAAKK,QAELD,EAAae,UAAUG,OAAOtB,KAAKD,QAAQS,OAAM,GAClD,KAGH,QAASe,OAAQ,UAAU,KACzBvB,KAAKiB,oBACLjB,KAAKkB,eAAc,KAGrB,QAASK,OAAQ,UAAU,KACzBvB,KAAKkB,eAAc,GAEvB,CAEAD,oBACEjB,KAAKU,MAAMS,UAAUG,OAAOtB,KAAKD,QAAQO,QACzCN,KAAKY,YAAYY,QAAQC,eAAiBzB,KAAKY,YAAYc,wBAAwBC,MACrF,CAEAT,gBACE,MAAMO,EAAiBzB,KAAKH,SAASI,yBAA2BD,KAAKY,YAAYY,QAAQC,eAErFF,OAAOK,YAAcH,EACvBzB,KAAKU,MAAMS,UAAUU,IAAI7B,KAAKD,QAAQO,QAEtCN,KAAKU,MAAMS,UAAUG,OAAOtB,KAAKD,QAAQO,OAE7C,CAEAC,OACEP,KAAKY,YAAYO,UAAUU,IAAI7B,KAAKD,QAAQQ,MAC5CP,KAAKU,MAAMS,UAAUU,IAAI7B,KAAKD,QAAQU,SACxC,CAEAJ,QACEL,KAAKY,YAAYO,UAAUG,OAAOtB,KAAKD,QAAQQ,MAC/CP,KAAKU,MAAMS,UAAUG,OAAOtB,KAAKD,QAAQU,SAC3C,EAGF,S","sources":["webpack://drausbuettel/./JavaScript/Components/PageHeader.js"],"sourcesContent":["import { extend, $, $$, addEvent } from './HelperFunctions'\n\nexport class PageHeader {\n constructor (settings, selectors, classes) {\n this.settings = extend({\n ScrollPositionForSticky: 0\n }, settings)\n\n this.selectors = extend({\n page: '.page',\n block: '.page-header',\n buttonBurger: '.page-header .button-burger',\n close: '.page-header__close'\n }, selectors)\n\n this.classes = extend({\n sticky: 'is--sticky',\n open: 'is--open',\n active: 'is--active',\n pageBlur: 'page--blur-content-footer'\n }, classes)\n\n this.$page = $(this.selectors.page)\n this.$pageHeader = $(this.selectors.block)\n this.$close = $$(this.selectors.close)\n }\n\n init () {\n this.events()\n this.setStickyPosition()\n this.checkIfSticky()\n }\n\n events () {\n const buttonBurger = $(this.selectors.buttonBurger)\n\n addEvent(buttonBurger, 'click', () => {\n if (this.$pageHeader.classList.contains(this.classes.open)) {\n this.close()\n } else {\n this.open()\n }\n })\n\n this.$close.forEach((close) => {\n addEvent(close, 'click', () => {\n this.close()\n\n buttonBurger.classList.remove(this.classes.active)\n })\n })\n\n addEvent(window, 'resize', () => {\n this.setStickyPosition()\n this.checkIfSticky()\n })\n\n addEvent(window, 'scroll', () => {\n this.checkIfSticky()\n })\n }\n\n setStickyPosition () {\n this.$page.classList.remove(this.classes.sticky)\n this.$pageHeader.dataset.stickyPosition = this.$pageHeader.getBoundingClientRect().height\n }\n\n checkIfSticky () {\n const stickyPosition = this.settings.ScrollPositionForSticky || this.$pageHeader.dataset.stickyPosition\n\n if (window.pageYOffset > stickyPosition) {\n this.$page.classList.add(this.classes.sticky)\n } else {\n this.$page.classList.remove(this.classes.sticky)\n }\n }\n\n open () {\n this.$pageHeader.classList.add(this.classes.open)\n this.$page.classList.add(this.classes.pageBlur)\n }\n\n close () {\n this.$pageHeader.classList.remove(this.classes.open)\n this.$page.classList.remove(this.classes.pageBlur)\n }\n}\n\nexport default PageHeader\n"],"names":["PageHeader","constructor","settings","selectors","classes","this","ScrollPositionForSticky","page","block","buttonBurger","close","sticky","open","active","pageBlur","$page","$","$pageHeader","$close","$$","init","events","setStickyPosition","checkIfSticky","classList","contains","forEach","remove","window","dataset","stickyPosition","getBoundingClientRect","height","pageYOffset","add"],"sourceRoot":""}