PageSourceSearch

https://www.newmarket.ca/themes/custom/newmarket/js/nav/mobile-menu-trigger/mobile-menu-trigger.min.js?v=2.x

js newmarket.ca collected 2026-10-02 04:56:56 UTC 7,383 bytes, 175 lines download raw bytes

1/******/ (function() { // webpackBootstrap
2/******/ 	"use strict";
3/******/ 	var __webpack_modules__ = ([
4/* 0 */,
5/* 1 */
6/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
7
8__webpack_require__.r(__webpack_exports__);
9/* harmony export */ __webpack_require__.d(__webpack_exports__, {
10/* harmony export */   rem: function() { return /* binding */ rem; },
11/* harmony export */   sliderStartingData: function() { return /* binding */ sliderStartingData; },
12/* harmony export */   toggleSlidesAttribute: function() { return /* binding */ toggleSlidesAttribute; },
13/* harmony export */   updateCurrentSlideNumber: function() { return /* binding */ updateCurrentSlideNumber; }
14/* harmony export */ });
15function rem(multiplier) {
16  var fontSize = parseInt(window.getComputedStyle(document.getElementsByTagName('html')[0])['fontSize']);
17  return multiplier ? parseInt(fontSize * multiplier) : fontSize;
18}
19function toggleSlidesAttribute(slider) {
20  var activeSlides = slider.querySelectorAll('.swiper-slide.swiper-slide-active');
21  var nonActiveSlides = slider.querySelectorAll('.swiper-slide:not(.swiper-slide-active)');
22  activeSlides.forEach(function (activeSlide) {
23    var slideLinks = activeSlide.querySelectorAll('a');
24    slideLinks.forEach(function (slideLink) {
25      return slideLink.removeAttribute('tabindex');
26    });
27    activeSlide.removeAttribute('tabindex');
28    activeSlide.removeAttribute('aria-hidden');
29  });
30  nonActiveSlides.forEach(function (nonActiveSlides) {
31    var slideLinks = nonActiveSlides.querySelectorAll('a');
32    slideLinks.forEach(function (slideLink) {
33      return slideLink.setAttribute('tabindex', -1);
34    });
35    nonActiveSlides.setAttribute('tabindex', -1);
36    nonActiveSlides.setAttribute('aria-hidden', true);
37  });
38}
39function updateCurrentSlideNumber(sliderControl, swiper) {
40  var currentAlertDiv = sliderControl.querySelector('.slider-controls__index .current');
41  currentAlertDiv.innerHTML = swiper !== null && swiper !== void 0 && swiper.realIndex ? (swiper === null || swiper === void 0 ? void 0 : swiper.realIndex) + 1 : 1;
42}
43function sliderStartingData(sliderControl, totalSlide) {
44  var totalAlertDiv = sliderControl.querySelector('.slider-controls__index .total');
45  totalAlertDiv.innerHTML = totalSlide;
46  sliderControl.classList.remove('slider-controls--hidden');
47}
48
49/***/ })
50/******/ 	]);
51/************************************************************************/
52/******/ 	// The module cache
53/******/ 	var __webpack_module_cache__ = {};
54/******/ 	
55/******/ 	// The require function
56/******/ 	function __webpack_require__(moduleId) {
57/******/ 		// Check if module is in cache
58/******/ 		var cachedModule = __webpack_module_cache__[moduleId];
59/******/ 		if (cachedModule !== undefined) {
60/******/ 			return cachedModule.exports;
61/******/ 		}
62/******/ 		// Create a new module (and put it into the cache)
63/******/ 		var module = __webpack_module_cache__[moduleId] = {
64/******/ 			// no module.id needed
65/******/ 			// no module.loaded needed
66/******/ 			exports: {}
67/******/ 		};
68/******/ 	
69/******/ 		// Execute the module function
70/******/ 		__webpack_modules__[moduleId](module, module.exports, __webpack_require__);
71/******/ 	
72/******/ 		// Return the exports of the module
73/******/ 		return module.exports;
74/******/ 	}
75/******/ 	
76/************************************************************************/
77/******/ 	/* webpack/runtime/define property getters */
78/******/ 	!function() {
79/******/ 		// define getter functions for harmony exports
80/******/ 		__webpack_require__.d = function(exports, definition) {
81/******/ 			for(var key in definition) {
82/******/ 				if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
83/******/ 					Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
84/******/ 				}
85/******/ 			}
86/******/ 		};
87/******/ 	}();
88/******/ 	
89/******/ 	/* webpack/runtime/hasOwnProperty shorthand */
90/******/ 	!function() {
91/******/ 		__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }
92/******/ 	}();
93/******/ 	
94/******/ 	/* webpack/runtime/make namespace object */
95/******/ 	!function() {
96/******/ 		// define __esModule on exports
97/******/ 		__webpack_require__.r = function(exports) {
98/******/ 			if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
99/******/ 				Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
100/******/ 			}
101/******/ 			Object.defineProperty(exports, '__esModule', { value: true });
102/******/ 		};
103/******/ 	}();
104/******/ 	
105/************************************************************************/
106var __webpack_exports__ = {};
107// This entry need to be wrapped in an IIFE because it need to be isolated against other modules in the chunk.
108!function() {
109__webpack_require__.r(__webpack_exports__);
110/* harmony import */ var _contrib_upanupbase_js_globals__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1);
111
112(function ($) {
113  function openActiveTrail() {
114    $('.nav--main .menu__item--active-trail').each(function () {
115      $(this).addClass('is-open');
116      var submenuTrigger = $(this).find('> .menu__item-link-wrapper > button');
117      submenuTrigger.attr('aria-expanded', true);
118      submenuTrigger.attr('aria-label', function (index, attr) {
119        if (attr) {
120          return attr.replace('Open the', 'Close the');
121        }
122      });
123    });
124  }
125  function closeActiveTrail() {
126    $('.nav--main .is-open').each(function () {
127      $(this).removeClass('is-open').find('> .menu__item-link-wrapper > button').attr('aria-expanded', false).attr('aria-label', function (index, attr) {
128        return attr.replace('Close the', 'Open the');
129      });
130    });
131  }
132  $(document).on('click', '.mobile-menu-trigger', function () {
133    var isExpanded = $(this).attr('aria-expanded') === 'true';
134    var mainMenu = $('#' + $(this).attr('aria-controls'));
135    $(this).attr({
136      'aria-expanded': !isExpanded,
137      'aria-label': isExpanded ? 'Show navigation menu' : 'Hide navigation menu'
138    }).text(isExpanded ? 'Menu' : 'Close');
139    mainMenu.toggle().attr('aria-hidden', isExpanded);
140    isExpanded ? closeActiveTrail() : openActiveTrail();
141  });
142  if (window.innerWidth <= (0,_contrib_upanupbase_js_globals__WEBPACK_IMPORTED_MODULE_0__.rem)(72)) {
143    openActiveTrail();
144  } else {
145    closeActiveTrail();
146  }
147  var resizeTimer;
148  function resizeFunction() {
149    var mainMenu = $('#main-menu');
150    var mainMenuTrigger = $('.mobile-menu-trigger');
151    var isExpanded = mainMenuTrigger.attr('aria-expanded') === 'true';
152    if (window.innerWidth > (0,_contrib_upanupbase_js_globals__WEBPACK_IMPORTED_MODULE_0__.rem)(72)) {
153      //$breakpoint--header
154      mainMenuTrigger.text('Menu').attr({
155        'aria-expanded': false,
156        'aria-label': 'Show navigation menu'
157      });
158      mainMenu.show().attr('style', '').attr('aria-hidden', false);
159      $('.mega-menu').removeClass('is-visible');
160      $('.menu__item-link-wrapper--level-0>button').attr('aria-expanded', 'false');
161      mainMenu.find('.submenu-trigger').attr('aria-expanded', 'false');
162    } else {
163      mainMenu.attr('aria-hidden', !isExpanded);
164    }
165  }
166  ;
167  $(window).on('load resize', function () {
168    clearTimeout(resizeTimer);
169    resizeTimer = setTimeout(resizeFunction, 250);
170  });
171  resizeFunction();
172})(jQuery);
173}();
174/******/ })()
175;

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.