From 366039e516d0c6edc933ae701b6920b9edc86907 Mon Sep 17 00:00:00 2001 From: Tam Date: Fri, 23 Aug 2019 17:00:30 +0100 Subject: [PATCH] Build JS --- src/web/assets/js/web-payments.min.js | 2 +- src/web/assets/js/web-payments.min.js.map | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/web/assets/js/web-payments.min.js b/src/web/assets/js/web-payments.min.js index 0b7fa54..93c903e 100644 --- a/src/web/assets/js/web-payments.min.js +++ b/src/web/assets/js/web-payments.min.js @@ -1,2 +1,2 @@ -!function(e){var t={};function n(o){if(t[o])return t[o].exports;var r=t[o]={i:o,l:!1,exports:{}};return e[o].call(r.exports,r,r.exports,n),r.l=!0,r.exports}n.m=e,n.c=t,n.d=function(e,t,o){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:o})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var o=Object.create(null);if(n.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)n.d(o,r,function(t){return e[t]}.bind(null,r));return o},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s="./js/web-payments.js")}({"../../../../../../usr/local/lib/node_modules/build/node_modules/@babel/runtime/helpers/typeof.js":function(e,t){function n(e){return(n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function o(t){return"function"==typeof Symbol&&"symbol"===n(Symbol.iterator)?e.exports=o=function(e){return n(e)}:e.exports=o=function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":n(e)},o(t)}e.exports=o},"./js/web-payments.js":function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__);var _babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("../../../../../../usr/local/lib/node_modules/build/node_modules/@babel/runtime/helpers/typeof.js"),_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_0__);function post(e,t,n){var o=e.actionTrigger,r=e.csrf,i=new FormData;return i.append(r[0],r[1]),Object.keys(n).forEach(function(e){var t=n[e];i.append(e,"object"===_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_0___default()(t)?JSON.stringify(t):t)}),fetch("/".concat(o,"/web-payments/stripe/").concat(t),{method:"POST",body:i,headers:{Accept:"application/json","X-Requested-With":"XMLHttpRequest"}}).then(function(e){return e.json()})}function updateItems(e,t,n,o){o("update-display-items",{cartId:t.cartId,items:e}).then(function(o){var r=o.total,i=o.displayItems,p=o.shippingOptions;t.update({items:e}),n.update({total:r,displayItems:i,shippingOptions:p})}).catch(function(e){throw e})}function onShippingAddressChange(e,t,n){n("update-address",{cartId:t.cartId,items:t.items,address:e.shippingAddress}).then(function(n){t.update({shippingAddress:e.shippingAddress}),e.updateWith(n)}).catch(function(){e.updateWith({status:"fail"})})}function onShippingOptionChange(e,t,n){n("update-shipping",{cartId:t.cartId,items:t.items,address:t.shippingAddress,method:e.shippingOption}).then(function(n){t.update({shippingOption:e.shippingOption}),e.updateWith(n)}).catch(function(){e.updateWith({status:"fail"})})}function onToken(e,state,post){post("pay",{cartId:state.cartId,items:state.items,token:e.token,payerName:e.payerName,payerEmail:e.payerEmail,payerPhone:e.payerPhone,shippingAddress:e.shippingAddress,shippingMethod:e.shippingOption}).then(function(data){e.complete(data.status),state.onComplete.js&&eval("const cwp = { number: '"+data.number+"' };"+state.onComplete.js),state.onComplete.redirect&&(window.location=state.onComplete.redirect.replace("{number}",data.number))}).catch(function(){e.complete("fail")})}function onPaymentMethod(e,t,n){e.token=e.paymentMethod,onToken(e,t,n)}window.CraftWebPayments=function(e){e=Object.freeze(e);var t=document.getElementById(e.id),n=window.Stripe(e.stripeApiKey),o={actionTrigger:e.actionTrigger,csrf:e.csrf},r={cartId:e.cart.id,items:e.cart.items,shippingAddress:null,shippingOption:null,onComplete:e.onComplete,update:function(e){var t=this;Object.keys(e).forEach(function(n){t[n]=e[n]})}},i=n.paymentRequest({country:e.country.toUpperCase(),currency:e.currency.toLowerCase(),displayItems:e.cart.displayItems,total:e.cart.total,requestShipping:!!e.requestShipping,shippingType:"boolean"==typeof e.requestShipping?"shipping":e.requestShipping,shippingOptions:e.shippingMethods,requestPayerName:e.requestDetails.indexOf("name")>-1,requestPayerEmail:e.requestDetails.indexOf("email")>-1,requestPayerPhone:e.requestDetails.indexOf("phone")>-1}),p=function(e,t){return post(o,e,t)};return i.canMakePayment().then(function(){n.elements().create("paymentRequestButton",{paymentRequest:i,style:{paymentRequestButton:e.style}}).mount(t);var o=function(e){return function(t){e(t,r,p)}};i.on("shippingaddresschange",o(onShippingAddressChange)),i.on("shippingoptionchange",o(onShippingOptionChange)),"PaymentIntents"===e.stripeGatewayType?i.on("paymentmethod",o(onPaymentMethod)):i.on("token",o(onToken))}).catch(console.error),Object.freeze({get items(){return Object.freeze(r.items.map(function(e){return Object.freeze(e)}))},set items(e){updateItems(e,r,i,p)},refresh:function(){updateItems(null,r,i,p)}})}}}); +!function(e){var t={};function n(o){if(t[o])return t[o].exports;var r=t[o]={i:o,l:!1,exports:{}};return e[o].call(r.exports,r,r.exports,n),r.l=!0,r.exports}n.m=e,n.c=t,n.d=function(e,t,o){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:o})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var o=Object.create(null);if(n.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)n.d(o,r,function(t){return e[t]}.bind(null,r));return o},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s="./js/web-payments.js")}({"../../../../../../usr/local/lib/node_modules/build/node_modules/@babel/runtime/helpers/typeof.js":function(e,t){function n(e){return(n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function o(t){return"function"==typeof Symbol&&"symbol"===n(Symbol.iterator)?e.exports=o=function(e){return n(e)}:e.exports=o=function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":n(e)},o(t)}e.exports=o},"./js/web-payments.js":function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__);var _babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("../../../../../../usr/local/lib/node_modules/build/node_modules/@babel/runtime/helpers/typeof.js"),_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_0___default=__webpack_require__.n(_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_0__);function post(e,t,n){var o=e.actionTrigger,r=e.csrf,i=new FormData;return i.append(r[0],r[1]),Object.keys(n).forEach(function(e){var t=n[e];i.append(e,"object"===_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_0___default()(t)?JSON.stringify(t):t)}),fetch("/".concat(o,"/web-payments/stripe/").concat(t),{method:"POST",body:i,headers:{Accept:"application/json","X-Requested-With":"XMLHttpRequest"}}).then(function(e){return e.json()})}function updateItems(e,t,n,o){o("update-display-items",{cartId:t.cartId,items:e}).then(function(o){var r=o.total,i=o.displayItems,p=o.shippingOptions;t.update({items:e}),n.update({total:r,displayItems:i,shippingOptions:p})}).catch(function(e){throw e})}function onShippingAddressChange(e,t,n){n("update-address",{cartId:t.cartId,items:t.items,address:e.shippingAddress}).then(function(n){t.update({shippingAddress:e.shippingAddress}),e.updateWith(n)}).catch(function(){e.updateWith({status:"fail"})})}function onShippingOptionChange(e,t,n){n("update-shipping",{cartId:t.cartId,items:t.items,address:t.shippingAddress,method:e.shippingOption}).then(function(n){t.update({shippingOption:e.shippingOption}),e.updateWith(n)}).catch(function(){e.updateWith({status:"fail"})})}function onToken(e,state,post){post("pay",{cartId:state.cartId,items:state.items,token:e.token,payerName:e.payerName,payerEmail:e.payerEmail,payerPhone:e.payerPhone,shippingAddress:e.shippingAddress,shippingMethod:e.shippingOption}).then(function(data){e.complete(data.status),state.onComplete.js&&eval("const cwp = { number: '"+data.number+"' };"+state.onComplete.js),state.onComplete.redirect&&(window.location=state.onComplete.redirect.replace("{number}",data.number))}).catch(function(){e.complete("fail")})}function onPaymentMethod(e,t,n){e.token=e.paymentMethod,onToken(e,t,n)}window.CraftWebPayments=function(e){Object.isFrozen(e)||(e=Object.freeze(e));var t=document.getElementById(e.id),n=window.Stripe(e.stripeApiKey),o={actionTrigger:e.actionTrigger,csrf:e.csrf},r={cartId:e.cart.id,items:e.cart.items,shippingAddress:null,shippingOption:null,onComplete:e.onComplete,update:function(e){var t=this;Object.keys(e).forEach(function(n){t[n]=e[n]})}},i=n.paymentRequest({country:e.country.toUpperCase(),currency:e.currency.toLowerCase(),displayItems:e.cart.displayItems,total:e.cart.total,requestShipping:!!e.requestShipping,shippingType:"boolean"==typeof e.requestShipping?"shipping":e.requestShipping,shippingOptions:e.shippingMethods,requestPayerName:e.requestDetails.indexOf("name")>-1,requestPayerEmail:e.requestDetails.indexOf("email")>-1,requestPayerPhone:e.requestDetails.indexOf("phone")>-1}),p=function(e,t){return post(o,e,t)};return i.canMakePayment().then(function(){n.elements().create("paymentRequestButton",{paymentRequest:i,style:{paymentRequestButton:e.style}}).mount(t);var o=function(e){return function(t){e(t,r,p)}};i.on("shippingaddresschange",o(onShippingAddressChange)),i.on("shippingoptionchange",o(onShippingOptionChange)),"PaymentIntents"===e.stripeGatewayType?i.on("paymentmethod",o(onPaymentMethod)):i.on("token",o(onToken))}).catch(console.error),Object.freeze({get items(){return Object.freeze(r.items.map(function(e){return Object.freeze(e)}))},set items(e){updateItems(e,r,i,p)},refresh:function(){updateItems(null,r,i,p)},reload:function(){return window.CraftWebPayments(e)}})}}}); //# sourceMappingURL=web-payments.min.js.map \ No newline at end of file diff --git a/src/web/assets/js/web-payments.min.js.map b/src/web/assets/js/web-payments.min.js.map index 04236ab..f46254d 100644 --- a/src/web/assets/js/web-payments.min.js.map +++ b/src/web/assets/js/web-payments.min.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:////usr/local/lib/node_modules/build/node_modules/@babel/runtime/helpers/typeof.js","webpack:///./js/web-payments.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","_typeof2","obj","iterator","constructor","_typeof","post","action","body","actionTrigger","csrf","fd","FormData","append","keys","forEach","JSON","stringify","fetch","method","headers","then","res","json","updateItems","items","state","paymentRequest","cartId","total","displayItems","shippingOptions","update","catch","e","onShippingAddressChange","address","shippingAddress","data","updateWith","status","onShippingOptionChange","shippingOption","onToken","token","payerName","payerEmail","payerPhone","shippingMethod","complete","onComplete","js","eval","number","redirect","window","location","replace","onPaymentMethod","paymentMethod","CraftWebPayments","opts","freeze","el","document","getElementById","id","stripe","Stripe","stripeApiKey","postOptions","cart","nextState","country","toUpperCase","currency","toLowerCase","requestShipping","shippingType","shippingMethods","requestPayerName","requestDetails","indexOf","requestPayerEmail","requestPayerPhone","postInternal","canMakePayment","elements","style","paymentRequestButton","mount","handler","on","stripeGatewayType","console","error","map","item","refresh"],"mappings":"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","file":"web-payments.min.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 = \"./js/web-payments.js\");\n","function _typeof2(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof2 = function _typeof2(obj) { return typeof obj; }; } else { _typeof2 = function _typeof2(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof2(obj); }\n\nfunction _typeof(obj) {\n if (typeof Symbol === \"function\" && _typeof2(Symbol.iterator) === \"symbol\") {\n module.exports = _typeof = function _typeof(obj) {\n return _typeof2(obj);\n };\n } else {\n module.exports = _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : _typeof2(obj);\n };\n }\n\n return _typeof(obj);\n}\n\nmodule.exports = _typeof;","// Helpers\n// =============================================================================\n\n/**\n * Posts to Craft\n *\n * @param {string} actionTrigger\n * @param {array} csrf\n * @param {string} action\n * @param {Object} body\n * @return {Promise}\n */\nfunction post ({ actionTrigger, csrf }, action, body) {\n\tconst fd = new FormData();\n\tfd.append(csrf[0], csrf[1]);\n\n\tObject.keys(body).forEach(function (key) {\n\t\tconst value = body[key];\n\n\t\tfd.append(\n\t\t\tkey,\n\t\t\ttypeof value === 'object' ? JSON.stringify(value) : value\n\t\t);\n\t});\n\n\treturn fetch(`/${actionTrigger}/web-payments/stripe/${action}`, {\n\t\tmethod: 'POST',\n\t\tbody: fd,\n\t\theaders: {\n\t\t\t'Accept': 'application/json',\n\t\t\t'X-Requested-With': 'XMLHttpRequest',\n\t\t},\n\t}).then(function (res) {\n\t\treturn res.json();\n\t});\n}\n\n// Actions\n// =============================================================================\n\n/**\n * Update the items in the virtual cart\n *\n * @param items\n * @param state\n * @param paymentRequest\n * @param post\n */\nfunction updateItems (items, state, paymentRequest, post) {\n\tpost('update-display-items', {\n\t\tcartId: state.cartId,\n\t\titems,\n\t}).then(({ total, displayItems, shippingOptions }) => {\n\t\tstate.update({ items });\n\t\tpaymentRequest.update({ total, displayItems, shippingOptions });\n\t}).catch(e => {\n\t\tthrow e;\n\t});\n}\n\n// Events\n// =============================================================================\n\n/**\n * Handle the changing shipping address\n *\n * @param {Object} e\n * @param {Object} state\n * @param {Function} post\n */\nfunction onShippingAddressChange (e, state, post) {\n\tpost('update-address', {\n\t\tcartId: state.cartId,\n\t\titems: state.items,\n\t\taddress: e.shippingAddress,\n\t}).then(data => {\n\t\tstate.update({ shippingAddress: e.shippingAddress });\n\t\te.updateWith(data);\n\t}).catch(() => {\n\t\te.updateWith({ status: 'fail' });\n\t});\n}\n\n/**\n * Handle the changing shipping option\n *\n * @param {Object} e\n * @param {array} state\n * @param {Function} post\n */\nfunction onShippingOptionChange (e, state, post) {\n\tpost('update-shipping', {\n\t\tcartId: state.cartId,\n\t\titems: state.items,\n\t\taddress: state.shippingAddress,\n\t\tmethod: e.shippingOption,\n\t}).then(data => {\n\t\tstate.update({ shippingOption: e.shippingOption });\n\t\te.updateWith(data);\n\t}).catch(() => {\n\t\te.updateWith({ status: 'fail' });\n\t});\n}\n\n/**\n * Handle the Stripe token\n *\n * @param {Object} e\n * @param {Object} state\n * @param {Function} post\n */\nfunction onToken (e, state, post) {\n\tpost('pay', {\n\t\tcartId: state.cartId,\n\t\titems: state.items,\n\t\ttoken: e.token,\n\t\tpayerName: e.payerName,\n\t\tpayerEmail: e.payerEmail,\n\t\tpayerPhone: e.payerPhone,\n\t\tshippingAddress: e.shippingAddress,\n\t\tshippingMethod: e.shippingOption,\n\t}).then(data => {\n\t\te.complete(data.status);\n\n\t\tif (state.onComplete.js) {\n\t\t\teval(\n\t\t\t\t'const cwp = { number: \\'' + data.number + '\\' };' +\n\t\t\t\tstate.onComplete.js\n\t\t\t);\n\t\t}\n\n\t\tif (state.onComplete.redirect)\n\t\t\twindow.location = state.onComplete.redirect.replace('{number}', data.number);\n\t}).catch(() => {\n\t\te.complete('fail');\n\t});\n}\n\n/**\n * Handle the PaymentIntent response\n *\n * @param {Object} e\n * @param {Object} state\n * @param {Function} post\n */\nfunction onPaymentMethod (e, state, post) {\n\te.token = e.paymentMethod;\n\tonToken(e, state, post);\n}\n\n// Craft Web Payments\n// =============================================================================\n\n/**\n * @return {null|Object}\n */\nwindow.CraftWebPayments = function (opts) {\n\n\topts = Object.freeze(opts);\n\n\t// Constants\n\t// -------------------------------------------------------------------------\n\n\tconst el = document.getElementById(opts.id)\n\t\t, stripe = window.Stripe(opts.stripeApiKey)\n\t\t, postOptions = { actionTrigger: opts.actionTrigger, csrf: opts.csrf };\n\n\tconst state = {\n\t\tcartId: opts.cart.id,\n\t\titems: opts.cart.items,\n\t\tshippingAddress: null,\n\t\tshippingOption: null,\n\t\tonComplete: opts.onComplete,\n\n\t\tupdate: function (nextState) {\n\t\t\tObject.keys(nextState).forEach(key => {\n\t\t\t\tthis[key] = nextState[key];\n\t\t\t});\n\t\t},\n\t};\n\n\t// Payment Request\n\t// -------------------------------------------------------------------------\n\n\t// Build the payment request object\n\tconst paymentRequest = stripe.paymentRequest({\n\t\tcountry: opts.country.toUpperCase(),\n\t\tcurrency: opts.currency.toLowerCase(),\n\t\tdisplayItems: opts.cart.displayItems,\n\t\ttotal: opts.cart.total,\n\t\trequestShipping: !!opts.requestShipping,\n\t\tshippingType: typeof opts.requestShipping === 'boolean' ? 'shipping' : opts.requestShipping,\n\t\tshippingOptions: opts.shippingMethods,\n\t\trequestPayerName: opts.requestDetails.indexOf('name') > -1,\n\t\trequestPayerEmail: opts.requestDetails.indexOf('email') > -1,\n\t\trequestPayerPhone: opts.requestDetails.indexOf('phone') > -1,\n\t});\n\n\t// Bind the postOptions to the post function\n\tconst postInternal = function (action, body) {\n\t\treturn post(postOptions, action, body);\n\t};\n\n\t// Ensure we can actually make payment\n\tpaymentRequest.canMakePayment().then(function () {\n\n\t\t// Create the Stripe payment request button & mount it in place\n\t\tstripe.elements().create('paymentRequestButton', {\n\t\t\tpaymentRequest,\n\t\t\tstyle: {\n\t\t\t\tpaymentRequestButton: opts.style,\n\t\t\t},\n\t\t}).mount(el);\n\n\t\t// Helper to bind required variables to the event handler\n\t\tconst bind = function (handler) {\n\t\t\treturn function (e) {\n\t\t\t\thandler(e, state, postInternal);\n\t\t\t};\n\t\t};\n\n\t\t// Listen for the events\n\t\tpaymentRequest.on('shippingaddresschange', bind(onShippingAddressChange));\n\t\tpaymentRequest.on('shippingoptionchange', bind(onShippingOptionChange));\n\n\t\tif (opts.stripeGatewayType === 'PaymentIntents')\n\t\t\tpaymentRequest.on('paymentmethod', bind(onPaymentMethod));\n\t\telse\n\t\t\tpaymentRequest.on('token', bind(onToken));\n\n\t}).catch(console.error); // eslint-disable-line no-console\n\n\treturn Object.freeze({\n\t\tget items () {\n\t\t\treturn Object.freeze(state.items.map(function (item) {\n\t\t\t\treturn Object.freeze(item);\n\t\t\t}));\n\t\t},\n\n\t\tset items (items) {\n\t\t\tupdateItems(items, state, paymentRequest, postInternal);\n\t\t},\n\n\t\trefresh () {\n\t\t\tupdateItems(null, state, paymentRequest, postInternal);\n\t\t},\n\t});\n\n};"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:////usr/local/lib/node_modules/build/node_modules/@babel/runtime/helpers/typeof.js","webpack:///./js/web-payments.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","_typeof2","obj","iterator","constructor","_typeof","post","action","body","actionTrigger","csrf","fd","FormData","append","keys","forEach","JSON","stringify","fetch","method","headers","then","res","json","updateItems","items","state","paymentRequest","cartId","total","displayItems","shippingOptions","update","catch","e","onShippingAddressChange","address","shippingAddress","data","updateWith","status","onShippingOptionChange","shippingOption","onToken","token","payerName","payerEmail","payerPhone","shippingMethod","complete","onComplete","js","eval","number","redirect","window","location","replace","onPaymentMethod","paymentMethod","CraftWebPayments","opts","isFrozen","freeze","el","document","getElementById","id","stripe","Stripe","stripeApiKey","postOptions","cart","nextState","country","toUpperCase","currency","toLowerCase","requestShipping","shippingType","shippingMethods","requestPayerName","requestDetails","indexOf","requestPayerEmail","requestPayerPhone","postInternal","canMakePayment","elements","style","paymentRequestButton","mount","handler","on","stripeGatewayType","console","error","map","item","refresh","reload"],"mappings":"aACE,IAAIA,EAAmB,GAGvB,SAASC,EAAoBC,GAG5B,GAAGF,EAAiBE,GACnB,OAAOF,EAAiBE,GAAUC,QAGnC,IAAIC,EAASJ,EAAiBE,GAAY,CACzCG,EAAGH,EACHI,GAAG,EACHH,QAAS,IAUV,OANAI,EAAQL,GAAUM,KAAKJ,EAAOD,QAASC,EAAQA,EAAOD,QAASF,GAG/DG,EAAOE,GAAI,EAGJF,EAAOD,QAKfF,EAAoBQ,EAAIF,EAGxBN,EAAoBS,EAAIV,EAGxBC,EAAoBU,EAAI,SAASR,EAASS,EAAMC,GAC3CZ,EAAoBa,EAAEX,EAASS,IAClCG,OAAOC,eAAeb,EAASS,EAAM,CAAEK,YAAY,EAAMC,IAAKL,KAKhEZ,EAAoBkB,EAAI,SAAShB,GACX,oBAAXiB,QAA0BA,OAAOC,aAC1CN,OAAOC,eAAeb,EAASiB,OAAOC,YAAa,CAAEC,MAAO,WAE7DP,OAAOC,eAAeb,EAAS,aAAc,CAAEmB,OAAO,KAQvDrB,EAAoBsB,EAAI,SAASD,EAAOE,GAEvC,GADU,EAAPA,IAAUF,EAAQrB,EAAoBqB,IAC/B,EAAPE,EAAU,OAAOF,EACpB,GAAW,EAAPE,GAA8B,iBAAVF,GAAsBA,GAASA,EAAMG,WAAY,OAAOH,EAChF,IAAII,EAAKX,OAAOY,OAAO,MAGvB,GAFA1B,EAAoBkB,EAAEO,GACtBX,OAAOC,eAAeU,EAAI,UAAW,CAAET,YAAY,EAAMK,MAAOA,IACtD,EAAPE,GAA4B,iBAATF,EAAmB,IAAI,IAAIM,KAAON,EAAOrB,EAAoBU,EAAEe,EAAIE,EAAK,SAASA,GAAO,OAAON,EAAMM,IAAQC,KAAK,KAAMD,IAC9I,OAAOF,GAIRzB,EAAoB6B,EAAI,SAAS1B,GAChC,IAAIS,EAAST,GAAUA,EAAOqB,WAC7B,WAAwB,OAAOrB,EAAgB,SAC/C,WAA8B,OAAOA,GAEtC,OADAH,EAAoBU,EAAEE,EAAQ,IAAKA,GAC5BA,GAIRZ,EAAoBa,EAAI,SAASiB,EAAQC,GAAY,OAAOjB,OAAOkB,UAAUC,eAAe1B,KAAKuB,EAAQC,IAGzG/B,EAAoBkC,EAAI,GAIjBlC,EAAoBA,EAAoBmC,EAAI,wB,mHClFrD,SAASC,EAASC,GAA4T,OAA1OD,EAArD,mBAAXjB,QAAoD,iBAApBA,OAAOmB,SAAoC,SAAkBD,GAAO,cAAcA,GAA4B,SAAkBA,GAAO,OAAOA,GAAyB,mBAAXlB,QAAyBkB,EAAIE,cAAgBpB,QAAUkB,IAAQlB,OAAOa,UAAY,gBAAkBK,IAA0BA,GAE9V,SAASG,EAAQH,GAWf,MAVsB,mBAAXlB,QAAuD,WAA9BiB,EAASjB,OAAOmB,UAClDnC,EAAOD,QAAUsC,EAAU,SAAiBH,GAC1C,OAAOD,EAASC,IAGlBlC,EAAOD,QAAUsC,EAAU,SAAiBH,GAC1C,OAAOA,GAAyB,mBAAXlB,QAAyBkB,EAAIE,cAAgBpB,QAAUkB,IAAQlB,OAAOa,UAAY,SAAWI,EAASC,IAIxHG,EAAQH,GAGjBlC,EAAOD,QAAUsC,G,odCJjB,SAASC,KAAT,EAAwCC,EAAQC,GAAM,IAArCC,EAAqC,EAArCA,cAAeC,EAAsB,EAAtBA,KACzBC,EAAK,IAAIC,SAYf,OAXAD,EAAGE,OAAOH,EAAK,GAAIA,EAAK,IAExB/B,OAAOmC,KAAKN,GAAMO,QAAQ,SAAUvB,GACnC,IAAMN,EAAQsB,EAAKhB,GAEnBmB,EAAGE,OACFrB,EACiB,WAAjB,qEAAON,GAAqB8B,KAAKC,UAAU/B,GAASA,KAI/CgC,MAAM,IAAD,OAAKT,EAAL,gCAA0CF,GAAU,CAC/DY,OAAQ,OACRX,KAAMG,EACNS,QAAS,CACR,OAAU,mBACV,mBAAoB,oBAEnBC,KAAK,SAAUC,GACjB,OAAOA,EAAIC,SAeb,SAASC,YAAaC,EAAOC,EAAOC,EAAgBrB,GACnDA,EAAK,uBAAwB,CAC5BsB,OAAQF,EAAME,OACdH,UACEJ,KAAK,YAA8C,IAA3CQ,EAA2C,EAA3CA,MAAOC,EAAoC,EAApCA,aAAcC,EAAsB,EAAtBA,gBAC/BL,EAAMM,OAAO,CAAEP,UACfE,EAAeK,OAAO,CAAEH,QAAOC,eAAcC,sBAC3CE,MAAM,SAAAC,GACR,MAAMA,IAcR,SAASC,wBAAyBD,EAAGR,EAAOpB,GAC3CA,EAAK,iBAAkB,CACtBsB,OAAQF,EAAME,OACdH,MAAOC,EAAMD,MACbW,QAASF,EAAEG,kBACThB,KAAK,SAAAiB,GACPZ,EAAMM,OAAO,CAAEK,gBAAiBH,EAAEG,kBAClCH,EAAEK,WAAWD,KACXL,MAAM,WACRC,EAAEK,WAAW,CAAEC,OAAQ,WAWzB,SAASC,uBAAwBP,EAAGR,EAAOpB,GAC1CA,EAAK,kBAAmB,CACvBsB,OAAQF,EAAME,OACdH,MAAOC,EAAMD,MACbW,QAASV,EAAMW,gBACflB,OAAQe,EAAEQ,iBACRrB,KAAK,SAAAiB,GACPZ,EAAMM,OAAO,CAAEU,eAAgBR,EAAEQ,iBACjCR,EAAEK,WAAWD,KACXL,MAAM,WACRC,EAAEK,WAAW,CAAEC,OAAQ,WAWzB,SAASG,QAAST,EAAGR,MAAOpB,MAC3BA,KAAK,MAAO,CACXsB,OAAQF,MAAME,OACdH,MAAOC,MAAMD,MACbmB,MAAOV,EAAEU,MACTC,UAAWX,EAAEW,UACbC,WAAYZ,EAAEY,WACdC,WAAYb,EAAEa,WACdV,gBAAiBH,EAAEG,gBACnBW,eAAgBd,EAAEQ,iBAChBrB,KAAK,SAAAiB,MACPJ,EAAEe,SAASX,KAAKE,QAEZd,MAAMwB,WAAWC,IACpBC,KACC,0BAA6Bd,KAAKe,OAAS,OAC3C3B,MAAMwB,WAAWC,IAIfzB,MAAMwB,WAAWI,WACpBC,OAAOC,SAAW9B,MAAMwB,WAAWI,SAASG,QAAQ,WAAYnB,KAAKe,WACpEpB,MAAM,WACRC,EAAEe,SAAS,UAWb,SAASS,gBAAiBxB,EAAGR,EAAOpB,GACnC4B,EAAEU,MAAQV,EAAEyB,cACZhB,QAAQT,EAAGR,EAAOpB,GASnBiD,OAAOK,iBAAmB,SAAUC,GAE9BlF,OAAOmF,SAASD,KACpBA,EAAOlF,OAAOoF,OAAOF,IAKtB,IAAMG,EAAcC,SAASC,eAAeL,EAAKM,IAC9CC,EAAcb,OAAOc,OAAOR,EAAKS,cACjCC,EAAc,CAAE9D,cAAeoD,EAAKpD,cAAeC,KAAMmD,EAAKnD,MAE3DgB,EAAQ,CACbE,OAAQiC,EAAKW,KAAKL,GAClB1C,MAAOoC,EAAKW,KAAK/C,MACjBY,gBAAiB,KACjBK,eAAgB,KAChBQ,WAAYW,EAAKX,WAEjBlB,OAAQ,SAAUyC,GAAW,WAC5B9F,OAAOmC,KAAK2D,GAAW1D,QAAQ,SAAAvB,GAC9B,EAAKA,GAAOiF,EAAUjF,OASnBmC,EAAiByC,EAAOzC,eAAe,CAC5C+C,QAASb,EAAKa,QAAQC,cACtBC,SAAUf,EAAKe,SAASC,cACxB/C,aAAc+B,EAAKW,KAAK1C,aACxBD,MAAOgC,EAAKW,KAAK3C,MACjBiD,kBAAmBjB,EAAKiB,gBACxBC,aAA8C,kBAAzBlB,EAAKiB,gBAAgC,WAAajB,EAAKiB,gBAC5E/C,gBAAiB8B,EAAKmB,gBACtBC,iBAAkBpB,EAAKqB,eAAeC,QAAQ,SAAW,EACzDC,kBAAmBvB,EAAKqB,eAAeC,QAAQ,UAAY,EAC3DE,kBAAmBxB,EAAKqB,eAAeC,QAAQ,UAAY,IAItDG,EAAe,SAAU/E,EAAQC,GACtC,OAAOF,KAAKiE,EAAahE,EAAQC,IAgClC,OA5BAmB,EAAe4D,iBAAiBlE,KAAK,WAGpC+C,EAAOoB,WAAWjG,OAAO,uBAAwB,CAChDoC,iBACA8D,MAAO,CACNC,qBAAsB7B,EAAK4B,SAE1BE,MAAM3B,GAGT,IAAMvE,EAAO,SAAUmG,GACtB,OAAO,SAAU1D,GAChB0D,EAAQ1D,EAAGR,EAAO4D,KAKpB3D,EAAekE,GAAG,wBAAyBpG,EAAK0C,0BAChDR,EAAekE,GAAG,uBAAwBpG,EAAKgD,yBAEhB,mBAA3BoB,EAAKiC,kBACRnE,EAAekE,GAAG,gBAAiBpG,EAAKiE,kBAExC/B,EAAekE,GAAG,QAASpG,EAAKkD,YAE/BV,MAAM8D,QAAQC,OAEVrH,OAAOoF,OAAO,CACpB,YACC,OAAOpF,OAAOoF,OAAOrC,EAAMD,MAAMwE,IAAI,SAAUC,GAC9C,OAAOvH,OAAOoF,OAAOmC,OAIvB,UAAWzE,GACVD,YAAYC,EAAOC,EAAOC,EAAgB2D,IAG3Ca,QAXoB,WAYnB3E,YAAY,KAAME,EAAOC,EAAgB2D,IAG1Cc,OAfoB,WAgBnB,OAAO7C,OAAOK,iBAAiBC","file":"web-payments.min.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 = \"./js/web-payments.js\");\n","function _typeof2(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof2 = function _typeof2(obj) { return typeof obj; }; } else { _typeof2 = function _typeof2(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof2(obj); }\n\nfunction _typeof(obj) {\n if (typeof Symbol === \"function\" && _typeof2(Symbol.iterator) === \"symbol\") {\n module.exports = _typeof = function _typeof(obj) {\n return _typeof2(obj);\n };\n } else {\n module.exports = _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : _typeof2(obj);\n };\n }\n\n return _typeof(obj);\n}\n\nmodule.exports = _typeof;","// Helpers\n// =============================================================================\n\n/**\n * Posts to Craft\n *\n * @param {string} actionTrigger\n * @param {array} csrf\n * @param {string} action\n * @param {Object} body\n * @return {Promise}\n */\nfunction post ({ actionTrigger, csrf }, action, body) {\n\tconst fd = new FormData();\n\tfd.append(csrf[0], csrf[1]);\n\n\tObject.keys(body).forEach(function (key) {\n\t\tconst value = body[key];\n\n\t\tfd.append(\n\t\t\tkey,\n\t\t\ttypeof value === 'object' ? JSON.stringify(value) : value\n\t\t);\n\t});\n\n\treturn fetch(`/${actionTrigger}/web-payments/stripe/${action}`, {\n\t\tmethod: 'POST',\n\t\tbody: fd,\n\t\theaders: {\n\t\t\t'Accept': 'application/json',\n\t\t\t'X-Requested-With': 'XMLHttpRequest',\n\t\t},\n\t}).then(function (res) {\n\t\treturn res.json();\n\t});\n}\n\n// Actions\n// =============================================================================\n\n/**\n * Update the items in the virtual cart\n *\n * @param items\n * @param state\n * @param paymentRequest\n * @param post\n */\nfunction updateItems (items, state, paymentRequest, post) {\n\tpost('update-display-items', {\n\t\tcartId: state.cartId,\n\t\titems,\n\t}).then(({ total, displayItems, shippingOptions }) => {\n\t\tstate.update({ items });\n\t\tpaymentRequest.update({ total, displayItems, shippingOptions });\n\t}).catch(e => {\n\t\tthrow e;\n\t});\n}\n\n// Events\n// =============================================================================\n\n/**\n * Handle the changing shipping address\n *\n * @param {Object} e\n * @param {Object} state\n * @param {Function} post\n */\nfunction onShippingAddressChange (e, state, post) {\n\tpost('update-address', {\n\t\tcartId: state.cartId,\n\t\titems: state.items,\n\t\taddress: e.shippingAddress,\n\t}).then(data => {\n\t\tstate.update({ shippingAddress: e.shippingAddress });\n\t\te.updateWith(data);\n\t}).catch(() => {\n\t\te.updateWith({ status: 'fail' });\n\t});\n}\n\n/**\n * Handle the changing shipping option\n *\n * @param {Object} e\n * @param {array} state\n * @param {Function} post\n */\nfunction onShippingOptionChange (e, state, post) {\n\tpost('update-shipping', {\n\t\tcartId: state.cartId,\n\t\titems: state.items,\n\t\taddress: state.shippingAddress,\n\t\tmethod: e.shippingOption,\n\t}).then(data => {\n\t\tstate.update({ shippingOption: e.shippingOption });\n\t\te.updateWith(data);\n\t}).catch(() => {\n\t\te.updateWith({ status: 'fail' });\n\t});\n}\n\n/**\n * Handle the Stripe token\n *\n * @param {Object} e\n * @param {Object} state\n * @param {Function} post\n */\nfunction onToken (e, state, post) {\n\tpost('pay', {\n\t\tcartId: state.cartId,\n\t\titems: state.items,\n\t\ttoken: e.token,\n\t\tpayerName: e.payerName,\n\t\tpayerEmail: e.payerEmail,\n\t\tpayerPhone: e.payerPhone,\n\t\tshippingAddress: e.shippingAddress,\n\t\tshippingMethod: e.shippingOption,\n\t}).then(data => {\n\t\te.complete(data.status);\n\n\t\tif (state.onComplete.js) {\n\t\t\teval(\n\t\t\t\t'const cwp = { number: \\'' + data.number + '\\' };' +\n\t\t\t\tstate.onComplete.js\n\t\t\t);\n\t\t}\n\n\t\tif (state.onComplete.redirect)\n\t\t\twindow.location = state.onComplete.redirect.replace('{number}', data.number);\n\t}).catch(() => {\n\t\te.complete('fail');\n\t});\n}\n\n/**\n * Handle the PaymentIntent response\n *\n * @param {Object} e\n * @param {Object} state\n * @param {Function} post\n */\nfunction onPaymentMethod (e, state, post) {\n\te.token = e.paymentMethod;\n\tonToken(e, state, post);\n}\n\n// Craft Web Payments\n// =============================================================================\n\n/**\n * @return {null|Object}\n */\nwindow.CraftWebPayments = function (opts) {\n\n\tif (!Object.isFrozen(opts))\n\t\topts = Object.freeze(opts);\n\n\t// Constants\n\t// -------------------------------------------------------------------------\n\n\tconst el = document.getElementById(opts.id)\n\t\t, stripe = window.Stripe(opts.stripeApiKey)\n\t\t, postOptions = { actionTrigger: opts.actionTrigger, csrf: opts.csrf };\n\n\tconst state = {\n\t\tcartId: opts.cart.id,\n\t\titems: opts.cart.items,\n\t\tshippingAddress: null,\n\t\tshippingOption: null,\n\t\tonComplete: opts.onComplete,\n\n\t\tupdate: function (nextState) {\n\t\t\tObject.keys(nextState).forEach(key => {\n\t\t\t\tthis[key] = nextState[key];\n\t\t\t});\n\t\t},\n\t};\n\n\t// Payment Request\n\t// -------------------------------------------------------------------------\n\n\t// Build the payment request object\n\tconst paymentRequest = stripe.paymentRequest({\n\t\tcountry: opts.country.toUpperCase(),\n\t\tcurrency: opts.currency.toLowerCase(),\n\t\tdisplayItems: opts.cart.displayItems,\n\t\ttotal: opts.cart.total,\n\t\trequestShipping: !!opts.requestShipping,\n\t\tshippingType: typeof opts.requestShipping === 'boolean' ? 'shipping' : opts.requestShipping,\n\t\tshippingOptions: opts.shippingMethods,\n\t\trequestPayerName: opts.requestDetails.indexOf('name') > -1,\n\t\trequestPayerEmail: opts.requestDetails.indexOf('email') > -1,\n\t\trequestPayerPhone: opts.requestDetails.indexOf('phone') > -1,\n\t});\n\n\t// Bind the postOptions to the post function\n\tconst postInternal = function (action, body) {\n\t\treturn post(postOptions, action, body);\n\t};\n\n\t// Ensure we can actually make payment\n\tpaymentRequest.canMakePayment().then(function () {\n\n\t\t// Create the Stripe payment request button & mount it in place\n\t\tstripe.elements().create('paymentRequestButton', {\n\t\t\tpaymentRequest,\n\t\t\tstyle: {\n\t\t\t\tpaymentRequestButton: opts.style,\n\t\t\t},\n\t\t}).mount(el);\n\n\t\t// Helper to bind required variables to the event handler\n\t\tconst bind = function (handler) {\n\t\t\treturn function (e) {\n\t\t\t\thandler(e, state, postInternal);\n\t\t\t};\n\t\t};\n\n\t\t// Listen for the events\n\t\tpaymentRequest.on('shippingaddresschange', bind(onShippingAddressChange));\n\t\tpaymentRequest.on('shippingoptionchange', bind(onShippingOptionChange));\n\n\t\tif (opts.stripeGatewayType === 'PaymentIntents')\n\t\t\tpaymentRequest.on('paymentmethod', bind(onPaymentMethod));\n\t\telse\n\t\t\tpaymentRequest.on('token', bind(onToken));\n\n\t}).catch(console.error); // eslint-disable-line no-console\n\n\treturn Object.freeze({\n\t\tget items () {\n\t\t\treturn Object.freeze(state.items.map(function (item) {\n\t\t\t\treturn Object.freeze(item);\n\t\t\t}));\n\t\t},\n\n\t\tset items (items) {\n\t\t\tupdateItems(items, state, paymentRequest, postInternal);\n\t\t},\n\n\t\trefresh () {\n\t\t\tupdateItems(null, state, paymentRequest, postInternal);\n\t\t},\n\n\t\treload () {\n\t\t\treturn window.CraftWebPayments(opts);\n\t\t},\n\t});\n\n};"],"sourceRoot":""} \ No newline at end of file