{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///../autobahn_client_core/cartridges/autobahn_client_core/cartridge/client/default/js/integrations/turnto/product/detail.js","webpack:///../autobahn_client_core/cartridges/autobahn_client_core/cartridge/client/default/js/integrations/turnto/teaser/teasersModules.js","webpack:///../autobahn_client_core/cartridges/autobahn_client_core/cartridge/client/default/js/product/detail.js","webpack:///../autobahn_client_core/cartridges/autobahn_client_core/cartridge/client/default/js/productDetail.js","webpack:///../rvw_autobahn_core/cartridges/rvw_autobahn_core/cartridge/client/default/js/components/recaptcha.js","webpack:///../rvw_autobahn_core/cartridges/rvw_autobahn_core/cartridge/client/default/js/integrations/siteIntegrationsUtils.js","webpack:///../rvw_autobahn_core/cartridges/rvw_autobahn_core/cartridge/client/default/js/product/addToCartStickyBar.js","webpack:///../rvw_autobahn_core/cartridges/rvw_autobahn_core/cartridge/client/default/js/product/detail.js","webpack:///../rvw_autobahn_core/cartridges/rvw_autobahn_core/cartridge/client/default/js/productDetail.js","webpack:///../rvw_autobahn_core/cartridges/rvw_autobahn_core/cartridge/scripts/constants/SiteConstants.js","webpack:///../rvw_integrations_core/cartridges/rvw_integrations_core/cartridge/client/default/js/integrations/applepay.js","webpack:///../rvw_integrations_core/cartridges/rvw_integrations_core/cartridge/client/default/js/integrations/bopis/productDetail.js","webpack:///../rvw_integrations_core/cartridges/rvw_integrations_core/cartridge/client/default/js/integrations/commercepayments/product/detail.js","webpack:///../rvw_integrations_core/cartridges/rvw_integrations_core/cartridge/client/default/js/integrations/commercepayments/product/payments.js","webpack:///../rvw_integrations_core/cartridges/rvw_integrations_core/cartridge/client/default/js/integrations/siteIntegrationsUtils.js","webpack:///../rvw_integrations_core/cartridges/rvw_integrations_core/cartridge/client/default/js/integrations/subpro/subscriptionOptions.js","webpack:///../rvw_integrations_core/cartridges/rvw_integrations_core/cartridge/client/default/js/productDetail.js","webpack:///../storefront-reference-architecture/cartridges/app_storefront_base/cartridge/client/default/js/util.js"],"names":["teasersModules","require","module","exports","updateAttribute","$","on","e","response","length","container","data","product","id","find","text","eq","not","useVariantsPreference","TurnToCmd","sku","loadTeaserCounts","skus","getAdjustedRating","rating","floorValue","Math","floor","rounded","round","decimalValue","parseFloat","toFixed","createTeaserElement","tag","className","el","document","createElement","setAttribute","innerText","generateTeaserStar","starType","svgEl","createElementNS","useEl","setAttributeNS","appendChild","generateTeaserStars","adjustedRating","i","generateReadReviews","numReviews","generateQuestions","numQuestions","numAnswers","generateReadComments","numComments","generateWriteReview","populateTeaser","counts","fragment","createDocumentFragment","reviews","avgRating","questions","createTextNode","answers","comments","teaserElem","getElementById","textContent","querySelector","addEventListener","xhr","XMLHttpRequest","turntoUrl","turnToSiteDataVars","turnToUrl","siteKey","ugcCountsUrl","turnToConfig","locale","open","responseText","JSON","parse","send","generateRatingStars","allTeaserDivs","getElementsByClassName","teaserDiv","dataset","starrating","updateAttributes","$productContainer","empty","html","attributesHtml","trigger","updateAddAllToCart","updateHeadlinesAndTabs","headline","show","hide","headlineDescription","collapsibleContentHTML","replaceWith","tabsHTML","enable","toArray","every","item","attr","copyProductLink","event","preventDefault","$temp","append","val","select","execCommand","remove","removeClass","setTimeout","addClass","showSpinner","spinner","start","setCollapsibleContentState","$collapsibleContentGroup","each","isDesktopExpanded","isMobileExpanded","isExpanded","window","isMobile","integrations","productExtensions","siteIntegrations","toggleObject","getIntegrationSettings","productDetailsBase","detail","turntoCartridgeEnabled","turntoDetail","extend","push","forEach","library","Object","keys","baseFiles","check","next","grecaptcha","ready","actionName","target","replace","execute","CachedData","recaptchaSiteKey","action","then","token","recaptchaTokenInput","recaptchaActionInput","param","ajax","stickyBarJumpLinks","animate","scrollTop","offset","top","addToCartStickyBar","SiteConstants","addToCartContainer","$body","topHeader","classList","contains","topHeaderHeight","offsetHeight","pageYOffset","offsetTop","hasClass","removeAttribute","TransitionSpeed","expandCollapsibleContentGroup","processInclude","key","BreakpointSizes","ComponentAnimationDelay","Spacer","placeholderImagePaths","defaultMapMarker","defaultStoreType","UP_KEY","DOWN_KEY","DIRECTION_DOWN","DIRECTION_UP","methods","afterApplePayTagReplacement","checkoutPaymentTab","removeAttr","updateAddToCart","appleButton","name","readyToOrder","available","detectIsApplePayTagReplacement","applePayTag","addNode","observer","disconnect","onStoreSelected","onStoreAfterRemoveStoreSelection","sfcpUpdateAddToCart","recaptcha","getCartQuantity","url","delay","Promise","resolve","reject","timeoutMillis","contentType","success","quantityTotal","error","updateBuyNowRequest","sfpp","errorElement","buynow","get","getCartUrl","placeOrderUrl","paypalApproveUrl","paypalMessage","updateBasketData","basketData","updatePaymentRequest","options","paypalAmount","location","reload","getRenderedTypes","indexOf","message","method","errorMessage","redirect","appendTo","body","continueUrl","value","orderID","orderToken","submit","err","type","href","redirectUrl","responseJSON","core","toggleDeliveryIntervalDropdown","$deliveryInterval","hideDropdown","currentTarget","serializeURLParams","obj","prefix","str","p","hasOwnProperty","k","v","serialize","encodeURIComponent","join","showMinimumFrequencyWarning","context","siblings","enteredVal","parseInt","minAllowed","plural","subscriptionOptions","cartInit","off","parents","page","hasScheduledDelivery","regularDeliveries","regularDelivery","checked","variantInit","option","parent","getOptionsState","pliUUID","closest","subscriptionMode","deliveryInteval","deliveryNumPeriods","discount","isDiscountPercentage","handleAddToCartSubOptions","subOptions","ajaxUpdateOptions","queryString","cache","cybersourceCartridgeEnabled","adyenCartridgeEnabled","applepay","subproEnabled","sfcommercepaymentsCartridgeEnabled","payments","bopisCartridgeEnabled","bopis","include","call"],"mappings":"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","file":"default/js/productDetail.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 = \"../autobahn_client_core/cartridges/autobahn_client_core/cartridge/client/default/js/productDetail.js\");\n","'use strict';\n\nvar teasersModules = require('../teaser/teasersModules');\n\nmodule.exports = {\n updateAttribute: function () {\n $('body').on('product:afterAttributeSelect', function (e, response) {\n if ($('.product-detail>.bundle-items').length) {\n response.container.data('pid', response.data.product.id);\n response.container.find('.product-id').text(response.data.product.id);\n } else if ($('.product-set-detail').eq(0)) {\n response.container.data('pid', response.data.product.id);\n response.container.find('.product-id').text(response.data.product.id);\n } else {\n $('.product-id').text(response.data.product.id);\n $('.product-detail').not('.bundle-item').data('pid', response.data.product.id);\n }\n // Only run if client has variant products enabled\n if (useVariantsPreference) {\n TurnToCmd('set', { sku: response.data.product.id }); // eslint-disable-line new-cap\n teasersModules.loadTeaserCounts(response.data.product.id);\n TurnToCmd('gallery.set', { skus: [response.data.product.id] });// eslint-disable-line new-cap\n }\n });\n },\n};\n","'use strict';\n\n/**\n * @description helper script to retrieve reviews and comments and render them on a page\n * @note this script is identical to the core teasers.js script, but it is needed in this particular directory for proper webpack compilation\n */\n\n /**\n * @function\n * @name getAdjustedRating\n * @description the getAdjustedRating function adjusts/rounds the rating to have decimal value of .0 or .5\n * @param {string} rating -\n * @return {number} adjusted rating decimal value\n */\nfunction getAdjustedRating(rating) {\n var floorValue = Math.floor(rating);\n var rounded = Math.round(rating * 100) / 100;\n var decimalValue = parseFloat((rounded - floorValue).toFixed(2));\n if (decimalValue < 0.25) {\n return floorValue;\n } else if (decimalValue < 0.75) {\n return floorValue + 0.5;\n }\n return floorValue + 1;\n}\n\n /**\n * @function\n * @name createTeaserElement\n * @description This is a helper function used by other functions to create an element with a specific tag name and class name.\n * Optionally pass “text” to populate the element with the provided text.\n * @param {string} tag type of DOM element\n * @param {string} className name of the element class\n * @param {string} text value to be added to the element\n * @return {Object} el DOM object\n */\nfunction createTeaserElement(tag, className, text) {\n var el = document.createElement(tag);\n el.setAttribute('class', className);\n if (text) {\n el.innerText = text;\n }\n return el;\n}\n\n/**\n * @function\n * @name generateTeaserStar\n * @description The generateTeaserStars function creates an SVG element that references one of three possible stars (full, half or empty).\n * The SVGs must be defined at the top of the body of the page.\n * @param {string} starType -\n * @return {Object} el DOM object\n */\nfunction generateTeaserStar(starType) {\n var svgEl = document.createElementNS('http://www.w3.org/2000/svg', 'svg');\n svgEl.setAttribute('class', 'TTteaser__icon--' + starType);\n var useEl = document.createElementNS('http://www.w3.org/2000/svg', 'use');\n useEl.setAttributeNS('http://www.w3.org/1999/xlink', 'xlink:href',\n\t'#tt-teaser-star--' + starType);\n svgEl.appendChild(useEl);\n var el = createTeaserElement('span', 'TTteaser__star');\n el.appendChild(svgEl);\n return el;\n}\n\n /**\n * @function\n * @name generateTeaserStars\n * @description The generateTeaserStars function is called by the populateTesear function to create the review stars.\n * @param {string} rating -\n * @return {Object} el DOM object\n */\nfunction generateTeaserStars(rating) {\n var el = createTeaserElement('div', 'TTteaser__rating');\n var adjustedRating = getAdjustedRating(rating);\n for (var i = 1; i <= 5; i++) {\n if (i > adjustedRating && i - adjustedRating >= 1) {\n el.appendChild(generateTeaserStar('empty'));\n } else if (i <= adjustedRating) {\n el.appendChild(generateTeaserStar('full'));\n } else {\n el.appendChild(generateTeaserStar('half'));\n }\n }\n return el;\n}\n\n/**\n * @function\n * @name generateReadReviews\n * @description This function is called by the populateTeaser function to generate the link that will move to the place in the page\n * where the reviews list is located by placing the name of the reviews list div id in the href.\n * @param {number} numReviews -\n * @return {Object} el DOM object\n */\nfunction generateReadReviews(numReviews) {\n\t// Populate the 'Read x Reviews' text with the number of reviews and set\n var text = 'Read ' + numReviews + ' Review' + (numReviews > 1 ? 's' : '');\n var el = createTeaserElement('a', 'TTteaser__read-reviews', text);\n el.setAttribute('href', '#tt-reviews-list');\n return el;\n}\n\n/**\n * @function\n * @name generateQuestions\n * @description This function is called by the populateTeaser function to generate the read questions\n * @param {number} numQuestions -\n * @param {number} numAnswers -\n * @return {Object} el DOM object\n */\nfunction generateQuestions(numQuestions, numAnswers) {\n\t// Populate 'x Questions' text with the number of questions\n var text = numQuestions + ' Question' + (numQuestions > 1 ? 's' : '');\n\n\t// then populate the number of answers\n if (numAnswers > 0) {\n text = text + ', ' + numAnswers + ' Answer' + (numAnswers > 1 ? 's' : '');\n }\n\n var el = createTeaserElement('a', 'TTteaser__read-qa', text);\n el.setAttribute('href', '#tt-instant-answers-widget');\n\n\t// For the Q&A list widget set to the following\n el.setAttribute('href', '#tt-qa-list');\n\n return el;\n}\n\n/**\n * @function\n * @name generateReadComments\n * @description This function is called by the populateTeaser function to generate the link that will move to the place in the page\n * where the Checkout Comments are located by placing the name of the Checkout Comments div id in the href.\n * @param {number} numComments -\n * @return {Object} el DOM object\n */\nfunction generateReadComments(numComments) {\n\t// Populate the 'x Buyer Comments' text with the number of comments and set\n var text = numComments + ' Buyer Comment' + (numComments > 1 ? 's' : '');\n var el = createTeaserElement('a', 'TTteaser__read-comments', text);\n el.setAttribute('href', '#tt-chatter-widget');\n return el;\n}\n\n/**\n * @function\n * @name generateWriteReview\n * @description This function is called by the populateTeaser function to simply create a ‘Write a Review’ link.\n * The click event handler for this element is added in the populateTesear function after the teaser has been rendered on the page.\n * @param {string} text value to be added to the element\n * @return {Object} DOM object\n */\nfunction generateWriteReview(text) {\n return createTeaserElement('button', 'TTteaser__write-review', text);\n}\n\n/**\n * @function\n * @name populateTeaser\n * @description This function calls other functions to build specific parts of your CGC Teaser.\n * It should be modified to account for what content types you want to promote and/or the messaging you want based on the count returned.\n * It ends with the writeReview function that spawns the TurnTo review form from your CGC Teaser.\n * Note: If the reviews list and/or comments are initially hidden under a tab, see the Linking to your Content Underneath\n * a Tab section for an example of how to handle this situation.\n * @param {Object} counts response from ugc counts URL\n */\nfunction populateTeaser(counts) {\n var fragment = document.createDocumentFragment();\n if (counts.reviews > 0) { // has reviews\n fragment.appendChild(generateTeaserStars(counts.avgRating));\n fragment.appendChild(generateReadReviews(counts.reviews));\n if (counts.questions > 0) {\n fragment.appendChild(document.createTextNode(' | '));\n fragment.appendChild(generateQuestions(counts.questions, counts.answers));\n }\n if (counts.comments > 0) {\n fragment.appendChild(document.createTextNode(' | '));\n fragment.appendChild(generateReadComments(counts.comments));\n }\n fragment.appendChild(document.createTextNode(' or '));\n fragment.appendChild(generateWriteReview('Write a Review'));\n } else { // no reviews\n if (counts.questions > 0) {\n fragment.appendChild(generateQuestions(counts.questions, counts.answers));\n fragment.appendChild(document.createTextNode(' or '));\n }\n if (counts.comments > 0) {\n fragment.appendChild(generateReadComments(counts.comments));\n fragment.appendChild(document.createTextNode(' or '));\n }\n fragment.appendChild(generateWriteReview('Be the first to write a review'));\n }\n var teaserElem = document.getElementById('tt-teaser');\n if (!teaserElem) {\n return;\n }\n teaserElem.textContent = '';\n teaserElem.appendChild(fragment);\n\t// add event listener to handle click to open the write a review screen\n document.querySelector('.TTteaser__write-review').addEventListener('click', function () {\n TurnToCmd('reviewsList.writeReview'); // eslint-disable-line new-cap\n });\n}\n\n/**\n * @function\n * @description The loadTeaserCounts function first loads the UGC counts maintained by TurnTo and then calls the populateTeaser function.\n * @name loadTeaserCounts\n * @param {string} sku the product ID\n */\nfunction loadTeaserCounts(sku) {\n var xhr = new XMLHttpRequest();\n var turntoUrl = turnToSiteDataVars.turnToUrl;\n var siteKey = turnToSiteDataVars.siteKey;\n\n if (turntoUrl.length === 0 || siteKey.length === 0) {\n return;\n }\n\n var ugcCountsUrl = 'https://cdn-ws.' + turntoUrl + '/v5/sitedata/' + siteKey + '/' + sku + '/d/ugc/counts/' + turnToConfig.locale;\n xhr.open('GET', ugcCountsUrl, true);\n xhr.addEventListener('load', function () {\n if (xhr.responseText) {\n populateTeaser(JSON.parse(xhr.responseText));\n }\n });\n xhr.send();\n}\n\n// moved from teasersproductgrid.js so it can be use in ajax calls (ex: refinements, sorting, and show more) too\nfunction generateRatingStars() {\n // product grid teaser stars ONLY\n var allTeaserDivs = document.getElementsByClassName('TTteaser');\n for (var i = 0; i < allTeaserDivs.length; i++) {\n var teaserDiv = allTeaserDivs[i];\n if ('starrating' in teaserDiv.dataset && teaserDiv.dataset.starrating > 0 && teaserDiv.getElementsByClassName('TTteaser__rating').length < 1) {\n var el = generateTeaserStars(teaserDiv.dataset.starrating);\n teaserDiv.appendChild(el);\n }\n }\n}\n\nmodule.exports = {\n loadTeaserCounts: loadTeaserCounts,\n generateTeaserStars: generateTeaserStars,\n generateRatingStars: generateRatingStars\n};\n","'use strict';\n\nmodule.exports = {\n updateAttributes: function() {\n $('body').on('product:statusUpdate', function (e, data) {\n var $productContainer = $('.product-detail[data-pid=\"' + data.id + '\"]');\n\n $productContainer.find('.main-content-group .product-attributes')\n .empty()\n .html(data.attributesHtml);\n\n\n $('body').trigger('tooltip:init');\n if ($('button.add-to-cart-global').length) {\n module.exports.updateAddAllToCart();\n }\n });\n },\n updateHeadlinesAndTabs: function() {\n $('body').on('product:afterAttributeSelect', function (e, data) {\n if (data && data.data && data.data.product && data.container) {\n var $productContainer = data.container;\n var product = data.data.product;\n\n if (product.headline) {\n $productContainer.find('.product-headline')\n .show()\n .html(product.headline);\n } else {\n $productContainer.find('.product-headline')\n .hide();\n }\n\n if (product.headlineDescription) {\n $productContainer.find('.product-headlinedescription')\n .show()\n .html(product.headlineDescription);\n } else {\n $productContainer.find('.product-headlinedescription')\n .hide();\n }\n\n if (product.collapsibleContentHTML) {\n $productContainer.find('.main-content-item')\n .show()\n .replaceWith(product.collapsibleContentHTML);\n } else {\n $productContainer.find('.main-content-item')\n .hide();\n }\n\n if (product.tabsHTML) {\n $productContainer.find('.tabs')\n .show()\n .replaceWith(product.tabsHTML);\n } else {\n $productContainer.find('.tabs')\n .hide();\n }\n }\n });\n },\n updateAddAllToCart: function () {\n // if default variants are selected, enable the add all to cart btn on load\n if ($('button.add-to-cart-global').length) {\n var enable = $('.product-availability').toArray().every(function (item) {\n return $(item).data('available') && $(item).data('ready-to-order');\n });\n // $('button.add-to-cart-global').attr('disabled', !enable);\n $('button.add-to-cart-global:not(.product-from-set-true)').attr('disabled', !enable);\n }\n },\n copyProductLink: function () {\n $('body').on('click', '#fa-link', function () {\n event.preventDefault();\n var $temp = $('');\n $('body').append($temp);\n $temp.val($('#shareUrl').val()).select();\n document.execCommand('copy');\n $temp.remove();\n $('.copy-link-message').attr('role', 'alert');\n $('.copy-link-message').removeClass('d-none');\n setTimeout(function () {\n $('.copy-link-message').addClass('d-none');\n }, 3000);\n });\n },\n showSpinner: function() {\n $('body').on('product:beforeAddToCart, product:beforeAttributeSelect', function () {\n $.spinner().start();\n });\n },\n setCollapsibleContentState: function() {\n var $collapsibleContentGroup = $('.collapsible-content-group');\n\n $collapsibleContentGroup.each(function () {\n let isDesktopExpanded = $(this).data('expand');\n let isMobileExpanded = $(this).data('expand-mobile');\n let isExpanded = window.isMobile() ? isMobileExpanded : isDesktopExpanded;\n\n if (isExpanded) {\n $(this).addClass('active');\n }\n });\n }\n};\n","'use strict';\n\nvar integrations = require('integrations/productDetail');\nvar productExtensions = [];\n\nvar siteIntegrations = require('integrations/integrations/siteIntegrationsUtils');\nvar toggleObject = siteIntegrations.getIntegrationSettings();\n\nvar productDetailsBase = {\n detail: require('./product/detail')\n};\n\nif (toggleObject.turntoCartridgeEnabled) {\n let turntoDetail = {\n detail: require('./integrations/turnto/product/detail')\n };\n productDetailsBase.detail = $.extend({}, productDetailsBase.detail, turntoDetail.detail);\n}\n\nproductExtensions.push(productDetailsBase);\n\nproductExtensions.forEach(function (library) {\n Object.keys(library).forEach(function (item) {\n if (typeof library[item] === 'object') {\n integrations.baseFiles[item] = $.extend({}, integrations.baseFiles[item], library[item]);\n } else {\n integrations.baseFiles[item] = library[item];\n }\n });\n});\n\nmodule.exports = integrations;\n\n","\n'use strict';\n\nfunction check(e, next) {\n if (typeof grecaptcha !== 'undefined' && grecaptcha) {\n grecaptcha.ready(function() {\n var actionName = 'submit' + (e && e.target ? (e.target.id + e.target.className).replace(/[^a-zA-Z0-9]+/g, '') : '');\n grecaptcha.execute(window.CachedData.recaptchaSiteKey, {action: actionName}).then(function(token) {\n\n var recaptchaTokenInput = $(\"\");\n var recaptchaActionInput = $(\"\");\n\n if (typeof next.data == 'string') {\n next.data += next.data.length === 0 ? '' : '&';\n next.data += $.param(recaptchaTokenInput) + '&' + $.param(recaptchaActionInput);\n } else {\n next.data = next.data || {};\n next.data['dwfrm_recaptcha_recaptchaToken'] = token;\n next.data['dwfrm_recaptcha_recaptchaAction'] = actionName;\n }\n\n $.ajax(next);\n });\n });\n } else {\n $.ajax(next);\n }\n}\n\nmodule.exports = {\n check: check\n}\n","'use strict';\n\n/**\n * This client-side js file just acts as a wrapper for the site preference config toggles\n * that are outputted by Controller: Integrations-OutputIntegrationsConfig\n */\n\nfunction getIntegrationSettings() {\n if (window && window.CachedData && window.CachedData.siteIntegrations) {\n return window.CachedData.siteIntegrations;\n }\n return {};\n}\n\nmodule.exports = {\n getIntegrationSettings : getIntegrationSettings\n};\n","'use strict';\r\n\r\nmodule.exports = {\r\n\t\t\r\n stickyBarJumpLinks: function () {\r\n $('a.jumplink').on('click', function(e) {\r\n e.preventDefault();\r\n //scrolling indicator may or may not be useful\r\n $('.addtocart-sticky-bar').addClass('scrolling');\r\n\t\t \r\n $(\"html, body\").animate({ scrollTop: $($(this).attr(\"href\")).offset().top }, 500, function() {\r\n $('.addtocart-sticky-bar').removeClass('scrolling'); \r\n });\r\n });\r\n },\r\n\t\t\r\n addToCartStickyBar: function (){\r\n \r\n //jumplinks - ** Currently deactivated ** : add all jumplinks and related anchor content that exists in an array that contains jumplink object and content area\r\n /*\r\n var allJumplinks = $('.addtocart-sticky-bar .jumplink');\r\n var jumplinkArray = [];\r\n allJumplinks.each(function(index) {\r\n var $jumplink = $(allJumplinks[index]);\r\n var jumplinkContentElement = $($jumplink.attr('href')).parent();\r\n \r\n if (jumplinkContentElement && jumplinkContentElement.length > 0) {\r\n var jumplinkObject = {\r\n jumplink: $jumplink,\r\n jumplinkElementTop: jumplinkContentElement.offset().top,\r\n jumplinkElementBottom: jumplinkContentElement.outerHeight() + jumplinkContentElement.offset().top \r\n }\r\n jumplinkArray.push(jumplinkObject);\r\n }\r\n });\r\n */\r\n\t\t\r\n //main add to cart sticky vars\r\n var SiteConstants = require('constants/SiteConstants');\r\n var addToCartStickyBar = document.getElementById('addtocart-sticky-bar');\r\n var addToCartContainer = document.getElementById('qty-cart-container');\r\n var $body = $('body');\r\n var topHeader = document.getElementById('top-header');\r\n\t\t\r\n //if header is fixed, use just the nav bar to measure top of page, else use the entire header (may contain promo bar)\r\n if (topHeader.classList.contains('fixed-header')) {\r\n var topHeaderHeight = document.getElementById('header-nav').offsetHeight;\r\n } else {\r\n var topHeaderHeight = 0;\r\n }\r\n\t\r\n if (addToCartStickyBar && addToCartContainer) {\r\n window.addEventListener(\"scrollUpdate\", function() {\r\n //main sticky add to cart functionality - only show when scrolled past in-page add to cart section\t\r\n if (window.pageYOffset > (addToCartContainer.offsetTop + addToCartContainer.offsetHeight + topHeaderHeight)) {\r\n $body.addClass('showstickybar');\t\r\n addToCartStickyBar.setAttribute(\"style\", 'top:' + topHeaderHeight + 'px;');\r\n } else if ($body.hasClass('showstickybar')){\r\n $body.removeClass('showstickybar');\r\n setTimeout(() => {\r\n addToCartStickyBar.removeAttribute(\"style\");\r\n }, SiteConstants.TransitionSpeed);\r\n }\r\n \r\n // ** Jumplinks are Currently Deactivated **\r\n /*\r\n var bottomOfTopWindow = window.scrollY + topHeaderHeight + addToCartStickyBar.offsetHeight;\r\n jumplinkArray.forEach(function(jumplinkObject) {\r\n if (bottomOfTopWindow > jumplinkObject.jumplinkElementTop && bottomOfTopWindow < jumplinkObject.jumplinkElementBottom ) {\r\n jumplinkObject.jumplink.addClass('selected');\r\n } else {\r\n jumplinkObject.jumplink.removeClass('selected');\r\n }\r\n });\r\n */\r\n });\r\n }\r\n }\r\n}","'use strict';\n\nmodule.exports = {\n updateAttributes: function() {\n $('body').on('product:statusUpdate', function (e, data) {\n var $productContainer = $('.product-detail[data-pid=\"' + data.id + '\"]');\n\n $productContainer.find('.main-content-group .product-attributes')\n .empty()\n .html(data.attributesHtml);\n\n\n $('body').trigger('tooltip:init');\n if ($('button.add-to-cart-global').length) {\n module.exports.updateAddAllToCart();\n }\n });\n },\n updateHeadlinesAndTabs: function() {\n $('body').on('product:afterAttributeSelect', function (e, data) {\n if (data && data.data && data.data.product && data.container) {\n var $productContainer = data.container;\n var product = data.data.product;\n\n if (product.headline) {\n $productContainer.find('.product-headline')\n .show()\n .html(product.headline);\n } else {\n $productContainer.find('.product-headline')\n .hide();\n }\n\n if (product.headlineDescription) {\n $productContainer.find('.product-headlinedescription')\n .show()\n .html(product.headlineDescription);\n } else {\n $productContainer.find('.product-headlinedescription')\n .hide();\n }\n\n if (product.collapsibleContentHTML) {\n $productContainer.find('.main-content-item')\n .show()\n .replaceWith(product.collapsibleContentHTML);\n } else {\n $productContainer.find('.main-content-item')\n .hide();\n }\n\n if (product.tabsHTML) {\n $productContainer.find('.tabs')\n .show()\n .replaceWith(product.tabsHTML);\n } else {\n $productContainer.find('.tabs')\n .hide();\n }\n }\n });\n },\n updateAddAllToCart: function () {\n // if default variants are selected, enable the add all to cart btn on load\n if ($('button.add-to-cart-global').length) {\n var enable = $('.product-availability').toArray().every(function (item) {\n return $(item).data('available') && $(item).data('ready-to-order');\n });\n $('button.add-to-cart-global').attr('disabled', !enable);\n }\n },\n copyProductLink: function () {\n $('body').on('click', '#fa-link', function () {\n event.preventDefault();\n var $temp = $('');\n $('body').append($temp);\n $temp.val($('#shareUrl').val()).select();\n document.execCommand('copy');\n $temp.remove();\n $('.copy-link-message').attr('role', 'alert');\n $('.copy-link-message').removeClass('d-none');\n setTimeout(function () {\n $('.copy-link-message').addClass('d-none');\n }, 3000);\n });\n },\n showSpinner: function() {\n $('body').on('product:beforeAddToCart, product:beforeAttributeSelect', function () {\n $.spinner().start();\n });\n },\n setCollapsibleContentState: function() {\n var $collapsibleContentGroup = $('.collapsible-content-group');\n\n $collapsibleContentGroup.each(function () {\n var expandCollapsibleContentGroup = $(this).data('expand');\n if (expandCollapsibleContentGroup == true) {\n $(this).addClass('active');\n }\n });\n }\n};\n","'use strict';\n\nvar processInclude = require('base/util');\n\nvar baseFiles = {\n detail: require('./product/detail'),\n addToCartStickyBar: require('./product/addToCartStickyBar')\n};\n\n$(document).ready(function () {\n Object.keys(baseFiles).forEach(function (key) {\n processInclude(baseFiles[key]);\n });\n});\n\nmodule.exports = {\n baseFiles\n};\n","'use strict';\n\n// These values should always match the variables set in _variables.scss and the contentImageBreakpoints site pref\nmodule.exports.BreakpointSizes = {\n 'sm': 544,\n 'md': 769,\n 'lg': 1024,\n 'xl': 1440\n};\n\nmodule.exports.TransitionSpeed = 200;\n\nmodule.exports.ComponentAnimationDelay = 0;\n\nmodule.exports.Spacer = 16;\n\nmodule.exports.placeholderImagePaths = {\n 'thumbnail': '/images/gray.png',\n 'imageMissing': '/images/placeholder.png'\n}\n\nmodule.exports.defaultMapMarker = {\n 'color': 'white',\n 'backgroundImage': '/images/icons/map-marker-default.svg'\n}\n\nmodule.exports.defaultStoreType = {\n 'id': 0,\n 'displayValue': 'Retail',\n 'value': 'retail'\n}\n\n// These are used in cartridge/client/default/js/components/search.js\nmodule.exports.UP_KEY = 38;\nmodule.exports.DOWN_KEY = 40;\nmodule.exports.DIRECTION_DOWN = 1;\nmodule.exports.DIRECTION_UP = -1;\n","'use strict';\n\nmodule.exports = {\n methods: {\n afterApplePayTagReplacement: function(data) {\n var checkoutPaymentTab = $('.nav-item.applepay-tab-wrapper');\n if (checkoutPaymentTab.length === 1) {\n checkoutPaymentTab.removeAttr('hidden');\n }\n var container;\n if (data && data.target) {\n container = $(data.target).find('.js-paymentmethodwarning-msgcontainer');\n } else {\n container = $('#applepay-content .js-paymentmethodwarning-msgcontainer');\n }\n if (container) {\n container.attr('data-iframepresent', true);\n container.data('iframepresent', true);\n $('body').trigger('PaymentMethodObserver:iframePresent');\n }\n }\n },\n updateAddToCart: function () {\n $('body').on('product:updateAddToCart', function (e, response) {\n var $productContainer = response.$productContainer;\n var appleButton = $productContainer.find('button.dw-apple-pay-button');\n\n if (appleButton && appleButton.length) {\n $('body').trigger('PaymentMethodObserver:Show', { name: 'available', show: (!response.product.readyToOrder || !response.product.available) })\n appleButton.attr('sku', response.product.id);\n }\n });\n },\n detectIsApplePayTagReplacement: function () {\n //can handle running before or after replacement by internal demandware applepay script\n var applePayTag = $('isapplepay');\n if (applePayTag.length === 0) {\n module.exports.methods.afterApplePayTagReplacement();\n } else {\n $('body').on('PaymentMethodObserver:AddNode', function (e, data) {\n if (data && data.addNode && data.addNode.classList){\n for (var className of data.addNode.classList) {\n if (className === 'dw-apple-pay-button') {\n module.exports.methods.afterApplePayTagReplacement(data);\n\n data.observer.disconnect();\n return;\n }\n }\n }\n })\n }\n }\n}\n","'use strict';\n\nfunction onStoreSelected() {\n $('body').on('store:selected', function (e, data) {\n $('body').trigger('PaymentMethodObserver:Show', { name: 'bopis', show: true })\n })\n}\n\nfunction onStoreAfterRemoveStoreSelection() {\n $(document).on('store:afterRemoveStoreSelection', function (e, data) {\n $('body').trigger('PaymentMethodObserver:Show', { name: 'bopis', show: false })\n })\n}\n\nmodule.exports = {\n onStoreSelected: onStoreSelected,\n onStoreAfterRemoveStoreSelection: onStoreAfterRemoveStoreSelection\n};\n","'use strict';\n\nmodule.exports = {\n sfcpUpdateAddToCart: function () {\n $('body').on('product:updateAddToCart', function (e, response) {\n $('body').trigger('PaymentMethodObserver:Show', { name: 'available', show: !response.product.readyToOrder || !response.product.available })\n });\n },\n};\n","'use strict';\n\nvar recaptcha = require('core/components/recaptcha');\n\n/**\n * Get the cart quantity.\n * @param {string} url - URL of the controller to get the cart model\n * @param {number=} delay - milliseconds to wait before getting the cart (default is 1000)\n * @returns {Promise} - promise to resolve the cart model and its quantity\n */\nfunction getCartQuantity(url, delay) {\n return new Promise(function (resolve, reject) {\n // Default delay to 1 second\n var timeoutMillis = delay || 1000;\n\n setTimeout(function () {\n $.ajax({\n url: url,\n contentType: 'application/json; charset=UTF-8',\n success: function (response) {\n if (response.quantityTotal) {\n // Resolve response for mini cart update\n resolve(response);\n } else {\n // Get the cart again after a longer delay\n getCartQuantity(url, timeoutMillis * 2).then(resolve, reject);\n }\n },\n error: reject\n });\n }, timeoutMillis);\n });\n}\n\nmodule.exports = {\n updateBuyNowRequest: function () {\n if (window.sfpp) {\n sfpp.ready(function () { // eslint-disable-line\n var errorElement = $(document.querySelector('.salesforce-buynow-element-errors'));\n var buynow = sfpp.get('buynow'); // eslint-disable-line\n\n var getCartUrl = $('.salesforce-buynow-element').data('getcart');\n var placeOrderUrl = $('.salesforce-buynow-element').data('placeorder');\n\n var paypalApproveUrl = $('.salesforce-buynow-element').data('paypalapprove');\n\n var paypalMessage = $('.prices-add-to-cart-actions .salesforce-paypal-messaging');\n\n $('body').on('product:updateAddToCart', function (e, response) {\n // Update payment request data and options\n buynow.updateBasketData(response.product.buynow.basketData);\n buynow.updatePaymentRequest(response.product.buynow.options);\n\n // Update amount in PayPal messages component\n paypalMessage.find('div[data-pp-message]').attr('data-pp-amount', response.product.buynow.paypalAmount);\n });\n\n buynow.on('cancel', function () {\n window.location.reload();\n });\n\n // Show PayPal messages component if PayPal button rendered\n buynow.on('render', function () {\n if (buynow.getRenderedTypes().indexOf('paypalexpress') !== -1) {\n paypalMessage.removeClass('salesforce-paypal-messaging-hidden');\n }\n });\n\n // Update mini cart count once basket is prepared\n buynow.on('click', function () {\n getCartQuantity(getCartUrl).then(function (response) {\n $('.minicart').trigger('count:update', response);\n $('body').trigger('product:afterAddToCart', response);\n });\n });\n\n // Update error message on change\n buynow.on('change', function (event) {\n if (event.error) {\n // Inform the customer that there is an error.\n errorElement.empty().text(event.error.message);\n } else {\n // Clear out error message\n errorElement.empty();\n }\n });\n\n buynow.on('payment', function (event) {\n recaptcha.check(event, {\n url: placeOrderUrl,\n method: 'POST',\n success: function (data) {\n if (data.error) {\n // Inform the customer that there is an error.\n errorElement.empty().text(data.errorMessage);\n } else {\n var redirect = $('