{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./cartridges/int_zakeke_sfra/cartridge/client/default/js/product/zakDetail.js","webpack:///../jbc-sfra/cartridges/app_storefront_base/cartridge/client/default/js/product/base.js","webpack:///../jbc-sfra/cartridges/app_storefront_base/cartridge/client/default/js/components/focus.js","webpack:///./cartridges/int_zakeke_sfra/cartridge/client/default/js/zakProductDetail.js","webpack:///../jbc-sfra/cartridges/app_storefront_base/cartridge/client/default/js/util.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","zakUpdateButton","$","on","e","response","$zakDiv","$productContainer","find","length","$tilePlpRedirect","target","parents","product","ready","readyToOrder","available","show","attr","productSetProductUrl","ZAKEKE_is_customizable","$zakButton","url","val","encodeURIComponent","id","prop","spinner","start","load","css","stop","window","location","href","$productContainerPid","this","hasNonSelectedValue","map","index","el","$el","$select","hasSelectedValue","toggleClass","setSelectionWarning","toArray","some","modal","document","trigger","empty","hide","focusHelper","getPidValue","hasClass","closest","data","text","getQuantitySelector","quantitySelected","quantitySelectedModal","quantitySelectedPDP","undefined","getQuantitySelected","handleVariantResponse","isVaraint","isChoiceOfBonusProducts","variationAttributes","attrs","msgs","attrsWithSwatches","forEach","indexOf","values","attrValue","$attrValue","$swatchButton","parent","selected","addClass","siblings","assistiveSelectedText","removeClass","removeAttr","selectable","processSwatchValues","$attr","resetUrl","processNonSwatchValues","updateAttrs","resources","productType","imgs","carousel","carouselId","append","alt","parseInt","title","appendTo","first","detach","createCarousel","images","large","replaceWith","price","html","promotionsHtml","availabilityValue","availabilityMessages","availability","messages","message","info_selectforstock","updateAvailability","attributes","attributeGroup","ID","attribute","label","getAttributesHtml","attributeSelect","selectedValueUrl","container","ajax","method","success","optionsHtml","updateOptions","quantities","quantity","join","updateQuantities","error","parseHtml","$html","parseHTML","body","footer","children","chooseBonusProducts","bonusUrl","remove","bonusChoiceRuleBased","showProductsUrlRuleBased","showProductsUrlListBased","htmlString","maxBonusItems","uuid","pliUUID","addToCartUrl","pageSize","labels","selectprods","dataType","parsedHtml","renderedTemplate","enterDialogMessage","closeButtonText","getOptions","options","$elOption","urlValue","selectedValueId","optionId","JSON","stringify","miniCartReportingUrl","methods","editBonusProducts","focusChooseBonusProductModal","focus","onClosingChooseBonusProductModal","trapChooseBonusProductModalFocus","focusParams","event","containerSelector","firstElementSelector","lastElementSelector","setTabNextFocus","colorAttribute","preventDefault","selectAttribute","currentTarget","addToCart","pid","pidsObj","setPids","each","push","qty","childProducts","form","messageType","newBonusDiscountLineItem","keys","setTimeout","handlePostCartAdd","reportingURL","selectBonusProduct","$choiceOfBonusProduct","maxPids","submittedQty","totalQty","optionID","valueId","selectedBonusProductHtml","removeBonusProduct","$selected","count","enableBonusProductSelection","showMoreBonusProducts","addBonusProductsToCart","$readyToOrderBonusProducts","queryString","pidsObject","bonusProducts","qtyOption","option","productId","errorMessage","msgSuccess","reload","keyCode","firstFocusableEl","lastFocusableEl","is","nextToLastElementSelector","linkElements","shiftKey","processInclude","include"],"mappings":"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","file":"cartridges/int_zakeke_sfra/cartridge/static/default/js/zakProductDetail.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 = 10);\n","'use strict';\n\nvar base = require('base/product/base');\n\n/**\n * sets the selection warning before add to car\n * @param {jQuery} $el jQuer element\n * @returns {boolean} has selected value\n */\nfunction setSelectionWarning($el) {\n const $select = $el.find('.attr-size-select select');\n const hasSelectedValue = !!($el.find('a.selected, div[data-attr].selected').length > 0 ||\n !!($select && $select.length > 0 &&\n $select.val() &&\n $select.val().length > 0 &&\n $select.val() !== 'null'));\n $el.toggleClass('no-attr-value', !hasSelectedValue);\n return hasSelectedValue;\n}\n\n\nmodule.exports = {\n zakUpdateButton: function () {\n $('body').on('product:updateAddToCart', function (e, response) {\n const $productContainer = $(response.$productContainer);\n const $zakDiv = $productContainer.find('#zakDiv');\n \n if (!($zakDiv && $zakDiv.length)) {\n return;\n }\n\n const $tilePlpRedirect = $(e.target).parents('[data-tile-pdp-redirect]');\n const product = response.product;\n const ready = (product.readyToOrder && product.available);\n let show = false;\n\n if ($tilePlpRedirect.length && $tilePlpRedirect.attr('data-tile-pdp-redirect') !== 'false') {\n $tilePlpRedirect.attr('data-tile-pdp-redirect', product.productSetProductUrl);\n }\n\n if (ready === true) {\n if (product.ZAKEKE_is_customizable) {\n show = true;\n }\n }\n\n if (show) {\n const $zakButton = $zakDiv.find('#zak-button');\n const $zakUrl = $('#zakUrl');\n var url = $zakUrl.val() + '?pid=' + encodeURIComponent(product.id);\n $zakButton.prop('data-zak-pid', product.id);\n $zakButton.spinner().start();\n\n // it isn't called if #zakDiv is undefined (if Zakeke not enabled)\n $zakDiv.load(url, () => {\n $zakDiv.css('display', 'block');\n $.spinner().stop();\n });\n } else {\n $zakDiv.css('display', 'none');\n }\n });\n\n\n $('body').on('click', '#zak-button', function (e) {\n const $tilePlpRedirect = $(e.target).parents('[data-tile-pdp-redirect]');\n if ($tilePlpRedirect.length && $tilePlpRedirect.attr('data-tile-pdp-redirect').length > 0) {\n window.location.href = $tilePlpRedirect.attr('data-tile-pdp-redirect');\n return;\n }\n const $productContainerPid = $(this).parents('[data-pid]');\n if ($productContainerPid.length) {\n const selectionWarnings = $productContainerPid\n .find('[data-attr-id]:visible')\n .map((index, el) => setSelectionWarning($(el)));\n const hasNonSelectedValue = selectionWarnings\n .toArray()\n .some(val => !val);\n $.spinner().stop();\n if (!hasNonSelectedValue) {\n const url = $('#zak-button').attr('url-data');\n $('#zak-modal .modal-body').load(url, () => {\n $('#zak-modal').modal('show');\n $(document).trigger('Zakeke:ModalLoaded');\n });\n }\n }\n });\n\n $(document).on('hide.bs.modal', '#zak-modal', () => {\n $('#zak-modal .modal-body').empty();\n });\n\n $(document).on('hidden.bs.modal', '#zak-modal', () => {\n $('.product-detail-fixedinfo').show();\n });\n\n $(document).on('shown.bs.modal', '#zak-modal', () => {\n $('.product-detail-fixedinfo').hide();\n });\n }\n\n};\n","'use strict';\nvar focusHelper = require('../components/focus');\n\n/**\n * Retrieves the relevant pid value\n * @param {jquery} $el - DOM container for a given add to cart button\n * @return {string} - value to be used when adding product to cart\n */\nfunction getPidValue($el) {\n var pid;\n\n if ($('#quickViewModal').hasClass('show') && !$('.product-set').length) {\n pid = $($el).closest('.modal-content').find('.product-quickview').data('pid');\n } else if ($('.product-set-detail').length || $('.product-set').length) {\n pid = $($el).closest('.product-detail').find('.product-id').text();\n } else {\n pid = $('.product-detail:not(\".bundle-item\")').data('pid');\n }\n\n return pid;\n}\n\n/**\n * Retrieve contextual quantity selector\n * @param {jquery} $el - DOM container for the relevant quantity\n * @return {jquery} - quantity selector DOM container\n */\nfunction getQuantitySelector($el) {\n var quantitySelected;\n if ($el && $('.set-items').length) {\n quantitySelected = $($el).closest('.product-detail').find('.quantity-select');\n } else if ($el && $('.product-bundle').length) {\n var quantitySelectedModal = $($el).closest('.modal-footer').find('.quantity-select');\n var quantitySelectedPDP = $($el).closest('.bundle-footer').find('.quantity-select');\n if (quantitySelectedModal.val() === undefined) {\n quantitySelected = quantitySelectedPDP;\n } else {\n quantitySelected = quantitySelectedModal;\n }\n } else {\n quantitySelected = $('.quantity-select');\n }\n return quantitySelected;\n}\n\n/**\n * Retrieves the value associated with the Quantity pull-down menu\n * @param {jquery} $el - DOM container for the relevant quantity\n * @return {string} - value found in the quantity input\n */\nfunction getQuantitySelected($el) {\n return getQuantitySelector($el).val();\n}\n\n/**\n * Process the attribute values for an attribute that has image swatches\n *\n * @param {Object} attr - Attribute\n * @param {string} attr.id - Attribute ID\n * @param {Object[]} attr.values - Array of attribute value objects\n * @param {string} attr.values.value - Attribute coded value\n * @param {string} attr.values.url - URL to de/select an attribute value of the product\n * @param {boolean} attr.values.isSelectable - Flag as to whether an attribute value can be\n * selected. If there is no variant that corresponds to a specific combination of attribute\n * values, an attribute may be disabled in the Product Detail Page\n * @param {jQuery} $productContainer - DOM container for a given product\n * @param {Object} msgs - object containing resource messages\n */\nfunction processSwatchValues(attr, $productContainer, msgs) {\n attr.values.forEach(function (attrValue) {\n var $attrValue = $productContainer.find('[data-attr=\"' + attr.id + '\"] [data-attr-value=\"' +\n attrValue.value + '\"]');\n var $swatchButton = $attrValue.parent();\n\n if (attrValue.selected) {\n $attrValue.addClass('selected');\n $attrValue.siblings('.selected-assistive-text').text(msgs.assistiveSelectedText);\n } else {\n $attrValue.removeClass('selected');\n $attrValue.siblings('.selected-assistive-text').empty();\n }\n\n if (attrValue.url) {\n $swatchButton.attr('data-url', attrValue.url);\n } else {\n $swatchButton.removeAttr('data-url');\n }\n\n // Disable if not selectable\n $attrValue.removeClass('selectable unselectable');\n\n $attrValue.addClass(attrValue.selectable ? 'selectable' : 'unselectable');\n });\n}\n\n/**\n * Process attribute values associated with an attribute that does not have image swatches\n *\n * @param {Object} attr - Attribute\n * @param {string} attr.id - Attribute ID\n * @param {Object[]} attr.values - Array of attribute value objects\n * @param {string} attr.values.value - Attribute coded value\n * @param {string} attr.values.url - URL to de/select an attribute value of the product\n * @param {boolean} attr.values.isSelectable - Flag as to whether an attribute value can be\n * selected. If there is no variant that corresponds to a specific combination of attribute\n * values, an attribute may be disabled in the Product Detail Page\n * @param {jQuery} $productContainer - DOM container for a given product\n */\nfunction processNonSwatchValues(attr, $productContainer) {\n var $attr = '[data-attr=\"' + attr.id + '\"]';\n var $defaultOption = $productContainer.find($attr + ' .select-' + attr.id + ' option:first');\n $defaultOption.attr('value', attr.resetUrl);\n\n attr.values.forEach(function (attrValue) {\n var $attrValue = $productContainer\n .find($attr + ' [data-attr-value=\"' + attrValue.value + '\"]');\n $attrValue.attr('value', attrValue.url)\n .removeAttr('disabled');\n\n if (!attrValue.selectable) {\n $attrValue.attr('disabled', true);\n }\n });\n}\n\n/**\n * Routes the handling of attribute processing depending on whether the attribute has image\n * swatches or not\n *\n * @param {Object} attrs - Attribute\n * @param {string} attr.id - Attribute ID\n * @param {jQuery} $productContainer - DOM element for a given product\n * @param {Object} msgs - object containing resource messages\n */\nfunction updateAttrs(attrs, $productContainer, msgs) {\n // Currently, the only attribute type that has image swatches is Color.\n var attrsWithSwatches = ['color'];\n\n attrs.forEach(function (attr) {\n if (attrsWithSwatches.indexOf(attr.id) > -1) {\n processSwatchValues(attr, $productContainer, msgs);\n } else {\n processNonSwatchValues(attr, $productContainer);\n }\n });\n}\n\n/**\n * Updates the availability status in the Product Detail Page\n *\n * @param {Object} response - Ajax response object after an\n * attribute value has been [de]selected\n * @param {jQuery} $productContainer - DOM element for a given product\n */\nfunction updateAvailability(response, $productContainer) {\n var availabilityValue = '';\n var availabilityMessages = response.product.availability.messages;\n if (!response.product.readyToOrder) {\n availabilityValue = '