{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./cartridges/app_suzano_custom/cartridge/client/default/js/util.js","webpack:///./cartridges/app_suzano_custom/cartridge/client/default/js/productlist/productlist.js","webpack:///./cartridges/app_suzano_custom/cartridge/client/default/js/product/productPrice.js","webpack:///./cartridges/app_suzano_custom/cartridge/client/default/js/helpers/handlers.js","webpack:///./cartridges/app_suzano_custom/cartridge/client/default/js/imports/product.js"],"names":[],"mappings":";QAAA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;;;QAGA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA,0CAA0C,gCAAgC;QAC1E;QACA;;QAEA;QACA;QACA;QACA,wDAAwD,kBAAkB;QAC1E;QACA,iDAAiD,cAAc;QAC/D;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA,yCAAyC,iCAAiC;QAC1E,gHAAgH,mBAAmB,EAAE;QACrI;QACA;;QAEA;QACA;QACA;QACA,2BAA2B,0BAA0B,EAAE;QACvD,iCAAiC,eAAe;QAChD;QACA;QACA;;QAEA;QACA,sDAAsD,+DAA+D;;QAErH;QACA;;;QAGA;QACA;;;;;;;;;;;;;;AClFa;;AAEb;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;;;;;;;;;;;;;ACnBa;AACb,OAAO,yBAAyB,GAAG,mBAAO,CAAC,iCAAqB;;AAEhE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,sCAAsC;AACtC,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa;AACb;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,0BAA0B,aAAa;AACvC,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,KAAK;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB,aAAa;AACb;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;AACL;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD,IAAI;AACxD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB,+CAA+C,iBAAiB;AAChE;AACA;AACA,+CAA+C,iBAAiB;AAChE;;AAEA;;AAEA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,iDAAiD,KAAK;AACtD;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,SAAS;AACT,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA,qDAAqD,IAAI;AACzD;AACA;AACA;AACA,iBAAiB;AACjB;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,WAAW;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,SAAS;AACT,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB,mDAAmD,SAAS;AAC5D;AACA;AACA;AACA,mDAAmD,SAAS;AAC5D;;AAEA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT,KAAK;AACL;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;ACtsBa;;AAEb;AACA;AACA,WAAW,OAAO;AAClB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA,yCAAyC;AACzC;;AAEA;AACA;;;;AAIA;AACA;AACA;AACA,WAAW,iBAAiB;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD;AACjD;;AAEA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA,mBAAmB,uBAAuB;AAC1C;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,aAAa;AACb;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,2CAA2C,kCAAkC;AAC7E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,iBAAiB;AACjB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA,qBAAqB;AACrB;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;;AAEA,SAAS;AACT,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,SAAS;AACT,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA,qBAAqB;AACrB;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,SAAS;AACT;;AAEA;;;;;;;;;;;;;;ACllBA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAKC;;;;;;;;;;;;;ACtBD,qBAAqB,mBAAO,CAAC,yBAAa;;AAE1C;AACA,mBAAmB,mBAAO,CAAC,4CAAgC;AAC3D,mBAAmB,mBAAO,CAAC,qCAAyB;AACpD,CAAC,E","file":"./cartridges/app_suzano_custom/cartridge/static/default/js/imports/product.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 = \"NwUS\");\n","'use strict';\n\nmodule.exports = function (include) {\n if (typeof include === 'function') {\n include();\n } else if (typeof include === 'object') {\n Object.keys(include).forEach(function (key) {\n if (typeof include[key] === 'function') {\n include[key]();\n }\n });\n }\n $('.phoneNumberCheckout').mask('(00) 0000-00009', {\n translation: {\n 9: {\n pattern: /[0-9]/\n }\n }\n });\n};\n","'use strict';\nconst { showAlert, addUrlParam } = require('../helpers/handlers');\n\nfunction updateCartTotals(data) {\n $('.number-of-items').empty().append(data.resources.numberOfItems);\n $('.shipping-cost').empty().append(data.totals.totalShippingCost.formatted);\n $('.tax-total').empty().append(data.totals.totalTax.formatted);\n $('.grand-total').empty().append(data.totals.grandTotal.formatted);\n $('.sub-total').empty().append(data.totals.subTotal.formatted);\n $('.minicart-quantity').empty().append(data.numItems);\n $('.minicart-link').attr({\n 'aria-label': data.resources.minicartCountOfItems,\n title: data.resources.minicartCountOfItems\n });\n if (data.totals.grandTotalDiscount.value > 0) {\n $('.order-discount').removeClass('hide-order-discount');\n $('.order-discount-total').empty()\n .append('- ' + data.totals.grandTotalDiscount.formatted);\n } else {\n $('.order-discount').addClass('hide-order-discount');\n }\n\n if (data.totals.shippingLevelDiscountTotal.value > 0) {\n $('.shipping-discount').removeClass('hide-shipping-discount');\n $('.shipping-discount-total').empty().append('- ' +\n data.totals.shippingLevelDiscountTotal.formatted);\n } else {\n $('.shipping-discount').addClass('hide-shipping-discount');\n }\n\n data.items.forEach(function (item) {\n if (data.totals.orderLevelDiscountTotal.value > 0) {\n $('.coupons-and-promos').empty().append(data.totals.discountsHtml);\n }\n if (item.renderedPromotions) {\n $('.item-' + item.UUID).empty().append(item.renderedPromotions);\n } else {\n $('.item-' + item.UUID).empty();\n }\n $('.uuid-' + item.UUID + ' .unit-price').empty().append(item.renderedPrice);\n $('.line-item-price-' + item.UUID + ' .unit-price').empty().append(item.renderedPrice);\n $('.item-total-' + item.UUID).empty().append(item.priceTotal.renderedPrice);\n });\n}\n\nfunction displayMessage(data, button) {\n $.spinner().stop();\n var status;\n if (data.success) {\n status = 'alert-success';\n } else {\n status = 'alert-danger';\n }\n\n if ($('.email-signup-message').length === 0) {\n $('body').append('
');\n }\n $('.email-signup-message').append(\n '
' +\n data.msg +\n '
'\n );\n\n setTimeout(function () {\n $('.email-signup-message').remove();\n button.removeAttr('disabled');\n }, 3000);\n}\nfunction addProductlist() {\n $('.addProductList-form').on('submit', function (e) {\n e.preventDefault();\n $('#submit-productListForm').addClass(\"is__loading\");\n\n var formEl = $(this);\n var url = $(this).attr('data-action');\n var isMyAccount =\n $('body').find('.newList__wrapper.myAccount').length > 0;\n $.ajax({\n url: url,\n type: 'post',\n dataType: 'json',\n data: $(formEl).serialize(),\n success: function (data) {\n $('#submit-productListForm').removeClass('is__loading');\n\n if (isMyAccount) {\n location.reload(); // reload only in my account\n } else {\n $('.js-addToListSelect').append(\n ''\n );\n $(formEl).trigger('reset');\n\n $('#addListModal').modal('hide');\n $('#wishlistModal').modal('show');\n $('.add-product-to-product-list-btn').addClass('enabled');\n }\n\n if ($(formEl).parents('.productlist__list').length > 0) {\n addUrlParam('selectedList', data.listData.UUID);\n }\n },\n error: function (err) {\n $('#submit-productListForm').removeClass('is__loading');\n\n if (err.responseJSON.message) {\n showAlert(formEl, 'error', err.responseJSON.message);\n }\n }\n });\n });\n\n $('.create-list-btn').on('click', function (e) {\n $('#addListModal').modal('show');\n });\n\n $('body').on('click', '.addlist-productlist-btn', function (e) {\n var modalDisplay = $(this).parent().data('display');\n if (modalDisplay) {\n // in my account\n $(`.addList-${modalDisplay} .add-list-modal`).modal('show');\n } else {\n // in PDP\n $('#wishlistModal').modal('hide');\n $('.product-detail .add-list-modal').modal('show');\n }\n });\n $('.create-list-cancel').on('click', function (e) {\n $('#wishlistModal').modal('show');\n });\n}\n\nfunction getProductlist() {\n $(document).ready(() => {\n var firstList = $('.listRadioInput')[0];\n $(firstList).addClass('active').prop('checked');\n });\n $('.productlist-list-item').click(function (e) {\n e.preventDefault();\n var url = $(this).data('action');\n var uuid = $(this).data('uuid');\n $('body').spinner().start();\n $('.listRadioInput').removeClass('active');\n $(this)\n .children('.listRadioInput')\n .prop('checked', true)\n .addClass('active');\n $.ajax({\n url: url,\n type: 'get',\n data: {\n uuid: uuid\n },\n dataType: 'json',\n success: function (data) {\n if (data.success) {\n $('.selected-productlist')\n .empty()\n .append(data.renderedListItems);\n $('.summary-productlist-body').empty();\n }\n $('body').spinner().stop();\n },\n error: function (err) {\n $('body').spinner().stop();\n // Define error method and redirects\n }\n });\n });\n $('.display-selected-list-mobile select').on('change', function (e) {\n // only triggers in my account\n e.preventDefault();\n var url = $(this).data('action');\n var uuid = $(this).val();\n $('body').spinner().start();\n $('.listRadioInput').removeClass('active');\n $(`.listRadioInput[value=${uuid}]`)\n .prop('checked', true)\n .addClass('active');\n $.ajax({\n url: url,\n type: 'get',\n data: {\n uuid: uuid\n },\n dataType: 'json',\n success: function (data) {\n if (data.success) {\n $('.selected-productlist')\n .empty()\n .append(data.renderedListItems);\n $('.summary-productlist-body').empty();\n }\n $('body').spinner().stop();\n },\n error: function (err) {\n $('body').spinner().stop();\n // Define error method and redirects\n }\n });\n });\n}\nfunction editProductList() {\n $('body').on('click', '.edit-list-btn', function () {\n var listUUID = $(this).data('uuid');\n $('#listUUID').val(listUUID);\n // console.log(\"🚀 ~ editProductList edit-list-btn listUUID: \", listUUID)\n });\n\n $('#editListName').on('submit', function (e) {\n e.preventDefault();\n const url = $(this).attr('action');\n const uuid = $('#listUUID').val();\n const name = $('#listName').val();\n if (!name) {\n $('#listName')\n .addClass('is-invalid')\n .siblings('.invalid-feedback')\n .html('O nome da lista não pode ser vazio.');\n } else {\n $('body').spinner().start();\n $.ajax({\n url: url,\n type: 'post',\n data: {\n uuid: uuid,\n name: name\n },\n dataType: 'json',\n success: function (data) {\n $('body').spinner().stop();\n window.location.reload();\n },\n error: function (error) {\n $('body').spinner().stop();\n },\n });\n }\n });\n}\nfunction deleteProductlist() {\n $('body').on('click', '.cancel-deletelist-btn', function () {\n $('#confirmDeleteListModal').modal('hide');\n $('#editListModal').modal('show');\n });\n $('body').on('click', '.remove-productlist-btn', function () {\n $('#editListModal').modal('hide');\n $('#confirmDeleteListModal').modal('show');\n });\n $('body').on('click', '.confirm-deletelist-btn', function (e) {\n e.preventDefault();\n var url = $(this).data('action');\n var uuid = $('#listUUID').val();\n\n $('body').spinner().start();\n $.ajax({\n url: url,\n type: 'get',\n data: {\n uuid: uuid\n },\n dataType: 'json',\n success: function (data) {\n if (data.success) {\n location.reload();\n }\n $('body').spinner().stop();\n },\n error: function (err) {\n $('body').spinner().stop();\n // Define error method and redirects\n }\n });\n });\n $('body').on('click', '.remove-product-list', function (e) {\n e.preventDefault();\n var url = $(this).data('action');\n var uuid = $(this).data('uuid');\n\n $('body').spinner().start();\n $.ajax({\n url: url,\n type: 'get',\n data: {\n uuid: uuid\n },\n dataType: 'json',\n success: function (data) {\n if (data.success) {\n $('body').removeClass('modal-open');\n location.reload();\n }\n $('body').spinner().stop();\n },\n error: function (err) {\n $('body').spinner().stop();\n // Define error method and redirects\n }\n });\n });\n}\n\nfunction addProductToProductlist() {\n $('body').on('change', '.product-list.custom-select', function () {\n $(this).removeClass('is-invalid');\n });\n $('.add-product-to-product-list-btn').on('click', function (e) {\n e.preventDefault();\n $.spinner().start();\n var url = $(this).data('action');\n var uuid = $('body').find('.product-list').val();\n var pid = $('.add-product-to-product-list-form')\n .find('#product-id')\n .val();\n var qty = $('body').find(`.quantity-range-${pid}`).val();\n var form = {\n uuid: uuid,\n pid: pid,\n qty: qty\n };\n\n $.ajax({\n url: url,\n type: 'post',\n dataType: 'json',\n data: form,\n success: function (data) {\n if (data.success) {\n //datalayer trigger add_to_wishlist\n $('body').trigger('dataLayerPush:event', data.add_to_wishlist);\n\n displayMessage(data, $(this));\n $('#wishlistModal').modal('hide');\n } else {\n $('.product-list.custom-select')\n .addClass('is-invalid')\n .siblings('.invalid-feedback')\n .html(data.msg);\n }\n $.spinner().stop();\n },\n error: function (err) {\n $.spinner().stop();\n // displayMessage(err, button);\n }\n });\n });\n $('body').on('click', '.add-product-to-product-list', function () {\n // open modal and sets current product id in modal's input\n $('#wishlistModal').modal('show');\n $('#product-id').val($(this).data('pid'));\n });\n $('body').on('click', '.close-wishlist', function () {\n $('.addToWishlistModal').modal('hide');\n $('.product-list.custom-select').removeClass('is-invalid');\n });\n $('#wishlistModal').on('hidden.bs.modal', function () {\n $('.product-list.custom-select').removeClass('is-invalid');\n });\n}\n\nfunction removeFromProductlist() {\n $('body').on('click', '.remove-from-productlist', function (e) {\n var url = $(this).data('url');\n var uuid = $(this).data('uuid');\n var pid = $(this).data('pid');\n $.spinner().start();\n $.ajax({\n url: url,\n type: 'get',\n data: {\n url,\n pid,\n uuid\n },\n dataType: 'json',\n success: function (data) {\n var toRemove;\n if (data.toDelete.deleteSeller) {\n toRemove = '.seller-id-' + data.toDelete.id;\n } else {\n toRemove = '.pid-' + data.toDelete.id;\n }\n\n $(toRemove).remove();\n if (data.toDelete.isLastItem) {\n $('.mv-sellers-list').html(data.toDelete.message);\n $('.selected-productlist')\n .empty()\n .append(data.renderedEmptyList);\n } else {\n $(`.productlist-itemCard-${data.toDelete.id}`)\n .next('.lineItemDivider')\n .remove();\n $(`.productlist-itemCard-${data.toDelete.id}`).remove();\n }\n\n // updateTotals(data.toDelete.summary)\n\n $.spinner().stop();\n },\n error: function () {\n $.spinner().stop();\n var $elToAppend = $('.productlist-account-card');\n var msg = $elToAppend.data('error-msg');\n // displayErrorMessage($elToAppend, msg);\n }\n });\n });\n}\n\nfunction updateProductQtyToProductList() {\n $('body').on('submit', '.update-quantity', function (e) {\n e.preventDefault();\n $.spinner().start();\n $(this).attr('disabled', true);\n $.ajax({\n url: $(this).attr('action'),\n type: 'post',\n dataType: 'json',\n data: $(this).serialize(),\n success: function (data) {\n $.spinner().stop();\n // displayMessage(data, button);\n },\n error: function (err) {\n $.spinner().stop();\n // displayMessage(err, button);\n }\n });\n });\n}\n\nfunction generateShoppingList() {\n $('body').on('submit', '.generate-shoppinglist', function (e) {\n e.preventDefault();\n $.spinner().start();\n $(this).attr('disabled', true);\n $.ajax({\n url: $(this).attr('action'),\n type: 'get',\n dataType: 'json',\n data: $(this).serialize(),\n success: function (data) {\n $.spinner().stop();\n if (data.success) {\n $('.productlistItemCards')\n .empty()\n .append(data.renderedShoppingListItems);\n $('.summary-productlist-body').empty().append(data.summary);\n }\n // displayMessage(data, button);\n },\n error: function (err) {\n $.spinner().stop();\n // displayMessage(err, button);\n }\n });\n });\n}\n\nfunction shoppingListAddProductToCart() {\n $('body').on('submit', '.productlist-add-product-to-cart', function (e) {\n e.preventDefault();\n $.spinner().start();\n $(this).attr('disabled', true);\n $.ajax({\n url: $(this).attr('action'),\n type: 'post',\n dataType: 'json',\n data: $(this).serialize(),\n success: function (data) {\n $.spinner().stop();\n if (data.success) {\n }\n // displayMessage(data, button);\n },\n error: function (err) {\n $.spinner().stop();\n // displayMessage(err, button);\n }\n });\n });\n}\n\nfunction shoppingListAddSellerToCart() {\n $('body').on('submit', '.productlist-add-seller-to-cart', function (e) {\n e.preventDefault();\n $.spinner().start();\n $(this).attr('disabled', true);\n $.ajax({\n url: $(this).attr('action'),\n type: 'post',\n dataType: 'json',\n data: $(this).serialize(),\n success: function (data) {\n $.spinner().stop();\n if (data.success) {\n }\n // displayMessage(data, button);\n },\n error: function (err) {\n $.spinner().stop();\n // displayMessage(err, button);\n }\n });\n });\n}\n\nfunction addSelectedProductItemsToCart() {\n $('body').on('click', '.decreaseAmountProductList', function () {\n $('.decreaseAmountProductList, .increaseAmountProductList').css(\n 'pointer-events',\n 'none'\n );\n var $input = $(this).parent().find('input');\n var count = parseInt($input.val()) - 1;\n count = count < 1 ? 1 : count;\n $input.val(count);\n $input.change();\n $('.decreaseAmountProductList, .increaseAmountProductList').css(\n 'pointer-events',\n 'auto'\n );\n return false;\n });\n $('body').on('click', '.increaseAmountProductList', function () {\n $('.decreaseAmountProductList, .increaseAmountProductList').css(\n 'pointer-events',\n 'none'\n );\n var $input = $(this).parent().find('input.productlistItemQuant');\n $input.val(parseInt($input.val()) + 1);\n $input.change();\n $('.decreaseAmountProductList, .increaseAmountProductList').css(\n 'pointer-events',\n 'auto'\n );\n return false;\n });\n $('body').on('change', '.productlistItemQuant', function () {\n var url = $(this).data('action');\n var pid = $(this).data('pid');\n var qty = $(this).val();\n var listItemID = $(this).data('list');\n var uuid = $(this).data('uuid');\n $.ajax({\n url: url,\n type: 'post',\n dataType: 'json',\n data: {\n pid,\n qty,\n uuid,\n listItemID\n },\n success: function (data) {\n if (!data.error) {\n $(`.plProductCard-subTotal-${uuid} span`)\n .empty()\n .append(data.updatedProduct.subTotal.formatted);\n }\n },\n error: function (err) {\n console.log(err);\n }\n });\n });\n\n $('body').on('click', '#addSelectedItemsToCart', function () {\n var pidsObj = [];\n\n $('.selectedProductListItems').each(function () {\n if ($(this).prop('checked')) {\n var pid = $(this).data('pid');\n var qty = $(`.productlistItemQuant-${pid}`).val();\n pidsObj.push({\n pid,\n qty\n });\n }\n });\n\n var url = $(this).data('action');\n var products = JSON.stringify(pidsObj);\n $.ajax({\n url: url,\n type: 'post',\n dataType: 'json',\n data: { products },\n success: function (data) {\n if (!data.error) {\n updateCartTotals(data.cart);\n $('body').trigger('cart:update');\n if($(window).width() <= 992){\n $('body').trigger('miniCartOpenMobile:event')\n }\n }\n displayMessage(data, $(this));\n },\n error: function (err) {\n console.log('>>>', err);\n }\n });\n });\n \n $('body').on('change', '.selectedProductListItems', function () {\n var hasCheckedItems = false;\n\n $('.selectedProductListItems').each(function () {\n if ($(this).prop('checked')) {\n hasCheckedItems = true;\n }\n });\n if (hasCheckedItems) {\n $('.addToCart').fadeIn();\n } else {\n $('.addToCart').fadeOut();\n }\n });\n\n $('body').on('change', '.selectAllProducts', function (e) {\n if ($(this).prop('checked')) {\n $('.selectedProductListItems').prop('checked', true).change();\n } else {\n $('.selectedProductListItems').prop('checked', false).change();\n }\n });\n}\n\nfunction moveProductToSeletedList() {\n $('body').on('click', '.move-product-cancel', function () {\n $('#moveProductModal').modal('hide');\n });\n $('body').on('click', '.move-product-from-productlist', function (e) {\n $('#moveProductModal').modal('show');\n $('#selectedListId').removeClass('is-invalid');\n var uuid = $(this).data('uuid');\n var pid = $(this).data('pid');\n $('body').find('#movingProductId').val(pid);\n $('body').find('#currentListUUID').val(uuid);\n });\n $('body').on('submit', '#moveProductToSelectedList', function (e) {\n e.preventDefault();\n var url = $(this).data('action');\n var pid = $('#movingProductId').val();\n var listId = $('#currentListUUID').val();\n var destinationListId = $('#selectedListId').val();\n $.ajax({\n url: url,\n type: 'post',\n data: {\n pid,\n listId,\n destinationListId\n },\n dataType: 'json',\n\n success: function (data) {\n if (!data.error) {\n if (data.isLastItem) {\n $('.selected-productlist')\n .empty()\n .append(data.renderedEmptyList);\n } else {\n $(`.productlist-itemCard-${data.pid}`)\n .next('.lineItemDivider')\n .remove();\n // must remove divider first\n $(`.productlist-itemCard-${data.pid}`).remove();\n }\n\n $('#moveProductModal').modal('hide');\n displayMessage(data);\n } else {\n $('#selectedListId')\n .addClass('is-invalid')\n .siblings('.invalid-feedback')\n .html(data.msg);\n }\n },\n error: function (err) {}\n });\n });\n $('body').on('change', '#selectedListId', function () {\n $(this).removeClass('is-invalid');\n });\n}\n\nmodule.exports = {\n moveProductToSeletedList,\n addSelectedProductItemsToCart,\n addProductToProductlist,\n removeFromProductlist,\n updateProductQtyToProductList,\n addProductlist,\n getProductlist,\n editProductList,\n deleteProductlist,\n generateShoppingList,\n shoppingListAddProductToCart,\n shoppingListAddSellerToCart\n};\n","'use strict';\n\n/**\n * Updates the Mini-Cart quantity value after the customer has pressed the \"Add to Cart\" button\n * @param {string} response - ajax response from clicking the add to cart button\n */\n\nfunction handlePostCartAdd(response) {\n $('.minicart').trigger('count:update', response);\n var messageType = response.error ? 'alert-danger' : 'alert-success';\n // show add to cart toast\n if (response.newBonusDiscountLineItem\n && Object.keys(response.newBonusDiscountLineItem).length !== 0) {\n chooseBonusProducts(response.newBonusDiscountLineItem);\n } else {\n if ($('.add-to-cart-messages').length === 0) {\n $('body').append(\n '
'\n );\n }\n\n $('.add-to-cart-messages').append(\n '
'\n + response.message\n + '
'\n );\n\n setTimeout(function () {\n $('.add-to-basket-alert').remove();\n }, 5000);\n }\n}\n\nfunction handleErrorNotification(response) {\n var messageType = response.error ? 'alert-danger' : 'alert-success';\n // show add to cart toast\n if ($('.add-to-cart-messages').length === 0) {\n $('body').append(\n '
'\n );\n }\n\n $('.add-to-cart-messages').append(\n '
'\n + response.message\n + '
'\n );\n\n setTimeout(function () {\n $('.add-to-basket-alert').remove();\n }, 5000);\n}\n\n/**\n * re-renders the order totals and the number of items in the cart\n * @param {Object} message - Error message to display\n */\nfunction createErrorNotification(message) {\n var errorHtml = '
' +\n '' + message + '
';\n\n $('.cart-error').append(errorHtml);\n}\n\n\n\n/**\n * Makes a call to the server to report the event of adding an item to the cart\n *\n * @param {string | boolean} url - a string representing the end point to hit so that the event can be recorded, or false\n */\nfunction miniCartReportingUrl(url) {\n if (url) {\n $.ajax({\n url: url,\n method: 'GET',\n success: function () {\n // reporting urls hit on the server\n },\n error: function () {\n // no reporting urls hit on the server\n }\n });\n }\n}\n\n/**\n * appends params to a url\n * @param {string} url - Original url\n * @param {Object} params - Parameters to append\n * @returns {string} result url with appended parameters\n */\nfunction appendToUrl(url, params) {\n var newUrl = url;\n newUrl += (newUrl.indexOf('?') !== -1 ? '&' : '?') + Object.keys(params).map(function (key) {\n return key + '=' + encodeURIComponent(params[key]);\n }).join('&');\n\n return newUrl;\n}\n\n/**\n * Checks whether the basket is valid. if invalid displays error message and disables\n * checkout button\n * @param {Object} data - AJAX response from the server\n */\nfunction validateBasket(data) {\n if (data.valid.error) {\n if (data.valid.message) {\n var errorHtml = '
' +\n '' + data.valid.message + '
';\n\n $('.cart-error').append(errorHtml);\n } else {\n $('.cart').empty().append('
' +\n '
' +\n '

' + data.resources.emptyCartMsg + '

' +\n '
' +\n '
'\n );\n $('.number-of-items').empty().append(data.resources.numberOfItems);\n $('.minicart-quantity').empty().append(data.numItems);\n $('.minicart-link').attr({\n 'aria-label': data.resources.minicartCountOfItems,\n title: data.resources.minicartCountOfItems\n });\n $('.miniCart-wrap').empty();\n $('.miniCart-wrap').hide('show');\n }\n\n $('.checkout-btn').addClass('disabled');\n } else {\n $('.checkout-btn').removeClass('disabled');\n }\n}\n\n/**\n * Updates the availability of a product line item\n * @param {Object} data - AJAX response from the server\n * @param {string} uuid - The uuid of the product line item to update\n */\nfunction updateAvailability(data, uuid) {\n var lineItem;\n var messages = '';\n\n for (var i = 0; i < data.items.length; i++) {\n if (data.items[i].UUID === uuid) {\n lineItem = data.items[i];\n break;\n }\n }\n\n if (lineItem != null) {\n $('.availability-' + lineItem.UUID).empty();\n\n if (lineItem.availability) {\n if (lineItem.availability.messages) {\n lineItem.availability.messages.forEach(function (message) {\n messages += '

' + message + '

';\n });\n }\n\n if (lineItem.availability.inStockDate) {\n messages += '

'\n + lineItem.availability.inStockDate\n + '

';\n }\n }\n\n $('.availability-' + lineItem.UUID).html(messages);\n }\n}\n\n/**\n * re-renders the approaching discount messages\n * @param {Object} approachingDiscounts - updated approaching discounts for the cart\n */\nfunction updateApproachingDiscounts(approachingDiscounts) {\n var html = '';\n $('.approaching-discounts').empty();\n if (approachingDiscounts.length > 0) {\n approachingDiscounts.forEach(function (item) {\n html += '
'\n + item.discountMsg + '
';\n });\n }\n $('.approaching-discounts').append(html);\n}\n\n/**\n * re-renders the order totals and the number of items in the cart\n * @param {Object} data - AJAX response from the server\n */\nfunction updateCartTotals(data) {\n $('.number-of-items').empty().append(data.resources.numberOfItems);\n $('.shipping-cost').empty().append(data.totals.totalShippingCost);\n $('.tax-total').empty().append(data.totals.totalTax);\n $('.grand-total').empty().append(data.totals.grandTotal);\n $('.sub-total').empty().append(data.totals.subTotal.formatted);\n $('.minicart-quantity').empty().append(data.numItems);\n $('.minicart-link').attr({\n 'aria-label': data.resources.minicartCountOfItems,\n title: data.resources.minicartCountOfItems\n });\n if (data.totals.orderLevelDiscountTotal.value > 0) {\n $('.order-discount').removeClass('hide-order-discount');\n $('.order-discount-total').empty()\n .append('- ' + data.totals.orderLevelDiscountTotal.formatted);\n } else {\n $('.order-discount').addClass('hide-order-discount');\n }\n\n if (data.totals.shippingLevelDiscountTotal.value > 0) {\n $('.shipping-discount').removeClass('hide-shipping-discount');\n $('.shipping-discount-total').empty().append('- ' +\n data.totals.shippingLevelDiscountTotal.formatted);\n } else {\n $('.shipping-discount').addClass('hide-shipping-discount');\n }\n\n data.items.forEach(function (item) {\n if (data.totals.orderLevelDiscountTotal.value > 0) {\n $('.coupons-and-promos').empty().append(data.totals.discountsHtml);\n }\n if (item.renderedPromotions) {\n $('.item-' + item.UUID).empty().append(item.renderedPromotions);\n } else {\n $('.item-' + item.UUID).empty();\n }\n $('.uuid-' + item.UUID + ' .unit-price').empty().append(item.renderedPrice);\n $('.line-item-price-' + item.UUID + ' .unit-price').empty().append(item.renderedPrice);\n $('.item-total-' + item.UUID).empty().append(item.priceTotal.renderedPrice);\n });\n}\n\n$(document).ready(function () {\n $('.precoProduto').each(function () {\n var priceContent = $(this).attr('content');\n var formattedPrice = priceContent.replace('.', ',');\n $(this).text('R$ ' + formattedPrice);\n });\n});\n\n$(document).on('click', '.quantity-form-tile .js-decreaseAmountCart', function () {\n var $input = $(this).parent().find('input');\n var count = parseInt($input.val()) - 1;\n $input.val(count);\n $input.change();\n return false;\n});\n\n$(document).on('click', '.quantity-form-tile .js-increaseAmountCart', function () {\n var $input = $(this).parent().find('input');\n var newValue = parseInt($input.val()) + 1;\n\n if ($input.hasClass('js-qnt-minicart') || $input.hasClass('js-qnt-productTile')) {\n if (newValue === 1) {\n $input.val(newValue + ' unidade');\n } else {\n $input.val(newValue + ' unidades');\n }\n }else{\n $input.val(newValue);\n }\n\n $input.change();\n return false;\n});\n\n//add to cart trigger\n$('body').on('addToCart:event', function (event, element) {\n // console.log(\"🚀 ~ addToCart trigger call event: \")\n var addToCartUrl;\n $('body').trigger('product:beforeAddToCart', element);\n var pid = $(element).data('pid');\n var pidsObj = $(element).data('pidsobj');\n var quantity = 1;\n var form;\n\n if(pid){\n form = {\n pid: pid,\n quantity: quantity\n };\n } else if(pidsObj){\n form = {\n pidsObj: JSON.stringify(pidsObj)\n };\n }\n\n addToCartUrl = $('.add-to-cart-url').val();\n\n var self = element;\n $(self).addClass(\"is__loading\");\n\n $(element).trigger('updateAddToCartFormData', form);\n if (addToCartUrl) {\n $.ajax({\n url: addToCartUrl,\n method: 'POST',\n data: form,\n success: function (data) {\n //datalayer trigger add_to_cart\n $('body').trigger('dataLayerPush:event', data.add_to_cart);\n\n handlePostCartAdd(data);\n $('body').trigger('product:afterAddToCart', data);\n\n //verifica se é um card de produto\n if(pid && $('.quantity[data-pid=\"' + pid + '\"].js-qnt-productTile').length>0){\n $('.quantity[data-pid=\"' + pid + '\"]').val(quantity + ' unidade');\n $('.quantity[data-pid=\"' + pid + '\"]').attr('data-uuid', data.pliUUID);\n }\n else if(pid){\n $('.quantity[data-pid=\"' + pid + '\"]').val(quantity);\n $('.quantity[data-pid=\"' + pid + '\"]').attr('data-uuid', data.pliUUID);\n } else {\n var newQuantity = Number($('.quantity[data-pid=\"' + pidsObj[0].pid + '\"]').val())+1\n $('.quantity[data-pid=\"' + pidsObj[0].pid + '\"]').val(newQuantity);\n $('.quantity[data-pid=\"' + pidsObj[0].pid + '\"]').attr('data-uuid', data.pliUUID);\n }\n\n $(self).data('pre-select-qty', parseInt(quantity, 10));\n\n $('body').trigger('cart:update', data);\n\n $(self).removeClass(\"is__loading\");\n $.spinner().stop();\n // change visible action button\n if (!$(self).hasClass('js-pdp-add')) {\n $(self).addClass('d-none');\n }\n $(self).closest('.quantityAndShop').find('div.qtdContainer.productCard').removeClass('d-none');\n\n if ($(window).width() <= 992) {\n $('body').trigger('miniCartOpenMobile:event');\n }\n\n },\n error: function () {\n $(self).removeClass(\"is__loading\");\n $.spinner().stop();\n }\n });\n }\n});\n\nmodule.exports = {\n //update qtd\n updateQtd: function () {\n $('body').on('change', '.js-quantity-form-tile > .quantity', function (e) {\n var preSelectQty = $(this).data('pre-select-qty');\n var quantity = $(this).val();\n\n if (/unidade(s)?/.test(quantity)) {\n quantity = quantity.replace(/unidade(s)?/, '').trim();\n quantity = parseInt(quantity, 10);\n }\n if (isNaN(quantity)) {\n quantity = 0;\n }\n\n var productID = $(this).data('pid');\n var url = $(this).data('action');\n var uuid = $(this).attr('data-uuid');\n var self = this;\n var parent = $(this).parents('.quantity-form-tile');\n\n $(parent).addClass('is__loading');\n\n if(quantity==='0') {\n //remove\n e.preventDefault();\n // verifica se é um produto da vitrine ou do carrinho\n if ($(self).parents('.productBox').length === 1) {\n $(self).parents('.productBox').find('.remove-product').trigger('click');\n $('body').trigger('cart:beforeUpdate');\n\n return;\n }\n\n var url = $(this).data('remove');\n var urlParams = {\n pid: productID,\n uuid: uuid\n };\n\n url = appendToUrl(url, urlParams);\n\n $('body').trigger('cart:beforeUpdate');\n $.ajax({\n url: url,\n type: 'get',\n dataType: 'json',\n success: function (data) {\n //datalayer trigger remove_from_cart\n $('body').trigger('dataLayerPush:event', data.remove_from_cart);\n\n // change visible action button\n $(self).closest('.quantityAndShop').find('div.qtdContainer.productCard').addClass('d-none');\n $(self).closest('.quantityAndShop').find('.quickBuyBtn.add-to-cart-carousel').removeClass('d-none');\n\n if (data.toBeDeletedUUIDs && data.toBeDeletedUUIDs.length > 0) {\n for (var i = 0; i < data.toBeDeletedUUIDs.length; i++) {\n $('.uuid-' + data.toBeDeletedUUIDs[i]).remove();\n }\n }\n $('.uuid-' + uuid).remove();\n if (!data.basket.hasBonusProduct) {\n $('.bonus-product').remove();\n }\n $('.coupons-and-promos').empty().append(data.basket.totals.discountsHtml);\n updateCartTotals(data.basket);\n updateApproachingDiscounts(data.basket.approachingDiscounts);\n $('body').trigger('setShippingMethodSelection', data.basket);\n validateBasket(data.basket);\n\n $('body').trigger('cart:update', data);\n\n // gamificacao carrinho uptade\n console.log(data.miniCartTagsRender);\n $('.minicart-tags').empty().append(data.miniCartTagsRender);\n\n $(parent).removeClass('is__loading');\n\n $('body').trigger('miniCartCloseMobile:event');\n },\n error: function (err) {\n $(parent).removeClass('is__loading');\n }\n });\n } else {\n //uptade\n var urlParams = {\n pid: productID,\n quantity: quantity,\n uuid: uuid\n };\n url = appendToUrl(url, urlParams);\n\n $('body').trigger('cart:beforeUpdate');\n\n $.ajax({\n url: url,\n type: 'get',\n context: this,\n dataType: 'json',\n success: function (data) {\n if(data.error) {\n handleErrorNotification(data);\n var preQuantity = parseInt(preSelectQty, 10)\n var $qntInputsProductTiles = $('.quantity[data-uuid=\"' + uuid + '\"].js-qnt-productTile');\n var preSelectQtyFormatted = preQuantity == 1 ? preQuantity + ' unidade': preQuantity + ' unidades';\n $(this).val($qntInputsProductTiles.length > 0 ? preSelectQtyFormatted : preQuantity);\n\n $(parent).removeClass('is__loading');\n $.spinner().stop();\n return\n }\n\n //datalayer trigger add_to_cart\n $('body').trigger('dataLayerPush:event', data.add_to_cart);\n\n $('body').trigger('product:afterAddToCart', data);\n\n //$('.quantity[data-uuid=\"' + uuid + '\"]').val(quantity);\n var $quantityInput = $('.quantity[data-uuid=\"' + uuid + '\"]');\n $quantityInput.val(quantity);\n\n //verifica se a quantidade é de um card de produto\n var $qntInputsProductTiles = $('.quantity[data-uuid=\"' + uuid + '\"].js-qnt-productTile');\n if($qntInputsProductTiles.length > 0){\n $qntInputsProductTiles.val(quantity == 1? quantity + ' unidade': quantity + ' unidades');\n }\n\n var $qntInputsMiniCart = $('.quantity[data-uuid=\"' + uuid + '\"].js-qnt-minicart');\n if ($qntInputsMiniCart.length > 0) {\n console.log(\"🚀 ~ quantity:\", quantity)\n if (quantity == 1) {\n $qntInputsMiniCart.siblings('.btn-trash').show();\n $qntInputsMiniCart.siblings('.btn-decrease').hide();\n $qntInputsMiniCart.val(quantity + ' unidade');\n } else if(quantity == 0) {\n console.log(\"🚀 ~ $(this).$('.remove-product').click()\")\n $('.remove-btn[data-pid=\"' + productID + '\"]').click();\n } else {\n $qntInputsMiniCart.siblings('.btn-decrease').show();\n $qntInputsMiniCart.siblings('.btn-trash').hide();\n $qntInputsMiniCart.val(quantity + ' unidades');\n }\n }\n\n $('.coupons-and-promos').empty().append(data.totals.discountsHtml);\n updateCartTotals(data);\n updateApproachingDiscounts(data.approachingDiscounts);\n updateAvailability(data, uuid);\n validateBasket(data);\n $(this).data('pre-select-qty', parseInt(quantity, 10));\n\n $('body').trigger('cart:update', data);\n\n // gamificacao carrinho uptade\n console.log(data.miniCartTagsRender);\n $('.minicart-tags').empty().append(data.miniCartTagsRender);\n\n $(parent).removeClass('is__loading');\n\n },\n error: function (err) {\n if (err.responseJSON.redirectUrl) {\n window.location.href = err.responseJSON.redirectUrl;\n } else {\n createErrorNotification(err.responseJSON.errorMessage);\n $(this).val(parseInt(preSelectQty, 10));\n $(parent).removeClass('is__loading');\n }\n }\n });\n }\n\n });\n },\n\n //add to cart home carousel\n addToCart: function () {\n $(document).on('click', 'button.add-to-cart-carousel', function () {\n // teste B\n var defaultCep = $('input[name=\"defaultCep\"]').val();\n\n if(defaultCep === 'false') {\n $('body').trigger('addToCart:event', this);\n } else {\n $('#cepModal').modal('show')\n var pid = $(this).data('pid');\n setTimeout(() => {\n $('#cepProductId').val(pid);\n }, 100);\n }\n });\n },\n\n //add to cart search\n searchAddToCart: function () {\n $(document).on('click', '.js-search-addToCard', function () {\n var addToCartUrl;\n $('body').trigger('product:beforeAddToCart', this);\n var pid = $(this).data('pid');\n var addToCartUrl = $(this).data('url');\n var quantity = 1;\n\n var form = {\n pid: pid,\n quantity: quantity\n };\n\n var self = this;\n $(self).addClass(\"is__loading\");\n\n $(this).trigger('updateAddToCartFormData', form);\n\n if (addToCartUrl) {\n $.ajax({\n url: addToCartUrl,\n method: 'POST',\n data: form,\n success: function (data) {\n //datalayer trigger add_to_cart\n $('body').trigger('dataLayerPush:event', data.add_to_cart);\n\n handlePostCartAdd(data);\n $('body').trigger('product:afterAddToCart', data);\n\n $('.quantity[data-pid=\"' + pid + '\"]').val(quantity);\n $('.quantity[data-pid=\"' + pid + '\"]').attr('data-uuid', data.pliUUID);\n $('body').trigger('cart:update', data);\n\n $(self).removeClass(\"is__loading\");\n\n },\n error: function () {\n $(self).removeClass(\"is__loading\");\n $.spinner().stop();\n }\n });\n }\n });\n }\n\n};\n","//Function used to add alert to form component\nfunction showAlert(form, type, msg) {\n if ($(form).find(\".alert\").length > 0) {\n $(form)\n .find(\".alert\")\n .remove();\n }\n $(form).prepend('' + msg + \"\");\n}\n\n//Function used to add URL Param\nfunction addUrlParam(param, value) {\n const urlParams = new URLSearchParams(\n window.location.search\n );\n urlParams.set(param, value);\n window.location.search = urlParams;\n}\n\nexport {\n showAlert,\n addUrlParam\n}\n","var processInclude = require(\"suzano/util\");\n\n$(document).ready(function () {\n processInclude(require('suzano/productlist/productlist'))\n processInclude(require('../product/productPrice'));\n});"],"sourceRoot":""}