{"version":3,"file":"main.js","sources":["webpack:///webpack/bootstrap","webpack:///./app_lre/cartridge/client/default/js/components/clientSideValidation.js","webpack:///./app_lre/cartridge/client/default/js/components/contactUs.js","webpack:///./app_lre/cartridge/client/default/js/components/eyebrowBar.js","webpack:///./app_lre/cartridge/client/default/js/components/mqlPopUp.js","webpack:///./app_lre/cartridge/client/default/js/components/search.js","webpack:///./app_lre/cartridge/client/default/js/components/utmParams.js","webpack:///./app_lre/cartridge/client/default/js/main.js","webpack:///./google_cartridge/int_gtm_sfra/cartridge/client/default/js/gtm/init.js","webpack:///./google_cartridge/int_gtm_sfra/cartridge/client/default/js/gtm/polyfills.js","webpack:///./google_cartridge/int_gtm_sfra/cartridge/client/default/js/gtm/preprocessors.js","webpack:///./node_modules/bootstrap/js/src/alert.js","webpack:///./node_modules/bootstrap/js/src/carousel.js","webpack:///./node_modules/bootstrap/js/src/collapse.js","webpack:///./node_modules/bootstrap/js/src/modal.js","webpack:///./node_modules/bootstrap/js/src/scrollspy.js","webpack:///./node_modules/bootstrap/js/src/tab.js","webpack:///./node_modules/bootstrap/js/src/util.js","webpack:///./node_modules/intersection-observer/intersection-observer.js","webpack:///./node_modules/jquery/dist/jquery.js","webpack:///./node_modules/lodash/_Symbol.js","webpack:///./node_modules/lodash/_baseGetTag.js","webpack:///./node_modules/lodash/_freeGlobal.js","webpack:///./node_modules/lodash/_getRawTag.js","webpack:///./node_modules/lodash/_objectToString.js","webpack:///./node_modules/lodash/_root.js","webpack:///./node_modules/lodash/debounce.js","webpack:///./node_modules/lodash/isObject.js","webpack:///./node_modules/lodash/isObjectLike.js","webpack:///./node_modules/lodash/isSymbol.js","webpack:///./node_modules/lodash/now.js","webpack:///./node_modules/lodash/toNumber.js","webpack:///./node_modules/lozad/dist/lozad.min.js","webpack:///./node_modules/slick-carousel/slick/slick.js","webpack:///(webpack)/buildin/global.js","webpack:///(webpack)/buildin/module.js","webpack:///./plugin_wishlists/cartridges/plugin_wishlists/cartridge/client/default/js/components/miniCart.js","webpack:///./storefront-reference-architecture/cartridges/app_storefront_base/cartridge/client/default/js/cart/cart.js","webpack:///./storefront-reference-architecture/cartridges/app_storefront_base/cartridge/client/default/js/components/collapsibleItem.js","webpack:///./storefront-reference-architecture/cartridges/app_storefront_base/cartridge/client/default/js/components/cookie.js","webpack:///./storefront-reference-architecture/cartridges/app_storefront_base/cartridge/client/default/js/components/countrySelector.js","webpack:///./storefront-reference-architecture/cartridges/app_storefront_base/cartridge/client/default/js/components/focus.js","webpack:///./storefront-reference-architecture/cartridges/app_storefront_base/cartridge/client/default/js/components/footer.js","webpack:///./storefront-reference-architecture/cartridges/app_storefront_base/cartridge/client/default/js/components/keyboardAccessibility.js","webpack:///./storefront-reference-architecture/cartridges/app_storefront_base/cartridge/client/default/js/components/menu.js","webpack:///./storefront-reference-architecture/cartridges/app_storefront_base/cartridge/client/default/js/components/miniCart.js","webpack:///./storefront-reference-architecture/cartridges/app_storefront_base/cartridge/client/default/js/components/scrollAnimate.js","webpack:///./storefront-reference-architecture/cartridges/app_storefront_base/cartridge/client/default/js/components/search.js","webpack:///./storefront-reference-architecture/cartridges/app_storefront_base/cartridge/client/default/js/components/spinner.js","webpack:///./storefront-reference-architecture/cartridges/app_storefront_base/cartridge/client/default/js/components/toolTip.js","webpack:///./storefront-reference-architecture/cartridges/app_storefront_base/cartridge/client/default/js/product/base.js","webpack:///./storefront-reference-architecture/cartridges/app_storefront_base/cartridge/client/default/js/thirdParty/bootstrap.js","webpack:///./storefront-reference-architecture/cartridges/app_storefront_base/cartridge/client/default/js/util.js"],"sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"./app_lre/cartridge/client/default/js/main.js\");\n","'use strict';\n\nfunction enforcePatternValidationInclusion(ths) {\n var zipRegexPattern = '(^\\\\d{5}(-\\\\d{4})?$)|(^[abceghjklmnprstvxyABCEGHJKLMNPRSTVXY]{1}\\\\d{1}[A-Za-z]{1} *\\\\d{1}[A-Za-z]{1}\\\\d{1}$)'; // '(^\\d{5}(-\\d{4})?$)|(^[abceghjklmnprstvxyABCEGHJKLMNPRSTVXY]{1}\\d{1}[A-Za-z]{1} *\\d{1}[A-Za-z]{1}\\d{1}$';\n var countryFieldRef = $('select[name=dwfrm_registration_country]');\n var accountPostalcodeFieldRef = $('input[name=dwfrm_registration_postalCode]');\n var billingPostalcodeFieldRef = $('input[name=dwfrm_billing_addressFields_postalCode]');\n\n var countryWhiteList = ['US', 'CA']; // To be moved to site preference if any additional changes countries will be added to whitelist\n var countryValue = \"\";\n\n if (countryFieldRef.length > 0) {\n countryValue = \"\" + countryFieldRef.val();\n }\n\n if (accountPostalcodeFieldRef.length > 0) {\n if (countryWhiteList.indexOf(countryValue.toUpperCase()) > -1) {\n accountPostalcodeFieldRef.attr('pattern', zipRegexPattern);\n } else {\n accountPostalcodeFieldRef.removeAttr('pattern');\n }\n }\n if (billingPostalcodeFieldRef.length > 0) {\n countryFieldRef = $('select[name=dwfrm_billing_addressFields_country]');\n if (countryFieldRef.length > 0) {\n countryValue = \"\" + countryFieldRef.val();\n }\n if (countryWhiteList.indexOf(countryValue.toUpperCase()) > -1) {\n billingPostalcodeFieldRef.attr('pattern', zipRegexPattern);\n } else {\n billingPostalcodeFieldRef.removeAttr('pattern');\n }\n }\n}\n\n/**\n * Validate whole form. Requires `this` to be set to form object\n * @param {jQuery.event} event - Event to be canceled if form is invalid.\n * @returns {boolean} - Flag to indicate if form is valid\n */\nfunction validateForm(event) {\n var valid = true;\n enforcePatternValidationInclusion(this);\n\n var validityResult = (this.checkValidity && !this.checkValidity());\n if (validityResult) {\n // safari\n valid = false;\n if (event) {\n event.preventDefault();\n event.stopPropagation();\n event.stopImmediatePropagation();\n }\n $(this).find('input, select').each(function () {\n if (!this.validity.valid) {\n $(this).trigger('invalid', this.validity);\n }\n });\n }\n return valid;\n}\n\n/**\n * Remove all validation. Should be called every time before revalidating form\n * @param {element} form - Form to be cleared\n * @returns {void}\n */\nfunction clearForm(form) {\n $(form).find('.form-control.is-invalid').removeClass('is-invalid');\n}\n\nmodule.exports = {\n invalid: function () {\n $('form input, form select').on('invalid', function (e) {\n e.preventDefault();\n this.setCustomValidity('');\n if (!this.validity.valid) {\n var validationMessage = this.validationMessage;\n $(this).addClass('is-invalid');\n if (this.validity.patternMismatch && $(this).data('pattern-mismatch')) {\n validationMessage = $(this).data('pattern-mismatch');\n }\n if ((this.validity.rangeOverflow || this.validity.rangeUnderflow)\n && $(this).data('range-error')) {\n validationMessage = $(this).data('range-error');\n }\n if ((this.validity.tooLong || this.validity.tooShort)\n && $(this).data('range-error')) {\n validationMessage = $(this).data('range-error');\n }\n if (this.validity.valueMissing && $(this).data('missing-error')) {\n validationMessage = $(this).data('missing-error');\n }\n // 119989\n if (this.validity.patternMismatch && $(this).data('pattern-mismatch') && (this.validity.tooLong || this.validity.tooShort) && $(this).data('range-error')) {\n validationMessage = $(this).data('pattern-mismatch');\n }\n $(this).parents('.form-group').find('.invalid-feedback')\n .text(validationMessage);\n }\n });\n },\n\n submit: function () {\n $('form').on('submit', function (e) {\n return validateForm.call(this, e);\n });\n },\n\n buttonClick: function () {\n $('form button[type=\"submit\"], form input[type=\"submit\"]').on('click', function () {\n // clear all errors when trying to submit the form\n clearForm($(this).parents('form'));\n });\n },\n /*\n * Story 29419 Unauthorized Access To Order\n * Displays an help text message when the input email box is focused or customer tries to change the email ID\n */\n onEmailChange: function () {\n $('#dwfrm_registration input[name=\"dwfrm_registration_email\"]').focus(function () {\n var message = $(this).parents('.form-group').attr('data-emailchangemsg');\n $(this).addClass('is-invalid');\n $(this).parents('.form-group').find('.invalid-feedback').html(message);\n });\n },\n\n onBlur: function () {\n $('form input, form select').on('blur', function (e) {\n // clear this specific error, then validate\n clearForm($(this).closest('.form-group'));\n return validateForm.call(this, e);\n });\n /*\n * Story 29419 Unauthorized Access To Order.\n * When customer enters email in the PI page during checkout, it is checked if a customer exists with the email given.\n * If customer exists, it will display a error message.\n * If customer doesn't exist, the flow will be continued.\n */\n $('#dwfrm_registration input[name=\"dwfrm_registration_email\"]').blur(function () {\n if ($(this).val() !== '') {\n var url = $(this).parents('.form-group').attr('data-url');\n var currentEmail = $(this).val();\n $.spinner().start();\n $.ajax({\n url: url,\n type: 'GET',\n data: { currentEmail: currentEmail },\n success: function (data) {\n if (data.error === true) {\n $('input#email').addClass('is-invalid');\n $('input[name=\"dwfrm_registration_email\"]').parents('.form-group').find('.invalid-feedback').html(data.message);\n }\n $.spinner().stop();\n },\n error: function () {\n $.spinner().stop();\n }\n });\n }\n });\n },\n\n functions: {\n validateForm: function (form, event) {\n validateForm.call($(form), event || null);\n },\n clearForm: clearForm\n }\n};\n","'use strict';\n\nfunction disableFileSubmit() {\n $('form.contactus-info-form').spinner().start();\n $('.contactus-info-submit').prop('disabled', true);\n}\nfunction enableFileSubmit() {\n $('.contactus-info-submit').prop('disabled', false);\n}\n\n$(document).ready(function () {\n var isFormSubmitted = false;\n function validDescription() {\n var description = $('.cus-description').val();\n if (description === '') {\n $('.cus-description').addClass('is-invalid');\n } else {\n $('.cus-description').removeClass('is-invalid');\n }\n }\n\n function clearFormFile() {\n $('#fileInput, #fileName, #fileData').val('');\n $('.file-name').text('No document uploaded');\n $('.invalid-uploadSize').empty();\n $(\"span.add-file\").removeClass('d-none').addClass('d-flex');\n $(\"span.delete-file\").removeClass('d-flex').addClass('d-none');\n }\n\n function clearFormErrors() {\n $('form.contactus-info-form input, form.contactus-info-form .form-control').removeClass('is-invalid');\n $('form.contactus-info-form .invalid-feedback').empty().hide();\n }\n\n $('.contactus-info-submit').click(function (e) {\n validDescription();\n });\n $('.cus-description').change(function () {\n validDescription();\n });\n\n $('#fileInput').on('change', function (e) {\n var file = e.target.files[0];\n if (file) {\n var reader = new FileReader();\n reader.onload = function (event) {\n var fileName = file.name;\n var fileData = event.target.result.split(',')[1];\n var fileSize = file.size;\n $('#fileName').val(fileName);\n $('#fileData').val(fileData);\n $('#fileSize').val(fileSize);\n $('.file-name').text(fileName);\n $('.invalid-uploadSize').empty();\n $(\"span.add-file\").removeClass('d-flex').addClass('d-none');\n $(\"span.delete-file\").removeClass('d-none').addClass('d-flex');\n };\n reader.readAsDataURL(file);\n }\n });\n\n $('.delete-file-reset').on('click', function () {\n clearFormFile();\n });\n\n $('form.contactus-info-form').submit(function (e) {\n e.preventDefault();\n disableFileSubmit();\n var fileInput = document.getElementById('fileInput');\n var form = $(this);\n var button = $('.contactus-info-submit');\n var url = form.attr('action');\n var formData = $(this).serialize();\n if (fileInput.files.length !== 0) {\n var file = fileInput.files[0];\n var fileSize = file.size / 1024 / 1024; // in MB\n if (fileSize > 4) {\n enableFileSubmit();\n $.spinner().stop();\n $('.invalid-uploadSize').html('File size exceeds 4 MB, please select a smaller file.');\n $('.invalid-uploadSize').show();\n $(file).val('');\n return false;\n }\n formData += '&fileName=' + $('#fileName').val();\n formData += '&fileData=' + $('#fileData').val();\n formData += '&fileSize=' + $('#fileValue').val();\n }\n $.ajax({\n url: url,\n type: 'post',\n dataType: 'json',\n data: formData,\n success: function (data) {\n enableFileSubmit();\n $.spinner().stop();\n if (data.success) {\n form.trigger('reset');\n $('.contactus-info-form').hide();\n $('.contact-us-message').empty().append('