PageSourceSearch

https://www.uberflip.com/wp-content/themes/uberflip/parts/components/header/index.min.js

js uberflip.com collected 2026-10-01 08:40:32 UTC 23,899 bytes, 149 lines download raw bytes

vendor: 3,653 bytes, lines 1-88
1/******/ (function(modules) { // webpackBootstrap
2/******/ 	// The module cache
3/******/ 	var installedModules = {};
4/******/
5/******/ 	// The require function
6/******/ 	function __webpack_require__(moduleId) {
7/******/
8/******/ 		// Check if module is in cache
9/******/ 		if(installedModules[moduleId]) {
10/******/ 			return installedModules[moduleId].exports;
11/******/ 		}
12/******/ 		// Create a new module (and put it into the cache)
13/******/ 		var module = installedModules[moduleId] = {
14/******/ 			i: moduleId,
15/******/ 			l: false,
16/******/ 			exports: {}
17/******/ 		};
18/******/
19/******/ 		// Execute the module function
20/******/ 		modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
21/******/
22/******/ 		// Flag the module as loaded
23/******/ 		module.l = true;
24/******/
25/******/ 		// Return the exports of the module
26/******/ 		return module.exports;
27/******/ 	}
28/******/
29/******/
30/******/ 	// expose the modules object (__webpack_modules__)
31/******/ 	__webpack_require__.m = modules;
32/******/
33/******/ 	// expose the module cache
34/******/ 	__webpack_require__.c = installedModules;
35/******/
36/******/ 	// define getter function for harmony exports
37/******/ 	__webpack_require__.d = function(exports, name, getter) {
38/******/ 		if(!__webpack_require__.o(exports, name)) {
39/******/ 			Object.defineProperty(exports, name, { enumerable: true, get: getter });
40/******/ 		}
41/******/ 	};
42/******/
43/******/ 	// define __esModule on exports
44/******/ 	__webpack_require__.r = function(exports) {
45/******/ 		if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
46/******/ 			Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
47/******/ 		}
48/******/ 		Object.defineProperty(exports, '__esModule', { value: true });
49/******/ 	};
50/******/
51/******/ 	// create a fake namespace object
52/******/ 	// mode & 1: value is a module id, require it
53/******/ 	// mode & 2: merge all properties of value into the ns
54/******/ 	// mode & 4: return value when already ns object
55/******/ 	// mode & 8|1: behave like require
56/******/ 	__webpack_require__.t = function(value, mode) {
57/******/ 		if(mode & 1) value = __webpack_require__(value);
58/******/ 		if(mode & 8) return value;
59/******/ 		if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
60/******/ 		var ns = Object.create(null);
61/******/ 		__webpack_require__.r(ns);
62/******/ 		Object.defineProperty(ns, 'default', { enumerable: true, value: value });
63/******/ 		if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
64/******/ 		return ns;
65/******/ 	};
66/******/
67/******/ 	// getDefaultExport function for compatibility with non-harmony modules
68/******/ 	__webpack_require__.n = function(module) {
69/******/ 		var getter = module && module.__esModule ?
70/******/ 			function getDefault() { return module['default']; } :
71/******/ 			function getModuleExports() { return module; };
72/******/ 		__webpack_require__.d(getter, 'a', getter);
73/******/ 		return getter;
74/******/ 	};
75/******/
76/******/ 	// Object.prototype.hasOwnProperty.call
77/******/ 	__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
78/******/
79/******/ 	// __webpack_public_path__
80/******/ 	__webpack_require__.p = "";
81/******/
82/******/
83/******/ 	// Load entry module and return exports
84/******/ 	return __webpack_require__(__webpack_require__.s = "./web/app/themes/uberflip/parts/components/header/index.js");
85/******/ })
86/************************************************************************/
87/******/ ({
88
vendor: 9,194 bytes, lines 89-100
89/***/ "./node_modules/body-scroll-lock/lib/bodyScrollLock.esm.js":
90/*!*****************************************************************!*\
91  !*** ./node_modules/body-scroll-lock/lib/bodyScrollLock.esm.js ***!
92  \*****************************************************************/
93/*! exports provided: disableBodyScroll, clearAllBodyScrollLocks, enableBodyScroll */
94/***/ (function(module, __webpack_exports__, __webpack_require__) {
95
96"use strict";
97eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"disableBodyScroll\", function() { return disableBodyScroll; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"clearAllBodyScrollLocks\", function() { return clearAllBodyScrollLocks; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"enableBodyScroll\", function() { return enableBodyScroll; });\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\n// Older browsers don't support event options, feature detect it.\n\n// Adopted and modified solution from Bohdan Didukh (2017)\n// https://stackoverflow.com/questions/41594997/ios-10-safari-prevent-scrolling-behind-a-fixed-overlay-and-maintain-scroll-posi\n\nvar hasPassiveEvents = false;\nif (typeof window !== 'undefined') {\n  var passiveTestOptions = {\n    get passive() {\n      hasPassiveEvents = true;\n      return undefined;\n    }\n  };\n  window.addEventListener('testPassive', null, passiveTestOptions);\n  window.removeEventListener('testPassive', null, passiveTestOptions);\n}\n\nvar isIosDevice = typeof window !== 'undefined' && window.navigator && window.navigator.platform && (/iP(ad|hone|od)/.test(window.navigator.platform) || window.navigator.platform === 'MacIntel' && window.navigator.maxTouchPoints > 1);\n\n\nvar locks = [];\nvar documentListenerAdded = false;\nvar initialClientY = -1;\nvar previousBodyOverflowSetting = void 0;\nvar previousBodyPaddingRight = void 0;\n\n// returns true if `el` should be allowed to receive touchmove events.\nvar allowTouchMove = function allowTouchMove(el) {\n  return locks.some(function (lock) {\n    if (lock.options.allowTouchMove && lock.options.allowTouchMove(el)) {\n      return true;\n    }\n\n    return false;\n  });\n};\n\nvar preventDefault = function preventDefault(rawEvent) {\n  var e = rawEvent || window.event;\n\n  // For the case whereby consumers adds a touchmove event listener to document.\n  // Recall that we do document.addEventListener('touchmove', preventDefault, { passive: false })\n  // in disableBodyScroll - so if we provide this opportunity to allowTouchMove, then\n  // the touchmove event on document will break.\n  if (allowTouchMove(e.target)) {\n    return true;\n  }\n\n  // Do not prevent if the event has more than one touch (usually meaning this is a multi touch gesture like pinch to zoom).\n  if (e.touches.length > 1) return true;\n\n  if (e.preventDefault) e.preventDefault();\n\n  return false;\n};\n\nvar setOverflowHidden = function setOverflowHidden(options) {\n  // Setting overflow on body/documentElement synchronously in Desktop Safari slows down\n  // the responsiveness for some reason. Setting within a setTimeout fixes this.\n  setTimeout(function () {\n    // If previousBodyPaddingRight is already set, don't set it again.\n    if (previousBodyPaddingRight === undefined) {\n      var _reserveScrollBarGap = !!options && options.reserveScrollBarGap === true;\n      var scrollBarGap = window.innerWidth - document.documentElement.clientWidth;\n\n      if (_reserveScrollBarGap && scrollBarGap > 0) {\n        previousBodyPaddingRight = document.body.style.paddingRight;\n        document.body.style.paddingRight = scrollBarGap + 'px';\n      }\n    }\n\n    // If previousBodyOverflowSetting is already set, don't set it again.\n    if (previousBodyOverflowSetting === undefined) {\n      previousBodyOverflowSetting = document.body.style.overflow;\n      document.body.style.overflow = 'hidden';\n    }\n  });\n};\n\nvar restoreOverflowSetting = function restoreOverflowSetting() {\n  // Setting overflow on body/documentElement synchronously in Desktop Safari slows down\n  // the responsiveness for some reason. Setting within a setTimeout fixes this.\n  setTimeout(function () {\n    if (previousBodyPaddingRight !== undefined) {\n      document.body.style.paddingRight = previousBodyPaddingRight;\n\n      // Restore previousBodyPaddingRight to undefined so setOverflowHidden knows it\n      // can be set again.\n      previousBodyPaddingRight = undefined;\n    }\n\n    if (previousBodyOverflowSetting !== undefined) {\n      document.body.style.overflow = previousBodyOverflowSetting;\n\n      // Restore previousBodyOverflowSetting to undefined\n      // so setOverflowHidden knows it can be set again.\n      previousBodyOverflowSetting = undefined;\n    }\n  });\n};\n\n// https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollHeight#Problems_and_solutions\nvar isTargetElementTotallyScrolled = function isTargetElementTotallyScrolled(targetElement) {\n  return targetElement ? targetElement.scrollHeight - targetElement.scrollTop <= targetElement.clientHeight : false;\n};\n\nvar handleScroll = function handleScroll(event, targetElement) {\n  var clientY = event.targetTouches[0].clientY - initialClientY;\n\n  if (allowTouchMove(event.target)) {\n    return false;\n  }\n\n  if (targetElement && targetElement.scrollTop === 0 && clientY > 0) {\n    // element is at the top of its scroll.\n    return preventDefault(event);\n  }\n\n  if (isTargetElementTotallyScrolled(targetElement) && clientY < 0) {\n    // element is at the bottom of its scroll.\n    return preventDefault(event);\n  }\n\n  event.stopPropagation();\n  return true;\n};\n\nvar disableBodyScroll = function disableBodyScroll(targetElement, options) {\n  if (isIosDevice) {\n    // targetElement must be provided, and disableBodyScroll must not have been\n    // called on this targetElement before.\n    if (!targetElement) {\n      // eslint-disable-next-line no-console\n      console.error('disableBodyScroll unsuccessful - targetElement must be provided when calling disableBodyScroll on IOS devices.');\n      return;\n    }\n\n    if (targetElement && !locks.some(function (lock) {\n      return lock.targetElement === targetElement;\n    })) {\n      var lock = {\n        targetElement: targetElement,\n        options: options || {}\n      };\n\n      locks = [].concat(_toConsumableArray(locks), [lock]);\n\n      targetElement.ontouchstart = function (event) {\n        if (event.targetTouches.length === 1) {\n          // detect single touch.\n          initialClientY = event.targetTouches[0].clientY;\n        }\n      };\n      targetElement.ontouchmove = function (event) {\n        if (event.targetTouches.length === 1) {\n          // detect single touch.\n          handleScroll(event, targetElement);\n        }\n      };\n\n      if (!documentListenerAdded) {\n        document.addEventListener('touchmove', preventDefault, hasPassiveEvents ? { passive: false } : undefined);\n        documentListenerAdded = true;\n      }\n    }\n  } else {\n    setOverflowHidden(options);\n    var _lock = {\n      targetElement: targetElement,\n      options: options || {}\n    };\n\n    locks = [].concat(_toConsumableArray(locks), [_lock]);\n  }\n};\n\nvar clearAllBodyScrollLocks = function clearAllBodyScrollLocks() {\n  if (isIosDevice) {\n    // Clear all locks ontouchstart/ontouchmove handlers, and the references.\n    locks.forEach(function (lock) {\n      lock.targetElement.ontouchstart = null;\n      lock.targetElement.ontouchmove = null;\n    });\n\n    if (documentListenerAdded) {\n      document.removeEventListener('touchmove', preventDefault, hasPassiveEvents ? { passive: false } : undefined);\n      documentListenerAdded = false;\n    }\n\n    locks = [];\n\n    // Reset initial clientY.\n    initialClientY = -1;\n  } else {\n    restoreOverflowSetting();\n    locks = [];\n  }\n};\n\nvar enableBodyScroll = function enableBodyScroll(targetElement) {\n  if (isIosDevice) {\n    if (!targetElement) {\n      // eslint-disable-next-line no-console\n      console.error('enableBodyScroll unsuccessful - targetElement must be provided when calling enableBodyScroll on IOS devices.');\n      return;\n    }\n\n    targetElement.ontouchstart = null;\n    targetElement.ontouchmove = null;\n\n    locks = locks.filter(function (lock) {\n      return lock.targetElement !== targetElement;\n    });\n\n    if (documentListenerAdded && locks.length === 0) {\n      document.removeEventListener('touchmove', preventDefault, hasPassiveEvents ? { passive: false } : undefined);\n\n      documentListenerAdded = false;\n    }\n  } else {\n    locks = locks.filter(function (lock) {\n      return lock.targetElement !== targetElement;\n    });\n    if (!locks.length) {\n      restoreOverflowSetting();\n    }\n  }\n};\n\n\n\n//# sourceURL=webpack:///./node_modules/body-scroll-lock/lib/bodyScrollLock.esm.js?");
98
99/***/ }),
100
101/***/ "./web/app/themes/uberflip/js/app/__constants/animate-items.js":
102/*!*********************************************************************!*\
103  !*** ./web/app/themes/uberflip/js/app/__constants/animate-items.js ***!
104  \*********************************************************************/
105/*! exports provided: animateItems */
106/***/ (function(module, __webpack_exports__, __webpack_require__) {
107
108"use strict";
109eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"animateItems\", function() { return animateItems; });\nconst animateItems = () => {\n  const SELECTOR = '.to-animate, .block-logos__body';\n  const ANIMATE_CLASS_NAME = 'animate';\n\n  const animate = element => element.classList.add(ANIMATE_CLASS_NAME);\n\n  const isAnimated = element => element.classList.contains(ANIMATE_CLASS_NAME);\n\n  const intersectionObserver = new IntersectionObserver((entries, observer) => {\n    entries.forEach(entry => {\n      // when element's is in viewport,\n      // animate it!\n      if (entry.intersectionRatio > 0) {\n        animate(entry.target);\n      } // remove observer after animation\n\n\n      observer.unobserve(entry.target);\n    });\n  }); // get only these elements,\n  // which are not animated yet\n\n  const elements = [].filter.call(document.querySelectorAll(SELECTOR), element => !isAnimated(element, ANIMATE_CLASS_NAME)); // start observing your elements\n\n  elements.forEach(element => intersectionObserver.observe(element));\n};\n\n\n\n//# sourceURL=webpack:///./web/app/themes/uberflip/js/app/__constants/animate-items.js?");
110
111/***/ }),
112
113/***/ "./web/app/themes/uberflip/parts/components/header/index.js":
114/*!******************************************************************!*\
115  !*** ./web/app/themes/uberflip/parts/components/header/index.js ***!
116  \******************************************************************/
117/*! no exports provided */
118/***/ (function(module, __webpack_exports__, __webpack_require__) {
119
120"use strict";
121eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var body_scroll_lock__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! body-scroll-lock */ \"./node_modules/body-scroll-lock/lib/bodyScrollLock.esm.js\");\n/* harmony import */ var _scripts_MegaMenu__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./scripts/MegaMenu */ \"./web/app/themes/uberflip/parts/components/header/scripts/MegaMenu.js\");\n/* harmony import */ var _scripts_mobile_menu__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./scripts/mobile-menu */ \"./web/app/themes/uberflip/parts/components/header/scripts/mobile-menu.js\");\n/* harmony import */ var _js_app_constants_animate_items__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../js/app/__constants/animate-items */ \"./web/app/themes/uberflip/js/app/__constants/animate-items.js\");\n\n\n\n\nconst $ = jQuery.noConflict();\nconst hamburger = document.querySelector('.hamburger-trigger');\nconst header = document.querySelector('.main-header');\nconst page = document.querySelector('.page-content');\nconst media = window.matchMedia('screen and (max-width: 991px)');\nconst wrapper = document.querySelector('.main-header__mobile');\nconst wrapperNode = document.querySelector('.main-header__mobile');\n\nconst closeMenu = el => {\n  el.classList.remove('open');\n  wrapper.classList.remove('active');\n  Object(body_scroll_lock__WEBPACK_IMPORTED_MODULE_0__[\"enableBodyScroll\"])(wrapperNode);\n};\n\nconst handleMenu = e => {\n  e.preventDefault();\n  const el = hamburger;\n\n  if (el.classList.contains('open')) {\n    closeMenu(el);\n  } else {\n    el.classList.add('open');\n    wrapper.classList.add('active'); //$(wrapper).find('.').removeClass('');\n\n    Object(body_scroll_lock__WEBPACK_IMPORTED_MODULE_0__[\"disableBodyScroll\"])(wrapperNode);\n    setTimeout(() => {\n      Object(_js_app_constants_animate_items__WEBPACK_IMPORTED_MODULE_3__[\"animateItems\"])();\n    }, 400);\n  }\n};\n\nconst setPageOffset = () => {\n  const height = header.offsetHeight;\n  page.style.marginTop = `${height}px`;\n};\n\nconst setMenuHeight = () => {\n  const height = header.offsetHeight;\n  const windowHeight = window.screen.height;\n  const totalHeight = windowHeight - height;\n\n  if (media.matches) {\n    $(wrapper).height(totalHeight);\n  } else {\n    $(wrapper).height('');\n  }\n};\n\nconst initMenu = () => {\n  setPageOffset();\n  setMenuHeight();\n  hamburger.addEventListener('click', handleMenu);\n  Object(_scripts_mobile_menu__WEBPACK_IMPORTED_MODULE_2__[\"default\"])();\n  window.addEventListener('resize', () => {\n    setPageOffset();\n    setMenuHeight();\n\n    if (!media.matches && wrapper.classList.contains('active')) {\n      closeMenu(hamburger);\n    }\n  });\n};\n\ninitMenu();\n_scripts_MegaMenu__WEBPACK_IMPORTED_MODULE_1__[\"default\"].init();\n\n//# sourceURL=webpack:///./web/app/themes/uberflip/parts/components/header/index.js?");
122
123/***/ }),
124
125/***/ "./web/app/themes/uberflip/parts/components/header/scripts/MegaMenu.js":
126/*!*****************************************************************************!*\
127  !*** ./web/app/themes/uberflip/parts/components/header/scripts/MegaMenu.js ***!
128  \*****************************************************************************/
129/*! exports provided: default */
130/***/ (function(module, __webpack_exports__, __webpack_require__) {
131
132"use strict";
133eval("__webpack_require__.r(__webpack_exports__);\nconst $ = jQuery.noConflict();\n\nfunction isTouchDevice() {\n  return 'ontouchstart' in window || navigator.msMaxTouchPoints;\n}\n\nclass MegaMenu {\n  constructor() {\n    this.menu = $('.main-header__nav');\n    this.menuItems = this.menu.find('> .menu > .menu-item-type-post_type');\n    this.menuItemsLinks = this.menuItems.find('> a');\n  }\n\n  static showMegaMenu() {\n    const megaMenuWrapper = $(this).find('.mega-menu-wrapper');\n    const megaMenuCols = megaMenuWrapper.find('[class*=\"col-\"]');\n    const timer = $('.main-header .mega-menu-background').height() !== 0 ? 0 : 250;\n    MegaMenu.menuTimeout = setTimeout(() => {\n      megaMenuCols.each((i, v) => {\n        MegaMenu.animateItemsIn($(v).find('a, .mega-menu__image'));\n      });\n      megaMenuWrapper.addClass('active');\n      megaMenuWrapper.prev().addClass('active');\n      MegaMenu.animateMenuBackground(megaMenuWrapper.outerHeight());\n    }, timer);\n  }\n\n  static hideMegaMenu() {\n    clearTimeout(MegaMenu.menuTimeout);\n    const activeMegaMenu = $('.mega-menu-wrapper.active');\n    const activeMegaMenuItems = activeMegaMenu.find('a, .mega-menu__image');\n    activeMegaMenu.removeClass('active');\n    activeMegaMenu.prev().removeClass('active');\n    activeMegaMenuItems.removeClass('active');\n    MegaMenu.animateMenuBackground(0);\n  }\n\n  static hideMegaMenuOnTouch(e) {\n    const container = $('.main-header__nav');\n\n    if (!container.is(e.target) && container.has(e.target).length === 0 && $('.mega-menu-wrapper').hasClass('active')) {\n      MegaMenu.hideMegaMenu();\n    }\n  }\n\n  static animateItemsIn(items) {\n    let delay = 0.3;\n    items.each((i, v) => {\n      delay += 0.04;\n      $(v).css('transition-delay', `${delay}s`);\n      $(v).addClass('active');\n    });\n  }\n\n  static animateMenuBackground(height) {\n    $('.main-header .mega-menu-background').stop().animate({\n      height: `${height}px`\n    }, 300);\n  }\n\n  bindEvents() {\n    this.menuItems.on('mouseenter', MegaMenu.showMegaMenu);\n    this.menuItems.on('mouseleave', MegaMenu.hideMegaMenu);\n  }\n\n  toggleMegaMenu(e) {\n    if (window.matchMedia('screen and (max-width: 991px)').matches) {\n      return;\n    }\n\n    e.preventDefault();\n    const megaMenuWrapper = $(this).next('.mega-menu-wrapper');\n    const megaMenuCols = megaMenuWrapper.find('[class*=\"col-\"]');\n\n    if (megaMenuWrapper.hasClass('active')) {\n      return;\n    }\n\n    MegaMenu.hideMegaMenu();\n    megaMenuCols.each((i, v) => {\n      MegaMenu.animateItemsIn($(v).find('*'));\n    });\n    megaMenuWrapper.addClass('active');\n    MegaMenu.animateMenuBackground(megaMenuWrapper.outerHeight());\n  }\n\n  init() {\n    this.bindEvents();\n  }\n\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (new MegaMenu());\n\n//# sourceURL=webpack:///./web/app/themes/uberflip/parts/components/header/scripts/MegaMenu.js?");
134
135/***/ }),
136
137/***/ "./web/app/themes/uberflip/parts/components/header/scripts/mobile-menu.js":
138/*!********************************************************************************!*\
139  !*** ./web/app/themes/uberflip/parts/components/header/scripts/mobile-menu.js ***!
140  \********************************************************************************/
141/*! exports provided: default */
142/***/ (function(module, __webpack_exports__, __webpack_require__) {
143
144"use strict";
145eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var body_scroll_lock__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! body-scroll-lock */ \"./node_modules/body-scroll-lock/lib/bodyScrollLock.esm.js\");\n\nconst $ = jQuery.noConflict();\nconst wrapper = $('.main-header__mobile');\nconst headerHeight = $('.main-header').outerHeight();\nconst backHeight = $('.mobile-menu__back').outerHeight(true);\nconst mobileContainer = $('.mobile-menu__container');\nconst wrapperNode = document.querySelector('.main-header__mobile');\n\nconst setMobileMenuHeight = () => {\n  const windowHeight = window.screen.height;\n  const totalHeight = windowHeight - headerHeight - backHeight;\n  $('.mobile-menu__wrapper.active .mobile-menu__container').height(totalHeight);\n};\n\nfunction degradeLevel(e) {\n  e.preventDefault();\n  const el = $(this);\n  wrapper.removeClass('first-step');\n  mobileContainer.height('');\n  Object(body_scroll_lock__WEBPACK_IMPORTED_MODULE_0__[\"clearAllBodyScrollLocks\"])();\n  Object(body_scroll_lock__WEBPACK_IMPORTED_MODULE_0__[\"disableBodyScroll\"])(wrapperNode);\n  setTimeout(() => {\n    el.parent().removeClass('active');\n  }, 300);\n}\n\nfunction changeLevel(e) {\n  e.preventDefault();\n  const el = $(this);\n  const next = el.siblings('.mobile-menu__wrapper');\n  next.addClass('active'); //next.find('.').removeClass('');\n\n  wrapper.addClass('first-step');\n  setMobileMenuHeight();\n  Object(body_scroll_lock__WEBPACK_IMPORTED_MODULE_0__[\"clearAllBodyScrollLocks\"])();\n  Object(body_scroll_lock__WEBPACK_IMPORTED_MODULE_0__[\"disableBodyScroll\"])($('.mobile-menu__wrapper.active .mobile-menu__container')[0]);\n}\n\nconst initMobileLevels = () => {\n  $('.main-header__mobile .menu-item-object-ccs_custom_menu_item > button').on('click', changeLevel);\n  $('.mobile-menu__back').on('click', degradeLevel);\n  window.addEventListener('resize', () => {\n    setMobileMenuHeight();\n  });\n};\n\n/* harmony default export */ __webpack_exports__[\"default\"] = (initMobileLevels);\n\n//# sourceURL=webpack:///./web/app/themes/uberflip/parts/components/header/scripts/mobile-menu.js?"
vendor: 26 bytes, lines 145-149
145);
146
147/***/ })
148
149/******/ });

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.