vendor: 3,656 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 = "./app_custom_ruinart/cartridge/client/default/js/storePage.js"); 85/******/ }) 86/************************************************************************/ 87/******/ ({ 88
89/***/ "../storefront-reference-architecture/cartridges/app_storefront_base/cartridge/client/default/js/util.js": 90/*!***************************************************************************************************************!*\ 91 !*** ../storefront-reference-architecture/cartridges/app_storefront_base/cartridge/client/default/js/util.js ***! 92 \***************************************************************************************************************/ 93/*! no static exports found */ 94/***/ (function(module, exports, __webpack_require__) { 95 96"use strict"; 97 98 99function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } 100module.exports = function (include) { 101 if (typeof include === 'function') { 102 include(); 103 } else if (_typeof(include) === 'object') { 104 Object.keys(include).forEach(function (key) { 105 if (typeof include[key] === 'function') { 106 include[key](); 107 } 108 }); 109 } 110}; 111 112/***/ }), 113
114/***/ "./app_core_mh/cartridge/client/default/js/components/contentTilesCarousel.js": 115/*!************************************************************************************!*\ 116 !*** ./app_core_mh/cartridge/client/default/js/components/contentTilesCarousel.js ***! 117 \************************************************************************************/ 118/*! exports provided: initContentTileCarousel, initFirstContentCarousel */ 119/***/ (function(module, __webpack_exports__, __webpack_require__) { 120 121"use strict"; 122__webpack_require__.r(__webpack_exports__); 123/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "initContentTileCarousel", function() { return initContentTileCarousel; }); 124/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "initFirstContentCarousel", function() { return initFirstContentCarousel; }); 125/* harmony import */ var _einsteinUtils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./einsteinUtils */ "./app_core_mh/cartridge/client/default/js/components/einsteinUtils.js"); 126 127 128/** 129 * Init carousel for content tiles 130 */ 131var initCarousel = function initCarousel(carousel) { 132 if (carousel && carousel.length) { 133 carousel.each(function () { 134 var $this = $(this); 135 var slidesSm = $this.data("slides-small"); 136 var slidesMd = $this.data("slides-medium"); 137 var slidesLg = $this.data("slides-large"); 138 var slidesArrows = $this.data("slides-arrows"); 139 var slidesDots = $this.data("slides-dots"); 140 $this.slick({ 141 prevArrow: "<button type='button' class='slick-prev slick-arrow-border slick-prev-out' aria-label='Previous'></button>", 142 nextArrow: "<button type='button' class='slick-next slick-arrow-border slick-next-out' aria-label='Next'></button>", 143 "slidesToShow": slidesSm, 144 pauseOnFocus: false, 145 mobileFirst: true, 146 adaptiveHeight: true, 147 arrows: false, 148 dots: true, 149 responsive: [{ 150 breakpoint: 544, 151 settings: { 152 slidesToShow: slidesMd 153 } 154 }, { 155 breakpoint: 769, 156 settings: { 157 slidesToShow: slidesLg, 158 arrows: slidesArrows, 159 dots: slidesDots 160 } 161 }] 162 }); 163 164 // Remove empty containers for offline products 165 if ($this.hasClass("carousel-product")) { 166 var $removeSlides = $this.find(".js-remove-slide"); 167 if ($removeSlides.length > 0) { 168 $removeSlides.parents(".slide-wrapper").each(function () { 169 var index = $(this).parents(".slick-slide").data("slick-index"); 170 $this.slick("slickRemove", index); 171 }); 172 } 173 } 174 }); 175 } 176}; 177 178/** 179 * Clear the form errors. 180 * @param {string} parentSelector - the parent form selector. 181 */ 182var initFirstCarousel = function initFirstCarousel() { 183 var $carouselWrapper = $(".tab-carousel-wrapper"); 184 $carouselWrapper.each(function () { 185 var $this = $(this); 186 var $contentSlider = $this.find(".js-content-tiles-carousel").first(); 187 if ($contentSlider.length) { 188 var $layoutContainer = $contentSlider.parent(); 189 var einsteinRecommender = $layoutContainer.attr("data-einstein-recommender"); 190 if (einsteinRecommender) { 191 Object(_einsteinUtils__WEBPACK_IMPORTED_MODULE_0__["loadRecommendations"])($layoutContainer, einsteinRecommender, initCarousel); 192 } else { 193 initCarousel($contentSlider); 194 } 195 } 196 }); 197}; 198var initContentTileCarousel = initCarousel; 199var initFirstContentCarousel = initFirstCarousel; 200 201/***/ }), 202
203/***/ "./app_core_mh/cartridge/client/default/js/components/einsteinUtils.js": 204/*!*****************************************************************************!*\ 205 !*** ./app_core_mh/cartridge/client/default/js/components/einsteinUtils.js ***! 206 \*****************************************************************************/ 207/*! exports provided: loadRecommendations */ 208/***/ (function(module, __webpack_exports__, __webpack_require__) { 209 210"use strict"; 211__webpack_require__.r(__webpack_exports__); 212/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "loadRecommendations", function() { return loadRecommendations; }); 213/** 214* Retrieves the EinsteinUtils object from the window 215* @returns {object} - the EinsteinUtils object or null if not found 216*/ 217function getEinsteinUtils() { 218 var einsteinUtils = window.CQuotient; 219 if (einsteinUtils && typeof einsteinUtils.getCQUserId === "function" && typeof einsteinUtils.getCQCookieId === "function") { 220 return einsteinUtils; 221 } 222 return null; 223} 224 225/** 226* Creates a product anchor based on the given layout container 227* @param {object} $layoutContainer - jQuery object of the layout container 228* @returns {object} - an array of objects containing product id, sku, type and alt_id 229*/ 230function createProductAnchor($layoutContainer) { 231 return [{ 232 id: $layoutContainer.attr("data-einstein-primary-product-id"), 233 sku: $layoutContainer.attr("data-einstein-secondary-product-id"), 234 type: $layoutContainer.attr("data-einstein-alternative-group-type"), 235 alt_id: $layoutContainer.attr("data-einstein-alternative-group-id") 236 }]; 237} 238 239/** 240* Fills the DOM element with the recommended products 241* @param {object} einsteinResponse - response from the Einstein API 242* @param {object} $layoutContainer - the jQuery object of the layout container 243* @param {string} einsteinRecommender - the name of the Einstein recommender 244* @param {function} initCarousel - the carousel initialization function 245*/ 246function fillDomElement(einsteinResponse, $layoutContainer, einsteinRecommender, initCarousel) { 247 var recommendedProducts = einsteinResponse[einsteinRecommender].recs; 248 if (recommendedProducts && recommendedProducts.length > 0) { 249 var template = $layoutContainer.attr("data-einstein-tile-template"); 250 var loadUrl = $layoutContainer.attr("data-einstein-product-load-url"); 251 var url = new URL(loadUrl); 252 var components = []; 253 components = recommendedProducts.map(function (recommendedProduct) { 254 return { 255 template: template, 256 model: { 257 type: "product", 258 id: recommendedProduct.id 259 } 260 }; 261 }); 262 url.searchParams.append("components", JSON.stringify(components)); 263 $.ajax({ 264 url: url.href, 265 type: "get", 266 dataType: "html", 267 success: function success(html) { 268 var $contentTilesCarousel = $layoutContainer.find(".js-content-tiles-carousel"); 269 $contentTilesCarousel.addClass("sliders-count-".concat(components.length)); 270 $contentTilesCarousel.html(html); 271 $contentTilesCarousel.find(".product-tile").wrap("<div class='slide-wrapper'></div>"); 272 initCarousel($contentTilesCarousel); 273 } 274 }); 275 } 276} 277 278/** 279* Loads recommendations from Einstein 280* @param {object} $layoutContainer - DOM element to be filled with recommendations 281* @param {string} einsteinRecommender - name of the recommender 282* @param {function} initCarousel - the carousel initialization function 283*/ 284function loadRecommendations($layoutContainer, einsteinRecommender, initCarousel) { 285 var einsteinUtils = getEinsteinUtils(); 286 if (einsteinUtils) { 287 var params = { 288 userId: einsteinUtils.getCQUserId(), 289 cookieId: einsteinUtils.getCQCookieId(), 290 ccver: "1.01", 291 anchors: createProductAnchor($layoutContainer) 292 }; 293 var recommendationsReceived = function recommendationsReceived(einsteinResponse) { 294 fillDomElement(einsteinResponse, $layoutContainer, einsteinRecommender, initCarousel); 295 }; 296 if (einsteinUtils.getRecs) { 297 einsteinUtils.getRecs(einsteinUtils.clientId, einsteinRecommender, params, recommendationsReceived); 298 } else { 299 einsteinUtils.widgets = einsteinUtils.widgets || []; 300 einsteinUtils.widgets.push({ 301 recommenderName: einsteinRecommender, 302 parameters: params, 303 callback: recommendationsReceived 304 }); 305 } 306 } 307} 308 309/***/ }), 310
311/***/ "./app_core_mh/cartridge/client/default/js/components/utils.js": 312/*!*********************************************************************!*\ 313 !*** ./app_core_mh/cartridge/client/default/js/components/utils.js ***! 314 \*********************************************************************/ 315/*! exports provided: setCSRFToken, positionTop, resizeObserver, observeElementAndExecute, loadMoreProductsIfLastProductIsInView, abortIfFooterIsInView, cleanUpPreviousCalls, setLoadingTextVisibility, updateQueryStringParameter, updateQueryString, updateLabelByComboBox, scrollTo, isInViewport, addVeil, removeVeil, getBreakpoint, isDesktop, setBirthdateInput */ 316/***/ (function(module, __webpack_exports__, __webpack_require__) { 317 318"use strict"; 319__webpack_require__.r(__webpack_exports__); 320/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "setCSRFToken", function() { return setCSRFToken; }); 321/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "positionTop", function() { return positionTop; }); 322/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "resizeObserver", function() { return resizeObserver; }); 323/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "observeElementAndExecute", function() { return observeElementAndExecute; }); 324/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "loadMoreProductsIfLastProductIsInView", function() { return loadMoreProductsIfLastProductIsInView; }); 325/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "abortIfFooterIsInView", function() { return abortIfFooterIsInView; }); 326/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "cleanUpPreviousCalls", function() { return cleanUpPreviousCalls; }); 327/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "setLoadingTextVisibility", function() { return setLoadingTextVisibility; }); 328/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "updateQueryStringParameter", function() { return updateQueryStringParameter; }); 329/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "updateQueryString", function() { return updateQueryString; }); 330/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "updateLabelByComboBox", function() { return updateLabelByComboBox; }); 331/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "scrollTo", function() { return scrollTo; }); 332/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isInViewport", function() { return isInViewport; }); 333/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "addVeil", function() { return addVeil; }); 334/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "removeVeil", function() { return removeVeil; }); 335/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getBreakpoint", function() { return getBreakpoint; }); 336/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isDesktop", function() { return isDesktop; }); 337/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "setBirthdateInput", function() { return setBirthdateInput; }); 338function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; } 339function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } } 340function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; } 341var $window = $(window); 342 343/** 344 * Scrolls to an element 345 * @param {Object} el - The element to scroll to 346 * @param {string} speed - Scroll speed 347 */ 348var scrollToEl = function scrollToEl(el, speed) { 349 var offsetValue = ""; 350 if (el === "top") { 351 offsetValue = $(el).offset().top; 352 } else if ($(el).length) { 353 offsetValue = 0; 354 } 355 if (offsetValue !== "") { 356 $("html, body").animate({ 357 "scrollTop": offsetValue 358 }, speed); 359 } 360}; 361 362/** 363 * Checks if element is in viewport 364 */ 365$.fn.isInViewport = function () { 366 var element = this.get(0); 367 var bounds = element.getBoundingClientRect(); 368 return bounds.top < window.innerHeight && bounds.bottom > 0; 369}; 370 371/** 372 * Adds veil 373 */ 374var addsVeil = function addsVeil() { 375 $("html").addClass("no-scroll"); 376}; 377 378/** 379 * Removes veil 380 */ 381var removesVeil = function removesVeil() { 382 $("html").removeClass("no-scroll"); 383}; 384 385/** 386 * Return short name of breakpoint 387 * @returns {string} - short name of current breakpoint 388 */ 389var getsBreakpoint = function getsBreakpoint() { 390 var breakpoint = "sm"; 391 if ($window.width() > 768) { 392 breakpoint = "lg"; 393 } else if ($window.width() > 544) { 394 breakpoint = "md"; 395 } 396 return breakpoint; 397}; 398 399/** 400 * Check if large breakpoints 401 * @returns {boolean} - current breakpoint is desktop 402 */ 403var isLargeBreakpoint = function isLargeBreakpoint() { 404 if ($window.width() > 768) { 405 return true; 406 } 407 return false;
408}; 409 410/** 411 * Sets birthdate hidden input from options 412 * @param {targetClass} - target class 413 * @returns {void} 414 */ 415var setBirthdateInputForm = function setBirthdateInputForm(targetClass) { 416 var day = $(".birth-day").val(); 417 var month = $(".birth-month").val(); 418 var year = $(".birth-year").val(); 419 var birthdate = [month, day, year].join("/"); 420 $(targetClass).val(birthdate); 421}; 422 423/** 424 * create element containing CSRF token 425 * @param {Object} params 426 * @param {Object} params.csrf - csrf object containing token name and value. 427 * @param {JQuery} params.$form - the form that the input to be added 428 */ 429function insertCSRFTokenInput(params) { 430 var $form = params.$form; 431 var csrf = params.csrf; 432 $form.find("#token-info").remove(); 433 var inputfield = document.createElement("input"); 434 inputfield.type = "hidden"; 435 inputfield.name = csrf.tokenName; 436 inputfield.value = csrf.token; 437 inputfield.id = "token-info"; 438 $form.append(inputfield); 439} 440 441/** 442 * Sets csrf token to provided form 443 * @param {Object} params 444 * @param {Object} params.$form - the form that the input to be added 445 * @returns {Promise<any>} 446 */ 447function setCSRFToken(params) { 448 var url = $("meta[name=csrfURL]").attr("content"); 449 return new Promise(function (resolve, reject) { 450 $.ajax({ 451 url: url, 452 type: "post", 453 dataType: "json", 454 success: function success(dataToken) { 455 if (params && params.$form) { 456 insertCSRFTokenInput({ 457 csrf: dataToken.csrf, 458 $form: params.$form 459 }); 460 } 461 resolve(dataToken); 462 }, 463 error: function error(_error) { 464 reject(_error); 465 } 466 }); 467 }); 468} 469 470/** 471 * @description Set top property value of the DOM element 472 * @param {jquery} element - DOM element 473 * @param {number} height- height value, fallback 0 474 */ 475var positionTop = function positionTop(element) { 476 var height = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0; 477 element.css("top", height); 478}; 479 480/** 481 * Resize Observer for the height of the DOM element 482 * @param {Function} cb - callback 483 * @return {ResizeObserver} 484 */ 485var resizeObserver = function resizeObserver(cb) { 486 return new ResizeObserver(function (entries) { 487 var _iterator = _createForOfIteratorHelper(entries), 488 _step; 489 try { 490 for (_iterator.s(); !(_step = _iterator.n()).done;) { 491 var entry = _step.value; 492 if (entry.borderBoxSize) { 493 var borderBoxSize = entry.borderBoxSize[0]; 494 var resizedHeight = borderBoxSize.blockSize; 495 cb(resizedHeight); 496 } 497 } 498 } catch (err) { 499 _iterator.e(err); 500 } finally { 501 _iterator.f(); 502 } 503 }); 504}; 505 506/** 507* Observes an element and executes a handler when it is visible 508* @param {object} $elementToObserve - jQuery element to observe 509* @param {function} handler - function to execute when element is visible 510* @param {object} handlerParameters - parameters to be passed to handler 511* @param {object} customOptions - custom options for IntersectionObserver 512* @param {number} debounceTime - debounce time for handler 513*/ 514var observeElementAndExecute = function observeElementAndExecute($elementToObserve, handler, handlerParameters, customOptions, debounceTime) { 515 var defaultOptions = { 516 root: document, 517 // no extra margin for threshold 518 rootMargin: "0px", 519 // 0 = which means as soon as any part of the element is visible 520 threshold: 0 521 }; 522 var options = customOptions ? customOptions : defaultOptions; 523 var debounce = debounceTime ? debounceTime : 0; 524 if ($elementToObserve && $elementToObserve.length) { 525 var observerElement = new IntersectionObserver(function (entries, observer) { 526 entries.forEach(function (entry) { 527 if (entry.isIntersecting) { 528 if (typeof handler === "function") { 529 var debouncedEventHandler = window.debounce(function () { 530 handler(handlerParameters); 531 }, debounce); 532 debouncedEventHandler(); 533 } 534 observer.unobserve(entry.target); 535 } 536 }); 537 }, options); 538 observerElement.observe($elementToObserve[0]); 539 } 540}; 541 542/** 543* Loads more products if the last product is in view 544* @param {object} customOptions - custom options for IntersectionObserver 545* @param {number} debounceTime - debounce time for IntersectionObserver 546*/ 547var loadMoreProductsIfLastProductIsInView = function loadMoreProductsIfLastProductIsInView(customOptions, debounceTime) { 548 var pageSize = parseFloat($(".grid-footer").data("page-size")); 549 var pageNumber = parseFloat($(".grid-footer").data("page-number") + 1); 550 var lastIndex = (pageSize * pageNumber).toFixed(1); 551 var $lastProduct = $(".product-tile-order[data-value='" + lastIndex + "']").last(); 552 var handler = function handler() { 553 var $showMoreBtn = $(".show-more button"); 554 $showMoreBtn.click(); 555 }; 556 var debounce = debounceTime ? debounceTime : 500; 557 observeElementAndExecute($lastProduct, handler, null, customOptions, debounce); 558}; 559 560/** 561* Aborts all ajax requests if the footer is in view 562* @param {object} handlerParameters - Parameters for the handler function 563* @param {object} customOptions - Options for IntersectionObserver 564* @param {number} debounceTime - Time to debounce the handler 565*/ 566var abortIfFooterIsInView = function abortIfFooterIsInView(handlerParameters, customOptions, debounceTime) { 567 var $footer = $("#footercontent"); 568 var handler = function handler(handlerParameters) { 569 $.each(handlerParameters, function (index, $ajaxRequest) { 570 return $ajaxRequest.abort(); 571 }); 572 }; 573 observeElementAndExecute($footer, handler, handlerParameters, customOptions, debounceTime); 574}; 575 576/** 577* Filters out previous AJAX calls that have a status of 200 or 0 578* @param {object} ajaxRequestList - list of AJAX requests 579* @returns {object} - list of AJAX requests with status not equal to 200 or 0 580*/ 581var cleanUpPreviousCalls = function cleanUpPreviousCalls(ajaxRequestList) { 582 return ajaxRequestList.filter(function ($ajaxRequest) { 583 return ![200, 0].includes($ajaxRequest.status); 584 }); 585}; 586 587/** 588* Show or hide the loading text 589* @param {boolean} isShow - whether to show the loading text 590*/
591var setLoadingTextVisibility = function setLoadingTextVisibility(isShow) { 592 var $loadingText = $(".show-more-loading"); 593 isShow ? $loadingText.removeClass("d-none") : $loadingText.addClass("d-none"); 594}; 595 596/** 597* Updates the query string parameter of a given URI 598* @param {string} uri - the target URI 599* @param {string} key - the query string parameter to update 600* @param {string} value - the new value for the parameter 601* @returns {string} - the updated URI 602*/ 603var updateQueryStringParameter = function updateQueryStringParameter(uri, key, value) { 604 var re = new RegExp("([?&])" + key + "=.*?(&|$)", "i"); 605 var separator = uri.indexOf("?") !== -1 ? "&" : "?"; 606 if (uri.match(re)) { 607 return uri.replace(re, "$1" + key + "=" + value + "$2"); 608 } 609 return uri + separator + key + "=" + value; 610}; 611 612/** 613* The function updates the query string of the current URL with a new key-value pair and updates the browser history. 614* @param {string} key - The key is a string representing the name of the query parameter that needs to be updated in the URL. 615* @param {string} value - The value parameter is the new value that you want to set for the specified key in the URL query string. 616* @param {boolean} isRemoveKey - whether to remove the key from the query string 617*/ 618var updateQueryString = function updateQueryString(key, value, isRemoveKey) { 619 if (history.pushState) { 620 var searchParams = new URLSearchParams(window.location.search); 621 isRemoveKey ? searchParams["delete"](key) : searchParams.set(key, value); 622 searchParams.sort(); 623 var newurl = window.location.protocol + "//" + window.location.host + window.location.pathname + "?" + searchParams.toString(); 624 window.history.pushState({ 625 path: newurl 626 }, "", newurl); 627 } 628}; 629 630/** 631* Updates the label of a combobox element 632* @param {object} $selectEl - jQuery element of the select element 633*/ 634var updateLabelByComboBox = function updateLabelByComboBox($selectEl) { 635 if ($selectEl && $selectEl.length) { 636 var labelId = $selectEl.siblings("label").attr("id"); 637 if (labelId) { 638 $selectEl.siblings(".select2-container").find("[role=combobox]").attr("aria-labelledby", labelId); 639 } 640 } 641}; 642var scrollTo = scrollToEl; 643var isInViewport = $.fn.isInViewport; 644var addVeil = addsVeil; 645var removeVeil = removesVeil; 646var getBreakpoint = getsBreakpoint; 647var isDesktop = isLargeBreakpoint; 648var setBirthdateInput = setBirthdateInputForm; 649 650/***/ }), 651
652/***/ "./app_core_mh/cartridge/client/default/js/thirdParty/css3-animate-it.min.js": 653/*!***********************************************************************************!*\ 654 !*** ./app_core_mh/cartridge/client/default/js/thirdParty/css3-animate-it.min.js ***! 655 \***********************************************************************************/ 656/*! no static exports found */ 657/***/ (function(module, exports) { 658 659!function (a) { 660 var t, 661 e = [], 662 i = !1, 663 n = !1, 664 d = { 665 interval: 250, 666 force_process: !1 667 }, 668 o = a(window); 669 function r() { 670 n = !1; 671 for (var i = 0; i < e.length; i++) { 672 var d = a(e[i]).filter(function () { 673 return a(this).is(":appeared"); 674 }); 675 if (d.trigger("appear", [d]), t) { 676 var o = t.not(d); 677 o.trigger("disappear", [o]); 678 } 679 t = d; 680 } 681 } 682 a.expr[":"].appeared = function (t) { 683 var e = a(t); 684 if (!e.is(":visible")) return !1; 685 var i = o.scrollLeft(), 686 n = o.scrollTop(), 687 d = e.offset(), 688 r = d.left, 689 s = d.top; 690 return s + e.height() >= n && s - (e.data("appear-top-offset") || 0) <= n + o.height() && r + e.width() >= i && r - (e.data("appear-left-offset") || 0) <= i + o.width(); 691 }, a.fn.extend({ 692 appear: function appear(t) { 693 var o = a.extend({}, d, t || {}), 694 s = this.selector || this; 695 if (!i) { 696 var f = function f() { 697 n || (n = !0, setTimeout(r, o.interval)); 698 }; 699 a(window).scroll(f).resize(f), i = !0; 700 } 701 return o.force_process && setTimeout(r, o.interval), e.push(s), a(s); 702 } 703 }), a.extend({ 704 force_appear: function force_appear() { 705 return !!i && (r(), !0); 706 } 707 }); 708}(jQuery), function (a) { 709 var t = {}, 710 e = Array.prototype.slice; 711 function i(i) { 712 var n, 713 d = this, 714 o = {}, 715 r = i ? a.fn : a, 716 s = arguments, 717 f = 4, 718 l = s[1], 719 u = s[2], 720 c = s[3]; 721 function p() { 722 i ? n.removeData(i) : l && delete t[l]; 723 } 724 function $() { 725 o.id = setTimeout(function () { 726 o.fn(); 727 }, u); 728 } 729 if ("string" != typeof l && (f--, l = i = 0, u = s[1], c = s[2]), i ? (n = d.eq(0)).data(i, o = n.data(i) || {}) : l && (o = t[l] || (t[l] = {})), o.id && clearTimeout(o.id), delete o.id, c) o.fn = function (a) { 730 "string" == typeof c && (c = r[c]), !0 !== c.apply(d, e.call(s, f)) || a ? p() : $(); 731 }, $();else { 732 if (o.fn) return void 0 === u ? p() : o.fn(!1 === u), !0; 733 p(); 734 } 735 } 736 a.doTimeout = function () { 737 return i.apply(window, [0].concat(e.call(arguments))); 738 }, a.fn.doTimeout = function () { 739 var a = e.call(arguments), 740 t = i.apply(this, ["doTimeout" + a[0]].concat(a)); 741 return "number" == typeof a[0] || "number" == typeof a[1] ? this : t; 742 }; 743}(jQuery), $(".animatedParent").appear(), $(".animatedClick").click(function () { 744 var a, 745 t = $(this).attr("data-target"); 746 if (void 0 !== $(this).attr("data-sequence")) { 747 var e = $("." + t + ":first").attr("data-id"), 748 i = $("." + t + ":last").attr("data-id"), 749 n = e; 750 $("." + t + "[data-id=" + n + "]").hasClass("go") ? ($("." + t + "[data-id=" + n + "]").addClass("goAway"), $("." + t + "[data-id=" + n + "]").removeClass("go")) : ($("." + t + "[data-id=" + n + "]").addClass("go"), $("." + t + "[data-id=" + n + "]").removeClass("goAway")), n++, a = Number($(this).attr("data-sequence")), $.doTimeout(a, function () { 751 if (console.log(i), $("." + t + "[data-id=" + n + "]").hasClass("go") ? ($("." + t + "[data-id=" + n + "]").addClass("goAway"), $("." + t + "[data-id=" + n + "]").removeClass("go")) : ($("." + t + "[data-id=" + n + "]").addClass("go"), $("." + t + "[data-id=" + n + "]").removeClass("goAway")), ++n <= i) return !0; 752 }); 753 } else $("." + t).hasClass("go") ? ($("." + t).addClass("goAway"), $("." + t).removeClass("go")) : ($("." + t).addClass("go"), $("." + t).removeClass("goAway")); 754}), $(document.body).on("appear", ".animatedParent", function () { 755 var a, 756 t = $(this).find(".animated"), 757 e = $(this); 758 if (void 0 !== e.attr("data-sequence")) { 759 var i = $(this).find(".animated:first").attr("data-id"), 760 n = $(this).find(".animated:last").attr("data-id"); 761 $(e).find(".animated[data-id=" + i + "]").addClass("go"), i++, a = Number(e.attr("data-sequence")), $.doTimeout(a, function () { 762 if ($(e).find(".animated[data-id=" + i + "]").addClass("go"), ++i <= n) return !0; 763 }); 764 } else t.addClass("go"); 765}), $(document.body).on("disappear", ".animatedParent", function () {
766 $(this).hasClass("animateOnce") || $(this).find(".animated").removeClass("go"); 767}), $(window).on("load", function () { 768 $.force_appear(); 769}); 770 771/***/ }), 772
773/***/ "./app_core_pagedesigner/cartridge/client/default/js/layout.js": 774/*!*********************************************************************!*\ 775 !*** ./app_core_pagedesigner/cartridge/client/default/js/layout.js ***! 776 \*********************************************************************/ 777/*! exports provided: elements, breakpoints */ 778/***/ (function(module, __webpack_exports__, __webpack_require__) { 779 780"use strict"; 781__webpack_require__.r(__webpack_exports__); 782/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "elements", function() { return elements; }); 783/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "breakpoints", function() { return breakpoints; }); 784var $window = $(window); 785var breakpointDesktop = __webpack_require__(/*! ./utils/breakpoints.json */ "./app_core_pagedesigner/cartridge/client/default/js/utils/breakpoints.json").pd_desktop; 786var elements = { 787 imagesTextContainer: ".image-text-container" 788}; 789var breakpoints = { 790 desktop: breakpointDesktop 791}; 792 793/** 794 * Check if large breakpoints 795 * @returns {boolean} - current breakpoint is desktop 796 */ 797var isDesktop = function isDesktop() { 798 if ($window.width() > breakpoints.desktop) { 799 return true; 800 } 801 return false; 802}; 803 804/** 805 * Get padding for breakpoint 806 * @param {Object} el - selector for element 807 */ 808var getPadding = function getPadding(el) { 809 var paddingTop = "0rem"; 810 var paddingBottom = "0rem"; 811 var paddingLeft = "0rem"; 812 var paddingRight = "0rem"; 813 if (isDesktop()) { 814 paddingTop = el.data("padding-top-large") ? el.data("padding-top-large") : paddingTop; 815 paddingBottom = el.data("padding-bottom-large") ? el.data("padding-bottom-large") : paddingBottom; 816 paddingLeft = el.data("padding-left-large") ? el.data("padding-left-large") : paddingLeft; 817 paddingRight = el.data("padding-right-large") ? el.data("padding-right-large") : paddingRight; 818 } else { 819 paddingTop = el.data("padding-top-small") ? el.data("padding-top-small") : paddingTop; 820 paddingBottom = el.data("padding-bottom-small") ? el.data("padding-bottom-small") : paddingBottom; 821 paddingLeft = el.data("padding-left-small") ? el.data("padding-left-small") : paddingLeft; 822 paddingRight = el.data("padding-right-small") ? el.data("padding-right-small") : paddingRight; 823 } 824 el.css("padding-top", paddingTop); 825 el.css("padding-bottom", paddingBottom); 826 el.css("padding-left", paddingLeft); 827 el.css("padding-right", paddingRight); 828}; 829 830/** 831 * Get padding for columns breakpoint 832 * @param {Object} el - selector for element 833 */ 834var getColumnsPadding = function getColumnsPadding(el) { 835 var columns1PaddingTopAndBottom = "0rem"; 836 var columns1PaddingRightAndLeft = "0rem"; 837 var columns2PaddingTopAndBottom = "0rem"; 838 var columns2PaddingRightAndLeft = "0rem"; 839 var columns3PaddingTopAndBottom = "0rem"; 840 var columns3PaddingRightAndLeft = "0rem"; 841 var columns4PaddingTopAndBottom = "0rem"; 842 var columns4PaddingRightAndLeft = "0rem"; 843 if (isDesktop()) { 844 columns1PaddingTopAndBottom = el.data("columns-1-padding-top-bottom-large") ? el.data("columns-1-padding-top-bottom-large") : columns1PaddingTopAndBottom; 845 columns1PaddingRightAndLeft = el.data("columns-1-padding-left-right-large") ? el.data("columns-1-padding-left-right-large") : columns1PaddingRightAndLeft; 846 columns2PaddingTopAndBottom = el.data("columns-2-padding-top-bottom-large") ? el.data("columns-2-padding-top-bottom-large") : columns2PaddingTopAndBottom; 847 columns2PaddingRightAndLeft = el.data("columns-2-padding-left-right-large") ? el.data("columns-2-padding-left-right-large") : columns2PaddingRightAndLeft; 848 columns3PaddingTopAndBottom = el.data("columns-3-padding-top-bottom-large") ? el.data("columns-3-padding-top-bottom-large") : columns3PaddingTopAndBottom; 849 columns3PaddingRightAndLeft = el.data("columns-3-padding-left-right-large") ? el.data("columns-3-padding-left-right-large") : columns3PaddingRightAndLeft; 850 columns4PaddingRightAndLeft = el.data("columns-4-padding-left-right-large") ? el.data("columns-4-padding-left-right-large") : columns4PaddingRightAndLeft; 851 columns4PaddingRightAndLeft = el.data("columns-4-padding-left-right-large") ? el.data("columns-4-padding-left-right-large") : columns4PaddingRightAndLeft; 852 } else { 853 columns1PaddingTopAndBottom = el.data("columns-1-padding-top-bottom-small") ? el.data("columns-1-padding-top-bottom-small") : columns1PaddingTopAndBottom; 854 columns1PaddingRightAndLeft = el.data("columns-1-padding-left-right-small") ? el.data("columns-1-padding-left-right-small") : columns1PaddingRightAndLeft; 855 columns2PaddingTopAndBottom = el.data("columns-2-padding-top-bottom-small") ? el.data("columns-2-padding-top-bottom-small") : columns2PaddingTopAndBottom; 856 columns2PaddingRightAndLeft = el.data("columns-2-padding-left-right-small") ? el.data("columns-2-padding-left-right-small") : columns2PaddingRightAndLeft; 857 columns3PaddingTopAndBottom = el.data("columns-3-padding-top-bottom-small") ? el.data("columns-3-padding-top-bottom-small") : columns3PaddingTopAndBottom; 858 columns3PaddingRightAndLeft = el.data("columns-3-padding-left-right-small") ? el.data("columns-3-padding-left-right-small") : columns3PaddingRightAndLeft; 859 columns4PaddingTopAndBottom = el.data("columns-4-padding-top-bottom-small") ? el.data("columns-4-padding-top-bottom-small") : columns4PaddingTopAndBottom; 860 columns4PaddingRightAndLeft = el.data("columns-4-padding-left-right-small") ? el.data("columns-4-padding-left-right-small") : columns4PaddingRightAndLeft; 861 } 862 if (el.hasClass("region-1")) { 863 el.css("padding-top", columns1PaddingTopAndBottom); 864 el.css("padding-bottom", columns1PaddingTopAndBottom); 865 el.css("padding-left", columns1PaddingRightAndLeft); 866 el.css("padding-right", columns1PaddingRightAndLeft); 867 } 868 869 // column 2 870 if (el.hasClass("region-2")) { 871 el.css("padding-top", columns2PaddingTopAndBottom); 872 el.css("padding-bottom", columns2PaddingTopAndBottom); 873 el.css("padding-left", columns2PaddingRightAndLeft); 874 el.css("padding-right", columns2PaddingRightAndLeft); 875 } 876 877 // column 3 878 if (el.hasClass("region-3")) { 879 el.css("padding-top", columns3PaddingTopAndBottom); 880 el.css("padding-bottom", columns3PaddingTopAndBottom); 881 el.css("padding-left", columns3PaddingRightAndLeft); 882 el.css("padding-right", columns3PaddingRightAndLeft); 883 } 884 885 // column 4 886 if (el.hasClass("region-4")) { 887 el.css("padding-top", columns4PaddingTopAndBottom); 888 el.css("padding-bottom", columns4PaddingTopAndBottom); 889 el.css("padding-left", columns4PaddingRightAndLeft); 890 el.css("padding-right", columns4PaddingRightAndLeft); 891 } 892}; 893 894/** 895 * Set padding for mobile 896 */ 897var setPadding = function setPadding() { 898 var $layoutContainer = $(".layout-container"); 899 if ($layoutContainer.length > 0) { 900 $layoutContainer.each(function () { 901 getPadding($(this)); 902 }); 903 } 904}; 905 906/** 907 * Set padding for columns mobile 908 */ 909function setColumnsPadding() { 910 var $columnsContainer = $(".col-container"); 911 if ($columnsContainer.length > 0) { 912 $columnsContainer.each(function () { 913 getColumnsPadding($(this)); 914 }); 915 } 916} 917 918/** 919 * Get margin for cta breakpoint 920 * @param {Object} el - selector for element 921 */ 922var getCtaMargins = function getCtaMargins(el) { 923 var ctaMarginTop = "0rem"; 924 if (isDesktop()) { 925 ctaMarginTop = el.data("cta-margin-top-large") ? el.data("cta-margin-top-large") : ctaMarginTop; 926 } else { 927 ctaMarginTop = el.data("cta-margin-top-small") ? el.data("cta-margin-top-small") : ctaMarginTop; 928 } 929 el.css("margin-top", ctaMarginTop); 930}; 931 932/** 933 * Set margin for cta mobile 934 */ 935function setCtaMargins() { 936 var $ctaTargeted = $(".layoutCta"); 937 if ($ctaTargeted.length > 0) { 938 $ctaTargeted.each(function () { 939 getCtaMargins($(this)); 940 }); 941 } 942} 943 944/** 945 * Set padding for images and text mobile 946 */ 947function setImagesTextPadding() { 948 var $imagesTextContainer = $(elements.imagesTextContainer); 949 if ($imagesTextContainer.length > 0) { 950 $imagesTextContainer.each(function () { 951 getPadding($(this)); 952 }); 953 } 954} 955$(document).ready(function () { 956 setPadding(); 957 setColumnsPadding(); 958 setCtaMargins(); 959 setImagesTextPadding(); 960 $window.on("resize", function () { 961 setPadding(); 962 setColumnsPadding(); 963 setCtaMargins(); 964 setImagesTextPadding(); 965 }); 966}); 967 968/***/ }), 969
970/***/ "./app_core_pagedesigner/cartridge/client/default/js/utils/breakpoints.json": 971/*!**********************************************************************************!*\ 972 !*** ./app_core_pagedesigner/cartridge/client/default/js/utils/breakpoints.json ***! 973 \**********************************************************************************/ 974/*! exports provided: pd_desktop, default */ 975/***/ (function(module) { 976 977module.exports = JSON.parse("{\"pd_desktop\":768}"); 978 979/***/ }), 980
981/***/ "./app_custom_ruinart/cartridge/client/default/js/components/RnContentTilesCarousel.js": 982/*!*********************************************************************************************!*\ 983 !*** ./app_custom_ruinart/cartridge/client/default/js/components/RnContentTilesCarousel.js ***! 984 \*********************************************************************************************/ 985/*! exports provided: initContentTileCarousel, initFirstContentCarousel, initRnContentCarousel */ 986/***/ (function(module, __webpack_exports__, __webpack_require__) { 987 988"use strict"; 989__webpack_require__.r(__webpack_exports__); 990/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "initContentTileCarousel", function() { return initContentTileCarousel; }); 991/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "initFirstContentCarousel", function() { return initFirstContentCarousel; }); 992/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "initRnContentCarousel", function() { return initRnContentCarousel; }); 993var debounce = __webpack_require__(/*! lodash/debounce */ "./node_modules/lodash/debounce.js"); 994 995/** 996 * Init carousel for content tiles 997 */ 998var initCarousel = function initCarousel(carousel) { 999 if (carousel && carousel.length) { 1000 carousel.each(function () { 1001 var $this = $(this); 1002 var slidesSm = $this.data("slides-small"); 1003 var slidesMd = $this.data("slides-medium"); 1004 var slidesLg = $this.data("slides-large"); 1005 var arrows = $this.data("slides-arrows"); 1006 var dots = $this.data("slides-dots"); 1007 var baseConfig = { 1008 prevArrow: "<button type='button' class='slick-prev slick-arrow-border slick-prev-out' aria-label='Previous'></button>", 1009 nextArrow: "<button type='button' class='slick-next slick-arrow-border slick-next-out' aria-label='Next'></button>", 1010 "slidesToShow": slidesSm, 1011 pauseOnFocus: false, 1012 mobileFirst: true, 1013 arrows: arrows, 1014 adaptiveHeight: true, 1015 dots: dots, 1016 responsive: [{ 1017 breakpoint: 544, 1018 settings: { 1019 slidesToShow: slidesMd 1020 } 1021 }, { 1022 breakpoint: 991, 1023 settings: { 1024 slidesToShow: slidesLg, 1025 arrows: arrows 1026 } 1027 }] 1028 }; 1029 var destroyBreakpoint = $this.data("destroy-breakpoint") - 1; 1030 if (destroyBreakpoint) { 1031 var $window = $(window); 1032 baseConfig.responsive.push({ 1033 breakpoint: destroyBreakpoint, 1034 settings: "unslick" 1035 }); 1036 $window.on("resize", debounce(function () { 1037 if ($window.width() <= destroyBreakpoint && $this.get(0).slick.unslicked) { 1038 $this.slick(baseConfig); 1039 } 1040 })); 1041 } 1042 $this.slick(baseConfig); 1043 // Remove empty containers for offline products 1044 if ($this.hasClass("carousel-product")) { 1045 var $removeSlides = $this.find(".js-remove-slide"); 1046 if ($removeSlides.length > 0) { 1047 $removeSlides.parents(".slide-wrapper").each(function () { 1048 var index = $(this).parents(".slick-slide").data("slick-index"); 1049 $this.slick("slickRemove", index); 1050 }); 1051 } 1052 } 1053 var nbrSlide = $this.data("slides-small"); 1054 var nbrSlideLarge = $this.data("slides-large"); 1055 if (typeof nbrSlide === "number") { 1056 if (nbrSlide % 1 !== 0) { 1057 $this.parents(".Rn-carousel-wrapper").addClass("floatNumberSlides"); 1058 } else { 1059 $this.parents(".Rn-carousel-wrapper").addClass("intNumberSlides"); 1060 } 1061 } 1062 if (typeof nbrSlideLarge === "number") { 1063 if (nbrSlideLarge % 1 !== 0) { 1064 $this.parents(".Rn-carousel-wrapper").addClass("floatNumberSlides-medium"); 1065 } 1066 } 1067 }); 1068 } 1069}; 1070 1071/** 1072 * Clear the form errors. 1073 * @param {string} parentSelector - the parent form selector. 1074 */ 1075var initFirstCarousel = function initFirstCarousel() { 1076 var $carouselWrapper = $(".tab-carousel-wrapper"); 1077 $carouselWrapper.each(function () { 1078 var $this = $(this); 1079 var $contentSlider = $this.find(".js-content-tiles-carousel").first(); 1080 if ($contentSlider.length) { 1081 initCarousel($contentSlider); 1082 } 1083 }); 1084}; 1085 1086/** 1087 * Clear the form errors. 1088 * @param {string}
1088 RnparentSelector - the parent form selector. 1089 */ 1090var initRnCarousel = function initRnCarousel() { 1091 var $RnCarouselWrapper = $(".Rn-carousel-wrapper"); 1092 $RnCarouselWrapper.each(function () { 1093 var $this = $(this); 1094 var $contentSlider = $this.find(".js-content-tiles-carousel").first(); 1095 if ($contentSlider.length) { 1096 initCarousel($contentSlider); 1097 } 1098 }); 1099}; 1100var initContentTileCarousel = initCarousel; 1101var initFirstContentCarousel = initFirstCarousel; 1102var initRnContentCarousel = initRnCarousel; 1103 1104/***/ }), 1105
1106/***/ "./app_custom_ruinart/cartridge/client/default/js/components/tabCarousel.js": 1107/*!**********************************************************************************!*\ 1108 !*** ./app_custom_ruinart/cartridge/client/default/js/components/tabCarousel.js ***! 1109 \**********************************************************************************/ 1110/*! exports provided: default */ 1111/***/ (function(module, __webpack_exports__, __webpack_require__) { 1112 1113"use strict"; 1114__webpack_require__.r(__webpack_exports__); 1115/* harmony import */ var coremh_components_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! coremh/components/utils */ "./app_core_mh/cartridge/client/default/js/components/utils.js"); 1116 1117var contentTileCarousel = __webpack_require__(/*! coremh/components/contentTilesCarousel.js */ "./app_core_mh/cartridge/client/default/js/components/contentTilesCarousel.js"); 1118 1119/** 1120 * Remove active class for previous selected tab 1121 */ 1122var initTabs = function initTabs() { 1123 var $loyaltyTabs = $(".js-tab-loyalty"); 1124 if ($loyaltyTabs.length) { 1125 var tabs = $loyaltyTabs.find(".nav-item").toArray(); 1126 var hasActiveClass = tabs.filter(function (item, index) { 1127 return $(item).hasClass("active"); 1128 }); // eslint-disable-line 1129 1130 if (!hasActiveClass.length) { 1131 $(tabs[0]).addClass("active").find(".tab-link").addClass("active"); 1132 } 1133 } 1134 $("a[data-toggle='tab']").on("show.bs.tab", function () { 1135 $(".js-content-tab-carousel .tab-link").removeClass("active"); 1136 $(this).addClass("active"); 1137 }); 1138 $("a[data-toggle='tab']").on("shown.bs.tab", function (e) { 1139 var tabID = $(e.target).attr("href"); 1140 var $tabEl = $(tabID); 1141 if ($tabEl.length > 0) { 1142 var $selectedCarousel = $tabEl.find(".js-content-tiles-carousel"); 1143 if ($selectedCarousel.length && !$selectedCarousel.hasClass("slick-initialized")) { 1144 contentTileCarousel.initContentTileCarousel($selectedCarousel); 1145 } 1146 } 1147 }); 1148}; 1149 1150/** 1151 * Init carousel for tabs 1152 */ 1153var initCarousel = function initCarousel() { 1154 var $tabSlider = $(".js-content-tab-carousel"); 1155 if ($tabSlider.length > 0) { 1156 var slidesScrollGap = 2; 1157 var $items = $tabSlider.find(".nav-item").toArray(); 1158 var $activeItem = $tabSlider.find(".nav-item.active"); 1159 var activeIndex = $items.indexOf($activeItem.get(0)); 1160 var totalWidth = $items.reduce(function (acc, el) { 1161 return $(el).width() + acc; 1162 }, 0); 1163 var wrapperWidth = $tabSlider.width(); 1164 var loyalty = $tabSlider.hasClass("js-tab-loyalty"); 1165 if (loyalty && totalWidth > wrapperWidth || !loyalty) { 1166 $tabSlider.slick({ 1167 lazyLoad: "ondemand", 1168 "slidesToShow": 1, 1169 pauseOnFocus: false, 1170 mobileFirst: true, 1171 variableWidth: true, 1172 infinite: false, 1173 arrows: false 1174 }); 1175 $tabSlider.get(0).slick.slickGoTo(activeIndex > slidesScrollGap ? activeIndex - slidesScrollGap : 0); 1176 } 1177 } 1178}; 1179/* harmony default export */ __webpack_exports__["default"] = (function () { 1180 initTabs(); 1181 if (!Object(coremh_components_utils__WEBPACK_IMPORTED_MODULE_0__["isDesktop"])()) { 1182 initCarousel(); 1183 } 1184}); 1185 1186/***/ }), 1187
1188/***/ "./app_custom_ruinart/cartridge/client/default/js/layout.js": 1189/*!******************************************************************!*\ 1190 !*** ./app_custom_ruinart/cartridge/client/default/js/layout.js ***! 1191 \******************************************************************/ 1192/*! no static exports found */ 1193/***/ (function(module, exports, __webpack_require__) { 1194 1195var breakpointDesktop = __webpack_require__(/*! ./utils/breakpoints.json */ "./app_custom_ruinart/cartridge/client/default/js/utils/breakpoints.json").pd_desktop; 1196var pd_layout = __webpack_require__(/*! corepd/layout */ "./app_core_pagedesigner/cartridge/client/default/js/layout.js"); 1197pd_layout.elements.imagesTextContainer = ".ITC-container"; 1198pd_layout.breakpoints.desktop = breakpointDesktop; 1199 1200/***/ }), 1201
1202/***/ "./app_custom_ruinart/cartridge/client/default/js/storePage.js": 1203/*!*********************************************************************!*\ 1204 !*** ./app_custom_ruinart/cartridge/client/default/js/storePage.js ***! 1205 \*********************************************************************/ 1206/*! no static exports found */ 1207/***/ (function(module, exports, __webpack_require__) { 1208 1209var processInclude = __webpack_require__(/*! base/util */ "../storefront-reference-architecture/cartridges/app_storefront_base/cartridge/client/default/js/util.js"); 1210if ($("#cbt-site-location").length) { 1211 processInclude(__webpack_require__(/*! cbt/components/cbtStorePage */ "./int_cbt/cartridge/client/default/js/components/cbtStorePage.js")); 1212 processInclude(__webpack_require__(/*! cbt/components/cbtBanner */ "./int_cbt/cartridge/client/default/js/components/cbtBanner.js")); 1213} 1214$(document).ready(function () { 1215 processInclude(__webpack_require__(/*! ./components/RnContentTilesCarousel */ "./app_custom_ruinart/cartridge/client/default/js/components/RnContentTilesCarousel.js")); 1216 processInclude(__webpack_require__(/*! ./components/tabCarousel */ "./app_custom_ruinart/cartridge/client/default/js/components/tabCarousel.js")); 1217 processInclude(__webpack_require__(/*! ./layout.js */ "./app_custom_ruinart/cartridge/client/default/js/layout.js")); 1218}); 1219__webpack_require__(/*! coremh/thirdParty/css3-animate-it.min */ "./app_core_mh/cartridge/client/default/js/thirdParty/css3-animate-it.min.js"); 1220 1221/***/ }), 1222
1223/***/ "./app_custom_ruinart/cartridge/client/default/js/utils/breakpoints.json": 1224/*!*******************************************************************************!*\ 1225 !*** ./app_custom_ruinart/cartridge/client/default/js/utils/breakpoints.json ***! 1226 \*******************************************************************************/ 1227/*! exports provided: pd_desktop, default */ 1228/***/ (function(module) { 1229 1230module.exports = JSON.parse("{\"pd_desktop\":991}"); 1231 1232/***/ }), 1233
1234/***/ "./int_cbt/cartridge/client/default/js/cbtUtil.js": 1235/*!********************************************************!*\ 1236 !*** ./int_cbt/cartridge/client/default/js/cbtUtil.js ***! 1237 \********************************************************/ 1238/*! no static exports found */ 1239/***/ (function(module, exports, __webpack_require__) { 1240 1241/* global dataLayer */ 1242var lodashUnescape = __webpack_require__(/*! lodash/unescape */ "./node_modules/lodash/unescape.js"); 1243 1244/** 1245 * function to push data to the dataLayer, and add hash 1246 * @param {Object} data - data to push 1247 */ 1248function hashPush(data) { 1249 if (data) { 1250 // remove the Cart panel data from the dataLayer in order to prevent duplicated objects 1251 if (data.event === "openMiniCart") { 1252 var cartPanelPos = dataLayer.findIndex(function (element) { 1253 return element.pageType === data.pageType; 1254 }); 1255 if (cartPanelPos > -1) { 1256 dataLayer.splice(cartPanelPos, 1); 1257 } 1258 } 1259 if (data.eventTypes) { 1260 delete data.eventTypes; 1261 } 1262 if (data.selector) { 1263 delete data.selector; 1264 } 1265 if (data.pushTheDataInPDP) { 1266 delete data.pushTheDataInPDP; 1267 } 1268 if (location.hash.indexOf(data.event + "cbt") == -1) { 1269 dataLayer.push(data); 1270 var filtered = dataLayer.filter(function (ele) { 1271 return ele.event === "newsletterSubscription"; 1272 }); 1273 if (filtered.length > 1) { 1274 var position = dataLayer.findIndex(function (element) { 1275 return element.event === "newsletterSubscription"; 1276 }); 1277 dataLayer.splice(position, 1); 1278 } 1279 } 1280 } 1281} 1282 1283/** 1284 * Parse the data object into json 1285 * @param {String} data 1286 * @returns {Object} jsonObject 1287 */ 1288function parseJSON(data) { 1289 if (typeof data !== "string") { 1290 return data; 1291 } else if (!data.length) { 1292 // Returns an empty object if the data is empty. 1293 return {}; 1294 } 1295 var parsedJson = {}; 1296 try { 1297 parsedJson = JSON.parse(data); 1298 } catch (error) { 1299 // Handle cases of missing closing quote 1300 if (data.length > data.lastIndexOf("}")) { 1301 data = data.substring(0, data.lastIndexOf("}") + 1); 1302 } 1303 // eslint-disable-next-line quotes 1304 parsedJson = JSON.parse(data.replace(/'/gi, '"').replace(/\\"/, "'")); 1305 } 1306 return parsedJson; 1307} 1308 1309/** 1310 * check data type and parse string into JSON 1311 * @param {Object} data - data to push 1312 */ 1313function dataPush(data) { 1314 if (typeof data === "string" && data != "") { 1315 if (data != null || data != "null") { 1316 data = parseJSON(lodashUnescape(data)); 1317 hashPush(data); 1318 } 1319 } else if (data instanceof Array) { 1320 data.forEach(function (element) { 1321 hashPush(element); 1322 }); 1323 } else { 1324 hashPush(data); 1325 } 1326} 1327module.exports = { 1328 hashPush: hashPush, 1329 parseJSON: parseJSON, 1330 dataPush: dataPush 1331}; 1332 1333/***/ }), 1334
1335/***/ "./int_cbt/cartridge/client/default/js/components/cbtBanner.js": 1336/*!*********************************************************************!*\ 1337 !*** ./int_cbt/cartridge/client/default/js/components/cbtBanner.js ***! 1338 \*********************************************************************/ 1339/*! no static exports found */ 1340/***/ (function(module, exports, __webpack_require__) { 1341 1342var cbtUtil = __webpack_require__(/*! ../cbtUtil */ "./int_cbt/cartridge/client/default/js/cbtUtil.js"); 1343 1344/** 1345 * @description It manages the dataLayer object that will be pushed as eePromoClick event. 1346 * @param {jQuery} $bannerElem - the clicked banner element 1347 * @param {Number} bannerPosition - the position of the containing banner 1348 * @return {Object} dataLayer object to be pushed 1349 */ 1350function getBannerElemDataLayer($bannerElem, bannerPosition) { 1351 var dataLayer = { 1352 "event": "eePromoClick", 1353 "promotions": [] 1354 }; 1355 var bannerElemCbt = $bannerElem.attr("data-cbt"); 1356 var cbtData = cbtUtil.parseJSON(bannerElemCbt); 1357 cbtData.promotions[0].position = bannerPosition + 1; 1358 dataLayer.promotions.push(cbtData.promotions[0]); 1359 return dataLayer; 1360} 1361 1362/** 1363 * @description It manages the dataLayer object that will be pushed as eePromoView. 1364 * @param {jQuery} $bannerList - array of banner elements 1365 * @return {Object} dataLayer object to be pushed 1366 */ 1367function heroBannerListDataLayer($bannerList) { 1368 var dataLayer = { 1369 "event": "eePromoView", 1370 "promotions": [] 1371 }; 1372 $bannerList.each(function (i, el) { 1373 var $banner = $(el); 1374 var $bannerImageCbt = $banner.find(".hero-banner-img-container a").attr("data-cbt"); 1375 var $bannerCTACbt = $banner.find(".hero-banner-text-wrapper a").attr("data-cbt"); 1376 var imageCbt = cbtUtil.parseJSON($bannerImageCbt); 1377 var CTACbt = cbtUtil.parseJSON($bannerCTACbt); 1378 if (imageCbt && imageCbt.promotions) { 1379 imageCbt.promotions[0].position = i; 1380 dataLayer.promotions.push(imageCbt.promotions[0]); 1381 } 1382 if (CTACbt && CTACbt.promotions) { 1383 CTACbt.promotions[0].position = i; 1384 dataLayer.promotions.push(CTACbt.promotions[0]); 1385 } 1386 }); 1387 return dataLayer; 1388} 1389 1390/** 1391 * Helper function to create the dataLayer and push it when 1392 * a Hero Banner image or CTA is clicked 1393 */ 1394function cbtHeroBannerCtaClick() { 1395 var $bannerList = $(".hero-banner"); 1396 if ($bannerList.length) { 1397 $bannerList.each(function (i, el) { 1398 var $banner = $(el); 1399 $banner.on("click", ".hero-banner-img-container a, .hero-banner-text-wrapper a", function () { 1400 var bannerData = getBannerElemDataLayer($(this), i); 1401 cbtUtil.dataPush(bannerData); 1402 }); 1403 }); 1404 } 1405} 1406 1407/** 1408 * Helper function to create the dataLayer and push it when 1409 * a Hero Banner is shown 1410 */ 1411function cbtHeroBannerShown() { 1412 var $bannerList = $(".hero-banner"); 1413 if ($bannerList.length) { 1414 var bannerData = heroBannerListDataLayer($bannerList); 1415 cbtUtil.dataPush(bannerData); 1416 } 1417} 1418document.addEventListener("DOMContentLoaded", function () { 1419 cbtHeroBannerCtaClick(); 1420 cbtHeroBannerShown(); 1421}); 1422 1423/***/ }), 1424
1425/***/ "./int_cbt/cartridge/client/default/js/components/cbtProductCarousel.js": 1426/*!******************************************************************************!*\ 1427 !*** ./int_cbt/cartridge/client/default/js/components/cbtProductCarousel.js ***! 1428 \******************************************************************************/ 1429/*! no static exports found */ 1430/***/ (function(module, exports, __webpack_require__) { 1431 1432var cbtUtil = __webpack_require__(/*! ../cbtUtil */ "./int_cbt/cartridge/client/default/js/cbtUtil.js"); 1433 1434/** 1435 * @description It manages the dataLayer object that will be pushed as eeListView event. 1436 * @param {jQuery} carousel - product carousel 1437 * @param {String} listName - value that will appear as listName on the event 1438 * @return {Object} dataLayer object to be pushed 1439 */ 1440function getHomePageProductListDataLayer(carousel, listName) { 1441 var $carousel = $(carousel); 1442 var $activeSlides = $carousel.find(".slick-slide.slick-active"); 1443 var cbtAllPages = cbtUtil.parseJSON($(".cbt-all-pages").data("cbt-all-pages")); 1444 var dataLayer = { 1445 "event": "eeListView", 1446 "currencyCode": cbtAllPages && cbtAllPages.currencyCode ? cbtAllPages.currencyCode : "", 1447 "listName": listName, 1448 "listType": "Home", 1449 "products": [] 1450 }; 1451 $activeSlides.each(function (i, el) { 1452 var $element = $(el); 1453 var index = $element.data("slick-index"); 1454 if (!$element.hasClass("slick-cloned") && !$element.hasClass("cbt-listed")) { 1455 $element.addClass("cbt-listed"); 1456 var slideCbt = $element.find(".producttile-add-to-cart").attr("data-cbt"); 1457 var cbtProduct = cbtUtil.parseJSON(slideCbt); 1458 //The GTM attribute products of cbtProduct only contains one product even though it is plural 1459 //The GTM attribute products of dataLayer will contain multiple products 1460 if (cbtProduct && cbtProduct.products) { 1461 //The index of slide will be saved so when the user switches tabs the information can be saved 1462 //If the user comes back to previous tab, this index list will prevent a push of already seen slides 1463 cbtProduct.products[0].position = index + 1; 1464 dataLayer.products.push(cbtProduct.products[0]); 1465 } 1466 } 1467 }); 1468 return dataLayer; 1469} 1470module.exports = { 1471 getHomePageProductListDataLayer: getHomePageProductListDataLayer 1472}; 1473 1474/***/ }), 1475
1476/***/ "./int_cbt/cartridge/client/default/js/components/cbtStorePage.js": 1477/*!************************************************************************!*\ 1478 !*** ./int_cbt/cartridge/client/default/js/components/cbtStorePage.js ***! 1479 \************************************************************************/ 1480/*! no static exports found */ 1481/***/ (function(module, exports, __webpack_require__) { 1482 1483var cbtUtil = __webpack_require__(/*! ../cbtUtil */ "./int_cbt/cartridge/client/default/js/cbtUtil.js"); 1484var cbtProductCarousel = __webpack_require__(/*! ./cbtProductCarousel */ "./int_cbt/cartridge/client/default/js/components/cbtProductCarousel.js"); 1485var $cache = {}; 1486 1487/** 1488 * Initiates cache 1489 */ 1490function initCache() { 1491 $cache.document = $(document); 1492} 1493function cbtBrandClickEvent() { 1494 $cache.document.on("click", ".cbt-brands", function () { 1495 var $this = $(this); 1496 var brandValue = $this.data("en"); 1497 var carouselId = $this.attr("href"); 1498 var $carouselWrapper = $this.parents(".tab-carousel-wrapper"); 1499 var carouselTitle = $carouselWrapper.find(".section-title").data("en"); 1500 var listName = brandValue ? carouselTitle + " - " + brandValue : carouselTitle; 1501 var $carousel = $(carouselId); 1502 $carousel.on("init", function () { 1503 var dataLayer1 = cbtProductCarousel.getHomePageProductListDataLayer($carousel, listName); 1504 if (dataLayer1.products.length) { 1505 cbtUtil.dataPush(dataLayer1); 1506 } 1507 }); 1508 var dataLayer2 = { 1509 "event": "brandLinkClick", 1510 "brandLinkName": brandValue 1511 }; 1512 cbtUtil.dataPush(dataLayer2); 1513 }); 1514} 1515function cbtJournal19ClickEvent() { 1516 $cache.document.on("click", ".cbt-journal19", function () { 1517 var $this = $(this); 1518 var journal19Value = $this.data("en"); 1519 var dataLayer = { 1520 "event": "journalLinkClick", 1521 "journalLinkName": journal19Value 1522 }; 1523 cbtUtil.dataPush(dataLayer); 1524 }); 1525} 1526window.addEventListener("load", function () { 1527 initCache(); 1528 cbtBrandClickEvent(); 1529 cbtJournal19ClickEvent(); 1530}); 1531 1532/***/ }), 1533
vendor: 448 bytes, lines 1534-1548
1534/***/ "./node_modules/lodash/_Symbol.js": 1535/*!****************************************!*\ 1536 !*** ./node_modules/lodash/_Symbol.js ***! 1537 \****************************************/ 1538/*! no static exports found */ 1539/***/ (function(module, exports, __webpack_require__) { 1540 1541var root = __webpack_require__(/*! ./_root */ "./node_modules/lodash/_root.js"); 1542 1543/** Built-in value references. */ 1544var _Symbol = root.Symbol; 1545module.exports = _Symbol; 1546 1547/***/ }), 1548
vendor: 816 bytes, lines 1549-1577
1549/***/ "./node_modules/lodash/_arrayMap.js": 1550/*!******************************************!*\ 1551 !*** ./node_modules/lodash/_arrayMap.js ***! 1552 \******************************************/ 1553/*! no static exports found */ 1554/***/ (function(module, exports) { 1555 1556/** 1557 * A specialized version of `_.map` for arrays without support for iteratee 1558 * shorthands. 1559 * 1560 * @private 1561 * @param {Array} [array] The array to iterate over. 1562 * @param {Function} iteratee The function invoked per iteration. 1563 * @returns {Array} Returns the new mapped array. 1564 */ 1565function arrayMap(array, iteratee) { 1566 var index = -1, 1567 length = array == null ? 0 : array.length, 1568 result = Array(length); 1569 while (++index < length) { 1570 result[index] = iteratee(array[index], index, array); 1571 } 1572 return result; 1573} 1574module.exports = arrayMap; 1575 1576/***/ }), 1577
vendor: 1,240 bytes, lines 1578-1612
1578/***/ "./node_modules/lodash/_baseGetTag.js": 1579/*!********************************************!*\ 1580 !*** ./node_modules/lodash/_baseGetTag.js ***! 1581 \********************************************/ 1582/*! no static exports found */ 1583/***/ (function(module, exports, __webpack_require__) { 1584 1585var _Symbol = __webpack_require__(/*! ./_Symbol */ "./node_modules/lodash/_Symbol.js"), 1586 getRawTag = __webpack_require__(/*! ./_getRawTag */ "./node_modules/lodash/_getRawTag.js"), 1587 objectToString = __webpack_require__(/*! ./_objectToString */ "./node_modules/lodash/_objectToString.js"); 1588 1589/** `Object#toString` result references. */ 1590var nullTag = '[object Null]', 1591 undefinedTag = '[object Undefined]'; 1592 1593/** Built-in value references. */ 1594var symToStringTag = _Symbol ? _Symbol.toStringTag : undefined; 1595 1596/** 1597 * The base implementation of `getTag` without fallbacks for buggy environments. 1598 * 1599 * @private 1600 * @param {*} value The value to query. 1601 * @returns {string} Returns the `toStringTag`. 1602 */ 1603function baseGetTag(value) { 1604 if (value == null) { 1605 return value === undefined ? undefinedTag : nullTag; 1606 } 1607 return symToStringTag && symToStringTag in Object(value) ? getRawTag(value) : objectToString(value); 1608} 1609module.exports = baseGetTag; 1610 1611/***/ }), 1612
vendor: 648 bytes, lines 1613-1635
1613/***/ "./node_modules/lodash/_basePropertyOf.js": 1614/*!************************************************!*\ 1615 !*** ./node_modules/lodash/_basePropertyOf.js ***! 1616 \************************************************/ 1617/*! no static exports found */ 1618/***/ (function(module, exports) { 1619 1620/** 1621 * The base implementation of `_.propertyOf` without support for deep paths. 1622 * 1623 * @private 1624 * @param {Object} object The object to query. 1625 * @returns {Function} Returns the new accessor function. 1626 */ 1627function basePropertyOf(object) { 1628 return function (key) { 1629 return object == null ? undefined : object[key]; 1630 }; 1631} 1632module.exports = basePropertyOf; 1633 1634/***/ }), 1635
vendor: 1,656 bytes, lines 1636-1681
1636/***/ "./node_modules/lodash/_baseToString.js": 1637/*!**********************************************!*\ 1638 !*** ./node_modules/lodash/_baseToString.js ***! 1639 \**********************************************/ 1640/*! no static exports found */ 1641/***/ (function(module, exports, __webpack_require__) { 1642 1643var _Symbol = __webpack_require__(/*! ./_Symbol */ "./node_modules/lodash/_Symbol.js"), 1644 arrayMap = __webpack_require__(/*! ./_arrayMap */ "./node_modules/lodash/_arrayMap.js"), 1645 isArray = __webpack_require__(/*! ./isArray */ "./node_modules/lodash/isArray.js"), 1646 isSymbol = __webpack_require__(/*! ./isSymbol */ "./node_modules/lodash/isSymbol.js"); 1647 1648/** Used as references for various `Number` constants. */ 1649var INFINITY = 1 / 0; 1650 1651/** Used to convert symbols to primitives and strings. */ 1652var symbolProto = _Symbol ? _Symbol.prototype : undefined, 1653 symbolToString = symbolProto ? symbolProto.toString : undefined; 1654 1655/** 1656 * The base implementation of `_.toString` which doesn't convert nullish 1657 * values to empty strings. 1658 * 1659 * @private 1660 * @param {*} value The value to process. 1661 * @returns {string} Returns the string. 1662 */ 1663function baseToString(value) { 1664 // Exit early for strings to avoid a performance hit in some environments. 1665 if (typeof value == 'string') { 1666 return value; 1667 } 1668 if (isArray(value)) { 1669 // Recursively convert values (susceptible to call stack limits). 1670 return arrayMap(value, baseToString) + ''; 1671 } 1672 if (isSymbol(value)) { 1673 return symbolToString ? symbolToString.call(value) : ''; 1674 } 1675 var result = value + ''; 1676 return result == '0' && 1 / value == -INFINITY ? '-0' : result; 1677} 1678module.exports = baseToString; 1679 1680/***/ }), 1681
vendor: 783 bytes, lines 1682-1707
1682/***/ "./node_modules/lodash/_baseTrim.js": 1683/*!******************************************!*\ 1684 !*** ./node_modules/lodash/_baseTrim.js ***! 1685 \******************************************/ 1686/*! no static exports found */ 1687/***/ (function(module, exports, __webpack_require__) { 1688 1689var trimmedEndIndex = __webpack_require__(/*! ./_trimmedEndIndex */ "./node_modules/lodash/_trimmedEndIndex.js"); 1690 1691/** Used to match leading whitespace. */ 1692var reTrimStart = /^\s+/; 1693 1694/** 1695 * The base implementation of `_.trim`. 1696 * 1697 * @private 1698 * @param {string} string The string to trim. 1699 * @returns {string} Returns the trimmed string. 1700 */ 1701function baseTrim(string) { 1702 return string ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, '') : string; 1703} 1704module.exports = baseTrim; 1705 1706/***/ }), 1707
vendor: 1,026 bytes, lines 1708-1722
1708/***/ "./node_modules/lodash/_freeGlobal.js": 1709/*!********************************************!*\ 1710 !*** ./node_modules/lodash/_freeGlobal.js ***! 1711 \********************************************/ 1712/*! no static exports found */ 1713/***/ (function(module, exports, __webpack_require__) { 1714 1715/* WEBPACK VAR INJECTION */(function(global) {function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } 1716/** Detect free variable `global` from Node.js. */ 1717var freeGlobal = (typeof global === "undefined" ? "undefined" : _typeof(global)) == 'object' && global && global.Object === Object && global; 1718module.exports = freeGlobal; 1719/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../webpack/buildin/global.js */ "./node_modules/webpack/buildin/global.js"))) 1720 1721/***/ }), 1722
vendor: 1,480 bytes, lines 1723-1775
1723/***/ "./node_modules/lodash/_getRawTag.js": 1724/*!*******************************************!*\ 1725 !*** ./node_modules/lodash/_getRawTag.js ***! 1726 \*******************************************/ 1727/*! no static exports found */ 1728/***/ (function(module, exports, __webpack_require__) { 1729 1730var _Symbol = __webpack_require__(/*! ./_Symbol */ "./node_modules/lodash/_Symbol.js"); 1731 1732/** Used for built-in method references. */ 1733var objectProto = Object.prototype; 1734 1735/** Used to check objects for own properties. */ 1736var hasOwnProperty = objectProto.hasOwnProperty; 1737 1738/** 1739 * Used to resolve the 1740 * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring) 1741 * of values. 1742 */ 1743var nativeObjectToString = objectProto.toString; 1744 1745/** Built-in value references. */ 1746var symToStringTag = _Symbol ? _Symbol.toStringTag : undefined; 1747 1748/** 1749 * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values. 1750 * 1751 * @private 1752 * @param {*} value The value to query. 1753 * @returns {string} Returns the raw `toStringTag`. 1754 */ 1755function getRawTag(value) { 1756 var isOwn = hasOwnProperty.call(value, symToStringTag), 1757 tag = value[symToStringTag]; 1758 try { 1759 value[symToStringTag] = undefined; 1760 var unmasked = true; 1761 } catch (e) {} 1762 var result = nativeObjectToString.call(value); 1763 if (unmasked) { 1764 if (isOwn) { 1765 value[symToStringTag] = tag; 1766 } else { 1767 delete value[symToStringTag]; 1768 } 1769 } 1770 return result; 1771} 1772module.exports = getRawTag; 1773 1774/***/ }), 1775
vendor: 854 bytes, lines 1776-1806
1776/***/ "./node_modules/lodash/_objectToString.js": 1777/*!************************************************!*\ 1778 !*** ./node_modules/lodash/_objectToString.js ***! 1779 \************************************************/ 1780/*! no static exports found */ 1781/***/ (function(module, exports) { 1782 1783/** Used for built-in method references. */ 1784var objectProto = Object.prototype; 1785 1786/** 1787 * Used to resolve the 1788 * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring) 1789 * of values. 1790 */ 1791var nativeObjectToString = objectProto.toString; 1792 1793/** 1794 * Converts `value` to a string using `Object.prototype.toString`. 1795 * 1796 * @private 1797 * @param {*} value The value to convert. 1798 * @returns {string} Returns the converted string. 1799 */ 1800function objectToString(value) { 1801 return nativeObjectToString.call(value); 1802} 1803module.exports = objectToString; 1804 1805/***/ }), 1806
vendor: 993 bytes, lines 1807-1825
1807/***/ "./node_modules/lodash/_root.js": 1808/*!**************************************!*\ 1809 !*** ./node_modules/lodash/_root.js ***! 1810 \**************************************/ 1811/*! no static exports found */ 1812/***/ (function(module, exports, __webpack_require__) { 1813 1814function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } 1815var freeGlobal = __webpack_require__(/*! ./_freeGlobal */ "./node_modules/lodash/_freeGlobal.js"); 1816 1817/** Detect free variable `self`. */ 1818var freeSelf = (typeof self === "undefined" ? "undefined" : _typeof(self)) == 'object' && self && self.Object === Object && self; 1819 1820/** Used as a reference to the global object. */ 1821var root = freeGlobal || freeSelf || Function('return this')(); 1822module.exports = root; 1823 1824/***/ }), 1825
vendor: 807 bytes, lines 1826-1852
1826/***/ "./node_modules/lodash/_trimmedEndIndex.js": 1827/*!*************************************************!*\ 1828 !*** ./node_modules/lodash/_trimmedEndIndex.js ***! 1829 \*************************************************/ 1830/*! no static exports found */ 1831/***/ (function(module, exports) { 1832 1833/** Used to match a single whitespace character. */ 1834var reWhitespace = /\s/; 1835 1836/** 1837 * Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace 1838 * character of `string`. 1839 * 1840 * @private 1841 * @param {string} string The string to inspect. 1842 * @returns {number} Returns the index of the last non-whitespace character. 1843 */ 1844function trimmedEndIndex(string) { 1845 var index = string.length; 1846 while (index-- && reWhitespace.test(string.charAt(index))) {} 1847 return index; 1848} 1849module.exports = trimmedEndIndex; 1850 1851/***/ }), 1852
vendor: 871 bytes, lines 1853-1882
1853/***/ "./node_modules/lodash/_unescapeHtmlChar.js": 1854/*!**************************************************!*\ 1855 !*** ./node_modules/lodash/_unescapeHtmlChar.js ***! 1856 \**************************************************/ 1857/*! no static exports found */ 1858/***/ (function(module, exports, __webpack_require__) { 1859 1860var basePropertyOf = __webpack_require__(/*! ./_basePropertyOf */ "./node_modules/lodash/_basePropertyOf.js"); 1861 1862/** Used to map HTML entities to characters. */ 1863var htmlUnescapes = { 1864 '&': '&', 1865 '<': '<', 1866 '>': '>', 1867 '"': '"', 1868 ''': "'" 1869}; 1870 1871/** 1872 * Used by `_.unescape` to convert HTML entities to characters. 1873 * 1874 * @private 1875 * @param {string} chr The matched character to unescape. 1876 * @returns {string} Returns the unescaped character. 1877 */ 1878var unescapeHtmlChar = basePropertyOf(htmlUnescapes); 1879module.exports = unescapeHtmlChar; 1880 1881/***/ }), 1882
vendor: 6,462 bytes, lines 1883-2065
1883/***/ "./node_modules/lodash/debounce.js": 1884/*!*****************************************!*\ 1885 !*** ./node_modules/lodash/debounce.js ***! 1886 \*****************************************/ 1887/*! no static exports found */ 1888/***/ (function(module, exports, __webpack_require__) { 1889 1890var isObject = __webpack_require__(/*! ./isObject */ "./node_modules/lodash/isObject.js"), 1891 now = __webpack_require__(/*! ./now */ "./node_modules/lodash/now.js"), 1892 toNumber = __webpack_require__(/*! ./toNumber */ "./node_modules/lodash/toNumber.js"); 1893 1894/** Error message constants. */ 1895var FUNC_ERROR_TEXT = 'Expected a function'; 1896 1897/* Built-in method references for those with the same name as other `lodash` methods. */ 1898var nativeMax = Math.max, 1899 nativeMin = Math.min; 1900 1901/** 1902 * Creates a debounced function that delays invoking `func` until after `wait` 1903 * milliseconds have elapsed since the last time the debounced function was 1904 * invoked. The debounced function comes with a `cancel` method to cancel 1905 * delayed `func` invocations and a `flush` method to immediately invoke them. 1906 * Provide `options` to indicate whether `func` should be invoked on the 1907 * leading and/or trailing edge of the `wait` timeout. The `func` is invoked 1908 * with the last arguments provided to the debounced function. Subsequent 1909 * calls to the debounced function return the result of the last `func` 1910 * invocation. 1911 * 1912 * **Note:** If `leading` and `trailing` options are `true`, `func` is 1913 * invoked on the trailing edge of the timeout only if the debounced function 1914 * is invoked more than once during the `wait` timeout. 1915 * 1916 * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred 1917 * until to the next tick, similar to `setTimeout` with a timeout of `0`. 1918 * 1919 * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/) 1920 * for details over the differences between `_.debounce` and `_.throttle`. 1921 * 1922 * @static 1923 * @memberOf _ 1924 * @since 0.1.0 1925 * @category Function 1926 * @param {Function} func The function to debounce. 1927 * @param {number} [wait=0] The number of milliseconds to delay. 1928 * @param {Object} [options={}] The options object. 1929 * @param {boolean} [options.leading=false] 1930 * Specify invoking on the leading edge of the timeout. 1931 * @param {number} [options.maxWait] 1932 * The maximum time `func` is allowed to be delayed before it's invoked. 1933 * @param {boolean} [options.trailing=true] 1934 * Specify invoking on the trailing edge of the timeout. 1935 * @returns {Function} Returns the new debounced function. 1936 * @example 1937 * 1938 * // Avoid costly calculations while the window size is in flux. 1939 * jQuery(window).on('resize', _.debounce(calculateLayout, 150)); 1940 * 1941 * // Invoke `sendMail` when clicked, debouncing subsequent calls. 1942 * jQuery(element).on('click', _.debounce(sendMail, 300, { 1943 * 'leading': true, 1944 * 'trailing': false 1945 * })); 1946 * 1947 * // Ensure `batchLog` is invoked once after 1 second of debounced calls. 1948 * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 }); 1949 * var source = new EventSource('/stream'); 1950 * jQuery(source).on('message', debounced); 1951 * 1952 * // Cancel the trailing debounced invocation. 1953 * jQuery(window).on('popstate', debounced.cancel); 1954 */ 1955function debounce(func, wait, options) { 1956 var lastArgs, 1957 lastThis, 1958 maxWait, 1959 result, 1960 timerId, 1961 lastCallTime, 1962 lastInvokeTime = 0, 1963 leading = false, 1964 maxing = false, 1965 trailing = true; 1966 if (typeof func != 'function') { 1967 throw new TypeError(FUNC_ERROR_TEXT); 1968 } 1969 wait = toNumber(wait) || 0; 1970 if (isObject(options)) { 1971 leading = !!options.leading; 1972 maxing = 'maxWait' in options; 1973 maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait; 1974 trailing = 'trailing' in options ? !!options.trailing : trailing; 1975 } 1976 function invokeFunc(time) { 1977 var args = lastArgs, 1978 thisArg = lastThis; 1979 lastArgs = lastThis = undefined; 1980 lastInvokeTime = time; 1981 result = func.apply(thisArg, args); 1982 return result; 1983 } 1984 function leadingEdge(time) { 1985 // Reset any `maxWait` timer. 1986 lastInvokeTime = time; 1987 // Start the timer for the trailing edge. 1988 timerId = setTimeout(timerExpired, wait); 1989 // Invoke the leading edge. 1990 return leading ? invokeFunc(time) : result; 1991 } 1992 function remainingWait(time) { 1993 var timeSinceLastCall = time - lastCallTime, 1994 timeSinceLastInvoke = time - lastInvokeTime, 1995 timeWaiting = wait - timeSinceLastCall; 1996 return maxing ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke) : timeWaiting; 1997 } 1998 function shouldInvoke(time) { 1999 var timeSinceLastCall = time - lastCallTime, 2000 timeSinceLastInvoke = time - lastInvokeTime; 2001 2002 // Either this is the first call, activity has stopped and we're at the 2003 // trailing edge, the system time has gone backwards and we're treating 2004 // it as the trailing edge, or we've hit the `maxWait` limit. 2005 return lastCallTime === undefined || timeSinceLastCall >= wait || timeSinceLastCall < 0 || maxing && timeSinceLastInvoke >= maxWait; 2006 } 2007 function timerExpired() { 2008 var time = now(); 2009 if (shouldInvoke(time)) { 2010 return trailingEdge(time); 2011 } 2012 // Restart the timer. 2013 timerId = setTimeout(timerExpired, remainingWait(time)); 2014 } 2015 function trailingEdge(time) { 2016 timerId = undefined; 2017 2018 // Only invoke if we have `lastArgs` which means `func` has been 2019 // debounced at least once. 2020 if (trailing && lastArgs) { 2021 return invokeFunc(time); 2022 } 2023 lastArgs = lastThis = undefined; 2024 return result; 2025 } 2026 function cancel() { 2027 if (timerId !== undefined) { 2028 clearTimeout(timerId); 2029 } 2030 lastInvokeTime = 0; 2031 lastArgs = lastCallTime = lastThis = timerId = undefined; 2032 } 2033 function flush() { 2034 return timerId === undefined ? result : trailingEdge(now()); 2035 } 2036 function debounced() { 2037 var time = now(), 2038 isInvoking = shouldInvoke(time); 2039 lastArgs = arguments; 2040 lastThis = this; 2041 lastCallTime = time; 2042 if (isInvoking) { 2043 if (timerId === undefined) { 2044 return leadingEdge(lastCallTime); 2045 } 2046 if (maxing) { 2047 // Handle invocations in a tight loop. 2048 clearTimeout(timerId); 2049 timerId = setTimeout(timerExpired, wait); 2050 return invokeFunc(lastCallTime); 2051 } 2052 } 2053 if (timerId === undefined) { 2054 timerId = setTimeout(timerExpired, wait); 2055 } 2056 return result; 2057 } 2058 debounced.cancel = cancel; 2059 debounced.flush = flush; 2060 return debounced; 2061} 2062module.exports = debounce; 2063 2064/***/ }), 2065
vendor: 745 bytes, lines 2066-2100
2066/***/ "./node_modules/lodash/isArray.js": 2067/*!****************************************!*\ 2068 !*** ./node_modules/lodash/isArray.js ***! 2069 \****************************************/ 2070/*! no static exports found */ 2071/***/ (function(module, exports) { 2072 2073/** 2074 * Checks if `value` is classified as an `Array` object. 2075 * 2076 * @static 2077 * @memberOf _ 2078 * @since 0.1.0 2079 * @category Lang 2080 * @param {*} value The value to check. 2081 * @returns {boolean} Returns `true` if `value` is an array, else `false`. 2082 * @example 2083 * 2084 * _.isArray([1, 2, 3]); 2085 * // => true 2086 * 2087 * _.isArray(document.body.children); 2088 * // => false 2089 * 2090 * _.isArray('abc'); 2091 * // => false 2092 * 2093 * _.isArray(_.noop); 2094 * // => false 2095 */ 2096var isArray = Array.isArray; 2097module.exports = isArray; 2098 2099/***/ }), 2100
vendor: 1,315 bytes, lines 2101-2141
2101/***/ "./node_modules/lodash/isObject.js": 2102/*!*****************************************!*\ 2103 !*** ./node_modules/lodash/isObject.js ***! 2104 \*****************************************/ 2105/*! no static exports found */ 2106/***/ (function(module, exports) { 2107 2108function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } 2109/** 2110 * Checks if `value` is the 2111 * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types) 2112 * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`) 2113 * 2114 * @static 2115 * @memberOf _ 2116 * @since 0.1.0 2117 * @category Lang 2118 * @param {*} value The value to check. 2119 * @returns {boolean} Returns `true` if `value` is an object, else `false`. 2120 * @example 2121 * 2122 * _.isObject({}); 2123 * // => true 2124 * 2125 * _.isObject([1, 2, 3]); 2126 * // => true 2127 * 2128 * _.isObject(_.noop); 2129 * // => true 2130 * 2131 * _.isObject(null); 2132 * // => false 2133 */ 2134function isObject(value) { 2135 var type = _typeof(value); 2136 return value != null && (type == 'object' || type == 'function'); 2137} 2138module.exports = isObject; 2139 2140/***/ }), 2141
vendor: 1,212 bytes, lines 2142-2180
2142/***/ "./node_modules/lodash/isObjectLike.js": 2143/*!*********************************************!*\ 2144 !*** ./node_modules/lodash/isObjectLike.js ***! 2145 \*********************************************/ 2146/*! no static exports found */ 2147/***/ (function(module, exports) { 2148 2149function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } 2150/** 2151 * Checks if `value` is object-like. A value is object-like if it's not `null` 2152 * and has a `typeof` result of "object". 2153 * 2154 * @static 2155 * @memberOf _ 2156 * @since 4.0.0 2157 * @category Lang 2158 * @param {*} value The value to check. 2159 * @returns {boolean} Returns `true` if `value` is object-like, else `false`. 2160 * @example 2161 * 2162 * _.isObjectLike({}); 2163 * // => true 2164 * 2165 * _.isObjectLike([1, 2, 3]); 2166 * // => true 2167 * 2168 * _.isObjectLike(_.noop); 2169 * // => false 2170 * 2171 * _.isObjectLike(null); 2172 * // => false 2173 */ 2174function isObjectLike(value) { 2175 return value != null && _typeof(value) == 'object'; 2176} 2177module.exports = isObjectLike; 2178 2179/***/ }), 2180
vendor: 1,390 bytes, lines 2181-2218
2181/***/ "./node_modules/lodash/isSymbol.js": 2182/*!*****************************************!*\ 2183 !*** ./node_modules/lodash/isSymbol.js ***! 2184 \*****************************************/ 2185/*! no static exports found */ 2186/***/ (function(module, exports, __webpack_require__) { 2187 2188function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } 2189var baseGetTag = __webpack_require__(/*! ./_baseGetTag */ "./node_modules/lodash/_baseGetTag.js"), 2190 isObjectLike = __webpack_require__(/*! ./isObjectLike */ "./node_modules/lodash/isObjectLike.js"); 2191 2192/** `Object#toString` result references. */ 2193var symbolTag = '[object Symbol]'; 2194 2195/** 2196 * Checks if `value` is classified as a `Symbol` primitive or object. 2197 * 2198 * @static 2199 * @memberOf _ 2200 * @since 4.0.0 2201 * @category Lang 2202 * @param {*} value The value to check. 2203 * @returns {boolean} Returns `true` if `value` is a symbol, else `false`. 2204 * @example 2205 * 2206 * _.isSymbol(Symbol.iterator); 2207 * // => true 2208 * 2209 * _.isSymbol('abc'); 2210 * // => false 2211 */ 2212function isSymbol(value) { 2213 return _typeof(value) == 'symbol' || isObjectLike(value) && baseGetTag(value) == symbolTag; 2214} 2215module.exports = isSymbol; 2216 2217/***/ }), 2218
vendor: 836 bytes, lines 2219-2250
2219/***/ "./node_modules/lodash/now.js": 2220/*!************************************!*\ 2221 !*** ./node_modules/lodash/now.js ***! 2222 \************************************/ 2223/*! no static exports found */ 2224/***/ (function(module, exports, __webpack_require__) { 2225 2226var root = __webpack_require__(/*! ./_root */ "./node_modules/lodash/_root.js"); 2227 2228/** 2229 * Gets the timestamp of the number of milliseconds that have elapsed since 2230 * the Unix epoch (1 January 1970 00:00:00 UTC). 2231 * 2232 * @static 2233 * @memberOf _ 2234 * @since 2.4.0 2235 * @category Date 2236 * @returns {number} Returns the timestamp. 2237 * @example 2238 * 2239 * _.defer(function(stamp) { 2240 * console.log(_.now() - stamp); 2241 * }, _.now()); 2242 * // => Logs the number of milliseconds it took for the deferred invocation. 2243 */ 2244var now = function now() { 2245 return root.Date.now(); 2246}; 2247module.exports = now; 2248 2249/***/ }), 2250
vendor: 1,943 bytes, lines 2251-2321
2251/***/ "./node_modules/lodash/toNumber.js": 2252/*!*****************************************!*\ 2253 !*** ./node_modules/lodash/toNumber.js ***! 2254 \*****************************************/ 2255/*! no static exports found */ 2256/***/ (function(module, exports, __webpack_require__) { 2257 2258var baseTrim = __webpack_require__(/*! ./_baseTrim */ "./node_modules/lodash/_baseTrim.js"), 2259 isObject = __webpack_require__(/*! ./isObject */ "./node_modules/lodash/isObject.js"), 2260 isSymbol = __webpack_require__(/*! ./isSymbol */ "./node_modules/lodash/isSymbol.js"); 2261 2262/** Used as references for various `Number` constants. */ 2263var NAN = 0 / 0; 2264 2265/** Used to detect bad signed hexadecimal string values. */ 2266var reIsBadHex = /^[-+]0x[0-9a-f]+$/i; 2267 2268/** Used to detect binary string values. */ 2269var reIsBinary = /^0b[01]+$/i; 2270 2271/** Used to detect octal string values. */ 2272var reIsOctal = /^0o[0-7]+$/i; 2273 2274/** Built-in method references without a dependency on `root`. */ 2275var freeParseInt = parseInt; 2276 2277/** 2278 * Converts `value` to a number. 2279 * 2280 * @static 2281 * @memberOf _ 2282 * @since 4.0.0 2283 * @category Lang 2284 * @param {*} value The value to process. 2285 * @returns {number} Returns the number. 2286 * @example 2287 * 2288 * _.toNumber(3.2); 2289 * // => 3.2 2290 * 2291 * _.toNumber(Number.MIN_VALUE); 2292 * // => 5e-324 2293 * 2294 * _.toNumber(Infinity); 2295 * // => Infinity 2296 * 2297 * _.toNumber('3.2'); 2298 * // => 3.2 2299 */ 2300function toNumber(value) { 2301 if (typeof value == 'number') { 2302 return value; 2303 } 2304 if (isSymbol(value)) { 2305 return NAN; 2306 } 2307 if (isObject(value)) { 2308 var other = typeof value.valueOf == 'function' ? value.valueOf() : value; 2309 value = isObject(other) ? other + '' : other; 2310 } 2311 if (typeof value != 'string') { 2312 return value === 0 ? value : +value; 2313 } 2314 value = baseTrim(value); 2315 var isBinary = reIsBinary.test(value); 2316 return isBinary || reIsOctal.test(value) ? freeParseInt(value.slice(2), isBinary ? 2 : 8) : reIsBadHex.test(value) ? NAN : +value; 2317} 2318module.exports = toNumber; 2319 2320/***/ }), 2321
vendor: 920 bytes, lines 2322-2358
2322/***/ "./node_modules/lodash/toString.js": 2323/*!*****************************************!*\ 2324 !*** ./node_modules/lodash/toString.js ***! 2325 \*****************************************/ 2326/*! no static exports found */ 2327/***/ (function(module, exports, __webpack_require__) { 2328 2329var baseToString = __webpack_require__(/*! ./_baseToString */ "./node_modules/lodash/_baseToString.js"); 2330 2331/** 2332 * Converts `value` to a string. An empty string is returned for `null` 2333 * and `undefined` values. The sign of `-0` is preserved. 2334 * 2335 * @static 2336 * @memberOf _ 2337 * @since 4.0.0 2338 * @category Lang 2339 * @param {*} value The value to convert. 2340 * @returns {string} Returns the converted string. 2341 * @example 2342 * 2343 * _.toString(null); 2344 * // => '' 2345 * 2346 * _.toString(-0); 2347 * // => '-0' 2348 * 2349 * _.toString([1, 2, 3]); 2350 * // => '1,2,3' 2351 */ 2352function toString(value) { 2353 return value == null ? '' : baseToString(value); 2354} 2355module.exports = toString; 2356 2357/***/ }), 2358
vendor: 1,439 bytes, lines 2359-2399
2359/***/ "./node_modules/lodash/unescape.js": 2360/*!*****************************************!*\ 2361 !*** ./node_modules/lodash/unescape.js ***! 2362 \*****************************************/ 2363/*! no static exports found */ 2364/***/ (function(module, exports, __webpack_require__) { 2365 2366var toString = __webpack_require__(/*! ./toString */ "./node_modules/lodash/toString.js"), 2367 unescapeHtmlChar = __webpack_require__(/*! ./_unescapeHtmlChar */ "./node_modules/lodash/_unescapeHtmlChar.js"); 2368 2369/** Used to match HTML entities and HTML characters. */ 2370var reEscapedHtml = /&(?:amp|lt|gt|quot|#39);/g, 2371 reHasEscapedHtml = RegExp(reEscapedHtml.source); 2372 2373/** 2374 * The inverse of `_.escape`; this method converts the HTML entities 2375 * `&`, `<`, `>`, `"`, and `'` in `string` to 2376 * their corresponding characters. 2377 * 2378 * **Note:** No other HTML entities are unescaped. To unescape additional 2379 * HTML entities use a third-party library like [_he_](https://mths.be/he). 2380 * 2381 * @static 2382 * @memberOf _ 2383 * @since 0.6.0 2384 * @category String 2385 * @param {string} [string=''] The string to unescape. 2386 * @returns {string} Returns the unescaped string. 2387 * @example 2388 * 2389 * _.unescape('fred, barney, & pebbles'); 2390 * // => 'fred, barney, & pebbles' 2391 */ 2392function unescape(string) { 2393 string = toString(string); 2394 return string && reHasEscapedHtml.test(string) ? string.replace(reEscapedHtml, unescapeHtmlChar) : string; 2395} 2396module.exports = unescape; 2397 2398/***/ }), 2399
vendor: 1,092 bytes, lines 2400-2428
2400/***/ "./node_modules/webpack/buildin/global.js": 2401/*!***********************************!*\ 2402 !*** (webpack)/buildin/global.js ***! 2403 \***********************************/ 2404/*! no static exports found */ 2405/***/ (function(module, exports) { 2406 2407function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } 2408var g; 2409 2410// This works in non-strict mode 2411g = function () { 2412 return this; 2413}(); 2414try { 2415 // This works if eval is allowed (see CSP) 2416 g = g || new Function("return this")(); 2417} catch (e) { 2418 // This works if the window reference is available 2419 if ((typeof window === "undefined" ? "undefined" : _typeof(window)) === "object") g = window; 2420} 2421 2422// g can still be undefined, but nothing to do about it... 2423// We return undefined, instead of nothing here, so it's 2424// easier to handle this case. if(!global) { ...} 2425 2426module.exports = g; 2427 2428/***/ })
2428 2429 2430/******/ }); 2431//# sourceMappingURL=storePage.js.map
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.