{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/js/index.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","SelectHandler","_ref","_this","this","selectContainer","selectOptionsContainer","_classCallCheck","selectOptions","querySelectorAll","selectedOption","querySelector","hiddenSelect","toggleDropDown","closeDropDown","handleSelectedOption","addEventListener","document","body","forEach","el","evt","target","buttonContainer","parentNode","currentSelected","selectedValue","getAttribute","innerText","classList","remove","add","contains","PopupHandler","_ref2","_this2","modalContainer","popupOpeners","handlePopupOpen","handlePopupClose","currentPopupKey","currentTarget","currentModalClose","concat","currentModal","preventDefault","documentElement","_this3","removeEventListener","setTimeout","MobileMenu","_ref3","navItemsContainer","navBrandContainer","openElement","closeElement","setViewportWidth","expand","close","container","viewportWidth","clientWidth","isMobile","window","setAttribute","NodeList","Array"],"mappings":"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","file":"bundle.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\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\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 0);\n","import 'normalize.css';\n\nclass SelectHandler {\n constructor({ selectContainer, selectOptionsContainer }) {\n this.selectContainer = selectContainer;\n this.selectOptionsContainer = selectOptionsContainer;\n this.selectOptions = this.selectOptionsContainer.querySelectorAll(\n '.select-options__option button'\n );\n this.selectedOption = this.selectContainer.querySelector(\n 'button.selected-option'\n );\n this.hiddenSelect = this.selectContainer.querySelector('select.hidden');\n this.toggleDropDown = this.toggleDropDown.bind(this);\n this.closeDropDown = this.closeDropDown.bind(this);\n this.handleSelectedOption = this.handleSelectedOption.bind(this);\n\n if (this.selectContainer && this.selectOptionsContainer) {\n this.selectContainer.addEventListener('click', this.toggleDropDown);\n document.body.addEventListener('click', this.closeDropDown);\n this.selectOptions.forEach(el => {\n el.addEventListener('click', this.handleSelectedOption);\n });\n }\n }\n\n handleSelectedOption(evt) {\n const { target } = evt;\n\n const buttonContainer = target.parentNode;\n const currentSelected = this.selectContainer.querySelector(\n '.select-options__option.selected'\n );\n const selectedValue = target.getAttribute('data-value');\n\n this.selectedOption.innerText = selectedValue;\n\n this.selectContainer.classList.remove('show');\n buttonContainer.classList.add('selected');\n if (currentSelected) {\n currentSelected.classList.remove('selected');\n this.hiddenSelect.value = selectedValue;\n }\n }\n\n toggleDropDown(evt) {\n const { target } = evt;\n if (!this.selectOptionsContainer.contains(target)) {\n if (this.selectContainer.classList.contains('show')) {\n this.selectContainer.classList.remove('show');\n } else {\n this.selectContainer.classList.add('show');\n }\n }\n }\n\n closeDropDown(evt) {\n const { target } = evt;\n if (!this.selectContainer.contains(target)) {\n this.selectContainer.classList.remove('show');\n }\n }\n}\n\nclass PopupHandler {\n constructor({ modalContainer }) {\n this.modalContainer = modalContainer;\n this.popupOpeners = document.querySelectorAll('[data-open-popup]');\n this.handlePopupOpen = this.handlePopupOpen.bind(this);\n this.handlePopupClose = this.handlePopupClose.bind(this);\n this.currentPopupKey = null;\n this.popupOpeners.forEach(el => {\n el.addEventListener('click', this.handlePopupOpen);\n });\n }\n\n handlePopupOpen(evt) {\n const { currentTarget } = evt;\n\n this.currentPopupKey = currentTarget.getAttribute('data-open-popup');\n this.currentModalClose = document.querySelector(\n `[data-close-popup=${this.currentPopupKey}]`\n );\n this.currentModal = document.querySelector(\n `[data-popup-key=${this.currentPopupKey}]`\n );\n if (this.currentModal) {\n evt.preventDefault();\n this.modalContainer.classList.add('show');\n this.currentModal.classList.add('modal-active');\n this.currentModalClose.addEventListener('click', this.handlePopupClose);\n document.documentElement.classList.add('lock-scroll');\n }\n }\n\n handlePopupClose() {\n this.modalContainer.classList.remove('show');\n document.documentElement.classList.remove('lock-scroll');\n this.currentModalClose.removeEventListener('click', this.handlePopupClose);\n setTimeout(() => {\n this.currentModal.classList.remove('modal-active');\n }, 300);\n }\n}\n\nclass MobileMenu {\n constructor({\n navItemsContainer,\n navBrandContainer,\n openElement,\n closeElement\n }) {\n this.setViewportWidth = this.setViewportWidth.bind(this);\n this.expand = this.expand.bind(this);\n this.close = this.close.bind(this);\n this.container = navItemsContainer;\n this.navBrandContainer = navBrandContainer;\n this.openElement = openElement;\n this.closeElement = closeElement;\n\n this.viewportWidth = document.body.clientWidth;\n this.isMobile = this.viewportWidth < 992 ? true : false;\n if (this.openElement && this.closeElement) {\n this.openElement.addEventListener('click', this.expand);\n this.closeElement.addEventListener('click', this.close);\n window.addEventListener('resize', this.setViewportWidth);\n }\n }\n\n setViewportWidth() {\n this.viewportWidth = document.body.clientWidth;\n this.isMobile = this.viewportWidth < 992 ? true : false;\n if (\n this.isMobile == false &&\n this.container.getAttribute('data-expand') == 'true'\n ) {\n this.close();\n }\n }\n\n close() {\n this.container.setAttribute('data-expand', false);\n this.navBrandContainer.classList.remove('menu-expanded');\n document.documentElement.classList.remove('lock-scroll');\n }\n\n expand() {\n this.container.setAttribute('data-expand', true);\n this.navBrandContainer.classList.add('menu-expanded');\n document.documentElement.classList.add('lock-scroll');\n }\n}\n\nconst initializeScripts = () => {\n //IE 11 polyfill for forEach\n if (window.NodeList && !NodeList.prototype.forEach) {\n NodeList.prototype.forEach = Array.prototype.forEach;\n }\n const navItemsContainer = document.querySelector('.nav-main__items');\n const openElement = document.querySelector('.hamburger-button');\n const closeElement = document.querySelector('.dropdown-close');\n const navBrandContainer = document.querySelector('.nav-main__brand');\n if (navBrandContainer && closeElement && openElement && navItemsContainer) {\n new MobileMenu({\n navItemsContainer,\n navBrandContainer,\n openElement,\n closeElement\n });\n }\n\n const modalContainer = document.querySelector('.modal-container');\n if (modalContainer) {\n new PopupHandler({ modalContainer });\n }\n\n const selectContainer = document.querySelector('.select-caret');\n const selectOptionsContainer = document.querySelector('.select-options');\n if (selectContainer && selectOptionsContainer) {\n new SelectHandler({ selectContainer, selectOptionsContainer });\n }\n};\n\ndocument.addEventListener('DOMContentLoaded', initializeScripts);\n"],"sourceRoot":""}